@usejunior/docx-core 0.0.1 → 0.1.1

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.
Files changed (252) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -28
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/atomizer.d.ts +218 -0
  5. package/dist/atomizer.d.ts.map +1 -0
  6. package/dist/atomizer.js +856 -0
  7. package/dist/atomizer.js.map +1 -0
  8. package/dist/baselines/atomizer/atomLcs.d.ts +96 -0
  9. package/dist/baselines/atomizer/atomLcs.d.ts.map +1 -0
  10. package/dist/baselines/atomizer/atomLcs.js +347 -0
  11. package/dist/baselines/atomizer/atomLcs.js.map +1 -0
  12. package/dist/baselines/atomizer/debug.d.ts +41 -0
  13. package/dist/baselines/atomizer/debug.d.ts.map +1 -0
  14. package/dist/baselines/atomizer/debug.js +85 -0
  15. package/dist/baselines/atomizer/debug.js.map +1 -0
  16. package/dist/baselines/atomizer/documentReconstructor.d.ts +64 -0
  17. package/dist/baselines/atomizer/documentReconstructor.d.ts.map +1 -0
  18. package/dist/baselines/atomizer/documentReconstructor.js +939 -0
  19. package/dist/baselines/atomizer/documentReconstructor.js.map +1 -0
  20. package/dist/baselines/atomizer/hierarchicalLcs.d.ts +111 -0
  21. package/dist/baselines/atomizer/hierarchicalLcs.d.ts.map +1 -0
  22. package/dist/baselines/atomizer/hierarchicalLcs.js +469 -0
  23. package/dist/baselines/atomizer/hierarchicalLcs.js.map +1 -0
  24. package/dist/baselines/atomizer/inPlaceModifier.d.ts +183 -0
  25. package/dist/baselines/atomizer/inPlaceModifier.d.ts.map +1 -0
  26. package/dist/baselines/atomizer/inPlaceModifier.js +1600 -0
  27. package/dist/baselines/atomizer/inPlaceModifier.js.map +1 -0
  28. package/dist/baselines/atomizer/numberingIntegration.d.ts +59 -0
  29. package/dist/baselines/atomizer/numberingIntegration.d.ts.map +1 -0
  30. package/dist/baselines/atomizer/numberingIntegration.js +209 -0
  31. package/dist/baselines/atomizer/numberingIntegration.js.map +1 -0
  32. package/dist/baselines/atomizer/pipeline.d.ts +65 -0
  33. package/dist/baselines/atomizer/pipeline.d.ts.map +1 -0
  34. package/dist/baselines/atomizer/pipeline.js +510 -0
  35. package/dist/baselines/atomizer/pipeline.js.map +1 -0
  36. package/dist/baselines/atomizer/premergeRuns.d.ts +26 -0
  37. package/dist/baselines/atomizer/premergeRuns.d.ts.map +1 -0
  38. package/dist/baselines/atomizer/premergeRuns.js +150 -0
  39. package/dist/baselines/atomizer/premergeRuns.js.map +1 -0
  40. package/dist/baselines/atomizer/trackChangesAcceptor.d.ts +63 -0
  41. package/dist/baselines/atomizer/trackChangesAcceptor.d.ts.map +1 -0
  42. package/dist/baselines/atomizer/trackChangesAcceptor.js +254 -0
  43. package/dist/baselines/atomizer/trackChangesAcceptor.js.map +1 -0
  44. package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts +64 -0
  45. package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +1 -0
  46. package/dist/baselines/atomizer/trackChangesAcceptorAst.js +586 -0
  47. package/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +1 -0
  48. package/dist/baselines/atomizer/xmlToWmlElement.d.ts +65 -0
  49. package/dist/baselines/atomizer/xmlToWmlElement.d.ts.map +1 -0
  50. package/dist/baselines/atomizer/xmlToWmlElement.js +95 -0
  51. package/dist/baselines/atomizer/xmlToWmlElement.js.map +1 -0
  52. package/dist/baselines/diffmatch/documentBuilder.d.ts +44 -0
  53. package/dist/baselines/diffmatch/documentBuilder.d.ts.map +1 -0
  54. package/dist/baselines/diffmatch/documentBuilder.js +227 -0
  55. package/dist/baselines/diffmatch/documentBuilder.js.map +1 -0
  56. package/dist/baselines/diffmatch/paragraphAlignment.d.ts +75 -0
  57. package/dist/baselines/diffmatch/paragraphAlignment.d.ts.map +1 -0
  58. package/dist/baselines/diffmatch/paragraphAlignment.js +206 -0
  59. package/dist/baselines/diffmatch/paragraphAlignment.js.map +1 -0
  60. package/dist/baselines/diffmatch/pipeline.d.ts +33 -0
  61. package/dist/baselines/diffmatch/pipeline.d.ts.map +1 -0
  62. package/dist/baselines/diffmatch/pipeline.js +84 -0
  63. package/dist/baselines/diffmatch/pipeline.js.map +1 -0
  64. package/dist/baselines/diffmatch/runDiff.d.ts +53 -0
  65. package/dist/baselines/diffmatch/runDiff.d.ts.map +1 -0
  66. package/dist/baselines/diffmatch/runDiff.js +253 -0
  67. package/dist/baselines/diffmatch/runDiff.js.map +1 -0
  68. package/dist/baselines/diffmatch/trackChangesRenderer.d.ts +64 -0
  69. package/dist/baselines/diffmatch/trackChangesRenderer.d.ts.map +1 -0
  70. package/dist/baselines/diffmatch/trackChangesRenderer.js +178 -0
  71. package/dist/baselines/diffmatch/trackChangesRenderer.js.map +1 -0
  72. package/dist/baselines/diffmatch/xmlParser.d.ts +45 -0
  73. package/dist/baselines/diffmatch/xmlParser.d.ts.map +1 -0
  74. package/dist/baselines/diffmatch/xmlParser.js +344 -0
  75. package/dist/baselines/diffmatch/xmlParser.js.map +1 -0
  76. package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts +51 -0
  77. package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts.map +1 -0
  78. package/dist/baselines/wmlcomparer/DocxodusWasm.js +83 -0
  79. package/dist/baselines/wmlcomparer/DocxodusWasm.js.map +1 -0
  80. package/dist/baselines/wmlcomparer/DotnetCli.d.ts +40 -0
  81. package/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +1 -0
  82. package/dist/baselines/wmlcomparer/DotnetCli.js +135 -0
  83. package/dist/baselines/wmlcomparer/DotnetCli.js.map +1 -0
  84. package/dist/benchmark/metrics.d.ts +72 -0
  85. package/dist/benchmark/metrics.d.ts.map +1 -0
  86. package/dist/benchmark/metrics.js +45 -0
  87. package/dist/benchmark/metrics.js.map +1 -0
  88. package/dist/benchmark/reporter.d.ts +23 -0
  89. package/dist/benchmark/reporter.d.ts.map +1 -0
  90. package/dist/benchmark/reporter.js +147 -0
  91. package/dist/benchmark/reporter.js.map +1 -0
  92. package/dist/benchmark/runner.d.ts +30 -0
  93. package/dist/benchmark/runner.d.ts.map +1 -0
  94. package/dist/benchmark/runner.js +233 -0
  95. package/dist/benchmark/runner.js.map +1 -0
  96. package/dist/cli/compare-two.d.ts +28 -0
  97. package/dist/cli/compare-two.d.ts.map +1 -0
  98. package/dist/cli/compare-two.js +110 -0
  99. package/dist/cli/compare-two.js.map +1 -0
  100. package/dist/cli/index.d.ts +3 -0
  101. package/dist/cli/index.d.ts.map +1 -0
  102. package/dist/cli/index.js +21 -0
  103. package/dist/cli/index.js.map +1 -0
  104. package/dist/core-types.d.ts +296 -0
  105. package/dist/core-types.d.ts.map +1 -0
  106. package/dist/core-types.js +122 -0
  107. package/dist/core-types.js.map +1 -0
  108. package/dist/footnotes.d.ts +144 -0
  109. package/dist/footnotes.d.ts.map +1 -0
  110. package/dist/footnotes.js +291 -0
  111. package/dist/footnotes.js.map +1 -0
  112. package/dist/format-detection.d.ts +120 -0
  113. package/dist/format-detection.d.ts.map +1 -0
  114. package/dist/format-detection.js +338 -0
  115. package/dist/format-detection.js.map +1 -0
  116. package/dist/index.d.ts +177 -0
  117. package/dist/index.d.ts.map +1 -0
  118. package/dist/index.js +55 -0
  119. package/dist/index.js.map +1 -0
  120. package/dist/integration/output-artifacts.d.ts +6 -0
  121. package/dist/integration/output-artifacts.d.ts.map +1 -0
  122. package/dist/integration/output-artifacts.js +30 -0
  123. package/dist/integration/output-artifacts.js.map +1 -0
  124. package/dist/move-detection.d.ts +211 -0
  125. package/dist/move-detection.d.ts.map +1 -0
  126. package/dist/move-detection.js +391 -0
  127. package/dist/move-detection.js.map +1 -0
  128. package/dist/numbering.d.ts +136 -0
  129. package/dist/numbering.d.ts.map +1 -0
  130. package/dist/numbering.js +446 -0
  131. package/dist/numbering.js.map +1 -0
  132. package/dist/primitives/accept_changes.d.ts +30 -0
  133. package/dist/primitives/accept_changes.d.ts.map +1 -0
  134. package/dist/primitives/accept_changes.js +241 -0
  135. package/dist/primitives/accept_changes.js.map +1 -0
  136. package/dist/primitives/bookmarks.d.ts +12 -0
  137. package/dist/primitives/bookmarks.d.ts.map +1 -0
  138. package/dist/primitives/bookmarks.js +248 -0
  139. package/dist/primitives/bookmarks.js.map +1 -0
  140. package/dist/primitives/comments.d.ts +88 -0
  141. package/dist/primitives/comments.d.ts.map +1 -0
  142. package/dist/primitives/comments.js +703 -0
  143. package/dist/primitives/comments.js.map +1 -0
  144. package/dist/primitives/document.d.ts +168 -0
  145. package/dist/primitives/document.d.ts.map +1 -0
  146. package/dist/primitives/document.js +532 -0
  147. package/dist/primitives/document.js.map +1 -0
  148. package/dist/primitives/document_view.d.ts +93 -0
  149. package/dist/primitives/document_view.d.ts.map +1 -0
  150. package/dist/primitives/document_view.js +722 -0
  151. package/dist/primitives/document_view.js.map +1 -0
  152. package/dist/primitives/dom-helpers.d.ts +94 -0
  153. package/dist/primitives/dom-helpers.d.ts.map +1 -0
  154. package/dist/primitives/dom-helpers.js +219 -0
  155. package/dist/primitives/dom-helpers.js.map +1 -0
  156. package/dist/primitives/errors.d.ts +7 -0
  157. package/dist/primitives/errors.d.ts.map +1 -0
  158. package/dist/primitives/errors.js +10 -0
  159. package/dist/primitives/errors.js.map +1 -0
  160. package/dist/primitives/extract_revisions.d.ts +50 -0
  161. package/dist/primitives/extract_revisions.d.ts.map +1 -0
  162. package/dist/primitives/extract_revisions.js +340 -0
  163. package/dist/primitives/extract_revisions.js.map +1 -0
  164. package/dist/primitives/footnotes.d.ts +37 -0
  165. package/dist/primitives/footnotes.d.ts.map +1 -0
  166. package/dist/primitives/footnotes.js +552 -0
  167. package/dist/primitives/footnotes.js.map +1 -0
  168. package/dist/primitives/formatting_tags.d.ts +30 -0
  169. package/dist/primitives/formatting_tags.d.ts.map +1 -0
  170. package/dist/primitives/formatting_tags.js +217 -0
  171. package/dist/primitives/formatting_tags.js.map +1 -0
  172. package/dist/primitives/index.d.ts +26 -0
  173. package/dist/primitives/index.d.ts.map +1 -0
  174. package/dist/primitives/index.js +26 -0
  175. package/dist/primitives/index.js.map +1 -0
  176. package/dist/primitives/layout.d.ts +53 -0
  177. package/dist/primitives/layout.d.ts.map +1 -0
  178. package/dist/primitives/layout.js +178 -0
  179. package/dist/primitives/layout.js.map +1 -0
  180. package/dist/primitives/list_labels.d.ts +19 -0
  181. package/dist/primitives/list_labels.d.ts.map +1 -0
  182. package/dist/primitives/list_labels.js +57 -0
  183. package/dist/primitives/list_labels.js.map +1 -0
  184. package/dist/primitives/matching.d.ts +17 -0
  185. package/dist/primitives/matching.d.ts.map +1 -0
  186. package/dist/primitives/matching.js +144 -0
  187. package/dist/primitives/matching.js.map +1 -0
  188. package/dist/primitives/merge_runs.d.ts +23 -0
  189. package/dist/primitives/merge_runs.d.ts.map +1 -0
  190. package/dist/primitives/merge_runs.js +195 -0
  191. package/dist/primitives/merge_runs.js.map +1 -0
  192. package/dist/primitives/namespaces.d.ts +90 -0
  193. package/dist/primitives/namespaces.d.ts.map +1 -0
  194. package/dist/primitives/namespaces.js +107 -0
  195. package/dist/primitives/namespaces.js.map +1 -0
  196. package/dist/primitives/numbering.d.ts +27 -0
  197. package/dist/primitives/numbering.d.ts.map +1 -0
  198. package/dist/primitives/numbering.js +182 -0
  199. package/dist/primitives/numbering.js.map +1 -0
  200. package/dist/primitives/prevent_double_elevation.d.ts +18 -0
  201. package/dist/primitives/prevent_double_elevation.d.ts.map +1 -0
  202. package/dist/primitives/prevent_double_elevation.js +190 -0
  203. package/dist/primitives/prevent_double_elevation.js.map +1 -0
  204. package/dist/primitives/reject_changes.d.ts +27 -0
  205. package/dist/primitives/reject_changes.d.ts.map +1 -0
  206. package/dist/primitives/reject_changes.js +371 -0
  207. package/dist/primitives/reject_changes.js.map +1 -0
  208. package/dist/primitives/relationships.d.ts +7 -0
  209. package/dist/primitives/relationships.d.ts.map +1 -0
  210. package/dist/primitives/relationships.js +24 -0
  211. package/dist/primitives/relationships.js.map +1 -0
  212. package/dist/primitives/semantic_tags.d.ts +32 -0
  213. package/dist/primitives/semantic_tags.d.ts.map +1 -0
  214. package/dist/primitives/semantic_tags.js +139 -0
  215. package/dist/primitives/semantic_tags.js.map +1 -0
  216. package/dist/primitives/simplify_redlines.d.ts +19 -0
  217. package/dist/primitives/simplify_redlines.d.ts.map +1 -0
  218. package/dist/primitives/simplify_redlines.js +94 -0
  219. package/dist/primitives/simplify_redlines.js.map +1 -0
  220. package/dist/primitives/styles.d.ts +36 -0
  221. package/dist/primitives/styles.d.ts.map +1 -0
  222. package/dist/primitives/styles.js +190 -0
  223. package/dist/primitives/styles.js.map +1 -0
  224. package/dist/primitives/text.d.ts +27 -0
  225. package/dist/primitives/text.d.ts.map +1 -0
  226. package/dist/primitives/text.js +416 -0
  227. package/dist/primitives/text.js.map +1 -0
  228. package/dist/primitives/validate_document.d.ts +24 -0
  229. package/dist/primitives/validate_document.d.ts.map +1 -0
  230. package/dist/primitives/validate_document.js +147 -0
  231. package/dist/primitives/validate_document.js.map +1 -0
  232. package/dist/primitives/xml.d.ts +5 -0
  233. package/dist/primitives/xml.d.ts.map +1 -0
  234. package/dist/primitives/xml.js +19 -0
  235. package/dist/primitives/xml.js.map +1 -0
  236. package/dist/primitives/zip.d.ts +25 -0
  237. package/dist/primitives/zip.d.ts.map +1 -0
  238. package/dist/primitives/zip.js +78 -0
  239. package/dist/primitives/zip.js.map +1 -0
  240. package/dist/shared/docx/DocxArchive.d.ts +94 -0
  241. package/dist/shared/docx/DocxArchive.d.ts.map +1 -0
  242. package/dist/shared/docx/DocxArchive.js +169 -0
  243. package/dist/shared/docx/DocxArchive.js.map +1 -0
  244. package/dist/shared/ooxml/namespaces.d.ts +149 -0
  245. package/dist/shared/ooxml/namespaces.d.ts.map +1 -0
  246. package/dist/shared/ooxml/namespaces.js +224 -0
  247. package/dist/shared/ooxml/namespaces.js.map +1 -0
  248. package/dist/shared/ooxml/types.d.ts +136 -0
  249. package/dist/shared/ooxml/types.d.ts.map +1 -0
  250. package/dist/shared/ooxml/types.js +7 -0
  251. package/dist/shared/ooxml/types.js.map +1 -0
  252. package/package.json +63 -6
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 UseJunior
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,45 +1,103 @@
1
1
  # @usejunior/docx-core
2
2
 
3
- ## ⚠️ IMPORTANT NOTICE ⚠️
3
+ [![npm version](https://img.shields.io/npm/v/%40usejunior%2Fdocx-core)](https://www.npmjs.com/package/@usejunior/docx-core)
4
+ [![CI](https://github.com/UseJunior/safe-docx/actions/workflows/ci.yml/badge.svg)](https://github.com/UseJunior/safe-docx/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/UseJunior/safe-docx/blob/main/LICENSE)
4
6
 
5
- **This package is created solely for the purpose of setting up OIDC (OpenID Connect) trusted publishing with npm.**
7
+ Core Safe Docx library for brownfield editing and comparison of existing `.docx` files.
6
8
 
7
- This is **NOT** a functional package and contains **NO** code or functionality beyond the OIDC setup configuration.
9
+ ## What This Package Is
8
10
 
9
- ## Purpose
11
+ `@usejunior/docx-core` is the production engine behind Safe Docx. It is designed for surgical operations on existing Word documents where formatting fidelity and deterministic behavior matter.
10
12
 
11
- This package exists to:
12
- 1. Configure OIDC trusted publishing for the package name `@usejunior/docx-core`
13
- 2. Enable secure, token-less publishing from CI/CD workflows
14
- 3. Establish provenance for packages published under this name
13
+ Primary capabilities:
15
14
 
16
- ## What is OIDC Trusted Publishing?
15
+ - tracked-change comparison output for review workflows
16
+ - revision extraction and OOXML-safe document primitives
17
+ - formatting-preserving text and paragraph operations
18
+ - comment and footnote primitive support
17
19
 
18
- OIDC trusted publishing allows package maintainers to publish packages directly from their CI/CD workflows without needing to manage npm access tokens. Instead, it uses OpenID Connect to establish trust between the CI/CD provider (like GitHub Actions) and npm.
20
+ Default comparison is pure TypeScript atomizer (`engine: "auto"` -> `atomizer`).
19
21
 
20
- ## Setup Instructions
22
+ ## What This Package Is Not
21
23
 
22
- To properly configure OIDC trusted publishing for this package:
24
+ - Not a hosted service
25
+ - Not a document-generation framework for creating new files from scratch
26
+ - Not dependent on .NET for supported runtime APIs
23
27
 
24
- 1. Go to [npmjs.com](https://www.npmjs.com/) and navigate to your package settings
25
- 2. Configure the trusted publisher (e.g., GitHub Actions)
26
- 3. Specify the repository and workflow that should be allowed to publish
27
- 4. Use the configured workflow to publish your actual package
28
+ Internal benchmark code exists for maintainer analysis, but benchmarking is not a user-facing feature.
28
29
 
29
- ## DO NOT USE THIS PACKAGE
30
+ ## Install
30
31
 
31
- This package is a placeholder for OIDC configuration only. It:
32
- - Contains no executable code
33
- - Provides no functionality
34
- - Should not be installed as a dependency
35
- - Exists only for administrative purposes
32
+ ```bash
33
+ npm install @usejunior/docx-core
34
+ ```
36
35
 
37
- ## More Information
36
+ ## Quickstart: Compare Two DOCX Files
38
37
 
39
- For more details about npm's trusted publishing feature, see:
40
- - [npm Trusted Publishing Documentation](https://docs.npmjs.com/generating-provenance-statements)
41
- - [GitHub Actions OIDC Documentation](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect)
38
+ ```ts
39
+ import { readFile, writeFile } from 'node:fs/promises';
40
+ import { compareDocuments } from '@usejunior/docx-core';
42
41
 
43
- ---
42
+ const original = await readFile('./original.docx');
43
+ const revised = await readFile('./revised.docx');
44
44
 
45
- **Maintained for OIDC setup purposes only**
45
+ const result = await compareDocuments(original, revised, {
46
+ author: 'Comparison',
47
+ // engine defaults to "auto" (atomizer)
48
+ });
49
+
50
+ await writeFile('./output.redline.docx', result.document);
51
+ console.log(result.engine, result.stats);
52
+ ```
53
+
54
+ ## Engine Model
55
+
56
+ - `atomizer` (default via `auto`): primary production path
57
+ - `diffmatch`: optional baseline/debug path
58
+ - `wmlcomparer`: not available through supported programmatic API usage
59
+
60
+ ## Dependency Footprint
61
+
62
+ Runtime dependencies are intentionally small:
63
+
64
+ - `@xmldom/xmldom` for XML DOM handling
65
+ - `jszip` for DOCX zip container handling
66
+ - `diff-match-patch` for optional `diffmatch` baseline behavior
67
+
68
+ No native binaries, and no .NET prerequisite for supported runtime API usage.
69
+
70
+ ## Automated Fixture Coverage
71
+
72
+ In-repo automated fixtures currently include:
73
+
74
+ - Common Paper style mutual NDA variants
75
+ - Bonterms mutual NDA fixture
76
+ - Letter of Intent fixture
77
+ - ILPA limited partnership agreement redline fixtures
78
+
79
+ ## Designed for Complex DOCX Classes
80
+
81
+ `@usejunior/docx-core` is designed to support complex legal/business document classes such as:
82
+
83
+ - NVCA financing forms
84
+ - YC SAFEs
85
+ - Offering memoranda
86
+ - Order forms and services agreements
87
+ - Limited partnership agreements
88
+
89
+ ## From-Scratch Generation
90
+
91
+ If your primary use case is generating new documents from scratch, use a generation-oriented package such as [`docx`](https://www.npmjs.com/package/docx).
92
+
93
+ ## Development
94
+
95
+ ```bash
96
+ npm run build -w @usejunior/docx-core
97
+ npm run test:run -w @usejunior/docx-core
98
+ npm run lint -w @usejunior/docx-core
99
+ ```
100
+
101
+ ## License
102
+
103
+ MIT
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/@xmldom/xmldom/index.d.ts","../src/core-types.ts","../../../node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/web-globals/abortcontroller.d.ts","../../../node_modules/@types/node/web-globals/domexception.d.ts","../../../node_modules/@types/node/web-globals/events.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/file.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/filereader.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/web-globals/fetch.d.ts","../../../node_modules/@types/node/web-globals/navigator.d.ts","../../../node_modules/@types/node/web-globals/storage.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/inspector.generated.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/jszip/index.d.ts","../src/primitives/zip.ts","../src/primitives/xml.ts","../src/primitives/namespaces.ts","../src/primitives/errors.ts","../src/primitives/text.ts","../src/primitives/bookmarks.ts","../src/primitives/list_labels.ts","../src/primitives/numbering.ts","../src/primitives/styles.ts","../src/primitives/semantic_tags.ts","../src/primitives/formatting_tags.ts","../src/primitives/relationships.ts","../src/primitives/matching.ts","../src/primitives/footnotes.ts","../src/primitives/document_view.ts","../src/primitives/layout.ts","../src/primitives/merge_runs.ts","../src/primitives/simplify_redlines.ts","../src/primitives/prevent_double_elevation.ts","../src/primitives/validate_document.ts","../src/primitives/accept_changes.ts","../src/primitives/comments.ts","../src/primitives/document.ts","../src/primitives/dom-helpers.ts","../src/primitives/reject_changes.ts","../src/primitives/extract_revisions.ts","../src/primitives/index.ts","../src/atomizer.ts","../src/footnotes.ts","../src/format-detection.ts","../src/shared/docx/DocxArchive.ts","../src/shared/ooxml/types.ts","../../../node_modules/fast-xml-parser/src/fxp.d.ts","../src/baselines/diffmatch/paragraphAlignment.ts","../src/baselines/diffmatch/xmlParser.ts","../src/baselines/diffmatch/trackChangesRenderer.ts","../../../node_modules/@types/diff-match-patch/index.d.ts","../src/baselines/diffmatch/runDiff.ts","../src/baselines/diffmatch/documentBuilder.ts","../src/baselines/diffmatch/pipeline.ts","../src/move-detection.ts","../src/baselines/atomizer/xmlToWmlElement.ts","../src/baselines/atomizer/debug.ts","../src/baselines/atomizer/atomLcs.ts","../src/baselines/atomizer/hierarchicalLcs.ts","../src/baselines/atomizer/documentReconstructor.ts","../src/baselines/atomizer/inPlaceModifier.ts","../src/baselines/atomizer/trackChangesAcceptorAst.ts","../src/numbering.ts","../src/baselines/atomizer/numberingIntegration.ts","../src/baselines/atomizer/premergeRuns.ts","../src/baselines/atomizer/pipeline.ts","../src/shared/ooxml/namespaces.ts","../src/index.ts","../src/baselines/atomizer/trackChangesAcceptor.ts","../src/baselines/wmlcomparer/DocxodusWasm.ts","../src/baselines/wmlcomparer/DotnetCli.ts","../src/benchmark/metrics.ts","../src/benchmark/reporter.ts","../src/benchmark/runner.ts","../src/cli/compare-two.ts","../src/cli/index.ts","../src/integration/output-artifacts.ts","../../../node_modules/@types/deep-eql/index.d.ts","../../../node_modules/assertion-error/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/d3-color/index.d.ts","../../../node_modules/@types/d3-delaunay/index.d.ts","../../../node_modules/@types/d3-format/index.d.ts","../../../node_modules/@types/d3-hierarchy/index.d.ts","../../../node_modules/@types/d3-interpolate/index.d.ts","../../../node_modules/@types/d3-path/index.d.ts","../../../node_modules/@types/d3-time/index.d.ts","../../../node_modules/@types/d3-scale/index.d.ts","../../../node_modules/@types/d3-scale-chromatic/index.d.ts","../../../node_modules/@types/d3-shape/index.d.ts","../../../node_modules/@types/d3-time-format/index.d.ts","../../../node_modules/@types/esrecurse/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/@types/trusted-types/index.d.ts"],"fileIdsList":[[66,115,132,133,230,231],[66,115,132,133],[66,115,132,133,233],[66,115,132,133,239],[66,115,132,133,238],[66,112,113,115,132,133],[66,114,115,132,133],[115,132,133],[66,115,120,132,133,150],[66,115,116,121,126,132,133,135,147,158],[66,115,116,117,126,132,133,135],[61,62,63,66,115,132,133],[66,115,118,132,133,159],[66,115,119,120,127,132,133,136],[66,115,120,132,133,147,155],[66,115,121,123,126,132,133,135],[66,114,115,122,132,133],[66,115,123,124,132,133],[66,115,125,126,132,133],[66,114,115,126,132,133],[66,115,126,127,128,132,133,147,158],[66,115,126,127,128,132,133,142,147,150],[66,108,115,123,126,129,132,133,135,147,158],[66,115,126,127,129,130,132,133,135,147,155,158],[66,115,129,131,132,133,147,155,158],[64,65,66,67,68,69,70,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164],[66,115,126,132,133],[66,115,132,133,134,158],[66,115,123,126,132,133,135,147],[66,115,132,133,136],[66,115,132,133,137],[66,114,115,132,133,138],[66,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164],[66,115,132,133,140],[66,115,132,133,141],[66,115,126,132,133,142,143],[66,115,132,133,142,144,159,161],[66,115,127,132,133],[66,115,126,132,133,147,148,150],[66,115,132,133,149,150],[66,115,132,133,147,148],[66,115,132,133,150],[66,115,132,133,151],[66,112,115,132,133,147,152,158],[66,115,126,132,133,153,154],[66,115,132,133,153,154],[66,115,120,132,133,135,147,155],[66,115,132,133,156],[66,115,132,133,135,157],[66,115,129,132,133,141,158],[66,115,120,132,133,159],[66,115,132,133,147,160],[66,115,132,133,134,161],[66,115,132,133,162],[66,108,115,132,133],[66,108,115,126,128,132,133,138,147,150,158,160,161,163],[66,115,132,133,147,164],[66,115,132,133,247],[66,115,132,133,165],[66,80,84,115,132,133,158],[66,80,115,132,133,147,158],[66,75,115,132,133],[66,77,80,115,132,133,155,158],[66,115,132,133,135,155],[66,75,115,132,133,165],[66,77,80,115,132,133,135,158],[66,72,73,76,79,115,126,132,133,147,158],[66,80,87,115,132,133],[66,72,78,115,132,133],[66,80,101,102,115,132,133],[66,76,80,115,132,133,150,158,165],[66,101,115,132,133,165],[66,74,75,115,132,133,165],[66,80,115,132,133],[66,74,75,76,77,78,79,80,81,82,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,102,103,104,105,106,107,115,132,133],[66,80,95,115,132,133],[66,80,87,88,115,132,133],[66,78,80,88,89,115,132,133],[66,79,115,132,133],[66,72,75,80,115,132,133],[66,80,84,88,89,115,132,133],[66,84,115,132,133],[66,78,80,83,115,132,133,158],[66,72,77,80,87,115,132,133],[66,115,132,133,147],[66,75,80,101,115,132,133,163,165],[59,60,66,115,120,132,133,193],[60,66,115,132,133,194,209],[60,66,115,132,133,193,194,196,208,209],[60,66,115,132,133,194,209,210],[59,60,66,115,132,133,193,194,209],[60,66,115,132,133,193,208,215],[60,66,115,132,133,193,194,196,197,207,208,210,211,212,213,214,216,217,220],[66,115,120,132,133,193],[66,115,132,133,193,208],[59,66,115,132,133],[66,115,132,133,198,201,202,204],[66,115,120,132,133,198],[66,115,132,133,197,198,200,201,202,205,220],[66,115,132,133,198,203],[66,115,132,133,198],[66,115,132,133,198,199,200],[66,115,132,133,220],[66,115,116,128,132,133,136,137,159,220],[66,115,132,133,224],[66,115,128,132,133,137,206,223,224],[66,115,128,132,133,137,220],[66,115,132,133,158,227],[60,66,115,132,133,193],[60,66,115,132,133,193,194,195,196,198,206,207,215,218,219],[66,115,128,132,133,136,137,158],[59,60,66,115,132,133,193],[66,115,132,133,169],[66,115,120,132,133,169,171],[66,115,132,133,167,168,169,171,172],[66,115,132,133,167,168,169,171,172,178,179,180,181,182,183,184,185,186,187,188],[66,115,132,133,169,171,173,174,175,176,177,178,180],[66,115,132,133,169,171,172,187,188,191],[66,115,132,133,167,168,169,171,172,179],[66,115,132,133,175,176],[66,115,132,133,167,168,169,170,171,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192],[66,115,132,133,169,172],[59,66,115,132,133,169],[66,115,132,133,169,170],[66,115,132,133,166]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a417043139fa0cc466e9585c8c32796dd41edab67ae07324ef1ba91e6eca7aa2","impliedFormat":1},{"version":"2af4745291c787a2e55f7650e84a3314dbdccb36bac9ef4fa0bd30acf28c844f","signature":"378d3ae2a46de18d14b264a3ee49f6aa0c6cb2f97e97c9f8721d04b81d618461","impliedFormat":99},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c906fb15bd2aabc9ed1e3f44eb6a8661199d6c320b3aa196b826121552cb3695","impliedFormat":1},{"version":"22295e8103f1d6d8ea4b5d6211e43421fe4564e34d0dd8e09e520e452d89e659","impliedFormat":1},{"version":"f949f7f6c7802a338039cfc2156d1fe285cdd1e092c64437ebe15ae8edc854e0","impliedFormat":1},{"version":"6b4e081d55ac24fc8a4631d5dd77fe249fa25900abd7d046abb87d90e3b45645","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"83e63d6ccf8ec004a3bb6d58b9bb0104f60e002754b1e968024b320730cc5311","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d2bc7425ef40526650d6db7e072c1ff4a51101c3ac2cc4b666623b19496a6e27","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"a3fc63c0d7b031693f665f5494412ba4b551fe644ededccc0ab5922401079c95","impliedFormat":1},{"version":"f27524f4bef4b6519c604bdb23bf4465bddcccbf3f003abb901acbd0d7404d99","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"6b039f55681caaf111d5eb84d292b9bee9e0131d0db1ad0871eef0964f533c73","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"c8d3e5a18ba35629954e48c4cc8f11dc88224650067a172685c736b27a34a4dc","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"0dba70b3fb0dcd713fda33c2df64fa6751fff6460e536971cee917260fb17882","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"47613031a5a31510831304405af561b0ffaedb734437c595256bb61a90f9311b","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"8a1a0d0a4a06a8d278947fcb66bf684f117bf147f89b06e50662d79a53be3e9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"9f663c2f91127ef7024e8ca4b3b4383ff2770e5f826696005de382282794b127","impliedFormat":1},{"version":"9f55299850d4f0921e79b6bf344b47c420ce0f507b9dcf593e532b09ea7eeea1","impliedFormat":1},{"version":"522cb15ff9bef5a65c2f3dbd10dbba9e7ecae4de32f90f5c0b4198132be63ae4","impliedFormat":1},{"version":"759eb1e9f9062b87f158ff447cf80d8405c6fa6505c29ff7dccbe7c9a414c5d3","signature":"7dbe92175f41987cd2629702e68dfa5379c714558e402f10b9b68927d048be91","impliedFormat":99},{"version":"5d2897f228893c328b90f344d4e68a46b37e55f956ae5e5444954b365c929e11","signature":"73834fc1602d6220250487f6252531ba406f3421ff4329d94917cb086492370a","impliedFormat":99},{"version":"e7e5b465b428a2b5cac7bd9183ee7faf7b5778f74bb3f21a7bdfe5a631fa3339","signature":"a0ae85d3dc2f949e986d4f626254a66f8cf600a0670685b90432c0bf9d4015f4","impliedFormat":99},{"version":"621fda9f802d1bba4bb1c245d482768ffab36cc5ecd41bb995858ba0eaed73c5","signature":"4ed8f9ae9e57c5ea33843dd71dee74f2e5e1d770f9bbf07350ccff4e6ae43e9b","impliedFormat":99},{"version":"2da43ed6790307b503593cd029bce40d7c489b7d19d3745861907bd2a52779f0","signature":"8c6b4e70924c6ea004d268aca56f299bd7c11abd7c0b1be4c5d4750d4637d579","impliedFormat":99},{"version":"1b1420cf245f472f97587806d665fd71415e869419f2f23bc72e9b83a7df1544","signature":"3468a72026826ebb1d4975c7fba621c7bcb071ce7599eca0f6fcd147d3171a2a","impliedFormat":99},{"version":"ffd8729a41968894f72dee86b00415df35b15b995063ee02939464aa284fd228","signature":"e3e673423af121b5d355d8274b65abab7e0665726d04009a454ff94ad6927473","impliedFormat":99},{"version":"f25a8f0707f4505ef1dddf909aafdd258479bf7096a736a9e217da85a1445644","signature":"995c7807933e16006b8bbfe4902d33116ea2053d3e6f3b68bb59801224fa47a6","impliedFormat":99},{"version":"17d611bc01928da32cf4023272645257a597f1f09cb3ad724624676641fc5af8","signature":"b23e262db3449cdb30e95cc7fbfed698ce5037967869d68befc7d8e0723f8bed","impliedFormat":99},{"version":"715b7890d7d1f94cd0e69069f37e3d756237d8dae8be7d2f8cdf19714fe144ab","signature":"03ddccb9f9197d25d9f78ccb0edba89b5dfa17aed0821690012f81de0099a679","impliedFormat":99},{"version":"8b9ca1582c253fcb08ea91eb8336e2ee5f0e14667e5dc6ee498ba4403fa6a62f","signature":"92e0fab0073b1704491b6a508a9c5cdd43b3d842a28b09d2937c2fc0324fcfba","impliedFormat":99},{"version":"b11914eb4dd7c1e3cd1416c7cb5c47428d57ccddedba27b3c5128d5f90ee451c","signature":"b7b7326b7f25ede0ef26a7ad298e4f8fe595c049f67cc2a63235f80b7ba8da14","impliedFormat":99},{"version":"6e97904767624ddb8abbfb5a96038762a64307b7898682148f4175f5428e10dc","signature":"66530fb640a403a384ac1cba47540e80a1612f7dfdf4606ac5c1c54ff22448c9","impliedFormat":99},{"version":"32f3ae6c9e3575d9034ad887ff7d55692bdcecb3ee5483a2e8889d3738195d64","signature":"1916fb71fc2e5e493b2869dc2c94e1bbfb79d7fb1b960f2aa0ba644c12957023","impliedFormat":99},{"version":"99b084a752198e97f5bd2c3e46e081e26259dee1a1941fa92d2f57a2886d7637","signature":"b6ebf074c385c6331e78f983199c7ec4b822f0007941549923362a39c9b6b8dd","impliedFormat":99},{"version":"414b586deda97f7fddddbea3a3454ddddafa155b7a4b4825d2f5b60f6d2dbae2","signature":"f84ea5192b81f5e21929147beeb2113a760f617ad275a8a0b29c69fe6c0bedd9","impliedFormat":99},{"version":"66a103688e895f0d5e5fbba7d8f686b98c48097184e82aa6875f85ad300a9512","signature":"1d6fd581855b7b0994ddabad0d5117232b89384d090ac49f300840582dc4973f","impliedFormat":99},{"version":"ef727ed975576ee7272b72bfc2b9abd1a51c9a8f34ffe61de17c817126f48720","signature":"0c009d5d1094a5467bca139c434d9c2845b2b9ddc7221520c93fbcf915794f41","impliedFormat":99},{"version":"6c1592b1910f37c5387f6e0bcf58476f9d2bbc5f044188060700807a48a127f6","signature":"6c77e11bc223fea4b9c0774dee0f4f9195847f710264e308c52af809984ae84b","impliedFormat":99},{"version":"834329c0355f372ef11df4420caf68874c5ddca467b477e0a691a61302978fb7","signature":"ac1a4a16e04736502cf6b0ead3745da26a068a42000011c59aa29e92da88a9fa","impliedFormat":99},{"version":"b597a0af16a027547fba204e50dd83af8a0b09455c1b416e45b5acc4c642669d","signature":"227206d2a5d2865e14789e9796ba74b6c535fd25c3d51c4f2b1720e38b0ab853","impliedFormat":99},{"version":"1b20a55c5d6ab24ed3272951006c4826282f1735034b4883941dac7ce8522cd7","signature":"f00952eb5162702e1cccc3034396c3077fab180d122b0201f17cde0a8d89e32e","impliedFormat":99},{"version":"9e6c6ece673e8be7a5d31db4eaa4b0fe6023ba1d29dbe8f6172f3ce50aa136bb","signature":"b1fb75e150b4f9be31f74c83f3cbf27ca22d7ec620964e7b9f617e84911fc8c0","impliedFormat":99},{"version":"00a98e002bf75aae4f48bc2af23173e18a2b6c055eb18f2ef9297340fb9d1518","signature":"b585d4918315cfc9cb50cd90b141705d25092669c542db613117fc3cb63416ce","impliedFormat":99},{"version":"d9708a73ccd129e054a0258cf4b86f6df3ac320013e31d9f36ea04d596cd840f","signature":"937e7d13f57ec964da022bed0e46d0f23fa531a0b76ad7f9b2a23d83c34a9dac","impliedFormat":99},{"version":"bd7e099aeb319aeacc94e0a70947c89c8439f31bd30c730ab60bf49f8cbf9a8d","signature":"0954c2db95714ff01b02140c0b1002680cff4c1413dbedfa89b656070ee5a855","impliedFormat":99},{"version":"e989829f264bbfb11864a6c786b7df137b7456c5810578a34b215aff927fbf5e","impliedFormat":99},{"version":"1fba4f6f6da8ad296c569ae948c9e6ba5919ee50d23d4d04a346c328d638d9a9","signature":"8459b4aa70ab0da9e2a10f36e1fe6c76174b6b96b3c14de385d28fe508a50d4c","impliedFormat":99},{"version":"be5d7df7da786816472bfb1b39139179011e43350815644b8602373cf00b0af9","signature":"946f1b365ffd0c2c86441c1020e49ffce8c4e95f7c459b91aa330acf3aa0cbc2","impliedFormat":99},{"version":"18eff8dbce9f825f53c88b0e2056068d8e594f1bdab04bd4db86f16d7333b4c0","signature":"913e4bb6afc2e61a03847d3fa5384a43af2146868272b907ded2a2fcdf45ef5c","impliedFormat":99},{"version":"67afc38397dd0bba4356b51696acee102b898c67d3e8954be96791dc7dfee353","signature":"5f710b5193a14b1fb10e8e8e8e0d83cabb46364ceecae6192892f7f5bbb15b8d","impliedFormat":99},{"version":"8e84067dd23778196c28052b3b809891893b9d0ec0d243d08d26eb5eb53e4cb3","signature":"4ff1db512f8c8f372ec0c3c27a5cb12e96ea4615959ae393232605668710b1a8","impliedFormat":99},{"version":"3c6be5583cdfd9ab67a103c158d390ff2c976ef3993d3e687cc77dabefb7b5fb","impliedFormat":1},{"version":"e7b31aa9065950d2a86967e7eb83c97863f5a14ca142c4ca271974c535d186e6","signature":"09088dccb609c6b764061c130ee87e33bf3690ce9b8b8f8bf07428362190c018","impliedFormat":99},{"version":"115d68b9c537674f1ed1b5a07d9241e215a605fbb9b030a4488993e91bf5b74b","signature":"5d3a9bbcd5ed145a341bc936f900186cbecd93cb1483ad23113d30c06f465b7d","impliedFormat":99},{"version":"4a74eb97d7e927fd4613d512881e2c7774722bec22975aef2f0696329e6f4fcb","signature":"e058875c50f41f87216aa6b86e2e016bac454b54b605cae2ad74edaac54d2705","impliedFormat":99},{"version":"460627dd2a599c2664d6f9e81ed4765ef520dc2786551d9dcab276df57b98c02","impliedFormat":1},{"version":"7e71435eafff29dc84f1b0975eb9b68ee0f7c4b4a091b67ddce877116db1cafd","signature":"9a686f4200ccf98949f49759954042c2271770c03da001914b3fa96a6e530102","impliedFormat":99},{"version":"edfc6a57a92399eff31f02e98049b6e20b6a5775bb49be4d02280afda465465f","signature":"e35a39c2245769a6d5c602ae3b9780a987d86f2bd5da7c702db613e410bbae80","impliedFormat":99},{"version":"40046ebe233b6a4223d31ff21d70e784e065e3464ed492855eb987a7934a6cf4","signature":"3f46fe7bb5bf11d108e60d5af24b57cd5e9be1d1dbefa4de37674910ddabcbef","impliedFormat":99},{"version":"bcf2dd002279c49c14df1f2a8ba4bbb7cbef405e266fea9d58998922f7560bf9","signature":"221aecc629800a4a51592c3752ccd2c902581eab8b4dc38fbf7c01db6fff027c","impliedFormat":99},{"version":"d8a4681be461cc9677bcd2b6ac36db0ae0724c311a2f919309364d6a7f53e642","signature":"14a5f040ae4ee39aa0014bd5cba29b404da5817f6c04be452ce4feae3db1fd87","impliedFormat":99},{"version":"6388500fb66062a46cd6c520f42474d2acab17162cc1171c9ad83d3a57c8692e","signature":"583809b8f6875800777f6f4e8b0bc42749a2e2faef9be726a725afc186136114","impliedFormat":99},{"version":"d3f6748fb666a5c817986464807512b612ad587dd093b04cc1a3473c9118ed3e","signature":"0ef7ba4048febffe53a3ed6a337f7330afb54c716c05a301b162eebe1d371944","impliedFormat":99},{"version":"f613be2ec98461cc0c827be56c9abee561614a615374e97ce84bc09fff21cd4c","signature":"78fc18290555b8afe7ef45ebdf6b2e9447afedbcb795f8813cc95e9a060c3697","impliedFormat":99},{"version":"7b0087d89f6f39595c6aa9dbc3a511a3a9a90bdad51178c4eb59f60b7f3ff4b9","signature":"63ab0d572afd520a6d43b697df1a29e37dd6c8946134521f7d8a96ba9793c521","impliedFormat":99},{"version":"b130ad2bdfc6a29c0778da18a5c934c3bb013d5a98aa698b48b5512bbf442121","signature":"70cacbbffe642e0b9303c09d5a8d3f95ac210032f61fa2ad19d11f4b85538887","impliedFormat":99},{"version":"b021d5b5d4a5f100bb02f3fd361351caf51b84f5727f0660cadb79dcafcf9e4f","signature":"fffd93560df350d95e923dd65fd7d486fcc58dc28b721364a8fc8a4933f75564","impliedFormat":99},{"version":"801ae1a90e722916f92eebff45e2b4ce23ad925d8adef0c69b228af19d149ce5","signature":"cc508f83120a560b7307fed31a238e3f2bbd08affd7172b67f3caa2f0cdd811d","impliedFormat":99},{"version":"2b329188a5521281eaa3efc461dd9365fe69e5306f2af3a107fdf614fb771e7d","signature":"f4dd0b3c1c8402c29dd6040c36fe00c3e948811b168a543a46e20668182f5c27","impliedFormat":99},{"version":"852a33ccd7a2186cee26eb6eaddc6529264adc46c917cbbcdd93d2603cc46503","signature":"bea51f6b94edd267dcd0830c959c4e6e5d331cfbcdb02343a9d29dd5877e46a2","impliedFormat":99},{"version":"a866c7865e7d56af0472e96dadcbba0a5396f61a5534640c0bd5ee86f3e67725","signature":"0c5d41f70ec7ef68737502a5436c3ed1d8316fe6d8c924b366a89408a6060db4","impliedFormat":99},{"version":"4bdc2c8ef966dc371613268c5f02560875575416c7bd67e6bc3e63277e285a92","signature":"8cf530bfc79261caae0023e266d0a50bd76279024b57932dbb9ec20c7d51a86b","impliedFormat":99},{"version":"7203a8dc9c3b075beae7cffba4a47c32725f40fdd55c226dcb73464d9eba0bf4","signature":"e3991ff2e2e5d53f6d72f95ed978068d0f448b18dff9dee89723a23c25adffe0","impliedFormat":99},{"version":"22f4111df74f927fa0d08f11d341a10ad3ffba85c14fd0581582862a2130707e","signature":"0eacee1a26cad9db7ae50838fe8801babe5d747102fba69a2dd1b32ec0a8046a","impliedFormat":99},{"version":"7aa92f0b6dbff48933366455bf9724761fe5d6d7957a7224201ed182570022b8","signature":"34473018a11f4aa8e5d80f00337f9063a5a2e58c89b55f554ddd96a1052bba2c","impliedFormat":99},{"version":"d9b85c16cc7c1c3e254529c2e3da9e138bccc72e183953c9227c10e574887f11","signature":"09a210e39962785380e85dfd7e4656ad06459500c4e9cc3df2590332babf894c","impliedFormat":99},{"version":"40db612deddf2daf6f1048136a5c071f46a751f2103922aab2542b72fc29f1d6","signature":"2a64532cb2426d48826bec84cd3efb6cf01cc085ab96f58a455546d3c3941bf3","impliedFormat":99},{"version":"c21cf35a0b5e54602d593564fdb5b040ff6eca0585b4ef8547784e465cdcbc77","signature":"2d5968d67185962d3cd09b7b68c83af9f6bf7ca4dbabc8d9ecfb2db8b50a988e","impliedFormat":99},{"version":"7759fd204f624bbf4aa8305158f83b978bb24fb5514b41ba7b881694ad07876d","signature":"c9263061d39b5c6baa223e13543312904e9d8d75b38d40089891868c97064160","impliedFormat":99},{"version":"4f9ee0890bcd315cbf2b7b24f7ad6a5bdc6bdc210270bf778c198e5c07ec218a","signature":"e3eb6d267e5375e1d891dd19a783bcc4724350ce23bf03fae64945f93949ba18","impliedFormat":99},{"version":"9846ca5c5f29acd4c6fef01333bdf3aee92a290c8939ee623675a1ed19042f5f","signature":"846825ba8a1eeb252186120eee82da7bb12e682aa6fdc4395304dff77851ecbc","impliedFormat":99},{"version":"7289353691af7adc86e932d05c6e49d9462ab7f9854047bfec013e42886b5717","signature":"0a4e9c761b85f26489364c575ea4ba7f27188ac0408688073519ec896e980d13","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"6fc1a4f64372593767a9b7b774e9b3b92bf04e8785c3f9ea98973aa9f4bbe490","impliedFormat":1},{"version":"bad6d83a581dbd97677b96ee3270a5e7d91b692d220b87aab53d63649e47b9ad","impliedFormat":1},{"version":"5f3d83561233c9f2ad1f9cc5e45a7dad0b863727c571c848fb6317d405efab97","impliedFormat":1},{"version":"a80e02af710bdac31f2d8308890ac4de4b6a221aafcbce808123bfc2903c5dc2","impliedFormat":1},{"version":"d5895252efa27a50f134a9b580aa61f7def5ab73d0a8071f9b5bf9a317c01c2d","impliedFormat":1},{"version":"2c378d9368abcd2eba8c29b294d40909845f68557bc0b38117e4f04fc56e5f9c","impliedFormat":1},{"version":"9ad2b3a8d8563177a660b2c629765fa9eddd8fcf7fdaf7734cd456e2a4e3e3fe","impliedFormat":1},{"version":"0c94c2e497e1b9bcfda66aea239d5d36cd980d12a6d9d59e66f4be1fa3da5d5a","impliedFormat":1},{"version":"a67774ceb500c681e1129b50a631fa210872bd4438fae55e5e8698bac7036b19","impliedFormat":1},{"version":"9b048390bcffe88c023a4cd742a720b41d4cd7df83bc9270e6f2339bf38de278","affectsGlobalScope":true,"impliedFormat":1},{"version":"a56ff40eb9934b7a318b813e6c53b31240fe77f16afe4ff35158a8f7fa1f8ad1","impliedFormat":1},{"version":"d5799bcf7fe4e6de3063abf4e321c14b051706f03cf5716d8a19f22fe1f69519","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1}],"root":[60,[167,198],[200,202],[204,229]],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"module":199,"noFallthroughCasesInSwitch":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[232,1],[233,2],[234,2],[235,2],[236,2],[237,3],[238,2],[241,2],[240,4],[242,5],[243,2],[239,2],[230,2],[203,2],[244,2],[245,2],[246,2],[112,6],[113,6],[114,7],[66,8],[115,9],[116,10],[117,11],[61,2],[64,12],[62,2],[63,2],[118,13],[119,14],[120,15],[121,16],[122,17],[123,18],[124,18],[125,19],[126,20],[127,21],[128,22],[67,2],[65,2],[129,23],[130,24],[131,25],[165,26],[132,27],[133,2],[134,28],[135,29],[136,30],[137,31],[138,32],[139,33],[140,34],[141,35],[142,36],[143,36],[144,37],[145,2],[146,38],[147,39],[149,40],[148,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,49],[158,50],[159,51],[160,52],[161,53],[162,54],[68,2],[69,2],[70,2],[109,55],[110,2],[111,2],[163,56],[164,57],[248,58],[247,2],[59,2],[231,2],[71,2],[199,2],[166,59],[57,2],[58,2],[10,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[21,2],[22,2],[4,2],[23,2],[27,2],[24,2],[25,2],[26,2],[28,2],[29,2],[30,2],[5,2],[31,2],[32,2],[33,2],[34,2],[6,2],[38,2],[35,2],[36,2],[37,2],[39,2],[7,2],[40,2],[45,2],[46,2],[41,2],[42,2],[43,2],[44,2],[8,2],[50,2],[47,2],[48,2],[49,2],[51,2],[9,2],[52,2],[53,2],[54,2],[56,2],[55,2],[1,2],[87,60],[97,61],[86,60],[107,62],[78,63],[77,64],[106,59],[100,65],[105,66],[80,67],[94,68],[79,69],[103,70],[75,71],[74,59],[104,72],[76,73],[81,74],[82,2],[85,74],[72,2],[108,75],[98,76],[89,77],[90,78],[92,79],[88,80],[91,81],[101,59],[83,82],[84,83],[93,84],[73,85],[96,76],[95,74],[99,2],[102,86],[194,87],[210,88],[209,2],[212,89],[211,90],[213,91],[216,92],[218,93],[217,94],[221,2],[214,95],[208,96],[205,97],[200,98],[206,99],[204,100],[202,101],[201,102],[222,103],[223,104],[224,2],[225,105],[226,106],[227,107],[228,108],[60,2],[195,109],[196,109],[220,110],[229,111],[207,112],[215,109],[187,113],[172,114],[188,115],[189,116],[181,117],[190,113],[170,2],[192,118],[180,119],[177,120],[193,121],[182,122],[173,2],[179,2],[183,123],[169,2],[174,113],[185,113],[191,113],[178,113],[176,2],[184,113],[175,113],[171,124],[186,113],[168,96],[167,125],[197,125],[219,2],[198,2]],"latestChangedDtsFile":"./integration/output-artifacts.d.ts","version":"5.9.3"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Atomizer Module
3
+ *
4
+ * Provides factory functions for creating ComparisonUnitAtom instances.
5
+ * Implements the core atomization logic from WmlComparer.
6
+ *
7
+ * @see WmlComparer.cs ComparisonUnitAtom constructor (lines 2314-2343)
8
+ */
9
+ import { ComparisonUnitAtom, CorrelationStatus, OpcPart, WmlElement } from './core-types.js';
10
+ /**
11
+ * Calculate SHA1 hash of a string.
12
+ *
13
+ * Used for quick equality checking of comparison units.
14
+ *
15
+ * @param content - The string content to hash
16
+ * @returns Hexadecimal SHA1 hash string
17
+ */
18
+ export declare function sha1(content: string): string;
19
+ /**
20
+ * Calculate SHA1 hash for a WmlElement.
21
+ *
22
+ * Includes tag name, attributes, and text content for uniqueness.
23
+ * Excludes presentation-only attributes like xml:space that don't affect content.
24
+ *
25
+ * @param element - The element to hash
26
+ * @returns Hexadecimal SHA1 hash string
27
+ */
28
+ export declare function hashElement(element: WmlElement): string;
29
+ /**
30
+ * Find a revision tracking element in the ancestor chain.
31
+ *
32
+ * Searches ancestors from nearest to root for w:ins, w:del, w:moveFrom, or w:moveTo.
33
+ *
34
+ * @param ancestors - Ancestor elements from root to parent
35
+ * @returns The revision tracking element if found, undefined otherwise
36
+ */
37
+ export declare function findRevisionTrackingElement(ancestors: WmlElement[]): WmlElement | undefined;
38
+ /**
39
+ * Determine initial correlation status from revision tracking element.
40
+ *
41
+ * @param revTrackElement - The revision tracking element (if any)
42
+ * @returns Initial correlation status
43
+ */
44
+ export declare function getStatusFromRevisionTracking(revTrackElement: WmlElement | undefined): CorrelationStatus;
45
+ /**
46
+ * Extract Unid attributes from ancestor elements.
47
+ *
48
+ * WmlComparer uses w:Unid attributes to correlate elements between documents.
49
+ *
50
+ * @param ancestors - Ancestor elements from root to parent
51
+ * @returns Array of Unid values found in ancestors
52
+ */
53
+ export declare function extractAncestorUnids(ancestors: WmlElement[]): string[];
54
+ /**
55
+ * Special tag name for empty paragraph boundary atoms.
56
+ * These atoms are created for paragraphs that have no content (only w:pPr).
57
+ */
58
+ export declare const EMPTY_PARAGRAPH_TAG = "__emptyParagraph__";
59
+ export interface AtomizeTreeOptions {
60
+ /**
61
+ * Clone leaf nodes into atom.contentElement instead of reusing the parsed AST nodes.
62
+ *
63
+ * This prevents boundary normalization (merge/split) from mutating the document AST,
64
+ * which is required for safe `reconstructionMode: 'inplace'`.
65
+ *
66
+ * Default: false (preserve historical behavior/perf).
67
+ */
68
+ cloneLeafNodes?: boolean;
69
+ /**
70
+ * Allow normalization to merge atoms across run boundaries if formatting matches.
71
+ *
72
+ * For `reconstructionMode: 'inplace'`, this should usually be false so that atom
73
+ * ancestry continues to point at the correct run for wrapping.
74
+ *
75
+ * Default: true.
76
+ */
77
+ mergeAcrossRuns?: boolean;
78
+ /**
79
+ * Allow punctuation normalization to merge across run boundaries.
80
+ *
81
+ * Default: true.
82
+ */
83
+ mergePunctuationAcrossRuns?: boolean;
84
+ /**
85
+ * Split text atoms on word boundaries for fine-grained diffs.
86
+ *
87
+ * Default: true.
88
+ */
89
+ splitTextIntoWords?: boolean;
90
+ }
91
+ /**
92
+ * Check if an element is a leaf node for atomization.
93
+ *
94
+ * Leaf nodes are the smallest units that can be compared.
95
+ *
96
+ * @param element - The element to check
97
+ * @returns True if this is a leaf node
98
+ */
99
+ export declare function isLeafNode(element: WmlElement): boolean;
100
+ /**
101
+ * Options for creating a ComparisonUnitAtom.
102
+ */
103
+ export interface CreateAtomOptions {
104
+ /** The leaf element (w:t, w:br, etc.) */
105
+ contentElement: WmlElement;
106
+ /** Ancestor elements from root to parent of contentElement */
107
+ ancestors: WmlElement[];
108
+ /** The OPC part this atom belongs to */
109
+ part: OpcPart;
110
+ }
111
+ /**
112
+ * Create a ComparisonUnitAtom from a leaf element.
113
+ *
114
+ * Replicates the C# ComparisonUnitAtom constructor logic:
115
+ * 1. Finds revision tracking elements in ancestors
116
+ * 2. Sets initial correlation status based on revision type
117
+ * 3. Extracts ancestor Unids for correlation
118
+ * 4. Calculates SHA1 hash for equality checking
119
+ *
120
+ * @param options - Options containing element, ancestors, and part
121
+ * @returns A new ComparisonUnitAtom
122
+ *
123
+ * @see WmlComparer.cs lines 2314-2343
124
+ */
125
+ export declare function createComparisonUnitAtom(options: CreateAtomOptions): ComparisonUnitAtom;
126
+ /**
127
+ * Atomize a document tree into a flat list of ComparisonUnitAtoms.
128
+ *
129
+ * Recursively traverses the tree, creating atoms for each leaf node.
130
+ * Also creates special atoms for empty paragraphs to preserve document structure.
131
+ *
132
+ * @param node - The current node in the tree
133
+ * @param ancestors - Ancestor elements from root to parent of node
134
+ * @param part - The OPC part this tree belongs to
135
+ * @returns Array of ComparisonUnitAtoms from leaf nodes
136
+ */
137
+ export declare function atomizeTree(node: WmlElement, ancestors: WmlElement[], part: OpcPart, options?: AtomizeTreeOptions): {
138
+ atoms: ComparisonUnitAtom[];
139
+ emptyParagraphCount: number;
140
+ };
141
+ /**
142
+ * Get all ancestors of a node by following parent references.
143
+ *
144
+ * @param node - The node to get ancestors for
145
+ * @returns Array of ancestors from root to immediate parent
146
+ */
147
+ export declare function getAncestors(node: WmlElement): WmlElement[];
148
+ /**
149
+ * Assign paragraph indices to atoms based on their w:p ancestors.
150
+ *
151
+ * This enables paragraph grouping in the document reconstructor when
152
+ * merging atoms from different source trees (original vs revised).
153
+ *
154
+ * @param atoms - Array of atoms to assign indices to
155
+ */
156
+ export declare function assignParagraphIndices(atoms: ComparisonUnitAtom[]): void;
157
+ /**
158
+ * Special tag name for collapsed field atoms.
159
+ * These represent Word field codes (REF, PAGEREF, etc.) collapsed to their visible result.
160
+ */
161
+ export declare const COLLAPSED_FIELD_TAG = "__collapsedField__";
162
+ /**
163
+ * Collapse field sequences into single atoms based on visible text.
164
+ *
165
+ * Word fields consist of:
166
+ * - w:fldChar[begin] - field start
167
+ * - w:instrText - field instruction (e.g., "REF _Ref123 \h")
168
+ * - w:fldChar[separate] - separates instruction from result
169
+ * - w:t (one or more) - visible result text
170
+ * - w:fldChar[end] - field end
171
+ *
172
+ * This function collapses each field sequence into a single atom whose hash
173
+ * is based only on the visible text. This allows matching between:
174
+ * - Hardcoded text: "2.6"
175
+ * - Field reference: [REF field]2.6[/field]
176
+ *
177
+ * Both will produce atoms with the same hash if the visible text matches.
178
+ *
179
+ * NOTE: Multi-paragraph fields (like TOC, INDEX) are NOT collapsed because
180
+ * they would lose paragraph structure information.
181
+ *
182
+ * @param atoms - Array of atoms from atomization
183
+ * @returns Array with field sequences collapsed to single atoms
184
+ */
185
+ export declare function collapseFieldSequences(atoms: ComparisonUnitAtom[]): ComparisonUnitAtom[];
186
+ /**
187
+ * Split all w:t atoms into word-level atoms.
188
+ *
189
+ * @param atoms - Array of atoms
190
+ * @returns Array with w:t atoms split into words
191
+ */
192
+ export declare function splitAtomsIntoWords(atoms: ComparisonUnitAtom[]): ComparisonUnitAtom[];
193
+ /**
194
+ * Merge punctuation-only atoms with preceding text.
195
+ *
196
+ * This handles cases where documents have different w:t boundaries around
197
+ * punctuation (e.g., "Conduct" + "," vs "Conduct,"). Punctuation is merged
198
+ * with the preceding word regardless of run formatting differences.
199
+ *
200
+ * @param atoms - Array of atoms
201
+ * @returns Atoms with punctuation merged into preceding text
202
+ */
203
+ export declare function mergePunctuationAtoms(atoms: ComparisonUnitAtom[], options?: Required<Pick<AtomizeTreeOptions, 'mergePunctuationAcrossRuns'>>): ComparisonUnitAtom[];
204
+ /**
205
+ * Merge contiguous w:t atoms within the same run into single atoms.
206
+ *
207
+ * This normalization ensures that identical text split differently across
208
+ * w:t elements in original vs revised documents will produce matching hashes.
209
+ *
210
+ * Example:
211
+ * Before: ["Def", "initions"] (2 atoms)
212
+ * After: ["Definitions"] (1 atom)
213
+ *
214
+ * @param atoms - Array of atoms from atomization
215
+ * @returns Normalized array with contiguous text atoms merged
216
+ */
217
+ export declare function mergeContiguousTextAtoms(atoms: ComparisonUnitAtom[], options?: Required<Pick<AtomizeTreeOptions, 'mergeAcrossRuns'>>): ComparisonUnitAtom[];
218
+ //# sourceMappingURL=atomizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atomizer.d.ts","sourceRoot":"","sources":["../src/atomizer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,OAAO,EACP,UAAU,EACX,MAAM,iBAAiB,CAAC;AAsBzB;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5C;AAWD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAsBvD;AAWD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,UAAU,EAAE,GACtB,UAAU,GAAG,SAAS,CASxB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,UAAU,GAAG,SAAS,GACtC,iBAAiB,CAiBnB;AAMD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAStE;AAwCD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAEvD;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,cAAc,EAAE,UAAU,CAAC;IAC3B,8DAA8D;IAC9D,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,wCAAwC;IACxC,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,iBAAiB,GACzB,kBAAkB,CA6BpB;AAyHD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,UAAU,EAAE,EACvB,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,kBAAuB,GAC/B;IAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,CAqC9D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,CAQ3D;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAkBxE;AAMD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AA+DxD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,EAAE,GAC1B,kBAAkB,EAAE,CA+EtB;AA8ED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,kBAAkB,EAAE,GAC1B,kBAAkB,EAAE,CAQtB;AA4LD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,4BAA4B,CAAC,CAAwC,GAC/G,kBAAkB,EAAE,CAiBtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,EAAE,EAC3B,OAAO,GAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAA6B,GACzF,kBAAkB,EAAE,CAkBtB"}