-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathplanar_proj_shadows.min.js
480 lines (480 loc) · 238 KB
/
planar_proj_shadows.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
(function e$$0(c,f,a){function b(g,m){if(!f[g]){if(!c[g]){var C="function"==typeof require&&require;if(!m&&C)return C(g,!0);if(e)return e(g,!0);C=Error("Cannot find module '"+g+"'");throw C.code="MODULE_NOT_FOUND",C;}C=f[g]={exports:{}};c[g][0].call(C.exports,function(a){var e=c[g][1][a];return b(e?e:a)},C,C.exports,e$$0,c,f,a)}return f[g].exports}for(var e="function"==typeof require&&require,g=0;g<a.length;g++)b(a[g]);return b})({1:[function(d,c,f){function a(a,e,g){return Math.sqrt(Math.pow(a,2)+
Math.pow(e,2)+Math.pow(g,2))}c.exports=function(b,e){for(var g=e.length,h=b.length,m=Array(g),C=0;C<g;++C)m[C]=[0,0,0];for(C=0;C<h;++C){var w=b[C],l=e[w[0]],c=e[w[1]],d=e[w[2]],p=l[0]-c[0],n=l[1]-c[1],f=l[2]-c[2],u=a(p,n,f),r=c[0]-d[0],A=c[1]-d[1],B=c[2]-d[2],y=a(r,A,B),v=a(d[0]-l[0],d[1]-l[1],d[2]-l[2]);1E-6>Math.min(u,y,v)||(d=.5*(u+y+v),c=Math.sqrt((d-u)*(d-y)*(d-v)/d),l=n*B-f*A,f=f*r-p*B,p=p*A-n*r,n=a(l,f,p),l/=n,f/=n,p/=n,n=m[w[0]],y=Math.atan2(c,d-y),r=f,A=p,n[0]+=y*l,n[1]+=y*r,n[2]+=y*A,y=
m[w[1]],v=Math.atan2(c,d-v),n=f,r=p,y[0]+=v*l,y[1]+=v*n,y[2]+=v*r,w=m[w[2]],u=Math.atan2(c,d-u),d=f,c=p,w[0]+=u*l,w[1]+=u*d,w[2]+=u*c)}for(C=0;C<g;++C)h=m[C],u=Math.sqrt(Math.pow(h[0],2)+Math.pow(h[1],2)+Math.pow(h[2],2)),1E-8>u?(h[0]=1,h[1]=0,h[2]=0):(h[0]/=u,h[1]/=u,h[2]/=u);return m}},{}],2:[function(d,c,f){f.positions=[[1.301895,.122622,2.550061],[1.045326,.139058,2.835156],[.569251,.155925,2.805125],[.251886,.144145,2.82928],[.063033,.131726,3.01408],[-.277753,.135892,3.10716],[-.441048,.277064,
2.594331],[-1.010956,.095285,2.668983],[-1.317639,.069897,2.325448],[-.751691,.264681,2.381496],[.684137,.31134,2.364574],[1.347931,.302882,2.201434],[-1.736903,.029894,1.724111],[-1.319986,.11998,.912925],[1.538077,.157372,.481711],[1.951975,.081742,1.1641],[1.834768,.095832,1.602682],[2.446122,.091817,1.37558],[2.617615,.078644,.742801],[-1.609748,.04973,-.238721],[-1.281973,.230984,-.180916],[-1.074501,.248204,.034007],[-1.201734,.058499,.402234],[-1.444454,.054783,.149579],[-4.694605,5.075882,
1.043427],[-3.95963,7.767394,.758447],[-4.753339,5.339817,.665061],[-1.150325,9.133327,-.368552],[-4.316107,2.893611,.44399],[-.809202,9.312575,-.466061],[.085626,5.963693,1.685666],[-1.314853,9.00142,-.1339],[-4.364182,3.072556,1.436712],[-2.022074,7.323396,.678657],[1.990887,6.13023,.479643],[-3.295525,7.878917,1.409353],[.571308,6.197569,.670657],[.89661,6.20018,.337056],[.331851,6.162372,1.186371],[-4.840066,5.599874,2.296069],[2.138989,6.031291,.228335],[.678923,6.026173,1.894052],[-.781682,
5.601573,1.836738],[1.181315,6.239007,.393293],[-3.606308,7.376476,2.661452],[-.579059,4.042511,-1.540883],[-3.064069,8.630253,-2.597539],[-2.157271,6.837012,.300191],[-2.966013,7.821581,-1.13697],[-2.34426,8.122965,.409043],[-.951684,5.874251,1.415119],[-2.834853,7.748319,.182406],[-3.242493,7.820096,.373674],[-.208532,5.992846,1.252084],[-3.048085,8.431527,-2.129795],[1.413245,5.806324,2.243906],[-.051222,6.064901,.696093],[-4.204306,2.700062,.713875],[-4.610997,6.343405,.344272],[-3.291336,9.30531,
-3.340445],[-3.27211,7.559239,-2.324016],[-4.23882,6.498344,3.18452],[-3.945317,6.377804,3.38625],[-4.906378,5.472265,1.315193],[-3.580131,7.846717,.709666],[-1.995504,6.645459,.688487],[-2.595651,7.86054,.793351],[-.008849,.305871,.184484],[-.029011,.314116,-.257312],[-2.522424,7.565392,1.804212],[-1.022993,8.650826,-.855609],[-3.831265,6.595426,3.266783],[-4.042525,6.855724,3.060663],[-4.17126,7.404742,2.391387],[3.904526,3.767693,.092179],[.268076,6.086802,1.469223],[-3.320456,8.753222,-2.08969],
[1.203048,6.26925,.612407],[-4.406479,2.985974,.853691],[-3.226889,6.615215,-.404243],[.346326,1.60211,3.509858],[-3.955476,7.253323,2.722392],[-1.23204,.068935,1.68794],[.625436,6.196455,1.333156],[4.469132,2.165298,1.70525],[.950053,6.262899,.922441],[-2.980404,5.25474,-.663155],[-4.859043,6.28741,1.537081],[-3.077453,4.641475,-.892167],[-.44002,8.222503,-.771454],[-4.034112,7.639786,.389935],[-3.696045,6.242042,3.394679],[-1.221806,7.783617,.196451],[.71461,6.149895,1.656636],[-4.713539,6.163154,
.495369],[-1.509869,.913044,-.832413],[-1.547249,2.066753,-.852669],[-3.757734,5.793742,3.455794],[-.831911,.199296,1.718536],[-3.062763,7.52718,-1.550559],[.938688,6.103354,1.820958],[-4.037033,2.412311,.988026],[-4.130746,2.571806,1.101689],[-.693664,9.174283,-.952323],[-1.286742,1.079679,-.751219],[1.543185,1.408925,3.483132],[1.535973,2.047979,3.655029],[.93844,5.84101,2.195219],[-.684401,5.918492,1.20109],[1.28844,2.008676,3.710781],[-3.586722,7.435506,-1.454737],[-.129975,4.384192,2.930593],
[-1.030531,.281374,3.214273],[-3.058751,8.137238,-3.227714],[3.649524,4.592226,1.340021],[-3.354828,7.322425,-1.412086],[.936449,6.209237,1.512693],[-1.001832,3.590411,-1.545892],[-3.770486,4.593242,2.477056],[-.971925,.067797,.921384],[-4.639832,6.865407,2.311791],[-.441014,8.093595,-.595999],[-2.004852,6.37142,1.635383],[4.759591,1.92818,.328328],[3.748064,1.224074,2.140484],[-.703601,5.285476,2.251988],[.59532,6.21893,.981004],[.980799,6.257026,1.24223],[1.574697,6.204981,.381628],[1.149594,6.173608,
1.660763],[-3.501963,5.895989,3.456576],[1.071122,5.424198,2.588717],[-.774693,8.473335,-.276957],[3.849959,4.15542,.396742],[-.801715,4.973149,-1.068582],[-2.927676,.625112,2.326393],[2.669682,4.045542,2.971184],[-4.391324,4.74086,.343463],[1.520129,6.270031,.775471],[1.837586,6.084731,.109188],[1.271475,5.975024,2.032355],[-3.487968,4.513249,2.605871],[-1.32234,1.517264,-.691879],[-1.080301,1.648226,-.805526],[-3.365703,6.910166,-.454902],[1.36034,.432238,3.075004],[-3.305013,5.774685,3.39142],
[3.88432,.654141,.12574],[3.57254,.377934,.302501],[4.196136,.807999,.212229],[3.932997,.543123,.380579],[4.023704,3.286125,.537597],[1.864455,4.916544,2.691677],[-4.775427,6.499498,1.440153],[-3.464928,3.68234,2.766356],[3.648972,1.751262,2.157485],[1.179111,3.238846,3.774796],[-.171164,.299126,-.592669],[-4.502912,3.316656,.875188],[-.948454,9.214025,-.679508],[1.237665,6.288593,1.046],[1.523423,6.268963,1.139544],[1.436519,6.140608,1.739316],[3.723607,1.504355,2.136762],[2.009495,4.045514,3.22053],
[-1.921944,7.249905,.213973],[1.254068,1.205518,3.474709],[-.317087,5.996269,.525872],[-2.996914,3.934607,2.900178],[-3.316873,4.028154,2.785696],[-3.400267,4.280157,2.689268],[-3.134842,4.564875,2.697192],[1.480563,4.692567,2.834068],[.873682,1.315452,3.541585],[1.599355,.91622,3.246769],[-3.292102,7.125914,2.768515],[3.74296,4.511299,.616539],[4.698935,1.55336,.26921],[-3.274387,3.299421,2.823946],[-2.88809,3.410699,2.955248],[1.171407,1.76905,3.688472],[1.430276,3.92483,3.473666],[3.916941,2.553308,
.018941],[.701632,2.442372,3.778639],[1.562657,2.302778,3.660957],[4.476622,1.152407,.182131],[-.61136,5.761367,1.598838],[-3.102154,3.691687,2.903738],[1.816012,5.546167,2.380308],[3.853928,4.25066,.750017],[1.234681,3.581665,3.673723],[1.862271,1.361863,3.355209],[1.346844,4.146995,3.327877],[1.70672,4.080043,3.274307],[.897242,1.908983,3.6969],[-.587022,9.191132,-.565301],[-.217426,5.674606,2.019968],[.278925,6.120777,.485403],[1.463328,3.578742,-2.001464],[-3.072985,4.264581,2.789502],[3.62353,
4.673843,.383452],[-3.053491,8.752377,-2.908434],[-2.628687,4.505072,2.755601],[.891047,5.113781,2.748272],[-2.923732,3.06515,2.866368],[.848008,4.754252,2.896972],[-3.319184,8.811641,-2.327412],[.12864,8.814781,-1.334456],[1.549501,4.549331,-1.28243],[1.647161,3.738973,3.507719],[1.250888,.945599,3.348739],[3.809662,4.038822,.053142],[1.483166,.673327,3.09156],[.829726,3.635921,3.713103],[1.352914,5.226651,2.668113],[2.237352,4.37414,3.016386],[4.507929,.889447,.744249],[4.57304,1.010981,.496588],
[3.931422,1.720989,2.088175],[-.463177,5.989835,.834346],[-2.811236,3.745023,2.969587],[-2.805135,4.219721,2.841108],[-2.836842,4.802543,2.60826],[1.776716,2.084611,3.568638],[4.046881,1.463478,2.106273],[.316265,5.944313,1.892785],[-2.86347,2.776049,2.77242],[-2.673644,3.116508,2.907104],[-2.621149,4.018502,2.903409],[-2.573447,5.198013,2.477481],[1.104039,2.278985,3.722469],[-4.602743,4.306413,.902296],[-2.684878,1.510731,.535039],[.092036,8.473269,-.99413],[-1.280472,5.602393,1.928105],[-1.0279,
4.121582,-1.403103],[-2.461081,3.304477,2.957317],[-2.375929,3.659383,2.953233],[1.417579,2.715389,3.718767],[.819727,2.948823,3.810639],[1.329962,.761779,3.203724],[1.73952,5.295229,2.537725],[.952523,3.945016,3.548229],[-2.569498,.633669,2.84818],[-2.276676,.757013,2.780717],[-2.013147,7.354429,-.003202],[.93143,1.565913,3.600325],[1.249014,1.550556,3.585842],[2.287252,4.072353,3.124544],[-4.7349,7.006244,1.690653],[-3.500602,8.80386,-2.009196],[-.582629,5.549138,2.000923],[-1.865297,6.356066,1.313593],
[-3.212154,2.376143,-.565593],[2.092889,3.493536,-1.727931],[-2.528501,2.784531,2.833758],[-2.565697,4.893154,2.559605],[-2.153366,5.04584,2.465215],[1.631311,2.568241,3.681445],[2.150193,4.699227,2.807505],[.507599,5.01813,2.775892],[4.129862,1.863698,2.015101],[3.578279,4.50766,-.009598],[3.491023,4.806749,1.549265],[.619485,1.625336,3.605125],[1.107499,2.932557,3.790061],[-2.082292,6.99321,.742601],[4.839909,1.379279,.945274],[3.591328,4.322645,-.259497],[1.055245,.710686,3.16553],[-3.026494,7.842227,
1.624553],[.146569,6.119214,.981673],[-2.043687,2.614509,2.785526],[-2.302242,3.047775,2.936355],[-2.245686,4.100424,2.87794],[2.116148,5.063507,2.572204],[-1.448406,7.64559,.251692],[2.550717,4.9268,2.517526],[-2.955456,7.80293,-1.782407],[1.882995,4.637167,2.895436],[-2.014924,3.398262,2.954896],[-2.273654,4.771227,2.611418],[-2.162723,7.876761,.702473],[-.198659,5.823062,1.739272],[-1.280908,2.133189,-.921241],[2.039932,4.251568,3.136579],[1.477815,4.354333,3.108325],[.560504,3.744128,3.6913],
[-2.234018,1.054373,2.352782],[-3.189156,7.686661,-2.514955],[-3.744736,7.69963,2.116973],[-2.283366,2.878365,2.87882],[-2.153786,4.457481,2.743529],[4.933978,1.677287,.713773],[3.502146,.535336,1.752511],[1.825169,4.419253,3.081198],[3.072331,.280979,.106534],[-.508381,1.220392,2.878049],[-3.138824,8.445394,-1.659711],[-2.056425,2.954815,2.897241],[-2.035343,5.398477,2.215842],[-3.239915,7.126798,-.712547],[-1.867923,7.989805,.526518],[1.23405,6.248973,1.387189],[-.216492,8.320933,-.862495],[-2.079659,
3.755709,2.928563],[-1.78595,4.300374,2.805295],[-1.856589,5.10678,2.386572],[-1.714362,5.544778,2.004623],[1.722403,4.200291,-1.408161],[.195386,.086928,-1.318006],[1.393693,3.013404,3.710686],[-.415307,8.508471,-.996883],[-1.853777,.755635,2.757275],[-1.724057,3.64533,2.884251],[-1.884511,4.927802,2.530885],[-1.017174,7.783908,-.227078],[-1.7798,2.342513,2.741749],[-1.841329,3.943996,2.88436],[1.430388,5.468067,2.503467],[-2.030296,.940028,2.611088],[-1.677028,1.215666,2.607771],[-1.74092,2.832564,
2.827295],[4.144673,.631374,.503358],[4.238811,.653992,.762436],[-1.847016,2.082815,2.642674],[4.045764,3.194073,.852117],[-1.563989,8.112739,.303102],[-1.781627,1.794836,2.602338],[-1.493749,2.533799,2.797251],[-1.934496,4.690689,2.658999],[-1.499174,5.777946,1.747498],[-2.387409,.851291,1.500524],[-1.872211,8.269987,.392533],[-4.647726,6.765771,.833653],[-3.157482,.341958,-.20671],[-1.725766,3.24703,2.883579],[-1.458199,4.079031,2.836325],[-1.621548,4.515869,2.719266],[-1.607292,4.918914,2.505881],
[-1.494661,5.556239,1.991599],[-1.727269,7.423769,.012337],[-1.382497,1.161322,2.640222],[-1.52129,4.681714,2.615467],[-4.247127,2.792812,1.250843],[-1.576338,.742947,2.769799],[-1.499257,2.172763,2.743142],[-1.480392,3.103261,2.862262],[1.049137,2.625836,3.775384],[-1.368063,1.791587,2.695516],[-1.307839,2.344534,2.767575],[-1.336758,5.092221,2.355225],[-1.5617,5.301749,2.21625],[-1.483362,8.537704,.196752],[-1.517348,8.773614,.074053],[-1.474302,1.492731,2.641433],[2.48718,.644247,-.920226],[.818091,
.422682,3.171218],[-3.623398,6.930094,3.033045],[1.676333,3.531039,3.591591],[1.199939,5.683873,2.365623],[-1.223851,8.841201,.025414],[-1.286307,3.847643,2.918044],[-1.25857,4.810831,2.543605],[2.603662,5.572146,1.991854],[.138984,5.779724,2.077834],[-1.267039,3.175169,2.890889],[-1.293616,3.454612,2.911774],[-2.60112,1.277184,.07724],[2.552779,3.649877,3.163643],[-1.038983,1.248011,2.605933],[-1.288709,4.390967,2.761214],[-1.034218,5.485963,2.011467],[-1.185576,1.464842,2.624335],[-1.045682,2.54896,
2.761102],[4.259176,1.660627,2.018096],[-.961707,1.717183,2.598342],[-1.044603,3.147464,2.855335],[-.891998,4.685429,2.669696],[-1.027561,5.081672,2.377939],[4.386506,.832434,.510074],[-1.014225,9.064991,-.175352],[-1.218752,2.895443,2.823785],[-.972075,4.432669,2.788005],[-2.714986,.52425,1.509798],[-.699248,1.517219,2.645738],[-1.161581,2.078852,2.722795],[-.845249,3.286247,2.996471],[1.068329,4.443444,2.993863],[3.98132,3.715557,1.027775],[1.658097,3.982428,-1.651688],[-4.053701,2.449888,.734746],
[-.910935,2.214149,2.702393],[.087824,3.96165,3.439344],[-.779714,3.724134,2.993429],[-1.051093,3.810797,2.941957],[-.644941,4.3859,2.870863],[-2.98403,8.666895,-3.691888],[-.754304,2.508325,2.812999],[-4.635524,3.662891,.913005],[-.983299,4.125978,2.915378],[4.916497,1.905209,.621315],[4.874983,1.728429,.468521],[2.33127,5.181957,2.441697],[-.653711,2.253387,2.7949],[-3.623744,8.978795,-2.46192],[-4.555927,6.160279,.215755],[-4.940628,5.806712,1.18383],[3.308506,2.40326,-.910776],[.58835,5.251928,
-.992886],[2.152215,5.449733,2.331679],[-.712755,.766765,3.280375],[-.741771,1.9716,2.657235],[-4.828957,5.566946,2.635623],[-3.474788,8.696771,-1.776121],[1.770417,6.205561,1.331627],[-.620626,4.064721,2.968972],[-1.499187,2.307735,-.978901],[4.098793,2.330245,1.667951],[1.940444,6.167057,.935904],[-2.314436,1.104995,1.681277],[-2.733629,7.742793,1.7705],[-.452248,4.719868,2.740834],[-.649143,4.951713,2.541296],[-.479417,9.43959,-.676324],[-2.251853,6.559275,.046819],[.033531,8.316907,-.789939],
[-.513125,.995673,3.125462],[-2.637602,1.039747,.602434],[1.527513,6.230089,1.430903],[4.036124,2.609846,1.506498],[-3.559828,7.877892,1.228076],[-4.570736,4.960193,.838201],[-.432121,5.157731,2.467518],[-1.206735,4.562511,-1.237054],[-.823768,3.788746,-1.567481],[-3.095544,7.353613,-1.024577],[-4.056088,7.631119,2.062001],[-.289385,5.382261,2.329421],[1.69752,6.136483,1.667037],[-.168758,5.061138,2.617453],[2.853576,1.605528,-1.229958],[-4.514319,6.586675,.352756],[-2.558081,7.741151,1.29295],[1.61116,
5.92358,2.071534],[3.936921,3.354857,.091755],[-.1633,1.119272,3.147975],[.067551,1.593475,3.38212],[-1.303239,2.328184,-1.011672],[-.438093,.73423,3.398384],[-4.62767,3.898187,.849573],[.286853,4.165281,3.284834],[-2.968052,8.492812,-3.493693],[-.111896,3.696111,3.53791],[-3.808245,8.451731,-1.574742],[.053416,5.558764,2.31107],[3.956269,3.012071,.11121],[-.710956,8.106561,-.665154],[.234725,2.717326,3.722379],[-.031594,2.76411,3.657347],[-.017371,4.700633,2.81911],[.215064,5.034859,2.721426],[-.111151,
8.480333,-.649399],[3.97942,3.575478,.362219],[.392962,4.735392,2.874321],[4.17015,2.085087,1.865999],[.169054,1.244786,3.337709],[.020049,3.165818,3.721736],[.248212,3.595518,3.698376],[.130706,5.295541,2.540034],[-4.541357,4.798332,1.026866],[-1.277485,1.289518,-.667272],[3.892133,3.54263,-.078056],[4.057379,3.03669,.997913],[.287719,.884758,3.251787],[.535771,1.144701,3.400096],[.585303,1.399362,3.505353],[.191551,2.076246,3.549355],[.328656,2.394576,3.649623],[.413124,3.240728,3.771515],[.630361,
4.501549,2.963623],[.529441,5.854392,2.120225],[3.805796,3.769958,-.162079],[3.447279,4.344846,-.467276],[.377618,5.551116,2.426017],[.409355,1.821269,3.606333],[.719959,2.194726,3.703851],[.495922,3.501519,3.755661],[.603408,5.354097,2.603088],[-4.605056,7.531978,1.19579],[.907972,.973128,3.356513],[.750134,3.356137,3.765847],[.4496,3.993244,3.504544],[-3.030738,7.48947,-1.259169],[.707505,5.602005,2.43476],[.668944,.654891,3.213797],[.593244,2.700978,3.791427],[1.467759,3.30327,3.71035],[3.316249,
2.436388,2.581175],[3.26138,1.724425,2.539028],[-1.231292,7.968263,.281414],[-.108773,8.712307,-.790607],[4.445684,1.819442,1.896988],[1.998959,2.281499,3.49447],[2.162269,2.113817,3.365449],[4.363397,1.406731,1.922714],[4.808,2.225842,.611127],[2.735919,.771812,-.701142],[1.897735,2.878428,3.583482],[-3.31616,5.331985,3.212394],[-3.3314,6.018137,3.313018],[-3.503183,6.480103,3.222216],[-1.904453,5.750392,1.913324],[-1.339735,3.559592,-1.421817],[-1.044242,8.22539,.037414],[1.643492,3.110676,3.647424],
[3.992832,3.686244,.710946],[1.774207,1.71842,3.475768],[-3.438842,5.5713,3.427818],[4.602447,1.2583,1.619528],[-.925516,7.930042,.072336],[-1.252093,3.846565,-1.420761],[-3.426857,5.072419,2.97806],[-3.160408,6.152629,3.061869],[3.739931,3.367082,2.041273],[1.027419,4.235891,3.251253],[4.777703,1.887452,1.560409],[-3.318528,6.733796,2.982968],[2.929265,4.962579,2.271079],[3.449761,2.838629,2.474576],[-3.280159,5.029875,2.787514],[4.068939,2.993629,.741567],[.303312,8.70927,-1.121972],[.229852,8.981322,
-1.186075],[-.011045,9.148156,-1.047057],[-2.942683,5.579613,2.929297],[-3.145409,5.698727,3.205778],[-3.019089,6.30887,2.794323],[-3.217135,6.468191,2.970032],[-3.048298,6.993641,2.623378],[-3.07429,6.660982,2.702434],[3.612011,2.5574,2.25349],[2.54516,4.553967,2.75884],[-1.683759,7.400787,.250868],[-1.756066,7.463557,.448031],[-3.023761,5.149697,2.673539],[3.112376,2.677218,2.782378],[2.835327,4.581196,2.567146],[-2.973799,7.225458,2.506988],[-.591645,8.740662,-.505845],[3.782861,2.04337,2.03066],
[3.331604,3.36343,2.605047],[2.966866,1.205497,2.537432],[.002669,9.654748,-1.355559],[2.632801,.58497,2.540311],[-2.819398,5.087372,2.521098],[2.616193,5.332961,2.194288],[-3.193973,4.925634,2.607924],[-3.12618,5.27524,2.944544],[-.426003,8.516354,-.501528],[2.802717,1.387643,2.751649],[-3.120597,7.889111,-2.75431],[2.636648,1.71702,2.991302],[-2.853151,6.711792,2.430276],[-2.843836,6.962865,2.400842],[1.9696,3.199023,3.504514],[-2.461751,.386352,3.008994],[1.64127,.495758,3.02958],[-4.330472,5.409831,
.025287],[-2.912387,5.980416,2.844261],[-2.490069,.211078,2.985391],[3.581816,4.809118,.733728],[2.693199,2.647213,3.126709],[-.182964,8.184108,-.638459],[-2.226855,.444711,2.946552],[-.720175,8.115055,.017689],[2.645302,4.316212,2.850139],[-.232764,9.329503,-.918639],[4.852365,1.471901,.65275],[2.76229,2.014994,2.957755],[-2.808374,5.354301,2.644695],[-2.790967,6.406963,2.547985],[-1.342684,.418488,-1.669183],[2.690675,5.593587,-.041236],[4.660146,1.6318,1.713314],[2.775667,3.007229,3.111332],[-.396696,
8.963432,-.706202],[2.446707,2.740617,3.321433],[-4.803209,5.884634,2.603672],[-2.652003,1.6541,1.5078],[3.932327,3.972874,.831924],[2.135906,.955587,2.986608],[2.486131,2.053802,3.124115],[-.386706,8.115753,-.37565],[-2.720727,7.325044,2.224878],[-1.396946,7.638016,-.16486],[-.62083,7.989771,-.144413],[-2.653272,5.729684,2.667679],[3.038188,4.65835,2.364142],[2.381721,.739472,2.788992],[-2.345829,5.474929,2.380633],[-2.518983,6.080562,2.479383],[-2.615793,6.839622,2.186116],[-2.286566,.143752,2.766848],
[-4.771219,6.508766,1.070797],[3.717308,2.905019,2.097994],[2.50521,3.016743,3.295898],[2.208448,1.56029,3.216806],[3.346783,1.01254,2.119951],[2.653503,3.26122,3.175738],[-2.359636,5.827519,2.402297],[-1.952693,.558102,2.853307],[-.321562,9.414885,-1.187501],[3.138923,1.405072,2.520765],[1.493728,1.780051,3.621969],[3.01817,.907291,2.336909],[3.183548,1.185297,2.352175],[1.608619,5.006753,2.695131],[-4.723919,6.836107,1.095288],[-1.017586,8.865429,-.149328],[4.730762,1.214014,.64008],[-2.135182,
6.647907,1.495471],[-2.420382,6.546114,2.108209],[-2.458053,7.186346,1.896623],[3.437124,.275798,1.138203],[.095925,8.725832,-.926481],[2.417376,2.429869,3.287659],[2.279951,1.200317,3.049994],[2.674753,2.326926,3.044059],[-2.328123,6.849164,1.75751],[-3.418616,7.853407,.126248],[-3.151587,7.77543,-.110889],[2.349144,5.653242,2.05869],[-2.273236,6.085631,2.242888],[-4.560601,4.525342,1.261241],[2.866334,3.796067,2.934717],[-2.17493,6.505518,1.791367],[3.12059,3.283157,2.818869],[3.037703,3.562356,
2.866653],[.066233,9.488418,-1.248237],[2.749941,.975018,2.573371],[-2.155749,5.801033,2.204009],[-2.162778,6.261889,2.028596],[1.936874,.459142,2.956718],[3.176249,4.335541,2.440447],[4.356599,1.029423,1.700589],[3.873502,3.082678,1.80431],[2.895489,4.243034,2.735259],[-.095774,9.468195,-1.07451],[-1.124982,7.886808,-.480851],[3.032304,3.065454,2.897927],[3.692687,4.5961,.957858],[-3.013045,3.807235,-1.098381],[-.790012,8.92912,-.367572],[1.905793,.73179,2.996728],[3.530396,3.426233,2.356583],[2.12299,
.624933,2.929167],[-2.069196,6.039284,2.01251],[-3.565623,7.182525,2.850039],[2.959264,2.376337,2.829242],[2.949071,1.822483,2.793933],[4.036142,.763803,1.703744],[-1.993527,6.180318,1.804936],[-.030987,.766389,3.344766],[-.549683,8.225193,-.189341],[-.765469,8.272246,-.127174],[-2.947047,7.541648,-.414113],[-3.050327,9.10114,-3.435619],[3.488566,2.231807,2.399836],[3.352283,4.727851,1.946438],[4.741011,2.162773,1.499574],[-1.815093,6.072079,1.580722],[-3.720969,8.267927,-.984713],[1.932826,3.714052,
3.427488],[3.323617,4.438961,2.20732],[.254111,9.26364,-1.373244],[-1.493384,7.868585,-.450051],[-.841901,.776135,-1.619467],[.243537,6.027668,.091687],[.303057,.313022,-.531105],[-.435273,.474098,3.481552],[2.121507,2.622389,3.486293],[1.96194,1.101753,3.159584],[3.937991,3.407551,1.551392],[.070906,.295753,1.377185],[-1.93588,7.631764,.651674],[-2.523531,.744818,-.30985],[2.891496,3.319875,2.983079],[4.781765,1.547061,1.523129],[-2.256064,7.571251,.973716],[3.244861,3.058249,2.724392],[-.145855,
.437775,3.433662],[1.586296,5.658538,2.358487],[3.658336,3.774921,2.071837],[2.840463,4.817098,2.46376],[-1.219464,8.122542,-.672808],[-2.520906,2.664486,-1.034346],[-1.315417,8.471365,-.709557],[3.429165,3.74686,2.446169],[3.074579,3.840758,2.767409],[3.569443,3.166337,2.333647],[2.294337,3.280051,3.359346],[2.21816,3.66578,3.269222],[2.158662,4.151444,-1.357919],[1.13862,4.380986,-1.404565],[3.388382,2.749931,-.840949],[3.059892,5.084848,2.026066],[3.204739,2.075145,2.640706],[3.387065,1.42617,
2.305275],[3.910398,2.670742,1.750179],[3.471512,1.945821,2.395881],[4.08082,1.070654,1.960171],[-1.057861,.133036,2.146707],[-.151749,5.53551,-.624323],[3.233099,4.003778,2.571172],[2.611726,5.319199,-.499388],[2.682909,1.094499,-1.206247],[-1.22823,7.656887,.041409],[-2.293247,7.259189,.013844],[.081315,.202174,3.286381],[-1.002038,5.794454,-.187194],[3.448856,4.08091,2.258325],[.287883,9.006888,-1.550641],[-3.851019,4.059839,-.646922],[3.610966,4.205438,1.913129],[2.239042,2.950872,3.449959],[.216305,
.442843,3.328052],[1.87141,2.470745,3.574559],[3.811378,2.768718,-.228364],[2.511081,1.362724,2.969349],[-1.59813,7.866506,.440184],[-3.307975,2.851072,-.894978],[-.107011,8.90573,-.884399],[-3.855315,2.842597,-.434541],[2.517853,1.090768,2.799687],[3.791709,2.36685,2.002703],[4.06294,2.773922,.452723],[-2.973289,7.61703,-.623653],[-2.95509,8.924462,-3.446319],[2.861402,.562592,2.184397],[-1.109725,8.594206,-.076812],[-.725722,7.924485,-.381133],[-1.485587,1.329994,-.654405],[-4.342113,3.233735,1.752922],
[-2.968049,7.955519,-2.09405],[-3.130948,.446196,.85287],[-4.958475,5.757329,1.447055],[-3.086547,7.615193,-1.953168],[-3.751923,5.412821,3.373373],[-4.599645,7.480953,1.677134],[1.133992,.274871,.032249],[-2.956512,8.126905,-1.785461],[-.960645,4.73065,-1.191786],[-2.871064,.875559,.424881],[-4.932114,5.99614,1.483845],[-2.981761,8.124612,-1.387276],[.362298,8.978545,-1.368024],[-4.408375,3.046271,.602373],[2.865841,2.322263,-1.344625],[-4.7848,5.620895,.594432],[-2.88322,.338931,1.67231],[-4.688101,
6.772931,1.872318],[-4.903948,6.164698,1.27135],[2.85663,1.005647,-.906843],[2.691286,.209811,.050512],[-4.693636,6.477556,.665796],[-4.472331,6.861067,.477318],[.883065,.204907,3.073933],[-.995867,8.048729,-.653897],[-.794663,5.670397,-.390119],[3.313153,1.638006,-.722289],[-4.856459,5.394758,1.032591],[-3.005448,7.783023,-.819641],[3.11891,2.036974,-1.08689],[-2.364319,2.408419,2.63419],[-2.927132,8.75435,-3.537159],[-3.296222,7.964629,-3.134625],[-1.642041,4.13417,-1.301665],[2.030759,.176372,
-1.030923],[-4.559069,3.751053,.548453],[3.438385,4.59454,-.243215],[-2.561769,7.93935,.177696],[2.990593,1.335314,-.943177],[1.2808,.276396,-.49072],[-.318889,.290684,.211143],[3.54614,3.342635,-.767878],[-3.073372,7.780018,-2.357807],[-4.455388,4.387245,.361038],[-4.659393,6.276064,2.767014],[.636799,4.482223,-1.426284],[-2.987681,8.072969,-2.45245],[-2.610445,.763554,1.792054],[3.358241,2.006707,-.802973],[-.498347,.251594,.962885],[3.1322,.683312,2.038777],[-4.389801,7.493776,.690247],[.431467,
4.22119,-1.614215],[-4.376181,3.213141,.273255],[-4.872319,5.715645,.829714],[-4.826893,6.195334,.849912],[3.516562,2.23732,-.677597],[3.131656,1.698841,-.975761],[-4.754925,5.411666,1.989303],[-2.987299,7.320765,-.629479],[-3.757635,3.274862,-.744022],[3.487044,2.541999,-.699933],[-4.53274,4.649505,.77093],[-1.424192,.099423,2.633327],[3.090867,2.476975,-1.146957],[-2.713256,.815622,2.17311],[3.348121,3.254167,-.984896],[-3.031379,.16453,-.309937],[-.949757,4.518137,-1.309172],[-.889509,.095256,
1.288803],[3.539594,1.966105,-.553965],[-4.60612,7.127749,.811958],[-2.332953,1.444713,1.624548],[3.136293,2.95805,-1.138272],[3.540808,3.069058,-.735285],[3.678852,2.362375,-.452543],[-4.648898,7.37438,.954791],[-.646871,.19037,3.344746],[2.2825,.29343,-.826273],[-4.422291,7.183959,.557517],[-4.694668,5.246103,2.541768],[-4.583691,4.145486,.600207],[-2.934854,7.912513,-1.539269],[-3.067861,7.817472,-.546501],[3.825095,3.229512,-.237547],[2.532494,.323059,2.387105],[-2.514583,.692857,1.23597],[-4.736805,
7.214384,1.259421],[-2.98071,8.409903,-2.468199],[2.621468,1.385844,-1.406355],[3.811447,3.560855,1.847828],[3.432925,1.497205,-.489784],[3.746609,3.631538,-.39067],[3.594909,2.832257,-.576012],[-.404192,5.300188,-.856561],[-4.762996,6.483774,1.702648],[-4.756612,6.786223,1.43682],[-2.965309,8.437217,-2.785495],[2.863867,.74087,-.429684],[4.02503,2.968753,1.392419],[3.669036,1.833858,-.304971],[-2.888864,.720537,.778057],[-2.36982,.979443,1.054447],[-2.959259,8.222303,-2.659724],[-3.467825,7.545739,
-2.333445],[2.153426,.446256,-1.20523],[-3.229807,9.189699,-3.596609],[-3.72486,8.773707,-2.046671],[3.687218,3.297751,-.523746],[1.381025,.08815,-1.185668],[-2.796828,7.205622,-.208783],[3.647194,4.066232,-.291507],[-4.578376,3.885556,1.52546],[-2.840262,.63094,1.89499],[-2.429514,.922118,1.820781],[-4.675079,6.573925,2.423363],[2.806207,4.320188,-1.027372],[-1.289608,.097241,1.321661],[-3.010731,8.141334,-2.866148],[3.202291,1.235617,-.549025],[4.094792,2.477519,.304581],[2.948403,.966873,-.664857],
[-4.83297,5.920587,2.095461],[-2.169693,7.257277,.946184],[-1.335807,3.057597,-1.303166],[-1.037877,.64151,-1.685271],[2.627919,.089814,.439074],[3.815794,3.808102,1.730493],[-2.973455,8.433141,-3.08872],[-2.391558,7.331428,1.658264],[-4.333107,4.529978,1.850516],[-4.640293,3.767107,1.168841],[3.600716,4.46931,1.734024],[3.880803,1.730158,-.172736],[3.814183,4.262372,1.167042],[4.37325,.829542,1.413729],[2.490447,5.75111,.011492],[3.460003,4.962436,1.188971],[3.918419,3.814234,1.358271],[-.807595,
8.840504,-.953711],[3.752855,4.20577,1.57177],[-2.991085,8.816501,-3.244595],[-2.333196,7.128889,1.551985],[3.977718,3.570941,1.25937],[4.360071,.755579,1.079916],[4.637579,1.027973,1.032567],[-2.317,7.421066,1.329589],[-1.013404,8.293662,-.7823],[4.548023,1.020644,1.420462],[4.763258,1.266798,1.296203],[4.896,2.073084,1.255213],[4.015005,3.325226,1.093879],[4.94885,1.860936,.894463],[-2.189645,6.954634,1.270077],[4.887442,1.720992,1.288526],[-3.184068,7.871802,.956189],[-1.274318,.839887,-1.224389],
[-2.919521,7.84432,.541629],[-2.994586,7.766102,1.96867],[-3.417504,9.241714,-3.093201],[-3.174563,7.466456,2.473617],[-3.263067,9.069412,-3.003459],[-2.841592,.529833,2.693434],[-3.611069,9.158804,-2.829871],[-4.642828,5.927526,.320549],[-3.809308,9.051035,-2.692749],[-2.837582,7.487987,-.106206],[4.773025,2.330442,1.213899],[4.897435,2.209906,.966657],[-3.067637,8.164062,-1.12661],[-3.122129,8.08074,-.899194],[4.571019,2.358113,1.462054],[4.584884,2.454418,.709466],[-3.661093,7.146581,-.475948],
[4.735131,2.415859,.933939],[4.207556,2.540018,1.218293],[-3.607595,7.89161,-.121172],[-1.527952,.775564,-1.061903],[4.53874,2.503273,1.099583],[-3.938837,7.587988,.082449],[-4.853582,6.152409,1.787943],[-4.752214,6.247234,2.296873],[4.602935,2.363955,.488901],[-1.81638,6.365879,.868272],[.595467,4.744074,-1.32483],[1.87635,3.511986,-1.842924],[4.330947,2.534326,.720503],[4.108736,2.750805,.904552],[-1.890939,8.492628,-.290768],[-3.504309,6.173058,-.422804],[-1.611992,6.196732,.648736],[-3.899149,
7.826123,1.088845],[-3.078303,3.008813,-1.035784],[-2.798999,7.844899,1.340061],[-1.248839,5.959105,.041761],[.767779,4.337318,3.090817],[-3.831177,7.515605,2.432261],[-1.667528,6.156208,.365267],[-1.726078,6.237384,1.100059],[-3.972037,4.520832,-.370756],[-4.40449,7.636357,1.520425],[-1.34506,6.004054,1.293159],[-1.233556,6.049933,.500651],[-3.696869,7.79732,.37979],[-3.307798,8.949964,-2.698113],[-1.997295,6.615056,1.103691],[-3.219222,8.336394,-1.150614],[-3.452623,8.31866,-.9417],[-3.94641,2.990494,
2.212592],[-3.250025,8.030414,-.596097],[-2.02375,1.571333,2.397939],[-3.190358,7.665013,2.268183],[-2.811918,7.618526,2.145587],[-1.005265,5.892303,.072158],[-.93721,5.974148,.906669],[-4.646072,7.492193,1.45312],[-.252931,1.797654,3.140638],[-1.076064,5.738433,1.695953],[-3.980534,7.744391,1.735791],[-.721187,5.939396,.526032],[-.42818,5.919755,.229001],[-1.43429,6.11622,.93863],[-.985638,5.939683,.290636],[-4.433836,7.461372,1.966437],[-3.696398,7.844859,1.547325],[-3.390772,7.820186,1.812204],
[-2.916787,7.864019,.804341],[-3.715952,8.037269,-.591341],[-4.204634,7.72919,1.119866],[-4.592233,5.592883,.246264],[3.307299,5.061701,1.622917],[-3.515159,7.601467,2.368914],[-3.435742,8.533457,-1.37916],[-.269421,4.545635,-1.366445],[-2.542124,3.768736,-1.258512],[-3.034003,7.873773,1.256854],[-2.801399,7.856028,1.080137],[3.29354,5.220894,1.081767],[-2.35109,1.299486,1.01206],[-3.232213,7.768136,2.047563],[3.290415,5.217525,.68019],[-3.415109,7.731034,2.144326],[3.440357,4.962463,.373387],[3.147346,
5.352121,1.386923],[2.847252,5.469051,1.831981],[3.137682,5.410222,1.050188],[3.102694,5.310456,1.676434],[-3.044601,.39515,1.994084],[2.903647,5.561338,1.518598],[-3.810148,8.093598,-.889131],[4.234835,.803054,1.593271],[3.240165,5.228747,.325955],[3.037452,5.509825,.817137],[2.635031,5.795187,1.439724],[3.071607,5.318303,.080142],[2.909167,5.611751,1.155874],[3.044889,5.465928,.486566],[2.502256,5.770673,1.740054],[-.067497,.086416,-1.190239],[2.33326,5.906051,.138295],[.65096,4.205423,3.308767],
[-2.671137,7.936535,.432731],[2.14463,5.879214,1.866047],[-4.776469,5.890689,.561986],[2.72432,5.655145,.211951],[2.730488,5.751455,.695894],[2.572682,5.869295,1.152663],[1.906776,5.739123,2.196551],[2.344414,5.999961,.772922],[-3.377905,7.448708,-1.863251],[2.285149,5.968156,1.459258],[2.385989,5.928974,.3689],[2.192111,6.087516,.959901],[2.36372,6.001101,1.074346],[1.972022,6.079603,1.591175],[1.87615,5.976698,1.91554],[-3.824761,9.05372,-2.928615],[2.044704,6.129704,1.263111],[-2.583046,.849537,
2.497344],[-.078825,2.342205,3.520322],[-.704686,.537165,3.397194],[-.257449,3.235334,3.647545],[-.332064,1.448284,3.022583],[-2.200146,.898284,-.447212],[-2.497508,1.745446,1.829167],[.30702,4.416315,2.978956],[-3.205197,3.479307,-1.040582],[.110069,9.347725,-1.563686],[-.82754,.883886,3.065838],[-2.017103,1.244785,2.42512],[-.421091,2.309929,3.153898],[-.491604,3.796072,3.16245],[2.786955,3.501241,-1.340214],[-3.229055,4.380713,-.899241],[3.730768,.76845,1.90312],[-.561079,2.652382,3.152463],[-3.461471,
3.086496,2.662505],[-.661405,3.446009,3.179939],[-.915351,.636755,3.243708],[-2.992964,8.915628,-3.729833],[-.439627,3.502104,3.42665],[-1.154217,.883181,2.800835],[-1.736193,1.465474,2.595489],[-.423928,3.24435,3.548277],[-.511153,2.871046,3.379749],[-.675722,2.991756,3.143262],[-1.092602,.599103,3.090639],[-.89821,2.836952,2.840023],[-2.658412,.781376,.960575],[-2.271455,1.222857,1.330478],[-.877861,1.111222,2.72263],[-.306959,2.876987,3.556044],[-3.839274,7.84138,-.918404],[-.172094,4.083799,3.141708],
[-1.548332,.2529,2.864655],[-.217353,4.873911,-1.223104],[-3.384242,3.181056,-.95579],[-2.731704,.382421,2.895502],[-1.285037,.551267,2.947675],[.077224,4.246579,3.066738],[-.479979,1.77955,2.860011],[-.716375,1.224694,2.666751],[-.54622,3.138255,3.393457],[-2.33413,1.821222,2.124883],[-.50653,2.037147,2.897465],[2.451291,1.211389,-1.466589],[-3.160047,2.894081,2.724286],[-4.137258,5.433431,3.21201],[.462896,.320456,-.174837],[-.37458,2.609447,3.379253],[-3.095244,.256205,2.196446],[-4.197985,5.732991,
3.262924],[-.729747,.246036,.497036],[-2.356189,5.062,-.965619],[-1.609036,.25962,-1.487367],[-4.074381,6.074061,3.409459],[-3.619304,4.0022,2.65705],[-.543393,8.742896,-1.056622],[-4.30356,6.858934,2.879642],[-.716688,2.901831,-2.11202],[1.547362,.083189,1.138764],[-.250916,.275268,1.201344],[-3.778035,3.13624,2.466177],[-4.594316,5.771342,3.01694],[-3.717706,3.442887,2.603344],[-4.311163,5.224669,3.019373],[-.610389,2.095161,-1.923515],[-3.040086,6.196918,-.429149],[-3.802695,3.768247,2.545523],
[-.159541,2.043362,3.328549],[-3.744329,4.31785,2.491889],[-3.047939,.214155,1.873639],[-4.41685,6.113058,3.166774],[-1.165133,.460692,-1.742134],[-1.371289,4.249996,-1.317935],[-3.447883,.3521,.466205],[-4.495555,6.465548,2.944147],[-3.455335,.171653,.390816],[-3.964028,4.017196,2.376009],[-1.323595,1.763126,-.750772],[-3.971142,5.277524,-.19496],[-3.222052,.237723,.872229],[-4.403784,3.89107,1.872077],[-3.333311,.342997,.661016],[-4.495871,4.29606,1.63608],[-3.636081,2.760711,2.361949],[-4.487235,
3.559608,1.66737],[-4.719787,7.26888,1.658722],[-1.086143,9.035741,-.707144],[-2.339693,1.600485,-.404817],[-4.642011,7.123829,1.990987],[-1.498077,3.854035,-1.369787],[-4.188372,4.729363,2.02983],[-3.116344,5.882284,-.468884],[-4.305236,4.246417,1.976991],[-3.022509,.22819,1.065688],[-2.799916,.52022,1.128319],[-4.262823,3.534409,2.020383],[-4.221533,3.947676,2.11735],[-3.744353,4.391712,-.6193],[-1.272905,.156694,-1.741753],[-3.62491,2.669825,-.549664],[-4.180756,3.096179,1.987215],[-4.059276,4.305313,
2.232924],[-2.812753,.183226,1.370267],[-4.032437,3.512234,2.309985],[-.03787,.28188,.530391],[-4.711562,5.468653,2.822838],[-4.500636,6.953314,2.564445],[-4.479433,7.216991,2.270682],[3.990562,.50522,.716309],[-2.512229,6.863447,-.100658],[-2.968058,6.956639,-.37061],[2.550375,3.142683,-1.54068],[-2.320059,3.521605,-1.279397],[-4.556319,6.64662,2.745363],[-4.281091,7.108116,2.667598],[-2.050095,8.411689,.121353],[-2.44854,1.135487,.851875],[3.121815,.699943,-.277167],[-4.69877,6.00376,2.843035],
[-1.360599,8.824742,-.595597],[1.128437,.171611,.301691],[-4.360146,6.289423,.042233],[1.400795,4.088829,-1.620409],[-3.193462,8.460137,-3.559446],[-3.168771,8.878431,-3.635795],[-3.434275,9.304302,-3.460878],[-3.349993,8.808093,-3.38179],[-3.304823,8.323865,-3.325905],[-3.572607,9.308843,-3.207672],[-3.166393,8.201215,-3.43014],[-3.451638,9.05331,-3.351345],[-3.309591,8.549758,-3.375055],[-3.527992,8.793926,-3.100376],[-3.6287,8.981677,-3.076319],[-3.445505,8.001887,-2.8273],[-3.408011,8.221014,
-3.039237],[-3.65928,8.740382,-2.808856],[-3.878019,8.797295,-2.462866],[-3.515132,8.232341,-2.747739],[-3.460331,8.51524,-3.06818],[-3.403703,7.658628,-2.648789],[-3.507113,8.00159,-2.582275],[-3.607373,8.174737,-2.401723],[-3.749043,8.378084,-2.226959],[-3.648514,8.502213,-2.6138],[-2.534199,.904753,2.021148],[1.4083,5.744252,-.571402],[-3.852536,8.571009,-2.352358],[2.868255,5.373126,-.163705],[2.224363,4.669891,-1.061586],[-4.528281,4.885838,1.340274],[1.30817,4.609629,-1.28762],[-4.519698,3.422501,
1.354826],[-3.549955,7.783228,-2.332859],[1.12313,6.120856,.045115],[-3.620324,7.57716,-2.033423],[-.798833,2.624133,-1.992682],[-3.617587,7.783148,-2.051383],[-3.669293,8.103776,-2.10227],[-3.892417,8.667436,-2.167288],[-.537435,.285345,-.176267],[-.841522,3.299866,-1.887861],[-.761547,3.647082,-1.798953],[-3.661544,7.85708,-1.867924],[-3.886763,8.551783,-1.889171],[-.591244,1.549749,-1.714784],[-.775276,1.908218,-1.597609],[-.961458,2.573273,-1.695549],[-2.215672,1.335009,2.143031],[-4.622674,4.130242,
1.220683],[1.07344,.290099,1.584734],[-.976906,2.92171,-1.76667],[-1.13696,3.194401,-1.513455],[-3.743262,7.99949,-1.629286],[-2.876359,4.900986,-.879556],[.550835,3.905557,-2.031372],[.777647,4.992314,-1.215703],[1.445881,4.266201,-1.414663],[1.274222,5.510543,-.824495],[-.864685,2.318581,-1.702389],[-.627458,3.820722,-1.743153],[-3.867699,8.30866,-1.850066],[1.635287,5.45587,-.83844],[-1.037876,2.538589,-1.513504],[-4.38993,4.73926,1.699639],[.048709,4.765232,-1.279506],[-.626548,1.339887,-1.595114],
[-3.682827,7.643453,-1.723398],[-3.868783,8.180191,-1.511743],[-.76988,1.508373,-1.419599],[-1.138374,2.766765,-1.448163],[1.699883,5.780752,-.475361],[1.214305,.308517,1.866405],[-1.713642,.373461,-1.265204],[-1.582388,.58294,-1.267977],[-.879549,1.821581,-1.313787],[.519057,5.858757,-.381397],[-3.770989,2.449208,-.132655],[.087576,.156713,-1.53616],[-.942622,2.146534,-1.421494],[-1.026192,1.022164,-1.145423],[-.964079,1.645473,-1.067631],[-1.109128,2.458789,-1.29106],[-1.037478,.209489,-1.805424],
[-3.724391,7.599686,-1.273458],[-3.787898,7.951792,-1.304794],[3.821677,2.165581,-.181535],[-2.39467,.304606,-.570375],[-2.352928,1.0439,2.079369],[-.288899,9.640684,-1.006079],[-3.472118,7.263001,-1.080326],[-1.240769,.972352,-.976446],[-1.845253,.356801,-.995574],[-2.32279,7.915361,-.057477],[-1.08092,2.179315,-1.168821],[4.598833,2.156768,.280264],[-4.725417,6.442373,2.056809],[-.490347,9.46429,-.981092],[-1.99652,.09737,-.765828],[-1.137793,1.888846,-.894165],[-.37247,4.29661,-1.465199],[-.184631,
5.692946,-.421398],[-3.751694,7.742231,-1.086908],[-1.001416,1.298225,-.904674],[-3.536884,7.190777,-.788609],[-3.737597,7.511281,-.940052],[-1.766651,.669388,-.873054],[3.112245,3.474345,-1.129672],[-.175504,3.81298,-2.0479],[-3.766762,7.412514,-.681569],[-.63375,9.439424,-.785128],[-.518199,4.768982,-1.258625],[.790619,4.212759,-1.610218],[-3.761951,3.742528,-.756283],[.897483,5.679808,-.612423],[2.221126,4.427468,-1.252155],[-.728577,5.846457,.062702],[.194451,9.503908,-1.482461],[-.099243,9.385459,
-1.39564],[.643185,3.636855,-2.180247],[.894522,5.900601,-.356935],[2.595516,4.75731,-.893245],[1.108497,3.936893,-1.905098],[1.989894,5.789726,-.343268],[-3.802345,7.655508,-.613817],[2.339353,4.96257,-.90308],[.12564,4.013324,-1.879236],[-4.078965,3.683254,-.445439],[2.092899,5.256128,-.831607],[.427571,.291769,1.272964],[2.335549,3.480056,-1.581949],[-.15687,.324827,-1.648922],[-.536522,5.760786,-.203535],[1.507082,.078251,-.923109],[-1.854742,.134826,2.698774],[-3.939827,3.168498,-.526144],[-3.98461,
3.39869,-.533212],[-3.961738,4.217132,-.489147],[4.273789,2.181164,.153786],[-.470498,5.645664,-.439079],[-.414539,5.488017,-.673379],[-.097462,5.062739,-1.114863],[1.198092,5.882232,-.391699],[2.855834,5.085022,-.498678],[1.037998,4.129757,-1.701811],[1.728091,5.068444,-1.063761],[-3.832258,2.625141,-.311384],[-4.078526,3.070256,-.284362],[-4.080365,3.954243,-.440471],[-.152578,5.276267,-.929815],[-1.489635,8.928082,-.295891],[.759294,5.15585,-1.087374],[-4.000338,2.801647,-.235135],[-4.290801,3.823209,
-.19374],[-4.221493,4.25618,-.189894],[-4.066195,4.71916,-.201724],[-.155386,4.076396,-1.662865],[3.054571,4.414305,-.825985],[-1.652919,8.726499,-.388504],[-3.042753,.560068,-.126425],[-2.434456,1.118088,-.213563],[-2.623502,1.845062,-.283697],[-4.233371,3.43941,-.202918],[2.726702,3.82071,-1.280097],[.184199,4.14639,-1.673653],[-1.289203,.624562,-1.560929],[-3.823676,7.382458,-.407223],[.476667,5.064419,-1.143742],[-3.873651,4.955112,-.269389],[1.349666,5.312227,-1.000274],[-2.043776,8.434488,-.108891],
[-2.763964,.733395,-.129294],[-4.380505,3.664409,-.024546],[-.71211,5.341811,-.803281],[-3.960858,7.183112,-.118407],[-3.822277,7.712853,-.263221],[-2.346808,8.108588,.063244],[-1.841731,8.642999,-.142496],[-2.600055,.985604,-.043595],[-3.513057,2.213243,-.044151],[-3.963492,2.603055,-.080898],[-4.258066,3.14537,-.027046],[-4.261572,5.00334,.13004],[.795464,3.99873,-1.905688],[-3.300873,.384761,.013271],[-2.770244,.881942,.077313],[-3.456227,1.993871,.301054],[-4.441987,3.914144,.177867],[-4.367075,
6.611414,.165312],[-3.201767,.576292,.105769],[-3.174354,.645009,.440373],[-2.996576,.74262,.161325],[-2.724979,1.656497,.092983],[-3.261757,2.017742,-.070763],[-4.280173,4.518235,-.002999],[-4.471073,5.945358,.05202],[-3.877137,2.40743,.274928],[-4.371219,4.252758,.078039],[-3.400914,.40983,.238599],[-4.44293,3.523242,.146339],[-4.574528,5.279761,.353923],[-4.226643,7.191282,.269256],[-4.16361,2.843204,.097727],[-4.528506,5.011661,.536625],[.35514,5.664802,-.572814],[2.508711,5.580976,-.266636],
[2.556226,3.633779,-1.426362],[1.878456,4.533714,-1.223744],[2.460709,4.440241,-1.1395],[2.218589,5.514603,-.560066],[2.263712,5.737023,-.250694],[2.964981,3.814858,-1.139927],[.991384,5.304131,-.999867],[2.81187,4.547292,-.916025],[2.918089,4.768382,-.702808],[3.262403,4.414286,-.657935],[.652136,6.089113,.069089],[3.361389,3.5052,-.946123],[2.613042,5.037192,-.697153],[.094339,4.36858,-1.451238],[3.290862,4.155716,-.732318],[2.658063,4.073614,-1.217455],[3.260349,3.753257,-.946819],[1.124268,4.862463,
-1.207855],[3.35158,4.899247,-.027586],[3.194057,4.691257,-.524566],[3.090119,5.116085,-.23255],[2.418965,3.811753,-1.419399],[2.191789,3.877038,-1.47023],[4.043166,2.034188,.015477],[-1.026966,.86766,-1.410912],[1.937563,3.860005,-1.617465],[2.98904,4.101806,-.998132],[-.142611,5.865305,-.100872],[3.972673,2.292069,.089463],[3.23349,3.959925,-.849829],[.16304,5.857276,-.216704],[4.122964,1.770061,-.114906],[2.099057,4.978374,-.98449],[3.502411,3.76181,-.667502],[2.079484,5.939614,-.036205],[-.084568,
3.525193,-2.253506],[.423859,4.06095,-1.845327],[1.6013,6.006466,-.153429],[.271701,3.844964,-2.078748],[.273577,5.218904,-.994711],[-.410578,3.92165,-1.773635],[1.941954,5.60041,-.621569],[.100825,5.462131,-.774256],[-.53016,3.619892,-2.027451],[-.822371,5.517453,-.605747],[-2.474925,7.670892,-.020174],[4.01571,.830194,-.013793],[-.400092,5.094112,-1.041992],[-2.887284,5.581246,-.525324],[-1.559841,6.050972,.079301],[-.469317,3.291673,-2.235211],[.337397,3.467926,-2.295458],[-2.632074,5.573701,-.582717],
[-.030318,6.011395,.276616],[-.934373,.388987,-1.780523],[-2.661263,5.844838,-.425966],[.549353,5.489646,-.807268],[-2.194355,6.197491,-.109322],[-2.289618,5.664813,-.581098],[1.583583,3.796366,-1.844498],[.855295,.215979,-1.425557],[-2.627569,5.300236,-.767174],[4.333347,2.384332,.399129],[-1.880401,5.583843,-.696561],[-2.172346,5.324859,-.846246],[-2.27058,5.906265,-.388373],[-1.960049,5.889346,-.397593],[.965756,3.67547,-2.105671],[-2.014066,6.431125,.287254],[-1.776173,5.287097,-.89091],[-2.025852,
5.089562,-.980218],[-1.886418,6.108358,-6.67E-4],[-1.600803,5.785347,-.491069],[-1.66188,4.968053,-1.042535],[-1.600621,5.962818,-.188044],[-1.588831,5.615418,-.665456],[4.46901,1.880138,.057248],[-1.978845,.927399,-.554856],[-1.408074,5.325266,-.83967],[1.923123,4.843955,-1.101389],[-2.87378,.117106,-.412735],[-1.222193,5.62638,-.539981],[-2.632537,.166349,-.489218],[-1.370865,5.838832,-.341026],[-1.067742,5.448874,-.692701],[-1.073798,5.220878,-.908779],[-1.147562,4.950417,-1.079727],[-2.789115,
4.531047,-1.042713],[-3.550826,4.170487,-.806058],[-3.331694,4.798177,-.69568],[-3.689404,4.688543,-.534317],[-3.511509,5.106246,-.483632],[1.796344,.076137,.080455],[-3.306354,5.473605,-.478764],[-2.692503,3.346604,-1.20959],[-3.963056,5.187462,3.113156],[-3.901231,6.391477,-.246984],[4.484234,1.518638,-.001617],[4.308829,1.657716,-.119275],[4.290045,1.339528,-.110626],[-3.514938,3.524974,-.909109],[-2.1943,2.12163,-.71966],[4.108206,1.091087,-.11416],[3.785312,1.392435,-.28588],[4.092886,1.480476,
-.210655],[-2.965937,6.469006,-.379085],[-3.708581,2.962974,-.63979],[-3.297971,2.218917,-.299872],[3.806949,.804703,-.11438],[3.747957,1.059258,-.273069],[-3.101827,4.111444,-1.006255],[-1.536445,4.658913,-1.195049],[-3.549826,2.450555,-.375694],[-3.676495,2.108366,.534323],[-3.674738,5.925075,-.400011],[-2.250115,2.848335,-1.121174],[-3.698062,5.667567,-.381396],[3.468966,.734643,-.190624],[-3.97972,5.670078,-.26874],[-3.002087,4.337837,-1.033421],[-3.356392,2.608308,-.713323],[-1.833016,3.359983,
-1.28775],[-1.989069,3.632416,-1.305607],[3.591254,.542371,.026146],[3.364927,1.082572,-.342613],[-3.393759,3.866801,-.937266],[-4.124865,5.549529,-.161729],[-4.423423,5.687223,1.03E-4],[-1.496881,2.601785,-1.114328],[-2.642297,6.496932,-.264175],[-3.684236,6.819423,-.320233],[-2.286996,3.167067,-1.246651],[-1.624896,8.44848,-.530014],[-3.666787,2.159266,.268149],[-2.402625,2.011243,-.56446],[-2.736166,2.259839,-.6943],[-2.168611,3.89078,-1.292206],[-2.065956,3.345708,-1.281346],[-2.778147,2.675605,
-.995706],[-3.507431,4.513272,-.71829],[-2.301184,4.293911,-1.238182],[3.205808,.211078,.394349],[-2.129936,4.870577,-1.080781],[-2.287977,2.496593,-.934069],[-2.701833,2.931814,-1.114509],[3.294795,.50631,-.081062],[-2.552829,7.468771,-.021541],[3.06721,.944066,-.43074],[-2.86086,1.973622,-.303132],[-3.598818,5.419613,-.401645],[-1.524381,.080156,-1.61662],[-1.907291,2.646274,-1.039438],[2.950783,.407562,-.105407],[-1.663048,1.655038,-.689787],[-1.728102,1.110064,-.635963],[-2.085823,7.686296,-.159745],
[2.883518,3.157009,-1.30858],[-2.724116,.417169,-.389719],[-1.788636,7.862672,-.346413],[-2.186418,1.249609,-.434583],[-3.092434,2.606657,-.860002],[-1.737314,3.874201,-1.330986],[2.564522,.422967,-.390903],[1.670782,3.538432,-1.924753],[-2.338131,4.02578,-1.286673],[-1.916516,4.054121,-1.301788],[2.87159,2.034949,-1.267139],[-1.931518,3.062883,-1.197227],[-.816602,.135682,3.104104],[.469392,.213916,-1.489608],[2.574055,1.950091,-1.514427],[2.733595,2.682546,-1.461213],[-1.915407,4.693647,-1.151721],
[-3.412883,5.867094,-.450528],[2.28822,.120432,-.04102],[2.244477,.14424,-.376933],[-1.676198,3.570698,-1.328031],[-1.821193,4.366982,-1.266271],[-1.552208,8.099221,-.53262],[-1.727419,2.39097,-.989456],[-2.468226,4.711663,-1.069766],[-2.451669,6.113319,-.273788],[2.635447,2.295842,-1.518361],[-2.020809,8.150253,-.246714],[2.292455,.805596,-1.3042],[2.641556,1.65665,-1.466962],[2.409062,2.842538,-1.635025],[2.456682,1.459484,-1.57543],[-1.691047,3.173582,-1.247082],[-1.865642,1.957608,-.768683],[-3.401579,
.20407,.100932],[2.301981,1.7102,-1.650461],[2.342929,2.611944,-1.690713],[-1.676111,2.923894,-1.17835],[-2.992039,3.547631,-1.118945],[-3.571677,6.504634,-.375455],[2.141764,1.460869,-1.702464],[-3.221958,5.146049,-.615632],[2.19238,2.949367,-1.747242],[2.320791,2.232971,-1.706842],[2.088678,2.585235,-1.813159],[-2.196404,.592218,-.569709],[-2.120811,1.836483,-.62338],[-1.949935,2.271249,-.874128],[2.235901,1.110183,-1.510719],[2.020157,3.241128,-1.803917],[2.054336,1.949394,-1.792332],[-3.094117,
4.996595,-.740238],[2.038063,.635949,-1.402041],[1.980644,1.684408,-1.76778],[1.587432,3.306542,-1.991131],[1.935322,.976267,-1.602208],[1.922621,1.235522,-1.698813],[1.712495,1.911874,-1.903234],[1.912802,2.259273,-1.888698],[1.884367,.355453,-1.312633],[1.676427,.76283,-1.539455],[1.78453,2.83662,-1.943035],[1.697312,.120281,-1.150324],[1.648318,2.484973,-1.999505],[-4.051804,5.958472,-.231731],[-1.964823,1.464607,-.58115],[1.55996,2.183486,-1.971378],[1.628125,1.045912,-1.707832],[1.701684,1.540428,
-1.827156],[1.567475,4.869481,-1.184665],[1.432492,.843779,-1.648083],[1.173837,2.978983,-2.156687],[1.235287,3.37975,-2.09515],[1.252589,1.525293,-1.949205],[1.159334,2.336379,-2.105361],[1.49061,2.695263,-2.083216],[-4.122486,6.782604,-.02545],[1.173388,.279193,-1.423418],[1.505684,.380815,-1.414395],[1.391423,1.343031,-1.843557],[1.263449,2.73225,-2.144961],[1.295858,.597122,-1.515628],[1.245851,3.729126,-1.993015],[-2.761439,6.23717,-.365856],[.978887,1.664888,-2.046633],[1.219542,.982729,-1.785486],
[1.315915,1.91748,-2.02788],[-3.052746,2.127222,-.369082],[.977656,1.36223,-1.944119],[.936122,3.39447,-2.203007],[-2.740036,4.184702,-1.122849],[.853581,2.864694,-2.260847],[.719569,.818762,-1.763618],[.839115,1.159359,-1.907943],[.932069,1.94559,-2.117962],[.579321,3.326747,-2.299369],[.86324,.597822,-1.565106],[.574567,1.158452,-1.943123],[.525138,2.137252,-2.213867],[.779941,2.342019,-2.206157],[.915255,2.618102,-2.209041],[.526426,3.02241,-2.321826],[.495431,2.521396,-2.295905],[.80799,3.156817,
-2.286432],[.273556,1.304936,-2.012509],[.664326,1.530024,-2.048722],[.219173,2.32907,-2.323212],[.405324,.695359,-1.704884],[.398827,.946649,-1.843899],[.345109,1.608829,-2.100174],[-2.356743,.062032,-.4947],[-3.001084,.27146,2.560034],[-2.064663,.303055,-.697324],[.221271,3.174023,-2.374399],[.195842,.437865,-1.621473],[-.385613,.297763,1.960096],[1.999609,.108928,-.79125],[.351698,9.227494,-1.57565],[.021477,2.191913,-2.309353],[.246381,2.836575,-2.356365],[1.543281,.237539,1.901906],[.031881,
9.147022,-1.454203],[-.001881,1.648503,-2.108044],[.333423,1.907088,-2.204533],[.044063,2.634032,-2.368412],[-.028148,3.053684,-2.390082],[.02413,3.34297,-2.36544],[-.272645,9.02879,-1.238685],[-.006348,.832044,-1.758222],[-.321105,1.458754,-1.886313],[-.153948,8.618809,-1.105353],[-.409303,1.137783,-1.720556],[-.410054,1.742789,-1.957989],[-.287905,2.380404,-2.294509],[-.261375,2.646629,-2.356322],[-.221986,3.215303,-2.345844],[-.31608,.687581,-1.71901],[-.537705,.855802,-1.648585],[-.142834,1.193053,
-1.87371],[-.24371,2.044435,-2.176958],[-.437999,2.959748,-2.299698],[-.78895,.176226,-1.729046],[-.608509,.546932,-1.734032],[-.693698,4.478782,-1.369372],[-.669153,8.469645,-.911149],[-.741857,1.082705,-1.458474],[-.554059,2.440325,-2.141785],[2.09261,.153182,2.57581],[1.792547,.111794,2.563777],[1.855787,.189541,2.835089],[1.492601,.232246,2.987681],[-.284918,.236687,3.429738],[2.604841,.11997,1.01506],[.331271,.168113,3.124031],[.280606,.308368,2.495937],[.544591,.325711,2.081274],[.193145,.19154,
-.977556],[3.810099,.42324,1.032202],[3.54622,.379245,1.392814],[.61402,.276328,.849356],[-1.198628,.144953,2.911457],[4.17199,.68037,1.391526],[.88279,.321339,2.059129],[1.93035,.109992,2.054154],[1.620331,.121986,2.37203],[2.374812,.10921,1.734876],[-.031227,.294412,2.593687],[4.075018,.561914,1.038065],[-.570366,.126583,2.975558],[.950052,.318463,1.804012],[1.130034,.117125,.98385],[2.123049,.08946,1.665911],[2.087572,.068621,.335013],[2.927337,.167117,.289611],[.528876,.313434,3.205969],[1.174911,
.162744,1.328262],[-4.88844,5.59535,1.661134],[-4.709607,5.165338,1.324082],[.871199,.277021,1.263831],[-3.910877,2.349318,1.272269],[1.56824,.118605,2.768112],[1.179176,.152617,-.858003],[1.634629,.247872,2.128625],[-4.627425,5.126935,1.617836],[3.845542,.54907,1.45601],[2.654006,.165508,1.637169],[-.678324,.26488,1.974741],[2.451139,.100377,.213768],[.633199,.286719,.403357],[-.533042,.2524,1.373267],[.99317,.171106,.624966],[-.100063,.306466,2.170225],[1.245943,.092351,.661031],[1.390414,.198996,
-.0864],[-4.457265,5.030531,2.138242],[2.89776,.146575,1.297468],[1.802703,.088824,-.490405],[1.055447,.309261,2.392437],[2.300436,.142429,2.104254],[2.33399,.187756,2.416935],[2.325183,.134349,.574063],[2.410924,.370971,2.637115],[1.132924,.290511,3.061],[1.764028,.070212,-.80535],[2.156994,.397657,2.844061],[.920711,.225527,-.882456],[-4.552135,5.24096,2.85514],[.210016,.309396,2.064296],[.612067,.136815,-1.086002],[3.150236,.426757,1.802703],[-.24824,.282258,1.470997],[.974269,.301311,-.640898],
[-4.401413,5.03966,2.535553],[.644319,.274006,-.817806],[.332922,.309077,.108474],[3.610001,.317447,.689353],[3.335681,.358195,.118477],[.623544,.318983,-.4193],[-.11012,.307747,1.831331],[-.407528,.291044,2.282935],[.069783,.285095,.950289],[.970135,.310392,-.283742],[.840564,.306898,.098854],[-.541827,.267753,1.683795],[-3.956082,4.55713,2.297164],[-4.161036,2.834481,1.64183],[-4.093952,4.977551,2.747747],[2.661819,.261867,1.926145],[-3.749926,2.161875,.895238],[-2.497776,1.3629,.791855],[.691482,
.304968,1.582939],[-4.013193,4.830963,2.4769],[-3.639585,2.091265,1.304415],[-3.9767,2.563053,1.6284],[-3.979915,2.788616,1.977977],[.388782,.312656,1.709168],[-3.40873,1.877324,.851652],[-3.671637,5.136974,3.170734],[-3.12964,1.852012,.157682],[-3.629687,4.852698,2.686837],[-3.196164,1.793459,.452804],[-3.746338,2.31357,1.648551],[2.992192,.125251,.575976],[-3.254051,.054431,.314152],[-3.474644,1.925288,1.134116],[-3.418372,2.022882,1.578901],[-2.920955,1.705403,.29842],[-3.57229,2.152022,1.607572],
[-3.251259,.09013,-.106174],[-3.299952,1.877781,1.348623],[-3.666819,2.441459,2.004838],[-2.912646,1.824748,-.045348],[-3.399511,2.479484,2.340393],[-3.009754,.015286,.075567],[-3.381443,2.316937,2.156923],[-3.352801,2.133341,1.857366],[-3.01788,1.687685,.645867],[-2.931857,1.678712,1.158472],[-3.301008,.08836,.591001],[1.358025,.19795,1.599144],[-2.999565,1.845016,1.618396],[-2.767957,.028397,-.196436],[-2.93962,2.078779,2.140593],[-3.346648,2.674056,2.518097],[3.324322,.20822,.628605],[3.091677,
.137202,.9345],[-2.881807,.009952,.318439],[-2.764946,1.786619,1.693439],[-2.905542,1.932343,1.900002],[-3.140854,2.271384,2.274946],[-2.88995,2.487856,2.574759],[-2.367194,-9.43E-4,-.15576],[-3.050738,.068703,.742988],[-2.759525,1.55679,.877782],[-3.151775,2.48054,2.482749],[-2.578618,-.002885,.165716],[-2.651618,1.877246,1.981189],[-2.933973,.133731,1.631023],[1.047628,.100284,-1.085248],[-1.585123,.062083,-1.394896],[-2.287917,-.002671,.214434],[-2.524899,.007481,.471788],[-2.815492,2.188198,2.343294],
[-2.095142,-.003149,-.094574],[-2.172686,-1.33E-4,.47963],[-2.732704,.074306,1.742079],[-2.49653,2.145668,2.42691],[-1.343683,.047721,-1.506391],[-2.581185,.048703,.975528],[-2.905101,.083158,2.010052],[-2.601514,2.007801,2.223089],[-2.339464,.02634,1.484304],[-2.907873,.10367,2.378149],[-1.368796,.062516,-1.049125],[-1.93244,.02443,-.427603],[-2.705081,.060513,2.303802],[3.372155,.206274,.892293],[-1.761827,.093202,-1.037404],[-1.700667,.0397,-.614221],[-1.872291,.011979,-.135753],[-1.929257,.074005,
.728999],[-2.520128,.049665,1.99054],[-2.699411,.10092,2.603116],[3.211701,.27302,1.423357],[-1.445362,.1371,-.626491],[2.921332,.259112,1.645525],[-.993242,.058686,-1.408916],[-.944986,.157541,-1.097665],[-2.154301,.032749,1.882001],[-2.108789,1.988557,2.442673],[-1.015659,.25497,-.416665],[-1.898411,.015872,.16715],[-1.585517,.027121,.453445],[-2.311105,.061264,2.327061],[-2.637042,.152224,2.832201],[-2.087515,2.292972,2.617585],[-.750611,.056697,-1.504516],[-.472029,.075654,-1.360203],[-.710798,
.139244,-1.183863],[-.97755,.26052,-.831167],[-.655814,.260843,-.880068],[-.897513,.275537,-.133042],[-2.049194,.084947,2.455422],[-.177837,.076362,-1.449009],[-.553393,.279083,-.59573],[-1.788636,.06163,2.231198],[-.34761,.255578,-.999614],[-1.398589,.036482,.65871],[-1.133918,.05617,.69473],[-1.43369,.058226,1.977865],[-2.505459,1.492266,1.19295]];f.cells=[[2,1661,3],[1676,7,6],[712,1694,9],[3,1674,1662],[11,1672,0],[1705,0,1],[5,6,1674],[4,5,1674],[7,8,712],[2,1662,10],[1,10,1705],[11,1690,1672],
[1705,11,0],[5,1676,6],[7,9,6],[7,712,9],[2,3,1662],[3,4,1674],[1,2,10],[12,82,1837],[1808,12,1799],[1808,1799,1796],[12,861,82],[861,1808,13],[1808,861,12],[1799,12,1816],[1680,14,1444],[15,17,16],[14,1678,1700],[16,17,1679],[15,1660,17],[14,1084,1678],[15,1708,18],[15,18,1660],[1680,1084,14],[1680,15,1084],[15,1680,1708],[793,813,119],[1076,793,119],[1076,1836,22],[23,19,20],[21,1076,22],[21,22,23],[23,20,21],[1076,119,1836],[806,634,470],[432,1349,806],[251,42,125],[809,1171,791],[953,631,827],
[634,1210,1176],[157,1832,1834],[56,219,53],[126,38,83],[37,85,43],[59,1151,1154],[83,75,41],[77,85,138],[201,948,46],[1362,36,37],[452,775,885],[1237,95,104],[966,963,1262],[85,77,43],[36,85,37],[1018,439,1019],[41,225,481],[85,83,127],[93,83,41],[935,972,962],[116,93,100],[98,82,813],[41,75,225],[298,751,54],[1021,415,1018],[77,138,128],[766,823,1347],[593,121,573],[905,885,667],[786,744,747],[100,41,107],[604,334,765],[779,450,825],[968,962,969],[225,365,481],[365,283,196],[161,160,303],[875,399,
158],[328,1817,954],[62,61,1079],[358,81,72],[74,211,133],[160,161,138],[91,62,1079],[167,56,1405],[56,167,219],[913,914,48],[344,57,102],[43,77,128],[1075,97,1079],[389,882,887],[219,108,53],[1242,859,120],[604,840,618],[754,87,762],[197,36,1362],[1439,88,1200],[1652,304,89],[81,44,940],[445,463,151],[717,520,92],[129,116,100],[1666,1811,624],[1079,97,91],[62,91,71],[688,898,526],[463,74,133],[278,826,99],[961,372,42],[799,94,1007],[100,93,41],[1314,943,1301],[184,230,109],[875,1195,231],[133,176,
189],[751,755,826],[101,102,57],[1198,513,117],[748,518,97],[1145,1484,1304],[358,658,81],[971,672,993],[445,151,456],[252,621,122],[36,271,126],[85,36,126],[116,83,93],[141,171,1747],[1081,883,103],[1398,1454,149],[457,121,593],[127,116,303],[697,70,891],[457,891,1652],[1058,1668,112],[518,130,97],[214,319,131],[185,1451,1449],[463,133,516],[1428,123,177],[113,862,561],[215,248,136],[186,42,251],[127,83,116],[160,85,127],[162,129,140],[154,169,1080],[169,170,1080],[210,174,166],[1529,1492,1524],
[450,875,231],[399,875,450],[171,141,170],[113,1155,452],[131,319,360],[44,175,904],[452,872,113],[746,754,407],[147,149,150],[309,390,1148],[53,186,283],[757,158,797],[303,129,162],[429,303,162],[154,168,169],[673,164,193],[38,271,75],[320,288,1022],[246,476,173],[175,548,904],[182,728,456],[199,170,169],[168,199,169],[199,171,170],[184,238,230],[246,247,180],[1496,1483,1467],[147,150,148],[828,472,445],[53,108,186],[56,53,271],[186,961,42],[1342,391,57],[1664,157,1834],[1070,204,178],[178,204,179],
[285,215,295],[692,55,360],[192,193,286],[359,673,209],[586,195,653],[121,89,573],[202,171,199],[238,515,311],[174,210,240],[174,105,166],[717,276,595],[1155,1149,452],[1405,56,197],[53,283,30],[75,53,30],[45,235,1651],[210,166,490],[181,193,192],[185,620,217],[26,798,759],[1070,226,204],[220,187,179],[220,168,187],[202,222,171],[359,209,181],[182,456,736],[964,167,1405],[76,250,414],[807,1280,1833],[70,883,1652],[227,179,204],[221,199,168],[221,202,199],[360,494,131],[214,241,319],[105,247,166],
[205,203,260],[388,480,939],[482,855,211],[8,807,1833],[226,255,204],[228,221,168],[166,173,490],[701,369,702],[211,855,262],[631,920,630],[1448,1147,1584],[255,227,204],[237,220,179],[228,168,220],[222,256,555],[215,259,279],[126,271,38],[108,50,186],[227,236,179],[236,237,179],[220,237,228],[228,202,221],[256,222,202],[555,256,229],[259,152,279],[27,1296,31],[186,50,961],[961,234,372],[1651,235,812],[1572,1147,1448],[255,226,1778],[255,236,227],[256,257,229],[106,184,109],[241,410,188],[177,578,
620],[209,673,181],[1136,1457,79],[1507,245,718],[255,273,236],[275,410,241],[206,851,250],[1459,253,1595],[1406,677,1650],[228,274,202],[202,281,256],[348,239,496],[205,172,203],[369,248,702],[261,550,218],[261,465,550],[574,243,566],[921,900,1220],[291,273,255],[348,238,265],[109,230,194],[149,380,323],[443,270,421],[272,291,255],[274,228,237],[274,292,202],[281,257,256],[276,543,341],[152,259,275],[1111,831,249],[632,556,364],[299,273,291],[299,236,273],[280,237,236],[202,292,281],[247,246,173],
[282,49,66],[1620,1233,1553],[299,280,236],[280,305,237],[237,305,274],[306,292,274],[330,257,281],[246,194,264],[166,247,173],[912,894,896],[611,320,244],[1154,1020,907],[969,962,290],[272,299,291],[305,318,274],[145,212,240],[164,248,285],[259,277,275],[193,164,295],[269,240,210],[1033,288,320],[46,948,206],[336,280,299],[330,281,292],[257,307,300],[369,136,248],[145,240,269],[502,84,465],[193,295,286],[164,285,295],[282,302,49],[161,303,429],[318,306,274],[306,330,292],[315,257,330],[315,307,257],
[307,352,300],[300,352,308],[275,277,403],[353,1141,333],[1420,425,47],[611,313,320],[85,126,83],[128,1180,43],[303,116,129],[280,314,305],[314,318,305],[190,181,242],[203,214,131],[820,795,815],[322,299,272],[322,336,299],[315,339,307],[172,152,617],[172,214,203],[321,1033,320],[1401,941,946],[85,160,138],[976,454,951],[747,60,786],[317,322,272],[339,352,307],[266,33,867],[163,224,218],[247,614,180],[648,639,553],[388,172,205],[611,345,313],[313,345,320],[160,127,303],[454,672,951],[317,329,322],
[314,280,336],[306,338,330],[330,339,315],[1236,115,436],[342,321,320],[1046,355,328],[328,346,325],[325,346,317],[367,314,336],[314,337,318],[337,306,318],[338,343,330],[342,320,345],[355,349,328],[346,329,317],[347,336,322],[314,362,337],[330,343,339],[340,308,352],[135,906,1022],[239,156,491],[194,230,486],[40,1015,1003],[321,355,1046],[329,382,322],[382,347,322],[347,367,336],[337,371,306],[306,371,338],[1681,296,1493],[286,172,388],[230,348,486],[348,183,486],[384,332,830],[328,349,346],[367,
362,314],[371,343,338],[339,351,352],[57,344,78],[342,355,321],[386,346,349],[386,350,346],[346,350,329],[347,366,367],[343,363,339],[323,380,324],[152,275,241],[345,1045,342],[350,374,329],[339,363,351],[234,340,352],[353,361,354],[40,34,1015],[373,355,342],[373,349,355],[374,382,329],[366,347,382],[371,363,343],[351,379,352],[379,372,352],[372,234,352],[156,190,491],[319,241,692],[354,361,31],[366,377,367],[363,379,351],[133,590,516],[197,56,271],[1045,370,342],[370,373,342],[374,350,386],[377,
366,382],[367,395,362],[400,337,362],[400,371,337],[378,363,371],[106,109,614],[181,673,193],[953,920,631],[376,349,373],[376,386,349],[378,379,363],[224,375,218],[279,152,172],[361,619,381],[1347,823,795],[760,857,384],[392,374,386],[394,395,367],[383,371,400],[383,378,371],[218,375,261],[197,271,36],[414,454,976],[385,376,373],[1051,382,374],[387,394,367],[377,387,367],[395,400,362],[279,172,295],[30,365,225],[450,231,825],[385,373,370],[398,374,392],[1051,377,382],[396,378,383],[348,496,183],[295,
172,286],[357,269,495],[1148,390,1411],[75,30,225],[206,76,54],[412,386,376],[412,392,386],[396,383,400],[651,114,878],[123,1241,506],[238,311,265],[381,653,29],[618,815,334],[427,1032,411],[298,414,976],[791,332,384],[129,100,140],[412,404,392],[392,404,398],[140,107,360],[395,394,400],[423,379,378],[385,412,376],[406,94,58],[419,415,1021],[422,423,378],[423,125,379],[258,508,238],[311,156,265],[213,287,491],[449,411,1024],[412,1068,404],[55,140,360],[76,414,54],[394,416,400],[400,416,396],[422,
378,396],[1258,796,789],[427,411,449],[427,297,1032],[1385,1366,483],[417,448,284],[1507,341,245],[162,140,444],[658,44,81],[433,125,423],[438,251,125],[429,162,439],[1342,57,1348],[765,766,442],[697,891,695],[1057,396,416],[440,423,422],[440,433,423],[433,438,125],[438,196,251],[74,482,211],[1136,79,144],[29,195,424],[242,1004,492],[57,757,28],[414,298,54],[238,348,230],[224,163,124],[295,215,279],[495,269,490],[449,446,427],[446,297,427],[1020,1163,909],[128,138,419],[66,980,443],[415,439,1018],
[111,396,1057],[111,422,396],[840,249,831],[593,664,596],[218,550,155],[109,194,180],[483,268,855],[161,415,419],[1737,232,428],[360,107,494],[1006,1011,410],[444,140,55],[919,843,430],[190,242,213],[275,403,410],[131,494,488],[449,663,446],[138,161,419],[128,419,34],[439,162,444],[460,440,422],[440,438,433],[472,74,445],[491,190,213],[238,508,515],[46,206,54],[972,944,962],[1241,1428,1284],[111,460,422],[470,432,806],[248,164,702],[1025,467,453],[553,1235,648],[263,114,881],[267,293,896],[469,438,
440],[455,196,438],[287,242,492],[239,265,156],[213,242,287],[1684,746,63],[663,474,446],[415,161,429],[140,100,107],[1055,459,467],[469,455,438],[259,542,277],[446,474,466],[446,466,447],[439,444,1019],[614,109,180],[190,359,181],[156,497,190],[726,474,663],[1023,458,459],[461,440,460],[269,210,490],[246,180,194],[590,133,189],[163,218,155],[467,468,453],[1063,1029,111],[111,1029,460],[1029,464,460],[461,469,440],[150,149,323],[828,445,456],[375,502,261],[474,475,466],[573,426,462],[478,1023,477],
[478,458,1023],[458,479,467],[459,458,467],[468,393,453],[464,461,460],[484,365,455],[1232,182,1380],[172,617,214],[547,694,277],[542,547,277],[184,258,238],[261,502,465],[467,479,468],[484,455,469],[1380,182,864],[475,476,466],[80,447,476],[466,476,447],[415,429,439],[479,487,468],[487,287,468],[492,393,468],[260,469,461],[481,365,484],[531,473,931],[692,360,319],[726,495,474],[468,287,492],[480,464,1029],[260,461,464],[494,481,484],[74,472,482],[174,240,212],[223,106,614],[486,477,485],[478,496,
458],[491,487,479],[123,402,177],[488,469,260],[488,484,469],[265,239,348],[248,215,285],[474,490,475],[477,486,478],[458,496,479],[239,491,479],[1584,1147,1334],[488,494,484],[401,123,506],[495,490,474],[490,173,475],[80,476,264],[491,287,487],[480,1029,1004],[480,205,464],[173,476,475],[485,194,486],[486,183,478],[478,183,496],[496,239,479],[848,1166,60],[268,262,855],[205,260,464],[260,203,488],[203,131,488],[246,264,476],[194,485,264],[1002,310,1664],[311,515,497],[515,359,497],[565,359,515],
[1250,1236,301],[736,456,151],[654,174,567],[577,534,648],[519,505,645],[725,565,508],[150,1723,148],[584,502,505],[584,526,502],[502,526,84],[607,191,682],[560,499,660],[607,517,191],[1038,711,124],[951,672,971],[716,507,356],[868,513,1198],[615,794,608],[682,191,174],[1313,928,1211],[617,241,214],[511,71,91],[408,800,792],[192,286,525],[80,485,447],[91,97,130],[1675,324,888],[207,756,532],[582,1097,1124],[311,497,156],[510,130,146],[523,511,510],[608,708,616],[546,690,650],[511,527,358],[536,146,
518],[465,418,550],[418,709,735],[520,514,500],[584,505,519],[536,518,509],[146,536,510],[538,527,511],[876,263,669],[646,524,605],[510,536,523],[527,175,358],[724,876,669],[721,724,674],[524,683,834],[558,509,522],[558,536,509],[523,538,511],[611,243,574],[528,706,556],[668,541,498],[523,537,538],[527,540,175],[532,756,533],[1013,60,747],[551,698,699],[92,520,500],[535,536,558],[536,569,523],[538,540,527],[539,548,175],[567,212,145],[401,896,293],[534,675,639],[1510,595,1507],[557,545,530],[569,
536,535],[537,540,538],[540,539,175],[569,537,523],[1135,718,47],[587,681,626],[580,535,558],[99,747,278],[701,565,725],[665,132,514],[665,514,575],[132,549,653],[176,651,189],[65,47,266],[597,569,535],[569,581,537],[537,581,540],[563,539,540],[539,564,548],[1509,1233,1434],[132,653,740],[550,710,155],[714,721,644],[410,1011,188],[732,534,586],[560,562,729],[555,557,222],[580,558,545],[597,535,580],[581,563,540],[5,821,1676],[576,215,136],[649,457,741],[564,539,563],[124,711,224],[550,668,710],[550,
541,668],[565,701,673],[560,613,499],[233,532,625],[545,555,580],[601,581,569],[594,904,548],[1463,1425,434],[185,149,1454],[721,674,644],[185,380,149],[577,424,586],[462,586,559],[597,601,569],[594,548,564],[566,603,574],[165,543,544],[457,89,121],[586,424,195],[725,587,606],[1078,582,1124],[588,925,866],[462,559,593],[189,878,590],[555,229,580],[602,563,581],[904,594,956],[434,1425,1438],[1024,112,821],[572,587,626],[600,597,580],[599,591,656],[600,580,229],[601,622,581],[581,622,602],[602,564,
563],[602,594,564],[603,611,574],[498,529,546],[697,1145,70],[592,628,626],[610,597,600],[597,610,601],[222,557,171],[604,765,799],[573,462,593],[133,200,176],[729,607,627],[1011,692,188],[518,146,130],[585,687,609],[682,627,607],[1712,599,656],[562,592,607],[643,656,654],[257,600,229],[601,633,622],[623,594,602],[174,212,567],[725,606,701],[609,701,606],[610,633,601],[633,642,622],[380,216,324],[142,143,1249],[501,732,586],[534,577,586],[648,1235,577],[610,641,633],[310,1002,1831],[618,334,604],
[1710,145,269],[707,498,659],[501,586,462],[625,501,462],[726,663,691],[300,600,257],[641,610,600],[622,629,602],[602,629,623],[55,692,444],[518,748,509],[929,1515,1411],[620,578,267],[71,511,358],[707,668,498],[650,687,585],[600,300,641],[641,657,633],[1675,888,1669],[622,636,629],[505,502,375],[541,529,498],[332,420,1053],[637,551,638],[534,639,648],[69,623,873],[300,512,641],[633,657,642],[562,660,579],[687,637,638],[709,646,605],[775,738,885],[559,549,132],[646,683,524],[641,512,657],[266,897,
949],[1712,643,1657],[184,727,258],[674,724,669],[699,714,647],[628,659,572],[657,662,642],[571,881,651],[517,607,504],[598,706,528],[598,694,547],[640,552,560],[655,693,698],[698,693,721],[91,510,511],[144,301,1136],[324,216,888],[870,764,1681],[575,514,520],[276,544,543],[658,175,44],[645,505,711],[659,546,572],[700,524,655],[605,700,529],[266,867,897],[1695,1526,764],[579,659,628],[654,591,682],[586,549,559],[698,721,714],[896,401,506],[640,734,599],[664,665,575],[621,629,636],[1712,656,643],[547,
644,598],[710,668,707],[640,560,734],[655,698,551],[694,528,277],[512,662,657],[504,592,626],[688,584,519],[152,241,617],[587,725,681],[598,669,706],[526,670,84],[598,528,694],[710,707,499],[579,592,562],[660,659,579],[323,324,1134],[326,895,473],[195,29,653],[84,670,915],[560,660,562],[504,626,681],[711,505,224],[651,881,114],[216,620,889],[1362,678,197],[493,99,48],[1659,691,680],[529,690,546],[430,843,709],[655,524,693],[174,191,105],[674,669,598],[98,712,82],[572,546,585],[72,61,71],[912,911,
894],[106,223,184],[664,132,665],[843,646,709],[635,699,136],[699,698,714],[593,132,664],[688,526,584],[185,177,620],[533,675,534],[687,638,635],[1652,89,457],[896,506,912],[132,740,514],[689,685,282],[691,449,680],[48,436,493],[136,699,647],[739,640,554],[549,586,653],[532,533,625],[1530,695,649],[653,381,619],[736,151,531],[188,692,241],[177,402,578],[33,689,867],[689,33,685],[593,559,132],[949,65,266],[711,1038,661],[939,480,1004],[609,369,701],[616,552,615],[619,361,740],[151,463,516],[513,521,
117],[691,663,449],[186,251,196],[333,302,327],[613,560,552],[616,613,552],[690,551,637],[660,707,659],[704,208,1203],[418,735,550],[163,708,124],[524,834,693],[554,640,599],[245,341,165],[565,673,359],[155,710,708],[105,191,517],[1515,198,1411],[1709,554,599],[60,289,786],[838,1295,1399],[533,534,625],[710,499,708],[556,632,410],[217,620,216],[591,627,682],[504,503,223],[643,654,567],[690,637,650],[545,557,555],[174,654,682],[719,691,1659],[727,681,508],[645,711,661],[794,615,739],[565,515,508],
[282,685,302],[1150,397,1149],[638,699,635],[544,685,33],[719,726,691],[1742,1126,1733],[1724,1475,148],[556,410,403],[185,217,380],[503,504,681],[277,556,403],[32,1178,158],[1712,1709,599],[605,529,541],[635,136,369],[687,635,369],[529,700,690],[700,551,690],[89,304,573],[625,534,732],[730,302,685],[503,681,727],[702,673,701],[730,327,302],[327,353,333],[596,664,575],[660,499,707],[585,546,650],[560,729,734],[700,655,551],[176,571,651],[517,504,223],[730,685,544],[1661,1682,726],[1682,495,726],[1250,
301,917],[605,524,700],[609,687,369],[516,389,895],[1553,686,1027],[673,702,164],[656,591,654],[520,596,575],[402,123,401],[828,456,728],[1645,677,1653],[528,556,277],[638,551,699],[190,497,359],[276,730,544],[1117,1525,933],[1027,686,1306],[155,708,163],[709,605,541],[647,644,547],[650,637,687],[599,734,591],[578,293,267],[1682,357,495],[510,91,130],[734,729,627],[576,542,215],[709,541,735],[735,541,550],[276,500,730],[500,327,730],[653,619,740],[414,851,454],[734,627,591],[729,562,607],[615,552,
640],[525,181,192],[308,512,300],[223,503,727],[266,165,33],[92,500,276],[321,1046,1033],[585,609,606],[1200,1559,86],[628,572,626],[301,436,803],[714,644,647],[708,499,613],[721,693,724],[514,353,327],[353,740,361],[344,158,78],[708,613,616],[615,640,739],[500,514,327],[514,740,353],[1449,177,185],[462,233,625],[851,405,1163],[608,616,615],[647,542,576],[625,732,501],[1097,582,1311],[1235,424,577],[579,628,592],[607,592,504],[24,432,470],[105,614,247],[104,742,471],[542,259,215],[365,196,455],[1420,
47,65],[223,727,184],[547,542,647],[572,585,606],[587,572,606],[262,780,1370],[647,576,136],[644,674,598],[271,53,75],[727,508,258],[471,742,142],[505,375,224],[357,1710,269],[725,508,681],[659,498,546],[743,1178,32],[1195,634,231],[1176,24,470],[743,1110,1178],[135,809,857],[63,746,407],[634,1176,470],[159,1112,27],[1176,1685,24],[399,450,779],[1178,856,875],[751,744,54],[436,48,772],[634,1108,1210],[769,1285,1286],[751,298,755],[746,1684,754],[754,924,87],[722,1625,756],[87,839,153],[489,795,820],
[758,808,1518],[839,840,153],[831,1111,959],[1111,749,959],[810,1253,1363],[1247,1394,713],[1388,1329,1201],[1242,120,761],[857,791,384],[758,1523,808],[296,764,1504],[70,1652,891],[207,233,1638],[1348,57,28],[858,420,332],[964,1379,1278],[420,1194,816],[784,1076,1186],[1076,21,1186],[1710,767,1],[849,822,778],[806,137,787],[786,790,744],[790,54,744],[771,63,407],[785,852,818],[774,1823,272],[895,151,516],[135,1022,809],[99,826,48],[48,826,755],[808,705,408],[833,441,716],[1733,743,32],[1385,836,
852],[772,827,737],[1005,49,781],[793,1697,813],[1518,441,1537],[1139,1132,859],[782,801,770],[1510,1530,676],[770,814,835],[231,787,825],[207,722,756],[26,771,798],[782,863,865],[832,54,790],[865,842,507],[799,765,94],[1175,1261,1353],[800,408,805],[262,986,200],[792,800,814],[801,792,770],[704,1203,1148],[356,1514,822],[165,544,33],[561,776,113],[1043,738,775],[815,831,820],[773,792,801],[772,48,914],[772,737,803],[436,772,803],[808,817,705],[1624,822,1527],[588,1144,788],[799,762,604],[821,1520,
1676],[854,803,666],[828,482,472],[445,74,463],[831,489,820],[828,836,482],[716,782,763],[334,815,766],[815,823,766],[334,766,765],[819,805,837],[1716,1521,1412],[1684,924,754],[800,805,819],[1709,829,554],[806,1349,137],[99,1013,747],[341,595,276],[817,810,818],[1176,1691,1685],[763,782,865],[830,846,1052],[865,1499,842],[982,846,1053],[847,832,790],[1178,875,158],[817,818,705],[1302,1392,45],[96,417,284],[223,614,517],[356,507,1514],[1166,848,1179],[1349,432,26],[717,92,276],[770,835,863],[522,
509,1745],[847,841,832],[832,841,46],[829,739,554],[802,824,39],[397,1043,775],[1567,849,778],[1385,483,855],[1349,26,1346],[441,801,782],[402,401,293],[1043,667,738],[759,798,1007],[819,837,728],[728,837,828],[837,852,828],[1537,441,833],[148,1475,147],[805,705,837],[716,441,782],[483,1371,780],[814,819,844],[845,753,1336],[1661,719,4],[862,847,790],[737,827,666],[201,46,841],[810,785,818],[408,705,805],[1560,1536,849],[1585,853,1786],[7,1668,807],[7,807,8],[822,1514,1527],[800,819,814],[847,862,
841],[991,857,760],[705,818,837],[808,408,773],[402,293,578],[791,858,332],[1480,1228,1240],[814,844,835],[785,1385,852],[1132,120,859],[1743,1726,684],[1704,783,1279],[1623,1694,1731],[959,489,831],[1518,808,773],[862,872,841],[441,773,801],[331,512,308],[380,217,216],[841,872,201],[818,852,837],[448,1480,1240],[856,1108,1195],[1527,1514,1526],[819,182,1232],[871,724,693],[852,836,828],[770,792,814],[803,737,666],[751,826,278],[1674,1727,1699],[849,356,822],[871,693,834],[507,842,1514],[1406,1097,
869],[1328,1349,1346],[823,815,795],[744,751,278],[1110,856,1178],[520,717,316],[871,834,683],[884,876,724],[165,266,47],[716,763,507],[216,889,888],[853,1585,1570],[1536,716,356],[886,873,623],[782,770,863],[432,24,26],[683,882,871],[884,724,871],[114,876,884],[516,590,389],[11,1218,1628],[862,113,872],[886,623,629],[830,1052,1120],[762,153,604],[773,408,792],[763,865,507],[153,840,604],[882,884,871],[531,151,326],[886,890,873],[133,262,200],[819,1232,844],[621,636,122],[645,892,519],[1130,1076,
784],[114,263,876],[1670,10,1663],[911,670,894],[452,885,872],[872,885,201],[887,882,683],[878,884,882],[590,878,882],[890,867,689],[897,629,621],[897,886,629],[819,728,182],[519,893,688],[894,670,526],[898,894,526],[1536,356,849],[810,1363,785],[878,114,884],[879,888,892],[892,889,893],[893,898,688],[895,683,843],[895,887,683],[889,620,267],[590,882,389],[418,465,84],[949,897,621],[897,890,886],[889,267,893],[898,267,896],[531,326,473],[189,651,878],[843,683,646],[897,867,890],[888,889,892],[893,
267,898],[896,894,898],[473,895,843],[895,389,887],[974,706,669],[513,1115,521],[326,151,895],[809,791,857],[211,262,133],[920,923,947],[923,90,947],[90,25,947],[25,972,935],[64,431,899],[52,899,901],[903,905,59],[437,967,73],[839,1242,761],[904,975,44],[917,301,144],[915,670,911],[905,201,885],[1684,63,1685],[1033,1194,288],[950,913,755],[912,918,911],[950,914,913],[506,918,912],[922,919,915],[911,922,915],[1004,451,492],[1263,553,639],[922,911,918],[630,920,947],[916,506,926],[916,918,506],[521,
1115,1098],[916,922,918],[919,418,915],[83,38,75],[24,1685,771],[110,1230,1213],[712,8,1837],[922,930,919],[919,430,418],[1395,1402,1187],[930,922,916],[594,623,69],[35,431,968],[35,968,969],[866,924,1684],[1625,1263,675],[631,630,52],[930,931,919],[430,709,418],[302,333,49],[1446,978,1138],[799,1007,798],[931,843,919],[947,25,64],[885,738,667],[1262,963,964],[899,970,901],[1401,946,938],[1117,933,1091],[1685,63,771],[905,948,201],[979,937,980],[951,953,950],[937,270,443],[1154,903,59],[1194,954,
1067],[909,405,907],[850,1151,59],[1769,811,1432],[76,206,250],[938,946,966],[965,927,942],[938,966,957],[955,975,904],[927,965,934],[52,51,631],[59,905,667],[431,935,968],[786,289,561],[252,122,671],[481,494,107],[954,1817,1067],[795,25,90],[958,965,945],[795,972,25],[902,983,955],[972,489,944],[1256,29,424],[671,331,945],[946,958,963],[956,955,904],[902,955,956],[671,512,331],[945,331,961],[662,671,122],[671,662,512],[934,65,927],[630,947,52],[666,631,910],[850,59,667],[961,331,234],[1024,411,1042],
[890,69,873],[252,671,945],[975,290,940],[283,186,196],[30,283,365],[950,755,298],[946,965,958],[985,290,975],[969,290,985],[405,851,206],[935,431,64],[941,1423,1420],[964,963,167],[942,252,945],[78,757,57],[49,1005,66],[937,979,270],[631,666,827],[980,937,443],[66,689,282],[421,902,956],[947,64,52],[35,979,899],[951,971,953],[762,87,153],[27,31,381],[924,839,87],[946,963,966],[331,308,340],[957,966,1262],[473,843,931],[953,971,920],[270,969,902],[935,962,968],[51,1005,781],[969,983,902],[437,73,
940],[69,421,956],[761,249,840],[263,974,669],[962,944,967],[962,437,290],[985,975,955],[907,405,948],[720,957,1262],[25,935,64],[176,200,571],[108,945,50],[250,851,414],[200,986,571],[881,974,263],[827,772,953],[970,899,980],[29,159,27],[234,331,340],[948,405,206],[980,899,979],[986,984,571],[571,984,881],[990,706,974],[946,934,965],[970,980,66],[1113,1486,1554],[984,981,881],[881,987,974],[689,66,443],[1005,901,66],[983,985,955],[165,47,718],[987,990,974],[1370,986,262],[901,970,66],[51,901,1005],
[981,987,881],[988,706,990],[942,945,965],[290,437,940],[64,899,52],[988,556,706],[941,934,946],[431,35,899],[996,989,984],[984,989,981],[981,989,987],[35,969,270],[1370,995,986],[986,995,984],[989,999,987],[987,992,990],[992,988,990],[962,967,437],[951,950,976],[979,35,270],[421,270,902],[998,995,1370],[987,999,992],[988,364,556],[969,985,983],[689,443,890],[995,1E3,984],[219,958,108],[998,1E3,995],[999,997,992],[914,953,772],[845,1336,745],[806,787,231],[1E3,996,984],[989,996,999],[50,945,961],
[443,421,69],[797,158,779],[1098,1463,434],[996,1009,999],[1001,988,992],[1001,364,988],[903,907,905],[26,759,973],[997,1001,992],[632,364,1001],[1346,26,973],[998,1008,1E3],[1E3,1009,996],[531,931,736],[252,949,621],[286,388,525],[1174,1008,998],[1009,1010,999],[999,1010,997],[1014,1001,997],[614,105,517],[958,945,108],[525,1004,242],[963,958,219],[233,426,304],[1E3,1008,1009],[1010,1014,997],[1001,1006,632],[824,413,39],[642,636,622],[480,388,205],[28,757,797],[1014,1006,1001],[1006,410,632],[975,
940,44],[1234,420,858],[54,832,46],[1009,1012,1010],[167,963,219],[41,481,107],[1017,1010,1012],[122,636,662],[939,525,388],[525,939,1004],[950,953,914],[829,1735,739],[1008,880,1015],[1008,1015,1009],[1263,639,675],[956,594,69],[795,90,1347],[1179,848,1013],[759,1007,973],[1009,1015,1012],[1012,1016,1017],[1017,1014,1010],[1019,1011,1006],[927,65,949],[649,316,595],[913,48,755],[976,950,298],[1003,1015,880],[1018,1006,1014],[1021,1018,1014],[444,692,1011],[451,1029,1063],[1185,851,1163],[29,27,381],
[181,525,242],[1021,1014,1017],[1016,1021,1017],[1018,1019,1006],[1019,444,1011],[927,949,942],[451,393,492],[903,1154,907],[391,101,57],[94,765,58],[419,1016,1012],[949,252,942],[907,1020,909],[765,442,58],[94,406,908],[1007,94,908],[34,1012,1015],[34,419,1012],[419,1021,1016],[451,1057,393],[907,948,905],[1034,1073,1039],[1061,906,1619],[1068,960,1034],[471,1249,104],[112,1024,1042],[372,379,125],[341,543,165],[141,1094,170],[566,243,1061],[398,1034,1039],[325,317,1823],[1493,296,1724],[850,667,
1043],[1054,297,1065],[1619,135,1074],[1061,243,906],[680,1024,821],[1103,96,1245],[1440,1123,1491],[1047,1025,1044],[672,454,1231],[1484,697,1530],[993,672,1231],[178,154,1088],[1044,1041,1066],[112,1062,1058],[1530,649,676],[178,1088,1040],[1046,328,954],[243,244,1022],[954,1194,1033],[1042,411,1032],[971,993,1056],[960,1093,1034],[1754,1338,232],[385,1064,412],[1057,1063,111],[748,1071,1447],[1530,697,695],[971,1056,1270],[977,1059,1211],[649,741,316],[1060,1452,1030],[353,354,1323],[695,768,649],
[398,404,1034],[596,316,741],[1836,119,13],[1513,1115,1528],[883,1081,1652],[1039,1073,1048],[462,426,233],[31,1296,354],[1055,1047,1066],[1032,1054,1045],[1521,310,1224],[119,861,13],[1194,1234,288],[1109,1771,1070],[1166,1160,776],[1044,1035,1041],[1026,960,1064],[1050,1032,1045],[1049,1041,387],[115,1013,99],[1046,954,1033],[1321,920,971],[611,1058,345],[1048,1066,1049],[1023,1055,1073],[1029,451,1004],[118,1094,141],[1094,1080,170],[1042,1032,1050],[1026,1064,385],[15,16,1084],[1096,1079,61],
[1075,1071,748],[325,1817,328],[909,1163,405],[1022,1234,809],[374,398,1051],[1082,72,81],[1023,1034,1093],[1817,1794,1067],[86,1445,1400],[1507,1535,1510],[1079,1096,1075],[568,1478,1104],[1070,178,1040],[1034,1023,1073],[776,1155,113],[1103,143,142],[1140,81,73],[1082,81,1140],[1060,1030,936],[1040,1086,1109],[370,1065,385],[61,72,1082],[1087,1096,1144],[1040,1088,1086],[1651,812,752],[1062,1050,1045],[187,154,178],[179,187,178],[1099,1344,1101],[1668,1058,807],[1073,1055,1048],[1099,1336,1344],
[1283,943,1123],[1049,387,1051],[1024,680,449],[61,1082,1100],[967,749,1111],[1439,1037,88],[742,1505,142],[398,1039,1051],[1107,1336,1099],[1344,1542,1101],[142,1505,1103],[477,1093,447],[477,1023,1093],[471,142,1249],[1041,1035,394],[1328,568,1104],[61,1100,1096],[154,1092,1088],[112,1042,1050],[154,187,168],[435,235,45],[1075,1096,1087],[97,1075,748],[1049,1066,1041],[816,1067,1028],[846,982,1142],[1245,96,284],[1092,154,1080],[1057,451,1063],[387,377,1051],[1055,1025,1047],[1075,1087,1089],[1106,
1108,856],[1068,1034,404],[1480,1545,868],[906,135,1619],[1074,991,1095],[570,566,1061],[1025,453,1044],[745,1336,1107],[1035,1057,416],[1092,1102,1129],[1074,135,991],[1105,745,1107],[447,1026,446],[394,387,1041],[73,81,940],[1118,1108,1106],[1210,1108,874],[243,1022,906],[412,1064,1068],[1280,611,603],[960,447,1093],[1051,1039,1049],[1040,1109,1070],[1471,1037,1439],[69,890,443],[1377,703,1374],[1092,1080,1102],[1096,1100,788],[1096,788,1144],[1114,967,1111],[446,1026,297],[70,1112,883],[453,393,
1057],[1118,874,1108],[1054,370,1045],[1080,1094,1102],[1039,1048,1049],[428,753,845],[1047,1044,1066],[1044,453,1035],[1472,731,1512],[1126,1121,743],[743,1121,1110],[1032,297,1054],[1480,868,1216],[71,358,72],[1133,967,1114],[1105,1119,745],[1035,453,1057],[1026,447,960],[454,851,1190],[1030,1477,652],[589,816,1028],[1110,1121,1106],[1122,1118,1106],[1116,874,1118],[1048,1055,1066],[1194,1067,816],[744,278,747],[745,1120,845],[845,1052,428],[1105,1780,1119],[1065,297,385],[1098,1529,1463],[731,
1060,936],[235,434,812],[1445,1525,1117],[1106,1121,1122],[1122,1127,1118],[1127,1116,1118],[1094,118,1732],[1119,1120,745],[1406,1124,1097],[435,117,235],[1462,1440,1037],[1126,1129,1121],[1088,1092,1129],[1133,73,967],[1120,1052,845],[812,434,752],[1441,1559,1200],[1131,588,413],[1054,1065,370],[235,1098,434],[1052,1142,428],[1737,428,1142],[1496,1446,1483],[1182,1083,1654],[1121,1129,1122],[1732,1116,1127],[768,457,649],[761,1114,249],[1064,960,1068],[1135,1481,1136],[1126,952,1129],[1087,588,
1131],[1087,1144,588],[859,788,1139],[1140,1133,1132],[1133,1140,73],[1822,570,1061],[394,1035,416],[1055,1023,459],[80,264,485],[1119,1128,1120],[145,1658,567],[695,891,768],[1129,1102,1122],[1122,1102,1127],[1416,1077,1413],[297,1026,385],[1052,846,1142],[1445,1117,1400],[952,1086,1129],[1714,1089,1131],[1131,1089,1087],[1100,1139,788],[112,1050,1062],[1323,354,1296],[49,333,1141],[1142,982,1737],[79,1457,1091],[1088,1129,1086],[1102,1094,1127],[1127,1094,1732],[1100,1082,1139],[1082,1132,1139],
[1082,1140,1132],[1150,1043,397],[60,1166,289],[1696,1146,1698],[1297,1202,1313],[409,1297,1313],[1234,1194,420],[1408,1391,1394],[424,1235,1243],[1203,309,1148],[485,477,447],[1152,1156,850],[1153,1149,1155],[1153,1157,1149],[1149,1152,1150],[1156,1154,1151],[776,1153,1155],[1157,1152,1149],[1217,1393,1208],[1156,1159,1154],[1153,1165,1157],[1165,1152,1157],[1159,1020,1154],[1161,1153,776],[1161,1165,1153],[1165,1158,1152],[1152,1158,1156],[1158,1159,1156],[1166,776,561],[1160,1161,776],[1161,1164,
1165],[1161,1160,1164],[1158,1162,1159],[1159,1162,1020],[1270,1321,971],[1164,1170,1165],[1165,1162,1158],[1162,1163,1020],[588,788,925],[1166,1167,1160],[1165,1170,1162],[1160,1167,1164],[1162,1170,1163],[1179,1167,1166],[1167,1168,1164],[1164,1168,1170],[1168,1169,1170],[1234,1022,288],[802,39,866],[1179,1168,1167],[1169,1173,1170],[1170,1173,1163],[1173,1185,1163],[1360,1267,1364],[1169,1185,1173],[611,244,243],[900,1226,1376],[1260,1408,1350],[618,840,831],[1181,1183,1179],[1179,1184,1168],[1208,
1274,1291],[1183,1184,1179],[1168,1184,1169],[1387,1395,1254],[1208,1204,1172],[1182,1197,1083],[1187,1083,1197],[1213,1183,1181],[1169,1207,1185],[135,857,991],[1013,1213,1181],[1189,1183,1213],[1183,1189,1184],[1169,1184,1207],[1207,1190,1185],[1180,1389,1288],[1191,1192,1640],[1640,1192,1090],[1090,1205,1654],[1654,1205,1182],[1188,1395,1187],[1126,743,1733],[788,859,925],[809,1234,1171],[1193,1197,1182],[1189,1199,1184],[1639,1191,1637],[1639,1212,1191],[1205,1193,1182],[1198,1187,1197],[1199,
1207,1184],[332,1053,846],[1090,1192,1205],[117,1188,1187],[435,1188,117],[435,1206,1188],[1199,1189,1213],[420,816,1053],[1212,1215,1191],[117,1187,1198],[45,1206,435],[120,1132,1133],[874,1116,1210],[1191,1215,1192],[1193,1216,1197],[1216,1198,1197],[1199,1214,1207],[117,521,235],[1220,1311,1078],[1220,900,1311],[1653,1215,1212],[1192,1225,1205],[1205,1209,1193],[1209,1216,1193],[1389,1217,1172],[1207,1214,454],[171,557,1747],[1805,1078,1787],[1805,1219,1078],[1198,1216,868],[666,910,854],[1230,
1231,1213],[1213,1231,1199],[1199,1231,1214],[1219,1220,1078],[1215,1221,1192],[1192,1221,1225],[1225,1228,1205],[1205,1228,1209],[1209,1228,1216],[1464,1325,1223],[1215,1227,1221],[1228,1480,1216],[1226,1653,1376],[1653,1249,1215],[1221,1240,1225],[1225,1240,1228],[839,761,840],[1238,1219,1805],[1238,1220,1219],[1232,1380,1375],[1226,1249,1653],[1221,1227,1240],[233,207,532],[110,1236,1230],[1248,1231,1230],[1231,454,1214],[1249,1227,1215],[1248,1056,1231],[489,959,944],[448,1240,284],[925,859,1242],
[1805,1244,1238],[1252,1220,1238],[1252,921,1220],[1236,1251,1230],[1230,1251,1248],[1056,993,1231],[1031,1264,1263],[68,1186,157],[1227,1245,1240],[1103,1245,143],[1243,1235,612],[1252,95,921],[1249,1226,1237],[1390,1387,1254],[1120,384,830],[830,332,846],[1227,143,1245],[1315,1369,1358],[1356,1269,1386],[972,795,489],[1831,1224,310],[1250,1255,1251],[1251,1056,1248],[1256,1243,103],[658,358,175],[1620,1238,1244],[1620,1252,1238],[1506,95,1252],[104,1249,1237],[1249,143,1227],[1268,1419,1329],[634,
806,231],[618,831,815],[924,1242,839],[1255,1270,1251],[1251,1270,1056],[866,925,1242],[103,29,1256],[424,1243,1256],[134,1651,752],[1250,917,1255],[1172,1204,1260],[1352,1036,1276],[1265,1201,1329],[804,1282,1259],[1259,1294,723],[335,1330,1305],[407,762,799],[875,856,1195],[32,158,344],[967,944,749],[372,125,42],[1175,1354,1261],[553,612,1235],[1259,1273,1294],[1294,1283,723],[757,78,158],[407,799,798],[901,51,52],[139,1386,1389],[1386,1269,1389],[1389,1269,1217],[1148,1590,1268],[1428,1449,1450],
[804,1281,1282],[1273,1259,1282],[158,399,779],[771,407,798],[521,1098,235],[917,1312,1255],[1312,1270,1255],[1217,1269,1393],[1195,1108,634],[1110,1106,856],[1210,1691,1176],[27,1112,1145],[1296,27,1145],[1171,858,791],[704,1148,1290],[1430,1436,1437],[1282,1308,1273],[1300,943,1283],[1393,1355,1274],[720,1278,769],[1287,1059,1399],[1310,1388,1272],[1312,1321,1270],[851,1185,1190],[1296,1145,1304],[26,24,771],[51,910,631],[1329,1290,1268],[1290,1148,1268],[1298,1293,733],[1281,1293,1282],[1282,1293,
1308],[1308,1299,1273],[1300,1283,1294],[1340,943,1300],[1340,1301,943],[407,754,762],[1287,1399,1295],[34,139,128],[1288,1172,1260],[120,1133,1114],[1306,1113,1511],[1464,1223,1292],[1299,1294,1273],[1299,1300,1294],[1286,1295,838],[1285,1247,1286],[1247,713,1286],[1201,1265,1390],[1378,1368,1357],[1482,1320,917],[917,1320,1312],[850,1156,1151],[588,39,413],[1324,1306,686],[789,1365,928],[1223,1326,1292],[1292,1326,1298],[869,1097,1311],[790,786,561],[1323,1304,932],[1323,1296,1304],[1317,1324,686],
[1306,368,1113],[1325,1342,1223],[1326,1348,1298],[1293,1327,1308],[1308,1318,1299],[704,1290,1258],[1320,1321,1312],[761,120,1114],[1684,802,866],[1674,6,1727],[1316,1323,932],[1335,1337,1305],[1348,1327,1293],[1298,1348,1293],[1333,1300,1299],[1333,1343,1300],[1328,1301,1340],[1328,1314,1301],[838,1399,1319],[921,1237,900],[409,1391,1408],[1376,1653,677],[1281,804,1458],[1331,1324,1317],[1324,368,1306],[368,1338,1307],[1327,797,1308],[797,1345,1308],[1308,1345,1318],[1318,1333,1299],[1341,1147,
1572],[923,1321,1320],[923,920,1321],[39,588,866],[1141,1323,1316],[1330,1335,1305],[1337,1335,1336],[1339,1332,1325],[1223,1342,1326],[1342,1348,1326],[1348,797,1327],[1345,1333,1318],[1343,1340,1300],[1419,1265,1329],[1347,1320,1584],[1535,1141,1316],[1078,1311,582],[1344,1335,1330],[753,1331,1337],[368,1324,1331],[753,368,1331],[1332,1485,1325],[1325,1485,1342],[787,1343,1333],[137,1328,1340],[973,1341,1479],[406,1147,1341],[1171,1234,858],[1141,1535,1322],[49,1141,1322],[1344,1336,1335],[973,
908,1341],[766,1347,1584],[1347,923,1320],[781,49,1322],[368,232,1338],[787,1340,1343],[787,137,1340],[568,1346,973],[58,1147,406],[442,1334,1147],[58,442,1147],[442,766,1334],[90,923,1347],[428,368,753],[779,1333,1345],[825,787,1333],[137,1349,1328],[1328,1346,568],[908,406,1341],[924,866,1242],[1336,753,1337],[428,232,368],[1115,777,1098],[1348,28,797],[797,779,1345],[779,825,1333],[1007,908,973],[583,1351,880],[1365,1246,977],[1658,145,1710],[1310,796,1388],[718,245,165],[1302,1272,1254],[1174,
1351,583],[1174,715,1351],[1358,1260,1204],[1374,1373,1276],[1377,1374,1276],[678,1362,1382],[1377,1276,254],[139,34,40],[1008,1174,583],[1396,1286,1319],[768,891,457],[1316,932,1535],[1289,1371,1360],[182,736,864],[1355,1364,1274],[860,1367,1354],[1362,1222,1382],[1376,869,1311],[1590,1411,198],[1232,1375,877],[1394,1295,1286],[880,1356,1386],[880,1351,1356],[1211,1059,1287],[197,678,1405],[880,1386,1003],[1368,1253,1357],[1357,1253,1036],[715,1289,1364],[1354,1367,703],[1383,877,1375],[1266,1288,
1260],[1373,1374,703],[1372,1289,1174],[1303,1366,1378],[1351,715,1355],[1665,1666,624],[1309,1357,1036],[900,1237,1226],[1174,1289,715],[1337,1331,1317],[1360,1303,1359],[1267,1354,1175],[1241,1284,1414],[1377,254,929],[1385,855,836],[1396,1319,1436],[1361,1366,1303],[1381,1368,1378],[1313,1211,1391],[1368,1385,1363],[813,82,861],[1058,1280,807],[893,519,892],[1359,1303,860],[1382,1350,1247],[1371,1303,1360],[1267,1175,1271],[769,1286,1396],[712,1837,82],[1366,1385,1381],[1365,796,1310],[1003,1386,
40],[780,1371,1370],[561,862,790],[1284,1380,864],[1449,1428,177],[611,1280,1058],[1284,1375,1380],[926,506,1241],[1305,1337,1317],[309,1203,208],[1388,1201,1390],[1309,1036,1352],[1377,929,1411],[1399,1059,1257],[1112,70,1145],[289,1166,561],[1288,1389,1172],[1362,37,1180],[713,1394,1286],[1355,1393,1269],[1401,1423,941],[1274,1271,1384],[860,1378,1367],[715,1364,1355],[677,1406,869],[1297,1358,1202],[1388,1258,1329],[1180,1288,1266],[1008,583,880],[1524,1425,1463],[1390,1403,1387],[1278,1379,1247],
[1278,1247,1285],[964,1278,1262],[1358,1369,1202],[1715,1699,1726],[926,1241,1414],[1341,1572,1479],[926,930,916],[1397,51,781],[409,1358,1297],[1236,436,301],[1376,677,869],[1351,1355,1356],[758,1534,1523],[1378,1357,1367],[977,1211,1365],[1135,1136,854],[1394,1391,1295],[1266,1260,1222],[1365,1302,1246],[1232,877,844],[736,930,864],[1408,1358,409],[1508,817,1523],[1381,1385,1368],[718,854,910],[854,718,1135],[1382,1222,1350],[1391,1211,1287],[1391,1287,1295],[1257,1651,134],[1414,1284,864],[1291,
1369,1315],[1202,928,1313],[86,1400,1413],[1413,1200,86],[1263,1625,1031],[1413,1400,1404],[1002,1664,1834],[930,926,1414],[1399,1257,134],[520,316,596],[1393,1274,1208],[1657,1655,1712],[1407,1404,1400],[1404,1410,1413],[1649,1229,1406],[1362,1266,1222],[1384,1271,1175],[900,1376,1311],[1274,1384,1291],[1291,1384,1431],[1433,1396,1436],[1267,1359,1354],[309,1353,703],[838,1319,1286],[1407,1410,1404],[441,1518,773],[1241,123,1428],[1622,1521,1224],[1217,1208,1172],[1130,793,1076],[425,1409,1481],
[1481,1409,1533],[1303,1378,860],[1350,1408,1394],[1246,1651,977],[1289,1360,1364],[1727,1694,1623],[1417,1407,1533],[1417,1410,1407],[1406,1650,1649],[1319,134,1437],[1414,864,930],[1406,1229,1124],[1354,1359,860],[1433,769,1396],[1417,1533,1409],[1416,1413,1410],[1415,1416,1410],[95,1237,921],[1392,1254,1395],[1360,1359,1267],[1258,1290,1329],[1180,128,1389],[1420,1409,425],[1417,1418,1410],[1418,1415,1410],[1422,1077,1416],[1247,1350,1394],[37,43,1180],[1204,1315,1358],[1428,1383,1375],[1356,1355,
1269],[1409,1418,1417],[1302,45,1246],[1421,1416,1415],[1421,1422,1416],[1422,1494,1077],[957,720,938],[1423,1409,1420],[1423,1418,1409],[752,434,1438],[1260,1358,1408],[1363,1385,785],[1423,1426,1418],[1426,1424,1418],[1229,1649,1124],[1222,1260,1350],[1508,1523,1137],[1278,1285,769],[1482,917,144],[1418,1424,1415],[1425,1422,1421],[1425,1524,1422],[1272,1388,1390],[1391,409,1313],[1378,1366,1381],[1371,483,1361],[720,1262,1278],[29,103,159],[1271,1364,1267],[1424,1427,1415],[1537,1522,1518],[134,
752,1438],[1420,934,941],[1428,1375,1284],[1277,1224,1831],[1362,1180,1266],[1401,1426,1423],[1577,1369,1291],[268,483,262],[1383,1450,1456],[1384,1175,1431],[1430,1415,1427],[1430,1421,1415],[1430,1425,1421],[1379,1382,1247],[1252,1553,1429],[1206,1392,1395],[1433,1430,1427],[309,208,1353],[1272,1390,1254],[1361,483,1366],[1523,817,808],[1302,1254,1392],[1371,1361,1303],[1426,1435,1424],[1435,1433,1424],[1433,1427,1424],[720,769,1433],[796,1258,1388],[1590,1419,1268],[1289,1372,1371],[1305,1317,
1509],[998,1372,1174],[40,1386,139],[1261,1354,703],[1364,1271,1274],[134,1438,1437],[1436,1319,1437],[1317,686,1509],[1484,932,1304],[1434,1432,1509],[1420,65,934],[931,930,736],[1367,1357,1309],[1372,1370,1371],[1204,1208,1315],[1426,938,1435],[1368,1363,1253],[1207,454,1190],[1302,1310,1272],[309,1377,390],[390,1377,1411],[1370,1372,998],[1411,1590,1148],[720,1433,1435],[1450,1383,1428],[1379,678,1382],[1405,678,1379],[1208,1291,1315],[1399,134,1319],[1367,1309,1373],[1373,1352,1276],[596,741,
593],[553,1264,612],[1433,1436,1430],[1437,1438,1430],[964,1405,1379],[1373,1309,1352],[1265,1403,1390],[1233,1618,1434],[1365,1310,1302],[789,796,1365],[720,1435,938],[128,139,1389],[1466,933,1525],[1191,1640,1637],[1314,1442,943],[1141,353,1323],[1489,1138,1474],[1462,1477,1440],[1474,1138,1488],[1442,1314,1443],[1446,1030,1546],[1484,1145,697],[1549,1443,1445],[1470,1572,1468],[1397,1239,1507],[1649,1825,1824],[1259,1440,1477],[1451,1450,1449],[978,1446,652],[1454,1456,1451],[1451,1456,1450],[341,
1507,595],[933,1547,79],[804,1452,1060],[1454,1455,1456],[1398,1460,1454],[1455,877,1456],[1277,1831,1825],[804,1060,1458],[1339,1459,1595],[1314,1104,1443],[933,1448,1547],[147,1460,1398],[1460,1461,1454],[1454,1461,1455],[1292,1125,1464],[417,1531,1480],[1459,1339,1325],[811,1756,335],[1512,936,1490],[777,1529,1098],[147,1475,1460],[1464,253,1459],[836,855,482],[1487,1486,1307],[1104,1501,1443],[1439,1200,1532],[1475,1469,1460],[1460,1469,1461],[1325,1464,1459],[1277,1825,1649],[1532,1200,1077],
[844,877,1455],[1572,933,1466],[1479,568,973],[1509,335,1305],[1339,1595,1759],[1469,1476,1461],[1461,1476,1455],[1104,1470,1468],[1464,1472,253],[1117,1091,1407],[1756,1542,335],[1206,1395,1188],[335,1542,1330],[835,844,1455],[1471,1598,1462],[1491,1442,1441],[835,1455,1476],[1441,1442,1443],[1489,1474,1473],[1251,1236,1250],[1030,1452,1477],[1598,1439,1532],[978,1598,1492],[1426,1401,938],[1448,1584,1482],[1724,1497,1475],[1475,1497,1469],[1484,1535,932],[1307,1486,1113],[1487,696,1495],[1037,1491,
1441],[1030,1446,936],[1453,1487,1495],[696,1467,1495],[1138,1489,1483],[1497,1143,1469],[1469,1143,1476],[652,1598,978],[850,1043,1150],[1482,1584,1320],[1731,98,1697],[1113,1554,1573],[1524,1532,1494],[1496,1467,696],[1452,1259,1477],[296,1504,1497],[1504,1143,1497],[1143,1499,1476],[718,910,1498],[868,1540,1528],[817,1253,810],[1490,696,1487],[1440,1491,1037],[1510,676,595],[1488,1492,1517],[781,1239,1397],[1467,1519,1503],[1500,1307,1759],[1149,397,452],[1504,1514,1143],[1514,842,1143],[1125,
733,1458],[1503,1531,1555],[1276,1036,1137],[1440,723,1123],[1036,1508,1137],[817,1508,1253],[103,883,1112],[1458,731,1472],[1512,1490,1487],[1487,1453,1486],[1138,978,1488],[1036,1253,1508],[1398,149,147],[1474,1517,1513],[1125,1458,1472],[1486,1453,1554],[1518,1534,758],[345,1058,1062],[928,1202,1369],[1554,1541,1505],[1464,1125,1472],[1504,764,1514],[304,426,573],[1505,742,1506],[1479,1572,1478],[1519,1483,1489],[833,716,1069],[1522,1534,1518],[1115,1513,777],[811,335,1432],[1591,1533,1407],[777,
1517,1529],[1513,1517,777],[1498,910,1397],[1069,1539,833],[833,1539,1537],[1522,1551,1534],[1534,1551,1523],[1538,1137,1523],[910,51,1397],[1367,1373,703],[1466,1525,1468],[157,1186,1832],[1429,1511,1506],[1573,1505,1506],[1259,1452,804],[1503,1495,1467],[262,483,780],[1572,1466,1468],[1536,1556,716],[716,1556,1069],[1544,1523,1551],[1544,1538,1523],[1511,1573,1506],[933,1572,1448],[1543,1537,1539],[1537,1543,1522],[1091,933,79],[1519,1540,1545],[1549,1445,86],[1069,1548,1539],[1548,1543,1539],[1543,
1551,1522],[1500,1487,1307],[68,784,1186],[1552,1544,1551],[1550,1538,1544],[1538,1550,1137],[1519,1473,1540],[1547,1448,1482],[1560,1563,1536],[1536,1563,1556],[1556,1548,1069],[1543,1558,1551],[1137,1550,1276],[1453,1495,1555],[1561,1543,1548],[1543,1561,1558],[1558,1566,1551],[1552,1550,1544],[1569,1557,1550],[1557,1276,1550],[1276,1557,254],[1531,1503,1480],[1535,1530,1510],[1545,1503,1519],[1547,1482,79],[1566,1552,1551],[1552,1569,1550],[1503,1545,1480],[703,1377,309],[1625,675,756],[1037,1441,
88],[929,254,1557],[849,1567,1560],[1556,1564,1548],[1492,1529,1517],[1252,1429,1506],[1553,1027,1429],[1453,1555,1541],[1554,1453,1541],[1233,686,1553],[1328,1104,1314],[1564,1576,1548],[1548,1576,1561],[1557,1562,929],[1520,112,1668],[1483,1446,1138],[778,1570,1567],[1563,1564,1556],[1561,1565,1558],[1565,1566,1558],[1569,1552,1566],[1562,1557,1569],[1530,1535,1484],[1387,1402,1395],[1621,1634,1387],[1567,1568,1560],[1560,1568,1563],[1571,1569,1566],[1344,1330,1542],[1577,1431,1353],[1638,233,304],
[1524,1463,1529],[1353,1431,1175],[1077,1200,1413],[1478,1470,1104],[1568,1575,1563],[1563,1575,1564],[1575,1576,1564],[1561,1576,1565],[1565,1574,1566],[1562,1515,929],[1555,96,1541],[1531,417,96],[1555,1531,96],[1246,45,1651],[208,1577,1353],[1586,1568,1567],[1574,1571,1566],[1571,1583,1569],[1474,1513,1528],[1239,1322,1535],[1478,1572,1470],[1570,1586,1567],[1488,1517,1474],[8,1833,1837],[1123,1442,1491],[1589,1568,1586],[1576,1594,1565],[1565,1594,1574],[1562,198,1515],[1559,1441,1549],[1441,
1443,1549],[1135,425,1481],[1239,1535,1507],[1595,1487,1500],[1570,1585,1586],[1589,1578,1568],[1568,1578,1575],[1579,1569,1583],[1177,1577,208],[115,1236,110],[1578,1593,1575],[1587,1576,1575],[1576,1581,1594],[1571,1582,1583],[1588,1579,1583],[1579,1580,1562],[1569,1579,1562],[1562,1580,198],[1027,1511,1429],[1589,1593,1578],[1587,1581,1576],[1582,1574,1594],[1574,1582,1571],[1575,1593,1587],[1583,1582,1588],[1580,1590,198],[1587,1593,1581],[1505,1541,96],[1369,1577,1177],[1573,1554,1505],[1479,
1478,568],[1585,1589,1586],[1369,1177,704],[766,1584,1334],[977,1257,1059],[1091,1591,1407],[1591,1091,1457],[1585,1604,1589],[1581,1592,1594],[1602,1582,1594],[1582,1608,1588],[1608,1579,1588],[1579,1597,1580],[1419,1590,1580],[1597,1419,1580],[1431,1577,1291],[1589,1604,1593],[1601,1596,1593],[1593,1596,1581],[1306,1511,1027],[1511,1113,1573],[1786,1412,1585],[1412,1604,1585],[1581,1596,1592],[1592,1602,1594],[1608,1599,1579],[1599,1611,1579],[1579,1611,1597],[1512,1487,253],[1519,1489,1473],[1545,
1540,868],[1083,1187,1402],[1117,1407,1400],[1292,733,1125],[284,1240,1245],[1604,1600,1593],[1600,1601,1593],[1582,1607,1608],[789,1369,704],[1467,1483,1519],[1601,1613,1596],[1596,1613,1592],[1602,1607,1582],[1620,1553,1252],[1601,1605,1613],[1592,1613,1602],[1602,1606,1607],[1608,1609,1599],[1599,1609,1611],[1603,1597,1611],[1265,1419,1597],[1603,1265,1597],[1392,1206,45],[928,1369,789],[1474,1528,1473],[1104,1468,1501],[1412,1521,1604],[1613,1631,1602],[1607,1610,1608],[1608,1610,1609],[1476,
863,835],[1495,1503,1555],[1498,1397,718],[1520,1668,7],[1604,1615,1600],[1605,1601,1600],[1602,1631,1606],[1606,1610,1607],[1759,1595,1500],[1292,1298,733],[1615,1604,1521],[1609,1603,1611],[652,1462,1598],[1468,1525,1445],[1443,1501,1445],[1134,1723,150],[1521,1622,1615],[1615,1616,1600],[1616,1605,1600],[1605,1616,1612],[1605,1612,1613],[1612,1617,1613],[1613,1617,1631],[1606,1614,1610],[1265,1603,1403],[448,417,1480],[1595,253,1487],[1501,1468,1445],[1383,1456,877],[1490,1496,696],[1610,1627,
1609],[1627,1621,1609],[1591,1481,1533],[1598,1471,1439],[1353,1261,703],[1606,1631,1614],[1609,1621,1403],[1532,1077,1494],[1528,1115,513],[1546,652,1446],[1211,928,1365],[1540,1473,1528],[1078,1502,1787],[1425,1430,1438],[1617,1630,1631],[959,749,944],[566,570,603],[1716,310,1521],[775,452,397],[1615,1636,1616],[1616,1636,1612],[1610,1632,1627],[789,704,1258],[1457,1481,1591],[1769,1756,811],[207,1629,722],[1629,1625,722],[1224,1277,1622],[1622,1636,1615],[1636,1646,1612],[1612,1630,1617],[1631,
1626,1614],[1614,1632,1610],[1506,104,95],[1481,1457,1136],[1123,943,1442],[936,1446,1496],[1499,863,1476],[1629,1031,1625],[1233,1509,686],[1633,1634,1621],[1621,1387,1403],[1472,1512,253],[1177,208,704],[1277,1636,1622],[1626,1632,1614],[1627,1633,1621],[936,1496,1490],[185,1454,1451],[731,936,1512],[1638,1635,207],[553,1263,1264],[1653,1212,1639],[1633,1627,1632],[1633,1387,1634],[1458,1060,731],[368,1307,1113],[1264,1031,1629],[1152,850,1150],[1277,1644,1636],[1646,1637,1612],[1637,1630,1612],
[1647,1631,1630],[1647,1626,1631],[1422,1524,1494],[1030,652,1546],[1635,1629,207],[1635,1264,1629],[1639,1646,1636],[1637,1640,1630],[1641,1632,1626],[1632,1642,1633],[1633,1643,1387],[842,1499,1143],[865,863,1499],[1516,978,1492],[67,1130,784],[1103,1505,96],[88,1441,1200],[1644,1639,1636],[1640,1647,1630],[1647,1641,1626],[1633,1648,1643],[1492,1532,1524],[1488,1516,1492],[1037,1471,1462],[612,1264,1635],[1502,1078,1124],[1641,1642,1632],[1648,1633,1642],[1528,513,868],[1492,1598,1532],[1095,991,
760],[679,157,1664],[760,1128,1785],[1277,1650,1644],[320,1022,244],[1559,1549,86],[1676,1520,7],[1488,978,1516],[1095,760,1785],[1128,384,1120],[304,312,1638],[1081,1638,312],[1081,1635,1638],[103,612,1635],[652,1477,1462],[1650,1645,1644],[1645,1639,1644],[1639,1637,1646],[1640,1090,1647],[1654,1641,1647],[1654,1642,1641],[1654,1648,1642],[1643,1402,1387],[1432,335,1509],[384,1128,760],[1652,312,304],[103,1243,612],[1277,1649,1650],[1090,1654,1647],[1643,1648,1402],[1134,324,1675],[679,68,157],
[1652,1081,312],[1136,301,803],[1653,1639,1645],[723,1440,1259],[803,854,1136],[104,1506,742],[1112,159,103],[1654,1083,1648],[977,1651,1257],[1397,1507,718],[1081,103,1635],[1650,677,1645],[1083,1402,1648],[1706,1655,1671],[1624,1704,1711],[767,2,1],[608,794,294],[1678,1683,1686],[767,1682,2],[1669,1692,1675],[296,1681,764],[1671,1656,1672],[17,1673,1679],[1706,1671,1673],[1662,1674,1699],[1655,1657,1656],[418,84,915],[1526,1514,764],[1658,1657,567],[870,1695,764],[813,1697,98],[1659,821,5],[60,
1013,848],[1013,110,1213],[661,1038,1692],[1660,1703,17],[1693,1673,17],[1663,1715,1743],[1013,115,110],[344,1733,32],[1670,1663,1743],[1670,1743,1738],[1677,1670,1738],[1661,4,3],[1084,1683,1678],[1728,793,1130],[1683,1767,1196],[1677,1738,1196],[1279,1786,853],[294,1038,608],[1279,1689,1786],[870,18,1708],[870,1680,1695],[1705,10,1670],[1084,1767,1683],[1196,1738,1686],[1750,870,1681],[1750,18,870],[1773,1703,1660],[1135,47,425],[150,323,1134],[1707,1655,1706],[1741,344,1687],[1685,1691,1684],[1684,
1691,802],[1672,1656,0],[1038,124,608],[1671,1672,1690],[1628,1218,1767],[1686,1275,1667],[1493,1750,1681],[1773,18,1750],[1773,1660,18],[1679,1671,16],[1735,1706,1673],[1667,1678,1686],[1688,1658,1],[1656,1688,0],[1293,1281,1458],[1698,1678,1667],[1696,1130,1722],[1698,1667,1696],[1715,1662,1699],[1692,1038,294],[1682,767,357],[1669,661,1692],[802,1702,824],[1028,1067,1784],[822,1624,778],[119,813,861],[1218,1670,1677],[1703,1693,17],[1658,1710,1],[750,1730,1729],[1701,750,1729],[1693,1735,1673],
[1731,1694,98],[1691,1702,802],[783,1729,1719],[1680,870,1708],[1707,1709,1655],[533,756,675],[1691,1210,1702],[11,1705,1670],[1767,1218,1196],[1218,1677,1196],[1664,1716,1721],[1729,1725,1719],[1729,1072,1725],[1210,1116,1702],[1702,1720,824],[1682,1661,2],[1713,1719,1721],[1716,1786,1713],[1730,1722,1072],[294,1717,1811],[1692,294,1666],[1659,680,821],[824,1720,1714],[1726,1731,1718],[345,1062,1045],[1738,1743,1275],[1075,1089,1071],[783,1719,1689],[1275,684,1728],[1692,1666,1665],[1675,1692,1665],
[294,1811,1666],[1716,1664,310],[1678,1698,1700],[6,9,1727],[676,649,595],[381,31,361],[1723,1804,1772],[1727,9,1694],[1720,1089,1714],[1786,1716,1412],[1683,1196,1686],[1718,1697,1085],[1116,1739,1702],[1739,1734,1720],[1702,1739,1720],[1089,1720,1734],[509,748,1745],[1743,1715,1726],[1717,294,794],[1116,1732,1739],[1718,1731,1697],[1696,1667,1130],[1134,1665,1723],[1694,712,98],[101,1687,102],[391,1736,101],[662,636,642],[1734,1447,1089],[1089,1447,1071],[436,99,493],[1689,1279,783],[1485,1465,
1342],[1736,1687,101],[344,1741,1733],[1741,1742,1733],[1735,829,1706],[829,1707,1706],[1485,1332,1465],[952,1126,1742],[1747,1447,1734],[879,892,645],[1730,1146,1696],[829,1709,1707],[1709,1712,1655],[118,1739,1732],[1332,1744,1465],[1687,1749,1741],[1741,1758,1742],[679,1072,68],[1072,1722,68],[118,1747,1739],[1747,1734,1739],[1465,1744,1736],[1736,1740,1687],[1704,1701,783],[1665,624,1723],[1722,1130,67],[1025,1055,467],[1444,14,1701],[558,522,530],[1657,1658,1688],[1339,1746,1332],[1332,1748,
1744],[1687,1740,1749],[1741,1749,1758],[1109,952,1742],[1747,118,141],[1671,1690,1628],[1671,1628,16],[1657,1688,1656],[1745,748,1447],[357,767,1710],[1746,1748,1332],[1146,1700,1698],[1759,1307,1338],[1239,781,1322],[1745,1447,1747],[522,1745,1747],[316,717,595],[148,1493,1724],[1758,1109,1742],[1725,1072,679],[726,719,1661],[1695,1680,1526],[1772,1750,1493],[148,1772,1493],[1542,1751,1101],[952,1109,1086],[1744,1752,1736],[1736,1752,1740],[1753,1755,1740],[391,1342,1736],[821,112,1520],[557,530,
1747],[530,522,1747],[994,879,645],[1542,1756,1751],[1813,1693,1703],[1746,1754,1748],[1748,1764,1744],[1752,1757,1740],[1740,1757,1753],[1749,1740,1755],[1755,1763,1749],[1763,1758,1749],[1275,1743,684],[1813,1735,1693],[1107,1099,1101],[1723,624,1804],[1403,1603,1609],[1748,1754,1764],[1744,1757,1752],[1760,1109,1758],[1465,1736,1342],[436,115,99],[1686,1738,1275],[1751,1766,1101],[1759,1754,1746],[1755,1753,1763],[1570,1279,853],[1701,1146,750],[1655,1656,1671],[11,1670,1218],[1761,1751,1756],
[1766,1107,1101],[1726,1623,1731],[1711,1704,1279],[67,784,68],[558,530,545],[1620,1618,1233],[1769,1761,1756],[102,1687,344],[1338,1754,1759],[1754,232,1764],[1744,1765,1757],[1757,1763,1753],[1762,1760,1758],[1760,1771,1109],[1339,1759,1746],[1675,1665,1134],[1730,1696,1722],[1774,1751,1761],[1766,1780,1107],[1780,1105,1107],[1764,1765,1744],[1763,1762,1758],[1772,1773,1750],[1811,1813,1703],[1434,1769,1432],[1780,1766,1751],[232,1781,1764],[1711,1279,1570],[1688,1,0],[1774,1780,1751],[1764,1781,
1765],[1765,1768,1757],[1757,1768,1763],[1777,1782,1760],[1762,1777,1760],[1769,1774,1761],[1763,1777,1762],[1760,1782,1771],[232,1737,1781],[1768,1776,1763],[272,255,774],[1669,994,661],[1618,1769,1434],[1765,589,1768],[1770,1777,1763],[1701,1729,783],[1783,1774,1769],[1789,1780,1774],[589,1775,1768],[1776,1770,1763],[1782,1778,1771],[1771,1778,1070],[624,1703,1773],[624,1811,1703],[1620,1244,1618],[1779,1769,1618],[1779,1783,1769],[739,1735,1813],[1775,1776,1768],[1790,1777,1770],[1777,1778,1782],
[1725,679,1721],[733,1293,1458],[1802,1618,1244],[1802,1779,1618],[1788,1783,1779],[1789,1774,1783],[1796,1780,1789],[1796,1119,1780],[1823,1817,325],[1699,1727,1623],[750,1146,1730],[1497,1724,296],[1128,1119,1796],[61,62,71],[1131,413,824],[1114,1111,249],[1784,1776,1775],[1123,723,1283],[1791,1788,1779],[1788,1789,1783],[1095,1797,1074],[1028,1784,1775],[1784,1770,1776],[1777,1790,1778],[1793,1797,1095],[1797,1800,1074],[1798,1790,1770],[1805,1802,1244],[1802,1791,1779],[1792,1789,1788],[1793,
1785,1128],[1793,1095,1785],[1074,1800,1619],[741,457,593],[1798,1770,1784],[1798,1794,1790],[1786,1689,1713],[684,1726,1718],[1728,1085,793],[1795,1787,1502],[1806,1802,1805],[1819,1788,1791],[1067,1798,1784],[1790,1794,1778],[1795,1502,1124],[1801,1805,1787],[1807,1791,1802],[1807,1819,1791],[1819,1792,1788],[1799,1128,1796],[994,645,661],[684,1085,1728],[684,1718,1085],[1699,1623,1726],[1801,1787,1795],[1808,1789,1792],[1808,1796,1789],[1799,1793,1128],[1809,1797,1793],[1809,1803,1797],[1803,1800,
1797],[1067,1794,1798],[774,255,1778],[1673,1671,1679],[879,1669,888],[19,1807,1802],[1810,1619,1800],[879,994,1669],[1794,774,1778],[1723,1772,148],[1804,1773,1772],[1814,1795,1124],[1649,1814,1124],[1814,1801,1795],[1812,1806,1805],[19,1802,1806],[19,1819,1807],[1810,1800,1803],[1804,624,1773],[1714,1131,824],[1801,1812,1805],[1812,19,1806],[1808,1792,1819],[1799,1809,1793],[1821,1810,1803],[1717,739,1813],[1061,1619,1822],[1794,1817,774],[79,1482,144],[1815,1801,1814],[23,1819,19],[589,1028,1775],
[1817,1823,774],[1689,1719,1713],[1824,1814,1649],[1827,1818,1801],[1818,1812,1801],[1818,19,1812],[1818,20,19],[1816,1809,1799],[1821,1803,1809],[1822,1619,1810],[124,708,608],[1663,10,1715],[1815,1827,1801],[1820,1808,1819],[23,1820,1819],[603,1810,1821],[603,1822,1810],[1085,1697,793],[1628,1690,11],[1527,1704,1624],[1730,1072,1729],[1526,1444,1704],[1526,1680,1444],[1704,1444,1701],[1816,1821,1809],[1722,67,68],[317,272,1823],[1716,1713,1721],[16,1628,1767],[1527,1526,1704],[1824,1826,1814],[1814,
1826,1815],[1818,21,20],[1835,1808,1820],[603,570,1822],[226,1070,1778],[1013,1181,1179],[1721,679,1664],[1717,1813,1811],[1828,1827,1815],[22,1820,23],[22,1835,1820],[1830,603,1821],[719,1659,5],[643,567,1657],[1717,794,739],[1825,1826,1824],[1828,1815,1826],[1829,21,1818],[1808,1835,13],[4,719,5],[10,1662,1715],[1828,1832,1827],[1832,1818,1827],[12,1833,1816],[1833,1821,1816],[1833,1830,1821],[14,1146,1701],[1186,1829,1818],[1280,603,1830],[14,1700,1146],[1667,1728,1130],[1825,1834,1826],[1834,
1828,1826],[1832,1186,1818],[1836,13,1835],[1624,1711,1570],[778,1624,1570],[1719,1725,1721],[1002,1825,1831],[1002,1834,1825],[1834,1832,1828],[1186,21,1829],[1836,1835,22],[1837,1833,12],[1280,1830,1833],[1667,1275,1728],[16,1767,1084],[589,1765,1838],[1765,1781,1838],[1781,1737,1838],[1737,982,1838],[982,1053,1838],[1053,816,1838],[816,589,1838]]},{}],3:[function(d,c,f){var a=d("element-size");c.exports=function(e,g,h){function m(){var g=m.parent||e.parentNode;if("function"===typeof g)var h=g(b)||
b,g=h[0],h=h[1];else g&&g!==document.body?(h=a(g),g=h[0]|0,h=h[1]|0):(g=window.innerWidth,h=window.innerHeight);d?(e.setAttribute("width",g*m.scale+"px"),e.setAttribute("height",h*m.scale+"px")):(e.width=g*m.scale,e.height=h*m.scale);e.style.width=g+"px";e.style.height=h+"px";return m}var d="SVG"===e.nodeName.toUpperCase();e.style.position=e.style.position||"absolute";e.style.top=0;e.style.left=0;m.scale=parseFloat(h||1);m.parent=g;return m()};var b=new Float32Array(2)},{"element-size":4}],4:[function(d,
c,f){function a(a){return parseFloat(a)||0}c.exports=function(b){if(b===window||b===document.body)return[window.innerWidth,window.innerHeight];if(!b.parentNode){var e=!0;document.body.appendChild(b)}var g=b.getBoundingClientRect(),h=getComputedStyle(b),m=(g.height|0)+a(h.getPropertyValue("margin-top"))+a(h.getPropertyValue("margin-bottom")),g=(g.width|0)+a(h.getPropertyValue("margin-left"))+a(h.getPropertyValue("margin-right"));e&&document.body.removeChild(b);return[g,m]}},{}],5:[function(d,c,f){c.exports=
function(a,b){var e=b[0],g=b[1],h=b[2],m=b[3],d=b[4],c=b[5],l=b[6],t=b[7],f=b[8],p=b[9],n=b[10],z=b[11],u=b[12],r=b[13],A=b[14],B=b[15];a[0]=c*(n*B-z*A)-p*(l*B-t*A)+r*(l*z-t*n);a[1]=-(g*(n*B-z*A)-p*(h*B-m*A)+r*(h*z-m*n));a[2]=g*(l*B-t*A)-c*(h*B-m*A)+r*(h*t-m*l);a[3]=-(g*(l*z-t*n)-c*(h*z-m*n)+p*(h*t-m*l));a[4]=-(d*(n*B-z*A)-f*(l*B-t*A)+u*(l*z-t*n));a[5]=e*(n*B-z*A)-f*(h*B-m*A)+u*(h*z-m*n);a[6]=-(e*(l*B-t*A)-d*(h*B-m*A)+u*(h*t-m*l));a[7]=e*(l*z-t*n)-d*(h*z-m*n)+f*(h*t-m*l);a[8]=d*(p*B-z*r)-f*(c*B-t*
r)+u*(c*z-t*p);a[9]=-(e*(p*B-z*r)-f*(g*B-m*r)+u*(g*z-m*p));a[10]=e*(c*B-t*r)-d*(g*B-m*r)+u*(g*t-m*c);a[11]=-(e*(c*z-t*p)-d*(g*z-m*p)+f*(g*t-m*c));a[12]=-(d*(p*A-n*r)-f*(c*A-l*r)+u*(c*n-l*p));a[13]=e*(p*A-n*r)-f*(g*A-h*r)+u*(g*n-h*p);a[14]=-(e*(c*A-l*r)-d*(g*A-h*r)+u*(g*l-h*c));a[15]=e*(c*n-l*p)-d*(g*n-h*p)+f*(g*l-h*c);return a}},{}],6:[function(d,c,f){c.exports=function(a){var b=new Float32Array(16);b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];
b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return b}},{}],7:[function(d,c,f){c.exports=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];a[3]=b[3];a[4]=b[4];a[5]=b[5];a[6]=b[6];a[7]=b[7];a[8]=b[8];a[9]=b[9];a[10]=b[10];a[11]=b[11];a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a}},{}],8:[function(d,c,f){c.exports=function(){var a=new Float32Array(16);a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;
return a}},{}],9:[function(d,c,f){c.exports=function(a){var b=a[0],e=a[1],g=a[2],h=a[3],m=a[4],c=a[5],d=a[6],l=a[7],f=a[8],x=a[9],p=a[10],n=a[11],z=a[12],u=a[13],r=a[14];a=a[15];return(b*c-e*m)*(p*a-n*r)-(b*d-g*m)*(x*a-n*u)+(b*l-h*m)*(x*r-p*u)+(e*d-g*c)*(f*a-n*z)-(e*l-h*c)*(f*r-p*z)+(g*l-h*d)*(f*u-x*z)}},{}],10:[function(d,c,f){c.exports=function(a,b){var e=b[0],g=b[1],h=b[2],m=b[3],c=e+e,d=g+g,l=h+h,e=e*c,f=g*c,g=g*d,x=h*c,p=h*d,h=h*l,c=m*c,d=m*d,m=m*l;a[0]=1-g-h;a[1]=f+m;a[2]=x-d;a[3]=0;a[4]=f-
m;a[5]=1-e-h;a[6]=p+c;a[7]=0;a[8]=x+d;a[9]=p-c;a[10]=1-e-g;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a}},{}],11:[function(d,c,f){c.exports=function(a,b,e){var g=b[0],h=b[1],m=b[2],c=b[3],d=g+g,l=h+h,f=m+m;b=g*d;var x=g*l,g=g*f,p=h*l,h=h*f,m=m*f,d=c*d,l=c*l,c=c*f;a[0]=1-(p+m);a[1]=x+c;a[2]=g-l;a[3]=0;a[4]=x-c;a[5]=1-(b+m);a[6]=h+d;a[7]=0;a[8]=g+l;a[9]=h-d;a[10]=1-(b+p);a[11]=0;a[12]=e[0];a[13]=e[1];a[14]=e[2];a[15]=1;return a}},{}],12:[function(d,c,f){c.exports=function(a,b,e,g,h,m,c){var d=1/
(e-b),l=1/(h-g),f=1/(m-c);a[0]=2*m*d;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=2*m*l;a[6]=0;a[7]=0;a[8]=(e+b)*d;a[9]=(h+g)*l;a[10]=(c+m)*f;a[11]=-1;a[12]=0;a[13]=0;a[14]=c*m*2*f;a[15]=0;return a}},{}],13:[function(d,c,f){c.exports=function(a){a[0]=1;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=1;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=1;a[11]=0;a[12]=0;a[13]=0;a[14]=0;a[15]=1;return a}},{}],14:[function(d,c,f){c.exports={create:d("./create"),clone:d("./clone"),copy:d("./copy"),identity:d("./identity"),transpose:d("./transpose"),
invert:d("./invert"),adjoint:d("./adjoint"),determinant:d("./determinant"),multiply:d("./multiply"),translate:d("./translate"),scale:d("./scale"),rotate:d("./rotate"),rotateX:d("./rotateX"),rotateY:d("./rotateY"),rotateZ:d("./rotateZ"),fromRotationTranslation:d("./fromRotationTranslation"),fromQuat:d("./fromQuat"),frustum:d("./frustum"),perspective:d("./perspective"),perspectiveFromFieldOfView:d("./perspectiveFromFieldOfView"),ortho:d("./ortho"),lookAt:d("./lookAt"),str:d("./str")}},{"./adjoint":5,
"./clone":6,"./copy":7,"./create":8,"./determinant":9,"./fromQuat":10,"./fromRotationTranslation":11,"./frustum":12,"./identity":13,"./invert":15,"./lookAt":16,"./multiply":17,"./ortho":18,"./perspective":19,"./perspectiveFromFieldOfView":20,"./rotate":21,"./rotateX":22,"./rotateY":23,"./rotateZ":24,"./scale":25,"./str":26,"./translate":27,"./transpose":28}],15:[function(d,c,f){c.exports=function(a,b){var e=b[0],g=b[1],h=b[2],m=b[3],c=b[4],d=b[5],l=b[6],f=b[7],x=b[8],p=b[9],n=b[10],z=b[11],u=b[12],
r=b[13],A=b[14],B=b[15],y=e*d-g*c,v=e*l-h*c,G=e*f-m*c,I=g*l-h*d,Q=g*f-m*d,N=h*f-m*l,Z=x*r-p*u,S=x*A-n*u,ba=x*B-z*u,ya=p*A-n*r,U=p*B-z*r,J=n*B-z*A,H=y*J-v*U+G*ya+I*ba-Q*S+N*Z;if(!H)return null;H=1/H;a[0]=(d*J-l*U+f*ya)*H;a[1]=(h*U-g*J-m*ya)*H;a[2]=(r*N-A*Q+B*I)*H;a[3]=(n*Q-p*N-z*I)*H;a[4]=(l*ba-c*J-f*S)*H;a[5]=(e*J-h*ba+m*S)*H;a[6]=(A*G-u*N-B*v)*H;a[7]=(x*N-n*G+z*v)*H;a[8]=(c*U-d*ba+f*Z)*H;a[9]=(g*ba-e*U-m*Z)*H;a[10]=(u*Q-r*G+B*y)*H;a[11]=(p*G-x*Q-z*y)*H;a[12]=(d*S-c*ya-l*Z)*H;a[13]=(e*ya-g*S+h*Z)*
H;a[14]=(r*v-u*I-A*y)*H;a[15]=(x*I-p*v+n*y)*H;return a}},{}],16:[function(d,c,f){var a=d("./identity");c.exports=function(b,e,g,h){var m,c,d,l,f,x,p,n,z=e[0],u=e[1];e=e[2];d=h[0];l=h[1];c=h[2];p=g[0];h=g[1];m=g[2];if(1E-6>Math.abs(z-p)&&1E-6>Math.abs(u-h)&&1E-6>Math.abs(e-m))return a(b);g=z-p;h=u-h;p=e-m;n=1/Math.sqrt(g*g+h*h+p*p);g*=n;h*=n;p*=n;m=l*p-c*h;c=c*g-d*p;d=d*h-l*g;(n=Math.sqrt(m*m+c*c+d*d))?(n=1/n,m*=n,c*=n,d*=n):d=c=m=0;l=h*d-p*c;f=p*m-g*d;x=g*c-h*m;(n=Math.sqrt(l*l+f*f+x*x))?(n=1/n,l*=
n,f*=n,x*=n):x=f=l=0;b[0]=m;b[1]=l;b[2]=g;b[3]=0;b[4]=c;b[5]=f;b[6]=h;b[7]=0;b[8]=d;b[9]=x;b[10]=p;b[11]=0;b[12]=-(m*z+c*u+d*e);b[13]=-(l*z+f*u+x*e);b[14]=-(g*z+h*u+p*e);b[15]=1;return b}},{"./identity":13}],17:[function(d,c,f){c.exports=function(a,b,e){var g=b[0],h=b[1],c=b[2],d=b[3],f=b[4],l=b[5],t=b[6],x=b[7],p=b[8],n=b[9],z=b[10],u=b[11],r=b[12],A=b[13],B=b[14];b=b[15];var y=e[0],v=e[1],G=e[2],I=e[3];a[0]=y*g+v*f+G*p+I*r;a[1]=y*h+v*l+G*n+I*A;a[2]=y*c+v*t+G*z+I*B;a[3]=y*d+v*x+G*u+I*b;y=e[4];v=
e[5];G=e[6];I=e[7];a[4]=y*g+v*f+G*p+I*r;a[5]=y*h+v*l+G*n+I*A;a[6]=y*c+v*t+G*z+I*B;a[7]=y*d+v*x+G*u+I*b;y=e[8];v=e[9];G=e[10];I=e[11];a[8]=y*g+v*f+G*p+I*r;a[9]=y*h+v*l+G*n+I*A;a[10]=y*c+v*t+G*z+I*B;a[11]=y*d+v*x+G*u+I*b;y=e[12];v=e[13];G=e[14];I=e[15];a[12]=y*g+v*f+G*p+I*r;a[13]=y*h+v*l+G*n+I*A;a[14]=y*c+v*t+G*z+I*B;a[15]=y*d+v*x+G*u+I*b;return a}},{}],18:[function(d,c,f){c.exports=function(a,b,e,g,h,c,d){var f=1/(b-e),l=1/(g-h),t=1/(c-d);a[0]=-2*f;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=-2*l;a[6]=0;a[7]=
0;a[8]=0;a[9]=0;a[10]=2*t;a[11]=0;a[12]=(b+e)*f;a[13]=(h+g)*l;a[14]=(d+c)*t;a[15]=1;return a}},{}],19:[function(d,c,f){c.exports=function(a,b,e,g,h){b=1/Math.tan(b/2);var c=1/(g-h);a[0]=b/e;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=b;a[6]=0;a[7]=0;a[8]=0;a[9]=0;a[10]=(h+g)*c;a[11]=-1;a[12]=0;a[13]=0;a[14]=2*h*g*c;a[15]=0;return a}},{}],20:[function(d,c,f){c.exports=function(a,b,e,g){var h=Math.tan(b.upDegrees*Math.PI/180),c=Math.tan(b.downDegrees*Math.PI/180),d=Math.tan(b.leftDegrees*Math.PI/180);b=Math.tan(b.rightDegrees*
Math.PI/180);var f=2/(d+b),l=2/(h+c);a[0]=f;a[1]=0;a[2]=0;a[3]=0;a[4]=0;a[5]=l;a[6]=0;a[7]=0;a[8]=-((d-b)*f*.5);a[9]=(h-c)*l*.5;a[10]=g/(e-g);a[11]=-1;a[12]=0;a[13]=0;a[14]=g*e/(e-g);a[15]=0;return a}},{}],21:[function(d,c,f){c.exports=function(a,b,e,g){var h=g[0],c=g[1];g=g[2];var d=Math.sqrt(h*h+c*c+g*g),f,l,t,x,p,n,z,u,r,A,B,y,v,G,I,Q,N,Z,S,ba;if(1E-6>Math.abs(d))return null;d=1/d;h*=d;c*=d;g*=d;f=Math.sin(e);l=Math.cos(e);t=1-l;e=b[0];d=b[1];x=b[2];p=b[3];n=b[4];z=b[5];u=b[6];r=b[7];A=b[8];B=
b[9];y=b[10];v=b[11];G=h*h*t+l;I=c*h*t+g*f;Q=g*h*t-c*f;N=h*c*t-g*f;Z=c*c*t+l;S=g*c*t+h*f;ba=h*g*t+c*f;h=c*g*t-h*f;c=g*g*t+l;a[0]=e*G+n*I+A*Q;a[1]=d*G+z*I+B*Q;a[2]=x*G+u*I+y*Q;a[3]=p*G+r*I+v*Q;a[4]=e*N+n*Z+A*S;a[5]=d*N+z*Z+B*S;a[6]=x*N+u*Z+y*S;a[7]=p*N+r*Z+v*S;a[8]=e*ba+n*h+A*c;a[9]=d*ba+z*h+B*c;a[10]=x*ba+u*h+y*c;a[11]=p*ba+r*h+v*c;b!==a&&(a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);return a}},{}],22:[function(d,c,f){c.exports=function(a,b,e){var g=Math.sin(e);e=Math.cos(e);var c=b[4],d=b[5],
f=b[6],w=b[7],l=b[8],t=b[9],x=b[10],p=b[11];b!==a&&(a[0]=b[0],a[1]=b[1],a[2]=b[2],a[3]=b[3],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[4]=c*e+l*g;a[5]=d*e+t*g;a[6]=f*e+x*g;a[7]=w*e+p*g;a[8]=l*e-c*g;a[9]=t*e-d*g;a[10]=x*e-f*g;a[11]=p*e-w*g;return a}},{}],23:[function(d,c,f){c.exports=function(a,b,e){var g=Math.sin(e);e=Math.cos(e);var c=b[0],d=b[1],f=b[2],w=b[3],l=b[8],t=b[9],x=b[10],p=b[11];b!==a&&(a[4]=b[4],a[5]=b[5],a[6]=b[6],a[7]=b[7],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=
c*e-l*g;a[1]=d*e-t*g;a[2]=f*e-x*g;a[3]=w*e-p*g;a[8]=c*g+l*e;a[9]=d*g+t*e;a[10]=f*g+x*e;a[11]=w*g+p*e;return a}},{}],24:[function(d,c,f){c.exports=function(a,b,e){var g=Math.sin(e);e=Math.cos(e);var c=b[0],d=b[1],f=b[2],w=b[3],l=b[4],t=b[5],x=b[6],p=b[7];b!==a&&(a[8]=b[8],a[9]=b[9],a[10]=b[10],a[11]=b[11],a[12]=b[12],a[13]=b[13],a[14]=b[14],a[15]=b[15]);a[0]=c*e+l*g;a[1]=d*e+t*g;a[2]=f*e+x*g;a[3]=w*e+p*g;a[4]=l*e-c*g;a[5]=t*e-d*g;a[6]=x*e-f*g;a[7]=p*e-w*g;return a}},{}],25:[function(d,c,f){c.exports=
function(a,b,e){var g=e[0],c=e[1];e=e[2];a[0]=b[0]*g;a[1]=b[1]*g;a[2]=b[2]*g;a[3]=b[3]*g;a[4]=b[4]*c;a[5]=b[5]*c;a[6]=b[6]*c;a[7]=b[7]*c;a[8]=b[8]*e;a[9]=b[9]*e;a[10]=b[10]*e;a[11]=b[11]*e;a[12]=b[12];a[13]=b[13];a[14]=b[14];a[15]=b[15];return a}},{}],26:[function(d,c,f){c.exports=function(a){return"mat4("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+", "+a[4]+", "+a[5]+", "+a[6]+", "+a[7]+", "+a[8]+", "+a[9]+", "+a[10]+", "+a[11]+", "+a[12]+", "+a[13]+", "+a[14]+", "+a[15]+")"}},{}],27:[function(d,c,f){c.exports=
function(a,b,e){var g=e[0],c=e[1];e=e[2];var d,f,w,l,t,x,p,n,z,u,r,A;b===a?(a[12]=b[0]*g+b[4]*c+b[8]*e+b[12],a[13]=b[1]*g+b[5]*c+b[9]*e+b[13],a[14]=b[2]*g+b[6]*c+b[10]*e+b[14],a[15]=b[3]*g+b[7]*c+b[11]*e+b[15]):(d=b[0],f=b[1],w=b[2],l=b[3],t=b[4],x=b[5],p=b[6],n=b[7],z=b[8],u=b[9],r=b[10],A=b[11],a[0]=d,a[1]=f,a[2]=w,a[3]=l,a[4]=t,a[5]=x,a[6]=p,a[7]=n,a[8]=z,a[9]=u,a[10]=r,a[11]=A,a[12]=d*g+t*c+z*e+b[12],a[13]=f*g+x*c+u*e+b[13],a[14]=w*g+p*c+r*e+b[14],a[15]=l*g+n*c+A*e+b[15]);return a}},{}],28:[function(d,
c,f){c.exports=function(a,b){if(a===b){var e=b[1],g=b[2],c=b[3],d=b[6],f=b[7],w=b[11];a[1]=b[4];a[2]=b[8];a[3]=b[12];a[4]=e;a[6]=b[9];a[7]=b[13];a[8]=g;a[9]=d;a[11]=b[14];a[12]=c;a[13]=f;a[14]=w}else a[0]=b[0],a[1]=b[4],a[2]=b[8],a[3]=b[12],a[4]=b[1],a[5]=b[5],a[6]=b[9],a[7]=b[13],a[8]=b[2],a[9]=b[6],a[10]=b[10],a[11]=b[14],a[12]=b[3],a[13]=b[7],a[14]=b[11],a[15]=b[15];return a}},{}],29:[function(d,c,f){c.exports=function(a,b,e){a[0]=b[0]+e[0];a[1]=b[1]+e[1];a[2]=b[2]+e[2];return a}},{}],30:[function(d,
c,f){c.exports=function(g,c){var d=a(g[0],g[1],g[2]),f=a(c[0],c[1],c[2]);b(d,d);b(f,f);d=e(d,f);return 1<d?0:Math.acos(d)};var a=d("./fromValues"),b=d("./normalize"),e=d("./dot")},{"./dot":37,"./fromValues":39,"./normalize":48}],31:[function(d,c,f){c.exports=function(a){var b=new Float32Array(3);b[0]=a[0];b[1]=a[1];b[2]=a[2];return b}},{}],32:[function(d,c,f){c.exports=function(a,b){a[0]=b[0];a[1]=b[1];a[2]=b[2];return a}},{}],33:[function(d,c,f){c.exports=function(){var a=new Float32Array(3);a[0]=
0;a[1]=0;a[2]=0;return a}},{}],34:[function(d,c,f){c.exports=function(a,b,e){var g=b[0],c=b[1];b=b[2];var d=e[0],f=e[1];e=e[2];a[0]=c*e-b*f;a[1]=b*d-g*e;a[2]=g*f-c*d;return a}},{}],35:[function(d,c,f){c.exports=function(a,b){var e=b[0]-a[0],c=b[1]-a[1],d=b[2]-a[2];return Math.sqrt(e*e+c*c+d*d)}},{}],36:[function(d,c,f){c.exports=function(a,b,e){a[0]=b[0]/e[0];a[1]=b[1]/e[1];a[2]=b[2]/e[2];return a}},{}],37:[function(d,c,f){c.exports=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}},{}],38:[function(d,
c,f){c.exports=function(b,e,c,d,f,C){e||(e=3);c||(c=0);for(d=d?Math.min(d*e+c,b.length):b.length;c<d;c+=e)a[0]=b[c],a[1]=b[c+1],a[2]=b[c+2],f(a,a,C),b[c]=a[0],b[c+1]=a[1],b[c+2]=a[2];return b};var a=d("./create")()},{"./create":33}],39:[function(d,c,f){c.exports=function(a,b,e){var c=new Float32Array(3);c[0]=a;c[1]=b;c[2]=e;return c}},{}],40:[function(d,c,f){c.exports={create:d("./create"),clone:d("./clone"),angle:d("./angle"),fromValues:d("./fromValues"),copy:d("./copy"),set:d("./set"),add:d("./add"),
subtract:d("./subtract"),multiply:d("./multiply"),divide:d("./divide"),min:d("./min"),max:d("./max"),scale:d("./scale"),scaleAndAdd:d("./scaleAndAdd"),distance:d("./distance"),squaredDistance:d("./squaredDistance"),length:d("./length"),squaredLength:d("./squaredLength"),negate:d("./negate"),inverse:d("./inverse"),normalize:d("./normalize"),dot:d("./dot"),cross:d("./cross"),lerp:d("./lerp"),random:d("./random"),transformMat4:d("./transformMat4"),transformMat3:d("./transformMat3"),transformQuat:d("./transformQuat"),
rotateX:d("./rotateX"),rotateY:d("./rotateY"),rotateZ:d("./rotateZ"),forEach:d("./forEach")}},{"./add":29,"./angle":30,"./clone":31,"./copy":32,"./create":33,"./cross":34,"./distance":35,"./divide":36,"./dot":37,"./forEach":38,"./fromValues":39,"./inverse":41,"./length":42,"./lerp":43,"./max":44,"./min":45,"./multiply":46,"./negate":47,"./normalize":48,"./random":49,"./rotateX":50,"./rotateY":51,"./rotateZ":52,"./scale":53,"./scaleAndAdd":54,"./set":55,"./squaredDistance":56,"./squaredLength":57,
"./subtract":58,"./transformMat3":59,"./transformMat4":60,"./transformQuat":61}],41:[function(d,c,f){c.exports=function(a,b){a[0]=1/b[0];a[1]=1/b[1];a[2]=1/b[2];return a}},{}],42:[function(d,c,f){c.exports=function(a){var b=a[0],e=a[1];a=a[2];return Math.sqrt(b*b+e*e+a*a)}},{}],43:[function(d,c,f){c.exports=function(a,b,e,c){var d=b[0],f=b[1];b=b[2];a[0]=d+c*(e[0]-d);a[1]=f+c*(e[1]-f);a[2]=b+c*(e[2]-b);return a}},{}],44:[function(d,c,f){c.exports=function(a,b,e){a[0]=Math.max(b[0],e[0]);a[1]=Math.max(b[1],
e[1]);a[2]=Math.max(b[2],e[2]);return a}},{}],45:[function(d,c,f){c.exports=function(a,b,e){a[0]=Math.min(b[0],e[0]);a[1]=Math.min(b[1],e[1]);a[2]=Math.min(b[2],e[2]);return a}},{}],46:[function(d,c,f){c.exports=function(a,b,e){a[0]=b[0]*e[0];a[1]=b[1]*e[1];a[2]=b[2]*e[2];return a}},{}],47:[function(d,c,f){c.exports=function(a,b){a[0]=-b[0];a[1]=-b[1];a[2]=-b[2];return a}},{}],48:[function(d,c,f){c.exports=function(a,b){var e=b[0],c=b[1],d=b[2],e=e*e+c*c+d*d;0<e&&(e=1/Math.sqrt(e),a[0]=b[0]*e,a[1]=
b[1]*e,a[2]=b[2]*e);return a}},{}],49:[function(d,c,f){c.exports=function(a,b){b=b||1;var e=2*Math.random()*Math.PI,c=2*Math.random()-1,d=Math.sqrt(1-c*c)*b;a[0]=Math.cos(e)*d;a[1]=Math.sin(e)*d;a[2]=c*b;return a}},{}],50:[function(d,c,f){c.exports=function(a,b,e,c){var d=[],f=[];d[0]=b[0]-e[0];d[1]=b[1]-e[1];d[2]=b[2]-e[2];f[0]=d[0];f[1]=d[1]*Math.cos(c)-d[2]*Math.sin(c);f[2]=d[1]*Math.sin(c)+d[2]*Math.cos(c);a[0]=f[0]+e[0];a[1]=f[1]+e[1];a[2]=f[2]+e[2];return a}},{}],51:[function(d,c,f){c.exports=
function(a,b,e,c){var d=[],f=[];d[0]=b[0]-e[0];d[1]=b[1]-e[1];d[2]=b[2]-e[2];f[0]=d[2]*Math.sin(c)+d[0]*Math.cos(c);f[1]=d[1];f[2]=d[2]*Math.cos(c)-d[0]*Math.sin(c);a[0]=f[0]+e[0];a[1]=f[1]+e[1];a[2]=f[2]+e[2];return a}},{}],52:[function(d,c,f){c.exports=function(a,b,e,c){var d=[],f=[];d[0]=b[0]-e[0];d[1]=b[1]-e[1];d[2]=b[2]-e[2];f[0]=d[0]*Math.cos(c)-d[1]*Math.sin(c);f[1]=d[0]*Math.sin(c)+d[1]*Math.cos(c);f[2]=d[2];a[0]=f[0]+e[0];a[1]=f[1]+e[1];a[2]=f[2]+e[2];return a}},{}],53:[function(d,c,f){c.exports=
function(a,b,e){a[0]=b[0]*e;a[1]=b[1]*e;a[2]=b[2]*e;return a}},{}],54:[function(d,c,f){c.exports=function(a,b,e,c){a[0]=b[0]+e[0]*c;a[1]=b[1]+e[1]*c;a[2]=b[2]+e[2]*c;return a}},{}],55:[function(d,c,f){c.exports=function(a,b,e,c){a[0]=b;a[1]=e;a[2]=c;return a}},{}],56:[function(d,c,f){c.exports=function(a,b){var e=b[0]-a[0],c=b[1]-a[1],d=b[2]-a[2];return e*e+c*c+d*d}},{}],57:[function(d,c,f){c.exports=function(a){var b=a[0],e=a[1];a=a[2];return b*b+e*e+a*a}},{}],58:[function(d,c,f){c.exports=function(a,
b,e){a[0]=b[0]-e[0];a[1]=b[1]-e[1];a[2]=b[2]-e[2];return a}},{}],59:[function(d,c,f){c.exports=function(a,b,e){var c=b[0],d=b[1];b=b[2];a[0]=c*e[0]+d*e[3]+b*e[6];a[1]=c*e[1]+d*e[4]+b*e[7];a[2]=c*e[2]+d*e[5]+b*e[8];return a}},{}],60:[function(d,c,f){c.exports=function(a,b,e){var c=b[0],d=b[1];b=b[2];var f=e[3]*c+e[7]*d+e[11]*b+e[15],f=f||1;a[0]=(e[0]*c+e[4]*d+e[8]*b+e[12])/f;a[1]=(e[1]*c+e[5]*d+e[9]*b+e[13])/f;a[2]=(e[2]*c+e[6]*d+e[10]*b+e[14])/f;return a}},{}],61:[function(d,c,f){c.exports=function(a,
b,e){var c=b[0],d=b[1],f=b[2];b=e[0];var C=e[1],w=e[2];e=e[3];var l=e*c+C*f-w*d,t=e*d+w*c-b*f,x=e*f+b*d-C*c,c=-b*c-C*d-w*f;a[0]=l*e+c*-b+t*-w-x*-C;a[1]=t*e+c*-C+x*-b-l*-w;a[2]=x*e+c*-w+l*-C-t*-b;return a}},{}],62:[function(d,c,f){c.exports=function(b,e){function c(a){var b=!1;"altKey"in a&&(b=b||a.altKey!==r.alt,r.alt=!!a.altKey);"shiftKey"in a&&(b=b||a.shiftKey!==r.shift,r.shift=!!a.shiftKey);"ctrlKey"in a&&(b=b||a.ctrlKey!==r.control,r.control=!!a.ctrlKey);"metaKey"in a&&(b=b||a.metaKey!==r.meta,
r.meta=!!a.metaKey);return b}function d(b,f){var h=a.x(f),l=a.y(f);"buttons"in f&&(b=f.buttons|0);if(b!==n||h!==z||l!==u||c(f))n=b|0,z=h||0,u=l||0,e&&e(n,z,u,r)}function f(a){d(0,a)}function C(){if(n||z||u||r.shift||r.alt||r.meta||r.control)n=z=u=0,r.shift=r.alt=r.control=r.meta=!1,e&&e(0,0,0,r)}function w(a){c(a)&&e&&e(n,z,u,r)}function l(b){0===a.buttons(b)?d(0,b):d(n,b)}function t(b){d(n|a.buttons(b),b)}function x(b){d(n&~a.buttons(b),b)}function p(){A||(A=!0,b.addEventListener("mousemove",l),
b.addEventListener("mousedown",t),b.addEventListener("mouseup",x),b.addEventListener("mouseleave",f),b.addEventListener("mouseenter",f),b.addEventListener("mouseout",f),b.addEventListener("mouseover",f),b.addEventListener("blur",C),b.addEventListener("keyup",w),b.addEventListener("keydown",w),b.addEventListener("keypress",w),b!==window&&(window.addEventListener("blur",C),window.addEventListener("keyup",w),window.addEventListener("keydown",w),window.addEventListener("keypress",w)))}e||(e=b,b=window);
var n=0,z=0,u=0,r={shift:!1,alt:!1,control:!1,meta:!1},A=!1;p();var B={element:b};Object.defineProperties(B,{enabled:{get:function(){return A},set:function(a){a?p():A&&(A=!1,b.removeEventListener("mousemove",l),b.removeEventListener("mousedown",t),b.removeEventListener("mouseup",x),b.removeEventListener("mouseleave",f),b.removeEventListener("mouseenter",f),b.removeEventListener("mouseout",f),b.removeEventListener("mouseover",f),b.removeEventListener("blur",C),b.removeEventListener("keyup",w),b.removeEventListener("keydown",
w),b.removeEventListener("keypress",w),b!==window&&(window.removeEventListener("blur",C),window.removeEventListener("keyup",w),window.removeEventListener("keydown",w),window.removeEventListener("keypress",w)))},enumerable:!0},buttons:{get:function(){return n},enumerable:!0},x:{get:function(){return z},enumerable:!0},y:{get:function(){return u},enumerable:!0},mods:{get:function(){return r},enumerable:!0}});return B};var a=d("mouse-event")},{"mouse-event":63}],63:[function(d,c,f){function a(a){return a.target||
a.srcElement||window}f.buttons=function(a){if("object"===typeof a){if("buttons"in a)return a.buttons;if("which"in a){a=a.which;if(2===a)return 4;if(3===a)return 2;if(0<a)return 1<<a-1}else if("button"in a){a=a.button;if(1===a)return 4;if(2===a)return 2;if(0<=a)return 1<<a}}return 0};f.element=a;f.x=function(b){if("object"===typeof b){if("offsetX"in b)return b.offsetX;var e=a(b).getBoundingClientRect();return b.clientX-e.left}return 0};f.y=function(b){if("object"===typeof b){if("offsetY"in b)return b.offsetY;
var e=a(b).getBoundingClientRect();return b.clientY-e.top}return 0}},{}],64:[function(d,c,f){var a=d("to-px");c.exports=function(b,e,c){"function"===typeof b&&(c=!!e,e=b,b=window);var d=a("ex",b),f=function(a){c&&a.preventDefault();var b=a.deltaX||0,f=a.deltaY||0,m=a.deltaZ||0,x=1;switch(a.deltaMode){case 1:x=d;break;case 2:x=window.innerHeight}b*=x;f*=x;m*=x;if(b||f||m)return e(b,f,m,a)};b.addEventListener("wheel",f);return f}},{"to-px":68}],65:[function(d,c,f){c.exports=function(a,b){b||(b=[0,""]);
a=String(a);var c=parseFloat(a,10);b[0]=c;b[1]=a.match(/[\d.\-\+]*\s*(.*)/)[1]||"";return b}},{}],66:[function(d,c,f){var a=d("mouse-change"),b=d("mouse-wheel"),e=d("gl-mat4/identity"),g=d("gl-mat4/perspective"),h=d("gl-mat4/lookAt");c.exports=function(c,d){function f(a){a*=.9;return.1>Math.abs(a)?0:a}function t(a){Object.keys(a).forEach(function(b){n[b]=a[b]});var b=n.center,c=n.eye,e=n.up,d=n.dtheta,g=n.dphi;n.theta+=d;n.phi=Math.min(Math.max(n.phi+g,-Math.PI/2),Math.PI/2);n.distance=Math.min(Math.max(n.distance+
B,r),A);n.dtheta=f(d);n.dphi=f(g);B=f(B);for(var g=n.theta,m=n.phi,p=Math.exp(n.distance),d=p*Math.sin(g)*Math.cos(m),g=p*Math.cos(g)*Math.cos(m),m=p*Math.sin(m),p=0;3>p;++p)c[p]=b[p]+d*u[p]+g*z[p]+m*e[p];h(n.view,c,b,e)}function x(a,b){b||(b=a,a={});t(a);G(b)}var p=d||{},n={view:e(new Float32Array(16)),projection:e(new Float32Array(16)),center:new Float32Array(p.center||3),theta:p.theta||0,phi:p.phi||0,distance:Math.log(p.distance||10),eye:new Float32Array(3),up:new Float32Array(p.up||[0,1,0]),fovy:p.fovy||
Math.PI/4,near:"undefined"!==typeof p.near?p.near:.01,far:"undefined"!==typeof p.far?p.far:1E3,flipY:!!p.flipY,dtheta:0,dphi:0},z=new Float32Array([1,0,0]),u=new Float32Array([0,0,1]),r=Math.log("minDistance"in p?p.minDistance:.1),A=Math.log("maxDistance"in p?p.maxDistance:1E3),B=0,y=0,v=0;m&&!1!==p.mouse&&(a(function(a,b,c){if(a&1){a=(c-v)/window.innerHeight;var e=Math.max(n.distance,.5);n.dtheta+=(b-y)/window.innerWidth*e;n.dphi+=e*a}y=b;v=c}),b(function(a,b){B+=b/window.innerHeight}));var G=c({context:Object.assign({},
n,{projection:function(a){g(n.projection,n.fovy,a.viewportWidth/a.viewportHeight,n.near,n.far);n.flipY&&(n.projection[5]*=-1);return n.projection}}),uniforms:Object.keys(n).reduce(function(a,b){a[b]=c.context(b);return a},{})});Object.keys(n).forEach(function(a){x[a]=n[a]});return x};var m="undefined"!==typeof window},{"gl-mat4/identity":13,"gl-mat4/lookAt":16,"gl-mat4/perspective":19,"mouse-change":62,"mouse-wheel":64}],67:[function(d,c,f){(function(a,b){"object"===typeof f&&"undefined"!==typeof c?
c.exports=b():"function"===typeof define&&define.amd?define(b):a.createREGL=b()})(this,function(){function a(a){return"undefined"!==typeof btoa?btoa(a):"base64:"+a}function b(a){a=Error("(regl) "+a);console.error(a);throw a;}function c(a,d){a||b(d)}function d(a){return a?": "+a:""}function f(a,c,e){0>c.indexOf(a)&&b("invalid value"+d(e)+". must be one of: "+c)}function m(a,b){for(a+="";a.length<b;)a=" "+a;return a}function C(){this.name="unknown";this.lines=[];this.index={};this.hasErrors=!1}function w(a,
b){this.number=a;this.line=b;this.errors=[]}function l(a,b,c){this.file=a;this.line=b;this.message=c}function t(){var a=Error(),a=(a.stack||a).toString(),b=/compileProcedure.*\n\s*at.*\((.*)\)/.exec(a);return b?b[1]:(a=/compileProcedure.*\n\s*at\s+(.*)(\n|$)/.exec(a))?a[1]:"unknown"}function x(){var a=Error(),a=(a.stack||a).toString(),b=/at REGLCommand.*\n\s+at.*\((.*)\)/.exec(a);return b?b[1]:(a=/at REGLCommand.*\n\s+at\s+(.*)\n/.exec(a))?a[1]:"unknown"}function p(b,c){var d=b.split("\n"),e=1,k=
0,f={unknown:new C,0:new C};f.unknown.name=f[0].name=c||t();f.unknown.lines.push(new w(0,""));for(var g=0;g<d.length;++g){var h=d[g],l=/^\s*\#\s*(\w+)\s+(.+)\s*$/.exec(h);if(l)switch(l[1]){case "line":if(l=/(\d+)(\s+\d+)?/.exec(l[2]))e=l[1]|0,l[2]&&(k=l[2]|0,k in f||(f[k]=new C));break;case "define":if(l=/SHADER_NAME(_B64)?\s+(.*)$/.exec(l[2]))f[k].name=l[1]?a(l[2]):l[2]}f[k].lines.push(new w(e++,h))}Object.keys(f).forEach(function(a){var b=f[a];b.lines.forEach(function(a){b.index[a.number]=a})});
return f}function n(a){var b=[];a.split("\n").forEach(function(a){if(!(5>a.length)){var q=/^ERROR\:\s+(\d+)\:(\d+)\:\s*(.*)$/.exec(a);q?b.push(new l(q[1]|0,q[2]|0,q[3].trim())):0<a.length&&b.push(new l("unknown",0,a))}});return b}function z(a,b){b.forEach(function(b){var c=a[b.file];if(c){var d=c.index[b.line];if(d){d.errors.push(b);c.hasErrors=!0;return}}a.unknown.hasErrors=!0;a.unknown.lines[0].errors.push(b)})}function u(a){a._commandRef=t()}function r(a,c){var d=x();b(a+" in command "+(c||t())+
("unknown"===d?"":" called from "+d))}function A(a,b,c,e){typeof a!==b&&r("invalid parameter type"+d(c)+". expected "+b+", got "+typeof a,e||t())}function B(a,b){return 32820===a||32819===a||33635===a?2:34042===a?4:W[a]*b}function y(a,b){this.id=Pb++;this.type=a;this.data=b}function v(a){if(0===a.length)return[];var b=a.charAt(0),c=a.charAt(a.length-1);if(1<a.length&&b===c&&('"'===b||"'"===b))return['"'+a.substr(1,a.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(b=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(a))return v(a.substr(0,
b.index)).concat(v(b[1])).concat(v(a.substr(b.index+b[0].length)));b=a.split(".");if(1===b.length)return['"'+a.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];a=[];for(c=0;c<b.length;++c)a=a.concat(v(b[c]));return a}function G(a){return"["+v(a).join("][")+"]"}function I(){var a={"":0},b=[""];return{id:function(c){var d=a[c];if(d)return d;d=a[c]=b.length;b.push(c);return d},str:function(a){return b[a]}}}function Q(a,b,c){function d(){var b=window.innerWidth,k=window.innerHeight;a!==document.body&&(k=
a.getBoundingClientRect(),b=k.right-k.left,k=k.bottom-k.top);e.width=c*b;e.height=c*k;T(e.style,{width:b+"px",height:k+"px"})}var e=document.createElement("canvas");T(e.style,{border:0,margin:0,padding:0,top:0,left:0});a.appendChild(e);a===document.body&&(e.style.position="absolute",T(a.style,{margin:0,padding:0}));window.addEventListener("resize",d,!1);d();return{canvas:e,onDestroy:function(){window.removeEventListener("resize",d);a.removeChild(e)}}}function N(a,b){function c(d){try{return a.getContext(d,
b)}catch(e){return null}}return c("webgl")||c("experimental-webgl")||c("webgl-experimental")}function Z(a){if("string"===typeof a)return a.split();k(Array.isArray(a),"invalid extension array");return a}function S(a){return"string"===typeof a?(k("undefined"!==typeof document,"not supported outside of DOM"),document.querySelector(a)):a}function ba(a){var b=a||{},c,d,e,f;a={};var g=[],h=[],l="undefined"===typeof window?1:window.devicePixelRatio,n=!1,ra=function(a){a&&k.raise(a)},gb=function(){};"string"===
typeof b?(k("undefined"!==typeof document,"selector queries only supported in DOM enviroments"),c=document.querySelector(b),k(c,"invalid query string for element")):"object"===typeof b?"string"===typeof b.nodeName&&"function"===typeof b.appendChild&&"function"===typeof b.getBoundingClientRect?c=b:"function"===typeof b.drawArrays||"function"===typeof b.drawElements?(f=b,e=f.canvas):(k.constructor(b),"gl"in b?f=b.gl:"canvas"in b?e=S(b.canvas):"container"in b&&(d=S(b.container)),"attributes"in b&&(a=
b.attributes,k.type(a,"object","invalid context attributes")),"extensions"in b&&(g=Z(b.extensions)),"optionalExtensions"in b&&(h=Z(b.optionalExtensions)),"onDone"in b&&(k.type(b.onDone,"function","invalid or missing onDone callback"),ra=b.onDone),"profile"in b&&(n=!!b.profile),"pixelRatio"in b&&(l=+b.pixelRatio,k(0<l,"invalid pixel ratio"))):k.raise("invalid arguments to regl");c&&("canvas"===c.nodeName.toLowerCase()?e=c:d=c);if(!f){if(!e){k("undefined"!==typeof document,"must manually specify webgl context outside of DOM environments");
c=Q(d||document.body,ra,l);if(!c)return null;e=c.canvas;gb=c.onDestroy}f=N(e,a)}return f?{gl:f,canvas:e,container:d,extensions:g,optionalExtensions:h,pixelRatio:l,profile:n,onDone:ra,onDestroy:gb}:(gb(),ra("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function ya(a,b){function c(b){k.type(b,"string","extension name must be string");b=b.toLowerCase();var e;try{e=d[b]=a.getExtension(b)}catch(f){}return!!e}for(var d={},e=0;e<b.extensions.length;++e){var f=
b.extensions[e];if(!c(f))return b.onDestroy(),b.onDone('"'+f+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}b.optionalExtensions.forEach(c);return{extensions:d,restore:function(){Object.keys(d).forEach(function(a){if(!c(a))throw Error("(regl): error restoring extension "+a);})}}}function U(a){return!!a&&"object"===typeof a&&Array.isArray(a.shape)&&Array.isArray(a.stride)&&"number"===typeof a.offset&&a.shape.length===a.stride.length&&
(Array.isArray(a.data)||X(a.data))}function J(a,b){for(var c=Array(a),d=0;d<a;++d)c[d]=b(d);return c}function H(a){var b,c;b=(65535<a)<<4;a>>>=b;c=(255<a)<<3;a>>>=c;b|=c;c=(15<a)<<2;a>>>=c;b|=c;c=(3<a)<<1;return b|c|a>>>c>>1}function ca(a){a:{for(var b=16;268435456>=b;b*=16)if(a<=b){a=b;break a}a=0}b=qb[H(a)>>2];return 0<b.length?b.pop():new ArrayBuffer(a)}function rb(a){qb[H(a.byteLength)>>2].push(a)}function sb(a,b,c,d,e,k){for(var f=0;f<b;++f)for(var g=a[f],h=0;h<c;++h)for(var l=g[h],ra=0;ra<d;++ra)e[k++]=
l[ra]}function tb(a,b,c,d,e){for(var k=1,f=c+1;f<b.length;++f)k*=b[f];var g=b[c];if(4===b.length-c){var h=b[c+1],l=b[c+2];b=b[c+3];for(f=0;f<g;++f)sb(a[f],h,l,b,d,e),e+=k}else for(f=0;f<g;++f)tb(a[f],b,c+1,d,e),e+=k}function Ya(a){return Qa[Object.prototype.toString.call(a)]|0}function ub(a,b){for(var c=0;c<b.length;++c)a[c]=b[c]}function vb(a,b,c,d,e,k,f){for(var g=0,h=0;h<c;++h)for(var l=0;l<d;++l)a[g++]=b[e*h+k*l+f]}function Qb(a,b,c){function d(b){this.id=h++;this.buffer=a.createBuffer();this.type=
b;this.usage=35044;this.byteLength=0;this.dimension=1;this.dtype=5121;this.persistentData=null;c.profile&&(this.stats={size:0})}function e(b,c,d){b.byteLength=c.byteLength;a.bufferData(b.type,c,d)}function f(a,b,c,d,q,g){a.usage=c;if(Array.isArray(b)){if(a.dtype=d||5126,0<b.length)if(Array.isArray(b[0])){q=wb(b);for(var E=d=1;E<q.length;++E)d*=q[E];a.dimension=d;b=hb(b,q,a.dtype);e(a,b,c);g?a.persistentData=b:O.freeType(b)}else"number"===typeof b[0]?(a.dimension=q,q=O.allocType(a.dtype,b.length),
ub(q,b),e(a,q,c),g?a.persistentData=q:O.freeType(q)):X(b[0])?(a.dimension=b[0].length,a.dtype=d||Ya(b[0])||5126,b=hb(b,[b.length,b[0].length],a.dtype),e(a,b,c),g?a.persistentData=b:O.freeType(b)):k.raise("invalid buffer data")}else if(X(b))a.dtype=d||Ya(b),a.dimension=q,e(a,b,c),g&&(a.persistentData=new Uint8Array(new Uint8Array(b.buffer)));else if(U(b)){q=b.shape;var l=b.stride,E=b.offset,h=0,ma=0,n=0,m=0;1===q.length?(h=q[0],ma=1,n=l[0],m=0):2===q.length?(h=q[0],ma=q[1],n=l[0],m=l[1]):k.raise("invalid shape");
a.dtype=d||Ya(b.data)||5126;a.dimension=ma;q=O.allocType(a.dtype,h*ma);vb(q,b.data,h,ma,n,m,E);e(a,q,c);g?a.persistentData=q:O.freeType(q)}else k.raise("invalid buffer data")}function g(c){b.bufferCount--;var d=c.buffer;k(d,"buffer must not be deleted already");a.deleteBuffer(d);c.buffer=null;delete l[c.id]}var h=0,l={};d.prototype.bind=function(){a.bindBuffer(this.type,this.buffer)};d.prototype.destroy=function(){g(this)};var n=[];c.profile&&(b.getTotalBufferSize=function(){var a=0;Object.keys(l).forEach(function(b){a+=
l[b].stats.size});return a});return{create:function(e,h,n,m){function K(b){var d=35044,e=null,g=0,E=0,h=1;Array.isArray(b)||X(b)||U(b)?e=b:"number"===typeof b?g=b|0:b&&(k.type(b,"object","buffer arguments must be an object, a number or an array"),"data"in b&&(k(null===e||Array.isArray(e)||X(e)||U(e),"invalid data for buffer"),e=b.data),"usage"in b&&(k.parameter(b.usage,Za,"invalid buffer usage"),d=Za[b.usage]),"type"in b&&(k.parameter(b.type,Ra,"invalid buffer type"),E=Ra[b.type]),"dimension"in b&&
(k.type(b.dimension,"number","invalid dimension"),h=b.dimension|0),"length"in b&&(k.nni(g,"buffer length must be a nonnegative integer"),g=b.length|0));R.bind();e?f(R,e,d,E,h,m):(a.bufferData(R.type,g,d),R.dtype=E||5121,R.usage=d,R.dimension=h,R.byteLength=g);c.profile&&(R.stats.size=R.byteLength*oa[R.dtype]);return K}function p(b,c){k(c+b.byteLength<=R.byteLength,"invalid buffer subdata call, buffer is too small. Can't write data of size "+b.byteLength+" starting from offset "+c+" to a buffer of size "+
R.byteLength);a.bufferSubData(R.type,c,b)}b.bufferCount++;var R=new d(h);l[R.id]=R;n||K(e);K._reglType="buffer";K._buffer=R;K.subdata=function(a,b){var c=(b||0)|0,d;R.bind();if(Array.isArray(a)){if(0<a.length)if("number"===typeof a[0]){var e=O.allocType(R.dtype,a.length);ub(e,a);p(e,c);O.freeType(e)}else Array.isArray(a[0])||X(a[0])?(d=wb(a),e=hb(a,d,R.dtype),p(e,c),O.freeType(e)):k.raise("invalid buffer data")}else if(X(a))p(a,c);else if(U(a)){d=a.shape;var q=a.stride,f=e=0,g=0,E=0;1===d.length?
(e=d[0],f=1,g=q[0],E=0):2===d.length?(e=d[0],f=d[1],g=q[0],E=q[1]):k.raise("invalid shape");d=Array.isArray(a.data)?R.dtype:Ya(a.data);d=O.allocType(d,e*f);vb(d,a.data,e,f,g,E,a.offset);p(d,c);O.freeType(d)}else k.raise("invalid data for buffer subdata");return K};c.profile&&(K.stats=R.stats);K.destroy=function(){g(R)};return K},createStream:function(a,b){var c=n.pop();c||(c=new d(a));c.bind();f(c,b,35040,0,1,!1);return c},destroyStream:function(a){n.push(a)},clear:function(){fa(l).forEach(g);n.forEach(g)},
getBuffer:function(a){return a&&a._buffer instanceof d?a._buffer:null},restore:function(){fa(l).forEach(function(b){b.buffer=a.createBuffer();a.bindBuffer(b.type,b.buffer);a.bufferData(b.type,b.persistentData||b.byteLength,b.usage)})},_initBuffer:f}}function Rb(a,b,c,d){function e(a){this.id=l++;h[this.id]=this;this.buffer=a;this.primType=4;this.type=this.vertCount=0}function f(d,e,g,h,l,n,m){d.buffer.bind();if(e){var p=m;m||X(e)&&(!U(e)||X(e.data))||(p=b.oes_element_index_uint?5125:5123);c._initBuffer(d.buffer,
e,g,p,3)}else a.bufferData(34963,n,g),d.buffer.dtype=p||5121,d.buffer.usage=g,d.buffer.dimension=3,d.buffer.byteLength=n;p=m;if(!m){switch(d.buffer.dtype){case 5121:case 5120:p=5121;break;case 5123:case 5122:p=5123;break;case 5125:case 5124:p=5125;break;default:k.raise("unsupported type for element array")}d.buffer.dtype=p}d.type=p;k(5125!==p||!!b.oes_element_index_uint,"32 bit element buffers not supported, enable oes_element_index_uint first");e=l;0>e&&(e=d.buffer.byteLength,5123===p?e>>=1:5125===
p&&(e>>=2));d.vertCount=e;e=h;0>h&&(e=4,h=d.buffer.dimension,1===h&&(e=0),2===h&&(e=1),3===h&&(e=4));d.primType=e}function g(a){d.elementsCount--;k(null!==a.buffer,"must not double destroy elements");delete h[a.id];a.buffer.destroy();a.buffer=null}var h={},l=0,n={uint8:5121,uint16:5123};b.oes_element_index_uint&&(n.uint32=5125);e.prototype.bind=function(){this.buffer.bind()};var m=[];return{create:function(a,b){function q(a){if(a)if("number"===typeof a)E(a),h.primType=4,h.vertCount=a|0,h.type=5121;
else{var b=null,c=35044,d=-1,e=-1,g=0,l=0;if(Array.isArray(a)||X(a)||U(a))b=a;else if(k.type(a,"object","invalid arguments for elements"),"data"in a&&(b=a.data,k(Array.isArray(b)||X(b)||U(b),"invalid data for element buffer")),"usage"in a&&(k.parameter(a.usage,Za,"invalid element buffer usage"),c=Za[a.usage]),"primitive"in a&&(k.parameter(a.primitive,Fa,"invalid element buffer primitive"),d=Fa[a.primitive]),"count"in a&&(k("number"===typeof a.count&&0<=a.count,"invalid vertex count for elements"),
e=a.count|0),"type"in a&&(k.parameter(a.type,n,"invalid buffer type"),l=n[a.type]),"length"in a)g=a.length|0;else if(g=e,5123===l||5122===l)g*=2;else if(5125===l||5124===l)g*=4;f(h,b,c,d,e,g,l)}else E(),h.primType=4,h.vertCount=0,h.type=5121;return q}var E=c.create(null,34963,!0),h=new e(E._buffer);d.elementsCount++;q(a);q._reglType="elements";q._elements=h;q.subdata=function(a,b){E.subdata(a,b);return q};q.destroy=function(){g(h)};return q},createStream:function(a){var b=m.pop();b||(b=new e(c.create(null,
34963,!0,!1)._buffer));f(b,a,35040,-1,-1,0,0);return b},destroyStream:function(a){m.push(a)},getElements:function(a){return"function"===typeof a&&a._elements instanceof e?a._elements:null},clear:function(){fa(h).forEach(g)}}}function xb(a){for(var b=O.allocType(5123,a.length),c=0;c<a.length;++c)if(isNaN(a[c]))b[c]=65535;else if(Infinity===a[c])b[c]=31744;else if(-Infinity===a[c])b[c]=64512;else{yb[0]=a[c];var d=Sb[0],e=d>>>31<<15,k=(d<<1>>>24)-127,d=d>>13&1023;b[c]=-24>k?e:-14>k?e+(d+1024>>-14-k):
15<k?e+31744:e+(k+15<<10)+d}return b}function L(a){return Array.isArray(a)||X(a)}function zb(a){return Array.isArray(a)&&(0===a.length||"number"===typeof a[0])}function Ab(a){return Array.isArray(a)&&0!==a.length&&L(a[0])?!0:!1}function Ga(a){return Object.prototype.toString.call(a)}function jb(a){if(!a)return!1;var b=Ga(a);return 0<=Tb.indexOf(b)?!0:zb(a)||Ab(a)||U(a)}function Bb(a,b){36193===a.type?(a.data=xb(b),O.freeType(b)):a.data=b}function $a(a,b,c,d,e,k){a="undefined"!==typeof V[a]?V[a]:ga[a]*
Ha[b];k&&(a*=6);if(e){for(d=0;1<=c;)d+=a*c*c,c/=2;return d}return a*c*d}function Ub(a,b,c,d,e,f,g){function h(){this.format=this.internalformat=6408;this.type=5121;this.flipY=this.premultiplyAlpha=this.compressed=!1;this.unpackAlignment=1;this.channels=this.height=this.width=this.colorSpace=0}function l(a,b){a.internalformat=b.internalformat;a.format=b.format;a.type=b.type;a.compressed=b.compressed;a.premultiplyAlpha=b.premultiplyAlpha;a.flipY=b.flipY;a.unpackAlignment=b.unpackAlignment;a.colorSpace=
b.colorSpace;a.width=b.width;a.height=b.height;a.channels=b.channels}function n(a,d){if("object"===typeof d&&d){"premultiplyAlpha"in d&&(k.type(d.premultiplyAlpha,"boolean","invalid premultiplyAlpha"),a.premultiplyAlpha=d.premultiplyAlpha);"flipY"in d&&(k.type(d.flipY,"boolean","invalid texture flip"),a.flipY=d.flipY);"alignment"in d&&(k.oneOf(d.alignment,[1,2,4,8],"invalid texture unpack alignment"),a.unpackAlignment=d.alignment);"colorSpace"in d&&(k.parameter(d.colorSpace,Cb,"invalid colorSpace"),
a.colorSpace=Cb[d.colorSpace]);if("type"in d){var e=d.type;k(b.oes_texture_float||!("float"===e||"float32"===e),"you must enable the OES_texture_float extension in order to use floating point textures.");k(b.oes_texture_half_float||!("half float"===e||"float16"===e),"you must enable the OES_texture_half_float extension in order to use 16-bit floating point textures.");k(b.webgl_depth_texture||!("uint16"===e||"uint32"===e||"depth stencil"===e),"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures.");
k.parameter(e,Y,"invalid texture type");a.type=Y[e]}var f=a.width,q=a.height,g=a.channels,e=!1;"shape"in d?(k(Array.isArray(d.shape)&&2<=d.shape.length,"shape must be an array"),f=d.shape[0],q=d.shape[1],3===d.shape.length&&(g=d.shape[2],k(0<g&&4>=g,"invalid number of channels"),e=!0),k(0<=f&&f<=c.maxTextureSize,"invalid width"),k(0<=q&&q<=c.maxTextureSize,"invalid height")):("radius"in d&&(f=q=d.radius,k(0<=f&&f<=c.maxTextureSize,"invalid radius")),"width"in d&&(f=d.width,k(0<=f&&f<=c.maxTextureSize,
"invalid width")),"height"in d&&(q=d.height,k(0<=q&&q<=c.maxTextureSize,"invalid height")),"channels"in d&&(g=d.channels,k(0<g&&4>=g,"invalid number of channels"),e=!0));a.width=f|0;a.height=q|0;a.channels=g|0;f=!1;"format"in d&&(f=d.format,k(b.webgl_depth_texture||!("depth"===f||"depth stencil"===f),"you must enable the WEBGL_depth_texture extension in order to use depth/stencil textures."),k.parameter(f,M,"invalid texture format"),q=a.internalformat=M[f],a.format=lb[q],f in Y&&!("type"in d)&&(a.type=
Y[f]),f in G&&(a.compressed=!0),f=!0);!e&&f?a.channels=ga[a.format]:e&&!f?a.channels!==ab[a.format]&&(a.format=a.internalformat=ab[a.channels]):f&&e&&k(a.channels===ga[a.format],"number of channels inconsistent with specified format")}}function p(b){a.pixelStorei(37440,b.flipY);a.pixelStorei(37441,b.premultiplyAlpha);a.pixelStorei(37443,b.colorSpace);a.pixelStorei(3317,b.unpackAlignment)}function m(){h.call(this);this.yOffset=this.xOffset=0;this.data=null;this.needsFree=!1;this.element=null;this.needsCopy=
!1}function u(a,b){var d=null;jb(b)?d=b:b&&(k.type(b,"object","invalid pixel data type"),n(a,b),"x"in b&&(a.xOffset=b.x|0),"y"in b&&(a.yOffset=b.y|0),jb(b.data)&&(d=b.data));k(!a.compressed||d instanceof Uint8Array,"compressed texture data must be stored in a uint8array");if(b.copy){k(!d,"can not specify copy and data field for the same texture");var f=e.viewportWidth,q=e.viewportHeight;a.width=a.width||f-a.xOffset;a.height=a.height||q-a.yOffset;a.needsCopy=!0;k(0<=a.xOffset&&a.xOffset<f&&0<=a.yOffset&&
a.yOffset<q&&0<a.width&&a.width<=f&&0<a.height&&a.height<=q,"copy texture read out of bounds")}else if(!d)a.width=a.width||1,a.height=a.height||1,a.channels=a.channels||4;else if(X(d))a.channels=a.channels||4,a.data=d,"type"in b||5121!==a.type||(a.type=Qa[Object.prototype.toString.call(d)]|0);else if(zb(d)){a.channels=a.channels||4;f=d;q=f.length;switch(a.type){case 5121:case 5123:case 5125:case 5126:q=O.allocType(a.type,q);q.set(f);a.data=q;break;case 36193:a.data=xb(f);break;default:k.raise("unsupported texture type, must specify a typed array")}a.alignment=
1;a.needsFree=!0}else if(U(d)){f=d.data;Array.isArray(f)||5121!==a.type||(a.type=Qa[Object.prototype.toString.call(f)]|0);var q=d.shape,g=d.stride,h,l,D,ea;3===q.length?(D=q[2],ea=g[2]):(k(2===q.length,"invalid ndarray pixel data, must be 2 or 3D"),ea=D=1);h=q[0];l=q[1];q=g[0];g=g[1];a.alignment=1;a.width=h;a.height=l;a.channels=D;a.format=a.internalformat=ab[D];a.needsFree=!0;h=ea;d=d.offset;D=a.width;ea=a.height;l=a.channels;for(var E=O.allocType(36193===a.type?5126:a.type,D*ea*l),ja=0,Aa=0;Aa<
ea;++Aa)for(var Ba=0;Ba<D;++Ba)for(var mb=0;mb<l;++mb)E[ja++]=f[q*Ba+g*Aa+h*mb+d];Bb(a,E)}else if("[object HTMLCanvasElement]"===Ga(d)||"[object CanvasRenderingContext2D]"===Ga(d))"[object HTMLCanvasElement]"===Ga(d)?a.element=d:a.element=d.canvas,a.width=a.element.width,a.height=a.element.height,a.channels=4;else if("[object HTMLImageElement]"===Ga(d))a.element=d,a.width=d.naturalWidth,a.height=d.naturalHeight,a.channels=4;else if("[object HTMLVideoElement]"===Ga(d))a.element=d,a.width=d.videoWidth,
a.height=d.videoHeight,a.channels=4;else if(Ab(d)){f=a.width||d[0].length;q=a.height||d.length;g=a.channels;g=L(d[0][0])?g||d[0][0].length:g||1;h=bb.shape(d);D=1;for(ea=0;ea<h.length;++ea)D*=h[ea];D=O.allocType(36193===a.type?5126:a.type,D);bb.flatten(d,h,"",D);Bb(a,D);a.alignment=1;a.width=f;a.height=q;a.channels=g;a.format=a.internalformat=ab[g];a.needsFree=!0}5126===a.type?k(0<=c.extensions.indexOf("oes_texture_float"),"oes_texture_float extension not enabled"):36193===a.type&&k(0<=c.extensions.indexOf("oes_texture_half_float"),
"oes_texture_half_float extension not enabled")}function qa(b,c,e,f,k){var g=b.element,h=b.data,l=b.internalformat,D=b.format,ea=b.type,E=b.width,ja=b.height;p(b);g?a.texSubImage2D(c,k,e,f,D,ea,g):b.compressed?a.compressedTexSubImage2D(c,k,e,f,l,E,ja,h):b.needsCopy?(d(),a.copyTexSubImage2D(c,k,e,f,b.xOffset,b.yOffset,E,ja)):a.texSubImage2D(c,k,e,f,E,ja,D,ea,h)}function K(){return Db.pop()||new m}function r(a){a.needsFree&&O.freeType(a.data);m.call(a);Db.push(a)}function y(){h.call(this);this.genMipmaps=
!1;this.mipmapHint=4352;this.mipmask=0;this.images=Array(16)}function sa(a,b,c){var d=a.images[0]=K();a.mipmask=1;d.width=a.width=b;d.height=a.height=c;d.channels=a.channels=4}function w(a,b){var c;if(jb(b))c=a.images[0]=K(),l(c,a),u(c,b),a.mipmask=1;else if(n(a,b),Array.isArray(b.mipmap))for(var d=b.mipmap,e=0;e<d.length;++e)c=a.images[e]=K(),l(c,a),c.width>>=e,c.height>>=e,u(c,d[e]),a.mipmask|=1<<e;else c=a.images[0]=K(),l(c,a),u(c,b),a.mipmask=1;l(a,a.images[0]);(a.compressed&&33776===a.internalformat||
33777===a.internalformat||33778===a.internalformat||33779===a.internalformat)&&k(0===a.width%4&&0===a.height%4,"for compressed texture formats, mipmap level 0 must have width and height that are a multiple of 4")}function t(b,c){for(var e=b.images,f=0;f<e.length&&e[f];++f){var k=e[f],g=c,h=f,l=k.element,D=k.data,ea=k.internalformat,E=k.format,ja=k.type,Aa=k.width,Ba=k.height;p(k);l?a.texImage2D(g,h,E,E,ja,l):k.compressed?a.compressedTexImage2D(g,h,ea,Aa,Ba,0,D):k.needsCopy?(d(),a.copyTexImage2D(g,
h,E,k.xOffset,k.yOffset,Aa,Ba,0)):a.texImage2D(g,h,E,Aa,Ba,0,E,ja,D)}}function x(){var a=J.pop()||new y;h.call(a);for(var b=a.mipmask=0;16>b;++b)a.images[b]=null;return a}function A(a){for(var b=a.images,c=0;c<b.length;++c)b[c]&&r(b[c]),b[c]=null;J.push(a)}function z(){this.magFilter=this.minFilter=9728;this.wrapT=this.wrapS=33071;this.anisotropic=1;this.genMipmaps=!1;this.mipmapHint=4352}function B(a,b){if("min"in b){var d=b.min;k.parameter(d,cb);a.minFilter=cb[d];0<=Vb.indexOf(a.minFilter)&&(a.genMipmaps=
!0)}"mag"in b&&(d=b.mag,k.parameter(d,Ua),a.magFilter=Ua[d]);var d=a.wrapS,e=a.wrapT;if("wrap"in b){var f=b.wrap;"string"===typeof f?(k.parameter(f,C),d=e=C[f]):Array.isArray(f)&&(k.parameter(f[0],C),k.parameter(f[1],C),d=C[f[0]],e=C[f[1]])}else"wrapS"in b&&(d=b.wrapS,k.parameter(d,C),d=C[d]),"wrapT"in b&&(e=b.wrapT,k.parameter(e,C),e=C[e]);a.wrapS=d;a.wrapT=e;"anisotropic"in b&&(d=b.anisotropic,k("number"===typeof d&&1<=d&&d<=c.maxAnisotropic,"aniso samples must be between 1 and "),a.anisotropic=
b.anisotropic);if("mipmap"in b){d=!1;switch(typeof b.mipmap){case "string":k.parameter(b.mipmap,F,"invalid mipmap hint");a.mipmapHint=F[b.mipmap];d=a.genMipmaps=!0;break;case "boolean":d=a.genMipmaps=b.mipmap;break;case "object":k(Array.isArray(b.mipmap),"invalid mipmap type");a.genMipmaps=!1;d=!0;break;default:k.raise("invalid mipmap type")}!d||"min"in b||(a.minFilter=9984)}}function v(c,d){a.texParameteri(d,10241,c.minFilter);a.texParameteri(d,10240,c.magFilter);a.texParameteri(d,10242,c.wrapS);
a.texParameteri(d,10243,c.wrapT);b.ext_texture_filter_anisotropic&&a.texParameteri(d,34046,c.anisotropic);c.genMipmaps&&(a.hint(33170,c.mipmapHint),a.generateMipmap(d))}function ib(b){h.call(this);this.mipmask=0;this.internalformat=6408;this.id=Ca++;this.refCount=1;this.target=b;this.texture=a.createTexture();this.unit=-1;this.bindCount=0;this.texInfo=new z;g.profile&&(this.stats={size:0})}function Ia(b){a.activeTexture(33984);a.bindTexture(b.target,b.texture)}function Ja(){var b=N[0];b?a.bindTexture(b.target,
b.texture):a.bindTexture(3553,null)}function Eb(b){var c=b.texture;k(c,"must not double destroy texture");var d=b.unit,e=b.target;0<=d&&(a.activeTexture(33984+d),a.bindTexture(e,null),N[d]=null);a.deleteTexture(c);b.texture=null;b.params=null;b.pixels=null;b.refCount=0;delete aa[b.id];f.textureCount--}var F={"don't care":4352,"dont care":4352,nice:4354,fast:4353},C={repeat:10497,clamp:33071,mirror:33648},Ua={nearest:9728,linear:9729},cb=T({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,
"nearest mipmap linear":9986,"linear mipmap linear":9987},Ua),Cb={none:0,browser:37444},Y={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},M={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},G={};b.ext_srgb&&(M.srgb=35904,M.srgba=35906);b.oes_texture_float&&(Y.float32=Y["float"]=5126);b.oes_texture_half_float&&(Y.float16=Y["half float"]=36193);b.webgl_depth_texture&&(T(M,{depth:6402,"depth stencil":34041}),T(Y,{uint16:5123,uint32:5125,
"depth stencil":34042}));b.webgl_compressed_texture_s3tc&&T(G,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779});b.webgl_compressed_texture_atc&&T(G,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798});b.webgl_compressed_texture_pvrtc&&T(G,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843});b.webgl_compressed_texture_etc1&&(G["rgb etc1"]=36196);var I=Array.prototype.slice.call(a.getParameter(34467));
Object.keys(G).forEach(function(a){var b=G[a];0<=I.indexOf(b)&&(M[a]=b)});var H=Object.keys(M);c.textureFormats=H;var nb=[];Object.keys(M).forEach(function(a){nb[M[a]]=a});var P=[];Object.keys(Y).forEach(function(a){P[Y[a]]=a});var Va=[];Object.keys(Ua).forEach(function(a){Va[Ua[a]]=a});var Da=[];Object.keys(cb).forEach(function(a){Da[cb[a]]=a});var Ea=[];Object.keys(C).forEach(function(a){Ea[C[a]]=a});var lb=H.reduce(function(a,b){var c=M[b];6409===c||6406===c||6409===c||6410===c||6402===c||34041===
c?a[c]=c:32855===c||0<=b.indexOf("rgba")?a[c]=6408:a[c]=6407;return a},{}),Db=[],J=[],Ca=0,aa={},Q=c.maxTextureUnits,N=Array(Q).map(function(){return null});T(ib.prototype,{bind:function(){this.bindCount+=1;var b=this.unit;if(0>b){for(var c=0;c<Q;++c){var d=N[c];if(d){if(0<d.bindCount)continue;d.unit=-1}N[c]=this;b=c;break}b>=Q&&k.raise("insufficient number of texture units");g.profile&&f.maxTextureUnits<b+1&&(f.maxTextureUnits=b+1);this.unit=b;a.activeTexture(33984+b);a.bindTexture(this.target,this.texture)}return b},
unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&Eb(this)}});g.profile&&(f.getTotalTextureSize=function(){var a=0;Object.keys(aa).forEach(function(b){a+=aa[b].stats.size});return a});return{create2D:function(b,d){function e(a,b){var d=h.texInfo;z.call(d);var f=x();"number"===typeof a?"number"===typeof b?sa(f,a|0,b|0):sa(f,a|0,a|0):a?(k.type(a,"object","invalid arguments to regl.texture"),B(d,a),w(f,a)):sa(f,1,1);d.genMipmaps&&(f.mipmask=(f.width<<1)-1);h.mipmask=f.mipmask;
l(h,f);k.texture2D(d,f,c);h.internalformat=f.internalformat;e.width=f.width;e.height=f.height;Ia(h);t(f,3553);v(d,3553);Ja();A(f);g.profile&&(h.stats.size=$a(h.internalformat,h.type,f.width,f.height,d.genMipmaps,!1));e.format=nb[h.internalformat];e.type=P[h.type];e.mag=Va[d.magFilter];e.min=Da[d.minFilter];e.wrapS=Ea[d.wrapS];e.wrapT=Ea[d.wrapT];return e}var h=new ib(3553);aa[h.id]=h;f.textureCount++;e(b,d);e.subimage=function(a,b,c,d){k(!!a,"must specify image data");b|=0;c|=0;d|=0;var f=K();l(f,
h);f.width=0;f.height=0;u(f,a);f.width=f.width||(h.width>>d)-b;f.height=f.height||(h.height>>d)-c;k(h.type===f.type&&h.format===f.format&&h.internalformat===f.internalformat,"incompatible format for texture.subimage");k(0<=b&&0<=c&&b+f.width<=h.width&&c+f.height<=h.height,"texture.subimage write out of bounds");k(h.mipmask&1<<d,"missing mipmap data");k(f.data||f.element||f.needsCopy,"missing image data");Ia(h);qa(f,3553,b,c,d);Ja();r(f);return e};e.resize=function(b,c){var d=b|0,f=c|0||d;if(d===h.width&&
f===h.height)return e;e.width=h.width=d;e.height=h.height=f;Ia(h);for(var k=0;h.mipmask>>k;++k)a.texImage2D(3553,k,h.format,d>>k,f>>k,0,h.format,h.type,null);Ja();g.profile&&(h.stats.size=$a(h.internalformat,h.type,d,f,!1,!1));return e};e._reglType="texture2d";e._texture=h;g.profile&&(e.stats=h.stats);e.destroy=function(){h.decRef()};return e},createCube:function(b,d,e,h,E,p){function m(a,b,d,e,f,q){var h,da=F.texInfo;z.call(da);for(h=0;6>h;++h)D[h]=x();if("number"!==typeof a&&a)if("object"===typeof a)if(b)w(D[0],
a),w(D[1],b),w(D[2],d),w(D[3],e),w(D[4],f),w(D[5],q);else if(B(da,a),n(F,a),"faces"in a)for(a=a.faces,k(Array.isArray(a)&&6===a.length,"cube faces must be a length 6 array"),h=0;6>h;++h)k("object"===typeof a[h]&&!!a[h],"invalid input for cube map face"),l(D[h],F),w(D[h],a[h]);else for(h=0;6>h;++h)w(D[h],a);else k.raise("invalid arguments to cube map");else for(a=a|0||1,h=0;6>h;++h)sa(D[h],a,a);l(F,D[0]);F.mipmask=da.genMipmaps?(D[0].width<<1)-1:D[0].mipmask;k.textureCube(F,da,D,c);F.internalformat=
D[0].internalformat;m.width=D[0].width;m.height=D[0].height;Ia(F);for(h=0;6>h;++h)t(D[h],34069+h);v(da,34067);Ja();g.profile&&(F.stats.size=$a(F.internalformat,F.type,m.width,m.height,da.genMipmaps,!0));m.format=nb[F.internalformat];m.type=P[F.type];m.mag=Va[da.magFilter];m.min=Da[da.minFilter];m.wrapS=Ea[da.wrapS];m.wrapT=Ea[da.wrapT];for(h=0;6>h;++h)A(D[h]);return m}var F=new ib(34067);aa[F.id]=F;f.cubeCount++;var D=Array(6);m(b,d,e,h,E,p);m.subimage=function(a,b,c,d,e){k(!!b,"must specify image data");
k("number"===typeof a&&a===(a|0)&&0<=a&&6>a,"invalid face");c|=0;d|=0;e|=0;var f=K();l(f,F);f.width=0;f.height=0;u(f,b);f.width=f.width||(F.width>>e)-c;f.height=f.height||(F.height>>e)-d;k(F.type===f.type&&F.format===f.format&&F.internalformat===f.internalformat,"incompatible format for texture.subimage");k(0<=c&&0<=d&&c+f.width<=F.width&&d+f.height<=F.height,"texture.subimage write out of bounds");k(F.mipmask&1<<e,"missing mipmap data");k(f.data||f.element||f.needsCopy,"missing image data");Ia(F);
qa(f,34069+a,c,d,e);Ja();r(f);return m};m.resize=function(b){b|=0;if(b!==F.width){m.width=F.width=b;m.height=F.height=b;Ia(F);for(var c=0;6>c;++c)for(var d=0;F.mipmask>>d;++d)a.texImage2D(34069+c,d,F.format,b>>d,b>>d,0,F.format,F.type,null);Ja();g.profile&&(F.stats.size=$a(F.internalformat,F.type,m.width,m.height,!1,!0));return m}};m._reglType="textureCube";m._texture=F;g.profile&&(m.stats=F.stats);m.destroy=function(){F.decRef()};return m},clear:function(){for(var b=0;b<Q;++b)a.activeTexture(33984+
b),a.bindTexture(3553,null),N[b]=null;fa(aa).forEach(Eb);f.cubeCount=0;f.textureCount=0},getTexture:function(a){return null},restore:function(){fa(aa).forEach(function(b){b.texture=a.createTexture();a.bindTexture(b.target,b.texture);for(var c=0;32>c;++c)if(0!==(b.mipmask&1<<c))if(3553===b.target)a.texImage2D(3553,c,b.internalformat,b.width>>c,b.height>>c,0,b.internalformat,b.type,null);else for(var d=0;6>d;++d)a.texImage2D(34069+d,c,b.internalformat,b.width>>c,b.height>>c,0,b.internalformat,b.type,
null);v(b.texInfo,b.target)})}}}function Wb(a,b,c,d,e,f){function h(a,b,c){this.target=a;this.texture=b;this.renderbuffer=c;var d=a=0;b?(a=b.width,d=b.height):c&&(a=c.width,d=c.height);this.width=a;this.height=d}function g(a){a&&(a.texture&&a.texture._texture.decRef(),a.renderbuffer&&a.renderbuffer._renderbuffer.decRef())}function l(a,b,c){if(a){if(a.texture){a=a.texture._texture;var d=Math.max(1,a.height);k(Math.max(1,a.width)===b&&d===c,"inconsistent width/height for supplied texture")}else a=a.renderbuffer._renderbuffer,
k(a.width===b&&a.height===c,"inconsistent width/height for renderbuffer");a.refCount+=1}}function m(b,c){c&&(c.texture?a.framebufferTexture2D(36160,b,c.target,c.texture._texture.texture,0):a.framebufferRenderbuffer(36160,b,36161,c.renderbuffer._renderbuffer.renderbuffer))}function n(a){var b=3553,c=null,d=null,e=a;"object"===typeof a&&(e=a.data,"target"in a&&(b=a.target|0));k.type(e,"function","invalid attachment data");a=e._reglType;"texture2d"===a?(c=e,k(3553===b)):"textureCube"===a?(c=e,k(34069<=
b&&34075>b,"invalid cube map target")):"renderbuffer"===a?(d=e,b=36161):k.raise("invalid regl object for attachment");return new h(b,c,d)}function p(a,b,c,f,k){if(c)return a=d.create2D({width:a,height:b,format:f,type:k}),a._texture.refCount=0,new h(3553,a,null);a=e.create({width:a,height:b,format:f});a._renderbuffer.refCount=0;return new h(36161,null,a)}function u(a){return a&&(a.texture||a.renderbuffer)}function r(a,b,c){a&&(a.texture?a.texture.resize(b,c):a.renderbuffer&&a.renderbuffer.resize(b,
c))}function K(){this.id=B++;v[this.id]=this;this.framebuffer=a.createFramebuffer();this.height=this.width=0;this.colorAttachments=[];this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function w(a){a.colorAttachments.forEach(g);g(a.depthAttachment);g(a.stencilAttachment);g(a.depthStencilAttachment)}function y(b){var c=b.framebuffer;k(c,"must not double destroy framebuffer");a.deleteFramebuffer(c);b.framebuffer=null;f.framebufferCount--;delete v[b.id]}function sa(b){var d;
a.bindFramebuffer(36160,b.framebuffer);var e=b.colorAttachments;for(d=0;d<e.length;++d)m(36064+d,e[d]);for(d=e.length;d<c.maxColorAttachments;++d)a.framebufferTexture2D(36160,36064+d,3553,null,0);a.framebufferTexture2D(36160,33306,3553,null,0);a.framebufferTexture2D(36160,36096,3553,null,0);a.framebufferTexture2D(36160,36128,3553,null,0);m(36096,b.depthAttachment);m(36128,b.stencilAttachment);m(33306,b.depthStencilAttachment);b=a.checkFramebufferStatus(36160);36053!==b&&k.raise("framebuffer configuration not supported, status = "+
Xb[b]);a.bindFramebuffer(36160,x.next);x.cur=x.next;a.getError()}function t(a,d){function e(a,d){var f;k(x.next!==q,"can not update framebuffer which is currently in use");var g=b.webgl_draw_buffers,h=0,m=0,K=!0,r=!0;f=null;var qa=!0,za="rgba",y="uint8",Xa=1,t=null,Pa=null,Wa=null,R=!1;if("number"===typeof a)h=a|0,m=d|0||h;else if(a){k.type(a,"object","invalid arguments for framebuffer");"shape"in a?(m=a.shape,k(Array.isArray(m)&&2<=m.length,"invalid shape for framebuffer"),h=m[0],m=m[1]):("radius"in
a&&(h=m=a.radius),"width"in a&&(h=a.width),"height"in a&&(m=a.height));if("color"in a||"colors"in a)f=a.color||a.colors,Array.isArray(f)&&k(1===f.length||g,"multiple render targets not supported");if(!f){"colorCount"in a&&(Xa=a.colorCount|0,k(0<Xa,"invalid color buffer count"));"colorTexture"in a&&(qa=!!a.colorTexture,za="rgba4");if("colorType"in a){y=a.colorType;if(qa)k(b.oes_texture_float||!("float"===y||"float32"===y),"you must enable OES_texture_float in order to use floating point framebuffer objects"),
k(b.oes_texture_half_float||!("half float"===y||"float16"===y),"you must enable OES_texture_half_float in order to use 16-bit floating point framebuffer objects");else if("half float"===y||"float16"===y)k(b.ext_color_buffer_half_float,"you must enable EXT_color_buffer_half_float to use 16-bit render buffers"),za="rgba16f";else if("float"===y||"float32"===y)k(b.webgl_color_buffer_float,"you must enable WEBGL_color_buffer_float in order to use 32-bit floating point renderbuffers"),za="rgba32f";k.oneOf(y,
C,"invalid color type")}if("colorFormat"in a)if(za=a.colorFormat,0<=z.indexOf(za))qa=!0;else if(0<=A.indexOf(za))qa=!1;else if(qa)k.oneOf(a.colorFormat,z,"invalid color format for texture");else k.oneOf(a.colorFormat,A,"invalid color format for renderbuffer")}if("depthTexture"in a||"depthStencilTexture"in a)R=!(!a.depthTexture&&!a.depthStencilTexture),k(!R||b.webgl_depth_texture,"webgl_depth_texture extension not supported");"depth"in a&&("boolean"===typeof a.depth?K=a.depth:(t=a.depth,r=!1));"stencil"in
a&&("boolean"===typeof a.stencil?r=a.stencil:(Pa=a.stencil,K=!1));"depthStencil"in a&&("boolean"===typeof a.depthStencil?K=r=a.depthStencil:(Wa=a.depthStencil,r=K=!1))}else h=m=1;var v,B=g=null,na=null;if(Array.isArray(f))v=f.map(n);else if(f)v=[n(f)];else for(v=Array(Xa),f=0;f<Xa;++f)v[f]=p(h,m,qa,za,y);k(b.webgl_draw_buffers||1>=v.length,"you must enable the WEBGL_draw_buffers extension in order to use multiple color buffers.");k(v.length<=c.maxColorAttachments,"too many color attachments, not supported");
h=h||v[0].width;m=m||v[0].height;t?g=n(t):K&&!r&&(g=p(h,m,R,"depth","uint32"));Pa?B=n(Pa):r&&!K&&(B=p(h,m,!1,"stencil","uint8"));Wa?na=n(Wa):!t&&!Pa&&r&&K&&(na=p(h,m,R,"depth stencil","depth stencil"));k(1>=!!t+!!Pa+!!Wa,"invalid framebuffer configuration, can specify exactly one depth/stencil attachment");K=null;for(f=0;f<v.length;++f)l(v[f],h,m),k(!v[f]||v[f].texture&&0<=Yb.indexOf(v[f].texture._texture.format)||v[f].renderbuffer&&0<=Zb.indexOf(v[f].renderbuffer._renderbuffer.format),"framebuffer color attachment "+
f+" is invalid"),v[f]&&v[f].texture&&(r=Fb[v[f].texture._texture.format]*eb[v[f].texture._texture.type],null===K?K=r:k(K===r,"all color attachments much have the same number of bits per pixel."));l(g,h,m);k(!g||g.texture&&6402===g.texture._texture.format||g.renderbuffer&&33189===g.renderbuffer._renderbuffer.format,"invalid depth attachment for framebuffer object");l(B,h,m);k(!B||B.renderbuffer&&36168===B.renderbuffer._renderbuffer.format,"invalid stencil attachment for framebuffer object");l(na,h,
m);k(!na||na.texture&&34041===na.texture._texture.format||na.renderbuffer&&34041===na.renderbuffer._renderbuffer.format,"invalid depth-stencil attachment for framebuffer object");w(q);q.width=h;q.height=m;q.colorAttachments=v;q.depthAttachment=g;q.stencilAttachment=B;q.depthStencilAttachment=na;e.color=v.map(u);e.depth=u(g);e.stencil=u(B);e.depthStencil=u(na);e.width=q.width;e.height=q.height;sa(q);return e}var q=new K;f.framebufferCount++;e(a,d);return T(e,{resize:function(a,b){k(x.next!==q,"can not resize a framebuffer which is currently in use");
var c=a|0,d=b|0||c;if(c===q.width&&d===q.height)return e;for(var f=q.colorAttachments,h=0;h<f.length;++h)r(f[h],c,d);r(q.depthAttachment,c,d);r(q.stencilAttachment,c,d);r(q.depthStencilAttachment,c,d);q.width=e.width=c;q.height=e.height=d;sa(q);return e},_reglType:"framebuffer",_framebuffer:q,destroy:function(){y(q);w(q)},use:function(a){x.setFBO({framebuffer:e},a)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},z=["rgba"],A=["rgba4","rgb565","rgb5 a1"];b.ext_srgb&&A.push("srgba");b.ext_color_buffer_half_float&&
A.push("rgba16f","rgb16f");b.webgl_color_buffer_float&&A.push("rgba32f");var C=["uint8"];b.oes_texture_half_float&&C.push("half float","float16");b.oes_texture_float&&C.push("float","float32");var B=0,v={};return T(x,{getFramebuffer:function(a){return"function"===typeof a&&"framebuffer"===a._reglType&&(a=a._framebuffer,a instanceof K)?a:null},create:t,createCube:function(a){function e(a){var c;k(0>f.indexOf(x.next),"can not update framebuffer which is currently in use");var q=b.webgl_draw_buffers,
h={color:null},g=0,l=null;c="rgba";var m="uint8",n=1;if("number"===typeof a)g=a|0;else if(a){k.type(a,"object","invalid arguments for framebuffer");"shape"in a?(g=a.shape,k(Array.isArray(g)&&2<=g.length,"invalid shape for framebuffer"),k(g[0]===g[1],"cube framebuffer must be square"),g=g[0]):("radius"in a&&(g=a.radius|0),"width"in a?(g=a.width|0,"height"in a&&k(a.height===g,"must be square")):"height"in a&&(g=a.height|0));if("color"in a||"colors"in a)l=a.color||a.colors,Array.isArray(l)&&k(1===l.length||
q,"multiple render targets not supported");l||("colorCount"in a&&(n=a.colorCount|0,k(0<n,"invalid color buffer count")),"colorType"in a&&(k.oneOf(a.colorType,C,"invalid color type"),m=a.colorType),"colorFormat"in a&&(c=a.colorFormat,k.oneOf(a.colorFormat,z,"invalid color format for texture")));"depth"in a&&(h.depth=a.depth);"stencil"in a&&(h.stencil=a.stencil);"depthStencil"in a&&(h.depthStencil=a.depthStencil)}else g=1;if(l)if(Array.isArray(l))for(a=[],c=0;c<l.length;++c)a[c]=l[c];else a=[l];else for(a=
Array(n),l={radius:g,format:c,type:m},c=0;c<n;++c)a[c]=d.createCube(l);h.color=Array(a.length);for(c=0;c<a.length;++c)n=a[c],k("function"===typeof n&&"textureCube"===n._reglType,"invalid cube map"),g=g||n.width,k(n.width===g&&n.height===g,"invalid cube map shape"),h.color[c]={target:34069,data:a[c]};for(c=0;6>c;++c){for(n=0;n<a.length;++n)h.color[n].target=34069+c;0<c&&(h.depth=f[0].depth,h.stencil=f[0].stencil,h.depthStencil=f[0].depthStencil);if(f[c])f[c](h);else f[c]=t(h)}return T(e,{width:g,height:g,
color:a})}var f=Array(6);e(a);return T(e,{faces:f,resize:function(a){var b=a|0;k(0<b&&b<=c.maxCubeMapSize,"invalid radius for cube fbo");if(b===e.width)return e;var d=e.color;for(a=0;a<d.length;++a)d[a].resize(b);for(a=0;6>a;++a)f[a].resize(b);e.width=e.height=b;return e},_reglType:"framebufferCube",destroy:function(){f.forEach(function(a){a.destroy()})}})},clear:function(){fa(v).forEach(y)},restore:function(){fa(v).forEach(function(b){b.framebuffer=a.createFramebuffer();sa(b)})}})}function Gb(){this.w=
this.z=this.y=this.x=this.state=0;this.buffer=null;this.size=0;this.normalized=!1;this.type=5126;this.divisor=this.stride=this.offset=0}function $b(a,b,c,d,e){a=c.maxAttributes;b=Array(a);for(c=0;c<a;++c)b[c]=new Gb;return{Record:Gb,scope:{},state:b}}function ac(a,b,c,d){function e(a,b,c,d){this.name=a;this.id=b;this.location=c;this.info=d}function f(a,b){for(var c=0;c<a.length;++c)if(a[c].id===b.id){a[c].location=b.location;return}a.push(b)}function g(c,d,e){var f=35632===c?m:n,h=f[d];if(!h){var l=
b.str(d),h=a.createShader(c);a.shaderSource(h,l);a.compileShader(h);k.shaderError(a,h,l,c,e);f[d]=h}return h}function h(a,b){this.id=u++;this.fragId=a;this.vertId=b;this.program=null;this.uniforms=[];this.attributes=[];d.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(c,h){var m,n;m=g(35632,c.fragId);n=g(35633,c.vertId);var p=c.program=a.createProgram();a.attachShader(p,m);a.attachShader(p,n);a.linkProgram(p);k.linkError(a,p,b.str(c.fragId),b.str(c.vertId),h);var r=a.getProgramParameter(p,
35718);d.profile&&(c.stats.uniformsCount=r);var ma=c.uniforms;for(m=0;m<r;++m)if(n=a.getActiveUniform(p,m))if(1<n.size)for(var u=0;u<n.size;++u){var y=n.name.replace("[0]","["+u+"]");f(ma,new e(y,b.id(y),a.getUniformLocation(p,y),n))}else f(ma,new e(n.name,b.id(n.name),a.getUniformLocation(p,n.name),n));r=a.getProgramParameter(p,35721);d.profile&&(c.stats.attributesCount=r);ma=c.attributes;for(m=0;m<r;++m)(n=a.getActiveAttrib(p,m))&&f(ma,new e(n.name,b.id(n.name),a.getAttribLocation(p,n.name),n))}
var m={},n={},p={},r=[],u=0;d.profile&&(c.getMaxUniformsCount=function(){var a=0;r.forEach(function(b){b.stats.uniformsCount>a&&(a=b.stats.uniformsCount)});return a},c.getMaxAttributesCount=function(){var a=0;r.forEach(function(b){b.stats.attributesCount>a&&(a=b.stats.attributesCount)});return a});return{clear:function(){var b=a.deleteShader.bind(a);fa(m).forEach(b);m={};fa(n).forEach(b);n={};r.forEach(function(b){a.deleteProgram(b.program)});r.length=0;p={};c.shaderCount=0},program:function(a,b,
d){k.command(0<=a,"missing vertex shader",d);k.command(0<=b,"missing fragment shader",d);var e=p[b];e||(e=p[b]={});var f=e[a];f||(f=new h(b,a),c.shaderCount++,l(f,d),e[a]=f,r.push(f));return f},restore:function(){m={};n={};for(var a=0;a<r.length;++a)l(r[a])},shader:g,frag:-1,vert:-1}}function bc(a,b,c,d,e,f){function h(g){var l;null===b.next?(k(e.preserveDrawingBuffer,'you must create a webgl context with "preserveDrawingBuffer":true in order to read pixels from the drawing buffer'),l=5121):(k(null!==
b.next.colorAttachments[0].texture,"You cannot read from a renderbuffer"),l=b.next.colorAttachments[0].texture._texture.type,f.oes_texture_float?k(5121===l||5126===l,"Reading from a framebuffer is only allowed for the types 'uint8' and 'float'"):k(5121===l,"Reading from a framebuffer is only allowed for the type 'uint8'"));var m=0,n=0,p=d.framebufferWidth,r=d.framebufferHeight,u=null;X(g)?u=g:g&&(k.type(g,"object","invalid arguments to regl.read()"),m=g.x|0,n=g.y|0,k(0<=m&&m<d.framebufferWidth,"invalid x offset for regl.read"),
k(0<=n&&n<d.framebufferHeight,"invalid y offset for regl.read"),p=(g.width||d.framebufferWidth-m)|0,r=(g.height||d.framebufferHeight-n)|0,u=g.data||null);u&&(5121===l?k(u instanceof Uint8Array,"buffer must be 'Uint8Array' when reading from a framebuffer of type 'uint8'"):5126===l&&k(u instanceof Float32Array,"buffer must be 'Float32Array' when reading from a framebuffer of type 'float'"));k(0<p&&p+m<=d.framebufferWidth,"invalid width for read pixels");k(0<r&&r+n<=d.framebufferHeight,"invalid height for read pixels");
c();g=p*r*4;u||(5121===l?u=new Uint8Array(g):5126===l&&(u=u||new Float32Array(g)));k.isTypedArray(u,"data buffer for regl.read() must be a typedarray");k(u.byteLength>=g,"data buffer for regl.read() too small");a.pixelStorei(3333,4);a.readPixels(m,n,p,r,6408,l,u);return u}function g(a){var c;b.setFBO({framebuffer:a.framebuffer},function(){c=h(a)});return c}return function(a){return a&&"framebuffer"in a?g(a):h(a)}}function La(a){return Array.prototype.slice.call(a)}function Ma(a){return La(a).join("")}
function cc(){function a(){var b=[],d=[];return T(function(){b.push.apply(b,La(arguments))},{def:function(){var a="v"+c++;d.push(a);0<arguments.length&&(b.push(a,"="),b.push.apply(b,La(arguments)),b.push(";"));return a},toString:function(){return Ma([0<d.length?"var "+d+";":"",Ma(b)])}})}function b(){function c(a,b){e(a,b,"=",d.def(a,b),";")}var d=a(),e=a(),f=d.toString,g=e.toString;return T(function(){d.apply(d,La(arguments))},{def:d.def,entry:d,exit:e,save:c,set:function(a,b,e){c(a,b);d(a,b,"=",
e,";")},toString:function(){return f()+g()}})}var c=0,d=[],e=[],f=a(),g={};return{global:f,link:function(a){for(var b=0;b<e.length;++b)if(e[b]===a)return d[b];b="g"+c++;d.push(b);e.push(a);return b},block:a,proc:function(a,c){function d(){var a="a"+e.length;e.push(a);return a}var e=[];c=c||0;for(var f=0;f<c;++f)d();var f=b(),h=f.toString;return g[a]=T(f,{arg:d,toString:function(){return Ma(["function(",e.join(),"){",h(),"}"])}})},scope:b,cond:function(){var a=Ma(arguments),c=b(),d=b(),e=c.toString,
f=d.toString;return T(c,{then:function(){c.apply(c,La(arguments));return this},"else":function(){d.apply(d,La(arguments));return this},toString:function(){var b=f();b&&(b="else{"+b+"}");return Ma(["if(",a,"){",e(),"}",b])}})},compile:function(){var a=['"use strict";',f,"return {"];Object.keys(g).forEach(function(b){a.push('"',b,'":',g[b].toString(),",")});a.push("}");var b=Ma(a).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,d.concat(b)).apply(null,e)}}}function fb(a){return Array.isArray(a)||
X(a)||U(a)}function Hb(a){return a.sort(function(a,b){return"viewport"===a?-1:"viewport"===b?1:a<b?-1:1})}function ka(a,b,c,d){this.thisDep=a;this.contextDep=b;this.propDep=c;this.append=d}function wa(a){return a&&!(a.thisDep||a.contextDep||a.propDep)}function P(a){return new ka(!1,!1,!1,a)}function ia(a,b){var c=a.type;return 0===c?(c=a.data.length,new ka(!0,1<=c,2<=c,b)):4===c?(c=a.data,new ka(c.thisDep,c.contextDep,c.propDep,b)):new ka(3===c,2===c,1===c,b)}function dc(a,b,c,d,e,f,g,h,l,m,n,p,r,
u,y){function w(a){return a.replace(".","_")}function v(a,b,c){var d=w(a);Ta.push(a);Sa[d]=ta[d]=!!c;ua[d]=b}function t(a,b,c){var d=w(a);Ta.push(a);Array.isArray(c)?(ta[d]=c.slice(),Sa[d]=c.slice()):ta[d]=Sa[d]=c;va[d]=b}function x(){var a=cc(),c=a.link,d=a.global;a.id=oa++;a.batchId="0";var e=c(kb),f=a.shared={props:"a0"};Object.keys(kb).forEach(function(a){f[a]=d.def(e,".",a)});k.optional(function(){a.CHECK=c(k);a.commandStr=k.guessCommand();a.command=c(a.commandStr);a.assert=function(a,b,d){a("if(!(",
b,"))",this.CHECK,".commandRaise(",c(d),",",this.command,");")};ca.invalidBlendCombinations=Jb});var g=a.next={},h=a.current={};Object.keys(va).forEach(function(a){Array.isArray(ta[a])&&(g[a]=d.def(f.next,".",a),h[a]=d.def(f.current,".",a))});var q=a.constants={};Object.keys(ca).forEach(function(a){q[a]=d.def(JSON.stringify(ca[a]))});a.invoke=function(b,d){switch(d.type){case 0:var e=["this",f.context,f.props,a.batchId];return b.def(c(d.data),".call(",e.slice(0,Math.max(d.data.length+1,4)),")");case 1:return b.def(f.props,
d.data);case 2:return b.def(f.context,d.data);case 3:return b.def("this",d.data);case 4:return d.data.append(a,b),d.data.ref}};a.attribCache={};var da={};a.scopeAttrib=function(a){a=b.id(a);if(a in da)return da[a];var d=m.scope[a];d||(d=m.scope[a]=new Ca);return da[a]=c(d)};return a}function A(a){var b=a["static"];a=a.dynamic;var c;if("profile"in b){var d=!!b.profile;c=P(function(a,b){return d});c.enable=d}else if("profile"in a){var e=a.profile;c=ia(e,function(a,b){return a.invoke(b,e)})}return c}
function z(a,b){var c=a["static"],d=a.dynamic;if("framebuffer"in c){var e=c.framebuffer;return e?(e=h.getFramebuffer(e),k.command(e,"invalid framebuffer object"),P(function(a,b){var c=a.link(e),d=a.shared;b.set(d.framebuffer,".next",c);d=d.context;b.set(d,".framebufferWidth",c+".width");b.set(d,".framebufferHeight",c+".height");return c})):P(function(a,b){var c=a.shared;b.set(c.framebuffer,".next","null");c=c.context;b.set(c,".framebufferWidth",c+".drawingBufferWidth");b.set(c,".framebufferHeight",
c+".drawingBufferHeight");return"null"})}if("framebuffer"in d){var f=d.framebuffer;return ia(f,function(a,b){var c=a.invoke(b,f),d=a.shared,e=d.framebuffer,g=b.def(e,".getFramebuffer(",c,")");k.optional(function(){a.assert(b,"!"+c+"||"+g,"invalid framebuffer object")});b.set(e,".next",g);d=d.context;b.set(d,".framebufferWidth",g+"?"+g+".width:"+d+".drawingBufferWidth");b.set(d,".framebufferHeight",g+"?"+g+".height:"+d+".drawingBufferHeight");return g})}return null}function C(a,b,c){function d(a){if(a in
e){var g=e[a];k.commandType(g,"object","invalid "+a,c.commandStr);var h=!0,Ib=g.x|0,q=g.y|0,D,l;"width"in g?(D=g.width|0,k.command(0<=D,"invalid "+a,c.commandStr)):h=!1;"height"in g?(l=g.height|0,k.command(0<=l,"invalid "+a,c.commandStr)):h=!1;return new ka(!h&&b&&b.thisDep,!h&&b&&b.contextDep,!h&&b&&b.propDep,function(a,b){var c=a.shared.context,d=D;"width"in g||(d=b.def(c,".","framebufferWidth","-",Ib));var e=l;"height"in g||(e=b.def(c,".","framebufferHeight","-",q));return[Ib,q,d,e]})}if(a in f){var m=
f[a],h=ia(m,function(b,c){var d=b.invoke(c,m);k.optional(function(){b.assert(c,d+"&&typeof "+d+'==="object"',"invalid "+a)});var e=b.shared.context,f=c.def(d,".x|0"),g=c.def(d,".y|0"),h=c.def('"width" in ',d,"?",d,".width|0:","(",e,".","framebufferWidth","-",f,")"),da=c.def('"height" in ',d,"?",d,".height|0:","(",e,".","framebufferHeight","-",g,")");k.optional(function(){b.assert(c,h+">=0&&"+da+">=0","invalid "+a)});return[f,g,h,da]});b&&(h.thisDep=h.thisDep||b.thisDep,h.contextDep=h.contextDep||
b.contextDep,h.propDep=h.propDep||b.propDep);return h}return b?new ka(b.thisDep,b.contextDep,b.propDep,function(a,b){var c=a.shared.context;return[0,0,b.def(c,".","framebufferWidth"),b.def(c,".","framebufferHeight")]}):null}var e=a["static"],f=a.dynamic;if(a=d("viewport")){var g=a;a=new ka(a.thisDep,a.contextDep,a.propDep,function(a,b){var c=g.append(a,b),d=a.shared.context;b.set(d,".viewportWidth",c[2]);b.set(d,".viewportHeight",c[3]);return c})}return{viewport:a,scissor_box:d("scissor.box")}}function B(a){function c(a){if(a in
d){var f=b.id(d[a]);k.optional(function(){n.shader(Kb[a],f,k.guessCommand())});var g=P(function(){return f});g.id=f;return g}if(a in e){var h=e[a];return ia(h,function(b,c){var d=b.invoke(c,h),e=c.def(b.shared.strings,".id(",d,")");k.optional(function(){c(b.shared.shader,".shader(",Kb[a],",",e,",",b.command,");")});return e})}return null}var d=a["static"],e=a.dynamic,f=c("frag"),g=c("vert"),h=null;wa(f)&&wa(g)?(h=n.program(g.id,f.id),a=P(function(a,b){return a.link(h)})):a=new ka(f&&f.thisDep||g&&
g.thisDep,f&&f.contextDep||g&&g.contextDep,f&&f.propDep||g&&g.propDep,function(a,b){var c=a.shared.shader,d;d=f?f.append(a,b):b.def(c,".","frag");var e;e=g?g.append(a,b):b.def(c,".","vert");var h=c+".program("+e+","+d;k.optional(function(){h+=","+a.command});return b.def(h+")")});return{frag:f,vert:g,progVar:a,program:h}}function G(a,b){function c(a,f){if(a in d){var h=d[a]|0;k.command(!f||0<=h,"invalid "+a,b.commandStr);return P(function(a,b){f&&(a.OFFSET=h);return h})}if(a in e){var q=e[a];return ia(q,
function(b,c){var d=b.invoke(c,q);f&&(b.OFFSET=d,k.optional(function(){b.assert(c,d+">=0","invalid "+a)}));return d})}return f&&g?P(function(a,b){a.OFFSET="0";return 0}):null}var d=a["static"],e=a.dynamic,g=function(){if("elements"in d){var a=d.elements;fb(a)?a=f.getElements(f.create(a,!0)):a&&(a=f.getElements(a),k.command(a,"invalid elements",b.commandStr));var c=P(function(b,c){if(a){var d=b.link(a);return b.ELEMENTS=d}return b.ELEMENTS=null});c.value=a;return c}if("elements"in e){var g=e.elements;
return ia(g,function(a,b){var c=a.shared,d=c.isBufferArgs,c=c.elements,e=a.invoke(b,g),f=b.def("null"),d=b.def(d,"(",e,")"),h=a.cond(d).then(f,"=",c,".createStream(",e,");")["else"](f,"=",c,".getElements(",e,");");k.optional(function(){a.assert(h["else"],"!"+e+"||"+f,"invalid elements")});b.entry(h);b.exit(a.cond(d).then(c,".destroyStream(",f,");"));return a.ELEMENTS=f})}return null}(),h=c("offset",!0);return{elements:g,primitive:function(){if("primitive"in d){var a=d.primitive;k.commandParameter(a,
Fa,"invalid primitve",b.commandStr);return P(function(b,c){return Fa[a]})}if("primitive"in e){var c=e.primitive;return ia(c,function(a,b){var d=a.constants.primTypes,e=a.invoke(b,c);k.optional(function(){a.assert(b,e+" in "+d,"invalid primitive, must be one of "+Object.keys(Fa))});return b.def(d,"[",e,"]")})}return g?wa(g)?g.value?P(function(a,b){return b.def(a.ELEMENTS,".primType")}):P(function(){return 4}):new ka(g.thisDep,g.contextDep,g.propDep,function(a,b){var c=a.ELEMENTS;return b.def(c,"?",
c,".primType:",4)}):null}(),count:function(){if("count"in d){var a=d.count|0;k.command("number"===typeof a&&0<=a,"invalid vertex count",b.commandStr);return P(function(){return a})}if("count"in e){var c=e.count;return ia(c,function(a,b){var d=a.invoke(b,c);k.optional(function(){a.assert(b,"typeof "+d+'==="number"&&'+d+">=0&&"+d+"===("+d+"|0)","invalid vertex count")});return d})}if(g){if(wa(g)){if(g)return h?new ka(h.thisDep,h.contextDep,h.propDep,function(a,b){var c=b.def(a.ELEMENTS,".vertCount-",
a.OFFSET);k.optional(function(){a.assert(b,c+">=0","invalid vertex offset/element buffer too small")});return c}):P(function(a,b){return b.def(a.ELEMENTS,".vertCount")});var f=P(function(){return-1});k.optional(function(){f.MISSING=!0});return f}var q=new ka(g.thisDep||h.thisDep,g.contextDep||h.contextDep,g.propDep||h.propDep,function(a,b){var c=a.ELEMENTS;return a.OFFSET?b.def(c,"?",c,".vertCount-",a.OFFSET,":-1"):b.def(c,"?",c,".vertCount:-1")});k.optional(function(){q.DYNAMIC=!0});return q}return null}(),
instances:c("instances",!1),offset:h}}function I(a,b){var c=a["static"],e=a.dynamic,f={};Ta.forEach(function(a){function g(b,d){if(a in c){var k=b(c[a]);f[h]=P(function(){return k})}else if(a in e){var q=e[a];f[h]=ia(q,function(a,b){return d(a,b,a.invoke(b,q))})}}var h=w(a);switch(a){case "cull.enable":case "blend.enable":case "dither":case "stencil.enable":case "depth.enable":case "scissor.enable":case "polygonOffset.enable":case "sample.alpha":case "sample.enable":case "depth.mask":return g(function(c){k.commandType(c,
"boolean",a,b.commandStr);return c},function(b,c,d){k.optional(function(){b.assert(c,"typeof "+d+'==="boolean"',"invalid flag "+a,b.commandStr)});return d});case "depth.func":return g(function(c){k.commandParameter(c,Na,"invalid "+a,b.commandStr);return Na[c]},function(b,c,d){var e=b.constants.compareFuncs;k.optional(function(){b.assert(c,d+" in "+e,"invalid "+a+", must be one of "+Object.keys(Na))});return c.def(e,"[",d,"]")});case "depth.range":return g(function(a){k.command(L(a)&&2===a.length&&
"number"===typeof a[0]&&"number"===typeof a[1]&&a[0]<=a[1],"depth range is 2d array",b.commandStr);return a},function(a,b,c){k.optional(function(){a.assert(b,a.shared.isArrayLike+"("+c+")&&"+c+".length===2&&typeof "+c+'[0]==="number"&&typeof '+c+'[1]==="number"&&'+c+"[0]<="+c+"[1]","depth range must be a 2d array")});var d=b.def("+",c,"[0]"),e=b.def("+",c,"[1]");return[d,e]});case "blend.func":return g(function(a){k.commandType(a,"object","blend.func",b.commandStr);var c="srcRGB"in a?a.srcRGB:a.src,
d="srcAlpha"in a?a.srcAlpha:a.src,e="dstRGB"in a?a.dstRGB:a.dst;a="dstAlpha"in a?a.dstAlpha:a.dst;k.commandParameter(c,pa,h+".srcRGB",b.commandStr);k.commandParameter(d,pa,h+".srcAlpha",b.commandStr);k.commandParameter(e,pa,h+".dstRGB",b.commandStr);k.commandParameter(a,pa,h+".dstAlpha",b.commandStr);k.command(-1===Jb.indexOf(c+", "+e),"unallowed blending combination (srcRGB, dstRGB) = ("+c+", "+e+")",b.commandStr);return[pa[c],pa[e],pa[d],pa[a]]},function(b,c,d){function e(g,h){var q=c.def('"',g,
h,'" in ',d,"?",d,".",g,h,":",d,".",g);k.optional(function(){b.assert(c,q+" in "+f,"invalid "+a+"."+g+h+", must be one of "+Object.keys(pa))});return q}var f=b.constants.blendFuncs;k.optional(function(){b.assert(c,d+"&&typeof "+d+'==="object"',"invalid blend func, must be an object")});var g=e("src","RGB"),h=e("dst","RGB");k.optional(function(){b.assert(c,b.constants.invalidBlendCombinations+".indexOf("+g+'+", "+'+h+") === -1 ","unallowed blending combination for (srcRGB, dstRGB)")});var q=c.def(f,
"[",g,"]"),D=c.def(f,"[",e("src","Alpha"),"]"),l=c.def(f,"[",h,"]"),m=c.def(f,"[",e("dst","Alpha"),"]");return[q,l,D,m]});case "blend.equation":return g(function(c){if("string"===typeof c)return k.commandParameter(c,aa,"invalid "+a,b.commandStr),[aa[c],aa[c]];if("object"===typeof c)return k.commandParameter(c.rgb,aa,a+".rgb",b.commandStr),k.commandParameter(c.alpha,aa,a+".alpha",b.commandStr),[aa[c.rgb],aa[c.alpha]];k.commandRaise("invalid blend.equation",b.commandStr)},function(b,c,d){var e=b.constants.blendEquations,
f=c.def(),g=c.def(),h=b.cond("typeof ",d,'==="string"');k.optional(function(){function c(a,d,f){b.assert(a,f+" in "+e,"invalid "+d+", must be one of "+Object.keys(aa))}c(h.then,a,d);b.assert(h["else"],d+"&&typeof "+d+'==="object"',"invalid "+a);c(h["else"],a+".rgb",d+".rgb");c(h["else"],a+".alpha",d+".alpha")});h.then(f,"=",g,"=",e,"[",d,"];");h["else"](f,"=",e,"[",d,".rgb];",g,"=",e,"[",d,".alpha];");c(h);return[f,g]});case "blend.color":return g(function(a){k.command(L(a)&&4===a.length,"blend.color must be a 4d array",
b.commandStr);return J(4,function(b){return+a[b]})},function(a,b,c){k.optional(function(){a.assert(b,a.shared.isArrayLike+"("+c+")&&"+c+".length===4","blend.color must be a 4d array")});return J(4,function(a){return b.def("+",c,"[",a,"]")})});case "stencil.mask":return g(function(a){k.commandType(a,"number",h,b.commandStr);return a|0},function(a,b,c){k.optional(function(){a.assert(b,"typeof "+c+'==="number"',"invalid stencil.mask")});return b.def(c,"|0")});case "stencil.func":return g(function(c){k.commandType(c,
"object",h,b.commandStr);var d=c.cmp||"keep",e=c.ref||0;c="mask"in c?c.mask:-1;k.commandParameter(d,Na,a+".cmp",b.commandStr);k.commandType(e,"number",a+".ref",b.commandStr);k.commandType(c,"number",a+".mask",b.commandStr);return[Na[d],e,c]},function(a,b,c){var d=a.constants.compareFuncs;k.optional(function(){function e(){a.assert(b,Array.prototype.join.call(arguments,""),"invalid stencil.func")}e(c+"&&typeof ",c,'==="object"');e('!("cmp" in ',c,")||(",c,".cmp in ",d,")")});var e=b.def('"cmp" in ',
c,"?",d,"[",c,".cmp]",":",7680),f=b.def(c,".ref|0"),g=b.def('"mask" in ',c,"?",c,".mask|0:-1");return[e,f,g]});case "stencil.opFront":case "stencil.opBack":return g(function(c){k.commandType(c,"object",h,b.commandStr);var d=c.fail||"keep",e=c.zfail||"keep";c=c.zpass||"keep";k.commandParameter(d,xa,a+".fail",b.commandStr);k.commandParameter(e,xa,a+".zfail",b.commandStr);k.commandParameter(c,xa,a+".zpass",b.commandStr);return["stencil.opBack"===a?1029:1028,xa[d],xa[e],xa[c]]},function(b,c,d){function e(g){k.optional(function(){b.assert(c,
'!("'+g+'" in '+d+")||("+d+"."+g+" in "+f+")","invalid "+a+"."+g+", must be one of "+Object.keys(xa))});return c.def('"',g,'" in ',d,"?",f,"[",d,".",g,"]:",7680)}var f=b.constants.stencilOps;k.optional(function(){b.assert(c,d+"&&typeof "+d+'==="object"',"invalid "+a)});return["stencil.opBack"===a?1029:1028,e("fail"),e("zfail"),e("zpass")]});case "polygonOffset.offset":return g(function(a){k.commandType(a,"object",h,b.commandStr);var c=a.factor|0;a=a.units|0;k.commandType(c,"number",h+".factor",b.commandStr);
k.commandType(a,"number",h+".units",b.commandStr);return[c,a]},function(b,c,d){k.optional(function(){b.assert(c,d+"&&typeof "+d+'==="object"',"invalid "+a)});var e=c.def(d,".factor|0"),f=c.def(d,".units|0");return[e,f]});case "cull.face":return g(function(a){var c=0;"front"===a?c=1028:"back"===a&&(c=1029);k.command(!!c,h,b.commandStr);return c},function(a,b,c){k.optional(function(){a.assert(b,c+'==="front"||'+c+'==="back"',"invalid cull.face")});return b.def(c,'==="front"?',1028,":",1029)});case "lineWidth":return g(function(a){k.command("number"===
typeof a&&a>=d.lineWidthDims[0]&&a<=d.lineWidthDims[1],"invalid line width, must positive number between "+d.lineWidthDims[0]+" and "+d.lineWidthDims[1],b.commandStr);return a},function(a,b,c){k.optional(function(){a.assert(b,"typeof "+c+'==="number"&&'+c+">="+d.lineWidthDims[0]+"&&"+c+"<="+d.lineWidthDims[1],"invalid line width")});return c});case "frontFace":return g(function(a){k.commandParameter(a,ob,h,b.commandStr);return ob[a]},function(a,b,c){k.optional(function(){a.assert(b,c+'==="cw"||'+
c+'==="ccw"',"invalid frontFace, must be one of cw,ccw")});return b.def(c+'==="cw"?2304:2305')});case "colorMask":return g(function(a){k.command(L(a)&&4===a.length,"color.mask must be length 4 array",b.commandStr);return a.map(function(a){return!!a})},function(a,b,c){k.optional(function(){a.assert(b,a.shared.isArrayLike+"("+c+")&&"+c+".length===4","invalid color.mask")});return J(4,function(a){return"!!"+c+"["+a+"]"})});case "sample.coverage":return g(function(a){k.command("object"===typeof a&&a,
h,b.commandStr);var c="value"in a?a.value:1;a=!!a.invert;k.command("number"===typeof c&&0<=c&&1>=c,"sample.coverage.value must be a number between 0 and 1",b.commandStr);return[c,a]},function(a,b,c){k.optional(function(){a.assert(b,c+"&&typeof "+c+'==="object"',"invalid sample.coverage")});var d=b.def('"value" in ',c,"?+",c,".value:1"),e=b.def("!!",c,".invert");return[d,e]})}});return f}function H(a,b){var c=a["static"],d=a.dynamic,e={};Object.keys(c).forEach(function(a){var d=c[a],f;if("number"===
typeof d||"boolean"===typeof d)f=P(function(){return d});else if("function"===typeof d){var g=d._reglType;"texture2d"===g||"textureCube"===g?f=P(function(a){return a.link(d)}):"framebuffer"===g||"framebufferCube"===g?(k.command(0<d.color.length,'missing color attachment for framebuffer sent to uniform "'+a+'"',b.commandStr),f=P(function(a){return a.link(d.color[0])})):k.commandRaise('invalid data for uniform "'+a+'"',b.commandStr)}else L(d)?f=P(function(b){return b.global.def("[",J(d.length,function(c){k.command("number"===
typeof d[c]||"boolean"===typeof d[c],"invalid uniform "+a,b.commandStr);return d[c]}),"]")}):k.commandRaise('invalid or missing data for uniform "'+a+'"',b.commandStr);f.value=d;e[a]=f});Object.keys(d).forEach(function(a){var b=d[a];e[a]=ia(b,function(a,c){return a.invoke(c,b)})});return e}function N(a,c){var d=a["static"],f=a.dynamic,g={};Object.keys(d).forEach(function(a){var f=d[a],h=b.id(a),q=new Ca;if(fb(f))q.state=1,q.buffer=e.getBuffer(e.create(f,34962,!1,!0)),q.type=0;else{var D=e.getBuffer(f);
if(D)q.state=1,q.buffer=D,q.type=0;else if(k.command("object"===typeof f&&f,"invalid data for attribute "+a,c.commandStr),f.constant){var l=f.constant;q.buffer="null";q.state=2;"number"===typeof l?q.x=l:(k.command(L(l)&&0<l.length&&4>=l.length,"invalid constant for attribute "+a,c.commandStr),Oa.forEach(function(a,b){b<l.length&&(q[a]=l[b])}))}else{D=fb(f.buffer)?e.getBuffer(e.create(f.buffer,34962,!1,!0)):e.getBuffer(f.buffer);k.command(!!D,'missing buffer for attribute "'+a+'"',c.commandStr);var m=
f.offset|0;k.command(0<=m,'invalid offset for attribute "'+a+'"',c.commandStr);var n=f.stride|0;k.command(0<=n&&256>n,'invalid stride for attribute "'+a+'", must be integer betweeen [0, 255]',c.commandStr);var p=f.size|0;k.command(!("size"in f)||0<p&&4>=p,'invalid size for attribute "'+a+'", must be 1,2,3,4',c.commandStr);var r=!!f.normalized,u=0;"type"in f&&(k.commandParameter(f.type,Ra,"invalid type for attribute "+a,c.commandStr),u=Ra[f.type]);var ja=f.divisor|0;"divisor"in f&&(k.command(0===ja||
Ka,'cannot specify divisor for attribute "'+a+'", instancing not supported',c.commandStr),k.command(0<=ja,'invalid divisor for attribute "'+a+'"',c.commandStr));k.optional(function(){var b=c.commandStr,d="buffer offset divisor normalized type size stride".split(" ");Object.keys(f).forEach(function(c){k.command(0<=d.indexOf(c),'unknown parameter "'+c+'" for attribute pointer "'+a+'" (valid parameters are '+d+")",b)})});q.buffer=D;q.state=1;q.size=p;q.normalized=r;q.type=u||D.dtype;q.offset=m;q.stride=
n;q.divisor=ja}}g[a]=P(function(a,b){var c=a.attribCache;if(h in c)return c[h];var d={isStream:!1};Object.keys(q).forEach(function(a){d[a]=q[a]});q.buffer&&(d.buffer=a.link(q.buffer),d.type=d.type||d.buffer+".dtype");return c[h]=d})});Object.keys(f).forEach(function(a){var b=f[a];g[a]=ia(b,function(c,d){function e(a){d(D[a],"=",f,".",a,"|0;")}var f=c.invoke(d,b),g=c.shared,h=g.isBufferArgs,q=g.buffer;k.optional(function(){c.assert(d,f+"&&(typeof "+f+'==="object"||typeof '+f+'==="function")&&('+h+
"("+f+")||"+q+".getBuffer("+f+")||"+q+".getBuffer("+f+".buffer)||"+h+"("+f+'.buffer)||("constant" in '+f+"&&(typeof "+f+'.constant==="number"||'+g.isArrayLike+"("+f+".constant))))",'invalid dynamic attribute "'+a+'"')});var D={isStream:d.def(!1)},l=new Ca;l.state=1;Object.keys(l).forEach(function(a){D[a]=d.def(""+l[a])});var m=D.buffer,n=D.type;d("if(",h,"(",f,")){",D.isStream,"=true;",m,"=",q,".createStream(",34962,",",f,");",n,"=",m,".dtype;","}else{",m,"=",q,".getBuffer(",f,");","if(",m,"){",n,
"=",m,".dtype;",'}else if("constant" in ',f,"){",D.state,"=",2,";","if(typeof "+f+'.constant === "number"){',D[Oa[0]],"=",f,".constant;",Oa.slice(1).map(function(a){return D[a]}).join("="),"=0;","}else{",Oa.map(function(a,b){return D[a]+"="+f+".constant.length>="+b+"?"+f+".constant["+b+"]:0;"}).join(""),"}}else{","if(",h,"(",f,".buffer)){",m,"=",q,".createStream(",34962,",",f,".buffer);","}else{",m,"=",q,".getBuffer(",f,".buffer);","}",n,'="type" in ',f,"?",g.glTypes,"[",f,".type]:",m,".dtype;",D.normalized,
"=!!",f,".normalized;");e("size");e("offset");e("stride");e("divisor");d("}}");d.exit("if(",D.isStream,"){",q,".destroyStream(",m,");","}");return D})});return g}function Q(a){var b=a["static"],c=a.dynamic,d={};Object.keys(b).forEach(function(a){var c=b[a];d[a]=P(function(a,b){return"number"===typeof c||"boolean"===typeof c?""+c:a.link(c)})});Object.keys(c).forEach(function(a){var b=c[a];d[a]=ia(b,function(a,c){return a.invoke(c,b)})});return d}function T(a,b,c,d,e){function f(a){var b=l[a];b&&(n[a]=
b)}var g=a["static"],h=a.dynamic;k.optional(function(){function a(c){Object.keys(c).forEach(function(a){k.command(0<=b.indexOf(a),'unknown parameter "'+a+'"',e.commandStr)})}var b="framebuffer vert frag elements primitive offset count instances profile".split(" ").concat(Ta);a(g);a(h)});var q=z(a,e),l=C(a,q,e),m=G(a,e),n=I(a,e),p=B(a,e);f("viewport");f(w("scissor.box"));var E=0<Object.keys(n).length,q={framebuffer:q,draw:m,shader:p,state:n,dirty:E};q.profile=A(a,e);q.uniforms=H(c,e);q.attributes=
N(b,e);q.context=Q(d,e);return q}function F(a,b,c){var d=a.shared.context,e=a.scope();Object.keys(c).forEach(function(f){b.save(d,"."+f);e(d,".",f,"=",c[f].append(a,b),";")});b(e)}function O(a,b,c,d){var e=a.shared,f=e.gl,g=e.framebuffer,h;db&&(h=b.def(e.extensions,".webgl_draw_buffers"));var k=a.constants,e=k.drawBuffer,k=k.backBuffer;a=c?c.append(a,b):b.def(g,".next");d||b("if(",a,"!==",g,".cur){");b("if(",a,"){",f,".bindFramebuffer(",36160,",",a,".framebuffer);");db&&b(h,".drawBuffersWEBGL(",e,
"[",a,".colorAttachments.length]);");b("}else{",f,".bindFramebuffer(",36160,",null);");db&&b(h,".drawBuffersWEBGL(",k,");");b("}",g,".cur=",a,";");d||b("}")}function V(a,b,c){var d=a.shared,e=d.gl,f=a.current,g=a.next,h=d.current,k=d.next,q=a.cond(h,".dirty");Ta.forEach(function(b){b=w(b);if(!(b in c.state)){var d,l;if(b in g){d=g[b];l=f[b];var m=J(ta[b].length,function(a){return q.def(d,"[",a,"]")});q(a.cond(m.map(function(a,b){return a+"!=="+l+"["+b+"]"}).join("||")).then(e,".",va[b],"(",m,");",
m.map(function(a,b){return l+"["+b+"]="+a}).join(";"),";"))}else d=q.def(k,".",b),m=a.cond(d,"!==",h,".",b),q(m),b in ua?m(a.cond(d).then(e,".enable(",ua[b],");")["else"](e,".disable(",ua[b],");"),h,".",b,"=",d,";"):m(e,".",va[b],"(",d,");",h,".",b,"=",d,";")}});0===Object.keys(c.state).length&&q(h,".dirty=false;");b(q)}function Z(a,b,c,d){var e=a.shared,f=a.current,g=e.current,h=e.gl;Hb(Object.keys(c)).forEach(function(e){var k=c[e];if(!d||d(k)){var q=k.append(a,b);if(ua[e]){var l=ua[e];wa(k)?q?
b(h,".enable(",l,");"):b(h,".disable(",l,");"):b(a.cond(q).then(h,".enable(",l,");")["else"](h,".disable(",l,");"));b(g,".",e,"=",q,";")}else if(L(q)){var m=f[e];b(h,".",va[e],"(",q,");",q.map(function(a,b){return m+"["+b+"]="+a}).join(";"),";")}else b(h,".",va[e],"(",q,");",g,".",e,"=",q,";")}})}function S(a,b){Ka&&(a.instancing=b.def(a.shared.extensions,".angle_instanced_arrays"))}function Y(a,b,c,d,e){function f(){return"undefined"===typeof performance?"Date.now()":"performance.now()"}function g(a){p=
b.def();a(p,"=",f(),";");"string"===typeof e?a(l,".count+=",e,";"):a(l,".count++;");u&&(d?(E=b.def(),a(E,"=",n,".getNumPendingQueries();")):a(n,".beginQuery(",l,");"))}function h(a){a(l,".cpuTime+=",f(),"-",p,";");u&&(d?a(n,".pushScopeStats(",E,",",n,".getNumPendingQueries(),",l,");"):a(n,".endQuery();"))}function k(a){var c=b.def(m,".profile");b(m,".profile=",a,";");b.exit(m,".profile=",c,";")}var q=a.shared,l=a.stats,m=q.current,n=q.timer;c=c.profile;var p,E;if(c){if(wa(c)){c.enable?(g(b),h(b.exit),
k("true")):k("false");return}c=c.append(a,b);k(c)}else c=b.def(m,".profile");q=a.block();g(q);b("if(",c,"){",q,"}");a=a.block();h(a);b.exit("if(",c,"){",a,"}")}function M(a,b,c,d,e){function f(a){switch(a){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}function g(c,d,e){function f(){b("if(!",m,".buffer){",q,".enableVertexAttribArray(",l,");}");var c=e.type,g;g=e.size?b.def(e.size,"||",d):d;b("if(",m,".type!==",
c,"||",m,".size!==",g,"||",E.map(function(a){return m+"."+a+"!=="+e[a]}).join("||"),"){",q,".bindBuffer(",34962,",",n,".buffer);",q,".vertexAttribPointer(",[l,g,c,e.normalized,e.stride,e.offset],");",m,".type=",c,";",m,".size=",g,";",E.map(function(a){return m+"."+a+"="+e[a]+";"}).join(""),"}");Ka&&(c=e.divisor,b("if(",m,".divisor!==",c,"){",a.instancing,".vertexAttribDivisorANGLE(",[l,c],");",m,".divisor=",c,";}"))}function k(){b("if(",m,".buffer){",q,".disableVertexAttribArray(",l,");","}if(",Oa.map(function(a,
b){return m+"."+a+"!=="+p[b]}).join("||"),"){",q,".vertexAttrib4f(",l,",",p,");",Oa.map(function(a,b){return m+"."+a+"="+p[b]+";"}).join(""),"}")}var q=h.gl,l=b.def(c,".location"),m=b.def(h.attributes,"[",l,"]");c=e.state;var n=e.buffer,p=[e.x,e.y,e.z,e.w],E=["buffer","normalized","offset","stride"];1===c?f():2===c?k():(b("if(",c,"===",1,"){"),f(),b("}else{"),k(),b("}"))}var h=a.shared;d.forEach(function(d){var h=d.name,q=c.attributes[h],l;if(q){if(!e(q))return;l=q.append(a,b)}else{if(!e(Lb))return;
var m=a.scopeAttrib(h);k.optional(function(){a.assert(b,m+".state","missing attribute "+h)});l={};Object.keys(new Ca).forEach(function(a){l[a]=b.def(m,".",a)})}g(a.link(d),f(d.info.type),l)})}function U(a,c,d,e,f){for(var g=a.shared,h=g.gl,q,l=0;l<e.length;++l){var m=e[l],n=m.name,p=m.info.type,r=d.uniforms[n],m=a.link(m)+".location",u;if(r){if(!f(r))continue;if(wa(r)){var t=r.value;k.command(null!==t&&"undefined"!==typeof t,'missing uniform "'+n+'"',a.commandStr);if(35678===p||35680===p)k.command("function"===
typeof t&&(35678===p&&("texture2d"===t._reglType||"framebuffer"===t._reglType)||35680===p&&("textureCube"===t._reglType||"framebufferCube"===t._reglType)),"invalid texture for uniform "+n,a.commandStr),r=a.link(t._texture||t.color[0]._texture),c(h,".uniform1i(",m,",",r+".bind());"),c.exit(r,".unbind();");else if(35674===p||35675===p||35676===p){k.optional(function(){k.command(L(t),"invalid matrix for uniform "+n,a.commandStr);k.command(35674===p&&4===t.length||35675===p&&9===t.length||35676===p&&
16===t.length,"invalid length for matrix uniform "+n,a.commandStr)});var r=a.global.def("new Float32Array(["+Array.prototype.slice.call(t)+"])"),y=2;35675===p?y=3:35676===p&&(y=4);c(h,".uniformMatrix",y,"fv(",m,",false,",r,");")}else{switch(p){case 5126:k.commandType(t,"number","uniform "+n,a.commandStr);q="1f";break;case 35664:k.command(L(t)&&2===t.length,"uniform "+n,a.commandStr);q="2f";break;case 35665:k.command(L(t)&&3===t.length,"uniform "+n,a.commandStr);q="3f";break;case 35666:k.command(L(t)&&
4===t.length,"uniform "+n,a.commandStr);q="4f";break;case 35670:k.commandType(t,"boolean","uniform "+n,a.commandStr);q="1i";break;case 5124:k.commandType(t,"number","uniform "+n,a.commandStr);q="1i";break;case 35671:k.command(L(t)&&2===t.length,"uniform "+n,a.commandStr);q="2i";break;case 35667:k.command(L(t)&&2===t.length,"uniform "+n,a.commandStr);q="2i";break;case 35672:k.command(L(t)&&3===t.length,"uniform "+n,a.commandStr);q="3i";break;case 35668:k.command(L(t)&&3===t.length,"uniform "+n,a.commandStr);
q="3i";break;case 35673:k.command(L(t)&&4===t.length,"uniform "+n,a.commandStr);q="4i";break;case 35669:k.command(L(t)&&4===t.length,"uniform "+n,a.commandStr),q="4i"}c(h,".uniform",q,"(",m,",",L(t)?Array.prototype.slice.call(t):t,");")}continue}else u=r.append(a,c)}else{if(!f(Lb))continue;u=c.def(g.uniforms,"[",b.id(n),"]")}35678===p?c("if(",u,"&&",u,'._reglType==="framebuffer"){',u,"=",u,".color[0];","}"):35680===p&&c("if(",u,"&&",u,'._reglType==="framebufferCube"){',u,"=",u,".color[0];","}");k.optional(function(){function b(d,
e){a.assert(c,d,'bad data or missing for uniform "'+n+'". '+e)}function d(a){b("typeof "+u+'==="'+a+'"',"invalid type, expected "+a)}function e(c,d){b(g.isArrayLike+"("+u+")&&"+u+".length==="+c,"invalid vector, should have length "+c,a.commandStr)}function f(c){b("typeof "+u+'==="function"&&'+u+'._reglType==="texture'+(3553===c?"2d":"Cube")+'"',"invalid texture type",a.commandStr)}switch(p){case 5124:d("number");break;case 35667:e(2,"number");break;case 35668:e(3,"number");break;case 35669:e(4,"number");
break;case 5126:d("number");break;case 35664:e(2,"number");break;case 35665:e(3,"number");break;case 35666:e(4,"number");break;case 35670:d("boolean");break;case 35671:e(2,"boolean");break;case 35672:e(3,"boolean");break;case 35673:e(4,"boolean");break;case 35674:e(4,"number");break;case 35675:e(9,"number");break;case 35676:e(16,"number");break;case 35678:f(3553);break;case 35680:f(34067)}});r=1;switch(p){case 35678:case 35680:r=c.def(u,"._texture");c(h,".uniform1i(",m,",",r,".bind());");c.exit(r,
".unbind();");continue;case 5124:case 35670:q="1i";break;case 35667:case 35671:q="2i";r=2;break;case 35668:case 35672:q="3i";r=3;break;case 35669:case 35673:q="4i";r=4;break;case 5126:q="1f";break;case 35664:q="2f";r=2;break;case 35665:q="3f";r=3;break;case 35666:q="4f";r=4;break;case 35674:q="Matrix2fv";break;case 35675:q="Matrix3fv";break;case 35676:q="Matrix4fv"}c(h,".uniform",q,"(",m,",");if("M"===q.charAt(0)){var m=Math.pow(p-35674+2,2),v=a.global.def("new Float32Array(",m,")");c("false,(Array.isArray(",
u,")||",u," instanceof Float32Array)?",u,":(",J(m,function(a){return v+"["+a+"]="+u+"["+a+"]"}),",",v,")")}else 1<r?c(J(r,function(a){return u+"["+a+"]"})):c(u);c(");")}}function X(a,b,c,d){function e(f){var g=m[f];return g?g.contextDep&&d.contextDynamic||g.propDep?g.append(a,c):g.append(a,b):b.def(l,".",f)}function f(){function a(){c(t,".drawElementsInstancedANGLE(",[p,u,y,r+"<<(("+y+"-5121)>>1)",E],");")}function b(){c(t,".drawArraysInstancedANGLE(",[p,r,u,E],");")}n?v?a():(c("if(",n,"){"),a(),
c("}else{"),b(),c("}")):b()}function g(){function a(){c(q+".drawElements("+[p,u,y,r+"<<(("+y+"-5121)>>1)"]+");")}function b(){c(q+".drawArrays("+[p,r,u]+");")}n?v?a():(c("if(",n,"){"),a(),c("}else{"),b(),c("}")):b()}var h=a.shared,q=h.gl,l=h.draw,m=d.draw,n=function(){var e=m.elements,f=b;if(e){if(e.contextDep&&d.contextDynamic||e.propDep)f=c;e=e.append(a,f)}else e=f.def(l,".","elements");e&&f("if("+e+")"+q+".bindBuffer(34963,"+e+".buffer.buffer);");return e}(),p=e("primitive"),r=e("offset"),u=function(){var e=
m.count,f,g=b;if(e){if(e.contextDep&&d.contextDynamic||e.propDep)g=c;f=e.append(a,g);k.optional(function(){e.MISSING&&a.assert(b,"false","missing vertex count");e.DYNAMIC&&a.assert(g,f+">=0","missing vertex count")})}else f=g.def(l,".","count"),k.optional(function(){a.assert(g,f+">=0","missing vertex count")});return f}();if("number"===typeof u){if(0===u)return}else c("if(",u,"){"),c.exit("}");var E,t;Ka&&(E=e("instances"),t=a.instancing);var y=n+".type",v=m.elements&&wa(m.elements);Ka&&("number"!==
typeof E||0<=E)?"string"===typeof E?(c("if(",E,">0){"),f(),c("}else if(",E,"<0){"),g(),c("}")):f():g()}function ba(a,b,c,d,e){var f=x();e=f.proc("body",e);k.optional(function(){f.commandStr=b.commandStr;f.command=f.link(b.commandStr)});Ka&&(f.instancing=e.def(f.shared.extensions,".angle_instanced_arrays"));a(f,e,c,d);return f.compile().body}function W(a,b,c,d){S(a,b);M(a,b,c,d.attributes,function(){return!0});U(a,b,c,d.uniforms,function(){return!0});X(a,b,b,c)}function ga(a,b){var c=a.proc("draw",
1);S(a,c);F(a,c,b.context);O(a,c,b.framebuffer);V(a,c,b);Z(a,c,b.state);Y(a,c,b,!1,!0);var d=b.shader.progVar.append(a,c);c(a.shared.gl,".useProgram(",d,".program);");if(b.shader.program)W(a,c,b,b.shader.program);else{var e=a.global.def("{}"),f=c.def(d,".id"),g=c.def(e,"[",f,"]");c(a.cond(g).then(g,".call(this,a0);")["else"](g,"=",e,"[",f,"]=",a.link(function(c){return ba(W,a,b,c,1)}),"(",d,");",g,".call(this,a0);"))}0<Object.keys(b.state).length&&c(a.shared.current,".dirty=true;")}function Va(a,
b,c,d){function e(){return!0}a.batchId="a1";S(a,b);M(a,b,c,d.attributes,e);U(a,b,c,d.uniforms,e);X(a,b,b,c)}function Da(a,b,c,d){function e(a){return a.contextDep&&g||a.propDep}function f(a){return!e(a)}S(a,b);var g=c.contextDep,h=b.def(),q=b.def();a.shared.props=q;a.batchId=h;var k=a.scope(),l=a.scope();b(k.entry,"for(",h,"=0;",h,"<","a1",";++",h,"){",q,"=","a0","[",h,"];",l,"}",k.exit);c.needsContext&&F(a,l,c.context);c.needsFramebuffer&&O(a,l,c.framebuffer);Z(a,l,c.state,e);c.profile&&e(c.profile)&&
Y(a,l,c,!1,!0);d?(M(a,k,c,d.attributes,f),M(a,l,c,d.attributes,e),U(a,k,c,d.uniforms,f),U(a,l,c,d.uniforms,e),X(a,k,l,c)):(b=a.global.def("{}"),d=c.shader.progVar.append(a,l),q=l.def(d,".id"),k=l.def(b,"[",q,"]"),l(a.shared.gl,".useProgram(",d,".program);","if(!",k,"){",k,"=",b,"[",q,"]=",a.link(function(b){return ba(Va,a,c,b,2)}),"(",d,");}",k,".call(this,a0[",h,"],",h,");"))}function Ea(a,b){function c(a){return a.contextDep&&e||a.propDep}var d=a.proc("batch",2);a.batchId="0";S(a,d);var e=!1,f=
!0;Object.keys(b.context).forEach(function(a){e=e||b.context[a].propDep});e||(F(a,d,b.context),f=!1);var g=b.framebuffer,h=!1;g?(g.propDep?e=h=!0:g.contextDep&&e&&(h=!0),h||O(a,d,g)):O(a,d,null);b.state.viewport&&b.state.viewport.propDep&&(e=!0);V(a,d,b);Z(a,d,b.state,function(a){return!c(a)});b.profile&&c(b.profile)||Y(a,d,b,!1,"a1");b.contextDep=e;b.needsContext=f;b.needsFramebuffer=h;f=b.shader.progVar;if(f.contextDep&&e||f.propDep)Da(a,d,b,null);else if(f=f.append(a,d),d(a.shared.gl,".useProgram(",
f,".program);"),b.shader.program)Da(a,d,b,b.shader.program);else{var g=a.global.def("{}"),h=d.def(f,".id"),q=d.def(g,"[",h,"]");d(a.cond(q).then(q,".call(this,a0,a1);")["else"](q,"=",g,"[",h,"]=",a.link(function(c){return ba(Da,a,b,c,2)}),"(",f,");",q,".call(this,a0,a1);"))}0<Object.keys(b.state).length&&d(a.shared.current,".dirty=true;")}function lb(a,c){function d(b){var g=c.shader[b];g&&e.set(f.shader,"."+b,g.append(a,e))}var e=a.proc("scope",3);a.batchId="a2";var f=a.shared,g=f.current;F(a,e,
c.context);c.framebuffer&&c.framebuffer.append(a,e);Hb(Object.keys(c.state)).forEach(function(b){var d=c.state[b].append(a,e);L(d)?d.forEach(function(c,d){e.set(a.next[b],"["+d+"]",c)}):e.set(f.next,"."+b,d)});Y(a,e,c,!0,!0);["elements","offset","count","instances","primitive"].forEach(function(b){var d=c.draw[b];d&&e.set(f.draw,"."+b,""+d.append(a,e))});Object.keys(c.uniforms).forEach(function(d){e.set(f.uniforms,"["+b.id(d)+"]",c.uniforms[d].append(a,e))});Object.keys(c.attributes).forEach(function(b){var d=
c.attributes[b].append(a,e),f=a.scopeAttrib(b);Object.keys(new Ca).forEach(function(a){e.set(f,"."+a,d[a])})});d("vert");d("frag");0<Object.keys(c.state).length&&(e(g,".dirty=true;"),e.exit(g,".dirty=true;"));e("a1(",a.shared.context,",a0,",a.batchId,");")}function ha(a){if("object"===typeof a&&!L(a)){for(var b=Object.keys(a),c=0;c<b.length;++c)if(la.isDynamic(a[b[c]]))return!0;return!1}}function fa(a,b,c){function d(a,b){g.forEach(function(c){var d=e[c];la.isDynamic(d)&&(d=a.invoke(b,d),b(l,".",
c,"=",d,";"))})}var e=b["static"][c];if(e&&ha(e)){var f=a.global,g=Object.keys(e),h=!1,q=!1,k=!1,l=a.global.def("{}");g.forEach(function(b){var c=e[b];if(la.isDynamic(c))"function"===typeof c&&(c=e[b]=la.unbox(c)),b=ia(c,null),h=h||b.thisDep,k=k||b.propDep,q=q||b.contextDep;else{f(l,".",b,"=");switch(typeof c){case "number":f(c);break;case "string":f('"',c,'"');break;case "object":Array.isArray(c)&&f("[",c.join(),"]");break;default:f(a.link(c))}f(";")}});b.dynamic[c]=new la.DynamicVariable(4,{thisDep:h,
contextDep:q,propDep:k,ref:l,append:d});delete b["static"][c]}}var Ca=m.Record,aa={add:32774,subtract:32778,"reverse subtract":32779};c.ext_blend_minmax&&(aa.min=32775,aa.max=32776);var Ka=c.angle_instanced_arrays,db=c.webgl_draw_buffers,ta={dirty:!0,profile:y.profile},Sa={},Ta=[],ua={},va={};v("dither",3024);v("blend.enable",3042);t("blend.color","blendColor",[0,0,0,0]);t("blend.equation","blendEquationSeparate",[32774,32774]);t("blend.func","blendFuncSeparate",[1,0,1,0]);v("depth.enable",2929,!0);
t("depth.func","depthFunc",513);t("depth.range","depthRange",[0,1]);t("depth.mask","depthMask",!0);t("colorMask","colorMask",[!0,!0,!0,!0]);v("cull.enable",2884);t("cull.face","cullFace",1029);t("frontFace","frontFace",2305);t("lineWidth","lineWidth",1);v("polygonOffset.enable",32823);t("polygonOffset.offset","polygonOffset",[0,0]);v("sample.alpha",32926);v("sample.enable",32928);t("sample.coverage","sampleCoverage",[1,!1]);v("stencil.enable",2960);t("stencil.mask","stencilMask",-1);t("stencil.func",
"stencilFunc",[519,0,-1]);t("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]);t("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]);v("scissor.enable",3089);t("scissor.box","scissor",[0,0,a.drawingBufferWidth,a.drawingBufferHeight]);t("viewport","viewport",[0,0,a.drawingBufferWidth,a.drawingBufferHeight]);var kb={gl:a,context:r,strings:b,next:Sa,current:ta,draw:p,elements:f,buffer:e,shader:n,attributes:m.state,uniforms:l,framebuffer:h,extensions:c,timer:u,isBufferArgs:fb},ca={primTypes:Fa,
compareFuncs:Na,blendFuncs:pa,blendEquations:aa,stencilOps:xa,glTypes:Ra,orientationType:ob};k.optional(function(){kb.isArrayLike=L});db&&(ca.backBuffer=[1029],ca.drawBuffer=J(d.maxDrawbuffers,function(a){return 0===a?[0]:J(a,function(a){return 36064+a})}));var oa=0;return{next:Sa,current:ta,procs:function(){var b=x(),c=b.proc("poll"),e=b.proc("refresh"),f=b.block();c(f);e(f);var g=b.shared,h=g.gl,k=g.next,l=g.current;f(l,".dirty=false;");O(b,c);O(b,e,null,!0);var m=a.getExtension("angle_instanced_arrays"),
n;m&&(n=b.link(m));for(var p=0;p<d.maxAttributes;++p){var E=e.def(g.attributes,"[",p,"]"),u=b.cond(E,".buffer");u.then(h,".enableVertexAttribArray(",p,");",h,".bindBuffer(",34962,",",E,".buffer.buffer);",h,".vertexAttribPointer(",p,",",E,".size,",E,".type,",E,".normalized,",E,".stride,",E,".offset);")["else"](h,".disableVertexAttribArray(",p,");",h,".vertexAttrib4f(",p,",",E,".x,",E,".y,",E,".z,",E,".w);",E,".buffer=null;");e(u);m&&e(n,".vertexAttribDivisorANGLE(",p,",",E,".divisor);")}Object.keys(ua).forEach(function(a){var d=
ua[a],g=f.def(k,".",a),q=b.block();q("if(",g,"){",h,".enable(",d,")}else{",h,".disable(",d,")}",l,".",a,"=",g,";");e(q);c("if(",g,"!==",l,".",a,"){",q,"}")});Object.keys(va).forEach(function(a){var d=va[a],g=ta[a],q,m,n=b.block();n(h,".",d,"(");L(g)?(d=g.length,q=b.global.def(k,".",a),m=b.global.def(l,".",a),n(J(d,function(a){return q+"["+a+"]"}),");",J(d,function(a){return m+"["+a+"]="+q+"["+a+"];"}).join("")),c("if(",J(d,function(a){return q+"["+a+"]!=="+m+"["+a+"]"}).join("||"),"){",n,"}")):(q=
f.def(k,".",a),m=f.def(l,".",a),n(q,");",l,".",a,"=",q,";"),c("if(",q,"!==",m,"){",n,"}"));e(n)});return b.compile()}(),compile:function(a,b,c,d,e){var f=x();f.stats=f.link(e);Object.keys(b["static"]).forEach(function(a){fa(f,b,a)});ec.forEach(function(b){fa(f,a,b)});c=T(a,b,c,d,f);ga(f,c);lb(f,c);Ea(f,c);return f.compile()}}}function Mb(a,b){for(var c=0;c<a.length;++c)if(a[c]===b)return c;return-1}var Qa={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,
"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},X=function(a){return Object.prototype.toString.call(a)in Qa},T=function(a,b){for(var c=Object.keys(b),d=0;d<c.length;++d)a[c[d]]=b[c[d]];return a},Nb="gl canvas container attributes pixelRatio extensions optionalExtensions profile onDone".split(" "),W={};W[5120]=W[5121]=1;W[5122]=W[5123]=W[36193]=W[33635]=W[32819]=W[32820]=
2;W[5124]=W[5125]=W[5126]=W[34042]=4;var k=T(c,{optional:function(a){a()},raise:b,commandRaise:r,command:function(a,b,c){a||r(b,c||t())},parameter:function(a,c,e){a in c||b("unknown parameter ("+a+")"+d(e)+". possible values: "+Object.keys(c).join())},commandParameter:function(a,b,c,e){a in b||r("unknown parameter ("+a+")"+d(c)+". possible values: "+Object.keys(b).join(),e||t())},constructor:function(a){Object.keys(a).forEach(function(a){0>Nb.indexOf(a)&&b('invalid regl constructor argument "'+a+
'". must be one of '+Nb)})},type:function(a,c,e){typeof a!==c&&b("invalid parameter type"+d(e)+". expected "+c+", got "+typeof a)},commandType:A,isTypedArray:function(a,c){X(a)||b("invalid parameter type"+d(c)+". must be a typed array")},nni:function(a,c){0<=a&&(a|0)===a||b("invalid parameter type, ("+a+")"+d(c)+". must be a nonnegative integer")},oneOf:f,shaderError:function(a,b,d,f,g){if(!a.getShaderParameter(b,a.COMPILE_STATUS)){b=a.getShaderInfoLog(b);a=f===a.FRAGMENT_SHADER?"fragment":"vertex";
A(d,"string",a+" shader source must be a string",g);var h=p(d,g);d=n(b);z(h,d);Object.keys(h).forEach(function(a){function b(a,c){d.push(a);e.push(c||"")}var c=h[a];if(c.hasErrors){var d=[""],e=[""];b("file number "+a+": "+c.name+"\n","color:red;text-decoration:underline;font-weight:bold");c.lines.forEach(function(a){if(0<a.errors.length){b(m(a.number,4)+"| ","background-color:yellow; font-weight:bold");b(a.line+"\n","color:red; background-color:yellow; font-weight:bold");var c=0;a.errors.forEach(function(d){d=
d.message;var e=/^\s*\'(.*)\'\s*\:\s*(.*)$/.exec(d);if(e){var f=e[1];d=e[2];switch(f){case "assign":f="="}c=Math.max(a.line.indexOf(f,c),0)}else c=0;b(m("| ",6));b(m("^^^",c+3)+"\n","font-weight:bold");b(m("| ",6));b(d+"\n","font-weight:bold")});b(m("| ",6)+"\n")}else b(m(a.number,4)+"| "),b(a.line+"\n","color:red")});"undefined"!==typeof document?(e[0]=d.join("%c"),console.log.apply(console,e)):console.log(d.join(""))}});c.raise("Error compiling "+a+" shader, "+h[0].name)}},linkError:function(a,
b,d,f,g){a.getProgramParameter(b,a.LINK_STATUS)||(a=a.getProgramInfoLog(b),d=p(d,g),f='Error linking program with vertex shader, "'+p(f,g)[0].name+'", and fragment shader "'+d[0].name+'"',"undefined"!==typeof document?console.log("%c"+f+"\n%c"+a,"color:red;text-decoration:underline;font-weight:bold","color:red"):console.log(f+"\n"+a),c.raise(f))},callSite:x,saveCommandRef:u,saveDrawInfo:function(a,b,c,d){function e(a){return a?d.id(a):0}function f(a,b){Object.keys(b).forEach(function(b){a[d.id(b)]=
!0})}u(a);a._fragId=e(a["static"].frag);a._vertId=e(a["static"].vert);var g=a._uniformSet={};f(g,b["static"]);f(g,b.dynamic);b=a._attributeSet={};f(b,c["static"]);f(b,c.dynamic);a._hasCount="count"in a["static"]||"count"in a.dynamic||"elements"in a["static"]||"elements"in a.dynamic},framebufferFormat:function(a,b,c){a.texture?f(a.texture._texture.internalformat,b,"unsupported texture format for attachment"):f(a.renderbuffer._renderbuffer.format,c,"unsupported renderbuffer format for attachment")},
guessCommand:t,texture2D:function(a,b,d){var f=b.width,g=b.height,h=b.channels;c(0<f&&f<=d.maxTextureSize&&0<g&&g<=d.maxTextureSize,"invalid texture shape");33071===a.wrapS&&33071===a.wrapT||c(!(f&f-1)&&!!f&&!(g&g-1)&&!!g,"incompatible wrap mode for texture, both width and height must be power of 2");1===b.mipmask?1!==f&&1!==g&&c(9984!==a.minFilter&&9986!==a.minFilter&&9985!==a.minFilter&&9987!==a.minFilter,"min filter requires mipmap"):(c(!(f&f-1)&&!!f&&!(g&g-1)&&!!g,"texture must be a square power of 2 to support mipmapping"),
c(b.mipmask===(f<<1)-1,"missing or incomplete mipmap data"));5126===b.type&&(0>d.extensions.indexOf("oes_texture_float_linear")&&c(9728===a.minFilter&&9728===a.magFilter,"filter not supported, must enable oes_texture_float_linear"),c(!a.genMipmaps,"mipmap generation not supported with float textures"));var k=b.images;for(d=0;16>d;++d)if(k[d]){var l=f>>d,m=g>>d;c(b.mipmask&1<<d,"missing mipmap data");var n=k[d];c(n.width===l&&n.height===m,"invalid shape for mip images");c(n.format===b.format&&n.internalformat===
b.internalformat&&n.type===b.type,"incompatible type for mip image");!n.compressed&&n.data&&(l=Math.ceil(B(n.type,h)*l/n.unpackAlignment)*n.unpackAlignment,c(n.data.byteLength===l*m,"invalid data for image, buffer size is inconsistent with image format"))}else a.genMipmaps||c(0===(b.mipmask&1<<d),"extra mipmap data");b.compressed&&c(!a.genMipmaps,"mipmap generation for compressed images not supported")},textureCube:function(a,b,d,f){var g=a.width,h=a.height,k=a.channels;c(0<g&&g<=f.maxTextureSize&&
0<h&&h<=f.maxTextureSize,"invalid texture shape");c(g===h,"cube map must be square");c(33071===b.wrapS&&33071===b.wrapT,"wrap mode not supported by cube map");for(f=0;f<d.length;++f){var l=d[f];c(l.width===g&&l.height===h,"inconsistent cube map face shape");b.genMipmaps&&(c(!l.compressed,"can not generate mipmap for compressed textures"),c(1===l.mipmask,"can not specify mipmaps and generate mipmaps"));for(var m=l.images,n=0;16>n;++n){var p=m[n];if(p){var u=g>>n,r=h>>n;c(l.mipmask&1<<n,"missing mipmap data");
c(p.width===u&&p.height===r,"invalid shape for mip images");c(p.format===a.format&&p.internalformat===a.internalformat&&p.type===a.type,"incompatible type for mip image");p.compressed||p.data&&c(p.data.byteLength===u*r*Math.max(B(p.type,k),p.unpackAlignment),"invalid data for image, buffer size is inconsistent with image format")}}}}}),Pb=0,la={DynamicVariable:y,define:function(a,b){return new y(a,G(b+""))},isDynamic:function(a){return"function"===typeof a&&!a._reglType||a instanceof y},unbox:function(a,
b){return"function"===typeof a?new y(0,a):a},accessor:G},pb={next:"function"===typeof requestAnimationFrame?function(a){return requestAnimationFrame(a)}:function(a){return setTimeout(a,16)},cancel:"function"===typeof cancelAnimationFrame?function(a){return cancelAnimationFrame(a)}:clearTimeout},Ob="undefined"!==typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},fc=function(a,b){var c=1;b.ext_texture_filter_anisotropic&&(c=a.getParameter(34047));var d=
1,e=1;b.webgl_draw_buffers&&(d=a.getParameter(34852),e=a.getParameter(36063));return{colorBits:[a.getParameter(3410),a.getParameter(3411),a.getParameter(3412),a.getParameter(3413)],depthBits:a.getParameter(3414),stencilBits:a.getParameter(3415),subpixelBits:a.getParameter(3408),extensions:Object.keys(b).filter(function(a){return!!b[a]}),maxAnisotropic:c,maxDrawbuffers:d,maxColorAttachments:e,pointSizeDims:a.getParameter(33901),lineWidthDims:a.getParameter(33902),maxViewportDims:a.getParameter(3386),
maxCombinedTextureUnits:a.getParameter(35661),maxCubeMapSize:a.getParameter(34076),maxRenderbufferSize:a.getParameter(34024),maxTextureUnits:a.getParameter(34930),maxTextureSize:a.getParameter(3379),maxAttributes:a.getParameter(34921),maxVertexUniforms:a.getParameter(36347),maxVertexTextureUnits:a.getParameter(35660),maxVaryingVectors:a.getParameter(36348),maxFragmentUniforms:a.getParameter(36349),glsl:a.getParameter(35724),renderer:a.getParameter(7937),vendor:a.getParameter(7936),version:a.getParameter(7938)}},
fa=function(a){return Object.keys(a).map(function(b){return a[b]})},qb=J(8,function(){return[]}),O={alloc:ca,free:rb,allocType:function(a,b){var c;switch(a){case 5120:c=new Int8Array(ca(b),0,b);break;case 5121:c=new Uint8Array(ca(b),0,b);break;case 5122:c=new Int16Array(ca(2*b),0,b);break;case 5123:c=new Uint16Array(ca(2*b),0,b);break;case 5124:c=new Int32Array(ca(4*b),0,b);break;case 5125:c=new Uint32Array(ca(4*b),0,b);break;case 5126:c=new Float32Array(ca(4*b),0,b);break;default:return null}return c.length!==
b?c.subarray(0,b):c},freeType:function(a){rb(a.buffer)}},bb={shape:function(a){for(var b=[];a.length;a=a[0])b.push(a.length);return b},flatten:function(a,b,c,d){var e=1;if(b.length)for(var f=0;f<b.length;++f)e*=b[f];else e=0;c=d||O.allocType(c,e);switch(b.length){case 0:break;case 1:d=b[0];for(b=0;b<d;++b)c[b]=a[b];break;case 2:d=b[0];b=b[1];for(f=e=0;f<d;++f)for(var g=a[f],h=0;h<b;++h)c[e++]=g[h];break;case 3:sb(a,b[0],b[1],b[2],c,0);break;default:tb(a,b,0,c,0)}return c}},Ra={int8:5120,int16:5122,
int32:5124,uint8:5121,uint16:5123,uint32:5125,"float":5126,float32:5126},Za={dynamic:35048,stream:35040,"static":35044},hb=bb.flatten,wb=bb.shape,oa=[];oa[5120]=1;oa[5122]=2;oa[5124]=4;oa[5121]=1;oa[5123]=2;oa[5125]=4;oa[5126]=4;var Fa={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},yb=new Float32Array(1),Sb=new Uint32Array(yb.buffer),Vb=[9984,9986,9985,9987],ab=[0,6409,6410,6407,6408],ga={};ga[6409]=ga[6406]=ga[6402]=1;ga[34041]=
ga[6410]=2;ga[6407]=ga[35904]=3;ga[6408]=ga[35906]=4;var Tb=Object.keys(Qa).concat(["[object HTMLCanvasElement]","[object CanvasRenderingContext2D]","[object HTMLImageElement]","[object HTMLVideoElement]"]),Ha=[];Ha[5121]=1;Ha[5126]=4;Ha[36193]=2;Ha[5123]=2;Ha[5125]=4;var V=[];V[32854]=2;V[32855]=2;V[36194]=2;V[34041]=4;V[33776]=.5;V[33777]=.5;V[33778]=1;V[33779]=1;V[35986]=.5;V[35987]=1;V[34798]=1;V[35840]=.5;V[35841]=.25;V[35842]=.5;V[35843]=.25;V[36196]=.5;var ha=[];ha[32854]=2;ha[32855]=2;ha[36194]=
2;ha[33189]=2;ha[36168]=1;ha[34041]=4;ha[35907]=4;ha[34836]=16;ha[34842]=8;ha[34843]=6;var gc=function(a,b,c,d,e){function f(a){this.id=m++;this.refCount=1;this.renderbuffer=a;this.format=32854;this.height=this.width=0;e.profile&&(this.stats={size:0})}function g(b){var c=b.renderbuffer;k(c,"must not double destroy renderbuffer");a.bindRenderbuffer(36161,null);a.deleteRenderbuffer(c);b.renderbuffer=null;b.refCount=0;delete n[b.id];d.renderbufferCount--}var h={rgba4:32854,rgb565:36194,"rgb5 a1":32855,
depth:33189,stencil:36168,"depth stencil":34041};b.ext_srgb&&(h.srgba=35907);b.ext_color_buffer_half_float&&(h.rgba16f=34842,h.rgb16f=34843);b.webgl_color_buffer_float&&(h.rgba32f=34836);var l=[];Object.keys(h).forEach(function(a){l[h[a]]=a});var m=0,n={};f.prototype.decRef=function(){0>=--this.refCount&&g(this)};e.profile&&(d.getTotalRenderbufferSize=function(){var a=0;Object.keys(n).forEach(function(b){a+=n[b].stats.size});return a});return{create:function(b,g){function m(b,d){var f=0,g=0,n=32854;
"object"===typeof b&&b?("shape"in b?(g=b.shape,k(Array.isArray(g)&&2<=g.length,"invalid renderbuffer shape"),f=g[0]|0,g=g[1]|0):("radius"in b&&(f=g=b.radius|0),"width"in b&&(f=b.width|0),"height"in b&&(g=b.height|0)),"format"in b&&(k.parameter(b.format,h,"invalid renderbuffer format"),n=h[b.format])):"number"===typeof b?(f=b|0,g="number"===typeof d?d|0:f):b?k.raise("invalid arguments to renderbuffer constructor"):f=g=1;k(0<f&&0<g&&f<=c.maxRenderbufferSize&&g<=c.maxRenderbufferSize,"invalid renderbuffer size");
if(f!==p.width||g!==p.height||n!==p.format)return m.width=p.width=f,m.height=p.height=g,p.format=n,a.bindRenderbuffer(36161,p.renderbuffer),a.renderbufferStorage(36161,n,f,g),e.profile&&(p.stats.size=ha[p.format]*p.width*p.height),m.format=l[p.format],m}var p=new f(a.createRenderbuffer());n[p.id]=p;d.renderbufferCount++;m(b,g);m.resize=function(b,d){var f=b|0,g=d|0||f;if(f===p.width&&g===p.height)return m;k(0<f&&0<g&&f<=c.maxRenderbufferSize&&g<=c.maxRenderbufferSize,"invalid renderbuffer size");
m.width=p.width=f;m.height=p.height=g;a.bindRenderbuffer(36161,p.renderbuffer);a.renderbufferStorage(36161,p.format,f,g);e.profile&&(p.stats.size=ha[p.format]*p.width*p.height);return m};m._reglType="renderbuffer";m._renderbuffer=p;e.profile&&(m.stats=p.stats);m.destroy=function(){p.decRef()};return m},clear:function(){fa(n).forEach(g)},restore:function(){fa(n).forEach(function(b){b.renderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,b.renderbuffer);a.renderbufferStorage(36161,b.format,b.width,
b.height)});a.bindRenderbuffer(36161,null)}}},Yb=[6408],Fb=[];Fb[6408]=4;var eb=[];eb[5121]=1;eb[5126]=4;eb[36193]=2;var Zb=[32854,32855,36194,35907,34842,34843,34836],Xb={36053:"complete",36054:"incomplete attachment",36057:"incomplete dimensions",36055:"incomplete, missing attachment",36061:"unsupported"},Oa=["x","y","z","w"],ec="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),pa={0:0,1:1,zero:0,one:1,"src color":768,
"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Jb="constant color, constant alpha;one minus constant color, constant alpha;constant color, one minus constant alpha;one minus constant color, one minus constant alpha;constant alpha, constant color;constant alpha, one minus constant color;one minus constant alpha, constant color;one minus constant alpha, one minus constant color".split(";"),
Na={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},xa={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Kb={frag:35632,vert:35633},ob={cw:2304,ccw:2305},Lb=new ka(!1,!1,!1,function(){}),hc=function(a,b){function c(){this.endQueryIndex=this.startQueryIndex=-1;this.sum=0;this.stats=null}function d(a,b,e){var f=
h.pop()||new c;f.startQueryIndex=a;f.endQueryIndex=b;f.sum=0;f.stats=e;k.push(f)}var e=b.ext_disjoint_timer_query;if(!e)return null;var f=[],g=[],h=[],k=[],l=[],m=[];return{beginQuery:function(a){var b=f.pop()||e.createQueryEXT();e.beginQueryEXT(35007,b);g.push(b);d(g.length-1,g.length,a)},endQuery:function(){e.endQueryEXT(35007)},pushScopeStats:d,update:function(){var a,b;a=g.length;if(0!==a){m.length=Math.max(m.length,a+1);l.length=Math.max(l.length,a+1);l[0]=0;var c=m[0]=0;for(b=a=0;b<g.length;++b){var d=
g[b];e.getQueryObjectEXT(d,34919)?(c+=e.getQueryObjectEXT(d,34918),f.push(d)):g[a++]=d;l[b+1]=c;m[b+1]=a}g.length=a;for(b=a=0;b<k.length;++b){var c=k[b],n=c.startQueryIndex,d=c.endQueryIndex;c.sum+=l[d]-l[n];n=m[n];d=m[d];d===n?(c.stats.gpuTime+=c.sum/1E6,h.push(c)):(c.startQueryIndex=n,c.endQueryIndex=d,k[a++]=c)}k.length=a}},getNumPendingQueries:function(){return g.length},clear:function(){f.push.apply(f,g);for(var a=0;a<f.length;a++)e.deleteQueryEXT(f[a]);g.length=0;f.length=0},restore:function(){g.length=
0;f.length=0}}};return function(a){function b(){if(0===M.length)z&&z.update(),W=null;else{W=pb.next(b);n();for(var a=M.length-1;0<=a;--a){var c=M[a];c&&c(H,null,0)}r.flush();z&&z.update()}}function c(){!W&&0<M.length&&(W=pb.next(b))}function d(){W&&(pb.cancel(b),W=null)}function e(a){a.preventDefault();y=!0;d();U.forEach(function(a){a()})}function f(a){r.getError();y=!1;v.restore();P.restore();Q.restore();F.restore();S.restore();L.restore();z&&z.restore();J.procs.refresh();c();V.forEach(function(a){a()})}
function g(a){function b(a){var c={},d={};Object.keys(a).forEach(function(b){var e=a[b];la.isDynamic(e)?d[b]=la.unbox(e,b):c[b]=e});return{dynamic:d,"static":c}}function c(a){for(;p.length<a;)p.push(null);return p}k(!!a,"invalid args to regl({...})");k.type(a,"object","invalid args to regl({...})");var d=b(a.context||{}),e=b(a.uniforms||{}),f=b(a.attributes||{}),h=b(function(a){function b(a){if(a in c){var d=c[a];delete c[a];Object.keys(d).forEach(function(b){c[a+"."+b]=d[b]})}}var c=T({},a);delete c.uniforms;
delete c.attributes;delete c.context;"stencil"in c&&c.stencil.op&&(c.stencil.opBack=c.stencil.opFront=c.stencil.op,delete c.stencil.op);b("blend");b("depth");b("cull");b("stencil");b("polygonOffset");b("scissor");b("sample");return c}(a));a={gpuTime:0,cpuTime:0,count:0};var d=J.compile(h,f,e,d,a),l=d.draw,m=d.batch,n=d.scope,p=[];return T(function(a,b){var d;y&&k.raise("context lost");if("function"===typeof a)return n.call(this,null,a,0);if("function"===typeof b)if("number"===typeof a)for(d=0;d<a;++d)n.call(this,
null,b,d);else if(Array.isArray(a))for(d=0;d<a.length;++d)n.call(this,a[d],b,d);else return n.call(this,a,b,0);else if("number"===typeof a){if(0<a)return m.call(this,c(a|0),a|0)}else if(Array.isArray(a)){if(a.length)return m.call(this,a,a.length)}else return l.call(this,a)},{stats:a})}function h(a,b){var c=0;J.procs.poll();var d=b.color;d&&(r.clearColor(+d[0]||0,+d[1]||0,+d[2]||0,+d[3]||0),c|=16384);"depth"in b&&(r.clearDepth(+b.depth),c|=256);"stencil"in b&&(r.clearStencil(b.stencil|0),c|=1024);
k(!!c,"called regl.clear with no buffer specified");r.clear(c)}function l(a){k.type(a,"function","regl.frame() callback must be a function");M.push(a);c();return{cancel:function(){function b(){var a=Mb(M,b);M[a]=M[M.length-1];--M.length;0>=M.length&&d()}var c=Mb(M,a);k(0<=c,"cannot cancel a frame twice");M[c]=b}}}function m(){var a=Z.viewport,b=Z.scissor_box;a[0]=a[1]=b[0]=b[1]=0;H.viewportWidth=H.framebufferWidth=H.drawingBufferWidth=a[2]=b[2]=r.drawingBufferWidth;H.viewportHeight=H.framebufferHeight=
H.drawingBufferHeight=a[3]=b[3]=r.drawingBufferHeight}function n(){H.tick+=1;H.time=u();m();J.procs.poll()}function p(){m();J.procs.refresh();z&&z.update()}function u(){return(Ob()-C)/1E3}a=ba(a);if(!a)return null;var r=a.gl,t=r.getContextAttributes(),y=r.isContextLost(),v=ya(r,a);if(!v)return null;var w=I(),x={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},A=v.extensions,z=hc(r,A),C=Ob(),B=r.drawingBufferWidth,G=r.drawingBufferHeight,
H={tick:0,time:0,viewportWidth:B,viewportHeight:G,framebufferWidth:B,framebufferHeight:G,drawingBufferWidth:B,drawingBufferHeight:G,pixelRatio:a.pixelRatio},N=fc(r,A),Q=Qb(r,x,a),O=Rb(r,A,Q,x),B=$b(r,A,N,Q,w),P=ac(r,w,x,a),F=Ub(r,A,N,function(){J.procs.poll()},H,x,a),S=gc(r,A,N,x,a),L=Wb(r,A,N,F,S,x),J=dc(r,w,A,N,Q,O,F,L,{},B,P,{elements:null,primitive:4,count:-1,offset:0,instances:-1},H,z,a),w=bc(r,L,J.procs.poll,H,t,A),Z=J.next,Y=r.canvas,M=[],U=[],V=[],X=[a.onDestroy],W=null;Y&&(Y.addEventListener("webglcontextlost",
e,!1),Y.addEventListener("webglcontextrestored",f,!1));var ca=L.setFBO=g({framebuffer:la.define.call(null,1,"framebuffer")});p();t=T(g,{clear:function(a){k("object"===typeof a&&a,"regl.clear() takes an object as input");if("framebuffer"in a)if(a.framebuffer&&"framebufferCube"===a.framebuffer_reglType)for(var b=0;6>b;++b)ca(T({framebuffer:a.framebuffer.faces[b]},a),h);else ca(a,h);else h(null,a)},prop:la.define.bind(null,1),context:la.define.bind(null,2),"this":la.define.bind(null,3),draw:g({}),buffer:function(a){return Q.create(a,
34962,!1,!1)},elements:function(a){return O.create(a,!1)},texture:F.create2D,cube:F.createCube,renderbuffer:S.create,framebuffer:L.create,framebufferCube:L.createCube,attributes:t,frame:l,on:function(a,b){k.type(b,"function","listener callback must be a function");var c;switch(a){case "frame":return l(b);case "lost":c=U;break;case "restore":c=V;break;case "destroy":c=X;break;default:k.raise("invalid event, must be one of frame,lost,restore,destroy")}c.push(b);return{cancel:function(){for(var a=0;a<
c.length;++a)if(c[a]===b){c[a]=c[c.length-1];c.pop();break}}}},limits:N,hasExtension:function(a){return 0<=N.extensions.indexOf(a.toLowerCase())},read:w,destroy:function(){M.length=0;d();Y&&(Y.removeEventListener("webglcontextlost",e),Y.removeEventListener("webglcontextrestored",f));P.clear();L.clear();S.clear();F.clear();O.clear();Q.clear();z&&z.clear();X.forEach(function(a){a()})},_gl:r,_refresh:p,poll:function(){n();z&&z.update()},now:u,stats:x});a.onDone(null,t);return t}})},{}],68:[function(d,
c,f){function a(a,c){var d=e(getComputedStyle(a).getPropertyValue(c));return d[0]*b(d[1],a)}function b(b,c){c=c||document.body;b=(b||"px").trim().toLowerCase();if(c===window||c===document)c=document.body;switch(b){case "%":return c.clientHeight/100;case "ch":case "ex":var d=b,e=c,f=document.createElement("div");f.style["font-size"]="128"+d;e.appendChild(f);d=a(f,"font-size")/128;e.removeChild(f);return d;case "em":return a(c,"font-size");case "rem":return a(document.body,"font-size");case "vw":return window.innerWidth/
100;case "vh":return window.innerHeight/100;case "vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case "vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case "in":return g;case "cm":return g/2.54;case "mm":return g/25.4;case "pt":return g/72;case "pc":return g/6}return 1}var e=d("parse-unit");c.exports=b;var g=96},{"parse-unit":65}],69:[function(d,c,f){function a(a,b,c){this.elements=a;this.position=b;this.normal=c}c=document.body.appendChild(document.createElement("canvas"));
f=document.createElement("div");f.innerHTML='<a href="/~https://github.com/Erkaman/planar_proj_shadows"><img style="position: absolute; top: 0; left: 0; border: 0;" src="/~https://camo.githubusercontent.com/82b228a3648bf44fc1163ef44c62fcc60081495e/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_red_aa0000.png"></a>';document.body.appendChild(f);
f=d("canvas-fit");var b=d("regl")({canvas:c}),e=d("gl-mat4"),g=d("gl-vec3");window.addEventListener("resize",f(c),!1);c=d("bunny");f=d("angle-normals");var h=d("regl-camera")(b,{center:[0,0,0],distance:130,theta:1.57,phi:.4,near:.01,far:400});d=[];var m=[],C=[];m.push([-130,-4,-130]);m.push([130,-4,-130]);m.push([-130,-4,130]);m.push([130,-4,130]);var w=[0,1,0];C.push(w);C.push(w);C.push(w);C.push(w);d.push([3,1,0]);d.push([0,2,3]);var l=new Float32Array(16),t=b({uniforms:{lightPos:function(a,b,c){return b.lightPos}},
frag:"\n precision mediump float;\n varying vec3 vNormal;\n varying vec3 vPosition;\n uniform float ambientLightAmount;\n uniform float diffuseLightAmount;\n uniform vec3 color;\n uniform vec3 lightPos;\n void main () {\n // do ambient and diffuse lighting.\n vec3 lightDir = normalize(lightPos - vPosition);\n vec3 ambient = ambientLightAmount * color;\n float cosTheta = dot(vNormal, lightDir);\n vec3 diffuse = diffuseLightAmount * color * clamp(cosTheta , 0.0, 1.0 );\n\n gl_FragColor = vec4((ambient + diffuse), 1.0);\n }",
vert:"\n precision mediump float;\n attribute vec3 position;\n attribute vec3 normal;\n varying vec3 vPosition;\n varying vec3 vNormal;\n uniform mat4 projection, view, model;\n void main() {\n vec4 worldSpacePosition = model * vec4(position, 1);\n vPosition = worldSpacePosition.xyz;\n vNormal = normal;\n gl_Position = projection * view * worldSpacePosition;\n }"}),x=b({uniforms:{shadowProj:function(a,b,c){return b.shadowProj}},depth:{enable:!1},frag:"\n precision mediump float;\n\n void main () {\n gl_FragColor = vec4(vec3(0.4), 1.0);\n }",
vert:"\n precision mediump float;\n attribute vec3 position;\n\n uniform mat4 projection, view, model, shadowProj;\n\n void main() {\n vec4 worldSpacePosition = model * vec4(position, 1);\n\n // project onto plane using the shadow projection matrix.\n // then just use the usual view and projection matrices.\n gl_Position = projection * view * (shadowProj * worldSpacePosition);\n }"});a.prototype.draw=b({uniforms:{model:function(a,b,c){a=e.identity([]);e.translate(a,a,b.translate);
b=b.scale;e.scale(a,a,[b,b,b]);return a},ambientLightAmount:.3,diffuseLightAmount:.7,color:b.prop("color")},attributes:{position:b["this"]("position"),normal:b["this"]("normal")},elements:b["this"]("elements"),cull:{enable:!0}});var p=new a(c.cells,c.positions,f(c.cells,c.positions)),n=new a([[2,1,0],[2,0,3],[6,5,4],[6,4,7],[10,9,8],[10,8,11],[14,13,12],[14,12,15],[18,17,16],[18,16,19],[20,21,22],[23,20,22]],[[-.5,.5,.5],[.5,.5,.5],[.5,-.5,.5],[-.5,-.5,.5],[.5,.5,.5],[.5,.5,-.5],[.5,-.5,-.5],[.5,
-.5,.5],[.5,.5,-.5],[-.5,.5,-.5],[-.5,-.5,-.5],[.5,-.5,-.5],[-.5,.5,-.5],[-.5,.5,.5],[-.5,-.5,.5],[-.5,-.5,-.5],[-.5,.5,-.5],[.5,.5,-.5],[.5,.5,.5],[-.5,.5,.5],[-.5,-.5,-.5],[.5,-.5,-.5],[.5,-.5,.5],[-.5,-.5,.5]],[[0,0,1],[0,0,1],[0,0,1],[0,0,1],[1,0,0],[1,0,0],[1,0,0],[1,0,0],[0,0,-1],[0,0,-1],[0,0,-1],[0,0,-1],[-1,0,0],[-1,0,0],[-1,0,0],[-1,0,0],[0,1,0],[0,1,0],[0,1,0],[0,1,0],[0,-1,0],[0,-1,0],[0,-1,0],[0,-1,0]]),z=new a(d,m,C);b.frame(function(a){var c=a.tick,d=function(){var a,b,d,e,f,g,h=.002*
c,l=-.004*c;for(a=0;1>a;a+=.1)b=2*Math.PI*a,d=20,e=Math.abs(23232*a*a+100212)%255/255*.4+.3,f=Math.abs(32278*a+213)%255/255*.4+.15,g=Math.abs(3112*a*a*a+2137+a)%255/255*.05+.05,p.draw({scale:.7,translate:[d*Math.cos(b+h),3,d*Math.sin(b+h)],color:[e,f,g]});for(a=0;1>a;a+=.15)b=2*Math.PI*a,d=35,e=Math.abs(23232*a*a+100212)%255/255*.4+.05,f=Math.abs(32278*a+213)%255/255*.3+.4,g=Math.abs(3112*a*a*a+2137+a)%255/255*.4+.4,n.draw({scale:4.2,translate:[d*Math.cos(b+l),9,d*Math.sin(b+l)],color:[e,f,g]})},
f=[0,30+10*Math.sin(.01*c),0];a=[f[0],f[1],f[2]];l[0]=g.dot(w,a)+4-w[0]*a[0];l[1]=-w[1]*a[0];l[2]=-w[2]*a[0];l[3]=-4*a[0];l[4]=-w[0]*a[1];l[5]=g.dot(w,a)+4-w[1]*a[1];l[6]=-w[2]*a[1];l[7]=-4*a[1];l[8]=-w[0]*a[2];l[9]=-w[1]*a[2];l[10]=g.dot(w,a)+4-w[2]*a[2];l[11]=-4*a[2];l[12]=-w[0];l[13]=-w[1];l[14]=-w[2];l[15]=g.dot(w,a);e.transpose(l,l);h(function(){b.clear({color:[0,0,0,255],depth:1});t({lightPos:f},function(){z.draw({scale:1,translate:[0,0,0],color:[1,1,1]})});x({shadowProj:l},function(){d()});
t({lightPos:f},function(){d()})})})},{"angle-normals":1,bunny:2,"canvas-fit":3,"gl-mat4":14,"gl-vec3":40,regl:67,"regl-camera":66}]},{},[69]);