arelle-release 2.37.56__py3-none-any.whl → 2.37.58__py3-none-any.whl

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 (27) hide show
  1. arelle/Cntlr.py +1 -0
  2. arelle/CntlrCmdLine.py +1 -0
  3. arelle/DialogPluginManager.py +6 -4
  4. arelle/ErrorManager.py +7 -1
  5. arelle/PluginManager.py +129 -100
  6. arelle/ValidateDuplicateFacts.py +1 -1
  7. arelle/XbrlConst.py +1 -0
  8. arelle/_version.py +2 -2
  9. arelle/plugin/validate/EDINET/Constants.py +19 -18
  10. arelle/plugin/validate/EDINET/ControllerPluginData.py +11 -4
  11. arelle/plugin/validate/EDINET/CoverPageRequirements.py +118 -0
  12. arelle/plugin/validate/EDINET/FilingFormat.py +253 -0
  13. arelle/plugin/validate/EDINET/FormType.py +81 -0
  14. arelle/plugin/validate/EDINET/PluginValidationDataExtension.py +171 -33
  15. arelle/plugin/validate/EDINET/resources/cover-page-requirements.csv +27 -0
  16. arelle/plugin/validate/EDINET/rules/edinet.py +1 -1
  17. arelle/plugin/validate/EDINET/rules/gfm.py +271 -2
  18. arelle/plugin/validate/EDINET/rules/upload.py +183 -10
  19. arelle/plugin/validate/ROS/PluginValidationDataExtension.py +2 -0
  20. arelle/plugin/validate/ROS/ValidationPluginExtension.py +1 -0
  21. arelle/plugin/validate/ROS/rules/ros.py +37 -7
  22. {arelle_release-2.37.56.dist-info → arelle_release-2.37.58.dist-info}/METADATA +1 -1
  23. {arelle_release-2.37.56.dist-info → arelle_release-2.37.58.dist-info}/RECORD +27 -23
  24. {arelle_release-2.37.56.dist-info → arelle_release-2.37.58.dist-info}/WHEEL +0 -0
  25. {arelle_release-2.37.56.dist-info → arelle_release-2.37.58.dist-info}/entry_points.txt +0 -0
  26. {arelle_release-2.37.56.dist-info → arelle_release-2.37.58.dist-info}/licenses/LICENSE.md +0 -0
  27. {arelle_release-2.37.56.dist-info → arelle_release-2.37.58.dist-info}/top_level.txt +0 -0
@@ -10,6 +10,7 @@ from collections import Counter
10
10
  from collections.abc import Iterable
11
11
  from decimal import Decimal
12
12
 
13
+ from arelle import XbrlConst
13
14
  from arelle.typing import TypeGetText
14
15
  from arelle.ValidateXbrl import ValidateXbrl
15
16
  from collections import defaultdict
@@ -28,8 +29,8 @@ from arelle.utils.validate.Validation import Validation
28
29
  from arelle.ValidateXbrlCalcs import inferredDecimals, rangeValue
29
30
  from arelle.XbrlConst import qnXbrliMonetaryItemType, qnXbrliXbrl, xhtml
30
31
  from arelle.XmlValidateConst import VALID
31
- from ..ValidationPluginExtension import EQUITY, PRINCIPAL_CURRENCY, TURNOVER_REVENUE
32
- from ..PluginValidationDataExtension import MANDATORY_ELEMENTS, SCHEMA_PATTERNS, TR_NAMESPACES, PluginValidationDataExtension
32
+ from ..ValidationPluginExtension import CURRENCIES_DIMENSION, EQUITY, PRINCIPAL_CURRENCY, TURNOVER_REVENUE
33
+ from ..PluginValidationDataExtension import MANDATORY_ELEMENTS, SCHEMA_PATTERNS, TR_NAMESPACES, UK_REF_NS_PATTERN, PluginValidationDataExtension
33
34
 
34
35
 
35
36
  def checkFileEncoding(modelXbrl: ModelXbrl) -> None:
@@ -337,27 +338,56 @@ def rule_ros20(
337
338
  used for the majority of monetary facts.
338
339
  """
339
340
  principal_currency_facts = val.modelXbrl.factsByLocalName.get(PRINCIPAL_CURRENCY, set())
340
- principal_currency_values = set(fact.text for fact in principal_currency_facts)
341
+ principal_currency_values = {
342
+ currencyDimensionCode
343
+ for pc_fact in principal_currency_facts
344
+ if (currencyDimensionCode := _getCurrencyDimensionCode(val.modelXbrl, pc_fact))
345
+ }
341
346
  if len(principal_currency_values) != 1:
342
347
  yield Validation.error(
343
348
  "ROS.20",
344
349
  _("'PrincipalCurrencyUsedInBusinessReport' must exist and have a single value. Values found: %(principal_currency_values)s."),
345
350
  modelObject=principal_currency_facts,
346
- principal_currency_values=principal_currency_values,
351
+ principal_currency_values=sorted(principal_currency_values),
347
352
  )
348
353
  else:
349
354
  principal_currency_value = principal_currency_values.pop()
350
355
  monetary_facts = list(val.modelXbrl.factsByDatatype(False, qnXbrliMonetaryItemType))
351
- monetary_units = [list(fact.utrEntries)[0].unitName for fact in monetary_facts if fact.unit is not None]
356
+ monetary_units = [list(fact.utrEntries)[0].unitId for fact in monetary_facts if fact.unit is not None]
352
357
  unit_counts = Counter(monetary_units)
353
358
  principal_currency_value_count = unit_counts[principal_currency_value]
354
- for unit, count in unit_counts.items():
359
+ for count in unit_counts.values():
355
360
  if count > principal_currency_value_count:
356
361
  yield Validation.warning(
357
362
  "ROS.20",
358
- _("'PrincipalCurrencyUsedInBusinessReport' has a value of %(principal_currency_value)s, "
363
+ _("'PrincipalCurrencyUsedInBusinessReport' has a %(currencies_dimension)s value of %(principal_currency_value)s, "
359
364
  "which must match the functional(majority) unit of the financial statement."),
360
365
  modelObject=principal_currency_facts,
366
+ currencies_dimension=CURRENCIES_DIMENSION,
361
367
  principal_currency_value=principal_currency_value,
362
368
  )
363
369
  break
370
+
371
+ def _getCurrencyDimensionCode(modelXbrl: ModelXbrl, fact: ModelInlineFact) -> str | None:
372
+ if fact.context is None:
373
+ return None
374
+ for dim, mem in fact.context.qnameDims.items():
375
+ if dim.localName != CURRENCIES_DIMENSION:
376
+ continue
377
+ if mem.xValid < VALID:
378
+ return None
379
+ mem_concept = modelXbrl.qnameConcepts.get(mem.xValue)
380
+ if mem_concept is None:
381
+ return None
382
+ for ref_rel in modelXbrl.relationshipSet(XbrlConst.conceptReference).fromModelObject(mem_concept):
383
+ concept_ref = ref_rel.toModelObject
384
+ uk_ref_ns = None
385
+ for ns in concept_ref.nsmap.values():
386
+ if UK_REF_NS_PATTERN.match(ns):
387
+ uk_ref_ns = ns
388
+ break
389
+ if uk_ref_ns is None:
390
+ continue
391
+ if code := concept_ref.findtext(f"{{{uk_ref_ns}}}Code"):
392
+ return code.strip()
393
+ return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arelle-release
3
- Version: 2.37.56
3
+ Version: 2.37.58
4
4
  Summary: An open source XBRL platform.
5
5
  Author-email: "arelle.org" <support@arelle.org>
6
6
  License-Expression: Apache-2.0
@@ -1,7 +1,7 @@
1
1
  arelle/Aspect.py,sha256=Pn9I91D1os1RTVj6htuxTfRzVMhmVDtrbKvV_zy9xMI,5470
2
2
  arelle/BetaFeatures.py,sha256=T_tPac-FiozHyYLCemt0RoHJ1JahUE71L-0tHmIRKpE,858
3
- arelle/Cntlr.py,sha256=nwE_qIQMTa5R3sr_dLP6s3srLhiEA5zDOqfas2pDxoA,31691
4
- arelle/CntlrCmdLine.py,sha256=D5Xs847rIAMsI_fmJC27GSB0jIMGjE3VejpKvMTqncU,88717
3
+ arelle/Cntlr.py,sha256=HQ9JfpByqRf-C-ub07ALWMWUO2LIFev8tcmqpXjHW9s,31718
4
+ arelle/CntlrCmdLine.py,sha256=pOztA3ExK4O-IvxELeBU0SyC4Yk6OKgbsOjpNgwmKiU,88800
5
5
  arelle/CntlrComServer.py,sha256=h1KPf31uMbErpxTZn_iklDqUMGFgQnjZkFkFjd8gtLQ,1888
6
6
  arelle/CntlrProfiler.py,sha256=2VQJudiUhxryVypxjODx2ccP1-n60icTiWs5lSEokhQ,972
7
7
  arelle/CntlrQuickBooks.py,sha256=BMqd5nkNQOZyNFPefkTeWUUDCYNS6BQavaG8k1Lepu4,31543
@@ -16,12 +16,12 @@ arelle/DialogLanguage.py,sha256=HEBd21CfcJwGAGEu2gMyYHM0cXa0VVGAh-kxlZo8H9Q,7228
16
16
  arelle/DialogNewFactItem.py,sha256=blcE420dyMs6GEJW-YbtPj0lwc-YTUwyyEJh_Zvq9yE,8281
17
17
  arelle/DialogOpenArchive.py,sha256=8io1L6JhBVM8dLf23k2q7LsHCO6rpuOvknDmA3H5GSk,24004
18
18
  arelle/DialogPackageManager.py,sha256=YyWhHNFZT-ioM5jVbTJyHoQQK6_rB83j3DzMMswQGZk,30540
19
- arelle/DialogPluginManager.py,sha256=cr7GWNuYttg7H0pM5vaCPuxgDVgtZzR6ZamX957_1w8,32952
19
+ arelle/DialogPluginManager.py,sha256=0Uiy2Dei_49K7jbNnEUTchqcjANPIKNYNIt29iQoV1g,33035
20
20
  arelle/DialogRssWatch.py,sha256=mjc4pqyFDISY4tQtME0uSRQ3NlcWnNsOsMu9Zj8tTd0,13789
21
21
  arelle/DialogURL.py,sha256=JH88OPFf588E8RW90uMaieok7A_4kOAURQ8kHWVhnao,4354
22
22
  arelle/DialogUserPassword.py,sha256=kWPlCCihhwvsykDjanME9qBDtv6cxZlsrJyoMqiRep4,13769
23
23
  arelle/DisclosureSystem.py,sha256=mQlz8eezPpJuG6gHBV-x4-5Hne3LVh8TQf-Qm9jiFxI,24757
24
- arelle/ErrorManager.py,sha256=en3jVyUnSDzHGFE2e8UjuitU9sBwlciRMPiSn5OpTjs,16641
24
+ arelle/ErrorManager.py,sha256=5BrpD9Ej8b-2JFR-GgWL32Oc2qItYnLbZApaToDKt0o,16972
25
25
  arelle/FileSource.py,sha256=asaX2wM47T7S6kELwmXm-YjGIoV6poWz_YdYThY0lpk,47983
26
26
  arelle/FunctionCustom.py,sha256=d1FsBG14eykvpLpgaXpN8IdxnlG54dfGcsXPYfdpA9Q,5880
27
27
  arelle/FunctionFn.py,sha256=BcZKah1rpfquSVPwjvknM1pgFXOnK4Hr1e_ArG_mcJY,38058
@@ -53,7 +53,7 @@ arelle/ModelVersObject.py,sha256=cPD1IzhkCfuV1eMgVFWes88DH_6WkUj5kj7sgGF2M0I,260
53
53
  arelle/ModelVersReport.py,sha256=bXEA9K3qkH57aABn5l-m3CTY0FAcF1yX6O4fo-URjl8,73326
54
54
  arelle/ModelXbrl.py,sha256=oEEP-whMGZjG45BXeXabXcD_IzBp7yA-21gW6zlGe2U,61120
55
55
  arelle/PackageManager.py,sha256=BvPExMcxh8rHMxogOag-PGbX6vXdhCiXAHcDLA6Ypsc,32592
56
- arelle/PluginManager.py,sha256=Gnh7xmvyIQX2PyCwjDMFZVanCM9KW09I-x5x8YfDpJs,42220
56
+ arelle/PluginManager.py,sha256=axNOsdpUvhths9ePeTAF3hurwrOooXA-7cGnG43z99k,42676
57
57
  arelle/PluginUtils.py,sha256=0vFQ29wVVpU0cTY3YOBL6FhNQhhCTwShBH4qTJGLnvc,2426
58
58
  arelle/PrototypeDtsObject.py,sha256=0lf60VcXR_isx57hBPrc7vEMkFpYkVuK4JVBSmopzkQ,7989
59
59
  arelle/PrototypeInstanceObject.py,sha256=CXUoDllhDqpMvSQjqIYi1Ywp-J8fLhQRV9wVD2YXgVo,13204
@@ -68,7 +68,7 @@ arelle/UiUtil.py,sha256=3G0xPclZI8xW_XQDbiFrmylB7Nd5muqi5n2x2oMkMZU,34218
68
68
  arelle/Updater.py,sha256=IZ8cq44Rq88WbQcB1VOpMA6bxdfZxfYQ8rgu9Ehpbes,7448
69
69
  arelle/UrlUtil.py,sha256=HrxZSG59EUMGMMGmWPuZkPi5-0BGqY3jAMkp7V4IdZo,32400
70
70
  arelle/Validate.py,sha256=cX1OA3JPiwmjNmxfecZc24GBW1qXdjcEEynJ9F1K7Zg,58764
71
- arelle/ValidateDuplicateFacts.py,sha256=L556J1Dhz4ZmsMlRNoDCMpFgDQYiryd9vuBYDvE0Aq8,21769
71
+ arelle/ValidateDuplicateFacts.py,sha256=MPRCOWSHahdtB8IJVxZMPGbupZix6Zhv4OrLHZyHDAA,21767
72
72
  arelle/ValidateFilingText.py,sha256=xnXc0xgdNiHQk0eyP7VSSpvw7qr-pRFRwqqoUb569is,54051
73
73
  arelle/ValidateInfoset.py,sha256=Rz_XBi5Ha43KpxXYhjLolURcWVx5qmqyjLxw48Yt9Dg,20396
74
74
  arelle/ValidateUtr.py,sha256=oxOPrOa1XEzBay4miXvx6eRLTnVFYUIJC9ueWUk4EkI,13633
@@ -116,7 +116,7 @@ arelle/ViewWinVersReport.py,sha256=aYfsOgynVZpMzl6f2EzQCBLzdihYGycwb5SiTghkgMQ,9
116
116
  arelle/ViewWinXml.py,sha256=4ZGKtjaoCwU9etKYm9ZAS7jSmUxba1rqNEdv0OIyjTY,1250
117
117
  arelle/WatchRss.py,sha256=5Ih4igH2MM4hpOuAXy9eO0QAyZ7jZR3S5bPzo2sdFpw,14097
118
118
  arelle/WebCache.py,sha256=SLk-S5StYUIucm5bd2BqT-o8ZA0NdYw2Xl4O9vIt7O8,45257
119
- arelle/XbrlConst.py,sha256=p5GV8x7ZLNVT-lMo9EEtw8CkVICITxJ4GZXXQFmZQEk,58561
119
+ arelle/XbrlConst.py,sha256=kyNYQZVjw917DdzmK7olLhaio1kPJCJtC3j9QhBSxfs,58619
120
120
  arelle/XbrlUtil.py,sha256=s2Vmrh-sZI5TeuqsziKignOc3ao-uUgnCNoelP4dDj0,9212
121
121
  arelle/XhtmlValidate.py,sha256=0gtm7N-kXK0RB5o3c1AQXjfFuRp1w2fKZZAeyruNANw,5727
122
122
  arelle/XmlUtil.py,sha256=1VToOOylF8kbEorEdZLThmq35j9bmuF_DS2q9NthnHU,58774
@@ -125,7 +125,7 @@ arelle/XmlValidateConst.py,sha256=U_wN0Q-nWKwf6dKJtcu_83FXPn9c6P8JjzGA5b0w7P0,33
125
125
  arelle/XmlValidateParticles.py,sha256=Mn6vhFl0ZKC_vag1mBwn1rH_x2jmlusJYqOOuxFPO2k,9231
126
126
  arelle/XmlValidateSchema.py,sha256=6frtZOc1Yrx_5yYF6V6oHbScnglWrVbWr6xW4EHtLQI,7428
127
127
  arelle/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- arelle/_version.py,sha256=fDTO72M4k2Bg8Q2mmpC5_JjetoiOyfrQn3nJSak1r6w,708
128
+ arelle/_version.py,sha256=DMtGvhO601kTygJwWMKYB_n05a0AM-s0DoCNqsyf8lE,708
129
129
  arelle/typing.py,sha256=PRe-Fxwr2SBqYYUVPCJ3E7ddDX0_oOISNdT5Q97EbRM,1246
130
130
  arelle/api/Session.py,sha256=kgSxS7VckA1sQ7xp0pJiK7IK-vRxAdAZKUo8gEx27s8,7549
131
131
  arelle/config/creationSoftwareNames.json,sha256=5MK7XUjfDJ9OpRCCHXeOErJ1SlTBZji4WEcEOdOacx0,3128
@@ -312,25 +312,29 @@ arelle/plugin/validate/DBA/rules/tm.py,sha256=ui9oKBqlAForwkQ9kk9KBiUogTJE5pv1Rb
312
312
  arelle/plugin/validate/DBA/rules/tr.py,sha256=4TootFjl0HXsKZk1XNBCyj-vnjRs4lg35hfiz_b_4wU,14684
313
313
  arelle/plugin/validate/EBA/__init__.py,sha256=x3zXNcdSDJ3kHfL7kMs0Ve0Vs9oWbzNFVf1TK4Avmy8,45924
314
314
  arelle/plugin/validate/EBA/config.xml,sha256=37wMVUAObK-XEqakqD8zPNog20emYt4a_yfL1AKubF8,2022
315
- arelle/plugin/validate/EDINET/Constants.py,sha256=IkJ1R0ZQAs9kUXY8eB7e8azYlC4m500VILrQhniB5Q4,1949
316
- arelle/plugin/validate/EDINET/ControllerPluginData.py,sha256=zsBOWkSatXza0v_ZB-jIdFLSIj9Btzd50GdNIgVw6Fo,8027
315
+ arelle/plugin/validate/EDINET/Constants.py,sha256=6LVzBTt4045SxUjeQa37tlN8zYLF1QIz16khYo3eY4A,2418
316
+ arelle/plugin/validate/EDINET/ControllerPluginData.py,sha256=1WhiS0RdrxeXz4pGDzWATEPqCopOh2spr8Z6Qra_Psk,8420
317
+ arelle/plugin/validate/EDINET/CoverPageRequirements.py,sha256=ZR8pk1CQfUIi15as1zVF27W0kRlUF1M_Ygw7appDUno,4488
317
318
  arelle/plugin/validate/EDINET/DisclosureSystems.py,sha256=3rKG42Eg-17Xx_KXU_V5yHW6I3LTwQunvf4a44C9k_4,36
319
+ arelle/plugin/validate/EDINET/FilingFormat.py,sha256=SFZ22zFk6RVIA9dpx3iVLlf2heKfZZqt2ZUXUje4BII,18789
320
+ arelle/plugin/validate/EDINET/FormType.py,sha256=jFqjJACJJ4HhkY1t6Fqei0z6rgvH3Mp-dP04KwQVv3Q,2517
318
321
  arelle/plugin/validate/EDINET/ManifestInstance.py,sha256=o6BGlaQHSsn6D0VKH4zn59UscKnjTKlo99kSGfGdYlU,6910
319
- arelle/plugin/validate/EDINET/PluginValidationDataExtension.py,sha256=CVTtWTYrvC_oeK9iWHLt5l9dN3KmzgLAEZmGdlPqv3g,16362
322
+ arelle/plugin/validate/EDINET/PluginValidationDataExtension.py,sha256=9YXy4f1EIYq4NGWaOP7dXjVStdtH4Mb4D4wACrIa2PU,22540
320
323
  arelle/plugin/validate/EDINET/ReportFolderType.py,sha256=Q-9a-5tJfhK-cjY8WUB2AT1NI-Nn9cFtARVOIJoLRGU,2979
321
324
  arelle/plugin/validate/EDINET/Statement.py,sha256=0Mw5IB7LMtvUZ-2xKZfxmq67xF_dCgJo3eNLweLFRHU,9350
322
325
  arelle/plugin/validate/EDINET/UploadContents.py,sha256=o29mDoX48M3S2jQqrJO4ZaulltAPt4vD-qdsWTMCUPc,1196
323
326
  arelle/plugin/validate/EDINET/ValidationPluginExtension.py,sha256=8LNqvXzNaWP54dShEjet5ely4BnM8ByCSyimKpUx3_s,2577
324
327
  arelle/plugin/validate/EDINET/__init__.py,sha256=ECWgqzwHA7MZ3g7SeoFI7ttR9Wq_lywV-TlqeUW_juY,3186
325
328
  arelle/plugin/validate/EDINET/resources/config.xml,sha256=7uT4GcRgk5veMLpFhPPQJxbGKiQvM52P8EMrjn0qd0g,646
329
+ arelle/plugin/validate/EDINET/resources/cover-page-requirements.csv,sha256=8ILKNn8bXbcgG9V0lc8mxorKDKEjJQWLdBQRMvbqtkI,6518
326
330
  arelle/plugin/validate/EDINET/resources/edinet-taxonomies.xml,sha256=997I3RGTLg5OY3vn5hQxVFAAxOmDSOYpuyQe6VnWSY0,16285
327
331
  arelle/plugin/validate/EDINET/rules/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
328
332
  arelle/plugin/validate/EDINET/rules/contexts.py,sha256=KPoyWfRaURvxoGVcWP64mTMTAKPMSmQSX06RClCLddw,7590
329
- arelle/plugin/validate/EDINET/rules/edinet.py,sha256=VYrDZaKbsQuQEvOY5F0Pv4Jzk9YZ4iETOkAFOggrhEY,12632
333
+ arelle/plugin/validate/EDINET/rules/edinet.py,sha256=g3IPMV5-mWbVwVmEwv5-h1LOtdfeBQ9gZI27m744FFw,12628
330
334
  arelle/plugin/validate/EDINET/rules/frta.py,sha256=N0YglHYZuLD2IuwE26viR2ViwUYjneBuMFU9vlrS0aQ,7616
331
- arelle/plugin/validate/EDINET/rules/gfm.py,sha256=1SBUQG2M4VOhxp4e2ALnm_Uq8p3g-S0WbKkRCEH-ttw,26769
335
+ arelle/plugin/validate/EDINET/rules/gfm.py,sha256=-NHyo6QAkKoekAc5nLSpvSwQ0lImttoSD-_y1puK-y4,36741
332
336
  arelle/plugin/validate/EDINET/rules/manifests.py,sha256=MoT9R_a4BzuYdQVbF7RC5wz134Ve68svSdJ3NlpO_AU,4026
333
- arelle/plugin/validate/EDINET/rules/upload.py,sha256=opGEEFf80RLKk_Z43gkUYHJLBvq_Hd-BMzMMg2Vhnns,40064
337
+ arelle/plugin/validate/EDINET/rules/upload.py,sha256=E_sEhsuUkoH648PGWwpN90uOQMjKNFaZ8priucmYMOk,47908
334
338
  arelle/plugin/validate/ESEF/Const.py,sha256=JujF_XV-_TNsxjGbF-8SQS4OOZIcJ8zhCMnr-C1O5Ho,22660
335
339
  arelle/plugin/validate/ESEF/Dimensions.py,sha256=MOJM7vwNPEmV5cu-ZzPrhx3347ZvxgD6643OB2HRnIk,10597
336
340
  arelle/plugin/validate/ESEF/Util.py,sha256=QH3btcGqBpr42M7WSKZLSdNXygZaZLfEiEjlxoG21jE,7950
@@ -359,13 +363,13 @@ arelle/plugin/validate/NL/rules/fr_kvk.py,sha256=kYqXt45S6eM32Yg9ii7pUhOMfJaHurg
359
363
  arelle/plugin/validate/NL/rules/fr_nl.py,sha256=ZoyiRsTyqTNZB_VgcdabmeNi6v7DY6jMxzaP6ppLtIU,31387
360
364
  arelle/plugin/validate/NL/rules/nl_kvk.py,sha256=bPD5lfr6dxdVGPZ2D_bEZtbz02tzsX_BZ5kC-CZJNwc,90170
361
365
  arelle/plugin/validate/ROS/DisclosureSystems.py,sha256=rJ81mwQDYTi6JecFZ_zhqjjz3VNQRgjHNSh0wcQWAQE,18
362
- arelle/plugin/validate/ROS/PluginValidationDataExtension.py,sha256=nCZoGWNX4aUN5oQBJqa8UrG9tElPW906xkfzRlbjBB8,4285
363
- arelle/plugin/validate/ROS/ValidationPluginExtension.py,sha256=OEDpi3CqcHrlX87UTG2KEYHnQrcbo8iajBY8X8nF6Tw,829
366
+ arelle/plugin/validate/ROS/PluginValidationDataExtension.py,sha256=9_dxO20B3TRVElv0jZ_YW7tZbG3HihzRowg7W-397is,4379
367
+ arelle/plugin/validate/ROS/ValidationPluginExtension.py,sha256=U5EtwSW3eGvvvgVk9JgcUueJn604a4J6C2Fsk_CHQy0,874
364
368
  arelle/plugin/validate/ROS/__init__.py,sha256=KuWg1MHVzA2S6eaHFptvP3Vu_5gQWf3OUYC97clB7zI,2075
365
369
  arelle/plugin/validate/ROS/config.xml,sha256=ZCpCFgr1ZAjoUuhb1eRpDnmKrae-sXA9yl6SOWnrfm8,654
366
370
  arelle/plugin/validate/ROS/resources/config.xml,sha256=HXWume5HlrAqOx5AtiWWqgADbRatA8YSfm_JvZGwdgQ,657
367
371
  arelle/plugin/validate/ROS/rules/__init__.py,sha256=wW7BUAIb7sRkOxC1Amc_ZKrz03FM-Qh1TyZe6wxYaAU,1567
368
- arelle/plugin/validate/ROS/rules/ros.py,sha256=yGvvJZJwENgFLpA5r464eez1aHf3pKZm0HyzaWiQn6E,19930
372
+ arelle/plugin/validate/ROS/rules/ros.py,sha256=CRZkZfsKe4y1B-PDkazQ_cD5LRZBk1GJjTscCZXXYUI,21173
369
373
  arelle/plugin/validate/UK/ValidateUK.py,sha256=h7-tnCubHme8Meaif-o55TV2rCfMWuikfpZCcK6NNDs,56447
370
374
  arelle/plugin/validate/UK/__init__.py,sha256=GT67T_7qpOASzdmgRXFPmLxfPg3Gjubli7luQDK3zck,27462
371
375
  arelle/plugin/validate/UK/config.xml,sha256=mUFhWDfBzGTn7v0ZSmf4HaweQTMJh_4ZcJmD9mzCHrA,1547
@@ -680,9 +684,9 @@ arelle/utils/validate/ValidationUtil.py,sha256=9vmSvShn-EdQy56dfesyV8JjSRVPj7txr
680
684
  arelle/utils/validate/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
681
685
  arelle/webserver/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
682
686
  arelle/webserver/bottle.py,sha256=P-JECd9MCTNcxCnKoDUvGcoi03ezYVOgoWgv2_uH-6M,362
683
- arelle_release-2.37.56.dist-info/licenses/LICENSE.md,sha256=Q0tn6q0VUbr-NM8916513NCIG8MNzo24Ev-sxMUBRZc,3959
684
- arelle_release-2.37.56.dist-info/METADATA,sha256=Wtmg0dACPtcIDHq93LetjVlxqOerxZ1VGQdsa1ZgUds,9327
685
- arelle_release-2.37.56.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
686
- arelle_release-2.37.56.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
687
- arelle_release-2.37.56.dist-info/top_level.txt,sha256=fwU7SYawL4_r-sUMRg7r1nYVGjFMSDvRWx8VGAXEw7w,7
688
- arelle_release-2.37.56.dist-info/RECORD,,
687
+ arelle_release-2.37.58.dist-info/licenses/LICENSE.md,sha256=Q0tn6q0VUbr-NM8916513NCIG8MNzo24Ev-sxMUBRZc,3959
688
+ arelle_release-2.37.58.dist-info/METADATA,sha256=R7D4feFh8MfRYsXoyMrffu1IDXMxju2PLquC1Ht1H-0,9327
689
+ arelle_release-2.37.58.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
690
+ arelle_release-2.37.58.dist-info/entry_points.txt,sha256=Uj5niwfwVsx3vaQ3fYj8hrZ1xpfCJyTUA09tYKWbzpo,111
691
+ arelle_release-2.37.58.dist-info/top_level.txt,sha256=fwU7SYawL4_r-sUMRg7r1nYVGjFMSDvRWx8VGAXEw7w,7
692
+ arelle_release-2.37.58.dist-info/RECORD,,