1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[654],{8978:function(e,t,r){r.d(t,{$g:function(){return a},Kt:function(){return i},XH:function(){return n}});let n={name:"local-uniform-bit",vertex:{header:` 2 3 struct LocalUniforms { 4 uTransformMatrix:mat3x3<f32>, 5 uColor:vec4<f32>, 6 uRound:f32, 7 } 8 9 @group(1) @binding(0) var<uniform> localUniforms : LocalUniforms; 10 `,main:` 11 vColor *= localUniforms.uColor; 12 modelMatrix *= localUniforms.uTransformMatrix; 13 `,end:` 14 if(localUniforms.uRound == 1) 15 { 16 vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw); 17 } 18 `}},i={...n,vertex:{...n.vertex,header:n.vertex.header.replace("group(1)","group(2)")}},a={name:"local-uniform-bit",vertex:{header:` 19 20 uniform mat3 uTransformMatrix; 21 uniform vec4 uColor; 22 uniform float uRound; 23 `,main:` 24 vColor *= uColor; 25 modelMatrix = uTransformMatrix; 26 `,end:` 27 if(uRound == 1.) 28 { 29 gl_Position.xy = roundPixels(gl_Position.xy, uResolution); 30 } 31 `}}},2283:function(e,t,r){r.d(t,{e:function(){return i},r:function(){return n}});let n={name:"texture-bit",vertex:{header:` 32 33 struct TextureUniforms { 34 uTextureMatrix:mat3x3<f32>, 35 } 36 37 @group(2) @binding(2) var<uniform> textureUniforms : TextureUniforms; 38 `,main:` 39 uv = (textureUniforms.uTextureMatrix * vec3(uv, 1.0)).xy; 40 `},fragment:{header:` 41 @group(2) @binding(0) var uTexture: texture_2d<f32>; 42 @group(2) @binding(1) var uSampler: sampler; 43 44 45 `,main:` 46 outColor = textureSample(uTexture, uSampler, vUV); 47 `}},i={name:"texture-bit",vertex:{header:` 48 uniform mat3 uTextureMatrix; 49 `,main:` 50 uv = (uTextureMatrix * vec3(uv, 1.0)).xy; 51 `},fragment:{header:` 52 uniform sampler2D uTexture; 53 54 55 `,main:` 56 outColor = texture(uTexture, vUV); 57 `}}},9911:function(e,t,r){r.d(t,{B:function(){return a}});var n=r(5788),i=r(8267);function a(e,t){for(let r in e.attributes){let i=e.attributes[r],a=t[r];a?(i.format??(i.format=a.format),i.offset??(i.offset=a.offset),i.instance??(i.instance=a.instance)):(0,n.Z)(`Attribute ${r} is not present in the shader, but is present in the geometry. Unable to infer attribute details.`)}!function(e){let{buffers:t,attributes:r}=e,n={},a={};for(let e in t){let r=t[e];n[r.uid]=0,a[r.uid]=0}for(let e in r){let t=r[e];n[t.buffer.uid]+=(0,i.v)(t.format).stride}for(let e in r){let t=r[e];t.stride??(t.stride=n[t.buffer.uid]),t.start??(t.start=a[t.buffer.uid]),a[t.buffer.uid]+=(0,i.v)(t.format).stride}}(e)}},871:function(e,t,r){r.d(t,{L:function(){return i}});var n=r(5416);let i=[];i[n.D.NONE]=void 0,i[n.D.DISABLED]={stencilWriteMask:0,stencilReadMask:0},i[n.D.RENDERING_MASK_ADD]={stencilFront:{compare:"equal",passOp:"increment-clamp"},stencilBack:{compare:"equal",passOp:"increment-clamp"}},i[n.D.RENDERING_MASK_REMOVE]={stencilFront:{compare:"equal",passOp:"decrement-clamp"},stencilBack:{compare:"equal",passOp:"decrement-clamp"}},i[n.D.MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"equal",passOp:"keep"},stencilBack:{compare:"equal",passOp:"keep"}}},6090:function(e,t,r){r.d(t,{q:function(){return a}});var n=r(6393),i=r(6656);class a extends n.Z{constructor({buffer:e,offset:t,size:r}){super(),this.uid=(0,i.h)("buffer"),this._resourceType="bufferResource",this._touched=0,this._resourceId=(0,i.h)("resource"),this._bufferResource=!0,this.destroyed=!1,this.buffer=e,this.offset=0|t,this.size=r,this.buffer.on("change",this.onBufferChange,this)}onBufferChange(){this._resourceId=(0,i.h)("resource"),this.emit("change",this)}destroy(e=!1){this.destroyed=!0,e&&this.buffer.destroy(),this.emit("change",this),this.buffer=null}}},1811:function(e,t,r){r.d(t,{A:function(){return o}});var n=r(6656),i=r(8744),a=r(8583);let s=class e{constructor(t={}){if(this.uid=(0,n.h)("renderTarget"),this.colorTextures=[],this.dirtyId=0,this.isRoot=!1,this._size=new Float32Array(2),this._managedColorTextures=!1,t={...e.defaultOptions,...t},this.stencil=t.stencil,this.depth=t.depth,this.isRoot=t.isRoot,"number"==typeof t.colorTextures){this._managedColorTextures=!0;for(let e=0;e<t.colorTextures;e++)this.colorTextures.push(new i.p({width:t.width,height:t.height,resolution:t.resolution,antialias:t.antialias}))}else{this.colorTextures=[...t.colorTextures.map(e=>e.source)];let e=this.colorTexture.source;this.resize(e.width,e.height,e._resolution)}this.colorTexture.source.on("resize",this.onSourceResize,this),(t.depthStencilTexture||this.stencil)&&(t.depthStencilTexture instanceof a.x||t.depthStencilTexture instanceof i.p?this.depthStencilTexture=t.depthStencilTexture.source:this.ensureDepthStencilTexture())}get size(){let e=this._size;return e[0]=this.pixelWidth,e[1]=this.pixelHeight,e}get width(){return this.colorTexture.source.width}get height(){return this.colorTexture.source.height}get pixelWidth(){return this.colorTexture.source.pixelWidth}get pixelHeight(){return this.colorTexture.source.pixelHeight}get resolution(){return this.colorTexture.source._resolution}get colorTexture(){return this.colorTextures[0]}onSourceResize(e){this.resize(e.width,e.height,e._resolution,!0)}ensureDepthStencilTexture(){this.depthStencilTexture||(this.depthStencilTexture=new i.p({width:this.width,height:this.height,resolution:this.resolution,format:"depth24plus-stencil8",autoGenerateMipmaps:!1,antialias:!1,mipLevelCount:1}))}resize(e,t,r=this.resolution,n=!1){this.dirtyId++,this.colorTextures.forEac
57h((i,a)=>{n&&0===a||i.source.resize(e,t,r)}),this.depthStencilTexture&&this.depthStencilTexture.source.resize(e,t,r)}destroy(){this.colorTexture.source.off("resize",this.onSourceResize,this),this._managedColorTextures&&this.colorTextures.forEach(e=>{e.destroy()}),this.depthStencilTexture&&(this.depthStencilTexture.destroy(),delete this.depthStencilTexture)}};s.defaultOptions={width:0,height:0,resolution:1,colorTextures:1,stencil:!1,depth:!1,antialias:!1,isRoot:!1};let o=s},1877:function(e,t,r){r.d(t,{l:function(){return c}});var n=r(493),i=r(9619),a=r(4161),s=r(9768),o=r(5586),l=r(8744),u=r(8583),d=r(303),h=r(1811);class c{constructor(e){this.rootViewPort=new i.A,this.viewport=new i.A,this.onRenderTargetChange=new s.P("onRenderTargetChange"),this.projectionMatrix=new n.y,this.defaultClearColor=[0,0,0,0],this._renderSurfaceToRenderTargetHash=new Map,this._gpuRenderTargetHash=Object.create(null),this._renderTargetStack=[],this._renderer=e}finishRenderPass(){this.adaptor.finishRenderPass(this.renderTarget)}renderStart({target:e,clear:t,clearColor:r,frame:n}){this._renderTargetStack.length=0,this.push(e,t,r,n),this.rootViewPort.copyFrom(this.viewport),this.rootRenderTarget=this.renderTarget,this.renderingToScreen=function(e){let t=e.colorTexture.source.resource;return globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement&&document.body.contains(t)}(this.rootRenderTarget)}postrender(){this.adaptor.postrender?.(this.rootRenderTarget)}bind(e,t=!0,r,n){let i=this.getRenderTarget(e),a=this.renderTarget!==i;this.renderTarget=i,this.renderSurface=e;let s=this.getGpuRenderTarget(i);(i.pixelWidth!==s.width||i.pixelHeight!==s.height)&&(this.adaptor.resizeGpuRenderTarget(i),s.width=i.pixelWidth,s.height=i.pixelHeight);let o=i.colorTexture,l=this.viewport,d=o.pixelWidth,h=o.pixelHeight;if(!n&&e instanceof u.x&&(n=e.frame),n){let e=o._resolution;l.x=n.x*e+.5|0,l.y=n.y*e+.5|0,l.width=n.width*e+.5|0,l.height=n.height*e+.5|0}else l.x=0,l.y=0,l.width=d,l.height=h;return!function(e,t,r,n,i,a){let s=a?1:-1;e.identity(),e.a=1/n*2,e.d=1/i*2*s,e.tx=-1-0*e.a,e.ty=-s-0*e.d}(this.projectionMatrix,0,0,l.width/o.resolution,l.height/o.resolution,!i.isRoot),this.adaptor.startRenderPass(i,t,r,l),a&&this.onRenderTargetChange.emit(i),i}clear(e,t=a.E.ALL,r){t&&(e&&(e=this.getRenderTarget(e)),this.adaptor.clear(e||this.renderTarget,t,r,this.viewport))}contextChange(){this._gpuRenderTargetHash=Object.create(null)}push(e,t=a.E.ALL,r,n){let i=this.bind(e,t,r,n);return this._renderTargetStack.push({renderTarget:i,frame:n}),i}pop(){this._renderTargetStack.pop();let e=this._renderTargetStack[this._renderTargetStack.length-1];this.bind(e.renderTarget,!1,null,e.frame)}getRenderTarget(e){return e.isTexture&&(e=e.source),this._renderSurfaceToRenderTargetHash.get(e)??this._initRenderTarget(e)}copyToTexture(e,t,r,n,i){r.x<0&&(n.width+=r.x,i.x-=r.x,r.x=0),r.y<0&&(n.height+=r.y,i.y-=r.y,r.y=0);let{pixelWidth:a,pixelHeight:s}=e;return n.width=Math.min(n.width,a-r.x),n.height=Math.min(n.height,s-r.y),this.adaptor.copyToTexture(e,t,r,n,i)}ensureDepthStencil(){this.renderTarget.stencil||(this.renderTarget.stencil=!0,this.adaptor.startRenderPass(this.renderTarget,!1,null,this.viewport))}destroy(){this._renderer=null,this._renderSurfaceToRenderTargetHash.forEach((e,t)=>{e!==t&&e.destroy()}),this._renderSurfaceToRenderTargetHash.clear(),this._gpuRenderTargetHash=Object.create(null)}_initRenderTarget(e){let t=null;return o.D.test(e)&&(e=(0,d.t)(e).source),e instanceof h.A?t=e:e instanceof l.p&&(t=new h.A({colorTextures:[e]}),o.D.test(e.source.resource)&&(t.isRoot=!0),e.once("destroy",()=>{t.destroy(),this._renderSurfaceToRenderTargetHash.delete(e);let r=this._gpuRenderTargetHash[t.uid];r&&(this._gpuRenderTargetHash[t.uid]=null,this.adaptor.destroyGpuRenderTarget(r))})),this._renderSurfaceToRenderTargetHash.set(e,t),t}getGpuRenderTarget(e){return this._gpuRenderTargetHash[e.uid]||(this._gpuRenderTargetHash[e.uid]=this.adaptor.initGpuRenderTarget(e))}}},6743:function(e,t,r){r.d(t,{L:function(){return s}});var n=r(3982),i=r(4007),a=r(6801);class s{constructor(e){this._syncFunctionHash=Object.create(null),this._adaptor=e,this._systemCheck()}_systemCheck(){if(!(0,n.O)())throw Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(e){let t=this.getUniformGroupData(e);e.buffer||(e.buffer=new i.l({data:new Float32Array(t.layout.size/4),usage:a.F.UNIFORM|a.F.COPY_DST}))}getUniformGroupData(e){return this._syncFunctionHash[e._signature]||this._initUniformGroup(e)}_initUniformGroup(e){let t=e._signature,r=this._syncFunctionHash[t];
57if(!r){let n=Object.keys(e.uniformStructures).map(t=>e.uniformStructures[t]),i=this._adaptor.createUboElements(n),a=this._generateUboSync(i.uboElements);r=this._syncFunctionHash[t]={layout:i,syncFunction:a}}return this._syncFunctionHash[t]}_generateUboSync(e){return this._adaptor.generateUboSync(e)}syncUniformGroup(e,t,r){let n=this.getUniformGroupData(e);return e.buffer||(e.buffer=new i.l({data:new Float32Array(n.layout.size/4),usage:a.F.UNIFORM|a.F.COPY_DST})),t||(t=e.buffer.data),r||(r=0),n.syncFunction(e.uniforms,t,r),!0}updateUniformGroup(e){if(e.isStatic&&!e._dirtyId)return!1;e._dirtyId=0;let t=this.syncUniformGroup(e);return e.buffer.update(),t}destroy(){this._syncFunctionHash=null}}},8852:function(e,t,r){r.d(t,{S:function(){return i}});var n=r(2304);function i(e,t,r,i){let a=[` 58 var v = null; 59 var v2 = null; 60 var t = 0; 61 var index = 0; 62 var name = null; 63 var arrayOffset = null; 64 `],s=0;for(let o=0;o<e.length;o++){let l=e[o],u=l.data.name,d=!1,h=0;for(let e=0;e<n.s.length;e++)if(n.s[e].test(l.data)){h=l.offset/4,a.push(`name = "${u}";`,`offset += ${h-s};`,n.s[e][t]||n.s[e].ubo),d=!0;break}if(!d){if(l.data.size>1)h=l.offset/4,a.push(r(l,h-s));else{let e=i[l.data.type];h=l.offset/4,a.push(` 65 v = uv.${u}; 66 offset += ${h-s}; 67 ${e}; 68 `)}}s=h}return Function("uv","data","offset",a.join("\n"))}},4326:function(e,t,r){function n(e,t){return` 69 for (let i = 0; i < ${e*t}; i++) { 70 data[offset + (((i / ${e})|0) * 4) + (i % ${e})] = v[i]; 71 } 72 `}r.d(t,{R:function(){return a},d:function(){return i}});let i={f32:` 73 data[offset] = v;`,i32:` 74 data[offset] = v;`,"vec2<f32>":` 75 data[offset] = v[0]; 76 data[offset + 1] = v[1];`,"vec3<f32>":` 77 data[offset] = v[0]; 78 data[offset + 1] = v[1]; 79 data[offset + 2] = v[2];`,"vec4<f32>":` 80 data[offset] = v[0]; 81 data[offset + 1] = v[1]; 82 data[offset + 2] = v[2]; 83 data[offset + 3] = v[3];`,"mat2x2<f32>":` 84 data[offset] = v[0]; 85 data[offset + 1] = v[1]; 86 data[offset + 4] = v[2]; 87 data[offset + 5] = v[3];`,"mat3x3<f32>":` 88 data[offset] = v[0]; 89 data[offset + 1] = v[1]; 90 data[offset + 2] = v[2]; 91 data[offset + 4] = v[3]; 92 data[offset + 5] = v[4]; 93 data[offset + 6] = v[5]; 94 data[offset + 8] = v[6]; 95 data[offset + 9] = v[7]; 96 data[offset + 10] = v[8];`,"mat4x4<f32>":` 97 for (let i = 0; i < 16; i++) { 98 data[offset + i] = v[i]; 99 }`,"mat3x2<f32>":n(3,2),"mat4x2<f32>":n(4,2),"mat2x3<f32>":n(2,3),"mat4x3<f32>":n(4,3),"mat2x4<f32>":n(2,4),"mat3x4<f32>":n(3,4)},a={...i,"mat2x2<f32>":` 100 data[offset] = v[0]; 101 data[offset + 1] = v[1]; 102 data[offset + 2] = v[2]; 103 data[offset + 3] = v[3]; 104 `}},2304:function(e,t,r){r.d(t,{s:function(){return n}});let n=[{type:"mat3x3<f32>",test:e=>void 0!==e.value.a,ubo:` 105 var matrix = uv[name].toArray(true); 106 data[offset] = matrix[0]; 107 data[offset + 1] = matrix[1]; 108 data[offset + 2] = matrix[2]; 109 data[offset + 4] = matrix[3]; 110 data[offset + 5] = matrix[4]; 111 data[offset + 6] = matrix[5]; 112 data[offset + 8] = matrix[6]; 113 data[offset + 9] = matrix[7]; 114 data[offset + 10] = matrix[8]; 115 `,uniform:` 116 gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true)); 117 `},{type:"vec4<f32>",test:e=>"vec4<f32>"===e.type&&1===e.size&&void 0!==e.value.width,ubo:` 118 v = uv[name]; 119 data[offset] = v.x; 120 data[offset + 1] = v.y; 121 data[offset + 2] = v.width; 122 data[offset + 3] = v.height; 123 `,uniform:` 124 cv = ud[name].value; 125 v = uv[name]; 126 if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) { 127 cv[0] = v.x; 128 cv[1] = v.y; 129 cv[2] = v.width; 130 cv[3] = v.height; 131 gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height); 132 } 133 `}
133,{type:"vec2<f32>",test:e=>"vec2<f32>"===e.type&&1===e.size&&void 0!==e.value.x,ubo:` 134 v = uv[name]; 135 data[offset] = v.x; 136 data[offset + 1] = v.y; 137 `,uniform:` 138 cv = ud[name].value; 139 v = uv[name]; 140 if (cv[0] !== v.x || cv[1] !== v.y) { 141 cv[0] = v.x; 142 cv[1] = v.y; 143 gl.uniform2f(ud[name].location, v.x, v.y); 144 } 145 `},{type:"vec4<f32>",test:e=>"vec4<f32>"===e.type&&1===e.size&&void 0!==e.value.red,ubo:` 146 v = uv[name]; 147 data[offset] = v.red; 148 data[offset + 1] = v.green; 149 data[offset + 2] = v.blue; 150 data[offset + 3] = v.alpha; 151 `,uniform:` 152 cv = ud[name].value; 153 v = uv[name]; 154 if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) { 155 cv[0] = v.red; 156 cv[1] = v.green; 157 cv[2] = v.blue; 158 cv[3] = v.alpha; 159 gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha); 160 } 161 `},{type:"vec3<f32>",test:e=>"vec3<f32>"===e.type&&1===e.size&&void 0!==e.value.red,ubo:` 162 v = uv[name]; 163 data[offset] = v.red; 164 data[offset + 1] = v.green; 165 data[offset + 2] = v.blue; 166 `,uniform:` 167 cv = ud[name].value; 168 v = uv[name]; 169 if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue) { 170 cv[0] = v.red; 171 cv[1] = v.green; 172 cv[2] = v.blue; 173 gl.uniform3f(ud[name].location, v.red, v.green, v.blue); 174 } 175 `}]},5918:function(e,t,r){r.d(t,{Z:function(){return a}});let n={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},i=class e{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(1&this.data)}set blend(e){!!(1&this.data)!==e&&(this.data^=1)}get offsets(){return!!(2&this.data)}set offsets(e){!!(2&this.data)!==e&&(this.data^=2)}set cullMode(e){if("none"===e){this.culling=!1;return}this.culling=!0,this.clockwiseFrontFace="front"===e}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return!!(4&this.data)}set culling(e){!!(4&this.data)!==e&&(this.data^=4)}get depthTest(){return!!(8&this.data)}set depthTest(e){!!(8&this.data)!==e&&(this.data^=8)}get depthMask(){return!!(32&this.data)}set depthMask(e){!!(32&this.data)!==e&&(this.data^=32)}get clockwiseFrontFace(){return!!(16&this.data)}set clockwiseFrontFace(e){!!(16&this.data)!==e&&(this.data^=16)}get blendMode(){return this._blendMode}set blendMode(e){this.blend="none"!==e,this._blendMode=e,this._blendModeId=n[e]||0}get polygonOffset(){return this._polygonOffset}set polygonOffset(e){this.offsets=!!e,this._polygonOffset=e}toString(){return`[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){let t=new e;return t.depthTest=!1,t.blend=!0,t}};i.default2d=i.for2d();let a=i},4162:function(e,t,r){r.d(t,{U:function(){return eC},N:function(){return eS}});var n=r(7);class i{constructor(e){this._renderer=e}addRenderable(e,t){this._renderer.renderPipes.batch.break(t),t.add(e)}execute(e){e.isRenderable&&e.render(this._renderer)}destroy(){this._renderer=null}}function a(e,t){let r=e.instructionSet,n=r.instructions;for(let e=0;e<r.instructionSize;e++){let r=n[e];t[r.renderPipeId].execute(r)}}i.extension={type:[n.nw.WebGLPipes,n.nw.WebGPUPipes,n.nw.CanvasPipes],name:"customRender"};class s{constructor(e){this._renderer=e}addRenderGroup(e,t){this._renderer.renderPipes.batch.break(t),t.add(e)}execute(e){e.isRenderable&&(this._renderer.globalUniforms.push({worldTransformMatrix:e.worldTransform,worldColor:e.worldColorAlpha}),a(e,this._renderer.renderPipes),this._renderer.globalUniforms.pop())}destroy(){this._renderer=null}}s.extension={type:[n.nw.WebGLPipes,n.nw.WebGPUPipes,n.nw.CanvasPipes],name:"renderGroup"};var o=r(493);function l(e,t,r){let n=r.renderPipes?r:r.batch.renderer;!(e.globalDisplayStatus<7)&&e.includeInBuild&&(e.sortableChildren&&e.sortChildren(),e.isSimple?function(e,t,r){if(e.renderPipeId){let{renderPipes:n,renderableGC:i}=r;n.blendMode.setBlendMode(e,e.groupBlendMode,t),e.didViewUpdate=!1,n[e.renderPipeId].addRenderable(e,t),i.addRenderable(e,t)}if(!e.renderGroup){let n=e.children,i=n.length;for(let e=0;e<i;e++)l(n[e],t,r)}}
175(e,t,n):u(e,t,n,!1))}function u(e,t,r,n){let{renderPipes:i,renderableGC:a}=r;if(!n&&e.renderGroup)i.renderGroup.addRenderGroup(e.renderGroup,t);else{for(let r=0;r<e.effects.length;r++){let n=e.effects[r];i[n.pipe].push(n,e,t)}let n=e.renderPipeId;n&&(i.blendMode.setBlendMode(e,e.groupBlendMode,t),e.didViewUpdate=!1,i[n].addRenderable(e,t),a.addRenderable(e,t));let s=e.children;if(s.length)for(let e=0;e<s.length;e++)l(s[e],t,r);for(let r=e.effects.length-1;r>=0;r--){let n=e.effects[r];i[n.pipe].pop(n,e,t)}}}function d(e,t){t||(t=0);for(let r=t;r<e.length;r++)if(e[r])e[r]=null;else break}var h=r(846);function c(e,t){return 16777215===e||16777215===t?e+t-16777215:function(e,t,r){let n=e>>16&255,i=e>>8&255,a=255&e;return(n+((t>>16&255)-n)*.5<<16)+(i+((t>>8&255)-i)*.5<<8)+(a+((255&t)-a)*.5)}(e,t,.5)}let p=new h.W2,f=h.Jm|h.wO|h.pA;function m(e,t,r){if(r&h.wO){e.groupColor=c(e.localColor,t.groupColor);let r=e.localAlpha*t.groupAlpha;r=r<0?0:r>1?1:r,e.groupAlpha=r,e.groupColorAlpha=e.groupColor+((255*r|0)<<24)}r&h.pA&&(e.groupBlendMode="inherit"===e.localBlendMode?t.groupBlendMode:e.localBlendMode),r&h.Jm&&(e.globalDisplayStatus=e.localDisplayStatus&t.globalDisplayStatus),e._updateFlags=0}let g=new o.y;class v{constructor(e){this._renderer=e}render({container:e,transform:t}){e.isRenderGroup=!0;let r=e.parent,n=e.renderGroup.renderGroupParent;e.parent=null,e.renderGroup.renderGroupParent=null;let i=this._renderer,s=function e(t,r=[]){r.push(t);for(let n=0;n<t.renderGroupChildren.length;n++)e(t.renderGroupChildren[n],r);return r}(e.renderGroup,[]),o=g;t&&(o=o.copyFrom(e.renderGroup.localTransform),e.renderGroup.localTransform.copyFrom(t));let l=i.renderPipes;for(let e=0;e<s.length;e++){let t=s[e];t.runOnRender(),t.instructionSet.renderPipes=l,t.structureDidChange?d(t.childrenRenderablesToUpdate.list,0):function(e,t){let{list:r,index:n}=e.childrenRenderablesToUpdate,i=!1;for(let e=0;e<n;e++){let n=r[e];if(i=t[n.renderPipeId].validateRenderable(n))break}return e.structureDidChange=i,i}(t,l),function e(t,r=!1){(function(e){let t;let r=e.root;if(e.renderGroupParent){let n=e.renderGroupParent;e.worldTransform.appendFrom(r.relativeGroupTransform,n.worldTransform),e.worldColor=c(r.groupColor,n.worldColor),t=r.groupAlpha*n.worldAlpha}else e.worldTransform.copyFrom(r.localTransform),e.worldColor=r.localColor,t=r.localAlpha;t=t<0?0:t>1?1:t,e.worldAlpha=t,e.worldColorAlpha=e.worldColor+((255*t|0)<<24)})(t);let n=t.childrenToUpdate,i=t.updateTick++;for(let e in n){let r=Number(e),a=n[e],s=a.list,o=a.index;for(let e=0;e<o;e++){let n=s[e];n.parentRenderGroup===t&&n.relativeRenderGroupDepth===r&&function e(t,r,n){if(r===t.updateTick)return;t.updateTick=r,t.didChange=!1;let i=t.localTransform;t.updateLocalTransform();let a=t.parent;if(a&&!a.renderGroup?(n|=t._updateFlags,t.relativeGroupTransform.appendFrom(i,a.relativeGroupTransform),n&f&&m(t,a,n)):(n=t._updateFlags,t.relativeGroupTransform.copyFrom(i),n&f&&m(t,p,n)),!t.renderGroup){let i=t.children,a=i.length;for(let t=0;t<a;t++)e(i[t],r,n);let s=t.parentRenderGroup;t.renderPipeId&&!s.structureDidChange&&s.updateRenderable(t)}}(n,i,0)}d(s,o),a.index=0}if(r)for(let n=0;n<t.renderGroupChildren.length;n++)e(t.renderGroupChildren[n],r)}(t),t.structureDidChange?(t.structureDidChange=!1,function(e,t){let r=e.root,n=e.instructionSet;n.reset();let i=t.renderPipes?t:t.batch.renderer,a=i.renderPipes;a.batch.buildStart(n),a.blendMode.buildStart(),a.colorMask.buildStart(),r.sortableChildren&&r.sortChildren(),u(r,n,i,!0),a.batch.buildEnd(n),a.blendMode.buildEnd(n)}(t,i)):function(e){let{list:t,index:r}=e.childrenRenderablesToUpdate;for(let n=0;n<r;n++){let r=t[n];r.didViewUpdate&&e.updateRenderable(r)}d(t,r)}(t),t.childrenRenderablesToUpdate.index=0,i.renderPipes.batch.upload(t.instructionSet)}i.globalUniforms.start({worldTransformMatrix:t?e.renderGroup.localTransform:e.renderGroup.worldTransform,worldColor:e.renderGroup.worldColorAlpha}),a(e.renderGroup,l),l.uniformBatch&&l.uniformBatch.renderEnd(),t&&e.renderGroup.localTransform.copyFrom(o),e.parent=r,e.renderGroup.renderGroupParent=n}destroy(){this._renderer=null}}
175v.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem,n.nw.CanvasSystem],name:"renderGroup"};var x=r(7852),_=r(999);class b{constructor(e){this._gpuSpriteHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=e}addRenderable(e,t){let r=this._getGpuSprite(e);e._didSpriteUpdate&&this._updateBatchableSprite(e,r),this._renderer.renderPipes.batch.addToBatch(r,t)}updateRenderable(e){let t=this._gpuSpriteHash[e.uid];e._didSpriteUpdate&&this._updateBatchableSprite(e,t),t._batcher.updateElement(t)}validateRenderable(e){let t=e._texture,r=this._getGpuSprite(e);return r.texture._source!==t._source&&!r._batcher.checkAndUpdateTexture(r,t)}destroyRenderable(e){let t=this._gpuSpriteHash[e.uid];x.u.return(t),this._gpuSpriteHash[e.uid]=null,e.off("destroyed",this._destroyRenderableBound)}_updateBatchableSprite(e,t){e._didSpriteUpdate=!1,t.bounds=e.bounds,t.texture=e._texture}_getGpuSprite(e){return this._gpuSpriteHash[e.uid]||this._initGPUSprite(e)}_initGPUSprite(e){let t=x.u.get(_.c);return t.renderable=e,t.transform=e.groupTransform,t.texture=e._texture,t.bounds=e.bounds,t.roundPixels=this._renderer._roundPixels|e._roundPixels,this._gpuSpriteHash[e.uid]=t,e._didSpriteUpdate=!1,e.on("destroyed",this._destroyRenderableBound),t}destroy(){for(let e in this._gpuSpriteHash)x.u.return(this._gpuSpriteHash[e]);this._gpuSpriteHash=null,this._renderer=null}}b.extension={type:[n.nw.WebGLPipes,n.nw.WebGPUPipes,n.nw.CanvasPipes],name:"sprite"};var y=r(8356),k=r(5918),T=r(5855);let w=class e{constructor(e,t){this.state=k.Z.for2d(),this._batchersByInstructionSet=Object.create(null),this._activeBatches=Object.create(null),this.renderer=e,this._adaptor=t,this._adaptor.init?.(this)}static getBatcher(e){return new this._availableBatchers[e]}buildStart(e){let t=this._batchersByInstructionSet[e.uid];for(let r in!t&&((t=this._batchersByInstructionSet[e.uid]=Object.create(null)).default||(t.default=new T.h)),this._activeBatches=t,this._activeBatch=this._activeBatches.default,this._activeBatches)this._activeBatches[r].begin()}addToBatch(t,r){if(this._activeBatch.name!==t.batcherName){this._activeBatch.break(r);let n=this._activeBatches[t.batcherName];n||(n=this._activeBatches[t.batcherName]=e.getBatcher(t.batcherName)).begin(),this._activeBatch=n}this._activeBatch.add(t)}break(e){this._activeBatch.break(e)}buildEnd(e){this._activeBatch.break(e);let t=this._activeBatches;for(let e in t){let r=t[e],n=r.geometry;n.indexBuffer.setDataWithSize(r.indexBuffer,r.indexSize,!0),n.buffers[0].setDataWithSize(r.attributeBuffer.float32View,r.attributeSize,!1)}}upload(e){let t=this._batchersByInstructionSet[e.uid];for(let e in t){let r=t[e],n=r.geometry;r.dirty&&(r.dirty=!1,n.buffers[0].update(4*r.attributeSize))}}execute(e){if("startBatch"===e.action){let t=e.batcher,r=t.geometry,n=t.shader;this._adaptor.start(this,r,n)}this._adaptor.execute(this,e)}destroy(){for(let e in this.state=null,this.renderer=null,this._adaptor=null,this._activeBatches)this._activeBatches[e].destroy();this._activeBatches=null}};w.extension={type:[n.nw.WebGLPipes,n.nw.WebGPUPipes,n.nw.CanvasPipes],name:"batch"},w._availableBatchers=Object.create(null),n.Rw.handleByMap(n.nw.Batcher,w._availableBatchers),n.Rw.add(T.h);var M=r(176),S=r(7156),C=r(7003),P=r(7328),G=r(9337),R=r(4027);let U=class e extends R.e{constructor(t){super(t={...e.defaultOptions,...t}),this.enabled=!0,this._state=k.Z.for2d(),this.blendMode=t.blendMode,this.padding=t.padding,"boolean"==typeof t.antialias?this.antialias=t.antialias?"on":"off":this.antialias=t.antialias,this.resolution=t.resolution,this.blendRequired=t.blendRequired,this.addResource("uTexture",0,1)}apply(e,t,r,n){e.applyFilter(this,t,r,n)}get blendMode(){return this._state.blendMode}set blendMode(e){this._state.blendMode=e}static from(t){let r,n;let{gpu:i,gl:a,...s}=t;return i&&(r=C.O.from(i)),a&&(n=S.J.from(a)),new e({gpuProgram:r,glProgram:n,...s})}};U.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1};let B=U;var F="struct GlobalFilterUniforms {\n uInputSize:vec4<f32>,\n uInputPixel:vec4<f32>,\n uInputClamp:vec4<f32>,\n uOutputFrame:vec4<f32>,\n uGlobalFrame:vec4<f32>,\n uOutputTexture:vec4<f32>, \n};\n\nstruct MaskUniforms {\n uFilterMatrix:mat3x3<f32>,\n uMaskClamp:vec4<f32>,\n uAlpha:f32,\n};\n\n\n@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;\n@group(0) @binding(1) var uTexture: texture_2d<f32>;\n@group(0) @binding(2) var uSampler : sampler;\n\n@group(1) @binding(0) var<uniform> filterUniforms : MaskUniforms;\n@group(1) @binding(1) var uMaskTexture: texture_2d<f32>;\n\nstruct VSOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) uv : vec2<f32>,\n @location(1) filterUv : vec2<f32>,\n };\n\nfn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>\n{\n var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;\n\n position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nfn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);\n}\n\nfn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>\n{\n return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw); \n}\n\nfn getFilterCoord(aPosition:vec2<f32> ) -> vec2<f32>\n{\n return ( filterUniforms.uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;\n}\n\nfn getSize() -> vec2<f32>\n{\n\n \n return gfu.uGlobalFrame.zw;\n}\n \n@vertex\nfn mainVertex(\n @location(0) aPosition : vec2<f32>, \n) -> VSOutput {\n return VSOutput(\n filterVertexPosition(aPosition),\n filterTextureCoord(aPosition),\n getFilterCoord(aPosition)\n );\n}\n\n@fragment\nfn mainFragment(\n @location(0) uv: vec2<f32>,\n @location(1) filterUv: vec2<f32>,\n @builtin(position) position: vec4<f32>\n) -> @location(0) vec4<f32> {\n\n var maskClamp = filterUniforms.uMaskClamp;\n\n var clip = step(3.5,\n step(maskClamp.x, filterUv.x) +\n step(maskClamp.y, filterUv.y) +\n step(filterUv.x, maskClamp.z) +\n step(filterUv.y, maskClamp.w));\n\n var mask = textureSample(uMaskTexture, uSampler, filterUv);\n var source = textureSample(uTexture, uSampler, uv);\n \n var npmAlpha = 0.0;\n\n var alphaMul = 1.0 - npmAlpha * (1.0 - mask.a);\n\n var a = (alphaMul * mask.r) * clip;\n\n return vec4(source.rgb, source.a) * a;\n}";class O extends B{constructor(e){let{sprite:t,...r}=e,n=new G.U(t.texture);super({...r,gpuProgram:C.O.from({vertex:{source:F,entryPoint:"mainVertex"},fragment:{source:F,entryPoint:"mainFragment"}}),glProgram:S.J.from({vertex:"in vec2 aPosition;\n\nout vec2 vTextureCoord;\nout vec2 vMaskCoord;\n\n\nuniform vec4 uInputSize;\nuniform vec4 uOutputFrame;\nuniform vec4 uOutputTexture;\nuniform mat3 uFilterMatrix;\n\nvec4 filterVertexPosition( vec2 aPosition )\n{\n vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;\n \n position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;\n position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;\n\n return vec4(position, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( vec2 aPosition )\n{\n return aPosition * (uOutputFrame.zw * uInputSize.zw);\n}\n\nvec2 getFilterCoord( vec2 aPosition )\n{\n return ( uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;\n} \n\nvoid main(void)\n{\n gl_Position = filterVertexPosition(aPosition);\n vTextureCoord = filterTextureCoord(aPosition);\n vMaskCoord = getFilterCoord(aPosition);\n}\n",fragment:"in vec2 vMaskCoord;\nin vec2 vTextureCoord;\n\nuniform sampler2D uTexture;\nuniform sampler2D uMaskTexture;\n\nuniform float uAlpha;\nuniform vec4 uMaskClamp;\n\nout vec4 finalColor;\n\nvoid main(void)\n{\n float clip = step(3.5,\n step(uMaskClamp.x, vMaskCoord.x) +\n step(uMaskClamp.y, vMaskCoord.y) +\n step(vMaskCoord.x, uMaskClamp.z) +\n step(vMaskCoord.y, uMaskClamp.w));\n\n // TODO look into why this is needed\n float npmAlpha = uAlpha; \n vec4 original = texture(uTexture, vTextureCoord);
175\n vec4 masky = texture(uMaskTexture, vMaskCoord);\n float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);\n\n original *= (alphaMul * masky.r * uAlpha * clip);\n\n finalColor = original;\n}\n",name:"mask-filter"}),resources:{filterUniforms:new P.o({uFilterMatrix:{value:new o.y,type:"mat3x3<f32>"},uMaskClamp:{value:n.uClampFrame,type:"vec4<f32>"},uAlpha:{value:1,type:"f32"}}),uMaskTexture:t.texture.source}}),this.sprite=t,this._textureMatrix=n}apply(e,t,r,n){this._textureMatrix.texture=this.sprite.texture,e.calculateSpriteMatrix(this.resources.filterUniforms.uniforms.uFilterMatrix,this.sprite).prepend(this._textureMatrix.mapCoord),this.resources.uMaskTexture=this.sprite.texture.source,e.applyFilter(this,t,r,n)}}var A=r(8721),I=r(6063),D=r(7247),z=r(8583),E=r(4704),W=r(4147);let H=new A.Y;class L extends M.U{constructor(){super(),this.filters=[new O({sprite:new D.j(z.x.EMPTY),resolution:"inherit",antialias:"inherit"})]}get sprite(){return this.filters[0].sprite}set sprite(e){this.filters[0].sprite=e}}class V{constructor(e){this._activeMaskStage=[],this._renderer=e}push(e,t,r){let n=this._renderer;if(n.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"pushMaskBegin",mask:e,canBundle:!1,maskedContainer:t}),e.renderMaskToTexture){let t=e.mask;t.includeInBuild=!0,l(t,r,n),t.includeInBuild=!1}n.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"pushMaskEnd",mask:e,maskedContainer:t,canBundle:!1})}pop(e,t,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"alphaMask",action:"popMaskEnd",mask:e,canBundle:!1})}execute(e){let t=this._renderer,r=e.mask.renderMaskToTexture;if("pushMaskBegin"===e.action){let n=x.u.get(L);if(r){e.mask.mask.measurable=!0;let r=(0,I.qW)(e.mask.mask,!0,H);e.mask.mask.measurable=!1,r.ceil();let i=t.renderTarget.renderTarget.colorTexture.source,a=E.z.getOptimalTexture(r.width,r.height,i._resolution,i.antialias);t.renderTarget.push(a,!0),t.globalUniforms.push({offset:r,worldColor:4294967295});let s=n.sprite;s.texture=a,s.worldTransform.tx=r.minX,s.worldTransform.ty=r.minY,this._activeMaskStage.push({filterEffect:n,maskedContainer:e.maskedContainer,filterTexture:a})}else n.sprite=e.mask.mask,this._activeMaskStage.push({filterEffect:n,maskedContainer:e.maskedContainer})}else if("pushMaskEnd"===e.action){let e=this._activeMaskStage[this._activeMaskStage.length-1];r&&(t.type===W.g.WEBGL&&t.renderTarget.finishRenderPass(),t.renderTarget.pop(),t.globalUniforms.pop()),t.filter.push({renderPipeId:"filter",action:"pushFilter",container:e.maskedContainer,filterEffect:e.filterEffect,canBundle:!1})}else if("popMaskEnd"===e.action){t.filter.pop();let e=this._activeMaskStage.pop();r&&E.z.returnTexture(e.filterTexture),x.u.return(e.filterEffect)}}destroy(){this._renderer=null,this._activeMaskStage=null}}V.extension={type:[n.nw.WebGLPipes,n.nw.WebGPUPipes,n.nw.CanvasPipes],name:"alphaMask"};class j{constructor(e){this._colorStack=[],this._colorStackIndex=0,this._currentColor=0,this._renderer=e}buildStart(){this._colorStack[0]=15,this._colorStackIndex=1,this._currentColor=15}push(e,t,r){this._renderer.renderPipes.batch.break(r);let n=this._colorStack;n[this._colorStackIndex]=n[this._colorStackIndex-1]&e.mask;let i=this._colorStack[this._colorStackIndex];i!==this._currentColor&&(this._currentColor=i,r.add({renderPipeId:"colorMask",colorMask:i,canBundle:!1})),this._colorStackIndex++}pop(e,t,r){this._renderer.renderPipes.batch.break(r);let n=this._colorStack;this._colorStackIndex--;let i=n[this._colorStackIndex-1];i!==this._currentColor&&(this._currentColor=i,r.add({renderPipeId:"colorMask",colorMask:i,canBundle:!1}))}execute(e){this._renderer.colorMask.setMask(e.colorMask)}destroy(){this._colorStack=null}}j.extension={type:[n.nw.WebGLPipes,n.nw.WebGPUPipes,n.nw.CanvasPipes],name:"colorMask"};var $=r(4161),N=r(5416);class q{constructor(e){this._maskStackHash={},this._maskHash=new WeakMap,this._renderer=e}push(e,t,r){var n;let i=this._renderer;i.renderPipes.batch.break(r),i.renderPipes.blendMode.setBlendMode(e.mask,"none",r),r.add({renderPipeId:"stencilMask",action:"pushMaskBegin",mask:e,canBundle:!1});let a=e.mask;a.includeInBuild=!0,this._maskHash.has(e)||this._maskHash.set(e,{instructionsStart:0,instructionsLength:0});let s=this._maskHash.get(e);s.instructionsStart=r.instructionSize,l(a,r,i),a.includeInBuild=!1,i.renderPipes.batch.break(r),r.add({renderPipeId:"stencilMask",action:"pushMaskEnd",mask:e,canBundle:!1});let o=r.instructionSize-s.instructionsStart-1;s.instructionsLength=o;let u=i.renderTarget.renderTarget.uid;(n=this._maskStackHash)[u]??(n[u]=0)}pop(e,t,r){let n=this._renderer;n.renderPipes.batch.break(r),n.renderPipes.blendMode.setBlendMode(e.mask,"none",r),r.add({renderPipeId:"stencilMask",action:"popMaskBegin",canBundle:!1});let i=this._maskHash.get(e);for(let e=0;e<i.instructionsLength;e++)r.instructions[r.instructionSize++]=r.instructions[i.instructionsStart++];r.add({renderPipeId:"stencilMask",action:"popMaskEnd",canBundle:!1})}execute(e){var t;let r=this._renderer,n=r.renderTarget.renderTarget.uid,i=(t=this._maskStackHash)[n]??(t[n]=0);"pushMaskBegin"===e.action?(r.renderTarget.ensureDepthStencil(),r.stencil.setStencilMode(N.D.RENDERING_MASK_ADD,i),i++,r.colorMask.setMask(0)):"pushMaskEnd"===e.action?(r.stencil.setStencilMode(N.D.MASK_ACTIVE,i),r.colorMask.setMask(15)):"popMaskBegin"===e.action?(r.colorMask.setMask(0),0!==i?r.stencil.setStencilMode(N.D.RENDERING_MASK_REMOVE,i):(r.renderTarget.clear(null,$.E.STENCIL),r.stencil.setStencilMode(N.D.DISABLED,i)),i--):"popMaskEnd"===e.action&&(r.stencil.setStencilMode(N.D.MASK_ACTIVE,i),r.colorMask.setMask(15)),this._maskStackHash[n]=i}destroy(){this._renderer=null,this._maskStackHash=null,this._maskHash=null}}q.extension={type:[n.nw.WebGLPipes,n.nw.WebGPUPipes,n.nw.CanvasPipes],name:"stencilMask"};var K=r(6910);let Y=class e{constructor(){this.clearBeforeRender=!0,this._backgroundColor=new K.I(0),this.color=this._backgroundColor,this.alpha=1}init(t){t={...e.defaultOptions,...t},this.clearBeforeRender=t.clearBeforeRender,this.color=t.background||t.backgroundColor||this._backgroundColor,this.alpha=t.backgroundAlpha,this._backgroundColor.setAlpha(t.backgroundAlpha)}get color(){return this._backgroundColor}set color(e){this._backgroundColor.setValue(e)}get alpha(){return this._backgroundColor.alpha}set alpha(e){this._backgroundColor.setAlpha(e)}get colorRgba(){return this._backgroundColor.toArray()}destroy(){}};
175Y.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem,n.nw.CanvasSystem],name:"background",priority:0},Y.defaultOptions={backgroundAlpha:1,backgroundColor:0,clearBeforeRender:!0};var J=r(5788);let Z={};n.Rw.handle(n.nw.BlendMode,e=>{if(!e.name)throw Error("BlendMode extension must have a name property");Z[e.name]=e.ref},e=>{delete Z[e.name]});class X{constructor(e){this._isAdvanced=!1,this._filterHash=Object.create(null),this._renderer=e}setBlendMode(e,t,r){if(this._activeBlendMode===t){this._isAdvanced&&this._renderableList.push(e);return}this._activeBlendMode=t,this._isAdvanced&&this._endAdvancedBlendMode(r),this._isAdvanced=!!Z[t],this._isAdvanced&&(this._beginAdvancedBlendMode(r),this._renderableList.push(e))}_beginAdvancedBlendMode(e){this._renderer.renderPipes.batch.break(e);let t=this._activeBlendMode;if(!Z[t]){(0,J.Z)(`Unable to assign BlendMode: '${t}'. You may want to include: import 'pixi.js/advanced-blend-modes'`);return}let r=this._filterHash[t];r||((r=this._filterHash[t]=new M.U).filters=[new Z[t]]);let n={renderPipeId:"filter",action:"pushFilter",renderables:[],filterEffect:r,canBundle:!1};this._renderableList=n.renderables,e.add(n)}_endAdvancedBlendMode(e){this._renderableList=null,this._renderer.renderPipes.batch.break(e),e.add({renderPipeId:"filter",action:"popFilter",canBundle:!1})}buildStart(){this._isAdvanced=!1}buildEnd(e){this._isAdvanced&&this._endAdvancedBlendMode(e)}destroy(){for(let e in this._renderer=null,this._renderableList=null,this._filterHash)this._filterHash[e].destroy();this._filterHash=null}}X.extension={type:[n.nw.WebGLPipes,n.nw.WebGPUPipes,n.nw.CanvasPipes],name:"blendMode"};let Q={png:"image/png",jpg:"image/jpeg",webp:"image/webp"},ee=class e{constructor(e){this._renderer=e}_normalizeOptions(e,t={}){return e instanceof h.W2||e instanceof z.x?{target:e,...t}:{...t,...e}}async image(e){let t=new Image;return t.src=await this.base64(e),t}async base64(t){let{format:r,quality:n}=t=this._normalizeOptions(t,e.defaultImageOptions),i=this.canvas(t);if(void 0!==i.toBlob)return new Promise((e,t)=>{i.toBlob(r=>{if(!r){t(Error("ICanvas.toBlob failed!"));return}let n=new FileReader;n.onload=()=>e(n.result),n.onerror=t,n.readAsDataURL(r)},Q[r],n)});if(void 0!==i.toDataURL)return i.toDataURL(Q[r],n);if(void 0!==i.convertToBlob){let e=await i.convertToBlob({type:Q[r],quality:n});return new Promise((t,r)=>{let n=new FileReader;n.onload=()=>t(n.result),n.onerror=r,n.readAsDataURL(e)})}throw Error("Extract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(e){let t=(e=this._normalizeOptions(e)).target,r=this._renderer;if(t instanceof z.x)return r.texture.generateCanvas(t);let n=r.textureGenerator.generateTexture(e),i=r.texture.generateCanvas(n);return n.destroy(),i}pixels(e){let t=(e=this._normalizeOptions(e)).target,r=this._renderer,n=t instanceof z.x?t:r.textureGenerator.generateTexture(e),i=r.texture.getPixels(n);return t instanceof h.W2&&n.destroy(),i}texture(e){return(e=this._normalizeOptions(e)).target instanceof z.x?e.target:this._renderer.textureGenerator.generateTexture(e)}download(e){e=this._normalizeOptions(e);let t=this.canvas(e),r=document.createElement("a");r.download=e.filename??"image.png",r.href=t.toDataURL("image/png"),document.body.appendChild(r),r.click(),document.body.removeChild(r)}log(e){let t=e.width??200;e=this._normalizeOptions(e);let r=this.canvas(e),n=r.toDataURL();console.log(`[Pixi Texture] ${r.width}px ${r.height}px`),console.log("%c ",`font-size: 1px; padding: ${t}px 300px; background: url(${n}) no-repeat; background-size: contain;`)}destroy(){this._renderer=null}};ee.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem],name:"extract"},ee.defaultImageOptions={format:"png",quality:1};var et=r(9619),er=r(9631),en=r(8744);class ei extends z.x{static create(e){return new ei({source:new en.p(e)})}resize(e,t,r){return this.source.resize(e,t,r),this}}let ea=new et.A,es=new A.Y,eo=[0,0,0,0];class el{constructor(e){this._renderer=e}generateTexture(e){e instanceof h.W2&&(e={target:e,frame:void 0,textureSourceOptions:{},resolution:void 0});let t=e.resolution||this._renderer.resolution,r=e.antialias||this._renderer.view.antialias,n=e.target,i=e.clearColor;i=i?Array.isArray(i)&&4===i.length?i:K.I.shared.setValue(i).toArray():eo;let a=e.frame?.copyTo(ea)||(0,er.a)(n,es).rectangle;a.width=0|Math.max(a.width,1/t),a.height=0|Math.max(a.height,1/t);let s=ei.create({...e.textureSourceOptions,width:a.width,height:a.height,resolution:t,antialias:r}),l=o.y.shared.translate(-a.x,-a.y);return this._renderer.render({container:n,transform:l,target:s,clearColor:i}),s.source.updateMipmaps(),s}destroy(){this._renderer=null}}
175el.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem],name:"textureGenerator"};var eu=r(6250),ed=r(6884),eh=r(3963);class ec{constructor(e){this._stackIndex=0,this._globalUniformDataStack=[],this._uniformsPool=[],this._activeUniforms=[],this._bindGroupPool=[],this._activeBindGroups=[],this._renderer=e}reset(){this._stackIndex=0;for(let e=0;e<this._activeUniforms.length;e++)this._uniformsPool.push(this._activeUniforms[e]);for(let e=0;e<this._activeBindGroups.length;e++)this._bindGroupPool.push(this._activeBindGroups[e]);this._activeUniforms.length=0,this._activeBindGroups.length=0}start(e){this.reset(),this.push(e)}bind({size:e,projectionMatrix:t,worldTransformMatrix:r,worldColor:n,offset:i}){let a;let s=this._renderer.renderTarget.renderTarget,l=this._stackIndex?this._globalUniformDataStack[this._stackIndex-1]:{projectionData:s,worldTransformMatrix:new o.y,worldColor:4294967295,offset:new eu.E},u={projectionMatrix:t||this._renderer.renderTarget.projectionMatrix,resolution:e||s.size,worldTransformMatrix:r||l.worldTransformMatrix,worldColor:n||l.worldColor,offset:i||l.offset,bindGroup:null},d=this._uniformsPool.pop()||this._createUniforms();this._activeUniforms.push(d);let h=d.uniforms;h.uProjectionMatrix=u.projectionMatrix,h.uResolution=u.resolution,h.uWorldTransformMatrix.copyFrom(u.worldTransformMatrix),h.uWorldTransformMatrix.tx-=u.offset.x,h.uWorldTransformMatrix.ty-=u.offset.y,(0,ed.V)(u.worldColor,h.uWorldColorAlpha,0),d.update(),this._renderer.renderPipes.uniformBatch?a=this._renderer.renderPipes.uniformBatch.getUniformBindGroup(d,!1):(a=this._bindGroupPool.pop()||new eh.v,this._activeBindGroups.push(a),a.setResource(d,0)),u.bindGroup=a,this._currentGlobalUniformData=u}push(e){this.bind(e),this._globalUniformDataStack[this._stackIndex++]=this._currentGlobalUniformData}pop(){this._currentGlobalUniformData=this._globalUniformDataStack[--this._stackIndex-1],this._renderer.type===W.g.WEBGL&&this._currentGlobalUniformData.bindGroup.resources[0].update()}get bindGroup(){return this._currentGlobalUniformData.bindGroup}get uniformGroup(){return this._currentGlobalUniformData.bindGroup.resources[0]}_createUniforms(){return new P.o({uProjectionMatrix:{value:new o.y,type:"mat3x3<f32>"},uWorldTransformMatrix:{value:new o.y,type:"mat3x3<f32>"},uWorldColorAlpha:{value:new Float32Array(4),type:"vec4<f32>"},uResolution:{value:[0,0],type:"vec2<f32>"}},{isStatic:!0})}destroy(){this._renderer=null}}ec.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem,n.nw.CanvasSystem],name:"globalUniforms"};var ep=r(9625);let ef=1;class em{constructor(){this._tasks=[]}init(){ep.v.system.add(this._update,this)}repeat(e,t){let r=ef++;return this._tasks.push({func:e,duration:t,start:performance.now(),last:performance.now(),repeat:!0,id:r}),r}cancel(e){for(let t=0;t<this._tasks.length;t++)if(this._tasks[t].id===e){this._tasks.splice(t,1);return}}
175_update(){let e=performance.now();for(let t=0;t<this._tasks.length;t++){let r=this._tasks[t];if(e-r.last>=r.duration){let t=e-r.start;r.func(t),r.last=e}}}destroy(){ep.v.system.remove(this._update,this),this._tasks.length=0}}em.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem,n.nw.CanvasSystem],name:"scheduler",priority:0};var eg=r(1791),ev=r(9955);let ex=!1;class e_{constructor(e){this._renderer=e}init(e){if(e.hello){let e=this._renderer.name;this._renderer.type===W.g.WEBGL&&(e+=` ${this._renderer.context.webGLVersion}`),function(e){if(!ex){if(eg.z.get().getNavigator().userAgent.toLowerCase().indexOf("chrome")>-1){let t=[`%c %c %c %c %c PixiJS %c v${ev.q4} (${e}) http://www.pixijs.com/ 176 177`,"background: #E72264; padding:5px 0;","background: #6CA2EA; padding:5px 0;","background: #B5D33D; padding:5px 0;","background: #FED23F; padding:5px 0;","color: #FFFFFF; background: #E72264; padding:5px 0;","color: #E72264; background: #FFFFFF; padding:5px 0;"];globalThis.console.log(...t)}else globalThis.console&&globalThis.console.log(`PixiJS ${ev.q4} - ${e} - http://www.pixijs.com/`);ex=!0}}(e)}}}e_.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem,n.nw.CanvasSystem],name:"hello",priority:-2},e_.defaultOptions={hello:!1};let eb=class e{constructor(e){this._managedRenderables=[],this._renderer=e}init(t){t={...e.defaultOptions,...t},this.maxUnusedTime=t.renderableGCMaxUnusedTime,this._frequency=t.renderableGCFrequency,this.enabled=t.renderableGCActive}get enabled(){return!!this._handler}set enabled(e){this.enabled!==e&&(e?this._handler=this._renderer.scheduler.repeat(()=>this.run(),this._frequency):this._renderer.scheduler.cancel(this._handler))}prerender(){this._now=performance.now()}addRenderable(e,t){this.enabled&&(e._lastUsed=this._now,-1===e._lastInstructionTick&&(this._managedRenderables.push(e),e.once("destroyed",this._removeRenderable,this)),e._lastInstructionTick=t.tick)}run(){let e=performance.now(),t=this._managedRenderables,r=this._renderer.renderPipes,n=0;for(let i=0;i<t.length;i++){let a=t[i];if(null===a){n++;continue}let s=a.renderGroup??a.parentRenderGroup,o=s?.instructionSet?.tick??-1;a._lastInstructionTick!==o&&e-a._lastUsed>this.maxUnusedTime?(a.destroyed||r[a.renderPipeId].destroyRenderable(a),a._lastInstructionTick=-1,n++,a.off("destroyed",this._removeRenderable,this)):t[i-n]=a}t.length=t.length-n}destroy(){this.enabled=!1,this._renderer=null,this._managedRenderables.length=0}_removeRenderable(e){let t=this._managedRenderables.indexOf(e);t>=0&&(e.off("destroyed",this._removeRenderable,this),this._managedRenderables[t]=null)}};eb.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem],name:"renderableGC"},eb.defaultOptions={renderableGCActive:!0,renderableGCMaxUnusedTime:6e4,renderableGCFrequency:3e4};let ey=class e{constructor(e){this._renderer=e,this.count=0,this.checkCount=0}init(t){t={...e.defaultOptions,...t},this.checkCountMax=t.textureGCCheckCountMax,this.maxIdle=t.textureGCAMaxIdle??t.textureGCMaxIdle,this.active=t.textureGCActive}postrender(){this._renderer.renderingToScreen&&(this.count++,this.active&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())))}run(){let e=this._renderer.texture.managedTextures;for(let t=0;t<e.length;t++){let r=e[t];r.autoGarbageCollect&&r.resource&&r._touched>-1&&this.count-r._touched>this.maxIdle&&(r._touched=-1,r.unload())}}destroy(){this._renderer=null}};ey.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem],name:"textureGC"},ey.defaultOptions={textureGCActive:!0,textureGCAMaxIdle:null,textureGCMaxIdle:3600,textureGCCheckCountMax:600};var ek=r(5122),eT=r(1811),ew=r(303);let eM=class e{get autoDensity(){return this.texture.source.autoDensity}set autoDensity(e){this.texture.source.autoDensity=e}get resolution(){return this.texture.source._resolution}set resolution(e){this.texture.source.resize(this.texture.source.width,this.texture.source.height,e)}init(t){(t={...e.defaultOptions,...t}).view&&((0,ek.a1)(ek.PD,"ViewSystem.view has been renamed to ViewSystem.canvas"),t.canvas=t.view),this.screen=new et.A(0,0,t.width,t.height),this.canvas=t.canvas||eg.z.get().createCanvas(),this.antialias=!!t.antialias,this.texture=(0,ew.t)(this.canvas,t),this.renderTarget=new eT.A({colorTextures:[this.texture],depth:!!t.depth,isRoot:!0}),this.texture.source.transparent=t.backgroundAlpha<1,this.resolution=t.resolution}resize(e,t,r){this.texture.source.resize(e,t,r),this.screen.width=this.texture.frame.width,this.screen.height=this.texture.frame.height}destroy(e=!1){("boolean"==typeof e?e:!!e?.removeView)&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}};
177eM.extension={type:[n.nw.WebGLSystem,n.nw.WebGPUSystem,n.nw.CanvasSystem],name:"view",priority:0},eM.defaultOptions={width:800,height:600,autoDensity:!1,antialias:!1};let eS=[Y,ec,e_,eM,v,ey,el,ee,y.C,eb,em],eC=[X,w,b,s,V,q,j,i]},4704:function(e,t,r){r.d(t,{z:function(){return l}});var n=r(5770),i=r(8744),a=r(8583);let s=0;class o{constructor(e){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=e||{},this.enableFullScreen=!1}createTexture(e,t,r){let n=new i.p({...this.textureOptions,width:e,height:t,resolution:1,antialias:r,autoGarbageCollect:!0});return new a.x({source:n,label:`texturePool_${s++}`})}getOptimalTexture(e,t,r=1,i){let a=Math.ceil(e*r-1e-6),s=Math.ceil(t*r-1e-6),o=((a=(0,n.a9)(a))<<17)+((s=(0,n.a9)(s))<<1)+(i?1:0);this._texturePool[o]||(this._texturePool[o]=[]);let l=this._texturePool[o].pop();return l||(l=this.createTexture(a,s,i)),l.source._resolution=r,l.source.width=a/r,l.source.height=s/r,l.source.pixelWidth=a,l.source.pixelHeight=s,l.frame.x=0,l.frame.y=0,l.frame.width=e,l.frame.height=t,l.updateUvs(),this._poolKeyHash[l.uid]=o,l}getSameSizeTexture(e,t=!1){let r=e.source;return this.getOptimalTexture(e.width,e.height,r._resolution,t)}returnTexture(e){let t=this._poolKeyHash[e.uid];this._texturePool[t].push(e)}clear(e){if(e=!1!==e)for(let e in this._texturePool){let t=this._texturePool[e];if(t)for(let e=0;e<t.length;e++)t[e].destroy(!0)}this._texturePool={}}}let l=new o},303:function(e,t,r){r.d(t,{t:function(){return s}});var n=r(5586),i=r(8583);let a=new Map;function s(e,t){if(!a.has(e)){let r=new i.x({source:new n.D({resource:e,...t})}),s=()=>{a.get(e)===r&&a.delete(e)};r.once("destroy",s),r.source.once("destroy",s),a.set(e,r)}return a.get(e)}},6884:function(e,t,r){r.d(t,{V:function(){return n}});function n(e,t,r){let n=(e>>24&255)/255;t[r++]=(255&e)/255*n,t[r++]=(e>>8&255)/255*n,t[r++]=(e>>16&255)/255*n,t[r++]=n}},999:function(e,t,r){r.d(t,{c:function(){return n}});class n{constructor(){this.batcherName="default",this.attributeSize=4,this.indexSize=6,this.packAsQuad=!0,this.roundPixels=0,this._attributeStart=0,this._batcher=null,this._batch=null}get blendMode(){return this.renderable.groupBlendMode}get color(){return this.renderable.groupColorAlpha}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.bounds=null}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.