@tsparticles/simplex-noise 4.0.0-beta.12 → 4.0.0-beta.16

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.
@@ -1,162 +1,3609 @@
1
- /*!
2
- * Author : Matteo Bruni
3
- * MIT license: https://opensource.org/licenses/MIT
4
- * Demo / Generator : https://particles.js.org/
5
- * GitHub : https://www.github.com/matteobruni/tsparticles
6
- * How to use? : Check the GitHub README
7
- * v4.0.0-beta.12
8
- */
9
- /*
10
- * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
11
- * This devtool is neither made for production nor for readable output files.
12
- * It uses "eval()" calls to create a separate source file in the browser devtools.
13
- * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
14
- * or disable the default devtool with "devtool: false".
15
- * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
16
- */
17
- (function webpackUniversalModuleDefinition(root, factory) {
18
- if(typeof exports === 'object' && typeof module === 'object')
19
- module.exports = factory();
20
- else if(typeof define === 'function' && define.amd)
21
- define([], factory);
22
- else {
23
- var a = factory();
24
- for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
25
- }
26
- })(this, () => {
27
- return /******/ (() => { // webpackBootstrap
28
- /******/ "use strict";
29
- /******/ var __webpack_modules__ = ({
1
+ (function(g){g.__tsParticlesInternals=g.__tsParticlesInternals||{};g.__tsParticlesInternals.bundles=g.__tsParticlesInternals.bundles||{};g.__tsParticlesInternals.effects=g.__tsParticlesInternals.effects||{};g.__tsParticlesInternals.engine=g.__tsParticlesInternals.engine||{};g.__tsParticlesInternals.interactions=g.__tsParticlesInternals.interactions||{};g.__tsParticlesInternals.palettes=g.__tsParticlesInternals.palettes||{};g.__tsParticlesInternals.paths=g.__tsParticlesInternals.paths||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins.emittersShapes=g.__tsParticlesInternals.plugins.emittersShapes||{};g.__tsParticlesInternals.presets=g.__tsParticlesInternals.presets||{};g.__tsParticlesInternals.shapes=g.__tsParticlesInternals.shapes||{};g.__tsParticlesInternals.updaters=g.__tsParticlesInternals.updaters||{};g.__tsParticlesInternals.utils=g.__tsParticlesInternals.utils||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas.utils=g.__tsParticlesInternals.canvas.utils||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path.utils=g.__tsParticlesInternals.path.utils||{};var __tsProxyFactory=typeof Proxy!=="undefined"?function(obj){return new Proxy(obj,{get:function(target,key){if(!(key in target)){target[key]={};}return target[key];}});}:function(obj){return obj;};g.__tsParticlesInternals.bundles=__tsProxyFactory(g.__tsParticlesInternals.bundles);g.__tsParticlesInternals.effects=__tsProxyFactory(g.__tsParticlesInternals.effects);g.__tsParticlesInternals.interactions=__tsProxyFactory(g.__tsParticlesInternals.interactions);g.__tsParticlesInternals.palettes=__tsProxyFactory(g.__tsParticlesInternals.palettes);g.__tsParticlesInternals.paths=__tsProxyFactory(g.__tsParticlesInternals.paths);g.__tsParticlesInternals.plugins=__tsProxyFactory(g.__tsParticlesInternals.plugins);g.__tsParticlesInternals.plugins.emittersShapes=__tsProxyFactory(g.__tsParticlesInternals.plugins.emittersShapes);g.__tsParticlesInternals.presets=__tsProxyFactory(g.__tsParticlesInternals.presets);g.__tsParticlesInternals.shapes=__tsProxyFactory(g.__tsParticlesInternals.shapes);g.__tsParticlesInternals.updaters=__tsProxyFactory(g.__tsParticlesInternals.updaters);g.__tsParticlesInternals.utils=__tsProxyFactory(g.__tsParticlesInternals.utils);g.__tsParticlesInternals.canvas=__tsProxyFactory(g.__tsParticlesInternals.canvas);g.__tsParticlesInternals.path=__tsProxyFactory(g.__tsParticlesInternals.path);g.tsparticlesInternalExports=g.tsparticlesInternalExports||{};})(typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:this);
2
+ /* Utility v4.0.0-beta.16 */
3
+ (function (global, factory) {
4
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
5
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
6
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.__tsParticlesInternals = global.__tsParticlesInternals || {}, global.__tsParticlesInternals.simplex = global.__tsParticlesInternals.simplex || {}, global.__tsParticlesInternals.simplex.noise = global.__tsParticlesInternals.simplex.noise || {})));
7
+ })(this, (function (exports) { 'use strict';
30
8
 
31
- /***/ "./dist/browser/Classes/SimplexNoise2D.js"
32
- /*!************************************************!*\
33
- !*** ./dist/browser/Classes/SimplexNoise2D.js ***!
34
- \************************************************/
35
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9
+ function shuffleSeed(seed) {
10
+ const newSeed = new Uint32Array(1);
11
+ newSeed[0] = seed[0] * 1664525 + 1013904223;
12
+ return newSeed;
13
+ }
36
14
 
37
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise2D: () => (/* binding */ SimplexNoise2D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nconst half = 0.5;\nclass SimplexNoise2D {\n _NORM_2D;\n _SQUISH_2D;\n _STRETCH_2D;\n _base2D;\n _gradients2D;\n _lookup;\n _lookupPairs2D;\n _p2D;\n _perm;\n _perm2D;\n constructor(){\n this._NORM_2D = 1 / 47;\n this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) * half;\n this._STRETCH_2D = (1 / Math.sqrt(2 + 1) - 1) * half;\n this._base2D = [\n [\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0\n ],\n [\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 2,\n 1,\n 1\n ]\n ];\n this._gradients2D = [\n 5,\n 2,\n 2,\n 5,\n -5,\n 2,\n -2,\n 5,\n 5,\n -2,\n 2,\n -5,\n -5,\n -2,\n -2,\n -5\n ];\n this._lookup = [];\n this._lookupPairs2D = [\n 0,\n 1,\n 1,\n 0,\n 4,\n 1,\n 17,\n 0,\n 20,\n 2,\n 21,\n 2,\n 22,\n 5,\n 23,\n 5,\n 26,\n 4,\n 39,\n 3,\n 42,\n 4,\n 43,\n 3\n ];\n this._p2D = [\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n -1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 1,\n 2,\n 2,\n 0,\n 1,\n 2,\n 0,\n 2,\n 1,\n 0,\n 0,\n 0\n ];\n this._perm = new Uint8Array(256);\n this._perm2D = new Uint8Array(256);\n }\n noise(x, y) {\n const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this, stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = xins - yins + 1 | inSum << 1 | inSum + yins << 2 | inSum + xins << 4;\n let value = 0;\n for(let c = _lookup[hash]; c !== undefined; c = c.next){\n const dx = dx0 + c.dx, dy = dy0 + c.dy, attn = 2 - dx * dx - dy * dy;\n if (attn <= 0) {\n continue;\n }\n const px = xsb + c.xsb, py = ysb + c.ysb, indexPartA = _perm[px & 0xff], index = _perm2D[indexPartA + py & 0xff], valuePart = _gradients2D[index] * dx + _gradients2D[index + 1] * dy;\n value += attn * attn * attn * attn * valuePart;\n }\n return value * _NORM_2D;\n }\n seed(clientSeed) {\n const { _p2D, _base2D, _lookupPairs2D } = this, contributions = [];\n for(let i = 0; i < _p2D.length; i += 4){\n const baseSet = _base2D[_p2D[i]];\n let previous = null, current = null;\n for(let k = 0; k < baseSet.length; k += 3){\n current = this._contribution2D(baseSet[k], baseSet[k + 1], baseSet[k + 2]);\n if (previous === null) {\n contributions[i / 4] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution2D(_p2D[i + 1], _p2D[i + 2], _p2D[i + 3]);\n }\n }\n this._lookup = [];\n for(let i = 0; i < _lookupPairs2D.length; i += 2){\n this._lookup[_lookupPairs2D[i]] = contributions[_lookupPairs2D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm2D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for(let i = 0; i < 256; i++){\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for(let i = 255; i >= 0; i--){\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm2D[i] = this._perm[i] & 0x0e;\n source[r[0]] = source[i];\n }\n }\n _contribution2D(multiplier, xsb, ysb) {\n const { _SQUISH_2D } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_2D,\n dy: -ysb - multiplier * _SQUISH_2D,\n xsb,\n ysb\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise2D.js?\n}");
15
+ const half = 0.5;
16
+ class SimplexNoise2D {
17
+ _NORM_2D;
18
+ _SQUISH_2D;
19
+ _STRETCH_2D;
20
+ _base2D;
21
+ _gradients2D;
22
+ _lookup;
23
+ _lookupPairs2D;
24
+ _p2D;
25
+ _perm;
26
+ _perm2D;
27
+ constructor() {
28
+ this._NORM_2D = 1 / 47;
29
+ this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) * half;
30
+ this._STRETCH_2D = (1 / Math.sqrt(2 + 1) - 1) * half;
31
+ this._base2D = [
32
+ [1, 1, 0, 1, 0, 1, 0, 0, 0],
33
+ [1, 1, 0, 1, 0, 1, 2, 1, 1],
34
+ ];
35
+ this._gradients2D = [
36
+ 5,
37
+ 2,
38
+ 2,
39
+ 5,
40
+ -5,
41
+ 2,
42
+ -2,
43
+ 5,
44
+ 5,
45
+ -2,
46
+ 2,
47
+ -5,
48
+ -5,
49
+ -2,
50
+ -2,
51
+ -5,
52
+ ];
53
+ this._lookup = [];
54
+ this._lookupPairs2D = [
55
+ 0,
56
+ 1,
57
+ 1,
58
+ 0,
59
+ 4,
60
+ 1,
61
+ 17,
62
+ 0,
63
+ 20,
64
+ 2,
65
+ 21,
66
+ 2,
67
+ 22,
68
+ 5,
69
+ 23,
70
+ 5,
71
+ 26,
72
+ 4,
73
+ 39,
74
+ 3,
75
+ 42,
76
+ 4,
77
+ 43,
78
+ 3,
79
+ ];
80
+ this._p2D = [
81
+ 0,
82
+ 0,
83
+ 1,
84
+ -1,
85
+ 0,
86
+ 0,
87
+ -1,
88
+ 1,
89
+ 0,
90
+ 2,
91
+ 1,
92
+ 1,
93
+ 1,
94
+ 2,
95
+ 2,
96
+ 0,
97
+ 1,
98
+ 2,
99
+ 0,
100
+ 2,
101
+ 1,
102
+ 0,
103
+ 0,
104
+ 0,
105
+ ];
106
+ this._perm = new Uint8Array(256);
107
+ this._perm2D = new Uint8Array(256);
108
+ }
109
+ noise(x, y) {
110
+ const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this, stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
111
+ let value = 0;
112
+ for (let c = _lookup[hash]; c !== undefined; c = c.next) {
113
+ const dx = dx0 + c.dx, dy = dy0 + c.dy, attn = 2 - dx * dx - dy * dy;
114
+ if (attn <= 0) {
115
+ continue;
116
+ }
117
+ const px = xsb + c.xsb, py = ysb + c.ysb, indexPartA = _perm[px & 0xff], index = _perm2D[(indexPartA + py) & 0xff], valuePart = _gradients2D[index] * dx + _gradients2D[index + 1] * dy;
118
+ value += attn * attn * attn * attn * valuePart;
119
+ }
120
+ return value * _NORM_2D;
121
+ }
122
+ seed(clientSeed) {
123
+ const { _p2D, _base2D, _lookupPairs2D } = this, contributions = [];
124
+ for (let i = 0; i < _p2D.length; i += 4) {
125
+ const baseSet = _base2D[_p2D[i]];
126
+ let previous = null, current = null;
127
+ for (let k = 0; k < baseSet.length; k += 3) {
128
+ current = this._contribution2D(baseSet[k], baseSet[k + 1], baseSet[k + 2]);
129
+ if (previous === null) {
130
+ contributions[i / 4] = current;
131
+ }
132
+ else {
133
+ previous.next = current;
134
+ }
135
+ previous = current;
136
+ }
137
+ if (current) {
138
+ current.next = this._contribution2D(_p2D[i + 1], _p2D[i + 2], _p2D[i + 3]);
139
+ }
140
+ }
141
+ this._lookup = [];
142
+ for (let i = 0; i < _lookupPairs2D.length; i += 2) {
143
+ this._lookup[_lookupPairs2D[i]] = contributions[_lookupPairs2D[i + 1]];
144
+ }
145
+ this._perm = new Uint8Array(256);
146
+ this._perm2D = new Uint8Array(256);
147
+ const source = new Uint8Array(256);
148
+ for (let i = 0; i < 256; i++) {
149
+ source[i] = i;
150
+ }
151
+ let seed = new Uint32Array(1);
152
+ seed[0] = clientSeed;
153
+ seed = shuffleSeed(shuffleSeed(shuffleSeed(seed)));
154
+ for (let i = 255; i >= 0; i--) {
155
+ seed = shuffleSeed(seed);
156
+ const r = new Uint32Array(1);
157
+ r[0] = (seed[0] + 31) % (i + 1);
158
+ if (r[0] < 0) {
159
+ r[0] += i + 1;
160
+ }
161
+ this._perm[i] = source[r[0]];
162
+ this._perm2D[i] = this._perm[i] & 0x0e;
163
+ source[r[0]] = source[i];
164
+ }
165
+ }
166
+ _contribution2D(multiplier, xsb, ysb) {
167
+ const { _SQUISH_2D } = this;
168
+ return {
169
+ dx: -xsb - multiplier * _SQUISH_2D,
170
+ dy: -ysb - multiplier * _SQUISH_2D,
171
+ xsb,
172
+ ysb,
173
+ };
174
+ }
175
+ }
38
176
 
39
- /***/ },
177
+ const third = 1 / 3;
178
+ class SimplexNoise3D {
179
+ _NORM_3D;
180
+ _SQUISH_3D;
181
+ _STRETCH_3D;
182
+ _base3D;
183
+ _gradients3D;
184
+ _lookup;
185
+ _lookupPairs3D;
186
+ _p3D;
187
+ _perm;
188
+ _perm3D;
189
+ constructor() {
190
+ this._NORM_3D = 1 / 103;
191
+ this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) * third;
192
+ this._STRETCH_3D = (1 / Math.sqrt(3 + 1) - 1) * third;
193
+ this._base3D = [
194
+ [0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1],
195
+ [2, 1, 1, 0, 2, 1, 0, 1, 2, 0, 1, 1, 3, 1, 1, 1],
196
+ [1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 2, 1, 1, 0, 2, 1, 0, 1, 2, 0, 1, 1],
197
+ ];
198
+ this._gradients3D = [
199
+ -11,
200
+ 4,
201
+ 4,
202
+ -4,
203
+ 11,
204
+ 4,
205
+ -4,
206
+ 4,
207
+ 11,
208
+ 11,
209
+ 4,
210
+ 4,
211
+ 4,
212
+ 11,
213
+ 4,
214
+ 4,
215
+ 4,
216
+ 11,
217
+ -11,
218
+ -4,
219
+ 4,
220
+ -4,
221
+ -11,
222
+ 4,
223
+ -4,
224
+ -4,
225
+ 11,
226
+ 11,
227
+ -4,
228
+ 4,
229
+ 4,
230
+ -11,
231
+ 4,
232
+ 4,
233
+ -4,
234
+ 11,
235
+ -11,
236
+ 4,
237
+ -4,
238
+ -4,
239
+ 11,
240
+ -4,
241
+ -4,
242
+ 4,
243
+ -11,
244
+ 11,
245
+ 4,
246
+ -4,
247
+ 4,
248
+ 11,
249
+ -4,
250
+ 4,
251
+ 4,
252
+ -11,
253
+ -11,
254
+ -4,
255
+ -4,
256
+ -4,
257
+ -11,
258
+ -4,
259
+ -4,
260
+ -4,
261
+ -11,
262
+ 11,
263
+ -4,
264
+ -4,
265
+ 4,
266
+ -11,
267
+ -4,
268
+ 4,
269
+ -4,
270
+ -11,
271
+ ];
272
+ this._lookup = [];
273
+ this._lookupPairs3D = [
274
+ 0,
275
+ 2,
276
+ 1,
277
+ 1,
278
+ 2,
279
+ 2,
280
+ 5,
281
+ 1,
282
+ 6,
283
+ 0,
284
+ 7,
285
+ 0,
286
+ 32,
287
+ 2,
288
+ 34,
289
+ 2,
290
+ 129,
291
+ 1,
292
+ 133,
293
+ 1,
294
+ 160,
295
+ 5,
296
+ 161,
297
+ 5,
298
+ 518,
299
+ 0,
300
+ 519,
301
+ 0,
302
+ 546,
303
+ 4,
304
+ 550,
305
+ 4,
306
+ 645,
307
+ 3,
308
+ 647,
309
+ 3,
310
+ 672,
311
+ 5,
312
+ 673,
313
+ 5,
314
+ 674,
315
+ 4,
316
+ 677,
317
+ 3,
318
+ 678,
319
+ 4,
320
+ 679,
321
+ 3,
322
+ 680,
323
+ 13,
324
+ 681,
325
+ 13,
326
+ 682,
327
+ 12,
328
+ 685,
329
+ 14,
330
+ 686,
331
+ 12,
332
+ 687,
333
+ 14,
334
+ 712,
335
+ 20,
336
+ 714,
337
+ 18,
338
+ 809,
339
+ 21,
340
+ 813,
341
+ 23,
342
+ 840,
343
+ 20,
344
+ 841,
345
+ 21,
346
+ 1198,
347
+ 19,
348
+ 1199,
349
+ 22,
350
+ 1226,
351
+ 18,
352
+ 1230,
353
+ 19,
354
+ 1325,
355
+ 23,
356
+ 1327,
357
+ 22,
358
+ 1352,
359
+ 15,
360
+ 1353,
361
+ 17,
362
+ 1354,
363
+ 15,
364
+ 1357,
365
+ 17,
366
+ 1358,
367
+ 16,
368
+ 1359,
369
+ 16,
370
+ 1360,
371
+ 11,
372
+ 1361,
373
+ 10,
374
+ 1362,
375
+ 11,
376
+ 1365,
377
+ 10,
378
+ 1366,
379
+ 9,
380
+ 1367,
381
+ 9,
382
+ 1392,
383
+ 11,
384
+ 1394,
385
+ 11,
386
+ 1489,
387
+ 10,
388
+ 1493,
389
+ 10,
390
+ 1520,
391
+ 8,
392
+ 1521,
393
+ 8,
394
+ 1878,
395
+ 9,
396
+ 1879,
397
+ 9,
398
+ 1906,
399
+ 7,
400
+ 1910,
401
+ 7,
402
+ 2005,
403
+ 6,
404
+ 2007,
405
+ 6,
406
+ 2032,
407
+ 8,
408
+ 2033,
409
+ 8,
410
+ 2034,
411
+ 7,
412
+ 2037,
413
+ 6,
414
+ 2038,
415
+ 7,
416
+ 2039,
417
+ 6,
418
+ ];
419
+ this._p3D = [
420
+ 0,
421
+ 0,
422
+ 1,
423
+ -1,
424
+ 0,
425
+ 0,
426
+ 1,
427
+ 0,
428
+ -1,
429
+ 0,
430
+ 0,
431
+ -1,
432
+ 1,
433
+ 0,
434
+ 0,
435
+ 0,
436
+ 1,
437
+ -1,
438
+ 0,
439
+ 0,
440
+ -1,
441
+ 0,
442
+ 1,
443
+ 0,
444
+ 0,
445
+ -1,
446
+ 1,
447
+ 0,
448
+ 2,
449
+ 1,
450
+ 1,
451
+ 0,
452
+ 1,
453
+ 1,
454
+ 1,
455
+ -1,
456
+ 0,
457
+ 2,
458
+ 1,
459
+ 0,
460
+ 1,
461
+ 1,
462
+ 1,
463
+ -1,
464
+ 1,
465
+ 0,
466
+ 2,
467
+ 0,
468
+ 1,
469
+ 1,
470
+ 1,
471
+ -1,
472
+ 1,
473
+ 1,
474
+ 1,
475
+ 3,
476
+ 2,
477
+ 1,
478
+ 0,
479
+ 3,
480
+ 1,
481
+ 2,
482
+ 0,
483
+ 1,
484
+ 3,
485
+ 2,
486
+ 0,
487
+ 1,
488
+ 3,
489
+ 1,
490
+ 0,
491
+ 2,
492
+ 1,
493
+ 3,
494
+ 0,
495
+ 2,
496
+ 1,
497
+ 3,
498
+ 0,
499
+ 1,
500
+ 2,
501
+ 1,
502
+ 1,
503
+ 1,
504
+ 0,
505
+ 0,
506
+ 2,
507
+ 2,
508
+ 0,
509
+ 0,
510
+ 1,
511
+ 1,
512
+ 0,
513
+ 1,
514
+ 0,
515
+ 2,
516
+ 0,
517
+ 2,
518
+ 0,
519
+ 1,
520
+ 1,
521
+ 0,
522
+ 0,
523
+ 1,
524
+ 2,
525
+ 0,
526
+ 0,
527
+ 2,
528
+ 2,
529
+ 0,
530
+ 0,
531
+ 0,
532
+ 0,
533
+ 1,
534
+ 1,
535
+ -1,
536
+ 1,
537
+ 2,
538
+ 0,
539
+ 0,
540
+ 0,
541
+ 0,
542
+ 1,
543
+ -1,
544
+ 1,
545
+ 1,
546
+ 2,
547
+ 0,
548
+ 0,
549
+ 0,
550
+ 0,
551
+ 1,
552
+ 1,
553
+ 1,
554
+ -1,
555
+ 2,
556
+ 3,
557
+ 1,
558
+ 1,
559
+ 1,
560
+ 2,
561
+ 0,
562
+ 0,
563
+ 2,
564
+ 2,
565
+ 3,
566
+ 1,
567
+ 1,
568
+ 1,
569
+ 2,
570
+ 2,
571
+ 0,
572
+ 0,
573
+ 2,
574
+ 3,
575
+ 1,
576
+ 1,
577
+ 1,
578
+ 2,
579
+ 0,
580
+ 2,
581
+ 0,
582
+ 2,
583
+ 1,
584
+ 1,
585
+ -1,
586
+ 1,
587
+ 2,
588
+ 0,
589
+ 0,
590
+ 2,
591
+ 2,
592
+ 1,
593
+ 1,
594
+ -1,
595
+ 1,
596
+ 2,
597
+ 2,
598
+ 0,
599
+ 0,
600
+ 2,
601
+ 1,
602
+ -1,
603
+ 1,
604
+ 1,
605
+ 2,
606
+ 0,
607
+ 0,
608
+ 2,
609
+ 2,
610
+ 1,
611
+ -1,
612
+ 1,
613
+ 1,
614
+ 2,
615
+ 0,
616
+ 2,
617
+ 0,
618
+ 2,
619
+ 1,
620
+ 1,
621
+ 1,
622
+ -1,
623
+ 2,
624
+ 2,
625
+ 0,
626
+ 0,
627
+ 2,
628
+ 1,
629
+ 1,
630
+ 1,
631
+ -1,
632
+ 2,
633
+ 0,
634
+ 2,
635
+ 0,
636
+ ];
637
+ this._perm = new Uint8Array(256);
638
+ this._perm3D = new Uint8Array(256);
639
+ }
640
+ noise(x, y, z) {
641
+ const { _STRETCH_3D, _NORM_3D, _SQUISH_3D, _lookup, _perm, _perm3D, _gradients3D } = this, stretchOffset = (x + y + z) * _STRETCH_3D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), squishOffset = (xsb + ysb + zsb) * _SQUISH_3D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, inSum = xins + yins + zins, hash = (yins - zins + 1) |
642
+ ((xins - yins + 1) << 1) |
643
+ ((xins - zins + 1) << 2) |
644
+ (inSum << 3) |
645
+ ((inSum + zins) << 5) |
646
+ ((inSum + yins) << 7) |
647
+ ((inSum + xins) << 9);
648
+ let value = 0;
649
+ for (let c = _lookup[hash]; c !== undefined; c = c.next) {
650
+ const dx = dx0 + c.dx, dy = dy0 + c.dy, dz = dz0 + c.dz, attn = 2 - dx * dx - dy * dy - dz * dz;
651
+ if (attn > 0) {
652
+ const px = xsb + c.xsb, py = ysb + c.ysb, pz = zsb + c.zsb, indexPartA = _perm[px & 0xff], indexPartB = _perm[(indexPartA + py) & 0xff], index = _perm3D[(indexPartB + pz) & 0xff], valuePart = _gradients3D[index] * dx + _gradients3D[index + 1] * dy + _gradients3D[index + 2] * dz;
653
+ value += attn * attn * attn * attn * valuePart;
654
+ }
655
+ }
656
+ return value * _NORM_3D;
657
+ }
658
+ seed(clientSeed) {
659
+ const { _base3D, _lookupPairs3D, _p3D } = this, contributions = [];
660
+ for (let i = 0; i < _p3D.length; i += 9) {
661
+ const baseSet = _base3D[_p3D[i]];
662
+ let previous = null, current = null;
663
+ for (let k = 0; k < baseSet.length; k += 4) {
664
+ current = this._contribution3D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3]);
665
+ if (previous === null) {
666
+ contributions[i / 9] = current;
667
+ }
668
+ else {
669
+ previous.next = current;
670
+ }
671
+ previous = current;
672
+ }
673
+ if (current) {
674
+ current.next = this._contribution3D(_p3D[i + 1], _p3D[i + 2], _p3D[i + 3], _p3D[i + 4]);
675
+ current.next.next = this._contribution3D(_p3D[i + 5], _p3D[i + 6], _p3D[i + 7], _p3D[i + 8]);
676
+ }
677
+ }
678
+ this._lookup = [];
679
+ for (let i = 0; i < _lookupPairs3D.length; i += 2) {
680
+ this._lookup[_lookupPairs3D[i]] = contributions[_lookupPairs3D[i + 1]];
681
+ }
682
+ this._perm = new Uint8Array(256);
683
+ this._perm3D = new Uint8Array(256);
684
+ const source = new Uint8Array(256);
685
+ for (let i = 0; i < 256; i++) {
686
+ source[i] = i;
687
+ }
688
+ let seed = new Uint32Array(1);
689
+ seed[0] = clientSeed;
690
+ seed = shuffleSeed(shuffleSeed(shuffleSeed(seed)));
691
+ for (let i = 255; i >= 0; i--) {
692
+ seed = shuffleSeed(seed);
693
+ const r = new Uint32Array(1);
694
+ r[0] = (seed[0] + 31) % (i + 1);
695
+ if (r[0] < 0) {
696
+ r[0] += i + 1;
697
+ }
698
+ this._perm[i] = source[r[0]];
699
+ this._perm3D[i] = (this._perm[i] % 24) * 3;
700
+ source[r[0]] = source[i];
701
+ }
702
+ }
703
+ _contribution3D(multiplier, xsb, ysb, zsb) {
704
+ const { _SQUISH_3D } = this;
705
+ return {
706
+ dx: -xsb - multiplier * _SQUISH_3D,
707
+ dy: -ysb - multiplier * _SQUISH_3D,
708
+ dz: -zsb - multiplier * _SQUISH_3D,
709
+ xsb,
710
+ ysb,
711
+ zsb,
712
+ };
713
+ }
714
+ }
40
715
 
41
- /***/ "./dist/browser/Classes/SimplexNoise3D.js"
42
- /*!************************************************!*\
43
- !*** ./dist/browser/Classes/SimplexNoise3D.js ***!
44
- \************************************************/
45
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
716
+ const quarter = 0.25;
717
+ class SimplexNoise4D {
718
+ _NORM_4D;
719
+ _SQUISH_4D;
720
+ _STRETCH_4D;
721
+ _base4D;
722
+ _gradients4D;
723
+ _lookup;
724
+ _lookupPairs4D;
725
+ _p4D;
726
+ _perm;
727
+ _perm4D;
728
+ constructor() {
729
+ this._NORM_4D = 1 / 30;
730
+ this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * quarter;
731
+ this._STRETCH_4D = (1 / Math.sqrt(4 + 1) - 1) * quarter;
732
+ this._lookup = [];
733
+ this._perm = new Uint8Array(0);
734
+ this._perm4D = new Uint8Array(0);
735
+ this._base4D = [
736
+ [0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1],
737
+ [3, 1, 1, 1, 0, 3, 1, 1, 0, 1, 3, 1, 0, 1, 1, 3, 0, 1, 1, 1, 4, 1, 1, 1, 1],
738
+ [
739
+ 1,
740
+ 1,
741
+ 0,
742
+ 0,
743
+ 0,
744
+ 1,
745
+ 0,
746
+ 1,
747
+ 0,
748
+ 0,
749
+ 1,
750
+ 0,
751
+ 0,
752
+ 1,
753
+ 0,
754
+ 1,
755
+ 0,
756
+ 0,
757
+ 0,
758
+ 1,
759
+ 2,
760
+ 1,
761
+ 1,
762
+ 0,
763
+ 0,
764
+ 2,
765
+ 1,
766
+ 0,
767
+ 1,
768
+ 0,
769
+ 2,
770
+ 1,
771
+ 0,
772
+ 0,
773
+ 1,
774
+ 2,
775
+ 0,
776
+ 1,
777
+ 1,
778
+ 0,
779
+ 2,
780
+ 0,
781
+ 1,
782
+ 0,
783
+ 1,
784
+ 2,
785
+ 0,
786
+ 0,
787
+ 1,
788
+ 1,
789
+ ],
790
+ [
791
+ 3,
792
+ 1,
793
+ 1,
794
+ 1,
795
+ 0,
796
+ 3,
797
+ 1,
798
+ 1,
799
+ 0,
800
+ 1,
801
+ 3,
802
+ 1,
803
+ 0,
804
+ 1,
805
+ 1,
806
+ 3,
807
+ 0,
808
+ 1,
809
+ 1,
810
+ 1,
811
+ 2,
812
+ 1,
813
+ 1,
814
+ 0,
815
+ 0,
816
+ 2,
817
+ 1,
818
+ 0,
819
+ 1,
820
+ 0,
821
+ 2,
822
+ 1,
823
+ 0,
824
+ 0,
825
+ 1,
826
+ 2,
827
+ 0,
828
+ 1,
829
+ 1,
830
+ 0,
831
+ 2,
832
+ 0,
833
+ 1,
834
+ 0,
835
+ 1,
836
+ 2,
837
+ 0,
838
+ 0,
839
+ 1,
840
+ 1,
841
+ ],
842
+ ];
843
+ this._gradients4D = [
844
+ 3,
845
+ 1,
846
+ 1,
847
+ 1,
848
+ 1,
849
+ 3,
850
+ 1,
851
+ 1,
852
+ 1,
853
+ 1,
854
+ 3,
855
+ 1,
856
+ 1,
857
+ 1,
858
+ 1,
859
+ 3,
860
+ -3,
861
+ 1,
862
+ 1,
863
+ 1,
864
+ -1,
865
+ 3,
866
+ 1,
867
+ 1,
868
+ -1,
869
+ 1,
870
+ 3,
871
+ 1,
872
+ -1,
873
+ 1,
874
+ 1,
875
+ 3,
876
+ 3,
877
+ -1,
878
+ 1,
879
+ 1,
880
+ 1,
881
+ -3,
882
+ 1,
883
+ 1,
884
+ 1,
885
+ -1,
886
+ 3,
887
+ 1,
888
+ 1,
889
+ -1,
890
+ 1,
891
+ 3,
892
+ -3,
893
+ -1,
894
+ 1,
895
+ 1,
896
+ -1,
897
+ -3,
898
+ 1,
899
+ 1,
900
+ -1,
901
+ -1,
902
+ 3,
903
+ 1,
904
+ -1,
905
+ -1,
906
+ 1,
907
+ 3,
908
+ 3,
909
+ 1,
910
+ -1,
911
+ 1,
912
+ 1,
913
+ 3,
914
+ -1,
915
+ 1,
916
+ 1,
917
+ 1,
918
+ -3,
919
+ 1,
920
+ 1,
921
+ 1,
922
+ -1,
923
+ 3,
924
+ -3,
925
+ 1,
926
+ -1,
927
+ 1,
928
+ -1,
929
+ 3,
930
+ -1,
931
+ 1,
932
+ -1,
933
+ 1,
934
+ -3,
935
+ 1,
936
+ -1,
937
+ 1,
938
+ -1,
939
+ 3,
940
+ 3,
941
+ -1,
942
+ -1,
943
+ 1,
944
+ 1,
945
+ -3,
946
+ -1,
947
+ 1,
948
+ 1,
949
+ -1,
950
+ -3,
951
+ 1,
952
+ 1,
953
+ -1,
954
+ -1,
955
+ 3,
956
+ -3,
957
+ -1,
958
+ -1,
959
+ 1,
960
+ -1,
961
+ -3,
962
+ -1,
963
+ 1,
964
+ -1,
965
+ -1,
966
+ -3,
967
+ 1,
968
+ -1,
969
+ -1,
970
+ -1,
971
+ 3,
972
+ 3,
973
+ 1,
974
+ 1,
975
+ -1,
976
+ 1,
977
+ 3,
978
+ 1,
979
+ -1,
980
+ 1,
981
+ 1,
982
+ 3,
983
+ -1,
984
+ 1,
985
+ 1,
986
+ 1,
987
+ -3,
988
+ -3,
989
+ 1,
990
+ 1,
991
+ -1,
992
+ -1,
993
+ 3,
994
+ 1,
995
+ -1,
996
+ -1,
997
+ 1,
998
+ 3,
999
+ -1,
1000
+ -1,
1001
+ 1,
1002
+ 1,
1003
+ -3,
1004
+ 3,
1005
+ -1,
1006
+ 1,
1007
+ -1,
1008
+ 1,
1009
+ -3,
1010
+ 1,
1011
+ -1,
1012
+ 1,
1013
+ -1,
1014
+ 3,
1015
+ -1,
1016
+ 1,
1017
+ -1,
1018
+ 1,
1019
+ -3,
1020
+ -3,
1021
+ -1,
1022
+ 1,
1023
+ -1,
1024
+ -1,
1025
+ -3,
1026
+ 1,
1027
+ -1,
1028
+ -1,
1029
+ -1,
1030
+ 3,
1031
+ -1,
1032
+ -1,
1033
+ -1,
1034
+ 1,
1035
+ -3,
1036
+ 3,
1037
+ 1,
1038
+ -1,
1039
+ -1,
1040
+ 1,
1041
+ 3,
1042
+ -1,
1043
+ -1,
1044
+ 1,
1045
+ 1,
1046
+ -3,
1047
+ -1,
1048
+ 1,
1049
+ 1,
1050
+ -1,
1051
+ -3,
1052
+ -3,
1053
+ 1,
1054
+ -1,
1055
+ -1,
1056
+ -1,
1057
+ 3,
1058
+ -1,
1059
+ -1,
1060
+ -1,
1061
+ 1,
1062
+ -3,
1063
+ -1,
1064
+ -1,
1065
+ 1,
1066
+ -1,
1067
+ -3,
1068
+ 3,
1069
+ -1,
1070
+ -1,
1071
+ -1,
1072
+ 1,
1073
+ -3,
1074
+ -1,
1075
+ -1,
1076
+ 1,
1077
+ -1,
1078
+ -3,
1079
+ -1,
1080
+ 1,
1081
+ -1,
1082
+ -1,
1083
+ -3,
1084
+ -3,
1085
+ -1,
1086
+ -1,
1087
+ -1,
1088
+ -1,
1089
+ -3,
1090
+ -1,
1091
+ -1,
1092
+ -1,
1093
+ -1,
1094
+ -3,
1095
+ -1,
1096
+ -1,
1097
+ -1,
1098
+ -1,
1099
+ -3,
1100
+ ];
1101
+ this._lookupPairs4D = [
1102
+ 0,
1103
+ 3,
1104
+ 1,
1105
+ 2,
1106
+ 2,
1107
+ 3,
1108
+ 5,
1109
+ 2,
1110
+ 6,
1111
+ 1,
1112
+ 7,
1113
+ 1,
1114
+ 8,
1115
+ 3,
1116
+ 9,
1117
+ 2,
1118
+ 10,
1119
+ 3,
1120
+ 13,
1121
+ 2,
1122
+ 16,
1123
+ 3,
1124
+ 18,
1125
+ 3,
1126
+ 22,
1127
+ 1,
1128
+ 23,
1129
+ 1,
1130
+ 24,
1131
+ 3,
1132
+ 26,
1133
+ 3,
1134
+ 33,
1135
+ 2,
1136
+ 37,
1137
+ 2,
1138
+ 38,
1139
+ 1,
1140
+ 39,
1141
+ 1,
1142
+ 41,
1143
+ 2,
1144
+ 45,
1145
+ 2,
1146
+ 54,
1147
+ 1,
1148
+ 55,
1149
+ 1,
1150
+ 56,
1151
+ 0,
1152
+ 57,
1153
+ 0,
1154
+ 58,
1155
+ 0,
1156
+ 59,
1157
+ 0,
1158
+ 60,
1159
+ 0,
1160
+ 61,
1161
+ 0,
1162
+ 62,
1163
+ 0,
1164
+ 63,
1165
+ 0,
1166
+ 256,
1167
+ 3,
1168
+ 258,
1169
+ 3,
1170
+ 264,
1171
+ 3,
1172
+ 266,
1173
+ 3,
1174
+ 272,
1175
+ 3,
1176
+ 274,
1177
+ 3,
1178
+ 280,
1179
+ 3,
1180
+ 282,
1181
+ 3,
1182
+ 2049,
1183
+ 2,
1184
+ 2053,
1185
+ 2,
1186
+ 2057,
1187
+ 2,
1188
+ 2061,
1189
+ 2,
1190
+ 2081,
1191
+ 2,
1192
+ 2085,
1193
+ 2,
1194
+ 2089,
1195
+ 2,
1196
+ 2093,
1197
+ 2,
1198
+ 2304,
1199
+ 9,
1200
+ 2305,
1201
+ 9,
1202
+ 2312,
1203
+ 9,
1204
+ 2313,
1205
+ 9,
1206
+ 16390,
1207
+ 1,
1208
+ 16391,
1209
+ 1,
1210
+ 16406,
1211
+ 1,
1212
+ 16407,
1213
+ 1,
1214
+ 16422,
1215
+ 1,
1216
+ 16423,
1217
+ 1,
1218
+ 16438,
1219
+ 1,
1220
+ 16439,
1221
+ 1,
1222
+ 16642,
1223
+ 8,
1224
+ 16646,
1225
+ 8,
1226
+ 16658,
1227
+ 8,
1228
+ 16662,
1229
+ 8,
1230
+ 18437,
1231
+ 6,
1232
+ 18439,
1233
+ 6,
1234
+ 18469,
1235
+ 6,
1236
+ 18471,
1237
+ 6,
1238
+ 18688,
1239
+ 9,
1240
+ 18689,
1241
+ 9,
1242
+ 18690,
1243
+ 8,
1244
+ 18693,
1245
+ 6,
1246
+ 18694,
1247
+ 8,
1248
+ 18695,
1249
+ 6,
1250
+ 18696,
1251
+ 9,
1252
+ 18697,
1253
+ 9,
1254
+ 18706,
1255
+ 8,
1256
+ 18710,
1257
+ 8,
1258
+ 18725,
1259
+ 6,
1260
+ 18727,
1261
+ 6,
1262
+ 131128,
1263
+ 0,
1264
+ 131129,
1265
+ 0,
1266
+ 131130,
1267
+ 0,
1268
+ 131131,
1269
+ 0,
1270
+ 131132,
1271
+ 0,
1272
+ 131133,
1273
+ 0,
1274
+ 131134,
1275
+ 0,
1276
+ 131135,
1277
+ 0,
1278
+ 131352,
1279
+ 7,
1280
+ 131354,
1281
+ 7,
1282
+ 131384,
1283
+ 7,
1284
+ 131386,
1285
+ 7,
1286
+ 133161,
1287
+ 5,
1288
+ 133165,
1289
+ 5,
1290
+ 133177,
1291
+ 5,
1292
+ 133181,
1293
+ 5,
1294
+ 133376,
1295
+ 9,
1296
+ 133377,
1297
+ 9,
1298
+ 133384,
1299
+ 9,
1300
+ 133385,
1301
+ 9,
1302
+ 133400,
1303
+ 7,
1304
+ 133402,
1305
+ 7,
1306
+ 133417,
1307
+ 5,
1308
+ 133421,
1309
+ 5,
1310
+ 133432,
1311
+ 7,
1312
+ 133433,
1313
+ 5,
1314
+ 133434,
1315
+ 7,
1316
+ 133437,
1317
+ 5,
1318
+ 147510,
1319
+ 4,
1320
+ 147511,
1321
+ 4,
1322
+ 147518,
1323
+ 4,
1324
+ 147519,
1325
+ 4,
1326
+ 147714,
1327
+ 8,
1328
+ 147718,
1329
+ 8,
1330
+ 147730,
1331
+ 8,
1332
+ 147734,
1333
+ 8,
1334
+ 147736,
1335
+ 7,
1336
+ 147738,
1337
+ 7,
1338
+ 147766,
1339
+ 4,
1340
+ 147767,
1341
+ 4,
1342
+ 147768,
1343
+ 7,
1344
+ 147770,
1345
+ 7,
1346
+ 147774,
1347
+ 4,
1348
+ 147775,
1349
+ 4,
1350
+ 149509,
1351
+ 6,
1352
+ 149511,
1353
+ 6,
1354
+ 149541,
1355
+ 6,
1356
+ 149543,
1357
+ 6,
1358
+ 149545,
1359
+ 5,
1360
+ 149549,
1361
+ 5,
1362
+ 149558,
1363
+ 4,
1364
+ 149559,
1365
+ 4,
1366
+ 149561,
1367
+ 5,
1368
+ 149565,
1369
+ 5,
1370
+ 149566,
1371
+ 4,
1372
+ 149567,
1373
+ 4,
1374
+ 149760,
1375
+ 9,
1376
+ 149761,
1377
+ 9,
1378
+ 149762,
1379
+ 8,
1380
+ 149765,
1381
+ 6,
1382
+ 149766,
1383
+ 8,
1384
+ 149767,
1385
+ 6,
1386
+ 149768,
1387
+ 9,
1388
+ 149769,
1389
+ 9,
1390
+ 149778,
1391
+ 8,
1392
+ 149782,
1393
+ 8,
1394
+ 149784,
1395
+ 7,
1396
+ 149786,
1397
+ 7,
1398
+ 149797,
1399
+ 6,
1400
+ 149799,
1401
+ 6,
1402
+ 149801,
1403
+ 5,
1404
+ 149805,
1405
+ 5,
1406
+ 149814,
1407
+ 4,
1408
+ 149815,
1409
+ 4,
1410
+ 149816,
1411
+ 7,
1412
+ 149817,
1413
+ 5,
1414
+ 149818,
1415
+ 7,
1416
+ 149821,
1417
+ 5,
1418
+ 149822,
1419
+ 4,
1420
+ 149823,
1421
+ 4,
1422
+ 149824,
1423
+ 37,
1424
+ 149825,
1425
+ 37,
1426
+ 149826,
1427
+ 36,
1428
+ 149829,
1429
+ 34,
1430
+ 149830,
1431
+ 36,
1432
+ 149831,
1433
+ 34,
1434
+ 149832,
1435
+ 37,
1436
+ 149833,
1437
+ 37,
1438
+ 149842,
1439
+ 36,
1440
+ 149846,
1441
+ 36,
1442
+ 149848,
1443
+ 35,
1444
+ 149850,
1445
+ 35,
1446
+ 149861,
1447
+ 34,
1448
+ 149863,
1449
+ 34,
1450
+ 149865,
1451
+ 33,
1452
+ 149869,
1453
+ 33,
1454
+ 149878,
1455
+ 32,
1456
+ 149879,
1457
+ 32,
1458
+ 149880,
1459
+ 35,
1460
+ 149881,
1461
+ 33,
1462
+ 149882,
1463
+ 35,
1464
+ 149885,
1465
+ 33,
1466
+ 149886,
1467
+ 32,
1468
+ 149887,
1469
+ 32,
1470
+ 150080,
1471
+ 49,
1472
+ 150082,
1473
+ 48,
1474
+ 150088,
1475
+ 49,
1476
+ 150098,
1477
+ 48,
1478
+ 150104,
1479
+ 47,
1480
+ 150106,
1481
+ 47,
1482
+ 151873,
1483
+ 46,
1484
+ 151877,
1485
+ 45,
1486
+ 151881,
1487
+ 46,
1488
+ 151909,
1489
+ 45,
1490
+ 151913,
1491
+ 44,
1492
+ 151917,
1493
+ 44,
1494
+ 152128,
1495
+ 49,
1496
+ 152129,
1497
+ 46,
1498
+ 152136,
1499
+ 49,
1500
+ 152137,
1501
+ 46,
1502
+ 166214,
1503
+ 43,
1504
+ 166215,
1505
+ 42,
1506
+ 166230,
1507
+ 43,
1508
+ 166247,
1509
+ 42,
1510
+ 166262,
1511
+ 41,
1512
+ 166263,
1513
+ 41,
1514
+ 166466,
1515
+ 48,
1516
+ 166470,
1517
+ 43,
1518
+ 166482,
1519
+ 48,
1520
+ 166486,
1521
+ 43,
1522
+ 168261,
1523
+ 45,
1524
+ 168263,
1525
+ 42,
1526
+ 168293,
1527
+ 45,
1528
+ 168295,
1529
+ 42,
1530
+ 168512,
1531
+ 31,
1532
+ 168513,
1533
+ 28,
1534
+ 168514,
1535
+ 31,
1536
+ 168517,
1537
+ 28,
1538
+ 168518,
1539
+ 25,
1540
+ 168519,
1541
+ 25,
1542
+ 280952,
1543
+ 40,
1544
+ 280953,
1545
+ 39,
1546
+ 280954,
1547
+ 40,
1548
+ 280957,
1549
+ 39,
1550
+ 280958,
1551
+ 38,
1552
+ 280959,
1553
+ 38,
1554
+ 281176,
1555
+ 47,
1556
+ 281178,
1557
+ 47,
1558
+ 281208,
1559
+ 40,
1560
+ 281210,
1561
+ 40,
1562
+ 282985,
1563
+ 44,
1564
+ 282989,
1565
+ 44,
1566
+ 283001,
1567
+ 39,
1568
+ 283005,
1569
+ 39,
1570
+ 283208,
1571
+ 30,
1572
+ 283209,
1573
+ 27,
1574
+ 283224,
1575
+ 30,
1576
+ 283241,
1577
+ 27,
1578
+ 283256,
1579
+ 22,
1580
+ 283257,
1581
+ 22,
1582
+ 297334,
1583
+ 41,
1584
+ 297335,
1585
+ 41,
1586
+ 297342,
1587
+ 38,
1588
+ 297343,
1589
+ 38,
1590
+ 297554,
1591
+ 29,
1592
+ 297558,
1593
+ 24,
1594
+ 297562,
1595
+ 29,
1596
+ 297590,
1597
+ 24,
1598
+ 297594,
1599
+ 21,
1600
+ 297598,
1601
+ 21,
1602
+ 299365,
1603
+ 26,
1604
+ 299367,
1605
+ 23,
1606
+ 299373,
1607
+ 26,
1608
+ 299383,
1609
+ 23,
1610
+ 299389,
1611
+ 20,
1612
+ 299391,
1613
+ 20,
1614
+ 299584,
1615
+ 31,
1616
+ 299585,
1617
+ 28,
1618
+ 299586,
1619
+ 31,
1620
+ 299589,
1621
+ 28,
1622
+ 299590,
1623
+ 25,
1624
+ 299591,
1625
+ 25,
1626
+ 299592,
1627
+ 30,
1628
+ 299593,
1629
+ 27,
1630
+ 299602,
1631
+ 29,
1632
+ 299606,
1633
+ 24,
1634
+ 299608,
1635
+ 30,
1636
+ 299610,
1637
+ 29,
1638
+ 299621,
1639
+ 26,
1640
+ 299623,
1641
+ 23,
1642
+ 299625,
1643
+ 27,
1644
+ 299629,
1645
+ 26,
1646
+ 299638,
1647
+ 24,
1648
+ 299639,
1649
+ 23,
1650
+ 299640,
1651
+ 22,
1652
+ 299641,
1653
+ 22,
1654
+ 299642,
1655
+ 21,
1656
+ 299645,
1657
+ 20,
1658
+ 299646,
1659
+ 21,
1660
+ 299647,
1661
+ 20,
1662
+ 299648,
1663
+ 61,
1664
+ 299649,
1665
+ 60,
1666
+ 299650,
1667
+ 61,
1668
+ 299653,
1669
+ 60,
1670
+ 299654,
1671
+ 59,
1672
+ 299655,
1673
+ 59,
1674
+ 299656,
1675
+ 58,
1676
+ 299657,
1677
+ 57,
1678
+ 299666,
1679
+ 55,
1680
+ 299670,
1681
+ 54,
1682
+ 299672,
1683
+ 58,
1684
+ 299674,
1685
+ 55,
1686
+ 299685,
1687
+ 52,
1688
+ 299687,
1689
+ 51,
1690
+ 299689,
1691
+ 57,
1692
+ 299693,
1693
+ 52,
1694
+ 299702,
1695
+ 54,
1696
+ 299703,
1697
+ 51,
1698
+ 299704,
1699
+ 56,
1700
+ 299705,
1701
+ 56,
1702
+ 299706,
1703
+ 53,
1704
+ 299709,
1705
+ 50,
1706
+ 299710,
1707
+ 53,
1708
+ 299711,
1709
+ 50,
1710
+ 299904,
1711
+ 61,
1712
+ 299906,
1713
+ 61,
1714
+ 299912,
1715
+ 58,
1716
+ 299922,
1717
+ 55,
1718
+ 299928,
1719
+ 58,
1720
+ 299930,
1721
+ 55,
1722
+ 301697,
1723
+ 60,
1724
+ 301701,
1725
+ 60,
1726
+ 301705,
1727
+ 57,
1728
+ 301733,
1729
+ 52,
1730
+ 301737,
1731
+ 57,
1732
+ 301741,
1733
+ 52,
1734
+ 301952,
1735
+ 79,
1736
+ 301953,
1737
+ 79,
1738
+ 301960,
1739
+ 76,
1740
+ 301961,
1741
+ 76,
1742
+ 316038,
1743
+ 59,
1744
+ 316039,
1745
+ 59,
1746
+ 316054,
1747
+ 54,
1748
+ 316071,
1749
+ 51,
1750
+ 316086,
1751
+ 54,
1752
+ 316087,
1753
+ 51,
1754
+ 316290,
1755
+ 78,
1756
+ 316294,
1757
+ 78,
1758
+ 316306,
1759
+ 73,
1760
+ 316310,
1761
+ 73,
1762
+ 318085,
1763
+ 77,
1764
+ 318087,
1765
+ 77,
1766
+ 318117,
1767
+ 70,
1768
+ 318119,
1769
+ 70,
1770
+ 318336,
1771
+ 79,
1772
+ 318337,
1773
+ 79,
1774
+ 318338,
1775
+ 78,
1776
+ 318341,
1777
+ 77,
1778
+ 318342,
1779
+ 78,
1780
+ 318343,
1781
+ 77,
1782
+ 430776,
1783
+ 56,
1784
+ 430777,
1785
+ 56,
1786
+ 430778,
1787
+ 53,
1788
+ 430781,
1789
+ 50,
1790
+ 430782,
1791
+ 53,
1792
+ 430783,
1793
+ 50,
1794
+ 431000,
1795
+ 75,
1796
+ 431002,
1797
+ 72,
1798
+ 431032,
1799
+ 75,
1800
+ 431034,
1801
+ 72,
1802
+ 432809,
1803
+ 74,
1804
+ 432813,
1805
+ 69,
1806
+ 432825,
1807
+ 74,
1808
+ 432829,
1809
+ 69,
1810
+ 433032,
1811
+ 76,
1812
+ 433033,
1813
+ 76,
1814
+ 433048,
1815
+ 75,
1816
+ 433065,
1817
+ 74,
1818
+ 433080,
1819
+ 75,
1820
+ 433081,
1821
+ 74,
1822
+ 447158,
1823
+ 71,
1824
+ 447159,
1825
+ 68,
1826
+ 447166,
1827
+ 71,
1828
+ 447167,
1829
+ 68,
1830
+ 447378,
1831
+ 73,
1832
+ 447382,
1833
+ 73,
1834
+ 447386,
1835
+ 72,
1836
+ 447414,
1837
+ 71,
1838
+ 447418,
1839
+ 72,
1840
+ 447422,
1841
+ 71,
1842
+ 449189,
1843
+ 70,
1844
+ 449191,
1845
+ 70,
1846
+ 449197,
1847
+ 69,
1848
+ 449207,
1849
+ 68,
1850
+ 449213,
1851
+ 69,
1852
+ 449215,
1853
+ 68,
1854
+ 449408,
1855
+ 67,
1856
+ 449409,
1857
+ 67,
1858
+ 449410,
1859
+ 66,
1860
+ 449413,
1861
+ 64,
1862
+ 449414,
1863
+ 66,
1864
+ 449415,
1865
+ 64,
1866
+ 449416,
1867
+ 67,
1868
+ 449417,
1869
+ 67,
1870
+ 449426,
1871
+ 66,
1872
+ 449430,
1873
+ 66,
1874
+ 449432,
1875
+ 65,
1876
+ 449434,
1877
+ 65,
1878
+ 449445,
1879
+ 64,
1880
+ 449447,
1881
+ 64,
1882
+ 449449,
1883
+ 63,
1884
+ 449453,
1885
+ 63,
1886
+ 449462,
1887
+ 62,
1888
+ 449463,
1889
+ 62,
1890
+ 449464,
1891
+ 65,
1892
+ 449465,
1893
+ 63,
1894
+ 449466,
1895
+ 65,
1896
+ 449469,
1897
+ 63,
1898
+ 449470,
1899
+ 62,
1900
+ 449471,
1901
+ 62,
1902
+ 449472,
1903
+ 19,
1904
+ 449473,
1905
+ 19,
1906
+ 449474,
1907
+ 18,
1908
+ 449477,
1909
+ 16,
1910
+ 449478,
1911
+ 18,
1912
+ 449479,
1913
+ 16,
1914
+ 449480,
1915
+ 19,
1916
+ 449481,
1917
+ 19,
1918
+ 449490,
1919
+ 18,
1920
+ 449494,
1921
+ 18,
1922
+ 449496,
1923
+ 17,
1924
+ 449498,
1925
+ 17,
1926
+ 449509,
1927
+ 16,
1928
+ 449511,
1929
+ 16,
1930
+ 449513,
1931
+ 15,
1932
+ 449517,
1933
+ 15,
1934
+ 449526,
1935
+ 14,
1936
+ 449527,
1937
+ 14,
1938
+ 449528,
1939
+ 17,
1940
+ 449529,
1941
+ 15,
1942
+ 449530,
1943
+ 17,
1944
+ 449533,
1945
+ 15,
1946
+ 449534,
1947
+ 14,
1948
+ 449535,
1949
+ 14,
1950
+ 449728,
1951
+ 19,
1952
+ 449729,
1953
+ 19,
1954
+ 449730,
1955
+ 18,
1956
+ 449734,
1957
+ 18,
1958
+ 449736,
1959
+ 19,
1960
+ 449737,
1961
+ 19,
1962
+ 449746,
1963
+ 18,
1964
+ 449750,
1965
+ 18,
1966
+ 449752,
1967
+ 17,
1968
+ 449754,
1969
+ 17,
1970
+ 449784,
1971
+ 17,
1972
+ 449786,
1973
+ 17,
1974
+ 451520,
1975
+ 19,
1976
+ 451521,
1977
+ 19,
1978
+ 451525,
1979
+ 16,
1980
+ 451527,
1981
+ 16,
1982
+ 451528,
1983
+ 19,
1984
+ 451529,
1985
+ 19,
1986
+ 451557,
1987
+ 16,
1988
+ 451559,
1989
+ 16,
1990
+ 451561,
1991
+ 15,
1992
+ 451565,
1993
+ 15,
1994
+ 451577,
1995
+ 15,
1996
+ 451581,
1997
+ 15,
1998
+ 451776,
1999
+ 19,
2000
+ 451777,
2001
+ 19,
2002
+ 451784,
2003
+ 19,
2004
+ 451785,
2005
+ 19,
2006
+ 465858,
2007
+ 18,
2008
+ 465861,
2009
+ 16,
2010
+ 465862,
2011
+ 18,
2012
+ 465863,
2013
+ 16,
2014
+ 465874,
2015
+ 18,
2016
+ 465878,
2017
+ 18,
2018
+ 465893,
2019
+ 16,
2020
+ 465895,
2021
+ 16,
2022
+ 465910,
2023
+ 14,
2024
+ 465911,
2025
+ 14,
2026
+ 465918,
2027
+ 14,
2028
+ 465919,
2029
+ 14,
2030
+ 466114,
2031
+ 18,
2032
+ 466118,
2033
+ 18,
2034
+ 466130,
2035
+ 18,
2036
+ 466134,
2037
+ 18,
2038
+ 467909,
2039
+ 16,
2040
+ 467911,
2041
+ 16,
2042
+ 467941,
2043
+ 16,
2044
+ 467943,
2045
+ 16,
2046
+ 468160,
2047
+ 13,
2048
+ 468161,
2049
+ 13,
2050
+ 468162,
2051
+ 13,
2052
+ 468163,
2053
+ 13,
2054
+ 468164,
2055
+ 13,
2056
+ 468165,
2057
+ 13,
2058
+ 468166,
2059
+ 13,
2060
+ 468167,
2061
+ 13,
2062
+ 580568,
2063
+ 17,
2064
+ 580570,
2065
+ 17,
2066
+ 580585,
2067
+ 15,
2068
+ 580589,
2069
+ 15,
2070
+ 580598,
2071
+ 14,
2072
+ 580599,
2073
+ 14,
2074
+ 580600,
2075
+ 17,
2076
+ 580601,
2077
+ 15,
2078
+ 580602,
2079
+ 17,
2080
+ 580605,
2081
+ 15,
2082
+ 580606,
2083
+ 14,
2084
+ 580607,
2085
+ 14,
2086
+ 580824,
2087
+ 17,
2088
+ 580826,
2089
+ 17,
2090
+ 580856,
2091
+ 17,
2092
+ 580858,
2093
+ 17,
2094
+ 582633,
2095
+ 15,
2096
+ 582637,
2097
+ 15,
2098
+ 582649,
2099
+ 15,
2100
+ 582653,
2101
+ 15,
2102
+ 582856,
2103
+ 12,
2104
+ 582857,
2105
+ 12,
2106
+ 582872,
2107
+ 12,
2108
+ 582873,
2109
+ 12,
2110
+ 582888,
2111
+ 12,
2112
+ 582889,
2113
+ 12,
2114
+ 582904,
2115
+ 12,
2116
+ 582905,
2117
+ 12,
2118
+ 596982,
2119
+ 14,
2120
+ 596983,
2121
+ 14,
2122
+ 596990,
2123
+ 14,
2124
+ 596991,
2125
+ 14,
2126
+ 597202,
2127
+ 11,
2128
+ 597206,
2129
+ 11,
2130
+ 597210,
2131
+ 11,
2132
+ 597214,
2133
+ 11,
2134
+ 597234,
2135
+ 11,
2136
+ 597238,
2137
+ 11,
2138
+ 597242,
2139
+ 11,
2140
+ 597246,
2141
+ 11,
2142
+ 599013,
2143
+ 10,
2144
+ 599015,
2145
+ 10,
2146
+ 599021,
2147
+ 10,
2148
+ 599023,
2149
+ 10,
2150
+ 599029,
2151
+ 10,
2152
+ 599031,
2153
+ 10,
2154
+ 599037,
2155
+ 10,
2156
+ 599039,
2157
+ 10,
2158
+ 599232,
2159
+ 13,
2160
+ 599233,
2161
+ 13,
2162
+ 599234,
2163
+ 13,
2164
+ 599235,
2165
+ 13,
2166
+ 599236,
2167
+ 13,
2168
+ 599237,
2169
+ 13,
2170
+ 599238,
2171
+ 13,
2172
+ 599239,
2173
+ 13,
2174
+ 599240,
2175
+ 12,
2176
+ 599241,
2177
+ 12,
2178
+ 599250,
2179
+ 11,
2180
+ 599254,
2181
+ 11,
2182
+ 599256,
2183
+ 12,
2184
+ 599257,
2185
+ 12,
2186
+ 599258,
2187
+ 11,
2188
+ 599262,
2189
+ 11,
2190
+ 599269,
2191
+ 10,
2192
+ 599271,
2193
+ 10,
2194
+ 599272,
2195
+ 12,
2196
+ 599273,
2197
+ 12,
2198
+ 599277,
2199
+ 10,
2200
+ 599279,
2201
+ 10,
2202
+ 599282,
2203
+ 11,
2204
+ 599285,
2205
+ 10,
2206
+ 599286,
2207
+ 11,
2208
+ 599287,
2209
+ 10,
2210
+ 599288,
2211
+ 12,
2212
+ 599289,
2213
+ 12,
2214
+ 599290,
2215
+ 11,
2216
+ 599293,
2217
+ 10,
2218
+ 599294,
2219
+ 11,
2220
+ 599295,
2221
+ 10,
2222
+ ];
2223
+ this._p4D = [
2224
+ 0,
2225
+ 0,
2226
+ 1,
2227
+ -1,
2228
+ 0,
2229
+ 0,
2230
+ 0,
2231
+ 1,
2232
+ 0,
2233
+ -1,
2234
+ 0,
2235
+ 0,
2236
+ 1,
2237
+ 0,
2238
+ 0,
2239
+ -1,
2240
+ 0,
2241
+ 0,
2242
+ -1,
2243
+ 1,
2244
+ 0,
2245
+ 0,
2246
+ 0,
2247
+ 0,
2248
+ 1,
2249
+ -1,
2250
+ 0,
2251
+ 0,
2252
+ 0,
2253
+ 1,
2254
+ 0,
2255
+ -1,
2256
+ 0,
2257
+ 0,
2258
+ -1,
2259
+ 0,
2260
+ 1,
2261
+ 0,
2262
+ 0,
2263
+ 0,
2264
+ -1,
2265
+ 1,
2266
+ 0,
2267
+ 0,
2268
+ 0,
2269
+ 0,
2270
+ 1,
2271
+ -1,
2272
+ 0,
2273
+ 0,
2274
+ -1,
2275
+ 0,
2276
+ 0,
2277
+ 1,
2278
+ 0,
2279
+ 0,
2280
+ -1,
2281
+ 0,
2282
+ 1,
2283
+ 0,
2284
+ 0,
2285
+ 0,
2286
+ -1,
2287
+ 1,
2288
+ 0,
2289
+ 2,
2290
+ 1,
2291
+ 1,
2292
+ 0,
2293
+ 0,
2294
+ 1,
2295
+ 1,
2296
+ 1,
2297
+ -1,
2298
+ 0,
2299
+ 1,
2300
+ 1,
2301
+ 1,
2302
+ 0,
2303
+ -1,
2304
+ 0,
2305
+ 2,
2306
+ 1,
2307
+ 0,
2308
+ 1,
2309
+ 0,
2310
+ 1,
2311
+ 1,
2312
+ -1,
2313
+ 1,
2314
+ 0,
2315
+ 1,
2316
+ 1,
2317
+ 0,
2318
+ 1,
2319
+ -1,
2320
+ 0,
2321
+ 2,
2322
+ 0,
2323
+ 1,
2324
+ 1,
2325
+ 0,
2326
+ 1,
2327
+ -1,
2328
+ 1,
2329
+ 1,
2330
+ 0,
2331
+ 1,
2332
+ 0,
2333
+ 1,
2334
+ 1,
2335
+ -1,
2336
+ 0,
2337
+ 2,
2338
+ 1,
2339
+ 0,
2340
+ 0,
2341
+ 1,
2342
+ 1,
2343
+ 1,
2344
+ -1,
2345
+ 0,
2346
+ 1,
2347
+ 1,
2348
+ 1,
2349
+ 0,
2350
+ -1,
2351
+ 1,
2352
+ 0,
2353
+ 2,
2354
+ 0,
2355
+ 1,
2356
+ 0,
2357
+ 1,
2358
+ 1,
2359
+ -1,
2360
+ 1,
2361
+ 0,
2362
+ 1,
2363
+ 1,
2364
+ 0,
2365
+ 1,
2366
+ -1,
2367
+ 1,
2368
+ 0,
2369
+ 2,
2370
+ 0,
2371
+ 0,
2372
+ 1,
2373
+ 1,
2374
+ 1,
2375
+ -1,
2376
+ 0,
2377
+ 1,
2378
+ 1,
2379
+ 1,
2380
+ 0,
2381
+ -1,
2382
+ 1,
2383
+ 1,
2384
+ 1,
2385
+ 4,
2386
+ 2,
2387
+ 1,
2388
+ 1,
2389
+ 0,
2390
+ 4,
2391
+ 1,
2392
+ 2,
2393
+ 1,
2394
+ 0,
2395
+ 4,
2396
+ 1,
2397
+ 1,
2398
+ 2,
2399
+ 0,
2400
+ 1,
2401
+ 4,
2402
+ 2,
2403
+ 1,
2404
+ 0,
2405
+ 1,
2406
+ 4,
2407
+ 1,
2408
+ 2,
2409
+ 0,
2410
+ 1,
2411
+ 4,
2412
+ 1,
2413
+ 1,
2414
+ 0,
2415
+ 2,
2416
+ 1,
2417
+ 4,
2418
+ 2,
2419
+ 0,
2420
+ 1,
2421
+ 1,
2422
+ 4,
2423
+ 1,
2424
+ 0,
2425
+ 2,
2426
+ 1,
2427
+ 4,
2428
+ 1,
2429
+ 0,
2430
+ 1,
2431
+ 2,
2432
+ 1,
2433
+ 4,
2434
+ 0,
2435
+ 2,
2436
+ 1,
2437
+ 1,
2438
+ 4,
2439
+ 0,
2440
+ 1,
2441
+ 2,
2442
+ 1,
2443
+ 4,
2444
+ 0,
2445
+ 1,
2446
+ 1,
2447
+ 2,
2448
+ 1,
2449
+ 2,
2450
+ 1,
2451
+ 1,
2452
+ 0,
2453
+ 0,
2454
+ 3,
2455
+ 2,
2456
+ 1,
2457
+ 0,
2458
+ 0,
2459
+ 3,
2460
+ 1,
2461
+ 2,
2462
+ 0,
2463
+ 0,
2464
+ 1,
2465
+ 2,
2466
+ 1,
2467
+ 0,
2468
+ 1,
2469
+ 0,
2470
+ 3,
2471
+ 2,
2472
+ 0,
2473
+ 1,
2474
+ 0,
2475
+ 3,
2476
+ 1,
2477
+ 0,
2478
+ 2,
2479
+ 0,
2480
+ 1,
2481
+ 2,
2482
+ 0,
2483
+ 1,
2484
+ 1,
2485
+ 0,
2486
+ 3,
2487
+ 0,
2488
+ 2,
2489
+ 1,
2490
+ 0,
2491
+ 3,
2492
+ 0,
2493
+ 1,
2494
+ 2,
2495
+ 0,
2496
+ 1,
2497
+ 2,
2498
+ 1,
2499
+ 0,
2500
+ 0,
2501
+ 1,
2502
+ 3,
2503
+ 2,
2504
+ 0,
2505
+ 0,
2506
+ 1,
2507
+ 3,
2508
+ 1,
2509
+ 0,
2510
+ 0,
2511
+ 2,
2512
+ 1,
2513
+ 2,
2514
+ 0,
2515
+ 1,
2516
+ 0,
2517
+ 1,
2518
+ 3,
2519
+ 0,
2520
+ 2,
2521
+ 0,
2522
+ 1,
2523
+ 3,
2524
+ 0,
2525
+ 1,
2526
+ 0,
2527
+ 2,
2528
+ 1,
2529
+ 2,
2530
+ 0,
2531
+ 0,
2532
+ 1,
2533
+ 1,
2534
+ 3,
2535
+ 0,
2536
+ 0,
2537
+ 2,
2538
+ 1,
2539
+ 3,
2540
+ 0,
2541
+ 0,
2542
+ 1,
2543
+ 2,
2544
+ 2,
2545
+ 3,
2546
+ 1,
2547
+ 1,
2548
+ 1,
2549
+ 0,
2550
+ 2,
2551
+ 1,
2552
+ 1,
2553
+ 1,
2554
+ -1,
2555
+ 2,
2556
+ 2,
2557
+ 0,
2558
+ 0,
2559
+ 0,
2560
+ 2,
2561
+ 3,
2562
+ 1,
2563
+ 1,
2564
+ 0,
2565
+ 1,
2566
+ 2,
2567
+ 1,
2568
+ 1,
2569
+ -1,
2570
+ 1,
2571
+ 2,
2572
+ 2,
2573
+ 0,
2574
+ 0,
2575
+ 0,
2576
+ 2,
2577
+ 3,
2578
+ 1,
2579
+ 0,
2580
+ 1,
2581
+ 1,
2582
+ 2,
2583
+ 1,
2584
+ -1,
2585
+ 1,
2586
+ 1,
2587
+ 2,
2588
+ 2,
2589
+ 0,
2590
+ 0,
2591
+ 0,
2592
+ 2,
2593
+ 3,
2594
+ 1,
2595
+ 1,
2596
+ 1,
2597
+ 0,
2598
+ 2,
2599
+ 1,
2600
+ 1,
2601
+ 1,
2602
+ -1,
2603
+ 2,
2604
+ 0,
2605
+ 2,
2606
+ 0,
2607
+ 0,
2608
+ 2,
2609
+ 3,
2610
+ 1,
2611
+ 1,
2612
+ 0,
2613
+ 1,
2614
+ 2,
2615
+ 1,
2616
+ 1,
2617
+ -1,
2618
+ 1,
2619
+ 2,
2620
+ 0,
2621
+ 2,
2622
+ 0,
2623
+ 0,
2624
+ 2,
2625
+ 3,
2626
+ 0,
2627
+ 1,
2628
+ 1,
2629
+ 1,
2630
+ 2,
2631
+ -1,
2632
+ 1,
2633
+ 1,
2634
+ 1,
2635
+ 2,
2636
+ 0,
2637
+ 2,
2638
+ 0,
2639
+ 0,
2640
+ 2,
2641
+ 3,
2642
+ 1,
2643
+ 1,
2644
+ 1,
2645
+ 0,
2646
+ 2,
2647
+ 1,
2648
+ 1,
2649
+ 1,
2650
+ -1,
2651
+ 2,
2652
+ 0,
2653
+ 0,
2654
+ 2,
2655
+ 0,
2656
+ 2,
2657
+ 3,
2658
+ 1,
2659
+ 0,
2660
+ 1,
2661
+ 1,
2662
+ 2,
2663
+ 1,
2664
+ -1,
2665
+ 1,
2666
+ 1,
2667
+ 2,
2668
+ 0,
2669
+ 0,
2670
+ 2,
2671
+ 0,
2672
+ 2,
2673
+ 3,
2674
+ 0,
2675
+ 1,
2676
+ 1,
2677
+ 1,
2678
+ 2,
2679
+ -1,
2680
+ 1,
2681
+ 1,
2682
+ 1,
2683
+ 2,
2684
+ 0,
2685
+ 0,
2686
+ 2,
2687
+ 0,
2688
+ 2,
2689
+ 3,
2690
+ 1,
2691
+ 1,
2692
+ 0,
2693
+ 1,
2694
+ 2,
2695
+ 1,
2696
+ 1,
2697
+ -1,
2698
+ 1,
2699
+ 2,
2700
+ 0,
2701
+ 0,
2702
+ 0,
2703
+ 2,
2704
+ 2,
2705
+ 3,
2706
+ 1,
2707
+ 0,
2708
+ 1,
2709
+ 1,
2710
+ 2,
2711
+ 1,
2712
+ -1,
2713
+ 1,
2714
+ 1,
2715
+ 2,
2716
+ 0,
2717
+ 0,
2718
+ 0,
2719
+ 2,
2720
+ 2,
2721
+ 3,
2722
+ 0,
2723
+ 1,
2724
+ 1,
2725
+ 1,
2726
+ 2,
2727
+ -1,
2728
+ 1,
2729
+ 1,
2730
+ 1,
2731
+ 2,
2732
+ 0,
2733
+ 0,
2734
+ 0,
2735
+ 2,
2736
+ 2,
2737
+ 1,
2738
+ 1,
2739
+ 1,
2740
+ -1,
2741
+ 0,
2742
+ 1,
2743
+ 1,
2744
+ 1,
2745
+ 0,
2746
+ -1,
2747
+ 0,
2748
+ 0,
2749
+ 0,
2750
+ 0,
2751
+ 0,
2752
+ 2,
2753
+ 1,
2754
+ 1,
2755
+ -1,
2756
+ 1,
2757
+ 0,
2758
+ 1,
2759
+ 1,
2760
+ 0,
2761
+ 1,
2762
+ -1,
2763
+ 0,
2764
+ 0,
2765
+ 0,
2766
+ 0,
2767
+ 0,
2768
+ 2,
2769
+ 1,
2770
+ -1,
2771
+ 1,
2772
+ 1,
2773
+ 0,
2774
+ 1,
2775
+ 0,
2776
+ 1,
2777
+ 1,
2778
+ -1,
2779
+ 0,
2780
+ 0,
2781
+ 0,
2782
+ 0,
2783
+ 0,
2784
+ 2,
2785
+ 1,
2786
+ 1,
2787
+ -1,
2788
+ 0,
2789
+ 1,
2790
+ 1,
2791
+ 1,
2792
+ 0,
2793
+ -1,
2794
+ 1,
2795
+ 0,
2796
+ 0,
2797
+ 0,
2798
+ 0,
2799
+ 0,
2800
+ 2,
2801
+ 1,
2802
+ -1,
2803
+ 1,
2804
+ 0,
2805
+ 1,
2806
+ 1,
2807
+ 0,
2808
+ 1,
2809
+ -1,
2810
+ 1,
2811
+ 0,
2812
+ 0,
2813
+ 0,
2814
+ 0,
2815
+ 0,
2816
+ 2,
2817
+ 1,
2818
+ -1,
2819
+ 0,
2820
+ 1,
2821
+ 1,
2822
+ 1,
2823
+ 0,
2824
+ -1,
2825
+ 1,
2826
+ 1,
2827
+ 0,
2828
+ 0,
2829
+ 0,
2830
+ 0,
2831
+ 0,
2832
+ 2,
2833
+ 1,
2834
+ 1,
2835
+ 1,
2836
+ -1,
2837
+ 0,
2838
+ 1,
2839
+ 1,
2840
+ 1,
2841
+ 0,
2842
+ -1,
2843
+ 2,
2844
+ 2,
2845
+ 0,
2846
+ 0,
2847
+ 0,
2848
+ 2,
2849
+ 1,
2850
+ 1,
2851
+ -1,
2852
+ 1,
2853
+ 0,
2854
+ 1,
2855
+ 1,
2856
+ 0,
2857
+ 1,
2858
+ -1,
2859
+ 2,
2860
+ 2,
2861
+ 0,
2862
+ 0,
2863
+ 0,
2864
+ 2,
2865
+ 1,
2866
+ 1,
2867
+ -1,
2868
+ 0,
2869
+ 1,
2870
+ 1,
2871
+ 1,
2872
+ 0,
2873
+ -1,
2874
+ 1,
2875
+ 2,
2876
+ 2,
2877
+ 0,
2878
+ 0,
2879
+ 0,
2880
+ 2,
2881
+ 1,
2882
+ 1,
2883
+ 1,
2884
+ -1,
2885
+ 0,
2886
+ 1,
2887
+ 1,
2888
+ 1,
2889
+ 0,
2890
+ -1,
2891
+ 2,
2892
+ 0,
2893
+ 2,
2894
+ 0,
2895
+ 0,
2896
+ 2,
2897
+ 1,
2898
+ -1,
2899
+ 1,
2900
+ 1,
2901
+ 0,
2902
+ 1,
2903
+ 0,
2904
+ 1,
2905
+ 1,
2906
+ -1,
2907
+ 2,
2908
+ 0,
2909
+ 2,
2910
+ 0,
2911
+ 0,
2912
+ 2,
2913
+ 1,
2914
+ -1,
2915
+ 1,
2916
+ 0,
2917
+ 1,
2918
+ 1,
2919
+ 0,
2920
+ 1,
2921
+ -1,
2922
+ 1,
2923
+ 2,
2924
+ 0,
2925
+ 2,
2926
+ 0,
2927
+ 0,
2928
+ 2,
2929
+ 1,
2930
+ 1,
2931
+ -1,
2932
+ 1,
2933
+ 0,
2934
+ 1,
2935
+ 1,
2936
+ 0,
2937
+ 1,
2938
+ -1,
2939
+ 2,
2940
+ 0,
2941
+ 0,
2942
+ 2,
2943
+ 0,
2944
+ 2,
2945
+ 1,
2946
+ -1,
2947
+ 1,
2948
+ 1,
2949
+ 0,
2950
+ 1,
2951
+ 0,
2952
+ 1,
2953
+ 1,
2954
+ -1,
2955
+ 2,
2956
+ 0,
2957
+ 0,
2958
+ 2,
2959
+ 0,
2960
+ 2,
2961
+ 1,
2962
+ -1,
2963
+ 0,
2964
+ 1,
2965
+ 1,
2966
+ 1,
2967
+ 0,
2968
+ -1,
2969
+ 1,
2970
+ 1,
2971
+ 2,
2972
+ 0,
2973
+ 0,
2974
+ 2,
2975
+ 0,
2976
+ 2,
2977
+ 1,
2978
+ 1,
2979
+ -1,
2980
+ 0,
2981
+ 1,
2982
+ 1,
2983
+ 1,
2984
+ 0,
2985
+ -1,
2986
+ 1,
2987
+ 2,
2988
+ 0,
2989
+ 0,
2990
+ 0,
2991
+ 2,
2992
+ 2,
2993
+ 1,
2994
+ -1,
2995
+ 1,
2996
+ 0,
2997
+ 1,
2998
+ 1,
2999
+ 0,
3000
+ 1,
3001
+ -1,
3002
+ 1,
3003
+ 2,
3004
+ 0,
3005
+ 0,
3006
+ 0,
3007
+ 2,
3008
+ 2,
3009
+ 1,
3010
+ -1,
3011
+ 0,
3012
+ 1,
3013
+ 1,
3014
+ 1,
3015
+ 0,
3016
+ -1,
3017
+ 1,
3018
+ 1,
3019
+ 2,
3020
+ 0,
3021
+ 0,
3022
+ 0,
3023
+ 2,
3024
+ 3,
3025
+ 1,
3026
+ 1,
3027
+ 0,
3028
+ 0,
3029
+ 0,
3030
+ 2,
3031
+ 2,
3032
+ 0,
3033
+ 0,
3034
+ 0,
3035
+ 2,
3036
+ 1,
3037
+ 1,
3038
+ 1,
3039
+ -1,
3040
+ 3,
3041
+ 1,
3042
+ 0,
3043
+ 1,
3044
+ 0,
3045
+ 0,
3046
+ 2,
3047
+ 0,
3048
+ 2,
3049
+ 0,
3050
+ 0,
3051
+ 2,
3052
+ 1,
3053
+ 1,
3054
+ 1,
3055
+ -1,
3056
+ 3,
3057
+ 1,
3058
+ 0,
3059
+ 0,
3060
+ 1,
3061
+ 0,
3062
+ 2,
3063
+ 0,
3064
+ 0,
3065
+ 2,
3066
+ 0,
3067
+ 2,
3068
+ 1,
3069
+ 1,
3070
+ 1,
3071
+ -1,
3072
+ 3,
3073
+ 1,
3074
+ 1,
3075
+ 0,
3076
+ 0,
3077
+ 0,
3078
+ 2,
3079
+ 2,
3080
+ 0,
3081
+ 0,
3082
+ 0,
3083
+ 2,
3084
+ 1,
3085
+ 1,
3086
+ -1,
3087
+ 1,
3088
+ 3,
3089
+ 1,
3090
+ 0,
3091
+ 1,
3092
+ 0,
3093
+ 0,
3094
+ 2,
3095
+ 0,
3096
+ 2,
3097
+ 0,
3098
+ 0,
3099
+ 2,
3100
+ 1,
3101
+ 1,
3102
+ -1,
3103
+ 1,
3104
+ 3,
3105
+ 1,
3106
+ 0,
3107
+ 0,
3108
+ 0,
3109
+ 1,
3110
+ 2,
3111
+ 0,
3112
+ 0,
3113
+ 0,
3114
+ 2,
3115
+ 2,
3116
+ 1,
3117
+ 1,
3118
+ -1,
3119
+ 1,
3120
+ 3,
3121
+ 1,
3122
+ 1,
3123
+ 0,
3124
+ 0,
3125
+ 0,
3126
+ 2,
3127
+ 2,
3128
+ 0,
3129
+ 0,
3130
+ 0,
3131
+ 2,
3132
+ 1,
3133
+ -1,
3134
+ 1,
3135
+ 1,
3136
+ 3,
3137
+ 1,
3138
+ 0,
3139
+ 0,
3140
+ 1,
3141
+ 0,
3142
+ 2,
3143
+ 0,
3144
+ 0,
3145
+ 2,
3146
+ 0,
3147
+ 2,
3148
+ 1,
3149
+ -1,
3150
+ 1,
3151
+ 1,
3152
+ 3,
3153
+ 1,
3154
+ 0,
3155
+ 0,
3156
+ 0,
3157
+ 1,
3158
+ 2,
3159
+ 0,
3160
+ 0,
3161
+ 0,
3162
+ 2,
3163
+ 2,
3164
+ 1,
3165
+ -1,
3166
+ 1,
3167
+ 1,
3168
+ 3,
3169
+ 1,
3170
+ 0,
3171
+ 1,
3172
+ 0,
3173
+ 0,
3174
+ 2,
3175
+ 0,
3176
+ 2,
3177
+ 0,
3178
+ 0,
3179
+ 2,
3180
+ -1,
3181
+ 1,
3182
+ 1,
3183
+ 1,
3184
+ 3,
3185
+ 1,
3186
+ 0,
3187
+ 0,
3188
+ 1,
3189
+ 0,
3190
+ 2,
3191
+ 0,
3192
+ 0,
3193
+ 2,
3194
+ 0,
3195
+ 2,
3196
+ -1,
3197
+ 1,
3198
+ 1,
3199
+ 1,
3200
+ 3,
3201
+ 1,
3202
+ 0,
3203
+ 0,
3204
+ 0,
3205
+ 1,
3206
+ 2,
3207
+ 0,
3208
+ 0,
3209
+ 0,
3210
+ 2,
3211
+ 2,
3212
+ -1,
3213
+ 1,
3214
+ 1,
3215
+ 1,
3216
+ 3,
3217
+ 3,
3218
+ 2,
3219
+ 1,
3220
+ 0,
3221
+ 0,
3222
+ 3,
3223
+ 1,
3224
+ 2,
3225
+ 0,
3226
+ 0,
3227
+ 4,
3228
+ 1,
3229
+ 1,
3230
+ 1,
3231
+ 1,
3232
+ 3,
3233
+ 3,
3234
+ 2,
3235
+ 0,
3236
+ 1,
3237
+ 0,
3238
+ 3,
3239
+ 1,
3240
+ 0,
3241
+ 2,
3242
+ 0,
3243
+ 4,
3244
+ 1,
3245
+ 1,
3246
+ 1,
3247
+ 1,
3248
+ 3,
3249
+ 3,
3250
+ 0,
3251
+ 2,
3252
+ 1,
3253
+ 0,
3254
+ 3,
3255
+ 0,
3256
+ 1,
3257
+ 2,
3258
+ 0,
3259
+ 4,
3260
+ 1,
3261
+ 1,
3262
+ 1,
3263
+ 1,
3264
+ 3,
3265
+ 3,
3266
+ 2,
3267
+ 0,
3268
+ 0,
3269
+ 1,
3270
+ 3,
3271
+ 1,
3272
+ 0,
3273
+ 0,
3274
+ 2,
3275
+ 4,
3276
+ 1,
3277
+ 1,
3278
+ 1,
3279
+ 1,
3280
+ 3,
3281
+ 3,
3282
+ 0,
3283
+ 2,
3284
+ 0,
3285
+ 1,
3286
+ 3,
3287
+ 0,
3288
+ 1,
3289
+ 0,
3290
+ 2,
3291
+ 4,
3292
+ 1,
3293
+ 1,
3294
+ 1,
3295
+ 1,
3296
+ 3,
3297
+ 3,
3298
+ 0,
3299
+ 0,
3300
+ 2,
3301
+ 1,
3302
+ 3,
3303
+ 0,
3304
+ 0,
3305
+ 1,
3306
+ 2,
3307
+ 4,
3308
+ 1,
3309
+ 1,
3310
+ 1,
3311
+ 1,
3312
+ 3,
3313
+ 3,
3314
+ 2,
3315
+ 1,
3316
+ 0,
3317
+ 0,
3318
+ 3,
3319
+ 1,
3320
+ 2,
3321
+ 0,
3322
+ 0,
3323
+ 2,
3324
+ 1,
3325
+ 1,
3326
+ 1,
3327
+ -1,
3328
+ 3,
3329
+ 3,
3330
+ 2,
3331
+ 0,
3332
+ 1,
3333
+ 0,
3334
+ 3,
3335
+ 1,
3336
+ 0,
3337
+ 2,
3338
+ 0,
3339
+ 2,
3340
+ 1,
3341
+ 1,
3342
+ 1,
3343
+ -1,
3344
+ 3,
3345
+ 3,
3346
+ 0,
3347
+ 2,
3348
+ 1,
3349
+ 0,
3350
+ 3,
3351
+ 0,
3352
+ 1,
3353
+ 2,
3354
+ 0,
3355
+ 2,
3356
+ 1,
3357
+ 1,
3358
+ 1,
3359
+ -1,
3360
+ 3,
3361
+ 3,
3362
+ 2,
3363
+ 1,
3364
+ 0,
3365
+ 0,
3366
+ 3,
3367
+ 1,
3368
+ 2,
3369
+ 0,
3370
+ 0,
3371
+ 2,
3372
+ 1,
3373
+ 1,
3374
+ -1,
3375
+ 1,
3376
+ 3,
3377
+ 3,
3378
+ 2,
3379
+ 0,
3380
+ 0,
3381
+ 1,
3382
+ 3,
3383
+ 1,
3384
+ 0,
3385
+ 0,
3386
+ 2,
3387
+ 2,
3388
+ 1,
3389
+ 1,
3390
+ -1,
3391
+ 1,
3392
+ 3,
3393
+ 3,
3394
+ 0,
3395
+ 2,
3396
+ 0,
3397
+ 1,
3398
+ 3,
3399
+ 0,
3400
+ 1,
3401
+ 0,
3402
+ 2,
3403
+ 2,
3404
+ 1,
3405
+ 1,
3406
+ -1,
3407
+ 1,
3408
+ 3,
3409
+ 3,
3410
+ 2,
3411
+ 0,
3412
+ 1,
3413
+ 0,
3414
+ 3,
3415
+ 1,
3416
+ 0,
3417
+ 2,
3418
+ 0,
3419
+ 2,
3420
+ 1,
3421
+ -1,
3422
+ 1,
3423
+ 1,
3424
+ 3,
3425
+ 3,
3426
+ 2,
3427
+ 0,
3428
+ 0,
3429
+ 1,
3430
+ 3,
3431
+ 1,
3432
+ 0,
3433
+ 0,
3434
+ 2,
3435
+ 2,
3436
+ 1,
3437
+ -1,
3438
+ 1,
3439
+ 1,
3440
+ 3,
3441
+ 3,
3442
+ 0,
3443
+ 0,
3444
+ 2,
3445
+ 1,
3446
+ 3,
3447
+ 0,
3448
+ 0,
3449
+ 1,
3450
+ 2,
3451
+ 2,
3452
+ 1,
3453
+ -1,
3454
+ 1,
3455
+ 1,
3456
+ 3,
3457
+ 3,
3458
+ 0,
3459
+ 2,
3460
+ 1,
3461
+ 0,
3462
+ 3,
3463
+ 0,
3464
+ 1,
3465
+ 2,
3466
+ 0,
3467
+ 2,
3468
+ -1,
3469
+ 1,
3470
+ 1,
3471
+ 1,
3472
+ 3,
3473
+ 3,
3474
+ 0,
3475
+ 2,
3476
+ 0,
3477
+ 1,
3478
+ 3,
3479
+ 0,
3480
+ 1,
3481
+ 0,
3482
+ 2,
3483
+ 2,
3484
+ -1,
3485
+ 1,
3486
+ 1,
3487
+ 1,
3488
+ 3,
3489
+ 3,
3490
+ 0,
3491
+ 0,
3492
+ 2,
3493
+ 1,
3494
+ 3,
3495
+ 0,
3496
+ 0,
3497
+ 1,
3498
+ 2,
3499
+ 2,
3500
+ -1,
3501
+ 1,
3502
+ 1,
3503
+ 1,
3504
+ ];
3505
+ }
3506
+ noise(x, y, z, w) {
3507
+ const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this, stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
3508
+ ((yins - zins + 1) << 1) |
3509
+ ((yins - wins + 1) << 2) |
3510
+ ((xins - yins + 1) << 3) |
3511
+ ((xins - zins + 1) << 4) |
3512
+ ((xins - wins + 1) << 5) |
3513
+ (inSum << 6) |
3514
+ ((inSum + wins) << 8) |
3515
+ ((inSum + zins) << 11) |
3516
+ ((inSum + yins) << 14) |
3517
+ ((inSum + xins) << 17);
3518
+ let value = 0;
3519
+ for (let c = _lookup[hash]; c !== undefined; c = c.next) {
3520
+ const dx = dx0 + c.dx, dy = dy0 + c.dy, dz = dz0 + c.dz, dw = dw0 + c.dw, attn = 2 - dx * dx - dy * dy - dz * dz - dw * dw;
3521
+ if (attn > 0) {
3522
+ const px = xsb + c.xsb, py = ysb + c.ysb, pz = zsb + c.zsb, pw = wsb + c.wsb, indexPartA = _perm[px & 0xff], indexPartB = _perm[(indexPartA + py) & 0xff], indexPartC = _perm[(indexPartB + pz) & 0xff], index = _perm4D[(indexPartC + pw) & 0xff], valuePart = _gradients4D[index] * dx +
3523
+ _gradients4D[index + 1] * dy +
3524
+ _gradients4D[index + 2] * dz +
3525
+ _gradients4D[index + 3] * dw;
3526
+ value += attn * attn * attn * attn * valuePart;
3527
+ }
3528
+ }
3529
+ return value * _NORM_4D;
3530
+ }
3531
+ seed(clientSeed) {
3532
+ const { _p4D, _base4D, _lookupPairs4D } = this, contributions = [];
3533
+ for (let i = 0; i < _p4D.length; i += 16) {
3534
+ const baseSet = _base4D[_p4D[i]];
3535
+ let previous = null, current = null;
3536
+ for (let k = 0; k < baseSet.length; k += 5) {
3537
+ current = this._contribution4D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3], baseSet[k + 4]);
3538
+ if (previous === null) {
3539
+ contributions[i / 16] = current;
3540
+ }
3541
+ else {
3542
+ previous.next = current;
3543
+ }
3544
+ previous = current;
3545
+ }
3546
+ if (current) {
3547
+ current.next = this._contribution4D(_p4D[i + 1], _p4D[i + 2], _p4D[i + 3], _p4D[i + 4], _p4D[i + 5]);
3548
+ current.next.next = this._contribution4D(_p4D[i + 6], _p4D[i + 7], _p4D[i + 8], _p4D[i + 9], _p4D[i + 10]);
3549
+ current.next.next.next = this._contribution4D(_p4D[i + 11], _p4D[i + 12], _p4D[i + 13], _p4D[i + 14], _p4D[i + 15]);
3550
+ }
3551
+ }
3552
+ this._lookup = [];
3553
+ for (let i = 0; i < _lookupPairs4D.length; i += 2) {
3554
+ this._lookup[_lookupPairs4D[i]] = contributions[_lookupPairs4D[i + 1]];
3555
+ }
3556
+ this._perm = new Uint8Array(256);
3557
+ this._perm4D = new Uint8Array(256);
3558
+ const source = new Uint8Array(256);
3559
+ for (let i = 0; i < 256; i++) {
3560
+ source[i] = i;
3561
+ }
3562
+ let seed = new Uint32Array(1);
3563
+ seed[0] = clientSeed;
3564
+ seed = shuffleSeed(shuffleSeed(shuffleSeed(seed)));
3565
+ for (let i = 255; i >= 0; i--) {
3566
+ seed = shuffleSeed(seed);
3567
+ const r = new Uint32Array(1);
3568
+ r[0] = (seed[0] + 31) % (i + 1);
3569
+ if (r[0] < 0) {
3570
+ r[0] += i + 1;
3571
+ }
3572
+ this._perm[i] = source[r[0]];
3573
+ this._perm4D[i] = this._perm[i] & 0xfc;
3574
+ source[r[0]] = source[i];
3575
+ }
3576
+ }
3577
+ _contribution4D(multiplier, xsb, ysb, zsb, wsb) {
3578
+ const { _SQUISH_4D } = this;
3579
+ return {
3580
+ dx: -xsb - multiplier * _SQUISH_4D,
3581
+ dy: -ysb - multiplier * _SQUISH_4D,
3582
+ dz: -zsb - multiplier * _SQUISH_4D,
3583
+ dw: -wsb - multiplier * _SQUISH_4D,
3584
+ xsb,
3585
+ ysb,
3586
+ zsb,
3587
+ wsb,
3588
+ };
3589
+ }
3590
+ }
46
3591
 
47
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise3D: () => (/* binding */ SimplexNoise3D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nconst third = 1 / 3;\nclass SimplexNoise3D {\n _NORM_3D;\n _SQUISH_3D;\n _STRETCH_3D;\n _base3D;\n _gradients3D;\n _lookup;\n _lookupPairs3D;\n _p3D;\n _perm;\n _perm3D;\n constructor(){\n this._NORM_3D = 1 / 103;\n this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) * third;\n this._STRETCH_3D = (1 / Math.sqrt(3 + 1) - 1) * third;\n this._base3D = [\n [\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1\n ],\n [\n 2,\n 1,\n 1,\n 0,\n 2,\n 1,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1,\n 3,\n 1,\n 1,\n 1\n ],\n [\n 1,\n 1,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1,\n 2,\n 1,\n 1,\n 0,\n 2,\n 1,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1\n ]\n ];\n this._gradients3D = [\n -11,\n 4,\n 4,\n -4,\n 11,\n 4,\n -4,\n 4,\n 11,\n 11,\n 4,\n 4,\n 4,\n 11,\n 4,\n 4,\n 4,\n 11,\n -11,\n -4,\n 4,\n -4,\n -11,\n 4,\n -4,\n -4,\n 11,\n 11,\n -4,\n 4,\n 4,\n -11,\n 4,\n 4,\n -4,\n 11,\n -11,\n 4,\n -4,\n -4,\n 11,\n -4,\n -4,\n 4,\n -11,\n 11,\n 4,\n -4,\n 4,\n 11,\n -4,\n 4,\n 4,\n -11,\n -11,\n -4,\n -4,\n -4,\n -11,\n -4,\n -4,\n -4,\n -11,\n 11,\n -4,\n -4,\n 4,\n -11,\n -4,\n 4,\n -4,\n -11\n ];\n this._lookup = [];\n this._lookupPairs3D = [\n 0,\n 2,\n 1,\n 1,\n 2,\n 2,\n 5,\n 1,\n 6,\n 0,\n 7,\n 0,\n 32,\n 2,\n 34,\n 2,\n 129,\n 1,\n 133,\n 1,\n 160,\n 5,\n 161,\n 5,\n 518,\n 0,\n 519,\n 0,\n 546,\n 4,\n 550,\n 4,\n 645,\n 3,\n 647,\n 3,\n 672,\n 5,\n 673,\n 5,\n 674,\n 4,\n 677,\n 3,\n 678,\n 4,\n 679,\n 3,\n 680,\n 13,\n 681,\n 13,\n 682,\n 12,\n 685,\n 14,\n 686,\n 12,\n 687,\n 14,\n 712,\n 20,\n 714,\n 18,\n 809,\n 21,\n 813,\n 23,\n 840,\n 20,\n 841,\n 21,\n 1198,\n 19,\n 1199,\n 22,\n 1226,\n 18,\n 1230,\n 19,\n 1325,\n 23,\n 1327,\n 22,\n 1352,\n 15,\n 1353,\n 17,\n 1354,\n 15,\n 1357,\n 17,\n 1358,\n 16,\n 1359,\n 16,\n 1360,\n 11,\n 1361,\n 10,\n 1362,\n 11,\n 1365,\n 10,\n 1366,\n 9,\n 1367,\n 9,\n 1392,\n 11,\n 1394,\n 11,\n 1489,\n 10,\n 1493,\n 10,\n 1520,\n 8,\n 1521,\n 8,\n 1878,\n 9,\n 1879,\n 9,\n 1906,\n 7,\n 1910,\n 7,\n 2005,\n 6,\n 2007,\n 6,\n 2032,\n 8,\n 2033,\n 8,\n 2034,\n 7,\n 2037,\n 6,\n 2038,\n 7,\n 2039,\n 6\n ];\n this._p3D = [\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n 1,\n 0,\n -1,\n 0,\n 0,\n -1,\n 1,\n 0,\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n -1,\n 0,\n 1,\n 0,\n 0,\n -1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 0,\n 1,\n 1,\n 1,\n -1,\n 0,\n 2,\n 1,\n 0,\n 1,\n 1,\n 1,\n -1,\n 1,\n 0,\n 2,\n 0,\n 1,\n 1,\n 1,\n -1,\n 1,\n 1,\n 1,\n 3,\n 2,\n 1,\n 0,\n 3,\n 1,\n 2,\n 0,\n 1,\n 3,\n 2,\n 0,\n 1,\n 3,\n 1,\n 0,\n 2,\n 1,\n 3,\n 0,\n 2,\n 1,\n 3,\n 0,\n 1,\n 2,\n 1,\n 1,\n 1,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 0,\n 2,\n 0,\n 2,\n 0,\n 1,\n 1,\n 0,\n 0,\n 1,\n 2,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n -1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 0,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 1,\n -1,\n 2,\n 3,\n 1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 2,\n 3,\n 1,\n 1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 0,\n 2,\n 0\n ];\n this._perm = new Uint8Array(256);\n this._perm3D = new Uint8Array(256);\n }\n noise(x, y, z) {\n const { _STRETCH_3D, _NORM_3D, _SQUISH_3D, _lookup, _perm, _perm3D, _gradients3D } = this, stretchOffset = (x + y + z) * _STRETCH_3D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), squishOffset = (xsb + ysb + zsb) * _SQUISH_3D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, inSum = xins + yins + zins, hash = yins - zins + 1 | xins - yins + 1 << 1 | xins - zins + 1 << 2 | inSum << 3 | inSum + zins << 5 | inSum + yins << 7 | inSum + xins << 9;\n let value = 0;\n for(let c = _lookup[hash]; c !== undefined; c = c.next){\n const dx = dx0 + c.dx, dy = dy0 + c.dy, dz = dz0 + c.dz, attn = 2 - dx * dx - dy * dy - dz * dz;\n if (attn > 0) {\n const px = xsb + c.xsb, py = ysb + c.ysb, pz = zsb + c.zsb, indexPartA = _perm[px & 0xff], indexPartB = _perm[indexPartA + py & 0xff], index = _perm3D[indexPartB + pz & 0xff], valuePart = _gradients3D[index] * dx + _gradients3D[index + 1] * dy + _gradients3D[index + 2] * dz;\n value += attn * attn * attn * attn * valuePart;\n }\n }\n return value * _NORM_3D;\n }\n seed(clientSeed) {\n const { _base3D, _lookupPairs3D, _p3D } = this, contributions = [];\n for(let i = 0; i < _p3D.length; i += 9){\n const baseSet = _base3D[_p3D[i]];\n let previous = null, current = null;\n for(let k = 0; k < baseSet.length; k += 4){\n current = this._contribution3D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3]);\n if (previous === null) {\n contributions[i / 9] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution3D(_p3D[i + 1], _p3D[i + 2], _p3D[i + 3], _p3D[i + 4]);\n current.next.next = this._contribution3D(_p3D[i + 5], _p3D[i + 6], _p3D[i + 7], _p3D[i + 8]);\n }\n }\n this._lookup = [];\n for(let i = 0; i < _lookupPairs3D.length; i += 2){\n this._lookup[_lookupPairs3D[i]] = contributions[_lookupPairs3D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm3D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for(let i = 0; i < 256; i++){\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for(let i = 255; i >= 0; i--){\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm3D[i] = this._perm[i] % 24 * 3;\n source[r[0]] = source[i];\n }\n }\n _contribution3D(multiplier, xsb, ysb, zsb) {\n const { _SQUISH_3D } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_3D,\n dy: -ysb - multiplier * _SQUISH_3D,\n dz: -zsb - multiplier * _SQUISH_3D,\n xsb,\n ysb,\n zsb\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise3D.js?\n}");
3592
+ class SimplexNoise {
3593
+ noise2d;
3594
+ noise3d;
3595
+ noise4d;
3596
+ constructor() {
3597
+ this.noise2d = new SimplexNoise2D();
3598
+ this.noise3d = new SimplexNoise3D();
3599
+ this.noise4d = new SimplexNoise4D();
3600
+ }
3601
+ }
48
3602
 
49
- /***/ },
3603
+ const globalObject = globalThis;
3604
+ globalObject.__tsParticlesInternals = globalObject.__tsParticlesInternals ?? {};
50
3605
 
51
- /***/ "./dist/browser/Classes/SimplexNoise4D.js"
52
- /*!************************************************!*\
53
- !*** ./dist/browser/Classes/SimplexNoise4D.js ***!
54
- \************************************************/
55
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
3606
+ exports.SimplexNoise = SimplexNoise;
56
3607
 
57
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise4D: () => (/* binding */ SimplexNoise4D)\n/* harmony export */ });\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils.js */ \"./dist/browser/utils.js\");\n\nconst quarter = 0.25;\nclass SimplexNoise4D {\n _NORM_4D;\n _SQUISH_4D;\n _STRETCH_4D;\n _base4D;\n _gradients4D;\n _lookup;\n _lookupPairs4D;\n _p4D;\n _perm;\n _perm4D;\n constructor(){\n this._NORM_4D = 1 / 30;\n this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * quarter;\n this._STRETCH_4D = (1 / Math.sqrt(4 + 1) - 1) * quarter;\n this._lookup = [];\n this._perm = new Uint8Array(0);\n this._perm4D = new Uint8Array(0);\n this._base4D = [\n [\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 1\n ],\n [\n 3,\n 1,\n 1,\n 1,\n 0,\n 3,\n 1,\n 1,\n 0,\n 1,\n 3,\n 1,\n 0,\n 1,\n 1,\n 3,\n 0,\n 1,\n 1,\n 1,\n 4,\n 1,\n 1,\n 1,\n 1\n ],\n [\n 1,\n 1,\n 0,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 1,\n 0,\n 0,\n 1,\n 0,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 1,\n 1,\n 0,\n 0,\n 2,\n 1,\n 0,\n 1,\n 0,\n 2,\n 1,\n 0,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1,\n 0,\n 2,\n 0,\n 1,\n 0,\n 1,\n 2,\n 0,\n 0,\n 1,\n 1\n ],\n [\n 3,\n 1,\n 1,\n 1,\n 0,\n 3,\n 1,\n 1,\n 0,\n 1,\n 3,\n 1,\n 0,\n 1,\n 1,\n 3,\n 0,\n 1,\n 1,\n 1,\n 2,\n 1,\n 1,\n 0,\n 0,\n 2,\n 1,\n 0,\n 1,\n 0,\n 2,\n 1,\n 0,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1,\n 0,\n 2,\n 0,\n 1,\n 0,\n 1,\n 2,\n 0,\n 0,\n 1,\n 1\n ]\n ];\n this._gradients4D = [\n 3,\n 1,\n 1,\n 1,\n 1,\n 3,\n 1,\n 1,\n 1,\n 1,\n 3,\n 1,\n 1,\n 1,\n 1,\n 3,\n -3,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n -1,\n 1,\n 1,\n 3,\n 3,\n -1,\n 1,\n 1,\n 1,\n -3,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 1,\n -1,\n 1,\n 3,\n -3,\n -1,\n 1,\n 1,\n -1,\n -3,\n 1,\n 1,\n -1,\n -1,\n 3,\n 1,\n -1,\n -1,\n 1,\n 3,\n 3,\n 1,\n -1,\n 1,\n 1,\n 3,\n -1,\n 1,\n 1,\n 1,\n -3,\n 1,\n 1,\n 1,\n -1,\n 3,\n -3,\n 1,\n -1,\n 1,\n -1,\n 3,\n -1,\n 1,\n -1,\n 1,\n -3,\n 1,\n -1,\n 1,\n -1,\n 3,\n 3,\n -1,\n -1,\n 1,\n 1,\n -3,\n -1,\n 1,\n 1,\n -1,\n -3,\n 1,\n 1,\n -1,\n -1,\n 3,\n -3,\n -1,\n -1,\n 1,\n -1,\n -3,\n -1,\n 1,\n -1,\n -1,\n -3,\n 1,\n -1,\n -1,\n -1,\n 3,\n 3,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n -1,\n 1,\n 1,\n 3,\n -1,\n 1,\n 1,\n 1,\n -3,\n -3,\n 1,\n 1,\n -1,\n -1,\n 3,\n 1,\n -1,\n -1,\n 1,\n 3,\n -1,\n -1,\n 1,\n 1,\n -3,\n 3,\n -1,\n 1,\n -1,\n 1,\n -3,\n 1,\n -1,\n 1,\n -1,\n 3,\n -1,\n 1,\n -1,\n 1,\n -3,\n -3,\n -1,\n 1,\n -1,\n -1,\n -3,\n 1,\n -1,\n -1,\n -1,\n 3,\n -1,\n -1,\n -1,\n 1,\n -3,\n 3,\n 1,\n -1,\n -1,\n 1,\n 3,\n -1,\n -1,\n 1,\n 1,\n -3,\n -1,\n 1,\n 1,\n -1,\n -3,\n -3,\n 1,\n -1,\n -1,\n -1,\n 3,\n -1,\n -1,\n -1,\n 1,\n -3,\n -1,\n -1,\n 1,\n -1,\n -3,\n 3,\n -1,\n -1,\n -1,\n 1,\n -3,\n -1,\n -1,\n 1,\n -1,\n -3,\n -1,\n 1,\n -1,\n -1,\n -3,\n -3,\n -1,\n -1,\n -1,\n -1,\n -3,\n -1,\n -1,\n -1,\n -1,\n -3,\n -1,\n -1,\n -1,\n -1,\n -3\n ];\n this._lookupPairs4D = [\n 0,\n 3,\n 1,\n 2,\n 2,\n 3,\n 5,\n 2,\n 6,\n 1,\n 7,\n 1,\n 8,\n 3,\n 9,\n 2,\n 10,\n 3,\n 13,\n 2,\n 16,\n 3,\n 18,\n 3,\n 22,\n 1,\n 23,\n 1,\n 24,\n 3,\n 26,\n 3,\n 33,\n 2,\n 37,\n 2,\n 38,\n 1,\n 39,\n 1,\n 41,\n 2,\n 45,\n 2,\n 54,\n 1,\n 55,\n 1,\n 56,\n 0,\n 57,\n 0,\n 58,\n 0,\n 59,\n 0,\n 60,\n 0,\n 61,\n 0,\n 62,\n 0,\n 63,\n 0,\n 256,\n 3,\n 258,\n 3,\n 264,\n 3,\n 266,\n 3,\n 272,\n 3,\n 274,\n 3,\n 280,\n 3,\n 282,\n 3,\n 2049,\n 2,\n 2053,\n 2,\n 2057,\n 2,\n 2061,\n 2,\n 2081,\n 2,\n 2085,\n 2,\n 2089,\n 2,\n 2093,\n 2,\n 2304,\n 9,\n 2305,\n 9,\n 2312,\n 9,\n 2313,\n 9,\n 16390,\n 1,\n 16391,\n 1,\n 16406,\n 1,\n 16407,\n 1,\n 16422,\n 1,\n 16423,\n 1,\n 16438,\n 1,\n 16439,\n 1,\n 16642,\n 8,\n 16646,\n 8,\n 16658,\n 8,\n 16662,\n 8,\n 18437,\n 6,\n 18439,\n 6,\n 18469,\n 6,\n 18471,\n 6,\n 18688,\n 9,\n 18689,\n 9,\n 18690,\n 8,\n 18693,\n 6,\n 18694,\n 8,\n 18695,\n 6,\n 18696,\n 9,\n 18697,\n 9,\n 18706,\n 8,\n 18710,\n 8,\n 18725,\n 6,\n 18727,\n 6,\n 131128,\n 0,\n 131129,\n 0,\n 131130,\n 0,\n 131131,\n 0,\n 131132,\n 0,\n 131133,\n 0,\n 131134,\n 0,\n 131135,\n 0,\n 131352,\n 7,\n 131354,\n 7,\n 131384,\n 7,\n 131386,\n 7,\n 133161,\n 5,\n 133165,\n 5,\n 133177,\n 5,\n 133181,\n 5,\n 133376,\n 9,\n 133377,\n 9,\n 133384,\n 9,\n 133385,\n 9,\n 133400,\n 7,\n 133402,\n 7,\n 133417,\n 5,\n 133421,\n 5,\n 133432,\n 7,\n 133433,\n 5,\n 133434,\n 7,\n 133437,\n 5,\n 147510,\n 4,\n 147511,\n 4,\n 147518,\n 4,\n 147519,\n 4,\n 147714,\n 8,\n 147718,\n 8,\n 147730,\n 8,\n 147734,\n 8,\n 147736,\n 7,\n 147738,\n 7,\n 147766,\n 4,\n 147767,\n 4,\n 147768,\n 7,\n 147770,\n 7,\n 147774,\n 4,\n 147775,\n 4,\n 149509,\n 6,\n 149511,\n 6,\n 149541,\n 6,\n 149543,\n 6,\n 149545,\n 5,\n 149549,\n 5,\n 149558,\n 4,\n 149559,\n 4,\n 149561,\n 5,\n 149565,\n 5,\n 149566,\n 4,\n 149567,\n 4,\n 149760,\n 9,\n 149761,\n 9,\n 149762,\n 8,\n 149765,\n 6,\n 149766,\n 8,\n 149767,\n 6,\n 149768,\n 9,\n 149769,\n 9,\n 149778,\n 8,\n 149782,\n 8,\n 149784,\n 7,\n 149786,\n 7,\n 149797,\n 6,\n 149799,\n 6,\n 149801,\n 5,\n 149805,\n 5,\n 149814,\n 4,\n 149815,\n 4,\n 149816,\n 7,\n 149817,\n 5,\n 149818,\n 7,\n 149821,\n 5,\n 149822,\n 4,\n 149823,\n 4,\n 149824,\n 37,\n 149825,\n 37,\n 149826,\n 36,\n 149829,\n 34,\n 149830,\n 36,\n 149831,\n 34,\n 149832,\n 37,\n 149833,\n 37,\n 149842,\n 36,\n 149846,\n 36,\n 149848,\n 35,\n 149850,\n 35,\n 149861,\n 34,\n 149863,\n 34,\n 149865,\n 33,\n 149869,\n 33,\n 149878,\n 32,\n 149879,\n 32,\n 149880,\n 35,\n 149881,\n 33,\n 149882,\n 35,\n 149885,\n 33,\n 149886,\n 32,\n 149887,\n 32,\n 150080,\n 49,\n 150082,\n 48,\n 150088,\n 49,\n 150098,\n 48,\n 150104,\n 47,\n 150106,\n 47,\n 151873,\n 46,\n 151877,\n 45,\n 151881,\n 46,\n 151909,\n 45,\n 151913,\n 44,\n 151917,\n 44,\n 152128,\n 49,\n 152129,\n 46,\n 152136,\n 49,\n 152137,\n 46,\n 166214,\n 43,\n 166215,\n 42,\n 166230,\n 43,\n 166247,\n 42,\n 166262,\n 41,\n 166263,\n 41,\n 166466,\n 48,\n 166470,\n 43,\n 166482,\n 48,\n 166486,\n 43,\n 168261,\n 45,\n 168263,\n 42,\n 168293,\n 45,\n 168295,\n 42,\n 168512,\n 31,\n 168513,\n 28,\n 168514,\n 31,\n 168517,\n 28,\n 168518,\n 25,\n 168519,\n 25,\n 280952,\n 40,\n 280953,\n 39,\n 280954,\n 40,\n 280957,\n 39,\n 280958,\n 38,\n 280959,\n 38,\n 281176,\n 47,\n 281178,\n 47,\n 281208,\n 40,\n 281210,\n 40,\n 282985,\n 44,\n 282989,\n 44,\n 283001,\n 39,\n 283005,\n 39,\n 283208,\n 30,\n 283209,\n 27,\n 283224,\n 30,\n 283241,\n 27,\n 283256,\n 22,\n 283257,\n 22,\n 297334,\n 41,\n 297335,\n 41,\n 297342,\n 38,\n 297343,\n 38,\n 297554,\n 29,\n 297558,\n 24,\n 297562,\n 29,\n 297590,\n 24,\n 297594,\n 21,\n 297598,\n 21,\n 299365,\n 26,\n 299367,\n 23,\n 299373,\n 26,\n 299383,\n 23,\n 299389,\n 20,\n 299391,\n 20,\n 299584,\n 31,\n 299585,\n 28,\n 299586,\n 31,\n 299589,\n 28,\n 299590,\n 25,\n 299591,\n 25,\n 299592,\n 30,\n 299593,\n 27,\n 299602,\n 29,\n 299606,\n 24,\n 299608,\n 30,\n 299610,\n 29,\n 299621,\n 26,\n 299623,\n 23,\n 299625,\n 27,\n 299629,\n 26,\n 299638,\n 24,\n 299639,\n 23,\n 299640,\n 22,\n 299641,\n 22,\n 299642,\n 21,\n 299645,\n 20,\n 299646,\n 21,\n 299647,\n 20,\n 299648,\n 61,\n 299649,\n 60,\n 299650,\n 61,\n 299653,\n 60,\n 299654,\n 59,\n 299655,\n 59,\n 299656,\n 58,\n 299657,\n 57,\n 299666,\n 55,\n 299670,\n 54,\n 299672,\n 58,\n 299674,\n 55,\n 299685,\n 52,\n 299687,\n 51,\n 299689,\n 57,\n 299693,\n 52,\n 299702,\n 54,\n 299703,\n 51,\n 299704,\n 56,\n 299705,\n 56,\n 299706,\n 53,\n 299709,\n 50,\n 299710,\n 53,\n 299711,\n 50,\n 299904,\n 61,\n 299906,\n 61,\n 299912,\n 58,\n 299922,\n 55,\n 299928,\n 58,\n 299930,\n 55,\n 301697,\n 60,\n 301701,\n 60,\n 301705,\n 57,\n 301733,\n 52,\n 301737,\n 57,\n 301741,\n 52,\n 301952,\n 79,\n 301953,\n 79,\n 301960,\n 76,\n 301961,\n 76,\n 316038,\n 59,\n 316039,\n 59,\n 316054,\n 54,\n 316071,\n 51,\n 316086,\n 54,\n 316087,\n 51,\n 316290,\n 78,\n 316294,\n 78,\n 316306,\n 73,\n 316310,\n 73,\n 318085,\n 77,\n 318087,\n 77,\n 318117,\n 70,\n 318119,\n 70,\n 318336,\n 79,\n 318337,\n 79,\n 318338,\n 78,\n 318341,\n 77,\n 318342,\n 78,\n 318343,\n 77,\n 430776,\n 56,\n 430777,\n 56,\n 430778,\n 53,\n 430781,\n 50,\n 430782,\n 53,\n 430783,\n 50,\n 431000,\n 75,\n 431002,\n 72,\n 431032,\n 75,\n 431034,\n 72,\n 432809,\n 74,\n 432813,\n 69,\n 432825,\n 74,\n 432829,\n 69,\n 433032,\n 76,\n 433033,\n 76,\n 433048,\n 75,\n 433065,\n 74,\n 433080,\n 75,\n 433081,\n 74,\n 447158,\n 71,\n 447159,\n 68,\n 447166,\n 71,\n 447167,\n 68,\n 447378,\n 73,\n 447382,\n 73,\n 447386,\n 72,\n 447414,\n 71,\n 447418,\n 72,\n 447422,\n 71,\n 449189,\n 70,\n 449191,\n 70,\n 449197,\n 69,\n 449207,\n 68,\n 449213,\n 69,\n 449215,\n 68,\n 449408,\n 67,\n 449409,\n 67,\n 449410,\n 66,\n 449413,\n 64,\n 449414,\n 66,\n 449415,\n 64,\n 449416,\n 67,\n 449417,\n 67,\n 449426,\n 66,\n 449430,\n 66,\n 449432,\n 65,\n 449434,\n 65,\n 449445,\n 64,\n 449447,\n 64,\n 449449,\n 63,\n 449453,\n 63,\n 449462,\n 62,\n 449463,\n 62,\n 449464,\n 65,\n 449465,\n 63,\n 449466,\n 65,\n 449469,\n 63,\n 449470,\n 62,\n 449471,\n 62,\n 449472,\n 19,\n 449473,\n 19,\n 449474,\n 18,\n 449477,\n 16,\n 449478,\n 18,\n 449479,\n 16,\n 449480,\n 19,\n 449481,\n 19,\n 449490,\n 18,\n 449494,\n 18,\n 449496,\n 17,\n 449498,\n 17,\n 449509,\n 16,\n 449511,\n 16,\n 449513,\n 15,\n 449517,\n 15,\n 449526,\n 14,\n 449527,\n 14,\n 449528,\n 17,\n 449529,\n 15,\n 449530,\n 17,\n 449533,\n 15,\n 449534,\n 14,\n 449535,\n 14,\n 449728,\n 19,\n 449729,\n 19,\n 449730,\n 18,\n 449734,\n 18,\n 449736,\n 19,\n 449737,\n 19,\n 449746,\n 18,\n 449750,\n 18,\n 449752,\n 17,\n 449754,\n 17,\n 449784,\n 17,\n 449786,\n 17,\n 451520,\n 19,\n 451521,\n 19,\n 451525,\n 16,\n 451527,\n 16,\n 451528,\n 19,\n 451529,\n 19,\n 451557,\n 16,\n 451559,\n 16,\n 451561,\n 15,\n 451565,\n 15,\n 451577,\n 15,\n 451581,\n 15,\n 451776,\n 19,\n 451777,\n 19,\n 451784,\n 19,\n 451785,\n 19,\n 465858,\n 18,\n 465861,\n 16,\n 465862,\n 18,\n 465863,\n 16,\n 465874,\n 18,\n 465878,\n 18,\n 465893,\n 16,\n 465895,\n 16,\n 465910,\n 14,\n 465911,\n 14,\n 465918,\n 14,\n 465919,\n 14,\n 466114,\n 18,\n 466118,\n 18,\n 466130,\n 18,\n 466134,\n 18,\n 467909,\n 16,\n 467911,\n 16,\n 467941,\n 16,\n 467943,\n 16,\n 468160,\n 13,\n 468161,\n 13,\n 468162,\n 13,\n 468163,\n 13,\n 468164,\n 13,\n 468165,\n 13,\n 468166,\n 13,\n 468167,\n 13,\n 580568,\n 17,\n 580570,\n 17,\n 580585,\n 15,\n 580589,\n 15,\n 580598,\n 14,\n 580599,\n 14,\n 580600,\n 17,\n 580601,\n 15,\n 580602,\n 17,\n 580605,\n 15,\n 580606,\n 14,\n 580607,\n 14,\n 580824,\n 17,\n 580826,\n 17,\n 580856,\n 17,\n 580858,\n 17,\n 582633,\n 15,\n 582637,\n 15,\n 582649,\n 15,\n 582653,\n 15,\n 582856,\n 12,\n 582857,\n 12,\n 582872,\n 12,\n 582873,\n 12,\n 582888,\n 12,\n 582889,\n 12,\n 582904,\n 12,\n 582905,\n 12,\n 596982,\n 14,\n 596983,\n 14,\n 596990,\n 14,\n 596991,\n 14,\n 597202,\n 11,\n 597206,\n 11,\n 597210,\n 11,\n 597214,\n 11,\n 597234,\n 11,\n 597238,\n 11,\n 597242,\n 11,\n 597246,\n 11,\n 599013,\n 10,\n 599015,\n 10,\n 599021,\n 10,\n 599023,\n 10,\n 599029,\n 10,\n 599031,\n 10,\n 599037,\n 10,\n 599039,\n 10,\n 599232,\n 13,\n 599233,\n 13,\n 599234,\n 13,\n 599235,\n 13,\n 599236,\n 13,\n 599237,\n 13,\n 599238,\n 13,\n 599239,\n 13,\n 599240,\n 12,\n 599241,\n 12,\n 599250,\n 11,\n 599254,\n 11,\n 599256,\n 12,\n 599257,\n 12,\n 599258,\n 11,\n 599262,\n 11,\n 599269,\n 10,\n 599271,\n 10,\n 599272,\n 12,\n 599273,\n 12,\n 599277,\n 10,\n 599279,\n 10,\n 599282,\n 11,\n 599285,\n 10,\n 599286,\n 11,\n 599287,\n 10,\n 599288,\n 12,\n 599289,\n 12,\n 599290,\n 11,\n 599293,\n 10,\n 599294,\n 11,\n 599295,\n 10\n ];\n this._p4D = [\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n 0,\n 1,\n 0,\n -1,\n 0,\n 0,\n 1,\n 0,\n 0,\n -1,\n 0,\n 0,\n -1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n 0,\n 1,\n 0,\n -1,\n 0,\n 0,\n -1,\n 0,\n 1,\n 0,\n 0,\n 0,\n -1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 1,\n -1,\n 0,\n 0,\n -1,\n 0,\n 0,\n 1,\n 0,\n 0,\n -1,\n 0,\n 1,\n 0,\n 0,\n 0,\n -1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 0,\n 0,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 0,\n 2,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 0,\n 2,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 0,\n 2,\n 1,\n 0,\n 0,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 0,\n 2,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 0,\n 2,\n 0,\n 0,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 1,\n 1,\n 4,\n 2,\n 1,\n 1,\n 0,\n 4,\n 1,\n 2,\n 1,\n 0,\n 4,\n 1,\n 1,\n 2,\n 0,\n 1,\n 4,\n 2,\n 1,\n 0,\n 1,\n 4,\n 1,\n 2,\n 0,\n 1,\n 4,\n 1,\n 1,\n 0,\n 2,\n 1,\n 4,\n 2,\n 0,\n 1,\n 1,\n 4,\n 1,\n 0,\n 2,\n 1,\n 4,\n 1,\n 0,\n 1,\n 2,\n 1,\n 4,\n 0,\n 2,\n 1,\n 1,\n 4,\n 0,\n 1,\n 2,\n 1,\n 4,\n 0,\n 1,\n 1,\n 2,\n 1,\n 2,\n 1,\n 1,\n 0,\n 0,\n 3,\n 2,\n 1,\n 0,\n 0,\n 3,\n 1,\n 2,\n 0,\n 0,\n 1,\n 2,\n 1,\n 0,\n 1,\n 0,\n 3,\n 2,\n 0,\n 1,\n 0,\n 3,\n 1,\n 0,\n 2,\n 0,\n 1,\n 2,\n 0,\n 1,\n 1,\n 0,\n 3,\n 0,\n 2,\n 1,\n 0,\n 3,\n 0,\n 1,\n 2,\n 0,\n 1,\n 2,\n 1,\n 0,\n 0,\n 1,\n 3,\n 2,\n 0,\n 0,\n 1,\n 3,\n 1,\n 0,\n 0,\n 2,\n 1,\n 2,\n 0,\n 1,\n 0,\n 1,\n 3,\n 0,\n 2,\n 0,\n 1,\n 3,\n 0,\n 1,\n 0,\n 2,\n 1,\n 2,\n 0,\n 0,\n 1,\n 1,\n 3,\n 0,\n 0,\n 2,\n 1,\n 3,\n 0,\n 0,\n 1,\n 2,\n 2,\n 3,\n 1,\n 1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 0,\n 1,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 3,\n 1,\n 0,\n 1,\n 1,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 0,\n 1,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 3,\n 0,\n 1,\n 1,\n 1,\n 2,\n -1,\n 1,\n 1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 1,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 3,\n 1,\n 0,\n 1,\n 1,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 3,\n 0,\n 1,\n 1,\n 1,\n 2,\n -1,\n 1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 3,\n 1,\n 1,\n 0,\n 1,\n 2,\n 1,\n 1,\n -1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 3,\n 1,\n 0,\n 1,\n 1,\n 2,\n 1,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 3,\n 0,\n 1,\n 1,\n 1,\n 2,\n -1,\n 1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 0,\n 1,\n 0,\n 1,\n 1,\n -1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 1,\n 0,\n 1,\n 1,\n 0,\n 1,\n -1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 0,\n 1,\n 1,\n 1,\n 0,\n -1,\n 1,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 3,\n 1,\n 1,\n 0,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 0,\n 1,\n 0,\n 0,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 0,\n 0,\n 1,\n 0,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 1,\n 1,\n 0,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n 0,\n 1,\n 0,\n 0,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 1,\n 1,\n 0,\n 0,\n 0,\n 2,\n 2,\n 0,\n 0,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 1,\n 0,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 1,\n 0,\n 0,\n 2,\n 0,\n 2,\n 0,\n 0,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 1,\n 0,\n 2,\n 0,\n 0,\n 2,\n 0,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 1,\n 0,\n 0,\n 0,\n 1,\n 2,\n 0,\n 0,\n 0,\n 2,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 1,\n 0,\n 0,\n 3,\n 1,\n 2,\n 0,\n 0,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 1,\n 0,\n 3,\n 1,\n 0,\n 2,\n 0,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 1,\n 0,\n 3,\n 0,\n 1,\n 2,\n 0,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 0,\n 1,\n 3,\n 1,\n 0,\n 0,\n 2,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 0,\n 1,\n 3,\n 0,\n 1,\n 0,\n 2,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 0,\n 2,\n 1,\n 3,\n 0,\n 0,\n 1,\n 2,\n 4,\n 1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 1,\n 0,\n 0,\n 3,\n 1,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 3,\n 2,\n 0,\n 1,\n 0,\n 3,\n 1,\n 0,\n 2,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 3,\n 0,\n 2,\n 1,\n 0,\n 3,\n 0,\n 1,\n 2,\n 0,\n 2,\n 1,\n 1,\n 1,\n -1,\n 3,\n 3,\n 2,\n 1,\n 0,\n 0,\n 3,\n 1,\n 2,\n 0,\n 0,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 0,\n 1,\n 3,\n 1,\n 0,\n 0,\n 2,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 0,\n 1,\n 3,\n 0,\n 1,\n 0,\n 2,\n 2,\n 1,\n 1,\n -1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 1,\n 0,\n 3,\n 1,\n 0,\n 2,\n 0,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 3,\n 2,\n 0,\n 0,\n 1,\n 3,\n 1,\n 0,\n 0,\n 2,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 0,\n 2,\n 1,\n 3,\n 0,\n 0,\n 1,\n 2,\n 2,\n 1,\n -1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 1,\n 0,\n 3,\n 0,\n 1,\n 2,\n 0,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 2,\n 0,\n 1,\n 3,\n 0,\n 1,\n 0,\n 2,\n 2,\n -1,\n 1,\n 1,\n 1,\n 3,\n 3,\n 0,\n 0,\n 2,\n 1,\n 3,\n 0,\n 0,\n 1,\n 2,\n 2,\n -1,\n 1,\n 1,\n 1\n ];\n }\n noise(x, y, z, w) {\n const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this, stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = zins - wins + 1 | yins - zins + 1 << 1 | yins - wins + 1 << 2 | xins - yins + 1 << 3 | xins - zins + 1 << 4 | xins - wins + 1 << 5 | inSum << 6 | inSum + wins << 8 | inSum + zins << 11 | inSum + yins << 14 | inSum + xins << 17;\n let value = 0;\n for(let c = _lookup[hash]; c !== undefined; c = c.next){\n const dx = dx0 + c.dx, dy = dy0 + c.dy, dz = dz0 + c.dz, dw = dw0 + c.dw, attn = 2 - dx * dx - dy * dy - dz * dz - dw * dw;\n if (attn > 0) {\n const px = xsb + c.xsb, py = ysb + c.ysb, pz = zsb + c.zsb, pw = wsb + c.wsb, indexPartA = _perm[px & 0xff], indexPartB = _perm[indexPartA + py & 0xff], indexPartC = _perm[indexPartB + pz & 0xff], index = _perm4D[indexPartC + pw & 0xff], valuePart = _gradients4D[index] * dx + _gradients4D[index + 1] * dy + _gradients4D[index + 2] * dz + _gradients4D[index + 3] * dw;\n value += attn * attn * attn * attn * valuePart;\n }\n }\n return value * _NORM_4D;\n }\n seed(clientSeed) {\n const { _p4D, _base4D, _lookupPairs4D } = this, contributions = [];\n for(let i = 0; i < _p4D.length; i += 16){\n const baseSet = _base4D[_p4D[i]];\n let previous = null, current = null;\n for(let k = 0; k < baseSet.length; k += 5){\n current = this._contribution4D(baseSet[k], baseSet[k + 1], baseSet[k + 2], baseSet[k + 3], baseSet[k + 4]);\n if (previous === null) {\n contributions[i / 16] = current;\n } else {\n previous.next = current;\n }\n previous = current;\n }\n if (current) {\n current.next = this._contribution4D(_p4D[i + 1], _p4D[i + 2], _p4D[i + 3], _p4D[i + 4], _p4D[i + 5]);\n current.next.next = this._contribution4D(_p4D[i + 6], _p4D[i + 7], _p4D[i + 8], _p4D[i + 9], _p4D[i + 10]);\n current.next.next.next = this._contribution4D(_p4D[i + 11], _p4D[i + 12], _p4D[i + 13], _p4D[i + 14], _p4D[i + 15]);\n }\n }\n this._lookup = [];\n for(let i = 0; i < _lookupPairs4D.length; i += 2){\n this._lookup[_lookupPairs4D[i]] = contributions[_lookupPairs4D[i + 1]];\n }\n this._perm = new Uint8Array(256);\n this._perm4D = new Uint8Array(256);\n const source = new Uint8Array(256);\n for(let i = 0; i < 256; i++){\n source[i] = i;\n }\n let seed = new Uint32Array(1);\n seed[0] = clientSeed;\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed)));\n for(let i = 255; i >= 0; i--){\n seed = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.shuffleSeed)(seed);\n const r = new Uint32Array(1);\n r[0] = (seed[0] + 31) % (i + 1);\n if (r[0] < 0) {\n r[0] += i + 1;\n }\n this._perm[i] = source[r[0]];\n this._perm4D[i] = this._perm[i] & 0xfc;\n source[r[0]] = source[i];\n }\n }\n _contribution4D(multiplier, xsb, ysb, zsb, wsb) {\n const { _SQUISH_4D } = this;\n return {\n dx: -xsb - multiplier * _SQUISH_4D,\n dy: -ysb - multiplier * _SQUISH_4D,\n dz: -zsb - multiplier * _SQUISH_4D,\n dw: -wsb - multiplier * _SQUISH_4D,\n xsb,\n ysb,\n zsb,\n wsb\n };\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/Classes/SimplexNoise4D.js?\n}");
58
-
59
- /***/ },
60
-
61
- /***/ "./dist/browser/SimplexNoise.js"
62
- /*!**************************************!*\
63
- !*** ./dist/browser/SimplexNoise.js ***!
64
- \**************************************/
65
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
66
-
67
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise: () => (/* binding */ SimplexNoise)\n/* harmony export */ });\n/* harmony import */ var _Classes_SimplexNoise2D_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Classes/SimplexNoise2D.js */ \"./dist/browser/Classes/SimplexNoise2D.js\");\n/* harmony import */ var _Classes_SimplexNoise3D_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Classes/SimplexNoise3D.js */ \"./dist/browser/Classes/SimplexNoise3D.js\");\n/* harmony import */ var _Classes_SimplexNoise4D_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Classes/SimplexNoise4D.js */ \"./dist/browser/Classes/SimplexNoise4D.js\");\n\n\n\nclass SimplexNoise {\n noise2d;\n noise3d;\n noise4d;\n constructor(){\n this.noise2d = new _Classes_SimplexNoise2D_js__WEBPACK_IMPORTED_MODULE_0__.SimplexNoise2D();\n this.noise3d = new _Classes_SimplexNoise3D_js__WEBPACK_IMPORTED_MODULE_1__.SimplexNoise3D();\n this.noise4d = new _Classes_SimplexNoise4D_js__WEBPACK_IMPORTED_MODULE_2__.SimplexNoise4D();\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/SimplexNoise.js?\n}");
68
-
69
- /***/ },
70
-
71
- /***/ "./dist/browser/index.js"
72
- /*!*******************************!*\
73
- !*** ./dist/browser/index.js ***!
74
- \*******************************/
75
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
76
-
77
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SimplexNoise: () => (/* reexport safe */ _SimplexNoise_js__WEBPACK_IMPORTED_MODULE_0__.SimplexNoise)\n/* harmony export */ });\n/* harmony import */ var _SimplexNoise_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SimplexNoise.js */ \"./dist/browser/SimplexNoise.js\");\n\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/index.js?\n}");
78
-
79
- /***/ },
80
-
81
- /***/ "./dist/browser/utils.js"
82
- /*!*******************************!*\
83
- !*** ./dist/browser/utils.js ***!
84
- \*******************************/
85
- (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
86
-
87
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ shuffleSeed: () => (/* binding */ shuffleSeed)\n/* harmony export */ });\nfunction shuffleSeed(seed) {\n const newSeed = new Uint32Array(1);\n newSeed[0] = seed[0] * 1664525 + 1013904223;\n return newSeed;\n}\n\n\n//# sourceURL=webpack://@tsparticles/simplex-noise/./dist/browser/utils.js?\n}");
88
-
89
- /***/ }
90
-
91
- /******/ });
92
- /************************************************************************/
93
- /******/ // The module cache
94
- /******/ var __webpack_module_cache__ = {};
95
- /******/
96
- /******/ // The require function
97
- /******/ function __webpack_require__(moduleId) {
98
- /******/ // Check if module is in cache
99
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
100
- /******/ if (cachedModule !== undefined) {
101
- /******/ return cachedModule.exports;
102
- /******/ }
103
- /******/ // Create a new module (and put it into the cache)
104
- /******/ var module = __webpack_module_cache__[moduleId] = {
105
- /******/ // no module.id needed
106
- /******/ // no module.loaded needed
107
- /******/ exports: {}
108
- /******/ };
109
- /******/
110
- /******/ // Execute the module function
111
- /******/ if (!(moduleId in __webpack_modules__)) {
112
- /******/ delete __webpack_module_cache__[moduleId];
113
- /******/ var e = new Error("Cannot find module '" + moduleId + "'");
114
- /******/ e.code = 'MODULE_NOT_FOUND';
115
- /******/ throw e;
116
- /******/ }
117
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
118
- /******/
119
- /******/ // Return the exports of the module
120
- /******/ return module.exports;
121
- /******/ }
122
- /******/
123
- /************************************************************************/
124
- /******/ /* webpack/runtime/define property getters */
125
- /******/ (() => {
126
- /******/ // define getter functions for harmony exports
127
- /******/ __webpack_require__.d = (exports, definition) => {
128
- /******/ for(var key in definition) {
129
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
130
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
131
- /******/ }
132
- /******/ }
133
- /******/ };
134
- /******/ })();
135
- /******/
136
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
137
- /******/ (() => {
138
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
139
- /******/ })();
140
- /******/
141
- /******/ /* webpack/runtime/make namespace object */
142
- /******/ (() => {
143
- /******/ // define __esModule on exports
144
- /******/ __webpack_require__.r = (exports) => {
145
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
146
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
147
- /******/ }
148
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
149
- /******/ };
150
- /******/ })();
151
- /******/
152
- /************************************************************************/
153
- /******/
154
- /******/ // startup
155
- /******/ // Load entry module and return exports
156
- /******/ // This entry module can't be inlined because the eval devtool is used.
157
- /******/ var __webpack_exports__ = __webpack_require__("./dist/browser/index.js");
158
- /******/
159
- /******/ return __webpack_exports__;
160
- /******/ })()
161
- ;
162
- });
3608
+ }));
3609
+ delete (globalThis.window || globalThis).tsparticlesInternalExports;