arelle-release 2.37.68__tar.gz → 2.37.69__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.

Files changed (707) hide show
  1. {arelle_release-2.37.68 → arelle_release-2.37.69}/PKG-INFO +1 -1
  2. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/CntlrCmdLine.py +5 -3
  3. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/CntlrWinMain.py +6 -0
  4. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/Validate.py +9 -12
  5. arelle_release-2.37.69/arelle/ValidateFileSource.py +38 -0
  6. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/_version.py +3 -3
  7. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/packages/report/ReportPackage.py +3 -7
  8. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/Constants.py +36 -8
  9. arelle_release-2.37.69/arelle/plugin/validate/EDINET/FilingFormat.py +275 -0
  10. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/FormType.py +53 -0
  11. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/ManifestInstance.py +25 -1
  12. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +62 -45
  13. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/ReportFolderType.py +2 -2
  14. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/__init__.py +1 -9
  15. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/rules/contexts.py +60 -1
  16. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/rules/edinet.py +124 -4
  17. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/rules/gfm.py +43 -2
  18. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/rules/upload.py +45 -43
  19. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/PluginHooks.py +3 -4
  20. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/validate/Validation.py +9 -0
  21. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/validate/ValidationPlugin.py +3 -6
  22. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle_release.egg-info/PKG-INFO +1 -1
  23. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle_release.egg-info/SOURCES.txt +1 -0
  24. arelle_release-2.37.68/arelle/plugin/validate/EDINET/FilingFormat.py +0 -253
  25. {arelle_release-2.37.68 → arelle_release-2.37.69}/.gitignore +0 -0
  26. {arelle_release-2.37.68 → arelle_release-2.37.69}/CONTRIBUTING.md +0 -0
  27. {arelle_release-2.37.68 → arelle_release-2.37.69}/COPYRIGHT.md +0 -0
  28. {arelle_release-2.37.68 → arelle_release-2.37.69}/LICENSE.md +0 -0
  29. {arelle_release-2.37.68 → arelle_release-2.37.69}/MANIFEST.in +0 -0
  30. {arelle_release-2.37.68 → arelle_release-2.37.69}/README.md +0 -0
  31. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/Aspect.py +0 -0
  32. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/BetaFeatures.py +0 -0
  33. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/Cntlr.py +0 -0
  34. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/CntlrComServer.py +0 -0
  35. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/CntlrProfiler.py +0 -0
  36. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/CntlrQuickBooks.py +0 -0
  37. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/CntlrWebMain.py +0 -0
  38. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/CntlrWinTooltip.py +0 -0
  39. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogAbout.py +0 -0
  40. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogArcroleGroup.py +0 -0
  41. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogFind.py +0 -0
  42. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogFormulaParameters.py +0 -0
  43. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogLanguage.py +0 -0
  44. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogNewFactItem.py +0 -0
  45. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogOpenArchive.py +0 -0
  46. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogPackageManager.py +0 -0
  47. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogPluginManager.py +0 -0
  48. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogRssWatch.py +0 -0
  49. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogURL.py +0 -0
  50. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DialogUserPassword.py +0 -0
  51. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/DisclosureSystem.py +0 -0
  52. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ErrorManager.py +0 -0
  53. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/FileSource.py +0 -0
  54. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/FunctionCustom.py +0 -0
  55. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/FunctionFn.py +0 -0
  56. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/FunctionIxt.py +0 -0
  57. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/FunctionUtil.py +0 -0
  58. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/FunctionXfi.py +0 -0
  59. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/FunctionXs.py +0 -0
  60. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/HashUtil.py +0 -0
  61. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/HtmlUtil.py +0 -0
  62. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/InstanceAspectsEvaluator.py +0 -0
  63. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/LeiUtil.py +0 -0
  64. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/LinkbaseType.py +0 -0
  65. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/LocalViewer.py +0 -0
  66. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/Locale.py +0 -0
  67. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelDocument.py +0 -0
  68. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelDtsObject.py +0 -0
  69. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelFormulaObject.py +0 -0
  70. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelInstanceObject.py +0 -0
  71. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelManager.py +0 -0
  72. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelObject.py +0 -0
  73. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelObjectFactory.py +0 -0
  74. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelRelationshipSet.py +0 -0
  75. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelRenderingObject.py +0 -0
  76. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelRssItem.py +0 -0
  77. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelRssObject.py +0 -0
  78. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelTestcaseObject.py +0 -0
  79. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelValue.py +0 -0
  80. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelVersObject.py +0 -0
  81. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelVersReport.py +0 -0
  82. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ModelXbrl.py +0 -0
  83. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/PackageManager.py +0 -0
  84. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/PluginManager.py +0 -0
  85. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/PluginUtils.py +0 -0
  86. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/PrototypeDtsObject.py +0 -0
  87. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/PrototypeInstanceObject.py +0 -0
  88. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/PythonUtil.py +0 -0
  89. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/RuntimeOptions.py +0 -0
  90. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/SocketUtils.py +0 -0
  91. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/SystemInfo.py +0 -0
  92. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/TableStructure.py +0 -0
  93. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/TkTableWrapper.py +0 -0
  94. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/UITkTable.py +0 -0
  95. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/UiUtil.py +0 -0
  96. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/Updater.py +0 -0
  97. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/UrlUtil.py +0 -0
  98. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateDuplicateFacts.py +0 -0
  99. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateFilingText.py +0 -0
  100. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateInfoset.py +0 -0
  101. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateUtr.py +0 -0
  102. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateVersReport.py +0 -0
  103. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateXbrl.py +0 -0
  104. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateXbrlCalcs.py +0 -0
  105. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateXbrlDTS.py +0 -0
  106. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ValidateXbrlDimensions.py +0 -0
  107. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/Version.py +0 -0
  108. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFile.py +0 -0
  109. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileConcepts.py +0 -0
  110. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileDTS.py +0 -0
  111. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileFactList.py +0 -0
  112. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileFactTable.py +0 -0
  113. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileFormulae.py +0 -0
  114. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileRelationshipSet.py +0 -0
  115. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileRenderedGrid.py +0 -0
  116. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileRenderedLayout.py +0 -0
  117. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileRenderedStructure.py +0 -0
  118. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileRoleTypes.py +0 -0
  119. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileRssFeed.py +0 -0
  120. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewFileTests.py +0 -0
  121. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewUtil.py +0 -0
  122. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewUtilFormulae.py +0 -0
  123. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinConcepts.py +0 -0
  124. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinDTS.py +0 -0
  125. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinDiffs.py +0 -0
  126. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinFactGrid.py +0 -0
  127. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinFactList.py +0 -0
  128. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinFactTable.py +0 -0
  129. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinFormulae.py +0 -0
  130. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinGrid.py +0 -0
  131. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinList.py +0 -0
  132. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinPane.py +0 -0
  133. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinProperties.py +0 -0
  134. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinRelationshipSet.py +0 -0
  135. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinRenderedGrid.py +0 -0
  136. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinRoleTypes.py +0 -0
  137. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinRssFeed.py +0 -0
  138. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinTests.py +0 -0
  139. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinTkTable.py +0 -0
  140. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinTree.py +0 -0
  141. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinTupleGrid.py +0 -0
  142. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinVersReport.py +0 -0
  143. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/ViewWinXml.py +0 -0
  144. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/WatchRss.py +0 -0
  145. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/WebCache.py +0 -0
  146. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/XbrlConst.py +0 -0
  147. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/XbrlUtil.py +0 -0
  148. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/XhtmlValidate.py +0 -0
  149. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/XmlUtil.py +0 -0
  150. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/XmlValidate.py +0 -0
  151. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/XmlValidateConst.py +0 -0
  152. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/XmlValidateParticles.py +0 -0
  153. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/XmlValidateSchema.py +0 -0
  154. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/__init__.py +0 -0
  155. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/api/Session.py +0 -0
  156. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/creationSoftwareNames.json +0 -0
  157. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/disclosuresystems.xml +0 -0
  158. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/disclosuresystems.xsd +0 -0
  159. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/edbody.dtd +0 -0
  160. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/empty-instance.xml +0 -0
  161. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/erxl.xsd +0 -0
  162. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/mappings.xml +0 -0
  163. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/mappings.xsd +0 -0
  164. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/sbr-text-formatting.xsd +0 -0
  165. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/xbrlschemafiles.xml +0 -0
  166. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/xhtml-lat1.ent +0 -0
  167. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/xhtml-special.ent +0 -0
  168. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/xhtml-symbol.ent +0 -0
  169. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/xhtml1-strict-ix.dtd +0 -0
  170. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/config/xhtml1_1-strict-ix.dtd +0 -0
  171. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/conformance/CSVTestcaseLoader.py +0 -0
  172. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/doc/messagesCatalog.xml +0 -0
  173. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/doc/messagesCatalog.xsd +0 -0
  174. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/formula/FactAspectsCache.py +0 -0
  175. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/formula/FormulaConsisAsser.py +0 -0
  176. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/formula/FormulaEvaluator.py +0 -0
  177. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/formula/ValidateFormula.py +0 -0
  178. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/formula/XPathContext.py +0 -0
  179. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/formula/XPathParser.py +0 -0
  180. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/formula/__init__.py +0 -0
  181. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle-full-word.ico +0 -0
  182. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle-mac-icon-4.gif +0 -0
  183. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle-rtd.png +0 -0
  184. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle-word-only.ico +0 -0
  185. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle.gif +0 -0
  186. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle.icns +0 -0
  187. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle.icns.zip +0 -0
  188. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle.ico +0 -0
  189. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle.xbm +0 -0
  190. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle128.psd +0 -0
  191. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle16.psd +0 -0
  192. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle16x16and32x32.ico +0 -0
  193. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/arelle32.gif +0 -0
  194. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/columnSortDown.gif +0 -0
  195. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/columnSortUp.gif +0 -0
  196. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/dmg_background.png +0 -0
  197. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/favicon.ico +0 -0
  198. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/octocat.png +0 -0
  199. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/python-clear.png +0 -0
  200. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/python-icon-pack-crystalxp.net-842.zip +0 -0
  201. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarClose.gif +0 -0
  202. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarCompare.gif +0 -0
  203. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarDelete.gif +0 -0
  204. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarFindMenu.gif +0 -0
  205. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarLogClear - 1-piece-top.gif +0 -0
  206. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarLogClear-orig.gif +0 -0
  207. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarLogClear.gif +0 -0
  208. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarNewFile.gif +0 -0
  209. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarOpenDatabase.gif +0 -0
  210. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarOpenFile.gif +0 -0
  211. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarOpenWeb.gif +0 -0
  212. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarProperties.gif +0 -0
  213. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarQuit.gif +0 -0
  214. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarReopen.gif +0 -0
  215. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarSaveFile.gif +0 -0
  216. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/toolbarValidate.gif +0 -0
  217. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/xbrl.gif +0 -0
  218. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/xbrl.psd +0 -0
  219. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/xbrl128-2.gif +0 -0
  220. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/xbrl128.gif +0 -0
  221. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/xbrl16.ico +0 -0
  222. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/images/xbrl32.ico +0 -0
  223. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/ar_EG/LC_MESSAGES/ar_EG.po +0 -0
  224. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/ar_EG/LC_MESSAGES/arelle.mo +0 -0
  225. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/es/LC_MESSAGES/arelle.mo +0 -0
  226. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/fr/LC_MESSAGES/arelle.mo +0 -0
  227. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/fr/LC_MESSAGES/fr.po +0 -0
  228. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/messages.mo +0 -0
  229. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/messages.pot +0 -0
  230. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/ru/LC_MESSAGES/arelle.mo +0 -0
  231. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/locale/ru/LC_MESSAGES/ru.po +0 -0
  232. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/logging/formatters/LogFormatter.py +0 -0
  233. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/logging/handlers/LogHandlerWithXml.py +0 -0
  234. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/logging/handlers/LogToBufferHandler.py +0 -0
  235. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/logging/handlers/LogToPrintHandler.py +0 -0
  236. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/logging/handlers/LogToXmlHandler.py +0 -0
  237. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/logging/handlers/StructuredMessageLogHandler.py +0 -0
  238. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/model/CommentBase.py +0 -0
  239. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/model/ElementBase.py +0 -0
  240. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/model/PIBase.py +0 -0
  241. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/model/__init__.py +0 -0
  242. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/oim/Load.py +0 -0
  243. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/oim/Validate.py +0 -0
  244. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/oim/xml/Save.py +0 -0
  245. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/packages/PackageConst.py +0 -0
  246. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/packages/PackageType.py +0 -0
  247. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/packages/PackageUtils.py +0 -0
  248. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/packages/PackageValidation.py +0 -0
  249. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/packages/report/DetectReportPackage.py +0 -0
  250. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/packages/report/ReportPackageConst.py +0 -0
  251. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/packages/report/ReportPackageValidator.py +0 -0
  252. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/CacheBuilder.py +0 -0
  253. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/EdgarRendererAllReports.py +0 -0
  254. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/ModelValueMore.py +0 -0
  255. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/ValidateDTS.py +0 -0
  256. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/ViewXbrlTxmyObj.py +0 -0
  257. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlAbstract.py +0 -0
  258. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlConcept.py +0 -0
  259. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlConst.py +0 -0
  260. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlCube.py +0 -0
  261. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlDimension.py +0 -0
  262. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlDts.py +0 -0
  263. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlEntity.py +0 -0
  264. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlGroup.py +0 -0
  265. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlImportedTaxonomy.py +0 -0
  266. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlLabel.py +0 -0
  267. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlNetwork.py +0 -0
  268. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlProperty.py +0 -0
  269. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlReference.py +0 -0
  270. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlReport.py +0 -0
  271. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlTableTemplate.py +0 -0
  272. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlTaxonomy.py +0 -0
  273. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlTaxonomyObject.py +0 -0
  274. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlTransform.py +0 -0
  275. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlTypes.py +0 -0
  276. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/XbrlUnit.py +0 -0
  277. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/__init__.py +0 -0
  278. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/resources/iso4217.json +0 -0
  279. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/resources/oim-taxonomy-schema.json +0 -0
  280. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/resources/ref.json +0 -0
  281. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/resources/transform-types.json +0 -0
  282. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/resources/types.json +0 -0
  283. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/resources/utr.json +0 -0
  284. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/OimTaxonomy/resources/xbrlSpec.json +0 -0
  285. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/SECCorrespondenceLoader.py +0 -0
  286. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/TDnetLoader.py +0 -0
  287. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/UKCompaniesHouseLoader.py +0 -0
  288. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/formulaLoader.py +0 -0
  289. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/formulaSaver.py +0 -0
  290. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/formulaXPathChecker.py +0 -0
  291. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/functionsMath.py +0 -0
  292. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/inlineXbrlDocumentSet.py +0 -0
  293. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/internet/proxyNTLM/HTTPNtlmAuthHandler.py +0 -0
  294. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/internet/proxyNTLM/U32.py +0 -0
  295. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/internet/proxyNTLM/__init__.py +0 -0
  296. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/internet/proxyNTLM/des.py +0 -0
  297. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/internet/proxyNTLM/des_c.py +0 -0
  298. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/internet/proxyNTLM/des_data.py +0 -0
  299. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/internet/proxyNTLM/lgpl-3.0-standalone.html +0 -0
  300. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/internet/proxyNTLM/ntlm.py +0 -0
  301. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/loadFromExcel.py +0 -0
  302. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/loadFromOIM.py +0 -0
  303. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/logging/dpmSignature.py +0 -0
  304. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/logging/dqcParameters.py +0 -0
  305. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/logging/saveMessages.py +0 -0
  306. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/profileCmdLine.py +0 -0
  307. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/profileFormula.py +0 -0
  308. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/saveCHComponentFile.py +0 -0
  309. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/saveDTS.py +0 -0
  310. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/saveHtmlEBAtables.py +0 -0
  311. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/saveLoadableExcel.py +0 -0
  312. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/saveLoadableOIM.py +0 -0
  313. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/saveOIMTaxonomy.py +0 -0
  314. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/saveSKOS.py +0 -0
  315. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/saveSampleInstance.py +0 -0
  316. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/security/cryptAES_CBC.py +0 -0
  317. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/security/cryptAES_EAX.py +0 -0
  318. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/streamingExtensions.py +0 -0
  319. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/systemInfo.py +0 -0
  320. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/transforms/tester.py +0 -0
  321. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/unpackSecEisFile.py +0 -0
  322. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/CIPC/Const.py +0 -0
  323. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/CIPC/__init__.py +0 -0
  324. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/CIPC/config.xml +0 -0
  325. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/DisclosureSystems.py +0 -0
  326. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/PluginValidationDataExtension.py +0 -0
  327. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/ValidationPluginExtension.py +0 -0
  328. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/__init__.py +0 -0
  329. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/resources/config.xml +0 -0
  330. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/rules/__init__.py +0 -0
  331. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/rules/fr.py +0 -0
  332. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/rules/tc.py +0 -0
  333. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/rules/th.py +0 -0
  334. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/rules/tm.py +0 -0
  335. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/DBA/rules/tr.py +0 -0
  336. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EBA/__init__.py +0 -0
  337. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EBA/config.xml +0 -0
  338. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/ContextRequirement.py +0 -0
  339. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/ControllerPluginData.py +0 -0
  340. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/CoverItemRequirements.py +0 -0
  341. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/DeiRequirements.py +0 -0
  342. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/DisclosureSystems.py +0 -0
  343. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/Statement.py +0 -0
  344. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/TableOfContentsBuilder.py +0 -0
  345. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/UploadContents.py +0 -0
  346. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/ValidationPluginExtension.py +0 -0
  347. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/resources/config.xml +0 -0
  348. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/resources/cover-item-requirements.json +0 -0
  349. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/resources/dei-requirements.csv +0 -0
  350. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml +0 -0
  351. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/rules/__init__.py +0 -0
  352. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/rules/frta.py +0 -0
  353. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/EDINET/rules/manifests.py +0 -0
  354. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/Const.py +0 -0
  355. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/Dimensions.py +0 -0
  356. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/ESEF_2021/DTS.py +0 -0
  357. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/ESEF_2021/Image.py +0 -0
  358. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/ESEF_2021/ValidateXbrlFinally.py +0 -0
  359. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/ESEF_2021/__init__.py +0 -0
  360. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/ESEF_Current/DTS.py +0 -0
  361. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/ESEF_Current/ValidateXbrlFinally.py +0 -0
  362. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/ESEF_Current/__init__.py +0 -0
  363. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/Util.py +0 -0
  364. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/__init__.py +0 -0
  365. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/resources/authority-validations.json +0 -0
  366. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ESEF/resources/config.xml +0 -0
  367. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/FERC/__init__.py +0 -0
  368. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/FERC/config.xml +0 -0
  369. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/FERC/resources/ferc-utr.xml +0 -0
  370. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/DisclosureSystems.py +0 -0
  371. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/PluginValidationDataExtension.py +0 -0
  372. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/ValidationPluginExtension.py +0 -0
  373. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/__init__.py +0 -0
  374. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/resources/config.xml +0 -0
  375. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/rules/__init__.py +0 -0
  376. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/rules/br_kvk.py +0 -0
  377. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/rules/fg_nl.py +0 -0
  378. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/rules/fr_kvk.py +0 -0
  379. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/rules/fr_nl.py +0 -0
  380. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/NL/rules/nl_kvk.py +0 -0
  381. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ROS/DisclosureSystems.py +0 -0
  382. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ROS/PluginValidationDataExtension.py +0 -0
  383. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ROS/ValidationPluginExtension.py +0 -0
  384. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ROS/__init__.py +0 -0
  385. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ROS/config.xml +0 -0
  386. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ROS/resources/config.xml +0 -0
  387. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ROS/rules/__init__.py +0 -0
  388. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/ROS/rules/ros.py +0 -0
  389. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/UK/ValidateUK.py +0 -0
  390. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/UK/__init__.py +0 -0
  391. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/UK/config.xml +0 -0
  392. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/UK/consistencyChecksByName.json +0 -0
  393. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/validate/UK/hmrc-taxonomies.xml +0 -0
  394. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/DialogRssWatchExtender.py +0 -0
  395. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/SqlDb.py +0 -0
  396. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/XbrlDpmSqlDB.py +0 -0
  397. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/XbrlOpenSqlDB.py +0 -0
  398. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/XbrlPublicPostgresDB.py +0 -0
  399. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/XbrlSemanticGraphDB.py +0 -0
  400. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/XbrlSemanticJsonDB.py +0 -0
  401. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/XbrlSemanticRdfDB.py +0 -0
  402. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/XbrlSemanticSqlDB.py +0 -0
  403. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/__init__.py +0 -0
  404. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/entityInformation.py +0 -0
  405. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/ext/china.py +0 -0
  406. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/ext/edgar.py +0 -0
  407. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/ext/xdc.py +0 -0
  408. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/primaryDocumentFacts.py +0 -0
  409. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/open/ext/chinaPostgresDB.ddl +0 -0
  410. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/open/ext/edgarPostgresDB.ddl +0 -0
  411. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/open/ext/xdcPostgresDB.ddl +0 -0
  412. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/open/xbrlOpenPostgresDB.ddl +0 -0
  413. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/open2/xbrlOpen2PostgresDB.ddl +0 -0
  414. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/public/xbrlPublicPostgresDB.ddl +0 -0
  415. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/semantic/secDatabaseModelViews.sql +0 -0
  416. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticColumnComments.ddl +0 -0
  417. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMSSqlDB.sql +0 -0
  418. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticMySqlDB.ddl +0 -0
  419. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticOracleDB.sql +0 -0
  420. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticPostgresDB.ddl +0 -0
  421. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/sql/semantic/xbrlSemanticSQLiteDB.ddl +0 -0
  422. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xbrlDB/tableFacts.py +0 -0
  423. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/plugin/xuleSaver.py +0 -0
  424. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/rendering/RenderingEvaluator.py +0 -0
  425. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/rendering/RenderingLayout.py +0 -0
  426. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/rendering/RenderingResolution.py +0 -0
  427. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.eurofiling.info/eu/fr/xbrl/ext/filing-indicators.xsd +0 -0
  428. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.w3.org/2001/03/xml.xsd +0 -0
  429. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.w3.org/2001/XMLSchema.xsd +0 -0
  430. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.w3.org/2001/xml.xsd +0 -0
  431. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd +0 -0
  432. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd +0 -0
  433. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2003/xl-2003-12-31.xsd +0 -0
  434. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2003/xlink-2003-12-31.xsd +0 -0
  435. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2004/ref-2004-08-10.xsd +0 -0
  436. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2005/xbrldt-2005.xsd +0 -0
  437. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2006/ref-2006-02-27.xsd +0 -0
  438. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2006/xbrldi-2006.xsd +0 -0
  439. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/boolean-filter.xsd +0 -0
  440. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/concept-filter.xsd +0 -0
  441. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/conformance.xsd +0 -0
  442. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/conformanceFunction.xsd +0 -0
  443. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/consistency-assertion.xsd +0 -0
  444. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/dimension-filter.xsd +0 -0
  445. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/entity-filter.xsd +0 -0
  446. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/existence-assertion.xsd +0 -0
  447. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/formula.xsd +0 -0
  448. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/function.xsd +0 -0
  449. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/general-filter.xsd +0 -0
  450. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/generic-label.xsd +0 -0
  451. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/generic-link.xsd +0 -0
  452. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/generic-reference.xsd +0 -0
  453. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
  454. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
  455. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xl-2003-12-31.xsd +0 -0
  456. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xbrl/xlink-2003-12-31.xsd +0 -0
  457. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xframes-1.xsd +0 -0
  458. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-applet-1.xsd +0 -0
  459. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-attribs-1.xsd +0 -0
  460. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-base-1.xsd +0 -0
  461. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-form-1.xsd +0 -0
  462. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic-table-1.xsd +0 -0
  463. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-model-1.xsd +0 -0
  464. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
  465. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10-modules-1.xsd +0 -0
  466. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-basic10.xsd +0 -0
  467. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-bdo-1.xsd +0 -0
  468. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkphras-1.xsd +0 -0
  469. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkpres-1.xsd +0 -0
  470. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-blkstruct-1.xsd +0 -0
  471. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-charent-1.xsd +0 -0
  472. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-copyright-1.xsd +0 -0
  473. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-csismap-1.xsd +0 -0
  474. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-datatypes-1.xsd +0 -0
  475. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-edit-1.xsd +0 -0
  476. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-events-1.xsd +0 -0
  477. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-form-1.xsd +0 -0
  478. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-frames-1.xsd +0 -0
  479. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-framework-1.xsd +0 -0
  480. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-hypertext-1.xsd +0 -0
  481. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-iframe-1.xsd +0 -0
  482. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-image-1.xsd +0 -0
  483. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlphras-1.xsd +0 -0
  484. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlpres-1.xsd +0 -0
  485. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstruct-1.xsd +0 -0
  486. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-inlstyle-1.xsd +0 -0
  487. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-legacy-1.xsd +0 -0
  488. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-link-1.xsd +0 -0
  489. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-list-1.xsd +0 -0
  490. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-meta-1.xsd +0 -0
  491. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-misc-1.xsd +0 -0
  492. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-nameident-1.xsd +0 -0
  493. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-notations-1.xsd +0 -0
  494. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-object-1.xsd +0 -0
  495. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-param-1.xsd +0 -0
  496. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-pres-1.xsd +0 -0
  497. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-1.xsd +0 -0
  498. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ruby-basic-1.xsd +0 -0
  499. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-script-1.xsd +0 -0
  500. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-ssismap-1.xsd +0 -0
  501. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-struct-1.xsd +0 -0
  502. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-style-1.xsd +0 -0
  503. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-table-1.xsd +0 -0
  504. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-target-1.xsd +0 -0
  505. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml-text-1.xsd +0 -0
  506. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-model-1.xsd +0 -0
  507. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-module-redefines-1.xsd +0 -0
  508. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11-modules-1.xsd +0 -0
  509. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml11.xsd +0 -0
  510. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xhtml2.xsd +0 -0
  511. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-1.xsd +0 -0
  512. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-2.xsd +0 -0
  513. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-1.xsd +0 -0
  514. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-attribs-2.xsd +0 -0
  515. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-1.xsd +0 -0
  516. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-events-copyright-2.xsd +0 -0
  517. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml/xml-handlers-2.xsd +0 -0
  518. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-definitions.xsd +0 -0
  519. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-model.xsd +0 -0
  520. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0-modules.xsd +0 -0
  521. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/inlinexbrl/xhtml-inlinexbrl-1_0.xsd +0 -0
  522. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/match-filter.xsd +0 -0
  523. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/period-filter.xsd +0 -0
  524. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/registry.xsd +0 -0
  525. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/relative-filter.xsd +0 -0
  526. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/segment-scenario-filter.xsd +0 -0
  527. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/tuple-filter.xsd +0 -0
  528. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/unit-filter.xsd +0 -0
  529. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/validation.xsd +0 -0
  530. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/value-assertion.xsd +0 -0
  531. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/value-filter.xsd +0 -0
  532. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2008/variable.xsd +0 -0
  533. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2010/aspect-cover-filter.xsd +0 -0
  534. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2010/concept-relation-filter.xsd +0 -0
  535. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2010/custom-function-implementation.xsd +0 -0
  536. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2010/generic-message.xsd +0 -0
  537. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2010/validation-message.xsd +0 -0
  538. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-instance-2003-12-31-ixmod.xsd +0 -0
  539. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xbrl-linkbase-2003-12-31-ixmod.xsd +0 -0
  540. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xl-2003-12-31.xsd +0 -0
  541. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xbrl/xlink-2003-12-31.xsd +0 -0
  542. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xframes-1.xsd +0 -0
  543. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-applet-1.xsd +0 -0
  544. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-attribs-1.xsd +0 -0
  545. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-base-1.xsd +0 -0
  546. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-form-1.xsd +0 -0
  547. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic-table-1.xsd +0 -0
  548. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-model-1.xsd +0 -0
  549. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-module-redefines-1.xsd +0 -0
  550. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10-modules-1.xsd +0 -0
  551. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-basic10.xsd +0 -0
  552. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-bdo-1.xsd +0 -0
  553. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkphras-1.xsd +0 -0
  554. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkpres-1.xsd +0 -0
  555. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-blkstruct-1.xsd +0 -0
  556. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-charent-1.xsd +0 -0
  557. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-copyright-1.xsd +0 -0
  558. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-csismap-1.xsd +0 -0
  559. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-datatypes-1.xsd +0 -0
  560. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-edit-1.xsd +0 -0
  561. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-events-1.xsd +0 -0
  562. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-form-1.xsd +0 -0
  563. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-frames-1.xsd +0 -0
  564. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-framework-1.xsd +0 -0
  565. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-hypertext-1.xsd +0 -0
  566. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-iframe-1.xsd +0 -0
  567. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-image-1.xsd +0 -0
  568. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlphras-1.xsd +0 -0
  569. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlpres-1.xsd +0 -0
  570. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstruct-1.xsd +0 -0
  571. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-inlstyle-1.xsd +0 -0
  572. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-legacy-1.xsd +0 -0
  573. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-link-1.xsd +0 -0
  574. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-list-1.xsd +0 -0
  575. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-meta-1.xsd +0 -0
  576. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-misc-1.xsd +0 -0
  577. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-nameident-1.xsd +0 -0
  578. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-notations-1.xsd +0 -0
  579. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-object-1.xsd +0 -0
  580. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-param-1.xsd +0 -0
  581. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-pres-1.xsd +0 -0
  582. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-1.xsd +0 -0
  583. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ruby-basic-1.xsd +0 -0
  584. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-script-1.xsd +0 -0
  585. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-ssismap-1.xsd +0 -0
  586. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-struct-1.xsd +0 -0
  587. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-style-1.xsd +0 -0
  588. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-table-1.xsd +0 -0
  589. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-target-1.xsd +0 -0
  590. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml-text-1.xsd +0 -0
  591. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-model-1.xsd +0 -0
  592. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-module-redefines-1.xsd +0 -0
  593. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11-modules-1.xsd +0 -0
  594. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml11.xsd +0 -0
  595. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xhtml2.xsd +0 -0
  596. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-1.xsd +0 -0
  597. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-2.xsd +0 -0
  598. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-1.xsd +0 -0
  599. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-attribs-2.xsd +0 -0
  600. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-1.xsd +0 -0
  601. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-events-copyright-2.xsd +0 -0
  602. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml/xml-handlers-2.xsd +0 -0
  603. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-definitions.xsd +0 -0
  604. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-model.xsd +0 -0
  605. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1-modules.xsd +0 -0
  606. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/inlineXBRL/xhtml-inlinexbrl-1_1.xsd +0 -0
  607. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/match-filter.xsd +0 -0
  608. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/preferred-label.xsd +0 -0
  609. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-base.xsd +0 -0
  610. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-details.xsd +0 -0
  611. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-concept-use.xsd +0 -0
  612. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2013/versioning-dimensions.xsd +0 -0
  613. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2014/extensible-enumerations.xsd +0 -0
  614. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2014/table.xsd +0 -0
  615. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2014/tablemodel.xsd +0 -0
  616. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2016/assertion-severity.xsd +0 -0
  617. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2016/severities.xml +0 -0
  618. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package-catalog.xsd +0 -0
  619. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2016/taxonomy-package.xsd +0 -0
  620. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2022/assertion-severity.xsd +0 -0
  621. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/2022/severities.xml +0 -0
  622. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/dtr/type/nonNumeric-2009-12-16.xsd +0 -0
  623. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/dtr/type/numeric-2009-12-16.xsd +0 -0
  624. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/accounting-arcrole-2023-01-04.xsd +0 -0
  625. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/deprecated-2009-12-16.xsd +0 -0
  626. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd +0 -0
  627. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd +0 -0
  628. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/jpfr-arcrole-2007-11-07.xsd +0 -0
  629. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/arcrole/parent-child-2013-09-19.xsd +0 -0
  630. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/deprecated-2009-12-16.xsd +0 -0
  631. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/jpfr-role-2007-11-07.xsd +0 -0
  632. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2008-03-31.xsd +0 -0
  633. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negated-2009-12-16.xsd +0 -0
  634. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/negative-2009-12-16.xsd +0 -0
  635. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/net-2009-12-16.xsd +0 -0
  636. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/positive-2009-12-16.xsd +0 -0
  637. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/property-2022-09-28.xsd +0 -0
  638. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/reference-2009-12-16.xsd +0 -0
  639. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/lrr/role/restated-2006-02-21.xsd +0 -0
  640. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2012-01-30/utr.xml +0 -0
  641. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2012-10-31/utr.xml +0 -0
  642. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2012-11-30/utr.xml +0 -0
  643. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2013-02-28/utr.xml +0 -0
  644. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2013-05-17/utr.xml +0 -0
  645. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2016-08-10/utr.xml +0 -0
  646. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2017-07-12/utr.xml +0 -0
  647. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2021-02-16/utr.xml +0 -0
  648. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2021-12-08/utr.xml +0 -0
  649. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2022-02-16/utr.xml +0 -0
  650. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2022-07-20/utr.xml +0 -0
  651. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2023-12-20/utr.xml +0 -0
  652. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2024-01-31/utr.xml +0 -0
  653. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/2024-10-22/utr.xml +0 -0
  654. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/http/www.xbrl.org/utr/utr.xml +0 -0
  655. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/2005/conformance.xsd +0 -0
  656. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/2020/extensible-enumerations-2.0.xsd +0 -0
  657. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/2023/calculation-1.1.xsd +0 -0
  658. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2020-01-21/types.xsd +0 -0
  659. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2022-03-31/types.xsd +0 -0
  660. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/dtr/type/2024-01-31/types.xsd +0 -0
  661. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-def.xml +0 -0
  662. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators-label.xml +0 -0
  663. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/cache/https/www.xbrl.org/taxonomy/int/filing-indicators/REC/2021-02-03/filing-indicators.xsd +0 -0
  664. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/linux-x86_64/README.txt +0 -0
  665. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/linux-x86_64/html/tkTable.html +0 -0
  666. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/linux-x86_64/libTktable2.11.so +0 -0
  667. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/linux-x86_64/license.txt +0 -0
  668. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/linux-x86_64/pkgIndex.tcl +0 -0
  669. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/linux-x86_64/tkTable.tcl +0 -0
  670. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/linux-x86_64/tktable.py +0 -0
  671. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-arm64/README.txt +0 -0
  672. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-arm64/html/tkTable.html +0 -0
  673. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-arm64/libTktable2.11.dylib +0 -0
  674. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-arm64/license.txt +0 -0
  675. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-arm64/pkgIndex.tcl +0 -0
  676. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-arm64/tkTable.tcl +0 -0
  677. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-arm64/tktable.py +0 -0
  678. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-x86_64/README.txt +0 -0
  679. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-x86_64/html/tkTable.html +0 -0
  680. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-x86_64/libTktable2.11.dylib +0 -0
  681. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-x86_64/license.txt +0 -0
  682. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-x86_64/pkgIndex.tcl +0 -0
  683. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-x86_64/tkTable.tcl +0 -0
  684. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/macos-x86_64/tktable.py +0 -0
  685. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/win-x86_64/Tktable.dll +0 -0
  686. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/win-x86_64/pkgIndex.tcl +0 -0
  687. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/resources/libs/Tktable2.11/win-x86_64/tkTable.tcl +0 -0
  688. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/typing.py +0 -0
  689. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/Contexts.py +0 -0
  690. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/EntryPointDetection.py +0 -0
  691. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/Equivalence.py +0 -0
  692. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/PluginData.py +0 -0
  693. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/Units.py +0 -0
  694. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/__init__.py +0 -0
  695. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/validate/Decorator.py +0 -0
  696. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/validate/DetectScriptsInXhtml.py +0 -0
  697. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/validate/ESEFImage.py +0 -0
  698. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/validate/ValidationUtil.py +0 -0
  699. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/utils/validate/__init__.py +0 -0
  700. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/webserver/__init__.py +0 -0
  701. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle/webserver/bottle.py +0 -0
  702. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle_release.egg-info/dependency_links.txt +0 -0
  703. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle_release.egg-info/entry_points.txt +0 -0
  704. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle_release.egg-info/requires.txt +0 -0
  705. {arelle_release-2.37.68 → arelle_release-2.37.69}/arelle_release.egg-info/top_level.txt +0 -0
  706. {arelle_release-2.37.68 → arelle_release-2.37.69}/pyproject.toml +0 -0
  707. {arelle_release-2.37.68 → arelle_release-2.37.69}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.68
3
+ Version: 2.37.69
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License-Expression: Apache-2.0
@@ -50,6 +50,7 @@ from arelle.BetaFeatures import BETA_FEATURES_AND_DESCRIPTIONS
50
50
  from arelle.Locale import format_string, setApplicationLocale, setDisableRTL
51
51
  from arelle.ModelFormulaObject import FormulaOptions
52
52
  from arelle.ModelValue import qname
53
+ from arelle.ValidateFileSource import ValidateFileSource
53
54
  from arelle.oim.xml.Save import saveOimReportToXmlInstance
54
55
  from arelle.rendering import RenderingEvaluator
55
56
  from arelle.RuntimeOptions import RuntimeOptions, RuntimeOptionsException
@@ -990,9 +991,8 @@ class CntlrCmdLine(Cntlr.Cntlr):
990
991
  for pluginXbrlMethod in PluginManager.pluginClassMethods("CntlrCmdLine.Filing.Start"):
991
992
  pluginXbrlMethod(self, options, filesource, _entrypointFiles, sourceZipStream=sourceZipStream, responseZipStream=responseZipStream)
992
993
 
993
- if options.validate:
994
- for pluginXbrlMethod in PluginManager.pluginClassMethods("Validate.FileSource"):
995
- pluginXbrlMethod(self, filesource, _entrypointFiles)
994
+ if options.validate and filesource is not None:
995
+ ValidateFileSource(self, filesource).validate(options.reportPackage)
996
996
 
997
997
  if len(_entrypointFiles) == 0 and not options.packages:
998
998
  if options.entrypointFile:
@@ -1009,6 +1009,8 @@ class CntlrCmdLine(Cntlr.Cntlr):
1009
1009
  else:
1010
1010
  _entrypointFile = PackageManager.mappedUrl(_entrypointFile)
1011
1011
  filesource = FileSource.openFileSource(_entrypointFile, self, sourceZipStream)
1012
+ if options.validate:
1013
+ ValidateFileSource(self, filesource).validate(options.reportPackage)
1012
1014
  self.entrypointFile = _entrypointFile
1013
1015
  timeNow = XmlUtil.dateunionValue(datetime.datetime.now())
1014
1016
  firstStartedAt = startedAt = time.time()
@@ -18,6 +18,7 @@ from typing import Any
18
18
  import regex as re
19
19
 
20
20
  from arelle import ValidateDuplicateFacts
21
+ from arelle.ValidateFileSource import ValidateFileSource
21
22
  from arelle.logging.formatters.LogFormatter import logRefsFileLines
22
23
  from arelle.utils.EntryPointDetection import parseEntrypointFileInput
23
24
 
@@ -1199,12 +1200,17 @@ class CntlrWinMain (Cntlr.Cntlr):
1199
1200
 
1200
1201
  def backgroundValidate(self):
1201
1202
  from arelle import Validate
1203
+ validatedFileSources = set()
1202
1204
  for loadedModelXbrl in self.modelManager.loadedModelXbrls:
1203
1205
  if loadedModelXbrl.modelDocument:
1204
1206
  startedAt = time.time()
1205
1207
  if loadedModelXbrl.modelDocument.type in ModelDocument.Type.TESTCASETYPES:
1206
1208
  for pluginXbrlMethod in pluginClassMethods("Testcases.Start"):
1207
1209
  pluginXbrlMethod(self, None, loadedModelXbrl)
1210
+ if loadedModelXbrl.fileSource not in validatedFileSources:
1211
+ validatedFileSources.add(loadedModelXbrl.fileSource)
1212
+ ValidateFileSource(self, loadedModelXbrl.fileSource).validate(self.modelManager.validateAllFilesAsReportPackages)
1213
+
1208
1214
  for modelXbrl in [loadedModelXbrl] + getattr(loadedModelXbrl, "supplementalModelXbrls", []):
1209
1215
  priorOutputInstance = modelXbrl.formulaOutputInstance
1210
1216
  modelXbrl.formulaOutputInstance = None # prevent closing on background thread by validateFormula
@@ -14,6 +14,7 @@ from arelle import (FileSource, ModelXbrl, ModelDocument, ModelVersReport, XbrlC
14
14
  ValidateXbrl, ValidateVersReport,
15
15
  ValidateInfoset, ViewFileRenderedLayout, UrlUtil)
16
16
  from arelle.PythonUtil import isLegacyAbs
17
+ from arelle.ValidateFileSource import ValidateFileSource
17
18
  from arelle.formula import ValidateFormula
18
19
  from arelle.ModelDocument import Type, ModelDocumentReference, load as modelDocumentLoad
19
20
  from arelle.ModelDtsObject import ModelResource
@@ -24,7 +25,6 @@ from arelle.ModelTestcaseObject import testcaseVariationsByTarget, ModelTestcase
24
25
  from arelle.ModelValue import (qname, QName)
25
26
  from arelle.PluginManager import pluginClassMethods
26
27
  from arelle.packages.report.DetectReportPackage import isReportPackageExtension
27
- from arelle.packages.report.ReportPackageValidator import ReportPackageValidator
28
28
  from arelle.rendering import RenderingEvaluator
29
29
  from arelle.utils.EntryPointDetection import filesourceEntrypointFiles
30
30
  from arelle.XmlUtil import collapseWhitespace, xmlstring
@@ -126,10 +126,6 @@ class Validate:
126
126
  elif self.modelXbrl.modelDocument.type == Type.RSSFEED:
127
127
  self.validateRssFeed()
128
128
  else:
129
- if self.modelXbrl.fileSource.isReportPackage or self.modelXbrl.modelManager.validateAllFilesAsReportPackages:
130
- rpValidator = ReportPackageValidator(self.modelXbrl.fileSource)
131
- for val in rpValidator.validate():
132
- self.modelXbrl.log(level=val.level.name, codes=val.codes, msg=val.msg, modelXbrl=self.modelXbrl, **val.args)
133
129
  try:
134
130
  self.instValidator.validate(self.modelXbrl, self.modelXbrl.modelManager.formulaOptions.typedParameters(self.modelXbrl.prefixedNamespaces))
135
131
  self.instValidator.close()
@@ -388,10 +384,11 @@ class Validate:
388
384
  pluginXbrlMethod(self, _rptPkgIxdsOptions)
389
385
  reportPackageErrors = False
390
386
  if (filesource.isReportPackage or self.modelXbrl.modelManager.validateAllFilesAsReportPackages) and not _rptPkgIxdsOptions:
391
- rpValidator = ReportPackageValidator(filesource)
392
- for val in rpValidator.validate():
387
+ preLoadingErrorsCount = len(preLoadingErrors)
388
+ fileSourceValidator = ValidateFileSource(self.modelXbrl.modelManager.cntlr, filesource)
389
+ fileSourceValidator.validate(self.modelXbrl.modelManager.validateAllFilesAsReportPackages, preLoadingErrors)
390
+ if len(preLoadingErrors) > preLoadingErrorsCount:
393
391
  reportPackageErrors = True
394
- preLoadingErrors.append(val.codes)
395
392
  if filesource and not filesource.selection and filesource.isArchive:
396
393
  try:
397
394
  if filesource.isTaxonomyPackage or expectTaxonomyPackage:
@@ -399,8 +396,8 @@ class Validate:
399
396
  filesource.select(None) # must select loadable reports (not the taxonomy package itself)
400
397
  elif not filesource.isReportPackage:
401
398
  entrypoints = filesourceEntrypointFiles(filesource)
402
- for pluginXbrlMethod in pluginClassMethods("Validate.FileSource"):
403
- pluginXbrlMethod(self.modelXbrl.modelManager.cntlr, filesource, entrypoints)
399
+ fileSourceValidator = ValidateFileSource(self.modelXbrl.modelManager.cntlr, filesource)
400
+ fileSourceValidator.validate(self.modelXbrl.modelManager.validateAllFilesAsReportPackages, preLoadingErrors)
404
401
  if entrypoints:
405
402
  # resolve an IXDS in entrypoints
406
403
  for pluginXbrlMethod in pluginClassMethods("ModelTestcaseVariation.ArchiveIxds"):
@@ -424,8 +421,8 @@ class Validate:
424
421
  if not reportPackageErrors:
425
422
  assert isinstance(filesource.basefile, str)
426
423
  if entrypoints := filesourceEntrypointFiles(filesource):
427
- for pluginXbrlMethod in pluginClassMethods("Validate.FileSource"):
428
- pluginXbrlMethod(self.modelXbrl.modelManager.cntlr, filesource, entrypoints)
424
+ fileSourceValidator = ValidateFileSource(self.modelXbrl.modelManager.cntlr, filesource)
425
+ fileSourceValidator.validate(self.modelXbrl.modelManager.validateAllFilesAsReportPackages, preLoadingErrors)
429
426
  for pluginXbrlMethod in pluginClassMethods("ModelTestcaseVariation.ArchiveIxds"):
430
427
  pluginXbrlMethod(self, filesource, entrypoints)
431
428
  for entrypoint in entrypoints:
@@ -0,0 +1,38 @@
1
+ """
2
+ See COPYRIGHT.md for copyright information.
3
+ """
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import TYPE_CHECKING
8
+
9
+ from arelle import PluginManager
10
+ from arelle.packages.report.ReportPackageValidator import ReportPackageValidator
11
+
12
+ if TYPE_CHECKING:
13
+ from arelle.Cntlr import Cntlr
14
+ from arelle.FileSource import FileSource
15
+
16
+
17
+ class ValidateFileSource:
18
+ def __init__(self, cntrl: Cntlr, filesource: FileSource):
19
+ self._cntrl = cntrl
20
+ self._filesource = filesource
21
+
22
+ def validate(self, forceValidateAsReportPackages: bool = False, errors: list[str] | None = None) -> None:
23
+ for pluginXbrlMethod in PluginManager.pluginClassMethods("Validate.FileSource"):
24
+ pluginXbrlMethod(self._cntrl, self._filesource)
25
+
26
+ if self._filesource.isReportPackage or forceValidateAsReportPackages:
27
+ rpValidator = ReportPackageValidator(self._filesource)
28
+ for val in rpValidator.validate():
29
+ codes = [val.codes] if isinstance(val.codes, str) else val.codes
30
+ for code in codes:
31
+ self._cntrl.addToLog(
32
+ messageCode=code,
33
+ message=val.msg,
34
+ messageArgs=val.args,
35
+ level=val.level.name,
36
+ )
37
+ if errors is not None:
38
+ errors.append(code)
@@ -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.68'
32
- __version_tuple__ = version_tuple = (2, 37, 68)
31
+ __version__ = version = '2.37.69'
32
+ __version_tuple__ = version_tuple = (2, 37, 69)
33
33
 
34
- __commit_id__ = commit_id = 'g4e7dfe70d'
34
+ __commit_id__ = commit_id = 'g2186c0ae7'
@@ -7,7 +7,7 @@ from __future__ import annotations
7
7
  import json
8
8
  import os
9
9
  import zipfile
10
- from collections import Counter, defaultdict
10
+ from collections import defaultdict
11
11
  from dataclasses import dataclass
12
12
  from pathlib import Path, PurePosixPath
13
13
  from typing import TYPE_CHECKING, Any, cast
@@ -215,15 +215,11 @@ class ReportPackage:
215
215
  if reportPackageJsonFile:
216
216
  reportPackageJson = getPackageJson(filesource, reportPackageJsonFile)
217
217
  reports = getAllReportEntries(filesource, stld)
218
- if reportPackageJsonFile is None and reports is None:
218
+ if reportType == Const.ReportType.UNCONSTRAINED_REPORT_PACKAGE and reportPackageJsonFile is None and reports is None:
219
+ # A zip file, but not a report package.
219
220
  return None
220
- reportEntriesBySubDir = Counter(report.dir for report in reports or [] if not report.isTopLevel)
221
221
  if reports is not None and any(report.isTopLevel for report in reports):
222
222
  reports = [report for report in reports if report.isTopLevel]
223
- if any(subdirCount > 1 for subdirCount in reportEntriesBySubDir.values()):
224
- return None
225
- if reportType and reportType.isConstrained and len(reports or []) > 1:
226
- return None
227
223
  return ReportPackage(
228
224
  reportPackageZip=filesource.fs,
229
225
  stld=stld,
@@ -26,6 +26,8 @@ xhtmlDtdExtension = "xhtml1-strict-ix.dtd"
26
26
 
27
27
  COVER_PAGE_FILENAME_PREFIX = "0000000_header_"
28
28
 
29
+ LC3_NAME_PATTERN = regex.compile(r"^[A-Z][^\][\(\)\*\+\?\/\^\{\}\|@#%^=~`\"';:,<>&$\u00a3\u20ac]*$") # u20ac=Euro, u00a3=pound sterling
30
+
29
31
  PROHIBITED_HTML_ATTRIBUTES = frozenset({
30
32
  'onblur',
31
33
  'onchange',
@@ -82,7 +84,7 @@ NUMERIC_LABEL_ROLES = frozenset({
82
84
  'http://www.xbrl.org/2009/role/negatedTerseLabel',
83
85
  })
84
86
 
85
- PATTERN_CODE = r'(?P<code>[A-Za-z\d]*)'
87
+ PATTERN_CODE = r'(?P<code>[A-Za-z\d]+)'
86
88
  PATTERN_CONSOLIDATED = r'(?P<consolidated>c|n)'
87
89
  PATTERN_COUNT = r'(?P<count>\d{2})'
88
90
  PATTERN_PERIOD_DATE = r'(?P<period_year>\d{4})-(?P<period_month>\d{2})-(?P<period_day>\d{2})'
@@ -91,9 +93,9 @@ PATTERN_FORM = r'(?P<form>\d{6})'
91
93
  PATTERN_LINKBASE = r'(?P<linkbase>lab|lab-en|gla|pre|def|cal)'
92
94
  PATTERN_MAIN = r'(?P<main>\d{7})'
93
95
  PATTERN_NAME = r'(?P<name>[a-z]{6})'
94
- PATTERN_ORDINANCE = r'(?P<ordinance>[a-z]*)'
96
+ PATTERN_ORDINANCE = r'(?P<ordinance>[a-z]+)'
95
97
  PATTERN_PERIOD = r'(?P<period>c|p)' # TODO: Have only seen "c" in sample/public filings, assuming "p" for previous.
96
- PATTERN_REPORT = r'(?P<report>[a-z0-9]*)'
98
+ PATTERN_REPORT = r'(?P<report>[a-z]+)'
97
99
  PATTERN_REPORT_SERIAL = r'(?P<report_serial>\d{3})'
98
100
  PATTERN_SERIAL = r'(?P<serial>\d{3})'
99
101
 
@@ -102,17 +104,29 @@ PATTERN_REPORT_PREFIX = rf'jp{PATTERN_ORDINANCE}{PATTERN_FORM}-{PATTERN_REPORT}'
102
104
  PATTERN_SUFFIX = rf'{PATTERN_REPORT_SERIAL}_{PATTERN_CODE}-{PATTERN_SERIAL}_{PATTERN_PERIOD_DATE}_{PATTERN_COUNT}_{PATTERN_SUBMISSION_DATE}'
103
105
 
104
106
  PATTERN_URI_HOST = r'http:\/\/disclosure\.edinet-fsa\.go\.jp'
105
- PATTERN_AUDIT_URI_PREFIX = rf'jpaud\/{PATTERN_REPORT}\/{PATTERN_PERIOD}{PATTERN_CONSOLIDATED}'
106
- PATTERN_REPORT_URI_PREFIX = rf'jp{PATTERN_ORDINANCE}{PATTERN_FORM}\/{PATTERN_REPORT}'
107
- PATTERN_URI_SUFFIX = rf'{PATTERN_REPORT_SERIAL}\/{PATTERN_CODE}-{PATTERN_SERIAL}\/{PATTERN_PERIOD_DATE}\/{PATTERN_COUNT}\/{PATTERN_SUBMISSION_DATE}'
107
+
108
+ PATTERN_AUDIT_NAMESPACE_PREFIX = rf'jpaud\/{PATTERN_REPORT}\/{PATTERN_PERIOD}{PATTERN_CONSOLIDATED}'
109
+ PATTERN_REPORT_NAMESPACE_PREFIX = rf'jp{PATTERN_ORDINANCE}{PATTERN_FORM}\/{PATTERN_REPORT}'
110
+ PATTERN_NAMESPACE_SUFFIX = rf'{PATTERN_REPORT_SERIAL}\/{PATTERN_CODE}-{PATTERN_SERIAL}\/{PATTERN_PERIOD_DATE}\/{PATTERN_COUNT}\/{PATTERN_SUBMISSION_DATE}'
111
+
112
+ PATTERN_ELR_ID = rf'rol_(?P<root_element_name>[\w]+)(?:-(?P<modifier>[a-zA-Z0-9]+))?(?:-{PATTERN_COUNT})?'
113
+
114
+ # Extension role ID
115
+ # Example: http://disclosure.edinet-fsa.go.jp/role/jpcrp-esr/rol_CoverPage-Modifier-01
116
+ REPORT_ELR_ID_PATTERN = regex.compile(PATTERN_ELR_ID)
117
+
118
+ # Extension role URI
119
+ # Example: http://disclosure.edinet-fsa.go.jp/role/jpdei/rol_RootElementName
120
+ # Example: http://disclosure.edinet-fsa.go.jp/role/jpdei-qrr/rol_RootElementName-Modifier-01
121
+ REPORT_ELR_URI_PATTERN = regex.compile(rf'{PATTERN_URI_HOST}\/role\/jp{PATTERN_ORDINANCE}(?:-{PATTERN_REPORT})?\/{PATTERN_ELR_ID}')
108
122
 
109
123
  # Extension namespace URI for report
110
124
  # Example: http://disclosure.edinet-fsa.go.jp/jpcrp030000/asr/001/X99002-000/2025-03-31/01/2025-06-28
111
- REPORT_NAMESPACE_URI_PATTERN = regex.compile(rf'{PATTERN_URI_HOST}\/{PATTERN_REPORT_URI_PREFIX}\/{PATTERN_URI_SUFFIX}')
125
+ REPORT_NAMESPACE_PATTERN = regex.compile(rf'{PATTERN_URI_HOST}\/{PATTERN_REPORT_NAMESPACE_PREFIX}\/{PATTERN_NAMESPACE_SUFFIX}')
112
126
 
113
127
  # Extension namespace URI for audit report
114
128
  # Example: http://disclosure.edinet-fsa.go.jp/jpaud/aar/cn/001/X99002-000/2025-03-31/01/2025-06-28
115
- AUDIT_NAMESPACE_URI_PATTERN = regex.compile(rf'{PATTERN_URI_HOST}\/{PATTERN_AUDIT_URI_PREFIX}\/{PATTERN_URI_SUFFIX}')
129
+ AUDIT_NAMESPACE_PATTERN = regex.compile(rf'{PATTERN_URI_HOST}\/{PATTERN_AUDIT_NAMESPACE_PREFIX}\/{PATTERN_NAMESPACE_SUFFIX}')
116
130
 
117
131
  # Extension namespace prefix for report
118
132
  # Example: jpcrp040300-ssr_X99005-000
@@ -178,3 +192,17 @@ INDIVIDUAL_CONTEXT_ID_PATTERN = regex.compile(rf'^{PATTERN_CONTEXT_RELATIVE_PERI
178
192
 
179
193
  # Accepted language codes for Japan
180
194
  JAPAN_LANGUAGE_CODES = frozenset({'ja', 'jp', 'ja-jp', 'JA', 'JP', 'JA-JP'})
195
+
196
+ # Half Kana characters taken from JACONV library
197
+ # We define it here because the JACONV library does not allow the constant to be imported
198
+ HALF_KANA = frozenset({'ァ', 'ア', 'ィ', 'イ', 'ゥ', 'ウ', 'ェ', 'エ', 'ォ', 'オ',
199
+ 'カ', 'ガ', 'キ', 'ギ', 'ク', 'グ', 'ケ', 'ゲ', 'コ',
200
+ 'ゴ', 'サ', 'ザ', 'シ', 'ジ', 'ス', 'ズ', 'セ', 'ゼ',
201
+ 'ソ', 'ゾ', 'タ', 'ダ', 'チ', 'ヂ', 'ッ', 'ツ', 'ヅ',
202
+ 'テ', 'デ', 'ト', 'ド', 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ',
203
+ 'バ', 'パ', 'ヒ', 'ビ', 'ピ', 'フ', 'ブ', 'プ', 'ヘ',
204
+ 'ベ', 'ペ', 'ホ', 'ボ', 'ポ', 'マ', 'ミ', 'ム', 'メ',
205
+ 'モ', 'ャ', 'ヤ', 'ュ', 'ユ', 'ョ', 'ヨ', 'ラ', 'リ', 'ル',
206
+ 'レ', 'ロ', 'ワ', 'ヲ', 'ン', 'ー',
207
+ 'ヮ', 'ヰ', 'ヱ', 'ヵ', 'ヶ', 'ヴ', 'ヽ', 'ヾ', '・',
208
+ '「', '」', '。', '、'})
@@ -0,0 +1,275 @@
1
+ """
2
+ See COPYRIGHT.md for copyright information.
3
+ """
4
+ from __future__ import annotations
5
+
6
+ from dataclasses import dataclass
7
+ from enum import Enum
8
+
9
+ from .FormType import FormType
10
+
11
+
12
+ class Ordinance(Enum):
13
+ # Source: ESE140110 Guide Attachment 4
14
+ AUDIT_CERTIFICATION = 'aud'
15
+ CORPORATE_AFFAIRS = 'crp'
16
+ IFRS = 'igp'
17
+ INTERNAL_CONTROL = 'ctl'
18
+ JAPANESE_GAAP = 'pfs'
19
+ LARGE_SHAREHOLDING = 'lvh'
20
+ SPECIFIED_SECURITIES = 'sps'
21
+ TENDER_OFFERS_FOR_SHARES_OTHER = 'too'
22
+ TENDER_OFFERS_FOR_SHARES_OWN = 'toi'
23
+
24
+ @classmethod
25
+ def parse(cls, value: str) -> Ordinance | None:
26
+ try:
27
+ return cls(value)
28
+ except ValueError:
29
+ return None
30
+
31
+
32
+ class DocumentType(Enum):
33
+ # Source: ESE140110 Guide Attachment 4
34
+ ANNUAL_SECURITIES_REPORT = 'asr'
35
+ AUDIT_REPORT = 'aar'
36
+ EXTRAORDINARY_REPORT = 'esr'
37
+ INTERIM_AND_INTERNAL_CONTROL_AUDIT_REPORT = 'aai'
38
+ INTERIM_AUDIT_REPORT = 'sar'
39
+ INTERNAL_CONTROL_AUDIT_REPORT = 'iar'
40
+ INTERNAL_CONTROL_REPORT = 'icr'
41
+ LARGE_SHAREHOLDING_REPORT = 'lvh'
42
+ OPINION_STATEMENT = 'pst'
43
+ QUARTERLY_REPORT = 'qsr' # Deprecated?
44
+ QUARTERLY_REVIEW_REPORT = 'qrr'
45
+ RESPONSE_TO_QUESTIONS_REPORT = 'toa'
46
+ SECURITIES_REGISTRATION_STATEMENT = 'srs'
47
+ SECURITIES_REGISTRATION_STATEMENT_DEEMED = 'drs'
48
+ SEMI_ANNUAL_REPORT = 'ssr'
49
+ SHARE_REPURCHASE_STATUS_REPORT = 'sbr'
50
+ SHELF_REGISTRATION_STATEMENT = 'rst'
51
+ SHELF_REGISTRATION_SUPPLEMENT = 'rep'
52
+ TENDER_OFFER_REPORT = 'tor'
53
+ TENDER_OFFER_STATEMENT = 'ton'
54
+ TENDER_OFFER_WITHDRAWAL_NOTICE = 'wto'
55
+
56
+ @classmethod
57
+ def parse(cls, value: str) -> DocumentType | None:
58
+ try:
59
+ return cls(value)
60
+ except ValueError:
61
+ return None
62
+
63
+
64
+ class Taxonomy(Enum):
65
+ # The order of the below taxonomy values is based on Table 2-3-1 in
66
+ # "Framework Design of EDINET Taxonomy" (ESE140301.pdf).The same table was used to
67
+ # determine the applicable taxonomies in the FilingFormat configurations below.
68
+ # The prefixes associated with each taxonomy were inferred from the above
69
+ # document and "(Appendix) Conventions and Rules for EDINET Taxonomy" (ESE140304.pdf)
70
+ DEI = 'jpdei' # 'DEIタクソノミ'
71
+ FINANCIAL_STATEMENT = 'jppfs' # '財務諸表本表タクソノミ'
72
+ IFRS = 'jpigp' # 国際会計基準タクソノミ
73
+ DISCLOSURE_ORDINANCE = 'jpcrp' # '開示府令タクソノミ'
74
+ EXTRAORDINARY_REPORT = 'jpcrp-esr' # '臨時報告書タクソノミ'
75
+ STATUS_OF_SHARE_BUYBACKS = 'jpsps-esr' # '自己株券買付状況報告書タクソノミ'
76
+ CABINET_OFFICE_ORDINANCE_ON_SPECIFIED_SECURITIES_DISCLOSURE = 'jpsps' # '特定有価証券開示府令タクソノミ'
77
+ STATUS_OF_SPECIFIC_SECURITIES_TREASURY_STOCK_PURCHASES = 'jpsps-sbr' # '特定有価証券自己株券買付状況報告書タクソノミ'
78
+ SPECIFIED_SECURITIES_EXTRAORDINARY_REPORT = 'jpsps-esr' # '特定有価証券臨時報告書タクソノミ'
79
+ TENDER_OFFER_NOTIFICATION = 'jptoo-ton' # '他社株公開買付届出書タクソノミ'
80
+ OTHER_COMPANY_OPINION_STATEMENT = 'jptoo-pst' # '他社株意見表明報告書タクソノミ'
81
+ TENDER_OFFER_WITHDRAWAL_NOTIFICATION = 'jptoo-wto' # '他社株公開買付撤回届出書タクソノミ'
82
+ TENDER_OFFER_REPORT = 'jptoo-tor' # '他社株公開買付報告書タクソノミ'
83
+ OTHER_COMPANY_STOCK_QUESTION_AND_ANSWER_REPORT = 'jptoo-toa' # '他社株対質問回答報告書タクソノミ'
84
+ TENDER_OFFER = 'jptoi' # '自社株公開買付タクソノミ'
85
+ LARGE_VOLUME_HOLDINGS = 'jplvh' # '大量保有タクソノミ'
86
+ INTERNAL_CONTROL = 'jpctl' # '内部統制タクソノミ'
87
+
88
+ @classmethod
89
+ def parse(cls, value: str) -> Taxonomy | None:
90
+ try:
91
+ return cls(value)
92
+ except ValueError:
93
+ return None
94
+
95
+ @dataclass(frozen=True)
96
+ class FilingFormat:
97
+ ordinance: Ordinance
98
+ documentType: DocumentType
99
+ formType: FormType
100
+ taxonomies: frozenset[Taxonomy]
101
+
102
+ def includesTaxonomyPrefix(self, prefix: str) -> bool:
103
+ taxonomy = Taxonomy.parse(prefix.split('_')[0])
104
+ return taxonomy is not None and (
105
+ taxonomy == Taxonomy.DEI or # DEI is always included
106
+ taxonomy in self.taxonomies
107
+ )
108
+
109
+ DEFAULT_DISCLOSURE_TAXONOMIES = frozenset({
110
+ Taxonomy.FINANCIAL_STATEMENT,
111
+ Taxonomy.IFRS,
112
+ Taxonomy.DISCLOSURE_ORDINANCE,
113
+ })
114
+ DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES = frozenset({
115
+ Taxonomy.FINANCIAL_STATEMENT,
116
+ Taxonomy.CABINET_OFFICE_ORDINANCE_ON_SPECIFIED_SECURITIES_DISCLOSURE,
117
+ })
118
+ FINANCIAL_STATEMENT_TAXONOMIES = frozenset({
119
+ Taxonomy.DISCLOSURE_ORDINANCE,
120
+ Taxonomy.FINANCIAL_STATEMENT,
121
+ })
122
+
123
+ # The below values are based on Table 2-3-1 in "Framework Design of EDINET Taxonomy" (ESE140301.pdf).
124
+ # The order is preserved. The index is used to map to other data structures. EDINET documentation often
125
+ # references this same list of formats in this same order.
126
+ FILING_FORMATS = (
127
+ # 開示府令
128
+
129
+ # 有価証券届出書 第二号様式
130
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_2, DEFAULT_DISCLOSURE_TAXONOMIES),
131
+ # 有価証券届出書 第二号の二様式
132
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_2_2, frozenset({Taxonomy.DISCLOSURE_ORDINANCE})),
133
+ # 有価証券届出書 第二号の三様式
134
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_2_3, frozenset({Taxonomy.DISCLOSURE_ORDINANCE})),
135
+ # 有価証券届出書 第二号の四様式
136
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_2_4, DEFAULT_DISCLOSURE_TAXONOMIES),
137
+ # 有価証券届出書 第二号の五様式
138
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_2_5, DEFAULT_DISCLOSURE_TAXONOMIES),
139
+ # 有価証券届出書 第二号の六様式
140
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_2_6, DEFAULT_DISCLOSURE_TAXONOMIES),
141
+ # 有価証券届出書 第二号の七様式
142
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_2_7, DEFAULT_DISCLOSURE_TAXONOMIES),
143
+ # 有価証券報告書 第三号様式
144
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_3, DEFAULT_DISCLOSURE_TAXONOMIES),
145
+ # 有価証券報告書 第三号の二様式
146
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_3_2, DEFAULT_DISCLOSURE_TAXONOMIES),
147
+ # 有価証券報告書 第四号様式
148
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_4, DEFAULT_DISCLOSURE_TAXONOMIES),
149
+ # 半期報告書 第四号の三様式
150
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_4_3, DEFAULT_DISCLOSURE_TAXONOMIES),
151
+ # 半期報告書 第五号様式
152
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_5, DEFAULT_DISCLOSURE_TAXONOMIES),
153
+ # 半期報告書 第五号の二様式
154
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_5_2, DEFAULT_DISCLOSURE_TAXONOMIES),
155
+ # 臨時報告書 第五号の三様式
156
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.EXTRAORDINARY_REPORT, FormType.FORM_5_3, frozenset({Taxonomy.EXTRAORDINARY_REPORT})),
157
+ # 有価証券届出書 第七号様式
158
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_7, FINANCIAL_STATEMENT_TAXONOMIES),
159
+ # 有価証券届出書 第七号の四様式
160
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_7_4, FINANCIAL_STATEMENT_TAXONOMIES),
161
+ # 有価証券報告書 第八号様式
162
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_8, FINANCIAL_STATEMENT_TAXONOMIES),
163
+ # 有価証券報告書 第九号様式
164
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_9, FINANCIAL_STATEMENT_TAXONOMIES),
165
+
166
+ # 半期報告書 第九号の三様式
167
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_9_3, FINANCIAL_STATEMENT_TAXONOMIES),
168
+ # 半期報告書 第十号様式
169
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_10, FINANCIAL_STATEMENT_TAXONOMIES),
170
+ # 発行登録書 第十一号様式
171
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SHELF_REGISTRATION_STATEMENT, FormType.FORM_11, frozenset({Taxonomy.DISCLOSURE_ORDINANCE})),
172
+ # 発行登録書 第十一号の二様式
173
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SHELF_REGISTRATION_STATEMENT, FormType.FORM_11_2, frozenset({Taxonomy.DISCLOSURE_ORDINANCE})),
174
+ # 発行登録書 第十一号の二の二様式
175
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SHELF_REGISTRATION_STATEMENT, FormType.FORM_11_2_2, frozenset({Taxonomy.DISCLOSURE_ORDINANCE})),
176
+ # 発行登録追補書類 第十二号様式
177
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SHELF_REGISTRATION_SUPPLEMENT, FormType.FORM_12, frozenset({Taxonomy.DISCLOSURE_ORDINANCE})),
178
+ # 発行登録追補書類 第十二号の二様式
179
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SHELF_REGISTRATION_SUPPLEMENT, FormType.FORM_12_2, frozenset({Taxonomy.DISCLOSURE_ORDINANCE})),
180
+ # 自己株券買付状況報 告書 第十七号様式
181
+ FilingFormat(Ordinance.CORPORATE_AFFAIRS, DocumentType.SHARE_REPURCHASE_STATUS_REPORT, FormType.FORM_17, frozenset({Taxonomy.STATUS_OF_SHARE_BUYBACKS})),
182
+
183
+ # 特定有価証券開示府令
184
+
185
+ # 有価証券届出書 第四号様式
186
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_4, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
187
+ # 有価証券届出書 第四号の三様式
188
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_4_3, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
189
+ # 有価証券届出書 第四号の三の二様式
190
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_4_3_2, frozenset({Taxonomy.CABINET_OFFICE_ORDINANCE_ON_SPECIFIED_SECURITIES_DISCLOSURE})),
191
+ # 有価証券届出書 第四号の三の三様式
192
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_4_3_3, frozenset({Taxonomy.CABINET_OFFICE_ORDINANCE_ON_SPECIFIED_SECURITIES_DISCLOSURE})),
193
+ # 有価証券届出書 第五号の二様式
194
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_5_2, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
195
+ # 有価証券届出書 第五号の四様式
196
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_5_4, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
197
+ # 有価証券届出書 第六号様式
198
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_6, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
199
+ # 有価証券届出書 第六号の五様式
200
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SECURITIES_REGISTRATION_STATEMENT, FormType.FORM_6_5, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
201
+ # 有価証券報告書【みなし有価証券届出書】第六号の七及び第七号 様式 - manually switched to ANNUAL_SECURITIES_REPORT
202
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_6_7_AND_FORM_7, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
203
+ # 有価証券報告書【みなし有価証券届出書】第六号の九及び第九号 様式 - manually switched to ANNUAL_SECURITIES_REPORT
204
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_6_9_AND_FORM_9, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
205
+ # 有価証券報告書 第七号様式
206
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_7, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
207
+ # 有価証券報告書 第七号の三様式
208
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_7_3, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
209
+ # 有価証券報告書 第八号の二様式
210
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_8_2, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
211
+ # 有価証券報告書 第八号の四様式
212
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_8_4, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
213
+ # 有価証券報告書 第九号様式
214
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_9, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
215
+ # 有価証券報告書 第九号の五様式
216
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.ANNUAL_SECURITIES_REPORT, FormType.FORM_9_5, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
217
+ # 半期報告書 第十号様式
218
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_10, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
219
+ # 半期報告書 第十号の三様式
220
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_10_3, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
221
+ # 半期報告書 第十一号の二様式
222
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_11_2, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
223
+ # 半期報告書 第十一号の四様式
224
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_11_4, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
225
+ # 半期報告書 第十二号様式
226
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_12, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
227
+ # 半期報告書 第十二号の五様式
228
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SEMI_ANNUAL_REPORT, FormType.FORM_12_5, DEFAULT_SPECIFIED_SECURITIES_DISCLOSURE_TAXONOMIES),
229
+ # 発行登録書 第十五号様式
230
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SHELF_REGISTRATION_STATEMENT, FormType.FORM_15, frozenset({Taxonomy.CABINET_OFFICE_ORDINANCE_ON_SPECIFIED_SECURITIES_DISCLOSURE})),
231
+ # 発行登録書 第十五号の三様式
232
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SHELF_REGISTRATION_STATEMENT, FormType.FORM_15_3, frozenset({Taxonomy.CABINET_OFFICE_ORDINANCE_ON_SPECIFIED_SECURITIES_DISCLOSURE})),
233
+ # 発行登録追補書類 第二十一号様式
234
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SHELF_REGISTRATION_SUPPLEMENT, FormType.FORM_21, frozenset({Taxonomy.CABINET_OFFICE_ORDINANCE_ON_SPECIFIED_SECURITIES_DISCLOSURE})),
235
+ # 自己株券買付状況報 告書 第二十五号の三様式
236
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.SHARE_REPURCHASE_STATUS_REPORT, FormType.FORM_25_3, frozenset({Taxonomy.STATUS_OF_SPECIFIC_SECURITIES_TREASURY_STOCK_PURCHASES})),
237
+ # 臨時報告書
238
+ FilingFormat(Ordinance.SPECIFIED_SECURITIES, DocumentType.EXTRAORDINARY_REPORT, FormType.NONE_SPECIFIED, frozenset({Taxonomy.SPECIFIED_SECURITIES_EXTRAORDINARY_REPORT})),
239
+
240
+ # 他社株買付府令
241
+
242
+ # 公開買付届出書 第二号様式
243
+ FilingFormat(Ordinance.TENDER_OFFERS_FOR_SHARES_OTHER, DocumentType.TENDER_OFFER_STATEMENT, FormType.FORM_2, frozenset({Taxonomy.TENDER_OFFER_NOTIFICATION})),
244
+ # 意見表明報告書 第四号様式
245
+ FilingFormat(Ordinance.TENDER_OFFERS_FOR_SHARES_OTHER, DocumentType.OPINION_STATEMENT, FormType.FORM_4, frozenset({Taxonomy.OTHER_COMPANY_OPINION_STATEMENT})),
246
+ # 公開買付撤回届出書 第五号様式
247
+ FilingFormat(Ordinance.TENDER_OFFERS_FOR_SHARES_OTHER, DocumentType.TENDER_OFFER_WITHDRAWAL_NOTICE, FormType.FORM_5, frozenset({Taxonomy.TENDER_OFFER_WITHDRAWAL_NOTIFICATION})),
248
+ # 公開買付報告書 第六号様式
249
+ FilingFormat(Ordinance.TENDER_OFFERS_FOR_SHARES_OTHER, DocumentType.TENDER_OFFER_REPORT, FormType.FORM_6, frozenset({Taxonomy.TENDER_OFFER_REPORT})),
250
+ # 対質問回答報告書 第八号様式
251
+ FilingFormat(Ordinance.TENDER_OFFERS_FOR_SHARES_OTHER, DocumentType.RESPONSE_TO_QUESTIONS_REPORT, FormType.FORM_8, frozenset({Taxonomy.OTHER_COMPANY_STOCK_QUESTION_AND_ANSWER_REPORT})),
252
+
253
+ # 自社株買付府令
254
+
255
+ # 公開買付届出書 第二号様式
256
+ FilingFormat(Ordinance.TENDER_OFFERS_FOR_SHARES_OWN, DocumentType.TENDER_OFFER_STATEMENT, FormType.FORM_2, frozenset({Taxonomy.TENDER_OFFER})),
257
+ # 公開買付撤回届出書 第三号様式
258
+ FilingFormat(Ordinance.TENDER_OFFERS_FOR_SHARES_OWN, DocumentType.TENDER_OFFER_WITHDRAWAL_NOTICE, FormType.FORM_3, frozenset({Taxonomy.TENDER_OFFER})),
259
+ # 公開買付報告書 第四号様式
260
+ FilingFormat(Ordinance.TENDER_OFFERS_FOR_SHARES_OWN, DocumentType.TENDER_OFFER_REPORT, FormType.FORM_4, frozenset({Taxonomy.TENDER_OFFER})),
261
+
262
+ # 大量保有府令
263
+
264
+ # 大量保有報告書 第一号様式
265
+ FilingFormat(Ordinance.LARGE_SHAREHOLDING, DocumentType.LARGE_SHAREHOLDING_REPORT, FormType.FORM_1, frozenset({Taxonomy.LARGE_VOLUME_HOLDINGS})),
266
+ # 大量保有報告書 第一号及び第二号様式
267
+ FilingFormat(Ordinance.LARGE_SHAREHOLDING, DocumentType.LARGE_SHAREHOLDING_REPORT, FormType.FORM_1_AND_2, frozenset({Taxonomy.LARGE_VOLUME_HOLDINGS})),
268
+ # 大量保有報告書 第三号様式
269
+ FilingFormat(Ordinance.LARGE_SHAREHOLDING, DocumentType.LARGE_SHAREHOLDING_REPORT, FormType.FORM_3, frozenset({Taxonomy.LARGE_VOLUME_HOLDINGS})),
270
+
271
+ # 内部統制府令
272
+
273
+ # 内部統制報告書 第一号様式
274
+ FilingFormat(Ordinance.INTERNAL_CONTROL, DocumentType.INTERNAL_CONTROL_REPORT, FormType.FORM_1, frozenset({Taxonomy.INTERNAL_CONTROL})),
275
+ )
@@ -62,6 +62,10 @@ class FormType(Enum):
62
62
  except ValueError:
63
63
  return None
64
64
 
65
+ @staticmethod
66
+ def lookup(code: str) -> FormType | None:
67
+ return FORM_CODES.get(code)
68
+
65
69
  @property
66
70
  def isCorporateForm(self) -> bool:
67
71
  return self in CORPORATE_FORMS
@@ -79,3 +83,52 @@ STOCK_REPORT_FORMS = frozenset([
79
83
  FormType.FORM_3,
80
84
  FormType.FORM_4,
81
85
  ])
86
+
87
+ FORM_CODES = {
88
+ # Source: ESE140110 Guide Attachment 4
89
+ '010000': FormType.FORM_1,
90
+ '020000': FormType.FORM_2,
91
+ '020200': FormType.FORM_2_2,
92
+ '020300': FormType.FORM_2_3,
93
+ '020400': FormType.FORM_2_4,
94
+ '020500': FormType.FORM_2_5,
95
+ '020600': FormType.FORM_2_6,
96
+ '020700': FormType.FORM_2_7,
97
+ '030000': FormType.FORM_3,
98
+ '030200': FormType.FORM_3_2,
99
+ '040000': FormType.FORM_4,
100
+ '040300': FormType.FORM_4_3,
101
+ '040302': FormType.FORM_4_3_2,
102
+ '040303': FormType.FORM_4_3_3,
103
+ '050000': FormType.FORM_5,
104
+ '050200': FormType.FORM_5_2,
105
+ '050300': FormType.FORM_5_3,
106
+ '050400': FormType.FORM_5_4,
107
+ '060000': FormType.FORM_6,
108
+ '060500': FormType.FORM_6_5,
109
+ '060700': FormType.FORM_6_7_AND_FORM_7,
110
+ '060900': FormType.FORM_6_9_AND_FORM_9,
111
+ '070000': FormType.FORM_7,
112
+ '070300': FormType.FORM_7_3,
113
+ '070400': FormType.FORM_7_4,
114
+ '080000': FormType.FORM_8,
115
+ '080200': FormType.FORM_8_2,
116
+ '080400': FormType.FORM_8_4,
117
+ '090000': FormType.FORM_9,
118
+ '090300': FormType.FORM_9_3,
119
+ '090500': FormType.FORM_9_5,
120
+ '100000': FormType.FORM_10,
121
+ '100300': FormType.FORM_10_3,
122
+ '110000': FormType.FORM_11,
123
+ '110200': FormType.FORM_11_2,
124
+ '110202': FormType.FORM_11_2_2,
125
+ '110400': FormType.FORM_11_4,
126
+ '120000': FormType.FORM_12,
127
+ '120200': FormType.FORM_12_2,
128
+ '120500': FormType.FORM_12_5,
129
+ '150000': FormType.FORM_15,
130
+ '150300': FormType.FORM_15_3,
131
+ '170000': FormType.FORM_17,
132
+ '210000': FormType.FORM_21,
133
+ '250300': FormType.FORM_25_3,
134
+ }