Source file "net/sf/saxon/Configuration.java" was not found during generation of report.
Element | Missed Instructions | Cov. | Missed Branches | Cov. | Missed | Cxty | Missed | Lines | Missed | Methods |
Total | 4,732 of 4,732 | 0% | 685 of 685 | 0% | 554 | 554 | 1,173 | 1,173 | 209 | 209 |
setConfigurationProperty(String, Object) | 0% | 0% | 120 | 120 | 270 | 270 | 1 | 1 | ||
getConfigurationProperty(String) | 0% | 0% | 87 | 87 | 166 | 166 | 1 | 1 | ||
Configuration() | 0% | n/a | 1 | 1 | 52 | 52 | 1 | 1 | ||
static {...} | 0% | 0% | 10 | 10 | 46 | 46 | 1 | 1 | ||
locateResource(String, List, List) | 0% | 0% | 8 | 8 | 26 | 26 | 1 | 1 | ||
buildDocument(Source, ParseOptions) | 0% | 0% | 6 | 6 | 25 | 25 | 1 | 1 | ||
newExpressionParser(String, boolean, DecimalValue) | 0% | 0% | 9 | 9 | 15 | 15 | 1 | 1 | ||
makeEmitter(String, Properties) | 0% | 0% | 3 | 3 | 16 | 16 | 1 | 1 | ||
unravel(Source) | 0% | 0% | 7 | 7 | 15 | 15 | 1 | 1 | ||
instantiateClassName(String, Object, Class) | 0% | 0% | 3 | 3 | 8 | 8 | 1 | 1 | ||
requireBoolean(String, Object) | 0% | 0% | 11 | 11 | 9 | 9 | 1 | 1 | ||
getSourceParser() | 0% | 0% | 6 | 6 | 20 | 20 | 1 | 1 | ||
getConversionRules() | 0% | 0% | 6 | 6 | 11 | 11 | 1 | 1 | ||
checkLicensedFeature(int, String) | 0% | 0% | 4 | 4 | 5 | 5 | 1 | 1 | ||
buildDocument(Source) | 0% | 0% | 4 | 4 | 13 | 13 | 1 | 1 | ||
makeLicensedConfiguration(ClassLoader, String) | 0% | 0% | 4 | 4 | 21 | 21 | 1 | 1 | ||
getStyleParser() | 0% | 0% | 4 | 4 | 16 | 16 | 1 | 1 | ||
setTraceListenerClass(String) | 0% | 0% | 2 | 2 | 10 | 10 | 1 | 1 | ||
resolveSource(Source, Configuration) | 0% | 0% | 8 | 8 | 15 | 15 | 1 | 1 | ||
setCompileWithTracing(boolean) | 0% | 0% | 5 | 5 | 10 | 10 | 1 | 1 | ||
reuseSourceParser(XMLReader) | 0% | 0% | 2 | 2 | 14 | 14 | 1 | 1 | ||
reuseStyleParser(XMLReader) | 0% | 0% | 2 | 2 | 14 | 14 | 1 | 1 | ||
makeURIResolver(String) | 0% | 0% | 3 | 3 | 6 | 6 | 1 | 1 | ||
makeParser(String) | 0% | 0% | 2 | 2 | 7 | 7 | 1 | 1 | ||
setSchemaValidationMode(int) | 0% | 0% | 5 | 5 | 9 | 9 | 1 | 1 | ||
getExternalObjectType(int) | 0% | 0% | 3 | 3 | 8 | 8 | 1 | 1 | ||
setModuleURIResolver(String) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
getLocale(String) | 0% | 0% | 2 | 2 | 7 | 7 | 1 | 1 | ||
obtainOptimizer() | 0% | 0% | 3 | 3 | 6 | 6 | 1 | 1 | ||
getErrorListener() | 0% | 0% | 2 | 2 | 7 | 7 | 1 | 1 | ||
makeTraceListener(String) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
makePipelineConfiguration() | 0% | n/a | 1 | 1 | 6 | 6 | 1 | 1 | ||
makeTraceListener() | 0% | 0% | 3 | 3 | 7 | 7 | 1 | 1 | ||
getExternalObjectModel(Class) | 0% | 0% | 3 | 3 | 6 | 6 | 1 | 1 | ||
makeNumberer(String, String) | 0% | 0% | 3 | 3 | 6 | 6 | 1 | 1 | ||
getExternalObjectModel(String) | 0% | 0% | 3 | 3 | 4 | 4 | 1 | 1 | ||
init() | 0% | n/a | 1 | 1 | 6 | 6 | 1 | 1 | ||
registerExternalObjectModel(ExternalObjectModel) | 0% | 0% | 3 | 3 | 5 | 5 | 1 | 1 | ||
requireString(String, Object) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
getProductTitle() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getConversionContext() | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
reportParserDetails(XMLReader) | 0% | n/a | 1 | 1 | 3 | 3 | 1 | 1 | ||
isGenerateByteCode(int) | 0% | 0% | 4 | 4 | 1 | 1 | 1 | 1 | ||
setURIResolver(URIResolver) | 0% | 0% | 2 | 2 | 5 | 5 | 1 | 1 | ||
setDOMLevel(int) | 0% | 0% | 3 | 3 | 4 | 4 | 1 | 1 | ||
setTraceListener(TraceListener) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
isValidation() | 0% | 0% | 3 | 3 | 1 | 1 | 1 | 1 | ||
isCompatible(Configuration) | 0% | 0% | 3 | 3 | 1 | 1 | 1 | 1 | ||
newConfiguration() | 0% | n/a | 1 | 1 | 4 | 4 | 1 | 1 | ||
getInstance(String, ClassLoader) | 0% | 0% | 2 | 2 | 1 | 1 | 1 | 1 | ||
reportFatalError(XPathException) | 0% | 0% | 2 | 2 | 6 | 6 | 1 | 1 | ||
getDefaultStaticQueryContext() | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
getClass(String, boolean, ClassLoader) | 0% | 0% | 2 | 2 | 1 | 1 | 1 | 1 | ||
getTypeHierarchy() | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
getVendorFunctionLibrary() | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
getCharacterSetFactory() | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
makeSlotManager() | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
makeClosure(Expression, int, XPathContext) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
setRetainDTDAttributeTypes(boolean) | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
getSchemaType(int) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
finalize() | 0% | 0% | 2 | 2 | 4 | 4 | 1 | 1 | ||
getURIResolver() | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
getStandardErrorOutput() | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
setValidation(boolean) | 0% | 0% | 2 | 2 | 2 | 2 | 1 | 1 | ||
isStripsAllWhiteSpace() | 0% | 0% | 2 | 2 | 1 | 1 | 1 | 1 | ||
loadSchema(String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setXMLVersion(int) | 0% | n/a | 1 | 1 | 3 | 3 | 1 | 1 | ||
setStripsAllWhiteSpace(boolean) | 0% | 0% | 2 | 2 | 3 | 3 | 1 | 1 | ||
readConfiguration(Source) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
readConfigurationFile(Source) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setTreeModel(int) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
addSchemaSource(Source) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
newStaticQueryContext() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setParameterizedURIResolver() | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setErrorListener(ErrorListener) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
getTreeModel() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setLineNumbering(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setXIncludeAware(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
registerExtensionFunction(ExtensionFunctionDefinition) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setRecoveryPolicy(int) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setMessageEmitterClass(String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setOutputURIResolver(OutputURIResolver) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setVersionWarning(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
makeDocumentProjector(PathMap.PathMapRoot) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setValidationWarnings(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setExpandAttributeDefaults(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setStripsWhiteSpace(int) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
needEnterpriseEdition() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getExtensionsOfType(SchemaType) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
makeStreamingTransformer(XPathContext, Mode) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
makeSequenceExtent(Expression, int, XPathContext) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
makeStyleNodeFactory() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
newPendingUpdateList() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
makeUnconstructedElement(ElementCreator, XPathContext) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
makeUnconstructedDocument(DocumentInstr, XPathContext) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
makeSchemaAwareConfiguration(ClassLoader, String) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setProcessor(Object) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setHostLanguage(int) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDynamicLoader(DynamicLoader) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setStandardErrorOutput(PrintStream) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setMultiThreading(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
getNameChecker() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setConversionRules(ConversionRules) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
isLineNumbering() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isXIncludeAware() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setOptimizerTracing(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
newUserFunction(boolean) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setCollationURIResolver(CollationURIResolver) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDefaultCollection(String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setCollectionURIResolver(CollectionURIResolver) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setLocalizerFactory(LocalizerFactory) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDefaultLanguage(String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDefaultCountry(String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setModuleURIResolver(ModuleURIResolver) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setSchemaURIResolver(SchemaURIResolver) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
getRecoveryPolicy() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getMessageEmitterClass() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setSourceParserClass(String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setStyleParserClass(String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
getOutputURIResolver() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setSerializerFactory(SerializerFactory) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDefaultSerializationProperties(Properties) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setTiming(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
isVersionWarning() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setAllowExternalFunctions(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setTraceExternalFunctions(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
getSchemaValidationMode() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isValidationWarnings() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isExpandAttributeDefaults() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
setNamePool(NamePool) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDocumentNumberAllocator(DocumentNumberAllocator) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
getStripsWhiteSpace() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
readSchema(PipelineConfiguration, String, String, String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
readInlineSchema(NodeInfo, String, ErrorListener) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDebugger(Debugger) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setLazyConstructionMode(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setSourceResolver(SourceResolver) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDebugBytecode(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setDisplayBytecode(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
setGenerateByteCode(boolean) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
getProcessor() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getHostLanguage() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDynamicLoader() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getSystemURIResolver() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isMultiThreading() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getXMLVersion() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getParseOptions() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getXsdVersion() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
useTypedValueCache() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getTraceListener() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getTraceListenerClass() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isCompileWithTracing() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isOptimizerTracing() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getIntegratedFunctionLibrary() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getCollationURIResolver() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getCollationMap() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDefaultCollection() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getCollectionURIResolver() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getLocalizerFactory() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDefaultLanguage() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDefaultCountry() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getModuleURIResolver() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getStandardModuleURIResolver() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getSchemaURIResolver() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDefaultXsltCompilerInfo() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getSourceParserClass() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getStyleParserClass() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getSerializerFactory() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDefaultSerializationProperties() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isTiming() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isAllowExternalFunctions() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isTraceExternalFunctions() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isRetainDTDAttributeTypes() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getNamePool() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDocumentNumberAllocator() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getGlobalDocumentPool() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
loadParser() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
readMultipleSchemas(PipelineConfiguration, String, Collection, String) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
addSchemaSource(Source, ErrorListener) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
importComponents(Source) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
exportComponents(Receiver) | 0% | n/a | 1 | 1 | 2 | 2 | 1 | 1 | ||
getDebugger() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isLazyConstructionMode() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getExternalObjectModels() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDOMLevel() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getConfiguration(XPathContext) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getSourceResolver() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isDebugBytecode() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isDisplayBytecode() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getEditionCode() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isLicensedFeature(int) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isSchemaAware(int) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getPlatform() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isSchemaAvailable(String) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getImportedNamespaces() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getElementDeclaration(int) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getElementDeclaration(StructuredQName) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getAttributeDeclaration(int) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
isDeclaredNotation(String, String) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getDocumentValidator(Receiver, String, int, int, SchemaType, int) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getElementValidator(SequenceReceiver, NodeName, int, SchemaType, int) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
validateAttribute(int, CharSequence, int) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
getAnnotationStripper(Receiver) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
displayLicenseMessage() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
addExtensionBinders(FunctionLibraryList) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
addSchemaForBuiltInNamespace(String) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
clearSchemaCache() | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
sealNamespace(String) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 | ||
checkTypeDerivationIsOK(SchemaType, SchemaType, int) | 0% | n/a | 1 | 1 | 1 | 1 | 1 | 1 |