arelle-release 2.37.62__tar.gz → 2.37.64__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of arelle-release might be problematic. Click here for more details.
- {arelle_release-2.37.62 → arelle_release-2.37.64}/CONTRIBUTING.md +2 -2
- {arelle_release-2.37.62 → arelle_release-2.37.64}/PKG-INFO +1 -1
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/CntlrCmdLine.py +3 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DisclosureSystem.py +2 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/FileSource.py +4 -1
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/_version.py +3 -3
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/api/Session.py +6 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/disclosuresystems.xsd +1 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/Constants.py +5 -1
- arelle_release-2.37.64/arelle/plugin/validate/EDINET/ContextRequirement.py +58 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/ControllerPluginData.py +69 -3
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +1 -1
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/__init__.py +10 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/resources/config.xml +2 -1
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/contexts.py +205 -2
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/frta.py +2 -2
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/gfm.py +71 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/upload.py +2 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle_release.egg-info/PKG-INFO +1 -1
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle_release.egg-info/SOURCES.txt +1 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/.gitignore +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/COPYRIGHT.md +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/LICENSE.md +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/MANIFEST.in +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/README.md +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/Aspect.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/BetaFeatures.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/Cntlr.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/CntlrComServer.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/CntlrProfiler.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/CntlrQuickBooks.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/CntlrWebMain.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/CntlrWinMain.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/CntlrWinTooltip.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogAbout.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogArcroleGroup.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogFind.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogFormulaParameters.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogLanguage.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogNewFactItem.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogOpenArchive.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogPackageManager.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogPluginManager.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogRssWatch.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogURL.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/DialogUserPassword.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ErrorManager.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/FunctionCustom.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/FunctionFn.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/FunctionIxt.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/FunctionUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/FunctionXfi.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/FunctionXs.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/HashUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/HtmlUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/InstanceAspectsEvaluator.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/LeiUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/LinkbaseType.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/LocalViewer.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/Locale.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelDocument.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelDtsObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelFormulaObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelInstanceObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelManager.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelObjectFactory.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelRelationshipSet.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelRenderingObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelRssItem.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelRssObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelTestcaseObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelValue.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelVersObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelVersReport.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ModelXbrl.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/PackageManager.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/PluginManager.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/PluginUtils.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/PrototypeDtsObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/PrototypeInstanceObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/PythonUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/RuntimeOptions.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/SocketUtils.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/SystemInfo.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/TableStructure.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/TkTableWrapper.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/UITkTable.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/UiUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/Updater.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/UrlUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/Validate.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateDuplicateFacts.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateFilingText.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateInfoset.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateUtr.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateVersReport.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateXbrl.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateXbrlCalcs.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateXbrlDTS.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ValidateXbrlDimensions.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/Version.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFile.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileConcepts.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileDTS.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileFactList.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileFactTable.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileFormulae.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileRelationshipSet.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileRenderedGrid.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileRenderedLayout.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileRenderedStructure.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileRoleTypes.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileRssFeed.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewFileTests.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewUtilFormulae.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinConcepts.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinDTS.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinDiffs.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinFactGrid.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinFactList.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinFactTable.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinFormulae.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinGrid.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinList.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinPane.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinProperties.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinRelationshipSet.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinRenderedGrid.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinRoleTypes.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinRssFeed.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinTests.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinTkTable.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinTree.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinTupleGrid.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinVersReport.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/ViewWinXml.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/WatchRss.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/WebCache.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/XbrlConst.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/XbrlUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/XhtmlValidate.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/XmlUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/XmlValidate.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/XmlValidateConst.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/XmlValidateParticles.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/XmlValidateSchema.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/creationSoftwareNames.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/disclosuresystems.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/edbody.dtd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/empty-instance.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/erxl.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/mappings.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/mappings.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/sbr-text-formatting.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/xbrlschemafiles.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/xhtml-lat1.ent +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/xhtml-special.ent +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/xhtml-symbol.ent +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/xhtml1-strict-ix.dtd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/config/xhtml1_1-strict-ix.dtd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/conformance/CSVTestcaseLoader.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/doc/messagesCatalog.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/doc/messagesCatalog.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/formula/FactAspectsCache.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/formula/FormulaConsisAsser.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/formula/FormulaEvaluator.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/formula/ValidateFormula.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/formula/XPathContext.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/formula/XPathParser.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/formula/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle-full-word.ico +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle-mac-icon-4.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle-rtd.png +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle-word-only.ico +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle.icns +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle.icns.zip +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle.ico +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle.xbm +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle128.psd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle16.psd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle16x16and32x32.ico +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/arelle32.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/columnSortDown.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/columnSortUp.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/dmg_background.png +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/favicon.ico +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/octocat.png +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/python-clear.png +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/python-icon-pack-crystalxp.net-842.zip +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarClose.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarCompare.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarDelete.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarFindMenu.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarLogClear - 1-piece-top.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarLogClear-orig.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarLogClear.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarNewFile.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarOpenDatabase.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarOpenFile.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarOpenWeb.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarProperties.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarQuit.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarReopen.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarSaveFile.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/toolbarValidate.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/xbrl.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/xbrl.psd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/xbrl128-2.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/xbrl128.gif +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/xbrl16.ico +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/images/xbrl32.ico +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/ar_EG/LC_MESSAGES/arelle.mo +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/es/LC_MESSAGES/arelle.mo +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/fr/LC_MESSAGES/arelle.mo +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/fr/LC_MESSAGES/fr.po +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/messages.mo +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/messages.pot +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/ru/LC_MESSAGES/arelle.mo +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/locale/ru/LC_MESSAGES/ru.po +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/logging/formatters/LogFormatter.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/logging/handlers/LogHandlerWithXml.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/logging/handlers/LogToBufferHandler.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/logging/handlers/LogToPrintHandler.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/logging/handlers/LogToXmlHandler.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/logging/handlers/StructuredMessageLogHandler.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/model/CommentBase.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/model/ElementBase.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/model/PIBase.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/model/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/oim/Load.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/oim/Validate.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/oim/xml/Save.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/packages/PackageConst.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/packages/PackageType.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/packages/PackageUtils.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/packages/PackageValidation.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/packages/report/DetectReportPackage.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/packages/report/ReportPackage.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/packages/report/ReportPackageConst.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/packages/report/ReportPackageValidator.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/CacheBuilder.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/EdgarRendererAllReports.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/ModelValueMore.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/ValidateDTS.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/ViewXbrlTxmyObj.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlAbstract.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlConcept.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlConst.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlCube.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlDimension.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlDts.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlEntity.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlGroup.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlImportedTaxonomy.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlLabel.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlNetwork.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlProperty.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlReference.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlReport.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlTableTemplate.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlTaxonomy.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlTaxonomyObject.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlTransform.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlTypes.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/XbrlUnit.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/resources/iso4217.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/resources/oim-taxonomy-schema.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/resources/ref.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/resources/transform-types.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/resources/types.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/resources/utr.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/OimTaxonomy/resources/xbrlSpec.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/SECCorrespondenceLoader.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/TDnetLoader.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/UKCompaniesHouseLoader.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/formulaLoader.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/formulaSaver.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/formulaXPathChecker.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/functionsMath.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/inlineXbrlDocumentSet.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/internet/proxyNTLM/HTTPNtlmAuthHandler.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/internet/proxyNTLM/U32.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/internet/proxyNTLM/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/internet/proxyNTLM/des.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/internet/proxyNTLM/des_c.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/internet/proxyNTLM/des_data.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/internet/proxyNTLM/lgpl-3.0-standalone.html +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/internet/proxyNTLM/ntlm.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/loadFromExcel.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/loadFromOIM.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/logging/dpmSignature.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/logging/dqcParameters.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/logging/saveMessages.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/profileCmdLine.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/profileFormula.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/saveCHComponentFile.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/saveDTS.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/saveHtmlEBAtables.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/saveLoadableExcel.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/saveLoadableOIM.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/saveOIMTaxonomy.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/saveSKOS.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/saveSampleInstance.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/security/cryptAES_CBC.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/security/cryptAES_EAX.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/streamingExtensions.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/systemInfo.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/transforms/tester.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/unpackSecEisFile.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/CIPC/Const.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/CIPC/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/CIPC/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/DisclosureSystems.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/PluginValidationDataExtension.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/ValidationPluginExtension.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/resources/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/rules/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/rules/fr.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/rules/tc.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/rules/th.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/rules/tm.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/DBA/rules/tr.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EBA/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EBA/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/CoverItemRequirements.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/DeiRequirements.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/DisclosureSystems.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/FilingFormat.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/FormType.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/ManifestInstance.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/ReportFolderType.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/Statement.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/TableOfContentsBuilder.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/UploadContents.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/ValidationPluginExtension.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/resources/cover-item-requirements.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/resources/dei-requirements.csv +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/edinet.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/manifests.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/Const.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/Dimensions.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/ESEF_2021/DTS.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/ESEF_2021/Image.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/ESEF_2021/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/ESEF_Current/DTS.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/ESEF_Current/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/Util.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/resources/authority-validations.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ESEF/resources/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/FERC/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/FERC/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/FERC/resources/ferc-utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/DisclosureSystems.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/PluginValidationDataExtension.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/ValidationPluginExtension.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/resources/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/rules/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/rules/br_kvk.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/rules/fg_nl.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/rules/fr_kvk.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/rules/fr_nl.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/NL/rules/nl_kvk.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ROS/DisclosureSystems.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ROS/PluginValidationDataExtension.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ROS/ValidationPluginExtension.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ROS/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ROS/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ROS/resources/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ROS/rules/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/ROS/rules/ros.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/UK/ValidateUK.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/UK/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/UK/config.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/UK/consistencyChecksByName.json +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/UK/hmrc-taxonomies.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/DialogRssWatchExtender.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/SqlDb.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/XbrlDpmSqlDB.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/XbrlOpenSqlDB.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/XbrlPublicPostgresDB.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/XbrlSemanticGraphDB.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/XbrlSemanticJsonDB.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/XbrlSemanticRdfDB.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/XbrlSemanticSqlDB.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/entityInformation.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/ext/china.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/ext/edgar.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/ext/xdc.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/primaryDocumentFacts.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/open/ext/chinaPostgresDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/open/ext/edgarPostgresDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/open/ext/xdcPostgresDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/open/xbrlOpenPostgresDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/open2/xbrlOpen2PostgresDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/public/xbrlPublicPostgresDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/semantic/secDatabaseModelViews.sql +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticColumnComments.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMSSqlDB.sql +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMySqlDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticOracleDB.sql +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticPostgresDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticSQLiteDB.ddl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xbrlDB/tableFacts.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/xuleSaver.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/rendering/RenderingEvaluator.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/rendering/RenderingLayout.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/rendering/RenderingResolution.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.w3.org/2001/03/xml.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.w3.org/2001/xml.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2003/xl-2003-12-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2003/xlink-2003-12-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2004/ref-2004-08-10.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2005/xbrldt-2005.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2006/ref-2006-02-27.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2006/xbrldi-2006.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/boolean-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/concept-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/conformance.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/conformanceFunction.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/consistency-assertion.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/dimension-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/entity-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/existence-assertion.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/formula.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/function.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/general-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/generic-label.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/generic-link.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/generic-reference.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xl-2003-12-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xlink-2003-12-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xframes-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-applet-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-attribs-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-base-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-form-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-table-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-model-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-modules-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-bdo-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkphras-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkpres-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkstruct-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-charent-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-copyright-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-csismap-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-datatypes-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-edit-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-events-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-form-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-frames-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-framework-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-hypertext-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-iframe-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-image-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlphras-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlpres-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstruct-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstyle-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-legacy-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-link-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-list-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-meta-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-misc-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-nameident-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-notations-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-object-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-param-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-pres-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-basic-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-script-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ssismap-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-struct-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-style-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-table-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-target-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-text-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-model-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-module-redefines-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-modules-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-handlers-2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-definitions.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-model.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-modules.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/match-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/period-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/registry.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/relative-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/segment-scenario-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/tuple-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/unit-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/validation.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/value-assertion.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/value-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2008/variable.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2010/aspect-cover-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2010/concept-relation-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2010/custom-function-implementation.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2010/generic-message.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2010/validation-message.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xl-2003-12-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xlink-2003-12-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xframes-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-applet-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-attribs-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-base-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-form-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-table-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-model-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-modules-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-bdo-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkphras-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkpres-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkstruct-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-charent-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-copyright-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-csismap-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-datatypes-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-edit-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-events-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-form-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-frames-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-framework-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-hypertext-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-iframe-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-image-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlphras-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlpres-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstruct-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstyle-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-legacy-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-link-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-list-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-meta-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-misc-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-nameident-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-notations-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-object-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-param-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-pres-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-basic-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-script-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ssismap-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-struct-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-style-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-table-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-target-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-text-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-model-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-module-redefines-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-modules-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-handlers-2.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-definitions.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-model.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-modules.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/match-filter.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/preferred-label.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-base.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-details.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-use.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-dimensions.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2014/extensible-enumerations.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2014/table.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2014/tablemodel.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2016/assertion-severity.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2016/severities.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package-catalog.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2022/assertion-severity.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/2022/severities.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/dtr/type/numeric-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/accounting-arcrole-2023-01-04.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/jpfr-arcrole-2007-11-07.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/parent-child-2013-09-19.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/jpfr-role-2007-11-07.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2008-03-31.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negative-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/net-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/positive-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/property-2022-09-28.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/reference-2009-12-16.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/lrr/role/restated-2006-02-21.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2012-01-30/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2012-10-31/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2012-11-30/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2013-02-28/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2013-05-17/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2016-08-10/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2017-07-12/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2021-02-16/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2021-12-08/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2022-02-16/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2022-07-20/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2023-12-20/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2024-01-31/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/2024-10-22/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/http/www.xbrl.org/utr/utr.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/2005/conformance.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/2020/extensible-enumerations-2.0.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/2023/calculation-1.1.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2020-01-21/types.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2022-03-31/types.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2024-01-31/types.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-def.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-label.xml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators.xsd +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/linux-x86_64/README.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/linux-x86_64/html/tkTable.html +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/linux-x86_64/libTktable2.11.so +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/linux-x86_64/license.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/linux-x86_64/pkgIndex.tcl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/linux-x86_64/tkTable.tcl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/linux-x86_64/tktable.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-arm64/README.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-arm64/html/tkTable.html +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-arm64/libTktable2.11.dylib +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-arm64/license.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-arm64/pkgIndex.tcl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-arm64/tkTable.tcl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-arm64/tktable.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-x86_64/README.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-x86_64/html/tkTable.html +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-x86_64/libTktable2.11.dylib +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-x86_64/license.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-x86_64/pkgIndex.tcl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-x86_64/tkTable.tcl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/macos-x86_64/tktable.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/win-x86_64/Tktable.dll +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/win-x86_64/pkgIndex.tcl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/resources/libs/Tktable2.11/win-x86_64/tkTable.tcl +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/typing.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/Contexts.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/EntryPointDetection.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/Equivalence.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/PluginData.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/PluginHooks.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/Units.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/validate/Decorator.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/validate/DetectScriptsInXhtml.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/validate/ESEFImage.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/validate/Validation.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/validate/ValidationPlugin.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/validate/ValidationUtil.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/utils/validate/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/webserver/__init__.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/webserver/bottle.py +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle_release.egg-info/dependency_links.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle_release.egg-info/entry_points.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle_release.egg-info/requires.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/arelle_release.egg-info/top_level.txt +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/pyproject.toml +0 -0
- {arelle_release-2.37.62 → arelle_release-2.37.64}/setup.cfg +0 -0
|
@@ -68,12 +68,12 @@ Here's how to set up your environment:
|
|
|
68
68
|
2. Install a supported version of Python.
|
|
69
69
|
For example,
|
|
70
70
|
|
|
71
|
-
pyenv install 3.13.
|
|
71
|
+
pyenv install 3.13.8
|
|
72
72
|
|
|
73
73
|
3. Create a virtual env using the Python version you just installed.
|
|
74
74
|
For example,
|
|
75
75
|
|
|
76
|
-
PYENV_VERSION=3.13.
|
|
76
|
+
PYENV_VERSION=3.13.8 pyenv exec python -m venv venv
|
|
77
77
|
4. Activate your environment:
|
|
78
78
|
|
|
79
79
|
source venv/bin/activate
|
|
@@ -826,6 +826,9 @@ class CntlrCmdLine(Cntlr.Cntlr):
|
|
|
826
826
|
else:
|
|
827
827
|
self.modelManager.disclosureSystem.select(None) # just load ordinary mappings
|
|
828
828
|
self.modelManager.validateDisclosureSystem = False
|
|
829
|
+
if self.modelManager.disclosureSystem.keepOpen:
|
|
830
|
+
# Force keepOpen if specified by disclosure system.
|
|
831
|
+
options.keepOpen = True
|
|
829
832
|
if options.baseTaxonomyValidationMode is not None:
|
|
830
833
|
self.modelManager.baseTaxonomyValidationMode = ValidateBaseTaxonomiesMode.fromName(options.baseTaxonomyValidationMode)
|
|
831
834
|
self.modelManager.validateXmlOim = bool(options.validateXmlOim)
|
|
@@ -80,6 +80,7 @@ class DisclosureSystem:
|
|
|
80
80
|
self.utrUrl = ["http://www.xbrl.org/utr/utr.xml"]
|
|
81
81
|
self.utrStatusFilters = None
|
|
82
82
|
self.utrTypeEntries = None
|
|
83
|
+
self.keepOpen: bool = False
|
|
83
84
|
self.identifierSchemePattern = None
|
|
84
85
|
self.identifierValuePattern = None
|
|
85
86
|
self.identifierValueName = None
|
|
@@ -214,6 +215,7 @@ class DisclosureSystem:
|
|
|
214
215
|
self.utrUrl = [self.modelManager.cntlr.webCache.normalizeUrl(u, url)
|
|
215
216
|
for u in dsElt.get("utrUrl").split()]
|
|
216
217
|
self.utrStatusFilters = dsElt.get("utrStatusFilters")
|
|
218
|
+
self.keepOpen = dsElt.get("keepOpen") == "true"
|
|
217
219
|
self.identifierSchemePattern = compileAttrPattern(dsElt,"identifierSchemePattern")
|
|
218
220
|
self.identifierValuePattern = compileAttrPattern(dsElt,"identifierValuePattern")
|
|
219
221
|
self.identifierValueName = dsElt.get("identifierValueName")
|
|
@@ -51,7 +51,10 @@ def openFileSource(
|
|
|
51
51
|
sourceFileSource: FileSource | None = None,
|
|
52
52
|
) -> FileSource:
|
|
53
53
|
if sourceZipStream:
|
|
54
|
-
if
|
|
54
|
+
if name := getattr(sourceZipStream, "name", None):
|
|
55
|
+
# Python IO convention is to use the name attribute
|
|
56
|
+
sourceZipStreamFileName: str = os.sep + str(name)
|
|
57
|
+
elif isinstance(sourceZipStream, FileNamedBytesIO) and sourceZipStream.fileName:
|
|
55
58
|
sourceZipStreamFileName = os.sep + sourceZipStream.fileName
|
|
56
59
|
else:
|
|
57
60
|
sourceZipStreamFileName = os.sep + "POSTupload.zip"
|
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '2.37.
|
|
32
|
-
__version_tuple__ = version_tuple = (2, 37,
|
|
31
|
+
__version__ = version = '2.37.64'
|
|
32
|
+
__version_tuple__ = version_tuple = (2, 37, 64)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'gd0375e1a9'
|
|
@@ -113,6 +113,12 @@ class Session:
|
|
|
113
113
|
) -> bool:
|
|
114
114
|
"""
|
|
115
115
|
Perform a run using the given options.
|
|
116
|
+
When using a sourceZipStream, the name attribute on it will be checked
|
|
117
|
+
and, if present, assumed to be the effective name of the zip file the
|
|
118
|
+
stream represents. When validating '.xbri' files, via a sourceZipStream,
|
|
119
|
+
it is important to set this name attribute to avoid
|
|
120
|
+
rpe:documentTypeFileExtensionMismatch errors.
|
|
121
|
+
|
|
116
122
|
:param options: Options to use for the run.
|
|
117
123
|
:param sourceZipStream: Optional stream to read source data from.
|
|
118
124
|
:param responseZipStream: Options stream to write response data to.
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
<xs:attribute name="deiFilerNameElement" use="optional" type="xs:NCName"/>
|
|
52
52
|
<xs:attribute name="deiNamespacePattern" use="optional"/>
|
|
53
53
|
<xs:attribute name="description" />
|
|
54
|
+
<xs:attribute name="keepOpen" type="xs:boolean"/>
|
|
54
55
|
<xs:attribute name="identifierSchemePattern" use="optional"/>
|
|
55
56
|
<xs:attribute name="identifierValueName" use="optional"/>
|
|
56
57
|
<xs:attribute name="identifierValuePattern" use="optional"/>
|
{arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/Constants.py
RENAMED
|
@@ -159,7 +159,7 @@ REPORT_IXBRL_FILENAME_PATTERN = regex.compile(rf'{PATTERN_MAIN}_{PATTERN_NAME}_{
|
|
|
159
159
|
AUDIT_IXBRL_FILENAME_PATTERN = regex.compile(rf'{PATTERN_AUDIT_REPORT_PREFIX}-{PATTERN_SUFFIX}_ixbrl\.htm')
|
|
160
160
|
|
|
161
161
|
PATTERN_CONTEXT_RELATIVE_PERIOD = r'(?P<relative_period>Prior[1-9]Year|CurrentYear|Prior[1-9]Interim|Interim)'
|
|
162
|
-
PATTERN_CONTEXT_PERIOD = r'(?P<relative_period>Prior[1-9]Year|CurrentYear|Prior[1-9]Interim|Interim|FilingDate|RecordDate)'
|
|
162
|
+
PATTERN_CONTEXT_PERIOD = r'(?P<relative_period>Prior[1-9]Year|CurrentYear|Prior[1-9]Interim|Prior[1-9]Quarter|Prior[1-9]YTD|Interim|FilingDate|RecordDate|CurrentQuarter|CurrentYTD)'
|
|
163
163
|
PATTERN_CONTEXT_DURATION = r'(?P<duration>Duration|Instant)'
|
|
164
164
|
PATTERN_CONTEXT_MEMBERS = r'(?P<context_members>(?:_[a-zA-Z][a-zA-Z0-9-]+)+)*'
|
|
165
165
|
PATTERN_CONTEXT_NUMBER = r'(?P<context_number>[0-9]{3})'
|
|
@@ -172,5 +172,9 @@ CONTEXT_ID_PATTERN = regex.compile(rf'{PATTERN_CONTEXT_PERIOD}{PATTERN_CONTEXT_D
|
|
|
172
172
|
# Example: Prior2YearDuration
|
|
173
173
|
FINANCIAL_STATEMENT_CONTEXT_ID_PATTERN = regex.compile(rf'^{PATTERN_CONTEXT_RELATIVE_PERIOD}{PATTERN_CONTEXT_DURATION}.*')
|
|
174
174
|
|
|
175
|
+
# Context IDs for facts associated with individual (non-consolidated) Financial Statements
|
|
176
|
+
# Example: Prior2YearDuration_NonConsolidatedMember
|
|
177
|
+
INDIVIDUAL_CONTEXT_ID_PATTERN = regex.compile(rf'^{PATTERN_CONTEXT_RELATIVE_PERIOD}{PATTERN_CONTEXT_DURATION}_NonConsolidatedMember.*')
|
|
178
|
+
|
|
175
179
|
# Accepted language codes for Japan
|
|
176
180
|
JAPAN_LANGUAGE_CODES = frozenset({'ja', 'jp', 'ja-jp', 'JA', 'JP', 'JA-JP'})
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""
|
|
2
|
+
See COPYRIGHT.md for copyright information.
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
from dataclasses import dataclass
|
|
7
|
+
from typing import Literal
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@dataclass(frozen=True)
|
|
11
|
+
class ContextRequirement:
|
|
12
|
+
"""
|
|
13
|
+
If {elementExists} is set, and {elementDoesNotExist} is not set,
|
|
14
|
+
any context with ID starting with {contextId} must have {element} value
|
|
15
|
+
matching the {elementMatch} DEI value (adjusted by {dayAdjustment} days).
|
|
16
|
+
"""
|
|
17
|
+
contextId: str
|
|
18
|
+
element: Literal['endDate', 'instant', 'startDate']
|
|
19
|
+
elementExists: str | None
|
|
20
|
+
elementDoesNotExist: str | None
|
|
21
|
+
elementMatch: str
|
|
22
|
+
dayAdjustment: int = 0 # days to adjust by (e.g. -1 for "day before")
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# See section 3-4-2 in the Validation Guidelines.
|
|
26
|
+
CONTEXT_REQUIREMENTS = [
|
|
27
|
+
ContextRequirement('CurrentYearInstant', 'instant', None, None, 'CurrentFiscalYearEndDateDEI'),
|
|
28
|
+
ContextRequirement('Prior1YearInstant', 'instant', 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', None, 'CurrentFiscalYearEndDateDEI'),
|
|
29
|
+
ContextRequirement('Prior1YearInstant', 'instant', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'PreviousFiscalYearEndDateDEI'),
|
|
30
|
+
ContextRequirement('Prior2YearInstant', 'instant', 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', None, 'PreviousFiscalYearEndDateDEI'),
|
|
31
|
+
ContextRequirement('Prior2YearInstant', 'instant', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'PreviousFiscalYearStartDateDEI', -1),
|
|
32
|
+
ContextRequirement('CurrentQuarterInstant', 'instant', 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI'),
|
|
33
|
+
ContextRequirement('CurrentQuarterInstant', 'instant', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'CurrentPeriodEndDateDEI'),
|
|
34
|
+
ContextRequirement('Prior1QuarterInstant', 'instant', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'ComparativePeriodEndDateDEI'),
|
|
35
|
+
ContextRequirement('InterimInstant', 'instant', 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI'),
|
|
36
|
+
ContextRequirement('InterimInstant', 'instant', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'CurrentPeriodEndDateDEI'),
|
|
37
|
+
ContextRequirement('Prior1InterimInstant', 'instant', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'ComparativePeriodEndDateDEI'),
|
|
38
|
+
ContextRequirement('CurrentYearDuration', 'startDate', None, None, 'CurrentFiscalYearStartDateDEI'),
|
|
39
|
+
ContextRequirement('Prior1YearDuration', 'startDate', 'NextFiscalYearStartDateDEI', None, 'CurrentFiscalYearStartDateDEI'),
|
|
40
|
+
ContextRequirement('Prior1YearDuration', 'startDate', None, 'NextFiscalYearStartDateDEI', 'PreviousFiscalYearStartDateDEI'),
|
|
41
|
+
ContextRequirement('Prior2YearDuration', 'startDate', 'NextFiscalYearStartDateDEI', None, 'PreviousFiscalYearStartDateDEI'),
|
|
42
|
+
ContextRequirement('CurrentYTDDuration', 'startDate', 'NextFiscalYearStartDateDEI', None, 'NextFiscalYearStartDateDEI'),
|
|
43
|
+
ContextRequirement('CurrentYTDDuration', 'startDate', None, 'NextFiscalYearStartDateDEI', 'CurrentFiscalYearStartDateDEI'),
|
|
44
|
+
ContextRequirement('Prior1YTDDuration', 'startDate', None, 'NextFiscalYearStartDateDEI', 'PreviousFiscalYearStartDateDEI'),
|
|
45
|
+
ContextRequirement('InterimDuration', 'startDate', 'NextFiscalYearStartDateDEI', None, 'NextFiscalYearStartDateDEI'),
|
|
46
|
+
ContextRequirement('InterimDuration', 'startDate', None, 'NextFiscalYearStartDateDEI', 'CurrentFiscalYearStartDateDEI'),
|
|
47
|
+
ContextRequirement('Prior1InterimDuration', 'startDate', None, 'NextFiscalYearStartDateDEI', 'PreviousFiscalYearStartDateDEI'),
|
|
48
|
+
ContextRequirement('CurrentYearDuration', 'endDate', None, None, 'CurrentFiscalYearEndDateDEI'),
|
|
49
|
+
ContextRequirement('Prior1YearDuration', 'endDate', 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', None, 'CurrentFiscalYearEndDateDEI'),
|
|
50
|
+
ContextRequirement('Prior1YearDuration', 'endDate', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'PreviousFiscalYearEndDateDEI'),
|
|
51
|
+
ContextRequirement('Prior2YearDuration', 'endDate', 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', None, 'PreviousFiscalYearEndDateDEI'),
|
|
52
|
+
ContextRequirement('CurrentYTDDuration', 'endDate', 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI'),
|
|
53
|
+
ContextRequirement('CurrentYTDDuration', 'endDate', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'CurrentPeriodEndDateDEI'),
|
|
54
|
+
ContextRequirement('Prior1YTDDuration', 'endDate', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'ComparativePeriodEndDateDEI'),
|
|
55
|
+
ContextRequirement('InterimDuration', 'endDate', 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI'),
|
|
56
|
+
ContextRequirement('InterimDuration', 'endDate', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'CurrentPeriodEndDateDEI'),
|
|
57
|
+
ContextRequirement('Prior1InterimDuration', 'endDate', None, 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI', 'ComparativePeriodEndDateDEI'),
|
|
58
|
+
]
|
|
@@ -12,12 +12,14 @@ from typing import TYPE_CHECKING
|
|
|
12
12
|
|
|
13
13
|
from arelle.Cntlr import Cntlr
|
|
14
14
|
from arelle.FileSource import FileSource
|
|
15
|
-
from arelle.ModelValue import QName
|
|
15
|
+
from arelle.ModelValue import QName, TypeXValue
|
|
16
|
+
from arelle.ModelXbrl import ModelXbrl
|
|
17
|
+
from arelle.XmlValidateConst import VALID
|
|
16
18
|
from arelle.typing import TypeGetText
|
|
17
19
|
from arelle.utils.PluginData import PluginData
|
|
18
20
|
from . import Constants
|
|
19
21
|
from .CoverItemRequirements import CoverItemRequirements
|
|
20
|
-
from .DeiRequirements import DeiRequirements
|
|
22
|
+
from .DeiRequirements import DeiRequirements, DEI_LOCAL_NAMES
|
|
21
23
|
from .FilingFormat import FilingFormat
|
|
22
24
|
from .ReportFolderType import ReportFolderType
|
|
23
25
|
from .TableOfContentsBuilder import TableOfContentsBuilder
|
|
@@ -31,6 +33,8 @@ _: TypeGetText
|
|
|
31
33
|
|
|
32
34
|
@dataclass
|
|
33
35
|
class ControllerPluginData(PluginData):
|
|
36
|
+
_deiValues: dict[str, TypeXValue]
|
|
37
|
+
_loadedModelXbrls: list[ModelXbrl]
|
|
34
38
|
_manifestInstancesById: dict[str, ManifestInstance]
|
|
35
39
|
_tocBuilder: TableOfContentsBuilder
|
|
36
40
|
_uploadContents: UploadContents | None
|
|
@@ -38,6 +42,8 @@ class ControllerPluginData(PluginData):
|
|
|
38
42
|
|
|
39
43
|
def __init__(self, name: str):
|
|
40
44
|
super().__init__(name)
|
|
45
|
+
self._deiValues = {}
|
|
46
|
+
self._loadedModelXbrls = []
|
|
41
47
|
self._manifestInstancesById = {}
|
|
42
48
|
self._tocBuilder = TableOfContentsBuilder()
|
|
43
49
|
self._usedFilepaths = set()
|
|
@@ -52,6 +58,10 @@ class ControllerPluginData(PluginData):
|
|
|
52
58
|
"""
|
|
53
59
|
self._manifestInstancesById[manifestInstance.id] = manifestInstance
|
|
54
60
|
|
|
61
|
+
def addModelXbrl(self, modelXbrl: ModelXbrl) -> None:
|
|
62
|
+
self._loadedModelXbrls.append(modelXbrl)
|
|
63
|
+
self.setDeiValues(modelXbrl)
|
|
64
|
+
|
|
55
65
|
@lru_cache(1)
|
|
56
66
|
def getCoverItemRequirements(self, jsonPath: Path) -> CoverItemRequirements:
|
|
57
67
|
return CoverItemRequirements(jsonPath)
|
|
@@ -60,6 +70,9 @@ class ControllerPluginData(PluginData):
|
|
|
60
70
|
def getDeiRequirements(self, csvPath: Path, deiItems: tuple[QName, ...], filingFormats: tuple[FilingFormat, ...]) -> DeiRequirements:
|
|
61
71
|
return DeiRequirements(csvPath, deiItems, filingFormats)
|
|
62
72
|
|
|
73
|
+
def getDeiValue(self, localName: str) -> TypeXValue:
|
|
74
|
+
return self._deiValues.get(localName)
|
|
75
|
+
|
|
63
76
|
def getManifestInstances(self) -> list[ManifestInstance]:
|
|
64
77
|
"""
|
|
65
78
|
Retrieve all loaded manifest instances.
|
|
@@ -159,6 +172,28 @@ class ControllerPluginData(PluginData):
|
|
|
159
172
|
def getUsedFilepaths(self) -> frozenset[Path]:
|
|
160
173
|
return frozenset(self._usedFilepaths)
|
|
161
174
|
|
|
175
|
+
def isConsolidated(self) -> bool | None:
|
|
176
|
+
"""
|
|
177
|
+
Is this a consolidated (not individual) filing?
|
|
178
|
+
Looks for the DEI fact 'WhetherConsolidatedFinancialStatementsArePreparedDEI'
|
|
179
|
+
within PublicDoc instances. If an explicit True/False value is found, it is returned.
|
|
180
|
+
If no non-nil value exists, None is returned, which indicates a not applicable state.
|
|
181
|
+
:return:
|
|
182
|
+
"""
|
|
183
|
+
for modelXbrl in self.loadedModelXbrls:
|
|
184
|
+
manifestInstance = self.getManifestInstance(modelXbrl)
|
|
185
|
+
if manifestInstance is None:
|
|
186
|
+
continue
|
|
187
|
+
if manifestInstance.type != ReportFolderType.PUBLIC_DOC.value:
|
|
188
|
+
continue
|
|
189
|
+
facts = modelXbrl.factsByLocalName.get('WhetherConsolidatedFinancialStatementsArePreparedDEI', set())
|
|
190
|
+
for fact in facts:
|
|
191
|
+
if fact.xValue == True:
|
|
192
|
+
return True
|
|
193
|
+
if fact.xValue == False:
|
|
194
|
+
return False
|
|
195
|
+
return None
|
|
196
|
+
|
|
162
197
|
@lru_cache(1)
|
|
163
198
|
def isUpload(self, fileSource: FileSource) -> bool:
|
|
164
199
|
fileSource.open() # Make sure file source is open
|
|
@@ -173,13 +208,23 @@ class ControllerPluginData(PluginData):
|
|
|
173
208
|
return False
|
|
174
209
|
return True
|
|
175
210
|
|
|
176
|
-
|
|
211
|
+
@property
|
|
212
|
+
def loadedModelXbrls(self) -> list[ModelXbrl]:
|
|
213
|
+
"""
|
|
214
|
+
TODO: Only necessary because cntlr.modelManager.loadedModelXbrls is not reliable
|
|
215
|
+
in the current conformance suite runner. Remove when that is fixed/replaced.
|
|
216
|
+
"""
|
|
217
|
+
return self._loadedModelXbrls
|
|
218
|
+
|
|
219
|
+
@lru_cache(1)
|
|
220
|
+
def getManifestInstance(self, modelXbrl: ModelXbrl) -> ManifestInstance | None:
|
|
177
221
|
"""
|
|
178
222
|
Match a manifest instance based on the provided ixdsDocUrls.
|
|
179
223
|
A one-to-one mapping must exist between the model's IXDS document URLs and the manifest instance's IXBRL files.
|
|
180
224
|
:param ixdsDocUrls: A model's list of IXDS document URLs.
|
|
181
225
|
:return: A matching ManifestInstance if found, otherwise None.
|
|
182
226
|
"""
|
|
227
|
+
ixdsDocUrls = modelXbrl.ixdsDocUrls
|
|
183
228
|
modelUrls = set(ixdsDocUrls)
|
|
184
229
|
matchedInstance = None
|
|
185
230
|
for instance in self._manifestInstancesById.values():
|
|
@@ -204,6 +249,27 @@ class ControllerPluginData(PluginData):
|
|
|
204
249
|
break
|
|
205
250
|
return matchedInstance
|
|
206
251
|
|
|
252
|
+
def setDeiValue(self, localName: str, value: TypeXValue) -> None:
|
|
253
|
+
if localName in self._deiValues:
|
|
254
|
+
# Duplicate DEI values will be caught by validations.
|
|
255
|
+
return
|
|
256
|
+
self._deiValues[localName] = value
|
|
257
|
+
|
|
258
|
+
def setDeiValues(self, modelXbrl: ModelXbrl) -> None:
|
|
259
|
+
"""
|
|
260
|
+
Set DEI values from the provided modelXbrl.
|
|
261
|
+
Some EDINET validations rely on both DEI values defined in one instance
|
|
262
|
+
and other values in a separate instance, so we collect DEI values from
|
|
263
|
+
all instances and collect them at a controller level.
|
|
264
|
+
:param modelXbrl:
|
|
265
|
+
:return:
|
|
266
|
+
"""
|
|
267
|
+
for localName in DEI_LOCAL_NAMES:
|
|
268
|
+
for fact in modelXbrl.factsByLocalName.get(localName, ()):
|
|
269
|
+
if fact.isNil or fact.xValid < VALID:
|
|
270
|
+
continue
|
|
271
|
+
self.setDeiValue(localName, fact.xValue)
|
|
272
|
+
|
|
207
273
|
def addUsedFilepath(self, path: Path) -> None:
|
|
208
274
|
self._usedFilepaths.add(path)
|
|
209
275
|
|
|
@@ -568,7 +568,7 @@ class PluginValidationDataExtension(PluginData):
|
|
|
568
568
|
@lru_cache(1)
|
|
569
569
|
def getManifestInstance(self, modelXbrl: ModelXbrl) -> ManifestInstance | None:
|
|
570
570
|
controllerPluginData = ControllerPluginData.get(modelXbrl.modelManager.cntlr, self.name)
|
|
571
|
-
return controllerPluginData.
|
|
571
|
+
return controllerPluginData.getManifestInstance(modelXbrl)
|
|
572
572
|
|
|
573
573
|
@lru_cache(1)
|
|
574
574
|
def getProhibitedAttributeElements(self, modelDocument: ModelDocument) -> list[tuple[ModelObject, str]]:
|
|
@@ -9,8 +9,10 @@ from pathlib import Path
|
|
|
9
9
|
from typing import Any
|
|
10
10
|
|
|
11
11
|
from arelle.ModelXbrl import ModelXbrl
|
|
12
|
+
from arelle.ValidateXbrl import ValidateXbrl
|
|
12
13
|
from arelle.Version import authorLabel, copyrightLabel
|
|
13
14
|
from . import Constants
|
|
15
|
+
from .ControllerPluginData import ControllerPluginData
|
|
14
16
|
from .ValidationPluginExtension import ValidationPluginExtension
|
|
15
17
|
from .rules import contexts, edinet, frta, gfm, manifests, upload
|
|
16
18
|
|
|
@@ -84,6 +86,13 @@ def validateFinally(*args: Any, **kwargs: Any) -> None:
|
|
|
84
86
|
return validationPlugin.validateFinally(*args, **kwargs)
|
|
85
87
|
|
|
86
88
|
|
|
89
|
+
def validateXbrlStart(val: ValidateXbrl, *args: Any, **kwargs: Any) -> None:
|
|
90
|
+
# TODO: See ControllerPluginData.loadedModelXbrls comment
|
|
91
|
+
controllerPluginData = ControllerPluginData.get(val.modelXbrl.modelManager.cntlr, PLUGIN_NAME)
|
|
92
|
+
controllerPluginData.addModelXbrl(val.modelXbrl)
|
|
93
|
+
return validationPlugin.validateXbrlStart(val, *args, **kwargs)
|
|
94
|
+
|
|
95
|
+
|
|
87
96
|
def validateXbrlFinally(*args: Any, **kwargs: Any) -> None:
|
|
88
97
|
return validationPlugin.validateXbrlFinally(*args, **kwargs)
|
|
89
98
|
|
|
@@ -103,5 +112,6 @@ __pluginInfo__ = {
|
|
|
103
112
|
"Validate.Complete": validateComplete,
|
|
104
113
|
"Validate.FileSource": validateFileSource,
|
|
105
114
|
"Validate.XBRL.Finally": validateXbrlFinally,
|
|
115
|
+
'Validate.XBRL.Start': validateXbrlStart,
|
|
106
116
|
"ValidateFormula.Finished": validateFinally,
|
|
107
117
|
}
|
{arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/resources/config.xml
RENAMED
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
"https://xbrl.org/2023/arcrole/summation-item": ["none", "EDINET.EC5700W.GFM.1.7.4"]
|
|
14
14
|
}'
|
|
15
15
|
defaultXmlLang="ja"
|
|
16
|
+
keepOpen="true"
|
|
16
17
|
blockDisallowedReferences="true"
|
|
18
|
+
standardTaxonomiesUrl="edinet-taxonomies.xml"
|
|
17
19
|
validationType="EDINET"
|
|
18
|
-
validTaxonomiesUrl="edinet-taxonomies.xml"
|
|
19
20
|
exclusiveTypesPattern="EFM|GFM|FERC|HMRC|SBR.NL|EBA|EIOPA|ESEF"
|
|
20
21
|
/>
|
|
21
22
|
</DisclosureSystems>
|
{arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/contexts.py
RENAMED
|
@@ -3,21 +3,30 @@ See COPYRIGHT.md for copyright information.
|
|
|
3
3
|
"""
|
|
4
4
|
from __future__ import annotations
|
|
5
5
|
|
|
6
|
+
import datetime
|
|
6
7
|
from collections import defaultdict
|
|
8
|
+
|
|
9
|
+
from dateutil.relativedelta import relativedelta
|
|
7
10
|
from itertools import chain
|
|
8
|
-
from typing import Any, Iterable
|
|
11
|
+
from typing import Any, Iterable, cast
|
|
9
12
|
|
|
10
13
|
from arelle import XbrlConst
|
|
14
|
+
from arelle.Cntlr import Cntlr
|
|
15
|
+
from arelle.FileSource import FileSource
|
|
11
16
|
from arelle.LinkbaseType import LinkbaseType
|
|
12
17
|
from arelle.ModelDtsObject import ModelConcept
|
|
13
18
|
from arelle.ValidateXbrl import ValidateXbrl
|
|
19
|
+
from arelle.XmlValidateConst import VALID
|
|
14
20
|
from arelle.typing import TypeGetText
|
|
15
21
|
from arelle.utils.PluginHooks import ValidationHook
|
|
16
22
|
from arelle.utils.validate.Decorator import validation
|
|
17
23
|
from arelle.utils.validate.Validation import Validation
|
|
18
|
-
from ..Constants import FINANCIAL_STATEMENT_CONTEXT_ID_PATTERN, CONTEXT_ID_PATTERN
|
|
24
|
+
from ..Constants import FINANCIAL_STATEMENT_CONTEXT_ID_PATTERN, CONTEXT_ID_PATTERN, INDIVIDUAL_CONTEXT_ID_PATTERN
|
|
25
|
+
from ..ContextRequirement import CONTEXT_REQUIREMENTS
|
|
26
|
+
from ..ControllerPluginData import ControllerPluginData
|
|
19
27
|
from ..DisclosureSystems import (DISCLOSURE_SYSTEM_EDINET)
|
|
20
28
|
from ..PluginValidationDataExtension import PluginValidationDataExtension
|
|
29
|
+
from ..ReportFolderType import ReportFolderType
|
|
21
30
|
|
|
22
31
|
_: TypeGetText
|
|
23
32
|
|
|
@@ -150,6 +159,200 @@ def rule_EC8013W(
|
|
|
150
159
|
)
|
|
151
160
|
|
|
152
161
|
|
|
162
|
+
@validation(
|
|
163
|
+
hook=ValidationHook.COMPLETE,
|
|
164
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
165
|
+
)
|
|
166
|
+
def rule_EC8014W(
|
|
167
|
+
pluginData: ControllerPluginData,
|
|
168
|
+
cntlr: Cntlr,
|
|
169
|
+
fileSource: FileSource,
|
|
170
|
+
*args: Any,
|
|
171
|
+
**kwargs: Any,
|
|
172
|
+
) -> Iterable[Validation]:
|
|
173
|
+
"""
|
|
174
|
+
EDINET.EC8014W: For individual (non-consolidated) reports, there must be a context that represents an individual.
|
|
175
|
+
|
|
176
|
+
Individual reports identified by presence of WhetherConsolidatedFinancialStatementsArePreparedDEI with False value.
|
|
177
|
+
Individual context identified by context ID matching pattern with "_NonConsolidatedMember".
|
|
178
|
+
"""
|
|
179
|
+
if pluginData.isConsolidated() != False:
|
|
180
|
+
return
|
|
181
|
+
if not any(
|
|
182
|
+
INDIVIDUAL_CONTEXT_ID_PATTERN.fullmatch(contextID)
|
|
183
|
+
for modelXbrl in pluginData.loadedModelXbrls
|
|
184
|
+
for contextID in modelXbrl.contexts
|
|
185
|
+
):
|
|
186
|
+
yield Validation.warning(
|
|
187
|
+
codes='EDINET.EC8014W',
|
|
188
|
+
msg=_("There is no context ID in the inline XBRL file that represents an individual. "
|
|
189
|
+
"Please set a context ID that indicates individual financial "
|
|
190
|
+
"statements in the inline XBRL file. "
|
|
191
|
+
"If you are not including individual financial statements, "
|
|
192
|
+
"please check the \"WhetherConsolidatedFinancialStatementsArePreparedDEI\" "
|
|
193
|
+
"value of the DEI information."),
|
|
194
|
+
)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
@validation(
|
|
198
|
+
hook=ValidationHook.COMPLETE,
|
|
199
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
200
|
+
)
|
|
201
|
+
def rule_EC8015W(
|
|
202
|
+
pluginData: ControllerPluginData,
|
|
203
|
+
cntlr: Cntlr,
|
|
204
|
+
fileSource: FileSource,
|
|
205
|
+
*args: Any,
|
|
206
|
+
**kwargs: Any,
|
|
207
|
+
) -> Iterable[Validation]:
|
|
208
|
+
"""
|
|
209
|
+
EDINET.EC8015W: For consolidated reports, there must not be a context that represents an individual.
|
|
210
|
+
|
|
211
|
+
Consolidated reports identified by presence of WhetherConsolidatedFinancialStatementsArePreparedDEI with True value.
|
|
212
|
+
Individual context identified by context ID matching pattern with "_NonConsolidatedMember".
|
|
213
|
+
"""
|
|
214
|
+
if pluginData.isConsolidated() != True:
|
|
215
|
+
return
|
|
216
|
+
individualContexts = [
|
|
217
|
+
context
|
|
218
|
+
for modelXbrl in pluginData.loadedModelXbrls
|
|
219
|
+
for contextId, context in modelXbrl.contexts.items()
|
|
220
|
+
if INDIVIDUAL_CONTEXT_ID_PATTERN.fullmatch(contextId)
|
|
221
|
+
]
|
|
222
|
+
if len(individualContexts) > 0:
|
|
223
|
+
yield Validation.warning(
|
|
224
|
+
codes='EDINET.EC8015W',
|
|
225
|
+
msg=_("There is a context ID in the inline XBRL file that represents an individual. "
|
|
226
|
+
"If you do not want to enter information related to individual financial statements, "
|
|
227
|
+
"delete the context ID that indicates individual. "
|
|
228
|
+
"If you want to enter individual financial statements, "
|
|
229
|
+
"check the \"WhetherConsolidatedFinancialStatementsArePreparedDEI\" status in the DEI "
|
|
230
|
+
"information. "
|
|
231
|
+
"* If there is a change from non-consolidated to consolidated, even if the data content "
|
|
232
|
+
"is normal, it may be recognized as an exception and a warning may be displayed."),
|
|
233
|
+
modelObject=individualContexts,
|
|
234
|
+
)
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
@validation(
|
|
238
|
+
hook=ValidationHook.COMPLETE,
|
|
239
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
240
|
+
)
|
|
241
|
+
def rule_contextDeiRequirements(
|
|
242
|
+
pluginData: ControllerPluginData,
|
|
243
|
+
cntlr: Cntlr,
|
|
244
|
+
fileSource: FileSource,
|
|
245
|
+
*args: Any,
|
|
246
|
+
**kwargs: Any,
|
|
247
|
+
) -> Iterable[Validation]:
|
|
248
|
+
"""
|
|
249
|
+
EDINET.EC8018W, EDINET.EC8019W, and EDINET.EC8020W assert that context instant, startDate, and endDate values
|
|
250
|
+
(respectively) match certain DEI values based on the presence of DEI values and patterns in the context ID.
|
|
251
|
+
See section 3-4-2 in the Validation Guidelines.
|
|
252
|
+
"""
|
|
253
|
+
for modelXbrl in pluginData.loadedModelXbrls:
|
|
254
|
+
for contextId, context in modelXbrl.contexts.items():
|
|
255
|
+
for contextDeiRequirement in CONTEXT_REQUIREMENTS:
|
|
256
|
+
if not contextId.startswith(contextDeiRequirement.contextId):
|
|
257
|
+
continue
|
|
258
|
+
if contextDeiRequirement.elementDoesNotExist is not None:
|
|
259
|
+
if pluginData.getDeiValue(contextDeiRequirement.elementDoesNotExist) is not None:
|
|
260
|
+
continue
|
|
261
|
+
if contextDeiRequirement.elementExists is not None:
|
|
262
|
+
if pluginData.getDeiValue(contextDeiRequirement.elementExists) is None:
|
|
263
|
+
continue
|
|
264
|
+
|
|
265
|
+
if contextDeiRequirement.element == 'startDate':
|
|
266
|
+
contextValue = context.startDatetime
|
|
267
|
+
code = "EDINET.EC8019W"
|
|
268
|
+
elif contextDeiRequirement.element == 'endDate':
|
|
269
|
+
contextValue = context.endDatetime
|
|
270
|
+
code = "EDINET.EC8020W"
|
|
271
|
+
else:
|
|
272
|
+
assert contextDeiRequirement.element == 'instant'
|
|
273
|
+
contextValue = context.instantDatetime
|
|
274
|
+
code = "EDINET.EC8018W"
|
|
275
|
+
|
|
276
|
+
deiValue = pluginData.getDeiValue(contextDeiRequirement.elementMatch)
|
|
277
|
+
if deiValue is None:
|
|
278
|
+
continue
|
|
279
|
+
deiValue = cast(datetime.datetime, deiValue)
|
|
280
|
+
|
|
281
|
+
if contextDeiRequirement.element in ('instant', 'endDate'):
|
|
282
|
+
# Instant and end dates are parsed as the beginning of the day after the date specified by the value
|
|
283
|
+
# DEI values need to be adjusted by 1 day to match this.
|
|
284
|
+
deiValue = cast(datetime.datetime, deiValue) + datetime.timedelta(1)
|
|
285
|
+
if contextDeiRequirement.dayAdjustment:
|
|
286
|
+
deiValue = cast(datetime.datetime, deiValue) + datetime.timedelta(contextDeiRequirement.dayAdjustment)
|
|
287
|
+
|
|
288
|
+
if contextValue != deiValue:
|
|
289
|
+
yield Validation.warning(
|
|
290
|
+
codes=code,
|
|
291
|
+
msg=_("The context %(element)s element does not match the information in DEI "
|
|
292
|
+
"\"%(elementMatch)s\". "
|
|
293
|
+
"Context ID: '%(contextId)s'. "
|
|
294
|
+
"DEI value: '%(deiValue)s'. "
|
|
295
|
+
"Context value: '%(contextValue)s'. "
|
|
296
|
+
"Please set the same value for the %(element)s element value of the corresponding "
|
|
297
|
+
"context ID and the DEI information value."),
|
|
298
|
+
element=contextDeiRequirement.element,
|
|
299
|
+
elementMatch=contextDeiRequirement.elementMatch,
|
|
300
|
+
contextId=contextId,
|
|
301
|
+
deiValue=deiValue.date().isoformat(),
|
|
302
|
+
contextValue=contextValue.date().isoformat(),
|
|
303
|
+
)
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
@validation(
|
|
307
|
+
hook=ValidationHook.COMPLETE,
|
|
308
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
309
|
+
)
|
|
310
|
+
def rule_EC8021W(
|
|
311
|
+
pluginData: ControllerPluginData,
|
|
312
|
+
cntlr: Cntlr,
|
|
313
|
+
fileSource: FileSource,
|
|
314
|
+
*args: Any,
|
|
315
|
+
**kwargs: Any,
|
|
316
|
+
) -> Iterable[Validation]:
|
|
317
|
+
"""
|
|
318
|
+
EDINET.EC8021W: "EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI" or "CurrentPeriodEndDateDEI"
|
|
319
|
+
must not be more than one year earlier than "FilingDateCoverPage".
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
If the "EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI" of the DEI information is present,
|
|
323
|
+
then its value must not be more than one year earlier than "FilingDateCoverPage".
|
|
324
|
+
If "EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI" is not present, but "CurrentPeriodEndDateDEI"
|
|
325
|
+
is present, then its value must not be more than one year earlier than "FilingDateCoverPage".
|
|
326
|
+
"""
|
|
327
|
+
localName = 'EndDateOfQuarterlyOrSemiAnnualPeriodOfNextFiscalYearDEI'
|
|
328
|
+
targetDate = pluginData.getDeiValue(localName)
|
|
329
|
+
if not isinstance(targetDate, datetime.datetime):
|
|
330
|
+
localName = 'CurrentPeriodEndDateDEI'
|
|
331
|
+
targetDate = pluginData.getDeiValue(localName)
|
|
332
|
+
if not isinstance(targetDate, datetime.datetime):
|
|
333
|
+
return
|
|
334
|
+
compareDate = cast(datetime.datetime, targetDate + relativedelta(years=1))
|
|
335
|
+
for modelXbrl in pluginData.loadedModelXbrls:
|
|
336
|
+
for fact in modelXbrl.factsByLocalName.get('FilingDateCoverPage', set()):
|
|
337
|
+
if fact.isNil or fact.xValid < VALID:
|
|
338
|
+
continue
|
|
339
|
+
submissionDate = cast(datetime.datetime, fact.xValue)
|
|
340
|
+
if compareDate < submissionDate:
|
|
341
|
+
yield Validation.warning(
|
|
342
|
+
codes='EDINET.EC8021W',
|
|
343
|
+
msg=_("The DEI '%(localName)s' information is set to a date that is "
|
|
344
|
+
"more than one year earlier than 'FilingDateCoverPage'. "
|
|
345
|
+
"Please set the '%(localName)s' value to a value that is less "
|
|
346
|
+
"than one year earlier than the value of 'FilingDateCoverPage'. "
|
|
347
|
+
"%(localName)s: '%(targetDate)s'. "
|
|
348
|
+
"FilingDateCoverPage: '%(submissionDate)s'. "),
|
|
349
|
+
localName=localName,
|
|
350
|
+
targetDate=targetDate.date().isoformat(),
|
|
351
|
+
submissionDate=submissionDate.date().isoformat(),
|
|
352
|
+
modelObject=fact,
|
|
353
|
+
)
|
|
354
|
+
|
|
355
|
+
|
|
153
356
|
@validation(
|
|
154
357
|
hook=ValidationHook.XBRL_FINALLY,
|
|
155
358
|
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
{arelle_release-2.37.62 → arelle_release-2.37.64}/arelle/plugin/validate/EDINET/rules/frta.py
RENAMED
|
@@ -231,8 +231,8 @@ def rule_frta_4_2_4(
|
|
|
231
231
|
if rootElt.get('elementFormDefault') != 'qualified' or rootElt.get('attributeFormDefault') != 'unqualified':
|
|
232
232
|
yield Validation.warning(
|
|
233
233
|
codes='EDINET.EC5710W.FRTA.4.2.4',
|
|
234
|
-
msg=_("The XMLSchema root in taxonomy schema files must have the 'elementFormDefault'
|
|
235
|
-
"'
|
|
234
|
+
msg=_("The XMLSchema root in taxonomy schema files must have the 'elementFormDefault' attribute set as "
|
|
235
|
+
"'qualified' and the 'attributeFormDefault' attribute set as 'unqualified'"),
|
|
236
236
|
modelObject=modelDocument,
|
|
237
237
|
)
|
|
238
238
|
formUsages = []
|