From 62e6652505351555ae45b336bb6a0a46c24bc6a7 Mon Sep 17 00:00:00 2001 From: dominik kuehne Date: Thu, 18 Nov 2021 13:20:21 +0100 Subject: [PATCH] init --- .existdb.json | 31 ++ .gitignore | 7 + doc/Tuttle-OpenAPI.png | Bin 0 -> 366096 bytes src/api.html | 25 + src/api.json | 738 +++++++++++++++++++++++++ src/controller.xql | 102 ++++ src/data/tuttle.xml | 7 + src/demo.css | 68 +++ src/expath-pkg.xml | 11 + src/fore.css | 41 ++ src/index.html | 211 +++++++ src/js/fore-debug.js | 140 +++++ src/js/fore-debug.js.map | 1 + src/modules/api.xql | 473 ++++++++++++++++ src/modules/app.xql | 297 ++++++++++ src/modules/config.xql | 75 +++ src/modules/github.xql | 322 +++++++++++ src/modules/gitlab.xql | 310 +++++++++++ src/modules/testquery.xqm | 14 + src/repo.xml | 12 + src/resources/css/fore.css | 86 +++ src/resources/css/styles.css | 403 ++++++++++++++ src/resources/css/toastify.css | 85 +++ src/resources/css/vars.css | 320 +++++++++++ src/resources/images/Git_icon.svg | 15 + src/resources/images/HPTuttle-1866.jpg | Bin 0 -> 20292 bytes src/resources/images/HPTuttle-1866.png | Bin 0 -> 43951 bytes src/resources/images/github.svg | 3 + src/resources/images/gitlab.svg | 3 + src/resources/images/x.svg | 1 + src/toastify.css | 85 +++ src/vars.css | 320 +++++++++++ 32 files changed, 4206 insertions(+) create mode 100644 .existdb.json create mode 100644 .gitignore create mode 100644 doc/Tuttle-OpenAPI.png create mode 100644 src/api.html create mode 100644 src/api.json create mode 100644 src/controller.xql create mode 100644 src/data/tuttle.xml create mode 100644 src/demo.css create mode 100644 src/expath-pkg.xml create mode 100644 src/fore.css create mode 100644 src/index.html create mode 100644 src/js/fore-debug.js create mode 100644 src/js/fore-debug.js.map create mode 100644 src/modules/api.xql create mode 100644 src/modules/app.xql create mode 100644 src/modules/config.xql create mode 100644 src/modules/github.xql create mode 100644 src/modules/gitlab.xql create mode 100644 src/modules/testquery.xqm create mode 100644 src/repo.xml create mode 100644 src/resources/css/fore.css create mode 100644 src/resources/css/styles.css create mode 100644 src/resources/css/toastify.css create mode 100644 src/resources/css/vars.css create mode 100644 src/resources/images/Git_icon.svg create mode 100644 src/resources/images/HPTuttle-1866.jpg create mode 100644 src/resources/images/HPTuttle-1866.png create mode 100644 src/resources/images/github.svg create mode 100644 src/resources/images/gitlab.svg create mode 100644 src/resources/images/x.svg create mode 100644 src/toastify.css create mode 100644 src/vars.css diff --git a/.existdb.json b/.existdb.json new file mode 100644 index 0000000..54d0c10 --- /dev/null +++ b/.existdb.json @@ -0,0 +1,31 @@ +{ + "servers": { + "localhost": { + "server": "http://localhost:8080/exist", + "user": "admin", + "password": "", + "root": "/db/apps/tuttle" + } + }, + "sync": { + "server": "localhost", + "ignore": [ + ".existdb.json", + ".git/**", + "node_modules/**", + "bower_components/**", + "package*.json", + ".vscode/**" + ] + }, + "package": { + "author": "Dom&Jörn", + "target": "tuttle", + "description": "tuttle - github integration.", + "namespace": "http://exist-db.org/apps/tuttle", + "website": "http://exist-db.org/apps/tuttle", + "status": "dev", + "title": "tuttle - github integration", + "license": "GPLv3" + } +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9ac1625 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +/.idea/ +package-lock.json +/build +node_modules +.vscode +.DS_Store +*.xar diff --git a/doc/Tuttle-OpenAPI.png b/doc/Tuttle-OpenAPI.png new file mode 100644 index 0000000000000000000000000000000000000000..0238be66f6d6c280d3867fe9f46ddbc0d40a49a7 GIT binary patch literal 366096 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%0DwE(ImhtC!(1zu8@YhVW+tu4g1``<^a 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%0DN)z>N( zVnayveaHA@kODZ5NAii8F$_5?Z_6R+J!E{RnZRwxYfWAsbl zn`Ti(@G@!(g9)JxX5aO$s;p#Q_eR@~253Bnq_jO80=ne=bTWuM5+_GXJt!n)$ay(u zZmSaOQppd=)2q0(gG7QGhiQ%}r(^KYt&t8N2sDJTd2n<2hy_-UTj1ahmF2P%XG-RyH?pCsok^fXcrF5v`tSKabUBz?}PITG5RavSSvYcrJu_f7;H z;6hRsjjIMDDWgnZ87}z6cBLO!I69EV7~NSE_k3#uc9((&7a!Tqzfr-7wmBFkz*4eU z;I<9ya)RYY7=|%|XO}63bh;#fUl#YGDi{rg3+@r_z6*YB@Xz_2w~+m*w~FW05$}zJG<3cNscKSF%s&Ud;P=rJ24l&rLCm z!?T2Uet4K8#;3?{qc1<_Y9HF6w`pq({z6dr1EKrY+@;JnzU~@aqcWe~6ziV)WKKJz z4Vi`z1h^BVjgtfxOiQ2CARMYZN+EaQLP`Wh1cg3Htemoi#rk_HTkyQnUiRlsdFoi8 zuSmdqMA@MUrld?B`ib1TVb>uU2JW+!#u$qQuc8ksgyA9gv;aaX-Q9<&f^^Ds``@1J zWnDYT6w~Dz;xy7-t{mRAM@sipVrTcNFMXN&naz*oAI} zu+X}4*IvDnP(6Oi2;pc>$HHHxX}sFfXzbeRxp?3N$b!`MTw;*fFvAu$7d3pCtCgCl zz4i`?ep22wR#Oh%+pTD3P#89OzHenz{WJr+zwg-;L`Km*1eV&t=I`m@`xW7W4gKjl zGK2KF7rGl^Z*Qc8ooWNU!vfqhZMay@%2^vj1M||YRp6za+-zKCS=vRa__$IqG*bwn zQYGFED{i-=Rh8zxrv=I`fEQ&FAu%_-yx1lH4`))6 z1R0z8QQjug(M-U`_O~0W#OfJ0@Z1$zR# z-i{wgJ_6BX$#=oJsy1By3u_%rLr)CuFPc9WHgYRB#f-7q9wJuX=s|VQAmPF+YL&jQ zOyQuX7US5WU{PV~=SYJj1r@5!agQ-tL*->WbqKpw!I+lQ=Nl>mT$^m_|m-jFdCs|&`Q zW+hUFh9WcS8;H!5249X>AxnosPtg*x9`o)8Qpkn1@P#Xw@Vh4>5K6*M%l?-%6W6Mt zKX`(N+)Mic_RAZw(Sm#1Y8&g9=_8o@;4D=1G9R@J4lF(`r+t3m0?6h45Rlx#M=LCR z%NN;G=2i-QFMF(hLh|4zDS0ui$=GOxa(U>n7Mw_G^5e&^yT9eD^rXoZy_PZkkhk84 zF~Q0(uQhDW$T**9O8zpiUs*B5oVx7`h&lO>XV$ZZGDThx8E1FM#3mA%)`t8yZM}duzH$g~qqw*7V+N|H|5^--P_4@Mb?f2=-a_C+f_qs&Az?>%x zo53t{RU9tkLV#Y=k-{FaRXW8lvfn|3n;s_Wz{0NC@O{rnUvon|r8!yy{+06hx{CgC z8d%?eH!{n7wKv%X0c7bw?{GIgM*!e#Cb+fRxbvJe@M^%vGc)qz5m2xbW#Pzwyh6P+ zYLSi_A6Ek}*xnezsd|lzb$L3M&PbLB1|(YyG(M0O^54WdCT}S_#+J$;ZV93F)F9I7 z)6q~(mb)8sSl*e_OPwEXi-6>E1bqNJFkDB^0R~f7hbR!~cuaJLVe^uR=Ru`8L>QZg zOX2Ao?)-ku^q3lW5$*W#$g!b^oF4EDt?8-oqLn-5pZ(=0x5~{73L9;8-imn4>ue2H zZawv0 zEyyT6OcA8EXenyv4X@zp9W}?0gR%UGCjI+9^?J7pJjs`AcP~%@l=O z(G--ScgCijNS*GoQ_mZppP1iN1iRcnvR|@)U7CGf@XLwi-0Q}(6MzuImw{4RkNU<9 zc{R&Z_!R{fBx^3XnD+_M$9Ae&ypQ6ASAXG@QhWODfm;ThRwm96?&}YMTsWM$aGBYs zOg7c8eprHU6%^qChv6Trn2RknMPPvCP$4{ifFr^h_GuqQ%47jDr#87Meo4#69ZS7}XrW+YfbNC@AH+BiI-k#N&wQ}0m~IL=@ll}P?(gZVrcthsFffyhBVs7t z|JD6e7vGsg8=QAau*q-DyGek~^+ZQHPpHy>cXxb|DyUg5)UBp(oS(^le(c+r_c}%S z!0?bQm2(TFzT8!O?PzK)y?QIhVFkOwpwz|G+ICNZx1LaTCXLu)!W%a>3Fq^?k9yq~ zv1lWgX_zNrR1(vXv1LHGy?haxTU;ay@CHway?e?=-bXCxm%T=^HM@(rnj5Ly z15&pUsh&KuL(91wIPd*+a5@2O9_{mWKr5B4TT{K2RSCkCF)4fgjh&d9} z=N1QlFi~Hf+aXq;EYlFiektLp?IrqfnZwllv*tcMkQ%^4L5%?5w9K=wIH5`MTb+^k zw{mAPQ_2t1X*ABl-qVpT)l;JsVpw?LXoDOre7PsaLf(@O789ZSLtNoCNkKE*(rLs(Kd@cjv&jv0gDKoKQqw5mtZ6q?hf zd|(^mJ%zI$!=4_S4>yEZoX6;1D4e`8`sQM^xFMoI;XNQw(s-XGpVqy>E8rARE2wD7 zKeiaGW`XO4&66Z0;+-qmerbn9*3~1o>^@}j)oLYA!7gLiJma5Ex5jqBjCF?<)*I>svJEU z@~w8EEH;j?1MJP4^_7c)mGv@0>F(dv_d<{#=Z*h%-Y~k(?RiF%WS`X+`7rD~YP^t( zf&2k%3~jS`FjC97a}!<=jpvRuIq&#DZ{ZE3#LNH;q5D`AO#9}|WnaNp^p8t3GM^~Z z+&k}jWhxcT;ET2Gyq>yeV!Go#0z zs6zUz4C-iZ5zgimb}g>9ZLW}6Wt?^SUKJBIyK9f3#J34`yZdq+Md$tYO0O;jzh9Mi z@Z<%Da#zp2(stNce1oARuiQ!Ce|U%!`9=%qwITpqU} zbL3q$+xwDd-f-znB~v@W)E5_rF17gHD%6g`4BsTZE2J~O3t&YJkE%c1Xn0vKa91nG ztNKA!MPRA_Tho0nscUib&dX_lx)64#a;!}Ko!e^#7xteBnhrq}Pa37ylnt&Mn|8FP z#K|k^Lv!q}?mpPgqEu!m+#kq-#$R2@pUY4_l9Npn(N?SK^@78Hte6d_G7PFv06nD3 zh_Rhb?tdmR_Po$zwj_c7sZ~szSV4}w2CnoK=1XQ)skI9M@=9S*E8oDH3>Ow+@q>i?+abPN z3(gQ}7Op!t>FVyhAT_v{5@DJ7B#cMO)jKK!O1z7^I-8RV3s#5c5TyBnXADE<9fpeZ zZcK7iCceR1zCguY;6r<#5dvvGmBJ$RW26Vx9Gh-$TG+_%P>ji|Jzw$y?koxO>X)|k z5WW1|9CWLm`ZeF9!pp{$v+F$HRCBZln0TnB=A~COFvV@8ev*~=;yx7>jnUx4fZPsk zwZY76o~iPu3Z$lA z149a{>IUiU`?>@A$F9Z-_}9!@Km)^KzP1bK#+z5%3Ot7rpb)MelynFfL9KN3i>^_l zR;OD%xgF-Vz`iK2vQH4{ocdykaf(*|3`QZ$2t4<4}t=O`SuoE`&uB_xyGhvDZbrt2p6Kky@qw;o#1@Wc8~WjJq0{Ks$0B0A4~Qz|C~MG` zM`jKN)oUJ|z}q2N#}Zb}@xt6OaR(aG^Zv9DXyjR(pkPr5$MmlEdA0D+yxfiu=yB(RcK`5FDE%kJULU3D@*3w+7te0j5UZ8!Y;e)XBA6b@^;$KC zGRIuF8?5=E2-{B`)o0~lsz=9Er#{%mwAj=C)cz1~fvdbgUo|VZ4J8|U#ipC~r}Gxo zwd{Wnwbuz}z_Kicy)ji_8;(k6VTY$wp}ZKr2_~_h4gDgF)Z>7bTPKrBUt~3tLmH+^ z3Se*L*B*R7{cO!;o<|KVVIQa?8BNYsYiuB-P_Bs`5n$^E>_Rv?>_x< zv$ZrIW&EGC1wX0P< zomR|ris$8BjU&gLx`5iQEq%iD@^SdVHT{_)jd`EFdA!cFTa&Yk&etg-{3$i|DLfuIZ|r@UNY{mh-IN6e=|mr)uY*J{BE(I0ZhxjmvAZ zN%Kg$?CY2y)Nyd4U$S`B!a9sbm5%jbpUi)pGK$5)Ot8$Vond?n z_pm2BUIw~8zZ8)1a{Pr)@%+>=iW<}OFR4Bt<*+N7Aj!Ju62(CVb7nVtp6AWi z$<;v6vhv*Hp+`PG0Bqk5Y_k7C1g3Z(1kR|gEnphp?mom5V}8@ z7w9-+Z(@BojGr@wv)5*vSqx8KUySC2J9gyERVtOchtC}6re&pbNi%Aw7WXtvgOYvw ze5S>&0>TegMXCOyBmR6;acP%-wDZj>i98-Cqy2EdO+u?z+)^pjW9kTswlm-To{4{h z;1KMTEMoS12EV^S|iR4)5_oA=;!^cOfP{1&9sc2aj^4g50PW@Kl z=jGVmsq>rOh$9d8nTd*s;67;%G3aNGXR`{9g4@~BZIJ`yeBSko!7~Zf{e@x3vqh_5 z{rrWHB3h&A;A`#3p${|}a+@1jmEX87CU30+)fpok0iEmRqNuw<@_muSd_i&oHGWY;jUG#DEER#*K(aq7Onk^Ve$C2|69X-cBO2k1rBX?rPy`Qu-sWSm^q z_jd+Fx#oZpg&(P6>>&-+n3+9<6GDptyxn}8A5zvL@AjFr;zJ95VRykQv-??g{bv4l zjT^m%%51pS{kbJER8N>-o@H!cdE|=n#KE%&$RpVp3}jr zy>x|dlBAdG$_tb`X8h}ZOy+LCY(GF9A3&s+S$5c`goknXKZ1{JLW?V*W2G#ZOwJrc zMDV^3|6EuP*i_xqLeKBgMY0mOBW`oAHuY&;qpCn1qo!P87ywdIExCOxX{p=F<=x-d zA0QeOuk#jFf8~0#*A$J1@J7XXCgmihjRO*Ooi}W!Ng@ z4R2Mkn`%x7udLNG?4m@Qz>||i9+@q+Z9`o;Al{u=8k>Hg(CwiwZX9?nxY4{OMqu=0 zIyY&xkYhR{1V-z_IG4#@Z<=XgNfdjQNM6vEN_{$H=|Rg1_p3xDFt7~Q3E5Zk#zG{| zhwSIhPqd}|5WIP-Xw3KN_rlg5r*#Z;2c^q;d|0ABq6h;m(Jg`AP@Ls+zp!N>qlMkMkK9cv&uL zB`#6I(qBlx*fkWJ>-O^zQ z8Cieu&^)d!>awR-as5c;KzHr%0cHEL#D;m_(MH`x1%H{N5kq*R?#iNL5p-+o3xjg~ zju`Qf%U@r!ir#mT^L9=GxjWu~VNvFkH}u1v^0RpbN2c9L%S?WiOO zF8bf($S`}WI>}`}+Q!LZ%GA-RUJ-!~FzdyY3R=+csnoA%XDV9^6gA8|lbHnAT8lWk zhWU2+QtwvWYip^7ovDC57CqOF(77YVHLg}yVRLFmcWziQBn)=TEq4wNpL1~AANAa0 zOua{@%f7pTzl-0AM{jv%myySxMw&iSs8eNY2GQMWCJQ8(8`gR{sp)p#Q(zE9xqq#r zCkrl72W$E0cf_54)#(PVPU#~Wb8KLugH+g|AHNc17r1@klV!o3oQPSbP%Ehe@YqgU zMyBF$!#KIGe*qFD-`*(jh2}KLwPp}eduJ5>|= zuj;{B3SYzd^ijwAgn#%jR65p%OazZtkvjX`3c|14ZPH&BxiH(_Xj1P(;>h4Yp52GZ ze(a&8@wQ^}&*NeBTPRIE7te?3`3)*Qt5RFGv57ZgIXw$gfdpn<@x1B!3A31JlVm;?$8^bE7`2ZCtgG zoODEH4kye$U)2Mq4>qQwvgk^e^@iQb$oQ1gQVdK&4vbxH+GVwvH>R2=W#=aZ)ndy- zs|QNYV>BecOM=CbVdvv++jfHSCsMeLK>__AK2g2ju9~^se}9vxu3|S+)*T6Qu;Mo>k?5yc7PBud>IY zZg)|4M9T`y1NVI0F*xQppzZ`X2$s8b3tS42kT<&&OwH*e@%VzR)$s;dYrld{Wqk!p zF0Z*~x_or%>!CG4^D0Ox;?UW+@GTM5opbH#v(2^Dfu$hRl1agfGpNkS12fQXzQ?yY z`|}6R_>aAuEz*@&Vz`d1Gms^(g2&~tCQLz znfeG^0gcrPv{!DKv2`IqLTV@y)oIGROhE<8&g`(OY5JMVxEbKh2c7Ww1*5$7kFdbb zN)J3YvF22E%I38HH%@SC(TDIQ8J~kwET_m-iWb^* z5E~4Ii7zKDt?CZ+JPj4r-Z&tuC+o&-c6(~3;vae<(~`H1D>ngp)Zm94j9?w$)z>Dq zMBB6OYdX*K+a*h!@A>#p3?oHmsXF(ogCWaJ<7acbrLKW-oBku&n4O+iK<1%Uj{9|h zC2{=@SbzsBD;np3X6)rs7vG3IOVhjQXZ-Yg&3^Dne)o>9Dss=N?Zf$}?=(a^q>O3c zm_n0Ai+z#qfOzGAg3yC^uQ`r=thgPqiOb?xBQ5l;P?6rrw#12P&n?;x5Fr+*n{+?h z&K5XO!yW=q7m?Q0Me)ITOaolzW1F zvZ_58G~%ciA0h7Kl@662ew@k>&AE0{#A~b??9@`;!?LQAjxzwX8_8w|B!>(})-eC| z%aCjFX;oqDeuFM1P=k56PI{6d9L*1@T-4le=!PVYUkx{=OaiVtdMaX^FD`ixHn#8W z<-6?PNs!Fid1O1f)xC777Kyi;gz17T!;eKG(%ZZF7zp>9szZ-QY~KCaV`L{aLg!R| zY_8Ix1L-V_rzZP>Dw#fEDn~cjuy3*hcCF?`hkJz`hFq-z==glUFMk))opQp33Y<>W ztNkk6k-%57H+D&(&^aq7{+&U?q~p8D+}S(cM^I4m_!CqA+xab})G<=J(5p9xGji7G zXiYxB=CTz6_Nmj)z^N9p?v%~S-;G}!MK4FkPrd5#j9TIz11lPRK2PIgh%CF(Zp>e3 zH#P+n8{!h)k2{ukJ)!FCN5dm_NoBhOsXbiD&I{DR*$Gkl$?F(zK7+azW&y(=Y5@*o zuXH77Qa0=Oo|&R~)Gh=2G}u;dsh*PfTJwwL?dj5UPGmr3rJPrwvD+pM_UPfxodnyF zdjn7QeL`2`^X;Q`rM7{I@2G-gbz0!M-_lr3d;$@5+y!SJS!(;`nI06*v8I+_UHeQd(qei|FaE*u zMZJ{XgHs{l4`C$z5rw~3@oTYDZHB}AHn@tSi$R4gl+3=s)gz2!i*T-ZoAlN~xc|*f zm$>Wz&rG#U*2$P_gKyx~)qwM4y3pXqJCskP4?|UHvE}{Tch6&%O~<6pOUR9;=j{(h zM0~l*c8fjk=icJUkaDX0@_>zV*cnBER@NCVxGcN z9vhNC(ksrWJBRT%h*ZXJ_YPifQqXVcB**tg+n+5JPJzHzs;?+u`1o-&uIB#>Ss>Q%4PL)wF4?fPwka(&qvhNSOtwf??`*t z7mFxJ+K-pFU-(H<^u!e{1T`DGhEjA$dpuh#2#SN*UTBvBqtEb!ZhW2OcFYdv7PBAj zW#s%_Y7=)TZYXhVx!&Q1k}kTmG#$pG)vI4vhT@A-u%JdAjli3pll7#Yre{rHdi=Re zAoW~AUT@`l`kYl?B1W+8N=5;;xP4lQ%XWh`(}MS2u3O^_?QB?owd(=P5v_00LEE?s zzMYruXw*j;-`ekG`q`t&N-HLW1(qY)=r z!IK>hIGnrH@d!>aQtNH;mdHXjC$`4*-ev|*i<_5XV_ffMVT(G+#r0dEa;rN7rLJ_M zMQ*}YfxPRiBj6!g+fxyQ`*o9yck!mS#=~Wnv*5+Pa<8A?SzZ)%I+PTWkF=>6^34%dbd9t_g&s1x*r5sT`X&SbLNWKqo(R7CI-YEKttDz zuMDUob()Leto#zGkT1Q<#_JBX^FO68aSVo%gQRymK)wB8&E9*5zQ121YYZ`QmjBH; zQ*ru4#h9a#QC;5CSAz(gMF*(RX>`NDq1H#67?Ke{zVvnxzGh!Hx3RJD3C(YpA<80X zeF`7*(tfrMM$3xPa@M%`_if()K`4MdQzx@3$?=OUvZeEkmIiaNklxjyuu@*jG(yEc(PrS_=7TsoZ2oUSP7)8R&Uy6|1oD?Z{P`I8vvKq< z25oYg?GZEe#D5GJmqlP^^t4VAZ`M|W$$SoI$-=W+D1o0f!hik^&{hDhQ4p)w`}|9U zU-Iq7z$RDW9)C{0EJasr&YY(i_Ed0d++^3UE_5@z$%jcupyPEp-`}I>pD57ppR@*O z(60jzje{4^CpY)pJn-KU_9Qpd?oY$UUw(Y+%n2$yk=lLzj0A20O*2D43=L%GmI?Bv%YPGHY72#9#bv^E~TY*NZG{CDEK!qdXKBfE* z<0WoypQBFca-857Ug&iaX?Gnhc=MN0^^+ox6IWJH8-C=cpaulCv%sNN77nSc1pF%X z4GnkCJ=f8WF$9vy*`WBWxbl~M(09z7c2@$_m30KEqYV;sk-ra8S&F6oY(R-=aZh#O;=b>%>9$2Hsn; zIw;YyhJ7p*jxWd!|gM!(fp{A@-62GX_#lZ~}C$w-c2 z{cN$pR{kw|R)=j`z&!Xx3-agI27j$Te_(Qj?Ft%-(6wR?%X;A5Ba!%HGwI8~@^0dM8c`714TZ{o3bO_Xrg=YH0G|pzcjqwRmG-ip1~3BUp|)>{m~Pw;1}FM zN`J<>fBFQw8yM)SmshU&t6-`4k?pXtj%iYd{pGg)HXaVY)eZTL3J=q=N&o4$|M{$n zVuy`IpLUetU)TrJ0)3#D(JlXvaNi$&6J&n{Xe>6_lb8O5)iKjyAKXoa{@Ma{ND;7O zMFG}_Yq>1W@Xs~RPWH#R_-!brO)PSZ$j$-LP zz`(p2Vkg4Suy_>&;(Po-F)IBEBQ#mF%V8a%+ zHfS|sl4+&GECljA^gNDCO0v@l5YZ{w0alc=i?KhcLi*bh^N_agw%o+=NUW1J8UaZg zDuT#Z8K7>RWMw&j{zF+f7*K-osyD?(8~6cBpd~Z+?$L7AUpGcdpm5}J@>>VCft~g! zDNwFPs(w7+EOJ9e&Wg$+5>f{kb`rOpA&tuy8NF2gg@VfIn^jF+#f2N#S>N7gaHFas zjt+gR{0^)(+wW33IO&Wu1ukmTG}K=IUoQ3kyM2JCQQ-ka8lpmJgTfPPRGs^;XXW4t z;P5d0NLisjg#_$2o7+KuOxS0Wwd9|mSAS`W zptTc+zu$K$xKUdzTl`X0A8devG8F2a^nJqetAYPE;&4~Zz#Y^1u>8@`$+72>KrkM# z>G{R)&NH2GMav(zJQUjE2LulK2L{3gDww1DK{b`kL?(mmj~|-=?G1haA}47UEEAYm zo}S{?wmc%6=Skfv7cjJ>D0Sr*s|b&x*;2}g_>&ziUze#`e01wlnp}iEE{A#x zMB-9Pi3@a{1M$71215NUMay4^n-M=XEmn;?dTlgHeJ`DG#VE=w2Zx{QhJSs1G=f(< z!KoNnGoRC+<@(PR=Wp})#Ncm1t9X=twDW<$>Z5e%cTVEq?uWAp4>uoCqw<-pd^u@# zEt__>C;Y2&E{Y*KJ3G%tn?pX-*!Df?`1+s^8rMkJY{y%O@{_E&=-9%zYg&(~@DEMZOXZ=?W&D-4PA}N&F#Y}gs!}mO zta+c3x3J5GK;p?mij?=>sp?a`pmFurZrQA=!!3I#z3-PKQ77&GDPpUvT);pM)QP-M zTZM3{ZS`^0NcowS=l`|DX(n4^37o=$|60EI&T4LE`9fW}h8Lbq0iVlnXrg6lqO1Tc z(m`M51gu9qFpsc4cy|X~?k?jmdDArnFS~9YUpJoysHjZi*YS%O_44(t4jy6tz9UZf zr7G~K6xnhlbTgJNA}Te>W@68zMzH8!n+fosYJxTG4F~%wShE+Xt%X;aE+zNc-YrzH zs8HI{eC$7%`mJ2wHaaBZjXj27deaO%4gsUZqgm1PWz76Z3DrFwP-{R=#$#@5C>=$0 z+_M5++)yy6qZ;CtFJt~+XXh1V>SawoOcV+8+1~-PQPWpczmK|R6cy!EaLU4p4Gg+& zW_+hVSwi5{J{qp)r|31_ujffH;w?1O`+f(&78d3M&>Hiv1UO;3wy*$CAJ(=$}~TRJ%-K(c(Y=My1cZsFy*D76s-x%G|mtuJ(0lr8q>lgqBcloL|Rgs{pt^B3mtC^d!!Qr0hA8or?1$cX9GJm~`rJZ64P5 z5z4m57Ymo^G4G$7c;Tda0UT70I0VnV?BzF&UJ+bv8tXhX2Q`6iHf~WiI2Hm9$U~Lm z*1Q1izUX*p?^jsmY&1GA_N+nmTQobRY_VR`7qBmZIDDewj{Lu2@gMs6o{=pc#Pl|vDmau;OnVsT{0aAO$2dw z@UM80T}^`M_pe|SMn8S#sU^LYHjihzIPM`*^jxZqbUD$=!=Z2-0`~;~izkn&OPHEYRc5uV zrr+){Dm2Wt32#gH63wa!I7oKH;5?&DE$jXKa0rP}fQ{@yB7??dJft&+-E^&8bF*j# zPiS4)Dynti^&DwWTSXf!kJfL?PI?&uuFKduZ;|9xeCM#a@$)`!&zY65jj_cIqQ7)%PdShgGFZ4McgFoyivqudXw~8N$Ba{(0C^ zq@@}6!#iD+T)ETOx>_6|;5F2Jp55?^`mH;*uhq6jovI*wa`p3gzLSh)XSun^dz6`& z5bLfaCz<6jz`(XRq5rz>)2bnB^#YtgEveMM;0~b$J&i#GB)@u%XdZ8Odpv<}aGtd|xk$WfM1aG94>(5TTIdCCE)_Xy}|mPn=YB z0>GxrA-C5oSa@Rro1tZ%)o^V>x#c%)jur+}?U9iV)xF6sw_=4tFdX!(mTH~TiliEg4<)wx~dE^1Z>91ac3ZI7Sv)R}iOF=^n3AY0O-sf)|> z7f^W`t*m_tdqT|uH9M+}i)sS(O@KVDOF%<=+Wr?v=Towi*DjuyUrny>;me4578M0z zRl04Whj&s$1H}_5=1`eDqgDo#GWVK} zjk!iIFY7kicsS3yEu%Lr176KXgBsn{UB1Z&nBVMs17l`Gk@;PECE55iM2nvCq`Od~ z9P(>`Vt{3NWF;LlQ`$zDf;BepA)HUn&7;!Jr2ARzmg#1pIqu8HwXcF=4J$A)Y7{sc zV!%~nbp1kGR%3f9BjLT>rmBJD5EY*4$P(f;aPr)?zabJm0${}zDDU4T#D9Ft*y@s) z*!89j^qlv5Ng)wk#2x-0_TDlq%64u0za<1gLg^M2mF^IPK@pTjx>K5=y9Q7|r39o) zTDm)ikfFO7dZZbeA&2>2uIGK$yViQ|weIKt>HYF<+kAlywz=ZC&g(pnbN}u8x*Z5y zhVq%wvFAA)xw*Pb5pv&UuXSGA4)87G_fD33(p}dTMg>oO4w}u5da+U(&-xm=l_#Ou zq+}xWBdCh)O=|Q#+2>J9pM0*9+09>AjXd%ns+l%4VK`e7ZdbLqBMT< zuPAC-&8=uTM&XDd2F7=nFnjkc8Xjz^`Tzn@6rlCG;xHT>(H`y_K{_3Mp2}0Sh3@X` zrFLIirdlhk045Uc7ESDsZ)nysGUXSGae?X7V$keJ(fOerzj*QM5i=pLBXy{MD6!8R z+#W+n#dSn8`-bs?+ozWypRveb8>=9c-n$%H1|r~Kk5wO*vLaYqbn50@F^SgW%-y!QgXK!B&kRW$TI$MdoFJn3IhJs%>zvDC2ZbFd_1s|L zI;eWO6aPZ?rp5g!x?=Nw$~#5~6I@(9H~Pz6b+3)r`=MLo(7Ggki!1Y5J2>pO?y$UZ zD+?Ft0%S5*+$P$Ff9oChjSDpZbkIhhzE6+UEh*Fia;yt8qA~`shf~A zR#VE?^a0^=M=I^GV_l@>{2O*gn5TCyd^V$jy4ucpFN%JhR&}PM&IBb6Z}yC;TQ*=KnkqUa-K_Z+G4Mu+`UaP|gm8&gJSE%n zv*!=sUD(?xmpf8?COWlbP`l)v`6$iTkr^2i2sd8i=9eu3J3iVaGZzNWy)!A^Peh0l zdpK88H3TTOLbRIp>CU$mgNw?dxW->JN2vCe5w6!)Y1&18%(Mgxx1KrpqcW*)eBh zwBzIfFE(}wrxO`LE2G`Fb;2kI&0;qOl5AUsn;xS?M$>k#41uZTIP++6PF}DX92TMV zTL4T}nk`w}Cnsz*(&p~m?kVW^y7l1NicZw^b+j9?d*B!$_cl^K`E1kQn`5~&SV;`| z-l(>zhX4Zd+-rCTXbxPYEm&u~<)L)?Bhbj-{o~u>JTtgAOYD{5Sn~-+P8ATtS6)^I z)S1)JN{CcbPYX0e;@B=4vE_F&n-_*RVc%E)E%?}k)zaw5EC9CsEng11*HOJbC|vhj za|`4<|KgUzXDOiQAu(_1tYnkrhvTNy_~D*Qjr*WrDWz5JNcX$3_0oUd(j&+Bz1-T6 zxV1wy&3$z|jH%)fzRv37W%BxIQd_VC)l`EZ!nh+Vpf|c!MEZ`_OK8!VbEmSo)CSOn zTo4kzzZH@uR{nNPmc^*$WK26lAqSk(G|^wze8@AXSM*n`yC3#gP9}<{?MX=m202%rvsu?hy4s+d;(U1iUfyP9eURPPg zd?{4F*(^*o^q&Pxk?7zpO9k*;*# zXp!4abK|g3Ptz}#(7>@ON&bau?XgKH!|GKG#ZQK<%TH7dUouMcS4XdL3GK#mSZhDX zAI$ciX13m3(n+j4{#*&w@kzKoohx#fiQ>1=Wk@)m%JOnaxQi;?FPr2EbZ9+{9LxYM zk?t~rGImR z3RY%M*SDuGPtG%imr=^~<#uI4 zdk^zoAC;Eo1r+1QPuZguPzp@p>norM4aQqt(vgZZt$kcm)Y#0&T6E1G%M4siuDJ`4 zB`FE35^G(}*|L@E8jyK18=;P(g`56^qf9)e)2P#pUusIuAc7n2S|s{xX;|}D@h2}^ z(50$Y|KMQF3fHj~=$XXzGD6#t?_HaA;0gc3;oK$3Akg70GxI{W9UbKR1i-aG)&PCM zDzBGL@CgMSjG#ac*@9CHJlDh!_FNXQ}`Rz_N6Z}wUR&ix#npFcNfKS&@ z8B&8o0ds+;_2{iPqw@AN=yQ?6@s+8jv)PK}lG-vRm&TqIgtA1K_(tCg&|ZDEpZie> z`u6$sSk;>n)GPZSEiENBy#>nQSSA4ZSp2MI^+~^G}_{ z+ZvznY!$Ii~A<^@LD8INUCy6i2+KAKAPjGDDc{f`xJnsnR=qd6yK1ECGSyMca zI+ZEOMzZz`w-V9tO~^DY17PsUXc4HzVM$M+(*P!n3p^JMQDton039s0_KV*XJ$2Z> z?c}7POvXtEQbbpdww|6}jJjw*Pyu3lpN)QkG_jInngp7Gm_~{xF)aE#d=(h5aFblR zuuL8~r0z`=S#i@df>eqbt$a(R|nvRp1F^9H*Zz?LQ?+}c$X)zl~p`;^$TbveI9 z5AK}U%r+%>yCM5T0fMg zFfkK6mXTL=sGWTxU3xPnI(j@BMU%Gi8x#%t%6UEczERY!o1xC=QHtKq6X3;&2KoGo ze!9EsqJR5xw1|I%;wy3c_GT?3wQC*s8tHr%i0$M>hL?;3P3jf3{Jl&Iy zJ8_{BnR?1hIU1C1(+FkM{)czm#8C#5`NeMLTm9}Q@{jCFeM-L}i`d8aS~uLGsaRLt z^akf2B+KrY%NCtBtr1@VR(6WF%w|IZD&#Cfi*{uq>CHPsBsQ=o2=I%7ow}o(W-l!p ziqU{fEYQwCg9=E4E}P^^Yq~UpY;V0mCoarI1`W9^Oa?XLKcFz@tycVV!(KrHNwmuu zk?+V^HrsPqbSn^Y)u{Y7S`l-@b<46Y&F|G$w)<>mA_5vrcC%RxOnba1=Ai@$x-u^Z zE4ZPiRR-p7PxlMrfF`{8kdgmIhLI-3@N(Eiv&ntM@vC?7uQJ=RhL;|GOj#ke15UHG zazca@vLmB8k32$4FbD0#@}jy~V>mTA_h9NAdyB`7NQXgSl!=#C8Skec5R zEpb&wk!b<&3{GRFZn0>}A;&k^5~5q{mMqvXkLd(T2aGF*q5>)&GOgL|n96RK2o2O7 z6Blm`>;It@{w~DHWT(|9897>L^+3gCF)7^)0j+sR1M5?2-HBVeF|67gTn+M$uPQ9Z zk#to8ouzq5rDN~LwSR0FIYt7jlHUjtEqncoTV_C_)LN2;yEf;I ze7`csdQ>ILl_4Z7qlm;N4))36kfxSILSV#FOC~|h`WFf4dL}_@O1mx!B=pnL#U@Go zY<|JMHP`B5!%EViT?>~^DnKL9Hg5A~`9suh?TyF9!aVQy3??7cCYJ%)%wzYV%UR{UTcrC0!!8XqR4yXRRQ=n4=2UHKuDgM5$ z`-arvMEzUc30N0W`sIKzOw1i>CbwTubX2C5&S|;$f{p%anEpl70loCbg3tZ~pPfMu zg)&y$PzoMmD(sJIk)YDht6LSB+;NO~!Dm|aq|DbN-X;?~pw_^6LY9@XmOZ(h87C%a zA(zd_48`TWoG|hZpLe&`Uf(h+A+Igj*k!_qwBfa%W((kyp+heIEWi-xpRwLk>6o%C zb#O`F>DSw0Q)4rcnk1Z@$j@&Tuh}e*&V(wDOF?q>Lfi89LMe$70aA()bfZCceSq+v z+?433P4`{h(jK|oF5(W;xUYdJE)*^d_TR!SRj8~Cnf%rcZ#a&=X}$5i9?h@teDy=F z;6@eKj@$8$k&Tvtn>B|{o*~*>`hN6#V7j)Nd{=|FI-Y$W4Gaxkg`$Rz?G2^ZCngn> z>MLr;8n;ws^+z-D5uqIFM)vslp!4OHc;sbT*^Li%PxPaV!;Ng_dvU?VzqnYsS!I>b zP;npkv(KV)6_sst0za7OUL7T6MqLH8Mm~D{rHgoEffe9b?UX50Cily3jGwcs>6B<9 zfk@RGe^Ua?H%fuhUE>O+2td3|L~W^?P9&1&zq=;>zW`Q&!=QO{&2rPv8Pogc>r+4M zL!cSYj8pTSr_AEJYsp$-VoMiTcAcC9OQ6cVY2`pGXq@ zPez{tMuj$?gRD$^df!urnrGiK!`&mFm&=pxCXTdll$nm;E=yC86up#A+N59d-dULO ztRT>5Q>%V)3-Nm%RoZ}Z&H(Gt+(N{_?ncfPD8N458}8;y%szGn>CQd!H{^@bsJx=} zz}0g?ScQUr9&cyzn?%ZskMB$o?4fpO2xmr`r3Vs^aRQo(imHqVjLzi=tF|;QqX7jvu6I#sZvDGw99R(nkFRkWn@n(NS(?L#zNFA z8L(go7<3bBi~Gu^D3e?KHy>K_cRmyk+NnLr9m#0o&~h3{GEt`3rrn*LClYz-f*|`w zu%S7>v>F7{xW_T2bDyU)^Ol+TMIC*#`KfKw_fp&0=S9U!5G`H%R>W=z4VW9ods+OCMxIXpPnEd{lceud|eo{jYKVk;?;ZmSSi+Dgr`% zx6r3e8?VT2ZUh!dN73}fHkX}0i-}gxVL?c9%qLk4Wc~*e8b;LiO*rKYRSpz5?*75z4Cot%wytr_J)o5YP&18tdx-}vSk zy5khD)X|Ip2!Ld)VBYDNeGSl?s1)e0`zqJ4veCjt*MN*+HyMT`qQOf59A-kEj z1OzdpG#ABvSaJBTcHN=z=F~~wJL)N+4eM5x4(ABAk5p~;EFA8vao5jXCTiDYJXv77quFH#Hg;Q{%=z6P_ zS3AG=#%9cw|F${w0UHLUGuPYyKv-rvN;uR7+5HoAvyVsf`Hq+U#p>LQwHFGxADq;0 zl9Wu!W7xnqtpq~aF+H0DmV`n*aXKTR7Fl`b8b=RATLXh?NAF6PPzB|h(9xP{sg z-9A9nV>ir(8kmCH9Gy)n`#*Am0Dz*Pe7D~S0CC(G)+}k|=}aWaR1fY8vGScGeLuyU zG0~Dj65hH23spf`T1_|ceoq0nCXtlyY_p)L>sR~2(AwRZk57S!v%NCWvHE%&vEA}C zCT_10><@smpS9~@*9M%_~Vr~^cH}VzpIgZ5(>aTlduYGvW@7; z#D-#(pZ6+{i;#yljy<^yimX+^(i^X{JI%B5wMA5M#G5`*XH-a;hyY+Y&)J;=HJh$!U2?u*L-sdtpFJUt-J|?01<1WPg z?d~fq+%TUEj|!6ckYxvaYTMlv@6)NfGPc2HW@=8_cK}V8K?fzI-)+#LyLqGz+;74M%vkM>S*uL8bQeE`L5T#{Z`L zfR=u8rlxLwZ2By}5OWdIioS*^Z+XSg>F#-g#FI^mleQuDYlTl*MZCicG7ONrF5a`F zZ#;mTB@6|&mQ!|MJjA_91V^>j<8!C7)2uP#J6evAJt$^H+sHi&hyIkP2qGYWTS{?G zj5xIM#;0b#kYOq4Jnv%@Z$U)DQ?RP#cvSDtX>kdC_t%WrD$4tkztEVzyI-Wc26z|S zL9TB?{RFKm_Y)+#ahWyl)Nml(riC#9V%&mhv9%2dB{+N_sY;=fLjrTXIm43zj7kNp zVY-S^^64%^G_|KfVC080(2Gx=ZCGOKxU#qVPg0+8BI)yquO_XJPXV6c z7>!}_KmWWhHGS;a*BgAx|G(MD3mfy~B68sEm(nCMAl@48s*?c?<7(`H5>H@?O$g(t z1;E?W{%}0{8D3N){>ImBIH^FSeO={;t~o#&K}*lW)iYeBcJ{W)0REVGZxc6*_Y40R zA$HnlESPRyj*xqwTnbN>m1M&cobXd-2*!`ZD|yosr%Q)**$3FLxoUH8>i>xsJ}h>& zdOv{#{!SJzLX0#ysEa^_a{8nlvfp;ABEadyChwd#o(wEyq?^!S_a4_(-e$BYoIFQ; z-9=Urd**DxeUNQC};MQ5ltnED8_r*NLBJJPo<>jsK56a~pCro95 zo^({23;^-;H$phHf(G5RSU29q0b774tm;o5|9L!4t*P4ghxdWTwu|40-th6_m20_$ zz5XZAO`>I4qhzJrJKNMxDlxhU^^en)So@+DezS!iKN(gLgtJK&Qp(8`*>y9AUUw!G zM1opnjT%(h{OpgeL{29dQ3*|Qa#|zSDcJhGsI+;Kc$F*zkWHiO^FF{(-)@4C`+`Yu zrLgTQQZE{)ps1l$zHlmTL%XMGp2-;IEGJHNn9SPZ=?CPz%Wydm`+maG!sK@%i|ORj zwRo}^-2LaelCRAHScO2v-Iw2c2PxEjD@ULwdN$8r;*#(v>{|};aaP^-RkN8S$mltb zL^+)S*E|$xdDS9o;U7b9G-XXjB@SPA3bM6{o+Md@6;t_ngA$y| z5rMmF6_`B$k58`MUy>CDfM-@o=)5^NG*4oc)Mxa#G~mcAiukZ9E~4aS%gR`yn5rcL za#P)6wJg!N>wkqr@XutAv#kOoqCN#+UP1P^LYyLe;2~X$9QTfM+ZlOGNj>FS)75_r z9)WDkuD!80b*mgBi_hWGuRMoxD;t`SSyBuZBRAwsrmvdFQJZDXyPYwJFI^7JSR3=6 zo+Zv;1FiaJjydeAAumqfMjthGfwcp9%`=9Q#HTG0_O)AiwcY7WU2>*C@k#}h)+4PO zCG@ZA2VhqH9yGn&Q8Y~KF89`h2j1guWvzV)CGr`Pkr3|VMs1pXD3%UeH;FTKpb(gn zIKibx$7u36TT&HkJiogj1E=?>nIbFwc$Q$K@I?vLE{%KpY{9_+o~_JGk6|p$cm$bBmzzF4b!$3E!NI9QJgsh7(_^%~lv_ifRyC zx3t@5KjC3^ZussOeTPs-3Cd$oFrmA$vD4MOOXA`uzjUirb+Nzi?xepmlR8o0^_$xu z69f!xr0o^~2YQTaupM#Ec&8>9mU-g$v56?L4XXg%BKG4(%i+CNyMCZOc4$V;Zd@GI zgZa^Xxn%yXqcrk)ZPjoGac=IZ_jD9qQUdwB{|54obkJ2LFw$wq<(A}4M;hXlg+n-Z z`Zpeyt`SCYr}D(VvA@^+r&mP|XnZXV{*$#3FpEnOhZPI@W9vzIWNp*11cSn7!^{l5qy_}6 zWjl0>(C=8+5WR1i=GTa9y(*3W_}Xy8OSYQgKMa69qb|NLh-sh0F3fq6&s42HRKhOq zWubzmpH9NmNp99%t+=;SRPF+v26K&*POW{yn8R)+&F;8TuF`LHLH!`iH3)-{%vHK^ zwg5tH%Vi?yF4%txsc{ zp?PC$+u6e4Vd}ET?jhbkao@#%P+m&-qcH1IU3k`&Yw%ZOvy*k#4$#&Xy zP>41BQwCGSQ@ibAc>)Prol_@Ug{>!w!W{1So#%e)r)FJpC%US}jU2-!8cZIADCIVQ z)!wbikyLr%bFCcmoIyBwVU;xC6=eA{GDir2nQ}Qn3##07O{u(ruGx z&x?7jHFC?<@*kP5rS`YPJ{JC(mIf{qY8Yct{LRh9bLiOoUTqoqgmLON@p|qn>I4Y) zN}2NFm;(CnJJj8Vcjt9DRTcvdw>eonly9y77cxir&HAeCdy_#e82wAANA=HNg})DG z!ZDD?_x%egAk-0AkBIu5p`RILIgq&4$6}Q3$aJ{&gN*CvYaBL}2NbsuGNqTB%22dM z;2UfAV_SAK>Nf^vX3=+>#C){B3IQ-+h8pQaRt9m@Dl`TL3}X;e6Unmr05g&3qrKQu zcFpgA0_x$J=x>_teb30lrjhgfP)7H1I;jV#0uZP=>F zAitJj3wE+F!D6G~KCa!pq>LFQLe@>t3fL`IrJgM|iK8)b=-1^?L7a33RJDQ2T5hf9 zXqMnQ3xB40(Ud##R9H7kO-bJ3u*UGoPn|o|WrED?@zUSfuwbGR5%4D0-urqhupo`J zYk(AtTPxT36LXP&Jk-FN`-ylN7I`>-2(o*qVT~($u^Oo z_JuE0z?gLi+x-h}A@Du!R7!voMp#qV(7!T&&{>1|Ym&*-#)z&)h3#L1CwFjw|32*D zKDN7L!o8yuEjuY~3|AaO0$#O6{VR_2e|2`A|BSd5ZOQA-cD2k|>Quq3Cr|L7bNsm& zDAkerFOCBz@RZG%Ug^u9 z_?!Lf)eao{C%SF+_nc^K_zTNFRq5aF#y|bH9L4`hx4E^9QNGn%)3qjy6N3Jif*A}X z$xZDqH2OPX!Ey_D|4kp`AHMIc(gU3EE5_=1z#Uc(jRo`a@~Q>sJe+OJUzqh>IUC>zEb#W%!Bl;(sIPs1!|?(*S0Q6XWHEh*hvBR_wPCXDLfQzPNkI+P(jS~p2n5~p}d|PaaDVb&0*X0Z@QI#FDw8}%_DSOY;6;*<^#Dq z6;_6sC&%111HT2_iv%?D4tFnbQN6=SLS}&%yb(2b|9!0a-%H`a^IH)*^R=IWY(}rC zJnP0`4&wGz_4iae&r~USreLo|wATs*^D3}@hr9A9_mBR=4gQCt`lo`rPxy?w7y=+T z{>7^U0}7C$ZWF^*!F~zB+*@Wy!$2V1^{e*T|AZCkC47zjv#~6`aA4JuoE7j+APQ}B zswWz6_;bC<-_Pmy(fqEyPn}?ATNbE#Fm8A(2+ z3D<`qaCIi%K5Q7Xq`r!Zabp?ee~NpGi!YErn*uFp$-6C!*h--w|H$v)lw%nxLG^Yf3p(h)t#mt!#ph7b9P6>B;Q)MX}7P=&+A{E4?BQ& zF%n8$hZRJBUEDB2*I8c&xKB3nH&tUvmtQF0CWi$xNi~i8o?fv@<>NbLdvgcwFrHS7 zhQW0Zx~I0+WcYtM7(Y;<43uWCLXLYa&Ei3okBic3x>lxYom?`k>HE|Y%zZw`E9$gq z&vpT^n5d3nGH_pqPM+~$=HS`eYUMx6>G;=c{h0Lt#%*-|{cwoR&SXKC-nhngT1h9~ z2{?8@(4V)vO2Mu<6Tl>M!5hZCu;s}Y7V8_NbN8Qyu0I=BpD9Tu!LajNtN_AoyQE1s zP1Ma)2i8>*yL<8tH(b#D@Mx_cxxV%2y47J0J@Gy&aP5CEP|K0lZ}nSV&(qZ*?cH{! zPR(eFINZGSU7;s1gPkj$C^8XFFoprv2 z{KN_O+WOCw&+i&7_>I`N>Sb5~NwG$C*f1zpio^bm=&S|TMaCNCuY8$LCEw&9u#0!r z+SNBOOxRJ`YL;0y)OPj#>-GQFg8!=fH>&~T!>{{BEGnsU({K7}^V*!sz>yEEQu*Eq zef-ZQBYE+AB6{e;zgW8!=FbMj*ZaW}2&Sv6j-6xFH-TGr{?+%Z2>t&4dB~V!WmrFI zUh8tKk8iJPr#G(E$oH|{y4;99-8ym zA^S}X{?2v^} zI{}argj0*om$t0hsEvrsk#n@7_ijzKSgw)m%e9GIDmX$raDlg+2(Q?mJr)1^cRxa~ z)PPJ9^x0h9&qpaoozqi=Zae=(qmlA(MTaK+=X2XBX!Ej6H5(@KnaW6$Q#oth^o3wn z@EDI+3Qw1F)VybwpE8|}v+t1HLiELOnSk8*Y-Yb)$FXo!tQUt@yRtiWzTSbl72M-7 zOi16MFvS0FF96QS|4cqU(7>Xbuvr$a86QIKqK83jm9y@8NMq1o+D(8m^o*y&l#WW2l?~FMc!3$*R zAkb=%8s$LsA;?dE&XhI9DEby+36f%|C_Fa;$P?Avn>A`OrNiR2Wn>x!tyG|e#DVCC zy#Hy5_k}7^%rX+$d>ZK=XnSdBc}WHKIB6O@Q7)!LKjMONv&H_EG@yVGm(_I!Zr8X2y{b$A1JXmL<`;%C;9 z=2tRTBd4#)f0}f2{-_gNM%*;Z=(D$*z}@fl7~#1j9yLp;S6i7KCEh%NU}>pA46*QB zy=;XaH48Yq`FJAX1?0x4l_dKm`cf16vgOF$xkU$qzO%2BFBNsLp{CpBc}-WQ+l_rz zR_*fCSf6;i$X&EOd6Ije`ZzdqAw`l?!s={g-w6I=mh8H@-(%Z`bGwX~;91f6uz6Uq z6Y}=d_o?j%N0rU=O*j3_dBX8>noG4CNn9iixBAOK}mBNs3KHPtOr07bm3v3NkR+hj7QBR ztKjN)WOOGz;Hh#Gljk3BQcBBZ2~ro_uB3!~P|6j46Jka<2PZC zimR^}#q{5y_EN*}}Y2{RZ?j<^F+7*+sUj?MhE=Lt0 zHNkeUs4BB=k4-3X^)dJM8e0Onp<}iSdUsq_2sN1*pPp`?;d_$X^vSgORJ5oGT!+^5 zZz=6gwbrWzgR$p*L}yVm%O(<5;?5`8vVIZ}pu_KWOWAYq+v$r{2C}p_`H(a_pS_x} z1=pRp-gKFY{xlaD#hy=Q{Fckt|8ti^8rL7awC_H(m2ma>4CGo=05Jup+$Sq-sD#*^ zzWm^DO!cw*iTW7BX@Bd*(r14Mox!K}*}LaCZDA61^+=&IC^U(CN!Jku9vUW3 z-xp%j48J%HilEg=3^bSvJ!MBMp4=KaaxLdFNCrP;^oUHDF`s5A#sp-o;b*-D4WcvB zJf<{8WdSBzti-&iZ&)Qo+_u!faWA=B)O+`J5@m3gp&)YFo9*lpek{MA$P7HHo z->9@<&9n#IP_TdbA+Ys*tcZL|F*zXUp}`kdQk;A5DgtrYzo@?Uev@ZaLos%V zm*=v3+HUzm^H{kHO{l)w63p9`tYFj0VXU~g5%}_{@nm033_lQF5Vte;QDVVd>m~&q z(l1O1sV0+l%=nnh<%`m-a@m3YTb8vD9)18ZM1FV+~= zvW43HpUhh~{UU&m_=&Zs+0O)T>GYWU&mWekN6Ms@Yr>*7n$`L!pP5&+AJrf4o1KzA zxBa-DJRKKpXUz`>^9w_siYdL;?X$|0k?xZnwSCA5*W6!v_-J}y+3t!mzW0Y~#@5h~KT&$5a7+;YF{OuuV!i?-8(-Y?FlTL@Do9d`vOAJlB ztfuVSH{jPDT6!%OQ6;*F=LI@VFkzXt@z+#2Gx10Y^7XjRJfn79rdRl?ukc}k zh5B_egzS8S7w>~C<39Q3hf~~$J`!3Ju+QgzKVV!;j``|)ar73ZK=VGTB4{Y~Y5tEN z;a7Jk&mH|zFpbSqRqdq)KD%4azk1fwP!k3CI+h%d&*)IXG&?Zc%J=a|IHqQ}Kp{_G z(YV5XP{wwUgsN(qVt}ga2$J%AIJ)x<@)*J7^5TiYH?Qhy#y!r_kP?}Bm{(;YZwj~j$op72M z&}({mEhXl}cn|>J>yRdpc1jBG<=@;8UeMPbq5L!_0@}Vsaw~D9(jNJw*KR26#ex5F zUSeN&)wYpYh5v`7h0i>=MOr0f%^BYrt;Ftc3tLQ(>)2a3p|;_RO7o-IOZmzfLX12@ zbG8IG`W zf6na?FT*GY1@uq};nXO^Q9}QbFoT5aPn1}_7fgH=YV?%~j2HG{-SC;|6Qf`Ji;|{C z#F=Cr%c7TSwjdTxXg@wrum>J5j@ zO^lUH*XAzkl9LoL3X zaQYwVE$ez0{um>wY6;tzld;_Q;3kF-K_w6dW?WUv1TFg#K$z_&^h$_+k+~lQ{+fF= z)!+Uov?Q31uT7Ww(0##`g%C!a<1kwt2IeviXw}|tuBqw&V`o#@kvT@r*NbV7nS*X|JyAo@UwrCgSF1Quon&JB^(z$=l&+wXn)rY)2mP@&<`NPdXHG^mR z7;Hw-x(Ssf|M4OnkF?{#L?Ojf{mGMUiMOQudgFkIfj*XdnTvLj@+;4lx#Uvj;$vdF z54O9EEpUSQnMbGl{687-R(3meGH$ye_dR4wmYDpmUtSERzIjUYU7`Muvgz{Mn#cyc z7Tz%>{c^gSE6?@W?p%}Do+YtQcAsd%P*UgY$8W8z7fPck0;-n}bsHejO6m!goFn3g33CdnGRP$~dyX*KO%azpGM{{)B*^ouR4r z+m-whIAg*7YNz=mNZo&h=HhgNWo%skDI}<-sqrm|G|%3AYZ-?iuRYq3@WFP09#c)> z8$W;TYLPzHg=3TMaBCOy)$<<9REv*RcSk8r7?xwaH-;9*@}$q6O;dQa)A&&Zxu6@P z_hPEUg%`K&ahFss(-^b+Ys*f`H_n>ml3%P~CrP+Po`#oOp0yI{*Jm?WMWu|q;c=Pd zE^qQW@Cmcc8|LuHD19`w->a6Nlk=G(+%gFzSf2xPC~wq!<)6m6Llthe`sw_Lje5ys z_1>eLz$ew&v0G;L1CDqvjt$-=SJ49>nKmj6J;XbM0Qjo$y!^ z>t8-vPj6jw-W2i11Z8%`55ieG!V^06mSdIU4xhA|h5Jo~dsQw`s~Ibtv|jDUD~AUo z*9YOdIo9Ev#tL1acE70sWgLWWGNae-tulp$b)$}lUOQ9BCq~f$i{b|C2-x8E9CXR# zQ*`&o)?(FD8Zn{G_|FxyOs$y7j|}?uL_(^$O6Cz{Dn{Y*jjTdmlgGJ{Nyfgkv18H3 z3hxT!8lI7jEFAx|5O2-m{b~A>T*7nt`{Qrg;i5`u0$oCc8|}}dkEos*-wio}yP;<) zt;4n~Q;=Ht%Qjo{^(qqmZ=OI#$9m0`k z{jxlZ{;pBQ&+7+q?khhG=3B3I`l3<0;Qzj^`C?juM!mA)Op?0Mx3(CB+Q)rsoOX?B zQEWk$p?Tk-m_UyW?2EQ^?)ive^a3Xjv(oy_Z%|!RqTNu89A!9OVtvDs-*GJX=)CuX zBI#LA;ush9z>t^2fB^d|W3k)Dyea@pfCru@^+GHd9JwpcOEThDxNP{E=!>U!Xr(-m zS#sG=yPVYP5MQG_US@jk8zW5m<(3MOQU;&7oY`kho-fiF9_3Y7XE9QEQB``&eAJ~M zvgJSA4*!O0#QlX=ldBlZ5^_+$pa|Qjg%wDAv?KB9ncBbu@fmBoH+Shf zg9;0s7PfS`w|N^CtlFtN)f5FLYh`DEZ(7B^rVGVli^DS(r%s!R5dBM{q zXA*>ief>6zs`zR)j9akJPY}V-llplp!}WX z(mnQeG?!G+=h9MR{UUqw3(ujA^q!N%3ja{Y&ARPy#j6^_@`rwq?KkVV;LpiG+W}*X;;7EfeqW*KKk{t9M_?~eW~6gEMhkNNP`C^Z}%Z# zZths4Nav+}3z|}=(le=9%sIwyiw?!A&Rk~mnJOrUJncKWgnzQp zpE&|4HzSld+f2 z){5#w+_N~!11b1TD@Mj+-w)}d{4>`cT<0>vewosKb;v4Y#&{Mejd zaU*A8@)K>p;rgh@BQv{+ZO-V|#@BX=%N>y&VfpMypk%S_L~&$`u!&A_EV(+5rW5(u zJ~~&vkJ$yx9JAVJ;?9Te1;}Ib&XZBDKIPwQWr*3 z-0@?WsxIG7GyS-$yy3?n&0|>Q-O@tE-H}}$ocgN!a-=heSyWH$~4D^*kJk` zQF>aw7iM3e@PK-M$wNgV=`5F`=-$TpP?J10`>q|8HuVl~yGRG;Hv-r>(GTNv%o#{! z48?mO17+m*|0x+@<#x_0XL@x-=w7r{r)@`qV`m{?qQzECC4PmyA0(f_hY0)A}EeYhO*^{zTz z8V3>fC-;(UlIh@zFQpb(^|Ui>YDR;F8#NEUMIB;Oo8rhP=0sK8ejNVDnEs6$zBr5` z+%1KRcj%7~4=74annxF?u~!_fCGVICP#3-YqG-eND{NxSWVi^=5jQjHH(CRm z<}T)IhhV<)_m3Vud!q{{(if7dWr%X+-3Ga<6g)AcM+Ej;_SKp-vGg8}kCmTSsXmtX z-?u<9d5Ekgx?;>aaI+5M*r=P@mzf|(%+{lY=}ey~5IoDYY8{#4^V6UqJJrT*E; zN4v+$jVZ;GM}!o#p0D0~OB@Sa&{>K-W^!spO&GY2c`)jwHR( zrqcMRJ)vp2xrI{hyL&>#2LbB_H#@;*YvF6e`_F80j;Leo& zx5zToXOyAK6>sF7$J9mmLFnX;tv(6z_VW)>FmJ9ngOznrL~Bjo@o9<1(nvJAIK^_} zo~h$8EUlREJw8kxbKd_YGO=r>cujupE*%vP8I?Lu$oD(_?WjB^@dKz&vu|Qz&>gnz z7@4aU-7aq$KXx|KD_{mU`%K%SBkou8*=ia)vu?*`^XT?6BO0Vak^$hmy+Lqw$3;&x@{GVklENdA) z9R$<54rl%$o`z*gwqh^e;+oB0CGnYmYvj&wsG6!#tBbES5Wy==qw5rz@XtRTXVKTz zDw^m)VcwZN!W@i(98YFTr?LEYEFRs*Tyzs${6du3F^$obktR7YnfE5oUdPMCXK#$; zqHq-yz{(4|9m1caQBPIK6S6-v z6Pp*K5+F0+so*F@9=P0{AokN#O5*KEd3-x;r!?(SK8>nqMwY&UBK!^1(qHPv1rfQU z-hcfrd}-_Rc!;j>*_=I>Yyi&NfB8J9AO#e+O#G!m73n_vPr7l z$#>cA(q^9Sb0GjlBB4l4(vkStRv*CxeVw|r@T8gy28lMkAI@ukc=*O>ll8HRh%|%p z%O?|bvEv@ej<(w-cFW7tIhzsDP7w3yUBYevg@@(umt*tyR{(Cq}t4XNWpC+`%JJ zyHC&mQzcRkxU6>>9Pqx3YX7AA7#xvuKQ}&*IR^P9@tpAy@Q5f!H?Va~RE&FXk_M8=pohf>VnA9WUSh%2hFeUP!XB%F1HMfzv9=4%y>D0c z8TM?ECx|~myMJRF4C|5WM^~#nZ$4{o9Edxs%NF37yJ{bB{FtW`Hbtr(IJRokMody+ zFUCJ?^ej1`4MZdiUcSGQP!PAFafsSARZBAwrWW&|+Bc_7hQB)P#dk*>Q!JY`^C*<|P{DYs`i?B+8IeNdR-Cm|K6z&+IgmlFdDuV+K*1u>C z!;gni&wh=w3sog=RzB*oQ?JpP6xZ8!{8EcP>x3u$`0i}c=oAmz2{>JYacdT*gZ*gE zspJ+Z1;6CPL_9*$It_#d#EI_I0LVmyMf-S^WrU=mvPStC$m5(>o6bhe=*{M64 zQ?wP(N%ge|ht*DeZ8H?YNWbh(Ijxz(K(KN!$FhU2jBaCt=0@ z*6(b^t|>z>5pd)~yqz-PrlXy_=-+?R87Of~?Q^t8J=}nI#@FjviLWLTK8qq;a#PjH!5*eF&pqu<)Z6;{IGmHN#{b6ZAUjYcZ34 zl%mS8uEQ5vG~S*#)RU%N$mE~!d}OaJ<=a$G1|Bl0PIoX$YySf)h=JrDr}q0_ts@cdXMX{8 z8&gLFv@Qc|i>AZ-D<%%rRxPXM!P#egV-zN#+gG%0pzc;CfjI*_AqR_tUkW}qF@qB= zViU{F`dl`@=5w4%_#Nk_vBGMz5ixRZ&iZub9W`GD8H2@Mb{-wGQ0YzVk=tswG~)TY z-`yj?GJi}M;3OYQw$#NPUSqhoy&+N)Fs>&f;j=)f+^2@o27--CGL?%A=0R@Zn{jf z!+VApjT7*m&~qkt8~(FWo0F$}%F=_RS;8NK4K`Ai-Bg9k}vqN&>u{^I!dz`a=;H`3ic2vGK9FKz# z0nsjF#Qyh#Z9N%49pleFN~tfAQ`wK7!n1LH&4!Y}-VBK0n6oLcfFfp)nmmD8b;_x4 zHM`(+6-H%gS*Rana*eTxq0VuhNb%OjiUYgGgP-k(jqi%7v%(-N)4EL)sBS?!Ab`p)7Y+HJ;qi^#Pn;C3*|9Zp>$oAZVq2{j_n%-DGvoM2CBO{2TI3lU z@K+5!SbN93f1D(;;7D8gc@*$d%rW^+()UJN^061==4eH(dm3_oRrJ4FANMdBAENj| zPk0`c(t12pE_aUS0JY3~D#lSL>@M>BW{NNo%_dAVg&yMbkgaB3V6R~c*KT1U_Rl|M z%XYJvvCWr0V=;JIM>X{pGWms=;w1yuSbYTMH;|1nmF+N$&o}r^5{y8V{c37PIp5@L z6sN@BJY^1Z4l|iuQ7nW*+|4q%T9nzg*SJG5ltx(FDDI@6^131Ch^B z^^g#1W;9i}FJ{_=y;=7PPvO9wpBjO$$cwB!;YBhK-K$MKtpa`Wxsl@~Tb6tj~DRML&% z%X{?cjF)-T)Mcz%V;r`?Kr7miXyO)(o-JZMK!cV_8*2S{MOC(6!Q@%==2h0j zkWssU;G7l%vy1ks162#lK8>;u7jQo3a8|7>I+hU`+Cj7GFHp%jMTyoqGkiG|U=>Wd zqH;xa3$}5%eH{#^(FKOz)7kk9%_4@c%>5ZmpT(W7Q|_h3JEUaX>Il#yJjX)V+%G$s z@I<@8k)t}>lfY*>MnCl6Grvn%R5d(tc2ss)g@nHQuR{7QDj`Ks_B^^bwKxGe?rL7| zfY)PjUl|LhFdffFvnRBh9vO-eTbw>g&2eFnv2n1YsxBTe9%ounmMTAs0Mq2)>9(>7l0EVL8o% zT^AX{zW7}pG-1zaH<}-44<#iQSDWKLAnVgc?^ka-w;_VoQRx1d4ZxTpb6ZVIEX+qr zoJiD-f!mC|O%v^Sb=pLLpfBw5|$RzJjKmydpTK zt91r5#Td}|))E@47dN}aZ|z2h4!Z`AxFel^d|(E3NN~xK!D*YjI>BySBjSoyme*5f z>mg+EO=_&lB#lW3HW!>(W!=(nlLz%9Jr_J()>ubFX^S!O}7nPm} zZ->x8Ar$OVb|V6k7Ba_U3T`j?BGXcmiU1@^B_iTUp3bUI7GZlkywhF?d!;G2qR~Db zVqdOGDJ46mEe+(`Q%<;k#M7n%N0Mt=$5R@!Ix`c)-#eEsAo*_dLPX@+w`h?Lm4Dz1 zsN2rCqNvugurPyeNS2o^D42d4VrwylN{QoJ8zXJq&B`Gz&p{q{roykqEys#Rrs#n- z`D8!-&C(1xQQG?--IwH^m-y|uL{Qm1&)OgNXl%9~r5rd#>>=vLZ9fIW!mYdlYn>Gw zLZ37G>&R~;kYDhV2;Odb4|r`o5q~4}hNi0)*xQqz&ze?uJ@e%y5TsdhT1ND$8mPH_V9&UOWVV12}Y z-+21k{@ZDNFyzZ4-5(c+8@0=|VB?@Q^_=-rn@2W2DV6b zgg7fkl-S6xE|00TTz~Dvm_V`D|8UBtpo&`Vh5t75zD)48F5Q8{t=K-fa@2qR+)#_4E$l-CWMmnT? z9YNUm*01GU!8ZzhzgeT!Zov+U9@WQUGEf)n0w1C(630S3hCVpK?&V6$vo9vkZlwSx zPM;5_BVR2yuY0tfl{!n!7kCl(<{ZqJPVb#E6vnF5by=(%9u`du=%$;Na+3|e_H-J> zQ+SFtAFB_pOaFN6wIr=KJk=S5$_n6db;0#{6HV+dml_cUouUq5?zTcowY&Oj)qsPSB9Kx9tM=V6p}I2XV5S89m~#r~&`(4ho*K99rNT zSwC35f?0Iu0~is^Mw?ceObpl$iT1oH+l^)h$!e z=1E&k+3XTM9nWdK#{@sohiLc=_&OOu$hkM>wv&=H2D8M8n&AzboubBaw4saw)Y#8a z+fLyai2YJ<(tR@&=XVbVWI_yx;P=oSYizn8ZCZAytMIQh?Xl_sPpGbWWE^r_k=8&O zoG(>Nop(khEYik|dz z^gT{6#@55Ado$fJXx_Po`Srq)q4cKmHEf_T7={oEqt#x7>u99&zpJt9;zK36cZs|C zYBu|QFeF>UNhCS|XYvPrGQJ5(qW6y$0wFSj|s#&cMtyt4dPzq4PW~iNg$hAOnA$6zWVn7`S-j z*>}1p_G)hPP4Z+T66b4+^mZ|d|0C{Q0#9`3CAvX+X>hm@7Mx0kx-!Dn`MMxjif|@! zgZ?u47WP)Z7C@S{aCfC%tv=`;L)uB-mz=ZCs#UArs`+tcxt%x7>wakGTS1GQ7?`#E zo~M609VR)lbAl^vvAW`!A6+l$1dC~qbbzna2XyMSbl^xX5d1>N2^};Ao@01-eU6a0 zlmA>ZRO(u08RHgc3^`=zPs3N5KRHPUoyA||aK8sypj_vx>MXHEzJZp6DIVt{4{a1! zgCV7rX0X`MfP@7-_n|wtPyT{t87AO|8_GY8SZpV3q1KTVToze9Z?9GVqZ|19$M;hh zoA9&=?7-Q}dF_&C5hmaX3%7T@2dSz!1bQr5JIzn}o=`toq~IIC`jNhfq#}~PM`gU1 z+qg&Qec5zcD^wdB^W`ag75ohM5{ZqFe~7ooRXiZ9Vs}VyNYy?;SNx(TR_R9ftI?Ct zGh62U+w;=K&&~%1DpQ|L&HP|p=9#I%5c$fLG(z7;tGbTG^!20G)n$h8J-oEWn?jI* z-{7NTYmqFS^m!vC0Fv^OzD=~Ie|0_LeKmcVJ5=T63(CFU^4PvR}7{IfyiBOK;~ zv?8na%g$7{xHh}e3TfBqQ`5(qDl0j2jE}eddEsK%R3Wh+NvQ|jAtR_j=D+0HlO-$1 z4u@_My+{A9u<$cR%x49^*6bIBGw1vomg-b2`XV8pX0-5dDi>-AH{+vAQXT@4R1^4X zI*PmT{c~hTO>&c6{7}j-sp>pf$!Ukw<mX#~Oh&cNsu2Ny(mS-Nw83vBziewtn8=I@Hj<`9VNNmcK(^;YnJom;ZZZAQ+e3!tXzy)0JXAFihht8}x zYfCw7sV|!$!xZKI%BYQ2-6B2}ZNr;6n`54S6j{|_JgM`sC}-h^XQ+l1i?7VRF178L zrTh*LbWwH`^SI{?^h@lom|D><``@=&NTkrG>fI;(wF6a2{uI*f4SPxuSS^!ZSXL4b z;AxOPil!-qZ?W`M$+(}f76^L|sdjCH5t)uJL`u(O+(6sPs^PAJBpq~)0h`g|^KtPB zs?>NLVCBO)KgW1}pR*kv748+fhrc^4^#jjI4P1hc0wPRpvYpe)y;1bS z6}OgCg6n&%Dt3_9=e)ZsP2_q{suKd=82_wQrhDTqZ!A=1RQ>Fw0CKw%9DBVV=sn&m z>cgd;VZC+kJZkS}$c4v~Q8puZ*eM=qhu`~aWS3cw{}d@U<{N89Blj)2;MU19Ca*lm zuuTtX=BY(sJ_zS7cD7?(-w`;(M%WaWIjlM_cF;dAb;e;Q+c8vazc@T{bY{;0`w|Wn z-7iqzIjk74@-Bi_xLhw5YRqs+>FY!1X5c#6S5=!ucE`(}p^#p&F3N7}JE_m5;) zjzUL}$8$l+>@rt5Qa)VA0n*}|(vHx|&lSnqKwI`IGpIE-px_|Ry``};FG$~t5Hq{N zq5US*8gbW;q+t#MYCC`XeQTmUIco8Y*{{0}fuzTAG=V0#VGM>!pX|qNbt+Nd6KFEW zB~u90dMl>s+^Ch) zvL?J+kohlQJ4IDg@SsFMzuSeCSzZ|X_QMCUS_u57-Bb`}bX$F0aCqAgz&+cWB0`WU zCpXBlKM(jG`yuzyYm)(Tk7I;7Y#?XG-Hsik;zEQF^mV6s-A!+rIh?Oh!m86l-mV(g zHbsxRDs&Zh3UmP7tSzz73W@h5BK)^XmsQD?a{R9!^1^ zm`ZcZ4~D~_4ftbo$e;>v@W+R0P>XOEYGk&bBtIt`Q9gXmw(FxxvoV-WM43VN#)i#L z&A2yBvV>CDS#Dx)ky%V*H|6=(sG^ohseTe!kSp0T{7FG(!jK+Cp?b1bE%gi=1@0|F zVM5M_q&He=OTDC62!d|)@5L4@b~RdgYFuoi>3%7!T>vW8D(1JyfaYU*nSmBxU{c}v z+5guingvzSY0COt`2$3Q5gOLbzKP6QFt#QY$UTgMxca(V?#yVlLk1%pd-nciP6+y&|)2hLm^bF zSgas?$N4ISB%0bM-Hj8<&Tpi?Kd;LO`aWsT{>7B{-ijq6$*q9wP#SJy_wdJyNK7}* zPBM%KkzsqJp6_Ws>xX^Uz-DHLV@iDuV#bH>_lI=d$cx~gZI8dPd>R&Pr>?pOYjm$@=mF52-p@_pxFN{>53V1t6E_hL1U0-leRB(olA zF&t5wev9(SgvA||o$p6&sDr{sS96M)Gh|C6r_fnk&y$PgD)LEe*gixo?XS-N+~_D^ z^^Q~s;%jgi+!f6N2Q5X@J|v>YbQRxOf(5a7mVS_wXVnDpJuMxMo$q3HG~6L7U!^5a zY39)KGC7{rARWM|F$ly$=mweY8vlZqJ{Yd&vqnRyA~UNIqUR*AP`2KKSeFS{5V{_< z53t6zP-^+1t^OuxO=N%+sl*P-SgWmrYiMo{11~P{Y+pnN`9(5$l4Cc@^R(FD9bhB2 zb@=tXr>J{y_#ehdT{<TDD}~`VxKQG>u`rL5yF0p zfe>^<4k5dUw=tj}8YzL#UDl(v_bFHAQlBMC*uGp-2yRsCPYzBk#{6u`w<g%RGi4|EcZ@J{bTP;_4Hn@R;lO7iODR<^oz={(wBd}Zj9B)D&6M)0!$ zDA&6~+Q1ekg%cxF53N$Ab#Cif#B~Sp)c~ZIqzi@6`v$YzB&Xs$sg5kX39EpQnM^sOxd2s&a%m!_?R7FNF#EC1~dbMWKnEctfIc&w7n{f$Xau`|A{};LR zf9R%gVO0DXn>O8OaSc~c-GG_6ax$LT7C z9uPxcWNIxlmg5+Iv-#%E@NSicZ~wJHZ8^>4XKrC!BN{$u`u^`Ro2TBmoj zpI=Da?Sonx55jLI27_?JKZd53SAGocB9kjlB`jS6^Rb7))I*puu~H#ao{&>njPQK+ z054fsdz8x6Fs@#i^rP;YP}@Bx7L370H8I?D*H*5Ymj_{2;^k=9zy)FYXH!9gpLD)d za#I6cFKcNKtD|sjSN=`q=a8JM~oTH z(gmMYf3t5OZt)KU{JTZ)ee>!HgT`TXhqo#QaBs_oOAJkL^JTe+f$D$q{r*wm3u6?0 z%4iYfnJ8fM{Q_chal>>}*9w;~hQ_>s4h@#_N#MFSroglf5@wsn5SR}H)|It(zmCtV z_NM+-7_4c5J*=F^baip0>Nvr;S;fbtvm}BAv-69B`0Kyg>3_#ZP_*p51@=IbCjRfe zAD<@qH}o@MnjYW7zX{sL+FHx2=(psBd~uvftYBQ;Jhh`1qH2k>9?1L`~)~VvaF! zVC6{WiX)1@qT%Gad5HUdr7k&g^xzY9o+t+Zv%Q0uG+`KGwSkBwEmr`Rsh^yBwzwrq zhIP|t!@U_$C9|M&ICQI`$fK(y_h5+?)#J9&fYQ=Rnow zEYh;?Cl_6oaA452)@2}`;w=iA%y*ha)yL3PmG|AUBzR{z&o{Ua($LR*O$ zKxY@ORdSgUt{)6*`>NB}5||SQ>&BbJIfh>Tg#hL+s9wa1OHl;S!ZH)u5J=~( z_@hBR!8Cjp3=@n}`HKSjU-9v8AA(Xb4M~Cz0CX#FBmGUSfW&?gk!wk6$p0-r{`DMa zj4(>J0q%mME-RgwTP+?1lw$r`FNsSS)3ge(%iR0_?0NrQ zJMrJQwrMM@ml4w_&a4&Z`7eJ5ESPPSvcAnD)=wALBeFR1(Y{?nI$Lh#n|prTP%9|pSGA@$QL zA4=-3=2qtqhOigvAR;ZVkFr}V_obvP_=x_ZOZuOZvH!`KC*qh%L;i7diF?cxjlzZ# zT}4`YoX}_Zs20RAW^bAfe&JqN-r4ATuF+78g1l4zC_Ml1fMginrgjPC4RPg{v#|qh zm#XA0c9MvW22c$~hAFiDIe)mXO(%c26O;+KkaF$c>xbw=QPKbP0{GWr^H(1*RPULC zZ<*B6#}Mqmx>j$r(zuW9_iDE;9H9Pg(LG|Qr-w|W{eKuV%Mw@PxKT>}YvKIQ3H|1^n~s_5S{DiIo(7=i#5@^T)xpw9T*- z)!CcCln5;L*vaK@DY@Crh@dYxbv}8mE>j)$-Huo7_eiy^Rl)sRswLg6B zB6~TfwVnQ13oOg6A*>@ULW$qb4wB`Jjf{Msb9T+;dUqj030MXFT^#@C_fF$PtT|WI z^(?b$3G`2~Z0#wzC&$bPpaSX;L(K{)xRJbLrX$bP%_K=;!n9+OD%+^h3F-TLfBJf8 z1yOOcMcG^SjhUo&4bAXMOnxcVOKMZwzA4==w$L{I*aSQpGb6vlHKjDzo|wLeY3>uw z0M4PTput}I{~YW8=Hh>UPe*v}a)s34=Z>%c_`LV(W1jK{b~_yeFpr^Z364r`N#~W& zV-vAa1gFD`QbMk1*{0Th`9BShHjLJhb6{7;Fek6$G1S*8RNvDlLlgB!%#BnSeRps;~xBz&Ixlw~>Cs+h?rhm_^yLMi_lEoW#%lr?nEu$EHf6lkYTRNROy!~STl zwD&RWrknH&)HCU$o39p80e`oVK=FGxYnCn*0ElBwA9v-z^SjL zlp{I6u4yz8{|5m``w%4`*`TY#Y2e^m-(JbVm~y-LfEU>}WX{Ug)W`;kNU_dTR>|Vb z&lGlL*Xd?fNq9b(4jw*7x+nv>mfvECEdU8L)CIRZA{$mn0QNT$PJ9Q_fEvXFMm2gs zdO>fuF0Whv03BE9rlD;8{D6qpc^khs;Us;t%9Z91GOyM039ak*I9w^JFlit zeE+JXy<7XBFjj6l<%bC?s5`{z!wz)<1@C(E$51}`o_Wv1_nh;M#sTxy+rc+ezx-}T zT&z#&69m24mCSELc6~=85fpLP97GcV4igOA!sUvHCawG*vcZF>ZJ@2O>CvkFA0BDV zW}hfyg{|s740+}}?sLg9ircc7ZpPtt+!=ycV$a@&5<&qKli7CC?tOn6-}kk%h={Ug zn*MV=M4bO(vXGx!U~i6;##hT6zDdbubAiE#Bl;N1tMIjf43$`F31-J8N!42WS+hD) zj)2^zk%AzjmN6Q>#XG&`%M}9=*Po?%s_`-lbA#tzQHV13*m&Cz43z)0$Qr~4kk@s)>Jc?W(YlUgjp+ivbOb6WNG*HJ~!lP z#4~R?7Y=2`FLP{=9|&tv$|1U47nv-NK0Na2pLVs*zpFa4oP2jPvQn^-Z;CLKK57sH z*xAe-x&!V)Oq)J{YeQdhd6N1beMrb;xxv#f&pBvn1%Hzy`!lI~t$$T6xZL1OqH$d% z#3&-`I5ZVk&KYeB z_Qo?9B-zAJ3Q8aT?BiPhE=6M57%*Mu*`k_r8NaSqHMZ9vf?#4^%TvzM`ZDe%iD>Hi zHM^33I9m}ovmrl{7f)2vJ{?PSx101PQ7S2drryM%rP@o;9V;1=C|VvTgOv$cZ=@`x z$F3*n@OKM{q8#dArU(NvCXM^*lZMG4VvrdKx! zUHoLfHJYF3wl&I(aj>qEq6FYljDWw18QUE|WU8_}vSJIceOH-8T7-{<2r3G#+}oY5 zCL|y*E9Hn&uBaK^BWOcac+o7&Drl!aL+mT&erePhr5J0PR({Gc+fZ~*w|Y(zw+aH&ffHW3@2e|e5kZ-zo+H5^7Pp_s z&!*KYP|W8uYi2fQ-|O|paE%OT8#dp$WL$dL#&eVt?GXD4^}yYa{6z@&Z7X+3bND=V z#GfQz*Y=Y@_Cn$l=w$Om0{y;^S&&kEGX2%+$z)wlIr2?+_I01f4&-X}jM4J@HX7{>wVFUz)0M|ty#nw0vpeWthg$_WF>hXb|yH)Ng06l+lxu)E4<}mk4 zF_F2ZKa-Eyl!P+Q6Who?*;MP(8##|e>*+MV1zfy&*Pkw;Vf@8pKC)B@^*iB& z{c@9udXA)pxPWSkNHv3n!>hjJuBh7Cx*OXa=vA#}ORUy0K+zXW^8H)@Pqez8^gAlB zANgvAUi_@lyk~_6%kkXBz;#bMTzt8}^{P4e@=WN=TzCco(0MLgd$G1oe9*5B@rFRZ z-XCb)*l2wk88yCIt#UEFlP=b;Db9L*X#UN{nJu{c?{+@JS14fCqC0a6--%S{g!z}5 zD9b>V2;D2MX@GXZfrh<))@)Mxp)RK2aGZ2;dh|on2JY7B%bm&`@)d_5O7BuQw#wXj z6oM5mxds1|5ORhZc^E8^8te?_h1j)ZqOPK41f-nl2D~vyV)6HQ^Q^M-+_E@rXuTxahMPd9)G^?t>{&U1@3 z*McpDcyOTpOg8yOn0VO;Jf+TqBS^eK$`^Jat8atUEjCDI zvSXFJ^H?0V(Sn4>Z?vZUNmm)>f)6g;Gx97)xofv85m1NslsA~ww!E(%<$T=b-I;;q zT$_d7%hPx5?($*A=ftyZ{?Uox4re-=MbuOW9^RLG447Y7%odCmYV_&DV`IbmHnj`s zp{?n12`qTrl{f+=j-<UPo@Y#`gX zziTs;tE2dy?WTwdq|YL3BfrBF^ni}m*EiGiVtzlwDwN_sZ^ZC7QDHWrAcKCHM!GeU z#YG&*$uP#8VMi~WMTgUZuiAqk36eZJH5|Zd!~vMMc91Q);JT!uj+bw z1df_kc}|t#Xsh>`%aNXo*RL`l0f(lm=5!+~v-XpKfev{J?kK85RyYQQhSZU)}v5H3)K zI8aOD%_oq+LTsXt26Ke!=HX^#pu4es35JBG%pzI$CESJ!Yy@&rHaH~RgFsk9lSqom zvXQ?YOCdsf{ZqRXi)etsE80YxKFjP`Kwp2yuHv>PPKh|g_}q) z0g^YU+XpSrB8uROtKw7u!k=PSU8F!|^J0 z$)}a-Fkp136}VE#KUrw|?bOOGCR<_uiC#-U^{&7Tnm^v;UKkb*cP02?OHH`MAl~U_ z%Xa>~iK`>YTP;&>T$Sf@5&QlW+AX6Vrtcc=u8T@nwo_is?* zNDb=jgoeW0PtP@(`QK`DS)4@iJ8!>dHH6``968m+HIL`}a@21$_gHgYiezUw^-^!9 zhxpQBucltUeF?&&oRifl*Rw}@&J}hI)EsH#>Hj*RC*wEGgOW-0=*bmE>592z_>%c` zL(|Q#R4SVH_WV&KZOpFarX%d{<{d-b4DTqgNKxrCXy4OF1+1X#xEy=V@m;8ycyd8= zgeJbHK8y0jC4w&9X8aWgu}wCUeG|1Q*tcPb+Y}%K&r2(#atpi=fcax z)F8{rBWKPpZjw9e?4VpU0W1l6Ps=zrCf{w<(64v)Uyqx!#Aa}*w%jrJfZM#rA;U-zYl8jd6tSlu&0oMTA^3~fKCqfIH z?E;P$U=Je!@!K`o5ulr2H|;^yjudl@sW)v5e1NJu`2hlmeA@@qB4eAtoh|&bKU#6vtH+`pB>Aer`8oOtk9QNe5 zUK?u4>9)wr_qeZyB03+H`jEpqh-t5b56%{E?YOYMMWqr)PV)#A?K?yr`M3oiSm*e0 zbu4&mu($kzZnR&`J3G!?0-V3$Kp%G+Mg!=*g01^RXGGl51n3k8mGJ>W`-4{}0W4Uu zs+8v!g^OsP@m6A2jI+$ljWo!mw4!Zp_+m1$D|k%Q;Q8oxvbqw z(Tji#^PpU>S(%#MwdJFKx)av|Z}O)1kvxJk;>Tji)e}eaw?A!Xn_-@Iw1W86tyX~T z)3X`OPsIwzS{)F;8w$k7H{08DDFNI&IB!;Y+WI1yJ2(7mWQmYyEMtcd%zHATsB&r( z33HVTEq8CnDrV({X4fek-Ru0FSI)_JEoSCeuUgToC&$8ERRN`>>c#wnk`gby8`(}@ z&rU|ZPiw9eA$lyOOP#_rD=CYIITX$q-;AIe_uVIB#Uq_#;qY>mZIgk#@azJf%fy9@ za%|GIVSVpUr($)6o!$F0#VvEbcSa-ivm6WDUM60j%pY)c#*tqYxZg)E@Zjgqe%<6o zhk}sIoeTc?Y9VijIM%KJ{-ouvkHcE^Hr~ZY=4%q`)N$@}Lpzg>yonE7UM>^O{+L`! zAV1UiXqzo)pNEJeMObm;%JAhA%jBD&JmT}KtEfQLuO z-6G2K&6F8BXO3p^b^I%Ln2};&g8`r5q4&Xw$bIxRwK}muZ1BSqG^qgN19`f=BGrQ@*s1j3f;vXrjNK zx|Q79S*t_Fd_}aMPTr=nUd7QQaMz6=mqyNC>qY#_b?Fq?BU-f3R)3$4S!e<+GsFN8 zLF4t0QzXBR8_(pMe3P=xljrpcG46BZ9I;!tdhcXtgIn|8OpkoX7*0ZHYBZMBj z^@CZd3}NZUo$*)@LP^Qut8(5|M1{gjEBUdL0I}K1*yxbBRq2GFPkAMh+dG3;!ike} zFI{jGKi?rv^7i8^LA>OO=5xU)Cy3K8+lepuC`W)tflnbqB%A##k`iK02y70mc7R2J zglBI++j;lXXfy|w_nHVI4GGSnq(Jc~P_AW{C0Udy)P>GV@i+UQeRUdP;LKu;r1VWK z+9h>irDL|59Sc`8%z7P*)~M2vlhca)6`9UC2EHz(xl_=$%u;sNlUxgdgjgLHdy{r2FMCxr~I| zlSo|{8;!f|Txo1tSCYIuPR=W2Te-x`zAVp_%86Bc?rMsXpSVT_dbR-cQ#-SR`Kh)6 zmLBo;b~LVKT5@xNXqf~$yf3&%ZXkU*B&DNQYbxxqGJBd|=)F3qlO&gE)Wq2C<5gr9 zBKa{G*6=w3P2f@q!jS4Hz>}RN))c$4o~ywE>Km3l>}}#Hqg?>FGRd;Bl+(L>>`4LE z*q6u$iQ3!G9UYK?stM9LG9!{uC92f9a|2E<*bZKgewnz6XBc6x3Y1JnjG@zlIz~~Le}2SU)M_g7zdPD;>lub=iMl2=BY6BTHXAaaP0|Me@A*CN!~ z=wxAP%L9RT`aw`9-|0RTYkhJcU^qhgAZ5(S5yuR71(R@&vBQuCvpnXe{M}ycog}Sj zN#(1ZH`Ip#lSSz!Xkvc4eabbDItAe|;qJ7AR%qWGI4uNXsHHRkqNiK@qv0aU(emst zD(Zf(Cyg*P+9D_=Uu(3{Bi-7Xm>+q?CnYhZOYe~7rjKA-fK}p*9X^5Y8FEv1UEi!7_H0%6L5|b#0F((vM<0amX}aZsZpdgoV&%8AvWpw5Cv*E;ww77}8+f z96hqX*os&bZ`0#KH>%r&m!Fu}SwRb+XZFDirEKocdEnoom&=)ta4bU?u% zw6-dhhyafj*~ZunmaLDruN7K^8udKeE5WDL&#-k`!WxWqiBW6r)CA554LKOvf~gYO zpNn_b*3$$ybXnyV9&|TdxI`ns^3C}949Ewb-kOL z)AEz28(G@9Kpo~J$<^sg4qk)1LwSHH5c91Axv#|a0^V4#31Atd%b=PQ@)4@laLMtZAw)DyFff;|y?sftU?dX6Ps-+)uytm3Whew-Pl4UJ}-*Rk(U@AI5K zuVZ5PK=_jq$W-99*>9_6z3^DSdDZeB>m7<%57cNgXfHE-2%LuYrV0}i?7vM(1}@5Q z=b)izo4VT#*PQS1s&opZ*;P81{+lKuK35P1k^I*oTStBW`>UBu4vk&0#TJw##p#%f z7#0L;8RrX+91SV2z!MRW{~}p(D##-V z_ITKFUkDIp9*1Ln$RPnu`k!=p3TBYUEk{Q+=yj)#5FrvdphfR>adH~S;wi#OV7)uZ zF|f^KdEeKD6LvAAVdAMU^7R(P1 zN?S<3J4Q?@0kBWrJr%w>MoxMSYsL9zSsQ4jwJp&1eCC?zcN%Ha z)Yj^9itlzO`;6)x6DX?I5;=<*o)U9y&QdWaA12crmlzoX8Hrnv8|2tL-{C5ibOIQaCzNN1*s4U!pOjMev&XO`zc(Zfk>Y6L@aY{ z$O4cighl~bV>ugIoURG9fR`)ceu&FYF*Toy4pwyiFsHo<9!_v%1s?3xdjBbhS)JMz7F3hl@=~^6kVo6b>@Dz!?hu?&S*hG!A-S&-Fb^o$MBDVxw1_45 z?*Dwilj<9z7wa|%Kkcq2D({ZRW2*%$3^DWZo`B^?-U*yWU;I$Q@lhja^vXYw4?6Es zT(*fw&YhUQGzi_0%)U!^GY?X4h>S74?yrth>0o|lZMVIKqMACqQ@pYAcWhZ&;rpO{ z&RXtbPx6Xv1*RCt;~>ePyl_3eNoUnN59kHpnu3 zcyQ}yP%6$dgKk1+$xtO(VFdxj5mC6sP`TCpPfcZ*?hjX))P~o`!Cvg(5;OemwUTm;kJv1JO@Fshj8sQRoIU}@1> zs5dsBE_skOZ!Yf%sRrp&t?_OosMngy{1s7bS>N~X-$+TA^zb~0_u6!DiI z%oOF?O3X`ez-!*^l3(!iDs1}Zl5CJ?_y(|E;hHQPZXc8n!k)Q(Fx05&K~c^v2OHo? zy}e#Vj?DHyl2OKJ)9bqD8w`?sj`2j$U5b1c|7Q7ZpK<5-80vi-z5u}M0`RW+My3`t z179k6$_rSD)nbSjnT<~amLo&kaHXRLMAlKR4_4#zXJ{t)8lM1XaZgGhLe^yM-stIv z^M%oa&ZvGUDbM)?czob^+cv+`ez=zMdD-*a%R#)XrFVTHpEE79ZYV92HH+2DhwUR*eyLsNa_wF9SB zhnbnU_h;B?Ca=O+7Zd@`23tnH8t{lwQ0|h_qsrlTR>9wx;z^>Gbd&q?!eOljoha9| z7i;GQ<6JZVnUfwr?Rd)rNEsQRzjLB2_>@DbhQk z_l^)c0YyNmDosE@Kxu)5UP1{)LnrjmLc|CGLXi%Ez?=Ko@AvNS*n2)r?;l5! zV{xsuX6BkXXXYH?x$OuN7wo=8`l~E?Yw_=4!LhbSpjVx5EmBq;pM9cyJNvA!K2PWXa?D=+G3uI)9yxbvpilIAqKnaT)aw{c|7=61Fys@AtWq|f_8eY<6|Gnmz-lex)*Q8BEE;W3oGzMRBN^T^)%TA>)UUAomr z>%B86?`-(?hudvRELcb4JZQc^GJNpPe9Mx7WPcQB6}@Qle;8)s{tLs*9rv%DZ96|1 zLtUrh4O>SYUxpucOJhc`r{6HO?u!pPt*biK424jlLAeO+L&;AW!nzW1t&VRCpFt9B zTDwk;UAmZdT`sOI-lB1DV$ZsEnyeiwLtr>^xIum0=-`XKwV|gCv-uw`$jc>%n^#b7 zBn0#0@b`~xh~`XS8Up=YdT8Cizk3)9!K;xBySd}X^&JR@y_XRg8GhhW(FaQgg6Q*9 zE_olo*&XGN!UCTxn{`ne@;#nWF4Em?b1n~VIXik^$&iLYxg!?mPO8t83G{FsiR z@d!2pI!E*CJs-Is7MArD;u%h{YjL8Z-HBL00g$W>Wh%uBCCCR6D)9Fag|jqR^pt z__t9;@)P7%3`>Mm_;-vi$e@_H-R zRf(5dGqNn#M`-oIIs_)Hv1%dxv{P3f2 zlGMZh|Dt|*+t~E^ai}F>(FhZu%}{_AX7c)|ix864TpxO=*~oF%;^VU#)??VkqZf?) z@`6pSZ8jd5{WoTZaXs=*{rL?qR~Fa=Kk;TQ92 zHWgFjBdc98&V6r{7S(j-!P>vQ7n_T{Fo#f|+FQ-leq5%(+8|q>s%HBoYP|g2 z@8kkDcg7tW{Kixb7KR+)o{@CdsF!_a+lCVYKfR&=Yr=&cn2Y?{Fq;n=-BqKaL*4}3 zR%w34@z(HYkr!ldjuzn?3AlVi&CHSE%Zn)wC2_%z{8`({x%SL)2KkmX<#q|)&yKso zN560VIB|U;Q`4L*Z>fvD-|h|2{271k^@C*u#SJ!%`@9T7S&wrYS)Y}lP^ zf2okK{f97Qd$3j(ca@j!sD{qn&I8k~kk{|zUj@my8EX$H^Mo>WcXLf=AHRyRi^#o3 zxGK!@nLj(EPEPQWga1U_W|b@@e%@(C{SGgsV|$Pgx1ddfohChAS-17_6@-ujaAVGJ zOFUBPmZ-xD=zLaH{M?H~>T;aUlVC?r=kz-~s_|M|@}TeChR)<31x?u z`-|bm!FeK%Ya>AReG?fCMl>g|(K|WSjud!|_S0R3@;dO9e-q0$!X{50lZX|)=tG(< z%#Mah4$~stLnTgctTosqOy?HDZzshyO)1#GS0VRL(s;NHR1n0Y!C^M%#&jLx+d8c% z{?^wgc=zA6Qrs3G3z7RF%Y(3zI85{dv8rv%dVk?ceG|RVpy`RfHOHJ}aNAm?2miY= zyCB37w2G9OT!n8W;Gce=>5*MLk^P0LnjIAyJf?Tf!IBD$UfBkR1=(phMZj>@U_| zN!1=Ggy+b|dv(NoeI6n9)@56-8dhA1UDDX^kdi^cxSb|m8bs#@E6L~chEfWzWLS$* zrz803jzpUrRxS7x8U$_BcU{}0&4XHredXA3?;Z2USqkpy5oRCl&X#c)OWx}YUVrg7 zRzG#G+@|ARB!;zPTPhAV8*NF(^YkZOx^2^mqe?|X-qw*g?~H>+D(syfsR!Rtc1e5xqCFv38?xSi1y3&9jk$(+Z%i8UQaR>n=IPR; zxc?_o+UCJi4(487Rt(71e++b`3;eO>CdSj|j#B}If(r`g8}sr)+UyI<{+G{q_r zyo`z@ux;U`wt?`9=yBMGyp7S)D1MF!`S*5hz(M8lW{|wF#FWghknyk2Hz+9EZay)N zQI{lm|A%rslb8;_Sx4B4`tsG8A<=i=`K_y!jBl1;nv2B}vv@$e&9)u(bFY&_^CWR zj(*Ln(nZ13FZun?1bK6M#|x?W42d^xdDk8T$Gu3w$m$*~@JD-&6kh7}rkVHV zP@ZPhbcPf+g=fN5o>1JZvF}OIx>3Wc9(iCxcWCp+MqQn(bw;4@Tl-#t>|lRwuGdF~ zE5Bt5m^QX%jo`SAt$u~Qq3_oRA1Uq!v48aGZre$vJzNaJNr3U|+XIr@qI}yArnJFt zD%YRZB)E~Ao;6M!$dLfw1iPA)m}q|n8dh7Fx7qwx`>~%3;!zhLbcuxmHyXauwTuFH z<{m*i^6Kzcrt5tS4)p@hnNL~{|L{+2!XINSs^%(SEZnj$}0!zUE8 ziKhzTcGH1_U>u<*McCDAw!hJRZdxyoh>K{&4X*hIRJLTHHmq+Z32xsKZ~4i7`fCpw z`SVv-O%r6g`~FziRL*iQMnCROdfFk8|d&j+P`d6uO1?yd$~Qn zYrf|ZWo~{bA(SH^%HWBB4pVl&CU?LykyC^1Uwh#97*o4XplxQOo)@j*uuLZYF?NpoI6Vvqd9IKHXnR)vt;V@1Dkv(LYX1k1+=F#GDERIn`%C2p} zInNfSRIn~>rQQ`zxmMsuc2w24*iFSCIPlC&W&(wl^m);n$M*^uxFYJHM+V5ab;XA{v7B)dba=zOw)GYt z*iydv>x4!5(>9|8{bXvw?4!(@xbV~8*o)X7XT{fTCLP^-;ustzjPhje2D_G(z>ImIc7cI!zt7~lgI*qO2A@bB%5QHxf0P2G|M~ZUq6r0L-wN z`nMu7ti;IgA6W-`WEs2M8udIEF-&OWNHAGLATxjfZ}l+^0A$S&#_8C8?BJtb?gobU zIfJ-f&Yb&fj8FW+yg0>M%iO9WmlrmJ?4L5jwnW|421F*A@(|VDV@07NG=OnQ&z^8O z&2>vy(B|A0wbVrRZ-R(s^2L{=%~8c_b`BBSj&69VSP4*!x!K6{s}IfORNy|f5#Bi3 z25)v1Vt|b^=`Mu0GrO7SmzNKI(P>y^H;`HPFfa5pOBNot7;gaqXNwNjO86rXfkPhF zV~qg3`4e*hH#q%=3XXs)h&sThgRQ(2NebbwozicG6w7C_tT|-=zeuF zBLD}l03>oe_)SSH$6~eZJMJlcwLRfam=P||{W$5dvoZH~Bcc0|isFM(U$ziZaCUrI zhLeSsdWxFpvjaBIUl6nt1Ix$FLDeQCyKRZ{;4Lt~b7!#cv5X8#+P%d;yXgj8%;tX> zCoN_1`MZDxqwML&Jf2p)8Ve~{4 zp+DJnvzBl0`lIJZN|WCY1O?_Ul7u4;SEE&M;ZXo9RO{9t286$CbV$(P@Lq-af%;uz zG+Hn8zpSdFrm7QQ=OvR0uiQGDMP9Au@c+2>KWv`ncJ&sWTXS93IWeq~Ma6llViCS) zKs`$(cC1xCOHPq=g%!1-_vB+S)U8vt-y`jX=~aoO=Q(cooqtr7`!HSiE^s&D`vNTm zi?xoVT2&}(gjv<#N-&@MghZ-dyAuhFo|_>9l2h#%J&E<;ZK zT!Wv#vI+|50ZUhJY;0VAIBbN@re}HYe*$F|ULP<*3$FbBJu?cuf0A*JPB!jx`OGZ~ zSS{tpJovx@gz6Q_?$21!?Lt_Q(nzEQc-}^9_=bKH*MQQ+O!ASu?^bX}t6g$v<%6nX zbrtN(=dEAR@(e+HHW?p=4=E4;BQ@DK1tRu2TU-mF%me%`BARwH983(J8 zhM~9gLbLxGi~d=X?V;(@FGA#qIosq1)!&m(%WC+fe4L1c1EH6!B8h)L4*rQ2d7aY9 zq>E18*7cc{*|X3+E$b59`Nru+fE7N_*mWKhAC)QV3tPNv_gU=ublS%!CX`7=bB|qA zFOgCF&B*vKaaXQNK5*z`vSj?*EU{^PiXC3GS4;Apr^;(UuNh z3iiZ@mR&nVcRcsRcbt$({W5?2?Cdz`iCcw(zDCE!it|1bUPc+E0~cl$dt@y4C9oHtYdb94XpuWxjf%w*Va+F5fAwo2=%D>-?m=^*2we>m;G?n1xf z2@NaLTt({?)D}})S10=LVcq1iRxWSxXvVmU&?b>IxO{MUxWRcabN2o04dMnxlC}{x z@*hs|>XX}2udYgPFLcCDfz6-<%A~zrQce2qa!`+1>il>cbI?){zj@jmgQ2|K%0CF* zUuW@5pxVzl1x=W}VX6#H0dzRCfUTM!&d$yz1@w;h1aUard;+tu*Y457%?Wr%L%a0c z2&2y|?-JRAYkw=y{}Ol7qq0ODcP<_;KRm^SEe&j<1$S~3v>_!G-?3s0PoQ5=%? z9hb}mSbLLHyyd-fWla+1d@~@IfSu3LQTf+%T_WmSeer*|0RHA5lzr(m$ldU1^{r0k zX_W=c{+Rn#@5JhSQSrCq4iw+n-r=nhVpZI0E&m9wal%P8Zw6A3frs{JYhj{Kq-hM8EDL zWMyZs^$Lv)4D6_3?wl0q?% zOr2RwTBq3U=)X61m&pJBRsTPG0z#s8*5>A`OyUZrF^D45qOr@0mXWM=_Gw~@D9=QYCP zqHR{<8EnDy5AQ*eDmWXCoC$=TKQ)C(I3)XmF`_Gc|M2k1xD-9~bUC=V8Z6=kZN zTO0c8?;j*kIY9dP-#cplhdKS5^#|@$`&ksW%fmYt&!jQpL33iEjk9qUN)xhydVtJ> zdpR=RWTab!n%8u57i2isfuxP9kAEIET=!0M|4$?FZ~qdcZIhM9P$xI}+D|*5Du9hj zU(D4eO&9GFmd&JtJ zaHS6#RwIIS8vH7!NP5_0K%3XBBnLrD5x&_K-_ri=pREy%vAJE}o-k34Y70KJJ_W}0 zN}4uJGK;!1u!;jyu)_Dzv;8@1bHWWA`b9<|9!^9=w6JM!R4soypj>)Zxs&aMngdc%i3 zXA!!RLXDD{8vk(7uj*+lACfszCib@FYJZWf%F-m5mUQ}K(6v|COHmsF>)Ze3 z8!D{zDC817Rbo}lRhF;R`{ui&gGMUa7^+?VNlyjR{_;(^&wpvvCJqL!qt1o~B)R?k zHl^V9jc@-+Ij>MoXGi+1&naLA{ad$iV)H z6f=1Z4h>aSYikq=GXu0$R9-EwtXRHyk-|_g+X)r3=zPHWOueapH$(XS#+k{MsfGMM zUDVy{H2$XKhL6wbfV@T+BOMgxeki0+-AQ%y!dpM4piFx zbRGBnD3>B>LX_RY)+Np&i>uCSkl|sKKbjt#;ht$`*XX2PNDL3^XqS>vmTa;}3uBx1 zg>E=ZTyGzh^9ghRme-=$ScU2Iz8fnEG|eY&vozT;XARJ^UhM9PPkY6c$8q?)FOjNc|Mw#3koVlUFOZXzKhEG*WE>VZi{^zyO;4_ z>or;QEbLLi5buV%k5FY;kzfI&9@TLYt~Mq!{bz50mNn{ZtW?^rQ>t;T#CtPE-nS+x zY0_FtK7!K6Hf)V~aHy}oIAtrn@gTDv4L`SZE6tn3WQtn3U=fOTy17!K?m-teB$324 z1#$(Kb2!C)CEvqEx%#%9XEp?&esPBf>d0YoBKVY*F;Y*;ObT^x-MTgBoW)puLENU} zkX@ynk32#P)psO_e9p@9B>|ZgqUL{cxyIHcJjcKKtD82Nih_{@I`OmK{k)?oGh3_8 zxd!jkC?C&xFZ5y%#!-e8rz~0m6+Asioi7dv#N9z?V?aFD4VzYRxWa@|Fe)gb+zg)I z;5m;toDGILB!A!rg|wBE{m6FBXNN!AIM`o9k|J$Pi|4++Cko>21-(T}0 zkEyBA+lnPz4{wuGHyL)Y?vu>k$`NBYkW~k-b)U#@!0O4mG;BU)iQGmrd94hgs?4^z zr`t~A#+rmSPtr?EEk?$_P1oVxInTv))NQrnR4}sNv|mqWUYsC>rB4&ZMO%X!57q)c zo^qxy&OmhJJBR+8TIrXQ!_Q%z_jN*sr2VegRa~~<(2_f{09L^-&g07&zuNauO@C2| zX?PVKsgw33EljL+GJ~7{pr&;@s%*ycG!K-(fjYjX?7dVgl}kZVxS8^2$V8D~NPKXG zqs52gpy z$*O%0Jk88=Ct2)b=5%nQecNo9W4@0aWN1N#r4w%+>Nwl=wDN7gFKzFz!(^_`xbv>J zpfR4C9cSi$q}XJUEB!1~EyjZQ6HeJbmZyJWQX_wEz2oOMUgkaaMt<69OC~Y5UChq77PN1CwLuSLw49%x z^345I={b`_D#PJiFIQDeg1ktip|OCMJ0_r0Tz+^aSI{vpcr!7Kvl%!EXzWBsRB(nb z7);Mn;-*)2Nm%P_GM{gQo>KNQlNv@d@s_Bhl%&CIMB?zqoF_C07p8a-=6&W{bgH&g zoT^01$WdG6$(2ie5!#ep4l+b`fTXk6S`|8yxFZXOKb=RM{hq;Ripuz-CKzgRkMb2? z>});Ej}(&DJ4@Ta^3N9E;GY*P-LJg?=m5Q|29-?-6w zhZvqzUGCid(}#`G;kzpwzVm;U_`Lr}na%o;<|sshXZA`9@;#UqE~?Ql@id+o5ZGbc zWI7QH;q+2I`%|nad3Y}AeTRg}raUG*o%aBXem?DU7!jajZV_8)>SA#M+_$o<`C;$<%0ii!`M?Gsl-LJo)r=a8=Un)}F zpH{GsZzUe)Mm)JcJHYIvKWd)^2x{aNb2G}Xb?Uz^U*qWuUuBf{@f9c*fwo9eG$U3~jsHrgO4WI|ymK z039mx^s&otfkdTc*EJq@0mWtiDKlxlot*0}!=snc}2 z#dU+vpojfH^Jk zv#`7Di)#PX7kuR*BoVN}5!CZG7pyz3E2OiwfD7LObsn*nZf@02Fe-)K$%wSe|3!jM zi8FKc-njMW6KPNC{FZDXy`3!(&0elVUx8#O4Qtj7BY;7G##fg@$g;Ueqx{mO9m0 z@^aT5GNcRGdD~7_jw1qvesL`)GD7w zB>bn>{NeT`+ZkKMb(rBHaSsV!<%g0mnyYusZtZwCp_?ti+L8GqvRLbjSq^3UBvSi& zMef%O;Q((Ex5**#NZB$mIcGjo%(Ko1ZPISxHd_D)9=2)*3ip@*i0eneiJ~%1y3(_< z1M8P318^fp?N=s)(YC(rx~C3+*HG)0@s4u>2b>F7TDcuF?QQvkz4muAB=Z6nrg7}K zq?)A&`-X2QG}$m;89JG!c6E&;WHWF{_le&?3{D5@Jf9bBO!F5fLZniMG%^fGIFCD&MNX z!@`TZee|GcJDw-%xId@W(^KB{Yrc}|^K|>lt=x3ys)I%#I+9=Lon(?)wK>C;{q{<` z@Cbt@Z2#xL$hFU_!IGcpM4^uQ#fdIH$MMMv56a3~!y{J$lYJXcN`7z>>CfW-TVTR` zU7zdYx`gr34ciOjLT0mH-D``uTx->?L9rT=bAR$8=XI;M<)enp;F+=11FNwwHPfX- z7>j}kuf3>qK5v!P<6_cadGU|G@C^^_+DOv^I70d=bQZM>&IV~cs+3B8Cwz{Ds48K! zC(AK2lAg}YbgbZq3r8!=?L5eX!#48VBTbbvC-6Hm>|-$r|HV-C*^lh-8ehyJxaG|i zSpLh*-|2$-w=#8?4cN*n&ddY_^>e%c6@6Q?#Zac>yL7bbS?!yRV~5=r#Cbg}sV7yp zqZ@C)s!XrCknrhyF1zm8Lqkap*kFw#zVpz&r&IgJoT_$D_OeJICF1Ttpl-wbs&T5V z#qxldnV_iOwrj=DD0Q5DtUMF=bx3)op`*2cY=IWlK1uN1f)_wdw%!&G$Kq||yB9&H z0Jv9#ge0s$j&T!N>pVz2D8h@de|k5RVQncK#~#@L;a+vM!*BUx@atsCjiK<@dSX*Fl)5ix>tT>2YeE9!c6}1~$n~>L*g7 z6xUM~4+Sn1hDtS^TZHCK)VmhveR;g0@WYZQu5+W6#t4&}b{m*&avAAudyt4PFe|bv z7B|yH&11*Q%APqovuo4 zV#6ciQ&aE&!%kTzT1|LCcSq)QVl;Wlz>5yg{i+iGq=Re|@#|GqP4&grE@!$jDYe2- z*yQ12Yv1v>He^?g{tdEB$tVqQDRg7z-4Dji=*x$70Z9Bd$Nkvoox_WTk(*wrnMMTI zR<)k&v>q+a0?jFCq-Z(0`Jn`Swm*T~%4zAE40u{!cEot_>)Jp(56BC}03VB5>3Ni= zCzU=M07VnO9!J-V^fG5L?QY+rBdibqX}v00UEKAHg9I8)49}ea-&`2_(_$QVvilto zNm9xFigumOpd>t*8NhMf`Htn}%+FOv)9wD-a!kl;{~K@ne*#VOEQ-a*qexrLofxo{ z;dRxZO)s7qg>D9hrVrW>Lxc9+8(Y2}4Aj%3$z82D8!m4`JG=* zle}s?&g69`=yV&4n~JIs4ksSS03xwRAWQkItA1r19TJwd#dog*)aDks!#7+oQAaWE zeQH1M%Wc%AL7@W!0|`}iZF=1yaApQ}&6pqW5X@rR=l3jAqW$k=+$^a|Cd1}gy39Op zy+z6@0h-3Mbf>861kfR1hKJs`X>~S@v7RU-Wi;;0Mqk8^GgA5d#4}*mYoKx}reErT zT|^H<)69^W?a@;v<(CD%A8u}c+u#SHD*Qnv#)asUzMjZ$$4!`_gNaG!)ioc99sQec zNx7gnCc9YoNWIO?*4GTso??(h`m3OAMW*jUGgCyjJeWGxcNzkiZw$;18~gdxT$*rv z79c*u6}*7uFCVl6a#W(2>3-+4$#dgn{r0(jDKjyO}&`Jzww3AGi6074v`SPZ@)+3OsMT)Jm zIVNJSithUb|8#O4`Q7$o#4qTO_XKr$H||kz5H> z(tPm<{@O?=crjGFhUZVSMPfVsY(~x}k<|*04_B}}d&-2R&u*a2tk)vFoB?0yyqF`! z<7&VcFJ(RomF9tJl?!-BztuD!U7$L)2?h%@k41H+${y( zkt5jo&P22PxdvQvy*HSLrYg!=rse}2XTNA?i2+NR zPI5=9U#|?y1UjZzFLz|w)Cn4u{OC{%Oe^hNyJh9Y?IJo+%#K)<`*gh8a}RW0Bs?6T zcKh>MZAym4;uM;7;D8i-1z~Te?iO%S>Sma*k-xKSG~3=13u!5hT(S)D5Mc(QE5$yW zsPbhH(F{c$Y7ZqPiAVW}RI_SbmF}w&(`RxQd4SuY%E6A1++jNLwgrse(MD(yawY;_ z6?|r1UpVLzxxE_jHPiEDV$^D* zYtG*`ALUaM8@RmF(>*$6_f5ZueFtJIJ+L!^R~bX-k}ZPabIc9?WVf2C(=`rtE^ul~LQ ze(&BdaG%|;Af^lw^Ih{xQoGNU4lzzFMu=p$44i(W07 z+o@~;P0CSY(KRVVAri@POP8|;zV(sCJE|n6z^Jm=2Z_`SFJEm^U;@fz+s_GBK}4X; zoWGC4o{^sXtgmG+c&Ey&(tJ(HifOjK9GOGjCl?gC2q&z2=Ke%XO}qN;VzG`<*7xUq zOa5yKOSKpcsRgwZ0>S0Hi7z7LQ*(1};wg+V5Co}vYf5=_`{e3x1_n&=;2T)tYW-@! z6s|l){oW*>ItI13gXKPGw?OEj@aSO7aQ9W8v8RPk_dIgq?oNz46{fou^wi!{)VPe$ zy8gI!@5&Ds_~_KV3PxM?2Pv=2n3AXBHC>I{iG3XLCtt$r&Bi5C*AL?uxUPY5lYvtw z0tQckwsP?m_~)j9Bm6oMef(2NFMD{-aTsy_&n7z=jwy=c@X{q=Y}&OVx&yz1mRn75?V^XYgJe) zO_g-f5E=(u>=2Nsm4uE$K6g}Dt>w2)*5+ANEqeS~hQ9PBL>V!$!UptITA#V?^g5w!;HC2u1MYBH;ug>r)I9^7KF%Ef=h`02dk7ndgx6 zvKz1A6Bf1;!CymRynNesOlLNyxUrXWoE1S;%7Llva|0LoUrha3Y+r(En$-M?XPzGY zYMl4gVZCh(t`ZjGG5?jiqIA09oMr3(fr(vl=ljIr=qLXjuS z#-|ZD!KFpRil>qdL{*vAF1c7tY_ls4PzN;VRFGk3>)`c?Vr|`+1<&wxAIt1%8H{AN zs|miY*tD7UYShjTFP6%7A!*-0`7vbU!VCEZxbKr9DvIsaIEJ41)P48^Le&*@$1MCF zM+ZwATOt_Tqn@pv$iV46G(2!t%k5A z{V~~t9mi+!%RP>@+s59u=(t{)PFh^?-O}!Ea*TTOh%-%J{9eE(Pp-(V7S|I;GmU2Q zIS)l}QD*ygbDS0osULHd_P=H<@UZBQY8ow1UyC*^bW>YRajXO&i3LB7`pV!K6J+7< zeEsv~^%qu69&2ees_k0!TNa8MFCtyyhJo#qu{Il8V6bs}=%Z^w2GC3of%APM0!7IwEiC7BL?Q-sChzW zplZN`@Qs#MK|!~HhZBx!1%g+e_7s$ZoWE)x(xIXoXYFxZoBk}vX5Ak~kbI8YM|iE? zC|%Ai%vJG`@HQ)xXCqtR&ZX{C!_@+puJ}oQwmknSsPGq4v;>^*V%#kQ-6GhYo)sP|vT;2CysB0Gl<6y4=PMyQ$ zibx}t&tnix=E6nNp6owroZ%0<(%kHB&nq_0-BH*3<&l z@mJ;meqRcnkP?}yC_e|cjSxKS37@urc>XL-fKiF%curjm3{4+=F`PSK&7@Vi({5_I z_ALv*x+rv5HgwzsXk4{{SOJ_vn|$FJ+b^GXX)$kt*;UHUmMuNdQ5ZEy;wRLZC$SX2 z@u!C=2v9B}uu}BES}N010Jda+sv%*^Dd_z-xrGvX`ww6jv^jZ`;M_d)MfVKO1eM!Z z$YH^Z?);3tc>Sr=^7?w5?raSdmb4^uF`_daJj^AgJ%2Bnu=RTCrFc37Fy-yb#B;_W zy&pFNyXiGP{8>qUS&*L-GhvH0DplmB%M=Y_ag&ti#j_gMG7%6c&pwvz*22*_$;Uz#MMB=8*Wbm6}@H{l+;4tk!F!*9yXCI@!N%0 zB^dFH_;HduH}q1bcHpk*B?4Sb7W%|_pYWE6RhUB|V^gE)Mt=Ns0bxXb8vVUO#J}gd zz@YIm3A~4SLRXs}o#hLpH5KBu6w|2=IF5gofaF!p&cnnh1eiO`I*&-8W~};IafeaU ztcz#VkS5pcy_MqIZAw@Y4vt4+Wl;nZwhn?4@lTK5neNd&h)M$FIUsc|h5WN(*iB#m za^>-QZs*+!;g^(2#prlXe${F~uk!CXup`6e$;)vdI#m)8)v5wqdXE8uz_ouxsi>0WG5L~WHD!{(Jq;ki1#@qTtkKBI;M!pxsZy08M%J5)1!Yw zw~ud?mCLO$mA|h74Oa1;9T~e7Ds+1r0m9;uuMc&5zaZgCHz*SBss5K*ud?Ul726?5 zpkQ0)lr|*rfNVh0STbJg(Vo;KrCV72tB!Ty5&0tr-50VNPUflJIBKeV`2 zfq!P|6f&wpeawq^q*s<`icU>fm)$=z&8oa!l}OWG;-3Fkx*@D*(o<^PjF_WUmS~2W z0<_+|7yAbG$xXWXql#tAmyVAHu)LXhaqwN~dvxW!@&}ePo8Of>#3c8%O0!je+MI@r z{lJ|p?-#7w_2|DH3(M7y`WmYGvX2BN-lQASE7)-o5metZu1}Y8YbzlcH^}`1N#U>% z&`Ind?RagzlQ6H{XPuJI6Llg;AK4NWueDZNWCJuxSneHVi*}XWiNnR>=nYFtY*@qD z-cvHH0?<{_*}_Y4jDMYKQd6kt26`{&ro=Q;ChUXp>;&a7RkPRw>>%kKJ-^zzwU@^H z-tc}VEY`$8n8Vq-;!T40#hoo>N-HSW%l3jC0lP{WQjziR)~1d@Z{a}E$^qO4y!EH| zLbJg}uYk|N`8V=hTzC{C_x>F6Cxd#Hy)~^R`Eu0({4GtOIuS_6Urj4#}dN(t07?&u_-muzOos5+- zOUmZys*s$VZwR+yrW+Xc2efa14n+n8(P{|Q)sd2qHF)hkb>B;qc7+%VT<2FU3b1z59uItZ)_usa)WRnujn;SdA_@V z+y6Dg;5x~-esiRh{>9@H`l#U&$@`&RYR~iEAWc@+WyZYL^KH@l@uY-7iOAU55|unf zzv@-dAr2qQ;#c4Q*qk{wo2rp|Uc~TJ(l^nvjO?^-Vg{FAxE2z2;=mBA+G#!u_GmM(B*j7pn$HRr!4PIq@E2EB>ieImo%4l@ zLwHc(Pgbb_WPu0LUob3E#)ds9@9%LCdxU1s-72x$D^c5*5j$j2fS6wH00%FxV<+5W zdfzX5XX&2rz#42jJvZG>2}A39#TsJ(|aQH6Ce8w<4jW_=7#t{g=YF#o2P zX-~e}WvH8@pePj6xpRX%i886-vy$h!oZ|X5MZK{#OU|TC1W9<5J^OzvtE>c*4|H%TxS5alB;GH6dKr<`;*_>( z-o#6$dhldt_UkuFTdWL3&g33<>`odM!<4*>EsaO2x4(yIv;*?mgO-T zqDz$sG^a>1!JBr~N(Vi!QtLSUR1%529U_xOV(&Y^LkU*8x6EuY`K`a_ysS525 z|0{}YD%}TS`I@^n(wLn!Jn2W=S|*(3G^o>=w$+7y9rS$h39hS6U>AH7I;p!MgBbw= zvblfO#i~7dvMr34>o~P`R*5&Y=;fT4eG#mZa(tcKDkncdO^6LK#*uow`2)@nOjqkNjg=o;vo^o)ob3eVR-Nw7IWj+4kzmKH}+~z}w<4&mY-wGRUe& z%@iy5SxR@5k;SqbzA4hNp!B`Y>P@I>r)=9as{ohW#!aiI%1FXOxs@$Z`_?mh znJO67)Q@DP3qUJ3eD2d2t&WR}%P~ir9}z*Fq}EtR4g@T~QqsE{bsGN^tin9P*&ZE>=<&~=Fvi2T^zpWfFX&p?I3S1BtDm?+w3 z6;f{X;ah(6OF0P;d2w+}GDq4rN5mVQ^>ZTNXcQv9t6#4Kl;H|fe-@NqOoq*}1x;}` zU)UGSLNUYokM7sPn9S7jr~#${taM@f=;BK6d1-rTOoA!Hhi+dV8dl}~KkXfK!2q>& zQ%kgA)}!<1e(#hIM-|~6I5lyWayfVYjOE37sfckNK98s0wz`W^ndis-LzT->!UtSs zm+BUrW}AF{jliV&TmPkm1792cQ8nyv6^}nL4laim$jn#fi2`6E(h5$sBt^KTtu*Gu zJrz#Rq14Q3<=%x_9U_DiW0;g`mj^RXw@QlJJKa0n0C1SnH0F<}%qL@dgq>d?8F<4^F=}s3H9E~t4J}D} zOP$!DN0H>|*BP>hcszX(T>@i_@IQbZb{(A@;(w{mS6Y-19kDt`*KAC#QzkKc+x}e9 zGc5sSx)xj*>Thi3T$eD-q8(Ts0kifW%Aii(855>3jJqWxDL zx_rN+U#P~yT#RJCEzwDhIq=3vw3YIBQ=Ul&D%0$!13bWBgA9o+r!$2eXtCqi{q>KJ z0u8{+j0&r^L1XG*$xl5nAyQro)83rIZ(v}0#O?DrwiqDMs?f_b&BnmmOFiGM(9f++ z$EsO34Lnyx)!Rpo{VXnt-7+M#5jx4(e*4R14D&?OK8>$YIFPd>)m^+vCboiSMggAt z#6Jq8>XM0li}{y>!`|QMo+-&=FC0{UJCVv#F^iyZgWwHIrLc$PsMHr>Gwd=xm8CTw zQ=)5NDk(gCj|0uX4E^_WesIq>hu1E}am@9X-lRl!@4GqDqC*6+0Jcw-nnI2r;}7nJ z(MyP;2CuTG@wDyTZv%5)W$j+}HCH}@m zXid+^^*K%Knny(1s~E`JhVMyCtnp&|{K`s;ly4K`ylIlTitzMg*xmxx?Oy2lR_nIW zoR4hdAJ&w$`U$;8$5cfjox@aG_H`F?IPbs8!2pLI&QwWiR~0v&);E-v#OAsxDzC4; z2wKT5T`ymg)>5(DELAGSL*e-a5Ig@15N@872w8(GFNU5f7TCA-FwUPUcc|W$j!1R) zvPmA}&?$;yb&DlIC^DD`d^i=2qSP@1>_T<$mm1^a(O`ETcJI6?Brs+h7S5y&z$q)8 z2r7@Xl1~vxQ6#aDd8hLgicr&D?8p-9T%6iZj*tsBg8?h#0~q)UMRttyx|@5K7M}pd z!SW?n_ou_s{VSEj_BAa8*fW162vb?qY8cupasRi}5evnn_UCgYQ-kaM4JgKam8X8Yl#};4bg#KKFk1Irn|*z5{UC8bub;7RB+`Q?um;>+0USx)5ST= zQ1$Kt{i6xXg40sO9u$(frZN4}wYd;a_R0%>GNl8DI9tV*IMN`4&DB)=U)5||OK>aP zG2l>WN>^xwy#ArZZ%e{vX&G$qw+*RL3VAqJ2~zp)_Vj+FieA6T$D(K0ke^mAVra6tuc{Nr^B|1S(=yQ+}w0url#cF>Nl;eleiC^(+L8Dou@`PBV|67)WDLX8@&1S$bG?PJGVeT3~ z-U>RhV9&B>JvQj0Pqq@xqqV6eP$ zl(X@iMeHQY8UCg?&@jVSrR^>U#TR2!z>)p*{q45RL+9L*G&%S{(C12VqAmWHkpvS} zs#7~@Wt9;+a$B>iWI{Z6Q=VQ=xGA_`UUU_O!4D`TbQcZ!w5B4R%-<9E=N_OSMx3K~ z3@0NSY@C=PdOdv9RA+2Nt;y9GX5sEmnK9nfw}wRn zz`Fg4RYk+MhLr{b?hFbh)QMqfC>l;GV|5;9Z;i30;fbgn_`N0UxmOFNq`%aZIQAb( zvuT+;@v1ta@;cE5>Om{}AcwiV!p?Y@~_JUPdK??sqUqHT1N%JCzWDE z>TZ=?cf{lEa$gg=E4GCO;G3g+VsDw>kaEGeWhe3YhBW6H)Q;K|!SZd=cHegpaeNLpR4p5y;BbNo-?hO_!h?vyf+$A!l|>f9~s z_wP9g*y$e8UDo>mHeb)TgjK5~c>Ys^_a=k%iP_Q(Kohup-b}0DFt&ZJ&o1R1zo4e# z{RZorRN?uh#KbEgfiZg4;W#Om;qZ?0uBr*xd`#Hkp6K4V$#7xm`=K}iHGlK;3+yqI zPC=~3`>BG5OUjZ+$0g^SpM?g#AVW<^@F5-a#Q-G@U?OmdJT5KF%3at4-A~*uNXX`Z zs&)c%@iJ-EUg6_B8J9`b@&$lo8 zc_aX16QfZ9E=4h>cG)|mn#;A$cHW)lBPGY93Qt^}qvm9*2#+?majxd=C*ks0i(3^q znp3CsDfKMe#)jT5f{Y|CMzK8|^`}3axKnv)?PBlBJLxHVYr~fy#!)^GWHig%PmBq5 zIyS^GtfihX4N%f@X&5SM$GHPNV-gPgw$xQl6LppfnZJ4nRF8|HL3hnwiHV$196OQpv^c7_ykAFue$6#hr%>?(sf_s-hovFPx= zqv2)(-aS}zI6lQkGqc8bH@=;yYoDa^?L$b;#}6;t)JCJ-*ITP6DFi=#41xT3zab;y zWKnYQvFP(m-JG>Cj?c}YxMRWvkRC~Ng-us)aWsf_mphldwxwtnXV-3;UT|!?v=iIJ zbVEeyo?j&JUzcvr>MnX9MKo{7OU%JIwXuCp5))A9OR2fKQg4CzRht1-j3@7FeBht0 zHrCYcDWZ%kOUk4{FjXuYxNK_6%6)DW&-^I)zhU`Y$}_uF4+`jpsQ;wNO&RR%Lg4WZ zC+~ILxqwcK<4K=|MiG^~)I^Gl>Ae(NT<|!u_B6{1L_9nDd<)sLEf-^g_r>ZnA51#YdrJ^!xUD5Es7x!Qe2L#$WKs|^B znI5!xf#ihqPv9>uua9PKJ?Z8*o_+e9ZL^n)$lT%;G+Iv9I^*_XV%^X3(J)B62*#Ne z)7r_`oSW%}f63U?vHX<&>BX5H3MUD?CYs#damVxJIPpC6S9`Uwv7?f^M{28fcq^S| zVog;%$(sr1;sxrx#w(vicpWS^$2!X$R&;wMRo>C4E~i#I^iX%azr_%h9^?=?+wOU!3kU6*Z;cK-z{% zv))Gi$F6E61`p3#i%;Ao`uI7%c7Z85zFHO=pUvyv39lLi`jU?ej;_(;@zKcUh-gt|<+kC&QT=V>42A|Z=+nSmA_JG0IwWz)IHqdzMw{G8vubVeOVz6s~8ygNT-xox-=IPCaXK8j#IiAt~3 za}NYTV)_2r?}miVf1!E*;05Obb}murREUm;!+t}WeU`O2F>Yzsb$%tpQH}cRGVv!c zZKQ3XqC#`Usa*;@)PoN9EeS)XYP{27SU(GFB;le=Uvp+5%a?m@$^>w+vrN`kboKaQ zn1MMS^bGzRLd3?(a4V+<<-r2sX%J|6aet|#>RT<+b-_7Y$q8%w-I*~Kh3phGKcI6~ z00luo!v&L$$*LdISh+S~r!bwZE8T89h``yov2_GLsg9Z~TKt*Fc`-h$R=;$as17Z| z=_AnsYCdl!EH7f;HOp`iWPm0@ypwHbmL=FET!VbI%k6nf64WbyS!vk{)3Q=<;mv5w zGC4~Zac0Mc`IBwU(oqD4Wl4w|QnAD$*28_N2a_i}M`=^f-A{C0wdmS3(~d>6XlsMt8&HJ zM2p!4t?!Nbq9bybA&NiMd@*cSc_j!EJ%uZe#Uityvs=`}C-ZJYMqt*^ur`IBNK&rN z9QJ(yhFek=X@2&?h#Ste-5wLr3Wm;I;!@VFTS6<`=Ln7#cpFpZpd4TpT4aT-^ED}Y=q!hbGk zb`VD5&cWbr!Cg;uvcf#>E2~ua_Qp~r?an?Eh|bsi2-Wei=DK10QkWVj-=nzNEHLomazQBQ{1gv2q7mD=S_TT%?8IDwVWMljyw1L< z6TzYTcv#IDTk2I{*)ZZvI;*_Vaa~(Vu;r9-&y%agHRk-nJ@QWlnLi-R--M|cZuu4q z-N!Do%*Bd>Gt@FnO^6vVix#91_mbWp3pR)O7Z^>KonPdhoEI^o{VdOAF$g&tvkJ&> zv5}Z*VfM>)EzdF9QVsnccv7hUMr!2wwvaYwL@|*nzN;|pryhfZlUGKqabhw7UFwh6 zU_Oty7!9eQ;_7X>F%qv=adVYXJigo zGc`sK9x%U)|NU}&X_WEmD+6V=ezqnun%d|~m09O{JfE>{+D7>`l&QdaB5{`eqR$ps zPc0ZRB2B;#Yt1XvQAC|Bv%xkduVv-jqYV1{e+`KspTj=LneKutpJ((F7*0j@VQ^IQ zeRPnmr}p;QvS3Q%xhJJvWB!%0+$a_~CMZ9i3x+sLv{~mm?#QsIOfl(9wOs8YpbtZJ zoVJ{ji=g}Ggu6Ln=<0~|(d~`K#u1ZD+7+Fkg!fL@Tfv@TBAlZ+pOFimNF!IcbC!gr zaMqTOj9|L$dFek{0G2@Q4TU!|b8duEN)3_k)|rukV{ zy9!8X)*xFQBN^u19|-iBidD`%5Wjk#^4$ocK`22}KeXChmKJLs{C({x>#=JFweK}| zXPI1cK@R2j+-RKyb=?$DF|qa6yGJj-fl-Yb{71gzf%|zS{=6}TMf_mk@|bs#C?mG% z{rlm91yc3JbmqBQ^P=LLJ8401nui}w^RFT@!AS-e`?s_d`j#MOVHy5FO-?UiSr!Tp z`B3)J%-!}%mIrH#ckUO+l}I+ho#`E|u|$uM@d}WoCs2pR?2C0X-1zMsUeIT56a-7- ze({yeZ%b&LQ`~RlOs2cQ<9V9Ipnqq zRx6{fi)+ws#R`$iN;eWOYVWhcc-wdf2M4{9YJ;0=O53Kd!*=pDJ_>-`q{9u`yH?t_ zdHHbrl9P>XAG8$jG7fA7cI|7toj9>mr@@(%`Ie7U2(@sYp@EEOXu>8>qNh@Q%7lFW zr*6itR_e(!*G{DMVoUSxIZ;$-mfmXlWC`59+eN8?mf@r)+0O5iu>DNcs!RKU7~vkM ziVcxH6;)Bc=;K;zvg|1jvcAul$M*6^@@M-#GC76RN}wnm<7T4tbLA_R=o7c9Q=Ce(JaBgS!Y&Sck>*6F(eub2y zC*6E!72DbhmkoTMyxR0;DiNAixjygKO2?`VSD|&-@PjqjBls)GtWZ(V-w`R7qt-`K z>_Sv*x4XwfPxV!1tD61_rzycH43U{^mX)K{EO7g|6f!MSR^PUzl`kqb=vqq!uRnp= zE_(!vLVltrZ(L8_T&O82fJ)buO-N}S2fm8S5VqdE^HKYuWluI~FJN8Q0!U5r>%u7= zg|zDz4z_8>jXm)On(3dYk_uFHgg3Hd>ZRtO#bM}st&*RPHAigji`VE#l+^MmnnZbncFzrS`zV-#;XU# zhfOsyq^T}(9VCN5JCmTIj8;bo+t#QY)t=Z*Bi|8_OZdc!0WH@Is=LO;*XOJI;Jqck)bq$@caSpp2Q&#**5pxfvg7RVchIE8--43f<<7eKNVSRu4+WO*CGfC@ z_aC(-?(dc3fK?DO+Y|QcKLbs|ajpTGZ9eIn6TPGzbr2uNetS^3#vHD5fqrJ$jHd1= zMdr6UmDWa^J%C^nX59#=>=OiNoGWn;fMNIdREKY~IDkDgP7^qa^9mCvlyoLwQ&C@ngT!20pbBUzOViF)zzsQpz$uX ztpw*dTYTi5B^Z_KVmCmTn~i*sl5KrPoH3c)ld+2%6|(n{L@#)a{$B^ zC;GKNALFlA3icL|u5YhctbY6Z`}yBK;Wvf>3;TR9_Fc|;y5!_$^r1M|WmC43>OcJa z->3E+JMiVgzU?9ATPRgvOzA4hF#BInqCTMZvH7_A_~DaUE?YoXW=ttfJFCJ= z6ni;FX_Ln=TJdP1HpZ`O+j$6XT9#R!<@o4q*goIVv6XB*Lx85ox1pu&;rfI0fK=BOb z_`f;O7V7A|%FL2H)@q?0=~=WcqfR~^v(LZhQza5x`?x>?r>`QfO*;rZo0S?oX z0yze2z=W{j`7JlLl1+;&n$4t33?!DxPwiFF{O74)iZxMgUFWV=9aVY=22~Ge{Srct zAJ2|~eXjKH1iZ)TkXN-u7TNdL1;$L;nE!5-_B#|K|vQy>S0^ZR4d4m#QQ^0c+fR zVclY|Qv*7*s>ZGM%D3Ohgs^SP@!8IzcJ*=SSAGZ*6KCx=y|KzSJoxQPW*Nu-G^hXW zsVcFXy-N!|h3#THxc}5$qd+mE#^iAUgP|VaMS;V%cs0V$J*Xv24*>rcr=7n1z*OKr zUfm}tpLrr>0pCY4em>T$sRbk=jkUXa6W=;}04GZUb(^U&5jalp@Rni1D-iHB|ZY7$tu2 zul0lG@Mrr!usuj_6k`t1fBtP^sDS3)aFNP#u^RNm&*GgfR!N; zpCavZ%m09O{MP;t+~-(`yTH|yKXyQce;<+gqUbneH(lMG(s1z4*WgbpiYLm9{{S*w zcP4x!OWK?$zeoZ2jK6-(TKaTY{YUU4;cpfc!tTj~=-ALn8N+=e^oWwdUPIZx8*l%5 z?NigsFV%R{g54B+=7uvfGl?lF+D1tclA0`##6M7(>FHFI;?;fzpsLTtLNQ@BajUGF zPi8Jk=1Z$w{=7FGHQJBDAX0ay{?ZEC#= zz#&GaJO2E?Um)rK3Yzp?zOr9$mw$Ms0Mi{VqjeAe9W+&LS}tRtAo#Nf1U>*!t1+?Y z|9w0czWN6j;dHOTF;rG`JKPqmFz3QB6t^e%fV@CA{v?4JSZ=?jS$O>~$Ne{dX~|+- z0wfs)s=F@|!p^VYcj-qrN29I_YtTYi_#d>H9wh^{yGLC5YGYR2I0Rg4l7Ba|{`Fd6 zD5}Di$z{jFUY5u-CDQACgdy}aZPxW@Jq41Vc{fhmxlpo020%bmgm^o^{ZZO=tHCL- z2AkkXhpCtPelxKoL8r)>i&NPA^#@&BRnCsf-2{-8P7aw)w*qHr4ewb`-3etwWS(;V zP+#@k%`z!?Sv3U(Vc>JynQA>UP*qh`e9p|;auI|>rp@l!#%DEMvCL|W`+vVP>MUHo z3wi*EfACsdkK3>Uu#1y?zRe;{@i!xd7AF?_eD6lq346?r2v zw`Si-h)J#M-RZ0Q@xgIpih80ZL7>IPy2+t;Ew>wC`CgDQ{i`)3uJoc-$1tF*x;~K2 zn*EG2HJzVUS1YpD)XBr6>iB$jp9IJ$f7fK=r5}$HhN#WLbjMuoE-kY&Tt4~g)>)-Q zQl5S0w}#c^&9I&{7Yp6K6Z^&k7G*LkQt&o~cpr2o3ApZwS}u4=&AC8*rzLJHYk~Y| z2)_e+ypd~3CwS5OtXU!L5}a~%p5Ze4TmyQ#g=^Rqo%Jz%ex0QS+z~$Y4HbYDjT=>Njxq%W1^rgn>HsvT442DZo3vVETTY#tp04P$6@#ob$i} zvj;$B7j5Tkppm=vcj6|qU1y6ohH3>v6~Gy`olaL9SDFCC#NEobO37fIy7`Zh)Jl~Z zzcBvBi~bO1+TSk6vGOlToBP4=`DAO-yHu#fX|Hv{riX@tAkOaN(M{}sMzc^9WiqK#JMrH+O3=r* z90r`s70|_=lk(I*FiHzm|L-tL%Tg91#Y{B5vos#&=?07Nvw2gXWgLe+{4%H9yh3Mg z+(mt_8Hr~(S!@zI2ObbqdvV*%Bw@nYavpnUuU26*VNGAEm@z>i{(h}R^CKLR_`3+# z=W5rrHFXe>RIhp6C|D(gP&s_d@E+3UNE17xi*AOxh&BSS78uwc{?L)!bF(WfjN^o?`}Eza{viQCjG?A&9kf0gxvC=TQYnQe)-xp0>YD;P+bqbMNzi;) zRR)T#|E)((x6BZXqB1FOJ`KhvH9%gcsv98^c&Lea|Ex>>y$E`5>E{c*{Kx<*ln3+% zLE95kKil#hvz&Kyvfgz^L1(|UX_kdbX|30d=5ANQay4nUy;is_Ues-l=TGM%x@OVI zjtaq&KN`}j`pAFtmjBC%6b4BHPUMSMlB1dh2>b`cC}w3jdVX~* zE=H;~sTfIl_l@5ga!WDO+Bf}$2b!={3ho26A36XI-^)-4D8yYGNHP8mZ=gj!Hao4& zjn?OVoR?sq{##1~{F6m}6h%tnr-pKol*VG78G6}L>0En8+rBaetx*>ecSZ`S z?-jk7Q4kK9`L+CpUgM+Adf~}A0X|3DRG!xe$^HSINq)@^&%XqyOy%<{ng;yiKor&2PE0) zDK)7FR#0-G#AoCV5>9y?$~Iys)y;i`Cc{XnzaH zfmW`NuKfUnXlD~oGS!erI=OcK z$m0>;FB1ZE37Ghg4L$GI`$FqLd3HXhN3fxWstKXCK9Td~GzFmo0j8z}{ zz4eoA69Ve#r5B!>%0F64V>Qrakc!-$uTg3r zXzkY3J7+t|{T8b?YlkhDJ}S-c&J8MV>t^%-?}5Toa{Bb+Buv73PvrH5ANmVBzBbR= z6`3}2BY#>?aJk7S*qvx|jA1k*?O~L*-_`SWEUO^wEPL0h;-pb$sr%9K0GMVDuGw10 zmvS#z13Ef7I##DZ#=8Hb_j;$ANbO-KiVCLUbYY=6{nIrCe$lcs`$~f^jf*@_%{}YC zBh3cf^cTDk)>i_#{@hO=1crnZxD9!L!9Lb=`Hnf$jaEisXMKW;R=n++5ffnT4tfts zy(~kjs$V4-{*;Uqg<6<&kBq(=54I3Q*FNDq+~DpI_2>HetI|00YXGM2D2xA$3%x8} zoqK$x!*xTifF4)i?qtc7dwXSf3iJJr;HbJr7cr4EjAN6Cl)!IzpIp;|9ZuJ&=5OX# zRp`5W$pB3$=U^H;fzQ%{bi=j?((0E+HC;X(`W0csS2glRxhJGje5aaRUA5-3d9@}r zA65xH@n5m+p7an2EZ=)Q0~AVk#}SFLu)Ir!FEYOM_DwD^j3Ag1ev82rVu>bLyJpbk zEHh-_rD%_*W4CLM%l}bik6s7{_q=a?vUyZEQRWx`$Mw$O_OA0fU+SKX@Rly52;2)E ziAK1ESbuzAA0LtAE(S;^}y7iWorFW>RLLOJ``=Kq%I*OU6QXw2{S2x#e-DC9>Z*D}HG(o4*w7o0=!-ZIQGT28oEQ8IRW9kQYf39JTjdDbm- ze>*r)2!){NbygRB`Jb-_Bh=bQ2osqGu+v-@Czan(IFev@m1>mf(cfJ=%44TeHPvoU z#Nuu*#-N$X9}ybIwoN}D8*Y3~#Vr$9DW9yN>>uEtXARY`NX6oUk&%!*Pher7c(gM# zL`(ik{Ms&VXRdzn_)PG{@w$3fiFlhf62y_i39ZY-2%_L3LwYuPT!#-oo_f;wc z?{T%v+wrNA-E-CrQUHE8gAtCH2eIB{V%;g9QsT)rAUq%!nTYZi9c_1(N8I3c#U z?@Adr`qmL-sMlV5wNuSr$MKNk#I~ikE<}P{>3St@&~)cg6IzzeO%FFxT}>!g9%|{P zjo?Mlv>(_sRpwt`_S>S;lk&xE@fW{ybhOFt+93WCt368of!hI_R>DQT>K&U5t$}t` zPv+hMqWk0e>1(u)DOIcJck`(0e7D)}Tgt+^H|KMwj8Sl!ttrnAWa(evmysDAeL}Px z3V2^kvk$7j>Ux1b$g8#rv|=mKCw;bCHf%gBvJjZC*NR6w@Z{>YFWmpT&SqYeu+{k( z)(_7+#WzpM=crZBj}8`uw5xd=lhY|NjIo^3#4mrw>QvZ8bxUvN1bEsm$c69VQ^BO- z%_q(|E`UO`Qgc7&sVOiAzSzX$@Vb{)+VwWM&K;W&4v@(CKyMgr1RAE#SF+43OP?6L z=`DI0a+MyeMrJ!=eS7K7XNqdjwrzZLO{{X}fcqy25W&gQV!FeVDP5CS2{tQvCfKgQp@va&>Pc)>YPJ@jVh;ZnYPc>dV8w$isgHI?jQ>(Q4B z{@myg?cruac-%Bz5<5CW;EYTEdX{Y^K9&R$zW!+NNoJk7d+UwL7$li|ziBDlrFNoN zy+io(l1*21H0kvhJi!;Vb{XTkPju?7Mi&Y^g=*{eza5MOL~D)KDWqvQfD-ynb^HV+ zFWWoAFzK;EnF(w?kKNw14+apw?#Wn_b(yYsrMexwjp2{%fYa1U(jWFMc*%)XUl))Z zK4Ig~5uJhvs&mPB65t=~2YIg5PQkRh1p|Q~YQY-WO2Wt_Q1+Z^{4CXZ!#0cQ{_Jr7 zw}MN+oKyAQrlUozgQ93|WM}KQSsGl3n8d7)LOa?@knqbEsxAW211`*U0ZBh8zMoQ| zt^VAznjv>MoXJg#-#M$#CgmK-upG!}1Qnil zN?Q}nDn498Hdxhm7{lHcb&beF_cGq}8U#e6}Ie*0#41rKRj48T0AmvpTU@t8rTeD5dK z3K5(gr{YYW2?XP})3$#R4zbcmla=cSAv#Vw%Lwe1s;0!dJmT@&YcOOw|;L#k@pbL>jX>zAZX4h@Ulm{}97hoX$+% z{WBx+73BxflUW$n*H7PLhf~jg6===um)`jw$Vy1}Lu|zcJxCqW48c#S@A2{RYSH*M z6@&zFyqy00L{B7Cmd2-{q;xBzV|vkX1kq4#Ib~HbrHgbNAlsU# zOmmKI5jtypW@Pf7tIN9#g9zoA7u{^DP(`ZrMe50y&9Y!0na|)cJ?r+sg0a@2Z96OkMb4>h#>m#M_KEWq9AyT<671U{(yrMz5pgML4$#hZD(VM6mXq$G5u=TjiQKDFH=Nc6n)&VsA`&Rt zIM~~?1|N7lG#C|=xLDzJw?5G+Qpru7XlQ{%o(p-x!ZQ!d;FzO(1cUf8_lYBvjI1~~ z7Lt!6`ZfBGAIE+F(0O=j4b0Ttyx%kR4dwLBQuhw|^GkF@56D%pX7ujYz2G)1QEm>* zY!aC`kVq@ZmrZ6aVq9LvVqlfff9)PFmQRpA*8zv>l%g5OF;9_q+tu4-tRD8WzVnS+ zL+Zxu;bS1G2&N>i4b=#bK#M-nb0>S`VqFEcVDA7b-n~P9Q&F9{5qmrGg-mW!iDpbY zpgBY_R)hjMrp)W1pm6<~Zrq718kq_olU~VIX&}n5886En@Ui##28jh{yu|7R0PRm^(f3>0U6(`_{S9w&Cogs}5t)6`+xp83pv^D}$$ zjto(IM3xRi?{@2hB|`5@c@8yr@*FxsyLzps3)gmbT$V#y=mp%N=gV^t6ARyA zjo=h`qSq1UeP3saSMucqS2kq~y;EmNiAm(69c8_*&cm6_hw}qu;JI-dKHn!}aF4mc z!^tEACT$7Bmst-pTI)*MnHT7v@dy4|Hyf@^J3upomqj9hN-ga=s~|T0nhBe3G)x-u zed9BD{bK*&YKiD_ws0w3Vyl%T34MAnDT$eVMhx;5jt`e^-6tDKoxly2R)YhsK-#rp z^>W^&v=GnJISU^z?kjm5s?qaGPmlRG+o^k_H}4g;yVT=JezEshJuG`E2Pbv`1+rAn5Hc85BF!kir5tc1QX)$>@up>kgad2-r z@k3`=?_{t78gHc}lbjn)7XgTj)1wov(DfLTJDFZj4%vOBEq)Fbu!S*(?ne*fJw<7P ze5ibs*FDoRn0D86^YEe{Xb#Q5Ib8kXYc2i4p0=LZ{M2{>lTW@1ezx7dVZoI9ap3`K z$cs;sXS1YWeT0LW#CM!o2P7eCjT6ye%a& z;wzUStmIPrKq+LT7$eJ8N9$hTO?O0!AuY@Hl*o~H=+??u)6+Knw3JxH{ zKn!YS3hzFCuCn}8iIGFv(p`=4<^F~p~b$E zJI~*K5jLuiwDCzH9?D`izaWf25Da-JNfa_XP(6v!$O~IWPh(CKz0R(tEG>G`o}C!RBvv*1afYrZqv}07|0eaS6tUTzhCM z9qMiGseK^j!TFt@SXINVTyVtvczX5pTJY)*Pxjk%i7kjfw<(!X-6L%DXAPMLXn7dx z;g$u};as}?&S^f^2L+k5Qx^O9C@VL=o~K9590+9jHjNkOKHlRrq5K`t-7*>+@Jj?XkM;@mDx;psFv(T)%ZyNg=+85ognxDBxc)v(f$qGV$^ZD-{zjg>dUy&MH zJ|}UFknL_#u5S(fu(<}24(y1Z&)ZA>paVn-!P!_*rh{1#&NkXsT{nhxZ;J}wgzc6Y z?&LR4Fh>^V=2Np-zAYIpt0=v4Yn6J1 zck8jH>Gh7tDFb1-b;^q)cW9Ffyac7+*oyKRsic#0Fhd$X$_`8vU=h_x>#Uhf+(Q{5 z9r{I_J$EtctCmvV(zxns6@i7X_Xk3UiMMZojz@d)LY5P9B`b_=(>Exeb&1LpkU2Rt zFi+nlxh6#jJW^z_5LQKbWFL=iV) zm`WkHy2^Bf9NtJh`lB`WDn*ww-qgo!(^u0A$gg)~doEu2bR1A#Ozv?!4rBNlDl0j{lOSrlkMA2iED$_u*WNG8HrKZSX^CL!<%8 z4jeKoz^IFkiRn&rxWKb{FF(!c9@b*B#W)j8A%fu0j=*!V-|m^O$ze63jg08+{FU_F zI_uv#2Ebdqgb}@r@2|6lXl0XqK&S;=y$!-%U709)llBx>?9E#)m+m>fS(>d9dz5~i zF+zh{8httqAM38DoTs@~4HgQv`Ofo|K7ryg#6A5HewN#?-OK}IJi2kDU1;6>abn9u zDvOiHqsOEidO7fSr(yQ9qsGDRPj?y-vs}JEL<9WoWh0`C9<5j#H@pN93q^bl8)AP& z_>4^7$td>VU10v+SR=Ibe%xeng5^$CTHmAWGNT`_+Jr>AVBEpD3)VCnR!Ed7qxm`o zGZB{%NLhmwC717rLEr%l%b$fDI%UxPuu@6mL6$QW2=~JhSVpm$jTR z6&rYy6uXQ3(a=Y~X;eRS?&WTqcf>})iz%Xcym+~lwY=^ z0{@UoL+Mh!%v%L64ZleZKHqs-iUz`^XU7~VBoU)D4symaiKMuiB}nhko9X)@r;##X zha(xp)xAc0Iu^e+U|BAT&(iZKG9+PubdWAQrad z@f0rvJTx+aZtOeUHcnT4?<;|g7V%V@t!A!uf7VJ2r zY?Vf9bTu$Ox}1ZNU{7jA5N>rDzN4Fv6rSPr{3kqPuZ4@6QdCioV#k<)aGtV>PS={nzQLdvyN_StX6`C&dxQ4_omBqgXw`9orb%zC z3D3{h5e=iSqYVFTqy`h{4}A=`c$%lTEM9WwAj*t#@KD+2-WXy+PQy( z>2I1c_FW!pnLpD!9Zs|N^b9`Lqw%W2{PnbmxdXZ7gnXc&Okdsg#nDB?#08j};pKpI zn--Cz093l$u~IQeKZ0J0@`n~tm?fSAbr-pTB^(mOfAb_VN2b%uNWTQ!DP}M^i1jo%*ApzC7-PgdG;1 zI1n4Ln$e9+(@gb+bzDDe2L3kkr4LID5ApHqB^Q4c1bfC#T{)oUHb-D}oiDvY^~5sJ z(d&LP^j-SMMdM4mOW;KF}aBZB8URILZa{ z_Hd<@tkc7H0+QCKeU3->R10jZkGPx$)@&8Gsr1tAj@ldoQHxmR(mMuD`s{@G#bjOy~k`$8n3*WuxUi z(9_|(V68V|XM$)6o~EXt_=I$xKf)6H4Jnuo(OhAdZ7|Cie84>qSSE?cC!a$g7Q>2% zUk0bw5&>5*F>}4S&KPaKjMm`O!l>k-u^{N)@ksxE4o6D|mk|d3I2L=r6(~HotnKO% z{rx$|5o%-Yxm*x|6i~jSaOP?$ zYA@dl(B#)>@UMh|lG5tUSu#ZG>uq^w&8%6!Yf>9`xJ1lEJrFOvuwZ8&sRw;~d$w-wp`z>O#0MqVt(*x$It)n(BwBi$2e zq9oU^(<$0sv3xGbqi@>e{W`M=8n}XkGZbUk`Wo)&EcNM|0kue7LfSwy1`UsXIAh*0o@nzs8_c_1k_%-Ct>*3xe%Rvo8SAUM**6Q`^Cjs*!x?RrMXHFYpVLZt3U4&A-f=~{n%WW0Sa?{UesA-=KU;+t%_ zVCZ!_-$YmY3B-AGc~*BOFni>jak4Z+Qg!g-fy$)!=T3R?hAe)i2Yb@E+@;=~tfr=t zFS}l&8~Af;J(&=bL>dZwh|7@9CKzf>Z5ky2$4PbRW-?1?kJt{h!lQHmn?p1 zLy;}O)8iR2!TQz-mIP5+wGdQfO_Z7^$&Ig>O|^ePUDl}h_U-d#h-}GfB6RyV?P>m5m%Rfk1qCCcK=ir^lsL_B>;8 zg;z1A{8ajlq@8{*rT*(2#arX;6;`eHl1D3XG&xk5K)<<2HCZmLK-h+QZo5*+`56}V~7~m z=GlHW744)L){(d#)N${8lvd1-0^CoNq`N(hfx-JK{3!;aQ4s(H_&7ruY4X@vinV#V=Y@mJ3Qk#^mVKc zdKv5kSdd^;(CfUSm5hM=#F51dRVh@r;dElgXCWWAU8~9z+l-G~)_R%udX! zB$>BX@~iyKb@Z;mJl9fF*4Q2z4NUaX7nh-^_Eh8;YbCd9ziiL)Z8{pIm#1RMIhOYq` zh}YbXs9W>?F&*)Aib=MRh4nJL)!bL-6BkF=ozFE&J<`EsTmwGR&Hnb5@oY~UDSd9; z+vdrueJE5xkK%N`d*1fEd0bzFH@LVRJl@V7TG|y7Ia$$nL^T4pth{j9Nj&^jl`Y+3-cYmsI*z@Q|j}fct?EY)fexak`(JLO`~uNycgX!ytmR`@ryl`SYy(x$f_|P8G{9)k5yI`lcvFL zZ;-&Vo|$wkW=HGth}m_IaT$|KbTYkKv=+QEF1#W%A2mldYewo53`;q6Ikt*Em*mso zi)eL!!=7ij?X9@qN(l^t+mCN=)Y)Gp8wD~AncE|F2cy|mH;Qu2B%b*+oN#y|`4?>M z9+%ZS%iPvuYhK*q zOQ3g;HLw|6>sRml^s0Qy#&bh*aMyA9K$@Z+N7S5Tbw8L%TRdySg;vn_&wxw-R%8*m zpt1j|rOD|h#o$Mt1O4=!JuHs>+dPc(?e0|un6;)!Ch>4~!fU$87A@jTA%$L(5(}hO z*Tbmf&DQk28#>XBWdF)LS6SAg6s-;dR{g*P(K0yS$A?wBGZ*R34eMN#9(UaKr#v=Z zqwzdXjaVdRx9O4jz*-uGVGzQf_`*JmK3A=V+*o2(S%#0W4lz`VoL)7Zo2;H|RbrG~ z?UMV{Txe%{+C+6H2!7>lEic!)X-R=g#ND2vMM;x~@3F0No<%RTHBET7@=|8mcgQr; zjrq^tl)|qa``n>_(!bKReswTOV;55VHc$DaaR<@Eeb92ty1=A<{&6^7?A2Zyo2=u{ zrtbdDH2{h<{XAmVeu>!zkW(9fJ$IrRe6e#hT(3D#(}z6N6^@^PirXiP7Vnr0^H`|i zJk9XuK!kzk`8F=}fkXCa1QPsFYoyNShSXGE;VzktrC>c;*B=k!1;#WE6jb+$6%=$Q zYh|O2Mb>AAKbT7Wbb-YEY54tLzigkTRk~dHbhvi_OX0Wr$!TITx$B+sj;b_W3PK1f zegc3^z8B+F@D)Aeu%PJq(Um{S@1{K)`&E#eTm9LyXU5xk@O2(C{y7=1wXGdIPqAME z0tP1K>ZQ6=$g!J=z`0U3Ah=$p+EgClB4)VWVSkD3dkzq)DdS7^-q$kF z&cI}~fYJpTUv8}{^=G^3KW?$7Um9*iS%1ID9;&kJK7B$8*_A&rx&BxxVwSYaT%aGXsd zXxCn@ki?*)Zd2r1{eeMesQfaeRHB2o8llm*3E4QwFs)3Xit`uF>i{6?gq z;AuKRnCv^j0h*-!IljSfn6VvbhiL+&ri#*k8VdfmFP8-A>=uxr{gANu`4F6;qkdRd(9Z9l7a|6t;M;6?suUz4SU?dJ~;`C*jf|{EePqH=B#LG~cU;ecn0Nz?= zsRbK+^7)s?us<5k{a!ML+s{#qUD$c^1Nee|E@N?z$p3I^@be)e)P0egIIpym;S^|GZCVsG7>Gw zyJQ+r4(G~kYF7J`6vf2F9iuu4XxGlq-NK@x5^)8@O*S&0)%J(H4v?V~Rt#nOEzA1b z&|XvR5AC{5x3K9m8ZdwV)YJDiBFT+_9F&uD;*hakcd^MV6=M|hX!g<&Lbq1~H;ZoM=R0?0{0587jL-Ssl| zWYJ8xgLCGW_=NwNtpE7nH>Z$wFpi>J44#_n@^iosun;AInj`yHhC}U$_U;5;Le5{P zo|56FjuJR){&~{nkGB2yYp$u@r*+{*gpD!c(yfIf>6lf9clp`j=itNPfJc(Up~#An zX;93lgYdH^w3Gi2?Rw$7Cjk2b_QtJYZ*E@T-Q_vI?m2v1j#gj@?i44Gw0~v9T>a-M z*FQRyzh85%*p3@o3C5;3t2}+SG2z@#y?xTH&!F>6I-@BOOq7CZC`xN z_}_8?_uWJxfULwmguW?A`@2(P^#ME(p=*C-i2u7o@qhRDzrOlw>jLabixAly(KY;1)7^AHof-*?Y<4P1~obgO6<39N*%>a6iDGR?Fb;;2sQeJ zJ6C_N1IvPKAw~yATBUgtf%~=Wcm84okOMcc3N__Es~7SzXb4VGkrZcx4af^PcJUw8N4ozJQ%d}O&ojJAoymoHyRW_gve3m-lsu*@(D%(}gJ zoi=d8IHq4bvnKx8G{q2D@;I;@Z6NOjU4OS*Ut{>eV)IS^SeZTB65otg)KfhYz?M>ye zZP$guVS(?BV0WdUfIj71T0gbA0a&&9BW_ySOC*1<$3@{8u-=cl%}7=Hr$KKvC1oLA z7lN#?52pvN-oSIOvPOZyA4bU6>$}N(@_({C{@p&05zRvZdvQVQIF8p}_hyQ;4VnP! zataGDl8Wj4G$3Krdhbt$Y16WuH^001Q^W%HD!!Q+x4*xi#y}t?A<;7>k7yOmKyWlc z^Cx?eKN~;4c1)!XH@jA32BoYAh_H4;6Q@>&@=GmP;3RJxx@HVIgpU}rk170QX#8`XYrj3H z>&g2~v*Z-NZ>1Z8BkpQ%x*J$s!KMohAYSErEVV-Un@wC(-k%jbp53NB-!dlmTXt1u z9}>P4{JrA}HBA=(){+O7a+W9@%HzlJOG`_i6FB!-f7CD#POeb1U2b2UhpFUBm3MpF^!Ft^ z1y{$h&MHX0_qXSy*8QEcLd;`iE6p~^nYtE{aW3zR@$v5k_VKD)2p&|3Fi{*6&qC}T znU3>snIWIggSu#*KYuLxeF?lUP0P z$5Rtq3kT>bb`T1V;5T7hlV`@q7VfUDEnamZ!o4FAs~B-)&R^n6j!qs~%Xx@Ml0i7+ z!twSM3H0i@6d(dlF1D-&-ouO?=V1#sYu)5$J&5>EW0MS|FX4{HF?=UWbq_ucWVTJI zXWm>_E9c4mRCN{dzI4iaWkQ0{{mT9A&=Ur=%_`OClu>R;DXD%Wa;vyuZePj}4Dwh2 z>ZuWq*D4B7RG8~|8eV9*!eFqq1t`n*rN_xu-+MUkxbbDwzaA~#BowczpW=-hQ4;CK zOH0d~<~{q=`LK2F;7$SsShX5Gff?3M*$C?Jwq;&`nD8H%PiuE1LK1G^3SHV^NXcT`&60p_#e!F(JT61zdWw{5rQ&oPJEHYuCQR ztEkp)STb=x8CR=o1;WVEUHwd-r%r*CSYL^j<7dgpcbpDmF;BO0>y}r0)rK`{sHrEGdW}JEElvIMziIa^zU0TCJ zd1l@||+EY2?6j=ZUjdi%G0{lt}2e&#cMJ84ywNVq6z|6p0q> zQ+0jZyQ&v5kID8grX6!tfA)WVlhgdYnQ1HjpGT8_KL)k)Nk5RxNixu9#sBy;erHz1 zP9dZ7V#b1?B`TG^;0=`EQGmXin_HF2Aj70B5M5Hvv*Ke=UiCKyvd!VJ?&#i*hgZ3W zwQ8JI%?4LW?5B@a4rTu6%ycLLXO^(HTAFtABD>=mXs?$kJBroi8K?g3i@R`q)C8}$ zd0%`@hGP*@ZY)Z?H9jp_5ZZYP&r>t>HJger){byq?y~o0Zpi5@e6MW2J1l>;)^9L8 zc0#hs%m(;I&e6zhaj9M&1KVnO=Ko40E-%$$bwB*PgLfuuJ2@igvW;A*e4@R_$ai@Y zhC`PNh~Re+lUjfO9INXwo$Jp&YZ58YyenVpeR@~;vU3f)h59{2$~B8#_+F-G>7FGo+cq=EkdTpn zn$}{CU?kXb%(Lq>7XZu1pbyB{q;uX{NLFdGxH{qO4CnGZ3RKzB>8VqYyQ=nKZL9qOmDo>7o}t*=ABvWWIjGQp=x)oOEMT&{ zv42)(NMdHy-HJyx#wcwd@3R1p|KURqj&JHIc9*GY@=RTgl&Jpc^qY(Q5S)ygLtI8$ z%4~PRy=qI!Z~hz-E!|{WmWugWN3`E_`w1(*Uy<00yh;Pdhy@K-oR!6=oZSN*jVNX` zZ)TJ;{SDvkz#cbRr?PUpav=1XWu_-@V$cjBtq>qM+{F4b)rtD8a`_xL*stGq`T#bw zr!TswuoJbIj%Lu`SVDv`kvx4~sr?;z4q{_}WHCJ(pHo58|sv@`DlbeWr8} z7X*es2saqEvSI?{q))E_L0!*=h&fk-94Atn6@Z%9i6K&F#3o^|=Rd8(!C@vmDiuW% zOEynlU$*`xC&ax7Db?-FLho_u_Exf;QxbO>AZn6PIX-04(J)D+*pul?mT1zC|8eUn zqg3=Qh;$j3@k9NyDu*7Fa$Cqn)IhSZj$|YmBOn%4t2YDj&R^1RIPB|p6vLlJ`h`uv zVfQ$|r*eBU;y@MaU`Dq@psE%X29gJ$T^601Y8^U7!aWZE&q_CGdZnNw4|w(;hTs<4 z#qPC4ovp2RS07c%GS{yLOUwaA7UU3>j_*Pa0x+*$z6Z=e@F%22@`tS8&q2>;#$9!z z*d!iMYa)D7hJamqil9Tf@VogM7I|RF@ue-Cc#O*<@I&1=XM+*-04guzU9|T~T|DBYXV!Wcg z;IpL%urfi|2W7I8=>9Ri3y6FkSTg598ykHP@33!DU;<|MBO3nKltcHV%;!OX>Vun( z>44h;w}`pY;?wztb50+CYLi;6b){VDfy)KU4fWc;m6~XE12hLVXY@UJYHkKs0YkdhPV_mn!>ZO$%Xq2bRAntjz6cy>Uo zfYYGs<57LbG`1aXv_%r?m$V;_#<^ANn{mGGO5@~DZ)I&o;Ih#IzV>^4uYNSig{=O^ zW+lkwCNWbvuCm+H8EB{I+fwva3-qlxCYBH7|z@zLSL_KC?A8 zR;@yMI=6u+uW7nEdn&vR5b+rSRJR(b+GM)IakpC^aZIwb0eh)!?qx_csfdl1uBY`H_2iQ)$&Bz1OiX%j_sUy6Pi2;$ z1?4K|G7YxsYsRo$n;l({zBsh#kU&P>q>2>MaAIHf3O3_m0zYr8u2^aSeB z5>}&G=VU1oPqa~%x7H~%x$MxN53E#&3@a?OxUYVfWjk2n^SL(YIGfmOyP>2RsJtBx z6zeuqf4o~RGI*hDLz|ez%DZxQ=x`(itIIjL_!Za*$eM;dfKEg1eCkPuhkwGf_$43v z5S)c1+6m(kB%yz-@nx@;PvhlQ>r_@~@?j*RdVa!GUZ&v6YY|u*Tz!6C35ruQItV_o zG@gtiJ*|7$vz3I;R?*+1=oNplkr*u>1q$t>x1M#aqO7mNxk`ry!i!2YXg87J=e0%j-9fMq5sYb=C!W|q!d`73LD(CQn?(R2D_{tnhpxrMrQ&|ss~#Sbf%bU@ zxrQ19z79SbW|?mylqy82+{T;B0bIseXwojX>&3xBH1ZdMeAOl9ol_+?CPvEZlQeuY zk3h+Jq;9c-`N7n-Z)(B@TVsuHGKl7eZDv6db$$&?cj-lFu~t$3W;;`!yK@m2-=$_6M}_@`s)SzpSqe8S<{F!J)k ztcvI2J?_}?-E>tDL(@pxg=s3*ILHcO;Or_c_!Z$1?}yqf49s#$Bg^KdQk8rcZiITs z*+~%w6$Am)D%I*v`4v!Iob0by4u~VI)~dc52z*~FjsC*oaFiP($o2JR%@Cb5)ljN| z@6BLn157X;$4O<;rxkFDo745k{er#=M)Sr7l!h2&-xpD*H2o^3n_Ya&&fITK>II$c z+2lP>2~l{;fsNM>t>_>)T59Ktlpjl^aYXJt99W`{XWloU9{8*kX$;6gy;d+3osAYp ze<)mx$tkrz5eVHyBbsB3z=JUNC(*47xJC!;!;nQHF$HXR@dL{{xc6el8tRw6yY5jP z*DGd9<+`L3Ta99-Z$KJEKXSKDqJHxbY+0#}-h1%ts9X=dABzs8>QTw!faW4l6oB;Xm4hSKuUZ-)q@7rW(5|@WL`swZdumGsi^dYcWH(13fhI) z4NCP}ha`u-UKxVw%xB9IIAlL(1mNXG6coI+q#ZfX+}^_@@D}DAA+^7L9D$z%=oV)34q0$MBZc?Twj;AmZn{E?07=fZ zd?ip~-<_&h-XWtx9{?2(p6}V?q~mPNWp!Aue{8XtSu`t`?#DaRd8s-3l?f{7%XeNZ zJ$R8u8Xq`!)>C3 zugbnN6%RKp1CtY=GxA_Rpaw&nr|@({O{&x_4`L~FL$#jt(YZ`rLy zRmBcy2tfJ>Bv~J~)X&a*|(MCeC+X~!jJasi~&aEEhxQc!}A3%EgZ9q!o?y5;3wZy1{Gt8jbT75 z3lK5jbLGxgPPX(X)i}MO#zzme7mmo_C;DX*>987|sC;<07QNyHFU?)`OblW(y#Ubn zsh`nNex~Q?37+U1LJ`(hvY#L`-esYgmaVc!*rcRX#5}YM4>hB|1KgDFMQYVg2EATF zoa7#~x32DxDOk;)8Kk#7r~~xL;F`X13XNP6OR*4@`RkJ8jFf2AXXNL=E=S4X-&QAt59$vP(gZcK+{JWVe#A z+u*B{#*OuHb*GeG$b5;tH;FCt3HiZ?r#u+`Jy<)aQ1ge@Z%uVW(5*k)Ws6k} z@bBWJ?-OEy?I8^lkwlBusj^Fj$JNTL#DNZk0F%OlH!I&F~AtuS2NDf$epr0>=AGSi-Jd$x{FgaQc8rf`5DRj3M*Hi3SP{Mk8J& zEbijnpQ;SAIIJ0Z9{&*wi(iHDXoD>=fl0qQ)wyJ_dAG$q!Z-n|T!o2WGWx)YAU|gJ zd$Xag&1z4FOB%)q>1_ShCSm<)S;QH`E1?s$Nl#LVQievBHk9XMJ@@H;KsQ5YiNPVmLGEhM0hWTZod za@gmad<*7!n>+hA?Eta(7snlnl~v0+cK~G3Cp^)4k=Bw{gAdGMS*SP5iU%)-jlsPV z?&=qVjD?D5a9qx;x0GV>(3MIzir(3_hy@vLrhJmuyxQGQ$u7rQf}?`>s1^VMgF=SC2wEJa)paHJMnf6(eGd$wyfmw?&5JP~B) zJ-bt{$@5I?xj65rKe@xTdDc?Ml70M@mbkh2Yo9N?G;b!#<_&`sm_ghl<~W=9UCyt+ zw4&k{yS{X@Yp{Bwj16f$>+oF79)|#AnKK|*5q<3SrMmbEGuxkn+uy*{LBAkE>y@j} zQk}JcT+cz$ap?vw24R_}Q+qpIu6`?j#tt$^6rmAjD3zS%b?e}$;v%;F~6-B_k~Ry4R#vh`oKdbil`x12w6 z(CXTEtxcpMP(cBXzX|jNo9g`MIq8#^p-o8L6?m&nEY`YJug?lV(>8&!$yyVo^YmAd z#kjPLPhCqiX6+3)Zjrd6@RF4Qs$j7#;yPQhj1s%>lUS}9iIBi)xt#NCgV)k152K0H zl*qls-!U#v9+a)#YWFKpF37_n7u6_1RcD)7Gvy{j_;l>Nan?uybj`!;O*kM z!*3jmLX$>P1HW{KD7V}~a`{C;^&oNK5s z7f@pO{)IQgn=rmc!NcGNH*z>n6YQ8}2p&0L+SH zMXtnAa(Yg-)gJdU@jb~hWI9@8HeUoTU`Dg-dA;$Q+sQbi4@r zMzDZ*q1eoCV_`sFq!{K`Z^{NQVsft z6j}$+1?pN!;SL7~Pu#*xOjzVwUT&oF%(|a~i=GS-f}AAg6xPei$crRx>8;DgM;sce z_rX1>2AA}qLQF2%J)h!*u>)Lp*=Y$&e=U zl@(A$`yY}zB|ZI=M5DqJM?ijx#h*ir#dUi>=H^fgdCClIIig`NuIBbQ4;f#;^cbNz zHJlwXv)}!;m*okf1O-8zP;94~cfoF55ftCj}DAEhfde-S>J@e53FBpq4$0A;x z+w0=Xt1t}8y0_&b{DgoOQD|HtE}CoHI6%v?dlABMxw@5X!3S__$@d)9Hy}ft#|u#; zM5Wp;`xh|z7kf$=2yX zA?#-wdV123+jo{tzz-C)HaFqa7^%qd0Z9Db4FIiOyw_5MoftDy1r;h2_)9{=Pn!3- z?VTYPWR6lg{1ag&8tlQz;bVc?s_(yQrkrV7YWwHZWtU6IH}Qnle-zQ0gsI6BXzJIv zl}YPpJc(EdpI{`Qid$XEmz>%uys__Y8y^d}d@Z!WZ!^!W`*v1ukJa+&H$Ny=X(79J z22Ik3nsw^W#aG9p!&Y2&!p$RcdhtnzQcqQJ!QF}kEPyT?=xlszS*Wh?W^~67 z6YT6YJ$tXI$;%`6v+v6zIc= zF1O9|>KGjaP+-G*g7B5#;##IO5pu5zXh662k*=yyvGR*ROG$p5mMAf@Z87EZOTmle zIhWZ%8{CfVf@tAO&9d@0^Xnv%=XC1N`8T;9y>RU%5*Ch*U)_M9}=kIBrC)s2>-OBqj|U`j3hV z_N}}VnuT}G5dD+4pQ})${Mk2bM#3JIWff&N1D^THQ`pA0q9jv3P*y4#i^Xn!m;3DU zE(L`Q88LEeb%$N@{Nq}`#YhhUP@LKZ zNT1PyWmJYgV;tk21vI6OIuLB}4Sy7p?@MIKIo}?Tkf8kb8s#Zi$h_fKkPb{ycy^`s zv;cc^@Uqa0hD=rVvT>FCXKUF=#1D)DCC0nFx`F9e(Et}nis3YG_<;?^uT zh>MHw@RR0r5l2%0EZk;pKd!M`#x|4x{tApmWn}mgM38C)-C5*;ozdG|^3OlqC;|1A zaXcw}!I4dMX z)_ju?WMdrZF0sK_Lzn-~lzzz`{IJF`--esS?&8qIBp9VSMj7lm)`cIRy7=G|%i(oX z7p`n2nLzOEp(o4ehaVcaM6i>dgQ@=2tXB^rK=bh7w7)dU->J5nI<~ImnM$H@3n|Nvf(xINv2#k;_Jq!u7(t#*yFqc zuulF557hF9B3+1Y??dnu*b12()9ZEP9+YUrC|bTmJs4Q%;AJTGRER*Ip3 z59|FYG+1#&%YiY&RFYj19fa1;>3vDv@#59=*^!ST0U<8ahT`9g(=>8yoM8cv1}L?GGCj-0vF9}fhED<% zuUzzY+=S{VkB?tW>RLPA84Y05)|5&TizZvG9=v+_bu^J>X4(Yo?z%mtfKJZOtW$4Y z&lf_@{fzoqc3wWP3t!JqJ+OJ2hBMQ$epi;5>AOH@;B}k(Vxqtufnj^;ljO^Hy&>eg zj2gOHZ-j4Fx%%&QV#Wq)fXcci+fx#fjO=#+VFB7R+8NbBMM^P)j3NzwA92)qalFMd zWg|7U=egI~jXaTU`lL}6Tj=3TxX2_1D1~5D;-%AQv)rZFD*Hl{bF*HEh!zV0jDV2{ zq}31TdD!a$dLEkW3Zc>QQR4xhWf~=xMQtU{Z~iqPP9uBzo}8@NRHHf zb~Gam?=~a)RK=j9tj)cmU7Uzy$!$tZ-+CZ%)KgS^hJvIw0K+Bjdif%f>lR0VP?Sy} zt5p;Q>LFMYCX7q3DaxI!+n@Z^?~{L}h@c8K*uclVvBl_ixf?*2?GliY-0-y;hZqx9MBzU7iL% ziS*(zHr?=X!Ifk%2z$e4^|_X2f}`!RN*zwBkGs+Kg5ZSw{P$eYvGImA%SH9lkJ3n> zbus%$GsxyCw|nke$mQwm-p+Z64$^wU0gTqOjG^wWSCiw$DYrkJGICQMv#Y^mWqQUI zzM1X^5ENX0891BK?8S`$A{oa0+YW{t*ufZe5b%gvsRqtzp4QZqs0~m(0SWcB#U60N zcBl?l=V_=7G%JQ<#=>5x+&2FYy}88aU+K+b&Rrjfhrh6N?hV8jPGoL#eQUy@%oqSP zyUg(9-bFs6W*3tspYr|IWY5N`rCc;wu!$13%tBDyo~WH#8%gY1VZYXdm>oV@Hob)6 zm_0j|0@mW&6#mNXjAL{W#K-knwXnY;`JJCR7_@}+?FKvK+@%x?eHj^AtV7{2_=2*f z?ZP9qS-V1UvWzsh4rR9Z)hjOVXe9X1aAZDCfYjVH!|&egy2qGo9r$TTT@kSyae)6` z%)yL>jGD}|#x~Az-|E^HZe^?8PtiknzKPU-2RLG4g%$#=q*^`#ilMhI$`nASA*C&Q z=vNu1kWE1R34N|(BObcf08D+!fvQeGUZ#n{^%Te3!(F#8IX4&yZfr!iRT_QimZZgDIg=qG_Ez?}jXP;5+~zLOuWzbyGXYvi=pln6dL)tHT#l zk6La;LxUow(pes%Bde(ZG7>shgFFj~gj_>&ikc{u4M~lYOUzP)FC5Zt<~#(z9S?W6 zr-wx>x3U-MFUindS5K5C1?xJ(BKNt7^p;E=Z&qM9;L%$Zt!A4btheF=FQilH0u5~y z%*hqp1AXnu_xYX7LBoiPbeo)#=o`X{Pio@Piqu<&P`Q60dr4(gcSi7hru6`-J&}fO1(v4oS#0sSA)csNi4y6wJ5;J4QZCiT)xn^x zU5GwA1HS>ac==;(=MzyST1q&+vWfg=PHcB;Xdsa_RyXQ-LxJ^$H~2sS?5yw6+m$$a zeG#$qW+>4R95DEi572NnD_=N0vAP4Yy`j6SbUwsoX3Ta!?6u%3re2w%Y}*~b4gzD6CeoMuK#!%1lJT;t@lI{C zvqwQ0Oye!yd35-q`foz}C8CMiWei(5WA!$W5q z@-2k@*?IQYX#THNqPXk<@#la>{#BO$sR~np@BUJ`!^&3_PvD?Ev;ai@&C6fMK2t9^ zUdUKDLx%H*z5F2eQ~$_WE;OmK(mqj3=IX*xnBn9sxfjv?{2SI5_yqSI>EzB*M*z0j zr4n>?Yy2CGp*Cscgx6J$$d4X9iI>c2KMQgB)}RwDyJ#LrkJUq(!Md|_VB)qCl92*pU#?0=Z3;PZdr;fzi!w#^;0Uu^zOZMTUo0 zfwmFlRmJwk0vDVQ$UsFSBODV1I0Xm%8j7N*uhDRKw$2N#qDK%7_x)4)GHXI0GreWb zuR|K`VX3G409Yww#XCXoroRZLd{1(1tfxSr``R5IreZ0fd)M|&5G_sWKDv6)Y1i|0 zwC(u2>~$V|{%TqJqSjmH%-(?gdMvGj+|TI3p|zOS)j8J(-I?5XR_{dMr$@@uJmdx$ z&_>F$dac3iG#^Pczt(%_SvS>Ae|Wv!hz)uo6!aLE^HFNNiyUS*+us3}G_R@$r#C@1 z0_Y@zvUqGS@={vVr*4nFQ7YC90J|)WrjJfRjk!v|JE!UFo;anOnIgiRNC#Ad+r4aI zT-hmud2bvvs80bT2%@VmN!)A}jcj zmv6u*_OO1$jOyXgR;vGi%>I+}v`v@wld9DdD9DOrG0_rsw#n?>=DH^w4}Tz?*}ac0 zwNs6)@hGkR@}yh`Yq9xlaz~8*{-+4m;{~S$2u7fx?vw=c&DyYU)rXND9+1^lz}73x z!6#8ZXb~AH50MC4&z($(+9Ajs?_&y*N$)|vv$}udhnhzB-c%=w%1p8`MThIw02*d8 z4#-{%FU;MFd$YfNMU|4~K9rB5spv=cet3x?J<&#NQ@~KF&6C7b-Xb{7T}I(|bA{0} zX<(fI00CZSR0uklvf{z*kF=4%57n2Omf^Fd8({ep)Erpb%G&veY%B?Y=xVm6b7I+Wl?tKT3;#r8T0h*>W+}bVS;3eS6+{}XIae7}B zay<9q`zF<;OW(EEy|ZJNiv>dMYPT4l8;O)N_}%+NxQ<$1nS$j!e#<-dJK=K1jbpIQL_`;(up z;{8+I@%m`5TZiTL^M)*Zx5IZWB%}q%0Daj)#`S+WJogt+oMG|WB7k)HL!tlR7bx)# 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%0D;bd8@ICgVjNA-y z8hIYIJJ7kU^4jgI`k(O=2kQ5KsR>m?Ut5Q-yP5rb>{XnrLe|i;j zqIg{r`t!t#@(&T{YA$v^>%rTxY$nqWRB=MC%|57nHgT(r&(E^Jr|pzKtDB(mZx;6q z9?V;PIH_)b)&=6f!x~I(6xy%NYj9%I5B$E8if=d+v#TT&Al*h#MtwujlKb}ag3Vj0 zEae!4>dd_FZcyBy)vp8syX-AQ!UuCnnJ?*(`ciA=WsP{q_w2F+z~ZrFvdt$GSge6+ zR<+5fw&|<&9L6_6=pz4j>S|}YbB1xvL~rlulU3`;n{r>8zHsG*&x&4qT!ZgC2Dl%6 z%Xx7xgaj_jKl|}Av~6&;Ej`!}8_Py_!tzHXNJc@Pn?koXcBkAD`}6OZ8t{ z24snF?(NVfw3ac(oQqx37C*Wz9hzm8S_ot|szJHlal#sVcJfVaMJqSA(*O(r+NpD3 zTjWG7oUBV3++{#!M@-sH;z+@-GrW;{Kh+g@tuwCre0JpZ#N_2mG^dwTqvl-z)cyySbQC|X^TakF&j*Oy z&&SJJu|uNzYu5{qL+a#;%T~~k^GJm?#kk8{IM-vqb!yg$ck$suOa zFB`hdDr7+1nFM}N$8=4RYE>Z*yX+Cf?pf33tc2)E`M}SDr2VaEgx93HOUsxM0*1+Y z=FQcvK=2NB*>9+Z5S~M6SzRnb>`#jQW7@vEH4C_ZhzViATgjdDib?*OF+N^A7(~3y zDo6%Op(u|$8rOWiM;?l^Dq{Gnc=npDFEX5V-<2A=f&yRv44TlXJo=)0ao6F9<@Iq6 zm$L1XACHwvBM;RLyMS0?qGH2KHyjNZuN zpz{m~<8w{gxOa4hTQ|~4+{Kb8qTumK#Dq?YOP!VeE*oq7@FWNMmoUE#2Pev$0Bqa6 zwe!!wXTRJd9K^CO2d^%T94hxu8!W%z&o3fbXX2)Gde_=geSgPEgxgP)mJIw`Ss9am zT@#J}{cYbog&krrPK=!k#$p&P_0$J|5k}=?k&wi%ZkzH~sCsv9v+^!kcTPtQ?k%2; zm52ymmKh^65LR#Pkpm`wwvsQ)E^I}mz;b? zy-@xUCks~!*j9h{9-!zPt_^W%^8n7KnZ^t!s}I9U>?OX5=t{Mk7+N0o?DXoPuIfDe zi*{*TTgL|?xK{Q^{=3MXv%g^+g!hnB=~Z;lo*bK~k=L+kxt1UPg22Z0)Eo|#uvkQJ z2`40bpg&6i@}i7RJ5OKI>-59=)~^x(Lk|>qtxgk1C53Ag`XarE19qqzGkD- zPc`+61#RmEUavL3_vBb+P+0%aS+2jbyKzp6E*W^e~yF5zju&A$6+=oh%Mn@k+g%b7@fo}!l=bzsGry$|@bM*8wcERBkbf5x{ z?XL);2v8R1$~a-VWTPx(w%q-+-OyC=$ILfD)O@U&MXwYUO$wim$rI6&uD>_m;>hvz5DTU39FaT+|kXy!~VP@?-G*?#94)!UHC-LA-*78L}*()&1w* z`;0>FOSGRxqBQ2-svX^|u&SeDhu~oxrCbo%uR{yD^w*-*4`hpT!X>dGwNx1!O(ZS9 zjU5UL?KAjtki+IyTk0OywJkB zw0Nd_>l+mD{`3=Y53+Oso%&;5OD;)Ri^qrJM4#ykec z_TN@n9^2Jf8s;%ZzPq>7Fpd-D&dV0CDc(>0(yu>4UlS);u{QhUrQrpH>MYDq)izK1 zu534ZWvj!PBXGJ$J-S4k)56cs&lTzjej-JO(A4pMw40kyc(9~#

V%r2%t!<<>EWMSmwiEdgi+dD&4U;oY! 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 + + + Tuttle - Git-integration for eXist-db + + + + +

+
+ + + + \ No newline at end of file diff --git a/src/api.json b/src/api.json new file mode 100644 index 0000000..4fe99ed --- /dev/null +++ b/src/api.json @@ -0,0 +1,738 @@ +{ + "openapi": "3.0.0", + "info": { + "version": "1.0.0-pre-2", + "title": "Tuttle API", + "description": "API for Tuttle Git integration" + }, + "servers": [ + { + "description": "Endpoint for testing on localhost", + "url": "http://localhost:8080/exist/apps/tuttle" + } + ], + "components": { + "securitySchemes": { + "basicAuth": { + "type": "http", + "scheme": "basic" + }, + "cookieAuth": { + "type": "apiKey", + "name": "teipublisher.com.login", + "in": "cookie" + } + } + }, + "paths": { + "/git/{collection}": { + "get": { + "summary": "Fetch git repo to staging collection", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:git-pull", + "parameters": [ + { + "name": "hash", + "in": "query", + "required": false, + "schema":{ + "type": "string" + } + }, + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "message":{ + "type": "string" + } + } + } + } + } + } + } + }, + "post": { + "summary": "Deploy repo to final collection", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:git-deploy", + "parameters": [ + { + "name": "pre-install", + "description": "Run pre install function", + "in": "query", + "schema":{ + "type": "boolean", + "default": false + } + }, + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "hash":{ + "type": "string" + } + } + } + } + } + } + } + } + }, + "/git/": { + "get": { + "summary": "Fetch git repo to staging collection", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:git-pull", + "parameters": [ + { + "name": "hash", + "in": "query", + "required": false, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "message":{ + "type": "string" + } + } + } + } + } + } + } + }, + "post": { + "summary": "Deploy repo to final collection", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:git-deploy", + "parameters": [ + { + "name": "pre-install", + "description": "Run pre install function", + "in": "query", + "schema":{ + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "hash":{ + "type": "string" + } + } + } + } + } + } + } + } + }, + "/git/{collection}/incremental": { + "post": { + "summary": "Trigger incremental update", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:incremental", + "parameters": [ + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties" : { + "sha" : { + "type" : "string" + }, + "message" : { + "type" : "string" + } + } + } + } + } + } + } + } + }, + "/git/incremental": { + "post": { + "summary": "Trigger incremental update", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:incremental", + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties" : { + "sha" : { + "type" : "string" + }, + "message" : { + "type" : "string" + } + } + } + } + } + } + } + } + }, + "/git/{collection}/hash":{ + "get": { + "summary": "Get remote and local hash", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:get-hash", + "parameters": [ + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "GIT Hash", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "remote-hash":{ + "type": "string" + }, + "local-hash":{ + "type": "string", + "nullable": true + }, + "local-staging-hash":{ + "type": "string", + "nullable": true + } + } + } + } + } + } + } + } + }, + "/git/hash":{ + "get": { + "summary": "Get remote and local hash", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:get-hash", + "responses": { + "200": { + "description": "GIT Hash", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "remote-hash":{ + "type": "string" + }, + "local-hash":{ + "type": "string", + "nullable": true + }, + "local-staging-hash":{ + "type": "string", + "nullable": true + } + } + } + } + } + } + } + } + }, + "/git/{collection}/commits":{ + "get": { + "summary": "Get commits", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:get-commit", + "parameters": [ + { + "name": "count", + "in": "query", + "required": false, + "schema":{ + "type": "integer" + } + }, + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "GIT commits", + "content": { + "application/json": { + "schema": { + "type": "array" + } + } + } + } + } + } + }, + "/git/commits":{ + "get": { + "summary": "Get commits", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:get-commit", + "parameters": [ + { + "name": "count", + "in": "query", + "required": false, + "schema":{ + "type": "integer" + } + } + ], + "responses": { + "200": { + "description": "GIT commits", + "content": { + "application/json": { + "schema": { + "type": "array" + } + } + } + } + } + } + }, + "/git/{collection}/hook": { + "post": { + "summary": "Trigger incremental update via Gitlab/Github", + "operationId": "api:hook", + "parameters": [ + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "message":{ + "type": "string" + } + } + } + } + } + } + } + } + }, + "/git/hook": { + "post": { + "summary": "Trigger incremental update via Gitlab/Github", + "operationId": "api:hook", + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "message":{ + "type": "string" + } + } + } + } + } + } + } + } + }, + "/git/{collection}/apikey":{ + "get": { + "summary": "Generate API-Webhook-Keys", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:api-keygen", + "parameters": [ + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "APIKey", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "APIKey":{ + "type": "string" + } + } + } + } + } + } + } + } + }, + "/git/apikey":{ + "get": { + "summary": "Generate API-Webhook-Keys", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:api-keygen", + "responses": { + "200": { + "description": "APIKey", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "APIKey":{ + "type": "string" + } + } + } + } + } + } + } + } + }, + "/git/status":{ + "get": { + "summary": "Get Tuttle configuration", + "x-constraints": { + "user": "admin" + }, + "operationId": "api:get-status", + "responses": { + "200": { + "description": "GIT status", + "content": { + "application/xml":{ + "schema": { + "type": "object", + "xml" : { + "name" : "tuttle" + }, + "properties": { + "default":{ + "type": "string" + }, + "repos":{ + "type": "object", + "properties": { + "repo": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "url": { + "type": "string" + }, + "ref": { + "type": "string" + }, + "collection": { + "type": "string" + }, + "status": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + } + } + } + } + }, + "application/json": { + "schema": { + "type": "object", + "properties": { + "default":{ + "type": "string" + }, + "repos":{ + "type": "object", + "properties": { + "repo": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "url": { + "type": "string" + }, + "ref": { + "type": "string" + }, + "collection": { + "type": "string" + }, + "status": { + "type": "string" + }, + "message": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/git/{collection}/lockfile": { + "post": { + "summary": "Remove Lockfile", + "operationId": "api:lock-remove", + "parameters": [ + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "message":{ + "type": "string" + } + } + } + } + } + } + } + }, + "get": { + "summary": "Print Lockfile", + "operationId": "api:lock-print", + "parameters": [ + { + "name": "collection", + "in": "path", + "required": true, + "schema":{ + "type": "string" + } + } + ], + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "message":{ + "type": "string" + } + } + } + } + } + } + } + } + }, + "/git/lockfile": { + "post": { + "summary": "Remove Lockfile", + "operationId": "api:lock-remove", + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "message":{ + "type": "string" + } + } + } + } + } + } + } + }, + "get": { + "summary": "Print Lockfile", + "operationId": "api:lock-print", + "responses": { + "200":{ + "description": "JSON dump of request", + "content": { + "application/json": { + "schema":{ + "type": "object", + "properties": { + "message":{ + "type": "string" + } + } + } + } + } + } + } + } + } + }, + "security": [ + { + "cookieAuth": [] + }, + { + "basicAuth": [] + } + ] +} \ No newline at end of file diff --git a/src/controller.xql b/src/controller.xql new file mode 100644 index 0000000..3a3f0a8 --- /dev/null +++ b/src/controller.xql @@ -0,0 +1,102 @@ +xquery version "3.0"; +import module namespace login="http://exist-db.org/xquery/login" at "resource:org/exist/xquery/modules/persistentlogin/login.xql"; + +declare variable $exist:path external; +declare variable $exist:resource external; +declare variable $exist:controller external; +declare variable $exist:prefix external; +declare variable $exist:root external; + +if ($exist:path eq "") then + + + + +(: forward root path to index.xql :) +else if ($exist:path eq "/") then + + + +else if ($exist:resource eq 'login') then + let $loggedIn := login:set-user("org.exist.login", (), false()) + let $user := request:get-attribute("org.exist.login.user") + return ( + util:declare-option("exist:serialize", "method=json"), + try { + + {$user} + { + if ($user) then ( + for $item in sm:get-user-groups($user) return {$item}, + {sm:is-dba($user)} + ) else + () + } + + } catch * { + response:set-status-code(401), + {$err:description} + } + ) + +(: static HTML page for API documentation should be served directly to make sure it is always accessible :) +else if ($exist:path eq "/index.html") then + + + +else if ($exist:path eq "/data/tuttle.xml") then + + + + + +else if ($exist:path eq "/api.html" or ends-with($exist:resource, "json")) then + + + +(: other images are resolved against the data collection and also returned directly :) +else if (matches($exist:resource, "\.(css)$", "s")) then + + + +else if (matches($exist:resource, "\.(js)$", "s")) then + + + +else if (matches($exist:resource, "\.(png)$", "s")) then + + +else if (matches($exist:resource, "\.(svg)$", "s")) then + + + +else if (matches($exist:resource, "\.(png|jpg|jpeg|gif|tif|tiff|txt|mei|js)$", "s")) then + + + + + + +(: use a different Open API router, needs exist-jwt installed! :) +else if (starts-with($exist:path, '/jwt')) then + + + + + + + + + + +(: all other requests are passed on the Open API router :) +else + + + + + + + + + \ No newline at end of file diff --git a/src/data/tuttle.xml b/src/data/tuttle.xml new file mode 100644 index 0000000..e552ca7 --- /dev/null +++ b/src/data/tuttle.xml @@ -0,0 +1,7 @@ + + sample-collection-github + + + + + \ No newline at end of file diff --git a/src/demo.css b/src/demo.css new file mode 100644 index 0000000..05761c7 --- /dev/null +++ b/src/demo.css @@ -0,0 +1,68 @@ +@import 'vars.css'; +@import 'fore.css'; +body { + padding:20px; + font-family: 'Roboto', 'Noto', sans-serif; + /*background: var(--paper-orange-300);*/ + background: var(--google-green-300); +} +code{ + font-weight: 700; + white-space: nowrap; + padding:0 0.3rem; +} +h1{ + /*color:var(--paper-orange-900);*/ + color:var(--google-green-500); +} +h2{ + /*color:var(--paper-orange-800);*/ + color:var(--google-green-500); +} +#modalMessage{ + background:orange; +} +#modalMessage .dialogActions{ + text-align:center; +} +.note{ + /*background: var(--paper-amber-300);*/ + background: var(--google-green-100); + padding:10px; +} +p{ + font-size:1.4rem; + font-weight: 300; +} +.wrapper{ + max-width: 800px; + margin:0 auto; + padding:1rem; +} + +a, a:link, a:visited { + color:var(--google-green-700); +} + +.wrapper:before{ + content:'Fore'; + position: fixed; + left:60%; + transform: rotate(325deg) translateY(-50%) translateX(-50%); + top:0; + font-size:1024px; + z-index: -1; + opacity: 0.06; + color:var(--google-green-900); +} + +.wrapper{ + width:80%; + height:auto; + max-width:1200px; + margin: 0 auto; + background: var(--google-green-100); + opacity: 0.95; + position: relative; + min-height:80vh; +} diff --git a/src/expath-pkg.xml b/src/expath-pkg.xml new file mode 100644 index 0000000..0328745 --- /dev/null +++ b/src/expath-pkg.xml @@ -0,0 +1,11 @@ + + + Tuttle - Git for eXist-db + + + + + diff --git a/src/fore.css b/src/fore.css new file mode 100644 index 0000000..f388436 --- /dev/null +++ b/src/fore.css @@ -0,0 +1,41 @@ +@import 'toastify.css'; + +[unresolved]{ + display: none; +} + +fx-alert{ + color:darkred; + font-size: 0.9rem; +} + +fx-model, fx-model *, fx-model ::slotted(fx-instance), fx-instance{ + display:none; +} + +fx-control{ + white-space: nowrap; +} +.required:after { + content: '*'; + color: red; + padding-left: 4px; +} + +fx-control [required]:after { + content: "*"; + display: inline; + color: red; +} +.logtree details{ + padding:0.1rem 1rem; + margin:0; +} +.logtree details summary{ + +} + +.vertical label{ + display: block; +} + diff --git a/src/index.html b/src/index.html new file mode 100644 index 0000000..8c96956 --- /dev/null +++ b/src/index.html @@ -0,0 +1,211 @@ + + + + + Tuttle Dashboard + + + + + + +
+ +
+ +

+ Tuttle Git DashboardAPI

+ + + + + + + + + + + + + + + {} + + + + + + + + + + + + + + + + + + + + + Login failed + + + + + + + loaded + + + + + loaded + + + + + + + + fetching data... + progress-wrapper + + + Data fetched + + + + + + + + + + + Data deployed to database + + + + + + + + + + + progress-wrapper + + + + incremental update done + + + + + + + + return btoa(encodeURI($input)); + + + + +
+ +
+ +
+ + + +
+ +
+
+ + + + + + + + Documentation +

Git to DBimport data from Git into eXist-db

+

Git Repositories

+ + + +
+
+
+
+ + + +
+ + \ No newline at end of file diff --git a/src/js/fore-debug.js b/src/js/fore-debug.js new file mode 100644 index 0000000..28d616b --- /dev/null +++ b/src/js/fore-debug.js @@ -0,0 +1,140 @@ +function e(e,t,n,r){const a={op:t,func:n,data:r};return e.push(a),a}function t(e,t){return e}class n{constructor(){this.program=[]}test(t,n){return e(this.program,5,t,void 0===n?null:n)}jump(t){return e(this.program,3,null,t)}record(n,r){return e(this.program,4,void 0===r?t:r,n)}bad(t=1){return e(this.program,1,null,t)}accept(){return e(this.program,0,null,null)}fail(t){return e(this.program,2,t||null,null)}}class r{constructor(e,t,n){this.programLength=e,this.maxFromByPc=t,this.maxSurvivorFromByPc=n}static fromProgram(e){const t=e.length,n=[],a=[];return e.forEach(e=>{n.push(0),a.push(0)}),e.forEach((e,r)=>{switch(e.op){case 2:if(null===e.func)return;if(r+1>=t)throw new Error("Invalid program: program could run past end");n[r+1]+=1;break;case 1:case 4:if(r+1>=t)throw new Error("Invalid program: program could run past end");n[r+1]+=1;break;case 3:e.data.forEach(e=>{if(e<0||e>=t)throw new Error("Invalid program: program could run past end");n[e]+=1});break;case 5:if(r+1>=t)throw new Error("Invalid program: program could run past end");a[r+1]+=1;break;case 0:a[r]+=1}}),new r(t,n,a)}static createStub(e){const t=[],n=[];for(let r=0;r0}}class i{constructor(e){this.t=0,this.i=0,this.h=new Uint16Array(e),this.l=new Uint8Array(e)}getBadness(e){return this.l[e]}add(e,t){this.l[e]=t>255?255:t;const n=function(e,t,n,r,a){let i=r,o=a;for(;i>>1;n255?255:t);if(this.l[e]!==n){const t=this.h.indexOf(e,this.i);if(t<0||t>=this.t)return void(this.l[e]=n);this.h.copyWithin(t,t+1,this.t),this.t-=1,this.add(e,n)}}getNextPc(){return this.i>=this.t?null:this.h[this.i++]}reset(){this.t=0,this.i=0,this.l.fill(0)}}class o{constructor(e){this.o=[];let t=e.length;e.forEach(e=>{this.o.push(e>0?t:-1),t+=e}),this.u=new Uint16Array(t)}clear(){this.u.fill(0,0,this.o.length)}add(e,t){const n=this.u[t],r=this.o[t];this.u[t]+=1,this.u[r+n]=e}has(e){return this.u[e]>0}forEach(e,t){const n=this.u[e],r=this.o[e];for(let e=r;e{const n=this.trace(t,r,a,i);var u,l,c;l=n,c=o,e=null===(u=e)?l:null===l?u:Array.isArray(l)?l.reduce((e,t)=>s(e,t,e===l),u):s(u,l,c),o=e===n}),e}trace(e,t,n,r){switch(this.p[e]){case 2:return this.v[e];case 1:return null}this.p[e]=1;let a=null;const i=t[e];if(null!==i)a=i;else if(!n.has(e))throw new Error("Trace without source at pc "+e);if(a=this.mergeTraces(a,e,n,t,n,r),null!==a){const t=r[e];null!==t&&(a=l(a,t))}return this.v[e]=a,this.p[e]=2,a}buildSurvivorTraces(e,t,n,r,a){for(let i=0,o=e.length;is(e,this.k[t]),null);return null===t?[]:Array.isArray(t)?t:[t]}}class h{constructor(e){this.I=[],this.N=new i(e.programLength),this.M=new i(e.programLength),this.P=new p(e)}reset(){this.N.reset(),this.N.add(0,0),this.I.length=0,this.P.reset(!0)}getNextThreadPc(){return this.N.getNextPc()}step(e,t,n){const r=this.P.has(t);this.P.add(e,t);const a=this.N.getBadness(e)+n;r?this.N.reschedule(t,a):this.N.add(t,a)}stepToNextGeneration(e,t){const n=this.P.hasSurvivor(t);this.P.addSurvivor(e,t);const r=this.N.getBadness(e);n?this.M.reschedule(t,r):this.M.add(t,r)}accept(e){this.I.push(e),this.P.addSurvivor(e,e)}fail(e){}record(e,t){this.P.record(e,t)}nextGeneration(){this.P.buildSurvivorTraces(),this.P.reset(!1);const e=this.N;e.reset(),this.N=this.M,this.M=e}getAcceptingTraces(){return this.P.getTraces(this.I)}}class f{constructor(e){this.U=[],this.G=e,this.V=r.fromProgram(e),this.U.push(new h(this.V))}execute(e,t){const n=this.U.pop()||new h(this.V);n.reset();const r=e.length;let i,o=-1;do{let a=n.getNextThreadPc();if(null===a)break;for(++o,i=o>=r?null:e[o];null!==a;){const e=this.G[a];switch(e.op){case 0:null===i?n.accept(a):n.fail(a);break;case 2:{const r=e.func;if(null===r||r(t)){n.fail(a);break}n.step(a,a+1,0);break}case 1:n.step(a,a+1,e.data);break;case 5:if(null===i){n.fail(a);break}if(!(0,e.func)(i,e.data,t)){n.fail(a);break}n.stepToNextGeneration(a,a+1);break;case 3:{const t=e.data,r=t.length;if(0===r){n.fail(a);break}for(let e=0;et===e}function m(e,t){if(null===e||null===t)throw new Error("unescaped hyphen may not be used as a range endpoint");if(te<=n&&n<=t}function v(e){return!0}function g(){return!1}function y(e,t){return n=>e(n)||t(n)}function w(e,t){switch(t.kind){case"predicate":return void e.test(t.value);case"regexp":return void A(e,t.value,!1)}}function A(e,t,n){const r=e.program.length,a=e.jump([]);n&&(a.data.push(e.program.length),e.test(()=>!0),e.jump([r]));const i=[];if(t.forEach(t=>{a.data.push(e.program.length),function(e,t){t.forEach(t=>{!function(e,t){const[n,{min:r,max:a}]=t;if(null!==a){for(let t=0;t0){for(let t=0;t{t.data.push(e.program.length)}),n){const t=e.program.length,n=e.jump([]);n.data.push(e.program.length),e.test(()=>!0),e.jump([t]),n.data.push(e.program.length)}}function x(e,t){return{success:!0,offset:e,value:t}}function b(e){return x(e,void 0)}function E(e,t,n=!1){return{success:!1,offset:e,expected:t,fatal:n}}function B(e){return(t,n)=>{const r=n+e.length;return t.slice(n,r)===e?x(r,e):E(n,[e])}}function N(e,t){return(n,r)=>{const a=e(n,r);return a.success?x(a.offset,t(a.value)):a}}function C(e,t,n){return(r,a)=>{const i=e(r,a);return i.success?t(i.value)?i:E(a,n):i.offset===a?E(a,n):i}}function T(e){return(t,n)=>{let r=null;for(const a of e){const e=a(t,n);if(e.success)return e;if(null===r||e.offset>r.offset?r=e:e.offset===r.offset&&(r.expected=r.expected.concat(e.expected)),e.fatal)break}return r||E(n,[])}}function I(e){return(t,n)=>{const r=e(t,n);return r.success||r.fatal?r:x(n,null)}}function O(e){return(t,n)=>{let r=[],a=n;for(;;){const n=e(t,a);if(!n.success){if(n.fatal)return n;break}r.push(n.value),a=n.offset}return x(a,r)}}function S(e,t,n){return(r,a)=>{const i=e(r,a);if(!i.success)return i;const o=t(r,i.offset);return o.success?x(o.offset,n(i.value,o.value)):o}}function D(e){return S(e,O(e),(e,t)=>[e].concat(t))}function R(e,t){return e}function G(e,t){return t}function M(e,t){return S(e,t,G)}function U(e,t){return S(e,t,R)}function F(e,t,n,r=!1){return M(e,r?H(U(t,n)):U(t,n))}function P(e,t){return(n,r)=>e(n,r).success?E(r,t):b(r)}function H(e){return(t,n)=>{const r=e(t,n);return r.success?r:E(r.offset,r.expected,!0)}}const j=(e,t)=>e.length===t?b(t):E(t,["end of input"]),X=["Lu","Ll","Lt","Lm","Lo","Mn","Mc","Me","Nd","Nl","No","Pc","Pd","Ps","Pe","Pi","Pf","Po","Zs","Zl","Zp","Sm","Sc","Sk","So","Cc","Cf","Co","Cn"],_={};function L(e){return e.codePointAt(0)}"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach((e,t)=>{_[e]=t});const k=e=>-1===e||-2===e;function Y(e){return t=>!k(t)&&!e(t)}function q(e,t){return null===t?e:n=>e(n)&&!t(n)}const V=function(e,t){const n=new Map;let r=0;return["BasicLatin","Latin-1Supplement","LatinExtended-A","LatinExtended-B","IPAExtensions","SpacingModifierLetters","CombiningDiacriticalMarks","GreekandCoptic|Greek","Cyrillic","CyrillicSupplement","Armenian","Hebrew","Arabic","Syriac","ArabicSupplement","Thaana","NKo","Samaritan","Mandaic","SyriacSupplement",null,"ArabicExtended-A","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","HangulJamo","Ethiopic","EthiopicSupplement","Cherokee","UnifiedCanadianAboriginalSyllabics","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","UnifiedCanadianAboriginalSyllabicsExtended","Limbu","TaiLe","NewTaiLue","KhmerSymbols","Buginese","TaiTham","CombiningDiacriticalMarksExtended","Balinese","Sundanese","Batak","Lepcha","OlChiki","CyrillicExtended-C","GeorgianExtended","SundaneseSupplement","VedicExtensions","PhoneticExtensions","PhoneticExtensionsSupplement","CombiningDiacriticalMarksSupplement","LatinExtendedAdditional","GreekExtended","GeneralPunctuation","SuperscriptsandSubscripts","CurrencySymbols","CombiningDiacriticalMarksforSymbols|CombiningMarksforSymbols","LetterlikeSymbols","NumberForms","Arrows","MathematicalOperators","MiscellaneousTechnical","ControlPictures","OpticalCharacterRecognition","EnclosedAlphanumerics","BoxDrawing","BlockElements","GeometricShapes","MiscellaneousSymbols","Dingbats","MiscellaneousMathematicalSymbols-A","SupplementalArrows-A","BraillePatterns","SupplementalArrows-B","MiscellaneousMathematicalSymbols-B","SupplementalMathematicalOperators","MiscellaneousSymbolsandArrows","Glagolitic","LatinExtended-C","Coptic","GeorgianSupplement","Tifinagh","EthiopicExtended","CyrillicExtended-A","SupplementalPunctuation","CJKRadicalsSupplement","KangxiRadicals",null,"IdeographicDescriptionCharacters","CJKSymbolsandPunctuation","Hiragana","Katakana","Bopomofo","HangulCompatibilityJamo","Kanbun","BopomofoExtended","CJKStrokes","KatakanaPhoneticExtensions","EnclosedCJKLettersandMonths","CJKCompatibility","CJKUnifiedIdeographsExtensionA","YijingHexagramSymbols","CJKUnifiedIdeographs","YiSyllables","YiRadicals","Lisu","Vai","CyrillicExtended-B","Bamum","ModifierToneLetters","LatinExtended-D","SylotiNagri","CommonIndicNumberForms","Phags-pa","Saurashtra","DevanagariExtended","KayahLi","Rejang","HangulJamoExtended-A","Javanese","MyanmarExtended-B","Cham","MyanmarExtended-A","TaiViet","MeeteiMayekExtensions","EthiopicExtended-A","LatinExtended-E","CherokeeSupplement","MeeteiMayek","HangulSyllables","HangulJamoExtended-B","HighSurrogates","HighPrivateUseSurrogates","LowSurrogates","PrivateUseArea|PrivateUse","CJKCompatibilityIdeographs","AlphabeticPresentationForms","ArabicPresentationForms-A","VariationSelectors","VerticalForms","CombiningHalfMarks","CJKCompatibilityForms","SmallFormVariants","ArabicPresentationForms-B","HalfwidthandFullwidthForms","Specials","LinearBSyllabary","LinearBIdeograms","AegeanNumbers","AncientGreekNumbers","AncientSymbols","PhaistosDisc",null,"Lycian","Carian","CopticEpactNumbers","OldItalic","Gothic","OldPermic","Ugaritic","OldPersian",null,"Deseret","Shavian","Osmanya","Osage","Elbasan","CaucasianAlbanian",null,"LinearA",null,"CypriotSyllabary","ImperialAramaic","Palmyrene","Nabataean",null,"Hatran","Phoenician","Lydian",null,"MeroiticHieroglyphs","MeroiticCursive","Kharoshthi","OldSouthArabian","OldNorthArabian",null,"Manichaean","Avestan","InscriptionalParthian","InscriptionalPahlavi","PsalterPahlavi",null,"OldTurkic",null,"OldHungarian","HanifiRohingya",null,"RumiNumeralSymbols",null,"OldSogdian","Sogdian",null,"Elymaic","Brahmi","Kaithi","SoraSompeng","Chakma","Mahajani","Sharada","SinhalaArchaicNumbers","Khojki",null,"Multani","Khudawadi","Grantha",null,"Newa","Tirhuta",null,"Siddham","Modi","MongolianSupplement","Takri",null,"Ahom",null,"Dogra",null,"WarangCiti",null,"Nandinagari","ZanabazarSquare","Soyombo",null,"PauCinHau",null,"Bhaiksuki","Marchen",null,"MasaramGondi","GunjalaGondi",null,"Makasar",null,"TamilSupplement","Cuneiform","CuneiformNumbersandPunctuation","EarlyDynasticCuneiform",null,"EgyptianHieroglyphs","EgyptianHieroglyphFormatControls",null,"AnatolianHieroglyphs",null,"BamumSupplement","Mro",null,"BassaVah","PahawhHmong",null,"Medefaidrin",null,"Miao",null,"IdeographicSymbolsandPunctuation","Tangut","TangutComponents",null,"KanaSupplement","KanaExtended-A","SmallKanaExtension","Nushu",null,"Duployan","ShorthandFormatControls",null,"ByzantineMusicalSymbols","MusicalSymbols","AncientGreekMusicalNotation",null,"MayanNumerals","TaiXuanJingSymbols","CountingRodNumerals",null,"MathematicalAlphanumericSymbols","SuttonSignWriting",null,"GlagoliticSupplement",null,"NyiakengPuachueHmong",null,"Wancho",null,"MendeKikakui",null,"Adlam",null,"IndicSiyaqNumbers",null,"OttomanSiyaqNumbers",null,"ArabicMathematicalAlphabeticSymbols",null,"MahjongTiles","DominoTiles","PlayingCards","EnclosedAlphanumericSupplement","EnclosedIdeographicSupplement","MiscellaneousSymbolsandPictographs","Emoticons","OrnamentalDingbats","TransportandMapSymbols","AlchemicalSymbols","GeometricShapesExtended","SupplementalArrows-C","SupplementalSymbolsandPictographs","ChessSymbols","SymbolsandPictographsExtended-A",null,"CJKUnifiedIdeographsExtensionB",null,"CJKUnifiedIdeographsExtensionC","CJKUnifiedIdeographsExtensionD","CJKUnifiedIdeographsExtensionE","CJKUnifiedIdeographsExtensionF",null,"CJKCompatibilityIdeographsSupplement",null,"Tags",null,"VariationSelectorsSupplement",null,"SupplementaryPrivateUseArea-A|PrivateUse","SupplementaryPrivateUseArea-B|PrivateUse"].forEach((e,a)=>{const i=t[a];null!==e&&e.split("|").forEach(e=>{const t=n.get(e),a=m(r,r+i-1);n.set(e,t?y(t,a):a)}),r+=i}),n}(0,[128,128,128,208,96,80,112,144,256,48,96,112,256,80,48,64,64,64,32,16,48,96,128,128,128,128,128,128,128,128,128,128,128,128,256,160,96,256,384,32,96,640,32,96,32,32,32,32,128,176,80,80,48,96,32,32,144,80,128,64,64,80,48,16,48,16,48,128,64,64,256,256,112,48,48,48,80,64,112,256,256,64,32,160,128,32,96,256,192,48,16,256,128,128,256,256,96,32,128,48,80,96,32,128,128,224,16,16,64,96,96,48,96,16,32,48,16,256,256,6592,64,20992,1168,64,48,320,96,96,32,224,48,16,64,96,32,48,48,32,96,32,96,32,96,32,48,64,80,64,11184,80,896,128,1024,6400,512,80,688,16,16,16,32,32,144,240,16,128,128,64,80,64,48,128,32,64,32,48,32,48,32,64,32,80,48,48,80,48,64,144,384,128,64,32,32,48,48,32,32,32,64,32,96,96,32,32,32,64,64,32,32,48,80,80,48,128,64,288,32,128,48,64,112,32,128,80,48,80,48,96,32,80,48,48,80,128,128,128,96,160,128,96,32,80,48,64,192,80,80,96,160,96,80,96,16,64,256,112,80,64,96,80,304,32,192,64,1024,128,208,2736,1072,16,4032,640,8576,576,48,96,48,144,688,96,96,160,64,32,6144,768,9472,256,48,64,400,2304,160,16,4944,256,256,80,144,32,96,32,128,1024,688,1360,48,208,80,368,64,1280,224,32,96,784,80,64,80,176,256,256,48,112,96,256,256,768,80,48,128,128,128,256,256,112,144,1280,42720,32,4160,224,5776,7488,3088,544,722400,128,128,240,65040,65536,65536]),J=function(e){const t=new Map,n="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".split(""),r=X.map(()=>[]);let a=0,i=0;for(;i{const a=r[n].reduce(y,g);t.set(e,a);const i=e.charAt(0),s=o.get(i)||[];o.set(i,s),s.push(a)}),o.forEach((e,n)=>{t.set(n,e.reduce(y,g))}),t}();function Q(e){return 32===e||9===e||10===e||13===e}const K=[d(L(":")),m(L("A"),L("Z")),d(L("_")),m(L("a"),L("z")),m(192,214),m(216,246),m(192,214),m(216,246),m(248,767),m(880,893),m(895,8191),m(8204,8205),m(8304,8591),m(11264,12271),m(12289,55295),m(63744,64975),m(65008,65533),m(65536,983039)].reduce(y),Z=[K,d(L("-")),d(L(".")),m(L("0"),L("9")),d(183),m(768,879),m(8255,8256)].reduce(y),z=J.get("Nd"),W=Y(z),$=q(m(0,1114111),[J.get("P"),J.get("Z"),J.get("C")].reduce(y)),ee=Y($);function te(e){return 10!==e&&13!==e&&!k(e)}const ne={s:Q,S:Y(Q),i:K,I:Y(K),c:Z,C:Y(Z),d:z,D:W,w:$,W:ee},re=B("*"),ae=B("\\"),ie=B("{"),oe=B("}"),se=B("["),ue=B("]"),le=B("^"),ce=B("$"),pe=B(","),he=B("-"),fe=B("("),de=B(")"),me=B("."),ve=B("|"),ge=B("+"),ye=B("?"),we=B("-["),Ae=L("0");function xe(e){function t(e){return new Set(e.split("").map(e=>L(e)))}function n(e,t){const n=e.codePointAt(t);return void 0===n?E(t,["any character"]):x(t+String.fromCodePoint(n).length,n)}const r="xpath"===e.language?M(ae,T([N(B("n"),()=>10),N(B("r"),()=>13),N(B("t"),()=>9),N(T([ae,ve,me,he,le,ye,re,ge,ie,oe,ce,fe,de,se,ue]),e=>L(e))])):M(ae,T([N(B("n"),()=>10),N(B("r"),()=>13),N(B("t"),()=>9),N(T([ae,ve,me,he,le,ye,re,ge,ie,oe,fe,de,se,ue]),e=>L(e))]));function a(e,r){const a=t(r);return S(B(e),I(C(n,e=>a.has(e),r.split(""))),(e,t)=>function(e){const t=J.get(e);if(null==t)throw new Error(e+" is not a valid unicode category");return t}(null===t?e:e+String.fromCodePoint(t)))}const i=T([a("L","ultmo"),a("M","nce"),a("N","dlo"),a("P","cdseifo"),a("Z","slp"),a("S","mcko"),a("C","cfon")]),o=[m(L("a"),L("z")),m(L("A"),L("Z")),m(L("0"),L("9")),d(45)].reduce(y),s=T([i,N(M(B("Is"),function(e){return(t,n)=>{const r=e(t,n);return r.success?x(r.offset,t.slice(n,r.offset)):r}}(D(C(n,o,["block identifier"])))),t=>function(e,t){const n=V.get(e);if(void 0===n){if(t)return v;throw new Error(`The unicode block identifier "${e}" is not known.`)}return n}(t,"xpath"!==e.language))]),u=F(B("\\p{"),s,oe,!0),l=N(F(B("\\P{"),s,oe,!0),Y),c=M(ae,N(T("sSiIcCdDwW".split("").map(e=>B(e))),e=>ne[e])),p=N(me,()=>te),h=T([c,u,l]),f=t("\\[]"),g=T([r,C(n,e=>!f.has(e),["unescaped character"])]),w=T([N(he,()=>null),g]),A=S(w,M(he,w),m);function b(e,t){return[e].concat(t||[])}const G=N(function(e){return(t,n)=>{const r=e(t,n);return r.success?x(n,r.value):r}}(T([ue,we])),()=>null),X=L("-"),_=T([N(U(U(he,P(se,["not ["])),G),()=>X),M(P(he,["not -"]),g)]),k=T([S(N(_,d),T([function(e,t){return k(e,t)},G]),b),S(T([A,h]),T([K,G]),b)]),Q=T([S(N(g,d),T([k,G]),b),S(T([A,h]),T([K,G]),b)]);function K(e,t){return Q(e,t)}const Z=N(Q,e=>e.reduce(y)),z=N(M(le,Z),Y),W=S(T([M(P(le,["not ^"]),Z),z]),I(M(he,(function(e,t){return $(e,t)}))),q),$=F(se,W,ue,!0),ee="xpath"===e.language?T([N(r,d),h,$,p,N(le,()=>e=>-1===e),N(ce,()=>e=>-2===e)]):T([N(r,d),h,$,p]),xe="xpath"===e.language?t(".\\?*+{}()|^$[]"):t(".\\?*+{}()|[]"),be=C(n,e=>!xe.has(e),["NormalChar"]),Ee=N(M(ae,S(N(C(n,m(L("1"),L("9")),["digit"]),e=>e-Ae),O(N(C(n,m(Ae,L("9")),["digit"]),e=>e-Ae)),(e,t)=>{t.reduce((e,t)=>10*e+t,e)})),e=>{throw new Error("Backreferences in XPath patterns are not yet implemented.")}),Be="xpath"===e.language?T([N(be,e=>({kind:"predicate",value:d(e)})),N(ee,e=>({kind:"predicate",value:e})),N(F(fe,M(I(B("?:")),Se),de,!0),e=>({kind:"regexp",value:e})),Ee]):T([N(be,e=>({kind:"predicate",value:d(e)})),N(ee,e=>({kind:"predicate",value:e})),N(F(fe,Se,de,!0),e=>({kind:"regexp",value:e}))]),Ne=N(D(N(C(n,m(Ae,L("9")),["digit"]),e=>e-Ae)),e=>e.reduce((e,t)=>10*e+t)),Ce=T([S(Ne,M(pe,Ne),(e,t)=>{if(t({min:e,max:null})),N(Ne,e=>({min:e,max:e}))]),Te="xpath"===e.language?S(T([N(ye,()=>({min:0,max:1})),N(re,()=>({min:0,max:null})),N(ge,()=>({min:1,max:null})),F(ie,Ce,oe,!0)]),I(ye),(e,t)=>e):T([N(ye,()=>({min:0,max:1})),N(re,()=>({min:0,max:null})),N(ge,()=>({min:1,max:null})),F(ie,Ce,oe,!0)]),Ie=O(S(Be,N(I(Te),e=>null===e?{min:1,max:1}:e),(e,t)=>[e,t])),Oe=S(Ie,O(M(ve,H(Ie))),(e,t)=>[e].concat(t));function Se(e,t){return Oe(e,t)}const De=function(e){return S(e,j,R)}(Oe);return function(e){let t;try{t=De(e,0)}catch(t){throw new Error(`Error parsing pattern "${e}": ${t.message}`)}return t.success?t.value:function(e,t,n){const r=n.map(e=>`"${e}"`);throw new Error(`Error parsing pattern "${e}" at offset ${t}: expected ${r.length>1?"one of "+r.join(", "):r[0]} but found "${e.slice(t,t+1)}"`)}(e,t.offset,t.expected)}}function be(e){return[...e].map(e=>e.codePointAt(0))}const Ee=function(e){const t={};var n;function r(e){var t=0;return function(){return tn.length?a?1:-1:t.lengthn?a?1:-1:t(t=r.padEnd(t,"0"))?a?1:-1:nD(e,t)},zc:function(e,t){return 0>D(e,t)},sa:function(e,t){return-1e||1342177279>>=1)&&(t+=t);return n}})),o("String.prototype.padEnd",(function(e){return e||function(e,t){var n=C(this,null,"padStart");return n+T(t,e-n.length)}})),o("WeakMap",(function(e){function t(e){if(this.h=(l+=Math.random()+1).toString(),e){e=u(e);for(var t;!(t=e.next()).done;)t=t.value,this.set(t[0],t[1])}}function n(){}function r(e){var t=typeof e;return"object"===t&&null!==e||"function"===t}function i(e){if(!B(e,s)){var t=new n;a(e,s,{value:t})}}function o(e){var t=Object[e];t&&(Object[e]=function(e){return e instanceof n?e:(Object.isExtensible(e)&&i(e),t(e))})}if(function(){if(!e||!Object.seal)return!1;try{var t=Object.seal({}),n=Object.seal({}),r=new e([[t,2],[n,3]]);return 2==r.get(t)&&3==r.get(n)&&(r.delete(t),r.set(n,4),!r.has(t)&&4==r.get(n))}catch(e){return!1}}())return e;var s="$jscomp_hidden_"+Math.random();o("freeze"),o("preventExtensions"),o("seal");var l=0;return t.prototype.set=function(e,t){if(!r(e))throw Error("Invalid WeakMap key");if(i(e),!B(e,s))throw Error("WeakMap key fail: "+e);return e[s][this.h]=t,this},t.prototype.get=function(e){return r(e)&&B(e,s)?e[s][this.h]:void 0},t.prototype.has=function(e){return r(e)&&B(e,s)&&B(e[s],this.h)},t.prototype.delete=function(e){return!!(r(e)&&B(e,s)&&B(e[s],this.h))&&delete e[s][this.h]},t})),o("Map",(function(e){function t(){var e={};return e.Ba=e.next=e.head=e}function n(e,t){var n=e.h;return s((function(){if(n){for(;n.head!=e.h;)n=n.Ba;for(;n.next!=n.head;)return n=n.next,{done:!1,value:t(n)};n=null}return{done:!0,value:void 0}}))}function r(e,t){var n=t&&typeof t;"object"==n||"function"==n?i.has(t)?n=i.get(t):(n=""+ ++o,i.set(t,n)):n="p_"+t;var r=e.o[n];if(r&&B(e.o,n))for(e=0;e=a}})),o("Array.prototype.fill",(function(e){return e||function(e,t,n){var r=this.length||0;for(0>t&&(t=Math.max(0,r+t)),(null==n||n>r)&&(n=r),0>(n=Number(n))&&(n=Math.max(0,r+n)),t=Number(t||0);t(t=t||0)&&(t=Math.max(t+r,0));te?-t:t}})),o("Number.isFinite",(function(e){return e||function(e){return"number"==typeof e&&(!isNaN(e)&&1/0!==e&&-1/0!==e)}})),o("String.prototype.padStart",(function(e){return e||function(e,t){var n=C(this,null,"padStart");return T(t,e-n.length)+n}})),o("Array.prototype.keys",(function(e){return e||function(){return S(this,(function(e){return e}))}})),o("Number.isInteger",(function(e){return e||function(e){return!!Number.isFinite(e)&&e===Math.floor(e)}})),o("Number.isSafeInteger",(function(e){return e||function(e){return Number.isInteger(e)&&Math.abs(e)<=Number.MAX_SAFE_INTEGER}})),o("Array.prototype.findIndex",(function(e){return e||function(e,t){return I(this,e,t).Hb}})),o("String.prototype.endsWith",(function(e){return e||function(e,t){var n=C(this,e,"endsWith");void 0===t&&(t=n.length),t=Math.max(0,Math.min(0|t,n.length));for(var r=e.length;0=r}})),o("String.fromCodePoint",(function(e){return e||function(e){for(var t="",n=0;nr||1114111=r?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode(r>>>10&1023|55296),t+=String.fromCharCode(1023&r|56320))}return t}})),o("String.prototype.codePointAt",(function(e){return e||function(e){var t=C(this,null,"codePointAt"),n=t.length;if(0<=(e=Number(e)||0)&&er||56319(e=t.charCodeAt(e+1))||57343=e.length?Z:z(e[t])}}}function ee(){this.value={next:function(){return Z}}}function te(e){var t=e.value;if(W(e.type,53))return!0;if(W(e.type,0))return t;if(W(e.type,1)||W(e.type,20)||W(e.type,19))return 0!==t.length;if(W(e.type,2))return!isNaN(t)&&0!==t;throw Q()}function ne(e,t){var n=this;this.J=se,this.value={next:function(t){return null!==n.o&&n.h>=n.o?Z:void 0!==n.B[n.h]?z(n.B[n.h++]):(t=e.next(t)).done?(n.o=n.h,t):((n.v||2>n.h)&&(n.B[n.h]=t.value),n.h++,t)}},this.v=!1,this.B=[],this.h=0,this.o=void 0===t?null:t}function re(e,t){e.h=void 0===t?0:t}function ae(e){this.B=se,this.h=e;var t=!1;this.value={next:function(){return t?Z:(t=!0,z(e))}},this.o=null}(n=$.prototype).pb=function(){return this},n.filter=function(e){var t=this,n=-1;return this.o.create({next:function(){for(n++;n=t.h.length?Z:z(t.h[n])}})},n.first=function(){return this.h[0]},n.S=function(){return this.h},n.getEffectiveBooleanValue=function(){if(W(this.h[0].type,53))return!0;throw Q()},n.ya=function(){return this.h.length},n.F=function(){return!1},n.za=function(){return!1},n.map=function(e){var t=this,n=-1;return this.o.create({next:function(){return++n>=t.h.length?Z:z(e(t.h[n],n,t))}},this.h.length)},n.M=function(e){return e(this.h)},n.aa=function(e){return e.multiple?e.multiple(this):e.default(this)},(n=ee.prototype).pb=function(){return this},n.filter=function(){return this},n.first=function(){return null},n.S=function(){return[]},n.getEffectiveBooleanValue=function(){return!1},n.ya=function(){return 0},n.F=function(){return!0},n.za=function(){return!1},n.map=function(){return this},n.M=function(e){return e([])},n.aa=function(e){return e.empty?e.empty(this):e.default(this)},(n=ne.prototype).pb=function(){return this.J.create(this.S())},n.filter=function(e){var t=this,n=-1,r=this.value;return this.J.create({next:function(a){n++;for(var i=r.next(a);!i.done&&!e(i.value,n,t);)n++,i=r.next(a);return i}})},n.first=function(){if(void 0!==this.B[0])return this.B[0];var e=this.value.next(0);return re(this),e.done?null:e.value},n.S=function(){if(this.h>this.B.length&&this.o!==this.B.length)throw Error("Implementation error: Sequence Iterator has progressed.");var e=this.value;this.v=!0;for(var t=e.next(0);!t.done;)t=e.next(0);return this.B},n.getEffectiveBooleanValue=function(){var e=this.value,t=this.h;re(this);var n=e.next(0);if(n.done)return re(this,t),!1;if(W((n=n.value).type,53))return re(this,t),!0;if(!e.next(0).done)throw Q();return re(this,t),te(n)},n.ya=function(e){if(null!==this.o)return this.o;if(void 0!==e&&e)return-1;e=this.h;var t=this.S().length;return re(this,e),t},n.F=function(){return 0===this.o||null===this.first()},n.za=function(){if(null!==this.o)return 1===this.o;var e=this.value,t=this.h;return re(this),e.next(0).done?(re(this,t),!1):(e=e.next(0),re(this,t),e.done)},n.map=function(e){var t=this,n=0,r=this.value;return this.J.create({next:function(a){return(a=r.next(a)).done?Z:z(e(a.value,n++,t))}},this.o)},n.M=function(e,t){var n,r=this.value,a=[],i=!0;return function(){for(var o=r.next(i?0:t);!o.done;o=r.next(t))i=!1,a.push(o.value);n=e(a).value}(),this.J.create({next:function(){return n.next(0)}})},n.aa=function(e){function t(e){r=e.value,-1!==(e=e.ya(!0))&&(n.o=e)}var n=this,r=null;return this.J.create({next:function(a){return r?r.next(a):n.F()?(t(e.empty?e.empty(n):e.default(n)),r.next(a)):n.za()?(t(e.s?e.s(n):e.default(n)),r.next(a)):(t(e.multiple?e.multiple(n):e.default(n)),r.next(a))}})},(n=ae.prototype).pb=function(){return this},n.filter=function(e){return e(this.h,0,this)?this:this.B.create()},n.first=function(){return this.h},n.S=function(){return[this.h]},n.getEffectiveBooleanValue=function(){return null===this.o&&(this.o=te(this.h)),this.o},n.ya=function(){return 1},n.F=function(){return!1},n.za=function(){return!0},n.map=function(e){return this.B.create(e(this.h,0,this))},n.M=function(e){return e([this.h])},n.aa=function(e){return e.s?e.s(this):e.default(this)};var ie=new ee;function oe(e,t){if(null===(e=void 0===e?null:e))return ie;if(Array.isArray(e))switch(e.length){case 0:return ie;case 1:return new ae(e[0]);default:return new $(e)}return e.next?new ne(e,void 0===t?null:t):new ae(e)}var se={create:oe,s:function(e){return new ae(e)},empty:function(){return oe()},$:function(){return oe(V)},U:function(){return oe(J)}};function ue(e){var t=[],n=e.value;return function(){var e=0;return se.create({next:function(){if(void 0!==t[e])return t[e++];var r=n.next(0);return r.done?r:t[e++]=r}})}}function le(e,t){this.type=e,this.value=t}var ce={},pe=(ce[0]="xs:boolean",ce[1]="xs:string",ce[2]="xs:numeric",ce[3]="xs:double",ce[4]="xs:decimal",ce[5]="xs:integer",ce[6]="xs:float",ce[7]="xs:date",ce[8]="xs:time",ce[9]="xs:dateTime",ce[10]="xs:dateTimeStamp",ce[11]="xs:gYearMonth",ce[12]="xs:gYear",ce[13]="xs:gMonthDay",ce[14]="xs:gMonth",ce[15]="xs:gDay",ce[16]="xs:yearMonthDuration",ce[17]="xs:dayTimeDuration",ce[18]="xs:duration",ce[19]="xs:untypedAtomic",ce[20]="xs:anyURI",ce[21]="xs:base64Binary",ce[22]="xs:hexBinary",ce[23]="xs:QName",ce[24]="xs:NCName",ce[25]="xs:Name",ce[26]="xs:ENTITY",ce[27]="xs:nonPositiveInteger",ce[28]="xs:negativeInteger",ce[29]="xs:positiveInteger",ce[30]="xs:nonNegativeInteger",ce[31]="xs:long",ce[32]="xs:int",ce[33]="xs:short",ce[34]="xs:byte",ce[35]="xs:unsignedInt",ce[36]="xs:unsignedLong",ce[37]="xs:unsignedByte",ce[38]="xs:unsignedShort",ce[39]="xs:error",ce[40]="xs:ENTITIES",ce[41]="xs:IDREF",ce[42]="xs:ID",ce[43]="xs:IDFREFS",ce[44]="xs:NOTATION",ce[45]="xs:anySimpleType",ce[46]="xs:anyAtomicType",ce[47]="attribute()",ce[48]="xs:normalizedString",ce[49]="xs:NMTOKENS",ce[50]="xs:NMTOKEN",ce[51]="xs:language",ce[52]="xs:token",ce[53]="node()",ce[54]="element()",ce[55]="document-node()",ce[56]="text()",ce[57]="processing-instruction()",ce[58]="comment()",ce[59]="item()",ce[60]="function(*)",ce[61]="map(*)",ce[62]="array(*)",ce),he={"xs:boolean":0,"xs:string":1,"xs:numeric":2,"xs:double":3,"xs:decimal":4,"xs:integer":5,"xs:float":6,"xs:date":7,"xs:time":8,"xs:dateTime":9,"xs:dateTimeStamp":10,"xs:gYearMonth":11,"xs:gYear":12,"xs:gMonthDay":13,"xs:gMonth":14,"xs:gDay":15,"xs:yearMonthDuration":16,"xs:dayTimeDuration":17,"xs:duration":18,"xs:untypedAtomic":19,"xs:anyURI":20,"xs:base64Binary":21,"xs:hexBinary":22,"xs:QName":23,"xs:NCName":24,"xs:Name":25,"xs:ENTITY":26,"xs:nonPositiveInteger":27,"xs:negativeInteger":28,"xs:positiveInteger":29,"xs:nonNegativeInteger":30,"xs:long":31,"xs:int":32,"xs:short":33,"xs:byte":34,"xs:unsignedInt":35,"xs:unsignedLong":36,"xs:unsignedByte":37,"xs:unsignedShort":38,"xs:error":39,"xs:ENTITIES":40,"xs:IDREF":41,"xs:ID":42,"xs:IDREFS":43,"xs:NOTATION":44,"xs:anySimpleType":45,"xs:anyAtomicType":46,"attribute()":47,"xs:normalizedString":48,"xs:NMTOKENS":49,"xs:NMTOKEN":50,"xs:language":51,"xs:token":52,"node()":53,"element()":54,"document-node()":55,"text()":56,"processing-instruction()":57,"comment()":58,"item()":59,"function(*)":60,"map(*)":61,"array(*)":62};function fe(e){return 2===e.g?pe[e.type]+"*":1===e.g?pe[e.type]+"+":0===e.g?pe[e.type]+"?":pe[e.type]}function de(e){if(!e.startsWith("xs:")&&0<=e.indexOf(":"))throw Error("XPST0081: Invalid prefix for input "+e);var t=he[e];if(void 0===t)throw Error('XPST0051: The type "'+e+'" could not be found');return t}function me(e){switch(e[e.length-1]){case"*":return{type:de(e.substr(0,e.length-1)),g:2};case"?":return{type:de(e.substr(0,e.length-1)),g:0};case"+":return{type:de(e.substr(0,e.length-1)),g:1};default:return{type:de(e),g:3}}}function ve(e,t,n){this.namespaceURI=t||null,this.prefix=e||"",this.localName=n}function ge(e){var t=e.l,n=e.arity,r=void 0!==e.Oa&&e.Oa,a=void 0!==e.I&&e.I,i=e.localName,o=e.namespaceURI,s=e.j;for(e=e.value,le.call(this,60,null),this.value=e,this.I=a,a=-1,e=0;e=n||n>e.R.length)throw Error("FOAY0001: array position out of bounds.");return e.R[n-1]()}))}))}function He(e){ge.call(this,{value:function(e,n,r,a){return Pe(0,0,0,se.s(t),a)},localName:"get",namespaceURI:"http://www.w3.org/2005/xpath-functions/array",l:[{type:5,g:3}],arity:1,j:{type:59,g:2}});var t=this;this.type=62,this.R=e}function je(e){switch(e.node.nodeType){case 2:return 47;case 1:return 54;case 3:case 4:return 56;case 7:return 57;case 8:return 58;case 9:return 55;default:return 53}}function Xe(e){return{type:je(e),value:e}}function _e(e,t){return t(e=e.map((function(e){return e.first()})))}function Le(e,t){var n=W(e.type,1)||W(e.type,20)||W(e.type,19),r=W(t.type,1)||W(t.type,20)||W(t.type,19);return n&&r?e.value===t.value:(n=W(e.type,4)||W(e.type,3)||W(e.type,6),r=W(t.type,4)||W(t.type,3)||W(t.type,6),n&&r?!(!isNaN(e.value)||!isNaN(t.value))||e.value===t.value:(n=W(e.type,0)||W(e.type,22)||W(e.type,18)||W(e.type,23)||W(e.type,44),r=W(t.type,0)||W(t.type,22)||W(t.type,18)||W(t.type,23)||W(t.type,44),!(!n||!r)&&e.value===t.value))}function ke(e,t,n,r,a){return _e([r,a],(function(e){var t=(e=u(e)).next().value,n=e.next().value;return(e=t.h.find((function(e){return Le(e.key,n)})))?e.value():se.empty()}))}function Ye(e){ge.call(this,{l:[{type:59,g:3}],arity:1,localName:"get",namespaceURI:"http://www.w3.org/2005/xpath-functions/map",value:function(e,n,r,a){return ke(0,0,0,se.s(t),a)},j:{type:59,g:2}});var t=this;this.type=61,this.h=e}function qe(){}function Ve(e,t){return e.ab()===t.ab()&&e.bb()===t.bb()}function Je(e){if(e>Number.MAX_SAFE_INTEGER||eNumber.MAX_SAFE_INTEGER||!Number.isFinite(e))throw Error("FODT0002: Value overflow while multiplying xs:dayTimeDuration");return new Je(ee||273860t.pa?1:-1:r>n?1:-1}function lt(e,t,n){return 0===ut(e,t,n)}function ct(e,t,n){return new Je(e=(ot(e,n).getTime()-ot(t,n).getTime())/1e3)}function pt(e){throw Error("Not implemented: adding durations to "+pe[e.type])}function ht(e){throw Error("Not implemented: subtracting durations from "+pe[e.type])}function ft(e,t){if("number"!=typeof e&&("string"!=typeof e||!k.get(t)(e)))throw Error("Cannot convert JavaScript value '"+e+"' to the XPath type "+pe[t]+" since it is not valid.")}function dt(e,t,n){if(null===t)return null;switch(e){case 0:return t?V:J;case 1:return q(t+"",1);case 3:case 2:return ft(t,3),q(+t,3);case 4:return ft(t,e),q(+t,4);case 5:return ft(t,e),q(0|t,5);case 6:return ft(t,e),q(+t,6);case 7:case 8:case 9:case 11:case 12:case 13:case 14:case 15:if(!(t instanceof Date))throw Error("The JavaScript value "+t+" with type "+typeof t+" is not a valid type to be converted to an XPath "+pe[e]+".");return q(it(st(t.toISOString()),e),e);case 53:case 47:case 55:case 54:case 56:case 57:case 58:if("object"!=typeof t||!("nodeType"in t))throw Error("The JavaScript value "+t+" with type "+typeof t+" is not a valid type to be converted to an XPath "+pe[e]+".");return Xe({node:t,G:null});case 59:return function e(t,n){if(null===t)return null;switch(typeof t){case"boolean":return t?V:J;case"number":return q(t,3);case"string":return q(t,1);case"object":return"nodeType"in t?Xe({node:t,G:null}):Array.isArray(t)?new He(t.map((function(t){return void 0===t?function(){return se.empty()}:ue(t=null===(t=e(t))?se.empty():se.s(t))}))):new Ye(Object.keys(t).filter((function(e){return void 0!==t[e]})).map((function(n){var r=e(t[n]);return r=null===r?se.empty():se.s(r),{key:q(n,1),value:ue(r)}})))}throw Error("Value "+String(t)+' of type "'+typeof t+'" is not adaptable to an XPath value.')}(t);default:throw Error('Values of the type "'+e+'" can not be adapted to equivalent XPath values.')}}function mt(e,t,n){if(0===n.g)return null===(t=dt(n.type,t))?[]:[t];if(2===n.g||1===n.g){if(!Array.isArray(t))throw Error("The JavaScript value "+t+" should be an array if it is to be converted to "+fe(n)+".");return t.map((function(e){return dt(n.type,e)})).filter((function(e){return null!==e}))}var r=dt(n.type,t);if(null===r)throw Error("The JavaScript value "+t+" should be a single entry if it is to be converted to "+fe(n)+".");return[r]}function vt(e,t,n){return n=void 0===n?{type:59,g:0}:n,se.create(mt(0,t,n))}function gt(e,t){this.h=t=void 0===t?{xb:null,Bb:null,qb:!1}:t,this.Ga=e.Ga,this.wa=e.wa,this.O=e.O,this.ta=e.ta||Object.create(null)}function yt(e,t){var n=0,r=t.value;return{next:function(a){return(a=r.next(a)).done?Z:z(xt(e,n++,a.value,t))}}}function wt(e){return e.h.qb||(e.h.qb=!0,e.h.xb=st((new Date).toISOString()),e.h.Bb=Ze("PT0S")),e.h.xb}function At(e){return e.h.qb||(e.h.qb=!0,e.h.xb=st((new Date).toISOString()),e.h.Bb=Ze("PT0S")),e.h.Bb}function xt(e,t,n,r){return new gt({O:n,Ga:t,wa:r||e.wa,ta:e.ta},e.h)}function bt(e,t){return new gt({O:e.O,Ga:e.Ga,wa:e.wa,ta:Object.assign(Object.create(null),e.ta,t)},e.h)}function Et(e,t,n,r,a,i){var o=new Map;this.debug=e,this.h=t,this.o=n,this.B=r,this.J=a,this.C=o,this.v=i,this.Ta=!0}function Bt(e){var t=0,n=null,r=!0;return se.create({next:function(a){for(;tNumber.MAX_SAFE_INTEGER||eNumber.MAX_SAFE_INTEGER||!Number.isFinite(t))throw Error("FODT0002: Value overflow while constructing xs:yearMonthDuration");e=new Ft(e||0===t?t:-t)}else e=null;return e}function jt(e,t){if(isNaN(t))throw Error("FOCA0005: Cannot multiply xs:yearMonthDuration by NaN");if((e=Math.round(e.ha*t))>Number.MAX_SAFE_INTEGER||!Number.isFinite(e))throw Error("FODT0002: Value overflow while constructing xs:yearMonthDuration");return new Ft(ee?"-":"")+"INF"}}}return e(9)||e(7)||e(8)||e(15)||e(14)||e(13)||e(12)||e(11)||e(16)||e(17)||e(18)?function(e){return{u:!0,value:e.toString()}}:e(22)?function(e){return{u:!0,value:e.toUpperCase()}}:function(e){return{u:!0,value:e+""}}}var kt=[2,5,17,16];function Yt(e,t){function n(t){return W(e,t)}if(39===t)return function(){return{u:!1,error:Error("FORG0001: Casting to xs:error is always invalid.")}};switch(t){case 19:return function(e){var t=Lt(e);return function(e){return(e=t(e)).u?{u:!0,value:q(e.value,19)}:e}}(n);case 1:return function(e){var t=Lt(e);return function(e){return(e=t(e)).u?{u:!0,value:q(e.value,1)}:e}}(n);case 6:return function(e){var t=Ut(e,6);return function(e){return(e=t(e)).u?{u:!0,value:q(e.value,6)}:e}}(n);case 3:return function(e){var t=Ut(e,3);return function(e){return(e=t(e)).u?{u:!0,value:q(e.value,3)}:e}}(n);case 4:return function(e){return e(5)?function(e){return{u:!0,value:q(e,4)}}:e(6)||e(3)?function(e){return isNaN(e)||!isFinite(e)?{u:!1,error:Error("FOCA0002: Can not cast "+e+" to xs:decimal")}:Math.abs(e)>Number.MAX_VALUE?{u:!1,error:Error("FOAR0002: Can not cast "+e+" to xs:decimal, it is out of bounds for JavaScript numbers")}:{u:!0,value:q(e,4)}}:e(0)?function(e){return{u:!0,value:q(e?1:0,4)}}:e(1)||e(19)?function(e){var t=parseFloat(e);return!isNaN(t)||isFinite(t)?{u:!0,value:q(t,4)}:{u:!1,error:Error("FORG0001: Can not cast "+e+" to xs:decimal")}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:decimal or any of its derived types.")}}}(n);case 5:return function(e){return e(0)?function(e){return{u:!0,value:q(e?1:0,5)}}:e(2)?function(e){var t=Math.trunc(e);return!isFinite(t)||isNaN(t)?{u:!1,error:Error("FOCA0002: can not cast "+e+" to xs:integer")}:Number.isSafeInteger(t)?{u:!0,value:q(t,5)}:{u:!1,error:Error("FOAR0002: can not cast "+e+" to xs:integer, it is out of bounds for JavaScript numbers.")}}:e(1)||e(19)?function(e){var t=parseInt(e,10);return isNaN(t)?{u:!1,error:Nt(e,5)}:Number.isSafeInteger(t)?{u:!0,value:q(t,5)}:{u:!1,error:Error("FOCA0003: can not cast "+e+" to xs:integer, it is out of bounds for JavaScript numbers.")}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:integer or any of its derived types.")}}}(n);case 2:return function(e){var t=Yt;return function(n){for(var r=u(_t),a=r.next();!a.done;a=r.next())if((a=t(e,a.value)(n)).u)return a;return{u:!1,error:Error('XPTY0004: Casting not supported from "'+n+'" given type to xs:numeric or any of its derived types.')}}}(e);case 18:return function(e){return e(16)?function(e){return{u:!0,value:q(new Xt(e,new Je(e.oa()?0:-0)),18)}}:e(17)?function(e){return{u:!0,value:q(e=new Xt(new Ft(e.oa()?0:-0),e),18)}}:e(18)?function(e){return{u:!0,value:q(e,18)}}:e(19)||e(1)?function(e){return{u:!0,value:q(new Xt(Ht(e),Ze(e)),18)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:duration or any of its derived types.")}}}(n);case 16:return function(e){return e(18)&&!e(17)?function(e){return{u:!0,value:q(e.Sa,16)}}:e(17)?function(){return{u:!0,value:q(Ht("P0M"),16)}}:e(19)||e(1)?function(e){var t=Ht(e);return t?{u:!0,value:q(t,16)}:{u:!1,error:Nt(e,16)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:yearMonthDuration or any of its derived types.")}}}(n);case 17:return function(e){return e(18)&&!e(16)?function(e){return{u:!0,value:q(e.Fa,17)}}:e(16)?function(){return{u:!0,value:q(Ze("PT0.0S"),17)}}:e(19)||e(1)?function(e){var t=Ze(e);return t?{u:!0,value:q(t,17)}:{u:!1,error:Error("FORG0001: Can not cast "+e+" to xs:dayTimeDuration")}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:dayTimeDuration or any of its derived types.")}}}(n);case 9:return function(e){return e(7)?function(e){return{u:!0,value:q(it(e,9),9)}}:e(19)||e(1)?function(e){return{u:!0,value:q(st(e),9)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:dateTime or any of its derived types.")}}}(n);case 8:return function(e){return e(9)?function(e){return{u:!0,value:q(it(e,8),8)}}:e(19)||e(1)?function(e){return{u:!0,value:q(st(e),8)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:time or any of its derived types.")}}}(n);case 7:return function(e){return e(9)?function(e){return{u:!0,value:q(it(e,7),7)}}:e(19)||e(1)?function(e){return{u:!0,value:q(st(e),7)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:date or any of its derived types.")}}}(n);case 11:return function(e){return e(7)||e(9)?function(e){return{u:!0,value:q(it(e,11),11)}}:e(19)||e(1)?function(e){return{u:!0,value:q(st(e),11)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gYearMonth or any of its derived types.")}}}(n);case 12:return function(e){return e(7)||e(9)?function(e){return{u:!0,value:q(it(e,12),12)}}:e(19)||e(1)?function(e){return{u:!0,value:q(st(e),12)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gYear or any of its derived types.")}}}(n);case 13:return function(e){return e(7)||e(9)?function(e){return{u:!0,value:q(it(e,13),13)}}:e(19)||e(1)?function(e){return{u:!0,value:q(st(e),13)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gMonthDay or any of its derived types.")}}}(n);case 15:return function(e){return e(7)||e(9)?function(e){return{u:!0,value:q(it(e,15),15)}}:e(19)||e(1)?function(e){return{u:!0,value:q(st(e),15)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gDay or any of its derived types.")}}}(n);case 14:return function(e){return e(7)||e(9)?function(e){return{u:!0,value:q(it(e,14),14)}}:e(19)||e(1)?function(e){return{u:!0,value:q(st(e),14)}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:gMonth or any of its derived types.")}}}(n);case 0:return function(e){return e(2)?function(e){return{u:!0,value:0===e||isNaN(e)?J:V}}:e(1)||e(19)?function(e){switch(e){case"true":case"1":return{u:!0,value:V};case"false":case"0":return{u:!0,value:J};default:return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:boolean or any of its derived types.")}}}:function(){return{u:!1,error:Error("XPTY0004: Casting not supported from given type to xs:boolean or any of its derived types.")}}}(n);case 21:return function(e){return e(22)?function(e){for(var t="",n=0;nr.value.node.localName?1:-1;n=Ue(t,n.value),r=Ue(t,r.value)}else n=n.value,r=r.value;return $t(e,t,n,r)}function tn(e,t,n){return en(e.o,e,t,n)}function nn(e,t){return function e(t,n){if(n=void 0===n?rn:n,1>=t.length)return t;var r=Math.floor(t.length/2),a=e(t.slice(0,r),n);for(t=e(t.slice(r),n),r=[];a.length&&t.length;)0>n(a[0],t[0])?r.push(a.shift()):r.push(t.shift());return r.concat(a.concat(t))}(t,(function(t,n){return en(e.o,e,t,n)})).filter((function(e,t,n){return 0===t||!Zt(e.value,n[t-1].value)}))}function rn(e,t){return e(e=t-parseInt(e[3],10))?0:e:t}(n.value)(a=a.first().value)?se.s(q(1,5)):e=e||57344<=e&&65533>=e||65536<=e&&1114111>=e)return String.fromCodePoint(e);throw Error("FOCH0001")})).join(""),se.s(q(e,1))}))},localName:"codepoints-to-string",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:1,g:3}},{l:[{type:1,g:0}],m:function(e,t,n,r){return _e([r],(function(e){return 0===(e=(e=u(e).next().value)?e.value.split(""):[]).length?se.empty():se.create(e.map((function(e){return q(e.codePointAt(0),5)})))}))},localName:"string-to-codepoints",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:5,g:2}},{l:[{type:1,g:0}],m:function(e,t,n,r){return _e([r],(function(e){return null===(e=u(e).next().value)||0===e.value.length?se.create(q("",1)):se.create(q(encodeURIComponent(e.value).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})),1))}))},localName:"encode-for-uri",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:1,g:3}},{l:[{type:1,g:0}],m:function(e,t,n,r){return _e([r],(function(e){return null===(e=u(e).next().value)||0===e.value.length?se.create(q("",1)):se.create(q(e.value.replace(/([\u00A0-\uD7FF\uE000-\uFDCF\uFDF0-\uFFEF "<>{}|\\^`/\n\u007f\u0080-\u009f]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,(function(e){return encodeURI(e)})),1))}))},localName:"iri-to-uri",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:1,g:3}},{l:[{type:1,g:0},{type:1,g:0}],m:function(e,t,n,r,a){return _e([r,a],(function(e){var t=u(e);if(e=t.next().value,t=t.next().value,null===e||null===t)return se.empty();if(e=e.value,t=t.value,e.length!==t.length)return se.U();e=e.split(""),t=t.split("");for(var n=0;nt.node.nodeName?1:-1})).map((function(e){return Xe(e)})),a=Ie(t.h,a.value).filter((function(e){return"http://www.w3.org/2000/xmlns/"!==e.node.namespaceURI})).sort((function(e,t){return e.node.nodeName>t.node.nodeName?1:-1})).map((function(e){return Xe(e)}));var s=jn(e,t,n,se.create(r),se.create(a)),u=!1;return{next:function(){if(u)return Z;var e=i.next(0);return(e.done||!1!==e.value)&&((e=s.next(0)).done||!1!==e.value)?(e=o.next(0),u=!0,e):(u=!0,e)}}}(e,t,n,r,a);if(W(r.type,47)&&W(a.type,47)||W(r.type,57)&&W(a.type,57)||W(r.type,58)&&W(a.type,58))return function(e,t,n,r,a){var i=jn(e,t,n,Bn(0,0,0,se.s(r)),Bn(0,0,0,se.s(a))),o=!1;return{next:function(){if(o)return Z;var e=i.next(0);return e.done||!1!==e.value?z(Fn(Ot(r,t).first(),Ot(a,t).first())):(o=!0,e)}}}(e,t,n,r,a)}return Kt(!1)}function Ln(e){return Error("XUST0001: "+(void 0===e?"Can not execute an updating expression in a non-updating context.":e))}function kn(e){return Error("XUTY0004: The attribute "+e.name+'="'+e.value+'" follows a node that is not an attribute node.')}function Yn(){return Error("XUTY0005: The target of a insert expression with into must be a single element or document node.")}function qn(){return Error("XUTY0006: The target of a insert expression with before or after must be a single element, text, comment, or processing instruction node.")}function Vn(){return Error("XUTY0008: The target of a replace expression must be a single element, attribute, text, comment, or processing instruction node.")}function Jn(){return Error("XUTY0012: The target of a rename expression must be a single element, attribute, or processing instruction node.")}function Qn(e){return Error("XUDY0017: The target "+e.outerHTML+" is used in more than one replace value of expression.")}function Kn(e){return Error("XUDY0021: Applying the updates will result in the XDM instance violating constraint: '"+e+"'")}function Zn(e){return Error("XUDY0023: The namespace binding "+e+" is conflicting.")}function zn(e){return Error("XUDY0024: The namespace binding "+e+" is conflicting.")}function Wn(){return Error("XUDY0027: The target for an insert, replace, or rename expression expression should not be empty.")}function $n(e,t,n,r,a){n=void 0===n?{A:!1,Z:!1,T:"unsorted",subtree:!1}:n,this.K=e,this.B=n.T||"unsorted",this.subtree=!!n.subtree,this.Z=!!n.Z,this.A=!!n.A,this.J=t,this.I=!1,this.Ya=null,this.wb=void 0!==r&&r,this.type=a}function er(e,t,n){return t&&null!==t.O&&e.A?(null===e.Ya&&(e.Ya=ue(e.evaluate(null,n).pb())),e=e.Ya()):e=e.evaluate(t,n),e}function tr(e,t){this.H=e,this.fa=t}function nr(e){e&&"nodeType"in e&&("function"==typeof(e=e.ownerDocument||e).createElementNS&&"function"==typeof e.createProcessingInstruction&&"function"==typeof e.createTextNode&&"function"==typeof e.createComment&&(this.h=e)),this.h||(this.h=null)}function rr(e,t,n){t.forEach((function(t){n.insertBefore(e.node,t.node,null)}))}function ar(e,t,n,r){var a=Ue(n,e),i=e.node.nodeType;if(2===i){if(t.some((function(e){return 2!==e.node.nodeType})))throw Error('Constraint "If $target is an attribute node, $replacement must consist of zero or more attribute nodes." failed.');var o=a?a.node:null;r.removeAttributeNS(o,e.node.namespaceURI,e.node.nodeName),t.forEach((function(e){var t=e.node.nodeName;if(Oe(n,a,t))throw Kn("An attribute "+t+" already exists.");r.setAttributeNS(o,e.node.namespaceURI,t,De(n,e))}))}if(1===i||3===i||8===i||7===i){var s=(i=Me(n,e))?i.node:null;r.removeChild(a.node,e.node),t.forEach((function(e){r.insertBefore(a.node,e.node,s)}))}}function ir(e,t,n,r){if(function(e,t){function n(e){return new ve(e.node.prefix,e.node.namespaceURI,e.node.localName)}function r(t,n){var r=new Set;e.filter((function(e){return e.type===t})).map((function(e){return e.target})).forEach((function(e){e=e?e.node:null,r.has(e)&&n(e),r.add(e)}))}r("rename",(function(e){throw Error("XUDY0015: The target "+e.outerHTML+" is used in more than one rename expression.")})),r("replaceNode",(function(e){throw Error("XUDY0016: The target "+e.outerHTML+" is used in more than one replace expression.")})),r("replaceValue",(function(e){throw Qn(e)})),r("replaceElementContent",(function(e){throw Qn(e)}));var a=new Map;e.filter((function(e){return"replaceNode"===e.type&&2===e.target.node.nodeType})).forEach((function(e){var r=Ue(t,e.target);r=r?r.node:null;var i=a.get(r);i?i.push.apply(i,c(e.o.map(n))):a.set(r,e.o.map(n))})),e.filter((function(e){return"rename"===e.type&&2===e.target.node.nodeType})).forEach((function(e){var n=Ue(t,e.target);if(n){n=n.node;var r=a.get(n);r?r.push(e.o):a.set(n,[e.o])}})),a.forEach((function(e){var t={};e.forEach((function(e){if(t[e.prefix]||(t[e.prefix]=e.namespaceURI),t[e.prefix]!==e.namespaceURI)throw zn(e.namespaceURI)}))}))}(e,t),e.filter((function(e){return-1!==["insertInto","insertAttributes","replaceValue","rename"].indexOf(e.type)})).forEach((function(e){switch(e.type){case"insertInto":rr(e.target,e.content,r);break;case"insertAttributes":!function(e,t,n,r){t.forEach((function(t){var a=t.node.nodeName;if(Oe(n,e,a))throw Kn("An attribute "+a+" already exists.");r.setAttributeNS(e.node,t.node.namespaceURI,a,De(n,t))}))}(e.target,e.content,t,r);break;case"rename":!function(e,t,n,r,a){switch(r||(r=new nr(e?e.node:null)),e.node.nodeType){case 1:var i=n.getAllAttributes(e.node),o=n.getChildNodes(e.node),s=r.createElementNS(t.namespaceURI,t.va()),u={node:s,G:null};i.forEach((function(e){a.setAttributeNS(s,e.namespaceURI,e.nodeName,e.value)})),o.forEach((function(e){a.insertBefore(s,e,null)}));break;case 2:(t=r.createAttributeNS(t.namespaceURI,t.va())).value=De(n,e),u={node:t,G:null};break;case 7:u={node:r.createProcessingInstruction(t.va(),De(n,e)),G:null}}if(!Ue(n,e))throw Error("Not supported: renaming detached nodes.");ar(e,[u],n,a)}(e.target,e.o,t,n,r);break;case"replaceValue":var a=e.target;if(e=e.o,2===a.node.nodeType){var i=Ue(t,a);i?r.setAttributeNS(i.node,a.node.namespaceURI,a.node.nodeName,e):a.node.value=e}else r.setData(a.node,e)}})),e.filter((function(e){return-1!==["insertBefore","insertAfter","insertIntoAsFirst","insertIntoAsLast"].indexOf(e.type)})).forEach((function(e){switch(e.type){case"insertAfter":!function(e,t,n,r){var a=Ue(n,e).node,i=(e=Me(n,e))?e.node:null;t.forEach((function(e){r.insertBefore(a,e.node,i)}))}(e.target,e.content,t,r);break;case"insertBefore":!function(e,t,n,r){var a=Ue(n,e).node;t.forEach((function(t){r.insertBefore(a,t.node,e.node)}))}(e.target,e.content,t,r);break;case"insertIntoAsFirst":!function(e,t,n,r){var a=(n=Re(n,e))?n.node:null;t.forEach((function(t){r.insertBefore(e.node,t.node,a)}))}(e.target,e.content,t,r);break;case"insertIntoAsLast":rr(e.target,e.content,r)}})),e.filter((function(e){return"replaceNode"===e.type})).forEach((function(e){ar(e.target,e.o,t,r)})),e.filter((function(e){return"replaceElementContent"===e.type})).forEach((function(e){!function(e,t,n,r){n.getChildNodes(e.node).forEach((function(t){return r.removeChild(e.node,t)})),t&&r.insertBefore(e.node,t.node,null)}(e.target,e.text,t,r)})),e.filter((function(e){return"delete"===e.type})).forEach((function(e){e=e.target;var n=Ue(t,e);(n=n?n.node:null)&&(2===e.node.nodeType?r.removeAttributeNS(n,e.node.namespaceURI,e.node.nodeName):r.removeChild(n,e.node))})),e.some((function(e){return"put"===e.type})))throw Error('Not implemented: the execution for pendingUpdate "put" is not yet implemented.')}function or(e,t){for(var n=[],r=1;re.h[n])return-1}return 0}function mr(){return Ct("Expected base expression of a function call to evaluate to a sequence of single function item")}function vr(e,t,n,r){for(var a=[],i=0;ie.R.length||0>=n)throw Error("FOAY0001: subarray start out of bounds.");if(0>t)throw Error("FOAY0002: subarray length out of bounds.");if(n+t>e.R.length+1)throw Error("FOAY0001: subarray start + length out of bounds.");return se.s(new He(e.R.slice(n-1,t+n-1)))}))}function xr(e,t,n,r,a){return _e([r],(function(e){var t=u(e).next().value;return a.M((function(e){e=e.map((function(e){return e.value})).sort((function(e,t){return t-e})).filter((function(e,t,n){return n[t-1]!==e}));for(var n=t.R.concat(),r=0,a=e.length;rt.R.length||0>=i)throw Error("FOAY0001: subarray position out of bounds.");n.splice(i-1,1)}return se.s(new He(n))}))}))}function br(e){return W(e,1)||W(e,20)||W(e,19)}function Er(e,t,n,r){return r.sort((function(r,a){return jn(e,t,n,se.create(r),se.create(a)).next(0).value?0:function e(t,n,r,a,i){return 0===a.length?0!==i.length:0!==i.length&&_n(t,n,r,a[0],i[0]).next(0).value?e(t,n,r,a.slice(1),i.slice(1)):a[0].value!=a[0].value||(br(a[0].type)&&0!==i.length&&br(i[0].type)||0!==i.length)&&a[0].value=(e=e.value)||e>t.R.length)throw Error("FOAY0001: array position out of bounds.");return(t=t.R.concat()).splice(e-1,1,ue(i)),se.s(new He(t))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"append",l:[{type:62,g:3},{type:59,g:2}],j:{type:62,g:3},m:function(e,t,n,r,a){return _e([r],(function(e){return e=u(e).next().value.R.concat([ue(a)]),se.s(new He(e))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"subarray",l:[{type:62,g:3},{type:5,g:3},{type:5,g:3}],j:{type:62,g:3},m:Ar},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"subarray",l:[{type:62,g:3},{type:5,g:3}],j:{type:62,g:3},m:function(e,t,n,r,a){var i=se.s(q(r.first().value.length-a.first().value+1,5));return Ar(0,0,0,r,a,i)}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"remove",l:[{type:62,g:3},{type:5,g:2}],j:{type:62,g:3},m:xr},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"insert-before",l:[{type:62,g:3},{type:5,g:3},{type:59,g:2}],j:{type:62,g:3},m:function(e,t,n,r,a,i){return _e([r,a],(function(e){var t=u(e);if(e=t.next().value,(t=t.next().value.value)>e.R.length+1||0>=t)throw Error("FOAY0001: subarray position out of bounds.");return(e=e.R.concat()).splice(t-1,0,ue(i)),se.s(new He(e))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"head",l:[{type:62,g:3}],j:{type:59,g:2},m:function(e,t,n,r){return Pe(0,0,0,r,se.s(q(1,5)))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"tail",l:[{type:62,g:3}],j:{type:59,g:2},m:function(e,t,n,r){return xr(0,0,0,r,se.s(q(1,5)))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"reverse",l:[{type:62,g:3}],j:{type:62,g:3},m:function(e,t,n,r){return _e([r],(function(e){return e=u(e).next().value,se.s(new He(e.R.concat().reverse()))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"join",l:[{type:62,g:2}],j:{type:62,g:3},m:function(e,t,n,r){return r.M((function(e){return e=e.reduce((function(e,t){return e.concat(t.R)}),[]),se.s(new He(e))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"for-each",l:[{type:62,g:3},{type:60,g:3}],j:{type:62,g:3},m:function(e,t,n,r,a){return _e([r,a],(function(r){var a=(r=u(r)).next().value,i=r.next().value;if(1!==i.B)throw Ct("The callback passed into array:for-each has a wrong arity.");return r=a.R.map((function(r){return ue(i.value.call(void 0,e,t,n,vr(i.o,[r()],t,"array:for-each")[0]))})),se.s(new He(r))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/array",localName:"filter",l:[{type:62,g:3},{type:60,g:3}],j:{type:62,g:3},m:function(e,t,n,r,a){return _e([r,a],(function(r){var a=(r=u(r)).next().value,i=r.next().value;if(1!==i.B)throw Ct("The callback passed into array:filter has a wrong arity.");var o=a.R.map((function(r){return r=vr(i.o,[r()],t,"array:filter")[0],(0,i.value)(e,t,n,r)})),s=[],l=!1;return se.create({next:function(){if(l)return Z;for(var e=0,t=a.R.length;e=n.start.line&&i<=n.end.line){var o=in.start.line?a.length:n.start.da-1+a.length,e.push(Array(a.length+t.length).fill(" ",0,i).fill("^",i,o).join(""))}return e}),[]),t=function e(t){var n=t.h instanceof Hr?["Inner error:",t.h.message]:t.h instanceof Error?[t.h.toString()]:e(t.h);return n.push(" at <"+t.o+">:"+t.location.start.line+":"+t.location.start.da+" - "+t.location.end.line+":"+t.location.end.da),n}(t).join("\n"),new Hr(e.join("\n")+"\n\n"+t,n)}function Xr(e,t){"*"===t||Array.isArray(t)||(t=[t]);for(var n=1;ne.length?"":"object"==typeof e[1]?e[2]||"":e[1]||""}function Lr(e,t){return Array.isArray(e)?"object"!=typeof(e=e[1])||Array.isArray(e)?null:t in e?e[t]:null:null}function kr(e,t){return t.reduce(Xr,e)}function Yr(e,t){for(var n=[],r=1;rNumber.MAX_SAFE_INTEGER||!Number.isFinite(e))throw Error("FODT0002: Value overflow while dividing xs:yearMonthDuration");return new Ft(eNumber.MAX_SAFE_INTEGER||!Number.isFinite(e))throw Error("FODT0002: Value overflow while dividing xs:dayTimeDuration");return new Je(ee.X.value};case"geOp":return function(e,n){return(e=t(e,n)).W.value>=e.X.value}}}(e,r);if(void 0!==u)return u}if(a(16)&&void 0!==(u=function(e,t){switch(e){case"ltOp":return function(e,n){return(e=t(e,n)).W.value.hae.X.value.ha};case"geOp":return function(e,n){return e=(n=t(e,n)).W,n=n.X,Ve(e.value,n.value)||e.value.ha>n.value.ha}}}(e,r))||a(17)&&void 0!==(u=function(e,t){switch(e){case"eqOp":return function(e,n){return Ve((e=t(e,n)).W.value,e.X.value)};case"ltOp":return function(e,n){return(e=t(e,n)).W.value.eae.X.value.ea};case"geOp":return function(e,n){return e=(n=t(e,n)).W,n=n.X,Ve(e.value,n.value)||e.value.ea>n.value.ea}}}(e,r))||a(18)&&void 0!==(u=function(e,t){switch(e){case"eqOp":return function(e,n){return Ve((e=t(e,n)).W.value,e.X.value)};case"neOp":return function(e,n){return!Ve((e=t(e,n)).W.value,e.X.value)}}}(e,r)))return u;if((a(9)||a(7)||a(8))&&void 0!==(u=function(e,t){switch(e){case"eqOp":return function(e,n,r){return lt((e=t(e,n)).W.value,e.X.value,At(r))};case"neOp":return function(e,n,r){return!lt((e=t(e,n)).W.value,e.X.value,At(r))};case"ltOp":return function(e,n,r){return e=t(e,n),r=At(r),0>ut(e.W.value,e.X.value,r)};case"leOp":return function(e,n,r){var a;return e=(n=t(e,n)).W,n=n.X,(a=lt(e.value,n.value,At(r)))||(r=At(r),a=0>ut(e.value,n.value,r)),a};case"gtOp":return function(e,n,r){return e=t(e,n),r=At(r),0tn(t,e.first(),n.first())}:void 0;case"nodeAfterOp":return t?function(e,n){return 0=r)throw Error("FOAY0001: Array index out of bounds");n.push(e.R[r-1]())}else{if(!W(e.type,61))throw ui("The provided context item is not a map or an array.");"*"===t?n.push.apply(n,c(e.h.map((function(e){return e.value()})))):(e=e.h.find((function(e){return Le(e.key,t)})))&&n.push(e.value())}return Bt(n)}function xi(e,t,n,r,a){return"*"===t?Ai(e,t,n):Bt([n,t=ue(t=er(t,r,a))().M((function(t){return t.reduce((function(t,n){return Ai(e,n,t)}),new ee)}))])}function bi(e,t){$n.call(this,e.K,[e].concat("*"===t?[]:[t]),{A:e.A,T:e.B,subtree:e.subtree}),this.h=e,this.o=t}function Ei(e,t){var n={};$n.call(this,new fr((n.external=1,n)),"*"===e?[]:[e],{A:!1},!1,t),this.h=e}function Bi(e,t,n,r){var a=t.map((function(e){return e.eb}));t=t.map((function(e){return e.name}));var i=a.reduce((function(e,t){return e.add(t.K)}),n.K);$n.call(this,i,a.concat(n),{A:!1},!1,r),this.o=e,this.v=t,this.C=a,this.N=n,this.h=null}function Ni(e){$n.call(this,e,[],{A:!1})}function Ci(e){var t={};Ni.call(this,new fr((t.nodeType=1,t))),this.o=e}function Ti(e,t){t=void 0===t?{kind:null}:t;var n=e.prefix,r=e.namespaceURI,a={};"*"!==(e=e.localName)&&(a.nodeName=1),a.nodeType=1,Ni.call(this,new fr(a)),this.o=e,this.C=r,this.v=n||(r?null:""),this.N=t.kind}function Ii(e){var t={};Ni.call(this,new fr((t.nodeName=1,t))),this.o=e}function Oi(e){Ni.call(this,new fr({})),this.o=e}function Si(e,t,n){$n.call(this,new fr({}),[],{A:!1,T:"unsorted"}),this.o=n,this.v=t||void 0,this.C=e,this.h=null}function Di(e,t){var n=new fr({});fa.call(this,n,[e,t],{A:!1,Z:!1,T:"unsorted",subtree:!1},t),this.v=e}function Ri(e,t){var n=t.h,r=t.o,a=t.B;switch(e.node.nodeType){case 1:var i=r.createElementNS(e.node.namespaceURI,e.node.nodeName);for(n.getAllAttributes(e.node).forEach((function(e){return a.setAttributeNS(i,e.namespaceURI,e.nodeName,e.value)})),e=(r=u(Se(n,e))).next();!e.done;e=r.next())e=Ri(e.value,t),a.insertBefore(i,e.node,null);return{node:i,G:null};case 2:return(t=r.createAttributeNS(e.node.namespaceURI,e.node.nodeName)).value=De(n,e),{node:t,G:null};case 4:return{node:r.createCDATASection(De(n,e)),G:null};case 8:return{node:r.createComment(De(n,e)),G:null};case 9:for(r=r.createDocument(),e=(n=u(Se(n,e))).next();!e.done;e=n.next())e=Ri(e.value,t),a.insertBefore(r,e.node,null);return{node:r,G:null};case 7:return{node:r.createProcessingInstruction(e.node.target,De(n,e)),G:null};case 3:return{node:r.createTextNode(De(n,e)),G:null}}}function Gi(e,t){var n=t.B,r=t.o,a=t.h;if(!Ne(e.node))return Ri(e,t).node;switch(e.node.nodeType){case 2:return(r=r.createAttributeNS(e.node.namespaceURI,e.node.nodeName)).value=De(a,e),r;case 8:return r.createComment(De(a,e));case 1:var i=e.node.prefix,o=e.node.localName,s=r.createElementNS(e.node.namespaceURI,i?i+":"+o:o);return Se(a,e).forEach((function(e){e=Gi(e,t),n.insertBefore(s,e,null)})),Ie(a,e).forEach((function(e){n.setAttributeNS(s,e.node.namespaceURI,e.node.nodeName,De(a,e))})),s.normalize(),s;case 7:return r.createProcessingInstruction(e.node.target,De(a,e));case 3:return r.createTextNode(De(a,e))}}function Mi(e,t,n){var r=e.node;if(!(Ne(r)||n||e.G))return r;n=t.C,e=function(e,t,n){var r=e;for(e=Ue(n,r);null!==e;){if(2===r.node.nodeType)t.push(r.node.nodeName);else{var a=Se(n,e);t.push(a.findIndex((function(e){return Zt(e,r)})))}e=Ue(n,r=e)}return r}(e,r=[],t.h);var a=n.get(e.node);return a||(a={node:Gi(e,t),G:null},n.set(e.node,a)),function(e,t,n){for(var r={};0tn(t.h,o,s)){if(e=z(o),o=null,"exceptOp"===n.h)return e}else s=null}return"exceptOp"===n.h?null!==o?(e=z(o),o=null,e):a.next(0):(u=!0,Z)}})},v(za,cr),za.prototype.v=function(e,t,n){return n.length?Bt(n.map((function(t){return t(e)}))):se.empty()},v(Wa,$n),Wa.prototype.evaluate=function(e,t){var n=this,r=yt(e,er(this.h,e,t)),a=null,i=null,o=!1;return se.create({next:function(e){for(;!o;){if(!a&&(a=r.next(e)).done)return o=!0,Z;i||(i=er(n.o,a.value,t));var s=i.value.next(e);if(!s.done)return s;a=i=null}}})},v($a,$n),$a.prototype.evaluate=function(e,t){var n=this,r=St(er(this.v,e,t),t);return r.aa({empty:function(){return n.o?se.$():se.U()},s:function(){return r.map((function(e){return Jt(e,n.h).u?V:J}))},multiple:function(){return se.U()}})},v(ei,$n),ei.prototype.evaluate=function(e,t){var n=this,r=St(er(this.v,e,t),t);return r.aa({empty:function(){if(!n.o)throw Error("XPTY0004: Sequence to cast is empty while target type is singleton.");return se.empty()},s:function(){return r.map((function(e){return Qt(e,n.h)}))},multiple:function(){throw Error("XPTY0004: Sequence to cast is not singleton or empty.")}})},v(ni,$n),ni.prototype.evaluate=function(e,t){var n=this,r=er(this.v,e,t);return r.aa({empty:function(){return"?"===n.h||"*"===n.h?se.$():se.U()},multiple:function(){return"+"===n.h||"*"===n.h?ti(r,(function(r){var a=se.s(r);return r=xt(e,0,r,a),er(n.o,r,t)})):se.U()},s:function(){return ti(r,(function(r){var a=se.s(r);return r=xt(e,0,r,a),er(n.o,r,t)}))}})},v(oi,$n),oi.prototype.evaluate=function(e,t){var n=this;if(this.h.every((function(e){return"sorted"===e.B}))){var r=0;return ii(t.h,{next:function(){return r>=n.h.length?Z:z(er(n.h[r++],e,t))}}).map((function(e){if(!W(e.type,53))throw Error("XPTY0004: The sequences to union are not of type node()*");return e}))}return Bt(this.h.map((function(n){return er(n,e,t)}))).M((function(e){if(e.some((function(e){return!W(e.type,53)})))throw Error("XPTY0004: The sequences to union are not of type node()*");return e=nn(t.h,e),se.create(e)}))},v(mi,fa),mi.prototype.C=function(e,t,n,r){if(this.v[1])throw Error("More than one order spec is not supported for the order by clause.");var a,i,o=[],s=!1,l=null,c=this.v[0];return se.create({next:function(){if(!s){for(var p=t.next(0);!p.done;)o.push(p.value),p=t.next(0);if((p=o.map((function(e){return c.ia.evaluate(e,n)})).map((function(e){return St(e,n)}))).find((function(e){return!e.F()&&!e.za()})))throw ui("Order by only accepts empty or singleton sequences");if(function(e){return(e=e.find((function(e){return!!e})))?Dt(e.type):null}(a=(a=p.map((function(e){return e.first()}))).map((function(e){return null===e?e:W(19,e.type)?Qt(e,1):e})))&&!(a=si(a)))throw ui("Could not cast values");p=a.length,i=a.map((function(e,t){return t}));for(var h=0;h=a.length?Z:z(o[i[y++]]):0>y?Z:z(o[i[y--]])}}).value,s=!0}return l.next(0)}})},v(vi,$n),vi.prototype.evaluate=function(e,t){if(null===e.O)throw Error("XPDY0002: context is absent, it needs to be present to use paths.");for(var n=t.h,r=e.O.value;9!==r.node.nodeType;)if(null===(r=Ue(n,r)))throw Error("XPDY0050: the root node of the context node is not a document node.");return n=se.s(Xe(r)),this.h?er(this.h,xt(e,0,n.first(),n),t):n},v(gi,$n),gi.prototype.evaluate=function(e){if(null===e.O)throw Error('XPDY0002: context is absent, it needs to be present to use the "." operator');return se.s(e.O)},v(yi,$n),yi.prototype.evaluate=function(e,t){var n=this,r=!0;return this.h.reduce((function(a,i,o){var s=null===a?Kt(e):yt(e,a);if(a={next:function(e){if((e=s.next(e)).done)return Z;if(null!==e.value.O&&!W(e.value.O.type,53)&&0l.length-1)){for(o=Object.create(null),s={},u=0;u"))throw Error('XQDY0026: The content "'+u+'" for a processing instruction node contains "?>".');return s=!0,z({H:[],fa:or([new Ji(r.value,u)],o,a)})}}}}(t,n,e):function(e,t,n){var r,a,i;return{next:function(){if(!r){var o=n.next(0),s=Zi([o.value.H],e,zn);r={attributes:s.attributes.map((function(e){return{node:e,G:null}})),Ua:s.Ua.map((function(e){return{node:e,G:null}}))},a=o.value.fa}if(0===(s=t.next(0)).value.H.length)throw Wn();if(1!==s.value.H.length)throw Vn();if(!(W(s.value.H[0].type,54)||W(s.value.H[0].type,47)||W(s.value.H[0].type,56)||W(s.value.H[0].type,58)||W(s.value.H[0].type,57)))throw Vn();if(null===(i=Ue(e.h,s.value.H[0].value,null)))throw Error("XUDY0009: The target "+s.value.H[0].value.outerHTML+" for replacing a node must have a parent.");if(o=s.value.H[0],s=s.value.fa,W(o.type,47)){if(r.Ua.length)throw Error("XUTY0011: When replacing an attribute the new value must be zero or more attribute nodes.");r.attributes.reduce((function(e,t){var n=t.node.prefix||"";t=t.node.namespaceURI;var r=i.node.lookupNamespaceURI(n);if(r&&r!==t)throw Zn(t);if((r=e[n])&&t!==r)throw zn(t);return e[n]=t,e}),{})}else if(r.attributes.length)throw Error("XUTY0010: When replacing an an element, text, comment, or processing instruction node the new value must be a single node.");return z({H:[],fa:or([Qi(o.value,[].concat(r.attributes,r.Ua))],a,s)})}}}(t,n,e)},v(uo,sr),uo.prototype.evaluate=function(e,t){return lr(e=this.o(e,t),(function(){}))},uo.prototype.o=function(e,t){var n,r,a,i=this,o=t.h,s=t.o,u=t.B,l=[],p=[],h=[];return{next:function(){if(p.length!==i.h.length)for(var f={},d=p.length;d"))throw Error('XQDY0026: The contents of the data of a processing instruction may not include "?>"');if(null!==n.h.Mb)return fo(r=n.h.Mb),se.s(Xe(mo(r,a)));r=er(n.h.Db,e,t);var i=ro(t,r);return se.create({next:function(){var e=i.next(0);return e.done?e:(fo(e=e.value.value),z(Xe(mo(e,a))))}})}))},v(go,$n),go.prototype.evaluate=function(e,t){return this.h?St(e=er(this.h,e,t),t).M((function(e){return 0===e.length?se.empty():(e={node:{data:e.map((function(e){return Qt(e,1).value})).join(" "),Pa:!0,nodeType:3},G:null},se.s(Xe(e)))})):se.empty()},v(yo,cr),yo.prototype.v=function(e,t,n){var r=this;return n[0](e).M((function(a){for(var i=0;ia.length)return!1;break;default:if(1!==a.length)return!1}var r=se.create(a);return a.every((function(a,i){return a=xt(e,i,a,r),er(n.Nb,a,t).getEffectiveBooleanValue()}))})))return n[i+1](e);return n[r.h+1](e)}))},yo.prototype.P=function(e){if(cr.prototype.P.call(this,e),this.C.I)throw Ln()};var wo={ca:!1,qa:!1},Ao={ca:!0,qa:!1},xo={ca:!0,qa:!0};function bo(e){return e.ca?e.qa?xo:Ao:wo}function Eo(e,t){switch(e[0]){case"andOp":var n=Lr(e,"type");return new Ha(No("andOp",e,bo(t)),n);case"orOp":return n=Lr(e,"type"),new ja(No("orOp",e,bo(t)),n);case"unaryPlusOp":return n=Xr(Xr(e,"operand"),"*"),e=Lr(e,"type"),new Pa("+",Eo(n,t),e);case"unaryMinusOp":return n=Xr(Xr(e,"operand"),"*"),e=Lr(e,"type"),new Pa("-",Eo(n,t),e);case"addOp":case"subtractOp":case"multiplyOp":case"divOp":case"idivOp":case"modOp":var r=e[0],a=Eo(kr(e,["firstOperand","*"]),bo(t));t=Eo(kr(e,["secondOperand","*"]),bo(t));var i=Lr(e,"type"),o=Lr(kr(e,["firstOperand","*"]),"type"),s=Lr(kr(e,["secondOperand","*"]),"type");return o&&s&&Lr(e,"type")&&(n=Da(r,o.type,s.type)),new Ma(r,a,t,i,n);case"sequenceExpr":return function(e,t){var n=Yr(e,"*").map((function(e){return Eo(e,t)}));return 1===n.length?n[0]:(n=Lr(e,"type"),new za(Yr(e,"*").map((function(e){return Eo(e,t)})),n))}(e,t);case"unionOp":return n=Lr(e,"type"),new oi([Eo(kr(e,["firstOperand","*"]),bo(t)),Eo(kr(e,["secondOperand","*"]),bo(t))],n);case"exceptOp":case"intersectOp":return n=Lr(e,"type"),new Za(e[0],Eo(kr(e,["firstOperand","*"]),bo(t)),Eo(kr(e,["secondOperand","*"]),bo(t)),n);case"stringConcatenateOp":return function(e,t){var n=Lr(e,"type");return new wr(new Ea({localName:"concat",namespaceURI:"http://www.w3.org/2005/xpath-functions",prefix:""},(e=[Xr(e,"firstOperand")[1],Xr(e,"secondOperand")[1]]).length,n),e.map((function(e){return Eo(e,bo(t))})),n)}(e,t);case"rangeSequenceExpr":return function(e,t){var n=Lr(e,"type");return new wr(new Ea({localName:"to",namespaceURI:"http://fontoxpath/operators",prefix:""},(e=[Xr(e,"startExpr")[1],Xr(e,"endExpr")[1]]).length,n),e.map((function(e){return Eo(e,bo(t))})),n)}(e,t);case"equalOp":case"notEqualOp":case"lessThanOrEqualOp":case"lessThanOp":case"greaterThanOrEqualOp":case"greaterThanOp":case"eqOp":case"neOp":case"ltOp":case"leOp":case"gtOp":case"geOp":case"isOp":case"nodeBeforeOp":case"nodeAfterOp":return n=kr(e,["firstOperand","*"]),r=kr(e,["secondOperand","*"]),a=Lr(n,"type"),i=Lr(r,"type"),new Qa(e[0],Eo(n,bo(t)),Eo(r,bo(t)),a,i);case"pathExpr":return function(e,t){var n=Lr(e,"type"),r=Yr(e,"stepExpr"),a=!1,i=r.map((function(e){var r=Xr(e,"xpathAxis");if(r){a=!0;var i=Xr(e,"attributeTest anyElementTest piTest documentTest elementTest commentTest namespaceTest anyKindTest textTest anyFunctionTest typedFunctionTest schemaAttributeTest atomicType anyItemType parenthesizedItemType typedMapTest typedArrayTest nameTest Wildcard".split(" "));switch(i=Bo(i),_r(r)){case"ancestor":var o=new zr(i,{Na:!1});break;case"ancestor-or-self":o=new zr(i,{Na:!0});break;case"attribute":o=new Wr(i);break;case"child":o=new $r(i);break;case"descendant":o=new ta(i,{Na:!1});break;case"descendant-or-self":o=new ta(i,{Na:!0});break;case"parent":o=new oa(i);break;case"following-sibling":o=new ia(i);break;case"preceding-sibling":o=new ua(i);break;case"following":o=new aa(i);break;case"preceding":o=new sa(i);break;case"self":o=new la(i)}}else o=Eo(o=kr(e,["filterExpr","*"]),bo(t));for(r=(e=u(e=Yr(e,"*"))).next();!r.done;r=e.next())switch(r=r.value,r[0]){case"lookup":o=new bi(o,Co(r,t));break;case"predicate":case"predicates":o=Yr(r,"*").reduce((function(e,n){return new wi(e,Eo(n,bo(t)))}),o)}return o.type=n,o}));return e=Xr(e,"rootExpr"),!(r=a||null!==e||1t?e:(t-=e.length,e+(n+=n.repeat(t)).slice(0,t))}!function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(t,Error),t.prototype.format=function(e){var t="Error: "+this.message;if(this.location){var r,a=null;for(r=0;rKl&&(Kl=Vl,Zl=[]),Zl.push(e))}function l(){var t,n,r=233*Vl;if(t=Wl[r])return Vl=t.i,t.result;t=Vl,He();var a=233*Vl+2;if(n=Wl[a])Vl=n.i,a=n.result;else{if(n=Vl,e.substr(Vl,6)===at){var i=at;Vl+=6}else i=et,0===zl&&u(Ni);if(i!==et){if(He(),i=Vl,e.substr(Vl,8)===it){var o=it;Vl+=8}else o=et,0===zl&&u(Ci);if(o!==et?(o=je())!==et?(o=Ce())!==et?(Jl=i,i=["encoding",o]):(Vl=i,i=et):(Vl=i,i=et):(Vl=i,i=et),i===et)if(i=Vl,e.substr(Vl,7)===ot?(o=ot,Vl+=7):(o=et,0===zl&&u(Ti)),o!==et)if((o=je())!==et)if((o=Ce())!==et){var s=Vl,l=je();l!==et?(e.substr(Vl,8)===it?(l=it,Vl+=8):(l=et,0===zl&&u(Ci)),l!==et?(l=je())!==et?(l=Ce())!==et?(Jl=s,s=l):(Vl=s,s=et):(Vl=s,s=et):(Vl=s,s=et)):(Vl=s,s=et),s===et&&(s=null),Jl=i,i=[["version",o]].concat(s?[["encoding",s]]:[])}else Vl=i,i=et;else Vl=i,i=et;else Vl=i,i=et;i!==et?(He(),(o=p())!==et?(Jl=n,n=["versionDecl"].concat(i)):(Vl=n,n=et)):(Vl=n,n=et)}else Vl=n,n=et;Wl[a]={i:Vl,result:n},a=n}if(a===et&&(a=null),He(),i=Wl[n=233*Vl+3])Vl=i.i,n=i.result;else{if(i=Vl,s=Wl[o=233*Vl+4])Vl=s.i,o=s.result;else{if(s=Vl,e.substr(Vl,6)===st?(l=st,Vl+=6):(l=et,0===zl&&u(Ii)),l!==et)if((l=je())!==et)if(e.substr(Vl,9)===ut?(l=ut,Vl+=9):(l=et,0===zl&&u(Oi)),l!==et)if((l=je())!==et){l=Vl;var h=Ge();if((l=h!==et?e.substring(l,Vl):h)!==et)if(He(),61===e.charCodeAt(Vl)?(h=lt,Vl++):(h=et,0===zl&&u(Si)),h!==et)if(He(),(h=Ce())!==et)He(),p()!==et?(Jl=s,s=["moduleDecl",["prefix",l],["uri",h]]):(Vl=s,s=et);else Vl=s,s=et;else Vl=s,s=et;else Vl=s,s=et}else Vl=s,s=et;else Vl=s,s=et;else Vl=s,s=et;else Vl=s,s=et;Wl[o]={i:Vl,result:s},o=s}o!==et?(He(),s=c(),Jl=i,i=["libraryModule",o].concat(s?[s]:[])):(Vl=i,i=et),Wl[n]={i:Vl,result:i},n=i}return n===et&&((i=Wl[n=233*Vl+1])?(Vl=i.i,n=i.result):(i=Vl,o=c(),He(),(l=Wl[s=233*Vl+36])?(Vl=l.i,s=l.result):(l=Vl,(h=C())!==et&&(Jl=l,h=["queryBody",h]),l=h,Wl[s]={i:Vl,result:l},s=l),s!==et?(Jl=i,i=["mainModule"].concat(o?[o]:[],[s])):(Vl=i,i=et),Wl[n]={i:Vl,result:i},n=i)),n!==et?(He(),Jl=t,t=["module"].concat(a?[a]:[],[n])):(Vl=t,t=et),Wl[r]={i:Vl,result:t},t}function c(){var e,t=233*Vl+5;if(e=Wl[t])return Vl=e.i,e.result;e=Vl;var n=[],r=Vl,a=v();if(a===et&&((a=h())===et&&((a=m())===et&&(a=d()))),a!==et){He();var i=p();i!==et?(He(),Jl=r,r=a):(Vl=r,r=et)}else Vl=r,r=et;for(;r!==et;)n.push(r),r=Vl,(a=v())===et&&((a=h())===et&&((a=m())===et&&(a=d()))),a!==et?(He(),(i=p())!==et?(He(),Jl=r,r=a):(Vl=r,r=et)):(Vl=r,r=et);if(r=[],a=Vl,(i=A())===et&&((i=g())===et&&(i=N())),i!==et){He();var o=p();o!==et?(He(),Jl=a,a=i):(Vl=a,a=et)}else Vl=a,a=et;for(;a!==et;)r.push(a),a=Vl,(i=A())===et&&((i=g())===et&&(i=N())),i!==et?(He(),(o=p())!==et?(He(),Jl=a,a=i):(Vl=a,a=et)):(Vl=a,a=et);return Jl=e,e=0===n.length&&0===r.length?null:["prolog"].concat(n,r),Wl[t]={i:Vl,result:e},e}function p(){var t,n=233*Vl+6;return(t=Wl[n])?(Vl=t.i,t.result):(59===e.charCodeAt(Vl)?(t=ct,Vl++):(t=et,0===zl&&u(Di)),Wl[n]={i:Vl,result:t},t)}function h(){var t,n,a=233*Vl+7;if(t=Wl[a])return Vl=t.i,t.result;if(n=Wl[t=233*Vl+8])Vl=n.i,t=n.result;else{if(n=Vl,e.substr(Vl,7)===pt){var i=pt;Vl+=7}else i=et,0===zl&&u(Ri);i!==et?(i=je())!==et?(e.substr(Vl,14)===ht?(i=ht,Vl+=14):(i=et,0===zl&&u(Gi)),i!==et?(i=je())!==et?(e.substr(Vl,8)===ft?(i=ft,Vl+=8):(i=et,0===zl&&u(Mi)),i===et&&(e.substr(Vl,5)===dt?(i=dt,Vl+=5):(i=et,0===zl&&u(Ui))),i!==et?(Jl=n,n=["boundarySpaceDecl",i]):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et),Wl[t]={i:Vl,result:n},t=n}if(t===et&&((n=Wl[t=233*Vl+9])?(Vl=n.i,t=n.result):(n=Vl,e.substr(Vl,7)===pt?(i=pt,Vl+=7):(i=et,0===zl&&u(Ri)),i!==et?(i=je())!==et?(e.substr(Vl,7)===mt?(i=mt,Vl+=7):(i=et,0===zl&&u(Fi)),i!==et?(i=je())!==et?(e.substr(Vl,9)===vt?(i=vt,Vl+=9):(i=et,0===zl&&u(Pi)),i!==et?(i=je())!==et?(i=Ce())!==et?(Jl=n,n=["defaultCollationDecl",i]):(Vl=n,n=et):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et),Wl[t]={i:Vl,result:n},t=n),t===et&&((n=Wl[t=233*Vl+10])?(Vl=n.i,t=n.result):(n=Vl,e.substr(Vl,7)===pt?(i=pt,Vl+=7):(i=et,0===zl&&u(Ri)),i!==et?(i=je())!==et?(e.substr(Vl,8)===gt?(i=gt,Vl+=8):(i=et,0===zl&&u(Hi)),i!==et?(i=je())!==et?(i=Ce())!==et?(Jl=n,n=["baseUriDecl",i]):(Vl=n,n=et):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et),Wl[t]={i:Vl,result:n},t=n),t===et&&((n=Wl[t=233*Vl+11])?(Vl=n.i,t=n.result):(n=Vl,e.substr(Vl,7)===pt?(i=pt,Vl+=7):(i=et,0===zl&&u(Ri)),i!==et?(i=je())!==et?(e.substr(Vl,12)===yt?(i=yt,Vl+=12):(i=et,0===zl&&u(ji)),i!==et?(i=je())!==et?(e.substr(Vl,5)===dt?(i=dt,Vl+=5):(i=et,0===zl&&u(Ui)),i===et&&(e.substr(Vl,8)===ft?(i=ft,Vl+=8):(i=et,0===zl&&u(Mi))),i!==et?(Jl=n,n=["constructionDecl",i]):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et),Wl[t]={i:Vl,result:n},t=n),t===et&&((n=Wl[t=233*Vl+12])?(Vl=n.i,t=n.result):(n=Vl,e.substr(Vl,7)===pt?(i=pt,Vl+=7):(i=et,0===zl&&u(Ri)),i!==et?(i=je())!==et?(e.substr(Vl,8)===wt?(i=wt,Vl+=8):(i=et,0===zl&&u(Xi)),i!==et?(i=je())!==et?(e.substr(Vl,7)===At?(i=At,Vl+=7):(i=et,0===zl&&u(_i)),i===et&&(e.substr(Vl,9)===xt?(i=xt,Vl+=9):(i=et,0===zl&&u(Li))),i!==et?(Jl=n,n=["orderingModeDecl",i]):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et),Wl[t]={i:Vl,result:n},t=n),t===et&&((n=Wl[t=233*Vl+13])?(Vl=n.i,t=n.result):(n=Vl,e.substr(Vl,7)===pt?(i=pt,Vl+=7):(i=et,0===zl&&u(Ri)),i!==et?(i=je())!==et?(e.substr(Vl,7)===mt?(i=mt,Vl+=7):(i=et,0===zl&&u(Fi)),i!==et?(i=je())!==et?(e.substr(Vl,5)===bt?(i=bt,Vl+=5):(i=et,0===zl&&u(ki)),i!==et?(i=je())!==et?(e.substr(Vl,5)===Et?(i=Et,Vl+=5):(i=et,0===zl&&u(Yi)),i!==et?(i=je())!==et?(e.substr(Vl,8)===Bt?(i=Bt,Vl+=8):(i=et,0===zl&&u(qi)),i===et&&(e.substr(Vl,5)===Nt?(i=Nt,Vl+=5):(i=et,0===zl&&u(Vi))),i!==et?(Jl=n,n=["emptyOrderDecl",i]):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et),Wl[t]={i:Vl,result:n},t=n),t===et)))))){var o;if(n=Wl[t=233*Vl+14])Vl=n.i,t=n.result;else{var s;if(n=Vl,e.substr(Vl,7)===pt?(i=pt,Vl+=7):(i=et,0===zl&&u(Ri)),i!==et)if((i=je())!==et)if(e.substr(Vl,15)===Ct?(i=Ct,Vl+=15):(i=et,0===zl&&u(Ji)),i!==et)if((i=je())!==et)if((o=Wl[i=233*Vl+15])?(Vl=o.i,i=o.result):(e.substr(Vl,8)===ft?(o=ft,Vl+=8):(o=et,0===zl&&u(Mi)),o===et&&(e.substr(Vl,11)===It?(o=It,Vl+=11):(o=et,0===zl&&u(Ki))),Wl[i]={i:Vl,result:o},i=o),i!==et)if(He(),44===e.charCodeAt(Vl)?(o=Tt,Vl++):(o=et,0===zl&&u(Qi)),o!==et)He(),(s=Wl[o=233*Vl+16])?(Vl=s.i,o=s.result):(e.substr(Vl,7)===Ot?(s=Ot,Vl+=7):(s=et,0===zl&&u(Zi)),s===et&&(e.substr(Vl,10)===St?(s=St,Vl+=10):(s=et,0===zl&&u(zi))),Wl[o]={i:Vl,result:s},o=s),o!==et?(Jl=n,n=["copyNamespacesDecl",["preserveMode",i],["inheritMode",o]]):(Vl=n,n=et);else Vl=n,n=et;else Vl=n,n=et;else Vl=n,n=et;else Vl=n,n=et;else Vl=n,n=et;else Vl=n,n=et;Wl[t]={i:Vl,result:n},t=n}if(t===et)if(n=Wl[t=233*Vl+17])Vl=n.i,t=n.result;else{if(n=Vl,e.substr(Vl,7)===pt?(i=pt,Vl+=7):(i=et,0===zl&&u(Ri)),i!==et)if((i=je())!==et){if(i=Vl,e.substr(Vl,14)===Dt?(o=Dt,Vl+=14):(o=et,0===zl&&u(Wi)),o!==et)if((s=je())!==et){var l=Be();l!==et?(Jl=i,i=["decimalFormatName"].concat(l)):(Vl=i,i=et)}else Vl=i,i=et;else Vl=i,i=et;if(i===et&&(i=Vl,e.substr(Vl,7)===mt?(o=mt,Vl+=7):(o=et,0===zl&&u(Fi)),o!==et?(s=je())!==et?(e.substr(Vl,14)===Dt?(l=Dt,Vl+=14):(l=et,0===zl&&u(Wi)),l!==et?(Jl=i,i=null):(Vl=i,i=et)):(Vl=i,i=et):(Vl=i,i=et)),i!==et){if(o=[],s=Vl,(l=je())!==et)if((l=f())!==et){var c=je();c!==et?(61===e.charCodeAt(Vl)?(c=lt,Vl++):(c=et,0===zl&&u(Si)),c!==et?(c=je())!==et?(c=Ce())!==et?(Jl=s,s=r(0,l,c)):(Vl=s,s=et):(Vl=s,s=et):(Vl=s,s=et)):(Vl=s,s=et)}else Vl=s,s=et;else Vl=s,s=et;for(;s!==et;)o.push(s),s=Vl,(l=je())!==et?(l=f())!==et?(c=je())!==et?(61===e.charCodeAt(Vl)?(c=lt,Vl++):(c=et,0===zl&&u(Si)),c!==et?(c=je())!==et?(c=Ce())!==et?(Jl=s,s=r(0,l,c)):(Vl=s,s=et):(Vl=s,s=et):(Vl=s,s=et)):(Vl=s,s=et):(Vl=s,s=et):(Vl=s,s=et);Jl=n,n=["decimalFormatDecl"].concat(i?[i]:[],o)}else Vl=n,n=et}else Vl=n,n=et;else Vl=n,n=et;Wl[t]={i:Vl,result:n},t=n}}return Wl[a]={i:Vl,result:t},t}function f(){var t,n=233*Vl+18;return(t=Wl[n])?(Vl=t.i,t.result):(e.substr(Vl,17)===Rt?(t=Rt,Vl+=17):(t=et,0===zl&&u($i)),t===et&&(e.substr(Vl,18)===Gt?(t=Gt,Vl+=18):(t=et,0===zl&&u(eo)),t===et&&(e.substr(Vl,8)===Mt?(t=Mt,Vl+=8):(t=et,0===zl&&u(to)),t===et&&(e.substr(Vl,10)===Ut?(t=Ut,Vl+=10):(t=et,0===zl&&u(no)),t===et&&(e.substr(Vl,3)===Ft?(t=Ft,Vl+=3):(t=et,0===zl&&u(ro)),t===et&&(e.substr(Vl,7)===Pt?(t=Pt,Vl+=7):(t=et,0===zl&&u(ao)),t===et&&(e.substr(Vl,9)===Ht?(t=Ht,Vl+=9):(t=et,0===zl&&u(io)),t===et&&(e.substr(Vl,10)===jt?(t=jt,Vl+=10):(t=et,0===zl&&u(oo)),t===et&&(e.substr(Vl,5)===Xt?(t=Xt,Vl+=5):(t=et,0===zl&&u(so)),t===et&&(e.substr(Vl,17)===_t?(t=_t,Vl+=17):(t=et,0===zl&&u(uo)),t===et&&(e.substr(Vl,18)===Lt?(t=Lt,Vl+=18):(t=et,0===zl&&u(lo)))))))))))),Wl[n]={i:Vl,result:t},t)}function d(){var t,n,r,a=233*Vl+19;if(t=Wl[a])return Vl=t.i,t.result;if(n=Wl[t=233*Vl+20])Vl=n.i,t=n.result;else{if(n=Vl,e.substr(Vl,6)===kt){var i=kt;Vl+=6}else i=et,0===zl&&u(co);if(i!==et)if((i=je())!==et)if(e.substr(Vl,6)===Yt?(i=Yt,Vl+=6):(i=et,0===zl&&u(po)),i!==et){i=Vl;var o=je();if(o!==et){if(r=Wl[o=233*Vl+21])Vl=r.i,o=r.result;else{if(r=Vl,e.substr(Vl,9)===ut){var s=ut;Vl+=9}else s=et,0===zl&&u(Oi);if(s!==et){var l=je();if(l!==et){var c=Ge();if(c!==et){if(He(),61===e.charCodeAt(Vl)){var p=lt;Vl++}else p=et,0===zl&&u(Si);p!==et?(Jl=r,r=["namespacePrefix",c]):(Vl=r,r=et)}else Vl=r,r=et}else Vl=r,r=et}else Vl=r,r=et;if(r===et){if(s=r=Vl,e.substr(Vl,7)===mt?(l=mt,Vl+=7):(l=et,0===zl&&u(Fi)),l!==et)if((c=je())!==et){if(e.substr(Vl,7)===Vt){var h=Vt;Vl+=7}else h=et,0===zl&&u(fo);if(h!==et)if((p=je())!==et){if(e.substr(Vl,9)===ut){var f=ut;Vl+=9}else f=et,0===zl&&u(Oi);if(f!==et){var d=Ve();d!==et?s=l=[l,c,h,p,f,d]:(Vl=s,s=et)}else Vl=s,s=et}else Vl=s,s=et;else Vl=s,s=et}else Vl=s,s=et;else Vl=s,s=et;s!==et&&(Jl=r,s=["defaultElementNamespace"]),r=s}Wl[o]={i:Vl,result:r},o=r}o!==et?(Jl=i,i=o):(Vl=i,i=et)}else Vl=i,i=et;if(i===et&&(i=null),He(),(o=Ce())!==et){if(r=Vl,(s=je())!==et)if(e.substr(Vl,2)===qt?(s=qt,Vl+=2):(s=et,0===zl&&u(ho)),s!==et)if((s=je())!==et)if((s=Ce())!==et){for(l=[],c=Vl,(h=je())!==et?(44===e.charCodeAt(Vl)?(h=Tt,Vl++):(h=et,0===zl&&u(Qi)),h!==et?(h=je())!==et?(h=Ce())!==et?(Jl=c,c=h):(Vl=c,c=et):(Vl=c,c=et):(Vl=c,c=et)):(Vl=c,c=et);c!==et;)l.push(c),c=Vl,(h=je())!==et?(44===e.charCodeAt(Vl)?(h=Tt,Vl++):(h=et,0===zl&&u(Qi)),h!==et?(h=je())!==et?(h=Ce())!==et?(Jl=c,c=h):(Vl=c,c=et):(Vl=c,c=et):(Vl=c,c=et)):(Vl=c,c=et);Jl=r,r=[s].concat(l)}else Vl=r,r=et;else Vl=r,r=et;else Vl=r,r=et;else Vl=r,r=et;r===et&&(r=null),Jl=n,n=["schemaImport"].concat(i?[i]:[],[["targetNamespace",o]],r?[r]:[])}else Vl=n,n=et}else Vl=n,n=et;else Vl=n,n=et;else Vl=n,n=et;Wl[t]={i:Vl,result:n},t=n}if(t===et)if(n=Wl[t=233*Vl+22])Vl=n.i,t=n.result;else{if(n=Vl,e.substr(Vl,6)===kt?(i=kt,Vl+=6):(i=et,0===zl&&u(co)),i!==et)if((i=je())!==et)if(e.substr(Vl,6)===st?(i=st,Vl+=6):(i=et,0===zl&&u(Ii)),i!==et)if(i=Vl,(o=je())!==et?(e.substr(Vl,9)===ut?(o=ut,Vl+=9):(o=et,0===zl&&u(Oi)),o!==et?(r=je())!==et?(s=Vl,(s=(l=Ge())!==et?e.substring(s,Vl):l)!==et?(He(),61===e.charCodeAt(Vl)?(l=lt,Vl++):(l=et,0===zl&&u(Si)),l!==et?(Jl=i,i=s):(Vl=i,i=et)):(Vl=i,i=et)):(Vl=i,i=et):(Vl=i,i=et)):(Vl=i,i=et),i===et&&(i=null),He(),(o=Ce())!==et){if(r=Vl,(s=je())!==et)if(e.substr(Vl,2)===qt?(l=qt,Vl+=2):(l=et,0===zl&&u(ho)),l!==et)if((l=je())!==et)if((s=Ce())!==et)for(r=[],s=Vl,l=He(),44===e.charCodeAt(Vl)?(c=Tt,Vl++):(c=et,0===zl&&u(Qi)),c!==et?(h=He(),(p=Ce())!==et?s=l=[l,c,h,p]:(Vl=s,s=et)):(Vl=s,s=et);s!==et;)r.push(s),s=Vl,l=He(),44===e.charCodeAt(Vl)?(c=Tt,Vl++):(c=et,0===zl&&u(Qi)),c!==et?(h=He(),(p=Ce())!==et?s=l=[l,c,h,p]:(Vl=s,s=et)):(Vl=s,s=et);else Vl=r;else Vl=r;else Vl=r;else Vl=r;Jl=n,n=["moduleImport",["namespacePrefix",i],["targetNamespace",o]]}else Vl=n,n=et;else Vl=n,n=et;else Vl=n,n=et;else Vl=n,n=et;Wl[t]={i:Vl,result:n},t=n}return Wl[a]={i:Vl,result:t},t}function m(){var t,n=233*Vl+23;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,e.substr(Vl,7)===pt){var r=pt;Vl+=7}else r=et,0===zl&&u(Ri);if(r!==et)if((r=je())!==et)if(e.substr(Vl,9)===ut?(r=ut,Vl+=9):(r=et,0===zl&&u(Oi)),r!==et)if((r=je())!==et)if((r=Ge())!==et){if(He(),61===e.charCodeAt(Vl)){var a=lt;Vl++}else a=et,0===zl&&u(Si);a!==et?(He(),(a=Ce())!==et?(Jl=t,t=["namespaceDecl",["prefix",r],["uri",a]]):(Vl=t,t=et)):(Vl=t,t=et)}else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function v(){var t,n=233*Vl+24;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,e.substr(Vl,7)===pt){var r=pt;Vl+=7}else r=et,0===zl&&u(Ri);if(r!==et)if((r=je())!==et)if(e.substr(Vl,7)===mt?(r=mt,Vl+=7):(r=et,0===zl&&u(Fi)),r!==et)if((r=je())!==et)if(e.substr(Vl,7)===Vt?(r=Vt,Vl+=7):(r=et,0===zl&&u(fo)),r===et&&(e.substr(Vl,8)===Jt?(r=Jt,Vl+=8):(r=et,0===zl&&u(mo))),r!==et){var a=je();a!==et?(e.substr(Vl,9)===ut?(a=ut,Vl+=9):(a=et,0===zl&&u(Oi)),a!==et?(a=je())!==et?(a=Ce())!==et?(Jl=t,t=["defaultNamespaceDecl",["defaultNamespaceCategory",r],["uri",a]]):(Vl=t,t=et):(Vl=t,t=et):(Vl=t,t=et)):(Vl=t,t=et)}else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function g(){var t,n=233*Vl+25;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,e.substr(Vl,7)===pt){var r=pt;Vl+=7}else r=et,0===zl&&u(Ri);if(r!==et)if((r=je())!==et){r=[];var a=Vl,i=w();if(i===et&&(i=y()),i!==et){var o=je();o!==et?(Jl=a,a=i):(Vl=a,a=et)}else Vl=a,a=et;for(;a!==et;)r.push(a),a=Vl,(i=w())===et&&(i=y()),i!==et?(o=je())!==et?(Jl=a,a=i):(Vl=a,a=et):(Vl=a,a=et);if(i=Wl[a=233*Vl+28])Vl=i.i,a=i.result;else{if(i=Vl,e.substr(Vl,8)===Wt?(o=Wt,Vl+=8):(o=et,0===zl&&u(Ao)),o!==et)if((o=je())!==et)if(36===e.charCodeAt(Vl)?(o=$t,Vl++):(o=et,0===zl&&u(xo)),o!==et)if(He(),(o=Be())!==et){var s=Vl;He();var l=me();l!==et?(Jl=s,s=l):(Vl=s,s=et),s===et&&(s=null);var c=Vl;if(He(),e.substr(Vl,2)===en?(l=en,Vl+=2):(l=et,0===zl&&u(bo)),l!==et?(He(),(l=T())!==et?(Jl=c,c=["varValue",l]):(Vl=c,c=et)):(Vl=c,c=et),c===et)if(c=Vl,(l=je())!==et)if(e.substr(Vl,8)===tn?(l=tn,Vl+=8):(l=et,0===zl&&u(Eo)),l!==et){if(l=Vl,He(),e.substr(Vl,2)===en){var p=en;Vl+=2}else p=et,0===zl&&u(bo);p!==et?(He(),(p=T())!==et?(Jl=l,l=["varValue",p]):(Vl=l,l=et)):(Vl=l,l=et),l===et&&(l=null),Jl=c,c=["external"].concat(l?[l]:[])}else Vl=c,c=et;else Vl=c,c=et;c!==et?(Jl=i,i=["varDecl",["varName"].concat(o)].concat(s?[s]:[],[c])):(Vl=i,i=et)}else Vl=i,i=et;else Vl=i,i=et;else Vl=i,i=et;else Vl=i,i=et;Wl[a]={i:Vl,result:i},a=i}a===et&&((i=Wl[a=233*Vl+30])?(Vl=i.i,a=i.result):(i=Vl,e.substr(Vl,8)===Jt?(o=Jt,Vl+=8):(o=et,0===zl&&u(mo)),o!==et?(o=je())!==et?(s=Vl,zl++,o=qe(),zl--,o===et?s=void 0:(Vl=s,s=et),s!==et?(o=Be())!==et?(He(),40===e.charCodeAt(Vl)?(s=Zt,Vl++):(s=et,0===zl&&u(yo)),s!==et?(He(),(s=x())===et&&(s=null),He(),41===e.charCodeAt(Vl)?(c=zt,Vl++):(c=et,0===zl&&u(wo)),c!==et?(c=Vl,(l=je())!==et?(e.substr(Vl,2)===an?(l=an,Vl+=2):(l=et,0===zl&&u(Co)),l!==et?(p=je())!==et?(l=ve())!==et?(Jl=c,c=l):(Vl=c,c=et):(Vl=c,c=et):(Vl=c,c=et)):(Vl=c,c=et),c===et&&(c=null),He(),l=Vl,(p=E())!==et&&(Jl=l,p=["functionBody",p]),(l=p)===et&&(l=Vl,e.substr(Vl,8)===tn?(p=tn,Vl+=8):(p=et,0===zl&&u(Eo)),p!==et&&(Jl=l,p=["externalDefinition"]),l=p),l!==et?(Jl=i,i=["functionDecl",["functionName"].concat(o),["paramList"].concat(s||[])].concat(c?[["typeDeclaration"].concat(c)]:[],[l])):(Vl=i,i=et)):(Vl=i,i=et)):(Vl=i,i=et)):(Vl=i,i=et):(Vl=i,i=et)):(Vl=i,i=et):(Vl=i,i=et),Wl[a]={i:Vl,result:i},a=i)),a!==et?(Jl=t,t=[a[0]].concat(r,a.slice(1))):(Vl=t,t=et)}else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function y(){var t,n=233*Vl+26;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,e.substr(Vl,8)===Qt){var r=Qt;Vl+=8}else r=et,0===zl&&u(vo);return r!==et&&(Jl=t,r=["annotation",["annotationName","updating"]]),t=r,Wl[n]={i:Vl,result:t},t}function w(){var t,n=233*Vl+27;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,37===e.charCodeAt(Vl)){var r=Kt;Vl++}else r=et,0===zl&&u(go);if(r!==et)if(He(),(r=Be())!==et){var a=Vl;if(He(),40===e.charCodeAt(Vl)){var i=Zt;Vl++}else i=et,0===zl&&u(yo);if(i!==et)if(He(),(i=re())!==et){var o=[],s=Vl;if(He(),44===e.charCodeAt(Vl)){var l=Tt;Vl++}else l=et,0===zl&&u(Qi);for(l!==et?(He(),(l=re())!==et?(Jl=s,s=l):(Vl=s,s=et)):(Vl=s,s=et);s!==et;)o.push(s),s=Vl,He(),44===e.charCodeAt(Vl)?(l=Tt,Vl++):(l=et,0===zl&&u(Qi)),l!==et?(He(),(l=re())!==et?(Jl=s,s=l):(Vl=s,s=et)):(Vl=s,s=et);He(),41===e.charCodeAt(Vl)?(s=zt,Vl++):(s=et,0===zl&&u(wo)),s!==et?(Jl=a,a=i.concat(o)):(Vl=a,a=et)}else Vl=a,a=et;else Vl=a,a=et;a===et&&(a=null),Jl=t,t=["annotation",["annotationName"].concat(r)].concat(a?["arguments",a]:[])}else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function A(){var t,n=233*Vl+29;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,e.substr(Vl,7)===pt){var r=pt;Vl+=7}else r=et,0===zl&&u(Ri);if(r!==et)if((r=je())!==et)if(e.substr(Vl,7)===nn?(r=nn,Vl+=7):(r=et,0===zl&&u(Bo)),r!==et)if((r=je())!==et)if(e.substr(Vl,4)===rn?(r=rn,Vl+=4):(r=et,0===zl&&u(No)),r!==et){var a=Vl,i=je();if(i!==et)if(e.substr(Vl,2)===an?(r=an,Vl+=2):(r=et,0===zl&&u(Co)),r!==et){var o=ge();o!==et||(Vl=a)}else Vl=a;else Vl=a;if(i=Vl,r=He(),e.substr(Vl,2)===en?(o=en,Vl+=2):(o=et,0===zl&&u(bo)),o!==et){a=He();var s=T();s!==et?i=r=[r,o,a,s]:(Vl=i,i=et)}else Vl=i,i=et;if(i===et)if(i=Vl,(r=je())!==et)if(e.substr(Vl,8)===tn?(o=tn,Vl+=8):(o=et,0===zl&&u(Eo)),o!==et){if(a=Vl,s=He(),e.substr(Vl,2)===en?(i=en,Vl+=2):(i=et,0===zl&&u(bo)),i!==et){var l=He(),c=T();c!==et?a=s=[s,i,l,c]:(Vl=a,a=et)}else Vl=a,a=et;a===et&&(a=null),i=r=[r,o,a]}else Vl=i,i=et;else Vl=i,i=et;i!==et?(Jl=t,t={type:"contextItemDecl"}):(Vl=t,t=et)}else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function x(){var t,n=233*Vl+31;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=b();if(r!==et){var a=[],i=Vl;if(He(),44===e.charCodeAt(Vl)){var o=Tt;Vl++}else o=et,0===zl&&u(Qi);for(o!==et?(He(),(o=b())!==et?(Jl=i,i=o):(Vl=i,i=et)):(Vl=i,i=et);i!==et;)a.push(i),i=Vl,He(),44===e.charCodeAt(Vl)?(o=Tt,Vl++):(o=et,0===zl&&u(Qi)),o!==et?(He(),(o=b())!==et?(Jl=i,i=o):(Vl=i,i=et)):(Vl=i,i=et);Jl=t,t=[r].concat(a)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function b(){var t,n=233*Vl+32;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,36===e.charCodeAt(Vl)){var r=$t;Vl++}else r=et,0===zl&&u(xo);if(r!==et)if((r=Be())!==et){var a=Vl,i=je();i!==et?(i=me())!==et?(Jl=a,a=i):(Vl=a,a=et):(Vl=a,a=et),a===et&&(a=null),Jl=t,t=["param",["varName"].concat(r)].concat(a?[a]:[])}else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function E(){var e,t=233*Vl+33;if(e=Wl[t])return Vl=e.i,e.result;e=Vl;var n=B();return n!==et&&(Jl=e,n=n||["sequenceExpr"]),e=n,Wl[t]={i:Vl,result:e},e}function B(){var t,n=233*Vl+34;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,123===e.charCodeAt(Vl)){var r=on;Vl++}else r=et,0===zl&&u(To);if(r!==et){if(He(),(r=C())===et&&(r=null),He(),125===e.charCodeAt(Vl)){var a=sn;Vl++}else a=et,0===zl&&u(Io);a!==et?(Jl=t,t=r||null):(Vl=t,t=et)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function N(){var t,n=233*Vl+35;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,e.substr(Vl,7)===pt){var r=pt;Vl+=7}else r=et,0===zl&&u(Ri);return r!==et?(r=je())!==et?(e.substr(Vl,6)===un?(r=un,Vl+=6):(r=et,0===zl&&u(Oo)),r!==et?(r=je())!==et?(r=Be())!==et?(r=je())!==et?(r=Ce())!==et?(Jl=t,t={type:"optionDecl"}):(Vl=t,t=et):(Vl=t,t=et):(Vl=t,t=et):(Vl=t,t=et):(Vl=t,t=et)):(Vl=t,t=et):(Vl=t,t=et),Wl[n]={i:Vl,result:t},t}function C(){var t,n=233*Vl+37;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=T();if(r!==et){var a=[],i=Vl;if(He(),44===e.charCodeAt(Vl)){var o=Tt;Vl++}else o=et,0===zl&&u(Qi);for(o!==et?(He(),(o=T())!==et?(Jl=i,i=o):(Vl=i,i=et)):(Vl=i,i=et);i!==et;)a.push(i),i=Vl,He(),44===e.charCodeAt(Vl)?(o=Tt,Vl++):(o=et,0===zl&&u(Qi)),o!==et?(He(),(o=T())!==et?(Jl=i,i=o):(Vl=i,i=et)):(Vl=i,i=et);Jl=t,t=0===a.length?r:["sequenceExpr",r].concat(a)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function T(){var t=233*Vl+38,n=Wl[t];if(n)return Vl=n.i,n.result;var r=Vl,a=233*Vl+39,i=Wl[a];if(i){Vl=i.i;var o=i.result}else{var s=Vl,l=I();if(l!==et){var c=[],p=Vl,h=He(),f=O();for(f!==et?(Jl=p,p=f):(Vl=p,p=et);p!==et;)c.push(p),p=Vl,h=He(),(f=O())!==et?(Jl=p,p=f):(Vl=p,p=et);p=He();var d=233*Vl+58,m=Wl[d];if(m)Vl=m.i,h=m.result;else{var v=Vl;if(e.substr(Vl,6)===wn){var g=wn;Vl+=6}else g=et,0===zl&&u(Xo);if(g!==et){He();var y=T();y!==et?(Jl=v,v=["returnClause",y]):(Vl=v,v=et)}else Vl=v,v=et;Wl[d]={i:Vl,result:v},h=v}h!==et?(Jl=s,s=["flworExpr",l].concat(c,[h])):(Vl=s,s=et)}else Vl=s,s=et;Wl[a]={i:Vl,result:s},o=s}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var w=233*Vl+59,A=Wl[w];if(A)Vl=A.i,o=A.result;else{var x=Vl;if(e.substr(Vl,4)===An){var b=An;Vl+=4}else b=et,0===zl&&u(_o);if(b===et&&(e.substr(Vl,5)===xn?(b=xn,Vl+=5):(b=et,0===zl&&u(Lo))),b!==et)if(je()!==et){var E=233*Vl+60,B=Wl[E];if(B){Vl=B.i;var N=B.result}else{var S=Vl,D=M();if(D!==et){var R=[],G=Vl;if(He(),44===e.charCodeAt(Vl)){var P=Tt;Vl++}else P=et,0===zl&&u(Qi);if(P!==et){He();var H=M();H!==et?(Jl=G,G=H):(Vl=G,G=et)}else Vl=G,G=et;for(;G!==et;)R.push(G),G=Vl,He(),44===e.charCodeAt(Vl)?(P=Tt,Vl++):(P=et,0===zl&&u(Qi)),P!==et?(He(),(H=M())!==et?(Jl=G,G=H):(Vl=G,G=et)):(Vl=G,G=et);Jl=S,S=[D].concat(R)}else Vl=S,S=et;Wl[E]={i:Vl,result:S},N=S}if(N!==et)if(je()!==et){if(e.substr(Vl,9)===bn){var j=bn;Vl+=9}else j=et,0===zl&&u(ko);if(j!==et)if(je()!==et){var X=T();X!==et?(Jl=x,x=["quantifiedExpr",["quantifier",b]].concat(N,[["predicateExpr",X]])):(Vl=x,x=et)}else Vl=x,x=et;else Vl=x,x=et}else Vl=x,x=et;else Vl=x,x=et}else Vl=x,x=et;else Vl=x,x=et;Wl[w]={i:Vl,result:x},o=x}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var _=233*Vl+62,L=Wl[_];if(L)Vl=L.i,o=L.result;else{var k=Vl;if(e.substr(Vl,10)===En){var Y=En;Vl+=10}else Y=et,0===zl&&u(Yo);if(Y!==et){if(He(),40===e.charCodeAt(Vl)){var q=Zt;Vl++}else q=et,0===zl&&u(yo);if(q!==et){var V=C();if(V!==et){if(41===e.charCodeAt(Vl)){var J=zt;Vl++}else J=et,0===zl&&u(wo);if(J!==et){He();var Q=[],K=Vl,Z=U();if(Z!==et){var z=He();Jl=K,K=Z}else Vl=K,K=et;if(K!==et)for(;K!==et;)Q.push(K),K=Vl,(Z=U())!==et?(z=He(),Jl=K,K=Z):(Vl=K,K=et);else Q=et;if(Q!==et)if(e.substr(Vl,7)===mt?(K=mt,Vl+=7):(K=et,0===zl&&u(Fi)),K!==et)if((Z=je())!==et){if(z=Vl,36===e.charCodeAt(Vl)){var W=$t;Vl++}else W=et,0===zl&&u(xo);if(W!==et){var $=Be();if($!==et){var ee=je();ee!==et?(Jl=z,z=$):(Vl=z,z=et)}else Vl=z,z=et}else Vl=z,z=et;z===et&&(z=null),e.substr(Vl,6)===wn?(W=wn,Vl+=6):(W=et,0===zl&&u(Xo)),W!==et?($=je())!==et?(ee=T())!==et?(Jl=k,k=["typeswitchExpr",["argExpr",V]].concat(Q,[["typeswitchExprDefaultClause"].concat(z||[],[["resultExpr",ee]])])):(Vl=k,k=et):(Vl=k,k=et):(Vl=k,k=et)}else Vl=k,k=et;else Vl=k,k=et;else Vl=k,k=et}else Vl=k,k=et}else Vl=k,k=et}else Vl=k,k=et}else Vl=k,k=et;Wl[_]={i:Vl,result:k},o=k}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var te=233*Vl+65,ne=Wl[te];if(ne)Vl=ne.i,o=ne.result;else{var re=Vl;if(e.substr(Vl,2)===Cn){var ae=Cn;Vl+=2}else ae=et,0===zl&&u(Jo);if(ae!==et){if(He(),40===e.charCodeAt(Vl)){var ie=Zt;Vl++}else ie=et,0===zl&&u(yo);if(ie!==et){He();var oe=C();if(oe!==et){if(He(),41===e.charCodeAt(Vl)){var se=zt;Vl++}else se=et,0===zl&&u(wo);if(se!==et){if(He(),e.substr(Vl,4)===Tn){var ue=Tn;Vl+=4}else ue=et,0===zl&&u(Qo);if(ue!==et)if(Ve()!==et){He();var le=T();if(le!==et){if(He(),e.substr(Vl,4)===In){var ce=In;Vl+=4}else ce=et,0===zl&&u(Ko);if(ce!==et)if(Ve()!==et){He();var pe=T();pe!==et?(Jl=re,re=["ifThenElseExpr",["ifClause",oe],["thenClause",le],["elseClause",pe]]):(Vl=re,re=et)}else Vl=re,re=et;else Vl=re,re=et}else Vl=re,re=et}else Vl=re,re=et;else Vl=re,re=et}else Vl=re,re=et}else Vl=re,re=et}else Vl=re,re=et}else Vl=re,re=et;Wl[te]={i:Vl,result:re},o=re}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var he=233*Vl+214,fe=Wl[he];if(fe)Vl=fe.i,o=fe.result;else{var de=Vl;if(e.substr(Vl,6)===ja){var me=ja;Vl+=6}else me=et,0===zl&&u(Bl);if(me!==et)if(je()!==et){if(e.substr(Vl,5)===Xa){var ve=Xa;Vl+=5}else ve=et,0===zl&&u(Nl);if(ve===et&&(e.substr(Vl,4)===_a?(ve=_a,Vl+=4):(ve=et,0===zl&&u(Cl))),ve!==et)if(je()!==et){var ge=T();if(ge!==et)if(je()!==et){var ye,we=233*Vl+213,Ae=Wl[we];if(Ae){Vl=Ae.i;var xe=Ae.result}else{var be=ye=Vl;if(e.substr(Vl,2)===an){var Ee=an;Vl+=2}else Ee=et,0===zl&&u(Co);if(Ee!==et)if(je()!==et){var Ne=Vl;if(e.substr(Vl,5)===Ma){var Ce=Ma;Vl+=5}else Ce=et,0===zl&&u(wl);Ce!==et&&(Jl=Ne,Ce=["insertAsFirst"]),(Ne=Ce)===et&&(Ne=Vl,e.substr(Vl,4)===Ua?(Ce=Ua,Vl+=4):(Ce=et,0===zl&&u(Al)),Ce!==et&&(Jl=Ne,Ce=["insertAsLast"]),Ne=Ce),Ne!==et?(Ce=je())!==et?(Jl=be,be=Ne):(Vl=be,be=et):(Vl=be,be=et)}else Vl=be,be=et;else Vl=be,be=et;be===et&&(be=null),e.substr(Vl,4)===Fa?(Ee=Fa,Vl+=4):(Ee=et,0===zl&&u(xl)),Ee!==et?(Jl=ye,ye=be?["insertInto",be]:["insertInto"]):(Vl=ye,ye=et),ye===et&&(ye=Vl,e.substr(Vl,5)===Pa?(be=Pa,Vl+=5):(be=et,0===zl&&u(bl)),be!==et&&(Jl=ye,be=["insertAfter"]),(ye=be)===et&&(ye=Vl,e.substr(Vl,6)===Ha?(be=Ha,Vl+=6):(be=et,0===zl&&u(El)),be!==et&&(Jl=ye,be=["insertBefore"]),ye=be)),Wl[we]={i:Vl,result:ye},xe=ye}if(xe!==et)if(je()!==et){var Te=T();Te!==et?(Jl=de,de=["insertExpr",["sourceExpr",ge],xe,["targetExpr",Te]]):(Vl=de,de=et)}else Vl=de,de=et;else Vl=de,de=et}else Vl=de,de=et;else Vl=de,de=et}else Vl=de,de=et;else Vl=de,de=et}else Vl=de,de=et;else Vl=de,de=et;Wl[he]={i:Vl,result:de},o=de}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var Ie=233*Vl+215,Oe=Wl[Ie];if(Oe)Vl=Oe.i,o=Oe.result;else{var Se=Vl;if(e.substr(Vl,6)===La){var De=La;Vl+=6}else De=et,0===zl&&u(Tl);if(De!==et)if(je()!==et){if(e.substr(Vl,5)===Xa){var Re=Xa;Vl+=5}else Re=et,0===zl&&u(Nl);if(Re===et&&(e.substr(Vl,4)===_a?(Re=_a,Vl+=4):(Re=et,0===zl&&u(Cl))),Re!==et)if(je()!==et){var Ge=T();Ge!==et?(Jl=Se,Se=["deleteExpr",["targetExpr",Ge]]):(Vl=Se,Se=et)}else Vl=Se,Se=et;else Vl=Se,Se=et}else Vl=Se,Se=et;else Vl=Se,Se=et;Wl[Ie]={i:Vl,result:Se},o=Se}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var Me=233*Vl+217,Ue=Wl[Me];if(Ue)Vl=Ue.i,o=Ue.result;else{var Fe=Vl;if(e.substr(Vl,6)===Va){var Xe=Va;Vl+=6}else Xe=et,0===zl&&u(Dl);if(Xe!==et)if(je()!==et){if(e.substr(Vl,4)===_a){var _e=_a;Vl+=4}else _e=et,0===zl&&u(Cl);if(_e!==et){He();var Le=T();if(Le!==et)if(je()!==et){if(e.substr(Vl,2)===an){var ke=an;Vl+=2}else ke=et,0===zl&&u(Co);if(ke!==et)if(je()!==et){var Ye=T();Ye!==et?(Jl=Fe,Fe=["renameExpr",["targetExpr",Le],["newNameExpr",Ye]]):(Vl=Fe,Fe=et)}else Vl=Fe,Fe=et;else Vl=Fe,Fe=et}else Vl=Fe,Fe=et;else Vl=Fe,Fe=et}else Vl=Fe,Fe=et}else Vl=Fe,Fe=et;else Vl=Fe,Fe=et;Wl[Me]={i:Vl,result:Fe},o=Fe}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var qe=233*Vl+216,Qe=Wl[qe];if(Qe)Vl=Qe.i,o=Qe.result;else{var Ke=Vl;if(e.substr(Vl,7)===ka){var Ze=ka;Vl+=7}else Ze=et,0===zl&&u(Il);if(Ze!==et)if(je()!==et){var ze=Vl;if(e.substr(Vl,5)===Ya){var We=Ya;Vl+=5}else We=et,0===zl&&u(Ol);if(We!==et){var tt=je();if(tt!==et){if(e.substr(Vl,2)===kn){var nt=kn;Vl+=2}else nt=et,0===zl&&u(cs);if(nt!==et){var rt=je();rt!==et?ze=We=[We,tt,nt,rt]:(Vl=ze,ze=et)}else Vl=ze,ze=et}else Vl=ze,ze=et}else Vl=ze,ze=et;if(ze===et&&(ze=null),e.substr(Vl,4)===_a?(We=_a,Vl+=4):(We=et,0===zl&&u(Cl)),We!==et)if((tt=je())!==et)if((nt=T())!==et)if((rt=je())!==et){if(e.substr(Vl,4)===qa){var at=qa;Vl+=4}else at=et,0===zl&&u(Sl);if(at!==et)if(je()!==et){var it=T();it!==et?(Jl=Ke,Ke=ze?["replaceExpr",["replaceValue"],["targetExpr",nt],["replacementExpr",it]]:["replaceExpr",["targetExpr",nt],["replacementExpr",it]]):(Vl=Ke,Ke=et)}else Vl=Ke,Ke=et;else Vl=Ke,Ke=et}else Vl=Ke,Ke=et;else Vl=Ke,Ke=et;else Vl=Ke,Ke=et;else Vl=Ke,Ke=et}else Vl=Ke,Ke=et;else Vl=Ke,Ke=et;Wl[qe]={i:Vl,result:Ke},o=Ke}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var ot=233*Vl+218,st=Wl[ot];if(st)Vl=st.i,o=st.result;else{var ut=Vl;if(e.substr(Vl,4)===Ja){var lt=Ja;Vl+=4}else lt=et,0===zl&&u(Rl);if(lt!==et)if(je()!==et){var ct=Pe();if(ct!==et){var pt=[],ht=Vl,ft=He();if(44===e.charCodeAt(Vl)){var dt=Tt;Vl++}else dt=et,0===zl&&u(Qi);if(dt!==et){var vt=He(),gt=Pe();gt!==et?(Jl=ht,ht=gt):(Vl=ht,ht=et)}else Vl=ht,ht=et;for(;ht!==et;)pt.push(ht),ht=Vl,ft=He(),44===e.charCodeAt(Vl)?(dt=Tt,Vl++):(dt=et,0===zl&&u(Qi)),dt!==et?(vt=He(),(gt=Pe())!==et?(Jl=ht,ht=gt):(Vl=ht,ht=et)):(Vl=ht,ht=et);if(ht=He(),e.substr(Vl,6)===Qa?(ft=Qa,Vl+=6):(ft=et,0===zl&&u(Gl)),ft!==et)if((dt=je())!==et)if((vt=T())!==et)if((gt=je())!==et){if(e.substr(Vl,6)===wn){var yt=wn;Vl+=6}else yt=et,0===zl&&u(Xo);if(yt!==et)if(je()!==et){var wt=T();wt!==et?(Jl=ut,ut=["transformExpr",["transformCopies",ct].concat(pt),["modifyExpr",vt],["returnExpr",wt]]):(Vl=ut,ut=et)}else Vl=ut,ut=et;else Vl=ut,ut=et}else Vl=ut,ut=et;else Vl=ut,ut=et;else Vl=ut,ut=et;else Vl=ut,ut=et}else Vl=ut,ut=et}else Vl=ut,ut=et;else Vl=ut,ut=et;Wl[ot]={i:Vl,result:ut},o=ut}if(o!==et&&(Jl=r,o=$e(o)),(r=o)===et){r=Vl;var At=233*Vl+66,xt=Wl[At];if(xt)Vl=xt.i,o=xt.result;else{var bt=Vl,Et=F();if(Et!==et){var Bt=[],Nt=Vl;if(He(),e.substr(Vl,2)===On){var Ct=On;Vl+=2}else Ct=et,0===zl&&u(Zo);if(Ct!==et){var It=Ve();if(It!==et){He();var Ot=F();Ot!==et?(Jl=Nt,Nt=Ot):(Vl=Nt,Nt=et)}else Vl=Nt,Nt=et}else Vl=Nt,Nt=et;for(;Nt!==et;)Bt.push(Nt),Nt=Vl,He(),e.substr(Vl,2)===On?(Ct=On,Vl+=2):(Ct=et,0===zl&&u(Zo)),Ct!==et?(It=Ve())!==et?(He(),(Ot=F())!==et?(Jl=Nt,Nt=Ot):(Vl=Nt,Nt=et)):(Vl=Nt,Nt=et):(Vl=Nt,Nt=et);Jl=bt,bt=Je("orOp",Et,Bt)}else Vl=bt,bt=et;Wl[At]={i:Vl,result:bt},o=bt}o!==et&&(Jl=r,o=$e(o)),r=o}}}}}}}}}return Wl[t]={i:Vl,result:r},r}function I(){var t,n,r=233*Vl+40;if(t=Wl[r])return Vl=t.i,t.result;if(n=Wl[t=233*Vl+42])Vl=n.i,t=n.result;else{if(n=Vl,e.substr(Vl,3)===ln){var a=ln;Vl+=3}else a=et,0===zl&&u(So);if(a!==et)if((a=je())!==et)if((a=S())!==et){var i=[],o=Vl;if(He(),44===e.charCodeAt(Vl)){var s=Tt;Vl++}else s=et,0===zl&&u(Qi);for(s!==et?(He(),(s=S())!==et?(Jl=o,o=s):(Vl=o,o=et)):(Vl=o,o=et);o!==et;)i.push(o),o=Vl,He(),44===e.charCodeAt(Vl)?(s=Tt,Vl++):(s=et,0===zl&&u(Qi)),s!==et?(He(),(s=S())!==et?(Jl=o,o=s):(Vl=o,o=et)):(Vl=o,o=et);Jl=n,n=["forClause",a].concat(i)}else Vl=n,n=et;else Vl=n,n=et;else Vl=n,n=et;Wl[t]={i:Vl,result:n},t=n}if(t===et)if(n=Wl[t=233*Vl+46])Vl=n.i,t=n.result;else{if(n=Vl,e.substr(Vl,3)===hn?(a=hn,Vl+=3):(a=et,0===zl&&u(Go)),a!==et)if(He(),(a=D())!==et){for(He(),i=[],o=Vl,44===e.charCodeAt(Vl)?(s=Tt,Vl++):(s=et,0===zl&&u(Qi)),s!==et?(He(),(s=D())!==et?(Jl=o,o=s):(Vl=o,o=et)):(Vl=o,o=et);o!==et;)i.push(o),o=Vl,44===e.charCodeAt(Vl)?(s=Tt,Vl++):(s=et,0===zl&&u(Qi)),s!==et?(He(),(s=D())!==et?(Jl=o,o=s):(Vl=o,o=et)):(Vl=o,o=et);Jl=n,n=["letClause",a].concat(i)}else Vl=n,n=et;else Vl=n,n=et;Wl[t]={i:Vl,result:n},t=n}return Wl[r]={i:Vl,result:t},t}function O(){var t,n=233*Vl+41;if(t=Wl[n])return Vl=t.i,t.result;if((t=I())===et){var r;if(r=Wl[t=233*Vl+48])Vl=r.i,t=r.result;else{if(r=Vl,e.substr(Vl,5)===fn){var a=fn;Vl+=5}else a=et,0===zl&&u(Mo);a!==et?(a=Ve())!==et?(He(),(a=T())!==et?(Jl=r,r=["whereClause",a]):(Vl=r,r=et)):(Vl=r,r=et):(Vl=r,r=et),Wl[t]={i:Vl,result:r},t=r}if(t===et){if(r=Wl[t=233*Vl+49])Vl=r.i,t=r.result;else{if(r=Vl,e.substr(Vl,5)===dn?(a=dn,Vl+=5):(a=et,0===zl&&u(Uo)),a!==et)if((a=je())!==et)if(e.substr(Vl,2)===mn?(a=mn,Vl+=2):(a=et,0===zl&&u(Fo)),a!==et){var i;if(He(),i=Wl[a=233*Vl+50])Vl=i.i,a=i.result;else{i=Vl;var o=R();if(o!==et){var s=[],l=Vl;if(He(),44===e.charCodeAt(Vl)){var c=Tt;Vl++}else c=et,0===zl&&u(Qi);for(c!==et?(He(),(c=R())!==et?(Jl=l,l=c):(Vl=l,l=et)):(Vl=l,l=et);l!==et;)s.push(l),l=Vl,He(),44===e.charCodeAt(Vl)?(c=Tt,Vl++):(c=et,0===zl&&u(Qi)),c!==et?(He(),(c=R())!==et?(Jl=l,l=c):(Vl=l,l=et)):(Vl=l,l=et);Jl=i,i=[o].concat(s)}else Vl=i,i=et;Wl[a]={i:Vl,result:i},a=i}a!==et?(Jl=r,r=["groupByClause"].concat(a)):(Vl=r,r=et)}else Vl=r,r=et;else Vl=r,r=et;else Vl=r,r=et;Wl[t]={i:Vl,result:r},t=r}if(t===et)if(r=Wl[t=233*Vl+54])Vl=r.i,t=r.result;else{if(a=r=Vl,e.substr(Vl,5)===bt?(i=bt,Vl+=5):(i=et,0===zl&&u(ki)),i!==et?(i=je())!==et?(e.substr(Vl,2)===mn?(i=mn,Vl+=2):(i=et,0===zl&&u(Fo)),i!==et?(Jl=a,a=!1):(Vl=a,a=et)):(Vl=a,a=et):(Vl=a,a=et),a===et&&(a=Vl,e.substr(Vl,6)===vn?(i=vn,Vl+=6):(i=et,0===zl&&u(Po)),i!==et?(i=je())!==et?(e.substr(Vl,5)===bt?(i=bt,Vl+=5):(i=et,0===zl&&u(ki)),i!==et?(i=je())!==et?(e.substr(Vl,2)===mn?(i=mn,Vl+=2):(i=et,0===zl&&u(Fo)),i!==et?(Jl=a,a=!0):(Vl=a,a=et)):(Vl=a,a=et):(Vl=a,a=et)):(Vl=a,a=et):(Vl=a,a=et)),a!==et){if(He(),o=Wl[i=233*Vl+55])Vl=o.i,i=o.result;else{if(o=Vl,(s=G())!==et){if(l=[],c=Vl,He(),44===e.charCodeAt(Vl)){var p=Tt;Vl++}else p=et,0===zl&&u(Qi);for(p!==et?(He(),(p=G())!==et?(Jl=c,c=p):(Vl=c,c=et)):(Vl=c,c=et);c!==et;)l.push(c),c=Vl,He(),44===e.charCodeAt(Vl)?(p=Tt,Vl++):(p=et,0===zl&&u(Qi)),p!==et?(He(),(p=G())!==et?(Jl=c,c=p):(Vl=c,c=et)):(Vl=c,c=et);Jl=o,o=[s].concat(l)}else Vl=o,o=et;Wl[i]={i:Vl,result:o},i=o}i!==et?(Jl=r,r=["orderByClause"].concat(a?[["stable"]]:[],i)):(Vl=r,r=et)}else Vl=r,r=et;Wl[t]={i:Vl,result:r},t=r}}}return Wl[n]={i:Vl,result:t},t}function S(){var t,n,r=233*Vl+43;if(t=Wl[r])return Vl=t.i,t.result;if(t=Vl,36===e.charCodeAt(Vl)){var a=$t;Vl++}else a=et,0===zl&&u(xo);if(a!==et)if((a=Be())!==et){He();var i=me();i===et&&(i=null),He();var o=233*Vl+44;if(n=Wl[o])Vl=n.i,o=n.result;else{if(n=Vl,e.substr(Vl,8)===pn){var s=pn;Vl+=8}else s=et,0===zl&&u(Ro);if(s!==et){var l=je();if(l!==et){if(e.substr(Vl,5)===Et){var c=Et;Vl+=5}else c=et,0===zl&&u(Yi);c!==et?n=s=[s,l,c]:(Vl=n,n=et)}else Vl=n,n=et}else Vl=n,n=et;Wl[o]={i:Vl,result:n},o=n}o===et&&(o=null),He(),(s=Wl[n=233*Vl+45])?(Vl=s.i,n=s.result):(s=Vl,e.substr(Vl,2)===qt?(l=qt,Vl+=2):(l=et,0===zl&&u(ho)),l!==et?(l=je())!==et?(36===e.charCodeAt(Vl)?(l=$t,Vl++):(l=et,0===zl&&u(xo)),l!==et?(l=Be())!==et?(Jl=s,s=["positionalVariableBinding"].concat(l)):(Vl=s,s=et):(Vl=s,s=et)):(Vl=s,s=et):(Vl=s,s=et),Wl[n]={i:Vl,result:s},n=s),n===et&&(n=null),He(),e.substr(Vl,2)===cn?(s=cn,Vl+=2):(s=et,0===zl&&u(Do)),s!==et?(He(),(s=T())!==et?(Jl=t,t=["forClauseItem",["typedVariableBinding",["varName"].concat(a,i?[i]:[])]].concat(o?[["allowingEmpty"]]:[],n?[n]:[],[["forExpr",s]])):(Vl=t,t=et)):(Vl=t,t=et)}else Vl=t,t=et;else Vl=t,t=et;return Wl[r]={i:Vl,result:t},t}function D(){var t,n=233*Vl+47;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,36===e.charCodeAt(Vl)){var r=$t;Vl++}else r=et,0===zl&&u(xo);if(r!==et)if((r=Be())!==et){He();var a=me();if(a===et&&(a=null),He(),e.substr(Vl,2)===en){var i=en;Vl+=2}else i=et,0===zl&&u(bo);i!==et?(He(),(i=T())!==et?(Jl=t,t=["letClauseItem",["typedVariableBinding",["varName"].concat(r)].concat(a?[a]:[]),["letExpr",i]]):(Vl=t,t=et)):(Vl=t,t=et)}else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function R(){var t,n,r=233*Vl+51;if(t=Wl[r])return Vl=t.i,t.result;t=Vl;var a=233*Vl+53;if(n=Wl[a])Vl=n.i,a=n.result;else{if(n=Vl,36===e.charCodeAt(Vl)){var i=$t;Vl++}else i=et,0===zl&&u(xo);i!==et?(i=Be())!==et?(Jl=n,n=["varName"].concat(i)):(Vl=n,n=et):(Vl=n,n=et),Wl[a]={i:Vl,result:n},a=n}if(a!==et){if(i=Wl[n=233*Vl+52])Vl=i.i,n=i.result;else{i=Vl,He();var o=me();if(o===et&&(o=null),He(),e.substr(Vl,2)===en){var s=en;Vl+=2}else s=et,0===zl&&u(bo);s!==et?(He(),(s=T())!==et?(Jl=i,i=["groupVarInitialize"].concat(o?[["typeDeclaration"].concat(o)]:[],[["varValue",s]])):(Vl=i,i=et)):(Vl=i,i=et),Wl[n]={i:Vl,result:i},n=i}n===et&&(n=null),i=Vl,He(),e.substr(Vl,9)===vt?(o=vt,Vl+=9):(o=et,0===zl&&u(Pi)),o!==et?(He(),(o=Ce())!==et?(Jl=i,i=["collation",o]):(Vl=i,i=et)):(Vl=i,i=et),i===et&&(i=null),Jl=t,t=["groupingSpec",a].concat(n?[n]:[],i?[i]:[])}else Vl=t,t=et;return Wl[r]={i:Vl,result:t},t}function G(){var t,n=233*Vl+56;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=T();if(r!==et){var a;He();var i=233*Vl+57;if(a=Wl[i])Vl=a.i,i=a.result;else{if(a=Vl,e.substr(Vl,9)===gn){var o=gn;Vl+=9}else o=et,0===zl&&u(Ho);o===et&&(e.substr(Vl,10)===yn?(o=yn,Vl+=10):(o=et,0===zl&&u(jo))),o===et&&(o=null),He();var s=Vl;if(e.substr(Vl,5)===Et){var l=Et;Vl+=5}else l=et,0===zl&&u(Yi);if(l!==et){He();var c=Vl;if(e.substr(Vl,8)===Bt){var p=Bt;Vl+=8}else p=et,0===zl&&u(qi);p!==et&&(Jl=c,p="empty greatest"),(c=p)===et&&(c=Vl,e.substr(Vl,5)===Nt?(p=Nt,Vl+=5):(p=et,0===zl&&u(Vi)),p!==et&&(Jl=c,p="empty least"),c=p),c!==et?(Jl=s,s=c):(Vl=s,s=et)}else Vl=s,s=et;if(s===et&&(s=null),He(),l=Vl,e.substr(Vl,9)===vt?(c=vt,Vl+=9):(c=et,0===zl&&u(Pi)),c!==et){p=He();var h=Ce();h!==et?l=c=[c,p,h]:(Vl=l,l=et)}else Vl=l,l=et;l===et&&(l=null),Jl=a,a=o||s||l?["orderModifier"].concat(o?[["orderingKind",o]]:[],s?[["emptyOrderingMode",s]]:[],l?[["collation",l]]:[]):null,Wl[i]={i:Vl,result:a},i=a}Jl=t,t=["orderBySpec",["orderByExpr",r]].concat(i?[i]:[])}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function M(){var t,n=233*Vl+61;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,36===e.charCodeAt(Vl)){var r=$t;Vl++}else r=et,0===zl&&u(xo);if(r!==et)if((r=Be())!==et){var a=Vl,i=je();i!==et?(i=me())!==et?(Jl=a,a=i):(Vl=a,a=et):(Vl=a,a=et),a===et&&(a=null),(i=je())!==et?(e.substr(Vl,2)===cn?(i=cn,Vl+=2):(i=et,0===zl&&u(Do)),i!==et?(i=je())!==et?(i=T())!==et?(Jl=t,t=["quantifiedExprInClause",["typedVariableBinding",["varName"].concat(r)].concat(a?[a]:[]),["sourceExpr",i]]):(Vl=t,t=et):(Vl=t,t=et):(Vl=t,t=et)):(Vl=t,t=et)}else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function U(){var t,n=233*Vl+63;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,e.substr(Vl,4)===Bn){var r=Bn;Vl+=4}else r=et,0===zl&&u(qo);if(r!==et){if(He(),r=Vl,36===e.charCodeAt(Vl)){var a=$t;Vl++}else a=et,0===zl&&u(xo);if(a!==et)if((a=Be())!==et){var i=je();i!==et?(e.substr(Vl,2)===an?(i=an,Vl+=2):(i=et,0===zl&&u(Co)),i!==et?(Jl=r,r=a):(Vl=r,r=et)):(Vl=r,r=et)}else Vl=r,r=et;else Vl=r,r=et;if(r===et&&(r=null),He(),i=Wl[a=233*Vl+64])Vl=i.i,a=i.result;else{i=Vl;var o=ve();if(o!==et){var s=[],l=Vl;if(He(),124===e.charCodeAt(Vl)){var c=Nn;Vl++}else c=et,0===zl&&u(Vo);for(c!==et?(He(),(c=ve())!==et?(Jl=l,l=c):(Vl=l,l=et)):(Vl=l,l=et);l!==et;)s.push(l),l=Vl,He(),124===e.charCodeAt(Vl)?(c=Nn,Vl++):(c=et,0===zl&&u(Vo)),c!==et?(He(),(c=ve())!==et?(Jl=l,l=c):(Vl=l,l=et)):(Vl=l,l=et);Jl=i,i=function(e,t){return t.length?[["sequenceTypeUnion",["sequenceType"].concat(e)].concat(t.map((function(e){return["sequenceType"].concat(e)})))]:[["sequenceType"].concat(e)]}(o,s)}else Vl=i,i=et;Wl[a]={i:Vl,result:i},a=i}a!==et?(i=je())!==et?(e.substr(Vl,6)===wn?(i=wn,Vl+=6):(i=et,0===zl&&u(Xo)),i!==et?(i=je())!==et?(i=T())!==et?(Jl=t,t=["typeswitchExprCaseClause"].concat(r?[["variableBinding"].concat(r)]:[],a,[["resultExpr",i]])):(Vl=t,t=et):(Vl=t,t=et):(Vl=t,t=et)):(Vl=t,t=et):(Vl=t,t=et)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function F(){var t,n=233*Vl+67;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=P();if(r!==et){var a=[],i=Vl;if(He(),e.substr(Vl,3)===Sn){var o=Sn;Vl+=3}else o=et,0===zl&&u(zo);for(o!==et?(o=Ve())!==et?(He(),(o=P())!==et?(Jl=i,i=o):(Vl=i,i=et)):(Vl=i,i=et):(Vl=i,i=et);i!==et;)a.push(i),i=Vl,He(),e.substr(Vl,3)===Sn?(o=Sn,Vl+=3):(o=et,0===zl&&u(zo)),o!==et?(o=Ve())!==et?(He(),(o=P())!==et?(Jl=i,i=o):(Vl=i,i=et)):(Vl=i,i=et):(Vl=i,i=et);Jl=t,t=Je("andOp",r,a)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function P(){var t,n,r=233*Vl+68;if(t=Wl[r])return Vl=t.i,t.result;t=Vl;var a=H();if(a!==et){var i=Vl;He();var o=233*Vl+83;if(n=Wl[o])Vl=n.i,o=n.result;else{if(n=Vl,e.substr(Vl,2)===$n){var s=$n;Vl+=2}else s=et,0===zl&&u(As);s!==et?(s=Ve())!==et?(Jl=n,n="eqOp"):(Vl=n,n=et):(Vl=n,n=et),n===et&&(n=Vl,e.substr(Vl,2)===er?(s=er,Vl+=2):(s=et,0===zl&&u(xs)),s!==et?(s=Ve())!==et?(Jl=n,n="neOp"):(Vl=n,n=et):(Vl=n,n=et),n===et&&(n=Vl,e.substr(Vl,2)===tr?(s=tr,Vl+=2):(s=et,0===zl&&u(bs)),s!==et?(s=Ve())!==et?(Jl=n,n="ltOp"):(Vl=n,n=et):(Vl=n,n=et),n===et&&(n=Vl,e.substr(Vl,2)===nr?(s=nr,Vl+=2):(s=et,0===zl&&u(Es)),s!==et?(s=Ve())!==et?(Jl=n,n="leOp"):(Vl=n,n=et):(Vl=n,n=et),n===et&&(n=Vl,e.substr(Vl,2)===rr?(s=rr,Vl+=2):(s=et,0===zl&&u(Bs)),s!==et?(s=Ve())!==et?(Jl=n,n="gtOp"):(Vl=n,n=et):(Vl=n,n=et),n===et&&(n=Vl,e.substr(Vl,2)===ar?(s=ar,Vl+=2):(s=et,0===zl&&u(Ns)),s!==et?(s=Ve())!==et?(Jl=n,n="geOp"):(Vl=n,n=et):(Vl=n,n=et)))))),Wl[o]={i:Vl,result:n},o=n}o===et&&((n=Wl[o=233*Vl+84])?(Vl=n.i,o=n.result):(n=Vl,e.substr(Vl,2)===ir?(s=ir,Vl+=2):(s=et,0===zl&&u(Cs)),s!==et?(s=Ve())!==et?(Jl=n,n="isOp"):(Vl=n,n=et):(Vl=n,n=et),n===et&&(n=Vl,e.substr(Vl,2)===or?(s=or,Vl+=2):(s=et,0===zl&&u(Ts)),s!==et&&(Jl=n,s="nodeBeforeOp"),(n=s)===et&&(n=Vl,e.substr(Vl,2)===sr?(s=sr,Vl+=2):(s=et,0===zl&&u(Is)),s!==et&&(Jl=n,s="nodeAfterOp"),n=s)),Wl[o]={i:Vl,result:n},o=n),o===et&&((n=Wl[o=233*Vl+82])?(Vl=n.i,o=n.result):(n=Vl,61===e.charCodeAt(Vl)?(s=lt,Vl++):(s=et,0===zl&&u(Si)),s!==et&&(Jl=n,s="equalOp"),(n=s)===et&&(n=Vl,e.substr(Vl,2)===Qn?(s=Qn,Vl+=2):(s=et,0===zl&&u(ms)),s!==et&&(Jl=n,s="notEqualOp"),(n=s)===et&&(n=Vl,e.substr(Vl,2)===Kn?(s=Kn,Vl+=2):(s=et,0===zl&&u(vs)),s!==et&&(Jl=n,s="lessThanOrEqualOp"),(n=s)===et&&(n=Vl,60===e.charCodeAt(Vl)?(s=Zn,Vl++):(s=et,0===zl&&u(gs)),s!==et&&(Jl=n,s="lessThanOp"),(n=s)===et&&(n=Vl,e.substr(Vl,2)===zn?(s=zn,Vl+=2):(s=et,0===zl&&u(ys)),s!==et&&(Jl=n,s="greaterThanOrEqualOp"),(n=s)===et&&(n=Vl,62===e.charCodeAt(Vl)?(s=Wn,Vl++):(s=et,0===zl&&u(ws)),s!==et&&(Jl=n,s="greaterThanOp"),n=s))))),Wl[o]={i:Vl,result:n},o=n))),o!==et?(He(),(n=H())!==et?(Jl=i,i=[o,n]):(Vl=i,i=et)):(Vl=i,i=et),i===et&&(i=null),Jl=t,t=i?[i[0],["firstOperand",a],["secondOperand",i[1]]]:a}else Vl=t,t=et;return Wl[r]={i:Vl,result:t},t}function H(){var t,n=233*Vl+69;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=j();if(r!==et){var a=[],i=Vl;if(He(),e.substr(Vl,2)===Dn){var o=Dn;Vl+=2}else o=et,0===zl&&u(Wo);for(o!==et?(He(),(o=j())!==et?(Jl=i,i=o):(Vl=i,i=et)):(Vl=i,i=et);i!==et;)a.push(i),i=Vl,He(),e.substr(Vl,2)===Dn?(o=Dn,Vl+=2):(o=et,0===zl&&u(Wo)),o!==et?(He(),(o=j())!==et?(Jl=i,i=o):(Vl=i,i=et)):(Vl=i,i=et);Jl=t,t=Je("stringConcatenateOp",r,a)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function j(){var t,n=233*Vl+70;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=X();if(r!==et){var a=Vl;if(He(),e.substr(Vl,2)===Rn){var i=Rn;Vl+=2}else i=et,0===zl&&u($o);i!==et?(i=Ve())!==et?(He(),(i=X())!==et?(Jl=a,a=i):(Vl=a,a=et)):(Vl=a,a=et):(Vl=a,a=et),a===et&&(a=null),Jl=t,t=null===a?r:["rangeSequenceExpr",["startExpr",r],["endExpr",a]]}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function X(){var t,n=233*Vl+71;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=_();if(r!==et){var a=[],i=Vl;He();var o=Vl;if(45===e.charCodeAt(Vl)){var s=Gn;Vl++}else s=et,0===zl&&u(es);for(s!==et&&(Jl=o,s="subtractOp"),(o=s)===et&&(o=Vl,43===e.charCodeAt(Vl)?(s=Mn,Vl++):(s=et,0===zl&&u(ts)),s!==et&&(Jl=o,s="addOp"),o=s),o!==et?(He(),(s=_())!==et?(Jl=i,i=[o,s]):(Vl=i,i=et)):(Vl=i,i=et);i!==et;)a.push(i),i=Vl,He(),o=Vl,45===e.charCodeAt(Vl)?(s=Gn,Vl++):(s=et,0===zl&&u(es)),s!==et&&(Jl=o,s="subtractOp"),(o=s)===et&&(o=Vl,43===e.charCodeAt(Vl)?(s=Mn,Vl++):(s=et,0===zl&&u(ts)),s!==et&&(Jl=o,s="addOp"),o=s),o!==et?(He(),(s=_())!==et?(Jl=i,i=[o,s]):(Vl=i,i=et)):(Vl=i,i=et);Jl=t,t=function(e,t){return t.reduce((function(e,t){return[t[0],["firstOperand",e],["secondOperand",t[1]]]}),e)}(r,a)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function _(){var t,n=233*Vl+72;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=L();if(r!==et){var a=[],i=Vl;He();var o=Vl;if(42===e.charCodeAt(Vl)){var s=Un;Vl++}else s=et,0===zl&&u(ns);for(s!==et&&(Jl=o,s="multiplyOp"),(o=s)===et&&(o=Vl,e.substr(Vl,3)===Fn?(s=Fn,Vl+=3):(s=et,0===zl&&u(rs)),s!==et?(s=Ve())!==et?(Jl=o,o="divOp"):(Vl=o,o=et):(Vl=o,o=et),o===et&&(o=Vl,e.substr(Vl,4)===Pn?(s=Pn,Vl+=4):(s=et,0===zl&&u(as)),s!==et?(s=Ve())!==et?(Jl=o,o="idivOp"):(Vl=o,o=et):(Vl=o,o=et),o===et&&(o=Vl,e.substr(Vl,3)===Hn?(s=Hn,Vl+=3):(s=et,0===zl&&u(is)),s!==et?(s=Ve())!==et?(Jl=o,o="modOp"):(Vl=o,o=et):(Vl=o,o=et)))),o!==et?(He(),(s=L())!==et?(Jl=i,i=[o,s]):(Vl=i,i=et)):(Vl=i,i=et);i!==et;)a.push(i),i=Vl,He(),o=Vl,42===e.charCodeAt(Vl)?(s=Un,Vl++):(s=et,0===zl&&u(ns)),s!==et&&(Jl=o,s="multiplyOp"),(o=s)===et&&(o=Vl,e.substr(Vl,3)===Fn?(s=Fn,Vl+=3):(s=et,0===zl&&u(rs)),s!==et?(s=Ve())!==et?(Jl=o,o="divOp"):(Vl=o,o=et):(Vl=o,o=et),o===et&&(o=Vl,e.substr(Vl,4)===Pn?(s=Pn,Vl+=4):(s=et,0===zl&&u(as)),s!==et?(s=Ve())!==et?(Jl=o,o="idivOp"):(Vl=o,o=et):(Vl=o,o=et),o===et&&(o=Vl,e.substr(Vl,3)===Hn?(s=Hn,Vl+=3):(s=et,0===zl&&u(is)),s!==et?(s=Ve())!==et?(Jl=o,o="modOp"):(Vl=o,o=et):(Vl=o,o=et)))),o!==et?(He(),(s=L())!==et?(Jl=i,i=[o,s]):(Vl=i,i=et)):(Vl=i,i=et);Jl=t,t=function(e,t){return t.reduce((function(e,t){return[t[0],["firstOperand",e],["secondOperand",t[1]]]}),e)}(r,a)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function L(){var t,n=233*Vl+73;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=k();if(r!==et){var a=[],i=Vl;if(He(),124===e.charCodeAt(Vl)){var o=Nn;Vl++}else o=et,0===zl&&u(Vo);if(o===et){if(o=Vl,e.substr(Vl,5)===jn){var s=jn;Vl+=5}else s=et,0===zl&&u(os);if(s!==et){var l=Ve();l!==et?o=s=[s,l]:(Vl=o,o=et)}else Vl=o,o=et}for(o!==et?(He(),(l=k())!==et?(Jl=i,i=l):(Vl=i,i=et)):(Vl=i,i=et);i!==et;)a.push(i),i=Vl,He(),124===e.charCodeAt(Vl)?(o=Nn,Vl++):(o=et,0===zl&&u(Vo)),o===et&&(o=Vl,e.substr(Vl,5)===jn?(s=jn,Vl+=5):(s=et,0===zl&&u(os)),s!==et?(l=Ve())!==et?o=s=[s,l]:(Vl=o,o=et):(Vl=o,o=et)),o!==et?(He(),(l=k())!==et?(Jl=i,i=l):(Vl=i,i=et)):(Vl=i,i=et);Jl=t,t=Je("unionOp",r,a)}else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function k(){var t,n,r=233*Vl+74;if(t=Wl[r])return Vl=t.i,t.result;t=Vl;var a=233*Vl+75;if(n=Wl[a])Vl=n.i,a=n.result;else{n=Vl;var i=Y();if(i!==et){var o=Vl;if(He(),e.substr(Vl,8)===Ln){var s=Ln;Vl+=8}else s=et,0===zl&&u(ls);s!==et?(s=je())!==et?(e.substr(Vl,2)===kn?(s=kn,Vl+=2):(s=et,0===zl&&u(cs)),s!==et?(s=Ve())!==et?(He(),(s=ve())!==et?(Jl=o,o=s):(Vl=o,o=et)):(Vl=o,o=et):(Vl=o,o=et)):(Vl=o,o=et):(Vl=o,o=et),o===et&&(o=null),Jl=n,n=o?["instanceOfExpr",["argExpr",i],["sequenceType"].concat(o)]:i}else Vl=n,n=et;n===et&&(n=Y()),Wl[a]={i:Vl,result:n},a=n}if(a!==et){for(n=[],i=Vl,He(),o=Vl,e.substr(Vl,9)===Xn?(s=Xn,Vl+=9):(s=et,0===zl&&u(ss)),s!==et&&(Jl=o,s="intersectOp"),(o=s)===et&&(o=Vl,e.substr(Vl,6)===_n?(s=_n,Vl+=6):(s=et,0===zl&&u(us)),s!==et&&(Jl=o,s="exceptOp"),o=s),o!==et?(s=Ve())!==et?(He(),(s=k())!==et?(Jl=i,i=[o,s]):(Vl=i,i=et)):(Vl=i,i=et):(Vl=i,i=et);i!==et;)n.push(i),i=Vl,He(),o=Vl,e.substr(Vl,9)===Xn?(s=Xn,Vl+=9):(s=et,0===zl&&u(ss)),s!==et&&(Jl=o,s="intersectOp"),(o=s)===et&&(o=Vl,e.substr(Vl,6)===_n?(s=_n,Vl+=6):(s=et,0===zl&&u(us)),s!==et&&(Jl=o,s="exceptOp"),o=s),o!==et?(s=Ve())!==et?(He(),(s=k())!==et?(Jl=i,i=[o,s]):(Vl=i,i=et)):(Vl=i,i=et):(Vl=i,i=et);Jl=t,t=function(e,t){return t.reduce((function(e,t){return[t[0],["firstOperand",e],["secondOperand",t[1]]]}),e)}(a,n)}else Vl=t,t=et;return Wl[r]={i:Vl,result:t},t}function Y(){var t,n,r,a=233*Vl+76;if(t=Wl[a])return Vl=t.i,t.result;t=Vl;var i=233*Vl+77;if(n=Wl[i])Vl=n.i,i=n.result;else{var o;n=Vl;var s=233*Vl+78;if(r=Wl[s])Vl=r.i,s=r.result;else{r=Vl;var l=233*Vl+79;if(o=Wl[l])Vl=o.i,l=o.result;else{o=Vl;var c=function t(){var n,r=233*Vl+80;if(n=Wl[r])return Vl=n.i,n.result;if(n=Vl,45===e.charCodeAt(Vl)){var a=Gn;Vl++}else a=et,0===zl&&u(es);if(a!==et?(He(),(a=t())!==et?(Jl=n,n=["unaryMinusOp",["operand",a]]):(Vl=n,n=et)):(Vl=n,n=et),n===et&&(n=Vl,43===e.charCodeAt(Vl)?(a=Mn,Vl++):(a=et,0===zl&&u(ts)),a!==et?(He(),(a=t())!==et?(Jl=n,n=["unaryPlusOp",["operand",a]]):(Vl=n,n=et)):(Vl=n,n=et),n===et))if(a=Wl[n=233*Vl+81])Vl=a.i,n=a.result;else{var i,o;if(i=Wl[a=233*Vl+85])Vl=i.i,a=i.result;else{if(i=Vl,e.substr(Vl,8)===ur){var s=ur;Vl+=8}else s=et,0===zl&&u(Os);if(s!==et){s=Vl,He();var l=233*Vl+86;(o=Wl[l])?(Vl=o.i,l=o.result):(e.substr(Vl,3)===cr?(o=cr,Vl+=3):(o=et,0===zl&&u(Ds)),o===et&&(e.substr(Vl,6)===pr?(o=pr,Vl+=6):(o=et,0===zl&&u(Rs))),Wl[l]={i:Vl,result:o},l=o),l!==et?(Jl=s,s=["validationMode",l]):(Vl=s,s=et),s===et&&(s=Vl,He(),e.substr(Vl,4)===lr?(l=lr,Vl+=4):(l=et,0===zl&&u(Ss)),l!==et?(He(),(l=Be())!==et?(Jl=s,s=["type"].concat(l)):(Vl=s,s=et)):(Vl=s,s=et)),s===et&&(s=null),He(),123===e.charCodeAt(Vl)?(l=on,Vl++):(l=et,0===zl&&u(To)),l!==et?(He(),(l=C())!==et?(He(),125===e.charCodeAt(Vl)?(o=sn,Vl++):(o=et,0===zl&&u(Io)),o!==et?(Jl=i,i=["validateExpr"].concat(s?[s]:[],[["argExpr",l]])):(Vl=i,i=et)):(Vl=i,i=et)):(Vl=i,i=et)}else Vl=i,i=et;Wl[a]={i:Vl,result:i},a=i}if(a===et){if(i=Wl[a=233*Vl+87])Vl=i.i,a=i.result;else{if(i=Vl,s=[],(l=q())!==et)for(;l!==et;)s.push(l),l=q();else s=et;s!==et?(He(),123===e.charCodeAt(Vl)?(l=on,Vl++):(l=et,0===zl&&u(To)),l!==et?(He(),C(),He(),125===e.charCodeAt(Vl)?(l=sn,Vl++):(l=et,0===zl&&u(Io)),l!==et?(Jl=i,i=["extensionExpr"].concat(s)):(Vl=i,i=et)):(Vl=i,i=et)):(Vl=i,i=et),Wl[a]={i:Vl,result:i},a=i}if(a===et)if(i=Wl[a=233*Vl+90])Vl=i.i,a=i.result;else{if(i=Vl,(s=V())!==et){if(l=[],o=Vl,He(),33===e.charCodeAt(Vl)){var c=dr;Vl++}else c=et,0===zl&&u(Us);for(c!==et?(He(),(c=V())!==et?(Jl=o,o=c):(Vl=o,o=et)):(Vl=o,o=et);o!==et;)l.push(o),o=Vl,He(),33===e.charCodeAt(Vl)?(c=dr,Vl++):(c=et,0===zl&&u(Us)),c!==et?(He(),(c=V())!==et?(Jl=o,o=c):(Vl=o,o=et)):(Vl=o,o=et);Jl=i,i=function(e,t){return 0===t.length?$e(e):$e(["simpleMapExpr","pathExpr"===e[0]?e:["pathExpr",["stepExpr",["filterExpr",ze(e)]]]].concat(t.map((function(e){return"pathExpr"===e[0]?e:["pathExpr",["stepExpr",["filterExpr",ze(e)]]]}))))}(s,l)}else Vl=i,i=et;Wl[a]={i:Vl,result:i},a=i}}Wl[n]={i:Vl,result:a},n=a}return Wl[r]={i:Vl,result:n},n}();if(c!==et){var p=[],h=Vl;if(He(),e.substr(Vl,2)===Jn){var f=Jn;Vl+=2}else f=et,0===zl&&u(ds);if(f!==et)if(He(),(f=te())!==et){He();var d=z();d!==et?(Jl=h,h=[f,d]):(Vl=h,h=et)}else Vl=h,h=et;else Vl=h,h=et;for(;h!==et;)p.push(h),h=Vl,He(),e.substr(Vl,2)===Jn?(f=Jn,Vl+=2):(f=et,0===zl&&u(ds)),f!==et?(He(),(f=te())!==et?(He(),(d=z())!==et?(Jl=h,h=[f,d]):(Vl=h,h=et)):(Vl=h,h=et)):(Vl=h,h=et);Jl=o,o=function(e,t){return t.reduce((function(e,t){return["arrowExpr",["argExpr",e],t[0],["arguments"].concat(t[1])]}),e)}(c,p)}else Vl=o,o=et;Wl[l]={i:Vl,result:o},l=o}l!==et?(o=Vl,He(),e.substr(Vl,4)===Vn?(c=Vn,Vl+=4):(c=et,0===zl&&u(fs)),c!==et?(c=je())!==et?(e.substr(Vl,2)===an?(c=an,Vl+=2):(c=et,0===zl&&u(Co)),c!==et?(c=Ve())!==et?(He(),(c=de())!==et?(Jl=o,o=c):(Vl=o,o=et)):(Vl=o,o=et):(Vl=o,o=et)):(Vl=o,o=et):(Vl=o,o=et),o===et&&(o=null),Jl=r,r=o?["castExpr",["argExpr",l],o]:l):(Vl=r,r=et),Wl[s]={i:Vl,result:r},s=r}s!==et?(r=Vl,He(),e.substr(Vl,8)===qn?(l=qn,Vl+=8):(l=et,0===zl&&u(hs)),l!==et?(l=je())!==et?(e.substr(Vl,2)===an?(l=an,Vl+=2):(l=et,0===zl&&u(Co)),l!==et?(l=Ve())!==et?(He(),(l=de())!==et?(Jl=r,r=l):(Vl=r,r=et)):(Vl=r,r=et):(Vl=r,r=et)):(Vl=r,r=et):(Vl=r,r=et),r===et&&(r=null),Jl=n,n=r?["castableExpr",["argExpr",s],r]:s):(Vl=n,n=et),Wl[i]={i:Vl,result:n},i=n}return i!==et?(n=Vl,He(),e.substr(Vl,5)===Yn?(s=Yn,Vl+=5):(s=et,0===zl&&u(ps)),s!==et?(s=je())!==et?(e.substr(Vl,2)===an?(s=an,Vl+=2):(s=et,0===zl&&u(Co)),s!==et?(s=Ve())!==et?(He(),(s=ve())!==et?(Jl=n,n=s):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et)):(Vl=n,n=et):(Vl=n,n=et),n===et&&(n=null),Jl=t,t=n?["treatExpr",["argExpr",i],["sequenceType"].concat(n)]:i):(Vl=t,t=et),Wl[a]={i:Vl,result:t},t}function q(){var t,n=233*Vl+88;if(t=Wl[n])return Vl=t.i,t.result;if(t=Vl,e.substr(Vl,2)===hr){var r=hr;Vl+=2}else r=et,0===zl&&u(Gs);if(r!==et)if(je(),(r=Be())!==et){var a=Vl,i=je();if(i!==et){var o;if(o=Wl[i=233*Vl+89])Vl=o.i,i=o.result;else{o=Vl;var s=[],l=Vl,c=Me();if(c!==et){var p=Vl;if(zl++,e.substr(Vl,2)===fr){var h=fr;Vl+=2}else h=et,0===zl&&u(Ms);zl--,h===et?p=void 0:(Vl=p,p=et),p!==et?(Jl=l,l=c):(Vl=l,l=et)}else Vl=l,l=et;for(;l!==et;)s.push(l),l=Vl,(c=Me())!==et?(p=Vl,zl++,e.substr(Vl,2)===fr?(h=fr,Vl+=2):(h=et,0===zl&&u(Ms)),zl--,h===et?p=void 0:(Vl=p,p=et),p!==et?(Jl=l,l=c):(Vl=l,l=et)):(Vl=l,l=et);Jl=o,o=s=s.join(""),Wl[i]={i:Vl,result:o},i=o}Jl=a,a=i}else Vl=a,a=et;a===et&&(a=null),He(),e.substr(Vl,2)===fr?(i=fr,Vl+=2):(i=et,0===zl&&u(Ms)),i!==et?(Jl=t,t=a?["pragma",["pragmaName",r],["pragmaContents",a]]:["pragma",["pragmaName",r]]):(Vl=t,t=et)}else Vl=t,t=et;else Vl=t,t=et;return Wl[n]={i:Vl,result:t},t}function V(){var t,r,a=233*Vl+91;if(t=Wl[a])return Vl=t.i,t.result;if(r=Wl[t=233*Vl+92])Vl=r.i,t=r.result;else{r=Vl;var i=Q();if(i!==et){He();var o=K();if(o!==et){He();var s=J();s!==et?(Jl=r,r=["pathExpr",i,o].concat(s)):(Vl=r,r=et)}else Vl=r,r=et}else Vl=r,r=et;if(r===et&&(r=Vl,(i=Q())!==et?(He(),47===e.charCodeAt(Vl)?(o=mr,Vl++):(o=et,0===zl&&u(Fs)),o!==et?(He(),(s=J())!==et?(Jl=r,r=["pathExpr",i].concat(s)):(Vl=r,r=et)):(Vl=r,r=et)):(Vl=r,r=et),r===et)){if(i=Wl[r=233*Vl+98])Vl=i.i,r=i.result;else{if(i=Vl,(o=ne())!==et){s=Vl,zl++;var l=Vl,c=He(),p=W();p!==et?l=c=[c,p]:(Vl=l,l=et),l===et&&(l=Vl,c=He(),(p=z())!==et?l=c=[c,p]:(Vl=l,l=et),l===et&&(l=Vl,c=He(),(p=$())!==et?l=c=[c,p]:(Vl=l,l=et))),zl--,l===et?s=void 0:(Vl=s,s=et),s!==et?(Jl=i,i=o):(Vl=i,i=et)}else Vl=i,i=et;Wl[r]={i:Vl,result:i},r=i}r===et&&(r=Vl,(i=Q())!==et&&(Jl=r,i=["pathExpr",i]),r=i)}Wl[t]={i:Vl,result:r},t=r}return t===et&&((r=Wl[t=233*Vl+95])?(Vl=r.i,t=r.result):(r=Vl,47===e.charCodeAt(Vl)?(o=mr,Vl++):(o=et,0===zl&&u(Fs)),o!==et?(He(),(i=J())!==et?(Jl=r,r=["pathExpr",["rootExpr"]].concat(i)):(Vl=r,r=et)):(Vl=r,r=et),r===et&&(r=Vl,(o=K())!==et?(He(),(i=J())!==et?(Jl=r,r=["pathExpr",["rootExpr"],o].concat(i)):(Vl=r,r=et)):(Vl=r,r=et),r===et&&(r=Vl,47===e.charCodeAt(Vl)?(o=mr,Vl++):(o=et,0===zl&&u(Fs)),o!==et?(o=Vl,zl++,i=Vl,s=He(),Jl=l=Vl,(c=(c=n.Ra)?void 0:et)!==et?(ai.test(e.charAt(Vl))?(p=e.charAt(Vl),Vl++):(p=et,0===zl&&u(Ps)),p!==et?l=c=[c,p]:(Vl=l,l=et)):(Vl=l,l=et),l!==et?i=s=[s,l]:(Vl=i,i=et),i===et&&(Jl=i=Vl,(s=(s=!n.Ra)?void 0:et)!==et?(ii.test(e.charAt(Vl))?(l=e.charAt(Vl),Vl++):(l=et,0===zl&&u(Hs)),l!==et?i=s=[s,l]:(Vl=i,i=et)):(Vl=i,i=et)),zl--,i===et?o=void 0:(Vl=o,o=et),o!==et?(Jl=r,r=["pathExpr",["rootExpr"]]):(Vl=r,r=et)):(Vl=r,r=et))),Wl[t]={i:Vl,result:r},t=r)),Wl[a]={i:Vl,result:t},t}function J(){var t,n=233*Vl+93;if(t=Wl[n])return Vl=t.i,t.result;t=Vl;var r=Q();if(r!==et){He();var a=K();if(a!==et){He();var i=J();i!==et?(Jl=t,t=[r,a].concat(i)):(Vl=t,t=et)}else Vl=t,t=et}else Vl=t,t=et;return t===et&&(t=Vl,(r=Q())!==et?(He(),47===e.charCodeAt(Vl)?(a=mr,Vl++):(a=et,0===zl&&u(Fs)),a!==et?(He(),(i=J())!==et?(Jl=t,t=[r].concat(i)):(Vl=t,t=et)):(Vl=t,t=et)):(Vl=t,t=et),t===et&&(t=Vl,(r=Q())!==et&&(Jl=t,r=[r]),t=r)),Wl[n]={i:Vl,result:t},t}function Q(){var t,n,r=233*Vl+94;if(t=Wl[r])return Vl=t.i,t.result;t=Vl;var a=233*Vl+97;if(n=Wl[a])Vl=n.i,a=n.result;else{var i=n=Vl,o=ne();if(o!==et&&(Jl=i,o=ze(o)),(i=o)!==et){o=[];var s=Vl;He();var l=W();for(l!==et?(Jl=s,s=["predicate",l]):(Vl=s,s=et),s===et&&(s=Vl,He(),(l=z())!==et?(Jl=s,s=["argumentList",l]):(Vl=s,s=et),s===et&&(s=Vl,He(),(l=$())!==et?(Jl=s,s=l):(Vl=s,s=et)));s!==et;)o.push(s),s=Vl,He(),(l=W())!==et?(Jl=s,s=["predicate",l]):(Vl=s,s=et),s===et&&(s=Vl,He(),(l=z())!==et?(Jl=s,s=["argumentList",l]):(Vl=s,s=et),s===et&&(s=Vl,He(),(l=$())!==et?(Jl=s,s=l):(Vl=s,s=et)));Jl=n,n=function(e,t){function n(){s&&1===i.length?o.push(["predicate",i[0]]):0!==i.length&&o.push(["predicates"].concat(i)),i.length=0}function r(e){n(),0!==o.length?("sequenceExpr"===a[0]&&2=e||57344<=e&&65533>=e||65536<=e&&1114111>=e||We("XQST0090","The character reference "+e+" ("+e.toString(16)+") does not reference a valid codePoint.")}function Ke(e){return n.Ra?e.replace(/(&[^;]+);/g,(function(e){if(/^&#x/.test(e))return Qe(e=parseInt(e.slice(3,-1),16)),String.fromCodePoint(e);if(/^&#/.test(e))return Qe(e=parseInt(e.slice(2,-1),10)),String.fromCodePoint(e);switch(e){case"<":return"<";case">":return">";case"&":return"&";case""":return String.fromCharCode(34);case"'":return String.fromCharCode(39)}We("XPST0003",'Unknown character reference: "'+e+'"')})):e}function Ze(e,t,n){if(!e.length)return[];for(var r=[e[0]],a=1;a",Qn="!=",Kn="<=",Zn="<",zn=">=",Wn=">",$n="eq",er="ne",tr="lt",nr="le",rr="gt",ar="ge",ir="is",or="<<",sr=">>",ur="validate",lr="type",cr="lax",pr="strict",hr="(#",fr="#)",dr="!",mr="/",vr="//",gr="child",yr="::",wr="descendant",Ar="attribute",xr="self",br="descendant-or-self",Er="following-sibling",Br="following",Nr="@",Cr="parent",Tr="ancestor",Ir="preceding-sibling",Or="preceding",Sr="ancestor-or-self",Dr="..",Rr="*:",Gr=":*",Mr="[",Ur="]",Fr="?",Pr=".",Hr="/>",jr="",Qr="",Zr="document",zr="text",Wr="comment",$r="processing-instruction",ea="#",ta="map",na=":",ra="array",aa="empty-sequence()",ia="item()",oa="node()",sa="document-node(",ua="text()",la="comment()",ca="namespace-node()",pa="processing-instruction(",ha="processing-instruction()",fa="attribute(",da="attribute()",ma="schema-attribute(",va="schema-element",ga="Q",ya="&",wa="amp",Aa="quot",xa="apos",ba='""',Ea="''",Ba="(:",Na=":)",Ca="X",Ta="x",Ia="M",Oa="m",Sa="L",Da="l",Ra="&#x",Ga="&#",Ma="first",Ua="last",Fa="into",Pa="after",Ha="before",ja="insert",Xa="nodes",_a="node",La="delete",ka="replace",Ya="value",qa="with",Va="rename",Ja="copy",Qa="modify",Ka=" ",Za="\t",za="\r",Wa="\n",$a="document-node",ei="empty-sequence",ti="namespace-node",ni="schema-attribute",ri="switch",ai=/^[*",!1),ms=a("!=",!1),vs=a("<=",!1),gs=a("<",!1),ys=a(">=",!1),ws=a(">",!1),As=a("eq",!1),xs=a("ne",!1),bs=a("lt",!1),Es=a("le",!1),Bs=a("gt",!1),Ns=a("ge",!1),Cs=a("is",!1),Ts=a("<<",!1),Is=a(">>",!1),Os=a("validate",!1),Ss=a("type",!1),Ds=a("lax",!1),Rs=a("strict",!1),Gs=a("(#",!1),Ms=a("#)",!1),Us=a("!",!1),Fs=a("/",!1),Ps=i(["*","<",["a","z"],["A","Z"]],!1,!1),Hs=i(["*",["a","z"],["A","Z"]],!1,!1),js=a("//",!1),Xs=a("child",!1),_s=a("::",!1),Ls=a("descendant",!1),ks=a("attribute",!1),Ys=a("self",!1),qs=a("descendant-or-self",!1),Vs=a("following-sibling",!1),Js=a("following",!1),Qs=a("@",!1),Ks=a("parent",!1),Zs=a("ancestor",!1),zs=a("preceding-sibling",!1),Ws=a("preceding",!1),$s=a("ancestor-or-self",!1),eu=a("..",!1),tu=a("*:",!1),nu=a(":*",!1),ru=a("[",!1),au=a("]",!1),iu=a("?",!1),ou=i([["a","z"],["A","Z"]],!1,!1),su=a(".",!1),uu=a("/>",!1),lu=a("",!1),yu=a("",!1),Au=a("document",!1),xu=a("text",!1),bu=a("comment",!1),Eu=a("processing-instruction",!1),Bu=a("#",!1),Nu=a("map",!1),Cu=a(":",!1),Tu=a("array",!1),Iu=a("empty-sequence()",!1),Ou=a("item()",!1),Su=a("node()",!1),Du=a("document-node(",!1),Ru=a("text()",!1),Gu=a("comment()",!1),Mu=a("namespace-node()",!1),Uu=a("processing-instruction(",!1),Fu=a("processing-instruction()",!1),Pu=a("attribute(",!1),Hu=a("attribute()",!1),ju=a("schema-attribute(",!1),Xu=a("schema-element",!1),_u=i([["0","9"]],!1,!1),Lu=i(["e","E"],!1,!1),ku=i(["+","-"],!1,!1),Yu=i(['"',"&"],!0,!1),qu=i(["'","&"],!0,!1),Vu=i(['"'],!0,!1),Ju=i(["'"],!0,!1),Qu=a("Q",!1),Ku=i(["{","}"],!0,!1),Zu=a("&",!1),zu=a("amp",!1),Wu=a("quot",!1),$u=a("apos",!1),el=a('""',!1),tl=a("''",!1),nl=i(["{","}","<","&"],!1,!1),rl=i(['"',"{","}","<","&"],!1,!1),al=i(["'","{","}","<","&"],!1,!1),il=a("(:",!1),ol=a(":)",!1),sl=a("X",!1),ul=a("x",!1),ll=a("M",!1),cl=a("m",!1),pl=a("L",!1),hl=a("l",!1),fl=a("&#x",!1),dl=i([["0","9"],["a","f"],["A","F"]],!1,!1),ml=a("&#",!1),vl=i(["\t","\n","\r",[" ","퟿"],"","�"],!1,!1),gl=i([["\ud800","\udbff"]],!1,!1),yl=i([["\udc00","\udfff"]],!1,!1),wl=a("first",!1),Al=a("last",!1),xl=a("into",!1),bl=a("after",!1),El=a("before",!1),Bl=a("insert",!1),Nl=a("nodes",!1),Cl=a("node",!1),Tl=a("delete",!1),Il=a("replace",!1),Ol=a("value",!1),Sl=a("with",!1),Dl=a("rename",!1),Rl=a("copy",!1),Gl=a("modify",!1),Ml=a(" ",!1),Ul=a("\t",!1),Fl=a("\r",!1),Pl=a("\n",!1),Hl=i([["A","Z"],"_",["a","z"],["À","Ö"],["Ø","ö"],["ø","˿"],["Ͱ","ͽ"],["Ϳ","῿"],"‌","‍",["⁰","↏"],["Ⰰ","⿯"],["、","퟿"],["豈","﷏"],["ﷰ","�"]],!1,!1),jl=i([["\ud800","\udb7f"]],!1,!1),Xl=i(["-",".",["0","9"],"·",["̀","ͯ"],"‿","⁀"],!1,!1),_l=a("document-node",!1),Ll=a("empty-sequence",!1),kl=a("namespace-node",!1),Yl=a("schema-attribute",!1),ql=a("switch",!1),Vl=0,Jl=0,Ql=[{line:1,da:1}],Kl=0,Zl=[],zl=0,Wl={};if("startRule"in n){if(!(n.Kb in nt))throw Error("Can't start parsing from rule \""+n.Kb+'".');rt=nt[n.Kb]}var $l=rt();if($l!==et&&Vl===e.length)return $l;throw $l!==et&&Vla;a++)if(o=Zo(r[a],t,n[i]))return 59!==o.type&&Jr(e,o),o;default:return{type:59,g:2}}}return 59!==r.type&&Jr(e,r),r}(e,Wo(Xr(e,"argExpr")[1],t),Yr(e,"typeswitchExprCaseClause").map((function(e){return Wo(kr(e,["resultExpr"])[1],t)})),Wo(kr(e,["typeswitchExprDefaultClause","resultExpr"])[1],t))}],["quantifiedExpr",function(e,t){return Yr(e,"*").map((function(e){return Wo(e,t)})),function(e){var t={type:0,g:3};return Jr(e,t),t}(e)}],["x:stackTrace",function(e,t){return Wo((e=Yr(e,"*"))[0],t)}],["queryBody",function(e,t){return Wo(e[1],t)}],["flworExpr",function(e,t){return function(e,t){for(var n=Wo,r=!1,a=1;a=t+n?Z:(e=a.next(e),r++,e)}},i)}function gs(e){return e.map((function(e){return W(e.type,19)?Qt(e,3):e}))}function ys(e){if((e=gs(e)).some((function(e){return Number.isNaN(e.value)})))return[q(NaN,3)];if(!(e=si(e)))throw Error("FORG0006: Incompatible types to be converted to a common type");return e}function ws(e,t,n,r,a,i){return _e([a,i],(function(e){var t=u(e);if(e=t.next().value,t=t.next().value,1/0===e.value)return se.empty();if(-1/0===e.value)return t&&1/0===t.value?se.empty():r;if(t){if(isNaN(t.value))return se.empty();1/0===t.value&&(t=null)}return isNaN(e.value)?se.empty():vs(r,Math.round(e.value),t?Math.round(t.value):null)}))}function As(e,t,n,r,a){if(r.F())return a;if(!(e=si(e=gs(r.S()))))throw Error("FORG0006: Incompatible types to be converted to a common type");if(!e.every((function(e){return W(e.type,2)})))throw Error("FORG0006: items passed to fn:sum are not all numeric.");return t=e.reduce((function(e,t){return e+t.value}),0),e.every((function(e){return W(e.type,5)}))?se.s(q(t,5)):e.every((function(e){return W(e.type,3)}))?se.s(q(t,3)):e.every((function(e){return W(e.type,4)}))?se.s(q(t,4)):se.s(q(t,6))}ps.prototype.Aa=function(e,t,n){return function(e,t,n){var r=wa[e+":"+t];return r&&(r=r.find((function(e){return e.l.some((function(e){return 4===e}))?e.l.length-1<=n:e.l.length===n})))?{l:r.l,arity:n,m:r.m,I:r.I,localName:t,namespaceURI:e,j:r.j}:null}(e,t,n)},ps.prototype.rb=function(e,t){return e?null:(e=this.C[t],this.o[t]||(this.o[t]={name:t}),e)},ps.prototype.Qa=function(e,t){var n=this.J(e,t);if(n)this.B.push({oc:e,arity:t,Jb:n});else if(t=this.ga(e.prefix,!0))return{namespaceURI:t,localName:e.localName};return n},ps.prototype.ga=function(e,t){return void 0===t||t?cs[e]?cs[e]:(t=this.v(e),this.h[e]||(this.h[e]={namespaceURI:t,prefix:e}),void 0!==t||e?t:null):null};var xs=[].concat(Nr,[{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"boolean",l:[{type:59,g:2}],j:{type:0,g:3},m:function(e,t,n,r){return r.getEffectiveBooleanValue()?se.$():se.U()}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"true",l:[],j:{type:0,g:3},m:function(){return se.$()}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"not",l:[{type:59,g:2}],j:{type:0,g:3},m:function(e,t,n,r){return!1===r.getEffectiveBooleanValue()?se.$():se.U()}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"false",l:[],j:{type:0,g:3},m:function(){return se.U()}}],[{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"last",l:[],j:{type:5,g:3},m:function(e){if(null===e.O)throw Error("XPDY0002: The fn:last() function depends on dynamic context, which is absent.");var t=!1;return se.create({next:function(){if(t)return Z;var n=e.wa.ya();return t=!0,z(q(n,5))}},1)}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"position",l:[],j:{type:5,g:3},m:function(e){if(null===e.O)throw Error("XPDY0002: The fn:position() function depends on dynamic context, which is absent.");return se.s(q(e.Ga+1,5))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"current-dateTime",l:[],j:{type:10,g:3},m:function(e){return se.s(q(wt(e),10))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"current-date",l:[],j:{type:7,g:3},m:function(e){return se.s(q(it(wt(e),7),7))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"current-time",l:[],j:{type:8,g:3},m:function(e){return se.s(q(it(wt(e),8),8))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"implicit-timezone",l:[],j:{type:17,g:3},m:function(e){return se.s(q(At(e),17))}}],Tr,Ur,Pr,[{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"years-from-duration",l:[{type:18,g:0}],j:{type:5,g:0},m:function(e,t,n,r){return r.F()?r:se.s(q(r.first().value.cb(),5))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"months-from-duration",l:[{type:18,g:0}],j:{type:5,g:0},m:function(e,t,n,r){return r.F()?r:se.s(q(r.first().value.$a(),5))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"days-from-duration",l:[{type:18,g:0}],j:{type:5,g:0},m:function(e,t,n,r){return r.F()?r:se.s(q(r.first().value.Za(),5))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"hours-from-duration",l:[{type:18,g:0}],j:{type:5,g:0},m:function(e,t,n,r){return r.F()?r:se.s(q(r.first().value.getHours(),5))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"minutes-from-duration",l:[{type:18,g:0}],j:{type:5,g:0},m:function(e,t,n,r){return r.F()?r:se.s(q(r.first().value.getMinutes(),5))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"seconds-from-duration",l:[{type:18,g:0}],j:{type:4,g:0},m:function(e,t,n,r){return r.F()?r:se.s(q(r.first().value.getSeconds(),4))}}],[{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"id",l:[{type:1,g:2},{type:53,g:3}],j:{type:54,g:2},m:fs},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"id",l:[{type:1,g:2}],j:{type:54,g:2},m:function(e,t,n,r){return fs(e,t,0,r,se.s(e.O))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"idref",l:[{type:1,g:2},{type:53,g:3}],j:{type:53,g:2},m:ds},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"idref",l:[{type:1,g:2}],j:{type:53,g:2},m:function(e,t,n,r){return ds(e,t,0,r,se.s(e.O))}}],[{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"parse-json",l:[{type:1,g:3}],j:{type:59,g:0},m:function(e,t,n,r){try{var a=JSON.parse(r.first().value)}catch(e){throw Error("FOJS0001: parsed JSON string contains illegal JSON.")}return function e(t){switch(typeof t){case"object":return Array.isArray(t)?se.s(new He(t.map((function(t){return ue(e(t))})))):null===t?se.empty():se.s(new Ye(Object.keys(t).map((function(n){return{key:q(n,1),value:ue(e(t[n]))}}))));case"number":return se.s(q(t,3));case"string":return se.s(q(t,1));case"boolean":return t?se.$():se.U();default:throw Error("Unexpected type in JSON parse")}}(a)}}],[{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"contains",l:[{type:61,g:3},{type:46,g:3}],j:{type:0,g:3},m:function(e,t,n,r,a){return _e([r,a],(function(e){var t=(e=u(e)).next().value,n=e.next().value;return t.h.some((function(e){return Le(e.key,n)}))?se.$():se.U()}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"entry",l:[{type:46,g:3},{type:59,g:2}],j:{type:61,g:3},m:function(e,t,n,r,a){return r.map((function(e){return new Ye([{key:e,value:ue(a)}])}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"for-each",l:[{type:61,g:3},{type:59,g:2}],j:{type:59,g:2},m:function(e,t,n,r,a){return _e([r,a],(function(r){var a=(r=u(r)).next().value,i=r.next().value;return Bt(a.h.map((function(r){return i.value.call(void 0,e,t,n,se.s(r.key),r.value())})))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"get",l:[{type:61,g:3},{type:46,g:3}],j:{type:59,g:2},m:ke},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"keys",l:[{type:61,g:3}],j:{type:46,g:2},m:function(e,t,n,r){return _e([r],(function(e){return e=u(e).next().value,se.create(e.h.map((function(e){return e.key})))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"merge",l:[{type:61,g:2},{type:61,g:3}],j:{type:61,g:3},m:ms},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"merge",l:[{type:61,g:2}],j:{type:61,g:3},m:function(e,t,n,r){return ms(e,0,0,r,se.s(new Ye([{key:q("duplicates",1),value:function(){return se.s(q("use-first",1))}}])))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"put",l:[{type:61,g:3},{type:46,g:3},{type:59,g:2}],j:{type:61,g:3},m:function(e,t,n,r,a,i){return _e([r,a],(function(e){var t=(e=u(e)).next().value,n=e.next().value;return e=t.h.concat(),0<=(t=e.findIndex((function(e){return Le(e.key,n)})))?e.splice(t,1,{key:n,value:ue(i)}):e.push({key:n,value:ue(i)}),se.s(new Ye(e))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"remove",l:[{type:61,g:3},{type:46,g:2}],j:{type:61,g:3},m:function(e,t,n,r,a){return _e([r],(function(e){var t=u(e).next().value.h.concat();return a.M((function(e){return e.forEach((function(e){var n=t.findIndex((function(t){return Le(t.key,e)}));0<=n&&t.splice(n,1)})),se.s(new Ye(t))}))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/map",localName:"size",l:[{type:61,g:3}],j:{type:5,g:3},m:function(e,t,n,r){return r.map((function(e){return q(e.h.length,5)}))}}],[{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"pi",l:[],j:{type:3,g:3},m:function(){return se.s(q(Math.PI,3))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"exp",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.pow(Math.E,e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"exp10",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.pow(10,e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"log",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.log(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"log10",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.log10(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"pow",l:[{type:3,g:0},{type:2,g:3}],j:{type:3,g:0},m:function(e,t,n,r,a){return a.M((function(e){var t=u(e).next().value;return r.map((function(e){return 1!==Math.abs(e.value)||Number.isFinite(t.value)?q(Math.pow(e.value,t.value),3):q(1,3)}))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"sqrt",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.sqrt(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"sin",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.sin(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"cos",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.cos(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"tan",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.tan(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"asin",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.asin(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"acos",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.acos(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"atan",l:[{type:3,g:0}],j:{type:3,g:0},m:function(e,t,n,r){return r.map((function(e){return q(Math.atan(e.value),3)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions/math",localName:"atan2",l:[{type:3,g:0},{type:3,g:3}],j:{type:3,g:0},m:function(e,t,n,r,a){return a.M((function(e){var t=u(e).next().value;return r.map((function(e){return q(Math.atan2(e.value,t.value),3)}))}))}}],Gn,hn,[{namespaceURI:"http://fontoxpath/operators",localName:"to",l:[{type:5,g:0},{type:5,g:0}],j:{type:5,g:2},m:function(e,t,n,r,a){if(e=r.first(),a=a.first(),null===e||null===a)return se.empty();var i=e.value;return a=a.value,i>a?se.empty():se.create({next:function(){return z(q(i++,5))}},a-i+1)}}],[{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"QName",l:[{type:1,g:0},{type:1,g:3}],j:{type:23,g:3},m:function(e,t,n,r,a){return _e([r,a],(function(e){var t=u(e);if(e=t.next().value,!Gt(t=t.next().value.value,23))throw Error("FOCA0002: The provided QName is invalid.");if(null===(e=e&&e.value||null)&&t.includes(":"))throw Error("FOCA0002: The URI of a QName may not be empty if a prefix is provided.");if(r.F())return se.s(q(new ve("",null,t),23));if(!t.includes(":"))return se.s(q(new ve("",e,t),23));var n=u(t.split(":"));return t=n.next().value,n=n.next().value,se.s(q(new ve(t,e,n),23))}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"prefix-from-QName",l:[{type:23,g:0}],j:{type:24,g:0},m:function(e,t,n,r){return _e([r],(function(e){return null===(e=u(e).next().value)?se.empty():(e=e.value).prefix?se.s(q(e.prefix,24)):se.empty()}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"local-name-from-QName",l:[{type:23,g:0}],j:{type:24,g:0},m:function(e,t,n,r){return r.map((function(e){return q(e.value.localName,24)}))}},{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:"namespace-uri-from-QName",l:[{type:23,g:0}],j:{type:20,g:0},m:function(e,t,n,r){return r.map((function(e){return q(e.value.namespaceURI||"",20)}))}}],[{l:[{type:59,g:2}],m:function(e,t,n,r){return r.aa({empty:function(){return se.$()},multiple:function(){return se.U()},s:function(){return se.U()}})},localName:"empty",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:0,g:3}},{l:[{type:59,g:2}],m:function(e,t,n,r){return r.aa({empty:function(){return se.U()},multiple:function(){return se.$()},s:function(){return se.$()}})},localName:"exists",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:0,g:3}},{l:[{type:59,g:2}],m:function(e,t,n,r){return vs(r,1,1)},localName:"head",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:0}},{l:[{type:59,g:2}],m:function(e,t,n,r){return vs(r,2,null)},localName:"tail",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2},{type:5,g:3},{type:59,g:2}],m:function(e,t,n,r,a,i){return r.F()?i:i.F()?r:(e=r.S(),0>(a=a.first().value-1)?a=0:a>e.length&&(a=e.length),t=e.slice(a),se.create(e.slice(0,a).concat(i.S(),t)))},localName:"insert-before",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2},{type:5,g:3}],m:function(e,t,n,r,a){return e=a.first().value,!(r=r.S()).length||1>e||e>r.length||r.splice(e-1,1),se.create(r)},localName:"remove",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2}],m:function(e,t,n,r){return r.M((function(e){return se.create(e.reverse())}))},localName:"reverse",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2},{type:3,g:3}],m:function(e,t,n,r,a){return ws(0,0,0,r,a,se.empty())},localName:"subsequence",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2},{type:3,g:3},{type:3,g:3}],m:ws,localName:"subsequence",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2}],m:function(e,t,n,r){return r},localName:"unordered",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:46,g:2},{type:46,g:3}],m:function(e,t,n,r,a){return a.M((function(n){var a=u(n).next().value;return St(r,t).map((function(t,n){return La("eqOp",t.type,a.type)(t,a,e)?q(n+1,5):q(-1,5)})).filter((function(e){return-1!==e.value}))}))},localName:"index-of",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:5,g:2}},{l:[{type:46,g:2},{type:46,g:3},{type:1,g:3}],m:function(){throw Error("FOCH0002: No collations are supported")},localName:"index-of",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:5,g:2}},{l:[{type:59,g:2},{type:59,g:2}],m:function(e,t,n,r,a){var i=!1,o=jn(e,t,n,r,a);return se.create({next:function(){if(i)return Z;var e=o.next(0);return e.done?e:(i=!0,z(q(e.value,0)))}})},localName:"deep-equal",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:0,g:3}},{l:[{type:59,g:2},{type:59,g:2},{type:1,g:3}],m:function(){throw Error("FOCH0002: No collations are supported")},localName:"deep-equal",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:0,g:3}},{l:[{type:59,g:2}],m:function(e,t,n,r){var a=!1;return se.create({next:function(){if(a)return Z;var e=r.ya();return a=!0,z(q(e,5))}})},localName:"count",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:5,g:3}},{l:[{type:46,g:2}],m:function(e,t,n,r){if(r.F())return r;if(!(e=si(e=gs(r.S()))))throw Error("FORG0006: Incompatible types to be converted to a common type");if(!e.every((function(e){return W(e.type,2)})))throw Error("FORG0006: items passed to fn:avg are not all numeric.");return t=e.reduce((function(e,t){return e+t.value}),0)/e.length,e.every((function(e){return W(e.type,5)||W(e.type,3)}))?se.s(q(t,3)):e.every((function(e){return W(e.type,4)}))?se.s(q(t,4)):se.s(q(t,6))},localName:"avg",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:46,g:0}},{l:[{type:46,g:2}],m:function(e,t,n,r){return r.F()?r:(e=ys(r.S()),se.s(e.reduce((function(e,t){return e.valuet.value?t:e}))))},localName:"min",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:46,g:0}},{l:[{type:46,g:2},{type:1,g:3}],m:function(){throw Error("FOCH0002: No collations are supported")},localName:"min",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:46,g:0}},{l:[{type:46,g:2}],m:function(e,t,n,r){return As(e,t,0,r,se.s(q(0,5)))},localName:"sum",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:46,g:3}},{l:[{type:46,g:2},{type:46,g:0}],m:As,localName:"sum",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:46,g:0}},{l:[{type:59,g:2}],m:function(e,t,n,r){if(!r.F()&&!r.za())throw Error("FORG0003: The argument passed to fn:zero-or-one contained more than one item.");return r},localName:"zero-or-one",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:0}},{l:[{type:59,g:2}],m:function(e,t,n,r){if(r.F())throw Error("FORG0004: The argument passed to fn:one-or-more was empty.");return r},localName:"one-or-more",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:1}},{l:[{type:59,g:2}],m:function(e,t,n,r){if(!r.za())throw Error("FORG0005: The argument passed to fn:exactly-one is empty or contained more than one item.");return r},localName:"exactly-one",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:3}},{l:[{type:59,g:2},{type:60,g:3}],m:function(e,t,n,r,a){if(r.F())return r;var i=a.first(),o=i.o;if(1!==o.length)throw Error("XPTY0004: signature of function passed to fn:filter is incompatible.");return r.filter((function(r){if(r=sn(o[0],se.s(r),t,"fn:filter",!1),!(r=i.value.call(void 0,e,t,n,r)).za()||!W(r.first().type,0))throw Error("XPTY0004: signature of function passed to fn:filter is incompatible.");return r.first().value}))},localName:"filter",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2},{type:60,g:3}],m:function(e,t,n,r,a){if(r.F())return r;var i=a.first(),o=i.o;if(1!==o.length)throw Error("XPTY0004: signature of function passed to fn:for-each is incompatible.");var s,u=r.value;return se.create({next:function(r){for(;;){if(!s){var a=u.next(0);if(a.done)return a;a=sn(o[0],se.s(a.value),t,"fn:for-each",!1),s=i.value.call(void 0,e,t,n,a).value}if(!(a=s.next(r)).done)return a;s=null}}})},localName:"for-each",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2},{type:59,g:2},{type:60,g:3}],m:function(e,t,n,r,a,i){if(r.F())return r;var o=i.first(),s=o.o;if(2!==s.length)throw Error("XPTY0004: signature of function passed to fn:fold-left is incompatible.");return r.M((function(r){return r.reduce((function(r,a){return r=sn(s[0],r,t,"fn:fold-left",!1),a=sn(s[1],se.s(a),t,"fn:fold-left",!1),o.value.call(void 0,e,t,n,r,a)}),a)}))},localName:"fold-left",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}},{l:[{type:59,g:2},{type:59,g:2},{type:60,g:3}],m:function(e,t,n,r,a,i){if(r.F())return r;var o=i.first(),s=o.o;if(2!==s.length)throw Error("XPTY0004: signature of function passed to fn:fold-right is incompatible.");return r.M((function(r){return r.reduceRight((function(r,a){return r=sn(s[0],r,t,"fn:fold-right",!1),a=sn(s[1],se.s(a),t,"fn:fold-right",!1),o.value.call(void 0,e,t,n,a,r)}),a)}))},localName:"fold-right",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:59,g:2}}],bn,[{l:[{type:1,g:3},{type:61,g:3}],m:function(e,t,n,r,a){var i,o;return se.create({next:function(){if(!i){o=r.value.next(0).value.value;var e=a.first().h.reduce((function(e,t){return e[t.key.value]=ue(t.value()),e}),Object.create(null)),s=e["."]?e["."]():se.empty();delete e["."];var u=new ps((function(e){return n.ga(e)}),Object.keys(e).reduce((function(e,t){return e[t]=t,e}),{}),(function(e,t){return n.Qa(e,t)})),l=new Fo(u),c=Go(o,{ca:!1,debug:t.debug});t.Ta&&zo(c,new os(l));var p=kr(c,["mainModule","prolog"]);p&&Jo(p,l),c=To(c=kr(c,["mainModule","queryBody","*"]),{qa:!1,ca:!0});try{c.P(l)}catch(e){jr(o,e)}l=Object.keys(e).reduce((function(t,n){return t[u.rb(null,n)]=e[n],t}),Object.create(null)),s=new gt(s=s.F()?{O:null,Ga:-1,wa:s,ta:l}:{O:s.first(),Ga:0,wa:s,ta:l});try{i=c.evaluate(s,t).value}catch(e){jr(o,e)}}try{return i.next(0)}catch(e){jr(o,e)}}})},localName:"evaluate",namespaceURI:"http://fontoxml.com/fontoxpath",j:{type:59,g:2}},{l:[],m:function(){return se.s(q("3.20.4",1))},localName:"version",namespaceURI:"http://fontoxml.com/fontoxpath",j:{type:1,g:3}}],[{l:[{type:23,g:3},{type:5,g:3}],m:function(e,t,n,r,a){return _e([r,a],(function(e){var t=u(e);e=t.next().value,t=t.next().value;var r=n.Aa(e.value.namespaceURI,e.value.localName,t.value);return null===r?se.empty():(e=new ge({l:r.l,arity:t.value,localName:e.value.localName,namespaceURI:e.value.namespaceURI,j:r.j,value:r.m}),se.s(e))}))},localName:"function-lookup",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{g:0,type:60}},{l:[{type:60,g:3}],m:function(e,t,n,r){return _e([r],(function(e){return(e=u(e).next().value).Oa()?se.empty():se.s(q(new ve("",e.v,e.J),23))}))},localName:"function-name",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:23,g:0}},{l:[{type:60,g:3}],m:function(e,t,n,r){return _e([r],(function(e){return e=u(e).next().value,se.s(q(e.B,5))}))},localName:"function-arity",namespaceURI:"http://www.w3.org/2005/xpath-functions",j:{type:5,g:3}}]);function bs(e){this.h=e}(n=bs.prototype).createAttributeNS=function(e,t){return this.h.createAttributeNS(e,t)},n.createCDATASection=function(e){return this.h.createCDATASection(e)},n.createComment=function(e){return this.h.createComment(e)},n.createDocument=function(){return this.h.createDocument()},n.createElementNS=function(e,t){return this.h.createElementNS(e,t)},n.createProcessingInstruction=function(e,t){return this.h.createProcessingInstruction(e,t)},n.createTextNode=function(e){return this.h.createTextNode(e)};var Es=Object.create(null),Bs=Object.create(null);function Ns(e,t,n,r,a,i){this.J=e,this.v=t,this.h=n,this.B=r,this.o=a,this.C=i}function Cs(e,t){return e+(t?"_DEBUG":"")}function Ts(e,t,n){return t=Cs(t,n),(n=Bs[e])?n[t]||null:(e=Es[e])&&(e=e[t])&&0!==e.length?e[0].h:null}function Is(e,t,n,r,a,i,o){!function(e,t,n,r){t=Cs(t,n),(e=Bs[e])&&(n=e[t])&&n===r&&delete e[t]}(e,t,i,a);var s=Es[e];s||(s=Es[e]=Object.create(null)),(t=s[e=Cs(t,i)])||(t=s[e]=[]),t.push(new Ns(Object.values(n.h),Object.values(n.o),a,Object.keys(r).map((function(e){return{namespaceURI:r[e],prefix:e}})),o,n.B))}function Os(e,t,n,r,a,i,o){var s=t.ca?"XQuery":"XPath",u=t.ob?null:function(e,t,n,r,a,i,o,s){var u=Es[e];return u?(u=u[t=Cs(t,i)])&&(u=u.find((function(e){return e.o===o&&e.J.every((function(e){return n(e.prefix)===e.namespaceURI}))&&e.v.every((function(e){return void 0!==r[e.name]}))&&e.B.every((function(e){return a[e.prefix]===e.namespaceURI}))&&e.C.every((function(e){var t=s(e.oc,e.arity);return t&&t.namespaceURI===e.Jb.namespaceURI&&t.localName===e.Jb.localName}))})))?{ia:u.h,sb:!1}:(e=Bs[e]&&Bs[e][t])?{ia:e,sb:!0}:null:(e=Ts(e,t,i))?{ia:e,sb:!0}:null}(e,s,n,r,a,t.debug,i,o),l=new Fo(n=new ps(n,r,o));if(null!==u)r=u.ia;else{if(r=Go(e,t),o=new os(l),t.Ta&&Wo(r,o),!(o=Xr(r,"mainModule")))throw Error("Can not execute a library module.");if(r=Xr(o,"prolog"),o=kr(o,["queryBody","*"]),r){if(!t.ca)throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context");Jo(r,l)}r=Eo(o,t)}return(null===u||u.sb)&&(Object.keys(a).forEach((function(e){var t=a[e];qo(l,t),l.o[l.h][e]=t})),r.P(l),t.ob||Is(e,s,n,a,r,t.debug,i)),{ia:r,ma:l}}var Ss=Symbol("IS_XPATH_VALUE_SYMBOL");function Ds(e){return e&&"object"==typeof e&&"lookupNamespaceURI"in e?function(t){return e.lookupNamespaceURI(t||null)}:function(){return null}}function Rs(e){return e.replace(/(\x0D\x0A)|(\x0D(?!\x0A))/g,String.fromCharCode(10))}function Gs(e){return function(t){var n=t.localName;return t.prefix?null:{namespaceURI:e,localName:n}}}function Ms(e,t,n,r,a,i){var o,s,l,c,p,h;null==r&&(r=r||{}),a?(o=a.logger||{trace:console.log.bind(console)},s=a.documentWriter,l=a.moduleImports,c=a.namespaceResolver,p=a.functionNameResolver,h=a.nodesFactory):(o={trace:console.log.bind(console)},l={},c=null,h=null,s=null,p=void 0);var f=new Te(null===n?new xe:n);e=Rs(e),n=l||Object.create(null),l=a.defaultFunctionNamespaceURI||"http://www.w3.org/2005/xpath-functions";var d=Os(e,i,c||Ds(t),r,n,l,p||Gs(l));for(e=t?vt(0,t):se.empty(),t=!h&&i.ca?new nr(t):new bs(h),s=s?new Be(s):Ee,h=Object.keys(r).reduce((function(e,t){var n=r[t];return e["Q{}"+t+"[0]"]=n&&"object"==typeof n&&Ss in n?function(){return se.create(n.Eb)}:function(){return vt(0,r[t])},e}),Object.create(null)),c={},n=(p=u(Object.keys(d.ma.Da))).next();!n.done;c={Wa:c.Wa},n=p.next())c.Wa=n.value,h[c.Wa]||(h[c.Wa]=function(e){return function(){return(0,d.ma.Da[e.Wa])(m,v)}}(c));var m=new gt({O:e.first(),Ga:0,wa:e,ta:h}),v=new Et(i.debug,f,t,s,a.currentContext,o);return{zb:m,Ab:v,ia:d.ia}}function Us(e,t){var n={},r=0,a=!1,i=null;return{next:function(){if(a)return Z;for(var o={};r {\n\t\t\t\t\tconst result = "+e+".next();\n\t\t\t\t\treturn result.done ? false : !!result.value; \n\t\t\t\t})()",{type:0});case 5:throw Error("Trying to get value of generated code with type None");default:throw Error("Unreachable! Trying to get compiled value of unsupported GeneratedCodeType.")}}Object.assign(Ys,(qs.ANY_TYPE=0,qs.NUMBER_TYPE=1,qs.STRING_TYPE=2,qs.BOOLEAN_TYPE=3,qs.NODES_TYPE=7,qs.FIRST_NODE_TYPE=9,qs.STRINGS_TYPE=10,qs.MAP_TYPE=11,qs.ARRAY_TYPE=12,qs.ASYNC_ITERATOR_TYPE=99,qs.NUMBERS_TYPE=13,qs.XQUERY_UPDATE_3_1_LANGUAGE="XQueryUpdate3.1",qs.XQUERY_3_1_LANGUAGE="XQuery3.1",qs.XPATH_3_1_LANGUAGE="XPath3.1",qs));var Ws={DONE_TOKEN:Z,getEffectiveBooleanValue:te,isSubtypeOf:W,ready:z},$s={bc:"pathExpr",Rb:"andOp",ac:"orOp",dc:"stringConstantExpr"},eu=Object.values($s);function tu(e,t,n,r,a){return e=Xr(e,n),(e=Xr(e,eu))?(t+=n,(r=r.Fb(e,t,r)).isAstAccepted?0===a?zs(t,r.code,r.Ma):Ks(t,r.Ma,[r.code]):r):Zs("Unsupported: a base expression used with an operand.")}function nu(e,t,n){return 4===t&&(e+=".next().value"),47===n&&(e="(function () { const attr = "+e+"; return attr ? domFacade.getData(attr) : null})()"),e}function ru(e,t,n,r,a){var i=Lr(Xr(e,"firstOperand")[1],"type");if(e=Lr(Xr(e,"secondOperand")[1],"type"),!i||!e)return Zs("Left or right type of compare are not found, annotation failed.");var o=[47,1];if(!o.includes(i.type)||!o.includes(e.type))return Zs("Unsupported types in compare: ["+pe[i.type]+", "+pe[e.type]+"]");if(!n.isAstAccepted)return n;if(!r.isAstAccepted)return r;if(!i||!e)return Zs("Operands in compare weren't annotated");if(!(o=new Map([["eqOp","==="],["neOp","!=="]])).has(t))return Zs(t+" not yet implemented");t=o.get(t),o=Qs(n.code,n.Ma);var s=Qs(r.code,r.Ma);return Ks("function "+a+"(contextItem) {\n\t\t\t\t"+n.Ea.join("\n")+"\n\t\t\t \t"+r.Ea.join("\n")+"\n\t \t \treturn "+nu(o[0],o[1].type,i.type)+" "+t+" "+nu(s[0],s[1].type,e.type)+";\n\t\t}",{type:3,j:{type:0}})}var au={},iu=(au.equalOp="eqOp",au.notEqualOp="neOp",au.lessThanOrEqualOp="leOp",au.lessThanOp="ltOp",au.greaterThanOrEqualOp="geOp",au.greaterThanOp="gtOp",au);function ou(e){return JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function su(e,t,n,r){var a=tu(e,t,"firstOperand",n,0);return a.isAstAccepted?(e=tu(e,t,"secondOperand",n,0)).isAstAccepted?Ks("\n\tfunction "+t+"(contextItem) {\n\t\t"+a.Ea.join("\n")+"\n\t\t"+e.Ea.join("\n")+"\n\t\treturn "+a.code+" "+r+" "+e.code+";\n\t}\n\t",{type:3,j:{type:0}}):e:a}function uu(e){for(var t=[],n=0;n {\n\t\t\t"+e.code+"\n\t\t\treturn DONE_TOKEN;\n\t\t};\n\t\treturn {\n\t\t\tnext,\n\t\t\t[Symbol.iterator]() { return this; }\n\t\t};\n\t}\n\t",{type:3,j:{type:4}}):e;case $s.Rb:return su(e,t,n,"&&");case $s.ac:return su(e,t,n,"||");case $s.dc:return Ks("const "+t+" = "+(e=ou(e=Xr(e,"value")[1]))+";",{type:1});case"equalOp":case"notEqualOp":case"lessThanOrEqualOp":case"lessThanOp":case"greaterThanOrEqualOp":case"greaterThanOp":case"eqOp":case"neOp":case"ltOp":case"leOp":case"gtOp":case"geOp":case"isOp":case"nodeBeforeOp":case"nodeAfterOp":e:{var a=tu(e,t,"firstOperand",n);if(a.isAstAccepted)if((n=tu(e,t,"secondOperand",n)).isAstAccepted)switch(r){case"eqOp":case"neOp":case"ltOp":case"leOp":case"gtOp":case"geOp":case"isOp":t=ru(e,r,a,n,t);break e;case"equalOp":case"notEqualOp":case"lessThanOrEqualOp":case"lessThanOp":case"greaterThanOrEqualOp":case"greaterThanOp":Xr(e,"firstOperand");var i=Lr(e,"type");Xr(e,"secondOperand");var o=Lr(e,"type");t=i&&o?3===i.g&&3===o.g?ru(e,iu[r],a,n,t):Zs("generalCompare with sequences is still in development"):Zs("types of compare are not known");break e;default:t=Zs("Unsupported compare type")}else t=n;else t=a}return t;default:return Zs("Unsupported: the base expression '"+r+"'.")}}function vu(e,t,n){var r=Xr(e,"mainModule");if(!r)return Zs("Unsupported: Can not execute a library module.");if(Xr(r,"prolog"))return Zs("Unsupported: XQuery.");var a=kr(r,["queryBody","*"]);return n.Fb=mu,!1===(n=mu(a,"compiledXPathExpression",n)).isAstAccepted?n:(r=n.Ea?n.Ea.join("\n"):"",a=Lr(a,"type"),!1===(t=function(e,t,n){switch(e){case 9:if(e=(n=u(Qs("compiledXPathExpression",t))).next().value,4!==n.next().value.type)throw Error("Trying access generated code as an iterator while this is not the case.");return Ks("\n\tconst firstResult = "+e+".next();\n\tif (!firstResult.done) {\n\t\treturn firstResult.value\n\t}\n\treturn null;\n\t",{type:2});case 7:return e=(n=u(Qs("compiledXPathExpression",t))).next().value,4!==n.next().value.type?Ks("return [];",{type:2}):Ks("\n\tconst nodes = [];\n\tfor (const node of "+e+") {\n\t\tnodes.push(node);\n\t}\n\treturn nodes;\n\t",{type:2});case 3:return(n=zs("compiledXPathExpression","",t)).isAstAccepted?Ks("return "+n.code+";",{type:2}):n;case 2:return void 0===n?n=Zs("Full AST wasn't annotated so we cannot correctly emit a string return"):W(n,1)||W(n,47)?n=Ks("return "+nu(e=(t=u(Qs("compiledXPathExpression",t))).next().value,(t=t.next().value).type,n)+" || '';",{type:2}):n=Zs("Not implemented: returning anything but strings and attributes from codegen"),n;default:return Zs("Unsupported: the return type '"+e+"'.")}}(t,n.Ma,a?a.type:void 0)).isAstAccepted?t:(t=r+n.code+t.code,n="\n\treturn (contextItem, domFacade, runtimeLib) => {\n\t\tconst {\n\t\t\tDONE_TOKEN,\n\t\t\tValueType,\n\t\t\tXPDY0002,\n\t\t\tdeterminePredicateTruthValue,\n\t\t\tisSubtypeOf,\n\t\t\tready,\n\t\t\tatomize,\n\t\t} = runtimeLib;",function e(t){var n=Yr(t,"*");if("pathExpr"===t[0])return!0;for(t=u(n),n=t.next();!n.done;n=t.next())if(e(n.value))return!0;return!1}(e)&&(n+='\n\t\tif (!contextItem) {\n\t\t\tthrow XPDY0002("Context is needed to evaluate the given path expression.");\n\t\t}\n\n\t\tif (!contextItem.nodeType) {\n\t\t\tthrow new Error("Context item must be subtype of node().");\n\t\t}\n\t\t'),{code:n+(t+"}\n//# sourceURL=generated.js"),isAstAccepted:!0}))}var gu={},yu=(gu["http://www.w3.org/2005/XQueryX"]="xqx",gu["http://www.w3.org/2007/xquery-update-10"]="xquf",gu);function wu(e,t,n){var r=e.stack;r&&(r.includes(e.message)&&(r=r.substr(r.indexOf(e.message)+e.message.length).trim()),(r=r.split("\n")).splice(10),r=(r=r.map((function(e){return e.startsWith(" ")||e.startsWith("\t")?e:" "+e}))).join("\n")),e=Error.call(this,"Custom XPath function Q{"+n+"}"+t+" raised:\n"+e.message+"\n"+r),this.message=e.message,"stack"in e&&(this.stack=e.stack)}function Au(e,t,n){return 0===t.g?e.F()?null:Ps(e.first(),n).next(0).value:2===t.g||1===t.g?e.S().map((function(e){if(W(e.type,47))throw Error("Cannot pass attribute nodes to custom functions");return Ps(e,n).next(0).value})):Ps(e.first(),n).next(0).value}function xu(e){var t=Ts(e,"XPath",!1);if(t)return t;if(Wo(t=Go(e,{ca:!1}),new os(void 0)),null===(t=kr(t,["mainModule","queryBody","*"])))throw Error("Library modules do not have a specificity");t=To(t,{qa:!1,ca:!1});var n=Cs("XPath",!1);if(Bs[e])Bs[e][n]=t;else{var r={};Bs[e]=(r[n]=t,r)}return t}v(wu,Error);var bu=new xe;return void 0!==t&&(t.compareSpecificity=function(e,t){return dr(xu(e).K,xu(t).K)},t.compileXPathToJavaScript=function(e,t,n){return n=n||{},t=t||0,Wo(e=Go(e=Rs(e),{ca:"XQuery3.1"===n.language||"XQueryUpdate3.1"===n.language,debug:!1}),new os(new Fo(new ps((n={ga:n.namespaceResolver||Ds(null)}).ga,{},Gs("http://www.w3.org/2005/xpath-functions"))))),vu(e,t,n)},t.domFacade=bu,t.evaluateXPath=Ys,t.evaluateXPathToArray=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.Sb,a)},t.evaluateXPathToAsyncIterator=Vs,t.evaluateXPathToBoolean=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.BOOLEAN_TYPE,a)},t.evaluateXPathToFirstNode=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.Vb,a)},t.evaluateXPathToMap=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.Xb,a)},t.evaluateXPathToNodes=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.Zb,a)},t.evaluateXPathToNumber=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.NUMBER_TYPE,a)},t.evaluateXPathToNumbers=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.$b,a)},t.evaluateXPathToString=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.STRING_TYPE,a)},t.evaluateXPathToStrings=function(e,t,n,r,a){return Ys(e,t,n,r,Ys.cc,a)},t.evaluateUpdatingExpression=function(e,t,n,r,a){var i,o,s,u,l,c,p,h,f,d;return function(e){function t(t){return e.next(t)}function n(t){return e.throw(t)}return new Promise((function(r,a){!function e(i){i.done?r(i.value):Promise.resolve(i.value).then(t,n).then(e,a)}(e.next())}))}(new E(new A((function(m){switch(m.h){case 1:a=a||{};try{u=Ms(e,t,n||null,r||{},a||{},{qa:!0,ca:!0,debug:!!a.debug,ob:!!a.disableCache,Ta:!!a.annotateAst}),i=u.zb,o=u.Ab,s=u.ia}catch(t){jr(e,t)}if(s.I){m.h=2;break}l=[];var v=(c=Vs(e,t,n,r,Object.assign(Object.assign({},a),{language:"XQueryUpdate3.1"}))).next();return m.h=3,{value:v};case 3:p=m.v;case 4:if(p.done){m.h=6;break}return l.push(p.value),v=c.next(),m.h=7,{value:v};case 7:p=m.v,m.h=4;break;case 6:return h={},m.return(Promise.resolve((h.pendingUpdateList=[],h.xdmValue=l,h)));case 2:try{d=s.o(i,o),f=d.next(0)}catch(t){jr(e,t)}return m.return(Js(f.value,e,a.returnType,o))}}))))},t.evaluateUpdatingExpressionSync=function(e,t,n,r,a){a=a||{};try{var i=Ms(e,t,n||null,r||{},a||{},{qa:!0,ca:!0,debug:!!a.debug,ob:!!a.disableCache,Ta:!!a.annotateAst}),o=i.zb,s=i.Ab,u=i.ia}catch(t){jr(e,t)}if(!u.I)return o={},(s={}).pendingUpdateList=[],s.xdmValue=Ys(e,t,n,r,a.j,Object.assign(Object.assign({},a),(o.language=Ys.hc,o))),s;try{var l=u.o(o,s).next(0)}catch(t){jr(e,t)}return Js(l.value,e,a.returnType,s)},t.executeJavaScriptCompiledXPath=function(e,t,n){return n=n||new xe,e()(t,n,Ws)},t.executePendingUpdateList=function(e,t,n,r){t=new Te(t||new xe),r=r?new Be(r):Ee,n=n?n=new bs(n):null,ir(e=e.map(so),t,n,r)},t.getBucketForSelector=function(e){return xu(e).Y()},t.getBucketsForNode=Ae,t.precompileXPath=function(e){return Promise.resolve(e)},t.registerXQueryModule=function(e,t){if(zo(t=Go(e,{ca:!0,debug:(t=void 0===t?{debug:!1}:t).debug}),new os(void 0)),!(t=Xr(t,"libraryModule")))throw Error("XQuery module must be declared in a library module.");var n=Xr(t,"moduleDecl"),r=Xr(n,"uri"),a=_r(r);if(r=_r(n=Xr(n,"prefix")),(n=new Fo(new ps((function(){return null}),Object.create(null),Gs("http://www.w3.org/2005/xpath-functions")))).o[n.h][r]=a,null!==(t=Xr(t,"prolog"))){try{var i=Jo(t,n)}catch(t){jr(e,t)}i.La.forEach((function(e){if(a!==e.namespaceURI)throw Error("XQST0048: Functions and variables declared in a module must reside in the module target namespace.")})),Yo(a,i)}else Yo(a,{La:[],Va:[]});return a},t.registerCustomXPathFunction=function(e,t,n,r){var a=(e=function(e){if("object"==typeof e)return e;if(2!==(e=e.split(":")).length)throw Error("Do not register custom functions in the default function namespace");var t=u(e);e=t.next().value,t=t.next().value;var n=cs[e];if(!n){if(n="generated_namespace_uri_"+e,cs[e])throw Error("Prefix already registered: Do not register the same prefix twice.");cs[e]=n}return{localName:t,namespaceURI:n}}(e)).namespaceURI,i=e.localName;if(!a)throw pi();var o=t.map((function(e){return me(e)})),s=me(n);ba(a,i,o,s,(function(e,t,n){var u=Array.from(arguments);u.splice(0,3),u=u.map((function(e,n){return Au(e,o[n],t)}));var l={};l.currentContext=t.J,l.domFacade=t.h.h,l=l;try{var p=r.apply(void 0,[l].concat(c(u)))}catch(e){throw new wu(e,i,a)}return p&&"object"==typeof p&&Object.getOwnPropertySymbols(p).includes(Ss)?se.create(p.Eb):vt(t.h,p,s)}))},t.parseScript=function(e,t,n,r){return r=void 0===r?Ee:r,e=Go(e,{ca:"XQueryUpdate3.1"===t.language,debug:t.debug}),t.Ta&&Wo(e,new os(void 0)),function e(t,n,r,a){if("string"==typeof r)return 0===r.length?null:n.createTextNode(r);if(!Array.isArray(r))throw new TypeError("JsonML element should be an array or string");var i=r[0];switch(i){case"copySource":case"insertAfter":case"insertAsFirst":case"insertAsLast":case"insertBefore":case"insertInto":case"modifyExpr":case"newNameExpr":case"replacementExpr":case"replaceValue":case"returnExpr":case"sourceExpr":case"targetExpr":case"transformCopies":case"transformCopy":a=a||"http://www.w3.org/2005/XQueryX";break;case"deleteExpr":case"insertExpr":case"renameExpr":case"replaceExpr":case"transformExpr":a="http://www.w3.org/2007/xquery-update-10";break;default:a="http://www.w3.org/2005/XQueryX"}i=n.createElementNS(a,yu[a]+":"+i);var o=r[1],s=1;if("object"==typeof o&&!Array.isArray(o)){for(var u in o)null!==o[u]&&("type"===u?t.setAttributeNS(i,a,"fontoxpath:"+u,fe(o[u])):t.setAttributeNS(i,a,yu[a]+":"+u,o[u]));s=2}for(u=s,o=r.length;u{A(e,r,"xpath"===t.language),e.accept()});return function(e){const n="xpath"===t.language?[-1,...be(e),-2]:be(e);return a.execute(n).success}}})),Be=(Ee.compareSpecificity,Ee.compileXPathToJavaScript,Ee.createTypedValueFactory,Ee.domFacade,Ee.evaluateUpdatingExpression,Ee.evaluateUpdatingExpressionSync,Ee.evaluateXPath),Ne=(Ee.evaluateXPathToArray,Ee.evaluateXPathToAsyncIterator,Ee.evaluateXPathToBoolean),Ce=Ee.evaluateXPathToFirstNode,Te=(Ee.evaluateXPathToMap,Ee.evaluateXPathToNodes),Ie=Ee.evaluateXPathToNumber,Oe=(Ee.evaluateXPathToNumbers,Ee.evaluateXPathToString),Se=(Ee.evaluateXPathToStrings,Ee.executeJavaScriptCompiledXPath,Ee.executePendingUpdateList,Ee.getBucketForSelector,Ee.getBucketsForNode),De=(Ee.Language,Ee.parseScript,Ee.precompileXPath,Ee.profiler,Ee.registerCustomXPathFunction),Re=Ee.registerXQueryModule;Ee.ReturnType;class Ge{constructor(e){this._onNodeTouched=e}getAllAttributes(e){return Array.from(e.attributes)}getAttribute(e,t){return e.getAttribute(t)}getChildNodes(e,t){return Array.from(e.childNodes).filter(e=>!t||Se(e).includes(t))}getData(e){return e.nodeType===Node.ATTRIBUTE_NODE?(this._onNodeTouched(e),e.value):(this._onNodeTouched(e.parentNode),e.data)}getFirstChild(e,t){const n=Array.from(this.getChildNodes()).filter(e=>!t||Se(e).includes(t))[0];return n||null}getLastChild(e,t){const n=e.getChildNodes().filter(e=>!t||Se(e).includes(t)),r=n[n.length-1];return r||null}getNextSibling(e,t){for(let{nextSibling:n}=e;n;n=n.nextSibling)if(Se(n).includes(t))return n;return null}getParentNode(e){return e.parentNode}getPreviousSibling(e,t){for(let{previousSibling:n}=e;n;n=n.previousSibling)if(Se(n).includes(t))return n;return null}}class Me{static isAbsolutePath(e){return null!=e&&(e.startsWith("/")||e.startsWith("instance("))}static isSelfReference(e){return"."===e||"./text()"===e||"text()"===e||""===e||null===e}static getInstanceId(e){if(!e)return"default";if(e.startsWith("instance(")){const t=e.substring(e.indexOf("(")+1);return t.substring(1,t.indexOf(")")-1)}return"default"}static getPath(e){const t=Be("path()",e),n=e.ownerDocument.firstElementChild.getAttribute("id");return null!==n&&"default"!==n?`#${n}${Me.shortenPath(t)}`:Me.shortenPath(t)}static shortenPath(e){const t=e.split("/");let n="";for(let e=2;e0;){const i=u[u.length-1],{processed:l}=i,{node:c}=i;if(l)u.pop(),s.pop(),o[c]=!1,a[c]=!0,t&&0!==e[c].length||n.push(c);else{if(a[c]){u.pop();continue}if(o[c]){if(r){u.pop();continue}s.push(c),window.dispatchEvent(new CustomEvent("compute-exception",{composed:!0,bubbles:!0,detail:{path:s,message:"cyclic graph"}}))}o[c]=!0,s.push(c);const t=e[c];for(let e=t.length-1;e>=0;e-=1)u.push({node:t[e],processed:!1});i.processed=!0}}}}function Fe(e){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=e&&!!e.circular}Fe.prototype={size(){return Object.keys(this.nodes).length},addNode(e,t){this.hasNode(e)||(this.nodes[e]=2===arguments.length?t:e,this.outgoingEdges[e]=[],this.incomingEdges[e]=[])},removeNode(e){this.hasNode(e)&&(delete this.nodes[e],delete this.outgoingEdges[e],delete this.incomingEdges[e],[this.incomingEdges,this.outgoingEdges].forEach(t=>{Object.keys(t).forEach(n=>{const r=t[n].indexOf(e);r>=0&&t[n].splice(r,1)},this)}))},hasNode(e){return Object.prototype.hasOwnProperty.call(this.nodes,e)},getNodeData(e){if(this.hasNode(e))return this.nodes[e];throw new Error("Node does not exist: "+e)},setNodeData(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);this.nodes[e]=t},addDependency(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);if(!this.hasNode(t))throw new Error("Node does not exist: "+t);return-1===this.outgoingEdges[e].indexOf(t)&&this.outgoingEdges[e].push(t),-1===this.incomingEdges[t].indexOf(e)&&this.incomingEdges[t].push(e),!0},removeDependency(e,t){let n;this.hasNode(e)&&(n=this.outgoingEdges[e].indexOf(t),n>=0&&this.outgoingEdges[e].splice(n,1)),this.hasNode(t)&&(n=this.incomingEdges[t].indexOf(e),n>=0&&this.incomingEdges[t].splice(n,1))},clone(){const e=this,t=new Fe;return Object.keys(e.nodes).forEach(n=>{t.nodes[n]=e.nodes[n],t.outgoingEdges[n]=e.outgoingEdges[n].slice(0),t.incomingEdges[n]=e.incomingEdges[n].slice(0)}),t},directDependenciesOf(e){if(this.hasNode(e))return this.outgoingEdges[e].slice(0);throw new Error("Node does not exist: "+e)},directDependantsOf(e){if(this.hasNode(e))return this.incomingEdges[e].slice(0);throw new Error("Node does not exist: "+e)},dependenciesOf(e,t){if(this.hasNode(e)){const n=[];Ue(this.outgoingEdges,t,n,this.circular)(e);const r=n.indexOf(e);return r>=0&&n.splice(r,1),n}throw new Error("Node does not exist: "+e)},dependantsOf(e,t){if(this.hasNode(e)){const n=[];Ue(this.incomingEdges,t,n,this.circular)(e);const r=n.indexOf(e);return r>=0&&n.splice(r,1),n}throw new Error("Node does not exist: "+e)},overallOrder(e){const t=this,n=[],r=Object.keys(this.nodes);if(0===r.length)return n;if(!this.circular){const e=Ue(this.outgoingEdges,!1,[],this.circular);r.forEach(t=>{e(t)})}const a=Ue(this.outgoingEdges,e,n,this.circular);return r.filter(e=>0===t.incomingEdges[e].length).forEach(e=>{a(e)}),this.circular&&r.filter(e=>-1===n.indexOf(e)).forEach(e=>a(e)),n}},Fe.prototype.directDependentsOf=Fe.prototype.directDependantsOf,Fe.prototype.dependentsOf=Fe.prototype.dependantsOf;class Pe{static get ACTION_ELEMENTS(){return["FX-DELETE","FX-DISPATCH","FX-INSERT","FX-LOAD","FX-MESSAGE","FX-REBUILD","FX-RECALCULATE","FX-REFRESH","FX-RENEW","FX-REPLACE","FX-RESET","FX-RETAIN","FX-RETURN","FX-REVALIDATE","FX-SEND","FX-SETFOCUS","FX-SETINDEX","FX-SETVALUE","FX-TOGGLE","FX-UPDATE"]}static get XFORMS_NAMESPACE_URI(){return"http://www.w3.org/2002/xforms"}static isActionElement(e){return Pe.ACTION_ELEMENTS.includes(e)}static get UI_ELEMENTS(){return["FX-ALERT","FX-CONTROL","FX-BUTTON","FX-CONTROL","FX-DIALOG","FX-FILENAME","FX-MEDIATYPE","FX-GROUP","FX-HINT","FX-INPUT","FX-ITEMSET","FX-LABEL","FX-OUTPUT","FX-RANGE","FX-REPEAT","FX-REPEATITEM","FX-SWITCH","FX-SECRET","FX-SELECT","FX-SUBMIT","FX-TEXTAREA","FX-TRIGGER","FX-UPLOAD"]}static isUiElement(e){Pe.UI_ELEMENTS.includes(e);return Pe.UI_ELEMENTS.includes(e)}static async refreshChildren(e){return new Promise(t=>{const{children:n}=e;n&&Array.from(n).forEach(e=>{Pe.isUiElement(e.nodeName)&&"function"==typeof e.refresh?e.refresh():"FX-MODEL"!==e.nodeName.toUpperCase()&&Pe.refreshChildren(e)}),t("done")})}static isRepeated(e){return null!==e.closest("fx-repeatitem")}static getRepeatTarget(e,t){return e.closest("fx-repeatitem").querySelector("#"+t)}static getContentType(e,t){return"urlencoded-post"===t?"application/x-www-form-urlencoded; charset=UTF-8":"xml"===e.type?"application/xml; charset=UTF-8":"json"===e.type?"application/json":(console.warn("content-type unknown ",e.type),null)}static fadeInElement(e){let t=()=>(e.getAnimations&&e.getAnimations().map(e=>e.finish()),t=e.animate({opacity:[0,1]},600),t.finished);return t()}static fadeOutElement(e){let t=()=>(e.getAnimations&&e.getAnimations().map(e=>e.finish()),t=e.animate({opacity:[1,0]},2600),t.finished);return t()}}Pe.READONLY_DEFAULT=!1,Pe.REQUIRED_DEFAULT=!1,Pe.RELEVANT_DEFAULT=!0,Pe.CONSTRAINT_DEFAULT=!0,Pe.TYPE_DEFAULT="xs:string";const He="http://www.w3.org/2002/xforms";function je(e,t){if("xhtml"===t)return"http://www.w3.org/1999/xhtml";if(""===t)return Oe("ancestor-or-self::*/@xpath-default-namespace[last()]",e)||null;const n=Oe('ancestor-or-self::*/@*[name() = "xmlns:" || $prefix][last()]',e,null,{prefix:t});return console.log("result",n),n}function Xe({prefix:e,localName:t},n){switch(t){case"base64encode":case"boolean-from-string":case"current":case"depends":case"event":case"index":case"instance":case"log":case"logtree":return{namespaceURI:He,localName:t};default:return""===e||"fn"===e?{namespaceURI:"http://www.w3.org/2005/xpath-functions",localName:t}:"local"===e?{namespaceURI:"http://www.w3.org/2005/xquery-local-functions",localName:t}:null}}function _e(e,t,n,r={}){return Be(e,t,null,r,"xs:anyType",{currentContext:{formElement:n,variables:r},moduleImports:{xf:He},functionNameResolver:Xe,namespaceResolver:e=>je(n,e)})}function Le(e,t,n){return Ce(e,t,null,{},{namespaceResolver:e=>je(n,e),defaultFunctionNamespaceURI:He,moduleImports:{xf:He},currentContext:{formElement:n}})}function ke(e,t,n){return Te(e,t,null,{},{currentContext:{formElement:n},functionNameResolver:Xe,moduleImports:{xf:He},namespaceResolver:e=>je(n,e)})}function Ye(e,t,n){return Ne(e,t,null,{},{currentContext:{formElement:n},functionNameResolver:Xe,moduleImports:{xf:He},namespaceResolver:e=>je(n,e)})}function qe(e,t,n,r=null,a=n){return Oe(e,t,r,{},{currentContext:{formElement:n},functionNameResolver:Xe,moduleImports:{xf:He},namespaceResolver:e=>je(a,e)})}function Ve(e,t,n,r=null,a=n){return Ie(e,t,r,{},{currentContext:{formElement:n},functionNameResolver:Xe,moduleImports:{xf:He},namespaceResolver:e=>je(a,e)})}const Je=e=>{if(!e)return"http://www.w3.org/1999/xhtml"};function Qe(e,t,n=null){const r=Te("outermost(ancestor-or-self::fx-fore[1]/(descendant::xf-fore|descendant::*[@id = $id]))[not(self::fx-fore)]",t,null,{id:e},{namespaceResolver:Je});if(0===r.length)return null;if(1===r.length&&Ne("(ancestor::fx-fore | ancestor::fx-repeat)[last()]/self::fx-fore",r[0],null,null,{namespaceResolver:Je})){const e=r[0];return n&&e.localName!==n?null:e}for(const e of Te("ancestor::fx-repeatitem => reverse()",t,null,null,{namespaceResolver:Je})){const t=r.filter(t=>e.contains(t));switch(t.length){case 0:break;case 1:{const e=t[0];return n&&e.localName!==n?null:e}default:{const e=t.find(e=>Te("every $ancestor of ancestor::fx-repeatitem satisfies $ancestor is $ancestor/../child::fx-repeatitem[../@repeat-index]",e,null,{}));return e?n&&e.localName!==n?null:e:null}}}return null}De({namespaceURI:He,localName:"log"},["xs:string?"],"xs:string?",(e,t)=>{const{formElement:n}=e.currentContext,r=Qe(t,n,"fx-instance");if(r){return(new XMLSerializer).serializeToString(r.getDefaultContext())}return null}),De({namespaceURI:He,localName:"logtree"},["xs:string?"],"element()?",(e,t)=>{const{formElement:n}=e.currentContext,r=Qe(t,n,"fx-instance");if(r){const t=document.createElement("div");t.setAttribute("class","logtree");const n=e.currentContext.formElement,a=n.querySelector(".logtree");a&&a.parentNode.removeChild(a);const i=function e(t,n){if(n&&n.nodeType===Node.ELEMENT_NODE&&n.children){const r=document.createElement("details");r.setAttribute("data-path",n.nodeName);const a=document.createElement("summary");let i,o=" <"+n.nodeName;Array.from(n.attributes).forEach(e=>{o+=` ${e.nodeName}="${e.nodeValue}"`}),n.firstChild&&n.firstChild.nodeType===Node.TEXT_NODE&&""!==n.firstChild.data.trim()?(i=n.firstChild.nodeValue,o+=`>${i}`):o+=">",a.textContent=o,r.appendChild(a),0!==n.childElementCount?r.setAttribute("open","open"):a.setAttribute("style","list-style:none;"),t.appendChild(r),Array.from(n.children).forEach(t=>{e(r,t)})}}(t,r.getDefaultContext());i&&n.appendChild(i)}return null});const Ke=(e,t)=>{const n=Ce("ancestor-or-self::fx-fore",e.currentContext.formElement,null,null,{namespaceResolver:Je}),r=t?Qe(t,n,"fx-instance"):n.querySelector("fx-instance");if(r){return r.getDefaultContext()}return null};De({namespaceURI:He,localName:"index"},["xs:string?"],"xs:integer?",(e,t)=>{const{formElement:n}=e.currentContext;if(null===t)return 1;const r=Qe(t,n,"fx-repeat");return r?r.getAttribute("index"):1}),De({namespaceURI:He,localName:"instance"},[],"item()?",e=>Ke(e,null)),De({namespaceURI:He,localName:"instance"},["xs:string?"],"item()?",Ke),De({namespaceURI:He,localName:"depends"},["node()*"],"item()?",(e,t)=>t[0]),De({namespaceURI:He,localName:"event"},["xs:string?"],"item()?",(e,t)=>(e.currentContext.variables[t].nodeType&&console.log("got some node as js object"),e.currentContext.variables[t])),Re(`\n module namespace xf="${He}";\n\n declare %public function xf:boolean-from-string($str as xs:string) as xs:boolean {\n lower-case($str) = "true" or $str = "1"\n };\n`),De({namespaceURI:He,localName:"base64encode"},["xs:string?"],"xs:string?",(e,t)=>btoa(t));class Ze extends HTMLElement{constructor(){super(),this.model=this.parentNode,this.attachShadow({mode:"open"})}connectedCallback(){this.hasAttribute("src")&&(this.src=this.getAttribute("src")),this.hasAttribute("id")?this.id=this.getAttribute("id"):this.id="default",this.hasAttribute("type")?this.type=this.getAttribute("type"):this.type="xml";this.shadowRoot.innerHTML="\n \n \n \n "}async init(){await this._initInstance().then(()=>(this.dispatchEvent(new CustomEvent("instance-loaded",{composed:!0,bubbles:!0,detail:{instance:this}})),this))}evalXPath(e){const t=this.parentElement.parentElement;return Le(e,this.getDefaultContext(),t)}getInstanceData(){return this.instanceData||this._createInstanceData(),this.instanceData}setInstanceData(e){e?this.instanceData=e:this._createInstanceData()}getDefaultContext(){return"xml"===this.type?this.instanceData.firstElementChild:this.instanceData}async _initInstance(){if("#querystring"===this.src){const e=new URLSearchParams(location.search),t=(new DOMParser).parseFromString("","application/xml"),n=t.firstElementChild;for(const r of e){const e=t.createElement(r[0]);e.appendChild(t.createTextNode(r[1])),n.appendChild(e)}this.instanceData=t}else this.src?await this._loadData():0!==this.childNodes.length&&this._useInlineData()}_createInstanceData(){if("xml"===this.type){const e=(new DOMParser).parseFromString("","application/xml");this.instanceData=e}"json"===this.type&&(this.instanceData={})}async _loadData(){const e=""+this.src,t=Pe.getContentType(this,"get");await fetch(e,{method:"GET",mode:"cors",credentials:"include",headers:{"Content-Type":t}}).then(e=>{const t=e.headers.get("content-type").toLowerCase();return console.log("********** responseContentType *********",t),t.startsWith("text/plain")?e.text():t.startsWith("application/json")?e.json():t.startsWith("application/xml")?e.text().then(e=>(console.log("xml ********",e),(new DOMParser).parseFromString(e,"application/xml"))):"done"}).then(e=>{this.instanceData=e,console.log("instanceData loaded: ",this.instanceData)}).catch(e=>{throw new Error("failed loading data "+e)})}_getContentType(){return"xml"===this.type?"application/xml":"json"===this.type?"application/json":(console.warn("content-type unknown ",this.type),null)}_useInlineData(){if("xml"===this.type){const e=(new DOMParser).parseFromString(this.innerHTML,"application/xml");console.log("fx-instance init id:",this.id),this.instanceData=e,console.log("fx-instance data: ",this.instanceData)}else"json"===this.type?this.instanceData=JSON.parse(this.textContent):console.warn("unknow type for data ",this.type)}_handleResponse(){console.log("_handleResponse ");const e=this.shadowRoot.getElementById("loader"),t=(new DOMParser).parseFromString(e.lastResponse,"application/xml");this.instanceData=t,console.log("data: ",this.instanceData)}_handleError(){const e=this.shadowRoot.getElementById("loader");console.log("_handleResponse ",e.lastError)}}customElements.define("fx-instance",Ze);class ze{constructor(e,t,n,r,a,i,o,s,u){this.path=e,this.ref=t,this.constraint=i,this.readonly=n,this.relevant=r,this.required=a,this.type=o,this.node=s,this.bind=u,this.changed=!1,this.alerts=[]}get value(){return this.node.nodeType?this.node.nodeType===Node.ATTRIBUTE_NODE?this.node.nodeValue:this.node.textContent:this.node}set value(e){console.log("modelitem.setvalue oldVal",this.value),console.log("modelitem.setvalue newVal",e),e.nodeType===Node.DOCUMENT_NODE?this.node.appendChild(e.firstElementChild):e.nodeType===Node.ELEMENT_NODE?this.node.appendChild(e):this.node.nodeType===Node.ATTRIBUTE_NODE?this.node.nodeValue=e:this.node.textContent=e}addAlert(e){this.alerts.push(e)}cleanAlerts(){this.alerts=[]}}class We extends HTMLElement{constructor(){super(),this.instances=[],this.modelItems=[],this.defaultContext={},this.inited=!1,this.modelConstructed=!1,this.attachShadow({mode:"open"})}get formElement(){return this.parentElement}connectedCallback(){this.shadowRoot.innerHTML="\n \n ",this.addEventListener("model-construct-done",e=>{this.modelConstructed=!0,console.log("model-construct-done fired ",e.detail.model.instances)})}static lazyCreateModelItem(e,t,n){let r,a={};if(null==n)return null;a=n.nodeType===n.TEXT_NODE?n.parentNode:n,n.nodeType?r=Me.getPath(n):(r=null,a=n);const i=new ze(r,t,Pe.READONLY_DEFAULT,Pe.RELEVANT_DEFAULT,Pe.REQUIRED_DEFAULT,Pe.CONSTRAINT_DEFAULT,Pe.TYPE_DEFAULT,a,this);return e.registerModelItem(i),i}modelConstruct(){console.log("### <<<<< dispatching model-construct >>>>>"),this.dispatchEvent(new CustomEvent("model-construct",{detail:this}));const e=this.querySelectorAll("fx-instance");if(e.length>0){console.group("init instances");const t=[];e.forEach(e=>{t.push(e.init())}),Promise.all(t).then(()=>{this.instances=Array.from(e),console.log("_modelConstruct this.instances ",this.instances),this.updateModel(),this.inited=!0,console.log("### <<<<< dispatching model-construct-done >>>>>"),this.dispatchEvent(new CustomEvent("model-construct-done",{composed:!0,bubbles:!0,detail:{model:this}}))}),console.groupEnd()}else this.dispatchEvent(new CustomEvent("model-construct-done",{composed:!0,bubbles:!0,detail:{model:this}}));this.inited=!0}registerModelItem(e){this.modelItems.push(e)}updateModel(){this.rebuild(),this.recalculate(),this.revalidate()}rebuild(){console.group("### rebuild"),this.mainGraph=new Fe(!1),this.modelItems=[];this.querySelectorAll("fx-model > fx-bind").forEach(e=>{e.init(this)}),console.log("rebuild mainGraph",this.mainGraph),console.log("rebuild mainGraph calc order",this.mainGraph.overallOrder()),console.groupEnd()}recalculate(){console.group("### recalculate"),console.log("recalculate instances ",this.instances);this.mainGraph.overallOrder().forEach(e=>{const t=this.mainGraph.getNodeData(e),n=this.getModelItem(t);if(n&&e.includes(":")){const t=e.split(":")[1];if(t)if("calculate"===t){const e=_e(n.bind[t],n.node,this);n.value=e}else if("constraint"!==t&&"type"!==t){const r=n.bind[t];if(r){const a=Ye(r,n.node,this);n[t]=a,console.log(`recalculating path ${e} - Expr:'${r}' computed`,n[t])}}}}),console.log(`recalculate finished with modelItems ${this.modelItems.length} item(s)`,this.modelItems),console.groupEnd()}revalidate(){console.group("### revalidate");let e=!0;return this.modelItems.forEach(t=>{const{bind:n}=t;if(n&&"function"==typeof n.hasAttribute&&n.hasAttribute("constraint")){const r=n.getAttribute("constraint");if(r){const a=Ye(r,t.node,this);if(console.log("modelItem validity computed: ",a),t.constraint=a,a||(e=!1),!this.modelConstructed){const e=n.getAlert();e&&t.addAlert(e)}}}}),console.log("modelItems after revalidate: ",this.modelItems),console.groupEnd(),e}getModelItem(e){return this.modelItems.find(t=>t.node===e)}getDefaultContext(){return this.instances[0].getDefaultContext()}getDefaultInstance(){return this.instances[0]}getDefaultInstanceData(){return console.log("default instance data ",this.instances[0].instanceData),this.instances[0].instanceData}getInstance(e){return Array.from(this.instances).find(t=>t.id===e)}evalBinding(e){return this.instances[0].evalXPath(e)}}function $e(e){return e.closest("fx-fore")}function et(e,t){const n=e.closest("[ref]");if(null!==n)return n.nodeset;const r=function(e){return $e(e).getModel()}(e);if(Me.isAbsolutePath(t)){const e=Me.getInstanceId(t);return r.getInstance(e).getDefaultContext()}return null!==r.getDefaultInstance()?r.getDefaultInstance().getDefaultContext():[]}function tt(e,t){const n=function(e){return e.nodeType===Node.ATTRIBUTE_NODE?e.ownerElement:e.parentNode}(e),r=n.closest("fx-repeatitem");if(r)return r.nodeset;if(e.nodeType===Node.ELEMENT_NODE&&e.hasAttribute("context")){const r=et(e.parentNode,t);return Le(e.getAttribute("context"),r,$e(n))}return et(n,t)}customElements.define("fx-model",We);const nt=e=>class extends e{static get properties(){return{context:{type:Object},model:{type:Object},ref:{type:String},modelItem:{type:Object},nodeset:{type:Object}}}constructor(){super(),this.context=null,this.model=null,this.modelItem={},this.ref=this.hasAttribute("ref")?this.getAttribute("ref"):""}getModel(){if(this.model)return this.model;return this.getOwnerForm().querySelector("fx-model")}getOwnerForm(){let e=this;for(;e&&e.parentNode;){if("FX-FORE"===e.nodeName.toUpperCase())return e;e=e.parentNode instanceof DocumentFragment?e.parentNode.host:e.parentNode}return e}evalInContext(){const e=tt(this,this.ref);if(e)if(""===this.ref)this.nodeset=e;else if(Array.isArray(e))e.forEach(t=>{if(Me.isSelfReference(this.ref))this.nodeset=e;else{const e=Le(this.ref,t,null);this.nodeset.push(e)}});else{const t=this.getOwnerForm();e.nodeType?this.nodeset=Le(this.ref,e,t):this.nodeset=_e(this.ref,e,t)}else console.warn("no in scopeContext for ",this)}isNotBound(){return!this.hasAttribute("ref")}isBound(){return this.hasAttribute("ref")}getBindingExpr(){if(this.hasAttribute("ref"))return this.getAttribute("ref");const e=this.parentNode.closest("[ref]");return e?e.getAttribute("ref"):"instance()"}getInstance(){if(this.ref.startsWith("instance(")){const e=Me.getInstanceId(this.ref);return this.getModel().getInstance(e)}return this.getModel().getInstance("default")}_getParentBindingElement(e){if(e.parentNode.host){const{host:t}=e.parentNode;if(t.hasAttribute("ref"))return t}else if(e.parentNode){if(e.parentNode.hasAttribute("ref"))return this.parentNode;this._getParentBindingElement(this.parentNode)}return null}getModelItem(){const e=this.getModel().getModelItem(this.nodeset);e&&(this.modelItem=e);let t;if(this.closest("fx-repeatitem")){const{index:e}=this.closest("fx-repeatitem");t=Array.isArray(this.nodeset)?this.getModel().getModelItem(this.nodeset[e-1]):this.getModel().getModelItem(this.nodeset)}else t=this.getModel().getModelItem(this.nodeset);return t||We.lazyCreateModelItem(this.getModel(),this.ref,this.nodeset)}getValue(){if(this.hasAttribute("value")){const e=this.getAttribute("value");try{return qe(e,tt(this,e),this.getOwnerForm())}catch(e){console.error(e),this.dispatch("error",{message:e})}}return this.textContent?this.textContent:null}getInScopeContext(){return tt(this,this.ref)}dispatch(e,t){const n=new CustomEvent(e,{composed:!0,bubbles:!0,detail:t});console.log("firing",n),this.dispatchEvent(n)}};class rt extends(nt(HTMLElement)){constructor(){super(),this.nodeset=[],this.model={},this.contextNode={},this.inited=!1}connectedCallback(){this.ref=this.getAttribute("ref"),this.readonly=this.getAttribute("readonly"),this.required=this.getAttribute("required"),this.relevant=this.getAttribute("relevant"),this.type=this.hasAttribute("type")?this.getAttribute("type"):rt.TYPE_DEFAULT,this.calculate=this.getAttribute("calculate")}init(e){this.model=e,console.log("init binding ",this),this.instanceId=this._getInstanceId(),this.bindType=this.getModel().getInstance(this.instanceId).type,"xml"===this.bindType&&(this._evalInContext(),this._buildBindGraph(),this._createModelItems()),this._processChildren(e)}_buildBindGraph(){"xml"===this.bindType&&this.nodeset.forEach(e=>{const t=Me.getPath(e);this.calculate&&(this.model.mainGraph.addNode(t+":calculate",e),this.model.mainGraph.addNode(t,e),this.model.mainGraph.addDependency(t,t+":calculate"));const n=this._getReferencesForProperty(this.calculate,e);0!==n.length&&this._addDependencies(n,e,t,"calculate");const r=this._getReferencesForProperty(this.readonly,e);0!==r.length?this._addDependencies(r,e,t,"readonly"):this.readonly&&this.model.mainGraph.addNode(t+":readonly",e);const a=this._getReferencesForProperty(this.required,e);0!==a.length?this._addDependencies(a,e,t,"required"):this.required&&this.model.mainGraph.addNode(t+":required",e);const i=this._getReferencesForProperty(this.relevant,e);0!==i.length?this._addDependencies(i,e,t,"relevant"):this.relevant&&this.model.mainGraph.addNode(t+":relevant",e);const o=this._getReferencesForProperty(this.constraint,e);0!==o.length?this._addDependencies(o,e,t,"constraint"):this.constraint&&this.model.mainGraph.addNode(t+":constraint",e)})}_addNode(e,t){this.model.mainGraph.hasNode(e)||this.model.mainGraph.addNode(e,{node:t})}_addDependencies(e,t,n,r){const a=`${n}:${r}`;0!==e.length?(this.model.mainGraph.hasNode(a)||this.model.mainGraph.addNode(a,t),e.forEach(e=>{const t=Me.getPath(e);this.model.mainGraph.hasNode(t)||this.model.mainGraph.addNode(t,e),this.model.mainGraph.addDependency(a,t)})):this.model.mainGraph.addNode(a,t)}_processChildren(e){const t=this.querySelectorAll(":scope > fx-bind");Array.from(t).forEach(t=>{t.init(e)})}getAlert(){if(this.hasAttribute("alert"))return this.getAttribute("alert");const e=this.querySelector("fx-alert");return e?e.innerHTML:null}_evalInContext(){const e=this.getInScopeContext();if(this.nodeset=[],""===this.ref||null===this.ref)this.nodeset=e;else if(Array.isArray(e))e.forEach(t=>{if(Me.isSelfReference(this.ref))this.nodeset=e;else if(this.ref){ke(this.ref,t,this.getOwnerForm()).forEach(e=>{this.nodeset.push(e)})}});else{"xml"===this.getModel().getInstance(this.instanceId).type?this.nodeset=ke(this.ref,e,this.getOwnerForm()):this.nodeset=this.ref}}_createModelItems(){Array.isArray(this.nodeset)?Array.from(this.nodeset).forEach(e=>{this._createModelItem(e)}):this._createModelItem(this.nodeset)}static lazyCreateModelitems(e,t,n){Array.isArray(n)?Array.from(n).forEach(n=>{rt.lazyCreateModelItem(e,t,n)}):rt.lazyCreateModelItem(e,t,n)}_createModelItem(e){if(Me.isSelfReference(this.ref)){const e=this.parentElement.closest("fx-bind[ref]");return console.log("parent bound element ",e),void(e?e.required=this.required:console.error("no parent bound element"))}const t=e,n=Me.getPath(e),r=new ze(n,this.getBindingExpr(),rt.READONLY_DEFAULT,rt.RELEVANT_DEFAULT,rt.REQUIRED_DEFAULT,rt.CONSTRAINT_DEFAULT,this.type,t,this);this.getModel().registerModelItem(r)}_getReferencesForProperty(e){if(e){const t=new Set,n=new Ge(e=>t.add(e));return this.nodeset.forEach(t=>{qe(e,t,this.getOwnerForm(),n)}),Array.from(t.values())}return[]}_initBooleanModelItemProperty(e,t){return Ye(this[e],t,this)}static shortenPath(e){const t=e.split("/");let n="";for(let e=2;e0&&(this.toastElement.timeOutValue=window.setTimeout(()=>{this._removeElement(this.toastElement)},this.options.duration)),this}hideToast(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this._removeElement(this.toastElement)}_init(e){this.options=Object.assign(this.defaults,e),this.options.backgroundColor&&console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.'),this.toastElement=null,this.options.gravity="bottom"===e.gravity?"toastify-bottom":"toastify-top",this.options.stopOnFocus=void 0===e.stopOnFocus||e.stopOnFocus,this.options.style.background=this.options.style.background||e.backgroundColor}_buildToast(){if(!this.options)throw"Toastify is not initialized";let e=document.createElement("div");e.className="toastify on "+this.options.className,e.className+=" toastify-"+this.options.position,e.className+=" "+this.options.gravity;for(const t in this.options.style)e.style[t]=this.options.style[t];if(this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)e.appendChild(this.options.node);else if(this.options.escapeMarkup?e.innerText=this.options.text:e.innerHTML=this.options.text,""!==this.options.avatar){let t=document.createElement("img");t.src=this.options.avatar,t.className="toastify-avatar","left"==this.options.position?e.appendChild(t):e.insertAdjacentElement("afterbegin",t)}if(!0===this.options.close){let t=document.createElement("span");t.innerHTML="✖",t.className="toast-close",t.addEventListener("click",e=>{e.stopPropagation(),this._removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)});const n=window.innerWidth>0?window.innerWidth:screen.width;"left"==this.options.position&&n>360?e.insertAdjacentElement("afterbegin",t):e.appendChild(t)}if(this.options.stopOnFocus&&this.options.duration>0&&(e.addEventListener("mouseover",t=>{window.clearTimeout(e.timeOutValue)}),e.addEventListener("mouseleave",()=>{e.timeOutValue=window.setTimeout(()=>{this._removeElement(e)},this.options.duration)})),void 0!==this.options.destination&&e.addEventListener("click",e=>{e.stopPropagation(),!0===this.options.newWindow?window.open(this.options.destination,"_blank"):window.location=this.options.destination}),"function"==typeof this.options.onClick&&void 0===this.options.destination&&e.addEventListener("click",e=>{e.stopPropagation(),this.options.onClick()}),"object"==typeof this.options.offset){const t=this._getAxisOffsetAValue("x",this.options),n=this._getAxisOffsetAValue("y",this.options),r="left"==this.options.position?t:"-"+t,a="toastify-top"==this.options.gravity?n:"-"+n;e.style.transform=`translate(${r},${a})`}return e}_removeElement(e){e.className=e.className.replace(" on",""),window.setTimeout(()=>{this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),e.parentNode&&e.parentNode.removeChild(e),this.options.callback.call(e),this._reposition()},400)}_reposition(){let e,t={top:15,bottom:15},n={top:15,bottom:15},r={top:15,bottom:15},a=this._rootElement.querySelectorAll(".toastify");for(let i=0;i0?window.innerWidth:screen.width)<=360?(a[i].style[e]=r[e]+"px",r[e]+=o+s):!0===a[i].classList.contains("toastify-left")?(a[i].style[e]=t[e]+"px",t[e]+=o+s):(a[i].style[e]=n[e]+"px",n[e]+=o+s)}}_getAxisOffsetAValue(e,t){return t.offset[e]?isNaN(t.offset[e])?t.offset[e]:t.offset[e]+"px":"0px"}}function it(e){return new at(e)}class ot extends HTMLElement{static get properties(){return{avatar:{type:String},backgroundColor:{type:String},callback:{type:String},classProp:{type:String},close:{type:Boolean},destination:{type:String},duration:{type:Number},escapeMarkup:{type:Boolean},gravity:{type:String},newWindow:{type:Boolean},oldestFirst:{type:Boolean},position:{type:String},selector:{type:String},stopOnFocus:{type:Boolean},text:{type:String}}}constructor(){super(),this.attachShadow({mode:"open"})}_initVar(e,t){return this.hasAttribute(e)?this.getAttribute(e):t}connectedCallback(){this.avatar=this._initVar("avatar",""),this.backgroundColor=this._initVar("backgroundColor",""),this.callback=this._initVar("callback",{}),this.classProp=this._initVar("data-class",""),this.close="true"===this._initVar("close",!1),this.destination=this._initVar("destination",""),this.duration=Number(this._initVar("duration",3e3)),this.escapeMarkup="true"===this._initVar("escapeMarkup",!0),this.gravity=this._initVar("gravity","top"),this.newWindow="true"===this._initVar("newWindow",!1),this.oldestFirst="true"===this._initVar("oldestFirst",!0),this.position=this._initVar("position","right"),this.stopOnFocus=this._initVar("stopOnFocus",!0),this.text=this._initVar("text","");this.shadowRoot.innerHTML=`\n \n ${this.renderHTML}\n `,this.addEventListener("jinn-toast",e=>{this.showToast(e.detail.text)})}showToast(e){new it({avatar:this.avatar,className:this.classProp,close:this.close,destination:this.destination,duration:this.duration,escapeMarkup:this.escapeMarkup,gravity:this.gravity,newWindow:this.newWindow,oldestFirst:this.oldestFirst,position:this.position,node:this.shadowRoot,stopOnFocus:this.stopOnFocus,text:e}).showToast()}renderHTML(){return"\n \n "}}window.customElements.define("jinn-toast",ot);class st extends HTMLElement{static get properties(){return{model:{type:Object},ready:{type:Boolean}}}constructor(){super(),this.model={},this.addEventListener("model-construct-done",this._handleModelConstructDone),this.addEventListener("message",this._displayMessage),this.addEventListener("error",this._displayError),window.addEventListener("compute-exception",e=>{console.error("circular dependency: ",e)}),this.ready=!1,this.storedTemplateExpressionByNode=new Map;this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML='\n \n \n \n \n \n
\n \n
\n \n '}connectedCallback(){this.shadowRoot.querySelector("slot").addEventListener("slotchange",e=>{let t=e.target.assignedElements().find(e=>"FX-MODEL"===e.nodeName.toUpperCase());if(!t){const e=document.createElement("FX-model");this.appendChild(e),t=e}t.inited||(console.log("########## FORE: kick off processing... ##########"),t.modelConstruct()),this.model=t})}evaluateToNodes(e,t){return ke(e,t,this)}disconnectedCallback(){}async refresh(){console.group("### refresh"),Pe.refreshChildren(this),this._updateTemplateExpressions(),console.groupEnd(),console.log("### <<<<< dispatching refresh-done - end of UI update cycle >>>>>"),this.dispatchEvent(new CustomEvent("refresh-done"))}_updateTemplateExpressions(){const e=ke("(descendant-or-self::*/(text(), @*))[matches(.,'\\{.*\\}')] except descendant-or-self::xhtml:fx-model/descendant-or-self::node()/(., @*)",this,this);console.log("template expressions found ",e),Array.from(e).forEach(e=>{if(this.storedTemplateExpressionByNode.has(e))return;const t=this._getTemplateExpression(e);this.storedTemplateExpressionByNode.set(e,t)});for(const e of this.storedTemplateExpressionByNode.keys())this._processTemplateExpression({node:e,expr:this.storedTemplateExpressionByNode.get(e)});console.log("stored template expressions ",this.storedTemplateExpressionByNode)}_processTemplateExpression(e){const{expr:t}=e,{node:n}=e;this.evaluateTemplateExpression(t,n,this)}evaluateTemplateExpression(e,t){if("{}"===e)return;const n=e.match(/{[^}]*}/g),r=t.nodeType===t.TEXT_NODE?t.parentNode:t.ownerElement;n&&n.forEach(n=>{let a=n.substring(1,n.length-1);const i=tt(t,a);if(i)try{const o=qe(a,i,t,null,r),s=e.replaceAll(n,o);if(console.log("result of replacing ",s),t.nodeType===Node.ATTRIBUTE_NODE){t.ownerElement.setAttribute(t.nodeName,s)}else t.nodeType===Node.TEXT_NODE&&(t.textContent=s);s.includes("{")&&(console.log("need to go next round"),a=s.substring(1,s.length),this.evaluateTemplateExpression(s,t))}catch(e){this.dispatchEvent(new CustomEvent("error",{detail:e}))}else{const e=t.nodeType===Node.TEXT_NODE||t.nodeType===Node.ATTRIBUTE_NODE?t.parentNode:t;console.warn("no inscope context for ",e)}})}_getTemplateExpression(e){return e.nodeType===Node.ATTRIBUTE_NODE?e.value:e.nodeType===Node.TEXT_NODE?e.textContent:null}_refreshChildren(){this.querySelectorAll("*").forEach(e=>{Pe.isUiElement(e.nodeName)&&"function"==typeof e.refresh&&e.refresh()})}_handleModelConstructDone(){this._initUI()}async _lazyCreateInstance(){const e=this.querySelector("fx-model");if(0===e.instances.length){console.log("### lazy creation of instance");const t=document.createElement("fx-instance");e.appendChild(t);const n=document.implementation.createDocument(null,"data",null);this._generateInstance(this,n.firstElementChild),t.instanceData=n,e.instances.push(t),console.log("generatedInstance ",this.getModel().getDefaultInstanceData())}}_generateInstance(e,t){if(e.hasAttribute("ref")&&!Pe.isActionElement(e.nodeName)){const n=e.getAttribute("ref");if(n.includes("/")){console.log("complex path to create ",n);n.split("/").forEach(n=>{console.log("step ",n),t=this._generateNode(t,n,e)})}else t=this._generateNode(t,n,e)}if(e.hasChildNodes()){const n=e.children;for(let e=0;e>>>>"),console.log("########## modelItems: ",this.getModel().modelItems),console.log("########## FORE: form fully initialized... ##########"),this.dispatchEvent(new CustomEvent("ready",{}))}getModel(){return this.querySelector("fx-model")}_displayMessage(e){const{level:t}=e.detail,n=e.detail.message;this._showMessage(t,n)}_displayError(e){const t=e.detail.message;this.shadowRoot.querySelector("#error").showToast(t)}_showMessage(e,t){if("modal"===e)this.shadowRoot.getElementById("messageContent").innerText=t,this.shadowRoot.getElementById("modalMessage").classList.add("show");else if("modeless"===e)this.shadowRoot.querySelector("#message").showToast(t);else{this.shadowRoot.querySelector("#message").showToast(t)}}}customElements.define("fx-fore",st);class ut extends(nt(HTMLElement)){constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){this.methods=["get","put","post","delete","head","urlencoded-post"],this.model=this.parentNode,this.hasAttribute("id")||console.warn("id is required"),this.id=this.getAttribute("id"),this.instance=this.hasAttribute("instance")?this.getAttribute("instance"):null,this.method=this.hasAttribute("method")?this.getAttribute("method"):"get",this.nonrelevant=this.hasAttribute("nonrelevant")?this.getAttribute("nonrelevant"):"remove",this.replace=this.hasAttribute("replace")?this.getAttribute("replace"):"all",this.serialization=this.hasAttribute("serialization")?this.getAttribute("serialization"):"xml",this.hasAttribute("url")||console.warn("url is required for submission: "+this.id),this.url=this.getAttribute("url"),this.targetref=this.hasAttribute("targetref")?this.getAttribute("targetref"):null,this.mediatype=this.hasAttribute("mediatype")?this.getAttribute("mediatype"):"application/xml",this.validate=this.getAttribute("validate")?this.getAttribute("validate"):"true",this.shadowRoot.innerHTML=this.renderHTML()}renderHTML(){return"\n \n "}async submit(){await this.dispatch("submit",{submission:this}),this._submit()}async _submit(){console.log("submitting...."),this.evalInContext();const e=this.getModel();if(e.recalculate(),this.validate){if(!e.revalidate())return void console.log("validation failed. Bubmission stopped")}console.log("model updated...."),await this._serializeAndSend()}_evaluateAttributeTemplateExpression(e,t){const n=e.match(/{[^}]*}/g);return n&&n.forEach(n=>{console.log("match ",n);const r=n.substring(1,n.length-1),a=qe(r,tt(t,r),this.getOwnerForm()),i=e.replaceAll(n,a);console.log("replacing ",e," with ",i),e=i}),e}async _serializeAndSend(){const e=this._evaluateAttributeTemplateExpression(this.url,this),t=this.getInstance();if("xml"!==t.type)return void console.error("JSON serialization is not supported yet");let n;if("none"===this.serialization)n=void 0;else{const e=this.selectRelevant();n=this._serialize(t.type,e)}if("get"===this.method.toLowerCase()&&(n=void 0),"#echo"===e){let e;return e=n?(new DOMParser).parseFromString(n,"application/xml"):void 0,this._handleResponse(e),void this.dispatch("submit-done",{})}const r=this._getHeaders();if(console.log("headers",r),"urlencoded-post"===this.method&&(this.method="post"),!this.methods.includes(this.method.toLowerCase()))return void this.dispatch("error",{message:"Unknown method "+this.method});const a=await fetch(e,{method:this.method,mode:"cors",credentials:"include",headers:r,body:n});if(!a.ok||a.status>400)return void this.dispatch("submit-error",{message:"Error while submitting "+this.id});const i=a.headers.get("content-type").toLowerCase();if(i.startsWith("text/plain")||i.startsWith("text/html")){const e=await a.text();this._handleResponse(e)}else if(i.startsWith("application/json")){const e=await a.json();this._handleResponse(e)}else if(i.startsWith("application/xml")){const e=await a.text(),t=(new DOMParser).parseFromString(e,"application/xml");this._handleResponse(t)}else{const e=await a.blob();this._handleResponse(e)}this.dispatch("submit-done",{})}_serialize(e,t){if("urlencoded-post"===this.method){const e=new URLSearchParams;return Array.from(t.children).forEach(t=>{e.append(t.nodeName,t.textContent)}),e}if("xml"===e){return(new XMLSerializer).serializeToString(t)}throw new Error("unknown instance type ",e)}_getHeaders(){const e=new Headers,t=this.getInstance(),n=Pe.getContentType(t,this.method);e.append("Content-Type",n),e.has("Accept")&&e.delete("Accept");const r=this.querySelectorAll("fx-header");return Array.from(r).forEach(t=>{const{name:n}=t,r=t.getValue();e.append(n,r)}),e}_getUrlExpr(){return this.storedTemplateExpressions.find(e=>"url"===e.node.nodeName)}_getTargetInstance(){let e;if(e=this.instance?this.model.getInstance(this.instance):this.model.getInstance("default"),!e)throw new Error("target instance not found: "+e);return e}_handleResponse(e){if(console.log("_handleResponse ",e),"instance"===this.replace){const t=this._getTargetInstance();if(!t)throw new Error("target instance not found: "+t);if(this.targetref){const n=_e(this.targetref,t,this.getOwnerForm());console.log("theTarget",n);const r=e.firstElementChild,a=n.parentNode;a.replaceChild(r,n),console.log("finally ",a)}else{const n=e;t.instanceData=n,console.log("### replaced instance ",t.instanceData)}this.model.updateModel(),this.getOwnerForm().refresh()}if("all"===this.replace&&(document.getElementsByTagName("html")[0].innerHTML=e),"target"===this.replace){const t=this.getAttribute("target");document.querySelector(t).innerHTML=e}"redirect"===this.replace&&(window.location.href=e)}selectRelevant(){if("keep"===this.nonrelevant)return this.nodeset;const e=this.getModel().getModelItem(this.nodeset);if(e&&!e.relevant)return null;const t=(new DOMParser).parseFromString("","application/xml").firstElementChild;if(0===this.nodeset.children.length&&this._isRelevant(this.nodeset))return this.nodeset;return this._filterRelevant(this.nodeset,t)}_filterRelevant(e,t){const{childNodes:n}=e;return Array.from(n).forEach(e=>{if(this._isRelevant(e)){const n=e.cloneNode(!1);t.appendChild(n);const{attributes:r}=e;return r&&Array.from(r).forEach(e=>{this._isRelevant(e)?n.setAttribute(e.nodeName,e.value):"empty"===this.nonrelevant?n.setAttribute(e.nodeName,""):n.removeAttribute(e.nodeName)}),this._filterRelevant(e,n)}return null}),t}_isRelevant(e){const t=this.getModel().getModelItem(e);return!(t&&!t.relevant)}_handleError(){this.dispatch("submit-error",{})}}customElements.define("fx-submission",ut);class lt extends(nt(HTMLElement)){constructor(){if(super(),this.style.display="none",this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML="",!this.hasAttribute("name"))throw new Error('required attribute "name" missing');this.name=this.getAttribute("name")}connectedCallback(){this.shadowRoot.innerHTML=""}}customElements.define("fx-header",lt); +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +const ct="undefined"!=typeof window&&null!=window.customElements&&void 0!==window.customElements.polyfillWrapFlushCallback,pt=`{{lit-${String(Math.random()).slice(2)}}}`,ht=`\x3c!--${pt}--\x3e`,ft=e=>-1!==e.index,dt=()=>document.createComment(""),mt=/([ \x09\x0a\x0c\x0d])([^\0-\x1F\x7F-\x9F "'>=/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/,vt=new WeakMap,gt=e=>"function"==typeof e&&vt.has(e),yt={},wt={}; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +class At{constructor(e,t,n){this.__parts=[],this.template=e,this.processor=t,this.options=n}update(e){let t=0;for(const n of this.__parts)void 0!==n&&n.setValue(e[t]),t++;for(const e of this.__parts)void 0!==e&&e.commit()}_clone(){const e=ct?this.template.element.content.cloneNode(!0):document.importNode(this.template.element.content,!0),t=[],n=this.template.parts,r=document.createTreeWalker(e,133,null,!1);let a,i=0,o=0,s=r.nextNode();for(;ie}),bt=` ${pt} `;class Et{constructor(e,t,n,r){this.strings=e,this.values=t,this.type=n,this.processor=r}getHTML(){const e=this.strings.length-1;let t="",n=!1;for(let r=0;r-1||n)&&-1===e.indexOf("--\x3e",a+1);const i=mt.exec(e);t+=null===i?e+(n?bt:ht):e.substr(0,i.index)+i[1]+i[2]+"$lit$"+i[3]+pt}return t+=this.strings[e],t}getTemplateElement(){const e=document.createElement("template");let t=this.getHTML();return void 0!==xt&&(t=xt.createHTML(t)),e.innerHTML=t,e}} +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */const Bt=e=>null===e||!("object"==typeof e||"function"==typeof e),Nt=e=>Array.isArray(e)||!(!e||!e[Symbol.iterator]);class Ct{constructor(e,t,n){this.dirty=!0,this.element=e,this.name=t,this.strings=n,this.parts=[];for(let e=0;e{for(;t!==n;){const n=t.nextSibling;e.removeChild(t),t=n}})(this.startNode.parentNode,e.nextSibling,this.endNode)}}class Ot{constructor(e,t,n){if(this.value=void 0,this.__pendingValue=void 0,2!==n.length||""!==n[0]||""!==n[1])throw new Error("Boolean attributes can only contain a single expression");this.element=e,this.name=t,this.strings=n}setValue(e){this.__pendingValue=e}commit(){for(;gt(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=yt,e(this)}if(this.__pendingValue===yt)return;const e=!!this.__pendingValue;this.value!==e&&(e?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name),this.value=e),this.__pendingValue=yt}}class St extends Ct{constructor(e,t,n){super(e,t,n),this.single=2===n.length&&""===n[0]&&""===n[1]}_createPart(){return new Dt(this)}_getValue(){return this.single?this.parts[0].value:super._getValue()}commit(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}class Dt extends Tt{}let Rt=!1;(()=>{try{const e={get capture(){return Rt=!0,!1}};window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){}})();class Gt{constructor(e,t,n){this.value=void 0,this.__pendingValue=void 0,this.element=e,this.eventName=t,this.eventContext=n,this.__boundHandleEvent=e=>this.handleEvent(e)}setValue(e){this.__pendingValue=e}commit(){for(;gt(this.__pendingValue);){const e=this.__pendingValue;this.__pendingValue=yt,e(this)}if(this.__pendingValue===yt)return;const e=this.__pendingValue,t=this.value,n=null==e||null!=t&&(e.capture!==t.capture||e.once!==t.once||e.passive!==t.passive),r=null!=e&&(null==t||n);n&&this.element.removeEventListener(this.eventName,this.__boundHandleEvent,this.__options),r&&(this.__options=Mt(e),this.element.addEventListener(this.eventName,this.__boundHandleEvent,this.__options)),this.value=e,this.__pendingValue=yt}handleEvent(e){"function"==typeof this.value?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}const Mt=e=>e&&(Rt?{capture:e.capture,passive:e.passive,once:e.once}:e.capture) +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */;const Ut=new class{handleAttributeExpressions(e,t,n,r){const a=t[0];if("."===a){return new St(e,t.slice(1),n).parts}if("@"===a)return[new Gt(e,t.slice(1),r.eventContext)];if("?"===a)return[new Ot(e,t.slice(1),n)];return new Ct(e,t,n).parts}handleTextExpression(e){return new It(e)}}; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */"undefined"!=typeof window&&(window.litHtmlVersions||(window.litHtmlVersions=[])).push("1.4.1");const Ft=(e,...t)=>new Et(e,t,"html",Ut) +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */;void 0===window.ShadyCSS||void 0===window.ShadyCSS.prepareTemplateDom&&console.warn("Incompatible ShadyCSS version detected. Please update to at least @webcomponents/webcomponentsjs@2.0.2 and @webcomponents/shadycss@1.3.1.") +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */,window.JSCompiler_renameProperty=(e,t)=>e +/** +@license +Copyright (c) 2019 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at +http://polymer.github.io/LICENSE.txt The complete set of authors may be found at +http://polymer.github.io/AUTHORS.txt The complete set of contributors may be +found at http://polymer.github.io/CONTRIBUTORS.txt Code distributed by Google as +part of the polymer project is also subject to an additional IP rights grant +found at http://polymer.github.io/PATENTS.txt +*/;const Pt=window.ShadowRoot&&(void 0===window.ShadyCSS||window.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ht=Symbol();class jt{constructor(e,t){if(t!==Ht)throw new Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e}get styleSheet(){return void 0===this._styleSheet&&(Pt?(this._styleSheet=new CSSStyleSheet,this._styleSheet.replaceSync(this.cssText)):this._styleSheet=null),this._styleSheet}toString(){return this.cssText}}const Xt=(e,...t)=>{const n=t.reduce((t,n,r)=>t+(e=>{if(e instanceof jt)return e.cssText;if("number"==typeof e)return e;throw new Error(`Value passed to 'css' function must be a 'css' function result: ${e}. Use 'unsafeCSS' to pass non-literal values, but\n take care to ensure page security.`)})(n)+e[r+1],e[0]);return new jt(n,Ht)}; +/** + * @license + * Copyright (c) 2017 The Polymer Project Authors. All rights reserved. + * This code may only be used under the BSD style license found at + * http://polymer.github.io/LICENSE.txt + * The complete set of authors may be found at + * http://polymer.github.io/AUTHORS.txt + * The complete set of contributors may be found at + * http://polymer.github.io/CONTRIBUTORS.txt + * Code distributed by Google as part of the polymer project is also + * subject to an additional IP rights grant found at + * http://polymer.github.io/PATENTS.txt + */ +(window.litElementVersions||(window.litElementVersions=[])).push("2.4.0");class _t extends(nt(HTMLElement)){constructor(){super(),this.value="",this.display=this.style.display,this.required=!1,this.readonly=!1,this.widget=null}getWidget(){throw new Error("You have to implement the method getWidget!")}async refresh(){console.log("### AbstractControl.refresh on : ",this);const e=this.value;if(!this.isNotBound()&&(this.evalInContext(),this.isBound())){if(null===this.nodeset)return void(this.style.display="none");if(this.modelItem=this.getModelItem(),this.modelItem instanceof ze){if(this.value=this.modelItem.value,await this.updateWidgetValue(),this.handleModelItemProperties(),!this.getOwnerForm().ready)return;e!==this.value&&this.dispatch("value-changed",{path:this.modelItem.path})}}}async updateWidgetValue(){throw new Error("You have to implement the method updateWidgetValue!")}handleModelItemProperties(){console.log("form ready",this.getOwnerForm().ready),this.handleRequired(),this.handleReadonly(),this.getOwnerForm().ready&&this.handleValid(),this.handleRelevant()}_getForm(){return this.getModel().parentNode}_dispatchEvent(e){this.getOwnerForm().ready&&this.dispatch(e,{})}handleRequired(){this.widget=this.getWidget(),this.isRequired()!==this.modelItem.required&&(this.modelItem.required?(this.widget.setAttribute("required","required"),this.classList.add("required"),this._dispatchEvent("required")):(this.widget.removeAttribute("required"),this.required=!1,this.classList.toggle("required"),this._dispatchEvent("optional")))}handleReadonly(){this.isReadonly()!==this.modelItem.readonly&&(this.modelItem.readonly&&(this.widget.setAttribute("readonly","readonly"),this.classList.toggle("readonly"),this._dispatchEvent("readonly")),this.modelItem.readonly||(this.widget.removeAttribute("readonly"),this.classList.toggle("readonly"),this._dispatchEvent("readwrite")))}handleValid(){const e=this.querySelector("fx-alert");if(this.isValid()!==this.modelItem.constraint)if(this.modelItem.constraint)this.classList.remove("invalid"),e&&(e.style.display="none"),this._dispatchEvent("valid");else{if(this.classList.add("invalid"),e&&(e.style.display="block"),0!==this.modelItem.alerts.length){const{alerts:e}=this.modelItem;console.log("alerts from bind: ",e);this.querySelector("fx-alert")||e.forEach(e=>{const t=document.createElement("fx-alert");t.innerHTML=e,this.appendChild(t),t.style.display="block"})}this._dispatchEvent("invalid")}}handleRelevant(){this.isEnabled()!==this.modelItem.relevant&&(this.modelItem.relevant?(this._dispatchEvent("relevant"),this.style.display=this.display):(this._dispatchEvent("nonrelevant"),this.style.display="none"))}isRequired(){return!!this.widget.hasAttribute("required")}isValid(){return!this.classList.contains("invalid")}isReadonly(){return!!this.widget.hasAttribute("readonly")}isEnabled(){return"none"!==this.style.display}_fadeOut(e){e.style.opacity=1,function t(){(e.style.opacity-=.1)<0?e.style.display="none":requestAnimationFrame(t)}()}_fadeIn(e,t){e.style.opacity=0,e.style.display=t||"block",function t(){let n=parseFloat(e.style.opacity);(n+=.1)>1||(e.style.opacity=n,requestAnimationFrame(t))}()}}window.customElements.define("fx-abstract-control",_t);customElements.define("fx-alert",class extends _t{static get styles(){return Xt`:host{display:block;height:auto;font-size:.8em;font-weight:400;color:red;display:none}`}constructor(){super(),this.style.display="none"}static get properties(){return{...super.properties}}render(){return Ft``}async updateWidgetValue(){console.log("alert update",this),this.innerHTML=this.value}});window.customElements.define("fx-control",class extends _t{constructor(){super(),this.inited=!1,this.attachShadow({mode:"open"})}connectedCallback(){this.updateEvent=this.hasAttribute("update-event")?this.getAttribute("update-event"):"blur",this.valueProp=this.hasAttribute("value-prop")?this.getAttribute("value-prop"):"value",this.label=this.hasAttribute("label")?this.getAttribute("label"):null;this.shadowRoot.innerHTML=`\n \n ${this.renderHTML(this.ref)}\n `,this.widget=this.getWidget(),console.log("widget ",this.widget),"enter"===this.updateEvent&&(this.widget.addEventListener("keyup",e=>{13===e.keyCode&&(e.preventDefault(),this.setValue(this.widget[this.valueProp]))}),this.updateEvent="blur"),this.widget.addEventListener(this.updateEvent,()=>{console.log("eventlistener ",this.updateEvent),this.setValue(this.widget[this.valueProp])})}setValue(e){const t=this.getModelItem(),n=this.shadowRoot.getElementById("setvalue");n.setValue(t,e),n.actionPerformed()}renderHTML(e){return`\n ${this.label?""+this.label:""}\n \n \n `}getWidget(){let e=this.querySelector(".widget");if(e||(e=this.querySelector("input")),!e){const e=document.createElement("input");return e.classList.add("widget"),e.setAttribute("type","text"),this.appendChild(e),e}return e}async updateWidgetValue(){if("checked"===this.valueProp)"true"===this.value?this.widget.checked=!0:this.widget.checked=!1;else{let{widget:e}=this;e||(e=this),e.value=this.value}}async refresh(){if(super.refresh(),this.widget.hasAttribute("ref")){const e=this.widget.querySelector("template"),t=this.widget.getAttribute("ref"),n=this.getInScopeContext(),r=this.closest("fx-fore"),a=_e(t,n,r),{children:i}=this.widget;Array.from(i).forEach(e=>{"template"!==e.nodeName.toLowerCase()&&e.parentNode.removeChild(e)}),Array.from(a).forEach(t=>{console.log("#### node",t);const n=e.content.firstElementChild.cloneNode(!0),a=document.importNode(n,!0);this.widget.appendChild(a);const i=this._getValueAttribute(a),o=i.value,s=_e(o.substring(1,o.length-1),t,r);i.value=s,this.value===s&&a.setAttribute("selected","selected");const u=a.textContent,l=qe(u.substring(1,u.length-1),t,r);a.textContent=l})}}_getValueAttribute(e){let t;return Array.from(e.attributes).forEach(e=>{-1!==e.value.indexOf("{")&&(t=e)}),t}});class Lt extends(nt(HTMLElement)){constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){this.shadowRoot.innerHTML="\n \n \n \n \n "}refresh(){console.log("### FxContainer.refresh on : ",this),this.isBound()&&(this.evalInContext(),this.modelItem=this.getModelItem(),this.value=this.modelItem.value),this._getForm().ready&&this.handleModelItemProperties(),Pe.refreshChildren(this)}handleModelItemProperties(){this.handleReadonly(),this.handleRelevant()}_getForm(){return this.getModel().parentNode}handleReadonly(){this.isReadonly()!==this.modelItem.readonly&&(this.modelItem.readonly&&(this.setAttribute("readonly","readonly"),this.dispatchEvent(new CustomEvent("readonly",{}))),this.modelItem.readonly||(this.removeAttribute("readonly"),this.dispatchEvent(new CustomEvent("readwrite",{}))))}handleRelevant(){this.isEnabled()!==this.modelItem.enabled&&(this.modelItem.enabled?this.dispatchEvent(new CustomEvent("enabled",{})):this.dispatchEvent(new CustomEvent("disabled",{})))}isReadonly(){return!!this.hasAttribute("readonly")}isEnabled(){return"none"!==this.style.display}}window.customElements.define("fx-container",Lt);window.customElements.define("fx-group",class extends Lt{static get properties(){return{...super.properties,collapse:{type:Boolean,reflect:!0}}}constructor(){super(),this.collapse=!1}render(){return Ft``}handleModelItemProperties(){this.handleRelevant()}initializeChildren(e){const t=Array.from(e.children);console.log("_initializeChildren ",t),t.forEach(e=>{if(console.log("child ",e),Pe.isUiElement(e.nodeName))e.init(this.model);else if(0!==e.children.length){Array.from(e.children).forEach(e=>{this.initializeChildren(e)})}}),console.groupEnd()}});customElements.define("fx-hint",class extends _t{static get styles(){return Xt`:host{display:block;height:auto;font-size:.8em;font-weight:400;font-style:italic}`}static get properties(){return{...super.properties}}render(){return Ft``}});customElements.define("fx-output",class extends _t{static get properties(){return{...super.properties,valueAttr:{type:String}}}constructor(){super(),this.attachShadow({mode:"open"}),this.valueAttr=this.hasAttribute("value")?this.getAttribute("value"):null}connectedCallback(){this.shadowRoot.innerHTML='\n \n \n \n \n \n \n \n ',this.addEventListener("slotchange",e=>{console.log("slotchange ",e)})}async refresh(){if(this.valueAttr)return this.value=this.getValue(),void await this.updateWidgetValue();this.ref&&super.refresh()}getValue(){try{const e=tt(this,this.valueAttr);return this.hasAttribute("html")?_e(this.valueAttr,e,this):qe(this.valueAttr,e,this)}catch(e){console.error(e),this.dispatch("error",{message:e})}return null}getWidget(){return this.shadowRoot.getElementById("value")}async updateWidgetValue(){const e=this.shadowRoot.getElementById("value");if(this.hasAttribute("html"))return this.modelItem.node?void(e.innerHTML=this.modelItem.node.outerHTML):void(e.innerHTML=this.value.outerHTML);e.innerHTML=this.value}isReadonly(){return this.readonly=!0,this.readonly}});class kt extends(nt(HTMLElement)){static get properties(){return{inited:{type:Boolean}}}constructor(){super(),this.inited=!1,this.addEventListener("click",this._dispatchIndexChange),this.addEventListener("focusin",this._handleFocus),this.attachShadow({mode:"open",delegatesFocus:!0})}_handleFocus(){this.parentNode.setIndex(this.index),this.closest("fx-fore").refresh()}_dispatchIndexChange(){this.parentNode&&this.parentNode.dispatchEvent(new CustomEvent("item-changed",{composed:!0,bubbles:!0,detail:{item:this}}))}connectedCallback(){this.display=this.style.display;this.shadowRoot.innerHTML="\n \n \n \n "}disconnectedCallback(){this.removeEventListener("click",this._dispatchIndexChange()),this.removeEventListener("focusin",this._handleFocus)}init(){this.inited=!0}getModelItem(){return super.getModelItem(),this.getModelItem()[this.index]}refresh(){this.modelItem=this.getModel().getModelItem(this.nodeset),this.modelItem&&!this.modelItem.relevant?this.style.display="none":this.style.display=this.display,Pe.refreshChildren(this)}}window.customElements.define("fx-repeatitem",kt);class Yt extends(nt(HTMLElement)){static get properties(){return{...super.properties,index:{type:Number},template:{type:Object},focusOnCreate:{type:String},initDone:{type:Boolean},repeatIndex:{type:Number},nodeset:{type:Array}}}constructor(){super(),this.ref="",this.dataTemplate=[],this.focusOnCreate="",this.initDone=!1,this.repeatIndex=1,this.nodeset=[],this.inited=!1,this.index=1,this.repeatSize=0,this.attachShadow({mode:"open",delegatesFocus:!0})}get repeatSize(){return this.querySelectorAll(":scope > fx-repeatitem").length}set repeatSize(e){this.size=e}setIndex(e){this.index=e;const t=this.querySelectorAll(":scope > fx-repeatitem");this.applyIndex(t[this.index-1])}applyIndex(e){this._removeIndexMarker(),e&&e.setAttribute("repeat-index","")}get index(){return this.getAttribute("index")}set index(e){this.setAttribute("index",e)}connectedCallback(){this.ref=this.getAttribute("ref"),this.addEventListener("item-changed",e=>{console.log("handle index event ",e);const{item:t}=e.detail,n=Array.from(this.children).indexOf(t);this.applyIndex(this.children[n]),this.index=n+1}),this.addEventListener("index-changed",e=>{if(e.stopPropagation(),!e.target===this)return;console.log("handle index event ",e);const{index:t}=e.detail;this.index=t,this.applyIndex(this.children[t-1])}),document.addEventListener("insert",e=>{const t=e.detail.insertedNodes;this.index=e.detail.position,console.log("insert catched",t,this.index)});this.shadowRoot.innerHTML='\n \n \n \n \n \n '}init(){this._evalNodeset(),this._initTemplate(),this._initRepeatItems(),this.setAttribute("index",this.index),this.inited=!0}_evalNodeset(){const e=tt(this,this.ref),t=_e(this.ref,e,this.getOwnerForm());if(null!==t){if("object"==typeof t){if("nodeType"in t)return void(this.nodeset=[t]);if(Array.isArray(t))return void(this.nodeset=t)}throw new Error("Unexpected result of repeat nodeset: "+t)}this.nodeset=[]}async refresh(){console.group("fx-repeat.refresh on",this.id),this.inited||this.init(),this._evalNodeset(),console.log("repeat refresh nodeset ",this.nodeset);const e=this.querySelectorAll(":scope > fx-repeatitem"),t=e.length;let n=1;Array.isArray(this.nodeset)&&(n=this.nodeset.length);const r=n;if(rr;n-=1){const t=e[n-1];t.parentNode.removeChild(t)}if(r>t)for(let e=t+1;e<=r;e+=1){const t=document.createElement("fx-repeatitem"),n=this._clone();t.appendChild(n),this.appendChild(t),t.nodeset=this.nodeset[e-1],t.index=e}for(let n=0;n1||(e.style.opacity=n,requestAnimationFrame(t))}())}_initTemplate(){this.template=this.querySelector("template"),console.log("### init template for repeat ",this.id,this.template),null===this.template&&this.dispatchEvent(new CustomEvent("no-template-error",{composed:!0,bubbles:!0,detail:{message:"no template found for repeat:"+this.id}})),this.shadowRoot.appendChild(this.template)}_initRepeatItems(){this.nodeset.forEach((e,t)=>{const n=document.createElement("fx-repeatitem");n.nodeset=this.nodeset[t],n.index=t+1;const r=this._clone();n.appendChild(r),this.appendChild(n),1===n.index&&this.applyIndex(n)})}_clone(){this.template=this.shadowRoot.querySelector("template");const e=this.template.content.cloneNode(!0);return document.importNode(e,!0)}_removeIndexMarker(){Array.from(this.children).forEach(e=>{e.removeAttribute("repeat-index")})}}window.customElements.define("fx-repeat",Yt);window.customElements.define("fx-switch",class extends Lt{connectedCallback(){super.connectedCallback&&super.connectedCallback();this.shadowRoot.innerHTML="\n \n \n \n \n "}refresh(){super.refresh(),console.log("refresh on switch ");const e=this.querySelectorAll("fx-case");if(this.isBound())Array.from(e).forEach(e=>{e.getAttribute("name")===this.modelItem.value?e.classList.add("selected-case"):e.classList.remove("selected-case")});else{this.querySelector(".selected-case")||e[0].classList.add("selected-case")}Pe.refreshChildren(this)}toggle(e){const t=this.querySelectorAll("fx-case");Array.from(t).forEach(t=>{e===t?t.classList.add("selected-case"):t.classList.remove("selected-case")})}});customElements.define("fx-trigger",class extends _t{connectedCallback(){this.attachShadow({mode:"open"}),this.ref=this.hasAttribute("ref")?this.getAttribute("ref"):null;this.shadowRoot.innerHTML=`\n \n ${this.renderHTML()}\n `;const e=this.shadowRoot.querySelector("slot");e.addEventListener("slotchange",()=>{const t=e.assignedElements({flatten:!0});t[0].setAttribute("tabindex","0"),t[0].setAttribute("role","button");const n=t[0];n.addEventListener("click",e=>this.performActions(e)),this.widget=n,"BUTTON"!==n.nodeName&&n.addEventListener("keypress",e=>{"Space"!==e.code&&"Enter"!==e.code||this.performActions(e)})})}renderHTML(){return"\n \n "}getWidget(){return this.widget}async updateWidgetValue(){return console.log("trigger update",this),null}handleReadonly(){super.handleReadonly(),this.widget.hasAttribute("readonly")?this.widget.setAttribute("disabled","disabled"):this.widget.removeAttribute("disabled")}async performActions(e){const t=this.closest("fx-repeatitem");t&&(console.log("repeated click"),t.click());(async()=>{for(let t=0;t${this.label}`:""}\n \n `;this.shadowRoot.innerHTML=`\n \n ${e}\n `,this.style.display="none"}}async function Vt(e){return new Promise(t=>setTimeout(()=>t(),e))}window.customElements.define("fx-case",qt);class Jt extends(nt(HTMLElement)){static get properties(){return{...super.properties,detail:{type:Object},needsUpdate:{type:Boolean},event:{type:Object},target:{type:String},ifExpr:{type:String},whileExpr:{type:String},delay:{type:Number}}}constructor(){super(),this.detail={},this.needsUpdate=!1}connectedCallback(){this.style.display="none",this.repeatContext=void 0,this.hasAttribute("event")?this.event=this.getAttribute("event"):this.event="activate",this.target=this.getAttribute("target"),this.target?"#window"===this.target?window.addEventListener(this.event,e=>this.execute(e)):"#document"===this.target?document.addEventListener(this.event,e=>this.execute(e)):(this.targetElement=document.getElementById(this.target),this.targetElement.addEventListener(this.event,e=>this.execute(e))):(this.targetElement=this.parentNode,this.targetElement.addEventListener(this.event,e=>this.execute(e))),this.ifExpr=this.hasAttribute("if")?this.getAttribute("if"):null,this.whileExpr=this.hasAttribute("while")?this.getAttribute("while"):null,this.delay=this.hasAttribute("delay")?Number(this.getAttribute("delay")):0}async execute(e){if(console.log("executing",this),e&&e.detail&&(this.detail=e.detail),this.needsUpdate=!1,this.evalInContext(),this.targetElement&&this.targetElement.nodeset&&(this.nodeset=this.targetElement.nodeset),!this.ifExpr||Ye(this.ifExpr,this.nodeset,this.getOwnerForm())){if(this.whileExpr){const e=async()=>{await Vt(this.delay||0),this.ownerDocument.contains(this)&&Ye(this.whileExpr,this.nodeset,this.getOwnerForm())&&(this.perform(),await e())};return await e(),void this.actionPerformed()}!this.delay||(await Vt(this.delay),this.ownerDocument.contains(this))?(this.perform(),this.actionPerformed()):this.actionPerformed()}}perform(){(this.isBound()||"FX-ACTION"===this.nodeName)&&this.evalInContext()}actionPerformed(){if(this.needsUpdate){const e=this.getModel();e.recalculate(),e.revalidate(),e.parentNode.refresh(),this._dispatchActionPerformed()}}_dispatchActionPerformed(){console.log("action-performed ",this),this.dispatchEvent(new CustomEvent("action-performed",{composed:!0,bubbles:!0,detail:{}}))}}window.customElements.define("abstract-action",Jt);window.customElements.define("fx-append",class extends Jt{static get properties(){return{ref:{type:String},repeat:{type:String},clear:{type:String}}}constructor(){super(),this.repeat=""}connectedCallback(){super.connectedCallback(),console.log("connectedCallback ",this),this.ref=this.getAttribute("ref"),this.repeat=this.getAttribute("repeat")}perform(){super.perform(),this._dataFromTemplate(),this.needsUpdate=!0}actionPerformed(){super.actionPerformed(),this.dispatch()}_dataFromTemplate(){const e=this.getInScopeContext(),t=this.getOwnerForm().querySelector("#"+this.repeat),n=t.shadowRoot.querySelector("template"),r=e.ownerDocument.createElement(t.ref),a=this._generateInstance(n.content,r);e.appendChild(a)}dispatch(){let e;Pe.isRepeated(this)?(console.log("append repeated ",this.repeatContext),e=Pe.getRepeatTarget(this,this.repeat)):e=document.getElementById(this.repeat),console.log("dispatching index change ",e.nodeset.length),e.dispatchEvent(new CustomEvent("index-changed",{composed:!0,bubbles:!0,detail:{index:e.nodeset.length}}))}_clear(e){let t=e.firstChild;const n=e.attributes;for(let e=0;ea?n.setIndex(a):n.setIndex(t)}this.needsUpdate=!0}actionPerformed(){this.getModel().rebuild(),super.actionPerformed()}});window.customElements.define("fx-insert",class extends Jt{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){super.connectedCallback&&super.connectedCallback();this.shadowRoot.innerHTML="\n \n \n ",this.at=Number(this.hasAttribute("at")?this.getAttribute("at"):0),this.position=this.hasAttribute("position")?this.getAttribute("position"):"after",this.origin=this.hasAttribute("origin")?this.getAttribute("origin"):null,this.keepValues=!!this.hasAttribute("keep-values")}_cloneOriginSequence(e,t){let n;if(this.origin){let t;try{t=Le(this.origin,e,this.getOwnerForm()),Array.isArray(t)&&0===t.length&&(console.warn("invalid origin for this insert action - ignoring...",this),n=null),n=t.cloneNode(!0)}catch(e){console.warn("invalid origin for this insert action - ignoring...",this)}}else t&&(n=this._cloneTargetSequence(t),n&&!this.keepValues&&this._clear(n));return n}_getInsertIndex(e,t){return 0===t.length?null:this.hasAttribute("at")?Ve(this.getAttribute("at"),e,this.getOwnerForm()):t.length}perform(){super.perform();const e=tt(this,this.ref),t=ke(this.ref,e,this.getOwnerForm());console.log("insert nodeset ",t);const n=this._cloneOriginSequence(e,t);if(!n)return;let r,a;const i=this._getInsertIndex(e,t);if(console.log("insert index",i),0===t.length)r=e,e.appendChild(n),a=1,console.log("appended",e);else{if(this.hasAttribute("at")?(a=Ve(this.getAttribute("at"),e,this.getOwnerForm()),r=t[a-1]):(a=t.length,r=t[t.length-1]),!r){a=1,r=t;const e=_e("count(preceding::*)",t,this.getOwnerForm());console.log("context",e),a=e+1}this.position&&"before"===this.position&&r.parentNode.insertBefore(n,r),this.position&&"after"===this.position&&(a+=1,r.insertAdjacentElement("afterend",n))}console.log("instance ",this.getModel().getDefaultContext()),console.log("<<<<<<< at",this.at),console.log("<<<<<<< index",a),document.dispatchEvent(new CustomEvent("insert",{composed:!0,bubbles:!0,detail:{insertedNodes:n,position:a}})),this.needsUpdate=!0}_cloneTargetSequence(e){return Array.isArray(e)&&0!==e.length?e[e.length-1].cloneNode(!0):!Array.isArray(e)&&e?e.cloneNode(!0):null}actionPerformed(){this.getModel().rebuild(),super.actionPerformed()}_clear(e){const t=e.attributes;for(let e=0;e\n \n :host{\n display:none;\n }\n \n \n ${this.renderHTML()}\n `}disconnectedCallback(){this.targetElement.removeEventListener(this.event,e=>this.execute(e))}renderHTML(){return"\n \n "}perform(){let e;super.perform(),e=this.hasAttribute("value")?this.getValue():this.textContent,this.dispatchEvent(new CustomEvent("message",{composed:!0,bubbles:!0,detail:{level:this.level,message:e}}))}});window.customElements.define("fx-setvalue",class extends Jt{static get properties(){return{...super.properties,ref:{type:String},valueAttr:{type:String}}}constructor(){super(),this.ref="",this.valueAttr=""}connectedCallback(){if(super.connectedCallback&&super.connectedCallback(),!this.hasAttribute("ref"))throw new Error('fx-setvalue must specify a "ref" attribute');this.ref=this.getAttribute("ref"),this.valueAttr=this.getAttribute("value")}perform(){super.perform();let{value:e}=this;e=null!==this.valueAttr?_e(this.valueAttr,this.nodeset,this.getOwnerForm(),this.detail):""!==this.textContent?this.textContent:"";const t=this.getModelItem();this.setValue(t,e)}setValue(e,t){console.log("setvalue[1] ",e,t);const n=e;n&&n.value!==t&&(n.value=t,n.changed=!0,this.needsUpdate=!0,console.log("setvalue[2] ",n,t))}});window.customElements.define("fx-send",class extends Jt{constructor(){super(),this.value=""}connectedCallback(){super.connectedCallback(),console.log("connectedCallback ",this),this.submission=this.getAttribute("submission")}perform(){super.perform(),console.log("submitting ",this.submission),console.log("submitting model",this.getModel());const e=this.getModel().querySelector("#"+this.submission);if(null===e)throw this.dispatchEvent(new CustomEvent("error",{composed:!0,bubbles:!0,detail:{message:`fx-submission element with id: '${this.submission}' not found`}})),new Error(`submission with id: ${this.submission} not found`);console.log("submission",e),e.submit()}});class Qt extends Jt{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){super.connectedCallback&&super.connectedCallback(),this.src=this.hasAttribute("src")?this.getAttribute("src"):null;this.shadowRoot.innerHTML="\n \n \n "}perform(){const{children:e}=this;if(this.src){this.innerHTML="",console.log("### fx-script.perform ");const e=document.createElement("script");e.src=this.src,this.appendChild(e)}else Array.from(e).forEach(e=>{e.detail=this.detail,e.execute()})}}window.customElements.define("fx-action",Qt);window.customElements.define("fx-toggle",class extends Qt{connectedCallback(){this.hasAttribute("case")&&(this.case=this.getAttribute("case"))}execute(){if(console.log("### fx-toggle.execute "),this.case){const e=this.getOwnerForm().querySelector("#"+this.case);e.parentNode.toggle(e)}}});window.customElements.define("fx-dispatch",class extends Jt{constructor(){super(),this.name=null,this.targetid=null,this.details=null,this.attachShadow({mode:"open"})}connectedCallback(){if(super.connectedCallback(),this.name=this.getAttribute("name"),!this.name)throw new Error("no event specified for dispatch",this);this.targetid=this.hasAttribute("targetid")?this.getAttribute("targetid"):null}perform(){console.log("### fx-dispatch.perform ",this);const e=this.querySelectorAll("fx-property"),t={};if(Array.from(e).forEach(e=>{console.log("prop ",e);const n=e.getAttribute("name"),r=e.getAttribute("value"),a=e.getAttribute("expr");if(a){if(r)throw new Error('if "expr" is given there must not be a "value" attribute');const e=_e(a,this.getInScopeContext(),this.getOwnerForm());let i=null;if(e.nodeName){i=(new XMLSerializer).serializeToString(e)}t[n]=i||e}r&&(t[n]=r)}),console.log("details ",t),this.targetid){const e=document.getElementById(this.targetid);if(!e)throw new Error(`targetid ${this.targetid} does not exist in document`);e.dispatchEvent(new CustomEvent(this.name,{composed:!0,bubbles:!0,detail:t}))}else document.dispatchEvent(new CustomEvent(this.name,{composed:!0,bubbles:!0,detail:t}))}});window.customElements.define("fx-update",class extends Jt{perform(){this.getModel().updateModel()}});window.customElements.define("fx-refresh",class extends Jt{perform(){this.getOwnerForm().refresh()}});window.customElements.define("fx-confirm",class extends Qt{connectedCallback(){this.message=this.hasAttribute("message")?this.getAttribute("message"):null}perform(){window.confirm(this.message)&&super.perform()}});class Kt extends(nt(HTMLElement)){constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){this.style.display="none",this.signature=this.hasAttribute("signature")?this.getAttribute("signature"):null,null===this.signature&&console.error("signature is a required attribute"),this.type=this.hasAttribute("type")?this.getAttribute("type"):null,this.shadowRoot.innerHTML="",this.override=this.hasAttribute("override")?this.getAttribute("override"):"true",this.functionBody=this.innerText;const e=this.getAttribute("type")||"text/xpath",t=this.signature.match(/(?:(?[^:]*):)?(?[^(]+)\((?(?:\(\)|[^)])*)\)(?: as (?.*))?/);if(!t)throw new Error(`Function signature ${this.signature} could not be parsed`);const{prefix:n,localName:r,params:a,returnType:i}=t.groups,o="local"===n?{namespaceURI:"http://www.w3.org/2005/xquery-local-functions",localName:r}:`${n}:${r}`,s=a?a.split(",").map(e=>{const t=e.match(/(?\$[^\s]+)(?:\sas\s(?.+))/);if(!t)throw new Error(`Param ${e} could not be parsed`);const{variableName:n,varType:r}=t.groups;return{variableName:n,variableType:r||"item()*"}}):[];switch(e){case"text/javascript":{const e=new Function("_domFacade",...s.map(e=>e.variableName),"form",this.functionBody);De(o,s.map(e=>e.variableType),i||"item()*",(...t)=>e.apply(this.getInScopeContext(),[...t,this.getOwnerForm()]));break}case"text/xpath":{const e=(e,...t)=>_e(this.functionBody,this.getInScopeContext(),this.getOwnerForm(),s.reduce((e,n,r)=>(e[n.variableName.replace("$","")]=t[r],e),{}));De(o,s.map(e=>e.variableType),i||"item()*",e);break}default:throw new Error(`Unexpected mimetype ${e} for function`)}}}customElements.define("fx-function",Kt); +//# sourceMappingURL=fore-debug.js.map diff --git a/src/js/fore-debug.js.map b/src/js/fore-debug.js.map new file mode 100644 index 0000000..d56cde0 --- /dev/null +++ b/src/js/fore-debug.js.map @@ -0,0 +1 @@ +{"version":3,"file":"fore-debug.js","sources":["../node_modules/whynot/dist/whynot.esm.js","../node_modules/xspattern/dist/xspattern.esm.js","../node_modules/fontoxpath/dist/fontoxpath.esm.js","../src/DependencyNotifyingDomFacade.js","../src/xpath-util.js","../src/dep_graph.js","../src/fore.js","../src/xpath-evaluation.js","../src/fx-instance.js","../src/modelitem.js","../src/fx-model.js","../src/getInScopeContext.js","../src/ForeElementMixin.js","../src/fx-bind.js","../node_modules/toastify-js/src/toastify-es.js","../node_modules/@jinntec/jinn-toast/src/JinnToast.js","../src/fx-fore.js","../src/fx-submission.js","../src/fx-header.js","../node_modules/lit-html/lib/dom.js","../node_modules/lit-html/lib/template.js","../node_modules/lit-html/lib/directive.js","../node_modules/lit-html/lib/part.js","../node_modules/lit-html/lib/template-instance.js","../node_modules/lit-html/lib/template-result.js","../node_modules/lit-html/lib/parts.js","../node_modules/lit-html/lib/default-template-processor.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-html/lib/shady-render.js","../node_modules/lit-element/lib/updating-element.js","../node_modules/lit-element/lib/css-tag.js","../node_modules/lit-element/lit-element.js","../src/ui/abstract-control.js","../src/ui/fx-alert.js","../src/ui/fx-control.js","../src/ui/fx-container.js","../src/ui/fx-group.js","../src/ui/fx-hint.js","../src/ui/fx-output.js","../src/ui/fx-repeatitem.js","../src/ui/fx-repeat.js","../src/ui/fx-switch.js","../src/ui/fx-trigger.js","../src/ui/fx-case.js","../src/actions/abstract-action.js","../src/actions/fx-append.js","../src/actions/fx-delete.js","../src/actions/fx-insert.js","../src/actions/fx-message.js","../src/actions/fx-setvalue.js","../src/actions/fx-send.js","../src/actions/fx-action.js","../src/actions/fx-toggle.js","../src/actions/fx-dispatch.js","../src/actions/fx-update.js","../src/actions/fx-refresh.js","../src/actions/fx-confirm.js","../src/functions/fx-function.js"],"sourcesContent":["function t(t,s,r,i){const n={op:s,func:r,data:i};return t.push(n),n}function s(t,s){return t}class r{constructor(){this.program=[]}test(s,r){return t(this.program,5,s,void 0===r?null:r)}jump(s){return t(this.program,3,null,s)}record(r,i){return t(this.program,4,void 0===i?s:i,r)}bad(s=1){return t(this.program,1,null,s)}accept(){return t(this.program,0,null,null)}fail(s){return t(this.program,2,s||null,null)}}class i{constructor(t,s,r){this.programLength=t,this.maxFromByPc=s,this.maxSurvivorFromByPc=r}static fromProgram(t){const s=t.length,r=[],n=[];return t.forEach((t=>{r.push(0),n.push(0)})),t.forEach(((t,i)=>{switch(t.op){case 2:if(null===t.func)return;if(i+1>=s)throw new Error(\"Invalid program: program could run past end\");r[i+1]+=1;break;case 1:case 4:if(i+1>=s)throw new Error(\"Invalid program: program could run past end\");r[i+1]+=1;break;case 3:t.data.forEach((t=>{if(t<0||t>=s)throw new Error(\"Invalid program: program could run past end\");r[t]+=1}));break;case 5:if(i+1>=s)throw new Error(\"Invalid program: program could run past end\");n[i+1]+=1;break;case 0:n[i]+=1}})),new i(s,r,n)}static createStub(t){const s=[],r=[];for(let i=0;i0}}class h{constructor(t){this.t=0,this.i=0,this.h=new Uint16Array(t),this.l=new Uint8Array(t)}getBadness(t){return this.l[t]}add(t,s){this.l[t]=s>255?255:s;const r=function(t,s,r,i,n){let h=i,e=n;for(;h>>1;r255?255:s);if(this.l[t]!==r){const s=this.h.indexOf(t,this.i);if(s<0||s>=this.t)return void(this.l[t]=r);this.h.copyWithin(s,s+1,this.t),this.t-=1,this.add(t,r)}}getNextPc(){return this.i>=this.t?null:this.h[this.i++]}reset(){this.t=0,this.i=0,this.l.fill(0)}}class e{constructor(t){this.o=[];let s=t.length;t.forEach((t=>{this.o.push(t>0?s:-1),s+=t})),this.u=new Uint16Array(s)}clear(){this.u.fill(0,0,this.o.length)}add(t,s){const r=this.u[s],i=this.o[s];this.u[s]+=1,this.u[i+r]=t}has(t){return this.u[t]>0}forEach(t,s){const r=this.u[t],i=this.o[t];for(let t=i;t{const r=this.trace(s,i,n,h);var c,o,u;o=r,u=e,t=null===(c=t)?o:null===o?c:Array.isArray(o)?o.reduce(((t,s)=>l(t,s,t===o)),c):l(c,o,u),e=t===r})),t}trace(t,s,r,i){switch(this.p[t]){case 2:return this.v[t];case 1:return null}this.p[t]=1;let n=null;const h=s[t];if(null!==h)n=h;else if(!r.has(t))throw new Error(`Trace without source at pc ${t}`);if(n=this.mergeTraces(n,t,r,s,r,i),null!==n){const s=i[t];null!==s&&(n=o(n,s))}return this.v[t]=n,this.p[t]=2,n}buildSurvivorTraces(t,s,r,i,n){for(let h=0,e=t.length;hl(t,this.k[s])),null);return null===s?[]:Array.isArray(s)?s:[s]}}class f{constructor(t){this.I=[],this.N=new h(t.programLength),this.M=new h(t.programLength),this.P=new a(t)}reset(){this.N.reset(),this.N.add(0,0),this.I.length=0,this.P.reset(!0)}getNextThreadPc(){return this.N.getNextPc()}step(t,s,r){const i=this.P.has(s);this.P.add(t,s);const n=this.N.getBadness(t)+r;i?this.N.reschedule(s,n):this.N.add(s,n)}stepToNextGeneration(t,s){const r=this.P.hasSurvivor(s);this.P.addSurvivor(t,s);const i=this.N.getBadness(t);r?this.M.reschedule(s,i):this.M.add(s,i)}accept(t){this.I.push(t),this.P.addSurvivor(t,t)}fail(t){}record(t,s){this.P.record(t,s)}nextGeneration(){this.P.buildSurvivorTraces(),this.P.reset(!1);const t=this.N;t.reset(),this.N=this.M,this.M=t}getAcceptingTraces(){return this.P.getTraces(this.I)}}class d{constructor(t){this.U=[],this.G=t,this.V=i.fromProgram(t),this.U.push(new f(this.V))}execute(t,s){const r=this.U.pop()||new f(this.V);r.reset();const i=t.length;let h,e=-1;do{let n=r.getNextThreadPc();if(null===n)break;for(++e,h=e>=i?null:t[e];null!==n;){const t=this.G[n];switch(t.op){case 0:null===h?r.accept(n):r.fail(n);break;case 2:{const i=t.func;if(null===i||i(s)){r.fail(n);break}r.step(n,n+1,0);break}case 1:r.step(n,n+1,t.data);break;case 5:if(null===h){r.fail(n);break}if(!(0,t.func)(h,t.data,s)){r.fail(n);break}r.stepToNextGeneration(n,n+1);break;case 3:{const s=t.data,i=s.length;if(0===i){r.fail(n);break}for(let t=0;tB===A}function a(A,B){if(null===A||null===B)throw new Error(\"unescaped hyphen may not be used as a range endpoint\");if(BA<=a&&a<=B}function n(A){return!0}function e(){return!1}function t(A,B){return a=>A(a)||B(a)}function G(A,B){switch(B.kind){case\"predicate\":return void A.test(B.value);case\"regexp\":return void r(A,B.value,!1)}}function i(A,B){B.forEach((B=>{!function(A,B){const[a,{min:n,max:e}]=B;if(null!==e){for(let B=0;B0){for(let B=0;B!0)),A.jump([n]));const t=[];if(B.forEach((B=>{e.data.push(A.program.length),i(A,B),t.push(A.jump([]))})),t.forEach((B=>{B.data.push(A.program.length)})),a){const B=A.program.length,a=A.jump([]);a.data.push(A.program.length),A.test((()=>!0)),A.jump([B]),a.data.push(A.program.length)}}function o(A,B){return{success:!0,offset:A,value:B}}function l(A){return o(A,void 0)}function H(A,B,a=!1){return{success:!1,offset:A,expected:B,fatal:a}}function u(A){return(B,a)=>{const n=a+A.length;return B.slice(a,n)===A?o(n,A):H(a,[A])}}function C(A,B){return(a,n)=>{const e=A(a,n);return e.success?o(e.offset,B(e.value)):e}}function s(A,B,a){return(n,e)=>{const t=A(n,e);return t.success?B(t.value)?t:H(e,a):t.offset===e?H(e,a):t}}function c(A){return(B,a)=>{let n=null;for(const e of A){const A=e(B,a);if(A.success)return A;if(null===n||A.offset>n.offset?n=A:A.offset===n.offset&&(n.expected=n.expected.concat(A.expected)),A.fatal)break}return n||H(a,[])}}function D(A){return(B,a)=>{const n=A(B,a);return n.success||n.fatal?n:o(a,null)}}function m(A){return(B,a)=>{let n=[],e=a;for(;;){const a=A(B,e);if(!a.success){if(a.fatal)return a;break}n.push(a.value),e=a.offset}return o(e,n)}}function h(A,B,a){return(n,e)=>{const t=A(n,e);if(!t.success)return t;const G=B(n,t.offset);return G.success?o(G.offset,a(t.value,G.value)):G}}function I(A){return h(A,m(A),((A,B)=>[A].concat(B)))}function d(A,B){return A}function T(A,B){return B}function p(A,B){return h(A,B,T)}function E(A,B){return h(A,B,d)}function f(A,B,a,n=!1){return p(A,n?F(E(B,a)):E(B,a))}function g(A,B){return(a,n)=>A(a,n).success?H(n,B):l(n)}function F(A){return(B,a)=>{const n=A(B,a);return n.success?n:H(n.offset,n.expected,!0)}}const P=(A,B)=>A.length===B?l(B):H(B,[\"end of input\"]);const M=[\"Lu\",\"Ll\",\"Lt\",\"Lm\",\"Lo\",\"Mn\",\"Mc\",\"Me\",\"Nd\",\"Nl\",\"No\",\"Pc\",\"Pd\",\"Ps\",\"Pe\",\"Pi\",\"Pf\",\"Po\",\"Zs\",\"Zl\",\"Zp\",\"Sm\",\"Sc\",\"Sk\",\"So\",\"Cc\",\"Cf\",\"Co\",\"Cn\"],J={};function S(A){return A.codePointAt(0)}\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\").forEach(((A,B)=>{J[A]=B}));const K=A=>-1===A||-2===A;function b(A){return B=>!K(B)&&!A(B)}function y(A,B){return null===B?A:a=>A(a)&&!B(a)}const Q=function(A,B){const n=new Map;let e=0;return A.forEach(((A,G)=>{const i=B[G];null!==A&&A.split(\"|\").forEach((A=>{const B=n.get(A),G=a(e,e+i-1);n.set(A,B?t(B,G):G)})),e+=i})),n}([\"BasicLatin\",\"Latin-1Supplement\",\"LatinExtended-A\",\"LatinExtended-B\",\"IPAExtensions\",\"SpacingModifierLetters\",\"CombiningDiacriticalMarks\",\"GreekandCoptic|Greek\",\"Cyrillic\",\"CyrillicSupplement\",\"Armenian\",\"Hebrew\",\"Arabic\",\"Syriac\",\"ArabicSupplement\",\"Thaana\",\"NKo\",\"Samaritan\",\"Mandaic\",\"SyriacSupplement\",null,\"ArabicExtended-A\",\"Devanagari\",\"Bengali\",\"Gurmukhi\",\"Gujarati\",\"Oriya\",\"Tamil\",\"Telugu\",\"Kannada\",\"Malayalam\",\"Sinhala\",\"Thai\",\"Lao\",\"Tibetan\",\"Myanmar\",\"Georgian\",\"HangulJamo\",\"Ethiopic\",\"EthiopicSupplement\",\"Cherokee\",\"UnifiedCanadianAboriginalSyllabics\",\"Ogham\",\"Runic\",\"Tagalog\",\"Hanunoo\",\"Buhid\",\"Tagbanwa\",\"Khmer\",\"Mongolian\",\"UnifiedCanadianAboriginalSyllabicsExtended\",\"Limbu\",\"TaiLe\",\"NewTaiLue\",\"KhmerSymbols\",\"Buginese\",\"TaiTham\",\"CombiningDiacriticalMarksExtended\",\"Balinese\",\"Sundanese\",\"Batak\",\"Lepcha\",\"OlChiki\",\"CyrillicExtended-C\",\"GeorgianExtended\",\"SundaneseSupplement\",\"VedicExtensions\",\"PhoneticExtensions\",\"PhoneticExtensionsSupplement\",\"CombiningDiacriticalMarksSupplement\",\"LatinExtendedAdditional\",\"GreekExtended\",\"GeneralPunctuation\",\"SuperscriptsandSubscripts\",\"CurrencySymbols\",\"CombiningDiacriticalMarksforSymbols|CombiningMarksforSymbols\",\"LetterlikeSymbols\",\"NumberForms\",\"Arrows\",\"MathematicalOperators\",\"MiscellaneousTechnical\",\"ControlPictures\",\"OpticalCharacterRecognition\",\"EnclosedAlphanumerics\",\"BoxDrawing\",\"BlockElements\",\"GeometricShapes\",\"MiscellaneousSymbols\",\"Dingbats\",\"MiscellaneousMathematicalSymbols-A\",\"SupplementalArrows-A\",\"BraillePatterns\",\"SupplementalArrows-B\",\"MiscellaneousMathematicalSymbols-B\",\"SupplementalMathematicalOperators\",\"MiscellaneousSymbolsandArrows\",\"Glagolitic\",\"LatinExtended-C\",\"Coptic\",\"GeorgianSupplement\",\"Tifinagh\",\"EthiopicExtended\",\"CyrillicExtended-A\",\"SupplementalPunctuation\",\"CJKRadicalsSupplement\",\"KangxiRadicals\",null,\"IdeographicDescriptionCharacters\",\"CJKSymbolsandPunctuation\",\"Hiragana\",\"Katakana\",\"Bopomofo\",\"HangulCompatibilityJamo\",\"Kanbun\",\"BopomofoExtended\",\"CJKStrokes\",\"KatakanaPhoneticExtensions\",\"EnclosedCJKLettersandMonths\",\"CJKCompatibility\",\"CJKUnifiedIdeographsExtensionA\",\"YijingHexagramSymbols\",\"CJKUnifiedIdeographs\",\"YiSyllables\",\"YiRadicals\",\"Lisu\",\"Vai\",\"CyrillicExtended-B\",\"Bamum\",\"ModifierToneLetters\",\"LatinExtended-D\",\"SylotiNagri\",\"CommonIndicNumberForms\",\"Phags-pa\",\"Saurashtra\",\"DevanagariExtended\",\"KayahLi\",\"Rejang\",\"HangulJamoExtended-A\",\"Javanese\",\"MyanmarExtended-B\",\"Cham\",\"MyanmarExtended-A\",\"TaiViet\",\"MeeteiMayekExtensions\",\"EthiopicExtended-A\",\"LatinExtended-E\",\"CherokeeSupplement\",\"MeeteiMayek\",\"HangulSyllables\",\"HangulJamoExtended-B\",\"HighSurrogates\",\"HighPrivateUseSurrogates\",\"LowSurrogates\",\"PrivateUseArea|PrivateUse\",\"CJKCompatibilityIdeographs\",\"AlphabeticPresentationForms\",\"ArabicPresentationForms-A\",\"VariationSelectors\",\"VerticalForms\",\"CombiningHalfMarks\",\"CJKCompatibilityForms\",\"SmallFormVariants\",\"ArabicPresentationForms-B\",\"HalfwidthandFullwidthForms\",\"Specials\",\"LinearBSyllabary\",\"LinearBIdeograms\",\"AegeanNumbers\",\"AncientGreekNumbers\",\"AncientSymbols\",\"PhaistosDisc\",null,\"Lycian\",\"Carian\",\"CopticEpactNumbers\",\"OldItalic\",\"Gothic\",\"OldPermic\",\"Ugaritic\",\"OldPersian\",null,\"Deseret\",\"Shavian\",\"Osmanya\",\"Osage\",\"Elbasan\",\"CaucasianAlbanian\",null,\"LinearA\",null,\"CypriotSyllabary\",\"ImperialAramaic\",\"Palmyrene\",\"Nabataean\",null,\"Hatran\",\"Phoenician\",\"Lydian\",null,\"MeroiticHieroglyphs\",\"MeroiticCursive\",\"Kharoshthi\",\"OldSouthArabian\",\"OldNorthArabian\",null,\"Manichaean\",\"Avestan\",\"InscriptionalParthian\",\"InscriptionalPahlavi\",\"PsalterPahlavi\",null,\"OldTurkic\",null,\"OldHungarian\",\"HanifiRohingya\",null,\"RumiNumeralSymbols\",null,\"OldSogdian\",\"Sogdian\",null,\"Elymaic\",\"Brahmi\",\"Kaithi\",\"SoraSompeng\",\"Chakma\",\"Mahajani\",\"Sharada\",\"SinhalaArchaicNumbers\",\"Khojki\",null,\"Multani\",\"Khudawadi\",\"Grantha\",null,\"Newa\",\"Tirhuta\",null,\"Siddham\",\"Modi\",\"MongolianSupplement\",\"Takri\",null,\"Ahom\",null,\"Dogra\",null,\"WarangCiti\",null,\"Nandinagari\",\"ZanabazarSquare\",\"Soyombo\",null,\"PauCinHau\",null,\"Bhaiksuki\",\"Marchen\",null,\"MasaramGondi\",\"GunjalaGondi\",null,\"Makasar\",null,\"TamilSupplement\",\"Cuneiform\",\"CuneiformNumbersandPunctuation\",\"EarlyDynasticCuneiform\",null,\"EgyptianHieroglyphs\",\"EgyptianHieroglyphFormatControls\",null,\"AnatolianHieroglyphs\",null,\"BamumSupplement\",\"Mro\",null,\"BassaVah\",\"PahawhHmong\",null,\"Medefaidrin\",null,\"Miao\",null,\"IdeographicSymbolsandPunctuation\",\"Tangut\",\"TangutComponents\",null,\"KanaSupplement\",\"KanaExtended-A\",\"SmallKanaExtension\",\"Nushu\",null,\"Duployan\",\"ShorthandFormatControls\",null,\"ByzantineMusicalSymbols\",\"MusicalSymbols\",\"AncientGreekMusicalNotation\",null,\"MayanNumerals\",\"TaiXuanJingSymbols\",\"CountingRodNumerals\",null,\"MathematicalAlphanumericSymbols\",\"SuttonSignWriting\",null,\"GlagoliticSupplement\",null,\"NyiakengPuachueHmong\",null,\"Wancho\",null,\"MendeKikakui\",null,\"Adlam\",null,\"IndicSiyaqNumbers\",null,\"OttomanSiyaqNumbers\",null,\"ArabicMathematicalAlphabeticSymbols\",null,\"MahjongTiles\",\"DominoTiles\",\"PlayingCards\",\"EnclosedAlphanumericSupplement\",\"EnclosedIdeographicSupplement\",\"MiscellaneousSymbolsandPictographs\",\"Emoticons\",\"OrnamentalDingbats\",\"TransportandMapSymbols\",\"AlchemicalSymbols\",\"GeometricShapesExtended\",\"SupplementalArrows-C\",\"SupplementalSymbolsandPictographs\",\"ChessSymbols\",\"SymbolsandPictographsExtended-A\",null,\"CJKUnifiedIdeographsExtensionB\",null,\"CJKUnifiedIdeographsExtensionC\",\"CJKUnifiedIdeographsExtensionD\",\"CJKUnifiedIdeographsExtensionE\",\"CJKUnifiedIdeographsExtensionF\",null,\"CJKCompatibilityIdeographsSupplement\",null,\"Tags\",null,\"VariationSelectorsSupplement\",null,\"SupplementaryPrivateUseArea-A|PrivateUse\",\"SupplementaryPrivateUseArea-B|PrivateUse\"],[128,128,128,208,96,80,112,144,256,48,96,112,256,80,48,64,64,64,32,16,48,96,128,128,128,128,128,128,128,128,128,128,128,128,256,160,96,256,384,32,96,640,32,96,32,32,32,32,128,176,80,80,48,96,32,32,144,80,128,64,64,80,48,16,48,16,48,128,64,64,256,256,112,48,48,48,80,64,112,256,256,64,32,160,128,32,96,256,192,48,16,256,128,128,256,256,96,32,128,48,80,96,32,128,128,224,16,16,64,96,96,48,96,16,32,48,16,256,256,6592,64,20992,1168,64,48,320,96,96,32,224,48,16,64,96,32,48,48,32,96,32,96,32,96,32,48,64,80,64,11184,80,896,128,1024,6400,512,80,688,16,16,16,32,32,144,240,16,128,128,64,80,64,48,128,32,64,32,48,32,48,32,64,32,80,48,48,80,48,64,144,384,128,64,32,32,48,48,32,32,32,64,32,96,96,32,32,32,64,64,32,32,48,80,80,48,128,64,288,32,128,48,64,112,32,128,80,48,80,48,96,32,80,48,48,80,128,128,128,96,160,128,96,32,80,48,64,192,80,80,96,160,96,80,96,16,64,256,112,80,64,96,80,304,32,192,64,1024,128,208,2736,1072,16,4032,640,8576,576,48,96,48,144,688,96,96,160,64,32,6144,768,9472,256,48,64,400,2304,160,16,4944,256,256,80,144,32,96,32,128,1024,688,1360,48,208,80,368,64,1280,224,32,96,784,80,64,80,176,256,256,48,112,96,256,256,768,80,48,128,128,128,256,256,112,144,1280,42720,32,4160,224,5776,7488,3088,544,722400,128,128,240,65040,65536,65536]),x=function(A){const n=new Map,G=A.split(\"\"),i=M.map((()=>[]));let r=0,o=0;for(;o{const a=i[B].reduce(t,e);n.set(A,a);const G=A.charAt(0),r=l.get(G)||[];l.set(G,r),r.push(a)})),l.forEach(((A,B)=>{n.set(B,A.reduce(t,e))})),n}(\"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\");function L(A){return 32===A||9===A||10===A||13===A}const Z=[B(S(\":\")),a(S(\"A\"),S(\"Z\")),B(S(\"_\")),a(S(\"a\"),S(\"z\")),a(192,214),a(216,246),a(192,214),a(216,246),a(248,767),a(880,893),a(895,8191),a(8204,8205),a(8304,8591),a(11264,12271),a(12289,55295),a(63744,64975),a(65008,65533),a(65536,983039)].reduce(t),X=[Z,B(S(\"-\")),B(S(\".\")),a(S(\"0\"),S(\"9\")),B(183),a(768,879),a(8255,8256)].reduce(t),k=x.get(\"Nd\"),O=b(k),N=y(a(0,1114111),[x.get(\"P\"),x.get(\"Z\"),x.get(\"C\")].reduce(t)),v=b(N);function w(A){return 10!==A&&13!==A&&!K(A)}const Y={s:L,S:b(L),i:Z,I:b(Z),c:X,C:b(X),d:k,D:O,w:N,W:v},U=u(\"*\"),j=u(\"\\\\\"),R=u(\"{\"),V=u(\"}\"),W=u(\"[\"),q=u(\"]\"),$=u(\"^\"),z=u(\"$\"),_=u(\",\"),AA=u(\"-\"),BA=u(\"(\"),aA=u(\")\"),nA=u(\".\"),eA=u(\"|\"),tA=u(\"+\"),GA=u(\"?\"),iA=u(\"-[\"),rA=S(\"0\");function oA(A){function e(A){return new Set(A.split(\"\").map((A=>S(A))))}function G(A,B){const a=A.codePointAt(B);return void 0===a?H(B,[\"any character\"]):o(B+String.fromCodePoint(a).length,a)}const i=\"xpath\"===A.language?p(j,c([C(u(\"n\"),(()=>10)),C(u(\"r\"),(()=>13)),C(u(\"t\"),(()=>9)),C(c([j,eA,nA,AA,$,GA,U,tA,R,V,z,BA,aA,W,q]),(A=>S(A)))])):p(j,c([C(u(\"n\"),(()=>10)),C(u(\"r\"),(()=>13)),C(u(\"t\"),(()=>9)),C(c([j,eA,nA,AA,$,GA,U,tA,R,V,BA,aA,W,q]),(A=>S(A)))]));function r(A,B){const a=e(B);return h(u(A),D(s(G,(A=>a.has(A)),B.split(\"\"))),((A,B)=>function(A){const B=x.get(A);if(null==B)throw new Error(`${A} is not a valid unicode category`);return B}(null===B?A:A+String.fromCodePoint(B))))}const l=c([r(\"L\",\"ultmo\"),r(\"M\",\"nce\"),r(\"N\",\"dlo\"),r(\"P\",\"cdseifo\"),r(\"Z\",\"slp\"),r(\"S\",\"mcko\"),r(\"C\",\"cfon\")]),T=[a(S(\"a\"),S(\"z\")),a(S(\"A\"),S(\"Z\")),a(S(\"0\"),S(\"9\")),B(45)].reduce(t),M=c([l,C(p(u(\"Is\"),function(A){return(B,a)=>{const n=A(B,a);return n.success?o(n.offset,B.slice(a,n.offset)):n}}(I(s(G,T,[\"block identifier\"])))),(B=>function(A,B){const a=Q.get(A);if(void 0===a){if(B)return n;throw new Error(`The unicode block identifier \"${A}\" is not known.`)}return a}(B,\"xpath\"!==A.language)))]),J=f(u(\"\\\\p{\"),M,V,!0),K=C(f(u(\"\\\\P{\"),M,V,!0),b),L=p(j,C(c(\"sSiIcCdDwW\".split(\"\").map((A=>u(A)))),(A=>Y[A]))),Z=C(nA,(()=>w)),X=c([L,J,K]),k=e(\"\\\\[]\"),O=c([i,s(G,(A=>!k.has(A)),[\"unescaped character\"])]),N=c([C(AA,(()=>null)),O]),v=h(N,p(AA,N),a);function oA(A,B){return[A].concat(B||[])}const lA=C(function(A){return(B,a)=>{const n=A(B,a);return n.success?o(a,n.value):n}}(c([q,iA])),(()=>null)),HA=S(\"-\"),uA=c([C(E(E(AA,g(W,[\"not [\"])),lA),(()=>HA)),p(g(AA,[\"not -\"]),O)]),CA=c([h(C(uA,B),c([function(A,B){return CA(A,B)},lA]),oA),h(c([v,X]),c([cA,lA]),oA)]);const sA=c([h(C(O,B),c([CA,lA]),oA),h(c([v,X]),c([cA,lA]),oA)]);function cA(A,B){return sA(A,B)}const DA=C(sA,(A=>A.reduce(t))),mA=C(p($,DA),b),hA=h(c([p(g($,[\"not ^\"]),DA),mA]),D(p(AA,(function(A,B){return IA(A,B)}))),y),IA=f(W,hA,q,!0);const dA=\"xpath\"===A.language?c([C(i,B),X,IA,Z,C($,(()=>A=>-1===A)),C(z,(()=>A=>-2===A))]):c([C(i,B),X,IA,Z]),TA=\"xpath\"===A.language?e(\".\\\\?*+{}()|^$[]\"):e(\".\\\\?*+{}()|[]\"),pA=s(G,(A=>!TA.has(A)),[\"NormalChar\"]),EA=C(p(j,h(C(s(G,a(S(\"1\"),S(\"9\")),[\"digit\"]),(A=>A-rA)),m(C(s(G,a(rA,S(\"9\")),[\"digit\"]),(A=>A-rA))),((A,B)=>{B.reduce(((A,B)=>10*A+B),A)}))),(A=>{throw new Error(\"Backreferences in XPath patterns are not yet implemented.\")})),fA=\"xpath\"===A.language?c([C(pA,(A=>({kind:\"predicate\",value:B(A)}))),C(dA,(A=>({kind:\"predicate\",value:A}))),C(f(BA,p(D(u(\"?:\")),SA),aA,!0),(A=>({kind:\"regexp\",value:A}))),EA]):c([C(pA,(A=>({kind:\"predicate\",value:B(A)}))),C(dA,(A=>({kind:\"predicate\",value:A}))),C(f(BA,SA,aA,!0),(A=>({kind:\"regexp\",value:A})))]),gA=C(I(C(s(G,a(rA,S(\"9\")),[\"digit\"]),(A=>A-rA))),(A=>A.reduce(((A,B)=>10*A+B)))),FA=c([h(gA,p(_,gA),((A,B)=>{if(B({min:A,max:null}))),C(gA,(A=>({min:A,max:A})))]),PA=\"xpath\"===A.language?h(c([C(GA,(()=>({min:0,max:1}))),C(U,(()=>({min:0,max:null}))),C(tA,(()=>({min:1,max:null}))),f(R,FA,V,!0)]),D(GA),((A,B)=>A)):c([C(GA,(()=>({min:0,max:1}))),C(U,(()=>({min:0,max:null}))),C(tA,(()=>({min:1,max:null}))),f(R,FA,V,!0)]),MA=m(h(fA,C(D(PA),(A=>null===A?{min:1,max:1}:A)),((A,B)=>[A,B]))),JA=h(MA,m(p(eA,F(MA))),((A,B)=>[A].concat(B)));function SA(A,B){return JA(A,B)}const KA=function(A){return h(A,P,d)}(JA);return function(A){let B;try{B=KA(A,0)}catch(B){throw new Error(`Error parsing pattern \"${A}\": ${B.message}`)}return B.success?B.value:function(A,B,a){const n=a.map((A=>`\"${A}\"`));throw new Error(`Error parsing pattern \"${A}\" at offset ${B}: expected ${n.length>1?\"one of \"+n.join(\", \"):n[0]} but found \"${A.slice(B,B+1)}\"`)}(A,B.offset,B.expected)}}function lA(A){return[...A].map((A=>A.codePointAt(0)))}function HA(B,a={language:\"xsd\"}){const n=oA(a)(B),e=A((A=>{r(A,n,\"xpath\"===a.language),A.accept()}));return function(A){const B=\"xpath\"===a.language?[-1,...lA(A),-2]:lA(A);return e.execute(B).success}}export{HA as compile};\n//# sourceMappingURL=xspattern.esm.js.map\n","import * as xspattern from 'xspattern';\nconst fontoxpath = (function (xspattern) {\nconst VERSION='3.20.4';\nconst fontoxpathGlobal = {};\nvar D;function aa(a){var c=0;return function(){return cc||1342177279>>=1)e+=e;return g}});\nfunction hb(a,c){a=void 0!==a?String(a):\" \";return 0=m}});ea(\"Array.prototype.fill\",function(a){return a?a:function(c,e,g){var f=this.length||0;0>e&&(e=Math.max(0,f+e));if(null==g||g>f)g=f;g=Number(g);0>g&&(g=Math.max(0,f+g));for(e=Number(e||0);ee&&(e=Math.max(e+f,0));ec?-e:e}});ea(\"Number.isFinite\",function(a){return a?a:function(c){return\"number\"!==typeof c?!1:!isNaN(c)&&Infinity!==c&&-Infinity!==c}});ea(\"String.prototype.padStart\",function(a){return a?a:function(c,e){var g=cb(this,null,\"padStart\");return hb(e,c-g.length)+g}});\nfunction lb(a,c){a instanceof String&&(a+=\"\");var e=0,g=!1,f={next:function(){if(!g&&e=f}});\nea(\"String.fromCodePoint\",function(a){return a?a:function(c){for(var e=\"\",g=0;gf||1114111=f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(f>>>10&1023|55296),e+=String.fromCharCode(f&1023|56320))}return e}});\nea(\"String.prototype.codePointAt\",function(a){return a?a:function(c){var e=cb(this,null,\"codePointAt\"),g=e.length;c=Number(c)||0;if(0<=c&&cf||56319c||57343e.length)return f?1:-1;if(c.lengthe)return f?1:-1;if(cc?f?1:-1:epb(a,c)}}function ub(){return function(a,c){return 0>pb(a,c)}}function vb(){return function(a,c){return-1=a.length?Q:S(a[c])}}}D=zc.prototype;D.pb=function(){return this};D.filter=function(a){var c=this,e=-1;return this.o.create({next:function(){for(e++;e=c.h.length?Q:S(c.h[e])}})};D.first=function(){return this.h[0]};D.S=function(){return this.h};D.getEffectiveBooleanValue=function(){if(T(this.h[0].type,53))return!0;throw oc();};D.ya=function(){return this.h.length};D.F=function(){return!1};\nD.za=function(){return!1};D.map=function(a){var c=this,e=-1;return this.o.create({next:function(){return++e>=c.h.length?Q:S(a(c.h[e],e,c))}},this.h.length)};D.M=function(a){return a(this.h)};D.aa=function(a){return a.multiple?a.multiple(this):a.default(this)};function Ac(){this.value={next:function(){return Q}}}D=Ac.prototype;D.pb=function(){return this};D.filter=function(){return this};D.first=function(){return null};D.S=function(){return[]};D.getEffectiveBooleanValue=function(){return!1};D.ya=function(){return 0};D.F=function(){return!0};D.za=function(){return!1};D.map=function(){return this};D.M=function(a){return a([])};D.aa=function(a){return a.empty?a.empty(this):a.default(this)};function Bc(a){var c=a.value;if(T(a.type,53))return!0;if(T(a.type,0))return c;if(T(a.type,1)||T(a.type,20)||T(a.type,19))return 0!==c.length;if(T(a.type,2))return!isNaN(c)&&0!==c;throw oc();};function Cc(a,c){var e=this;this.J=U;this.value={next:function(g){if(null!==e.o&&e.h>=e.o)return Q;if(void 0!==e.B[e.h])return S(e.B[e.h++]);g=a.next(g);if(g.done)return e.o=e.h,g;if(e.v||2>e.h)e.B[e.h]=g.value;e.h++;return g}};this.v=!1;this.B=[];this.h=0;this.o=void 0===c?null:c}D=Cc.prototype;D.pb=function(){return this.J.create(this.S())};D.filter=function(a){var c=this,e=-1,g=this.value;return this.J.create({next:function(f){e++;for(var m=g.next(f);!m.done&&!a(m.value,e,c);)e++,m=g.next(f);return m}})};\nD.first=function(){if(void 0!==this.B[0])return this.B[0];var a=this.value.next(0);Dc(this);return a.done?null:a.value};D.S=function(){if(this.h>this.B.length&&this.o!==this.B.length)throw Error(\"Implementation error: Sequence Iterator has progressed.\");var a=this.value;this.v=!0;for(var c=a.next(0);!c.done;)c=a.next(0);return this.B};\nD.getEffectiveBooleanValue=function(){var a=this.value,c=this.h;Dc(this);var e=a.next(0);if(e.done)return Dc(this,c),!1;e=e.value;if(T(e.type,53))return Dc(this,c),!0;if(!a.next(0).done)throw oc();Dc(this,c);return Bc(e)};D.ya=function(a){if(null!==this.o)return this.o;if(void 0===a?0:a)return-1;a=this.h;var c=this.S().length;Dc(this,a);return c};D.F=function(){return 0===this.o?!0:null===this.first()};\nD.za=function(){if(null!==this.o)return 1===this.o;var a=this.value,c=this.h;Dc(this);if(a.next(0).done)return Dc(this,c),!1;a=a.next(0);Dc(this,c);return a.done};D.map=function(a){var c=this,e=0,g=this.value;return this.J.create({next:function(f){f=g.next(f);return f.done?Q:S(a(f.value,e++,c))}},this.o)};D.M=function(a,c){var e=this.value,g,f=[],m=!0;(function(){for(var p=e.next(m?0:c);!p.done;p=e.next(c))m=!1,f.push(p.value);g=a(f).value})();return this.J.create({next:function(){return g.next(0)}})};\nD.aa=function(a){function c(f){g=f.value;f=f.ya(!0);-1!==f&&(e.o=f)}var e=this,g=null;return this.J.create({next:function(f){if(g)return g.next(f);if(e.F())return c(a.empty?a.empty(e):a.default(e)),g.next(f);if(e.za())return c(a.s?a.s(e):a.default(e)),g.next(f);c(a.multiple?a.multiple(e):a.default(e));return g.next(f)}})};function Dc(a,c){a.h=void 0===c?0:c};function Ec(a){this.B=U;this.h=a;var c=!1;this.value={next:function(){if(c)return Q;c=!0;return S(a)}};this.o=null}D=Ec.prototype;D.pb=function(){return this};D.filter=function(a){return a(this.h,0,this)?this:this.B.create()};D.first=function(){return this.h};D.S=function(){return[this.h]};D.getEffectiveBooleanValue=function(){null===this.o&&(this.o=Bc(this.h));return this.o};D.ya=function(){return 1};D.F=function(){return!1};D.za=function(){return!0};\nD.map=function(a){return this.B.create(a(this.h,0,this))};D.M=function(a){return a([this.h])};D.aa=function(a){return a.s?a.s(this):a.default(this)};var Fc=new Ac;function Gc(a,c){a=void 0===a?null:a;if(null===a)return Fc;if(Array.isArray(a))switch(a.length){case 0:return Fc;case 1:return new Ec(a[0]);default:return new zc(a)}return a.next?new Cc(a,void 0===c?null:c):new Ec(a)}var U={create:Gc,s:function(a){return new Ec(a)},empty:function(){return Gc()},$:function(){return Gc(mc)},U:function(){return Gc(nc)}};function Rc(a){var c=[],e=a.value;return function(){var g=0;return U.create({next:function(){if(void 0!==c[g])return c[g++];var f=e.next(0);return f.done?f:c[g++]=f}})}};function Sc(a,c){this.type=a;this.value=c}\nvar Tc={},Uc=(Tc[0]=\"xs:boolean\",Tc[1]=\"xs:string\",Tc[2]=\"xs:numeric\",Tc[3]=\"xs:double\",Tc[4]=\"xs:decimal\",Tc[5]=\"xs:integer\",Tc[6]=\"xs:float\",Tc[7]=\"xs:date\",Tc[8]=\"xs:time\",Tc[9]=\"xs:dateTime\",Tc[10]=\"xs:dateTimeStamp\",Tc[11]=\"xs:gYearMonth\",Tc[12]=\"xs:gYear\",Tc[13]=\"xs:gMonthDay\",Tc[14]=\"xs:gMonth\",Tc[15]=\"xs:gDay\",Tc[16]=\"xs:yearMonthDuration\",Tc[17]=\"xs:dayTimeDuration\",Tc[18]=\"xs:duration\",Tc[19]=\"xs:untypedAtomic\",Tc[20]=\"xs:anyURI\",Tc[21]=\"xs:base64Binary\",Tc[22]=\"xs:hexBinary\",Tc[23]=\"xs:QName\",\nTc[24]=\"xs:NCName\",Tc[25]=\"xs:Name\",Tc[26]=\"xs:ENTITY\",Tc[27]=\"xs:nonPositiveInteger\",Tc[28]=\"xs:negativeInteger\",Tc[29]=\"xs:positiveInteger\",Tc[30]=\"xs:nonNegativeInteger\",Tc[31]=\"xs:long\",Tc[32]=\"xs:int\",Tc[33]=\"xs:short\",Tc[34]=\"xs:byte\",Tc[35]=\"xs:unsignedInt\",Tc[36]=\"xs:unsignedLong\",Tc[37]=\"xs:unsignedByte\",Tc[38]=\"xs:unsignedShort\",Tc[39]=\"xs:error\",Tc[40]=\"xs:ENTITIES\",Tc[41]=\"xs:IDREF\",Tc[42]=\"xs:ID\",Tc[43]=\"xs:IDFREFS\",Tc[44]=\"xs:NOTATION\",Tc[45]=\"xs:anySimpleType\",Tc[46]=\"xs:anyAtomicType\",\nTc[47]=\"attribute()\",Tc[48]=\"xs:normalizedString\",Tc[49]=\"xs:NMTOKENS\",Tc[50]=\"xs:NMTOKEN\",Tc[51]=\"xs:language\",Tc[52]=\"xs:token\",Tc[53]=\"node()\",Tc[54]=\"element()\",Tc[55]=\"document-node()\",Tc[56]=\"text()\",Tc[57]=\"processing-instruction()\",Tc[58]=\"comment()\",Tc[59]=\"item()\",Tc[60]=\"function(*)\",Tc[61]=\"map(*)\",Tc[62]=\"array(*)\",Tc),Vc={\"xs:boolean\":0,\"xs:string\":1,\"xs:numeric\":2,\"xs:double\":3,\"xs:decimal\":4,\"xs:integer\":5,\"xs:float\":6,\"xs:date\":7,\"xs:time\":8,\"xs:dateTime\":9,\"xs:dateTimeStamp\":10,\n\"xs:gYearMonth\":11,\"xs:gYear\":12,\"xs:gMonthDay\":13,\"xs:gMonth\":14,\"xs:gDay\":15,\"xs:yearMonthDuration\":16,\"xs:dayTimeDuration\":17,\"xs:duration\":18,\"xs:untypedAtomic\":19,\"xs:anyURI\":20,\"xs:base64Binary\":21,\"xs:hexBinary\":22,\"xs:QName\":23,\"xs:NCName\":24,\"xs:Name\":25,\"xs:ENTITY\":26,\"xs:nonPositiveInteger\":27,\"xs:negativeInteger\":28,\"xs:positiveInteger\":29,\"xs:nonNegativeInteger\":30,\"xs:long\":31,\"xs:int\":32,\"xs:short\":33,\"xs:byte\":34,\"xs:unsignedInt\":35,\"xs:unsignedLong\":36,\"xs:unsignedByte\":37,\"xs:unsignedShort\":38,\n\"xs:error\":39,\"xs:ENTITIES\":40,\"xs:IDREF\":41,\"xs:ID\":42,\"xs:IDREFS\":43,\"xs:NOTATION\":44,\"xs:anySimpleType\":45,\"xs:anyAtomicType\":46,\"attribute()\":47,\"xs:normalizedString\":48,\"xs:NMTOKENS\":49,\"xs:NMTOKEN\":50,\"xs:language\":51,\"xs:token\":52,\"node()\":53,\"element()\":54,\"document-node()\":55,\"text()\":56,\"processing-instruction()\":57,\"comment()\":58,\"item()\":59,\"function(*)\":60,\"map(*)\":61,\"array(*)\":62};\nfunction Wc(a){return 2===a.g?Uc[a.type]+\"*\":1===a.g?Uc[a.type]+\"+\":0===a.g?Uc[a.type]+\"?\":Uc[a.type]}function Xc(a){if(!a.startsWith(\"xs:\")&&0<=a.indexOf(\":\"))throw Error(\"XPST0081: Invalid prefix for input \"+a);var c=Vc[a];if(void 0===c)throw Error('XPST0051: The type \"'+a+'\" could not be found');return c}\nfunction Yc(a){switch(a[a.length-1]){case \"*\":return{type:Xc(a.substr(0,a.length-1)),g:2};case \"?\":return{type:Xc(a.substr(0,a.length-1)),g:0};case \"+\":return{type:Xc(a.substr(0,a.length-1)),g:1};default:return{type:Xc(a),g:3}}}function Zc(a){switch(a){case \"*\":return 2;case \"?\":return 0;case \"+\":return 1;default:return 3}};function $c(a,c,e){this.namespaceURI=c||null;this.prefix=a||\"\";this.localName=e}$c.prototype.va=function(){return this.prefix?this.prefix+\":\"+this.localName:this.localName};function ad(a){var c=a.l,e=a.arity,g=void 0===a.Oa?!1:a.Oa,f=void 0===a.I?!1:a.I,m=a.localName,p=a.namespaceURI,t=a.j;a=a.value;Sc.call(this,60,null);this.value=a;this.I=f;f=-1;for(a=0;a=v||v>t.R.length)throw Error(\"FOAY0001: array position out of bounds.\");return t.R[v-1]()})})};function $d(a){ad.call(this,{value:function(e,g,f,m){return Zd(e,g,f,U.s(c),m)},localName:\"get\",namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",l:[{type:5,g:3}],arity:1,j:{type:59,g:2}});var c=this;this.type=62;this.R=a}K($d,ad);function ae(a){switch(a.node.nodeType){case 2:return 47;case 1:return 54;case 3:case 4:return 56;case 7:return 57;case 8:return 58;case 9:return 55;default:return 53}}function be(a){return{type:ae(a),value:a}};function ce(a,c){a=a.map(function(e){return e.first()});return c(a)};function de(a,c){var e=T(a.type,1)||T(a.type,20)||T(a.type,19),g=T(c.type,1)||T(c.type,20)||T(c.type,19);if(e&&g)return a.value===c.value;e=T(a.type,4)||T(a.type,3)||T(a.type,6);g=T(c.type,4)||T(c.type,3)||T(c.type,6);if(e&&g)return isNaN(a.value)&&isNaN(c.value)?!0:a.value===c.value;e=T(a.type,0)||T(a.type,22)||T(a.type,18)||T(a.type,23)||T(a.type,44);g=T(c.type,0)||T(c.type,22)||T(c.type,18)||T(c.type,23)||T(c.type,44);return e&&g?a.value===c.value:!1};function ee(a,c,e,g,f){return ce([g,f],function(m){m=H(m);var p=m.next().value,t=m.next().value;return(m=p.h.find(function(v){return de(v.key,t)}))?m.value():U.empty()})};function fe(a){ad.call(this,{l:[{type:59,g:3}],arity:1,localName:\"get\",namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",value:function(e,g,f,m){return ee(e,g,f,U.s(c),m)},j:{type:59,g:2}});var c=this;this.type=61;this.h=a}K(fe,ad);function Ce(){}function De(a,c){return a.ab()===c.ab()&&a.bb()===c.bb()}D=Ce.prototype;D.Za=function(){return 0};D.getHours=function(){return 0};D.getMinutes=function(){return 0};D.$a=function(){return 0};D.ab=function(){return 0};D.bb=function(){return 0};D.getSeconds=function(){return 0};D.cb=function(){return 0};D.oa=function(){return!0};function Ee(a){if(a>Number.MAX_SAFE_INTEGER||aNumber.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error(\"FODT0002: Value overflow while multiplying xs:dayTimeDuration\");return new Ee(aa||273860c.pa?1:-1:g>e?1:-1}function Nf(a,c,e){return 0===Mf(a,c,e)}function Of(a,c,e){a=(Kf(a,e).getTime()-Kf(c,e).getTime())/1E3;return new Ee(a)}\nfunction Pf(a){throw Error(\"Not implemented: adding durations to \"+Uc[a.type]);}function Qf(a){throw Error(\"Not implemented: subtracting durations from \"+Uc[a.type]);};function Rf(a,c){if(null===a)return null;switch(typeof a){case \"boolean\":return a?mc:nc;case \"number\":return L(a,3);case \"string\":return L(a,1);case \"object\":return\"nodeType\"in a?be({node:a,G:null}):Array.isArray(a)?new $d(a.map(function(e){if(void 0===e)return function(){return U.empty()};e=Rf(e,c);e=null===e?U.empty():U.s(e);return Rc(e)})):new fe(Object.keys(a).filter(function(e){return void 0!==a[e]}).map(function(e){var g=Rf(a[e],c);g=null===g?U.empty():U.s(g);return{key:L(e,1),value:Rc(g)}}))}throw Error(\"Value \"+\nString(a)+' of type \"'+typeof a+'\" is not adaptable to an XPath value.');}function Sf(a,c){if(\"number\"!==typeof a&&(\"string\"!==typeof a||!kc.get(c)(a)))throw Error(\"Cannot convert JavaScript value '\"+a+\"' to the XPath type \"+Uc[c]+\" since it is not valid.\");}\nfunction Tf(a,c,e){if(null===c)return null;switch(a){case 0:return c?mc:nc;case 1:return L(c+\"\",1);case 3:case 2:return Sf(c,3),L(+c,3);case 4:return Sf(c,a),L(+c,4);case 5:return Sf(c,a),L(c|0,5);case 6:return Sf(c,a),L(+c,6);case 7:case 8:case 9:case 11:case 12:case 13:case 14:case 15:if(!(c instanceof Date))throw Error(\"The JavaScript value \"+c+\" with type \"+typeof c+\" is not a valid type to be converted to an XPath \"+Uc[a]+\".\");return L(Jf(Lf(c.toISOString()),a),a);case 53:case 47:case 55:case 54:case 56:case 57:case 58:if(\"object\"!==\ntypeof c||!(\"nodeType\"in c))throw Error(\"The JavaScript value \"+c+\" with type \"+typeof c+\" is not a valid type to be converted to an XPath \"+Uc[a]+\".\");return be({node:c,G:null});case 59:return Rf(c,e);default:throw Error('Values of the type \"'+a+'\" can not be adapted to equivalent XPath values.');}}\nfunction Uf(a,c,e){if(0===e.g)return c=Tf(e.type,c,a),null===c?[]:[c];if(2===e.g||1===e.g){if(!Array.isArray(c))throw Error(\"The JavaScript value \"+c+\" should be an array if it is to be converted to \"+Wc(e)+\".\");return c.map(function(f){return Tf(e.type,f,a)}).filter(function(f){return null!==f})}var g=Tf(e.type,c,a);if(null===g)throw Error(\"The JavaScript value \"+c+\" should be a single entry if it is to be converted to \"+Wc(e)+\".\");return[g]}\nfunction Vf(a,c,e){e=void 0===e?{type:59,g:0}:e;return U.create(Uf(a,c,e))};function Wf(a,c){this.h=c=void 0===c?{xb:null,Bb:null,qb:!1}:c;this.Ga=a.Ga;this.wa=a.wa;this.O=a.O;this.ta=a.ta||Object.create(null)}function Xf(a,c){var e=0,g=c.value;return{next:function(f){f=g.next(f);return f.done?Q:S(Yf(a,e++,f.value,c))}}}function Zf(a){a.h.qb||(a.h.qb=!0,a.h.xb=Lf((new Date).toISOString()),a.h.Bb=He(\"PT0S\"));return a.h.xb}function $f(a){a.h.qb||(a.h.qb=!0,a.h.xb=Lf((new Date).toISOString()),a.h.Bb=He(\"PT0S\"));return a.h.Bb}\nfunction Yf(a,c,e,g){return new Wf({O:e,Ga:c,wa:g||a.wa,ta:a.ta},a.h)}function ag(a,c){return new Wf({O:a.O,Ga:a.Ga,wa:a.wa,ta:Object.assign(Object.create(null),a.ta,c)},a.h)};function bg(a,c,e,g,f,m){var p=new Map;this.debug=a;this.h=c;this.o=e;this.B=g;this.J=f;this.C=p;this.v=m;this.Ta=!0};function cg(a){var c=0,e=null,g=!0;return U.create({next:function(f){for(;cNumber.MAX_VALUE?{u:!1,error:Error(\"FOAR0002: Can not cast \"+c+\" to xs:decimal, it is out of bounds for JavaScript numbers\")}:{u:!0,value:L(c,4)}}:a(0)?function(c){return{u:!0,value:L(c?1:0,4)}}:a(1)||a(19)?function(c){var e=parseFloat(c);return!isNaN(e)||isFinite(e)?{u:!0,value:L(e,4)}:{u:!1,error:Error(\"FORG0001: Can not cast \"+\nc+\" to xs:decimal\")}}:function(){return{u:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:decimal or any of its derived types.\")}}};function eh(a,c){return a(2)?function(e){return{u:!0,value:e}}:a(0)?function(e){return{u:!0,value:e?1:0}}:a(1)||a(19)?function(e){switch(e){case \"NaN\":return{u:!0,value:NaN};case \"INF\":case \"+INF\":return{u:!0,value:Infinity};case \"-INF\":return{u:!0,value:-Infinity};case \"0\":case \"+0\":return{u:!0,value:0};case \"-0\":return{u:!0,value:-0}}var g=parseFloat(e);return isNaN(g)?{u:!1,error:dg(e,c)}:{u:!0,value:g}}:function(){return{u:!1,error:Error(\"XPTY0004: Casting not supported from given type to \"+c+\n\" or any of its derived types.\")}}};function fh(a){var c=eh(a,3);return function(e){e=c(e);return e.u?{u:!0,value:L(e.value,3)}:e}};function gh(a){if(a>Number.MAX_SAFE_INTEGER||aNumber.MAX_SAFE_INTEGER||!Number.isFinite(c))throw Error(\"FODT0002: Value overflow while constructing xs:yearMonthDuration\");a=new gh(a||0===c?c:-c)}else a=null;return a}\nfunction jh(a,c){if(isNaN(c))throw Error(\"FOCA0005: Cannot multiply xs:yearMonthDuration by NaN\");a=Math.round(a.ha*c);if(a>Number.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error(\"FODT0002: Value overflow while constructing xs:yearMonthDuration\");return new gh(ac?\"-\":\"\")+\"INF\"}}}return a(9)||a(7)||a(8)||a(15)||a(14)||a(13)||a(12)||a(11)?function(c){return{u:!0,value:c.toString()}}:a(16)?function(c){return{u:!0,value:c.toString()}}:a(17)?function(c){return{u:!0,value:c.toString()}}:a(18)?function(c){return{u:!0,value:c.toString()}}:a(22)?function(c){return{u:!0,value:c.toUpperCase()}}:function(c){return{u:!0,value:c+\"\"}}};function yh(a){var c=xh(a);return function(e){e=c(e);return e.u?{u:!0,value:L(e.value,1)}:e}};function zh(a){return a(9)?function(c){return{u:!0,value:L(Jf(c,8),8)}}:a(19)||a(1)?function(c){return{u:!0,value:L(Lf(c),8)}}:function(){return{u:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:time or any of its derived types.\")}}};function Ah(a){var c=xh(a);return function(e){e=c(e);return e.u?{u:!0,value:L(e.value,19)}:e}};function Bh(a){return a(18)&&!a(17)?function(c){return{u:!0,value:L(c.Sa,16)}}:a(17)?function(){return{u:!0,value:L(ih(\"P0M\"),16)}}:a(19)||a(1)?function(c){var e=ih(c);return e?{u:!0,value:L(e,16)}:{u:!1,error:dg(c,16)}}:function(){return{u:!1,error:Error(\"XPTY0004: Casting not supported from given type to xs:yearMonthDuration or any of its derived types.\")}}};var Ch=[2,5,17,16];\nfunction wh(a,c){function e(g){return T(a,g)}if(39===c)return function(){return{u:!1,error:Error(\"FORG0001: Casting to xs:error is always invalid.\")}};switch(c){case 19:return Ah(e);case 1:return yh(e);case 6:return mh(e);case 3:return fh(e);case 4:return dh(e);case 5:return th(e);case 2:return vh(a);case 18:return lh(e);case 16:return Bh(e);case 17:return ch(e);case 9:return bh(e);case 8:return zh(e);case 7:return ah(e);case 11:return rh(e);case 12:return qh(e);case 13:return ph(e);case 15:return nh(e);\ncase 14:return oh(e);case 0:return $g(e);case 21:return Zg(e);case 22:return sh(e);case 20:return Yg(e);case 23:throw Error(\"Casting to xs:QName is not implemented.\");}return function(){return{u:!1,error:Error(\"XPTY0004: Casting not supported from \"+a+\" to \"+c+\".\")}}}var Dh=Object.create(null);\nfunction Eh(a,c){if(19===a&&1===c)return function(m){return{u:!0,value:L(m,1)}};if(44===c)return function(){return{u:!1,error:Error(\"XPST0080: Casting to xs:NOTATION is not permitted.\")}};if(39===c)return function(){return{u:!1,error:Error(\"FORG0001: Casting to xs:error is not permitted.\")}};if(45===a||45===c)return function(){return{u:!1,error:Error(\"XPST0080: Casting from or to xs:anySimpleType is not permitted.\")}};if(46===a||46===c)return function(){return{u:!1,error:Error(\"XPST0080: Casting from or to xs:anyAtomicType is not permitted.\")}};\nif(T(a,60)&&1===c)return function(){return{u:!1,error:Error(\"FOTY0014: Casting from function item to xs:string is not permitted.\")}};if(a===c)return function(m){return{u:!0,value:{type:c,value:m}}};var e=Ch.includes(a)?a:Tg(a),g=Ch.includes(c)?c:Tg(c);if(null===g||null===e)return function(){return{u:!1,error:Error(\"XPST0081: Can not cast: type \"+(g?Uc[a]:Uc[c])+\" is unknown.\")}};var f=[];1!==e&&19!==e||f.push(function(m){var p=Ug(m,c);return Vg(p,c)?{u:!0,value:p}:{u:!1,error:dg(m,c,\"pattern validation failed.\")}});\ne!==g&&(f.push(wh(e,g)),f.push(function(m){return{u:!0,value:m.value}}));19!==g&&1!==g||f.push(function(m){return Vg(m,c)?{u:!0,value:m}:{u:!1,error:dg(m,c,\"pattern validation failed.\")}});f.push(function(m){return Xg(m,c)?{u:!0,value:m}:{u:!1,error:dg(m,c,\"pattern validation failed.\")}});f.push(function(m){return{u:!0,value:{type:c,value:m}}});return function(m){m={u:!0,value:m};for(var p=0,t=f.length;pg.value.node.localName?1:-1;e=Xd(c,e.value);g=Xd(c,g.value)}else e=e.value,g=g.value;return Nh(a,c,e,g)}function Ph(a,c,e){return Oh(a.o,a,c,e)}\nfunction Qh(a,c){return Rh(c,function(e,g){return Oh(a.o,a,e,g)}).filter(function(e,g,f){return 0===g?!0:!Jh(e.value,f[g-1].value)})}function Sh(a,c){return a=a.length)return a;var e=Math.floor(a.length/2),g=Rh(a.slice(0,e),c);a=Rh(a.slice(e),c);for(e=[];g.length&&a.length;)0>c(g[0],a[0])?e.push(g.shift()):e.push(a.shift());return e.concat(g.concat(a))};var Th=xspattern;function Uh(a,c){if(T(a.type,2)){if(T(a.type,6))return 3===c?L(a.value,3):null;if(T(a.type,4)){if(6===c)return L(a.value,6);if(3===c)return L(a.value,3)}return null}return T(a.type,20)&&1===c?L(a.value,1):null};function Vh(a,c,e,g,f){if(T(a.type,c.type))return a;T(c.type,46)&&T(a.type,53)&&(a=Rg(a,e).first());if(T(a.type,c.type)||46===c.type)return a;if(T(a.type,19)){e=Gh(a,c.type);if(!e)throw Error(\"XPTY0004 Unable to convert \"+(f?\"return\":\"argument\")+\" of type \"+Uc[a.type]+\" to type \"+Wc(c)+\" while calling \"+g);return e}e=Uh(a,c.type);if(!e)throw Error(\"XPTY0004 Unable to cast \"+(f?\"return\":\"argument\")+\" of type \"+Uc[a.type]+\" to type \"+Wc(c)+\" while calling \"+g);return e}\nfunction Wh(a,c,e,g,f){return 0===a.g?c.aa({default:function(){return c.map(function(m){return Vh(m,a,e,g,f)})},multiple:function(){throw Error(\"XPTY0004: Multiplicity of \"+(f?\"function return value\":\"function argument\")+\" of type \"+Uc[a.type]+(a.type||\"\")+\" for \"+g+' is incorrect. Expected \"?\", but got \"+\".');}}):1===a.g?c.aa({empty:function(){throw Error(\"XPTY0004: Multiplicity of \"+(f?\"function return value\":\"function argument\")+\" of type \"+Uc[a.type]+(a.type||\"\")+\" for \"+g+' is incorrect. Expected \"+\", but got \"empty-sequence()\"');\n},default:function(){return c.map(function(m){return Vh(m,a,e,g,f)})}}):2===a.g?c.map(function(m){return Vh(m,a,e,g,f)}):c.aa({s:function(){return c.map(function(m){return Vh(m,a,e,g,f)})},default:function(){throw Error(\"XPTY0004: Multiplicity of \"+(f?\"function return value\":\"function argument\")+\" of type \"+Uc[a.type]+(a.type||\"\")+\" for \"+g+\" is incorrect. Expected exactly one\");}})};function bj(a,c){return T(a,5)?L(c,5):T(a,6)?L(c,6):T(a,3)?L(c,3):L(c,4)}function cj(a){if(Math.floor(a)===a||isNaN(a))return 0;a=/\\d+(?:\\.(\\d*))?(?:[Ee](-)?(\\d+))*/.exec(a+\"\");var c=a[1]?a[1].length:0;if(a[3]){if(a[2])return c+parseInt(a[3],10);a=c-parseInt(a[3],10);return 0>a?0:a}return c}function dj(a,c,e){return c&&0===a*e%1%.5?0===Math.floor(a*e)%2?Math.floor(a*e)/e:Math.ceil(a*e)/e:Math.round(a*e)/e}\nfunction ej(a,c,e,g,f,m){var p=!1;return U.create({next:function(){if(p)return Q;var t=f.first();if(!t)return p=!0,Q;if((T(t.type,6)||T(t.type,3))&&(0===t.value||isNaN(t.value)||Infinity===t.value||-Infinity===t.value))return p=!0,S(t);var v;m?v=m.first().value:v=0;p=!0;if(cj(t.value)f?U.s(L(1,5)):a=m||57344<=m&&65533>=m||65536<=\nm&&1114111>=m)return String.fromCodePoint(m);throw Error(\"FOCH0001\");}).join(\"\");return U.s(L(f,1))})},localName:\"codepoints-to-string\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:1,g:3}},{l:[{type:1,g:0}],m:function(a,c,e,g){return ce([g],function(f){f=(f=H(f).next().value)?f.value.split(\"\"):[];return 0===f.length?U.empty():U.create(f.map(function(m){return L(m.codePointAt(0),5)}))})},localName:\"string-to-codepoints\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:5,\ng:2}},{l:[{type:1,g:0}],m:function(a,c,e,g){return ce([g],function(f){f=H(f).next().value;return null===f||0===f.value.length?U.create(L(\"\",1)):U.create(L(encodeURIComponent(f.value).replace(/[!'()*]/g,function(m){return\"%\"+m.charCodeAt(0).toString(16).toUpperCase()}),1))})},localName:\"encode-for-uri\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:1,g:3}},{l:[{type:1,g:0}],m:function(a,c,e,g){return ce([g],function(f){f=H(f).next().value;return null===f||0===f.value.length?U.create(L(\"\",\n1)):U.create(L(f.value.replace(/([\\u00A0-\\uD7FF\\uE000-\\uFDCF\\uFDF0-\\uFFEF \"<>{}|\\\\^`/\\n\\u007f\\u0080-\\u009f]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g,function(m){return encodeURI(m)}),1))})},localName:\"iri-to-uri\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:1,g:3}},{l:[{type:1,g:0},{type:1,g:0}],m:function(a,c,e,g,f){return ce([g,f],function(m){var p=H(m);m=p.next().value;p=p.next().value;if(null===m||null===p)return U.empty();m=m.value;p=p.value;if(m.length!==p.length)return U.U();m=m.split(\"\");\np=p.split(\"\");for(var t=0;tE.node.nodeName?1:-1}).map(function(A){return be(A)});f=vd(c.h,f.value).filter(function(A){return\"http://www.w3.org/2000/xmlns/\"!==A.node.namespaceURI}).sort(function(A,E){return A.node.nodeName>E.node.nodeName?1:-1}).map(function(A){return be(A)});var t=Jj(a,c,e,U.create(g),\nU.create(f)),v=!1;return{next:function(){if(v)return Q;var A=m.next(0);if(!A.done&&!1===A.value)return v=!0,A;A=t.next(0);if(!A.done&&!1===A.value)return v=!0,A;A=p.next(0);v=!0;return A}}}function Pj(a,c,e,g,f){var m=Jj(a,c,e,uj(a,c,e,U.s(g)),uj(a,c,e,U.s(f))),p=!1;return{next:function(){if(p)return Q;var t=m.next(0);return t.done||!1!==t.value?S(Gj(Rg(g,c).first(),Rg(f,c).first())):(p=!0,t)}}}\nfunction Kj(a,c,e,g,f){if(T(g.type,46)&&T(f.type,46))return Hh(Gj(g,f));if(T(g.type,61)&&T(f.type,61))return Lj(a,c,e,g,f);if(T(g.type,62)&&T(f.type,62))return Mj(a,c,e,g,f);if(T(g.type,53)&&T(f.type,53)){if(T(g.type,55)&&T(f.type,55))return Nj(a,c,e,g,f);if(T(g.type,54)&&T(f.type,54))return Oj(a,c,e,g,f);if(T(g.type,47)&&T(f.type,47)||T(g.type,57)&&T(f.type,57)||T(g.type,58)&&T(f.type,58))return Pj(a,c,e,g,f)}return Hh(!1)};function Qj(a){return Error(\"XUST0001: \"+(void 0===a?\"Can not execute an updating expression in a non-updating context.\":a))}function Rj(a){return Error(\"XUTY0004: The attribute \"+a.name+'=\"'+a.value+'\" follows a node that is not an attribute node.')}function Sj(){return Error(\"XUTY0005: The target of a insert expression with into must be a single element or document node.\")}\nfunction Tj(){return Error(\"XUTY0006: The target of a insert expression with before or after must be a single element, text, comment, or processing instruction node.\")}function Uj(){return Error(\"XUTY0008: The target of a replace expression must be a single element, attribute, text, comment, or processing instruction node.\")}function Vj(){return Error(\"XUTY0012: The target of a rename expression must be a single element, attribute, or processing instruction node.\")}\nfunction Wj(a){return Error(\"XUDY0017: The target \"+a.outerHTML+\" is used in more than one replace value of expression.\")}function Xj(a){return Error(\"XUDY0021: Applying the updates will result in the XDM instance violating constraint: '\"+a+\"'\")}function Yj(a){return Error(\"XUDY0023: The namespace binding \"+a+\" is conflicting.\")}function Zj(a){return Error(\"XUDY0024: The namespace binding \"+a+\" is conflicting.\")}\nfunction ak(){return Error(\"XUDY0027: The target for an insert, replace, or rename expression expression should not be empty.\")};function V(a,c,e,g,f){e=void 0===e?{A:!1,Z:!1,T:\"unsorted\",subtree:!1}:e;this.K=a;this.B=e.T||\"unsorted\";this.subtree=!!e.subtree;this.Z=!!e.Z;this.A=!!e.A;this.J=c;this.I=!1;this.Ya=null;this.wb=void 0===g?!1:g;this.type=f}function bk(a,c,e){c&&null!==c.O?a.A?(null===a.Ya&&(a.Ya=Rc(a.evaluate(null,e).pb())),a=a.Ya()):a=a.evaluate(c,e):a=a.evaluate(c,e);return a}V.prototype.Y=function(){return null};\nV.prototype.P=function(a){this.J.forEach(function(c){return c.P(a)});if(!this.wb&&this.J.some(function(c){return c.I}))throw Qj();};function ck(a,c){this.H=a;this.fa=c};function dk(a){a&&\"nodeType\"in a&&(a=a.ownerDocument||a,\"function\"===typeof a.createElementNS&&\"function\"===typeof a.createProcessingInstruction&&\"function\"===typeof a.createTextNode&&\"function\"===typeof a.createComment&&(this.h=a));this.h||(this.h=null)}D=dk.prototype;D.createAttributeNS=function(a,c){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createAttributeNS(a,c)};\nD.createCDATASection=function(a){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createCDATASection(a)};D.createComment=function(a){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createComment(a)};D.createDocument=function(){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.implementation.createDocument(null,null,null)};\nD.createElementNS=function(a,c){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createElementNS(a,c)};D.createProcessingInstruction=function(a,c){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createProcessingInstruction(a,c)};D.createTextNode=function(a){if(!this.h)throw Error(\"Please pass a node factory if an XQuery script uses node constructors\");return this.h.createTextNode(a)};function ek(a,c,e,g){var f=Xd(e,a).node,m=(a=Bd(e,a))?a.node:null;c.forEach(function(p){g.insertBefore(f,p.node,m)})}function fk(a,c,e,g){var f=Xd(e,a).node;c.forEach(function(m){g.insertBefore(f,m.node,a.node)})}function gk(a,c,e,g){var f=(e=zd(e,a))?e.node:null;c.forEach(function(m){g.insertBefore(a.node,m.node,f)})}function hk(a,c,e){c.forEach(function(g){e.insertBefore(a.node,g.node,null)})}\nfunction ik(a,c,e,g){c.forEach(function(f){var m=f.node.nodeName;if(wd(e,a,m))throw Xj(\"An attribute \"+m+\" already exists.\");g.setAttributeNS(a.node,f.node.namespaceURI,m,yd(e,f))})}\nfunction jk(a,c,e,g,f){g||(g=new dk(a?a.node:null));switch(a.node.nodeType){case 1:var m=e.getAllAttributes(a.node),p=e.getChildNodes(a.node),t=g.createElementNS(c.namespaceURI,c.va());var v={node:t,G:null};m.forEach(function(A){f.setAttributeNS(t,A.namespaceURI,A.nodeName,A.value)});p.forEach(function(A){f.insertBefore(t,A,null)});break;case 2:c=g.createAttributeNS(c.namespaceURI,c.va());c.value=yd(e,a);v={node:c,G:null};break;case 7:v={node:g.createProcessingInstruction(c.va(),yd(e,a)),G:null}}if(!Xd(e,\na))throw Error(\"Not supported: renaming detached nodes.\");kk(a,[v],e,f)}function lk(a,c,e,g){e.getChildNodes(a.node).forEach(function(f){return g.removeChild(a.node,f)});c&&g.insertBefore(a.node,c.node,null)}\nfunction kk(a,c,e,g){var f=Xd(e,a),m=a.node.nodeType;if(2===m){if(c.some(function(v){return 2!==v.node.nodeType}))throw Error('Constraint \"If $target is an attribute node, $replacement must consist of zero or more attribute nodes.\" failed.');var p=f?f.node:null;g.removeAttributeNS(p,a.node.namespaceURI,a.node.nodeName);c.forEach(function(v){var A=v.node.nodeName;if(wd(e,f,A))throw Xj(\"An attribute \"+A+\" already exists.\");g.setAttributeNS(p,v.node.namespaceURI,A,yd(e,v))})}if(1===m||3===m||8===m||\n7===m){var t=(m=Bd(e,a))?m.node:null;g.removeChild(f.node,a.node);c.forEach(function(v){g.insertBefore(f.node,v.node,t)})}};function mk(a,c,e,g){nk(a,c);a.filter(function(f){return-1!==[\"insertInto\",\"insertAttributes\",\"replaceValue\",\"rename\"].indexOf(f.type)}).forEach(function(f){switch(f.type){case \"insertInto\":hk(f.target,f.content,g);break;case \"insertAttributes\":ik(f.target,f.content,c,g);break;case \"rename\":jk(f.target,f.o,c,e,g);break;case \"replaceValue\":var m=f.target;f=f.o;if(2===m.node.nodeType){var p=Xd(c,m);p?g.setAttributeNS(p.node,m.node.namespaceURI,m.node.nodeName,f):m.node.value=f}else g.setData(m.node,\nf)}});a.filter(function(f){return-1!==[\"insertBefore\",\"insertAfter\",\"insertIntoAsFirst\",\"insertIntoAsLast\"].indexOf(f.type)}).forEach(function(f){switch(f.type){case \"insertAfter\":ek(f.target,f.content,c,g);break;case \"insertBefore\":fk(f.target,f.content,c,g);break;case \"insertIntoAsFirst\":gk(f.target,f.content,c,g);break;case \"insertIntoAsLast\":hk(f.target,f.content,g)}});a.filter(function(f){return\"replaceNode\"===f.type}).forEach(function(f){kk(f.target,f.o,c,g)});a.filter(function(f){return\"replaceElementContent\"===\nf.type}).forEach(function(f){lk(f.target,f.text,c,g)});a.filter(function(f){return\"delete\"===f.type}).forEach(function(f){f=f.target;var m=Xd(c,f);(m=m?m.node:null)&&(2===f.node.nodeType?g.removeAttributeNS(m,f.node.namespaceURI,f.node.nodeName):g.removeChild(m,f.node))});if(a.some(function(f){return\"put\"===f.type}))throw Error('Not implemented: the execution for pendingUpdate \"put\" is not yet implemented.');}\nfunction nk(a,c){function e(m){return new $c(m.node.prefix,m.node.namespaceURI,m.node.localName)}function g(m,p){var t=new Set;a.filter(function(v){return v.type===m}).map(function(v){return v.target}).forEach(function(v){v=v?v.node:null;t.has(v)&&p(v);t.add(v)})}g(\"rename\",function(m){throw Error(\"XUDY0015: The target \"+m.outerHTML+\" is used in more than one rename expression.\");});g(\"replaceNode\",function(m){throw Error(\"XUDY0016: The target \"+m.outerHTML+\" is used in more than one replace expression.\");\n});g(\"replaceValue\",function(m){throw Wj(m);});g(\"replaceElementContent\",function(m){throw Wj(m);});var f=new Map;a.filter(function(m){return\"replaceNode\"===m.type&&2===m.target.node.nodeType}).forEach(function(m){var p=Xd(c,m.target);p=p?p.node:null;var t=f.get(p);t?t.push.apply(t,ia(m.o.map(e))):f.set(p,m.o.map(e))});a.filter(function(m){return\"rename\"===m.type&&2===m.target.node.nodeType}).forEach(function(m){var p=Xd(c,m.target);if(p){p=p.node;var t=f.get(p);t?t.push(m.o):f.set(p,[m.o])}});f.forEach(function(m){var p=\n{};m.forEach(function(t){p[t.prefix]||(p[t.prefix]=t.namespaceURI);if(p[t.prefix]!==t.namespaceURI)throw Zj(t.namespaceURI);})})}function ok(a,c){for(var e=[],g=1;ga.h[e])return-1}return 0};function yk(){return eg(\"Expected base expression of a function call to evaluate to a sequence of single function item\")}function zk(a,c,e,g){for(var f=[],m=0;mp.R.length||0>=v)throw Error(\"FOAY0001: subarray start out of bounds.\");if(0>t)throw Error(\"FOAY0002: subarray length out of bounds.\");if(v+t>p.R.length+1)throw Error(\"FOAY0001: subarray start + length out of bounds.\");return U.s(new $d(p.R.slice(v-1,t+v-1)))})}\nfunction Gl(a,c,e,g,f){return ce([g],function(m){var p=H(m).next().value;return f.M(function(t){t=t.map(function(M){return M.value}).sort(function(M,O){return O-M}).filter(function(M,O,R){return R[O-1]!==M});for(var v=p.R.concat(),A=0,E=t.length;Ap.R.length||0>=I)throw Error(\"FOAY0001: subarray position out of bounds.\");v.splice(I-1,1)}return U.s(new $d(v))})})}function Hl(a){return T(a,1)||T(a,20)||T(a,19)}\nfunction Il(a,c,e,g,f){return 0===g.length?0!==f.length:0!==f.length&&Kj(a,c,e,g[0],f[0]).next(0).value?Il(a,c,e,g.slice(1),f.slice(1)):g[0].value!==g[0].value?!0:Hl(g[0].type)&&0!==f.length&&Hl(f[0].type)?g[0].value=p||p>t.R.length)throw Error(\"FOAY0001: array position out of bounds.\");t=t.R.concat();t.splice(p-1,1,Rc(m));return U.s(new $d(t))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"append\",l:[{type:62,g:3},{type:59,g:2}],j:{type:62,g:3},m:function(a,c,e,g,f){return ce([g],function(m){m=H(m).next().value.R.concat([Rc(f)]);return U.s(new $d(m))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"subarray\",l:[{type:62,g:3},{type:5,g:3},{type:5,g:3}],j:{type:62,g:3},m:Fl},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"subarray\",l:[{type:62,g:3},{type:5,g:3}],j:{type:62,g:3},m:function(a,c,e,g,f){var m=U.s(L(g.first().value.length-f.first().value+1,5));return Fl(a,c,e,g,f,m)}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"remove\",l:[{type:62,g:3},{type:5,g:2}],j:{type:62,g:3},m:Gl},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"insert-before\",l:[{type:62,g:3},{type:5,g:3},{type:59,g:2}],j:{type:62,g:3},m:function(a,c,e,g,f,m){return ce([g,f],function(p){var t=H(p);p=t.next().value;t=t.next().value.value;if(t>p.R.length+1||0>=t)throw Error(\"FOAY0001: subarray position out of bounds.\");p=p.R.concat();p.splice(t-1,0,Rc(m));return U.s(new $d(p))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"head\",l:[{type:62,g:3}],j:{type:59,g:2},m:function(a,c,e,g){return Zd(a,c,e,g,U.s(L(1,5)))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"tail\",l:[{type:62,g:3}],j:{type:59,g:2},m:function(a,c,e,g){return Gl(a,c,e,g,U.s(L(1,5)))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"reverse\",l:[{type:62,g:3}],j:{type:62,g:3},m:function(a,c,e,g){return ce([g],function(f){f=H(f).next().value;return U.s(new $d(f.R.concat().reverse()))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"join\",l:[{type:62,g:2}],j:{type:62,g:3},m:function(a,c,e,g){return g.M(function(f){f=f.reduce(function(m,\np){return m.concat(p.R)},[]);return U.s(new $d(f))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",localName:\"for-each\",l:[{type:62,g:3},{type:60,g:3}],j:{type:62,g:3},m:function(a,c,e,g,f){return ce([g,f],function(m){m=H(m);var p=m.next().value,t=m.next().value;if(1!==t.B)throw eg(\"The callback passed into array:for-each has a wrong arity.\");m=p.R.map(function(v){return Rc(t.value.call(void 0,a,c,e,zk(t.o,[v()],c,\"array:for-each\")[0]))});return U.s(new $d(m))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/array\",\nlocalName:\"filter\",l:[{type:62,g:3},{type:60,g:3}],j:{type:62,g:3},m:function(a,c,e,g,f){return ce([g,f],function(m){m=H(m);var p=m.next().value,t=m.next().value;if(1!==t.B)throw eg(\"The callback passed into array:filter has a wrong arity.\");var v=p.R.map(function(I){I=zk(t.o,[I()],c,\"array:filter\")[0];var M=t.value;return M(a,c,e,I)}),A=[],E=!1;return U.create({next:function(){if(E)return Q;for(var I=0,M=p.R.length;I=e.start.line&&t<=e.end.line){var v=te.start.line?p.length:e.start.da-1+p.length;f.push(Array(p.length+m.length).fill(\" \",0,\nt).fill(\"^\",t,v).join(\"\"))}return f},[]);c=am(c).join(\"\\n\");throw new Yl(a.join(\"\\n\")+\"\\n\\n\"+c,e);};function W(a,c){\"*\"===c||Array.isArray(c)||(c=[c]);for(var e=1;ea.length?\"\":\"object\"===typeof a[1]?a[2]||\"\":a[1]||\"\"}function cm(a,c){if(!Array.isArray(a))return null;a=a[1];return\"object\"!==typeof a||Array.isArray(a)?null:c in a?a[c]:null}function dm(a,c){return c.reduce(W,a)}\nfunction em(a,c){for(var e=[],g=1;g:\"+a.location.start.line+\":\"+a.location.start.da+\" - \"+a.location.end.line+\":\"+a.location.end.da);return c};function Gm(a,c,e){sk.call(this,e.K,[e],{A:e.A,Z:e.Z,T:e.B,subtree:e.subtree});this.h=c;this.C={end:{da:a.end.da,line:a.end.line,offset:a.end.offset},start:{da:a.start.da,line:a.start.line,offset:a.start.offset}}}K(Gm,sk);Gm.prototype.v=function(a,c,e){var g=this;c=H(e).next().value;try{var f=c(a)}catch(m){throw new Fm(this.C,this.h,m);}return U.create({next:function(m){try{return f.value.next(m)}catch(p){throw new Fm(g.C,g.h,p);}}})};\nGm.prototype.P=function(a){try{sk.prototype.P.call(this,a)}catch(c){throw new Fm(this.C,this.h,c);}};function Hm(a,c,e,g){V.call(this,a,c,e,!0);this.h=g;this.I=this.h.I}K(Hm,V);function Im(a,c,e,g){var f=[],m=a.C(c,e,g,function(t){if(a.h instanceof Hm){var v=Im(a.h,c,t,g);return rk(v,function(E){return f=E})}var A=null;return U.create({next:function(){for(;;){if(!A){var E=t.next(0);if(E.done)return Q;E=a.h.o(E.value,g);A=rk(E,function(I){return f=ok(f,I)}).value}E=A.next(0);if(E.done)A=null;else return E}}})}),p=!1;return{next:function(){if(p)return Q;var t=m.S();p=!0;return S(new ck(t,f))}}}\nHm.prototype.evaluate=function(a,c){var e=this;return this.C(a,Hh(a),c,function(g){if(e.h instanceof Hm)return Jm(e.h,a,g,c);var f=null;return U.create({next:function(m){for(;;){if(!f){var p=g.next(0);if(p.done)return Q;f=bk(e.h,p.value,c).value}p=f.next(m);if(p.done)f=null;else return p}}})})};Hm.prototype.o=function(a,c){return Im(this,a,Hh(a),c)};\nHm.prototype.P=function(a){V.prototype.P.call(this,a);this.I=this.h.I;a=H(this.J);for(var c=a.next();!c.done;c=a.next())if(c=c.value,c!==this.h&&c.I)throw Qj();};function Jm(a,c,e,g){return a.C(c,e,g,function(f){if(a.h instanceof Hm)return Jm(a.h,c,f,g);var m=null;return U.create({next:function(){for(;;){if(!m){var p=f.next(0);if(p.done)return Q;m=bk(a.h,p.value,g).value}p=m.next(0);if(p.done)m=null;else return p}}})})};function Km(a,c,e,g){Hm.call(this,c.K.add(g.K),[c,g],{A:!1},g);this.N=a.prefix;this.ka=a.namespaceURI;this.vb=a.localName;this.mb=null;this.v=e;this.ua=null;this.na=c}K(Km,Hm);\nKm.prototype.C=function(a,c,e,g){var f=this,m=null,p=null,t=0;return g({next:function(){for(var v={};;){if(!m){var A=c.next(0);if(A.done)return Q;p=A.value;t=0;m=bk(f.na,p,e).value}v.hb=m.next(0);if(v.hb.done)m=null;else return t++,A={},v=(A[f.mb]=function(E){return function(){return U.s(E.hb.value)}}(v),A),f.ua&&(v[f.ua]=function(){return U.s(new Sc(5,t))}),S(ag(p,v));v={hb:v.hb}}}})};\nKm.prototype.P=function(a){if(this.N&&(this.ka=a.ga(this.N),!this.ka&&this.N))throw Error(\"XPST0081: Could not resolve namespace for prefix \"+this.N+\" in a for expression\");this.na.P(a);Lm(a);this.mb=Mm(a,this.ka,this.vb);if(this.v){if(this.v.prefix&&(this.v.namespaceURI=a.ga(this.v.prefix),!this.v.namespaceURI&&this.v.prefix))throw Error(\"XPST0081: Could not resolve namespace for prefix \"+this.N+\" in the positionalVariableBinding in a for expression\");this.ua=Mm(a,this.v.namespaceURI,this.v.localName)}this.h.P(a);\nNm(a);if(this.na.I)throw Qj();this.h.I&&(this.I=!0)};function Om(a,c,e){var g={};V.call(this,new wk((g.external=1,g)),[e],{A:!1,T:\"unsorted\"});this.N=a.map(function(f){return f.name});this.v=a.map(function(f){return f.type});this.o=null;this.C=c;this.h=e}K(Om,V);\nOm.prototype.evaluate=function(a,c){var e=this,g=new ad({l:this.v,arity:this.v.length,Oa:!0,I:this.h.I,localName:\"dynamic-function\",namespaceURI:\"\",j:this.C,value:function(f,m,p,t){for(var v=[],A=3;ANumber.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error(\"FODT0002: Value overflow while dividing xs:yearMonthDuration\");return new gh(aNumber.MAX_SAFE_INTEGER||!Number.isFinite(a))throw Error(\"FODT0002: Value overflow while dividing xs:dayTimeDuration\");return new Ee(ae.X.value};case \"geOp\":return function(e,g){e=c(e,g);return e.W.value>=e.X.value}}}\nfunction qn(a,c){switch(a){case \"ltOp\":return function(e,g){e=c(e,g);return e.W.value.hae.X.value.ha};case \"geOp\":return function(e,g){g=c(e,g);e=g.W;g=g.X;return De(e.value,g.value)||e.value.ha>g.value.ha}}}\nfunction rn(a,c){switch(a){case \"eqOp\":return function(e,g){e=c(e,g);return De(e.W.value,e.X.value)};case \"ltOp\":return function(e,g){e=c(e,g);return e.W.value.eae.X.value.ea};case \"geOp\":return function(e,g){g=c(e,g);e=g.W;g=g.X;return De(e.value,g.value)||e.value.ea>g.value.ea}}}\nfunction sn(a,c){switch(a){case \"eqOp\":return function(e,g){e=c(e,g);return De(e.W.value,e.X.value)};case \"neOp\":return function(e,g){e=c(e,g);return!De(e.W.value,e.X.value)}}}\nfunction tn(a,c){switch(a){case \"eqOp\":return function(e,g,f){e=c(e,g);return Nf(e.W.value,e.X.value,$f(f))};case \"neOp\":return function(e,g,f){e=c(e,g);return!Nf(e.W.value,e.X.value,$f(f))};case \"ltOp\":return function(e,g,f){e=c(e,g);f=$f(f);return 0>Mf(e.W.value,e.X.value,f)};case \"leOp\":return function(e,g,f){g=c(e,g);e=g.W;g=g.X;var m;(m=Nf(e.value,g.value,$f(f)))||(f=$f(f),m=0>Mf(e.value,g.value,f));return m};case \"gtOp\":return function(e,g,f){e=c(e,g);f=$f(f);return 0Ph(c,f.first(),m.first())}:void 0;case \"nodeAfterOp\":return c?function(f,m){return 0Ph(c.h,p,t)){if(E=S(p),p=null,\"exceptOp\"===e.h)return E}else t=null}if(\"exceptOp\"===\ne.h)return null!==p?(E=S(p),p=null,E):f.next(0);v=!0;return Q}})};function Ln(a,c){sk.call(this,a.reduce(function(e,g){return e.add(g.K)},new wk({})),a,{T:\"unsorted\",A:a.every(function(e){return e.A})},c)}K(Ln,sk);Ln.prototype.v=function(a,c,e){return e.length?cg(e.map(function(g){return g(a)})):U.empty()};function Mn(a,c,e){V.call(this,(new wk({})).add(a.K),[a,c],{A:a.A&&c.A},!1,e);this.h=a;this.o=c}K(Mn,V);Mn.prototype.evaluate=function(a,c){var e=this,g=bk(this.h,a,c),f=Xf(a,g),m=null,p=null,t=!1;return U.create({next:function(v){for(;!t;){if(!m&&(m=f.next(v),m.done))return t=!0,Q;p||(p=bk(e.o,m.value,c));var A=p.value.next(v);if(A.done)m=p=null;else return A}}})};function Nn(a,c,e){V.call(this,a.K,[a],{A:!1});this.h=Xc(c.prefix?c.prefix+\":\"+c.localName:c.localName);if(46===this.h||45===this.h||44===this.h)throw Error(\"XPST0080: Casting to xs:anyAtomicType, xs:anySimpleType or xs:NOTATION is not permitted.\");if(c.namespaceURI)throw Error(\"Not implemented: castable as expressions with a namespace URI.\");this.v=a;this.o=e}K(Nn,V);\nNn.prototype.evaluate=function(a,c){var e=this,g=Sg(bk(this.v,a,c),c);return g.aa({empty:function(){return e.o?U.$():U.U()},s:function(){return g.map(function(f){return Fh(f,e.h).u?mc:nc})},multiple:function(){return U.U()}})};function On(a,c,e){V.call(this,a.K,[a],{A:!1});this.h=Xc(c.prefix?c.prefix+\":\"+c.localName:c.localName);if(46===this.h||45===this.h||44===this.h)throw Error(\"XPST0080: Casting to xs:anyAtomicType, xs:anySimpleType or xs:NOTATION is not permitted.\");if(c.namespaceURI)throw Error(\"Not implemented: casting expressions with a namespace URI.\");this.v=a;this.o=e}K(On,V);\nOn.prototype.evaluate=function(a,c){var e=this,g=Sg(bk(this.v,a,c),c);return g.aa({empty:function(){if(!e.o)throw Error(\"XPTY0004: Sequence to cast is empty while target type is singleton.\");return U.empty()},s:function(){return g.map(function(f){return Gh(f,e.h)})},multiple:function(){throw Error(\"XPTY0004: Sequence to cast is not singleton or empty.\");}})};function Pn(a,c){var e=a.value,g=null,f=!1;return U.create({next:function(){for(;!f;){if(!g){var m=e.next(0);if(m.done)return f=!0,S(mc);g=c(m.value)}m=g.getEffectiveBooleanValue();g=null;if(!1===m)return f=!0,S(nc)}return Q}})};function Qn(a,c,e,g){V.call(this,a.K,[a],{A:!1},!1,g);this.v=a;this.o=c;this.h=e}K(Qn,V);Qn.prototype.evaluate=function(a,c){var e=this,g=bk(this.v,a,c);return g.aa({empty:function(){return\"?\"===e.h||\"*\"===e.h?U.$():U.U()},multiple:function(){return\"+\"===e.h||\"*\"===e.h?Pn(g,function(f){var m=U.s(f);f=Yf(a,0,f,m);return bk(e.o,f,c)}):U.U()},s:function(){return Pn(g,function(f){var m=U.s(f);f=Yf(a,0,f,m);return bk(e.o,f,c)})}})};function Rn(a,c){return null!==a&&null!==c&&T(a.type,53)&&T(c.type,53)?Jh(a.value,c.value):!1}function Sn(a){var c=a.next(0);if(c.done)return U.empty();var e=null,g=null;return U.create({next:function(f){if(c.done)return Q;e||(e=c.value.value);do{var m=e.next(f);if(m.done){c=a.next(0);if(c.done)return m;e=c.value.value}}while(m.done||Rn(m.value,g));g=m.value;return m}})}\nfunction Tn(a,c){var e=[];(function(){for(var p=c.next(0),t={};!p.done;)t.jb=p.value.value,p={current:t.jb.next(0),next:function(v){return function(A){return v.jb.next(A)}}(t)},p.current.done||e.push(p),p=c.next(0),t={jb:t.jb}})();var g=null,f=!1,m={};return U.create((m[Symbol.iterator]=function(){return this},m.next=function(){f||(f=!0,e.every(function(M){return T(M.current.value.type,53)})&&e.sort(function(M,O){return Ph(a,M.current.value,O.current.value)}));do{if(!e.length)return Q;var p=e.shift();\nvar t=p.current;p.current=p.next(0);if(!T(t.value.type,53))return t;if(!p.current.done){for(var v=0,A=e.length-1,E=0;v<=A;){E=Math.floor((v+A)/2);var I=Ph(a,p.current.value,e[E].current.value);if(0===I){v=E;break}0=e.h.length?Q:S(bk(e.h[g++],a,c))}}).map(function(f){if(!T(f.type,53))throw Error(\"XPTY0004: The sequences to union are not of type node()*\");return f})}return cg(this.h.map(function(f){return bk(f,a,c)})).M(function(f){if(f.some(function(m){return!T(m.type,53)}))throw Error(\"XPTY0004: The sequences to union are not of type node()*\");f=Qh(c.h,f);return U.create(f)})};function Vn(a){return a.every(function(c){return null===c||T(c.type,5)||T(c.type,4)})||null!==a.map(function(c){return c?Tg(c.type):null}).reduce(function(c,e){return null===e?c:e===c?c:null})?a:a.every(function(c){return null===c||T(c.type,1)||T(c.type,20)})?a.map(function(c){return c?Gh(c,1):null}):a.every(function(c){return null===c||T(c.type,4)||T(c.type,6)})?a.map(function(c){return c?Gh(c,6):c}):a.every(function(c){return null===c||T(c.type,4)||T(c.type,6)||T(c.type,3)})?a.map(function(c){return c?\nGh(c,3):c}):null};function Wn(a){return Error(\"XPTY0004: \"+a)}function Xn(a,c){a=2===a.node.nodeType?a.node.nodeName+'=\"'+yd(c,a)+'\"':a.node.outerHTML;return Error(\"XQTY0024: The node \"+a+\" follows a node that is not an attribute node or a namespace node.\")}function Yn(){return Error(\"XQST0045: Functions and variables may not be declared in one of the reserved namespace URIs.\")}function Zn(){return Error(\"XQST0060: Functions declared in a module or as an external function must reside in a namespace.\")}\nfunction $n(){return Error(\"XQST0070: The prefixes xml and xmlns may not be used in a namespace declaration or be bound to another namespaceURI.\")}function ao(a){return Error('XQDY0074: The value \"'+a+'\" of a name expressions cannot be converted to an expanded QName.')}function bo(a){return Error('XPST0081: The prefix \"'+a+'\" could not be resolved')};function co(a){return(a=a.find(function(c){return!!c}))?Tg(a.type):null}function eo(a,c){var e=new wk({});Hm.call(this,e,[c].concat(ia(a.map(function(g){return g.ia}))),{A:!1,Z:!1,T:\"unsorted\",subtree:!1},c);this.v=a}K(eo,Hm);\neo.prototype.C=function(a,c,e,g){if(this.v[1])throw Error(\"More than one order spec is not supported for the order by clause.\");var f=[],m=!1,p,t,v=null,A=this.v[0];return U.create({next:function(){if(!m){for(var E=c.next(0);!E.done;)f.push(E.value),E=c.next(0);E=f.map(function(xa){return A.ia.evaluate(xa,e)}).map(function(xa){return Sg(xa,e)});if(E.find(function(xa){return!xa.F()&&!xa.za()}))throw Wn(\"Order by only accepts empty or singleton sequences\");p=E.map(function(xa){return xa.first()});p=\np.map(function(xa){return null===xa?xa:T(19,xa.type)?Gh(xa,1):xa});if(co(p)&&(p=Vn(p),!p))throw Wn(\"Could not cast values\");E=p.length;t=p.map(function(xa,x){return x});for(var I=0;I=p.length?Q:S(f[t[Ba++]]):0>Ba?Q:S(f[t[Ba--]])}}).value;m=!0}return v.next(0)}})};function fo(a){V.call(this,a?a.K:new wk({}),a?[a]:[],{T:\"sorted\",subtree:!1,Z:!1,A:!1});this.h=a}K(fo,V);fo.prototype.evaluate=function(a,c){if(null===a.O)throw Error(\"XPDY0002: context is absent, it needs to be present to use paths.\");for(var e=c.h,g=a.O.value;9!==g.node.nodeType;)if(g=Xd(e,g),null===g)throw Error(\"XPDY0050: the root node of the context node is not a document node.\");e=U.s(be(g));return this.h?bk(this.h,Yf(a,0,e.first(),e),c):e};function go(a){V.call(this,new wk({}),[],{T:\"sorted\"},!1,a)}K(go,V);go.prototype.evaluate=function(a){if(null===a.O)throw Error('XPDY0002: context is absent, it needs to be present to use the \".\" operator');return U.s(a.O)};function ho(a,c){var e=!1,g=!1;c.forEach(function(f){T(f.type,53)?e=!0:g=!0});if(g&&e)throw Error(\"XPTY0018: The path operator should either return nodes or non-nodes. Mixed sequences are not allowed.\");return e?Qh(a,c):c}function io(a,c){var e=a.every(function(f){return f.Z}),g=a.every(function(f){return f.subtree});V.call(this,a.reduce(function(f,m){return f.add(m.K)},new wk({})),a,{A:!1,Z:e,T:c?\"sorted\":\"unsorted\",subtree:g});this.h=a;this.o=c}K(io,V);\nio.prototype.evaluate=function(a,c){var e=this,g=!0;return this.h.reduce(function(f,m,p){var t=null===f?Hh(a):Xf(a,f);f={next:function(E){E=t.next(E);if(E.done)return Q;if(null!==E.value.O&&!T(E.value.O.type,53)&&0=g)throw Error(\"FOAY0001: Array index out of bounds\");e.push(a.R[g-1]())}else throw Wn(\"The key specifier is not an integer.\");else if(T(a.type,61))\"*\"===c?e.push.apply(e,ia(a.h.map(function(f){return f.value()}))):(a=a.h.find(function(f){return de(f.key,c)}))&&e.push(a.value());else throw Wn(\"The provided context item is not a map or an array.\");\nreturn cg(e)}function lo(a,c,e,g,f){if(\"*\"===c)return ko(a,c,e);c=bk(c,g,f);c=Rc(c)().M(function(m){return m.reduce(function(p,t){return ko(a,t,p)},new Ac)});return cg([e,c])};function ns(a,c){V.call(this,a.K,[a].concat(\"*\"===c?[]:[c]),{A:a.A,T:a.B,subtree:a.subtree});this.h=a;this.o=c}K(ns,V);ns.prototype.evaluate=function(a,c){var e=this;return bk(this.h,a,c).M(function(g){return g.reduce(function(f,m){return lo(m,e.o,f,a,c)},new Ac)})};ns.prototype.Y=function(){return this.h.Y()};function os(a,c){var e={};V.call(this,new wk((e.external=1,e)),\"*\"===a?[]:[a],{A:!1},!1,c);this.h=a}K(os,V);os.prototype.evaluate=function(a,c){return lo(a.O,this.h,new Ac,a,c)};function ps(a,c,e,g){var f=c.map(function(p){return p.eb});c=c.map(function(p){return p.name});var m=f.reduce(function(p,t){return p.add(t.K)},e.K);V.call(this,m,f.concat(e),{A:!1},!1,g);this.o=a;this.v=c;this.C=f;this.N=e;this.h=null}K(ps,V);\nps.prototype.evaluate=function(a,c){var e=this,g=a,f=this.h.map(function(E,I){var M=bk(e.C[I],g,c).S();I={};g=ag(a,(I[E]=function(){return U.create(M)},I));return M});if(f.some(function(E){return 0===E.length}))return\"every\"===this.o?U.$():U.U();var m=Array(f.length).fill(0);m[0]=-1;for(var p=!0;p;){p=!1;for(var t=0,v=m.length;tA.length-1)m[t]=0;else{p=Object.create(null);t={};for(v=0;v\"))throw Error('XQDY0026: The content \"'+v+'\" for a processing instruction node contains \"?>\".');t=!0;return S({H:[],fa:ok([new Os(g.value,\nv)],p,f)})}}}}function dt(a,c,e){pk.call(this,new wk({}),[c,e],{A:!1,T:\"unsorted\"});this.C=a;this.h=c;this.v=e}K(dt,pk);dt.prototype.o=function(a,c){var e=qk(this.h)(a,c);a=qk(this.v)(a,c);return this.C?ct(c,e,a):bt(c,e,a)};function et(a){switch(a.type){case \"delete\":return new Ds({node:a.target,G:null});case \"insertAfter\":return new Fs({node:a.target,G:null},a.content.map(function(c){return{node:c,G:null}}));case \"insertBefore\":return new Hs({node:a.target,G:null},a.content.map(function(c){return{node:c,G:null}}));case \"insertInto\":return new Ks({node:a.target,G:null},a.content.map(function(c){return{node:c,G:null}}));case \"insertIntoAsFirst\":return new Is({node:a.target,G:null},a.content.map(function(c){return{node:c,\nG:null}}));case \"insertIntoAsLast\":return new Js({node:a.target,G:null},a.content.map(function(c){return{node:c,G:null}}));case \"insertAttributes\":return new Gs({node:a.target,G:null},a.content.map(function(c){return{node:c,G:null}}));case \"rename\":return new Ls({node:a.target,G:null},a.newName);case \"replaceNode\":return new Ns({node:a.target,G:null},a.replacement.map(function(c){return{node:c,G:null}}));case \"replaceValue\":return new Os({node:a.target,G:null},a[\"string-value\"]);case \"replaceElementContent\":return new Ms({node:a.target,\nG:null},a.text?{node:a.text,G:null}:null);default:throw Error('Unexpected type \"'+a.type+'\" when parsing a transferable pending update.');}};function ft(a,c,e){if(c.find(function(f){return Jh(f,a)}))return!0;var g=Xd(e,a);return g?ft(g,c,e):!1}function gt(a,c,e){pk.call(this,new wk({}),a.reduce(function(g,f){g.push(f.eb);return g},[c,e]),{A:!1,T:\"unsorted\"});this.h=a;this.C=c;this.v=e;this.I=null}K(gt,pk);gt.prototype.evaluate=function(a,c){a=this.o(a,c);return rk(a,function(){})};\ngt.prototype.o=function(a,c){var e=this,g=c.h,f=c.o,m=c.B,p=[],t,v,A,E=[],I=[];return{next:function(){if(E.length!==e.h.length)for(var M={},O=E.length;O\"))throw Error('XQDY0026: The contents of the data of a processing instruction may not include \"?>\"');if(null!==e.h.Mb)return f=e.h.Mb,lt(f),U.s(be(mt(f,m)));f=bk(e.h.Db,a,c);var p=Zs(c,f);return U.create({next:function(){var t=p.next(0);if(t.done)return t;t=t.value.value;lt(t);return S(be(mt(t,m)))}})})};function ot(a){V.call(this,a?a.K:new wk({}),a?[a]:[],{A:!1,T:\"unsorted\"});this.h=a}K(ot,V);ot.prototype.evaluate=function(a,c){if(!this.h)return U.empty();a=bk(this.h,a,c);return Sg(a,c).M(function(e){if(0===e.length)return U.empty();e={node:{data:e.map(function(g){return Gh(g,1).value}).join(\" \"),Pa:!0,nodeType:3},G:null};return U.s(be(e))})};function pt(a,c,e,g){var f=new wk({}),m;sk.call(this,f,(m=[a].concat(ia(c.map(function(p){return p.jc})),[e])).concat.apply(m,ia(c.map(function(p){return p.Ob.map(function(t){return t.Nb})}))),{A:!1,Z:!1,T:\"unsorted\",subtree:!1},g);this.C=a;this.h=c.length;this.N=c.map(function(p){return p.Ob})}K(pt,sk);\npt.prototype.v=function(a,c,e){var g=this;return e[0](a).M(function(f){for(var m=0;mf.length)return!1;break;default:if(1!==f.length)return!1}var t=U.create(f);return f.every(function(v,A){v=Yf(a,A,v,t);return bk(p.Nb,v,c).getEffectiveBooleanValue()})}))return e[m+1](a);return e[g.h+1](a)})};pt.prototype.P=function(a){sk.prototype.P.call(this,a);if(this.C.I)throw Qj();};var qt={ca:!1,qa:!1},rt={ca:!0,qa:!1},st={ca:!0,qa:!0};function tt(a){return a.ca?a.qa?st:rt:qt}\nfunction Z(a,c){switch(a[0]){case \"andOp\":var e=cm(a,\"type\");return new mn(ut(\"andOp\",a,tt(c)),e);case \"orOp\":return e=cm(a,\"type\"),new nn(ut(\"orOp\",a,tt(c)),e);case \"unaryPlusOp\":return e=W(W(a,\"operand\"),\"*\"),a=cm(a,\"type\"),new ln(\"+\",Z(e,c),a);case \"unaryMinusOp\":return e=W(W(a,\"operand\"),\"*\"),a=cm(a,\"type\"),new ln(\"-\",Z(e,c),a);case \"addOp\":case \"subtractOp\":case \"multiplyOp\":case \"divOp\":case \"idivOp\":case \"modOp\":var g=a[0],f=Z(dm(a,[\"firstOperand\",\"*\"]),tt(c));c=Z(dm(a,[\"secondOperand\",\"*\"]),\ntt(c));var m=cm(a,\"type\"),p=cm(dm(a,[\"firstOperand\",\"*\"]),\"type\"),t=cm(dm(a,[\"secondOperand\",\"*\"]),\"type\");p&&t&&cm(a,\"type\")&&(e=dn(g,p.type,t.type));return new hn(g,f,c,m,e);case \"sequenceExpr\":return vt(a,c);case \"unionOp\":return e=cm(a,\"type\"),new Un([Z(dm(a,[\"firstOperand\",\"*\"]),tt(c)),Z(dm(a,[\"secondOperand\",\"*\"]),tt(c))],e);case \"exceptOp\":case \"intersectOp\":return e=cm(a,\"type\"),new Kn(a[0],Z(dm(a,[\"firstOperand\",\"*\"]),tt(c)),Z(dm(a,[\"secondOperand\",\"*\"]),tt(c)),e);case \"stringConcatenateOp\":return wt(a,\nc);case \"rangeSequenceExpr\":return xt(a,c);case \"equalOp\":case \"notEqualOp\":case \"lessThanOrEqualOp\":case \"lessThanOp\":case \"greaterThanOrEqualOp\":case \"greaterThanOp\":case \"eqOp\":case \"neOp\":case \"ltOp\":case \"leOp\":case \"gtOp\":case \"geOp\":case \"isOp\":case \"nodeBeforeOp\":case \"nodeAfterOp\":return e=dm(a,[\"firstOperand\",\"*\"]),g=dm(a,[\"secondOperand\",\"*\"]),f=cm(e,\"type\"),m=cm(g,\"type\"),new Hn(a[0],Z(e,tt(c)),Z(g,tt(c)),f,m);case \"pathExpr\":return yt(a,c);case \"contextItemExpr\":return a=cm(a,\"type\"),\nnew go(a);case \"functionCallExpr\":return zt(a,c);case \"inlineFunctionExpr\":return At(a,c);case \"arrowExpr\":return Bt(a,c);case \"dynamicFunctionInvocationExpr\":return Ct(a,c);case \"namedFunctionRef\":return c=W(a,\"functionName\"),e=cm(a,\"type\"),a=bm(dm(a,[\"integerConstantExpr\",\"value\"])),new Xm(fm(c),parseInt(a,10),e);case \"integerConstantExpr\":return new Qm(bm(W(a,\"value\")),{type:5,g:3});case \"stringConstantExpr\":return new Qm(bm(W(a,\"value\")),{type:1,g:3});case \"decimalConstantExpr\":return new Qm(bm(W(a,\n\"value\")),{type:4,g:3});case \"doubleConstantExpr\":return new Qm(bm(W(a,\"value\")),{type:3,g:3});case \"varRef\":return a=fm(W(a,\"name\")),new vs(a.prefix,a.namespaceURI,a.localName);case \"flworExpr\":return Dt(a,c);case \"quantifiedExpr\":return Et(a,c);case \"ifThenElseExpr\":return e=cm(a,\"type\"),new Em(Z(W(W(a,\"ifClause\"),\"*\"),tt(c)),Z(W(W(a,\"thenClause\"),\"*\"),c),Z(W(W(a,\"elseClause\"),\"*\"),c),e);case \"instanceOfExpr\":return e=Z(dm(a,[\"argExpr\",\"*\"]),c),g=dm(a,[\"sequenceType\",\"*\"]),f=dm(a,[\"sequenceType\",\n\"occurrenceIndicator\"]),a=cm(a,\"type\"),new Qn(e,Z(g,tt(c)),f?bm(f):\"\",a);case \"castExpr\":return c=Z(W(W(a,\"argExpr\"),\"*\"),tt(c)),e=W(a,\"singleType\"),a=fm(W(e,\"atomicType\")),e=null!==W(e,\"optional\"),new On(c,a,e);case \"castableExpr\":return c=Z(W(W(a,\"argExpr\"),\"*\"),tt(c)),e=W(a,\"singleType\"),a=fm(W(e,\"atomicType\")),e=null!==W(e,\"optional\"),new Nn(c,a,e);case \"simpleMapExpr\":return Ft(a,c);case \"mapConstructor\":return Gt(a,c);case \"arrayConstructor\":return Ht(a,c);case \"unaryLookup\":return e=cm(a,\"type\"),\nnew os(It(a,c),e);case \"typeswitchExpr\":return Jt(a,c);case \"elementConstructor\":return Kt(a,c);case \"attributeConstructor\":return Lt(a,c);case \"computedAttributeConstructor\":return(e=W(a,\"tagName\"))?e=fm(e):(e=W(a,\"tagNameExpr\"),e={Ja:Z(W(e,\"*\"),tt(c))}),a=Z(W(W(a,\"valueExpr\"),\"*\"),tt(c)),new it(e,{tb:[a]});case \"computedCommentConstructor\":if(!c.ca)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");a=(a=W(a,\"argExpr\"))?Z(W(a,\"*\"),tt(c)):null;return new jt(a);case \"computedTextConstructor\":if(!c.ca)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");\na=(a=W(a,\"argExpr\"))?Z(W(a,\"*\"),tt(c)):null;return new ot(a);case \"computedElementConstructor\":return Mt(a,c);case \"computedPIConstructor\":if(!c.ca)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");e=W(a,\"piTargetExpr\");g=W(a,\"piTarget\");f=W(a,\"piValueExpr\");a=cm(a,\"type\");return new nt({Db:e?Z(W(e,\"*\"),tt(c)):null,Mb:g?bm(g):null},f?Z(W(f,\"*\"),tt(c)):new Ln([],a));case \"CDataSection\":return new Qm(bm(a),{type:1,g:3});case \"deleteExpr\":return a=Z(dm(a,[\"targetExpr\",\n\"*\"]),c),new Qs(a);case \"insertExpr\":e=Z(dm(a,[\"sourceExpr\",\"*\"]),c);f=em(a,\"*\")[1];switch(f[0]){case \"insertAfter\":g=1;break;case \"insertBefore\":g=2;break;case \"insertInto\":g=(g=W(f,\"*\"))?\"insertAsFirst\"===g[0]?4:5:3}a=Z(dm(a,[\"targetExpr\",\"*\"]),c);return new Us(e,g,a);case \"renameExpr\":return e=Z(dm(a,[\"targetExpr\",\"*\"]),c),a=Z(dm(a,[\"newNameExpr\",\"*\"]),c),new at(e,a);case \"replaceExpr\":return e=!!W(a,\"replaceValue\"),g=Z(dm(a,[\"targetExpr\",\"*\"]),c),a=Z(dm(a,[\"replacementExpr\",\"*\"]),c),new dt(e,\ng,a);case \"transformExpr\":return Nt(a,c);case \"x:stackTrace\":e=a[1];for(a=a[2];\"x:stackTrace\"===a[0];)a=a[2];return new Gm(e,a[0],Z(a,c));default:return Ot(a)}}\nfunction Ot(a){switch(a[0]){case \"nameTest\":return new ss(fm(a));case \"piTest\":return(a=W(a,\"piTarget\"))?new ts(bm(a)):new rs(7);case \"commentTest\":return new rs(8);case \"textTest\":return new rs(3);case \"documentTest\":return new rs(9);case \"attributeTest\":var c=(a=W(a,\"attributeName\"))&&W(a,\"star\");return!a||c?new rs(2):new ss(fm(W(a,\"QName\")),{kind:2});case \"elementTest\":return c=(a=W(a,\"elementName\"))&&W(a,\"star\"),!a||c?new rs(1):new ss(fm(W(a,\"QName\")),{kind:1});case \"anyKindTest\":return new us({prefix:\"\",\nnamespaceURI:null,localName:\"node()\"});case \"anyMapTest\":return new us({prefix:\"\",namespaceURI:null,localName:\"map(*)\"});case \"anyArrayTest\":return new us({prefix:\"\",namespaceURI:null,localName:\"array(*)\"});case \"Wildcard\":return W(a,\"star\")?(c=W(a,\"uri\"))?a=new ss({localName:\"*\",namespaceURI:bm(c),prefix:\"\"}):(c=W(a,\"NCName\"),a=\"star\"===W(a,\"*\")[0]?new ss({localName:bm(c),namespaceURI:null,prefix:\"*\"}):new ss({localName:\"*\",namespaceURI:null,prefix:bm(c)})):a=new ss({localName:\"*\",namespaceURI:null,\nprefix:\"*\"}),a;case \"atomicType\":return a=fm(a),new us(a);case \"anyItemType\":return new us({prefix:\"\",namespaceURI:null,localName:\"item()\"});default:throw Error(\"No selector counterpart for: \"+a[0]+\".\");}}function Ht(a,c){var e=cm(a,\"type\");a=W(a,\"*\");var g=em(a,\"arrayElem\").map(function(f){return Z(W(f,\"*\"),tt(c))});switch(a[0]){case \"curlyArray\":return new im(g,e);case \"squareArray\":return new jm(g,e);default:throw Error(\"Unrecognized arrayType: \"+a[0]);}}\nfunction Gt(a,c){var e=cm(a,\"type\");return new Rm(em(a,\"mapConstructorEntry\").map(function(g){return{key:Z(dm(g,[\"mapKeyExpr\",\"*\"]),tt(c)),value:Z(dm(g,[\"mapValueExpr\",\"*\"]),tt(c))}}),e)}function ut(a,c,e){function g(m){var p=W(m,\"firstOperand\")[1];m=W(m,\"secondOperand\")[1];p[0]===a?g(p):f.push(Z(p,e));m[0]===a?g(m):f.push(Z(m,e))}var f=[];g(c);return f}function It(a,c){a=W(a,\"*\");switch(a[0]){case \"NCName\":return new Qm(bm(a),{type:1,g:3});case \"star\":return\"*\";default:return Z(a,tt(c))}}\nfunction Pt(a,c,e){a=em(a,\"*\");return new eo(a.filter(function(g){return\"stable\"!==g[0]}).map(function(g){var f=W(g,\"orderModifier\"),m=f?W(f,\"orderingKind\"):null;f=f?W(f,\"emptyOrderingMode\"):null;m=m?\"ascending\"===bm(m):!0;f=f?\"empty least\"===bm(f):!0;return{ia:Z(dm(g,[\"orderByExpr\",\"*\"]),c),Ib:m,mc:f}}),e)}\nfunction Dt(a,c){var e=em(a,\"*\");a=W(e[e.length-1],\"*\");e=e.slice(0,-1);if(1m)return f;m-=f.length;p+=p.repeat(m);return f+p.slice(0,m)}(function(f,m){function p(){this.constructor=f}p.prototype=m.prototype;f.prototype=new p})(e,Error);e.prototype.format=function(f){var m=\"Error: \"+this.message;if(this.location){var p=null,t;for(t=0;tHc&&(Hc=b,Dk=[]),Dk.push(h))}function Ka(){var h,u,k=233*b;if(h=z[k])return b=h.i,h.result;h=b;F();var l=233*b+2;if(u=z[l])b=u.i,l=u.result;else{u=b;if(f.substr(b,6)===mo){var n=mo;b+=6}else n=d,0===w&&x(xv);if(n!==d){F();n=b;if(f.substr(b,8)===Yh){var q=Yh;b+=8}else q=d,0===w&&x(no);q!==d?(q=P(),q!==d?(q=\nbb(),q!==d?(B=n,n=[\"encoding\",q]):(b=n,n=d)):(b=n,n=d)):(b=n,n=d);if(n===d)if(n=b,f.substr(b,7)===oo?(q=oo,b+=7):(q=d,0===w&&x(yv)),q!==d)if(q=P(),q!==d)if(q=bb(),q!==d){var r=b;var y=P();y!==d?(f.substr(b,8)===Yh?(y=Yh,b+=8):(y=d,0===w&&x(no)),y!==d?(y=P(),y!==d?(y=bb(),y!==d?(B=r,r=y):(b=r,r=d)):(b=r,r=d)):(b=r,r=d)):(b=r,r=d);r===d&&(r=null);B=n;n=[[\"version\",q]].concat(r?[[\"encoding\",r]]:[])}else b=n,n=d;else b=n,n=d;else b=n,n=d;n!==d?(F(),q=Ib(),q!==d?(B=u,u=[\"versionDecl\"].concat(n)):(b=u,\nu=d)):(b=u,u=d)}else b=u,u=d;z[l]={i:b,result:u};l=u}l===d&&(l=null);F();u=233*b+3;if(n=z[u])b=n.i,u=n.result;else{n=b;q=233*b+4;if(r=z[q])b=r.i,q=r.result;else{r=b;f.substr(b,6)===Zh?(y=Zh,b+=6):(y=d,0===w&&x(po));if(y!==d)if(y=P(),y!==d)if(f.substr(b,9)===Jb?(y=Jb,b+=9):(y=d,0===w&&x(ge)),y!==d)if(y=P(),y!==d){y=b;var C=Kb();y=C!==d?f.substring(y,b):C;if(y!==d)if(F(),61===f.charCodeAt(b)?(C=Cd,b++):(C=d,0===w&&x(Dd)),C!==d)if(F(),C=bb(),C!==d){F();var J=Ib();J!==d?(B=r,r=[\"moduleDecl\",[\"prefix\",\ny],[\"uri\",C]]):(b=r,r=d)}else b=r,r=d;else b=r,r=d;else b=r,r=d}else b=r,r=d;else b=r,r=d;else b=r,r=d;else b=r,r=d;z[q]={i:b,result:r};q=r}q!==d?(F(),r=ac(),B=n,n=[\"libraryModule\",q].concat(r?[r]:[])):(b=n,n=d);z[u]={i:b,result:n};u=n}u===d&&(u=233*b+1,(n=z[u])?(b=n.i,u=n.result):(n=b,q=ac(),F(),r=233*b+36,(y=z[r])?(b=y.i,r=y.result):(y=b,C=pc(),C!==d&&(B=y,C=[\"queryBody\",C]),y=C,z[r]={i:b,result:y},r=y),r!==d?(B=n,n=[\"mainModule\"].concat(q?[q]:[],[r])):(b=n,n=d),z[u]={i:b,result:n},u=n));u!==d?\n(F(),B=h,h=[\"module\"].concat(l?[l]:[],[u])):(b=h,h=d);z[k]={i:b,result:h};return h}function ac(){var h,u=233*b+5;if(h=z[u])return b=h.i,h.result;h=b;var k=[];var l=b;var n=Ed();n===d&&(n=fg(),n===d&&(n=Ic(),n===d&&(n=Fa())));if(n!==d){F();var q=Ib();q!==d?(F(),B=l,l=n):(b=l,l=d)}else b=l,l=d;for(;l!==d;)k.push(l),l=b,n=Ed(),n===d&&(n=fg(),n===d&&(n=Ic(),n===d&&(n=Fa()))),n!==d?(F(),q=Ib(),q!==d?(F(),B=l,l=n):(b=l,l=d)):(b=l,l=d);l=[];n=b;q=qo();q===d&&(q=Ne(),q===d&&(q=ro()));if(q!==d){F();var r=\nIb();r!==d?(F(),B=n,n=q):(b=n,n=d)}else b=n,n=d;for(;n!==d;)l.push(n),n=b,q=qo(),q===d&&(q=Ne(),q===d&&(q=ro())),q!==d?(F(),r=Ib(),r!==d?(F(),B=n,n=q):(b=n,n=d)):(b=n,n=d);B=h;h=0===k.length&&0===l.length?null:[\"prolog\"].concat(k,l);z[u]={i:b,result:h};return h}function Ib(){var h,u=233*b+6;if(h=z[u])return b=h.i,h.result;59===f.charCodeAt(b)?(h=$h,b++):(h=d,0===w&&x(ai));z[u]={i:b,result:h};return h}function fg(){var h,u=233*b+7;if(h=z[u])return b=h.i,h.result;var k;h=233*b+8;if(k=z[h])b=k.i,h=k.result;\nelse{k=b;if(f.substr(b,7)===La){var l=La;b+=7}else l=d,0===w&&x(Sb);l!==d?(l=P(),l!==d?(f.substr(b,14)===so?(l=so,b+=14):(l=d,0===w&&x(zv)),l!==d?(l=P(),l!==d?(f.substr(b,8)===Oe?(l=Oe,b+=8):(l=d,0===w&&x(Ek)),l===d&&(f.substr(b,5)===bi?(l=bi,b+=5):(l=d,0===w&&x(to))),l!==d?(B=k,k=[\"boundarySpaceDecl\",l]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d);z[h]={i:b,result:k};h=k}if(h===d&&(h=233*b+9,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,7)===La?(l=La,b+=7):(l=d,0===w&&x(Sb)),l!==d?(l=P(),\nl!==d?(f.substr(b,7)===bc?(l=bc,b+=7):(l=d,0===w&&x(Pe)),l!==d?(l=P(),l!==d?(f.substr(b,9)===Qe?(l=Qe,b+=9):(l=d,0===w&&x(Fk)),l!==d?(l=P(),l!==d?(l=bb(),l!==d?(B=k,k=[\"defaultCollationDecl\",l]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d),z[h]={i:b,result:k},h=k),h===d&&(h=233*b+10,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,7)===La?(l=La,b+=7):(l=d,0===w&&x(Sb)),l!==d?(l=P(),l!==d?(f.substr(b,8)===uo?(l=uo,b+=8):(l=d,0===w&&x(Av)),l!==d?(l=P(),l!==d?(l=bb(),l!==d?\n(B=k,k=[\"baseUriDecl\",l]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d),z[h]={i:b,result:k},h=k),h===d&&(h=233*b+11,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,7)===La?(l=La,b+=7):(l=d,0===w&&x(Sb)),l!==d?(l=P(),l!==d?(f.substr(b,12)===vo?(l=vo,b+=12):(l=d,0===w&&x(Bv)),l!==d?(l=P(),l!==d?(f.substr(b,5)===bi?(l=bi,b+=5):(l=d,0===w&&x(to)),l===d&&(f.substr(b,8)===Oe?(l=Oe,b+=8):(l=d,0===w&&x(Ek))),l!==d?(B=k,k=[\"constructionDecl\",l]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d),z[h]=\n{i:b,result:k},h=k),h===d&&(h=233*b+12,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,7)===La?(l=La,b+=7):(l=d,0===w&&x(Sb)),l!==d?(l=P(),l!==d?(f.substr(b,8)===wo?(l=wo,b+=8):(l=d,0===w&&x(Cv)),l!==d?(l=P(),l!==d?(f.substr(b,7)===xo?(l=xo,b+=7):(l=d,0===w&&x(Dv)),l===d&&(f.substr(b,9)===yo?(l=yo,b+=9):(l=d,0===w&&x(Ev))),l!==d?(B=k,k=[\"orderingModeDecl\",l]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d),z[h]={i:b,result:k},h=k),h===d&&(h=233*b+13,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,7)===\nLa?(l=La,b+=7):(l=d,0===w&&x(Sb)),l!==d?(l=P(),l!==d?(f.substr(b,7)===bc?(l=bc,b+=7):(l=d,0===w&&x(Pe)),l!==d?(l=P(),l!==d?(f.substr(b,5)===Re?(l=Re,b+=5):(l=d,0===w&&x(Gk)),l!==d?(l=P(),l!==d?(f.substr(b,5)===Se?(l=Se,b+=5):(l=d,0===w&&x(Hk)),l!==d?(l=P(),l!==d?(f.substr(b,8)===ci?(l=ci,b+=8):(l=d,0===w&&x(zo)),l===d&&(f.substr(b,5)===di?(l=di,b+=5):(l=d,0===w&&x(Ao))),l!==d?(B=k,k=[\"emptyOrderDecl\",l]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d)):(b=k,\nk=d),z[h]={i:b,result:k},h=k),h===d)))))){var n;h=233*b+14;if(k=z[h])b=k.i,h=k.result;else{k=b;f.substr(b,7)===La?(l=La,b+=7):(l=d,0===w&&x(Sb));if(l!==d)if(l=P(),l!==d)if(f.substr(b,15)===Bo?(l=Bo,b+=15):(l=d,0===w&&x(Fv)),l!==d)if(l=P(),l!==d)if(l=233*b+15,(n=z[l])?(b=n.i,l=n.result):(f.substr(b,8)===Oe?(n=Oe,b+=8):(n=d,0===w&&x(Ek)),n===d&&(f.substr(b,11)===Co?(n=Co,b+=11):(n=d,0===w&&x(Gv))),z[l]={i:b,result:n},l=n),l!==d)if(F(),44===f.charCodeAt(b)?(n=ua,b++):(n=d,0===w&&x(va)),n!==d){F();var q;\nn=233*b+16;(q=z[n])?(b=q.i,n=q.result):(f.substr(b,7)===Do?(q=Do,b+=7):(q=d,0===w&&x(Hv)),q===d&&(f.substr(b,10)===Eo?(q=Eo,b+=10):(q=d,0===w&&x(Iv))),z[n]={i:b,result:q},n=q);n!==d?(B=k,k=[\"copyNamespacesDecl\",[\"preserveMode\",l],[\"inheritMode\",n]]):(b=k,k=d)}else b=k,k=d;else b=k,k=d;else b=k,k=d;else b=k,k=d;else b=k,k=d;else b=k,k=d;z[h]={i:b,result:k};h=k}if(h===d)if(h=233*b+17,k=z[h])b=k.i,h=k.result;else{k=b;f.substr(b,7)===La?(l=La,b+=7):(l=d,0===w&&x(Sb));if(l!==d)if(l=P(),l!==d){l=b;f.substr(b,\n14)===ei?(n=ei,b+=14):(n=d,0===w&&x(Fo));if(n!==d)if(q=P(),q!==d){var r=Aa();r!==d?(B=l,l=[\"decimalFormatName\"].concat(r)):(b=l,l=d)}else b=l,l=d;else b=l,l=d;l===d&&(l=b,f.substr(b,7)===bc?(n=bc,b+=7):(n=d,0===w&&x(Pe)),n!==d?(q=P(),q!==d?(f.substr(b,14)===ei?(r=ei,b+=14):(r=d,0===w&&x(Fo)),r!==d?(B=l,l=null):(b=l,l=d)):(b=l,l=d)):(b=l,l=d));if(l!==d){n=[];q=b;r=P();if(r!==d)if(r=qc(),r!==d){var y=P();y!==d?(61===f.charCodeAt(b)?(y=Cd,b++):(y=d,0===w&&x(Dd)),y!==d?(y=P(),y!==d?(y=bb(),y!==d?(B=q,\nq=R(l,r,y)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)}else b=q,q=d;else b=q,q=d;for(;q!==d;)n.push(q),q=b,r=P(),r!==d?(r=qc(),r!==d?(y=P(),y!==d?(61===f.charCodeAt(b)?(y=Cd,b++):(y=d,0===w&&x(Dd)),y!==d?(y=P(),y!==d?(y=bb(),y!==d?(B=q,q=R(l,r,y)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d);B=k;k=[\"decimalFormatDecl\"].concat(l?[l]:[],n)}else b=k,k=d}else b=k,k=d;else b=k,k=d;z[h]={i:b,result:k};h=k}}z[u]={i:b,result:h};return h}function qc(){var h,u=233*b+18;if(h=z[u])return b=\nh.i,h.result;f.substr(b,17)===Go?(h=Go,b+=17):(h=d,0===w&&x(Jv));h===d&&(f.substr(b,18)===Ho?(h=Ho,b+=18):(h=d,0===w&&x(Kv)),h===d&&(f.substr(b,8)===Io?(h=Io,b+=8):(h=d,0===w&&x(Lv)),h===d&&(f.substr(b,10)===Jo?(h=Jo,b+=10):(h=d,0===w&&x(Mv)),h===d&&(f.substr(b,3)===Ko?(h=Ko,b+=3):(h=d,0===w&&x(Nv)),h===d&&(f.substr(b,7)===Lo?(h=Lo,b+=7):(h=d,0===w&&x(Ov)),h===d&&(f.substr(b,9)===Mo?(h=Mo,b+=9):(h=d,0===w&&x(Pv)),h===d&&(f.substr(b,10)===No?(h=No,b+=10):(h=d,0===w&&x(Qv)),h===d&&(f.substr(b,5)===\nOo?(h=Oo,b+=5):(h=d,0===w&&x(Rv)),h===d&&(f.substr(b,17)===Po?(h=Po,b+=17):(h=d,0===w&&x(Sv)),h===d&&(f.substr(b,18)===Qo?(h=Qo,b+=18):(h=d,0===w&&x(Tv))))))))))));z[u]={i:b,result:h};return h}function Fa(){var h,u=233*b+19;if(h=z[u])return b=h.i,h.result;var k,l;h=233*b+20;if(k=z[h])b=k.i,h=k.result;else{k=b;if(f.substr(b,6)===fi){var n=fi;b+=6}else n=d,0===w&&x(Ro);if(n!==d)if(n=P(),n!==d)if(f.substr(b,6)===So?(n=So,b+=6):(n=d,0===w&&x(Uv)),n!==d){n=b;var q=P();if(q!==d){q=233*b+21;if(l=z[q])b=\nl.i,q=l.result;else{l=b;if(f.substr(b,9)===Jb){var r=Jb;b+=9}else r=d,0===w&&x(ge);if(r!==d){var y=P();if(y!==d){var C=Kb();if(C!==d){F();if(61===f.charCodeAt(b)){var J=Cd;b++}else J=d,0===w&&x(Dd);J!==d?(B=l,l=[\"namespacePrefix\",C]):(b=l,l=d)}else b=l,l=d}else b=l,l=d}else b=l,l=d;if(l===d){r=l=b;f.substr(b,7)===bc?(y=bc,b+=7):(y=d,0===w&&x(Pe));if(y!==d)if(C=P(),C!==d){if(f.substr(b,7)===Lb){var N=Lb;b+=7}else N=d,0===w&&x(he);if(N!==d)if(J=P(),J!==d){if(f.substr(b,9)===Jb){var oa=Jb;b+=9}else oa=\nd,0===w&&x(ge);if(oa!==d){var wb=za();wb!==d?r=y=[y,C,N,J,oa,wb]:(b=r,r=d)}else b=r,r=d}else b=r,r=d;else b=r,r=d}else b=r,r=d;else b=r,r=d;r!==d&&(B=l,r=[\"defaultElementNamespace\"]);l=r}z[q]={i:b,result:l};q=l}q!==d?(B=n,n=q):(b=n,n=d)}else b=n,n=d;n===d&&(n=null);F();q=bb();if(q!==d){l=b;r=P();if(r!==d)if(f.substr(b,2)===Te?(r=Te,b+=2):(r=d,0===w&&x(Ik)),r!==d)if(r=P(),r!==d)if(r=bb(),r!==d){y=[];C=b;N=P();N!==d?(44===f.charCodeAt(b)?(N=ua,b++):(N=d,0===w&&x(va)),N!==d?(N=P(),N!==d?(N=bb(),N!==\nd?(B=C,C=N):(b=C,C=d)):(b=C,C=d)):(b=C,C=d)):(b=C,C=d);for(;C!==d;)y.push(C),C=b,N=P(),N!==d?(44===f.charCodeAt(b)?(N=ua,b++):(N=d,0===w&&x(va)),N!==d?(N=P(),N!==d?(N=bb(),N!==d?(B=C,C=N):(b=C,C=d)):(b=C,C=d)):(b=C,C=d)):(b=C,C=d);B=l;l=[r].concat(y)}else b=l,l=d;else b=l,l=d;else b=l,l=d;else b=l,l=d;l===d&&(l=null);B=k;k=[\"schemaImport\"].concat(n?[n]:[],[[\"targetNamespace\",q]],l?[l]:[])}else b=k,k=d}else b=k,k=d;else b=k,k=d;else b=k,k=d;z[h]={i:b,result:k};h=k}if(h===d)if(h=233*b+22,k=z[h])b=k.i,\nh=k.result;else{k=b;f.substr(b,6)===fi?(n=fi,b+=6):(n=d,0===w&&x(Ro));if(n!==d)if(n=P(),n!==d)if(f.substr(b,6)===Zh?(n=Zh,b+=6):(n=d,0===w&&x(po)),n!==d)if(n=b,q=P(),q!==d?(f.substr(b,9)===Jb?(q=Jb,b+=9):(q=d,0===w&&x(ge)),q!==d?(l=P(),l!==d?(r=b,y=Kb(),r=y!==d?f.substring(r,b):y,r!==d?(F(),61===f.charCodeAt(b)?(y=Cd,b++):(y=d,0===w&&x(Dd)),y!==d?(B=n,n=r):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d),n===d&&(n=null),F(),q=bb(),q!==d){l=b;r=P();if(r!==d)if(f.substr(b,2)===Te?(y=Te,b+=2):(y=\nd,0===w&&x(Ik)),y!==d)if(y=P(),y!==d)if(r=bb(),r!==d)for(l=[],r=b,y=F(),44===f.charCodeAt(b)?(C=ua,b++):(C=d,0===w&&x(va)),C!==d?(N=F(),J=bb(),J!==d?r=y=[y,C,N,J]:(b=r,r=d)):(b=r,r=d);r!==d;)l.push(r),r=b,y=F(),44===f.charCodeAt(b)?(C=ua,b++):(C=d,0===w&&x(va)),C!==d?(N=F(),J=bb(),J!==d?r=y=[y,C,N,J]:(b=r,r=d)):(b=r,r=d);else b=l;else b=l;else b=l;else b=l;B=k;k=[\"moduleImport\",[\"namespacePrefix\",n],[\"targetNamespace\",q]]}else b=k,k=d;else b=k,k=d;else b=k,k=d;else b=k,k=d;z[h]={i:b,result:k};h=k}z[u]=\n{i:b,result:h};return h}function Ic(){var h,u=233*b+23;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,7)===La){var k=La;b+=7}else k=d,0===w&&x(Sb);if(k!==d)if(k=P(),k!==d)if(f.substr(b,9)===Jb?(k=Jb,b+=9):(k=d,0===w&&x(ge)),k!==d)if(k=P(),k!==d)if(k=Kb(),k!==d){F();if(61===f.charCodeAt(b)){var l=Cd;b++}else l=d,0===w&&x(Dd);l!==d?(F(),l=bb(),l!==d?(B=h,h=[\"namespaceDecl\",[\"prefix\",k],[\"uri\",l]]):(b=h,h=d)):(b=h,h=d)}else b=h,h=d;else b=h,h=d;else b=h,h=d;else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};\nreturn h}function Ed(){var h,u=233*b+24;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,7)===La){var k=La;b+=7}else k=d,0===w&&x(Sb);if(k!==d)if(k=P(),k!==d)if(f.substr(b,7)===bc?(k=bc,b+=7):(k=d,0===w&&x(Pe)),k!==d)if(k=P(),k!==d)if(f.substr(b,7)===Lb?(k=Lb,b+=7):(k=d,0===w&&x(he)),k===d&&(f.substr(b,8)===cc?(k=cc,b+=8):(k=d,0===w&&x(Ue))),k!==d){var l=P();l!==d?(f.substr(b,9)===Jb?(l=Jb,b+=9):(l=d,0===w&&x(ge)),l!==d?(l=P(),l!==d?(l=bb(),l!==d?(B=h,h=[\"defaultNamespaceDecl\",[\"defaultNamespaceCategory\",\nk],[\"uri\",l]]):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)}else b=h,h=d;else b=h,h=d;else b=h,h=d;else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function Ne(){var h,u=233*b+25;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,7)===La){var k=La;b+=7}else k=d,0===w&&x(Sb);if(k!==d)if(k=P(),k!==d){k=[];var l=b;var n=Ve();n===d&&(n=To());if(n!==d){var q=P();q!==d?(B=l,l=n):(b=l,l=d)}else b=l,l=d;for(;l!==d;)k.push(l),l=b,n=Ve(),n===d&&(n=To()),n!==d?(q=P(),q!==d?(B=l,l=n):(b=l,l=d)):(b=l,l=d);\nl=233*b+28;if(n=z[l])b=n.i,l=n.result;else{n=b;f.substr(b,8)===Uo?(q=Uo,b+=8):(q=d,0===w&&x(Vv));if(q!==d)if(q=P(),q!==d)if(36===f.charCodeAt(b)?(q=Jc,b++):(q=d,0===w&&x(Kc)),q!==d)if(F(),q=Aa(),q!==d){var r=b;F();var y=We();y!==d?(B=r,r=y):(b=r,r=d);r===d&&(r=null);var C=b;F();f.substr(b,2)===Mb?(y=Mb,b+=2):(y=d,0===w&&x(ie));y!==d?(F(),y=ta(),y!==d?(B=C,C=[\"varValue\",y]):(b=C,C=d)):(b=C,C=d);if(C===d)if(C=b,y=P(),y!==d)if(f.substr(b,8)===Xe?(y=Xe,b+=8):(y=d,0===w&&x(Jk)),y!==d){y=b;F();if(f.substr(b,\n2)===Mb){var J=Mb;b+=2}else J=d,0===w&&x(ie);J!==d?(F(),J=ta(),J!==d?(B=y,y=[\"varValue\",J]):(b=y,y=d)):(b=y,y=d);y===d&&(y=null);B=C;C=[\"external\"].concat(y?[y]:[])}else b=C,C=d;else b=C,C=d;C!==d?(B=n,n=[\"varDecl\",[\"varName\"].concat(q)].concat(r?[r]:[],[C])):(b=n,n=d)}else b=n,n=d;else b=n,n=d;else b=n,n=d;else b=n,n=d;z[l]={i:b,result:n};l=n}l===d&&(l=233*b+30,(n=z[l])?(b=n.i,l=n.result):(n=b,f.substr(b,8)===cc?(q=cc,b+=8):(q=d,0===w&&x(Ue)),q!==d?(q=P(),q!==d?(r=b,w++,q=Vo(),w--,q===d?r=void 0:\n(b=r,r=d),r!==d?(q=Aa(),q!==d?(F(),40===f.charCodeAt(b)?(r=fb,b++):(r=d,0===w&&x(gb)),r!==d?(F(),r=Wo(),r===d&&(r=null),F(),41===f.charCodeAt(b)?(C=Oa,b++):(C=d,0===w&&x(Pa)),C!==d?(C=b,y=P(),y!==d?(f.substr(b,2)===db?(y=db,b+=2):(y=d,0===w&&x(rc)),y!==d?(J=P(),J!==d?(y=Nb(),y!==d?(B=C,C=y):(b=C,C=d)):(b=C,C=d)):(b=C,C=d)):(b=C,C=d),C===d&&(C=null),F(),y=b,J=Xo(),J!==d&&(B=y,J=[\"functionBody\",J]),y=J,y===d&&(y=b,f.substr(b,8)===Xe?(J=Xe,b+=8):(J=d,0===w&&x(Jk)),J!==d&&(B=y,J=[\"externalDefinition\"]),\ny=J),y!==d?(B=n,n=[\"functionDecl\",[\"functionName\"].concat(q),[\"paramList\"].concat(r||[])].concat(C?[[\"typeDeclaration\"].concat(C)]:[],[y])):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d),z[l]={i:b,result:n},l=n));l!==d?(B=h,h=[l[0]].concat(k,l.slice(1))):(b=h,h=d)}else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function To(){var h,u=233*b+26;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,8)===Yo){var k=Yo;b+=8}else k=d,0===w&&x(Wv);k!==d&&(B=h,k=[\"annotation\",\n[\"annotationName\",\"updating\"]]);h=k;z[u]={i:b,result:h};return h}function Ve(){var h,u=233*b+27;if(h=z[u])return b=h.i,h.result;h=b;if(37===f.charCodeAt(b)){var k=Xv;b++}else k=d,0===w&&x(Yv);if(k!==d)if(F(),k=Aa(),k!==d){var l=b;F();if(40===f.charCodeAt(b)){var n=fb;b++}else n=d,0===w&&x(gb);if(n!==d)if(F(),n=gi(),n!==d){var q=[];var r=b;F();if(44===f.charCodeAt(b)){var y=ua;b++}else y=d,0===w&&x(va);y!==d?(F(),y=gi(),y!==d?(B=r,r=y):(b=r,r=d)):(b=r,r=d);for(;r!==d;)q.push(r),r=b,F(),44===f.charCodeAt(b)?\n(y=ua,b++):(y=d,0===w&&x(va)),y!==d?(F(),y=gi(),y!==d?(B=r,r=y):(b=r,r=d)):(b=r,r=d);F();41===f.charCodeAt(b)?(r=Oa,b++):(r=d,0===w&&x(Pa));r!==d?(B=l,l=n.concat(q)):(b=l,l=d)}else b=l,l=d;else b=l,l=d;l===d&&(l=null);B=h;h=[\"annotation\",[\"annotationName\"].concat(k)].concat(l?[\"arguments\",l]:[])}else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function qo(){var h,u=233*b+29;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,7)===La){var k=La;b+=7}else k=d,0===w&&x(Sb);if(k!==d)if(k=P(),k!==d)if(f.substr(b,\n7)===Zo?(k=Zo,b+=7):(k=d,0===w&&x(Zv)),k!==d)if(k=P(),k!==d)if(f.substr(b,4)===hi?(k=hi,b+=4):(k=d,0===w&&x($o)),k!==d){var l=b;var n=P();if(n!==d)if(f.substr(b,2)===db?(k=db,b+=2):(k=d,0===w&&x(rc)),k!==d){var q=Kk();q!==d||(b=l)}else b=l;else b=l;n=b;k=F();f.substr(b,2)===Mb?(q=Mb,b+=2):(q=d,0===w&&x(ie));if(q!==d){l=F();var r=ta();r!==d?n=k=[k,q,l,r]:(b=n,n=d)}else b=n,n=d;if(n===d)if(n=b,k=P(),k!==d)if(f.substr(b,8)===Xe?(q=Xe,b+=8):(q=d,0===w&&x(Jk)),q!==d){l=b;r=F();f.substr(b,2)===Mb?(n=Mb,\nb+=2):(n=d,0===w&&x(ie));if(n!==d){var y=F();var C=ta();C!==d?l=r=[r,n,y,C]:(b=l,l=d)}else b=l,l=d;l===d&&(l=null);n=k=[k,q,l]}else b=n,n=d;else b=n,n=d;n!==d?(B=h,h={type:\"contextItemDecl\"}):(b=h,h=d)}else b=h,h=d;else b=h,h=d;else b=h,h=d;else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function Wo(){var h,u=233*b+31;if(h=z[u])return b=h.i,h.result;h=b;var k=Lk();if(k!==d){var l=[];var n=b;F();if(44===f.charCodeAt(b)){var q=ua;b++}else q=d,0===w&&x(va);q!==d?(F(),q=Lk(),q!==d?(B=n,n=q):(b=\nn,n=d)):(b=n,n=d);for(;n!==d;)l.push(n),n=b,F(),44===f.charCodeAt(b)?(q=ua,b++):(q=d,0===w&&x(va)),q!==d?(F(),q=Lk(),q!==d?(B=n,n=q):(b=n,n=d)):(b=n,n=d);B=h;h=[k].concat(l)}else b=h,h=d;z[u]={i:b,result:h};return h}function Lk(){var h,u=233*b+32;if(h=z[u])return b=h.i,h.result;h=b;if(36===f.charCodeAt(b)){var k=Jc;b++}else k=d,0===w&&x(Kc);if(k!==d)if(k=Aa(),k!==d){var l=b;var n=P();n!==d?(n=We(),n!==d?(B=l,l=n):(b=l,l=d)):(b=l,l=d);l===d&&(l=null);B=h;h=[\"param\",[\"varName\"].concat(k)].concat(l?\n[l]:[])}else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function Xo(){var h,u=233*b+33;if(h=z[u])return b=h.i,h.result;h=b;var k=sc();k!==d&&(B=h,k=k?k:[\"sequenceExpr\"]);h=k;z[u]={i:b,result:h};return h}function sc(){var h,u=233*b+34;if(h=z[u])return b=h.i,h.result;h=b;if(123===f.charCodeAt(b)){var k=Fd;b++}else k=d,0===w&&x(Gd);if(k!==d){F();k=pc();k===d&&(k=null);F();if(125===f.charCodeAt(b)){var l=Hd;b++}else l=d,0===w&&x(Id);l!==d?(B=h,h=k||null):(b=h,h=d)}else b=h,h=d;z[u]={i:b,result:h};\nreturn h}function ro(){var h,u=233*b+35;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,7)===La){var k=La;b+=7}else k=d,0===w&&x(Sb);k!==d?(k=P(),k!==d?(f.substr(b,6)===ap?(k=ap,b+=6):(k=d,0===w&&x($v)),k!==d?(k=P(),k!==d?(k=Aa(),k!==d?(k=P(),k!==d?(k=bb(),k!==d?(B=h,h={type:\"optionDecl\"}):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d);z[u]={i:b,result:h};return h}function pc(){var h,u=233*b+37;if(h=z[u])return b=h.i,h.result;h=b;var k=ta();if(k!==d){var l=[];var n=\nb;F();if(44===f.charCodeAt(b)){var q=ua;b++}else q=d,0===w&&x(va);q!==d?(F(),q=ta(),q!==d?(B=n,n=q):(b=n,n=d)):(b=n,n=d);for(;n!==d;)l.push(n),n=b,F(),44===f.charCodeAt(b)?(q=ua,b++):(q=d,0===w&&x(va)),q!==d?(F(),q=ta(),q!==d?(B=n,n=q):(b=n,n=d)):(b=n,n=d);B=h;h=0===l.length?k:[\"sequenceExpr\",k].concat(l)}else b=h,h=d;z[u]={i:b,result:h};return h}function ta(){var h=233*b+38,u=z[h];if(u)return b=u.i,u.result;var k=b;var l=233*b+39,n=z[l];if(n){b=n.i;var q=n.result}else{var r=b;var y=bp();if(y!==d){var C=\n[];var J=b;var N=F();var oa=cp();oa!==d?(B=J,J=oa):(b=J,J=d);for(;J!==d;)C.push(J),J=b,N=F(),oa=cp(),oa!==d?(B=J,J=oa):(b=J,J=d);J=F();var wb=233*b+58,Tb=z[wb];if(Tb)b=Tb.i,N=Tb.result;else{var dc=b;if(f.substr(b,6)===Jd){var je=Jd;b+=6}else je=d,0===w&&x(ii);if(je!==d){F();var Ye=ta();Ye!==d?(B=dc,dc=[\"returnClause\",Ye]):(b=dc,dc=d)}else b=dc,dc=d;z[wb]={i:b,result:dc};N=dc}N!==d?(B=r,r=[\"flworExpr\",y].concat(C,[N])):(b=r,r=d)}else b=r,r=d;z[l]={i:b,result:r};q=r}q!==d&&(B=k,q=$b(q));k=q;if(k===\nd){k=b;var gg=233*b+59,ke=z[gg];if(ke)b=ke.i,q=ke.result;else{var Xa=b;if(f.substr(b,4)===dp){var dd=dp;b+=4}else dd=d,0===w&&x(aw);dd===d&&(f.substr(b,5)===ep?(dd=ep,b+=5):(dd=d,0===w&&x(bw)));if(dd!==d){var hg=P();if(hg!==d){var ig=233*b+60,le=z[ig];if(le){b=le.i;var Qa=le.result}else{var Eb=b;var jg=Mk();if(jg!==d){var Ze=[];var mb=b;F();if(44===f.charCodeAt(b)){var ed=ua;b++}else ed=d,0===w&&x(va);if(ed!==d){F();var xb=Mk();xb!==d?(B=mb,mb=xb):(b=mb,mb=d)}else b=mb,mb=d;for(;mb!==d;)Ze.push(mb),\nmb=b,F(),44===f.charCodeAt(b)?(ed=ua,b++):(ed=d,0===w&&x(va)),ed!==d?(F(),xb=Mk(),xb!==d?(B=mb,mb=xb):(b=mb,mb=d)):(b=mb,mb=d);B=Eb;Eb=[jg].concat(Ze)}else b=Eb,Eb=d;z[ig]={i:b,result:Eb};Qa=Eb}if(Qa!==d){var ji=P();if(ji!==d){if(f.substr(b,9)===fp){var sb=fp;b+=9}else sb=d,0===w&&x(cw);if(sb!==d){var fd=P();if(fd!==d){var kg=ta();kg!==d?(B=Xa,Xa=[\"quantifiedExpr\",[\"quantifier\",dd]].concat(Qa,[[\"predicateExpr\",kg]])):(b=Xa,Xa=d)}else b=Xa,Xa=d}else b=Xa,Xa=d}else b=Xa,Xa=d}else b=Xa,Xa=d}else b=Xa,\nXa=d}else b=Xa,Xa=d;z[gg]={i:b,result:Xa};q=Xa}q!==d&&(B=k,q=$b(q));k=q;if(k===d){k=b;var lg=233*b+62,$e=z[lg];if($e)b=$e.i,q=$e.result;else{var Da=b;if(f.substr(b,10)===ki){var af=ki;b+=10}else af=d,0===w&&x(gp);if(af!==d){F();if(40===f.charCodeAt(b)){var me=fb;b++}else me=d,0===w&&x(gb);if(me!==d){var Kd=pc();if(Kd!==d){if(41===f.charCodeAt(b)){var mg=Oa;b++}else mg=d,0===w&&x(Pa);if(mg!==d){F();var Ld=[];var Ma=b;var Lc=hp();if(Lc!==d){var ya=F();B=Ma;Ma=Lc}else b=Ma,Ma=d;if(Ma!==d)for(;Ma!==d;)Ld.push(Ma),\nMa=b,Lc=hp(),Lc!==d?(ya=F(),B=Ma,Ma=Lc):(b=Ma,Ma=d);else Ld=d;if(Ld!==d)if(f.substr(b,7)===bc?(Ma=bc,b+=7):(Ma=d,0===w&&x(Pe)),Ma!==d)if(Lc=P(),Lc!==d){ya=b;if(36===f.charCodeAt(b)){var ne=Jc;b++}else ne=d,0===w&&x(Kc);if(ne!==d){var oe=Aa();if(oe!==d){var tc=P();tc!==d?(B=ya,ya=oe):(b=ya,ya=d)}else b=ya,ya=d}else b=ya,ya=d;ya===d&&(ya=null);f.substr(b,6)===Jd?(ne=Jd,b+=6):(ne=d,0===w&&x(ii));ne!==d?(oe=P(),oe!==d?(tc=ta(),tc!==d?(B=Da,Da=[\"typeswitchExpr\",[\"argExpr\",Kd]].concat(Ld,[[\"typeswitchExprDefaultClause\"].concat(ya||\n[],[[\"resultExpr\",tc]])])):(b=Da,Da=d)):(b=Da,Da=d)):(b=Da,Da=d)}else b=Da,Da=d;else b=Da,Da=d;else b=Da,Da=d}else b=Da,Da=d}else b=Da,Da=d}else b=Da,Da=d}else b=Da,Da=d;z[lg]={i:b,result:Da};q=Da}q!==d&&(B=k,q=$b(q));k=q;if(k===d){k=b;var ng=233*b+65,bf=z[ng];if(bf)b=bf.i,q=bf.result;else{var Ga=b;if(f.substr(b,2)===li){var cf=li;b+=2}else cf=d,0===w&&x(ip);if(cf!==d){F();if(40===f.charCodeAt(b)){var Ub=fb;b++}else Ub=d,0===w&&x(gb);if(Ub!==d){F();var og=pc();if(og!==d){F();if(41===f.charCodeAt(b)){var pg=\nOa;b++}else pg=d,0===w&&x(Pa);if(pg!==d){F();if(f.substr(b,4)===jp){var df=jp;b+=4}else df=d,0===w&&x(dw);if(df!==d){var Md=za();if(Md!==d){F();var pe=ta();if(pe!==d){F();if(f.substr(b,4)===kp){var qe=kp;b+=4}else qe=d,0===w&&x(ew);if(qe!==d){var mi=za();if(mi!==d){F();var ef=ta();ef!==d?(B=Ga,Ga=[\"ifThenElseExpr\",[\"ifClause\",og],[\"thenClause\",pe],[\"elseClause\",ef]]):(b=Ga,Ga=d)}else b=Ga,Ga=d}else b=Ga,Ga=d}else b=Ga,Ga=d}else b=Ga,Ga=d}else b=Ga,Ga=d}else b=Ga,Ga=d}else b=Ga,Ga=d}else b=Ga,Ga=d}else b=\nGa,Ga=d;z[ng]={i:b,result:Ga};q=Ga}q!==d&&(B=k,q=$b(q));k=q;if(k===d){k=b;var re=233*b+214,gd=z[re];if(gd)b=gd.i,q=gd.result;else{var Ra=b;if(f.substr(b,6)===lp){var ff=lp;b+=6}else ff=d,0===w&&x(fw);if(ff!==d){var qg=P();if(qg!==d){if(f.substr(b,5)===ni){var Mc=ni;b+=5}else Mc=d,0===w&&x(mp);Mc===d&&(f.substr(b,4)===Nc?(Mc=Nc,b+=4):(Mc=d,0===w&&x(rg)));if(Mc!==d){var se=P();if(se!==d){var sg=ta();if(sg!==d){var tg=P();if(tg!==d){var Ya,ug=233*b+213,te=z[ug];if(te){b=te.i;var gf=te.result}else{var Ea=\nYa=b;if(f.substr(b,2)===db){var Ob=db;b+=2}else Ob=d,0===w&&x(rc);if(Ob!==d){var oi=P();if(oi!==d){var ec=b;if(f.substr(b,5)===np){var Pb=np;b+=5}else Pb=d,0===w&&x(gw);Pb!==d&&(B=ec,Pb=[\"insertAsFirst\"]);ec=Pb;ec===d&&(ec=b,f.substr(b,4)===op?(Pb=op,b+=4):(Pb=d,0===w&&x(hw)),Pb!==d&&(B=ec,Pb=[\"insertAsLast\"]),ec=Pb);ec!==d?(Pb=P(),Pb!==d?(B=Ea,Ea=ec):(b=Ea,Ea=d)):(b=Ea,Ea=d)}else b=Ea,Ea=d}else b=Ea,Ea=d;Ea===d&&(Ea=null);f.substr(b,4)===pp?(Ob=pp,b+=4):(Ob=d,0===w&&x(iw));Ob!==d?(B=Ya,Ya=Ea?[\"insertInto\",\nEa]:[\"insertInto\"]):(b=Ya,Ya=d);Ya===d&&(Ya=b,f.substr(b,5)===qp?(Ea=qp,b+=5):(Ea=d,0===w&&x(jw)),Ea!==d&&(B=Ya,Ea=[\"insertAfter\"]),Ya=Ea,Ya===d&&(Ya=b,f.substr(b,6)===rp?(Ea=rp,b+=6):(Ea=d,0===w&&x(kw)),Ea!==d&&(B=Ya,Ea=[\"insertBefore\"]),Ya=Ea));z[ug]={i:b,result:Ya};gf=Ya}if(gf!==d){var vg=P();if(vg!==d){var Vb=ta();Vb!==d?(B=Ra,Ra=[\"insertExpr\",[\"sourceExpr\",sg],gf,[\"targetExpr\",Vb]]):(b=Ra,Ra=d)}else b=Ra,Ra=d}else b=Ra,Ra=d}else b=Ra,Ra=d}else b=Ra,Ra=d}else b=Ra,Ra=d}else b=Ra,Ra=d}else b=Ra,\nRa=d}else b=Ra,Ra=d;z[re]={i:b,result:Ra};q=Ra}q!==d&&(B=k,q=$b(q));k=q;if(k===d){k=b;var wg=233*b+215,nb=z[wg];if(nb)b=nb.i,q=nb.result;else{var eb=b;if(f.substr(b,6)===sp){var xg=sp;b+=6}else xg=d,0===w&&x(lw);if(xg!==d){var pi=P();if(pi!==d){if(f.substr(b,5)===ni){var hd=ni;b+=5}else hd=d,0===w&&x(mp);hd===d&&(f.substr(b,4)===Nc?(hd=Nc,b+=4):(hd=d,0===w&&x(rg)));if(hd!==d){var qi=P();if(qi!==d){var hf=ta();hf!==d?(B=eb,eb=[\"deleteExpr\",[\"targetExpr\",hf]]):(b=eb,eb=d)}else b=eb,eb=d}else b=eb,eb=\nd}else b=eb,eb=d}else b=eb,eb=d;z[wg]={i:b,result:eb};q=eb}q!==d&&(B=k,q=$b(q));k=q;if(k===d){k=b;var yg=233*b+217,ue=z[yg];if(ue)b=ue.i,q=ue.result;else{var Ha=b;if(f.substr(b,6)===tp){var Wb=tp;b+=6}else Wb=d,0===w&&x(mw);if(Wb!==d){var ri=P();if(ri!==d){if(f.substr(b,4)===Nc){var zg=Nc;b+=4}else zg=d,0===w&&x(rg);if(zg!==d){F();var Ag=ta();if(Ag!==d){var jf=P();if(jf!==d){if(f.substr(b,2)===db){var Bg=db;b+=2}else Bg=d,0===w&&x(rc);if(Bg!==d){var Cg=P();if(Cg!==d){var Fb=ta();Fb!==d?(B=Ha,Ha=[\"renameExpr\",\n[\"targetExpr\",Ag],[\"newNameExpr\",Fb]]):(b=Ha,Ha=d)}else b=Ha,Ha=d}else b=Ha,Ha=d}else b=Ha,Ha=d}else b=Ha,Ha=d}else b=Ha,Ha=d}else b=Ha,Ha=d}else b=Ha,Ha=d;z[yg]={i:b,result:Ha};q=Ha}q!==d&&(B=k,q=$b(q));k=q;if(k===d){k=b;var Dg=233*b+216,kf=z[Dg];if(kf)b=kf.i,q=kf.result;else{var Sa=b;if(f.substr(b,7)===up){var lf=up;b+=7}else lf=d,0===w&&x(nw);if(lf!==d){var si=P();if(si!==d){var Ta=b;if(f.substr(b,5)===vp){var Xb=vp;b+=5}else Xb=d,0===w&&x(ow);if(Xb!==d){var mf=P();if(mf!==d){if(f.substr(b,2)===\nti){var Oc=ti;b+=2}else Oc=d,0===w&&x(wp);if(Oc!==d){var ve=P();ve!==d?Ta=Xb=[Xb,mf,Oc,ve]:(b=Ta,Ta=d)}else b=Ta,Ta=d}else b=Ta,Ta=d}else b=Ta,Ta=d;Ta===d&&(Ta=null);f.substr(b,4)===Nc?(Xb=Nc,b+=4):(Xb=d,0===w&&x(rg));if(Xb!==d)if(mf=P(),mf!==d)if(Oc=ta(),Oc!==d)if(ve=P(),ve!==d){if(f.substr(b,4)===xp){var nf=xp;b+=4}else nf=d,0===w&&x(pw);if(nf!==d){var fc=P();if(fc!==d){var of=ta();of!==d?(B=Sa,Sa=Ta?[\"replaceExpr\",[\"replaceValue\"],[\"targetExpr\",Oc],[\"replacementExpr\",of]]:[\"replaceExpr\",[\"targetExpr\",\nOc],[\"replacementExpr\",of]]):(b=Sa,Sa=d)}else b=Sa,Sa=d}else b=Sa,Sa=d}else b=Sa,Sa=d;else b=Sa,Sa=d;else b=Sa,Sa=d;else b=Sa,Sa=d}else b=Sa,Sa=d}else b=Sa,Sa=d;z[Dg]={i:b,result:Sa};q=Sa}q!==d&&(B=k,q=$b(q));k=q;if(k===d){k=b;var Eg=233*b+218,gc=z[Eg];if(gc)b=gc.i,q=gc.result;else{var Ia=b;if(f.substr(b,4)===yp){var Nd=yp;b+=4}else Nd=d,0===w&&x(qw);if(Nd!==d){var tb=P();if(tb!==d){var Od=Nk();if(Od!==d){var Pd=[];var jb=b;var Qd=F();if(44===f.charCodeAt(b)){var yb=ua;b++}else yb=d,0===w&&x(va);\nif(yb!==d){var we=F();var uc=Nk();uc!==d?(B=jb,jb=uc):(b=jb,jb=d)}else b=jb,jb=d;for(;jb!==d;)Pd.push(jb),jb=b,Qd=F(),44===f.charCodeAt(b)?(yb=ua,b++):(yb=d,0===w&&x(va)),yb!==d?(we=F(),uc=Nk(),uc!==d?(B=jb,jb=uc):(b=jb,jb=d)):(b=jb,jb=d);jb=F();f.substr(b,6)===zp?(Qd=zp,b+=6):(Qd=d,0===w&&x(rw));if(Qd!==d)if(yb=P(),yb!==d)if(we=ta(),we!==d)if(uc=P(),uc!==d){if(f.substr(b,6)===Jd){var Qb=Jd;b+=6}else Qb=d,0===w&&x(ii);if(Qb!==d){var Pc=P();if(Pc!==d){var Fg=ta();Fg!==d?(B=Ia,Ia=[\"transformExpr\",[\"transformCopies\",\nOd].concat(Pd),[\"modifyExpr\",we],[\"returnExpr\",Fg]]):(b=Ia,Ia=d)}else b=Ia,Ia=d}else b=Ia,Ia=d}else b=Ia,Ia=d;else b=Ia,Ia=d;else b=Ia,Ia=d;else b=Ia,Ia=d}else b=Ia,Ia=d}else b=Ia,Ia=d}else b=Ia,Ia=d;z[Eg]={i:b,result:Ia};q=Ia}q!==d&&(B=k,q=$b(q));k=q;if(k===d){k=b;var Qc=233*b+66,pf=z[Qc];if(pf)b=pf.i,q=pf.result;else{var id=b;var ob=Ok();if(ob!==d){var Rd=[];var Ua=b;F();if(f.substr(b,2)===ui){var Sd=ui;b+=2}else Sd=d,0===w&&x(Ap);if(Sd!==d){var qf=za();if(qf!==d){F();var jd=Ok();jd!==d?(B=Ua,Ua=\njd):(b=Ua,Ua=d)}else b=Ua,Ua=d}else b=Ua,Ua=d;for(;Ua!==d;)Rd.push(Ua),Ua=b,F(),f.substr(b,2)===ui?(Sd=ui,b+=2):(Sd=d,0===w&&x(Ap)),Sd!==d?(qf=za(),qf!==d?(F(),jd=Ok(),jd!==d?(B=Ua,Ua=jd):(b=Ua,Ua=d)):(b=Ua,Ua=d)):(b=Ua,Ua=d);B=id;id=vi(\"orOp\",ob,Rd)}else b=id,id=d;z[Qc]={i:b,result:id};q=id}q!==d&&(B=k,q=$b(q));k=q}}}}}}}}}z[h]={i:b,result:k};return k}function bp(){var h,u=233*b+40;if(h=z[u])return b=h.i,h.result;var k;h=233*b+42;if(k=z[h])b=k.i,h=k.result;else{k=b;if(f.substr(b,3)===Bp){var l=Bp;\nb+=3}else l=d,0===w&&x(sw);if(l!==d)if(l=P(),l!==d)if(l=Pk(),l!==d){var n=[];var q=b;F();if(44===f.charCodeAt(b)){var r=ua;b++}else r=d,0===w&&x(va);r!==d?(F(),r=Pk(),r!==d?(B=q,q=r):(b=q,q=d)):(b=q,q=d);for(;q!==d;)n.push(q),q=b,F(),44===f.charCodeAt(b)?(r=ua,b++):(r=d,0===w&&x(va)),r!==d?(F(),r=Pk(),r!==d?(B=q,q=r):(b=q,q=d)):(b=q,q=d);B=k;k=[\"forClause\",l].concat(n)}else b=k,k=d;else b=k,k=d;else b=k,k=d;z[h]={i:b,result:k};h=k}if(h===d)if(h=233*b+46,k=z[h])b=k.i,h=k.result;else{k=b;f.substr(b,\n3)===Cp?(l=Cp,b+=3):(l=d,0===w&&x(tw));if(l!==d)if(F(),l=Qk(),l!==d){F();n=[];q=b;44===f.charCodeAt(b)?(r=ua,b++):(r=d,0===w&&x(va));r!==d?(F(),r=Qk(),r!==d?(B=q,q=r):(b=q,q=d)):(b=q,q=d);for(;q!==d;)n.push(q),q=b,44===f.charCodeAt(b)?(r=ua,b++):(r=d,0===w&&x(va)),r!==d?(F(),r=Qk(),r!==d?(B=q,q=r):(b=q,q=d)):(b=q,q=d);B=k;k=[\"letClause\",l].concat(n)}else b=k,k=d;else b=k,k=d;z[h]={i:b,result:k};h=k}z[u]={i:b,result:h};return h}function cp(){var h,u=233*b+41;if(h=z[u])return b=h.i,h.result;h=bp();\nif(h===d){var k;h=233*b+48;if(k=z[h])b=k.i,h=k.result;else{k=b;if(f.substr(b,5)===Dp){var l=Dp;b+=5}else l=d,0===w&&x(uw);l!==d?(l=za(),l!==d?(F(),l=ta(),l!==d?(B=k,k=[\"whereClause\",l]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d);z[h]={i:b,result:k};h=k}if(h===d){h=233*b+49;if(k=z[h])b=k.i,h=k.result;else{k=b;f.substr(b,5)===Ep?(l=Ep,b+=5):(l=d,0===w&&x(vw));if(l!==d)if(l=P(),l!==d)if(f.substr(b,2)===rf?(l=rf,b+=2):(l=d,0===w&&x(Rk)),l!==d){F();var n;l=233*b+50;if(n=z[l])b=n.i,l=n.result;else{n=b;var q=Sk();\nif(q!==d){var r=[];var y=b;F();if(44===f.charCodeAt(b)){var C=ua;b++}else C=d,0===w&&x(va);C!==d?(F(),C=Sk(),C!==d?(B=y,y=C):(b=y,y=d)):(b=y,y=d);for(;y!==d;)r.push(y),y=b,F(),44===f.charCodeAt(b)?(C=ua,b++):(C=d,0===w&&x(va)),C!==d?(F(),C=Sk(),C!==d?(B=y,y=C):(b=y,y=d)):(b=y,y=d);B=n;n=[q].concat(r)}else b=n,n=d;z[l]={i:b,result:n};l=n}l!==d?(B=k,k=[\"groupByClause\"].concat(l)):(b=k,k=d)}else b=k,k=d;else b=k,k=d;else b=k,k=d;z[h]={i:b,result:k};h=k}if(h===d)if(h=233*b+54,k=z[h])b=k.i,h=k.result;\nelse{l=k=b;f.substr(b,5)===Re?(n=Re,b+=5):(n=d,0===w&&x(Gk));n!==d?(n=P(),n!==d?(f.substr(b,2)===rf?(n=rf,b+=2):(n=d,0===w&&x(Rk)),n!==d?(B=l,l=!1):(b=l,l=d)):(b=l,l=d)):(b=l,l=d);l===d&&(l=b,f.substr(b,6)===Fp?(n=Fp,b+=6):(n=d,0===w&&x(ww)),n!==d?(n=P(),n!==d?(f.substr(b,5)===Re?(n=Re,b+=5):(n=d,0===w&&x(Gk)),n!==d?(n=P(),n!==d?(f.substr(b,2)===rf?(n=rf,b+=2):(n=d,0===w&&x(Rk)),n!==d?(B=l,l=!0):(b=l,l=d)):(b=l,l=d)):(b=l,l=d)):(b=l,l=d)):(b=l,l=d));if(l!==d){F();n=233*b+55;if(q=z[n])b=q.i,n=q.result;\nelse{q=b;r=Tk();if(r!==d){y=[];C=b;F();if(44===f.charCodeAt(b)){var J=ua;b++}else J=d,0===w&&x(va);J!==d?(F(),J=Tk(),J!==d?(B=C,C=J):(b=C,C=d)):(b=C,C=d);for(;C!==d;)y.push(C),C=b,F(),44===f.charCodeAt(b)?(J=ua,b++):(J=d,0===w&&x(va)),J!==d?(F(),J=Tk(),J!==d?(B=C,C=J):(b=C,C=d)):(b=C,C=d);B=q;q=[r].concat(y)}else b=q,q=d;z[n]={i:b,result:q};n=q}n!==d?(B=k,k=[\"orderByClause\"].concat(l?[[\"stable\"]]:[],n)):(b=k,k=d)}else b=k,k=d;z[h]={i:b,result:k};h=k}}}z[u]={i:b,result:h};return h}function Pk(){var h,\nu,k=233*b+43;if(h=z[k])return b=h.i,h.result;h=b;if(36===f.charCodeAt(b)){var l=Jc;b++}else l=d,0===w&&x(Kc);if(l!==d)if(l=Aa(),l!==d){F();var n=We();n===d&&(n=null);F();var q=233*b+44;if(u=z[q])b=u.i,q=u.result;else{u=b;if(f.substr(b,8)===Gp){var r=Gp;b+=8}else r=d,0===w&&x(xw);if(r!==d){var y=P();if(y!==d){if(f.substr(b,5)===Se){var C=Se;b+=5}else C=d,0===w&&x(Hk);C!==d?u=r=[r,y,C]:(b=u,u=d)}else b=u,u=d}else b=u,u=d;z[q]={i:b,result:u};q=u}q===d&&(q=null);F();u=233*b+45;(r=z[u])?(b=r.i,u=r.result):\n(r=b,f.substr(b,2)===Te?(y=Te,b+=2):(y=d,0===w&&x(Ik)),y!==d?(y=P(),y!==d?(36===f.charCodeAt(b)?(y=Jc,b++):(y=d,0===w&&x(Kc)),y!==d?(y=Aa(),y!==d?(B=r,r=[\"positionalVariableBinding\"].concat(y)):(b=r,r=d)):(b=r,r=d)):(b=r,r=d)):(b=r,r=d),z[u]={i:b,result:r},u=r);u===d&&(u=null);F();f.substr(b,2)===wi?(r=wi,b+=2):(r=d,0===w&&x(Hp));r!==d?(F(),r=ta(),r!==d?(B=h,h=[\"forClauseItem\",[\"typedVariableBinding\",[\"varName\"].concat(l,n?[n]:[])]].concat(q?[[\"allowingEmpty\"]]:[],u?[u]:[],[[\"forExpr\",r]])):(b=h,\nh=d)):(b=h,h=d)}else b=h,h=d;else b=h,h=d;z[k]={i:b,result:h};return h}function Qk(){var h,u=233*b+47;if(h=z[u])return b=h.i,h.result;h=b;if(36===f.charCodeAt(b)){var k=Jc;b++}else k=d,0===w&&x(Kc);if(k!==d)if(k=Aa(),k!==d){F();var l=We();l===d&&(l=null);F();if(f.substr(b,2)===Mb){var n=Mb;b+=2}else n=d,0===w&&x(ie);n!==d?(F(),n=ta(),n!==d?(B=h,h=[\"letClauseItem\",[\"typedVariableBinding\",[\"varName\"].concat(k)].concat(l?[l]:[]),[\"letExpr\",n]]):(b=h,h=d)):(b=h,h=d)}else b=h,h=d;else b=h,h=d;z[u]={i:b,\nresult:h};return h}function Sk(){var h,u,k=233*b+51;if(h=z[k])return b=h.i,h.result;h=b;var l=233*b+53;if(u=z[l])b=u.i,l=u.result;else{u=b;if(36===f.charCodeAt(b)){var n=Jc;b++}else n=d,0===w&&x(Kc);n!==d?(n=Aa(),n!==d?(B=u,u=[\"varName\"].concat(n)):(b=u,u=d)):(b=u,u=d);z[l]={i:b,result:u};l=u}if(l!==d){u=233*b+52;if(n=z[u])b=n.i,u=n.result;else{n=b;F();var q=We();q===d&&(q=null);F();if(f.substr(b,2)===Mb){var r=Mb;b+=2}else r=d,0===w&&x(ie);r!==d?(F(),r=ta(),r!==d?(B=n,n=[\"groupVarInitialize\"].concat(q?\n[[\"typeDeclaration\"].concat(q)]:[],[[\"varValue\",r]])):(b=n,n=d)):(b=n,n=d);z[u]={i:b,result:n};u=n}u===d&&(u=null);n=b;F();f.substr(b,9)===Qe?(q=Qe,b+=9):(q=d,0===w&&x(Fk));q!==d?(F(),q=bb(),q!==d?(B=n,n=[\"collation\",q]):(b=n,n=d)):(b=n,n=d);n===d&&(n=null);B=h;h=[\"groupingSpec\",l].concat(u?[u]:[],n?[n]:[])}else b=h,h=d;z[k]={i:b,result:h};return h}function Tk(){var h,u=233*b+56;if(h=z[u])return b=h.i,h.result;h=b;var k=ta();if(k!==d){F();var l;var n=233*b+57;if(l=z[n])b=l.i,n=l.result;else{l=b;if(f.substr(b,\n9)===Ip){var q=Ip;b+=9}else q=d,0===w&&x(yw);q===d&&(f.substr(b,10)===Jp?(q=Jp,b+=10):(q=d,0===w&&x(zw)));q===d&&(q=null);F();var r=b;if(f.substr(b,5)===Se){var y=Se;b+=5}else y=d,0===w&&x(Hk);if(y!==d){F();var C=b;if(f.substr(b,8)===ci){var J=ci;b+=8}else J=d,0===w&&x(zo);J!==d&&(B=C,J=\"empty greatest\");C=J;C===d&&(C=b,f.substr(b,5)===di?(J=di,b+=5):(J=d,0===w&&x(Ao)),J!==d&&(B=C,J=\"empty least\"),C=J);C!==d?(B=r,r=C):(b=r,r=d)}else b=r,r=d;r===d&&(r=null);F();y=b;f.substr(b,9)===Qe?(C=Qe,b+=9):(C=\nd,0===w&&x(Fk));if(C!==d){J=F();var N=bb();N!==d?y=C=[C,J,N]:(b=y,y=d)}else b=y,y=d;y===d&&(y=null);B=l;l=q||r||y?[\"orderModifier\"].concat(q?[[\"orderingKind\",q]]:[],r?[[\"emptyOrderingMode\",r]]:[],y?[[\"collation\",y]]:[]):null;z[n]={i:b,result:l};n=l}B=h;h=[\"orderBySpec\",[\"orderByExpr\",k]].concat(n?[n]:[])}else b=h,h=d;z[u]={i:b,result:h};return h}function Mk(){var h,u=233*b+61;if(h=z[u])return b=h.i,h.result;h=b;if(36===f.charCodeAt(b)){var k=Jc;b++}else k=d,0===w&&x(Kc);if(k!==d)if(k=Aa(),k!==d){var l=\nb;var n=P();n!==d?(n=We(),n!==d?(B=l,l=n):(b=l,l=d)):(b=l,l=d);l===d&&(l=null);n=P();n!==d?(f.substr(b,2)===wi?(n=wi,b+=2):(n=d,0===w&&x(Hp)),n!==d?(n=P(),n!==d?(n=ta(),n!==d?(B=h,h=[\"quantifiedExprInClause\",[\"typedVariableBinding\",[\"varName\"].concat(k)].concat(l?[l]:[]),[\"sourceExpr\",n]]):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)}else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function hp(){var h,u=233*b+63;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,4)===Kp){var k=Kp;b+=4}else k=d,\n0===w&&x(Aw);if(k!==d){F();k=b;if(36===f.charCodeAt(b)){var l=Jc;b++}else l=d,0===w&&x(Kc);if(l!==d)if(l=Aa(),l!==d){var n=P();n!==d?(f.substr(b,2)===db?(n=db,b+=2):(n=d,0===w&&x(rc)),n!==d?(B=k,k=l):(b=k,k=d)):(b=k,k=d)}else b=k,k=d;else b=k,k=d;k===d&&(k=null);F();l=233*b+64;if(n=z[l])b=n.i,l=n.result;else{n=b;var q=Nb();if(q!==d){var r=[];var y=b;F();if(124===f.charCodeAt(b)){var C=xi;b++}else C=d,0===w&&x(yi);C!==d?(F(),C=Nb(),C!==d?(B=y,y=C):(b=y,y=d)):(b=y,y=d);for(;y!==d;)r.push(y),y=b,F(),\n124===f.charCodeAt(b)?(C=xi,b++):(C=d,0===w&&x(yi)),C!==d?(F(),C=Nb(),C!==d?(B=y,y=C):(b=y,y=d)):(b=y,y=d);B=n;n=O(q,r)}else b=n,n=d;z[l]={i:b,result:n};l=n}l!==d?(n=P(),n!==d?(f.substr(b,6)===Jd?(n=Jd,b+=6):(n=d,0===w&&x(ii)),n!==d?(n=P(),n!==d?(n=ta(),n!==d?(B=h,h=[\"typeswitchExprCaseClause\"].concat(k?[[\"variableBinding\"].concat(k)]:[],l,[[\"resultExpr\",n]])):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)}else b=h,h=d;z[u]={i:b,result:h};return h}function Ok(){var h,u=233*b+67;if(h=z[u])return b=\nh.i,h.result;h=b;var k=Uk();if(k!==d){var l=[];var n=b;F();if(f.substr(b,3)===zi){var q=zi;b+=3}else q=d,0===w&&x(Lp);q!==d?(q=za(),q!==d?(F(),q=Uk(),q!==d?(B=n,n=q):(b=n,n=d)):(b=n,n=d)):(b=n,n=d);for(;n!==d;)l.push(n),n=b,F(),f.substr(b,3)===zi?(q=zi,b+=3):(q=d,0===w&&x(Lp)),q!==d?(q=za(),q!==d?(F(),q=Uk(),q!==d?(B=n,n=q):(b=n,n=d)):(b=n,n=d)):(b=n,n=d);B=h;h=vi(\"andOp\",k,l)}else b=h,h=d;z[u]={i:b,result:h};return h}function Uk(){var h,u,k=233*b+68;if(h=z[k])return b=h.i,h.result;h=b;var l=Mp();\nif(l!==d){var n=b;F();var q=233*b+83;if(u=z[q])b=u.i,q=u.result;else{u=b;if(f.substr(b,2)===Np){var r=Np;b+=2}else r=d,0===w&&x(Bw);r!==d?(r=za(),r!==d?(B=u,u=\"eqOp\"):(b=u,u=d)):(b=u,u=d);u===d&&(u=b,f.substr(b,2)===Op?(r=Op,b+=2):(r=d,0===w&&x(Cw)),r!==d?(r=za(),r!==d?(B=u,u=\"neOp\"):(b=u,u=d)):(b=u,u=d),u===d&&(u=b,f.substr(b,2)===Ai?(r=Ai,b+=2):(r=d,0===w&&x(Pp)),r!==d?(r=za(),r!==d?(B=u,u=\"ltOp\"):(b=u,u=d)):(b=u,u=d),u===d&&(u=b,f.substr(b,2)===Qp?(r=Qp,b+=2):(r=d,0===w&&x(Dw)),r!==d?(r=za(),r!==\nd?(B=u,u=\"leOp\"):(b=u,u=d)):(b=u,u=d),u===d&&(u=b,f.substr(b,2)===Bi?(r=Bi,b+=2):(r=d,0===w&&x(Rp)),r!==d?(r=za(),r!==d?(B=u,u=\"gtOp\"):(b=u,u=d)):(b=u,u=d),u===d&&(u=b,f.substr(b,2)===Sp?(r=Sp,b+=2):(r=d,0===w&&x(Ew)),r!==d?(r=za(),r!==d?(B=u,u=\"geOp\"):(b=u,u=d)):(b=u,u=d))))));z[q]={i:b,result:u};q=u}q===d&&(q=233*b+84,(u=z[q])?(b=u.i,q=u.result):(u=b,f.substr(b,2)===Tp?(r=Tp,b+=2):(r=d,0===w&&x(Fw)),r!==d?(r=za(),r!==d?(B=u,u=\"isOp\"):(b=u,u=d)):(b=u,u=d),u===d&&(u=b,f.substr(b,2)===Up?(r=Up,b+=\n2):(r=d,0===w&&x(Gw)),r!==d&&(B=u,r=\"nodeBeforeOp\"),u=r,u===d&&(u=b,f.substr(b,2)===Vp?(r=Vp,b+=2):(r=d,0===w&&x(Hw)),r!==d&&(B=u,r=\"nodeAfterOp\"),u=r)),z[q]={i:b,result:u},q=u),q===d&&(q=233*b+82,(u=z[q])?(b=u.i,q=u.result):(u=b,61===f.charCodeAt(b)?(r=Cd,b++):(r=d,0===w&&x(Dd)),r!==d&&(B=u,r=\"equalOp\"),u=r,u===d&&(u=b,f.substr(b,2)===Wp?(r=Wp,b+=2):(r=d,0===w&&x(Iw)),r!==d&&(B=u,r=\"notEqualOp\"),u=r,u===d&&(u=b,f.substr(b,2)===Xp?(r=Xp,b+=2):(r=d,0===w&&x(Jw)),r!==d&&(B=u,r=\"lessThanOrEqualOp\"),\nu=r,u===d&&(u=b,60===f.charCodeAt(b)?(r=Yp,b++):(r=d,0===w&&x(Zp)),r!==d&&(B=u,r=\"lessThanOp\"),u=r,u===d&&(u=b,f.substr(b,2)===$p?(r=$p,b+=2):(r=d,0===w&&x(Kw)),r!==d&&(B=u,r=\"greaterThanOrEqualOp\"),u=r,u===d&&(u=b,62===f.charCodeAt(b)?(r=Vk,b++):(r=d,0===w&&x(Wk)),r!==d&&(B=u,r=\"greaterThanOp\"),u=r))))),z[q]={i:b,result:u},q=u)));q!==d?(F(),u=Mp(),u!==d?(B=n,n=[q,u]):(b=n,n=d)):(b=n,n=d);n===d&&(n=null);B=h;h=n?[n[0],[\"firstOperand\",l],[\"secondOperand\",n[1]]]:l}else b=h,h=d;z[k]={i:b,result:h};return h}\nfunction Mp(){var h,u=233*b+69;if(h=z[u])return b=h.i,h.result;h=b;var k=Xk();if(k!==d){var l=[];var n=b;F();if(f.substr(b,2)===Ci){var q=Ci;b+=2}else q=d,0===w&&x(aq);q!==d?(F(),q=Xk(),q!==d?(B=n,n=q):(b=n,n=d)):(b=n,n=d);for(;n!==d;)l.push(n),n=b,F(),f.substr(b,2)===Ci?(q=Ci,b+=2):(q=d,0===w&&x(aq)),q!==d?(F(),q=Xk(),q!==d?(B=n,n=q):(b=n,n=d)):(b=n,n=d);B=h;h=vi(\"stringConcatenateOp\",k,l)}else b=h,h=d;z[u]={i:b,result:h};return h}function Xk(){var h,u=233*b+70;if(h=z[u])return b=h.i,h.result;h=\nb;var k=bq();if(k!==d){var l=b;F();if(f.substr(b,2)===cq){var n=cq;b+=2}else n=d,0===w&&x(Lw);n!==d?(n=za(),n!==d?(F(),n=bq(),n!==d?(B=l,l=n):(b=l,l=d)):(b=l,l=d)):(b=l,l=d);l===d&&(l=null);B=h;h=null===l?k:[\"rangeSequenceExpr\",[\"startExpr\",k],[\"endExpr\",l]]}else b=h,h=d;z[u]={i:b,result:h};return h}function bq(){var h,u=233*b+71;if(h=z[u])return b=h.i,h.result;h=b;var k=Yk();if(k!==d){var l=[];var n=b;F();var q=b;if(45===f.charCodeAt(b)){var r=kd;b++}else r=d,0===w&&x(ld);r!==d&&(B=q,r=\"subtractOp\");\nq=r;q===d&&(q=b,43===f.charCodeAt(b)?(r=Di,b++):(r=d,0===w&&x(Ei)),r!==d&&(B=q,r=\"addOp\"),q=r);q!==d?(F(),r=Yk(),r!==d?(B=n,n=[q,r]):(b=n,n=d)):(b=n,n=d);for(;n!==d;)l.push(n),n=b,F(),q=b,45===f.charCodeAt(b)?(r=kd,b++):(r=d,0===w&&x(ld)),r!==d&&(B=q,r=\"subtractOp\"),q=r,q===d&&(q=b,43===f.charCodeAt(b)?(r=Di,b++):(r=d,0===w&&x(Ei)),r!==d&&(B=q,r=\"addOp\"),q=r),q!==d?(F(),r=Yk(),r!==d?(B=n,n=[q,r]):(b=n,n=d)):(b=n,n=d);B=h;h=M(k,l)}else b=h,h=d;z[u]={i:b,result:h};return h}function Yk(){var h,u=233*\nb+72;if(h=z[u])return b=h.i,h.result;h=b;var k=Zk();if(k!==d){var l=[];var n=b;F();var q=b;if(42===f.charCodeAt(b)){var r=vc;b++}else r=d,0===w&&x(wc);r!==d&&(B=q,r=\"multiplyOp\");q=r;q===d&&(q=b,f.substr(b,3)===Fi?(r=Fi,b+=3):(r=d,0===w&&x(dq)),r!==d?(r=za(),r!==d?(B=q,q=\"divOp\"):(b=q,q=d)):(b=q,q=d),q===d&&(q=b,f.substr(b,4)===Gi?(r=Gi,b+=4):(r=d,0===w&&x(eq)),r!==d?(r=za(),r!==d?(B=q,q=\"idivOp\"):(b=q,q=d)):(b=q,q=d),q===d&&(q=b,f.substr(b,3)===Hi?(r=Hi,b+=3):(r=d,0===w&&x(fq)),r!==d?(r=za(),r!==\nd?(B=q,q=\"modOp\"):(b=q,q=d)):(b=q,q=d))));q!==d?(F(),r=Zk(),r!==d?(B=n,n=[q,r]):(b=n,n=d)):(b=n,n=d);for(;n!==d;)l.push(n),n=b,F(),q=b,42===f.charCodeAt(b)?(r=vc,b++):(r=d,0===w&&x(wc)),r!==d&&(B=q,r=\"multiplyOp\"),q=r,q===d&&(q=b,f.substr(b,3)===Fi?(r=Fi,b+=3):(r=d,0===w&&x(dq)),r!==d?(r=za(),r!==d?(B=q,q=\"divOp\"):(b=q,q=d)):(b=q,q=d),q===d&&(q=b,f.substr(b,4)===Gi?(r=Gi,b+=4):(r=d,0===w&&x(eq)),r!==d?(r=za(),r!==d?(B=q,q=\"idivOp\"):(b=q,q=d)):(b=q,q=d),q===d&&(q=b,f.substr(b,3)===Hi?(r=Hi,b+=3):(r=\nd,0===w&&x(fq)),r!==d?(r=za(),r!==d?(B=q,q=\"modOp\"):(b=q,q=d)):(b=q,q=d)))),q!==d?(F(),r=Zk(),r!==d?(B=n,n=[q,r]):(b=n,n=d)):(b=n,n=d);B=h;h=I(k,l)}else b=h,h=d;z[u]={i:b,result:h};return h}function Zk(){var h,u=233*b+73;if(h=z[u])return b=h.i,h.result;h=b;var k=Gg();if(k!==d){var l=[];var n=b;F();if(124===f.charCodeAt(b)){var q=xi;b++}else q=d,0===w&&x(yi);if(q===d){q=b;if(f.substr(b,5)===Ii){var r=Ii;b+=5}else r=d,0===w&&x(gq);if(r!==d){var y=za();y!==d?q=r=[r,y]:(b=q,q=d)}else b=q,q=d}q!==d?(F(),\ny=Gg(),y!==d?(B=n,n=y):(b=n,n=d)):(b=n,n=d);for(;n!==d;)l.push(n),n=b,F(),124===f.charCodeAt(b)?(q=xi,b++):(q=d,0===w&&x(yi)),q===d&&(q=b,f.substr(b,5)===Ii?(r=Ii,b+=5):(r=d,0===w&&x(gq)),r!==d?(y=za(),y!==d?q=r=[r,y]:(b=q,q=d)):(b=q,q=d)),q!==d?(F(),y=Gg(),y!==d?(B=n,n=y):(b=n,n=d)):(b=n,n=d);B=h;h=vi(\"unionOp\",k,l)}else b=h,h=d;z[u]={i:b,result:h};return h}function Gg(){var h,u,k=233*b+74;if(h=z[k])return b=h.i,h.result;h=b;var l=233*b+75;if(u=z[l])b=u.i,l=u.result;else{u=b;var n=hq();if(n!==d){var q=\nb;F();if(f.substr(b,8)===iq){var r=iq;b+=8}else r=d,0===w&&x(Mw);r!==d?(r=P(),r!==d?(f.substr(b,2)===ti?(r=ti,b+=2):(r=d,0===w&&x(wp)),r!==d?(r=za(),r!==d?(F(),r=Nb(),r!==d?(B=q,q=r):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d);q===d&&(q=null);B=u;u=q?[\"instanceOfExpr\",[\"argExpr\",n],[\"sequenceType\"].concat(q)]:n}else b=u,u=d;u===d&&(u=hq());z[l]={i:b,result:u};l=u}if(l!==d){u=[];n=b;F();q=b;f.substr(b,9)===Ji?(r=Ji,b+=9):(r=d,0===w&&x(jq));r!==d&&(B=q,r=\"intersectOp\");q=r;q===d&&(q=b,f.substr(b,\n6)===Ki?(r=Ki,b+=6):(r=d,0===w&&x(kq)),r!==d&&(B=q,r=\"exceptOp\"),q=r);q!==d?(r=za(),r!==d?(F(),r=Gg(),r!==d?(B=n,n=[q,r]):(b=n,n=d)):(b=n,n=d)):(b=n,n=d);for(;n!==d;)u.push(n),n=b,F(),q=b,f.substr(b,9)===Ji?(r=Ji,b+=9):(r=d,0===w&&x(jq)),r!==d&&(B=q,r=\"intersectOp\"),q=r,q===d&&(q=b,f.substr(b,6)===Ki?(r=Ki,b+=6):(r=d,0===w&&x(kq)),r!==d&&(B=q,r=\"exceptOp\"),q=r),q!==d?(r=za(),r!==d?(F(),r=Gg(),r!==d?(B=n,n=[q,r]):(b=n,n=d)):(b=n,n=d)):(b=n,n=d);B=h;h=E(l,u)}else b=h,h=d;z[k]={i:b,result:h};return h}\nfunction hq(){var h,u,k=233*b+76;if(h=z[k])return b=h.i,h.result;h=b;var l;var n=233*b+77;if(u=z[n])b=u.i,n=u.result;else{u=b;var q;var r=233*b+78;if(l=z[r])b=l.i,r=l.result;else{l=b;var y=233*b+79;if(q=z[y])b=q.i,y=q.result;else{q=b;var C=$k();if(C!==d){var J=[];var N=b;F();if(f.substr(b,2)===Li){var oa=Li;b+=2}else oa=d,0===w&&x(lq);if(oa!==d)if(F(),oa=mq(),oa!==d){F();var wb=sf();wb!==d?(B=N,N=[oa,wb]):(b=N,N=d)}else b=N,N=d;else b=N,N=d;for(;N!==d;)J.push(N),N=b,F(),f.substr(b,2)===Li?(oa=Li,\nb+=2):(oa=d,0===w&&x(lq)),oa!==d?(F(),oa=mq(),oa!==d?(F(),wb=sf(),wb!==d?(B=N,N=[oa,wb]):(b=N,N=d)):(b=N,N=d)):(b=N,N=d);B=q;q=A(C,J)}else b=q,q=d;z[y]={i:b,result:q};y=q}y!==d?(q=b,F(),f.substr(b,4)===nq?(C=nq,b+=4):(C=d,0===w&&x(Nw)),C!==d?(C=P(),C!==d?(f.substr(b,2)===db?(C=db,b+=2):(C=d,0===w&&x(rc)),C!==d?(C=za(),C!==d?(F(),C=oq(),C!==d?(B=q,q=C):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d),q===d&&(q=null),B=l,l=q?[\"castExpr\",[\"argExpr\",y],q]:y):(b=l,l=d);z[r]={i:b,result:l};r=l}r!==\nd?(l=b,F(),f.substr(b,8)===pq?(y=pq,b+=8):(y=d,0===w&&x(Ow)),y!==d?(y=P(),y!==d?(f.substr(b,2)===db?(y=db,b+=2):(y=d,0===w&&x(rc)),y!==d?(y=za(),y!==d?(F(),y=oq(),y!==d?(B=l,l=y):(b=l,l=d)):(b=l,l=d)):(b=l,l=d)):(b=l,l=d)):(b=l,l=d),l===d&&(l=null),B=u,u=l?[\"castableExpr\",[\"argExpr\",r],l]:r):(b=u,u=d);z[n]={i:b,result:u};n=u}n!==d?(u=b,F(),f.substr(b,5)===qq?(r=qq,b+=5):(r=d,0===w&&x(Pw)),r!==d?(r=P(),r!==d?(f.substr(b,2)===db?(r=db,b+=2):(r=d,0===w&&x(rc)),r!==d?(r=za(),r!==d?(F(),r=Nb(),r!==d?(B=\nu,u=r):(b=u,u=d)):(b=u,u=d)):(b=u,u=d)):(b=u,u=d)):(b=u,u=d),u===d&&(u=null),B=h,h=u?[\"treatExpr\",[\"argExpr\",n],[\"sequenceType\"].concat(u)]:n):(b=h,h=d);z[k]={i:b,result:h};return h}function $k(){var h,u=233*b+80;if(h=z[u])return b=h.i,h.result;h=b;if(45===f.charCodeAt(b)){var k=kd;b++}else k=d,0===w&&x(ld);k!==d?(F(),k=$k(),k!==d?(B=h,h=[\"unaryMinusOp\",[\"operand\",k]]):(b=h,h=d)):(b=h,h=d);if(h===d&&(h=b,43===f.charCodeAt(b)?(k=Di,b++):(k=d,0===w&&x(Ei)),k!==d?(F(),k=$k(),k!==d?(B=h,h=[\"unaryPlusOp\",\n[\"operand\",k]]):(b=h,h=d)):(b=h,h=d),h===d))if(h=233*b+81,k=z[h])b=k.i,h=k.result;else{var l,n;k=233*b+85;if(l=z[k])b=l.i,k=l.result;else{l=b;if(f.substr(b,8)===rq){var q=rq;b+=8}else q=d,0===w&&x(Qw);if(q!==d){q=b;F();var r=233*b+86;(n=z[r])?(b=n.i,r=n.result):(f.substr(b,3)===sq?(n=sq,b+=3):(n=d,0===w&&x(Rw)),n===d&&(f.substr(b,6)===tq?(n=tq,b+=6):(n=d,0===w&&x(Sw))),z[r]={i:b,result:n},r=n);r!==d?(B=q,q=[\"validationMode\",r]):(b=q,q=d);q===d&&(q=b,F(),f.substr(b,4)===uq?(r=uq,b+=4):(r=d,0===w&&\nx(Tw)),r!==d?(F(),r=Aa(),r!==d?(B=q,q=[\"type\"].concat(r)):(b=q,q=d)):(b=q,q=d));q===d&&(q=null);F();123===f.charCodeAt(b)?(r=Fd,b++):(r=d,0===w&&x(Gd));r!==d?(F(),r=pc(),r!==d?(F(),125===f.charCodeAt(b)?(n=Hd,b++):(n=d,0===w&&x(Id)),n!==d?(B=l,l=[\"validateExpr\"].concat(q?[q]:[],[[\"argExpr\",r]])):(b=l,l=d)):(b=l,l=d)):(b=l,l=d)}else b=l,l=d;z[k]={i:b,result:l};k=l}if(k===d){k=233*b+87;if(l=z[k])b=l.i,k=l.result;else{l=b;q=[];r=vq();if(r!==d)for(;r!==d;)q.push(r),r=vq();else q=d;q!==d?(F(),123===f.charCodeAt(b)?\n(r=Fd,b++):(r=d,0===w&&x(Gd)),r!==d?(F(),pc(),F(),125===f.charCodeAt(b)?(r=Hd,b++):(r=d,0===w&&x(Id)),r!==d?(B=l,l=[\"extensionExpr\"].concat(q)):(b=l,l=d)):(b=l,l=d)):(b=l,l=d);z[k]={i:b,result:l};k=l}if(k===d)if(k=233*b+90,l=z[k])b=l.i,k=l.result;else{l=b;q=al();if(q!==d){r=[];n=b;F();if(33===f.charCodeAt(b)){var y=wq;b++}else y=d,0===w&&x(xq);y!==d?(F(),y=al(),y!==d?(B=n,n=y):(b=n,n=d)):(b=n,n=d);for(;n!==d;)r.push(n),n=b,F(),33===f.charCodeAt(b)?(y=wq,b++):(y=d,0===w&&x(xq)),y!==d?(F(),y=al(),y!==\nd?(B=n,n=y):(b=n,n=d)):(b=n,n=d);B=l;l=v(q,r)}else b=l,l=d;z[k]={i:b,result:l};k=l}}z[h]={i:b,result:k};h=k}z[u]={i:b,result:h};return h}function vq(){var h,u=233*b+88;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,2)===yq){var k=yq;b+=2}else k=d,0===w&&x(Uw);if(k!==d)if(P(),k=Aa(),k!==d){var l=b;var n=P();if(n!==d){var q;n=233*b+89;if(q=z[n])b=q.i,n=q.result;else{q=b;var r=[];var y=b;var C=Rb();if(C!==d){var J=b;w++;if(f.substr(b,2)===tf){var N=tf;b+=2}else N=d,0===w&&x(bl);w--;N===d?J=void 0:\n(b=J,J=d);J!==d?(B=y,y=C):(b=y,y=d)}else b=y,y=d;for(;y!==d;)r.push(y),y=b,C=Rb(),C!==d?(J=b,w++,f.substr(b,2)===tf?(N=tf,b+=2):(N=d,0===w&&x(bl)),w--,N===d?J=void 0:(b=J,J=d),J!==d?(B=y,y=C):(b=y,y=d)):(b=y,y=d);B=q;q=r=r.join(\"\");z[n]={i:b,result:q};n=q}B=l;l=n}else b=l,l=d;l===d&&(l=null);F();f.substr(b,2)===tf?(n=tf,b+=2):(n=d,0===w&&x(bl));n!==d?(B=h,h=l?[\"pragma\",[\"pragmaName\",k],[\"pragmaContents\",l]]:[\"pragma\",[\"pragmaName\",k]]):(b=h,h=d)}else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}\nfunction al(){var h,u=233*b+91;if(h=z[u])return b=h.i,h.result;var k;h=233*b+92;if(k=z[h])b=k.i,h=k.result;else{k=b;var l=uf();if(l!==d){F();var n=cl();if(n!==d){F();var q=vf();q!==d?(B=k,k=[\"pathExpr\",l,n].concat(q)):(b=k,k=d)}else b=k,k=d}else b=k,k=d;if(k===d&&(k=b,l=uf(),l!==d?(F(),47===f.charCodeAt(b)?(n=Mi,b++):(n=d,0===w&&x(Ni)),n!==d?(F(),q=vf(),q!==d?(B=k,k=[\"pathExpr\",l].concat(q)):(b=k,k=d)):(b=k,k=d)):(b=k,k=d),k===d)){k=233*b+98;if(l=z[k])b=l.i,k=l.result;else{l=b;n=zq();if(n!==d){q=\nb;w++;var r=b;var y=F();var C=Hg();C!==d?r=y=[y,C]:(b=r,r=d);r===d&&(r=b,y=F(),C=sf(),C!==d?r=y=[y,C]:(b=r,r=d),r===d&&(r=b,y=F(),C=dl(),C!==d?r=y=[y,C]:(b=r,r=d)));w--;r===d?q=void 0:(b=q,q=d);q!==d?(B=l,l=n):(b=l,l=d)}else b=l,l=d;z[k]={i:b,result:l};k=l}k===d&&(k=b,l=uf(),l!==d&&(B=k,l=[\"pathExpr\",l]),k=l)}z[h]={i:b,result:k};h=k}h===d&&(h=233*b+95,(k=z[h])?(b=k.i,h=k.result):(k=b,47===f.charCodeAt(b)?(n=Mi,b++):(n=d,0===w&&x(Ni)),n!==d?(F(),l=vf(),l!==d?(B=k,k=[\"pathExpr\",[\"rootExpr\"]].concat(l)):\n(b=k,k=d)):(b=k,k=d),k===d&&(k=b,n=cl(),n!==d?(F(),l=vf(),l!==d?(B=k,k=[\"pathExpr\",[\"rootExpr\"],n].concat(l)):(b=k,k=d)):(b=k,k=d),k===d&&(k=b,47===f.charCodeAt(b)?(n=Mi,b++):(n=d,0===w&&x(Ni)),n!==d?(n=b,w++,l=b,q=F(),B=r=b,(y=m.Ra)?y=void 0:y=d,y!==d?(Vw.test(f.charAt(b))?(C=f.charAt(b),b++):(C=d,0===w&&x(Ww)),C!==d?r=y=[y,C]:(b=r,r=d)):(b=r,r=d),r!==d?l=q=[q,r]:(b=l,l=d),l===d&&(B=l=b,(q=!m.Ra)?q=void 0:q=d,q!==d?(Xw.test(f.charAt(b))?(r=f.charAt(b),b++):(r=d,0===w&&x(Yw)),r!==d?l=q=[q,r]:(b=l,\nl=d)):(b=l,l=d)),w--,l===d?n=void 0:(b=n,n=d),n!==d?(B=k,k=[\"pathExpr\",[\"rootExpr\"]]):(b=k,k=d)):(b=k,k=d))),z[h]={i:b,result:k},h=k));z[u]={i:b,result:h};return h}function vf(){var h,u=233*b+93;if(h=z[u])return b=h.i,h.result;h=b;var k=uf();if(k!==d){F();var l=cl();if(l!==d){F();var n=vf();n!==d?(B=h,h=[k,l].concat(n)):(b=h,h=d)}else b=h,h=d}else b=h,h=d;h===d&&(h=b,k=uf(),k!==d?(F(),47===f.charCodeAt(b)?(l=Mi,b++):(l=d,0===w&&x(Ni)),l!==d?(F(),n=vf(),n!==d?(B=h,h=[k].concat(n)):(b=h,h=d)):(b=h,\nh=d)):(b=h,h=d),h===d&&(h=b,k=uf(),k!==d&&(B=h,k=[k]),h=k));z[u]={i:b,result:h};return h}function uf(){var h,u=233*b+94;if(h=z[u])return b=h.i,h.result;h=b;var k;var l=233*b+97;if(k=z[l])b=k.i,l=k.result;else{var n=k=b;var q=zq();q!==d&&(B=n,q=Ck(q));n=q;if(n!==d){q=[];var r=b;F();var y=Hg();y!==d?(B=r,r=[\"predicate\",y]):(b=r,r=d);r===d&&(r=b,F(),y=sf(),y!==d?(B=r,r=[\"argumentList\",y]):(b=r,r=d),r===d&&(r=b,F(),y=dl(),y!==d?(B=r,r=y):(b=r,r=d)));for(;r!==d;)q.push(r),r=b,F(),y=Hg(),y!==d?(B=r,r=[\"predicate\",\ny]):(b=r,r=d),r===d&&(r=b,F(),y=sf(),y!==d?(B=r,r=[\"argumentList\",y]):(b=r,r=d),r===d&&(r=b,F(),y=dl(),y!==d?(B=r,r=y):(b=r,r=d)));B=k;k=t(n,q)}else b=k,k=d;z[l]={i:b,result:k};l=k}l!==d&&(B=h,l=[\"stepExpr\"].concat(l));h=l;if(h===d)if(h=233*b+99,l=z[h])b=l.i,h=l.result;else{l=b;k=233*b+103;if(n=z[k])b=n.i,k=n.result;else{n=b;q=233*b+104;if(r=z[q])b=r.i,q=r.result;else{y=r=b;if(f.substr(b,6)===Aq){var C=Aq;b+=6}else C=d,0===w&&x(Zw);if(C!==d){if(f.substr(b,2)===Za){var J=Za;b+=2}else J=d,0===w&&x(hc);\nJ!==d?y=C=[C,J]:(b=y,y=d)}else b=y,y=d;y!==d&&(B=r,y=\"parent\");r=y;r===d&&(y=r=b,f.substr(b,8)===Bq?(C=Bq,b+=8):(C=d,0===w&&x($w)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"ancestor\"),r=y,r===d&&(y=r=b,f.substr(b,17)===Cq?(C=Cq,b+=17):(C=d,0===w&&x(ax)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"preceding-sibling\"),r=y,r===d&&(y=r=b,f.substr(b,9)===Dq?(C=Dq,b+=9):(C=\nd,0===w&&x(bx)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"preceding\"),r=y,r===d&&(y=r=b,f.substr(b,16)===Eq?(C=Eq,b+=16):(C=d,0===w&&x(cx)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"ancestor-or-self\"),r=y))));z[q]={i:b,result:r};q=r}q!==d?(r=el(),r!==d?(B=n,n=[\"stepExpr\",[\"xpathAxis\",q],r]):(b=n,n=d)):(b=n,n=d);n===d&&(n=b,q=233*b+105,(r=z[q])?(b=r.i,q=r.result):(r=\nb,f.substr(b,2)===Fq?(y=Fq,b+=2):(y=d,0===w&&x(dx)),y!==d&&(B=r,y=[\"stepExpr\",[\"xpathAxis\",\"parent\"],[\"anyKindTest\"]]),r=y,z[q]={i:b,result:r},q=r),q!==d&&(B=n),n=q);z[k]={i:b,result:n};k=n}k===d&&(k=233*b+100,(n=z[k])?(b=n.i,k=n.result):(n=b,q=233*b+101,(r=z[q])?(b=r.i,q=r.result):(y=r=b,f.substr(b,5)===Gq?(C=Gq,b+=5):(C=d,0===w&&x(ex)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"child\"),r=y,r===d&&(y=r=b,f.substr(b,10)===Hq?(C=Hq,\nb+=10):(C=d,0===w&&x(fx)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"descendant\"),r=y,r===d&&(y=r=b,f.substr(b,9)===wf?(C=wf,b+=9):(C=d,0===w&&x(fl)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"attribute\"),r=y,r===d&&(y=r=b,f.substr(b,4)===Iq?(C=Iq,b+=4):(C=d,0===w&&x(gx)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==\nd&&(B=r,y=\"self\"),r=y,r===d&&(y=r=b,f.substr(b,18)===Jq?(C=Jq,b+=18):(C=d,0===w&&x(hx)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"descendant-or-self\"),r=y,r===d&&(y=r=b,f.substr(b,17)===Kq?(C=Kq,b+=17):(C=d,0===w&&x(ix)),C!==d?(f.substr(b,2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"following-sibling\"),r=y,r===d&&(y=r=b,f.substr(b,9)===Lq?(C=Lq,b+=9):(C=d,0===w&&x(jx)),C!==d?(f.substr(b,\n2)===Za?(J=Za,b+=2):(J=d,0===w&&x(hc)),J!==d?y=C=[C,J]:(b=y,y=d)):(b=y,y=d),y!==d&&(B=r,y=\"following\"),r=y)))))),z[q]={i:b,result:r},q=r),q!==d?(r=el(),r!==d?(B=n,n=[\"stepExpr\",[\"xpathAxis\",q],r]):(b=n,n=d)):(b=n,n=d),n===d&&(n=233*b+102,(q=z[n])?(b=q.i,n=q.result):(q=b,64===f.charCodeAt(b)?(r=kx,b++):(r=d,0===w&&x(lx)),r===d&&(r=null),y=el(),y!==d?(B=q,q=r||\"attributeTest\"===y[0]||\"schemaAttributeTest\"===y[0]?[\"stepExpr\",[\"xpathAxis\",\"attribute\"],y]:[\"stepExpr\",[\"xpathAxis\",\"child\"],y]):(b=q,q=d),\nz[n]={i:b,result:q},n=q)),z[k]={i:b,result:n},k=n));if(k!==d){n=233*b+110;if(q=z[n])b=q.i,n=q.result;else{q=b;r=[];y=b;F();C=Hg();C!==d?(B=y,y=C):(b=y,y=d);for(;y!==d;)r.push(y),y=b,F(),C=Hg(),C!==d?(B=y,y=C):(b=y,y=d);B=q;q=r=r.length?[\"predicates\"].concat(r):[];z[n]={i:b,result:q};n=q}B=l;l=0===n.length?k:k.concat([n])}else b=l,l=d;z[h]={i:b,result:l};h=l}z[u]={i:b,result:h};return h}function cl(){var h,u=233*b+96;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,2)===Mq){var k=Mq;b+=2}else k=d,\n0===w&&x(mx);k!==d&&(B=h,k=[\"stepExpr\",[\"xpathAxis\",\"descendant-or-self\"],[\"anyKindTest\"]]);h=k;z[u]={i:b,result:h};return h}function el(){var h,u=233*b+106;if(h=z[u])return b=h.i,h.result;h=Nq();if(h===d){var k,l;h=233*b+107;if(k=z[h])b=k.i,h=k.result;else{k=233*b+108;if(l=z[k])b=l.i,k=l.result;else{l=b;if(f.substr(b,2)===Oq){var n=Oq;b+=2}else n=d,0===w&&x(nx);if(n!==d){var q=Kb();q!==d?(B=l,l=[\"Wildcard\",[\"star\"],[\"NCName\",q]]):(b=l,l=d)}else b=l,l=d;l===d&&(l=b,42===f.charCodeAt(b)?(n=vc,b++):\n(n=d,0===w&&x(wc)),n!==d&&(B=l,n=[\"Wildcard\"]),l=n,l===d&&(l=b,n=Pq(),n!==d?(42===f.charCodeAt(b)?(q=vc,b++):(q=d,0===w&&x(wc)),q!==d?(B=l,l=[\"Wildcard\",[\"uri\",n],[\"star\"]]):(b=l,l=d)):(b=l,l=d),l===d&&(l=b,n=Kb(),n!==d?(f.substr(b,2)===Qq?(q=Qq,b+=2):(q=d,0===w&&x(ox)),q!==d?(B=l,l=[\"Wildcard\",[\"NCName\",n],[\"star\"]]):(b=l,l=d)):(b=l,l=d))));z[k]={i:b,result:l};k=l}k===d&&(k=b,l=Aa(),l!==d&&(B=k,l=[\"nameTest\"].concat(l)),k=l);z[h]={i:b,result:k};h=k}}z[u]={i:b,result:h};return h}function sf(){var h,\nu=233*b+109;if(h=z[u])return b=h.i,h.result;h=b;if(40===f.charCodeAt(b)){var k=fb;b++}else k=d,0===w&&x(gb);if(k!==d){F();k=b;var l=gl();if(l!==d){var n=[];var q=b;F();if(44===f.charCodeAt(b)){var r=ua;b++}else r=d,0===w&&x(va);r!==d?(F(),r=gl(),r!==d?(B=q,q=r):(b=q,q=d)):(b=q,q=d);for(;q!==d;)n.push(q),q=b,F(),44===f.charCodeAt(b)?(r=ua,b++):(r=d,0===w&&x(va)),r!==d?(F(),r=gl(),r!==d?(B=q,q=r):(b=q,q=d)):(b=q,q=d);B=k;k=[l].concat(n)}else b=k,k=d;k===d&&(k=null);F();41===f.charCodeAt(b)?(n=Oa,b++):\n(n=d,0===w&&x(Pa));n!==d?(B=h,h=k||[]):(b=h,h=d)}else b=h,h=d;z[u]={i:b,result:h};return h}function Hg(){var h,u=233*b+111;if(h=z[u])return b=h.i,h.result;h=b;if(91===f.charCodeAt(b)){var k=Rq;b++}else k=d,0===w&&x(Sq);if(k!==d)if(F(),k=pc(),k!==d){F();if(93===f.charCodeAt(b)){var l=Tq;b++}else l=d,0===w&&x(Uq);l!==d?(B=h,h=k):(b=h,h=d)}else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function dl(){var h,u=233*b+112;if(h=z[u])return b=h.i,h.result;h=b;if(63===f.charCodeAt(b)){var k=Ig;b++}else k=\nd,0===w&&x(Jg);k!==d?(F(),k=Vq(),k!==d?(B=h,h=\"*\"===k?[\"lookup\",[\"star\"]]:\"string\"===typeof k?[\"lookup\",[\"NCName\",k]]:[\"lookup\",k]):(b=h,h=d)):(b=h,h=d);z[u]={i:b,result:h};return h}function Vq(){var h,u=233*b+113;if(h=z[u])return b=h.i,h.result;h=Kb();h===d&&(h=hl(),h===d&&(h=il(),h===d&&(42===f.charCodeAt(b)?(h=vc,b++):(h=d,0===w&&x(wc)))));z[u]={i:b,result:h};return h}function mq(){var h,u=233*b+114;if(h=z[u])return b=h.i,h.result;h=b;var k=Aa();k!==d&&(B=h,k=[\"EQName\"].concat(k));h=k;h===d&&(h=\njl(),h===d&&(h=il()));z[u]={i:b,result:h};return h}function zq(){var h=233*b+115,u=z[h];if(u)return b=u.i,u.result;var k=gi();if(k===d&&(k=jl(),k===d&&(k=il(),k===d))){var l=233*b+120,n=z[l];if(n)b=n.i,k=n.result;else{var q=b;if(46===f.charCodeAt(b)){var r=xf;b++}else r=d,0===w&&x(yf);if(r!==d){var y=b;w++;if(46===f.charCodeAt(b)){var C=xf;b++}else C=d,0===w&&x(yf);w--;C===d?y=void 0:(b=y,y=d);y!==d?(B=q,q=[\"contextItemExpr\"]):(b=q,q=d)}else b=q,q=d;z[l]={i:b,result:q};k=q}if(k===d){var J,N=233*b+\n121,oa=z[N];if(oa)b=oa.i,k=oa.result;else{var wb=J=b;w++;var Tb=b;var dc=Vo();if(dc!==d){var je=F();if(40===f.charCodeAt(b)){var Ye=fb;b++}else Ye=d,0===w&&x(gb);Ye!==d?Tb=dc=[dc,je,Ye]:(b=Tb,Tb=d)}else b=Tb,Tb=d;w--;Tb===d?wb=void 0:(b=wb,wb=d);wb!==d?(Tb=Aa(),Tb!==d?(F(),je=sf(),je!==d?(B=J,J=[\"functionCallExpr\",[\"functionName\"].concat(Tb),[\"arguments\"].concat(je)]):(b=J,J=d)):(b=J,J=d)):(b=J,J=d);z[N]={i:b,result:J};k=J}if(k===d){var gg=233*b+124,ke=z[gg];if(ke)b=ke.i,k=ke.result;else{var Xa=Wq();\nif(Xa===d){var dd=233*b+140,hg=z[dd];if(hg)b=hg.i,Xa=hg.result;else{var ig=233*b+141,le=z[ig];if(le){b=le.i;var Qa=le.result}else{var Eb=b;if(f.substr(b,8)===Xq){var jg=Xq;b+=8}else jg=d,0===w&&x(px);if(jg!==d){F();var Ze=sc();Ze!==d?(B=Eb,Eb=Ze?[\"computedDocumentConstructor\",[\"argExpr\",Ze]]:[\"computedDocumentConstructor\"]):(b=Eb,Eb=d)}else b=Eb,Eb=d;z[ig]={i:b,result:Eb};Qa=Eb}if(Qa===d){var mb=233*b+142,ed=z[mb];if(ed)b=ed.i,Qa=ed.result;else{var xb=b;if(f.substr(b,7)===Lb){var ji=Lb;b+=7}else ji=\nd,0===w&&x(he);if(ji!==d){F();var sb=b;var fd=Aa();fd!==d&&(B=sb,fd=[\"tagName\"].concat(fd));sb=fd;if(sb===d)if(sb=b,123===f.charCodeAt(b)?(fd=Fd,b++):(fd=d,0===w&&x(Gd)),fd!==d){F();var kg=pc();if(kg!==d){F();if(125===f.charCodeAt(b)){var lg=Hd;b++}else lg=d,0===w&&x(Id);lg!==d?(B=sb,sb=[\"tagNameExpr\",kg]):(b=sb,sb=d)}else b=sb,sb=d}else b=sb,sb=d;if(sb!==d){F();var $e=233*b+143,Da=z[$e];if(Da){b=Da.i;var af=Da.result}else{var me=b;var Kd=sc();Kd!==d&&(B=me,Kd=Kd?[[\"contentExpr\",Kd]]:[]);me=Kd;z[$e]=\n{i:b,result:me};af=me}af!==d?(B=xb,xb=[\"computedElementConstructor\",sb].concat(af)):(b=xb,xb=d)}else b=xb,xb=d}else b=xb,xb=d;z[mb]={i:b,result:xb};Qa=xb}if(Qa===d){var mg=233*b+144,Ld=z[mg];if(Ld)b=Ld.i,Qa=Ld.result;else{var Ma=b;if(f.substr(b,9)===wf){var Lc=wf;b+=9}else Lc=d,0===w&&x(fl);if(Lc!==d){var ya=b;var ne=za();if(ne!==d){F();var oe=Aa();oe!==d?(B=ya,ya=[\"tagName\"].concat(oe)):(b=ya,ya=d)}else b=ya,ya=d;if(ya===d){ya=b;F();if(123===f.charCodeAt(b)){var tc=Fd;b++}else tc=d,0===w&&x(Gd);\nif(tc!==d){F();var ng=pc();if(ng!==d){F();if(125===f.charCodeAt(b)){var bf=Hd;b++}else bf=d,0===w&&x(Id);bf!==d?(B=ya,ya=[\"tagNameExpr\",ng]):(b=ya,ya=d)}else b=ya,ya=d}else b=ya,ya=d}ya!==d?(F(),tc=sc(),tc!==d?(B=Ma,Ma=[\"computedAttributeConstructor\",ya].concat([[\"valueExpr\",tc?tc:[\"sequenceExpr\"]]])):(b=Ma,Ma=d)):(b=Ma,Ma=d)}else b=Ma,Ma=d;z[mg]={i:b,result:Ma};Qa=Ma}if(Qa===d){var Ga=233*b+145,cf=z[Ga];if(cf)b=cf.i,Qa=cf.result;else{var Ub=b;if(f.substr(b,9)===Jb){var og=Jb;b+=9}else og=d,0===w&&\nx(ge);if(og!==d){F();var pg=233*b+146,df=z[pg];if(df){b=df.i;var Md=df.result}else{var pe=b;var qe=Kb();qe!==d&&(B=pe,qe=[\"prefix\",qe]);pe=qe;z[pg]={i:b,result:pe};Md=pe}if(Md===d){var mi=233*b+147,ef=z[mi];if(ef)b=ef.i,Md=ef.result;else{var re=b;var gd=sc();gd!==d&&(B=re,gd=gd?[[\"prefixExpr\",gd]]:[]);re=gd;z[mi]={i:b,result:re};Md=re}}if(Md!==d){F();var Ra=233*b+148,ff=z[Ra];if(ff){b=ff.i;var qg=ff.result}else{var Mc=b;var se=sc();se!==d&&(B=Mc,se=se?[[\"URIExpr\",se]]:[]);Mc=se;z[Ra]={i:b,result:Mc};\nqg=Mc}qg!==d?(B=Ub,Ub=[\"computedNamespaceConstructor\"].concat(Md,qg)):(b=Ub,Ub=d)}else b=Ub,Ub=d}else b=Ub,Ub=d;z[Ga]={i:b,result:Ub};Qa=Ub}if(Qa===d){var sg=233*b+149,tg=z[sg];if(tg)b=tg.i,Qa=tg.result;else{var Ya=b;if(f.substr(b,4)===Oi){var ug=Oi;b+=4}else ug=d,0===w&&x(Yq);if(ug!==d){F();var te=sc();te!==d?(B=Ya,Ya=[\"computedTextConstructor\"].concat(te?[[\"argExpr\",te]]:[])):(b=Ya,Ya=d)}else b=Ya,Ya=d;z[sg]={i:b,result:Ya};Qa=Ya}if(Qa===d){var gf=233*b+150,Ea=z[gf];if(Ea)b=Ea.i,Qa=Ea.result;else{var Ob=\nb;if(f.substr(b,7)===Pi){var oi=Pi;b+=7}else oi=d,0===w&&x(Zq);if(oi!==d){F();var ec=sc();ec!==d?(B=Ob,Ob=[\"computedCommentConstructor\"].concat(ec?[[\"argExpr\",ec]]:[])):(b=Ob,Ob=d)}else b=Ob,Ob=d;z[gf]={i:b,result:Ob};Qa=Ob}if(Qa===d){var Pb=233*b+151,vg=z[Pb];if(vg)b=vg.i,Qa=vg.result;else{var Vb=b;if(f.substr(b,22)===Qi){var wg=Qi;b+=22}else wg=d,0===w&&x($q);if(wg!==d){F();var nb=b;var eb=Kb();eb!==d&&(B=nb,eb=[\"piTarget\",eb]);nb=eb;if(nb===d)if(nb=b,123===f.charCodeAt(b)?(eb=Fd,b++):(eb=d,0===\nw&&x(Gd)),eb!==d){F();var xg=pc();if(xg!==d){F();if(125===f.charCodeAt(b)){var pi=Hd;b++}else pi=d,0===w&&x(Id);pi!==d?(B=nb,nb=[\"piTargetExpr\",xg]):(b=nb,nb=d)}else b=nb,nb=d}else b=nb,nb=d;if(nb!==d){F();var hd=sc();hd!==d?(B=Vb,Vb=[\"computedPIConstructor\",nb].concat(hd?[[\"piValueExpr\",hd]]:[])):(b=Vb,Vb=d)}else b=Vb,Vb=d}else b=Vb,Vb=d;z[Pb]={i:b,result:Vb};Qa=Vb}}}}}}}z[dd]={i:b,result:Qa};Xa=Qa}}z[gg]={i:b,result:Xa};k=Xa}if(k===d){var qi=233*b+152,hf=z[qi];if(hf)b=hf.i,k=hf.result;else{var yg=\n233*b+153,ue=z[yg];if(ue){b=ue.i;var Ha=ue.result}else{var Wb=b;var ri=Aa();if(ri!==d){if(35===f.charCodeAt(b)){var zg=qx;b++}else zg=d,0===w&&x(rx);if(zg!==d){var Ag=hl();Ag!==d?(B=Wb,Wb=[\"namedFunctionRef\",[\"functionName\"].concat(ri),Ag]):(b=Wb,Wb=d)}else b=Wb,Wb=d}else b=Wb,Wb=d;z[yg]={i:b,result:Wb};Ha=Wb}if(Ha===d){var jf,Bg=233*b+154,Cg=z[Bg];if(Cg)b=Cg.i,Ha=Cg.result;else{var Fb=b;var Dg=[];for(jf=Ve();jf!==d;)Dg.push(jf),jf=Ve();F();if(f.substr(b,8)===cc){var kf=cc;b+=8}else kf=d,0===w&&x(Ue);\nif(kf!==d){F();if(40===f.charCodeAt(b)){var Sa=fb;b++}else Sa=d,0===w&&x(gb);if(Sa!==d){F();var lf=Wo();lf===d&&(lf=null);F();if(41===f.charCodeAt(b)){var si=Oa;b++}else si=d,0===w&&x(Pa);if(si!==d){F();var Ta=b;if(f.substr(b,2)===db){var Xb=db;b+=2}else Xb=d,0===w&&x(rc);if(Xb!==d){var mf=P();if(mf!==d){var Oc=Nb();Oc!==d?(F(),B=Ta,Ta=[\"typeDeclaration\"].concat(Oc)):(b=Ta,Ta=d)}else b=Ta,Ta=d}else b=Ta,Ta=d;Ta===d&&(Ta=null);Xb=Xo();Xb!==d?(B=Fb,Fb=[\"inlineFunctionExpr\"].concat(Dg,[[\"paramList\"].concat(lf||\n[])],Ta?[Ta]:[],[[\"functionBody\",Xb]])):(b=Fb,Fb=d)}else b=Fb,Fb=d}else b=Fb,Fb=d}else b=Fb,Fb=d;z[Bg]={i:b,result:Fb};Ha=Fb}}z[qi]={i:b,result:Ha};k=Ha}if(k===d){var ve=233*b+155,nf=z[ve];if(nf)b=nf.i,k=nf.result;else{var fc=b;if(f.substr(b,3)===Td){var of=Td;b+=3}else of=d,0===w&&x(Ri);if(of!==d){F();if(123===f.charCodeAt(b)){var Eg=Fd;b++}else Eg=d,0===w&&x(Gd);if(Eg!==d){F();var gc=b;var Ia=kl();if(Ia!==d){var Nd=[];var tb=b;F();if(44===f.charCodeAt(b)){var Od=ua;b++}else Od=d,0===w&&x(va);if(Od!==\nd){F();var Pd=kl();Pd!==d?(B=tb,tb=Pd):(b=tb,tb=d)}else b=tb,tb=d;for(;tb!==d;)Nd.push(tb),tb=b,F(),44===f.charCodeAt(b)?(Od=ua,b++):(Od=d,0===w&&x(va)),Od!==d?(F(),Pd=kl(),Pd!==d?(B=tb,tb=Pd):(b=tb,tb=d)):(b=tb,tb=d);B=gc;gc=[Ia].concat(Nd)}else b=gc,gc=d;gc===d&&(gc=null);F();125===f.charCodeAt(b)?(Nd=Hd,b++):(Nd=d,0===w&&x(Id));Nd!==d?(B=fc,fc=gc?[\"mapConstructor\"].concat(gc):[\"mapConstructor\"]):(b=fc,fc=d)}else b=fc,fc=d}else b=fc,fc=d;z[ve]={i:b,result:fc};k=fc}if(k===d){var jb=233*b+159,Qd=\nz[jb];if(Qd)b=Qd.i,k=Qd.result;else{var yb=b;var we=233*b+160,uc=z[we];if(uc){b=uc.i;var Qb=uc.result}else{var Pc=b;if(91===f.charCodeAt(b)){var Fg=Rq;b++}else Fg=d,0===w&&x(Sq);if(Fg!==d){F();var Qc=b;var pf=ta();if(pf!==d){F();var id=[];var ob=b;if(44===f.charCodeAt(b)){var Rd=ua;b++}else Rd=d,0===w&&x(va);if(Rd!==d){F();var Ua=ta();Ua!==d?(B=ob,ob=Ua):(b=ob,ob=d)}else b=ob,ob=d;for(;ob!==d;)id.push(ob),ob=b,44===f.charCodeAt(b)?(Rd=ua,b++):(Rd=d,0===w&&x(va)),Rd!==d?(F(),Ua=ta(),Ua!==d?(B=ob,ob=\nUa):(b=ob,ob=d)):(b=ob,ob=d);B=Qc;Qc=p(pf,id)}else b=Qc,Qc=d;Qc===d&&(Qc=null);F();if(93===f.charCodeAt(b)){var Sd=Tq;b++}else Sd=d,0===w&&x(Uq);Sd!==d?(B=Pc,Pc=[\"squareArray\"].concat(Qc)):(b=Pc,Pc=d)}else b=Pc,Pc=d;z[we]={i:b,result:Pc};Qb=Pc}Qb!==d&&(B=yb,Qb=[\"arrayConstructor\",Qb]);yb=Qb;if(yb===d){yb=b;var qf=233*b+161,jd=z[qf];if(jd)b=jd.i,Qb=jd.result;else{var Ud=b;if(f.substr(b,5)===Vd){var ar=Vd;b+=5}else ar=d,0===w&&x(Si);if(ar!==d){F();var ll=sc();ll!==d?(B=Ud,Ud=[\"curlyArray\"].concat(ll?\n[[\"arrayElem\",ll]]:[])):(b=Ud,Ud=d)}else b=Ud,Ud=d;z[qf]={i:b,result:Ud};Qb=Ud}Qb!==d&&(B=yb,Qb=[\"arrayConstructor\",Qb]);yb=Qb}z[jb]={i:b,result:yb};k=yb}if(k===d){var br=233*b+162,ml=z[br];if(ml)b=ml.i,k=ml.result;else{var Wd=b;if(63===f.charCodeAt(b)){var cr=Ig;b++}else cr=d,0===w&&x(Jg);if(cr!==d){F();var Kg=Vq();Kg!==d?(B=Wd,Wd=\"*\"===Kg?[\"unaryLookup\",[\"star\"]]:\"string\"===typeof Kg?[\"unaryLookup\",[\"NCName\",Kg]]:[\"unaryLookup\",Kg]):(b=Wd,Wd=d)}else b=Wd,Wd=d;z[br]={i:b,result:Wd};k=Wd}}}}}}}}z[h]=\n{i:b,result:k};return k}function gi(){var h,u,k=233*b+116;if(h=z[k])return b=h.i,h.result;var l,n;h=233*b+117;if(u=z[h])b=u.i,h=u.result;else{u=b;var q;var r=233*b+195;if(l=z[r])b=l.i,r=l.result;else{var y=q=n=l=b;if(46===f.charCodeAt(b)){var C=xf;b++}else C=d,0===w&&x(yf);if(C!==d){var J=xe();J!==d?y=C=[C,J]:(b=y,y=d)}else b=y,y=d;if(y===d)if(y=b,C=xe(),C!==d){J=b;if(46===f.charCodeAt(b)){var N=xf;b++}else N=d,0===w&&x(yf);if(N!==d){y=[];zf.test(f.charAt(b))?(J=f.charAt(b),b++):(J=d,0===w&&x(Af));\nfor(;J!==d;)y.push(J),zf.test(f.charAt(b))?(J=f.charAt(b),b++):(J=d,0===w&&x(Af));J=N=[N,y]}else b=J,J=d;J===d&&(J=null);y=C=[C,J]}else b=y,y=d;y!==d?(sx.test(f.charAt(b))?(C=f.charAt(b),b++):(C=d,0===w&&x(tx)),C!==d?(ux.test(f.charAt(b))?(J=f.charAt(b),b++):(J=d,0===w&&x(vx)),J===d&&(J=null),N=xe(),N!==d?q=y=[y,C,J,N]:(b=q,q=d)):(b=q,q=d)):(b=q,q=d);n=q!==d?f.substring(n,b):q;n!==d&&(B=l,n=[\"doubleConstantExpr\",[\"value\",n]]);l=n;z[r]={i:b,result:l};r=l}r===d&&(r=233*b+194,(l=z[r])?(b=l.i,r=l.result):\n(N=n=l=b,46===f.charCodeAt(b)?(q=xf,b++):(q=d,0===w&&x(yf)),q!==d?(C=xe(),C!==d?N=q=[q,C]:(b=N,N=d)):(b=N,N=d),n=N!==d?f.substring(n,b):N,n!==d&&(B=l,n=[\"decimalConstantExpr\",[\"value\",n]]),l=n,l===d&&(N=n=l=b,q=xe(),q!==d?(46===f.charCodeAt(b)?(C=xf,b++):(C=d,0===w&&x(yf)),C!==d?(N=xe(),N===d&&(N=null),N=q=[q,C,N]):(b=N,N=d)):(b=N,N=d),n=N!==d?f.substring(n,b):N,n!==d&&(B=l,n=[\"decimalConstantExpr\",[\"value\",n]]),l=n),z[r]={i:b,result:l},r=l),r===d&&(r=hl()));r!==d?(l=b,w++,wx.test(f.charAt(b))?(n=\nf.charAt(b),b++):(n=d,0===w&&x(xx)),w--,n===d?l=void 0:(b=l,l=d),l!==d?(B=u,u=r):(b=u,u=d)):(b=u,u=d);z[h]={i:b,result:u};h=u}h===d&&(h=b,u=bb(),u!==d&&(B=h,u=[\"stringConstantExpr\",[\"value\",Ti(u)]]),h=u);z[k]={i:b,result:h};return h}function jl(){var h,u=233*b+118;if(h=z[u])return b=h.i,h.result;h=b;if(36===f.charCodeAt(b)){var k=Jc;b++}else k=d,0===w&&x(Kc);k!==d?(k=Aa(),k!==d?(B=h,h=[\"varRef\",[\"name\"].concat(k)]):(b=h,h=d)):(b=h,h=d);z[u]={i:b,result:h};return h}function il(){var h,u=233*b+119;\nif(h=z[u])return b=h.i,h.result;h=b;if(40===f.charCodeAt(b)){var k=fb;b++}else k=d,0===w&&x(gb);if(k!==d)if(F(),k=pc(),k!==d){F();if(41===f.charCodeAt(b)){var l=Oa;b++}else l=d,0===w&&x(Pa);l!==d?(B=h,h=k):(b=h,h=d)}else b=h,h=d;else b=h,h=d;h===d&&(h=b,40===f.charCodeAt(b)?(k=fb,b++):(k=d,0===w&&x(gb)),k!==d?(F(),41===f.charCodeAt(b)?(k=Oa,b++):(k=d,0===w&&x(Pa)),k!==d?(B=h,h=[\"sequenceExpr\"]):(b=h,h=d)):(b=h,h=d));z[u]={i:b,result:h};return h}function gl(){var h,u=233*b+122;if(h=z[u])return b=h.i,\nh.result;h=ta();if(h===d){var k;h=233*b+123;if(k=z[h])b=k.i,h=k.result;else{k=b;if(63===f.charCodeAt(b)){var l=Ig;b++}else l=d,0===w&&x(Jg);l!==d&&(B=k,l=[\"argumentPlaceholder\"]);k=l;z[h]={i:b,result:k};h=k}}z[u]={i:b,result:h};return h}function Wq(){var h,u=233*b+125;if(h=z[u])return b=h.i,h.result;var k,l;h=233*b+126;if(k=z[h])b=k.i,h=k.result;else{k=b;if(60===f.charCodeAt(b)){var n=Yp;b++}else n=d,0===w&&x(Zp);if(n!==d)if(n=Ui(),n!==d){var q=233*b+127;if(l=z[q])b=l.i,q=l.result;else{l=b;var r=\n[];var y=b;var C=Bf();C!==d?(C=dr(),C===d&&(C=null),B=y,y=C):(b=y,y=d);for(;y!==d;)r.push(y),y=b,C=Bf(),C!==d?(C=dr(),C===d&&(C=null),B=y,y=C):(b=y,y=d);B=l;l=r=r.filter(Boolean);z[q]={i:b,result:l};q=l}r=b;f.substr(b,2)===er?(l=er,b+=2):(l=d,0===w&&x(yx));l!==d&&(B=r,l=null);r=l;if(r===d)if(r=b,62===f.charCodeAt(b)?(l=Vk,b++):(l=d,0===w&&x(Wk)),l!==d){l=[];for(y=fr();y!==d;)l.push(y),y=fr();F();f.substr(b,2)===gr?(y=gr,b+=2):(y=d,0===w&&x(zx));y!==d?(y=Ui(),y!==d?(Bf(),62===f.charCodeAt(b)?(C=Vk,\nb++):(C=d,0===w&&x(Wk)),C!==d?(B=r,r=1===n.length?n[0]:n[0].prefix+\":\"+n[1],y=1===y.length?y[0]:y[0].prefix+\":\"+y[1],r!==y&&Lg(\"XQST0118\",'The start and the end tag of an element constructor must be equal. \"'+r+'\" does not match \"'+y+'\"'),r=nl(l,!0,!0)):(b=r,r=d)):(b=r,r=d)):(b=r,r=d)}else b=r,r=d;r!==d?(B=k,k=[\"elementConstructor\",[\"tagName\"].concat(n)].concat(q.length?[[\"attributeList\"].concat(q)]:[],r&&r.length?[[\"elementContent\"].concat(r)]:[])):(b=k,k=d)}else b=k,k=d;else b=k,k=d;z[h]={i:b,result:k};\nh=k}if(h===d){h=233*b+134;if(k=z[h])b=k.i,h=k.result;else{k=b;f.substr(b,4)===hr?(n=hr,b+=4):(n=d,0===w&&x(Ax));if(n!==d){n=b;q=233*b+135;if(l=z[q])b=l.i;else{l=[];y=r=b;w++;45===f.charCodeAt(b)?(C=kd,b++):(C=d,0===w&&x(ld));w--;C===d?y=void 0:(b=y,y=d);y!==d?(C=Rb(),C!==d?r=y=[y,C]:(b=r,r=d)):(b=r,r=d);if(r===d)if(r=b,45===f.charCodeAt(b)?(y=kd,b++):(y=d,0===w&&x(ld)),y!==d){var J=C=b;w++;if(45===f.charCodeAt(b)){var N=kd;b++}else N=d,0===w&&x(ld);w--;N===d?J=void 0:(b=J,J=d);J!==d?(N=Rb(),N!==d?\nC=J=[J,N]:(b=C,C=d)):(b=C,C=d);C!==d?r=y=[y,C]:(b=r,r=d)}else b=r,r=d;for(;r!==d;)l.push(r),y=r=b,w++,45===f.charCodeAt(b)?(C=kd,b++):(C=d,0===w&&x(ld)),w--,C===d?y=void 0:(b=y,y=d),y!==d?(C=Rb(),C!==d?r=y=[y,C]:(b=r,r=d)):(b=r,r=d),r===d&&(r=b,45===f.charCodeAt(b)?(y=kd,b++):(y=d,0===w&&x(ld)),y!==d?(J=C=b,w++,45===f.charCodeAt(b)?(N=kd,b++):(N=d,0===w&&x(ld)),w--,N===d?J=void 0:(b=J,J=d),J!==d?(N=Rb(),N!==d?C=J=[J,N]:(b=C,C=d)):(b=C,C=d),C!==d?r=y=[y,C]:(b=r,r=d)):(b=r,r=d));z[q]={i:b,result:l}}n=\nf.substring(n,b);f.substr(b,3)===ir?(q=ir,b+=3):(q=d,0===w&&x(Bx));q!==d?(B=k,k=[\"computedCommentConstructor\",[\"argExpr\",[\"stringConstantExpr\",[\"value\",n]]]]):(b=k,k=d)}else b=k,k=d;z[h]={i:b,result:k};h=k}if(h===d)if(h=233*b+136,k=z[h])b=k.i,h=k.result;else{k=b;f.substr(b,2)===jr?(n=jr,b+=2):(n=d,0===w&&x(Cx));if(n!==d){n=b;q=233*b+206;if(l=z[q])b=l.i,q=l.result;else{r=l=b;w++;y=b;88===f.charCodeAt(b)?(C=Dx,b++):(C=d,0===w&&x(Ex));C===d&&(120===f.charCodeAt(b)?(C=Fx,b++):(C=d,0===w&&x(Gx)));C!==\nd?(77===f.charCodeAt(b)?(J=Hx,b++):(J=d,0===w&&x(Ix)),J===d&&(109===f.charCodeAt(b)?(J=Jx,b++):(J=d,0===w&&x(Kx))),J!==d?(76===f.charCodeAt(b)?(N=Lx,b++):(N=d,0===w&&x(Mx)),N===d&&(108===f.charCodeAt(b)?(N=Nx,b++):(N=d,0===w&&x(Ox))),N!==d?y=C=[C,J,N]:(b=y,y=d)):(b=y,y=d)):(b=y,y=d);w--;y===d?r=void 0:(b=r,r=d);if(r!==d){var oa;y=233*b+230;if(C=z[y])b=C.i,y=C.result;else{J=C=b;N=233*b+229;(oa=z[N])?(b=oa.i,N=oa.result):(oa=ol(),oa===d&&(58===f.charCodeAt(b)?(oa=Vi,b++):(oa=d,0===w&&x(Wi))),z[N]={i:b,\nresult:oa},N=oa);if(N!==d){J=[];for(oa=kr();oa!==d;)J.push(oa),oa=kr();J=N=[N,J]}else b=J,J=d;C=J!==d?f.substring(C,b):J;z[y]={i:b,result:C};y=C}y!==d?l=r=[r,y]:(b=l,l=d)}else b=l,l=d;z[q]={i:b,result:l};q=l}n=q!==d?f.substring(n,b):q;if(n!==d){q=b;l=Bf();if(l!==d){l=b;r=233*b+137;if(y=z[r])b=y.i;else{y=[];J=C=b;w++;f.substr(b,2)===Cf?(N=Cf,b+=2):(N=d,0===w&&x(pl));w--;N===d?J=void 0:(b=J,J=d);J!==d?(N=Rb(),N!==d?C=J=[J,N]:(b=C,C=d)):(b=C,C=d);for(;C!==d;)y.push(C),J=C=b,w++,f.substr(b,2)===Cf?(N=\nCf,b+=2):(N=d,0===w&&x(pl)),w--,N===d?J=void 0:(b=J,J=d),J!==d?(N=Rb(),N!==d?C=J=[J,N]:(b=C,C=d)):(b=C,C=d);z[r]={i:b,result:y}}l=f.substring(l,b);B=q;q=l}else b=q,q=d;q===d&&(q=null);f.substr(b,2)===Cf?(l=Cf,b+=2):(l=d,0===w&&x(pl));l!==d?(B=k,k=[\"computedPIConstructor\",[\"piTarget\",n],[\"piValueExpr\",[\"stringConstantExpr\",[\"value\",q]]]]):(b=k,k=d)}else b=k,k=d}else b=k,k=d;z[h]={i:b,result:k};h=k}}z[u]={i:b,result:h};return h}function dr(){var h,u=233*b+128;if(h=z[u])return b=h.i,h.result;var k=b;\nh=Ui();if(h!==d){Bf();if(61===f.charCodeAt(b)){var l=Cd;b++}else l=d,0===w&&x(Dd);if(l!==d){Bf();var n;l=233*b+129;if(n=z[l])b=n.i,l=n.result;else{n=b;if(34===f.charCodeAt(b)){var q=ye;b++}else q=d,0===w&&x(ze);if(q!==d){q=[];var r=Df();for(r===d&&(r=lr());r!==d;)q.push(r),r=Df(),r===d&&(r=lr());34===f.charCodeAt(b)?(r=ye,b++):(r=d,0===w&&x(ze));r!==d?(B=n,n=nl(q,!1,!1)):(b=n,n=d)}else b=n,n=d;if(n===d)if(n=b,39===f.charCodeAt(b)?(q=Ae,b++):(q=d,0===w&&x(Be)),q!==d){q=[];r=Ef();for(r===d&&(r=mr());r!==\nd;)q.push(r),r=Ef(),r===d&&(r=mr());39===f.charCodeAt(b)?(r=Ae,b++):(r=d,0===w&&x(Be));r!==d?(B=n,n=nl(q,!1,!1)):(b=n,n=d)}else b=n,n=d;z[l]={i:b,result:n};l=n}l!==d?(B=k,k=l,1===h.length&&\"xmlns\"===h[0]?(k.length&&\"string\"!==typeof k[0]&&Lg(\"XQST0022\",\"A namespace declaration may not contain enclosed expressions\"),k=[\"namespaceDeclaration\",k.length?[\"uri\",k[0]]:[\"uri\"]]):\"xmlns\"===h[0].prefix?(k.length&&\"string\"!==typeof k[0]&&Lg(\"XQST0022\",\"The namespace declaration for 'xmlns:\"+h[1]+\"' may not contain enclosed expressions\"),\nk=[\"namespaceDeclaration\",[\"prefix\",h[1]],k.length?[\"uri\",k[0]]:[\"uri\"]]):k=[\"attributeConstructor\",[\"attributeName\"].concat(h),0===k.length?[\"attributeValue\"]:1===k.length&&\"string\"===typeof k[0]?[\"attributeValue\",k[0]]:[\"attributeValueExpr\"].concat(k)]):(b=k,k=d)}else b=k,k=d}else b=k,k=d;z[u]={i:b,result:k};return k}function lr(){var h,u=233*b+130;if(h=z[u])return b=h.i,h.result;h=b;var k;var l=233*b+203;if(k=z[l])b=k.i,l=k.result;else{var n=k=b;w++;if(Px.test(f.charAt(b))){var q=f.charAt(b);b++}else q=\nd,0===w&&x(Qx);w--;q===d?n=void 0:(b=n,n=d);n!==d?(q=Rb(),q!==d?(B=k,k=q):(b=k,k=d)):(b=k,k=d);z[l]={i:b,result:k};l=k}l!==d&&(B=h,l=l.replace(/[\\x20\\x0D\\x0A\\x09]/g,\" \"));h=l;h===d&&(h=ql());z[u]={i:b,result:h};return h}function mr(){var h,u=233*b+131;if(h=z[u])return b=h.i,h.result;h=b;var k;var l=233*b+204;if(k=z[l])b=k.i,l=k.result;else{var n=k=b;w++;if(Rx.test(f.charAt(b))){var q=f.charAt(b);b++}else q=d,0===w&&x(Sx);w--;q===d?n=void 0:(b=n,n=d);n!==d?(q=Rb(),q!==d?(B=k,k=q):(b=k,k=d)):(b=k,k=\nd);z[l]={i:b,result:k};l=k}l!==d&&(B=h,l=l.replace(/[\\x20\\x0D\\x0A\\x09]/g,\" \"));h=l;h===d&&(h=ql());z[u]={i:b,result:h};return h}function fr(){var h,u,k=233*b+132;if(h=z[k])return b=h.i,h.result;h=b;var l=233*b+138;if(u=z[l])b=u.i,l=u.result;else{u=b;if(f.substr(b,9)===nr){var n=nr;b+=9}else n=d,0===w&&x(Tx);if(n!==d){n=b;var q,r;var y=233*b+139;if(q=z[y])b=q.i;else{q=[];var C=r=b;w++;if(f.substr(b,3)===Ff){var J=Ff;b+=3}else J=d,0===w&&x(rl);w--;J===d?C=void 0:(b=C,C=d);C!==d?(J=Rb(),J!==d?r=C=[C,\nJ]:(b=r,r=d)):(b=r,r=d);for(;r!==d;)q.push(r),C=r=b,w++,f.substr(b,3)===Ff?(J=Ff,b+=3):(J=d,0===w&&x(rl)),w--,J===d?C=void 0:(b=C,C=d),C!==d?(J=Rb(),J!==d?r=C=[C,J]:(b=r,r=d)):(b=r,r=d);z[y]={i:b,result:q}}n=f.substring(n,b);f.substr(b,3)===Ff?(y=Ff,b+=3):(y=d,0===w&&x(rl));y!==d?(B=u,u=[\"CDataSection\",n]):(b=u,u=d)}else b=u,u=d;z[l]={i:b,result:u};l=u}l!==d&&(B=h);h=l;h===d&&(h=b,l=Wq(),l!==d&&(B=h),h=l,h===d&&(h=b,l=ql(),l!==d&&(B=h),h=l,h===d&&(l=h=b,u=233*b+202,(n=z[u])?(b=n.i,u=n.result):(y=\nn=b,w++,Ux.test(f.charAt(b))?(q=f.charAt(b),b++):(q=d,0===w&&x(Vx)),w--,q===d?y=void 0:(b=y,y=d),y!==d?(q=Rb(),q!==d?n=y=[y,q]:(b=n,n=d)):(b=n,n=d),z[u]={i:b,result:n},u=n),l=u!==d?f.substring(l,b):u,l!==d&&(B=h),h=l)));z[k]={i:b,result:h};return h}function ql(){var h,u=233*b+133;if(h=z[u])return b=h.i,h.result;h=Mg();if(h===d&&(h=Ng(),h===d)){h=b;if(f.substr(b,2)===or){var k=or;b+=2}else k=d,0===w&&x(Wx);k!==d&&(B=h,k=\"{\");h=k;h===d&&(h=b,f.substr(b,2)===pr?(k=pr,b+=2):(k=d,0===w&&x(Xx)),k!==d&&\n(B=h,k=\"}\"),h=k,h===d&&(h=b,k=sc(),k!==d&&(B=h,k=k||[\"sequenceExpr\"]),h=k))}z[u]={i:b,result:h};return h}function kl(){var h,u,k=233*b+156;if(h=z[k])return b=h.i,h.result;h=b;var l=233*b+157;if(u=z[l])b=u.i,l=u.result;else{u=b;var n=ta();n!==d&&(B=u,n=[\"mapKeyExpr\",n]);u=n;z[l]={i:b,result:u};l=u}if(l!==d)if(F(),58===f.charCodeAt(b)?(u=Vi,b++):(u=d,0===w&&x(Wi)),u!==d){F();u=233*b+158;if(n=z[u])b=n.i,u=n.result;else{n=b;var q=ta();q!==d&&(B=n,q=[\"mapValueExpr\",q]);n=q;z[u]={i:b,result:n};u=n}u!==\nd?(B=h,h=[\"mapConstructorEntry\",l,u]):(b=h,h=d)}else b=h,h=d;else b=h,h=d;z[k]={i:b,result:h};return h}function oq(){var h,u=233*b+163;if(h=z[u])return b=h.i,h.result;h=b;var k=Aa();if(k!==d){if(63===f.charCodeAt(b)){var l=Ig;b++}else l=d,0===w&&x(Jg);l===d&&(l=null);B=h;h=l?[\"singleType\",[\"atomicType\"].concat(k),[\"optional\"]]:[\"singleType\",[\"atomicType\"].concat(k)]}else b=h,h=d;z[u]={i:b,result:h};return h}function We(){var h,u=233*b+164;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,2)===db){var k=\ndb;b+=2}else k=d,0===w&&x(rc);k!==d?(k=P(),k!==d?(k=Nb(),k!==d?(B=h,h=[\"typeDeclaration\"].concat(k)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d);z[u]={i:b,result:h};return h}function Nb(){var h,u=233*b+165;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,16)===qr){var k=qr;b+=16}else k=d,0===w&&x(Yx);k!==d&&(B=h,k=[[\"voidSequenceType\"]]);h=k;if(h===d)if(h=b,k=Kk(),k!==d){var l=b;F();var n;var q=233*b+166;(n=z[q])?(b=n.i,q=n.result):(63===f.charCodeAt(b)?(n=Ig,b++):(n=d,0===w&&x(Jg)),n===d&&(42===f.charCodeAt(b)?\n(n=vc,b++):(n=d,0===w&&x(wc)),n===d&&(43===f.charCodeAt(b)?(n=Di,b++):(n=d,0===w&&x(Ei)))),z[q]={i:b,result:n},q=n);q!==d?(B=l,l=q):(b=l,l=d);l===d&&(l=null);B=h;h=[k].concat(l?[[\"occurrenceIndicator\",l]]:[])}else b=h,h=d;z[u]={i:b,result:h};return h}function Kk(){var h,u=233*b+167;if(h=z[u])return b=h.i,h.result;h=Nq();if(h===d){h=b;if(f.substr(b,6)===rr){var k=rr;b+=6}else k=d,0===w&&x(Zx);k!==d&&(B=h,k=[\"anyItemType\"]);h=k;if(h===d){var l;h=233*b+182;if(k=z[h])b=k.i,h=k.result;else{k=b;var n=[];\nfor(l=Ve();l!==d;)n.push(l),l=Ve();var q;l=233*b+183;if(q=z[l])b=q.i,l=q.result;else{q=b;if(f.substr(b,8)===cc){var r=cc;b+=8}else r=d,0===w&&x(Ue);r!==d?(F(),40===f.charCodeAt(b)?(r=fb,b++):(r=d,0===w&&x(gb)),r!==d?(F(),42===f.charCodeAt(b)?(r=vc,b++):(r=d,0===w&&x(wc)),r!==d?(F(),41===f.charCodeAt(b)?(r=Oa,b++):(r=d,0===w&&x(Pa)),r!==d?(B=q,q=[\"anyFunctionTest\"]):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d);z[l]={i:b,result:q};l=q}if(l===d)if(l=233*b+184,q=z[l])b=q.i,l=q.result;else{q=b;f.substr(b,\n8)===cc?(r=cc,b+=8):(r=d,0===w&&x(Ue));if(r!==d)if(F(),40===f.charCodeAt(b)?(r=fb,b++):(r=d,0===w&&x(gb)),r!==d){F();r=b;var y=Nb();if(y!==d){var C=[];var J=b;if(44===f.charCodeAt(b)){var N=ua;b++}else N=d,0===w&&x(va);N!==d?(F(),N=Nb(),N!==d?(B=J,J=N):(b=J,J=d)):(b=J,J=d);for(;J!==d;)C.push(J),J=b,44===f.charCodeAt(b)?(N=ua,b++):(N=d,0===w&&x(va)),N!==d?(F(),N=Nb(),N!==d?(B=J,J=N):(b=J,J=d)):(b=J,J=d);B=r;r=y.concat.apply(y,C)}else b=r,r=d;r===d&&(r=null);F();41===f.charCodeAt(b)?(C=Oa,b++):(C=d,\n0===w&&x(Pa));C!==d?(J=P(),J!==d?(f.substr(b,2)===db?(N=db,b+=2):(N=d,0===w&&x(rc)),N!==d?(y=P(),y!==d?(N=Nb(),N!==d?(B=q,q=[\"typedFunctionTest\",[\"paramTypeList\",[\"sequenceType\"].concat(r)],[\"sequenceType\"].concat(N)]):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)):(b=q,q=d)}else b=q,q=d;else b=q,q=d;z[l]={i:b,result:q};l=q}l!==d?(B=k,k=[l[0]].concat(n,l.slice(1))):(b=k,k=d);z[h]={i:b,result:k};h=k}h===d&&(h=233*b+185,(k=z[h])?(b=k.i,h=k.result):(k=233*b+186,(n=z[k])?(b=n.i,k=n.result):(n=b,f.substr(b,\n3)===Td?(l=Td,b+=3):(l=d,0===w&&x(Ri)),l!==d?(F(),40===f.charCodeAt(b)?(l=fb,b++):(l=d,0===w&&x(gb)),l!==d?(F(),42===f.charCodeAt(b)?(l=vc,b++):(l=d,0===w&&x(wc)),l!==d?(F(),41===f.charCodeAt(b)?(l=Oa,b++):(l=d,0===w&&x(Pa)),l!==d?(B=n,n=[\"anyMapTest\"]):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d),z[k]={i:b,result:n},k=n),k===d&&(k=233*b+187,(n=z[k])?(b=n.i,k=n.result):(n=b,f.substr(b,3)===Td?(l=Td,b+=3):(l=d,0===w&&x(Ri)),l!==d?(F(),40===f.charCodeAt(b)?(l=fb,b++):(l=d,0===w&&x(gb)),l!==d?(F(),l=sr(),\nl!==d?(F(),44===f.charCodeAt(b)?(q=ua,b++):(q=d,0===w&&x(va)),q!==d?(F(),q=Nb(),q!==d?(F(),41===f.charCodeAt(b)?(r=Oa,b++):(r=d,0===w&&x(Pa)),r!==d?(B=n,n=[\"typedMapTest\",l,[\"sequenceType\"].concat(q)]):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d),z[k]={i:b,result:n},k=n)),z[h]={i:b,result:k},h=k),h===d&&(h=233*b+188,(k=z[h])?(b=k.i,h=k.result):(k=233*b+189,(n=z[k])?(b=n.i,k=n.result):(n=b,f.substr(b,5)===Vd?(l=Vd,b+=5):(l=d,0===w&&x(Si)),l!==d?(F(),40===f.charCodeAt(b)?(l=fb,b++):\n(l=d,0===w&&x(gb)),l!==d?(F(),42===f.charCodeAt(b)?(l=vc,b++):(l=d,0===w&&x(wc)),l!==d?(F(),41===f.charCodeAt(b)?(l=Oa,b++):(l=d,0===w&&x(Pa)),l!==d?(B=n,n=[\"anyArrayTest\"]):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d),z[k]={i:b,result:n},k=n),k===d&&(k=233*b+190,(n=z[k])?(b=n.i,k=n.result):(n=b,f.substr(b,5)===Vd?(l=Vd,b+=5):(l=d,0===w&&x(Si)),l!==d?(F(),40===f.charCodeAt(b)?(l=fb,b++):(l=d,0===w&&x(gb)),l!==d?(F(),l=Nb(),l!==d?(F(),41===f.charCodeAt(b)?(q=Oa,b++):(q=d,0===w&&x(Pa)),q!==d?(B=n,n=[\"typedArrayTest\",\n[\"sequenceType\"].concat(l)]):(b=n,n=d)):(b=n,n=d)):(b=n,n=d)):(b=n,n=d),z[k]={i:b,result:n},k=n)),z[h]={i:b,result:k},h=k),h===d&&(h=sr(),h===d&&(h=233*b+191,(k=z[h])?(b=k.i,h=k.result):(k=b,40===f.charCodeAt(b)?(n=fb,b++):(n=d,0===w&&x(gb)),n!==d?(F(),n=Kk(),n!==d?(F(),41===f.charCodeAt(b)?(l=Oa,b++):(l=d,0===w&&x(Pa)),l!==d?(B=k,k=[\"parenthesizedItemType\",n]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d),z[h]={i:b,result:k},h=k)))))}}z[u]={i:b,result:h};return h}function sr(){var h,u=233*b+168;if(h=z[u])return b=\nh.i,h.result;h=b;var k=Aa();k!==d&&(B=h,k=[\"atomicType\"].concat(k));h=k;z[u]={i:b,result:h};return h}function Nq(){var h,u=233*b+169;if(h=z[u])return b=h.i,h.result;var k;h=233*b+171;if(k=z[h])b=k.i,h=k.result;else{k=b;if(f.substr(b,14)===tr){var l=tr;b+=14}else l=d,0===w&&x($x);if(l!==d){F();l=ur();l===d&&(l=vr());l===d&&(l=null);F();if(41===f.charCodeAt(b)){var n=Oa;b++}else n=d,0===w&&x(Pa);n!==d?(B=k,k=[\"documentTest\"].concat(l?[l]:[])):(b=k,k=d)}else b=k,k=d;z[h]={i:b,result:k};h=k}if(h===d&&\n(h=ur(),h===d)){h=233*b+176;if(k=z[h])b=k.i,h=k.result;else{k=b;f.substr(b,10)===Xi?(l=Xi,b+=10):(l=d,0===w&&x(wr));if(l!==d)if(F(),l=xr(),l!==d)if(F(),44===f.charCodeAt(b)?(n=ua,b++):(n=d,0===w&&x(va)),n!==d)if(F(),n=Aa(),n!==d){F();if(41===f.charCodeAt(b)){var q=Oa;b++}else q=d,0===w&&x(Pa);q!==d?(B=k,k=[\"attributeTest\",[\"attributeName\",l],[\"typeName\"].concat(n)]):(b=k,k=d)}else b=k,k=d;else b=k,k=d;else b=k,k=d;else b=k,k=d;k===d&&(k=b,f.substr(b,10)===Xi?(l=Xi,b+=10):(l=d,0===w&&x(wr)),l!==d?\n(F(),l=xr(),l!==d?(F(),41===f.charCodeAt(b)?(n=Oa,b++):(n=d,0===w&&x(Pa)),n!==d?(B=k,k=[\"attributeTest\",[\"attributeName\",l]]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d),k===d&&(k=b,f.substr(b,11)===yr?(l=yr,b+=11):(l=d,0===w&&x(ay)),l!==d&&(B=k,l=[\"attributeTest\"]),k=l));z[h]={i:b,result:k};h=k}h===d&&(h=vr(),h===d&&(h=233*b+178,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,17)===zr?(l=zr,b+=17):(l=d,0===w&&x(by)),l!==d?(F(),l=Aa(),l!==d?(F(),41===f.charCodeAt(b)?(n=Oa,b++):(n=d,0===w&&x(Pa)),n!==d?(B=k,k=[\"schemaAttributeTest\"].concat(l)):\n(b=k,k=d)):(b=k,k=d)):(b=k,k=d),z[h]={i:b,result:k},h=k),h===d&&(h=233*b+175,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,23)===Yi?(l=Yi,b+=23):(l=d,0===w&&x(Ar)),l!==d?(F(),l=Kb(),l!==d?(F(),41===f.charCodeAt(b)?(n=Oa,b++):(n=d,0===w&&x(Pa)),n!==d?(B=k,k=[\"piTest\",[\"piTarget\",l]]):(b=k,k=d)):(b=k,k=d)):(b=k,k=d),k===d&&(k=b,f.substr(b,23)===Yi?(l=Yi,b+=23):(l=d,0===w&&x(Ar)),l!==d?(F(),l=bb(),l!==d?(F(),41===f.charCodeAt(b)?(n=Oa,b++):(n=d,0===w&&x(Pa)),n!==d?(B=k,k=[\"piTest\",[\"piTarget\",l]]):(b=\nk,k=d)):(b=k,k=d)):(b=k,k=d),k===d&&(k=b,f.substr(b,24)===Br?(l=Br,b+=24):(l=d,0===w&&x(cy)),l!==d&&(B=k,l=[\"piTest\"]),k=l)),z[h]={i:b,result:k},h=k),h===d&&(h=233*b+173,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,9)===Cr?(l=Cr,b+=9):(l=d,0===w&&x(dy)),l!==d&&(B=k,l=[\"commentTest\"]),k=l,z[h]={i:b,result:k},h=k),h===d&&(h=233*b+172,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,6)===Dr?(l=Dr,b+=6):(l=d,0===w&&x(ey)),l!==d&&(B=k,l=[\"textTest\"]),k=l,z[h]={i:b,result:k},h=k),h===d&&(h=233*b+174,(k=z[h])?\n(b=k.i,h=k.result):(k=b,f.substr(b,16)===Er?(l=Er,b+=16):(l=d,0===w&&x(fy)),l!==d&&(B=k,l=[\"namespaceTest\"]),k=l,z[h]={i:b,result:k},h=k),h===d&&(h=233*b+170,(k=z[h])?(b=k.i,h=k.result):(k=b,f.substr(b,6)===Fr?(l=Fr,b+=6):(l=d,0===w&&x(gy)),l!==d&&(B=k,l=[\"anyKindTest\"]),k=l,z[h]={i:b,result:k},h=k))))))))}z[u]={i:b,result:h};return h}function xr(){var h,u=233*b+177;if(h=z[u])return b=h.i,h.result;h=b;var k=Aa();k!==d&&(B=h,k=[\"QName\"].concat(k));h=k;h===d&&(h=b,42===f.charCodeAt(b)?(k=vc,b++):(k=\nd,0===w&&x(wc)),k!==d&&(B=h,k=[\"star\"]),h=k);z[u]={i:b,result:h};return h}function ur(){var h,u=233*b+179;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,7)===Lb){var k=Lb;b+=7}else k=d,0===w&&x(he);if(k!==d)if(F(),40===f.charCodeAt(b)?(k=fb,b++):(k=d,0===w&&x(gb)),k!==d)if(F(),k=Gr(),k!==d){F();if(44===f.charCodeAt(b)){var l=ua;b++}else l=d,0===w&&x(va);if(l!==d)if(F(),l=Aa(),l!==d){F();if(41===f.charCodeAt(b)){var n=Oa;b++}else n=d,0===w&&x(Pa);n!==d?(B=h,h=[\"elementTest\",[\"elementName\",k],[\"typeName\"].concat(l)]):\n(b=h,h=d)}else b=h,h=d;else b=h,h=d}else b=h,h=d;else b=h,h=d;else b=h,h=d;h===d&&(h=b,f.substr(b,7)===Lb?(k=Lb,b+=7):(k=d,0===w&&x(he)),k!==d?(F(),40===f.charCodeAt(b)?(k=fb,b++):(k=d,0===w&&x(gb)),k!==d?(F(),k=Gr(),k!==d?(F(),41===f.charCodeAt(b)?(l=Oa,b++):(l=d,0===w&&x(Pa)),l!==d?(B=h,h=[\"elementTest\",[\"elementName\",k]]):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)):(b=h,h=d),h===d&&(h=b,f.substr(b,7)===Lb?(k=Lb,b+=7):(k=d,0===w&&x(he)),k!==d?(F(),40===f.charCodeAt(b)?(k=fb,b++):(k=d,0===w&&x(gb)),k!==d?(F(),\n41===f.charCodeAt(b)?(k=Oa,b++):(k=d,0===w&&x(Pa)),k!==d?(B=h,h=[\"elementTest\"]):(b=h,h=d)):(b=h,h=d)):(b=h,h=d)));z[u]={i:b,result:h};return h}function Gr(){var h,u=233*b+180;if(h=z[u])return b=h.i,h.result;h=b;var k=Aa();k!==d&&(B=h,k=[\"QName\"].concat(k));h=k;h===d&&(h=b,42===f.charCodeAt(b)?(k=vc,b++):(k=d,0===w&&x(wc)),k!==d&&(B=h,k=[\"star\"]),h=k);z[u]={i:b,result:h};return h}function vr(){var h,u=233*b+181;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,14)===Zi){var k=Zi;b+=14}else k=d,0===\nw&&x(Hr);if(k!==d)if(F(),40===f.charCodeAt(b)?(k=fb,b++):(k=d,0===w&&x(gb)),k!==d)if(k=Aa(),k!==d){if(41===f.charCodeAt(b)){var l=Oa;b++}else l=d,0===w&&x(Pa);l!==d?(B=h,h=[\"schemaElementTest\"].concat(k)):(b=h,h=d)}else b=h,h=d;else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function Aa(){var h,u=233*b+192;if(h=z[u])return b=h.i,h.result;h=b;var k;var l=233*b+197;if(k=z[l])b=k.i,l=k.result;else{k=b;var n=Pq();if(n!==d){var q=Kb();q!==d?(B=k,k=[n,q]):(b=k,k=d)}else b=k,k=d;z[l]={i:b,result:k};\nl=k}l!==d&&(B=h,h=l,l={},l=[(l.prefix=null,l.URI=h[0],l),h[1]]);h=l;h===d&&(h=Ui());z[u]={i:b,result:h};return h}function hl(){var h,u=233*b+193;if(h=z[u])return b=h.i,h.result;h=b;var k=xe();k!==d&&(B=h,k=[\"integerConstantExpr\",[\"value\",k]]);h=k;z[u]={i:b,result:h};return h}function bb(){var h,u,k=233*b+196;if(h=z[k])return b=h.i,h.result;B=h=b;(u=m.Ra)?u=void 0:u=d;if(u!==d)if(34===f.charCodeAt(b)?(u=ye,b++):(u=d,0===w&&x(ze)),u!==d){u=[];var l=Mg();l===d&&(l=Ng(),l===d&&(l=Df(),l===d&&(Ir.test(f.charAt(b))?\n(l=f.charAt(b),b++):(l=d,0===w&&x(Jr)))));for(;l!==d;)u.push(l),l=Mg(),l===d&&(l=Ng(),l===d&&(l=Df(),l===d&&(Ir.test(f.charAt(b))?(l=f.charAt(b),b++):(l=d,0===w&&x(Jr)))));34===f.charCodeAt(b)?(l=ye,b++):(l=d,0===w&&x(ze));l!==d?(B=h,h=u.join(\"\")):(b=h,h=d)}else b=h,h=d;else b=h,h=d;if(h===d){B=h=b;(u=m.Ra)?u=void 0:u=d;if(u!==d)if(39===f.charCodeAt(b)?(u=Ae,b++):(u=d,0===w&&x(Be)),u!==d){u=[];l=Mg();l===d&&(l=Ng(),l===d&&(l=Ef(),l===d&&(Kr.test(f.charAt(b))?(l=f.charAt(b),b++):(l=d,0===w&&x(Lr)))));\nfor(;l!==d;)u.push(l),l=Mg(),l===d&&(l=Ng(),l===d&&(l=Ef(),l===d&&(Kr.test(f.charAt(b))?(l=f.charAt(b),b++):(l=d,0===w&&x(Lr)))));39===f.charCodeAt(b)?(l=Ae,b++):(l=d,0===w&&x(Be));l!==d?(B=h,h=u.join(\"\")):(b=h,h=d)}else b=h,h=d;else b=h,h=d;if(h===d){B=h=b;(u=!m.Ra)?u=void 0:u=d;if(u!==d)if(34===f.charCodeAt(b)?(u=ye,b++):(u=d,0===w&&x(ze)),u!==d){u=[];l=Df();l===d&&(Mr.test(f.charAt(b))?(l=f.charAt(b),b++):(l=d,0===w&&x(Nr)));for(;l!==d;)u.push(l),l=Df(),l===d&&(Mr.test(f.charAt(b))?(l=f.charAt(b),\nb++):(l=d,0===w&&x(Nr)));34===f.charCodeAt(b)?(l=ye,b++):(l=d,0===w&&x(ze));l!==d?(B=h,h=u.join(\"\")):(b=h,h=d)}else b=h,h=d;else b=h,h=d;if(h===d)if(B=h=b,(u=!m.Ra)?u=void 0:u=d,u!==d)if(39===f.charCodeAt(b)?(u=Ae,b++):(u=d,0===w&&x(Be)),u!==d){u=[];l=Ef();l===d&&(Or.test(f.charAt(b))?(l=f.charAt(b),b++):(l=d,0===w&&x(Pr)));for(;l!==d;)u.push(l),l=Ef(),l===d&&(Or.test(f.charAt(b))?(l=f.charAt(b),b++):(l=d,0===w&&x(Pr)));39===f.charCodeAt(b)?(l=Ae,b++):(l=d,0===w&&x(Be));l!==d?(B=h,h=u.join(\"\")):(b=\nh,h=d)}else b=h,h=d;else b=h,h=d}}z[k]={i:b,result:h};return h}function Pq(){var h,u=233*b+198;if(h=z[u])return b=h.i,h.result;h=b;if(81===f.charCodeAt(b)){var k=hy;b++}else k=d,0===w&&x(iy);if(k!==d)if(F(),123===f.charCodeAt(b)?(k=Fd,b++):(k=d,0===w&&x(Gd)),k!==d){k=[];if(Qr.test(f.charAt(b))){var l=f.charAt(b);b++}else l=d,0===w&&x(Rr);for(;l!==d;)k.push(l),Qr.test(f.charAt(b))?(l=f.charAt(b),b++):(l=d,0===w&&x(Rr));125===f.charCodeAt(b)?(l=Hd,b++):(l=d,0===w&&x(Id));l!==d?(B=h,h=k.join(\"\").replace(/\\s+/g,\n\" \").trim()):(b=h,h=d)}else b=h,h=d;else b=h,h=d;z[u]={i:b,result:h};return h}function Mg(){var h,u=233*b+199;if(h=z[u])return b=h.i,h.result;var k=h=b;if(38===f.charCodeAt(b)){var l=jy;b++}else l=d,0===w&&x(ky);if(l!==d){if(f.substr(b,2)===Ai){var n=Ai;b+=2}else n=d,0===w&&x(Pp);n===d&&(f.substr(b,2)===Bi?(n=Bi,b+=2):(n=d,0===w&&x(Rp)),n===d&&(f.substr(b,3)===Sr?(n=Sr,b+=3):(n=d,0===w&&x(ly)),n===d&&(f.substr(b,4)===Tr?(n=Tr,b+=4):(n=d,0===w&&x(my)),n===d&&(f.substr(b,4)===Ur?(n=Ur,b+=4):(n=d,0===\nw&&x(ny))))));if(n!==d){if(59===f.charCodeAt(b)){var q=$h;b++}else q=d,0===w&&x(ai);q!==d?k=l=[l,n,q]:(b=k,k=d)}else b=k,k=d}else b=k,k=d;h=k!==d?f.substring(h,b):k;z[u]={i:b,result:h};return h}function Df(){var h,u=233*b+200;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,2)===Vr){var k=Vr;b+=2}else k=d,0===w&&x(oy);k!==d&&(B=h,k='\"');h=k;z[u]={i:b,result:h};return h}function Ef(){var h,u=233*b+201;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,2)===Wr){var k=Wr;b+=2}else k=d,0===w&&x(py);k!==\nd&&(B=h,k=\"'\");h=k;z[u]={i:b,result:h};return h}function sl(){var h,u=233*b+205;if(h=z[u])return b=h.i,h.result;h=b;if(f.substr(b,2)===$i){var k=$i;b+=2}else k=d,0===w&&x(Xr);if(k!==d){var l=[];var n=Yr();for(n===d&&(n=sl());n!==d;)l.push(n),n=Yr(),n===d&&(n=sl());f.substr(b,2)===aj?(n=aj,b+=2):(n=d,0===w&&x(Zr));n!==d?h=k=[k,l,n]:(b=h,h=d)}else b=h,h=d;z[u]={i:b,result:h};return h}function Ng(){var h,u=233*b+207;if(h=z[u])return b=h.i,h.result;var k=h=b;if(f.substr(b,3)===$r){var l=$r;b+=3}else l=\nd,0===w&&x(qy);if(l!==d){var n=[];if(as.test(f.charAt(b))){var q=f.charAt(b);b++}else q=d,0===w&&x(bs);if(q!==d)for(;q!==d;)n.push(q),as.test(f.charAt(b))?(q=f.charAt(b),b++):(q=d,0===w&&x(bs));else n=d;n!==d?(59===f.charCodeAt(b)?(q=$h,b++):(q=d,0===w&&x(ai)),q!==d?k=l=[l,n,q]:(b=k,k=d)):(b=k,k=d)}else b=k,k=d;h=k!==d?f.substring(h,b):k;if(h===d){k=h=b;f.substr(b,2)===cs?(l=cs,b+=2):(l=d,0===w&&x(ry));if(l!==d){n=[];zf.test(f.charAt(b))?(q=f.charAt(b),b++):(q=d,0===w&&x(Af));if(q!==d)for(;q!==d;)n.push(q),\nzf.test(f.charAt(b))?(q=f.charAt(b),b++):(q=d,0===w&&x(Af));else n=d;n!==d?(59===f.charCodeAt(b)?(q=$h,b++):(q=d,0===w&&x(ai)),q!==d?k=l=[l,n,q]:(b=k,k=d)):(b=k,k=d)}else b=k,k=d;h=k!==d?f.substring(h,b):k}z[u]={i:b,result:h};return h}function Ui(){var h,u=233*b+208;if(h=z[u])return b=h.i,h.result;var k;h=233*b+224;if(k=z[h])b=k.i,h=k.result;else{var l=b;k=Kb();if(k!==d){if(58===f.charCodeAt(b)){var n=Vi;b++}else n=d,0===w&&x(Wi);n!==d?(n=Kb(),n!==d?(B=l,l={},l=[(l.prefix=k,l),n]):(b=l,l=d)):(b=l,\nl=d)}else b=l,l=d;z[h]={i:b,result:l};h=l}h===d&&(h=233*b+225,(k=z[h])?(b=k.i,h=k.result):(k=b,l=Kb(),l!==d&&(B=k,l=[l]),k=l,z[h]={i:b,result:k},h=k));z[u]={i:b,result:h};return h}function Kb(){var h,u,k=233*b+209;if(h=z[k])return b=h.i,h.result;h=b;var l=ol();if(l!==d){var n=[];for(u=tl();u!==d;)n.push(u),u=tl();B=h;h=l+n.join(\"\")}else b=h,h=d;z[k]={i:b,result:h};return h}function Rb(){var h,u=233*b+210;if(h=z[u])return b=h.i,h.result;sy.test(f.charAt(b))?(h=f.charAt(b),b++):(h=d,0===w&&x(ty));if(h===\nd){h=b;if(uy.test(f.charAt(b))){var k=f.charAt(b);b++}else k=d,0===w&&x(vy);if(k!==d){if(ds.test(f.charAt(b))){var l=f.charAt(b);b++}else l=d,0===w&&x(es);l!==d?h=k=[k,l]:(b=h,h=d)}else b=h,h=d}z[u]={i:b,result:h};return h}function xe(){var h,u=233*b+211;if(h=z[u])return b=h.i,h.result;h=b;var k=[];if(zf.test(f.charAt(b))){var l=f.charAt(b);b++}else l=d,0===w&&x(Af);if(l!==d)for(;l!==d;)k.push(l),zf.test(f.charAt(b))?(l=f.charAt(b),b++):(l=d,0===w&&x(Af));else k=d;k!==d&&(B=h,k=k.join(\"\"));h=k;z[u]=\n{i:b,result:h};return h}function Yr(){var h,u=233*b+212;if(h=z[u])return b=h.i,h.result;var k=h=b;w++;if(f.substr(b,2)===$i){var l=$i;b+=2}else l=d,0===w&&x(Xr);w--;l===d?k=void 0:(b=k,k=d);if(k!==d){l=b;w++;if(f.substr(b,2)===aj){var n=aj;b+=2}else n=d,0===w&&x(Zr);w--;n===d?l=void 0:(b=l,l=d);l!==d?(n=Rb(),n!==d?h=k=[k,l,n]:(b=h,h=d)):(b=h,h=d)}else b=h,h=d;z[u]={i:b,result:h};return h}function Nk(){var h,u=233*b+219;if(h=z[u])return b=h.i,h.result;h=b;var k=jl();if(k!==d){F();if(f.substr(b,2)===\nMb){var l=Mb;b+=2}else l=d,0===w&&x(ie);l!==d?(F(),l=ta(),l!==d?(B=h,h=[\"transformCopy\",k,[\"copySource\",l]]):(b=h,h=d)):(b=h,h=d)}else b=h,h=d;z[u]={i:b,result:h};return h}function F(){var h,u,k=233*b+220;if(h=z[k])return b=h.i,h.result;h=[];for(u=Og();u!==d;)h.push(u),u=Og();z[k]={i:b,result:h};return h}function P(){var h,u=233*b+221;if(h=z[u])return b=h.i,h.result;h=[];var k=Og();if(k!==d)for(;k!==d;)h.push(k),k=Og();else h=d;z[u]={i:b,result:h};return h}function Bf(){var h,u=233*b+222;if(h=z[u])return b=\nh.i,h.result;h=[];if(32===f.charCodeAt(b)){var k=ul;b++}else k=d,0===w&&x(vl);k===d&&(9===f.charCodeAt(b)?(k=wl,b++):(k=d,0===w&&x(xl)),k===d&&(13===f.charCodeAt(b)?(k=yl,b++):(k=d,0===w&&x(zl)),k===d&&(10===f.charCodeAt(b)?(k=Al,b++):(k=d,0===w&&x(Bl)))));if(k!==d)for(;k!==d;)h.push(k),32===f.charCodeAt(b)?(k=ul,b++):(k=d,0===w&&x(vl)),k===d&&(9===f.charCodeAt(b)?(k=wl,b++):(k=d,0===w&&x(xl)),k===d&&(13===f.charCodeAt(b)?(k=yl,b++):(k=d,0===w&&x(zl)),k===d&&(10===f.charCodeAt(b)?(k=Al,b++):(k=d,\n0===w&&x(Bl)))));else h=d;z[u]={i:b,result:h};return h}function Og(){var h,u=233*b+223;if(h=z[u])return b=h.i,h.result;32===f.charCodeAt(b)?(h=ul,b++):(h=d,0===w&&x(vl));h===d&&(9===f.charCodeAt(b)?(h=wl,b++):(h=d,0===w&&x(xl)),h===d&&(13===f.charCodeAt(b)?(h=yl,b++):(h=d,0===w&&x(zl)),h===d&&(10===f.charCodeAt(b)?(h=Al,b++):(h=d,0===w&&x(Bl)),h===d&&(h=sl()))));z[u]={i:b,result:h};return h}function ol(){var h,u=233*b+226;if(h=z[u])return b=h.i,h.result;wy.test(f.charAt(b))?(h=f.charAt(b),b++):(h=\nd,0===w&&x(xy));if(h===d){h=b;if(yy.test(f.charAt(b))){var k=f.charAt(b);b++}else k=d,0===w&&x(zy);if(k!==d){if(ds.test(f.charAt(b))){var l=f.charAt(b);b++}else l=d,0===w&&x(es);l!==d?h=k=[k,l]:(b=h,h=d)}else b=h,h=d}z[u]={i:b,result:h};return h}function tl(){var h,u=233*b+227;if(h=z[u])return b=h.i,h.result;h=ol();h===d&&(Ay.test(f.charAt(b))?(h=f.charAt(b),b++):(h=d,0===w&&x(By)));z[u]={i:b,result:h};return h}function kr(){var h,u=233*b+228;if(h=z[u])return b=h.i,h.result;h=tl();h===d&&(58===f.charCodeAt(b)?\n(h=Vi,b++):(h=d,0===w&&x(Wi)));z[u]={i:b,result:h};return h}function Vo(){var h,u=233*b+231;if(h=z[u])return b=h.i,h.result;f.substr(b,5)===Vd?(h=Vd,b+=5):(h=d,0===w&&x(Si));h===d&&(f.substr(b,9)===wf?(h=wf,b+=9):(h=d,0===w&&x(fl)),h===d&&(f.substr(b,7)===Pi?(h=Pi,b+=7):(h=d,0===w&&x(Zq)),h===d&&(f.substr(b,13)===fs?(h=fs,b+=13):(h=d,0===w&&x(Cy)),h===d&&(f.substr(b,7)===Lb?(h=Lb,b+=7):(h=d,0===w&&x(he)),h===d&&(f.substr(b,14)===gs?(h=gs,b+=14):(h=d,0===w&&x(Dy)),h===d&&(f.substr(b,8)===cc?(h=cc,\nb+=8):(h=d,0===w&&x(Ue)),h===d&&(f.substr(b,2)===li?(h=li,b+=2):(h=d,0===w&&x(ip)),h===d&&(f.substr(b,4)===hi?(h=hi,b+=4):(h=d,0===w&&x($o)),h===d&&(f.substr(b,3)===Td?(h=Td,b+=3):(h=d,0===w&&x(Ri)),h===d&&(f.substr(b,14)===hs?(h=hs,b+=14):(h=d,0===w&&x(Ey)),h===d&&(f.substr(b,4)===Nc?(h=Nc,b+=4):(h=d,0===w&&x(rg)),h===d&&(f.substr(b,22)===Qi?(h=Qi,b+=22):(h=d,0===w&&x($q)),h===d&&(f.substr(b,16)===is?(h=is,b+=16):(h=d,0===w&&x(Fy)),h===d&&(f.substr(b,14)===Zi?(h=Zi,b+=14):(h=d,0===w&&x(Hr)),h===\nd&&(f.substr(b,6)===js?(h=js,b+=6):(h=d,0===w&&x(Gy)),h===d&&(f.substr(b,4)===Oi?(h=Oi,b+=4):(h=d,0===w&&x(Yq)),h===d&&(f.substr(b,10)===ki?(h=ki,b+=10):(h=d,0===w&&x(gp)))))))))))))))))));z[u]={i:b,result:h};return h}function za(){var h,u=233*b+232;if(h=z[u])return b=h.i,h.result;h=b;w++;if(40===f.charCodeAt(b)){var k=fb;b++}else k=d,0===w&&x(gb);k===d&&(34===f.charCodeAt(b)?(k=ye,b++):(k=d,0===w&&x(ze)),k===d&&(39===f.charCodeAt(b)?(k=Ae,b++):(k=d,0===w&&x(Be)),k===d&&(k=Og())));w--;k!==d?(b=h,\nh=void 0):h=d;z[u]={i:b,result:h};return h}function vi(h,u,k){return k.reduce(function(l,n){return[h,[\"firstOperand\",l],[\"secondOperand\",n]]},u)}function ks(h){1<=h&&55295>=h||57344<=h&&65533>=h||65536<=h&&1114111>=h||Lg(\"XQST0090\",\"The character reference \"+h+\" (\"+h.toString(16)+\") does not reference a valid codePoint.\")}function Ti(h){return m.Ra?h.replace(/(&[^;]+);/g,function(u){if(/^&#x/.test(u))return u=parseInt(u.slice(3,-1),16),ks(u),String.fromCodePoint(u);if(/^&#/.test(u))return u=parseInt(u.slice(2,\n-1),10),ks(u),String.fromCodePoint(u);switch(u){case \"<\":return\"<\";case \">\":return\">\";case \"&\":return\"&\";case \""\":return String.fromCharCode(34);case \"'\":return String.fromCharCode(39)}Lg(\"XPST0003\",'Unknown character reference: \"'+u+'\"')}):h}function nl(h,u,k){if(!h.length)return[];for(var l=[h[0]],n=1;n\",Wp=\"!=\",Xp=\"<=\",Yp=\"<\",$p=\">=\",Vk=\">\",Np=\"eq\",Op=\"ne\",Ai=\"lt\",Qp=\"le\",Bi=\"gt\",Sp=\"ge\",Tp=\"is\",Up=\"<<\",Vp=\">>\",rq=\"validate\",uq=\"type\",sq=\"lax\",tq=\"strict\",yq=\"(#\",tf=\"#)\",wq=\"!\",Mi=\"/\",Mq=\"//\",\nGq=\"child\",Za=\"::\",Hq=\"descendant\",wf=\"attribute\",Iq=\"self\",Jq=\"descendant-or-self\",Kq=\"following-sibling\",Lq=\"following\",kx=\"@\",Aq=\"parent\",Bq=\"ancestor\",Cq=\"preceding-sibling\",Dq=\"preceding\",Eq=\"ancestor-or-self\",Fq=\"..\",Oq=\"*:\",Qq=\":*\",Rq=\"[\",Tq=\"]\",Ig=\"?\",xf=\".\",er=\"/>\",gr=\"\",nr=\"\",!1),Iw=G(\"!=\",!1),Jw=G(\"<=\",!1),Zp=G(\"<\",!1),Kw=G(\">=\",!1),Wk=G(\">\",!1),Bw=G(\"eq\",!1),Cw=G(\"ne\",!1),Pp=G(\"lt\",!1),Dw=G(\"le\",!1),Rp=G(\"gt\",!1),Ew=G(\"ge\",!1),Fw=G(\"is\",!1),Gw=G(\"<<\",!1),Hw=G(\">>\",!1),Qw=G(\"validate\",\n!1),Tw=G(\"type\",!1),Rw=G(\"lax\",!1),Sw=G(\"strict\",!1),Uw=G(\"(#\",!1),bl=G(\"#)\",!1),xq=G(\"!\",!1),Ni=G(\"/\",!1),Ww=X([\"*\",\"<\",[\"a\",\"z\"],[\"A\",\"Z\"]],!1,!1),Yw=X([\"*\",[\"a\",\"z\"],[\"A\",\"Z\"]],!1,!1),mx=G(\"//\",!1),ex=G(\"child\",!1),hc=G(\"::\",!1),fx=G(\"descendant\",!1),fl=G(\"attribute\",!1),gx=G(\"self\",!1),hx=G(\"descendant-or-self\",!1),ix=G(\"following-sibling\",!1),jx=G(\"following\",!1),lx=G(\"@\",!1),Zw=G(\"parent\",!1),$w=G(\"ancestor\",!1),ax=G(\"preceding-sibling\",!1),bx=G(\"preceding\",!1),cx=G(\"ancestor-or-self\",!1),dx=\nG(\"..\",!1),nx=G(\"*:\",!1),ox=G(\":*\",!1),Sq=G(\"[\",!1),Uq=G(\"]\",!1),Jg=G(\"?\",!1),xx=X([[\"a\",\"z\"],[\"A\",\"Z\"]],!1,!1),yf=G(\".\",!1),yx=G(\"/>\",!1),zx=G(\"\",!1),Tx=G(\"f;f++)if(p=wu(g[f],c,e[m]))return 59!==p.type&&hm(a,p),p;default:return{type:59,g:2}}}59!==g.type&&hm(a,g);return g}\nfunction wu(a,c,e){var g=em(a,\"*\"),f=W(a,\"atomicType\");if(!f)return{type:59,g:2};if(Xc(cm(f,\"prefix\")+\":\"+f[2])===c.type)if(1===g.length){if(3===c.g)return e}else if(a=W(a,\"occurrenceIndicator\")[1],c.g===Zc(a))return e};function xu(a,c){ku(a,c)}function ku(a,c){var e=yu.get(a[0]);if(e)return e(a,c);for(e=1;e=c+e)return Q;t=f.next(t);g++;return t}},m)}function Pu(a){return a.map(function(c){return T(c.type,19)?Gh(c,3):c})}\nfunction Qu(a){a=Pu(a);if(a.some(function(c){return Number.isNaN(c.value)}))return[L(NaN,3)];a=Vn(a);if(!a)throw Error(\"FORG0006: Incompatible types to be converted to a common type\");return a}\nfunction Ru(a,c,e,g,f,m){return ce([f,m],function(p){var t=H(p);p=t.next().value;t=t.next().value;if(Infinity===p.value)return U.empty();if(-Infinity===p.value)return t&&Infinity===t.value?U.empty():g;if(t){if(isNaN(t.value))return U.empty();Infinity===t.value&&(t=null)}return isNaN(p.value)?U.empty():Ou(g,Math.round(p.value),t?Math.round(t.value):null)})}\nfunction Su(a,c,e,g,f){if(g.F())return f;a=Pu(g.S());a=Vn(a);if(!a)throw Error(\"FORG0006: Incompatible types to be converted to a common type\");if(!a.every(function(m){return T(m.type,2)}))throw Error(\"FORG0006: items passed to fn:sum are not all numeric.\");c=a.reduce(function(m,p){return m+p.value},0);return a.every(function(m){return T(m.type,5)})?U.s(L(c,5)):a.every(function(m){return T(m.type,3)})?U.s(L(c,3)):a.every(function(m){return T(m.type,4)})?U.s(L(c,4)):U.s(L(c,6))};var Tu=[].concat(Ll,[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"boolean\",l:[{type:59,g:2}],j:{type:0,g:3},m:function(a,c,e,g){return g.getEffectiveBooleanValue()?U.$():U.U()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"true\",l:[],j:{type:0,g:3},m:function(){return U.$()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"not\",l:[{type:59,g:2}],j:{type:0,g:3},m:function(a,c,e,g){return!1===g.getEffectiveBooleanValue()?U.$():U.U()}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"false\",l:[],j:{type:0,g:3},m:function(){return U.U()}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"last\",l:[],j:{type:5,g:3},m:function(a){if(null===a.O)throw Error(\"XPDY0002: The fn:last() function depends on dynamic context, which is absent.\");var c=!1;return U.create({next:function(){if(c)return Q;var e=a.wa.ya();c=!0;return S(L(e,5))}},1)}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"position\",l:[],j:{type:5,g:3},m:function(a){if(null===\na.O)throw Error(\"XPDY0002: The fn:position() function depends on dynamic context, which is absent.\");return U.s(L(a.Ga+1,5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"current-dateTime\",l:[],j:{type:10,g:3},m:function(a){return U.s(L(Zf(a),10))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"current-date\",l:[],j:{type:7,g:3},m:function(a){return U.s(L(Jf(Zf(a),7),7))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"current-time\",l:[],\nj:{type:8,g:3},m:function(a){return U.s(L(Jf(Zf(a),8),8))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"implicit-timezone\",l:[],j:{type:17,g:3},m:function(a){return U.s(L($f(a),17))}}],Nl,Vl,Xl,[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"years-from-duration\",l:[{type:18,g:0}],j:{type:5,g:0},m:function(a,c,e,g){return g.F()?g:U.s(L(g.first().value.cb(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"months-from-duration\",l:[{type:18,\ng:0}],j:{type:5,g:0},m:function(a,c,e,g){return g.F()?g:U.s(L(g.first().value.$a(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"days-from-duration\",l:[{type:18,g:0}],j:{type:5,g:0},m:function(a,c,e,g){return g.F()?g:U.s(L(g.first().value.Za(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"hours-from-duration\",l:[{type:18,g:0}],j:{type:5,g:0},m:function(a,c,e,g){return g.F()?g:U.s(L(g.first().value.getHours(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"minutes-from-duration\",l:[{type:18,g:0}],j:{type:5,g:0},m:function(a,c,e,g){return g.F()?g:U.s(L(g.first().value.getMinutes(),5))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"seconds-from-duration\",l:[{type:18,g:0}],j:{type:4,g:0},m:function(a,c,e,g){return g.F()?g:U.s(L(g.first().value.getSeconds(),4))}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"id\",l:[{type:1,g:2},{type:53,g:3}],j:{type:54,g:2},m:Ku},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"id\",l:[{type:1,g:2}],j:{type:54,g:2},m:function(a,c,e,g){return Ku(a,c,e,g,U.s(a.O))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"idref\",l:[{type:1,g:2},{type:53,g:3}],j:{type:53,g:2},m:Lu},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"idref\",l:[{type:1,g:2}],j:{type:53,g:2},m:function(a,c,e,g){return Lu(a,c,e,g,U.s(a.O))}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"parse-json\",l:[{type:1,g:3}],j:{type:59,g:0},m:function(a,\nc,e,g){try{var f=JSON.parse(g.first().value)}catch(m){throw Error(\"FOJS0001: parsed JSON string contains illegal JSON.\");}return Mu(f)}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"contains\",l:[{type:61,g:3},{type:46,g:3}],j:{type:0,g:3},m:function(a,c,e,g,f){return ce([g,f],function(m){m=H(m);var p=m.next().value,t=m.next().value;return p.h.some(function(v){return de(v.key,t)})?U.$():U.U()})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"entry\",\nl:[{type:46,g:3},{type:59,g:2}],j:{type:61,g:3},m:function(a,c,e,g,f){return g.map(function(m){return new fe([{key:m,value:Rc(f)}])})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"for-each\",l:[{type:61,g:3},{type:59,g:2}],j:{type:59,g:2},m:function(a,c,e,g,f){return ce([g,f],function(m){m=H(m);var p=m.next().value,t=m.next().value;return cg(p.h.map(function(v){return t.value.call(void 0,a,c,e,U.s(v.key),v.value())}))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",\nlocalName:\"get\",l:[{type:61,g:3},{type:46,g:3}],j:{type:59,g:2},m:ee},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"keys\",l:[{type:61,g:3}],j:{type:46,g:2},m:function(a,c,e,g){return ce([g],function(f){f=H(f).next().value;return U.create(f.h.map(function(m){return m.key}))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"merge\",l:[{type:61,g:2},{type:61,g:3}],j:{type:61,g:3},m:Nu},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"merge\",\nl:[{type:61,g:2}],j:{type:61,g:3},m:function(a,c,e,g){return Nu(a,c,e,g,U.s(new fe([{key:L(\"duplicates\",1),value:function(){return U.s(L(\"use-first\",1))}}])))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"put\",l:[{type:61,g:3},{type:46,g:3},{type:59,g:2}],j:{type:61,g:3},m:function(a,c,e,g,f,m){return ce([g,f],function(p){p=H(p);var t=p.next().value,v=p.next().value;p=t.h.concat();t=p.findIndex(function(A){return de(A.key,v)});0<=t?p.splice(t,1,{key:v,value:Rc(m)}):p.push({key:v,\nvalue:Rc(m)});return U.s(new fe(p))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"remove\",l:[{type:61,g:3},{type:46,g:2}],j:{type:61,g:3},m:function(a,c,e,g,f){return ce([g],function(m){var p=H(m).next().value.h.concat();return f.M(function(t){t.forEach(function(v){var A=p.findIndex(function(E){return de(E.key,v)});0<=A&&p.splice(A,1)});return U.s(new fe(p))})})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/map\",localName:\"size\",l:[{type:61,g:3}],j:{type:5,g:3},\nm:function(a,c,e,g){return g.map(function(f){return L(f.h.length,5)})}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"pi\",l:[],j:{type:3,g:3},m:function(){return U.s(L(Math.PI,3))}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"exp\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.pow(Math.E,f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"exp10\",l:[{type:3,g:0}],j:{type:3,\ng:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.pow(10,f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"log\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.log(f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"log10\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.log10(f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",\nlocalName:\"pow\",l:[{type:3,g:0},{type:2,g:3}],j:{type:3,g:0},m:function(a,c,e,g,f){return f.M(function(m){var p=H(m).next().value;return g.map(function(t){return 1!==Math.abs(t.value)||Number.isFinite(p.value)?L(Math.pow(t.value,p.value),3):L(1,3)})})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"sqrt\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.sqrt(f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",\nlocalName:\"sin\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.sin(f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"cos\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.cos(f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"tan\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.tan(f.value),3)})}},\n{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"asin\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.asin(f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"acos\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,e,g){return g.map(function(f){return L(Math.acos(f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"atan\",l:[{type:3,g:0}],j:{type:3,g:0},m:function(a,c,\ne,g){return g.map(function(f){return L(Math.atan(f.value),3)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions/math\",localName:\"atan2\",l:[{type:3,g:0},{type:3,g:3}],j:{type:3,g:0},m:function(a,c,e,g,f){return f.M(function(m){var p=H(m).next().value;return g.map(function(t){return L(Math.atan2(t.value,p.value),3)})})}}],Dj,ij,[{namespaceURI:\"http://fontoxpath/operators\",localName:\"to\",l:[{type:5,g:0},{type:5,g:0}],j:{type:5,g:2},m:function(a,c,e,g,f){a=g.first();f=f.first();if(null===a||null===\nf)return U.empty();var m=a.value;f=f.value;return m>f?U.empty():U.create({next:function(){return S(L(m++,5))}},f-m+1)}}],[{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"QName\",l:[{type:1,g:0},{type:1,g:3}],j:{type:23,g:3},m:function(a,c,e,g,f){return ce([g,f],function(m){var p=H(m);m=p.next().value;p=p.next().value.value;if(!Vg(p,23))throw Error(\"FOCA0002: The provided QName is invalid.\");m=m?m.value||null:null;if(null===m&&p.includes(\":\"))throw Error(\"FOCA0002: The URI of a QName may not be empty if a prefix is provided.\");\nif(g.F())return U.s(L(new $c(\"\",null,p),23));if(!p.includes(\":\"))return U.s(L(new $c(\"\",m,p),23));var t=H(p.split(\":\"));p=t.next().value;t=t.next().value;return U.s(L(new $c(p,m,t),23))})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"prefix-from-QName\",l:[{type:23,g:0}],j:{type:24,g:0},m:function(a,c,e,g){return ce([g],function(f){f=H(f).next().value;if(null===f)return U.empty();f=f.value;return f.prefix?U.s(L(f.prefix,24)):U.empty()})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nlocalName:\"local-name-from-QName\",l:[{type:23,g:0}],j:{type:24,g:0},m:function(a,c,e,g){return g.map(function(f){return L(f.value.localName,24)})}},{namespaceURI:\"http://www.w3.org/2005/xpath-functions\",localName:\"namespace-uri-from-QName\",l:[{type:23,g:0}],j:{type:20,g:0},m:function(a,c,e,g){return g.map(function(f){return L(f.value.namespaceURI||\"\",20)})}}],[{l:[{type:59,g:2}],m:function(a,c,e,g){return g.aa({empty:function(){return U.$()},multiple:function(){return U.U()},s:function(){return U.U()}})},\nlocalName:\"empty\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:0,g:3}},{l:[{type:59,g:2}],m:function(a,c,e,g){return g.aa({empty:function(){return U.U()},multiple:function(){return U.$()},s:function(){return U.$()}})},localName:\"exists\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:0,g:3}},{l:[{type:59,g:2}],m:function(a,c,e,g){return Ou(g,1,1)},localName:\"head\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:0}},{l:[{type:59,g:2}],m:function(a,\nc,e,g){return Ou(g,2,null)},localName:\"tail\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:59,g:2},{type:5,g:3},{type:59,g:2}],m:function(a,c,e,g,f,m){if(g.F())return m;if(m.F())return g;a=g.S();f=f.first().value-1;0>f?f=0:f>a.length&&(f=a.length);c=a.slice(f);return U.create(a.slice(0,f).concat(m.S(),c))},localName:\"insert-before\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:59,g:2},{type:5,g:3}],m:function(a,c,e,g,f){a=f.first().value;\ng=g.S();if(!g.length||1>a||a>g.length)return U.create(g);g.splice(a-1,1);return U.create(g)},localName:\"remove\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:59,g:2}],m:function(a,c,e,g){return g.M(function(f){return U.create(f.reverse())})},localName:\"reverse\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:59,g:2},{type:3,g:3}],m:function(a,c,e,g,f){return Ru(a,c,e,g,f,U.empty())},localName:\"subsequence\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nj:{type:59,g:2}},{l:[{type:59,g:2},{type:3,g:3},{type:3,g:3}],m:Ru,localName:\"subsequence\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:59,g:2}],m:function(a,c,e,g){return g},localName:\"unordered\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:46,g:2},{type:46,g:3}],m:function(a,c,e,g,f){return f.M(function(m){var p=H(m).next().value;return Sg(g,c).map(function(t,v){return xn(\"eqOp\",t.type,p.type)(t,p,a)?L(v+1,5):L(-1,5)}).filter(function(t){return-1!==\nt.value})})},localName:\"index-of\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:5,g:2}},{l:[{type:46,g:2},{type:46,g:3},{type:1,g:3}],m:function(){throw Error(\"FOCH0002: No collations are supported\");},localName:\"index-of\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:5,g:2}},{l:[{type:59,g:2},{type:59,g:2}],m:function(a,c,e,g,f){var m=!1,p=Jj(a,c,e,g,f);return U.create({next:function(){if(m)return Q;var t=p.next(0);if(t.done)return t;m=!0;return S(L(t.value,0))}})},\nlocalName:\"deep-equal\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:0,g:3}},{l:[{type:59,g:2},{type:59,g:2},{type:1,g:3}],m:function(){throw Error(\"FOCH0002: No collations are supported\");},localName:\"deep-equal\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:0,g:3}},{l:[{type:59,g:2}],m:function(a,c,e,g){var f=!1;return U.create({next:function(){if(f)return Q;var m=g.ya();f=!0;return S(L(m,5))}})},localName:\"count\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nj:{type:5,g:3}},{l:[{type:46,g:2}],m:function(a,c,e,g){if(g.F())return g;a=Pu(g.S());a=Vn(a);if(!a)throw Error(\"FORG0006: Incompatible types to be converted to a common type\");if(!a.every(function(f){return T(f.type,2)}))throw Error(\"FORG0006: items passed to fn:avg are not all numeric.\");c=a.reduce(function(f,m){return f+m.value},0)/a.length;return a.every(function(f){return T(f.type,5)||T(f.type,3)})?U.s(L(c,3)):a.every(function(f){return T(f.type,4)})?U.s(L(c,4)):U.s(L(c,6))},localName:\"avg\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nj:{type:46,g:0}},{l:[{type:46,g:2}],m:function(a,c,e,g){if(g.F())return g;a=Qu(g.S());return U.s(a.reduce(function(f,m){return f.valuem.value?m:f}))},localName:\"min\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:46,g:0}},{l:[{type:46,g:2},{type:1,g:3}],m:function(){throw Error(\"FOCH0002: No collations are supported\");},localName:\"min\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:46,g:0}},{l:[{type:46,g:2}],m:function(a,c,e,g){return Su(a,c,e,g,U.s(L(0,5)))},localName:\"sum\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:46,g:3}},{l:[{type:46,g:2},{type:46,g:0}],m:Su,\nlocalName:\"sum\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:46,g:0}},{l:[{type:59,g:2}],m:function(a,c,e,g){if(!g.F()&&!g.za())throw Error(\"FORG0003: The argument passed to fn:zero-or-one contained more than one item.\");return g},localName:\"zero-or-one\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:0}},{l:[{type:59,g:2}],m:function(a,c,e,g){if(g.F())throw Error(\"FORG0004: The argument passed to fn:one-or-more was empty.\");return g},localName:\"one-or-more\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",\nj:{type:59,g:1}},{l:[{type:59,g:2}],m:function(a,c,e,g){if(!g.za())throw Error(\"FORG0005: The argument passed to fn:exactly-one is empty or contained more than one item.\");return g},localName:\"exactly-one\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:3}},{l:[{type:59,g:2},{type:60,g:3}],m:function(a,c,e,g,f){if(g.F())return g;var m=f.first(),p=m.o;if(1!==p.length)throw Error(\"XPTY0004: signature of function passed to fn:filter is incompatible.\");return g.filter(function(t){t=\nWh(p[0],U.s(t),c,\"fn:filter\",!1);t=m.value.call(void 0,a,c,e,t);if(!t.za()||!T(t.first().type,0))throw Error(\"XPTY0004: signature of function passed to fn:filter is incompatible.\");return t.first().value})},localName:\"filter\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:59,g:2},{type:60,g:3}],m:function(a,c,e,g,f){if(g.F())return g;var m=f.first(),p=m.o;if(1!==p.length)throw Error(\"XPTY0004: signature of function passed to fn:for-each is incompatible.\");var t=g.value,\nv;return U.create({next:function(A){for(;;){if(!v){var E=t.next(0);if(E.done)return E;E=Wh(p[0],U.s(E.value),c,\"fn:for-each\",!1);v=m.value.call(void 0,a,c,e,E).value}E=v.next(A);if(!E.done)return E;v=null}}})},localName:\"for-each\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:59,g:2},{type:59,g:2},{type:60,g:3}],m:function(a,c,e,g,f,m){if(g.F())return g;var p=m.first(),t=p.o;if(2!==t.length)throw Error(\"XPTY0004: signature of function passed to fn:fold-left is incompatible.\");\nreturn g.M(function(v){return v.reduce(function(A,E){A=Wh(t[0],A,c,\"fn:fold-left\",!1);E=Wh(t[1],U.s(E),c,\"fn:fold-left\",!1);return p.value.call(void 0,a,c,e,A,E)},f)})},localName:\"fold-left\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}},{l:[{type:59,g:2},{type:59,g:2},{type:60,g:3}],m:function(a,c,e,g,f,m){if(g.F())return g;var p=m.first(),t=p.o;if(2!==t.length)throw Error(\"XPTY0004: signature of function passed to fn:fold-right is incompatible.\");return g.M(function(v){return v.reduceRight(function(A,\nE){A=Wh(t[0],A,c,\"fn:fold-right\",!1);E=Wh(t[1],U.s(E),c,\"fn:fold-right\",!1);return p.value.call(void 0,a,c,e,E,A)},f)})},localName:\"fold-right\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:59,g:2}}],sj,[{l:[{type:1,g:3},{type:61,g:3}],m:function(a,c,e,g,f){var m,p;return U.create({next:function(){if(!m){p=g.value.next(0).value.value;var t=f.first().h.reduce(function(O,R){O[R.key.value]=Rc(R.value());return O},Object.create(null)),v=t[\".\"]?t[\".\"]():U.empty();delete t[\".\"];var A=new Iu(function(O){return e.ga(O)},\nObject.keys(t).reduce(function(O,R){O[R]=R;return O},{}),function(O,R){return e.Qa(O,R)}),E=new Zt(A),I=Wt(p,{ca:!1,debug:c.debug});c.Ta&&xu(I,new Fu(E));var M=dm(I,[\"mainModule\",\"prolog\"]);M&&gu(M,E);I=dm(I,[\"mainModule\",\"queryBody\",\"*\"]);I=Qt(I,{qa:!1,ca:!0});try{I.P(E)}catch(O){Zl(p,O)}E=Object.keys(t).reduce(function(O,R){O[A.rb(null,R)]=t[R];return O},Object.create(null));v=v.F()?{O:null,Ga:-1,wa:v,ta:E}:{O:v.first(),Ga:0,wa:v,ta:E};v=new Wf(v);try{m=I.evaluate(v,c).value}catch(O){Zl(p,O)}}try{return m.next(0)}catch(O){Zl(p,\nO)}}})},localName:\"evaluate\",namespaceURI:\"http://fontoxml.com/fontoxpath\",j:{type:59,g:2}},{l:[],m:function(){return U.s(L(\"undefined\"===typeof VERSION?\"devbuild\":VERSION,1))},localName:\"version\",namespaceURI:\"http://fontoxml.com/fontoxpath\",j:{type:1,g:3}}],[{l:[{type:23,g:3},{type:5,g:3}],m:function(a,c,e,g,f){return ce([g,f],function(m){var p=H(m);m=p.next().value;p=p.next().value;var t=e.Aa(m.value.namespaceURI,m.value.localName,p.value);if(null===t)return U.empty();m=new ad({l:t.l,arity:p.value,\nlocalName:m.value.localName,namespaceURI:m.value.namespaceURI,j:t.j,value:t.m});return U.s(m)})},localName:\"function-lookup\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{g:0,type:60}},{l:[{type:60,g:3}],m:function(a,c,e,g){return ce([g],function(f){f=H(f).next().value;return f.Oa()?U.empty():U.s(L(new $c(\"\",f.v,f.J),23))})},localName:\"function-name\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:23,g:0}},{l:[{type:60,g:3}],m:function(a,c,e,g){return ce([g],function(f){f=\nH(f).next().value;return U.s(L(f.B,5))})},localName:\"function-arity\",namespaceURI:\"http://www.w3.org/2005/xpath-functions\",j:{type:5,g:3}}]);function Uu(a){this.h=a}D=Uu.prototype;D.createAttributeNS=function(a,c){return this.h.createAttributeNS(a,c)};D.createCDATASection=function(a){return this.h.createCDATASection(a)};D.createComment=function(a){return this.h.createComment(a)};D.createDocument=function(){return this.h.createDocument()};D.createElementNS=function(a,c){return this.h.createElementNS(a,c)};D.createProcessingInstruction=function(a,c){return this.h.createProcessingInstruction(a,c)};D.createTextNode=function(a){return this.h.createTextNode(a)};var Vu=Object.create(null),Wu=Object.create(null);function Xu(a,c,e,g,f,m){this.J=a;this.v=c;this.h=e;this.B=g;this.o=f;this.C=m}function Yu(a,c){return a+(c?\"_DEBUG\":\"\")}function Zu(a,c,e){c=Yu(c,e);if(e=Wu[a])return e[c]||null;a=Vu[a];return a?(a=a[c])&&0!==a.length?a[0].h:null:null}\nfunction $u(a,c,e,g,f,m,p,t){var v=Vu[a];if(!v)return(a=Zu(a,c,m))?{ia:a,sb:!0}:null;c=Yu(c,m);v=v[c];if(!v)return(a=Wu[a]&&Wu[a][c])?{ia:a,sb:!0}:null;v=v.find(function(A){return A.o===p&&A.J.every(function(E){return e(E.prefix)===E.namespaceURI})&&A.v.every(function(E){return void 0!==g[E.name]})&&A.B.every(function(E){return f[E.prefix]===E.namespaceURI})&&A.C.every(function(E){var I=t(E.oc,E.arity);return I&&I.namespaceURI===E.Jb.namespaceURI&&I.localName===E.Jb.localName})});return v?{ia:v.h,\nsb:!1}:(a=Wu[a]&&Wu[a][c])?{ia:a,sb:!0}:null}function av(a,c,e,g){c=Yu(c,e);(a=Wu[a])&&(e=a[c])&&e===g&&delete a[c]}function bv(a,c,e,g,f,m,p){av(a,c,m,f);var t=Vu[a];t||(t=Vu[a]=Object.create(null));a=Yu(c,m);(c=t[a])||(c=t[a]=[]);c.push(new Xu(Object.values(e.h),Object.values(e.o),f,Object.keys(g).map(function(v){return{namespaceURI:g[v],prefix:v}}),p,e.B))};function cv(a,c,e,g,f,m,p){var t=c.ca?\"XQuery\":\"XPath\",v=c.ob?null:$u(a,t,e,g,f,c.debug,m,p);e=new Iu(e,g,p);var A=new Zt(e);if(null!==v)g=v.ia;else{g=Wt(a,c);p=new Fu(A);c.Ta&&ku(g,p);p=W(g,\"mainModule\");if(!p)throw Error(\"Can not execute a library module.\");g=W(p,\"prolog\");p=dm(p,[\"queryBody\",\"*\"]);if(g){if(!c.ca)throw Error(\"XPST0003: Use of XQuery functionality is not allowed in XPath context\");gu(g,A)}g=Z(p,c)}if(null===v||v.sb)Object.keys(f).forEach(function(E){var I=f[E];eu(A,I);A.o[A.h][E]=\nI}),g.P(A),c.ob||bv(a,t,e,f,g,c.debug,m);return{ia:g,ma:A}};var dv=Symbol(\"IS_XPATH_VALUE_SYMBOL\");function ev(a){return function(c,e){c=Uf(new ud(null===e?new od:e),c,Yc(a));e={};return e[dv]=!0,e.Eb=c,e}};Tu.forEach(function(a){Wm(a.namespaceURI,a.localName,a.l,a.j,a.m)});function fv(a){return a&&\"object\"===typeof a&&\"lookupNamespaceURI\"in a?function(c){return a.lookupNamespaceURI(c||null)}:function(){return null}}function gv(a){return a.replace(/(\\x0D\\x0A)|(\\x0D(?!\\x0A))/g,String.fromCharCode(10))}function hv(a){return function(c){var e=c.localName;return c.prefix?null:{namespaceURI:a,localName:e}}}\nfunction iv(a,c,e,g,f,m){var p,t,v,A,E,I;if(null===g||void 0===g)g=g||{};f?(p=f.logger||{trace:console.log.bind(console)},t=f.documentWriter,v=f.moduleImports,A=f.namespaceResolver,E=f.functionNameResolver,I=f.nodesFactory):(p={trace:console.log.bind(console)},v={},A=null,I=null,t=null,E=void 0);var M=new ud(null===e?new od:e);a=gv(a);e=v||Object.create(null);v=f.defaultFunctionNamespaceURI||\"http://www.w3.org/2005/xpath-functions\";var O=cv(a,m,A||fv(c),g,e,v,E||hv(v));a=c?Vf(M,c):U.empty();c=!I&&\nm.ca?new dk(c):new Uu(I);t=t?new rd(t):qd;I=Object.keys(g).reduce(function(X,Ba){var xa=g[Ba];X[\"Q{}\"+Ba+\"[0]\"]=xa&&\"object\"===typeof xa&&dv in xa?function(){return U.create(xa.Eb)}:function(){return Vf(M,g[Ba])};return X},Object.create(null));A={};E=H(Object.keys(O.ma.Da));for(e=E.next();!e.done;A={Wa:A.Wa},e=E.next())A.Wa=e.value,I[A.Wa]||(I[A.Wa]=function(X){return function(){return(0,O.ma.Da[X.Wa])(R,G)}}(A));var R=new Wf({O:a.first(),Ga:0,wa:a,ta:I});var G=new bg(m.debug,M,c,t,f.currentContext,\np);return{zb:R,Ab:G,ia:O.ia}};function jv(a,c){var e={},g=0,f=!1,m=null;return{next:function(){if(f)return Q;for(var p={};g {\\n\\t\\t\\t\\t\\tconst result = \"+a+\".next();\\n\\t\\t\\t\\t\\treturn result.done ? false : !!result.value; \\n\\t\\t\\t\\t})()\",{type:0});case 5:throw Error(\"Trying to get value of generated code with type None\");default:throw Error(\"Unreachable! Trying to get compiled value of unsupported GeneratedCodeType.\");\n}}var Yy={DONE_TOKEN:Q,getEffectiveBooleanValue:Bc,isSubtypeOf:T,ready:S};var Zy={bc:\"pathExpr\",Rb:\"andOp\",ac:\"orOp\",dc:\"stringConstantExpr\"},$y=Object.values(Zy);function az(a,c,e,g,f){a=W(a,e);a=W(a,$y);if(!a)return Wy(\"Unsupported: a base expression used with an operand.\");c+=e;g=g.Fb(a,c,g);return g.isAstAccepted?0===f?Xy(c,g.code,g.Ma):Vy(c,g.Ma,[g.code]):g};function bz(a,c,e){4===c&&(a+=\".next().value\");47===e&&(a=\"(function () { const attr = \"+a+\"; return attr ? domFacade.getData(attr) : null})()\");return a}\nfunction cz(a,c,e,g,f){var m=cm(W(a,\"firstOperand\")[1],\"type\");a=cm(W(a,\"secondOperand\")[1],\"type\");if(!m||!a)return Wy(\"Left or right type of compare are not found, annotation failed.\");var p=[47,1];if(!p.includes(m.type)||!p.includes(a.type))return Wy(\"Unsupported types in compare: [\"+Uc[m.type]+\", \"+Uc[a.type]+\"]\");if(!e.isAstAccepted)return e;if(!g.isAstAccepted)return g;if(!m||!a)return Wy(\"Operands in compare weren't annotated\");p=new Map([[\"eqOp\",\"===\"],[\"neOp\",\"!==\"]]);if(!p.has(c))return Wy(c+\n\" not yet implemented\");c=p.get(c);p=Uy(e.code,e.Ma);var t=Uy(g.code,g.Ma);return Vy(\"function \"+f+\"(contextItem) {\\n\\t\\t\\t\\t\"+e.Ea.join(\"\\n\")+\"\\n\\t\\t\\t \\t\"+g.Ea.join(\"\\n\")+\"\\n\\t \\t \\treturn \"+bz(p[0],p[1].type,m.type)+\" \"+c+\" \"+bz(t[0],t[1].type,a.type)+\";\\n\\t\\t}\",{type:3,j:{type:0}})}var dz={},ez=(dz.equalOp=\"eqOp\",dz.notEqualOp=\"neOp\",dz.lessThanOrEqualOp=\"leOp\",dz.lessThanOp=\"ltOp\",dz.greaterThanOrEqualOp=\"geOp\",dz.greaterThanOp=\"gtOp\",dz);function fz(a){return JSON.stringify(a).replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")};function gz(a,c,e,g){var f=az(a,c,\"firstOperand\",e,0);if(!f.isAstAccepted)return f;a=az(a,c,\"secondOperand\",e,0);return a.isAstAccepted?Vy(\"\\n\\tfunction \"+c+\"(contextItem) {\\n\\t\\t\"+f.Ea.join(\"\\n\")+\"\\n\\t\\t\"+a.Ea.join(\"\\n\")+\"\\n\\t\\treturn \"+f.code+\" \"+g+\" \"+a.code+\";\\n\\t}\\n\\t\",{type:3,j:{type:0}}):a};function hz(a){for(var c=[],e=0;e {\\n\\t\\t\\t\"+a.code+\"\\n\\t\\t\\treturn DONE_TOKEN;\\n\\t\\t};\\n\\t\\treturn {\\n\\t\\t\\tnext,\\n\\t\\t\\t[Symbol.iterator]() { return this; }\\n\\t\\t};\\n\\t}\\n\\t\",{type:3,j:{type:4}}):a;case Zy.Rb:return gz(a,c,e,\"&&\");case Zy.ac:return gz(a,c,e,\"||\");case Zy.dc:return a=W(a,\"value\")[1],a=fz(a),Vy(\"const \"+c+\" = \"+a+\";\",{type:1});case \"equalOp\":case \"notEqualOp\":case \"lessThanOrEqualOp\":case \"lessThanOp\":case \"greaterThanOrEqualOp\":case \"greaterThanOp\":case \"eqOp\":case \"neOp\":case \"ltOp\":case \"leOp\":case \"gtOp\":case \"geOp\":case \"isOp\":case \"nodeBeforeOp\":case \"nodeAfterOp\":a:{var f=\naz(a,c,\"firstOperand\",e);if(f.isAstAccepted)if(e=az(a,c,\"secondOperand\",e),e.isAstAccepted)switch(g){case \"eqOp\":case \"neOp\":case \"ltOp\":case \"leOp\":case \"gtOp\":case \"geOp\":case \"isOp\":c=cz(a,g,f,e,c);break a;case \"equalOp\":case \"notEqualOp\":case \"lessThanOrEqualOp\":case \"lessThanOp\":case \"greaterThanOrEqualOp\":case \"greaterThanOp\":W(a,\"firstOperand\");var m=cm(a,\"type\");W(a,\"secondOperand\");var p=cm(a,\"type\");c=m&&p?3===m.g&&3===p.g?cz(a,ez[g],f,e,c):Wy(\"generalCompare with sequences is still in development\"):\nWy(\"types of compare are not known\");break a;default:c=Wy(\"Unsupported compare type\")}else c=e;else c=f}return c;default:return Wy(\"Unsupported: the base expression '\"+g+\"'.\")}};function qz(a,c,e){switch(a){case 9:e=H(Uy(\"compiledXPathExpression\",c));a=e.next().value;if(4!==e.next().value.type)throw Error(\"Trying access generated code as an iterator while this is not the case.\");return Vy(\"\\n\\tconst firstResult = \"+a+\".next();\\n\\tif (!firstResult.done) {\\n\\t\\treturn firstResult.value\\n\\t}\\n\\treturn null;\\n\\t\",{type:2});case 7:return e=H(Uy(\"compiledXPathExpression\",c)),a=e.next().value,4!==e.next().value.type?Vy(\"return [];\",{type:2}):Vy(\"\\n\\tconst nodes = [];\\n\\tfor (const node of \"+\na+\") {\\n\\t\\tnodes.push(node);\\n\\t}\\n\\treturn nodes;\\n\\t\",{type:2});case 3:return e=Xy(\"compiledXPathExpression\",\"\",c),e.isAstAccepted?Vy(\"return \"+e.code+\";\",{type:2}):e;case 2:return void 0===e?e=Wy(\"Full AST wasn't annotated so we cannot correctly emit a string return\"):T(e,1)||T(e,47)?(c=H(Uy(\"compiledXPathExpression\",c)),a=c.next().value,c=c.next().value,e=Vy(\"return \"+bz(a,c.type,e)+\" || '';\",{type:2})):e=Wy(\"Not implemented: returning anything but strings and attributes from codegen\"),e;default:return Wy(\"Unsupported: the return type '\"+\na+\"'.\")}}\nfunction rz(a,c,e){var g=W(a,\"mainModule\");if(!g)return Wy(\"Unsupported: Can not execute a library module.\");if(W(g,\"prolog\"))return Wy(\"Unsupported: XQuery.\");var f=dm(g,[\"queryBody\",\"*\"]);e.Fb=pz;e=pz(f,\"compiledXPathExpression\",e);if(!1===e.isAstAccepted)return e;g=e.Ea?e.Ea.join(\"\\n\"):\"\";f=cm(f,\"type\");c=qz(c,e.Ma,f?f.type:void 0);if(!1===c.isAstAccepted)return c;c=g+e.code+c.code;e=\"\\n\\treturn (contextItem, domFacade, runtimeLib) => {\\n\\t\\tconst {\\n\\t\\t\\tDONE_TOKEN,\\n\\t\\t\\tValueType,\\n\\t\\t\\tXPDY0002,\\n\\t\\t\\tdeterminePredicateTruthValue,\\n\\t\\t\\tisSubtypeOf,\\n\\t\\t\\tready,\\n\\t\\t\\tatomize,\\n\\t\\t} = runtimeLib;\";sz(a)&&\n(e+='\\n\\t\\tif (!contextItem) {\\n\\t\\t\\tthrow XPDY0002(\"Context is needed to evaluate the given path expression.\");\\n\\t\\t}\\n\\n\\t\\tif (!contextItem.nodeType) {\\n\\t\\t\\tthrow new Error(\"Context item must be subtype of node().\");\\n\\t\\t}\\n\\t\\t');return{code:e+(c+\"}\\n//# sourceURL=generated.js\"),isAstAccepted:!0}}function sz(a){var c=em(a,\"*\");if(\"pathExpr\"===a[0])return!0;a=H(c);for(c=a.next();!c.done;c=a.next())if(sz(c.value))return!0;return!1};function tz(a,c,e){e=e||{};c=c||0;a=gv(a);a=Wt(a,{ca:\"XQuery3.1\"===e.language||\"XQueryUpdate3.1\"===e.language,debug:!1});e={ga:e.namespaceResolver||fv(null)};var g=new Fu(new Zt(new Iu(e.ga,{},hv(\"http://www.w3.org/2005/xpath-functions\"))));ku(a,g);return rz(a,c,e)};function uz(a,c,e){e=e?e:new od;return a()(c,e,Yy)};var vz={},wz=(vz[\"http://www.w3.org/2005/XQueryX\"]=\"xqx\",vz[\"http://www.w3.org/2007/xquery-update-10\"]=\"xquf\",vz);\nfunction xz(a,c,e,g){if(\"string\"===typeof e)return 0===e.length?null:c.createTextNode(e);if(!Array.isArray(e))throw new TypeError(\"JsonML element should be an array or string\");var f=e[0];switch(f){case \"copySource\":case \"insertAfter\":case \"insertAsFirst\":case \"insertAsLast\":case \"insertBefore\":case \"insertInto\":case \"modifyExpr\":case \"newNameExpr\":case \"replacementExpr\":case \"replaceValue\":case \"returnExpr\":case \"sourceExpr\":case \"targetExpr\":case \"transformCopies\":case \"transformCopy\":g=g||\"http://www.w3.org/2005/XQueryX\";\nbreak;case \"deleteExpr\":case \"insertExpr\":case \"renameExpr\":case \"replaceExpr\":case \"transformExpr\":g=\"http://www.w3.org/2007/xquery-update-10\";break;default:g=\"http://www.w3.org/2005/XQueryX\"}f=c.createElementNS(g,wz[g]+\":\"+f);var m=e[1],p=1;if(\"object\"===typeof m&&!Array.isArray(m)){for(var t in m)null!==m[t]&&(\"type\"===t?a.setAttributeNS(f,g,\"fontoxpath:\"+t,Wc(m[t])):a.setAttributeNS(f,g,wz[g]+\":\"+t,m[t]));p=2}t=p;for(m=e.length;t !bucket || getBucketsForNode(childNode).includes(bucket),\n );\n return matchingNodes;\n }\n\n /**\n * Get the data of this node.\n *\n * @param node -\n */\n getData(node) {\n if (node.nodeType === Node.ATTRIBUTE_NODE) {\n this._onNodeTouched(node);\n return node.value;\n }\n // Text node\n this._onNodeTouched(node.parentNode);\n return node.data;\n }\n\n /**\n * Get the first child of this element.\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n getFirstChild(node, bucket) {\n const matchingNode = Array.from(this.getChildNodes()).filter(\n childNode => !bucket || getBucketsForNode(childNode).includes(bucket),\n )[0];\n if (matchingNode) {\n return matchingNode;\n }\n return null;\n }\n\n /**\n * Get the last child of this element.\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n // eslint-disable-next-line class-methods-use-this\n getLastChild(node, bucket) {\n const matchingNodes = node\n .getChildNodes()\n .filter(childNode => !bucket || getBucketsForNode(childNode).includes(bucket));\n const matchNode = matchingNodes[matchingNodes.length - 1];\n if (matchNode) {\n return matchNode;\n }\n return null;\n }\n\n /**\n * Get the next sibling of this node\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the nextSibling that is requested.\n */\n // eslint-disable-next-line class-methods-use-this\n getNextSibling(node, bucket) {\n for (let { nextSibling } = node; nextSibling; nextSibling = nextSibling.nextSibling) {\n if (!getBucketsForNode(nextSibling).includes(bucket)) {\n // eslint-disable-next-line no-continue\n continue;\n }\n return nextSibling;\n }\n return null;\n }\n\n /**\n * Get the parent of this element.\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n // eslint-disable-next-line class-methods-use-this\n getParentNode(node) {\n return node.parentNode;\n }\n\n /**\n * Get the previous sibling of this element.\n * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage.\n *\n * @param node -\n * @param bucket - The bucket that matches the attribute that will be used.\n */\n // eslint-disable-next-line class-methods-use-this\n getPreviousSibling(node, bucket) {\n for (\n let { previousSibling } = node;\n previousSibling;\n previousSibling = previousSibling.previousSibling\n ) {\n if (!getBucketsForNode(previousSibling).includes(bucket)) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n return previousSibling;\n }\n return null;\n }\n}\n","import * as fx from 'fontoxpath';\n\n/**\n * Checks wether the specified path expression is an absolute path.\n *\n * @param path the path expression.\n * @return true if specified path expression is an absolute\n * path, otherwise false.\n */\n\nexport class XPathUtil {\n static isAbsolutePath(path) {\n return path != null && (path.startsWith('/') || path.startsWith('instance('));\n }\n\n static isSelfReference(ref) {\n return ref === '.' || ref === './text()' || ref === 'text()' || ref === '' || ref === null;\n }\n\n // todo: this will need more work to look upward for instance() expr.\n static getInstanceId(ref) {\n if (!ref) {\n return 'default';\n }\n if (ref.startsWith('instance(')) {\n const result = ref.substring(ref.indexOf('(') + 1);\n return result.substring(1, result.indexOf(')') - 1);\n }\n return 'default';\n }\n\n // todo: certainly not ideal to rely on duplicating instance id on instance document - better way later ;)\n static getPath(node) {\n const path = fx.evaluateXPath('path()', node);\n const instanceId = node.ownerDocument.firstElementChild.getAttribute('id');\n if (instanceId !== null && instanceId !== 'default') {\n return `#${instanceId}${XPathUtil.shortenPath(path)}`;\n }\n return XPathUtil.shortenPath(path);\n }\n\n static shortenPath(path) {\n const steps = path.split('/');\n let result = '';\n for (let i = 2; i < steps.length; i += 1) {\n const step = steps[i];\n if (step.indexOf('{}') !== -1) {\n const q = step.split('{}');\n result += `/${q[1]}`;\n } else {\n result += `/${step}`;\n }\n }\n return result;\n }\n}\n","/**\n * A simple dependency graph\n *\n * based on the work of https://github.com/jriecken/dependency-graph but working on ES6.\n *\n * Furthermore instead of the DepGraphCycleError a compute-exception event is dispatched.\n *\n *\n */\n\n/**\n * Cycle error, including the path of the cycle.\n */\n// const DepGraphCycleError = (exports.DepGraphCycleError = function (cyclePath) {\n\n/*\nexport function DepGraphCycleError(cyclePath) {\n const message = \"Dependency Cycle Found: \" + cyclePath.join(\" -> \");\n const instance = new Error(message);\n instance.cyclePath = cyclePath;\n Object.setPrototypeOf(instance, Object.getPrototypeOf(this));\n if (Error.captureStackTrace) {\n Error.captureStackTrace(instance, DepGraphCycleError);\n }\n return instance;\n};\n\nDepGraphCycleError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: Error,\n enumerable: false,\n writable: true,\n configurable: true\n }\n});\nObject.setPrototypeOf(DepGraphCycleError, Error);\n*/\n\n/**\n * Helper for creating a Topological Sort using Depth-First-Search on a set of edges.\n *\n * Detects cycles and throws an Error if one is detected (unless the \"circular\"\n * parameter is \"true\" in which case it ignores them).\n *\n * @param edges The set of edges to DFS through\n * @param leavesOnly Whether to only return \"leaf\" nodes (ones who have no edges)\n * @param result An array in which the results will be populated\n * @param circular A boolean to allow circular dependencies\n */\nfunction createDFS(edges, leavesOnly, result, circular) {\n const visited = {};\n // eslint-disable-next-line func-names\n return function(start) {\n // console.log('start ', start);\n if (visited[start]) {\n return;\n }\n const inCurrentPath = {};\n const currentPath = [];\n const todo = []; // used as a stack\n todo.push({ node: start, processed: false });\n while (todo.length > 0) {\n const current = todo[todo.length - 1]; // peek at the todo stack\n const { processed } = current;\n const { node } = current;\n if (!processed) {\n // Haven't visited edges yet (visiting phase)\n if (visited[node]) {\n todo.pop();\n // eslint-disable-next-line no-continue\n continue;\n } else if (inCurrentPath[node]) {\n // It's not a DAG\n if (circular) {\n todo.pop();\n // If we're tolerating cycles, don't revisit the node\n // eslint-disable-next-line no-continue\n continue;\n }\n currentPath.push(node);\n window.dispatchEvent(\n new CustomEvent('compute-exception', {\n composed: true,\n bubbles: true,\n detail: {\n path: currentPath,\n message: 'cyclic graph',\n },\n }),\n );\n // return;\n // console.log('‘circular path: ' + currentPath);\n // throw new DepGraphCycleError(currentPath);\n // throw new Error(currentPath);\n }\n\n inCurrentPath[node] = true;\n currentPath.push(node);\n const nodeEdges = edges[node];\n // (push edges onto the todo stack in reverse order to be order-compatible with the old DFS implementation)\n for (let i = nodeEdges.length - 1; i >= 0; i -= 1) {\n todo.push({ node: nodeEdges[i], processed: false });\n }\n current.processed = true;\n } else {\n // Have visited edges (stack unrolling phase)\n todo.pop();\n currentPath.pop();\n inCurrentPath[node] = false;\n visited[node] = true;\n if (!leavesOnly || edges[node].length === 0) {\n result.push(node);\n }\n }\n }\n };\n}\n\n/**\n * Simple Dependency Graph\n */\n\n/*\nvar DepGraph = (exports.DepGraph = function DepGraph(opts) {\n this.nodes = {}; // Node -> Node/Data (treated like a Set)\n this.outgoingEdges = {}; // Node -> [Dependency Node]\n this.incomingEdges = {}; // Node -> [Dependant Node]\n this.circular = opts && !!opts.circular; // Allows circular deps\n});\n*/\n\nexport function DepGraph(opts) {\n this.nodes = {}; // Node -> Node/Data (treated like a Set)\n this.outgoingEdges = {}; // Node -> [Dependency Node]\n this.incomingEdges = {}; // Node -> [Dependant Node]\n this.circular = opts && !!opts.circular; // Allows circular deps\n}\n\nDepGraph.prototype = {\n /**\n * The number of nodes in the graph.\n */\n size() {\n return Object.keys(this.nodes).length;\n },\n /**\n * Add a node to the dependency graph. If a node already exists, this method will do nothing.\n */\n addNode(node, data) {\n if (!this.hasNode(node)) {\n // Checking the arguments length allows the user to add a node with undefined data\n if (arguments.length === 2) {\n this.nodes[node] = data;\n } else {\n this.nodes[node] = node;\n }\n this.outgoingEdges[node] = [];\n this.incomingEdges[node] = [];\n }\n },\n /**\n * Remove a node from the dependency graph. If a node does not exist, this method will do nothing.\n */\n removeNode(node) {\n if (this.hasNode(node)) {\n delete this.nodes[node];\n delete this.outgoingEdges[node];\n delete this.incomingEdges[node];\n // [this.incomingEdges, this.outgoingEdges].forEach(function (edgeList) {\n [this.incomingEdges, this.outgoingEdges].forEach(edgeList => {\n Object.keys(edgeList).forEach(key => {\n const idx = edgeList[key].indexOf(node);\n if (idx >= 0) {\n edgeList[key].splice(idx, 1);\n }\n }, this);\n });\n }\n },\n /**\n * Check if a node exists in the graph\n */\n hasNode(node) {\n // return this.nodes.hasOwnProperty(node);\n\n return Object.prototype.hasOwnProperty.call(this.nodes, node);\n },\n /**\n * Get the data associated with a node name\n */\n getNodeData(node) {\n if (this.hasNode(node)) {\n return this.nodes[node];\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * Set the associated data for a given node name. If the node does not exist, this method will throw an error\n */\n setNodeData(node, data) {\n if (this.hasNode(node)) {\n this.nodes[node] = data;\n } else {\n throw new Error(`Node does not exist: ${node}`);\n }\n },\n /**\n * Add a dependency between two nodes. If either of the nodes does not exist,\n * an Error will be thrown.\n */\n addDependency(from, to) {\n if (!this.hasNode(from)) {\n throw new Error(`Node does not exist: ${from}`);\n }\n if (!this.hasNode(to)) {\n throw new Error(`Node does not exist: ${to}`);\n }\n if (this.outgoingEdges[from].indexOf(to) === -1) {\n this.outgoingEdges[from].push(to);\n }\n if (this.incomingEdges[to].indexOf(from) === -1) {\n this.incomingEdges[to].push(from);\n }\n return true;\n },\n /**\n * Remove a dependency between two nodes.\n */\n removeDependency(from, to) {\n let idx;\n if (this.hasNode(from)) {\n idx = this.outgoingEdges[from].indexOf(to);\n if (idx >= 0) {\n this.outgoingEdges[from].splice(idx, 1);\n }\n }\n\n if (this.hasNode(to)) {\n idx = this.incomingEdges[to].indexOf(from);\n if (idx >= 0) {\n this.incomingEdges[to].splice(idx, 1);\n }\n }\n },\n /**\n * Return a clone of the dependency graph. If any custom data is attached\n * to the nodes, it will only be shallow copied.\n */\n clone() {\n const source = this;\n const result = new DepGraph();\n const keys = Object.keys(source.nodes);\n keys.forEach(n => {\n result.nodes[n] = source.nodes[n];\n result.outgoingEdges[n] = source.outgoingEdges[n].slice(0);\n result.incomingEdges[n] = source.incomingEdges[n].slice(0);\n });\n return result;\n },\n /**\n * Get an array containing the direct dependencies of the specified node.\n *\n * Throws an Error if the specified node does not exist.\n */\n directDependenciesOf(node) {\n if (this.hasNode(node)) {\n return this.outgoingEdges[node].slice(0);\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * Get an array containing the nodes that directly depend on the specified node.\n *\n * Throws an Error if the specified node does not exist.\n */\n directDependantsOf(node) {\n if (this.hasNode(node)) {\n return this.incomingEdges[node].slice(0);\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * Get an array containing the nodes that the specified node depends on (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned\n * in the array.\n */\n dependenciesOf(node, leavesOnly) {\n if (this.hasNode(node)) {\n const result = [];\n const DFS = createDFS(this.outgoingEdges, leavesOnly, result, this.circular);\n DFS(node);\n const idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * get an array containing the nodes that depend on the specified node (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array.\n */\n dependantsOf(node, leavesOnly) {\n if (this.hasNode(node)) {\n const result = [];\n const DFS = createDFS(this.incomingEdges, leavesOnly, result, this.circular);\n DFS(node);\n const idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n }\n throw new Error(`Node does not exist: ${node}`);\n },\n /**\n * Construct the overall processing order for the dependency graph.\n *\n * Throws an Error if the graph has a cycle.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned.\n */\n overallOrder(leavesOnly) {\n const self = this;\n const result = [];\n const keys = Object.keys(this.nodes);\n if (keys.length === 0) {\n return result; // Empty graph\n }\n if (!this.circular) {\n // Look for cycles - we run the DFS starting at all the nodes in case there\n // are several disconnected subgraphs inside this dependency graph.\n const CycleDFS = createDFS(this.outgoingEdges, false, [], this.circular);\n keys.forEach(n => {\n CycleDFS(n);\n });\n }\n\n const DFS = createDFS(this.outgoingEdges, leavesOnly, result, this.circular);\n // Find all potential starting points (nodes with nothing depending on them) an\n // run a DFS starting at these points to get the order\n keys\n .filter(node => self.incomingEdges[node].length === 0)\n .forEach(n => {\n DFS(n);\n });\n\n // If we're allowing cycles - we need to run the DFS against any remaining\n // nodes that did not end up in the initial result (as they are part of a\n // subgraph that does not have a clear starting point)\n if (this.circular) {\n keys.filter(node => result.indexOf(node) === -1).forEach(n => DFS(n));\n }\n\n return result;\n },\n};\n\n// Create some aliases\nDepGraph.prototype.directDependentsOf = DepGraph.prototype.directDependantsOf;\nDepGraph.prototype.dependentsOf = DepGraph.prototype.dependantsOf;\n","export class Fore {\n static READONLY_DEFAULT = false;\n\n static REQUIRED_DEFAULT = false;\n\n static RELEVANT_DEFAULT = true;\n\n static CONSTRAINT_DEFAULT = true;\n\n static TYPE_DEFAULT = 'xs:string';\n\n static get ACTION_ELEMENTS() {\n return [\n 'FX-DELETE',\n 'FX-DISPATCH',\n 'FX-INSERT',\n 'FX-LOAD',\n 'FX-MESSAGE',\n 'FX-REBUILD',\n 'FX-RECALCULATE',\n 'FX-REFRESH',\n 'FX-RENEW',\n 'FX-REPLACE',\n 'FX-RESET',\n 'FX-RETAIN',\n 'FX-RETURN',\n 'FX-REVALIDATE',\n 'FX-SEND',\n 'FX-SETFOCUS',\n 'FX-SETINDEX',\n 'FX-SETVALUE',\n 'FX-TOGGLE',\n 'FX-UPDATE',\n ];\n }\n\n static get XFORMS_NAMESPACE_URI() {\n // todo: should be centralized somewhere as constant. Exists in several? places\n return 'http://www.w3.org/2002/xforms';\n }\n\n static isActionElement(elementName) {\n return Fore.ACTION_ELEMENTS.includes(elementName);\n }\n\n static get UI_ELEMENTS() {\n return [\n 'FX-ALERT',\n 'FX-CONTROL',\n 'FX-BUTTON',\n 'FX-CONTROL',\n 'FX-DIALOG',\n 'FX-FILENAME',\n 'FX-MEDIATYPE',\n 'FX-GROUP',\n 'FX-HINT',\n 'FX-INPUT',\n 'FX-ITEMSET',\n 'FX-LABEL',\n 'FX-OUTPUT',\n 'FX-RANGE',\n 'FX-REPEAT',\n 'FX-REPEATITEM',\n 'FX-SWITCH',\n 'FX-SECRET',\n 'FX-SELECT',\n 'FX-SUBMIT',\n 'FX-TEXTAREA',\n 'FX-TRIGGER',\n 'FX-UPLOAD',\n ];\n }\n\n static isUiElement(elementName) {\n const found = Fore.UI_ELEMENTS.includes(elementName);\n if (found) {\n // console.log('_isUiElement ', found);\n }\n return Fore.UI_ELEMENTS.includes(elementName);\n }\n\n static async refreshChildren(startElement) {\n const refreshed = new Promise(resolve => {\n const { children } = startElement;\n if (children) {\n Array.from(children).forEach(element => {\n if (Fore.isUiElement(element.nodeName) && typeof element.refresh === 'function') {\n element.refresh();\n } else if (element.nodeName.toUpperCase() !== 'FX-MODEL') {\n Fore.refreshChildren(element);\n }\n });\n }\n resolve('done');\n });\n\n return refreshed;\n }\n\n static isRepeated(element) {\n return element.closest('fx-repeatitem') !== null;\n }\n\n static getRepeatTarget(element, id) {\n const repeatContextItem = element.closest('fx-repeatitem');\n const target = repeatContextItem.querySelector(`#${id}`);\n return target;\n }\n\n /**\n * returns the proper content-type for instance.\n *\n * @param instance an fx-instance element\n * @returns {string|null}\n */\n static getContentType(instance, method) {\n if (method === 'urlencoded-post') {\n return 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n if (instance.type === 'xml') {\n return 'application/xml; charset=UTF-8';\n }\n if (instance.type === 'json') {\n return 'application/json';\n }\n console.warn('content-type unknown ', instance.type);\n return null;\n }\n\n static fadeInElement(element) {\n const duration = 600;\n let fadeIn = () => {\n // Stop all current animations\n if (element.getAnimations) {\n element.getAnimations().map(anim => anim.finish());\n }\n\n // Play the animation with the newly specified duration\n fadeIn = element.animate(\n {\n opacity: [0, 1],\n },\n duration,\n );\n return fadeIn.finished;\n };\n return fadeIn();\n }\n\n static fadeOutElement(element) {\n const duration = 2600;\n let fadeOut = () => {\n // Stop all current animations\n if (element.getAnimations) {\n element.getAnimations().map(anim => anim.finish());\n }\n\n // Play the animation with the newly specified duration\n fadeOut = element.animate(\n {\n opacity: [1, 0],\n },\n duration,\n );\n return fadeOut.finished;\n };\n return fadeOut();\n }\n\n /**\n * clear all text nodes and attribute values to get a 'clean' template.\n * @param n\n * @private\n */\n /*\n static clear(n) {\n n.textContent = '';\n if (n.hasAttributes()) {\n const attrs = n.attributes;\n for (let i = 0; i < attrs.length; i+= 1) {\n attrs[i].value = '';\n }\n }\n const { children } = n;\n for (let i = 0; i < children.length; i+= 1) {\n Fore.clear(children[i]);\n }\n }\n */\n}\n","import {\n evaluateXPath as fxEvaluateXPath,\n evaluateXPathToFirstNode as fxEvaluateXPathToFirstNode,\n evaluateXPathToNodes as fxEvaluateXPathToNodes,\n evaluateXPathToBoolean as fxEvaluateXPathToBoolean,\n evaluateXPathToString as fxEvaluateXPathToString,\n evaluateXPathToNumber as fxEvaluateXPathToNumber,\n registerCustomXPathFunction,\n registerXQueryModule,\n} from 'fontoxpath';\n\nconst XFORMS_NAMESPACE_URI = 'http://www.w3.org/2002/xforms';\n\n/**\n * Resolve a namespace. Needs a namespace prefix and the element that is most closely related to the\n * XPath in which the namespace is being resolved. The prefix will be resolved by using the\n * ancestry of said element.\n *\n * It has two ways of doing so:\n *\n * - If the prefix is defined in an `xmlns:XXX=\"YYY\"` namespace declaration, it will return 'YYY'.\n * - If the prefix is the empty prefix and there is an `xpath-default-namespace=\"YYY\"` attribute in the\n * - ancestry, that attribute will be used and 'YYY' will be returned\n *\n * @param {Node} contextElement The element that is most closely related with the XPath in which this prefix is resolved.\n * @param {string} prefix The prefix to resolve\n */\nfunction resolveNamespacePrefix(contextElement, prefix) {\n if (prefix === 'xhtml') {\n return 'http://www.w3.org/1999/xhtml';\n }\n\n if (prefix === '') {\n return (\n fxEvaluateXPathToString(\n 'ancestor-or-self::*/@xpath-default-namespace[last()]',\n contextElement,\n ) || null\n );\n }\n\n // Note: ideally we should use Node#lookupNamespaceURI. However, the nodes we are passed are\n // XML. The best we can do is emulate the `xmlns:xxx` namespace declarations by regarding them as\n // attributes. Which they technically ARE NOT!\n\n const result = fxEvaluateXPathToString(\n 'ancestor-or-self::*/@*[name() = \"xmlns:\" || $prefix][last()]',\n contextElement,\n null,\n { prefix },\n );\n\n console.log('result', result);\n return result;\n}\n\n/**\n * Implementation of the functionNameResolver passed to FontoXPath to\n * redirect function resolving for unprefixed functions to either the fn or the xf namespace\n */\n// eslint-disable-next-line no-unused-vars\nfunction functionNameResolver({ prefix, localName }, _arity) {\n switch (localName) {\n // TODO: put the full XForms library functions set here\n case 'base64encode':\n case 'boolean-from-string':\n case 'current':\n case 'depends':\n case 'event':\n case 'index':\n case 'instance':\n case 'log':\n case 'logtree':\n return { namespaceURI: XFORMS_NAMESPACE_URI, localName };\n default:\n if (prefix === '' || prefix === 'fn') {\n return { namespaceURI: 'http://www.w3.org/2005/xpath-functions', localName };\n }\n if (prefix === 'local') {\n return { namespaceURI: 'http://www.w3.org/2005/xquery-local-functions', localName };\n }\n return null;\n }\n}\n\n/**\n * Evaluate an XPath to _any_ type. When possible, prefer to use any other function to ensure the\n * type of the output is more predictable.\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {{parentNode}|ForeElementMixin} formElement The form element associated to the XPath\n */\nexport function evaluateXPath(xpath, contextNode, formElement, variables = {}) {\n return fxEvaluateXPath(xpath, contextNode, null, variables, 'xs:anyType', {\n currentContext: { formElement, variables },\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n functionNameResolver,\n namespaceResolver: prefix => resolveNamespacePrefix(formElement, prefix),\n });\n}\n\n/**\n * Evaluate an XPath to the first Node\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @return {Node} The first node found by the XPath\n */\nexport function evaluateXPathToFirstNode(xpath, contextNode, formElement) {\n return fxEvaluateXPathToFirstNode(\n xpath,\n contextNode,\n null,\n {},\n {\n namespaceResolver: prefix => resolveNamespacePrefix(formElement, prefix),\n defaultFunctionNamespaceURI: XFORMS_NAMESPACE_URI,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n currentContext: { formElement },\n },\n );\n}\n\n/**\n * Evaluate an XPath to all nodes\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @return {Node[]} All nodes\n */\nexport function evaluateXPathToNodes(xpath, contextNode, formElement) {\n return fxEvaluateXPathToNodes(\n xpath,\n contextNode,\n null,\n {},\n {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver: prefix => resolveNamespacePrefix(formElement, prefix),\n },\n );\n}\n\n/**\n * Evaluate an XPath to a boolean\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @return {boolean}\n */\nexport function evaluateXPathToBoolean(xpath, contextNode, formElement) {\n return fxEvaluateXPathToBoolean(\n xpath,\n contextNode,\n null,\n {},\n {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver: prefix => resolveNamespacePrefix(formElement, prefix),\n },\n );\n}\n\n/**\n * Evaluate an XPath to a string\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @param {DomFacade} [domFacade=null] A DomFacade is used in bindings to intercept DOM\n * access. This is used to determine dependencies between bind elements.\n * @param {Node} formElement The element where the XPath is defined: used for namespace resolving\n * @return {string}\n */\nexport function evaluateXPathToString(\n xpath,\n contextNode,\n formElement,\n domFacade = null,\n namespaceReferenceNode = formElement,\n) {\n return fxEvaluateXPathToString(\n xpath,\n contextNode,\n domFacade,\n {},\n\n {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver: prefix => resolveNamespacePrefix(namespaceReferenceNode, prefix),\n },\n );\n}\n\n/**\n * Evaluate an XPath to a number\n *\n * @param {string} xpath The XPath to run\n * @param {Node} contextNode The start of the XPath\n * @param {Node} formElement The form element associated to the XPath\n * @param {DomFacade} [domFacade=null] A DomFacade is used in bindings to intercept DOM\n * @param {Node} formElement The element where the XPath is defined: used for namespace resolving\n * access. This is used to determine dependencies between bind elements.\n * @return {Number}\n */\nexport function evaluateXPathToNumber(\n xpath,\n contextNode,\n formElement,\n domFacade = null,\n namespaceReferenceNode = formElement,\n) {\n return fxEvaluateXPathToNumber(\n xpath,\n contextNode,\n domFacade,\n {},\n {\n currentContext: { formElement },\n functionNameResolver,\n moduleImports: {\n xf: XFORMS_NAMESPACE_URI,\n },\n namespaceResolver: prefix => resolveNamespacePrefix(namespaceReferenceNode, prefix),\n },\n );\n}\n\nconst xhtmlNamespaceResolver = prefix => {\n if (!prefix) {\n return 'http://www.w3.org/1999/xhtml';\n }\n return undefined;\n};\n\n/**\n * Resolve an id in scope. Behaves like the algorithm defined on https://www.w3.org/community/xformsusers/wiki/XForms_2.0#idref-resolve\n */\nfunction resolveId(id, sourceObject, nodeName = null) {\n const allMatchingTargetObjects = fxEvaluateXPathToNodes(\n 'outermost(ancestor-or-self::fx-fore[1]/(descendant::xf-fore|descendant::*[@id = $id]))[not(self::fx-fore)]',\n sourceObject,\n null,\n { id },\n { namespaceResolver: xhtmlNamespaceResolver },\n );\n\n if (allMatchingTargetObjects.length === 0) {\n return null;\n }\n\n if (\n allMatchingTargetObjects.length === 1 &&\n fxEvaluateXPathToBoolean(\n '(ancestor::fx-fore | ancestor::fx-repeat)[last()]/self::fx-fore',\n allMatchingTargetObjects[0],\n null,\n null,\n { namespaceResolver: xhtmlNamespaceResolver },\n )\n ) {\n // If the target element is not repeated, then the search for the target object is trivial since\n // there is only one associated with the target element that bears the matching ID. This is true\n // regardless of whether or not the source object is repeated. However, if the target element is\n // repeated, then additional information must be used to help select a target object from among\n // those associated with the identified target element.\n const targetObject = allMatchingTargetObjects[0];\n if (nodeName && targetObject.localName !== nodeName) {\n return null;\n }\n return targetObject;\n }\n\n // SPEC:\n\n // 12.2.1 References to Elements within a repeat Element\n\n // When the target element that is identified by the IDREF of a source object has one or more\n // repeat elements as ancestors, then the set of ancestor repeats are partitioned into two\n // subsets, those in common with the source element and those that are not in common. Any ancestor\n // repeat elements of the target element not in common with the source element are descendants of\n // the repeat elements that the source and target element have in common, if any.\n\n // For the repeat elements that are in common, the desired target object exists in the same set of\n // run-time objects that contains the source object. Then, for each ancestor repeat of the target\n // element that is not in common with the source element, the current index of the repeat\n // determines the set of run-time objects that contains the desired target object.\n for (const ancestorRepeatItem of fxEvaluateXPathToNodes(\n 'ancestor::fx-repeatitem => reverse()',\n sourceObject,\n null,\n null,\n { namespaceResolver: xhtmlNamespaceResolver },\n )) {\n const foundTargetObjects = allMatchingTargetObjects.filter(to =>\n ancestorRepeatItem.contains(to),\n );\n switch (foundTargetObjects.length) {\n case 0:\n // Nothing found: ignore\n break;\n case 1: {\n // A single one is found: the target object is directly in a common repeat\n const targetObject = foundTargetObjects[0];\n if (nodeName && targetObject.localName !== nodeName) {\n return null;\n }\n return targetObject;\n }\n default: {\n // Multiple target objects are found: they are in a repeat that is not common with the source object\n // We found a target object in a common repeat! We now need to find the one that is in the repeatitem identified at the current index\n const targetObject = foundTargetObjects.find(to =>\n fxEvaluateXPathToNodes(\n 'every $ancestor of ancestor::fx-repeatitem satisfies $ancestor is $ancestor/../child::fx-repeatitem[../@repeat-index]',\n to,\n null,\n {},\n ),\n );\n if (!targetObject) {\n // Nothing valid found for whatever reason. This might be something dynamic?\n return null;\n }\n if (nodeName && targetObject.localName !== nodeName) {\n return null;\n }\n return targetObject;\n }\n }\n }\n // We found no target objects in common repeats. The id is unresolvable\n return null;\n}\n\n/**\n * @param id as string\n * @return instance data for given id serialized to string.\n */\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'log' },\n ['xs:string?'],\n 'xs:string?',\n (dynamicContext, string) => {\n const { formElement } = dynamicContext.currentContext;\n const instance = resolveId(string, formElement, 'fx-instance');\n if (instance) {\n const def = new XMLSerializer().serializeToString(instance.getDefaultContext());\n return def;\n }\n return null;\n },\n);\n\nfunction buildTree(tree, data) {\n if (!data) return;\n if (data.nodeType === Node.ELEMENT_NODE) {\n if (data.children) {\n const details = document.createElement('details');\n details.setAttribute('data-path', data.nodeName);\n const summary = document.createElement('summary');\n\n let display = ` <${data.nodeName}`;\n Array.from(data.attributes).forEach(attr => {\n display += ` ${attr.nodeName}=\"${attr.nodeValue}\"`;\n });\n\n let contents;\n if (\n data.firstChild &&\n data.firstChild.nodeType === Node.TEXT_NODE &&\n data.firstChild.data.trim() !== ''\n ) {\n // console.log('whoooooooooopp');\n contents = data.firstChild.nodeValue;\n display += `>${contents}`;\n } else {\n display += '>';\n }\n summary.textContent = display;\n\n details.appendChild(summary);\n if (data.childElementCount !== 0) {\n details.setAttribute('open', 'open');\n } else {\n summary.setAttribute('style', 'list-style:none;');\n }\n tree.appendChild(details);\n\n Array.from(data.children).forEach(child => {\n // if(child.nodeType === Node.ELEMENT_NODE){\n // child.parentNode.appendChild(buildTree(child));\n buildTree(details, child);\n // }\n });\n }\n } /* else if(data.nodeType === Node.ATTRIBUTE_NODE){\n //create span for now\n // const span = document.createElement('span');\n // span.style.background = 'grey';\n // span.textContent = data.value;\n // tree.appendChild(span);\n tree.setAttribute(data.nodeName,data.value);\n }else {\n tree.textContent = data;\n } */\n\n // return tree;\n}\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'logtree' },\n ['xs:string?'],\n 'element()?',\n (dynamicContext, string) => {\n const { formElement } = dynamicContext.currentContext;\n const instance = resolveId(string, formElement, 'fx-instance');\n\n if (instance) {\n // const def = new XMLSerializer().serializeToString(instance.getDefaultContext());\n // const def = JSON.stringify(instance.getDefaultContext());\n\n const treeDiv = document.createElement('div');\n treeDiv.setAttribute('class', 'logtree');\n // const datatree = buildTree(tree,instance.getDefaultContext());\n // return tree.appendChild(datatree);\n // return buildTree(root,instance.getDefaultContext());;\n const form = dynamicContext.currentContext.formElement;\n const logtree = form.querySelector('.logtree');\n if (logtree) {\n logtree.parentNode.removeChild(logtree);\n }\n const tree = buildTree(treeDiv, instance.getDefaultContext());\n if (tree) {\n form.appendChild(tree);\n }\n }\n return null;\n },\n);\n\nconst instance = (dynamicContext, string) => {\n // Spec: https://www.w3.org/TR/xforms-xpath/#The_XForms_Function_Library#The_instance.28.29_Function\n // TODO: handle no string passed (null will be passed instead)\n\n const formElement = fxEvaluateXPathToFirstNode(\n 'ancestor-or-self::fx-fore',\n dynamicContext.currentContext.formElement,\n null,\n null,\n { namespaceResolver: xhtmlNamespaceResolver },\n );\n\n // console.log('fnInstance dynamicContext: ', dynamicContext);\n // console.log('fnInstance string: ', string);\n\n const inst = string\n ? resolveId(string, formElement, 'fx-instance')\n : formElement.querySelector(`fx-instance`);\n\n // const def = instance.getInstanceData();\n if (inst) {\n const def = inst.getDefaultContext();\n // console.log('target instance root node: ', def);\n\n return def;\n }\n return null;\n};\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'index' },\n ['xs:string?'],\n 'xs:integer?',\n (dynamicContext, string) => {\n const { formElement } = dynamicContext.currentContext;\n if (string === null) {\n return 1;\n }\n const repeat = resolveId(string, formElement, 'fx-repeat');\n\n // const def = instance.getInstanceData();\n if (repeat) {\n return repeat.getAttribute('index');\n }\n return 1;\n },\n);\n\n// Note that this is not to spec. The spec enforces elements to be returned from the\n// instance. However, we allow instances to actually be JSON!\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'instance' },\n [],\n 'item()?',\n domFacade => instance(domFacade, null),\n);\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'instance' },\n ['xs:string?'],\n 'item()?',\n instance,\n);\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'depends' },\n ['node()*'],\n 'item()?',\n (dynamicContext, nodes) =>\n // console.log('depends on : ', nodes[0]);\n nodes[0],\n);\n\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'event' },\n ['xs:string?'],\n 'item()?',\n (dynamicContext, arg) => {\n const payload = dynamicContext.currentContext.variables[arg];\n if (payload.nodeType) {\n console.log('got some node as js object');\n }\n\n return dynamicContext.currentContext.variables[arg];\n },\n);\n\n// Implement the XForms standard functions here.\nregisterXQueryModule(`\n module namespace xf=\"${XFORMS_NAMESPACE_URI}\";\n\n declare %public function xf:boolean-from-string($str as xs:string) as xs:boolean {\n lower-case($str) = \"true\" or $str = \"1\"\n };\n`);\n\n// How to run XQUERY:\n/**\n registerXQueryModule(`\n module namespace my-custom-namespace = \"my-custom-uri\";\n (:~\n Insert attribute somewhere\n ~:)\n declare %public %updating function my-custom-namespace:do-something ($ele as element()) as xs:boolean {\n\tif ($ele/@done) then false() else\n\t(insert node\n\tattribute done {\"true\"}\n\tinto $ele, true())\n};\n `)\n // At some point:\n const contextNode = null;\n const pendingUpdatesAndXdmValue = evaluateUpdatingExpressionSync('ns:do-something(.)', contextNode, null, null, {moduleImports: {'ns': 'my-custom-uri'}})\n\n console.log(pendingUpdatesAndXdmValue.xdmValue); // this is true or false, see function\n\n executePendingUpdateList(pendingUpdatesAndXdmValue.pendingUpdateList, null, null, null);\n */\n\n/**\n * @param input as string\n * @return {string}\n */\nregisterCustomXPathFunction(\n { namespaceURI: XFORMS_NAMESPACE_URI, localName: 'base64encode' },\n ['xs:string?'],\n 'xs:string?',\n (dynamicContext, string) => btoa(string),\n);\n","import { Fore } from './fore.js';\nimport { evaluateXPathToFirstNode } from './xpath-evaluation.js';\n\n/**\n * Container for data instances.\n *\n * Offers several ways of loading data from either inline content or via 'src' attribute which will use the fetch\n * API to resolve data.\n */\nexport class FxInstance extends HTMLElement {\n constructor() {\n super();\n this.model = this.parentNode;\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n // console.log('connectedCallback ', this);\n if (this.hasAttribute('src')) {\n this.src = this.getAttribute('src');\n }\n\n if (this.hasAttribute('id')) {\n this.id = this.getAttribute('id');\n } else {\n this.id = 'default';\n }\n\n if (this.hasAttribute('type')) {\n this.type = this.getAttribute('type');\n } else {\n this.type = 'xml';\n }\n const style = `\n :host {\n display: none;\n }\n :host * {\n display:none;\n }\n ::slotted(*){\n display:none;\n }\n `;\n\n const html = `\n `;\n this.shadowRoot.innerHTML = `\n \n ${html}\n `;\n }\n\n /**\n * Is called by fx-model during initialization phase (model-construct)\n * @returns {Promise}\n */\n async init() {\n // console.log('fx-instance init');\n await this._initInstance().then(() => {\n this.dispatchEvent(\n new CustomEvent('instance-loaded', {\n composed: true,\n bubbles: true,\n detail: { instance: this },\n }),\n );\n return this;\n });\n }\n\n evalXPath(xpath) {\n const formElement = this.parentElement.parentElement;\n const result = evaluateXPathToFirstNode(xpath, this.getDefaultContext(), formElement);\n return result;\n }\n\n /**\n * returns the current instance data\n *\n * @returns {Document | T | any}\n */\n getInstanceData() {\n if (!this.instanceData) {\n this._createInstanceData();\n }\n return this.instanceData;\n }\n\n setInstanceData(data) {\n if (!data) {\n this._createInstanceData();\n return;\n }\n this.instanceData = data;\n }\n\n /**\n * return the default context (root node of respective instance) for XPath evalution.\n *\n * @returns {Document|T|any|Element}\n */\n getDefaultContext() {\n // console.log('getDefaultContext ', this.instanceData.firstElementChild);\n if (this.type === 'xml') {\n return this.instanceData.firstElementChild;\n }\n return this.instanceData;\n }\n\n /**\n * does the actual loading of data. Handles inline data, data loaded via fetch() or data constructed from\n * querystring.\n *\n * @returns {Promise}\n * @private\n */\n async _initInstance() {\n if (this.src === '#querystring') {\n /*\n * generate XML data from URL querystring\n * todo: there's no variant to generate JSON yet\n */\n // eslint-disable-next-line no-restricted-globals\n const query = new URLSearchParams(location.search);\n const doc = new DOMParser().parseFromString('', 'application/xml');\n const root = doc.firstElementChild;\n for (const p of query) {\n const newNode = doc.createElement(p[0]);\n newNode.appendChild(doc.createTextNode(p[1]));\n root.appendChild(newNode);\n }\n this.instanceData = doc;\n // this.instanceData.firstElementChild.setAttribute('id', this.id);\n // resolve('done');\n } else if (this.src) {\n await this._loadData();\n } else if (this.childNodes.length !== 0) {\n this._useInlineData();\n }\n }\n\n _createInstanceData() {\n if (this.type === 'xml') {\n const doc = new DOMParser().parseFromString('', 'application/xml');\n this.instanceData = doc;\n }\n if (this.type === 'json') {\n this.instanceData = {};\n }\n }\n\n async _loadData() {\n const url = `${this.src}`;\n const contentType = Fore.getContentType(this, 'get');\n\n await fetch(url, {\n method: 'GET',\n mode: 'cors',\n credentials: 'include',\n headers: {\n 'Content-Type': contentType,\n },\n })\n .then(response => {\n const responseContentType = response.headers.get('content-type').toLowerCase();\n console.log('********** responseContentType *********', responseContentType);\n if (responseContentType.startsWith('text/plain')) {\n // console.log(\"********** inside res plain *********\");\n return response.text();\n }\n if (responseContentType.startsWith('application/json')) {\n // console.log(\"********** inside res json *********\");\n return response.json();\n }\n if (responseContentType.startsWith('application/xml')) {\n return response.text().then(result => {\n console.log('xml ********', result);\n return new DOMParser().parseFromString(result, 'application/xml');\n });\n }\n return 'done';\n })\n .then(data => {\n this.instanceData = data;\n console.log('instanceData loaded: ', this.instanceData);\n })\n .catch(error => {\n throw new Error(`failed loading data ${error}`);\n });\n }\n\n _getContentType() {\n if (this.type === 'xml') {\n return 'application/xml';\n }\n if (this.type === 'json') {\n return 'application/json';\n }\n console.warn('content-type unknown ', this.type);\n return null;\n }\n\n _useInlineData() {\n if (this.type === 'xml') {\n // console.log('innerHTML ', this.innerHTML);\n const instanceData = new DOMParser().parseFromString(this.innerHTML, 'application/xml');\n\n console.log('fx-instance init id:', this.id);\n this.instanceData = instanceData;\n // console.log('instanceData ', this.instanceData);\n // console.log('instanceData ', this.instanceData.firstElementChild);\n\n console.log('fx-instance data: ', this.instanceData);\n // this.instanceData.firstElementChild.setAttribute('id', this.id);\n // todo: move innerHTML out to shadowDOM (for later reset)\n } else if (this.type === 'json') {\n this.instanceData = JSON.parse(this.textContent);\n } else {\n console.warn('unknow type for data ', this.type);\n }\n }\n\n _handleResponse() {\n console.log('_handleResponse ');\n const ajax = this.shadowRoot.getElementById('loader');\n const instanceData = new DOMParser().parseFromString(ajax.lastResponse, 'application/xml');\n this.instanceData = instanceData;\n console.log('data: ', this.instanceData);\n }\n\n _handleError() {\n const loader = this.shadowRoot.getElementById('loader');\n console.log('_handleResponse ', loader.lastError);\n }\n}\ncustomElements.define('fx-instance', FxInstance);\n","/**\n * Class for holding ModelItem facets.\n *\n * A ModelItem annotates nodes that are referred by a fx-bind element with facets for calculation and validation.\n *\n * Each bound node in an instance has exactly one ModelItem associated with it.\n */\nexport class ModelItem {\n /**\n *\n * @param {path} calculated normalized path expression linking to data\n * @param {ref} ref relative binding expression\n * @param {*} isReadonly - boolean to signal readonly/readwrite state\n * @param {*} relevant - boolean to signal relevant/non-relevant state\n * @param {*} required - boolean to signal required/optional state\n * @param {*} required - boolean boolean to signal valid/invalid state\n * @param {*} type - string expression to set a datatype\n * @param {*} node - the node the 'ref' expression is referring to\n * @param {*} bind - the fx-bind element having created this modelItem\n */\n constructor(path, ref, readonly, relevant, required, constraint, type, node, bind) {\n this.path = path;\n this.ref = ref;\n this.constraint = constraint;\n this.readonly = readonly;\n this.relevant = relevant;\n this.required = required;\n this.type = type;\n this.node = node;\n this.bind = bind;\n this.changed = false;\n this.alerts = [];\n // this.value = this._getValue();\n }\n\n /*\n get ref(){\n return this.bind.ref;\n }\n*/\n\n get value() {\n if (!this.node.nodeType) return this.node;\n\n if (this.node.nodeType === Node.ATTRIBUTE_NODE) {\n return this.node.nodeValue;\n }\n return this.node.textContent;\n }\n\n set value(newVal) {\n console.log('modelitem.setvalue oldVal', this.value);\n console.log('modelitem.setvalue newVal', newVal);\n\n if (newVal.nodeType === Node.DOCUMENT_NODE) {\n // this.node.replaceWith(newVal.firstElementChild);\n this.node.appendChild(newVal.firstElementChild);\n } else if (newVal.nodeType === Node.ELEMENT_NODE) {\n // this.node.replaceWith(newVal);\n this.node.appendChild(newVal);\n } else if (this.node.nodeType === Node.ATTRIBUTE_NODE) {\n this.node.nodeValue = newVal;\n } else {\n this.node.textContent = newVal;\n }\n }\n\n addAlert(alert) {\n this.alerts.push(alert);\n }\n\n cleanAlerts() {\n this.alerts = [];\n }\n}\n","import { DepGraph } from './dep_graph.js';\nimport { Fore } from './fore.js';\nimport './fx-instance.js';\nimport { ModelItem } from './modelitem.js';\nimport { evaluateXPath, evaluateXPathToBoolean } from './xpath-evaluation.js';\nimport { XPathUtil } from './xpath-util.js';\n\n/**\n * @ts-check\n */\nexport class FxModel extends HTMLElement {\n constructor() {\n super();\n // this.id = '';\n\n this.instances = [];\n this.modelItems = [];\n this.defaultContext = {};\n\n // this.mainGraph = new DepGraph(false);\n this.inited = false;\n this.modelConstructed = false;\n this.attachShadow({ mode: 'open' });\n }\n\n get formElement() {\n return this.parentElement;\n }\n\n connectedCallback() {\n // console.log('connectedCallback ', this);\n this.shadowRoot.innerHTML = `\n \n `;\n\n this.addEventListener('model-construct-done', e => {\n this.modelConstructed = true;\n // console.log('model-construct-done fired ', this.modelConstructed);\n console.log('model-construct-done fired ', e.detail.model.instances);\n });\n\n // logging\n }\n\n static lazyCreateModelItem(model, ref, node) {\n // console.log('lazyCreateModelItem ', node);\n\n let targetNode = {};\n if (node === null || node === undefined) return null;\n if (node.nodeType === node.TEXT_NODE) {\n // const parent = node.parentNode;\n // console.log('PARENT ', parent);\n targetNode = node.parentNode;\n } else {\n targetNode = node;\n }\n\n // const path = fx.evaluateXPath('path()',node);\n let path;\n if (node.nodeType) {\n path = XPathUtil.getPath(node);\n } else {\n path = null;\n targetNode = node;\n }\n // const path = XPathUtil.getPath(node);\n\n // ### intializing ModelItem with default values (as there is no matching for given ref)\n const mi = new ModelItem(\n path,\n ref,\n Fore.READONLY_DEFAULT,\n Fore.RELEVANT_DEFAULT,\n Fore.REQUIRED_DEFAULT,\n Fore.CONSTRAINT_DEFAULT,\n Fore.TYPE_DEFAULT,\n targetNode,\n this,\n );\n\n // console.log('new ModelItem is instanceof ModelItem ', mi instanceof ModelItem);\n model.registerModelItem(mi);\n return mi;\n }\n\n modelConstruct() {\n console.log('### <<<<< dispatching model-construct >>>>>');\n this.dispatchEvent(new CustomEvent('model-construct', { detail: this }));\n\n const instances = this.querySelectorAll('fx-instance');\n if (instances.length > 0) {\n console.group('init instances');\n const promises = [];\n instances.forEach(instance => {\n promises.push(instance.init());\n });\n\n Promise.all(promises).then(() => {\n this.instances = Array.from(instances);\n console.log('_modelConstruct this.instances ', this.instances);\n this.updateModel();\n this.inited = true;\n\n console.log('### <<<<< dispatching model-construct-done >>>>>');\n this.dispatchEvent(\n new CustomEvent('model-construct-done', {\n composed: true,\n bubbles: true,\n detail: { model: this },\n }),\n );\n });\n console.groupEnd();\n } else {\n // ### if there's no instance one will created\n this.dispatchEvent(\n new CustomEvent('model-construct-done', {\n composed: true,\n bubbles: true,\n detail: { model: this },\n }),\n );\n }\n this.inited = true;\n }\n\n registerModelItem(modelItem) {\n // console.log('ModelItem registered ', modelItem);\n this.modelItems.push(modelItem);\n }\n\n /**\n * update action triggering the update cycle\n */\n updateModel() {\n this.rebuild();\n this.recalculate();\n this.revalidate();\n }\n\n rebuild() {\n console.group('### rebuild');\n\n this.mainGraph = new DepGraph(false);\n this.modelItems = [];\n\n // trigger recursive initialization of the fx-bind elements\n const binds = this.querySelectorAll('fx-model > fx-bind');\n binds.forEach(bind => {\n bind.init(this);\n });\n\n // console.log(`dependencies of a `, this.mainGraph.dependenciesOf(\"/Q{}data[1]/Q{}a[1]:required\"));\n // console.log(`dependencies of b `, this.mainGraph.dependenciesOf(\"/Q{}data[1]/Q{}b[1]:required\"));\n console.log(`rebuild mainGraph`, this.mainGraph);\n console.log(`rebuild mainGraph calc order`, this.mainGraph.overallOrder());\n /*\n console.log(\n `rebuild finished with modelItems ${this.modelItems.length} item(s)`,\n this.modelItems,\n );\n*/\n console.groupEnd();\n }\n\n /**\n * recalculation of all modelItems. Uses dependency graph to determine order of computation.\n *\n * todo: use 'changed' flag on modelItems to determine subgraph for recalculation. Flag already exists but is not used.\n */\n recalculate() {\n console.group('### recalculate');\n console.log('recalculate instances ', this.instances);\n\n const v = this.mainGraph.overallOrder();\n v.forEach(path => {\n const node = this.mainGraph.getNodeData(path);\n const modelItem = this.getModelItem(node);\n\n if (modelItem && path.includes(':')) {\n const property = path.split(':')[1];\n if (property) {\n if (property === 'calculate') {\n const expr = modelItem.bind[property];\n const compute = evaluateXPath(expr, modelItem.node, this);\n modelItem.value = compute;\n } else if (property !== 'constraint' && property !== 'type') {\n const expr = modelItem.bind[property];\n if (expr) {\n const compute = evaluateXPathToBoolean(expr, modelItem.node, this);\n modelItem[property] = compute;\n console.log(\n `recalculating path ${path} - Expr:'${expr}' computed`,\n modelItem[property],\n );\n }\n }\n }\n }\n });\n console.log(\n `recalculate finished with modelItems ${this.modelItems.length} item(s)`,\n this.modelItems,\n );\n console.groupEnd();\n }\n\n /**\n * Iterates all modelItems to calculate the validation status.\n *\n * Model alerts are given on 'fx-bind' elements as either attribute `alert` or as `fx-alert` child elements.\n *\n * During model-construct all model alerts are added to the modelItem if any\n *\n * to revalidate:\n * Gets the `constraint` attribute declaration from modelItem.bind\n * Computes the XPath to a Boolean\n * Updates the modelItem.constraint property\n *\n * todo: type checking\n * todo: run browser validation API\n *\n */\n revalidate() {\n console.group('### revalidate');\n\n let valid = true;\n this.modelItems.forEach(modelItem => {\n // console.log('validating node ', modelItem.node);\n\n const { bind } = modelItem;\n if (bind) {\n /*\n todo: investigate why bind is an element when created in fx-bind.init() and an fx-bind object when\n created lazily.\n */\n if (typeof bind.hasAttribute === 'function' && bind.hasAttribute('constraint')) {\n const constraint = bind.getAttribute('constraint');\n if (constraint) {\n const compute = evaluateXPathToBoolean(constraint, modelItem.node, this);\n console.log('modelItem validity computed: ', compute);\n modelItem.constraint = compute;\n if (!compute) valid = false;\n // ### alerts are added only once during model-construct. Otherwise they would add up in each run of revalidate()\n if (!this.modelConstructed) {\n // todo: get alert from attribute or child element\n const alert = bind.getAlert();\n if (alert) {\n modelItem.addAlert(alert);\n }\n }\n }\n }\n }\n });\n console.log('modelItems after revalidate: ', this.modelItems);\n console.groupEnd();\n return valid;\n }\n\n /**\n *\n * @param node\n * @returns {ModelItem}\n */\n getModelItem(node) {\n return this.modelItems.find(m => m.node === node);\n }\n\n /**\n * get the default evaluation context for this model.\n * @returns {Element} the\n */\n getDefaultContext() {\n return this.instances[0].getDefaultContext();\n }\n\n getDefaultInstance() {\n return this.instances[0];\n }\n\n getDefaultInstanceData() {\n console.log('default instance data ', this.instances[0].instanceData);\n return this.instances[0].instanceData;\n }\n\n getInstance(id) {\n // console.log('getInstance ', id);\n // console.log('instances ', this.instances);\n // console.log('instances array ',Array.from(this.instances));\n\n const instArray = Array.from(this.instances);\n return instArray.find(inst => inst.id === id);\n }\n\n evalBinding(bindingExpr) {\n // console.log('MODEL.evalBinding ', bindingExpr);\n // default context of evaluation is always the default instance\n const result = this.instances[0].evalXPath(bindingExpr);\n return result;\n }\n}\n\ncustomElements.define('fx-model', FxModel);\n","import { evaluateXPathToFirstNode } from './xpath-evaluation.js';\n\nimport { XPathUtil } from './xpath-util.js';\n\nfunction _getParentElement(node) {\n if (node.nodeType === Node.ATTRIBUTE_NODE) {\n return node.ownerElement;\n }\n return node.parentNode;\n}\n\nfunction _getForeContext(node) {\n return node.closest('fx-fore');\n}\n\nfunction _getModelInContext(node) {\n // const ownerForm = node.closest('fx-fore');\n const ownerForm = _getForeContext(node);\n return ownerForm.getModel();\n}\n\nfunction _getInitialContext(node, ref) {\n const parentBind = node.closest('[ref]');\n\n if (parentBind !== null) {\n return parentBind.nodeset;\n }\n\n const model = _getModelInContext(node);\n if (XPathUtil.isAbsolutePath(ref)) {\n const instanceId = XPathUtil.getInstanceId(ref);\n return model.getInstance(instanceId).getDefaultContext();\n }\n if (model.getDefaultInstance() !== null) {\n return model.getDefaultInstance().getDefaultContext();\n }\n return [];\n}\n\nexport default function getInScopeContext(node, ref) {\n const parentElement = _getParentElement(node);\n /*\n if(parentElement.nodeName.toUpperCase() === 'FX-REPEATITEM'){\n return parentElement.nodeset;\n }\n*/\n\n const repeatItem = parentElement.closest('fx-repeatitem');\n if (repeatItem) {\n return repeatItem.nodeset;\n }\n\n if (node.nodeType === Node.ELEMENT_NODE && node.hasAttribute('context')) {\n const initialContext = _getInitialContext(node.parentNode, ref);\n const contextAttr = node.getAttribute('context');\n return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement));\n }\n return _getInitialContext(parentElement, ref);\n}\n","import { XPathUtil } from './xpath-util.js';\nimport { FxModel } from './fx-model.js';\nimport {\n evaluateXPath,\n evaluateXPathToFirstNode,\n evaluateXPathToString,\n} from './xpath-evaluation.js';\nimport getInScopeContext from './getInScopeContext.js';\n\nexport const foreElementMixin = superclass =>\n class ForeElementMixin extends superclass {\n static get properties() {\n return {\n /**\n * context object for evaluation\n */\n context: {\n type: Object,\n },\n /**\n * the model of this element\n */\n model: {\n type: Object,\n },\n /**\n * XPath binding expression pointing to bound node\n */\n ref: {\n type: String,\n },\n /**\n * The modelitem object associated to the bound node holding the evaluated state.\n */\n modelItem: {\n type: Object,\n },\n /**\n * the node(s) bound by this element\n */\n nodeset: {\n type: Object,\n },\n };\n }\n\n constructor() {\n super();\n this.context = null;\n this.model = null;\n this.modelItem = {};\n this.ref = this.hasAttribute('ref') ? this.getAttribute('ref') : '';\n }\n\n getModel() {\n // console.log('getModel this ', this);\n if (this.model) {\n return this.model;\n }\n // const ownerForm = this.closest('fx-fore');\n // const ownerForm = this.getOwnerForm(this);\n const ownerForm = this.getOwnerForm();\n return ownerForm.querySelector('fx-model');\n }\n\n /**\n *\n * @returns {{parentNode}|ForeElementMixin}\n */\n getOwnerForm() {\n let currentElement = this;\n while (currentElement && currentElement.parentNode) {\n // console.log('current ', currentElement);\n\n if (currentElement.nodeName.toUpperCase() === 'FX-FORE') {\n return currentElement;\n }\n\n if (currentElement.parentNode instanceof DocumentFragment) {\n currentElement = currentElement.parentNode.host;\n } else {\n currentElement = currentElement.parentNode;\n }\n }\n return currentElement;\n }\n\n /**\n * evaluation of fx-bind and UiElements differ in details so that each class needs it's own implementation.\n */\n evalInContext() {\n // const inscopeContext = this.getInScopeContext();\n const inscopeContext = getInScopeContext(this, this.ref);\n if (!inscopeContext) {\n console.warn('no in scopeContext for ', this);\n return;\n }\n if (this.ref === '') {\n this.nodeset = inscopeContext;\n } else if (Array.isArray(inscopeContext)) {\n inscopeContext.forEach(n => {\n if (XPathUtil.isSelfReference(this.ref)) {\n this.nodeset = inscopeContext;\n } else {\n const localResult = evaluateXPathToFirstNode(this.ref, n, null);\n // console.log('local result: ', localResult);\n this.nodeset.push(localResult);\n }\n });\n } else {\n // this.nodeset = fx.evaluateXPathToFirstNode(this.ref, inscopeContext, null, {namespaceResolver: this.namespaceResolver});\n\n // todo: code below fails - why?\n const formElement = this.getOwnerForm();\n if (inscopeContext.nodeType) {\n this.nodeset = evaluateXPathToFirstNode(this.ref, inscopeContext, formElement);\n } else {\n this.nodeset = evaluateXPath(this.ref, inscopeContext, formElement);\n }\n // this.nodeset = evaluateXPath(this.ref,inscopeContext,formElement)\n }\n // console.log('UiElement evaluated to nodeset: ', this.nodeset);\n }\n\n isNotBound() {\n return !this.hasAttribute('ref');\n }\n\n isBound() {\n return this.hasAttribute('ref');\n }\n\n getBindingExpr() {\n if (this.hasAttribute('ref')) {\n return this.getAttribute('ref');\n }\n // try to get closest parent bind\n const parent = this.parentNode.closest('[ref]');\n if (!parent) {\n return 'instance()'; // the default instance\n }\n return parent.getAttribute('ref');\n }\n\n getInstance() {\n if (this.ref.startsWith('instance(')) {\n const instId = XPathUtil.getInstanceId(this.ref);\n return this.getModel().getInstance(instId);\n }\n return this.getModel().getInstance('default');\n }\n\n _getParentBindingElement(start) {\n if (start.parentNode.host) {\n const { host } = start.parentNode;\n if (host.hasAttribute('ref')) {\n return host;\n }\n } else if (start.parentNode) {\n if (start.parentNode.hasAttribute('ref')) {\n return this.parentNode;\n }\n this._getParentBindingElement(this.parentNode);\n }\n return null;\n }\n\n getModelItem() {\n // return this.model.bindingMap.find(m => m.refnode === this.nodeset);\n // return this.getModel().bindingMap.find(m => m.refnode === this.nodeset);\n\n const mi = this.getModel().getModelItem(this.nodeset);\n if (mi) {\n this.modelItem = mi;\n }\n\n const repeated = this.closest('fx-repeatitem');\n let existed;\n if (repeated) {\n const { index } = this.closest('fx-repeatitem');\n if (Array.isArray(this.nodeset)) {\n existed = this.getModel().getModelItem(this.nodeset[index - 1]);\n } else {\n existed = this.getModel().getModelItem(this.nodeset);\n }\n } else {\n existed = this.getModel().getModelItem(this.nodeset);\n }\n\n if (!existed) {\n return FxModel.lazyCreateModelItem(this.getModel(), this.ref, this.nodeset);\n }\n return existed;\n }\n\n /**\n * Returns the effective value for the element.\n * a: look for 'value' attribute and if present evaluate it and return the resulting value\n * b: look for textContent and return the value if present\n * c: return null\n */\n getValue() {\n if (this.hasAttribute('value')) {\n const valAttr = this.getAttribute('value');\n try {\n const inscopeContext = getInScopeContext(this, valAttr);\n return evaluateXPathToString(valAttr, inscopeContext, this.getOwnerForm());\n } catch (error) {\n console.error(error);\n this.dispatch('error', { message: error });\n }\n }\n if (this.textContent) {\n return this.textContent;\n }\n return null;\n }\n\n getInScopeContext() {\n return getInScopeContext(this, this.ref);\n }\n\n dispatch(eventName, detail) {\n const event = new CustomEvent(eventName, {\n composed: true,\n bubbles: true,\n detail,\n });\n console.log('firing', event);\n this.dispatchEvent(event);\n }\n };\n","import { DependencyNotifyingDomFacade } from './DependencyNotifyingDomFacade.js';\nimport { foreElementMixin } from './ForeElementMixin.js';\nimport { ModelItem } from './modelitem.js';\nimport {\n evaluateXPathToBoolean,\n evaluateXPathToNodes,\n evaluateXPathToString,\n} from './xpath-evaluation.js';\nimport { XPathUtil } from './xpath-util.js';\n\n/**\n * FxBind declaratively attaches constraints to nodes in the data (instances).\n *\n * It's major task is to create ModelItem Objects for each Node in the data their ref is pointing to.\n *\n * References and constraint attributes use XPath statements to point to the nodes they are attributing.\n *\n * Note: why is fx-bind not extending BoundElement? Though fx-bind has a 'ref' attr it is not bound in the sense of\n * getting updates about changes of the bound nodes. Instead it acts as a factory for modelItems that are used by\n * BoundElements to track their state.\n */\n// export class FxBind extends HTMLElement {\nexport class FxBind extends foreElementMixin(HTMLElement) {\n static READONLY_DEFAULT = false;\n\n static REQUIRED_DEFAULT = false;\n\n static RELEVANT_DEFAULT = true;\n\n static CONSTRAINT_DEFAULT = true;\n\n static TYPE_DEFAULT = 'xs:string';\n\n /*\n static get styles() {\n return css`\n :host {\n display: none;\n }\n `;\n }\n*/\n\n /*\n static get properties() {\n return {\n ...super.properties,\n\n /!**\n * allows to calculate a value. This value will become readonly.\n *!/\n calculate: {\n type: String\n },\n contextNode:{\n type:Object\n },\n /!**\n * arbitrary XPath resolving to xs:boolean - defaults to 'true()'\n *!/\n constraint: {\n type: String\n },\n /!**\n * id of this bind\n *!/\n id:{\n type:String\n },\n /!**\n * the nodeset the bind is referring to by it's binding expression (ref attribute)\n *!/\n nodeset: {\n type: Array\n },\n /!**\n * the owning model of this bind\n *!/\n model:{\n type:Object\n },\n /!**\n * XPath statement resolving to xs:boolean to switch between readonly and readwrite mode - defaults to 'false()'\n *!/\n readonly: {\n type: String\n },\n /!**\n * the XPath binding expression of this bind\n *!/\n ref: {\n type: String\n },\n /!**\n * XPath statement resolving to xs:boolean to switch between relevant and non-relevant mode - defaults to 'true()'\n *!/\n relevant: {\n type: String\n },\n /!**\n * XPath statement resolving to xs:boolean to switch between required and optional - defaults to 'false'.\n *!/\n required: {\n type: String\n },\n /!**\n * XPath statement\n *!/\n type: {\n type: String\n }\n };\n }\n*/\n\n constructor() {\n super();\n // this.id='';\n // this.ref = '';\n // this.readonly = 'false()';\n // this.required = 'false()';\n // this.relevant = 'true()';\n // this.constraint = 'true()';\n // this.type = 'xs:string';\n // this.calculate = '';\n this.nodeset = [];\n this.model = {};\n this.contextNode = {};\n this.inited = false;\n }\n\n connectedCallback() {\n // console.log('connectedCallback ', this);\n // this.id = this.hasAttribute('id')?this.getAttribute('id'):;\n this.ref = this.getAttribute('ref');\n this.readonly = this.getAttribute('readonly');\n this.required = this.getAttribute('required');\n this.relevant = this.getAttribute('relevant');\n this.type = this.hasAttribute('type') ? this.getAttribute('type') : FxBind.TYPE_DEFAULT;\n this.calculate = this.getAttribute('calculate');\n }\n\n /**\n * initializes the bind element by evaluating the binding expression.\n *\n * For each node referred to by the binding expr a ModelItem object is created.\n *\n * @param model\n */\n init(model) {\n this.model = model;\n console.log('init binding ', this);\n this.instanceId = this._getInstanceId();\n this.bindType = this.getModel().getInstance(this.instanceId).type;\n // console.log('binding type ', this.bindType);\n\n if (this.bindType === 'xml') {\n this._evalInContext();\n this._buildBindGraph();\n this._createModelItems();\n }\n\n // ### process child bindings\n this._processChildren(model);\n }\n\n /*\n //todo: certainly not ideal to rely on duplicating instance id on instance document - better way later ;)\n static getPath(node){\n let path = fx.evaluateXPath('path()',node);\n const instanceId = node.ownerDocument.firstElementChild.getAttribute('id');\n if(instanceId !== 'default'){\n return '#' + instanceId + FxBind.shortenPath(path);\n }else {\n return FxBind.shortenPath(path);\n }\n\n }\n*/\n\n _buildBindGraph() {\n if (this.bindType === 'xml') {\n this.nodeset.forEach(node => {\n const path = XPathUtil.getPath(node);\n\n if (this.calculate) {\n this.model.mainGraph.addNode(`${path}:calculate`, node);\n // Calculated values are a dependency of the model item.\n // Make `model1` depend on `model1:calculate`\n this.model.mainGraph.addNode(path, node);\n this.model.mainGraph.addDependency(path, `${path}:calculate`);\n }\n\n const calculateRefs = this._getReferencesForProperty(this.calculate, node);\n if (calculateRefs.length !== 0) {\n this._addDependencies(calculateRefs, node, path, 'calculate');\n }\n\n const readonlyRefs = this._getReferencesForProperty(this.readonly, node);\n if (readonlyRefs.length !== 0) {\n this._addDependencies(readonlyRefs, node, path, 'readonly');\n } else if (this.readonly) {\n this.model.mainGraph.addNode(`${path}:readonly`, node);\n }\n\n // const requiredRefs = this.requiredReferences;\n const requiredRefs = this._getReferencesForProperty(this.required, node);\n if (requiredRefs.length !== 0) {\n this._addDependencies(requiredRefs, node, path, 'required');\n } else if (this.required) {\n this.model.mainGraph.addNode(`${path}:required`, node);\n }\n\n const relevantRefs = this._getReferencesForProperty(this.relevant, node);\n if (relevantRefs.length !== 0) {\n this._addDependencies(relevantRefs, node, path, 'relevant');\n } else if (this.relevant) {\n this.model.mainGraph.addNode(`${path}:relevant`, node);\n }\n\n const constraintRefs = this._getReferencesForProperty(this.constraint, node);\n if (constraintRefs.length !== 0) {\n this._addDependencies(constraintRefs, node, path, 'constraint');\n } else if (this.constraint) {\n this.model.mainGraph.addNode(`${path}:constraint`, node);\n }\n });\n }\n }\n\n _addNode(path, node) {\n if (!this.model.mainGraph.hasNode(path)) {\n this.model.mainGraph.addNode(path, { node });\n }\n }\n\n /**\n * Add the dependencies of this bind\n *\n * @param {Node[]} refs The nodes that are referenced by this bind. these need to be resolved before\n * this bind can be resolved.\n * @param {Node} node The start of the reference\n * @param {string} path The path to the start of the reference\n * @param {string} property The property with this dependency\n */\n _addDependencies(refs, node, path, property) {\n const nodeHash = `${path}:${property}`;\n if (refs.length !== 0) {\n if (!this.model.mainGraph.hasNode(nodeHash)) {\n this.model.mainGraph.addNode(nodeHash, node);\n }\n refs.forEach(ref => {\n const otherPath = XPathUtil.getPath(ref);\n\n if (!this.model.mainGraph.hasNode(otherPath)) {\n this.model.mainGraph.addNode(otherPath, ref);\n }\n this.model.mainGraph.addDependency(nodeHash, otherPath);\n });\n } else {\n this.model.mainGraph.addNode(nodeHash, node);\n }\n }\n\n _processChildren(model) {\n const childbinds = this.querySelectorAll(':scope > fx-bind');\n Array.from(childbinds).forEach(bind => {\n // console.log('init child bind ', bind);\n bind.init(model);\n });\n }\n\n /*\n render() {\n return html`\n \n `;\n }\n*/\n\n getAlert() {\n if (this.hasAttribute('alert')) {\n return this.getAttribute('alert');\n }\n const alertChild = this.querySelector('fx-alert');\n if (alertChild) {\n return alertChild.innerHTML;\n }\n return null;\n }\n\n /*\n firstUpdated(_changedProperties) {\n super.firstUpdated(_changedProperties);\n }\n */\n\n /*\n namespaceResolver(prefix) {\n // TODO: Do proper namespace resolving. Look at the ancestry / namespacesInScope of the declaration\n\n /!**\n * for (let ancestor = this; ancestor; ancestor = ancestor.parentNode) {\n * \tif (ancestor.getAttribute(`xmlns:${prefix}`)) {\n * // Return value\n * }\n * }\n *!/\n\n // console.log('namespaceResolver prefix', prefix);\n const ns = {\n xhtml: 'http://www.w3.org/1999/xhtml',\n // '' : Fore.XFORMS_NAMESPACE_URI\n };\n return ns[prefix] || null;\n }\n*/\n\n /**\n * overwrites\n */\n _evalInContext() {\n const inscopeContext = this.getInScopeContext();\n\n // reset nodeset\n this.nodeset = [];\n\n if (this.ref === '' || this.ref === null) {\n this.nodeset = inscopeContext;\n } else if (Array.isArray(inscopeContext)) {\n inscopeContext.forEach(n => {\n if (XPathUtil.isSelfReference(this.ref)) {\n this.nodeset = inscopeContext;\n } else {\n // eslint-disable-next-line no-lonely-if\n if (this.ref) {\n const localResult = evaluateXPathToNodes(this.ref, n, this.getOwnerForm());\n localResult.forEach(item => {\n this.nodeset.push(item);\n });\n /*\n const localResult = fx.evaluateXPathToFirstNode(this.ref, n, null, {namespaceResolver: this.namespaceResolver});\n this.nodeset.push(localResult);\n */\n }\n // console.log('local result: ', localResult);\n // this.nodeset.push(localResult);\n }\n });\n } else {\n const inst = this.getModel().getInstance(this.instanceId);\n if (inst.type === 'xml') {\n this.nodeset = evaluateXPathToNodes(this.ref, inscopeContext, this.getOwnerForm());\n } else {\n this.nodeset = this.ref;\n }\n }\n }\n\n _createModelItems() {\n // console.log('#### ', thi+s.nodeset);\n\n /*\n if(XPathUtil.isSelfReference(this.ref)){\n return;\n }\n */\n if (Array.isArray(this.nodeset)) {\n // todo - iterate and create\n // console.log('################################################ ', this.nodeset);\n // Array.from(this.nodeset).forEach((n, index) => {\n Array.from(this.nodeset).forEach(n => {\n // console.log('node ',n);\n // this._createModelItem(n, index);\n this._createModelItem(n);\n });\n } else {\n this._createModelItem(this.nodeset);\n }\n }\n\n static lazyCreateModelitems(model, ref, nodeset) {\n if (Array.isArray(nodeset)) {\n Array.from(nodeset).forEach(n => {\n FxBind.lazyCreateModelItem(model, ref, n);\n });\n } else {\n FxBind.lazyCreateModelItem(model, ref, nodeset);\n }\n }\n\n /*\n static lazyCreateModelItem(model,ref,node){\n console.log('lazyCreateModelItem ', node);\n\n let mItem = {};\n let targetNode = {};\n if(node === null) return null;\n if(node.nodeType === node.TEXT_NODE){\n // const parent = node.parentNode;\n // console.log('PARENT ', parent);\n targetNode = node.parentNode;\n }else {\n targetNode = node;\n }\n\n // const path = fx.evaluateXPath('path()',node);\n const path = FxBind.getPath(node);\n\n // const path = Fore.evaluateXPath ('path()', node, this, Fore.namespaceResolver) ;\n\n // ### intializing ModelItem with default values (as there is no matching for given ref)\n const mi = new ModelItem(path,\n ref,\n FxBind.READONLY_DEFAULT,\n FxBind.RELEVANT_DEFAULT,\n FxBind.REQUIRED_DEFAULT,\n FxBind.CONSTRAINT_DEFAULT,\n FxBind.TYPE_DEFAULT,\n targetNode,\n this);\n\n\n // console.log('new ModelItem is instanceof ModelItem ', mi instanceof ModelItem);\n model.registerModelItem(mi);\n return mi;\n }\n*/\n\n /**\n * creates a ModelItem for given instance node.\n *\n * Please note that for textnode no ModelItem is created but instead the one of its parent is used which either\n * must exist and be initialized already when we hit the textnode.\n * @param node\n * @private\n */\n // _createModelItem(node, index) {\n _createModelItem(node) {\n // console.log('_createModelItem node', node, index);\n\n /*\n this.calculateReferences = this._getReferencesForProperty(this.calculate,node);\n this.readOnlyReferences = this._getReferencesForProperty(this.readonly,node);\n this.requiredReferences = this._getReferencesForProperty(this.required,node);\n this.relevantReferences = this._getReferencesForProperty(this.relevant,node);\n this.constraintReferences = this._getReferencesForProperty(this.constraint,node);\n */\n\n /*\n if bind is the dot expression we use the modelitem of the parent\n */\n if (XPathUtil.isSelfReference(this.ref)) {\n const parentBoundElement = this.parentElement.closest('fx-bind[ref]');\n console.log('parent bound element ', parentBoundElement);\n\n if (parentBoundElement) {\n // todo: Could be fancier by combining them\n parentBoundElement.required = this.required; // overwrite parent property!\n } else {\n console.error('no parent bound element');\n }\n\n return;\n }\n\n // let value = null;\n // const mItem = {};\n /*\n let targetNode = {};\n if (node.nodeType === node.TEXT_NODE) {\n // const parent = node.parentNode;\n // console.log('PARENT ', parent);\n targetNode = node.parentNode;\n } else {\n targetNode = node;\n }\n*/\n const targetNode = node;\n\n // const path = fx.evaluateXPath('path()',node);\n // const path = this.getPath(node);\n const path = XPathUtil.getPath(node);\n // const shortPath = this.shortenPath(path);\n\n // ### constructiong default modelitem - will get evaluated during reaalculate()\n // ### constructiong default modelitem - will get evaluated during reaalculate()\n // ### constructiong default modelitem - will get evaluated during reaalculate()\n // const newItem = new ModelItem(shortPath,\n const newItem = new ModelItem(\n path,\n this.getBindingExpr(),\n FxBind.READONLY_DEFAULT,\n FxBind.RELEVANT_DEFAULT,\n FxBind.REQUIRED_DEFAULT,\n FxBind.CONSTRAINT_DEFAULT,\n this.type,\n targetNode,\n this,\n );\n\n this.getModel().registerModelItem(newItem);\n }\n\n /**\n * Get the nodes that are referred by the given XPath expression\n *\n * @param {string} propertyExpr The XPath to get the referenced nodes from\n *\n * @return {Node[]} The nodes that are referenced by the XPath\n */\n _getReferencesForProperty(propertyExpr) {\n if (propertyExpr) {\n const touchedNodes = new Set();\n const domFacade = new DependencyNotifyingDomFacade(otherNode => touchedNodes.add(otherNode));\n this.nodeset.forEach(node => {\n evaluateXPathToString(propertyExpr, node, this.getOwnerForm(), domFacade);\n });\n\n return Array.from(touchedNodes.values());\n }\n return [];\n }\n\n _initBooleanModelItemProperty(property, node) {\n // evaluate expression to boolean\n const propertyExpr = this[property];\n // console.log('####### ', propertyExpr);\n const result = evaluateXPathToBoolean(propertyExpr, node, this);\n return result;\n }\n\n static shortenPath(path) {\n const steps = path.split('/');\n let result = '';\n for (let i = 2; i < steps.length; i += 1) {\n const step = steps[i];\n if (step.indexOf('{}') !== -1) {\n const q = step.split('{}');\n result += `/${q[1]}`;\n } else {\n result += `/${step}`;\n }\n }\n return result;\n }\n\n // todo: more elaborated implementation ;)\n _getInstanceId() {\n const bindExpr = this.getBindingExpr();\n // console.log('_getInstanceId bindExpr ', bindExpr);\n if (bindExpr.startsWith('instance(')) {\n this.instanceId = XPathUtil.getInstanceId(bindExpr);\n return this.instanceId;\n }\n if (this.instanceId) {\n return this.instanceId;\n }\n return 'default';\n }\n}\ncustomElements.define('fx-bind', FxBind);\n","/*!\n * Toastify js 1.11.0\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n\n/**\n * Options used for Toastify\n * @typedef {Object} ToastifyConfigurationObject\n * @property {string} text - Message to be displayed in the toast\n * @property {Element} node - Provide a node to be mounted inside the toast. node takes higher precedence over text\n * @property {number} duration - Duration for which the toast should be displayed. -1 for permanent toast\n * @property {string|Element} selector - CSS ID Selector on which the toast should be added\n * @property {url} destination - URL to which the browser should be navigated on click of the toast\n * @property {boolean} newWindow - Decides whether the destination should be opened in a new window or not\n * @property {boolean} close - To show the close icon or not\n * @property {string} gravity - To show the toast from top or bottom\n * @property {string} position - To show the toast on left or right\n * @property {string} backgroundColor - Deprecated: Sets the background color of the toast\n * @property {url} avatar - Image/icon to be shown before text\n * @property {string} className - Ability to provide custom class name for further customization\n * @property {boolean} stopOnFocus - To stop timer when hovered over the toast (Only if duration is set)\n * @property {Function} callback - Invoked when the toast is dismissed\n * @property {Function} onClick - Invoked when the toast is clicked\n * @property {Object} offset - Ability to add some offset to axis\n * @property {boolean} escapeMarkup - Toggle the default behavior of escaping HTML markup\n * @property {Object} style - Use the HTML DOM style property to add styles to toast\n */\n\n\nclass Toastify {\n\n defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function() {},\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: \"\",\n backgroundColor: \"\",\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function() {},\n offset: { x: 0, y: 0 },\n escapeMarkup: true,\n style: { background: \"\" },\n };\n\n constructor(options) {\n /**\n * The version of Toastify\n * @type {string}\n * @public\n */\n this.version = \"1.11.0\";\n\n /**\n * The configuration object to configure Toastify\n * @type {ToastifyConfigurationObject}\n * @public\n */\n this.options = {};\n\n /**\n * The element that is the Toast\n * @type {Element}\n * @public\n */\n this.toastElement = null;\n\n /**\n * The root element that contains all the toasts\n * @type {Element}\n * @private\n */\n this._rootElement = document.body;\n\n this._init(options);\n }\n\n /**\n * Display the toast\n * @public\n */\n showToast() {\n // Creating the DOM object for the toast\n this.toastElement = this._buildToast();\n\n // Getting the root element to with the toast needs to be added\n if (typeof this.options.selector === \"string\") {\n this._rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || this.options.selector instanceof ShadowRoot) {\n this._rootElement = this.options.selector;\n } else {\n this._rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!this._rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n this._rootElement.insertBefore(this.toastElement, this._rootElement.firstChild);\n\n // Repositioning the toasts in case multiple toasts are present\n this._reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n () => {\n // Remove the toast from DOM\n this._removeElement(this.toastElement);\n },\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n }\n\n /**\n * Hide the toast\n * @public\n */\n hideToast() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this._removeElement(this.toastElement);\n }\n\n /**\n * Init the Toastify class\n * @param {ToastifyConfigurationObject} options - The configuration object to configure Toastify\n * @param {string} [options.text=Hi there!] - Message to be displayed in the toast\n * @param {Element} [options.node] - Provide a node to be mounted inside the toast. node takes higher precedence over text\n * @param {number} [options.duration=3000] - Duration for which the toast should be displayed. -1 for permanent toast\n * @param {string} [options.selector] - CSS Selector on which the toast should be added\n * @param {url} [options.destination] - URL to which the browser should be navigated on click of the toast\n * @param {boolean} [options.newWindow=false] - Decides whether the destination should be opened in a new window or not\n * @param {boolean} [options.close=false] - To show the close icon or not\n * @param {string} [options.gravity=toastify-top] - To show the toast from top or bottom\n * @param {string} [options.position=right] - To show the toast on left or right\n * @param {string} [options.backgroundColor] - Sets the background color of the toast (To be deprecated)\n * @param {url} [options.avatar] - Image/icon to be shown before text\n * @param {string} [options.className] - Ability to provide custom class name for further customization\n * @param {boolean} [options.stopOnFocus] - To stop timer when hovered over the toast (Only if duration is set)\n * @param {Function} [options.callback] - Invoked when the toast is dismissed\n * @param {Function} [options.onClick] - Invoked when the toast is clicked\n * @param {Object} [options.offset] - Ability to add some offset to axis\n * @param {boolean} [options.escapeMarkup=true] - Toggle the default behavior of escaping HTML markup\n * @param {Object} [options.style] - Use the HTML DOM style property to add styles to toast\n * @private\n */\n _init(options) {\n\n // Setting defaults\n this.options = Object.assign(this.defaults, options);\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n this.toastElement = null;\n\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : \"toastify-top\"; // toast position - top or bottom\n this.options.stopOnFocus = options.stopOnFocus === undefined ? true : options.stopOnFocus; // stop timeout on focus\n\n this.options.style.background = this.options.style.background || options.backgroundColor;\n }\n\n /**\n * Build the Toastify element\n * @returns {Element}\n * @private\n */\n _buildToast() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n let divElement = document.createElement(\"div\");\n divElement.className = `toastify on ${this.options.className}`;\n\n // Positioning toast to left or right or center (default right)\n divElement.className += ` toastify-${this.options.position}`;\n\n // Assigning gravity of element\n divElement.className += ` ${this.options.gravity}`;\n\n // Loop through our style object and apply styles to divElement\n for (const property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n let avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\") {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n let closeElement = document.createElement(\"span\");\n closeElement.innerHTML = \"✖\";\n\n closeElement.className = \"toast-close\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n (event) => {\n event.stopPropagation();\n this._removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }\n );\n\n //Calculating screen width\n const width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\") && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n (event) => {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n () => {\n divElement.timeOutValue = window.setTimeout(\n () => {\n // Remove the toast from DOM\n this._removeElement(divElement);\n },\n this.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n (event) => {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n (event) => {\n event.stopPropagation();\n this.options.onClick();\n }\n );\n }\n\n // Adding offset\n if (typeof this.options.offset === \"object\") {\n\n const x = this._getAxisOffsetAValue(\"x\", this.options);\n const y = this._getAxisOffsetAValue(\"y\", this.options);\n\n const xOffset = this.options.position == \"left\" ? x : `-${x}`;\n const yOffset = this.options.gravity == \"toastify-top\" ? y : `-${y}`;\n\n divElement.style.transform = `translate(${xOffset},${yOffset})`;\n\n }\n\n // Returning the generated element\n return divElement;\n }\n\n /**\n * Remove the toast from the DOM\n * @param {Element} toastElement\n */\n _removeElement(toastElement) {\n // Hiding the element\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n () => {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n this._reposition();\n },\n 400\n ); // Binding `this` for function invocation\n }\n\n /**\n * Position the toast on the DOM\n * @private\n */\n _reposition() {\n\n // Top margins with gravity\n let topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n let topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n let offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages that have been added to the container (selector)\n let allToasts = this._rootElement.querySelectorAll(\".toastify\");\n\n let classUsed;\n\n // Modifying the position of each toast element\n for (let i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (allToasts[i].classList.contains(\"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n let height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length - 1)\n // Spacing between toasts\n let offset = 15;\n\n let width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = `${offsetSize[classUsed]}px`;\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (allToasts[i].classList.contains(\"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = `${topLeftOffsetSize[classUsed]}px`;\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = `${topRightOffsetSize[classUsed]}px`;\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n }\n\n /**\n * Helper function to get offset\n * @param {string} axis - 'x' or 'y'\n * @param {ToastifyConfigurationObject} options - The options object containing the offset object\n */\n _getAxisOffsetAValue(axis, options) {\n\n if (options.offset[axis]) {\n if (isNaN(options.offset[axis])) {\n return options.offset[axis];\n } else {\n return `${options.offset[axis]}px`;\n }\n }\n\n return '0px';\n\n }\n\n }\n\n\n // Returning the Toastify function to be assigned to the window object/module\n function StartToastifyInstance(options) {\n return new Toastify(options);\n }\n\n export default StartToastifyInstance;\n","import Toastify from 'toastify-js/src/toastify-es';\n\n/**\n *\n * Wrapper component for toastify-js - https://github.com/apvarun/toastify-js\n *\n * @event jinn-toast - will show the toast with text passed in event\n */\nexport class JinnToast extends HTMLElement {\n\n static get properties() {\n return {\n avatar: {type: String},\n backgroundColor: {type: String},\n callback: {type: String},\n classProp: {type: String},\n close: {type: Boolean},\n destination: {type: String},\n duration: {type: Number},\n escapeMarkup: {type: Boolean},\n gravity: {type: String},\n newWindow: {type: Boolean},\n oldestFirst: {type: Boolean},\n position: {type: String},\n selector: {type: String},\n stopOnFocus: {type: Boolean},\n text: {type: String}\n };\n }\n\n constructor() {\n super();\n this.attachShadow({mode: 'open'});\n }\n\n _initVar(name, defaultVal) {\n return this.hasAttribute(name) ? this.getAttribute(name) : defaultVal;\n }\n\n connectedCallback() {\n this.avatar = this._initVar('avatar', '');\n this.backgroundColor = this._initVar('backgroundColor', '');\n this.callback = this._initVar('callback', {});\n this.classProp = this._initVar('data-class', '');\n this.close = (this._initVar('close', false)) === 'true';\n this.destination = this._initVar('destination', '');\n this.duration = Number(this._initVar('duration', 3000));\n this.escapeMarkup = (this._initVar('escapeMarkup', true)) === 'true';\n this.gravity = this._initVar('gravity', 'top');\n this.newWindow = (this._initVar('newWindow', false)) === 'true';\n // this.offSet = this._initVar('offSet', {});\n this.oldestFirst = (this._initVar('oldestFirst', true)) === 'true';\n this.position = this._initVar('position', 'right');\n // this.selector = this._initVar('selector','');\n this.stopOnFocus = this._initVar('stopOnFocus', true);\n this.text = this._initVar('text', '');\n\n const style = `\n :host{\n display:none;\n }\n `;\n this.shadowRoot.innerHTML = `\n \n ${this.renderHTML}\n `;\n\n /**\n * trigger toast via @jinn-toast events\n */\n this.addEventListener('jinn-toast', (ev) =>{\n this.showToast(ev.detail.text);\n });\n\n }\n\n showToast(text){\n new Toastify({\n avatar: this.avatar,\n // backgroundColor:this.backgroundColor,\n // callback: this.callback,\n className:this.classProp,\n close: this.close,\n destination: this.destination,\n duration: this.duration,\n escapeMarkup: this.escapeMarkup,\n gravity: this.gravity,\n newWindow: this.newWindow,\n // offset:this.offset,\n oldestFirst: this.oldestFirst,\n position: this.position,\n node: this.shadowRoot,\n stopOnFocus: this.stopOnFocus,\n text,\n }).showToast();\n\n }\n\n renderHTML() {\n return `\n \n `;\n }\n\n}\nwindow.customElements.define('jinn-toast', JinnToast);\n","import { Fore } from './fore.js';\nimport './fx-instance.js';\nimport './fx-model.js';\nimport '@jinntec/jinn-toast';\nimport { evaluateXPathToNodes, evaluateXPathToString } from './xpath-evaluation.js';\nimport getInScopeContext from './getInScopeContext.js';\n\n/**\n * Main class for Fore.Outermost container element for each Fore application.\n *\n *\n *\n * Root element for Fore. Kicks off initialization and displays messages.\n *\n * fx-fore is the outermost container for each form. A form can have exactly one model\n * with arbitrary number of instances.\n *\n * Main responsiblities are initialization of model, update of UI (refresh) and global messaging\n *\n * @ts-check\n */\nexport class FxFore extends HTMLElement {\n static get properties() {\n return {\n model: {\n type: Object,\n },\n ready: {\n type: Boolean,\n },\n };\n }\n\n constructor() {\n super();\n this.model = {};\n this.addEventListener('model-construct-done', this._handleModelConstructDone);\n this.addEventListener('message', this._displayMessage);\n this.addEventListener('error', this._displayError);\n window.addEventListener('compute-exception', e => {\n console.error('circular dependency: ', e);\n });\n\n this.ready = false;\n\n this.storedTemplateExpressionByNode = new Map();\n\n const style = `\n :host {\n display: block;\n height:auto;\n padding:var(--model-element-padding);\n font-family:Roboto, sans-serif;\n color:var(--paper-grey-900);\n }\n :host ::slotted(fx-model){\n display:none;\n }\n #modalMessage .dialogActions{\n text-align:center;\n }\n .overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(0, 0, 0, 0.7);\n transition: all 500ms;\n visibility: hidden;\n opacity: 0;\n z-index:10;\n }\n .overlay.show {\n visibility: visible;\n opacity: 1;\n }\n\n .popup {\n margin: 70px auto;\n background: #fff;\n border-radius: 5px;\n width: 30%;\n position: relative;\n transition: all 5s ease-in-out;\n padding: 20px;\n\n }\n .popup h2 {\n margin-top: 0;\n width:100%;\n background:#eee;\n position:absolute;\n top:0;\n right:0;\n left:0;\n height:40px;\n border-radius: 5px;\n\n }\n .popup .close {\n position: absolute;\n top: 3px;\n right: 10px;\n transition: all 200ms;\n font-size: 30px;\n font-weight: bold;\n text-decoration: none;\n color: #333;\n }\n .popup .close:focus{\n outline:none;\n }\n\n .popup .close:hover {\n color: #06D85F;\n }\n #messageContent{\n margin-top:40px;\n }\n `;\n\n const html = `\n \n \n \n
\n
\n

\n ×\n
\n
\n
\n `;\n\n this.attachShadow({ mode: 'open' });\n this.shadowRoot.innerHTML = `\n \n ${html}\n `;\n }\n\n connectedCallback() {\n const slot = this.shadowRoot.querySelector('slot');\n slot.addEventListener('slotchange', event => {\n const children = event.target.assignedElements();\n let modelElement = children.find(\n modelElem => modelElem.nodeName.toUpperCase() === 'FX-MODEL',\n );\n if (!modelElement) {\n const generatedModel = document.createElement('FX-model');\n this.appendChild(generatedModel);\n modelElement = generatedModel;\n }\n if (!modelElement.inited) {\n console.log('########## FORE: kick off processing... ##########');\n modelElement.modelConstruct();\n }\n this.model = modelElement;\n });\n }\n\n evaluateToNodes(xpath, context) {\n return evaluateXPathToNodes(xpath, context, this);\n }\n\n disconnectedCallback() {}\n\n /**\n * refreshes the whole UI by visiting each bound element (having a 'ref' attribute) and applying the state of\n * the bound modelItem to the bound element.\n *\n *\n * AVT:\n *\n */\n async refresh() {\n // refresh () {\n console.group('### refresh');\n // await this.updateComplete;\n\n Fore.refreshChildren(this);\n // this.dispatchEvent(new CustomEvent('refresh-done', {detail:'foo'}));\n\n // ### refresh template expressions\n this._updateTemplateExpressions();\n\n console.groupEnd();\n console.log('### <<<<< dispatching refresh-done - end of UI update cycle >>>>>');\n this.dispatchEvent(new CustomEvent('refresh-done'));\n }\n\n /**\n * entry point for processing of template expression enclosed in '{}' brackets.\n *\n * Expressions are found with an XPath search. For each node an entry is added to the storedTemplateExpressionByNode map.\n *\n *\n * @private\n */\n _updateTemplateExpressions() {\n // Note the fact we're going over HTML here: therefore the `html` prefix.\n const search =\n \"(descendant-or-self::*/(text(), @*))[matches(.,'\\\\{.*\\\\}')] except descendant-or-self::xhtml:fx-model/descendant-or-self::node()/(., @*)\";\n\n const tmplExpressions = evaluateXPathToNodes(search, this, this);\n console.log('template expressions found ', tmplExpressions);\n\n /*\n storing expressions and their nodes for re-evaluation\n */\n Array.from(tmplExpressions).forEach(node => {\n if (this.storedTemplateExpressionByNode.has(node)) {\n // If the node is already known, do not process it twice\n return;\n }\n const expr = this._getTemplateExpression(node);\n\n this.storedTemplateExpressionByNode.set(node, expr);\n });\n\n // TODO: Should we clean up nodes that existed but are now gone?\n for (const node of this.storedTemplateExpressionByNode.keys()) {\n this._processTemplateExpression({\n node,\n expr: this.storedTemplateExpressionByNode.get(node),\n });\n }\n\n console.log('stored template expressions ', this.storedTemplateExpressionByNode);\n }\n\n // eslint-disable-next-line class-methods-use-this\n _processTemplateExpression(exprObj) {\n // console.log('processing template expression ', exprObj);\n\n const { expr } = exprObj;\n const { node } = exprObj;\n // console.log('expr ', expr);\n this.evaluateTemplateExpression(expr, node, this);\n }\n\n /**\n * evaluate a template expression (some expression in {} brackets) on a node (either text- or attribute node.\n * @param expr the XPath to evaluate\n * @param node the node which will get updated with evaluation result\n * @param form the form element\n */\n evaluateTemplateExpression(expr, node) {\n if (expr === '{}') return;\n const matches = expr.match(/{[^}]*}/g);\n const namespaceContextNode =\n node.nodeType === node.TEXT_NODE ? node.parentNode : node.ownerElement;\n if (matches) {\n matches.forEach(match => {\n // console.log('match ', match);\n let naked = match.substring(1, match.length - 1);\n const inscope = getInScopeContext(node, naked);\n if (!inscope) {\n const errNode =\n node.nodeType === Node.TEXT_NODE || node.nodeType === Node.ATTRIBUTE_NODE\n ? node.parentNode\n : node;\n console.warn('no inscope context for ', errNode);\n return;\n }\n // Templates are special: they use the namespace configuration from the place where they are\n // being defined\n\n try {\n const result = evaluateXPathToString(naked, inscope, node, null, namespaceContextNode);\n\n // console.log('result of eval ', result);\n const replaced = expr.replaceAll(match, result);\n console.log('result of replacing ', replaced);\n\n if (node.nodeType === Node.ATTRIBUTE_NODE) {\n const parent = node.ownerElement;\n\n // parent.setAttribute(name, replaced);\n parent.setAttribute(node.nodeName, replaced);\n } else if (node.nodeType === Node.TEXT_NODE) {\n node.textContent = replaced;\n }\n\n if (replaced.includes('{')) {\n console.log('need to go next round');\n\n // todo: duplicated code here - see above\n naked = replaced.substring(1, replaced.length);\n this.evaluateTemplateExpression(replaced, node);\n }\n } catch (error) {\n this.dispatchEvent(new CustomEvent('error', { detail: error }));\n }\n });\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n _getTemplateExpression(node) {\n if (node.nodeType === Node.ATTRIBUTE_NODE) {\n return node.value;\n }\n if (node.nodeType === Node.TEXT_NODE) {\n return node.textContent;\n }\n return null;\n }\n\n _refreshChildren() {\n const uiElements = this.querySelectorAll('*');\n\n uiElements.forEach(element => {\n if (Fore.isUiElement(element.nodeName) && typeof element.refresh === 'function') {\n element.refresh();\n }\n });\n }\n\n _handleModelConstructDone() {\n this._initUI();\n }\n\n async _lazyCreateInstance() {\n const model = this.querySelector('fx-model');\n if (model.instances.length === 0) {\n console.log('### lazy creation of instance');\n const generatedInstance = document.createElement('fx-instance');\n model.appendChild(generatedInstance);\n\n const generated = document.implementation.createDocument(null, 'data', null);\n // const newData = this._generateInstance(this, generated.firstElementChild);\n this._generateInstance(this, generated.firstElementChild);\n generatedInstance.instanceData = generated;\n model.instances.push(generatedInstance);\n console.log('generatedInstance ', this.getModel().getDefaultInstanceData());\n }\n }\n\n /**\n * @param {Element} start\n * @param {Element} parent\n */\n _generateInstance(start, parent) {\n if (start.hasAttribute('ref') && !Fore.isActionElement(start.nodeName)) {\n const ref = start.getAttribute('ref');\n\n if (ref.includes('/')) {\n console.log('complex path to create ', ref);\n const steps = ref.split('/');\n steps.forEach(step => {\n console.log('step ', step);\n\n // const generated = document.createElement(ref);\n parent = this._generateNode(parent, step, start);\n });\n } else {\n parent = this._generateNode(parent, ref, start);\n }\n }\n\n if (start.hasChildNodes()) {\n const list = start.children;\n for (let i = 0; i < list.length; i += 1) {\n this._generateInstance(list[i], parent);\n }\n }\n return parent;\n }\n\n // eslint-disable-next-line class-methods-use-this\n _generateNode(parent, step, start) {\n const generated = parent.ownerDocument.createElement(step);\n if (start.children.length === 0) {\n generated.textContent = start.textContent;\n }\n parent.appendChild(generated);\n parent = generated;\n return parent;\n }\n\n /*\n _createStep(){\n\n }\n */\n\n /*\n _generateInstance(start, parent) {\n if (start.hasAttribute('ref')) {\n const ref = start.getAttribute('ref');\n\n if(ref.includes('/')){\n console.log('complex path to create ', ref);\n const steps = ref.split('/');\n steps.forEach(step => {\n console.log('step ', step);\n\n\n });\n }\n\n // const generated = document.createElement(ref);\n const generated = parent.ownerDocument.createElement(ref);\n if (start.children.length === 0) {\n generated.textContent = start.textContent;\n }\n parent.appendChild(generated);\n parent = generated;\n }\n\n if (start.hasChildNodes()) {\n const list = start.children;\n for (let i = 0; i < list.length; i += 1) {\n this._generateInstance(list[i], parent);\n }\n }\n return parent;\n }\n */\n\n async _initUI() {\n console.log('### _initUI()');\n\n await this._lazyCreateInstance();\n await this.refresh();\n this.ready = true;\n console.log('### <<<<< dispatching ready >>>>>');\n console.log('########## modelItems: ', this.getModel().modelItems);\n console.log('########## FORE: form fully initialized... ##########');\n this.dispatchEvent(new CustomEvent('ready', {}));\n }\n\n /**\n *\n * @returns {FxModel}\n */\n getModel() {\n return this.querySelector('fx-model');\n }\n\n _displayMessage(e) {\n const { level } = e.detail;\n const msg = e.detail.message;\n this._showMessage(level, msg);\n }\n\n _displayError(e) {\n // const { error } = e.detail;\n const msg = e.detail.message;\n // this._showMessage('modal', msg);\n const toast = this.shadowRoot.querySelector('#error');\n toast.showToast(msg);\n }\n\n _showMessage(level, msg) {\n if (level === 'modal') {\n // this.$.messageContent.innerText = msg;\n // this.$.modalMessage.open();\n\n this.shadowRoot.getElementById('messageContent').innerText = msg;\n // this.shadowRoot.getElementById('modalMessage').open();\n this.shadowRoot.getElementById('modalMessage').classList.add('show');\n } else if (level === 'modeless') {\n // const notification = this.$.modeless;\n this.shadowRoot.querySelector('#message').showToast(msg);\n } else {\n const toast = this.shadowRoot.querySelector('#message');\n toast.showToast(msg);\n }\n }\n}\n\ncustomElements.define('fx-fore', FxFore);\n","import { Fore } from './fore.js';\nimport { foreElementMixin } from './ForeElementMixin.js';\nimport { evaluateXPathToString, evaluateXPath } from './xpath-evaluation.js';\nimport getInScopeContext from './getInScopeContext.js';\n\n/**\n * todo: validate='false'\n */\nexport class FxSubmission extends foreElementMixin(HTMLElement) {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n\n connectedCallback() {\n // this.style.display = 'none';\n this.methods = ['get', 'put', 'post', 'delete', 'head', 'urlencoded-post'];\n\n this.model = this.parentNode;\n\n // ### initialize properties with defaults\n // if (!this.hasAttribute('id')) throw new Error('id is required');\n if (!this.hasAttribute('id')) console.warn('id is required');\n this.id = this.getAttribute('id');\n\n /** if present should be a existing instance id */\n this.instance = this.hasAttribute('instance') ? this.getAttribute('instance') : null;\n\n /** http method */\n this.method = this.hasAttribute('method') ? this.getAttribute('method') : 'get';\n\n /** relevance processing - one of 'remove, keep or empty' */\n this.nonrelevant = this.hasAttribute('nonrelevant')\n ? this.getAttribute('nonrelevant')\n : 'remove';\n\n /** replace might be 'all', 'instance' or 'none' */\n this.replace = this.hasAttribute('replace') ? this.getAttribute('replace') : 'all';\n\n this.serialization = this.hasAttribute('serialization')\n ? this.getAttribute('serialization')\n : 'xml';\n\n // if (!this.hasAttribute('url')) throw new Error(`url is required for submission: ${this.id}`);\n if (!this.hasAttribute('url')) console.warn(`url is required for submission: ${this.id}`);\n this.url = this.getAttribute('url');\n\n this.targetref = this.hasAttribute('targetref') ? this.getAttribute('targetref') : null;\n\n this.mediatype = this.hasAttribute('mediatype')\n ? this.getAttribute('mediatype')\n : 'application/xml';\n\n this.validate = this.getAttribute('validate') ? this.getAttribute('validate') : 'true';\n this.shadowRoot.innerHTML = this.renderHTML();\n }\n\n // eslint-disable-next-line class-methods-use-this\n renderHTML() {\n return `\n \n `;\n }\n\n async submit() {\n await this.dispatch('submit', { submission: this });\n this._submit();\n }\n\n async _submit() {\n console.log('submitting....');\n this.evalInContext();\n const model = this.getModel();\n\n model.recalculate();\n\n if (this.validate) {\n const valid = model.revalidate();\n if (!valid) {\n console.log('validation failed. Bubmission stopped');\n return;\n }\n }\n console.log('model updated....');\n await this._serializeAndSend();\n }\n\n /**\n * resolves template expressions for a single attribute\n * @param expr the attribute value to evaluate\n * @param node the attribute node used for scoped resolution\n * @returns {*}\n * @private\n */\n _evaluateAttributeTemplateExpression(expr, node) {\n const matches = expr.match(/{[^}]*}/g);\n if (matches) {\n matches.forEach(match => {\n console.log('match ', match);\n const naked = match.substring(1, match.length - 1);\n const inscope = getInScopeContext(node, naked);\n const result = evaluateXPathToString(naked, inscope, this.getOwnerForm());\n const replaced = expr.replaceAll(match, result);\n console.log('replacing ', expr, ' with ', replaced);\n expr = replaced;\n });\n }\n return expr;\n }\n\n /**\n * sends the data after evaluating\n *\n * todo: can send only XML at the moment\n * @private\n */\n async _serializeAndSend() {\n const resolvedUrl = this._evaluateAttributeTemplateExpression(this.url, this);\n\n const instance = this.getInstance();\n if (instance.type !== 'xml') {\n console.error('JSON serialization is not supported yet');\n return;\n }\n\n // let serialized = serializer.serializeToString(this.nodeset);\n let serialized;\n if (this.serialization === 'none') {\n serialized = undefined;\n } else {\n const relevant = this.selectRelevant();\n serialized = this._serialize(instance.type, relevant);\n }\n\n // let serialized = serializer.serializeToString(relevant);\n if (this.method.toLowerCase() === 'get') {\n serialized = undefined;\n }\n // console.log('data being send', serialized);\n // console.log('submitting data',serialized);\n\n if (resolvedUrl === '#echo') {\n let doc;\n if (serialized) {\n doc = new DOMParser().parseFromString(serialized, 'application/xml');\n } else {\n doc = undefined;\n }\n // const doc = new DOMParser().parseFromString(serialized, 'application/xml');\n // const newDoc = doc.replaceChild(relevant, doc.firstElementChild);\n this._handleResponse(doc);\n this.dispatch('submit-done', {});\n return;\n }\n // ### setting headers\n const headers = this._getHeaders();\n console.log('headers', headers);\n\n // ### map urlencoded-post to post for fetch\n if (this.method === 'urlencoded-post') {\n this.method = 'post';\n }\n\n if (!this.methods.includes(this.method.toLowerCase())) {\n this.dispatch('error', { message: `Unknown method ${this.method}` });\n return;\n }\n const response = await fetch(resolvedUrl, {\n method: this.method,\n mode: 'cors',\n credentials: 'include',\n headers,\n body: serialized,\n });\n\n if (!response.ok || response.status > 400) {\n this.dispatch('submit-error', { message: `Error while submitting ${this.id}` });\n return;\n }\n\n const contentType = response.headers.get('content-type').toLowerCase();\n if (contentType.startsWith('text/plain') || contentType.startsWith('text/html')) {\n const text = await response.text();\n this._handleResponse(text);\n } else if (contentType.startsWith('application/json')) {\n const json = await response.json();\n this._handleResponse(json);\n } else if (contentType.startsWith('application/xml')) {\n const text = await response.text();\n const xml = new DOMParser().parseFromString(text, 'application/xml');\n this._handleResponse(xml);\n } else {\n const blob = await response.blob();\n this._handleResponse(blob);\n }\n\n this.dispatch('submit-done', {});\n }\n\n _serialize(instanceType, relevantNodes) {\n if (this.method === 'urlencoded-post') {\n // this.method = 'post';\n const params = new URLSearchParams();\n // console.log('nodes to serialize', relevantNodes);\n Array.from(relevantNodes.children).forEach(child => {\n params.append(child.nodeName, child.textContent);\n });\n return params;\n }\n if (instanceType === 'xml') {\n const serializer = new XMLSerializer();\n return serializer.serializeToString(relevantNodes);\n }\n /*\n if(instanceType === 'json'){\n console.warn('JSON serialization is not yet supported')\n }\n */\n throw new Error('unknown instance type ', instanceType);\n }\n\n _getHeaders() {\n const headers = new Headers();\n\n // ### set content-type header according to type of instance\n const instance = this.getInstance();\n const contentType = Fore.getContentType(instance, this.method);\n headers.append('Content-Type', contentType);\n // ### needed to overwrite browsers' setting of 'Accept' header\n if (headers.has('Accept')) {\n headers.delete('Accept');\n }\n // headers.append('Accept', 'application/xml');\n\n // ### add header defined by fx-header elements\n const headerElems = this.querySelectorAll('fx-header');\n Array.from(headerElems).forEach(header => {\n const { name } = header;\n const val = header.getValue();\n headers.append(name, val);\n });\n return headers;\n }\n\n _getUrlExpr() {\n return this.storedTemplateExpressions.find(stored => stored.node.nodeName === 'url');\n }\n\n _getTargetInstance() {\n let targetInstance;\n if (this.instance) {\n targetInstance = this.model.getInstance(this.instance);\n } else {\n targetInstance = this.model.getInstance('default');\n }\n if (!targetInstance) {\n throw new Error(`target instance not found: ${targetInstance}`);\n }\n return targetInstance;\n }\n\n _handleResponse(data) {\n console.log('_handleResponse ', data);\n if (this.replace === 'instance') {\n const targetInstance = this._getTargetInstance();\n if (targetInstance) {\n if (this.targetref) {\n const theTarget = evaluateXPath(this.targetref, targetInstance, this.getOwnerForm());\n console.log('theTarget', theTarget);\n const clone = data.firstElementChild;\n const parent = theTarget.parentNode;\n parent.replaceChild(clone, theTarget);\n console.log('finally ', parent);\n } else {\n const instanceData = data;\n targetInstance.instanceData = instanceData;\n console.log('### replaced instance ', targetInstance.instanceData);\n }\n\n this.model.updateModel(); // force update\n // this.model.formElement.refresh();\n this.getOwnerForm().refresh();\n } else {\n throw new Error(`target instance not found: ${targetInstance}`);\n }\n }\n\n if (this.replace === 'all') {\n document.getElementsByTagName('html')[0].innerHTML = data;\n }\n if (this.replace === 'target') {\n const target = this.getAttribute('target');\n const targetNode = document.querySelector(target);\n targetNode.innerHTML = data;\n }\n if (this.replace === 'redirect') {\n window.location.href = data;\n }\n\n /*\n const event = new CustomEvent('submit-done', {\n composed: true,\n bubbles: true,\n detail: {},\n });\n console.log('firing',event);\n this.dispatchEvent(event);\n */\n // this.dispatch('submit-done', {});\n }\n\n /**\n * select relevant nodes\n *\n * todo: support for 'empty'\n * @returns {*}\n */\n selectRelevant() {\n // ### no relevance selection - current nodeset is used 'as-is'\n if (this.nonrelevant === 'keep') {\n return this.nodeset;\n }\n\n // first check if nodeset of submission is relevant - otherwise bail out\n const mi = this.getModel().getModelItem(this.nodeset);\n if (mi && !mi.relevant) return null;\n\n const doc = new DOMParser().parseFromString('', 'application/xml');\n const root = doc.firstElementChild;\n\n if (this.nodeset.children.length === 0 && this._isRelevant(this.nodeset)) {\n return this.nodeset;\n }\n const result = this._filterRelevant(this.nodeset, root);\n return result;\n }\n\n _filterRelevant(node, result) {\n const { childNodes } = node;\n Array.from(childNodes).forEach(n => {\n if (this._isRelevant(n)) {\n const clone = n.cloneNode(false);\n result.appendChild(clone);\n const { attributes } = n;\n if (attributes) {\n Array.from(attributes).forEach(attr => {\n if (this._isRelevant(attr)) {\n clone.setAttribute(attr.nodeName, attr.value);\n } else if (this.nonrelevant === 'empty') {\n clone.setAttribute(attr.nodeName, '');\n } else {\n clone.removeAttribute(attr.nodeName);\n }\n });\n }\n return this._filterRelevant(n, clone);\n }\n return null;\n });\n return result;\n }\n\n _isRelevant(node) {\n const mi = this.getModel().getModelItem(node);\n if (!mi || mi.relevant) {\n return true;\n }\n return false;\n }\n\n _handleError() {\n this.dispatch('submit-error', {});\n /*\n console.log('ERRRORRRRR');\n this.dispatchEvent(\n new CustomEvent('submit-error', {\n composed: true,\n bubbles: true,\n detail: {},\n }),\n );\n */\n }\n}\n\ncustomElements.define('fx-submission', FxSubmission);\n","import { foreElementMixin } from './ForeElementMixin.js';\n\nexport class FxHeader extends foreElementMixin(HTMLElement) {\n constructor() {\n super();\n this.style.display = 'none';\n this.attachShadow({ mode: 'open' });\n this.shadowRoot.innerHTML = ``;\n\n if (!this.hasAttribute('name')) {\n throw new Error('required attribute \"name\" missing');\n }\n this.name = this.getAttribute('name');\n }\n\n connectedCallback() {\n this.shadowRoot.innerHTML = ``;\n }\n}\ncustomElements.define('fx-header', FxHeader);\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n/**\n * True if the custom elements polyfill is in use.\n */\nexport const isCEPolyfill = typeof window !== 'undefined' &&\n window.customElements != null &&\n window.customElements.polyfillWrapFlushCallback !==\n undefined;\n/**\n * Reparents nodes, starting from `start` (inclusive) to `end` (exclusive),\n * into another container (could be the same container), before `before`. If\n * `before` is null, it appends the nodes to the container.\n */\nexport const reparentNodes = (container, start, end = null, before = null) => {\n while (start !== end) {\n const n = start.nextSibling;\n container.insertBefore(start, before);\n start = n;\n }\n};\n/**\n * Removes nodes, starting from `start` (inclusive) to `end` (exclusive), from\n * `container`.\n */\nexport const removeNodes = (container, start, end = null) => {\n while (start !== end) {\n const n = start.nextSibling;\n container.removeChild(start);\n start = n;\n }\n};\n//# sourceMappingURL=dom.js.map","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n/**\n * An expression marker with embedded unique key to avoid collision with\n * possible text in templates.\n */\nexport const marker = `{{lit-${String(Math.random()).slice(2)}}}`;\n/**\n * An expression marker used text-positions, multi-binding attributes, and\n * attributes with markup-like text values.\n */\nexport const nodeMarker = ``;\nexport const markerRegex = new RegExp(`${marker}|${nodeMarker}`);\n/**\n * Suffix appended to all bound attribute names.\n */\nexport const boundAttributeSuffix = '$lit$';\n/**\n * An updatable Template that tracks the location of dynamic parts.\n */\nexport class Template {\n constructor(result, element) {\n this.parts = [];\n this.element = element;\n const nodesToRemove = [];\n const stack = [];\n // Edge needs all 4 parameters present; IE11 needs 3rd parameter to be null\n const walker = document.createTreeWalker(element.content, 133 /* NodeFilter.SHOW_{ELEMENT|COMMENT|TEXT} */, null, false);\n // Keeps track of the last index associated with a part. We try to delete\n // unnecessary nodes, but we never want to associate two different parts\n // to the same index. They must have a constant node between.\n let lastPartIndex = 0;\n let index = -1;\n let partIndex = 0;\n const { strings, values: { length } } = result;\n while (partIndex < length) {\n const node = walker.nextNode();\n if (node === null) {\n // We've exhausted the content inside a nested template element.\n // Because we still have parts (the outer for-loop), we know:\n // - There is a template in the stack\n // - The walker will find a nextNode outside the template\n walker.currentNode = stack.pop();\n continue;\n }\n index++;\n if (node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n if (node.hasAttributes()) {\n const attributes = node.attributes;\n const { length } = attributes;\n // Per\n // https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap,\n // attributes are not guaranteed to be returned in document order.\n // In particular, Edge/IE can return them out of order, so we cannot\n // assume a correspondence between part index and attribute index.\n let count = 0;\n for (let i = 0; i < length; i++) {\n if (endsWith(attributes[i].name, boundAttributeSuffix)) {\n count++;\n }\n }\n while (count-- > 0) {\n // Get the template literal section leading up to the first\n // expression in this attribute\n const stringForPart = strings[partIndex];\n // Find the attribute name\n const name = lastAttributeNameRegex.exec(stringForPart)[2];\n // Find the corresponding attribute\n // All bound attributes have had a suffix added in\n // TemplateResult#getHTML to opt out of special attribute\n // handling. To look up the attribute value we also need to add\n // the suffix.\n const attributeLookupName = name.toLowerCase() + boundAttributeSuffix;\n const attributeValue = node.getAttribute(attributeLookupName);\n node.removeAttribute(attributeLookupName);\n const statics = attributeValue.split(markerRegex);\n this.parts.push({ type: 'attribute', index, name, strings: statics });\n partIndex += statics.length - 1;\n }\n }\n if (node.tagName === 'TEMPLATE') {\n stack.push(node);\n walker.currentNode = node.content;\n }\n }\n else if (node.nodeType === 3 /* Node.TEXT_NODE */) {\n const data = node.data;\n if (data.indexOf(marker) >= 0) {\n const parent = node.parentNode;\n const strings = data.split(markerRegex);\n const lastIndex = strings.length - 1;\n // Generate a new text node for each literal section\n // These nodes are also used as the markers for node parts\n for (let i = 0; i < lastIndex; i++) {\n let insert;\n let s = strings[i];\n if (s === '') {\n insert = createMarker();\n }\n else {\n const match = lastAttributeNameRegex.exec(s);\n if (match !== null && endsWith(match[2], boundAttributeSuffix)) {\n s = s.slice(0, match.index) + match[1] +\n match[2].slice(0, -boundAttributeSuffix.length) + match[3];\n }\n insert = document.createTextNode(s);\n }\n parent.insertBefore(insert, node);\n this.parts.push({ type: 'node', index: ++index });\n }\n // If there's no text, we must insert a comment to mark our place.\n // Else, we can trust it will stick around after cloning.\n if (strings[lastIndex] === '') {\n parent.insertBefore(createMarker(), node);\n nodesToRemove.push(node);\n }\n else {\n node.data = strings[lastIndex];\n }\n // We have a part for each match found\n partIndex += lastIndex;\n }\n }\n else if (node.nodeType === 8 /* Node.COMMENT_NODE */) {\n if (node.data === marker) {\n const parent = node.parentNode;\n // Add a new marker node to be the startNode of the Part if any of\n // the following are true:\n // * We don't have a previousSibling\n // * The previousSibling is already the start of a previous part\n if (node.previousSibling === null || index === lastPartIndex) {\n index++;\n parent.insertBefore(createMarker(), node);\n }\n lastPartIndex = index;\n this.parts.push({ type: 'node', index });\n // If we don't have a nextSibling, keep this node so we have an end.\n // Else, we can remove it to save future costs.\n if (node.nextSibling === null) {\n node.data = '';\n }\n else {\n nodesToRemove.push(node);\n index--;\n }\n partIndex++;\n }\n else {\n let i = -1;\n while ((i = node.data.indexOf(marker, i + 1)) !== -1) {\n // Comment node has a binding marker inside, make an inactive part\n // The binding won't work, but subsequent bindings will\n // TODO (justinfagnani): consider whether it's even worth it to\n // make bindings in comments work\n this.parts.push({ type: 'node', index: -1 });\n partIndex++;\n }\n }\n }\n }\n // Remove text binding nodes after the walk to not disturb the TreeWalker\n for (const n of nodesToRemove) {\n n.parentNode.removeChild(n);\n }\n }\n}\nconst endsWith = (str, suffix) => {\n const index = str.length - suffix.length;\n return index >= 0 && str.slice(index) === suffix;\n};\nexport const isTemplatePartActive = (part) => part.index !== -1;\n// Allows `document.createComment('')` to be renamed for a\n// small manual size-savings.\nexport const createMarker = () => document.createComment('');\n/**\n * This regex extracts the attribute name preceding an attribute-position\n * expression. It does this by matching the syntax allowed for attributes\n * against the string literal directly preceding the expression, assuming that\n * the expression is in an attribute-value position.\n *\n * See attributes in the HTML spec:\n * https://www.w3.org/TR/html5/syntax.html#elements-attributes\n *\n * \" \\x09\\x0a\\x0c\\x0d\" are HTML space characters:\n * https://www.w3.org/TR/html5/infrastructure.html#space-characters\n *\n * \"\\0-\\x1F\\x7F-\\x9F\" are Unicode control characters, which includes every\n * space character except \" \".\n *\n * So an attribute is:\n * * The name: any character except a control character, space character, ('),\n * (\"), \">\", \"=\", or \"/\"\n * * Followed by zero or more space characters\n * * Followed by \"=\"\n * * Followed by zero or more space characters\n * * Followed by:\n * * Any character except space, ('), (\"), \"<\", \">\", \"=\", (`), or\n * * (\") then any non-(\"), or\n * * (') then any non-(')\n */\nexport const lastAttributeNameRegex = \n// eslint-disable-next-line no-control-regex\n/([ \\x09\\x0a\\x0c\\x0d])([^\\0-\\x1F\\x7F-\\x9F \"'>=/]+)([ \\x09\\x0a\\x0c\\x0d]*=[ \\x09\\x0a\\x0c\\x0d]*(?:[^ \\x09\\x0a\\x0c\\x0d\"'`<>=]*|\"[^\"]*|'[^']*))$/;\n//# sourceMappingURL=template.js.map","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\nconst directives = new WeakMap();\n/**\n * Brands a function as a directive factory function so that lit-html will call\n * the function during template rendering, rather than passing as a value.\n *\n * A _directive_ is a function that takes a Part as an argument. It has the\n * signature: `(part: Part) => void`.\n *\n * A directive _factory_ is a function that takes arguments for data and\n * configuration and returns a directive. Users of directive usually refer to\n * the directive factory as the directive. For example, \"The repeat directive\".\n *\n * Usually a template author will invoke a directive factory in their template\n * with relevant arguments, which will then return a directive function.\n *\n * Here's an example of using the `repeat()` directive factory that takes an\n * array and a function to render an item:\n *\n * ```js\n * html`
    <${repeat(items, (item) => html`
  • ${item}
  • `)}
`\n * ```\n *\n * When `repeat` is invoked, it returns a directive function that closes over\n * `items` and the template function. When the outer template is rendered, the\n * return directive function is called with the Part for the expression.\n * `repeat` then performs it's custom logic to render multiple items.\n *\n * @param f The directive factory function. Must be a function that returns a\n * function of the signature `(part: Part) => void`. The returned function will\n * be called with the part object.\n *\n * @example\n *\n * import {directive, html} from 'lit-html';\n *\n * const immutable = directive((v) => (part) => {\n * if (part.value !== v) {\n * part.setValue(v)\n * }\n * });\n */\nexport const directive = (f) => ((...args) => {\n const d = f(...args);\n directives.set(d, true);\n return d;\n});\nexport const isDirective = (o) => {\n return typeof o === 'function' && directives.has(o);\n};\n//# sourceMappingURL=directive.js.map","/**\n * @license\n * Copyright (c) 2018 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n/**\n * A sentinel value that signals that a value was handled by a directive and\n * should not be written to the DOM.\n */\nexport const noChange = {};\n/**\n * A sentinel value that signals a NodePart to fully clear its content.\n */\nexport const nothing = {};\n//# sourceMappingURL=part.js.map","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\nimport { isCEPolyfill } from './dom.js';\nimport { isTemplatePartActive } from './template.js';\n/**\n * An instance of a `Template` that can be attached to the DOM and updated\n * with new values.\n */\nexport class TemplateInstance {\n constructor(template, processor, options) {\n this.__parts = [];\n this.template = template;\n this.processor = processor;\n this.options = options;\n }\n update(values) {\n let i = 0;\n for (const part of this.__parts) {\n if (part !== undefined) {\n part.setValue(values[i]);\n }\n i++;\n }\n for (const part of this.__parts) {\n if (part !== undefined) {\n part.commit();\n }\n }\n }\n _clone() {\n // There are a number of steps in the lifecycle of a template instance's\n // DOM fragment:\n // 1. Clone - create the instance fragment\n // 2. Adopt - adopt into the main document\n // 3. Process - find part markers and create parts\n // 4. Upgrade - upgrade custom elements\n // 5. Update - set node, attribute, property, etc., values\n // 6. Connect - connect to the document. Optional and outside of this\n // method.\n //\n // We have a few constraints on the ordering of these steps:\n // * We need to upgrade before updating, so that property values will pass\n // through any property setters.\n // * We would like to process before upgrading so that we're sure that the\n // cloned fragment is inert and not disturbed by self-modifying DOM.\n // * We want custom elements to upgrade even in disconnected fragments.\n //\n // Given these constraints, with full custom elements support we would\n // prefer the order: Clone, Process, Adopt, Upgrade, Update, Connect\n //\n // But Safari does not implement CustomElementRegistry#upgrade, so we\n // can not implement that order and still have upgrade-before-update and\n // upgrade disconnected fragments. So we instead sacrifice the\n // process-before-upgrade constraint, since in Custom Elements v1 elements\n // must not modify their light DOM in the constructor. We still have issues\n // when co-existing with CEv0 elements like Polymer 1, and with polyfills\n // that don't strictly adhere to the no-modification rule because shadow\n // DOM, which may be created in the constructor, is emulated by being placed\n // in the light DOM.\n //\n // The resulting order is on native is: Clone, Adopt, Upgrade, Process,\n // Update, Connect. document.importNode() performs Clone, Adopt, and Upgrade\n // in one step.\n //\n // The Custom Elements v1 polyfill supports upgrade(), so the order when\n // polyfilled is the more ideal: Clone, Process, Adopt, Upgrade, Update,\n // Connect.\n const fragment = isCEPolyfill ?\n this.template.element.content.cloneNode(true) :\n document.importNode(this.template.element.content, true);\n const stack = [];\n const parts = this.template.parts;\n // Edge needs all 4 parameters present; IE11 needs 3rd parameter to be null\n const walker = document.createTreeWalker(fragment, 133 /* NodeFilter.SHOW_{ELEMENT|COMMENT|TEXT} */, null, false);\n let partIndex = 0;\n let nodeIndex = 0;\n let part;\n let node = walker.nextNode();\n // Loop through all the nodes and parts of a template\n while (partIndex < parts.length) {\n part = parts[partIndex];\n if (!isTemplatePartActive(part)) {\n this.__parts.push(undefined);\n partIndex++;\n continue;\n }\n // Progress the tree walker until we find our next part's node.\n // Note that multiple parts may share the same node (attribute parts\n // on a single element), so this loop may not run at all.\n while (nodeIndex < part.index) {\n nodeIndex++;\n if (node.nodeName === 'TEMPLATE') {\n stack.push(node);\n walker.currentNode = node.content;\n }\n if ((node = walker.nextNode()) === null) {\n // We've exhausted the content inside a nested template element.\n // Because we still have parts (the outer for-loop), we know:\n // - There is a template in the stack\n // - The walker will find a nextNode outside the template\n walker.currentNode = stack.pop();\n node = walker.nextNode();\n }\n }\n // We've arrived at our part's node.\n if (part.type === 'node') {\n const part = this.processor.handleTextExpression(this.options);\n part.insertAfterNode(node.previousSibling);\n this.__parts.push(part);\n }\n else {\n this.__parts.push(...this.processor.handleAttributeExpressions(node, part.name, part.strings, this.options));\n }\n partIndex++;\n }\n if (isCEPolyfill) {\n document.adoptNode(fragment);\n customElements.upgrade(fragment);\n }\n return fragment;\n }\n}\n//# sourceMappingURL=template-instance.js.map","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n/**\n * @module lit-html\n */\nimport { reparentNodes } from './dom.js';\nimport { boundAttributeSuffix, lastAttributeNameRegex, marker, nodeMarker } from './template.js';\n/**\n * Our TrustedTypePolicy for HTML which is declared using the html template\n * tag function.\n *\n * That HTML is a developer-authored constant, and is parsed with innerHTML\n * before any untrusted expressions have been mixed in. Therefor it is\n * considered safe by construction.\n */\nconst policy = window.trustedTypes &&\n trustedTypes.createPolicy('lit-html', { createHTML: (s) => s });\nconst commentMarker = ` ${marker} `;\n/**\n * The return type of `html`, which holds a Template and the values from\n * interpolated expressions.\n */\nexport class TemplateResult {\n constructor(strings, values, type, processor) {\n this.strings = strings;\n this.values = values;\n this.type = type;\n this.processor = processor;\n }\n /**\n * Returns a string of HTML used to create a `