@pawells/math-extended 1.1.1 → 2.0.0

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 (97) hide show
  1. package/build/angles.d.ts +28 -18
  2. package/build/angles.d.ts.map +1 -1
  3. package/build/angles.js +28 -18
  4. package/build/angles.js.map +1 -1
  5. package/build/clamp.d.ts +5 -3
  6. package/build/clamp.d.ts.map +1 -1
  7. package/build/clamp.js +5 -3
  8. package/build/clamp.js.map +1 -1
  9. package/build/interpolation.d.ts +158 -96
  10. package/build/interpolation.d.ts.map +1 -1
  11. package/build/interpolation.js +158 -96
  12. package/build/interpolation.js.map +1 -1
  13. package/build/matrices/_exports.d.ts +13 -0
  14. package/build/matrices/_exports.d.ts.map +1 -0
  15. package/build/matrices/_exports.js +13 -0
  16. package/build/matrices/_exports.js.map +1 -0
  17. package/build/matrices/arithmetic.d.ts +170 -181
  18. package/build/matrices/arithmetic.d.ts.map +1 -1
  19. package/build/matrices/arithmetic.js +192 -202
  20. package/build/matrices/arithmetic.js.map +1 -1
  21. package/build/matrices/asserts.d.ts +240 -109
  22. package/build/matrices/asserts.d.ts.map +1 -1
  23. package/build/matrices/asserts.js +287 -87
  24. package/build/matrices/asserts.js.map +1 -1
  25. package/build/matrices/core.d.ts +29 -29
  26. package/build/matrices/core.js +1 -1
  27. package/build/matrices/decompositions.d.ts +102 -104
  28. package/build/matrices/decompositions.d.ts.map +1 -1
  29. package/build/matrices/decompositions.js +87 -89
  30. package/build/matrices/decompositions.js.map +1 -1
  31. package/build/matrices/index.d.ts +3 -2
  32. package/build/matrices/index.d.ts.map +1 -1
  33. package/build/matrices/index.js +5 -2
  34. package/build/matrices/index.js.map +1 -1
  35. package/build/matrices/linear-algebra.d.ts +12 -12
  36. package/build/matrices/linear-algebra.js +4 -4
  37. package/build/matrices/normalization.d.ts +8 -8
  38. package/build/matrices/transformations.d.ts +184 -165
  39. package/build/matrices/transformations.d.ts.map +1 -1
  40. package/build/matrices/transformations.js +99 -80
  41. package/build/matrices/transformations.js.map +1 -1
  42. package/build/matrices/types.d.ts +12 -12
  43. package/build/matrices/types.d.ts.map +1 -1
  44. package/build/quaternions/_exports.d.ts +11 -0
  45. package/build/quaternions/_exports.d.ts.map +1 -0
  46. package/build/quaternions/_exports.js +11 -0
  47. package/build/quaternions/_exports.js.map +1 -0
  48. package/build/quaternions/asserts.d.ts +115 -7
  49. package/build/quaternions/asserts.d.ts.map +1 -1
  50. package/build/quaternions/asserts.js +162 -8
  51. package/build/quaternions/asserts.js.map +1 -1
  52. package/build/quaternions/conversions.d.ts +31 -21
  53. package/build/quaternions/conversions.d.ts.map +1 -1
  54. package/build/quaternions/conversions.js +28 -18
  55. package/build/quaternions/conversions.js.map +1 -1
  56. package/build/quaternions/core.d.ts +67 -39
  57. package/build/quaternions/core.d.ts.map +1 -1
  58. package/build/quaternions/core.js +67 -39
  59. package/build/quaternions/core.js.map +1 -1
  60. package/build/quaternions/index.d.ts +3 -2
  61. package/build/quaternions/index.d.ts.map +1 -1
  62. package/build/quaternions/index.js +5 -2
  63. package/build/quaternions/index.js.map +1 -1
  64. package/build/quaternions/interpolation.d.ts +15 -9
  65. package/build/quaternions/interpolation.d.ts.map +1 -1
  66. package/build/quaternions/interpolation.js +15 -9
  67. package/build/quaternions/interpolation.js.map +1 -1
  68. package/build/quaternions/predefined.d.ts +9 -3
  69. package/build/quaternions/predefined.d.ts.map +1 -1
  70. package/build/quaternions/predefined.js +9 -3
  71. package/build/quaternions/predefined.js.map +1 -1
  72. package/build/quaternions/types.d.ts +3 -3
  73. package/build/vectors/_exports.d.ts +10 -0
  74. package/build/vectors/_exports.d.ts.map +1 -0
  75. package/build/vectors/_exports.js +10 -0
  76. package/build/vectors/_exports.js.map +1 -0
  77. package/build/vectors/asserts.d.ts +153 -49
  78. package/build/vectors/asserts.d.ts.map +1 -1
  79. package/build/vectors/asserts.js +202 -52
  80. package/build/vectors/asserts.js.map +1 -1
  81. package/build/vectors/core.d.ts +216 -137
  82. package/build/vectors/core.d.ts.map +1 -1
  83. package/build/vectors/core.js +212 -149
  84. package/build/vectors/core.js.map +1 -1
  85. package/build/vectors/index.d.ts +1 -0
  86. package/build/vectors/index.d.ts.map +1 -1
  87. package/build/vectors/index.js +3 -0
  88. package/build/vectors/index.js.map +1 -1
  89. package/build/vectors/interpolation.d.ts +39 -27
  90. package/build/vectors/interpolation.d.ts.map +1 -1
  91. package/build/vectors/interpolation.js +39 -27
  92. package/build/vectors/interpolation.js.map +1 -1
  93. package/build/vectors/predefined.d.ts +48 -24
  94. package/build/vectors/predefined.d.ts.map +1 -1
  95. package/build/vectors/predefined.js +38 -18
  96. package/build/vectors/predefined.js.map +1 -1
  97. package/package.json +3 -3
@@ -38,18 +38,19 @@ const DEGREES_PER_HALF_REVOLUTION = 180;
38
38
  * ```
39
39
  *
40
40
  * @param radians - Rotation angle in radians (positive = counterclockwise)
41
- * @returns {IMatrix3} A 3x3 rotation matrix for 2D transformations
41
+ * @returns {TMatrix3} A 3x3 rotation matrix for 2D transformations
42
42
  *
43
43
  * @throws {Error} If radians is not a finite number
44
44
  *
45
45
  * @example
46
- * ```typescript
47
- * // 90-degree counterclockwise rotation
48
- * const matrix = MatrixRotation2D(Math.PI / 2);
49
- *
50
- * // 45-degree clockwise rotation
51
- * const clockwise = MatrixRotation2D(-Math.PI / 4);
52
- * ```
46
+ * ```typescript
47
+ * ```typescript
48
+ * // 90-degree counterclockwise rotation
49
+ * const matrix = MatrixRotation2D(Math.PI / 2);
50
+ * // 45-degree clockwise rotation
51
+ * const clockwise = MatrixRotation2D(-Math.PI / 4);
52
+ * ```
53
+ * ```
53
54
  */
54
55
  export function MatrixRotation2D(radians) {
55
56
  AssertNumber(radians, { finite: true }, { message: 'Rotation angle must be a number' });
@@ -80,15 +81,17 @@ export function MatrixRotation2D(radians) {
80
81
  * ```
81
82
  *
82
83
  * @param radians - Roll angle in radians (positive = right-hand rule around X-axis)
83
- * @returns {IMatrix4} A 4x4 roll rotation matrix
84
+ * @returns {TMatrix4} A 4x4 roll rotation matrix
84
85
  *
85
86
  * @throws {Error} If radians is not a finite number
86
87
  *
87
88
  * @example
88
- * ```typescript
89
- * // 45-degree roll (banking left in aviation)
90
- * const rollMatrix = MatrixRotation3DRoll(Math.PI / 4);
91
- * ```
89
+ * ```typescript
90
+ * ```typescript
91
+ * // 45-degree roll (banking left in aviation)
92
+ * const rollMatrix = MatrixRotation3DRoll(Math.PI / 4);
93
+ * ```
94
+ * ```
92
95
  */
93
96
  export function MatrixRotation3DRoll(radians) {
94
97
  AssertNumber(radians, { finite: true }, { message: 'Rotation angle must be a number' });
@@ -117,15 +120,17 @@ export function MatrixRotation3DRoll(radians) {
117
120
  * ```
118
121
  *
119
122
  * @param radians - Pitch angle in radians (positive = nose up in aviation)
120
- * @returns {IMatrix4} A 4x4 pitch rotation matrix
123
+ * @returns {TMatrix4} A 4x4 pitch rotation matrix
121
124
  *
122
125
  * @throws {Error} If radians is not a finite number
123
126
  *
124
127
  * @example
125
- * ```typescript
126
- * // 30-degree pitch up
127
- * const pitchMatrix = MatrixRotation3DPitch(Math.PI / 6);
128
- * ```
128
+ * ```typescript
129
+ * ```typescript
130
+ * // 30-degree pitch up
131
+ * const pitchMatrix = MatrixRotation3DPitch(Math.PI / 6);
132
+ * ```
133
+ * ```
129
134
  */
130
135
  export function MatrixRotation3DPitch(radians) {
131
136
  AssertNumber(radians, { finite: true }, { message: 'Rotation angle must be a number' });
@@ -154,15 +159,17 @@ export function MatrixRotation3DPitch(radians) {
154
159
  * ```
155
160
  *
156
161
  * @param radians - Yaw angle in radians (positive = turn left in aviation)
157
- * @returns {IMatrix4} A 4x4 yaw rotation matrix
162
+ * @returns {TMatrix4} A 4x4 yaw rotation matrix
158
163
  *
159
164
  * @throws {Error} If radians is not a finite number
160
165
  *
161
166
  * @example
162
- * ```typescript
163
- * // 60-degree yaw left
164
- * const yawMatrix = MatrixRotation3DYaw(Math.PI / 3);
165
- * ```
167
+ * ```typescript
168
+ * ```typescript
169
+ * // 60-degree yaw left
170
+ * const yawMatrix = MatrixRotation3DYaw(Math.PI / 3);
171
+ * ```
172
+ * ```
166
173
  */
167
174
  export function MatrixRotation3DYaw(radians) {
168
175
  AssertNumber(radians, { finite: true }, { message: 'Rotation angle must be a number' });
@@ -286,19 +293,20 @@ export function MatrixScale3D(scaleOrX, y, z) {
286
293
  * ```
287
294
  *
288
295
  * @param v - Translation vector [x, y] containing offset distances
289
- * @returns {IMatrix3} A 3x3 translation transformation matrix
296
+ * @returns {TMatrix3} A 3x3 translation transformation matrix
290
297
  *
291
298
  * @throws {Error} If the input is not a valid 2D vector
292
299
  *
293
300
  * @example
294
- * ```typescript
295
- * // Move 10 units right, 5 units up
296
- * const translation = MatrixTranslation2D(10, 5);
297
- *
298
- * // Using vector input
299
- * const offset: TVector2 = [10, 5];
300
- * const translation2 = MatrixTranslation2D(...offset);
301
- * ```
301
+ * ```typescript
302
+ * ```typescript
303
+ * // Move 10 units right, 5 units up
304
+ * const translation = MatrixTranslation2D(10, 5);
305
+ * // Using vector input
306
+ * const offset: TVector2 = [10, 5];
307
+ * const translation2 = MatrixTranslation2D(...offset);
308
+ * ```
309
+ * ```
302
310
  */
303
311
  export function MatrixTranslation2D(...v) {
304
312
  // Called with vector parameter using spread syntax
@@ -363,19 +371,20 @@ export function MatrixTranslation3D(translationOrX, y, z) {
363
371
  * @throws {Error} If inputs are not valid vector/matrix types
364
372
  *
365
373
  * @example
366
- * ```typescript
367
- * // Rotate a point 90 degrees counterclockwise
368
- * const rotationMatrix = MatrixRotation2D(Math.PI / 2);
369
- * const point: TVector2 = [1, 0];
370
- * const rotatedPoint = MatrixTransform2D(point, rotationMatrix);
371
- * // Result: approximately [0, 1]
372
- *
373
- * // Chain multiple transformations
374
- * const scale = MatrixScale2D(2, 2);
375
- * const translate = MatrixTranslation2D(5, 3);
376
- * const combined = MatrixMultiply(translate, scale);
377
- * const transformedPoint = MatrixTransform2D(point, combined);
378
- * ```
374
+ * ```typescript
375
+ * ```typescript
376
+ * // Rotate a point 90 degrees counterclockwise
377
+ * const rotationMatrix = MatrixRotation2D(Math.PI / 2);
378
+ * const point: TVector2 = [1, 0];
379
+ * const rotatedPoint = MatrixTransform2D(point, rotationMatrix);
380
+ * // Result: approximately [0, 1]
381
+ * // Chain multiple transformations
382
+ * const scale = MatrixScale2D(2, 2);
383
+ * const translate = MatrixTranslation2D(5, 3);
384
+ * const combined = MatrixMultiply(translate, scale);
385
+ * const transformedPoint = MatrixTransform2D(point, combined);
386
+ * ```
387
+ * ```
379
388
  */
380
389
  export function MatrixTransform2D(vector, matrix) {
381
390
  AssertVector2(vector);
@@ -404,11 +413,13 @@ export function MatrixTransform2D(vector, matrix) {
404
413
  * @throws {Error} If the w component is near zero (degenerate transformation).
405
414
  *
406
415
  * @example
407
- * ```typescript
408
- * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
409
- * const point: TVector3 = [1, 0, 0];
410
- * const rotatedPoint = MatrixTransform3D(point, rotationMatrix);
411
- * ```
416
+ * ```typescript
417
+ * ```typescript
418
+ * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
419
+ * const point: TVector3 = [1, 0, 0];
420
+ * const rotatedPoint = MatrixTransform3D(point, rotationMatrix);
421
+ * ```
422
+ * ```
412
423
  */
413
424
  export function MatrixTransform3D(vector, transform) {
414
425
  AssertMatrix4(transform);
@@ -437,11 +448,13 @@ export function MatrixTransform3D(vector, transform) {
437
448
  * @returns {TVector3} The transformed direction vector.
438
449
  *
439
450
  * @example
440
- * ```typescript
441
- * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
442
- * const normal: TVector3 = [0, 0, 1];
443
- * const rotatedNormal = MatrixDirection3D(normal, rotationMatrix);
444
- * ```
451
+ * ```typescript
452
+ * ```typescript
453
+ * const rotationMatrix = MatrixRotation3DYaw(Math.PI / 4);
454
+ * const normal: TVector3 = [0, 0, 1];
455
+ * const rotatedNormal = MatrixDirection3D(normal, rotationMatrix);
456
+ * ```
457
+ * ```
445
458
  */
446
459
  export function MatrixDirection3D(direction, matrix) {
447
460
  AssertMatrix3(matrix);
@@ -460,16 +473,18 @@ export function MatrixDirection3D(direction, matrix) {
460
473
  * @param eye - Camera position in world coordinates.
461
474
  * @param target - Point the camera is looking at.
462
475
  * @param up - Up direction vector (usually [0, 1, 0]).
463
- * @returns {IMatrix4} A 4x4 view transformation matrix.
476
+ * @returns {TMatrix4} A 4x4 view transformation matrix.
464
477
  *
465
478
  * @example
466
- * ```typescript
467
- * const viewMatrix = MatrixView(
468
- * [10, 5, 10], // Camera position
469
- * [0, 0, 0], // Looking at origin
470
- * [0, 1, 0] // Y-axis is up
471
- * );
472
- * ```
479
+ * ```typescript
480
+ * ```typescript
481
+ * const viewMatrix = MatrixView(
482
+ * [10, 5, 10], // Camera position
483
+ * [0, 0, 0], // Looking at origin
484
+ * [0, 1, 0] // Y-axis is up
485
+ * );
486
+ * ```
487
+ * ```
473
488
  */
474
489
  export function MatrixView(eye, target, up) {
475
490
  AssertVector3(eye);
@@ -507,19 +522,21 @@ export function MatrixView(eye, target, up) {
507
522
  * @param aspect - Aspect ratio of the viewport (width/height).
508
523
  * @param near - Distance to near clipping plane (must be positive).
509
524
  * @param far - Distance to far clipping plane (must be > near).
510
- * @returns {IMatrix4} A 4x4 perspective projection matrix.
525
+ * @returns {TMatrix4} A 4x4 perspective projection matrix.
511
526
  *
512
527
  * @throws {Error} If parameters are invalid.
513
528
  *
514
529
  * @example
515
- * ```typescript
516
- * const perspectiveMatrix = MatrixPerspective(
517
- * Math.PI / 4, // 45-degree field of view
518
- * 16 / 9, // Widescreen aspect ratio
519
- * 0.1, // Near plane
520
- * 1000 // Far plane
521
- * );
522
- * ```
530
+ * ```typescript
531
+ * ```typescript
532
+ * const perspectiveMatrix = MatrixPerspective(
533
+ * Math.PI / 4, // 45-degree field of view
534
+ * 16 / 9, // Widescreen aspect ratio
535
+ * 0.1, // Near plane
536
+ * 1000 // Far plane
537
+ * );
538
+ * ```
539
+ * ```
523
540
  */
524
541
  export function MatrixPerspective(fovY, aspect, near, far) {
525
542
  AssertNumber(near, { gt: 0 }, { message: 'Near clipping plane must be greater than 0' });
@@ -551,18 +568,20 @@ export function MatrixPerspective(fovY, aspect, near, far) {
551
568
  * @param top - Top boundary of the orthographic volume.
552
569
  * @param near - Near clipping plane distance.
553
570
  * @param far - Far clipping plane distance.
554
- * @returns {IMatrix4} A 4x4 orthographic projection matrix.
571
+ * @returns {TMatrix4} A 4x4 orthographic projection matrix.
555
572
  *
556
573
  * @throws {Error} If any opposing boundaries are equal.
557
574
  *
558
575
  * @example
559
- * ```typescript
560
- * const orthoMatrix = MatrixOrthographic(
561
- * -10, 10, // Left/Right: 20 units wide
562
- * -7.5, 7.5, // Bottom/Top: 15 units tall
563
- * -100, 100 // Near/Far: 200 units deep
564
- * );
565
- * ```
576
+ * ```typescript
577
+ * ```typescript
578
+ * const orthoMatrix = MatrixOrthographic(
579
+ * -10, 10, // Left/Right: 20 units wide
580
+ * -7.5, 7.5, // Bottom/Top: 15 units tall
581
+ * -100, 100 // Near/Far: 200 units deep
582
+ * );
583
+ * ```
584
+ * ```
566
585
  */
567
586
  export function MatrixOrthographic(left, right, bottom, top, near, far) {
568
587
  AssertNotEquals(left, right, { message: 'Left and right bounds must not be equal' });
@@ -1 +1 @@
1
- {"version":3,"file":"transformations.js","sourceRoot":"","sources":["../../src/matrices/transformations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnF,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAG,uBAAuB;QACxC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAI,uBAAuB;QACxC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAS,wBAAwB;KAC1C,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IACnD,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAS,2BAA2B;QAChD,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAI,0BAA0B;QAC/C,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAK,0BAA0B;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,2BAA2B;KACjD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACpD,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAK,2BAA2B;QAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAS,2BAA2B;QAChD,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAI,2BAA2B;QAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,2BAA2B;KACjD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAClD,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAI,0BAA0B;QAC/C,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAK,0BAA0B;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAS,2BAA2B;QAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,2BAA2B;KACjD,CAAC;AACH,CAAC;AAkCD,MAAM,UAAU,gBAAgB,CAAC,YAA+B,EAAE,KAAc,EAAE,GAAY;IAC7F,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,oCAAoC;QACpC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACzF,YAAY,CAAC,KAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC7F,YAAY,CAAC,GAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAEzF,MAAM,UAAU,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAe,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAa,CAAC,CAAC;QAErD,+CAA+C;QAC/C,uDAAuD;QACvD,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,MAAkB,CAAC;IAC3B,CAAC;IACD,+BAA+B;IAC/B,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5B,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAgCD,MAAM,UAAU,2BAA2B,CAAC,YAA+B,EAAE,KAAc,EAAE,GAAY;IACxG,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACzF,YAAY,CAAC,KAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC7F,YAAY,CAAC,GAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAEzF,6BAA6B;QAC7B,MAAM,OAAO,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC;QACvE,MAAM,QAAQ,GAAG,CAAE,KAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC;QAC7E,MAAM,MAAM,GAAG,CAAE,GAAc,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC;QAEzE,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5B,OAAO,gBAAgB,CACtB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,EACzD,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,EACzD,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CACzD,CAAC;AACH,CAAC;AAqDD,MAAM,UAAU,aAAa,CAAC,QAA2B,EAAE,CAAU;IACpE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACrB,sDAAsD;YACtD,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;YAC9F,OAAO;gBACN,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACT,CAAC;QACH,CAAC;QACD,gEAAgE;QAChE,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAChG,YAAY,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACzF,OAAO;YACN,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACT,CAAC;IACH,CAAC;IACD,yDAAyD;IACzD,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO;QACN,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACT,CAAC;AACH,CAAC;AAmDD,MAAM,UAAU,aAAa,CAAC,QAA2B,EAAE,CAAU,EAAE,CAAU;IAChF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,qDAAqD;YACrD,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;YAC9F,OAAO;gBACN,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACZ,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAChG,YAAY,CAAC,CAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACnG,YAAY,CAAC,CAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACnG,OAAO;YACN,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,EAAE,CAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAW,EAAE,CAAC,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACZ,CAAC;IACH,CAAC;IACD,yDAAyD;IACzD,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO;QACN,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACZ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAG,CAAW;IACjD,mDAAmD;IACnD,aAAa,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO;QACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,aAAa;QAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,aAAa;QAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAO,aAAa;KAC7B,CAAC;AACH,CAAC;AA+CD,MAAM,UAAU,mBAAmB,CAAC,cAAiC,EAAE,CAAU,EAAE,CAAU;IAC5F,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,qDAAqD;YACrD,YAAY,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC,CAAC;YAC5G,OAAO;gBACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACZ,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,YAAY,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAC9G,YAAY,CAAC,CAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAC3G,YAAY,CAAC,CAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAC3G,OAAO;YACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAG,gBAAgB;YAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAW,CAAC,EAAM,gBAAgB;YAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAW,CAAC,EAAM,gBAAgB;YAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAiB,gBAAgB;SAC7C,CAAC;IACH,CAAC;IACD,qEAAqE;IACrE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAG,gBAAgB;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAG,gBAAgB;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAG,gBAAgB;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAoB,gBAAgB;KAChD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,MAAgB;IACnE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,+CAA+C;IAC/C,MAAM,WAAW,GAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,sEAAsE;IACtE,MAAM,MAAM,GAAa;QACxB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAG,KAAK;QAC3G,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAG,KAAK;QAC3G,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAI,KAAK;KAC5G,CAAC;IACF,iFAAiF;IACjF,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IAE1G,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,SAAmB;IACtE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,+CAA+C;IAC/C,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3B,uCAAuC;IACvC,MAAM,MAAM,GAAa;QACxB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjJ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjJ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjJ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;KACjJ,CAAC;IACF,iFAAiF;IACjF,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IAE1G,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAmB,EAAE,MAAgB;IACtE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzB,uEAAuE;IACvE,OAAO;QACN,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;KAC7F,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,UAAU,CAAC,GAAa,EAAE,MAAgB,EAAE,EAAY;IACvE,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,CAAC;IAElB,8DAA8D;IAC9D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEnD,iEAAiE;IACjE,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE/C,wDAAwD;IACxD,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAEtE,2DAA2D;IAC3D,iFAAiF;IACjF,MAAM,QAAQ,GAAG;QAChB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACZ,CAAC;IAEF,kDAAkD;IAClD,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,yDAAyD;IACzD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACrD,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,MAAkB,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAc,EAAE,IAAY,EAAE,GAAW;IACxF,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAC;IACzF,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;IACvF,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,0DAA0D,EAAE,CAAC,CAAC;IACzG,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;IAEpF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,2CAA2C;IAC3C,qEAAqE;IACrE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAE,0CAA0C;QACtF,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAa,yBAAyB;QACrE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,6BAA6B;QAC1E,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,iCAAiC;QAClF,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAA0B,+BAA+B;QAC3E,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAA2B,yBAAyB;IACtE,CAAC;IAED,OAAO,MAAkB,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW,EAAE,IAAY,EAAE,GAAW;IACrH,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IACrF,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IACrF,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;IAE1F,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,4CAA4C;IAC5C,yFAAyF;IACzF,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,wDAAwD;QACxD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAW,YAAY;QACzD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAW,YAAY;QACzD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAY,8CAA8C;QAE3F,wDAAwD;QACxD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAG,gBAAgB;QACnE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAG,gBAAgB;QACnE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAO,gBAAgB;QAEnE,0DAA0D;QAC1D,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,MAAkB,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"transformations.js","sourceRoot":"","sources":["../../src/matrices/transformations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEnF,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAG,uBAAuB;QACxC,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAI,uBAAuB;QACxC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAS,wBAAwB;KAC1C,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IACnD,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAS,2BAA2B;QAChD,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAI,0BAA0B;QAC/C,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAK,0BAA0B;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,2BAA2B;KACjD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe;IACpD,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAK,2BAA2B;QAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAS,2BAA2B;QAChD,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAI,2BAA2B;QAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,2BAA2B;KACjD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAClD,YAAY,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAExF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAI,0BAA0B;QAC/C,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAK,0BAA0B;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAS,2BAA2B;QAChD,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAU,2BAA2B;KACjD,CAAC;AACH,CAAC;AAmCD,MAAM,UAAU,gBAAgB,CAAC,YAA+B,EAAE,KAAc,EAAE,GAAY;IAC7F,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,oCAAoC;QACpC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACzF,YAAY,CAAC,KAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC7F,YAAY,CAAC,GAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAEzF,MAAM,UAAU,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAe,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAa,CAAC,CAAC;QAErD,+CAA+C;QAC/C,uDAAuD;QACvD,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,aAAa,CAAC,MAAM,CAAC,CAAC;QACtB,OAAO,MAAkB,CAAC;IAC3B,CAAC;IACD,+BAA+B;IAC/B,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5B,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAiCD,MAAM,UAAU,2BAA2B,CAAC,YAA+B,EAAE,KAAc,EAAE,GAAY;IACxG,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,YAAY,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAC;QACzF,YAAY,CAAC,KAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAC7F,YAAY,CAAC,GAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAEzF,6BAA6B;QAC7B,MAAM,OAAO,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC;QACvE,MAAM,QAAQ,GAAG,CAAE,KAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC;QAC7E,MAAM,MAAM,GAAG,CAAE,GAAc,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC;QAEzE,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5B,OAAO,gBAAgB,CACtB,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,EACzD,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,EACzD,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,2BAA2B,CACzD,CAAC;AACH,CAAC;AAoDD,MAAM,UAAU,aAAa,CAAC,QAA2B,EAAE,CAAU;IACpE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACrB,sDAAsD;YACtD,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;YAC9F,OAAO;gBACN,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACT,CAAC;QACH,CAAC;QACD,gEAAgE;QAChE,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAChG,YAAY,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACzF,OAAO;YACN,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACT,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACT,CAAC;IACH,CAAC;IACD,yDAAyD;IACzD,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO;QACN,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACT,CAAC;AACH,CAAC;AAkDD,MAAM,UAAU,aAAa,CAAC,QAA2B,EAAE,CAAU,EAAE,CAAU;IAChF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,qDAAqD;YACrD,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;YAC9F,OAAO;gBACN,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACnB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACZ,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,YAAY,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QAChG,YAAY,CAAC,CAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACnG,YAAY,CAAC,CAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,wCAAwC,EAAE,CAAC,CAAC;QACnG,OAAO;YACN,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC,CAAC,EAAE,CAAW,EAAE,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAW,EAAE,CAAC,CAAC;YACtB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SACZ,CAAC;IACH,CAAC;IACD,yDAAyD;IACzD,aAAa,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO;QACN,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACZ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAG,CAAW;IACjD,mDAAmD;IACnD,aAAa,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO;QACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,aAAa;QAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,aAAa;QAC5B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAO,aAAa;KAC7B,CAAC;AACH,CAAC;AA+CD,MAAM,UAAU,mBAAmB,CAAC,cAAiC,EAAE,CAAU,EAAE,CAAU;IAC5F,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACxC,qDAAqD;YACrD,YAAY,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC,CAAC;YAC5G,OAAO;gBACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC;gBACzB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACZ,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,YAAY,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAC9G,YAAY,CAAC,CAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAC3G,YAAY,CAAC,CAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAC3G,OAAO;YACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAG,gBAAgB;YAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAW,CAAC,EAAM,gBAAgB;YAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAW,CAAC,EAAM,gBAAgB;YAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAiB,gBAAgB;SAC7C,CAAC;IACH,CAAC;IACD,qEAAqE;IACrE,aAAa,CAAC,cAAc,CAAC,CAAC;IAC9B,OAAO;QACN,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAG,gBAAgB;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAG,gBAAgB;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAG,gBAAgB;QAC/C,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAoB,gBAAgB;KAChD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,MAAgB;IACnE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,+CAA+C;IAC/C,MAAM,WAAW,GAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,sEAAsE;IACtE,MAAM,MAAM,GAAa;QACxB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAG,KAAK;QAC3G,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAG,KAAK;QAC3G,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAI,KAAK;KAC5G,CAAC;IACF,iFAAiF;IACjF,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IAE1G,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAgB,EAAE,SAAmB;IACtE,aAAa,CAAC,SAAS,CAAC,CAAC;IACzB,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,+CAA+C;IAC/C,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3B,uCAAuC;IACvC,MAAM,MAAM,GAAa;QACxB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjJ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjJ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QACjJ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;KACjJ,CAAC;IACF,iFAAiF;IACjF,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IAE1G,6DAA6D;IAC7D,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAmB,EAAE,MAAgB;IACtE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzB,uEAAuE;IACvE,OAAO;QACN,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC7F,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;KAC7F,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,UAAU,CAAC,GAAa,EAAE,MAAgB,EAAE,EAAY;IACvE,aAAa,CAAC,GAAG,CAAC,CAAC;IACnB,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,CAAC;IAElB,8DAA8D;IAC9D,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEnD,iEAAiE;IACjE,MAAM,YAAY,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE/C,wDAAwD;IACxD,MAAM,YAAY,GAAG,YAAY,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAEtE,2DAA2D;IAC3D,iFAAiF;IACjF,MAAM,QAAQ,GAAG;QAChB,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;KACZ,CAAC;IAEF,kDAAkD;IAClD,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnE,yDAAyD;IACzD,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACrD,aAAa,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,MAAkB,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAc,EAAE,IAAY,EAAE,GAAW;IACxF,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAC;IACzF,YAAY,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;IACvF,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,0DAA0D,EAAE,CAAC,CAAC;IACzG,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC,CAAC;IAEpF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,2CAA2C;IAC3C,qEAAqE;IACrE,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAE,0CAA0C;QACtF,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAa,yBAAyB;QACrE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,6BAA6B;QAC1E,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,iCAAiC;QAClF,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAA0B,+BAA+B;QAC3E,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAA2B,yBAAyB;IACtE,CAAC;IAED,OAAO,MAAkB,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY,EAAE,KAAa,EAAE,MAAc,EAAE,GAAW,EAAE,IAAY,EAAE,GAAW;IACrH,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IACrF,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC;IACrF,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC,CAAC;IAE1F,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEtB,4CAA4C;IAC5C,yFAAyF;IACzF,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,wDAAwD;QACxD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAW,YAAY;QACzD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAW,YAAY;QACzD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAY,8CAA8C;QAE3F,wDAAwD;QACxD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAG,gBAAgB;QACnE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAG,gBAAgB;QACnE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAO,gBAAgB;QAEnE,0DAA0D;QAC1D,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,MAAkB,CAAC;AAC3B,CAAC"}
@@ -10,7 +10,7 @@
10
10
  * const matrix: IMatrix = [[1, 2, 3], [4, 5, 6]]; // 2×3 matrix
11
11
  * const square: IMatrix = [[1, 2], [3, 4]]; // 2×2 square matrix
12
12
  */
13
- export type IMatrix = number[][];
13
+ export type TMatrix = number[][];
14
14
  /**
15
15
  * 1×1 matrix type for scalar operations in matrix form.
16
16
  * Useful for maintaining type consistency in matrix operations.
@@ -18,7 +18,7 @@ export type IMatrix = number[][];
18
18
  * @example
19
19
  * const scalar: IMatrix1 = [[5]]; // Single value in matrix format
20
20
  */
21
- export type IMatrix1 = [[number]];
21
+ export type TMatrix1 = [[number]];
22
22
  /**
23
23
  * 2×2 matrix type commonly used for 2D transformations.
24
24
  * Frequently used in computer graphics and 2D geometry operations.
@@ -27,7 +27,7 @@ export type IMatrix1 = [[number]];
27
27
  * const rotation2D: IMatrix2 = [[0, -1], [1, 0]]; // 90° rotation matrix
28
28
  * const scale2D: IMatrix2 = [[2, 0], [0, 3]]; // Scale transformation
29
29
  */
30
- export type IMatrix2 = [
30
+ export type TMatrix2 = [
31
31
  [
32
32
  number,
33
33
  number
@@ -42,10 +42,10 @@ export type IMatrix2 = [
42
42
  * or 3D rotations. Standard size for homogeneous 2D coordinates.
43
43
  *
44
44
  * @example
45
- * const transform2D: IMatrix3 = [[1, 0, 5], [0, 1, 10], [0, 0, 1]]; // Translation
46
- * const rotation3D: IMatrix3 = [[1, 0, 0], [0, 0, -1], [0, 1, 0]]; // X-axis rotation
45
+ * const transform2D: TMatrix3|TMatrix4 = [[1, 0, 5], [0, 1, 10], [0, 0, 1]]; // Translation
46
+ * const rotation3D: TMatrix3|TMatrix4 = [[1, 0, 0], [0, 0, -1], [0, 1, 0]]; // X-axis rotation
47
47
  */
48
- export type IMatrix3 = [
48
+ export type TMatrix3 = [
49
49
  [
50
50
  number,
51
51
  number,
@@ -67,14 +67,14 @@ export type IMatrix3 = [
67
67
  * Standard size for homogeneous 3D coordinates and transformation pipelines.
68
68
  *
69
69
  * @example
70
- * const transform3D: IMatrix4 = [
70
+ * const transform3D: TMatrix3|TMatrix4 = [
71
71
  * [1, 0, 0, 5], // Translation in X
72
72
  * [0, 1, 0, 10], // Translation in Y
73
73
  * [0, 0, 1, 15], // Translation in Z
74
74
  * [0, 0, 0, 1] // Homogeneous coordinate
75
75
  * ];
76
76
  */
77
- export type IMatrix4 = [
77
+ export type TMatrix4 = [
78
78
  [
79
79
  number,
80
80
  number,
@@ -119,16 +119,16 @@ export interface IMatrixOperationOptions {
119
119
  * // Can handle any matrix size
120
120
  * }
121
121
  */
122
- export type TMatrix = IMatrix | IMatrix1 | IMatrix2 | IMatrix3 | IMatrix4;
122
+ export type TMatrixAll = TMatrix1 | TMatrix2 | TMatrix3 | TMatrix4 | TMatrix;
123
123
  /**
124
124
  * Conditional type that preserves the specific matrix type through operations.
125
125
  * Ensures type safety by returning the same specific matrix type as the input.
126
126
  *
127
- * @template T - The input matrix type extending IMatrix
127
+ * @template T - The input matrix type extending TMatrix
128
128
  * @example
129
- * function operation<T extends IMatrix>(matrix: T): TMatrixResult<T> {
129
+ * function operation<T extends TMatrix>(matrix: T): TMatrixResult<T> {
130
130
  * // Returns same specific type as input
131
131
  * }
132
132
  */
133
- export type TMatrixResult<T extends IMatrix> = T extends IMatrix1 ? IMatrix1 : T extends IMatrix2 ? IMatrix2 : T extends IMatrix3 ? IMatrix3 : T extends IMatrix4 ? IMatrix4 : IMatrix;
133
+ export type TMatrixResult<T extends TMatrix> = T extends TMatrix1 ? TMatrix1 : T extends TMatrix2 ? TMatrix2 : T extends TMatrix3 ? TMatrix3 : T extends TMatrix4 ? TMatrix4 : TMatrix;
134
134
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matrices/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,MAAM,MAAM,OAAO,GAAG,MAAM,EAAE,EAAE,CAAC;AAEjC;;;;;;GAMG;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAElC;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;KAAC;IAChB;QAAC,MAAM;QAAE,MAAM;KAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;CACxB,CAAC;AAEF;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACvC,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matrices/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,MAAM,MAAM,OAAO,GAAG,MAAM,EAAE,EAAE,CAAC;AAEjC;;;;;;GAMG;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAElC;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;KAAC;IAChB;QAAC,MAAM;QAAE,MAAM;KAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IACxB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;CACxB,CAAC;AAEF;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,QAAQ,GAAG;IACtB;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;IAChC;QAAC,MAAM;QAAE,MAAM;QAAE,MAAM;QAAE,MAAM;KAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACvC,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7E;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,IAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,CAAC,SAAS,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Namespace re-exports for quaternion utilities.
3
+ * Provides grouped access to quaternion operations through namespace aliases.
4
+ */
5
+ export * as Types from './types.js';
6
+ export * as Core from './core.js';
7
+ export * as Asserts from './asserts.js';
8
+ export * as Conversions from './conversions.js';
9
+ export * as Interpolation from './interpolation.js';
10
+ export * as Predefined from './predefined.js';
11
+ //# sourceMappingURL=_exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_exports.d.ts","sourceRoot":"","sources":["../../src/quaternions/_exports.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Namespace re-exports for quaternion utilities.
3
+ * Provides grouped access to quaternion operations through namespace aliases.
4
+ */
5
+ export * as Types from './types.js';
6
+ export * as Core from './core.js';
7
+ export * as Asserts from './asserts.js';
8
+ export * as Conversions from './conversions.js';
9
+ export * as Interpolation from './interpolation.js';
10
+ export * as Predefined from './predefined.js';
11
+ //# sourceMappingURL=_exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../src/quaternions/_exports.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC"}
@@ -9,7 +9,17 @@ import { TQuaternion, TEulerAngles, TAxisAngle, TRotationMatrix } from './types.
9
9
  * Extends the base VectorError to maintain consistency with vector operations.
10
10
  */
11
11
  export declare class QuaternionError extends VectorError {
12
- constructor(message?: string);
12
+ readonly code: string;
13
+ /**
14
+ * Creates a new QuaternionError instance.
15
+ *
16
+ * @param message - Error message describing the validation failure
17
+ * @param options - Optional error context
18
+ * @param options.cause - Original error that caused this error
19
+ */
20
+ constructor(message: string, options?: {
21
+ cause?: unknown;
22
+ });
13
23
  }
14
24
  /**
15
25
  * Validates that a value is a proper quaternion.
@@ -20,9 +30,11 @@ export declare class QuaternionError extends VectorError {
20
30
  * @throws {QuaternionError} If the quaternion is invalid
21
31
  *
22
32
  * @example
23
- * AssertQuaternion([0, 0, 0, 1]); // Valid - passes silently
24
- * AssertQuaternion([1, 2, 3]); // Throws QuaternionError - wrong length
25
- * AssertQuaternion([1, 2, 3, NaN]); // Throws QuaternionError - contains NaN
33
+ * ```typescript
34
+ * AssertQuaternion([0, 0, 0, 1]); // Valid - passes silently
35
+ * AssertQuaternion([1, 2, 3]); // Throws QuaternionError - wrong length
36
+ * AssertQuaternion([1, 2, 3, NaN]); // Throws QuaternionError - contains NaN
37
+ * ```
26
38
  */
27
39
  export declare function AssertQuaternion(quaternion: unknown, options?: Record<string, unknown>): asserts quaternion is TQuaternion;
28
40
  /**
@@ -34,8 +46,10 @@ export declare function AssertQuaternion(quaternion: unknown, options?: Record<s
34
46
  * @throws {QuaternionError} If the quaternion is not normalized
35
47
  *
36
48
  * @example
37
- * AssertNormalizedQuaternion([0, 0, 0, 1]); // Valid unit quaternion
38
- * AssertNormalizedQuaternion([1, 1, 1, 1]); // Throws - not normalized
49
+ * ```typescript
50
+ * AssertNormalizedQuaternion([0, 0, 0, 1]); // Valid unit quaternion
51
+ * AssertNormalizedQuaternion([1, 1, 1, 1]); // Throws - not normalized
52
+ * ```
39
53
  */
40
54
  export declare function AssertNormalizedQuaternion(quaternion: TQuaternion, tolerance?: number): void;
41
55
  /**
@@ -58,7 +72,7 @@ export declare function AssertEulerAngles(euler: unknown, options?: Record<strin
58
72
  export declare function AssertAxisAngle(axisAngle: unknown, options?: Record<string, unknown>): asserts axisAngle is TAxisAngle;
59
73
  /**
60
74
  * Validates that a value is a proper rotation matrix.
61
- * Rotation matrix must be a 3x3 matrix (IMatrix3).
75
+ * Rotation matrix must be a 3x3 matrix (TMatrix3).
62
76
  *
63
77
  * @param matrix - The value to validate as a rotation matrix
64
78
  * @param options - Validation options
@@ -74,4 +88,98 @@ export declare function AssertRotationMatrix(matrix: unknown, options?: Record<s
74
88
  * @throws {QuaternionError} If any quaternion is invalid
75
89
  */
76
90
  export declare function AssertQuaternions(quaternions: unknown[], options?: Record<string, unknown>): asserts quaternions is TQuaternion[];
91
+ /**
92
+ * Validates that an unknown value is a valid quaternion without throwing an error.
93
+ *
94
+ * This function performs the same validation as AssertQuaternion but returns
95
+ * a boolean instead of throwing an exception, making it suitable for
96
+ * conditional logic where exceptions are not desired.
97
+ *
98
+ * @param quaternion - The value to validate as a quaternion
99
+ * @param options - Validation options
100
+ * @returns true if the quaternion is valid, false otherwise
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * if (ValidateQuaternion(someValue)) {
105
+ * // Process the valid quaternion
106
+ * }
107
+ * ```
108
+ */
109
+ export declare function ValidateQuaternion(quaternion: unknown, options?: Record<string, unknown>): quaternion is TQuaternion;
110
+ /**
111
+ * Validates that a quaternion is normalized (magnitude = 1) without throwing an error.
112
+ *
113
+ * @param quaternion - The quaternion to validate as normalized
114
+ * @param tolerance - Maximum allowed deviation from unit magnitude (default: 1e-6)
115
+ * @returns true if the quaternion is normalized, false otherwise
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * if (ValidateNormalizedQuaternion([1, 0, 0, 0])) {
120
+ * // Process the normalized quaternion
121
+ * }
122
+ * ```
123
+ */
124
+ export declare function ValidateNormalizedQuaternion(quaternion: TQuaternion, tolerance?: number): boolean;
125
+ /**
126
+ * Validates that an unknown value is valid Euler angles without throwing an error.
127
+ *
128
+ * @param euler - The value to validate as Euler angles
129
+ * @param options - Validation options
130
+ * @returns true if the Euler angles are valid, false otherwise
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * if (ValidateEulerAngles([0.5, 1.0, 1.5])) {
135
+ * // Process the valid Euler angles
136
+ * }
137
+ * ```
138
+ */
139
+ export declare function ValidateEulerAngles(euler: unknown, options?: Record<string, unknown>): euler is TEulerAngles;
140
+ /**
141
+ * Validates that an unknown value is a valid axis-angle representation without throwing an error.
142
+ *
143
+ * @param axisAngle - The value to validate as axis-angle
144
+ * @param options - Validation options
145
+ * @returns true if the axis-angle is valid, false otherwise
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * if (ValidateAxisAngle({ axis: [0, 0, 1], angle: Math.PI / 2 })) {
150
+ * // Process the valid axis-angle
151
+ * }
152
+ * ```
153
+ */
154
+ export declare function ValidateAxisAngle(axisAngle: unknown, options?: Record<string, unknown>): axisAngle is TAxisAngle;
155
+ /**
156
+ * Validates that an unknown value is a valid rotation matrix without throwing an error.
157
+ *
158
+ * @param matrix - The value to validate as a rotation matrix
159
+ * @param options - Validation options
160
+ * @returns true if the matrix is a valid rotation matrix, false otherwise
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * if (ValidateRotationMatrix(someValue)) {
165
+ * // Process the valid rotation matrix
166
+ * }
167
+ * ```
168
+ */
169
+ export declare function ValidateRotationMatrix(matrix: unknown, options?: Record<string, unknown>): matrix is TRotationMatrix;
170
+ /**
171
+ * Validates that an unknown value is an array of valid quaternions without throwing an error.
172
+ *
173
+ * @param quaternions - The value to validate as an array of quaternions
174
+ * @param options - Validation options
175
+ * @returns true if all quaternions are valid, false otherwise
176
+ *
177
+ * @example
178
+ * ```typescript
179
+ * if (ValidateQuaternions([q1, q2, q3])) {
180
+ * // Process the valid quaternion array
181
+ * }
182
+ * ```
183
+ */
184
+ export declare function ValidateQuaternions(quaternions: unknown[], options?: Record<string, unknown>): quaternions is TQuaternion[];
77
185
  //# sourceMappingURL=asserts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asserts.d.ts","sourceRoot":"","sources":["../../src/quaternions/asserts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpF;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;gBACnC,OAAO,GAAE,MAAW;CAIhC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,UAAU,IAAI,WAAW,CAkB9H;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,GAAE,MAAa,GAAG,IAAI,CASlG;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAiBtH;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAiB1H;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CA0B9H;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,WAAW,IAAI,WAAW,EAAE,CAerI"}
1
+ {"version":3,"file":"asserts.d.ts","sourceRoot":"","sources":["../../src/quaternions/asserts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpF;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC/C,SAAgB,IAAI,EAAE,MAAM,CAAsB;IAElD;;;;;;OAMG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI1D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,UAAU,IAAI,WAAW,CAkB9H;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,GAAE,MAAa,GAAG,IAAI,CASlG;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAiBtH;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAiB1H;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CA0B9H;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,WAAW,IAAI,WAAW,EAAE,CAerI;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,UAAU,IAAI,WAAW,CAOxH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,GAAE,MAAa,GAAG,OAAO,CAOvG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,KAAK,IAAI,YAAY,CAOhH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,SAAS,IAAI,UAAU,CAOpH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,MAAM,IAAI,eAAe,CAOxH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,WAAW,IAAI,WAAW,EAAE,CAO/H"}