arelle-release 2.37.58__tar.gz → 2.37.59__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.58 → arelle_release-2.37.59}/PKG-INFO +1 -1
- arelle_release-2.37.59/arelle/LeiUtil.py +75 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/_version.py +3 -3
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/__init__.py +2 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/rules/gfm.py +237 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/UK/ValidateUK.py +99 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle_release.egg-info/PKG-INFO +1 -1
- arelle_release-2.37.58/arelle/LeiUtil.py +0 -55
- {arelle_release-2.37.58 → arelle_release-2.37.59}/.gitignore +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/CONTRIBUTING.md +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/COPYRIGHT.md +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/LICENSE.md +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/MANIFEST.in +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/README.md +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/Aspect.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/BetaFeatures.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/Cntlr.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/CntlrCmdLine.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/CntlrComServer.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/CntlrProfiler.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/CntlrQuickBooks.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/CntlrWebMain.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/CntlrWinMain.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/CntlrWinTooltip.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogAbout.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogArcroleGroup.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogFind.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogFormulaParameters.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogLanguage.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogNewFactItem.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogOpenArchive.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogPackageManager.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogPluginManager.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogRssWatch.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogURL.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DialogUserPassword.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/DisclosureSystem.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ErrorManager.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/FileSource.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/FunctionCustom.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/FunctionFn.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/FunctionIxt.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/FunctionUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/FunctionXfi.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/FunctionXs.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/HashUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/HtmlUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/InstanceAspectsEvaluator.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/LinkbaseType.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/LocalViewer.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/Locale.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelDocument.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelDtsObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelFormulaObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelInstanceObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelManager.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelObjectFactory.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelRelationshipSet.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelRenderingObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelRssItem.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelRssObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelTestcaseObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelValue.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelVersObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelVersReport.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ModelXbrl.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/PackageManager.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/PluginManager.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/PluginUtils.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/PrototypeDtsObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/PrototypeInstanceObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/PythonUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/RuntimeOptions.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/SocketUtils.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/SystemInfo.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/TableStructure.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/TkTableWrapper.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/UITkTable.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/UiUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/Updater.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/UrlUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/Validate.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateDuplicateFacts.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateFilingText.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateInfoset.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateUtr.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateVersReport.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateXbrl.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateXbrlCalcs.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateXbrlDTS.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ValidateXbrlDimensions.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/Version.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFile.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileConcepts.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileDTS.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileFactList.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileFactTable.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileFormulae.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileRelationshipSet.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileRenderedGrid.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileRenderedLayout.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileRenderedStructure.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileRoleTypes.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileRssFeed.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewFileTests.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewUtilFormulae.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinConcepts.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinDTS.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinDiffs.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinFactGrid.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinFactList.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinFactTable.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinFormulae.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinGrid.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinList.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinPane.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinProperties.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinRelationshipSet.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinRenderedGrid.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinRoleTypes.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinRssFeed.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinTests.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinTkTable.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinTree.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinTupleGrid.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinVersReport.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/ViewWinXml.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/WatchRss.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/WebCache.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/XbrlConst.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/XbrlUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/XhtmlValidate.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/XmlUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/XmlValidate.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/XmlValidateConst.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/XmlValidateParticles.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/XmlValidateSchema.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/api/Session.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/creationSoftwareNames.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/disclosuresystems.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/disclosuresystems.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/edbody.dtd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/empty-instance.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/erxl.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/mappings.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/mappings.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/sbr-text-formatting.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/xbrlschemafiles.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/xhtml-lat1.ent +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/xhtml-special.ent +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/xhtml-symbol.ent +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/xhtml1-strict-ix.dtd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/config/xhtml1_1-strict-ix.dtd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/conformance/CSVTestcaseLoader.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/doc/messagesCatalog.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/doc/messagesCatalog.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/formula/FactAspectsCache.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/formula/FormulaConsisAsser.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/formula/FormulaEvaluator.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/formula/ValidateFormula.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/formula/XPathContext.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/formula/XPathParser.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/formula/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle-full-word.ico +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle-mac-icon-4.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle-rtd.png +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle-word-only.ico +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle.icns +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle.icns.zip +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle.ico +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle.xbm +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle128.psd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle16.psd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle16x16and32x32.ico +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/arelle32.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/columnSortDown.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/columnSortUp.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/dmg_background.png +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/favicon.ico +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/octocat.png +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/python-clear.png +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/python-icon-pack-crystalxp.net-842.zip +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarClose.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarCompare.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarDelete.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarFindMenu.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarLogClear - 1-piece-top.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarLogClear-orig.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarLogClear.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarNewFile.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarOpenDatabase.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarOpenFile.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarOpenWeb.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarProperties.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarQuit.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarReopen.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarSaveFile.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/toolbarValidate.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/xbrl.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/xbrl.psd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/xbrl128-2.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/xbrl128.gif +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/xbrl16.ico +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/images/xbrl32.ico +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/ar_EG/LC_MESSAGES/arelle.mo +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/es/LC_MESSAGES/arelle.mo +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/fr/LC_MESSAGES/arelle.mo +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/fr/LC_MESSAGES/fr.po +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/messages.mo +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/messages.pot +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/ru/LC_MESSAGES/arelle.mo +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/locale/ru/LC_MESSAGES/ru.po +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/logging/formatters/LogFormatter.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/logging/handlers/LogHandlerWithXml.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/logging/handlers/LogToBufferHandler.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/logging/handlers/LogToPrintHandler.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/logging/handlers/LogToXmlHandler.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/logging/handlers/StructuredMessageLogHandler.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/model/CommentBase.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/model/ElementBase.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/model/PIBase.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/model/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/oim/Load.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/oim/Validate.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/oim/xml/Save.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/packages/PackageConst.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/packages/PackageType.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/packages/PackageUtils.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/packages/PackageValidation.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/packages/report/DetectReportPackage.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/packages/report/ReportPackage.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/packages/report/ReportPackageConst.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/packages/report/ReportPackageValidator.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/CacheBuilder.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/EdgarRendererAllReports.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/ModelValueMore.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/ValidateDTS.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/ViewXbrlTxmyObj.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlAbstract.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlConcept.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlConst.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlCube.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlDimension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlDts.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlEntity.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlGroup.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlImportedTaxonomy.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlLabel.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlNetwork.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlProperty.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlReference.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlReport.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlTableTemplate.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlTaxonomy.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlTaxonomyObject.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlTransform.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlTypes.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/XbrlUnit.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/resources/iso4217.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/resources/oim-taxonomy-schema.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/resources/ref.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/resources/transform-types.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/resources/types.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/resources/utr.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/OimTaxonomy/resources/xbrlSpec.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/SECCorrespondenceLoader.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/TDnetLoader.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/UKCompaniesHouseLoader.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/formulaLoader.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/formulaSaver.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/formulaXPathChecker.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/functionsMath.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/inlineXbrlDocumentSet.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/internet/proxyNTLM/HTTPNtlmAuthHandler.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/internet/proxyNTLM/U32.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/internet/proxyNTLM/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/internet/proxyNTLM/des.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/internet/proxyNTLM/des_c.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/internet/proxyNTLM/des_data.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/internet/proxyNTLM/lgpl-3.0-standalone.html +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/internet/proxyNTLM/ntlm.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/loadFromExcel.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/loadFromOIM.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/logging/dpmSignature.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/logging/dqcParameters.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/logging/saveMessages.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/profileCmdLine.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/profileFormula.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/saveCHComponentFile.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/saveDTS.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/saveHtmlEBAtables.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/saveLoadableExcel.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/saveLoadableOIM.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/saveOIMTaxonomy.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/saveSKOS.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/saveSampleInstance.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/security/cryptAES_CBC.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/security/cryptAES_EAX.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/streamingExtensions.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/systemInfo.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/transforms/tester.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/unpackSecEisFile.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/CIPC/Const.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/CIPC/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/CIPC/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/DisclosureSystems.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/PluginValidationDataExtension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/ValidationPluginExtension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/resources/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/rules/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/rules/fr.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/rules/tc.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/rules/th.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/rules/tm.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/DBA/rules/tr.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EBA/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EBA/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/Constants.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/ControllerPluginData.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/CoverPageRequirements.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/DisclosureSystems.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/FilingFormat.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/FormType.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/ManifestInstance.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/ReportFolderType.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/Statement.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/UploadContents.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/ValidationPluginExtension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/resources/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/resources/cover-page-requirements.csv +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/rules/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/rules/contexts.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/rules/edinet.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/rules/frta.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/rules/manifests.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/rules/upload.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/Const.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/Dimensions.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/ESEF_2021/DTS.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/ESEF_2021/Image.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/ESEF_2021/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/ESEF_Current/DTS.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/ESEF_Current/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/Util.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/resources/authority-validations.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ESEF/resources/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/FERC/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/FERC/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/FERC/resources/ferc-utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/DisclosureSystems.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/PluginValidationDataExtension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/ValidationPluginExtension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/resources/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/rules/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/rules/br_kvk.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/rules/fg_nl.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/rules/fr_kvk.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/rules/fr_nl.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/NL/rules/nl_kvk.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ROS/DisclosureSystems.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ROS/PluginValidationDataExtension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ROS/ValidationPluginExtension.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ROS/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ROS/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ROS/resources/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ROS/rules/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/ROS/rules/ros.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/UK/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/UK/config.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/UK/consistencyChecksByName.json +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/UK/hmrc-taxonomies.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/DialogRssWatchExtender.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/SqlDb.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/XbrlDpmSqlDB.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/XbrlOpenSqlDB.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/XbrlPublicPostgresDB.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/XbrlSemanticGraphDB.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/XbrlSemanticJsonDB.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/XbrlSemanticRdfDB.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/XbrlSemanticSqlDB.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/entityInformation.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/ext/china.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/ext/edgar.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/ext/xdc.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/primaryDocumentFacts.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/open/ext/chinaPostgresDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/open/ext/edgarPostgresDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/open/ext/xdcPostgresDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/open/xbrlOpenPostgresDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/open2/xbrlOpen2PostgresDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/public/xbrlPublicPostgresDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/semantic/secDatabaseModelViews.sql +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticColumnComments.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMSSqlDB.sql +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMySqlDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticOracleDB.sql +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticPostgresDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticSQLiteDB.ddl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xbrlDB/tableFacts.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/xuleSaver.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/rendering/RenderingEvaluator.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/rendering/RenderingLayout.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/rendering/RenderingResolution.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.w3.org/2001/03/xml.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.w3.org/2001/xml.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2003/xl-2003-12-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2003/xlink-2003-12-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2004/ref-2004-08-10.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2005/xbrldt-2005.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2006/ref-2006-02-27.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2006/xbrldi-2006.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/boolean-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/concept-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/conformance.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/conformanceFunction.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/consistency-assertion.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/dimension-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/entity-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/existence-assertion.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/formula.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/function.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/general-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/generic-label.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/generic-link.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/generic-reference.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xl-2003-12-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xlink-2003-12-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xframes-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-applet-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-attribs-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-base-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-form-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-table-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-model-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-modules-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-bdo-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkphras-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkpres-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkstruct-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-charent-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-copyright-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-csismap-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-datatypes-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-edit-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-events-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-form-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-frames-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-framework-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-hypertext-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-iframe-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-image-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlphras-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlpres-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstruct-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstyle-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-legacy-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-link-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-list-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-meta-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-misc-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-nameident-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-notations-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-object-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-param-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-pres-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-basic-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-script-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ssismap-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-struct-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-style-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-table-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-target-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-text-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-model-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-module-redefines-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-modules-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-handlers-2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-definitions.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-model.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-modules.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/match-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/period-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/registry.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/relative-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/segment-scenario-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/tuple-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/unit-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/validation.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/value-assertion.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/value-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2008/variable.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2010/aspect-cover-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2010/concept-relation-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2010/custom-function-implementation.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2010/generic-message.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2010/validation-message.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xl-2003-12-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xlink-2003-12-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xframes-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-applet-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-attribs-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-base-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-form-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-table-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-model-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-modules-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-bdo-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkphras-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkpres-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkstruct-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-charent-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-copyright-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-csismap-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-datatypes-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-edit-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-events-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-form-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-frames-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-framework-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-hypertext-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-iframe-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-image-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlphras-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlpres-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstruct-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstyle-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-legacy-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-link-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-list-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-meta-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-misc-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-nameident-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-notations-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-object-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-param-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-pres-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-basic-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-script-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ssismap-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-struct-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-style-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-table-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-target-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-text-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-model-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-module-redefines-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-modules-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-handlers-2.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-definitions.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-model.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-modules.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/match-filter.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/preferred-label.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-base.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-details.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-use.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-dimensions.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2014/extensible-enumerations.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2014/table.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2014/tablemodel.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2016/assertion-severity.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2016/severities.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package-catalog.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2022/assertion-severity.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/2022/severities.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/dtr/type/numeric-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/accounting-arcrole-2023-01-04.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/jpfr-arcrole-2007-11-07.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/parent-child-2013-09-19.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/jpfr-role-2007-11-07.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2008-03-31.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negative-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/net-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/positive-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/property-2022-09-28.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/reference-2009-12-16.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/lrr/role/restated-2006-02-21.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2012-01-30/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2012-10-31/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2012-11-30/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2013-02-28/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2013-05-17/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2016-08-10/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2017-07-12/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2021-02-16/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2021-12-08/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2022-02-16/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2022-07-20/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2023-12-20/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2024-01-31/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/2024-10-22/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/http/www.xbrl.org/utr/utr.xml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/https/www.xbrl.org/2005/conformance.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/https/www.xbrl.org/2020/extensible-enumerations-2.0.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/https/www.xbrl.org/2023/calculation-1.1.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2020-01-21/types.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2022-03-31/types.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2024-01-31/types.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/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.58 → arelle_release-2.37.59}/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.58 → arelle_release-2.37.59}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators.xsd +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/linux-x86_64/README.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/linux-x86_64/html/tkTable.html +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/linux-x86_64/libTktable2.11.so +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/linux-x86_64/license.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/linux-x86_64/pkgIndex.tcl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/linux-x86_64/tkTable.tcl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/linux-x86_64/tktable.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-arm64/README.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-arm64/html/tkTable.html +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-arm64/libTktable2.11.dylib +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-arm64/license.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-arm64/pkgIndex.tcl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-arm64/tkTable.tcl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-arm64/tktable.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-x86_64/README.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-x86_64/html/tkTable.html +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-x86_64/libTktable2.11.dylib +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-x86_64/license.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-x86_64/pkgIndex.tcl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-x86_64/tkTable.tcl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/macos-x86_64/tktable.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/win-x86_64/Tktable.dll +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/win-x86_64/pkgIndex.tcl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/resources/libs/Tktable2.11/win-x86_64/tkTable.tcl +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/typing.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/Contexts.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/EntryPointDetection.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/Equivalence.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/PluginData.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/PluginHooks.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/Units.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/validate/Decorator.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/validate/DetectScriptsInXhtml.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/validate/ESEFImage.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/validate/Validation.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/validate/ValidationPlugin.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/validate/ValidationUtil.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/utils/validate/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/webserver/__init__.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/webserver/bottle.py +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle_release.egg-info/SOURCES.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle_release.egg-info/dependency_links.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle_release.egg-info/entry_points.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle_release.egg-info/requires.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/arelle_release.egg-info/top_level.txt +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/pyproject.toml +0 -0
- {arelle_release-2.37.58 → arelle_release-2.37.59}/setup.cfg +0 -0
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"""
|
|
2
|
+
See COPYRIGHT.md for copyright information.
|
|
3
|
+
|
|
4
|
+
Implementation of ISO 17442:2012(E) Appendix A
|
|
5
|
+
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import string
|
|
9
|
+
from enum import Enum, auto
|
|
10
|
+
|
|
11
|
+
import regex as re
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class LEIValidationResult(Enum):
|
|
15
|
+
VALID = auto()
|
|
16
|
+
INVALID_LEXICAL = auto()
|
|
17
|
+
INVALID_CHECKSUM = auto()
|
|
18
|
+
|
|
19
|
+
def description(self) -> str:
|
|
20
|
+
return self.name.lower().replace("_", " ")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
LEI_VALID = LEIValidationResult.VALID
|
|
24
|
+
LEI_INVALID_LEXICAL = LEIValidationResult.INVALID_LEXICAL
|
|
25
|
+
LEI_INVALID_CHECKSUM = LEIValidationResult.INVALID_CHECKSUM
|
|
26
|
+
|
|
27
|
+
_leiLexicalPattern = re.compile(r"[0-9A-Z]{18}[0-9]{2}", re.ASCII)
|
|
28
|
+
_requiredLEILength = 20
|
|
29
|
+
|
|
30
|
+
_leiToDigitTable = str.maketrans(
|
|
31
|
+
dict(
|
|
32
|
+
(ord(char), str(index))
|
|
33
|
+
for index, char in enumerate(string.ascii_uppercase, start=len(string.digits))
|
|
34
|
+
)
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
# The pattern comes from Solvency II documentation here https://dev.eiopa.europa.eu/Taxonomy/Full/2.3.0/PF/EIOPA_PensionFunds_Validations_2.3.0_PWD2.xlsx
|
|
38
|
+
_validLeiDespiteChecksumFailPatternString = r"^(029200720E3M3A4D6D01|029200758D5M0AI3F601|315700X8JQ3IU0NGK501|3157007SCCESQAUH5Z01|315700TCC9NTEP7J8Z01|13250000000000000301|315700ADOXDR5PCY5400|315700A0UB9Q7DOQIZ00|315700BM9Z39TNTGQW00|315700BZ5F7DRYG2UM00|315700B8401GTFFY6X01|315700DJ07P6OX10FK01|315700DKCD4QSKLAMO01|315700D23JL5C1DZNT00|315700EIYO2TLSEGQ700|315700ET7M7VQ4C84R00|315700EZSEA51937KX01|315700GXBGM8DBYKHF01|315700GZA843JXKTJ400|315700G5G24XYL1TXH00|315700HS7WJ1B0SUWM01|315700HXOEOK58E58P01|315700HZU4SMI8LZTU00|315700I3W2AFHP8MNQ01|315700JICZ3SY5SAXX00|315700JKZH6I0067ND01|315700JO5E28SRE00Q01|315700JXUHL9H2C3P700|315700LDDN3RM7Y2MP00|315700LWYOZNQ7V1T100|315700MBYPT6PGKO7M01|315700MW2F0KFR45QW01|315700M5843O6DU83901|315700NNMGS8F3P2CN00|315700N0VEIBHP0NPQ01|315700OASRCM664PAW01|315700OFW4YCOBNX4U01|315700OVW93X0T3HP200|315700O666JVNCQU9X00|315700PLI0I7W8IOV400|315700PN3J57ZUNF1V00|315700PXKOSX7WQV4N00|315700P4N9VSLK5QZV01|315700P40OV6BT045900|315700P6TZOLP92KN801|315700P89WR82VNB8Z00|315700QGM4XWZE1I5N01|315700Q1S8O1UORF9700|315700RK8M4FAHMYAP01|315700RTEHY362KXWJ00|315700SNUXK41WMW5J00|315700S22RGYRIEEOT00|315700S3TF79ALV82F01|315700TF5Z7T28HZJK01|315700TWGZ89LLSRS000|315700TXNX10N8XH4K00|315700T2EEQAPBO0C301|315700T6T49EDM16YO01|315700UJ6N4LGKLNPB00|315700UKZXWXEO126601|315700UYFD5GF9R13F01|315700VG7PTE9EJJRX01|315700VITYR7AL4M9S01|315700VMAJZ9JZTXNQ00|315700WH3YMKHCVYW201|315700WKCDF4QGRRO200|315700WR4IHOO1M5LP00|315700WYOZ6994UATN00|315700WZPEIS41QDKE00|315700XEFYMA5EZ0P500|315700XE21UYOA3GAC01|315700XI4Z8GF5BDUJ01|315700XSCP1S8WOD8E01|315700X40GNCOUWJYR00|315700YS6RQ5TF3VBP01|315700Y1W7W1JHAUBW00|315700Y5JNQMMUF5ID01|3157000VAJWZ3P8ZED00|3157001KM8GOU7PXZY01|3157001K2LAL04D87901|3157001MLDD3SDFQA901|3157001TPR6K4GBTLN00|31570010000000006400|31570010000000009601|31570010000000019301|31570010000000025800|31570010000000029001|31570010000000035500|31570010000000038701|31570010000000045200|31570010000000048401|31570010000000054900|31570010000000064600|31570010000000067801|31570010000000077501|31570010000000084000|31570010000000087201|31570010000000096901|31570010000000103400|31570010000000106601|31570010000000116301|31570010000000122800|31570010000000126001|3157002CKDQOCIHE5H01|31570020000000005900|31570029808HJVCNFA01|3157003FQSSGS9OZ9E01|3157004PTVTDOKB46401|3157004R6CH6C1P4KX00|3157005RUI28M8FANK00|3157005VJE7A3MBUS201|3157005WT1SENAE17R00|31570058O0Z320C4GZ00|3157006B6JVZ5DFMSN00|3157006DE3SPNIUY9K01|3157006FR3JBBOLOMX01|3157006I3B6RSTPQLI00|3157006KT1EZ15OIXW00|315700659AALVVLVIO01|31570067WSCDST0S3F01|3157008VKYORMUNC5O01|3157008ZY7CW6LVU5J00|3157009FTHFDDK7FHW01|3157009OVCV07O4HXM00|315700T8U7IU4W8J3A01|315700BBRQHDWX6SHZ00|3157008KD17KROO7UT01)$"
|
|
39
|
+
|
|
40
|
+
# Turn the _validLeiDespiteChecksumFailPattern in to an immutable set as that is much faster to check
|
|
41
|
+
_validLeiDespiteChecksumFailSet = frozenset(
|
|
42
|
+
_validLeiDespiteChecksumFailPatternString[2:-2].split("|")
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def checkLei(lei: str) -> LEIValidationResult:
|
|
47
|
+
if len(lei) != _requiredLEILength:
|
|
48
|
+
return LEIValidationResult.INVALID_LEXICAL
|
|
49
|
+
|
|
50
|
+
if not _leiLexicalPattern.fullmatch(lei):
|
|
51
|
+
return LEIValidationResult.INVALID_LEXICAL
|
|
52
|
+
|
|
53
|
+
result = LEIValidationResult.INVALID_CHECKSUM
|
|
54
|
+
|
|
55
|
+
if int(lei.translate(_leiToDigitTable)) % 97 == 1:
|
|
56
|
+
result = LEIValidationResult.VALID
|
|
57
|
+
|
|
58
|
+
if (
|
|
59
|
+
result is LEIValidationResult.INVALID_CHECKSUM
|
|
60
|
+
and lei in _validLeiDespiteChecksumFailSet
|
|
61
|
+
):
|
|
62
|
+
result = LEIValidationResult.VALID
|
|
63
|
+
|
|
64
|
+
return result
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
if __name__ == "__main__":
|
|
68
|
+
import sys
|
|
69
|
+
|
|
70
|
+
leis = sys.argv[1:]
|
|
71
|
+
if not leis:
|
|
72
|
+
raise SystemExit("Specify the LEI(s) you want to check as arguments.")
|
|
73
|
+
|
|
74
|
+
for arg in sys.argv[1:]:
|
|
75
|
+
print(f"{arg:20s} : {checkLei(arg).description()}")
|
|
@@ -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.59'
|
|
32
|
+
__version_tuple__ = version_tuple = (2, 37, 59)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g7c834ed28'
|
|
@@ -22,6 +22,8 @@ RELEVELER_MAP: dict[str, dict[str, tuple[str, str | None]]] = {
|
|
|
22
22
|
"xbrl.4.8.2:sharesFactUnit-notSharesMeasure": ("ERROR", None),
|
|
23
23
|
# Silence, duplicated by EDINET.EC5002E
|
|
24
24
|
"xbrl.4.8.2:sharesFactUnit-notSingleMeasure": ("ERROR", None),
|
|
25
|
+
# Silence, duplicated by EDINET.EC5700W.GFM.1.7.2
|
|
26
|
+
"xbrl.5.2.5.2.1:zeroWeight": ("ERROR", None),
|
|
25
27
|
},
|
|
26
28
|
}
|
|
27
29
|
|
{arelle_release-2.37.58 → arelle_release-2.37.59}/arelle/plugin/validate/EDINET/rules/gfm.py
RENAMED
|
@@ -10,6 +10,7 @@ from typing import Any, cast, Iterable
|
|
|
10
10
|
import regex
|
|
11
11
|
|
|
12
12
|
from arelle import XbrlConst, XmlUtil
|
|
13
|
+
from arelle.LinkbaseType import LinkbaseType
|
|
13
14
|
from arelle.ModelDtsObject import ModelConcept
|
|
14
15
|
from arelle.ModelInstanceObject import ModelFact
|
|
15
16
|
from arelle.ModelObject import ModelObject
|
|
@@ -970,3 +971,239 @@ def rule_gfm_1_5_10(
|
|
|
970
971
|
labelrole=label.role,
|
|
971
972
|
modelObject=label
|
|
972
973
|
)
|
|
974
|
+
|
|
975
|
+
|
|
976
|
+
@validation(
|
|
977
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
978
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
979
|
+
)
|
|
980
|
+
def rule_gfm_1_6_1(
|
|
981
|
+
pluginData: PluginValidationDataExtension,
|
|
982
|
+
val: ValidateXbrl,
|
|
983
|
+
*args: Any,
|
|
984
|
+
**kwargs: Any,
|
|
985
|
+
) -> Iterable[Validation]:
|
|
986
|
+
"""
|
|
987
|
+
EDINET.EC5700W: [GFM 1.6.1] All presentation relationships must have an order attribute
|
|
988
|
+
"""
|
|
989
|
+
presentationRelationshipSet = val.modelXbrl.relationshipSet(tuple(LinkbaseType.PRESENTATION.getArcroles()))
|
|
990
|
+
if presentationRelationshipSet is None:
|
|
991
|
+
return
|
|
992
|
+
for rel in presentationRelationshipSet.modelRelationships:
|
|
993
|
+
if not rel.arcElement.get("order"):
|
|
994
|
+
yield Validation.warning(
|
|
995
|
+
codes='EDINET.EC5700W.GFM.1.6.1',
|
|
996
|
+
msg=_("The presentation relationship is missing the order attribute"),
|
|
997
|
+
modelObject=rel
|
|
998
|
+
)
|
|
999
|
+
|
|
1000
|
+
|
|
1001
|
+
@validation(
|
|
1002
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
1003
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
1004
|
+
)
|
|
1005
|
+
def rule_gfm_1_6_2(
|
|
1006
|
+
pluginData: PluginValidationDataExtension,
|
|
1007
|
+
val: ValidateXbrl,
|
|
1008
|
+
*args: Any,
|
|
1009
|
+
**kwargs: Any,
|
|
1010
|
+
) -> Iterable[Validation]:
|
|
1011
|
+
"""
|
|
1012
|
+
EDINET.EC5700W: [GFM 1.6.2] Presentation relationships must have unique order attributes
|
|
1013
|
+
"""
|
|
1014
|
+
presentationRelationshipSet = val.modelXbrl.relationshipSet(tuple(LinkbaseType.PRESENTATION.getArcroles()))
|
|
1015
|
+
if presentationRelationshipSet is None:
|
|
1016
|
+
return
|
|
1017
|
+
for modelObject, rels in presentationRelationshipSet.fromModelObjects().items():
|
|
1018
|
+
if len(rels) <= 1:
|
|
1019
|
+
continue
|
|
1020
|
+
relsByOrder = defaultdict(list)
|
|
1021
|
+
for rel in rels:
|
|
1022
|
+
order = rel.arcElement.get("order")
|
|
1023
|
+
if order is not None:
|
|
1024
|
+
relsByOrder[(order, rel.linkrole)].append(rel)
|
|
1025
|
+
for key, orderRels in relsByOrder.items():
|
|
1026
|
+
if len(orderRels) > 1:
|
|
1027
|
+
yield Validation.warning(
|
|
1028
|
+
codes='EDINET.EC5700W.GFM.1.6.2',
|
|
1029
|
+
msg=_("The presentation relationships have the same order attribute: '%(order)s'"),
|
|
1030
|
+
order=key[0],
|
|
1031
|
+
modelObject=orderRels
|
|
1032
|
+
)
|
|
1033
|
+
|
|
1034
|
+
|
|
1035
|
+
@validation(
|
|
1036
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
1037
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
1038
|
+
)
|
|
1039
|
+
def rule_gfm_1_6_5(
|
|
1040
|
+
pluginData: PluginValidationDataExtension,
|
|
1041
|
+
val: ValidateXbrl,
|
|
1042
|
+
*args: Any,
|
|
1043
|
+
**kwargs: Any,
|
|
1044
|
+
) -> Iterable[Validation]:
|
|
1045
|
+
"""
|
|
1046
|
+
EDINET.EC5700W: [GFM 1.6.5] If an element used in an instance is the target in the instance DTS of more than one
|
|
1047
|
+
effective presentation arc in a base set with the same source element, then the
|
|
1048
|
+
presentation arcs must have distinct values of the preferredLabel attribute.
|
|
1049
|
+
"""
|
|
1050
|
+
presentationRelationshipSet = val.modelXbrl.relationshipSet(tuple(LinkbaseType.PRESENTATION.getArcroles()))
|
|
1051
|
+
if presentationRelationshipSet is None:
|
|
1052
|
+
return
|
|
1053
|
+
for modelObject, rels in presentationRelationshipSet.toModelObjects().items():
|
|
1054
|
+
if len(rels) <= 1:
|
|
1055
|
+
continue
|
|
1056
|
+
relsByFrom = defaultdict(list)
|
|
1057
|
+
for rel in rels:
|
|
1058
|
+
relsByFrom[(rel.fromModelObject, rel.preferredLabel, rel.linkrole)].append(rel)
|
|
1059
|
+
for key, fromRels in relsByFrom.items():
|
|
1060
|
+
if len(fromRels) > 1:
|
|
1061
|
+
yield Validation.warning(
|
|
1062
|
+
codes='EDINET.EC5700W.GFM.1.6.5',
|
|
1063
|
+
msg=_("The presentation relationships must have distinct values of the preferredLabel attribute "
|
|
1064
|
+
"when they have the same source and target elements"),
|
|
1065
|
+
modelObject=fromRels
|
|
1066
|
+
)
|
|
1067
|
+
|
|
1068
|
+
|
|
1069
|
+
@validation(
|
|
1070
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
1071
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
1072
|
+
)
|
|
1073
|
+
def rule_gfm_1_7_1(
|
|
1074
|
+
pluginData: PluginValidationDataExtension,
|
|
1075
|
+
val: ValidateXbrl,
|
|
1076
|
+
*args: Any,
|
|
1077
|
+
**kwargs: Any,
|
|
1078
|
+
) -> Iterable[Validation]:
|
|
1079
|
+
"""
|
|
1080
|
+
EDINET.EC5700W: [GFM 1.7.1] All calculation relationships must have an order attribute
|
|
1081
|
+
"""
|
|
1082
|
+
calculationRelationshipSet = val.modelXbrl.relationshipSet(tuple(LinkbaseType.CALCULATION.getArcroles()))
|
|
1083
|
+
if calculationRelationshipSet is None:
|
|
1084
|
+
return
|
|
1085
|
+
for rel in calculationRelationshipSet.modelRelationships:
|
|
1086
|
+
if not rel.arcElement.get("order"):
|
|
1087
|
+
yield Validation.warning(
|
|
1088
|
+
codes='EDINET.EC5700W.GFM.1.7.1',
|
|
1089
|
+
msg=_("The calculation relationship is missing the order attribute"),
|
|
1090
|
+
modelObject=rel
|
|
1091
|
+
)
|
|
1092
|
+
|
|
1093
|
+
|
|
1094
|
+
@validation(
|
|
1095
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
1096
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
1097
|
+
)
|
|
1098
|
+
def rule_gfm_1_7_2(
|
|
1099
|
+
pluginData: PluginValidationDataExtension,
|
|
1100
|
+
val: ValidateXbrl,
|
|
1101
|
+
*args: Any,
|
|
1102
|
+
**kwargs: Any,
|
|
1103
|
+
) -> Iterable[Validation]:
|
|
1104
|
+
"""
|
|
1105
|
+
EDINET.EC5700W: [GFM 1.7.2] All calculation relationships must have a weight of either 1 or -1
|
|
1106
|
+
"""
|
|
1107
|
+
calculationRelationshipSet = val.modelXbrl.relationshipSet(tuple(LinkbaseType.CALCULATION.getArcroles()))
|
|
1108
|
+
if calculationRelationshipSet is None:
|
|
1109
|
+
return
|
|
1110
|
+
for rel in calculationRelationshipSet.modelRelationships:
|
|
1111
|
+
if rel.weight not in [1, -1]:
|
|
1112
|
+
yield Validation.warning(
|
|
1113
|
+
codes='EDINET.EC5700W.GFM.1.7.2',
|
|
1114
|
+
msg=_("The calculation relationship must have a weight of 1 or -1, actual weight: '%(weight)s'"),
|
|
1115
|
+
weight=rel.weight,
|
|
1116
|
+
modelObject=rel
|
|
1117
|
+
)
|
|
1118
|
+
|
|
1119
|
+
|
|
1120
|
+
@validation(
|
|
1121
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
1122
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
1123
|
+
)
|
|
1124
|
+
def rule_gfm_1_7_3(
|
|
1125
|
+
pluginData: PluginValidationDataExtension,
|
|
1126
|
+
val: ValidateXbrl,
|
|
1127
|
+
*args: Any,
|
|
1128
|
+
**kwargs: Any,
|
|
1129
|
+
) -> Iterable[Validation]:
|
|
1130
|
+
"""
|
|
1131
|
+
EDINET.EC5700W: [GFM 1.7.3] The concepts participating in a calculation relationship must have the same period type
|
|
1132
|
+
"""
|
|
1133
|
+
calculationRelationshipSet = val.modelXbrl.relationshipSet(tuple(LinkbaseType.CALCULATION.getArcroles()))
|
|
1134
|
+
if calculationRelationshipSet is None:
|
|
1135
|
+
return
|
|
1136
|
+
for rel in calculationRelationshipSet.modelRelationships:
|
|
1137
|
+
fromConcept = rel.fromModelObject
|
|
1138
|
+
toConcept = rel.toModelObject
|
|
1139
|
+
if fromConcept is not None and toConcept is not None and fromConcept.periodType != toConcept.periodType:
|
|
1140
|
+
yield Validation.warning(
|
|
1141
|
+
codes='EDINET.EC5700W.GFM.1.7.3',
|
|
1142
|
+
msg=_("The concepts participating in a calculation relationship must have the same period types. "
|
|
1143
|
+
"The concept of '%(concept1)s' has a period type of '%(concept1PeriodType)s' and the concept "
|
|
1144
|
+
"of '%(concept2)s' has a period type of '%(concept2PeriodType)s'"),
|
|
1145
|
+
concept1=fromConcept.qname,
|
|
1146
|
+
concept1PeriodType=fromConcept.periodType,
|
|
1147
|
+
concept2=toConcept.qname,
|
|
1148
|
+
concept2PeriodType=toConcept.periodType,
|
|
1149
|
+
modelObject=rel
|
|
1150
|
+
)
|
|
1151
|
+
|
|
1152
|
+
|
|
1153
|
+
@validation(
|
|
1154
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
1155
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
1156
|
+
)
|
|
1157
|
+
def rule_gfm_1_7_6(
|
|
1158
|
+
pluginData: PluginValidationDataExtension,
|
|
1159
|
+
val: ValidateXbrl,
|
|
1160
|
+
*args: Any,
|
|
1161
|
+
**kwargs: Any,
|
|
1162
|
+
) -> Iterable[Validation]:
|
|
1163
|
+
"""
|
|
1164
|
+
EDINET.EC5700W: [GFM 1.7.6] Calculation relationships must have unique order attributes
|
|
1165
|
+
"""
|
|
1166
|
+
calculationRelationshipSet = val.modelXbrl.relationshipSet(tuple(LinkbaseType.CALCULATION.getArcroles()))
|
|
1167
|
+
if calculationRelationshipSet is None:
|
|
1168
|
+
return
|
|
1169
|
+
for modelObject, rels in calculationRelationshipSet.fromModelObjects().items():
|
|
1170
|
+
if len(rels) <= 1:
|
|
1171
|
+
continue
|
|
1172
|
+
relsByOrder = defaultdict(list)
|
|
1173
|
+
for rel in rels:
|
|
1174
|
+
order = rel.arcElement.get("order")
|
|
1175
|
+
if order is not None:
|
|
1176
|
+
relsByOrder[(order, rel.linkrole)].append(rel)
|
|
1177
|
+
for key, orderRels in relsByOrder.items():
|
|
1178
|
+
if len(orderRels) > 1:
|
|
1179
|
+
yield Validation.warning(
|
|
1180
|
+
codes='EDINET.EC5700W.GFM.1.7.6',
|
|
1181
|
+
msg=_("The calculation relationships have the same order attribute: '%(order)s'"),
|
|
1182
|
+
order=key[0],
|
|
1183
|
+
modelObject=orderRels
|
|
1184
|
+
)
|
|
1185
|
+
|
|
1186
|
+
|
|
1187
|
+
@validation(
|
|
1188
|
+
hook=ValidationHook.XBRL_FINALLY,
|
|
1189
|
+
disclosureSystems=[DISCLOSURE_SYSTEM_EDINET],
|
|
1190
|
+
)
|
|
1191
|
+
def rule_gfm_1_8_1(
|
|
1192
|
+
pluginData: PluginValidationDataExtension,
|
|
1193
|
+
val: ValidateXbrl,
|
|
1194
|
+
*args: Any,
|
|
1195
|
+
**kwargs: Any,
|
|
1196
|
+
) -> Iterable[Validation]:
|
|
1197
|
+
"""
|
|
1198
|
+
EDINET.EC5700W: [GFM 1.8.1] All definition relationships must have an order attribute
|
|
1199
|
+
"""
|
|
1200
|
+
definitionRelationshipSet = val.modelXbrl.relationshipSet(tuple(LinkbaseType.DEFINITION.getArcroles()))
|
|
1201
|
+
if definitionRelationshipSet is None:
|
|
1202
|
+
return
|
|
1203
|
+
for rel in definitionRelationshipSet.modelRelationships:
|
|
1204
|
+
if not rel.arcElement.get("order"):
|
|
1205
|
+
yield Validation.warning(
|
|
1206
|
+
codes='EDINET.EC5700W.GFM.1.8.1',
|
|
1207
|
+
msg=_("The definition relationship is missing the order attribute"),
|
|
1208
|
+
modelObject=rel
|
|
1209
|
+
)
|
|
@@ -25,6 +25,7 @@ CO_AUDIT = 'Co.Audit'
|
|
|
25
25
|
CO_AUDIT_NR = 'Co.AuditNR'
|
|
26
26
|
CO_DIR_REP = 'Co.DirReport'
|
|
27
27
|
CO_DIR_RESP = 'Co.DirResp'
|
|
28
|
+
CO_GROUP = 'Co.Group'
|
|
28
29
|
CO_MED_CO = 'Co.MedCo'
|
|
29
30
|
CO_MICRO = 'Co.Micro'
|
|
30
31
|
CO_MISSING_ELEMENT = 'Co.MissingElement'
|
|
@@ -35,6 +36,7 @@ CO_SEC_477 = 'Co.Sec477'
|
|
|
35
36
|
CO_SEC_480 = 'Co.Sec480'
|
|
36
37
|
LP_ABRID = 'Lp.Abrid'
|
|
37
38
|
LP_AUDIT = 'Lp.Audit'
|
|
39
|
+
LP_GROUP = 'Lp.Group'
|
|
38
40
|
LP_MED_LP = 'Lp.MedLp'
|
|
39
41
|
LP_MEM_RESP = 'Lp.MemResp'
|
|
40
42
|
LP_MICRO = 'Lp.Micro'
|
|
@@ -57,19 +59,23 @@ CONCEPT_ACCOUNTS_STATUS_DIMENSION = 'AccountsStatusDimension'
|
|
|
57
59
|
CONCEPT_ACCOUNTS_TYPE_FULL_OR_ABBREVIATED = 'AccountsTypeFullOrAbbreviated' # DEPRECATED IN 2022+ taxonomies. No replacement yet.
|
|
58
60
|
CONCEPT_ACCOUNTS_TYPE_DIMENSION = 'AccountsTypeDimension'
|
|
59
61
|
CONCEPT_ADVERSE_OPINION = 'AdverseOpinion'
|
|
62
|
+
CONCEPT_BALANCE_SHEET_DATE = 'BalanceSheetDate'
|
|
60
63
|
CONCEPT_CHARITY_FUNDS = 'CharityFunds'
|
|
61
64
|
CONCEPT_CHARITY_REGISTRATION_NUMBER_ENGLAND_WALES = 'CharityRegistrationNumberEnglandWales'
|
|
62
65
|
CONCEPT_CHARITY_REGISTRATION_NUMBER_NORTH_IRELAND = 'CharityRegistrationNumberNorthernIreland'
|
|
63
66
|
CONCEPT_CHARITY_REGISTRATION_NUMBER_SCOTLAND = 'CharityRegistrationNumberScotland'
|
|
67
|
+
CONCEPT_CONSOLIDATED = 'Consolidated'
|
|
64
68
|
CONCEPT_DATE_AUDITOR_REPORT = 'DateAuditorsReport'
|
|
65
69
|
CONCEPT_DATE_CHARITY_AUDITORS_REPORT = 'DateCharityAuditorsReport'
|
|
66
70
|
CONCEPT_DATE_SIGNING_DIRECTOR_REPORT = 'DateSigningDirectorsReport'
|
|
67
71
|
CONCEPT_DATE_SIGNING_TRUSTEES_REPORT = 'DateSigningTrusteesAnnualReport'
|
|
68
72
|
CONCEPT_DIRECTOR_SIGNING_DIRECTORS_REPORT = 'DirectorSigningDirectorsReport'
|
|
69
73
|
CONCEPT_DISCLAIMER_OPINION = 'DisclaimerOpinion'
|
|
74
|
+
CONCEPT_END_DATE_FOR_PERIOD_COVERED_BY_REPORT = 'EndDateForPeriodCoveredByReport'
|
|
70
75
|
CONCEPT_ENTITY_DORMANT = 'EntityDormantTruefalse'
|
|
71
76
|
CONCEPT_ENTITY_TRADING_STATUS = 'EntityTradingStatus'
|
|
72
77
|
CONCEPT_ENTITY_TRADING_STATUS_DIMENSION = 'EntityTradingStatusDimension'
|
|
78
|
+
CONCEPT_GROUP_COMPANY_DATA_DIMENSION = 'GroupCompanyDataDimension'
|
|
73
79
|
CONCEPT_LANGUAGES_DIMENSION = 'LanguagesDimension'
|
|
74
80
|
CONCEPT_MEDIUM_COMPANY = 'StatementThatCompanyHasPreparedAccountsUnderProvisionsRelatingToMedium-sizedCompanies'
|
|
75
81
|
CONCEPT_MEDIUM_COMPANIES_REGIME_FOR_ACCOUNTS = 'Medium-sizedCompaniesRegimeForAccounts'
|
|
@@ -646,6 +652,39 @@ class ValidateUK:
|
|
|
646
652
|
)
|
|
647
653
|
return CodeResult()
|
|
648
654
|
|
|
655
|
+
def _evaluateGroupFacts(self) -> CodeResult:
|
|
656
|
+
"""
|
|
657
|
+
BalanceSheetDate with GroupCompanyDataDimension and Consolidated must equal BalanceSheetDate with default
|
|
658
|
+
dimensions. Both facts must be non-nil.
|
|
659
|
+
"""
|
|
660
|
+
consolidatedFact = None
|
|
661
|
+
defaultFact = None
|
|
662
|
+
endDateFact = None
|
|
663
|
+
for fact in self._getFacts(CONCEPT_END_DATE_FOR_PERIOD_COVERED_BY_REPORT):
|
|
664
|
+
if not fact.context.qnameDims:
|
|
665
|
+
endDateFact = fact
|
|
666
|
+
break
|
|
667
|
+
if endDateFact is None:
|
|
668
|
+
return CodeResult()
|
|
669
|
+
for balanceSheetDateFact in self._getFacts(CONCEPT_BALANCE_SHEET_DATE):
|
|
670
|
+
if self._checkValidFact(balanceSheetDateFact):
|
|
671
|
+
if not balanceSheetDateFact.context.qnameDims and balanceSheetDateFact.context.instantDate == endDateFact.context.instantDate:
|
|
672
|
+
defaultFact = balanceSheetDateFact
|
|
673
|
+
for qname, value in balanceSheetDateFact.context.qnameDims.items():
|
|
674
|
+
if value.xValid < VALID:
|
|
675
|
+
continue
|
|
676
|
+
if qname.localName == CONCEPT_GROUP_COMPANY_DATA_DIMENSION and cast(str, value.xValue.localName) == CONCEPT_CONSOLIDATED:
|
|
677
|
+
consolidatedFact = balanceSheetDateFact
|
|
678
|
+
break
|
|
679
|
+
if consolidatedFact is None or defaultFact is None or consolidatedFact.xValue != defaultFact.xValue:
|
|
680
|
+
return CodeResult(
|
|
681
|
+
conceptLocalName=CONCEPT_BALANCE_SHEET_DATE,
|
|
682
|
+
success=False,
|
|
683
|
+
message="A fact tagged with BalanceSheetDate with the dimension of GroupCompanyDataDimension/Consolidated "
|
|
684
|
+
"must equal a fact tagged with BalanceSheetDate with the default dimension."
|
|
685
|
+
)
|
|
686
|
+
return CodeResult()
|
|
687
|
+
|
|
649
688
|
def _evaluateCode(self, code: str) -> CodeResult:
|
|
650
689
|
"""
|
|
651
690
|
Evaluates whether the conditions associated with the given code pass.
|
|
@@ -667,6 +706,8 @@ class ValidateUK:
|
|
|
667
706
|
result = self._evaluateProfLossOrCharityFundsFact(code)
|
|
668
707
|
elif code == CH_AUDIT:
|
|
669
708
|
result = self._evaluateCharAuditFacts()
|
|
709
|
+
elif code in (CO_GROUP, LP_GROUP):
|
|
710
|
+
result = self._evaluateGroupFacts()
|
|
670
711
|
return self._setCode(code, result)
|
|
671
712
|
|
|
672
713
|
def _getFacts(self, conceptLocalName: str) -> list[ModelFact]:
|
|
@@ -831,6 +872,14 @@ class ValidateUK:
|
|
|
831
872
|
self.validateAuditedOtherLLP()
|
|
832
873
|
else:
|
|
833
874
|
self.validateAuditedOtherCompany()
|
|
875
|
+
elif self.scopeAccounts in {
|
|
876
|
+
ScopeAccounts.GROUP_ONLY.value,
|
|
877
|
+
ScopeAccounts.CONSOLIDATED_GROUP.value,
|
|
878
|
+
}:
|
|
879
|
+
if self.legalFormEntity == CONCEPT_LLP:
|
|
880
|
+
self.validateAuditedGroupLLP()
|
|
881
|
+
else:
|
|
882
|
+
self.validateAuditedGroupCompany()
|
|
834
883
|
|
|
835
884
|
def validateCharities(self) -> None:
|
|
836
885
|
"""
|
|
@@ -1271,3 +1320,53 @@ class ValidateUK:
|
|
|
1271
1320
|
result = self._evaluateCode(CO_SM_CO)
|
|
1272
1321
|
if not result.success:
|
|
1273
1322
|
self._errorOnMissingFactText(CO_SM_CO, result)
|
|
1323
|
+
|
|
1324
|
+
def validateAuditedGroupCompany(self) -> None:
|
|
1325
|
+
"""
|
|
1326
|
+
Checks conditions applicable to audited group companies:
|
|
1327
|
+
Co.Audit AND ((Co.DirReport AND Co.ProfLoss AND Co.Group) OR Co.SmCo).
|
|
1328
|
+
"""
|
|
1329
|
+
result = self._evaluateCode(CO_AUDIT)
|
|
1330
|
+
if not result.success:
|
|
1331
|
+
self._yieldErrorOrWarning(CO_AUDIT, result)
|
|
1332
|
+
|
|
1333
|
+
result = self._evaluateCode(CO_SM_CO)
|
|
1334
|
+
if not result.success:
|
|
1335
|
+
failedOr = False
|
|
1336
|
+
dirRepResult = self._evaluateCode(CO_DIR_REP)
|
|
1337
|
+
if not dirRepResult.success:
|
|
1338
|
+
self._yieldErrorOrWarning(CO_DIR_REP, dirRepResult)
|
|
1339
|
+
failedOr = True
|
|
1340
|
+
profLossResult = self._evaluateCode(CO_PROF_LOSS)
|
|
1341
|
+
if not profLossResult.success:
|
|
1342
|
+
self._yieldErrorOrWarning(CO_PROF_LOSS, profLossResult)
|
|
1343
|
+
failedOr = True
|
|
1344
|
+
groupResult = self._evaluateCode(CO_GROUP)
|
|
1345
|
+
if not groupResult.success:
|
|
1346
|
+
self._yieldErrorOrWarning(CO_GROUP, groupResult)
|
|
1347
|
+
failedOr = True
|
|
1348
|
+
if failedOr:
|
|
1349
|
+
self._errorOnMissingFactText(CO_SM_CO, result)
|
|
1350
|
+
|
|
1351
|
+
def validateAuditedGroupLLP(self) -> None:
|
|
1352
|
+
"""
|
|
1353
|
+
Checks conditions applicable to audited group companies:
|
|
1354
|
+
LP.Audit AND ((LP.ProfLoss+LP.Group) OR LP.SmLp)
|
|
1355
|
+
"""
|
|
1356
|
+
result = self._evaluateCode(LP_AUDIT)
|
|
1357
|
+
if not result.success:
|
|
1358
|
+
self._yieldErrorOrWarning(LP_AUDIT, result)
|
|
1359
|
+
|
|
1360
|
+
result = self._evaluateCode(LP_SM_LP)
|
|
1361
|
+
if not result.success:
|
|
1362
|
+
failedOr = False
|
|
1363
|
+
profLossResult = self._evaluateCode(LP_PROF_LOSS)
|
|
1364
|
+
if not profLossResult.success:
|
|
1365
|
+
self._yieldErrorOrWarning(LP_PROF_LOSS, profLossResult)
|
|
1366
|
+
failedOr = True
|
|
1367
|
+
groupResult = self._evaluateCode(LP_GROUP)
|
|
1368
|
+
if not groupResult.success:
|
|
1369
|
+
self._yieldErrorOrWarning(LP_GROUP, groupResult)
|
|
1370
|
+
failedOr = True
|
|
1371
|
+
if failedOr:
|
|
1372
|
+
self._errorOnMissingFactText(LP_SM_LP, result)
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
'''
|
|
2
|
-
See COPYRIGHT.md for copyright information.
|
|
3
|
-
|
|
4
|
-
Implementation of ISO 17442:2012(E) Appendix A
|
|
5
|
-
|
|
6
|
-
'''
|
|
7
|
-
import regex as re
|
|
8
|
-
|
|
9
|
-
LEI_VALID = 0
|
|
10
|
-
LEI_INVALID_LEXICAL = 1
|
|
11
|
-
LEI_INVALID_CHECKSUM = 2
|
|
12
|
-
|
|
13
|
-
LEI_RESULTS = ("valid", "invalid lexical", "invalid checksum")
|
|
14
|
-
|
|
15
|
-
leiLexicalPattern = re.compile(r"^[0-9A-Z]{18}[0-9]{2}$")
|
|
16
|
-
|
|
17
|
-
validInvalidLeiPattern = re.compile("^(029200720E3M3A4D6D01|029200758D5M0AI3F601|315700X8JQ3IU0NGK501|3157007SCCESQAUH5Z01|315700TCC9NTEP7J8Z01|13250000000000000301|315700ADOXDR5PCY5400|315700A0UB9Q7DOQIZ00|315700BM9Z39TNTGQW00|315700BZ5F7DRYG2UM00|315700B8401GTFFY6X01|315700DJ07P6OX10FK01|315700DKCD4QSKLAMO01|315700D23JL5C1DZNT00|315700EIYO2TLSEGQ700|315700ET7M7VQ4C84R00|315700EZSEA51937KX01|315700GXBGM8DBYKHF01|315700GZA843JXKTJ400|315700G5G24XYL1TXH00|315700HS7WJ1B0SUWM01|315700HXOEOK58E58P01|315700HZU4SMI8LZTU00|315700I3W2AFHP8MNQ01|315700JICZ3SY5SAXX00|315700JKZH6I0067ND01|315700JO5E28SRE00Q01|315700JXUHL9H2C3P700|315700LDDN3RM7Y2MP00|315700LWYOZNQ7V1T100|315700MBYPT6PGKO7M01|315700MW2F0KFR45QW01|315700M5843O6DU83901|315700NNMGS8F3P2CN00|315700N0VEIBHP0NPQ01|315700OASRCM664PAW01|315700OFW4YCOBNX4U01|315700OVW93X0T3HP200|315700O666JVNCQU9X00|315700PLI0I7W8IOV400|315700PN3J57ZUNF1V00|315700PXKOSX7WQV4N00|315700P4N9VSLK5QZV01|315700P40OV6BT045900|315700P6TZOLP92KN801|315700P89WR82VNB8Z00|315700QGM4XWZE1I5N01|315700Q1S8O1UORF9700|315700RK8M4FAHMYAP01|315700RTEHY362KXWJ00|315700SNUXK41WMW5J00|315700S22RGYRIEEOT00|315700S3TF79ALV82F01|315700TF5Z7T28HZJK01|315700TWGZ89LLSRS000|315700TXNX10N8XH4K00|315700T2EEQAPBO0C301|315700T6T49EDM16YO01|315700UJ6N4LGKLNPB00|315700UKZXWXEO126601|315700UYFD5GF9R13F01|315700VG7PTE9EJJRX01|315700VITYR7AL4M9S01|315700VMAJZ9JZTXNQ00|315700WH3YMKHCVYW201|315700WKCDF4QGRRO200|315700WR4IHOO1M5LP00|315700WYOZ6994UATN00|315700WZPEIS41QDKE00|315700XEFYMA5EZ0P500|315700XE21UYOA3GAC01|315700XI4Z8GF5BDUJ01|315700XSCP1S8WOD8E01|315700X40GNCOUWJYR00|315700YS6RQ5TF3VBP01|315700Y1W7W1JHAUBW00|315700Y5JNQMMUF5ID01|3157000VAJWZ3P8ZED00|3157001KM8GOU7PXZY01|3157001K2LAL04D87901|3157001MLDD3SDFQA901|3157001TPR6K4GBTLN00|31570010000000006400|31570010000000009601|31570010000000019301|31570010000000025800|31570010000000029001|31570010000000035500|31570010000000038701|31570010000000045200|31570010000000048401|31570010000000054900|31570010000000064600|31570010000000067801|31570010000000077501|31570010000000084000|31570010000000087201|31570010000000096901|31570010000000103400|31570010000000106601|31570010000000116301|31570010000000122800|31570010000000126001|3157002CKDQOCIHE5H01|31570020000000005900|31570029808HJVCNFA01|3157003FQSSGS9OZ9E01|3157004PTVTDOKB46401|3157004R6CH6C1P4KX00|3157005RUI28M8FANK00|3157005VJE7A3MBUS201|3157005WT1SENAE17R00|31570058O0Z320C4GZ00|3157006B6JVZ5DFMSN00|3157006DE3SPNIUY9K01|3157006FR3JBBOLOMX01|3157006I3B6RSTPQLI00|3157006KT1EZ15OIXW00|315700659AALVVLVIO01|31570067WSCDST0S3F01|3157008VKYORMUNC5O01|3157008ZY7CW6LVU5J00|3157009FTHFDDK7FHW01|3157009OVCV07O4HXM00|315700T8U7IU4W8J3A01|315700BBRQHDWX6SHZ00|3157008KD17KROO7UT01)$")
|
|
18
|
-
|
|
19
|
-
def checkLei(lei: str) -> int:
|
|
20
|
-
if validInvalidLeiPattern.match(lei):
|
|
21
|
-
return LEI_VALID
|
|
22
|
-
if not leiLexicalPattern.match(lei):
|
|
23
|
-
return LEI_INVALID_LEXICAL
|
|
24
|
-
if not int(
|
|
25
|
-
"".join({"0":"0", "1":"1", "2":"2", "3":"3", "4":"4", "5":"5", "6":"6", "7":"7", "8":"8", "9":"9",
|
|
26
|
-
"A":"10", "B":"11", "C":"12", "D":"13", "E":"14", "F":"15", "G":"16", "H":"17", "I":"18",
|
|
27
|
-
"J":"19", "K":"20", "L":"21", "M":"22", "N":"23", "O":"24", "P":"25", "Q":"26", "R":"27",
|
|
28
|
-
"S":"28", "T":"29", "U":"30", "V":"31", "W":"32", "X":"33", "Y":"34", "Z":"35"
|
|
29
|
-
}[c] for c in lei)
|
|
30
|
-
) % 97 == 1:
|
|
31
|
-
return LEI_INVALID_CHECKSUM
|
|
32
|
-
return LEI_VALID
|
|
33
|
-
|
|
34
|
-
if __name__ == "__main__":
|
|
35
|
-
# test cases
|
|
36
|
-
for lei, name in (
|
|
37
|
-
("001GPB6A9XPE8XJICC14", "Fidelity Advisor Series I"),
|
|
38
|
-
("004L5FPTUREIWK9T2N63", "Hutchin Hill Capital, LP"),
|
|
39
|
-
("00EHHQ2ZHDCFXJCPCL46", "Vanguard Russell 1000 Growth Index Trust"),
|
|
40
|
-
("00GBW0Z2GYIER7DHDS71", "Aristeia Capital, L.L.C."),
|
|
41
|
-
("1S619D6B3ZQIH6MS6B47", "Barclays Vie SA"),
|
|
42
|
-
("21380014JAZAUFJRHC43", "BRE/OPERA HOLDINGS"),
|
|
43
|
-
("21380016W7GAG26FIJ74", "SOCIETE FRANCAISE ET SUISSE"),
|
|
44
|
-
("21380058ERUIT9H53T71", "TOTAN ICAP CO., LTD"),
|
|
45
|
-
("213800A9GT65GAES2V60", "BARCLAYS SECURITIES JAPAN LIMITED"),
|
|
46
|
-
("213800DELL1MWFDHVN53", "PIRELLI JAPAN"),
|
|
47
|
-
("213800A9GT65GAES2V60", "BARCLAYS SECURITIES JAPAN LIMITED"),
|
|
48
|
-
("214800A9GT65GAES2V60", "Error 1"),
|
|
49
|
-
("213800A9GT65GAE%2V60", "Error 2"),
|
|
50
|
-
("213800A9GT65GAES2V62", "Error 3"),
|
|
51
|
-
("1234", "Error 4"),
|
|
52
|
-
("""
|
|
53
|
-
5299003M8JKHEFX58Y02""", "Error 4")
|
|
54
|
-
):
|
|
55
|
-
print ("LEI {} result {} name {}".format(lei, LEI_RESULTS[checkLei(lei)], name) )
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|