linearly 0.24.3 → 0.26.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.
- package/lib/cjs/mat2.d.ts +90 -42
- package/lib/cjs/mat2.d.ts.map +1 -1
- package/lib/cjs/mat2.js +94 -46
- package/lib/cjs/mat2d.d.ts +109 -55
- package/lib/cjs/mat2d.d.ts.map +1 -1
- package/lib/cjs/mat2d.js +112 -58
- package/lib/cjs/mat3.d.ts +93 -45
- package/lib/cjs/mat3.d.ts.map +1 -1
- package/lib/cjs/mat3.js +96 -48
- package/lib/cjs/mat4.d.ts +93 -45
- package/lib/cjs/mat4.d.ts.map +1 -1
- package/lib/cjs/mat4.js +96 -48
- package/lib/cjs/quat.d.ts +62 -29
- package/lib/cjs/quat.d.ts.map +1 -1
- package/lib/cjs/quat.js +64 -31
- package/lib/cjs/scalar.d.ts +164 -54
- package/lib/cjs/scalar.d.ts.map +1 -1
- package/lib/cjs/scalar.js +192 -62
- package/lib/cjs/vec2.d.ts +176 -72
- package/lib/cjs/vec2.d.ts.map +1 -1
- package/lib/cjs/vec2.js +208 -105
- package/lib/cjs/vec3.d.ts +183 -82
- package/lib/cjs/vec3.d.ts.map +1 -1
- package/lib/cjs/vec3.js +210 -93
- package/lib/cjs/vec4.d.ts +159 -67
- package/lib/cjs/vec4.d.ts.map +1 -1
- package/lib/cjs/vec4.js +189 -78
- package/lib/esm/mat2.d.ts +90 -42
- package/lib/esm/mat2.d.ts.map +1 -1
- package/lib/esm/mat2.js +94 -46
- package/lib/esm/mat2d.d.ts +109 -55
- package/lib/esm/mat2d.d.ts.map +1 -1
- package/lib/esm/mat2d.js +112 -58
- package/lib/esm/mat3.d.ts +93 -45
- package/lib/esm/mat3.d.ts.map +1 -1
- package/lib/esm/mat3.js +96 -48
- package/lib/esm/mat4.d.ts +93 -45
- package/lib/esm/mat4.d.ts.map +1 -1
- package/lib/esm/mat4.js +96 -48
- package/lib/esm/quat.d.ts +62 -29
- package/lib/esm/quat.d.ts.map +1 -1
- package/lib/esm/quat.js +64 -31
- package/lib/esm/scalar.d.ts +164 -54
- package/lib/esm/scalar.d.ts.map +1 -1
- package/lib/esm/scalar.js +192 -62
- package/lib/esm/vec2.d.ts +176 -72
- package/lib/esm/vec2.d.ts.map +1 -1
- package/lib/esm/vec2.js +208 -105
- package/lib/esm/vec3.d.ts +183 -82
- package/lib/esm/vec3.d.ts.map +1 -1
- package/lib/esm/vec3.js +210 -93
- package/lib/esm/vec4.d.ts +159 -67
- package/lib/esm/vec4.d.ts.map +1 -1
- package/lib/esm/vec4.js +189 -78
- package/package.json +1 -1
package/lib/esm/scalar.js
CHANGED
|
@@ -8,6 +8,10 @@ export var scalar;
|
|
|
8
8
|
return vs.reduce((a, b) => a + b, 0);
|
|
9
9
|
}
|
|
10
10
|
scalar.add = add;
|
|
11
|
+
/**
|
|
12
|
+
* @shorthands
|
|
13
|
+
* - {@link sub}
|
|
14
|
+
*/
|
|
11
15
|
function subtract(...vs) {
|
|
12
16
|
if (vs.length === 0) {
|
|
13
17
|
return 0;
|
|
@@ -18,10 +22,28 @@ export var scalar;
|
|
|
18
22
|
return vs.reduce((a, b) => a - b);
|
|
19
23
|
}
|
|
20
24
|
scalar.subtract = subtract;
|
|
25
|
+
/**
|
|
26
|
+
* Alias for {@link subtract}
|
|
27
|
+
* @category Shorthands
|
|
28
|
+
*/
|
|
29
|
+
scalar.sub = subtract;
|
|
30
|
+
/**
|
|
31
|
+
* @shorthands
|
|
32
|
+
* - {@link mul}
|
|
33
|
+
*/
|
|
21
34
|
function multiply(...vs) {
|
|
22
35
|
return vs.reduce((a, b) => a * b, 1);
|
|
23
36
|
}
|
|
24
37
|
scalar.multiply = multiply;
|
|
38
|
+
/**
|
|
39
|
+
* Alias for {@link multiply}
|
|
40
|
+
* @category Shorthands
|
|
41
|
+
*/
|
|
42
|
+
scalar.mul = multiply;
|
|
43
|
+
/**
|
|
44
|
+
* @shorthands
|
|
45
|
+
* - {@link div}
|
|
46
|
+
*/
|
|
25
47
|
function divide(...vs) {
|
|
26
48
|
if (vs.length === 0) {
|
|
27
49
|
return 1;
|
|
@@ -32,6 +54,11 @@ export var scalar;
|
|
|
32
54
|
return vs.reduce((a, b) => a / b);
|
|
33
55
|
}
|
|
34
56
|
scalar.divide = divide;
|
|
57
|
+
/**
|
|
58
|
+
* Alias for {@link divide}
|
|
59
|
+
* @category Shorthands
|
|
60
|
+
*/
|
|
61
|
+
scalar.div = divide;
|
|
35
62
|
/**
|
|
36
63
|
* Symmetric round the given number
|
|
37
64
|
*/
|
|
@@ -86,6 +113,9 @@ export var scalar;
|
|
|
86
113
|
/**
|
|
87
114
|
* Returns the average value of the input(s)
|
|
88
115
|
* @see https://www.sidefx.com/docs/houdini/vex/functions/avg.html
|
|
116
|
+
*
|
|
117
|
+
* @shorthands
|
|
118
|
+
* - {@link avg}
|
|
89
119
|
*/
|
|
90
120
|
function average(...vs) {
|
|
91
121
|
let x = 0;
|
|
@@ -96,23 +126,68 @@ export var scalar;
|
|
|
96
126
|
return x / scale;
|
|
97
127
|
}
|
|
98
128
|
scalar.average = average;
|
|
129
|
+
/**
|
|
130
|
+
* Alias for {@link average}
|
|
131
|
+
* @category Shorthands
|
|
132
|
+
*/
|
|
133
|
+
scalar.avg = average;
|
|
99
134
|
function scaleAndAdd(a, b, s) {
|
|
100
135
|
return a + b * s;
|
|
101
136
|
}
|
|
102
137
|
scalar.scaleAndAdd = scaleAndAdd;
|
|
138
|
+
/**
|
|
139
|
+
* @shortands
|
|
140
|
+
* - {@link dist}
|
|
141
|
+
*/
|
|
103
142
|
function distance(a, b) {
|
|
104
143
|
return Math.abs(a - b);
|
|
105
144
|
}
|
|
106
145
|
scalar.distance = distance;
|
|
146
|
+
/**
|
|
147
|
+
* Alias for {@link distance}
|
|
148
|
+
* @category Shorthands
|
|
149
|
+
*/
|
|
150
|
+
scalar.dist = distance;
|
|
151
|
+
/**
|
|
152
|
+
* Returns the squared difference between two numbers
|
|
153
|
+
*
|
|
154
|
+
* @shorthands
|
|
155
|
+
* - {@link sqrDist}
|
|
156
|
+
*/
|
|
107
157
|
function squaredDistance(a, b) {
|
|
108
158
|
return (a - b) ** 2;
|
|
109
159
|
}
|
|
110
160
|
scalar.squaredDistance = squaredDistance;
|
|
161
|
+
/**
|
|
162
|
+
* Alias for {@link squaredDistance}
|
|
163
|
+
* @category Shorthands
|
|
164
|
+
*/
|
|
165
|
+
scalar.sqrDist = squaredDistance;
|
|
166
|
+
/**
|
|
167
|
+
* Returns the absolute difference between two numbers
|
|
168
|
+
*
|
|
169
|
+
* @shorthands
|
|
170
|
+
* - {@link len}
|
|
171
|
+
*/
|
|
111
172
|
scalar.length = Math.abs;
|
|
173
|
+
/**
|
|
174
|
+
* Alias for {@link length}
|
|
175
|
+
* @category Shorthands
|
|
176
|
+
*/
|
|
177
|
+
scalar.len = scalar.length;
|
|
178
|
+
/**
|
|
179
|
+
* @shortands
|
|
180
|
+
* - {@link sqrLen}
|
|
181
|
+
*/
|
|
112
182
|
function squaredLength(a) {
|
|
113
183
|
return a ** 2;
|
|
114
184
|
}
|
|
115
185
|
scalar.squaredLength = squaredLength;
|
|
186
|
+
/**
|
|
187
|
+
* Alias for {@link squaredLength}
|
|
188
|
+
* @category Shorthands
|
|
189
|
+
*/
|
|
190
|
+
scalar.sqrLen = squaredLength;
|
|
116
191
|
function negate(a) {
|
|
117
192
|
return -a;
|
|
118
193
|
}
|
|
@@ -132,15 +207,27 @@ export var scalar;
|
|
|
132
207
|
/**
|
|
133
208
|
* Linearly interpolate between two numbers. Same as GLSL's bulit-in `mix` function.
|
|
134
209
|
* @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
|
|
210
|
+
*
|
|
211
|
+
* @shorthands
|
|
212
|
+
* - {@link mix}
|
|
135
213
|
*/
|
|
136
214
|
function lerp(a, b, t) {
|
|
137
215
|
return a + (b - a) * t;
|
|
138
216
|
}
|
|
139
217
|
scalar.lerp = lerp;
|
|
218
|
+
/**
|
|
219
|
+
* Alias for {@link invert}
|
|
220
|
+
* @see https://registry.khronos.org/OpenGL-Refpages/gl4/html/mix.xhtml
|
|
221
|
+
* @category Shorthands
|
|
222
|
+
*/
|
|
223
|
+
scalar.mix = lerp;
|
|
140
224
|
/**
|
|
141
225
|
* Returns the amount to mix `min` and `max` to generate the input value `t`. This is the inverse of the `lerp` function. If `min` and `max` are equal, the mixing value is `0.5`.
|
|
142
226
|
* @see https://docs.unity3d.com/Packages/com.unity.shadergraph@6.9/manual/Inverse-Lerp-Node.html
|
|
143
227
|
* @see https://www.sidefx.com/docs/houdini/vex/functions/invlerp.html
|
|
228
|
+
*
|
|
229
|
+
* @shorthands
|
|
230
|
+
* - {@link invlerp}
|
|
144
231
|
*/
|
|
145
232
|
function inverseLerp(a, b, t) {
|
|
146
233
|
if (a === b)
|
|
@@ -149,7 +236,12 @@ export var scalar;
|
|
|
149
236
|
}
|
|
150
237
|
scalar.inverseLerp = inverseLerp;
|
|
151
238
|
/**
|
|
152
|
-
*
|
|
239
|
+
* Alias for {@link inverseLerp}
|
|
240
|
+
* @category Shorthands
|
|
241
|
+
*/
|
|
242
|
+
scalar.invlerp = inverseLerp;
|
|
243
|
+
/**
|
|
244
|
+
* Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. The function clamps the given value the range `(omin, omax)` before fitting, so the resulting value will be guaranteed to be in the range `(nmin, nmax)`. To avoid clamping use {@link efit} instead. If `omin` and `omax` are the same, the function returns the average of `nmin` and `nmax`.
|
|
153
245
|
* @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
|
|
154
246
|
* @param value
|
|
155
247
|
* @param omin
|
|
@@ -159,12 +251,15 @@ export var scalar;
|
|
|
159
251
|
* @returns
|
|
160
252
|
*/
|
|
161
253
|
function fit(value, omin, omax, nmin, nmax) {
|
|
254
|
+
if (omax === omin) {
|
|
255
|
+
return lerp(nmin, nmax, 0.5);
|
|
256
|
+
}
|
|
162
257
|
const t = clamp((value - omin) / (omax - omin), 0, 1);
|
|
163
258
|
return lerp(nmin, nmax, t);
|
|
164
259
|
}
|
|
165
260
|
scalar.fit = fit;
|
|
166
261
|
/**
|
|
167
|
-
* Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. Unlike `fit`, this function does not clamp values to the given range.
|
|
262
|
+
* Takes the value in the range `(omin, omax)` and shifts it to the corresponding value in the new range `(nmin, nmax)`. Unlike `fit`, this function does not clamp values to the given range. If `omin` and `omax` are the same, the function returns the average of `nmin` and `nmax`.
|
|
168
263
|
* @see https://www.sidefx.com/docs/houdini/vex/functions/fit.html
|
|
169
264
|
* @param value
|
|
170
265
|
* @param omin
|
|
@@ -174,6 +269,9 @@ export var scalar;
|
|
|
174
269
|
* @returns
|
|
175
270
|
*/
|
|
176
271
|
function efit(value, omin, omax, nmin, nmax) {
|
|
272
|
+
if (omax === omin) {
|
|
273
|
+
return lerp(nmin, nmax, 0.5);
|
|
274
|
+
}
|
|
177
275
|
const t = (value - omin) / (omax - omin);
|
|
178
276
|
return lerp(nmin, nmax, t);
|
|
179
277
|
}
|
|
@@ -202,14 +300,40 @@ export var scalar;
|
|
|
202
300
|
return t * t * (3 - 2 * t);
|
|
203
301
|
}
|
|
204
302
|
scalar.smoothstep = smoothstep;
|
|
303
|
+
/**
|
|
304
|
+
* Converts a number from radians to degrees
|
|
305
|
+
* @param rad A number in radians
|
|
306
|
+
* @returns The degrees equivalent of the input
|
|
307
|
+
*
|
|
308
|
+
* @shorthands
|
|
309
|
+
* - {@link deg}
|
|
310
|
+
*/
|
|
205
311
|
function degrees(rad) {
|
|
206
312
|
return (rad * 180) / Math.PI;
|
|
207
313
|
}
|
|
208
314
|
scalar.degrees = degrees;
|
|
315
|
+
/**
|
|
316
|
+
* Alias for {@link degrees}
|
|
317
|
+
* @category Shorthands
|
|
318
|
+
*/
|
|
319
|
+
scalar.deg = degrees;
|
|
320
|
+
/**
|
|
321
|
+
* Converts a number from degrees to radians
|
|
322
|
+
* @param deg A number in degrees
|
|
323
|
+
* @returns The radians equivalent of the input
|
|
324
|
+
*
|
|
325
|
+
* @shorthands
|
|
326
|
+
* - {@link rad}
|
|
327
|
+
*/
|
|
209
328
|
function radians(deg) {
|
|
210
329
|
return (deg * Math.PI) / 180;
|
|
211
330
|
}
|
|
212
331
|
scalar.radians = radians;
|
|
332
|
+
/**
|
|
333
|
+
* Alias for {@link radians}
|
|
334
|
+
* @category Shorthands
|
|
335
|
+
*/
|
|
336
|
+
scalar.rad = radians;
|
|
213
337
|
function sin(deg) {
|
|
214
338
|
return Math.sin(deg * Common.DEG2RAD);
|
|
215
339
|
}
|
|
@@ -265,80 +389,86 @@ export var scalar;
|
|
|
265
389
|
return 1 / Math.sqrt(v);
|
|
266
390
|
}
|
|
267
391
|
scalar.inverseSqrt = inverseSqrt;
|
|
268
|
-
function exactEquals(a, b) {
|
|
269
|
-
return a === b;
|
|
270
|
-
}
|
|
271
|
-
scalar.exactEquals = exactEquals;
|
|
272
|
-
function equals(a, b) {
|
|
273
|
-
return (Math.abs(a - b) <=
|
|
274
|
-
Common.EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b)));
|
|
275
|
-
}
|
|
276
|
-
scalar.equals = equals;
|
|
277
|
-
/**
|
|
278
|
-
* Alias for {@link scalar.subtract}
|
|
279
|
-
* @category Aliases
|
|
280
|
-
*/
|
|
281
|
-
scalar.sub = subtract;
|
|
282
|
-
/**
|
|
283
|
-
* Alias for {@link scalar.multiply}
|
|
284
|
-
* @category Aliases
|
|
285
|
-
*/
|
|
286
|
-
scalar.mul = multiply;
|
|
287
|
-
/**
|
|
288
|
-
* Alias for {@link scalar.divide}
|
|
289
|
-
* @category Aliases
|
|
290
|
-
*/
|
|
291
|
-
scalar.div = divide;
|
|
292
392
|
/**
|
|
293
|
-
* Alias for {@link
|
|
294
|
-
* @category
|
|
393
|
+
* Alias for {@link inverseSqrt}
|
|
394
|
+
* @category Shorthands
|
|
295
395
|
*/
|
|
296
|
-
scalar.
|
|
297
|
-
/**
|
|
298
|
-
* Alias for {@link scalar.distance}
|
|
299
|
-
* @category Aliases
|
|
300
|
-
*/
|
|
301
|
-
scalar.dist = distance;
|
|
396
|
+
scalar.invsqrt = inverseSqrt;
|
|
302
397
|
/**
|
|
303
|
-
*
|
|
304
|
-
* @
|
|
398
|
+
* Returns a sawtooth wave with the given period. Basically, the output will be the input value modulo `period`, but returns 1 when the phase is 1. The shape of the wave will be continous for the negative ranges, so when phase is negative integer, the output will be 0, else if phase is negative float, the output will be 1 - fractional part of phase.
|
|
399
|
+
* @see https://www.geogebra.org/calculator/d3grfqqe
|
|
400
|
+
*
|
|
401
|
+
* @param x the input value
|
|
402
|
+
* @param period the period of the wave
|
|
403
|
+
* @category Periodic Functions
|
|
404
|
+
*
|
|
405
|
+
* @shorthands
|
|
406
|
+
* - {@link ramp}
|
|
407
|
+
*
|
|
305
408
|
*/
|
|
306
|
-
|
|
409
|
+
function sawtooth(x, period = 1) {
|
|
410
|
+
x /= period;
|
|
411
|
+
if (x === 1)
|
|
412
|
+
return 1;
|
|
413
|
+
if (x < 0)
|
|
414
|
+
return (1 + (x % 1)) % 1;
|
|
415
|
+
return x % 1;
|
|
416
|
+
}
|
|
417
|
+
scalar.sawtooth = sawtooth;
|
|
307
418
|
/**
|
|
308
|
-
* Alias for {@link
|
|
309
|
-
* @category
|
|
419
|
+
* Alias for {@link sawtooth}
|
|
420
|
+
* @category Shorthands
|
|
310
421
|
*/
|
|
311
|
-
scalar.
|
|
422
|
+
scalar.ramp = sawtooth;
|
|
312
423
|
/**
|
|
313
|
-
*
|
|
314
|
-
* @
|
|
424
|
+
* Returns a triangle wave with the given period. The output ranges from 0 to 1.
|
|
425
|
+
* @see https://www.geogebra.org/calculator/d3grfqqe
|
|
426
|
+
*
|
|
427
|
+
* @param x The input value
|
|
428
|
+
* @param period The period of the wave
|
|
429
|
+
* @category Periodic Functions
|
|
315
430
|
*/
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
*/
|
|
322
|
-
scalar.mix = lerp;
|
|
431
|
+
function triangle(x, period = 1) {
|
|
432
|
+
x /= period;
|
|
433
|
+
return 1 - Math.abs(1 - 2 * (Math.abs(x) % 1));
|
|
434
|
+
}
|
|
435
|
+
scalar.triangle = triangle;
|
|
323
436
|
/**
|
|
324
|
-
*
|
|
325
|
-
*
|
|
437
|
+
* Returns a cosine wave with the given period. The output ranges from 0 to 1, and y = 0 when x = 0.
|
|
438
|
+
*
|
|
439
|
+
* @see https://www.geogebra.org/calculator/d3grfqqe
|
|
440
|
+
* @param v the input value
|
|
441
|
+
* @param period the period of the wave
|
|
442
|
+
* @category Periodic Functions
|
|
326
443
|
*/
|
|
327
|
-
|
|
444
|
+
function coswave(v, period = 1) {
|
|
445
|
+
v = (v * Math.PI * 2) / period;
|
|
446
|
+
console.log({ v });
|
|
447
|
+
return (-Math.cos(v) + 1) / 2;
|
|
448
|
+
}
|
|
449
|
+
scalar.coswave = coswave;
|
|
328
450
|
/**
|
|
329
|
-
*
|
|
330
|
-
*
|
|
451
|
+
* Returns whether or not the numbers have approximately the same.
|
|
452
|
+
*
|
|
453
|
+
* @shorthands
|
|
454
|
+
* - {@link approx}
|
|
455
|
+
* - {@link equals}
|
|
331
456
|
*/
|
|
332
|
-
|
|
457
|
+
function approxEquals(a, b) {
|
|
458
|
+
return (Math.abs(a - b) <=
|
|
459
|
+
Common.EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b)));
|
|
460
|
+
}
|
|
461
|
+
scalar.approxEquals = approxEquals;
|
|
333
462
|
/**
|
|
334
|
-
* Alias for {@link
|
|
335
|
-
* @category
|
|
463
|
+
* Alias for {@link approxEquals}
|
|
464
|
+
* @category Shorthands
|
|
336
465
|
*/
|
|
337
|
-
scalar.
|
|
466
|
+
scalar.approx = approxEquals;
|
|
338
467
|
/**
|
|
339
|
-
* Alias for {@link
|
|
340
|
-
* @category
|
|
468
|
+
* Alias for {@link approxEquals}. This is provided for compatibility with gl-matrix.
|
|
469
|
+
* @category Shorthands
|
|
470
|
+
* @deprecated Use {@link approxEquals} instead
|
|
341
471
|
*/
|
|
342
|
-
scalar.
|
|
472
|
+
scalar.equals = approxEquals;
|
|
343
473
|
})(scalar || (scalar = {}));
|
|
344
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjYWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUVsQzs7R0FFRztBQUNILE1BQU0sS0FBVyxNQUFNLENBbVh0QjtBQW5YRCxXQUFpQixNQUFNO0lBQ3RCLFNBQWdCLEdBQUcsQ0FBQyxHQUFHLEVBQVk7UUFDbEMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRmUsVUFBRyxNQUVsQixDQUFBO0lBRUQsU0FBZ0IsUUFBUSxDQUFDLEdBQUcsRUFBWTtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLENBQUE7UUFDVCxDQUFDO2FBQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDZCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFQZSxlQUFRLFdBT3ZCLENBQUE7SUFFRCxTQUFnQixRQUFRLENBQUMsR0FBRyxFQUFZO1FBQ3ZDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUZlLGVBQVEsV0FFdkIsQ0FBQTtJQUVELFNBQWdCLE1BQU0sQ0FBQyxHQUFHLEVBQVk7UUFDckMsSUFBSSxFQUFFLENB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
|
|
474
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjYWxhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUVsQzs7R0FFRztBQUNILE1BQU0sS0FBVyxNQUFNLENBMGZ0QjtBQTFmRCxXQUFpQixNQUFNO0lBQ3RCLFNBQWdCLEdBQUcsQ0FBQyxHQUFHLEVBQVk7UUFDbEMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRmUsVUFBRyxNQUVsQixDQUFBO0lBRUQ7OztPQUdHO0lBQ0gsU0FBZ0IsUUFBUSxDQUFDLEdBQUcsRUFBWTtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLENBQUE7UUFDVCxDQUFDO2FBQU0sSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDZCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFQZSxlQUFRLFdBT3ZCLENBQUE7SUFFRDs7O09BR0c7SUFDVSxVQUFHLEdBQUcsUUFBUSxDQUFBO0lBRTNCOzs7T0FHRztJQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFHLEVBQVk7UUFDdkMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRmUsZUFB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
|