# , GLSL.std.450mainU main bit(u1;i1; u bitbits128(vu4;u1;u1;ubitStartbitCount bits128fillZeros(vu4;u1;u1;u1;ubitStartbitEndbitCount #get_bit_count(u1;u1;u1;u1;num_vals trits!quints"bits +get_pack_size(u1;u1;u1;u1;u1;&trits'quints(bits)pack*packedSize 4decode_trit(vu4;u1;u1;u1;0data1start2end3n =decode_quint(vu4;u1;u1;u1;9data:start;end<nAget_v_count(u1;@cemHswap(vi4;vi4;Fv1Gv2 Mbit_transfer_signed(i1;i1;KaLbQblue_contract(vi4;Pval [decode_ldr_for_mode(u1[40];u1;u1;vu4;vu4;VvalsWstart_idxXmodeYc1Zc2^hash52(u1;]p dselect_partition(u1;u1;u1;u1;`seedaxbycpartitioncountjsingle_color_block(vu4;icolormerror_color_block(qastc_decode_block(vu4;puxgetPos1DArray(vi3;wpos{block_y_size_1DArray(firstIdxfirstOffsetbitMaskfirstCountretparamparamparamtrit_bit_countquint_bit_countbase_bit_countencodedencoded_bits_readimparamparamparamparam encoded_bits&indexable*param,param.param0param3indexable?indexableGiOresultJindexableYencodedZencoded_bits_read[bitMask`ijmlparamnparampparamrparamyencoded_bits~indexableparamparamparamparamindexableindexableiresult,indexableAtmphv0lindexablepv1sindexablewv2zindexable~v3indexablev4indexablev5indexablev6indexablev7indexableendpoint_low_rgbaendpoint_high_rgbal0l1paramparamparamparamhigh_lumai xs0"s15param7param<param@paramEparamGparamLparamNparamSparamUparampparamrparamwparam{params0s1paramparamparamparamparamparamparamparamparamparamparamparamparamparamparamparamNzPImageFormatBlockPblockSizePcompFormatPbaseLayerPsRGBPsmallBlockRu_pushConstantcrnumdparamgseed1kseed2oseed3sseed4xseed5|seed6seed7seed8seed9seed10seed11seed12sh1sh2sh3 ab,c;d~hwretparamu3b87b65b32abdparamparamhdrparamparamrparamparamwidthheightcolor paramparam!param?paramAparamatritsbquintscbitsdweightCountspackedSizepackparamparamparamparamparamsrcIdxdstIdxuReversedweightBitCountparamparamparamparamdecodedparamparamparamparamiweightGridindexableindexable5decoded6param8param:param<param?iWindexable_indexableydecodedRawzparam|param~paramdecodedindexableindexablepartitionCountweightStartparamparamparamparamdualPlaneStartcempartModeextraMBitCountindexableextraMStartcem_allcemBasecemHigh param param param param param param param param extraM param param param mainMBitCount indexable# m> totalV? partI paramQ epStartW totalAvailBitsa epQuintsb epTritsc epBitsd iw indexable{ indexable indexable param param param param epBitCount param param param param epEnd packedSize pack param param param param param srcIdx dstIdx decoded param param param param i vBuffer indexable indexable decoded param param param param i indexable indexable src param param param decoded indexable indexable bufferIdx part endPoints param param param param param& dst3 dd6 h@ wJ partO paramP paramR paramT param_ indexablee retn str cstv gst jst fst v0 p00 p01 p10 p11 w11 w10 w01 w00 i c0 c1 c" ccs# param$ param& paramR posU gl_GlobalInvocationID_ srcBlockb u_image0d paramv decompressedy y x u_image1 paramHP#HP#HP# HP#HP#GPGU Gb "Gb !Gb G "G !G !    !   !!!!%+-.-!/.+676!87!?C DC!EDD!J !OD+S(TS!UT+fgf!hg!lg!ogs tsu!vut!z++ ++++++++ .!-+",!#""" %!+QR.Q,.S,.T,.U,.V,.W,.X,.Y,.Z,.[,.\,.],.^,._,.`,.a,.b,.c,.d,.e,.f,.g,.h,.i,.j,.k,.l,.m,.n,.o,.p,.q,.r,.s,.t,.u,.v,.w,.x,.y,.z,.{,.|,.},.~,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. ,. ,. ,. ,. ,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,. ,.!,.",.#,.$,.%,.&,.',.(,.),.*,.+,.,,.-,..,./,.0,.1,.2,.3,.4,.5,.6,.7,.8,.9,.:,.;,.<,.=,.>,.?,.@,.A,.B,.C,.D,.E,RFSTUVWXYZ[\]^_`a^bcdefghijklmnopqrstuvwxyz{|}~}      !"#$%&'()*+,-./01234567896:;<=>?@ABCDE* IR+g i7z6,z{g"" }z+7,7,7,7,76,7,7,7,7,7,7,7,76,7,7,7,7,7,7,76,7,7,7,76,76,76,766,76,76,76,7,7,7,76,7,7,7,7,7,7,7,76,7,7,7,7,7,7,7,76,7,7,7,7,76,76,76,766,76,76,76,76,7,7,7,76,7,7,7,76,7,7,7,76,7,7,7,76,7,7,7,76,7,7,7,76,76,76,76,766,76,76,76,766,76,7 6,7 6,7 66,7 6,7 6,7,7,76,76,76,766,76,76,7,7,76,76,76,766,76,76,7,7,7 66,7!66,7"66,7#666,7$66,7%66,7&6,7'6,(      !"#$%&' ++H+N?+R +W@ kT++++,C+++#+(+1+>OPO Q P;QR S +_+i+u +~+++++++++) +J? g+,+ + + + + +k@++`+x +-+3++&++.+:++ +4++#+7+/+'+=++,++$+ +2++)++!,0JJJ-SJ- +  + ,  6     H+I8+J+K1+L*+M<+N9+O6+P+Q%+R+S",&HTJJIJK LJ6MNS OPQRS,7U-i ^H, J   , + + +, -++ ,  +T l 7,7m ,7n ,7o -,7p ,7q -,7r ,7s -,l t m n o p q r s  v l + }  + + f+ + E+ + + \+ + + t+ + + B+ + c+ + + + M+ + n+ + + + X+ + y+ + + + 0+ + A+ + Q+ + a+ + q+ + + + + + F+ + V+ + g+ + w+ + + ++ + ;+ + L+ + l+ + |+ + + + + + + H+ + P+ + + h+! +" p+# +$ +% +& +' +( +) +* ++ C+, +- K+. +/ S+0 +1 [+2 +3 k+4 +5 s+6 +7 {+8 +9 +: +; +< += 5+> +? +@ N+A +B ^+C +D v+E +F ~+G +H +I +J +K +L +M +N +O +P D+Q +R T+S +T d+U +V +W +X +Y +Z +[ +\ +] I+^ +_ U+` +a Y+b +c ]+d +e e+f +g i+h +i m+j +k u+l +m }+n +o +p +q +r +s +t +u +v >+w +x J+y +z R+{ +| Z+} +~ b+ + j+ + r+ + z+ ,           -   O                    S I k      ! " # $ % & ' ( P) *    + , - . / 0 1 2 3 4 5 6 7 8 - 9  R: Q; < = > ?   @ A   B C D E F G H  I  J K  L M S  N I MO k P Q       R S  T U !   " # $   V - W 9 X  Y R:  Q; Z < K[ = > N\ ? ] ^ _ ` a b c d e f g h i j k l m n % o & Jp ' (  P) q Sr  Ls  t O u v w   x y @ A z {   | } B C ~  D E F G  , 6  c     + ;  + + G+ + + + W+ ,> L I R S + , 9    B C S 3 4 O  o  ! 9 < @ A  N R S k l P) u 1 2 7 8  k    " # 6  *  + , / 0 T U o   O   W Y Ls u x y | } 9 R: < ? c d i j m n    S I k      ! " # $ V W X Y  Z K[ N\ ] ^ a b g h 6    *    + , - . / 0 1 2 3 4 5 6 7 8 H I J K L M  N MO P Q   R S T U     o Jp  q   O v w   @ A   B C D E F G ,  -i- U    , _    ,     % O ' O+M W *X )Y ,W Z X X Y Y X X X Y X X X Y X X Y Y ^ W ` S  T S ;T U  `  a ` ;a b    ; + 6;tR ;_ ;td ;v ;y ; ;t =S V U |sW V >R W ASX R"=Y X |Z Y A [ R =\ [ ] \ Z A ^ R >^ ] =` c b =se R >d e 9uf xd bg c f Qh g Qi g Qj g Qk g Pl h i j k >_ l Am _ 6=n m Ao _ =p o Aq _ =r q As _ =t s Pu n p r t >_ u =w _ 9gx qw >v x >y z z | } ~ ~ = y 9 {   { | { >      = AS R=    = =s R Ou |O A' R=O O = | = y | Pu |O O |u A R = Q Q Ps > 9u x = y AS R=  =  A v = c   =  >   } } = y  >y z | 86 7 7 =} =~ }~86777;;;;;=>=>=|>====6A====>=6A==>=6A===|=>==867777;;;===== &=>=>>986#77 7!7"$;;;== ->==!6>==">===86+%7&7'7(7)7*,=&>)-=(->*='>)6=(6>*>)=(>*86.4/707172735;;; ;;;;;; ;%&;*;,;.;0;%3;%?; G;O;IJ>>>    =     ==0>=1>=2>=3>9A>=3=1>1=$>&#A '&$=('|)(=+0>*+=-1>,-=/2>./>0)91*,.0> 1=2>3#A 432=54|65=71876>18=9 =:;9:=<=<;>==>>?#A @?>=A@|BA=CDCB>D  =EFE>F >GHHJKLL=MGNMNIJI=PG=G=HG>JFAKJGH=LK=M3NLM=OGAPO=QPRNQASOP>SRKK=TGUT>GUHJ=.VOV867=8797:7;7<>;Y;Z;[; `;ij;l;n;p;r;y;}~;;;;;};}; ;i;+,>Y>Z=\<]\^]|_^>[_>`aacdee=f`hfghbcb=k`=m9>lm=o:>no=q;>pq=s<>rs9tlnprAujk>ut=v<=w:xwv>:x=|`>~{A ~|=|=9>=:>=;>>9>y=`>{A =|=:>:=y=Z=Y>Y=`>{A =|=Z>Zdd=`>`ac>=g==)Y=*>,(A-,)*=.-=/<0./=1A2j1=32403A5>54=676>7=78886A?7@B=;@<;=<>=>86HE7DF7DGI;DA=CBF>AB=CCG>FC=CDA>GD86MJ7 K7 LN=ELFE>LF=GKIGH=JLKJI>LK=LKML>KM=OKPON>KP=QKSQRTSVTUVU=XKYXW>KYVV86QO7DPRA ZP=[ZA \P=]\^[]_^"A `P>`_A aP=baA cP=dcebdfe"A gP>gf86[U7TV7W7X7Y7Z\; h;kl; p;ks; w;kz; ~;k; ;k; ;k; ;k; ;k;D;D; ; ; ; ; ; ; ; ; ; ; ";D5;D7;D<;D@; E; G; L; N; S; U;Dp;Dr;Dw;D{;;;D;D;D;D; ; ; ; ; ; ; ; ;D;D;D;D=iWji>lVAmlj=nm|on>ho=qWrq>sVAtsr=ut|vu>pv=xWyx>zVA{zy=|{|}|>w}=W6>VA=|>~=W>VA=|>=W->VA=|>=W>VA=|>=W>VA=|>=X    >>=h=h=hPC>=p=p=pPC>=h"=p>==pN '>===PC>===PC>=h=h=h=wPC>=p=p=p=~PC>=p>=h>9M=>p=>h=~>=w>9M=>~=>w=h=h=h=wPCPCPC C->=h=p>====w=~PCPCPC C->=h=p=wPC>>   =   g =A => == =~A >  =>A 6>=h=w= ! >!=#p=$~%#$=&'%&>"'=(h=)w=*PC+()*>+=,p=-~=.PC/,-.>/=0"=120142343=C6>56=C8>7899H57=C:5>:=C;7>;=C=><=9>Q<=C?<>?=CA>@A9BQ@=CC@>C44=Fp>EF=Hh>GH9IMEG=JE>pJ=KG>hK=M~>LM=Ow>NO9PMLN=QL>~Q=RN>wR=T>ST=V>UV9WMSU=XS>X=YU>Y=Zh=[w=\PC]Z[\>]=^h=_p`^_=aw=b~cab=d=efdePCg`cf>g=hp=i~jhi=kljkmlomnon=Cq>pq=Cs>rs9tHpr=Cup>u=Cvr>v=Cx>wx9yQw=Czw>z=C|>{|9}Q{=C~{>~oo=CPCPC C->=CPCPC C->=h=p=wPC>>=C=~PCCPCC>=A 6>=A 6>=h=w=|>=p=~=|>=h=w==PC>=p=~==PC>===C>=C>9H=C>=C>=C>9Q=C>=C>9Q=C>=p>=h>9M=>p=>h=~>=w>9M=>~=>w=>=>9M=>=>=>=>9M=>=>=h=w==PC>=h=p=w=~====PC>=p=~==C>=C>9H=C>=C>=C>9Q=C>=C>9Q=C>=C PC PC  C -   > =C PCPC C- >=C|>Y=C|>Z86^?7]_=]=]>]=]= ]! >]!="]$"#=%]&%$>]&='])'(=*]+*)>]+=,]-,=.]/.->]/=0]201=3]432>]4=5]65#=7]876>]8=9]:9g=;]<;:>]<==]?=>=@]A@?>]A=B]CB=D]EDC>]E=F]F86d7`7a7b7ce;N;c;d;g;k;o;s;x;|;;;;;;;;;; ;;,;;=IcJILJKLKL>NASTR(=UTVUXVWXW=YaZY>aZ=[b\[>b\XX=]c^]`^_=a`ba`>`b=e`>de9f^d>cf=hcjhi>gj=lcml(nmi>kn=pcqprqi>or=tcvtuwvi>sw=yczy1{zi>x{=}c}~i>|=ci>=ci>=ci>=ci>=ci>=c=c"i>=g=g>g=k=k>k=o=o>o=s=s>s=x=x>x=|=|>|==>==>==>==>==>==>=`=`(|>=c6>|>=c6>|>=`(|>=`==>==g>g==k>k==o>o==s>s==x>x==|>|==>==>==>==>==>= =    > = g=a =k=b==N=c> =o=a= s=!b" !#"=$=%N&$%'#&=(c*()+'*>+=-x=.a/-.=0|=1b2013/2=4=5N645736=8c98>:79>,:=<==a><==?=@bA?@B>A=C=DNECDFBE=GcHG"IFH>;I=K LKJ> L=MNMJ>N=O,POJ>,P=Q;RQJ>;R=ScTSVTUVU>;VV=WcXW6ZXYZY>,ZZ=[ =\][\=^ =_,`^_a]`=b =c;dbceadgefifi=j=k,ljk=m=n;omnplorpqtqt=u,=v;wuvywx{x{6yrrgg}}86gjh7ik; ~; ;>~=~|ASR=>=|ASR==~|ASR==|=iA>=>=~>~=g86gmln;>9gj86gqo7pr;;;;;;;;; ;;; ;;; ;;;; ;; !;?; A;a;b;c;d;;;;;;;;;;;;;;;;;;;;; ;;;;i5;6;8;:;<; ?;iW;^_;y;z;|;~;;;;;;;;;;;;;;;;;;;; ;  ; ;  ; ; ; ;  ; ; ; ; ; ; ;# ;> ;? ;I ;Q ;W ;a ;b ;c ;d ;v w ;v { ;v  ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;k ; ; ;i ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;% & ;3 ;6 ;@ ;J ;O ;P ;R ;T ;^ _ ;e ;% n ;% r ;% v ;% ;% ; ;% ;% ;% ;% ; ; ; ; ;% ; ; ; ;" ;# ;$ ;& Qp>=#6>=6>="6>=>=>=>>)9 >=>>9 >=6==>>(9 >=>=>==>>=6=>>=>>=QpQpQpQp   P  > = >  9gj 9gm=6>=>=>>>=6= > >!(9" !#">#=$%$'%&,&=()(>)=*+*>+',=-.-0./5/=121>2=343>405=676978>8=:;:>;=<=<>=9>=@>?@>A9B ?ACBECDKD=FGF>G=HIHJI>JEK=LMLNM>N=OPO>PEE9900''=QASRR=SRTQSUTWUVWV=XASYR=ZY[XZWW\T[V^\]^]9g_m_^>a>b>c=e=fgef=hihjgi>dj=ldmklomnon9gpmpo=rsrustt=v~v}wxyz{|}9gmw>c~x>a~y>c~z>b~{>a>c~|>c6~~u=9gm>c>b>a>c>c>b>c>a>c6>c-uu>>=a>=b>=c>9 +=>=>>>p>=d>=a>=b>=c>9#>==9gmA6=A=A=A=P>==d=a0=>=>=>=c>9.4>>=== c> A ==A=>A=A>=A=  =!A"!=#"$#A%!>%$  =&'&>'=(=)d*(),*+,+,=./.>/0=1b21423x3=7>67=9>89=;>:;==c><=97>=68:<>5>>?@@BCDD=E?FEgFABA=G=Vc>WUAXWV=YX=Z?A[5Z=\[]Y\>_TA`_]=a`AbG>ba=cAdc=edfehfghg=iAji=kjlkAmi>mlhh=non>o=p=qdrpqtrstsBtCC=v?wv>?w@B4x={>z{=}>|}=>~9z|~>y=y=c>A==y=c>A=>==A>=A==A=A>=>44==>=6>==9gm=d>=a>=b>=c>9#>>==iA>==>=6>=>=>A=>=>==>==>==i>====P>=>= = >  > 9   = >  > 9   = > > 9 = >  > 9   P    P    > > p= >  = >  9    >  =   >  A!  =" ! > " =$  =%  & $ % =' ( ' ) ( 6=*  + * , ) + - & , ># - =. PC/ """"0 . / =1 # 2 1 6=3 # 4 3 "5 4 6=6 # 7 6 (8 7 6=9 # : 9 >; : 6P< 2 5 8 ; = 0 < >= >> >? @ @ B C D D =E ? =F G E F G A B A =H ? AJ H =K J >I K 9L AI =M > N M L >> N C C =O ? P O >? P @ B =R S R U S T |V U >Q V =X =Y Q Z X Y >W Z =[ W \ [ ^ \ ] ^ ] 9g_ m_ ^ >a >b >c >d e e g h i i =j d k j k f g f =u d >w t Ax w u =y x >b y =z d >{ t A| { z =} | >a } =~ d > t A  ~ "= >c = > > = b > = a > = c > 9 # = W     g  h h = d  >d e g = d     9g m  = > > = b > = a > = c > 9 # > = Q =  > > > = b > = a > = c > 9  + = > = > = Q > >      = = >    = b     > p= > = > = c > 9. 4 > >      =    = = c > A = = A =  > A = A > =  > = = >         =  >     = a     > p= > = > = c > 97 = > >      =  g  = = c > A = = A =  > A = A > =  > = = >         =  >     > p= > = > 9  > = = c  > A =  = = c  > A =   > = = A > =  >     = =  >     > >       = =        =T = = = = >  A  =  >  9  [     =  A  >  =  A  >  = A  =  >  9 A =! " ! > "   =# $ # > $   A' ( R=O) ( PO* O+ ) * PO, __O- , + A' . R=O/ . PO0 O1 / 0 O2 - 1 >& 2 =4 5 4 >3 5 >6 7 7 9 : ; ; =< 6 AS= R=> = ? < > ? 8 9 8 >@ A A C D E E =F @ ASG R=H G I F H I B C B =K L K N L M >O N =Q @ >P Q =S 6 >R S =U >T U 9V dO P R T >J V =[ J A\ [ =] \ >_ Z A` a _ ] =b a d b c d c =f 6 ASg R=h g i f h =j @ k i j Al e k >l D d =o @ =p 6 POq o p >n q =Os & =Ot n Ou s t >r u =Ow r =x =y POz x y PO{ O| z { O} w | PO~ O } ~ Pu >>O  >v =O v Pu ((O > =O v PO iiO > A = A = =   > = = 3  A  = = = 3   A  = PO > =  = 3  A  = =  = 3   A  = PO > = =  = 3  A  = = =  = 3   A  = PO > = =   = 3  A  = = =   = 3   A  = PO > A = A =    (> A = =  > A = =  > A =   A =  =  > =O = PO O =O = PO O O =O = PO O O =O = PO O O PO O  Pu ((O   >  = J A  =  >  = J A = > =  A =   k P        = A =  P           P    P kkkk   >  =   !  !  ># p=% >$ % >& 9' # $ & >" ' =( " =) " A*  ) =+ * A, =- , . k- / + . =0 " A1 0 =2 1 A3 =4 3 5 2 4 6 / 5 7 6 8 7 kA9 ( >9 8 ! ! =: 6 AS; R=< ; = : < => @ ? = > =@ AA e ? >A @ D D =B @ C B >@ C A C : : =D 6 E D >6 E 7 9 =gF e F 86uxv7twyA I w=J I A K w=L K PuM J L M 86{z|8