brs-js 3.1.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/dist.js CHANGED
@@ -1,7 +1,7 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.BRS={}))})(this,function(e){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},r=n({DEFAULT_UUID:()=>o,LATEST_VERSION:()=>14,MAGIC:()=>i,MAX_INT:()=>a}),i=new Uint8Array([66,82,83]),a=2147483647,o=`00000000-0000-0000-0000-000000000000`;function s(e){"@babel/helpers - typeof";return s=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},s(e)}function c(e,t){if(s(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(s(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e){var t=c(e,`string`);return s(t)==`symbol`?t:t+``}function u(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=4,f=0,p=1,m=2;function h(e){let t=e.length;for(;--t>=0;)e[t]=0}var g=0,_=1,v=2,y=29,b=256,x=286,S=30,C=19,w=573,T=15,E=16,D=7,O=256,k=16,A=17,j=18,M=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),ee=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),te=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),ne=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),re=512,ie=Array(288*2);h(ie);var ae=Array(S*2);h(ae);var oe=Array(re);h(oe);var se=Array(256);h(se);var ce=Array(y);h(ce);var le=Array(S);h(le);var ue=class{constructor(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}},de,fe,pe,me=class{constructor(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}},he=e=>e<256?oe[e]:oe[256+(e>>>7)],ge=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},N=(e,t,n)=>{e.bi_valid>E-n?(e.bi_buf|=t<<e.bi_valid&65535,ge(e,e.bi_buf),e.bi_buf=t>>E-e.bi_valid,e.bi_valid+=n-E):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},_e=(e,t,n)=>{N(e,n[t*2],n[t*2+1])},ve=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},ye=e=>{e.bi_valid===16?(ge(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},be=(e,t)=>{let n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=T;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<w;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}},xe=(e,t,n)=>{let r=Array(16),i=0,a,o;for(a=1;a<=T;a++)i=i+n[a-1]<<1,r[a]=i;for(o=0;o<=t;o++){let t=e[o*2+1];t!==0&&(e[o*2]=ve(r[t]++,t))}},Se=()=>{let e,t,n,r,i,a=Array(16);for(n=0,r=0;r<y-1;r++)for(ce[r]=n,e=0;e<1<<M[r];e++)se[n++]=r;for(se[n-1]=r,i=0,r=0;r<16;r++)for(le[r]=i,e=0;e<1<<ee[r];e++)oe[i++]=r;for(i>>=7;r<S;r++)for(le[r]=i<<7,e=0;e<1<<ee[r]-7;e++)oe[256+i++]=r;for(t=0;t<=T;t++)a[t]=0;for(e=0;e<=143;)ie[e*2+1]=8,e++,a[8]++;for(;e<=255;)ie[e*2+1]=9,e++,a[9]++;for(;e<=279;)ie[e*2+1]=7,e++,a[7]++;for(;e<=287;)ie[e*2+1]=8,e++,a[8]++;for(xe(ie,287,a),e=0;e<S;e++)ae[e*2+1]=5,ae[e*2]=ve(e,5);de=new ue(ie,M,257,x,T),fe=new ue(ae,ee,0,S,T),pe=new ue([],te,0,C,D)},Ce=e=>{let t;for(t=0;t<x;t++)e.dyn_ltree[t*2]=0;for(t=0;t<S;t++)e.dyn_dtree[t*2]=0;for(t=0;t<C;t++)e.bl_tree[t*2]=0;e.dyn_ltree[O*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},we=e=>{e.bi_valid>8?ge(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Te=(e,t,n,r)=>{let i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]},Ee=(e,t,n)=>{let r=e.heap[n],i=n<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Te(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Te(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r},De=(e,t,n)=>{let r,i,a=0,o,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+a++]&255,r+=(e.pending_buf[e.sym_buf+a++]&255)<<8,i=e.pending_buf[e.sym_buf+a++],r===0?_e(e,i,t):(o=se[i],_e(e,o+b+1,t),s=M[o],s!==0&&(i-=ce[o],N(e,i,s)),r--,o=he(r),_e(e,o,n),s=ee[o],s!==0&&(r-=le[o],N(e,r,s)));while(a<e.sym_next);_e(e,O,t)},Oe=(e,t)=>{let n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=w,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)Ee(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ee(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,Ee(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],be(e,t),xe(n,c,e.bl_count)},ke=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[A*2]++:e.bl_tree[j*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[k*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))},Ae=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do _e(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(_e(e,A,e.bl_tree),N(e,s-3,3)):(_e(e,j,e.bl_tree),N(e,s-11,7)):(a!==i&&(_e(e,a,e.bl_tree),s--),_e(e,k,e.bl_tree),N(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}},je=e=>{let t;for(ke(e,e.dyn_ltree,e.l_desc.max_code),ke(e,e.dyn_dtree,e.d_desc.max_code),Oe(e,e.bl_desc),t=C-1;t>=3&&e.bl_tree[ne[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},Me=(e,t,n,r)=>{let i;for(N(e,t-257,5),N(e,n-1,5),N(e,r-4,4),i=0;i<r;i++)N(e,e.bl_tree[ne[i]*2+1],3);Ae(e,e.dyn_ltree,t-1),Ae(e,e.dyn_dtree,n-1)},Ne=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return f;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return p;for(n=32;n<b;n++)if(e.dyn_ltree[n*2]!==0)return p;return f},Pe=!1,Fe=e=>{Pe||(Se(),Pe=!0),e.l_desc=new me(e.dyn_ltree,de),e.d_desc=new me(e.dyn_dtree,fe),e.bl_desc=new me(e.bl_tree,pe),e.bi_buf=0,e.bi_valid=0,Ce(e)},Ie=(e,t,n,r)=>{N(e,(g<<1)+ +!!r,3),we(e),ge(e,n),ge(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},Le=e=>{N(e,_<<1,3),_e(e,O,ie),ye(e)},Re=(e,t,n,r)=>{let i,a,o=0;e.level>0?(e.strm.data_type===m&&(e.strm.data_type=Ne(e)),Oe(e,e.l_desc),Oe(e,e.d_desc),o=je(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&t!==-1?Ie(e,t,n,r):e.strategy===d||a===i?(N(e,(_<<1)+ +!!r,3),De(e,ie,ae)):(N(e,(v<<1)+ +!!r,3),Me(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),De(e,e.dyn_ltree,e.dyn_dtree)),Ce(e),r&&we(e)},ze=(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(se[n]+b+1)*2]++,e.dyn_dtree[he(t)*2]++),e.sym_next===e.sym_end),Be=(e,t,n,r)=>{let i=e&65535|0,a=e>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0},Ve=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t})()),P=(e,t,n,r)=>{let i=Ve,a=r+n;e^=-1;for(let n=r;n<a;n++)e=e>>>8^i[(e^t[n])&255];return e^-1},He={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`},Ue=9,We=573,F=3,Ge=258,Ke=262,qe=32,Je=42,Ye=57,Xe=69,Ze=73,Qe=91,$e=103,et=113,tt=666,I=1,nt=2,rt=3,it=4,at=3,ot=(e,t)=>(e.msg=He[t],t),st=e=>e*2-(e>4?9:0),ct=e=>{let t=e.length;for(;--t>=0;)e[t]=0},lt=e=>{let t,n,r,i=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=i?n-i:0;while(--t);t=i,r=t;do n=e.prev[--r],e.prev[r]=n>=i?n-i:0;while(--t)},ut=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,dt=(e,t)=>{let n;if(e.legacy_hash)n=e.ins_h=ut(e,e.ins_h,e.window[t+F-1]);else{let r=e.window,i=r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24;n=e.ins_h=Math.imul(i,66521)+66521>>>16&e.hash_mask}let r=e.prev[t&e.w_mask]=e.head[n];return e.head[n]=t,r},L=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},R=(e,t)=>{Re(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,L(e.strm)},z=(e,t)=>{e.pending_buf[e.pending++]=t},ft=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},pt=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=Be(e.adler,t,i,n):e.state.wrap===2&&(e.adler=P(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},mt=(e,t)=>{let n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-Ke?e.strstart-(e.w_size-Ke):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+Ge,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=Ge-(f-r),r=f-Ge,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead},ht=e=>{let t=e.w_size,n,r,i;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ke)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),lt(e),r+=t),e.strm.avail_in===0)break;if(n=pt(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,!e.legacy_hash){if(e.lookahead+e.insert>F)for(i=e.strstart-e.insert;e.insert&&(dt(e,i),i++,e.insert--,!(e.lookahead+e.insert<=F)););}else if(e.lookahead+e.insert>=F)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=ut(e,e.ins_h,e.window[i+1]);e.insert&&(dt(e,i),i++,e.insert--,!(e.lookahead+e.insert<F)););}while(e.lookahead<Ke&&e.strm.avail_in!==0)},gt=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,i,a,o=0,s=e.strm.avail_in;do{if(r=65535,a=e.bi_valid+42>>3,e.strm.avail_out<a||(a=e.strm.avail_out-a,i=e.strstart-e.block_start,r>i+e.strm.avail_in&&(r=i+e.strm.avail_in),r>a&&(r=a),r<n&&(r===0&&t!==4||t===0||r!==i+e.strm.avail_in)))break;o=+(t===4&&r===i+e.strm.avail_in),Ie(e,0,0,o),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,L(e.strm),i&&(i>r&&(i=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,r-=i),r&&(pt(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(o===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),o?it:t!==0&&t!==4&&e.strm.avail_in===0&&e.strstart===e.block_start?nt:(a=e.window_size-e.strstart,e.strm.avail_in>a&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,a+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),a>e.strm.avail_in&&(a=e.strm.avail_in),a&&(pt(e.strm,e.window,e.strstart,a),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.high_water<e.strstart&&(e.high_water=e.strstart),a=e.bi_valid+42>>3,a=e.pending_buf_size-a>65535?65535:e.pending_buf_size-a,n=a>e.w_size?e.w_size:a,i=e.strstart-e.block_start,(i>=n||(i||t===4)&&t!==0&&e.strm.avail_in===0&&i<=a)&&(r=i>a?a:i,o=+(t===4&&e.strm.avail_in===0&&r===i),Ie(e,e.block_start,r,o),e.block_start+=r,L(e.strm)),o?rt:I)},_t=(e,t)=>{let n,r;for(;;){if(e.lookahead<Ke){if(ht(e),e.lookahead<Ke&&t===0)return I;if(e.lookahead===0)break}if(n=0,e.lookahead>=F&&(n=dt(e,e.strstart)),n!==0&&e.strstart-n<=e.w_size-Ke&&(e.match_length=mt(e,n)),e.match_length>=F)if(r=ze(e,e.strstart-e.match_start,e.match_length-F),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=F){e.match_length--;do e.strstart++,n=dt(e,e.strstart);while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.legacy_hash&&(e.ins_h=e.window[e.strstart],e.ins_h=ut(e,e.ins_h,e.window[e.strstart+1]));else r=ze(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(R(e,!1),e.strm.avail_out===0))return I}return e.insert=e.strstart<F-1?e.strstart:F-1,t===4?(R(e,!0),e.strm.avail_out===0?rt:it):e.sym_next&&(R(e,!1),e.strm.avail_out===0)?I:nt},vt=(e,t)=>{let n,r,i;for(;;){if(e.lookahead<Ke){if(ht(e),e.lookahead<Ke&&t===0)return I;if(e.lookahead===0)break}if(n=0,e.lookahead>=F&&(n=dt(e,e.strstart)),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=F-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Ke&&(e.match_length=mt(e,n),e.match_length<=5&&(e.strategy===1||e.match_length===F&&e.strstart-e.match_start>4096)&&(e.match_length=F-1)),e.prev_length>=F&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-F,r=ze(e,e.strstart-1-e.prev_match,e.prev_length-F),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(n=dt(e,e.strstart));while(--e.prev_length!==0);if(e.match_available=0,e.match_length=F-1,e.strstart++,r&&(R(e,!1),e.strm.avail_out===0))return I}else if(e.match_available){if(r=ze(e,0,e.window[e.strstart-1]),r&&R(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return I}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=ze(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<F-1?e.strstart:F-1,t===4?(R(e,!0),e.strm.avail_out===0?rt:it):e.sym_next&&(R(e,!1),e.strm.avail_out===0)?I:nt},yt=(e,t)=>{let n,r,i,a,o=e.window;for(;;){if(e.lookahead<=Ge){if(ht(e),e.lookahead<=Ge&&t===0)return I;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=F&&e.strstart>0&&(i=e.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){a=e.strstart+Ge;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&i<a);e.match_length=Ge-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=F?(n=ze(e,1,e.match_length-F),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=ze(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(R(e,!1),e.strm.avail_out===0))return I}return e.insert=0,t===4?(R(e,!0),e.strm.avail_out===0?rt:it):e.sym_next&&(R(e,!1),e.strm.avail_out===0)?I:nt},bt=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(ht(e),e.lookahead===0)){if(t===0)return I;break}if(e.match_length=0,n=ze(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(R(e,!1),e.strm.avail_out===0))return I}return e.insert=0,t===4?(R(e,!0),e.strm.avail_out===0?rt:it):e.sym_next&&(R(e,!1),e.strm.avail_out===0)?I:nt},xt=class{constructor(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}},St=[new xt(0,0,0,0,gt),new xt(4,4,8,4,_t),new xt(4,5,16,8,_t),new xt(4,6,32,32,_t),new xt(4,4,16,16,vt),new xt(8,16,32,32,vt),new xt(8,16,128,128,vt),new xt(8,32,128,256,vt),new xt(32,128,258,1024,vt),new xt(32,258,258,4096,vt)],Ct=e=>{e.window_size=2*e.w_size,ct(e.head),e.max_lazy_match=St[e.level].max_lazy,e.good_match=St[e.level].good_length,e.nice_match=St[e.level].nice_length,e.max_chain_length=St[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=F-1,e.match_available=0,e.ins_h=0},wt=class{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.legacy_hash=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(We*2),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ct(this.dyn_ltree),ct(this.dyn_dtree),ct(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ct(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ct(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}},Tt=e=>{if(!e)return 1;let t=e.state;return+(!t||t.strm!==e||t.status!==Je&&t.status!==Ye&&t.status!==Xe&&t.status!==Ze&&t.status!==Qe&&t.status!==$e&&t.status!==et&&t.status!==tt)},Et=e=>{if(Tt(e))return ot(e,-2);e.total_in=e.total_out=0,e.data_type=2;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Ye:t.wrap?Je:et,e.adler=t.wrap===2?0:1,t.last_flush=-2,Fe(t),0},Dt=e=>{let t=Et(e);return t===0&&Ct(e.state),t},Ot=(e,t,n,r,i,a,o)=>{if(!e)return-2;let s=1;if(t===-1&&(t=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>Ue||n!==8||r<8||r>15||t<0||t>9||a<0||a>4||r===8&&s!==1)return ot(e,-2);r===8&&(r=9);let c=new wt;return e.state=c,c.strm=e,c.status=Je,c.wrap=s,c.gzhead=null,c.w_bits=r,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.legacy_hash=+!!o,c.hash_bits=i+7,!c.legacy_hash&&c.hash_bits<15&&(c.hash_bits=15),c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+F-1)/F),c.window=new Uint8Array(c.w_size*2),c.head=new Uint16Array(c.hash_size),c.prev=new Uint16Array(c.w_size),c.lit_bufsize=1<<i+6,c.pending_buf_size=c.lit_bufsize*4,c.pending_buf=new Uint8Array(c.pending_buf_size),c.sym_buf=c.lit_bufsize,c.sym_end=(c.lit_bufsize-1)*3,c.level=t,c.strategy=a,c.method=n,Dt(e)},kt=(e,t)=>{if(Tt(e)||t>5||t<0)return e?ot(e,-2):-2;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===tt&&t!==4)return ot(e,e.avail_out===0?-5:-2);let r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(L(e),e.avail_out===0)return n.last_flush=-1,0}else if(e.avail_in===0&&st(t)<=st(r)&&t!==4)return ot(e,-5);if(n.status===tt&&e.avail_in!==0)return ot(e,-5);if(n.status===Je&&n.wrap===0&&(n.status=et),n.status===Je){let t=8+(n.w_bits-8<<4)<<8,r=-1;if(r=n.strategy>=2||n.level<2?0:n.level<6?1:n.level===6?2:3,t|=r<<6,n.strstart!==0&&(t|=qe),t+=31-t%31,ft(n,t),n.strstart!==0&&(ft(n,e.adler>>>16),ft(n,e.adler&65535)),e.adler=1,n.status=et,L(e),n.pending!==0)return n.last_flush=-1,0}if(n.status===Ye){if(e.adler=0,z(n,31),z(n,139),z(n,8),n.gzhead)z(n,+!!n.gzhead.text+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),z(n,n.gzhead.time&255),z(n,n.gzhead.time>>8&255),z(n,n.gzhead.time>>16&255),z(n,n.gzhead.time>>24&255),z(n,n.level===9?2:n.strategy>=2||n.level<2?4:0),z(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(z(n,n.gzhead.extra.length&255),z(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=P(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Xe;else if(z(n,0),z(n,0),z(n,0),z(n,0),z(n,0),z(n,n.level===9?2:n.strategy>=2||n.level<2?4:0),z(n,at),n.status=et,L(e),n.pending!==0)return n.last_flush=-1,0}if(n.status===Xe){if(n.gzhead.extra){let t=n.pending,r=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+r>n.pending_buf_size;){let i=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+i),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=i,L(e),n.pending!==0)return n.last_flush=-1,0;t=0,r-=i}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+r),n.pending),n.pending+=r,n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=Ze}if(n.status===Ze){if(n.gzhead.name){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),L(e),n.pending!==0)return n.last_flush=-1,0;t=0}r=n.gzindex<n.gzhead.name.length?n.gzhead.name.charCodeAt(n.gzindex++)&255:0,z(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=Qe}if(n.status===Qe){if(n.gzhead.comment){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),L(e),n.pending!==0)return n.last_flush=-1,0;t=0}r=n.gzindex<n.gzhead.comment.length?n.gzhead.comment.charCodeAt(n.gzindex++)&255:0,z(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t))}n.status=$e}if(n.status===$e){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(L(e),n.pending!==0))return n.last_flush=-1,0;z(n,e.adler&255),z(n,e.adler>>8&255),e.adler=0}if(n.status=et,L(e),n.pending!==0)return n.last_flush=-1,0}if(e.avail_in!==0||n.lookahead!==0||t!==0&&n.status!==tt){let r=n.level===0?gt(n,t):n.strategy===2?bt(n,t):n.strategy===3?yt(n,t):St[n.level].func(n,t);if((r===rt||r===it)&&(n.status=tt),r===I||r===rt)return e.avail_out===0&&(n.last_flush=-1),0;if(r===nt&&(t===1?Le(n):t!==5&&(Ie(n,0,0,!1),t===3&&(ct(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),L(e),e.avail_out===0))return n.last_flush=-1,0}return t===4?n.wrap<=0?1:(n.wrap===2?(z(n,e.adler&255),z(n,e.adler>>8&255),z(n,e.adler>>16&255),z(n,e.adler>>24&255),z(n,e.total_in&255),z(n,e.total_in>>8&255),z(n,e.total_in>>16&255),z(n,e.total_in>>24&255)):(ft(n,e.adler>>>16),ft(n,e.adler&65535)),L(e),n.wrap>0&&(n.wrap=-n.wrap),+(n.pending===0)):0},At=e=>{if(Tt(e))return-2;let t=e.state.status;return e.state=null,t===et?ot(e,-3):0},jt=(e,t)=>{let n=t.length;if(Tt(e))return-2;let r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==Je||r.lookahead)return-2;if(i===1&&(e.adler=Be(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(ct(r.head),r.strstart=0,r.block_start=0,r.insert=0);let e=new Uint8Array(r.w_size);e.set(t.subarray(n-r.w_size,n),0),t=e,n=r.w_size}let a=e.avail_in,o=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,ht(r);r.lookahead>=F;){let e=r.strstart,t=r.lookahead-(F-1);do dt(r,e),e++;while(--t);r.strstart=e,r.lookahead=F-1,ht(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=F-1,r.match_available=0,e.next_in=o,e.input=s,e.avail_in=a,r.wrap=i,0},Mt=16209,Nt=16191;function Pt(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E=e.state;n=e.next_in,w=e.input,r=n+(e.avail_in-5),i=e.next_out,T=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=E.dmax,c=E.wsize,l=E.whave,u=E.wnext,d=E.window,f=E.hold,p=E.bits,m=E.lencode,h=E.distcode,g=(1<<E.lenbits)-1,_=(1<<E.distbits)-1;top:do{p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=m[f&g];dolen:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y===0)T[i++]=v&65535;else if(y&16){b=v&65535,y&=15,y&&(p<y&&(f+=w[n++]<<p,p+=8),b+=f&(1<<y)-1,f>>>=y,p-=y),p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=h[f&_];dodist:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y&16){if(x=v&65535,y&=15,p<y&&(f+=w[n++]<<p,p+=8,p<y&&(f+=w[n++]<<p,p+=8)),x+=f&(1<<y)-1,x>s){e.msg=`invalid distance too far back`,E.mode=Mt;break top}if(f>>>=y,p-=y,y=i-a,x>y){if(y=x-y,y>l&&E.sane){e.msg=`invalid distance too far back`,E.mode=Mt;break top}if(S=0,C=d,u===0){if(S+=c-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}else if(u<y){if(S+=c+u-y,y-=u,y<b){b-=y;do T[i++]=d[S++];while(--y);if(S=0,u<b){y=u,b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}}else if(S+=u-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}for(;b>2;)T[i++]=C[S++],T[i++]=C[S++],T[i++]=C[S++],b-=3;b&&(T[i++]=C[S++],b>1&&(T[i++]=C[S++]))}else{S=i-x;do T[i++]=T[S++],T[i++]=T[S++],T[i++]=T[S++],b-=3;while(b>2);b&&(T[i++]=T[S++],b>1&&(T[i++]=T[S++]))}}else if(y&64){e.msg=`invalid distance code`,E.mode=Mt;break top}else{v=h[(v&65535)+(f&(1<<y)-1)];continue dodist}break}}else if(!(y&64)){v=m[(v&65535)+(f&(1<<y)-1)];continue dolen}else if(y&32){E.mode=Nt;break top}else{e.msg=`invalid literal/length code`,E.mode=Mt;break top}break}}while(n<r&&i<o);b=p>>3,n-=b,p-=b<<3,f&=(1<<p)-1,e.next_in=n,e.next_out=i,e.avail_in=n<r?5+(r-n):5-(n-r),e.avail_out=i<o?257+(o-i):257-(i-o),E.hold=f,E.bits=p}var Ft=15,It=852,Lt=592,Rt=0,zt=1,Bt=2,Vt=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Ht=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,199,75]),Ut=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Wt=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Gt=(e,t,n,r,i,a,o,s)=>{let c=s.bits,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y,b,x,S,C,w=null,T,E=new Uint16Array(16),D=new Uint16Array(16),O=null,k,A,j;for(l=0;l<=Ft;l++)E[l]=0;for(u=0;u<r;u++)E[t[n+u]]++;for(p=c,f=Ft;f>=1&&E[f]===0;f--);if(p>f&&(p=f),f===0)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(d=1;d<f&&E[d]===0;d++);for(p<d&&(p=d),g=1,l=1;l<=Ft;l++)if(g<<=1,g-=E[l],g<0)return-1;if(g>0&&(e===Rt||f!==1))return-1;for(D[1]=0,l=1;l<Ft;l++)D[l+1]=D[l]+E[l];for(u=0;u<r;u++)t[n+u]!==0&&(o[D[t[n+u]]++]=u);if(e===Rt?(w=O=o,T=20):e===zt?(w=Vt,O=Ht,T=257):(w=Ut,O=Wt,T=0),v=0,u=0,l=d,C=a,m=p,h=0,x=-1,_=1<<p,S=_-1,e===zt&&_>It||e===Bt&&_>Lt)return 1;for(;;){k=l-h,o[u]+1<T?(A=0,j=o[u]):o[u]>=T?(A=O[o[u]-T],j=w[o[u]-T]):(A=96,j=0),y=1<<l-h,b=1<<m,d=b;do b-=y,i[C+(v>>h)+b]=k<<24|A<<16|j|0;while(b!==0);for(y=1<<l-1;v&y;)y>>=1;if(y===0?v=0:(v&=y-1,v+=y),u++,--E[l]===0){if(l===f)break;l=t[n+o[u]]}if(l>p&&(v&S)!==x){for(h===0&&(h=p),C+=d,m=l-h,g=1<<m;m+h<f&&(g-=E[m+h],!(g<=0));)m++,g<<=1;if(_+=1<<m,e===zt&&_>It||e===Bt&&_>Lt)return 1;x=v&S,i[x]=p<<24|m<<16|C-a|0}}return v!==0&&(i[C+v]=l-h<<24|4194304),s.bits=p,0},Kt=0,qt=1,Jt=2,Yt=16180,Xt=16181,Zt=16182,Qt=16183,$t=16184,en=16185,tn=16186,nn=16187,rn=16188,an=16189,on=16190,sn=16191,cn=16192,ln=16193,un=16194,dn=16195,fn=16196,pn=16197,mn=16198,hn=16199,gn=16200,_n=16201,vn=16202,yn=16203,bn=16204,xn=16205,Sn=16206,Cn=16207,wn=16208,B=16209,Tn=16210,En=16211,Dn=852,On=592,kn=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24),An=class{constructor(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}},jn=e=>{if(!e)return 1;let t=e.state;return+(!t||t.strm!==e||t.mode<Yt||t.mode>En)},Mn=e=>{if(jn(e))return-2;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=t.wrap&1),t.mode=Yt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(Dn),t.distcode=t.distdyn=new Int32Array(On),t.sane=1,t.back=-1,0},Nn=e=>{if(jn(e))return-2;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Mn(e)},Pn=(e,t)=>{let n;if(jn(e))return-2;let r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?-2:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Nn(e))},Fn=(e,t)=>{if(!e)return-2;let n=new An;e.state=n,n.strm=e,n.window=null,n.mode=Yt;let r=Pn(e,t);return r!==0&&(e.state=null),r},In=!0,Ln,Rn,zn=e=>{if(In){Ln=new Int32Array(512),Rn=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Gt(qt,e.lens,0,288,Ln,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Gt(Jt,e.lens,0,32,Rn,0,e.work,{bits:5}),In=!1}e.lencode=Ln,e.lenbits=9,e.distcode=Rn,e.distbits=5},Bn=(e,t,n,r)=>{let i,a=e.state;return a.window===null&&(a.window=new Uint8Array(1<<a.wbits)),a.wsize===0&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0),r>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),r-=i,r?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0},Vn=(e,t)=>{let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g=0,_,v,y,b,x,S,C,w,T=new Uint8Array(4),E,D,O=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(jn(e)||!e.output||!e.input&&e.avail_in!==0)return-2;n=e.state,n.mode===sn&&(n.mode=cn),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,d=s,f=c,w=0;inf_leave:for(;;)switch(n.mode){case Yt:if(n.wrap===0){n.mode=cn;break}for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&2&&l===35615){n.wbits===0&&(n.wbits=15),n.check=0,T[0]=l&255,T[1]=l>>>8&255,n.check=P(n.check,T,2,0),l=0,u=0,n.mode=Xt;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg=`incorrect header check`,n.mode=B;break}if((l&15)!=8){e.msg=`unknown compression method`,n.mode=B;break}if(l>>>=4,u-=4,C=(l&15)+8,n.wbits===0&&(n.wbits=C),C>15||C>n.wbits){e.msg=`invalid window size`,n.mode=B;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=l&512?an:sn,l=0,u=0;break;case Xt:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.flags=l,(n.flags&255)!=8){e.msg=`unknown compression method`,n.mode=B;break}if(n.flags&57344){e.msg=`unknown header flags set`,n.mode=B;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=P(n.check,T,2,0)),l=0,u=0,n.mode=Zt;case Zt:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.time=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,T[2]=l>>>16&255,T[3]=l>>>24&255,n.check=P(n.check,T,4,0)),l=0,u=0,n.mode=Qt;case Qt:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=P(n.check,T,2,0)),l=0,u=0,n.mode=$t;case $t:if(n.flags&1024){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=P(n.check,T,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=en;case en:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(C=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+p),C)),n.flags&512&&n.wrap&4&&(n.check=P(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break inf_leave;n.length=0,n.mode=tn;case tn:if(n.flags&2048){if(s===0)break inf_leave;p=0;do C=r[a+p++],n.head&&C&&n.length<65536&&(n.head.name+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=P(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.name=null);n.length=0,n.mode=nn;case nn:if(n.flags&4096){if(s===0)break inf_leave;p=0;do C=r[a+p++],n.head&&C&&n.length<65536&&(n.head.comment+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=P(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.comment=null);n.mode=rn;case rn:if(n.flags&512){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.check&65535)){e.msg=`header crc mismatch`,n.mode=B;break}l=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=sn;break;case an:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}e.adler=n.check=kn(l),l=0,u=0,n.mode=on;case on:if(n.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,2;e.adler=n.check=1,n.mode=sn;case sn:if(t===5||t===6)break inf_leave;case cn:if(n.last){l>>>=u&7,u-=u&7,n.mode=Sn;break}for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}switch(n.last=l&1,l>>>=1,--u,l&3){case 0:n.mode=ln;break;case 1:if(zn(n),n.mode=hn,t===6){l>>>=2,u-=2;break inf_leave}break;case 2:n.mode=fn;break;case 3:e.msg=`invalid block type`,n.mode=B}l>>>=2,u-=2;break;case ln:for(l>>>=u&7,u-=u&7;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if((l&65535)!=(l>>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=B;break}if(n.length=l&65535,l=0,u=0,n.mode=un,t===6)break inf_leave;case un:n.mode=dn;case dn:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break inf_leave;i.set(r.subarray(a,a+p),o),s-=p,a+=p,c-=p,o+=p,n.length-=p;break}n.mode=sn;break;case fn:for(;u<14;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.nlen=(l&31)+257,l>>>=5,u-=5,n.ndist=(l&31)+1,l>>>=5,u-=5,n.ncode=(l&15)+4,l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg=`too many length or distance symbols`,n.mode=B;break}n.have=0,n.mode=pn;case pn:for(;n.have<n.ncode;){for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.lens[O[n.have++]]=l&7,l>>>=3,u-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},w=Gt(Kt,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid code lengths set`,n.mode=B;break}n.have=0,n.mode=mn;case mn:for(;n.have<n.nlen+n.ndist;){for(;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(y<16)l>>>=_,u-=_,n.lens[n.have++]=y;else{if(y===16){for(D=_+2;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(l>>>=_,u-=_,n.have===0){e.msg=`invalid bit length repeat`,n.mode=B;break}C=n.lens[n.have-1],p=3+(l&3),l>>>=2,u-=2}else if(y===17){for(D=_+3;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=3+(l&7),l>>>=3,u-=3}else{for(D=_+7;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=11+(l&127),l>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=B;break}for(;p--;)n.lens[n.have++]=C}}if(n.mode===B)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=B;break}if(n.lenbits=9,E={bits:n.lenbits},w=Gt(qt,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid literal/lengths set`,n.mode=B;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},w=Gt(Jt,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,w){e.msg=`invalid distances set`,n.mode=B;break}if(n.mode=hn,t===6)break inf_leave;case hn:n.mode=gn;case gn:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,Pt(e,f),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,n.mode===sn&&(n.back=-1);break}for(n.back=0;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(v&&!(v&240)){for(b=_,x=v,S=y;g=n.lencode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,n.length=y,v===0){n.mode=xn;break}if(v&32){n.back=-1,n.mode=sn;break}if(v&64){e.msg=`invalid literal/length code`,n.mode=B;break}n.extra=v&15,n.mode=_n;case _n:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=vn;case vn:for(;g=n.distcode[l&(1<<n.distbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(!(v&240)){for(b=_,x=v,S=y;g=n.distcode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,v&64){e.msg=`invalid distance code`,n.mode=B;break}n.offset=y,n.extra=v&15,n.mode=yn;case yn:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=B;break}n.mode=bn;case bn:if(c===0)break inf_leave;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=B;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=i,m=o-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do i[o++]=h[m++];while(--p);n.length===0&&(n.mode=gn);break;case xn:if(c===0)break inf_leave;i[o++]=n.length,c--,n.mode=gn;break;case Sn:if(n.wrap){for(;u<32;){if(s===0)break inf_leave;s--,l|=r[a++]<<u,u+=8}if(f-=c,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?P(n.check,i,f,o-f):Be(n.check,i,f,o-f)),f=c,n.wrap&4&&(n.flags?l:kn(l))!==n.check){e.msg=`incorrect data check`,n.mode=B;break}l=0,u=0}n.mode=Cn;case Cn:if(n.wrap&&n.flags){for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.total&4294967295)){e.msg=`incorrect length check`,n.mode=B;break}l=0,u=0}n.mode=wn;case wn:w=1;break inf_leave;case B:w=-3;break inf_leave;case Tn:return-4;case En:default:return-2}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,(n.wsize||f!==e.avail_out&&n.mode<B&&(n.mode<Sn||t!==4))&&Bn(e,e.output,e.next_out,f-e.avail_out)?(n.mode=Tn,-4):(d-=e.avail_in,f-=e.avail_out,e.total_in+=d,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?P(n.check,i,f,e.next_out-f):Be(n.check,i,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===sn?128:0)+(n.mode===hn||n.mode===un?256:0),(d===0&&f===0||t===4)&&w===0&&(w=-5),w)},Hn=e=>{if(jn(e))return-2;let t=e.state;return t.window&&(t.window=null),e.state=null,0},Un=(e,t)=>{let n=t.length,r,i,a;return jn(e)||(r=e.state,r.wrap!==0&&r.mode!==on)?-2:r.mode===on&&(i=1,i=Be(i,t,n,0),i!==r.check)?-3:(a=Bn(e,t,n,n),a?(r.mode=Tn,-4):(r.havedict=1,0))},Wn=class{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}},Gn=e=>{let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;for(let r of e)t.set(r,n),n+=r.length;return t},Kn=Object.prototype.toString,qn={level:-1,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,raw:!1,gzip:!1,legacyHash:!1,dictionary:new Uint8Array},Jn=class{constructor(e={}){u(this,`options`,void 0),u(this,`err`,void 0),u(this,`msg`,void 0),u(this,`ended`,void 0),u(this,`started`,void 0),u(this,`chunks`,void 0),u(this,`strm`,void 0),u(this,`result`,void 0),this.options=Object.assign({},qn,e);let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.started=!1,this.chunks=[],this.result=new Uint8Array,this.strm=new Wn,this.strm.avail_out=0;let n=Ot(this.strm,t.level,8,t.windowBits,t.memLevel,t.strategy,t.legacyHash);if(n!==0)throw Error(He[n]);Kn.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary));let r=t.dictionary;if(r.length){if(t.gzip)throw Error(`dictionary is not supported with gzip`);if(n=jt(this.strm,r),n!==0)throw Error(He[n])}}push(e,t=!1){let n=this.strm,r=this.options.chunkSize,i,a;if(this.ended)return!1;for(a=typeof t==`number`?t:t===!0?4:0,typeof e==`string`?n.input=new TextEncoder().encode(e):Kn.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length,this.started||(this.started=!0,this.onStart(n));;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===2||a===3)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=kt(n,a),i===1){n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=At(this.strm);break}if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)return!0}return this.err=i,this.msg=n.msg||He[i],this.ended=!0,this.onEnd(i),i===0}onStart(e){}onData(e){this.chunks.push(e)}onEnd(e){e===0&&(this.result=Gn(this.chunks)),this.chunks=[]}};function Yn(e,t={}){let n=new Jn(t);if(n.push(e,!0),n.err)throw Error(n.msg);return n.result}var Xn=Object.prototype.toString,Zn={chunkSize:1024*64,windowBits:15,raw:!1,dictionary:new Uint8Array},Qn=class{constructor(e={}){u(this,`options`,void 0),u(this,`err`,void 0),u(this,`msg`,void 0),u(this,`ended`,void 0),u(this,`started`,void 0),u(this,`chunks`,void 0),u(this,`strm`,void 0),u(this,`result`,void 0),this.options=Object.assign({},Zn,e);let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!e.windowBits&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.started=!1,this.chunks=[],this.result=new Uint8Array,this.strm=new Wn,this.strm.avail_out=0;let n=Fn(this.strm,t.windowBits);if(n!==0)throw Error(He[n]);Xn.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary));let r=t.dictionary;if(t.raw&&r.length&&(n=Un(this.strm,r),n!==0))throw Error(He[n])}push(e,t=!1){let n=this.strm,r=this.options.chunkSize,i,a,o;if(this.ended)return this.err===0;for(a=typeof t==`number`?t:t===!0?4:0,Xn.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length,this.started||(this.started=!0,this.onStart(n));;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),i=Vn(n,a),i===2){let e=this.options.dictionary;e.length&&(i=Un(n,e),i===0?i=Vn(n,a):i===-3&&(i=2))}for(;n.avail_in>0&&i===1&&n.state.wrap&2&&n.state.flags!==0&&n.input[n.next_in]!==0;)Nn(n),i=Vn(n,a);if(i===-2||i===-3||i===2||i===-4)break;if(o=n.avail_out,n.next_out&&(n.avail_out===0||i===1||a>0)&&(this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out)),n.avail_out=0,n.next_out=0),!((i===0||i===-5)&&o===0)){if(i===1){i=Hn(this.strm);break}if(n.avail_in===0){if(a===4){i=Hn(this.strm),i===0&&(i=-5);break}return!0}}}return this.err=i,this.msg=n.msg||He[i],this.ended=!0,this.onEnd(i),i===0}onStart(e){}onData(e){this.chunks.push(e)}onEnd(e){e===0&&(this.result=Gn(this.chunks)),this.chunks=[]}};function $n(e,t={}){let n=new Qn(t);if(n.push(e,!0),n.err)throw Error(n.msg);let r=n.result;return t.toText?new TextDecoder().decode(r):r}var V=Array.from({length:256}).map((e,t)=>(t+256).toString(16).substr(1));function er(e){return(V[e[0]]+V[e[1]]+V[e[2]]+V[e[3]]+`-`+V[e[4]]+V[e[5]]+`-`+V[e[6]]+V[e[7]]+`-`+V[e[8]]+V[e[9]]+`-`+V[e[10]]+V[e[11]]+V[e[12]]+V[e[13]]+V[e[14]]+V[e[15]]).toLowerCase()}function tr(e){let t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=t&255,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=t&255,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=t&255,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=t&255,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=t&255,n}var nr=n({BitReader:()=>xr,BitWriter:()=>Sr,bgra:()=>H,chunk:()=>sr,concat:()=>W,isEqual:()=>ir,read:()=>G,subarray:()=>or,write:()=>K});function rr(e){return/^[\x00-\x7F]*$/.test(e)}var H=([e,t,n,r])=>[n,t,e,r];function ir(e,t){return e.length===t.length&&e.every((e,n)=>t[n]===e)}function ar(e){return e.brsOffset!==void 0}function or(e,t,n=!1){if(!(e instanceof Uint8Array))throw Error(`Invalid data type in bytes reader (${typeof e})`);let r;ar(e)?r=e:(r=e,r.brsOffset=0);let i=r[n?`slice`:`subarray`](r.brsOffset,r.brsOffset+t);return r.brsOffset+=t,i}function sr(e,t){let n=e.length-(ar(e)?e.brsOffset:0),r=Array(Math.floor(n/t));for(let i=0;i<n/t;i++)r[i]=or(e,t,!0);return r}function U(e,t=!0){let[n,r]=or(e,2);return t?r<<8|n:n<<8|r}function cr(e,t=!0){let n=[e&255,e>>8&255];return new Uint8Array(t?n:n.reverse())}function lr(e,t=!0){let[n,r,i,a]=or(e,4);return t?a<<24|i<<16|r<<8|n:n<<24|r<<16|i<<8|a}function ur(e,t=!0){let n=new Uint8Array([e&255,e>>8&255,e>>16&255,e>>24&255]);return t?n:n.reverse()}function dr(e){let t=lr(e),n=lr(e);if(n<0||t<0||n>=t)throw Error(`Invalid compressed section size (comp: ${n}, uncomp: ${t})`);return n===0?or(e,t):$n(or(e,n))}function fr(...e){let t=W(...e);return W(ur(t.length),ur(0),t)}function pr(...e){let t=W(...e),n=Yn(t),r=t.length,i=n.length;if(r>2147483647)throw Error(`uncompressedSize (${r}) out of range`);if(i>2147483647)throw Error(`compressedSize (${i}) out of range`);let a=i>=r;return W(ur(r),ur(a?0:i),a?t:n)}function mr(e){let t=lr(e),n=t<0,r=n?-t*2:t;if(n){if(r%2!=0)throw Error(`Invalid UCS-2 data size`);return String.fromCodePoint(...sr(or(e,r),2).map(e=>U(e)))}else{let t=or(e,r).subarray(0,-1);return String.fromCharCode.apply(null,t)}}function hr(e){return rr(e)?W(ur(e.length+1),new Uint8Array(e.split(``).map(e=>e.charCodeAt(0))),new Uint8Array([0])):W(ur(-e.length),new Uint8Array(e.split(``).flatMap(e=>[e.charCodeAt(0)&255,e.charCodeAt(0)>>8])))}function gr(e){return er(sr(or(e,16),4).flatMap(([e,t,n,r])=>[r,n,t,e]))}function _r(e){return W(...sr(tr(e),4).map(([e,t,n,r])=>new Uint8Array([r,n,t,e])))}function vr(e,t){let n=lr(e),r=Array(n);for(let i=0;i<n;i++)r[i]=t(e);return r}function yr(e,t){let n=lr(e);for(let r=0;r<n;r++)t(e)}function br(e,t){return W(ur(e.length),...e.map(e=>t(e)))}var xr=class{constructor(e){this.pos=0,this.buffer=e}empty(){return this.pos>=this.buffer.length*8}bit(){let e=(this.buffer[this.pos>>3]&1<<(this.pos&7))!=0;return this.pos++,e}align(){this.pos=this.pos+7&-8}int(e){let t=0,n=1;for(;t+n<e&&n!==0;)this.bit()&&(t|=n),n<<=1;return t}uint_packed(){let e=0;for(let t=0;t<5;t++){let n=this.bit(),r=0;for(let e=0;e<7;e++)r|=+!!this.bit()<<e;if(e|=r<<7*t,!n)break}return e}int_packed(){let e=this.uint_packed();return(e>>1)*(e&1?1:-1)}bits(e){let t=[];for(let n=0;n<e;n++){let e=n&7;t[n>>3]=t[n>>3]&~(1<<e)|+!!this.bit()<<e}return t}bytes(e){return new Uint8Array(this.bytesArr(e))}bytesArr(e){return this.bits(e*8)}array(e){let t=lr(this.bytes(4)),n=Array(t);for(let r=0;r<t;r++)n[r]=e(this);return n}each(e){let t=lr(this.bytes(4));for(let n=0;n<t;n++)e(this)}string(){let e=this.bytesArr(4),t=lr(new Uint8Array(e));return t<0&&(t=-t*2),mr(new Uint8Array(e.concat(this.bytesArr(t))))}float(){let e=new DataView(new ArrayBuffer(4));return e.setUint16(2,U(this.bytes(2))),e.setUint16(0,U(this.bytes(2))),e.getFloat32(0)}integer(){let e=new DataView(new ArrayBuffer(4));return e.setUint16(2,U(this.bytes(2))),e.setUint16(0,U(this.bytes(2))),e.getInt32(0)}int64(){let e=new DataView(new ArrayBuffer(8));e.setUint16(6,U(this.bytes(2))),e.setUint16(4,U(this.bytes(2))),e.setUint16(2,U(this.bytes(2))),e.setUint16(0,U(this.bytes(2)));let t=e.getBigInt64(0);if(t<=1n<<64n)return Number(t);throw Error(`Cannot read 64-bit integer ${t} as a JavaScript number...`)}double(){let e=new DataView(new ArrayBuffer(8));return e.setUint16(6,U(this.bytes(2))),e.setUint16(4,U(this.bytes(2))),e.setUint16(2,U(this.bytes(2))),e.setUint16(0,U(this.bytes(2))),e.getFloat64(0)}wireGraphVariant(){let e=this.bytes(1)[0];switch(e){case 0:return{number:this.double()};case 1:return{integer:this.int64()};case 2:return{bool:this.bytes(1)[0]!==0};case 3:return{exec:!0};case 4:return{object:!0};default:throw Error(`Unknown wire graph variant type ${e}`)}}unreal(e){switch(e){case`String`:case`Class`:case`Object`:return this.string();case`Boolean`:return!!lr(this.bytes(4));case`Integer`:return this.integer();case`Integer64`:return this.int64();case`Float`:return this.float();case`Double`:return this.double();case`Color`:return H(this.bytesArr(4));case`Byte`:return this.bytes(1)[0];case`Rotator`:case`Rotator3d`:return[this.float(),this.float(),this.float()];case`Vector3d`:return[this.float(),this.float(),this.float()];case`IntVector`:return[this.integer(),this.integer(),this.integer()];case`BRInventoryEntryPlan`:return this.string();case`WireGraphVariant`:return this.wireGraphVariant();case`WireGraphPrimMathVariant`:return this.wireGraphVariant()}throw Error(`Unknown unreal type `+e)}},Sr=class{constructor(){this.buffer=[],this.cur=0,this.bitNum=0}bit(e){this.cur|=+!!e<<this.bitNum,this.bitNum++,this.bitNum>=8&&this.align()}bits(e,t){for(let n=0;n<t;n++)this.bit((e[n>>3]&1<<(n&7))!=0)}bytes(e){this.bits(e,8*e.length)}align(){this.bitNum>0&&(this.buffer.push(this.cur),this.cur=0,this.bitNum=0)}int(e,t){if(t<2)throw Error(`Invalid input (BitWriter) -- max (${t}) must be at least 2`);if(e>=t)throw Error(`Invalid input (BitWriter) -- value (${e}) is larger than max (${t})`);let n=0,r=1;for(;n+r<t&&r!==0;)this.bit((e&r)!==0),(e&r)!==0&&(n|=r),r<<=1}uint_packed(e){do{let t=e&127;e>>=7,this.bit(e!==0),this.bits([t],7)}while(e!==0)}int_packed(e){this.uint_packed(Math.abs(e)<<1|e>=0)}finish(){return this.align(),new Uint8Array(this.buffer)}finishSection(){return this.align(),W(ur(this.buffer.length),new Uint8Array(this.buffer))}string(e){this.bytes(hr(e))}float(e){let t=new Float32Array(1);t[0]=e;let n=new Int8Array(t.buffer);this.bytes([n[0],n[1],n[2],n[3]])}integer(e){let t=new Int32Array(1);t[0]=e;let n=new Int8Array(t.buffer);this.bytes([n[0],n[1],n[2],n[3]])}int64(e){let t=new DataView(new ArrayBuffer(8));t.setBigInt64(0,typeof e==`bigint`?e:BigInt(e),!0),this.bytes(new Uint8Array(t.buffer))}double(e){let t=new Float64Array(1);t[0]=e;let n=new Int8Array(t.buffer);this.bytes([n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]])}wireGraphVariant(e){if(`number`in e)this.bytes([0]),this.double(e.number);else if(`integer`in e)this.bytes([1]),this.int64(e.integer);else if(`bool`in e)this.bytes([2,+!!e.bool]);else if(`exec`in e)this.bytes([3]);else if(`object`in e)this.bytes([4]);else throw Error(`Unknown wire graph variant type ${JSON.stringify(e)}`)}self(e){return e.bind(this)(),this}array(e,t){return this.bytes(ur(e.length)),e.forEach(t.bind(this)),this}each(e,t){return e.forEach(t.bind(this)),this}unreal(e,t){switch(e){case`Class`:if(typeof t!=`string`)throw Error(`writing unreal type Class, did not receive string (${t})`);this.string(t);return;case`String`:if(typeof t!=`string`)throw Error(`writing unreal type String, did not receive string (${t})`);this.string(t);return;case`Object`:if(typeof t!=`string`)throw Error(`writing unreal type Object, did not receive string (${t})`);this.string(t);return;case`Boolean`:if(typeof t!=`boolean`)throw Error(`writing unreal type Boolean, did not receive boolean (${t})`);this.bytes(ur(+!!t));return;case`Float`:if(typeof t!=`number`)throw Error(`writing unreal type Float, did not receive float (${t})`);this.float(t);return;case`Byte`:if(typeof t!=`number`)throw Error(`writing unreal type Byte, did not receive Byte (${t})`);this.bytes([t&255]);return;case`Color`:if(!Array.isArray(t)||t.length!==4)throw Error(`writing unreal type Color, did not receive Array (${t})`);this.bytes(H(t));return;case`Rotator`:case`Rotator3d`:if(!Array.isArray(t)||t.length!==3)throw Error(`writing unreal type Rotator, did not receive Array (${t})`);this.float(t[0]),this.float(t[1]),this.float(t[2]);return;case`Vector3d`:if(!Array.isArray(t)||t.length!==3)throw Error(`writing unreal type Vector3d, did not receive Array (${t})`);this.float(t[0]),this.float(t[1]),this.float(t[2]);return;case`IntVector`:if(!Array.isArray(t)||t.length!==3)throw Error(`writing unreal type IntVector, did not receive Array (${t})`);this.integer(t[0]),this.integer(t[1]),this.integer(t[2]);return;case`Integer`:if(typeof t!=`number`)throw Error(`writing unreal type Integer, did not receive integer (${t})`);this.integer(t);return;case`Integer64`:if(typeof t!=`number`)throw Error(`writing unreal type Integer64, did not receive integer (${t})`);this.int64(t);return;case`Double`:if(typeof t!=`number`)throw Error(`writing unreal type Double, did not receive double (${t})`);this.double(t);return;case`WireGraphVariant`:if(typeof t!=`object`)throw Error(`writing unreal type WireGraphVariant, did not receive object (${t})`);this.wireGraphVariant(t);return;case`WireGraphPrimMathVariant`:if(typeof t!=`object`)throw Error(`writing unreal type WireGraphPrimMathVariant, did not receive object (${t})`);this.wireGraphVariant(t);return;case`BRInventoryEntryPlan`:if(typeof t!=`string`)throw Error(`writing unreal type BRInventoryEntryPlan, did not receive string (${t})`);this.string(t);return}throw Error(`Unknown unreal type `+e)}};function W(...e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}var G={bytes:or,u16:U,i32:lr,compressed:dr,string:mr,uuid:gr,array:vr,each:yr,bits:e=>new xr(e)},K={u16:cr,i32:ur,compressed:pr,uncompressed:fr,string:hr,uuid:_r,array:br,bits:()=>new Sr};function Cr(e,t={}){let n=G.compressed(e),r=G.compressed(e),i=G.string(n),a=G.string(n),o=G.string(n),s=G.uuid(n),c=G.i32(n),l=G.array(r,G.string),u=G.array(r,G.string),d=G.array(r,e=>H(Array.from(G.bytes(e,4)))),f=[],p=Math.max(u.length,2);if(t.bricks){f=Array(c);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<c;e++){n.align();let t=n.int(p),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.bit()?H(n.bytesArr(4)):n.int(d.length);f[e]={asset_name_index:t,size:r,collision:c,position:i,direction:o,rotation:s,visibility:l,color:u}}}return{version:1,map:i,description:o,author:{id:s,name:a},mods:l,brick_assets:u,colors:d,bricks:f,brick_count:c}}function wr(e,t={}){let n=G.i32(e),r=G.compressed(e),i=G.compressed(e),a=G.string(r),o=G.string(r),s=G.string(r),c=G.uuid(r),l={name:G.string(r),id:G.uuid(r)},u=G.bytes(r,8),d=G.i32(r),f=G.array(i,G.string),p=G.array(i,G.string),m=G.array(i,e=>H(Array.from(G.bytes(e,4)))),h=G.array(i,G.string),g=G.array(i,e=>({id:G.uuid(e),name:G.string(e),bricks:G.i32(e)})),_=G.array(i,G.string),v=null;if(G.bytes(e,1)[0]){let n=G.i32(e);t.preview?v=G.bytes(e,n):e.brsOffset+=n}let y=[],b={},x=Math.max(_.length,2),S=Math.max(h.length,2),C=Math.max(p.length,2);if(t.bricks){y=Array(d);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<d;e++){n.align();let t=n.int(C),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c={player:n.bit(),weapon:n.bit(),interaction:n.bit(),tool:n.bit(),physics:!1},l=n.bit(),u=n.int(S),d=n.int(x),f=n.int(11),p=n.bit()?n.bytesArr(3):n.int(m.length),h=n.uint_packed();y[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,physical_index:d,material_intensity:f,color:p,owner_index:h,components:{}}}let r=G.compressed(e),i=Math.max(y.length,2);G.each(r,e=>{let t=G.string(e),n=G.bits(G.bytes(e,G.i32(e))),r=G.i32(n.bytes(4)),a=n.array(()=>n.int(i)),o=n.array(()=>[n.string(),n.string()]);for(let e of a){let r={};for(let[e,t]of o)r[e]=n.unreal(t);y[e].components[t]=r}b[t]={version:r,brick_indices:a,properties:Object.fromEntries(o)}})}return{version:10,game_version:n,map:a,description:s,author:{id:c,name:o},host:l,mods:f,brick_assets:p,colors:m,materials:h,brick_owners:g,physical_materials:_,preview:v,bricks:y,brick_count:d,save_time:u,components:b}}function Tr(e,t={}){let n=G.i32(e),r=G.compressed(e),i=G.compressed(e),a=G.string(r),o=G.string(r),s=G.string(r),c=G.uuid(r),l={name:G.string(r),id:G.uuid(r)},u=G.bytes(r,8),d=G.i32(r),f=G.array(i,G.string),p=G.array(i,G.string),m=G.array(i,e=>H(Array.from(G.bytes(e,4)))),h=G.array(i,G.string),g=G.array(i,e=>({id:G.uuid(e),name:G.string(e),display_name:G.string(e),bricks:G.i32(e)})),_=G.array(i,G.string),v=null;if(G.bytes(e,1)[0]){let n=G.i32(e);t.preview?v=G.bytes(e,n):e.brsOffset+=n}let y=[],b={},x=[],S=Math.max(_.length,2),C=Math.max(h.length,2),w=Math.max(p.length,2);if(t.bricks){y=Array(d);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<d;e++){n.align();let t=n.int(w),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c={player:n.bit(),weapon:n.bit(),interaction:n.bit(),tool:n.bit(),physics:n.bit()},l=n.bit(),u=n.int(C),d=n.int(S),f=n.int(11),p=n.bit()?n.bytesArr(3):n.int(m.length),h=n.uint_packed();y[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,physical_index:d,material_intensity:f,color:p,owner_index:h,components:{}}}let r=G.compressed(e),i=G.compressed(e),a=Math.max(y.length,2),o=[];G.each(r,e=>{let t=G.string(e),n=G.bits(G.bytes(e,G.i32(e))),r=G.i32(n.bytes(4)),i=n.array(()=>n.int(a)),s=n.array(()=>[n.string(),n.string()]);for(let e of i){let r={};for(let[e,t]of s)r[e]=n.unreal(t);y[e].components[t]=r}t in b||o.push(t),b[t]={version:r,brick_indices:i,properties:Object.fromEntries(s)}});let s=Math.max(o.length,2);{let e=G.bits(i),t=e.int(4294967295);for(let n=0;n<t;n++){let t=e.int(a),n=e.int(s),r=e.string(),i=e.int(a),c=e.int(s),l=e.string();e.bit(),e.align(),x.push({source:{brick_index:t,component:o[n],port:r},target:{brick_index:i,component:o[c],port:l}})}}}return{version:14,game_version:n,map:a,description:s,author:{id:c,name:o},host:l,mods:f,brick_assets:p,colors:m,materials:h,brick_owners:g,physical_materials:_,preview:v,bricks:y,brick_count:d,save_time:u,components:b,wires:x}}function Er(e,t={}){let n=G.compressed(e),r=G.compressed(e),i=G.string(n),a=G.string(n),o=G.string(n),s=G.uuid(n),c=G.i32(n),l=G.array(r,G.string),u=G.array(r,G.string),d=G.array(r,e=>H(Array.from(G.bytes(e,4)))),f=G.array(r,G.string),p=[],m=Math.max(u.length,2);if(t.bricks){p=Array(c);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<c;e++){n.align();let t=n.int(m),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.bit()?n.uint_packed():1,f=n.bit()?H(n.bytesArr(4)):n.int(d.length);p[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,color:f}}}return{version:2,map:i,description:o,author:{id:s,name:a},mods:l,brick_assets:u,colors:d,materials:f,bricks:p,brick_count:c}}function Dr(e,t={}){let n=G.compressed(e),r=G.compressed(e),i=G.string(n),a=G.string(n),o=G.string(n),s=G.uuid(n),c=G.i32(n),l=G.array(r,G.string),u=G.array(r,G.string),d=G.array(r,e=>H(Array.from(G.bytes(e,4)))),f=G.array(r,G.string),p=G.array(r,e=>({id:G.uuid(e),name:G.string(e)})),m=[],h=Math.max(u.length,2);if(t.bricks){m=Array(c);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<c;e++){n.align();let t=n.int(h),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.bit()?n.uint_packed():1,f=n.bit()?H(n.bytesArr(4)):n.int(d.length),p=n.uint_packed();m[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,color:f,owner_index:p}}}return{version:3,map:i,description:o,author:{id:s,name:a},mods:l,brick_assets:u,colors:d,materials:f,brick_owners:p,bricks:m,brick_count:c}}function Or(e,t={}){let n=G.compressed(e),r=G.compressed(e),i=G.string(n),a=G.string(n),o=G.string(n),s=G.uuid(n),c=G.bytes(n,8),l=G.i32(n),u=G.array(r,G.string),d=G.array(r,G.string),f=G.array(r,e=>H(Array.from(G.bytes(e,4)))),p=G.array(r,G.string),m=G.array(r,e=>({id:G.uuid(e),name:G.string(e)})),h=[],g=Math.max(d.length,2);if(t.bricks){h=Array(l);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<l;e++){n.align();let t=n.int(g),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.bit()?n.uint_packed():1,d=n.bit()?H(n.bytesArr(4)):n.int(f.length),p=n.uint_packed();h[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,color:d,owner_index:p}}}return{version:4,map:i,description:o,author:{id:s,name:a},mods:u,brick_assets:d,colors:f,materials:p,brick_owners:m,bricks:h,brick_count:l,save_time:c}}function kr(e,t={}){let n=G.i32(e),r=G.compressed(e),i=G.compressed(e),a=G.string(r),o=G.string(r),s=G.string(r),c=G.uuid(r),l={name:G.string(r),id:G.uuid(r)},u=G.bytes(r,8),d=G.i32(r),f=G.array(i,G.string),p=G.array(i,G.string),m=G.array(i,e=>H(Array.from(G.bytes(e,4)))),h=G.array(i,G.string),g=G.array(i,e=>({id:G.uuid(e),name:G.string(e),bricks:G.i32(e)})),_=null;if(G.bytes(e,1)[0]){let n=G.i32(e);t.preview?_=G.bytes(e,n):e.brsOffset+=n}let v=[],y={},b=Math.max(h.length,2),x=Math.max(p.length,2);if(t.bricks){v=Array(d);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<d;e++){n.align();let t=n.int(x),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.int(b),d=n.bit()?H(n.bytesArr(4)):n.int(m.length),f=n.uint_packed();v[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,color:d,owner_index:f,components:{}}}let r=G.compressed(e),i=Math.max(v.length,2);G.each(r,e=>{let t=G.string(e),n=G.bits(G.bytes(e,G.i32(e))),r=G.i32(n.bytes(4)),a=n.array(()=>n.int(i)),o=n.array(()=>[n.string(),n.string()]);for(let e of a){let r={};for(let[e,t]of o)r[e]=n.unreal(t);v[e].components[t]=r}y[t]={version:r,brick_indices:a,properties:Object.fromEntries(o)}})}return{version:8,game_version:n,map:a,description:s,author:{id:c,name:o},host:l,mods:f,brick_assets:p,colors:m,materials:h,brick_owners:g,preview:_,bricks:v,brick_count:d,save_time:u,components:y}}function Ar(e,t={}){let n=G.i32(e),r=G.compressed(e),i=G.compressed(e),a=G.string(r),o=G.string(r),s=G.string(r),c=G.uuid(r),l={name:G.string(r),id:G.uuid(r)},u=G.bytes(r,8),d=G.i32(r),f=G.array(i,G.string),p=G.array(i,G.string),m=G.array(i,e=>H(Array.from(G.bytes(e,4)))),h=G.array(i,G.string),g=G.array(i,e=>({id:G.uuid(e),name:G.string(e),bricks:G.i32(e)})),_=G.array(i,G.string),v=null;if(G.bytes(e,1)[0]){let n=G.i32(e);t.preview?v=G.bytes(e,n):e.brsOffset+=n}let y=[],b={},x=Math.max(_.length,2),S=Math.max(h.length,2),C=Math.max(p.length,2);if(t.bricks){y=Array(d);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<d;e++){n.align();let t=n.int(C),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.int(S),d=n.int(x),f=n.int(11),p=n.bit()?n.bytesArr(3):n.int(m.length),h=n.uint_packed();y[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,physical_index:d,material_intensity:f,color:p,owner_index:h,components:{}}}let r=G.compressed(e),i=Math.max(y.length,2);G.each(r,e=>{let t=G.string(e),n=G.bits(G.bytes(e,G.i32(e))),r=G.i32(n.bytes(4)),a=n.array(()=>n.int(i)),o=n.array(()=>[n.string(),n.string()]);for(let e of a){let r={};for(let[e,t]of o)r[e]=n.unreal(t);y[e].components[t]=r}b[t]={version:r,brick_indices:a,properties:Object.fromEntries(o)}})}return{version:9,game_version:n,map:a,description:s,author:{id:c,name:o},host:l,mods:f,brick_assets:p,colors:m,materials:h,brick_owners:g,physical_materials:_,preview:v,bricks:y,brick_count:d,save_time:u,components:b}}function jr(e,t={}){if(typeof t!=`object`)throw Error(`Invalid options`);if(typeof t.bricks!=`boolean`&&(t.bricks=!0),typeof t.preview!=`boolean`&&(t.preview=!1),e[0]!==i[0]||e[1]!==i[1]||e[2]!==i[2])throw Error(`Invalid starting bytes`);let n=e;n.brsOffset=3;let r=G.u16(n);switch(r){case 1:return Cr(n,t);case 2:return Er(n,t);case 3:return Dr(n,t);case 4:return Or(n,t);case 8:return kr(n,t);case 9:return Ar(n,t);case 10:return wr(n,t);case 14:return Tr(n,t);default:throw Error(`Unsupported version `+r)}}var Mr=new Uint8Array([]),Nr={BCD_SpotLight:{version:1,properties:{Rotation:`Rotator`,InnerConeAngle:`Float`,OuterConeAngle:`Float`,Brightness:`Float`,Radius:`Float`,Color:`Color`,bUseBrickColor:`Boolean`,bCastShadows:`Boolean`}},BCD_PointLight:{version:1,properties:{bMatchBrickShape:`Boolean`,Brightness:`Float`,Radius:`Float`,Color:`Color`,bUseBrickColor:`Boolean`,bCastShadows:`Boolean`}},BCD_ItemSpawn:{version:1,properties:{PickupClass:`Class`,bPickupEnabled:`Boolean`,bPickupRespawnOnMinigameReset:`Boolean`,PickupMinigameResetRespawnDelay:`Float`,bPickupAutoDisableOnPickup:`Boolean`,PickupRespawnTime:`Float`,PickupOffsetDirection:`Byte`,PickupOffsetDistance:`Float`,PickupRotation:`Rotator`,PickupScale:`Float`,bPickupAnimationEnabled:`Boolean`,PickupAnimationAxis:`Byte`,bPickupAnimationAxisLocal:`Boolean`,PickupSpinSpeed:`Float`,PickupBobSpeed:`Float`,PickupBobHeight:`Float`,PickupAnimationPhase:`Float`}},BCD_Interact:{version:1,properties:{bPlayInteractSound:`Boolean`,Message:`String`,ConsoleTag:`String`}},BCD_AudioEmitter:{version:1,properties:{AudioDescriptor:`Object`,VolumeMultiplier:`Float`,PitchMultiplier:`Float`,InnerRadius:`Float`,MaxDistance:`Float`,bSpatialization:`Boolean`}},Component_Internal_Rerouter:{version:1,properties:{}},BrickComponentType_Internal_ReadBrickGrid:{version:1,properties:{}},BrickComponentType_WireGraphPseudo_BufferSeconds:{version:1,properties:{SecondsToWait:`Float`,ZeroSecondsToWait:`Float`,CurrentTime:`Float`,Input:`WireGraphVariant`,Output:`WireGraphVariant`,Buffered:`WireGraphVariant`,Queued:`WireGraphVariant`,bHasQueued:`Boolean`}},BrickComponentType_WireGraphPseudo_BufferTicks:{version:1,properties:{TicksToWait:`Integer`,ZeroTicksToWait:`Integer`,CurrentTicks:`Integer`,Input:`WireGraphVariant`,Output:`WireGraphVariant`,Buffered:`WireGraphVariant`,Queued:`WireGraphVariant`,bHasQueued:`Boolean`}},BrickComponentType_WireGraphPseudo_Const:{version:1,properties:{Value:`WireGraphVariant`}},BrickComponentType_WireGraph_Expr_BitwiseAND:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseNAND:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseNOR:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseNOT:{version:1,properties:{Input:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseOR:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseShiftLeft:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseShiftRight:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseXOR:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_Ceil:{version:1,properties:{Input:`Double`}},BrickComponentType_WireGraph_Expr_CompareEqual:{version:1,properties:{InputA:`WireGraphVariant`,InputB:`WireGraphVariant`}},BrickComponentType_WireGraph_Expr_CompareGreater:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_CompareGreaterOrEqual:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_CompareLess:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_CompareLessOrEqual:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_CompareNotEqual:{version:1,properties:{InputA:`WireGraphVariant`,InputB:`WireGraphVariant`}},BrickComponentType_WireGraph_Expr_Floor:{version:1,properties:{Input:`Double`}},BrickComponentType_WireGraph_Expr_LogicalAND:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalNAND:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalNOR:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalNOT:{version:1,properties:{bInput:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalOR:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalXOR:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_MathAdd:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathBlend:{version:1,properties:{Blend:`Double`,InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathDivide:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathModulo:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathModuloFloored:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathMultiply:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathSubtract:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponent_WireGraph_Expr_EdgeDetector:{version:1,properties:{Input:`Double`,bPulseOnRisingEdge:`Boolean`,bPulseOnFallingEdge:`Boolean`}}};function Pr(e,t={}){if(typeof e!=`object`)throw Error(`Expected save to be an object`);if(!Array.isArray(e.bricks)||e.bricks.length===0)throw Error(`Expected save to have bricks field`);if(e.bricks.length>2147483647)throw Error(`Brick count out of range`);let n=t.compress?K.compressed:K.uncompressed,r=([e,t,n,r])=>new Uint8Array([n,t,e,r]),a={},s=Math.max(e.colors?.length??0,2),c=Math.max(e.brick_assets?.length??0,2),l=Math.max(e.materials?.length??0,2),u=Math.max(e.physical_materials?.length??0,2);if(e.preview&&!Array.isArray(e.preview))throw Error(`Expected preview to be an array`);let d={},f=0;return W(i,K.u16(14),K.i32(e.game_version??0),n(K.string(e.map??`Unknown`),K.string(e.author?.name??`Unknown`),K.string(e.description??``),K.uuid(e.author?.id??`00000000-0000-0000-0000-000000000000`),W(K.string(e.host?.name??`Unknown`),K.uuid(e.host?.id??`00000000-0000-0000-0000-000000000000`)),new Uint8Array(e.save_time&&(Array.isArray(e.save_time)||e.save_time instanceof Uint8Array)&&e.save_time.length===8?e.save_time:[0,0,0,0,0,0,0,0]),K.i32(e.bricks.length)),n(K.array(e.mods??[],K.string),K.array(e.brick_assets??[`PB_DefaultBrick`],K.string),K.array(e.colors??[],r),K.array(e.materials??[`BMC_Plastic`],K.string),K.array(e.brick_owners??[],({id:e=o,name:t=`Unknown`,display_name:n=`Unknown`,bricks:r=0})=>W(K.uuid(e),K.string(t),K.string(n),K.i32(r))),K.array(e.physical_materials??[`BPMC_Default`],K.string)),W(new Uint8Array([+!!e.preview]),e.preview?K.i32(e.preview.length):Mr,e.preview??Mr),n(K.bits().each(e.bricks,function(e,t){if(typeof e!=`object`)throw Error(`Expected save.bricks[${t}] to be an object`);if(!Array.isArray(e.size)||e.size.length!==3)throw Error(`Expected save.bricks[${t}].size to be an array of length 3`);if(!Array.isArray(e.position)||e.position.length!==3)throw Error(`Expected save.bricks[${t}].position to be an array of length 3`);this.align(),this.int(e.asset_name_index??0,c);let n=e.size===null||ir(e.size,[0,0,0]);if(this.bit(!n),n||e.size.map(e=>this.uint_packed(e>=0?e:1)),e.position.map(e=>this.int_packed(e)),this.int((e.direction??4)<<2|(e.rotation??0),24),typeof e.collision==`boolean`?(this.bit(e.collision),this.bit(e.collision),this.bit(e.collision),this.bit(!0),this.bit(e.collision)):(this.bit(e.collision?.player??!0),this.bit(e.collision?.weapon??!0),this.bit(e.collision?.interaction??!0),this.bit(e.collision?.tool??!0),this.bit(e.collision?.physics??!0)),this.bit(e.visibility??!0),this.int(e.material_index??0,l),this.int(e.physical_index??0,u),this.int(e.material_intensity??5,11),typeof e.color==`number`)this.bit(!1),this.int(e.color,s);else{if(this.bit(!0),e.color&&(!Array.isArray(e.color)||e.color.length<3))throw Error(`Expected save.bricks[${t}].color to be an array of at least length 3`);this.bytes(new Uint8Array(e.color?.slice(0,3)??[255,255,255]))}this.uint_packed(e.owner_index>=0?e.owner_index:0);for(let n in e.components??{})a[n]??(a[n]=[]),a[n].push(t)}).finish()),n(K.array(Object.keys(e.components??Nr).filter(e=>a[e]),t=>W(K.string(t),K.bits().self(function(){let n=e.components?.[t]??Nr[t],r=a[t],i=Object.entries(n.properties);t in d||(d[t]=f,f++),this.bytes(K.i32(n.version)),this.array(r,t=>{this.int(t,Math.max(e.bricks.length,2))}),this.array(i,([e,t])=>{this.string(e),this.string(t)});for(let n of r)for(let[r,a]of i){if(!(r in(e.bricks[n].components?.[t]??{})))throw Error(`Expected save.bricks[${n}].components[${t}] to have property '${r}' of type '${a}'`);this.unreal(a,e.bricks[n].components[t][r])}this.align()}).finishSection()))),n(K.bits().self(function(){let t=4294967295;if(!e.wires||!Array.isArray(e.wires)||e.wires.length===0){this.int(0,t);return}this.int(e.wires.length,t);for(let t of e.wires){if(typeof t!=`object`)throw Error(`Expected save.wires to be an array of objects`);if(!(t.source&&typeof t.source==`object`&&typeof t.source.brick_index==`number`&&typeof t.source.component==`string`&&typeof t.source.port==`string`))throw Error(`Expected save.wires[i].source to be an object with brick_index, component, and port properties`);if(!(t.target&&typeof t.target==`object`&&typeof t.target.brick_index==`number`&&typeof t.target.component==`string`&&typeof t.target.port==`string`))throw Error(`Expected save.wires[i].target to be an object with brick_index, component, and port properties`);if(!(t.source.component in d))throw Error(`Unknown component '${t.source.component}' in wire source`);if(!(t.target.component in d))throw Error(`Unknown component '${t.target.component}' in wire target`);this.int(t.source.brick_index,e.bricks.length),this.int(d[t.source.component],f),this.string(t.source.port),this.int(t.target.brick_index,e.bricks.length),this.int(d[t.target.component],f),this.string(t.target.port),this.bit(!1),this.align()}}).finish()))}var Fr=n({Direction:()=>Ir,Rotation:()=>Lr}),Ir=function(e){return e[e.XPositive=0]=`XPositive`,e[e.XNegative=1]=`XNegative`,e[e.YPositive=2]=`YPositive`,e[e.YNegative=3]=`YNegative`,e[e.ZPositive=4]=`ZPositive`,e[e.ZNegative=5]=`ZNegative`,e}({}),Lr=function(e){return e[e.Deg0=0]=`Deg0`,e[e.Deg90=1]=`Deg90`,e[e.Deg180=2]=`Deg180`,e[e.Deg270=3]=`Deg270`,e}({}),Rr=(e,t)=>((e.Flags[t>>3]??0)>>(t&7)&1)==1,zr=class{constructor(){this.bytes=[],this.bits=0}push(e){this.bits>=this.bytes.length*8&&this.bytes.push(0),e&&(this.bytes[this.bits>>3]|=1<<(this.bits&7)),this.bits+=1}toValue(){return{Flags:this.bytes}}};function Br(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function Vr(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(`${n}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw RangeError(`${n}expected integer >= 0, got ${e}`)}}function Hr(e,t,n=``){let r=Br(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`,l=o+`expected Uint8Array`+s+`, got `+c;throw r?RangeError(l):TypeError(l)}return e}function Ur(e){return Uint8Array.from(Hr(e))}function Wr(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function Gr(e,t){Hr(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw RangeError(`"digestInto() output" expected to be of length >=`+n)}function Kr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function qr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Jr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Yr(e,t){return e<<32-t|e>>>t}var Xr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Zr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var Qr=Xr?e=>e:e=>Zr(e)>>>0;function $r(e){for(let t=0;t<e.length;t++)e[t]=Zr(e[t]);return e}var q=Xr?e=>e:$r,ei=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,ti=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function ni(e){if(Hr(e),ei)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=ti[e[n]];return t}function ri(e,t={}){let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}var ii=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ai=BigInt(2**32-1),oi=BigInt(32);function si(e,t=!1){return t?{h:Number(e&ai),l:Number(e>>oi&ai)}:{h:Number(e>>oi&ai)|0,l:Number(e&ai)|0}}function ci(e,t,n,r,i){return e=e+t+i|0,r=Yr(r^e,16),n=n+r|0,t=Yr(t^n,12),{a:e,b:t,c:n,d:r}}function li(e,t,n,r,i){return e=e+t+i|0,r=Yr(r^e,8),n=n+r|0,t=Yr(t^n,7),{a:e,b:t,c:n,d:r}}var ui=class{constructor(e,t){u(this,`buffer`,void 0),u(this,`buffer32`,void 0),u(this,`finished`,!1),u(this,`destroyed`,!1),u(this,`length`,0),u(this,`pos`,0),u(this,`blockLen`,void 0),u(this,`outputLen`,void 0),u(this,`canXOF`,!1),Vr(e),Vr(t),this.blockLen=e,this.outputLen=t,this.buffer=new Uint8Array(e),this.buffer32=qr(this.buffer)}update(e){Wr(this),Hr(e);let{blockLen:t,buffer:n,buffer32:r}=this,i=e.length,a=e.byteOffset,o=e.buffer;for(let s=0;s<i;){this.pos===t&&(q(r),this.compress(r,0,!1),q(r),this.pos=0);let c=Math.min(t-this.pos,i-s),l=a+s;if(c===t&&!(l%4)&&s+c<i){let e=new Uint32Array(o,l,Math.floor((i-s)/4));q(e);for(let n=0;s+t<i;n+=r.length,s+=t)this.length+=t,this.compress(e,n,!1);q(e);continue}n.set(e.subarray(s,s+c),this.pos),this.pos+=c,this.length+=c,s+=c}return this}digestInto(e){Wr(this),Gr(e,this);let{pos:t,buffer32:n}=this;if(this.finished=!0,Jr(this.buffer.subarray(t)),q(n),this.compress(n,0,!0),q(n),e.byteOffset&3)throw RangeError(`"digestInto() output" expected 4-byte aligned byteOffset, got `+e.byteOffset);let r=this.get(),i=qr(e),a=Math.floor(this.outputLen/4);for(let e=0;e<a;e++)i[e]=Qr(r[e]);let o=this.outputLen%4;if(!o)return;let s=a*4,c=r[a];for(let t=0;t<o;t++)e[s+t]=c>>>8*t}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){let{buffer:t,length:n,finished:r,destroyed:i,outputLen:a,pos:o}=this;return e||(e=new this.constructor({dkLen:a})),e.set(...this.get()),e.buffer.set(t),e.destroyed=i,e.finished=r,e.length=n,e.pos=o,e.outputLen=a,e}clone(){return this._cloneInto()}};function di(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y){let b=0;for(let x=0;x<r;x++)({a:i,b:c,c:f,d:g}=ci(i,c,f,g,n[t+e[b++]])),{a:i,b:c,c:f,d:g}=li(i,c,f,g,n[t+e[b++]]),{a,b:l,c:p,d:_}=ci(a,l,p,_,n[t+e[b++]]),{a,b:l,c:p,d:_}=li(a,l,p,_,n[t+e[b++]]),{a:o,b:u,c:m,d:v}=ci(o,u,m,v,n[t+e[b++]]),{a:o,b:u,c:m,d:v}=li(o,u,m,v,n[t+e[b++]]),{a:s,b:d,c:h,d:y}=ci(s,d,h,y,n[t+e[b++]]),{a:s,b:d,c:h,d:y}=li(s,d,h,y,n[t+e[b++]]),{a:i,b:l,c:m,d:y}=ci(i,l,m,y,n[t+e[b++]]),{a:i,b:l,c:m,d:y}=li(i,l,m,y,n[t+e[b++]]),{a,b:u,c:h,d:g}=ci(a,u,h,g,n[t+e[b++]]),{a,b:u,c:h,d:g}=li(a,u,h,g,n[t+e[b++]]),{a:o,b:d,c:f,d:_}=ci(o,d,f,_,n[t+e[b++]]),{a:o,b:d,c:f,d:_}=li(o,d,f,_,n[t+e[b++]]),{a:s,b:c,c:p,d:v}=ci(s,c,p,v,n[t+e[b++]]),{a:s,b:c,c:p,d:v}=li(s,c,p,v,n[t+e[b++]]);return{v0:i,v1:a,v2:o,v3:s,v4:c,v5:l,v6:u,v7:d,v8:f,v9:p,v10:m,v11:h,v12:g,v13:_,v14:v,v15:y}}var fi={CHUNK_START:1,CHUNK_END:2,PARENT:4,ROOT:8,KEYED_HASH:16,DERIVE_KEY_CONTEXT:32,DERIVE_KEY_MATERIAL:64},pi=ii.slice(),mi=(()=>{let e=Array.from({length:16},(e,t)=>t),t=e=>[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8].map(t=>e[t]),n=[];for(let r=0,i=e;r<7;r++,i=t(i))n.push(...i);return Uint8Array.from(n)})(),hi=class e extends ui{constructor(t={},n=0){super(64,t.dkLen===void 0?32:t.dkLen),u(this,`canXOF`,!0),u(this,`chunkPos`,0),u(this,`chunksDone`,0),u(this,`flags`,0),u(this,`IV`,void 0),u(this,`state`,void 0),u(this,`stack`,[]),u(this,`posOut`,0),u(this,`bufferOut32`,new Uint32Array(16)),u(this,`bufferOut`,void 0),u(this,`chunkOut`,0),u(this,`enableXOF`,!0);let{key:r,context:i}=t,a=i!==void 0;if(r!==void 0){if(a)throw Error(`Only "key" or "context" can be specified at same time`);Hr(r,32,`key`);let e=Ur(r);this.IV=qr(e),q(this.IV),this.flags=n|fi.KEYED_HASH}else if(a){Hr(i,void 0,`context`);let t=i,r=new e({dkLen:32},fi.DERIVE_KEY_CONTEXT).update(t).digest();this.IV=qr(r),q(this.IV),this.flags=n|fi.DERIVE_KEY_MATERIAL}else this.IV=pi.slice(),this.flags=n;this.state=this.IV.slice(),this.bufferOut=Kr(this.bufferOut32)}get(){return[]}set(){}b2Compress(e,t,n,r=0){let{state:i,pos:a}=this,{h:o,l:s}=si(BigInt(e),!0),{v0:c,v1:l,v2:u,v3:d,v4:f,v5:p,v6:m,v7:h,v8:g,v9:_,v10:v,v11:y,v12:b,v13:x,v14:S,v15:C}=di(mi,r,n,7,i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],pi[0],pi[1],pi[2],pi[3],o,s,a,t);i[0]=c^g,i[1]=l^_,i[2]=u^v,i[3]=d^y,i[4]=f^b,i[5]=p^x,i[6]=m^S,i[7]=h^C}compress(e,t=0,n=!1){let r=this.flags;if(this.chunkPos||(r|=fi.CHUNK_START),(this.chunkPos===15||n)&&(r|=fi.CHUNK_END),n||(this.pos=this.blockLen),this.b2Compress(this.chunksDone,r,e,t),this.chunkPos+=1,this.chunkPos===16||n){let e=this.state;this.state=this.IV.slice();for(let t,r=this.chunksDone+1;(n||!(r&1))&&(t=this.stack.pop());r>>=1)this.buffer32.set(t,0),this.buffer32.set(e,8),this.pos=this.blockLen,this.b2Compress(0,this.flags|fi.PARENT,this.buffer32,0),e=this.state,this.state=this.IV.slice();this.chunksDone++,this.chunkPos=0,this.stack.push(e)}this.pos=0}_cloneInto(e){e=super._cloneInto(e);let{IV:t,flags:n,state:r,chunkPos:i,posOut:a,chunkOut:o,stack:s,chunksDone:c}=this;return e.state.set(r.slice()),e.stack=s.map(e=>Uint32Array.from(e)),e.IV.set(t),e.flags=n,e.chunkPos=i,e.chunksDone=c,e.posOut=a,e.chunkOut=o,e.enableXOF=this.enableXOF,e.bufferOut32.set(this.bufferOut32),e}destroy(){this.destroyed=!0,Jr(this.state,this.buffer32,this.IV,this.bufferOut32),Jr(...this.stack)}b2CompressOut(){let{state:e,pos:t,flags:n,buffer32:r,bufferOut32:i}=this,{h:a,l:o}=si(BigInt(this.chunkOut++));q(r);let{v0:s,v1:c,v2:l,v3:u,v4:d,v5:f,v6:p,v7:m,v8:h,v9:g,v10:_,v11:v,v12:y,v13:b,v14:x,v15:S}=di(mi,0,r,7,e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],pi[0],pi[1],pi[2],pi[3],o,a,t,n);i[0]=s^h,i[1]=c^g,i[2]=l^_,i[3]=u^v,i[4]=d^y,i[5]=f^b,i[6]=p^x,i[7]=m^S,i[8]=e[0]^h,i[9]=e[1]^g,i[10]=e[2]^_,i[11]=e[3]^v,i[12]=e[4]^y,i[13]=e[5]^b,i[14]=e[6]^x,i[15]=e[7]^S,q(r),q(i),this.posOut=0}finish(){if(this.finished)return;this.finished=!0,Jr(this.buffer.subarray(this.pos));let e=this.flags|fi.ROOT;this.stack.length?(e|=fi.PARENT,q(this.buffer32),this.compress(this.buffer32,0,!0),q(this.buffer32),this.chunksDone=0,this.pos=this.blockLen):e|=(this.chunkPos?0:fi.CHUNK_START)|fi.CHUNK_END,this.flags=e,this.b2CompressOut()}writeInto(e){Wr(this,!1),Hr(e),this.finish();let{blockLen:t,bufferOut:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=t&&this.b2CompressOut();let a=Math.min(t-this.posOut,i-r);e.set(n.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible after digest call`);return this.writeInto(e)}xof(e){return Vr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Gr(e,this),this.finished)throw Error(`digest() was already called`);this.enableXOF=!1,this.writeInto(e.subarray(0,this.outputLen)),this.destroy()}digest(){let e=new Uint8Array(this.outputLen);return this.digestInto(e),e}},gi=ri((e={})=>new hi(e)),_i=ArrayBuffer,J=Uint8Array,vi=Uint16Array,yi=Int16Array,bi=Int32Array,xi=function(e,t,n){if(J.prototype.slice)return J.prototype.slice.call(e,t,n);(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length);var r=new J(n-t);return r.set(e.subarray(t,n)),r},Si=function(e,t,n,r){if(J.prototype.fill)return J.prototype.fill.call(e,t,n,r);for((n==null||n<0)&&(n=0),(r==null||r>e.length)&&(r=e.length);n<r;++n)e[n]=t;return e},Ci=function(e,t,n,r){if(J.prototype.copyWithin)return J.prototype.copyWithin.call(e,t,n,r);for((n==null||n<0)&&(n=0),(r==null||r>e.length)&&(r=e.length);n<r;)e[t++]=e[n++]},wi=[`invalid zstd data`,`window size too large (>2046MB)`,`invalid block type`,`FSE accuracy too high`,`match distance too far back`,`unexpected EOF`],Y=function(e,t,n){var r=Error(t||wi[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,Y),!n)throw r;return r},Ti=function(e,t,n){for(var r=0,i=0;r<n;++r)i|=e[t++]<<(r<<3);return i},Ei=function(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0},Di=function(e,t){var n=e[0]|e[1]<<8|e[2]<<16;if(n==3126568&&e[3]==253){var r=e[4],i=r>>5&1,a=r>>2&1,o=r&3,s=r>>6;r&8&&Y(0);var c=6-i,l=o==3?4:o,u=Ti(e,c,l);c+=l;var d=s?1<<s:i,f=Ti(e,c,d)+(s==1&&256),p=f;if(!i){var m=1<<10+(e[5]>>3);p=m+(m>>3)*(e[5]&7)}p>2145386496&&Y(1);var h=new J((t==1?f||p:t?0:p)+12);return h[0]=1,h[4]=4,h[8]=8,{b:c+d,y:0,l:0,d:u,w:t&&t!=1?t:h.subarray(12),e:p,o:new bi(h.buffer,0,3),u:f,c:a,m:Math.min(131072,p)}}else if((n>>4|e[3]<<20)==25481893)return Ei(e,4)+8;Y(0)},Oi=function(e){for(var t=0;1<<t<=e;++t);return t-1},ki=function(e,t,n){var r=(t<<3)+4,i=(e[t]&15)+5;i>n&&Y(3);for(var a=1<<i,o=a,s=-1,c=-1,l=-1,u=a,d=new _i(512+(a<<2)),f=new yi(d,0,256),p=new vi(d,0,256),m=new vi(d,512,a),h=512+(a<<1),g=new J(d,h,a),_=new J(d,h+a);s<255&&o>0;){var v=Oi(o+1),y=r>>3,b=(1<<v+1)-1,x=(e[y]|e[y+1]<<8|e[y+2]<<16)>>(r&7)&b,S=(1<<v)-1,C=b-o-1,w=x&S;if(w<C?(r+=v,x=w):(r+=v+1,x>S&&(x-=C)),f[++s]=--x,x==-1?(o+=x,g[--u]=s):o-=x,!x)do{var T=r>>3;c=(e[T]|e[T+1]<<8)>>(r&7)&3,r+=2,s+=c}while(c==3)}(s>255||o)&&Y(0);for(var E=0,D=(a>>1)+(a>>3)+3,O=a-1,k=0;k<=s;++k){var A=f[k];if(A<1){p[k]=-A;continue}for(l=0;l<A;++l){g[E]=k;do E=E+D&O;while(E>=u)}}for(E&&Y(0),l=0;l<a;++l){var j=p[g[l]]++;m[l]=(j<<(_[l]=i-Oi(j)))-a}return[r+7>>3,{b:i,s:g,n:_,t:m}]},Ai=function(e,t){var n=0,r=-1,i=new J(292),a=e[t],o=i.subarray(0,256),s=i.subarray(256,268),c=new vi(i.buffer,268);if(a<128){var l=ki(e,t+1,6),u=l[0],d=l[1];t+=a;var f=u<<3,p=e[t];p||Y(0);for(var m=0,h=0,g=d.b,_=g,v=(++t<<3)-8+Oi(p);v-=g,!(v<f);){var y=v>>3;if(m+=(e[y]|e[y+1]<<8)>>(v&7)&(1<<g)-1,o[++r]=d.s[m],v-=_,v<f)break;y=v>>3,h+=(e[y]|e[y+1]<<8)>>(v&7)&(1<<_)-1,o[++r]=d.s[h],g=d.n[m],m=d.t[m],_=d.n[h],h=d.t[h]}++r>255&&Y(0)}else{for(r=a-127;n<r;n+=2){var b=e[++t];o[n]=b>>4,o[n+1]=b&15}++t}var x=0;for(n=0;n<r;++n){var S=o[n];S>11&&Y(0),x+=S&&1<<S-1}var C=Oi(x)+1,w=1<<C,T=w-x;for(T&T-1&&Y(0),o[r++]=Oi(T)+1,n=0;n<r;++n){var S=o[n];++s[o[n]=S&&C+1-S]}var E=new J(w<<1),D=E.subarray(0,w),O=E.subarray(w);for(c[C]=0,n=C;n>0;--n){var k=c[n];Si(O,n,k,c[n-1]=k+s[n]*(1<<C-n))}for(c[0]!=w&&Y(0),n=0;n<r;++n){var A=o[n];if(A){var j=c[A];Si(D,n,j,c[A]=j+(1<<C-A))}}return[t,{n:O,b:C,s:D}]},ji=ki(new J([81,16,99,140,49,198,24,99,12,33,196,24,99,102,102,134,70,146,4]),0,6)[1],Mi=ki(new J([33,20,196,24,99,140,33,132,16,66,8,33,132,16,66,8,33,68,68,68,68,68,68,68,68,36,9]),0,6)[1],Ni=ki(new J([32,132,16,66,102,70,68,68,68,68,36,73,2]),0,5)[1],Pi=function(e,t){for(var n=e.length,r=new bi(n),i=0;i<n;++i)r[i]=t,t+=1<<e[i];return r},Fi=new J(new bi([0,0,0,0,16843009,50528770,134678020,202050057,269422093]).buffer,0,36),Ii=Pi(Fi,0),Li=new J(new bi([0,0,0,0,0,0,0,0,16843009,50528770,117769220,185207048,252579084,16]).buffer,0,53),Ri=Pi(Li,3),zi=function(e,t,n){var r=e.length,i=t.length,a=e[r-1],o=(1<<n.b)-1,s=-n.b;a||Y(0);for(var c=0,l=n.b,u=(r<<3)-8+Oi(a)-l,d=-1;u>s&&d<i;){var f=u>>3,p=(e[f]|e[f+1]<<8|e[f+2]<<16)>>(u&7);c=(c<<l|p)&o,t[++d]=n.s[c],u-=l=n.n[c]}(u!=s||d+1!=i)&&Y(0)},Bi=function(e,t,n){var r=6,i=t.length+3>>2,a=i<<1,o=i+a;zi(e.subarray(r,r+=e[0]|e[1]<<8),t.subarray(0,i),n),zi(e.subarray(r,r+=e[2]|e[3]<<8),t.subarray(i,a),n),zi(e.subarray(r,r+=e[4]|e[5]<<8),t.subarray(a,o),n),zi(e.subarray(r),t.subarray(o),n)},Vi=function(e,t,n){var r,i=t.b,a=e[i],o=a>>1&3;t.l=a&1;var s=a>>3|e[i+1]<<5|e[i+2]<<13,c=(i+=3)+s;if(o==1)return i>=e.length?void 0:(t.b=i+1,n?(Si(n,e[i],t.y,t.y+=s),n):Si(new J(s),e[i]));if(!(c>e.length)){if(o==0)return t.b=c,n?(n.set(e.subarray(i,c),t.y),t.y+=s,n):xi(e,i,c);if(o==2){var l=e[i],u=l&3,d=l>>2&3,f=l>>4,p=0,m=0;u<2?d&1?f|=e[++i]<<4|(d&2&&e[++i]<<12):f=l>>3:(m=d,d<2?(f|=(e[++i]&63)<<4,p=e[i]>>6|e[++i]<<2):d==2?(f|=e[++i]<<4|(e[++i]&3)<<12,p=e[i]>>2|e[++i]<<6):(f|=e[++i]<<4|(e[++i]&63)<<12,p=e[i]>>6|e[++i]<<2|e[++i]<<10)),++i;var h=n?n.subarray(t.y,t.y+t.m):new J(t.m),g=h.length-f;if(u==0)h.set(e.subarray(i,i+=f),g);else if(u==1)Si(h,e[i++],g);else{var _=t.h;if(u==2){var v=Ai(e,i);p+=i-(i=v[0]),t.h=_=v[1]}else _||Y(0);(m?Bi:zi)(e.subarray(i,i+=p),h.subarray(g),_)}var y=e[i++];if(y){y==255?y=(e[i++]|e[i++]<<8)+32512:y>127&&(y=y-128<<8|e[i++]);var b=e[i++];b&3&&Y(0);for(var x=[Mi,Ni,ji],S=2;S>-1;--S){var C=b>>(S<<1)+2&3;if(C==1){var w=new J([0,0,e[i++]]);x[S]={s:w.subarray(2,3),n:w.subarray(0,1),t:new vi(w.buffer,0,1),b:0}}else C==2?(r=ki(e,i,9-(S&1)),i=r[0],x[S]=r[1]):C==3&&(t.t||Y(0),x[S]=t.t[S])}var T=t.t=x,E=T[0],D=T[1],O=T[2],k=e[c-1];k||Y(0);var A=(c<<3)-8+Oi(k)-O.b,j=A>>3,M=0,ee=(e[j]|e[j+1]<<8)>>(A&7)&(1<<O.b)-1;j=(A-=D.b)>>3;var te=(e[j]|e[j+1]<<8)>>(A&7)&(1<<D.b)-1;j=(A-=E.b)>>3;var ne=(e[j]|e[j+1]<<8)>>(A&7)&(1<<E.b)-1;for(++y;--y;){var re=O.s[ee],ie=O.n[ee],ae=E.s[ne],oe=E.n[ne],se=D.s[te],ce=D.n[te];j=(A-=se)>>3;var le=1<<se,ue=le+((e[j]|e[j+1]<<8|e[j+2]<<16|e[j+3]<<24)>>>(A&7)&le-1);j=(A-=Li[ae])>>3;var de=Ri[ae]+((e[j]|e[j+1]<<8|e[j+2]<<16)>>(A&7)&(1<<Li[ae])-1);j=(A-=Fi[re])>>3;var fe=Ii[re]+((e[j]|e[j+1]<<8|e[j+2]<<16)>>(A&7)&(1<<Fi[re])-1);if(j=(A-=ie)>>3,ee=O.t[ee]+((e[j]|e[j+1]<<8)>>(A&7)&(1<<ie)-1),j=(A-=oe)>>3,ne=E.t[ne]+((e[j]|e[j+1]<<8)>>(A&7)&(1<<oe)-1),j=(A-=ce)>>3,te=D.t[te]+((e[j]|e[j+1]<<8)>>(A&7)&(1<<ce)-1),ue>3)t.o[2]=t.o[1],t.o[1]=t.o[0],t.o[0]=ue-=3;else{var pe=ue-(fe!=0);pe?(ue=pe==3?t.o[0]-1:t.o[pe],pe>1&&(t.o[2]=t.o[1]),t.o[1]=t.o[0],t.o[0]=ue):ue=t.o[0]}for(var S=0;S<fe;++S)h[M+S]=h[g+S];M+=fe,g+=fe;var me=M-ue;if(me<0){var he=-me,ge=t.e+me;he>de&&(he=de);for(var S=0;S<he;++S)h[M+S]=t.w[ge+S];M+=he,de-=he,me=0}for(var S=0;S<de;++S)h[M+S]=h[me+S];M+=de}if(M!=g)for(;g<h.length;)h[M++]=h[g++];else M=h.length;n?t.y+=M:h=xi(h,0,M)}else if(n){if(t.y+=f,g)for(var S=0;S<f;++S)h[S]=h[g+S]}else g&&(h=xi(h,g));return t.b=c,h}Y(2)}},Hi=function(e,t){if(e.length==1)return e[0];for(var n=new J(t),r=0,i=0;r<e.length;++r){var a=e[r];n.set(a,i),i+=a.length}return n};function Ui(e,t){for(var n=[],r=+!t,i=0,a=0;e.length;){var o=Di(e,r||t);if(typeof o==`object`){for(r?(t=null,o.w.length==o.u&&(n.push(t=o.w),a+=o.u)):(n.push(t),o.e=0);!o.l;){var s=Vi(e,o,t);s||Y(5),t?o.e=o.y:(n.push(s),a+=s.length,Ci(o.w,0,s.length),o.w.set(s,o.w.length-s.length))}i=o.b+o.c*4}else i=o;e=e.subarray(i)}return Hi(n,a)}var Wi=class{constructor(){this.buf=new Uint8Array(256),this.view=new DataView(this.buf.buffer),this.len=0}ensure(e){if(this.len+e<=this.buf.length)return;let t=this.buf.length*2;for(;t<this.len+e;)t*=2;let n=new Uint8Array(t);n.set(this.buf.subarray(0,this.len)),this.buf=n,this.view=new DataView(n.buffer)}get length(){return this.len}u8(e){this.ensure(1),this.buf[this.len++]=e&255}i8(e){this.ensure(1),this.view.setInt8(this.len,e),this.len+=1}bytes(e){let t=e instanceof Uint8Array?e:Uint8Array.from(e);this.ensure(t.length),this.buf.set(t,this.len),this.len+=t.length}u16be(e){this.ensure(2),this.view.setUint16(this.len,e,!1),this.len+=2}u32be(e){this.ensure(4),this.view.setUint32(this.len,e,!1),this.len+=4}u64be(e){this.ensure(8),this.view.setBigUint64(this.len,e,!1),this.len+=8}i16be(e){this.ensure(2),this.view.setInt16(this.len,e,!1),this.len+=2}i32be(e){this.ensure(4),this.view.setInt32(this.len,e,!1),this.len+=4}i64be(e){this.ensure(8),this.view.setBigInt64(this.len,e,!1),this.len+=8}f32be(e){this.ensure(4),this.view.setFloat32(this.len,e,!1),this.len+=4}f64be(e){this.ensure(8),this.view.setFloat64(this.len,e,!1),this.len+=8}u16le(e){this.ensure(2),this.view.setUint16(this.len,e,!0),this.len+=2}u32le(e){this.ensure(4),this.view.setUint32(this.len,e,!0),this.len+=4}u64le(e){this.ensure(8),this.view.setBigUint64(this.len,e,!0),this.len+=8}i16le(e){this.ensure(2),this.view.setInt16(this.len,e,!0),this.len+=2}i32le(e){this.ensure(4),this.view.setInt32(this.len,e,!0),this.len+=4}i64le(e){this.ensure(8),this.view.setBigInt64(this.len,e,!0),this.len+=8}f32le(e){this.ensure(4),this.view.setFloat32(this.len,e,!0),this.len+=4}f64le(e){this.ensure(8),this.view.setFloat64(this.len,e,!0),this.len+=8}toBytes(){return this.buf.slice(0,this.len)}},Gi=class{constructor(e,t=0){this.data=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.offset=t}get remaining(){return this.data.length-this.offset}need(e){if(this.offset+e>this.data.length)throw RangeError(`brdb: unexpected end of data (need ${e} bytes at offset ${this.offset} of ${this.data.length})`)}peek(){return this.need(1),this.data[this.offset]}u8(){return this.need(1),this.data[this.offset++]}i8(){return this.need(1),this.view.getInt8(this.offset++)}bytes(e){this.need(e);let t=this.data.subarray(this.offset,this.offset+e);return this.offset+=e,t}u16be(){this.need(2);let e=this.view.getUint16(this.offset,!1);return this.offset+=2,e}u32be(){this.need(4);let e=this.view.getUint32(this.offset,!1);return this.offset+=4,e}u64be(){this.need(8);let e=this.view.getBigUint64(this.offset,!1);return this.offset+=8,e}i16be(){this.need(2);let e=this.view.getInt16(this.offset,!1);return this.offset+=2,e}i32be(){this.need(4);let e=this.view.getInt32(this.offset,!1);return this.offset+=4,e}i64be(){this.need(8);let e=this.view.getBigInt64(this.offset,!1);return this.offset+=8,e}f32be(){this.need(4);let e=this.view.getFloat32(this.offset,!1);return this.offset+=4,e}f64be(){this.need(8);let e=this.view.getFloat64(this.offset,!1);return this.offset+=8,e}u16le(){this.need(2);let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}u32le(){this.need(4);let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}u64le(){this.need(8);let e=this.view.getBigUint64(this.offset,!0);return this.offset+=8,e}i16le(){this.need(2);let e=this.view.getInt16(this.offset,!0);return this.offset+=2,e}i32le(){this.need(4);let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}i64le(){this.need(8);let e=this.view.getBigInt64(this.offset,!0);return this.offset+=8,e}f32le(){this.need(4);let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}f64le(){this.need(8);let e=this.view.getFloat64(this.offset,!0);return this.offset+=8,e}};function Ki(e,t={}){let n=e.map(([e,t])=>({parentId:-1,name:e,node:t})),r=[],i=[],a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=new Map;for(let e=0;e<n.length;e++){let{parentId:m,name:h,node:g}=n[e];if(g.type===`folder`){let e=r.length;r.push(m),i.push(h);for(let[t,r]of g.children)n.push({parentId:e,name:t,node:r})}else{a.push(m),s.push(h);let e=g.content,n;if(e.length===0)n=-1;else{let r=gi(e),i=ni(r),a=p.get(i);if(a!==void 0)n=a;else{n=d.length,p.set(i,n),d.push(r),l.push(e.length);let a=t.compress?t.compress(e):null;a&&a.length<e.length?(c.push(1),u.push(a.length),f.push(a)):(c.push(0),u.push(e.length),f.push(e))}}o.push(n)}}let m=new TextEncoder,h=new Wi;h.i32le(i.length),h.i32le(s.length),h.i32le(d.length);for(let e of r)h.i32le(e);let g=i.map(e=>m.encode(e));for(let e of g)h.u16le(e.length);for(let e of g)h.bytes(e);for(let e of a)h.i32le(e);for(let e of o)h.i32le(e);let _=s.map(e=>m.encode(e));for(let e of _)h.u16le(e.length);for(let e of _)h.bytes(e);for(let e of c)h.u8(e);for(let e of l)h.i32le(e);for(let e of u)h.i32le(e);for(let e of d)h.bytes(e);let v=h.toBytes(),y=new Wi;y.bytes([66,82,90]),y.u8(0),y.u8(0),y.i32le(v.length),y.i32le(v.length),y.bytes(gi(v)),y.bytes(v);for(let e of f)y.bytes(e);return y.toBytes()}var qi=class e{constructor(e,t,n,r,i,a,o){this.folderParentIds=e,this.folderNames=t,this.fileParentIds=n,this.fileContentIds=r,this.fileNames=i,this.blobs=a,this.blobData=o,this.folderLut=new Map,this.fileLut=new Map,this.pathCache=null;for(let n=0;n<t.length;n++)this.folderLut.set(`${e[n]} ${t[n]}`,n);for(let e=0;e<i.length;e++)this.fileLut.set(`${n[e]} ${i[e]}`,e)}static from(t){let n=new Gi(t),r=n.bytes(3);if(r[0]!==66||r[1]!==82||r[2]!==90)throw Error(`brdb: invalid .brz magic`);let i=n.u8();if(i!==0)throw Error(`brdb: unsupported .brz version ${i}`);let a=n.u8();if(a!==0&&a!==1)throw Error(`brdb: invalid index compression method ${a}`);let o=n.i32le(),s=n.i32le();if(o<0||s<0)throw Error(`brdb: negative index size`);let c=n.bytes(32),l;if(a===0)l=n.bytes(o);else if(l=Ui(n.bytes(s),new Uint8Array(o)),l.length!==o)throw Error(`brdb: index decompressed to the wrong size`);if(ni(gi(l))!==ni(c))throw Error(`brdb: index hash mismatch`);let u=n.bytes(n.remaining),d=new Gi(l),f=d.i32le(),p=d.i32le(),m=d.i32le();if(f<0||p<0||m<0)throw Error(`brdb: negative index count`);let h=(e,t)=>Array.from({length:e},t),g=h(f,()=>d.i32le()),_=h(f,()=>d.u16le()),v=new TextDecoder(`utf-8`,{fatal:!0}),y=_.map(e=>v.decode(d.bytes(e))),b=h(p,()=>d.i32le()),x=h(p,()=>d.i32le()),S=h(p,()=>d.u16le()).map(e=>v.decode(d.bytes(e))),C=h(m,()=>d.u8()),w=h(m,()=>d.i32le()),T=h(m,()=>d.i32le()),E=h(m,()=>d.bytes(32).slice());if(d.remaining!==0)throw Error(`brdb: trailing bytes in index`);let D=[],O=0;for(let e=0;e<m;e++){if(w[e]<0||T[e]<0)throw Error(`brdb: negative blob size`);let t=C[e]===0?w[e]:T[e];D.push({method:C[e],sizeUncompressed:w[e],sizeCompressed:T[e],hash:E[e],start:O,end:O+t}),O+=t}return new e(g,y,b,x,S,D,u)}findFolder(e,t){return this.folderLut.get(`${e} ${t}`)??null}findFile(e,t){let n=this.fileLut.get(`${e} ${t}`);return n===void 0?null:{contentId:this.fileContentIds[n]}}folderIdOf(e){if(e===``)return-1;let t=-1;for(let n of e.split(`/`)){let e=this.findFolder(t,n);if(e===null)return null;t=e}return t}childFolders(e){let t=this.folderIdOf(e);if(t===null)return[];let n=[];for(let e=0;e<this.folderNames.length;e++)this.folderParentIds[e]===t&&n.push(this.folderNames[e]);return n}childFiles(e){let t=this.folderIdOf(e);if(t===null)return[];let n=[];for(let e=0;e<this.fileNames.length;e++)this.fileParentIds[e]===t&&n.push(this.fileNames[e]);return n}blobMethod(e){return this.blob(e).method}blob(e){if(e<0||e>=this.blobs.length)throw Error(`brdb: blob ${e} not found`);return this.blobs[e]}readBlob(e){let t=this.blob(e),n=this.blobData.subarray(t.start,t.end),r;if(t.method===0)r=n;else{if(n.length!==t.sizeCompressed)throw Error(`brdb: blob compressed size mismatch`);r=Ui(n,new Uint8Array(t.sizeUncompressed))}if(r.length!==t.sizeUncompressed)throw Error(`brdb: blob uncompressed size mismatch`);if(ni(gi(r))!==ni(t.hash))throw Error(`brdb: blob hash mismatch`);return r}readFile(e){if(e.startsWith(`/`))throw Error(`brdb: absolute paths not allowed`);let t=e.split(`/`),n=-1;for(let r=0;r<t.length-1;r++){let i=this.findFolder(n,t[r]);if(i===null)throw Error(`brdb: folder not found: ${t[r]} in ${e}`);n=i}let r=this.findFile(n,t[t.length-1]);if(!r)throw Error(`brdb: file not found: ${e}`);return r.contentId===-1?new Uint8Array:this.readBlob(r.contentId)}findFileByPath(e){if(e.startsWith(`/`))throw Error(`brdb: absolute paths not allowed`);let t=e.lastIndexOf(`/`),n=this.folderIdOf(t===-1?``:e.slice(0,t));if(n===null)return null;let r=this.findFile(n,e.slice(t+1));return r===null?null:{contentId:r.contentId,createdAt:0}}findFileByPathAtRevision(e,t){return this.findFileByPath(e)}listPaths(){if(this.pathCache)return this.pathCache;let e=[];for(let t=0;t<this.folderNames.length;t++){let n=this.folderParentIds[t];e.push(n===-1?this.folderNames[t]:`${e[n]}/${this.folderNames[t]}`)}return this.pathCache=this.fileNames.map((t,n)=>{let r=this.fileParentIds[n];return r===-1?t:`${e[r]}/${t}`}),this.pathCache}},Ji=`B_1x1_Reroute_Node.B_1x1_Gate_AND.B_1x1_Gate_OR.B_1x1_Gate_XOR.B_1x1_Gate_NAND.B_1x1_Gate_NOR.B_1x1_NOT_Gate.B_1x1_Gate_AND_Bitwise.B_1x1_Gate_OR_Bitwise.B_1x1_Gate_XOR_Bitwise.B_1x1_Gate_NAND_Bitwise.B_1x1_Gate_NOR_Bitwise.B_1x1_Gate_NOT_Bitwise.B_1x1_Gate_ShiftLeft_Bitwise.B_1x1_Gate_ShiftRight_Bitwise.B_1x1_Gate_Add.B_1x1_Gate_Subtract.B_1x1_Gate_Multiply.B_1x1_Gate_ModFloored.B_1x1_Gate_Mod.B_1x1_Gate_Divide.B_1x1_Gate_Equal.B_1x1_Gate_NotEqual.B_1x1_Gate_LessThan.B_1x1_Gate_LessThanEqual.B_1x1_Gate_GreaterThan.B_1x1_Gate_GreaterThanEqual.B_1x1_Gate_Ceiling.B_1x1_Gate_Floor.B_1x1_Gate_Constant.B_1x1_Gate_Blend.B_1x1_Gate_EdgeDetector.B_1x1_Gate_Timer.B_1x1_Gate_Timer_Tick.B_1x1_Microchip.B_1x1_Gate_MicrochipInput.B_1x1_Gate_MicrochipOutput.B_2x2_Overhang.B_1x4_Brick_Side.B_1x2_Overhang.B_1x1_Brick_Side_Lip.B_1x1_Brick_Side.B_Jar.B_Chalice.B_Cauldron.B_Small_Flower.B_Pine_Tree.B_Leaf_Bush.B_Hedge_1x4.B_Hedge_1x2.B_Hedge_1x1_Corner.B_Hedge_1x1.B_Flower.B_Fern.B_Branch.B_2x4_Door_Frame.B_Turkey_Leg.B_Turkey_Body.B_Swirl_Plate.B_Sausage.B_Pumpkin_Carved.B_Pumpkin.B_Ladder.B_Inverted_Cone.B_Handle.B_Gravestone.B_Frog_Small.B_Frog.B_Flame.B_Coffin_Lid.B_Coffin.B_BoneStraight.B_Bone.B_1x1_Coin_Diagonal.B_1x1_Coin.B_Spoon.B_Fork.B_2x2_Corner.B_2x2f_Plate_Center_Inv.B_2x2f_Plate_Center.B_1x2f_Plate_Center_Inv.B_4x4_Round.B_2x2_Round.B_2x2F_Round.B_2x_Octo_T_Inv.B_2x_Octo_T.B_2x2F_Octo_Converter_Inv.B_2x2F_Octo_Converter.B_2x2F_Octo.B_8x8_Lattice_Plate.B_1x2_MetalIngot.B_1x1f_Tile_Corner.B_1x1f_Inverse_Tile_Corner.B_Rook.B_Queen.B_Pawn.B_Knight.B_King.B_Bishop.B_1x2f_Plate_Center.B_2x2_Cone.B_1x1_Round.B_1x1_Cone.B_1x1F_Round.B_2x_Octo_Cone.B_2x_Octo_90Deg_Inv.B_2x_Octo_90Deg.B_2x_Octo.B_1x_Octo_T_Inv.B_1x_Octo_T.B_1x_Octo_90Deg_Inv.B_1x_Octo_90Deg.B_1x_Octo.B_1x1F_Octo.B_2x2_Slipper.B_2x1_Slipper.B_Joint_Wheel_Micro.B_Joint_Wheel.B_Joint_Socket_Micro.B_Joint_Servo_Micro.B_Joint_Servo.B_Joint_Motor_Micro.B_Joint_Motor.B_Joint_Coupler.B_Joint_Bearing_Micro.B_Joint_Bearing.B_1x1_SoundEmitter.B_1x1_Gate_Teleport.B_1x1_Gate_RelativeTeleport.B_1x1_EntityGate_SetVelocity.B_1x1_EntityGate_SetLocationAndRotation.B_1x1_EntityGate_SetLocation.B_1x1_EntityGate_ReadBrickGrid.B_1x1_EntityGate_PlayAudioAt.B_1x1_EntityGate_AddVelocity.B_1x1_EntityGate_AddLocationAndRotation.B_1x1_CharacterGate_SetGravityDirection.B_Vehicle_Engine.B_Switch_Test.B_SpawnPoint.B_Seat.B_GoalPoint.B_DestinationPoint.B_CheckPoint.B_Button_Square.B_Button.B_Bot_Spawn_Point.B_2x2F_Target.B_2x2F_Speaker.B_1x1_Gate_WheelEngineSlim.B_1x1F_Speaker.B_1x1_Gate_AudioReference.B_1x1_Gate_Clock.B_1x1_Gate_DeltaTime.B_1x1_Gate_Exec_ArrayVar_Append.B_1x1_Gate_Exec_ArrayVar_Average.B_1x1_Gate_Exec_ArrayVar_Clear.B_1x1_Gate_Exec_ArrayVar_CopyFrom.B_1x1_Gate_Exec_ArrayVar_Fill.B_1x1_Gate_Exec_ArrayVar_Find.B_1x1_Gate_Exec_ArrayVar_Get.B_1x1_Gate_Exec_ArrayVar_GetLength.B_1x1_Gate_Exec_ArrayVar_Insert.B_1x1_Gate_Exec_ArrayVar_Max.B_1x1_Gate_Exec_ArrayVar_Min.B_1x1_Gate_Exec_ArrayVar_Pop.B_1x1_Gate_Exec_ArrayVar_Push.B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex.B_1x1_Gate_Exec_ArrayVar_Resize.B_1x1_Gate_Exec_ArrayVar_Reverse.B_1x1_Gate_Exec_ArrayVar_SetAtIndex.B_1x1_Gate_Exec_ArrayVar_Shuffle.B_1x1_Gate_Exec_ArrayVar_Slice.B_1x1_Gate_Exec_ArrayVar_Sort.B_1x1_Gate_Exec_ArrayVar_Sum.B_1x1_Gate_Exec_ArrayVar_Swap.B_1x1_Gate_Exec_Branch.B_1x1_Gate_Exec_Character_GetAim.B_1x1_Gate_Exec_Character_GetDamage.B_1x1_Gate_Exec_Character_GetFromController.B_1x1_Gate_Exec_Character_IncDamage.B_1x1_Gate_Exec_Character_SetDamage.B_1x1_Gate_Exec_Character_SetInventoryEntry.B_1x1_Gate_Exec_Character_SetTempPermission.B_1x1_Gate_Exec_Character_ShowHint.B_1x1_Gate_Exec_ChatCommand.B_1x1_Gate_Exec_Controller_DisplayText.B_1x1_Gate_Exec_Controller_GetDisplayName.B_1x1_Gate_Exec_Controller_GetFromEntity.B_1x1_Gate_Exec_Controller_GetUserId.B_1x1_Gate_Exec_Controller_GetUserName.B_1x1_Gate_Exec_Controller_HasPermission.B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner.B_1x1_Gate_Exec_Controller_SetCanRespawn.B_1x1_Gate_Exec_Controller_ShowStatusMessage.B_1x1_Gate_Exec_Entity_AddLocationRotation.B_1x1_Gate_Exec_Entity_AddVelocity.B_1x1_Gate_Exec_Entity_GetAngularVelocity.B_1x1_Gate_Exec_Entity_GetLinearVelocity.B_1x1_Gate_Exec_Entity_GetLocation.B_1x1_Gate_Exec_Entity_GetLocationRotation.B_1x1_Gate_Exec_Entity_GetRotation.B_1x1_Gate_Exec_Entity_GetVelocity.B_1x1_Gate_Exec_Entity_PlayAudioAt.B_1x1_Gate_Exec_Entity_RelativeTeleport.B_1x1_Gate_Exec_Entity_SetAngularVelocity.B_1x1_Gate_Exec_Entity_SetFrozen.B_1x1_Gate_Exec_Entity_SetGravityDirection.B_1x1_Gate_Exec_Entity_SetLinearVelocity.B_1x1_Gate_Exec_Entity_SetLocation.B_1x1_Gate_Exec_Entity_SetLocationRotation.B_1x1_Gate_Exec_Entity_SetRotation.B_1x1_Gate_Exec_Entity_SetVelocity.B_1x1_Gate_Exec_Entity_Teleport.B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers.B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers.B_1x1_Gate_Exec_Gamemode_GetCurrentRound.B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue.B_1x1_Gate_Exec_Gamemode_GetTeam.B_1x1_Gate_Exec_Gamemode_GetTeamByName.B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue.B_1x1_Gate_Exec_Gamemode_GetTeamName.B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue.B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue.B_1x1_Gate_Exec_Gamemode_PlayerWins.B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue.B_1x1_Gate_Exec_Gamemode_SetTeam.B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue.B_1x1_Gate_Exec_Gamemode_SetTeamPinned.B_1x1_Gate_Exec_Gamemode_TeamWins.B_1x1_Gate_Exec_PlayGlobalAudio.B_1x1_Gate_Exec_PrefabSpawner.B_1x1_Gate_Exec_PrintToConsole.B_1x1_Gate_Exec_Random.B_1x1_Gate_Exec_Sweep.B_1x1_Gate_Exec_Union.B_1x1_Gate_Exec_Var_Get.B_1x1_Gate_Exec_Var_Increment.B_1x1_Gate_Exec_Var_Set.B_1x1_Gate_Expr_BitwiseAND.B_1x1_Gate_Expr_BitwiseBitCount.B_1x1_Gate_Expr_BitwiseNAND.B_1x1_Gate_Expr_BitwiseNOR.B_1x1_Gate_Expr_BitwiseNOT.B_1x1_Gate_Expr_BitwiseOR.B_1x1_Gate_Expr_BitwiseShiftLeft.B_1x1_Gate_Expr_BitwiseShiftRight.B_1x1_Gate_Expr_BitwiseXOR.B_1x1_Gate_Expr_Ceil.B_1x1_Gate_Expr_CompareEqual.B_1x1_Gate_Expr_CompareGreater.B_1x1_Gate_Expr_CompareGreaterOrEqual.B_1x1_Gate_Expr_CompareLess.B_1x1_Gate_Expr_CompareLessOrEqual.B_1x1_Gate_Expr_CompareNotEqual.B_1x1_Gate_Expr_EdgeDetector.B_1x1_Gate_Expr_Floor.B_1x1_Gate_Expr_LogicalAND.B_1x1_Gate_Expr_LogicalNAND.B_1x1_Gate_Expr_LogicalNOR.B_1x1_Gate_Expr_LogicalNOT.B_1x1_Gate_Expr_LogicalOR.B_1x1_Gate_Expr_LogicalXOR.B_1x1_Gate_Expr_MakeColor.B_1x1_Gate_Expr_MakeVector.B_1x1_Gate_Expr_MathAbs.B_1x1_Gate_Expr_MathAcos.B_1x1_Gate_Expr_MathAcosh.B_1x1_Gate_Expr_MathAdd.B_1x1_Gate_Expr_MathAsin.B_1x1_Gate_Expr_MathAsinh.B_1x1_Gate_Expr_MathAtan.B_1x1_Gate_Expr_MathAtan2.B_1x1_Gate_Expr_MathAtanh.B_1x1_Gate_Expr_MathBlend.B_1x1_Gate_Expr_MathClamp.B_1x1_Gate_Expr_MathCos.B_1x1_Gate_Expr_MathCosh.B_1x1_Gate_Expr_MathDegreesToRadians.B_1x1_Gate_Expr_MathDivide.B_1x1_Gate_Expr_MathEasing.B_1x1_Gate_Expr_MathExp.B_1x1_Gate_Expr_MathLn.B_1x1_Gate_Expr_MathLogBase.B_1x1_Gate_Expr_MathMax.B_1x1_Gate_Expr_MathMin.B_1x1_Gate_Expr_MathModulo.B_1x1_Gate_Expr_MathModuloFloored.B_1x1_Gate_Expr_MathMultiply.B_1x1_Gate_Expr_MathNegate.B_1x1_Gate_Expr_MathPow.B_1x1_Gate_Expr_MathRadiansToDegrees.B_1x1_Gate_Expr_MathSign.B_1x1_Gate_Expr_MathSin.B_1x1_Gate_Expr_MathSinh.B_1x1_Gate_Expr_MathSqrt.B_1x1_Gate_Expr_MathSubtract.B_1x1_Gate_Expr_MathTan.B_1x1_Gate_Expr_MathTanh.B_1x1_Gate_Expr_NearlyEqual.B_1x1_Gate_Expr_Round.B_1x1_Gate_Expr_Select.B_1x1_Gate_Expr_SplitColor.B_1x1_Gate_Expr_SplitVector.B_1x1_Gate_Expr_String_Concatenate.B_1x1_Gate_Expr_String_Contains.B_1x1_Gate_Expr_String_EndsWith.B_1x1_Gate_Expr_String_Find.B_1x1_Gate_Expr_String_FormatText.B_1x1_Gate_Expr_String_Length.B_1x1_Gate_Expr_String_ParseInt.B_1x1_Gate_Expr_String_ParseNumber.B_1x1_Gate_Expr_String_Replace.B_1x1_Gate_Expr_String_Split.B_1x1_Gate_Expr_String_StartsWith.B_1x1_Gate_Expr_String_Substring.B_1x1_Gate_Expr_String_ToLower.B_1x1_Gate_Expr_String_ToUpper.B_1x1_Gate_Expr_String_Trim.B_1x1_Gate_Expr_Swap.B_1x1_Gate_Expr_VecCrossProduct.B_1x1_Gate_Expr_VecDistance.B_1x1_Gate_Expr_VecDistanceSquared.B_1x1_Gate_Expr_VecDotProduct.B_1x1_Gate_Expr_VecMagnitude.B_1x1_Gate_Expr_VecMagnitudeSquared.B_1x1_Gate_Expr_VecNormalize.B_1x1_Gate_Expr_VecRotationToDirection.B_1x1_Gate_Expr_VecScale.B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent.B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent.B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent.B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent.B_1x1_Gate_Fake_Gamemode_RoundEndEvent.B_1x1_Gate_Fake_Gamemode_RoundStartEvent.B_1x1_Gate_FontReference.B_1x1_Gate_Internal_CharacterZoneEvent_Entered.B_1x1_Gate_Internal_CharacterZoneEvent_Left.B_1x1_Gate_Internal_ReadBrickGrid.B_1x1_Gate_Internal_ZoneEvent_BrickChanged.B_1x1_Gate_Internal_ZoneEvent_BrickRemoved.B_1x1_Gate_ItemReference.B_1x1_Gate_OneShotAudioReference.B_1x1_Gate_ParticleReference.B_1x1_Gate_PickupReference.B_1x1_Gate_ProjectileReference.B_1x1_Gate_Pseudo_BufferSeconds.B_1x1_Gate_Pseudo_BufferTicks.B_1x1_Gate_Pseudo_Dampen.B_1x1_Gate_Pseudo_QueueSeconds.B_1x1_Gate_Pseudo_QueueTicks.B_1x1_Gate_Pseudo_Timer.B_1x1_Gate_Pseudo_Tween.B_1x1_Gate_SeatControlSplitter.B_1x1_Gate_ServerUptime.B_1x1_Gate_Variable.B_1x1_Gate_Variable_Array.B_1x1_Gate_WeightBrick.B_1x1_Gate_WheelEngineAudioReference.B_2x2_Thruster.B_Button_Pressed.B_Button_Square_Pressed.B_Joint_Fixed.B_Joint_Socket.B_Joint_Wheel_Micro_Suspension.B_Joint_Wheel_Suspension.B_Switch_Flipped`.split(`.`),Yi=`PB_DefaultBrick.PB_DefaultStudded.PB_DefaultRampInnerCornerInverted.PB_DefaultRampCrestEnd.PB_DefaultRampCrestCorner.PB_DefaultRampCrest.PB_DefaultRamp.PB_PicketFence.BP_LatticeThin.PB_DefaultWedge.PB_DefaultTile.PB_DefaultSmoothTile.PB_DefaultSideWedge.PB_DefaultRampInverted.PB_DefaultRampInnerCorner.PB_DefaultRampCornerInverted.PB_DefaultRampCorner.PB_DefaultPole.PB_DefaultMicroWedgeTriangleCorner.PB_DefaultMicroWedgeOuterCorner.PB_DefaultMicroWedgeInnerCorner.PB_DefaultMicroWedgeHalfOuterCorner.PB_DefaultMicroWedgeHalfInnerCornerInverted.PB_DefaultMicroWedgeHalfInnerCorner.PB_DefaultMicroWedgeCorner.PB_DefaultMicroWedge.PB_DefaultMicroRamp.PB_DefaultMicroBrick.PB_DefaultArch.BP_SquarePlate.BP_SpikePlate.PB_Spike.PB_SliderJoint.PB_ServoSliderJoint.PB_MotorSliderJoint.BP_RoundPlate.PB_RoundedCap.PB_Baguette`.split(`.`),Xi={BP_LatticeThin:`BP_LatticeThin`,BP_RoundPlate:`BP_RoundPlate`,BP_SpikePlate:`BP_SpikePlate`,BP_SquarePlate:`BP_SquarePlate`,B_1x1F_Octo:`B_1x1F_Octo`,B_1x1F_Round:`B_1x1F_Round`,B_1x1F_Speaker:`B_1x1F_Speaker`,B_1x1_Brick_Side:`B_1x1_Brick_Side`,B_1x1_Brick_Side_Lip:`B_1x1_Brick_Side_Lip`,B_1x1_CharacterGate_SetGravityDirection:`B_1x1_CharacterGate_SetGravityDirection`,B_1x1_Coin:`B_1x1_Coin`,B_1x1_Coin_Diagonal:`B_1x1_Coin_Diagonal`,B_1x1_Cone:`B_1x1_Cone`,B_1x1_EntityGate_AddLocationAndRotation:`B_1x1_EntityGate_AddLocationAndRotation`,B_1x1_EntityGate_AddVelocity:`B_1x1_EntityGate_AddVelocity`,B_1x1_EntityGate_PlayAudioAt:`B_1x1_EntityGate_PlayAudioAt`,B_1x1_EntityGate_ReadBrickGrid:`B_1x1_EntityGate_ReadBrickGrid`,B_1x1_EntityGate_SetLocation:`B_1x1_EntityGate_SetLocation`,B_1x1_EntityGate_SetLocationAndRotation:`B_1x1_EntityGate_SetLocationAndRotation`,B_1x1_EntityGate_SetVelocity:`B_1x1_EntityGate_SetVelocity`,B_1x1_Gate_AND:`B_1x1_Gate_AND`,B_1x1_Gate_AND_Bitwise:`B_1x1_Gate_AND_Bitwise`,B_1x1_Gate_Add:`B_1x1_Gate_Add`,B_1x1_Gate_AudioReference:`B_1x1_Gate_AudioReference`,B_1x1_Gate_Blend:`B_1x1_Gate_Blend`,B_1x1_Gate_Ceiling:`B_1x1_Gate_Ceiling`,B_1x1_Gate_Clock:`B_1x1_Gate_Clock`,B_1x1_Gate_Constant:`B_1x1_Gate_Constant`,B_1x1_Gate_DeltaTime:`B_1x1_Gate_DeltaTime`,B_1x1_Gate_Divide:`B_1x1_Gate_Divide`,B_1x1_Gate_EdgeDetector:`B_1x1_Gate_EdgeDetector`,B_1x1_Gate_Equal:`B_1x1_Gate_Equal`,B_1x1_Gate_Exec_ArrayVar_Append:`B_1x1_Gate_Exec_ArrayVar_Append`,B_1x1_Gate_Exec_ArrayVar_Average:`B_1x1_Gate_Exec_ArrayVar_Average`,B_1x1_Gate_Exec_ArrayVar_Clear:`B_1x1_Gate_Exec_ArrayVar_Clear`,B_1x1_Gate_Exec_ArrayVar_CopyFrom:`B_1x1_Gate_Exec_ArrayVar_CopyFrom`,B_1x1_Gate_Exec_ArrayVar_Fill:`B_1x1_Gate_Exec_ArrayVar_Fill`,B_1x1_Gate_Exec_ArrayVar_Find:`B_1x1_Gate_Exec_ArrayVar_Find`,B_1x1_Gate_Exec_ArrayVar_Get:`B_1x1_Gate_Exec_ArrayVar_Get`,B_1x1_Gate_Exec_ArrayVar_GetLength:`B_1x1_Gate_Exec_ArrayVar_GetLength`,B_1x1_Gate_Exec_ArrayVar_Insert:`B_1x1_Gate_Exec_ArrayVar_Insert`,B_1x1_Gate_Exec_ArrayVar_Max:`B_1x1_Gate_Exec_ArrayVar_Max`,B_1x1_Gate_Exec_ArrayVar_Min:`B_1x1_Gate_Exec_ArrayVar_Min`,B_1x1_Gate_Exec_ArrayVar_Pop:`B_1x1_Gate_Exec_ArrayVar_Pop`,B_1x1_Gate_Exec_ArrayVar_Push:`B_1x1_Gate_Exec_ArrayVar_Push`,B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex:`B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex`,B_1x1_Gate_Exec_ArrayVar_Resize:`B_1x1_Gate_Exec_ArrayVar_Resize`,B_1x1_Gate_Exec_ArrayVar_Reverse:`B_1x1_Gate_Exec_ArrayVar_Reverse`,B_1x1_Gate_Exec_ArrayVar_SetAtIndex:`B_1x1_Gate_Exec_ArrayVar_SetAtIndex`,B_1x1_Gate_Exec_ArrayVar_Shuffle:`B_1x1_Gate_Exec_ArrayVar_Shuffle`,B_1x1_Gate_Exec_ArrayVar_Slice:`B_1x1_Gate_Exec_ArrayVar_Slice`,B_1x1_Gate_Exec_ArrayVar_Sort:`B_1x1_Gate_Exec_ArrayVar_Sort`,B_1x1_Gate_Exec_ArrayVar_Sum:`B_1x1_Gate_Exec_ArrayVar_Sum`,B_1x1_Gate_Exec_ArrayVar_Swap:`B_1x1_Gate_Exec_ArrayVar_Swap`,B_1x1_Gate_Exec_Branch:`B_1x1_Gate_Exec_Branch`,B_1x1_Gate_Exec_Character_GetAim:`B_1x1_Gate_Exec_Character_GetAim`,B_1x1_Gate_Exec_Character_GetDamage:`B_1x1_Gate_Exec_Character_GetDamage`,B_1x1_Gate_Exec_Character_GetFromController:`B_1x1_Gate_Exec_Character_GetFromController`,B_1x1_Gate_Exec_Character_IncDamage:`B_1x1_Gate_Exec_Character_IncDamage`,B_1x1_Gate_Exec_Character_SetDamage:`B_1x1_Gate_Exec_Character_SetDamage`,B_1x1_Gate_Exec_Character_SetInventoryEntry:`B_1x1_Gate_Exec_Character_SetInventoryEntry`,B_1x1_Gate_Exec_Character_SetTempPermission:`B_1x1_Gate_Exec_Character_SetTempPermission`,B_1x1_Gate_Exec_Character_ShowHint:`B_1x1_Gate_Exec_Character_ShowHint`,B_1x1_Gate_Exec_ChatCommand:`B_1x1_Gate_Exec_ChatCommand`,B_1x1_Gate_Exec_Controller_DisplayText:`B_1x1_Gate_Exec_Controller_DisplayText`,B_1x1_Gate_Exec_Controller_GetDisplayName:`B_1x1_Gate_Exec_Controller_GetDisplayName`,B_1x1_Gate_Exec_Controller_GetFromEntity:`B_1x1_Gate_Exec_Controller_GetFromEntity`,B_1x1_Gate_Exec_Controller_GetUserId:`B_1x1_Gate_Exec_Controller_GetUserId`,B_1x1_Gate_Exec_Controller_GetUserName:`B_1x1_Gate_Exec_Controller_GetUserName`,B_1x1_Gate_Exec_Controller_HasPermission:`B_1x1_Gate_Exec_Controller_HasPermission`,B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner:`B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner`,B_1x1_Gate_Exec_Controller_SetCanRespawn:`B_1x1_Gate_Exec_Controller_SetCanRespawn`,B_1x1_Gate_Exec_Controller_ShowStatusMessage:`B_1x1_Gate_Exec_Controller_ShowStatusMessage`,B_1x1_Gate_Exec_Entity_AddLocationRotation:`B_1x1_Gate_Exec_Entity_AddLocationRotation`,B_1x1_Gate_Exec_Entity_AddVelocity:`B_1x1_Gate_Exec_Entity_AddVelocity`,B_1x1_Gate_Exec_Entity_GetAngularVelocity:`B_1x1_Gate_Exec_Entity_GetAngularVelocity`,B_1x1_Gate_Exec_Entity_GetLinearVelocity:`B_1x1_Gate_Exec_Entity_GetLinearVelocity`,B_1x1_Gate_Exec_Entity_GetLocation:`B_1x1_Gate_Exec_Entity_GetLocation`,B_1x1_Gate_Exec_Entity_GetLocationRotation:`B_1x1_Gate_Exec_Entity_GetLocationRotation`,B_1x1_Gate_Exec_Entity_GetRotation:`B_1x1_Gate_Exec_Entity_GetRotation`,B_1x1_Gate_Exec_Entity_GetVelocity:`B_1x1_Gate_Exec_Entity_GetVelocity`,B_1x1_Gate_Exec_Entity_PlayAudioAt:`B_1x1_Gate_Exec_Entity_PlayAudioAt`,B_1x1_Gate_Exec_Entity_RelativeTeleport:`B_1x1_Gate_Exec_Entity_RelativeTeleport`,B_1x1_Gate_Exec_Entity_SetAngularVelocity:`B_1x1_Gate_Exec_Entity_SetAngularVelocity`,B_1x1_Gate_Exec_Entity_SetFrozen:`B_1x1_Gate_Exec_Entity_SetFrozen`,B_1x1_Gate_Exec_Entity_SetGravityDirection:`B_1x1_Gate_Exec_Entity_SetGravityDirection`,B_1x1_Gate_Exec_Entity_SetLinearVelocity:`B_1x1_Gate_Exec_Entity_SetLinearVelocity`,B_1x1_Gate_Exec_Entity_SetLocation:`B_1x1_Gate_Exec_Entity_SetLocation`,B_1x1_Gate_Exec_Entity_SetLocationRotation:`B_1x1_Gate_Exec_Entity_SetLocationRotation`,B_1x1_Gate_Exec_Entity_SetRotation:`B_1x1_Gate_Exec_Entity_SetRotation`,B_1x1_Gate_Exec_Entity_SetVelocity:`B_1x1_Gate_Exec_Entity_SetVelocity`,B_1x1_Gate_Exec_Entity_Teleport:`B_1x1_Gate_Exec_Entity_Teleport`,B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers:`B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers`,B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers:`B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers`,B_1x1_Gate_Exec_Gamemode_GetCurrentRound:`B_1x1_Gate_Exec_Gamemode_GetCurrentRound`,B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_GetTeam:`B_1x1_Gate_Exec_Gamemode_GetTeam`,B_1x1_Gate_Exec_Gamemode_GetTeamByName:`B_1x1_Gate_Exec_Gamemode_GetTeamByName`,B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_GetTeamName:`B_1x1_Gate_Exec_Gamemode_GetTeamName`,B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_PlayerWins:`B_1x1_Gate_Exec_Gamemode_PlayerWins`,B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_SetTeam:`B_1x1_Gate_Exec_Gamemode_SetTeam`,B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_SetTeamPinned:`B_1x1_Gate_Exec_Gamemode_SetTeamPinned`,B_1x1_Gate_Exec_Gamemode_TeamWins:`B_1x1_Gate_Exec_Gamemode_TeamWins`,B_1x1_Gate_Exec_PlayGlobalAudio:`B_1x1_Gate_Exec_PlayGlobalAudio`,B_1x1_Gate_Exec_PrefabSpawner:`B_1x1_Gate_Exec_PrefabSpawner`,B_1x1_Gate_Exec_PrintToConsole:`B_1x1_Gate_Exec_PrintToConsole`,B_1x1_Gate_Exec_Random:`B_1x1_Gate_Exec_Random`,B_1x1_Gate_Exec_Sweep:`B_1x1_Gate_Exec_Sweep`,B_1x1_Gate_Exec_Union:`B_1x1_Gate_Exec_Union`,B_1x1_Gate_Exec_Var_Get:`B_1x1_Gate_Exec_Var_Get`,B_1x1_Gate_Exec_Var_Increment:`B_1x1_Gate_Exec_Var_Increment`,B_1x1_Gate_Exec_Var_Set:`B_1x1_Gate_Exec_Var_Set`,B_1x1_Gate_Expr_BitwiseAND:`B_1x1_Gate_Expr_BitwiseAND`,B_1x1_Gate_Expr_BitwiseBitCount:`B_1x1_Gate_Expr_BitwiseBitCount`,B_1x1_Gate_Expr_BitwiseNAND:`B_1x1_Gate_Expr_BitwiseNAND`,B_1x1_Gate_Expr_BitwiseNOR:`B_1x1_Gate_Expr_BitwiseNOR`,B_1x1_Gate_Expr_BitwiseNOT:`B_1x1_Gate_Expr_BitwiseNOT`,B_1x1_Gate_Expr_BitwiseOR:`B_1x1_Gate_Expr_BitwiseOR`,B_1x1_Gate_Expr_BitwiseShiftLeft:`B_1x1_Gate_Expr_BitwiseShiftLeft`,B_1x1_Gate_Expr_BitwiseShiftRight:`B_1x1_Gate_Expr_BitwiseShiftRight`,B_1x1_Gate_Expr_BitwiseXOR:`B_1x1_Gate_Expr_BitwiseXOR`,B_1x1_Gate_Expr_Ceil:`B_1x1_Gate_Expr_Ceil`,B_1x1_Gate_Expr_CompareEqual:`B_1x1_Gate_Expr_CompareEqual`,B_1x1_Gate_Expr_CompareGreater:`B_1x1_Gate_Expr_CompareGreater`,B_1x1_Gate_Expr_CompareGreaterOrEqual:`B_1x1_Gate_Expr_CompareGreaterOrEqual`,B_1x1_Gate_Expr_CompareLess:`B_1x1_Gate_Expr_CompareLess`,B_1x1_Gate_Expr_CompareLessOrEqual:`B_1x1_Gate_Expr_CompareLessOrEqual`,B_1x1_Gate_Expr_CompareNotEqual:`B_1x1_Gate_Expr_CompareNotEqual`,B_1x1_Gate_Expr_EdgeDetector:`B_1x1_Gate_Expr_EdgeDetector`,B_1x1_Gate_Expr_Floor:`B_1x1_Gate_Expr_Floor`,B_1x1_Gate_Expr_LogicalAND:`B_1x1_Gate_Expr_LogicalAND`,B_1x1_Gate_Expr_LogicalNAND:`B_1x1_Gate_Expr_LogicalNAND`,B_1x1_Gate_Expr_LogicalNOR:`B_1x1_Gate_Expr_LogicalNOR`,B_1x1_Gate_Expr_LogicalNOT:`B_1x1_Gate_Expr_LogicalNOT`,B_1x1_Gate_Expr_LogicalOR:`B_1x1_Gate_Expr_LogicalOR`,B_1x1_Gate_Expr_LogicalXOR:`B_1x1_Gate_Expr_LogicalXOR`,B_1x1_Gate_Expr_MakeColor:`B_1x1_Gate_Expr_MakeColor`,B_1x1_Gate_Expr_MakeVector:`B_1x1_Gate_Expr_MakeVector`,B_1x1_Gate_Expr_MathAbs:`B_1x1_Gate_Expr_MathAbs`,B_1x1_Gate_Expr_MathAcos:`B_1x1_Gate_Expr_MathAcos`,B_1x1_Gate_Expr_MathAcosh:`B_1x1_Gate_Expr_MathAcosh`,B_1x1_Gate_Expr_MathAdd:`B_1x1_Gate_Expr_MathAdd`,B_1x1_Gate_Expr_MathAsin:`B_1x1_Gate_Expr_MathAsin`,B_1x1_Gate_Expr_MathAsinh:`B_1x1_Gate_Expr_MathAsinh`,B_1x1_Gate_Expr_MathAtan:`B_1x1_Gate_Expr_MathAtan`,B_1x1_Gate_Expr_MathAtan2:`B_1x1_Gate_Expr_MathAtan2`,B_1x1_Gate_Expr_MathAtanh:`B_1x1_Gate_Expr_MathAtanh`,B_1x1_Gate_Expr_MathBlend:`B_1x1_Gate_Expr_MathBlend`,B_1x1_Gate_Expr_MathClamp:`B_1x1_Gate_Expr_MathClamp`,B_1x1_Gate_Expr_MathCos:`B_1x1_Gate_Expr_MathCos`,B_1x1_Gate_Expr_MathCosh:`B_1x1_Gate_Expr_MathCosh`,B_1x1_Gate_Expr_MathDegreesToRadians:`B_1x1_Gate_Expr_MathDegreesToRadians`,B_1x1_Gate_Expr_MathDivide:`B_1x1_Gate_Expr_MathDivide`,B_1x1_Gate_Expr_MathEasing:`B_1x1_Gate_Expr_MathEasing`,B_1x1_Gate_Expr_MathExp:`B_1x1_Gate_Expr_MathExp`,B_1x1_Gate_Expr_MathLn:`B_1x1_Gate_Expr_MathLn`,B_1x1_Gate_Expr_MathLogBase:`B_1x1_Gate_Expr_MathLogBase`,B_1x1_Gate_Expr_MathMax:`B_1x1_Gate_Expr_MathMax`,B_1x1_Gate_Expr_MathMin:`B_1x1_Gate_Expr_MathMin`,B_1x1_Gate_Expr_MathModulo:`B_1x1_Gate_Expr_MathModulo`,B_1x1_Gate_Expr_MathModuloFloored:`B_1x1_Gate_Expr_MathModuloFloored`,B_1x1_Gate_Expr_MathMultiply:`B_1x1_Gate_Expr_MathMultiply`,B_1x1_Gate_Expr_MathNegate:`B_1x1_Gate_Expr_MathNegate`,B_1x1_Gate_Expr_MathPow:`B_1x1_Gate_Expr_MathPow`,B_1x1_Gate_Expr_MathRadiansToDegrees:`B_1x1_Gate_Expr_MathRadiansToDegrees`,B_1x1_Gate_Expr_MathSign:`B_1x1_Gate_Expr_MathSign`,B_1x1_Gate_Expr_MathSin:`B_1x1_Gate_Expr_MathSin`,B_1x1_Gate_Expr_MathSinh:`B_1x1_Gate_Expr_MathSinh`,B_1x1_Gate_Expr_MathSqrt:`B_1x1_Gate_Expr_MathSqrt`,B_1x1_Gate_Expr_MathSubtract:`B_1x1_Gate_Expr_MathSubtract`,B_1x1_Gate_Expr_MathTan:`B_1x1_Gate_Expr_MathTan`,B_1x1_Gate_Expr_MathTanh:`B_1x1_Gate_Expr_MathTanh`,B_1x1_Gate_Expr_NearlyEqual:`B_1x1_Gate_Expr_NearlyEqual`,B_1x1_Gate_Expr_Round:`B_1x1_Gate_Expr_Round`,B_1x1_Gate_Expr_Select:`B_1x1_Gate_Expr_Select`,B_1x1_Gate_Expr_SplitColor:`B_1x1_Gate_Expr_SplitColor`,B_1x1_Gate_Expr_SplitVector:`B_1x1_Gate_Expr_SplitVector`,B_1x1_Gate_Expr_String_Concatenate:`B_1x1_Gate_Expr_String_Concatenate`,B_1x1_Gate_Expr_String_Contains:`B_1x1_Gate_Expr_String_Contains`,B_1x1_Gate_Expr_String_EndsWith:`B_1x1_Gate_Expr_String_EndsWith`,B_1x1_Gate_Expr_String_Find:`B_1x1_Gate_Expr_String_Find`,B_1x1_Gate_Expr_String_FormatText:`B_1x1_Gate_Expr_String_FormatText`,B_1x1_Gate_Expr_String_Length:`B_1x1_Gate_Expr_String_Length`,B_1x1_Gate_Expr_String_ParseInt:`B_1x1_Gate_Expr_String_ParseInt`,B_1x1_Gate_Expr_String_ParseNumber:`B_1x1_Gate_Expr_String_ParseNumber`,B_1x1_Gate_Expr_String_Replace:`B_1x1_Gate_Expr_String_Replace`,B_1x1_Gate_Expr_String_Split:`B_1x1_Gate_Expr_String_Split`,B_1x1_Gate_Expr_String_StartsWith:`B_1x1_Gate_Expr_String_StartsWith`,B_1x1_Gate_Expr_String_Substring:`B_1x1_Gate_Expr_String_Substring`,B_1x1_Gate_Expr_String_ToLower:`B_1x1_Gate_Expr_String_ToLower`,B_1x1_Gate_Expr_String_ToUpper:`B_1x1_Gate_Expr_String_ToUpper`,B_1x1_Gate_Expr_String_Trim:`B_1x1_Gate_Expr_String_Trim`,B_1x1_Gate_Expr_Swap:`B_1x1_Gate_Expr_Swap`,B_1x1_Gate_Expr_VecCrossProduct:`B_1x1_Gate_Expr_VecCrossProduct`,B_1x1_Gate_Expr_VecDistance:`B_1x1_Gate_Expr_VecDistance`,B_1x1_Gate_Expr_VecDistanceSquared:`B_1x1_Gate_Expr_VecDistanceSquared`,B_1x1_Gate_Expr_VecDotProduct:`B_1x1_Gate_Expr_VecDotProduct`,B_1x1_Gate_Expr_VecMagnitude:`B_1x1_Gate_Expr_VecMagnitude`,B_1x1_Gate_Expr_VecMagnitudeSquared:`B_1x1_Gate_Expr_VecMagnitudeSquared`,B_1x1_Gate_Expr_VecNormalize:`B_1x1_Gate_Expr_VecNormalize`,B_1x1_Gate_Expr_VecRotationToDirection:`B_1x1_Gate_Expr_VecRotationToDirection`,B_1x1_Gate_Expr_VecScale:`B_1x1_Gate_Expr_VecScale`,B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent:`B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent`,B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent:`B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent`,B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent:`B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent`,B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent:`B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent`,B_1x1_Gate_Fake_Gamemode_RoundEndEvent:`B_1x1_Gate_Fake_Gamemode_RoundEndEvent`,B_1x1_Gate_Fake_Gamemode_RoundStartEvent:`B_1x1_Gate_Fake_Gamemode_RoundStartEvent`,B_1x1_Gate_Floor:`B_1x1_Gate_Floor`,B_1x1_Gate_FontReference:`B_1x1_Gate_FontReference`,B_1x1_Gate_GreaterThan:`B_1x1_Gate_GreaterThan`,B_1x1_Gate_GreaterThanEqual:`B_1x1_Gate_GreaterThanEqual`,B_1x1_Gate_Internal_CharacterZoneEvent_Entered:`B_1x1_Gate_Internal_CharacterZoneEvent_Entered`,B_1x1_Gate_Internal_CharacterZoneEvent_Left:`B_1x1_Gate_Internal_CharacterZoneEvent_Left`,B_1x1_Gate_Internal_ReadBrickGrid:`B_1x1_Gate_Internal_ReadBrickGrid`,B_1x1_Gate_Internal_ZoneEvent_BrickChanged:`B_1x1_Gate_Internal_ZoneEvent_BrickChanged`,B_1x1_Gate_Internal_ZoneEvent_BrickRemoved:`B_1x1_Gate_Internal_ZoneEvent_BrickRemoved`,B_1x1_Gate_ItemReference:`B_1x1_Gate_ItemReference`,B_1x1_Gate_LessThan:`B_1x1_Gate_LessThan`,B_1x1_Gate_LessThanEqual:`B_1x1_Gate_LessThanEqual`,B_1x1_Gate_MicrochipInput:`B_1x1_Gate_MicrochipInput`,B_1x1_Gate_MicrochipOutput:`B_1x1_Gate_MicrochipOutput`,B_1x1_Gate_Mod:`B_1x1_Gate_Mod`,B_1x1_Gate_ModFloored:`B_1x1_Gate_ModFloored`,B_1x1_Gate_Multiply:`B_1x1_Gate_Multiply`,B_1x1_Gate_NAND:`B_1x1_Gate_NAND`,B_1x1_Gate_NAND_Bitwise:`B_1x1_Gate_NAND_Bitwise`,B_1x1_Gate_NOR:`B_1x1_Gate_NOR`,B_1x1_Gate_NOR_Bitwise:`B_1x1_Gate_NOR_Bitwise`,B_1x1_Gate_NOT_Bitwise:`B_1x1_Gate_NOT_Bitwise`,B_1x1_Gate_NotEqual:`B_1x1_Gate_NotEqual`,B_1x1_Gate_OR:`B_1x1_Gate_OR`,B_1x1_Gate_OR_Bitwise:`B_1x1_Gate_OR_Bitwise`,B_1x1_Gate_OneShotAudioReference:`B_1x1_Gate_OneShotAudioReference`,B_1x1_Gate_ParticleReference:`B_1x1_Gate_ParticleReference`,B_1x1_Gate_PickupReference:`B_1x1_Gate_PickupReference`,B_1x1_Gate_ProjectileReference:`B_1x1_Gate_ProjectileReference`,B_1x1_Gate_Pseudo_BufferSeconds:`B_1x1_Gate_Pseudo_BufferSeconds`,B_1x1_Gate_Pseudo_BufferTicks:`B_1x1_Gate_Pseudo_BufferTicks`,B_1x1_Gate_Pseudo_Dampen:`B_1x1_Gate_Pseudo_Dampen`,B_1x1_Gate_Pseudo_QueueSeconds:`B_1x1_Gate_Pseudo_QueueSeconds`,B_1x1_Gate_Pseudo_QueueTicks:`B_1x1_Gate_Pseudo_QueueTicks`,B_1x1_Gate_Pseudo_Timer:`B_1x1_Gate_Pseudo_Timer`,B_1x1_Gate_Pseudo_Tween:`B_1x1_Gate_Pseudo_Tween`,B_1x1_Gate_RelativeTeleport:`B_1x1_Gate_RelativeTeleport`,B_1x1_Gate_SeatControlSplitter:`B_1x1_Gate_SeatControlSplitter`,B_1x1_Gate_ServerUptime:`B_1x1_Gate_ServerUptime`,B_1x1_Gate_ShiftLeft_Bitwise:`B_1x1_Gate_ShiftLeft_Bitwise`,B_1x1_Gate_ShiftRight_Bitwise:`B_1x1_Gate_ShiftRight_Bitwise`,B_1x1_Gate_Subtract:`B_1x1_Gate_Subtract`,B_1x1_Gate_Teleport:`B_1x1_Gate_Teleport`,B_1x1_Gate_Timer:`B_1x1_Gate_Timer`,B_1x1_Gate_Timer_Tick:`B_1x1_Gate_Timer_Tick`,B_1x1_Gate_Variable:`B_1x1_Gate_Variable`,B_1x1_Gate_Variable_Array:`B_1x1_Gate_Variable_Array`,B_1x1_Gate_WeightBrick:`B_1x1_Gate_WeightBrick`,B_1x1_Gate_WheelEngineAudioReference:`B_1x1_Gate_WheelEngineAudioReference`,B_1x1_Gate_WheelEngineSlim:`B_1x1_Gate_WheelEngineSlim`,B_1x1_Gate_XOR:`B_1x1_Gate_XOR`,B_1x1_Gate_XOR_Bitwise:`B_1x1_Gate_XOR_Bitwise`,B_1x1_Microchip:`B_1x1_Microchip`,B_1x1_NOT_Gate:`B_1x1_NOT_Gate`,B_1x1_Reroute_Node:`B_1x1_Reroute_Node`,B_1x1_Round:`B_1x1_Round`,B_1x1_SoundEmitter:`B_1x1_SoundEmitter`,B_1x1f_Inverse_Tile_Corner:`B_1x1f_Inverse_Tile_Corner`,B_1x1f_Tile_Corner:`B_1x1f_Tile_Corner`,B_1x2_MetalIngot:`B_1x2_MetalIngot`,B_1x2_Overhang:`B_1x2_Overhang`,B_1x2f_Plate_Center:`B_1x2f_Plate_Center`,B_1x2f_Plate_Center_Inv:`B_1x2f_Plate_Center_Inv`,B_1x4_Brick_Side:`B_1x4_Brick_Side`,B_1x_Octo:`B_1x_Octo`,B_1x_Octo_90Deg:`B_1x_Octo_90Deg`,B_1x_Octo_90Deg_Inv:`B_1x_Octo_90Deg_Inv`,B_1x_Octo_T:`B_1x_Octo_T`,B_1x_Octo_T_Inv:`B_1x_Octo_T_Inv`,B_2x1_Slipper:`B_2x1_Slipper`,B_2x2F_Octo:`B_2x2F_Octo`,B_2x2F_Octo_Converter:`B_2x2F_Octo_Converter`,B_2x2F_Octo_Converter_Inv:`B_2x2F_Octo_Converter_Inv`,B_2x2F_Round:`B_2x2F_Round`,B_2x2F_Speaker:`B_2x2F_Speaker`,B_2x2F_Target:`B_2x2F_Target`,B_2x2_Cone:`B_2x2_Cone`,B_2x2_Corner:`B_2x2_Corner`,B_2x2_Overhang:`B_2x2_Overhang`,B_2x2_Round:`B_2x2_Round`,B_2x2_Slipper:`B_2x2_Slipper`,B_2x2_Thruster:`B_2x2_Thruster`,B_2x2f_Plate_Center:`B_2x2f_Plate_Center`,B_2x2f_Plate_Center_Inv:`B_2x2f_Plate_Center_Inv`,B_2x4_Door_Frame:`B_2x4_Door_Frame`,B_2x_Octo:`B_2x_Octo`,B_2x_Octo_90Deg:`B_2x_Octo_90Deg`,B_2x_Octo_90Deg_Inv:`B_2x_Octo_90Deg_Inv`,B_2x_Octo_Cone:`B_2x_Octo_Cone`,B_2x_Octo_T:`B_2x_Octo_T`,B_2x_Octo_T_Inv:`B_2x_Octo_T_Inv`,B_4x4_Round:`B_4x4_Round`,B_8x8_Lattice_Plate:`B_8x8_Lattice_Plate`,B_Bishop:`B_Bishop`,B_Bone:`B_Bone`,B_BoneStraight:`B_BoneStraight`,B_Bot_Spawn_Point:`B_Bot_Spawn_Point`,B_Branch:`B_Branch`,B_Button:`B_Button`,B_Button_Pressed:`B_Button_Pressed`,B_Button_Square:`B_Button_Square`,B_Button_Square_Pressed:`B_Button_Square_Pressed`,B_Cauldron:`B_Cauldron`,B_Chalice:`B_Chalice`,B_CheckPoint:`B_CheckPoint`,B_Coffin:`B_Coffin`,B_Coffin_Lid:`B_Coffin_Lid`,B_DestinationPoint:`B_DestinationPoint`,B_Fern:`B_Fern`,B_Flame:`B_Flame`,B_Flower:`B_Flower`,B_Fork:`B_Fork`,B_Frog:`B_Frog`,B_Frog_Small:`B_Frog_Small`,B_GoalPoint:`B_GoalPoint`,B_Gravestone:`B_Gravestone`,B_Handle:`B_Handle`,B_Hedge_1x1:`B_Hedge_1x1`,B_Hedge_1x1_Corner:`B_Hedge_1x1_Corner`,B_Hedge_1x2:`B_Hedge_1x2`,B_Hedge_1x4:`B_Hedge_1x4`,B_Inverted_Cone:`B_Inverted_Cone`,B_Jar:`B_Jar`,B_Joint_Bearing:`B_Joint_Bearing`,B_Joint_Bearing_Micro:`B_Joint_Bearing_Micro`,B_Joint_Coupler:`B_Joint_Coupler`,B_Joint_Fixed:`B_Joint_Fixed`,B_Joint_Motor:`B_Joint_Motor`,B_Joint_Motor_Micro:`B_Joint_Motor_Micro`,B_Joint_Servo:`B_Joint_Servo`,B_Joint_Servo_Micro:`B_Joint_Servo_Micro`,B_Joint_Socket:`B_Joint_Socket`,B_Joint_Socket_Micro:`B_Joint_Socket_Micro`,B_Joint_Wheel:`B_Joint_Wheel`,B_Joint_Wheel_Micro:`B_Joint_Wheel_Micro`,B_Joint_Wheel_Micro_Suspension:`B_Joint_Wheel_Micro_Suspension`,B_Joint_Wheel_Suspension:`B_Joint_Wheel_Suspension`,B_King:`B_King`,B_Knight:`B_Knight`,B_Ladder:`B_Ladder`,B_Leaf_Bush:`B_Leaf_Bush`,B_Pawn:`B_Pawn`,B_Pine_Tree:`B_Pine_Tree`,B_Pumpkin:`B_Pumpkin`,B_Pumpkin_Carved:`B_Pumpkin_Carved`,B_Queen:`B_Queen`,B_Rook:`B_Rook`,B_Sausage:`B_Sausage`,B_Seat:`B_Seat`,B_Small_Flower:`B_Small_Flower`,B_SpawnPoint:`B_SpawnPoint`,B_Spoon:`B_Spoon`,B_Swirl_Plate:`B_Swirl_Plate`,B_Switch_Flipped:`B_Switch_Flipped`,B_Switch_Test:`B_Switch_Test`,B_Turkey_Body:`B_Turkey_Body`,B_Turkey_Leg:`B_Turkey_Leg`,B_Vehicle_Engine:`B_Vehicle_Engine`,PB_Baguette:`PB_Baguette`,PB_DefaultArch:`PB_DefaultArch`,PB_DefaultBrick:`PB_DefaultBrick`,PB_DefaultMicroBrick:`PB_DefaultMicroBrick`,PB_DefaultMicroRamp:`PB_DefaultMicroRamp`,PB_DefaultMicroWedge:`PB_DefaultMicroWedge`,PB_DefaultMicroWedgeCorner:`PB_DefaultMicroWedgeCorner`,PB_DefaultMicroWedgeHalfInnerCorner:`PB_DefaultMicroWedgeHalfInnerCorner`,PB_DefaultMicroWedgeHalfInnerCornerInverted:`PB_DefaultMicroWedgeHalfInnerCornerInverted`,PB_DefaultMicroWedgeHalfOuterCorner:`PB_DefaultMicroWedgeHalfOuterCorner`,PB_DefaultMicroWedgeInnerCorner:`PB_DefaultMicroWedgeInnerCorner`,PB_DefaultMicroWedgeOuterCorner:`PB_DefaultMicroWedgeOuterCorner`,PB_DefaultMicroWedgeTriangleCorner:`PB_DefaultMicroWedgeTriangleCorner`,PB_DefaultPole:`PB_DefaultPole`,PB_DefaultRamp:`PB_DefaultRamp`,PB_DefaultRampCorner:`PB_DefaultRampCorner`,PB_DefaultRampCornerInverted:`PB_DefaultRampCornerInverted`,PB_DefaultRampCrest:`PB_DefaultRampCrest`,PB_DefaultRampCrestCorner:`PB_DefaultRampCrestCorner`,PB_DefaultRampCrestEnd:`PB_DefaultRampCrestEnd`,PB_DefaultRampInnerCorner:`PB_DefaultRampInnerCorner`,PB_DefaultRampInnerCornerInverted:`PB_DefaultRampInnerCornerInverted`,PB_DefaultRampInverted:`PB_DefaultRampInverted`,PB_DefaultSideWedge:`PB_DefaultSideWedge`,PB_DefaultSmoothTile:`PB_DefaultSmoothTile`,PB_DefaultStudded:`PB_DefaultStudded`,PB_DefaultTile:`PB_DefaultTile`,PB_DefaultWedge:`PB_DefaultWedge`,PB_MotorSliderJoint:`PB_MotorSliderJoint`,PB_PicketFence:`PB_PicketFence`,PB_RoundedCap:`PB_RoundedCap`,PB_ServoSliderJoint:`PB_ServoSliderJoint`,PB_SliderJoint:`PB_SliderJoint`,PB_Spike:`PB_Spike`},Zi=new Set(Ji),Qi=new Set(Yi);function $i(e){return Qi.has(e)?!0:Zi.has(e)?!1:e.startsWith(`PB_`)||e.startsWith(`BP_`)}var ea=new Map([[`BrickComponentType_Internal_CharacterZoneEvent_Entered`,`BrickComponentData_Internal_CharacterZoneEvent`],[`BrickComponentType_Internal_CharacterZoneEvent_Left`,`BrickComponentData_Internal_CharacterZoneEvent`],[`BrickComponentType_Internal_EntityZoneEvent_Entered`,`BrickComponentData_Internal_EntityZoneEvent`],[`BrickComponentType_Internal_EntityZoneEvent_Left`,`BrickComponentData_Internal_EntityZoneEvent`],[`BrickComponentType_Internal_MicrochipInput`,`BrickComponentData_Internal_MicrochipInput`],[`BrickComponentType_Internal_MicrochipOutput`,`BrickComponentData_Internal_MicrochipOutput`],[`BrickComponentType_Internal_ProjectileZoneEvent_Entered`,`BrickComponentData_Internal_ProjectileZoneEvent`],[`BrickComponentType_Internal_ProjectileZoneEvent_Left`,`BrickComponentData_Internal_ProjectileZoneEvent`],[`BrickComponentType_Internal_ReadBrickGrid`,`BrickComponentData_Internal_ReadBrickGrid`],[`BrickComponentType_Internal_TeleportDestination`,`BrickComponentData_TeleportDestination`],[`BrickComponentType_Internal_ZoneEvent_BrickChanged`,`BrickComponentData_Internal_ZoneEvent`],[`BrickComponentType_Internal_ZoneEvent_BrickRemoved`,`BrickComponentData_Internal_ZoneEvent`],[`BrickComponentType_PrefabSpawn`,`BrickComponentData_PrefabSpawn`],[`BrickComponentType_WireGraphPseudo_ArrayVar`,`BrickComponentData_WireGraphPseudo_ArrayVar`],[`BrickComponentType_WireGraphPseudo_BufferSeconds`,`BrickComponentData_WireGraphPseudo_BufferSeconds`],[`BrickComponentType_WireGraphPseudo_BufferTicks`,`BrickComponentData_WireGraphPseudo_BufferTicks`],[`BrickComponentType_WireGraphPseudo_Dampen`,`BrickComponentData_WireGraphPseudo_Dampen`],[`BrickComponentType_WireGraphPseudo_QueueSeconds`,`BrickComponentData_WireGraphPseudo_QueueSeconds`],[`BrickComponentType_WireGraphPseudo_QueueTicks`,`BrickComponentData_WireGraphPseudo_QueueTicks`],[`BrickComponentType_WireGraphPseudo_Timer`,`BrickComponentData_WireGraphPseudo_Timer`],[`BrickComponentType_WireGraphPseudo_Tween`,`BrickComponentData_WireGraphPseudo_Tween`],[`BrickComponentType_WireGraphPseudo_Var`,`BrickComponentData_WireGraphPseudo_Var`],[`BrickComponentType_WireGraph_AudioReference`,`BrickComponentData_WireGraph_AudioReference`],[`BrickComponentType_WireGraph_BrickAssetReference`,`BrickComponentData_WireGraph_BrickAssetReference`],[`BrickComponentType_WireGraph_DeltaTime`,`BrickComponentData_WireGraph_DeltaTime`],[`BrickComponentType_WireGraph_EntityTypeReference`,`BrickComponentData_WireGraph_EntityTypeReference`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Append`,`BrickComponentData_WireGraph_Exec_ArrayVar_DualRef`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Average`,`BrickComponentData_WireGraph_Exec_ArrayVar_Average`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Clear`,`BrickComponentData_WireGraph_Exec_ArrayVar_Base`],[`BrickComponentType_WireGraph_Exec_ArrayVar_CopyFrom`,`BrickComponentData_WireGraph_Exec_ArrayVar_DualRef`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Fill`,`BrickComponentData_WireGraph_Exec_ArrayVar_Push`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Find`,`BrickComponentData_WireGraph_Exec_ArrayVar_Find`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Get`,`BrickComponentData_WireGraph_Exec_ArrayVar_Get`],[`BrickComponentType_WireGraph_Exec_ArrayVar_GetLength`,`BrickComponentData_WireGraph_Exec_ArrayVar_GetLength`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Insert`,`BrickComponentData_WireGraph_Exec_ArrayVar_Insert`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Max`,`BrickComponentData_WireGraph_Exec_ArrayVar_MinMax`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Min`,`BrickComponentData_WireGraph_Exec_ArrayVar_MinMax`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Pop`,`BrickComponentData_WireGraph_Exec_ArrayVar_Pop`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Push`,`BrickComponentData_WireGraph_Exec_ArrayVar_Push`],[`BrickComponentType_WireGraph_Exec_ArrayVar_RemoveAtIndex`,`BrickComponentData_WireGraph_Exec_ArrayVar_RemoveAtIndex`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Resize`,`BrickComponentData_WireGraph_Exec_ArrayVar_Resize`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Reverse`,`BrickComponentData_WireGraph_Exec_ArrayVar_Base`],[`BrickComponentType_WireGraph_Exec_ArrayVar_SetAtIndex`,`BrickComponentData_WireGraph_Exec_ArrayVar_ElementOp`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Shuffle`,`BrickComponentData_WireGraph_Exec_ArrayVar_Base`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Slice`,`BrickComponentData_WireGraph_Exec_ArrayVar_Slice`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Sort`,`BrickComponentData_WireGraph_Exec_ArrayVar_Sort`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Sum`,`BrickComponentData_WireGraph_Exec_ArrayVar_Sum`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Swap`,`BrickComponentData_WireGraph_Exec_ArrayVar_Swap`],[`BrickComponentType_WireGraph_Exec_Branch`,`BrickComponentData_WireGraph_ExecBranch`],[`BrickComponentType_WireGraph_Exec_Character_AddInventoryBrick`,`BrickComponentData_WireGraph_Exec_Character_AddInventoryBrick`],[`BrickComponentType_WireGraph_Exec_Character_AddInventoryEntity`,`BrickComponentData_WireGraph_Exec_Character_AddInventoryEntity`],[`BrickComponentType_WireGraph_Exec_Character_AddInventoryEntry`,`BrickComponentData_WireGraph_Exec_Character_AddInventoryEntry`],[`BrickComponentType_WireGraph_Exec_Character_AddInventoryItem`,`BrickComponentData_WireGraph_Exec_Character_AddInventoryItem`],[`BrickComponentType_WireGraph_Exec_Character_GetAim`,`BrickComponentData_WireGraph_Exec_Character_GetAim`],[`BrickComponentType_WireGraph_Exec_Character_GetDamage`,`BrickComponentData_WireGraph_Exec_Character_GetDamage`],[`BrickComponentType_WireGraph_Exec_Character_GetFromController`,`BrickComponentData_WireGraph_Exec_Character_GetFromController`],[`BrickComponentType_WireGraph_Exec_Character_IncDamage`,`BrickComponentData_WireGraph_Exec_Character_IncDamage`],[`BrickComponentType_WireGraph_Exec_Character_SetDamage`,`BrickComponentData_WireGraph_Exec_Character_SetDamage`],[`BrickComponentType_WireGraph_Exec_Character_SetInventoryBrick`,`BrickComponentData_WireGraph_Exec_Character_SetInventoryBrick`],[`BrickComponentType_WireGraph_Exec_Character_SetInventoryEntity`,`BrickComponentData_WireGraph_Exec_Character_SetInventoryEntity`],[`BrickComponentType_WireGraph_Exec_Character_SetInventoryEntry`,`BrickComponentData_WireGraph_Exec_Character_SetInventoryEntry`],[`BrickComponentType_WireGraph_Exec_Character_SetInventoryItem`,`BrickComponentData_WireGraph_Exec_Character_SetInventoryItem`],[`BrickComponentType_WireGraph_Exec_Character_SetTempPermission`,`BrickComponentData_WireGraph_Exec_Character_SetTempPermission`],[`BrickComponentType_WireGraph_Exec_Character_ShowHint`,`BrickComponentData_WireGraph_Exec_Character_ShowHint`],[`BrickComponentType_WireGraph_Exec_ChatCommand`,`BrickComponentData_WireGraph_Exec_ChatCommand`],[`BrickComponentType_WireGraph_Exec_Controller_DisplayText`,`BrickComponentData_WireGraph_Exec_Controller_DisplayText`],[`BrickComponentType_WireGraph_Exec_Controller_GetDisplayName`,`BrickComponentData_WireGraph_Exec_Controller_GetDisplayName`],[`BrickComponentType_WireGraph_Exec_Controller_GetFromEntity`,`BrickComponentData_WireGraph_Exec_Controller_GetFromEntity`],[`BrickComponentType_WireGraph_Exec_Controller_GetUserId`,`BrickComponentData_WireGraph_Exec_Controller_GetUserId`],[`BrickComponentType_WireGraph_Exec_Controller_GetUserName`,`BrickComponentData_WireGraph_Exec_Controller_GetUserName`],[`BrickComponentType_WireGraph_Exec_Controller_HasPermission`,`BrickComponentData_WireGraph_Exec_Controller_HasPermission`],[`BrickComponentType_WireGraph_Exec_Controller_HasRole`,`BrickComponentData_WireGraph_Exec_Controller_HasRole`],[`BrickComponentType_WireGraph_Exec_Controller_IsTrustedByBrickOwner`,`BrickComponentData_WireGraph_Exec_Controller_IsTrustedByBrickOwner`],[`BrickComponentType_WireGraph_Exec_Controller_SetCanRespawn`,`BrickComponentData_WireGraph_Exec_Controller_SetCanRespawn`],[`BrickComponentType_WireGraph_Exec_Controller_ShowChatMessage`,`BrickComponentData_WireGraph_Exec_Controller_ShowChatMessage`],[`BrickComponentType_WireGraph_Exec_Controller_ShowStatusMessage`,`BrickComponentData_WireGraph_Exec_Controller_ShowStatusMessage`],[`BrickComponentType_WireGraph_Exec_Cycle`,`BrickComponentData_WireGraph_Exec_Cycle`],[`BrickComponentType_WireGraph_Exec_Entity_AddLocationRotation`,`BrickComponentData_WireGraph_Exec_Entity_AddLocationRotation`],[`BrickComponentType_WireGraph_Exec_Entity_AddVelocity`,`BrickComponentData_WireGraph_Exec_Entity_AddVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_GetAngularVelocity`,`BrickComponentData_WireGraph_Exec_Entity_GetAngularVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_GetLinearVelocity`,`BrickComponentData_WireGraph_Exec_Entity_GetLinearVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_GetLocation`,`BrickComponentData_WireGraph_Exec_Entity_GetLocation`],[`BrickComponentType_WireGraph_Exec_Entity_GetLocationRotation`,`BrickComponentData_WireGraph_Exec_Entity_GetLocationRotation`],[`BrickComponentType_WireGraph_Exec_Entity_GetRotation`,`BrickComponentData_WireGraph_Exec_Entity_GetRotation`],[`BrickComponentType_WireGraph_Exec_Entity_GetTag`,`BrickComponentData_WireGraph_Exec_Entity_GetTag`],[`BrickComponentType_WireGraph_Exec_Entity_GetVelocity`,`BrickComponentData_WireGraph_Exec_Entity_GetVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_RelativeTeleport`,`BrickComponentData_WireGraph_Exec_Entity_RelativeTeleport`],[`BrickComponentType_WireGraph_Exec_Entity_SetAngularVelocity`,`BrickComponentData_WireGraph_Exec_Entity_SetAngularVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_SetFrozen`,`BrickComponentData_WireGraph_Exec_Entity_SetFrozen`],[`BrickComponentType_WireGraph_Exec_Entity_SetGravityDirection`,`BrickComponentData_WireGraph_Exec_Entity_SetGravityDirection`],[`BrickComponentType_WireGraph_Exec_Entity_SetLinearVelocity`,`BrickComponentData_WireGraph_Exec_Entity_SetLinearVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_SetLocation`,`BrickComponentData_WireGraph_Exec_Entity_SetLocation`],[`BrickComponentType_WireGraph_Exec_Entity_SetLocationRotation`,`BrickComponentData_WireGraph_Exec_Entity_SetLocationRotation`],[`BrickComponentType_WireGraph_Exec_Entity_SetRotation`,`BrickComponentData_WireGraph_Exec_Entity_SetRotation`],[`BrickComponentType_WireGraph_Exec_Entity_SetTag`,`BrickComponentData_WireGraph_Exec_Entity_SetTag`],[`BrickComponentType_WireGraph_Exec_Entity_SetVelocity`,`BrickComponentData_WireGraph_Exec_Entity_SetVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_Teleport`,`BrickComponentData_WireGraph_Exec_Entity_Teleport`],[`BrickComponentType_WireGraph_Exec_Gamemode_BroadcastChatMessage`,`BrickComponentData_WireGraph_Exec_Gamemode_BroadcastChatMessage`],[`BrickComponentType_WireGraph_Exec_Gamemode_BroadcastStatusMessage`,`BrickComponentData_WireGraph_Exec_Gamemode_BroadcastStatusMessage`],[`BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromPlayers`,`BrickComponentData_WireGraph_Exec_ArrayVar_Base`],[`BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers`,`BrickComponentData_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetCurrentRound`,`BrickComponentData_WireGraph_Exec_Gamemode_GetCurrentRound`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_GetLeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetTeam`,`BrickComponentData_WireGraph_Exec_Gamemode_GetTeam`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamByName`,`BrickComponentData_WireGraph_Exec_Gamemode_GetTeamByName`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamName`,`BrickComponentData_WireGraph_Exec_Gamemode_GetTeamName`],[`BrickComponentType_WireGraph_Exec_Gamemode_IncrementLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_LeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_IncrementTeamLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_TeamLeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_PlayerWins`,`BrickComponentData_WireGraph_Exec_Gamemode_PlayerWins`],[`BrickComponentType_WireGraph_Exec_Gamemode_SetLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_LeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_SetTeam`,`BrickComponentData_WireGraph_Exec_Gamemode_SetTeam`],[`BrickComponentType_WireGraph_Exec_Gamemode_SetTeamLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_TeamLeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_SetTeamPinned`,`BrickComponentData_WireGraph_Exec_Gamemode_SetTeamPinned`],[`BrickComponentType_WireGraph_Exec_Gamemode_TeamWins`,`BrickComponentData_WireGraph_Exec_Gamemode_TeamWins`],[`BrickComponentType_WireGraph_Exec_PlayGlobalAudio`,`BrickComponentData_WireGraph_Exec_PlayGlobalAudio`],[`BrickComponentType_WireGraph_Exec_PrefabSpawner`,`BrickComponentData_WireGraph_Exec_PrefabSpawner`],[`BrickComponentType_WireGraph_Exec_PrintToConsole`,`BrickComponentData_WireGraph_Exec_PrintToConsole`],[`BrickComponentType_WireGraph_Exec_Random`,`BrickComponentData_WireGraph_Exec_Random`],[`BrickComponentType_WireGraph_Exec_Sweep`,`BrickComponentData_WireGraph_Exec_Sweep`],[`BrickComponentType_WireGraph_Exec_Toggle`,`BrickComponentData_WireGraph_Exec_Toggle`],[`BrickComponentType_WireGraph_Exec_Union`,`BrickComponentData_WireGraph_ExecUnion`],[`BrickComponentType_WireGraph_Exec_Var_Get`,`BrickComponentData_WireGraph_Exec_Var_Get`],[`BrickComponentType_WireGraph_Exec_Var_Increment`,`BrickComponentData_WireGraph_Exec_Var_EditOrGet`],[`BrickComponentType_WireGraph_Exec_Var_Set`,`BrickComponentData_WireGraph_Exec_Var_EditOrGet`],[`BrickComponentType_WireGraph_Expr_BitwiseAND`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseBitCount`,`BrickComponentData_WireGraph_Expr_Int_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseNAND`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseNOR`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseNOT`,`BrickComponentData_WireGraph_Expr_Int_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseOR`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseShiftLeft`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseShiftRight`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseXOR`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_Ceil`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_ColorBlend`,`BrickComponentData_WireGraph_Expr_ColorBlend`],[`BrickComponentType_WireGraph_Expr_ColorConvert`,`BrickComponentData_WireGraph_Expr_ColorConvert`],[`BrickComponentType_WireGraph_Expr_ColorToHex`,`BrickComponentData_WireGraph_Expr_ColorToHex`],[`BrickComponentType_WireGraph_Expr_CompareEqual`,`BrickComponentData_WireGraph_Expr_Compare`],[`BrickComponentType_WireGraph_Expr_CompareGreater`,`BrickComponentData_WireGraph_Expr_MathCompare`],[`BrickComponentType_WireGraph_Expr_CompareGreaterOrEqual`,`BrickComponentData_WireGraph_Expr_MathCompare`],[`BrickComponentType_WireGraph_Expr_CompareLess`,`BrickComponentData_WireGraph_Expr_MathCompare`],[`BrickComponentType_WireGraph_Expr_CompareLessOrEqual`,`BrickComponentData_WireGraph_Expr_MathCompare`],[`BrickComponentType_WireGraph_Expr_CompareNotEqual`,`BrickComponentData_WireGraph_Expr_Compare`],[`BrickComponentType_WireGraph_Expr_Convert`,`BrickComponentData_WireGraph_Expr_Convert`],[`BrickComponentType_WireGraph_Expr_DirectionToRotation`,`BrickComponentData_WireGraph_Expr_DirectionToRotation`],[`BrickComponentType_WireGraph_Expr_EdgeDetector`,`BrickComponentData_WireGraph_Expr_EdgeDetector`],[`BrickComponentType_WireGraph_Expr_Floor`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_InvertRotation`,`BrickComponentData_WireGraph_Expr_InvertRotation`],[`BrickComponentType_WireGraph_Expr_LogicalAND`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalNAND`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalNOR`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalNOT`,`BrickComponentData_WireGraph_Expr_Bool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalOR`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalXOR`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_MakeColor`,`BrickComponentData_WireGraph_Expr_MakeColor`],[`BrickComponentType_WireGraph_Expr_MakeColorHex`,`BrickComponentData_WireGraph_Expr_MakeColorHex`],[`BrickComponentType_WireGraph_Expr_MakeColorSRGB`,`BrickComponentData_WireGraph_Expr_MakeColorSRGB`],[`BrickComponentType_WireGraph_Expr_MakeQuaternion`,`BrickComponentData_WireGraph_Expr_MakeQuaternion`],[`BrickComponentType_WireGraph_Expr_MakeRotation`,`BrickComponentData_WireGraph_Expr_MakeRotation`],[`BrickComponentType_WireGraph_Expr_MakeVector`,`BrickComponentData_WireGraph_Expr_MakeVector`],[`BrickComponentType_WireGraph_Expr_MathAbs`,`BrickComponentData_WireGraph_Expr_PrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathAcos`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAcosh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAdd`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathAsin`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAsinh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAtan`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAtan2`,`BrickComponentData_WireGraph_Expr_MathAtan2`],[`BrickComponentType_WireGraph_Expr_MathAtanh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathBlend`,`BrickComponentData_WireGraph_Expr_MathBlend`],[`BrickComponentType_WireGraph_Expr_MathClamp`,`BrickComponentData_WireGraph_Expr_MathClamp`],[`BrickComponentType_WireGraph_Expr_MathCos`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathCosh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathDegreesToRadians`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathDivide`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathEasing`,`BrickComponentData_WireGraph_Expr_MathEasing`],[`BrickComponentType_WireGraph_Expr_MathExp`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathLn`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathLogBase`,`BrickComponentData_WireGraph_Expr_MathLogBase`],[`BrickComponentType_WireGraph_Expr_MathMax`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathMin`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathModulo`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathModuloFloored`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathMultiply`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathNegate`,`BrickComponentData_WireGraph_Expr_Variant_Variant`],[`BrickComponentType_WireGraph_Expr_MathPow`,`BrickComponentData_WireGraph_Expr_MathPow`],[`BrickComponentType_WireGraph_Expr_MathRadiansToDegrees`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathSign`,`BrickComponentData_WireGraph_Expr_PrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathSin`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathSinh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathSqrt`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathSubtract`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathTan`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathTanh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_NearlyEqual`,`BrickComponentData_WireGraph_Expr_NearlyEqual`],[`BrickComponentType_WireGraph_Expr_QuatAngleBetween`,`BrickComponentData_WireGraph_Expr_QuatAngleBetween`],[`BrickComponentType_WireGraph_Expr_QuatBetween`,`BrickComponentData_WireGraph_Expr_QuatBetween`],[`BrickComponentType_WireGraph_Expr_QuatDotProduct`,`BrickComponentData_WireGraph_Expr_QuatDotProduct`],[`BrickComponentType_WireGraph_Expr_QuatFromAxisAngle`,`BrickComponentData_WireGraph_Expr_QuatFromAxisAngle`],[`BrickComponentType_WireGraph_Expr_QuatSlerp`,`BrickComponentData_WireGraph_Expr_QuatSlerp`],[`BrickComponentType_WireGraph_Expr_QuatToAxisAngle`,`BrickComponentData_WireGraph_Expr_QuatToAxisAngle`],[`BrickComponentType_WireGraph_Expr_RotateVector`,`BrickComponentData_WireGraph_Expr_RotateVector`],[`BrickComponentType_WireGraph_Expr_RotationToDirection`,`BrickComponentData_WireGraph_Expr_RotationToDirection`],[`BrickComponentType_WireGraph_Expr_Round`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_Select`,`BrickComponentData_WireGraph_Expr_Select`],[`BrickComponentType_WireGraph_Expr_SplitColor`,`BrickComponentData_WireGraph_Expr_SplitColor`],[`BrickComponentType_WireGraph_Expr_SplitColorSRGB`,`BrickComponentData_WireGraph_Expr_SplitColorSRGB`],[`BrickComponentType_WireGraph_Expr_SplitQuaternion`,`BrickComponentData_WireGraph_Expr_SplitQuaternion`],[`BrickComponentType_WireGraph_Expr_SplitRotation`,`BrickComponentData_WireGraph_Expr_SplitRotation`],[`BrickComponentType_WireGraph_Expr_SplitVector`,`BrickComponentData_WireGraph_Expr_SplitVector`],[`BrickComponentType_WireGraph_Expr_String_Concatenate`,`BrickComponentData_WireGraph_Expr_String_Concatenate`],[`BrickComponentType_WireGraph_Expr_String_Contains`,`BrickComponentData_WireGraph_Expr_String_Contains`],[`BrickComponentType_WireGraph_Expr_String_EndsWith`,`BrickComponentData_WireGraph_Expr_String_EndsWith`],[`BrickComponentType_WireGraph_Expr_String_Find`,`BrickComponentData_WireGraph_Expr_String_Find`],[`BrickComponentType_WireGraph_Expr_String_FormatText`,`BrickComponentData_WireGraph_Expr_String_FormatText`],[`BrickComponentType_WireGraph_Expr_String_Length`,`BrickComponentData_WireGraph_Expr_String_Length`],[`BrickComponentType_WireGraph_Expr_String_ParseInt`,`BrickComponentData_WireGraph_Expr_String_ParseInt`],[`BrickComponentType_WireGraph_Expr_String_ParseNumber`,`BrickComponentData_WireGraph_Expr_String_ParseNumber`],[`BrickComponentType_WireGraph_Expr_String_Replace`,`BrickComponentData_WireGraph_Expr_String_Replace`],[`BrickComponentType_WireGraph_Expr_String_Split`,`BrickComponentData_WireGraph_Expr_String_Split`],[`BrickComponentType_WireGraph_Expr_String_StartsWith`,`BrickComponentData_WireGraph_Expr_String_StartsWith`],[`BrickComponentType_WireGraph_Expr_String_Substring`,`BrickComponentData_WireGraph_Expr_String_Substring`],[`BrickComponentType_WireGraph_Expr_String_ToLower`,`BrickComponentData_WireGraph_Expr_String_ToLower`],[`BrickComponentType_WireGraph_Expr_String_ToUpper`,`BrickComponentData_WireGraph_Expr_String_ToUpper`],[`BrickComponentType_WireGraph_Expr_String_Trim`,`BrickComponentData_WireGraph_Expr_String_Trim`],[`BrickComponentType_WireGraph_Expr_Swap`,`BrickComponentData_WireGraph_Expr_Swap`],[`BrickComponentType_WireGraph_Expr_VecCrossProduct`,`BrickComponentData_WireGraph_Expr_VecVec_Vec`],[`BrickComponentType_WireGraph_Expr_VecDistance`,`BrickComponentData_WireGraph_Expr_VecVec_Float`],[`BrickComponentType_WireGraph_Expr_VecDistanceSquared`,`BrickComponentData_WireGraph_Expr_VecVec_Float`],[`BrickComponentType_WireGraph_Expr_VecDotProduct`,`BrickComponentData_WireGraph_Expr_VecVec_Float`],[`BrickComponentType_WireGraph_Expr_VecMagnitude`,`BrickComponentData_WireGraph_Expr_Vec_Float`],[`BrickComponentType_WireGraph_Expr_VecMagnitudeSquared`,`BrickComponentData_WireGraph_Expr_Vec_Float`],[`BrickComponentType_WireGraph_Expr_VecNormalize`,`BrickComponentData_WireGraph_Expr_Vec_Vec`],[`BrickComponentType_WireGraph_Expr_VecScale`,`BrickComponentData_WireGraph_Expr_VecFloat_Vec`],[`BrickComponentType_WireGraph_Fake_Gamemode_CharacterDamagedEvent`,`BrickComponentData_WireGraph_Fake_CharacterDamageEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_CharacterDiedEvent`,`BrickComponentData_WireGraph_Fake_CharacterDeathEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_CharacterSpawnedEvent`,`BrickComponentData_WireGraph_Fake_CharacterEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_ControllerJoinedEvent`,`BrickComponentData_WireGraph_Fake_ControllerEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_ControllerLeftEvent`,`BrickComponentData_WireGraph_Fake_ControllerEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_RoundEndEvent`,`BrickComponentData_WireGraph_Fake_RoundEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_RoundStartEvent`,`BrickComponentData_WireGraph_Fake_RoundEvent`],[`BrickComponentType_WireGraph_FindPlayer`,`BrickComponentData_WireGraph_FindPlayer`],[`BrickComponentType_WireGraph_FontReference`,`BrickComponentData_WireGraph_FontReference`],[`BrickComponentType_WireGraph_ItemReference`,`BrickComponentData_WireGraph_ItemReference`],[`BrickComponentType_WireGraph_OneShotAudioReference`,`BrickComponentData_WireGraph_OneShotAudioReference`],[`BrickComponentType_WireGraph_ParticleReference`,`BrickComponentData_WireGraph_ParticleReference`],[`BrickComponentType_WireGraph_PickupReference`,`BrickComponentData_WireGraph_PickupReference`],[`BrickComponentType_WireGraph_ProjectileReference`,`BrickComponentData_WireGraph_ProjectileReference`],[`BrickComponentType_WireGraph_ServerUptime`,`BrickComponentData_WireGraph_ServerUptime`],[`BrickComponentType_WireGraph_WheelEngineAudioReference`,`BrickComponentData_WireGraph_WheelEngineAudioReference`],[`Component_AudioEmitter`,`BrickComponentData_AudioEmitter`],[`Component_BotSpawn`,`BrickComponentData_BotSpawn`],[`Component_BrickPropertyChanger`,`BrickComponentData_BrickPropertyChanger`],[`Component_Button`,`BrickComponentData_Button`],[`Component_CheckPoint`,`BrickComponentData_CheckPoint`],[`Component_Damage`,`BrickComponentData_Damage`],[`Component_Interact`,`BrickComponentData_Interact`],[`Component_Internal_AnimatedButton`,`BrickComponentData_Button`],[`Component_Internal_AnimatedPressurePlate`,`BrickComponentData_Touch`],[`Component_Internal_AnimatedSwitch`,`BrickComponentData_Switch`],[`Component_Internal_AttachedZone`,`BrickComponentData_Internal_AttachedZone`],[`Component_Internal_Bearing`,`BrickComponentData_Bearing`],[`Component_Internal_Gyroscope`,`BrickComponentData_Gyroscope`],[`Component_Internal_InputSplitter`,`BrickComponentData_Internal_InputSplitter_V2`],[`Component_Internal_Joint_Wheel`,`BrickComponentData_Joint_Wheel`],[`Component_Internal_Joint_Wheel_Suspension`,`BrickComponentData_Joint_Wheel_Suspension`],[`Component_Internal_Microchip`,`BrickComponentData_Internal_Microchip`],[`Component_Internal_Motor`,`BrickComponentData_Motor`],[`Component_Internal_MotorSlider`,`BrickComponentData_MotorSlider`],[`Component_Internal_ProjectileSpawner_Cannon`,`BrickComponentData_ProjectileSpawner`],[`Component_Internal_Rerouter`,`BrickComponentData_Rerouter`],[`Component_Internal_RigidBearing`,`BrickComponentData_RigidBearing`],[`Component_Internal_RigidSlider`,`BrickComponentData_RigidSlider`],[`Component_Internal_Seat`,`BrickComponentData_Seat_V2`],[`Component_Internal_Servo`,`BrickComponentData_Servo`],[`Component_Internal_ServoSlider`,`BrickComponentData_ServoSlider`],[`Component_Internal_Slider`,`BrickComponentData_Slider`],[`Component_Internal_Thruster`,`BrickComponentData_Thruster`],[`Component_Internal_WeightBrick`,`BrickComponentData_WeightBrick`],[`Component_Internal_WheelEngine`,`BrickComponentData_WheelEngine_V2`],[`Component_ItemSpawn`,`BrickComponentData_ItemSpawn`],[`Component_OneShotAudioEmitter`,`BrickComponentData_OneShotAudioEmitter`],[`Component_PointLight`,`BrickComponentData_PointLight`],[`Component_ProjectileSpawner`,`BrickComponentData_ProjectileSpawner`],[`Component_SpawnPoint`,`BrickComponentData_SpawnPoint`],[`Component_SpotLight`,`BrickComponentData_SpotLight`],[`Component_Switch`,`BrickComponentData_Switch`],[`Component_Target`,`BrickComponentData_Target`],[`Component_TextDisplay`,`BrickComponentData_TextDisplay`],[`Component_Touch`,`BrickComponentData_Touch`],[`Component_WireGraph_PlayAudioAt`,`BrickComponentData_WireGraph_Exec_Entity_PlayAudioAt`]]),ta=new Map(Object.entries({BrickComponentData_AudioEmitter:{bEnabled:!0,VolumeMultiplier:1,PitchMultiplier:1,InnerRadius:15,MaxDistance:400,bSpatialization:!0,FocusAzimuth:360,NonFocusAzimuth:360,NonFocusVolumeAttenuation:1},BrickComponentData_Bearing:{bLimitAngle:!1,LimitAngle:0,bAnglesArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_BotSpawn:{RespawnTime:2,CorpseTimeout:5,GunSkill:.4,Agression:.7,ReactionTime:.4,MovementRandomness:50,RunSpeed:1,HealthMultiplier:1,Jumpyness:.7,MovementAmount:.2,AttackMovementAmount:.7,AggroRange:1e3,AttackDamageMultiplier:1,bCanJump:!0,bBackVision:!1,bVisionRaycasting:!0,bCanTargetPlayers:!0,bCanTargetBots:!0,bActiveBot:!0,bSpawnEnable:!0,bDeleteBot:!1,BotName:``,bColorsAreLinear:!0,TeamCollisionChannel:0,bTeamCollision:!0,bTeamCollision1:!0,bTeamCollision2:!0,bTeamCollision3:!0},BrickComponentData_BrickPropertyChanger:{bVisibility:!0,bCollisionEnabled:!0,bCollisionEnabled_Player:!0,bCollisionEnabled_Player1:!0,bCollisionEnabled_Player2:!0,bCollisionEnabled_Player3:!0,bCollisionEnabled_Weapon:!0,bCollisionEnabled_Interaction:!0,bCollisionEnabled_Physics:!0,Color:{B:200,G:200,R:200,A:255},MaterialAlpha:255,Material:0},BrickComponentData_Button:{bAllowNearbyInteraction:!0,bHiddenInteraction:!1,PromptCustomLabel:``},BrickComponentData_CheckPoint:{bRotatePlayerGravityOnSpawn:!0},BrickComponentData_Damage:{Damage:100,RepeatDelay:0,Message:``,ConsoleTag:``},BrickComponentData_Gyroscope:{bEnabled:!0,Strength:25,Damping:1,MaxForce:0},BrickComponentData_Interact:{Message:``,ConsoleTag:``,bAllowNearbyInteraction:!0,bHiddenInteraction:!1,PromptCustomLabel:``},BrickComponentData_Internal_AttachedZone:{ZoneStartDistance:0,ZoneEndDistance:60,bIsBuildingZone:!1,bIsLooseZone:!1,bIsShareZone:!1,bDetectPlayers:!0,bDetectPlayers1:!0,bDetectPlayers2:!0,bDetectPlayers3:!0,bDetectEntities:!1,bDetectProjectiles:!1,TagFilter:``},BrickComponentData_Internal_CharacterZoneEvent:{bCollisionEnabled_Player:!0,bCollisionEnabled_Player1:!0,bCollisionEnabled_Player2:!0,bCollisionEnabled_Player3:!0},BrickComponentData_Internal_MicrochipInput:{PortLabel:`Input`},BrickComponentData_Internal_MicrochipOutput:{PortLabel:`Output`},BrickComponentData_ItemSpawn:{bPickupEnabled:!0,bPickupRespawnOnMinigameReset:!0,PickupMinigameResetRespawnDelay:0,bPickupAutoDisableOnPickup:!0,PickupRespawnTime:5,bRenderTranslucentWhenDisabled:!0,DamageMultiplier:1,WeaponSpeedMultiplier:1,ItemNameOverride:``,PickupOffsetDirection:0,PickupOffsetDistance:5,PickupScale:1,bOverridePickupColors:!1,bPickupAnimationEnabled:!0,PickupAnimationAxis:0,bPickupAnimationAxisLocal:!1,PickupSpinSpeed:.2,PickupBobSpeed:.1,PickupBobHeight:4,PickupAnimationPhase:.14593951},BrickComponentData_Joint_Wheel:{bEnabled:!0,DriveSpeed:100,DrivePower:20,bSteerEnabled:!0,Steer:0,SteerLimitDegree:90,SteerPower:1e3,bSuspensionEnabled:!0,SuspensionStiffness:500,SuspensionDamping:50,JointDistance:10,bDriveWhenNotAttachedToEngine:!1,bCanBrake:!0,bAllowEngineSteerCorrect:!0,bReversed:!1,Damping:1},BrickComponentData_Joint_Wheel_Suspension:{bEnabled:!0,DriveSpeed:100,DrivePower:20,bSteerEnabled:!0,Steer:0,SteerLimitDegree:90,SteerPower:1e3,bSuspensionEnabled:!0,SuspensionStiffness:500,SuspensionDamping:50,SuspensionOffset:0,SuspensionLength:10,JointDistance:10,bDriveWhenNotAttachedToEngine:!1,bCanBrake:!0,bAllowEngineSteerCorrect:!0,bReversed:!1,Damping:1},BrickComponentData_Motor:{bEnabled:!0,Speed:60,Power:10,bLimitAngle:!1,LimitAngle:0,bAnglesArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_MotorSlider:{bEnabled:!0,Speed:60,Power:10,bPositionsArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_OneShotAudioEmitter:{VolumeMultiplier:1,PitchMultiplier:1,InnerRadius:15,MaxDistance:400,bSpatialization:!0,bEnableRepeat:!1,RepeatTime:1,RepeatVariance:0,RepeatCount:1},BrickComponentData_PointLight:{bMatchBrickShape:!0,bEnabled:!0,Brightness:20,Radius:150,Color:{B:255,G:255,R:255,A:255},bUseBrickColor:!0,bCastShadows:!1},BrickComponentData_PrefabSpawn:{Prefab:``,bSpawnEnable:!0,RespawnTime:5},BrickComponentData_ProjectileSpawner:{Direction:0,SpawnLocation:0,SpawnMargin:5,bEnabled:!1,NumberOfShots:1,SpreadConeAngle:0,bSpreadBiasedTowardsCenter:!1,FireRate:0,DamageMultiplier:1,SpeedMultiplier:1,ScaleMultiplier:1},BrickComponentData_RigidBearing:{TargetAngle:0,bAnglesArePercentages:!1,bReversed:!1,InterpMode:0,SmoothTime:.25,TopSpeed:0},BrickComponentData_RigidSlider:{TargetPosition:0,bPositionsArePercentages:!1,bReversed:!1,InterpMode:0,SmoothTime:.25,TopSpeed:0},BrickComponentData_Seat_V2:{bIsOccupied:!1,bRollCameraInThirdPerson:!1,bAllowNearbyInteraction:!0,bHiddenInteraction:!1,PromptCustomLabel:``},BrickComponentData_Servo:{bEnabled:!0,TargetAngle:0,Power:100,ActiveDamping:30,ForceLimit:0,bLimitAngle:!1,LimitAngle:0,bAnglesArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_ServoSlider:{bEnabled:!0,TargetPosition:0,Power:100,TopSpeed:0,Exponent:2,bPositionsArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_Slider:{bPositionsArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_SpawnPoint:{bRotatePlayerGravityOnSpawn:!0,bEnable:!0},BrickComponentData_SpotLight:{InnerConeAngle:30,OuterConeAngle:60,bEnabled:!0,Brightness:20,Radius:150,Color:{B:255,G:255,R:255,A:255},bUseBrickColor:!0,bCastShadows:!1},BrickComponentData_Switch:{bEnabled:!1,bAllowNearbyInteraction:!0,bHiddenInteraction:!1,PromptCustomLabel:``},BrickComponentData_Target:{OnTime:.5},BrickComponentData_TextDisplay:{Text:`Hello World`,Rotation:0,Skew:0,Kerning:0,LineHeight:10,LineOffset:0,Color:{B:255,G:255,R:255,A:255},MaterialSlider:10,ShadingWidth:2,OutlineColor:{B:0,G:0,R:0,A:255},OutlineWidth:2,ScuffWidth:0,GraffitiDepthLimit:5,GraffitiAngleLimit:45,GraffitiLayer:0,bEnabled:!0,Face:0,bAlignToWedge:!1,bOverrideColor:!0,Typeface:0,Billboard:0,Material:0,Shading:0,bFlipShading:!1,Outline:0,bSharpCorners:!0,bSharpOutlines:!0,bOverrideOutlineColor:!0,bForeground:!1},BrickComponentData_Thruster:{bEnabled:!0,Force:1e3,Throttle:0,Pitch:0,Yaw:0,bSpawnLight:!0},BrickComponentData_Touch:{bCollisionEnabled_Player:!0,bCollisionEnabled_Player1:!0,bCollisionEnabled_Player2:!0,bCollisionEnabled_Player3:!0},BrickComponentData_WeightBrick:{Mass:1},BrickComponentData_WheelEngine_V2:{bEnabled:!0,bEnableManualControl:!1,ManualInput_Drive:0,ManualInput_Steer:0,bManualInput_Brake:!1,CustomMass:500,CustomMassVerticalOffset:0,DriveInterpSpeed:1,DriveSpeed:500,DriveAcceleratingPowerMultiplier:.5,DriveBrakingPowerMultiplier:10,DriveDampingMultiplier:1,SteerPowerMultiplier:100,WheelFrictionMultiplier:.8,SteerInterpSpeed:10,SteerLimitSpeedFalloff:1,SteerLimitDegree:32,CenterOfSteering:0,bTankSteering:!1,TankSteerSpeedMultiplier:1,bAutoRight:!0,WaterDriveForce:200,WaterSteeringForce:100},BrickComponentData_WireGraphPseudo_BufferSeconds:{SecondsToWait:1,ZeroSecondsToWait:-1,CurrentTime:0,bHasQueued:!1,bIsOffTimer:!1},BrickComponentData_WireGraphPseudo_BufferTicks:{TicksToWait:0,ZeroTicksToWait:-1,CurrentTicks:0,bHasQueued:!1,bIsOffTimer:!1},BrickComponentData_WireGraphPseudo_Dampen:{SmoothTime:.3},BrickComponentData_WireGraphPseudo_QueueSeconds:{SecondsToWait:1},BrickComponentData_WireGraphPseudo_QueueTicks:{TicksToWait:1},BrickComponentData_WireGraphPseudo_Timer:{Limit:1,Time:0,bRunning:!1},BrickComponentData_WireGraphPseudo_Tween:{Duration:1,Elapsed:0,Function:0,Direction:0},BrickComponentData_WireGraph_ExecBranch:{bCond:!1},BrickComponentData_WireGraph_Exec_ArrayVar_ElementOp:{Index:0},BrickComponentData_WireGraph_Exec_ArrayVar_Get:{Index:0},BrickComponentData_WireGraph_Exec_ArrayVar_Insert:{Index:0},BrickComponentData_WireGraph_Exec_ArrayVar_RemoveAtIndex:{Index:0},BrickComponentData_WireGraph_Exec_ArrayVar_Resize:{Size:0},BrickComponentData_WireGraph_Exec_ArrayVar_Slice:{Start:0,Count:0},BrickComponentData_WireGraph_Exec_ArrayVar_Sort:{bDescending:!1},BrickComponentData_WireGraph_Exec_ArrayVar_Swap:{IndexA:0,IndexB:0},BrickComponentData_WireGraph_Exec_Character_IncDamage:{Amount:0},BrickComponentData_WireGraph_Exec_Character_SetDamage:{Damage:0},BrickComponentData_WireGraph_Exec_Character_SetInventoryBrick:{Slot:0},BrickComponentData_WireGraph_Exec_Character_SetInventoryEntity:{Slot:0},BrickComponentData_WireGraph_Exec_Character_SetInventoryEntry:{Slot:0},BrickComponentData_WireGraph_Exec_Character_SetInventoryItem:{Slot:0},BrickComponentData_WireGraph_Exec_Character_SetTempPermission:{PermissionTagStr:`BR.Permission.Building`,bPermissionEnable:!1},BrickComponentData_WireGraph_Exec_Character_ShowHint:{HintTitle:``,HintText:``},BrickComponentData_WireGraph_Exec_ChatCommand:{CommandName:``,HelpText:``},BrickComponentData_WireGraph_Exec_Controller_DisplayText:{Text:``,AnchorX:.5,AnchorY:.5,PositionX:0,PositionY:0,Angle:0,ScaleX:1,ScaleY:1,FontSize:16,FontColor:{B:255,G:255,R:255,A:255},OutlineSize:2,OutlineColor:{B:37,G:20,R:24,A:255},Justification:0,Transition:0,Easing:0,Lifetime:5,TextId:0},BrickComponentData_WireGraph_Exec_Controller_HasPermission:{PermissionName:`BR.Permission.AlwaysSave`},BrickComponentData_WireGraph_Exec_Controller_HasRole:{RoleName:``},BrickComponentData_WireGraph_Exec_Controller_SetCanRespawn:{bCanRespawn:!0},BrickComponentData_WireGraph_Exec_Controller_ShowChatMessage:{Message:``},BrickComponentData_WireGraph_Exec_Cycle:{Count:3,Value:0},BrickComponentData_WireGraph_Exec_Entity_PlayAudioAt:{VolumeMultiplier:1,PitchMultiplier:1,InnerRadius:0,MaxDistance:1e4,bSpatialization:!0},BrickComponentData_WireGraph_Exec_Entity_SetFrozen:{bFrozen:!1},BrickComponentData_WireGraph_Exec_Entity_SetTag:{Tag:``},BrickComponentData_WireGraph_Exec_Gamemode_BroadcastChatMessage:{Message:``},BrickComponentData_WireGraph_Exec_Gamemode_BroadcastStatusMessage:{Message:``,bFlashIfUnchanged:!0},BrickComponentData_WireGraph_Exec_Gamemode_GetLeaderboardValue:{Key:`Score`},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamByName:{TeamName:``},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue:{Key:`Score`},BrickComponentData_WireGraph_Exec_Gamemode_LeaderboardValue:{Key:`Score`,Value:0},BrickComponentData_WireGraph_Exec_Gamemode_PlayerWins:{bTeamWinsInstead:!1},BrickComponentData_WireGraph_Exec_Gamemode_SetTeam:{bPinPlayerToTeam:!1},BrickComponentData_WireGraph_Exec_Gamemode_SetTeamPinned:{bPinned:!0},BrickComponentData_WireGraph_Exec_Gamemode_TeamLeaderboardValue:{Key:`Score`,Value:0},BrickComponentData_WireGraph_Exec_PlayGlobalAudio:{VolumeMultiplier:1,PitchMultiplier:1},BrickComponentData_WireGraph_Exec_PrefabSpawner:{Prefab:``,Lifetime:5,Limit:5},BrickComponentData_WireGraph_Exec_PrintToConsole:{Text:``},BrickComponentData_WireGraph_Exec_Sweep:{Distance:1e3,Radius:0,bDetectBricks:!0,bDetectPlayers1:!0,bDetectPlayers2:!0,bDetectPlayers3:!0,bDetectPlayers4:!0,bDetectPhysics:!0,bDetectMap:!0,bRelative:!1,bIgnoreOwningGrid:!0},BrickComponentData_WireGraph_Exec_Toggle:{Value:!1},BrickComponentData_WireGraph_Expr_BoolBool_Bool:{bInputA:!1,bInputB:!1},BrickComponentData_WireGraph_Expr_Bool_Bool:{bInput:!1},BrickComponentData_WireGraph_Expr_ColorBlend:{Alpha:.5,BlendSpace:0,bClampAlpha:!0},BrickComponentData_WireGraph_Expr_ColorConvert:{FromSpace:0,ToSpace:0},BrickComponentData_WireGraph_Expr_EdgeDetector:{Input:0,bPulseOnRisingEdge:!1,bPulseOnFallingEdge:!1},BrickComponentData_WireGraph_Expr_Float_Float:{Input:0},BrickComponentData_WireGraph_Expr_IntInt_Int:{InputA:0,InputB:0},BrickComponentData_WireGraph_Expr_Int_Int:{Input:0},BrickComponentData_WireGraph_Expr_MakeColor:{R:1,G:1,B:1,A:1},BrickComponentData_WireGraph_Expr_MakeColorHex:{Hex:``},BrickComponentData_WireGraph_Expr_MakeColorSRGB:{R:255,G:255,B:255,A:255},BrickComponentData_WireGraph_Expr_MakeQuaternion:{X:0,Y:0,Z:0,W:1},BrickComponentData_WireGraph_Expr_MakeRotation:{Pitch:0,Yaw:0,Roll:0},BrickComponentData_WireGraph_Expr_MakeVector:{X:0,Y:0,Z:0},BrickComponentData_WireGraph_Expr_MathAtan2:{Y:0,X:0},BrickComponentData_WireGraph_Expr_MathBlend:{Blend:0,bClampAlpha:!0},BrickComponentData_WireGraph_Expr_MathEasing:{Blend:0,Function:0,Direction:0},BrickComponentData_WireGraph_Expr_MathLogBase:{Input:0,Base:10},BrickComponentData_WireGraph_Expr_MathPow:{Input:0,Exponent:2},BrickComponentData_WireGraph_Expr_NearlyEqual:{Tolerance:9999999747378752e-20},BrickComponentData_WireGraph_Expr_QuatFromAxisAngle:{Angle:0},BrickComponentData_WireGraph_Expr_QuatSlerp:{Alpha:0,bShortestPath:!0,bClampAlpha:!0},BrickComponentData_WireGraph_Expr_Select:{bSelectB:!1},BrickComponentData_WireGraph_Expr_String_Concatenate:{InputA:``,InputB:``,Separator:``},BrickComponentData_WireGraph_Expr_String_Contains:{Input:``,Search:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_EndsWith:{Input:``,Suffix:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_Find:{Input:``,Search:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_FormatText:{FormatString:``},BrickComponentData_WireGraph_Expr_String_Length:{Input:``},BrickComponentData_WireGraph_Expr_String_ParseInt:{Input:``},BrickComponentData_WireGraph_Expr_String_ParseNumber:{Input:``},BrickComponentData_WireGraph_Expr_String_Replace:{Input:``,Search:``,Replacement:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_Split:{Input:``,Delimiter:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_StartsWith:{Input:``,Prefix:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_Substring:{Input:``,Start:0,Length:0},BrickComponentData_WireGraph_Expr_String_ToLower:{Input:``},BrickComponentData_WireGraph_Expr_String_ToUpper:{Input:``},BrickComponentData_WireGraph_Expr_String_Trim:{Input:``},BrickComponentData_WireGraph_Expr_Swap:{bSwap:!1},BrickComponentData_WireGraph_Expr_VecFloat_Vec:{Scalar:0},BrickComponentData_WireGraph_Fake_RoundEvent:{RoundNumber:0},BrickComponentData_WireGraph_FindPlayer:{Query:``}})),na=`A,ActiveDamping,AdditionalIgnoredEntities,AggroRange,Agression,Alpha,Amount,Anchor,Anchor.X,Anchor.Y,AnchorX,AnchorY,Angle,AngularVelocity,AngularVelocity.X,AngularVelocity.Y,AngularVelocity.Z,Arguments,ArrayVarRef,Arrived,AttackDamageMultiplier,AttackMovementAmount,Attacker,AttackerWeapon,AttackerWeaponName,AudioDescriptor,Axis,Axis.X,Axis.Y,Axis.Z,B,Base,BeginTouchSound,Billboard,Blend,BotName,BotWeapon,BrickAsset,BrickGrid,Brightness,CenterOfSteering,Character,CharacterThatJustHit,Color,Color.A,Color.B,Color.G,Color.R,ColorA,ColorA.A,ColorA.B,ColorA.G,ColorA.R,ColorB,ColorB.A,ColorB.B,ColorB.G,ColorB.R,ConsoleTag,Control_DriveAndSteer,Controller,CorpseTimeout,Count,CurrentAngle,CurrentPosition,CustomMass,CustomMassVerticalOffset,Damage,DamageLimit,DamageMultiplier,Damping,DataIn1,DataIn2,DataIn3,DataIn4,DataIn5,DataIn6,DataIn7,DataIn8,DataOut1,DataOut2,DataOut3,DataOut4,DataOut5,DataOut6,DataOut7,DataOut8,Delimiter,DeltaTime,Destination,DestroyAll,Direction,Direction.X,Direction.Y,Direction.Z,DisplayName,Distance,DistanceToTarget,DriveAcceleratingPowerMultiplier,DriveBrakingPowerMultiplier,DriveDampingMultiplier,DriveInterpSpeed,DrivePower,DriveSpeed,Duration,EndTouchSound,Entity,EntityType,Exec,ExecA,ExecB,ExecDown,ExecIn,ExecOut,ExecOutA,ExecOutB,ExecOutDown,ExitOffset,ExitOffset.X,ExitOffset.Y,ExitOffset.Z,Expired,Exponent,Face,FireRate,FireSound,FocusAzimuth,FocusCharacter,Font,FontColor,FontColor.A,FontColor.B,FontColor.G,FontColor.R,Force,ForceLimit,FormatString,From,From.X,From.Y,From.Z,Function,G,GraffitiAngleLimit,GraffitiDepthLimit,GraffitiLayer,GunSkill,HealthMultiplier,Hex,Hit,HitDistance,HitEntity,HitLocation,HitNormal,IgnoreEntity,Index,IndexA,IndexB,InnerConeAngle,InnerRadius,Input,Input.A,Input.B,Input.G,Input.Pitch,Input.R,Input.Roll,Input.W,Input.X,Input.Y,Input.Yaw,Input.Z,InputA,InputA.W,InputA.X,InputA.Y,InputA.Z,InputB,InputB.W,InputB.X,InputB.Y,InputB.Z,InputC,InputD,InputE,InputF,InputForward,InputG,InputRight,Instigator,InteractSound,InterpMode,Item,ItemNameOverride,JointDistance,Jumpyness,Kerning,Key,Killer,KillerWeapon,KillerWeaponName,Left,Length,Lifetime,Limit,LimitAngle,LineHeight,LineOffset,LinearVelocity,LinearVelocity.X,LinearVelocity.Y,LinearVelocity.Z,ManualInput_Drive,ManualInput_Steer,Mass,MassOffset,MassOffset.X,MassOffset.Y,MassOffset.Z,MassSize,MassSize.X,MassSize.Y,MassSize.Z,Material,MaterialAlpha,MaterialSlider,Max,MaxDistance,MaxForce,Message,Min,Miss,MoveTarget,MoveTarget.X,MoveTarget.Y,MoveTarget.Z,MovementAmount,MovementGoalDummy,MovementRandomness,Name,NonFocusAzimuth,NonFocusVolumeAttenuation,NumberOfShots,OccupantCount,Offset,Offset.X,Offset.Y,Offset.Z,OnFired,OnTime,Origin,Origin.X,Origin.Y,Origin.Z,OuterConeAngle,Outline,OutlineColor,OutlineColor.A,OutlineColor.B,OutlineColor.G,OutlineColor.R,OutlineSize,OutlineWidth,Output,OutputB,Pause,PickupAnimationAxis,PickupAnimationPhase,PickupBobHeight,PickupBobSpeed,PickupClass,PickupMeshColors,PickupMinigameResetRespawnDelay,PickupOffsetDirection,PickupOffsetDistance,PickupRespawnTime,PickupRotation,PickupRotation.Pitch,PickupRotation.Roll,PickupRotation.Yaw,PickupScale,PickupSpinSpeed,Pitch,PitchMultiplier,Play,Player,PositionX,PositionY,Power,Prefab,Prefab.Path,Prefix,PressCount,PressSound,ProceduralSize,ProceduralSize.X,ProceduralSize.Y,ProceduralSize.Z,Projectile,ProjectileClass,ProjectileOverride,PromptCustomLabel,Query,R,RER_Input,RER_Output,Radius,ReactionTime,ReleaseSound,RepeatCount,RepeatDelay,RepeatTime,RepeatVariance,Replacement,RespawnTime,Restart,Resume,Right,Roll,Rotation,Rotation.Pitch,Rotation.Roll,Rotation.W,Rotation.X,Rotation.Y,Rotation.Yaw,Rotation.Z,RoundNumber,RunSpeed,Scalar,ScaleMultiplier,ScaleX,ScaleY,ScuffWidth,Search,SecondsToWait,Separator,Shading,ShadingWidth,SittingCharacter,Size,Skew,Skin,Skin.Parts,Slot,SmoothTime,Source,SourceRef,SpawnLocation,SpawnMargin,SpawnOffset,SpawnOffset.X,SpawnOffset.Y,SpawnOffset.Z,SpawnOffsetRotation,SpawnOffsetRotation.Pitch,SpawnOffsetRotation.Roll,SpawnOffsetRotation.Yaw,SpawnVelocity,SpawnVelocity.X,SpawnVelocity.Y,SpawnVelocity.Z,SpawnedCharacter,SpawnedEntity,Speed,SpeedMultiplier,SpreadConeAngle,Start,Steer,SteerInterpSpeed,SteerLimitDegree,SteerLimitSpeedFalloff,SteerPower,SteerPowerMultiplier,Stop,Strength,Suffix,SuspensionDamping,SuspensionLength,SuspensionOffset,SuspensionStiffness,Tag,TagFilter,TankSteerSpeedMultiplier,Target,TargetAngle,TargetAxis,TargetAxis.X,TargetAxis.Y,TargetAxis.Z,TargetPosition,Team,TeamCollisionChannel,TeamName,Text,TextId,TextIdOut,ThisDestination,Throttle,TicksToWait,Time,To,To.X,To.Y,To.Z,Tolerance,TopSpeed,TouchCount,Transition,Typeface,Uptime,UserId,UserName,Value,VarRef,Vector,Vector.X,Vector.Y,Vector.Z,VolumeMultiplier,W,WaterDriveForce,WaterSteeringForce,Weapon,WeaponName,WeaponNameThatJustHit,WeaponSpeedMultiplier,WeaponThatJustHit,WheelFrictionMultiplier,X,Y,Yaw,Z,ZeroSecondsToWait,ZeroTicksToWait,Zone,ZoneEndDistance,ZoneRef,ZoneStartDistance,bActiveBot,bAlignToWedge,bAllowEngineSteerCorrect,bAllowNearbyInteraction,bAnglesArePercentages,bAutoRight,bBackVision,bCanBrake,bCanJump,bCanRespawn,bCanTargetBots,bCanTargetPlayers,bCaseSensitive,bCastShadows,bCollisionEnabled,bCollisionEnabled_Interaction,bCollisionEnabled_Physics,bCollisionEnabled_Player,bCollisionEnabled_Player1,bCollisionEnabled_Player2,bCollisionEnabled_Player3,bCollisionEnabled_Weapon,bCond,bDeleteBot,bDescending,bDetectBricks,bDetectEntities,bDetectMap,bDetectPhysics,bDetectPlayers,bDetectPlayers1,bDetectPlayers2,bDetectPlayers3,bDetectPlayers4,bDetectProjectiles,bDriveWhenNotAttachedToEngine,bEnable,bEnableManualControl,bEnableRepeat,bEnabled,bFlashIfUnchanged,bFlipShading,bForeground,bFound,bFrozen,bHasPermission,bHasRole,bHeld,bHiddenInteraction,bIgnoreOwningGrid,bInput,bInputA,bInputB,bIsBuildingZone,bIsEmpty,bIsLooseZone,bIsOccupied,bIsShareZone,bIsTrusted,bJustHit,bLimitAngle,bManualInput_Brake,bMatchBrickShape,bOccupied,bOutOfBounds,bOutput,bOverrideColor,bOverrideOutlineColor,bOverridePickupColors,bPermissionEnable,bPickupAnimationAxisLocal,bPickupAnimationEnabled,bPickupAutoDisableOnPickup,bPickupEnabled,bPickupRespawnOnMinigameReset,bPinPlayerToTeam,bPinned,bPositionsArePercentages,bPressedJump,bPulseOnFallingEdge,bPulseOnRisingEdge,bRelative,bRenderTranslucentWhenDisabled,bReversed,bRollCameraInThirdPerson,bRotatePlayerGravityOnSpawn,bSelectB,bSharpCorners,bSharpOutlines,bShowPickupEnabled,bSpatialization,bSpawnEnable,bSpawnLight,bSpreadBiasedTowardsCenter,bSteerEnabled,bStopped,bSuccess,bSuspensionEnabled,bSwap,bTankSteering,bTeamCollision,bTeamCollision1,bTeamCollision2,bTeamCollision3,bTeamWinsInstead,bTouching,bUseBrickColor,bVisibility,bVisionRaycasting,bWelded`.split(`,`),ra=new Map([[`Entity_DynamicBrickGrid`,`BrickGridDynamicActor`],[`Entity_MicrochipDynamicBrickGrid`,`BP_MicrochipBrickGridDynamicActor_C`]]),ia=new Map(Object.entries({BrickComponentType_Internal_CharacterZoneEvent_Entered:{bricks:[`B_1x1_Gate_Internal_CharacterZoneEvent_Entered`],inputs:[`Zone`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`],outputs:[`Character`,`Exec`]},BrickComponentType_Internal_CharacterZoneEvent_Left:{bricks:[`B_1x1_Gate_Internal_CharacterZoneEvent_Left`],inputs:[`Zone`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`],outputs:[`Character`,`Exec`]},BrickComponentType_Internal_MicrochipInput:{bricks:[`B_1x1_Gate_MicrochipInput`],inputs:[`RER_Input`],outputs:[`RER_Output`]},BrickComponentType_Internal_MicrochipOutput:{bricks:[`B_1x1_Gate_MicrochipOutput`],inputs:[`RER_Input`],outputs:[`RER_Output`]},BrickComponentType_Internal_ReadBrickGrid:{bricks:[`B_1x1_Gate_Internal_ReadBrickGrid`],inputs:[],outputs:[`BrickGrid`]},BrickComponentType_Internal_TeleportDestination:{bricks:[`B_DestinationPoint`],inputs:[],outputs:[`ThisDestination`]},BrickComponentType_Internal_ZoneEvent_BrickChanged:{bricks:[`B_1x1_Gate_Internal_ZoneEvent_BrickChanged`],inputs:[`Zone`],outputs:[`Exec`]},BrickComponentType_Internal_ZoneEvent_BrickRemoved:{bricks:[`B_1x1_Gate_Internal_ZoneEvent_BrickRemoved`],inputs:[`Zone`],outputs:[`Exec`]},BrickComponentType_PrefabSpawn:{bricks:[`B_1x1F_Round`],inputs:[`Prefab`,`Prefab.Path`,`RespawnTime`,`SpawnOffset`,`SpawnOffset.X`,`SpawnOffset.Y`,`SpawnOffset.Z`,`SpawnOffsetRotation`,`SpawnOffsetRotation.Pitch`,`SpawnOffsetRotation.Roll`,`SpawnOffsetRotation.Yaw`,`bSpawnEnable`],outputs:[`SpawnedEntity`]},BrickComponentType_WireGraph_AudioReference:{bricks:[`B_1x1_Gate_AudioReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_DeltaTime:{bricks:[`B_1x1_Gate_DeltaTime`],inputs:[],outputs:[`DeltaTime`]},BrickComponentType_WireGraph_Exec_ArrayVar_Append:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Append`],inputs:[`ArrayVarRef`,`Exec`,`SourceRef`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Average:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Average`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`,`bIsEmpty`]},BrickComponentType_WireGraph_Exec_ArrayVar_Clear:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Clear`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_CopyFrom:{bricks:[`B_1x1_Gate_Exec_ArrayVar_CopyFrom`],inputs:[`ArrayVarRef`,`Exec`,`SourceRef`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Fill:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Fill`],inputs:[`ArrayVarRef`,`Exec`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Find:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Find`],inputs:[`ArrayVarRef`,`Exec`,`Value`],outputs:[`ExecOut`,`Index`,`bFound`]},BrickComponentType_WireGraph_Exec_ArrayVar_Get:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Get`],inputs:[`ArrayVarRef`,`Exec`,`Index`],outputs:[`ExecOut`,`Value`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_ArrayVar_GetLength:{bricks:[`B_1x1_Gate_Exec_ArrayVar_GetLength`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Length`]},BrickComponentType_WireGraph_Exec_ArrayVar_Insert:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Insert`],inputs:[`ArrayVarRef`,`Exec`,`Index`,`Value`],outputs:[`ExecOut`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_ArrayVar_Max:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Max`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`,`bIsEmpty`]},BrickComponentType_WireGraph_Exec_ArrayVar_Min:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Min`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`,`bIsEmpty`]},BrickComponentType_WireGraph_Exec_ArrayVar_Pop:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Pop`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`,`bIsEmpty`]},BrickComponentType_WireGraph_Exec_ArrayVar_Push:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Push`],inputs:[`ArrayVarRef`,`Exec`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_RemoveAtIndex:{bricks:[`B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex`],inputs:[`ArrayVarRef`,`Exec`,`Index`],outputs:[`ExecOut`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_ArrayVar_Resize:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Resize`],inputs:[`ArrayVarRef`,`Exec`,`Size`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Reverse:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Reverse`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_SetAtIndex:{bricks:[`B_1x1_Gate_Exec_ArrayVar_SetAtIndex`],inputs:[`ArrayVarRef`,`Exec`,`Index`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Shuffle:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Shuffle`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Slice:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Slice`],inputs:[`ArrayVarRef`,`Count`,`Exec`,`SourceRef`,`Start`],outputs:[`ExecOut`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_ArrayVar_Sort:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Sort`],inputs:[`ArrayVarRef`,`Exec`,`bDescending`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Sum:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Sum`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`]},BrickComponentType_WireGraph_Exec_ArrayVar_Swap:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Swap`],inputs:[`ArrayVarRef`,`Exec`,`IndexA`,`IndexB`],outputs:[`ExecOut`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_Branch:{bricks:[`B_1x1_Gate_Exec_Branch`],inputs:[`Exec`,`bCond`],outputs:[`ExecOutA`,`ExecOutB`]},BrickComponentType_WireGraph_Exec_Character_GetAim:{bricks:[`B_1x1_Gate_Exec_Character_GetAim`],inputs:[`Character`,`Exec`],outputs:[`Direction`,`ExecOut`,`Origin`]},BrickComponentType_WireGraph_Exec_Character_GetDamage:{bricks:[`B_1x1_Gate_Exec_Character_GetDamage`],inputs:[`Character`,`Exec`],outputs:[`Damage`,`DamageLimit`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_GetFromController:{bricks:[`B_1x1_Gate_Exec_Character_GetFromController`],inputs:[`Controller`,`Exec`],outputs:[`Character`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_IncDamage:{bricks:[`B_1x1_Gate_Exec_Character_IncDamage`],inputs:[`Amount`,`Character`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_SetDamage:{bricks:[`B_1x1_Gate_Exec_Character_SetDamage`],inputs:[`Character`,`Damage`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_SetTempPermission:{bricks:[`B_1x1_Gate_Exec_Character_SetTempPermission`],inputs:[`Character`,`Exec`,`bPermissionEnable`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_ShowHint:{bricks:[`B_1x1_Gate_Exec_Character_ShowHint`],inputs:[`Character`,`Exec`,`HintText`,`HintTitle`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ChatCommand:{bricks:[`B_1x1_Gate_Exec_ChatCommand`],inputs:[],outputs:[`Arguments`,`Controller`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Controller_DisplayText:{bricks:[`B_1x1_Gate_Exec_Controller_DisplayText`],inputs:[`AnchorX`,`AnchorY`,`Angle`,`Controller`,`Exec`,`FontColor`,`FontColor.A`,`FontColor.B`,`FontColor.G`,`FontColor.R`,`FontSize`,`Lifetime`,`OutlineColor`,`OutlineColor.A`,`OutlineColor.B`,`OutlineColor.G`,`OutlineColor.R`,`OutlineSize`,`PositionX`,`PositionY`,`ScaleX`,`ScaleY`,`Text`,`TextId`,`Transition`],outputs:[`ExecOut`,`TextIdOut`]},BrickComponentType_WireGraph_Exec_Controller_GetDisplayName:{bricks:[`B_1x1_Gate_Exec_Controller_GetDisplayName`],inputs:[`Controller`,`Exec`],outputs:[`DisplayName`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Controller_GetFromEntity:{bricks:[`B_1x1_Gate_Exec_Controller_GetFromEntity`],inputs:[`Entity`,`Exec`],outputs:[`Controller`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Controller_GetUserId:{bricks:[`B_1x1_Gate_Exec_Controller_GetUserId`],inputs:[`Controller`,`Exec`],outputs:[`ExecOut`,`UserId`]},BrickComponentType_WireGraph_Exec_Controller_GetUserName:{bricks:[`B_1x1_Gate_Exec_Controller_GetUserName`],inputs:[`Controller`,`Exec`],outputs:[`ExecOut`,`UserName`]},BrickComponentType_WireGraph_Exec_Controller_HasPermission:{bricks:[`B_1x1_Gate_Exec_Controller_HasPermission`],inputs:[`Controller`,`Exec`],outputs:[`ExecOut`,`bHasPermission`]},BrickComponentType_WireGraph_Exec_Controller_IsTrustedByBrickOwner:{bricks:[`B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner`],inputs:[`Controller`,`Exec`],outputs:[`ExecOut`,`bIsTrusted`]},BrickComponentType_WireGraph_Exec_Controller_SetCanRespawn:{bricks:[`B_1x1_Gate_Exec_Controller_SetCanRespawn`],inputs:[`Controller`,`Exec`,`bCanRespawn`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Controller_ShowStatusMessage:{bricks:[`B_1x1_Gate_Exec_Controller_ShowStatusMessage`],inputs:[`Controller`,`Exec`,`Message`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_AddLocationRotation:{bricks:[`B_1x1_Gate_Exec_Entity_AddLocationRotation`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_AddVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_AddVelocity`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.X`,`Rotation.Y`,`Rotation.Z`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_GetAngularVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_GetAngularVelocity`],inputs:[`Entity`,`Exec`],outputs:[`AngularVelocity`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_GetLinearVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_GetLinearVelocity`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`LinearVelocity`]},BrickComponentType_WireGraph_Exec_Entity_GetLocation:{bricks:[`B_1x1_Gate_Exec_Entity_GetLocation`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`Vector`]},BrickComponentType_WireGraph_Exec_Entity_GetLocationRotation:{bricks:[`B_1x1_Gate_Exec_Entity_GetLocationRotation`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`Rotation`,`Vector`]},BrickComponentType_WireGraph_Exec_Entity_GetRotation:{bricks:[`B_1x1_Gate_Exec_Entity_GetRotation`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`Rotation`]},BrickComponentType_WireGraph_Exec_Entity_GetVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_GetVelocity`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`Rotation`,`Vector`]},BrickComponentType_WireGraph_Exec_Entity_RelativeTeleport:{bricks:[`B_1x1_Gate_Exec_Entity_RelativeTeleport`],inputs:[`Destination`,`Entity`,`Exec`,`Source`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetAngularVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_SetAngularVelocity`],inputs:[`AngularVelocity`,`AngularVelocity.X`,`AngularVelocity.Y`,`AngularVelocity.Z`,`Entity`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetFrozen:{bricks:[`B_1x1_Gate_Exec_Entity_SetFrozen`],inputs:[`Entity`,`Exec`,`bFrozen`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetGravityDirection:{bricks:[`B_1x1_Gate_Exec_Entity_SetGravityDirection`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetLinearVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_SetLinearVelocity`],inputs:[`Entity`,`Exec`,`LinearVelocity`,`LinearVelocity.X`,`LinearVelocity.Y`,`LinearVelocity.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetLocation:{bricks:[`B_1x1_Gate_Exec_Entity_SetLocation`],inputs:[`Entity`,`Exec`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetLocationRotation:{bricks:[`B_1x1_Gate_Exec_Entity_SetLocationRotation`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetRotation:{bricks:[`B_1x1_Gate_Exec_Entity_SetRotation`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_SetVelocity`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.X`,`Rotation.Y`,`Rotation.Z`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_Teleport:{bricks:[`B_1x1_Gate_Exec_Entity_Teleport`],inputs:[`Destination`,`Entity`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromPlayers:{bricks:[`B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers:{bricks:[`B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers`],inputs:[`ArrayVarRef`,`Exec`,`Team`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_GetCurrentRound:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetCurrentRound`],inputs:[`Exec`],outputs:[`ExecOut`,`RoundNumber`]},BrickComponentType_WireGraph_Exec_Gamemode_GetLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue`],inputs:[`Controller`,`Exec`,`Key`],outputs:[`ExecOut`,`Value`]},BrickComponentType_WireGraph_Exec_Gamemode_GetTeam:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetTeam`],inputs:[`Character`,`Exec`],outputs:[`ExecOut`,`Team`]},BrickComponentType_WireGraph_Exec_Gamemode_GetTeamByName:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetTeamByName`],inputs:[`Exec`,`TeamName`],outputs:[`ExecOut`,`Team`]},BrickComponentType_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue`],inputs:[`Exec`,`Key`,`Team`],outputs:[`ExecOut`,`Value`]},BrickComponentType_WireGraph_Exec_Gamemode_GetTeamName:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetTeamName`],inputs:[`Exec`,`Team`],outputs:[`ExecOut`,`Name`]},BrickComponentType_WireGraph_Exec_Gamemode_IncrementLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue`],inputs:[`Controller`,`Exec`,`Key`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_IncrementTeamLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue`],inputs:[`Exec`,`Key`,`Team`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_PlayerWins:{bricks:[`B_1x1_Gate_Exec_Gamemode_PlayerWins`],inputs:[`Exec`,`Player`,`bTeamWinsInstead`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_SetLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue`],inputs:[`Controller`,`Exec`,`Key`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_SetTeam:{bricks:[`B_1x1_Gate_Exec_Gamemode_SetTeam`],inputs:[`Controller`,`Exec`,`Team`,`bPinPlayerToTeam`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_SetTeamLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue`],inputs:[`Exec`,`Key`,`Team`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_SetTeamPinned:{bricks:[`B_1x1_Gate_Exec_Gamemode_SetTeamPinned`],inputs:[`Controller`,`Exec`,`bPinned`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_TeamWins:{bricks:[`B_1x1_Gate_Exec_Gamemode_TeamWins`],inputs:[`Exec`,`Team`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_PlayGlobalAudio:{bricks:[`B_1x1_Gate_Exec_PlayGlobalAudio`],inputs:[`Exec`,`PitchMultiplier`,`VolumeMultiplier`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_PrefabSpawner:{bricks:[`B_1x1_Gate_Exec_PrefabSpawner`],inputs:[`Exec`,`Lifetime`,`Limit`,`SpawnOffset`,`SpawnOffset.X`,`SpawnOffset.Y`,`SpawnOffset.Z`,`SpawnOffsetRotation`,`SpawnOffsetRotation.Pitch`,`SpawnOffsetRotation.Roll`,`SpawnOffsetRotation.Yaw`],outputs:[`Entity`,`ExecOut`]},BrickComponentType_WireGraph_Exec_PrintToConsole:{bricks:[`B_1x1_Gate_Exec_PrintToConsole`],inputs:[`Exec`,`Text`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Random:{bricks:[`B_1x1_Gate_Exec_Random`],inputs:[`Exec`,`Max`,`Min`],outputs:[`ExecOut`,`Output`]},BrickComponentType_WireGraph_Exec_Sweep:{bricks:[`B_1x1_Gate_Exec_Sweep`],inputs:[`Direction`,`Direction.X`,`Direction.Y`,`Direction.Z`,`Distance`,`Exec`,`IgnoreEntity`,`Origin`,`Origin.X`,`Origin.Y`,`Origin.Z`,`Radius`,`bRelative`],outputs:[`ExecOut`,`Hit`,`HitDistance`,`HitEntity`,`HitLocation`,`HitNormal`,`Miss`]},BrickComponentType_WireGraph_Exec_Union:{bricks:[`B_1x1_Gate_Exec_Union`],inputs:[`ExecA`,`ExecB`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Var_Get:{bricks:[`B_1x1_Gate_Exec_Var_Get`],inputs:[`Exec`,`VarRef`],outputs:[`ExecOut`,`Value`]},BrickComponentType_WireGraph_Exec_Var_Increment:{bricks:[`B_1x1_Gate_Exec_Var_Increment`],inputs:[`Exec`,`Value`,`VarRef`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Var_Set:{bricks:[`B_1x1_Gate_Exec_Var_Set`],inputs:[`Exec`,`Value`,`VarRef`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Expr_BitwiseAND:{bricks:[`B_1x1_Gate_Expr_BitwiseAND`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseBitCount:{bricks:[`B_1x1_Gate_Expr_BitwiseBitCount`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseNAND:{bricks:[`B_1x1_Gate_Expr_BitwiseNAND`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseNOR:{bricks:[`B_1x1_Gate_Expr_BitwiseNOR`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseNOT:{bricks:[`B_1x1_Gate_Expr_BitwiseNOT`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseOR:{bricks:[`B_1x1_Gate_Expr_BitwiseOR`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseShiftLeft:{bricks:[`B_1x1_Gate_Expr_BitwiseShiftLeft`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseShiftRight:{bricks:[`B_1x1_Gate_Expr_BitwiseShiftRight`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseXOR:{bricks:[`B_1x1_Gate_Expr_BitwiseXOR`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_Ceil:{bricks:[`B_1x1_Gate_Expr_Ceil`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_CompareEqual:{bricks:[`B_1x1_Gate_Expr_CompareEqual`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareGreater:{bricks:[`B_1x1_Gate_Expr_CompareGreater`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareGreaterOrEqual:{bricks:[`B_1x1_Gate_Expr_CompareGreaterOrEqual`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareLess:{bricks:[`B_1x1_Gate_Expr_CompareLess`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareLessOrEqual:{bricks:[`B_1x1_Gate_Expr_CompareLessOrEqual`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareNotEqual:{bricks:[`B_1x1_Gate_Expr_CompareNotEqual`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_EdgeDetector:{bricks:[`B_1x1_Gate_Expr_EdgeDetector`],inputs:[`Input`],outputs:[`bPulseOnFallingEdge`,`bPulseOnRisingEdge`]},BrickComponentType_WireGraph_Expr_Floor:{bricks:[`B_1x1_Gate_Expr_Floor`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_LogicalAND:{bricks:[`B_1x1_Gate_Expr_LogicalAND`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalNAND:{bricks:[`B_1x1_Gate_Expr_LogicalNAND`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalNOR:{bricks:[`B_1x1_Gate_Expr_LogicalNOR`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalNOT:{bricks:[`B_1x1_Gate_Expr_LogicalNOT`],inputs:[`bInput`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalOR:{bricks:[`B_1x1_Gate_Expr_LogicalOR`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalXOR:{bricks:[`B_1x1_Gate_Expr_LogicalXOR`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_MakeColor:{bricks:[`B_1x1_Gate_Expr_MakeColor`],inputs:[`A`,`B`,`G`,`R`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MakeVector:{bricks:[`B_1x1_Gate_Expr_MakeVector`],inputs:[`X`,`Y`,`Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAbs:{bricks:[`B_1x1_Gate_Expr_MathAbs`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAcos:{bricks:[`B_1x1_Gate_Expr_MathAcos`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAcosh:{bricks:[`B_1x1_Gate_Expr_MathAcosh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAdd:{bricks:[`B_1x1_Gate_Expr_MathAdd`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAsin:{bricks:[`B_1x1_Gate_Expr_MathAsin`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAsinh:{bricks:[`B_1x1_Gate_Expr_MathAsinh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAtan:{bricks:[`B_1x1_Gate_Expr_MathAtan`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAtan2:{bricks:[`B_1x1_Gate_Expr_MathAtan2`],inputs:[`X`,`Y`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAtanh:{bricks:[`B_1x1_Gate_Expr_MathAtanh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathBlend:{bricks:[`B_1x1_Gate_Expr_MathBlend`],inputs:[`Blend`,`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathClamp:{bricks:[`B_1x1_Gate_Expr_MathClamp`],inputs:[`Input`,`Max`,`Min`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathCos:{bricks:[`B_1x1_Gate_Expr_MathCos`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathCosh:{bricks:[`B_1x1_Gate_Expr_MathCosh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathDegreesToRadians:{bricks:[`B_1x1_Gate_Expr_MathDegreesToRadians`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathDivide:{bricks:[`B_1x1_Gate_Expr_MathDivide`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathEasing:{bricks:[`B_1x1_Gate_Expr_MathEasing`],inputs:[`Blend`,`Direction`,`Function`,`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathExp:{bricks:[`B_1x1_Gate_Expr_MathExp`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathLn:{bricks:[`B_1x1_Gate_Expr_MathLn`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathLogBase:{bricks:[`B_1x1_Gate_Expr_MathLogBase`],inputs:[`Base`,`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathMax:{bricks:[`B_1x1_Gate_Expr_MathMax`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathMin:{bricks:[`B_1x1_Gate_Expr_MathMin`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathModulo:{bricks:[`B_1x1_Gate_Expr_MathModulo`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathModuloFloored:{bricks:[`B_1x1_Gate_Expr_MathModuloFloored`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathMultiply:{bricks:[`B_1x1_Gate_Expr_MathMultiply`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathNegate:{bricks:[`B_1x1_Gate_Expr_MathNegate`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathPow:{bricks:[`B_1x1_Gate_Expr_MathPow`],inputs:[`Exponent`,`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathRadiansToDegrees:{bricks:[`B_1x1_Gate_Expr_MathRadiansToDegrees`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSign:{bricks:[`B_1x1_Gate_Expr_MathSign`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSin:{bricks:[`B_1x1_Gate_Expr_MathSin`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSinh:{bricks:[`B_1x1_Gate_Expr_MathSinh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSqrt:{bricks:[`B_1x1_Gate_Expr_MathSqrt`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSubtract:{bricks:[`B_1x1_Gate_Expr_MathSubtract`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathTan:{bricks:[`B_1x1_Gate_Expr_MathTan`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathTanh:{bricks:[`B_1x1_Gate_Expr_MathTanh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_NearlyEqual:{bricks:[`B_1x1_Gate_Expr_NearlyEqual`],inputs:[`InputA`,`InputB`,`Tolerance`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_Round:{bricks:[`B_1x1_Gate_Expr_Round`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_Select:{bricks:[`B_1x1_Gate_Expr_Select`],inputs:[`InputA`,`InputB`,`bSelectB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_SplitColor:{bricks:[`B_1x1_Gate_Expr_SplitColor`],inputs:[`Input`,`Input.A`,`Input.B`,`Input.G`,`Input.R`],outputs:[`A`,`B`,`G`,`R`]},BrickComponentType_WireGraph_Expr_SplitVector:{bricks:[`B_1x1_Gate_Expr_SplitVector`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`X`,`Y`,`Z`]},BrickComponentType_WireGraph_Expr_String_Concatenate:{bricks:[`B_1x1_Gate_Expr_String_Concatenate`],inputs:[`InputA`,`InputB`,`Separator`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Contains:{bricks:[`B_1x1_Gate_Expr_String_Contains`],inputs:[`Input`,`Search`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_EndsWith:{bricks:[`B_1x1_Gate_Expr_String_EndsWith`],inputs:[`Input`,`Suffix`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Find:{bricks:[`B_1x1_Gate_Expr_String_Find`],inputs:[`Input`,`Search`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_FormatText:{bricks:[`B_1x1_Gate_Expr_String_FormatText`],inputs:[`FormatString`,`InputA`,`InputB`,`InputC`,`InputD`,`InputE`,`InputF`,`InputG`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Length:{bricks:[`B_1x1_Gate_Expr_String_Length`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_ParseInt:{bricks:[`B_1x1_Gate_Expr_String_ParseInt`],inputs:[`Input`],outputs:[`Value`,`bSuccess`]},BrickComponentType_WireGraph_Expr_String_ParseNumber:{bricks:[`B_1x1_Gate_Expr_String_ParseNumber`],inputs:[`Input`],outputs:[`Value`,`bSuccess`]},BrickComponentType_WireGraph_Expr_String_Replace:{bricks:[`B_1x1_Gate_Expr_String_Replace`],inputs:[`Input`,`Replacement`,`Search`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Split:{bricks:[`B_1x1_Gate_Expr_String_Split`],inputs:[`Delimiter`,`Input`,`bCaseSensitive`],outputs:[`Left`,`Right`,`bFound`]},BrickComponentType_WireGraph_Expr_String_StartsWith:{bricks:[`B_1x1_Gate_Expr_String_StartsWith`],inputs:[`Input`,`Prefix`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Substring:{bricks:[`B_1x1_Gate_Expr_String_Substring`],inputs:[`Input`,`Length`,`Start`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_ToLower:{bricks:[`B_1x1_Gate_Expr_String_ToLower`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_ToUpper:{bricks:[`B_1x1_Gate_Expr_String_ToUpper`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Trim:{bricks:[`B_1x1_Gate_Expr_String_Trim`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_Swap:{bricks:[`B_1x1_Gate_Expr_Swap`],inputs:[`InputA`,`InputB`,`bSwap`],outputs:[`Output`,`OutputB`]},BrickComponentType_WireGraph_Expr_VecCrossProduct:{bricks:[`B_1x1_Gate_Expr_VecCrossProduct`],inputs:[`InputA`,`InputA.X`,`InputA.Y`,`InputA.Z`,`InputB`,`InputB.X`,`InputB.Y`,`InputB.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecDistance:{bricks:[`B_1x1_Gate_Expr_VecDistance`],inputs:[`InputA`,`InputA.X`,`InputA.Y`,`InputA.Z`,`InputB`,`InputB.X`,`InputB.Y`,`InputB.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecDistanceSquared:{bricks:[`B_1x1_Gate_Expr_VecDistanceSquared`],inputs:[`InputA`,`InputA.X`,`InputA.Y`,`InputA.Z`,`InputB`,`InputB.X`,`InputB.Y`,`InputB.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecDotProduct:{bricks:[`B_1x1_Gate_Expr_VecDotProduct`],inputs:[`InputA`,`InputA.X`,`InputA.Y`,`InputA.Z`,`InputB`,`InputB.X`,`InputB.Y`,`InputB.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecMagnitude:{bricks:[`B_1x1_Gate_Expr_VecMagnitude`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecMagnitudeSquared:{bricks:[`B_1x1_Gate_Expr_VecMagnitudeSquared`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecNormalize:{bricks:[`B_1x1_Gate_Expr_VecNormalize`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecRotationToDirection:{bricks:[`B_1x1_Gate_Expr_VecRotationToDirection`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecScale:{bricks:[`B_1x1_Gate_Expr_VecScale`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`,`Scalar`],outputs:[`Output`]},BrickComponentType_WireGraph_Fake_Gamemode_CharacterDiedEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent`],inputs:[],outputs:[`Character`,`ExecOut`]},BrickComponentType_WireGraph_Fake_Gamemode_CharacterSpawnedEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent`],inputs:[],outputs:[`Character`,`ExecOut`]},BrickComponentType_WireGraph_Fake_Gamemode_ControllerJoinedEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent`],inputs:[],outputs:[`Controller`,`ExecOut`]},BrickComponentType_WireGraph_Fake_Gamemode_ControllerLeftEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent`],inputs:[],outputs:[`Controller`,`ExecOut`]},BrickComponentType_WireGraph_Fake_Gamemode_RoundEndEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_RoundEndEvent`],inputs:[`Exec`],outputs:[`ExecOut`,`RoundNumber`]},BrickComponentType_WireGraph_Fake_Gamemode_RoundStartEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_RoundStartEvent`],inputs:[`Exec`],outputs:[`ExecOut`,`RoundNumber`]},BrickComponentType_WireGraph_FontReference:{bricks:[`B_1x1_Gate_FontReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_ItemReference:{bricks:[`B_1x1_Gate_ItemReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_OneShotAudioReference:{bricks:[`B_1x1_Gate_OneShotAudioReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_ParticleReference:{bricks:[`B_1x1_Gate_ParticleReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_PickupReference:{bricks:[`B_1x1_Gate_PickupReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_ProjectileReference:{bricks:[`B_1x1_Gate_ProjectileReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_ServerUptime:{bricks:[`B_1x1_Gate_ServerUptime`],inputs:[],outputs:[`Uptime`]},BrickComponentType_WireGraph_WheelEngineAudioReference:{bricks:[`B_1x1_Gate_WheelEngineAudioReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraphPseudo_ArrayVar:{bricks:[`B_1x1_Gate_Variable_Array`],inputs:[],outputs:[`ArrayVarRef`]},BrickComponentType_WireGraphPseudo_BufferSeconds:{bricks:[`B_1x1_Gate_Pseudo_BufferSeconds`],inputs:[`Input`,`SecondsToWait`,`ZeroSecondsToWait`],outputs:[`Output`]},BrickComponentType_WireGraphPseudo_BufferTicks:{bricks:[`B_1x1_Gate_Pseudo_BufferTicks`],inputs:[`Input`,`TicksToWait`,`ZeroTicksToWait`],outputs:[`Output`]},BrickComponentType_WireGraphPseudo_Dampen:{bricks:[`B_1x1_Gate_Pseudo_Dampen`],inputs:[`SmoothTime`,`Target`],outputs:[`Value`]},BrickComponentType_WireGraphPseudo_QueueSeconds:{bricks:[`B_1x1_Gate_Pseudo_QueueSeconds`],inputs:[`DataIn1`,`DataIn2`,`DataIn3`,`DataIn4`,`DataIn5`,`DataIn6`,`DataIn7`,`DataIn8`,`ExecIn`,`SecondsToWait`],outputs:[`DataOut1`,`DataOut2`,`DataOut3`,`DataOut4`,`DataOut5`,`DataOut6`,`DataOut7`,`DataOut8`,`ExecOut`]},BrickComponentType_WireGraphPseudo_QueueTicks:{bricks:[`B_1x1_Gate_Pseudo_QueueTicks`],inputs:[`DataIn1`,`DataIn2`,`DataIn3`,`DataIn4`,`DataIn5`,`DataIn6`,`DataIn7`,`DataIn8`,`ExecIn`,`TicksToWait`],outputs:[`DataOut1`,`DataOut2`,`DataOut3`,`DataOut4`,`DataOut5`,`DataOut6`,`DataOut7`,`DataOut8`,`ExecOut`]},BrickComponentType_WireGraphPseudo_Timer:{bricks:[`B_1x1_Gate_Pseudo_Timer`],inputs:[`Limit`,`Pause`,`Restart`,`Resume`],outputs:[`Expired`,`Time`]},BrickComponentType_WireGraphPseudo_Tween:{bricks:[`B_1x1_Gate_Pseudo_Tween`],inputs:[`Direction`,`Duration`,`Function`,`Target`],outputs:[`Arrived`,`Value`]},BrickComponentType_WireGraphPseudo_Var:{bricks:[`B_1x1_Gate_Variable`],inputs:[],outputs:[`Value`,`VarRef`]},Component_AudioEmitter:{bricks:[`B_1x1F_Speaker`,`B_2x2F_Speaker`],inputs:[`AudioDescriptor`,`FocusAzimuth`,`InnerRadius`,`MaxDistance`,`NonFocusAzimuth`,`NonFocusVolumeAttenuation`,`PitchMultiplier`,`VolumeMultiplier`,`bEnabled`,`bSpatialization`],outputs:[]},Component_BotSpawn:{bricks:[`B_Bot_Spawn_Point`],inputs:`AggroRange,Agression,AttackDamageMultiplier,AttackMovementAmount,BotName,BotWeapon,CorpseTimeout,GunSkill,HealthMultiplier,Jumpyness,MoveTarget,MoveTarget.X,MoveTarget.Y,MoveTarget.Z,MovementAmount,MovementGoalDummy,MovementRandomness,ReactionTime,RespawnTime,RunSpeed,SkinDummy,TeamCollisionChannel,bActiveBot,bBackVision,bCanJump,bCanTargetBots,bCanTargetPlayers,bDeleteBot,bSpawnEnable,bTeamCollision,bTeamCollision1,bTeamCollision2,bTeamCollision3,bVisionRaycasting`.split(`,`),outputs:[`DistanceToTarget`,`FocusCharacter`,`SpawnedCharacter`]},Component_BrickPropertyChanger:{bricks:[`B_1x1F_Round`],inputs:[`Color`,`Color.A`,`Color.B`,`Color.G`,`Color.R`,`MaterialAlpha`,`bCollisionEnabled`,`bCollisionEnabled_Interaction`,`bCollisionEnabled_Physics`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`,`bCollisionEnabled_Weapon`,`bVisibility`],outputs:[]},Component_Button:{bricks:[`B_1x1F_Round`],inputs:[`PressSound`,`PromptCustomLabel`,`ReleaseSound`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[`Character`,`PressCount`,`bHeld`]},Component_CheckPoint:{bricks:[`B_CheckPoint`],inputs:[`bRotatePlayerGravityOnSpawn`],outputs:[]},Component_Damage:{bricks:[`B_1x1F_Round`],inputs:[`ConsoleTag`,`Message`],outputs:[]},Component_GoalPoint:{bricks:[`B_GoalPoint`],inputs:[],outputs:[]},Component_Interact:{bricks:[`B_1x1F_Round`],inputs:[`ConsoleTag`,`InteractSound`,`Message`,`PromptCustomLabel`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[]},Component_Internal_AnimatedButton:{bricks:[`B_Button`,`B_Button_Pressed`,`B_Button_Square`,`B_Button_Square_Pressed`],inputs:[`PressSound`,`PromptCustomLabel`,`ReleaseSound`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[`Character`,`PressCount`,`bHeld`]},Component_Internal_AnimatedPressurePlate:{bricks:[`B_1x1F_Round`],inputs:[`BeginTouchSound`,`EndTouchSound`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`],outputs:[`Character`,`TouchCount`,`bTouching`]},Component_Internal_AnimatedSwitch:{bricks:[`B_Switch_Flipped`,`B_Switch_Test`],inputs:[`InteractSound`,`PromptCustomLabel`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[`Character`,`bEnabled`]},Component_Internal_AttachedZone:{bricks:[`B_1x1F_Round`],inputs:[`ZoneEndDistance`,`ZoneStartDistance`,`bIsBuildingZone`,`bIsLooseZone`,`bIsShareZone`],outputs:[`OccupantCount`,`ZoneRef`,`bOccupied`]},Component_Internal_Bearing:{bricks:[`B_Joint_Bearing`,`B_Joint_Bearing_Micro`],inputs:[`Damping`,`LimitAngle`,`bAnglesArePercentages`,`bLimitAngle`],outputs:[`CurrentAngle`]},Component_Internal_InputSplitter:{bricks:[`B_1x1_Gate_SeatControlSplitter`],inputs:[`Character`],outputs:[`InputForward`,`InputRight`,`bPressedJump`]},Component_Internal_Joint_Fixed:{bricks:[`B_Joint_Fixed`],inputs:[`LocationInterpMode`,`LocationMaxSpeed`,`LocationSmoothTime`,`OffsetLocation`,`OffsetLocation.X`,`OffsetLocation.Y`,`OffsetLocation.Z`,`OffsetRotation`,`OffsetRotation.Pitch`,`OffsetRotation.Roll`,`OffsetRotation.Yaw`,`RotationInterpMode`,`RotationMaxSpeed`,`RotationSmoothTime`],outputs:[`bSettled`,`bWelded`]},Component_Internal_Joint_Wheel:{bricks:[`B_Joint_Wheel`,`B_Joint_Wheel_Micro`],inputs:[`Control_DriveAndSteer`,`Damping`,`DrivePower`,`DriveSpeed`,`JointDistance`,`Steer`,`SteerLimitDegree`,`SteerPower`,`SuspensionDamping`,`SuspensionStiffness`,`bAllowEngineSteerCorrect`,`bCanBrake`,`bDriveWhenNotAttachedToEngine`,`bEnabled`,`bReversed`,`bSteerEnabled`,`bSuspensionEnabled`],outputs:[]},Component_Internal_Joint_Wheel_Suspension:{bricks:[`B_Joint_Wheel_Micro_Suspension`,`B_Joint_Wheel_Suspension`],inputs:[`Control_DriveAndSteer`,`Damping`,`DrivePower`,`DriveSpeed`,`JointDistance`,`Steer`,`SteerLimitDegree`,`SteerPower`,`SuspensionBottomOffset`,`SuspensionDamping`,`SuspensionStiffness`,`SuspensionTopOffset`,`bAllowEngineSteerCorrect`,`bCanBrake`,`bDriveWhenNotAttachedToEngine`,`bEnabled`,`bReversed`,`bSteerEnabled`,`bSuspensionEnabled`],outputs:[]},Component_Internal_Microchip:{bricks:[`B_1x1_Microchip`],inputs:[],outputs:[]},Component_Internal_Motor:{bricks:[`B_Joint_Motor`,`B_Joint_Motor_Micro`],inputs:[`Damping`,`LimitAngle`,`Power`,`Speed`,`bAnglesArePercentages`,`bEnabled`,`bLimitAngle`],outputs:[`CurrentAngle`]},Component_Internal_MotorSlider:{bricks:[`B_1x1F_Round`],inputs:[`Damping`,`Power`,`Speed`,`bEnabled`,`bPositionsArePercentages`],outputs:[`CurrentPosition`]},Component_Internal_Rerouter:{bricks:[`B_1x1_Reroute_Node`],inputs:[`RER_Input`],outputs:[`RER_Output`]},Component_Internal_Seat:{bricks:[`B_Seat`],inputs:[`ExitOffset`,`ExitOffset.X`,`ExitOffset.Y`,`ExitOffset.Z`,`PromptCustomLabel`,`bAllowNearbyInteraction`,`bHiddenInteraction`,`bRollCameraInThirdPerson`],outputs:[`SittingCharacter`,`bIsOccupied`]},Component_Internal_Servo:{bricks:[`B_Joint_Servo`,`B_Joint_Servo_Micro`],inputs:[`ActiveDamping`,`Damping`,`ForceLimit`,`LimitAngle`,`Power`,`TargetAngle`,`bAnglesArePercentages`,`bEnabled`,`bLimitAngle`],outputs:[`CurrentAngle`,`bStopped`]},Component_Internal_ServoSlider:{bricks:[`B_1x1F_Round`],inputs:[`Damping`,`Exponent`,`Power`,`TargetPosition`,`TopSpeed`,`bEnabled`,`bPositionsArePercentages`],outputs:[`CurrentPosition`,`bStopped`]},Component_Internal_Slider:{bricks:[`B_1x1F_Round`],inputs:[`Damping`,`bPositionsArePercentages`],outputs:[`CurrentPosition`]},Component_Internal_Socket:{bricks:[`B_Joint_Socket`,`B_Joint_Socket_Micro`],inputs:[],outputs:[]},Component_Internal_Thruster:{bricks:[`B_2x2_Thruster`],inputs:[`Force`,`Pitch`,`Throttle`,`Yaw`,`bEnabled`,`bSpawnLight`],outputs:[]},Component_Internal_WeightBrick:{bricks:[`B_1x1_Gate_WeightBrick`],inputs:[`Mass`,`MassOffset`,`MassOffset.X`,`MassOffset.Y`,`MassOffset.Z`,`MassSize`,`MassSize.X`,`MassSize.Y`,`MassSize.Z`],outputs:[]},Component_Internal_WheelEngine:{bricks:[`B_1x1_Gate_WheelEngineSlim`,`B_Vehicle_Engine`],inputs:[`AudioDescriptor`,`CenterOfSteering`,`Character`,`CustomMass`,`CustomMassVerticalOffset`,`DriveAcceleratingPowerMultiplier`,`DriveBrakingPowerMultiplier`,`DriveDampingMultiplier`,`DriveInterpSpeed`,`DriveSpeed`,`ManualInput_Drive`,`ManualInput_Steer`,`SteerInterpSpeed`,`SteerLimitDegree`,`SteerPowerMultiplier`,`TankSteerSpeedMultiplier`,`WaterDriveForce`,`WaterSteeringForce`,`bEnableManualControl`,`bEnabled`,`bManualInput_Brake`,`bTankSteering`],outputs:[`Control_DriveAndSteer`]},Component_ItemSpawn:{bricks:[`B_1x1F_Round`],inputs:`DamageMultiplier,ItemNameOverride,PickupAnimationAxis,PickupAnimationPhase,PickupBobHeight,PickupBobSpeed,PickupClass,PickupMeshColors,PickupMinigameResetRespawnDelay,PickupOffsetDirection,PickupOffsetDistance,PickupRespawnTime,PickupRotation,PickupRotation.Pitch,PickupRotation.Roll,PickupRotation.Yaw,PickupScale,PickupSpinSpeed,ProjectileOverride,WeaponSpeedMultiplier,bOverridePickupColors,bPickupAnimationAxisLocal,bPickupAnimationEnabled,bPickupAutoDisableOnPickup,bPickupEnabled,bPickupRespawnOnMinigameReset,bRenderTranslucentWhenDisabled`.split(`,`),outputs:[`bShowPickupEnabled`]},Component_OneShotAudioEmitter:{bricks:[`B_1x1_SoundEmitter`],inputs:[`AudioDescriptor`,`InnerRadius`,`MaxDistance`,`PitchMultiplier`,`RepeatTime`,`RepeatVariance`,`VolumeMultiplier`,`bEnableRepeat`,`bPlay`,`bSpatialization`],outputs:[]},Component_PointLight:{bricks:[`B_1x1F_Round`],inputs:[`Brightness`,`Color`,`Color.A`,`Color.B`,`Color.G`,`Color.R`,`Radius`,`bCastShadows`,`bEnabled`,`bMatchBrickShape`,`bUseBrickColor`],outputs:[]},Component_SpawnPoint:{bricks:[`B_SpawnPoint`],inputs:[`bEnable`,`bRotatePlayerGravityOnSpawn`],outputs:[]},Component_SpotLight:{bricks:[`B_1x1F_Round`],inputs:[`Brightness`,`Color`,`Color.A`,`Color.B`,`Color.G`,`Color.R`,`InnerConeAngle`,`OuterConeAngle`,`Radius`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`,`bCastShadows`,`bEnabled`,`bUseBrickColor`],outputs:[]},Component_Switch:{bricks:[`B_1x1F_Round`],inputs:[`InteractSound`,`PromptCustomLabel`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[`Character`,`bEnabled`]},Component_Target:{bricks:[`B_2x2F_Target`],inputs:[`OnTime`],outputs:[`CharacterThatJustHit`,`Damage`,`WeaponNameThatJustHit`,`WeaponThatJustHit`,`bJustHit`]},Component_TextDisplay:{bricks:[`B_1x1F_Round`],inputs:`Anchor,Anchor.X,Anchor.Y,Billboard,Color,Color.A,Color.B,Color.G,Color.R,Face,Font,GraffitiAngleLimit,GraffitiDepthLimit,GraffitiLayer,Kerning,LineHeight,LineOffset,Material,MaterialSlider,Offset,Offset.X,Offset.Y,Offset.Z,Outline,OutlineColor,OutlineColor.A,OutlineColor.B,OutlineColor.G,OutlineColor.R,OutlineWidth,Rotation,ScuffWidth,Shading,ShadingWidth,Skew,Text,Typeface,bAlignToWedge,bEnabled,bFlipShading,bForeground,bOverrideColor,bOverrideOutlineColor,bSharpCorners,bSharpOutlines`.split(`,`),outputs:[]},Component_Touch:{bricks:[`B_1x1F_Round`],inputs:[`BeginTouchSound`,`EndTouchSound`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`],outputs:[`Character`,`TouchCount`,`bTouching`]},Component_WireGraph_PlayAudioAt:{bricks:[`B_1x1_Gate_Exec_Entity_PlayAudioAt`],inputs:[`Entity`,`Exec`,`InnerRadius`,`MaxDistance`,`PitchMultiplier`,`VolumeMultiplier`,`bSpatialization`],outputs:[`ExecOut`]},Component_WireGraph_SetInventoryEntry:{bricks:[`B_1x1_Gate_Exec_Character_SetInventoryEntry`],inputs:[`Character`,`Exec`,`Slot`],outputs:[`ExecOut`]}})),aa={CharacterZoneEvent_Entered:{NAME:`BrickComponentType_Internal_CharacterZoneEvent_Entered`,BRICK:`B_1x1_Gate_Internal_CharacterZoneEvent_Entered`,BRICKS:[`B_1x1_Gate_Internal_CharacterZoneEvent_Entered`],PORTS:{Zone:`Zone`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,Character:`Character`,Exec:`Exec`}},CharacterZoneEvent_Left:{NAME:`BrickComponentType_Internal_CharacterZoneEvent_Left`,BRICK:`B_1x1_Gate_Internal_CharacterZoneEvent_Left`,BRICKS:[`B_1x1_Gate_Internal_CharacterZoneEvent_Left`],PORTS:{Zone:`Zone`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,Character:`Character`,Exec:`Exec`}},MicrochipInput:{NAME:`BrickComponentType_Internal_MicrochipInput`,BRICK:`B_1x1_Gate_MicrochipInput`,BRICKS:[`B_1x1_Gate_MicrochipInput`],PORTS:{RER_Input:`RER_Input`,RER_Output:`RER_Output`}},MicrochipOutput:{NAME:`BrickComponentType_Internal_MicrochipOutput`,BRICK:`B_1x1_Gate_MicrochipOutput`,BRICKS:[`B_1x1_Gate_MicrochipOutput`],PORTS:{RER_Input:`RER_Input`,RER_Output:`RER_Output`}},ReadBrickGrid:{NAME:`BrickComponentType_Internal_ReadBrickGrid`,BRICK:`B_1x1_Gate_Internal_ReadBrickGrid`,BRICKS:[`B_1x1_Gate_Internal_ReadBrickGrid`],PORTS:{BrickGrid:`BrickGrid`}},TeleportDestination:{NAME:`BrickComponentType_Internal_TeleportDestination`,BRICK:`B_DestinationPoint`,BRICKS:[`B_DestinationPoint`],PORTS:{ThisDestination:`ThisDestination`}},ZoneEvent_BrickChanged:{NAME:`BrickComponentType_Internal_ZoneEvent_BrickChanged`,BRICK:`B_1x1_Gate_Internal_ZoneEvent_BrickChanged`,BRICKS:[`B_1x1_Gate_Internal_ZoneEvent_BrickChanged`],PORTS:{Zone:`Zone`,Exec:`Exec`}},ZoneEvent_BrickRemoved:{NAME:`BrickComponentType_Internal_ZoneEvent_BrickRemoved`,BRICK:`B_1x1_Gate_Internal_ZoneEvent_BrickRemoved`,BRICKS:[`B_1x1_Gate_Internal_ZoneEvent_BrickRemoved`],PORTS:{Zone:`Zone`,Exec:`Exec`}},PrefabSpawn:{NAME:`BrickComponentType_PrefabSpawn`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Prefab:`Prefab`,Prefab_Path:`Prefab.Path`,RespawnTime:`RespawnTime`,SpawnOffset:`SpawnOffset`,SpawnOffset_X:`SpawnOffset.X`,SpawnOffset_Y:`SpawnOffset.Y`,SpawnOffset_Z:`SpawnOffset.Z`,SpawnOffsetRotation:`SpawnOffsetRotation`,SpawnOffsetRotation_Pitch:`SpawnOffsetRotation.Pitch`,SpawnOffsetRotation_Roll:`SpawnOffsetRotation.Roll`,SpawnOffsetRotation_Yaw:`SpawnOffsetRotation.Yaw`,bSpawnEnable:`bSpawnEnable`,SpawnedEntity:`SpawnedEntity`}},AudioReference:{NAME:`BrickComponentType_WireGraph_AudioReference`,BRICK:`B_1x1_Gate_AudioReference`,BRICKS:[`B_1x1_Gate_AudioReference`],PORTS:{Value:`Value`}},DeltaTime:{NAME:`BrickComponentType_WireGraph_DeltaTime`,BRICK:`B_1x1_Gate_DeltaTime`,BRICKS:[`B_1x1_Gate_DeltaTime`],PORTS:{DeltaTime:`DeltaTime`}},Exec_ArrayVar_Append:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Append`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Append`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Append`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,SourceRef:`SourceRef`,ExecOut:`ExecOut`}},Exec_ArrayVar_Average:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Average`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Average`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Average`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`,bIsEmpty:`bIsEmpty`}},Exec_ArrayVar_Clear:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Clear`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Clear`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Clear`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_ArrayVar_CopyFrom:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_CopyFrom`,BRICK:`B_1x1_Gate_Exec_ArrayVar_CopyFrom`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_CopyFrom`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,SourceRef:`SourceRef`,ExecOut:`ExecOut`}},Exec_ArrayVar_Fill:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Fill`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Fill`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Fill`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Value:`Value`,ExecOut:`ExecOut`}},Exec_ArrayVar_Find:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Find`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Find`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Find`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Value:`Value`,ExecOut:`ExecOut`,Index:`Index`,bFound:`bFound`}},Exec_ArrayVar_Get:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Get`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Get`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Get`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Index:`Index`,ExecOut:`ExecOut`,Value:`Value`,bOutOfBounds:`bOutOfBounds`}},Exec_ArrayVar_GetLength:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_GetLength`,BRICK:`B_1x1_Gate_Exec_ArrayVar_GetLength`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_GetLength`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Length:`Length`}},Exec_ArrayVar_Insert:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Insert`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Insert`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Insert`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Index:`Index`,Value:`Value`,ExecOut:`ExecOut`,bOutOfBounds:`bOutOfBounds`}},Exec_ArrayVar_Max:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Max`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Max`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Max`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`,bIsEmpty:`bIsEmpty`}},Exec_ArrayVar_Min:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Min`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Min`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Min`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`,bIsEmpty:`bIsEmpty`}},Exec_ArrayVar_Pop:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Pop`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Pop`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Pop`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`,bIsEmpty:`bIsEmpty`}},Exec_ArrayVar_Push:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Push`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Push`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Push`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Value:`Value`,ExecOut:`ExecOut`}},Exec_ArrayVar_RemoveAtIndex:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_RemoveAtIndex`,BRICK:`B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Index:`Index`,ExecOut:`ExecOut`,bOutOfBounds:`bOutOfBounds`}},Exec_ArrayVar_Resize:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Resize`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Resize`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Resize`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Size:`Size`,Value:`Value`,ExecOut:`ExecOut`}},Exec_ArrayVar_Reverse:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Reverse`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Reverse`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Reverse`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_ArrayVar_SetAtIndex:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_SetAtIndex`,BRICK:`B_1x1_Gate_Exec_ArrayVar_SetAtIndex`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_SetAtIndex`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Index:`Index`,Value:`Value`,ExecOut:`ExecOut`}},Exec_ArrayVar_Shuffle:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Shuffle`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Shuffle`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Shuffle`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_ArrayVar_Slice:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Slice`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Slice`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Slice`],PORTS:{ArrayVarRef:`ArrayVarRef`,Count:`Count`,Exec:`Exec`,SourceRef:`SourceRef`,Start:`Start`,ExecOut:`ExecOut`,bOutOfBounds:`bOutOfBounds`}},Exec_ArrayVar_Sort:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Sort`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Sort`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Sort`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,bDescending:`bDescending`,ExecOut:`ExecOut`}},Exec_ArrayVar_Sum:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Sum`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Sum`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Sum`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`}},Exec_ArrayVar_Swap:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Swap`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Swap`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Swap`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,IndexA:`IndexA`,IndexB:`IndexB`,ExecOut:`ExecOut`,bOutOfBounds:`bOutOfBounds`}},Exec_Branch:{NAME:`BrickComponentType_WireGraph_Exec_Branch`,BRICK:`B_1x1_Gate_Exec_Branch`,BRICKS:[`B_1x1_Gate_Exec_Branch`],PORTS:{Exec:`Exec`,bCond:`bCond`,ExecOutA:`ExecOutA`,ExecOutB:`ExecOutB`}},Exec_Character_GetAim:{NAME:`BrickComponentType_WireGraph_Exec_Character_GetAim`,BRICK:`B_1x1_Gate_Exec_Character_GetAim`,BRICKS:[`B_1x1_Gate_Exec_Character_GetAim`],PORTS:{Character:`Character`,Exec:`Exec`,Direction:`Direction`,ExecOut:`ExecOut`,Origin:`Origin`}},Exec_Character_GetDamage:{NAME:`BrickComponentType_WireGraph_Exec_Character_GetDamage`,BRICK:`B_1x1_Gate_Exec_Character_GetDamage`,BRICKS:[`B_1x1_Gate_Exec_Character_GetDamage`],PORTS:{Character:`Character`,Exec:`Exec`,Damage:`Damage`,DamageLimit:`DamageLimit`,ExecOut:`ExecOut`}},Exec_Character_GetFromController:{NAME:`BrickComponentType_WireGraph_Exec_Character_GetFromController`,BRICK:`B_1x1_Gate_Exec_Character_GetFromController`,BRICKS:[`B_1x1_Gate_Exec_Character_GetFromController`],PORTS:{Controller:`Controller`,Exec:`Exec`,Character:`Character`,ExecOut:`ExecOut`}},Exec_Character_IncDamage:{NAME:`BrickComponentType_WireGraph_Exec_Character_IncDamage`,BRICK:`B_1x1_Gate_Exec_Character_IncDamage`,BRICKS:[`B_1x1_Gate_Exec_Character_IncDamage`],PORTS:{Amount:`Amount`,Character:`Character`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Character_SetDamage:{NAME:`BrickComponentType_WireGraph_Exec_Character_SetDamage`,BRICK:`B_1x1_Gate_Exec_Character_SetDamage`,BRICKS:[`B_1x1_Gate_Exec_Character_SetDamage`],PORTS:{Character:`Character`,Damage:`Damage`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Character_SetTempPermission:{NAME:`BrickComponentType_WireGraph_Exec_Character_SetTempPermission`,BRICK:`B_1x1_Gate_Exec_Character_SetTempPermission`,BRICKS:[`B_1x1_Gate_Exec_Character_SetTempPermission`],PORTS:{Character:`Character`,Exec:`Exec`,bPermissionEnable:`bPermissionEnable`,ExecOut:`ExecOut`}},Exec_Character_ShowHint:{NAME:`BrickComponentType_WireGraph_Exec_Character_ShowHint`,BRICK:`B_1x1_Gate_Exec_Character_ShowHint`,BRICKS:[`B_1x1_Gate_Exec_Character_ShowHint`],PORTS:{Character:`Character`,Exec:`Exec`,HintText:`HintText`,HintTitle:`HintTitle`,ExecOut:`ExecOut`}},Exec_ChatCommand:{NAME:`BrickComponentType_WireGraph_Exec_ChatCommand`,BRICK:`B_1x1_Gate_Exec_ChatCommand`,BRICKS:[`B_1x1_Gate_Exec_ChatCommand`],PORTS:{Arguments:`Arguments`,Controller:`Controller`,ExecOut:`ExecOut`}},Exec_Controller_DisplayText:{NAME:`BrickComponentType_WireGraph_Exec_Controller_DisplayText`,BRICK:`B_1x1_Gate_Exec_Controller_DisplayText`,BRICKS:[`B_1x1_Gate_Exec_Controller_DisplayText`],PORTS:{AnchorX:`AnchorX`,AnchorY:`AnchorY`,Angle:`Angle`,Controller:`Controller`,Exec:`Exec`,FontColor:`FontColor`,FontColor_A:`FontColor.A`,FontColor_B:`FontColor.B`,FontColor_G:`FontColor.G`,FontColor_R:`FontColor.R`,FontSize:`FontSize`,Lifetime:`Lifetime`,OutlineColor:`OutlineColor`,OutlineColor_A:`OutlineColor.A`,OutlineColor_B:`OutlineColor.B`,OutlineColor_G:`OutlineColor.G`,OutlineColor_R:`OutlineColor.R`,OutlineSize:`OutlineSize`,PositionX:`PositionX`,PositionY:`PositionY`,ScaleX:`ScaleX`,ScaleY:`ScaleY`,Text:`Text`,TextId:`TextId`,Transition:`Transition`,ExecOut:`ExecOut`,TextIdOut:`TextIdOut`}},Exec_Controller_GetDisplayName:{NAME:`BrickComponentType_WireGraph_Exec_Controller_GetDisplayName`,BRICK:`B_1x1_Gate_Exec_Controller_GetDisplayName`,BRICKS:[`B_1x1_Gate_Exec_Controller_GetDisplayName`],PORTS:{Controller:`Controller`,Exec:`Exec`,DisplayName:`DisplayName`,ExecOut:`ExecOut`}},Exec_Controller_GetFromEntity:{NAME:`BrickComponentType_WireGraph_Exec_Controller_GetFromEntity`,BRICK:`B_1x1_Gate_Exec_Controller_GetFromEntity`,BRICKS:[`B_1x1_Gate_Exec_Controller_GetFromEntity`],PORTS:{Entity:`Entity`,Exec:`Exec`,Controller:`Controller`,ExecOut:`ExecOut`}},Exec_Controller_GetUserId:{NAME:`BrickComponentType_WireGraph_Exec_Controller_GetUserId`,BRICK:`B_1x1_Gate_Exec_Controller_GetUserId`,BRICKS:[`B_1x1_Gate_Exec_Controller_GetUserId`],PORTS:{Controller:`Controller`,Exec:`Exec`,ExecOut:`ExecOut`,UserId:`UserId`}},Exec_Controller_GetUserName:{NAME:`BrickComponentType_WireGraph_Exec_Controller_GetUserName`,BRICK:`B_1x1_Gate_Exec_Controller_GetUserName`,BRICKS:[`B_1x1_Gate_Exec_Controller_GetUserName`],PORTS:{Controller:`Controller`,Exec:`Exec`,ExecOut:`ExecOut`,UserName:`UserName`}},Exec_Controller_HasPermission:{NAME:`BrickComponentType_WireGraph_Exec_Controller_HasPermission`,BRICK:`B_1x1_Gate_Exec_Controller_HasPermission`,BRICKS:[`B_1x1_Gate_Exec_Controller_HasPermission`],PORTS:{Controller:`Controller`,Exec:`Exec`,ExecOut:`ExecOut`,bHasPermission:`bHasPermission`}},Exec_Controller_IsTrustedByBrickOwner:{NAME:`BrickComponentType_WireGraph_Exec_Controller_IsTrustedByBrickOwner`,BRICK:`B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner`,BRICKS:[`B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner`],PORTS:{Controller:`Controller`,Exec:`Exec`,ExecOut:`ExecOut`,bIsTrusted:`bIsTrusted`}},Exec_Controller_SetCanRespawn:{NAME:`BrickComponentType_WireGraph_Exec_Controller_SetCanRespawn`,BRICK:`B_1x1_Gate_Exec_Controller_SetCanRespawn`,BRICKS:[`B_1x1_Gate_Exec_Controller_SetCanRespawn`],PORTS:{Controller:`Controller`,Exec:`Exec`,bCanRespawn:`bCanRespawn`,ExecOut:`ExecOut`}},Exec_Controller_ShowStatusMessage:{NAME:`BrickComponentType_WireGraph_Exec_Controller_ShowStatusMessage`,BRICK:`B_1x1_Gate_Exec_Controller_ShowStatusMessage`,BRICKS:[`B_1x1_Gate_Exec_Controller_ShowStatusMessage`],PORTS:{Controller:`Controller`,Exec:`Exec`,Message:`Message`,ExecOut:`ExecOut`}},Exec_Entity_AddLocationRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_AddLocationRotation`,BRICK:`B_1x1_Gate_Exec_Entity_AddLocationRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_AddLocationRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_AddVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_AddVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_AddVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_AddVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_X:`Rotation.X`,Rotation_Y:`Rotation.Y`,Rotation_Z:`Rotation.Z`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_GetAngularVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetAngularVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_GetAngularVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetAngularVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,AngularVelocity:`AngularVelocity`,ExecOut:`ExecOut`}},Exec_Entity_GetLinearVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetLinearVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_GetLinearVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetLinearVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,LinearVelocity:`LinearVelocity`}},Exec_Entity_GetLocation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetLocation`,BRICK:`B_1x1_Gate_Exec_Entity_GetLocation`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetLocation`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,Vector:`Vector`}},Exec_Entity_GetLocationRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetLocationRotation`,BRICK:`B_1x1_Gate_Exec_Entity_GetLocationRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetLocationRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,Rotation:`Rotation`,Vector:`Vector`}},Exec_Entity_GetRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetRotation`,BRICK:`B_1x1_Gate_Exec_Entity_GetRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,Rotation:`Rotation`}},Exec_Entity_GetVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_GetVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,Rotation:`Rotation`,Vector:`Vector`}},Exec_Entity_RelativeTeleport:{NAME:`BrickComponentType_WireGraph_Exec_Entity_RelativeTeleport`,BRICK:`B_1x1_Gate_Exec_Entity_RelativeTeleport`,BRICKS:[`B_1x1_Gate_Exec_Entity_RelativeTeleport`],PORTS:{Destination:`Destination`,Entity:`Entity`,Exec:`Exec`,Source:`Source`,ExecOut:`ExecOut`}},Exec_Entity_SetAngularVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetAngularVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_SetAngularVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetAngularVelocity`],PORTS:{AngularVelocity:`AngularVelocity`,AngularVelocity_X:`AngularVelocity.X`,AngularVelocity_Y:`AngularVelocity.Y`,AngularVelocity_Z:`AngularVelocity.Z`,Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Entity_SetFrozen:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetFrozen`,BRICK:`B_1x1_Gate_Exec_Entity_SetFrozen`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetFrozen`],PORTS:{Entity:`Entity`,Exec:`Exec`,bFrozen:`bFrozen`,ExecOut:`ExecOut`}},Exec_Entity_SetGravityDirection:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetGravityDirection`,BRICK:`B_1x1_Gate_Exec_Entity_SetGravityDirection`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetGravityDirection`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,ExecOut:`ExecOut`}},Exec_Entity_SetLinearVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetLinearVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_SetLinearVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetLinearVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,LinearVelocity:`LinearVelocity`,LinearVelocity_X:`LinearVelocity.X`,LinearVelocity_Y:`LinearVelocity.Y`,LinearVelocity_Z:`LinearVelocity.Z`,ExecOut:`ExecOut`}},Exec_Entity_SetLocation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetLocation`,BRICK:`B_1x1_Gate_Exec_Entity_SetLocation`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetLocation`],PORTS:{Entity:`Entity`,Exec:`Exec`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_SetLocationRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetLocationRotation`,BRICK:`B_1x1_Gate_Exec_Entity_SetLocationRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetLocationRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_SetRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetRotation`,BRICK:`B_1x1_Gate_Exec_Entity_SetRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,ExecOut:`ExecOut`}},Exec_Entity_SetVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_SetVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_X:`Rotation.X`,Rotation_Y:`Rotation.Y`,Rotation_Z:`Rotation.Z`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_Teleport:{NAME:`BrickComponentType_WireGraph_Exec_Entity_Teleport`,BRICK:`B_1x1_Gate_Exec_Entity_Teleport`,BRICKS:[`B_1x1_Gate_Exec_Entity_Teleport`],PORTS:{Destination:`Destination`,Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Gamemode_FillArrayFromPlayers:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromPlayers`,BRICK:`B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Gamemode_FillArrayFromTeamMembers:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers`,BRICK:`B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Team:`Team`,ExecOut:`ExecOut`}},Exec_Gamemode_GetCurrentRound:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetCurrentRound`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetCurrentRound`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetCurrentRound`],PORTS:{Exec:`Exec`,ExecOut:`ExecOut`,RoundNumber:`RoundNumber`}},Exec_Gamemode_GetLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue`],PORTS:{Controller:`Controller`,Exec:`Exec`,Key:`Key`,ExecOut:`ExecOut`,Value:`Value`}},Exec_Gamemode_GetTeam:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetTeam`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetTeam`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetTeam`],PORTS:{Character:`Character`,Exec:`Exec`,ExecOut:`ExecOut`,Team:`Team`}},Exec_Gamemode_GetTeamByName:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamByName`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetTeamByName`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetTeamByName`],PORTS:{Exec:`Exec`,TeamName:`TeamName`,ExecOut:`ExecOut`,Team:`Team`}},Exec_Gamemode_GetTeamLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue`],PORTS:{Exec:`Exec`,Key:`Key`,Team:`Team`,ExecOut:`ExecOut`,Value:`Value`}},Exec_Gamemode_GetTeamName:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamName`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetTeamName`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetTeamName`],PORTS:{Exec:`Exec`,Team:`Team`,ExecOut:`ExecOut`,Name:`Name`}},Exec_Gamemode_IncrementLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_IncrementLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue`],PORTS:{Controller:`Controller`,Exec:`Exec`,Key:`Key`,Value:`Value`,ExecOut:`ExecOut`}},Exec_Gamemode_IncrementTeamLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_IncrementTeamLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue`],PORTS:{Exec:`Exec`,Key:`Key`,Team:`Team`,Value:`Value`,ExecOut:`ExecOut`}},Exec_Gamemode_PlayerWins:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_PlayerWins`,BRICK:`B_1x1_Gate_Exec_Gamemode_PlayerWins`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_PlayerWins`],PORTS:{Exec:`Exec`,Player:`Player`,bTeamWinsInstead:`bTeamWinsInstead`,ExecOut:`ExecOut`}},Exec_Gamemode_SetLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_SetLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue`],PORTS:{Controller:`Controller`,Exec:`Exec`,Key:`Key`,Value:`Value`,ExecOut:`ExecOut`}},Exec_Gamemode_SetTeam:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_SetTeam`,BRICK:`B_1x1_Gate_Exec_Gamemode_SetTeam`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_SetTeam`],PORTS:{Controller:`Controller`,Exec:`Exec`,Team:`Team`,bPinPlayerToTeam:`bPinPlayerToTeam`,ExecOut:`ExecOut`}},Exec_Gamemode_SetTeamLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_SetTeamLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue`],PORTS:{Exec:`Exec`,Key:`Key`,Team:`Team`,Value:`Value`,ExecOut:`ExecOut`}},Exec_Gamemode_SetTeamPinned:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_SetTeamPinned`,BRICK:`B_1x1_Gate_Exec_Gamemode_SetTeamPinned`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_SetTeamPinned`],PORTS:{Controller:`Controller`,Exec:`Exec`,bPinned:`bPinned`,ExecOut:`ExecOut`}},Exec_Gamemode_TeamWins:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_TeamWins`,BRICK:`B_1x1_Gate_Exec_Gamemode_TeamWins`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_TeamWins`],PORTS:{Exec:`Exec`,Team:`Team`,ExecOut:`ExecOut`}},Exec_PlayGlobalAudio:{NAME:`BrickComponentType_WireGraph_Exec_PlayGlobalAudio`,BRICK:`B_1x1_Gate_Exec_PlayGlobalAudio`,BRICKS:[`B_1x1_Gate_Exec_PlayGlobalAudio`],PORTS:{Exec:`Exec`,PitchMultiplier:`PitchMultiplier`,VolumeMultiplier:`VolumeMultiplier`,ExecOut:`ExecOut`}},Exec_PrefabSpawner:{NAME:`BrickComponentType_WireGraph_Exec_PrefabSpawner`,BRICK:`B_1x1_Gate_Exec_PrefabSpawner`,BRICKS:[`B_1x1_Gate_Exec_PrefabSpawner`],PORTS:{Exec:`Exec`,Lifetime:`Lifetime`,Limit:`Limit`,SpawnOffset:`SpawnOffset`,SpawnOffset_X:`SpawnOffset.X`,SpawnOffset_Y:`SpawnOffset.Y`,SpawnOffset_Z:`SpawnOffset.Z`,SpawnOffsetRotation:`SpawnOffsetRotation`,SpawnOffsetRotation_Pitch:`SpawnOffsetRotation.Pitch`,SpawnOffsetRotation_Roll:`SpawnOffsetRotation.Roll`,SpawnOffsetRotation_Yaw:`SpawnOffsetRotation.Yaw`,Entity:`Entity`,ExecOut:`ExecOut`}},Exec_PrintToConsole:{NAME:`BrickComponentType_WireGraph_Exec_PrintToConsole`,BRICK:`B_1x1_Gate_Exec_PrintToConsole`,BRICKS:[`B_1x1_Gate_Exec_PrintToConsole`],PORTS:{Exec:`Exec`,Text:`Text`,ExecOut:`ExecOut`}},Exec_Random:{NAME:`BrickComponentType_WireGraph_Exec_Random`,BRICK:`B_1x1_Gate_Exec_Random`,BRICKS:[`B_1x1_Gate_Exec_Random`],PORTS:{Exec:`Exec`,Max:`Max`,Min:`Min`,ExecOut:`ExecOut`,Output:`Output`}},Exec_Sweep:{NAME:`BrickComponentType_WireGraph_Exec_Sweep`,BRICK:`B_1x1_Gate_Exec_Sweep`,BRICKS:[`B_1x1_Gate_Exec_Sweep`],PORTS:{Direction:`Direction`,Direction_X:`Direction.X`,Direction_Y:`Direction.Y`,Direction_Z:`Direction.Z`,Distance:`Distance`,Exec:`Exec`,IgnoreEntity:`IgnoreEntity`,Origin:`Origin`,Origin_X:`Origin.X`,Origin_Y:`Origin.Y`,Origin_Z:`Origin.Z`,Radius:`Radius`,bRelative:`bRelative`,ExecOut:`ExecOut`,Hit:`Hit`,HitDistance:`HitDistance`,HitEntity:`HitEntity`,HitLocation:`HitLocation`,HitNormal:`HitNormal`,Miss:`Miss`}},Exec_Union:{NAME:`BrickComponentType_WireGraph_Exec_Union`,BRICK:`B_1x1_Gate_Exec_Union`,BRICKS:[`B_1x1_Gate_Exec_Union`],PORTS:{ExecA:`ExecA`,ExecB:`ExecB`,ExecOut:`ExecOut`}},Exec_Var_Get:{NAME:`BrickComponentType_WireGraph_Exec_Var_Get`,BRICK:`B_1x1_Gate_Exec_Var_Get`,BRICKS:[`B_1x1_Gate_Exec_Var_Get`],PORTS:{Exec:`Exec`,VarRef:`VarRef`,ExecOut:`ExecOut`,Value:`Value`}},Exec_Var_Increment:{NAME:`BrickComponentType_WireGraph_Exec_Var_Increment`,BRICK:`B_1x1_Gate_Exec_Var_Increment`,BRICKS:[`B_1x1_Gate_Exec_Var_Increment`],PORTS:{Exec:`Exec`,Value:`Value`,VarRef:`VarRef`,ExecOut:`ExecOut`}},Exec_Var_Set:{NAME:`BrickComponentType_WireGraph_Exec_Var_Set`,BRICK:`B_1x1_Gate_Exec_Var_Set`,BRICKS:[`B_1x1_Gate_Exec_Var_Set`],PORTS:{Exec:`Exec`,Value:`Value`,VarRef:`VarRef`,ExecOut:`ExecOut`}},Expr_BitwiseAND:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseAND`,BRICK:`B_1x1_Gate_Expr_BitwiseAND`,BRICKS:[`B_1x1_Gate_Expr_BitwiseAND`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseBitCount:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseBitCount`,BRICK:`B_1x1_Gate_Expr_BitwiseBitCount`,BRICKS:[`B_1x1_Gate_Expr_BitwiseBitCount`],PORTS:{Input:`Input`,Output:`Output`}},Expr_BitwiseNAND:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseNAND`,BRICK:`B_1x1_Gate_Expr_BitwiseNAND`,BRICKS:[`B_1x1_Gate_Expr_BitwiseNAND`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseNOR:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseNOR`,BRICK:`B_1x1_Gate_Expr_BitwiseNOR`,BRICKS:[`B_1x1_Gate_Expr_BitwiseNOR`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseNOT:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseNOT`,BRICK:`B_1x1_Gate_Expr_BitwiseNOT`,BRICKS:[`B_1x1_Gate_Expr_BitwiseNOT`],PORTS:{Input:`Input`,Output:`Output`}},Expr_BitwiseOR:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseOR`,BRICK:`B_1x1_Gate_Expr_BitwiseOR`,BRICKS:[`B_1x1_Gate_Expr_BitwiseOR`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseShiftLeft:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseShiftLeft`,BRICK:`B_1x1_Gate_Expr_BitwiseShiftLeft`,BRICKS:[`B_1x1_Gate_Expr_BitwiseShiftLeft`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseShiftRight:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseShiftRight`,BRICK:`B_1x1_Gate_Expr_BitwiseShiftRight`,BRICKS:[`B_1x1_Gate_Expr_BitwiseShiftRight`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseXOR:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseXOR`,BRICK:`B_1x1_Gate_Expr_BitwiseXOR`,BRICKS:[`B_1x1_Gate_Expr_BitwiseXOR`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_Ceil:{NAME:`BrickComponentType_WireGraph_Expr_Ceil`,BRICK:`B_1x1_Gate_Expr_Ceil`,BRICKS:[`B_1x1_Gate_Expr_Ceil`],PORTS:{Input:`Input`,Output:`Output`}},Expr_CompareEqual:{NAME:`BrickComponentType_WireGraph_Expr_CompareEqual`,BRICK:`B_1x1_Gate_Expr_CompareEqual`,BRICKS:[`B_1x1_Gate_Expr_CompareEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareGreater:{NAME:`BrickComponentType_WireGraph_Expr_CompareGreater`,BRICK:`B_1x1_Gate_Expr_CompareGreater`,BRICKS:[`B_1x1_Gate_Expr_CompareGreater`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareGreaterOrEqual:{NAME:`BrickComponentType_WireGraph_Expr_CompareGreaterOrEqual`,BRICK:`B_1x1_Gate_Expr_CompareGreaterOrEqual`,BRICKS:[`B_1x1_Gate_Expr_CompareGreaterOrEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareLess:{NAME:`BrickComponentType_WireGraph_Expr_CompareLess`,BRICK:`B_1x1_Gate_Expr_CompareLess`,BRICKS:[`B_1x1_Gate_Expr_CompareLess`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareLessOrEqual:{NAME:`BrickComponentType_WireGraph_Expr_CompareLessOrEqual`,BRICK:`B_1x1_Gate_Expr_CompareLessOrEqual`,BRICKS:[`B_1x1_Gate_Expr_CompareLessOrEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareNotEqual:{NAME:`BrickComponentType_WireGraph_Expr_CompareNotEqual`,BRICK:`B_1x1_Gate_Expr_CompareNotEqual`,BRICKS:[`B_1x1_Gate_Expr_CompareNotEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_EdgeDetector:{NAME:`BrickComponentType_WireGraph_Expr_EdgeDetector`,BRICK:`B_1x1_Gate_Expr_EdgeDetector`,BRICKS:[`B_1x1_Gate_Expr_EdgeDetector`],PORTS:{Input:`Input`,bPulseOnFallingEdge:`bPulseOnFallingEdge`,bPulseOnRisingEdge:`bPulseOnRisingEdge`}},Expr_Floor:{NAME:`BrickComponentType_WireGraph_Expr_Floor`,BRICK:`B_1x1_Gate_Expr_Floor`,BRICKS:[`B_1x1_Gate_Expr_Floor`],PORTS:{Input:`Input`,Output:`Output`}},Expr_LogicalAND:{NAME:`BrickComponentType_WireGraph_Expr_LogicalAND`,BRICK:`B_1x1_Gate_Expr_LogicalAND`,BRICKS:[`B_1x1_Gate_Expr_LogicalAND`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_LogicalNAND:{NAME:`BrickComponentType_WireGraph_Expr_LogicalNAND`,BRICK:`B_1x1_Gate_Expr_LogicalNAND`,BRICKS:[`B_1x1_Gate_Expr_LogicalNAND`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_LogicalNOR:{NAME:`BrickComponentType_WireGraph_Expr_LogicalNOR`,BRICK:`B_1x1_Gate_Expr_LogicalNOR`,BRICKS:[`B_1x1_Gate_Expr_LogicalNOR`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_LogicalNOT:{NAME:`BrickComponentType_WireGraph_Expr_LogicalNOT`,BRICK:`B_1x1_Gate_Expr_LogicalNOT`,BRICKS:[`B_1x1_Gate_Expr_LogicalNOT`],PORTS:{bInput:`bInput`,bOutput:`bOutput`}},Expr_LogicalOR:{NAME:`BrickComponentType_WireGraph_Expr_LogicalOR`,BRICK:`B_1x1_Gate_Expr_LogicalOR`,BRICKS:[`B_1x1_Gate_Expr_LogicalOR`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_LogicalXOR:{NAME:`BrickComponentType_WireGraph_Expr_LogicalXOR`,BRICK:`B_1x1_Gate_Expr_LogicalXOR`,BRICKS:[`B_1x1_Gate_Expr_LogicalXOR`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_MakeColor:{NAME:`BrickComponentType_WireGraph_Expr_MakeColor`,BRICK:`B_1x1_Gate_Expr_MakeColor`,BRICKS:[`B_1x1_Gate_Expr_MakeColor`],PORTS:{A:`A`,B:`B`,G:`G`,R:`R`,Output:`Output`}},Expr_MakeVector:{NAME:`BrickComponentType_WireGraph_Expr_MakeVector`,BRICK:`B_1x1_Gate_Expr_MakeVector`,BRICKS:[`B_1x1_Gate_Expr_MakeVector`],PORTS:{X:`X`,Y:`Y`,Z:`Z`,Output:`Output`}},Expr_MathAbs:{NAME:`BrickComponentType_WireGraph_Expr_MathAbs`,BRICK:`B_1x1_Gate_Expr_MathAbs`,BRICKS:[`B_1x1_Gate_Expr_MathAbs`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAcos:{NAME:`BrickComponentType_WireGraph_Expr_MathAcos`,BRICK:`B_1x1_Gate_Expr_MathAcos`,BRICKS:[`B_1x1_Gate_Expr_MathAcos`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAcosh:{NAME:`BrickComponentType_WireGraph_Expr_MathAcosh`,BRICK:`B_1x1_Gate_Expr_MathAcosh`,BRICKS:[`B_1x1_Gate_Expr_MathAcosh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAdd:{NAME:`BrickComponentType_WireGraph_Expr_MathAdd`,BRICK:`B_1x1_Gate_Expr_MathAdd`,BRICKS:[`B_1x1_Gate_Expr_MathAdd`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathAsin:{NAME:`BrickComponentType_WireGraph_Expr_MathAsin`,BRICK:`B_1x1_Gate_Expr_MathAsin`,BRICKS:[`B_1x1_Gate_Expr_MathAsin`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAsinh:{NAME:`BrickComponentType_WireGraph_Expr_MathAsinh`,BRICK:`B_1x1_Gate_Expr_MathAsinh`,BRICKS:[`B_1x1_Gate_Expr_MathAsinh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAtan:{NAME:`BrickComponentType_WireGraph_Expr_MathAtan`,BRICK:`B_1x1_Gate_Expr_MathAtan`,BRICKS:[`B_1x1_Gate_Expr_MathAtan`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAtan2:{NAME:`BrickComponentType_WireGraph_Expr_MathAtan2`,BRICK:`B_1x1_Gate_Expr_MathAtan2`,BRICKS:[`B_1x1_Gate_Expr_MathAtan2`],PORTS:{X:`X`,Y:`Y`,Output:`Output`}},Expr_MathAtanh:{NAME:`BrickComponentType_WireGraph_Expr_MathAtanh`,BRICK:`B_1x1_Gate_Expr_MathAtanh`,BRICKS:[`B_1x1_Gate_Expr_MathAtanh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathBlend:{NAME:`BrickComponentType_WireGraph_Expr_MathBlend`,BRICK:`B_1x1_Gate_Expr_MathBlend`,BRICKS:[`B_1x1_Gate_Expr_MathBlend`],PORTS:{Blend:`Blend`,InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathClamp:{NAME:`BrickComponentType_WireGraph_Expr_MathClamp`,BRICK:`B_1x1_Gate_Expr_MathClamp`,BRICKS:[`B_1x1_Gate_Expr_MathClamp`],PORTS:{Input:`Input`,Max:`Max`,Min:`Min`,Output:`Output`}},Expr_MathCos:{NAME:`BrickComponentType_WireGraph_Expr_MathCos`,BRICK:`B_1x1_Gate_Expr_MathCos`,BRICKS:[`B_1x1_Gate_Expr_MathCos`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathCosh:{NAME:`BrickComponentType_WireGraph_Expr_MathCosh`,BRICK:`B_1x1_Gate_Expr_MathCosh`,BRICKS:[`B_1x1_Gate_Expr_MathCosh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathDegreesToRadians:{NAME:`BrickComponentType_WireGraph_Expr_MathDegreesToRadians`,BRICK:`B_1x1_Gate_Expr_MathDegreesToRadians`,BRICKS:[`B_1x1_Gate_Expr_MathDegreesToRadians`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathDivide:{NAME:`BrickComponentType_WireGraph_Expr_MathDivide`,BRICK:`B_1x1_Gate_Expr_MathDivide`,BRICKS:[`B_1x1_Gate_Expr_MathDivide`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathEasing:{NAME:`BrickComponentType_WireGraph_Expr_MathEasing`,BRICK:`B_1x1_Gate_Expr_MathEasing`,BRICKS:[`B_1x1_Gate_Expr_MathEasing`],PORTS:{Blend:`Blend`,Direction:`Direction`,Function:`Function`,InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathExp:{NAME:`BrickComponentType_WireGraph_Expr_MathExp`,BRICK:`B_1x1_Gate_Expr_MathExp`,BRICKS:[`B_1x1_Gate_Expr_MathExp`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathLn:{NAME:`BrickComponentType_WireGraph_Expr_MathLn`,BRICK:`B_1x1_Gate_Expr_MathLn`,BRICKS:[`B_1x1_Gate_Expr_MathLn`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathLogBase:{NAME:`BrickComponentType_WireGraph_Expr_MathLogBase`,BRICK:`B_1x1_Gate_Expr_MathLogBase`,BRICKS:[`B_1x1_Gate_Expr_MathLogBase`],PORTS:{Base:`Base`,Input:`Input`,Output:`Output`}},Expr_MathMax:{NAME:`BrickComponentType_WireGraph_Expr_MathMax`,BRICK:`B_1x1_Gate_Expr_MathMax`,BRICKS:[`B_1x1_Gate_Expr_MathMax`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathMin:{NAME:`BrickComponentType_WireGraph_Expr_MathMin`,BRICK:`B_1x1_Gate_Expr_MathMin`,BRICKS:[`B_1x1_Gate_Expr_MathMin`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathModulo:{NAME:`BrickComponentType_WireGraph_Expr_MathModulo`,BRICK:`B_1x1_Gate_Expr_MathModulo`,BRICKS:[`B_1x1_Gate_Expr_MathModulo`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathModuloFloored:{NAME:`BrickComponentType_WireGraph_Expr_MathModuloFloored`,BRICK:`B_1x1_Gate_Expr_MathModuloFloored`,BRICKS:[`B_1x1_Gate_Expr_MathModuloFloored`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathMultiply:{NAME:`BrickComponentType_WireGraph_Expr_MathMultiply`,BRICK:`B_1x1_Gate_Expr_MathMultiply`,BRICKS:[`B_1x1_Gate_Expr_MathMultiply`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathNegate:{NAME:`BrickComponentType_WireGraph_Expr_MathNegate`,BRICK:`B_1x1_Gate_Expr_MathNegate`,BRICKS:[`B_1x1_Gate_Expr_MathNegate`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathPow:{NAME:`BrickComponentType_WireGraph_Expr_MathPow`,BRICK:`B_1x1_Gate_Expr_MathPow`,BRICKS:[`B_1x1_Gate_Expr_MathPow`],PORTS:{Exponent:`Exponent`,Input:`Input`,Output:`Output`}},Expr_MathRadiansToDegrees:{NAME:`BrickComponentType_WireGraph_Expr_MathRadiansToDegrees`,BRICK:`B_1x1_Gate_Expr_MathRadiansToDegrees`,BRICKS:[`B_1x1_Gate_Expr_MathRadiansToDegrees`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSign:{NAME:`BrickComponentType_WireGraph_Expr_MathSign`,BRICK:`B_1x1_Gate_Expr_MathSign`,BRICKS:[`B_1x1_Gate_Expr_MathSign`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSin:{NAME:`BrickComponentType_WireGraph_Expr_MathSin`,BRICK:`B_1x1_Gate_Expr_MathSin`,BRICKS:[`B_1x1_Gate_Expr_MathSin`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSinh:{NAME:`BrickComponentType_WireGraph_Expr_MathSinh`,BRICK:`B_1x1_Gate_Expr_MathSinh`,BRICKS:[`B_1x1_Gate_Expr_MathSinh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSqrt:{NAME:`BrickComponentType_WireGraph_Expr_MathSqrt`,BRICK:`B_1x1_Gate_Expr_MathSqrt`,BRICKS:[`B_1x1_Gate_Expr_MathSqrt`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSubtract:{NAME:`BrickComponentType_WireGraph_Expr_MathSubtract`,BRICK:`B_1x1_Gate_Expr_MathSubtract`,BRICKS:[`B_1x1_Gate_Expr_MathSubtract`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathTan:{NAME:`BrickComponentType_WireGraph_Expr_MathTan`,BRICK:`B_1x1_Gate_Expr_MathTan`,BRICKS:[`B_1x1_Gate_Expr_MathTan`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathTanh:{NAME:`BrickComponentType_WireGraph_Expr_MathTanh`,BRICK:`B_1x1_Gate_Expr_MathTanh`,BRICKS:[`B_1x1_Gate_Expr_MathTanh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_NearlyEqual:{NAME:`BrickComponentType_WireGraph_Expr_NearlyEqual`,BRICK:`B_1x1_Gate_Expr_NearlyEqual`,BRICKS:[`B_1x1_Gate_Expr_NearlyEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,Tolerance:`Tolerance`,bOutput:`bOutput`}},Expr_Round:{NAME:`BrickComponentType_WireGraph_Expr_Round`,BRICK:`B_1x1_Gate_Expr_Round`,BRICKS:[`B_1x1_Gate_Expr_Round`],PORTS:{Input:`Input`,Output:`Output`}},Expr_Select:{NAME:`BrickComponentType_WireGraph_Expr_Select`,BRICK:`B_1x1_Gate_Expr_Select`,BRICKS:[`B_1x1_Gate_Expr_Select`],PORTS:{InputA:`InputA`,InputB:`InputB`,bSelectB:`bSelectB`,Output:`Output`}},Expr_SplitColor:{NAME:`BrickComponentType_WireGraph_Expr_SplitColor`,BRICK:`B_1x1_Gate_Expr_SplitColor`,BRICKS:[`B_1x1_Gate_Expr_SplitColor`],PORTS:{Input:`Input`,Input_A:`Input.A`,Input_B:`Input.B`,Input_G:`Input.G`,Input_R:`Input.R`,A:`A`,B:`B`,G:`G`,R:`R`}},Expr_SplitVector:{NAME:`BrickComponentType_WireGraph_Expr_SplitVector`,BRICK:`B_1x1_Gate_Expr_SplitVector`,BRICKS:[`B_1x1_Gate_Expr_SplitVector`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,X:`X`,Y:`Y`,Z:`Z`}},Expr_String_Concatenate:{NAME:`BrickComponentType_WireGraph_Expr_String_Concatenate`,BRICK:`B_1x1_Gate_Expr_String_Concatenate`,BRICKS:[`B_1x1_Gate_Expr_String_Concatenate`],PORTS:{InputA:`InputA`,InputB:`InputB`,Separator:`Separator`,Output:`Output`}},Expr_String_Contains:{NAME:`BrickComponentType_WireGraph_Expr_String_Contains`,BRICK:`B_1x1_Gate_Expr_String_Contains`,BRICKS:[`B_1x1_Gate_Expr_String_Contains`],PORTS:{Input:`Input`,Search:`Search`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_EndsWith:{NAME:`BrickComponentType_WireGraph_Expr_String_EndsWith`,BRICK:`B_1x1_Gate_Expr_String_EndsWith`,BRICKS:[`B_1x1_Gate_Expr_String_EndsWith`],PORTS:{Input:`Input`,Suffix:`Suffix`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_Find:{NAME:`BrickComponentType_WireGraph_Expr_String_Find`,BRICK:`B_1x1_Gate_Expr_String_Find`,BRICKS:[`B_1x1_Gate_Expr_String_Find`],PORTS:{Input:`Input`,Search:`Search`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_FormatText:{NAME:`BrickComponentType_WireGraph_Expr_String_FormatText`,BRICK:`B_1x1_Gate_Expr_String_FormatText`,BRICKS:[`B_1x1_Gate_Expr_String_FormatText`],PORTS:{FormatString:`FormatString`,InputA:`InputA`,InputB:`InputB`,InputC:`InputC`,InputD:`InputD`,InputE:`InputE`,InputF:`InputF`,InputG:`InputG`,Output:`Output`}},Expr_String_Length:{NAME:`BrickComponentType_WireGraph_Expr_String_Length`,BRICK:`B_1x1_Gate_Expr_String_Length`,BRICKS:[`B_1x1_Gate_Expr_String_Length`],PORTS:{Input:`Input`,Output:`Output`}},Expr_String_ParseInt:{NAME:`BrickComponentType_WireGraph_Expr_String_ParseInt`,BRICK:`B_1x1_Gate_Expr_String_ParseInt`,BRICKS:[`B_1x1_Gate_Expr_String_ParseInt`],PORTS:{Input:`Input`,Value:`Value`,bSuccess:`bSuccess`}},Expr_String_ParseNumber:{NAME:`BrickComponentType_WireGraph_Expr_String_ParseNumber`,BRICK:`B_1x1_Gate_Expr_String_ParseNumber`,BRICKS:[`B_1x1_Gate_Expr_String_ParseNumber`],PORTS:{Input:`Input`,Value:`Value`,bSuccess:`bSuccess`}},Expr_String_Replace:{NAME:`BrickComponentType_WireGraph_Expr_String_Replace`,BRICK:`B_1x1_Gate_Expr_String_Replace`,BRICKS:[`B_1x1_Gate_Expr_String_Replace`],PORTS:{Input:`Input`,Replacement:`Replacement`,Search:`Search`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_Split:{NAME:`BrickComponentType_WireGraph_Expr_String_Split`,BRICK:`B_1x1_Gate_Expr_String_Split`,BRICKS:[`B_1x1_Gate_Expr_String_Split`],PORTS:{Delimiter:`Delimiter`,Input:`Input`,bCaseSensitive:`bCaseSensitive`,Left:`Left`,Right:`Right`,bFound:`bFound`}},Expr_String_StartsWith:{NAME:`BrickComponentType_WireGraph_Expr_String_StartsWith`,BRICK:`B_1x1_Gate_Expr_String_StartsWith`,BRICKS:[`B_1x1_Gate_Expr_String_StartsWith`],PORTS:{Input:`Input`,Prefix:`Prefix`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_Substring:{NAME:`BrickComponentType_WireGraph_Expr_String_Substring`,BRICK:`B_1x1_Gate_Expr_String_Substring`,BRICKS:[`B_1x1_Gate_Expr_String_Substring`],PORTS:{Input:`Input`,Length:`Length`,Start:`Start`,Output:`Output`}},Expr_String_ToLower:{NAME:`BrickComponentType_WireGraph_Expr_String_ToLower`,BRICK:`B_1x1_Gate_Expr_String_ToLower`,BRICKS:[`B_1x1_Gate_Expr_String_ToLower`],PORTS:{Input:`Input`,Output:`Output`}},Expr_String_ToUpper:{NAME:`BrickComponentType_WireGraph_Expr_String_ToUpper`,BRICK:`B_1x1_Gate_Expr_String_ToUpper`,BRICKS:[`B_1x1_Gate_Expr_String_ToUpper`],PORTS:{Input:`Input`,Output:`Output`}},Expr_String_Trim:{NAME:`BrickComponentType_WireGraph_Expr_String_Trim`,BRICK:`B_1x1_Gate_Expr_String_Trim`,BRICKS:[`B_1x1_Gate_Expr_String_Trim`],PORTS:{Input:`Input`,Output:`Output`}},Expr_Swap:{NAME:`BrickComponentType_WireGraph_Expr_Swap`,BRICK:`B_1x1_Gate_Expr_Swap`,BRICKS:[`B_1x1_Gate_Expr_Swap`],PORTS:{InputA:`InputA`,InputB:`InputB`,bSwap:`bSwap`,Output:`Output`,OutputB:`OutputB`}},Expr_VecCrossProduct:{NAME:`BrickComponentType_WireGraph_Expr_VecCrossProduct`,BRICK:`B_1x1_Gate_Expr_VecCrossProduct`,BRICKS:[`B_1x1_Gate_Expr_VecCrossProduct`],PORTS:{InputA:`InputA`,InputA_X:`InputA.X`,InputA_Y:`InputA.Y`,InputA_Z:`InputA.Z`,InputB:`InputB`,InputB_X:`InputB.X`,InputB_Y:`InputB.Y`,InputB_Z:`InputB.Z`,Output:`Output`}},Expr_VecDistance:{NAME:`BrickComponentType_WireGraph_Expr_VecDistance`,BRICK:`B_1x1_Gate_Expr_VecDistance`,BRICKS:[`B_1x1_Gate_Expr_VecDistance`],PORTS:{InputA:`InputA`,InputA_X:`InputA.X`,InputA_Y:`InputA.Y`,InputA_Z:`InputA.Z`,InputB:`InputB`,InputB_X:`InputB.X`,InputB_Y:`InputB.Y`,InputB_Z:`InputB.Z`,Output:`Output`}},Expr_VecDistanceSquared:{NAME:`BrickComponentType_WireGraph_Expr_VecDistanceSquared`,BRICK:`B_1x1_Gate_Expr_VecDistanceSquared`,BRICKS:[`B_1x1_Gate_Expr_VecDistanceSquared`],PORTS:{InputA:`InputA`,InputA_X:`InputA.X`,InputA_Y:`InputA.Y`,InputA_Z:`InputA.Z`,InputB:`InputB`,InputB_X:`InputB.X`,InputB_Y:`InputB.Y`,InputB_Z:`InputB.Z`,Output:`Output`}},Expr_VecDotProduct:{NAME:`BrickComponentType_WireGraph_Expr_VecDotProduct`,BRICK:`B_1x1_Gate_Expr_VecDotProduct`,BRICKS:[`B_1x1_Gate_Expr_VecDotProduct`],PORTS:{InputA:`InputA`,InputA_X:`InputA.X`,InputA_Y:`InputA.Y`,InputA_Z:`InputA.Z`,InputB:`InputB`,InputB_X:`InputB.X`,InputB_Y:`InputB.Y`,InputB_Z:`InputB.Z`,Output:`Output`}},Expr_VecMagnitude:{NAME:`BrickComponentType_WireGraph_Expr_VecMagnitude`,BRICK:`B_1x1_Gate_Expr_VecMagnitude`,BRICKS:[`B_1x1_Gate_Expr_VecMagnitude`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Output:`Output`}},Expr_VecMagnitudeSquared:{NAME:`BrickComponentType_WireGraph_Expr_VecMagnitudeSquared`,BRICK:`B_1x1_Gate_Expr_VecMagnitudeSquared`,BRICKS:[`B_1x1_Gate_Expr_VecMagnitudeSquared`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Output:`Output`}},Expr_VecNormalize:{NAME:`BrickComponentType_WireGraph_Expr_VecNormalize`,BRICK:`B_1x1_Gate_Expr_VecNormalize`,BRICKS:[`B_1x1_Gate_Expr_VecNormalize`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Output:`Output`}},Expr_VecRotationToDirection:{NAME:`BrickComponentType_WireGraph_Expr_VecRotationToDirection`,BRICK:`B_1x1_Gate_Expr_VecRotationToDirection`,BRICKS:[`B_1x1_Gate_Expr_VecRotationToDirection`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Output:`Output`}},Expr_VecScale:{NAME:`BrickComponentType_WireGraph_Expr_VecScale`,BRICK:`B_1x1_Gate_Expr_VecScale`,BRICKS:[`B_1x1_Gate_Expr_VecScale`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Scalar:`Scalar`,Output:`Output`}},Fake_Gamemode_CharacterDiedEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_CharacterDiedEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent`],PORTS:{Character:`Character`,ExecOut:`ExecOut`}},Fake_Gamemode_CharacterSpawnedEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_CharacterSpawnedEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent`],PORTS:{Character:`Character`,ExecOut:`ExecOut`}},Fake_Gamemode_ControllerJoinedEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_ControllerJoinedEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent`],PORTS:{Controller:`Controller`,ExecOut:`ExecOut`}},Fake_Gamemode_ControllerLeftEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_ControllerLeftEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent`],PORTS:{Controller:`Controller`,ExecOut:`ExecOut`}},Fake_Gamemode_RoundEndEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_RoundEndEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_RoundEndEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_RoundEndEvent`],PORTS:{Exec:`Exec`,ExecOut:`ExecOut`,RoundNumber:`RoundNumber`}},Fake_Gamemode_RoundStartEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_RoundStartEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_RoundStartEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_RoundStartEvent`],PORTS:{Exec:`Exec`,ExecOut:`ExecOut`,RoundNumber:`RoundNumber`}},FontReference:{NAME:`BrickComponentType_WireGraph_FontReference`,BRICK:`B_1x1_Gate_FontReference`,BRICKS:[`B_1x1_Gate_FontReference`],PORTS:{Value:`Value`}},ItemReference:{NAME:`BrickComponentType_WireGraph_ItemReference`,BRICK:`B_1x1_Gate_ItemReference`,BRICKS:[`B_1x1_Gate_ItemReference`],PORTS:{Value:`Value`}},OneShotAudioReference:{NAME:`BrickComponentType_WireGraph_OneShotAudioReference`,BRICK:`B_1x1_Gate_OneShotAudioReference`,BRICKS:[`B_1x1_Gate_OneShotAudioReference`],PORTS:{Value:`Value`}},ParticleReference:{NAME:`BrickComponentType_WireGraph_ParticleReference`,BRICK:`B_1x1_Gate_ParticleReference`,BRICKS:[`B_1x1_Gate_ParticleReference`],PORTS:{Value:`Value`}},PickupReference:{NAME:`BrickComponentType_WireGraph_PickupReference`,BRICK:`B_1x1_Gate_PickupReference`,BRICKS:[`B_1x1_Gate_PickupReference`],PORTS:{Value:`Value`}},ProjectileReference:{NAME:`BrickComponentType_WireGraph_ProjectileReference`,BRICK:`B_1x1_Gate_ProjectileReference`,BRICKS:[`B_1x1_Gate_ProjectileReference`],PORTS:{Value:`Value`}},ServerUptime:{NAME:`BrickComponentType_WireGraph_ServerUptime`,BRICK:`B_1x1_Gate_ServerUptime`,BRICKS:[`B_1x1_Gate_ServerUptime`],PORTS:{Uptime:`Uptime`}},WheelEngineAudioReference:{NAME:`BrickComponentType_WireGraph_WheelEngineAudioReference`,BRICK:`B_1x1_Gate_WheelEngineAudioReference`,BRICKS:[`B_1x1_Gate_WheelEngineAudioReference`],PORTS:{Value:`Value`}},ArrayVar:{NAME:`BrickComponentType_WireGraphPseudo_ArrayVar`,BRICK:`B_1x1_Gate_Variable_Array`,BRICKS:[`B_1x1_Gate_Variable_Array`],PORTS:{ArrayVarRef:`ArrayVarRef`}},BufferSeconds:{NAME:`BrickComponentType_WireGraphPseudo_BufferSeconds`,BRICK:`B_1x1_Gate_Pseudo_BufferSeconds`,BRICKS:[`B_1x1_Gate_Pseudo_BufferSeconds`],PORTS:{Input:`Input`,SecondsToWait:`SecondsToWait`,ZeroSecondsToWait:`ZeroSecondsToWait`,Output:`Output`}},BufferTicks:{NAME:`BrickComponentType_WireGraphPseudo_BufferTicks`,BRICK:`B_1x1_Gate_Pseudo_BufferTicks`,BRICKS:[`B_1x1_Gate_Pseudo_BufferTicks`],PORTS:{Input:`Input`,TicksToWait:`TicksToWait`,ZeroTicksToWait:`ZeroTicksToWait`,Output:`Output`}},Dampen:{NAME:`BrickComponentType_WireGraphPseudo_Dampen`,BRICK:`B_1x1_Gate_Pseudo_Dampen`,BRICKS:[`B_1x1_Gate_Pseudo_Dampen`],PORTS:{SmoothTime:`SmoothTime`,Target:`Target`,Value:`Value`}},QueueSeconds:{NAME:`BrickComponentType_WireGraphPseudo_QueueSeconds`,BRICK:`B_1x1_Gate_Pseudo_QueueSeconds`,BRICKS:[`B_1x1_Gate_Pseudo_QueueSeconds`],PORTS:{DataIn1:`DataIn1`,DataIn2:`DataIn2`,DataIn3:`DataIn3`,DataIn4:`DataIn4`,DataIn5:`DataIn5`,DataIn6:`DataIn6`,DataIn7:`DataIn7`,DataIn8:`DataIn8`,ExecIn:`ExecIn`,SecondsToWait:`SecondsToWait`,DataOut1:`DataOut1`,DataOut2:`DataOut2`,DataOut3:`DataOut3`,DataOut4:`DataOut4`,DataOut5:`DataOut5`,DataOut6:`DataOut6`,DataOut7:`DataOut7`,DataOut8:`DataOut8`,ExecOut:`ExecOut`}},QueueTicks:{NAME:`BrickComponentType_WireGraphPseudo_QueueTicks`,BRICK:`B_1x1_Gate_Pseudo_QueueTicks`,BRICKS:[`B_1x1_Gate_Pseudo_QueueTicks`],PORTS:{DataIn1:`DataIn1`,DataIn2:`DataIn2`,DataIn3:`DataIn3`,DataIn4:`DataIn4`,DataIn5:`DataIn5`,DataIn6:`DataIn6`,DataIn7:`DataIn7`,DataIn8:`DataIn8`,ExecIn:`ExecIn`,TicksToWait:`TicksToWait`,DataOut1:`DataOut1`,DataOut2:`DataOut2`,DataOut3:`DataOut3`,DataOut4:`DataOut4`,DataOut5:`DataOut5`,DataOut6:`DataOut6`,DataOut7:`DataOut7`,DataOut8:`DataOut8`,ExecOut:`ExecOut`}},Timer:{NAME:`BrickComponentType_WireGraphPseudo_Timer`,BRICK:`B_1x1_Gate_Pseudo_Timer`,BRICKS:[`B_1x1_Gate_Pseudo_Timer`],PORTS:{Limit:`Limit`,Pause:`Pause`,Restart:`Restart`,Resume:`Resume`,Expired:`Expired`,Time:`Time`}},Tween:{NAME:`BrickComponentType_WireGraphPseudo_Tween`,BRICK:`B_1x1_Gate_Pseudo_Tween`,BRICKS:[`B_1x1_Gate_Pseudo_Tween`],PORTS:{Direction:`Direction`,Duration:`Duration`,Function:`Function`,Target:`Target`,Arrived:`Arrived`,Value:`Value`}},Var:{NAME:`BrickComponentType_WireGraphPseudo_Var`,BRICK:`B_1x1_Gate_Variable`,BRICKS:[`B_1x1_Gate_Variable`],PORTS:{Value:`Value`,VarRef:`VarRef`}},AudioEmitter:{NAME:`Component_AudioEmitter`,BRICK:`B_1x1F_Speaker`,BRICKS:[`B_1x1F_Speaker`,`B_2x2F_Speaker`],PORTS:{AudioDescriptor:`AudioDescriptor`,FocusAzimuth:`FocusAzimuth`,InnerRadius:`InnerRadius`,MaxDistance:`MaxDistance`,NonFocusAzimuth:`NonFocusAzimuth`,NonFocusVolumeAttenuation:`NonFocusVolumeAttenuation`,PitchMultiplier:`PitchMultiplier`,VolumeMultiplier:`VolumeMultiplier`,bEnabled:`bEnabled`,bSpatialization:`bSpatialization`}},BotSpawn:{NAME:`Component_BotSpawn`,BRICK:`B_Bot_Spawn_Point`,BRICKS:[`B_Bot_Spawn_Point`],PORTS:{AggroRange:`AggroRange`,Agression:`Agression`,AttackDamageMultiplier:`AttackDamageMultiplier`,AttackMovementAmount:`AttackMovementAmount`,BotName:`BotName`,BotWeapon:`BotWeapon`,CorpseTimeout:`CorpseTimeout`,GunSkill:`GunSkill`,HealthMultiplier:`HealthMultiplier`,Jumpyness:`Jumpyness`,MoveTarget:`MoveTarget`,MoveTarget_X:`MoveTarget.X`,MoveTarget_Y:`MoveTarget.Y`,MoveTarget_Z:`MoveTarget.Z`,MovementAmount:`MovementAmount`,MovementGoalDummy:`MovementGoalDummy`,MovementRandomness:`MovementRandomness`,ReactionTime:`ReactionTime`,RespawnTime:`RespawnTime`,RunSpeed:`RunSpeed`,SkinDummy:`SkinDummy`,TeamCollisionChannel:`TeamCollisionChannel`,bActiveBot:`bActiveBot`,bBackVision:`bBackVision`,bCanJump:`bCanJump`,bCanTargetBots:`bCanTargetBots`,bCanTargetPlayers:`bCanTargetPlayers`,bDeleteBot:`bDeleteBot`,bSpawnEnable:`bSpawnEnable`,bTeamCollision:`bTeamCollision`,bTeamCollision1:`bTeamCollision1`,bTeamCollision2:`bTeamCollision2`,bTeamCollision3:`bTeamCollision3`,bVisionRaycasting:`bVisionRaycasting`,DistanceToTarget:`DistanceToTarget`,FocusCharacter:`FocusCharacter`,SpawnedCharacter:`SpawnedCharacter`}},BrickPropertyChanger:{NAME:`Component_BrickPropertyChanger`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Color:`Color`,Color_A:`Color.A`,Color_B:`Color.B`,Color_G:`Color.G`,Color_R:`Color.R`,MaterialAlpha:`MaterialAlpha`,bCollisionEnabled:`bCollisionEnabled`,bCollisionEnabled_Interaction:`bCollisionEnabled_Interaction`,bCollisionEnabled_Physics:`bCollisionEnabled_Physics`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,bCollisionEnabled_Weapon:`bCollisionEnabled_Weapon`,bVisibility:`bVisibility`}},Button:{NAME:`Component_Button`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{PressSound:`PressSound`,PromptCustomLabel:`PromptCustomLabel`,ReleaseSound:`ReleaseSound`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,Character:`Character`,PressCount:`PressCount`,bHeld:`bHeld`}},CheckPoint:{NAME:`Component_CheckPoint`,BRICK:`B_CheckPoint`,BRICKS:[`B_CheckPoint`],PORTS:{bRotatePlayerGravityOnSpawn:`bRotatePlayerGravityOnSpawn`}},Damage:{NAME:`Component_Damage`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{ConsoleTag:`ConsoleTag`,Message:`Message`}},GoalPoint:{NAME:`Component_GoalPoint`,BRICK:`B_GoalPoint`,BRICKS:[`B_GoalPoint`],PORTS:{}},Interact:{NAME:`Component_Interact`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{ConsoleTag:`ConsoleTag`,InteractSound:`InteractSound`,Message:`Message`,PromptCustomLabel:`PromptCustomLabel`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`}},AnimatedButton:{NAME:`Component_Internal_AnimatedButton`,BRICK:`B_Button`,BRICKS:[`B_Button`,`B_Button_Pressed`,`B_Button_Square`,`B_Button_Square_Pressed`],PORTS:{PressSound:`PressSound`,PromptCustomLabel:`PromptCustomLabel`,ReleaseSound:`ReleaseSound`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,Character:`Character`,PressCount:`PressCount`,bHeld:`bHeld`}},AnimatedPressurePlate:{NAME:`Component_Internal_AnimatedPressurePlate`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{BeginTouchSound:`BeginTouchSound`,EndTouchSound:`EndTouchSound`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,Character:`Character`,TouchCount:`TouchCount`,bTouching:`bTouching`}},AnimatedSwitch:{NAME:`Component_Internal_AnimatedSwitch`,BRICK:`B_Switch_Flipped`,BRICKS:[`B_Switch_Flipped`,`B_Switch_Test`],PORTS:{InteractSound:`InteractSound`,PromptCustomLabel:`PromptCustomLabel`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,Character:`Character`,bEnabled:`bEnabled`}},AttachedZone:{NAME:`Component_Internal_AttachedZone`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{ZoneEndDistance:`ZoneEndDistance`,ZoneStartDistance:`ZoneStartDistance`,bIsBuildingZone:`bIsBuildingZone`,bIsLooseZone:`bIsLooseZone`,bIsShareZone:`bIsShareZone`,OccupantCount:`OccupantCount`,ZoneRef:`ZoneRef`,bOccupied:`bOccupied`}},Bearing:{NAME:`Component_Internal_Bearing`,BRICK:`B_Joint_Bearing`,BRICKS:[`B_Joint_Bearing`,`B_Joint_Bearing_Micro`],PORTS:{Damping:`Damping`,LimitAngle:`LimitAngle`,bAnglesArePercentages:`bAnglesArePercentages`,bLimitAngle:`bLimitAngle`,CurrentAngle:`CurrentAngle`}},InputSplitter:{NAME:`Component_Internal_InputSplitter`,BRICK:`B_1x1_Gate_SeatControlSplitter`,BRICKS:[`B_1x1_Gate_SeatControlSplitter`],PORTS:{Character:`Character`,InputForward:`InputForward`,InputRight:`InputRight`,bPressedJump:`bPressedJump`}},Joint_Fixed:{NAME:`Component_Internal_Joint_Fixed`,BRICK:`B_Joint_Fixed`,BRICKS:[`B_Joint_Fixed`],PORTS:{LocationInterpMode:`LocationInterpMode`,LocationMaxSpeed:`LocationMaxSpeed`,LocationSmoothTime:`LocationSmoothTime`,OffsetLocation:`OffsetLocation`,OffsetLocation_X:`OffsetLocation.X`,OffsetLocation_Y:`OffsetLocation.Y`,OffsetLocation_Z:`OffsetLocation.Z`,OffsetRotation:`OffsetRotation`,OffsetRotation_Pitch:`OffsetRotation.Pitch`,OffsetRotation_Roll:`OffsetRotation.Roll`,OffsetRotation_Yaw:`OffsetRotation.Yaw`,RotationInterpMode:`RotationInterpMode`,RotationMaxSpeed:`RotationMaxSpeed`,RotationSmoothTime:`RotationSmoothTime`,bSettled:`bSettled`,bWelded:`bWelded`}},Joint_Wheel:{NAME:`Component_Internal_Joint_Wheel`,BRICK:`B_Joint_Wheel`,BRICKS:[`B_Joint_Wheel`,`B_Joint_Wheel_Micro`],PORTS:{Control_DriveAndSteer:`Control_DriveAndSteer`,Damping:`Damping`,DrivePower:`DrivePower`,DriveSpeed:`DriveSpeed`,JointDistance:`JointDistance`,Steer:`Steer`,SteerLimitDegree:`SteerLimitDegree`,SteerPower:`SteerPower`,SuspensionDamping:`SuspensionDamping`,SuspensionStiffness:`SuspensionStiffness`,bAllowEngineSteerCorrect:`bAllowEngineSteerCorrect`,bCanBrake:`bCanBrake`,bDriveWhenNotAttachedToEngine:`bDriveWhenNotAttachedToEngine`,bEnabled:`bEnabled`,bReversed:`bReversed`,bSteerEnabled:`bSteerEnabled`,bSuspensionEnabled:`bSuspensionEnabled`}},Joint_Wheel_Suspension:{NAME:`Component_Internal_Joint_Wheel_Suspension`,BRICK:`B_Joint_Wheel_Micro_Suspension`,BRICKS:[`B_Joint_Wheel_Micro_Suspension`,`B_Joint_Wheel_Suspension`],PORTS:{Control_DriveAndSteer:`Control_DriveAndSteer`,Damping:`Damping`,DrivePower:`DrivePower`,DriveSpeed:`DriveSpeed`,JointDistance:`JointDistance`,Steer:`Steer`,SteerLimitDegree:`SteerLimitDegree`,SteerPower:`SteerPower`,SuspensionBottomOffset:`SuspensionBottomOffset`,SuspensionDamping:`SuspensionDamping`,SuspensionStiffness:`SuspensionStiffness`,SuspensionTopOffset:`SuspensionTopOffset`,bAllowEngineSteerCorrect:`bAllowEngineSteerCorrect`,bCanBrake:`bCanBrake`,bDriveWhenNotAttachedToEngine:`bDriveWhenNotAttachedToEngine`,bEnabled:`bEnabled`,bReversed:`bReversed`,bSteerEnabled:`bSteerEnabled`,bSuspensionEnabled:`bSuspensionEnabled`}},Microchip:{NAME:`Component_Internal_Microchip`,BRICK:`B_1x1_Microchip`,BRICKS:[`B_1x1_Microchip`],PORTS:{}},Motor:{NAME:`Component_Internal_Motor`,BRICK:`B_Joint_Motor`,BRICKS:[`B_Joint_Motor`,`B_Joint_Motor_Micro`],PORTS:{Damping:`Damping`,LimitAngle:`LimitAngle`,Power:`Power`,Speed:`Speed`,bAnglesArePercentages:`bAnglesArePercentages`,bEnabled:`bEnabled`,bLimitAngle:`bLimitAngle`,CurrentAngle:`CurrentAngle`}},MotorSlider:{NAME:`Component_Internal_MotorSlider`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Damping:`Damping`,Power:`Power`,Speed:`Speed`,bEnabled:`bEnabled`,bPositionsArePercentages:`bPositionsArePercentages`,CurrentPosition:`CurrentPosition`}},Rerouter:{NAME:`Component_Internal_Rerouter`,BRICK:`B_1x1_Reroute_Node`,BRICKS:[`B_1x1_Reroute_Node`],PORTS:{RER_Input:`RER_Input`,RER_Output:`RER_Output`}},Seat:{NAME:`Component_Internal_Seat`,BRICK:`B_Seat`,BRICKS:[`B_Seat`],PORTS:{ExitOffset:`ExitOffset`,ExitOffset_X:`ExitOffset.X`,ExitOffset_Y:`ExitOffset.Y`,ExitOffset_Z:`ExitOffset.Z`,PromptCustomLabel:`PromptCustomLabel`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,bRollCameraInThirdPerson:`bRollCameraInThirdPerson`,SittingCharacter:`SittingCharacter`,bIsOccupied:`bIsOccupied`}},Servo:{NAME:`Component_Internal_Servo`,BRICK:`B_Joint_Servo`,BRICKS:[`B_Joint_Servo`,`B_Joint_Servo_Micro`],PORTS:{ActiveDamping:`ActiveDamping`,Damping:`Damping`,ForceLimit:`ForceLimit`,LimitAngle:`LimitAngle`,Power:`Power`,TargetAngle:`TargetAngle`,bAnglesArePercentages:`bAnglesArePercentages`,bEnabled:`bEnabled`,bLimitAngle:`bLimitAngle`,CurrentAngle:`CurrentAngle`,bStopped:`bStopped`}},ServoSlider:{NAME:`Component_Internal_ServoSlider`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Damping:`Damping`,Exponent:`Exponent`,Power:`Power`,TargetPosition:`TargetPosition`,TopSpeed:`TopSpeed`,bEnabled:`bEnabled`,bPositionsArePercentages:`bPositionsArePercentages`,CurrentPosition:`CurrentPosition`,bStopped:`bStopped`}},Slider:{NAME:`Component_Internal_Slider`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Damping:`Damping`,bPositionsArePercentages:`bPositionsArePercentages`,CurrentPosition:`CurrentPosition`}},Socket:{NAME:`Component_Internal_Socket`,BRICK:`B_Joint_Socket`,BRICKS:[`B_Joint_Socket`,`B_Joint_Socket_Micro`],PORTS:{}},Thruster:{NAME:`Component_Internal_Thruster`,BRICK:`B_2x2_Thruster`,BRICKS:[`B_2x2_Thruster`],PORTS:{Force:`Force`,Pitch:`Pitch`,Throttle:`Throttle`,Yaw:`Yaw`,bEnabled:`bEnabled`,bSpawnLight:`bSpawnLight`}},WeightBrick:{NAME:`Component_Internal_WeightBrick`,BRICK:`B_1x1_Gate_WeightBrick`,BRICKS:[`B_1x1_Gate_WeightBrick`],PORTS:{Mass:`Mass`,MassOffset:`MassOffset`,MassOffset_X:`MassOffset.X`,MassOffset_Y:`MassOffset.Y`,MassOffset_Z:`MassOffset.Z`,MassSize:`MassSize`,MassSize_X:`MassSize.X`,MassSize_Y:`MassSize.Y`,MassSize_Z:`MassSize.Z`}},WheelEngine:{NAME:`Component_Internal_WheelEngine`,BRICK:`B_1x1_Gate_WheelEngineSlim`,BRICKS:[`B_1x1_Gate_WheelEngineSlim`,`B_Vehicle_Engine`],PORTS:{AudioDescriptor:`AudioDescriptor`,CenterOfSteering:`CenterOfSteering`,Character:`Character`,CustomMass:`CustomMass`,CustomMassVerticalOffset:`CustomMassVerticalOffset`,DriveAcceleratingPowerMultiplier:`DriveAcceleratingPowerMultiplier`,DriveBrakingPowerMultiplier:`DriveBrakingPowerMultiplier`,DriveDampingMultiplier:`DriveDampingMultiplier`,DriveInterpSpeed:`DriveInterpSpeed`,DriveSpeed:`DriveSpeed`,ManualInput_Drive:`ManualInput_Drive`,ManualInput_Steer:`ManualInput_Steer`,SteerInterpSpeed:`SteerInterpSpeed`,SteerLimitDegree:`SteerLimitDegree`,SteerPowerMultiplier:`SteerPowerMultiplier`,TankSteerSpeedMultiplier:`TankSteerSpeedMultiplier`,WaterDriveForce:`WaterDriveForce`,WaterSteeringForce:`WaterSteeringForce`,bEnableManualControl:`bEnableManualControl`,bEnabled:`bEnabled`,bManualInput_Brake:`bManualInput_Brake`,bTankSteering:`bTankSteering`,Control_DriveAndSteer:`Control_DriveAndSteer`}},ItemSpawn:{NAME:`Component_ItemSpawn`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{DamageMultiplier:`DamageMultiplier`,ItemNameOverride:`ItemNameOverride`,PickupAnimationAxis:`PickupAnimationAxis`,PickupAnimationPhase:`PickupAnimationPhase`,PickupBobHeight:`PickupBobHeight`,PickupBobSpeed:`PickupBobSpeed`,PickupClass:`PickupClass`,PickupMeshColors:`PickupMeshColors`,PickupMinigameResetRespawnDelay:`PickupMinigameResetRespawnDelay`,PickupOffsetDirection:`PickupOffsetDirection`,PickupOffsetDistance:`PickupOffsetDistance`,PickupRespawnTime:`PickupRespawnTime`,PickupRotation:`PickupRotation`,PickupRotation_Pitch:`PickupRotation.Pitch`,PickupRotation_Roll:`PickupRotation.Roll`,PickupRotation_Yaw:`PickupRotation.Yaw`,PickupScale:`PickupScale`,PickupSpinSpeed:`PickupSpinSpeed`,ProjectileOverride:`ProjectileOverride`,WeaponSpeedMultiplier:`WeaponSpeedMultiplier`,bOverridePickupColors:`bOverridePickupColors`,bPickupAnimationAxisLocal:`bPickupAnimationAxisLocal`,bPickupAnimationEnabled:`bPickupAnimationEnabled`,bPickupAutoDisableOnPickup:`bPickupAutoDisableOnPickup`,bPickupEnabled:`bPickupEnabled`,bPickupRespawnOnMinigameReset:`bPickupRespawnOnMinigameReset`,bRenderTranslucentWhenDisabled:`bRenderTranslucentWhenDisabled`,bShowPickupEnabled:`bShowPickupEnabled`}},OneShotAudioEmitter:{NAME:`Component_OneShotAudioEmitter`,BRICK:`B_1x1_SoundEmitter`,BRICKS:[`B_1x1_SoundEmitter`],PORTS:{AudioDescriptor:`AudioDescriptor`,InnerRadius:`InnerRadius`,MaxDistance:`MaxDistance`,PitchMultiplier:`PitchMultiplier`,RepeatTime:`RepeatTime`,RepeatVariance:`RepeatVariance`,VolumeMultiplier:`VolumeMultiplier`,bEnableRepeat:`bEnableRepeat`,bPlay:`bPlay`,bSpatialization:`bSpatialization`}},PointLight:{NAME:`Component_PointLight`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Brightness:`Brightness`,Color:`Color`,Color_A:`Color.A`,Color_B:`Color.B`,Color_G:`Color.G`,Color_R:`Color.R`,Radius:`Radius`,bCastShadows:`bCastShadows`,bEnabled:`bEnabled`,bMatchBrickShape:`bMatchBrickShape`,bUseBrickColor:`bUseBrickColor`}},SpawnPoint:{NAME:`Component_SpawnPoint`,BRICK:`B_SpawnPoint`,BRICKS:[`B_SpawnPoint`],PORTS:{bEnable:`bEnable`,bRotatePlayerGravityOnSpawn:`bRotatePlayerGravityOnSpawn`}},SpotLight:{NAME:`Component_SpotLight`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Brightness:`Brightness`,Color:`Color`,Color_A:`Color.A`,Color_B:`Color.B`,Color_G:`Color.G`,Color_R:`Color.R`,InnerConeAngle:`InnerConeAngle`,OuterConeAngle:`OuterConeAngle`,Radius:`Radius`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,bCastShadows:`bCastShadows`,bEnabled:`bEnabled`,bUseBrickColor:`bUseBrickColor`}},Switch:{NAME:`Component_Switch`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{InteractSound:`InteractSound`,PromptCustomLabel:`PromptCustomLabel`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,Character:`Character`,bEnabled:`bEnabled`}},Target:{NAME:`Component_Target`,BRICK:`B_2x2F_Target`,BRICKS:[`B_2x2F_Target`],PORTS:{OnTime:`OnTime`,CharacterThatJustHit:`CharacterThatJustHit`,Damage:`Damage`,WeaponNameThatJustHit:`WeaponNameThatJustHit`,WeaponThatJustHit:`WeaponThatJustHit`,bJustHit:`bJustHit`}},TextDisplay:{NAME:`Component_TextDisplay`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Anchor:`Anchor`,Anchor_X:`Anchor.X`,Anchor_Y:`Anchor.Y`,Billboard:`Billboard`,Color:`Color`,Color_A:`Color.A`,Color_B:`Color.B`,Color_G:`Color.G`,Color_R:`Color.R`,Face:`Face`,Font:`Font`,GraffitiAngleLimit:`GraffitiAngleLimit`,GraffitiDepthLimit:`GraffitiDepthLimit`,GraffitiLayer:`GraffitiLayer`,Kerning:`Kerning`,LineHeight:`LineHeight`,LineOffset:`LineOffset`,Material:`Material`,MaterialSlider:`MaterialSlider`,Offset:`Offset`,Offset_X:`Offset.X`,Offset_Y:`Offset.Y`,Offset_Z:`Offset.Z`,Outline:`Outline`,OutlineColor:`OutlineColor`,OutlineColor_A:`OutlineColor.A`,OutlineColor_B:`OutlineColor.B`,OutlineColor_G:`OutlineColor.G`,OutlineColor_R:`OutlineColor.R`,OutlineWidth:`OutlineWidth`,Rotation:`Rotation`,ScuffWidth:`ScuffWidth`,Shading:`Shading`,ShadingWidth:`ShadingWidth`,Skew:`Skew`,Text:`Text`,Typeface:`Typeface`,bAlignToWedge:`bAlignToWedge`,bEnabled:`bEnabled`,bFlipShading:`bFlipShading`,bForeground:`bForeground`,bOverrideColor:`bOverrideColor`,bOverrideOutlineColor:`bOverrideOutlineColor`,bSharpCorners:`bSharpCorners`,bSharpOutlines:`bSharpOutlines`}},Touch:{NAME:`Component_Touch`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{BeginTouchSound:`BeginTouchSound`,EndTouchSound:`EndTouchSound`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,Character:`Character`,TouchCount:`TouchCount`,bTouching:`bTouching`}},PlayAudioAt:{NAME:`Component_WireGraph_PlayAudioAt`,BRICK:`B_1x1_Gate_Exec_Entity_PlayAudioAt`,BRICKS:[`B_1x1_Gate_Exec_Entity_PlayAudioAt`],PORTS:{Entity:`Entity`,Exec:`Exec`,InnerRadius:`InnerRadius`,MaxDistance:`MaxDistance`,PitchMultiplier:`PitchMultiplier`,VolumeMultiplier:`VolumeMultiplier`,bSpatialization:`bSpatialization`,ExecOut:`ExecOut`}},SetInventoryEntry:{NAME:`Component_WireGraph_SetInventoryEntry`,BRICK:`B_1x1_Gate_Exec_Character_SetInventoryEntry`,BRICKS:[`B_1x1_Gate_Exec_Character_SetInventoryEntry`],PORTS:{Character:`Character`,Exec:`Exec`,Slot:`Slot`,ExecOut:`ExecOut`}}},oa={A:4294967295,B:4294967295,C:4294967295,D:4294967295};function sa(e){let t=tr(e),n=new DataView(t.buffer,t.byteOffset,16);return{A:n.getUint32(0,!1),B:n.getUint32(4,!1),C:n.getUint32(8,!1),D:n.getUint32(12,!1)}}function ca(e){let t=new Uint8Array(16),n=new DataView(t.buffer);return n.setUint32(0,e.A,!1),n.setUint32(4,e.B,!1),n.setUint32(8,e.C,!1),n.setUint32(12,e.D,!1),er(Array.from(t))}var la=e=>({type:`folder`,children:e}),X=e=>({type:`file`,content:e}),ua=n({mpArrayHeader:()=>Sa,mpBinHeader:()=>xa,mpBool:()=>ha,mpF32:()=>ya,mpF64:()=>ba,mpInt:()=>va,mpMapHeader:()=>Ca,mpNil:()=>ma,mpStr:()=>Z,mpU8:()=>ga,mpUint:()=>_a,rdArrayLen:()=>Pa,rdBinLen:()=>Na,rdBool:()=>Ma,rdF32:()=>Aa,rdF64:()=>ja,rdInt:()=>Oa,rdMapLen:()=>Fa,rdNil:()=>Ia,rdStr:()=>Q,rdUint:()=>ka}),da=new TextEncoder,fa=new TextDecoder(`utf-8`,{fatal:!0}),pa=(e,t)=>{if(!Number.isSafeInteger(e))throw RangeError(`brdb: ${t} ${e} is not a safe integer`)},ma=e=>e.u8(192),ha=(e,t)=>e.u8(t?195:194);function ga(e,t){if(t<0||t>255||!Number.isInteger(t))throw RangeError(`brdb: u8 value out of range: ${t}`);t<=127||t>224||e.u8(204),e.u8(t)}function _a(e,t){if(pa(t,`uint`),t<0)throw RangeError(`brdb: uint value negative: ${t}`);t<=127?e.u8(t):t<=255?(e.u8(204),e.u8(t)):t<=65535?(e.u8(205),e.u16be(t)):t<=4294967295?(e.u8(206),e.u32be(t)):(e.u8(207),e.u64be(BigInt(t)))}function va(e,t){pa(t,`int`),t>=0?t<128?e.u8(t):t<=32767?(e.u8(209),e.i16be(t)):t<=2147483647?(e.u8(210),e.i32be(t)):(e.u8(211),e.i64be(BigInt(t))):t>-32?e.u8(256+t):t>=-128?(e.u8(208),e.i8(t)):t>=-32768?(e.u8(209),e.i16be(t)):t>=-2147483648?(e.u8(210),e.i32be(t)):(e.u8(211),e.i64be(BigInt(t)))}function ya(e,t){t===Math.round(t)&&t<65535&&t>-32768?va(e,t===0?0:t):(e.u8(202),e.f32be(t))}function ba(e,t){t===Math.round(t)&&t<4294967295&&t>-2147483648?va(e,t===0?0:t):(e.u8(203),e.f64be(t))}function Z(e,t){let n=da.encode(t),r=n.length;r<32?e.u8(160|r):r<256?(e.u8(217),e.u8(r)):r<=65535?(e.u8(218),e.u16be(r)):(e.u8(219),e.u32be(r)),e.bytes(n)}function xa(e,t){t<256?(e.u8(196),e.u8(t)):t<=65535?(e.u8(197),e.u16be(t)):(e.u8(198),e.u32be(t))}function Sa(e,t){t<16?e.u8(144|t):t<=65535?(e.u8(220),e.u16be(t)):(e.u8(221),e.u32be(t))}function Ca(e,t){t<16?e.u8(128|t):t<=65535?(e.u8(222),e.u16be(t)):(e.u8(223),e.u32be(t))}var wa=e=>{if(e>BigInt(2**53-1)||e<BigInt(-(2**53-1)))throw RangeError(`brdb: 64-bit value ${e} exceeds JS safe integer range`);return Number(e)},Ta=(e,t)=>{throw TypeError(`brdb: unexpected marker 0x${e.toString(16)} for ${t}`)},Ea=e=>(e&128)==0,Da=e=>(e&224)==224;function Oa(e){let t=e.u8();if(Ea(t))return t;if(Da(t))return t-256;switch(t){case 204:return e.u8();case 205:return e.u16be();case 206:return e.u32be();case 207:return wa(e.u64be());case 208:return e.i8();case 209:return e.i16be();case 210:return e.i32be();case 211:return wa(e.i64be());default:return Ta(t,`integer`)}}function ka(e){let t=e.u8();if(Ea(t)||Da(t))return t;switch(t){case 204:case 208:return e.u8();case 205:return e.u16be();case 206:return e.u32be();case 207:return wa(e.u64be());default:return Ta(t,`uint`)}}function Aa(e){let t=e.u8();if(Ea(t))return t;if(Da(t))return t-256;switch(t){case 204:return e.u8();case 205:return e.u16be();case 208:return e.i8();case 209:return e.i16be();case 202:return e.f32be();default:return Ta(t,`float32`)}}function ja(e){let t=e.u8();if(Ea(t))return t;if(Da(t))return t-256;switch(t){case 204:return e.u8();case 205:return e.u16be();case 206:return e.u32be();case 208:return e.i8();case 209:return e.i16be();case 210:return e.i32be();case 202:return e.f32be();case 203:return e.f64be();default:return Ta(t,`float64`)}}function Ma(e){let t=e.u8();return t===195?!0:t===194?!1:Ta(t,`bool`)}function Q(e){let t=e.u8(),n;if((t&224)==160)n=t&31;else if(t===217)n=e.u8();else if(t===218)n=e.u16be();else if(t===219)n=e.u32be();else return Ta(t,`str`);return fa.decode(e.bytes(n))}function Na(e){let t=e.u8();return t===196?e.u8():t===197?e.u16be():t===198?e.u32be():Ta(t,`bin`)}function Pa(e){let t=e.u8();return(t&240)==144?t&15:t===220?e.u16be():t===221?e.u32be():Ta(t,`array`)}function Fa(e){let t=e.u8();return(t&240)==128?t&15:t===222?e.u16be():t===223?e.u32be():Ta(t,`map`)}function Ia(e){let t=e.u8();t!==192&&Ta(t,`nil`)}var La=e=>e.replace(/\/\*[\s\S]*?\*\//g,` `).replace(/\/\/[^\n]*/g,` `).replace(/#[^\n]*/g,` `),Ra=String.raw`[A-Za-z_]\w*(?:::\w+)*`;function za(e){let t=e.replace(/_/g,``);return t.startsWith(`0b`)?parseInt(t.slice(2),2):t.startsWith(`0x`)?parseInt(t.slice(2),16):parseInt(t,10)}function Ba(e){let t=La(e),n=new Map,r=new Map,i=new Map,a=/\b(enum|variant|struct)\s+([A-Za-z0-9_]+)\s*\{([^{}]*)\}/g,o=new RegExp(String.raw`^(${Ra})\s*=\s*(-?\d+(?:_\d+)*|0b[01]+(?:_[01]+)*|0x[0-9a-fA-F]+(?:_[0-9a-fA-F]+)*)$`),s=new RegExp(String.raw`^${Ra}$`),c=new RegExp(String.raw`^(\w+)\s*:\s*(\w+)\s*(\[\s*(flat)?\s*\])?$`),l=0,u;for(;u=a.exec(t);){if(t.slice(l,u.index).trim()!==``)throw Error(`brdb: unexpected schema text before ${u[2]}`);l=a.lastIndex;let[,e,d,f]=u,p=f.split(`,`).map(e=>e.trim()).filter(e=>e!==``);if(e===`enum`){let e=new Map;for(let t of p){let n=o.exec(t);if(!n)throw Error(`brdb: cannot parse enum entry '${t}' in ${d}`);e.set(n[1],za(n[2]))}n.set(d,e)}else if(e===`variant`){let e=[];for(let t of p){if(!s.test(t))throw Error(`brdb: cannot parse variant member '${t}' in ${d}`);e.push(t)}r.set(d,e)}else{let e=new Map;for(let t of p){let n=c.exec(t);if(!n)throw Error(`brdb: cannot parse struct property '${t}' in ${d}`);let[,r,i,a,o]=n;e.set(r,a?{kind:o?`flatarray`:`array`,type:i}:{kind:`type`,type:i})}i.set(d,e)}}if(t.slice(l).trim()!==``)throw Error(`brdb: trailing unparsed schema text`);return{enums:n,variants:r,structs:i}}var Va={BRSavedGlobalDataSoA:{enums:{},variants:{},structs:{BRSavedPrimaryAssetId:{PrimaryAssetType:`str`,PrimaryAssetName:`str`},BRSavedGlobalDataSoA:{EntityTypeNames:[`str`],EntityDataClassNames:[`str`],BasicBrickAssetNames:[`str`],ProceduralBrickAssetNames:[`str`],MaterialAssetNames:[`str`],ComponentTypeNames:[`str`],ComponentDataStructNames:[`str`],ComponentWirePortNames:[`str`],ExternalAssetReferences:[`BRSavedPrimaryAssetId`],GlobalGridEntityTypeIndex:`i32`}}},BRSavedOwnerTableSoA:{enums:{},variants:{},structs:{BRGuid:{A:`u32`,B:`u32`,C:`u32`,D:`u32`},BRSavedOwnerTableSoA:{UserIds:[`BRGuid`,null],UserNames:[`str`],DisplayNames:[`str`],EntityCounts:[`u32`],BrickCounts:[`u32`],ComponentCounts:[`u32`],WireCounts:[`u32`]}}},BRSavedBrickChunkIndexSoA:{enums:{},variants:{},structs:{BRSavedChunk3DIndex:{X:`i16`,Y:`i16`,Z:`i16`},IntVector:{X:`i32`,Y:`i32`,Z:`i32`},BRSavedBrickChunkIndexSoA:{Chunk3DIndices:[`BRSavedChunk3DIndex`],ChunkOffsets:[`IntVector`],ChunkSizes:[`i32`],NumBricks:[`u32`],NumComponents:[`u32`],NumWires:[`u32`]}}},BRSavedBrickChunkSoA:{enums:{},variants:{},structs:{BRSavedBitFlags:{Flags:[`u8`,null]},BRSavedBrickColor:{R:`u8`,G:`u8`,B:`u8`,A:`u8`},BRSavedBrickSize:{X:`u16`,Y:`u16`,Z:`u16`},BRSavedBrickSizeCounter:{AssetIndex:`u32`,NumSizes:`u32`},BRSavedRelativeBrickPosition:{X:`i16`,Y:`i16`,Z:`i16`},BRSavedBrickChunkSoA:{ProceduralBrickStartingIndex:`u32`,BrickSizeCounters:[`BRSavedBrickSizeCounter`],BrickSizes:[`BRSavedBrickSize`],BrickTypeIndices:[`u32`],OwnerIndices:[`u32`],OriginalOwnerIndices:[`u32`],RelativePositions:[`BRSavedRelativeBrickPosition`,null],Orientations:[`u8`,null],CollisionFlags_Player:`BRSavedBitFlags`,CollisionFlags_Player1:`BRSavedBitFlags`,CollisionFlags_Player2:`BRSavedBitFlags`,CollisionFlags_Player3:`BRSavedBitFlags`,CollisionFlags_Weapon:`BRSavedBitFlags`,CollisionFlags_Interaction:`BRSavedBitFlags`,CollisionFlags_Physics:`BRSavedBitFlags`,VisibilityFlags:`BRSavedBitFlags`,MaterialIndices:[`u8`,null],ColorsAndAlphas:[`BRSavedBrickColor`,null],bColorsAreLinear:`bool`}}},BRSavedWireChunkSoA:{enums:{},variants:{},structs:{BRSavedBitFlags:{Flags:[`u8`,null]},BRSavedChunk3DIndex:{X:`i16`,Y:`i16`,Z:`i16`},BRSavedLocalWirePortSource:{BrickIndexInChunk:`u32`,ComponentTypeIndex:`u16`,PortIndex:`u16`},BRSavedWirePortTarget:{BrickIndexInChunk:`u32`,ComponentTypeIndex:`u16`,PortIndex:`u16`},BRSavedRemoteWirePortSource:{GridPersistentIndex:`u32`,ChunkIndex:`BRSavedChunk3DIndex`,BrickIndexInChunk:`u32`,ComponentTypeIndex:`u16`,PortIndex:`u16`},BRSavedWireChunkSoA:{RemoteWireSources:[`BRSavedRemoteWirePortSource`],LocalWireSources:[`BRSavedLocalWirePortSource`],RemoteWireTargets:[`BRSavedWirePortTarget`],LocalWireTargets:[`BRSavedWirePortTarget`],PendingPropagationFlags:`BRSavedBitFlags`}}},BRSavedComponentChunkSoA:{enums:{},variants:{},structs:{BRSavedBrickComponentTypeCounter:{TypeIndex:`u32`,NumInstances:`u32`},Quat4f:{X:`f32`,Y:`f32`,Z:`f32`,W:`f32`},Vector3f:{X:`f32`,Y:`f32`,Z:`f32`},BRSavedComponentChunkSoA:{ComponentTypeCounters:[`BRSavedBrickComponentTypeCounter`],ComponentBrickIndices:[`u32`],JointBrickIndices:[`u32`],JointEntityReferences:[`u32`],JointInitialRelativeOffsets:[`Vector3f`,null],JointInitialRelativeRotations:[`Quat4f`,null],MicrochipBrickIndices:[`u32`],MicrochipBrickGridReferences:[`u32`]}}},BRSavedComponentChunkSoA_max:{enums:{EBRColorSpace:{"EBRColorSpace::Linear":0,"EBRColorSpace::Srgb":1,"EBRColorSpace::Oklab":2,"EBRColorSpace::Hsv":3,"EBRColorSpace::EBRColorSpace_MAX":4},EBRDisplayTextEasing:{"EBRDisplayTextEasing::Linear":0,"EBRDisplayTextEasing::EaseIn":1,"EBRDisplayTextEasing::EaseOut":2,"EBRDisplayTextEasing::EaseInOut":3,"EBRDisplayTextEasing::EBRDisplayTextEasing_MAX":4},EBRDisplayTextJustification:{"EBRDisplayTextJustification::Left":0,"EBRDisplayTextJustification::Center":1,"EBRDisplayTextJustification::Right":2,"EBRDisplayTextJustification::EBRDisplayTextJustification_MAX":3},EBREasingDirection:{"EBREasingDirection::In":0,"EBREasingDirection::Out":1,"EBREasingDirection::InOut":2,"EBREasingDirection::EBREasingDirection_MAX":3},EBREasingFunction:{"EBREasingFunction::Linear":0,"EBREasingFunction::Sine":1,"EBREasingFunction::Quad":2,"EBREasingFunction::Cubic":3,"EBREasingFunction::Quart":4,"EBREasingFunction::Quint":5,"EBREasingFunction::Expo":6,"EBREasingFunction::Circ":7,"EBREasingFunction::Back":8,"EBREasingFunction::Elastic":9,"EBREasingFunction::Bounce":10,"EBREasingFunction::EBREasingFunction_MAX":11},EBrickAxis:{"EBrickAxis::X":0,"EBrickAxis::Y":1,"EBrickAxis::Z":2,"EBrickAxis::MAX":3},EBrickDirection:{"EBrickDirection::X_Positive":0,"EBrickDirection::X_Negative":1,"EBrickDirection::Y_Positive":2,"EBrickDirection::Y_Negative":3,"EBrickDirection::Z_Positive":4,"EBrickDirection::Z_Negative":5,"EBrickDirection::MAX":6},EBrickMaterial:{"EBrickMaterial::Plastic":0,"EBrickMaterial::Glass":1,"EBrickMaterial::TranslucentPlastic":2,"EBrickMaterial::Glow":3,"EBrickMaterial::Metal":4,"EBrickMaterial::Hologram":5,"EBrickMaterial::EBrickMaterial_MAX":6},EBrickRigidJointInterpMode:{"EBrickRigidJointInterpMode::Snap":0,"EBrickRigidJointInterpMode::Linear":1,"EBrickRigidJointInterpMode::Smooth":2,"EBrickRigidJointInterpMode::EBrickRigidJointInterpMode_MAX":3},EBRInventoryEntryPlanType:{"EBRInventoryEntryPlanType::Nothing":0,"EBRInventoryEntryPlanType::Brick":1,"EBRInventoryEntryPlanType::Entity":2,"EBRInventoryEntryPlanType::Item":3,"EBRInventoryEntryPlanType::EBRInventoryEntryPlanType_MAX":4},EBRPawnCollisionChannel:{"EBRPawnCollisionChannel::Channel1":0,"EBRPawnCollisionChannel::Channel2":1,"EBRPawnCollisionChannel::Channel3":2,"EBRPawnCollisionChannel::Channel4":3,"EBRPawnCollisionChannel::EBRPawnCollisionChannel_MAX":4},EBRTextFacing:{"EBRTextFacing::None":0,"EBRTextFacing::Full":1,"EBRTextFacing::InPlane":2,"EBRTextFacing::EBRTextFacing_MAX":3},EBRTextMaterial:{"EBRTextMaterial::Unlit":0,"EBRTextMaterial::Graffiti":1,"EBRTextMaterial::Plastic":2,"EBRTextMaterial::Metallic":3,"EBRTextMaterial::Glow":4,"EBRTextMaterial::TranslucentPlastic":5,"EBRTextMaterial::Glass":6,"EBRTextMaterial::EBRTextMaterial_MAX":7},EBRTextOutline:{"EBRTextOutline::None":0,"EBRTextOutline::Inlined":1,"EBRTextOutline::Outlined":2,"EBRTextOutline::HollowInlined":3,"EBRTextOutline::HollowOutlined":4,"EBRTextOutline::EBRTextOutline_MAX":5},EBRTextShading:{"EBRTextShading::None":0,"EBRTextShading::Chamfer":1,"EBRTextShading::Fillet":2,"EBRTextShading::DoubleChamfer":3,"EBRTextShading::DoubleFillet":4,"EBRTextShading::Rounded":5,"EBRTextShading::EBRTextShading_MAX":6},EBRTextTypeface:{"EBRTextTypeface::Regular":0,"EBRTextTypeface::Bold":1,"EBRTextTypeface::Italic":2,"EBRTextTypeface::BoldItalic":3,"EBRTextTypeface::EBRTextTypeface_MAX":4},EProjectileSpawnLocation:{"EProjectileSpawnLocation::FaceCenter":0,"EProjectileSpawnLocation::RandomPointInFace":1,"EProjectileSpawnLocation::EProjectileSpawnLocation_MAX":2}},variants:{WireGraphArrayVariant:[`WireGraphDoubleArray`,`WireGraphInt64Array`,`WireGraphBoolArray`,`WireGraphObjectArray`,`WireGraphVectorArray`,`WireGraphRotatorArray`,`WireGraphQuatArray`,`WireGraphStringArray`,`WireGraphLinearColorArray`,`WireGraphEnumArrayWrapper`],WireGraphEnumArrayVariant:[`WireGraphEnumArray_EBrickDirection`,`WireGraphEnumArray_EBrickAxis`,`WireGraphEnumArray_EBRPawnCollisionChannel`,`WireGraphEnumArray_EBRTextShading`,`WireGraphEnumArray_EBRTextOutline`,`WireGraphEnumArray_EBRTextMaterial`,`WireGraphEnumArray_EBRTextTypeface`,`WireGraphEnumArray_EBRTextFacing`,`WireGraphEnumArray_EBREasingFunction`,`WireGraphEnumArray_EBREasingDirection`,`WireGraphEnumArray_EBRColorSpace`,`WireGraphEnumArray_EProjectileSpawnLocation`,`WireGraphEnumArray_EBrickRigidJointInterpMode`,`WireGraphEnumArray_EBRDisplayTextJustification`,`WireGraphEnumArray_EBRDisplayTextEasing`,`WireGraphEnumArray_EBrickMaterial`],WireGraphEnumVariant:[`EBrickDirection`,`EBrickAxis`,`EBrickMaterial`,`EBRPawnCollisionChannel`,`EBRTextShading`,`EBRTextOutline`,`EBRTextMaterial`,`EBRTextTypeface`,`EBRTextFacing`,`EBREasingFunction`,`EBREasingDirection`,`EBRColorSpace`,`EProjectileSpawnLocation`,`EBrickRigidJointInterpMode`,`EBRDisplayTextJustification`,`EBRDisplayTextEasing`],WireGraphPrimMathVariant:[`f64`,`i64`,`Vector`,`Rotator`,`Quat`,`LinearColor`],WireGraphVariant:[`f64`,`i64`,`bool`,`weak_object`,`WireGraphExec`,`Vector`,`Rotator`,`Quat`,`str`,`LinearColor`,`WireGraphEnumWrapper`]},structs:{BrickComponentData_AudioEmitter:{bEnabled:`bool`,AudioDescriptor:`object`,VolumeMultiplier:`f32`,PitchMultiplier:`f32`,InnerRadius:`f32`,MaxDistance:`f32`,bSpatialization:`bool`,FocusAzimuth:`f32`,NonFocusAzimuth:`f32`,NonFocusVolumeAttenuation:`f32`},BrickComponentData_Bearing:{bLimitAngle:`bool`,LimitAngle:`f32`,bAnglesArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_Button:{PressSound:`object`,ReleaseSound:`object`,bAllowNearbyInteraction:`bool`,bHiddenInteraction:`bool`,PromptCustomLabel:`str`},BrickComponentData_CheckPoint:{bRotatePlayerGravityOnSpawn:`bool`},BrickComponentData_Damage:{Damage:`f32`,RepeatDelay:`f32`,Message:`str`,ConsoleTag:`str`},BrickComponentData_Interact:{InteractSound:`object`,Message:`str`,ConsoleTag:`str`,bAllowNearbyInteraction:`bool`,bHiddenInteraction:`bool`,PromptCustomLabel:`str`},BrickComponentData_Internal_AttachedZone:{ZoneStartDistance:`i32`,ZoneEndDistance:`i32`,bIsBuildingZone:`bool`,bIsLooseZone:`bool`,bIsShareZone:`bool`,bDetectPlayers:`bool`,bDetectPlayers1:`bool`,bDetectPlayers2:`bool`,bDetectPlayers3:`bool`,bDetectEntities:`bool`,bDetectProjectiles:`bool`,TagFilter:`str`},BrickComponentData_Internal_CharacterZoneEvent:{bCollisionEnabled_Player:`bool`,bCollisionEnabled_Player1:`bool`,bCollisionEnabled_Player2:`bool`,bCollisionEnabled_Player3:`bool`},BrickComponentData_Internal_EntityZoneEvent:{},BrickComponentData_Internal_InputSplitter_V2:{},BrickComponentData_Internal_Microchip:{},BrickComponentData_Internal_MicrochipInput:{PortLabel:`str`},BrickComponentData_Internal_MicrochipOutput:{PortLabel:`str`},BrickComponentData_Internal_ProjectileZoneEvent:{},BrickComponentData_Internal_ReadBrickGrid:{},BrickComponentData_Internal_ZoneEvent:{},BrickComponentData_Motor:{bEnabled:`bool`,Speed:`f32`,Power:`f32`,bLimitAngle:`bool`,LimitAngle:`f32`,bAnglesArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_MotorSlider:{bEnabled:`bool`,Speed:`f32`,Power:`f32`,bPositionsArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_OneShotAudioEmitter:{AudioDescriptor:`object`,VolumeMultiplier:`f32`,PitchMultiplier:`f32`,InnerRadius:`f32`,MaxDistance:`f32`,bSpatialization:`bool`,bEnableRepeat:`bool`,RepeatTime:`f32`,RepeatVariance:`f32`,RepeatCount:`i32`},BrickComponentData_ProjectileSpawner:{ProjectileClass:`class`,FireSound:`object`,Direction:`EBrickDirection`,SpawnLocation:`EProjectileSpawnLocation`,SpawnMargin:`f32`,bEnabled:`bool`,NumberOfShots:`i32`,SpreadConeAngle:`f32`,bSpreadBiasedTowardsCenter:`bool`,FireRate:`f32`,DamageMultiplier:`f32`,SpeedMultiplier:`f32`,ScaleMultiplier:`f32`},BrickComponentData_Rerouter:{},BrickComponentData_RigidBearing:{TargetAngle:`f32`,bAnglesArePercentages:`bool`,bReversed:`bool`,InterpMode:`EBrickRigidJointInterpMode`,SmoothTime:`f32`,TopSpeed:`f32`},BrickComponentData_RigidSlider:{TargetPosition:`f32`,bPositionsArePercentages:`bool`,bReversed:`bool`,InterpMode:`EBrickRigidJointInterpMode`,SmoothTime:`f32`,TopSpeed:`f32`},BrickComponentData_Servo:{bEnabled:`bool`,TargetAngle:`f32`,Power:`f32`,ActiveDamping:`f32`,ForceLimit:`f32`,bLimitAngle:`bool`,LimitAngle:`f32`,bAnglesArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_ServoSlider:{bEnabled:`bool`,TargetPosition:`f32`,Power:`f32`,TopSpeed:`f32`,Exponent:`f32`,bPositionsArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_Slider:{bPositionsArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_SpawnPoint:{bRotatePlayerGravityOnSpawn:`bool`,bEnable:`bool`},BrickComponentData_Switch:{bEnabled:`bool`,InteractSound:`object`,bAllowNearbyInteraction:`bool`,bHiddenInteraction:`bool`,PromptCustomLabel:`str`},BrickComponentData_Target:{OnTime:`f32`},BrickComponentData_TeleportDestination:{},BrickComponentData_Thruster:{bEnabled:`bool`,Force:`f32`,Throttle:`f32`,Pitch:`f32`,Yaw:`f32`,bSpawnLight:`bool`},BrickComponentData_Touch:{BeginTouchSound:`object`,EndTouchSound:`object`,bCollisionEnabled_Player:`bool`,bCollisionEnabled_Player1:`bool`,bCollisionEnabled_Player2:`bool`,bCollisionEnabled_Player3:`bool`},BrickComponentData_WireGraph_AudioReference:{Asset:`object`},BrickComponentData_WireGraph_BrickAssetReference:{Asset:`object`},BrickComponentData_WireGraph_DeltaTime:{},BrickComponentData_WireGraph_EntityTypeReference:{Asset:`class`},BrickComponentData_WireGraph_Exec_ArrayVar_Average:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Base:{},BrickComponentData_WireGraph_Exec_ArrayVar_DualRef:{},BrickComponentData_WireGraph_Exec_ArrayVar_ElementOp:{Index:`i64`,Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Find:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Get:{Index:`i64`,Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_GetLength:{},BrickComponentData_WireGraph_Exec_ArrayVar_Insert:{Index:`i64`,Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_MinMax:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Pop:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Push:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_RemoveAtIndex:{Index:`i64`},BrickComponentData_WireGraph_Exec_ArrayVar_Resize:{Size:`i64`,Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Slice:{Start:`i64`,Count:`i64`},BrickComponentData_WireGraph_Exec_ArrayVar_Sort:{bDescending:`bool`},BrickComponentData_WireGraph_Exec_ArrayVar_Sum:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Swap:{IndexA:`i64`,IndexB:`i64`},BrickComponentData_WireGraph_Exec_Character_AddInventoryEntity:{},BrickComponentData_WireGraph_Exec_Character_AddInventoryItem:{},BrickComponentData_WireGraph_Exec_Character_GetAim:{},BrickComponentData_WireGraph_Exec_Character_GetDamage:{},BrickComponentData_WireGraph_Exec_Character_GetFromController:{},BrickComponentData_WireGraph_Exec_Character_IncDamage:{Amount:`f64`},BrickComponentData_WireGraph_Exec_Character_SetDamage:{Damage:`f64`},BrickComponentData_WireGraph_Exec_Character_SetInventoryEntity:{Slot:`i32`},BrickComponentData_WireGraph_Exec_Character_SetInventoryItem:{Slot:`i32`},BrickComponentData_WireGraph_Exec_Character_SetTempPermission:{PermissionTagStr:`str`,bPermissionEnable:`bool`},BrickComponentData_WireGraph_Exec_Character_ShowHint:{HintTitle:`str`,HintText:`str`},BrickComponentData_WireGraph_Exec_ChatCommand:{CommandName:`str`,HelpText:`str`},BrickComponentData_WireGraph_Exec_Controller_GetDisplayName:{},BrickComponentData_WireGraph_Exec_Controller_GetFromEntity:{},BrickComponentData_WireGraph_Exec_Controller_GetUserId:{},BrickComponentData_WireGraph_Exec_Controller_GetUserName:{},BrickComponentData_WireGraph_Exec_Controller_HasPermission:{PermissionName:`str`},BrickComponentData_WireGraph_Exec_Controller_HasRole:{RoleName:`str`},BrickComponentData_WireGraph_Exec_Controller_IsTrustedByBrickOwner:{},BrickComponentData_WireGraph_Exec_Controller_SetCanRespawn:{bCanRespawn:`bool`},BrickComponentData_WireGraph_Exec_Controller_ShowChatMessage:{Message:`str`},BrickComponentData_WireGraph_Exec_Controller_ShowStatusMessage:{},BrickComponentData_WireGraph_Exec_Cycle:{Count:`i64`,Value:`i64`},BrickComponentData_WireGraph_Exec_Entity_GetAngularVelocity:{},BrickComponentData_WireGraph_Exec_Entity_GetLinearVelocity:{},BrickComponentData_WireGraph_Exec_Entity_GetLocation:{},BrickComponentData_WireGraph_Exec_Entity_GetLocationRotation:{},BrickComponentData_WireGraph_Exec_Entity_GetRotation:{},BrickComponentData_WireGraph_Exec_Entity_GetTag:{},BrickComponentData_WireGraph_Exec_Entity_GetVelocity:{},BrickComponentData_WireGraph_Exec_Entity_PlayAudioAt:{AudioDescriptor:`object`,VolumeMultiplier:`f32`,PitchMultiplier:`f32`,InnerRadius:`f32`,MaxDistance:`f32`,bSpatialization:`bool`},BrickComponentData_WireGraph_Exec_Entity_SetFrozen:{bFrozen:`bool`},BrickComponentData_WireGraph_Exec_Entity_SetTag:{Tag:`str`},BrickComponentData_WireGraph_Exec_Gamemode_BroadcastChatMessage:{Message:`str`},BrickComponentData_WireGraph_Exec_Gamemode_BroadcastStatusMessage:{Message:`str`,bFlashIfUnchanged:`bool`},BrickComponentData_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers:{},BrickComponentData_WireGraph_Exec_Gamemode_GetCurrentRound:{},BrickComponentData_WireGraph_Exec_Gamemode_GetLeaderboardValue:{Key:`str`},BrickComponentData_WireGraph_Exec_Gamemode_GetTeam:{},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamByName:{TeamName:`str`},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue:{Key:`str`},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamName:{},BrickComponentData_WireGraph_Exec_Gamemode_LeaderboardValue:{Key:`str`,Value:`i64`},BrickComponentData_WireGraph_Exec_Gamemode_PlayerWins:{bTeamWinsInstead:`bool`},BrickComponentData_WireGraph_Exec_Gamemode_SetTeam:{bPinPlayerToTeam:`bool`},BrickComponentData_WireGraph_Exec_Gamemode_SetTeamPinned:{bPinned:`bool`},BrickComponentData_WireGraph_Exec_Gamemode_TeamLeaderboardValue:{Key:`str`,Value:`i64`},BrickComponentData_WireGraph_Exec_Gamemode_TeamWins:{},BrickComponentData_WireGraph_Exec_PlayGlobalAudio:{AudioDescriptor:`object`,VolumeMultiplier:`f32`,PitchMultiplier:`f32`},BrickComponentData_WireGraph_Exec_PrintToConsole:{Text:`str`},BrickComponentData_WireGraph_Exec_Random:{Min:`WireGraphPrimMathVariant`,Max:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Exec_Toggle:{Value:`bool`},BrickComponentData_WireGraph_Exec_Var_EditOrGet:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_Var_Get:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_ExecBranch:{bCond:`bool`},BrickComponentData_WireGraph_ExecUnion:{},BrickComponentData_WireGraph_Expr_Bool_Bool:{bInput:`bool`},BrickComponentData_WireGraph_Expr_BoolBool_Bool:{bInputA:`bool`,bInputB:`bool`},BrickComponentData_WireGraph_Expr_Compare:{InputA:`WireGraphVariant`,InputB:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_Convert:{TargetType:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_EdgeDetector:{Input:`f64`,bPulseOnRisingEdge:`bool`,bPulseOnFallingEdge:`bool`},BrickComponentData_WireGraph_Expr_Float_Float:{Input:`f64`},BrickComponentData_WireGraph_Expr_Int_Int:{Input:`i64`},BrickComponentData_WireGraph_Expr_IntInt_Int:{InputA:`i64`,InputB:`i64`},BrickComponentData_WireGraph_Expr_MakeColor:{R:`f64`,G:`f64`,B:`f64`,A:`f64`},BrickComponentData_WireGraph_Expr_MakeColorHex:{Hex:`str`},BrickComponentData_WireGraph_Expr_MakeColorSRGB:{R:`i64`,G:`i64`,B:`i64`,A:`i64`},BrickComponentData_WireGraph_Expr_MakeQuaternion:{X:`f64`,Y:`f64`,Z:`f64`,W:`f64`},BrickComponentData_WireGraph_Expr_MakeRotation:{Pitch:`f64`,Yaw:`f64`,Roll:`f64`},BrickComponentData_WireGraph_Expr_MakeVector:{X:`f64`,Y:`f64`,Z:`f64`},BrickComponentData_WireGraph_Expr_MathAtan2:{Y:`f64`,X:`f64`},BrickComponentData_WireGraph_Expr_MathBlend:{Blend:`f64`,bClampAlpha:`bool`,InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_MathClamp:{Min:`WireGraphPrimMathVariant`,Max:`WireGraphPrimMathVariant`,Input:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_MathCompare:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_MathEasing:{Blend:`f64`,Function:`EBREasingFunction`,Direction:`EBREasingDirection`,InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_MathLogBase:{Input:`f64`,Base:`f64`},BrickComponentData_WireGraph_Expr_MathPow:{Input:`f64`,Exponent:`f64`},BrickComponentData_WireGraph_Expr_NearlyEqual:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`,Tolerance:`f64`},BrickComponentData_WireGraph_Expr_PrimMathVariant_PrimMathVariant:{Input:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_Select:{bSelectB:`bool`,InputA:`WireGraphVariant`,InputB:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_String_Concatenate:{InputA:`str`,InputB:`str`,Separator:`str`},BrickComponentData_WireGraph_Expr_String_Contains:{Input:`str`,Search:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_EndsWith:{Input:`str`,Suffix:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_Find:{Input:`str`,Search:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_FormatText:{FormatString:`str`,InputA:`WireGraphVariant`,InputB:`WireGraphVariant`,InputC:`WireGraphVariant`,InputD:`WireGraphVariant`,InputE:`WireGraphVariant`,InputF:`WireGraphVariant`,InputG:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_String_Length:{Input:`str`},BrickComponentData_WireGraph_Expr_String_ParseInt:{Input:`str`},BrickComponentData_WireGraph_Expr_String_ParseNumber:{Input:`str`},BrickComponentData_WireGraph_Expr_String_Replace:{Input:`str`,Search:`str`,Replacement:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_Split:{Input:`str`,Delimiter:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_StartsWith:{Input:`str`,Prefix:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_Substring:{Input:`str`,Start:`i64`,Length:`i64`},BrickComponentData_WireGraph_Expr_String_ToLower:{Input:`str`},BrickComponentData_WireGraph_Expr_String_ToUpper:{Input:`str`},BrickComponentData_WireGraph_Expr_String_Trim:{Input:`str`},BrickComponentData_WireGraph_Expr_Swap:{bSwap:`bool`,InputA:`WireGraphVariant`,InputB:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_Variant_Variant:{Input:`WireGraphVariant`},BrickComponentData_WireGraph_Fake_CharacterDamageEvent:{},BrickComponentData_WireGraph_Fake_CharacterDeathEvent:{},BrickComponentData_WireGraph_Fake_CharacterEvent:{},BrickComponentData_WireGraph_Fake_ControllerEvent:{},BrickComponentData_WireGraph_Fake_RoundEvent:{RoundNumber:`i32`},BrickComponentData_WireGraph_FindPlayer:{Query:`str`},BrickComponentData_WireGraph_FontReference:{Asset:`object`},BrickComponentData_WireGraph_ItemReference:{Asset:`class`},BrickComponentData_WireGraph_OneShotAudioReference:{Asset:`object`},BrickComponentData_WireGraph_ParticleReference:{Asset:`object`},BrickComponentData_WireGraph_PickupReference:{Asset:`class`},BrickComponentData_WireGraph_ProjectileReference:{Asset:`class`},BrickComponentData_WireGraph_ServerUptime:{},BrickComponentData_WireGraph_WheelEngineAudioReference:{Asset:`object`},BrickComponentData_WireGraphPseudo_ArrayVar:{Value:`WireGraphArrayVariant`},BrickComponentData_WireGraphPseudo_BufferSeconds:{SecondsToWait:`f32`,ZeroSecondsToWait:`f32`,CurrentTime:`f32`,Input:`WireGraphVariant`,Output:`WireGraphVariant`,Buffered:`WireGraphVariant`,bHasQueued:`bool`,bIsOffTimer:`bool`},BrickComponentData_WireGraphPseudo_BufferTicks:{TicksToWait:`i32`,ZeroTicksToWait:`i32`,CurrentTicks:`i32`,Input:`WireGraphVariant`,Output:`WireGraphVariant`,Buffered:`WireGraphVariant`,bHasQueued:`bool`,bIsOffTimer:`bool`},BrickComponentData_WireGraphPseudo_Timer:{Limit:`f64`,Time:`f64`,bRunning:`bool`},BrickComponentData_WireGraphPseudo_Tween:{Target:`WireGraphVariant`,Value:`WireGraphVariant`,StartValue:`WireGraphVariant`,Duration:`f64`,Elapsed:`f64`,Function:`EBREasingFunction`,Direction:`EBREasingDirection`},BrickComponentData_WireGraphPseudo_Var:{Value:`WireGraphVariant`},BrickComponentWireControl_DriveAndSteer:{},BrickComponentWirePortControl_TeleportDestination:{},BRInventoryEntryVariant:{},BRQueueSecondsEntry:{Data:[`WireGraphVariant`],RemainingTime:`f32`},BRQueueTicksEntry:{Data:[`WireGraphVariant`],RemainingTicks:`i32`},BRSavedBrickComponentTypeCounter:{TypeIndex:`u32`,NumInstances:`u32`},Color:{B:`u8`,G:`u8`,R:`u8`,A:`u8`},IntVector:{X:`i32`,Y:`i32`,Z:`i32`},LinearColor:{R:`f32`,G:`f32`,B:`f32`,A:`f32`},Quat:{X:`f64`,Y:`f64`,Z:`f64`,W:`f64`},Quat4f:{X:`f32`,Y:`f32`,Z:`f32`,W:`f32`},Rotator:{Pitch:`f64`,Yaw:`f64`,Roll:`f64`},Rotator3f:{Pitch:`f32`,Yaw:`f32`,Roll:`f32`},Vector:{X:`f64`,Y:`f64`,Z:`f64`},Vector2f:{X:`f32`,Y:`f32`},Vector3f:{X:`f32`,Y:`f32`,Z:`f32`},Vector4:{X:`f64`,Y:`f64`,Z:`f64`,W:`f64`},WireGraphBoolArray:{Values:[`bool`]},WireGraphDoubleArray:{Values:[`f64`]},WireGraphEnumArray_EBRColorSpace:{Values:[`EBRColorSpace`]},WireGraphEnumArray_EBRDisplayTextEasing:{Values:[`EBRDisplayTextEasing`]},WireGraphEnumArray_EBRDisplayTextJustification:{Values:[`EBRDisplayTextJustification`]},WireGraphEnumArray_EBREasingDirection:{Values:[`EBREasingDirection`]},WireGraphEnumArray_EBREasingFunction:{Values:[`EBREasingFunction`]},WireGraphEnumArray_EBrickAxis:{Values:[`EBrickAxis`]},WireGraphEnumArray_EBrickDirection:{Values:[`EBrickDirection`]},WireGraphEnumArray_EBrickMaterial:{Values:[`EBrickMaterial`]},WireGraphEnumArray_EBrickRigidJointInterpMode:{Values:[`EBrickRigidJointInterpMode`]},WireGraphEnumArray_EBRPawnCollisionChannel:{Values:[`EBRPawnCollisionChannel`]},WireGraphEnumArray_EBRTextFacing:{Values:[`EBRTextFacing`]},WireGraphEnumArray_EBRTextMaterial:{Values:[`EBRTextMaterial`]},WireGraphEnumArray_EBRTextOutline:{Values:[`EBRTextOutline`]},WireGraphEnumArray_EBRTextShading:{Values:[`EBRTextShading`]},WireGraphEnumArray_EBRTextTypeface:{Values:[`EBRTextTypeface`]},WireGraphEnumArray_EProjectileSpawnLocation:{Values:[`EProjectileSpawnLocation`]},WireGraphEnumArrayWrapper:{Enum:`WireGraphEnumArrayVariant`},WireGraphEnumWrapper:{Enum:`WireGraphEnumVariant`},WireGraphExec:{},WireGraphInt64Array:{Values:[`i64`]},WireGraphObjectArray:{Values:[`weak_object`]},WireGraphStringArray:{Values:[`str`]},BrickComponentData_BrickPropertyChanger:{bVisibility:`bool`,bCollisionEnabled:`bool`,bCollisionEnabled_Player:`bool`,bCollisionEnabled_Player1:`bool`,bCollisionEnabled_Player2:`bool`,bCollisionEnabled_Player3:`bool`,bCollisionEnabled_Weapon:`bool`,bCollisionEnabled_Interaction:`bool`,bCollisionEnabled_Physics:`bool`,Color:`Color`,MaterialAlpha:`u8`,Material:`EBrickMaterial`},BrickComponentData_Gyroscope:{bEnabled:`bool`,Strength:`f32`,Damping:`f32`,MaxForce:`f32`,TargetAxis:`Vector`},BrickComponentData_ItemSpawn:{PickupClass:`class`,bPickupEnabled:`bool`,bPickupRespawnOnMinigameReset:`bool`,PickupMinigameResetRespawnDelay:`f32`,bPickupAutoDisableOnPickup:`bool`,PickupRespawnTime:`f32`,bRenderTranslucentWhenDisabled:`bool`,DamageMultiplier:`f32`,WeaponSpeedMultiplier:`f32`,ItemNameOverride:`str`,ProjectileOverride:`class`,PickupOffsetDirection:`EBrickDirection`,PickupOffsetDistance:`f32`,PickupRotation:`Rotator3f`,PickupScale:`f32`,bOverridePickupColors:`bool`,PickupMeshColors:[`Color`],bPickupAnimationEnabled:`bool`,PickupAnimationAxis:`EBrickAxis`,bPickupAnimationAxisLocal:`bool`,PickupSpinSpeed:`f32`,PickupBobSpeed:`f32`,PickupBobHeight:`f32`,PickupAnimationPhase:`f32`},BrickComponentData_Joint_Wheel:{Control_DriveAndSteer:`BrickComponentWireControl_DriveAndSteer`,bEnabled:`bool`,DriveSpeed:`f32`,DrivePower:`f32`,bSteerEnabled:`bool`,Steer:`f32`,SteerLimitDegree:`f32`,SteerPower:`f32`,bSuspensionEnabled:`bool`,SuspensionStiffness:`f32`,SuspensionDamping:`f32`,JointDistance:`i32`,bDriveWhenNotAttachedToEngine:`bool`,bCanBrake:`bool`,bAllowEngineSteerCorrect:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_Joint_Wheel_Suspension:{Control_DriveAndSteer:`BrickComponentWireControl_DriveAndSteer`,bEnabled:`bool`,DriveSpeed:`f32`,DrivePower:`f32`,bSteerEnabled:`bool`,Steer:`f32`,SteerLimitDegree:`f32`,SteerPower:`f32`,bSuspensionEnabled:`bool`,SuspensionStiffness:`f32`,SuspensionDamping:`f32`,SuspensionOffset:`f32`,SuspensionLength:`f32`,JointDistance:`i32`,bDriveWhenNotAttachedToEngine:`bool`,bCanBrake:`bool`,bAllowEngineSteerCorrect:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_PointLight:{bMatchBrickShape:`bool`,bEnabled:`bool`,Brightness:`f32`,Radius:`f32`,Color:`Color`,bUseBrickColor:`bool`,bCastShadows:`bool`},BrickComponentData_PrefabSpawn:{Prefab:`bundle_path_ref`,SpawnOffset:`Vector`,SpawnOffsetRotation:`Rotator`,SpawnVelocity:`Vector`,bSpawnEnable:`bool`,RespawnTime:`f64`,SpawnedEntityIds:[`u32`]},BrickComponentData_Seat_V2:{bIsOccupied:`bool`,ExitOffset:`IntVector`,bRollCameraInThirdPerson:`bool`,bAllowNearbyInteraction:`bool`,bHiddenInteraction:`bool`,PromptCustomLabel:`str`},BrickComponentData_SpotLight:{Rotation:`Rotator3f`,InnerConeAngle:`f32`,OuterConeAngle:`f32`,bEnabled:`bool`,Brightness:`f32`,Radius:`f32`,Color:`Color`,bUseBrickColor:`bool`,bCastShadows:`bool`},BrickComponentData_TextDisplay:{Text:`str`,Font:`object`,Rotation:`f32`,Skew:`f32`,Kerning:`f32`,LineHeight:`f32`,LineOffset:`f32`,Anchor:`Vector2f`,Offset:`Vector3f`,Color:`Color`,MaterialSlider:`i32`,ShadingWidth:`f32`,OutlineColor:`Color`,OutlineWidth:`f32`,ScuffWidth:`f32`,GraffitiDepthLimit:`f32`,GraffitiAngleLimit:`f32`,GraffitiLayer:`i32`,bEnabled:`bool`,Face:`EBrickDirection`,bAlignToWedge:`bool`,bOverrideColor:`bool`,Typeface:`EBRTextTypeface`,Billboard:`EBRTextFacing`,Material:`EBRTextMaterial`,Shading:`EBRTextShading`,bFlipShading:`bool`,Outline:`EBRTextOutline`,bSharpCorners:`bool`,bSharpOutlines:`bool`,bOverrideOutlineColor:`bool`,bForeground:`bool`},BrickComponentData_WeightBrick:{Mass:`f32`,MassSize:`IntVector`,MassOffset:`IntVector`},BrickComponentData_WheelEngine_V2:{bEnabled:`bool`,bEnableManualControl:`bool`,ManualInput_Drive:`f32`,ManualInput_Steer:`f32`,bManualInput_Brake:`bool`,Control_DriveAndSteer:`BrickComponentWireControl_DriveAndSteer`,CustomMass:`f32`,CustomMassVerticalOffset:`f32`,DriveInterpSpeed:`f32`,DriveSpeed:`f32`,DriveAcceleratingPowerMultiplier:`f32`,DriveBrakingPowerMultiplier:`f32`,DriveDampingMultiplier:`f32`,SteerPowerMultiplier:`f32`,WheelFrictionMultiplier:`f32`,SteerInterpSpeed:`f32`,SteerLimitSpeedFalloff:`f32`,SteerLimitDegree:`f32`,CenterOfSteering:`f32`,bTankSteering:`bool`,TankSteerSpeedMultiplier:`f32`,bAutoRight:`bool`,WaterDriveForce:`f32`,WaterSteeringForce:`f32`,AudioDescriptor:`object`},BrickComponentData_WireGraph_Exec_Character_AddInventoryBrick:{ProceduralSize:`Vector`},BrickComponentData_WireGraph_Exec_Character_SetInventoryBrick:{Slot:`i32`,ProceduralSize:`Vector`},BrickComponentData_WireGraph_Exec_Controller_DisplayText:{Text:`str`,AnchorX:`f64`,AnchorY:`f64`,PositionX:`f64`,PositionY:`f64`,Angle:`f64`,ScaleX:`f64`,ScaleY:`f64`,FontSize:`i32`,FontColor:`Color`,OutlineSize:`i64`,OutlineColor:`Color`,Justification:`EBRDisplayTextJustification`,Transition:`f64`,Easing:`EBRDisplayTextEasing`,Lifetime:`f64`,TextId:`i64`},BrickComponentData_WireGraph_Exec_Entity_AddLocationRotation:{Vector:`Vector`,Rotation:`Rotator`},BrickComponentData_WireGraph_Exec_Entity_AddVelocity:{Vector:`Vector`,Rotation:`Vector`},BrickComponentData_WireGraph_Exec_Entity_RelativeTeleport:{Source:`BrickComponentWirePortControl_TeleportDestination`,Destination:`BrickComponentWirePortControl_TeleportDestination`},BrickComponentData_WireGraph_Exec_Entity_SetAngularVelocity:{AngularVelocity:`Vector`},BrickComponentData_WireGraph_Exec_Entity_SetGravityDirection:{Rotation:`Rotator`},BrickComponentData_WireGraph_Exec_Entity_SetLinearVelocity:{LinearVelocity:`Vector`},BrickComponentData_WireGraph_Exec_Entity_SetLocation:{Vector:`Vector`},BrickComponentData_WireGraph_Exec_Entity_SetLocationRotation:{Vector:`Vector`,Rotation:`Rotator`},BrickComponentData_WireGraph_Exec_Entity_SetRotation:{Rotation:`Rotator`},BrickComponentData_WireGraph_Exec_Entity_SetVelocity:{Vector:`Vector`,Rotation:`Vector`},BrickComponentData_WireGraph_Exec_Entity_Teleport:{Destination:`BrickComponentWirePortControl_TeleportDestination`},BrickComponentData_WireGraph_Exec_PrefabSpawner:{Prefab:`bundle_path_ref`,SpawnOffset:`Vector`,SpawnOffsetRotation:`Rotator`,SpawnVelocity:`Vector`,Lifetime:`f64`,Limit:`i64`,SpawnedEntityIds:[`u32`]},BrickComponentData_WireGraph_Exec_Sweep:{Origin:`Vector`,Direction:`Vector`,Distance:`f64`,Radius:`f64`,bDetectBricks:`bool`,bDetectPlayers1:`bool`,bDetectPlayers2:`bool`,bDetectPlayers3:`bool`,bDetectPlayers4:`bool`,bDetectPhysics:`bool`,bDetectMap:`bool`,bRelative:`bool`,bIgnoreOwningGrid:`bool`},BrickComponentData_WireGraph_Expr_ColorBlend:{ColorA:`LinearColor`,ColorB:`LinearColor`,Alpha:`f64`,BlendSpace:`EBRColorSpace`,bClampAlpha:`bool`},BrickComponentData_WireGraph_Expr_ColorConvert:{Input:`LinearColor`,FromSpace:`EBRColorSpace`,ToSpace:`EBRColorSpace`},BrickComponentData_WireGraph_Expr_ColorToHex:{Input:`LinearColor`},BrickComponentData_WireGraph_Expr_DirectionToRotation:{Direction:`Vector`},BrickComponentData_WireGraph_Expr_InvertRotation:{Input:`Quat`},BrickComponentData_WireGraph_Expr_QuatAngleBetween:{InputA:`Quat`,InputB:`Quat`},BrickComponentData_WireGraph_Expr_QuatBetween:{From:`Vector`,To:`Vector`},BrickComponentData_WireGraph_Expr_QuatDotProduct:{InputA:`Quat`,InputB:`Quat`},BrickComponentData_WireGraph_Expr_QuatFromAxisAngle:{Axis:`Vector`,Angle:`f64`},BrickComponentData_WireGraph_Expr_QuatSlerp:{InputA:`Quat`,InputB:`Quat`,Alpha:`f64`,bShortestPath:`bool`,bClampAlpha:`bool`},BrickComponentData_WireGraph_Expr_QuatToAxisAngle:{Input:`Quat`},BrickComponentData_WireGraph_Expr_RotateVector:{Rotation:`Quat`,Vector:`Vector`},BrickComponentData_WireGraph_Expr_RotationToDirection:{Rotation:`Quat`},BrickComponentData_WireGraph_Expr_SplitColor:{Input:`LinearColor`},BrickComponentData_WireGraph_Expr_SplitColorSRGB:{Input:`LinearColor`},BrickComponentData_WireGraph_Expr_SplitQuaternion:{Input:`Quat`},BrickComponentData_WireGraph_Expr_SplitRotation:{Input:`Rotator`},BrickComponentData_WireGraph_Expr_SplitVector:{Input:`Vector`},BrickComponentData_WireGraph_Expr_Vec_Float:{Input:`Vector`},BrickComponentData_WireGraph_Expr_Vec_Vec:{Input:`Vector`},BrickComponentData_WireGraph_Expr_VecFloat_Vec:{Input:`Vector`,Scalar:`f64`},BrickComponentData_WireGraph_Expr_VecVec_Float:{InputA:`Vector`,InputB:`Vector`},BrickComponentData_WireGraph_Expr_VecVec_Vec:{InputA:`Vector`,InputB:`Vector`},BrickComponentData_WireGraphPseudo_Dampen:{Target:`WireGraphVariant`,Value:`WireGraphVariant`,SmoothTime:`f64`,Velocity:`Vector4`},BrickComponentData_WireGraphPseudo_QueueSeconds:{SecondsToWait:`f32`,Entries:[`BRQueueSecondsEntry`],DataIn1:`WireGraphVariant`,DataIn2:`WireGraphVariant`,DataIn3:`WireGraphVariant`,DataIn4:`WireGraphVariant`,DataIn5:`WireGraphVariant`,DataIn6:`WireGraphVariant`,DataIn7:`WireGraphVariant`,DataIn8:`WireGraphVariant`,DataOut1:`WireGraphVariant`,DataOut2:`WireGraphVariant`,DataOut3:`WireGraphVariant`,DataOut4:`WireGraphVariant`,DataOut5:`WireGraphVariant`,DataOut6:`WireGraphVariant`,DataOut7:`WireGraphVariant`,DataOut8:`WireGraphVariant`},BrickComponentData_WireGraphPseudo_QueueTicks:{TicksToWait:`i32`,Entries:[`BRQueueTicksEntry`],DataIn1:`WireGraphVariant`,DataIn2:`WireGraphVariant`,DataIn3:`WireGraphVariant`,DataIn4:`WireGraphVariant`,DataIn5:`WireGraphVariant`,DataIn6:`WireGraphVariant`,DataIn7:`WireGraphVariant`,DataIn8:`WireGraphVariant`,DataOut1:`WireGraphVariant`,DataOut2:`WireGraphVariant`,DataOut3:`WireGraphVariant`,DataOut4:`WireGraphVariant`,DataOut5:`WireGraphVariant`,DataOut6:`WireGraphVariant`,DataOut7:`WireGraphVariant`,DataOut8:`WireGraphVariant`},BrickTypeNetWrapper:{BrickAsset:`object`,ProceduralSize:`IntVector`},BRInventoryEntryConfig:{Item:`BRInventoryEntryVariant`},BRPlayerPartCustomizationV3:{PartDescriptor:`object`,DecalDescriptor:`object`,SocketName:`str`,Colors:[`Color`]},BRSavedComponentChunkSoA:{ComponentTypeCounters:[`BRSavedBrickComponentTypeCounter`],ComponentBrickIndices:[`u32`],JointBrickIndices:[`u32`],JointEntityReferences:[`u32`],JointInitialRelativeOffsets:[`Vector3f`,null],JointInitialRelativeRotations:[`Quat4f`,null],MicrochipBrickIndices:[`u32`],MicrochipBrickGridReferences:[`u32`]},WireGraphLinearColorArray:{Values:[`LinearColor`]},WireGraphQuatArray:{Values:[`Quat`]},WireGraphRotatorArray:{Values:[`Rotator`]},WireGraphVectorArray:{Values:[`Vector`]},BrickComponentData_WireGraph_Exec_Character_AddInventoryEntry:{Entry:`BRInventoryEntryConfig`},BRInventoryEntryPlan:{Type:`EBRInventoryEntryPlanType`,BrickTypeIfBrick:`BrickTypeNetWrapper`,EntityTypeIfEntity:`class`,ItemTypeIfItem:`class`},BRPlayerAvatarCustomizationV3:{Parts:[`BRPlayerPartCustomizationV3`]},BrickComponentData_BotSpawn:{RespawnTime:`f32`,CorpseTimeout:`f32`,GunSkill:`f32`,Agression:`f32`,ReactionTime:`f32`,MovementRandomness:`f32`,RunSpeed:`f32`,HealthMultiplier:`f32`,Jumpyness:`f32`,MovementAmount:`f32`,AttackMovementAmount:`f32`,AggroRange:`f32`,AttackDamageMultiplier:`f32`,bCanJump:`bool`,bBackVision:`bool`,bVisionRaycasting:`bool`,bCanTargetPlayers:`bool`,bCanTargetBots:`bool`,bActiveBot:`bool`,bSpawnEnable:`bool`,bDeleteBot:`bool`,MoveTarget:`Vector`,MovementGoalDummy:`BrickComponentWirePortControl_TeleportDestination`,BotName:`str`,Skin:`BRPlayerAvatarCustomizationV3`,bColorsAreLinear:`bool`,TeamCollisionChannel:`EBRPawnCollisionChannel`,bTeamCollision:`bool`,bTeamCollision1:`bool`,bTeamCollision2:`bool`,bTeamCollision3:`bool`,BotWeapon:`class`},BrickComponentData_WireGraph_Exec_Character_SetInventoryEntry:{Slot:`i32`,Entry:`BRInventoryEntryConfig`,EntryPlan:`BRInventoryEntryPlan`}}},BRSavedEntityChunkIndexSoA:{enums:{},variants:{},structs:{BRSavedChunk3DIndex:{X:`i16`,Y:`i16`,Z:`i16`},BRSavedEntityChunkIndexSoA:{NextPersistentIndex:`u32`,Chunk3DIndices:[`BRSavedChunk3DIndex`],NumEntities:[`u32`]}}},BRSavedEntityChunkSoA:{enums:{},variants:{},structs:{BrickGridDynamicActor:{BouyancyScale:`f32`,MassScale:`f32`,bEnableGravity:`bool`,bUseNewMassCalculation:`bool`,bReceivesDecals:`bool`,EntityTag:`str`},BRSavedBitFlags:{Flags:[`u8`,null]},BRSavedBrickColor:{R:`u8`,G:`u8`,B:`u8`,A:`u8`},BRSavedEntityTypeCounter:{TypeIndex:`u32`,NumEntities:`u32`},IntVector:{X:`i32`,Y:`i32`,Z:`i32`},Quat4f:{X:`f32`,Y:`f32`,Z:`f32`,W:`f32`},Vector3f:{X:`f32`,Y:`f32`,Z:`f32`},BP_MicrochipBrickGridDynamicActor_C:{bCollapsed:`bool`,PlaneCenter:`IntVector`,PlaneExtent:`IntVector`},BRSavedEntityColors:{Color0:`BRSavedBrickColor`,Color1:`BRSavedBrickColor`,Color2:`BRSavedBrickColor`,Color3:`BRSavedBrickColor`,Color4:`BRSavedBrickColor`,Color5:`BRSavedBrickColor`,Color6:`BRSavedBrickColor`,Color7:`BRSavedBrickColor`},BRSavedEntityChunkSoA:{TypeCounters:[`BRSavedEntityTypeCounter`],PersistentIndices:[`u32`],OwnerIndices:[`u32`],OriginalOwnerIndices:[`u32`],Locations:[`Vector3f`,null],Rotations:[`Quat4f`,null],WeldParentFlags:`BRSavedBitFlags`,PhysicsLockedFlags:`BRSavedBitFlags`,PhysicsSleepingFlags:`BRSavedBitFlags`,WeldParentIndices:[`u32`],LinearVelocities:[`Vector3f`,null],AngularVelocities:[`Vector3f`,null],ColorsAndAlphas:[`BRSavedEntityColors`,null],RemainingLifeSpans:[`f32`,null],bColorsAreLinear:`bool`}}}},Ha;function Ua(e,t){if(typeof e==`string`)return{kind:`type`,type:e};if(Array.isArray(e)){if(e.length===1)return{kind:`array`,type:e[0]};if(e.length===2&&e[1]===null)return{kind:`flatarray`,type:e[0]};throw Error(`brdb: invalid schema prop source at ${t}`)}let n=Object.entries(e);if(n.length===1)return{kind:`map`,key:n[0][0],value:n[0][1]};throw Error(`brdb: invalid schema prop source at ${t}`)}var Wa=[`f64`,`i64`,`bool`,`weak_object`,`WireGraphExec`],Ga=[`f64`,`i64`];function Ka(e,t){if(typeof e==`object`&&e&&!Array.isArray(e)&&typeof e.$variant==`string`)return e;throw Error(`brdb: variant ${t} requires a { $variant, value } wrapper`)}var qa={u8:1,i8:1,u16:2,i16:2,u32:4,i32:4,f32:4,u64:8,i64:8,f64:8};function Ja(e){let t=e.peek();if((t&224)==160||t===217||t===218)return{kind:`type`,type:Q(e)};if((t&240)==144){let t=Pa(e);if(t===1)return{kind:`array`,type:Q(e)};if(t===2){let t=Q(e);return Ia(e),{kind:`flatarray`,type:t}}throw Error(`brdb: unsupported property array length ${t}`)}if((t&240)==128){let t=Fa(e);if(t!==1)throw Error(`brdb: unsupported property map length ${t}`);return{kind:`map`,key:Q(e),value:Q(e)}}throw Error(`brdb: unsupported property marker 0x${t.toString(16)}`)}var Ya=class e{constructor(e,t,n){this.enums=e,this.variants=t,this.structs=n}static fromText(t){let{enums:n,variants:r,structs:i}=Ba(t);return new e(n,r,i)}static fromData(t){let n=new Map(Object.entries(t.enums).map(([e,t])=>[e,new Map(Object.entries(t))])),r=new Map(Object.entries(t.variants).map(([e,t])=>[e,[...t]])),i=new Map(Object.entries(t.structs).map(([e,t])=>[e,new Map(Object.entries(t).map(([t,n])=>[t,Ua(n,`${e}.${t}`)]))]));return new e(n,r,i)}static fromBinary(t){let n=new Gi(t),r=Pa(n);if(r!==2&&r!==3)throw Error(`brdb: invalid schema header length ${r}`);let i=new Map;for(let e=0,t=Fa(n);e<t;e++){let e=Q(n),t=new Map;for(let e=0,r=Fa(n);e<r;e++)t.set(Q(n),Oa(n));i.set(e,t)}let a=new Map;if(r===3)for(let e=0,t=Fa(n);e<t;e++){let e=Q(n),t=[];for(let e=0,r=Pa(n);e<r;e++)t.push(Q(n));a.set(e,t)}let o=new Map;for(let e=0,t=Fa(n);e<t;e++){let e=Q(n),t=new Map;for(let e=0,r=Fa(n);e<r;e++)t.set(Q(n),Ja(n));o.set(e,t)}if(n.remaining!==0)throw Error(`brdb: ${n.remaining} trailing bytes after schema`);return new e(i,a,o)}extractStructsTransitive(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=[...e];for(let e=a.pop();e!==void 0;e=a.pop()){if(i.has(e))continue;i.add(e);let o=this.variants.get(e);if(o){a.push(...o),n.set(e,[...o]);continue}let s=this.enums.get(e);if(s){t.set(e,new Map(s));continue}let c=this.structs.get(e);if(c){let t=new Map;for(let[e,n]of c)n.kind===`map`?a.push(n.key,n.value):a.push(n.type),t.set(e,{...n});r.set(e,t)}}return{enums:t,variants:n,structs:r}}merge(e){for(let[t,n]of e.enums)this.enums.set(t,n);for(let[t,n]of e.variants)this.variants.set(t,n);for(let[t,n]of e.structs)this.structs.set(t,n)}zeroValue(e){switch(e){case`u8`:case`u16`:case`u32`:case`u64`:case`i8`:case`i16`:case`i32`:case`i64`:case`f32`:case`f64`:return 0;case`bool`:return!1;case`str`:case`bundle_path_ref`:return``;case`class`:case`object`:case`weak_object`:return null;case`wire_graph_variant`:case`wire_graph_prim_math_variant`:return{$variant:`f64`,value:0}}let t=this.variants.get(e);if(t){let n=t[0];if(n===void 0)throw Error(`brdb: empty variant ${e}`);return{$variant:n,value:this.zeroValue(n)}}if(this.enums.has(e))return 0;let n=this.structs.get(e);if(n){let e={};for(let[t,r]of n)e[t]=r.kind===`type`?this.zeroValue(r.type):[];return e}throw Error(`brdb: unknown type ${e}`)}fillStruct(e,t,n){let r=this.structs.get(e);if(!r)throw Error(`brdb: unknown struct ${e}`);for(let n of Object.keys(t))if(!r.has(n))throw Error(`brdb: ${e} has no field '${n}'`);let i={};for(let[e,a]of r){let r=t[e]===void 0?n?.[e]:t[e];i[e]=r===void 0?a.kind===`type`?this.zeroValue(a.type):[]:r}return i}topoStructOrder(){let e=new Set,t=[],n=r=>{if(e.has(r))return;e.add(r);let i=this.structs.get(r);if(i)for(let e of i.values()){let t=e.kind===`map`?[e.key,e.value]:[e.type];for(let e of t)this.structs.has(e)&&n(e)}t.push(r)};for(let e of this.structs.keys())n(e);return t}toBinary(){let e=new Wi;Sa(e,3),Ca(e,this.enums.size);for(let[t,n]of this.enums){Z(e,t),Ca(e,n.size);for(let[t,r]of n)Z(e,t),va(e,r)}Ca(e,this.variants.size);for(let[t,n]of this.variants){Z(e,t),Sa(e,n.length);for(let t of n)Z(e,t)}let t=this.topoStructOrder();Ca(e,t.length);for(let n of t){let t=this.structs.get(n);Z(e,n),Ca(e,t.size);for(let[n,r]of t)switch(Z(e,n),r.kind){case`type`:Z(e,r.type);break;case`array`:Sa(e,1),Z(e,r.type);break;case`flatarray`:Sa(e,2),Z(e,r.type),ma(e);break;case`map`:Ca(e,1),Z(e,r.key),Z(e,r.value);break}}return e.toBytes()}flatTypeSize(e){let t=qa[e];if(t)return t;let n=this.structs.get(e);if(!n)return 0;let r=0;for(let e of n.values())r+=e.kind===`type`?this.flatTypeSize(e.type):0;return r}writeValue(e,t,n){switch(t){case`u8`:return ga(e,n);case`u16`:case`u32`:case`u64`:return _a(e,n);case`i8`:case`i16`:case`i32`:case`i64`:return va(e,n);case`f32`:return ya(e,n);case`f64`:return ba(e,n);case`str`:case`bundle_path_ref`:return Z(e,n);case`bool`:return ha(e,n);case`class`:case`object`:case`weak_object`:return n===null?va(e,-1):_a(e,n);case`wire_graph_variant`:case`wire_graph_prim_math_variant`:return this.writeLegacyWireVariant(e,t,n)}let r=this.variants.get(t);if(r){let i=Ka(n,t),a=r.indexOf(i.$variant);if(a===-1)throw Error(`brdb: '${i.$variant}' is not a member of variant ${t}`);return _a(e,a),this.writeVariantPayload(e,i.$variant,i.value)}let i=this.enums.get(t);if(i){let r=n;if(r<0||r>=i.size)throw RangeError(`brdb: enum ${t} ordinal ${r} out of bounds`);return _a(e,r)}let a=this.structs.get(t);if(a){let r=n;for(let[n,i]of a){if(!(n in r))throw Error(`brdb: missing struct field ${t}.${n}`);this.writeProperty(e,i,r[n],`${t}.${n}`)}return}throw Error(`brdb: unknown type ${t}`)}writeVariantPayload(e,t,n){if(t===`weak_object`)return va(e,n===null?-1:n);this.writeValue(e,t,n)}writeLegacyWireVariant(e,t,n){let r=t===`wire_graph_variant`?Wa:Ga,i=Ka(n,t),a=r.indexOf(i.$variant);if(a===-1)throw Error(`brdb: '${i.$variant}' is not a member of ${t}`);switch(_a(e,a),i.$variant){case`f64`:return ba(e,i.value);case`i64`:return va(e,i.value);case`bool`:return ha(e,i.value);case`weak_object`:return va(e,i.value===null?-1:i.value);case`WireGraphExec`:return}}writeProperty(e,t,n,r){switch(t.kind){case`type`:return this.writeValue(e,t.type,n);case`array`:{let r=n;Sa(e,r.length);for(let n of r)this.writeValue(e,t.type,n);return}case`flatarray`:{let i=n,a=this.flatTypeSize(t.type);if(a===0)throw Error(`brdb: invalid flat type ${t.type} at ${r}`);xa(e,i.length*a);for(let n of i)this.writeFlat(e,t.type,n,r);return}case`map`:throw Error(`brdb: Map properties are unsupported (${r})`)}}writeFlat(e,t,n,r){switch(t){case`u8`:return e.u8(n);case`i8`:return e.i8(n);case`u16`:return e.u16le(n);case`i16`:return e.i16le(n);case`u32`:return e.u32le(n);case`i32`:return e.i32le(n);case`f32`:return e.f32le(n);case`f64`:return e.f64le(n);case`u64`:return e.u64le(BigInt(n));case`i64`:return e.i64le(BigInt(n))}let i=this.structs.get(t);if(!i)throw Error(`brdb: invalid flat type ${t} at ${r}`);let a=n;for(let[n,o]of i){if(o.kind!==`type`)throw Error(`brdb: flat struct ${t} has non-flat field ${n}`);if(!(n in a))throw Error(`brdb: missing struct field ${t}.${n}`);this.writeFlat(e,o.type,a[n],`${r}.${n}`)}}readValue(t,n,r=0){if(r>e.MAX_DECODE_DEPTH)throw Error(`brdb: schema recursion too deep`);switch(n){case`u8`:case`u16`:case`u32`:case`u64`:return ka(t);case`i8`:case`i16`:case`i32`:case`i64`:return Oa(t);case`f32`:return Aa(t);case`f64`:return ja(t);case`str`:case`bundle_path_ref`:return Q(t);case`bool`:return Ma(t);case`class`:case`object`:case`weak_object`:{let e=Oa(t);return e<0?null:e}case`wire_graph_variant`:case`wire_graph_prim_math_variant`:return this.readLegacyWireVariant(t,n)}let i=this.variants.get(n);if(i){let e=ka(t),a=i[e];if(a===void 0)throw Error(`brdb: unknown tag ${e} for variant ${n}`);return{$variant:a,value:this.readValue(t,a,r+1)}}let a=this.enums.get(n);if(a){let e=ka(t);if(e>=a.size)throw RangeError(`brdb: enum ${n} ordinal ${e} out of bounds`);return e}let o=this.structs.get(n);if(o){let e={};for(let[i,a]of o)e[i]=this.readProperty(t,a,`${n}.${i}`,r+1);return e}throw Error(`brdb: unknown type ${n}`)}readLegacyWireVariant(e,t){let n=t===`wire_graph_variant`?Wa:Ga,r=ka(e),i=n[r];switch(i){case`f64`:return{$variant:i,value:ja(e)};case`i64`:return{$variant:i,value:Oa(e)};case`bool`:return{$variant:i,value:Ma(e)};case`weak_object`:{let t=Oa(e);return{$variant:i,value:t<0?null:t}}case`WireGraphExec`:return{$variant:i,value:null};default:throw Error(`brdb: unknown tag ${r} for ${t}`)}}readProperty(e,t,n,r=0){switch(t.kind){case`type`:return this.readValue(e,t.type,r);case`array`:{let n=Pa(e),i=[];for(let a=0;a<n;a++)i.push(this.readValue(e,t.type,r));return i}case`flatarray`:{let r=Na(e),i=this.flatTypeSize(t.type);if(i===0)throw Error(`brdb: invalid flat type ${t.type} at ${n}`);if(r%i!==0)throw Error(`brdb: flat data length ${r} not divisible by ${i} (${n})`);let a=[];for(let o=0;o<r/i;o++)a.push(this.readFlat(e,t.type,n));return a}case`map`:throw Error(`brdb: Map properties are unsupported (${n})`)}}readFlat(e,t,n){switch(t){case`u8`:return e.u8();case`i8`:return e.i8();case`u16`:return e.u16le();case`i16`:return e.i16le();case`u32`:return e.u32le();case`i32`:return e.i32le();case`f32`:return e.f32le();case`f64`:return e.f64le();case`u64`:case`i64`:{let n=t===`u64`?e.u64le():e.i64le();if(n>BigInt(2**53-1)||n<BigInt(-(2**53-1)))throw RangeError(`brdb: flat 64-bit value ${n} exceeds JS safe range`);return Number(n)}}let r=this.structs.get(t);if(!r)throw Error(`brdb: invalid flat type ${t} at ${n}`);let i={};for(let[a,o]of r){if(o.kind!==`type`)throw Error(`brdb: flat struct ${t} has non-flat field ${a}`);i[a]=this.readFlat(e,o.type,`${n}.${a}`)}return i}encode(e,t){let n=new Wi;return this.writeValue(n,e,t),n.toBytes()}decode(e,t){let n=new Gi(e),r=this.readValue(n,t);if(n.remaining!==0)throw Error(`brdb: ${n.remaining} trailing bytes after ${t}`);return r}};Ha=Ya,Ha.MAX_DECODE_DEPTH=64;var Xa=new Map;function Za(e){let t=Xa.get(e);return t||(t=Ya.fromData(Va[e]),Xa.set(e,t)),t}var Qa=2048,$a=1024,eo=(e,t)=>Math.floor(e/t),to=(e,t)=>(e%t+t)%t;function no(e){return{chunk:e.map(e=>eo(e,Qa)),rel:e.map(e=>to(e,Qa)-$a)}}function ro(e){let t=e.brick_assets??[`PB_DefaultBrick`],n=e.materials??[`BMC_Plastic`],r=e.brick_owners?.length??0;return e.bricks.map((i,a)=>{let o=`bricks[${a}]`,s=(Array.isArray(i.components)?i.components:[]).map((e,t)=>{if(!ea.has(e.type))throw Error(`brdb: ${o}.components[${t}]: unknown component type '${e.type}'`);return e}),c=t[i.asset_name_index??0];if(c===void 0)throw Error(`brdb: ${o}: asset_name_index ${i.asset_name_index} out of range`);let l=n[i.material_index??0];if(l===void 0)throw Error(`brdb: ${o}: material_index ${i.material_index} out of range`);let u=i.position.map(e=>{if(!Number.isSafeInteger(e))throw Error(`brdb: ${o}: position must be integers, got ${i.position}`);if(!(e>=-32768*2048&&e<=32768*2048-1))throw Error(`brdb: ${o}: position ${e} outside the i16 chunk range`);return e}),d=$i(c);if(i.size===void 0&&d)throw Error(`brdb: ${o}: procedural asset ${c} requires a size`);let f=(i.size??[0,0,0]).map(e=>{if(!Number.isInteger(e)||e<0||e>65535)throw Error(`brdb: ${o}: size components must be u16, got ${i.size}`);return e}),p;if(typeof i.collision==`boolean`){let e=i.collision;p={player:e,weapon:e,interaction:e,physics:e}}else p={player:i.collision?.player??!0,weapon:i.collision?.weapon??!0,interaction:i.collision?.interaction??!0,physics:i.collision?.physics??!0};let m,h=i.color;if(typeof h==`number`){let t=e.colors?.[h];if(!t)throw Error(`brdb: ${o}: color palette index ${h} out of range`);m=[t[0],t[1],t[2]]}else if(Array.isArray(h)){if(h.length<3)throw Error(`brdb: ${o}: color array must have at least 3 components`);m=[h[0],h[1],h[2]]}else m=[255,255,255];m=m.map((e,t)=>{if(!Number.isInteger(e)||e<0||e>255)throw Error(`brdb: ${o}: resolved color component ${t} must be u8, got ${e}`);return e});let g=i.material_intensity??5;if(!Number.isInteger(g)||g<0||g>255)throw Error(`brdb: ${o}: material_intensity must be u8, got ${g}`);let _=i.owner_index??0;if(!Number.isInteger(_)||_<0||_>r)throw Error(`brdb: ${o}: owner_index ${_} out of range (0..${r})`);return{assetName:c,procedural:d,size:f,position:u,direction:i.direction??4,rotation:i.rotation??0,collision:p,visible:i.visibility??!0,materialName:l,intensity:g,color:m,ownerIndex:_,components:s}})}var io=class{constructor(){this.map=new Map}add(e){let t=this.map.get(e);return t===void 0&&(t=this.map.size,this.map.set(e,t)),t}indexOf(e){let t=this.map.get(e);if(t===void 0)throw Error(`brdb: registry miss for ${e}`);return t}has(e){return this.map.has(e)}get names(){return[...this.map.keys()]}get size(){return this.map.size}},ao=class{constructor(){this.sizeCounters=[],this.sizes=[],this.typeIndices=[],this.ownerIndices=[],this.originalOwnerIndices=[],this.relPositions=[],this.orientations=[],this.colPlayer=new zr,this.colPlayer1=new zr,this.colPlayer2=new zr,this.colPlayer3=new zr,this.colWeapon=new zr,this.colInteraction=new zr,this.colPhysics=new zr,this.visibility=new zr,this.materialIndices=[],this.colors=[],this.sizeIndexMap=new Map,this.numBrickSizes=0,this.numBricks=0}addBrick(e,t,n,r){let i;if(!e.procedural)i=n.basic.indexOf(e.assetName);else{let t=n.procedural.indexOf(e.assetName),a=`${t}:${e.size[0]},${e.size[1]},${e.size[2]}`,o=this.sizeIndexMap.get(a);if(o===void 0){o=this.numBrickSizes+r;let n=this.sizeCounters[this.sizeCounters.length-1];n&&n.AssetIndex===t?n.NumSizes+=1:this.sizeCounters.push({AssetIndex:t,NumSizes:1}),this.sizes.push({X:e.size[0],Y:e.size[1],Z:e.size[2]}),this.sizeIndexMap.set(a,o),this.numBrickSizes+=1}i=o}this.typeIndices.push(i),this.ownerIndices.push(e.ownerIndex),this.originalOwnerIndices.push(e.ownerIndex),this.relPositions.push({X:t[0],Y:t[1],Z:t[2]}),this.orientations.push((e.direction&7)<<2|e.rotation&3),this.colPlayer.push(e.collision.player),this.colPlayer1.push(e.collision.player),this.colPlayer2.push(e.collision.player),this.colPlayer3.push(e.collision.player),this.colWeapon.push(e.collision.weapon),this.colInteraction.push(e.collision.interaction),this.colPhysics.push(e.collision.physics),this.visibility.push(e.visible),this.materialIndices.push(n.materials.indexOf(e.materialName)),this.colors.push({R:e.color[0],G:e.color[1],B:e.color[2],A:e.intensity}),this.numBricks+=1}toValue(e){return{ProceduralBrickStartingIndex:e,BrickSizeCounters:this.sizeCounters,BrickSizes:this.sizes,BrickTypeIndices:this.typeIndices,OwnerIndices:this.ownerIndices,OriginalOwnerIndices:this.originalOwnerIndices,RelativePositions:this.relPositions,Orientations:this.orientations,CollisionFlags_Player:this.colPlayer.toValue(),CollisionFlags_Player1:this.colPlayer1.toValue(),CollisionFlags_Player2:this.colPlayer2.toValue(),CollisionFlags_Player3:this.colPlayer3.toValue(),CollisionFlags_Weapon:this.colWeapon.toValue(),CollisionFlags_Interaction:this.colInteraction.toValue(),CollisionFlags_Physics:this.colPhysics.toValue(),VisibilityFlags:this.visibility.toValue(),MaterialIndices:this.materialIndices,ColorsAndAlphas:this.colors,bColorsAreLinear:!1}}},oo=class{constructor(){this.counters=[],this.brickIndices=[],this.trailing=[],this.numComponents=0}add(e,t,n,r){let i=this.counters[this.counters.length-1];i&&i.TypeIndex===e?i.NumInstances+=1:this.counters.push({TypeIndex:e,NumInstances:1}),this.brickIndices.push(t),n!==`None`&&this.trailing.push({structName:n,data:r}),this.numComponents+=1}toBytes(e){let t=new Wi;e.writeValue(t,`BRSavedComponentChunkSoA`,{ComponentTypeCounters:this.counters,ComponentBrickIndices:this.brickIndices,JointBrickIndices:[],JointEntityReferences:[],JointInitialRelativeOffsets:[],JointInitialRelativeRotations:[],MicrochipBrickIndices:[],MicrochipBrickGridReferences:[]});for(let n of this.trailing)e.writeValue(t,n.structName,e.fillStruct(n.structName,n.data,ta.get(n.structName)));return t.toBytes()}};function so(e,t={}){let n=ro(e),r=new io,i=new io,a=new io;for(let e of n)r.add(e.materialName),(e.procedural?a:i).add(e.assetName);if(r.size>256)throw Error(`brdb: too many distinct materials (${r.size}); MaterialIndices is u8 (max 256)`);let o={materials:r,basic:i,procedural:a},s=i.size,c=new io,l=[];for(let e of n)for(let t of e.components){let e=c.size;c.add(t.type)===e&&l.push(ea.get(t.type))}let u=(e.wires??[]).filter(e=>`component_type`in e.source),d=new io;u.forEach((e,t)=>{for(let[r,i]of[[`source`,e.source],[`target`,e.target]]){if(!Number.isInteger(i.brick_index)||i.brick_index<0||i.brick_index>=n.length)throw Error(`brdb: wires[${t}].${r}: brick_index ${i.brick_index} out of range`);if(!c.has(i.component_type))throw Error(`brdb: wires[${t}].${r}: component type '${i.component_type}' is not used by any brick`);d.add(i.port)}});let f=Ya.fromData(Va.BRSavedComponentChunkSoA);if(c.size>0){let e=[];for(let t of l)t!==`None`&&!e.includes(t)&&e.push(t);f.merge(Za(`BRSavedComponentChunkSoA_max`).extractStructsTransitive(e))}let p=[{guid:oa,name:`PUBLIC`,display:`PUBLIC`}];for(let t of e.brick_owners??[])p.push({guid:sa(t.id??`00000000-0000-0000-0000-000000000000`),name:t.name??`Unknown`,display:t.display_name??t.name??`Unknown`});let m=p.map(()=>0),h=p.map(()=>0),g=[],_=new Map,v=new Map,y=[];for(let e of n){let{chunk:t,rel:n}=no(e.position),r=t.join(`_`),i=_.get(r);i||(i={index:t,builder:new ao},_.set(r,i),g.push(r));let a=i.builder.numBricks;if(i.builder.addBrick(e,n,o,s),y.push({key:r,chunk:t,localIndex:a}),m[e.ownerIndex]+=1,e.components.length>0){h[e.ownerIndex]+=e.components.length;let t=v.get(r);t||v.set(r,t=new oo);for(let n of e.components){let e=c.indexOf(n.type);t.add(e,a,l[e],n.data??{})}}}let b=new Map,x=new Map;for(let e of u){let t=y[e.source.brick_index],n=y[e.target.brick_index],r={BrickIndexInChunk:n.localIndex,ComponentTypeIndex:c.indexOf(e.target.component_type),PortIndex:d.indexOf(e.target.port)},i=b.get(n.key);i||b.set(n.key,i={remoteSources:[],localSources:[],remoteTargets:[],localTargets:[]}),x.set(n.key,(x.get(n.key)??0)+1),t.key===n.key?(i.localSources.push({BrickIndexInChunk:t.localIndex,ComponentTypeIndex:c.indexOf(e.source.component_type),PortIndex:d.indexOf(e.source.port)}),i.localTargets.push(r)):(i.remoteSources.push({GridPersistentIndex:1,ChunkIndex:{X:t.chunk[0],Y:t.chunk[1],Z:t.chunk[2]},BrickIndexInChunk:t.localIndex,ComponentTypeIndex:c.indexOf(e.source.component_type),PortIndex:d.indexOf(e.source.port)}),i.remoteTargets.push(r))}let S=Za(`BRSavedGlobalDataSoA`),C=Za(`BRSavedOwnerTableSoA`),w=Za(`BRSavedBrickChunkIndexSoA`),T=Za(`BRSavedBrickChunkSoA`),E=Za(`BRSavedWireChunkSoA`),D=Za(`BRSavedEntityChunkIndexSoA`),O=Za(`BRSavedEntityChunkSoA`),k=S.encode(`BRSavedGlobalDataSoA`,{EntityTypeNames:[],EntityDataClassNames:[],BasicBrickAssetNames:i.names,ProceduralBrickAssetNames:a.names,MaterialAssetNames:r.names,ComponentTypeNames:c.names,ComponentDataStructNames:l,ComponentWirePortNames:d.names,ExternalAssetReferences:[],GlobalGridEntityTypeIndex:-1}),A=C.encode(`BRSavedOwnerTableSoA`,{UserIds:p.map(e=>({A:e.guid.A,B:e.guid.B,C:e.guid.C,D:e.guid.D})),UserNames:p.map(e=>e.name),DisplayNames:p.map(e=>e.display),EntityCounts:p.map(()=>0),BrickCounts:m,ComponentCounts:h,WireCounts:p.map(()=>0)}),j=w.encode(`BRSavedBrickChunkIndexSoA`,{Chunk3DIndices:g.map(e=>{let[t,n,r]=_.get(e).index;return{X:t,Y:n,Z:r}}),ChunkOffsets:g.map(e=>{let t=_.get(e).index.every(e=>e===0)?0:$a;return{X:t,Y:t,Z:t}}),ChunkSizes:g.map(()=>Qa),NumBricks:g.map(e=>_.get(e).builder.numBricks),NumComponents:g.map(e=>v.get(e)?.numComponents??0),NumWires:g.map(e=>x.get(e)??0)}),M=D.encode(`BRSavedEntityChunkIndexSoA`,{NextPersistentIndex:2,Chunk3DIndices:[],NumEntities:[]}),ee=new TextEncoder,te={type:`World`,iD:`00000000-0000-0000-0000-000000000000`,name:``,version:``,tags:[],authors:e.author?.name?[e.author.name]:[],createdAt:`0001.01.01-00.00.00`,updatedAt:`0001.01.01-00.00.00`,description:e.description??`A Generated World`,dependencies:[],gameVersion:`CL0`,...t.bundle},ne=[[`ChunkIndex.mps`,X(j)]];return g.length>0&&ne.push([`Chunks`,la(g.map(e=>[`${e}.mps`,X(T.encode(`BRSavedBrickChunkSoA`,_.get(e).builder.toValue(s)))]))]),v.size>0&&ne.push([`Components`,la(g.filter(e=>v.has(e)).map(e=>[`${e}.mps`,X(v.get(e).toBytes(f))]))]),b.size>0&&ne.push([`Wires`,la(g.filter(e=>b.has(e)).map(e=>{let t=b.get(e);return[`${e}.mps`,X(E.encode(`BRSavedWireChunkSoA`,{RemoteWireSources:t.remoteSources,LocalWireSources:t.localSources,RemoteWireTargets:t.remoteTargets,LocalWireTargets:t.localTargets,PendingPropagationFlags:{Flags:[]}}))]}))]),[[`Meta`,la([[`Bundle.json`,X(ee.encode(JSON.stringify(te)))],[`World.json`,X(ee.encode(JSON.stringify({environment:t.environment??`Plate`})))]])],[`World`,la([[`0`,la([[`GlobalData.schema`,X(S.toBinary())],[`GlobalData.mps`,X(k)],[`Owners.schema`,X(C.toBinary())],[`Owners.mps`,X(A)],[`Bricks`,la([[`ChunkIndexShared.schema`,X(w.toBinary())],[`ChunksShared.schema`,X(T.toBinary())],[`WiresShared.schema`,X(E.toBinary())],[`ComponentsShared.schema`,X(f.toBinary())],[`Grids`,la([[`1`,la(ne)]])]])],[`Entities`,la([[`ChunkIndex.schema`,X(D.toBinary())],[`ChunkIndex.mps`,X(M)],[`ChunksShared.schema`,X(O.toBinary())]])]])]])]]}function co(e,t={}){let n={compress:t.compress};return Ki(so(e,t),n)}function lo(e){let t=e<=15?15:255;return Math.trunc((e/255)**(1/2.2)*t)}function uo(e){return{...e,R:lo(e.R),G:lo(e.G),B:lo(e.B)}}function fo(e){let t={};for(let[n,r]of Object.entries(e))t[n]=uo(r);return t}function po(e,t,n){let r=0;for(let t of e.BrickSizeCounters)r+=t.NumSizes;if(r<0||r>e.BrickSizes.length)throw Error(`brdb: brick size counters exceed size table`);let i=[];for(let t of e.BrickSizeCounters)for(let e=0;e<t.NumSizes;e++)i.push(t.AssetIndex);let a=e.ProceduralBrickStartingIndex,o=e.bColorsAreLinear??!0,s=[];for(let r=0;r<e.BrickTypeIndices.length;r++){let c=e.BrickTypeIndices[r],l,u;if(c<a)l=c,u=[0,0,0];else{let t=c-a,r=e.BrickSizes[t];if(r===void 0||i[t]===void 0)throw Error(`brdb: invalid procedural size slot ${t}`);l=n+i[t],u=[r.X,r.Y,r.Z]}let d=e.RelativePositions[r],f=e.Orientations[r],p=e.ColorsAndAlphas[r],m=o?uo(p):p;s.push({asset_name_index:l,size:u,position:[t.x*Qa+$a+d.X,t.y*Qa+$a+d.Y,t.z*Qa+$a+d.Z],direction:f>>2&7,rotation:f&3,collision:{player:Rr(e.CollisionFlags_Player,r),weapon:Rr(e.CollisionFlags_Weapon,r),interaction:Rr(e.CollisionFlags_Interaction,r),tool:!0,physics:Rr(e.CollisionFlags_Physics,r)},visibility:Rr(e.VisibilityFlags,r),material_index:e.MaterialIndices[r],material_intensity:m.A,color:[m.R,m.G,m.B],owner_index:e.OwnerIndices[r]})}return s}var mo=class e{constructor(e,t=0){this.fs=e,this.worldId=t,this.schemas=new Map,this.values=new Map}static from(t){return new e(qi.from(t))}path(e){return`World/${this.worldId}/${e}`}schema(e){let t=this.fs.findFileByPath(e);if(!t)throw Error(`brdb: file not found: ${e}`);return this.schemaAt(e,t.createdAt)}schemaAt(e,t){let n=`${e}@${t}`,r=this.schemas.get(n);if(!r){let i=this.fs.findFileByPathAtRevision(e,t);if(!i)throw Error(`brdb: file not found: ${e} at ${t}`);r=Ya.fromBinary(this.fs.readBlob(i.contentId)),this.schemas.set(n,r)}return r}decode(e,t,n){let r=this.fs.findFileByPath(e);if(!r)throw Error(`brdb: file not found: ${e}`);return this.schemaAt(t,r.createdAt).decode(this.fs.readBlob(r.contentId),n)}cached(e,t){return this.values.has(e)||this.values.set(e,t()),this.values.get(e)}bundle(){return this.cached(`Meta/Bundle.json`,()=>JSON.parse(new TextDecoder().decode(this.fs.readFile(`Meta/Bundle.json`))))}environment(){return this.cached(`Meta/World.json`,()=>JSON.parse(new TextDecoder().decode(this.fs.readFile(`Meta/World.json`))))}globalData(){return this.cached(this.path(`GlobalData.mps`),()=>this.decode(this.path(`GlobalData.mps`),this.path(`GlobalData.schema`),`BRSavedGlobalDataSoA`))}owners(){return this.cached(this.path(`Owners.mps`),()=>this.decode(this.path(`Owners.mps`),this.path(`Owners.schema`),`BRSavedOwnerTableSoA`))}brickAssets(){let e=this.globalData();return[...e.BasicBrickAssetNames,...e.ProceduralBrickAssetNames]}materials(){return this.globalData().MaterialAssetNames}brickOwners(){let e=this.owners(),t=[];for(let n=1;n<e.UserNames.length;n++)t.push({id:ca(e.UserIds[n]),name:e.UserNames[n],display_name:e.DisplayNames[n],bricks:e.BrickCounts[n]});return t}gridIds(){return this.fs.childFolders(this.path(`Bricks/Grids`)).map(Number).sort((e,t)=>e-t)}brickChunkIndex(e=1){let t=this.decode(this.path(`Bricks/Grids/${e}/ChunkIndex.mps`),this.path(`Bricks/ChunkIndexShared.schema`),`BRSavedBrickChunkIndexSoA`);return t.Chunk3DIndices.map((e,n)=>{let r=t.ChunkOffsets?.[n];return{index:{x:e.X,y:e.Y,z:e.Z},offset:r?{x:r.X,y:r.Y,z:r.Z}:{x:$a,y:$a,z:$a},size:t.ChunkSizes?.[n]??2048,numBricks:t.NumBricks[n],numComponents:t.NumComponents[n],numWires:t.NumWires[n]}})}brickChunkSoa(e,t){return this.decode(this.path(`Bricks/Grids/${e}/Chunks/${t.x}_${t.y}_${t.z}.mps`),this.path(`Bricks/ChunksShared.schema`),`BRSavedBrickChunkSoA`)}*bricks(e=1){let t=this.globalData().BasicBrickAssetNames.length;for(let n of this.brickChunkIndex(e))yield*po(this.brickChunkSoa(e,n.index),n.index,t)}entityChunkIndex(){let e=this.decode(this.path(`Entities/ChunkIndex.mps`),this.path(`Entities/ChunkIndex.schema`),`BRSavedEntityChunkIndexSoA`);return{nextPersistentIndex:e.NextPersistentIndex,chunks:e.Chunk3DIndices.map((t,n)=>({index:{x:t.X,y:t.Y,z:t.Z},numEntities:e.NumEntities[n]}))}}componentChunk(e,t){let n=this.path(`Bricks/Grids/${e}/Components/${t.x}_${t.y}_${t.z}.mps`),r=this.fs.findFileByPath(n);if(!r)throw Error(`brdb: file not found: ${n}`);let i=this.fs.readBlob(r.contentId),a=this.schemaAt(this.path(`Bricks/ComponentsShared.schema`),r.createdAt),o=this.globalData(),s=new Gi(i),c=a.readValue(s,`BRSavedComponentChunkSoA`),l=0;for(let e of c.ComponentTypeCounters)l+=e.NumInstances;if(l!==c.ComponentBrickIndices.length)throw Error(`brdb: component counters do not match brick index count`);let u=[],d=0;for(let e of c.ComponentTypeCounters){let t=o.ComponentTypeNames[e.TypeIndex]??`<invalid>`,n=o.ComponentDataStructNames[e.TypeIndex],r=n&&n!==`None`?n:null;for(let n=0;n<e.NumInstances;n++)u.push({typeName:t,structName:r,brickIndex:c.ComponentBrickIndices[d],data:r?a.readValue(s,r):null}),d+=1}if(s.remaining!==0)throw Error(`brdb: ${s.remaining} trailing bytes after component chunk`);return{soa:c,components:u}}wireChunk(e,t){let n=this.decode(this.path(`Bricks/Grids/${e}/Wires/${t.x}_${t.y}_${t.z}.mps`),this.path(`Bricks/WiresShared.schema`),`BRSavedWireChunkSoA`),r=this.globalData(),i=e=>({brickIndex:e.BrickIndexInChunk,componentType:r.ComponentTypeNames[e.ComponentTypeIndex]??`<invalid>`,port:r.ComponentWirePortNames[e.PortIndex]??`<invalid>`});return{local:n.LocalWireSources.map((e,t)=>({source:i(e),target:i(n.LocalWireTargets[t])})),remote:n.RemoteWireSources.map((e,t)=>({source:{...i(e),gridId:e.GridPersistentIndex,chunk:{x:e.ChunkIndex.X,y:e.ChunkIndex.Y,z:e.ChunkIndex.Z}},target:i(n.RemoteWireTargets[t])}))}}entityChunk(e){let t=this.path(`Entities/Chunks/${e.x}_${e.y}_${e.z}.mps`),n=this.fs.findFileByPath(t);if(!n)throw Error(`brdb: file not found: ${t}`);let r=this.fs.readBlob(n.contentId),i=this.schemaAt(this.path(`Entities/ChunksShared.schema`),n.createdAt),a=this.globalData(),o=new Gi(r),s=i.readValue(o,`BRSavedEntityChunkSoA`),c=0;for(let e of s.TypeCounters)c+=e.NumEntities;if(c!==s.PersistentIndices.length)throw Error(`brdb: entity counters do not match persistent index count`);let l=a.EntityDataClassNames??a.EntityTypeNames.map(e=>ra.get(e)??`Unknown`),u=s.bColorsAreLinear??!0,d=[],f=0;for(let e of s.TypeCounters){let t=a.EntityTypeNames[e.TypeIndex]??`<invalid>`,n=l[e.TypeIndex],r=n&&n!==`None`?n:null;for(let n=0;n<e.NumEntities;n++){let e=s.ColorsAndAlphas[f];d.push({typeName:t,className:r,persistentIndex:s.PersistentIndices[f],ownerIndex:s.OwnerIndices[f],originalOwnerIndex:s.OriginalOwnerIndices?.[f]??s.OwnerIndices[f],location:s.Locations[f],rotation:s.Rotations[f],frozen:Rr(s.PhysicsLockedFlags,f),sleeping:Rr(s.PhysicsSleepingFlags,f),linearVelocity:s.LinearVelocities[f],angularVelocity:s.AngularVelocities[f],colors:u?fo(e):e,remainingLifeSpan:s.RemainingLifeSpans?.[f]??0,data:r?i.readValue(o,r):null}),f+=1}}if(o.remaining!==0)throw Error(`brdb: ${o.remaining} trailing bytes after entity chunk`);return d}*entities(){for(let e of this.entityChunkIndex().chunks)yield*this.entityChunk(e.index)}},ho,$=`
2
- `,go=`
3
- `,_o=`CREATE TABLE blobs (${$}blob_id INTEGER PRIMARY KEY,${$}compression INTEGER,${$}size_uncompressed INTEGER,${$}size_compressed INTEGER,${$}delta_base_id INTEGER REFERENCES blobs(blob_id),${$}hash BLOB,${$}content BLOB${go});\nCREATE TABLE revisions (${$}revision_id INTEGER PRIMARY KEY,${$}description TEXT,${$}created_at INTEGER${go});\nCREATE TABLE folders (${$}folder_id INTEGER PRIMARY KEY,${$}parent_id INTEGER REFERENCES folders(folder_id),${$}name TEXT,${$}created_at INTEGER,${$}deleted_at INTEGER${go});\nCREATE TABLE files (${$}file_id INTEGER PRIMARY KEY,${$}parent_id INTEGER REFERENCES folders(folder_id),${$}name TEXT,${$}content_id INTEGER REFERENCES blobs(blob_id),${$}created_at INTEGER,${$}deleted_at INTEGER${go});\nCREATE INDEX blobs_size_hash ON blobs(size_uncompressed, hash);
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.BRS={}))})(this,function(e){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},r=n({DEFAULT_UUID:()=>o,LATEST_VERSION:()=>14,MAGIC:()=>i,MAX_INT:()=>a}),i=new Uint8Array([66,82,83]),a=2147483647,o=`00000000-0000-0000-0000-000000000000`;function s(e){"@babel/helpers - typeof";return s=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},s(e)}function c(e,t){if(s(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(s(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e){var t=c(e,`string`);return s(t)==`symbol`?t:t+``}function u(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var d=4,f=0,p=1,m=2;function h(e){let t=e.length;for(;--t>=0;)e[t]=0}var g=0,_=1,v=2,y=29,b=256,x=286,S=30,C=19,w=573,T=15,E=16,D=7,O=256,k=16,A=17,j=18,M=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),ee=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),te=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),ne=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),re=512,ie=Array(288*2);h(ie);var ae=Array(S*2);h(ae);var oe=Array(re);h(oe);var se=Array(256);h(se);var ce=Array(y);h(ce);var le=Array(S);h(le);var ue=class{constructor(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}},de,fe,pe,me=class{constructor(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}},he=e=>e<256?oe[e]:oe[256+(e>>>7)],ge=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},N=(e,t,n)=>{e.bi_valid>E-n?(e.bi_buf|=t<<e.bi_valid&65535,ge(e,e.bi_buf),e.bi_buf=t>>E-e.bi_valid,e.bi_valid+=n-E):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},_e=(e,t,n)=>{N(e,n[t*2],n[t*2+1])},ve=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},ye=e=>{e.bi_valid===16?(ge(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},be=(e,t)=>{let n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=T;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<w;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}},xe=(e,t,n)=>{let r=Array(16),i=0,a,o;for(a=1;a<=T;a++)i=i+n[a-1]<<1,r[a]=i;for(o=0;o<=t;o++){let t=e[o*2+1];t!==0&&(e[o*2]=ve(r[t]++,t))}},Se=()=>{let e,t,n,r,i,a=Array(16);for(n=0,r=0;r<y-1;r++)for(ce[r]=n,e=0;e<1<<M[r];e++)se[n++]=r;for(se[n-1]=r,i=0,r=0;r<16;r++)for(le[r]=i,e=0;e<1<<ee[r];e++)oe[i++]=r;for(i>>=7;r<S;r++)for(le[r]=i<<7,e=0;e<1<<ee[r]-7;e++)oe[256+i++]=r;for(t=0;t<=T;t++)a[t]=0;for(e=0;e<=143;)ie[e*2+1]=8,e++,a[8]++;for(;e<=255;)ie[e*2+1]=9,e++,a[9]++;for(;e<=279;)ie[e*2+1]=7,e++,a[7]++;for(;e<=287;)ie[e*2+1]=8,e++,a[8]++;for(xe(ie,287,a),e=0;e<S;e++)ae[e*2+1]=5,ae[e*2]=ve(e,5);de=new ue(ie,M,257,x,T),fe=new ue(ae,ee,0,S,T),pe=new ue([],te,0,C,D)},Ce=e=>{let t;for(t=0;t<x;t++)e.dyn_ltree[t*2]=0;for(t=0;t<S;t++)e.dyn_dtree[t*2]=0;for(t=0;t<C;t++)e.bl_tree[t*2]=0;e.dyn_ltree[O*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},we=e=>{e.bi_valid>8?ge(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Te=(e,t,n,r)=>{let i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]},Ee=(e,t,n)=>{let r=e.heap[n],i=n<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Te(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Te(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r},De=(e,t,n)=>{let r,i,a=0,o,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+a++]&255,r+=(e.pending_buf[e.sym_buf+a++]&255)<<8,i=e.pending_buf[e.sym_buf+a++],r===0?_e(e,i,t):(o=se[i],_e(e,o+b+1,t),s=M[o],s!==0&&(i-=ce[o],N(e,i,s)),r--,o=he(r),_e(e,o,n),s=ee[o],s!==0&&(r-=le[o],N(e,r,s)));while(a<e.sym_next);_e(e,O,t)},Oe=(e,t)=>{let n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=w,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(t.max_code=c,o=e.heap_len>>1;o>=1;o--)Ee(e,n,o);l=a;do o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],Ee(e,n,1),s=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=s,n[l*2]=n[o*2]+n[s*2],e.depth[l]=(e.depth[o]>=e.depth[s]?e.depth[o]:e.depth[s])+1,n[o*2+1]=n[s*2+1]=l,e.heap[1]=l++,Ee(e,n,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],be(e,t),xe(n,c,e.bl_count)},ke=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),t[(n+1)*2+1]=65535,r=0;r<=n;r++)a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)&&(s<l?e.bl_tree[a*2]+=s:a===0?s<=10?e.bl_tree[A*2]++:e.bl_tree[j*2]++:(a!==i&&e.bl_tree[a*2]++,e.bl_tree[k*2]++),s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4))},Ae=(e,t,n)=>{let r,i=-1,a,o=t[1],s=0,c=7,l=4;for(o===0&&(c=138,l=3),r=0;r<=n;r++)if(a=o,o=t[(r+1)*2+1],!(++s<c&&a===o)){if(s<l)do _e(e,a,e.bl_tree);while(--s!==0);else a===0?s<=10?(_e(e,A,e.bl_tree),N(e,s-3,3)):(_e(e,j,e.bl_tree),N(e,s-11,7)):(a!==i&&(_e(e,a,e.bl_tree),s--),_e(e,k,e.bl_tree),N(e,s-3,2));s=0,i=a,o===0?(c=138,l=3):a===o?(c=6,l=3):(c=7,l=4)}},je=e=>{let t;for(ke(e,e.dyn_ltree,e.l_desc.max_code),ke(e,e.dyn_dtree,e.d_desc.max_code),Oe(e,e.bl_desc),t=C-1;t>=3&&e.bl_tree[ne[t]*2+1]===0;t--);return e.opt_len+=3*(t+1)+5+5+4,t},Me=(e,t,n,r)=>{let i;for(N(e,t-257,5),N(e,n-1,5),N(e,r-4,4),i=0;i<r;i++)N(e,e.bl_tree[ne[i]*2+1],3);Ae(e,e.dyn_ltree,t-1),Ae(e,e.dyn_dtree,n-1)},Ne=e=>{let t=4093624447,n;for(n=0;n<=31;n++,t>>>=1)if(t&1&&e.dyn_ltree[n*2]!==0)return f;if(e.dyn_ltree[18]!==0||e.dyn_ltree[20]!==0||e.dyn_ltree[26]!==0)return p;for(n=32;n<b;n++)if(e.dyn_ltree[n*2]!==0)return p;return f},Pe=!1,Fe=e=>{Pe||(Se(),Pe=!0),e.l_desc=new me(e.dyn_ltree,de),e.d_desc=new me(e.dyn_dtree,fe),e.bl_desc=new me(e.bl_tree,pe),e.bi_buf=0,e.bi_valid=0,Ce(e)},Ie=(e,t,n,r)=>{N(e,(g<<1)+ +!!r,3),we(e),ge(e,n),ge(e,~n),n&&e.pending_buf.set(e.window.subarray(t,t+n),e.pending),e.pending+=n},Le=e=>{N(e,_<<1,3),_e(e,O,ie),ye(e)},Re=(e,t,n,r)=>{let i,a,o=0;e.level>0?(e.strm.data_type===m&&(e.strm.data_type=Ne(e)),Oe(e,e.l_desc),Oe(e,e.d_desc),o=je(e),i=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=i&&(i=a)):i=a=n+5,n+4<=i&&t!==-1?Ie(e,t,n,r):e.strategy===d||a===i?(N(e,(_<<1)+ +!!r,3),De(e,ie,ae)):(N(e,(v<<1)+ +!!r,3),Me(e,e.l_desc.max_code+1,e.d_desc.max_code+1,o+1),De(e,e.dyn_ltree,e.dyn_dtree)),Ce(e),r&&we(e)},ze=(e,t,n)=>(e.pending_buf[e.sym_buf+e.sym_next++]=t,e.pending_buf[e.sym_buf+e.sym_next++]=t>>8,e.pending_buf[e.sym_buf+e.sym_next++]=n,t===0?e.dyn_ltree[n*2]++:(e.matches++,t--,e.dyn_ltree[(se[n]+b+1)*2]++,e.dyn_dtree[he(t)*2]++),e.sym_next===e.sym_end),Be=(e,t,n,r)=>{let i=e&65535|0,a=e>>>16&65535|0,o=0;for(;n!==0;){o=n>2e3?2e3:n,n-=o;do i=i+t[r++]|0,a=a+i|0;while(--o);i%=65521,a%=65521}return i|a<<16|0},Ve=new Uint32Array((()=>{let e,t=[];for(var n=0;n<256;n++){e=n;for(var r=0;r<8;r++)e=e&1?3988292384^e>>>1:e>>>1;t[n]=e}return t})()),P=(e,t,n,r)=>{let i=Ve,a=r+n;e^=-1;for(let n=r;n<a;n++)e=e>>>8^i[(e^t[n])&255];return e^-1},He={2:`need dictionary`,1:`stream end`,0:``,"-1":`file error`,"-2":`stream error`,"-3":`data error`,"-4":`insufficient memory`,"-5":`buffer error`,"-6":`incompatible version`},Ue=9,We=573,F=3,Ge=258,Ke=262,qe=32,Je=42,Ye=57,Xe=69,Ze=73,Qe=91,$e=103,et=113,tt=666,I=1,nt=2,rt=3,it=4,at=3,ot=(e,t)=>(e.msg=He[t],t),st=e=>e*2-(e>4?9:0),ct=e=>{let t=e.length;for(;--t>=0;)e[t]=0},lt=e=>{let t,n,r,i=e.w_size;t=e.hash_size,r=t;do n=e.head[--r],e.head[r]=n>=i?n-i:0;while(--t);t=i,r=t;do n=e.prev[--r],e.prev[r]=n>=i?n-i:0;while(--t)},ut=(e,t,n)=>(t<<e.hash_shift^n)&e.hash_mask,dt=(e,t)=>{let n;if(e.legacy_hash)n=e.ins_h=ut(e,e.ins_h,e.window[t+F-1]);else{let r=e.window,i=r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24;n=e.ins_h=Math.imul(i,66521)+66521>>>16&e.hash_mask}let r=e.prev[t&e.w_mask]=e.head[n];return e.head[n]=t,r},L=e=>{let t=e.state,n=t.pending;n>e.avail_out&&(n=e.avail_out),n!==0&&(e.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+n),e.next_out),e.next_out+=n,t.pending_out+=n,e.total_out+=n,e.avail_out-=n,t.pending-=n,t.pending===0&&(t.pending_out=0))},R=(e,t)=>{Re(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,L(e.strm)},z=(e,t)=>{e.pending_buf[e.pending++]=t},ft=(e,t)=>{e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=t&255},pt=(e,t,n,r)=>{let i=e.avail_in;return i>r&&(i=r),i===0?0:(e.avail_in-=i,t.set(e.input.subarray(e.next_in,e.next_in+i),n),e.state.wrap===1?e.adler=Be(e.adler,t,i,n):e.state.wrap===2&&(e.adler=P(e.adler,t,i,n)),e.next_in+=i,e.total_in+=i,i)},mt=(e,t)=>{let n=e.max_chain_length,r=e.strstart,i,a,o=e.prev_length,s=e.nice_match,c=e.strstart>e.w_size-Ke?e.strstart-(e.w_size-Ke):0,l=e.window,u=e.w_mask,d=e.prev,f=e.strstart+Ge,p=l[r+o-1],m=l[r+o];e.prev_length>=e.good_match&&(n>>=2),s>e.lookahead&&(s=e.lookahead);do{if(i=t,l[i+o]!==m||l[i+o-1]!==p||l[i]!==l[r]||l[++i]!==l[r+1])continue;r+=2,i++;do;while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(a=Ge-(f-r),r=f-Ge,a>o){if(e.match_start=t,o=a,a>=s)break;p=l[r+o-1],m=l[r+o]}}while((t=d[t&u])>c&&--n!==0);return o<=e.lookahead?o:e.lookahead},ht=e=>{let t=e.w_size,n,r,i;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=t+(t-Ke)&&(e.window.set(e.window.subarray(t,t+t-r),0),e.match_start-=t,e.strstart-=t,e.block_start-=t,e.insert>e.strstart&&(e.insert=e.strstart),lt(e),r+=t),e.strm.avail_in===0)break;if(n=pt(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=n,!e.legacy_hash){if(e.lookahead+e.insert>F)for(i=e.strstart-e.insert;e.insert&&(dt(e,i),i++,e.insert--,!(e.lookahead+e.insert<=F)););}else if(e.lookahead+e.insert>=F)for(i=e.strstart-e.insert,e.ins_h=e.window[i],e.ins_h=ut(e,e.ins_h,e.window[i+1]);e.insert&&(dt(e,i),i++,e.insert--,!(e.lookahead+e.insert<F)););}while(e.lookahead<Ke&&e.strm.avail_in!==0)},gt=(e,t)=>{let n=e.pending_buf_size-5>e.w_size?e.w_size:e.pending_buf_size-5,r,i,a,o=0,s=e.strm.avail_in;do{if(r=65535,a=e.bi_valid+42>>3,e.strm.avail_out<a||(a=e.strm.avail_out-a,i=e.strstart-e.block_start,r>i+e.strm.avail_in&&(r=i+e.strm.avail_in),r>a&&(r=a),r<n&&(r===0&&t!==4||t===0||r!==i+e.strm.avail_in)))break;o=+(t===4&&r===i+e.strm.avail_in),Ie(e,0,0,o),e.pending_buf[e.pending-4]=r,e.pending_buf[e.pending-3]=r>>8,e.pending_buf[e.pending-2]=~r,e.pending_buf[e.pending-1]=~r>>8,L(e.strm),i&&(i>r&&(i=r),e.strm.output.set(e.window.subarray(e.block_start,e.block_start+i),e.strm.next_out),e.strm.next_out+=i,e.strm.avail_out-=i,e.strm.total_out+=i,e.block_start+=i,r-=i),r&&(pt(e.strm,e.strm.output,e.strm.next_out,r),e.strm.next_out+=r,e.strm.avail_out-=r,e.strm.total_out+=r)}while(o===0);return s-=e.strm.avail_in,s&&(s>=e.w_size?(e.matches=2,e.window.set(e.strm.input.subarray(e.strm.next_in-e.w_size,e.strm.next_in),0),e.strstart=e.w_size,e.insert=e.strstart):(e.window_size-e.strstart<=s&&(e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,e.insert>e.strstart&&(e.insert=e.strstart)),e.window.set(e.strm.input.subarray(e.strm.next_in-s,e.strm.next_in),e.strstart),e.strstart+=s,e.insert+=s>e.w_size-e.insert?e.w_size-e.insert:s),e.block_start=e.strstart),e.high_water<e.strstart&&(e.high_water=e.strstart),o?it:t!==0&&t!==4&&e.strm.avail_in===0&&e.strstart===e.block_start?nt:(a=e.window_size-e.strstart,e.strm.avail_in>a&&e.block_start>=e.w_size&&(e.block_start-=e.w_size,e.strstart-=e.w_size,e.window.set(e.window.subarray(e.w_size,e.w_size+e.strstart),0),e.matches<2&&e.matches++,a+=e.w_size,e.insert>e.strstart&&(e.insert=e.strstart)),a>e.strm.avail_in&&(a=e.strm.avail_in),a&&(pt(e.strm,e.window,e.strstart,a),e.strstart+=a,e.insert+=a>e.w_size-e.insert?e.w_size-e.insert:a),e.high_water<e.strstart&&(e.high_water=e.strstart),a=e.bi_valid+42>>3,a=e.pending_buf_size-a>65535?65535:e.pending_buf_size-a,n=a>e.w_size?e.w_size:a,i=e.strstart-e.block_start,(i>=n||(i||t===4)&&t!==0&&e.strm.avail_in===0&&i<=a)&&(r=i>a?a:i,o=+(t===4&&e.strm.avail_in===0&&r===i),Ie(e,e.block_start,r,o),e.block_start+=r,L(e.strm)),o?rt:I)},_t=(e,t)=>{let n,r;for(;;){if(e.lookahead<Ke){if(ht(e),e.lookahead<Ke&&t===0)return I;if(e.lookahead===0)break}if(n=0,e.lookahead>=F&&(n=dt(e,e.strstart)),n!==0&&e.strstart-n<=e.w_size-Ke&&(e.match_length=mt(e,n)),e.match_length>=F)if(r=ze(e,e.strstart-e.match_start,e.match_length-F),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=F){e.match_length--;do e.strstart++,n=dt(e,e.strstart);while(--e.match_length!==0);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.legacy_hash&&(e.ins_h=e.window[e.strstart],e.ins_h=ut(e,e.ins_h,e.window[e.strstart+1]));else r=ze(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(r&&(R(e,!1),e.strm.avail_out===0))return I}return e.insert=e.strstart<F-1?e.strstart:F-1,t===4?(R(e,!0),e.strm.avail_out===0?rt:it):e.sym_next&&(R(e,!1),e.strm.avail_out===0)?I:nt},vt=(e,t)=>{let n,r,i;for(;;){if(e.lookahead<Ke){if(ht(e),e.lookahead<Ke&&t===0)return I;if(e.lookahead===0)break}if(n=0,e.lookahead>=F&&(n=dt(e,e.strstart)),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=F-1,n!==0&&e.prev_length<e.max_lazy_match&&e.strstart-n<=e.w_size-Ke&&(e.match_length=mt(e,n),e.match_length<=5&&(e.strategy===1||e.match_length===F&&e.strstart-e.match_start>4096)&&(e.match_length=F-1)),e.prev_length>=F&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-F,r=ze(e,e.strstart-1-e.prev_match,e.prev_length-F),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=i&&(n=dt(e,e.strstart));while(--e.prev_length!==0);if(e.match_available=0,e.match_length=F-1,e.strstart++,r&&(R(e,!1),e.strm.avail_out===0))return I}else if(e.match_available){if(r=ze(e,0,e.window[e.strstart-1]),r&&R(e,!1),e.strstart++,e.lookahead--,e.strm.avail_out===0)return I}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(r=ze(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<F-1?e.strstart:F-1,t===4?(R(e,!0),e.strm.avail_out===0?rt:it):e.sym_next&&(R(e,!1),e.strm.avail_out===0)?I:nt},yt=(e,t)=>{let n,r,i,a,o=e.window;for(;;){if(e.lookahead<=Ge){if(ht(e),e.lookahead<=Ge&&t===0)return I;if(e.lookahead===0)break}if(e.match_length=0,e.lookahead>=F&&e.strstart>0&&(i=e.strstart-1,r=o[i],r===o[++i]&&r===o[++i]&&r===o[++i])){a=e.strstart+Ge;do;while(r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&r===o[++i]&&i<a);e.match_length=Ge-(a-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=F?(n=ze(e,1,e.match_length-F),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(n=ze(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),n&&(R(e,!1),e.strm.avail_out===0))return I}return e.insert=0,t===4?(R(e,!0),e.strm.avail_out===0?rt:it):e.sym_next&&(R(e,!1),e.strm.avail_out===0)?I:nt},bt=(e,t)=>{let n;for(;;){if(e.lookahead===0&&(ht(e),e.lookahead===0)){if(t===0)return I;break}if(e.match_length=0,n=ze(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,n&&(R(e,!1),e.strm.avail_out===0))return I}return e.insert=0,t===4?(R(e,!0),e.strm.avail_out===0?rt:it):e.sym_next&&(R(e,!1),e.strm.avail_out===0)?I:nt},xt=class{constructor(e,t,n,r,i){this.good_length=e,this.max_lazy=t,this.nice_length=n,this.max_chain=r,this.func=i}},St=[new xt(0,0,0,0,gt),new xt(4,4,8,4,_t),new xt(4,5,16,8,_t),new xt(4,6,32,32,_t),new xt(4,4,16,16,vt),new xt(8,16,32,32,vt),new xt(8,16,128,128,vt),new xt(8,32,128,256,vt),new xt(32,128,258,1024,vt),new xt(32,258,258,4096,vt)],Ct=e=>{e.window_size=2*e.w_size,ct(e.head),e.max_lazy_match=St[e.level].max_lazy,e.good_match=St[e.level].good_length,e.nice_match=St[e.level].nice_length,e.max_chain_length=St[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=F-1,e.match_available=0,e.ins_h=0},wt=class{constructor(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.legacy_hash=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(We*2),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ct(this.dyn_ltree),ct(this.dyn_dtree),ct(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ct(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ct(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}},Tt=e=>{if(!e)return 1;let t=e.state;return+(!t||t.strm!==e||t.status!==Je&&t.status!==Ye&&t.status!==Xe&&t.status!==Ze&&t.status!==Qe&&t.status!==$e&&t.status!==et&&t.status!==tt)},Et=e=>{if(Tt(e))return ot(e,-2);e.total_in=e.total_out=0,e.data_type=2;let t=e.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap===2?Ye:t.wrap?Je:et,e.adler=t.wrap===2?0:1,t.last_flush=-2,Fe(t),0},Dt=e=>{let t=Et(e);return t===0&&Ct(e.state),t},Ot=(e,t,n,r,i,a,o)=>{if(!e)return-2;let s=1;if(t===-1&&(t=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),i<1||i>Ue||n!==8||r<8||r>15||t<0||t>9||a<0||a>4||r===8&&s!==1)return ot(e,-2);r===8&&(r=9);let c=new wt;return e.state=c,c.strm=e,c.status=Je,c.wrap=s,c.gzhead=null,c.w_bits=r,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.legacy_hash=+!!o,c.hash_bits=i+7,!c.legacy_hash&&c.hash_bits<15&&(c.hash_bits=15),c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+F-1)/F),c.window=new Uint8Array(c.w_size*2),c.head=new Uint16Array(c.hash_size),c.prev=new Uint16Array(c.w_size),c.lit_bufsize=1<<i+6,c.pending_buf_size=c.lit_bufsize*4,c.pending_buf=new Uint8Array(c.pending_buf_size),c.sym_buf=c.lit_bufsize,c.sym_end=(c.lit_bufsize-1)*3,c.level=t,c.strategy=a,c.method=n,Dt(e)},kt=(e,t)=>{if(Tt(e)||t>5||t<0)return e?ot(e,-2):-2;let n=e.state;if(!e.output||e.avail_in!==0&&!e.input||n.status===tt&&t!==4)return ot(e,e.avail_out===0?-5:-2);let r=n.last_flush;if(n.last_flush=t,n.pending!==0){if(L(e),e.avail_out===0)return n.last_flush=-1,0}else if(e.avail_in===0&&st(t)<=st(r)&&t!==4)return ot(e,-5);if(n.status===tt&&e.avail_in!==0)return ot(e,-5);if(n.status===Je&&n.wrap===0&&(n.status=et),n.status===Je){let t=8+(n.w_bits-8<<4)<<8,r=-1;if(r=n.strategy>=2||n.level<2?0:n.level<6?1:n.level===6?2:3,t|=r<<6,n.strstart!==0&&(t|=qe),t+=31-t%31,ft(n,t),n.strstart!==0&&(ft(n,e.adler>>>16),ft(n,e.adler&65535)),e.adler=1,n.status=et,L(e),n.pending!==0)return n.last_flush=-1,0}if(n.status===Ye){if(e.adler=0,z(n,31),z(n,139),z(n,8),n.gzhead)z(n,+!!n.gzhead.text+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),z(n,n.gzhead.time&255),z(n,n.gzhead.time>>8&255),z(n,n.gzhead.time>>16&255),z(n,n.gzhead.time>>24&255),z(n,n.level===9?2:n.strategy>=2||n.level<2?4:0),z(n,n.gzhead.os&255),n.gzhead.extra&&n.gzhead.extra.length&&(z(n,n.gzhead.extra.length&255),z(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=P(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=Xe;else if(z(n,0),z(n,0),z(n,0),z(n,0),z(n,0),z(n,n.level===9?2:n.strategy>=2||n.level<2?4:0),z(n,at),n.status=et,L(e),n.pending!==0)return n.last_flush=-1,0}if(n.status===Xe){if(n.gzhead.extra){let t=n.pending,r=(n.gzhead.extra.length&65535)-n.gzindex;for(;n.pending+r>n.pending_buf_size;){let i=n.pending_buf_size-n.pending;if(n.pending_buf.set(n.gzhead.extra.subarray(n.gzindex,n.gzindex+i),n.pending),n.pending=n.pending_buf_size,n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex+=i,L(e),n.pending!==0)return n.last_flush=-1,0;t=0,r-=i}let i=new Uint8Array(n.gzhead.extra);n.pending_buf.set(i.subarray(n.gzindex,n.gzindex+r),n.pending),n.pending+=r,n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=Ze}if(n.status===Ze){if(n.gzhead.name){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),L(e),n.pending!==0)return n.last_flush=-1,0;t=0}r=n.gzindex<n.gzhead.name.length?n.gzhead.name.charCodeAt(n.gzindex++)&255:0,z(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),n.gzindex=0}n.status=Qe}if(n.status===Qe){if(n.gzhead.comment){let t=n.pending,r;do{if(n.pending===n.pending_buf_size){if(n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t)),L(e),n.pending!==0)return n.last_flush=-1,0;t=0}r=n.gzindex<n.gzhead.comment.length?n.gzhead.comment.charCodeAt(n.gzindex++)&255:0,z(n,r)}while(r!==0);n.gzhead.hcrc&&n.pending>t&&(e.adler=P(e.adler,n.pending_buf,n.pending-t,t))}n.status=$e}if(n.status===$e){if(n.gzhead.hcrc){if(n.pending+2>n.pending_buf_size&&(L(e),n.pending!==0))return n.last_flush=-1,0;z(n,e.adler&255),z(n,e.adler>>8&255),e.adler=0}if(n.status=et,L(e),n.pending!==0)return n.last_flush=-1,0}if(e.avail_in!==0||n.lookahead!==0||t!==0&&n.status!==tt){let r=n.level===0?gt(n,t):n.strategy===2?bt(n,t):n.strategy===3?yt(n,t):St[n.level].func(n,t);if((r===rt||r===it)&&(n.status=tt),r===I||r===rt)return e.avail_out===0&&(n.last_flush=-1),0;if(r===nt&&(t===1?Le(n):t!==5&&(Ie(n,0,0,!1),t===3&&(ct(n.head),n.lookahead===0&&(n.strstart=0,n.block_start=0,n.insert=0))),L(e),e.avail_out===0))return n.last_flush=-1,0}return t===4?n.wrap<=0?1:(n.wrap===2?(z(n,e.adler&255),z(n,e.adler>>8&255),z(n,e.adler>>16&255),z(n,e.adler>>24&255),z(n,e.total_in&255),z(n,e.total_in>>8&255),z(n,e.total_in>>16&255),z(n,e.total_in>>24&255)):(ft(n,e.adler>>>16),ft(n,e.adler&65535)),L(e),n.wrap>0&&(n.wrap=-n.wrap),+(n.pending===0)):0},At=e=>{if(Tt(e))return-2;let t=e.state.status;return e.state=null,t===et?ot(e,-3):0},jt=(e,t)=>{let n=t.length;if(Tt(e))return-2;let r=e.state,i=r.wrap;if(i===2||i===1&&r.status!==Je||r.lookahead)return-2;if(i===1&&(e.adler=Be(e.adler,t,n,0)),r.wrap=0,n>=r.w_size){i===0&&(ct(r.head),r.strstart=0,r.block_start=0,r.insert=0);let e=new Uint8Array(r.w_size);e.set(t.subarray(n-r.w_size,n),0),t=e,n=r.w_size}let a=e.avail_in,o=e.next_in,s=e.input;for(e.avail_in=n,e.next_in=0,e.input=t,ht(r);r.lookahead>=F;){let e=r.strstart,t=r.lookahead-(F-1);do dt(r,e),e++;while(--t);r.strstart=e,r.lookahead=F-1,ht(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=F-1,r.match_available=0,e.next_in=o,e.input=s,e.avail_in=a,r.wrap=i,0},Mt=16209,Nt=16191;function Pt(e,t){let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E=e.state;n=e.next_in,w=e.input,r=n+(e.avail_in-5),i=e.next_out,T=e.output,a=i-(t-e.avail_out),o=i+(e.avail_out-257),s=E.dmax,c=E.wsize,l=E.whave,u=E.wnext,d=E.window,f=E.hold,p=E.bits,m=E.lencode,h=E.distcode,g=(1<<E.lenbits)-1,_=(1<<E.distbits)-1;top:do{p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=m[f&g];dolen:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y===0)T[i++]=v&65535;else if(y&16){b=v&65535,y&=15,y&&(p<y&&(f+=w[n++]<<p,p+=8),b+=f&(1<<y)-1,f>>>=y,p-=y),p<15&&(f+=w[n++]<<p,p+=8,f+=w[n++]<<p,p+=8),v=h[f&_];dodist:for(;;){if(y=v>>>24,f>>>=y,p-=y,y=v>>>16&255,y&16){if(x=v&65535,y&=15,p<y&&(f+=w[n++]<<p,p+=8,p<y&&(f+=w[n++]<<p,p+=8)),x+=f&(1<<y)-1,x>s){e.msg=`invalid distance too far back`,E.mode=Mt;break top}if(f>>>=y,p-=y,y=i-a,x>y){if(y=x-y,y>l&&E.sane){e.msg=`invalid distance too far back`,E.mode=Mt;break top}if(S=0,C=d,u===0){if(S+=c-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}else if(u<y){if(S+=c+u-y,y-=u,y<b){b-=y;do T[i++]=d[S++];while(--y);if(S=0,u<b){y=u,b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}}}else if(S+=u-y,y<b){b-=y;do T[i++]=d[S++];while(--y);S=i-x,C=T}for(;b>2;)T[i++]=C[S++],T[i++]=C[S++],T[i++]=C[S++],b-=3;b&&(T[i++]=C[S++],b>1&&(T[i++]=C[S++]))}else{S=i-x;do T[i++]=T[S++],T[i++]=T[S++],T[i++]=T[S++],b-=3;while(b>2);b&&(T[i++]=T[S++],b>1&&(T[i++]=T[S++]))}}else if(y&64){e.msg=`invalid distance code`,E.mode=Mt;break top}else{v=h[(v&65535)+(f&(1<<y)-1)];continue dodist}break}}else if(!(y&64)){v=m[(v&65535)+(f&(1<<y)-1)];continue dolen}else if(y&32){E.mode=Nt;break top}else{e.msg=`invalid literal/length code`,E.mode=Mt;break top}break}}while(n<r&&i<o);b=p>>3,n-=b,p-=b<<3,f&=(1<<p)-1,e.next_in=n,e.next_out=i,e.avail_in=n<r?5+(r-n):5-(n-r),e.avail_out=i<o?257+(o-i):257-(i-o),E.hold=f,E.bits=p}var Ft=15,It=852,Lt=592,Rt=0,zt=1,Bt=2,Vt=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Ht=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,199,75]),Ut=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Wt=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Gt=(e,t,n,r,i,a,o,s)=>{let c=s.bits,l=0,u=0,d=0,f=0,p=0,m=0,h=0,g=0,_=0,v=0,y,b,x,S,C,w=null,T,E=new Uint16Array(16),D=new Uint16Array(16),O=null,k,A,j;for(l=0;l<=Ft;l++)E[l]=0;for(u=0;u<r;u++)E[t[n+u]]++;for(p=c,f=Ft;f>=1&&E[f]===0;f--);if(p>f&&(p=f),f===0)return i[a++]=20971520,i[a++]=20971520,s.bits=1,0;for(d=1;d<f&&E[d]===0;d++);for(p<d&&(p=d),g=1,l=1;l<=Ft;l++)if(g<<=1,g-=E[l],g<0)return-1;if(g>0&&(e===Rt||f!==1))return-1;for(D[1]=0,l=1;l<Ft;l++)D[l+1]=D[l]+E[l];for(u=0;u<r;u++)t[n+u]!==0&&(o[D[t[n+u]]++]=u);if(e===Rt?(w=O=o,T=20):e===zt?(w=Vt,O=Ht,T=257):(w=Ut,O=Wt,T=0),v=0,u=0,l=d,C=a,m=p,h=0,x=-1,_=1<<p,S=_-1,e===zt&&_>It||e===Bt&&_>Lt)return 1;for(;;){k=l-h,o[u]+1<T?(A=0,j=o[u]):o[u]>=T?(A=O[o[u]-T],j=w[o[u]-T]):(A=96,j=0),y=1<<l-h,b=1<<m,d=b;do b-=y,i[C+(v>>h)+b]=k<<24|A<<16|j|0;while(b!==0);for(y=1<<l-1;v&y;)y>>=1;if(y===0?v=0:(v&=y-1,v+=y),u++,--E[l]===0){if(l===f)break;l=t[n+o[u]]}if(l>p&&(v&S)!==x){for(h===0&&(h=p),C+=d,m=l-h,g=1<<m;m+h<f&&(g-=E[m+h],!(g<=0));)m++,g<<=1;if(_+=1<<m,e===zt&&_>It||e===Bt&&_>Lt)return 1;x=v&S,i[x]=p<<24|m<<16|C-a|0}}return v!==0&&(i[C+v]=l-h<<24|4194304),s.bits=p,0},Kt=0,qt=1,Jt=2,Yt=16180,Xt=16181,Zt=16182,Qt=16183,$t=16184,en=16185,tn=16186,nn=16187,rn=16188,an=16189,on=16190,sn=16191,cn=16192,ln=16193,un=16194,dn=16195,fn=16196,pn=16197,mn=16198,hn=16199,gn=16200,_n=16201,vn=16202,yn=16203,bn=16204,xn=16205,Sn=16206,Cn=16207,wn=16208,B=16209,Tn=16210,En=16211,Dn=852,On=592,kn=e=>(e>>>24&255)+(e>>>8&65280)+((e&65280)<<8)+((e&255)<<24),An=class{constructor(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}},jn=e=>{if(!e)return 1;let t=e.state;return+(!t||t.strm!==e||t.mode<Yt||t.mode>En)},Mn=e=>{if(jn(e))return-2;let t=e.state;return e.total_in=e.total_out=t.total=0,e.msg=``,t.wrap&&(e.adler=t.wrap&1),t.mode=Yt,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(Dn),t.distcode=t.distdyn=new Int32Array(On),t.sane=1,t.back=-1,0},Nn=e=>{if(jn(e))return-2;let t=e.state;return t.wsize=0,t.whave=0,t.wnext=0,Mn(e)},Pn=(e,t)=>{let n;if(jn(e))return-2;let r=e.state;return t<0?(n=0,t=-t):(n=(t>>4)+5,t<48&&(t&=15)),t&&(t<8||t>15)?-2:(r.window!==null&&r.wbits!==t&&(r.window=null),r.wrap=n,r.wbits=t,Nn(e))},Fn=(e,t)=>{if(!e)return-2;let n=new An;e.state=n,n.strm=e,n.window=null,n.mode=Yt;let r=Pn(e,t);return r!==0&&(e.state=null),r},In=!0,Ln,Rn,zn=e=>{if(In){Ln=new Int32Array(512),Rn=new Int32Array(32);let t=0;for(;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(Gt(qt,e.lens,0,288,Ln,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;Gt(Jt,e.lens,0,32,Rn,0,e.work,{bits:5}),In=!1}e.lencode=Ln,e.lenbits=9,e.distcode=Rn,e.distbits=5},Bn=(e,t,n,r)=>{let i,a=e.state;return a.window===null&&(a.window=new Uint8Array(1<<a.wbits)),a.wsize===0&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0),r>=a.wsize?(a.window.set(t.subarray(n-a.wsize,n),0),a.wnext=0,a.whave=a.wsize):(i=a.wsize-a.wnext,i>r&&(i=r),a.window.set(t.subarray(n-r,n-r+i),a.wnext),r-=i,r?(a.window.set(t.subarray(n-r,n),0),a.wnext=r,a.whave=a.wsize):(a.wnext+=i,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=i))),0},Vn=(e,t)=>{let n,r,i,a,o,s,c,l,u,d,f,p,m,h,g=0,_,v,y,b,x,S,C,w,T=new Uint8Array(4),E,D,O=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(jn(e)||!e.output||!e.input&&e.avail_in!==0)return-2;n=e.state,n.mode===sn&&(n.mode=cn),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,d=s,f=c,w=0;inf_leave:for(;;)switch(n.mode){case Yt:if(n.wrap===0){n.mode=cn;break}for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&2&&l===35615){n.wbits===0&&(n.wbits=15),n.check=0,T[0]=l&255,T[1]=l>>>8&255,n.check=P(n.check,T,2,0),l=0,u=0,n.mode=Xt;break}if(n.head&&(n.head.done=!1),!(n.wrap&1)||(((l&255)<<8)+(l>>8))%31){e.msg=`incorrect header check`,n.mode=B;break}if((l&15)!=8){e.msg=`unknown compression method`,n.mode=B;break}if(l>>>=4,u-=4,C=(l&15)+8,n.wbits===0&&(n.wbits=C),C>15||C>n.wbits){e.msg=`invalid window size`,n.mode=B;break}n.dmax=1<<n.wbits,n.flags=0,e.adler=n.check=1,n.mode=l&512?an:sn,l=0,u=0;break;case Xt:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.flags=l,(n.flags&255)!=8){e.msg=`unknown compression method`,n.mode=B;break}if(n.flags&57344){e.msg=`unknown header flags set`,n.mode=B;break}n.head&&(n.head.text=l>>8&1),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=P(n.check,T,2,0)),l=0,u=0,n.mode=Zt;case Zt:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.time=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,T[2]=l>>>16&255,T[3]=l>>>24&255,n.check=P(n.check,T,4,0)),l=0,u=0,n.mode=Qt;case Qt:for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.head&&(n.head.xflags=l&255,n.head.os=l>>8),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=P(n.check,T,2,0)),l=0,u=0,n.mode=$t;case $t:if(n.flags&1024){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length=l,n.head&&(n.head.extra_len=l),n.flags&512&&n.wrap&4&&(T[0]=l&255,T[1]=l>>>8&255,n.check=P(n.check,T,2,0)),l=0,u=0}else n.head&&(n.head.extra=null);n.mode=en;case en:if(n.flags&1024&&(p=n.length,p>s&&(p=s),p&&(n.head&&(C=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Uint8Array(n.head.extra_len)),n.head.extra.set(r.subarray(a,a+p),C)),n.flags&512&&n.wrap&4&&(n.check=P(n.check,r,p,a)),s-=p,a+=p,n.length-=p),n.length))break inf_leave;n.length=0,n.mode=tn;case tn:if(n.flags&2048){if(s===0)break inf_leave;p=0;do C=r[a+p++],n.head&&C&&n.length<65536&&(n.head.name+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=P(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.name=null);n.length=0,n.mode=nn;case nn:if(n.flags&4096){if(s===0)break inf_leave;p=0;do C=r[a+p++],n.head&&C&&n.length<65536&&(n.head.comment+=String.fromCharCode(C));while(C&&p<s);if(n.flags&512&&n.wrap&4&&(n.check=P(n.check,r,p,a)),s-=p,a+=p,C)break inf_leave}else n.head&&(n.head.comment=null);n.mode=rn;case rn:if(n.flags&512){for(;u<16;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.check&65535)){e.msg=`header crc mismatch`,n.mode=B;break}l=0,u=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),e.adler=n.check=0,n.mode=sn;break;case an:for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}e.adler=n.check=kn(l),l=0,u=0,n.mode=on;case on:if(n.havedict===0)return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,2;e.adler=n.check=1,n.mode=sn;case sn:if(t===5||t===6)break inf_leave;case cn:if(n.last){l>>>=u&7,u-=u&7,n.mode=Sn;break}for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}switch(n.last=l&1,l>>>=1,--u,l&3){case 0:n.mode=ln;break;case 1:if(zn(n),n.mode=hn,t===6){l>>>=2,u-=2;break inf_leave}break;case 2:n.mode=fn;break;case 3:e.msg=`invalid block type`,n.mode=B}l>>>=2,u-=2;break;case ln:for(l>>>=u&7,u-=u&7;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if((l&65535)!=(l>>>16^65535)){e.msg=`invalid stored block lengths`,n.mode=B;break}if(n.length=l&65535,l=0,u=0,n.mode=un,t===6)break inf_leave;case un:n.mode=dn;case dn:if(p=n.length,p){if(p>s&&(p=s),p>c&&(p=c),p===0)break inf_leave;i.set(r.subarray(a,a+p),o),s-=p,a+=p,c-=p,o+=p,n.length-=p;break}n.mode=sn;break;case fn:for(;u<14;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.nlen=(l&31)+257,l>>>=5,u-=5,n.ndist=(l&31)+1,l>>>=5,u-=5,n.ncode=(l&15)+4,l>>>=4,u-=4,n.nlen>286||n.ndist>30){e.msg=`too many length or distance symbols`,n.mode=B;break}n.have=0,n.mode=pn;case pn:for(;n.have<n.ncode;){for(;u<3;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.lens[O[n.have++]]=l&7,l>>>=3,u-=3}for(;n.have<19;)n.lens[O[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,E={bits:n.lenbits},w=Gt(Kt,n.lens,0,19,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid code lengths set`,n.mode=B;break}n.have=0,n.mode=mn;case mn:for(;n.have<n.nlen+n.ndist;){for(;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(y<16)l>>>=_,u-=_,n.lens[n.have++]=y;else{if(y===16){for(D=_+2;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(l>>>=_,u-=_,n.have===0){e.msg=`invalid bit length repeat`,n.mode=B;break}C=n.lens[n.have-1],p=3+(l&3),l>>>=2,u-=2}else if(y===17){for(D=_+3;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=3+(l&7),l>>>=3,u-=3}else{for(D=_+7;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=_,u-=_,C=0,p=11+(l&127),l>>>=7,u-=7}if(n.have+p>n.nlen+n.ndist){e.msg=`invalid bit length repeat`,n.mode=B;break}for(;p--;)n.lens[n.have++]=C}}if(n.mode===B)break;if(n.lens[256]===0){e.msg=`invalid code -- missing end-of-block`,n.mode=B;break}if(n.lenbits=9,E={bits:n.lenbits},w=Gt(qt,n.lens,0,n.nlen,n.lencode,0,n.work,E),n.lenbits=E.bits,w){e.msg=`invalid literal/lengths set`,n.mode=B;break}if(n.distbits=6,n.distcode=n.distdyn,E={bits:n.distbits},w=Gt(Jt,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,E),n.distbits=E.bits,w){e.msg=`invalid distances set`,n.mode=B;break}if(n.mode=hn,t===6)break inf_leave;case hn:n.mode=gn;case gn:if(s>=6&&c>=258){e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,Pt(e,f),o=e.next_out,i=e.output,c=e.avail_out,a=e.next_in,r=e.input,s=e.avail_in,l=n.hold,u=n.bits,n.mode===sn&&(n.back=-1);break}for(n.back=0;g=n.lencode[l&(1<<n.lenbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(v&&!(v&240)){for(b=_,x=v,S=y;g=n.lencode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,n.length=y,v===0){n.mode=xn;break}if(v&32){n.back=-1,n.mode=sn;break}if(v&64){e.msg=`invalid literal/length code`,n.mode=B;break}n.extra=v&15,n.mode=_n;case _n:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.length+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=vn;case vn:for(;g=n.distcode[l&(1<<n.distbits)-1],_=g>>>24,v=g>>>16&255,y=g&65535,!(_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(!(v&240)){for(b=_,x=v,S=y;g=n.distcode[S+((l&(1<<b+x)-1)>>b)],_=g>>>24,v=g>>>16&255,y=g&65535,!(b+_<=u);){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}l>>>=b,u-=b,n.back+=b}if(l>>>=_,u-=_,n.back+=_,v&64){e.msg=`invalid distance code`,n.mode=B;break}n.offset=y,n.extra=v&15,n.mode=yn;case yn:if(n.extra){for(D=n.extra;u<D;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}n.offset+=l&(1<<n.extra)-1,l>>>=n.extra,u-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){e.msg=`invalid distance too far back`,n.mode=B;break}n.mode=bn;case bn:if(c===0)break inf_leave;if(p=f-c,n.offset>p){if(p=n.offset-p,p>n.whave&&n.sane){e.msg=`invalid distance too far back`,n.mode=B;break}p>n.wnext?(p-=n.wnext,m=n.wsize-p):m=n.wnext-p,p>n.length&&(p=n.length),h=n.window}else h=i,m=o-n.offset,p=n.length;p>c&&(p=c),c-=p,n.length-=p;do i[o++]=h[m++];while(--p);n.length===0&&(n.mode=gn);break;case xn:if(c===0)break inf_leave;i[o++]=n.length,c--,n.mode=gn;break;case Sn:if(n.wrap){for(;u<32;){if(s===0)break inf_leave;s--,l|=r[a++]<<u,u+=8}if(f-=c,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?P(n.check,i,f,o-f):Be(n.check,i,f,o-f)),f=c,n.wrap&4&&(n.flags?l:kn(l))!==n.check){e.msg=`incorrect data check`,n.mode=B;break}l=0,u=0}n.mode=Cn;case Cn:if(n.wrap&&n.flags){for(;u<32;){if(s===0)break inf_leave;s--,l+=r[a++]<<u,u+=8}if(n.wrap&4&&l!==(n.total&4294967295)){e.msg=`incorrect length check`,n.mode=B;break}l=0,u=0}n.mode=wn;case wn:w=1;break inf_leave;case B:w=-3;break inf_leave;case Tn:return-4;case En:default:return-2}return e.next_out=o,e.avail_out=c,e.next_in=a,e.avail_in=s,n.hold=l,n.bits=u,(n.wsize||f!==e.avail_out&&n.mode<B&&(n.mode<Sn||t!==4))&&Bn(e,e.output,e.next_out,f-e.avail_out)?(n.mode=Tn,-4):(d-=e.avail_in,f-=e.avail_out,e.total_in+=d,e.total_out+=f,n.total+=f,n.wrap&4&&f&&(e.adler=n.check=n.flags?P(n.check,i,f,e.next_out-f):Be(n.check,i,f,e.next_out-f)),e.data_type=n.bits+(n.last?64:0)+(n.mode===sn?128:0)+(n.mode===hn||n.mode===un?256:0),(d===0&&f===0||t===4)&&w===0&&(w=-5),w)},Hn=e=>{if(jn(e))return-2;let t=e.state;return t.window&&(t.window=null),e.state=null,0},Un=(e,t)=>{let n=t.length,r,i,a;return jn(e)||(r=e.state,r.wrap!==0&&r.mode!==on)?-2:r.mode===on&&(i=1,i=Be(i,t,n,0),i!==r.check)?-3:(a=Bn(e,t,n,n),a?(r.mode=Tn,-4):(r.havedict=1,0))},Wn=class{constructor(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=``,this.state=null,this.data_type=2,this.adler=0}},Gn=e=>{let t=new Uint8Array(e.reduce((e,t)=>e+t.length,0)),n=0;for(let r of e)t.set(r,n),n+=r.length;return t},Kn=Object.prototype.toString,qn={level:-1,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,raw:!1,gzip:!1,legacyHash:!1,dictionary:new Uint8Array},Jn=class{constructor(e={}){u(this,`options`,void 0),u(this,`err`,void 0),u(this,`msg`,void 0),u(this,`ended`,void 0),u(this,`started`,void 0),u(this,`chunks`,void 0),u(this,`strm`,void 0),u(this,`result`,void 0),this.options=Object.assign({},qn,e);let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=``,this.ended=!1,this.started=!1,this.chunks=[],this.result=new Uint8Array,this.strm=new Wn,this.strm.avail_out=0;let n=Ot(this.strm,t.level,8,t.windowBits,t.memLevel,t.strategy,t.legacyHash);if(n!==0)throw Error(He[n]);Kn.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary));let r=t.dictionary;if(r.length){if(t.gzip)throw Error(`dictionary is not supported with gzip`);if(n=jt(this.strm,r),n!==0)throw Error(He[n])}}push(e,t=!1){let n=this.strm,r=this.options.chunkSize,i,a;if(this.ended)return!1;for(a=typeof t==`number`?t:t===!0?4:0,typeof e==`string`?n.input=new TextEncoder().encode(e):Kn.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length,this.started||(this.started=!0,this.onStart(n));;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),(a===2||a===3)&&n.avail_out<=6){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(i=kt(n,a),i===1){n.next_out>0&&this.onData(n.output.subarray(0,n.next_out)),i=At(this.strm);break}if(n.avail_out===0){this.onData(n.output);continue}if(a>0&&n.next_out>0){this.onData(n.output.subarray(0,n.next_out)),n.avail_out=0;continue}if(n.avail_in===0)return!0}return this.err=i,this.msg=n.msg||He[i],this.ended=!0,this.onEnd(i),i===0}onStart(e){}onData(e){this.chunks.push(e)}onEnd(e){e===0&&(this.result=Gn(this.chunks)),this.chunks=[]}};function Yn(e,t={}){let n=new Jn(t);if(n.push(e,!0),n.err)throw Error(n.msg);return n.result}var Xn=Object.prototype.toString,Zn={chunkSize:1024*64,windowBits:15,raw:!1,dictionary:new Uint8Array},Qn=class{constructor(e={}){u(this,`options`,void 0),u(this,`err`,void 0),u(this,`msg`,void 0),u(this,`ended`,void 0),u(this,`started`,void 0),u(this,`chunks`,void 0),u(this,`strm`,void 0),u(this,`result`,void 0),this.options=Object.assign({},Zn,e);let t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,t.windowBits===0&&(t.windowBits=-15)),t.windowBits>=0&&t.windowBits<16&&!e.windowBits&&(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&(t.windowBits&15||(t.windowBits|=15)),this.err=0,this.msg=``,this.ended=!1,this.started=!1,this.chunks=[],this.result=new Uint8Array,this.strm=new Wn,this.strm.avail_out=0;let n=Fn(this.strm,t.windowBits);if(n!==0)throw Error(He[n]);Xn.call(t.dictionary)===`[object ArrayBuffer]`&&(t.dictionary=new Uint8Array(t.dictionary));let r=t.dictionary;if(t.raw&&r.length&&(n=Un(this.strm,r),n!==0))throw Error(He[n])}push(e,t=!1){let n=this.strm,r=this.options.chunkSize,i,a,o;if(this.ended)return this.err===0;for(a=typeof t==`number`?t:t===!0?4:0,Xn.call(e)===`[object ArrayBuffer]`?n.input=new Uint8Array(e):n.input=e,n.next_in=0,n.avail_in=n.input.length,this.started||(this.started=!0,this.onStart(n));;){if(n.avail_out===0&&(n.output=new Uint8Array(r),n.next_out=0,n.avail_out=r),i=Vn(n,a),i===2){let e=this.options.dictionary;e.length&&(i=Un(n,e),i===0?i=Vn(n,a):i===-3&&(i=2))}for(;n.avail_in>0&&i===1&&n.state.wrap&2&&n.state.flags!==0&&n.input[n.next_in]!==0;)Nn(n),i=Vn(n,a);if(i===-2||i===-3||i===2||i===-4)break;if(o=n.avail_out,n.next_out&&(n.avail_out===0||i===1||a>0)&&(this.onData(n.output.length===n.next_out?n.output:n.output.subarray(0,n.next_out)),n.avail_out=0,n.next_out=0),!((i===0||i===-5)&&o===0)){if(i===1){i=Hn(this.strm);break}if(n.avail_in===0){if(a===4){i=Hn(this.strm),i===0&&(i=-5);break}return!0}}}return this.err=i,this.msg=n.msg||He[i],this.ended=!0,this.onEnd(i),i===0}onStart(e){}onData(e){this.chunks.push(e)}onEnd(e){e===0&&(this.result=Gn(this.chunks)),this.chunks=[]}};function $n(e,t={}){let n=new Qn(t);if(n.push(e,!0),n.err)throw Error(n.msg);let r=n.result;return t.toText?new TextDecoder().decode(r):r}var V=Array.from({length:256}).map((e,t)=>(t+256).toString(16).substr(1));function er(e){return(V[e[0]]+V[e[1]]+V[e[2]]+V[e[3]]+`-`+V[e[4]]+V[e[5]]+`-`+V[e[6]]+V[e[7]]+`-`+V[e[8]]+V[e[9]]+`-`+V[e[10]]+V[e[11]]+V[e[12]]+V[e[13]]+V[e[14]]+V[e[15]]).toLowerCase()}function tr(e){let t,n=new Uint8Array(16);return n[0]=(t=parseInt(e.slice(0,8),16))>>>24,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=t&255,n[4]=(t=parseInt(e.slice(9,13),16))>>>8,n[5]=t&255,n[6]=(t=parseInt(e.slice(14,18),16))>>>8,n[7]=t&255,n[8]=(t=parseInt(e.slice(19,23),16))>>>8,n[9]=t&255,n[10]=(t=parseInt(e.slice(24,36),16))/1099511627776&255,n[11]=t/4294967296&255,n[12]=t>>>24&255,n[13]=t>>>16&255,n[14]=t>>>8&255,n[15]=t&255,n}var nr=n({BitReader:()=>xr,BitWriter:()=>Sr,bgra:()=>H,chunk:()=>sr,concat:()=>W,isEqual:()=>ir,read:()=>G,subarray:()=>or,write:()=>K});function rr(e){return/^[\x00-\x7F]*$/.test(e)}var H=([e,t,n,r])=>[n,t,e,r];function ir(e,t){return e.length===t.length&&e.every((e,n)=>t[n]===e)}function ar(e){return e.brsOffset!==void 0}function or(e,t,n=!1){if(!(e instanceof Uint8Array))throw Error(`Invalid data type in bytes reader (${typeof e})`);let r;ar(e)?r=e:(r=e,r.brsOffset=0);let i=r[n?`slice`:`subarray`](r.brsOffset,r.brsOffset+t);return r.brsOffset+=t,i}function sr(e,t){let n=e.length-(ar(e)?e.brsOffset:0),r=Array(Math.floor(n/t));for(let i=0;i<n/t;i++)r[i]=or(e,t,!0);return r}function U(e,t=!0){let[n,r]=or(e,2);return t?r<<8|n:n<<8|r}function cr(e,t=!0){let n=[e&255,e>>8&255];return new Uint8Array(t?n:n.reverse())}function lr(e,t=!0){let[n,r,i,a]=or(e,4);return t?a<<24|i<<16|r<<8|n:n<<24|r<<16|i<<8|a}function ur(e,t=!0){let n=new Uint8Array([e&255,e>>8&255,e>>16&255,e>>24&255]);return t?n:n.reverse()}function dr(e){let t=lr(e),n=lr(e);if(n<0||t<0||n>=t)throw Error(`Invalid compressed section size (comp: ${n}, uncomp: ${t})`);return n===0?or(e,t):$n(or(e,n))}function fr(...e){let t=W(...e);return W(ur(t.length),ur(0),t)}function pr(...e){let t=W(...e),n=Yn(t),r=t.length,i=n.length;if(r>2147483647)throw Error(`uncompressedSize (${r}) out of range`);if(i>2147483647)throw Error(`compressedSize (${i}) out of range`);let a=i>=r;return W(ur(r),ur(a?0:i),a?t:n)}function mr(e){let t=lr(e),n=t<0,r=n?-t*2:t;if(n){if(r%2!=0)throw Error(`Invalid UCS-2 data size`);return String.fromCodePoint(...sr(or(e,r),2).map(e=>U(e)))}else{let t=or(e,r).subarray(0,-1);return String.fromCharCode.apply(null,t)}}function hr(e){return rr(e)?W(ur(e.length+1),new Uint8Array(e.split(``).map(e=>e.charCodeAt(0))),new Uint8Array([0])):W(ur(-e.length),new Uint8Array(e.split(``).flatMap(e=>[e.charCodeAt(0)&255,e.charCodeAt(0)>>8])))}function gr(e){return er(sr(or(e,16),4).flatMap(([e,t,n,r])=>[r,n,t,e]))}function _r(e){return W(...sr(tr(e),4).map(([e,t,n,r])=>new Uint8Array([r,n,t,e])))}function vr(e,t){let n=lr(e),r=Array(n);for(let i=0;i<n;i++)r[i]=t(e);return r}function yr(e,t){let n=lr(e);for(let r=0;r<n;r++)t(e)}function br(e,t){return W(ur(e.length),...e.map(e=>t(e)))}var xr=class{constructor(e){this.pos=0,this.buffer=e}empty(){return this.pos>=this.buffer.length*8}bit(){let e=(this.buffer[this.pos>>3]&1<<(this.pos&7))!=0;return this.pos++,e}align(){this.pos=this.pos+7&-8}int(e){let t=0,n=1;for(;t+n<e&&n!==0;)this.bit()&&(t|=n),n<<=1;return t}uint_packed(){let e=0;for(let t=0;t<5;t++){let n=this.bit(),r=0;for(let e=0;e<7;e++)r|=+!!this.bit()<<e;if(e|=r<<7*t,!n)break}return e}int_packed(){let e=this.uint_packed();return(e>>1)*(e&1?1:-1)}bits(e){let t=[];for(let n=0;n<e;n++){let e=n&7;t[n>>3]=t[n>>3]&~(1<<e)|+!!this.bit()<<e}return t}bytes(e){return new Uint8Array(this.bytesArr(e))}bytesArr(e){return this.bits(e*8)}array(e){let t=lr(this.bytes(4)),n=Array(t);for(let r=0;r<t;r++)n[r]=e(this);return n}each(e){let t=lr(this.bytes(4));for(let n=0;n<t;n++)e(this)}string(){let e=this.bytesArr(4),t=lr(new Uint8Array(e));return t<0&&(t=-t*2),mr(new Uint8Array(e.concat(this.bytesArr(t))))}float(){let e=new DataView(new ArrayBuffer(4));return e.setUint16(2,U(this.bytes(2))),e.setUint16(0,U(this.bytes(2))),e.getFloat32(0)}integer(){let e=new DataView(new ArrayBuffer(4));return e.setUint16(2,U(this.bytes(2))),e.setUint16(0,U(this.bytes(2))),e.getInt32(0)}int64(){let e=new DataView(new ArrayBuffer(8));e.setUint16(6,U(this.bytes(2))),e.setUint16(4,U(this.bytes(2))),e.setUint16(2,U(this.bytes(2))),e.setUint16(0,U(this.bytes(2)));let t=e.getBigInt64(0);if(t<=1n<<64n)return Number(t);throw Error(`Cannot read 64-bit integer ${t} as a JavaScript number...`)}double(){let e=new DataView(new ArrayBuffer(8));return e.setUint16(6,U(this.bytes(2))),e.setUint16(4,U(this.bytes(2))),e.setUint16(2,U(this.bytes(2))),e.setUint16(0,U(this.bytes(2))),e.getFloat64(0)}wireGraphVariant(){let e=this.bytes(1)[0];switch(e){case 0:return{number:this.double()};case 1:return{integer:this.int64()};case 2:return{bool:this.bytes(1)[0]!==0};case 3:return{exec:!0};case 4:return{object:!0};default:throw Error(`Unknown wire graph variant type ${e}`)}}unreal(e){switch(e){case`String`:case`Class`:case`Object`:return this.string();case`Boolean`:return!!lr(this.bytes(4));case`Integer`:return this.integer();case`Integer64`:return this.int64();case`Float`:return this.float();case`Double`:return this.double();case`Color`:return H(this.bytesArr(4));case`Byte`:return this.bytes(1)[0];case`Rotator`:case`Rotator3d`:return[this.float(),this.float(),this.float()];case`Vector3d`:return[this.float(),this.float(),this.float()];case`IntVector`:return[this.integer(),this.integer(),this.integer()];case`BRInventoryEntryPlan`:return this.string();case`WireGraphVariant`:return this.wireGraphVariant();case`WireGraphPrimMathVariant`:return this.wireGraphVariant()}throw Error(`Unknown unreal type `+e)}},Sr=class{constructor(){this.buffer=[],this.cur=0,this.bitNum=0}bit(e){this.cur|=+!!e<<this.bitNum,this.bitNum++,this.bitNum>=8&&this.align()}bits(e,t){for(let n=0;n<t;n++)this.bit((e[n>>3]&1<<(n&7))!=0)}bytes(e){this.bits(e,8*e.length)}align(){this.bitNum>0&&(this.buffer.push(this.cur),this.cur=0,this.bitNum=0)}int(e,t){if(t<2)throw Error(`Invalid input (BitWriter) -- max (${t}) must be at least 2`);if(e>=t)throw Error(`Invalid input (BitWriter) -- value (${e}) is larger than max (${t})`);let n=0,r=1;for(;n+r<t&&r!==0;)this.bit((e&r)!==0),(e&r)!==0&&(n|=r),r<<=1}uint_packed(e){do{let t=e&127;e>>=7,this.bit(e!==0),this.bits([t],7)}while(e!==0)}int_packed(e){this.uint_packed(Math.abs(e)<<1|e>=0)}finish(){return this.align(),new Uint8Array(this.buffer)}finishSection(){return this.align(),W(ur(this.buffer.length),new Uint8Array(this.buffer))}string(e){this.bytes(hr(e))}float(e){let t=new Float32Array(1);t[0]=e;let n=new Int8Array(t.buffer);this.bytes([n[0],n[1],n[2],n[3]])}integer(e){let t=new Int32Array(1);t[0]=e;let n=new Int8Array(t.buffer);this.bytes([n[0],n[1],n[2],n[3]])}int64(e){let t=new DataView(new ArrayBuffer(8));t.setBigInt64(0,typeof e==`bigint`?e:BigInt(e),!0),this.bytes(new Uint8Array(t.buffer))}double(e){let t=new Float64Array(1);t[0]=e;let n=new Int8Array(t.buffer);this.bytes([n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7]])}wireGraphVariant(e){if(`number`in e)this.bytes([0]),this.double(e.number);else if(`integer`in e)this.bytes([1]),this.int64(e.integer);else if(`bool`in e)this.bytes([2,+!!e.bool]);else if(`exec`in e)this.bytes([3]);else if(`object`in e)this.bytes([4]);else throw Error(`Unknown wire graph variant type ${JSON.stringify(e)}`)}self(e){return e.bind(this)(),this}array(e,t){return this.bytes(ur(e.length)),e.forEach(t.bind(this)),this}each(e,t){return e.forEach(t.bind(this)),this}unreal(e,t){switch(e){case`Class`:if(typeof t!=`string`)throw Error(`writing unreal type Class, did not receive string (${t})`);this.string(t);return;case`String`:if(typeof t!=`string`)throw Error(`writing unreal type String, did not receive string (${t})`);this.string(t);return;case`Object`:if(typeof t!=`string`)throw Error(`writing unreal type Object, did not receive string (${t})`);this.string(t);return;case`Boolean`:if(typeof t!=`boolean`)throw Error(`writing unreal type Boolean, did not receive boolean (${t})`);this.bytes(ur(+!!t));return;case`Float`:if(typeof t!=`number`)throw Error(`writing unreal type Float, did not receive float (${t})`);this.float(t);return;case`Byte`:if(typeof t!=`number`)throw Error(`writing unreal type Byte, did not receive Byte (${t})`);this.bytes([t&255]);return;case`Color`:if(!Array.isArray(t)||t.length!==4)throw Error(`writing unreal type Color, did not receive Array (${t})`);this.bytes(H(t));return;case`Rotator`:case`Rotator3d`:if(!Array.isArray(t)||t.length!==3)throw Error(`writing unreal type Rotator, did not receive Array (${t})`);this.float(t[0]),this.float(t[1]),this.float(t[2]);return;case`Vector3d`:if(!Array.isArray(t)||t.length!==3)throw Error(`writing unreal type Vector3d, did not receive Array (${t})`);this.float(t[0]),this.float(t[1]),this.float(t[2]);return;case`IntVector`:if(!Array.isArray(t)||t.length!==3)throw Error(`writing unreal type IntVector, did not receive Array (${t})`);this.integer(t[0]),this.integer(t[1]),this.integer(t[2]);return;case`Integer`:if(typeof t!=`number`)throw Error(`writing unreal type Integer, did not receive integer (${t})`);this.integer(t);return;case`Integer64`:if(typeof t!=`number`)throw Error(`writing unreal type Integer64, did not receive integer (${t})`);this.int64(t);return;case`Double`:if(typeof t!=`number`)throw Error(`writing unreal type Double, did not receive double (${t})`);this.double(t);return;case`WireGraphVariant`:if(typeof t!=`object`)throw Error(`writing unreal type WireGraphVariant, did not receive object (${t})`);this.wireGraphVariant(t);return;case`WireGraphPrimMathVariant`:if(typeof t!=`object`)throw Error(`writing unreal type WireGraphPrimMathVariant, did not receive object (${t})`);this.wireGraphVariant(t);return;case`BRInventoryEntryPlan`:if(typeof t!=`string`)throw Error(`writing unreal type BRInventoryEntryPlan, did not receive string (${t})`);this.string(t);return}throw Error(`Unknown unreal type `+e)}};function W(...e){let t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}var G={bytes:or,u16:U,i32:lr,compressed:dr,string:mr,uuid:gr,array:vr,each:yr,bits:e=>new xr(e)},K={u16:cr,i32:ur,compressed:pr,uncompressed:fr,string:hr,uuid:_r,array:br,bits:()=>new Sr};function Cr(e,t={}){let n=G.compressed(e),r=G.compressed(e),i=G.string(n),a=G.string(n),o=G.string(n),s=G.uuid(n),c=G.i32(n),l=G.array(r,G.string),u=G.array(r,G.string),d=G.array(r,e=>H(Array.from(G.bytes(e,4)))),f=[],p=Math.max(u.length,2);if(t.bricks){f=Array(c);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<c;e++){n.align();let t=n.int(p),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.bit()?H(n.bytesArr(4)):n.int(d.length);f[e]={asset_name_index:t,size:r,collision:c,position:i,direction:o,rotation:s,visibility:l,color:u}}}return{version:1,map:i,description:o,author:{id:s,name:a},mods:l,brick_assets:u,colors:d,bricks:f,brick_count:c}}function wr(e,t={}){let n=G.i32(e),r=G.compressed(e),i=G.compressed(e),a=G.string(r),o=G.string(r),s=G.string(r),c=G.uuid(r),l={name:G.string(r),id:G.uuid(r)},u=G.bytes(r,8),d=G.i32(r),f=G.array(i,G.string),p=G.array(i,G.string),m=G.array(i,e=>H(Array.from(G.bytes(e,4)))),h=G.array(i,G.string),g=G.array(i,e=>({id:G.uuid(e),name:G.string(e),bricks:G.i32(e)})),_=G.array(i,G.string),v=null;if(G.bytes(e,1)[0]){let n=G.i32(e);t.preview?v=G.bytes(e,n):e.brsOffset+=n}let y=[],b={},x=Math.max(_.length,2),S=Math.max(h.length,2),C=Math.max(p.length,2);if(t.bricks){y=Array(d);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<d;e++){n.align();let t=n.int(C),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c={player:n.bit(),weapon:n.bit(),interaction:n.bit(),tool:n.bit(),physics:!1},l=n.bit(),u=n.int(S),d=n.int(x),f=n.int(11),p=n.bit()?n.bytesArr(3):n.int(m.length),h=n.uint_packed();y[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,physical_index:d,material_intensity:f,color:p,owner_index:h,components:{}}}let r=G.compressed(e),i=Math.max(y.length,2);G.each(r,e=>{let t=G.string(e),n=G.bits(G.bytes(e,G.i32(e))),r=G.i32(n.bytes(4)),a=n.array(()=>n.int(i)),o=n.array(()=>[n.string(),n.string()]);for(let e of a){let r={};for(let[e,t]of o)r[e]=n.unreal(t);y[e].components[t]=r}b[t]={version:r,brick_indices:a,properties:Object.fromEntries(o)}})}return{version:10,game_version:n,map:a,description:s,author:{id:c,name:o},host:l,mods:f,brick_assets:p,colors:m,materials:h,brick_owners:g,physical_materials:_,preview:v,bricks:y,brick_count:d,save_time:u,components:b}}function Tr(e,t={}){let n=G.i32(e),r=G.compressed(e),i=G.compressed(e),a=G.string(r),o=G.string(r),s=G.string(r),c=G.uuid(r),l={name:G.string(r),id:G.uuid(r)},u=G.bytes(r,8),d=G.i32(r),f=G.array(i,G.string),p=G.array(i,G.string),m=G.array(i,e=>H(Array.from(G.bytes(e,4)))),h=G.array(i,G.string),g=G.array(i,e=>({id:G.uuid(e),name:G.string(e),display_name:G.string(e),bricks:G.i32(e)})),_=G.array(i,G.string),v=null;if(G.bytes(e,1)[0]){let n=G.i32(e);t.preview?v=G.bytes(e,n):e.brsOffset+=n}let y=[],b={},x=[],S=Math.max(_.length,2),C=Math.max(h.length,2),w=Math.max(p.length,2);if(t.bricks){y=Array(d);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<d;e++){n.align();let t=n.int(w),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c={player:n.bit(),weapon:n.bit(),interaction:n.bit(),tool:n.bit(),physics:n.bit()},l=n.bit(),u=n.int(C),d=n.int(S),f=n.int(11),p=n.bit()?n.bytesArr(3):n.int(m.length),h=n.uint_packed();y[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,physical_index:d,material_intensity:f,color:p,owner_index:h,components:{}}}let r=G.compressed(e),i=G.compressed(e),a=Math.max(y.length,2),o=[];G.each(r,e=>{let t=G.string(e),n=G.bits(G.bytes(e,G.i32(e))),r=G.i32(n.bytes(4)),i=n.array(()=>n.int(a)),s=n.array(()=>[n.string(),n.string()]);for(let e of i){let r={};for(let[e,t]of s)r[e]=n.unreal(t);y[e].components[t]=r}t in b||o.push(t),b[t]={version:r,brick_indices:i,properties:Object.fromEntries(s)}});let s=Math.max(o.length,2);{let e=G.bits(i),t=e.int(4294967295);for(let n=0;n<t;n++){let t=e.int(a),n=e.int(s),r=e.string(),i=e.int(a),c=e.int(s),l=e.string();e.bit(),e.align(),x.push({source:{brick_index:t,component:o[n],port:r},target:{brick_index:i,component:o[c],port:l}})}}}return{version:14,game_version:n,map:a,description:s,author:{id:c,name:o},host:l,mods:f,brick_assets:p,colors:m,materials:h,brick_owners:g,physical_materials:_,preview:v,bricks:y,brick_count:d,save_time:u,components:b,wires:x}}function Er(e,t={}){let n=G.compressed(e),r=G.compressed(e),i=G.string(n),a=G.string(n),o=G.string(n),s=G.uuid(n),c=G.i32(n),l=G.array(r,G.string),u=G.array(r,G.string),d=G.array(r,e=>H(Array.from(G.bytes(e,4)))),f=G.array(r,G.string),p=[],m=Math.max(u.length,2);if(t.bricks){p=Array(c);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<c;e++){n.align();let t=n.int(m),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.bit()?n.uint_packed():1,f=n.bit()?H(n.bytesArr(4)):n.int(d.length);p[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,color:f}}}return{version:2,map:i,description:o,author:{id:s,name:a},mods:l,brick_assets:u,colors:d,materials:f,bricks:p,brick_count:c}}function Dr(e,t={}){let n=G.compressed(e),r=G.compressed(e),i=G.string(n),a=G.string(n),o=G.string(n),s=G.uuid(n),c=G.i32(n),l=G.array(r,G.string),u=G.array(r,G.string),d=G.array(r,e=>H(Array.from(G.bytes(e,4)))),f=G.array(r,G.string),p=G.array(r,e=>({id:G.uuid(e),name:G.string(e)})),m=[],h=Math.max(u.length,2);if(t.bricks){m=Array(c);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<c;e++){n.align();let t=n.int(h),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.bit()?n.uint_packed():1,f=n.bit()?H(n.bytesArr(4)):n.int(d.length),p=n.uint_packed();m[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,color:f,owner_index:p}}}return{version:3,map:i,description:o,author:{id:s,name:a},mods:l,brick_assets:u,colors:d,materials:f,brick_owners:p,bricks:m,brick_count:c}}function Or(e,t={}){let n=G.compressed(e),r=G.compressed(e),i=G.string(n),a=G.string(n),o=G.string(n),s=G.uuid(n),c=G.bytes(n,8),l=G.i32(n),u=G.array(r,G.string),d=G.array(r,G.string),f=G.array(r,e=>H(Array.from(G.bytes(e,4)))),p=G.array(r,G.string),m=G.array(r,e=>({id:G.uuid(e),name:G.string(e)})),h=[],g=Math.max(d.length,2);if(t.bricks){h=Array(l);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<l;e++){n.align();let t=n.int(g),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.bit()?n.uint_packed():1,d=n.bit()?H(n.bytesArr(4)):n.int(f.length),p=n.uint_packed();h[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,color:d,owner_index:p}}}return{version:4,map:i,description:o,author:{id:s,name:a},mods:u,brick_assets:d,colors:f,materials:p,brick_owners:m,bricks:h,brick_count:l,save_time:c}}function kr(e,t={}){let n=G.i32(e),r=G.compressed(e),i=G.compressed(e),a=G.string(r),o=G.string(r),s=G.string(r),c=G.uuid(r),l={name:G.string(r),id:G.uuid(r)},u=G.bytes(r,8),d=G.i32(r),f=G.array(i,G.string),p=G.array(i,G.string),m=G.array(i,e=>H(Array.from(G.bytes(e,4)))),h=G.array(i,G.string),g=G.array(i,e=>({id:G.uuid(e),name:G.string(e),bricks:G.i32(e)})),_=null;if(G.bytes(e,1)[0]){let n=G.i32(e);t.preview?_=G.bytes(e,n):e.brsOffset+=n}let v=[],y={},b=Math.max(h.length,2),x=Math.max(p.length,2);if(t.bricks){v=Array(d);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<d;e++){n.align();let t=n.int(x),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.int(b),d=n.bit()?H(n.bytesArr(4)):n.int(m.length),f=n.uint_packed();v[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,color:d,owner_index:f,components:{}}}let r=G.compressed(e),i=Math.max(v.length,2);G.each(r,e=>{let t=G.string(e),n=G.bits(G.bytes(e,G.i32(e))),r=G.i32(n.bytes(4)),a=n.array(()=>n.int(i)),o=n.array(()=>[n.string(),n.string()]);for(let e of a){let r={};for(let[e,t]of o)r[e]=n.unreal(t);v[e].components[t]=r}y[t]={version:r,brick_indices:a,properties:Object.fromEntries(o)}})}return{version:8,game_version:n,map:a,description:s,author:{id:c,name:o},host:l,mods:f,brick_assets:p,colors:m,materials:h,brick_owners:g,preview:_,bricks:v,brick_count:d,save_time:u,components:y}}function Ar(e,t={}){let n=G.i32(e),r=G.compressed(e),i=G.compressed(e),a=G.string(r),o=G.string(r),s=G.string(r),c=G.uuid(r),l={name:G.string(r),id:G.uuid(r)},u=G.bytes(r,8),d=G.i32(r),f=G.array(i,G.string),p=G.array(i,G.string),m=G.array(i,e=>H(Array.from(G.bytes(e,4)))),h=G.array(i,G.string),g=G.array(i,e=>({id:G.uuid(e),name:G.string(e),bricks:G.i32(e)})),_=G.array(i,G.string),v=null;if(G.bytes(e,1)[0]){let n=G.i32(e);t.preview?v=G.bytes(e,n):e.brsOffset+=n}let y=[],b={},x=Math.max(_.length,2),S=Math.max(h.length,2),C=Math.max(p.length,2);if(t.bricks){y=Array(d);let t=G.compressed(e),n=G.bits(t);for(let e=0;!n.empty()&&e<d;e++){n.align();let t=n.int(C),r=n.bit()?[n.uint_packed(),n.uint_packed(),n.uint_packed()]:[0,0,0],i=[n.int_packed(),n.int_packed(),n.int_packed()],a=n.int(24),o=(a>>2)%6,s=a&3,c=n.bit(),l=n.bit(),u=n.int(S),d=n.int(x),f=n.int(11),p=n.bit()?n.bytesArr(3):n.int(m.length),h=n.uint_packed();y[e]={asset_name_index:t,size:r,position:i,direction:o,rotation:s,collision:c,visibility:l,material_index:u,physical_index:d,material_intensity:f,color:p,owner_index:h,components:{}}}let r=G.compressed(e),i=Math.max(y.length,2);G.each(r,e=>{let t=G.string(e),n=G.bits(G.bytes(e,G.i32(e))),r=G.i32(n.bytes(4)),a=n.array(()=>n.int(i)),o=n.array(()=>[n.string(),n.string()]);for(let e of a){let r={};for(let[e,t]of o)r[e]=n.unreal(t);y[e].components[t]=r}b[t]={version:r,brick_indices:a,properties:Object.fromEntries(o)}})}return{version:9,game_version:n,map:a,description:s,author:{id:c,name:o},host:l,mods:f,brick_assets:p,colors:m,materials:h,brick_owners:g,physical_materials:_,preview:v,bricks:y,brick_count:d,save_time:u,components:b}}function jr(e,t={}){if(typeof t!=`object`)throw Error(`Invalid options`);if(typeof t.bricks!=`boolean`&&(t.bricks=!0),typeof t.preview!=`boolean`&&(t.preview=!1),e[0]!==i[0]||e[1]!==i[1]||e[2]!==i[2])throw Error(`Invalid starting bytes`);let n=e;n.brsOffset=3;let r=G.u16(n);switch(r){case 1:return Cr(n,t);case 2:return Er(n,t);case 3:return Dr(n,t);case 4:return Or(n,t);case 8:return kr(n,t);case 9:return Ar(n,t);case 10:return wr(n,t);case 14:return Tr(n,t);default:throw Error(`Unsupported version `+r)}}var Mr=new Uint8Array([]),Nr={BCD_SpotLight:{version:1,properties:{Rotation:`Rotator`,InnerConeAngle:`Float`,OuterConeAngle:`Float`,Brightness:`Float`,Radius:`Float`,Color:`Color`,bUseBrickColor:`Boolean`,bCastShadows:`Boolean`}},BCD_PointLight:{version:1,properties:{bMatchBrickShape:`Boolean`,Brightness:`Float`,Radius:`Float`,Color:`Color`,bUseBrickColor:`Boolean`,bCastShadows:`Boolean`}},BCD_ItemSpawn:{version:1,properties:{PickupClass:`Class`,bPickupEnabled:`Boolean`,bPickupRespawnOnMinigameReset:`Boolean`,PickupMinigameResetRespawnDelay:`Float`,bPickupAutoDisableOnPickup:`Boolean`,PickupRespawnTime:`Float`,PickupOffsetDirection:`Byte`,PickupOffsetDistance:`Float`,PickupRotation:`Rotator`,PickupScale:`Float`,bPickupAnimationEnabled:`Boolean`,PickupAnimationAxis:`Byte`,bPickupAnimationAxisLocal:`Boolean`,PickupSpinSpeed:`Float`,PickupBobSpeed:`Float`,PickupBobHeight:`Float`,PickupAnimationPhase:`Float`}},BCD_Interact:{version:1,properties:{bPlayInteractSound:`Boolean`,Message:`String`,ConsoleTag:`String`}},BCD_AudioEmitter:{version:1,properties:{AudioDescriptor:`Object`,VolumeMultiplier:`Float`,PitchMultiplier:`Float`,InnerRadius:`Float`,MaxDistance:`Float`,bSpatialization:`Boolean`}},Component_Internal_Rerouter:{version:1,properties:{}},BrickComponentType_Internal_ReadBrickGrid:{version:1,properties:{}},BrickComponentType_WireGraphPseudo_BufferSeconds:{version:1,properties:{SecondsToWait:`Float`,ZeroSecondsToWait:`Float`,CurrentTime:`Float`,Input:`WireGraphVariant`,Output:`WireGraphVariant`,Buffered:`WireGraphVariant`,Queued:`WireGraphVariant`,bHasQueued:`Boolean`}},BrickComponentType_WireGraphPseudo_BufferTicks:{version:1,properties:{TicksToWait:`Integer`,ZeroTicksToWait:`Integer`,CurrentTicks:`Integer`,Input:`WireGraphVariant`,Output:`WireGraphVariant`,Buffered:`WireGraphVariant`,Queued:`WireGraphVariant`,bHasQueued:`Boolean`}},BrickComponentType_WireGraphPseudo_Const:{version:1,properties:{Value:`WireGraphVariant`}},BrickComponentType_WireGraph_Expr_BitwiseAND:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseNAND:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseNOR:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseNOT:{version:1,properties:{Input:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseOR:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseShiftLeft:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseShiftRight:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_BitwiseXOR:{version:1,properties:{InputA:`Integer64`,InputB:`Integer64`}},BrickComponentType_WireGraph_Expr_Ceil:{version:1,properties:{Input:`Double`}},BrickComponentType_WireGraph_Expr_CompareEqual:{version:1,properties:{InputA:`WireGraphVariant`,InputB:`WireGraphVariant`}},BrickComponentType_WireGraph_Expr_CompareGreater:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_CompareGreaterOrEqual:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_CompareLess:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_CompareLessOrEqual:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_CompareNotEqual:{version:1,properties:{InputA:`WireGraphVariant`,InputB:`WireGraphVariant`}},BrickComponentType_WireGraph_Expr_Floor:{version:1,properties:{Input:`Double`}},BrickComponentType_WireGraph_Expr_LogicalAND:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalNAND:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalNOR:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalNOT:{version:1,properties:{bInput:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalOR:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_LogicalXOR:{version:1,properties:{bInputA:`Boolean`,bInputB:`Boolean`}},BrickComponentType_WireGraph_Expr_MathAdd:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathBlend:{version:1,properties:{Blend:`Double`,InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathDivide:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathModulo:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathModuloFloored:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathMultiply:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponentType_WireGraph_Expr_MathSubtract:{version:1,properties:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`}},BrickComponent_WireGraph_Expr_EdgeDetector:{version:1,properties:{Input:`Double`,bPulseOnRisingEdge:`Boolean`,bPulseOnFallingEdge:`Boolean`}}};function Pr(e,t={}){if(typeof e!=`object`)throw Error(`Expected save to be an object`);if(!Array.isArray(e.bricks)||e.bricks.length===0)throw Error(`Expected save to have bricks field`);if(e.bricks.length>2147483647)throw Error(`Brick count out of range`);let n=t.compress?K.compressed:K.uncompressed,r=([e,t,n,r])=>new Uint8Array([n,t,e,r]),a={},s=Math.max(e.colors?.length??0,2),c=Math.max(e.brick_assets?.length??0,2),l=Math.max(e.materials?.length??0,2),u=Math.max(e.physical_materials?.length??0,2);if(e.preview&&!Array.isArray(e.preview))throw Error(`Expected preview to be an array`);let d={},f=0;return W(i,K.u16(14),K.i32(e.game_version??0),n(K.string(e.map??`Unknown`),K.string(e.author?.name??`Unknown`),K.string(e.description??``),K.uuid(e.author?.id??`00000000-0000-0000-0000-000000000000`),W(K.string(e.host?.name??`Unknown`),K.uuid(e.host?.id??`00000000-0000-0000-0000-000000000000`)),new Uint8Array(e.save_time&&(Array.isArray(e.save_time)||e.save_time instanceof Uint8Array)&&e.save_time.length===8?e.save_time:[0,0,0,0,0,0,0,0]),K.i32(e.bricks.length)),n(K.array(e.mods??[],K.string),K.array(e.brick_assets??[`PB_DefaultBrick`],K.string),K.array(e.colors??[],r),K.array(e.materials??[`BMC_Plastic`],K.string),K.array(e.brick_owners??[],({id:e=o,name:t=`Unknown`,display_name:n=`Unknown`,bricks:r=0})=>W(K.uuid(e),K.string(t),K.string(n),K.i32(r))),K.array(e.physical_materials??[`BPMC_Default`],K.string)),W(new Uint8Array([+!!e.preview]),e.preview?K.i32(e.preview.length):Mr,e.preview??Mr),n(K.bits().each(e.bricks,function(e,t){if(typeof e!=`object`)throw Error(`Expected save.bricks[${t}] to be an object`);if(!Array.isArray(e.size)||e.size.length!==3)throw Error(`Expected save.bricks[${t}].size to be an array of length 3`);if(!Array.isArray(e.position)||e.position.length!==3)throw Error(`Expected save.bricks[${t}].position to be an array of length 3`);this.align(),this.int(e.asset_name_index??0,c);let n=e.size===null||ir(e.size,[0,0,0]);if(this.bit(!n),n||e.size.map(e=>this.uint_packed(e>=0?e:1)),e.position.map(e=>this.int_packed(e)),this.int((e.direction??4)<<2|(e.rotation??0),24),typeof e.collision==`boolean`?(this.bit(e.collision),this.bit(e.collision),this.bit(e.collision),this.bit(!0),this.bit(e.collision)):(this.bit(e.collision?.player??!0),this.bit(e.collision?.weapon??!0),this.bit(e.collision?.interaction??!0),this.bit(e.collision?.tool??!0),this.bit(e.collision?.physics??!0)),this.bit(e.visibility??!0),this.int(e.material_index??0,l),this.int(e.physical_index??0,u),this.int(e.material_intensity??5,11),typeof e.color==`number`)this.bit(!1),this.int(e.color,s);else{if(this.bit(!0),e.color&&(!Array.isArray(e.color)||e.color.length<3))throw Error(`Expected save.bricks[${t}].color to be an array of at least length 3`);this.bytes(new Uint8Array(e.color?.slice(0,3)??[255,255,255]))}this.uint_packed(e.owner_index>=0?e.owner_index:0);for(let n in e.components??{})a[n]??(a[n]=[]),a[n].push(t)}).finish()),n(K.array(Object.keys(e.components??Nr).filter(e=>a[e]),t=>W(K.string(t),K.bits().self(function(){let n=e.components?.[t]??Nr[t],r=a[t],i=Object.entries(n.properties);t in d||(d[t]=f,f++),this.bytes(K.i32(n.version)),this.array(r,t=>{this.int(t,Math.max(e.bricks.length,2))}),this.array(i,([e,t])=>{this.string(e),this.string(t)});for(let n of r)for(let[r,a]of i){if(!(r in(e.bricks[n].components?.[t]??{})))throw Error(`Expected save.bricks[${n}].components[${t}] to have property '${r}' of type '${a}'`);this.unreal(a,e.bricks[n].components[t][r])}this.align()}).finishSection()))),n(K.bits().self(function(){let t=4294967295;if(!e.wires||!Array.isArray(e.wires)||e.wires.length===0){this.int(0,t);return}this.int(e.wires.length,t);for(let t of e.wires){if(typeof t!=`object`)throw Error(`Expected save.wires to be an array of objects`);if(!(t.source&&typeof t.source==`object`&&typeof t.source.brick_index==`number`&&typeof t.source.component==`string`&&typeof t.source.port==`string`))throw Error(`Expected save.wires[i].source to be an object with brick_index, component, and port properties`);if(!(t.target&&typeof t.target==`object`&&typeof t.target.brick_index==`number`&&typeof t.target.component==`string`&&typeof t.target.port==`string`))throw Error(`Expected save.wires[i].target to be an object with brick_index, component, and port properties`);if(!(t.source.component in d))throw Error(`Unknown component '${t.source.component}' in wire source`);if(!(t.target.component in d))throw Error(`Unknown component '${t.target.component}' in wire target`);this.int(t.source.brick_index,e.bricks.length),this.int(d[t.source.component],f),this.string(t.source.port),this.int(t.target.brick_index,e.bricks.length),this.int(d[t.target.component],f),this.string(t.target.port),this.bit(!1),this.align()}}).finish()))}var Fr=n({Direction:()=>Ir,Rotation:()=>Lr}),Ir=function(e){return e[e.XPositive=0]=`XPositive`,e[e.XNegative=1]=`XNegative`,e[e.YPositive=2]=`YPositive`,e[e.YNegative=3]=`YNegative`,e[e.ZPositive=4]=`ZPositive`,e[e.ZNegative=5]=`ZNegative`,e}({}),Lr=function(e){return e[e.Deg0=0]=`Deg0`,e[e.Deg90=1]=`Deg90`,e[e.Deg180=2]=`Deg180`,e[e.Deg270=3]=`Deg270`,e}({}),Rr=(e,t)=>((e.Flags[t>>3]??0)>>(t&7)&1)==1,zr=class{constructor(){this.bytes=[],this.bits=0}push(e){this.bits>=this.bytes.length*8&&this.bytes.push(0),e&&(this.bytes[this.bits>>3]|=1<<(this.bits&7)),this.bits+=1}toValue(){return{Flags:this.bytes}}};function Br(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function Vr(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(`${n}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw RangeError(`${n}expected integer >= 0, got ${e}`)}}function Hr(e,t,n=``){let r=Br(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`,l=o+`expected Uint8Array`+s+`, got `+c;throw r?RangeError(l):TypeError(l)}return e}function Ur(e){return Uint8Array.from(Hr(e))}function Wr(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function Gr(e,t){Hr(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw RangeError(`"digestInto() output" expected to be of length >=`+n)}function Kr(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function qr(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function Jr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Yr(e,t){return e<<32-t|e>>>t}var Xr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Zr(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}var Qr=Xr?e=>e:e=>Zr(e)>>>0;function $r(e){for(let t=0;t<e.length;t++)e[t]=Zr(e[t]);return e}var q=Xr?e=>e:$r,ei=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,ti=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function ni(e){if(Hr(e),ei)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=ti[e[n]];return t}function ri(e,t={}){let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}var ii=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ai=BigInt(2**32-1),oi=BigInt(32);function si(e,t=!1){return t?{h:Number(e&ai),l:Number(e>>oi&ai)}:{h:Number(e>>oi&ai)|0,l:Number(e&ai)|0}}function ci(e,t,n,r,i){return e=e+t+i|0,r=Yr(r^e,16),n=n+r|0,t=Yr(t^n,12),{a:e,b:t,c:n,d:r}}function li(e,t,n,r,i){return e=e+t+i|0,r=Yr(r^e,8),n=n+r|0,t=Yr(t^n,7),{a:e,b:t,c:n,d:r}}var ui=class{constructor(e,t){u(this,`buffer`,void 0),u(this,`buffer32`,void 0),u(this,`finished`,!1),u(this,`destroyed`,!1),u(this,`length`,0),u(this,`pos`,0),u(this,`blockLen`,void 0),u(this,`outputLen`,void 0),u(this,`canXOF`,!1),Vr(e),Vr(t),this.blockLen=e,this.outputLen=t,this.buffer=new Uint8Array(e),this.buffer32=qr(this.buffer)}update(e){Wr(this),Hr(e);let{blockLen:t,buffer:n,buffer32:r}=this,i=e.length,a=e.byteOffset,o=e.buffer;for(let s=0;s<i;){this.pos===t&&(q(r),this.compress(r,0,!1),q(r),this.pos=0);let c=Math.min(t-this.pos,i-s),l=a+s;if(c===t&&!(l%4)&&s+c<i){let e=new Uint32Array(o,l,Math.floor((i-s)/4));q(e);for(let n=0;s+t<i;n+=r.length,s+=t)this.length+=t,this.compress(e,n,!1);q(e);continue}n.set(e.subarray(s,s+c),this.pos),this.pos+=c,this.length+=c,s+=c}return this}digestInto(e){Wr(this),Gr(e,this);let{pos:t,buffer32:n}=this;if(this.finished=!0,Jr(this.buffer.subarray(t)),q(n),this.compress(n,0,!0),q(n),e.byteOffset&3)throw RangeError(`"digestInto() output" expected 4-byte aligned byteOffset, got `+e.byteOffset);let r=this.get(),i=qr(e),a=Math.floor(this.outputLen/4);for(let e=0;e<a;e++)i[e]=Qr(r[e]);let o=this.outputLen%4;if(!o)return;let s=a*4,c=r[a];for(let t=0;t<o;t++)e[s+t]=c>>>8*t}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){let{buffer:t,length:n,finished:r,destroyed:i,outputLen:a,pos:o}=this;return e||(e=new this.constructor({dkLen:a})),e.set(...this.get()),e.buffer.set(t),e.destroyed=i,e.finished=r,e.length=n,e.pos=o,e.outputLen=a,e}clone(){return this._cloneInto()}};function di(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y){let b=0;for(let x=0;x<r;x++)({a:i,b:c,c:f,d:g}=ci(i,c,f,g,n[t+e[b++]])),{a:i,b:c,c:f,d:g}=li(i,c,f,g,n[t+e[b++]]),{a,b:l,c:p,d:_}=ci(a,l,p,_,n[t+e[b++]]),{a,b:l,c:p,d:_}=li(a,l,p,_,n[t+e[b++]]),{a:o,b:u,c:m,d:v}=ci(o,u,m,v,n[t+e[b++]]),{a:o,b:u,c:m,d:v}=li(o,u,m,v,n[t+e[b++]]),{a:s,b:d,c:h,d:y}=ci(s,d,h,y,n[t+e[b++]]),{a:s,b:d,c:h,d:y}=li(s,d,h,y,n[t+e[b++]]),{a:i,b:l,c:m,d:y}=ci(i,l,m,y,n[t+e[b++]]),{a:i,b:l,c:m,d:y}=li(i,l,m,y,n[t+e[b++]]),{a,b:u,c:h,d:g}=ci(a,u,h,g,n[t+e[b++]]),{a,b:u,c:h,d:g}=li(a,u,h,g,n[t+e[b++]]),{a:o,b:d,c:f,d:_}=ci(o,d,f,_,n[t+e[b++]]),{a:o,b:d,c:f,d:_}=li(o,d,f,_,n[t+e[b++]]),{a:s,b:c,c:p,d:v}=ci(s,c,p,v,n[t+e[b++]]),{a:s,b:c,c:p,d:v}=li(s,c,p,v,n[t+e[b++]]);return{v0:i,v1:a,v2:o,v3:s,v4:c,v5:l,v6:u,v7:d,v8:f,v9:p,v10:m,v11:h,v12:g,v13:_,v14:v,v15:y}}var fi={CHUNK_START:1,CHUNK_END:2,PARENT:4,ROOT:8,KEYED_HASH:16,DERIVE_KEY_CONTEXT:32,DERIVE_KEY_MATERIAL:64},pi=ii.slice(),mi=(()=>{let e=Array.from({length:16},(e,t)=>t),t=e=>[2,6,3,10,7,0,4,13,1,11,12,5,9,14,15,8].map(t=>e[t]),n=[];for(let r=0,i=e;r<7;r++,i=t(i))n.push(...i);return Uint8Array.from(n)})(),hi=class e extends ui{constructor(t={},n=0){super(64,t.dkLen===void 0?32:t.dkLen),u(this,`canXOF`,!0),u(this,`chunkPos`,0),u(this,`chunksDone`,0),u(this,`flags`,0),u(this,`IV`,void 0),u(this,`state`,void 0),u(this,`stack`,[]),u(this,`posOut`,0),u(this,`bufferOut32`,new Uint32Array(16)),u(this,`bufferOut`,void 0),u(this,`chunkOut`,0),u(this,`enableXOF`,!0);let{key:r,context:i}=t,a=i!==void 0;if(r!==void 0){if(a)throw Error(`Only "key" or "context" can be specified at same time`);Hr(r,32,`key`);let e=Ur(r);this.IV=qr(e),q(this.IV),this.flags=n|fi.KEYED_HASH}else if(a){Hr(i,void 0,`context`);let t=i,r=new e({dkLen:32},fi.DERIVE_KEY_CONTEXT).update(t).digest();this.IV=qr(r),q(this.IV),this.flags=n|fi.DERIVE_KEY_MATERIAL}else this.IV=pi.slice(),this.flags=n;this.state=this.IV.slice(),this.bufferOut=Kr(this.bufferOut32)}get(){return[]}set(){}b2Compress(e,t,n,r=0){let{state:i,pos:a}=this,{h:o,l:s}=si(BigInt(e),!0),{v0:c,v1:l,v2:u,v3:d,v4:f,v5:p,v6:m,v7:h,v8:g,v9:_,v10:v,v11:y,v12:b,v13:x,v14:S,v15:C}=di(mi,r,n,7,i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7],pi[0],pi[1],pi[2],pi[3],o,s,a,t);i[0]=c^g,i[1]=l^_,i[2]=u^v,i[3]=d^y,i[4]=f^b,i[5]=p^x,i[6]=m^S,i[7]=h^C}compress(e,t=0,n=!1){let r=this.flags;if(this.chunkPos||(r|=fi.CHUNK_START),(this.chunkPos===15||n)&&(r|=fi.CHUNK_END),n||(this.pos=this.blockLen),this.b2Compress(this.chunksDone,r,e,t),this.chunkPos+=1,this.chunkPos===16||n){let e=this.state;this.state=this.IV.slice();for(let t,r=this.chunksDone+1;(n||!(r&1))&&(t=this.stack.pop());r>>=1)this.buffer32.set(t,0),this.buffer32.set(e,8),this.pos=this.blockLen,this.b2Compress(0,this.flags|fi.PARENT,this.buffer32,0),e=this.state,this.state=this.IV.slice();this.chunksDone++,this.chunkPos=0,this.stack.push(e)}this.pos=0}_cloneInto(e){e=super._cloneInto(e);let{IV:t,flags:n,state:r,chunkPos:i,posOut:a,chunkOut:o,stack:s,chunksDone:c}=this;return e.state.set(r.slice()),e.stack=s.map(e=>Uint32Array.from(e)),e.IV.set(t),e.flags=n,e.chunkPos=i,e.chunksDone=c,e.posOut=a,e.chunkOut=o,e.enableXOF=this.enableXOF,e.bufferOut32.set(this.bufferOut32),e}destroy(){this.destroyed=!0,Jr(this.state,this.buffer32,this.IV,this.bufferOut32),Jr(...this.stack)}b2CompressOut(){let{state:e,pos:t,flags:n,buffer32:r,bufferOut32:i}=this,{h:a,l:o}=si(BigInt(this.chunkOut++));q(r);let{v0:s,v1:c,v2:l,v3:u,v4:d,v5:f,v6:p,v7:m,v8:h,v9:g,v10:_,v11:v,v12:y,v13:b,v14:x,v15:S}=di(mi,0,r,7,e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],pi[0],pi[1],pi[2],pi[3],o,a,t,n);i[0]=s^h,i[1]=c^g,i[2]=l^_,i[3]=u^v,i[4]=d^y,i[5]=f^b,i[6]=p^x,i[7]=m^S,i[8]=e[0]^h,i[9]=e[1]^g,i[10]=e[2]^_,i[11]=e[3]^v,i[12]=e[4]^y,i[13]=e[5]^b,i[14]=e[6]^x,i[15]=e[7]^S,q(r),q(i),this.posOut=0}finish(){if(this.finished)return;this.finished=!0,Jr(this.buffer.subarray(this.pos));let e=this.flags|fi.ROOT;this.stack.length?(e|=fi.PARENT,q(this.buffer32),this.compress(this.buffer32,0,!0),q(this.buffer32),this.chunksDone=0,this.pos=this.blockLen):e|=(this.chunkPos?0:fi.CHUNK_START)|fi.CHUNK_END,this.flags=e,this.b2CompressOut()}writeInto(e){Wr(this,!1),Hr(e),this.finish();let{blockLen:t,bufferOut:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=t&&this.b2CompressOut();let a=Math.min(t-this.posOut,i-r);e.set(n.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible after digest call`);return this.writeInto(e)}xof(e){return Vr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Gr(e,this),this.finished)throw Error(`digest() was already called`);this.enableXOF=!1,this.writeInto(e.subarray(0,this.outputLen)),this.destroy()}digest(){let e=new Uint8Array(this.outputLen);return this.digestInto(e),e}},gi=ri((e={})=>new hi(e)),_i=ArrayBuffer,J=Uint8Array,vi=Uint16Array,yi=Int16Array,bi=Int32Array,xi=function(e,t,n){if(J.prototype.slice)return J.prototype.slice.call(e,t,n);(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length);var r=new J(n-t);return r.set(e.subarray(t,n)),r},Si=function(e,t,n,r){if(J.prototype.fill)return J.prototype.fill.call(e,t,n,r);for((n==null||n<0)&&(n=0),(r==null||r>e.length)&&(r=e.length);n<r;++n)e[n]=t;return e},Ci=function(e,t,n,r){if(J.prototype.copyWithin)return J.prototype.copyWithin.call(e,t,n,r);for((n==null||n<0)&&(n=0),(r==null||r>e.length)&&(r=e.length);n<r;)e[t++]=e[n++]},wi=[`invalid zstd data`,`window size too large (>2046MB)`,`invalid block type`,`FSE accuracy too high`,`match distance too far back`,`unexpected EOF`],Y=function(e,t,n){var r=Error(t||wi[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,Y),!n)throw r;return r},Ti=function(e,t,n){for(var r=0,i=0;r<n;++r)i|=e[t++]<<(r<<3);return i},Ei=function(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0},Di=function(e,t){var n=e[0]|e[1]<<8|e[2]<<16;if(n==3126568&&e[3]==253){var r=e[4],i=r>>5&1,a=r>>2&1,o=r&3,s=r>>6;r&8&&Y(0);var c=6-i,l=o==3?4:o,u=Ti(e,c,l);c+=l;var d=s?1<<s:i,f=Ti(e,c,d)+(s==1&&256),p=f;if(!i){var m=1<<10+(e[5]>>3);p=m+(m>>3)*(e[5]&7)}p>2145386496&&Y(1);var h=new J((t==1?f||p:t?0:p)+12);return h[0]=1,h[4]=4,h[8]=8,{b:c+d,y:0,l:0,d:u,w:t&&t!=1?t:h.subarray(12),e:p,o:new bi(h.buffer,0,3),u:f,c:a,m:Math.min(131072,p)}}else if((n>>4|e[3]<<20)==25481893)return Ei(e,4)+8;Y(0)},Oi=function(e){for(var t=0;1<<t<=e;++t);return t-1},ki=function(e,t,n){var r=(t<<3)+4,i=(e[t]&15)+5;i>n&&Y(3);for(var a=1<<i,o=a,s=-1,c=-1,l=-1,u=a,d=new _i(512+(a<<2)),f=new yi(d,0,256),p=new vi(d,0,256),m=new vi(d,512,a),h=512+(a<<1),g=new J(d,h,a),_=new J(d,h+a);s<255&&o>0;){var v=Oi(o+1),y=r>>3,b=(1<<v+1)-1,x=(e[y]|e[y+1]<<8|e[y+2]<<16)>>(r&7)&b,S=(1<<v)-1,C=b-o-1,w=x&S;if(w<C?(r+=v,x=w):(r+=v+1,x>S&&(x-=C)),f[++s]=--x,x==-1?(o+=x,g[--u]=s):o-=x,!x)do{var T=r>>3;c=(e[T]|e[T+1]<<8)>>(r&7)&3,r+=2,s+=c}while(c==3)}(s>255||o)&&Y(0);for(var E=0,D=(a>>1)+(a>>3)+3,O=a-1,k=0;k<=s;++k){var A=f[k];if(A<1){p[k]=-A;continue}for(l=0;l<A;++l){g[E]=k;do E=E+D&O;while(E>=u)}}for(E&&Y(0),l=0;l<a;++l){var j=p[g[l]]++;m[l]=(j<<(_[l]=i-Oi(j)))-a}return[r+7>>3,{b:i,s:g,n:_,t:m}]},Ai=function(e,t){var n=0,r=-1,i=new J(292),a=e[t],o=i.subarray(0,256),s=i.subarray(256,268),c=new vi(i.buffer,268);if(a<128){var l=ki(e,t+1,6),u=l[0],d=l[1];t+=a;var f=u<<3,p=e[t];p||Y(0);for(var m=0,h=0,g=d.b,_=g,v=(++t<<3)-8+Oi(p);v-=g,!(v<f);){var y=v>>3;if(m+=(e[y]|e[y+1]<<8)>>(v&7)&(1<<g)-1,o[++r]=d.s[m],v-=_,v<f)break;y=v>>3,h+=(e[y]|e[y+1]<<8)>>(v&7)&(1<<_)-1,o[++r]=d.s[h],g=d.n[m],m=d.t[m],_=d.n[h],h=d.t[h]}++r>255&&Y(0)}else{for(r=a-127;n<r;n+=2){var b=e[++t];o[n]=b>>4,o[n+1]=b&15}++t}var x=0;for(n=0;n<r;++n){var S=o[n];S>11&&Y(0),x+=S&&1<<S-1}var C=Oi(x)+1,w=1<<C,T=w-x;for(T&T-1&&Y(0),o[r++]=Oi(T)+1,n=0;n<r;++n){var S=o[n];++s[o[n]=S&&C+1-S]}var E=new J(w<<1),D=E.subarray(0,w),O=E.subarray(w);for(c[C]=0,n=C;n>0;--n){var k=c[n];Si(O,n,k,c[n-1]=k+s[n]*(1<<C-n))}for(c[0]!=w&&Y(0),n=0;n<r;++n){var A=o[n];if(A){var j=c[A];Si(D,n,j,c[A]=j+(1<<C-A))}}return[t,{n:O,b:C,s:D}]},ji=ki(new J([81,16,99,140,49,198,24,99,12,33,196,24,99,102,102,134,70,146,4]),0,6)[1],Mi=ki(new J([33,20,196,24,99,140,33,132,16,66,8,33,132,16,66,8,33,68,68,68,68,68,68,68,68,36,9]),0,6)[1],Ni=ki(new J([32,132,16,66,102,70,68,68,68,68,36,73,2]),0,5)[1],Pi=function(e,t){for(var n=e.length,r=new bi(n),i=0;i<n;++i)r[i]=t,t+=1<<e[i];return r},Fi=new J(new bi([0,0,0,0,16843009,50528770,134678020,202050057,269422093]).buffer,0,36),Ii=Pi(Fi,0),Li=new J(new bi([0,0,0,0,0,0,0,0,16843009,50528770,117769220,185207048,252579084,16]).buffer,0,53),Ri=Pi(Li,3),zi=function(e,t,n){var r=e.length,i=t.length,a=e[r-1],o=(1<<n.b)-1,s=-n.b;a||Y(0);for(var c=0,l=n.b,u=(r<<3)-8+Oi(a)-l,d=-1;u>s&&d<i;){var f=u>>3,p=(e[f]|e[f+1]<<8|e[f+2]<<16)>>(u&7);c=(c<<l|p)&o,t[++d]=n.s[c],u-=l=n.n[c]}(u!=s||d+1!=i)&&Y(0)},Bi=function(e,t,n){var r=6,i=t.length+3>>2,a=i<<1,o=i+a;zi(e.subarray(r,r+=e[0]|e[1]<<8),t.subarray(0,i),n),zi(e.subarray(r,r+=e[2]|e[3]<<8),t.subarray(i,a),n),zi(e.subarray(r,r+=e[4]|e[5]<<8),t.subarray(a,o),n),zi(e.subarray(r),t.subarray(o),n)},Vi=function(e,t,n){var r,i=t.b,a=e[i],o=a>>1&3;t.l=a&1;var s=a>>3|e[i+1]<<5|e[i+2]<<13,c=(i+=3)+s;if(o==1)return i>=e.length?void 0:(t.b=i+1,n?(Si(n,e[i],t.y,t.y+=s),n):Si(new J(s),e[i]));if(!(c>e.length)){if(o==0)return t.b=c,n?(n.set(e.subarray(i,c),t.y),t.y+=s,n):xi(e,i,c);if(o==2){var l=e[i],u=l&3,d=l>>2&3,f=l>>4,p=0,m=0;u<2?d&1?f|=e[++i]<<4|(d&2&&e[++i]<<12):f=l>>3:(m=d,d<2?(f|=(e[++i]&63)<<4,p=e[i]>>6|e[++i]<<2):d==2?(f|=e[++i]<<4|(e[++i]&3)<<12,p=e[i]>>2|e[++i]<<6):(f|=e[++i]<<4|(e[++i]&63)<<12,p=e[i]>>6|e[++i]<<2|e[++i]<<10)),++i;var h=n?n.subarray(t.y,t.y+t.m):new J(t.m),g=h.length-f;if(u==0)h.set(e.subarray(i,i+=f),g);else if(u==1)Si(h,e[i++],g);else{var _=t.h;if(u==2){var v=Ai(e,i);p+=i-(i=v[0]),t.h=_=v[1]}else _||Y(0);(m?Bi:zi)(e.subarray(i,i+=p),h.subarray(g),_)}var y=e[i++];if(y){y==255?y=(e[i++]|e[i++]<<8)+32512:y>127&&(y=y-128<<8|e[i++]);var b=e[i++];b&3&&Y(0);for(var x=[Mi,Ni,ji],S=2;S>-1;--S){var C=b>>(S<<1)+2&3;if(C==1){var w=new J([0,0,e[i++]]);x[S]={s:w.subarray(2,3),n:w.subarray(0,1),t:new vi(w.buffer,0,1),b:0}}else C==2?(r=ki(e,i,9-(S&1)),i=r[0],x[S]=r[1]):C==3&&(t.t||Y(0),x[S]=t.t[S])}var T=t.t=x,E=T[0],D=T[1],O=T[2],k=e[c-1];k||Y(0);var A=(c<<3)-8+Oi(k)-O.b,j=A>>3,M=0,ee=(e[j]|e[j+1]<<8)>>(A&7)&(1<<O.b)-1;j=(A-=D.b)>>3;var te=(e[j]|e[j+1]<<8)>>(A&7)&(1<<D.b)-1;j=(A-=E.b)>>3;var ne=(e[j]|e[j+1]<<8)>>(A&7)&(1<<E.b)-1;for(++y;--y;){var re=O.s[ee],ie=O.n[ee],ae=E.s[ne],oe=E.n[ne],se=D.s[te],ce=D.n[te];j=(A-=se)>>3;var le=1<<se,ue=le+((e[j]|e[j+1]<<8|e[j+2]<<16|e[j+3]<<24)>>>(A&7)&le-1);j=(A-=Li[ae])>>3;var de=Ri[ae]+((e[j]|e[j+1]<<8|e[j+2]<<16)>>(A&7)&(1<<Li[ae])-1);j=(A-=Fi[re])>>3;var fe=Ii[re]+((e[j]|e[j+1]<<8|e[j+2]<<16)>>(A&7)&(1<<Fi[re])-1);if(j=(A-=ie)>>3,ee=O.t[ee]+((e[j]|e[j+1]<<8)>>(A&7)&(1<<ie)-1),j=(A-=oe)>>3,ne=E.t[ne]+((e[j]|e[j+1]<<8)>>(A&7)&(1<<oe)-1),j=(A-=ce)>>3,te=D.t[te]+((e[j]|e[j+1]<<8)>>(A&7)&(1<<ce)-1),ue>3)t.o[2]=t.o[1],t.o[1]=t.o[0],t.o[0]=ue-=3;else{var pe=ue-(fe!=0);pe?(ue=pe==3?t.o[0]-1:t.o[pe],pe>1&&(t.o[2]=t.o[1]),t.o[1]=t.o[0],t.o[0]=ue):ue=t.o[0]}for(var S=0;S<fe;++S)h[M+S]=h[g+S];M+=fe,g+=fe;var me=M-ue;if(me<0){var he=-me,ge=t.e+me;he>de&&(he=de);for(var S=0;S<he;++S)h[M+S]=t.w[ge+S];M+=he,de-=he,me=0}for(var S=0;S<de;++S)h[M+S]=h[me+S];M+=de}if(M!=g)for(;g<h.length;)h[M++]=h[g++];else M=h.length;n?t.y+=M:h=xi(h,0,M)}else if(n){if(t.y+=f,g)for(var S=0;S<f;++S)h[S]=h[g+S]}else g&&(h=xi(h,g));return t.b=c,h}Y(2)}},Hi=function(e,t){if(e.length==1)return e[0];for(var n=new J(t),r=0,i=0;r<e.length;++r){var a=e[r];n.set(a,i),i+=a.length}return n};function Ui(e,t){for(var n=[],r=+!t,i=0,a=0;e.length;){var o=Di(e,r||t);if(typeof o==`object`){for(r?(t=null,o.w.length==o.u&&(n.push(t=o.w),a+=o.u)):(n.push(t),o.e=0);!o.l;){var s=Vi(e,o,t);s||Y(5),t?o.e=o.y:(n.push(s),a+=s.length,Ci(o.w,0,s.length),o.w.set(s,o.w.length-s.length))}i=o.b+o.c*4}else i=o;e=e.subarray(i)}return Hi(n,a)}var Wi=class{constructor(){this.buf=new Uint8Array(256),this.view=new DataView(this.buf.buffer),this.len=0}ensure(e){if(this.len+e<=this.buf.length)return;let t=this.buf.length*2;for(;t<this.len+e;)t*=2;let n=new Uint8Array(t);n.set(this.buf.subarray(0,this.len)),this.buf=n,this.view=new DataView(n.buffer)}get length(){return this.len}u8(e){this.ensure(1),this.buf[this.len++]=e&255}i8(e){this.ensure(1),this.view.setInt8(this.len,e),this.len+=1}bytes(e){let t=e instanceof Uint8Array?e:Uint8Array.from(e);this.ensure(t.length),this.buf.set(t,this.len),this.len+=t.length}u16be(e){this.ensure(2),this.view.setUint16(this.len,e,!1),this.len+=2}u32be(e){this.ensure(4),this.view.setUint32(this.len,e,!1),this.len+=4}u64be(e){this.ensure(8),this.view.setBigUint64(this.len,e,!1),this.len+=8}i16be(e){this.ensure(2),this.view.setInt16(this.len,e,!1),this.len+=2}i32be(e){this.ensure(4),this.view.setInt32(this.len,e,!1),this.len+=4}i64be(e){this.ensure(8),this.view.setBigInt64(this.len,e,!1),this.len+=8}f32be(e){this.ensure(4),this.view.setFloat32(this.len,e,!1),this.len+=4}f64be(e){this.ensure(8),this.view.setFloat64(this.len,e,!1),this.len+=8}u16le(e){this.ensure(2),this.view.setUint16(this.len,e,!0),this.len+=2}u32le(e){this.ensure(4),this.view.setUint32(this.len,e,!0),this.len+=4}u64le(e){this.ensure(8),this.view.setBigUint64(this.len,e,!0),this.len+=8}i16le(e){this.ensure(2),this.view.setInt16(this.len,e,!0),this.len+=2}i32le(e){this.ensure(4),this.view.setInt32(this.len,e,!0),this.len+=4}i64le(e){this.ensure(8),this.view.setBigInt64(this.len,e,!0),this.len+=8}f32le(e){this.ensure(4),this.view.setFloat32(this.len,e,!0),this.len+=4}f64le(e){this.ensure(8),this.view.setFloat64(this.len,e,!0),this.len+=8}toBytes(){return this.buf.slice(0,this.len)}},Gi=class{constructor(e,t=0){this.data=e,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.offset=t}get remaining(){return this.data.length-this.offset}need(e){if(this.offset+e>this.data.length)throw RangeError(`brdb: unexpected end of data (need ${e} bytes at offset ${this.offset} of ${this.data.length})`)}peek(){return this.need(1),this.data[this.offset]}u8(){return this.need(1),this.data[this.offset++]}i8(){return this.need(1),this.view.getInt8(this.offset++)}bytes(e){this.need(e);let t=this.data.subarray(this.offset,this.offset+e);return this.offset+=e,t}u16be(){this.need(2);let e=this.view.getUint16(this.offset,!1);return this.offset+=2,e}u32be(){this.need(4);let e=this.view.getUint32(this.offset,!1);return this.offset+=4,e}u64be(){this.need(8);let e=this.view.getBigUint64(this.offset,!1);return this.offset+=8,e}i16be(){this.need(2);let e=this.view.getInt16(this.offset,!1);return this.offset+=2,e}i32be(){this.need(4);let e=this.view.getInt32(this.offset,!1);return this.offset+=4,e}i64be(){this.need(8);let e=this.view.getBigInt64(this.offset,!1);return this.offset+=8,e}f32be(){this.need(4);let e=this.view.getFloat32(this.offset,!1);return this.offset+=4,e}f64be(){this.need(8);let e=this.view.getFloat64(this.offset,!1);return this.offset+=8,e}u16le(){this.need(2);let e=this.view.getUint16(this.offset,!0);return this.offset+=2,e}u32le(){this.need(4);let e=this.view.getUint32(this.offset,!0);return this.offset+=4,e}u64le(){this.need(8);let e=this.view.getBigUint64(this.offset,!0);return this.offset+=8,e}i16le(){this.need(2);let e=this.view.getInt16(this.offset,!0);return this.offset+=2,e}i32le(){this.need(4);let e=this.view.getInt32(this.offset,!0);return this.offset+=4,e}i64le(){this.need(8);let e=this.view.getBigInt64(this.offset,!0);return this.offset+=8,e}f32le(){this.need(4);let e=this.view.getFloat32(this.offset,!0);return this.offset+=4,e}f64le(){this.need(8);let e=this.view.getFloat64(this.offset,!0);return this.offset+=8,e}};function Ki(e,t={}){let n=e.map(([e,t])=>({parentId:-1,name:e,node:t})),r=[],i=[],a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=new Map;for(let e=0;e<n.length;e++){let{parentId:m,name:h,node:g}=n[e];if(g.type===`folder`){let e=r.length;r.push(m),i.push(h);for(let[t,r]of g.children)n.push({parentId:e,name:t,node:r})}else{a.push(m),s.push(h);let e=g.content,n;if(e.length===0)n=-1;else{let r=gi(e),i=ni(r),a=p.get(i);if(a!==void 0)n=a;else{n=d.length,p.set(i,n),d.push(r),l.push(e.length);let a=t.compress?t.compress(e):null;a&&a.length<e.length?(c.push(1),u.push(a.length),f.push(a)):(c.push(0),u.push(e.length),f.push(e))}}o.push(n)}}let m=new TextEncoder,h=new Wi;h.i32le(i.length),h.i32le(s.length),h.i32le(d.length);for(let e of r)h.i32le(e);let g=i.map(e=>m.encode(e));for(let e of g)h.u16le(e.length);for(let e of g)h.bytes(e);for(let e of a)h.i32le(e);for(let e of o)h.i32le(e);let _=s.map(e=>m.encode(e));for(let e of _)h.u16le(e.length);for(let e of _)h.bytes(e);for(let e of c)h.u8(e);for(let e of l)h.i32le(e);for(let e of u)h.i32le(e);for(let e of d)h.bytes(e);let v=h.toBytes(),y=new Wi;y.bytes([66,82,90]),y.u8(0),y.u8(0),y.i32le(v.length),y.i32le(v.length),y.bytes(gi(v)),y.bytes(v);for(let e of f)y.bytes(e);return y.toBytes()}var qi=class e{constructor(e,t,n,r,i,a,o){this.folderParentIds=e,this.folderNames=t,this.fileParentIds=n,this.fileContentIds=r,this.fileNames=i,this.blobs=a,this.blobData=o,this.folderLut=new Map,this.fileLut=new Map,this.pathCache=null;for(let n=0;n<t.length;n++)this.folderLut.set(`${e[n]} ${t[n]}`,n);for(let e=0;e<i.length;e++)this.fileLut.set(`${n[e]} ${i[e]}`,e)}static from(t){let n=new Gi(t),r=n.bytes(3);if(r[0]!==66||r[1]!==82||r[2]!==90)throw Error(`brdb: invalid .brz magic`);let i=n.u8();if(i!==0)throw Error(`brdb: unsupported .brz version ${i}`);let a=n.u8();if(a!==0&&a!==1)throw Error(`brdb: invalid index compression method ${a}`);let o=n.i32le(),s=n.i32le();if(o<0||s<0)throw Error(`brdb: negative index size`);let c=n.bytes(32),l;if(a===0)l=n.bytes(o);else if(l=Ui(n.bytes(s),new Uint8Array(o)),l.length!==o)throw Error(`brdb: index decompressed to the wrong size`);if(ni(gi(l))!==ni(c))throw Error(`brdb: index hash mismatch`);let u=n.bytes(n.remaining),d=new Gi(l),f=d.i32le(),p=d.i32le(),m=d.i32le();if(f<0||p<0||m<0)throw Error(`brdb: negative index count`);let h=(e,t)=>Array.from({length:e},t),g=h(f,()=>d.i32le()),_=h(f,()=>d.u16le()),v=new TextDecoder(`utf-8`,{fatal:!0}),y=_.map(e=>v.decode(d.bytes(e))),b=h(p,()=>d.i32le()),x=h(p,()=>d.i32le()),S=h(p,()=>d.u16le()).map(e=>v.decode(d.bytes(e))),C=h(m,()=>d.u8()),w=h(m,()=>d.i32le()),T=h(m,()=>d.i32le()),E=h(m,()=>d.bytes(32).slice());if(d.remaining!==0)throw Error(`brdb: trailing bytes in index`);let D=[],O=0;for(let e=0;e<m;e++){if(w[e]<0||T[e]<0)throw Error(`brdb: negative blob size`);let t=C[e]===0?w[e]:T[e];D.push({method:C[e],sizeUncompressed:w[e],sizeCompressed:T[e],hash:E[e],start:O,end:O+t}),O+=t}return new e(g,y,b,x,S,D,u)}findFolder(e,t){return this.folderLut.get(`${e} ${t}`)??null}findFile(e,t){let n=this.fileLut.get(`${e} ${t}`);return n===void 0?null:{contentId:this.fileContentIds[n]}}folderIdOf(e){if(e===``)return-1;let t=-1;for(let n of e.split(`/`)){let e=this.findFolder(t,n);if(e===null)return null;t=e}return t}childFolders(e){let t=this.folderIdOf(e);if(t===null)return[];let n=[];for(let e=0;e<this.folderNames.length;e++)this.folderParentIds[e]===t&&n.push(this.folderNames[e]);return n}childFiles(e){let t=this.folderIdOf(e);if(t===null)return[];let n=[];for(let e=0;e<this.fileNames.length;e++)this.fileParentIds[e]===t&&n.push(this.fileNames[e]);return n}blobMethod(e){return this.blob(e).method}blob(e){if(e<0||e>=this.blobs.length)throw Error(`brdb: blob ${e} not found`);return this.blobs[e]}readBlob(e){let t=this.blob(e),n=this.blobData.subarray(t.start,t.end),r;if(t.method===0)r=n;else{if(n.length!==t.sizeCompressed)throw Error(`brdb: blob compressed size mismatch`);r=Ui(n,new Uint8Array(t.sizeUncompressed))}if(r.length!==t.sizeUncompressed)throw Error(`brdb: blob uncompressed size mismatch`);if(ni(gi(r))!==ni(t.hash))throw Error(`brdb: blob hash mismatch`);return r}readFile(e){if(e.startsWith(`/`))throw Error(`brdb: absolute paths not allowed`);let t=e.split(`/`),n=-1;for(let r=0;r<t.length-1;r++){let i=this.findFolder(n,t[r]);if(i===null)throw Error(`brdb: folder not found: ${t[r]} in ${e}`);n=i}let r=this.findFile(n,t[t.length-1]);if(!r)throw Error(`brdb: file not found: ${e}`);return r.contentId===-1?new Uint8Array:this.readBlob(r.contentId)}findFileByPath(e){if(e.startsWith(`/`))throw Error(`brdb: absolute paths not allowed`);let t=e.lastIndexOf(`/`),n=this.folderIdOf(t===-1?``:e.slice(0,t));if(n===null)return null;let r=this.findFile(n,e.slice(t+1));return r===null?null:{contentId:r.contentId,createdAt:0}}findFileByPathAtRevision(e,t){return this.findFileByPath(e)}listPaths(){if(this.pathCache)return this.pathCache;let e=[];for(let t=0;t<this.folderNames.length;t++){let n=this.folderParentIds[t];e.push(n===-1?this.folderNames[t]:`${e[n]}/${this.folderNames[t]}`)}return this.pathCache=this.fileNames.map((t,n)=>{let r=this.fileParentIds[n];return r===-1?t:`${e[r]}/${t}`}),this.pathCache}},Ji=`B_1x1_Reroute_Node.B_1x1_Gate_AND.B_1x1_Gate_OR.B_1x1_Gate_XOR.B_1x1_Gate_NAND.B_1x1_Gate_NOR.B_1x1_NOT_Gate.B_1x1_Gate_AND_Bitwise.B_1x1_Gate_OR_Bitwise.B_1x1_Gate_XOR_Bitwise.B_1x1_Gate_NAND_Bitwise.B_1x1_Gate_NOR_Bitwise.B_1x1_Gate_NOT_Bitwise.B_1x1_Gate_ShiftLeft_Bitwise.B_1x1_Gate_ShiftRight_Bitwise.B_1x1_Gate_Add.B_1x1_Gate_Subtract.B_1x1_Gate_Multiply.B_1x1_Gate_ModFloored.B_1x1_Gate_Mod.B_1x1_Gate_Divide.B_1x1_Gate_Equal.B_1x1_Gate_NotEqual.B_1x1_Gate_LessThan.B_1x1_Gate_LessThanEqual.B_1x1_Gate_GreaterThan.B_1x1_Gate_GreaterThanEqual.B_1x1_Gate_Ceiling.B_1x1_Gate_Floor.B_1x1_Gate_Constant.B_1x1_Gate_Blend.B_1x1_Gate_EdgeDetector.B_1x1_Gate_Timer.B_1x1_Gate_Timer_Tick.B_1x1_Microchip.B_1x1_Gate_MicrochipInput.B_1x1_Gate_MicrochipOutput.B_2x2_Overhang.B_1x4_Brick_Side.B_1x2_Overhang.B_1x1_Brick_Side_Lip.B_1x1_Brick_Side.B_Jar.B_Chalice.B_Cauldron.B_Small_Flower.B_Pine_Tree.B_Leaf_Bush.B_Hedge_1x4.B_Hedge_1x2.B_Hedge_1x1_Corner.B_Hedge_1x1.B_Flower.B_Fern.B_Branch.B_2x4_Door_Frame.B_Turkey_Leg.B_Turkey_Body.B_Swirl_Plate.B_Sausage.B_Pumpkin_Carved.B_Pumpkin.B_Ladder.B_Inverted_Cone.B_Handle.B_Gravestone.B_Frog_Small.B_Frog.B_Flame.B_Coffin_Lid.B_Coffin.B_BoneStraight.B_Bone.B_1x1_Coin_Diagonal.B_1x1_Coin.B_Spoon.B_Fork.B_2x2_Corner.B_2x2f_Plate_Center_Inv.B_2x2f_Plate_Center.B_1x2f_Plate_Center_Inv.B_4x4_Round.B_2x2_Round.B_2x2F_Round.B_2x_Octo_T_Inv.B_2x_Octo_T.B_2x2F_Octo_Converter_Inv.B_2x2F_Octo_Converter.B_2x2F_Octo.B_8x8_Lattice_Plate.B_1x2_MetalIngot.B_1x1f_Tile_Corner.B_1x1f_Inverse_Tile_Corner.B_Rook.B_Queen.B_Pawn.B_Knight.B_King.B_Bishop.B_1x2f_Plate_Center.B_2x2_Cone.B_1x1_Round.B_1x1_Cone.B_1x1F_Round.B_2x_Octo_Cone.B_2x_Octo_90Deg_Inv.B_2x_Octo_90Deg.B_2x_Octo.B_1x_Octo_T_Inv.B_1x_Octo_T.B_1x_Octo_90Deg_Inv.B_1x_Octo_90Deg.B_1x_Octo.B_1x1F_Octo.B_2x2_Slipper.B_2x1_Slipper.B_Joint_Wheel_Micro.B_Joint_Wheel.B_Joint_Socket_Micro.B_Joint_Servo_Micro.B_Joint_Servo.B_Joint_Motor_Micro.B_Joint_Motor.B_Joint_Coupler.B_Joint_Bearing_Micro.B_Joint_Bearing.B_1x1_SoundEmitter.B_1x1_Gate_Teleport.B_1x1_Gate_RelativeTeleport.B_1x1_EntityGate_SetVelocity.B_1x1_EntityGate_SetLocationAndRotation.B_1x1_EntityGate_SetLocation.B_1x1_EntityGate_ReadBrickGrid.B_1x1_EntityGate_PlayAudioAt.B_1x1_EntityGate_AddVelocity.B_1x1_EntityGate_AddLocationAndRotation.B_1x1_CharacterGate_SetGravityDirection.B_Vehicle_Engine.B_Switch_Test.B_SpawnPoint.B_Seat.B_GoalPoint.B_DestinationPoint.B_CheckPoint.B_Button_Square.B_Button.B_Bot_Spawn_Point.B_2x2F_Target.B_2x2F_Speaker.B_1x1_Gate_WheelEngineSlim.B_1x1F_Speaker.B_1x1_Gate_AudioReference.B_1x1_Gate_Clock.B_1x1_Gate_DeltaTime.B_1x1_Gate_Exec_ArrayVar_Append.B_1x1_Gate_Exec_ArrayVar_Average.B_1x1_Gate_Exec_ArrayVar_Clear.B_1x1_Gate_Exec_ArrayVar_CopyFrom.B_1x1_Gate_Exec_ArrayVar_Fill.B_1x1_Gate_Exec_ArrayVar_Find.B_1x1_Gate_Exec_ArrayVar_Get.B_1x1_Gate_Exec_ArrayVar_GetLength.B_1x1_Gate_Exec_ArrayVar_Insert.B_1x1_Gate_Exec_ArrayVar_Max.B_1x1_Gate_Exec_ArrayVar_Min.B_1x1_Gate_Exec_ArrayVar_Pop.B_1x1_Gate_Exec_ArrayVar_Push.B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex.B_1x1_Gate_Exec_ArrayVar_Resize.B_1x1_Gate_Exec_ArrayVar_Reverse.B_1x1_Gate_Exec_ArrayVar_SetAtIndex.B_1x1_Gate_Exec_ArrayVar_Shuffle.B_1x1_Gate_Exec_ArrayVar_Slice.B_1x1_Gate_Exec_ArrayVar_Sort.B_1x1_Gate_Exec_ArrayVar_Sum.B_1x1_Gate_Exec_ArrayVar_Swap.B_1x1_Gate_Exec_Branch.B_1x1_Gate_Exec_Character_GetAim.B_1x1_Gate_Exec_Character_GetDamage.B_1x1_Gate_Exec_Character_GetFromController.B_1x1_Gate_Exec_Character_IncDamage.B_1x1_Gate_Exec_Character_SetDamage.B_1x1_Gate_Exec_Character_SetInventoryEntry.B_1x1_Gate_Exec_Character_SetTempPermission.B_1x1_Gate_Exec_Character_ShowHint.B_1x1_Gate_Exec_ChatCommand.B_1x1_Gate_Exec_Controller_DisplayText.B_1x1_Gate_Exec_Controller_GetDisplayName.B_1x1_Gate_Exec_Controller_GetFromEntity.B_1x1_Gate_Exec_Controller_GetUserId.B_1x1_Gate_Exec_Controller_GetUserName.B_1x1_Gate_Exec_Controller_HasPermission.B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner.B_1x1_Gate_Exec_Controller_SetCanRespawn.B_1x1_Gate_Exec_Controller_ShowStatusMessage.B_1x1_Gate_Exec_Entity_AddLocationRotation.B_1x1_Gate_Exec_Entity_AddVelocity.B_1x1_Gate_Exec_Entity_GetAngularVelocity.B_1x1_Gate_Exec_Entity_GetLinearVelocity.B_1x1_Gate_Exec_Entity_GetLocation.B_1x1_Gate_Exec_Entity_GetLocationRotation.B_1x1_Gate_Exec_Entity_GetRotation.B_1x1_Gate_Exec_Entity_GetVelocity.B_1x1_Gate_Exec_Entity_PlayAudioAt.B_1x1_Gate_Exec_Entity_RelativeTeleport.B_1x1_Gate_Exec_Entity_SetAngularVelocity.B_1x1_Gate_Exec_Entity_SetFrozen.B_1x1_Gate_Exec_Entity_SetGravityDirection.B_1x1_Gate_Exec_Entity_SetLinearVelocity.B_1x1_Gate_Exec_Entity_SetLocation.B_1x1_Gate_Exec_Entity_SetLocationRotation.B_1x1_Gate_Exec_Entity_SetRotation.B_1x1_Gate_Exec_Entity_SetVelocity.B_1x1_Gate_Exec_Entity_Teleport.B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers.B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers.B_1x1_Gate_Exec_Gamemode_GetCurrentRound.B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue.B_1x1_Gate_Exec_Gamemode_GetTeam.B_1x1_Gate_Exec_Gamemode_GetTeamByName.B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue.B_1x1_Gate_Exec_Gamemode_GetTeamName.B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue.B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue.B_1x1_Gate_Exec_Gamemode_PlayerWins.B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue.B_1x1_Gate_Exec_Gamemode_SetTeam.B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue.B_1x1_Gate_Exec_Gamemode_SetTeamPinned.B_1x1_Gate_Exec_Gamemode_TeamWins.B_1x1_Gate_Exec_PlayGlobalAudio.B_1x1_Gate_Exec_PrefabSpawner.B_1x1_Gate_Exec_PrintToConsole.B_1x1_Gate_Exec_Random.B_1x1_Gate_Exec_Sweep.B_1x1_Gate_Exec_Union.B_1x1_Gate_Exec_Var_Get.B_1x1_Gate_Exec_Var_Increment.B_1x1_Gate_Exec_Var_Set.B_1x1_Gate_Expr_BitwiseAND.B_1x1_Gate_Expr_BitwiseBitCount.B_1x1_Gate_Expr_BitwiseNAND.B_1x1_Gate_Expr_BitwiseNOR.B_1x1_Gate_Expr_BitwiseNOT.B_1x1_Gate_Expr_BitwiseOR.B_1x1_Gate_Expr_BitwiseShiftLeft.B_1x1_Gate_Expr_BitwiseShiftRight.B_1x1_Gate_Expr_BitwiseXOR.B_1x1_Gate_Expr_Ceil.B_1x1_Gate_Expr_CompareEqual.B_1x1_Gate_Expr_CompareGreater.B_1x1_Gate_Expr_CompareGreaterOrEqual.B_1x1_Gate_Expr_CompareLess.B_1x1_Gate_Expr_CompareLessOrEqual.B_1x1_Gate_Expr_CompareNotEqual.B_1x1_Gate_Expr_EdgeDetector.B_1x1_Gate_Expr_Floor.B_1x1_Gate_Expr_LogicalAND.B_1x1_Gate_Expr_LogicalNAND.B_1x1_Gate_Expr_LogicalNOR.B_1x1_Gate_Expr_LogicalNOT.B_1x1_Gate_Expr_LogicalOR.B_1x1_Gate_Expr_LogicalXOR.B_1x1_Gate_Expr_MakeColor.B_1x1_Gate_Expr_MakeVector.B_1x1_Gate_Expr_MathAbs.B_1x1_Gate_Expr_MathAcos.B_1x1_Gate_Expr_MathAcosh.B_1x1_Gate_Expr_MathAdd.B_1x1_Gate_Expr_MathAsin.B_1x1_Gate_Expr_MathAsinh.B_1x1_Gate_Expr_MathAtan.B_1x1_Gate_Expr_MathAtan2.B_1x1_Gate_Expr_MathAtanh.B_1x1_Gate_Expr_MathBlend.B_1x1_Gate_Expr_MathClamp.B_1x1_Gate_Expr_MathCos.B_1x1_Gate_Expr_MathCosh.B_1x1_Gate_Expr_MathDegreesToRadians.B_1x1_Gate_Expr_MathDivide.B_1x1_Gate_Expr_MathEasing.B_1x1_Gate_Expr_MathExp.B_1x1_Gate_Expr_MathLn.B_1x1_Gate_Expr_MathLogBase.B_1x1_Gate_Expr_MathMax.B_1x1_Gate_Expr_MathMin.B_1x1_Gate_Expr_MathModulo.B_1x1_Gate_Expr_MathModuloFloored.B_1x1_Gate_Expr_MathMultiply.B_1x1_Gate_Expr_MathNegate.B_1x1_Gate_Expr_MathPow.B_1x1_Gate_Expr_MathRadiansToDegrees.B_1x1_Gate_Expr_MathSign.B_1x1_Gate_Expr_MathSin.B_1x1_Gate_Expr_MathSinh.B_1x1_Gate_Expr_MathSqrt.B_1x1_Gate_Expr_MathSubtract.B_1x1_Gate_Expr_MathTan.B_1x1_Gate_Expr_MathTanh.B_1x1_Gate_Expr_NearlyEqual.B_1x1_Gate_Expr_Round.B_1x1_Gate_Expr_Select.B_1x1_Gate_Expr_SplitColor.B_1x1_Gate_Expr_SplitVector.B_1x1_Gate_Expr_String_Concatenate.B_1x1_Gate_Expr_String_Contains.B_1x1_Gate_Expr_String_EndsWith.B_1x1_Gate_Expr_String_Find.B_1x1_Gate_Expr_String_FormatText.B_1x1_Gate_Expr_String_Length.B_1x1_Gate_Expr_String_ParseInt.B_1x1_Gate_Expr_String_ParseNumber.B_1x1_Gate_Expr_String_Replace.B_1x1_Gate_Expr_String_Split.B_1x1_Gate_Expr_String_StartsWith.B_1x1_Gate_Expr_String_Substring.B_1x1_Gate_Expr_String_ToLower.B_1x1_Gate_Expr_String_ToUpper.B_1x1_Gate_Expr_String_Trim.B_1x1_Gate_Expr_Swap.B_1x1_Gate_Expr_VecCrossProduct.B_1x1_Gate_Expr_VecDistance.B_1x1_Gate_Expr_VecDistanceSquared.B_1x1_Gate_Expr_VecDotProduct.B_1x1_Gate_Expr_VecMagnitude.B_1x1_Gate_Expr_VecMagnitudeSquared.B_1x1_Gate_Expr_VecNormalize.B_1x1_Gate_Expr_VecRotationToDirection.B_1x1_Gate_Expr_VecScale.B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent.B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent.B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent.B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent.B_1x1_Gate_Fake_Gamemode_RoundEndEvent.B_1x1_Gate_Fake_Gamemode_RoundStartEvent.B_1x1_Gate_FontReference.B_1x1_Gate_Internal_CharacterZoneEvent_Entered.B_1x1_Gate_Internal_CharacterZoneEvent_Left.B_1x1_Gate_Internal_ReadBrickGrid.B_1x1_Gate_Internal_ZoneEvent_BrickChanged.B_1x1_Gate_Internal_ZoneEvent_BrickRemoved.B_1x1_Gate_ItemReference.B_1x1_Gate_OneShotAudioReference.B_1x1_Gate_ParticleReference.B_1x1_Gate_PickupReference.B_1x1_Gate_ProjectileReference.B_1x1_Gate_Pseudo_BufferSeconds.B_1x1_Gate_Pseudo_BufferTicks.B_1x1_Gate_Pseudo_Dampen.B_1x1_Gate_Pseudo_QueueSeconds.B_1x1_Gate_Pseudo_QueueTicks.B_1x1_Gate_Pseudo_Timer.B_1x1_Gate_Pseudo_Tween.B_1x1_Gate_SeatControlSplitter.B_1x1_Gate_ServerUptime.B_1x1_Gate_Variable.B_1x1_Gate_Variable_Array.B_1x1_Gate_WeightBrick.B_1x1_Gate_WheelEngineAudioReference.B_2x2_Thruster.B_Button_Pressed.B_Button_Square_Pressed.B_Joint_Fixed.B_Joint_Socket.B_Joint_Wheel_Micro_Suspension.B_Joint_Wheel_Suspension.B_Switch_Flipped`.split(`.`),Yi=`PB_DefaultBrick.PB_DefaultStudded.PB_DefaultRampInnerCornerInverted.PB_DefaultRampCrestEnd.PB_DefaultRampCrestCorner.PB_DefaultRampCrest.PB_DefaultRamp.PB_PicketFence.BP_LatticeThin.PB_DefaultWedge.PB_DefaultTile.PB_DefaultSmoothTile.PB_DefaultSideWedge.PB_DefaultRampInverted.PB_DefaultRampInnerCorner.PB_DefaultRampCornerInverted.PB_DefaultRampCorner.PB_DefaultPole.PB_DefaultMicroWedgeTriangleCorner.PB_DefaultMicroWedgeOuterCorner.PB_DefaultMicroWedgeInnerCorner.PB_DefaultMicroWedgeHalfOuterCorner.PB_DefaultMicroWedgeHalfInnerCornerInverted.PB_DefaultMicroWedgeHalfInnerCorner.PB_DefaultMicroWedgeCorner.PB_DefaultMicroWedge.PB_DefaultMicroRamp.PB_DefaultMicroBrick.PB_DefaultArch.BP_SquarePlate.BP_SpikePlate.PB_Spike.PB_SliderJoint.PB_ServoSliderJoint.PB_MotorSliderJoint.BP_RoundPlate.PB_RoundedCap.PB_Baguette`.split(`.`),Xi={BP_LatticeThin:`BP_LatticeThin`,BP_RoundPlate:`BP_RoundPlate`,BP_SpikePlate:`BP_SpikePlate`,BP_SquarePlate:`BP_SquarePlate`,B_1x1F_Octo:`B_1x1F_Octo`,B_1x1F_Round:`B_1x1F_Round`,B_1x1F_Speaker:`B_1x1F_Speaker`,B_1x1_Brick_Side:`B_1x1_Brick_Side`,B_1x1_Brick_Side_Lip:`B_1x1_Brick_Side_Lip`,B_1x1_CharacterGate_SetGravityDirection:`B_1x1_CharacterGate_SetGravityDirection`,B_1x1_Coin:`B_1x1_Coin`,B_1x1_Coin_Diagonal:`B_1x1_Coin_Diagonal`,B_1x1_Cone:`B_1x1_Cone`,B_1x1_EntityGate_AddLocationAndRotation:`B_1x1_EntityGate_AddLocationAndRotation`,B_1x1_EntityGate_AddVelocity:`B_1x1_EntityGate_AddVelocity`,B_1x1_EntityGate_PlayAudioAt:`B_1x1_EntityGate_PlayAudioAt`,B_1x1_EntityGate_ReadBrickGrid:`B_1x1_EntityGate_ReadBrickGrid`,B_1x1_EntityGate_SetLocation:`B_1x1_EntityGate_SetLocation`,B_1x1_EntityGate_SetLocationAndRotation:`B_1x1_EntityGate_SetLocationAndRotation`,B_1x1_EntityGate_SetVelocity:`B_1x1_EntityGate_SetVelocity`,B_1x1_Gate_AND:`B_1x1_Gate_AND`,B_1x1_Gate_AND_Bitwise:`B_1x1_Gate_AND_Bitwise`,B_1x1_Gate_Add:`B_1x1_Gate_Add`,B_1x1_Gate_AudioReference:`B_1x1_Gate_AudioReference`,B_1x1_Gate_Blend:`B_1x1_Gate_Blend`,B_1x1_Gate_Ceiling:`B_1x1_Gate_Ceiling`,B_1x1_Gate_Clock:`B_1x1_Gate_Clock`,B_1x1_Gate_Constant:`B_1x1_Gate_Constant`,B_1x1_Gate_DeltaTime:`B_1x1_Gate_DeltaTime`,B_1x1_Gate_Divide:`B_1x1_Gate_Divide`,B_1x1_Gate_EdgeDetector:`B_1x1_Gate_EdgeDetector`,B_1x1_Gate_Equal:`B_1x1_Gate_Equal`,B_1x1_Gate_Exec_ArrayVar_Append:`B_1x1_Gate_Exec_ArrayVar_Append`,B_1x1_Gate_Exec_ArrayVar_Average:`B_1x1_Gate_Exec_ArrayVar_Average`,B_1x1_Gate_Exec_ArrayVar_Clear:`B_1x1_Gate_Exec_ArrayVar_Clear`,B_1x1_Gate_Exec_ArrayVar_CopyFrom:`B_1x1_Gate_Exec_ArrayVar_CopyFrom`,B_1x1_Gate_Exec_ArrayVar_Fill:`B_1x1_Gate_Exec_ArrayVar_Fill`,B_1x1_Gate_Exec_ArrayVar_Find:`B_1x1_Gate_Exec_ArrayVar_Find`,B_1x1_Gate_Exec_ArrayVar_Get:`B_1x1_Gate_Exec_ArrayVar_Get`,B_1x1_Gate_Exec_ArrayVar_GetLength:`B_1x1_Gate_Exec_ArrayVar_GetLength`,B_1x1_Gate_Exec_ArrayVar_Insert:`B_1x1_Gate_Exec_ArrayVar_Insert`,B_1x1_Gate_Exec_ArrayVar_Max:`B_1x1_Gate_Exec_ArrayVar_Max`,B_1x1_Gate_Exec_ArrayVar_Min:`B_1x1_Gate_Exec_ArrayVar_Min`,B_1x1_Gate_Exec_ArrayVar_Pop:`B_1x1_Gate_Exec_ArrayVar_Pop`,B_1x1_Gate_Exec_ArrayVar_Push:`B_1x1_Gate_Exec_ArrayVar_Push`,B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex:`B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex`,B_1x1_Gate_Exec_ArrayVar_Resize:`B_1x1_Gate_Exec_ArrayVar_Resize`,B_1x1_Gate_Exec_ArrayVar_Reverse:`B_1x1_Gate_Exec_ArrayVar_Reverse`,B_1x1_Gate_Exec_ArrayVar_SetAtIndex:`B_1x1_Gate_Exec_ArrayVar_SetAtIndex`,B_1x1_Gate_Exec_ArrayVar_Shuffle:`B_1x1_Gate_Exec_ArrayVar_Shuffle`,B_1x1_Gate_Exec_ArrayVar_Slice:`B_1x1_Gate_Exec_ArrayVar_Slice`,B_1x1_Gate_Exec_ArrayVar_Sort:`B_1x1_Gate_Exec_ArrayVar_Sort`,B_1x1_Gate_Exec_ArrayVar_Sum:`B_1x1_Gate_Exec_ArrayVar_Sum`,B_1x1_Gate_Exec_ArrayVar_Swap:`B_1x1_Gate_Exec_ArrayVar_Swap`,B_1x1_Gate_Exec_Branch:`B_1x1_Gate_Exec_Branch`,B_1x1_Gate_Exec_Character_GetAim:`B_1x1_Gate_Exec_Character_GetAim`,B_1x1_Gate_Exec_Character_GetDamage:`B_1x1_Gate_Exec_Character_GetDamage`,B_1x1_Gate_Exec_Character_GetFromController:`B_1x1_Gate_Exec_Character_GetFromController`,B_1x1_Gate_Exec_Character_IncDamage:`B_1x1_Gate_Exec_Character_IncDamage`,B_1x1_Gate_Exec_Character_SetDamage:`B_1x1_Gate_Exec_Character_SetDamage`,B_1x1_Gate_Exec_Character_SetInventoryEntry:`B_1x1_Gate_Exec_Character_SetInventoryEntry`,B_1x1_Gate_Exec_Character_SetTempPermission:`B_1x1_Gate_Exec_Character_SetTempPermission`,B_1x1_Gate_Exec_Character_ShowHint:`B_1x1_Gate_Exec_Character_ShowHint`,B_1x1_Gate_Exec_ChatCommand:`B_1x1_Gate_Exec_ChatCommand`,B_1x1_Gate_Exec_Controller_DisplayText:`B_1x1_Gate_Exec_Controller_DisplayText`,B_1x1_Gate_Exec_Controller_GetDisplayName:`B_1x1_Gate_Exec_Controller_GetDisplayName`,B_1x1_Gate_Exec_Controller_GetFromEntity:`B_1x1_Gate_Exec_Controller_GetFromEntity`,B_1x1_Gate_Exec_Controller_GetUserId:`B_1x1_Gate_Exec_Controller_GetUserId`,B_1x1_Gate_Exec_Controller_GetUserName:`B_1x1_Gate_Exec_Controller_GetUserName`,B_1x1_Gate_Exec_Controller_HasPermission:`B_1x1_Gate_Exec_Controller_HasPermission`,B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner:`B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner`,B_1x1_Gate_Exec_Controller_SetCanRespawn:`B_1x1_Gate_Exec_Controller_SetCanRespawn`,B_1x1_Gate_Exec_Controller_ShowStatusMessage:`B_1x1_Gate_Exec_Controller_ShowStatusMessage`,B_1x1_Gate_Exec_Entity_AddLocationRotation:`B_1x1_Gate_Exec_Entity_AddLocationRotation`,B_1x1_Gate_Exec_Entity_AddVelocity:`B_1x1_Gate_Exec_Entity_AddVelocity`,B_1x1_Gate_Exec_Entity_GetAngularVelocity:`B_1x1_Gate_Exec_Entity_GetAngularVelocity`,B_1x1_Gate_Exec_Entity_GetLinearVelocity:`B_1x1_Gate_Exec_Entity_GetLinearVelocity`,B_1x1_Gate_Exec_Entity_GetLocation:`B_1x1_Gate_Exec_Entity_GetLocation`,B_1x1_Gate_Exec_Entity_GetLocationRotation:`B_1x1_Gate_Exec_Entity_GetLocationRotation`,B_1x1_Gate_Exec_Entity_GetRotation:`B_1x1_Gate_Exec_Entity_GetRotation`,B_1x1_Gate_Exec_Entity_GetVelocity:`B_1x1_Gate_Exec_Entity_GetVelocity`,B_1x1_Gate_Exec_Entity_PlayAudioAt:`B_1x1_Gate_Exec_Entity_PlayAudioAt`,B_1x1_Gate_Exec_Entity_RelativeTeleport:`B_1x1_Gate_Exec_Entity_RelativeTeleport`,B_1x1_Gate_Exec_Entity_SetAngularVelocity:`B_1x1_Gate_Exec_Entity_SetAngularVelocity`,B_1x1_Gate_Exec_Entity_SetFrozen:`B_1x1_Gate_Exec_Entity_SetFrozen`,B_1x1_Gate_Exec_Entity_SetGravityDirection:`B_1x1_Gate_Exec_Entity_SetGravityDirection`,B_1x1_Gate_Exec_Entity_SetLinearVelocity:`B_1x1_Gate_Exec_Entity_SetLinearVelocity`,B_1x1_Gate_Exec_Entity_SetLocation:`B_1x1_Gate_Exec_Entity_SetLocation`,B_1x1_Gate_Exec_Entity_SetLocationRotation:`B_1x1_Gate_Exec_Entity_SetLocationRotation`,B_1x1_Gate_Exec_Entity_SetRotation:`B_1x1_Gate_Exec_Entity_SetRotation`,B_1x1_Gate_Exec_Entity_SetVelocity:`B_1x1_Gate_Exec_Entity_SetVelocity`,B_1x1_Gate_Exec_Entity_Teleport:`B_1x1_Gate_Exec_Entity_Teleport`,B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers:`B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers`,B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers:`B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers`,B_1x1_Gate_Exec_Gamemode_GetCurrentRound:`B_1x1_Gate_Exec_Gamemode_GetCurrentRound`,B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_GetTeam:`B_1x1_Gate_Exec_Gamemode_GetTeam`,B_1x1_Gate_Exec_Gamemode_GetTeamByName:`B_1x1_Gate_Exec_Gamemode_GetTeamByName`,B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_GetTeamName:`B_1x1_Gate_Exec_Gamemode_GetTeamName`,B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_PlayerWins:`B_1x1_Gate_Exec_Gamemode_PlayerWins`,B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_SetTeam:`B_1x1_Gate_Exec_Gamemode_SetTeam`,B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue:`B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue`,B_1x1_Gate_Exec_Gamemode_SetTeamPinned:`B_1x1_Gate_Exec_Gamemode_SetTeamPinned`,B_1x1_Gate_Exec_Gamemode_TeamWins:`B_1x1_Gate_Exec_Gamemode_TeamWins`,B_1x1_Gate_Exec_PlayGlobalAudio:`B_1x1_Gate_Exec_PlayGlobalAudio`,B_1x1_Gate_Exec_PrefabSpawner:`B_1x1_Gate_Exec_PrefabSpawner`,B_1x1_Gate_Exec_PrintToConsole:`B_1x1_Gate_Exec_PrintToConsole`,B_1x1_Gate_Exec_Random:`B_1x1_Gate_Exec_Random`,B_1x1_Gate_Exec_Sweep:`B_1x1_Gate_Exec_Sweep`,B_1x1_Gate_Exec_Union:`B_1x1_Gate_Exec_Union`,B_1x1_Gate_Exec_Var_Get:`B_1x1_Gate_Exec_Var_Get`,B_1x1_Gate_Exec_Var_Increment:`B_1x1_Gate_Exec_Var_Increment`,B_1x1_Gate_Exec_Var_Set:`B_1x1_Gate_Exec_Var_Set`,B_1x1_Gate_Expr_BitwiseAND:`B_1x1_Gate_Expr_BitwiseAND`,B_1x1_Gate_Expr_BitwiseBitCount:`B_1x1_Gate_Expr_BitwiseBitCount`,B_1x1_Gate_Expr_BitwiseNAND:`B_1x1_Gate_Expr_BitwiseNAND`,B_1x1_Gate_Expr_BitwiseNOR:`B_1x1_Gate_Expr_BitwiseNOR`,B_1x1_Gate_Expr_BitwiseNOT:`B_1x1_Gate_Expr_BitwiseNOT`,B_1x1_Gate_Expr_BitwiseOR:`B_1x1_Gate_Expr_BitwiseOR`,B_1x1_Gate_Expr_BitwiseShiftLeft:`B_1x1_Gate_Expr_BitwiseShiftLeft`,B_1x1_Gate_Expr_BitwiseShiftRight:`B_1x1_Gate_Expr_BitwiseShiftRight`,B_1x1_Gate_Expr_BitwiseXOR:`B_1x1_Gate_Expr_BitwiseXOR`,B_1x1_Gate_Expr_Ceil:`B_1x1_Gate_Expr_Ceil`,B_1x1_Gate_Expr_CompareEqual:`B_1x1_Gate_Expr_CompareEqual`,B_1x1_Gate_Expr_CompareGreater:`B_1x1_Gate_Expr_CompareGreater`,B_1x1_Gate_Expr_CompareGreaterOrEqual:`B_1x1_Gate_Expr_CompareGreaterOrEqual`,B_1x1_Gate_Expr_CompareLess:`B_1x1_Gate_Expr_CompareLess`,B_1x1_Gate_Expr_CompareLessOrEqual:`B_1x1_Gate_Expr_CompareLessOrEqual`,B_1x1_Gate_Expr_CompareNotEqual:`B_1x1_Gate_Expr_CompareNotEqual`,B_1x1_Gate_Expr_EdgeDetector:`B_1x1_Gate_Expr_EdgeDetector`,B_1x1_Gate_Expr_Floor:`B_1x1_Gate_Expr_Floor`,B_1x1_Gate_Expr_LogicalAND:`B_1x1_Gate_Expr_LogicalAND`,B_1x1_Gate_Expr_LogicalNAND:`B_1x1_Gate_Expr_LogicalNAND`,B_1x1_Gate_Expr_LogicalNOR:`B_1x1_Gate_Expr_LogicalNOR`,B_1x1_Gate_Expr_LogicalNOT:`B_1x1_Gate_Expr_LogicalNOT`,B_1x1_Gate_Expr_LogicalOR:`B_1x1_Gate_Expr_LogicalOR`,B_1x1_Gate_Expr_LogicalXOR:`B_1x1_Gate_Expr_LogicalXOR`,B_1x1_Gate_Expr_MakeColor:`B_1x1_Gate_Expr_MakeColor`,B_1x1_Gate_Expr_MakeVector:`B_1x1_Gate_Expr_MakeVector`,B_1x1_Gate_Expr_MathAbs:`B_1x1_Gate_Expr_MathAbs`,B_1x1_Gate_Expr_MathAcos:`B_1x1_Gate_Expr_MathAcos`,B_1x1_Gate_Expr_MathAcosh:`B_1x1_Gate_Expr_MathAcosh`,B_1x1_Gate_Expr_MathAdd:`B_1x1_Gate_Expr_MathAdd`,B_1x1_Gate_Expr_MathAsin:`B_1x1_Gate_Expr_MathAsin`,B_1x1_Gate_Expr_MathAsinh:`B_1x1_Gate_Expr_MathAsinh`,B_1x1_Gate_Expr_MathAtan:`B_1x1_Gate_Expr_MathAtan`,B_1x1_Gate_Expr_MathAtan2:`B_1x1_Gate_Expr_MathAtan2`,B_1x1_Gate_Expr_MathAtanh:`B_1x1_Gate_Expr_MathAtanh`,B_1x1_Gate_Expr_MathBlend:`B_1x1_Gate_Expr_MathBlend`,B_1x1_Gate_Expr_MathClamp:`B_1x1_Gate_Expr_MathClamp`,B_1x1_Gate_Expr_MathCos:`B_1x1_Gate_Expr_MathCos`,B_1x1_Gate_Expr_MathCosh:`B_1x1_Gate_Expr_MathCosh`,B_1x1_Gate_Expr_MathDegreesToRadians:`B_1x1_Gate_Expr_MathDegreesToRadians`,B_1x1_Gate_Expr_MathDivide:`B_1x1_Gate_Expr_MathDivide`,B_1x1_Gate_Expr_MathEasing:`B_1x1_Gate_Expr_MathEasing`,B_1x1_Gate_Expr_MathExp:`B_1x1_Gate_Expr_MathExp`,B_1x1_Gate_Expr_MathLn:`B_1x1_Gate_Expr_MathLn`,B_1x1_Gate_Expr_MathLogBase:`B_1x1_Gate_Expr_MathLogBase`,B_1x1_Gate_Expr_MathMax:`B_1x1_Gate_Expr_MathMax`,B_1x1_Gate_Expr_MathMin:`B_1x1_Gate_Expr_MathMin`,B_1x1_Gate_Expr_MathModulo:`B_1x1_Gate_Expr_MathModulo`,B_1x1_Gate_Expr_MathModuloFloored:`B_1x1_Gate_Expr_MathModuloFloored`,B_1x1_Gate_Expr_MathMultiply:`B_1x1_Gate_Expr_MathMultiply`,B_1x1_Gate_Expr_MathNegate:`B_1x1_Gate_Expr_MathNegate`,B_1x1_Gate_Expr_MathPow:`B_1x1_Gate_Expr_MathPow`,B_1x1_Gate_Expr_MathRadiansToDegrees:`B_1x1_Gate_Expr_MathRadiansToDegrees`,B_1x1_Gate_Expr_MathSign:`B_1x1_Gate_Expr_MathSign`,B_1x1_Gate_Expr_MathSin:`B_1x1_Gate_Expr_MathSin`,B_1x1_Gate_Expr_MathSinh:`B_1x1_Gate_Expr_MathSinh`,B_1x1_Gate_Expr_MathSqrt:`B_1x1_Gate_Expr_MathSqrt`,B_1x1_Gate_Expr_MathSubtract:`B_1x1_Gate_Expr_MathSubtract`,B_1x1_Gate_Expr_MathTan:`B_1x1_Gate_Expr_MathTan`,B_1x1_Gate_Expr_MathTanh:`B_1x1_Gate_Expr_MathTanh`,B_1x1_Gate_Expr_NearlyEqual:`B_1x1_Gate_Expr_NearlyEqual`,B_1x1_Gate_Expr_Round:`B_1x1_Gate_Expr_Round`,B_1x1_Gate_Expr_Select:`B_1x1_Gate_Expr_Select`,B_1x1_Gate_Expr_SplitColor:`B_1x1_Gate_Expr_SplitColor`,B_1x1_Gate_Expr_SplitVector:`B_1x1_Gate_Expr_SplitVector`,B_1x1_Gate_Expr_String_Concatenate:`B_1x1_Gate_Expr_String_Concatenate`,B_1x1_Gate_Expr_String_Contains:`B_1x1_Gate_Expr_String_Contains`,B_1x1_Gate_Expr_String_EndsWith:`B_1x1_Gate_Expr_String_EndsWith`,B_1x1_Gate_Expr_String_Find:`B_1x1_Gate_Expr_String_Find`,B_1x1_Gate_Expr_String_FormatText:`B_1x1_Gate_Expr_String_FormatText`,B_1x1_Gate_Expr_String_Length:`B_1x1_Gate_Expr_String_Length`,B_1x1_Gate_Expr_String_ParseInt:`B_1x1_Gate_Expr_String_ParseInt`,B_1x1_Gate_Expr_String_ParseNumber:`B_1x1_Gate_Expr_String_ParseNumber`,B_1x1_Gate_Expr_String_Replace:`B_1x1_Gate_Expr_String_Replace`,B_1x1_Gate_Expr_String_Split:`B_1x1_Gate_Expr_String_Split`,B_1x1_Gate_Expr_String_StartsWith:`B_1x1_Gate_Expr_String_StartsWith`,B_1x1_Gate_Expr_String_Substring:`B_1x1_Gate_Expr_String_Substring`,B_1x1_Gate_Expr_String_ToLower:`B_1x1_Gate_Expr_String_ToLower`,B_1x1_Gate_Expr_String_ToUpper:`B_1x1_Gate_Expr_String_ToUpper`,B_1x1_Gate_Expr_String_Trim:`B_1x1_Gate_Expr_String_Trim`,B_1x1_Gate_Expr_Swap:`B_1x1_Gate_Expr_Swap`,B_1x1_Gate_Expr_VecCrossProduct:`B_1x1_Gate_Expr_VecCrossProduct`,B_1x1_Gate_Expr_VecDistance:`B_1x1_Gate_Expr_VecDistance`,B_1x1_Gate_Expr_VecDistanceSquared:`B_1x1_Gate_Expr_VecDistanceSquared`,B_1x1_Gate_Expr_VecDotProduct:`B_1x1_Gate_Expr_VecDotProduct`,B_1x1_Gate_Expr_VecMagnitude:`B_1x1_Gate_Expr_VecMagnitude`,B_1x1_Gate_Expr_VecMagnitudeSquared:`B_1x1_Gate_Expr_VecMagnitudeSquared`,B_1x1_Gate_Expr_VecNormalize:`B_1x1_Gate_Expr_VecNormalize`,B_1x1_Gate_Expr_VecRotationToDirection:`B_1x1_Gate_Expr_VecRotationToDirection`,B_1x1_Gate_Expr_VecScale:`B_1x1_Gate_Expr_VecScale`,B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent:`B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent`,B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent:`B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent`,B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent:`B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent`,B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent:`B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent`,B_1x1_Gate_Fake_Gamemode_RoundEndEvent:`B_1x1_Gate_Fake_Gamemode_RoundEndEvent`,B_1x1_Gate_Fake_Gamemode_RoundStartEvent:`B_1x1_Gate_Fake_Gamemode_RoundStartEvent`,B_1x1_Gate_Floor:`B_1x1_Gate_Floor`,B_1x1_Gate_FontReference:`B_1x1_Gate_FontReference`,B_1x1_Gate_GreaterThan:`B_1x1_Gate_GreaterThan`,B_1x1_Gate_GreaterThanEqual:`B_1x1_Gate_GreaterThanEqual`,B_1x1_Gate_Internal_CharacterZoneEvent_Entered:`B_1x1_Gate_Internal_CharacterZoneEvent_Entered`,B_1x1_Gate_Internal_CharacterZoneEvent_Left:`B_1x1_Gate_Internal_CharacterZoneEvent_Left`,B_1x1_Gate_Internal_ReadBrickGrid:`B_1x1_Gate_Internal_ReadBrickGrid`,B_1x1_Gate_Internal_ZoneEvent_BrickChanged:`B_1x1_Gate_Internal_ZoneEvent_BrickChanged`,B_1x1_Gate_Internal_ZoneEvent_BrickRemoved:`B_1x1_Gate_Internal_ZoneEvent_BrickRemoved`,B_1x1_Gate_ItemReference:`B_1x1_Gate_ItemReference`,B_1x1_Gate_LessThan:`B_1x1_Gate_LessThan`,B_1x1_Gate_LessThanEqual:`B_1x1_Gate_LessThanEqual`,B_1x1_Gate_MicrochipInput:`B_1x1_Gate_MicrochipInput`,B_1x1_Gate_MicrochipOutput:`B_1x1_Gate_MicrochipOutput`,B_1x1_Gate_Mod:`B_1x1_Gate_Mod`,B_1x1_Gate_ModFloored:`B_1x1_Gate_ModFloored`,B_1x1_Gate_Multiply:`B_1x1_Gate_Multiply`,B_1x1_Gate_NAND:`B_1x1_Gate_NAND`,B_1x1_Gate_NAND_Bitwise:`B_1x1_Gate_NAND_Bitwise`,B_1x1_Gate_NOR:`B_1x1_Gate_NOR`,B_1x1_Gate_NOR_Bitwise:`B_1x1_Gate_NOR_Bitwise`,B_1x1_Gate_NOT_Bitwise:`B_1x1_Gate_NOT_Bitwise`,B_1x1_Gate_NotEqual:`B_1x1_Gate_NotEqual`,B_1x1_Gate_OR:`B_1x1_Gate_OR`,B_1x1_Gate_OR_Bitwise:`B_1x1_Gate_OR_Bitwise`,B_1x1_Gate_OneShotAudioReference:`B_1x1_Gate_OneShotAudioReference`,B_1x1_Gate_ParticleReference:`B_1x1_Gate_ParticleReference`,B_1x1_Gate_PickupReference:`B_1x1_Gate_PickupReference`,B_1x1_Gate_ProjectileReference:`B_1x1_Gate_ProjectileReference`,B_1x1_Gate_Pseudo_BufferSeconds:`B_1x1_Gate_Pseudo_BufferSeconds`,B_1x1_Gate_Pseudo_BufferTicks:`B_1x1_Gate_Pseudo_BufferTicks`,B_1x1_Gate_Pseudo_Dampen:`B_1x1_Gate_Pseudo_Dampen`,B_1x1_Gate_Pseudo_QueueSeconds:`B_1x1_Gate_Pseudo_QueueSeconds`,B_1x1_Gate_Pseudo_QueueTicks:`B_1x1_Gate_Pseudo_QueueTicks`,B_1x1_Gate_Pseudo_Timer:`B_1x1_Gate_Pseudo_Timer`,B_1x1_Gate_Pseudo_Tween:`B_1x1_Gate_Pseudo_Tween`,B_1x1_Gate_RelativeTeleport:`B_1x1_Gate_RelativeTeleport`,B_1x1_Gate_SeatControlSplitter:`B_1x1_Gate_SeatControlSplitter`,B_1x1_Gate_ServerUptime:`B_1x1_Gate_ServerUptime`,B_1x1_Gate_ShiftLeft_Bitwise:`B_1x1_Gate_ShiftLeft_Bitwise`,B_1x1_Gate_ShiftRight_Bitwise:`B_1x1_Gate_ShiftRight_Bitwise`,B_1x1_Gate_Subtract:`B_1x1_Gate_Subtract`,B_1x1_Gate_Teleport:`B_1x1_Gate_Teleport`,B_1x1_Gate_Timer:`B_1x1_Gate_Timer`,B_1x1_Gate_Timer_Tick:`B_1x1_Gate_Timer_Tick`,B_1x1_Gate_Variable:`B_1x1_Gate_Variable`,B_1x1_Gate_Variable_Array:`B_1x1_Gate_Variable_Array`,B_1x1_Gate_WeightBrick:`B_1x1_Gate_WeightBrick`,B_1x1_Gate_WheelEngineAudioReference:`B_1x1_Gate_WheelEngineAudioReference`,B_1x1_Gate_WheelEngineSlim:`B_1x1_Gate_WheelEngineSlim`,B_1x1_Gate_XOR:`B_1x1_Gate_XOR`,B_1x1_Gate_XOR_Bitwise:`B_1x1_Gate_XOR_Bitwise`,B_1x1_Microchip:`B_1x1_Microchip`,B_1x1_NOT_Gate:`B_1x1_NOT_Gate`,B_1x1_Reroute_Node:`B_1x1_Reroute_Node`,B_1x1_Round:`B_1x1_Round`,B_1x1_SoundEmitter:`B_1x1_SoundEmitter`,B_1x1f_Inverse_Tile_Corner:`B_1x1f_Inverse_Tile_Corner`,B_1x1f_Tile_Corner:`B_1x1f_Tile_Corner`,B_1x2_MetalIngot:`B_1x2_MetalIngot`,B_1x2_Overhang:`B_1x2_Overhang`,B_1x2f_Plate_Center:`B_1x2f_Plate_Center`,B_1x2f_Plate_Center_Inv:`B_1x2f_Plate_Center_Inv`,B_1x4_Brick_Side:`B_1x4_Brick_Side`,B_1x_Octo:`B_1x_Octo`,B_1x_Octo_90Deg:`B_1x_Octo_90Deg`,B_1x_Octo_90Deg_Inv:`B_1x_Octo_90Deg_Inv`,B_1x_Octo_T:`B_1x_Octo_T`,B_1x_Octo_T_Inv:`B_1x_Octo_T_Inv`,B_2x1_Slipper:`B_2x1_Slipper`,B_2x2F_Octo:`B_2x2F_Octo`,B_2x2F_Octo_Converter:`B_2x2F_Octo_Converter`,B_2x2F_Octo_Converter_Inv:`B_2x2F_Octo_Converter_Inv`,B_2x2F_Round:`B_2x2F_Round`,B_2x2F_Speaker:`B_2x2F_Speaker`,B_2x2F_Target:`B_2x2F_Target`,B_2x2_Cone:`B_2x2_Cone`,B_2x2_Corner:`B_2x2_Corner`,B_2x2_Overhang:`B_2x2_Overhang`,B_2x2_Round:`B_2x2_Round`,B_2x2_Slipper:`B_2x2_Slipper`,B_2x2_Thruster:`B_2x2_Thruster`,B_2x2f_Plate_Center:`B_2x2f_Plate_Center`,B_2x2f_Plate_Center_Inv:`B_2x2f_Plate_Center_Inv`,B_2x4_Door_Frame:`B_2x4_Door_Frame`,B_2x_Octo:`B_2x_Octo`,B_2x_Octo_90Deg:`B_2x_Octo_90Deg`,B_2x_Octo_90Deg_Inv:`B_2x_Octo_90Deg_Inv`,B_2x_Octo_Cone:`B_2x_Octo_Cone`,B_2x_Octo_T:`B_2x_Octo_T`,B_2x_Octo_T_Inv:`B_2x_Octo_T_Inv`,B_4x4_Round:`B_4x4_Round`,B_8x8_Lattice_Plate:`B_8x8_Lattice_Plate`,B_Bishop:`B_Bishop`,B_Bone:`B_Bone`,B_BoneStraight:`B_BoneStraight`,B_Bot_Spawn_Point:`B_Bot_Spawn_Point`,B_Branch:`B_Branch`,B_Button:`B_Button`,B_Button_Pressed:`B_Button_Pressed`,B_Button_Square:`B_Button_Square`,B_Button_Square_Pressed:`B_Button_Square_Pressed`,B_Cauldron:`B_Cauldron`,B_Chalice:`B_Chalice`,B_CheckPoint:`B_CheckPoint`,B_Coffin:`B_Coffin`,B_Coffin_Lid:`B_Coffin_Lid`,B_DestinationPoint:`B_DestinationPoint`,B_Fern:`B_Fern`,B_Flame:`B_Flame`,B_Flower:`B_Flower`,B_Fork:`B_Fork`,B_Frog:`B_Frog`,B_Frog_Small:`B_Frog_Small`,B_GoalPoint:`B_GoalPoint`,B_Gravestone:`B_Gravestone`,B_Handle:`B_Handle`,B_Hedge_1x1:`B_Hedge_1x1`,B_Hedge_1x1_Corner:`B_Hedge_1x1_Corner`,B_Hedge_1x2:`B_Hedge_1x2`,B_Hedge_1x4:`B_Hedge_1x4`,B_Inverted_Cone:`B_Inverted_Cone`,B_Jar:`B_Jar`,B_Joint_Bearing:`B_Joint_Bearing`,B_Joint_Bearing_Micro:`B_Joint_Bearing_Micro`,B_Joint_Coupler:`B_Joint_Coupler`,B_Joint_Fixed:`B_Joint_Fixed`,B_Joint_Motor:`B_Joint_Motor`,B_Joint_Motor_Micro:`B_Joint_Motor_Micro`,B_Joint_Servo:`B_Joint_Servo`,B_Joint_Servo_Micro:`B_Joint_Servo_Micro`,B_Joint_Socket:`B_Joint_Socket`,B_Joint_Socket_Micro:`B_Joint_Socket_Micro`,B_Joint_Wheel:`B_Joint_Wheel`,B_Joint_Wheel_Micro:`B_Joint_Wheel_Micro`,B_Joint_Wheel_Micro_Suspension:`B_Joint_Wheel_Micro_Suspension`,B_Joint_Wheel_Suspension:`B_Joint_Wheel_Suspension`,B_King:`B_King`,B_Knight:`B_Knight`,B_Ladder:`B_Ladder`,B_Leaf_Bush:`B_Leaf_Bush`,B_Pawn:`B_Pawn`,B_Pine_Tree:`B_Pine_Tree`,B_Pumpkin:`B_Pumpkin`,B_Pumpkin_Carved:`B_Pumpkin_Carved`,B_Queen:`B_Queen`,B_Rook:`B_Rook`,B_Sausage:`B_Sausage`,B_Seat:`B_Seat`,B_Small_Flower:`B_Small_Flower`,B_SpawnPoint:`B_SpawnPoint`,B_Spoon:`B_Spoon`,B_Swirl_Plate:`B_Swirl_Plate`,B_Switch_Flipped:`B_Switch_Flipped`,B_Switch_Test:`B_Switch_Test`,B_Turkey_Body:`B_Turkey_Body`,B_Turkey_Leg:`B_Turkey_Leg`,B_Vehicle_Engine:`B_Vehicle_Engine`,PB_Baguette:`PB_Baguette`,PB_DefaultArch:`PB_DefaultArch`,PB_DefaultBrick:`PB_DefaultBrick`,PB_DefaultMicroBrick:`PB_DefaultMicroBrick`,PB_DefaultMicroRamp:`PB_DefaultMicroRamp`,PB_DefaultMicroWedge:`PB_DefaultMicroWedge`,PB_DefaultMicroWedgeCorner:`PB_DefaultMicroWedgeCorner`,PB_DefaultMicroWedgeHalfInnerCorner:`PB_DefaultMicroWedgeHalfInnerCorner`,PB_DefaultMicroWedgeHalfInnerCornerInverted:`PB_DefaultMicroWedgeHalfInnerCornerInverted`,PB_DefaultMicroWedgeHalfOuterCorner:`PB_DefaultMicroWedgeHalfOuterCorner`,PB_DefaultMicroWedgeInnerCorner:`PB_DefaultMicroWedgeInnerCorner`,PB_DefaultMicroWedgeOuterCorner:`PB_DefaultMicroWedgeOuterCorner`,PB_DefaultMicroWedgeTriangleCorner:`PB_DefaultMicroWedgeTriangleCorner`,PB_DefaultPole:`PB_DefaultPole`,PB_DefaultRamp:`PB_DefaultRamp`,PB_DefaultRampCorner:`PB_DefaultRampCorner`,PB_DefaultRampCornerInverted:`PB_DefaultRampCornerInverted`,PB_DefaultRampCrest:`PB_DefaultRampCrest`,PB_DefaultRampCrestCorner:`PB_DefaultRampCrestCorner`,PB_DefaultRampCrestEnd:`PB_DefaultRampCrestEnd`,PB_DefaultRampInnerCorner:`PB_DefaultRampInnerCorner`,PB_DefaultRampInnerCornerInverted:`PB_DefaultRampInnerCornerInverted`,PB_DefaultRampInverted:`PB_DefaultRampInverted`,PB_DefaultSideWedge:`PB_DefaultSideWedge`,PB_DefaultSmoothTile:`PB_DefaultSmoothTile`,PB_DefaultStudded:`PB_DefaultStudded`,PB_DefaultTile:`PB_DefaultTile`,PB_DefaultWedge:`PB_DefaultWedge`,PB_MotorSliderJoint:`PB_MotorSliderJoint`,PB_PicketFence:`PB_PicketFence`,PB_RoundedCap:`PB_RoundedCap`,PB_ServoSliderJoint:`PB_ServoSliderJoint`,PB_SliderJoint:`PB_SliderJoint`,PB_Spike:`PB_Spike`},Zi=new Set(Ji),Qi=new Set(Yi);function $i(e){return Qi.has(e)?!0:Zi.has(e)?!1:e.startsWith(`PB_`)||e.startsWith(`BP_`)}var ea=new Map([[`BrickComponentType_Internal_CharacterZoneEvent_Entered`,`BrickComponentData_Internal_CharacterZoneEvent`],[`BrickComponentType_Internal_CharacterZoneEvent_Left`,`BrickComponentData_Internal_CharacterZoneEvent`],[`BrickComponentType_Internal_EntityZoneEvent_Entered`,`BrickComponentData_Internal_EntityZoneEvent`],[`BrickComponentType_Internal_EntityZoneEvent_Left`,`BrickComponentData_Internal_EntityZoneEvent`],[`BrickComponentType_Internal_MicrochipInput`,`BrickComponentData_Internal_MicrochipInput`],[`BrickComponentType_Internal_MicrochipOutput`,`BrickComponentData_Internal_MicrochipOutput`],[`BrickComponentType_Internal_ProjectileZoneEvent_Entered`,`BrickComponentData_Internal_ProjectileZoneEvent`],[`BrickComponentType_Internal_ProjectileZoneEvent_Left`,`BrickComponentData_Internal_ProjectileZoneEvent`],[`BrickComponentType_Internal_ReadBrickGrid`,`BrickComponentData_Internal_ReadBrickGrid`],[`BrickComponentType_Internal_TeleportDestination`,`BrickComponentData_TeleportDestination`],[`BrickComponentType_Internal_ZoneEvent_BrickChanged`,`BrickComponentData_Internal_ZoneEvent`],[`BrickComponentType_Internal_ZoneEvent_BrickRemoved`,`BrickComponentData_Internal_ZoneEvent`],[`BrickComponentType_PrefabSpawn`,`BrickComponentData_PrefabSpawn`],[`BrickComponentType_WireGraphPseudo_ArrayVar`,`BrickComponentData_WireGraphPseudo_ArrayVar`],[`BrickComponentType_WireGraphPseudo_BufferSeconds`,`BrickComponentData_WireGraphPseudo_BufferSeconds`],[`BrickComponentType_WireGraphPseudo_BufferTicks`,`BrickComponentData_WireGraphPseudo_BufferTicks`],[`BrickComponentType_WireGraphPseudo_Dampen`,`BrickComponentData_WireGraphPseudo_Dampen`],[`BrickComponentType_WireGraphPseudo_QueueSeconds`,`BrickComponentData_WireGraphPseudo_QueueSeconds`],[`BrickComponentType_WireGraphPseudo_QueueTicks`,`BrickComponentData_WireGraphPseudo_QueueTicks`],[`BrickComponentType_WireGraphPseudo_Timer`,`BrickComponentData_WireGraphPseudo_Timer`],[`BrickComponentType_WireGraphPseudo_Tween`,`BrickComponentData_WireGraphPseudo_Tween`],[`BrickComponentType_WireGraphPseudo_Var`,`BrickComponentData_WireGraphPseudo_Var`],[`BrickComponentType_WireGraph_AudioReference`,`BrickComponentData_WireGraph_AudioReference`],[`BrickComponentType_WireGraph_BrickAssetReference`,`BrickComponentData_WireGraph_BrickAssetReference`],[`BrickComponentType_WireGraph_DeltaTime`,`BrickComponentData_WireGraph_DeltaTime`],[`BrickComponentType_WireGraph_EntityTypeReference`,`BrickComponentData_WireGraph_EntityTypeReference`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Append`,`BrickComponentData_WireGraph_Exec_ArrayVar_DualRef`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Average`,`BrickComponentData_WireGraph_Exec_ArrayVar_Average`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Clear`,`BrickComponentData_WireGraph_Exec_ArrayVar_Base`],[`BrickComponentType_WireGraph_Exec_ArrayVar_CopyFrom`,`BrickComponentData_WireGraph_Exec_ArrayVar_DualRef`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Fill`,`BrickComponentData_WireGraph_Exec_ArrayVar_Push`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Find`,`BrickComponentData_WireGraph_Exec_ArrayVar_Find`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Get`,`BrickComponentData_WireGraph_Exec_ArrayVar_Get`],[`BrickComponentType_WireGraph_Exec_ArrayVar_GetLength`,`BrickComponentData_WireGraph_Exec_ArrayVar_GetLength`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Insert`,`BrickComponentData_WireGraph_Exec_ArrayVar_Insert`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Max`,`BrickComponentData_WireGraph_Exec_ArrayVar_MinMax`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Min`,`BrickComponentData_WireGraph_Exec_ArrayVar_MinMax`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Pop`,`BrickComponentData_WireGraph_Exec_ArrayVar_Pop`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Push`,`BrickComponentData_WireGraph_Exec_ArrayVar_Push`],[`BrickComponentType_WireGraph_Exec_ArrayVar_RemoveAtIndex`,`BrickComponentData_WireGraph_Exec_ArrayVar_RemoveAtIndex`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Resize`,`BrickComponentData_WireGraph_Exec_ArrayVar_Resize`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Reverse`,`BrickComponentData_WireGraph_Exec_ArrayVar_Base`],[`BrickComponentType_WireGraph_Exec_ArrayVar_SetAtIndex`,`BrickComponentData_WireGraph_Exec_ArrayVar_ElementOp`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Shuffle`,`BrickComponentData_WireGraph_Exec_ArrayVar_Base`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Slice`,`BrickComponentData_WireGraph_Exec_ArrayVar_Slice`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Sort`,`BrickComponentData_WireGraph_Exec_ArrayVar_Sort`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Sum`,`BrickComponentData_WireGraph_Exec_ArrayVar_Sum`],[`BrickComponentType_WireGraph_Exec_ArrayVar_Swap`,`BrickComponentData_WireGraph_Exec_ArrayVar_Swap`],[`BrickComponentType_WireGraph_Exec_Branch`,`BrickComponentData_WireGraph_ExecBranch`],[`BrickComponentType_WireGraph_Exec_Character_AddInventoryBrick`,`BrickComponentData_WireGraph_Exec_Character_AddInventoryBrick`],[`BrickComponentType_WireGraph_Exec_Character_AddInventoryEntity`,`BrickComponentData_WireGraph_Exec_Character_AddInventoryEntity`],[`BrickComponentType_WireGraph_Exec_Character_AddInventoryEntry`,`BrickComponentData_WireGraph_Exec_Character_AddInventoryEntry`],[`BrickComponentType_WireGraph_Exec_Character_AddInventoryItem`,`BrickComponentData_WireGraph_Exec_Character_AddInventoryItem`],[`BrickComponentType_WireGraph_Exec_Character_GetAim`,`BrickComponentData_WireGraph_Exec_Character_GetAim`],[`BrickComponentType_WireGraph_Exec_Character_GetDamage`,`BrickComponentData_WireGraph_Exec_Character_GetDamage`],[`BrickComponentType_WireGraph_Exec_Character_GetFromController`,`BrickComponentData_WireGraph_Exec_Character_GetFromController`],[`BrickComponentType_WireGraph_Exec_Character_IncDamage`,`BrickComponentData_WireGraph_Exec_Character_IncDamage`],[`BrickComponentType_WireGraph_Exec_Character_SetDamage`,`BrickComponentData_WireGraph_Exec_Character_SetDamage`],[`BrickComponentType_WireGraph_Exec_Character_SetInventoryBrick`,`BrickComponentData_WireGraph_Exec_Character_SetInventoryBrick`],[`BrickComponentType_WireGraph_Exec_Character_SetInventoryEntity`,`BrickComponentData_WireGraph_Exec_Character_SetInventoryEntity`],[`BrickComponentType_WireGraph_Exec_Character_SetInventoryEntry`,`BrickComponentData_WireGraph_Exec_Character_SetInventoryEntry`],[`BrickComponentType_WireGraph_Exec_Character_SetInventoryItem`,`BrickComponentData_WireGraph_Exec_Character_SetInventoryItem`],[`BrickComponentType_WireGraph_Exec_Character_SetTempPermission`,`BrickComponentData_WireGraph_Exec_Character_SetTempPermission`],[`BrickComponentType_WireGraph_Exec_Character_ShowHint`,`BrickComponentData_WireGraph_Exec_Character_ShowHint`],[`BrickComponentType_WireGraph_Exec_ChatCommand`,`BrickComponentData_WireGraph_Exec_ChatCommand`],[`BrickComponentType_WireGraph_Exec_Controller_DisplayText`,`BrickComponentData_WireGraph_Exec_Controller_DisplayText`],[`BrickComponentType_WireGraph_Exec_Controller_GetDisplayName`,`BrickComponentData_WireGraph_Exec_Controller_GetDisplayName`],[`BrickComponentType_WireGraph_Exec_Controller_GetFromEntity`,`BrickComponentData_WireGraph_Exec_Controller_GetFromEntity`],[`BrickComponentType_WireGraph_Exec_Controller_GetUserId`,`BrickComponentData_WireGraph_Exec_Controller_GetUserId`],[`BrickComponentType_WireGraph_Exec_Controller_GetUserName`,`BrickComponentData_WireGraph_Exec_Controller_GetUserName`],[`BrickComponentType_WireGraph_Exec_Controller_HasPermission`,`BrickComponentData_WireGraph_Exec_Controller_HasPermission`],[`BrickComponentType_WireGraph_Exec_Controller_HasRole`,`BrickComponentData_WireGraph_Exec_Controller_HasRole`],[`BrickComponentType_WireGraph_Exec_Controller_IsTrustedByBrickOwner`,`BrickComponentData_WireGraph_Exec_Controller_IsTrustedByBrickOwner`],[`BrickComponentType_WireGraph_Exec_Controller_SetCanRespawn`,`BrickComponentData_WireGraph_Exec_Controller_SetCanRespawn`],[`BrickComponentType_WireGraph_Exec_Controller_ShowChatMessage`,`BrickComponentData_WireGraph_Exec_Controller_ShowChatMessage`],[`BrickComponentType_WireGraph_Exec_Controller_ShowStatusMessage`,`BrickComponentData_WireGraph_Exec_Controller_ShowStatusMessage`],[`BrickComponentType_WireGraph_Exec_Cycle`,`BrickComponentData_WireGraph_Exec_Cycle`],[`BrickComponentType_WireGraph_Exec_Entity_AddLocationRotation`,`BrickComponentData_WireGraph_Exec_Entity_AddLocationRotation`],[`BrickComponentType_WireGraph_Exec_Entity_AddVelocity`,`BrickComponentData_WireGraph_Exec_Entity_AddVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_GetAngularVelocity`,`BrickComponentData_WireGraph_Exec_Entity_GetAngularVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_GetLinearVelocity`,`BrickComponentData_WireGraph_Exec_Entity_GetLinearVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_GetLocation`,`BrickComponentData_WireGraph_Exec_Entity_GetLocation`],[`BrickComponentType_WireGraph_Exec_Entity_GetLocationRotation`,`BrickComponentData_WireGraph_Exec_Entity_GetLocationRotation`],[`BrickComponentType_WireGraph_Exec_Entity_GetRotation`,`BrickComponentData_WireGraph_Exec_Entity_GetRotation`],[`BrickComponentType_WireGraph_Exec_Entity_GetTag`,`BrickComponentData_WireGraph_Exec_Entity_GetTag`],[`BrickComponentType_WireGraph_Exec_Entity_GetVelocity`,`BrickComponentData_WireGraph_Exec_Entity_GetVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_RelativeTeleport`,`BrickComponentData_WireGraph_Exec_Entity_RelativeTeleport`],[`BrickComponentType_WireGraph_Exec_Entity_SetAngularVelocity`,`BrickComponentData_WireGraph_Exec_Entity_SetAngularVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_SetFrozen`,`BrickComponentData_WireGraph_Exec_Entity_SetFrozen`],[`BrickComponentType_WireGraph_Exec_Entity_SetGravityDirection`,`BrickComponentData_WireGraph_Exec_Entity_SetGravityDirection`],[`BrickComponentType_WireGraph_Exec_Entity_SetLinearVelocity`,`BrickComponentData_WireGraph_Exec_Entity_SetLinearVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_SetLocation`,`BrickComponentData_WireGraph_Exec_Entity_SetLocation`],[`BrickComponentType_WireGraph_Exec_Entity_SetLocationRotation`,`BrickComponentData_WireGraph_Exec_Entity_SetLocationRotation`],[`BrickComponentType_WireGraph_Exec_Entity_SetRotation`,`BrickComponentData_WireGraph_Exec_Entity_SetRotation`],[`BrickComponentType_WireGraph_Exec_Entity_SetTag`,`BrickComponentData_WireGraph_Exec_Entity_SetTag`],[`BrickComponentType_WireGraph_Exec_Entity_SetVelocity`,`BrickComponentData_WireGraph_Exec_Entity_SetVelocity`],[`BrickComponentType_WireGraph_Exec_Entity_Teleport`,`BrickComponentData_WireGraph_Exec_Entity_Teleport`],[`BrickComponentType_WireGraph_Exec_Gamemode_BroadcastChatMessage`,`BrickComponentData_WireGraph_Exec_Gamemode_BroadcastChatMessage`],[`BrickComponentType_WireGraph_Exec_Gamemode_BroadcastStatusMessage`,`BrickComponentData_WireGraph_Exec_Gamemode_BroadcastStatusMessage`],[`BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromPlayers`,`BrickComponentData_WireGraph_Exec_ArrayVar_Base`],[`BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers`,`BrickComponentData_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetCurrentRound`,`BrickComponentData_WireGraph_Exec_Gamemode_GetCurrentRound`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_GetLeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetTeam`,`BrickComponentData_WireGraph_Exec_Gamemode_GetTeam`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamByName`,`BrickComponentData_WireGraph_Exec_Gamemode_GetTeamByName`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamName`,`BrickComponentData_WireGraph_Exec_Gamemode_GetTeamName`],[`BrickComponentType_WireGraph_Exec_Gamemode_IncrementLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_LeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_IncrementTeamLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_TeamLeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_PlayerWins`,`BrickComponentData_WireGraph_Exec_Gamemode_PlayerWins`],[`BrickComponentType_WireGraph_Exec_Gamemode_SetLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_LeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_SetTeam`,`BrickComponentData_WireGraph_Exec_Gamemode_SetTeam`],[`BrickComponentType_WireGraph_Exec_Gamemode_SetTeamLeaderboardValue`,`BrickComponentData_WireGraph_Exec_Gamemode_TeamLeaderboardValue`],[`BrickComponentType_WireGraph_Exec_Gamemode_SetTeamPinned`,`BrickComponentData_WireGraph_Exec_Gamemode_SetTeamPinned`],[`BrickComponentType_WireGraph_Exec_Gamemode_TeamWins`,`BrickComponentData_WireGraph_Exec_Gamemode_TeamWins`],[`BrickComponentType_WireGraph_Exec_PlayGlobalAudio`,`BrickComponentData_WireGraph_Exec_PlayGlobalAudio`],[`BrickComponentType_WireGraph_Exec_PrefabSpawner`,`BrickComponentData_WireGraph_Exec_PrefabSpawner`],[`BrickComponentType_WireGraph_Exec_PrintToConsole`,`BrickComponentData_WireGraph_Exec_PrintToConsole`],[`BrickComponentType_WireGraph_Exec_Random`,`BrickComponentData_WireGraph_Exec_Random`],[`BrickComponentType_WireGraph_Exec_Sweep`,`BrickComponentData_WireGraph_Exec_Sweep`],[`BrickComponentType_WireGraph_Exec_Toggle`,`BrickComponentData_WireGraph_Exec_Toggle`],[`BrickComponentType_WireGraph_Exec_Union`,`BrickComponentData_WireGraph_ExecUnion`],[`BrickComponentType_WireGraph_Exec_Var_Get`,`BrickComponentData_WireGraph_Exec_Var_Get`],[`BrickComponentType_WireGraph_Exec_Var_Increment`,`BrickComponentData_WireGraph_Exec_Var_EditOrGet`],[`BrickComponentType_WireGraph_Exec_Var_Set`,`BrickComponentData_WireGraph_Exec_Var_EditOrGet`],[`BrickComponentType_WireGraph_Expr_BitwiseAND`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseBitCount`,`BrickComponentData_WireGraph_Expr_Int_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseNAND`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseNOR`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseNOT`,`BrickComponentData_WireGraph_Expr_Int_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseOR`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseShiftLeft`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseShiftRight`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_BitwiseXOR`,`BrickComponentData_WireGraph_Expr_IntInt_Int`],[`BrickComponentType_WireGraph_Expr_Ceil`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_ColorBlend`,`BrickComponentData_WireGraph_Expr_ColorBlend`],[`BrickComponentType_WireGraph_Expr_ColorConvert`,`BrickComponentData_WireGraph_Expr_ColorConvert`],[`BrickComponentType_WireGraph_Expr_ColorToHex`,`BrickComponentData_WireGraph_Expr_ColorToHex`],[`BrickComponentType_WireGraph_Expr_CompareEqual`,`BrickComponentData_WireGraph_Expr_Compare`],[`BrickComponentType_WireGraph_Expr_CompareGreater`,`BrickComponentData_WireGraph_Expr_MathCompare`],[`BrickComponentType_WireGraph_Expr_CompareGreaterOrEqual`,`BrickComponentData_WireGraph_Expr_MathCompare`],[`BrickComponentType_WireGraph_Expr_CompareLess`,`BrickComponentData_WireGraph_Expr_MathCompare`],[`BrickComponentType_WireGraph_Expr_CompareLessOrEqual`,`BrickComponentData_WireGraph_Expr_MathCompare`],[`BrickComponentType_WireGraph_Expr_CompareNotEqual`,`BrickComponentData_WireGraph_Expr_Compare`],[`BrickComponentType_WireGraph_Expr_Convert`,`BrickComponentData_WireGraph_Expr_Convert`],[`BrickComponentType_WireGraph_Expr_DirectionToRotation`,`BrickComponentData_WireGraph_Expr_DirectionToRotation`],[`BrickComponentType_WireGraph_Expr_EdgeDetector`,`BrickComponentData_WireGraph_Expr_EdgeDetector`],[`BrickComponentType_WireGraph_Expr_Floor`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_InvertRotation`,`BrickComponentData_WireGraph_Expr_InvertRotation`],[`BrickComponentType_WireGraph_Expr_LogicalAND`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalNAND`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalNOR`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalNOT`,`BrickComponentData_WireGraph_Expr_Bool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalOR`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_LogicalXOR`,`BrickComponentData_WireGraph_Expr_BoolBool_Bool`],[`BrickComponentType_WireGraph_Expr_MakeColor`,`BrickComponentData_WireGraph_Expr_MakeColor`],[`BrickComponentType_WireGraph_Expr_MakeColorHex`,`BrickComponentData_WireGraph_Expr_MakeColorHex`],[`BrickComponentType_WireGraph_Expr_MakeColorSRGB`,`BrickComponentData_WireGraph_Expr_MakeColorSRGB`],[`BrickComponentType_WireGraph_Expr_MakeQuaternion`,`BrickComponentData_WireGraph_Expr_MakeQuaternion`],[`BrickComponentType_WireGraph_Expr_MakeRotation`,`BrickComponentData_WireGraph_Expr_MakeRotation`],[`BrickComponentType_WireGraph_Expr_MakeVector`,`BrickComponentData_WireGraph_Expr_MakeVector`],[`BrickComponentType_WireGraph_Expr_MathAbs`,`BrickComponentData_WireGraph_Expr_PrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathAcos`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAcosh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAdd`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathAsin`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAsinh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAtan`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathAtan2`,`BrickComponentData_WireGraph_Expr_MathAtan2`],[`BrickComponentType_WireGraph_Expr_MathAtanh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathBlend`,`BrickComponentData_WireGraph_Expr_MathBlend`],[`BrickComponentType_WireGraph_Expr_MathClamp`,`BrickComponentData_WireGraph_Expr_MathClamp`],[`BrickComponentType_WireGraph_Expr_MathCos`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathCosh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathDegreesToRadians`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathDivide`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathEasing`,`BrickComponentData_WireGraph_Expr_MathEasing`],[`BrickComponentType_WireGraph_Expr_MathExp`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathLn`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathLogBase`,`BrickComponentData_WireGraph_Expr_MathLogBase`],[`BrickComponentType_WireGraph_Expr_MathMax`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathMin`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathModulo`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathModuloFloored`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathMultiply`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathNegate`,`BrickComponentData_WireGraph_Expr_Variant_Variant`],[`BrickComponentType_WireGraph_Expr_MathPow`,`BrickComponentData_WireGraph_Expr_MathPow`],[`BrickComponentType_WireGraph_Expr_MathRadiansToDegrees`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathSign`,`BrickComponentData_WireGraph_Expr_PrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathSin`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathSinh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathSqrt`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathSubtract`,`BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant`],[`BrickComponentType_WireGraph_Expr_MathTan`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_MathTanh`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_NearlyEqual`,`BrickComponentData_WireGraph_Expr_NearlyEqual`],[`BrickComponentType_WireGraph_Expr_QuatAngleBetween`,`BrickComponentData_WireGraph_Expr_QuatAngleBetween`],[`BrickComponentType_WireGraph_Expr_QuatBetween`,`BrickComponentData_WireGraph_Expr_QuatBetween`],[`BrickComponentType_WireGraph_Expr_QuatDotProduct`,`BrickComponentData_WireGraph_Expr_QuatDotProduct`],[`BrickComponentType_WireGraph_Expr_QuatFromAxisAngle`,`BrickComponentData_WireGraph_Expr_QuatFromAxisAngle`],[`BrickComponentType_WireGraph_Expr_QuatSlerp`,`BrickComponentData_WireGraph_Expr_QuatSlerp`],[`BrickComponentType_WireGraph_Expr_QuatToAxisAngle`,`BrickComponentData_WireGraph_Expr_QuatToAxisAngle`],[`BrickComponentType_WireGraph_Expr_RotateVector`,`BrickComponentData_WireGraph_Expr_RotateVector`],[`BrickComponentType_WireGraph_Expr_RotationToDirection`,`BrickComponentData_WireGraph_Expr_RotationToDirection`],[`BrickComponentType_WireGraph_Expr_Round`,`BrickComponentData_WireGraph_Expr_Float_Float`],[`BrickComponentType_WireGraph_Expr_Select`,`BrickComponentData_WireGraph_Expr_Select`],[`BrickComponentType_WireGraph_Expr_SplitColor`,`BrickComponentData_WireGraph_Expr_SplitColor`],[`BrickComponentType_WireGraph_Expr_SplitColorSRGB`,`BrickComponentData_WireGraph_Expr_SplitColorSRGB`],[`BrickComponentType_WireGraph_Expr_SplitQuaternion`,`BrickComponentData_WireGraph_Expr_SplitQuaternion`],[`BrickComponentType_WireGraph_Expr_SplitRotation`,`BrickComponentData_WireGraph_Expr_SplitRotation`],[`BrickComponentType_WireGraph_Expr_SplitVector`,`BrickComponentData_WireGraph_Expr_SplitVector`],[`BrickComponentType_WireGraph_Expr_String_Concatenate`,`BrickComponentData_WireGraph_Expr_String_Concatenate`],[`BrickComponentType_WireGraph_Expr_String_Contains`,`BrickComponentData_WireGraph_Expr_String_Contains`],[`BrickComponentType_WireGraph_Expr_String_EndsWith`,`BrickComponentData_WireGraph_Expr_String_EndsWith`],[`BrickComponentType_WireGraph_Expr_String_Find`,`BrickComponentData_WireGraph_Expr_String_Find`],[`BrickComponentType_WireGraph_Expr_String_FormatText`,`BrickComponentData_WireGraph_Expr_String_FormatText`],[`BrickComponentType_WireGraph_Expr_String_Length`,`BrickComponentData_WireGraph_Expr_String_Length`],[`BrickComponentType_WireGraph_Expr_String_ParseInt`,`BrickComponentData_WireGraph_Expr_String_ParseInt`],[`BrickComponentType_WireGraph_Expr_String_ParseNumber`,`BrickComponentData_WireGraph_Expr_String_ParseNumber`],[`BrickComponentType_WireGraph_Expr_String_Replace`,`BrickComponentData_WireGraph_Expr_String_Replace`],[`BrickComponentType_WireGraph_Expr_String_Split`,`BrickComponentData_WireGraph_Expr_String_Split`],[`BrickComponentType_WireGraph_Expr_String_StartsWith`,`BrickComponentData_WireGraph_Expr_String_StartsWith`],[`BrickComponentType_WireGraph_Expr_String_Substring`,`BrickComponentData_WireGraph_Expr_String_Substring`],[`BrickComponentType_WireGraph_Expr_String_ToLower`,`BrickComponentData_WireGraph_Expr_String_ToLower`],[`BrickComponentType_WireGraph_Expr_String_ToUpper`,`BrickComponentData_WireGraph_Expr_String_ToUpper`],[`BrickComponentType_WireGraph_Expr_String_Trim`,`BrickComponentData_WireGraph_Expr_String_Trim`],[`BrickComponentType_WireGraph_Expr_Swap`,`BrickComponentData_WireGraph_Expr_Swap`],[`BrickComponentType_WireGraph_Expr_VecCrossProduct`,`BrickComponentData_WireGraph_Expr_VecVec_Vec`],[`BrickComponentType_WireGraph_Expr_VecDistance`,`BrickComponentData_WireGraph_Expr_VecVec_Float`],[`BrickComponentType_WireGraph_Expr_VecDistanceSquared`,`BrickComponentData_WireGraph_Expr_VecVec_Float`],[`BrickComponentType_WireGraph_Expr_VecDotProduct`,`BrickComponentData_WireGraph_Expr_VecVec_Float`],[`BrickComponentType_WireGraph_Expr_VecMagnitude`,`BrickComponentData_WireGraph_Expr_Vec_Float`],[`BrickComponentType_WireGraph_Expr_VecMagnitudeSquared`,`BrickComponentData_WireGraph_Expr_Vec_Float`],[`BrickComponentType_WireGraph_Expr_VecNormalize`,`BrickComponentData_WireGraph_Expr_Vec_Vec`],[`BrickComponentType_WireGraph_Expr_VecScale`,`BrickComponentData_WireGraph_Expr_VecFloat_Vec`],[`BrickComponentType_WireGraph_Fake_Gamemode_CharacterDamagedEvent`,`BrickComponentData_WireGraph_Fake_CharacterDamageEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_CharacterDiedEvent`,`BrickComponentData_WireGraph_Fake_CharacterDeathEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_CharacterSpawnedEvent`,`BrickComponentData_WireGraph_Fake_CharacterEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_ControllerJoinedEvent`,`BrickComponentData_WireGraph_Fake_ControllerEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_ControllerLeftEvent`,`BrickComponentData_WireGraph_Fake_ControllerEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_RoundEndEvent`,`BrickComponentData_WireGraph_Fake_RoundEvent`],[`BrickComponentType_WireGraph_Fake_Gamemode_RoundStartEvent`,`BrickComponentData_WireGraph_Fake_RoundEvent`],[`BrickComponentType_WireGraph_FindPlayer`,`BrickComponentData_WireGraph_FindPlayer`],[`BrickComponentType_WireGraph_FontReference`,`BrickComponentData_WireGraph_FontReference`],[`BrickComponentType_WireGraph_ItemReference`,`BrickComponentData_WireGraph_ItemReference`],[`BrickComponentType_WireGraph_OneShotAudioReference`,`BrickComponentData_WireGraph_OneShotAudioReference`],[`BrickComponentType_WireGraph_ParticleReference`,`BrickComponentData_WireGraph_ParticleReference`],[`BrickComponentType_WireGraph_PickupReference`,`BrickComponentData_WireGraph_PickupReference`],[`BrickComponentType_WireGraph_ProjectileReference`,`BrickComponentData_WireGraph_ProjectileReference`],[`BrickComponentType_WireGraph_ServerUptime`,`BrickComponentData_WireGraph_ServerUptime`],[`BrickComponentType_WireGraph_WheelEngineAudioReference`,`BrickComponentData_WireGraph_WheelEngineAudioReference`],[`Component_AudioEmitter`,`BrickComponentData_AudioEmitter`],[`Component_BotSpawn`,`BrickComponentData_BotSpawn`],[`Component_BrickPropertyChanger`,`BrickComponentData_BrickPropertyChanger`],[`Component_Button`,`BrickComponentData_Button`],[`Component_CheckPoint`,`BrickComponentData_CheckPoint`],[`Component_Damage`,`BrickComponentData_Damage`],[`Component_Interact`,`BrickComponentData_Interact`],[`Component_Internal_AnimatedButton`,`BrickComponentData_Button`],[`Component_Internal_AnimatedPressurePlate`,`BrickComponentData_Touch`],[`Component_Internal_AnimatedSwitch`,`BrickComponentData_Switch`],[`Component_Internal_AttachedZone`,`BrickComponentData_Internal_AttachedZone`],[`Component_Internal_Bearing`,`BrickComponentData_Bearing`],[`Component_Internal_Gyroscope`,`BrickComponentData_Gyroscope`],[`Component_Internal_InputSplitter`,`BrickComponentData_Internal_InputSplitter_V2`],[`Component_Internal_Joint_Wheel`,`BrickComponentData_Joint_Wheel`],[`Component_Internal_Joint_Wheel_Suspension`,`BrickComponentData_Joint_Wheel_Suspension`],[`Component_Internal_Microchip`,`BrickComponentData_Internal_Microchip`],[`Component_Internal_Motor`,`BrickComponentData_Motor`],[`Component_Internal_MotorSlider`,`BrickComponentData_MotorSlider`],[`Component_Internal_ProjectileSpawner_Cannon`,`BrickComponentData_ProjectileSpawner`],[`Component_Internal_Rerouter`,`BrickComponentData_Rerouter`],[`Component_Internal_RigidBearing`,`BrickComponentData_RigidBearing`],[`Component_Internal_RigidSlider`,`BrickComponentData_RigidSlider`],[`Component_Internal_Seat`,`BrickComponentData_Seat_V2`],[`Component_Internal_Servo`,`BrickComponentData_Servo`],[`Component_Internal_ServoSlider`,`BrickComponentData_ServoSlider`],[`Component_Internal_Slider`,`BrickComponentData_Slider`],[`Component_Internal_Thruster`,`BrickComponentData_Thruster`],[`Component_Internal_WeightBrick`,`BrickComponentData_WeightBrick`],[`Component_Internal_WheelEngine`,`BrickComponentData_WheelEngine_V2`],[`Component_ItemSpawn`,`BrickComponentData_ItemSpawn`],[`Component_OneShotAudioEmitter`,`BrickComponentData_OneShotAudioEmitter`],[`Component_PointLight`,`BrickComponentData_PointLight`],[`Component_ProjectileSpawner`,`BrickComponentData_ProjectileSpawner`],[`Component_SpawnPoint`,`BrickComponentData_SpawnPoint`],[`Component_SpotLight`,`BrickComponentData_SpotLight`],[`Component_Switch`,`BrickComponentData_Switch`],[`Component_Target`,`BrickComponentData_Target`],[`Component_TextDisplay`,`BrickComponentData_TextDisplay`],[`Component_Touch`,`BrickComponentData_Touch`],[`Component_WireGraph_PlayAudioAt`,`BrickComponentData_WireGraph_Exec_Entity_PlayAudioAt`]]),ta=new Map(Object.entries({BrickComponentData_AudioEmitter:{bEnabled:!0,VolumeMultiplier:1,PitchMultiplier:1,InnerRadius:15,MaxDistance:400,bSpatialization:!0,FocusAzimuth:360,NonFocusAzimuth:360,NonFocusVolumeAttenuation:1},BrickComponentData_Bearing:{bLimitAngle:!1,LimitAngle:0,bAnglesArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_BotSpawn:{RespawnTime:2,CorpseTimeout:5,GunSkill:.4,Agression:.7,ReactionTime:.4,MovementRandomness:50,RunSpeed:1,HealthMultiplier:1,Jumpyness:.7,MovementAmount:.2,AttackMovementAmount:.7,AggroRange:1e3,AttackDamageMultiplier:1,bCanJump:!0,bBackVision:!1,bVisionRaycasting:!0,bCanTargetPlayers:!0,bCanTargetBots:!0,bActiveBot:!0,bSpawnEnable:!0,bDeleteBot:!1,BotName:``,bColorsAreLinear:!0,TeamCollisionChannel:0,bTeamCollision:!0,bTeamCollision1:!0,bTeamCollision2:!0,bTeamCollision3:!0},BrickComponentData_BrickPropertyChanger:{bVisibility:!0,bCollisionEnabled:!0,bCollisionEnabled_Player:!0,bCollisionEnabled_Player1:!0,bCollisionEnabled_Player2:!0,bCollisionEnabled_Player3:!0,bCollisionEnabled_Weapon:!0,bCollisionEnabled_Interaction:!0,bCollisionEnabled_Physics:!0,Color:{B:200,G:200,R:200,A:255},MaterialAlpha:255,Material:0},BrickComponentData_Button:{bAllowNearbyInteraction:!0,bHiddenInteraction:!1,PromptCustomLabel:``},BrickComponentData_CheckPoint:{bRotatePlayerGravityOnSpawn:!0},BrickComponentData_Damage:{Damage:100,RepeatDelay:0,Message:``,ConsoleTag:``},BrickComponentData_Gyroscope:{bEnabled:!0,Strength:25,Damping:1,MaxForce:0},BrickComponentData_Interact:{Message:``,ConsoleTag:``,bAllowNearbyInteraction:!0,bHiddenInteraction:!1,PromptCustomLabel:``},BrickComponentData_Internal_AttachedZone:{ZoneStartDistance:0,ZoneEndDistance:60,bIsBuildingZone:!1,bIsLooseZone:!1,bIsShareZone:!1,bDetectPlayers:!0,bDetectPlayers1:!0,bDetectPlayers2:!0,bDetectPlayers3:!0,bDetectEntities:!1,bDetectProjectiles:!1,TagFilter:``},BrickComponentData_Internal_CharacterZoneEvent:{bCollisionEnabled_Player:!0,bCollisionEnabled_Player1:!0,bCollisionEnabled_Player2:!0,bCollisionEnabled_Player3:!0},BrickComponentData_Internal_MicrochipInput:{PortLabel:`Input`},BrickComponentData_Internal_MicrochipOutput:{PortLabel:`Output`},BrickComponentData_ItemSpawn:{bPickupEnabled:!0,bPickupRespawnOnMinigameReset:!0,PickupMinigameResetRespawnDelay:0,bPickupAutoDisableOnPickup:!0,PickupRespawnTime:5,bRenderTranslucentWhenDisabled:!0,DamageMultiplier:1,WeaponSpeedMultiplier:1,ItemNameOverride:``,PickupOffsetDirection:0,PickupOffsetDistance:5,PickupScale:1,bOverridePickupColors:!1,bPickupAnimationEnabled:!0,PickupAnimationAxis:0,bPickupAnimationAxisLocal:!1,PickupSpinSpeed:.2,PickupBobSpeed:.1,PickupBobHeight:4,PickupAnimationPhase:.14593951},BrickComponentData_Joint_Wheel:{bEnabled:!0,DriveSpeed:100,DrivePower:20,bSteerEnabled:!0,Steer:0,SteerLimitDegree:90,SteerPower:1e3,bSuspensionEnabled:!0,SuspensionStiffness:500,SuspensionDamping:50,JointDistance:10,bDriveWhenNotAttachedToEngine:!1,bCanBrake:!0,bAllowEngineSteerCorrect:!0,bReversed:!1,Damping:1},BrickComponentData_Joint_Wheel_Suspension:{bEnabled:!0,DriveSpeed:100,DrivePower:20,bSteerEnabled:!0,Steer:0,SteerLimitDegree:90,SteerPower:1e3,bSuspensionEnabled:!0,SuspensionStiffness:500,SuspensionDamping:50,SuspensionOffset:0,SuspensionLength:10,JointDistance:10,bDriveWhenNotAttachedToEngine:!1,bCanBrake:!0,bAllowEngineSteerCorrect:!0,bReversed:!1,Damping:1},BrickComponentData_Motor:{bEnabled:!0,Speed:60,Power:10,bLimitAngle:!1,LimitAngle:0,bAnglesArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_MotorSlider:{bEnabled:!0,Speed:60,Power:10,bPositionsArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_OneShotAudioEmitter:{VolumeMultiplier:1,PitchMultiplier:1,InnerRadius:15,MaxDistance:400,bSpatialization:!0,bEnableRepeat:!1,RepeatTime:1,RepeatVariance:0,RepeatCount:1},BrickComponentData_PointLight:{bMatchBrickShape:!0,bEnabled:!0,Brightness:20,Radius:150,Color:{B:255,G:255,R:255,A:255},bUseBrickColor:!0,bCastShadows:!1},BrickComponentData_PrefabSpawn:{Prefab:``,bSpawnEnable:!0,RespawnTime:5},BrickComponentData_ProjectileSpawner:{Direction:0,SpawnLocation:0,SpawnMargin:5,bEnabled:!1,NumberOfShots:1,SpreadConeAngle:0,bSpreadBiasedTowardsCenter:!1,FireRate:0,DamageMultiplier:1,SpeedMultiplier:1,ScaleMultiplier:1},BrickComponentData_RigidBearing:{TargetAngle:0,bAnglesArePercentages:!1,bReversed:!1,InterpMode:0,SmoothTime:.25,TopSpeed:0},BrickComponentData_RigidSlider:{TargetPosition:0,bPositionsArePercentages:!1,bReversed:!1,InterpMode:0,SmoothTime:.25,TopSpeed:0},BrickComponentData_Seat_V2:{bIsOccupied:!1,bRollCameraInThirdPerson:!1,bAllowNearbyInteraction:!0,bHiddenInteraction:!1,PromptCustomLabel:``},BrickComponentData_Servo:{bEnabled:!0,TargetAngle:0,Power:100,ActiveDamping:30,ForceLimit:0,bLimitAngle:!1,LimitAngle:0,bAnglesArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_ServoSlider:{bEnabled:!0,TargetPosition:0,Power:100,TopSpeed:0,Exponent:2,bPositionsArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_Slider:{bPositionsArePercentages:!1,bReversed:!1,Damping:1},BrickComponentData_SpawnPoint:{bRotatePlayerGravityOnSpawn:!0,bEnable:!0},BrickComponentData_SpotLight:{InnerConeAngle:30,OuterConeAngle:60,bEnabled:!0,Brightness:20,Radius:150,Color:{B:255,G:255,R:255,A:255},bUseBrickColor:!0,bCastShadows:!1},BrickComponentData_Switch:{bEnabled:!1,bAllowNearbyInteraction:!0,bHiddenInteraction:!1,PromptCustomLabel:``},BrickComponentData_Target:{OnTime:.5},BrickComponentData_TextDisplay:{Text:`Hello World`,Rotation:0,Skew:0,Kerning:0,LineHeight:10,LineOffset:0,Color:{B:255,G:255,R:255,A:255},MaterialSlider:10,ShadingWidth:2,OutlineColor:{B:0,G:0,R:0,A:255},OutlineWidth:2,ScuffWidth:0,GraffitiDepthLimit:5,GraffitiAngleLimit:45,GraffitiLayer:0,bEnabled:!0,Face:0,bAlignToWedge:!1,bOverrideColor:!0,Typeface:0,Billboard:0,Material:0,Shading:0,bFlipShading:!1,Outline:0,bSharpCorners:!0,bSharpOutlines:!0,bOverrideOutlineColor:!0,bForeground:!1},BrickComponentData_Thruster:{bEnabled:!0,Force:1e3,Throttle:0,Pitch:0,Yaw:0,bSpawnLight:!0},BrickComponentData_Touch:{bCollisionEnabled_Player:!0,bCollisionEnabled_Player1:!0,bCollisionEnabled_Player2:!0,bCollisionEnabled_Player3:!0},BrickComponentData_WeightBrick:{Mass:1},BrickComponentData_WheelEngine_V2:{bEnabled:!0,bEnableManualControl:!1,ManualInput_Drive:0,ManualInput_Steer:0,bManualInput_Brake:!1,CustomMass:500,CustomMassVerticalOffset:0,DriveInterpSpeed:1,DriveSpeed:500,DriveAcceleratingPowerMultiplier:.5,DriveBrakingPowerMultiplier:10,DriveDampingMultiplier:1,SteerPowerMultiplier:100,WheelFrictionMultiplier:.8,SteerInterpSpeed:10,SteerLimitSpeedFalloff:1,SteerLimitDegree:32,CenterOfSteering:0,bTankSteering:!1,TankSteerSpeedMultiplier:1,bAutoRight:!0,WaterDriveForce:200,WaterSteeringForce:100},BrickComponentData_WireGraphPseudo_BufferSeconds:{SecondsToWait:1,ZeroSecondsToWait:-1,CurrentTime:0,bHasQueued:!1,bIsOffTimer:!1},BrickComponentData_WireGraphPseudo_BufferTicks:{TicksToWait:0,ZeroTicksToWait:-1,CurrentTicks:0,bHasQueued:!1,bIsOffTimer:!1},BrickComponentData_WireGraphPseudo_Dampen:{SmoothTime:.3},BrickComponentData_WireGraphPseudo_QueueSeconds:{SecondsToWait:1},BrickComponentData_WireGraphPseudo_QueueTicks:{TicksToWait:1},BrickComponentData_WireGraphPseudo_Timer:{Limit:1,Time:0,bRunning:!1},BrickComponentData_WireGraphPseudo_Tween:{Duration:1,Elapsed:0,Function:0,Direction:0},BrickComponentData_WireGraph_ExecBranch:{bCond:!1},BrickComponentData_WireGraph_Exec_ArrayVar_ElementOp:{Index:0},BrickComponentData_WireGraph_Exec_ArrayVar_Get:{Index:0},BrickComponentData_WireGraph_Exec_ArrayVar_Insert:{Index:0},BrickComponentData_WireGraph_Exec_ArrayVar_RemoveAtIndex:{Index:0},BrickComponentData_WireGraph_Exec_ArrayVar_Resize:{Size:0},BrickComponentData_WireGraph_Exec_ArrayVar_Slice:{Start:0,Count:0},BrickComponentData_WireGraph_Exec_ArrayVar_Sort:{bDescending:!1},BrickComponentData_WireGraph_Exec_ArrayVar_Swap:{IndexA:0,IndexB:0},BrickComponentData_WireGraph_Exec_Character_IncDamage:{Amount:0},BrickComponentData_WireGraph_Exec_Character_SetDamage:{Damage:0},BrickComponentData_WireGraph_Exec_Character_SetInventoryBrick:{Slot:0},BrickComponentData_WireGraph_Exec_Character_SetInventoryEntity:{Slot:0},BrickComponentData_WireGraph_Exec_Character_SetInventoryEntry:{Slot:0},BrickComponentData_WireGraph_Exec_Character_SetInventoryItem:{Slot:0},BrickComponentData_WireGraph_Exec_Character_SetTempPermission:{PermissionTagStr:`BR.Permission.Building`,bPermissionEnable:!1},BrickComponentData_WireGraph_Exec_Character_ShowHint:{HintTitle:``,HintText:``},BrickComponentData_WireGraph_Exec_ChatCommand:{CommandName:``,HelpText:``},BrickComponentData_WireGraph_Exec_Controller_DisplayText:{Text:``,AnchorX:.5,AnchorY:.5,PositionX:0,PositionY:0,Angle:0,ScaleX:1,ScaleY:1,FontSize:16,FontColor:{B:255,G:255,R:255,A:255},OutlineSize:2,OutlineColor:{B:37,G:20,R:24,A:255},Justification:0,Transition:0,Easing:0,Lifetime:5,TextId:0},BrickComponentData_WireGraph_Exec_Controller_HasPermission:{PermissionName:`BR.Permission.AlwaysSave`},BrickComponentData_WireGraph_Exec_Controller_HasRole:{RoleName:``},BrickComponentData_WireGraph_Exec_Controller_SetCanRespawn:{bCanRespawn:!0},BrickComponentData_WireGraph_Exec_Controller_ShowChatMessage:{Message:``},BrickComponentData_WireGraph_Exec_Cycle:{Count:3,Value:0},BrickComponentData_WireGraph_Exec_Entity_PlayAudioAt:{VolumeMultiplier:1,PitchMultiplier:1,InnerRadius:0,MaxDistance:1e4,bSpatialization:!0},BrickComponentData_WireGraph_Exec_Entity_SetFrozen:{bFrozen:!1},BrickComponentData_WireGraph_Exec_Entity_SetTag:{Tag:``},BrickComponentData_WireGraph_Exec_Gamemode_BroadcastChatMessage:{Message:``},BrickComponentData_WireGraph_Exec_Gamemode_BroadcastStatusMessage:{Message:``,bFlashIfUnchanged:!0},BrickComponentData_WireGraph_Exec_Gamemode_GetLeaderboardValue:{Key:`Score`},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamByName:{TeamName:``},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue:{Key:`Score`},BrickComponentData_WireGraph_Exec_Gamemode_LeaderboardValue:{Key:`Score`,Value:0},BrickComponentData_WireGraph_Exec_Gamemode_PlayerWins:{bTeamWinsInstead:!1},BrickComponentData_WireGraph_Exec_Gamemode_SetTeam:{bPinPlayerToTeam:!1},BrickComponentData_WireGraph_Exec_Gamemode_SetTeamPinned:{bPinned:!0},BrickComponentData_WireGraph_Exec_Gamemode_TeamLeaderboardValue:{Key:`Score`,Value:0},BrickComponentData_WireGraph_Exec_PlayGlobalAudio:{VolumeMultiplier:1,PitchMultiplier:1},BrickComponentData_WireGraph_Exec_PrefabSpawner:{Prefab:``,Lifetime:5,Limit:5},BrickComponentData_WireGraph_Exec_PrintToConsole:{Text:``},BrickComponentData_WireGraph_Exec_Sweep:{Distance:1e3,Radius:0,bDetectBricks:!0,bDetectPlayers1:!0,bDetectPlayers2:!0,bDetectPlayers3:!0,bDetectPlayers4:!0,bDetectPhysics:!0,bDetectMap:!0,bRelative:!1,bIgnoreOwningGrid:!0},BrickComponentData_WireGraph_Exec_Toggle:{Value:!1},BrickComponentData_WireGraph_Expr_BoolBool_Bool:{bInputA:!1,bInputB:!1},BrickComponentData_WireGraph_Expr_Bool_Bool:{bInput:!1},BrickComponentData_WireGraph_Expr_ColorBlend:{Alpha:.5,BlendSpace:0,bClampAlpha:!0},BrickComponentData_WireGraph_Expr_ColorConvert:{FromSpace:0,ToSpace:0},BrickComponentData_WireGraph_Expr_EdgeDetector:{Input:0,bPulseOnRisingEdge:!1,bPulseOnFallingEdge:!1},BrickComponentData_WireGraph_Expr_Float_Float:{Input:0},BrickComponentData_WireGraph_Expr_IntInt_Int:{InputA:0,InputB:0},BrickComponentData_WireGraph_Expr_Int_Int:{Input:0},BrickComponentData_WireGraph_Expr_MakeColor:{R:1,G:1,B:1,A:1},BrickComponentData_WireGraph_Expr_MakeColorHex:{Hex:``},BrickComponentData_WireGraph_Expr_MakeColorSRGB:{R:255,G:255,B:255,A:255},BrickComponentData_WireGraph_Expr_MakeQuaternion:{X:0,Y:0,Z:0,W:1},BrickComponentData_WireGraph_Expr_MakeRotation:{Pitch:0,Yaw:0,Roll:0},BrickComponentData_WireGraph_Expr_MakeVector:{X:0,Y:0,Z:0},BrickComponentData_WireGraph_Expr_MathAtan2:{Y:0,X:0},BrickComponentData_WireGraph_Expr_MathBlend:{Blend:0,bClampAlpha:!0},BrickComponentData_WireGraph_Expr_MathEasing:{Blend:0,Function:0,Direction:0},BrickComponentData_WireGraph_Expr_MathLogBase:{Input:0,Base:10},BrickComponentData_WireGraph_Expr_MathPow:{Input:0,Exponent:2},BrickComponentData_WireGraph_Expr_NearlyEqual:{Tolerance:9999999747378752e-20},BrickComponentData_WireGraph_Expr_QuatFromAxisAngle:{Angle:0},BrickComponentData_WireGraph_Expr_QuatSlerp:{Alpha:0,bShortestPath:!0,bClampAlpha:!0},BrickComponentData_WireGraph_Expr_Select:{bSelectB:!1},BrickComponentData_WireGraph_Expr_String_Concatenate:{InputA:``,InputB:``,Separator:``},BrickComponentData_WireGraph_Expr_String_Contains:{Input:``,Search:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_EndsWith:{Input:``,Suffix:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_Find:{Input:``,Search:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_FormatText:{FormatString:``},BrickComponentData_WireGraph_Expr_String_Length:{Input:``},BrickComponentData_WireGraph_Expr_String_ParseInt:{Input:``},BrickComponentData_WireGraph_Expr_String_ParseNumber:{Input:``},BrickComponentData_WireGraph_Expr_String_Replace:{Input:``,Search:``,Replacement:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_Split:{Input:``,Delimiter:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_StartsWith:{Input:``,Prefix:``,bCaseSensitive:!0},BrickComponentData_WireGraph_Expr_String_Substring:{Input:``,Start:0,Length:0},BrickComponentData_WireGraph_Expr_String_ToLower:{Input:``},BrickComponentData_WireGraph_Expr_String_ToUpper:{Input:``},BrickComponentData_WireGraph_Expr_String_Trim:{Input:``},BrickComponentData_WireGraph_Expr_Swap:{bSwap:!1},BrickComponentData_WireGraph_Expr_VecFloat_Vec:{Scalar:0},BrickComponentData_WireGraph_Fake_RoundEvent:{RoundNumber:0},BrickComponentData_WireGraph_FindPlayer:{Query:``}})),na=`A,ActiveDamping,AdditionalIgnoredEntities,AggroRange,Agression,Alpha,Amount,Anchor,Anchor.X,Anchor.Y,AnchorX,AnchorY,Angle,AngularVelocity,AngularVelocity.X,AngularVelocity.Y,AngularVelocity.Z,Arguments,ArrayVarRef,Arrived,AttackDamageMultiplier,AttackMovementAmount,Attacker,AttackerWeapon,AttackerWeaponName,AudioDescriptor,Axis,Axis.X,Axis.Y,Axis.Z,B,Base,BeginTouchSound,Billboard,Blend,BotName,BotWeapon,BrickAsset,BrickGrid,Brightness,CenterOfSteering,Character,CharacterThatJustHit,Color,Color.A,Color.B,Color.G,Color.R,ColorA,ColorA.A,ColorA.B,ColorA.G,ColorA.R,ColorB,ColorB.A,ColorB.B,ColorB.G,ColorB.R,ConsoleTag,Control_DriveAndSteer,Controller,CorpseTimeout,Count,CurrentAngle,CurrentPosition,CustomMass,CustomMassVerticalOffset,Damage,DamageLimit,DamageMultiplier,Damping,DataIn1,DataIn2,DataIn3,DataIn4,DataIn5,DataIn6,DataIn7,DataIn8,DataOut1,DataOut2,DataOut3,DataOut4,DataOut5,DataOut6,DataOut7,DataOut8,Delimiter,DeltaTime,Destination,DestroyAll,Direction,Direction.X,Direction.Y,Direction.Z,DisplayName,Distance,DistanceToTarget,DriveAcceleratingPowerMultiplier,DriveBrakingPowerMultiplier,DriveDampingMultiplier,DriveInterpSpeed,DrivePower,DriveSpeed,Duration,EndTouchSound,Entity,EntityType,Exec,ExecA,ExecB,ExecDown,ExecIn,ExecOut,ExecOutA,ExecOutB,ExecOutDown,ExitOffset,ExitOffset.X,ExitOffset.Y,ExitOffset.Z,Expired,Exponent,Face,FireRate,FireSound,FocusAzimuth,FocusCharacter,Font,FontColor,FontColor.A,FontColor.B,FontColor.G,FontColor.R,Force,ForceLimit,FormatString,From,From.X,From.Y,From.Z,Function,G,GraffitiAngleLimit,GraffitiDepthLimit,GraffitiLayer,GunSkill,HealthMultiplier,Hex,Hit,HitDistance,HitEntity,HitLocation,HitNormal,IgnoreEntity,Index,IndexA,IndexB,InnerConeAngle,InnerRadius,Input,Input.A,Input.B,Input.G,Input.Pitch,Input.R,Input.Roll,Input.W,Input.X,Input.Y,Input.Yaw,Input.Z,InputA,InputA.W,InputA.X,InputA.Y,InputA.Z,InputB,InputB.W,InputB.X,InputB.Y,InputB.Z,InputC,InputD,InputE,InputF,InputForward,InputG,InputRight,Instigator,InteractSound,InterpMode,Item,ItemNameOverride,JointDistance,Jumpyness,Kerning,Key,Killer,KillerWeapon,KillerWeaponName,Left,Length,Lifetime,Limit,LimitAngle,LineHeight,LineOffset,LinearVelocity,LinearVelocity.X,LinearVelocity.Y,LinearVelocity.Z,ManualInput_Drive,ManualInput_Steer,Mass,MassOffset,MassOffset.X,MassOffset.Y,MassOffset.Z,MassSize,MassSize.X,MassSize.Y,MassSize.Z,Material,MaterialAlpha,MaterialSlider,Max,MaxDistance,MaxForce,Message,Min,Miss,MoveTarget,MoveTarget.X,MoveTarget.Y,MoveTarget.Z,MovementAmount,MovementGoalDummy,MovementRandomness,Name,NonFocusAzimuth,NonFocusVolumeAttenuation,NumberOfShots,OccupantCount,Offset,Offset.X,Offset.Y,Offset.Z,OnFired,OnTime,Origin,Origin.X,Origin.Y,Origin.Z,OuterConeAngle,Outline,OutlineColor,OutlineColor.A,OutlineColor.B,OutlineColor.G,OutlineColor.R,OutlineSize,OutlineWidth,Output,OutputB,Pause,PickupAnimationAxis,PickupAnimationPhase,PickupBobHeight,PickupBobSpeed,PickupClass,PickupMeshColors,PickupMinigameResetRespawnDelay,PickupOffsetDirection,PickupOffsetDistance,PickupRespawnTime,PickupRotation,PickupRotation.Pitch,PickupRotation.Roll,PickupRotation.Yaw,PickupScale,PickupSpinSpeed,Pitch,PitchMultiplier,Play,Player,PositionX,PositionY,Power,Prefab,Prefab.Path,Prefix,PressCount,PressSound,ProceduralSize,ProceduralSize.X,ProceduralSize.Y,ProceduralSize.Z,Projectile,ProjectileClass,ProjectileOverride,PromptCustomLabel,Query,R,RER_Input,RER_Output,Radius,ReactionTime,ReleaseSound,RepeatCount,RepeatDelay,RepeatTime,RepeatVariance,Replacement,RespawnTime,Restart,Resume,Right,Roll,Rotation,Rotation.Pitch,Rotation.Roll,Rotation.W,Rotation.X,Rotation.Y,Rotation.Yaw,Rotation.Z,RoundNumber,RunSpeed,Scalar,ScaleMultiplier,ScaleX,ScaleY,ScuffWidth,Search,SecondsToWait,Separator,Shading,ShadingWidth,SittingCharacter,Size,Skew,Skin,Skin.Parts,Slot,SmoothTime,Source,SourceRef,SpawnLocation,SpawnMargin,SpawnOffset,SpawnOffset.X,SpawnOffset.Y,SpawnOffset.Z,SpawnOffsetRotation,SpawnOffsetRotation.Pitch,SpawnOffsetRotation.Roll,SpawnOffsetRotation.Yaw,SpawnVelocity,SpawnVelocity.X,SpawnVelocity.Y,SpawnVelocity.Z,SpawnedCharacter,SpawnedEntity,Speed,SpeedMultiplier,SpreadConeAngle,Start,Steer,SteerInterpSpeed,SteerLimitDegree,SteerLimitSpeedFalloff,SteerPower,SteerPowerMultiplier,Stop,Strength,Suffix,SuspensionDamping,SuspensionLength,SuspensionOffset,SuspensionStiffness,Tag,TagFilter,TankSteerSpeedMultiplier,Target,TargetAngle,TargetAxis,TargetAxis.X,TargetAxis.Y,TargetAxis.Z,TargetPosition,Team,TeamCollisionChannel,TeamName,Text,TextId,TextIdOut,ThisDestination,Throttle,TicksToWait,Time,To,To.X,To.Y,To.Z,Tolerance,TopSpeed,TouchCount,Transition,Typeface,Uptime,UserId,UserName,Value,VarRef,Vector,Vector.X,Vector.Y,Vector.Z,VolumeMultiplier,W,WaterDriveForce,WaterSteeringForce,Weapon,WeaponName,WeaponNameThatJustHit,WeaponSpeedMultiplier,WeaponThatJustHit,WheelFrictionMultiplier,X,Y,Yaw,Z,ZeroSecondsToWait,ZeroTicksToWait,Zone,ZoneEndDistance,ZoneRef,ZoneStartDistance,bActiveBot,bAlignToWedge,bAllowEngineSteerCorrect,bAllowNearbyInteraction,bAnglesArePercentages,bAutoRight,bBackVision,bCanBrake,bCanJump,bCanRespawn,bCanTargetBots,bCanTargetPlayers,bCaseSensitive,bCastShadows,bCollisionEnabled,bCollisionEnabled_Interaction,bCollisionEnabled_Physics,bCollisionEnabled_Player,bCollisionEnabled_Player1,bCollisionEnabled_Player2,bCollisionEnabled_Player3,bCollisionEnabled_Weapon,bCond,bDeleteBot,bDescending,bDetectBricks,bDetectEntities,bDetectMap,bDetectPhysics,bDetectPlayers,bDetectPlayers1,bDetectPlayers2,bDetectPlayers3,bDetectPlayers4,bDetectProjectiles,bDriveWhenNotAttachedToEngine,bEnable,bEnableManualControl,bEnableRepeat,bEnabled,bFlashIfUnchanged,bFlipShading,bForeground,bFound,bFrozen,bHasPermission,bHasRole,bHeld,bHiddenInteraction,bIgnoreOwningGrid,bInput,bInputA,bInputB,bIsBuildingZone,bIsEmpty,bIsLooseZone,bIsOccupied,bIsShareZone,bIsTrusted,bJustHit,bLimitAngle,bManualInput_Brake,bMatchBrickShape,bOccupied,bOutOfBounds,bOutput,bOverrideColor,bOverrideOutlineColor,bOverridePickupColors,bPermissionEnable,bPickupAnimationAxisLocal,bPickupAnimationEnabled,bPickupAutoDisableOnPickup,bPickupEnabled,bPickupRespawnOnMinigameReset,bPinPlayerToTeam,bPinned,bPositionsArePercentages,bPressedJump,bPulseOnFallingEdge,bPulseOnRisingEdge,bRelative,bRenderTranslucentWhenDisabled,bReversed,bRollCameraInThirdPerson,bRotatePlayerGravityOnSpawn,bSelectB,bSharpCorners,bSharpOutlines,bShowPickupEnabled,bSpatialization,bSpawnEnable,bSpawnLight,bSpreadBiasedTowardsCenter,bSteerEnabled,bStopped,bSuccess,bSuspensionEnabled,bSwap,bTankSteering,bTeamCollision,bTeamCollision1,bTeamCollision2,bTeamCollision3,bTeamWinsInstead,bTouching,bUseBrickColor,bVisibility,bVisionRaycasting,bWelded`.split(`,`),ra=new Map([[`Entity_DynamicBrickGrid`,`BrickGridDynamicActor`],[`Entity_MicrochipDynamicBrickGrid`,`BP_MicrochipBrickGridDynamicActor_C`]]),ia=new Map(Object.entries({BrickComponentType_Internal_CharacterZoneEvent_Entered:{bricks:[`B_1x1_Gate_Internal_CharacterZoneEvent_Entered`],inputs:[`Zone`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`],outputs:[`Character`,`Exec`]},BrickComponentType_Internal_CharacterZoneEvent_Left:{bricks:[`B_1x1_Gate_Internal_CharacterZoneEvent_Left`],inputs:[`Zone`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`],outputs:[`Character`,`Exec`]},BrickComponentType_Internal_MicrochipInput:{bricks:[`B_1x1_Gate_MicrochipInput`],inputs:[`RER_Input`],outputs:[`RER_Output`]},BrickComponentType_Internal_MicrochipOutput:{bricks:[`B_1x1_Gate_MicrochipOutput`],inputs:[`RER_Input`],outputs:[`RER_Output`]},BrickComponentType_Internal_ReadBrickGrid:{bricks:[`B_1x1_Gate_Internal_ReadBrickGrid`],inputs:[],outputs:[`BrickGrid`]},BrickComponentType_Internal_TeleportDestination:{bricks:[`B_DestinationPoint`],inputs:[],outputs:[`ThisDestination`]},BrickComponentType_Internal_ZoneEvent_BrickChanged:{bricks:[`B_1x1_Gate_Internal_ZoneEvent_BrickChanged`],inputs:[`Zone`],outputs:[`Exec`]},BrickComponentType_Internal_ZoneEvent_BrickRemoved:{bricks:[`B_1x1_Gate_Internal_ZoneEvent_BrickRemoved`],inputs:[`Zone`],outputs:[`Exec`]},BrickComponentType_PrefabSpawn:{bricks:[`B_1x1F_Round`],inputs:[`Prefab`,`Prefab.Path`,`RespawnTime`,`SpawnOffset`,`SpawnOffset.X`,`SpawnOffset.Y`,`SpawnOffset.Z`,`SpawnOffsetRotation`,`SpawnOffsetRotation.Pitch`,`SpawnOffsetRotation.Roll`,`SpawnOffsetRotation.Yaw`,`bSpawnEnable`],outputs:[`SpawnedEntity`]},BrickComponentType_WireGraph_AudioReference:{bricks:[`B_1x1_Gate_AudioReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_DeltaTime:{bricks:[`B_1x1_Gate_DeltaTime`],inputs:[],outputs:[`DeltaTime`]},BrickComponentType_WireGraph_Exec_ArrayVar_Append:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Append`],inputs:[`ArrayVarRef`,`Exec`,`SourceRef`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Average:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Average`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`,`bIsEmpty`]},BrickComponentType_WireGraph_Exec_ArrayVar_Clear:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Clear`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_CopyFrom:{bricks:[`B_1x1_Gate_Exec_ArrayVar_CopyFrom`],inputs:[`ArrayVarRef`,`Exec`,`SourceRef`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Fill:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Fill`],inputs:[`ArrayVarRef`,`Exec`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Find:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Find`],inputs:[`ArrayVarRef`,`Exec`,`Value`],outputs:[`ExecOut`,`Index`,`bFound`]},BrickComponentType_WireGraph_Exec_ArrayVar_Get:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Get`],inputs:[`ArrayVarRef`,`Exec`,`Index`],outputs:[`ExecOut`,`Value`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_ArrayVar_GetLength:{bricks:[`B_1x1_Gate_Exec_ArrayVar_GetLength`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Length`]},BrickComponentType_WireGraph_Exec_ArrayVar_Insert:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Insert`],inputs:[`ArrayVarRef`,`Exec`,`Index`,`Value`],outputs:[`ExecOut`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_ArrayVar_Max:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Max`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`,`bIsEmpty`]},BrickComponentType_WireGraph_Exec_ArrayVar_Min:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Min`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`,`bIsEmpty`]},BrickComponentType_WireGraph_Exec_ArrayVar_Pop:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Pop`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`,`bIsEmpty`]},BrickComponentType_WireGraph_Exec_ArrayVar_Push:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Push`],inputs:[`ArrayVarRef`,`Exec`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_RemoveAtIndex:{bricks:[`B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex`],inputs:[`ArrayVarRef`,`Exec`,`Index`],outputs:[`ExecOut`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_ArrayVar_Resize:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Resize`],inputs:[`ArrayVarRef`,`Exec`,`Size`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Reverse:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Reverse`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_SetAtIndex:{bricks:[`B_1x1_Gate_Exec_ArrayVar_SetAtIndex`],inputs:[`ArrayVarRef`,`Exec`,`Index`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Shuffle:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Shuffle`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Slice:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Slice`],inputs:[`ArrayVarRef`,`Count`,`Exec`,`SourceRef`,`Start`],outputs:[`ExecOut`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_ArrayVar_Sort:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Sort`],inputs:[`ArrayVarRef`,`Exec`,`bDescending`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ArrayVar_Sum:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Sum`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`,`Value`]},BrickComponentType_WireGraph_Exec_ArrayVar_Swap:{bricks:[`B_1x1_Gate_Exec_ArrayVar_Swap`],inputs:[`ArrayVarRef`,`Exec`,`IndexA`,`IndexB`],outputs:[`ExecOut`,`bOutOfBounds`]},BrickComponentType_WireGraph_Exec_Branch:{bricks:[`B_1x1_Gate_Exec_Branch`],inputs:[`Exec`,`bCond`],outputs:[`ExecOutA`,`ExecOutB`]},BrickComponentType_WireGraph_Exec_Character_GetAim:{bricks:[`B_1x1_Gate_Exec_Character_GetAim`],inputs:[`Character`,`Exec`],outputs:[`Direction`,`ExecOut`,`Origin`]},BrickComponentType_WireGraph_Exec_Character_GetDamage:{bricks:[`B_1x1_Gate_Exec_Character_GetDamage`],inputs:[`Character`,`Exec`],outputs:[`Damage`,`DamageLimit`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_GetFromController:{bricks:[`B_1x1_Gate_Exec_Character_GetFromController`],inputs:[`Controller`,`Exec`],outputs:[`Character`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_IncDamage:{bricks:[`B_1x1_Gate_Exec_Character_IncDamage`],inputs:[`Amount`,`Character`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_SetDamage:{bricks:[`B_1x1_Gate_Exec_Character_SetDamage`],inputs:[`Character`,`Damage`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_SetTempPermission:{bricks:[`B_1x1_Gate_Exec_Character_SetTempPermission`],inputs:[`Character`,`Exec`,`bPermissionEnable`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Character_ShowHint:{bricks:[`B_1x1_Gate_Exec_Character_ShowHint`],inputs:[`Character`,`Exec`,`HintText`,`HintTitle`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_ChatCommand:{bricks:[`B_1x1_Gate_Exec_ChatCommand`],inputs:[],outputs:[`Arguments`,`Controller`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Controller_DisplayText:{bricks:[`B_1x1_Gate_Exec_Controller_DisplayText`],inputs:[`AnchorX`,`AnchorY`,`Angle`,`Controller`,`Exec`,`FontColor`,`FontColor.A`,`FontColor.B`,`FontColor.G`,`FontColor.R`,`FontSize`,`Lifetime`,`OutlineColor`,`OutlineColor.A`,`OutlineColor.B`,`OutlineColor.G`,`OutlineColor.R`,`OutlineSize`,`PositionX`,`PositionY`,`ScaleX`,`ScaleY`,`Text`,`TextId`,`Transition`],outputs:[`ExecOut`,`TextIdOut`]},BrickComponentType_WireGraph_Exec_Controller_GetDisplayName:{bricks:[`B_1x1_Gate_Exec_Controller_GetDisplayName`],inputs:[`Controller`,`Exec`],outputs:[`DisplayName`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Controller_GetFromEntity:{bricks:[`B_1x1_Gate_Exec_Controller_GetFromEntity`],inputs:[`Entity`,`Exec`],outputs:[`Controller`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Controller_GetUserId:{bricks:[`B_1x1_Gate_Exec_Controller_GetUserId`],inputs:[`Controller`,`Exec`],outputs:[`ExecOut`,`UserId`]},BrickComponentType_WireGraph_Exec_Controller_GetUserName:{bricks:[`B_1x1_Gate_Exec_Controller_GetUserName`],inputs:[`Controller`,`Exec`],outputs:[`ExecOut`,`UserName`]},BrickComponentType_WireGraph_Exec_Controller_HasPermission:{bricks:[`B_1x1_Gate_Exec_Controller_HasPermission`],inputs:[`Controller`,`Exec`],outputs:[`ExecOut`,`bHasPermission`]},BrickComponentType_WireGraph_Exec_Controller_IsTrustedByBrickOwner:{bricks:[`B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner`],inputs:[`Controller`,`Exec`],outputs:[`ExecOut`,`bIsTrusted`]},BrickComponentType_WireGraph_Exec_Controller_SetCanRespawn:{bricks:[`B_1x1_Gate_Exec_Controller_SetCanRespawn`],inputs:[`Controller`,`Exec`,`bCanRespawn`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Controller_ShowStatusMessage:{bricks:[`B_1x1_Gate_Exec_Controller_ShowStatusMessage`],inputs:[`Controller`,`Exec`,`Message`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_AddLocationRotation:{bricks:[`B_1x1_Gate_Exec_Entity_AddLocationRotation`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_AddVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_AddVelocity`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.X`,`Rotation.Y`,`Rotation.Z`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_GetAngularVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_GetAngularVelocity`],inputs:[`Entity`,`Exec`],outputs:[`AngularVelocity`,`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_GetLinearVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_GetLinearVelocity`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`LinearVelocity`]},BrickComponentType_WireGraph_Exec_Entity_GetLocation:{bricks:[`B_1x1_Gate_Exec_Entity_GetLocation`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`Vector`]},BrickComponentType_WireGraph_Exec_Entity_GetLocationRotation:{bricks:[`B_1x1_Gate_Exec_Entity_GetLocationRotation`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`Rotation`,`Vector`]},BrickComponentType_WireGraph_Exec_Entity_GetRotation:{bricks:[`B_1x1_Gate_Exec_Entity_GetRotation`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`Rotation`]},BrickComponentType_WireGraph_Exec_Entity_GetVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_GetVelocity`],inputs:[`Entity`,`Exec`],outputs:[`ExecOut`,`Rotation`,`Vector`]},BrickComponentType_WireGraph_Exec_Entity_RelativeTeleport:{bricks:[`B_1x1_Gate_Exec_Entity_RelativeTeleport`],inputs:[`Destination`,`Entity`,`Exec`,`Source`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetAngularVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_SetAngularVelocity`],inputs:[`AngularVelocity`,`AngularVelocity.X`,`AngularVelocity.Y`,`AngularVelocity.Z`,`Entity`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetFrozen:{bricks:[`B_1x1_Gate_Exec_Entity_SetFrozen`],inputs:[`Entity`,`Exec`,`bFrozen`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetGravityDirection:{bricks:[`B_1x1_Gate_Exec_Entity_SetGravityDirection`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetLinearVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_SetLinearVelocity`],inputs:[`Entity`,`Exec`,`LinearVelocity`,`LinearVelocity.X`,`LinearVelocity.Y`,`LinearVelocity.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetLocation:{bricks:[`B_1x1_Gate_Exec_Entity_SetLocation`],inputs:[`Entity`,`Exec`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetLocationRotation:{bricks:[`B_1x1_Gate_Exec_Entity_SetLocationRotation`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetRotation:{bricks:[`B_1x1_Gate_Exec_Entity_SetRotation`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_SetVelocity:{bricks:[`B_1x1_Gate_Exec_Entity_SetVelocity`],inputs:[`Entity`,`Exec`,`Rotation`,`Rotation.X`,`Rotation.Y`,`Rotation.Z`,`Vector`,`Vector.X`,`Vector.Y`,`Vector.Z`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Entity_Teleport:{bricks:[`B_1x1_Gate_Exec_Entity_Teleport`],inputs:[`Destination`,`Entity`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromPlayers:{bricks:[`B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers`],inputs:[`ArrayVarRef`,`Exec`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers:{bricks:[`B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers`],inputs:[`ArrayVarRef`,`Exec`,`Team`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_GetCurrentRound:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetCurrentRound`],inputs:[`Exec`],outputs:[`ExecOut`,`RoundNumber`]},BrickComponentType_WireGraph_Exec_Gamemode_GetLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue`],inputs:[`Controller`,`Exec`,`Key`],outputs:[`ExecOut`,`Value`]},BrickComponentType_WireGraph_Exec_Gamemode_GetTeam:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetTeam`],inputs:[`Character`,`Exec`],outputs:[`ExecOut`,`Team`]},BrickComponentType_WireGraph_Exec_Gamemode_GetTeamByName:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetTeamByName`],inputs:[`Exec`,`TeamName`],outputs:[`ExecOut`,`Team`]},BrickComponentType_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue`],inputs:[`Exec`,`Key`,`Team`],outputs:[`ExecOut`,`Value`]},BrickComponentType_WireGraph_Exec_Gamemode_GetTeamName:{bricks:[`B_1x1_Gate_Exec_Gamemode_GetTeamName`],inputs:[`Exec`,`Team`],outputs:[`ExecOut`,`Name`]},BrickComponentType_WireGraph_Exec_Gamemode_IncrementLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue`],inputs:[`Controller`,`Exec`,`Key`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_IncrementTeamLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue`],inputs:[`Exec`,`Key`,`Team`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_PlayerWins:{bricks:[`B_1x1_Gate_Exec_Gamemode_PlayerWins`],inputs:[`Exec`,`Player`,`bTeamWinsInstead`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_SetLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue`],inputs:[`Controller`,`Exec`,`Key`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_SetTeam:{bricks:[`B_1x1_Gate_Exec_Gamemode_SetTeam`],inputs:[`Controller`,`Exec`,`Team`,`bPinPlayerToTeam`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_SetTeamLeaderboardValue:{bricks:[`B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue`],inputs:[`Exec`,`Key`,`Team`,`Value`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_SetTeamPinned:{bricks:[`B_1x1_Gate_Exec_Gamemode_SetTeamPinned`],inputs:[`Controller`,`Exec`,`bPinned`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Gamemode_TeamWins:{bricks:[`B_1x1_Gate_Exec_Gamemode_TeamWins`],inputs:[`Exec`,`Team`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_PlayGlobalAudio:{bricks:[`B_1x1_Gate_Exec_PlayGlobalAudio`],inputs:[`Exec`,`PitchMultiplier`,`VolumeMultiplier`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_PrefabSpawner:{bricks:[`B_1x1_Gate_Exec_PrefabSpawner`],inputs:[`Exec`,`Lifetime`,`Limit`,`SpawnOffset`,`SpawnOffset.X`,`SpawnOffset.Y`,`SpawnOffset.Z`,`SpawnOffsetRotation`,`SpawnOffsetRotation.Pitch`,`SpawnOffsetRotation.Roll`,`SpawnOffsetRotation.Yaw`],outputs:[`Entity`,`ExecOut`]},BrickComponentType_WireGraph_Exec_PrintToConsole:{bricks:[`B_1x1_Gate_Exec_PrintToConsole`],inputs:[`Exec`,`Text`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Random:{bricks:[`B_1x1_Gate_Exec_Random`],inputs:[`Exec`,`Max`,`Min`],outputs:[`ExecOut`,`Output`]},BrickComponentType_WireGraph_Exec_Sweep:{bricks:[`B_1x1_Gate_Exec_Sweep`],inputs:[`Direction`,`Direction.X`,`Direction.Y`,`Direction.Z`,`Distance`,`Exec`,`IgnoreEntity`,`Origin`,`Origin.X`,`Origin.Y`,`Origin.Z`,`Radius`,`bRelative`],outputs:[`ExecOut`,`Hit`,`HitDistance`,`HitEntity`,`HitLocation`,`HitNormal`,`Miss`]},BrickComponentType_WireGraph_Exec_Union:{bricks:[`B_1x1_Gate_Exec_Union`],inputs:[`ExecA`,`ExecB`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Var_Get:{bricks:[`B_1x1_Gate_Exec_Var_Get`],inputs:[`Exec`,`VarRef`],outputs:[`ExecOut`,`Value`]},BrickComponentType_WireGraph_Exec_Var_Increment:{bricks:[`B_1x1_Gate_Exec_Var_Increment`],inputs:[`Exec`,`Value`,`VarRef`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Exec_Var_Set:{bricks:[`B_1x1_Gate_Exec_Var_Set`],inputs:[`Exec`,`Value`,`VarRef`],outputs:[`ExecOut`]},BrickComponentType_WireGraph_Expr_BitwiseAND:{bricks:[`B_1x1_Gate_Expr_BitwiseAND`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseBitCount:{bricks:[`B_1x1_Gate_Expr_BitwiseBitCount`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseNAND:{bricks:[`B_1x1_Gate_Expr_BitwiseNAND`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseNOR:{bricks:[`B_1x1_Gate_Expr_BitwiseNOR`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseNOT:{bricks:[`B_1x1_Gate_Expr_BitwiseNOT`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseOR:{bricks:[`B_1x1_Gate_Expr_BitwiseOR`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseShiftLeft:{bricks:[`B_1x1_Gate_Expr_BitwiseShiftLeft`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseShiftRight:{bricks:[`B_1x1_Gate_Expr_BitwiseShiftRight`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_BitwiseXOR:{bricks:[`B_1x1_Gate_Expr_BitwiseXOR`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_Ceil:{bricks:[`B_1x1_Gate_Expr_Ceil`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_CompareEqual:{bricks:[`B_1x1_Gate_Expr_CompareEqual`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareGreater:{bricks:[`B_1x1_Gate_Expr_CompareGreater`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareGreaterOrEqual:{bricks:[`B_1x1_Gate_Expr_CompareGreaterOrEqual`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareLess:{bricks:[`B_1x1_Gate_Expr_CompareLess`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareLessOrEqual:{bricks:[`B_1x1_Gate_Expr_CompareLessOrEqual`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_CompareNotEqual:{bricks:[`B_1x1_Gate_Expr_CompareNotEqual`],inputs:[`InputA`,`InputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_EdgeDetector:{bricks:[`B_1x1_Gate_Expr_EdgeDetector`],inputs:[`Input`],outputs:[`bPulseOnFallingEdge`,`bPulseOnRisingEdge`]},BrickComponentType_WireGraph_Expr_Floor:{bricks:[`B_1x1_Gate_Expr_Floor`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_LogicalAND:{bricks:[`B_1x1_Gate_Expr_LogicalAND`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalNAND:{bricks:[`B_1x1_Gate_Expr_LogicalNAND`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalNOR:{bricks:[`B_1x1_Gate_Expr_LogicalNOR`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalNOT:{bricks:[`B_1x1_Gate_Expr_LogicalNOT`],inputs:[`bInput`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalOR:{bricks:[`B_1x1_Gate_Expr_LogicalOR`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_LogicalXOR:{bricks:[`B_1x1_Gate_Expr_LogicalXOR`],inputs:[`bInputA`,`bInputB`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_MakeColor:{bricks:[`B_1x1_Gate_Expr_MakeColor`],inputs:[`A`,`B`,`G`,`R`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MakeVector:{bricks:[`B_1x1_Gate_Expr_MakeVector`],inputs:[`X`,`Y`,`Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAbs:{bricks:[`B_1x1_Gate_Expr_MathAbs`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAcos:{bricks:[`B_1x1_Gate_Expr_MathAcos`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAcosh:{bricks:[`B_1x1_Gate_Expr_MathAcosh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAdd:{bricks:[`B_1x1_Gate_Expr_MathAdd`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAsin:{bricks:[`B_1x1_Gate_Expr_MathAsin`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAsinh:{bricks:[`B_1x1_Gate_Expr_MathAsinh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAtan:{bricks:[`B_1x1_Gate_Expr_MathAtan`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAtan2:{bricks:[`B_1x1_Gate_Expr_MathAtan2`],inputs:[`X`,`Y`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathAtanh:{bricks:[`B_1x1_Gate_Expr_MathAtanh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathBlend:{bricks:[`B_1x1_Gate_Expr_MathBlend`],inputs:[`Blend`,`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathClamp:{bricks:[`B_1x1_Gate_Expr_MathClamp`],inputs:[`Input`,`Max`,`Min`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathCos:{bricks:[`B_1x1_Gate_Expr_MathCos`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathCosh:{bricks:[`B_1x1_Gate_Expr_MathCosh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathDegreesToRadians:{bricks:[`B_1x1_Gate_Expr_MathDegreesToRadians`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathDivide:{bricks:[`B_1x1_Gate_Expr_MathDivide`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathEasing:{bricks:[`B_1x1_Gate_Expr_MathEasing`],inputs:[`Blend`,`Direction`,`Function`,`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathExp:{bricks:[`B_1x1_Gate_Expr_MathExp`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathLn:{bricks:[`B_1x1_Gate_Expr_MathLn`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathLogBase:{bricks:[`B_1x1_Gate_Expr_MathLogBase`],inputs:[`Base`,`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathMax:{bricks:[`B_1x1_Gate_Expr_MathMax`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathMin:{bricks:[`B_1x1_Gate_Expr_MathMin`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathModulo:{bricks:[`B_1x1_Gate_Expr_MathModulo`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathModuloFloored:{bricks:[`B_1x1_Gate_Expr_MathModuloFloored`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathMultiply:{bricks:[`B_1x1_Gate_Expr_MathMultiply`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathNegate:{bricks:[`B_1x1_Gate_Expr_MathNegate`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathPow:{bricks:[`B_1x1_Gate_Expr_MathPow`],inputs:[`Exponent`,`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathRadiansToDegrees:{bricks:[`B_1x1_Gate_Expr_MathRadiansToDegrees`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSign:{bricks:[`B_1x1_Gate_Expr_MathSign`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSin:{bricks:[`B_1x1_Gate_Expr_MathSin`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSinh:{bricks:[`B_1x1_Gate_Expr_MathSinh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSqrt:{bricks:[`B_1x1_Gate_Expr_MathSqrt`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathSubtract:{bricks:[`B_1x1_Gate_Expr_MathSubtract`],inputs:[`InputA`,`InputB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathTan:{bricks:[`B_1x1_Gate_Expr_MathTan`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_MathTanh:{bricks:[`B_1x1_Gate_Expr_MathTanh`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_NearlyEqual:{bricks:[`B_1x1_Gate_Expr_NearlyEqual`],inputs:[`InputA`,`InputB`,`Tolerance`],outputs:[`bOutput`]},BrickComponentType_WireGraph_Expr_Round:{bricks:[`B_1x1_Gate_Expr_Round`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_Select:{bricks:[`B_1x1_Gate_Expr_Select`],inputs:[`InputA`,`InputB`,`bSelectB`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_SplitColor:{bricks:[`B_1x1_Gate_Expr_SplitColor`],inputs:[`Input`,`Input.A`,`Input.B`,`Input.G`,`Input.R`],outputs:[`A`,`B`,`G`,`R`]},BrickComponentType_WireGraph_Expr_SplitVector:{bricks:[`B_1x1_Gate_Expr_SplitVector`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`X`,`Y`,`Z`]},BrickComponentType_WireGraph_Expr_String_Concatenate:{bricks:[`B_1x1_Gate_Expr_String_Concatenate`],inputs:[`InputA`,`InputB`,`Separator`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Contains:{bricks:[`B_1x1_Gate_Expr_String_Contains`],inputs:[`Input`,`Search`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_EndsWith:{bricks:[`B_1x1_Gate_Expr_String_EndsWith`],inputs:[`Input`,`Suffix`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Find:{bricks:[`B_1x1_Gate_Expr_String_Find`],inputs:[`Input`,`Search`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_FormatText:{bricks:[`B_1x1_Gate_Expr_String_FormatText`],inputs:[`FormatString`,`InputA`,`InputB`,`InputC`,`InputD`,`InputE`,`InputF`,`InputG`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Length:{bricks:[`B_1x1_Gate_Expr_String_Length`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_ParseInt:{bricks:[`B_1x1_Gate_Expr_String_ParseInt`],inputs:[`Input`],outputs:[`Value`,`bSuccess`]},BrickComponentType_WireGraph_Expr_String_ParseNumber:{bricks:[`B_1x1_Gate_Expr_String_ParseNumber`],inputs:[`Input`],outputs:[`Value`,`bSuccess`]},BrickComponentType_WireGraph_Expr_String_Replace:{bricks:[`B_1x1_Gate_Expr_String_Replace`],inputs:[`Input`,`Replacement`,`Search`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Split:{bricks:[`B_1x1_Gate_Expr_String_Split`],inputs:[`Delimiter`,`Input`,`bCaseSensitive`],outputs:[`Left`,`Right`,`bFound`]},BrickComponentType_WireGraph_Expr_String_StartsWith:{bricks:[`B_1x1_Gate_Expr_String_StartsWith`],inputs:[`Input`,`Prefix`,`bCaseSensitive`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Substring:{bricks:[`B_1x1_Gate_Expr_String_Substring`],inputs:[`Input`,`Length`,`Start`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_ToLower:{bricks:[`B_1x1_Gate_Expr_String_ToLower`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_ToUpper:{bricks:[`B_1x1_Gate_Expr_String_ToUpper`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_String_Trim:{bricks:[`B_1x1_Gate_Expr_String_Trim`],inputs:[`Input`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_Swap:{bricks:[`B_1x1_Gate_Expr_Swap`],inputs:[`InputA`,`InputB`,`bSwap`],outputs:[`Output`,`OutputB`]},BrickComponentType_WireGraph_Expr_VecCrossProduct:{bricks:[`B_1x1_Gate_Expr_VecCrossProduct`],inputs:[`InputA`,`InputA.X`,`InputA.Y`,`InputA.Z`,`InputB`,`InputB.X`,`InputB.Y`,`InputB.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecDistance:{bricks:[`B_1x1_Gate_Expr_VecDistance`],inputs:[`InputA`,`InputA.X`,`InputA.Y`,`InputA.Z`,`InputB`,`InputB.X`,`InputB.Y`,`InputB.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecDistanceSquared:{bricks:[`B_1x1_Gate_Expr_VecDistanceSquared`],inputs:[`InputA`,`InputA.X`,`InputA.Y`,`InputA.Z`,`InputB`,`InputB.X`,`InputB.Y`,`InputB.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecDotProduct:{bricks:[`B_1x1_Gate_Expr_VecDotProduct`],inputs:[`InputA`,`InputA.X`,`InputA.Y`,`InputA.Z`,`InputB`,`InputB.X`,`InputB.Y`,`InputB.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecMagnitude:{bricks:[`B_1x1_Gate_Expr_VecMagnitude`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecMagnitudeSquared:{bricks:[`B_1x1_Gate_Expr_VecMagnitudeSquared`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecNormalize:{bricks:[`B_1x1_Gate_Expr_VecNormalize`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecRotationToDirection:{bricks:[`B_1x1_Gate_Expr_VecRotationToDirection`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`],outputs:[`Output`]},BrickComponentType_WireGraph_Expr_VecScale:{bricks:[`B_1x1_Gate_Expr_VecScale`],inputs:[`Input`,`Input.X`,`Input.Y`,`Input.Z`,`Scalar`],outputs:[`Output`]},BrickComponentType_WireGraph_Fake_Gamemode_CharacterDiedEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent`],inputs:[],outputs:[`Character`,`ExecOut`]},BrickComponentType_WireGraph_Fake_Gamemode_CharacterSpawnedEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent`],inputs:[],outputs:[`Character`,`ExecOut`]},BrickComponentType_WireGraph_Fake_Gamemode_ControllerJoinedEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent`],inputs:[],outputs:[`Controller`,`ExecOut`]},BrickComponentType_WireGraph_Fake_Gamemode_ControllerLeftEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent`],inputs:[],outputs:[`Controller`,`ExecOut`]},BrickComponentType_WireGraph_Fake_Gamemode_RoundEndEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_RoundEndEvent`],inputs:[`Exec`],outputs:[`ExecOut`,`RoundNumber`]},BrickComponentType_WireGraph_Fake_Gamemode_RoundStartEvent:{bricks:[`B_1x1_Gate_Fake_Gamemode_RoundStartEvent`],inputs:[`Exec`],outputs:[`ExecOut`,`RoundNumber`]},BrickComponentType_WireGraph_FontReference:{bricks:[`B_1x1_Gate_FontReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_ItemReference:{bricks:[`B_1x1_Gate_ItemReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_OneShotAudioReference:{bricks:[`B_1x1_Gate_OneShotAudioReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_ParticleReference:{bricks:[`B_1x1_Gate_ParticleReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_PickupReference:{bricks:[`B_1x1_Gate_PickupReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_ProjectileReference:{bricks:[`B_1x1_Gate_ProjectileReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraph_ServerUptime:{bricks:[`B_1x1_Gate_ServerUptime`],inputs:[],outputs:[`Uptime`]},BrickComponentType_WireGraph_WheelEngineAudioReference:{bricks:[`B_1x1_Gate_WheelEngineAudioReference`],inputs:[],outputs:[`Value`]},BrickComponentType_WireGraphPseudo_ArrayVar:{bricks:[`B_1x1_Gate_Variable_Array`],inputs:[],outputs:[`ArrayVarRef`]},BrickComponentType_WireGraphPseudo_BufferSeconds:{bricks:[`B_1x1_Gate_Pseudo_BufferSeconds`],inputs:[`Input`,`SecondsToWait`,`ZeroSecondsToWait`],outputs:[`Output`]},BrickComponentType_WireGraphPseudo_BufferTicks:{bricks:[`B_1x1_Gate_Pseudo_BufferTicks`],inputs:[`Input`,`TicksToWait`,`ZeroTicksToWait`],outputs:[`Output`]},BrickComponentType_WireGraphPseudo_Dampen:{bricks:[`B_1x1_Gate_Pseudo_Dampen`],inputs:[`SmoothTime`,`Target`],outputs:[`Value`]},BrickComponentType_WireGraphPseudo_QueueSeconds:{bricks:[`B_1x1_Gate_Pseudo_QueueSeconds`],inputs:[`DataIn1`,`DataIn2`,`DataIn3`,`DataIn4`,`DataIn5`,`DataIn6`,`DataIn7`,`DataIn8`,`ExecIn`,`SecondsToWait`],outputs:[`DataOut1`,`DataOut2`,`DataOut3`,`DataOut4`,`DataOut5`,`DataOut6`,`DataOut7`,`DataOut8`,`ExecOut`]},BrickComponentType_WireGraphPseudo_QueueTicks:{bricks:[`B_1x1_Gate_Pseudo_QueueTicks`],inputs:[`DataIn1`,`DataIn2`,`DataIn3`,`DataIn4`,`DataIn5`,`DataIn6`,`DataIn7`,`DataIn8`,`ExecIn`,`TicksToWait`],outputs:[`DataOut1`,`DataOut2`,`DataOut3`,`DataOut4`,`DataOut5`,`DataOut6`,`DataOut7`,`DataOut8`,`ExecOut`]},BrickComponentType_WireGraphPseudo_Timer:{bricks:[`B_1x1_Gate_Pseudo_Timer`],inputs:[`Limit`,`Pause`,`Restart`,`Resume`],outputs:[`Expired`,`Time`]},BrickComponentType_WireGraphPseudo_Tween:{bricks:[`B_1x1_Gate_Pseudo_Tween`],inputs:[`Direction`,`Duration`,`Function`,`Target`],outputs:[`Arrived`,`Value`]},BrickComponentType_WireGraphPseudo_Var:{bricks:[`B_1x1_Gate_Variable`],inputs:[],outputs:[`Value`,`VarRef`]},Component_AudioEmitter:{bricks:[`B_1x1F_Speaker`,`B_2x2F_Speaker`],inputs:[`AudioDescriptor`,`FocusAzimuth`,`InnerRadius`,`MaxDistance`,`NonFocusAzimuth`,`NonFocusVolumeAttenuation`,`PitchMultiplier`,`VolumeMultiplier`,`bEnabled`,`bSpatialization`],outputs:[]},Component_BotSpawn:{bricks:[`B_Bot_Spawn_Point`],inputs:`AggroRange,Agression,AttackDamageMultiplier,AttackMovementAmount,BotName,BotWeapon,CorpseTimeout,GunSkill,HealthMultiplier,Jumpyness,MoveTarget,MoveTarget.X,MoveTarget.Y,MoveTarget.Z,MovementAmount,MovementGoalDummy,MovementRandomness,ReactionTime,RespawnTime,RunSpeed,SkinDummy,TeamCollisionChannel,bActiveBot,bBackVision,bCanJump,bCanTargetBots,bCanTargetPlayers,bDeleteBot,bSpawnEnable,bTeamCollision,bTeamCollision1,bTeamCollision2,bTeamCollision3,bVisionRaycasting`.split(`,`),outputs:[`DistanceToTarget`,`FocusCharacter`,`SpawnedCharacter`]},Component_BrickPropertyChanger:{bricks:[`B_1x1F_Round`],inputs:[`Color`,`Color.A`,`Color.B`,`Color.G`,`Color.R`,`MaterialAlpha`,`bCollisionEnabled`,`bCollisionEnabled_Interaction`,`bCollisionEnabled_Physics`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`,`bCollisionEnabled_Weapon`,`bVisibility`],outputs:[]},Component_Button:{bricks:[`B_1x1F_Round`],inputs:[`PressSound`,`PromptCustomLabel`,`ReleaseSound`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[`Character`,`PressCount`,`bHeld`]},Component_CheckPoint:{bricks:[`B_CheckPoint`],inputs:[`bRotatePlayerGravityOnSpawn`],outputs:[]},Component_Damage:{bricks:[`B_1x1F_Round`],inputs:[`ConsoleTag`,`Message`],outputs:[]},Component_GoalPoint:{bricks:[`B_GoalPoint`],inputs:[],outputs:[]},Component_Interact:{bricks:[`B_1x1F_Round`],inputs:[`ConsoleTag`,`InteractSound`,`Message`,`PromptCustomLabel`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[]},Component_Internal_AnimatedButton:{bricks:[`B_Button`,`B_Button_Pressed`,`B_Button_Square`,`B_Button_Square_Pressed`],inputs:[`PressSound`,`PromptCustomLabel`,`ReleaseSound`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[`Character`,`PressCount`,`bHeld`]},Component_Internal_AnimatedPressurePlate:{bricks:[`B_1x1F_Round`],inputs:[`BeginTouchSound`,`EndTouchSound`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`],outputs:[`Character`,`TouchCount`,`bTouching`]},Component_Internal_AnimatedSwitch:{bricks:[`B_Switch_Flipped`,`B_Switch_Test`],inputs:[`InteractSound`,`PromptCustomLabel`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[`Character`,`bEnabled`]},Component_Internal_AttachedZone:{bricks:[`B_1x1F_Round`],inputs:[`ZoneEndDistance`,`ZoneStartDistance`,`bIsBuildingZone`,`bIsLooseZone`,`bIsShareZone`],outputs:[`OccupantCount`,`ZoneRef`,`bOccupied`]},Component_Internal_Bearing:{bricks:[`B_Joint_Bearing`,`B_Joint_Bearing_Micro`],inputs:[`Damping`,`LimitAngle`,`bAnglesArePercentages`,`bLimitAngle`],outputs:[`CurrentAngle`]},Component_Internal_InputSplitter:{bricks:[`B_1x1_Gate_SeatControlSplitter`],inputs:[`Character`],outputs:[`InputForward`,`InputRight`,`bPressedJump`]},Component_Internal_Joint_Fixed:{bricks:[`B_Joint_Fixed`],inputs:[`LocationInterpMode`,`LocationMaxSpeed`,`LocationSmoothTime`,`OffsetLocation`,`OffsetLocation.X`,`OffsetLocation.Y`,`OffsetLocation.Z`,`OffsetRotation`,`OffsetRotation.Pitch`,`OffsetRotation.Roll`,`OffsetRotation.Yaw`,`RotationInterpMode`,`RotationMaxSpeed`,`RotationSmoothTime`],outputs:[`bSettled`,`bWelded`]},Component_Internal_Joint_Wheel:{bricks:[`B_Joint_Wheel`,`B_Joint_Wheel_Micro`],inputs:[`Control_DriveAndSteer`,`Damping`,`DrivePower`,`DriveSpeed`,`JointDistance`,`Steer`,`SteerLimitDegree`,`SteerPower`,`SuspensionDamping`,`SuspensionStiffness`,`bAllowEngineSteerCorrect`,`bCanBrake`,`bDriveWhenNotAttachedToEngine`,`bEnabled`,`bReversed`,`bSteerEnabled`,`bSuspensionEnabled`],outputs:[]},Component_Internal_Joint_Wheel_Suspension:{bricks:[`B_Joint_Wheel_Micro_Suspension`,`B_Joint_Wheel_Suspension`],inputs:[`Control_DriveAndSteer`,`Damping`,`DrivePower`,`DriveSpeed`,`JointDistance`,`Steer`,`SteerLimitDegree`,`SteerPower`,`SuspensionBottomOffset`,`SuspensionDamping`,`SuspensionStiffness`,`SuspensionTopOffset`,`bAllowEngineSteerCorrect`,`bCanBrake`,`bDriveWhenNotAttachedToEngine`,`bEnabled`,`bReversed`,`bSteerEnabled`,`bSuspensionEnabled`],outputs:[]},Component_Internal_Microchip:{bricks:[`B_1x1_Microchip`],inputs:[],outputs:[]},Component_Internal_Motor:{bricks:[`B_Joint_Motor`,`B_Joint_Motor_Micro`],inputs:[`Damping`,`LimitAngle`,`Power`,`Speed`,`bAnglesArePercentages`,`bEnabled`,`bLimitAngle`],outputs:[`CurrentAngle`]},Component_Internal_MotorSlider:{bricks:[`B_1x1F_Round`],inputs:[`Damping`,`Power`,`Speed`,`bEnabled`,`bPositionsArePercentages`],outputs:[`CurrentPosition`]},Component_Internal_Rerouter:{bricks:[`B_1x1_Reroute_Node`],inputs:[`RER_Input`],outputs:[`RER_Output`]},Component_Internal_Seat:{bricks:[`B_Seat`],inputs:[`ExitOffset`,`ExitOffset.X`,`ExitOffset.Y`,`ExitOffset.Z`,`PromptCustomLabel`,`bAllowNearbyInteraction`,`bHiddenInteraction`,`bRollCameraInThirdPerson`],outputs:[`SittingCharacter`,`bIsOccupied`]},Component_Internal_Servo:{bricks:[`B_Joint_Servo`,`B_Joint_Servo_Micro`],inputs:[`ActiveDamping`,`Damping`,`ForceLimit`,`LimitAngle`,`Power`,`TargetAngle`,`bAnglesArePercentages`,`bEnabled`,`bLimitAngle`],outputs:[`CurrentAngle`,`bStopped`]},Component_Internal_ServoSlider:{bricks:[`B_1x1F_Round`],inputs:[`Damping`,`Exponent`,`Power`,`TargetPosition`,`TopSpeed`,`bEnabled`,`bPositionsArePercentages`],outputs:[`CurrentPosition`,`bStopped`]},Component_Internal_Slider:{bricks:[`B_1x1F_Round`],inputs:[`Damping`,`bPositionsArePercentages`],outputs:[`CurrentPosition`]},Component_Internal_Socket:{bricks:[`B_Joint_Socket`,`B_Joint_Socket_Micro`],inputs:[],outputs:[]},Component_Internal_Thruster:{bricks:[`B_2x2_Thruster`],inputs:[`Force`,`Pitch`,`Throttle`,`Yaw`,`bEnabled`,`bSpawnLight`],outputs:[]},Component_Internal_WeightBrick:{bricks:[`B_1x1_Gate_WeightBrick`],inputs:[`Mass`,`MassOffset`,`MassOffset.X`,`MassOffset.Y`,`MassOffset.Z`,`MassSize`,`MassSize.X`,`MassSize.Y`,`MassSize.Z`],outputs:[]},Component_Internal_WheelEngine:{bricks:[`B_1x1_Gate_WheelEngineSlim`,`B_Vehicle_Engine`],inputs:[`AudioDescriptor`,`CenterOfSteering`,`Character`,`CustomMass`,`CustomMassVerticalOffset`,`DriveAcceleratingPowerMultiplier`,`DriveBrakingPowerMultiplier`,`DriveDampingMultiplier`,`DriveInterpSpeed`,`DriveSpeed`,`ManualInput_Drive`,`ManualInput_Steer`,`SteerInterpSpeed`,`SteerLimitDegree`,`SteerPowerMultiplier`,`TankSteerSpeedMultiplier`,`WaterDriveForce`,`WaterSteeringForce`,`bEnableManualControl`,`bEnabled`,`bManualInput_Brake`,`bTankSteering`],outputs:[`Control_DriveAndSteer`]},Component_ItemSpawn:{bricks:[`B_1x1F_Round`],inputs:`DamageMultiplier,ItemNameOverride,PickupAnimationAxis,PickupAnimationPhase,PickupBobHeight,PickupBobSpeed,PickupClass,PickupMeshColors,PickupMinigameResetRespawnDelay,PickupOffsetDirection,PickupOffsetDistance,PickupRespawnTime,PickupRotation,PickupRotation.Pitch,PickupRotation.Roll,PickupRotation.Yaw,PickupScale,PickupSpinSpeed,ProjectileOverride,WeaponSpeedMultiplier,bOverridePickupColors,bPickupAnimationAxisLocal,bPickupAnimationEnabled,bPickupAutoDisableOnPickup,bPickupEnabled,bPickupRespawnOnMinigameReset,bRenderTranslucentWhenDisabled`.split(`,`),outputs:[`bShowPickupEnabled`]},Component_OneShotAudioEmitter:{bricks:[`B_1x1_SoundEmitter`],inputs:[`AudioDescriptor`,`InnerRadius`,`MaxDistance`,`PitchMultiplier`,`RepeatTime`,`RepeatVariance`,`VolumeMultiplier`,`bEnableRepeat`,`bPlay`,`bSpatialization`],outputs:[]},Component_PointLight:{bricks:[`B_1x1F_Round`],inputs:[`Brightness`,`Color`,`Color.A`,`Color.B`,`Color.G`,`Color.R`,`Radius`,`bCastShadows`,`bEnabled`,`bMatchBrickShape`,`bUseBrickColor`],outputs:[]},Component_SpawnPoint:{bricks:[`B_SpawnPoint`],inputs:[`bEnable`,`bRotatePlayerGravityOnSpawn`],outputs:[]},Component_SpotLight:{bricks:[`B_1x1F_Round`],inputs:[`Brightness`,`Color`,`Color.A`,`Color.B`,`Color.G`,`Color.R`,`InnerConeAngle`,`OuterConeAngle`,`Radius`,`Rotation`,`Rotation.Pitch`,`Rotation.Roll`,`Rotation.Yaw`,`bCastShadows`,`bEnabled`,`bUseBrickColor`],outputs:[]},Component_Switch:{bricks:[`B_1x1F_Round`],inputs:[`InteractSound`,`PromptCustomLabel`,`bAllowNearbyInteraction`,`bHiddenInteraction`],outputs:[`Character`,`bEnabled`]},Component_Target:{bricks:[`B_2x2F_Target`],inputs:[`OnTime`],outputs:[`CharacterThatJustHit`,`Damage`,`WeaponNameThatJustHit`,`WeaponThatJustHit`,`bJustHit`]},Component_TextDisplay:{bricks:[`B_1x1F_Round`],inputs:`Anchor,Anchor.X,Anchor.Y,Billboard,Color,Color.A,Color.B,Color.G,Color.R,Face,Font,GraffitiAngleLimit,GraffitiDepthLimit,GraffitiLayer,Kerning,LineHeight,LineOffset,Material,MaterialSlider,Offset,Offset.X,Offset.Y,Offset.Z,Outline,OutlineColor,OutlineColor.A,OutlineColor.B,OutlineColor.G,OutlineColor.R,OutlineWidth,Rotation,ScuffWidth,Shading,ShadingWidth,Skew,Text,Typeface,bAlignToWedge,bEnabled,bFlipShading,bForeground,bOverrideColor,bOverrideOutlineColor,bSharpCorners,bSharpOutlines`.split(`,`),outputs:[]},Component_Touch:{bricks:[`B_1x1F_Round`],inputs:[`BeginTouchSound`,`EndTouchSound`,`bCollisionEnabled_Player`,`bCollisionEnabled_Player1`,`bCollisionEnabled_Player2`,`bCollisionEnabled_Player3`],outputs:[`Character`,`TouchCount`,`bTouching`]},Component_WireGraph_PlayAudioAt:{bricks:[`B_1x1_Gate_Exec_Entity_PlayAudioAt`],inputs:[`Entity`,`Exec`,`InnerRadius`,`MaxDistance`,`PitchMultiplier`,`VolumeMultiplier`,`bSpatialization`],outputs:[`ExecOut`]},Component_WireGraph_SetInventoryEntry:{bricks:[`B_1x1_Gate_Exec_Character_SetInventoryEntry`],inputs:[`Character`,`Exec`,`Slot`],outputs:[`ExecOut`]}})),aa={CharacterZoneEvent_Entered:{NAME:`BrickComponentType_Internal_CharacterZoneEvent_Entered`,BRICK:`B_1x1_Gate_Internal_CharacterZoneEvent_Entered`,BRICKS:[`B_1x1_Gate_Internal_CharacterZoneEvent_Entered`],PORTS:{Zone:`Zone`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,Character:`Character`,Exec:`Exec`}},CharacterZoneEvent_Left:{NAME:`BrickComponentType_Internal_CharacterZoneEvent_Left`,BRICK:`B_1x1_Gate_Internal_CharacterZoneEvent_Left`,BRICKS:[`B_1x1_Gate_Internal_CharacterZoneEvent_Left`],PORTS:{Zone:`Zone`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,Character:`Character`,Exec:`Exec`}},MicrochipInput:{NAME:`BrickComponentType_Internal_MicrochipInput`,BRICK:`B_1x1_Gate_MicrochipInput`,BRICKS:[`B_1x1_Gate_MicrochipInput`],PORTS:{RER_Input:`RER_Input`,RER_Output:`RER_Output`}},MicrochipOutput:{NAME:`BrickComponentType_Internal_MicrochipOutput`,BRICK:`B_1x1_Gate_MicrochipOutput`,BRICKS:[`B_1x1_Gate_MicrochipOutput`],PORTS:{RER_Input:`RER_Input`,RER_Output:`RER_Output`}},ReadBrickGrid:{NAME:`BrickComponentType_Internal_ReadBrickGrid`,BRICK:`B_1x1_Gate_Internal_ReadBrickGrid`,BRICKS:[`B_1x1_Gate_Internal_ReadBrickGrid`],PORTS:{BrickGrid:`BrickGrid`}},TeleportDestination:{NAME:`BrickComponentType_Internal_TeleportDestination`,BRICK:`B_DestinationPoint`,BRICKS:[`B_DestinationPoint`],PORTS:{ThisDestination:`ThisDestination`}},ZoneEvent_BrickChanged:{NAME:`BrickComponentType_Internal_ZoneEvent_BrickChanged`,BRICK:`B_1x1_Gate_Internal_ZoneEvent_BrickChanged`,BRICKS:[`B_1x1_Gate_Internal_ZoneEvent_BrickChanged`],PORTS:{Zone:`Zone`,Exec:`Exec`}},ZoneEvent_BrickRemoved:{NAME:`BrickComponentType_Internal_ZoneEvent_BrickRemoved`,BRICK:`B_1x1_Gate_Internal_ZoneEvent_BrickRemoved`,BRICKS:[`B_1x1_Gate_Internal_ZoneEvent_BrickRemoved`],PORTS:{Zone:`Zone`,Exec:`Exec`}},PrefabSpawn:{NAME:`BrickComponentType_PrefabSpawn`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Prefab:`Prefab`,Prefab_Path:`Prefab.Path`,RespawnTime:`RespawnTime`,SpawnOffset:`SpawnOffset`,SpawnOffset_X:`SpawnOffset.X`,SpawnOffset_Y:`SpawnOffset.Y`,SpawnOffset_Z:`SpawnOffset.Z`,SpawnOffsetRotation:`SpawnOffsetRotation`,SpawnOffsetRotation_Pitch:`SpawnOffsetRotation.Pitch`,SpawnOffsetRotation_Roll:`SpawnOffsetRotation.Roll`,SpawnOffsetRotation_Yaw:`SpawnOffsetRotation.Yaw`,bSpawnEnable:`bSpawnEnable`,SpawnedEntity:`SpawnedEntity`}},AudioReference:{NAME:`BrickComponentType_WireGraph_AudioReference`,BRICK:`B_1x1_Gate_AudioReference`,BRICKS:[`B_1x1_Gate_AudioReference`],PORTS:{Value:`Value`}},DeltaTime:{NAME:`BrickComponentType_WireGraph_DeltaTime`,BRICK:`B_1x1_Gate_DeltaTime`,BRICKS:[`B_1x1_Gate_DeltaTime`],PORTS:{DeltaTime:`DeltaTime`}},Exec_ArrayVar_Append:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Append`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Append`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Append`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,SourceRef:`SourceRef`,ExecOut:`ExecOut`}},Exec_ArrayVar_Average:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Average`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Average`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Average`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`,bIsEmpty:`bIsEmpty`}},Exec_ArrayVar_Clear:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Clear`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Clear`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Clear`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_ArrayVar_CopyFrom:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_CopyFrom`,BRICK:`B_1x1_Gate_Exec_ArrayVar_CopyFrom`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_CopyFrom`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,SourceRef:`SourceRef`,ExecOut:`ExecOut`}},Exec_ArrayVar_Fill:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Fill`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Fill`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Fill`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Value:`Value`,ExecOut:`ExecOut`}},Exec_ArrayVar_Find:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Find`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Find`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Find`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Value:`Value`,ExecOut:`ExecOut`,Index:`Index`,bFound:`bFound`}},Exec_ArrayVar_Get:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Get`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Get`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Get`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Index:`Index`,ExecOut:`ExecOut`,Value:`Value`,bOutOfBounds:`bOutOfBounds`}},Exec_ArrayVar_GetLength:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_GetLength`,BRICK:`B_1x1_Gate_Exec_ArrayVar_GetLength`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_GetLength`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Length:`Length`}},Exec_ArrayVar_Insert:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Insert`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Insert`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Insert`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Index:`Index`,Value:`Value`,ExecOut:`ExecOut`,bOutOfBounds:`bOutOfBounds`}},Exec_ArrayVar_Max:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Max`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Max`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Max`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`,bIsEmpty:`bIsEmpty`}},Exec_ArrayVar_Min:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Min`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Min`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Min`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`,bIsEmpty:`bIsEmpty`}},Exec_ArrayVar_Pop:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Pop`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Pop`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Pop`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`,bIsEmpty:`bIsEmpty`}},Exec_ArrayVar_Push:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Push`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Push`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Push`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Value:`Value`,ExecOut:`ExecOut`}},Exec_ArrayVar_RemoveAtIndex:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_RemoveAtIndex`,BRICK:`B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_RemoveAtIndex`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Index:`Index`,ExecOut:`ExecOut`,bOutOfBounds:`bOutOfBounds`}},Exec_ArrayVar_Resize:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Resize`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Resize`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Resize`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Size:`Size`,Value:`Value`,ExecOut:`ExecOut`}},Exec_ArrayVar_Reverse:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Reverse`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Reverse`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Reverse`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_ArrayVar_SetAtIndex:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_SetAtIndex`,BRICK:`B_1x1_Gate_Exec_ArrayVar_SetAtIndex`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_SetAtIndex`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Index:`Index`,Value:`Value`,ExecOut:`ExecOut`}},Exec_ArrayVar_Shuffle:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Shuffle`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Shuffle`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Shuffle`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_ArrayVar_Slice:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Slice`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Slice`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Slice`],PORTS:{ArrayVarRef:`ArrayVarRef`,Count:`Count`,Exec:`Exec`,SourceRef:`SourceRef`,Start:`Start`,ExecOut:`ExecOut`,bOutOfBounds:`bOutOfBounds`}},Exec_ArrayVar_Sort:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Sort`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Sort`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Sort`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,bDescending:`bDescending`,ExecOut:`ExecOut`}},Exec_ArrayVar_Sum:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Sum`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Sum`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Sum`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`,Value:`Value`}},Exec_ArrayVar_Swap:{NAME:`BrickComponentType_WireGraph_Exec_ArrayVar_Swap`,BRICK:`B_1x1_Gate_Exec_ArrayVar_Swap`,BRICKS:[`B_1x1_Gate_Exec_ArrayVar_Swap`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,IndexA:`IndexA`,IndexB:`IndexB`,ExecOut:`ExecOut`,bOutOfBounds:`bOutOfBounds`}},Exec_Branch:{NAME:`BrickComponentType_WireGraph_Exec_Branch`,BRICK:`B_1x1_Gate_Exec_Branch`,BRICKS:[`B_1x1_Gate_Exec_Branch`],PORTS:{Exec:`Exec`,bCond:`bCond`,ExecOutA:`ExecOutA`,ExecOutB:`ExecOutB`}},Exec_Character_GetAim:{NAME:`BrickComponentType_WireGraph_Exec_Character_GetAim`,BRICK:`B_1x1_Gate_Exec_Character_GetAim`,BRICKS:[`B_1x1_Gate_Exec_Character_GetAim`],PORTS:{Character:`Character`,Exec:`Exec`,Direction:`Direction`,ExecOut:`ExecOut`,Origin:`Origin`}},Exec_Character_GetDamage:{NAME:`BrickComponentType_WireGraph_Exec_Character_GetDamage`,BRICK:`B_1x1_Gate_Exec_Character_GetDamage`,BRICKS:[`B_1x1_Gate_Exec_Character_GetDamage`],PORTS:{Character:`Character`,Exec:`Exec`,Damage:`Damage`,DamageLimit:`DamageLimit`,ExecOut:`ExecOut`}},Exec_Character_GetFromController:{NAME:`BrickComponentType_WireGraph_Exec_Character_GetFromController`,BRICK:`B_1x1_Gate_Exec_Character_GetFromController`,BRICKS:[`B_1x1_Gate_Exec_Character_GetFromController`],PORTS:{Controller:`Controller`,Exec:`Exec`,Character:`Character`,ExecOut:`ExecOut`}},Exec_Character_IncDamage:{NAME:`BrickComponentType_WireGraph_Exec_Character_IncDamage`,BRICK:`B_1x1_Gate_Exec_Character_IncDamage`,BRICKS:[`B_1x1_Gate_Exec_Character_IncDamage`],PORTS:{Amount:`Amount`,Character:`Character`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Character_SetDamage:{NAME:`BrickComponentType_WireGraph_Exec_Character_SetDamage`,BRICK:`B_1x1_Gate_Exec_Character_SetDamage`,BRICKS:[`B_1x1_Gate_Exec_Character_SetDamage`],PORTS:{Character:`Character`,Damage:`Damage`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Character_SetTempPermission:{NAME:`BrickComponentType_WireGraph_Exec_Character_SetTempPermission`,BRICK:`B_1x1_Gate_Exec_Character_SetTempPermission`,BRICKS:[`B_1x1_Gate_Exec_Character_SetTempPermission`],PORTS:{Character:`Character`,Exec:`Exec`,bPermissionEnable:`bPermissionEnable`,ExecOut:`ExecOut`}},Exec_Character_ShowHint:{NAME:`BrickComponentType_WireGraph_Exec_Character_ShowHint`,BRICK:`B_1x1_Gate_Exec_Character_ShowHint`,BRICKS:[`B_1x1_Gate_Exec_Character_ShowHint`],PORTS:{Character:`Character`,Exec:`Exec`,HintText:`HintText`,HintTitle:`HintTitle`,ExecOut:`ExecOut`}},Exec_ChatCommand:{NAME:`BrickComponentType_WireGraph_Exec_ChatCommand`,BRICK:`B_1x1_Gate_Exec_ChatCommand`,BRICKS:[`B_1x1_Gate_Exec_ChatCommand`],PORTS:{Arguments:`Arguments`,Controller:`Controller`,ExecOut:`ExecOut`}},Exec_Controller_DisplayText:{NAME:`BrickComponentType_WireGraph_Exec_Controller_DisplayText`,BRICK:`B_1x1_Gate_Exec_Controller_DisplayText`,BRICKS:[`B_1x1_Gate_Exec_Controller_DisplayText`],PORTS:{AnchorX:`AnchorX`,AnchorY:`AnchorY`,Angle:`Angle`,Controller:`Controller`,Exec:`Exec`,FontColor:`FontColor`,FontColor_A:`FontColor.A`,FontColor_B:`FontColor.B`,FontColor_G:`FontColor.G`,FontColor_R:`FontColor.R`,FontSize:`FontSize`,Lifetime:`Lifetime`,OutlineColor:`OutlineColor`,OutlineColor_A:`OutlineColor.A`,OutlineColor_B:`OutlineColor.B`,OutlineColor_G:`OutlineColor.G`,OutlineColor_R:`OutlineColor.R`,OutlineSize:`OutlineSize`,PositionX:`PositionX`,PositionY:`PositionY`,ScaleX:`ScaleX`,ScaleY:`ScaleY`,Text:`Text`,TextId:`TextId`,Transition:`Transition`,ExecOut:`ExecOut`,TextIdOut:`TextIdOut`}},Exec_Controller_GetDisplayName:{NAME:`BrickComponentType_WireGraph_Exec_Controller_GetDisplayName`,BRICK:`B_1x1_Gate_Exec_Controller_GetDisplayName`,BRICKS:[`B_1x1_Gate_Exec_Controller_GetDisplayName`],PORTS:{Controller:`Controller`,Exec:`Exec`,DisplayName:`DisplayName`,ExecOut:`ExecOut`}},Exec_Controller_GetFromEntity:{NAME:`BrickComponentType_WireGraph_Exec_Controller_GetFromEntity`,BRICK:`B_1x1_Gate_Exec_Controller_GetFromEntity`,BRICKS:[`B_1x1_Gate_Exec_Controller_GetFromEntity`],PORTS:{Entity:`Entity`,Exec:`Exec`,Controller:`Controller`,ExecOut:`ExecOut`}},Exec_Controller_GetUserId:{NAME:`BrickComponentType_WireGraph_Exec_Controller_GetUserId`,BRICK:`B_1x1_Gate_Exec_Controller_GetUserId`,BRICKS:[`B_1x1_Gate_Exec_Controller_GetUserId`],PORTS:{Controller:`Controller`,Exec:`Exec`,ExecOut:`ExecOut`,UserId:`UserId`}},Exec_Controller_GetUserName:{NAME:`BrickComponentType_WireGraph_Exec_Controller_GetUserName`,BRICK:`B_1x1_Gate_Exec_Controller_GetUserName`,BRICKS:[`B_1x1_Gate_Exec_Controller_GetUserName`],PORTS:{Controller:`Controller`,Exec:`Exec`,ExecOut:`ExecOut`,UserName:`UserName`}},Exec_Controller_HasPermission:{NAME:`BrickComponentType_WireGraph_Exec_Controller_HasPermission`,BRICK:`B_1x1_Gate_Exec_Controller_HasPermission`,BRICKS:[`B_1x1_Gate_Exec_Controller_HasPermission`],PORTS:{Controller:`Controller`,Exec:`Exec`,ExecOut:`ExecOut`,bHasPermission:`bHasPermission`}},Exec_Controller_IsTrustedByBrickOwner:{NAME:`BrickComponentType_WireGraph_Exec_Controller_IsTrustedByBrickOwner`,BRICK:`B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner`,BRICKS:[`B_1x1_Gate_Exec_Controller_IsTrustedByBrickOwner`],PORTS:{Controller:`Controller`,Exec:`Exec`,ExecOut:`ExecOut`,bIsTrusted:`bIsTrusted`}},Exec_Controller_SetCanRespawn:{NAME:`BrickComponentType_WireGraph_Exec_Controller_SetCanRespawn`,BRICK:`B_1x1_Gate_Exec_Controller_SetCanRespawn`,BRICKS:[`B_1x1_Gate_Exec_Controller_SetCanRespawn`],PORTS:{Controller:`Controller`,Exec:`Exec`,bCanRespawn:`bCanRespawn`,ExecOut:`ExecOut`}},Exec_Controller_ShowStatusMessage:{NAME:`BrickComponentType_WireGraph_Exec_Controller_ShowStatusMessage`,BRICK:`B_1x1_Gate_Exec_Controller_ShowStatusMessage`,BRICKS:[`B_1x1_Gate_Exec_Controller_ShowStatusMessage`],PORTS:{Controller:`Controller`,Exec:`Exec`,Message:`Message`,ExecOut:`ExecOut`}},Exec_Entity_AddLocationRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_AddLocationRotation`,BRICK:`B_1x1_Gate_Exec_Entity_AddLocationRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_AddLocationRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_AddVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_AddVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_AddVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_AddVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_X:`Rotation.X`,Rotation_Y:`Rotation.Y`,Rotation_Z:`Rotation.Z`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_GetAngularVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetAngularVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_GetAngularVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetAngularVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,AngularVelocity:`AngularVelocity`,ExecOut:`ExecOut`}},Exec_Entity_GetLinearVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetLinearVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_GetLinearVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetLinearVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,LinearVelocity:`LinearVelocity`}},Exec_Entity_GetLocation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetLocation`,BRICK:`B_1x1_Gate_Exec_Entity_GetLocation`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetLocation`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,Vector:`Vector`}},Exec_Entity_GetLocationRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetLocationRotation`,BRICK:`B_1x1_Gate_Exec_Entity_GetLocationRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetLocationRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,Rotation:`Rotation`,Vector:`Vector`}},Exec_Entity_GetRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetRotation`,BRICK:`B_1x1_Gate_Exec_Entity_GetRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,Rotation:`Rotation`}},Exec_Entity_GetVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_GetVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_GetVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_GetVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`,Rotation:`Rotation`,Vector:`Vector`}},Exec_Entity_RelativeTeleport:{NAME:`BrickComponentType_WireGraph_Exec_Entity_RelativeTeleport`,BRICK:`B_1x1_Gate_Exec_Entity_RelativeTeleport`,BRICKS:[`B_1x1_Gate_Exec_Entity_RelativeTeleport`],PORTS:{Destination:`Destination`,Entity:`Entity`,Exec:`Exec`,Source:`Source`,ExecOut:`ExecOut`}},Exec_Entity_SetAngularVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetAngularVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_SetAngularVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetAngularVelocity`],PORTS:{AngularVelocity:`AngularVelocity`,AngularVelocity_X:`AngularVelocity.X`,AngularVelocity_Y:`AngularVelocity.Y`,AngularVelocity_Z:`AngularVelocity.Z`,Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Entity_SetFrozen:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetFrozen`,BRICK:`B_1x1_Gate_Exec_Entity_SetFrozen`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetFrozen`],PORTS:{Entity:`Entity`,Exec:`Exec`,bFrozen:`bFrozen`,ExecOut:`ExecOut`}},Exec_Entity_SetGravityDirection:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetGravityDirection`,BRICK:`B_1x1_Gate_Exec_Entity_SetGravityDirection`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetGravityDirection`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,ExecOut:`ExecOut`}},Exec_Entity_SetLinearVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetLinearVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_SetLinearVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetLinearVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,LinearVelocity:`LinearVelocity`,LinearVelocity_X:`LinearVelocity.X`,LinearVelocity_Y:`LinearVelocity.Y`,LinearVelocity_Z:`LinearVelocity.Z`,ExecOut:`ExecOut`}},Exec_Entity_SetLocation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetLocation`,BRICK:`B_1x1_Gate_Exec_Entity_SetLocation`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetLocation`],PORTS:{Entity:`Entity`,Exec:`Exec`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_SetLocationRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetLocationRotation`,BRICK:`B_1x1_Gate_Exec_Entity_SetLocationRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetLocationRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_SetRotation:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetRotation`,BRICK:`B_1x1_Gate_Exec_Entity_SetRotation`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetRotation`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,ExecOut:`ExecOut`}},Exec_Entity_SetVelocity:{NAME:`BrickComponentType_WireGraph_Exec_Entity_SetVelocity`,BRICK:`B_1x1_Gate_Exec_Entity_SetVelocity`,BRICKS:[`B_1x1_Gate_Exec_Entity_SetVelocity`],PORTS:{Entity:`Entity`,Exec:`Exec`,Rotation:`Rotation`,Rotation_X:`Rotation.X`,Rotation_Y:`Rotation.Y`,Rotation_Z:`Rotation.Z`,Vector:`Vector`,Vector_X:`Vector.X`,Vector_Y:`Vector.Y`,Vector_Z:`Vector.Z`,ExecOut:`ExecOut`}},Exec_Entity_Teleport:{NAME:`BrickComponentType_WireGraph_Exec_Entity_Teleport`,BRICK:`B_1x1_Gate_Exec_Entity_Teleport`,BRICKS:[`B_1x1_Gate_Exec_Entity_Teleport`],PORTS:{Destination:`Destination`,Entity:`Entity`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Gamemode_FillArrayFromPlayers:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromPlayers`,BRICK:`B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_FillArrayFromPlayers`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,ExecOut:`ExecOut`}},Exec_Gamemode_FillArrayFromTeamMembers:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers`,BRICK:`B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_FillArrayFromTeamMembers`],PORTS:{ArrayVarRef:`ArrayVarRef`,Exec:`Exec`,Team:`Team`,ExecOut:`ExecOut`}},Exec_Gamemode_GetCurrentRound:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetCurrentRound`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetCurrentRound`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetCurrentRound`],PORTS:{Exec:`Exec`,ExecOut:`ExecOut`,RoundNumber:`RoundNumber`}},Exec_Gamemode_GetLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetLeaderboardValue`],PORTS:{Controller:`Controller`,Exec:`Exec`,Key:`Key`,ExecOut:`ExecOut`,Value:`Value`}},Exec_Gamemode_GetTeam:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetTeam`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetTeam`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetTeam`],PORTS:{Character:`Character`,Exec:`Exec`,ExecOut:`ExecOut`,Team:`Team`}},Exec_Gamemode_GetTeamByName:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamByName`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetTeamByName`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetTeamByName`],PORTS:{Exec:`Exec`,TeamName:`TeamName`,ExecOut:`ExecOut`,Team:`Team`}},Exec_Gamemode_GetTeamLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetTeamLeaderboardValue`],PORTS:{Exec:`Exec`,Key:`Key`,Team:`Team`,ExecOut:`ExecOut`,Value:`Value`}},Exec_Gamemode_GetTeamName:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_GetTeamName`,BRICK:`B_1x1_Gate_Exec_Gamemode_GetTeamName`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_GetTeamName`],PORTS:{Exec:`Exec`,Team:`Team`,ExecOut:`ExecOut`,Name:`Name`}},Exec_Gamemode_IncrementLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_IncrementLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_IncrementLeaderboardValue`],PORTS:{Controller:`Controller`,Exec:`Exec`,Key:`Key`,Value:`Value`,ExecOut:`ExecOut`}},Exec_Gamemode_IncrementTeamLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_IncrementTeamLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_IncrementTeamLeaderboardValue`],PORTS:{Exec:`Exec`,Key:`Key`,Team:`Team`,Value:`Value`,ExecOut:`ExecOut`}},Exec_Gamemode_PlayerWins:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_PlayerWins`,BRICK:`B_1x1_Gate_Exec_Gamemode_PlayerWins`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_PlayerWins`],PORTS:{Exec:`Exec`,Player:`Player`,bTeamWinsInstead:`bTeamWinsInstead`,ExecOut:`ExecOut`}},Exec_Gamemode_SetLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_SetLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_SetLeaderboardValue`],PORTS:{Controller:`Controller`,Exec:`Exec`,Key:`Key`,Value:`Value`,ExecOut:`ExecOut`}},Exec_Gamemode_SetTeam:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_SetTeam`,BRICK:`B_1x1_Gate_Exec_Gamemode_SetTeam`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_SetTeam`],PORTS:{Controller:`Controller`,Exec:`Exec`,Team:`Team`,bPinPlayerToTeam:`bPinPlayerToTeam`,ExecOut:`ExecOut`}},Exec_Gamemode_SetTeamLeaderboardValue:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_SetTeamLeaderboardValue`,BRICK:`B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_SetTeamLeaderboardValue`],PORTS:{Exec:`Exec`,Key:`Key`,Team:`Team`,Value:`Value`,ExecOut:`ExecOut`}},Exec_Gamemode_SetTeamPinned:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_SetTeamPinned`,BRICK:`B_1x1_Gate_Exec_Gamemode_SetTeamPinned`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_SetTeamPinned`],PORTS:{Controller:`Controller`,Exec:`Exec`,bPinned:`bPinned`,ExecOut:`ExecOut`}},Exec_Gamemode_TeamWins:{NAME:`BrickComponentType_WireGraph_Exec_Gamemode_TeamWins`,BRICK:`B_1x1_Gate_Exec_Gamemode_TeamWins`,BRICKS:[`B_1x1_Gate_Exec_Gamemode_TeamWins`],PORTS:{Exec:`Exec`,Team:`Team`,ExecOut:`ExecOut`}},Exec_PlayGlobalAudio:{NAME:`BrickComponentType_WireGraph_Exec_PlayGlobalAudio`,BRICK:`B_1x1_Gate_Exec_PlayGlobalAudio`,BRICKS:[`B_1x1_Gate_Exec_PlayGlobalAudio`],PORTS:{Exec:`Exec`,PitchMultiplier:`PitchMultiplier`,VolumeMultiplier:`VolumeMultiplier`,ExecOut:`ExecOut`}},Exec_PrefabSpawner:{NAME:`BrickComponentType_WireGraph_Exec_PrefabSpawner`,BRICK:`B_1x1_Gate_Exec_PrefabSpawner`,BRICKS:[`B_1x1_Gate_Exec_PrefabSpawner`],PORTS:{Exec:`Exec`,Lifetime:`Lifetime`,Limit:`Limit`,SpawnOffset:`SpawnOffset`,SpawnOffset_X:`SpawnOffset.X`,SpawnOffset_Y:`SpawnOffset.Y`,SpawnOffset_Z:`SpawnOffset.Z`,SpawnOffsetRotation:`SpawnOffsetRotation`,SpawnOffsetRotation_Pitch:`SpawnOffsetRotation.Pitch`,SpawnOffsetRotation_Roll:`SpawnOffsetRotation.Roll`,SpawnOffsetRotation_Yaw:`SpawnOffsetRotation.Yaw`,Entity:`Entity`,ExecOut:`ExecOut`}},Exec_PrintToConsole:{NAME:`BrickComponentType_WireGraph_Exec_PrintToConsole`,BRICK:`B_1x1_Gate_Exec_PrintToConsole`,BRICKS:[`B_1x1_Gate_Exec_PrintToConsole`],PORTS:{Exec:`Exec`,Text:`Text`,ExecOut:`ExecOut`}},Exec_Random:{NAME:`BrickComponentType_WireGraph_Exec_Random`,BRICK:`B_1x1_Gate_Exec_Random`,BRICKS:[`B_1x1_Gate_Exec_Random`],PORTS:{Exec:`Exec`,Max:`Max`,Min:`Min`,ExecOut:`ExecOut`,Output:`Output`}},Exec_Sweep:{NAME:`BrickComponentType_WireGraph_Exec_Sweep`,BRICK:`B_1x1_Gate_Exec_Sweep`,BRICKS:[`B_1x1_Gate_Exec_Sweep`],PORTS:{Direction:`Direction`,Direction_X:`Direction.X`,Direction_Y:`Direction.Y`,Direction_Z:`Direction.Z`,Distance:`Distance`,Exec:`Exec`,IgnoreEntity:`IgnoreEntity`,Origin:`Origin`,Origin_X:`Origin.X`,Origin_Y:`Origin.Y`,Origin_Z:`Origin.Z`,Radius:`Radius`,bRelative:`bRelative`,ExecOut:`ExecOut`,Hit:`Hit`,HitDistance:`HitDistance`,HitEntity:`HitEntity`,HitLocation:`HitLocation`,HitNormal:`HitNormal`,Miss:`Miss`}},Exec_Union:{NAME:`BrickComponentType_WireGraph_Exec_Union`,BRICK:`B_1x1_Gate_Exec_Union`,BRICKS:[`B_1x1_Gate_Exec_Union`],PORTS:{ExecA:`ExecA`,ExecB:`ExecB`,ExecOut:`ExecOut`}},Exec_Var_Get:{NAME:`BrickComponentType_WireGraph_Exec_Var_Get`,BRICK:`B_1x1_Gate_Exec_Var_Get`,BRICKS:[`B_1x1_Gate_Exec_Var_Get`],PORTS:{Exec:`Exec`,VarRef:`VarRef`,ExecOut:`ExecOut`,Value:`Value`}},Exec_Var_Increment:{NAME:`BrickComponentType_WireGraph_Exec_Var_Increment`,BRICK:`B_1x1_Gate_Exec_Var_Increment`,BRICKS:[`B_1x1_Gate_Exec_Var_Increment`],PORTS:{Exec:`Exec`,Value:`Value`,VarRef:`VarRef`,ExecOut:`ExecOut`}},Exec_Var_Set:{NAME:`BrickComponentType_WireGraph_Exec_Var_Set`,BRICK:`B_1x1_Gate_Exec_Var_Set`,BRICKS:[`B_1x1_Gate_Exec_Var_Set`],PORTS:{Exec:`Exec`,Value:`Value`,VarRef:`VarRef`,ExecOut:`ExecOut`}},Expr_BitwiseAND:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseAND`,BRICK:`B_1x1_Gate_Expr_BitwiseAND`,BRICKS:[`B_1x1_Gate_Expr_BitwiseAND`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseBitCount:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseBitCount`,BRICK:`B_1x1_Gate_Expr_BitwiseBitCount`,BRICKS:[`B_1x1_Gate_Expr_BitwiseBitCount`],PORTS:{Input:`Input`,Output:`Output`}},Expr_BitwiseNAND:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseNAND`,BRICK:`B_1x1_Gate_Expr_BitwiseNAND`,BRICKS:[`B_1x1_Gate_Expr_BitwiseNAND`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseNOR:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseNOR`,BRICK:`B_1x1_Gate_Expr_BitwiseNOR`,BRICKS:[`B_1x1_Gate_Expr_BitwiseNOR`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseNOT:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseNOT`,BRICK:`B_1x1_Gate_Expr_BitwiseNOT`,BRICKS:[`B_1x1_Gate_Expr_BitwiseNOT`],PORTS:{Input:`Input`,Output:`Output`}},Expr_BitwiseOR:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseOR`,BRICK:`B_1x1_Gate_Expr_BitwiseOR`,BRICKS:[`B_1x1_Gate_Expr_BitwiseOR`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseShiftLeft:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseShiftLeft`,BRICK:`B_1x1_Gate_Expr_BitwiseShiftLeft`,BRICKS:[`B_1x1_Gate_Expr_BitwiseShiftLeft`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseShiftRight:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseShiftRight`,BRICK:`B_1x1_Gate_Expr_BitwiseShiftRight`,BRICKS:[`B_1x1_Gate_Expr_BitwiseShiftRight`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_BitwiseXOR:{NAME:`BrickComponentType_WireGraph_Expr_BitwiseXOR`,BRICK:`B_1x1_Gate_Expr_BitwiseXOR`,BRICKS:[`B_1x1_Gate_Expr_BitwiseXOR`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_Ceil:{NAME:`BrickComponentType_WireGraph_Expr_Ceil`,BRICK:`B_1x1_Gate_Expr_Ceil`,BRICKS:[`B_1x1_Gate_Expr_Ceil`],PORTS:{Input:`Input`,Output:`Output`}},Expr_CompareEqual:{NAME:`BrickComponentType_WireGraph_Expr_CompareEqual`,BRICK:`B_1x1_Gate_Expr_CompareEqual`,BRICKS:[`B_1x1_Gate_Expr_CompareEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareGreater:{NAME:`BrickComponentType_WireGraph_Expr_CompareGreater`,BRICK:`B_1x1_Gate_Expr_CompareGreater`,BRICKS:[`B_1x1_Gate_Expr_CompareGreater`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareGreaterOrEqual:{NAME:`BrickComponentType_WireGraph_Expr_CompareGreaterOrEqual`,BRICK:`B_1x1_Gate_Expr_CompareGreaterOrEqual`,BRICKS:[`B_1x1_Gate_Expr_CompareGreaterOrEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareLess:{NAME:`BrickComponentType_WireGraph_Expr_CompareLess`,BRICK:`B_1x1_Gate_Expr_CompareLess`,BRICKS:[`B_1x1_Gate_Expr_CompareLess`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareLessOrEqual:{NAME:`BrickComponentType_WireGraph_Expr_CompareLessOrEqual`,BRICK:`B_1x1_Gate_Expr_CompareLessOrEqual`,BRICKS:[`B_1x1_Gate_Expr_CompareLessOrEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_CompareNotEqual:{NAME:`BrickComponentType_WireGraph_Expr_CompareNotEqual`,BRICK:`B_1x1_Gate_Expr_CompareNotEqual`,BRICKS:[`B_1x1_Gate_Expr_CompareNotEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,bOutput:`bOutput`}},Expr_EdgeDetector:{NAME:`BrickComponentType_WireGraph_Expr_EdgeDetector`,BRICK:`B_1x1_Gate_Expr_EdgeDetector`,BRICKS:[`B_1x1_Gate_Expr_EdgeDetector`],PORTS:{Input:`Input`,bPulseOnFallingEdge:`bPulseOnFallingEdge`,bPulseOnRisingEdge:`bPulseOnRisingEdge`}},Expr_Floor:{NAME:`BrickComponentType_WireGraph_Expr_Floor`,BRICK:`B_1x1_Gate_Expr_Floor`,BRICKS:[`B_1x1_Gate_Expr_Floor`],PORTS:{Input:`Input`,Output:`Output`}},Expr_LogicalAND:{NAME:`BrickComponentType_WireGraph_Expr_LogicalAND`,BRICK:`B_1x1_Gate_Expr_LogicalAND`,BRICKS:[`B_1x1_Gate_Expr_LogicalAND`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_LogicalNAND:{NAME:`BrickComponentType_WireGraph_Expr_LogicalNAND`,BRICK:`B_1x1_Gate_Expr_LogicalNAND`,BRICKS:[`B_1x1_Gate_Expr_LogicalNAND`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_LogicalNOR:{NAME:`BrickComponentType_WireGraph_Expr_LogicalNOR`,BRICK:`B_1x1_Gate_Expr_LogicalNOR`,BRICKS:[`B_1x1_Gate_Expr_LogicalNOR`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_LogicalNOT:{NAME:`BrickComponentType_WireGraph_Expr_LogicalNOT`,BRICK:`B_1x1_Gate_Expr_LogicalNOT`,BRICKS:[`B_1x1_Gate_Expr_LogicalNOT`],PORTS:{bInput:`bInput`,bOutput:`bOutput`}},Expr_LogicalOR:{NAME:`BrickComponentType_WireGraph_Expr_LogicalOR`,BRICK:`B_1x1_Gate_Expr_LogicalOR`,BRICKS:[`B_1x1_Gate_Expr_LogicalOR`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_LogicalXOR:{NAME:`BrickComponentType_WireGraph_Expr_LogicalXOR`,BRICK:`B_1x1_Gate_Expr_LogicalXOR`,BRICKS:[`B_1x1_Gate_Expr_LogicalXOR`],PORTS:{bInputA:`bInputA`,bInputB:`bInputB`,bOutput:`bOutput`}},Expr_MakeColor:{NAME:`BrickComponentType_WireGraph_Expr_MakeColor`,BRICK:`B_1x1_Gate_Expr_MakeColor`,BRICKS:[`B_1x1_Gate_Expr_MakeColor`],PORTS:{A:`A`,B:`B`,G:`G`,R:`R`,Output:`Output`}},Expr_MakeVector:{NAME:`BrickComponentType_WireGraph_Expr_MakeVector`,BRICK:`B_1x1_Gate_Expr_MakeVector`,BRICKS:[`B_1x1_Gate_Expr_MakeVector`],PORTS:{X:`X`,Y:`Y`,Z:`Z`,Output:`Output`}},Expr_MathAbs:{NAME:`BrickComponentType_WireGraph_Expr_MathAbs`,BRICK:`B_1x1_Gate_Expr_MathAbs`,BRICKS:[`B_1x1_Gate_Expr_MathAbs`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAcos:{NAME:`BrickComponentType_WireGraph_Expr_MathAcos`,BRICK:`B_1x1_Gate_Expr_MathAcos`,BRICKS:[`B_1x1_Gate_Expr_MathAcos`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAcosh:{NAME:`BrickComponentType_WireGraph_Expr_MathAcosh`,BRICK:`B_1x1_Gate_Expr_MathAcosh`,BRICKS:[`B_1x1_Gate_Expr_MathAcosh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAdd:{NAME:`BrickComponentType_WireGraph_Expr_MathAdd`,BRICK:`B_1x1_Gate_Expr_MathAdd`,BRICKS:[`B_1x1_Gate_Expr_MathAdd`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathAsin:{NAME:`BrickComponentType_WireGraph_Expr_MathAsin`,BRICK:`B_1x1_Gate_Expr_MathAsin`,BRICKS:[`B_1x1_Gate_Expr_MathAsin`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAsinh:{NAME:`BrickComponentType_WireGraph_Expr_MathAsinh`,BRICK:`B_1x1_Gate_Expr_MathAsinh`,BRICKS:[`B_1x1_Gate_Expr_MathAsinh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAtan:{NAME:`BrickComponentType_WireGraph_Expr_MathAtan`,BRICK:`B_1x1_Gate_Expr_MathAtan`,BRICKS:[`B_1x1_Gate_Expr_MathAtan`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathAtan2:{NAME:`BrickComponentType_WireGraph_Expr_MathAtan2`,BRICK:`B_1x1_Gate_Expr_MathAtan2`,BRICKS:[`B_1x1_Gate_Expr_MathAtan2`],PORTS:{X:`X`,Y:`Y`,Output:`Output`}},Expr_MathAtanh:{NAME:`BrickComponentType_WireGraph_Expr_MathAtanh`,BRICK:`B_1x1_Gate_Expr_MathAtanh`,BRICKS:[`B_1x1_Gate_Expr_MathAtanh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathBlend:{NAME:`BrickComponentType_WireGraph_Expr_MathBlend`,BRICK:`B_1x1_Gate_Expr_MathBlend`,BRICKS:[`B_1x1_Gate_Expr_MathBlend`],PORTS:{Blend:`Blend`,InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathClamp:{NAME:`BrickComponentType_WireGraph_Expr_MathClamp`,BRICK:`B_1x1_Gate_Expr_MathClamp`,BRICKS:[`B_1x1_Gate_Expr_MathClamp`],PORTS:{Input:`Input`,Max:`Max`,Min:`Min`,Output:`Output`}},Expr_MathCos:{NAME:`BrickComponentType_WireGraph_Expr_MathCos`,BRICK:`B_1x1_Gate_Expr_MathCos`,BRICKS:[`B_1x1_Gate_Expr_MathCos`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathCosh:{NAME:`BrickComponentType_WireGraph_Expr_MathCosh`,BRICK:`B_1x1_Gate_Expr_MathCosh`,BRICKS:[`B_1x1_Gate_Expr_MathCosh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathDegreesToRadians:{NAME:`BrickComponentType_WireGraph_Expr_MathDegreesToRadians`,BRICK:`B_1x1_Gate_Expr_MathDegreesToRadians`,BRICKS:[`B_1x1_Gate_Expr_MathDegreesToRadians`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathDivide:{NAME:`BrickComponentType_WireGraph_Expr_MathDivide`,BRICK:`B_1x1_Gate_Expr_MathDivide`,BRICKS:[`B_1x1_Gate_Expr_MathDivide`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathEasing:{NAME:`BrickComponentType_WireGraph_Expr_MathEasing`,BRICK:`B_1x1_Gate_Expr_MathEasing`,BRICKS:[`B_1x1_Gate_Expr_MathEasing`],PORTS:{Blend:`Blend`,Direction:`Direction`,Function:`Function`,InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathExp:{NAME:`BrickComponentType_WireGraph_Expr_MathExp`,BRICK:`B_1x1_Gate_Expr_MathExp`,BRICKS:[`B_1x1_Gate_Expr_MathExp`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathLn:{NAME:`BrickComponentType_WireGraph_Expr_MathLn`,BRICK:`B_1x1_Gate_Expr_MathLn`,BRICKS:[`B_1x1_Gate_Expr_MathLn`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathLogBase:{NAME:`BrickComponentType_WireGraph_Expr_MathLogBase`,BRICK:`B_1x1_Gate_Expr_MathLogBase`,BRICKS:[`B_1x1_Gate_Expr_MathLogBase`],PORTS:{Base:`Base`,Input:`Input`,Output:`Output`}},Expr_MathMax:{NAME:`BrickComponentType_WireGraph_Expr_MathMax`,BRICK:`B_1x1_Gate_Expr_MathMax`,BRICKS:[`B_1x1_Gate_Expr_MathMax`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathMin:{NAME:`BrickComponentType_WireGraph_Expr_MathMin`,BRICK:`B_1x1_Gate_Expr_MathMin`,BRICKS:[`B_1x1_Gate_Expr_MathMin`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathModulo:{NAME:`BrickComponentType_WireGraph_Expr_MathModulo`,BRICK:`B_1x1_Gate_Expr_MathModulo`,BRICKS:[`B_1x1_Gate_Expr_MathModulo`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathModuloFloored:{NAME:`BrickComponentType_WireGraph_Expr_MathModuloFloored`,BRICK:`B_1x1_Gate_Expr_MathModuloFloored`,BRICKS:[`B_1x1_Gate_Expr_MathModuloFloored`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathMultiply:{NAME:`BrickComponentType_WireGraph_Expr_MathMultiply`,BRICK:`B_1x1_Gate_Expr_MathMultiply`,BRICKS:[`B_1x1_Gate_Expr_MathMultiply`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathNegate:{NAME:`BrickComponentType_WireGraph_Expr_MathNegate`,BRICK:`B_1x1_Gate_Expr_MathNegate`,BRICKS:[`B_1x1_Gate_Expr_MathNegate`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathPow:{NAME:`BrickComponentType_WireGraph_Expr_MathPow`,BRICK:`B_1x1_Gate_Expr_MathPow`,BRICKS:[`B_1x1_Gate_Expr_MathPow`],PORTS:{Exponent:`Exponent`,Input:`Input`,Output:`Output`}},Expr_MathRadiansToDegrees:{NAME:`BrickComponentType_WireGraph_Expr_MathRadiansToDegrees`,BRICK:`B_1x1_Gate_Expr_MathRadiansToDegrees`,BRICKS:[`B_1x1_Gate_Expr_MathRadiansToDegrees`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSign:{NAME:`BrickComponentType_WireGraph_Expr_MathSign`,BRICK:`B_1x1_Gate_Expr_MathSign`,BRICKS:[`B_1x1_Gate_Expr_MathSign`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSin:{NAME:`BrickComponentType_WireGraph_Expr_MathSin`,BRICK:`B_1x1_Gate_Expr_MathSin`,BRICKS:[`B_1x1_Gate_Expr_MathSin`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSinh:{NAME:`BrickComponentType_WireGraph_Expr_MathSinh`,BRICK:`B_1x1_Gate_Expr_MathSinh`,BRICKS:[`B_1x1_Gate_Expr_MathSinh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSqrt:{NAME:`BrickComponentType_WireGraph_Expr_MathSqrt`,BRICK:`B_1x1_Gate_Expr_MathSqrt`,BRICKS:[`B_1x1_Gate_Expr_MathSqrt`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathSubtract:{NAME:`BrickComponentType_WireGraph_Expr_MathSubtract`,BRICK:`B_1x1_Gate_Expr_MathSubtract`,BRICKS:[`B_1x1_Gate_Expr_MathSubtract`],PORTS:{InputA:`InputA`,InputB:`InputB`,Output:`Output`}},Expr_MathTan:{NAME:`BrickComponentType_WireGraph_Expr_MathTan`,BRICK:`B_1x1_Gate_Expr_MathTan`,BRICKS:[`B_1x1_Gate_Expr_MathTan`],PORTS:{Input:`Input`,Output:`Output`}},Expr_MathTanh:{NAME:`BrickComponentType_WireGraph_Expr_MathTanh`,BRICK:`B_1x1_Gate_Expr_MathTanh`,BRICKS:[`B_1x1_Gate_Expr_MathTanh`],PORTS:{Input:`Input`,Output:`Output`}},Expr_NearlyEqual:{NAME:`BrickComponentType_WireGraph_Expr_NearlyEqual`,BRICK:`B_1x1_Gate_Expr_NearlyEqual`,BRICKS:[`B_1x1_Gate_Expr_NearlyEqual`],PORTS:{InputA:`InputA`,InputB:`InputB`,Tolerance:`Tolerance`,bOutput:`bOutput`}},Expr_Round:{NAME:`BrickComponentType_WireGraph_Expr_Round`,BRICK:`B_1x1_Gate_Expr_Round`,BRICKS:[`B_1x1_Gate_Expr_Round`],PORTS:{Input:`Input`,Output:`Output`}},Expr_Select:{NAME:`BrickComponentType_WireGraph_Expr_Select`,BRICK:`B_1x1_Gate_Expr_Select`,BRICKS:[`B_1x1_Gate_Expr_Select`],PORTS:{InputA:`InputA`,InputB:`InputB`,bSelectB:`bSelectB`,Output:`Output`}},Expr_SplitColor:{NAME:`BrickComponentType_WireGraph_Expr_SplitColor`,BRICK:`B_1x1_Gate_Expr_SplitColor`,BRICKS:[`B_1x1_Gate_Expr_SplitColor`],PORTS:{Input:`Input`,Input_A:`Input.A`,Input_B:`Input.B`,Input_G:`Input.G`,Input_R:`Input.R`,A:`A`,B:`B`,G:`G`,R:`R`}},Expr_SplitVector:{NAME:`BrickComponentType_WireGraph_Expr_SplitVector`,BRICK:`B_1x1_Gate_Expr_SplitVector`,BRICKS:[`B_1x1_Gate_Expr_SplitVector`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,X:`X`,Y:`Y`,Z:`Z`}},Expr_String_Concatenate:{NAME:`BrickComponentType_WireGraph_Expr_String_Concatenate`,BRICK:`B_1x1_Gate_Expr_String_Concatenate`,BRICKS:[`B_1x1_Gate_Expr_String_Concatenate`],PORTS:{InputA:`InputA`,InputB:`InputB`,Separator:`Separator`,Output:`Output`}},Expr_String_Contains:{NAME:`BrickComponentType_WireGraph_Expr_String_Contains`,BRICK:`B_1x1_Gate_Expr_String_Contains`,BRICKS:[`B_1x1_Gate_Expr_String_Contains`],PORTS:{Input:`Input`,Search:`Search`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_EndsWith:{NAME:`BrickComponentType_WireGraph_Expr_String_EndsWith`,BRICK:`B_1x1_Gate_Expr_String_EndsWith`,BRICKS:[`B_1x1_Gate_Expr_String_EndsWith`],PORTS:{Input:`Input`,Suffix:`Suffix`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_Find:{NAME:`BrickComponentType_WireGraph_Expr_String_Find`,BRICK:`B_1x1_Gate_Expr_String_Find`,BRICKS:[`B_1x1_Gate_Expr_String_Find`],PORTS:{Input:`Input`,Search:`Search`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_FormatText:{NAME:`BrickComponentType_WireGraph_Expr_String_FormatText`,BRICK:`B_1x1_Gate_Expr_String_FormatText`,BRICKS:[`B_1x1_Gate_Expr_String_FormatText`],PORTS:{FormatString:`FormatString`,InputA:`InputA`,InputB:`InputB`,InputC:`InputC`,InputD:`InputD`,InputE:`InputE`,InputF:`InputF`,InputG:`InputG`,Output:`Output`}},Expr_String_Length:{NAME:`BrickComponentType_WireGraph_Expr_String_Length`,BRICK:`B_1x1_Gate_Expr_String_Length`,BRICKS:[`B_1x1_Gate_Expr_String_Length`],PORTS:{Input:`Input`,Output:`Output`}},Expr_String_ParseInt:{NAME:`BrickComponentType_WireGraph_Expr_String_ParseInt`,BRICK:`B_1x1_Gate_Expr_String_ParseInt`,BRICKS:[`B_1x1_Gate_Expr_String_ParseInt`],PORTS:{Input:`Input`,Value:`Value`,bSuccess:`bSuccess`}},Expr_String_ParseNumber:{NAME:`BrickComponentType_WireGraph_Expr_String_ParseNumber`,BRICK:`B_1x1_Gate_Expr_String_ParseNumber`,BRICKS:[`B_1x1_Gate_Expr_String_ParseNumber`],PORTS:{Input:`Input`,Value:`Value`,bSuccess:`bSuccess`}},Expr_String_Replace:{NAME:`BrickComponentType_WireGraph_Expr_String_Replace`,BRICK:`B_1x1_Gate_Expr_String_Replace`,BRICKS:[`B_1x1_Gate_Expr_String_Replace`],PORTS:{Input:`Input`,Replacement:`Replacement`,Search:`Search`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_Split:{NAME:`BrickComponentType_WireGraph_Expr_String_Split`,BRICK:`B_1x1_Gate_Expr_String_Split`,BRICKS:[`B_1x1_Gate_Expr_String_Split`],PORTS:{Delimiter:`Delimiter`,Input:`Input`,bCaseSensitive:`bCaseSensitive`,Left:`Left`,Right:`Right`,bFound:`bFound`}},Expr_String_StartsWith:{NAME:`BrickComponentType_WireGraph_Expr_String_StartsWith`,BRICK:`B_1x1_Gate_Expr_String_StartsWith`,BRICKS:[`B_1x1_Gate_Expr_String_StartsWith`],PORTS:{Input:`Input`,Prefix:`Prefix`,bCaseSensitive:`bCaseSensitive`,Output:`Output`}},Expr_String_Substring:{NAME:`BrickComponentType_WireGraph_Expr_String_Substring`,BRICK:`B_1x1_Gate_Expr_String_Substring`,BRICKS:[`B_1x1_Gate_Expr_String_Substring`],PORTS:{Input:`Input`,Length:`Length`,Start:`Start`,Output:`Output`}},Expr_String_ToLower:{NAME:`BrickComponentType_WireGraph_Expr_String_ToLower`,BRICK:`B_1x1_Gate_Expr_String_ToLower`,BRICKS:[`B_1x1_Gate_Expr_String_ToLower`],PORTS:{Input:`Input`,Output:`Output`}},Expr_String_ToUpper:{NAME:`BrickComponentType_WireGraph_Expr_String_ToUpper`,BRICK:`B_1x1_Gate_Expr_String_ToUpper`,BRICKS:[`B_1x1_Gate_Expr_String_ToUpper`],PORTS:{Input:`Input`,Output:`Output`}},Expr_String_Trim:{NAME:`BrickComponentType_WireGraph_Expr_String_Trim`,BRICK:`B_1x1_Gate_Expr_String_Trim`,BRICKS:[`B_1x1_Gate_Expr_String_Trim`],PORTS:{Input:`Input`,Output:`Output`}},Expr_Swap:{NAME:`BrickComponentType_WireGraph_Expr_Swap`,BRICK:`B_1x1_Gate_Expr_Swap`,BRICKS:[`B_1x1_Gate_Expr_Swap`],PORTS:{InputA:`InputA`,InputB:`InputB`,bSwap:`bSwap`,Output:`Output`,OutputB:`OutputB`}},Expr_VecCrossProduct:{NAME:`BrickComponentType_WireGraph_Expr_VecCrossProduct`,BRICK:`B_1x1_Gate_Expr_VecCrossProduct`,BRICKS:[`B_1x1_Gate_Expr_VecCrossProduct`],PORTS:{InputA:`InputA`,InputA_X:`InputA.X`,InputA_Y:`InputA.Y`,InputA_Z:`InputA.Z`,InputB:`InputB`,InputB_X:`InputB.X`,InputB_Y:`InputB.Y`,InputB_Z:`InputB.Z`,Output:`Output`}},Expr_VecDistance:{NAME:`BrickComponentType_WireGraph_Expr_VecDistance`,BRICK:`B_1x1_Gate_Expr_VecDistance`,BRICKS:[`B_1x1_Gate_Expr_VecDistance`],PORTS:{InputA:`InputA`,InputA_X:`InputA.X`,InputA_Y:`InputA.Y`,InputA_Z:`InputA.Z`,InputB:`InputB`,InputB_X:`InputB.X`,InputB_Y:`InputB.Y`,InputB_Z:`InputB.Z`,Output:`Output`}},Expr_VecDistanceSquared:{NAME:`BrickComponentType_WireGraph_Expr_VecDistanceSquared`,BRICK:`B_1x1_Gate_Expr_VecDistanceSquared`,BRICKS:[`B_1x1_Gate_Expr_VecDistanceSquared`],PORTS:{InputA:`InputA`,InputA_X:`InputA.X`,InputA_Y:`InputA.Y`,InputA_Z:`InputA.Z`,InputB:`InputB`,InputB_X:`InputB.X`,InputB_Y:`InputB.Y`,InputB_Z:`InputB.Z`,Output:`Output`}},Expr_VecDotProduct:{NAME:`BrickComponentType_WireGraph_Expr_VecDotProduct`,BRICK:`B_1x1_Gate_Expr_VecDotProduct`,BRICKS:[`B_1x1_Gate_Expr_VecDotProduct`],PORTS:{InputA:`InputA`,InputA_X:`InputA.X`,InputA_Y:`InputA.Y`,InputA_Z:`InputA.Z`,InputB:`InputB`,InputB_X:`InputB.X`,InputB_Y:`InputB.Y`,InputB_Z:`InputB.Z`,Output:`Output`}},Expr_VecMagnitude:{NAME:`BrickComponentType_WireGraph_Expr_VecMagnitude`,BRICK:`B_1x1_Gate_Expr_VecMagnitude`,BRICKS:[`B_1x1_Gate_Expr_VecMagnitude`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Output:`Output`}},Expr_VecMagnitudeSquared:{NAME:`BrickComponentType_WireGraph_Expr_VecMagnitudeSquared`,BRICK:`B_1x1_Gate_Expr_VecMagnitudeSquared`,BRICKS:[`B_1x1_Gate_Expr_VecMagnitudeSquared`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Output:`Output`}},Expr_VecNormalize:{NAME:`BrickComponentType_WireGraph_Expr_VecNormalize`,BRICK:`B_1x1_Gate_Expr_VecNormalize`,BRICKS:[`B_1x1_Gate_Expr_VecNormalize`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Output:`Output`}},Expr_VecRotationToDirection:{NAME:`BrickComponentType_WireGraph_Expr_VecRotationToDirection`,BRICK:`B_1x1_Gate_Expr_VecRotationToDirection`,BRICKS:[`B_1x1_Gate_Expr_VecRotationToDirection`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Output:`Output`}},Expr_VecScale:{NAME:`BrickComponentType_WireGraph_Expr_VecScale`,BRICK:`B_1x1_Gate_Expr_VecScale`,BRICKS:[`B_1x1_Gate_Expr_VecScale`],PORTS:{Input:`Input`,Input_X:`Input.X`,Input_Y:`Input.Y`,Input_Z:`Input.Z`,Scalar:`Scalar`,Output:`Output`}},Fake_Gamemode_CharacterDiedEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_CharacterDiedEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_CharacterDiedEvent`],PORTS:{Character:`Character`,ExecOut:`ExecOut`}},Fake_Gamemode_CharacterSpawnedEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_CharacterSpawnedEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_CharacterSpawnedEvent`],PORTS:{Character:`Character`,ExecOut:`ExecOut`}},Fake_Gamemode_ControllerJoinedEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_ControllerJoinedEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_ControllerJoinedEvent`],PORTS:{Controller:`Controller`,ExecOut:`ExecOut`}},Fake_Gamemode_ControllerLeftEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_ControllerLeftEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_ControllerLeftEvent`],PORTS:{Controller:`Controller`,ExecOut:`ExecOut`}},Fake_Gamemode_RoundEndEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_RoundEndEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_RoundEndEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_RoundEndEvent`],PORTS:{Exec:`Exec`,ExecOut:`ExecOut`,RoundNumber:`RoundNumber`}},Fake_Gamemode_RoundStartEvent:{NAME:`BrickComponentType_WireGraph_Fake_Gamemode_RoundStartEvent`,BRICK:`B_1x1_Gate_Fake_Gamemode_RoundStartEvent`,BRICKS:[`B_1x1_Gate_Fake_Gamemode_RoundStartEvent`],PORTS:{Exec:`Exec`,ExecOut:`ExecOut`,RoundNumber:`RoundNumber`}},FontReference:{NAME:`BrickComponentType_WireGraph_FontReference`,BRICK:`B_1x1_Gate_FontReference`,BRICKS:[`B_1x1_Gate_FontReference`],PORTS:{Value:`Value`}},ItemReference:{NAME:`BrickComponentType_WireGraph_ItemReference`,BRICK:`B_1x1_Gate_ItemReference`,BRICKS:[`B_1x1_Gate_ItemReference`],PORTS:{Value:`Value`}},OneShotAudioReference:{NAME:`BrickComponentType_WireGraph_OneShotAudioReference`,BRICK:`B_1x1_Gate_OneShotAudioReference`,BRICKS:[`B_1x1_Gate_OneShotAudioReference`],PORTS:{Value:`Value`}},ParticleReference:{NAME:`BrickComponentType_WireGraph_ParticleReference`,BRICK:`B_1x1_Gate_ParticleReference`,BRICKS:[`B_1x1_Gate_ParticleReference`],PORTS:{Value:`Value`}},PickupReference:{NAME:`BrickComponentType_WireGraph_PickupReference`,BRICK:`B_1x1_Gate_PickupReference`,BRICKS:[`B_1x1_Gate_PickupReference`],PORTS:{Value:`Value`}},ProjectileReference:{NAME:`BrickComponentType_WireGraph_ProjectileReference`,BRICK:`B_1x1_Gate_ProjectileReference`,BRICKS:[`B_1x1_Gate_ProjectileReference`],PORTS:{Value:`Value`}},ServerUptime:{NAME:`BrickComponentType_WireGraph_ServerUptime`,BRICK:`B_1x1_Gate_ServerUptime`,BRICKS:[`B_1x1_Gate_ServerUptime`],PORTS:{Uptime:`Uptime`}},WheelEngineAudioReference:{NAME:`BrickComponentType_WireGraph_WheelEngineAudioReference`,BRICK:`B_1x1_Gate_WheelEngineAudioReference`,BRICKS:[`B_1x1_Gate_WheelEngineAudioReference`],PORTS:{Value:`Value`}},ArrayVar:{NAME:`BrickComponentType_WireGraphPseudo_ArrayVar`,BRICK:`B_1x1_Gate_Variable_Array`,BRICKS:[`B_1x1_Gate_Variable_Array`],PORTS:{ArrayVarRef:`ArrayVarRef`}},BufferSeconds:{NAME:`BrickComponentType_WireGraphPseudo_BufferSeconds`,BRICK:`B_1x1_Gate_Pseudo_BufferSeconds`,BRICKS:[`B_1x1_Gate_Pseudo_BufferSeconds`],PORTS:{Input:`Input`,SecondsToWait:`SecondsToWait`,ZeroSecondsToWait:`ZeroSecondsToWait`,Output:`Output`}},BufferTicks:{NAME:`BrickComponentType_WireGraphPseudo_BufferTicks`,BRICK:`B_1x1_Gate_Pseudo_BufferTicks`,BRICKS:[`B_1x1_Gate_Pseudo_BufferTicks`],PORTS:{Input:`Input`,TicksToWait:`TicksToWait`,ZeroTicksToWait:`ZeroTicksToWait`,Output:`Output`}},Dampen:{NAME:`BrickComponentType_WireGraphPseudo_Dampen`,BRICK:`B_1x1_Gate_Pseudo_Dampen`,BRICKS:[`B_1x1_Gate_Pseudo_Dampen`],PORTS:{SmoothTime:`SmoothTime`,Target:`Target`,Value:`Value`}},QueueSeconds:{NAME:`BrickComponentType_WireGraphPseudo_QueueSeconds`,BRICK:`B_1x1_Gate_Pseudo_QueueSeconds`,BRICKS:[`B_1x1_Gate_Pseudo_QueueSeconds`],PORTS:{DataIn1:`DataIn1`,DataIn2:`DataIn2`,DataIn3:`DataIn3`,DataIn4:`DataIn4`,DataIn5:`DataIn5`,DataIn6:`DataIn6`,DataIn7:`DataIn7`,DataIn8:`DataIn8`,ExecIn:`ExecIn`,SecondsToWait:`SecondsToWait`,DataOut1:`DataOut1`,DataOut2:`DataOut2`,DataOut3:`DataOut3`,DataOut4:`DataOut4`,DataOut5:`DataOut5`,DataOut6:`DataOut6`,DataOut7:`DataOut7`,DataOut8:`DataOut8`,ExecOut:`ExecOut`}},QueueTicks:{NAME:`BrickComponentType_WireGraphPseudo_QueueTicks`,BRICK:`B_1x1_Gate_Pseudo_QueueTicks`,BRICKS:[`B_1x1_Gate_Pseudo_QueueTicks`],PORTS:{DataIn1:`DataIn1`,DataIn2:`DataIn2`,DataIn3:`DataIn3`,DataIn4:`DataIn4`,DataIn5:`DataIn5`,DataIn6:`DataIn6`,DataIn7:`DataIn7`,DataIn8:`DataIn8`,ExecIn:`ExecIn`,TicksToWait:`TicksToWait`,DataOut1:`DataOut1`,DataOut2:`DataOut2`,DataOut3:`DataOut3`,DataOut4:`DataOut4`,DataOut5:`DataOut5`,DataOut6:`DataOut6`,DataOut7:`DataOut7`,DataOut8:`DataOut8`,ExecOut:`ExecOut`}},Timer:{NAME:`BrickComponentType_WireGraphPseudo_Timer`,BRICK:`B_1x1_Gate_Pseudo_Timer`,BRICKS:[`B_1x1_Gate_Pseudo_Timer`],PORTS:{Limit:`Limit`,Pause:`Pause`,Restart:`Restart`,Resume:`Resume`,Expired:`Expired`,Time:`Time`}},Tween:{NAME:`BrickComponentType_WireGraphPseudo_Tween`,BRICK:`B_1x1_Gate_Pseudo_Tween`,BRICKS:[`B_1x1_Gate_Pseudo_Tween`],PORTS:{Direction:`Direction`,Duration:`Duration`,Function:`Function`,Target:`Target`,Arrived:`Arrived`,Value:`Value`}},Var:{NAME:`BrickComponentType_WireGraphPseudo_Var`,BRICK:`B_1x1_Gate_Variable`,BRICKS:[`B_1x1_Gate_Variable`],PORTS:{Value:`Value`,VarRef:`VarRef`}},AudioEmitter:{NAME:`Component_AudioEmitter`,BRICK:`B_1x1F_Speaker`,BRICKS:[`B_1x1F_Speaker`,`B_2x2F_Speaker`],PORTS:{AudioDescriptor:`AudioDescriptor`,FocusAzimuth:`FocusAzimuth`,InnerRadius:`InnerRadius`,MaxDistance:`MaxDistance`,NonFocusAzimuth:`NonFocusAzimuth`,NonFocusVolumeAttenuation:`NonFocusVolumeAttenuation`,PitchMultiplier:`PitchMultiplier`,VolumeMultiplier:`VolumeMultiplier`,bEnabled:`bEnabled`,bSpatialization:`bSpatialization`}},BotSpawn:{NAME:`Component_BotSpawn`,BRICK:`B_Bot_Spawn_Point`,BRICKS:[`B_Bot_Spawn_Point`],PORTS:{AggroRange:`AggroRange`,Agression:`Agression`,AttackDamageMultiplier:`AttackDamageMultiplier`,AttackMovementAmount:`AttackMovementAmount`,BotName:`BotName`,BotWeapon:`BotWeapon`,CorpseTimeout:`CorpseTimeout`,GunSkill:`GunSkill`,HealthMultiplier:`HealthMultiplier`,Jumpyness:`Jumpyness`,MoveTarget:`MoveTarget`,MoveTarget_X:`MoveTarget.X`,MoveTarget_Y:`MoveTarget.Y`,MoveTarget_Z:`MoveTarget.Z`,MovementAmount:`MovementAmount`,MovementGoalDummy:`MovementGoalDummy`,MovementRandomness:`MovementRandomness`,ReactionTime:`ReactionTime`,RespawnTime:`RespawnTime`,RunSpeed:`RunSpeed`,SkinDummy:`SkinDummy`,TeamCollisionChannel:`TeamCollisionChannel`,bActiveBot:`bActiveBot`,bBackVision:`bBackVision`,bCanJump:`bCanJump`,bCanTargetBots:`bCanTargetBots`,bCanTargetPlayers:`bCanTargetPlayers`,bDeleteBot:`bDeleteBot`,bSpawnEnable:`bSpawnEnable`,bTeamCollision:`bTeamCollision`,bTeamCollision1:`bTeamCollision1`,bTeamCollision2:`bTeamCollision2`,bTeamCollision3:`bTeamCollision3`,bVisionRaycasting:`bVisionRaycasting`,DistanceToTarget:`DistanceToTarget`,FocusCharacter:`FocusCharacter`,SpawnedCharacter:`SpawnedCharacter`}},BrickPropertyChanger:{NAME:`Component_BrickPropertyChanger`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Color:`Color`,Color_A:`Color.A`,Color_B:`Color.B`,Color_G:`Color.G`,Color_R:`Color.R`,MaterialAlpha:`MaterialAlpha`,bCollisionEnabled:`bCollisionEnabled`,bCollisionEnabled_Interaction:`bCollisionEnabled_Interaction`,bCollisionEnabled_Physics:`bCollisionEnabled_Physics`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,bCollisionEnabled_Weapon:`bCollisionEnabled_Weapon`,bVisibility:`bVisibility`}},Button:{NAME:`Component_Button`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{PressSound:`PressSound`,PromptCustomLabel:`PromptCustomLabel`,ReleaseSound:`ReleaseSound`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,Character:`Character`,PressCount:`PressCount`,bHeld:`bHeld`}},CheckPoint:{NAME:`Component_CheckPoint`,BRICK:`B_CheckPoint`,BRICKS:[`B_CheckPoint`],PORTS:{bRotatePlayerGravityOnSpawn:`bRotatePlayerGravityOnSpawn`}},Damage:{NAME:`Component_Damage`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{ConsoleTag:`ConsoleTag`,Message:`Message`}},GoalPoint:{NAME:`Component_GoalPoint`,BRICK:`B_GoalPoint`,BRICKS:[`B_GoalPoint`],PORTS:{}},Interact:{NAME:`Component_Interact`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{ConsoleTag:`ConsoleTag`,InteractSound:`InteractSound`,Message:`Message`,PromptCustomLabel:`PromptCustomLabel`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`}},AnimatedButton:{NAME:`Component_Internal_AnimatedButton`,BRICK:`B_Button`,BRICKS:[`B_Button`,`B_Button_Pressed`,`B_Button_Square`,`B_Button_Square_Pressed`],PORTS:{PressSound:`PressSound`,PromptCustomLabel:`PromptCustomLabel`,ReleaseSound:`ReleaseSound`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,Character:`Character`,PressCount:`PressCount`,bHeld:`bHeld`}},AnimatedPressurePlate:{NAME:`Component_Internal_AnimatedPressurePlate`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{BeginTouchSound:`BeginTouchSound`,EndTouchSound:`EndTouchSound`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,Character:`Character`,TouchCount:`TouchCount`,bTouching:`bTouching`}},AnimatedSwitch:{NAME:`Component_Internal_AnimatedSwitch`,BRICK:`B_Switch_Flipped`,BRICKS:[`B_Switch_Flipped`,`B_Switch_Test`],PORTS:{InteractSound:`InteractSound`,PromptCustomLabel:`PromptCustomLabel`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,Character:`Character`,bEnabled:`bEnabled`}},AttachedZone:{NAME:`Component_Internal_AttachedZone`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{ZoneEndDistance:`ZoneEndDistance`,ZoneStartDistance:`ZoneStartDistance`,bIsBuildingZone:`bIsBuildingZone`,bIsLooseZone:`bIsLooseZone`,bIsShareZone:`bIsShareZone`,OccupantCount:`OccupantCount`,ZoneRef:`ZoneRef`,bOccupied:`bOccupied`}},Bearing:{NAME:`Component_Internal_Bearing`,BRICK:`B_Joint_Bearing`,BRICKS:[`B_Joint_Bearing`,`B_Joint_Bearing_Micro`],PORTS:{Damping:`Damping`,LimitAngle:`LimitAngle`,bAnglesArePercentages:`bAnglesArePercentages`,bLimitAngle:`bLimitAngle`,CurrentAngle:`CurrentAngle`}},InputSplitter:{NAME:`Component_Internal_InputSplitter`,BRICK:`B_1x1_Gate_SeatControlSplitter`,BRICKS:[`B_1x1_Gate_SeatControlSplitter`],PORTS:{Character:`Character`,InputForward:`InputForward`,InputRight:`InputRight`,bPressedJump:`bPressedJump`}},Joint_Fixed:{NAME:`Component_Internal_Joint_Fixed`,BRICK:`B_Joint_Fixed`,BRICKS:[`B_Joint_Fixed`],PORTS:{LocationInterpMode:`LocationInterpMode`,LocationMaxSpeed:`LocationMaxSpeed`,LocationSmoothTime:`LocationSmoothTime`,OffsetLocation:`OffsetLocation`,OffsetLocation_X:`OffsetLocation.X`,OffsetLocation_Y:`OffsetLocation.Y`,OffsetLocation_Z:`OffsetLocation.Z`,OffsetRotation:`OffsetRotation`,OffsetRotation_Pitch:`OffsetRotation.Pitch`,OffsetRotation_Roll:`OffsetRotation.Roll`,OffsetRotation_Yaw:`OffsetRotation.Yaw`,RotationInterpMode:`RotationInterpMode`,RotationMaxSpeed:`RotationMaxSpeed`,RotationSmoothTime:`RotationSmoothTime`,bSettled:`bSettled`,bWelded:`bWelded`}},Joint_Wheel:{NAME:`Component_Internal_Joint_Wheel`,BRICK:`B_Joint_Wheel`,BRICKS:[`B_Joint_Wheel`,`B_Joint_Wheel_Micro`],PORTS:{Control_DriveAndSteer:`Control_DriveAndSteer`,Damping:`Damping`,DrivePower:`DrivePower`,DriveSpeed:`DriveSpeed`,JointDistance:`JointDistance`,Steer:`Steer`,SteerLimitDegree:`SteerLimitDegree`,SteerPower:`SteerPower`,SuspensionDamping:`SuspensionDamping`,SuspensionStiffness:`SuspensionStiffness`,bAllowEngineSteerCorrect:`bAllowEngineSteerCorrect`,bCanBrake:`bCanBrake`,bDriveWhenNotAttachedToEngine:`bDriveWhenNotAttachedToEngine`,bEnabled:`bEnabled`,bReversed:`bReversed`,bSteerEnabled:`bSteerEnabled`,bSuspensionEnabled:`bSuspensionEnabled`}},Joint_Wheel_Suspension:{NAME:`Component_Internal_Joint_Wheel_Suspension`,BRICK:`B_Joint_Wheel_Micro_Suspension`,BRICKS:[`B_Joint_Wheel_Micro_Suspension`,`B_Joint_Wheel_Suspension`],PORTS:{Control_DriveAndSteer:`Control_DriveAndSteer`,Damping:`Damping`,DrivePower:`DrivePower`,DriveSpeed:`DriveSpeed`,JointDistance:`JointDistance`,Steer:`Steer`,SteerLimitDegree:`SteerLimitDegree`,SteerPower:`SteerPower`,SuspensionBottomOffset:`SuspensionBottomOffset`,SuspensionDamping:`SuspensionDamping`,SuspensionStiffness:`SuspensionStiffness`,SuspensionTopOffset:`SuspensionTopOffset`,bAllowEngineSteerCorrect:`bAllowEngineSteerCorrect`,bCanBrake:`bCanBrake`,bDriveWhenNotAttachedToEngine:`bDriveWhenNotAttachedToEngine`,bEnabled:`bEnabled`,bReversed:`bReversed`,bSteerEnabled:`bSteerEnabled`,bSuspensionEnabled:`bSuspensionEnabled`}},Microchip:{NAME:`Component_Internal_Microchip`,BRICK:`B_1x1_Microchip`,BRICKS:[`B_1x1_Microchip`],PORTS:{}},Motor:{NAME:`Component_Internal_Motor`,BRICK:`B_Joint_Motor`,BRICKS:[`B_Joint_Motor`,`B_Joint_Motor_Micro`],PORTS:{Damping:`Damping`,LimitAngle:`LimitAngle`,Power:`Power`,Speed:`Speed`,bAnglesArePercentages:`bAnglesArePercentages`,bEnabled:`bEnabled`,bLimitAngle:`bLimitAngle`,CurrentAngle:`CurrentAngle`}},MotorSlider:{NAME:`Component_Internal_MotorSlider`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Damping:`Damping`,Power:`Power`,Speed:`Speed`,bEnabled:`bEnabled`,bPositionsArePercentages:`bPositionsArePercentages`,CurrentPosition:`CurrentPosition`}},Rerouter:{NAME:`Component_Internal_Rerouter`,BRICK:`B_1x1_Reroute_Node`,BRICKS:[`B_1x1_Reroute_Node`],PORTS:{RER_Input:`RER_Input`,RER_Output:`RER_Output`}},Seat:{NAME:`Component_Internal_Seat`,BRICK:`B_Seat`,BRICKS:[`B_Seat`],PORTS:{ExitOffset:`ExitOffset`,ExitOffset_X:`ExitOffset.X`,ExitOffset_Y:`ExitOffset.Y`,ExitOffset_Z:`ExitOffset.Z`,PromptCustomLabel:`PromptCustomLabel`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,bRollCameraInThirdPerson:`bRollCameraInThirdPerson`,SittingCharacter:`SittingCharacter`,bIsOccupied:`bIsOccupied`}},Servo:{NAME:`Component_Internal_Servo`,BRICK:`B_Joint_Servo`,BRICKS:[`B_Joint_Servo`,`B_Joint_Servo_Micro`],PORTS:{ActiveDamping:`ActiveDamping`,Damping:`Damping`,ForceLimit:`ForceLimit`,LimitAngle:`LimitAngle`,Power:`Power`,TargetAngle:`TargetAngle`,bAnglesArePercentages:`bAnglesArePercentages`,bEnabled:`bEnabled`,bLimitAngle:`bLimitAngle`,CurrentAngle:`CurrentAngle`,bStopped:`bStopped`}},ServoSlider:{NAME:`Component_Internal_ServoSlider`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Damping:`Damping`,Exponent:`Exponent`,Power:`Power`,TargetPosition:`TargetPosition`,TopSpeed:`TopSpeed`,bEnabled:`bEnabled`,bPositionsArePercentages:`bPositionsArePercentages`,CurrentPosition:`CurrentPosition`,bStopped:`bStopped`}},Slider:{NAME:`Component_Internal_Slider`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Damping:`Damping`,bPositionsArePercentages:`bPositionsArePercentages`,CurrentPosition:`CurrentPosition`}},Socket:{NAME:`Component_Internal_Socket`,BRICK:`B_Joint_Socket`,BRICKS:[`B_Joint_Socket`,`B_Joint_Socket_Micro`],PORTS:{}},Thruster:{NAME:`Component_Internal_Thruster`,BRICK:`B_2x2_Thruster`,BRICKS:[`B_2x2_Thruster`],PORTS:{Force:`Force`,Pitch:`Pitch`,Throttle:`Throttle`,Yaw:`Yaw`,bEnabled:`bEnabled`,bSpawnLight:`bSpawnLight`}},WeightBrick:{NAME:`Component_Internal_WeightBrick`,BRICK:`B_1x1_Gate_WeightBrick`,BRICKS:[`B_1x1_Gate_WeightBrick`],PORTS:{Mass:`Mass`,MassOffset:`MassOffset`,MassOffset_X:`MassOffset.X`,MassOffset_Y:`MassOffset.Y`,MassOffset_Z:`MassOffset.Z`,MassSize:`MassSize`,MassSize_X:`MassSize.X`,MassSize_Y:`MassSize.Y`,MassSize_Z:`MassSize.Z`}},WheelEngine:{NAME:`Component_Internal_WheelEngine`,BRICK:`B_1x1_Gate_WheelEngineSlim`,BRICKS:[`B_1x1_Gate_WheelEngineSlim`,`B_Vehicle_Engine`],PORTS:{AudioDescriptor:`AudioDescriptor`,CenterOfSteering:`CenterOfSteering`,Character:`Character`,CustomMass:`CustomMass`,CustomMassVerticalOffset:`CustomMassVerticalOffset`,DriveAcceleratingPowerMultiplier:`DriveAcceleratingPowerMultiplier`,DriveBrakingPowerMultiplier:`DriveBrakingPowerMultiplier`,DriveDampingMultiplier:`DriveDampingMultiplier`,DriveInterpSpeed:`DriveInterpSpeed`,DriveSpeed:`DriveSpeed`,ManualInput_Drive:`ManualInput_Drive`,ManualInput_Steer:`ManualInput_Steer`,SteerInterpSpeed:`SteerInterpSpeed`,SteerLimitDegree:`SteerLimitDegree`,SteerPowerMultiplier:`SteerPowerMultiplier`,TankSteerSpeedMultiplier:`TankSteerSpeedMultiplier`,WaterDriveForce:`WaterDriveForce`,WaterSteeringForce:`WaterSteeringForce`,bEnableManualControl:`bEnableManualControl`,bEnabled:`bEnabled`,bManualInput_Brake:`bManualInput_Brake`,bTankSteering:`bTankSteering`,Control_DriveAndSteer:`Control_DriveAndSteer`}},ItemSpawn:{NAME:`Component_ItemSpawn`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{DamageMultiplier:`DamageMultiplier`,ItemNameOverride:`ItemNameOverride`,PickupAnimationAxis:`PickupAnimationAxis`,PickupAnimationPhase:`PickupAnimationPhase`,PickupBobHeight:`PickupBobHeight`,PickupBobSpeed:`PickupBobSpeed`,PickupClass:`PickupClass`,PickupMeshColors:`PickupMeshColors`,PickupMinigameResetRespawnDelay:`PickupMinigameResetRespawnDelay`,PickupOffsetDirection:`PickupOffsetDirection`,PickupOffsetDistance:`PickupOffsetDistance`,PickupRespawnTime:`PickupRespawnTime`,PickupRotation:`PickupRotation`,PickupRotation_Pitch:`PickupRotation.Pitch`,PickupRotation_Roll:`PickupRotation.Roll`,PickupRotation_Yaw:`PickupRotation.Yaw`,PickupScale:`PickupScale`,PickupSpinSpeed:`PickupSpinSpeed`,ProjectileOverride:`ProjectileOverride`,WeaponSpeedMultiplier:`WeaponSpeedMultiplier`,bOverridePickupColors:`bOverridePickupColors`,bPickupAnimationAxisLocal:`bPickupAnimationAxisLocal`,bPickupAnimationEnabled:`bPickupAnimationEnabled`,bPickupAutoDisableOnPickup:`bPickupAutoDisableOnPickup`,bPickupEnabled:`bPickupEnabled`,bPickupRespawnOnMinigameReset:`bPickupRespawnOnMinigameReset`,bRenderTranslucentWhenDisabled:`bRenderTranslucentWhenDisabled`,bShowPickupEnabled:`bShowPickupEnabled`}},OneShotAudioEmitter:{NAME:`Component_OneShotAudioEmitter`,BRICK:`B_1x1_SoundEmitter`,BRICKS:[`B_1x1_SoundEmitter`],PORTS:{AudioDescriptor:`AudioDescriptor`,InnerRadius:`InnerRadius`,MaxDistance:`MaxDistance`,PitchMultiplier:`PitchMultiplier`,RepeatTime:`RepeatTime`,RepeatVariance:`RepeatVariance`,VolumeMultiplier:`VolumeMultiplier`,bEnableRepeat:`bEnableRepeat`,bPlay:`bPlay`,bSpatialization:`bSpatialization`}},PointLight:{NAME:`Component_PointLight`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Brightness:`Brightness`,Color:`Color`,Color_A:`Color.A`,Color_B:`Color.B`,Color_G:`Color.G`,Color_R:`Color.R`,Radius:`Radius`,bCastShadows:`bCastShadows`,bEnabled:`bEnabled`,bMatchBrickShape:`bMatchBrickShape`,bUseBrickColor:`bUseBrickColor`}},SpawnPoint:{NAME:`Component_SpawnPoint`,BRICK:`B_SpawnPoint`,BRICKS:[`B_SpawnPoint`],PORTS:{bEnable:`bEnable`,bRotatePlayerGravityOnSpawn:`bRotatePlayerGravityOnSpawn`}},SpotLight:{NAME:`Component_SpotLight`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Brightness:`Brightness`,Color:`Color`,Color_A:`Color.A`,Color_B:`Color.B`,Color_G:`Color.G`,Color_R:`Color.R`,InnerConeAngle:`InnerConeAngle`,OuterConeAngle:`OuterConeAngle`,Radius:`Radius`,Rotation:`Rotation`,Rotation_Pitch:`Rotation.Pitch`,Rotation_Roll:`Rotation.Roll`,Rotation_Yaw:`Rotation.Yaw`,bCastShadows:`bCastShadows`,bEnabled:`bEnabled`,bUseBrickColor:`bUseBrickColor`}},Switch:{NAME:`Component_Switch`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{InteractSound:`InteractSound`,PromptCustomLabel:`PromptCustomLabel`,bAllowNearbyInteraction:`bAllowNearbyInteraction`,bHiddenInteraction:`bHiddenInteraction`,Character:`Character`,bEnabled:`bEnabled`}},Target:{NAME:`Component_Target`,BRICK:`B_2x2F_Target`,BRICKS:[`B_2x2F_Target`],PORTS:{OnTime:`OnTime`,CharacterThatJustHit:`CharacterThatJustHit`,Damage:`Damage`,WeaponNameThatJustHit:`WeaponNameThatJustHit`,WeaponThatJustHit:`WeaponThatJustHit`,bJustHit:`bJustHit`}},TextDisplay:{NAME:`Component_TextDisplay`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{Anchor:`Anchor`,Anchor_X:`Anchor.X`,Anchor_Y:`Anchor.Y`,Billboard:`Billboard`,Color:`Color`,Color_A:`Color.A`,Color_B:`Color.B`,Color_G:`Color.G`,Color_R:`Color.R`,Face:`Face`,Font:`Font`,GraffitiAngleLimit:`GraffitiAngleLimit`,GraffitiDepthLimit:`GraffitiDepthLimit`,GraffitiLayer:`GraffitiLayer`,Kerning:`Kerning`,LineHeight:`LineHeight`,LineOffset:`LineOffset`,Material:`Material`,MaterialSlider:`MaterialSlider`,Offset:`Offset`,Offset_X:`Offset.X`,Offset_Y:`Offset.Y`,Offset_Z:`Offset.Z`,Outline:`Outline`,OutlineColor:`OutlineColor`,OutlineColor_A:`OutlineColor.A`,OutlineColor_B:`OutlineColor.B`,OutlineColor_G:`OutlineColor.G`,OutlineColor_R:`OutlineColor.R`,OutlineWidth:`OutlineWidth`,Rotation:`Rotation`,ScuffWidth:`ScuffWidth`,Shading:`Shading`,ShadingWidth:`ShadingWidth`,Skew:`Skew`,Text:`Text`,Typeface:`Typeface`,bAlignToWedge:`bAlignToWedge`,bEnabled:`bEnabled`,bFlipShading:`bFlipShading`,bForeground:`bForeground`,bOverrideColor:`bOverrideColor`,bOverrideOutlineColor:`bOverrideOutlineColor`,bSharpCorners:`bSharpCorners`,bSharpOutlines:`bSharpOutlines`}},Touch:{NAME:`Component_Touch`,BRICK:`B_1x1F_Round`,BRICKS:[`B_1x1F_Round`],PORTS:{BeginTouchSound:`BeginTouchSound`,EndTouchSound:`EndTouchSound`,bCollisionEnabled_Player:`bCollisionEnabled_Player`,bCollisionEnabled_Player1:`bCollisionEnabled_Player1`,bCollisionEnabled_Player2:`bCollisionEnabled_Player2`,bCollisionEnabled_Player3:`bCollisionEnabled_Player3`,Character:`Character`,TouchCount:`TouchCount`,bTouching:`bTouching`}},PlayAudioAt:{NAME:`Component_WireGraph_PlayAudioAt`,BRICK:`B_1x1_Gate_Exec_Entity_PlayAudioAt`,BRICKS:[`B_1x1_Gate_Exec_Entity_PlayAudioAt`],PORTS:{Entity:`Entity`,Exec:`Exec`,InnerRadius:`InnerRadius`,MaxDistance:`MaxDistance`,PitchMultiplier:`PitchMultiplier`,VolumeMultiplier:`VolumeMultiplier`,bSpatialization:`bSpatialization`,ExecOut:`ExecOut`}},SetInventoryEntry:{NAME:`Component_WireGraph_SetInventoryEntry`,BRICK:`B_1x1_Gate_Exec_Character_SetInventoryEntry`,BRICKS:[`B_1x1_Gate_Exec_Character_SetInventoryEntry`],PORTS:{Character:`Character`,Exec:`Exec`,Slot:`Slot`,ExecOut:`ExecOut`}}},oa={A:4294967295,B:4294967295,C:4294967295,D:4294967295};function sa(e){let t=tr(e),n=new DataView(t.buffer,t.byteOffset,16);return{A:n.getUint32(0,!1),B:n.getUint32(4,!1),C:n.getUint32(8,!1),D:n.getUint32(12,!1)}}function ca(e){let t=new Uint8Array(16),n=new DataView(t.buffer);return n.setUint32(0,e.A,!1),n.setUint32(4,e.B,!1),n.setUint32(8,e.C,!1),n.setUint32(12,e.D,!1),er(Array.from(t))}var la=e=>({type:`folder`,children:e}),X=e=>({type:`file`,content:e}),ua=n({mpArrayHeader:()=>Sa,mpBinHeader:()=>xa,mpBool:()=>ha,mpF32:()=>ya,mpF64:()=>ba,mpInt:()=>va,mpMapHeader:()=>Ca,mpNil:()=>ma,mpStr:()=>Z,mpU8:()=>ga,mpUint:()=>_a,rdArrayLen:()=>Pa,rdBinLen:()=>Na,rdBool:()=>Ma,rdF32:()=>Aa,rdF64:()=>ja,rdInt:()=>Oa,rdMapLen:()=>Fa,rdNil:()=>Ia,rdStr:()=>Q,rdUint:()=>ka}),da=new TextEncoder,fa=new TextDecoder(`utf-8`,{fatal:!0}),pa=(e,t)=>{if(!Number.isSafeInteger(e))throw RangeError(`brdb: ${t} ${e} is not a safe integer`)},ma=e=>e.u8(192),ha=(e,t)=>e.u8(t?195:194);function ga(e,t){if(t<0||t>255||!Number.isInteger(t))throw RangeError(`brdb: u8 value out of range: ${t}`);t<=127||t>224||e.u8(208),e.u8(t)}function _a(e,t){if(pa(t,`uint`),t<0)throw RangeError(`brdb: uint value negative: ${t}`);t<=127?e.u8(t):t<=255?(e.u8(204),e.u8(t)):t<=65535?(e.u8(205),e.u16be(t)):t<=4294967295?(e.u8(206),e.u32be(t)):(e.u8(207),e.u64be(BigInt(t)))}function va(e,t){pa(t,`int`),t>=0?t<128?e.u8(t):t<=32767?(e.u8(209),e.i16be(t)):t<=2147483647?(e.u8(210),e.i32be(t)):(e.u8(211),e.i64be(BigInt(t))):t>-32?e.u8(256+t):t>=-128?(e.u8(208),e.i8(t)):t>=-32768?(e.u8(209),e.i16be(t)):t>=-2147483648?(e.u8(210),e.i32be(t)):(e.u8(211),e.i64be(BigInt(t)))}function ya(e,t){t===Math.round(t)&&t<65535&&t>-32768?va(e,t===0?0:t):(e.u8(202),e.f32be(t))}function ba(e,t){t===Math.round(t)&&t<4294967295&&t>-2147483648?va(e,t===0?0:t):(e.u8(203),e.f64be(t))}function Z(e,t){let n=da.encode(t),r=n.length;r<32?e.u8(160|r):r<256?(e.u8(217),e.u8(r)):r<=65535?(e.u8(218),e.u16be(r)):(e.u8(219),e.u32be(r)),e.bytes(n)}function xa(e,t){t<256?(e.u8(196),e.u8(t)):t<=65535?(e.u8(197),e.u16be(t)):(e.u8(198),e.u32be(t))}function Sa(e,t){t<16?e.u8(144|t):t<=65535?(e.u8(220),e.u16be(t)):(e.u8(221),e.u32be(t))}function Ca(e,t){t<16?e.u8(128|t):t<=65535?(e.u8(222),e.u16be(t)):(e.u8(223),e.u32be(t))}var wa=e=>{if(e>BigInt(2**53-1)||e<BigInt(-(2**53-1)))throw RangeError(`brdb: 64-bit value ${e} exceeds JS safe integer range`);return Number(e)},Ta=(e,t)=>{throw TypeError(`brdb: unexpected marker 0x${e.toString(16)} for ${t}`)},Ea=e=>(e&128)==0,Da=e=>(e&224)==224;function Oa(e){let t=e.u8();if(Ea(t))return t;if(Da(t))return t-256;switch(t){case 204:return e.u8();case 205:return e.u16be();case 206:return e.u32be();case 207:return wa(e.u64be());case 208:return e.i8();case 209:return e.i16be();case 210:return e.i32be();case 211:return wa(e.i64be());default:return Ta(t,`integer`)}}function ka(e){let t=e.u8();if(Ea(t)||Da(t))return t;switch(t){case 204:case 208:return e.u8();case 205:return e.u16be();case 206:return e.u32be();case 207:return wa(e.u64be());default:return Ta(t,`uint`)}}function Aa(e){let t=e.u8();if(Ea(t))return t;if(Da(t))return t-256;switch(t){case 204:return e.u8();case 205:return e.u16be();case 208:return e.i8();case 209:return e.i16be();case 202:return e.f32be();default:return Ta(t,`float32`)}}function ja(e){let t=e.u8();if(Ea(t))return t;if(Da(t))return t-256;switch(t){case 204:return e.u8();case 205:return e.u16be();case 206:return e.u32be();case 208:return e.i8();case 209:return e.i16be();case 210:return e.i32be();case 202:return e.f32be();case 203:return e.f64be();default:return Ta(t,`float64`)}}function Ma(e){let t=e.u8();return t===195?!0:t===194?!1:Ta(t,`bool`)}function Q(e){let t=e.u8(),n;if((t&224)==160)n=t&31;else if(t===217)n=e.u8();else if(t===218)n=e.u16be();else if(t===219)n=e.u32be();else return Ta(t,`str`);return fa.decode(e.bytes(n))}function Na(e){let t=e.u8();return t===196?e.u8():t===197?e.u16be():t===198?e.u32be():Ta(t,`bin`)}function Pa(e){let t=e.u8();return(t&240)==144?t&15:t===220?e.u16be():t===221?e.u32be():Ta(t,`array`)}function Fa(e){let t=e.u8();return(t&240)==128?t&15:t===222?e.u16be():t===223?e.u32be():Ta(t,`map`)}function Ia(e){let t=e.u8();t!==192&&Ta(t,`nil`)}var La=e=>e.replace(/\/\*[\s\S]*?\*\//g,` `).replace(/\/\/[^\n]*/g,` `).replace(/#[^\n]*/g,` `),Ra=String.raw`[A-Za-z_]\w*(?:::\w+)*`;function za(e){let t=e.replace(/_/g,``);return t.startsWith(`0b`)?parseInt(t.slice(2),2):t.startsWith(`0x`)?parseInt(t.slice(2),16):parseInt(t,10)}function Ba(e){let t=La(e),n=new Map,r=new Map,i=new Map,a=/\b(enum|variant|struct)\s+([A-Za-z0-9_]+)\s*\{([^{}]*)\}/g,o=new RegExp(String.raw`^(${Ra})\s*=\s*(-?\d+(?:_\d+)*|0b[01]+(?:_[01]+)*|0x[0-9a-fA-F]+(?:_[0-9a-fA-F]+)*)$`),s=new RegExp(String.raw`^${Ra}$`),c=new RegExp(String.raw`^(\w+)\s*:\s*(\w+)\s*(\[\s*(flat)?\s*\])?$`),l=0,u;for(;u=a.exec(t);){if(t.slice(l,u.index).trim()!==``)throw Error(`brdb: unexpected schema text before ${u[2]}`);l=a.lastIndex;let[,e,d,f]=u,p=f.split(`,`).map(e=>e.trim()).filter(e=>e!==``);if(e===`enum`){let e=new Map;for(let t of p){let n=o.exec(t);if(!n)throw Error(`brdb: cannot parse enum entry '${t}' in ${d}`);e.set(n[1],za(n[2]))}n.set(d,e)}else if(e===`variant`){let e=[];for(let t of p){if(!s.test(t))throw Error(`brdb: cannot parse variant member '${t}' in ${d}`);e.push(t)}r.set(d,e)}else{let e=new Map;for(let t of p){let n=c.exec(t);if(!n)throw Error(`brdb: cannot parse struct property '${t}' in ${d}`);let[,r,i,a,o]=n;e.set(r,a?{kind:o?`flatarray`:`array`,type:i}:{kind:`type`,type:i})}i.set(d,e)}}if(t.slice(l).trim()!==``)throw Error(`brdb: trailing unparsed schema text`);return{enums:n,variants:r,structs:i}}var Va={BRSavedGlobalDataSoA:{enums:{},variants:{},structs:{BRSavedPrimaryAssetId:{PrimaryAssetType:`str`,PrimaryAssetName:`str`},BRSavedGlobalDataSoA:{EntityTypeNames:[`str`],EntityDataClassNames:[`str`],BasicBrickAssetNames:[`str`],ProceduralBrickAssetNames:[`str`],MaterialAssetNames:[`str`],ComponentTypeNames:[`str`],ComponentDataStructNames:[`str`],ComponentWirePortNames:[`str`],ExternalAssetReferences:[`BRSavedPrimaryAssetId`],GlobalGridEntityTypeIndex:`i32`}}},BRSavedOwnerTableSoA:{enums:{},variants:{},structs:{BRGuid:{A:`u32`,B:`u32`,C:`u32`,D:`u32`},BRSavedOwnerTableSoA:{UserIds:[`BRGuid`,null],UserNames:[`str`],DisplayNames:[`str`],EntityCounts:[`u32`],BrickCounts:[`u32`],ComponentCounts:[`u32`],WireCounts:[`u32`]}}},BRSavedBrickChunkIndexSoA:{enums:{},variants:{},structs:{BRSavedChunk3DIndex:{X:`i16`,Y:`i16`,Z:`i16`},IntVector:{X:`i32`,Y:`i32`,Z:`i32`},BRSavedBrickChunkIndexSoA:{Chunk3DIndices:[`BRSavedChunk3DIndex`],ChunkOffsets:[`IntVector`],ChunkSizes:[`i32`],NumBricks:[`u32`],NumComponents:[`u32`],NumWires:[`u32`]}}},BRSavedBrickChunkSoA:{enums:{},variants:{},structs:{BRSavedBitFlags:{Flags:[`u8`,null]},BRSavedBrickColor:{R:`u8`,G:`u8`,B:`u8`,A:`u8`},BRSavedBrickSize:{X:`u16`,Y:`u16`,Z:`u16`},BRSavedBrickSizeCounter:{AssetIndex:`u32`,NumSizes:`u32`},BRSavedRelativeBrickPosition:{X:`i16`,Y:`i16`,Z:`i16`},BRSavedBrickChunkSoA:{ProceduralBrickStartingIndex:`u32`,BrickSizeCounters:[`BRSavedBrickSizeCounter`],BrickSizes:[`BRSavedBrickSize`],BrickTypeIndices:[`u32`],OwnerIndices:[`u32`],OriginalOwnerIndices:[`u32`],RelativePositions:[`BRSavedRelativeBrickPosition`,null],Orientations:[`u8`,null],CollisionFlags_Player:`BRSavedBitFlags`,CollisionFlags_Player1:`BRSavedBitFlags`,CollisionFlags_Player2:`BRSavedBitFlags`,CollisionFlags_Player3:`BRSavedBitFlags`,CollisionFlags_Weapon:`BRSavedBitFlags`,CollisionFlags_Interaction:`BRSavedBitFlags`,CollisionFlags_Physics:`BRSavedBitFlags`,VisibilityFlags:`BRSavedBitFlags`,MaterialIndices:[`u8`,null],ColorsAndAlphas:[`BRSavedBrickColor`,null],bColorsAreLinear:`bool`}}},BRSavedWireChunkSoA:{enums:{},variants:{},structs:{BRSavedBitFlags:{Flags:[`u8`,null]},BRSavedChunk3DIndex:{X:`i16`,Y:`i16`,Z:`i16`},BRSavedLocalWirePortSource:{BrickIndexInChunk:`u32`,ComponentTypeIndex:`u16`,PortIndex:`u16`},BRSavedWirePortTarget:{BrickIndexInChunk:`u32`,ComponentTypeIndex:`u16`,PortIndex:`u16`},BRSavedRemoteWirePortSource:{GridPersistentIndex:`u32`,ChunkIndex:`BRSavedChunk3DIndex`,BrickIndexInChunk:`u32`,ComponentTypeIndex:`u16`,PortIndex:`u16`},BRSavedWireChunkSoA:{RemoteWireSources:[`BRSavedRemoteWirePortSource`],LocalWireSources:[`BRSavedLocalWirePortSource`],RemoteWireTargets:[`BRSavedWirePortTarget`],LocalWireTargets:[`BRSavedWirePortTarget`],PendingPropagationFlags:`BRSavedBitFlags`}}},BRSavedComponentChunkSoA:{enums:{},variants:{},structs:{BRSavedBrickComponentTypeCounter:{TypeIndex:`u32`,NumInstances:`u32`},Quat4f:{X:`f32`,Y:`f32`,Z:`f32`,W:`f32`},Vector3f:{X:`f32`,Y:`f32`,Z:`f32`},BRSavedComponentChunkSoA:{ComponentTypeCounters:[`BRSavedBrickComponentTypeCounter`],ComponentBrickIndices:[`u32`],JointBrickIndices:[`u32`],JointEntityReferences:[`u32`],JointInitialRelativeOffsets:[`Vector3f`,null],JointInitialRelativeRotations:[`Quat4f`,null],MicrochipBrickIndices:[`u32`],MicrochipBrickGridReferences:[`u32`]}}},BRSavedComponentChunkSoA_max:{enums:{EBRColorSpace:{"EBRColorSpace::Linear":0,"EBRColorSpace::Srgb":1,"EBRColorSpace::Oklab":2,"EBRColorSpace::Hsv":3,"EBRColorSpace::EBRColorSpace_MAX":4},EBRDisplayTextEasing:{"EBRDisplayTextEasing::Linear":0,"EBRDisplayTextEasing::EaseIn":1,"EBRDisplayTextEasing::EaseOut":2,"EBRDisplayTextEasing::EaseInOut":3,"EBRDisplayTextEasing::EBRDisplayTextEasing_MAX":4},EBRDisplayTextJustification:{"EBRDisplayTextJustification::Left":0,"EBRDisplayTextJustification::Center":1,"EBRDisplayTextJustification::Right":2,"EBRDisplayTextJustification::EBRDisplayTextJustification_MAX":3},EBREasingDirection:{"EBREasingDirection::In":0,"EBREasingDirection::Out":1,"EBREasingDirection::InOut":2,"EBREasingDirection::EBREasingDirection_MAX":3},EBREasingFunction:{"EBREasingFunction::Linear":0,"EBREasingFunction::Sine":1,"EBREasingFunction::Quad":2,"EBREasingFunction::Cubic":3,"EBREasingFunction::Quart":4,"EBREasingFunction::Quint":5,"EBREasingFunction::Expo":6,"EBREasingFunction::Circ":7,"EBREasingFunction::Back":8,"EBREasingFunction::Elastic":9,"EBREasingFunction::Bounce":10,"EBREasingFunction::EBREasingFunction_MAX":11},EBrickAxis:{"EBrickAxis::X":0,"EBrickAxis::Y":1,"EBrickAxis::Z":2,"EBrickAxis::MAX":3},EBrickDirection:{"EBrickDirection::X_Positive":0,"EBrickDirection::X_Negative":1,"EBrickDirection::Y_Positive":2,"EBrickDirection::Y_Negative":3,"EBrickDirection::Z_Positive":4,"EBrickDirection::Z_Negative":5,"EBrickDirection::MAX":6},EBrickMaterial:{"EBrickMaterial::Plastic":0,"EBrickMaterial::Glass":1,"EBrickMaterial::TranslucentPlastic":2,"EBrickMaterial::Glow":3,"EBrickMaterial::Metal":4,"EBrickMaterial::Hologram":5,"EBrickMaterial::EBrickMaterial_MAX":6},EBrickRigidJointInterpMode:{"EBrickRigidJointInterpMode::Snap":0,"EBrickRigidJointInterpMode::Linear":1,"EBrickRigidJointInterpMode::Smooth":2,"EBrickRigidJointInterpMode::EBrickRigidJointInterpMode_MAX":3},EBRInventoryEntryPlanType:{"EBRInventoryEntryPlanType::Nothing":0,"EBRInventoryEntryPlanType::Brick":1,"EBRInventoryEntryPlanType::Entity":2,"EBRInventoryEntryPlanType::Item":3,"EBRInventoryEntryPlanType::EBRInventoryEntryPlanType_MAX":4},EBRPawnCollisionChannel:{"EBRPawnCollisionChannel::Channel1":0,"EBRPawnCollisionChannel::Channel2":1,"EBRPawnCollisionChannel::Channel3":2,"EBRPawnCollisionChannel::Channel4":3,"EBRPawnCollisionChannel::EBRPawnCollisionChannel_MAX":4},EBRTextFacing:{"EBRTextFacing::None":0,"EBRTextFacing::Full":1,"EBRTextFacing::InPlane":2,"EBRTextFacing::EBRTextFacing_MAX":3},EBRTextMaterial:{"EBRTextMaterial::Unlit":0,"EBRTextMaterial::Graffiti":1,"EBRTextMaterial::Plastic":2,"EBRTextMaterial::Metallic":3,"EBRTextMaterial::Glow":4,"EBRTextMaterial::TranslucentPlastic":5,"EBRTextMaterial::Glass":6,"EBRTextMaterial::EBRTextMaterial_MAX":7},EBRTextOutline:{"EBRTextOutline::None":0,"EBRTextOutline::Inlined":1,"EBRTextOutline::Outlined":2,"EBRTextOutline::HollowInlined":3,"EBRTextOutline::HollowOutlined":4,"EBRTextOutline::EBRTextOutline_MAX":5},EBRTextShading:{"EBRTextShading::None":0,"EBRTextShading::Chamfer":1,"EBRTextShading::Fillet":2,"EBRTextShading::DoubleChamfer":3,"EBRTextShading::DoubleFillet":4,"EBRTextShading::Rounded":5,"EBRTextShading::EBRTextShading_MAX":6},EBRTextTypeface:{"EBRTextTypeface::Regular":0,"EBRTextTypeface::Bold":1,"EBRTextTypeface::Italic":2,"EBRTextTypeface::BoldItalic":3,"EBRTextTypeface::EBRTextTypeface_MAX":4},EProjectileSpawnLocation:{"EProjectileSpawnLocation::FaceCenter":0,"EProjectileSpawnLocation::RandomPointInFace":1,"EProjectileSpawnLocation::EProjectileSpawnLocation_MAX":2}},variants:{WireGraphArrayVariant:[`WireGraphDoubleArray`,`WireGraphInt64Array`,`WireGraphBoolArray`,`WireGraphObjectArray`,`WireGraphVectorArray`,`WireGraphRotatorArray`,`WireGraphQuatArray`,`WireGraphStringArray`,`WireGraphLinearColorArray`,`WireGraphEnumArrayWrapper`],WireGraphEnumArrayVariant:[`WireGraphEnumArray_EBrickDirection`,`WireGraphEnumArray_EBrickAxis`,`WireGraphEnumArray_EBRPawnCollisionChannel`,`WireGraphEnumArray_EBRTextShading`,`WireGraphEnumArray_EBRTextOutline`,`WireGraphEnumArray_EBRTextMaterial`,`WireGraphEnumArray_EBRTextTypeface`,`WireGraphEnumArray_EBRTextFacing`,`WireGraphEnumArray_EBREasingFunction`,`WireGraphEnumArray_EBREasingDirection`,`WireGraphEnumArray_EBRColorSpace`,`WireGraphEnumArray_EProjectileSpawnLocation`,`WireGraphEnumArray_EBrickRigidJointInterpMode`,`WireGraphEnumArray_EBRDisplayTextJustification`,`WireGraphEnumArray_EBRDisplayTextEasing`,`WireGraphEnumArray_EBrickMaterial`],WireGraphEnumVariant:[`EBrickDirection`,`EBrickAxis`,`EBrickMaterial`,`EBRPawnCollisionChannel`,`EBRTextShading`,`EBRTextOutline`,`EBRTextMaterial`,`EBRTextTypeface`,`EBRTextFacing`,`EBREasingFunction`,`EBREasingDirection`,`EBRColorSpace`,`EProjectileSpawnLocation`,`EBrickRigidJointInterpMode`,`EBRDisplayTextJustification`,`EBRDisplayTextEasing`],WireGraphPrimMathVariant:[`f64`,`i64`,`Vector`,`Rotator`,`Quat`,`LinearColor`],WireGraphVariant:[`f64`,`i64`,`bool`,`weak_object`,`WireGraphExec`,`Vector`,`Rotator`,`Quat`,`str`,`LinearColor`,`WireGraphEnumWrapper`]},structs:{BrickComponentData_AudioEmitter:{bEnabled:`bool`,AudioDescriptor:`object`,VolumeMultiplier:`f32`,PitchMultiplier:`f32`,InnerRadius:`f32`,MaxDistance:`f32`,bSpatialization:`bool`,FocusAzimuth:`f32`,NonFocusAzimuth:`f32`,NonFocusVolumeAttenuation:`f32`},BrickComponentData_Bearing:{bLimitAngle:`bool`,LimitAngle:`f32`,bAnglesArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_Button:{PressSound:`object`,ReleaseSound:`object`,bAllowNearbyInteraction:`bool`,bHiddenInteraction:`bool`,PromptCustomLabel:`str`},BrickComponentData_CheckPoint:{bRotatePlayerGravityOnSpawn:`bool`},BrickComponentData_Damage:{Damage:`f32`,RepeatDelay:`f32`,Message:`str`,ConsoleTag:`str`},BrickComponentData_Interact:{InteractSound:`object`,Message:`str`,ConsoleTag:`str`,bAllowNearbyInteraction:`bool`,bHiddenInteraction:`bool`,PromptCustomLabel:`str`},BrickComponentData_Internal_AttachedZone:{ZoneStartDistance:`i32`,ZoneEndDistance:`i32`,bIsBuildingZone:`bool`,bIsLooseZone:`bool`,bIsShareZone:`bool`,bDetectPlayers:`bool`,bDetectPlayers1:`bool`,bDetectPlayers2:`bool`,bDetectPlayers3:`bool`,bDetectEntities:`bool`,bDetectProjectiles:`bool`,TagFilter:`str`},BrickComponentData_Internal_CharacterZoneEvent:{bCollisionEnabled_Player:`bool`,bCollisionEnabled_Player1:`bool`,bCollisionEnabled_Player2:`bool`,bCollisionEnabled_Player3:`bool`},BrickComponentData_Internal_EntityZoneEvent:{},BrickComponentData_Internal_InputSplitter_V2:{},BrickComponentData_Internal_Microchip:{},BrickComponentData_Internal_MicrochipInput:{PortLabel:`str`},BrickComponentData_Internal_MicrochipOutput:{PortLabel:`str`},BrickComponentData_Internal_ProjectileZoneEvent:{},BrickComponentData_Internal_ReadBrickGrid:{},BrickComponentData_Internal_ZoneEvent:{},BrickComponentData_Motor:{bEnabled:`bool`,Speed:`f32`,Power:`f32`,bLimitAngle:`bool`,LimitAngle:`f32`,bAnglesArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_MotorSlider:{bEnabled:`bool`,Speed:`f32`,Power:`f32`,bPositionsArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_OneShotAudioEmitter:{AudioDescriptor:`object`,VolumeMultiplier:`f32`,PitchMultiplier:`f32`,InnerRadius:`f32`,MaxDistance:`f32`,bSpatialization:`bool`,bEnableRepeat:`bool`,RepeatTime:`f32`,RepeatVariance:`f32`,RepeatCount:`i32`},BrickComponentData_ProjectileSpawner:{ProjectileClass:`class`,FireSound:`object`,Direction:`EBrickDirection`,SpawnLocation:`EProjectileSpawnLocation`,SpawnMargin:`f32`,bEnabled:`bool`,NumberOfShots:`i32`,SpreadConeAngle:`f32`,bSpreadBiasedTowardsCenter:`bool`,FireRate:`f32`,DamageMultiplier:`f32`,SpeedMultiplier:`f32`,ScaleMultiplier:`f32`},BrickComponentData_Rerouter:{},BrickComponentData_RigidBearing:{TargetAngle:`f32`,bAnglesArePercentages:`bool`,bReversed:`bool`,InterpMode:`EBrickRigidJointInterpMode`,SmoothTime:`f32`,TopSpeed:`f32`},BrickComponentData_RigidSlider:{TargetPosition:`f32`,bPositionsArePercentages:`bool`,bReversed:`bool`,InterpMode:`EBrickRigidJointInterpMode`,SmoothTime:`f32`,TopSpeed:`f32`},BrickComponentData_Servo:{bEnabled:`bool`,TargetAngle:`f32`,Power:`f32`,ActiveDamping:`f32`,ForceLimit:`f32`,bLimitAngle:`bool`,LimitAngle:`f32`,bAnglesArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_ServoSlider:{bEnabled:`bool`,TargetPosition:`f32`,Power:`f32`,TopSpeed:`f32`,Exponent:`f32`,bPositionsArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_Slider:{bPositionsArePercentages:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_SpawnPoint:{bRotatePlayerGravityOnSpawn:`bool`,bEnable:`bool`},BrickComponentData_Switch:{bEnabled:`bool`,InteractSound:`object`,bAllowNearbyInteraction:`bool`,bHiddenInteraction:`bool`,PromptCustomLabel:`str`},BrickComponentData_Target:{OnTime:`f32`},BrickComponentData_TeleportDestination:{},BrickComponentData_Thruster:{bEnabled:`bool`,Force:`f32`,Throttle:`f32`,Pitch:`f32`,Yaw:`f32`,bSpawnLight:`bool`},BrickComponentData_Touch:{BeginTouchSound:`object`,EndTouchSound:`object`,bCollisionEnabled_Player:`bool`,bCollisionEnabled_Player1:`bool`,bCollisionEnabled_Player2:`bool`,bCollisionEnabled_Player3:`bool`},BrickComponentData_WireGraph_AudioReference:{Asset:`object`},BrickComponentData_WireGraph_BrickAssetReference:{Asset:`object`},BrickComponentData_WireGraph_DeltaTime:{},BrickComponentData_WireGraph_EntityTypeReference:{Asset:`class`},BrickComponentData_WireGraph_Exec_ArrayVar_Average:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Base:{},BrickComponentData_WireGraph_Exec_ArrayVar_DualRef:{},BrickComponentData_WireGraph_Exec_ArrayVar_ElementOp:{Index:`i64`,Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Find:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Get:{Index:`i64`,Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_GetLength:{},BrickComponentData_WireGraph_Exec_ArrayVar_Insert:{Index:`i64`,Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_MinMax:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Pop:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Push:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_RemoveAtIndex:{Index:`i64`},BrickComponentData_WireGraph_Exec_ArrayVar_Resize:{Size:`i64`,Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Slice:{Start:`i64`,Count:`i64`},BrickComponentData_WireGraph_Exec_ArrayVar_Sort:{bDescending:`bool`},BrickComponentData_WireGraph_Exec_ArrayVar_Sum:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_ArrayVar_Swap:{IndexA:`i64`,IndexB:`i64`},BrickComponentData_WireGraph_Exec_Character_AddInventoryEntity:{},BrickComponentData_WireGraph_Exec_Character_AddInventoryItem:{},BrickComponentData_WireGraph_Exec_Character_GetAim:{},BrickComponentData_WireGraph_Exec_Character_GetDamage:{},BrickComponentData_WireGraph_Exec_Character_GetFromController:{},BrickComponentData_WireGraph_Exec_Character_IncDamage:{Amount:`f64`},BrickComponentData_WireGraph_Exec_Character_SetDamage:{Damage:`f64`},BrickComponentData_WireGraph_Exec_Character_SetInventoryEntity:{Slot:`i32`},BrickComponentData_WireGraph_Exec_Character_SetInventoryItem:{Slot:`i32`},BrickComponentData_WireGraph_Exec_Character_SetTempPermission:{PermissionTagStr:`str`,bPermissionEnable:`bool`},BrickComponentData_WireGraph_Exec_Character_ShowHint:{HintTitle:`str`,HintText:`str`},BrickComponentData_WireGraph_Exec_ChatCommand:{CommandName:`str`,HelpText:`str`},BrickComponentData_WireGraph_Exec_Controller_GetDisplayName:{},BrickComponentData_WireGraph_Exec_Controller_GetFromEntity:{},BrickComponentData_WireGraph_Exec_Controller_GetUserId:{},BrickComponentData_WireGraph_Exec_Controller_GetUserName:{},BrickComponentData_WireGraph_Exec_Controller_HasPermission:{PermissionName:`str`},BrickComponentData_WireGraph_Exec_Controller_HasRole:{RoleName:`str`},BrickComponentData_WireGraph_Exec_Controller_IsTrustedByBrickOwner:{},BrickComponentData_WireGraph_Exec_Controller_SetCanRespawn:{bCanRespawn:`bool`},BrickComponentData_WireGraph_Exec_Controller_ShowChatMessage:{Message:`str`},BrickComponentData_WireGraph_Exec_Controller_ShowStatusMessage:{},BrickComponentData_WireGraph_Exec_Cycle:{Count:`i64`,Value:`i64`},BrickComponentData_WireGraph_Exec_Entity_GetAngularVelocity:{},BrickComponentData_WireGraph_Exec_Entity_GetLinearVelocity:{},BrickComponentData_WireGraph_Exec_Entity_GetLocation:{},BrickComponentData_WireGraph_Exec_Entity_GetLocationRotation:{},BrickComponentData_WireGraph_Exec_Entity_GetRotation:{},BrickComponentData_WireGraph_Exec_Entity_GetTag:{},BrickComponentData_WireGraph_Exec_Entity_GetVelocity:{},BrickComponentData_WireGraph_Exec_Entity_PlayAudioAt:{AudioDescriptor:`object`,VolumeMultiplier:`f32`,PitchMultiplier:`f32`,InnerRadius:`f32`,MaxDistance:`f32`,bSpatialization:`bool`},BrickComponentData_WireGraph_Exec_Entity_SetFrozen:{bFrozen:`bool`},BrickComponentData_WireGraph_Exec_Entity_SetTag:{Tag:`str`},BrickComponentData_WireGraph_Exec_Gamemode_BroadcastChatMessage:{Message:`str`},BrickComponentData_WireGraph_Exec_Gamemode_BroadcastStatusMessage:{Message:`str`,bFlashIfUnchanged:`bool`},BrickComponentData_WireGraph_Exec_Gamemode_FillArrayFromTeamMembers:{},BrickComponentData_WireGraph_Exec_Gamemode_GetCurrentRound:{},BrickComponentData_WireGraph_Exec_Gamemode_GetLeaderboardValue:{Key:`str`},BrickComponentData_WireGraph_Exec_Gamemode_GetTeam:{},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamByName:{TeamName:`str`},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamLeaderboardValue:{Key:`str`},BrickComponentData_WireGraph_Exec_Gamemode_GetTeamName:{},BrickComponentData_WireGraph_Exec_Gamemode_LeaderboardValue:{Key:`str`,Value:`i64`},BrickComponentData_WireGraph_Exec_Gamemode_PlayerWins:{bTeamWinsInstead:`bool`},BrickComponentData_WireGraph_Exec_Gamemode_SetTeam:{bPinPlayerToTeam:`bool`},BrickComponentData_WireGraph_Exec_Gamemode_SetTeamPinned:{bPinned:`bool`},BrickComponentData_WireGraph_Exec_Gamemode_TeamLeaderboardValue:{Key:`str`,Value:`i64`},BrickComponentData_WireGraph_Exec_Gamemode_TeamWins:{},BrickComponentData_WireGraph_Exec_PlayGlobalAudio:{AudioDescriptor:`object`,VolumeMultiplier:`f32`,PitchMultiplier:`f32`},BrickComponentData_WireGraph_Exec_PrintToConsole:{Text:`str`},BrickComponentData_WireGraph_Exec_Random:{Min:`WireGraphPrimMathVariant`,Max:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Exec_Toggle:{Value:`bool`},BrickComponentData_WireGraph_Exec_Var_EditOrGet:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_Exec_Var_Get:{Value:`WireGraphVariant`},BrickComponentData_WireGraph_ExecBranch:{bCond:`bool`},BrickComponentData_WireGraph_ExecUnion:{},BrickComponentData_WireGraph_Expr_Bool_Bool:{bInput:`bool`},BrickComponentData_WireGraph_Expr_BoolBool_Bool:{bInputA:`bool`,bInputB:`bool`},BrickComponentData_WireGraph_Expr_Compare:{InputA:`WireGraphVariant`,InputB:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_Convert:{TargetType:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_EdgeDetector:{Input:`f64`,bPulseOnRisingEdge:`bool`,bPulseOnFallingEdge:`bool`},BrickComponentData_WireGraph_Expr_Float_Float:{Input:`f64`},BrickComponentData_WireGraph_Expr_Int_Int:{Input:`i64`},BrickComponentData_WireGraph_Expr_IntInt_Int:{InputA:`i64`,InputB:`i64`},BrickComponentData_WireGraph_Expr_MakeColor:{R:`f64`,G:`f64`,B:`f64`,A:`f64`},BrickComponentData_WireGraph_Expr_MakeColorHex:{Hex:`str`},BrickComponentData_WireGraph_Expr_MakeColorSRGB:{R:`i64`,G:`i64`,B:`i64`,A:`i64`},BrickComponentData_WireGraph_Expr_MakeQuaternion:{X:`f64`,Y:`f64`,Z:`f64`,W:`f64`},BrickComponentData_WireGraph_Expr_MakeRotation:{Pitch:`f64`,Yaw:`f64`,Roll:`f64`},BrickComponentData_WireGraph_Expr_MakeVector:{X:`f64`,Y:`f64`,Z:`f64`},BrickComponentData_WireGraph_Expr_MathAtan2:{Y:`f64`,X:`f64`},BrickComponentData_WireGraph_Expr_MathBlend:{Blend:`f64`,bClampAlpha:`bool`,InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_MathClamp:{Min:`WireGraphPrimMathVariant`,Max:`WireGraphPrimMathVariant`,Input:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_MathCompare:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_MathEasing:{Blend:`f64`,Function:`EBREasingFunction`,Direction:`EBREasingDirection`,InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_MathLogBase:{Input:`f64`,Base:`f64`},BrickComponentData_WireGraph_Expr_MathPow:{Input:`f64`,Exponent:`f64`},BrickComponentData_WireGraph_Expr_NearlyEqual:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`,Tolerance:`f64`},BrickComponentData_WireGraph_Expr_PrimMathVariant_PrimMathVariant:{Input:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_PrimMathVariantPrimMathVariant_PrimMathVariant:{InputA:`WireGraphPrimMathVariant`,InputB:`WireGraphPrimMathVariant`},BrickComponentData_WireGraph_Expr_Select:{bSelectB:`bool`,InputA:`WireGraphVariant`,InputB:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_String_Concatenate:{InputA:`str`,InputB:`str`,Separator:`str`},BrickComponentData_WireGraph_Expr_String_Contains:{Input:`str`,Search:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_EndsWith:{Input:`str`,Suffix:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_Find:{Input:`str`,Search:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_FormatText:{FormatString:`str`,InputA:`WireGraphVariant`,InputB:`WireGraphVariant`,InputC:`WireGraphVariant`,InputD:`WireGraphVariant`,InputE:`WireGraphVariant`,InputF:`WireGraphVariant`,InputG:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_String_Length:{Input:`str`},BrickComponentData_WireGraph_Expr_String_ParseInt:{Input:`str`},BrickComponentData_WireGraph_Expr_String_ParseNumber:{Input:`str`},BrickComponentData_WireGraph_Expr_String_Replace:{Input:`str`,Search:`str`,Replacement:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_Split:{Input:`str`,Delimiter:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_StartsWith:{Input:`str`,Prefix:`str`,bCaseSensitive:`bool`},BrickComponentData_WireGraph_Expr_String_Substring:{Input:`str`,Start:`i64`,Length:`i64`},BrickComponentData_WireGraph_Expr_String_ToLower:{Input:`str`},BrickComponentData_WireGraph_Expr_String_ToUpper:{Input:`str`},BrickComponentData_WireGraph_Expr_String_Trim:{Input:`str`},BrickComponentData_WireGraph_Expr_Swap:{bSwap:`bool`,InputA:`WireGraphVariant`,InputB:`WireGraphVariant`},BrickComponentData_WireGraph_Expr_Variant_Variant:{Input:`WireGraphVariant`},BrickComponentData_WireGraph_Fake_CharacterDamageEvent:{},BrickComponentData_WireGraph_Fake_CharacterDeathEvent:{},BrickComponentData_WireGraph_Fake_CharacterEvent:{},BrickComponentData_WireGraph_Fake_ControllerEvent:{},BrickComponentData_WireGraph_Fake_RoundEvent:{RoundNumber:`i32`},BrickComponentData_WireGraph_FindPlayer:{Query:`str`},BrickComponentData_WireGraph_FontReference:{Asset:`object`},BrickComponentData_WireGraph_ItemReference:{Asset:`class`},BrickComponentData_WireGraph_OneShotAudioReference:{Asset:`object`},BrickComponentData_WireGraph_ParticleReference:{Asset:`object`},BrickComponentData_WireGraph_PickupReference:{Asset:`class`},BrickComponentData_WireGraph_ProjectileReference:{Asset:`class`},BrickComponentData_WireGraph_ServerUptime:{},BrickComponentData_WireGraph_WheelEngineAudioReference:{Asset:`object`},BrickComponentData_WireGraphPseudo_ArrayVar:{Value:`WireGraphArrayVariant`},BrickComponentData_WireGraphPseudo_BufferSeconds:{SecondsToWait:`f32`,ZeroSecondsToWait:`f32`,CurrentTime:`f32`,Input:`WireGraphVariant`,Output:`WireGraphVariant`,Buffered:`WireGraphVariant`,bHasQueued:`bool`,bIsOffTimer:`bool`},BrickComponentData_WireGraphPseudo_BufferTicks:{TicksToWait:`i32`,ZeroTicksToWait:`i32`,CurrentTicks:`i32`,Input:`WireGraphVariant`,Output:`WireGraphVariant`,Buffered:`WireGraphVariant`,bHasQueued:`bool`,bIsOffTimer:`bool`},BrickComponentData_WireGraphPseudo_Timer:{Limit:`f64`,Time:`f64`,bRunning:`bool`},BrickComponentData_WireGraphPseudo_Tween:{Target:`WireGraphVariant`,Value:`WireGraphVariant`,StartValue:`WireGraphVariant`,Duration:`f64`,Elapsed:`f64`,Function:`EBREasingFunction`,Direction:`EBREasingDirection`},BrickComponentData_WireGraphPseudo_Var:{Value:`WireGraphVariant`},BrickComponentWireControl_DriveAndSteer:{},BrickComponentWirePortControl_TeleportDestination:{},BRInventoryEntryVariant:{},BRQueueSecondsEntry:{Data:[`WireGraphVariant`],RemainingTime:`f32`},BRQueueTicksEntry:{Data:[`WireGraphVariant`],RemainingTicks:`i32`},BRSavedBrickComponentTypeCounter:{TypeIndex:`u32`,NumInstances:`u32`},Color:{B:`u8`,G:`u8`,R:`u8`,A:`u8`},IntVector:{X:`i32`,Y:`i32`,Z:`i32`},LinearColor:{R:`f32`,G:`f32`,B:`f32`,A:`f32`},Quat:{X:`f64`,Y:`f64`,Z:`f64`,W:`f64`},Quat4f:{X:`f32`,Y:`f32`,Z:`f32`,W:`f32`},Rotator:{Pitch:`f64`,Yaw:`f64`,Roll:`f64`},Rotator3f:{Pitch:`f32`,Yaw:`f32`,Roll:`f32`},Vector:{X:`f64`,Y:`f64`,Z:`f64`},Vector2f:{X:`f32`,Y:`f32`},Vector3f:{X:`f32`,Y:`f32`,Z:`f32`},Vector4:{X:`f64`,Y:`f64`,Z:`f64`,W:`f64`},WireGraphBoolArray:{Values:[`bool`]},WireGraphDoubleArray:{Values:[`f64`]},WireGraphEnumArray_EBRColorSpace:{Values:[`EBRColorSpace`]},WireGraphEnumArray_EBRDisplayTextEasing:{Values:[`EBRDisplayTextEasing`]},WireGraphEnumArray_EBRDisplayTextJustification:{Values:[`EBRDisplayTextJustification`]},WireGraphEnumArray_EBREasingDirection:{Values:[`EBREasingDirection`]},WireGraphEnumArray_EBREasingFunction:{Values:[`EBREasingFunction`]},WireGraphEnumArray_EBrickAxis:{Values:[`EBrickAxis`]},WireGraphEnumArray_EBrickDirection:{Values:[`EBrickDirection`]},WireGraphEnumArray_EBrickMaterial:{Values:[`EBrickMaterial`]},WireGraphEnumArray_EBrickRigidJointInterpMode:{Values:[`EBrickRigidJointInterpMode`]},WireGraphEnumArray_EBRPawnCollisionChannel:{Values:[`EBRPawnCollisionChannel`]},WireGraphEnumArray_EBRTextFacing:{Values:[`EBRTextFacing`]},WireGraphEnumArray_EBRTextMaterial:{Values:[`EBRTextMaterial`]},WireGraphEnumArray_EBRTextOutline:{Values:[`EBRTextOutline`]},WireGraphEnumArray_EBRTextShading:{Values:[`EBRTextShading`]},WireGraphEnumArray_EBRTextTypeface:{Values:[`EBRTextTypeface`]},WireGraphEnumArray_EProjectileSpawnLocation:{Values:[`EProjectileSpawnLocation`]},WireGraphEnumArrayWrapper:{Enum:`WireGraphEnumArrayVariant`},WireGraphEnumWrapper:{Enum:`WireGraphEnumVariant`},WireGraphExec:{},WireGraphInt64Array:{Values:[`i64`]},WireGraphObjectArray:{Values:[`weak_object`]},WireGraphStringArray:{Values:[`str`]},BrickComponentData_BrickPropertyChanger:{bVisibility:`bool`,bCollisionEnabled:`bool`,bCollisionEnabled_Player:`bool`,bCollisionEnabled_Player1:`bool`,bCollisionEnabled_Player2:`bool`,bCollisionEnabled_Player3:`bool`,bCollisionEnabled_Weapon:`bool`,bCollisionEnabled_Interaction:`bool`,bCollisionEnabled_Physics:`bool`,Color:`Color`,MaterialAlpha:`u8`,Material:`EBrickMaterial`},BrickComponentData_Gyroscope:{bEnabled:`bool`,Strength:`f32`,Damping:`f32`,MaxForce:`f32`,TargetAxis:`Vector`},BrickComponentData_ItemSpawn:{PickupClass:`class`,bPickupEnabled:`bool`,bPickupRespawnOnMinigameReset:`bool`,PickupMinigameResetRespawnDelay:`f32`,bPickupAutoDisableOnPickup:`bool`,PickupRespawnTime:`f32`,bRenderTranslucentWhenDisabled:`bool`,DamageMultiplier:`f32`,WeaponSpeedMultiplier:`f32`,ItemNameOverride:`str`,ProjectileOverride:`class`,PickupOffsetDirection:`EBrickDirection`,PickupOffsetDistance:`f32`,PickupRotation:`Rotator3f`,PickupScale:`f32`,bOverridePickupColors:`bool`,PickupMeshColors:[`Color`],bPickupAnimationEnabled:`bool`,PickupAnimationAxis:`EBrickAxis`,bPickupAnimationAxisLocal:`bool`,PickupSpinSpeed:`f32`,PickupBobSpeed:`f32`,PickupBobHeight:`f32`,PickupAnimationPhase:`f32`},BrickComponentData_Joint_Wheel:{Control_DriveAndSteer:`BrickComponentWireControl_DriveAndSteer`,bEnabled:`bool`,DriveSpeed:`f32`,DrivePower:`f32`,bSteerEnabled:`bool`,Steer:`f32`,SteerLimitDegree:`f32`,SteerPower:`f32`,bSuspensionEnabled:`bool`,SuspensionStiffness:`f32`,SuspensionDamping:`f32`,JointDistance:`i32`,bDriveWhenNotAttachedToEngine:`bool`,bCanBrake:`bool`,bAllowEngineSteerCorrect:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_Joint_Wheel_Suspension:{Control_DriveAndSteer:`BrickComponentWireControl_DriveAndSteer`,bEnabled:`bool`,DriveSpeed:`f32`,DrivePower:`f32`,bSteerEnabled:`bool`,Steer:`f32`,SteerLimitDegree:`f32`,SteerPower:`f32`,bSuspensionEnabled:`bool`,SuspensionStiffness:`f32`,SuspensionDamping:`f32`,SuspensionOffset:`f32`,SuspensionLength:`f32`,JointDistance:`i32`,bDriveWhenNotAttachedToEngine:`bool`,bCanBrake:`bool`,bAllowEngineSteerCorrect:`bool`,bReversed:`bool`,Damping:`f32`},BrickComponentData_PointLight:{bMatchBrickShape:`bool`,bEnabled:`bool`,Brightness:`f32`,Radius:`f32`,Color:`Color`,bUseBrickColor:`bool`,bCastShadows:`bool`},BrickComponentData_PrefabSpawn:{Prefab:`bundle_path_ref`,SpawnOffset:`Vector`,SpawnOffsetRotation:`Rotator`,SpawnVelocity:`Vector`,bSpawnEnable:`bool`,RespawnTime:`f64`,SpawnedEntityIds:[`u32`]},BrickComponentData_Seat_V2:{bIsOccupied:`bool`,ExitOffset:`IntVector`,bRollCameraInThirdPerson:`bool`,bAllowNearbyInteraction:`bool`,bHiddenInteraction:`bool`,PromptCustomLabel:`str`},BrickComponentData_SpotLight:{Rotation:`Rotator3f`,InnerConeAngle:`f32`,OuterConeAngle:`f32`,bEnabled:`bool`,Brightness:`f32`,Radius:`f32`,Color:`Color`,bUseBrickColor:`bool`,bCastShadows:`bool`},BrickComponentData_TextDisplay:{Text:`str`,Font:`object`,Rotation:`f32`,Skew:`f32`,Kerning:`f32`,LineHeight:`f32`,LineOffset:`f32`,Anchor:`Vector2f`,Offset:`Vector3f`,Color:`Color`,MaterialSlider:`i32`,ShadingWidth:`f32`,OutlineColor:`Color`,OutlineWidth:`f32`,ScuffWidth:`f32`,GraffitiDepthLimit:`f32`,GraffitiAngleLimit:`f32`,GraffitiLayer:`i32`,bEnabled:`bool`,Face:`EBrickDirection`,bAlignToWedge:`bool`,bOverrideColor:`bool`,Typeface:`EBRTextTypeface`,Billboard:`EBRTextFacing`,Material:`EBRTextMaterial`,Shading:`EBRTextShading`,bFlipShading:`bool`,Outline:`EBRTextOutline`,bSharpCorners:`bool`,bSharpOutlines:`bool`,bOverrideOutlineColor:`bool`,bForeground:`bool`},BrickComponentData_WeightBrick:{Mass:`f32`,MassSize:`IntVector`,MassOffset:`IntVector`},BrickComponentData_WheelEngine_V2:{bEnabled:`bool`,bEnableManualControl:`bool`,ManualInput_Drive:`f32`,ManualInput_Steer:`f32`,bManualInput_Brake:`bool`,Control_DriveAndSteer:`BrickComponentWireControl_DriveAndSteer`,CustomMass:`f32`,CustomMassVerticalOffset:`f32`,DriveInterpSpeed:`f32`,DriveSpeed:`f32`,DriveAcceleratingPowerMultiplier:`f32`,DriveBrakingPowerMultiplier:`f32`,DriveDampingMultiplier:`f32`,SteerPowerMultiplier:`f32`,WheelFrictionMultiplier:`f32`,SteerInterpSpeed:`f32`,SteerLimitSpeedFalloff:`f32`,SteerLimitDegree:`f32`,CenterOfSteering:`f32`,bTankSteering:`bool`,TankSteerSpeedMultiplier:`f32`,bAutoRight:`bool`,WaterDriveForce:`f32`,WaterSteeringForce:`f32`,AudioDescriptor:`object`},BrickComponentData_WireGraph_Exec_Character_AddInventoryBrick:{ProceduralSize:`Vector`},BrickComponentData_WireGraph_Exec_Character_SetInventoryBrick:{Slot:`i32`,ProceduralSize:`Vector`},BrickComponentData_WireGraph_Exec_Controller_DisplayText:{Text:`str`,AnchorX:`f64`,AnchorY:`f64`,PositionX:`f64`,PositionY:`f64`,Angle:`f64`,ScaleX:`f64`,ScaleY:`f64`,FontSize:`i32`,FontColor:`Color`,OutlineSize:`i64`,OutlineColor:`Color`,Justification:`EBRDisplayTextJustification`,Transition:`f64`,Easing:`EBRDisplayTextEasing`,Lifetime:`f64`,TextId:`i64`},BrickComponentData_WireGraph_Exec_Entity_AddLocationRotation:{Vector:`Vector`,Rotation:`Rotator`},BrickComponentData_WireGraph_Exec_Entity_AddVelocity:{Vector:`Vector`,Rotation:`Vector`},BrickComponentData_WireGraph_Exec_Entity_RelativeTeleport:{Source:`BrickComponentWirePortControl_TeleportDestination`,Destination:`BrickComponentWirePortControl_TeleportDestination`},BrickComponentData_WireGraph_Exec_Entity_SetAngularVelocity:{AngularVelocity:`Vector`},BrickComponentData_WireGraph_Exec_Entity_SetGravityDirection:{Rotation:`Rotator`},BrickComponentData_WireGraph_Exec_Entity_SetLinearVelocity:{LinearVelocity:`Vector`},BrickComponentData_WireGraph_Exec_Entity_SetLocation:{Vector:`Vector`},BrickComponentData_WireGraph_Exec_Entity_SetLocationRotation:{Vector:`Vector`,Rotation:`Rotator`},BrickComponentData_WireGraph_Exec_Entity_SetRotation:{Rotation:`Rotator`},BrickComponentData_WireGraph_Exec_Entity_SetVelocity:{Vector:`Vector`,Rotation:`Vector`},BrickComponentData_WireGraph_Exec_Entity_Teleport:{Destination:`BrickComponentWirePortControl_TeleportDestination`},BrickComponentData_WireGraph_Exec_PrefabSpawner:{Prefab:`bundle_path_ref`,SpawnOffset:`Vector`,SpawnOffsetRotation:`Rotator`,SpawnVelocity:`Vector`,Lifetime:`f64`,Limit:`i64`,SpawnedEntityIds:[`u32`]},BrickComponentData_WireGraph_Exec_Sweep:{Origin:`Vector`,Direction:`Vector`,Distance:`f64`,Radius:`f64`,bDetectBricks:`bool`,bDetectPlayers1:`bool`,bDetectPlayers2:`bool`,bDetectPlayers3:`bool`,bDetectPlayers4:`bool`,bDetectPhysics:`bool`,bDetectMap:`bool`,bRelative:`bool`,bIgnoreOwningGrid:`bool`},BrickComponentData_WireGraph_Expr_ColorBlend:{ColorA:`LinearColor`,ColorB:`LinearColor`,Alpha:`f64`,BlendSpace:`EBRColorSpace`,bClampAlpha:`bool`},BrickComponentData_WireGraph_Expr_ColorConvert:{Input:`LinearColor`,FromSpace:`EBRColorSpace`,ToSpace:`EBRColorSpace`},BrickComponentData_WireGraph_Expr_ColorToHex:{Input:`LinearColor`},BrickComponentData_WireGraph_Expr_DirectionToRotation:{Direction:`Vector`},BrickComponentData_WireGraph_Expr_InvertRotation:{Input:`Quat`},BrickComponentData_WireGraph_Expr_QuatAngleBetween:{InputA:`Quat`,InputB:`Quat`},BrickComponentData_WireGraph_Expr_QuatBetween:{From:`Vector`,To:`Vector`},BrickComponentData_WireGraph_Expr_QuatDotProduct:{InputA:`Quat`,InputB:`Quat`},BrickComponentData_WireGraph_Expr_QuatFromAxisAngle:{Axis:`Vector`,Angle:`f64`},BrickComponentData_WireGraph_Expr_QuatSlerp:{InputA:`Quat`,InputB:`Quat`,Alpha:`f64`,bShortestPath:`bool`,bClampAlpha:`bool`},BrickComponentData_WireGraph_Expr_QuatToAxisAngle:{Input:`Quat`},BrickComponentData_WireGraph_Expr_RotateVector:{Rotation:`Quat`,Vector:`Vector`},BrickComponentData_WireGraph_Expr_RotationToDirection:{Rotation:`Quat`},BrickComponentData_WireGraph_Expr_SplitColor:{Input:`LinearColor`},BrickComponentData_WireGraph_Expr_SplitColorSRGB:{Input:`LinearColor`},BrickComponentData_WireGraph_Expr_SplitQuaternion:{Input:`Quat`},BrickComponentData_WireGraph_Expr_SplitRotation:{Input:`Rotator`},BrickComponentData_WireGraph_Expr_SplitVector:{Input:`Vector`},BrickComponentData_WireGraph_Expr_Vec_Float:{Input:`Vector`},BrickComponentData_WireGraph_Expr_Vec_Vec:{Input:`Vector`},BrickComponentData_WireGraph_Expr_VecFloat_Vec:{Input:`Vector`,Scalar:`f64`},BrickComponentData_WireGraph_Expr_VecVec_Float:{InputA:`Vector`,InputB:`Vector`},BrickComponentData_WireGraph_Expr_VecVec_Vec:{InputA:`Vector`,InputB:`Vector`},BrickComponentData_WireGraphPseudo_Dampen:{Target:`WireGraphVariant`,Value:`WireGraphVariant`,SmoothTime:`f64`,Velocity:`Vector4`},BrickComponentData_WireGraphPseudo_QueueSeconds:{SecondsToWait:`f32`,Entries:[`BRQueueSecondsEntry`],DataIn1:`WireGraphVariant`,DataIn2:`WireGraphVariant`,DataIn3:`WireGraphVariant`,DataIn4:`WireGraphVariant`,DataIn5:`WireGraphVariant`,DataIn6:`WireGraphVariant`,DataIn7:`WireGraphVariant`,DataIn8:`WireGraphVariant`,DataOut1:`WireGraphVariant`,DataOut2:`WireGraphVariant`,DataOut3:`WireGraphVariant`,DataOut4:`WireGraphVariant`,DataOut5:`WireGraphVariant`,DataOut6:`WireGraphVariant`,DataOut7:`WireGraphVariant`,DataOut8:`WireGraphVariant`},BrickComponentData_WireGraphPseudo_QueueTicks:{TicksToWait:`i32`,Entries:[`BRQueueTicksEntry`],DataIn1:`WireGraphVariant`,DataIn2:`WireGraphVariant`,DataIn3:`WireGraphVariant`,DataIn4:`WireGraphVariant`,DataIn5:`WireGraphVariant`,DataIn6:`WireGraphVariant`,DataIn7:`WireGraphVariant`,DataIn8:`WireGraphVariant`,DataOut1:`WireGraphVariant`,DataOut2:`WireGraphVariant`,DataOut3:`WireGraphVariant`,DataOut4:`WireGraphVariant`,DataOut5:`WireGraphVariant`,DataOut6:`WireGraphVariant`,DataOut7:`WireGraphVariant`,DataOut8:`WireGraphVariant`},BrickTypeNetWrapper:{BrickAsset:`object`,ProceduralSize:`IntVector`},BRInventoryEntryConfig:{Item:`BRInventoryEntryVariant`},BRPlayerPartCustomizationV3:{PartDescriptor:`object`,DecalDescriptor:`object`,SocketName:`str`,Colors:[`Color`]},BRSavedComponentChunkSoA:{ComponentTypeCounters:[`BRSavedBrickComponentTypeCounter`],ComponentBrickIndices:[`u32`],JointBrickIndices:[`u32`],JointEntityReferences:[`u32`],JointInitialRelativeOffsets:[`Vector3f`,null],JointInitialRelativeRotations:[`Quat4f`,null],MicrochipBrickIndices:[`u32`],MicrochipBrickGridReferences:[`u32`]},WireGraphLinearColorArray:{Values:[`LinearColor`]},WireGraphQuatArray:{Values:[`Quat`]},WireGraphRotatorArray:{Values:[`Rotator`]},WireGraphVectorArray:{Values:[`Vector`]},BrickComponentData_WireGraph_Exec_Character_AddInventoryEntry:{Entry:`BRInventoryEntryConfig`},BRInventoryEntryPlan:{Type:`EBRInventoryEntryPlanType`,BrickTypeIfBrick:`BrickTypeNetWrapper`,EntityTypeIfEntity:`class`,ItemTypeIfItem:`class`},BRPlayerAvatarCustomizationV3:{Parts:[`BRPlayerPartCustomizationV3`]},BrickComponentData_BotSpawn:{RespawnTime:`f32`,CorpseTimeout:`f32`,GunSkill:`f32`,Agression:`f32`,ReactionTime:`f32`,MovementRandomness:`f32`,RunSpeed:`f32`,HealthMultiplier:`f32`,Jumpyness:`f32`,MovementAmount:`f32`,AttackMovementAmount:`f32`,AggroRange:`f32`,AttackDamageMultiplier:`f32`,bCanJump:`bool`,bBackVision:`bool`,bVisionRaycasting:`bool`,bCanTargetPlayers:`bool`,bCanTargetBots:`bool`,bActiveBot:`bool`,bSpawnEnable:`bool`,bDeleteBot:`bool`,MoveTarget:`Vector`,MovementGoalDummy:`BrickComponentWirePortControl_TeleportDestination`,BotName:`str`,Skin:`BRPlayerAvatarCustomizationV3`,bColorsAreLinear:`bool`,TeamCollisionChannel:`EBRPawnCollisionChannel`,bTeamCollision:`bool`,bTeamCollision1:`bool`,bTeamCollision2:`bool`,bTeamCollision3:`bool`,BotWeapon:`class`},BrickComponentData_WireGraph_Exec_Character_SetInventoryEntry:{Slot:`i32`,Entry:`BRInventoryEntryConfig`,EntryPlan:`BRInventoryEntryPlan`}}},BRSavedEntityChunkIndexSoA:{enums:{},variants:{},structs:{BRSavedChunk3DIndex:{X:`i16`,Y:`i16`,Z:`i16`},BRSavedEntityChunkIndexSoA:{NextPersistentIndex:`u32`,Chunk3DIndices:[`BRSavedChunk3DIndex`],NumEntities:[`u32`]}}},BRSavedEntityChunkSoA:{enums:{},variants:{},structs:{BrickGridDynamicActor:{BouyancyScale:`f32`,MassScale:`f32`,bEnableGravity:`bool`,bUseNewMassCalculation:`bool`,bReceivesDecals:`bool`,EntityTag:`str`},BRSavedBitFlags:{Flags:[`u8`,null]},BRSavedBrickColor:{R:`u8`,G:`u8`,B:`u8`,A:`u8`},BRSavedEntityTypeCounter:{TypeIndex:`u32`,NumEntities:`u32`},IntVector:{X:`i32`,Y:`i32`,Z:`i32`},Quat4f:{X:`f32`,Y:`f32`,Z:`f32`,W:`f32`},Vector3f:{X:`f32`,Y:`f32`,Z:`f32`},BP_MicrochipBrickGridDynamicActor_C:{bCollapsed:`bool`,PlaneCenter:`IntVector`,PlaneExtent:`IntVector`},BRSavedEntityColors:{Color0:`BRSavedBrickColor`,Color1:`BRSavedBrickColor`,Color2:`BRSavedBrickColor`,Color3:`BRSavedBrickColor`,Color4:`BRSavedBrickColor`,Color5:`BRSavedBrickColor`,Color6:`BRSavedBrickColor`,Color7:`BRSavedBrickColor`},BRSavedEntityChunkSoA:{TypeCounters:[`BRSavedEntityTypeCounter`],PersistentIndices:[`u32`],OwnerIndices:[`u32`],OriginalOwnerIndices:[`u32`],Locations:[`Vector3f`,null],Rotations:[`Quat4f`,null],WeldParentFlags:`BRSavedBitFlags`,PhysicsLockedFlags:`BRSavedBitFlags`,PhysicsSleepingFlags:`BRSavedBitFlags`,WeldParentIndices:[`u32`],LinearVelocities:[`Vector3f`,null],AngularVelocities:[`Vector3f`,null],ColorsAndAlphas:[`BRSavedEntityColors`,null],RemainingLifeSpans:[`f32`,null],bColorsAreLinear:`bool`}}}},Ha;function Ua(e,t){if(typeof e==`string`)return{kind:`type`,type:e};if(Array.isArray(e)){if(e.length===1)return{kind:`array`,type:e[0]};if(e.length===2&&e[1]===null)return{kind:`flatarray`,type:e[0]};throw Error(`brdb: invalid schema prop source at ${t}`)}let n=Object.entries(e);if(n.length===1)return{kind:`map`,key:n[0][0],value:n[0][1]};throw Error(`brdb: invalid schema prop source at ${t}`)}var Wa=[`f64`,`i64`,`bool`,`weak_object`,`WireGraphExec`],Ga=[`f64`,`i64`];function Ka(e,t){if(typeof e==`object`&&e&&!Array.isArray(e)&&typeof e.$variant==`string`)return e;throw Error(`brdb: variant ${t} requires a { $variant, value } wrapper`)}var qa={u8:1,i8:1,u16:2,i16:2,u32:4,i32:4,f32:4,u64:8,i64:8,f64:8};function Ja(e){let t=e.peek();if((t&224)==160||t===217||t===218)return{kind:`type`,type:Q(e)};if((t&240)==144){let t=Pa(e);if(t===1)return{kind:`array`,type:Q(e)};if(t===2){let t=Q(e);return Ia(e),{kind:`flatarray`,type:t}}throw Error(`brdb: unsupported property array length ${t}`)}if((t&240)==128){let t=Fa(e);if(t!==1)throw Error(`brdb: unsupported property map length ${t}`);return{kind:`map`,key:Q(e),value:Q(e)}}throw Error(`brdb: unsupported property marker 0x${t.toString(16)}`)}var Ya=class e{constructor(e,t,n){this.enums=e,this.variants=t,this.structs=n}static fromText(t){let{enums:n,variants:r,structs:i}=Ba(t);return new e(n,r,i)}static fromData(t){let n=new Map(Object.entries(t.enums).map(([e,t])=>[e,new Map(Object.entries(t))])),r=new Map(Object.entries(t.variants).map(([e,t])=>[e,[...t]])),i=new Map(Object.entries(t.structs).map(([e,t])=>[e,new Map(Object.entries(t).map(([t,n])=>[t,Ua(n,`${e}.${t}`)]))]));return new e(n,r,i)}static fromBinary(t){let n=new Gi(t),r=Pa(n);if(r!==2&&r!==3)throw Error(`brdb: invalid schema header length ${r}`);let i=new Map;for(let e=0,t=Fa(n);e<t;e++){let e=Q(n),t=new Map;for(let e=0,r=Fa(n);e<r;e++)t.set(Q(n),Oa(n));i.set(e,t)}let a=new Map;if(r===3)for(let e=0,t=Fa(n);e<t;e++){let e=Q(n),t=[];for(let e=0,r=Pa(n);e<r;e++)t.push(Q(n));a.set(e,t)}let o=new Map;for(let e=0,t=Fa(n);e<t;e++){let e=Q(n),t=new Map;for(let e=0,r=Fa(n);e<r;e++)t.set(Q(n),Ja(n));o.set(e,t)}if(n.remaining!==0)throw Error(`brdb: ${n.remaining} trailing bytes after schema`);return new e(i,a,o)}extractStructsTransitive(e){let t=new Map,n=new Map,r=new Map,i=new Set,a=[...e];for(let e=a.pop();e!==void 0;e=a.pop()){if(i.has(e))continue;i.add(e);let o=this.variants.get(e);if(o){a.push(...o),n.set(e,[...o]);continue}let s=this.enums.get(e);if(s){t.set(e,new Map(s));continue}let c=this.structs.get(e);if(c){let t=new Map;for(let[e,n]of c)n.kind===`map`?a.push(n.key,n.value):a.push(n.type),t.set(e,{...n});r.set(e,t)}}return{enums:t,variants:n,structs:r}}merge(e){for(let[t,n]of e.enums)this.enums.set(t,n);for(let[t,n]of e.variants)this.variants.set(t,n);for(let[t,n]of e.structs)this.structs.set(t,n)}zeroValue(e){switch(e){case`u8`:case`u16`:case`u32`:case`u64`:case`i8`:case`i16`:case`i32`:case`i64`:case`f32`:case`f64`:return 0;case`bool`:return!1;case`str`:case`bundle_path_ref`:return``;case`class`:case`object`:case`weak_object`:return null;case`wire_graph_variant`:case`wire_graph_prim_math_variant`:return{$variant:`f64`,value:0}}let t=this.variants.get(e);if(t){let n=t[0];if(n===void 0)throw Error(`brdb: empty variant ${e}`);return{$variant:n,value:this.zeroValue(n)}}if(this.enums.has(e))return 0;let n=this.structs.get(e);if(n){let e={};for(let[t,r]of n)e[t]=r.kind===`type`?this.zeroValue(r.type):[];return e}throw Error(`brdb: unknown type ${e}`)}fillStruct(e,t,n){let r=this.structs.get(e);if(!r)throw Error(`brdb: unknown struct ${e}`);for(let n of Object.keys(t))if(!r.has(n))throw Error(`brdb: ${e} has no field '${n}'`);let i={};for(let[e,a]of r){let r=t[e]===void 0?n?.[e]:t[e];i[e]=r===void 0?a.kind===`type`?this.zeroValue(a.type):[]:r}return i}topoStructOrder(){let e=new Set,t=[],n=r=>{if(e.has(r))return;e.add(r);let i=this.structs.get(r);if(i)for(let e of i.values()){let t=e.kind===`map`?[e.key,e.value]:[e.type];for(let e of t)this.structs.has(e)&&n(e)}t.push(r)};for(let e of this.structs.keys())n(e);return t}toBinary(){let e=new Wi;Sa(e,3),Ca(e,this.enums.size);for(let[t,n]of this.enums){Z(e,t),Ca(e,n.size);for(let[t,r]of n)Z(e,t),va(e,r)}Ca(e,this.variants.size);for(let[t,n]of this.variants){Z(e,t),Sa(e,n.length);for(let t of n)Z(e,t)}let t=this.topoStructOrder();Ca(e,t.length);for(let n of t){let t=this.structs.get(n);Z(e,n),Ca(e,t.size);for(let[n,r]of t)switch(Z(e,n),r.kind){case`type`:Z(e,r.type);break;case`array`:Sa(e,1),Z(e,r.type);break;case`flatarray`:Sa(e,2),Z(e,r.type),ma(e);break;case`map`:Ca(e,1),Z(e,r.key),Z(e,r.value);break}}return e.toBytes()}flatTypeSize(e){let t=qa[e];if(t)return t;let n=this.structs.get(e);if(!n)return 0;let r=0;for(let e of n.values())r+=e.kind===`type`?this.flatTypeSize(e.type):0;return r}writeValue(e,t,n){switch(t){case`u8`:return ga(e,n);case`u16`:case`u32`:case`u64`:return _a(e,n);case`i8`:case`i16`:case`i32`:case`i64`:return va(e,n);case`f32`:return ya(e,n);case`f64`:return ba(e,n);case`str`:case`bundle_path_ref`:return Z(e,n);case`bool`:return ha(e,n);case`class`:case`object`:case`weak_object`:return n===null?va(e,-1):_a(e,n);case`wire_graph_variant`:case`wire_graph_prim_math_variant`:return this.writeLegacyWireVariant(e,t,n)}let r=this.variants.get(t);if(r){let i=Ka(n,t),a=r.indexOf(i.$variant);if(a===-1)throw Error(`brdb: '${i.$variant}' is not a member of variant ${t}`);return _a(e,a),this.writeVariantPayload(e,i.$variant,i.value)}let i=this.enums.get(t);if(i){let r=n;if(r<0||r>=i.size)throw RangeError(`brdb: enum ${t} ordinal ${r} out of bounds`);return _a(e,r)}let a=this.structs.get(t);if(a){let r=n;for(let[n,i]of a){if(!(n in r))throw Error(`brdb: missing struct field ${t}.${n}`);this.writeProperty(e,i,r[n],`${t}.${n}`)}return}throw Error(`brdb: unknown type ${t}`)}writeVariantPayload(e,t,n){if(t===`weak_object`)return va(e,n===null?-1:n);this.writeValue(e,t,n)}writeLegacyWireVariant(e,t,n){let r=t===`wire_graph_variant`?Wa:Ga,i=Ka(n,t),a=r.indexOf(i.$variant);if(a===-1)throw Error(`brdb: '${i.$variant}' is not a member of ${t}`);switch(_a(e,a),i.$variant){case`f64`:return ba(e,i.value);case`i64`:return va(e,i.value);case`bool`:return ha(e,i.value);case`weak_object`:return va(e,i.value===null?-1:i.value);case`WireGraphExec`:return}}writeProperty(e,t,n,r){switch(t.kind){case`type`:return this.writeValue(e,t.type,n);case`array`:{let r=n;Sa(e,r.length);for(let n of r)this.writeValue(e,t.type,n);return}case`flatarray`:{let i=n,a=this.flatTypeSize(t.type);if(a===0)throw Error(`brdb: invalid flat type ${t.type} at ${r}`);xa(e,i.length*a);for(let n of i)this.writeFlat(e,t.type,n,r);return}case`map`:throw Error(`brdb: Map properties are unsupported (${r})`)}}writeFlat(e,t,n,r){switch(t){case`u8`:return e.u8(n);case`i8`:return e.i8(n);case`u16`:return e.u16le(n);case`i16`:return e.i16le(n);case`u32`:return e.u32le(n);case`i32`:return e.i32le(n);case`f32`:return e.f32le(n);case`f64`:return e.f64le(n);case`u64`:return e.u64le(BigInt(n));case`i64`:return e.i64le(BigInt(n))}let i=this.structs.get(t);if(!i)throw Error(`brdb: invalid flat type ${t} at ${r}`);let a=n;for(let[n,o]of i){if(o.kind!==`type`)throw Error(`brdb: flat struct ${t} has non-flat field ${n}`);if(!(n in a))throw Error(`brdb: missing struct field ${t}.${n}`);this.writeFlat(e,o.type,a[n],`${r}.${n}`)}}readValue(t,n,r=0){if(r>e.MAX_DECODE_DEPTH)throw Error(`brdb: schema recursion too deep`);switch(n){case`u8`:case`u16`:case`u32`:case`u64`:return ka(t);case`i8`:case`i16`:case`i32`:case`i64`:return Oa(t);case`f32`:return Aa(t);case`f64`:return ja(t);case`str`:case`bundle_path_ref`:return Q(t);case`bool`:return Ma(t);case`class`:case`object`:case`weak_object`:{let e=Oa(t);return e<0?null:e}case`wire_graph_variant`:case`wire_graph_prim_math_variant`:return this.readLegacyWireVariant(t,n)}let i=this.variants.get(n);if(i){let e=ka(t),a=i[e];if(a===void 0)throw Error(`brdb: unknown tag ${e} for variant ${n}`);return{$variant:a,value:this.readValue(t,a,r+1)}}let a=this.enums.get(n);if(a){let e=ka(t);if(e>=a.size)throw RangeError(`brdb: enum ${n} ordinal ${e} out of bounds`);return e}let o=this.structs.get(n);if(o){let e={};for(let[i,a]of o)e[i]=this.readProperty(t,a,`${n}.${i}`,r+1);return e}throw Error(`brdb: unknown type ${n}`)}readLegacyWireVariant(e,t){let n=t===`wire_graph_variant`?Wa:Ga,r=ka(e),i=n[r];switch(i){case`f64`:return{$variant:i,value:ja(e)};case`i64`:return{$variant:i,value:Oa(e)};case`bool`:return{$variant:i,value:Ma(e)};case`weak_object`:{let t=Oa(e);return{$variant:i,value:t<0?null:t}}case`WireGraphExec`:return{$variant:i,value:null};default:throw Error(`brdb: unknown tag ${r} for ${t}`)}}readProperty(e,t,n,r=0){switch(t.kind){case`type`:return this.readValue(e,t.type,r);case`array`:{let n=Pa(e),i=[];for(let a=0;a<n;a++)i.push(this.readValue(e,t.type,r));return i}case`flatarray`:{let r=Na(e),i=this.flatTypeSize(t.type);if(i===0)throw Error(`brdb: invalid flat type ${t.type} at ${n}`);if(r%i!==0)throw Error(`brdb: flat data length ${r} not divisible by ${i} (${n})`);let a=[];for(let o=0;o<r/i;o++)a.push(this.readFlat(e,t.type,n));return a}case`map`:throw Error(`brdb: Map properties are unsupported (${n})`)}}readFlat(e,t,n){switch(t){case`u8`:return e.u8();case`i8`:return e.i8();case`u16`:return e.u16le();case`i16`:return e.i16le();case`u32`:return e.u32le();case`i32`:return e.i32le();case`f32`:return e.f32le();case`f64`:return e.f64le();case`u64`:case`i64`:{let n=t===`u64`?e.u64le():e.i64le();if(n>BigInt(2**53-1)||n<BigInt(-(2**53-1)))throw RangeError(`brdb: flat 64-bit value ${n} exceeds JS safe range`);return Number(n)}}let r=this.structs.get(t);if(!r)throw Error(`brdb: invalid flat type ${t} at ${n}`);let i={};for(let[a,o]of r){if(o.kind!==`type`)throw Error(`brdb: flat struct ${t} has non-flat field ${a}`);i[a]=this.readFlat(e,o.type,`${n}.${a}`)}return i}encode(e,t){let n=new Wi;return this.writeValue(n,e,t),n.toBytes()}decode(e,t){let n=new Gi(e),r=this.readValue(n,t);if(n.remaining!==0)throw Error(`brdb: ${n.remaining} trailing bytes after ${t}`);return r}};Ha=Ya,Ha.MAX_DECODE_DEPTH=64;var Xa=new Map;function Za(e){let t=Xa.get(e);return t||(t=Ya.fromData(Va[e]),Xa.set(e,t)),t}var Qa=2048,$a=1024,eo=(e,t)=>Math.floor(e/t),to=(e,t)=>(e%t+t)%t;function no(e){return{chunk:e.map(e=>eo(e,Qa)),rel:e.map(e=>to(e,Qa)-$a)}}function ro(e){let t=e.brick_assets??[`PB_DefaultBrick`],n=e.materials??[`BMC_Plastic`],r=e.brick_owners?.length??0;return e.bricks.map((i,a)=>{let o=`bricks[${a}]`,s=(Array.isArray(i.components)?i.components:[]).map((e,t)=>{if(!ea.has(e.type))throw Error(`brdb: ${o}.components[${t}]: unknown component type '${e.type}'`);return e}),c=t[i.asset_name_index??0];if(c===void 0)throw Error(`brdb: ${o}: asset_name_index ${i.asset_name_index} out of range`);let l=n[i.material_index??0];if(l===void 0)throw Error(`brdb: ${o}: material_index ${i.material_index} out of range`);let u=i.position.map(e=>{if(!Number.isSafeInteger(e))throw Error(`brdb: ${o}: position must be integers, got ${i.position}`);if(!(e>=-32768*2048&&e<=32768*2048-1))throw Error(`brdb: ${o}: position ${e} outside the i16 chunk range`);return e}),d=$i(c);if(i.size===void 0&&d)throw Error(`brdb: ${o}: procedural asset ${c} requires a size`);let f=(i.size??[0,0,0]).map(e=>{if(!Number.isInteger(e)||e<0||e>65535)throw Error(`brdb: ${o}: size components must be u16, got ${i.size}`);return e}),p;if(typeof i.collision==`boolean`){let e=i.collision;p={player:e,weapon:e,interaction:e,physics:e}}else p={player:i.collision?.player??!0,weapon:i.collision?.weapon??!0,interaction:i.collision?.interaction??!0,physics:i.collision?.physics??!0};let m,h=i.color;if(typeof h==`number`){let t=e.colors?.[h];if(!t)throw Error(`brdb: ${o}: color palette index ${h} out of range`);m=[t[0],t[1],t[2]]}else if(Array.isArray(h)){if(h.length<3)throw Error(`brdb: ${o}: color array must have at least 3 components`);m=[h[0],h[1],h[2]]}else m=[255,255,255];m=m.map((e,t)=>{if(!Number.isInteger(e)||e<0||e>255)throw Error(`brdb: ${o}: resolved color component ${t} must be u8, got ${e}`);return e});let g=i.material_intensity??5;if(!Number.isInteger(g)||g<0||g>255)throw Error(`brdb: ${o}: material_intensity must be u8, got ${g}`);let _=i.owner_index??0;if(!Number.isInteger(_)||_<0||_>r)throw Error(`brdb: ${o}: owner_index ${_} out of range (0..${r})`);return{assetName:c,procedural:d,size:f,position:u,direction:i.direction??4,rotation:i.rotation??0,collision:p,visible:i.visibility??!0,materialName:l,intensity:g,color:m,ownerIndex:_,components:s}})}var io=class{constructor(){this.map=new Map}add(e){let t=this.map.get(e);return t===void 0&&(t=this.map.size,this.map.set(e,t)),t}indexOf(e){let t=this.map.get(e);if(t===void 0)throw Error(`brdb: registry miss for ${e}`);return t}has(e){return this.map.has(e)}get names(){return[...this.map.keys()]}get size(){return this.map.size}},ao=class{constructor(){this.sizeCounters=[],this.sizes=[],this.typeIndices=[],this.ownerIndices=[],this.originalOwnerIndices=[],this.relPositions=[],this.orientations=[],this.colPlayer=new zr,this.colPlayer1=new zr,this.colPlayer2=new zr,this.colPlayer3=new zr,this.colWeapon=new zr,this.colInteraction=new zr,this.colPhysics=new zr,this.visibility=new zr,this.materialIndices=[],this.colors=[],this.sizeIndexMap=new Map,this.numBrickSizes=0,this.numBricks=0}addBrick(e,t,n,r){let i;if(!e.procedural)i=n.basic.indexOf(e.assetName);else{let t=n.procedural.indexOf(e.assetName),a=`${t}:${e.size[0]},${e.size[1]},${e.size[2]}`,o=this.sizeIndexMap.get(a);if(o===void 0){o=this.numBrickSizes+r;let n=this.sizeCounters[this.sizeCounters.length-1];n&&n.AssetIndex===t?n.NumSizes+=1:this.sizeCounters.push({AssetIndex:t,NumSizes:1}),this.sizes.push({X:e.size[0],Y:e.size[1],Z:e.size[2]}),this.sizeIndexMap.set(a,o),this.numBrickSizes+=1}i=o}this.typeIndices.push(i),this.ownerIndices.push(e.ownerIndex),this.originalOwnerIndices.push(e.ownerIndex),this.relPositions.push({X:t[0],Y:t[1],Z:t[2]}),this.orientations.push((e.direction&7)<<2|e.rotation&3),this.colPlayer.push(e.collision.player),this.colPlayer1.push(e.collision.player),this.colPlayer2.push(e.collision.player),this.colPlayer3.push(e.collision.player),this.colWeapon.push(e.collision.weapon),this.colInteraction.push(e.collision.interaction),this.colPhysics.push(e.collision.physics),this.visibility.push(e.visible),this.materialIndices.push(n.materials.indexOf(e.materialName)),this.colors.push({R:e.color[0],G:e.color[1],B:e.color[2],A:e.intensity}),this.numBricks+=1}toValue(e){return{ProceduralBrickStartingIndex:e,BrickSizeCounters:this.sizeCounters,BrickSizes:this.sizes,BrickTypeIndices:this.typeIndices,OwnerIndices:this.ownerIndices,OriginalOwnerIndices:this.originalOwnerIndices,RelativePositions:this.relPositions,Orientations:this.orientations,CollisionFlags_Player:this.colPlayer.toValue(),CollisionFlags_Player1:this.colPlayer1.toValue(),CollisionFlags_Player2:this.colPlayer2.toValue(),CollisionFlags_Player3:this.colPlayer3.toValue(),CollisionFlags_Weapon:this.colWeapon.toValue(),CollisionFlags_Interaction:this.colInteraction.toValue(),CollisionFlags_Physics:this.colPhysics.toValue(),VisibilityFlags:this.visibility.toValue(),MaterialIndices:this.materialIndices,ColorsAndAlphas:this.colors,bColorsAreLinear:!1}}},oo=class{constructor(){this.counters=[],this.brickIndices=[],this.trailing=[],this.microchipBrickIndices=[],this.microchipGridReferences=[],this.numComponents=0}add(e,t,n,r){let i=this.counters[this.counters.length-1];i&&i.TypeIndex===e?i.NumInstances+=1:this.counters.push({TypeIndex:e,NumInstances:1}),this.brickIndices.push(t),n!==`None`&&this.trailing.push({structName:n,data:r}),this.numComponents+=1}addMicrochipLink(e,t){this.microchipBrickIndices.push(e),this.microchipGridReferences.push(t)}toBytes(e){let t=new Wi;e.writeValue(t,`BRSavedComponentChunkSoA`,{ComponentTypeCounters:this.counters,ComponentBrickIndices:this.brickIndices,JointBrickIndices:[],JointEntityReferences:[],JointInitialRelativeOffsets:[],JointInitialRelativeRotations:[],MicrochipBrickIndices:this.microchipBrickIndices,MicrochipBrickGridReferences:this.microchipGridReferences});for(let n of this.trailing)e.writeValue(t,n.structName,e.fillStruct(n.structName,n.data,ta.get(n.structName)));return t.toBytes()}};function so(e){let t=[{guid:oa,name:`PUBLIC`,display:`PUBLIC`}];for(let n of e??[])t.push({guid:sa(n.id??`00000000-0000-0000-0000-000000000000`),name:n.name??`Unknown`,display:n.display_name??n.name??`Unknown`});return t}function co(e,t={}){let n=ro(e),r=(e.wires??[]).filter(e=>`component_type`in e.source);return lo({description:e.description,authorName:e.author?.name,ownerRows:so(e.brick_owners),grids:[n],gridIds:[1],entities:[],wires:r.map(e=>({source:{gridSlot:0,brickIndex:e.source.brick_index,componentType:e.source.component_type,port:e.source.port},target:{gridSlot:0,brickIndex:e.target.brick_index,componentType:e.target.component_type,port:e.target.port}})),microchipLinks:[],prefab:null},t)}function lo(e,t={}){let n=e.grids.flat(),r=new io,i=new io,a=new io;for(let e of n)r.add(e.materialName),(e.procedural?a:i).add(e.assetName);if(r.size>256)throw Error(`brdb: too many distinct materials (${r.size}); MaterialIndices is u8 (max 256)`);let o={materials:r,basic:i,procedural:a},s=i.size,c=new io,l=[];for(let e of n)for(let t of e.components){let e=c.size;c.add(t.type)===e&&l.push(ea.get(t.type))}let u=new io;e.wires.forEach((t,n)=>{for(let[r,i]of[[`source`,t.source],[`target`,t.target]]){let t=e.grids[i.gridSlot]?.length??0;if(!Number.isInteger(i.brickIndex)||i.brickIndex<0||i.brickIndex>=t)throw Error(`brdb: wires[${n}].${r}: brick_index ${i.brickIndex} out of range`);if(!c.has(i.componentType))throw Error(`brdb: wires[${n}].${r}: component type '${i.componentType}' is not used by any brick`);u.add(i.port)}});let d=new io,f=[];for(let t of e.entities){let e=d.size;d.add(t.type)===e&&f.push(t.className)}let p=Ya.fromData(Va.BRSavedComponentChunkSoA);if(c.size>0){let e=[];for(let t of l)t!==`None`&&!e.includes(t)&&e.push(t);p.merge(Za(`BRSavedComponentChunkSoA_max`).extractStructsTransitive(e))}let m=e.ownerRows,h=m.map(()=>0),g=m.map(()=>0),_=m.map(()=>0);for(let t of e.entities)_[t.ownerIndex]+=1;let v=e.grids.map(e=>{let t={chunkOrder:[],chunks:new Map,componentChunks:new Map,brickLocations:[],wireChunks:new Map,chunkWireCounts:new Map};for(let n of e){let{chunk:e,rel:r}=no(n.position),i=e.join(`_`),a=t.chunks.get(i);a||(a={index:e,builder:new ao},t.chunks.set(i,a),t.chunkOrder.push(i));let u=a.builder.numBricks;if(a.builder.addBrick(n,r,o,s),t.brickLocations.push({key:i,chunk:e,localIndex:u}),h[n.ownerIndex]+=1,n.components.length>0){g[n.ownerIndex]+=n.components.length;let e=t.componentChunks.get(i);e||t.componentChunks.set(i,e=new oo);for(let t of n.components){let n=c.indexOf(t.type);e.add(n,u,l[n],t.data??{})}}}return t});for(let t of e.microchipLinks){let e=v[t.gridSlot],n=e?.brickLocations[t.brickIndex];if(!n)throw Error(`brdb: microchip link brick index ${t.brickIndex} out of range`);let r=e.componentChunks.get(n.key);r||e.componentChunks.set(n.key,r=new oo),r.addMicrochipLink(n.localIndex,t.gridReference)}for(let t of e.wires){let n=v[t.source.gridSlot].brickLocations[t.source.brickIndex],r=v[t.target.gridSlot],i=r.brickLocations[t.target.brickIndex],a={BrickIndexInChunk:i.localIndex,ComponentTypeIndex:c.indexOf(t.target.componentType),PortIndex:u.indexOf(t.target.port)},o=r.wireChunks.get(i.key);o||r.wireChunks.set(i.key,o={remoteSources:[],localSources:[],remoteTargets:[],localTargets:[]}),r.chunkWireCounts.set(i.key,(r.chunkWireCounts.get(i.key)??0)+1),t.source.gridSlot===t.target.gridSlot&&n.key===i.key?(o.localSources.push({BrickIndexInChunk:n.localIndex,ComponentTypeIndex:c.indexOf(t.source.componentType),PortIndex:u.indexOf(t.source.port)}),o.localTargets.push(a)):(o.remoteSources.push({GridPersistentIndex:e.gridIds[t.source.gridSlot],ChunkIndex:{X:n.chunk[0],Y:n.chunk[1],Z:n.chunk[2]},BrickIndexInChunk:n.localIndex,ComponentTypeIndex:c.indexOf(t.source.componentType),PortIndex:u.indexOf(t.source.port)}),o.remoteTargets.push(a))}let y=Za(`BRSavedGlobalDataSoA`),b=Za(`BRSavedOwnerTableSoA`),x=Za(`BRSavedBrickChunkIndexSoA`),S=Za(`BRSavedBrickChunkSoA`),C=Za(`BRSavedWireChunkSoA`),w=Za(`BRSavedEntityChunkIndexSoA`),T=Za(`BRSavedEntityChunkSoA`),E=y.encode(`BRSavedGlobalDataSoA`,{EntityTypeNames:d.names,EntityDataClassNames:f,BasicBrickAssetNames:i.names,ProceduralBrickAssetNames:a.names,MaterialAssetNames:r.names,ComponentTypeNames:c.names,ComponentDataStructNames:l,ComponentWirePortNames:u.names,ExternalAssetReferences:[],GlobalGridEntityTypeIndex:-1}),D=b.encode(`BRSavedOwnerTableSoA`,{UserIds:m.map(e=>({A:e.guid.A,B:e.guid.B,C:e.guid.C,D:e.guid.D})),UserNames:m.map(e=>e.name),DisplayNames:m.map(e=>e.display),EntityCounts:_,BrickCounts:h,ComponentCounts:g,WireCounts:m.map(()=>0)}),O=e.entities.length,k=w.encode(`BRSavedEntityChunkIndexSoA`,{NextPersistentIndex:2+O,Chunk3DIndices:O?[{X:0,Y:0,Z:0}]:[],NumEntities:O?[O]:[]}),A=null;if(O>0){let t=[],n=new zr,r=new zr;for(let i of e.entities){let e=d.indexOf(i.type),a=t[t.length-1];a&&a.TypeIndex===e?a.NumEntities+=1:t.push({TypeIndex:e,NumEntities:1}),n.push(i.frozen),r.push(i.sleeping)}let i=new Wi;T.writeValue(i,`BRSavedEntityChunkSoA`,{TypeCounters:t,PersistentIndices:e.entities.map((e,t)=>2+t),OwnerIndices:e.entities.map(e=>e.ownerIndex),OriginalOwnerIndices:e.entities.map(e=>e.ownerIndex),Locations:e.entities.map(e=>e.location),Rotations:e.entities.map(e=>e.rotation),WeldParentFlags:{Flags:[]},PhysicsLockedFlags:n.toValue(),PhysicsSleepingFlags:r.toValue(),WeldParentIndices:[],LinearVelocities:e.entities.map(e=>e.velocity),AngularVelocities:e.entities.map(e=>e.angularVelocity),ColorsAndAlphas:e.entities.map(e=>Object.fromEntries(e.colors.map((e,t)=>[`Color${t}`,e]))),RemainingLifeSpans:e.entities.map(()=>0),bColorsAreLinear:!1}),e.entities.forEach((e,t)=>{if(e.className!==`None`)try{T.writeValue(i,e.className,T.fillStruct(e.className,e.data))}catch(n){throw Error(`brdb: entities[${t}] (${e.type}) data: ${n.message}`)}}),A=i.toBytes()}let j=new TextEncoder,M={type:e.prefab?`Prefab`:`World`,iD:`00000000-0000-0000-0000-000000000000`,name:``,version:``,tags:[],authors:e.authorName?[e.authorName]:[],createdAt:`0001.01.01-00.00.00`,updatedAt:`0001.01.01-00.00.00`,description:e.description??`A Generated World`,dependencies:[],gameVersion:`CL0`,...t.bundle},ee=(e,t)=>{let n=t?0:$a,r=[[`ChunkIndex.mps`,X(x.encode(`BRSavedBrickChunkIndexSoA`,{Chunk3DIndices:e.chunkOrder.map(t=>{let[n,r,i]=e.chunks.get(t).index;return{X:n,Y:r,Z:i}}),ChunkOffsets:e.chunkOrder.map(()=>({X:n,Y:n,Z:n})),ChunkSizes:e.chunkOrder.map(()=>Qa),NumBricks:e.chunkOrder.map(t=>e.chunks.get(t).builder.numBricks),NumComponents:e.chunkOrder.map(t=>e.componentChunks.get(t)?.numComponents??0),NumWires:e.chunkOrder.map(t=>e.chunkWireCounts.get(t)??0)}))]];return e.chunkOrder.length>0&&r.push([`Chunks`,la(e.chunkOrder.map(t=>[`${t}.mps`,X(S.encode(`BRSavedBrickChunkSoA`,e.chunks.get(t).builder.toValue(s)))]))]),e.componentChunks.size>0&&r.push([`Components`,la(e.chunkOrder.filter(t=>e.componentChunks.has(t)).map(t=>[`${t}.mps`,X(e.componentChunks.get(t).toBytes(p))]))]),e.wireChunks.size>0&&r.push([`Wires`,la(e.chunkOrder.filter(t=>e.wireChunks.has(t)).map(t=>{let n=e.wireChunks.get(t);return[`${t}.mps`,X(C.encode(`BRSavedWireChunkSoA`,{RemoteWireSources:n.remoteSources,LocalWireSources:n.localSources,RemoteWireTargets:n.remoteTargets,LocalWireTargets:n.localTargets,PendingPropagationFlags:{Flags:[]}}))]}))]),r},te=[[`Bundle.json`,X(j.encode(JSON.stringify(M)))]];e.prefab?te.push([`Prefab.json`,X(j.encode(JSON.stringify(e.prefab)))]):te.push([`World.json`,X(j.encode(JSON.stringify({environment:t.environment??`Plate`})))]);let ne=[[`ChunkIndex.schema`,X(w.toBinary())],[`ChunkIndex.mps`,X(k)],[`ChunksShared.schema`,X(T.toBinary())]];return A&&ne.push([`Chunks`,la([[`0_0_0.mps`,X(A)]])]),[[`Meta`,la(te)],[`World`,la([[`0`,la([[`GlobalData.schema`,X(y.toBinary())],[`GlobalData.mps`,X(E)],[`Owners.schema`,X(b.toBinary())],[`Owners.mps`,X(D)],[`Bricks`,la([[`ChunkIndexShared.schema`,X(x.toBinary())],[`ChunksShared.schema`,X(S.toBinary())],[`WiresShared.schema`,X(C.toBinary())],[`ComponentsShared.schema`,X(p.toBinary())],[`Grids`,la(v.map((t,n)=>[String(e.gridIds[n]),la(ee(t,e.gridIds[n]===1))]))]])],[`Entities`,la(ne)]])]])]]}function uo(e,t,n){let r=e.type??`Entity_DynamicBrickGrid`,i=ra.get(r);if(i===void 0)throw Error(`brdb: entities[${t}]: unknown entity type '${r}'`);let a=e.owner_index??0;if(!Number.isInteger(a)||a<0||a>n)throw Error(`brdb: entities[${t}]: owner_index ${a} out of range (0..${n})`);let o=[...e.colors??[]];if(o.length>8)throw Error(`brdb: entities[${t}]: at most 8 colors, got ${o.length}`);for(;o.length<8;)o.push({R:255,G:255,B:255,A:255});return{type:r,className:i,location:e.location??{X:0,Y:0,Z:0},rotation:e.rotation??{X:0,Y:0,Z:0,W:1},ownerIndex:a,frozen:e.frozen??!1,sleeping:e.sleeping??!1,velocity:e.linear_velocity??{X:0,Y:0,Z:0},angularVelocity:e.angular_velocity??{X:0,Y:0,Z:0},colors:o,data:e.data??{}}}function fo(e,t){let n=[0,0,0],r=[0,0,0];e.forEach((e,t)=>{let i=e.procedural?e.size:e.assetName===`B_1x1_Microchip`?[5,5,2]:[5,5,6];for(let a=0;a<3;a++){let o=e.position[a]-i[a],s=e.position[a]+i[a];(t===0||o<n[a])&&(n[a]=o),(t===0||s>r[a])&&(r[a]=s)}});let i={center:{x:(n[0]+r[0])/2,y:(n[1]+r[1])/2,z:(n[2]+r[2])/2},halfExtent:{x:(r[0]-n[0])/2,y:(r[1]-n[1])/2,z:(r[2]-n[2])/2}};return{pivots:{bottomStudsPivot:i,studsExpandedPivot:i,topStudsPivot:i,boundsPivot:i,bottomStudsDirection:`Z_Negative`,topStudsDirection:`Z_Positive`,bBottomStudsValid:!0,bTopStudsValid:!0},addedGlobalGridOffset:t.addedGlobalGridOffset??{x:0,y:0,z:0},bIsPhysicsGrid:t.isPhysicsGrid??!1,bFreezePhysicsGrid:t.freezePhysicsGrid??!1,bFreezeGlobalGrid:t.freezeGlobalGrid??!1,bIsMicrochipPrefab:t.isMicrochipPrefab??!1}}var po=class{constructor(){this.gridBrickInputs=[[]],this.gridEntityOrders=[],this.entityInputs=[],this.wireList=[],this.chipLinks=[],this.ownerList=[],this.prefabOptions=null}addOwner(e){return this.ownerList.push(e),this.ownerList.length}addBrick(e,t){let n=t?.grid??0,r=this.gridBrickInputs[n];if(!r)throw Error(`brdb: unknown grid handle (slot ${n})`);return r.push(e),{grid:n,index:r.length-1}}addBricks(e,t){return[...e].map(e=>this.addBrick(e,t))}addEntity(e={}){return this.entityInputs.push(e),{entityOrder:this.entityInputs.length-1}}addBrickGrid(e={}){let t=this.addEntity({type:`Entity_DynamicBrickGrid`,...e});return this.gridBrickInputs.push([]),this.gridEntityOrders.push(t.entityOrder),{grid:this.gridBrickInputs.length-1,entityOrder:t.entityOrder}}addWire(e,t){this.wireList.push({source:e,target:t})}registerMicrochipLink(e,t){this.chipLinks.push({brick:e,grid:t})}addMicrochip(e){let t=this.addBrick({asset:`B_1x1_Microchip`,position:e.position,color:e.color,owner_index:e.owner_index,components:[{type:`Component_Internal_Microchip`}]}),n=this.addBrickGrid({type:`Entity_MicrochipDynamicBrickGrid`,location:e.entityLocation??{X:0,Y:0,Z:40},data:{bCollapsed:e.collapsed??!0,PlaneCenter:{X:0,Y:0,Z:0},PlaneExtent:e.planeExtent??{X:14,Y:14,Z:2}}});return this.registerMicrochipLink(t,n),{brick:t,grid:n}}makePrefab(e={}){this.prefabOptions=e}toPendingFs(e={}){let t=new io,n=new io;for(let e of this.gridBrickInputs)for(let r of e)t.add(r.asset??`PB_DefaultBrick`),n.add(r.material??`BMC_Plastic`);let r=this.gridBrickInputs.map((e,r)=>ro({brick_assets:t.names,materials:n.names,brick_owners:this.ownerList,bricks:e.map(e=>({...e,asset_name_index:t.indexOf(e.asset??`PB_DefaultBrick`),material_index:n.indexOf(e.material??`BMC_Plastic`),size:e.size??(e.asset===void 0?[5,5,6]:void 0),position:r===0?e.position:e.position.map(e=>e-$a),color:e.color??[255,255,255]}))})),i=this.entityInputs.map((e,t)=>uo(e,t,this.ownerList.length)),a=[1,...this.gridEntityOrders.map(e=>2+e)];return lo({ownerRows:so(this.ownerList),grids:r,gridIds:a,entities:i,wires:this.wireList.map(e=>({source:{gridSlot:e.source.brick.grid,brickIndex:e.source.brick.index,componentType:e.source.component_type,port:e.source.port},target:{gridSlot:e.target.brick.grid,brickIndex:e.target.brick.index,componentType:e.target.component_type,port:e.target.port}})),microchipLinks:this.chipLinks.map(e=>({gridSlot:e.brick.grid,brickIndex:e.brick.index,gridReference:2+e.grid.entityOrder})),prefab:this.prefabOptions?fo(r[0],this.prefabOptions):null},e)}toBrz(e={}){return Ki(this.toPendingFs(e),{compress:e.compress})}};function mo(e,t={}){let n={compress:t.compress};return Ki(co(e,t),n)}function ho(e){let t=e<=15?15:255;return Math.trunc((e/255)**(1/2.2)*t)}function go(e){return{...e,R:ho(e.R),G:ho(e.G),B:ho(e.B)}}function _o(e){let t={};for(let[n,r]of Object.entries(e))t[n]=go(r);return t}function vo(e,t,n){let r=0;for(let t of e.BrickSizeCounters)r+=t.NumSizes;if(r<0||r>e.BrickSizes.length)throw Error(`brdb: brick size counters exceed size table`);let i=[];for(let t of e.BrickSizeCounters)for(let e=0;e<t.NumSizes;e++)i.push(t.AssetIndex);let a=e.ProceduralBrickStartingIndex,o=e.bColorsAreLinear??!0,s=[];for(let r=0;r<e.BrickTypeIndices.length;r++){let c=e.BrickTypeIndices[r],l,u;if(c<a)l=c,u=[0,0,0];else{let t=c-a,r=e.BrickSizes[t];if(r===void 0||i[t]===void 0)throw Error(`brdb: invalid procedural size slot ${t}`);l=n+i[t],u=[r.X,r.Y,r.Z]}let d=e.RelativePositions[r],f=e.Orientations[r],p=e.ColorsAndAlphas[r],m=o?go(p):p;s.push({asset_name_index:l,size:u,position:[t.x*Qa+$a+d.X,t.y*Qa+$a+d.Y,t.z*Qa+$a+d.Z],direction:f>>2&7,rotation:f&3,collision:{player:Rr(e.CollisionFlags_Player,r),weapon:Rr(e.CollisionFlags_Weapon,r),interaction:Rr(e.CollisionFlags_Interaction,r),tool:!0,physics:Rr(e.CollisionFlags_Physics,r)},visibility:Rr(e.VisibilityFlags,r),material_index:e.MaterialIndices[r],material_intensity:m.A,color:[m.R,m.G,m.B],owner_index:e.OwnerIndices[r]})}return s}var yo=class e{constructor(e,t=0){this.fs=e,this.worldId=t,this.schemas=new Map,this.values=new Map}static from(t){return new e(qi.from(t))}path(e){return`World/${this.worldId}/${e}`}schema(e){let t=this.fs.findFileByPath(e);if(!t)throw Error(`brdb: file not found: ${e}`);return this.schemaAt(e,t.createdAt)}schemaAt(e,t){let n=`${e}@${t}`,r=this.schemas.get(n);if(!r){let i=this.fs.findFileByPathAtRevision(e,t);if(!i)throw Error(`brdb: file not found: ${e} at ${t}`);r=Ya.fromBinary(this.fs.readBlob(i.contentId)),this.schemas.set(n,r)}return r}decode(e,t,n){let r=this.fs.findFileByPath(e);if(!r)throw Error(`brdb: file not found: ${e}`);return this.schemaAt(t,r.createdAt).decode(this.fs.readBlob(r.contentId),n)}cached(e,t){return this.values.has(e)||this.values.set(e,t()),this.values.get(e)}bundle(){return this.cached(`Meta/Bundle.json`,()=>JSON.parse(new TextDecoder().decode(this.fs.readFile(`Meta/Bundle.json`))))}environment(){return this.cached(`Meta/World.json`,()=>JSON.parse(new TextDecoder().decode(this.fs.readFile(`Meta/World.json`))))}globalData(){return this.cached(this.path(`GlobalData.mps`),()=>this.decode(this.path(`GlobalData.mps`),this.path(`GlobalData.schema`),`BRSavedGlobalDataSoA`))}owners(){return this.cached(this.path(`Owners.mps`),()=>this.decode(this.path(`Owners.mps`),this.path(`Owners.schema`),`BRSavedOwnerTableSoA`))}brickAssets(){let e=this.globalData();return[...e.BasicBrickAssetNames,...e.ProceduralBrickAssetNames]}materials(){return this.globalData().MaterialAssetNames}brickOwners(){let e=this.owners(),t=[];for(let n=1;n<e.UserNames.length;n++)t.push({id:ca(e.UserIds[n]),name:e.UserNames[n],display_name:e.DisplayNames[n],bricks:e.BrickCounts[n]});return t}gridIds(){return this.fs.childFolders(this.path(`Bricks/Grids`)).map(Number).sort((e,t)=>e-t)}brickChunkIndex(e=1){let t=this.decode(this.path(`Bricks/Grids/${e}/ChunkIndex.mps`),this.path(`Bricks/ChunkIndexShared.schema`),`BRSavedBrickChunkIndexSoA`);return t.Chunk3DIndices.map((e,n)=>{let r=t.ChunkOffsets?.[n];return{index:{x:e.X,y:e.Y,z:e.Z},offset:r?{x:r.X,y:r.Y,z:r.Z}:{x:$a,y:$a,z:$a},size:t.ChunkSizes?.[n]??2048,numBricks:t.NumBricks[n],numComponents:t.NumComponents[n],numWires:t.NumWires[n]}})}brickChunkSoa(e,t){return this.decode(this.path(`Bricks/Grids/${e}/Chunks/${t.x}_${t.y}_${t.z}.mps`),this.path(`Bricks/ChunksShared.schema`),`BRSavedBrickChunkSoA`)}*bricks(e=1){let t=this.globalData().BasicBrickAssetNames.length;for(let n of this.brickChunkIndex(e))yield*vo(this.brickChunkSoa(e,n.index),n.index,t)}entityChunkIndex(){let e=this.decode(this.path(`Entities/ChunkIndex.mps`),this.path(`Entities/ChunkIndex.schema`),`BRSavedEntityChunkIndexSoA`);return{nextPersistentIndex:e.NextPersistentIndex,chunks:e.Chunk3DIndices.map((t,n)=>({index:{x:t.X,y:t.Y,z:t.Z},numEntities:e.NumEntities[n]}))}}componentChunk(e,t){let n=this.path(`Bricks/Grids/${e}/Components/${t.x}_${t.y}_${t.z}.mps`),r=this.fs.findFileByPath(n);if(!r)throw Error(`brdb: file not found: ${n}`);let i=this.fs.readBlob(r.contentId),a=this.schemaAt(this.path(`Bricks/ComponentsShared.schema`),r.createdAt),o=this.globalData(),s=new Gi(i),c=a.readValue(s,`BRSavedComponentChunkSoA`),l=0;for(let e of c.ComponentTypeCounters)l+=e.NumInstances;if(l!==c.ComponentBrickIndices.length)throw Error(`brdb: component counters do not match brick index count`);let u=[],d=0;for(let e of c.ComponentTypeCounters){let t=o.ComponentTypeNames[e.TypeIndex]??`<invalid>`,n=o.ComponentDataStructNames[e.TypeIndex],r=n&&n!==`None`?n:null;for(let n=0;n<e.NumInstances;n++)u.push({typeName:t,structName:r,brickIndex:c.ComponentBrickIndices[d],data:r?a.readValue(s,r):null}),d+=1}if(s.remaining!==0)throw Error(`brdb: ${s.remaining} trailing bytes after component chunk`);return{soa:c,components:u}}wireChunk(e,t){let n=this.decode(this.path(`Bricks/Grids/${e}/Wires/${t.x}_${t.y}_${t.z}.mps`),this.path(`Bricks/WiresShared.schema`),`BRSavedWireChunkSoA`),r=this.globalData(),i=e=>({brickIndex:e.BrickIndexInChunk,componentType:r.ComponentTypeNames[e.ComponentTypeIndex]??`<invalid>`,port:r.ComponentWirePortNames[e.PortIndex]??`<invalid>`});return{local:n.LocalWireSources.map((e,t)=>({source:i(e),target:i(n.LocalWireTargets[t])})),remote:n.RemoteWireSources.map((e,t)=>({source:{...i(e),gridId:e.GridPersistentIndex,chunk:{x:e.ChunkIndex.X,y:e.ChunkIndex.Y,z:e.ChunkIndex.Z}},target:i(n.RemoteWireTargets[t])}))}}entityChunk(e){let t=this.path(`Entities/Chunks/${e.x}_${e.y}_${e.z}.mps`),n=this.fs.findFileByPath(t);if(!n)throw Error(`brdb: file not found: ${t}`);let r=this.fs.readBlob(n.contentId),i=this.schemaAt(this.path(`Entities/ChunksShared.schema`),n.createdAt),a=this.globalData(),o=new Gi(r),s=i.readValue(o,`BRSavedEntityChunkSoA`),c=0;for(let e of s.TypeCounters)c+=e.NumEntities;if(c!==s.PersistentIndices.length)throw Error(`brdb: entity counters do not match persistent index count`);let l=a.EntityDataClassNames??a.EntityTypeNames.map(e=>ra.get(e)??`Unknown`),u=s.bColorsAreLinear??!0,d=[],f=0;for(let e of s.TypeCounters){let t=a.EntityTypeNames[e.TypeIndex]??`<invalid>`,n=l[e.TypeIndex],r=n&&n!==`None`?n:null;for(let n=0;n<e.NumEntities;n++){let e=s.ColorsAndAlphas[f];d.push({typeName:t,className:r,persistentIndex:s.PersistentIndices[f],ownerIndex:s.OwnerIndices[f],originalOwnerIndex:s.OriginalOwnerIndices?.[f]??s.OwnerIndices[f],location:s.Locations[f],rotation:s.Rotations[f],frozen:Rr(s.PhysicsLockedFlags,f),sleeping:Rr(s.PhysicsSleepingFlags,f),linearVelocity:s.LinearVelocities[f],angularVelocity:s.AngularVelocities[f],colors:u?_o(e):e,remainingLifeSpan:s.RemainingLifeSpans?.[f]??0,data:r?i.readValue(o,r):null}),f+=1}}if(o.remaining!==0)throw Error(`brdb: ${o.remaining} trailing bytes after entity chunk`);return d}*entities(){for(let e of this.entityChunkIndex().chunks)yield*this.entityChunk(e.index)}},bo,$=`
2
+ `,xo=`
3
+ `,So=`CREATE TABLE blobs (${$}blob_id INTEGER PRIMARY KEY,${$}compression INTEGER,${$}size_uncompressed INTEGER,${$}size_compressed INTEGER,${$}delta_base_id INTEGER REFERENCES blobs(blob_id),${$}hash BLOB,${$}content BLOB${xo});\nCREATE TABLE revisions (${$}revision_id INTEGER PRIMARY KEY,${$}description TEXT,${$}created_at INTEGER${xo});\nCREATE TABLE folders (${$}folder_id INTEGER PRIMARY KEY,${$}parent_id INTEGER REFERENCES folders(folder_id),${$}name TEXT,${$}created_at INTEGER,${$}deleted_at INTEGER${xo});\nCREATE TABLE files (${$}file_id INTEGER PRIMARY KEY,${$}parent_id INTEGER REFERENCES folders(folder_id),${$}name TEXT,${$}content_id INTEGER REFERENCES blobs(blob_id),${$}created_at INTEGER,${$}deleted_at INTEGER${xo});\nCREATE INDEX blobs_size_hash ON blobs(size_uncompressed, hash);
4
4
  CREATE INDEX folders_parent_name_deleted ON folders(parent_id, name, deleted_at);
5
- CREATE INDEX files_parent_name_deleted ON files(parent_id, name, deleted_at);`,vo=[`blobs`,`revisions`,`folders`,`files`],yo=()=>Math.floor(Date.now()/1e3),bo=e=>typeof Buffer>`u`?e:Buffer.from(e.buffer,e.byteOffset,e.byteLength),xo=e=>{try{return typeof process<`u`?process?.getBuiltinModule?.(e)??null:null}catch{return null}},So=null,Co=e=>(So??(So=Function(`specifier`,`return import(specifier)`)),So(e));async function wo(){try{let e=await(Eo.engineLoader??(()=>Co(`better-sqlite3`)))();return e.default??e}catch{throw Error(`brdb: the Brdb openers require better-sqlite3 (npm install better-sqlite3), or wrap your own handle with new Brdb(db)`)}}function To(){let e=xo(`node:zlib`);if(typeof e?.zstdCompressSync!=`function`)return null;let t=e.constants.ZSTD_c_compressionLevel;return n=>new Uint8Array(e.zstdCompressSync(n,{params:{[t]:14}}))}var Eo=class e{constructor(e){this.db=e,this.defaultCompress=null;for(let e of vo)if(!this.db.prepare(`SELECT name FROM sqlite_schema WHERE type = 'table' AND name = ?`).get(e))throw Error(`brdb: missing required table '${e}'`)}static init(t,n=yo()){t.exec(_o);let r=new e(t);return r.createRevision(`Initial Revision`,n),r}static async wrap(t,n){try{let r=n?e.init(t):new e(t);return r.defaultCompress=To(),r}catch(e){throw t.close(),e}}static async open(t){return e.wrap(new(await(wo()))(t,{fileMustExist:!0}),!1)}static async openReadonly(t){return e.wrap(new(await(wo()))(t,{readonly:!0,fileMustExist:!0}),!1)}static async create(t){return e.wrap(new(await(wo()))(t),!0)}static async openOrCreate(t){let n=xo(`node:fs`);if(!n)throw Error(`brdb: openOrCreate requires node 22.3 or newer; call open or create explicitly`);return n.existsSync(t)?e.open(t):e.create(t)}static async memory(){return e.wrap(new(await(wo()))(`:memory:`),!0)}static async fromBytes(t){return e.wrap(new(await(wo()))(Buffer.from(t)),!1)}toBytes(){let e=this.db.serialize;if(typeof e!=`function`)throw Error(`brdb: toBytes requires a better-sqlite3 database handle`);return new Uint8Array(e.call(this.db))}save(e,t,n={}){this.writePending(e,so(t,n),n)}worldReader(){return new mo(this)}sqliteSchema(){return this.db.prepare(`SELECT sql FROM sqlite_schema`).all().map(e=>e.sql).join(`
6
- `)}createRevision(e,t=yo()){return Number(this.db.prepare(`INSERT INTO revisions (description, created_at) VALUES (?, ?);`).run(e,t).lastInsertRowid)}revisions(){return this.db.prepare(`SELECT revision_id, description, created_at FROM revisions ORDER BY revision_id;`).all().map(e=>({revisionId:Number(e.revision_id),description:String(e.description),createdAt:Number(e.created_at)}))}insertFolder(e,t,n){return Number(this.db.prepare(`INSERT INTO folders (name, parent_id, created_at) VALUES (?, ?, ?);`).run(e,t,n).lastInsertRowid)}insertFile(e,t,n,r){return Number(this.db.prepare(`INSERT INTO files (name, parent_id, content_id, created_at) VALUES (?, ?, ?, ?);`).run(e,t,n,r).lastInsertRowid)}insertBlob(e,t,n){let r=this.findBlobByHash(e.length,t);if(r)return r.blobId;let i=e.length,a=i,o=0,s=e,c=n?n(e):null;return c&&c.length<i&&(a=c.length,o=1,s=c),Number(this.db.prepare(`INSERT INTO blobs (compression, size_uncompressed, size_compressed, delta_base_id, hash, content) VALUES (?, ?, ?, ?, ?, ?);`).run(o,i,a,null,bo(t),bo(s)).lastInsertRowid)}findBlobByHash(e,t){let n=this.db.prepare(`SELECT blob_id, compression, size_uncompressed, size_compressed, delta_base_id, hash, content FROM blobs WHERE hash = ? AND size_uncompressed = ? LIMIT 1;`).get(bo(t),e);return n?Do(n):null}findBlob(e){let t=this.db.prepare(`SELECT blob_id, compression, size_uncompressed, size_compressed, delta_base_id, hash, content FROM blobs WHERE blob_id = ?;`).get(e);if(!t)throw Error(`brdb: blob ${e} not found`);return Do(t)}deleteFile(e,t){this.db.prepare(`UPDATE files SET deleted_at = ? WHERE file_id = ?;`).run(t,e)}deleteFolder(e,t){this.db.prepare(`UPDATE folders SET deleted_at = ? WHERE folder_id = ?;`).run(t,e)}findFolder(e,t){let n=this.db.prepare(`SELECT folder_id FROM folders WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND name = ? AND deleted_at IS NULL;`).get(...e===null?[t]:[e,t]);return n?Number(n.folder_id):null}findFolderAtRevision(e,t,n){let r=this.db.prepare(`SELECT folder_id FROM folders WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND name = ? AND created_at <= ? AND (deleted_at IS NULL OR deleted_at > ?) ORDER BY created_at ASC LIMIT 1;`).get(...e===null?[t,n,n]:[e,t,n,n]);return r?Number(r.folder_id):null}findFile(e,t){let n=this.db.prepare(`SELECT content_id, created_at FROM files WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND name = ? AND deleted_at IS NULL;`).get(...e===null?[t]:[e,t]);return n?Oo(n):null}findFileAtRevision(e,t,n){let r=this.db.prepare(`SELECT content_id, created_at FROM files WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND name = ? AND created_at <= ? AND (deleted_at IS NULL OR deleted_at > ?) ORDER BY created_at ASC LIMIT 1;`).get(...e===null?[t,n,n]:[e,t,n,n]);return r?Oo(r):null}close(){this.db.close()}writePending(e,t,n={}){let r=n.createdAt??yo(),i=n.compress===void 0?this.defaultCompress:n.compress;this.db.exec(`BEGIN`);try{this.createRevision(e,r),this.mergeFolder(null,t,r,i),this.db.exec(`COMMIT`)}catch(e){try{this.db.exec(`ROLLBACK`)}catch{}throw e}}currentFolders(e){let t=this.db.prepare(`SELECT folder_id, name FROM folders WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND deleted_at IS NULL ORDER BY name;`);return(e===null?t.all():t.all(e)).map(e=>({folderId:Number(e.folder_id),name:String(e.name)}))}currentFiles(e){let t=this.db.prepare(`SELECT file_id, name, content_id FROM files WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND deleted_at IS NULL ORDER BY name;`);return(e===null?t.all():t.all(e)).map(e=>({fileId:Number(e.file_id),name:String(e.name),contentId:e.content_id===null?null:Number(e.content_id)}))}mergeFolder(e,t,n,r){let i=new Map(this.currentFolders(e).map(e=>[e.name,e.folderId])),a=new Map(this.currentFiles(e).map(e=>[e.name,e])),o=new Set;for(let[s,c]of t){if(o.has(s))throw Error(`brdb: duplicate name '${s}' in pending tree`);if(o.add(s),c.type===`folder`){if(a.has(s))throw Error(`brdb: pending folder '${s}' collides with an existing file`);let t=i.get(s);t===void 0?this.insertPending(s,e,c,n,r):this.mergeFolder(t,c.children,n,r)}else{if(i.has(s))throw Error(`brdb: pending file '${s}' collides with an existing folder`);let t=a.get(s);if(t===void 0){this.insertPending(s,e,c,n,r);continue}let o=gi(c.content),l=this.findBlobByHash(c.content.length,o);if(l&&t.contentId===l.blobId)continue;this.deleteFile(t.fileId,n);let u=this.insertBlob(c.content,o,r);this.insertFile(s,e,u,n)}}for(let[e,t]of i)o.has(e)||this.deleteFolderRecursive(t,n);for(let[e,t]of a)o.has(e)||this.deleteFile(t.fileId,n)}insertPending(e,t,n,r,i){if(n.type===`folder`){let a=this.insertFolder(e,t,r),o=new Set;for(let[e,t]of n.children){if(o.has(e))throw Error(`brdb: duplicate name '${e}' in pending tree`);o.add(e),this.insertPending(e,a,t,r,i)}}else{let a=this.insertBlob(n.content,gi(n.content),i);this.insertFile(e,t,a,r)}}deleteFolderRecursive(e,t){this.deleteFolder(e,t);for(let n of this.currentFolders(e))this.deleteFolderRecursive(n.folderId,t);for(let n of this.currentFiles(e))this.deleteFile(n.fileId,t)}folderIdOf(e,t){if(e===``)return null;let n=null;for(let r of e.split(`/`)){let e=t===void 0?this.findFolder(n,r):this.findFolderAtRevision(n,r,t)??this.findFolder(n,r);if(e===null)return null;n=e}return n}findFileByPath(e){if(e.startsWith(`/`))throw Error(`brdb: absolute paths not allowed`);let t=e.lastIndexOf(`/`),n=t===-1?``:e.slice(0,t),r=this.folderIdOf(n);return n!==``&&r===null?null:this.findFile(r,e.slice(t+1))}findFileByPathAtRevision(e,t){if(e.startsWith(`/`))throw Error(`brdb: absolute paths not allowed`);let n=e.lastIndexOf(`/`),r=n===-1?``:e.slice(0,n),i=this.folderIdOf(r,t);return r!==``&&i===null?null:this.findFileAtRevision(i,e.slice(n+1),t)}childFolders(e){let t=this.folderIdOf(e);return e!==``&&t===null?[]:this.currentFolders(t).map(e=>e.name)}childFiles(e){let t=this.folderIdOf(e);return e!==``&&t===null?[]:this.currentFiles(t).map(e=>e.name)}readBlob(e){if(e===-1)return new Uint8Array;let t=this.findBlob(e);if(t.deltaBaseId!==null)throw Error(`brdb: delta blobs are not supported`);let n=t.content;if(t.compression===1)n=Ui(n,new Uint8Array(t.sizeUncompressed));else if(t.compression!==0)throw Error(`brdb: unknown blob compression ${t.compression}`);if(n.length!==t.sizeUncompressed)throw Error(`brdb: blob uncompressed size mismatch`);return n}readFile(e){let t=this.findFileByPath(e);if(!t)throw Error(`brdb: file not found: ${e}`);return this.readBlob(t.contentId)}toPending(){let e=t=>{let n=[];for(let r of this.currentFolders(t))n.push([r.name,{type:`folder`,children:e(r.folderId)}]);for(let e of this.currentFiles(t))n.push([e.name,{type:`file`,content:this.readBlob(e.contentId??-1)}]);return n};return e(null)}};ho=Eo,ho.engineLoader=null;var Do=e=>({blobId:Number(e.blob_id),compression:Number(e.compression),sizeUncompressed:Number(e.size_uncompressed),sizeCompressed:Number(e.size_compressed),deltaBaseId:e.delta_base_id===null?null:Number(e.delta_base_id),hash:new Uint8Array(e.hash),content:new Uint8Array(e.content)}),Oo=e=>({contentId:e.content_id===null?-1:Number(e.content_id),createdAt:Number(e.created_at)}),ko=n({BASIC_BRICK_ASSETS:()=>Ji,BRDB_SQLITE_SCHEMA:()=>_o,BRICK_ASSETS:()=>Xi,BitFlags:()=>zr,Brdb:()=>Eo,BrdbSchema:()=>Ya,BrzReader:()=>qi,ByteReader:()=>Gi,ByteWriter:()=>Wi,CHUNK_HALF:()=>$a,CHUNK_SIZE:()=>Qa,COMPONENTS:()=>aa,COMPONENT_STRUCT_DEFAULTS:()=>ta,COMPONENT_TYPE_STRUCTS:()=>ea,COMPONENT_WIRE_PORTS:()=>ia,ENTITY_TYPE_STRUCTS:()=>ra,MAIN_GRID:()=>1,PROCEDURAL_BRICK_ASSETS:()=>Yi,PUBLIC_GUID:()=>oa,WIRE_PORT_NAMES:()=>na,WorldReader:()=>mo,bit:()=>Rr,embeddedSchema:()=>Za,file:()=>X,folder:()=>la,guidToUuid:()=>ca,isProceduralAsset:()=>$i,msgpack:()=>ua,saveToPendingFs:()=>so,toRelative:()=>no,uuidToGuid:()=>sa,writeBrzContainer:()=>Ki,writeBrzLegacy:()=>co}),Ao={read:jr,write:Pr,utils:nr,constants:r,types:Fr,brdb:ko};typeof window<`u`&&(window.BRS=Ao),e.Brdb=Eo,e.Direction=Ir,e.Rotation=Lr,e.WorldReader=mo,Object.defineProperty(e,"brdb",{enumerable:!0,get:function(){return ko}}),Object.defineProperty(e,"constants",{enumerable:!0,get:function(){return r}}),e.default=Ao,e.read=jr,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(e,"utils",{enumerable:!0,get:function(){return nr}}),e.write=Pr,e.writeBrzLegacy=co});
5
+ CREATE INDEX files_parent_name_deleted ON files(parent_id, name, deleted_at);`,Co=[`blobs`,`revisions`,`folders`,`files`],wo=()=>Math.floor(Date.now()/1e3),To=e=>typeof Buffer>`u`?e:Buffer.from(e.buffer,e.byteOffset,e.byteLength),Eo=e=>{try{return typeof process<`u`?process?.getBuiltinModule?.(e)??null:null}catch{return null}},Do=null,Oo=e=>(Do??(Do=Function(`specifier`,`return import(specifier)`)),Do(e));async function ko(){try{let e=await(jo.engineLoader??(()=>Oo(`better-sqlite3`)))();return e.default??e}catch{throw Error(`brdb: the Brdb openers require better-sqlite3 (npm install better-sqlite3), or wrap your own handle with new Brdb(db)`)}}function Ao(){let e=Eo(`node:zlib`);if(typeof e?.zstdCompressSync!=`function`)return null;let t=e.constants.ZSTD_c_compressionLevel;return n=>new Uint8Array(e.zstdCompressSync(n,{params:{[t]:14}}))}var jo=class e{constructor(e){this.db=e,this.defaultCompress=null;for(let e of Co)if(!this.db.prepare(`SELECT name FROM sqlite_schema WHERE type = 'table' AND name = ?`).get(e))throw Error(`brdb: missing required table '${e}'`)}static init(t,n=wo()){t.exec(So);let r=new e(t);return r.createRevision(`Initial Revision`,n),r}static async wrap(t,n){try{let r=n?e.init(t):new e(t);return r.defaultCompress=Ao(),r}catch(e){throw t.close(),e}}static async open(t){return e.wrap(new(await(ko()))(t,{fileMustExist:!0}),!1)}static async openReadonly(t){return e.wrap(new(await(ko()))(t,{readonly:!0,fileMustExist:!0}),!1)}static async create(t){return e.wrap(new(await(ko()))(t),!0)}static async openOrCreate(t){let n=Eo(`node:fs`);if(!n)throw Error(`brdb: openOrCreate requires node 22.3 or newer; call open or create explicitly`);return n.existsSync(t)?e.open(t):e.create(t)}static async memory(){return e.wrap(new(await(ko()))(`:memory:`),!0)}static async fromBytes(t){return e.wrap(new(await(ko()))(Buffer.from(t)),!1)}toBytes(){let e=this.db.serialize;if(typeof e!=`function`)throw Error(`brdb: toBytes requires a better-sqlite3 database handle`);return new Uint8Array(e.call(this.db))}save(e,t,n={}){this.writePending(e,t instanceof po?t.toPendingFs(n):co(t,n),n)}worldReader(){return new yo(this)}sqliteSchema(){return this.db.prepare(`SELECT sql FROM sqlite_schema`).all().map(e=>e.sql).join(`
6
+ `)}createRevision(e,t=wo()){return Number(this.db.prepare(`INSERT INTO revisions (description, created_at) VALUES (?, ?);`).run(e,t).lastInsertRowid)}revisions(){return this.db.prepare(`SELECT revision_id, description, created_at FROM revisions ORDER BY revision_id;`).all().map(e=>({revisionId:Number(e.revision_id),description:String(e.description),createdAt:Number(e.created_at)}))}insertFolder(e,t,n){return Number(this.db.prepare(`INSERT INTO folders (name, parent_id, created_at) VALUES (?, ?, ?);`).run(e,t,n).lastInsertRowid)}insertFile(e,t,n,r){return Number(this.db.prepare(`INSERT INTO files (name, parent_id, content_id, created_at) VALUES (?, ?, ?, ?);`).run(e,t,n,r).lastInsertRowid)}insertBlob(e,t,n){let r=this.findBlobByHash(e.length,t);if(r)return r.blobId;let i=e.length,a=i,o=0,s=e,c=n?n(e):null;return c&&c.length<i&&(a=c.length,o=1,s=c),Number(this.db.prepare(`INSERT INTO blobs (compression, size_uncompressed, size_compressed, delta_base_id, hash, content) VALUES (?, ?, ?, ?, ?, ?);`).run(o,i,a,null,To(t),To(s)).lastInsertRowid)}findBlobByHash(e,t){let n=this.db.prepare(`SELECT blob_id, compression, size_uncompressed, size_compressed, delta_base_id, hash, content FROM blobs WHERE hash = ? AND size_uncompressed = ? LIMIT 1;`).get(To(t),e);return n?Mo(n):null}findBlob(e){let t=this.db.prepare(`SELECT blob_id, compression, size_uncompressed, size_compressed, delta_base_id, hash, content FROM blobs WHERE blob_id = ?;`).get(e);if(!t)throw Error(`brdb: blob ${e} not found`);return Mo(t)}deleteFile(e,t){this.db.prepare(`UPDATE files SET deleted_at = ? WHERE file_id = ?;`).run(t,e)}deleteFolder(e,t){this.db.prepare(`UPDATE folders SET deleted_at = ? WHERE folder_id = ?;`).run(t,e)}findFolder(e,t){let n=this.db.prepare(`SELECT folder_id FROM folders WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND name = ? AND deleted_at IS NULL;`).get(...e===null?[t]:[e,t]);return n?Number(n.folder_id):null}findFolderAtRevision(e,t,n){let r=this.db.prepare(`SELECT folder_id FROM folders WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND name = ? AND created_at <= ? AND (deleted_at IS NULL OR deleted_at > ?) ORDER BY created_at ASC LIMIT 1;`).get(...e===null?[t,n,n]:[e,t,n,n]);return r?Number(r.folder_id):null}findFile(e,t){let n=this.db.prepare(`SELECT content_id, created_at FROM files WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND name = ? AND deleted_at IS NULL;`).get(...e===null?[t]:[e,t]);return n?No(n):null}findFileAtRevision(e,t,n){let r=this.db.prepare(`SELECT content_id, created_at FROM files WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND name = ? AND created_at <= ? AND (deleted_at IS NULL OR deleted_at > ?) ORDER BY created_at ASC LIMIT 1;`).get(...e===null?[t,n,n]:[e,t,n,n]);return r?No(r):null}close(){this.db.close()}writePending(e,t,n={}){let r=n.createdAt??wo(),i=n.compress===void 0?this.defaultCompress:n.compress;this.db.exec(`BEGIN`);try{this.createRevision(e,r),this.mergeFolder(null,t,r,i),this.db.exec(`COMMIT`)}catch(e){try{this.db.exec(`ROLLBACK`)}catch{}throw e}}currentFolders(e){let t=this.db.prepare(`SELECT folder_id, name FROM folders WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND deleted_at IS NULL ORDER BY name;`);return(e===null?t.all():t.all(e)).map(e=>({folderId:Number(e.folder_id),name:String(e.name)}))}currentFiles(e){let t=this.db.prepare(`SELECT file_id, name, content_id FROM files WHERE parent_id ${e===null?`IS NULL`:`= ?`} AND deleted_at IS NULL ORDER BY name;`);return(e===null?t.all():t.all(e)).map(e=>({fileId:Number(e.file_id),name:String(e.name),contentId:e.content_id===null?null:Number(e.content_id)}))}mergeFolder(e,t,n,r){let i=new Map(this.currentFolders(e).map(e=>[e.name,e.folderId])),a=new Map(this.currentFiles(e).map(e=>[e.name,e])),o=new Set;for(let[s,c]of t){if(o.has(s))throw Error(`brdb: duplicate name '${s}' in pending tree`);if(o.add(s),c.type===`folder`){if(a.has(s))throw Error(`brdb: pending folder '${s}' collides with an existing file`);let t=i.get(s);t===void 0?this.insertPending(s,e,c,n,r):this.mergeFolder(t,c.children,n,r)}else{if(i.has(s))throw Error(`brdb: pending file '${s}' collides with an existing folder`);let t=a.get(s);if(t===void 0){this.insertPending(s,e,c,n,r);continue}let o=gi(c.content),l=this.findBlobByHash(c.content.length,o);if(l&&t.contentId===l.blobId)continue;this.deleteFile(t.fileId,n);let u=this.insertBlob(c.content,o,r);this.insertFile(s,e,u,n)}}for(let[e,t]of i)o.has(e)||this.deleteFolderRecursive(t,n);for(let[e,t]of a)o.has(e)||this.deleteFile(t.fileId,n)}insertPending(e,t,n,r,i){if(n.type===`folder`){let a=this.insertFolder(e,t,r),o=new Set;for(let[e,t]of n.children){if(o.has(e))throw Error(`brdb: duplicate name '${e}' in pending tree`);o.add(e),this.insertPending(e,a,t,r,i)}}else{let a=this.insertBlob(n.content,gi(n.content),i);this.insertFile(e,t,a,r)}}deleteFolderRecursive(e,t){this.deleteFolder(e,t);for(let n of this.currentFolders(e))this.deleteFolderRecursive(n.folderId,t);for(let n of this.currentFiles(e))this.deleteFile(n.fileId,t)}folderIdOf(e,t){if(e===``)return null;let n=null;for(let r of e.split(`/`)){let e=t===void 0?this.findFolder(n,r):this.findFolderAtRevision(n,r,t)??this.findFolder(n,r);if(e===null)return null;n=e}return n}findFileByPath(e){if(e.startsWith(`/`))throw Error(`brdb: absolute paths not allowed`);let t=e.lastIndexOf(`/`),n=t===-1?``:e.slice(0,t),r=this.folderIdOf(n);return n!==``&&r===null?null:this.findFile(r,e.slice(t+1))}findFileByPathAtRevision(e,t){if(e.startsWith(`/`))throw Error(`brdb: absolute paths not allowed`);let n=e.lastIndexOf(`/`),r=n===-1?``:e.slice(0,n),i=this.folderIdOf(r,t);return r!==``&&i===null?null:this.findFileAtRevision(i,e.slice(n+1),t)}childFolders(e){let t=this.folderIdOf(e);return e!==``&&t===null?[]:this.currentFolders(t).map(e=>e.name)}childFiles(e){let t=this.folderIdOf(e);return e!==``&&t===null?[]:this.currentFiles(t).map(e=>e.name)}readBlob(e){if(e===-1)return new Uint8Array;let t=this.findBlob(e);if(t.deltaBaseId!==null)throw Error(`brdb: delta blobs are not supported`);let n=t.content;if(t.compression===1)n=Ui(n,new Uint8Array(t.sizeUncompressed));else if(t.compression!==0)throw Error(`brdb: unknown blob compression ${t.compression}`);if(n.length!==t.sizeUncompressed)throw Error(`brdb: blob uncompressed size mismatch`);return n}readFile(e){let t=this.findFileByPath(e);if(!t)throw Error(`brdb: file not found: ${e}`);return this.readBlob(t.contentId)}toPending(){let e=t=>{let n=[];for(let r of this.currentFolders(t))n.push([r.name,{type:`folder`,children:e(r.folderId)}]);for(let e of this.currentFiles(t))n.push([e.name,{type:`file`,content:this.readBlob(e.contentId??-1)}]);return n};return e(null)}};bo=jo,bo.engineLoader=null;var Mo=e=>({blobId:Number(e.blob_id),compression:Number(e.compression),sizeUncompressed:Number(e.size_uncompressed),sizeCompressed:Number(e.size_compressed),deltaBaseId:e.delta_base_id===null?null:Number(e.delta_base_id),hash:new Uint8Array(e.hash),content:new Uint8Array(e.content)}),No=e=>({contentId:e.content_id===null?-1:Number(e.content_id),createdAt:Number(e.created_at)}),Po=n({BASIC_BRICK_ASSETS:()=>Ji,BRDB_SQLITE_SCHEMA:()=>So,BRICK_ASSETS:()=>Xi,BitFlags:()=>zr,Brdb:()=>jo,BrdbSchema:()=>Ya,BrzReader:()=>qi,ByteReader:()=>Gi,ByteWriter:()=>Wi,CHUNK_HALF:()=>$a,CHUNK_SIZE:()=>Qa,COMPONENTS:()=>aa,COMPONENT_STRUCT_DEFAULTS:()=>ta,COMPONENT_TYPE_STRUCTS:()=>ea,COMPONENT_WIRE_PORTS:()=>ia,ENTITY_TYPE_STRUCTS:()=>ra,MAIN_GRID:()=>1,PROCEDURAL_BRICK_ASSETS:()=>Yi,PUBLIC_GUID:()=>oa,WIRE_PORT_NAMES:()=>na,World:()=>po,WorldReader:()=>yo,bit:()=>Rr,embeddedSchema:()=>Za,file:()=>X,folder:()=>la,guidToUuid:()=>ca,isProceduralAsset:()=>$i,msgpack:()=>ua,saveToPendingFs:()=>co,toRelative:()=>no,uuidToGuid:()=>sa,writeBrzContainer:()=>Ki,writeBrzLegacy:()=>mo}),Fo={read:jr,write:Pr,utils:nr,constants:r,types:Fr,brdb:Po};typeof window<`u`&&(window.BRS=Fo),e.Brdb=jo,e.Direction=Ir,e.Rotation=Lr,e.World=po,e.WorldReader=yo,Object.defineProperty(e,"brdb",{enumerable:!0,get:function(){return Po}}),Object.defineProperty(e,"constants",{enumerable:!0,get:function(){return r}}),e.default=Fo,e.read=jr,Object.defineProperty(e,"types",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(e,"utils",{enumerable:!0,get:function(){return nr}}),e.write=Pr,e.writeBrzLegacy=mo});
7
7
  //# sourceMappingURL=dist.js.map