From cab0a1cb8133c85e29114f97d6f6f2eda62df117 Mon Sep 17 00:00:00 2001 From: fireshaper Date: Mon, 5 Oct 2026 00:11:48 -0400 Subject: [PATCH] Step 10K.12: CR-011 plan amendments and regression Co-Authored-By: Claude Opus 5.5 --- DECISIONS.md | 6 ++++++ docs/screenshots/10k12-settings-desktop.png | Bin 0 -> 698439 bytes docs/screenshots/10k12-settings-phone.png | Bin 0 -> 623090 bytes memory-bank/implementation-plan.md | 6 ++++++ memory-bank/progress.md | 2 +- 5 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 docs/screenshots/10k12-settings-desktop.png create mode 100644 docs/screenshots/10k12-settings-phone.png diff --git a/DECISIONS.md b/DECISIONS.md index ebab9a6..90ad7d4 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -1116,3 +1116,9 @@ Implementation decisions not spelled out in `memory-bank/implementation-plan.md` - **"Advance" adds to the offset** (`devAdvanceClock`), where the existing clock-offset route sets it outright; the client doesn't know the server's offset, and E2E tests keep using clock-offset unchanged. - **The developer routes are in the catalog** (so the client calls them typed, as the CR's §6 asks) but are only registered outside production, like clock-offset; in production all three return 404 (tested). They require a session so they act on the caller's player. - **The clock is shared:** advancing it moves time for every player on that server, which is fine for development servers. + +## Step 10K.12 + +- **Amendment "12.x"** is recorded on Step 12.3 and applies to all the end-to-end steps (12.3–12.6). +- **Step 11.2's offline rule is noted for Phase 11**, where the offline behaviour is built; server-backed settings already fail with the usual error when offline. +- **The two-device manual check was scripted** with separate sessions; a real second phone or a private window is the user's check. diff --git a/docs/screenshots/10k12-settings-desktop.png b/docs/screenshots/10k12-settings-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..025978084dcecc443f737871748060bd55be009d GIT binary patch literal 698439 zcmYhic|4Tu`vy#kWUEwmTB+>GzRXi96;UaQ7!s3p>|>jmL{zp)*_jY3`#RPcOGuUp zF~k`AU^e@h{hjCezQ6bL&L7vzXa2bFx#m8v^E}SuJdQVatu4e3$sXe4;}g4e^V)qr zz5~3E0)+?n@!q^=%>MH69p<}r?aG6&91>LMvw}s)N@g2bH>B@_k7XcLY#~l=OfOdU zVC>U_{8vTKp3)ZH|Jq#p+??&cv$4N7`L~1*pWJ^{OF>Gj`0qrct7F5noeFzun=t{C zb4e!>54EB8+0^_}92i5jMM6LzYp`wkILKUBvYk~_0(ORokZx&F;LKwgP#=@gIH<2# zNeIIgI2GQMN$S@?7fOJ*Fr#kDijj5wm=&k70&TGWL&qG~`JzeYr zgO&!3uBZ78o!@TCe0V2V@b%g#TbAvq&(RjsP8c;3YdLH3!wErfv!cZ3rqAtp8%YEh zb!B-POnkv^yT+Y(1|V!bJf9zX^!EQPF#-cWO01ANUiGr6&K@I`dqj<1kLhpmp84bk zT=ZPWqbg@y<4duD-Z)Kd&c4EB4GE>;J1=uKxfx++Bzrs#68|L|I{ekPE9w-Y5;#Q)@~@VSq7|64k*2;(jx66gcU+J44&fNm$X-%U;{ zq|4&SNA8AQ)6WP!6pT!0k!_ENeFguCD!Ov&)eG$;Q58ds*V*2?{t;6nf*P*q7bAQc z`LU+LdsVf$9>+p;b4>N8J#kGRGtZIkoZl#qJt}Uul187dpHC;xJl{S+cGix#lXxoo zs((g7nWR}1Ezaaz`Z;xh0VyH^BGtS)vr9v`-` z-*DtQbM)9CzO9yDD0xcZ3d4}7@*y+%={TdmTe>*V#R~88?jEx8W00>;2qkWetej4+*SdC};jw^N1#)0|0U3srX(~H5v zE&TsI^vEN-4Kl5f;}p)ZDvi0%@god%Uf70;yxlF40kN|J;wtvTx-aUj>UOM*$$M&f zUVh}$e|ajaGT!vit2$8liI)*P!+V1hzwac? zeYyIm5T(4(vcayUVDLeD{#CGq#E~BZAoFNo*8%iX(S%jY8=6Xv+|&0Zti~(3qh9lR zUh<85?<$h=LDILozsBO?{tLpRJ?5T)>Ho#H|BIKad&t9_J30vCGQ66kqrRmT{_2g( zGHsqamEe!ZMZ1%82yLnRoG!-{KD6rb6&x9ulxs%S*azjkFKBuu*dpMqd(7ul;X(hN z%#k?pf3j~v#P)S5R!3VZxN~3L;IbyS(sUUT-^Q4UeJ+rWIhRsH6TLcD!uZ2Nb4M3Q z{=YG_k5c3z8Y#M)=`bY|msxjHrPY2efp=!|V?P|?g%TgX&aljACQJTM1pR?M5vu_5 zVlcL5PF}vXU;5kyqc7&>!_&HRech)_ePE-*HnIuJn#v$^Bw-y`e8i>y&F^uAu*mVA z)2^xRJ_6=d(RAPEU0WV>JVxBp*SMP}<5>rUAF4zi~NJtj(ku1MuDFSK^cUSv&eE|Apw zT&rSgsSf;mgZf444!416MAEcGLzcH*1b-#>A~o}4S3AS{>@Hsu$<0Y<8q9D&doeoS zc7H0A=uaEy7mT>$UeJtRKdH09x9f2z*g-kZ*1%?VnW)I#N|87s__kMfo^3-HT zxt({Cde^6HKX3&;?wgpEP>)y1^91dN>6Ki4Ey&|S>N~GC+T3DGT9r+7u@ZQ?dZ(lM zTai-BgyyrIL2v2{Qvs2*yn_u*asjiK4n$D9IE9Y`xhS^bA%j&U6PGaPuebc?Xud?m z`P%y1hYi~I`Z)WS{-kTUxil-4^kJ&E^{Zj@+1K5ZMWC^Gq4lx*6({6&LQR- zzxC^0=GVl`F@ahJY2*O?aW5&ysT4r$j0SU~NSu(g&M-5~v-KcWZ)Z`7zTgQ7 zKc_ag!E(u^mbAbS_?wT0=_wz3UXR(ehbDLXE{$X8fz@%iK z`taJzArfl;AdB73OhNn{amK`VlUpgW)4Q{0?J>Zp>6LXoniA>C`gKAZdn*oNg>hCL zJ-Vw*LMCp$a0d#lB-|m?@9L)q^YT^g-H`#&t~%wq9QM&r0V}Vz<22J>AAFMx==9dq zC=#UiGrMQ7KDW?+{YB(tCAY4@O-o5pJ~(xjz3;Kn^`C8>@&mxYh#5aWXYN#H`L3EP zPymU_#?HJaxFv`K+&=Wnvg1W1{NhYSDMu(*wC?cgT$|u%6%4;86y(QTpVv1lQQAFz z{$T=J!5@O^a*Bc<{>MSp?tc|LdS5pSlp0#Jsbtq5Q-s_)lAyZ9n5va^12l(xH^c}@ zv)0r8mfZ+)hQk&=-2QNGsFo0fkb`a!*$K!Bv~AX#PyU~~(n26RLk=S=2*B`x`Uqf) zp=hM^^qJ`xm#n+8?aZ^%j{CRvG?Tc_?SD1Hp`D3H%3-unS$xpq@+{H2crB_CX#M=7xA}h zb`oG(!ECadNV<|lC2Fa#aB{HZb?%70rfj2l4`ok2gy0FC&m`_9TlLqo%sT6yRI zb-;GMsrYW6tlo`7${QcTADeoYPu3ZGZSk9jcm_QG{7^Yug!kkjW~0mTTJk;Ppk%su%4AJ#vVD23B)?Gpjq+2Y;f+~y_5 zFFL? zJ65O|GWHPsxbeAb`aSkuuVnJt4%olY3+aH3+Rd_IGgZ3i60KZ;6f-92j+{O{n!T3Z zEwn+@Bt>+Aqu4}hI0n$Ue|=e>i*vVuZT?(ek2hoGbLl<$%FUz^OU+0e(V5`fw9s0= zE5~KysZc!Ag?5spxPG&%LLbn1|Iy${lEswjC%aKf$4m)1u!t9ve_h^ow;$W>ZnUiG ziB`?549d0RY;6|RtK>~ZZqK1S_GZS)sqEmzXkGOQL`NHnBJ%Kg)*aufL-Yz)%P+S+ zgXu>Sl(?~+!sOuI7#a@E5yC6M{Lg)?0(MY}lpwDbYzzjW9GZPa07A-nF>y|+jgUJ! zgM+N`&Qau{8P;0uz?Vo|>z=2De05`Vc<8XqRt0xwd_#)Gki(m8lu1;E%}a_qvfJQH z3exqy^oo)JWnw|xbo=)PFgJ`PTnie6jg?kPbI0c56+(aAQh~J1W$Ahg2@1OG+hc=F zw#qD+Qe_V=DzQo=M8(BI+6HjZH|pz{Uj;qd)^sbgoy-}~(8=2va7!^1Jc5XtOjXf-K^V%8oZnCpA6UDj(yI{UV*{od&uHhL zalvYtP6cMAJ)hf*ck3>Ydd^G`Gg%N^9&ju(`BXF<=+fo9CHLty5AN9tjy~q|xqRU7 z^P9FGqI#)YItTp!>LOIwWtEfTw(N@&I!k>?|9Tk z<^~NJVkf)MEmTOV89#-CGewWL?@b#9X*Tc8&&1{UI{1Gdt-UXhfna(9FW#|l$u*(Voc5A zejUo%S&%Y;^xJ?BVKohCt*JA?V{R4n6vPt_>lTc;4Qg9?lWwNdAEm+g`FobjB%x_?+%dBy$8g~GpL~6Ik1R(t~`w@@+H`9!6^c?$)H+myS&ad3618q4br=(?EpSpHZBxXWoWz-Y#PX_PrdvP7HMHY;VxPr z@!=NOXay$0e#nr1%%>h#?TfVMV&Q(QVH%rFR~COYedp4s>~uK3*X&XlzKvDtj)|Q6 zpyKS++p~x9MY0()DQs0GP1uNgf)Z^%?a&#C@@1WPHYX^}WbQutMP{{IxsVwRj%00u z=FEbuO;#I_>|FS~YrGQst*RZAE;0pXCNXP4eIstb9l}nyNX-p_Exm@V?F*8fFgJ%Z zJ^z0Rn@+QR&UUgosK?t6I=W%GJIq#9tXLAm(R6uRkw#B-ya8@@-wwC0V9zttQCk=( zt7AfbmoE-w`8NC=^ff&*i=(I|7e&|f6`FwK6u0uHYZ#(lFvv#IV<^aP&Ke5b$a_Hp*|kEIa@<8!Q5iC z0Jb@UfVNc?&9E6aGj6vnK6K|=z^sbNhKvoAu|-8~jWa22{p|3+g+tI)RnBG?ce}w- zgUQyxG=H9yooaG(OzR$Fw3Tq@c-b){^LE=k2)r5NRTQzXgIAP2_Q@DYj#pfJip!<1 zh-h*b&=Yk5xFjsRmu=|1JH4e5#zFw;<2EoBm$lBs2gjWUjsvuaFB3G%v9byP_|TT~ za@-#u-6K^W9xBV)9KyhdRWZKUO+rH;QSZ`>{Qcc z!f+7O?wI%0VA@wVYkvfdO&Q{He(6#|_F7vucfhce1Zj-R;l}@tG<^)zf+4~h{5nOP zLt7Kr`?#PfFl;#ArfH|5!rmEfvDLXi?3bc=#Ie)Vvwh9F)PG_C+fHO&4I}p?5qlGL zel^fual)01aT^ar1mox5cnW8hnUmB^YJwa14^%(pi~I+KpW&S_KQwuKrYl{EnS~uP zUKl2#nd{`hu1MlP}nU4VT^Y76d;^5 zbba~q_sXaX)7SD#O?t^ld?+R!58#NP`r@e0#KbLI4reVKlxrMDZJSd(<84|0lgwuX#UrQ1{6SDNe5;r-du9T&jiy}QP+mbC<~#IEAUaZh0h zrQPR;8-LhDUotIZ@dMPb?WxBVDKHlSs1;*3--Z1aO07{=!zJK`DL=f2oTWuz$u z{73+ID27hKO zJD=T|^EhY(VKC9`OH=`D^i>4lRGb3)=FcU>$H&3Ka3LD|NTMzv3FFc|5CC6)Ygen| zfw$TTJLswi4yE!Y`o!Df`r62NrHG$~i_5tI$};Uo%0zmp>w67!kbV=_B_&$tuXb?k zj2LwERcriyjMJXf?Zf8>Ndk(y??UVf?(o{)#@N177nlk(sbFFEwNQZVtAG0$qN!UB zoz-dyYQnguPosSTcAC-$jiPRi$+T;TlQjI(p=+g*vh9}QnL9Sru!~CE`LuX5=D8!Z za6hD9>a%u*7`F`4&}=eJ#w--Ohw+ic zoPEVi#E?w9gqVJ11Py{>B~7{B|9va~ucc->8Za2PTer7iGqIcPh-3v{RqyVO#vP#4 zFahju8+aJuZ)NO&t5lpRm8H@c)6vnvW&8peRpjV;?`{FNOS}~$)`jrQ8(#iKwgJPZ zJ=0UCqHtLc$)R$gBGYFyTK7gi(QsQtU?_^$crFR8iq1MEgVJ5Bmh9!8PTPR+vs-vcAy_3s*Knx& zEt3SGuiioLbz`_IDbCGN^vwh%=7dDltbk4_#-Ar%=)g*;$s25b6~l6W9*86$pw=NSpG^%6K4~|8-Z-M! zIL!mX@rqIF4al}z!2EtNAt&lrA%NsI+a*!nyr5Je2z9b8*MPAkrA(Kj^uMpQ=j7vY z3aG%}NS|&)#Gcwa1=LzU@DUg1t)etS;`L{nOZE@sOcgQ*=FG%5=R8TpRq?LWMfn_4J2FI3piCcxxMvEizaF~%+vP^v&k@e_PeP2^I5T$jpVTbAix!iM*8?l$>HaqGSuMl1vb2@ZJ)j8< zhu>6AM;Wx`-m{>zZVmNSP6iNi1^&oJ9Q7Zk{);YnB`stS4PR-% z2M5o0?jRV@^*&^6P(t+&_zzLF<3LD z2%ybA$t0EbHrjMR&*PMEoZL)XP)X&qbIs!K;rIFV-gXMGy(1WUS9-bA)-0Oc-=fll z7THJJN$_6y(4R*>-R>j;;nnAYjt&I~KD>XVE6sH7mW^dl9uHmFNy(cn4D=e5?v({; z6zHHQg9Nqic7Z_bJpTePht!GI*d>Zeop4y92XbKteR>7%6E?!t~G1d@aUo>VTzv zxx-Ejl{-5VNu`s?NMnJ$AClG)^Qn2;ZB)i|cBbriH>)#e&Uh9F4>rZgCiTJVg9t-H zcBUD5ldS=xzg^OgC99aNesD`R>rt5AECm{G?ZwIYg-!PBHA4dIw5`GuQ}Z(YPv00X zYhtgV2@A(HBl=zj4Oxo0O!-xE=V-lp6+sZ`$IQDywGR$8t%IR6tm{%wp4AK}3>a?w z83bfkHQ66(n0!K~dym5jj<%1p$Vl!oMFQ@^3a<<8*MyseVRKF6l~CKaY`zU;X0K&- zl`5`e?K6cf+%wZ@+~hC;^x*>pr$_2(#qmskvGtCUxpZj0gkad7hyR;XEiZ7{pGSN& zTs`L2&(+rnk3X0V0-}~m(2tIDqIO4ZP_v{nd0UC8N+^Dl-$3x??;7n)iUg#8wB~7`~KODwDTgkGoyc%k2i{ak;4VQY?4p=h{PC`kUIbK=xlW zFk)rXhCRh>6tEM@fp?rsF(U2*0dcezn28;q%qORNM<`i>?%ke6t=ySqS0Yj+-> zK3U|1dL~O2-l2f(wBoUZey*iP=I{?mfvU^Kae z2U#wrTaVH3d1002m@aYS0hxBn$j?cD)y-=+Lq}pHTd)!#Q-dh?m;^W6-2N8<>9)D0HYj6ftx$v|)pWVy-*gk+l9% z1L9u6%om}VSP7eTV`3T5kMpsUlxic>%H@RM>BYv*j7Urd^Q*;sel?o_*SWu>$N7R` zOCT<^cYkh0@uf};7hiAYt}hbj<<}CjTdi{WghBx%L(zcP_7@AXuz<`2(KA-AcSjrF{=r z96J@S7II|R*pKQQ1sPt@bfo=`!ME+AJ2RuBClkaUHwTz^q*O)hKnFu>?|(C)ys?4q z25~cN#Kp-`TmVa*bSURdV_084uyGlm<>scEY_R+b&5q|6Ylkgaa`Un#ZRIh2B_4&w^ zYU1OdWhLmqn@adrBo3iby#3Vz!6kE(2EW1?3rd{6QfKaBi5Y}4eE`T{siYWEu1%!+ zcXX%A!{=99city#SA?%b6U?|vtWU=N@IWyw&~5PFx;*5;ybHW}jOjiJv%0Ot5YJMwE7`zuEd%MMGt!IxMN_H8c@XhLZ{DgkrojrcV}vTJb+<--`wmLeEEI69goQ=E=o5EUro&u z&Fr(Vu!k+<^J6J@J+3LOSIH&TTzg|G?k>0!Ee3-w$VzcHBXJN7Ktw{AY~(bIT5<*) zIk*o*Ga}L~v6LvvIROBjRMVCIz`oKONQdh+i3}OH5$fD{gMtV*ECRi}L~sflI>Ox; zbDZF#@VQx)Uv%xM!&c`EOHyQOORfBp`Ka=;%<1&dl4uc|gHQ9%-Nbquxv(Wr@J+`V zJ?`|@$R!u4J@$r3QJ8N>6Je0op#oWS?`F0`8UB@s1pQ}x1&UcQ<+AVVv$4Wt!wpFU z9q+$9Qer|_akFMn>VYBeM=)?op+cI!#j}Zy3njS+Bx6L10lRN(aIKzQmGC9W4aGzgfM>eC(2i!d@eE!Iat5%r1V6{y7v7}Sove#?TX7oX;%x;^(wmN$qUXE(;> zY|yy8PNq+IZF+wKCdiv8qS?GyVGIkxDj?fMukaG#k-gzT38$#>`2>vFF*8R0HZOlV z);x7RFjX!zF5X7Wim#y0*!31TZ#TlEm`-MR4MaM6rE`tocmCr-3lT@q)vt45__H>8 z(TnHce*jgHj$$D%b!0Kd+$hlH3TO6jA+vSVsnuDK^Tu2IoSl{0ms?nB%^9qht>r!u(O=o%L?<|*1EcXk?x1%s0#dwC4u(PZg2-GLjxEKJcWPN~ zK%$z6V)6EsoE@U1_|yeSkr9;lW-a>G#wrB9$6ocdgU$s}0B!I&emPVmIqs?Hx;b~p zod!h4w}02?pkvEPP^kJj~yh zr~{k|7(2d&fGjmXBti*<-kg~hFDOw3xixvp%3=y8DPm z=%lx?p*uo~e;Y!fR;~*2f%(67=dZIXBX_zhqxza^1!WUX>?S2PWRc~Ig)beK%trMU z<*LLfJ!#sk<JMDmJ*JXeIK4wwpeC7H(AvshmK|zf^wl7Jz_AqFFF|1=aQLJ zLX+H_h%;+VNU4!ltON%KKU;j)ZP}%3)4H9x?A)C%>FUO7mCoE`TkFVe4E&-ya)`y@;SD4BTmcat zOnz`ETghxXj1B3kPM|sO#M#IBzI&0lI4Fl@a`noARnPm1?-2iAp8Lrb5aPVEW&zkG z74g#ZVl$%mK;)=p8lWn4FAH1_C2$jlN-%8y6~@#JO{3~fB&Li_*17nNpNEY#BYZTM z$#Rq&uheGAWMf!=ny-QiwV6QCjG7aXWdE21!?&>T1&*an#pBxDhn1XB-qc4Uhu#H< z;t`qR5Fs?1Oy+W^)yDW?3nl2^ZzY3yrc73^iLz|_b^Y&3W6R}EH+H&(E$SnG?_9w? z*_uR$k%3=8d3%k$#*&cW;O%B2Y`goJ#}g7{xFEq^%@H=4iZFSv4d3XNf|zu^;gKiv zQb2NE^{8o%mg_rL{Xz*_jtr$!FpshInVB$$dRJMcpZdvCq@Fk087)Au_hWB=IPZ#% zebE>vnXldRs>F-E*$w6p2Duw~=YUb%52b)+UiWPejZ}fpJw*>OaE2KvQ~M2We?YPp zARw_n7(gU_qgQQF2QuBZ5d!B9woq}~LlRNk@=Ex~`+kDD!-{Pg?l73MvsQ{{3P4!P z5E!!!%xvTJT$ezh65O>srXHHCgofY+96NRVnxJIk85$dj-uTcZkvj;|^OfPG+i;$Z zWs$X@|EO*6wXfb~`+}R+TD>_7tr++QlG<#PB+xQZSqqyohFI4LYsKgs1a59htN72w z+ra19u1rK<$MqNKl?IH*nD9QTZFyPk1}v%zGAcjIhv&|~F=AfpgbJWU(60?XQ9@)<&L&tRcys!SaDr}WFOVlQU2k=hocI z1yT~k5<^IF)=sDYB2?gW4{F8K>hQ=DRdDNuU|86CMi7Qbq$hdC%(s(SD${pjv;@cYBsz38eiy2`-|kx9#L<`yGO^hIdAj zeH$mJ2E_C$kJ=JeP_v)7!#m4>#yOPI^m=s#&~R%{CLJyqdH~B=SES+hwg^ucnpz6~ zgdAFjM+tUz9GflfN5Fqgv0&(bhsEMvhfJBVlFNA!SqW@wKXx+aq4nH?61#UpWt8HsY+qDDcVz#)+|b`BDxj6Wn9s?=_#UdRmQul(vQGw}{cvm8w%u2$z=hdf zeONDBNV2OQ&$6KbBb1@T z^9C5b)p*s)-3$=p@_lFWZs&e2`08plmh90?x6BLa?5#wFEv=E$+eq1}SW3>#?#yc& zP3vEJxEyv=6}^QML})?R7_0xKX=LE`mQM=k6xp`yJ&m9thL&2ItUU@wQ+_uu{NYTn zBNwg#Nrvak-^TDOpUz-|c0dtdQvPJ8pC-PDuDCz6QjIU|`b^sPUPPE(bf zV}=XBCQsEJh>ltEf!jJtt*U=rIxglNmh4U4>d`v#@yM*{0W7Z7 zW69juUfyWE+~!Hdq-q7!h5S31x?W5e3aF^(=~tLBJ0hvix+yPbd_%`;P(EeOV1-3V>B>TIU4zvTP?PFk*adqOrffV`qn4*VQ3`!9p} zA)JIgY{#1G;t__1AOXO_WV(PaG#G0S8QY@Iy|)xRN0NEe)t$0tUX%Oja_KLQP-UwuMGO^1elrh6eeH?WMQZ zT@Kk~o${WxI=Tb9*8cHS=}|@P325HEtHP1;p#r9>5dv?VK&$AEBR=)D(PlX#Y^4+T zNG&W@V^^TQu;0ZAO8qOIRt$OL`wr?GzWkY@5MSeQux`Aovdd_3h`uw8{4d+dqY(T4 zWj^I9vo8nx^e9+K{yMm>82iZ^@?^ILJVPHOlsz)?C%^&hPhfUm2zt7%ALtZzn~I!) zN&l7i;e14bo9B{ol^h(HPeRZ1aQ21&;{p!Aj5JN!`ZC{t%NhPKTX9DZBwMU@4OHWge!~5h z(nj?Lws~L&D+a#6t;KlT%6rAz7HU&n--r|bBVPc|Sy=$U#tQA#GJl&kMBQWG!2q|* zA@WyDCQO!miQql*Wj*X<`sYQT7JUD*HV;LD_(m# z5T1Mi^<*}JD(m=dEPbf!aZ=lv;ax+RS*cJmKvcE92kKqk{WM;S!Cg;&D6l22UtFgq ze!}0|)O)5z!O{LsFh8ifE7;{PuTL*_P3N5gaRi+j3EQr%$8x45?bIkuELs{cxQ9iA zSGz7{bqHa_cz9=`I#~#t>;&t3DP`)(d3*i1)Xw!Om+TWvZo&l_? z6H{6BrK6Gjw~Gp6+YSmnr)`ZuB4?v7ux$56Wt!rQu1G~(v9x&pIrMiNMlH`fFT~aD z+4K0pEpF4d2DdWHtzMZ|&{v56UI(h5VxWaYuzCN zW*9Farv6=I9osu7O#7eUH!%(i8817G$@K78UzZ75gGJV<^C1gIZyU7dpWPIY7-&2r zpuJ{!qmtDjsD&7VFO9rc_L*_DF(|0S)$}Tkd;Nh<2NBMLWkiJ(4O$>`K9SRNyEPWb zQ>8Sq0md$-*A6@){^&&gfx0;)A$TR9T*?qUG3Xfe)Z>!(l-Z)KLyOQMgBGM66`>1S z?KHRXO!399&tjC(W*En<^qjgN;#%ep{!zoT`WfX!>T~3c;<2N3iF`JKI@0`k&+mxK zUh!63rU@C54w>$n3xsW24EeZ~wMp}9%;YEXrTc4{%kXQs0{C?(DTntLAJnRP@YGg6 zA;1N#q80x#39u^^KcG#>eS*N_{q(bw${tq!6*%E`IE(BvU{_k-lQ#G34pJWrPF08J zl1qhpo{k)IuzV@kwk5c%;k~VJznqr#utP|+(Vds^dgJsc6O7rjnV1WWC#$yde4HbN z296!;^X>Q`*`WvBgES*Ah|S*O$!I{b1Ab9KzuUiftWX9pT^Inqu=G-@-ujI0i`49o zg8srnI{&UrVXLQnG0(0fSgn0HSibtZLogJfdcr>0OwI9D!OoOEj4{BO>GzD)8est#Qe8%0}s^4T2XY2HV9Qp41)A2(~V zw}PrB+Kc#EKLJg#F^B)Po3Mq7rS})Ze)c$f#BZcGu+LE_e}WpKzX{i2HbZWd)$-L2cv5=U2-J>mLGHJN8O37j zkrj2v>__ORciunstD^&sVs|Nh-A+a?-G1t8+Zp?~_^p+hR-D`)Huk%_Zt0WyjEr(M z%#!EtT3B<8VAva`h77xwjITi@R8*ZutMq-s)|ZFpE)=;!Uj5HLqO5(LR+ZFj0R|qL z`JbVyC+2P5$(OCG-}S1HPbUS%?WKHOXlE?Z*WhALDGN>KakbO#H=XjWv|i+AYz@Sx zUV8!2G)QbDid2PZ!yP`FUzk76OdFbbem1_so>wX)I{}uK@WP#bo9GRTbMjxbjOyHj zpVP==2X($&PU8jAxsU6wI~8l9Edw0?r|-V@?rmPc)7M>1uj1mL3CLZ1A2ROOb79mh z!pcrVZYa*J<(SkmoL&-``g~%jaYwcAhZ8)Z+uLoo=0dpNRbSvd*6Z@jOw7csA!skghulCHNUv)Z(zWL4Pc~@%mkSh#YpSs|#b!$&Q ze3kcnA^*GC{+AXPMU0^0#}q$(=eL#ZaMty)H0N2mc!FH`%f8shH{U8J=uNbH%1_)z zKSywVzP`qO&gh_MS*SCL62vm&UX1`(X6V1H^orvTI0kdTgRSCtHQ?30 zq5F*fJLO-c(sq%D@I8ov%n5mUkTA9QLH6y_!3N@*2R)za{FwG&jQ(@qt3Lp^L5aS`?lWw3D9QU$lC0)~6-L*QhtJtE^TSQt#dTQI*{WhTe z&yDV(n2k`)FTx|gW%llXC%PHx=bi~OFaDdW{?Gh(Raod;A~HHvkY^1Pu%{NsJXDa<_0Gva8ta7IRX*HrY(Xu6tJa~1?{-@Xq2ruLs{YFmoe zd#yL8p>;cXpZwtvo=5CnZ?;cE@}^o7-2ch1S}mR9`&CV{DP3gd6=Xx|+})A`gENy$ zCBg?Tk&X>6l55tJDcy?(LpF06f*)7eCy!-4%j~l{o_Oy4{EUWqrcD=Gcg?P-=$(l}Xk)YQB;XO%{o1!E6?$^HRM=&BHv&zSR{;Wc) zINS;;V8#o+yW!NUJaig&o|Satm+yIjzPNfVnR3lRJtZcy@xta7*=$LyNiH5?&MTw~Y@xXF*h^*|+M}Xefkz8uC5wSx4nf=GsUtA=I)*_LZTrb_J$K5G{t2j?Ni*Sv< z)6jcC!FJy!OdycxD!pxR_vmM(`=z*L?Cgb&AYw|Aao3iOBvJdV*_}scxM%7pW+To0 zc>OKV#ZRd=Mw4?h-^WVhgoJSKh+|ofc)QZf$i!gpKOP@9x0J*DGLyAFW__b7h=K23 z5c!SABG=!&iiwGtLV|fLM}UpKF!Z67+OI;g?it=b~@A1fH8i;pYPNrCKi3=pjs?f_?!qe(Az!8 z@YX>Yx^J|H4wB**H>@6=ozd#c{<1uNN^%dsHGOgL5Vhu)j5tf|$&)q|p^Vi<-%wn_qJIz&}O=#;a zU60#4Du{|T6!{X1aCtvtdd^@mARVcYyxf%Se;hL5p0`k)`8RweRP5~L;cjHq-o9yR0jSKTRx6kQE-2GJ@hwACnj`- z`m8AXADTU-$NZ-RY&X!|lyXL5q3=;UMD&F~D(=%W?s`_3L$r6|La zOJ~D1hwcB=U;C9x`LPN3dCdvG{ph3VFl{6}RKKDAhTCo#fA2Fv2q{>T$H0C6bHcxc%SX>5r?JAGNMSbkGTL62 ztB>p$$lq-{J^SKFct_T$ezUxzT{Rg)2HNQ@LW4j9_*Sv{;P|8Z5BWD`-`~32^%eX{ z`;fy2YVyg`3a{w;msAdiq2}7kPGhdzms`eUqumHY)z#GoHg(C<7qUa-XoF>wwK%21 zGhO9r*!!IfV=?|mLL%AM-J}n-IeA=y0+-IK1wTZ)%WhcCQHb@2N31RujIK5lua&ry zZnPQ3g?|*IZEv1lw<%Sn=(kxvifG5EdD?p&H7+Tln?TaJl4 zs>~we46l7$Qq|>Gy zCX9$lk5<}W+&eYSOgJa=$D$8vx5c;?E%HI(dD^AWoFAoPKTY;zHcc=Wyg1))|HwQ7?~E0Vp3-Ux->d%dG!ZeMW+ zC?>j%_0k3LH%loi46oExi;=+b&EEMNJ`#Vz^i1Msl&%S?5hK&cVP~CF`d;quzvglE zn)Z=Q?knvMmFvGg^i700NBw+S;_in>4LU72m)KPrT6r5r{*-H%&O5r?GSRtT#2~uw z;pJYaDbzYvKYOqh7b-G%KM{+$aMl+-;`qeGhv0bWZdTK~TfK)*!N-!#-~lF?u7D>6ab2ZZe$?Fgn)s28pHr z2`WJ68mR-As7|d6eV%GrCUPW;#bwbeMe$LS0AxM=qjgO1M>h0>Ky-kF^f zwMMM@L88ixSyFn4yXh_pa0a!##04neqwSNiQ~bz{aRSaezWsFegc!c^9^6 zdp7HRjE+&yo426V9NWHQhdStGhC3ri2GRlP;$Uh3k0Y$8__#4Up1g)8 z6$K#5w`vGBZ0Z!215(CVBvdRsl!oL8g#rK&0!c;)5Lmw=m#dfc1O5GuOEgDatfb}r ziT)Z3tbRD{6otHDmyx7|IhK-vtj_2s5Itd=PiH$h>r2?v$ zS+7`N5`{D|j->iUMn4S?BNf$?0R1{ANuJlLRrkrf%$e5>C}9HVowa0ScoQlaB9p)P z(Q_32nq`6aZCF7Wtrj7Qr!O^lEWAy{SmqR+yxD9wTTQh~GF0sk)r+M%yxdaGSYZup zi?bm|Q8FNfo`}SWH=@Sa<&N-qo-w{~BAuADX+GuU1BU=TgYq6^%sA(FM$SwM z8OzTsJw@a^@UwI-9xf5h+uu2*`h)ma0xoJ?vqM=83SQ+q^k1Zn}kmbxykKkbfnSWYAzYb*ZFsr6{APjL9 zQD3j~Lb&j+@h&~XkFSuKDI+9#0GVkHM zVYA=pHQto%>+9>EHQ?-LC2NiDax7HW+ECQmhd(jzalXlV!@ay)HNikM%HVCJL2(cW zRhl9nAYGLmaGmCv$Q6zhV6gRlgwE>wtDlALZ(;;kbaEI!o`A9Oy=-{X@#jrC542un z{Q^Yc#wz1@8I&9sV;k*rJLLvbYwg^Y!^d9!yST#tEhM`f;8xbdwd3X6V z@l(W40S}oc^Lddw`Yg~-ihi)=7p@1v2dBX1dEgj)9x%}XZEDy+;HyM0LXSS8g+6-c zB55RT{3VVtwS7(svU>t=V`gDmy<-!9bB!fSh2!6 z^(2kwFRnq(CX%muJZhSkQqSpx|c4#i&E}gi?VrIL3M5^D4Dv zPDHO0{x3*j#rSe+bx&{a>^bwCQ99xygoc%PB-tU7LgYW#@QKN%@)KhJCZ16~Kp0SQ zvr?}$hKGko#zxt1Ye_gU@$q^w`ucbGZe_HP(xahw^p{$-EtEg7?9Q1M=v#U~SUaSL zv5Mo|98Qih;g%Fc8Gqzx?$ZnL(e5NA|Y6}WSW!XscU@7}Ua|koELBBF( z1b8xV5#ViG?#U$oP8In?akI%%Gjf|uiB%n?^qC0}#`6loK{eYY3-LN}+7z8GnEr0u z-59+*4mcraZFnL;@h;IOr6)Mn<@|Tvedw`_c{pfRUJ#KTx9A4pU1(s!DrEpNiHOmu zi#myn?Ht(4f)9{hjv|Xb-0Hk&o(w3uWCG*FRH2Nd);XMFv>~BKqufE1XbgVYcoB$E zXOh|0S5rNtIJclKG1f=aVl|vZ6vilyH^XUhC^;+;9+WJ$j4eKqJ!Is@C+QX4s_t&R zeSM8aV{mA2ba<4U--*vOtV-&kGo1VgBuFGuhcRg>OW2!+QT@wgA#w<;HiqRT9?rM1 z>@N~4hBzm?JTuk?tTQZK#M0|<-e2vL{d{5`i1Ni!Gn2R+rpU}8T%_o(ld{gySI->l z%*h36a;T1x^^28Eo{5%2;{5I=I3MUcKbM)HuJdGb1Pp@U0dV$fwdyC_edRpfAY^Je z1`^a|(y=dSx0|da1b?nuGRHSu{K5I}h8?E4A67F_98)snmnH7W z(f)#DRE@j%sdJ_7_4qZad!N~(5KMTKiQ+zRA)gdlKkm5WckbA6{{s(%ZzlrxeNJJY zo}PvaFZdjfW{Yo!6a3b6KX0OTTx8?veVEuCo@8XxRy>YnM2xDpg=th=k!gekFD8GX z!Udf|q~I%Ud#nuKINJ&;&HkM1-3lgu|<_Fl4c0Bq_rgHwzXlbd2%A)ek!3wC2+UWJ!(820(}I7SV1O zsKgf&18`!q;=cE8L7(1<5N|HmkyDqw8#!{$b;q4TMV#1QAs()5I2K2-M2=J=v+d?t zB@%K58r_65ta8OF8Z(`dMF7g%g&16R5fL|2wYu|BhA=?~bg)rScSgYTAYA$4OmZKh z9F=vo1xCeZ3fCypU_zrnrIaS|BpIeRj;RC@