@markandre13/usd.js 0.0.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 (239) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +5 -0
  3. package/dist/compression/compress.d.ts +7 -0
  4. package/dist/compression/compress.d.ts.map +1 -0
  5. package/dist/compression/compress.js +28 -0
  6. package/dist/compression/compress.js.map +1 -0
  7. package/dist/compression/integers.d.ts +3 -0
  8. package/dist/compression/integers.d.ts.map +1 -0
  9. package/dist/compression/integers.js +159 -0
  10. package/dist/compression/integers.js.map +1 -0
  11. package/dist/compression/lz4.d.ts +4 -0
  12. package/dist/compression/lz4.d.ts.map +1 -0
  13. package/dist/compression/lz4.js +163 -0
  14. package/dist/compression/lz4.js.map +1 -0
  15. package/dist/crate/BootStrap.d.ts +17 -0
  16. package/dist/crate/BootStrap.d.ts.map +1 -0
  17. package/dist/crate/BootStrap.js +47 -0
  18. package/dist/crate/BootStrap.js.map +1 -0
  19. package/dist/crate/Crate.d.ts +30 -0
  20. package/dist/crate/Crate.d.ts.map +1 -0
  21. package/dist/crate/Crate.js +203 -0
  22. package/dist/crate/Crate.js.map +1 -0
  23. package/dist/crate/CrateDataType.d.ts +78 -0
  24. package/dist/crate/CrateDataType.d.ts.map +1 -0
  25. package/dist/crate/CrateDataType.js +119 -0
  26. package/dist/crate/CrateDataType.js.map +1 -0
  27. package/dist/crate/Field.d.ts +9 -0
  28. package/dist/crate/Field.d.ts.map +1 -0
  29. package/dist/crate/Field.js +12 -0
  30. package/dist/crate/Field.js.map +1 -0
  31. package/dist/crate/FieldSets.d.ts +8 -0
  32. package/dist/crate/FieldSets.d.ts.map +1 -0
  33. package/dist/crate/FieldSets.js +16 -0
  34. package/dist/crate/FieldSets.js.map +1 -0
  35. package/dist/crate/Fields.d.ts +61 -0
  36. package/dist/crate/Fields.d.ts.map +1 -0
  37. package/dist/crate/Fields.js +416 -0
  38. package/dist/crate/Fields.js.map +1 -0
  39. package/dist/crate/Paths.d.ts +19 -0
  40. package/dist/crate/Paths.d.ts.map +1 -0
  41. package/dist/crate/Paths.js +47 -0
  42. package/dist/crate/Paths.js.map +1 -0
  43. package/dist/crate/Reader.d.ts +18 -0
  44. package/dist/crate/Reader.d.ts.map +1 -0
  45. package/dist/crate/Reader.js +86 -0
  46. package/dist/crate/Reader.js.map +1 -0
  47. package/dist/crate/Section.d.ts +16 -0
  48. package/dist/crate/Section.d.ts.map +1 -0
  49. package/dist/crate/Section.js +24 -0
  50. package/dist/crate/Section.js.map +1 -0
  51. package/dist/crate/SectionName.d.ts +9 -0
  52. package/dist/crate/SectionName.d.ts.map +1 -0
  53. package/dist/crate/SectionName.js +10 -0
  54. package/dist/crate/SectionName.js.map +1 -0
  55. package/dist/crate/SpecType.d.ts +17 -0
  56. package/dist/crate/SpecType.d.ts.map +1 -0
  57. package/dist/crate/SpecType.js +29 -0
  58. package/dist/crate/SpecType.js.map +1 -0
  59. package/dist/crate/Specifier.d.ts +7 -0
  60. package/dist/crate/Specifier.d.ts.map +1 -0
  61. package/dist/crate/Specifier.js +8 -0
  62. package/dist/crate/Specifier.js.map +1 -0
  63. package/dist/crate/Specs.d.ts +11 -0
  64. package/dist/crate/Specs.d.ts.map +1 -0
  65. package/dist/crate/Specs.js +29 -0
  66. package/dist/crate/Specs.js.map +1 -0
  67. package/dist/crate/Stage.d.ts +8 -0
  68. package/dist/crate/Stage.d.ts.map +1 -0
  69. package/dist/crate/Stage.js +35 -0
  70. package/dist/crate/Stage.js.map +1 -0
  71. package/dist/crate/Strings.d.ts +14 -0
  72. package/dist/crate/Strings.d.ts.map +1 -0
  73. package/dist/crate/Strings.js +45 -0
  74. package/dist/crate/Strings.js.map +1 -0
  75. package/dist/crate/TableOfContents.d.ts +13 -0
  76. package/dist/crate/TableOfContents.d.ts.map +1 -0
  77. package/dist/crate/TableOfContents.js +32 -0
  78. package/dist/crate/TableOfContents.js.map +1 -0
  79. package/dist/crate/Tokens.d.ts +11 -0
  80. package/dist/crate/Tokens.d.ts.map +1 -0
  81. package/dist/crate/Tokens.js +78 -0
  82. package/dist/crate/Tokens.js.map +1 -0
  83. package/dist/crate/UsdNode.d.ts +64 -0
  84. package/dist/crate/UsdNode.d.ts.map +1 -0
  85. package/dist/crate/UsdNode.js +283 -0
  86. package/dist/crate/UsdNode.js.map +1 -0
  87. package/dist/crate/ValueRep.d.ts +31 -0
  88. package/dist/crate/ValueRep.d.ts.map +1 -0
  89. package/dist/crate/ValueRep.js +379 -0
  90. package/dist/crate/ValueRep.js.map +1 -0
  91. package/dist/crate/Variability.d.ts +7 -0
  92. package/dist/crate/Variability.d.ts.map +1 -0
  93. package/dist/crate/Variability.js +8 -0
  94. package/dist/crate/Variability.js.map +1 -0
  95. package/dist/crate/Writer.d.ts +56 -0
  96. package/dist/crate/Writer.d.ts.map +1 -0
  97. package/dist/crate/Writer.js +214 -0
  98. package/dist/crate/Writer.js.map +1 -0
  99. package/dist/detail/hexdump.d.ts +3 -0
  100. package/dist/detail/hexdump.d.ts.map +1 -0
  101. package/dist/detail/hexdump.js +41 -0
  102. package/dist/detail/hexdump.js.map +1 -0
  103. package/dist/nodes/attributes/AssetPathAttr.d.ts +7 -0
  104. package/dist/nodes/attributes/AssetPathAttr.d.ts.map +1 -0
  105. package/dist/nodes/attributes/AssetPathAttr.js +17 -0
  106. package/dist/nodes/attributes/AssetPathAttr.js.map +1 -0
  107. package/dist/nodes/attributes/Attribute.d.ts +7 -0
  108. package/dist/nodes/attributes/Attribute.d.ts.map +1 -0
  109. package/dist/nodes/attributes/Attribute.js +15 -0
  110. package/dist/nodes/attributes/Attribute.js.map +1 -0
  111. package/dist/nodes/attributes/BooleanAttr.d.ts +13 -0
  112. package/dist/nodes/attributes/BooleanAttr.d.ts.map +1 -0
  113. package/dist/nodes/attributes/BooleanAttr.js +22 -0
  114. package/dist/nodes/attributes/BooleanAttr.js.map +1 -0
  115. package/dist/nodes/attributes/Color3fAttr.d.ts +7 -0
  116. package/dist/nodes/attributes/Color3fAttr.d.ts.map +1 -0
  117. package/dist/nodes/attributes/Color3fAttr.js +17 -0
  118. package/dist/nodes/attributes/Color3fAttr.js.map +1 -0
  119. package/dist/nodes/attributes/FloatAttr.d.ts +7 -0
  120. package/dist/nodes/attributes/FloatAttr.d.ts.map +1 -0
  121. package/dist/nodes/attributes/FloatAttr.js +17 -0
  122. package/dist/nodes/attributes/FloatAttr.js.map +1 -0
  123. package/dist/nodes/attributes/IntArrayAttr.d.ts +7 -0
  124. package/dist/nodes/attributes/IntArrayAttr.d.ts.map +1 -0
  125. package/dist/nodes/attributes/IntArrayAttr.js +17 -0
  126. package/dist/nodes/attributes/IntArrayAttr.js.map +1 -0
  127. package/dist/nodes/attributes/Relationship.d.ts +8 -0
  128. package/dist/nodes/attributes/Relationship.d.ts.map +1 -0
  129. package/dist/nodes/attributes/Relationship.js +18 -0
  130. package/dist/nodes/attributes/Relationship.js.map +1 -0
  131. package/dist/nodes/attributes/StringAttr.d.ts +10 -0
  132. package/dist/nodes/attributes/StringAttr.d.ts.map +1 -0
  133. package/dist/nodes/attributes/StringAttr.js +19 -0
  134. package/dist/nodes/attributes/StringAttr.js.map +1 -0
  135. package/dist/nodes/attributes/TokenAttr.d.ts +9 -0
  136. package/dist/nodes/attributes/TokenAttr.d.ts.map +1 -0
  137. package/dist/nodes/attributes/TokenAttr.js +24 -0
  138. package/dist/nodes/attributes/TokenAttr.js.map +1 -0
  139. package/dist/nodes/attributes/VariabilityAttr.d.ts +9 -0
  140. package/dist/nodes/attributes/VariabilityAttr.d.ts.map +1 -0
  141. package/dist/nodes/attributes/VariabilityAttr.js +20 -0
  142. package/dist/nodes/attributes/VariabilityAttr.js.map +1 -0
  143. package/dist/nodes/attributes/Vec2fArrayAttr.d.ts +10 -0
  144. package/dist/nodes/attributes/Vec2fArrayAttr.d.ts.map +1 -0
  145. package/dist/nodes/attributes/Vec2fArrayAttr.js +23 -0
  146. package/dist/nodes/attributes/Vec2fArrayAttr.js.map +1 -0
  147. package/dist/nodes/attributes/Vec3fArrayAttr.d.ts +9 -0
  148. package/dist/nodes/attributes/Vec3fArrayAttr.d.ts.map +1 -0
  149. package/dist/nodes/attributes/Vec3fArrayAttr.js +23 -0
  150. package/dist/nodes/attributes/Vec3fArrayAttr.js.map +1 -0
  151. package/dist/nodes/geometry/Boundable.d.ts +5 -0
  152. package/dist/nodes/geometry/Boundable.d.ts.map +1 -0
  153. package/dist/nodes/geometry/Boundable.js +11 -0
  154. package/dist/nodes/geometry/Boundable.js.map +1 -0
  155. package/dist/nodes/geometry/Camera.d.ts +12 -0
  156. package/dist/nodes/geometry/Camera.d.ts.map +1 -0
  157. package/dist/nodes/geometry/Camera.js +55 -0
  158. package/dist/nodes/geometry/Camera.js.map +1 -0
  159. package/dist/nodes/geometry/GeomSubset.d.ts +6 -0
  160. package/dist/nodes/geometry/GeomSubset.d.ts.map +1 -0
  161. package/dist/nodes/geometry/GeomSubset.js +19 -0
  162. package/dist/nodes/geometry/GeomSubset.js.map +1 -0
  163. package/dist/nodes/geometry/Gprim.d.ts +5 -0
  164. package/dist/nodes/geometry/Gprim.d.ts.map +1 -0
  165. package/dist/nodes/geometry/Gprim.js +12 -0
  166. package/dist/nodes/geometry/Gprim.js.map +1 -0
  167. package/dist/nodes/geometry/Imageable.d.ts +4 -0
  168. package/dist/nodes/geometry/Imageable.d.ts.map +1 -0
  169. package/dist/nodes/geometry/Imageable.js +4 -0
  170. package/dist/nodes/geometry/Imageable.js.map +1 -0
  171. package/dist/nodes/geometry/Mesh.d.ts +26 -0
  172. package/dist/nodes/geometry/Mesh.d.ts.map +1 -0
  173. package/dist/nodes/geometry/Mesh.js +110 -0
  174. package/dist/nodes/geometry/Mesh.js.map +1 -0
  175. package/dist/nodes/geometry/PointBased.d.ts +13 -0
  176. package/dist/nodes/geometry/PointBased.d.ts.map +1 -0
  177. package/dist/nodes/geometry/PointBased.js +36 -0
  178. package/dist/nodes/geometry/PointBased.js.map +1 -0
  179. package/dist/nodes/geometry/Scope.d.ts +6 -0
  180. package/dist/nodes/geometry/Scope.d.ts.map +1 -0
  181. package/dist/nodes/geometry/Scope.js +12 -0
  182. package/dist/nodes/geometry/Scope.js.map +1 -0
  183. package/dist/nodes/geometry/Xform.d.ts +6 -0
  184. package/dist/nodes/geometry/Xform.d.ts.map +1 -0
  185. package/dist/nodes/geometry/Xform.js +12 -0
  186. package/dist/nodes/geometry/Xform.js.map +1 -0
  187. package/dist/nodes/geometry/Xformable.d.ts +11 -0
  188. package/dist/nodes/geometry/Xformable.d.ts.map +1 -0
  189. package/dist/nodes/geometry/Xformable.js +46 -0
  190. package/dist/nodes/geometry/Xformable.js.map +1 -0
  191. package/dist/nodes/lux/BoundableLightBase.d.ts +8 -0
  192. package/dist/nodes/lux/BoundableLightBase.d.ts.map +1 -0
  193. package/dist/nodes/lux/BoundableLightBase.js +39 -0
  194. package/dist/nodes/lux/BoundableLightBase.js.map +1 -0
  195. package/dist/nodes/lux/DomeLight.d.ts +8 -0
  196. package/dist/nodes/lux/DomeLight.d.ts.map +1 -0
  197. package/dist/nodes/lux/DomeLight.js +23 -0
  198. package/dist/nodes/lux/DomeLight.js.map +1 -0
  199. package/dist/nodes/lux/NonboundableLightBase.d.ts +6 -0
  200. package/dist/nodes/lux/NonboundableLightBase.d.ts.map +1 -0
  201. package/dist/nodes/lux/NonboundableLightBase.js +23 -0
  202. package/dist/nodes/lux/NonboundableLightBase.js.map +1 -0
  203. package/dist/nodes/lux/SphereLight.d.ts +7 -0
  204. package/dist/nodes/lux/SphereLight.d.ts.map +1 -0
  205. package/dist/nodes/lux/SphereLight.js +22 -0
  206. package/dist/nodes/lux/SphereLight.js.map +1 -0
  207. package/dist/nodes/shader/Material.d.ts +7 -0
  208. package/dist/nodes/shader/Material.d.ts.map +1 -0
  209. package/dist/nodes/shader/Material.js +19 -0
  210. package/dist/nodes/shader/Material.js.map +1 -0
  211. package/dist/nodes/shader/NodeGraph.d.ts +4 -0
  212. package/dist/nodes/shader/NodeGraph.d.ts.map +1 -0
  213. package/dist/nodes/shader/NodeGraph.js +4 -0
  214. package/dist/nodes/shader/NodeGraph.js.map +1 -0
  215. package/dist/nodes/shader/Shader.d.ts +7 -0
  216. package/dist/nodes/shader/Shader.d.ts.map +1 -0
  217. package/dist/nodes/shader/Shader.js +19 -0
  218. package/dist/nodes/shader/Shader.js.map +1 -0
  219. package/dist/nodes/skeleton/SkelRoot.d.ts +6 -0
  220. package/dist/nodes/skeleton/SkelRoot.d.ts.map +1 -0
  221. package/dist/nodes/skeleton/SkelRoot.js +12 -0
  222. package/dist/nodes/skeleton/SkelRoot.js.map +1 -0
  223. package/dist/nodes/skeleton/Skeleton.d.ts +12 -0
  224. package/dist/nodes/skeleton/Skeleton.d.ts.map +1 -0
  225. package/dist/nodes/skeleton/Skeleton.js +68 -0
  226. package/dist/nodes/skeleton/Skeleton.js.map +1 -0
  227. package/dist/nodes/usd/PseudoRoot.d.ts +11 -0
  228. package/dist/nodes/usd/PseudoRoot.d.ts.map +1 -0
  229. package/dist/nodes/usd/PseudoRoot.js +20 -0
  230. package/dist/nodes/usd/PseudoRoot.js.map +1 -0
  231. package/dist/nodes/usd/SchemaBase.d.ts +4 -0
  232. package/dist/nodes/usd/SchemaBase.d.ts.map +1 -0
  233. package/dist/nodes/usd/SchemaBase.js +4 -0
  234. package/dist/nodes/usd/SchemaBase.js.map +1 -0
  235. package/dist/nodes/usd/Typed.d.ts +8 -0
  236. package/dist/nodes/usd/Typed.d.ts.map +1 -0
  237. package/dist/nodes/usd/Typed.js +11 -0
  238. package/dist/nodes/usd/Typed.js.map +1 -0
  239. package/package.json +39 -0
@@ -0,0 +1,416 @@
1
+ import { compressToBuffer, decompressFromBuffer } from "../compression/compress.js";
2
+ import { CrateDataType, ListOpHeader } from "./CrateDataType.js";
3
+ import { Field } from "./Field.js";
4
+ import { compressBound } from "../compression/lz4.js";
5
+ import { Reader } from "./Reader.js";
6
+ import { kMinCompressedArraySize, ValueRep } from "./ValueRep.js";
7
+ import { Writer } from "./Writer.js";
8
+ import { UsdNode } from "./UsdNode.js";
9
+ const IsArrayBit_ = 128;
10
+ const IsInlinedBit = 64;
11
+ const IsCompressedBit = 32;
12
+ export class Fields {
13
+ tokenIndices = [];
14
+ data;
15
+ fields;
16
+ valueReps = new Writer(undefined, "valuerep");
17
+ offset = 0;
18
+ tokens;
19
+ strings;
20
+ constructor(tokensOrReader, strings, data) {
21
+ if (tokensOrReader instanceof Reader) {
22
+ const reader = tokensOrReader;
23
+ const numFields = reader.getUint64();
24
+ const indices = reader.getCompressedIntegers(numFields);
25
+ const compressedSize = reader.getUint64();
26
+ const uncompressedSize = numFields * 8;
27
+ const compressed = new Uint8Array(reader._dataview.buffer, reader.offset, compressedSize);
28
+ const uncompressed = new Uint8Array(uncompressedSize);
29
+ if (uncompressedSize !== decompressFromBuffer(compressed, uncompressed)) {
30
+ throw Error("Failed to read Fields ValueRep data.");
31
+ }
32
+ const dataview = new DataView(uncompressed.buffer);
33
+ this.fields = new Array(numFields);
34
+ for (let field = 0; field < numFields; ++field) {
35
+ this.fields[field] = new Field(indices[field], new ValueRep(dataview, field * 8));
36
+ }
37
+ }
38
+ else {
39
+ this.tokens = tokensOrReader;
40
+ this.strings = strings;
41
+ this.data = data;
42
+ }
43
+ }
44
+ setInt(name, value) {
45
+ const idx = this.valueReps.tell() / 8;
46
+ this.tokenIndices.push(this.tokens.add(name));
47
+ this.valueReps.writeInt32(value);
48
+ this.valueReps.skip(2);
49
+ this.valueReps.writeUint8(CrateDataType.Int);
50
+ this.valueReps.writeUint8(IsInlinedBit);
51
+ return idx;
52
+ }
53
+ setFloat(name, value) {
54
+ const idx = this.valueReps.tell() / 8;
55
+ this.tokenIndices.push(this.tokens.add(name));
56
+ this.valueReps.writeFloat32(value);
57
+ this.valueReps.skip(2);
58
+ this.valueReps.writeUint8(CrateDataType.Float);
59
+ this.valueReps.writeUint8(IsInlinedBit);
60
+ return idx;
61
+ }
62
+ setBoolean(name, value) {
63
+ this.tokenIndices.push(this.tokens.add(name));
64
+ return this._setBoolean(value);
65
+ }
66
+ _setBoolean(value) {
67
+ return this.__setBoolean(this.valueReps, value);
68
+ }
69
+ __setBoolean(writer, value) {
70
+ const idx = this.valueReps.tell() / 8;
71
+ writer.writeUint8(value ? 1 : 0);
72
+ writer.skip(5);
73
+ writer.writeUint8(CrateDataType.Bool);
74
+ writer.writeUint8(IsInlinedBit);
75
+ return idx;
76
+ }
77
+ setDouble(name, value) {
78
+ const idx = this.valueReps.tell() / 8;
79
+ this.tokenIndices.push(this.tokens.add(name));
80
+ this.valueReps.writeFloat32(value);
81
+ this.valueReps.skip(2);
82
+ this.valueReps.writeUint8(CrateDataType.Double);
83
+ this.valueReps.writeUint8(IsInlinedBit);
84
+ return idx;
85
+ }
86
+ setVariability(name, value) {
87
+ const idx = this.valueReps.tell() / 8;
88
+ this.tokenIndices.push(this.tokens.add(name));
89
+ this.valueReps.writeUint32(value);
90
+ this.valueReps.skip(2);
91
+ this.valueReps.writeUint8(CrateDataType.Variability);
92
+ this.valueReps.writeUint8(IsInlinedBit);
93
+ return idx;
94
+ }
95
+ setToken(name, value) {
96
+ const idx = this.valueReps.tell() / 8;
97
+ this.tokenIndices.push(this.tokens.add(name));
98
+ this.valueReps.writeUint32(this.tokens.add(value));
99
+ this.valueReps.skip(2);
100
+ this.valueReps.writeUint8(CrateDataType.Token);
101
+ this.valueReps.writeUint8(IsInlinedBit);
102
+ return idx;
103
+ }
104
+ setAssetPath(name, value) {
105
+ const idx = this.valueReps.tell() / 8;
106
+ this.tokenIndices.push(this.tokens.add(name));
107
+ this.valueReps.writeUint32(this.tokens.add(value));
108
+ this.valueReps.skip(2);
109
+ this.valueReps.writeUint8(CrateDataType.AssetPath);
110
+ this.valueReps.writeUint8(IsInlinedBit);
111
+ return idx;
112
+ }
113
+ setTokenVector(name, value) {
114
+ const idx = this.valueReps.tell() / 8;
115
+ this.tokenIndices.push(this.tokens.add(name));
116
+ this.valueReps.writeUint32(this.data.tell());
117
+ this.valueReps.skip(2);
118
+ this.valueReps.writeUint8(CrateDataType.TokenVector);
119
+ this.valueReps.writeUint8(0);
120
+ this.data.writeUint64(value.length);
121
+ for (const v of value) {
122
+ this.data.writeUint32(this.tokens.add(v));
123
+ }
124
+ return idx;
125
+ }
126
+ setTokenArray(name, value) {
127
+ const idx = this.valueReps.tell() / 8;
128
+ this.tokenIndices.push(this.tokens.add(name));
129
+ this.valueReps.writeUint32(this.data.tell());
130
+ this.valueReps.skip(2);
131
+ this.valueReps.writeUint8(CrateDataType.Token);
132
+ this.valueReps.writeUint8(IsArrayBit_);
133
+ this.data.writeUint64(value.length);
134
+ for (const v of value) {
135
+ this.data.writeUint32(this.tokens.add(v));
136
+ }
137
+ return idx;
138
+ }
139
+ setSpecifier(name, value) {
140
+ const idx = this.valueReps.tell() / 8;
141
+ this.tokenIndices.push(this.tokens.add(name));
142
+ this.valueReps.writeUint32(value);
143
+ this.valueReps.skip(2);
144
+ this.valueReps.writeUint8(CrateDataType.Specifier);
145
+ this.valueReps.writeUint8(IsInlinedBit);
146
+ return idx;
147
+ }
148
+ setDictionary(name, value) {
149
+ this.tokenIndices.push(this.tokens.add(name));
150
+ return this._setDictionary(value);
151
+ }
152
+ _setDictionary(value) {
153
+ return this.__setDictionary(this.valueReps, this.data, value);
154
+ }
155
+ __setDictionary(writer0, writer1, value) {
156
+ const idx = writer0.tell() / 8;
157
+ const offset0 = writer0.tell();
158
+ writer0.skip(8);
159
+ const offset1 = writer1.tell();
160
+ writer0.seek(offset0);
161
+ writer0.writeUint32(offset1);
162
+ writer0.skip(2);
163
+ writer0.writeUint8(CrateDataType.Dictionary);
164
+ writer0.writeUint8(0);
165
+ const names = Object.getOwnPropertyNames(value);
166
+ writer1.writeUint64(names.length);
167
+ const oldPos = writer1.tell();
168
+ writer1.skip(names.length * (4 + 8));
169
+ const offsets = [];
170
+ for (const name of names) {
171
+ offsets.push(writer1.tell());
172
+ const v = value[name];
173
+ switch (typeof v) {
174
+ case "boolean":
175
+ this.__setBoolean(writer1, v);
176
+ break;
177
+ case "object":
178
+ this.__setDictionary(writer1, writer1, v);
179
+ break;
180
+ default:
181
+ throw Error(`yikes: type ${typeof v} not implemented yet`);
182
+ }
183
+ }
184
+ const offsetEnd = writer1.tell();
185
+ writer1.seek(oldPos);
186
+ for (const name of names) {
187
+ writer1.writeUint32(this.strings.add(name));
188
+ writer1.writeUint64(offsets.shift() - writer1.tell());
189
+ }
190
+ writer1.seek(offsetEnd);
191
+ return idx;
192
+ }
193
+ setTokenListOp(name, value) {
194
+ return this._setListOp(name, value, CrateDataType.TokenListOp);
195
+ }
196
+ setPathListOp(name, value) {
197
+ return this._setListOp(name, value, CrateDataType.PathListOp);
198
+ }
199
+ _setListOp(name, value, type) {
200
+ const idx = this.valueReps.tell() / 8;
201
+ this.tokenIndices.push(this.tokens.add(name));
202
+ const offset = this.data.tell();
203
+ this.valueReps.writeUint32(this.data.tell());
204
+ this.valueReps.skip(2);
205
+ this.valueReps.writeUint8(type);
206
+ this.valueReps.writeUint8(0);
207
+ const hdr = new ListOpHeader(this.data, value);
208
+ const write = (list) => {
209
+ if (list === undefined) {
210
+ return;
211
+ }
212
+ this.data.writeUint64(list.length);
213
+ for (const v of list) {
214
+ switch (typeof v) {
215
+ case "string":
216
+ this.data.writeUint32(this.tokens.add(v));
217
+ break;
218
+ case "number":
219
+ this.data.writeUint32(v);
220
+ break;
221
+ case "object":
222
+ const o = v;
223
+ if (o instanceof UsdNode) {
224
+ if (o.index === -1) {
225
+ throw Error(`Fields._setListOp("${name}", ...): object ${o.getFullPathName()} has no index yet`);
226
+ }
227
+ this.data.writeUint32(o.index);
228
+ }
229
+ else {
230
+ throw Error("yikes");
231
+ }
232
+ break;
233
+ }
234
+ }
235
+ };
236
+ write(value.explicit);
237
+ write(value.add);
238
+ write(value.prepend);
239
+ write(value.append);
240
+ write(value.delete);
241
+ write(value.order);
242
+ return idx;
243
+ }
244
+ setString(name, value) {
245
+ const idx = this.valueReps.tell() / 8;
246
+ this.tokenIndices.push(this.tokens.add(name));
247
+ this.valueReps.writeUint32(this.strings.add(value));
248
+ this.valueReps.skip(2);
249
+ this.valueReps.writeUint8(CrateDataType.String);
250
+ this.valueReps.writeUint8(IsInlinedBit);
251
+ return idx;
252
+ }
253
+ setIntArray(name, value) {
254
+ const idx = this.valueReps.tell() / 8;
255
+ this.tokenIndices.push(this.tokens.add(name));
256
+ this.valueReps.writeUint32(this.data.tell());
257
+ this.valueReps.skip(2);
258
+ this.valueReps.writeUint8(CrateDataType.Int);
259
+ if (value.length < kMinCompressedArraySize) {
260
+ this.valueReps.writeUint8(IsArrayBit_);
261
+ this.data.writeUint64(value.length);
262
+ for (let i = 0; i < value.length; ++i) {
263
+ this.data.writeInt32(value[i]);
264
+ }
265
+ }
266
+ else {
267
+ this.valueReps.writeUint8(IsArrayBit_ | IsCompressedBit);
268
+ this.data.writeCompressedIntegers(value);
269
+ }
270
+ return idx;
271
+ }
272
+ setVec2f(name, value) {
273
+ return this.setVecXf(name, value, CrateDataType.Vec2f, 2);
274
+ }
275
+ setVec3f(name, value) {
276
+ return this.setVecXf(name, value, CrateDataType.Vec3f, 3);
277
+ }
278
+ setVec4f(name, value) {
279
+ return this.setVecXf(name, value, CrateDataType.Vec4f, 4);
280
+ }
281
+ setVecXf(name, value, type, n) {
282
+ if (value.length < n) {
283
+ throw Error(`setVec${n}f('${name}', value: number[3]): value too small`);
284
+ }
285
+ const idx = this.valueReps.tell() / 8;
286
+ this.tokenIndices.push(this.tokens.add(name));
287
+ let canInline = true;
288
+ for (let i = 0; i < n; ++i) {
289
+ if (Math.round(value[i]) !== value[i] || value[i] < -128 || value[i] > 127) {
290
+ canInline = false;
291
+ break;
292
+ }
293
+ }
294
+ if (canInline) {
295
+ for (let i = 0; i < n; ++i) {
296
+ this.valueReps.writeUint8(value[i]);
297
+ }
298
+ for (let i = n; i < 4; ++i) {
299
+ this.valueReps.writeUint8(0);
300
+ }
301
+ this.valueReps.skip(2);
302
+ this.valueReps.writeUint8(type);
303
+ this.valueReps.writeUint8(IsInlinedBit);
304
+ }
305
+ else {
306
+ this.valueReps.writeUint32(this.data.tell());
307
+ this.valueReps.skip(2);
308
+ this.valueReps.writeUint8(type);
309
+ this.valueReps.writeUint8(0);
310
+ for (let i = 0; i < n; ++i) {
311
+ this.data.writeFloat32(value[i]);
312
+ }
313
+ }
314
+ return idx;
315
+ }
316
+ setVec3d(name, value) {
317
+ if (value.length < 3) {
318
+ throw Error(`setVec3d('${name}', value: number[3]): value too small`);
319
+ }
320
+ const idx = this.valueReps.tell() / 8;
321
+ this.tokenIndices.push(this.tokens.add(name));
322
+ if (Math.round(value[0]) == value[0]
323
+ && Math.round(value[1]) == value[1]
324
+ && Math.round(value[2]) == value[2]) {
325
+ this.valueReps.writeUint8(value[0]);
326
+ this.valueReps.writeUint8(value[1]);
327
+ this.valueReps.writeUint8(value[2]);
328
+ this.valueReps.writeUint8(0);
329
+ this.valueReps.skip(2);
330
+ this.valueReps.writeUint8(CrateDataType.Vec3d);
331
+ this.valueReps.writeUint8(IsInlinedBit);
332
+ }
333
+ else {
334
+ this.valueReps.writeUint32(this.data.tell());
335
+ this.valueReps.skip(2);
336
+ this.valueReps.writeUint8(CrateDataType.Vec3d);
337
+ this.valueReps.writeUint8(0);
338
+ for (let i = 0; i < 3; ++i) {
339
+ this.data.writeFloat64(value[i]);
340
+ }
341
+ }
342
+ return idx;
343
+ }
344
+ setMatrix4d(name, value) {
345
+ const idx = this.valueReps.tell() / 8;
346
+ this.tokenIndices.push(this.tokens.add(name));
347
+ this.valueReps.writeUint32(this.data.tell());
348
+ this.valueReps.skip(2);
349
+ this.valueReps.writeUint8(CrateDataType.Matrix4d);
350
+ this.valueReps.writeUint8(0);
351
+ for (let i = 0; i < 16; ++i) {
352
+ this.data.writeFloat64(value[i]);
353
+ }
354
+ return idx;
355
+ }
356
+ setMatrix4dArray(name, value) {
357
+ const idx = this.valueReps.tell() / 8;
358
+ this.tokenIndices.push(this.tokens.add(name));
359
+ this.valueReps.writeUint32(this.data.tell());
360
+ this.valueReps.skip(2);
361
+ this.valueReps.writeUint8(CrateDataType.Matrix4d);
362
+ this.valueReps.writeUint8(IsArrayBit_);
363
+ this.data.writeUint64(value.length / 16);
364
+ for (let i = 0; i < value.length; ++i) {
365
+ this.data.writeFloat64(value[i]);
366
+ }
367
+ return idx;
368
+ }
369
+ setVec3fArray(name, value) {
370
+ const idx = this.valueReps.tell() / 8;
371
+ this.tokenIndices.push(this.tokens.add(name));
372
+ this.valueReps.writeUint32(this.data.tell());
373
+ this.valueReps.skip(2);
374
+ this.valueReps.writeUint8(CrateDataType.Vec3f);
375
+ this.valueReps.writeUint8(IsArrayBit_);
376
+ this.data.writeUint64(value.length / 3);
377
+ for (let i = 0; i < value.length; ++i) {
378
+ this.data.writeFloat32(value[i]);
379
+ }
380
+ return idx;
381
+ }
382
+ setVec2fArray(name, value) {
383
+ const idx = this.valueReps.tell() / 8;
384
+ this.tokenIndices.push(this.tokens.add(name));
385
+ this.valueReps.writeUint32(this.data.tell());
386
+ this.valueReps.skip(2);
387
+ this.valueReps.writeUint8(CrateDataType.Vec2f);
388
+ this.valueReps.writeUint8(IsArrayBit_);
389
+ this.data.writeUint64(value.length / 2);
390
+ for (let i = 0; i < value.length; ++i) {
391
+ this.data.writeFloat32(value[i]);
392
+ }
393
+ return idx;
394
+ }
395
+ setFloatArray(name, value) {
396
+ const idx = this.valueReps.tell() / 8;
397
+ this.tokenIndices.push(this.tokens.add(name));
398
+ this.valueReps.writeUint32(this.data.tell());
399
+ this.valueReps.skip(2);
400
+ this.valueReps.writeUint8(CrateDataType.Float);
401
+ this.valueReps.writeUint8(IsArrayBit_);
402
+ this.data.writeUint64(value.length);
403
+ for (let i = 0; i < value.length; ++i) {
404
+ this.data.writeFloat32(value[i]);
405
+ }
406
+ return idx;
407
+ }
408
+ serialize(writer) {
409
+ writer.writeCompressedIntegers(this.tokenIndices);
410
+ const compressed = new Uint8Array(compressBound(this.valueReps.buffer.byteLength) + 1);
411
+ const compresedSize = compressToBuffer(new Uint8Array(this.valueReps.buffer), compressed);
412
+ writer.writeUint64(compresedSize);
413
+ writer.writeBuffer(compressed, 0, compresedSize);
414
+ }
415
+ }
416
+ //# sourceMappingURL=Fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fields.js","sourceRoot":"","sources":["../../src/crate/Fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AACnF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIpC,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,WAAW,GAAG,GAAG,CAAA;AACvB,MAAM,YAAY,GAAG,EAAE,CAAA;AACvB,MAAM,eAAe,GAAG,EAAE,CAAA;AAY1B,MAAM,OAAO,MAAM;IACf,YAAY,GAAa,EAAE,CAAA;IAC3B,IAAI,CAAS;IACb,MAAM,CAAU;IAEhB,SAAS,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC7C,MAAM,GAAG,CAAC,CAAA;IAEF,MAAM,CAAS;IACf,OAAO,CAAU;IAIzB,YAAY,cAA+B,EAAE,OAAiB,EAAE,IAAa;QACzE,IAAI,cAAc,YAAY,MAAM,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,cAAc,CAAA;YAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YAEpC,MAAM,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA;YAGvD,MAAM,cAAc,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YACzC,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,CAAA;YACtC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;YACzF,MAAM,YAAY,GAAG,IAAI,UAAU,CAAC,gBAAgB,CAAC,CAAA;YACrD,IAAI,gBAAgB,KAAK,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC;gBACtE,MAAM,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACvD,CAAC;YAGD,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;YAClC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;YACrF,CAAC;QAQL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,MAAM,GAAG,cAAc,CAAA;YAC5B,IAAI,CAAC,OAAO,GAAG,OAAQ,CAAA;YACvB,IAAI,CAAC,IAAI,GAAG,IAAK,CAAA;QACrB,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAY,EAAE,KAAa;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACd,CAAC;IACD,QAAQ,CAAC,IAAY,EAAE,KAAa;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACd,CAAC;IACD,UAAU,CAAC,IAAY,EAAE,KAAc;QACnC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IACD,WAAW,CAAC,KAAc;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;IACnD,CAAC;IACD,YAAY,CAAC,MAAc,EAAE,KAAc;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACd,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC/B,OAAO,GAAG,CAAA;IACd,CAAC;IACD,SAAS,CAAC,IAAY,EAAE,KAAa;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC/C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACd,CAAC;IACD,cAAc,CAAC,IAAY,EAAE,KAAkB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACd,CAAC;IACD,QAAQ,CAAC,IAAY,EAAE,KAAa;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACd,CAAC;IACD,YAAY,CAAC,IAAY,EAAE,KAAa;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAClD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACd,CAAC;IACD,cAAc,CAAC,IAAY,EAAE,KAAe;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;QACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAE5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,KAAe;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAEtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,YAAY,CAAC,IAAY,EAAE,KAAgB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;QAClD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACd,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,KAAU;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;IACD,cAAc,CAAC,KAAU;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACjE,CAAC;IACD,eAAe,CAAC,OAAe,EAAE,OAAe,EAAE,KAAU;QAGxD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAK9B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC9B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAErB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC5C,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAErB,MAAM,KAAK,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC/C,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAIjC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAC7B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAGpC,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAEvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YAC5B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;YACrB,QAAQ,OAAO,CAAC,EAAE,CAAC;gBACf,KAAK,SAAS;oBACV,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;oBAC7B,MAAK;gBACT,KAAK,QAAQ;oBACT,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;oBACzC,MAAK;gBACT;oBACI,MAAM,KAAK,CAAC,eAAe,OAAO,CAAC,sBAAsB,CAAC,CAAA;YAClE,CAAC;QACL,CAAC;QAGD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAChC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YAC3C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1D,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACvB,OAAO,GAAG,CAAA;IACd,CAAC;IACD,cAAc,CAAC,IAAY,EAAE,KAAqB;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;IAClE,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,KAAsB;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;IACjE,CAAC;IACD,UAAU,CAAC,IAAY,EAAE,KAAwC,EAAE,IAAmB;QAClF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAI/B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAE5B,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAG9C,MAAM,KAAK,GAAG,CAAC,IAAoC,EAAE,EAAE;YACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,OAAM;YACV,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACnB,QAAQ,OAAO,CAAC,EAAE,CAAC;oBACf,KAAK,QAAQ;wBACT,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;wBACzC,MAAK;oBACT,KAAK,QAAQ;wBACT,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;wBACxB,MAAK;oBACT,KAAK,QAAQ;wBACT,MAAM,CAAC,GAAG,CAAW,CAAA;wBACrB,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC;4BAEvB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gCACjB,MAAM,KAAK,CAAC,sBAAsB,IAAI,mBAAmB,CAAC,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAA;4BAEpG,CAAC;4BACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;wBAClC,CAAC;6BAAM,CAAC;4BACJ,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;wBACxB,CAAC;wBACD,MAAK;gBACb,CAAC;YACL,CAAC;QACL,CAAC,CAAA;QAED,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACrB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAElB,OAAO,GAAG,CAAA;IACd,CAAC;IACD,SAAS,CAAC,IAAY,EAAE,KAAa;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;QAC/C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACvC,OAAO,GAAG,CAAA;IACd,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,KAAwB;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;YACtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAClC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,GAAG,eAAe,CAAC,CAAA;YACxD,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,QAAQ,CAAC,IAAY,EAAE,KAAwB;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,QAAQ,CAAC,IAAY,EAAE,KAAwB;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IACD,QAAQ,CAAC,IAAY,EAAE,KAAwB;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;IAC7D,CAAC;IACO,QAAQ,CAAC,IAAY,EAAE,KAAwB,EAAE,IAAmB,EAAE,CAAS;QACnF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,uCAAuC,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAE7C,IAAI,SAAS,GAAG,IAAI,CAAA;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;gBACzE,SAAS,GAAG,KAAK,CAAA;gBACjB,MAAK;YACT,CAAC;QACL,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YAChC,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,QAAQ,CAAC,IAAY,EAAE,KAAwB;QAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC,aAAa,IAAI,uCAAuC,CAAC,CAAA;QACzE,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;eAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;eAChC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACnC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;YAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,WAAW,CAAC,IAAY,EAAE,KAAwB;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,gBAAgB,CAAC,IAAY,EAAE,KAAwB;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;QACjD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAEtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,KAAwB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAEtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,KAAwB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAEtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,aAAa,CAAC,IAAY,EAAE,KAAwB;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;QAEtC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IACD,SAAS,CAAC,MAAc;QAIpB,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QAEjD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;QACtF,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAA;QACzF,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAA;QACjC,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,EAAE,aAAa,CAAC,CAAA;IACpD,CAAC;CACJ"}
@@ -0,0 +1,19 @@
1
+ import { Reader } from "./Reader.js";
2
+ import type { Tokens } from "./Tokens.ts";
3
+ import { UsdNode } from "./UsdNode.ts";
4
+ import type { Writer } from "./Writer.ts";
5
+ export declare const JUMP_NO_CHILD_NO_SIBLINGS = -2;
6
+ export declare const JUMP_NEXT_IS_CHILD_NO_SIBLINGS = -1;
7
+ export declare const JUMP_NO_CHILD_NEXT_IS_SIBLING = 0;
8
+ export declare const JUMP_NEXT_IS_CHILD_JUMP_TO_SIBLING = -99;
9
+ export declare class Paths {
10
+ _nodes: UsdNode[];
11
+ num_nodes: number;
12
+ pathIndexes: number[];
13
+ tokenIndexes: number[];
14
+ jumps: number[];
15
+ constructor(reader?: Reader);
16
+ encode(tokens: Tokens, root: UsdNode): void;
17
+ serialize(writer: Writer): void;
18
+ }
19
+ //# sourceMappingURL=Paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paths.d.ts","sourceRoot":"","sources":["../../src/crate/Paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,OAAO,EAA6B,MAAM,cAAc,CAAA;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,eAAO,MAAM,yBAAyB,KAAK,CAAA;AAC3C,eAAO,MAAM,8BAA8B,KAAK,CAAA;AAChD,eAAO,MAAM,6BAA6B,IAAI,CAAA;AAC9C,eAAO,MAAM,kCAAkC,MAAM,CAAA;AAErD,qBAAa,KAAK;IACd,MAAM,EAAG,OAAO,EAAE,CAAA;IAElB,SAAS,EAAG,MAAM,CAAA;IAClB,WAAW,EAAG,MAAM,EAAE,CAAA;IACtB,YAAY,EAAG,MAAM,EAAE,CAAA;IACvB,KAAK,EAAG,MAAM,EAAE,CAAA;gBAEJ,MAAM,CAAC,EAAE,MAAM;IAa3B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAwBpC,SAAS,CAAC,MAAM,EAAE,MAAM;CAmB3B"}
@@ -0,0 +1,47 @@
1
+ import { Reader } from "./Reader.js";
2
+ import { SectionName } from "./SectionName.js";
3
+ import { UsdNode } from "./UsdNode.js";
4
+ export const JUMP_NO_CHILD_NO_SIBLINGS = -2;
5
+ export const JUMP_NEXT_IS_CHILD_NO_SIBLINGS = -1;
6
+ export const JUMP_NO_CHILD_NEXT_IS_SIBLING = 0;
7
+ export const JUMP_NEXT_IS_CHILD_JUMP_TO_SIBLING = -99;
8
+ export class Paths {
9
+ _nodes;
10
+ num_nodes;
11
+ pathIndexes;
12
+ tokenIndexes;
13
+ jumps;
14
+ constructor(reader) {
15
+ if (reader instanceof Reader) {
16
+ this.num_nodes = reader.getUint64();
17
+ const numEncodedPaths = reader.getUint64();
18
+ this.pathIndexes = reader.getCompressedIntegers(numEncodedPaths);
19
+ this.tokenIndexes = reader.getCompressedIntegers(numEncodedPaths);
20
+ this.jumps = reader.getCompressedIntegers(numEncodedPaths);
21
+ }
22
+ }
23
+ encode(tokens, root) {
24
+ this._nodes = new Array(root.numberOfNodes());
25
+ const numEncodedPaths = this._nodes.length;
26
+ this.pathIndexes = new Array(numEncodedPaths);
27
+ this.tokenIndexes = new Array(numEncodedPaths);
28
+ this.jumps = new Array(numEncodedPaths);
29
+ const arg = {
30
+ tokens,
31
+ thisIndex: 0,
32
+ pathIndexes: this.pathIndexes,
33
+ tokenIndexes: this.tokenIndexes,
34
+ jumps: this.jumps,
35
+ depth: 0
36
+ };
37
+ root.flatten(arg);
38
+ }
39
+ serialize(writer) {
40
+ writer.writeUint64(this._nodes.length);
41
+ writer.writeUint64(this._nodes.length);
42
+ writer.writeCompressedIntWithoutSize(this.pathIndexes);
43
+ writer.writeCompressedIntWithoutSize(this.tokenIndexes);
44
+ writer.writeCompressedIntWithoutSize(this.jumps);
45
+ }
46
+ }
47
+ //# sourceMappingURL=Paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paths.js","sourceRoot":"","sources":["../../src/crate/Paths.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,OAAO,EAA6B,MAAM,cAAc,CAAA;AAGjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,CAAA;AAChD,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAA;AAC9C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,EAAE,CAAA;AAErD,MAAM,OAAO,KAAK;IACd,MAAM,CAAY;IAElB,SAAS,CAAS;IAClB,WAAW,CAAW;IACtB,YAAY,CAAW;IACvB,KAAK,CAAW;IAEhB,YAAY,MAAe;QACvB,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YACnC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;YAI1C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAA;YAChE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAA;YACjE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAA;QAC9D,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAc,EAAE,IAAa;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;QAE7C,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAG1C,IAAI,CAAC,WAAW,GAAG,IAAI,KAAK,CAAS,eAAe,CAAC,CAAA;QACrD,IAAI,CAAC,YAAY,GAAG,IAAI,KAAK,CAAS,eAAe,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAS,eAAe,CAAC,CAAA;QAG/C,MAAM,GAAG,GAAyB;YAC9B,MAAM;YACN,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,CAAC;SACX,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAErB,CAAC;IAED,SAAS,CAAC,MAAc;QAapB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,CAAA;QACvC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACtD,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;QACvD,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpD,CAAC;CACJ"}
@@ -0,0 +1,18 @@
1
+ export declare const _SectionNameMaxLength = 15;
2
+ export declare class Reader {
3
+ _dataview: DataView;
4
+ offset: number;
5
+ constructor(dataview: DataView | ArrayBuffer);
6
+ get byteLength(): number;
7
+ getString(max: number): string;
8
+ getUint8(): number;
9
+ getUint16(): number;
10
+ getUint32(): number;
11
+ getInt32(): number;
12
+ getUint64(): number;
13
+ getFloat16(): number;
14
+ getFloat32(): number;
15
+ getFloat64(): number;
16
+ getCompressedIntegers(numberOfInts?: number): number[];
17
+ }
18
+ //# sourceMappingURL=Reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reader.d.ts","sourceRoot":"","sources":["../../src/crate/Reader.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC,qBAAa,MAAM;IACf,SAAS,EAAE,QAAQ,CAAA;IAEnB,MAAM,SAAK;gBACC,QAAQ,EAAE,QAAQ,GAAG,WAAW;IAO5C,IAAI,UAAU,WAEb;IACD,SAAS,CAAC,GAAG,EAAE,MAAM;IAYrB,QAAQ;IAGR,SAAS;IAKT,SAAS;IAKT,QAAQ;IAKR,SAAS;IAKT,UAAU;IAKV,UAAU;IAKV,UAAU;IAKV,qBAAqB,CAAC,YAAY,CAAC,EAAE,MAAM;CAoB9C"}
@@ -0,0 +1,86 @@
1
+ import { decodeIntegers } from "../compression/integers.js";
2
+ import { hexdump } from "../detail/hexdump.js";
3
+ import { decompressFromBuffer } from "../compression/compress.js";
4
+ export const _SectionNameMaxLength = 15;
5
+ export class Reader {
6
+ _dataview;
7
+ offset = 0;
8
+ constructor(dataview) {
9
+ if (dataview instanceof ArrayBuffer) {
10
+ this._dataview = new DataView(dataview);
11
+ }
12
+ else {
13
+ this._dataview = dataview;
14
+ }
15
+ }
16
+ get byteLength() {
17
+ return this._dataview.byteLength;
18
+ }
19
+ getString(max) {
20
+ let value = "";
21
+ for (let i = 0; i <= _SectionNameMaxLength; ++i) {
22
+ const c = this._dataview.getUint8(this.offset + i);
23
+ if (c === 0) {
24
+ break;
25
+ }
26
+ value += String.fromCharCode(c);
27
+ }
28
+ this.offset += max;
29
+ return value;
30
+ }
31
+ getUint8() {
32
+ return this._dataview.getUint8(this.offset++);
33
+ }
34
+ getUint16() {
35
+ const value = this._dataview.getUint16(this.offset, true);
36
+ this.offset += 2;
37
+ return value;
38
+ }
39
+ getUint32() {
40
+ const value = this._dataview.getUint32(this.offset, true);
41
+ this.offset += 4;
42
+ return value;
43
+ }
44
+ getInt32() {
45
+ const value = this._dataview.getInt32(this.offset, true);
46
+ this.offset += 4;
47
+ return value;
48
+ }
49
+ getUint64() {
50
+ const value = new Number(this._dataview.getBigUint64(this.offset, true)).valueOf();
51
+ this.offset += 8;
52
+ return value;
53
+ }
54
+ getFloat16() {
55
+ const value = this._dataview.getFloat16(this.offset, true);
56
+ this.offset += 2;
57
+ return value;
58
+ }
59
+ getFloat32() {
60
+ const value = this._dataview.getFloat32(this.offset, true);
61
+ this.offset += 4;
62
+ return value;
63
+ }
64
+ getFloat64() {
65
+ const value = this._dataview.getFloat64(this.offset, true);
66
+ this.offset += 8;
67
+ return value;
68
+ }
69
+ getCompressedIntegers(numberOfInts) {
70
+ if (numberOfInts === undefined) {
71
+ numberOfInts = this.getUint64();
72
+ }
73
+ const compressedSize = this.getUint64();
74
+ const compressed = new Uint8Array(this._dataview.buffer, this.offset, compressedSize);
75
+ this.offset += compressedSize;
76
+ const workingSpaceSize = 4
77
+ + Math.floor((numberOfInts * 2 + 7) / 8)
78
+ + numberOfInts * 4;
79
+ const workingSpace = new Uint8Array(workingSpaceSize);
80
+ const decompSz = decompressFromBuffer(compressed, workingSpace);
81
+ const xxx = new Uint8Array(workingSpace.buffer, 0, decompSz);
82
+ const result = decodeIntegers(new DataView(xxx.buffer), numberOfInts);
83
+ return result;
84
+ }
85
+ }
86
+ //# sourceMappingURL=Reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reader.js","sourceRoot":"","sources":["../../src/crate/Reader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { Reader } from "./Reader.js";
2
+ import type { Writer } from "./Writer.ts";
3
+ interface SectionData {
4
+ name: string;
5
+ start: number;
6
+ size: number;
7
+ }
8
+ export declare class Section implements SectionData {
9
+ name: string;
10
+ start: number;
11
+ size: number;
12
+ constructor(reader: Reader | SectionData);
13
+ serialize(writer: Writer): void;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=Section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../src/crate/Section.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,UAAU,WAAW;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,OAAQ,YAAW,WAAW;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;gBAEA,MAAM,EAAE,MAAM,GAAG,WAAW;IAWxC,SAAS,CAAC,MAAM,EAAE,MAAM;CAK3B"}