From 5c28d5f84a14fb34caa4742b3eb4c190d5e56168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eva=20M=C3=BCller?= Date: Wed, 25 Dec 2024 12:48:45 +0100 Subject: [PATCH] Add custom parameters to authorize and logout endpoint --- docs/configuration/README.md | 16 +++ docs/images/global-config.png | Bin 62652 -> 174932 bytes .../oic/OicQueryParameterConfiguration.java | 80 ++++++++++++ .../plugins/oic/OicSecurityRealm.java | 120 +++++++++++++++--- .../jenkinsci/plugins/oic/Messages.properties | 3 + .../config.jelly | 9 ++ .../config.properties | 2 + .../OicQueryParameterConfiguration/help.html | 3 + .../plugins/oic/OicSecurityRealm/config.jelly | 22 ++++ .../oic/OicSecurityRealm/config.properties | 6 + .../plugins/oic/ConfigurationAsCodeTest.java | 21 ++- .../OicQueryParameterConfigurationTest.java | 81 ++++++++++++ .../plugins/oic/OicSecurityRealmTest.java | 103 +++++++++++++++ .../org/jenkinsci/plugins/oic/PluginTest.java | 44 ++++++- .../org/jenkinsci/plugins/oic/TestRealm.java | 17 ++- .../plugins/oic/ConfigurationAsCode.yml | 10 ++ .../plugins/oic/ConfigurationAsCodeExport.yml | 10 ++ 17 files changed, 525 insertions(+), 22 deletions(-) create mode 100644 src/main/java/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration.java create mode 100644 src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/config.jelly create mode 100644 src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/config.properties create mode 100644 src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/help.html create mode 100644 src/test/java/org/jenkinsci/plugins/oic/OicQueryParameterConfigurationTest.java diff --git a/docs/configuration/README.md b/docs/configuration/README.md index 891dcf93..ad17db89 100644 --- a/docs/configuration/README.md +++ b/docs/configuration/README.md @@ -103,6 +103,16 @@ They are called claims in OpenID Connect terminology. | emailFieldName | jmes path | claim to use for populating user email | | groupsFieldName | jmes path | groups the user belongs to | +## Custom Query Parameters For Login and Logout Endpoints + +Optional list of key / value query parameter pairs which will be appended +when calling the login resp. the logout endpoint. + +| field | format | description | +|-----------------|--------|--------------------------------------------------------------------| +| queryParamName | string | Name of the query parameter. | +| queryParamValue | string | Value of the query parameter. If empty, only the key will be sent. | + ## JCasC configuration reference @@ -142,6 +152,12 @@ jenkins: rootURLFromRequest: sendScopesInTokenRequest: postLogoutRedirectUrl: + loginQueryParamNameValuePairs: + - queryParamName: + queryParamValue: + logoutQueryParamNameValuePairs: + - queryParamName: + queryParamValue: # Security allowTokenAccessWithoutOicSession: allowedTokenExpirationClockSkewSeconds: diff --git a/docs/images/global-config.png b/docs/images/global-config.png index 34fdb631a63f8e6f1be03a956e878db9539b32dc..31817540e032965e1ffa3ea01bd52d0927d0b9a7 100644 GIT binary patch literal 174932 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

~yeHKs4yI(nEQ?IiAp$#xK+00yfo)!dPWy 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 literal 62652 zcmd4(Wl&v9*98g#Az?#shv4oOAUFx`?k>UI9YSz-w`_vDyK8WF_u#&9_%=E3IeBh< zRrmMZMOCVLt+v@cyT=@Jtc1wPh$6t@!a+blAc%_zDL_EHL5F~VVgf*cOQMULzy(AQ z;zD1PTp^EI5!62HrJOzidf@BW(uCp|2gGxGXx%~ayCqgh zN?sY%6O*p?M(mXBCzAhd-#oMJ*v|Wr{!6>Hc9V+dn9H-F$R!sSR8>Sf(X5CH-ZRz4Jw@uXW^iIC|X3R&{qZFPQ9)sMBR8+w~K6{|90!U zBk`?17^9E>`POjk?5>_c2N@YUYiw`t+zwv1+Ib}Pk?mZK2M;!=JLasPP?RL*X3fXO z)ANXWMzx+#J$UQZJ^~qlfjXE3YH}&qj6O^K}!>yw7~ey#-#&TCTntfv*WfjCAh(e3`W-{J8L`t@3?$ zg?jqq_LQtl=HnO#W8Up#qR(iU8Dbr{3#86w<|814Rw-IXq@52X=y-DsY zk6Q;G0vk)q@T{SisjTN7A)Jhpv}#&P|M5jOiyN=v&DI;f+jT!AgGx0hUokqq)4QjP zkT)ezfBm522znP&Hs%n8ASx-V{T(qYJ3AM_hnFqFm%}05XM35^WhWE?j!2)v^{~z% zU=2Pr@$K(L(S5;r$p2}Bg@madBGkXz(_2T!nm~YRaJj*5YszKS&1A}O`Z2@v@x83) z*(wIOi=?1RX??e?E#^S|-8HCq=>KU1UqJ7~|NO(m@7r5783x*F5m8Zo#2~QiG&@6D zAO!brM)BQKQBu0Bq&jU?p4)z9Wn^T;jTq%TbO~Zg?F=^^pO|o-Jh=)Wfe(cJ)m1cV z98s_TQ0;|M_b$)ceIX|mcyhpbtOZ9j;oB`chh%TAS<_sd?+!WW#W4Bhux&C?zbyV} zJ!NWVvXQ2wNe0d8O_47Kgxl?=|iD!{3Ls+{*+$!2}^p0DUN8>R1K11P#UP*y>`k(Q;vV;kr9dGLZUBHDDi2!~k|CqnuChY0>8DD2-;8!(KN zfEva0ZO8SSCJvOJ%U@42Uu7vhg3S=^-}dl!2h?0#gG}&I^-Smf$eWiAu9nZYT*mQX zgcS;w&o=K7JxUM|5<5G#L-;6IP%k3?dgW?7At?m9@ z0BYZ8F`&xFkY9>GQ==7C`Ipa9CsT29G;(_-^3dj7|?E3iT>~uUrb&@+`u_;M9mU4oHqm4o664#5pEaG7@nbSQ zb;@ta*kwuo<18gAP!3^~@yN0z-$J7zBO;?16?iI(qsz6EyhUs>H$$9Ru_@x?KC5KU z9V)?bhLEBoJn$k~1m!M`1bic5xI{_I*7j)LR=k%CSjSY+o%kd-Z^kY~MJc6_Q%uLG ztYDx*B5c;aq<_qniT93Td__+sldVuC(=(K-*^+vPOo7m>m=QDIk6GTQd}D#sZ~0>` zifYnK`9%KJ)kW*aN6@Me`}~CyBpuAFKP{s|U82jHI$E+4ghhbI8W{!TNP?*S?6Dc_ zp?${Dyr@WrnYC7uF=vh=H4+JnUYpThgQn=fK}djNP}nPQnzwW>i=LcmBZvKM`nVi=tw>oa?0x;{j#08V#PO0tZ!!GgO354r|U08bkXzg z^hcE_oH=w-Vu@#xXNT>u@-{BUA+9Mbdhlmpa`0y5{c5#ef#3#3Dn^7ZFHu@nr8J#nFP-*Ab>?}zttu8-Q{BcCx&3W9En0E71Jt|2cHa?i6{nm~ozw&E4OF+I&BK*X z-t<5Di_xJDe5DEYw7H5s;^<(FEy`W|9W z$d>%TLo8xnap~CTY2I}!l*-@lk5j_9s1X(YV|$+Z;MV$*=_bkVv)7SZ980&P|L;{n z?x==X)wIk{g%sKuevDf0UUvZ92dL_hd}fM^jU~oq*S*J;Pg?B*z^4&b)bt#uC z)FaC8s`q`}+>d>?F)XK^@8Ne?*k~q4<{R3gf z;E_PriM4eHh3efxI+~v-=@!aYr4#z3cH%7wiG_;H(;^GINQ5EN?%ARuoC$a>IpR1` zeld{}XBCg_9UNAju(OTDbD-DYb6Gm)lCg#Q2Oe9Eajn#5l2{iR`2ylARbF*z1G%XUjmft2CcIh>6hI%6 z{eiv44B2?(VyA#a_mg*F9LFaGEQ-7VL3o8`e88p}rt3qtwK^c)A6(psoGj1dg>Boy zd3JNdbGy!KanV+!C&z;w7S(HLSb6KpGun*uc;gD++tAoDEz3H3T*==cS!t&t+iM60 zm(Rir9HDRfw(NRlMGxot)*hy0`}()$_(z_u9bT%pHIFa)+xalm$G2o)c&JLbxND+| zK2sH^p%JG|?U@gF(r@2C`^b41n?j}=n;KKM#E(#`U(mbK9qJqGnR%WN;GpeFNj|QGZPvan+^^)lALW z^(GO0;Aic6n~8n<%dbF zr~@8XpD*sfs>%&mqt>le2W;FM-#_Yx^9Ey{(8 z+|m}0p`k6DQ2^-MbCN)7B-loKjIwI-3a|K4ACoCqu#j}@JL|)|g1rhBz%W%NRQcnO zu4nG{$#oPF>*(8X{afILN3Ikw;~@yMo20S()%GqqPG+l; z!-JsLV5=n7;FB>c*x%dj{6f6Ba7i3|9zJf>Y*MdF`&h(P1@OEjbkfjJ7!+4?%&BhV zxKl1QcQ%$C2$;auCG6L7Hnl%Dlp7pf%xaJR z)zZo@MDugbxM}SIiRI+VMrB@m8I!QGNizfS=WH%XVPRF80zVU(OR1u^Z+;!?L=@DV z21PW9XcM-{#rvEKiC>ASimX0iP(lexUW8{>Kv3dJw)FQAr+2j zLV(C$f2!c=6Ul7GMvKlp76cuJN}!7Ew1o(DAWWl zfmnoly?q??Y=LURY<*j-m{AETmZh%Yyxn6Vz~x&FE#xR&)YT7nPajSrBSh}p)b*cD zInq;I1OzJeo&}Met~nK^xY7oT6$V4BK9|fSIX0rg3IjVKW!Vy*vRVpiWX7l|{gHvw zN!0hK10+=2?}=FrmyIwFTOu7Hq<=8bN`LYlqP;1$WCLwujndK6t;d#B4X6z}`BI`T z@V*%U;B=uM46|AnHmS|B4;R5^bz{&ajUtDp@W3tjvXo!TZG9HVF~X&u#g;~kGfh#Q z_hLukn>t#`mJy#xJz_dw_un_JlM&&eE;_&O!$ zz#)|FX~i!Jyl!}-+cql{$35D7g%o&T$Ao}ZdFPAMi?&CAw6hu|vLmI6GH4QyTE>9)57iUgne$1TDS~B;E0_h_kR3?Og zdirFN3I5x~L!8lJO^Ml1^c*9bri?3@`9qoBDyAY^RAhgE1o0OJ2E2Y(UY#6qlNQQ@ z_f+Iq3KF#y2t(y6-s9N!+}0 zV%xCXJ@6I|wUo*7UOD2YruLfgCi;WGI!xeXs1#Y6qvB@#XfpjdmZ`I`odmB@71!m3 zCny)UG}|vMFoNSKvkA&NoF{S{k1%h1n4_03YZeIq>L%-vluXU85_Cq5ziMH3LA(T8 z#Gq2f%Kfa>?zcG*z#hVC($1Ka_SI^SY|-D-)IbhymG5W*P(c5NY(dBSC3bZ`bm>fA z(hBun!J;g6KGGP+O?DAudW+Af+uIn$#%3mbNlYBfzsq9o&0mJ%CNoheH}$I8L9_QV&HVP(s$|R zh`tK}YRZPH%=WCd%7BbsSnAw(1&Ih5LJ)|3noQN*V3{4JbRzb>A3sdkojUssK1njx zG^abMQen+`v_*#>70qvF3iOiCx!ORl;5I7cwDN2dT;zw@bMxg>UQ@RDYy2Yhj7v*-L1D;9hP`Uy zO=0lo9Tg%u+n%LJ%n%@E|3KaPRy(psRq1{>om)#rE*pJI5^h2%mr1(XOv}M)Qo+g{ z9cni4r{G5^=yy**oHD5s-)LI0!jA+=9#wB^C{sH8k^A!ajcib&JWyE{)4a*h;(je$ z07JwzQPTJ_m$L~}-PaZOFfaCb8%;DPrgA-y_%wB=SfVjqQ>2A{D;42Oz;6hwOH!#H zsO;IFQ{YA-;;&R&P&OYgnw;D2C0!t<{5IA1u(uK?d7xwESeIByCaGn2*vJp41?2uA zD~AF)!Z*$G3Tu`QlN)N9Sg+p>!q+Pwv86k@E(l>ezlRBO|8S!`oxeIBHsI)fQt8-I zp_C!vbfM18(zc)NT^yhpk?zGVp`u_P#~gpx8BK*jZ6SiE?PbP{b?t~RTmBrs5HCg| z;S;qOb@L8wF55fp&ea@0V|cUrbZDjsy>nd1@aUt>tRQ!mTa)Qw-7)tEyy_wXyTUfI z1c~0;QJ&_T=-fFpDdmvKBMW<6q~m3;uNpRasg%kV7~(Lbkz4pUu^dM=jyYQBMXXaJ zFVL3#9#fO#2b>EDYU8Q+vI*ZK+yKzjJK+uR_GK>x?Mtyuvd9Kqmnac&2uZXF)bC=x zTmt)aWDoeZ2LoE)L?G0~PhwCwtwF7$NjT{b+SXrh`~S*2*7j=q9K2#0D-pgEyGk7Q zlztKn8<3Y0kzno^q7T2I*@XI&Lf#@T11qyko&yFNOuMMHK^v#nHGk|u>!S8jEG;Lo zu*3J)$Bw%`im#{`j8B#8dJj^?;5=yDi4Zxu_W15+jv*}acyg5;3W$rJC7;u5n)w+- z>x3(=i*?hBYnMg~;+T=37V&^NX23-wqQEZ`!x5mGLEn||#23~Qbv~`3CgV81z9osx z7VucI7#A&Q?_Pr>tsKYmL8&#B8 zbq)pm$GXB)QQjbr$C@}oBiT!?%%v%e#hv!+wuuJhE~x}p_zgsc<^Poz75xAy4@*Ul zVihU^c6>dC_d&}%AspWA{(e%?5lY!@6Nj^gP3rtyEX*OV zmM2}h)mcVUPHU+@)h8Oec;NiR8EZs^2la|8tUvkUkjhqa3-J2T!+MWn!!3cW^|Hcp2D7f zE85y7_gchX@CXOy_s(A4He}RvUCPL&b#`=JH1@NW&sVU@!)} zMV7s+jH?^z?+A3Ivde5H$1(r`Lr(o%QSsKPmR7S&L{bG*rKdbgI(!cgI>=o+_p^B` zRYDe09WyI4vy;w&ni6Rdu%U3pi_)p#HQBJ&WD~Ol%RLou7H4O9lht(ah{+T_6f1NI z)bb;wonO~Z&rR1mBK?#$8Yxv49w5@{Sy9$?Aj79h#S#∼N-75}+Fb405P#i#qt z!%e3OK}yZFqSZ_wkrBGBre#4XHNC|U%5TNW3QY>SYBFy(B!D*wgqX7GQze%HhnyWe z=ABnsJe2uvRGApgX&;$UAX%VT=NooLnAHfSw*ifkO!ExudM{Cv^dK>{mGJ;Swr+MF+j3)b9ofnnc0D%RW?{m zjb)S)DIi_w3MYhCUiGdcy3W*c-XKlH&mFHgrO3Pr-Ns4NTl3P?auHDOi~R2O3r#E% zDi9W$Bt}U9qezKnhINZcF)XL*{%T<}Ub@ibMuJMXvW{-406s<}7;bQhTNoc-r9V2# z!>(EiIC(N>L3xGCz-V(!7NuF@EK78^tLNlqMBeO}+oOhI&N0eBLxenlu4K;cMDZa% z9jo|2=H_?0vu0NJmeCqVx|$#y8bCZoNd%*a)toKitt0W7c%4`6aZc@ALW4=%X;tPu z-xhhBV4mw>CbEUJG*CpceCSh`-m+#IwfL@fD6&i;9P~vMTCx^ygRT5B@)(o-K7}Tm~*2_>O9Fs?W$5S>$Af zYyh1GV8_H1*AqF9mvU=TWXZzZU(Jw@=rA>L(KU#HyaB$^$q*s#N{()xTTJrgE&EX+ z^~oaiI%5N%1__OvjW4QsL`rq!l!vJ-Dp2bU5{3TuPuM4nk}SznIVy0rZycmm_Hm{O zDY?&m0RJcJW?sWqW+?^pl7NaSe0B*vMDPUb zbY^@T-U z8W`F+2R-3LRdQ4Hom2!JVTSb^*r7|FP$F)fr=N4M2WC&ml8~N;M^!h4CVkwp&v2pR zW`h4OMWz-2orfiR?)vy;Vamsm_eBi|*UR_0GRmfxOLo{aJ*02do%Vh&%8UHdCmW1O zn56%bqrOI>dVRty-B(L{_ZIu>g!Y#e^Bf=eaAo_VkUvO=Rt8mKhZ6VnB^iWdou7Y= z59#kq-lQ6RHhd##=iJ74y{?0IZr{+&VUWxm^Yv0Up&pKKzT#-!xAS%Gkgqw%4jMA1 zpRS?(Tj2a+md?vr-!+n`sAxa<*VorKkK}CP>FLSC&Icy#BO>h;?b9>V5&?Cozoy&0O5(&kfc2lmR*ma8Mx&Lmk>HaL8T{&oRQqJcMS1tURJRAgk8?$i$G zUoAjY$dcMfd}XhKrT~BMmK{Mou|LOg{A1_dC7J*YecEl|F(MGc_@9yflQqwT-bI!T zQE3QiRAX81=}R-PT&M1n*&^RY<0kI6vOI9!c)LWDffzOA5sPzr}u? z@CiE9C914?U*Fa__$Rf~v-{b|((EoilAnC^E4r`tt4;oIbI?gbg`vm}P0BOj{hQey)bm8JsUiT>SpxkM0~X4F&yAO4P_ zh!|Wn1JB0sSJgoG7A$L!{DQIw0rl^DDhS}BV&j5N`F{uTS&#bFKK~yznGZFt@83m& zB(m*CalK@DT9({{8H3^Rr3Da6*y~Oh4}8j6Y&j>sFt*(3-8xSzL~{DiR^U4MD8ap3 z{Ld+uJ&d~aYtQ}$KW||hv56f=KR9~$y_os@ys)WLu}I+LS=}7Y6y#xscQ{#YELJU# zjEFFD>e#ys5C94QJDBJWQUAeR|7@D|Y7*qI{;cQKLYT|SzL)dsB%c>hM{(QbGZL~u zTJDXHRk7#N)?|~TMck7 z&Kqjv<@Dv#W4?>eZAQ6Q{SMYuf7atv+p*^MVYv_LQ^bS8T=|--oER(qdk=-pY3ohqgsCU^A9l-mTX3=P6`b;a`yFf+T0o0i%Cp(2 zMV<}Tp{DmLKi>T9S!)p`LF;2@ZLP%x$lGgZ)6SR$s*be>XfglXo^4Hg+v`=c?VOMEvLQ|Fqvw9n64t%UK-^fXqc;lsFmWb0pPv#=j~nrP*#2z6gdN^% z(A(RK9SF`(j;<8XRasbo>V9@|y7Y#lZmbF}fflN+^~alRmNtA%MHF-B3m7l!lJ!oS*m%~u^-EdJnYZ_8? zKl(0cib{@wOtYhhR z?s28gmB;$7_t4_vJRNVA?(cE`ka-I&$?3W`L>@QH=<7n<`BFA+I?O~ zxY87QJsee~g^C3QN0IU2n5R1_3@fpL1#`|hK#Sl=5+Sh}@oHHu6z` z^ENDIJFX&O8^AaOdapKs9}_TpSgkn5SVy?#vH)nr)boR?Yg<@Zq)d9z%&cPm4T?XL zd`w%LMsMh3LHpeD_y&9cj#e3;nyxAxC~LWTuKH!i7-LEMzQe&WiC95lyMD3PiI*Id zL7xq(4rs;L?L_ITKI|ZDL*?}-yB&tbUm_C_jNnF)vWk-D94LUl)W`aJ*0Dfwa`L2) zjg4(>xq0FZJ#^M*cHK4hKdfT6U2QC~sUb3&&_|vlM@3;)YjomGIm1%Uf(1(;@G8ztBTMpzz*?)PCq_^*Rn&ss&=EzobU528DI4f2O^I4uNzQ6g z0=lTF`q<~iMPqQzLRM;BIOvEWhekdp)QJ7f!@pU|n&F#BgWZ=2ZW`+`nAE>TXc)_1-w5Av76z~hym4D%}vBN09k1m%7nyn$#}ac*u<|h#_A6nI%3p-@j}1l zI3@_ybG8Oi<3-3XIC%%AmcOQ~2%8UvHYWC%m$Dq;uCqid1j6+Q^i7$#xbIVa*_RTD zKz|DZ~jr=2-_=Ym^`xTv-1o*z2a?ue%Q^x@eW?AXOiA>sL zsMsVN3{RtV0`KvXn-U~IZwUXcC_U-fNIv`N<8vXFcg-oIuFw4C=uAs`y2os3;Y{Tr zr`H}O2#=3DrrxequI>5cN!r9p6hzk*&Dk@>d$a7Y(G|e|a>*|WI9_e#F7|tm#Xv^^ zmoOs%0`1SKW!T&Mg|{KXYtsAtSrv+|x=0!A=css=|ob7ZRc(grL2Gx5F=d_n+5`h5(iH6A<+}5HHbjbRu77gV zekiA9m1Q^~cX5zf^4fT>yMFFk-U?czRjdO`6Epg^c%N^#B!4r_DUqRfip2ycuzm>| zArR1~z%hX1bPt*@Y%1tKfggY?fSnOUFTiljN@xzv_SW?4JQ&gH_(otlZ}J}y^+>2n-+`ttDkX*JvDQFBL^$MdxF<@)g8 z<@VTkz-x^z_T^aDn#p;dG0O9?q|WxsNZ$J~e7E~etags;Ugwbe#>PgdFXj~VE88{P zTBC|yyX4{vh1CbcXoX%9s)Z$H3$@jL=n|~=MNe(GL%t#?+=s%2IiOVDU1WSrbR`_g zUO;YK|jxJO3BzTzYavK8X}ld<{(6Y2v$BSzhHwI4m5kEQFD@|~|_3?6IdWF;*R zZJn>WyKFx$ovN~DuH@et46X53H()JQ?n{BAs980{(kf`M&cp+c+$2r)3{{nB{9lha zk%Iywh%Ar&7K__h%8oYd+jCKZ`TM&dCt3Nhv{FfK*iGt)P0XY5$UwOFDn3Ps1U1cX z9fAMhqbyio&b(tjv@{iwe1f4&!8$R}7elz`AC;1D%9be%$zNG12{iNF4SNQ$?%R8+9Af<0EDHv<-s|iT{ z*GC7a7~`oxzQS+4=uYAP0H5CeEBxk497p{- z3b@yzw|?*p{}Zu@LabWVJJJDj6NEd=Ygg|O_Z^$K*TgFR=tnEMUTf&Tfjgli_dQ-} zuZka`chUqaQk!$FQ5XND5lX23&+?D!ci$*&-x3RnpU^JS-R&x-ec}^Z4bOUyBD?yt z8I%e8^*V3>F_TN1K{yyRA4yox#RH51po&o?)G3tH5}{mZI3FKN%ycmUbL4)OPtn>8 z9>9M1KDzo%D{e+(+K|(B9+OBSbyNjQDn4T^bE@J=-2)PZji|X$-u|t&s2(us&fYg;zle(lsDb2L7A0> z?lPu|Pg07zh@2Q8cn)UeN<7_k-XsR?CeOQzT8lYk0hbl0xo#x>$8kX<`ZDSQHbN*` z>{~czD?ZZqM&LzB4){z*@B-e;l-_sdcOc5Pd}TgjEK>hbH$Q8eGn?n~vcdKRjZ)>^ zGuP@GrlH(`U`n^^1=XU3x<|^JBPTPDMas6l?$N$b+$1U8B{PN45L?@V@||DRFpvFQ zhid2FF$lz|!z<=yZ43H{xTeaCRvH%QIp$|jrcJ`~qq|Xlm}l8A=nU64PhM@(<^lWg z*`x+Jh*2tPIN~X0JdF?%k#)4Z79A#Se@ClN8!C*DXDK|boM#beN@fW(0?yH+`o}W3 zKXGxnzdYSY<|_D)Umwmf>b7};p?yE0PkQ})+HE8ZC z``mlv6AbrzTRopLzC0hl@YOA)b-&8Jp@W z{iadljC5MT;P;Msh9n+(MTPdxEx$)?-1$~rlc=la zXmzWQUz`30e1ex|0=iHrs3+%CihHO`SL$5~e$W}z8yMwlQj)F1BMv&jh+Bm97BbOL zN@W6%;-|=RX%(Gu@Cb4gWVFKFtweE~cu@Sa#nj|fRLiBKCF21|8J4E|pmBL{zFO6S zjuD`Fb4)Ov&KYCN!ZqD6)q(919y6?fHO7zxg=WEGv+)beYCH7FS(W}FEHvY%axwfT?_xD?}&t_{N`itv1 z{*dQBuk-w;lV?>={(I{Ia6tI_^4X`h7J!Q6MGgM3^IIWu@|3j~KvEGa&Hk{#n;}-r z?#f^fK)I#46~En}keh~vyBT|jvLQ$zFY_4;b=jro6&#k)gaO?Z-)QCL7ky?M#?;DD zLnTtj@)FPl#7eBJ!H|~5aBTnJdqubBEt$^j0J~k0%C8EXb=IArFFssl$B16i~hvk%tq;4ubl>(lS46iY-rE?&s97_HB1h(oeh4M4?rgZtn z(Hh-A>Z^PiRV-JT)Z=WLx|jb$`D4F%J#LQc*V??Fn$+kbWfo@3b$yN(YwOp%xtkI3 z)}Vc**2`Ni1`8GQBMJGR4~ol0eopKl@=Vp1G@CUxJEOfpR0iJ{VyLfd#nkGY)EdKV z{bP#{N5%Puhq5e>`<vy_zlYv;&G)j zCv0x$Af10q4$<~+f-~rDF)gjRk}Ut9Kg#y*C>VO-l4z)75hnmKMX~Yjp-m6zLNSQ~ zI?bdxS$b!k=a8J_PDp>9>Mqw8yD9A+nDC;hm$VFk=2sR38$qU!>&&Py!B`xely)_IGSWtnzPkn zvssZv+)1w0Qr+pi(~pgukI5}TU9CZN$JO*b@?#Sj+_-^N+IF~gYf!q?9=?X)+kBVo z49rTkE4TEX_x0)`wEH2u(_U@NJ)h?<5~de2-4OY=X;f@j8;qRg7F+B7<|dcr1Jfd$ zAJR4S#Pf~;-#>?x-xlImm|)MvnAG9x-!O&8Q{B|h%KY>K_!6n7b=U?Xijq1)!%kA# zeeY0<>9h8?)e%4dnsN*yqirxkQh&}ABS}g_9?>AQ#HEs(PKIe`WaW`jJ2b0iN9M0sG+3k|Ei%t=bX=|G&YLcyZ;ETjd72|3 zT|2M!#Y(*6giNW_-anmnq+yubrG|`NpNYCSlI0Pusd=#}-8)i)tOtM&FR&qojs}R` zjV6hGA0phn@hf<#!ccUOIuICJG4^U|t)cjiuz6}5LB=y__j zMsm0Ja(O|5r-^zlL<2`ozfuPrYzha2uFaZa#Lr+jz;0a^`k$vr!$*w+>|U&@bx)yv z^K%hz*l=X_e~4Emq@-7@D}-9%%ABtOy)xnK;I3(FP@DYo&yrRJ>o=rm?xUO@$xi6*0#+xL(v!f}MQ;#Sy-X06RKMvIvbx@#~B13-?3 zGg)Gyr#<%s#tH#8$cT{>SZ|bM;i7?!FW8jS(zW7#a`XIp-m~LWhh~|Nzx4+Tb06WI z2^V>DJb)=xghdsDn%vj+coVHbAV=|3S!Kmv-~dp~_DARVCLXaEN-mH>cnmd>6MhNz zZU24a-iO4=*_~xfV#Wz{HC$frp3wXsTfb4lGSD`^c6uAOszj2WPH3~Clp-Q<3OZ8t z$ibwATdHWY6e5xe+egq05-~{NU4v3TaHo@6UH}U!s_Kf=LW5usd8gcIK&+n)6Otmp`^iEgb5!~c6|_yWdfMx5B<38NoRwQ zm=v|+CEnJyds+uhh72+4=*C6uZJ#krp&U%WjNPqel|^ul(ht<&$C?*QRPc3IV+Li7 z*dxLOl>}wgx&qE0DdyBZ;H-UH848@}9_9NaNKHk?K$qxdrE>ChdTs6)6Qig~02!c9 zg$p~z<0n}7KDyfD8ycj3{>T^FJQ?gf*gJR4NHx4pQ&x`gJrVm*Y4xlcaVHV{sTpGv zua?3QkBbh-_n&$LvY~cx3Uoxog&yoWi(lCaGGb zBte#5-lMpSX3Tg_QVQJ5mPJ~lkzZVY&F%?H`F{};7#NRU>7^M2)0m0r@<8x?@`DYM z1{aURoP*Qt9g~svCYtDm7&e$S)6W7Xr9Bb}*{jpob2M7s2NMN@`N@2wYG=N??Ku92 zYW^WE&Ih2HVlk!1hf;4LBv$8f+@G0U6E$vnj^ztSiD{#tbY3qhNp4=n88l^M78!}f ztky##J2nK*%iWQbcSB!U{KuC&%w+4W0P=94B!(kXGi-F_3?sDjRE*WcL_X_PG|?Id zu>uo^&3`yQ#xy?5b)h2s|NYEMTtjDb9v6|>We z-c91tE;EiyO}n$8sl2X^bA}tbb|bSnmM4kRv144#cq%0hT^kox>rLH2<1 zeDRTanAVS6k#arz0uS6C_qsgF;#X`M=_#`^9%y+Ze)!-U!5Yao9gkpi5BxRfIS*gt z&eOW4?8f7A~*hHOT{EPE}pw^0HcGb;QVcOaeR30&KT9Dk*R9rh;KAvfYHOw zyYA5p%Xp#ua+-78VGPW3GhSizM08f3!{|BOxJ#OgK?<+1Mq?K&vtI1;c2k)FN|jwuokDH8JX3S``EKSurj38I42;j0gh~qm&r! zWOH}9906&3n}t@x0#J|lKMcr_Uv!cAp~-u0-m7uJPQ9~}=F?2f!I@&!eC=auN8{7k zk7#UUM){+Oc}Tsuh6z8jH!3X1a;#Y@2eh>a)Qm(3=B*#()C3!N)b!OMxtaYGb8%A= zy!4zVMFu|-2BtfjEfD1RQuf4+?KRtN^%+|W0;J!kZzmoUgDFQr4qBeKc*ppAl>nP)gSz!~%oY2^Q? z;;=nAcT)YE8~&O;>G`p|HwVxv^-@kz=)gdkTswWo0Oc4Jeb{s;+R#?}{uRQ5$u=}j&Ovd-=pXApo zaCa#D-jf@K#kjk-XER@+Z;t>nO-;`y;*Q8z7E36r*wM?XnT<)t-&C@$DDzVv}i@}eKN#4%nJP7E|{*peLD5=+3*m1JpES- z&=ufu+Uf$1fIWbl6TZIJ(b&=V-7>_z6cejf6aTllUBSGvRQ}i-2N@pAZ*s|* zd_U@bL?#Jtq(L#zmoil1n^zV#&RBLwCZ@&})Kyojh5sz*K9f2i4lv_Dh9W@?C5t=g za!i&iA{8g;lHPZ?4eBCMW&0s_Moi!#C=vkGmS zzF4k$Pruw{8VoxHPaGR+=ijw@qJxBHG&6CPR`RWjr&a4-d)neqavS|0zMDjz=HU1Q z;g?cC+-`EdjYVShrw!cD$;{P2L3$nG1imfi`QPIcUO}jwi4AHbl=AT@y>@*oNwz`G z^Sn?J#3>a{_i479Tt|@LJrxFP=^0#ddq{c6{m%RLIKQ0?Yj1aVdzS(&?Vh^t-&1CHBDggx#!7120iw$-^g-CEd zd=Lbj-#vnV!aeE82Dysm1sAMoy&?w|${q+2Z{CjdPVM>@T3Bd#oHgBFVo8cDeG(SO^*Hpb$_M*?5o{ItiR1(A z<|5f+x)3LYd5R!VQy&9_#k#elSrr=aB1_I zeerDhoL^1Ie8e-5OA;D?-=x4iAa&S4KpZ21W4%yMiJXm7xTuyy+=ZMsikiwWlXa zH0)(BE!#Q-Q8%;Aq!K?Cd?Q#dz#3aS#yZ27i zv@EE8mi$HS!WwJv_D!@t#7>`U1 z`y?WL&w&^LzrPP9D8Mu~c@)Dfc!>WBaX2B9>oo0i#@7dl&o;x_H91GWQT|h-LI`@@ zteG4NcH|HH{ijB;AB5CWX{6md#{Y)vOHKlAHRQ9v$G;sNyz=Qz;U8UL|8|7(%BMr4 zrh@(X{{&JhFt2>NVS1J}K1HyOaRTOl9ZE}YCHycFqssI9zvHlgMl_0(Vku-r$82#E7< z>tK}}@_ISqr~e(-%>TP`MGgF4p4^U12Q~fIECh1H6rgAGobYA%|Hs)|0M*e%+rkG6 z8X!n;3GVJ52<}esAi>=wNPyrF+#z^y2<{Nv-QC^Y-w^q}d++<-{cqi>Q&gQ{PESvF z&+fg}UVD$rYFtUIm8W2t{JpPc2r}2!%euzar;29z8+MI?%3fT2E1Qq>Qan&acM=+3 zW>Ogt+QeX$zthf@(CThz)LacSvndb39^6+ZkCiqGk9(-l53ziDbzq><{PNDJ$*&sh zr(nG<=H`5@oob0T9u7`le&7G6>O~FG8%P*EzmnmN4`+Q0FKNENs|GX_DOa9e$g?z! zPi7h$bNF$S4|64gX-xF@eTyACxlpomAAX_rz*j+E9uAuT+Yjetk((D!GM=-gj9CVQ zk={#1xa?T}N>HQPGG$UVZHS$PB}<7aw-Ju~?-HR2XbJb+yie90Kx#g#JgU0?{CFMZ zIa~cH*!|%`Hlx`_=ia2b{t104yh+1$`t%++ndd%~p8osByA`P5TzdkJH_E$GDElpo zv1>y4T(t{dLwH68Grz>PBKu^(L}4gn6~vGP-MS6D#2b`Dd!w1fWt>m_vCRnP&8!8d zL8;pggG|gsQZGEyxav6nu->7yAEqxPO6B5rRT)H6&X;qvpP6dAcGIPd_9#jQ=8YY~ zOS37pw2H!rCrz_BPH`6u1ESGxiX3gU!o~e^w_U;y^RXx?J9y|k z3DF`{C-Wf|8W(j5TPX6?_mtMpi?U7W+lGK$+H#?e^>whc+1;0yIGS`*6>-ZXe}YWj zP`_3qz)ZeKe5`NU*lNc1Fgl9kFL7NRc{=qhedN6WWD{vjRHFMb{DSsrGyCaMybli#Mg{GN zc6|aI@^990Bga#BcRZUEF%CIw=b1+kP94YN8>0g)wv|%aO^mm*nTyFjB0>}kd@y^O zsr&qW%)MLCEO8KM)_#|9??X9r2y$3@z+7+)YjrAzvaAd3izKL|>u0nj@*Q&vl zKiRjH69+G^u2?W$sAJdrz>Gk=WL0S>Y|PEg-HK;3&nqh()aA%X!OttpFiR|i#dEY@5XtT-VHTKVza&+$PC0j@ee^ebvP_X6Xn$H0Bg^Rc5nhYM(2DG_Ek`o(nv`D591o5jk3WYq1Eq~IqyiW5Mz>Uj`W*a<$Uu+ z-?lRHrR@q4Y~Z>nowHx?JA?R2U7O13;vOPA9DG5@Z23TU8Ceb<1E+|@AHJ-5l`2?{ zFP%|EdX-HFi!02;=itZvlI`?f1yYVnSn81c6!}bS96R|#{XLz3W@cu8;oSE2w(SYj z{x4NFAkXLI;ZKv$Q*@rrpJ-#Ng*$h>sR^`)*3PCj)`Xg_;2!lJ zsN3RRuk@|v9z>>$unc@vU4r14F<2QGB!pm&%u0a?Yr*gWPlUj@~in|5(QLMoHPyc{yE{=}^$ z`_NDk+Wgm3y}teWSCHT#0$BnXru|7D=Y3E z9{2=+!b)ussp$f3aEN#Ds`EG-X{xx@)|u1HCdA*_y&`@B&Qfod4jcCeo<|k6f`W2v z*))iExO8Y3C*+6Cn`h;P@w5rA0-e!T?N6a9K6;#d@sRz1`ngtd+~$QtbaaYHlXaLk zwd%r%Gq?BVLIIBI2%@M^xy{5Bl}ud5c*}`FFQCJ)Wn@y;lGN>hh3P05rd{mwTlPWm znL>_wo6js`>ig29ZmBEhSnefPIJ4y3EDx72(ccYH1qMvQc8ODGTl~hAhn_t=EqLSP z==Hh|!l(875+~0)e@QbNbK0;H4Ic~l>n3*kktBjz&sUc89H;FF)zOxQTcZq86d6i} zMIy8@oV3FE_Ufu@ttqc%_{5bfFFJhV7j;&R=gY?=;7EHPTtBU>02rfCG4yNUS8UU1 zBUs;`@eTdmL8VG0a6QyX=d_!N3tCbvLEYe5S~KhZ2V|VV)CKB&{h{dGb8;*}fzgH{ zlixXsWQ~Da4Wo=1*DmkE&1n1lnM$9s;3jBKD!ntdk$XBpR7yRo#3-#rV_$^M#4NZH zd>3%YL6CrxqUH!0#3s3T{9-~UvhjYi-sOJ2frpQte9I|S(gpZ3uZgg>b#hZ%%c)_2 zl-!I-^{kJww*C-oK$ijW9USmAjfPSmo+T>qK~vgp7FUN0S<{mIwOI2anQR zS48i2xpmGP>>Oyr0*@N^YLAZI!TblE(y`Uksr*FxQz_oe85WH)0|EOt1mv2nR5v=! z8U|EG96L(x0s)H9W7CqN~-W`ob+`F?4nf&&_pLW{eF_xaTw{ooL z4lif`A8tF;&cC*Up&tmN=Qd5#efVf;Su8-7VObOTv0N*JV4W+x$IAKsWo@r5zPPyZ_gASW*Jcb~PG33nJv- zD-^OkJHxX9pZWjZfmaJHDQI;kcGa)*-+_n`0lFc9BY*rWB^mVm^O|g+w+jjl!yNx~ zqjdDyO*bKidjx^~?MQVr&|8fl4D4TJihdne!3MfPZSk&^;O|KS%TGo}hiyq*M{O&f z7W;M~nW#>DS;B})MEx1kNc0iax|JQh66@_^Q>J_G-%7W71P!Rmv6pHz+s9mJ7(8J2 zX(KO^HM~q3{F1Ba&iZ3&`a{_$8&N$~b|@MXqE-ZiSX;#G@|rJhYd%EBkON6`GsqIA z^V;pPWov`)s&6ZxPiN`sljWyEa8J48_A6Bk3)m#AI)(rzHD24^Qas80dp+x(BI?3Z|&V2Hl1Y__5Fl5q&ehjcR6RkWWNk zRd9apoh`2Wx&B^VUTs2(SvwL9RrnSMXBH@?LGmVvvZ!E!n&MbJ2)7+yx*v79#yXnn zyG6bpc-e zA5s2v9h3WXOUk(6pZj!TrgM86d=!Szc$z}b`_QQRrQNOFUdQF}yt~_<{^0^6iZd*v z;jY(i>86X_lil|AhMxanf2d<$gpcRJYRT;~8(uO0X46jAbBDWxG&t4v18}jQ%^nAm zI!|5Yfx$;j*Hb#Tr)RmI>`bSd<+7e9eM6*nxUMHjnNUqP`(rw<3mBLZmuCzn_}mZN zWW$xu+St?XdgC5%v(qCYoSqK$bnXYK%Q3hbQJh1-DZGAttefHbouL3 zkzo>J-|;RynEU!C|E&9{j}IG}Z0>zv=jNlCtcRddF2l#!6xvmT`BoBTK`Lq}`0iC2 zdEqb?T3|4zdQs$=%g?}fk?x@qg@nTjc?KLzJP$I2n9@H?3%lTVBiH$2a#hE`!U?vx z29AHC{^@lo3DhR1d6$c3s&R{ALr3g53gPA^+{MWUL=q}JrLS4-n0{-{u&nsYa;vr7 z4CL=1?t)!KQQ^S9a}p|77C8*csOq~2MH`Hx$5e9p%@5BL?N~b|;<7fd=ol3;%ivcL zlU9&)+VBVvVJ4m~>uDm8p!B>`hDpU(;|4`y23K`baczizsJIiflDD8F_);rJkgTp#7craFBIi(fLkTIZ< z$2x1p(2Ti~V!OwSy83d?iNU_wIwZW;dSNqo#4-^-i>4(4HL#su$OYmXx8l|{?LRP~ z!$mR@Nbe=4SvV9+_t2w4IdYh8+wJ{aCPywW>_LMl(J5Pf6(SxKd8}s~JD>AKU*G72 z{Er#<)-s9~KUJz#I)|=o5~GjD0V2s%w*5pG+dD?VSJ=e4q>CPDEt_lbZk6P($=d#uUrJ@pgyQwhDuOdw-95C zY)1ks*upIWQz3#ypCOLQ_~*AP))T0TBNmroU$icb5lBWg zl>;xF6F90waSAuZd`v{kK&v>PVx&7quE3033gIdf^Ydn2vsB;?rP(JaOt8hxVD|+h zL3oi=XZ6qwdM0i$!9<<5X@Lfh>?>*;%$?N;1I#Hi>52-+NsV$AKBRurzblrJaoZ;U z7=u}T#pPq$7?!YIm0VC0VCNM0(BG~sNHm}vyPqfNo=+yTWE*aGu<%hI9$VXju07x` zRz3cgjeeae(A(YJtyjoC=^_tn-RKsK1CFv0#!DJP!ZtiLvlA>KiP$W6#dyAb^2U>p zMl6O33d-H{qU!d0*V`Ls1Mhg8}Oo5YlnfFjLwOr zExc#~U}!b`P@5xX_MYIn1&3b*D3DPIHMHcjhakKJD;0JSKl3nN(Bkh`&Tu!Hvyeq> zgcl>fXep<=Yn2%iP$D#tu&_<1Eiv5l=Bqnbi<1XKwl!a3oNY$qQES+P%E)5kcg{*; zX_CXLoFFO21fO$q2(nV2m1J{kx`{jSyp01h{3Kft_9DQIwgdXM8}EQue=j`z}@Ed#szkFb`Ie>3k`mr>LF|eS| zt5gzGNyyIkid&mCGqln^`_*>`eqVS?rcEY#5a&;j+ zztQ_zKV&S|_qM28z6_T%ux+5(S5DrPEht5T0smt}g&>)X1JQbINb-w1k|q4(+QtSM zjDsuTw<`Hb8`7Vd{re=_^DI|I3_N8ttmq;jN*~DE2uGr^PtgE^KjqB8sDwUaY71E=U7pB6D?2AqANev#c=q3OB~0$s zI+o#P5M2HSa)gtK$T{FDr? znb!|*LH7(u$aYgaJ6HuD9U0)%sg}+6&k?K{%T@!adk7RCvrW|dKch|Y5SOFgK?(;f z3H##wvcxT`Xf4YoHhk3`%6kF1nPaHRn7ik2k+ECo*x7B5D0d0QN^*)Qp!{~%?<`LC zI|`A#Z+KY1AaJ`#Ro;d=yM2-m8u^auqYIuEqKIOaH7M)dJC$F)VChuCLNy36C8c3O zlaPR!pJ(Ewxrk%Tv19E#@e!T1&Lcmk>QkDnxu0@SnEg@ZMM@8?1^-8bZ%$89FPm;A zpcONJxkNMyV993{Vg&OU`D{=SsZEw{1B;!AxqTb^`me6V)5bd|M7x_eoa5WQFY6HqC6?nneJco*pk8eF^W@>)O0CVyV z7h@~aytxgX1oXuRVzo}cCjD1m=a;}Sc@~z2t`?2)vWu-OrX$ku9I9t5*!;(EqRgm~ zSaH?`@=P^MD`yJzbzEG0lH&HR0`LTZ#h$Go1UyW4Qgkw9nJZtfKWl|m|^HVkw5m5TinR>sIV0b;*FfeP=MuMn15#e*uQ6 zuP7AAGy7gq+tOAfJ5d2osMnzrFRc$SxaCu;DoU(4{N#a`?-7@@<=9pIPI!JV0wUxV zht$`tLO-b%8NmiCtEXT0Tg9JR@H^2s^~3yeyJ41-b4gF)%Oa4&OPjp9Tu2DToTBrr z8kadDe~-Yo7F=Km2EcrBkC?sHmILxyMa9mji$q>Dvv2UZ)lK96ve^aT9Oh1{wPg&y z9+PLQ)*{lx9;U)c->?Bsh%={f3Hph zJg0gdu4+#I9IB@S4r!5hfy@7f93ZII<)9a`!8bb}7XCSOSO*;Xuh+xmq20{&cM$#C zg_=F^8nMm))RZNuwd2>j6|-E~RK)TXNl;5SK9w51+h*X!p2|pd-GzR0Sg?V|e!JRV zQ1Gqg0Dc}5%jHq{Xe7=HMu!V+%By&0J z&Q_YSNE?0p2;LGyt@`E57bYeqHp}_=AKyG>=g*wg-ae0MO&V09=lL0Pv&YrllJl;{ zC4n7*_QTwQ27w}v`-bU#uJ>6=Nkb)5lIiS~edXFlXn1k)WAG3?8l()S4#f?rmL(x_ zjpM;=BCFYRAiAPG7PuMUyED%tpqQmK!8ZT3ifKN0m;1~kxq6yB^a*A@EXgLrmS{8z zHts~UUeOuR$u3=->rdz`*izZ&H9h23H42OBxUTIJR?8_(-*snj{nY}TRmh!6R?h=W z4={Wu5u*4BF}k|C0(5aD@5?_<7C58)9y`9**Zf^NQCT^g!%7`1abU}5W-2*3S-$@I z{k!ONd(2awo@+x*3pNi|?2nrTIy~$g=S|iJGbyq(0WU6jXkqRm>CSX`?&z5*)RdPk01&Uu{q?{G*81tjIw6KW{(Bdy^EpcPr49(qtsOc&eR(GpuPpT4AFr|Y=MDG9 zov_eB$x|O}YT6hnp#|mTOo~y;6N~b-$5i~Ylv=so=O_@E zZ%;K^E2SCh%rB{#qxAD8o|qdg@>NPi{lrRjn8i+cq(EZHERbR&8C{wl-h_oEft`^u z(JIn@>pi8gPIzgomkR3g%T#)6p@@!Jy3dUgAb4@Pohme-o<8-_=-q^=qd zv0RBhmtCYK(m_*QK;h*)Y-ncx;)}3or<|&pE=2%`)6wZxOy|5z#<_E_2h+YYgbg&5 z+;Y=vF=^>HW1~!?W8LR0kz$^gd$M0m`ohi|9X40*68ZwiqsOHp#k`|g)JiAdO1E~J z9zlyyp_vrBfCR)&`CxaV;8_TwscOVYuWDu>?@0)bY@?FIGuo@q%gam8k_SygwzckE z{=THM(J@%#$I*3QYH@7j*S-NT%GWDS@mx?scY&znuIiPVNkz;soLpvxd~c|E#|`PS zK3lL>5$dB$a;cD?CDJr1a%G+77rG|A)0&!4&slb*B@3^(oDKvMA1-;b#thD+cF6R( z%?}MyWO11bzAP*bYrcE~L$nXSRh_(@Pd&aJZ(Twkxg1db316W|mDH3jHK8aws(=NS z@vu^rJCOH)+~YK=SOO^4zQ6TmJi=HrTy3q5Yf;|LHxvRH^g%~Xer|NswV@HMF8o}W zqOw*yg?56?iFMDehA%19u#lHr2DnWB$@Kn%Vj^eX0m!DrqS$>PI|r&d2n zpj4#0E@zqLg^&@w?cS8TZMqVJvpU61w#H$;a={mW|1HxeK>yF9>Xu=G4R8ZQ?c9SNzl__f?@A3cuzm1~=j;X(yy&6)9_L4fRQLozPIKGO}Q#py0e6 zJ_w|Gi4Io=9jJ%E^}dC7s^!g*6SQ$9-^|Rr0!gLiE2#u8(w?5z(|pzJ-5r#jx~zNa zc1p^H*saEJsJx67>fEn+J0L!3=j%4?+Ev;+9(m2d-^?1^DOYy67Wyf*Z^2UAzYr#R z-8W(ylROlK>lM9j*1kvtQm2YR5Y6EeRQKH8&{qy|#>l3TgBe+&Y()k2H)zplY30WS zvyV^-fo(XI>phZmk3;pq^=n)31cOrmWD#0nTqAmj@goa6tu#XF=-8Nog5pzDOcm9kB2H?%9X;H)nv! zF`Ft*2}i^T122++l>6zWZ!{7yk_7cxLF)c^ygbkImQ!_~n$$7&$JUfY zGQ{;FHx7-HWAaNDhgxh$IyAT!vhbwM_I;${wryWtS~WjhavwF6>vaUJub%+ncQTBg z`O*&%;$aVwO)s-J_DdEKZk)r&cu!wsk%GqEx=-sz`Jk2gJ_3z&rM8SNg9Bq#fGVA| zrBg5S1aIg}kf;G$k|i4j6*{>fy_49?l$UOBde!a9%1%Zz$t*mJGEix5UXgWjB~FT? zGR~?v>DeQ0`9xW2iLUjy6+Tsc;rWCk%W9u`f3bZ0!!Q#yX>_bZ8H_+n`e^#J%b}M%uhp43 zb>R$3G3%i9b&Sm)bgB$=i$moy!P!ou$+)ul{^fIZd50{M_ zY@SjLyxX>9m}}`xhh8i?yqs)F?)4n#RQRYi?VZ5uUoeSIfr}&iPM@dd=CKEfhKQi^ z@9fJ?cMv~7OXJyvdJHyTJTw0DCE&`g%G;+CM-O(M55=FYJcTb3Ca5nT9;lU{PRlQT z_@`3Jxo^Om4Okqut{@?8pJB*>+)`g7d+xkWiHwW{{5;DAt^_H^hg%1bn51N1cXv$@ zA9<_l)B2{X&5N%j8lA==MJfy1ka#{5xMc~B9347yC^=a_EN$f?nD-`r_NwbhuU!&B z(;6Z8QT-%+A%2tXhDN4n!ze6?8s1XEm54TtWhR`aSa&jg-6=<7fR%!O@Z`|UdptT?HEr(VK6sH{8Sg=*%yduxbf{M) zD=RD6&FT8wZ%Kv4@nG^H@S&uNb{S(13{=eEq2u|Y%;xM>fLnew-iO)nIO(w3%_y)O z;a^auMjzY=x|X2Han@;*2G<{@p-j&}Vu5=h2KsfLh2h`Q(T$elxkua$9Q{b!X-#f!V(2&DY?^E7u z=DhmNo&caB5P(B)ZRC{~oeN1#qI}XP>w~!65*z=|1DKG2wsd zS`d^a5rF5Ut&e{(O~0d1QWya1Q3r$n590jRA`QvlTnCG&E%+C_33%@Scvc#tRsSzC z{C{<;Io0q#wnbATa9V#L^I!4Z)la9n6}UC{$CH-7Bsd683g&-^?F?7H)HnJ6#-&}5 zblMFZ930L!r-q>J-d^=a*9*Wc=%ibf{nb_PYzk|AgY}*xe2s*+EFNb&Q%g<5Pr=?} z=~p1##``E)3l;MjijuqBr+~+j<6XP@*9;y%mrW==STGs}h>3}FWm4)K53qss(u4$% z^+sT6+X-d{TCmZO*4F-nU;2QQNQ%mskrpxDgN$wcj<8PHhy)5 zT6K;8W%7~xMp4X+(pXb&0Uo`TyS>AOj=M+tH|w9*f<5#*wh-PeKyv$J;rlb-rA#@b zRfUCxz;~cPTJ@r{dm5frvqB>X#^!FKSUmnDqZC<1<0Gac zlVyaw6JDaBd{#*dteh}{=2{*f&8B4Bb-jLKYFR&zdO7KKfLoHl?`yOJ|Ibiu3*<~I zjHnk*wh3#k$svJ0&ZeCAU0m4qA?LKM^r)1ztG0kk#q%eP!{OqFDvrq{>So4Bd|^f2 zdwT!>D|V~>HUF%G|1+6Y#AD|dHd!%3@$Qcjd!`o(LyxO`(y9Pe4}(v$xS@j2^+5%! zop)l6>on|rD~qHJDyMC6V~3@*Y(eS^P?OV9Ra5)h?@M|n@Cfk8(6EXMMs)fV0sj99 z9STD%)q85B{iHatx1Np7Gz0A}aD~sP%ch98)&27?E?@Jhi#7#0fvw)Gyuu~Z z2BeU`XjDYq54MbYh15=nPrkkzbQ>7;34#$Uz}zseR)w6Ld^gYySi+L3gsiN7Qj&dQ zvczL!Vnh!!CH!x5Xt_tPCKG~>jOfS}6cw1oiJ%llbz4=aTT*kg?{+l5$10*Z0MB-< zL^Hq)`5^IeOij!TiY8A0`07+mR(1$pdKWCXhY~UG)qjCO(%68X0DVQUDTy=@+&m@9 z9_gjl0-ZfTTO=AjK@E+YvdD34>Cc)0o5 zVmS2-H4|gr);H3F!}&PK(xtQDb8E*yd-&%mGE@XlY5YQ=BWR#E%P)5{TxIUF3S?fD z&U8f90w52a@*jxDBak)pW|4lfK3AN$M)n0*jfZ4t6paPC4bqN_XsA!hj2@2xa?e7;?Xg_H$5B#4=r~EPM()K7{F{qkr1fK6ly#S&jiokvZiTL z;2{8y$umMRoycEVS*e}nXJKJ!o=E+R?NX6{W4k7UWRjjK67D49JS8SvEb2%kE;DR3 zX~ifHbx~+>3KqTGm}z~Yq1PNTpwBs^^0H3+I4f^*ON(dX+0B;3{y?%-y)c!6b@xTJtT!Z&pZ+Syzb!*pG-l>fP*RaXG>Wn zlkai?yl>I;hkL*+o2R`Y1*qXg@BBLtpm-5ejT$4Y72d5Hp%)lty#@d;0pv9xhk-AYqM#b)tZRLg%PZpA-?{tR%`%J^={rTcY_2*Xu zX`4COfvt+JuIdt|yPiKV8lN5xe;D>LF#&IUK<;Di?y}`~xV^VJC3rX&JXtPX0Jfn8 z+o@tLZWb1MpdeL3$#@FCCm%7fK9CJ`HXLZf_@Sk&e7k#_7yK<{Wb>`K9?fV1&s&pk zV@!ksO|kg(9CRxcO)BZ&B+=CyxYWWj$bZX+QC=yKxYXDH`YmHz&&tz3# zvCh979m!KqRxz&N!{^8|0=|DHM~z2aJxXZA3p%&hhIy zjg9nA>Q$#3fubQ)&kyjQzryg5D8Q!E9GH%TLV=6Va4w}~vQD;f4S7G1k&l_iv)!`w z3BB3aWh$>jSWR9s$!DyjtP6=ELk?Xe{Du8Mfk9__zC^ho1FDTuX5_Cg3~wq8ioe0Q zfot=%Z$}$2IVWb<1S_Sy9q`&~_&aeb?5Y-I5Ft?8<;ph3o=PWy{$o4B4)?MWD=N5%v$Jy0gX zj&_Fh5}Sp3t?fp(WZZPSr~>p&83BqUGx`T!F_>@@CijAElpG5qE&}Q2oMG|m>sdO1 zcIC$Uk*EM?iae?PwGwClpTc??gc-vz~4=3CY&u0lvp zo!k32_>wQoNRAot2?slzKgWvqw3}PUg=4JhVMJlJBA#E8sSmi_frCd4c};JKP^0NN z_uXlIdW)KFm6HkTr4873p3ulWJ2HRFwKs7c(NYXxgf`hm@iuEYm3Ms`j$wK|cS&S}81^wc@4^x(T(Xn}FF~0PStltZV z=hU>vDVlmjC|N$9T=0H3W}3BN<>vBp#@*%-(xT+e8#7hEtjMXFG-5)>h^SC98D5v< z351nI|I+m3K^Q+VmMPnfij^$bq@=u(Ri_QN?1)@bd>YDTv{@i~w~Exxlnxm#jhtD1mQB?;GpX8xJA}~}iZ-G@<@1>) z0R|*N(I}K{)(M?dgkb}!^L9q$UG4d~$8z=7C7hpZ2{qp5vNk z#8TdWoJl!OFWkZQ3e7B)7Z^O>%((U*|u zJuvji`_n~TFaS!cgY0QWkFK5`ubOqrKMt@2oox*Pxhl^kfwxYO{|v$*9uVNSKjI0_ zR)~6zxYgQ{0!}TTz8mnG>F4TSz>b`)=Y8-yq^sr&%#X<{z6xRO4ZE$u5f)mQpM?hi z{C&n-{W5tY?Qgp-Pjx%`X#K|5>lpl|g+fOq&NqW5(COHhy?Cnx30C7s5F&fd^2 zjf?Z`os;@@eZk0-0;+<1Rt81e)M$vmT1){!fQLHvv95-q(`iah-eNIp1+Xvy5PmF- zvviF7YK+u)(uq^j{CL~fHSooJQoE^|7&EPgcytPHLTT4o)yjC4BxLd8i?fkxc_R0Z zrOg#`tuC!U(-lt%%)1mSPx*H!u|E`te#>X|zteOg$@t5d4R;&-CwwbNx$ik_n( z=}J)AL%4CdWSzvnkv-{ixEjUd8h+e9D5F@jmPvI5NNf9a+zP!_=UTtj!=nW@;5uW# zt}uUOi&}@mxo&Jf8bx=Mg`c;Bg#yX=fcBU2Xh8$kRgU#?s}{0arRl`+@v$b<%a<<~ zA|_HvDj@aB+8d}Arw*caSUEug&w9+MLLoccz5R0qDpqFIf#cu80T3Jsr1eh@59GtD z79bSt|K-cGPTo%C`sQqlnTct#SnFM>Ss=-FU3?L2Ks`(q3kkihO;V_kGVDExiw!O&W&5006Ci)erSJwpa~ zEqt|jw12G(gY(a!f3yT3xPBpERR2pO%dq?q|5_a2ItZzo-hSf$XdUE0KIHen6#g|O zEj*Cc5&i$M5$}59|3=o}lnc&I35C(q@E_^5nmKTG5s_5S5x4VfooI`NEX}xb@dyY| z?&k;rhSQS6YO1D&T8R<~Y4O^*i9{v*7qU?d)>nuB4^_hgm9EL}TeymC35|##Z+0^` zd@*u8kgMZ)C-_AFLdJg)!t3Hxmap=CnPFzbVcH|{ZS&89p#$}nYgnILw>_cqcc#Fa zt$V-6{Z|X{-&nlf&yT!i@9@FcP@hNoP}+Nw;NiZ%Wa;6NJ@q#Bp=;h>^~v#SvI`AK zrxyFkWZ8X-+N!8OC-IV3>%iG%EwiBDY4r?#0y3GQ3D6tV%?l7(1BipwY!Z0MsgFq@ zEf7Wkz5@kEi>epZM_HzwpXXfd=Pw%e{BiU)&QIj7IgJBVyV}*yb&S~ONNZ3twP|ms zE5EsJLup&#)19n^TX0y@dFRYqOQ5*WmPz`0oMkOwV{3q7e8k~AL}4G&xX=+^cwW^n zSxA|K7#J7`AKv?N%QF;wE1QiW9TJfBfX}Z;}$BspdYU+{LiK=cwVPNTw(dogx3#`aoVms z`!nS$)c+THlc+H&3CW zpxPBTYFu6|X6T)K?UHY-cixMoO{zAhovm#yV|Nbbw$u(6SG`$$&~U8Jc|zZ;L>rh@ z4|8BWT+*)iotj{|WM*@lyTnPk7j6`1ba&@-5>9T_j}9=4WpK$ncq&x3x1NlIgMQMo z+*gYmtyd)mC_CXBL3W+=jh>{uvp`f1naH5R)iUP^0~G(C0}@D_;} zj>~I%410>Ml1u1+sugzAI669A>^yBuNzVV#xOKt4=zODAl<0&%J?Ct+Ym@XERM@wO zfo93gN%lLeXMR1JqnY=V@}0!u{fmgEWU(Q_Q39Rn{7o|rAgKtK-^0%3MJ=G^=r8P5~IvF59Cl(3XSRKH#yCh}lX~0W=gEXvi_1X7HQ9NUeI~_(1@cr=E(7 zMTet_S==i`%aXvIm&;cowZ=-im#hi!9sK5z8uMmUj_XzU^idG+lItaL?c4eW{Ls9b z%cezGlo5~6nR||Ct5a}aPan7msZf(T^1EPPIo=B5%H~le6>{CEIj+h!E!mLdGdU^e zbwq=rHI*mF`wwRKwwZBRVeq*7Ao3NcFqf~5(c%DAzu!uhJ{-lqMxSz`*I)xq_HInG5Kw<{inKR!} z&NklX7LDwLp9(P7Nt8!89#z)(>o00?`&@JtoRV>`@I4#Itel*$CMH-rCI+t9;#vH6 z7v$X)hN8ENTy`f9{TuI0B}~c0vjiltX{Jq~rq6uSM(b$>03rscJ_s{8>KzLPOuba2cVnzCH^R0 zD?(p}ZzrQ8y{hq|r!?hs^U8EgOAmWUqdWC6 zIi)@MfXos}4X+4ZdsD*On$-_XpWeI9G7<3}phkwAjUY8NyIvVRIWR_%Fo~afZ?xA< zAf+^R7wMe!_>BTlkY9GPK&1#9A7AE$>|B*a-@t$tFdbDEbCG4^fatpK^i zn#Qjs(rSwNv--R$Wk^WBLUQqxa;4grDhwGnWAha(jLs6WvXbJ`53-jTSItXWRp#$S zL~c(J^ju!ts2%3Yq&-PLW~QYkv@LM@v^hF;VM!(+s{zUjVD$XpF@ShaIbT_*4!7r{ zI{=pf$FXZ@eh`trAA(l;z7r!#kp&&z<^+@6%Ya6V(1cQ0>d5zvn4T>SGwCFldIG(J zEA(nKJ4Ig!@OsfI0pFp^FPNc`zVGPA`}5`7jlT;H!o2s&F!>y8Yva{p2#yg7Ml0Tl z68(-TkzDvIcvqLcrWB_2J`ER>t2!ZtFq2H;_nY&`YfM?W$Pp%rphOQmiXd>h-qw&6 z9xsj|_-J>Y(uiRcU43y@y{eo6$aM~xiApWp`Z^J-`zwdaH>qxU8f(2J;TT|TzAHoDp$S%vc zysKM2akIv&nfV@Om1Ek%Tq)fqoJe=hvy`9Wk{^uVxqibfjE{U$2#K$^htul9r^Pu8 zWK2>B&Ktkl!oC>ybe-g0iydj2VC(Wx+cV712Y41$1y-?qOtno4lIIDC96WEzh}_$c z3i+0G^Kh{-rSYBX?@%G)8>Ti^q7%hmO%4R%HRcR|H)$@QkB&d=aKX#*(UV4*;kxU1 zCAw&}q+xj$yzrjnxaXvIt{Wo?*jQ-ryaAQ3{mt&xV{NmCYHM|K#w{Q=y?cC&$@jdO zah(wwLZfIp^{d=uyIMZ>hd#f7H~tLxVFAtd!7}3FJwTios6iq{R`2n^1BWClyqahzAcyj zzAB^4tol%P-?P#Jta%y{WbJp7eeyx`wCJ4uHLHM~>_U-HvR`@-puRlD0kWf#nHDP< z99k8gA=R=rG6#3}!*S(U6Ent4>2*g7&Xl|9nUN|^s_tv+3d>}uUt)?aKGbDRx9a-% zSVv+Z+f=@^uNsu~L+Swo&$N&Coto|fm1}y_r;XTrAnyPWQvk^l>KYn7>QZw-tE*;b zTm>%n4!y#&xP@%LU|UNgkyo4JRc};_>pwt_1`f=9&QhL-tdQg%Xa}6uI@WkfQi}f% zA`BJ;Afxa}d}-uAhpvJE7VQ6O3~-D)^nXhHlg~O&{hSj)EepQ)4=+_p@yrdOg~L(@ z{-vs{OJD%BOPmT#$s1;DIdN+Tdd-f+EF z(L7zfy-L3C@^gscSrNib-rnU|aM3LOAoUfz! zpPYIUbb!!DHvyRn0WjYluWA4Zm=F?gG{7MxCMHHk+BUPm&v}Di`LqCea?b@=Xf+%G zb$$;75=|Z1hoR@Zp(`yv&Pj*$fU!0ae|^FTM$=DzBVR?IBhN{a3wBDfAqT@}Ca&FM zIEuTNrl-97t*g6g53qKN>ru!&HJ>~SPkrCBZqVSeamm&E4yJ795K{1#S?( z@VIq)H)jeQJNzgQkij|}G}9A9VRke9M%NaQUwPajHBta z$`d+E`Tav&4hTp)07CYVs(m0QVgkx3U4e7U?g}~J#z=rsA)O-bXGJ7Xfd1G{7M!9;oh81>!H&eAPdx%jymT0)&4d4h;d> zrRQ>Czn3oW($cd>7#Igyx zlMUfL%#;H)!7u_WDzQiB;R-+x(*!(g6y`%7>k=g~0;aA=8)fQ6Mm9 zaSwl2s^yS-oouYudav1Rb`R}-Z~gi8q&s~T1G7FGVuX|F$R&vlbH!#C{13tbT^dP8 z#_5IOQMZlssB-s?KqU7i_rXK-3R*1C2o3QTWOPI%%?z45UJ5Y%OYHJEdSeq4OMBkV z4ZPn#U3`6fSVVtmeUW!~oj?RR+)j5ltL#{Qx^D1#2q*Wt9|5=(G0nPK69(spIbJB0 zwk5DCMs1^0$9t-Six1o)!7+bP1e-p|&s@{sg*kmiX%dLQVSE;P(0HkzSRT*SGrIi^0?fxj zE1(S)%jFa3k=k5BX}aV+@YH9=vK*5*iOphtr}3GRMZ||)^(BuuPaH3?#=94Qso?B> z&BmW)O%J@bod&&3rFsrtveJc=d*D$-mPp8ZSOaxc@{qusZ06O zPS?Ip)zt3oiCd@OraZ>C4Hcj6VIH|OWTzy|yF=tRHQXrqcdpN=TVSCPsOKsuS0y>X z+Qq?a{?CnY0wh?*Ot^p~yB{5EAOteBq$D6Qx(8Fgxg}S3c7`}cA#=RIkUBt`2|9iU zM$rCn*@vG4Kacz=DI~(40>!Q_Co^{Sjc{QIg zjH>UxZVtVIwAJrDN_#v){Yx6fU(9&=Jd84-2ZFsDw>H6l1yZ5Xm+!kQcifGmf%GC{ zZid=>IGNCvQbldHXJN6~iw0U-JNLkt!vnSG-5&X9|KT$9FkDHTG5=xi&AeV(CPi-Y zs7Hmg^6Fl8#}yNd#m;nbeu51S6Z<+gAdX3x*19_*Jw4J6m(d zDYqH@I|#^C3Yqe~{`-{=M5PDsN^K;5pU(BqUY=$?L_;B192_q`d>9C~F(7m*GUNVe;z$l7=L~joE|EOXWOcaAxoQ`w*&Z`hW(tcLHB7zQh2@A~^f_k8R8Q z=|CEhr1m}kZZHUlK~7$(+vx?6trIQkMXl`a9>3BWl@=$Qn|BB0S$WMc|N2}zd;0CZ zHW?p?NSC7I0!(`y9XOFxw7;U78<1oXkBBOKoLe&=u>avukACJYPo($2Kr1>Y{vAQo zq2Atsx>~p+OF_1!$dY^5h+3j_pBSQpq?#=CiG#{glt-`hH(cuy5N(|vI2ewH9kOPL zEY@3`vH{|MlRXCCmCov2h?<9|?(OfJt_pmXWJN?I0WIf?ps=*!a4k-Q`7BXtkzJ=< zbXLoeH~b)PQZ1)l%gK?{4&~Y`SFP3VW-*OxVA_~)Sguwus`qh`=}|bM%|*4oez&XY z-oJ8Ia){&rzW+c?O+CC;S#0^IqcslEh*`9V8s$Ut*e|@_2`Pj~poB+opUl+N)WU1y z`EMgz`Zw(~%7)QoR2p3y!tf{TS2!MgjpHDqL5Byn#F)sTCT8-qSljyjwqG1+b$KB@)Lx zZ^l?KaVOsZe4y(B71`&s9_%aR*=~$8NN{2Dn^q9Y**N;zqgR`+#JJSd6E03B#|#i zv*`qran;T42SeSrOz|HRF%ABq=bV%_elO#C?IjQb(2tv%-XRl~v3zJQ6gexrjusMs z6Gn^?%R>ew7W&Qbwo^YC4&VaW@bk5T|nP zFj>#)lNBADH#JZ1wrmGNg2J+(5|t6;Obs~R|4CN)0PZ74vPlw!0XLA_D{PyFPO+~- zO8M2!+H7*GGA5Qn?>&8F{}5m*czvgPB3H|~Q|W0(y5l z!V5iEm7$>P0yzohZZ^K3=i~b5%b^}%ryLsf8fwGkgTN83 zt(mg>tyG%l8~e_+{hJbcQov{%=t#s+UZL+qCBCl{6MD+2Fw8W)+3t;6P~ob_fCT6+ zQ6Od6O*s)G7dh&D&7`>LJY9j6+hw2W55>_T35I*Fq^8eZDkk{7ziFEE{)V+y8BGt< zGIdT0s4Jpz;lv9f5sbf?J&mHr#NTJ?fJRg~BRM3aal(3D9hr?B@eiv}u0k>2mfWHu zDu)u;M;;l6uX*HXHVJ7&X+BVk9ARG-qhKC;W2GHr)Ld2LV0Q#w$wM8LOCo1!KUziL zG*Uit4i&_Sub83Jd{m+%c$rsUmhQpEZK?XN&TMkBJ0qB2VxoJG^16IUI+X{1*z0N% zzq*O{$`hyNQDFOw=PlKlA|hHl0o&0b#2gMNU@}>XW&F*EiD#n$qu%9x`wdy#L=cpw zM|NeD=np9i{bpvS5QvP6DY21FvC`Dh>&B*x35nxhNyoGpgGo|5k_8T*T4ra^bgF{O z1$6$_EO|QFZKg%co7#%xn`9Qu4&Lcit#v{RJP+-5x0b8r)7DEsVh>M_rT>%|G}NHc z-Ze%55aDrJwj-0nY(gzWJK~;}Ag4|Zo&7piYLg(j@hmKp^XjmC1>XuI7S}Jt9Fhu7 zS4UocWBmN&IgyAGBJzNk^jWxdRL9KL`CBhUnv0&tBb7IuRgBj_ABR!GwMf7z0t|u%^&rE@3@o=X6IYY zI;FGF5{nL9Fkr&+i7$b{_z6)RJ^Nc#|1a0{d2_QRt#1jr_Sc_dyBsQEgymCAQs=R( zs!l(laVA&%WiBpH&Im4n6t)`*s_4s*@Bb}^5_EdTlKAm5eah|A12vSR>o4ZiBBdSv zZ(%vS!shJe%U$Lla-wQaS1`lud^Ge+Ka%SMwN`?Lt2!x#`TiuAm~}Dc4C~LEzj)o8 z@Rk-lYT>+ML+^qQ70~1a8PLoZ-h1YdH35|LZl6`}o*|MC7rm~tjcb{4 z?~mM_f7Lb_eQLEb-QS;x;dYg1?=b<)*~pLIXL=>@>R26}@)e{Va3Xn7Gx z-Ryu!yMW($37Yc=>^yrHb`e?AqbTHPC@!=rZzyX;ppk0mrWNdVnF(v_JUVB&G+bjf z83NG2o)`V(wH(kqEjiyucOQ3>t#KMxwruN*QL#IEAzRW6cecK^x^pbLKWvmwqSK98 zv0^846MMWAU%g*>wm!OFy9|kc&G#e>&>jVgKknFsz$O3zBe0Q%cE%~GhKk^4xJjJk zZih(4Fa`^Tfx)-Xd=`bg-IsK;2s;_N_bKrgUs1W<^0DTrvN3G5uTm9Y48N?=!jX`X#5}D9pNbo`dfau<-FTXm zdwC-zaoP`boDSWU4WR2eSJNJW0KG!_4GQ$>6k6hH(D8OelwbNp)jN}Rv0Er`y+Tvt z{YP*Zu(w_VA9^it0v9YgVo=++JOBA~`Gb&1+cHQXk^JYv_cmwb?^~u#q2OIWvq+kt zXd%;+lOLBqXR;!JcvHXv0f){jdVh^3<4BbP>W3sHxt84^ zKR|$;Q`rC+Re6(%cH^=AN`<kA-n~NC&m^6oS5PnJw2zkekm(hx@bkMKT*PRW%6N{lNH| z$jQS>_H)H{>ed1Rz~Ti31=MI%49Hd|O~xXapV3;unwy(}i?*(cxJGFkw_T0oL{6AR zu;QGIF^2GFl;JiU5|&9cWvKIx%rS5R&%_l|P=<5Rl?3MMC1LXR@zHq+%vgFp>5<@o zAVz0_^27V1ciwZr+#v%x-OUpwD+JO%nLn2y69aD1u)r!Y{#z1RG!{BdC3B^Hdht=3 zvHq&C4FzStyxP3*kTXTgkNt_-&|glBNcpkH5X!F`Q%V3R^773-UU{nc>twve)WY(d zIn^;X)~AY2m-yboMY(wcTjH%RrW-yN!}t6+F2xN8pGxYJ3u5GA;whgh6{`x$#j>l} zn}ev-o>@nb5>E)Tdx63`}Fyk5hd8!t!_EYzhP8$d(D^BLmXHlJ4$K zVP~{NC@5`2KLj-4ECG_ahiSEXXveN(uv;bOmWu0ywlE}<${H}gB?q~j&U_Pm8^b~f;Rf06K@Y&E<3Dxfd zc&SLe)Ci803>3Q-RclxS6%ErkBxBf1rn;cqeZqrw(Wp&k9Ftmhji7kV7D>vUNL6dW z3Lke+`IMMXXdlU%A?hU_5cuQhjMO&zr-z3P^}MbzVq=eAIkC&9kV-nNkU&6zAsq>G z_29nva%Q`7=qB$vK6;TueyGKvdOHC8M#*!vG@9)BJks0Dv)X4CdNWRciDD_6Zw(Fx z{)J%SD=~A*tMC}}@p1mh;5az;nV!!H--TaficGeO32}$ChMJOcspW(ss+H|VjD@Cc zV#=vqedBOpO3K)}7Tva8eS>LNWI$m@=R9sCTHhrXvbcZY_y3qJ8-4HkKJ9*frNH9o z`M~RbuXXfg^=5Os)lvj{7@6zph(FVFQGEOLCC`|L`?-B)I=I~J2U=9#I3j&alRl^% z$+|hhp2Xq6J9*9*Sj&b_Gc66QxSZiy)Z3BP&P(4hY{oh(e#b=bLj zN{sgN-aNkfN=})Ump(w8tXG-Oa^olQzAh79W=enddfr@$TJW`Q)~CL2|Cnt?2nod;DKXJfX7Asn^y?5|N zAjBc0JI2L`uP)EepYh5;B=-lK;H?xi{K_p-b^P*!E9~aDP&gV6d4n3cWELy2`J0=A zu57cRjvh+6!j>>p0LUq@0|6f^LYo7w=f)Z7X*y#n7B8-E6FhD`z7;Nr>8~4NW?~ly zIhW#|b$fLs=JuU|(?T3>E00@K_nBTWOIbfn+`;?hnNc#sWZ{rDE&>{^-Nh|sSC{~` zC{;0Q)ZxKF%+&Y!9G&A12Nto?maF?F-~jRtHS$=R9}#*GVciAP!MA+6Qjs$==t(kK ze5ystJM?AKjod$efDv}&baTQ*)X>w>(UG6Bl&BNw14S3NQ4grqDnBtX*()|1*Egtq zrcdk3A!1#a<+6CgJit-z!fVH!gM629dWxHFdX>DY*|)r zg0(wy*YDGS>gdXKjUFD`op17;c()BTq#&w51cS+gCHE?OJI0Woqv0Hd{0S`$SGv{V69!MV8vtdP z8z=WOONJUspb2Xyg&Tu(J-04GbN9VLiBYU25r6Y*V1%55F+%ElgTeLPy_$vIg?Dv< zr*!L)SDqQ5g^{-2Pkcy;t!g};>$lg=&D9Bp2`*rd`~E?N!e~`B@u~;gIat_gp3_49dJp{H* zI*zmXV}1E!6rep}!n2Mj4*1jL^du_hi%87kU%$4xx}eB%Vkpz*u14YHZh+(P+ZKrlQ-an@O&56ixtMFQRv4x&+m&8rU@`MpiYJ1G7b ziQl`-IFZ9;f=+vcHND08=&Bp8DtWlaXjC+vmx|lh=@r|J=k94^o3~IqXnnS_ZD?{0 z)Svs`u9PE-N{HU+93F@;)=670=-YoY9znOD(YWX-Bu96DY#+5iH!OQ`+_|cnGm?VN zTwg-K$L29XeOn~oK008q|4+UJ7g_|DKc&vQf4|oRJ(MQZQg7Dp9Bib6V>54+0o4S| zfwv9!ZO;W<_=|7icy~zud;tU;61c=X_HO0xqW0!+w9x>NyMYwZ9UAa0Y5@e>n3qRx z)fw3KWo-o=U{rN0=g;S)>vXyBMBw!xL6Pd3`CMHaCil0_odK9w%Zn8T+^en;Y_?3> z>2oS@1hP}@{9YAgh=Fh~vKeqTJVxMK*1^%ifzN%OEju&P2k77PM}W&hDWBU#3_&7& z&TfXp^e>Vh0$)qZOBfgE{MWYU6aa4L3d8F9FK%ag!|lR|@c%{o*?=SQKN|uZ2~2M0 z|9&g{&5_v5|1$J%(+nTKZ&4aujs4gC-~!Bp5}pmo@ZY8-008*^pAOk#R(8&*s8%r= zk7ohSxZzHTA`2F7nyf>YVIj?cYL$)b&VsPGTR-r}Su@=1LKAj>9O06gwXzka9ZPuf zv@wRh;7MbyhpQevBrRDWIQND+(9(^e-A0ZyLftTG3_s<5y2Ty9jVPz}gn zVp{{L6p!06tNIA~49%7>*zNSQyO))VdUfYoY!wl*tL*eGBg#(o=fM8V-=GR$P|HI4 z9}q#aQyY=E`WvE(E3lRv-n+w%ezlz2jRA`h*84CkvqPK)Y zS+8U8OEr(s(ylZ~39226*H+EfLvY^AY}rvm)hN_(*c8Y$r-UPsQCiK_haG5l_UWBy zf9SRGTY^kgl`B>24XOw@ zwN#sG*_sfA1>QldrMf^N2fMK-;kgm)kEc$r3oJ%SzXiO|IZqtxkURRSM3rZY8)~HJ z$YiZX;(r+48y=D*+!_>l_opSGlWA$ENCt01sJi>5q)G{%QSiva3&T zJ+1Luke38LBn*Bg#%lw({F#XK2mul3F4nZTo~yWhqoQ7(0rrXDgP1Qieej{!6yGCe zSCooOtJxcuy;<37P2iSIhuXP5bVBNnW9tn^tk*m zVVn>W(|0IDF?)_< zR=a^XLVT-MlB4T0<)oOz(MMepSTxpSOfHiIb% zS(3YQ)Gc_g>a#wJ%PvQNdXCJd{8Q#MS8 z>Fb>_YMj{SgzzP@=Ju84<$~FmIHkkm%!al9EPg7`z=n!eD6=~Z=2w-KnQ2iEt$Mwn z*@%GASRcZ6WFo_Khyp!xR6I}6E|E0Ln(wGSQSsx@>;g)2sjIbPtyjFIh zRcA#dBfrR*9UH@AxI(8CtY)xeSUJD@!-gS2c!Q^pqWha=z#;`TfA1A?V~A=)uCN%TS_+S2tBUD_ zD4q+46Z|uHZj(TUxR%X{Kg&LDj-hg24pnp8<7K(38^UPM$j3hE8F4z15L81fL;C@_Zy@6AMoO)0YbaD zy!r0^^1p~Cs1#Tc$FKbs{)3wUp3@doMfV90f9-sXJDKLnl4_F>D+u&Yn`>IgNYKJf z)H(_c2*3pNNB#tWk-v>6P=EngDJzuu>f=Aih~N`|4*usqMQ};RLtwwR5m{lZhksdLBvb&wWOYEt{$+fD zpAsm*6|wK7tW4i=2&B z!uf~nzz)1VOOKQ_0Zct^=Mzj+o-;@4NddbD&+0i4(q5|j5@ld!_KANFkc-FDYU)+a z1393QLHn=dCzK|8@84FBuH?2FUU&D4O1RdC@k-vACUNcNm!5^8`wr9DQa2uEua&Ep z@&Z%A;eZ^{YN%bF&)Hj0(p`o2Hl5DJTjbvwjVkYZequ8jk2IaOJgU6RZuLhS4<~J( zJBQ(NvSylQT)sUFy*GqZYM$5ZL&3wgMb1umpwxo#sIv^~>H4L%##hO&TFu`)`w`J` zYaJ}D?tV8=7>~N8r+k*~{Q+x~rbo(ayU6W!b5w7?i|2W#yMuLezNu7HotI}^`sxoH z&U=Ic4G!EtrH*gR{_SNa zK7QStUA=mF3Y1Re@Y)wY{mG_G6AXho#MSNR!O!NpGlc0w(4jK@dT|h~eRtEmN`tGP%`q@TMt6Y|^r` zZt|T*Kw)fRB8NG4c(s*Al@j_h-u0K|9K7WM=olb;P=^iyjI=h%pvYgO>Hf4qjIuxTlrnyu5gLRt*v?$Okj#o-3Kq80E{@;Ek`Q5ZB{G4 zG5KXJDGSRrP`LQ{R%EUQ&qN5Ko2Y2SrjfeC_E*8mUZ_kr?y+5BRkdqlE38<3ZM}rM zNHu)k?`abo!|AFcRVH3>4;y2vtMtiZ-v)7REUB_}48RKtCetZ*8XjCrlH%kjCSi?B z@gc1&--4*ji*Kpx+r6A_abx!XnfGgL*Ocx0Y-+P6r2N9$0eESM$6;!1`V;#wE&_28 zRtu$0eW*jPB1nue)P<-=mP)Ws)(VM@OjrltlGu*Psrd#u_RnFK_xa6c;?3M4W`9H z(toSip!EAL>vtxPBrLJ#U9V=IhV`gePPwF%scT(dF zK;(*K+^AvB!y6WqjCY?T^E8?(tyXFMMHag>P<|~I7STu)2m~gDxCEF7#{I)!5ubMZ%_koF)0phBAR8nkUoC^PnxW;=s!+z@YafIWn%R?I(`7`S_q!a0m4{b< zAb9kZ(B(>f+{B*Qq0O*yJpW4~CvpOi!wcAFB#oQXerJf|MY*nKl=n4d*l09~g{sMT zETBZu+;L%elp5A^qZ{EHMfZz_*;x6rQ=KW>h7EhWCi@p1T4e&$w%;vHzP?a3&y;b2 z{c1Qnxtfx~$*(fClY_`YQidAK%p0NtsOw#l=oOIFVG+IC7ax4iY;mG|sZZLjWZAQH zn4ce!7mR+`Gx9$Z_Af3&2-)yUx>y7(SF2S{t|Hgso(m|hT-nPE=`!G4J`%ikElcLC z(fk=T-feK=J6p{yx4znC9v6G>2UqDx$;o)=DRU&+i+8WGy(Y;k65w1a^KxMFmRnnL zRcj5WahV-NgmicI!|pQ9D8OxSypGCyRj6n7C-ZhCz7)l$-#^4 z@{L0_lYWB^;IfK`B1|LU>@1vAOLXthH|NyZ5i{^`qV^AKxhH4h6oU1CSuB%mV5Pcf z@V!rDW41-5;18-4tkOEvM)kHTqopo1KFNn|O_(`uc!!2QStnK9pl~Rt5Ql+@SoK(m z7cXm^A*A|__Szp#WTg)YWm6&qS0+{H=$_pqS+;zC1;i~o_5pywqpZB)S%%` zCJtokO0b5O*Eo{G-Q9Swe@N$_btP0xN4{msar@!$b-cypdLz9!f`@Ul9sc#toXbl2OeRPeUi9mQ>Kl#*vZUx`Vj5t`8_wbWvmcNvBz+AST9~Qy3aB%!sM2 zoEmSebUKQNMzW1+=9Ximm^%;>N#x%k@mc3VB10yAz9wJEsG$i%xln=1A6mq4aYjKI zb?2BL+Lke{l3%3tA1%PF0{tzozfm4h@1!*yU2WZ5{-^#yV$l}CNGdZX0zaFt-i!j( zhSzGe@mqr=M8(P*>;(a2L3FW6&!1&`{ zwC#a^`1pZmuHgZI;Q)htxyfa^`|N zgn_@j#!rcaAq`elN+F%TC`aD9Tq3$vZ zw=)Vrl>X&^{g5n+OQx#SG>0xy|Ag4vtD%8Hu5XK|j>Vf7udbbs`;Y6hhWGJ%-tkE} zsQ<~oo=#{9;Kb=4!d3rEu`cNYzSpw;JJ{uaJv0n;P?cR%3y(}k;O-c2#UILxii!YY zI)H(15}2^a5OWreuC5O;l=4KLpGTbdFPKN5pgZ2;KRIu@48SL0bU2s-q*Jm=pxr>{ zdL-5Wknc?w9NzopWH4~j{fWjUzCL&dQCtT8Q*BXQaCPlIG_+b6-l~ra;zeHPL#B z?>Gz9qsb`v7K3C*j=m}A@;*H4BhKL&b zg@8d=SYo^NNXa^eQ)|!t!@sPZz+K(k?=AXxHLSHzpuhTX)B;cE@V`Rn0mz? zH)LF(fA5gMZHIZexTL@TTPN#>uKT-XZqfs0j3b5lFJ#%a)iNps;h{!|nq-#8$Q;pJ z=W(Z82_ehdL#8pBnK5q3<6{_TskxFQ&6FP)WZIi9Jbk~3KwXX;*x2_>mDmV;!rA8 zWu=s#xGIec6+0Pf0mOhTV%|LNsrlvW2Q}rYiQi2^rj(%y(yc2KxjmnL&TL!}m6}Mp z`1=qMRS~sm9%IMjBB2?x!>1zTO%7{n$ySn;lx(r2E+0>GwGLFMVy3xd{ajR>cEu*D zi{TGrG38(xP8QucJgQJTxWIg`Y(8GWy7N<{(Xslg#@dW|xsL~@y=KXD?6q)SpsJrn z%@@tIVJ1tuVxEcP>SF4O0=7-X%tZ26vu)QR^z|Vp6m;cc|D*T4S=tmte#G`{1Y_?U!_QIXDa%@PEqHE3IKh`GYmZOhbn0`ql zr=9$g7*&OFR5iK3gFa<3cxx8&>3Z2}^FVQC_>mQ!fo+=3Vh;Rm9&@66pFiRR_uFtH z;uAHDnKY?laQKEr{fk7Iwr2>E>T<=5zA?X>2uJl$yr?9`)f%Y1y<*oQt2i%)SSuNC z`q-mc>Vun{$P6P=H6D|@R8wgs-3eKmsby}+ShFApPqR7>u<8}sH04S~Rjg^E5^55u zFA1S&FTA>Fm7ToEMpdwedPI8M&tO@LMGBTn8#@ACFZRA*EO90hX`&?reuVE;L#6I_ z0EC=mZZPt&?21n3r7p>nPF!TN9}n&vnk2?;+}R>PGt3#k_{|jyo?F#Vzt6m8t@{!2 zc!+$z=D-Xt$BN_Io{T-is7#5e6X7`-%OoEF-IH3VQoot!47AZKy5$2Yak|{4ii+48 z6cuyd)0E=O&V4>ZT8p$4)l|)NxMPjat6=Z(U$!(j@BdYAbsdPi=Tdp5 zmfl_84q$nepPm(5cD}&V$2|jho7y4sWDzFfgK9u?r^KT@sRRisG$~P8Vt+1o@lvLpGE~Cg@20mOmf2NQLRUP@xla6Tyav8`xlD&j4j63U#Nsg5#QK;Ml?73 zqHXUyAh!9d+O;g}or68?MPaECh8?had zXyan%U~iv@5kB{$6jfl|k7#FM7;Tou2L`1B!1JNK7MmJhlHzll*9YE0oNFscfHbG( zd402K_BQt_D}7sBdZyW~;v^RMP2PR4KAr9PAvN61qh;;}1<+Q`cy-i{LtSG#_h9Y3T1#Jcw05F|iA5Oju263Ayo{?jfeM&8)bkgzgdPK*+8@HdbXXcE}d z10z`ExIH%a4swx2u*48-e7Ma$cG0y~$gq}uI zzhtBLkq90l3j_{Q-i#Kk5e5IA&|xK_(pKtu>LK|WMJ!)KUrTW9RzLK-LZ2K{k?8^- zjje<8!Nn3fQuRR7uG1V_QLRvlux@{EOr0@-9Guo~yqyGWmo}FfS2%i>QiGNR{KJWr zec=2C8oc{2I)&c0bV01>@BXyn^(M)19|f%-?#q-AsBzD6+uNI$wRT!a$&mGp)ar(8 zG5FKQ&S`fxleMd?#0$K&2+iwN2f=!GG&d=G#d9!h{-t!A$^{)>e z+>~GjVW+rbsf4Z}S>KnmNrz@0PwZC@$2b8 zWb{SllGfw;0o$Bu7cNh;@#KE&>HZWU5z%Af{t$mRZVJ!+5Ldq+F)c`u7m)N8Z)GlL zfRIM7p_R;hiV1q!M<$Gdp;5CWr;K{=qJpb5`1N(x=+YRfs$8jh8R`50O)BCA9a*Ac z!Ve5DM*-d0vB<0hSq{$Yl0VVUoM)_OY0{5t=3U86n*};yoE?o?i9a1Ok)RxrfrW+B z4+G3j3}*fm(yVJW;*Z43TAC^f*5~iX2k6Z%@jLPuBfhS-58>BKsAR@(JShrA^kCD@k=J(*H%oF;mLLZ?k4#AYYC zzM3W2=q1xaPv&luk>ehVY_QoSY&b5?`h1cI#|uKF$4)Lby;q?>mWYi`dm5)l<#+d2 zt33-nIn)d8H#4Je=9%zfhTZO-(3R!nqm=1VwJ$n_dM!1Rv3ZJV2j(wV$Qhbm0l)|9 zg}x^F9-IPm`=H7`Cu^;nEKQW((a}|~Vhw)ye~HLowRIXStLkhd{iDVTm<5)}gec8_ z)R$n}U0htGDXR*hn)$yzAW=r?kW1%&eXga2q4>cwpGXL^lx*L~`qjn%bI45bz|fF} z;;CvWZQO=Qkdl?M;+Z{BW1WOqiCSW%ouVl=FQ>C4QalO;(~!DS8O?%9RyRpjyYg>v zz>P^;F1k=ERa2iQRQN>;5^3l+=S}I(G_5@5Axn%+U2;;T*h%){;ISlGBb=?_HVZ1_?oDjY z`gmEY%Bwj3rBs3n4(UpMiaI~^<1MF8=W}KF&tahNGRQo?rzlN zUnCU@+ofN9q7>+=Kv?r0p=EV`)1*w{n9-5ghl(;{JjwBVg&P*{N0l=; zf7neS%{62)dao>&qKsDDDAzQysVcmc$yfCc|EQEzo%{fqG6S5;m6s4W!;F#{;6{$8 zHsVx%n>&)Kwb4|Kd*&;e)~$6D>gF7L9`(Qa$)5olE*qqTdaw3cDT}Z59vcdA=rGl1&I0tH7eoJ=_SDOm4`eq?fqaC(L_K)9HVy#S{vRc2y zVy=h&?7}lGK!H6yjC^B;>le4kL|a5hs;54~@yxkQ+BFbk7Taha+%N}10AU@rRd@TR zyYpUrFRrFbH^ZNWsM4&sjBNPFDJesG`u&tDjA=s;yLl~@F2f&oNoPY8fv5(Iv@8?j z?xolLWB5yzgG1es=JMHF=upQUF6DU?J>7Hr*4WLRXVw2!OY>oACVR-}skOA__CTJl z+1_;M^TmE%`bwQ`c5SVb4qTpRSd~On&(N0JWu-Rl(iDq^MmeAU)rtL z!&JztOWgd^-E|&1*X>TPa^kW0Y4gLCy>;r@y;Rfn(!^Rz5xM8b9ch@=M z+Pv=5yZR#o@jf(~&b`)?n}_#rmx2Dgv%TI^r{lSv`mvgFao_Q7`SLtjT!6d&>O6Ur z#)Df28-d`1XxGfM?_PMPQ|!LIP0X8BCqZq5xtL+w56W6zC-a{1B>3oBt~P$K@fz`P zJSL;3FS<^lGt}5@t^c&iAL{X6ZM~Y3UOm-SP~y6McpTz;2y3aoD%h=o98Gl6av8u! zVA>JazHPiK#anLJ*jHX{>|(}XA9dyNwC@g~D}he=7{B7Oy`PSEa_&S=(0_HdkNQ$M zwF{Rni~LNSUXI*|cCP?)-M3o37X0mcvxEwb>-yl4?X`%hq8;`+hgZki`V=U&!Sj4I z`NE0s?zxyVc;fYG?p)_Z=>>7s)nK@FL|wbqbFq<|t>xtS*rR#9)3EF`-r9=Ry{LNe zdK#s>=Ed-IhgGAdv8dn^GbC6x64F+D*=`jY&0v2&<&>WJl-M~vZQ;+XR2T)n0nHQb z5pNO0h@p2;0<9B*^+R2t{J#{)ekGDpvo|r9Z2OqJ20xpLr!6+IXI%R(ihhdgmFVN+Zu%7UWa8K=pWJd zj9&Cr^$YE)7Y+Nx267mJuO@{uI9m7G_Rfzz1Yg``BUSjyl^_EM?`i?j0zC%ZiQC3k z_{=^6f#PiM;7XFAJ|r&M;NXgsQfMRK6ReH#*b_eS}wxX*Wmv$J!*}+e^&h)8*ck*eC$+52#-lMQ?s7K0Esnp9E z#T?FRH4VrWC1kvLL&Dk%i?JCuIvbVcj7^-Ie}ic(S( zR%P*ec$&~K*+B%z@ufO5<82R0crayJ$j)T3^|RDmu$etbL_!}*XXf?^LzP;7No-9i zCF7PdXa5}du#Ts{HTNL)Sj!bK&?NTGzT<3`?MO8=VpcqIXw~%24aZHr#NUOT8=1vua>YpYSCU3WP)v??Io;rPB5D`etC*A|*Rn1^4n z3(W=SVmr7zz3TCB%C;}pgv~){1(gK1A3?SW& zl9EGrgGfmXDX1VIodQEjmo(BK(mlw)5OdFne{a0^%lqlB%Q_!s&2aYYv(G+z_VfJW z0h#*QDTI&2QfiYPkOf0<3oXrphT4}NXE8SVf6TMJXr zTN$ks{5hFuTUg9eAQLh)-D3pf!DYE~W=;|Vqw-+#tzk> z>HPh#D~~QLv=t^j_$5W%=^)8(GY6hMRlW#FaqaC@9t}17Y{~5NEHj7q=ht;m@B77u z!c!w3+|=DY3PAx(fTU20CBrVVgzeR_ozghy5LCnaK;an7#k4ZAn{205g1>g=7R-(} zI96}Z{66{1#gq+C!I_T7lj`pqA1s5!>5eK1g9JJ7dA3zNKhGpiBzt?GDjCiBmqbhM zIK|Q5QZ<+{P#I{)A*ZLCA8|B8$WvB3fRX#XJuwOgjNi$%jZEEf;!1V{A?yja)mNJj`CiyOmpf`=L zMKL)0%uAs#IrD+JX{^N?A@48&!fm>*-QcDlwCGSVUq3J7dP!a5<4jq zua;PPEt7Dm9?DOW8@ZEf%YeMk+LxTtmuFRi$rjH_qTwxe6kZy2Q%TOI+|e=M#I5q+ z99L+n4he+)jy9r4-_Q0wd{~NA>FwnpiTSmGcXak-k*mz7MXlNNcdu;>WpYpJ*RRHEsdAm3gyekZ>NCFF9oV#~7|bM) z0a$V7*_q$$P$Z;!Jv7oX?j#*s99LVy_AlmEo$-q}Uar00e1M&WlGaG2d?;OFu$7<; z*MVy&N^8v|<+*a6_#Fu54r8D+`a34Hp=(2#l?P({SH(wRWX2`9a15^5YyHAf_Pu%- zppCwN%k3s+7o=4UkYDSiC3FP!gA8oDetkWxn}?-Pi?F;HAOxx+Ei;pLWc%b}gkRRX5Hg*|}6>H*ge zNkM^;*T+%{Iv^=E*e8QG!KVZvFu5u(Sg3gDH|OFGd-scitLcVy634z&W@g5@$~P64 z1c?O|zrto-(K+qSeE}+0n0#@;q7(2sS|#VVR?d;UBk# z)X|5Q8Z`n%dzgeW0NeDr(6p-nb8+v-%Bb(*F~dY9z>{)}PAB5BFDurJ5L>^5C#{D_ zL5<*fSne4tA0DTo!eA@J!C5FF0v{m<9zuHUhyPd9#^p%NtgI~bAX9)`NGKKdhXx8S zZ{F)SV(?%Yn2yy^*+*4Y+-M%nf*M}jCM<{8A-EIqa z!>qiPb@et}*LG^n(z{tX0IAMUfEOpRQg%+;9RI?vpEZ^wcK0ZS-LGUXda70Z_*!ky(C%|9%01Qu zWygSu8OpE{3lcIOM~M*uR*%n?Bnu)Z03UGUX5U9E3T;_7Ha(v2I*28|T8z7Uj*2Y9 zohz4rW2|j!D&{tNN*$tR;~iiWpHWPM^VQi<2r-}d7N>L=>dq5b-H3tO8Q+|8o9Q)U zs;F4K&jE>L;!cx*9(O*G%qcsWf6rzw&V(hU+E^G-KwW3_+6C58ia+T^Aw>K@1cd2S z@%Ggy`Af)L%Xmcb`@tS!4OWr;)rzfJO(Dq3yE37)#kx?%|5a3<>jY$ZCQ^RUI3)32 zZu$JEsL|G$q|BlYbt<(FX%NpiLxMh#I@o?5eaQ*pUWuN3tHa8Q{y!mE&Q^w+>`CpT z^r5{I+iVl7@1J+LCY-j@lV#*6>xzqh3CTIJg*~tvb+JtsPH4yz_tRD~k{mPm-x1Xi zbD{qZqF&?VU4$qm!bXX4C=-f*OynAxfGRwST1)9_rdE z30C_mC;|AZf6Z6@lF=FZx}p9>?WE!Lo`?D;4)-GH56A?Qy@$g6BJ|Texau~K1t`2L zvAg4^?Av1CG&2xY`Dnc+#X$kJ1;e`hSI=V{OEk&rt$gm*R0E8oA;#$-tNAT{SFz;aXgQfPpl!1nvj;lGZ@24%KS4UFo&z(7l zyIDS({tffgLLct+aRF-_4!^*tswv`lbAEpQ5{x$u6vQ6g)%IzBYSTQPKgJJ-eM4Z7 zR2Y&pzhqGpdhl5TJMD7_OXAUdHGkT<(?>m-0Iv4oCHi#gBf>j;0o`rT4AwO@nQGk) zcd!B|+mPAs7F|Cnk+RY?WC>*SzU9ps25i^!C=Jz74g`gVPk0xMtPuBGDN{cMU`q`Q z!<*1HLX%pNZyyQ2+B1jnGCZ#}j8+ae&6dNOc@iouJvuMDg%^zuMiEq`1+Yklmuad* zE1NUg%z1k?T=>}Ocn^_!L*z&>9UEKJAP8h;!DjF4-}RO#2Pu2BQJ44qFrBtpg2_NtQgL_WE)uW8TY=9c*FheKzh0mjAs7Ni%AnWC zjoNl#ZwTB`Y$d|By~imyEbQdT#U_vNt}Wlp1zXbW=Fi9rtvjOQ6DkaE1T=|3Jc{=L zR1%v{z(~#odlh{1DBi4Q&&7uapG7xwH8HpERt?qMW2ZEE$W*xnm@bhr{evu~V!cE4 zEkbNF5fYq?LT;B-42QPg<_A1rbZ!nv5*)E`*B^S)`<|a8pyh35+G*>Dw|rPt*<*26 zDmgvoT&siGDa@H*BqH5$^rPq~@22*_>pn-)$C06N4GqgExFIk~_Bzj2nmZiyCrEI$jO*gO3R5FA3L=wv z#3b5Yd~4d1ZkOJ!eM=#NC3ZcsvU_W+7+R78~M{SsjcCUK7Aq~p{V#|Mf$y5;jdum}o zVe0Cye4ve@@x5ATD%2%`wxf<&*jSY2O2ti($wjW&CzTFH%jiuEKK{o;0m9S( zZ7Bb=utM0!Xb1}uLJsOuZwG1nge%|6UjOnXxNZMT^CsWs6`k8n9XYi3-QHDh8UsKy+_i9mlAzE$pjH8dW>{BMl zxRb$RQlw?raRT{W$I~ge@Z|}&>**#p2T7@?i}n-fl`ni^>WHZ#ngHdBWF9HyoB?|J zGz}1V0Cil>e6OZV0tPc9IY=@Fsk<^Y$W-E!xj#+yx|};kSU0;HRDkr0^dLH_`G-II zR(@rDta+j}C#qhr*>Xpw*5AnBr(H3gVd6l16kj}%SG;tyr zxwBIFX0#~zQO$?I=ax#mRIo=}Y--k@YCjwI|4j6S$c4J&afF3OdsQiSP5q9`#bo5K z(uxI&VQJ)50=9#-=FBfWe>+==-20>Bu3O-hgxUSc}V2Y4Pz+YclYtD$*$} z!Lnqj(le=k^V3c+Hl41S?}IE}0vzm6Eb;I}tH#1`KRe82Ba{IY8ak2UA1#h3D7$JJ z!hJLQ+AKYl_c_3>I72oeZQ+j3DqjDL<^qD+i`UIRN%bRcGt55$W2D}D+DA`K_} zzfAsr-cEqv7ScAZeO>5$a2t0 zYJ#eGbVv&Kj6RLwZjM}Bz0EZnTcB~<{69H>aNtT}&*_5E{suQ)NkAul*a*;){Edm6 zxdBa7Jq`I6qaLJ=JafK65m#?t#)9K#m>tnMH4C*_A;XuiA$rw>RYael`Ww4&&#+$NH? zlIa^4KPSrS;T2grKKTpXSKY~F`O2U#o<9+9dkc~EzJ7g|g{0gj87{~VF($?tN39=X z=J$@tVF3+J%k8=JBHqWW;ts<1hj`#74Q`tN6h^bw_G6a^$RaewVt@Uk$WsXdXorjl z-}NCQ*{>L>jiP>EFH;*q0sM-dU$&2@lA15Abk?WX7MthXXJVu-tfsW?GM`p%Z%yq) zur!v+@ne75Ubq*yy1781x^d_CeQ%Wx%Fd?dlei4pF_NS~bk*I=#T@Uy*jxnd>|Ul~ z(j1-Pc&pQIT>@|C>{FV^JeQGaZ?#>b!afF~)$tcM46bhkh`rnI7s?` z9O4xRsZ$?Mya^Z@fRdGK83Xze{isWkGG8D5&7+VAl3kx`8&ns zJX{>o$h(rCXT3MdPim#0JLMWdR9mva6A^fk`1q!;4jSrX@lSv{jeNIb?Ug{GT1FgV zZ!MTYq~}?-*S)pMKwD z6HMyc&O9}buS_Bu!)1)U@aAY=Us-42C#DypNsMEGZ1lYRTCi%(#Vj0&!@thF7Sr4| zQemd9+TB%9Nv!`xoR^T>^JdoqMe@Ta7*VR#bBziZ%!}FA<+xgNVD%VE=H4+!1StrI zJj268CkRBttR>}9se+b3p(XQQ?58ujqk8lQs&d5lR&yK~ufAla;UVUvj=fXnn%BlH zud1xdkmD!9m-;VCrWN78+(&M@WBGaevcoldR_`A@pxGhyVHIIDew4~gul-hTPoFuf zq>0sf47BsL60yX+K)wXM($>cIS~(nzmZ8@ZD>!v>d%BZbx*&a#XUO`TE{SV$&#Q|) znT)%)(9SDsdw2gXRuAdso9@z&tF7x^u?=}43Gq3;eo=B9$Qt?SX&U*1@o8Ah$YV5g zg6Vy96%~~RW6oqty%al=yPUK0h~b_245WW^!6nOZot>Sq4$=qemUG$7UnGJ!X+0>j z%|UeGkB=v3f)G1E2|D*ZJ-0j-Ev+cbGN?}`acGIr>Sxxldb=|>kX4f2V4qlp+%w6m zx%Vv1V#qJL5gk1J++ zLU*LUTSdqA^LaX;ucBxewYNQ)9una@cFlm8VKVBS|56E89^4a<; zVV{C$p6=IqVV?HxD#$hLP~0v+%ke8244B_ zbYI<>-A!@$Lz4FKeUiqo?{Y4PL^9&hRK6OtaMF(iNuU8ncTgn^L_7}?*?h+9x|vu* zY5M~fYR2tVN-`&FB4 zF~OIcW|2rI! zgFXyh6(4Wqc`eaaWx>MC=npxj!wGLBpYM~X$R#R>^Qb!8jKaO0t8=7#7(?~=Fz>#l zo6-84X8?b*VmYYoT>+Vtm?VROe0WE2;_JcH+I`2RuaF!#BIeNbM}+`Gv+vr6p2U^_ z%hmca5!aK;!$J-Q`EzewW6`rM-kfyEl@s3>)ooWf;&cCoQk#Zk+%b2pvCp2-Zdz0B zH6$|*i}tcPoiRa_-rl?-s2O)|K$|n1+HV!t{evehztCo8ci53x3h^!$3b!v{X*ASr zT)dAsv>Wz^f02#ArxN!(Xbr-U1Kb*`%get_P1Tjq7~?f@_LqWII$Il8WUPMA;=tBA z#&@hZ!?19(&t+x(mA^s{ZM9n5FNvB<`X@+OskZQreSCC1VvNWd$M1oL`ljo~)de(k z(5HEfb;iPmWPk@Du+Cq4MIZG`=wa21&75&k#+KRCi#USU>+}%j-n_<~ zqescuY<{|}4vn`KZhvLIO@m?SE%qfc^ht}wT-16FbmFCE(BR-;u?{L0+5-o2r53+` z|K5_M~HN~Xg4PhCV$M9p12?z@d_x}Vs zWYwtokT|vfXDx2G^U#fsB`J%nVZ?$5jY$GjSRNO(O4AITQ`#A0S{_wSE^cEumxz*JQwpiz-U4JvSoS^&CkZE?#Z*|^`MvDAy>1_oczv@H2l z`uWf3@9*sR&NLjKUbZ#v{vER4r<#4oH$lI?y{PNO1=?+FmC^e9&H)w@w5^WOz?Fsu O{3$*G$(72O2LA^XkUSv( diff --git a/src/main/java/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration.java b/src/main/java/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration.java new file mode 100644 index 00000000..faba6e2c --- /dev/null +++ b/src/main/java/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration.java @@ -0,0 +1,80 @@ +package org.jenkinsci.plugins.oic; + +import hudson.Extension; +import hudson.Util; +import hudson.model.AbstractDescribableImpl; +import hudson.model.Descriptor; +import hudson.util.FormValidation; +import java.io.Serializable; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import jenkins.model.Jenkins; +import org.kohsuke.stapler.DataBoundConstructor; +import org.kohsuke.stapler.DataBoundSetter; +import org.kohsuke.stapler.QueryParameter; +import org.kohsuke.stapler.verb.POST; +import org.springframework.lang.NonNull; + +public class OicQueryParameterConfiguration extends AbstractDescribableImpl + implements Serializable { + + private static final long serialVersionUID = 1L; + + private String paramName; + private String paramValue; + + @DataBoundConstructor + public OicQueryParameterConfiguration() {} + + public OicQueryParameterConfiguration(@NonNull String paramName, @NonNull String paramValue) { + if (Util.fixEmptyAndTrim(paramName) == null) { + throw new IllegalStateException("Parameter name '" + paramName + "' must not be null or empty."); + } + setQueryParamName(paramName.trim()); + setQueryParamValue(paramValue.trim()); + } + + @DataBoundSetter + public void setQueryParamName(String paramName) { + this.paramName = paramName; + } + + @DataBoundSetter + public void setQueryParamValue(String paramValue) { + this.paramValue = paramValue; + } + + public String getQueryParamName() { + return paramName; + } + + public String getQueryParamValue() { + return paramValue; + } + + public String getQueryParamNameDecoded() { + return paramName != null ? URLEncoder.encode(paramName, StandardCharsets.UTF_8).trim() : null; + } + + public String getQueryParamValueDecoded() { + return paramValue != null ? URLEncoder.encode(paramValue, StandardCharsets.UTF_8).trim() : null; + } + + @Extension + public static final class DescriptorImpl extends Descriptor { + @NonNull + @Override + public String getDisplayName() { + return "Query Parameter Configuration"; + } + + @POST + public FormValidation doCheckQueryParamName(@QueryParameter String queryParamName) { + Jenkins.get().checkPermission(Jenkins.ADMINISTER); + if (Util.fixEmptyAndTrim(queryParamName) == null) { + return FormValidation.error(Messages.OicQueryParameterConfiguration_QueryParameterNameRequired()); + } + return FormValidation.ok(); + } + } +} diff --git a/src/main/java/org/jenkinsci/plugins/oic/OicSecurityRealm.java b/src/main/java/org/jenkinsci/plugins/oic/OicSecurityRealm.java index 9ea95563..25846d0c 100644 --- a/src/main/java/org/jenkinsci/plugins/oic/OicSecurityRealm.java +++ b/src/main/java/org/jenkinsci/plugins/oic/OicSecurityRealm.java @@ -71,13 +71,18 @@ import java.util.ArrayList; import java.util.Base64; import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Random; +import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; import java.util.regex.Pattern; +import java.util.stream.Collectors; +import java.util.stream.Stream; import javax.annotation.PostConstruct; import javax.servlet.Filter; import javax.servlet.FilterChain; @@ -305,6 +310,9 @@ ClientAuthenticationMethod toClientAuthenticationMethod() { */ private transient ProxyAwareResourceRetriever proxyAwareResourceRetriever; + private List loginQueryParamNameValuePairs; + private List logoutQueryParamNameValuePairs; + @DataBoundConstructor public OicSecurityRealm( String clientId, @@ -357,6 +365,9 @@ protected Object readResolve() throws ObjectStreamException { // ensure escapeHatchSecret is encrypted this.setEscapeHatchSecret(this.escapeHatchSecret); + this.setLoginQueryParamNameValuePairs(this.loginQueryParamNameValuePairs); + this.setLogoutQueryParamNameValuePairs(this.logoutQueryParamNameValuePairs); + // validate this option in FIPS env or not try { this.setEscapeHatchEnabled(this.escapeHatchEnabled); @@ -397,6 +408,24 @@ protected Object readResolve() throws ObjectStreamException { return this; } + @DataBoundSetter + public void setLoginQueryParamNameValuePairs(List values) { + this.loginQueryParamNameValuePairs = values; + } + + public List getLoginQueryParamNameValuePairs() { + return loginQueryParamNameValuePairs; + } + + @DataBoundSetter + public void setLogoutQueryParamNameValuePairs(List values) { + this.logoutQueryParamNameValuePairs = values; + } + + public List getLogoutQueryParamNameValuePairs() { + return logoutQueryParamNameValuePairs; + } + public String getClientId() { return clientId; } @@ -505,7 +534,7 @@ ProxyAwareResourceRetriever getResourceRetriever() { return proxyAwareResourceRetriever; } - private OidcConfiguration buildOidcConfiguration() { + private OidcConfiguration buildOidcConfiguration(boolean addCustomLoginParams) { // TODO cache this and use the well known if available. OidcConfiguration conf = new CustomOidcConfiguration(this.isDisableSslVerification()); conf.setClientId(clientId); @@ -534,9 +563,37 @@ private OidcConfiguration buildOidcConfiguration() { if (this.isPkceEnabled()) { conf.setPkceMethod(CodeChallengeMethod.S256); } + if (addCustomLoginParams && loginQueryParamNameValuePairs != null && !loginQueryParamNameValuePairs.isEmpty()) { + Set forbiddenKeys = Set.of( + OidcConfiguration.SCOPE, + OidcConfiguration.RESPONSE_TYPE, + OidcConfiguration.RESPONSE_MODE, + OidcConfiguration.REDIRECT_URI, + OidcConfiguration.CLIENT_ID, + OidcConfiguration.STATE, + OidcConfiguration.MAX_AGE, + OidcConfiguration.PROMPT, + OidcConfiguration.NONCE, + OidcConfiguration.CODE_CHALLENGE, + OidcConfiguration.CODE_CHALLENGE_METHOD); + Map customParameterMap = + getCustomParametersMap(loginQueryParamNameValuePairs, forbiddenKeys); + LOGGER.info("Append the following custom parameters to the authorize endpoint: " + customParameterMap); + customParameterMap.forEach(conf::addCustomParam); + } return conf; } + Map getCustomParametersMap( + List queryParamNameValuePairs, Set forbiddenKeys) { + return queryParamNameValuePairs.stream() + .filter(c -> Util.fixEmptyAndTrim(c.getQueryParamName()) != null) + .filter(c -> !forbiddenKeys.contains(c.getQueryParamNameDecoded())) + .collect(Collectors.toMap( + OicQueryParameterConfiguration::getQueryParamNameDecoded, + OicQueryParameterConfiguration::getQueryParamValueDecoded)); + } + // Visible for testing @Restricted(NoExternalUse.class) protected void filterNonFIPS140CompliantAlgorithms(@NonNull OIDCProviderMetadata oidcProviderMetadata) { @@ -670,8 +727,8 @@ private void filterJwsAlgorithms(@NonNull OIDCProviderMetadata oidcProviderMetad } @Restricted(NoExternalUse.class) // exposed for testing only - protected OidcClient buildOidcClient() { - OidcConfiguration oidcConfiguration = buildOidcConfiguration(); + protected OidcClient buildOidcClient(boolean addCustomLoginParams) { + OidcConfiguration oidcConfiguration = buildOidcConfiguration(addCustomLoginParams); OidcClient client = new OidcClient(oidcConfiguration); // add the extra settings for the client... client.setCallbackUrl(buildOAuthRedirectUrl()); @@ -932,7 +989,7 @@ protected String getValidRedirectUrl(String url) { public void doCommenceLogin(@QueryParameter String from, @Header("Referer") final String referer) throws URISyntaxException { - OidcClient client = buildOidcClient(); + OidcClient client = buildOidcClient(true); // add the extra params for the client... final String redirectOnFinish = getValidRedirectUrl(from != null ? from : referer); @@ -1172,7 +1229,7 @@ public String getPostLogOutUrl2(StaplerRequest req, Authentication auth) { @VisibleForTesting Object getStateAttribute(HttpSession session) { // return null; - OidcClient client = buildOidcClient(); + OidcClient client = buildOidcClient(false); WebContext webContext = JEEContextFactory.INSTANCE.newContext(Stapler.getCurrentRequest(), Stapler.getCurrentResponse()); SessionStore sessionStore = JEESessionStoreFactory.INSTANCE.newSessionStore(); @@ -1183,22 +1240,49 @@ Object getStateAttribute(HttpSession session) { } @CheckForNull - private String maybeOpenIdLogoutEndpoint(String idToken, String state, String postLogoutRedirectUrl) { + String maybeOpenIdLogoutEndpoint(String idToken, String state, String postLogoutRedirectUrl) { final URI url = serverConfiguration.toProviderMetadata().getEndSessionEndpointURI(); if (this.logoutFromOpenidProvider && url != null) { - StringBuilder openidLogoutEndpoint = new StringBuilder(url.toString()); - + Map segmentsMap = new HashMap<>(); + Set segmentsSet = new HashSet<>(); if (!Strings.isNullOrEmpty(idToken)) { - openidLogoutEndpoint.append("?id_token_hint=").append(idToken).append("&"); - } else { - openidLogoutEndpoint.append("?"); + segmentsMap.put("id_token_hint", idToken); + } + if (!Strings.isNullOrEmpty(state) && !"null".equals(state)) { + segmentsMap.put("state", state); } - openidLogoutEndpoint.append("state=").append(state); - if (postLogoutRedirectUrl != null) { - openidLogoutEndpoint - .append("&post_logout_redirect_uri=") - .append(URLEncoder.encode(postLogoutRedirectUrl, StandardCharsets.UTF_8)); + segmentsMap.put( + "post_logout_redirect_uri", URLEncoder.encode(postLogoutRedirectUrl, StandardCharsets.UTF_8)); + } + Set forbiddenKeys = Set.of("id_token_hint", "state", "post_logout_redirect_uri"); + if (logoutQueryParamNameValuePairs != null && !logoutQueryParamNameValuePairs.isEmpty()) { + Map customParameterMap = + getCustomParametersMap(logoutQueryParamNameValuePairs, forbiddenKeys); + LOGGER.info("Append the following custom parameters to the logout endpoint: " + customParameterMap); + + customParameterMap.forEach((k, v) -> { + String key = k.trim(); + String value = v.trim(); + if (value.isEmpty()) { + segmentsSet.add(key); + } else { + segmentsMap.put(key, value); + } + }); + } + + StringBuilder openidLogoutEndpoint = new StringBuilder(url.toString()); + String concatChar = openidLogoutEndpoint.toString().contains("?") ? "&" : "?"; + if (!segmentsMap.isEmpty()) { + String joinedString = segmentsMap.entrySet().stream() + .map(entry -> entry.getKey() + "=" + entry.getValue()) + .collect(Collectors.joining("&")); + openidLogoutEndpoint.append(concatChar).append(joinedString); + concatChar = "&"; + } + if (!segmentsSet.isEmpty()) { + openidLogoutEndpoint.append(concatChar).append(String.join("&", segmentsSet)); } return openidLogoutEndpoint.toString(); } @@ -1243,7 +1327,7 @@ private String buildOAuthRedirectUrl() throws NullPointerException { * @throws ParseException if the JWT (or other response) could not be parsed. */ public void doFinishLogin(StaplerRequest request, StaplerResponse response) throws IOException, ParseException { - OidcClient client = buildOidcClient(); + OidcClient client = buildOidcClient(false); WebContext webContext = JEEContextFactory.INSTANCE.newContext(request, response); SessionStore sessionStore = JEESessionStoreFactory.INSTANCE.newSessionStore(); @@ -1386,7 +1470,7 @@ private boolean refreshExpiredToken( WebContext webContext = JEEContextFactory.INSTANCE.newContext(httpRequest, httpResponse); SessionStore sessionStore = JEESessionStoreFactory.INSTANCE.newSessionStore(); - OidcClient client = buildOidcClient(); + OidcClient client = buildOidcClient(false); // PAC4J maintains the nonce even though servers should not respond with an id token containing the nonce // https://openid.net/specs/openid-connect-core-1_0.html#RefreshTokenResponse // it SHOULD NOT have a nonce Claim, even when the ID Token issued at the time of the original authentication diff --git a/src/main/resources/org/jenkinsci/plugins/oic/Messages.properties b/src/main/resources/org/jenkinsci/plugins/oic/Messages.properties index f86d37fe..41c8027d 100644 --- a/src/main/resources/org/jenkinsci/plugins/oic/Messages.properties +++ b/src/main/resources/org/jenkinsci/plugins/oic/Messages.properties @@ -1,5 +1,8 @@ OicLogoutAction.OicLogout = Oic Logout +OicQueryParameterConfiguration.QueryParameterNameRequired = Query parameter name is required. +OicQueryParameterConfiguration.QueryParameterValueRequired = Query parameter value is required. + OicSecurityRealm.DisplayName = Login with Openid Connect OicSecurityRealm.CouldNotRefreshToken = Unable to refresh access token OicSecurityRealm.ClientIdRequired = Client id is required. diff --git a/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/config.jelly b/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/config.jelly new file mode 100644 index 00000000..5583a825 --- /dev/null +++ b/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/config.jelly @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/config.properties b/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/config.properties new file mode 100644 index 00000000..eeba9906 --- /dev/null +++ b/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/config.properties @@ -0,0 +1,2 @@ +QueryParameterName=Query Parameter Name +QueryParameterValue=Query Parameter Value diff --git a/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/help.html b/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/help.html new file mode 100644 index 00000000..c1484ebd --- /dev/null +++ b/src/main/resources/org/jenkinsci/plugins/oic/OicQueryParameterConfiguration/help.html @@ -0,0 +1,3 @@ +

+ Additional custom query parameters added to a URL. +
diff --git a/src/main/resources/org/jenkinsci/plugins/oic/OicSecurityRealm/config.jelly b/src/main/resources/org/jenkinsci/plugins/oic/OicSecurityRealm/config.jelly index fed2da9c..4beb002d 100644 --- a/src/main/resources/org/jenkinsci/plugins/oic/OicSecurityRealm/config.jelly +++ b/src/main/resources/org/jenkinsci/plugins/oic/OicSecurityRealm/config.jelly @@ -26,6 +26,28 @@ + + + + +
+
+
+ + + +
+
+
+
diff --git a/src/main/resources/org/jenkinsci/plugins/oic/OicSecurityRealm/config.properties b/src/main/resources/org/jenkinsci/plugins/oic/OicSecurityRealm/config.properties index fb8acda3..f5436878 100644 --- a/src/main/resources/org/jenkinsci/plugins/oic/OicSecurityRealm/config.properties +++ b/src/main/resources/org/jenkinsci/plugins/oic/OicSecurityRealm/config.properties @@ -14,6 +14,12 @@ EnablePKCE=Enable Proof Key for Code Exchange (PKCE) FullnameFieldName=Full name field name Group=Group GroupsFieldName=Groups field name +LoginLogoutQueryParametersTitle=Query Parameters for Login and Logout Endpoints +LoginLogoutQueryParamNameValuePairs.header=Query Parameter +LoginQueryParametersTitle=Query Parameters for Login Endpoint +LoginQueryParamNameValuePairs.add=Add Login Query Parameter +LogoutQueryParametersTitle=Query Parameters for Logout Endpoint +LogoutQueryParamNameValuePairs.add=Add Logout Query Parameter LogoutFromOpenIDProvider=Logout from OpenID Provider PostLogoutRedirectUrl=Post logout redirect URL Secret=Secret diff --git a/src/test/java/org/jenkinsci/plugins/oic/ConfigurationAsCodeTest.java b/src/test/java/org/jenkinsci/plugins/oic/ConfigurationAsCodeTest.java index d5de7619..e415e25b 100644 --- a/src/test/java/org/jenkinsci/plugins/oic/ConfigurationAsCodeTest.java +++ b/src/test/java/org/jenkinsci/plugins/oic/ConfigurationAsCodeTest.java @@ -11,6 +11,7 @@ import io.jenkins.plugins.casc.model.CNode; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import jenkins.model.Jenkins; import org.jenkinsci.plugins.oic.OicSecurityRealm.TokenAuthMethod; import org.junit.Rule; @@ -27,6 +28,7 @@ import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -68,6 +70,18 @@ public void testConfig() { assertTrue(oicSecurityRealm.isRootURLFromRequest()); assertEquals("http://localhost/jwks", serverConf.getJwksServerUrl()); assertFalse(oicSecurityRealm.isDisableTokenVerification()); + assertNotNull(oicSecurityRealm.getLoginQueryParamNameValuePairs()); + assertNotNull(oicSecurityRealm.getLogoutQueryParamNameValuePairs()); + assertEquals( + "loginkey1x\"xx@me=loginvalue1xxxx@you&?loginneu&/test==login?sunny%&/xx\"x", + oicSecurityRealm.getLoginQueryParamNameValuePairs().stream() + .map(config -> config.getQueryParamName() + "=" + config.getQueryParamValue()) + .collect(Collectors.joining("&"))); + assertEquals( + "logoutkey1x\"xx@me=logoutvalue1xxxx@you&?logoutneu&/test==logout?sunny%&/xx\"x", + oicSecurityRealm.getLogoutQueryParamNameValuePairs().stream() + .map(config -> config.getQueryParamName() + "=" + config.getQueryParamValue()) + .collect(Collectors.joining("&"))); } @Test @@ -120,8 +134,10 @@ public void testMinimal() throws Exception { assertEquals("sub", oicSecurityRealm.getUserNameField()); assertTrue(oicSecurityRealm.isLogoutFromOpenidProvider()); assertFalse(oicSecurityRealm.isRootURLFromRequest()); - assertEquals(null, serverConf.getJwksServerUrl()); + assertNull(serverConf.getJwksServerUrl()); assertFalse(oicSecurityRealm.isDisableTokenVerification()); + assertNull(oicSecurityRealm.getLoginQueryParamNameValuePairs()); + assertNull(oicSecurityRealm.getLogoutQueryParamNameValuePairs()); } @Rule(order = 0) @@ -163,6 +179,9 @@ public void testMinimalWellKnown() throws Exception { assertFalse(oicSecurityRealm.isDisableTokenVerification()); assertEquals(urlBase + "/well.known", serverConf.getWellKnownOpenIDConfigurationUrl()); + + assertNull(oicSecurityRealm.getLoginQueryParamNameValuePairs()); + assertNull(oicSecurityRealm.getLogoutQueryParamNameValuePairs()); } /** Class to setup WireMockRule for well known with stub and setting port in env variable diff --git a/src/test/java/org/jenkinsci/plugins/oic/OicQueryParameterConfigurationTest.java b/src/test/java/org/jenkinsci/plugins/oic/OicQueryParameterConfigurationTest.java new file mode 100644 index 00000000..616aaf36 --- /dev/null +++ b/src/test/java/org/jenkinsci/plugins/oic/OicQueryParameterConfigurationTest.java @@ -0,0 +1,81 @@ +package org.jenkinsci.plugins.oic; + +import hudson.Util; +import hudson.util.FormValidation; +import org.hamcrest.Matcher; +import org.jenkinsci.plugins.oic.OicQueryParameterConfiguration.DescriptorImpl; +import org.junit.ClassRule; +import org.junit.Test; +import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.WithoutJenkins; + +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.allOf; +import static org.hamcrest.Matchers.hasProperty; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThrows; +import static org.jvnet.hudson.test.JenkinsMatchers.hasKind; + +public class OicQueryParameterConfigurationTest { + + @ClassRule + public static JenkinsRule jenkinsRule = new JenkinsRule(); + + @Test + @WithoutJenkins + public void testOicQueryParameterConfiguration() { + assertThrows(IllegalStateException.class, () -> new OicQueryParameterConfiguration("", "")); + } + + @Test + @WithoutJenkins + public void testQueryParameterDecoded() { + OicQueryParameterConfiguration configClean = new OicQueryParameterConfiguration("key-1", "value-1"); + assertEquals("key-1", configClean.getQueryParamName()); + assertEquals("key-1", configClean.getQueryParamNameDecoded()); + assertEquals("value-1", configClean.getQueryParamValue()); + assertEquals("value-1", configClean.getQueryParamValueDecoded()); + + OicQueryParameterConfiguration configEmptyValue = new OicQueryParameterConfiguration("key-2", ""); + assertEquals("key-2", configEmptyValue.getQueryParamName()); + assertEquals("key-2", configEmptyValue.getQueryParamNameDecoded()); + assertEquals("", configEmptyValue.getQueryParamValue()); + assertEquals("", configEmptyValue.getQueryParamValueDecoded()); + configEmptyValue.setQueryParamName(null); + assertNull(configEmptyValue.getQueryParamName()); + assertNull(configEmptyValue.getQueryParamNameDecoded()); + configEmptyValue.setQueryParamValue(null); + assertNull(configEmptyValue.getQueryParamValue()); + assertNull(configEmptyValue.getQueryParamValueDecoded()); + + OicQueryParameterConfiguration config = + new OicQueryParameterConfiguration("key-a\"b/c?d#e:f@g&h=i+j$+k,l", "value-a\"b/c?d#e:f@g&h=i+j$+k,l"); + assertEquals("key-a\"b/c?d#e:f@g&h=i+j$+k,l", config.getQueryParamName()); + assertEquals("key-a%22b%2Fc%3Fd%23e%3Af%40g%26h%3Di%2Bj%24%2Bk%2Cl", config.getQueryParamNameDecoded()); + assertEquals("value-a\"b/c?d#e:f@g&h=i+j$+k,l", config.getQueryParamValue()); + assertEquals("value-a%22b%2Fc%3Fd%23e%3Af%40g%26h%3Di%2Bj%24%2Bk%2Cl", config.getQueryParamValueDecoded()); + } + + @Test + public void testDoCheckQueryParamName() { + DescriptorImpl descriptor = getDescriptor(); + assertThat( + descriptor.doCheckQueryParamName(null), + allOf(hasKind(FormValidation.Kind.ERROR), withMessage("Query parameter name is required."))); + assertThat( + descriptor.doCheckQueryParamName(""), + allOf(hasKind(FormValidation.Kind.ERROR), withMessage("Query parameter name is required."))); + assertThat(descriptor.doCheckQueryParamName("test"), hasKind(FormValidation.Kind.OK)); + } + + private static DescriptorImpl getDescriptor() { + return (DescriptorImpl) jenkinsRule.jenkins.getDescriptor(OicQueryParameterConfiguration.class); + } + + private static Matcher withMessage(String message) { + // the FormValidation message will be escaped for HTML, so we escape what we expect. + return hasProperty("message", is(Util.escape(message))); + } +} diff --git a/src/test/java/org/jenkinsci/plugins/oic/OicSecurityRealmTest.java b/src/test/java/org/jenkinsci/plugins/oic/OicSecurityRealmTest.java index 32d859cc..b9906b7e 100644 --- a/src/test/java/org/jenkinsci/plugins/oic/OicSecurityRealmTest.java +++ b/src/test/java/org/jenkinsci/plugins/oic/OicSecurityRealmTest.java @@ -3,6 +3,10 @@ import com.github.tomakehurst.wiremock.core.WireMockConfiguration; import com.github.tomakehurst.wiremock.junit.WireMockRule; import hudson.util.Secret; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; import org.acegisecurity.AuthenticationManager; import org.acegisecurity.BadCredentialsException; import org.acegisecurity.GrantedAuthority; @@ -12,12 +16,14 @@ import org.junit.Rule; import org.junit.Test; import org.jvnet.hudson.test.JenkinsRule; +import org.jvnet.hudson.test.WithoutJenkins; import org.springframework.security.crypto.bcrypt.BCrypt; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; public class OicSecurityRealmTest { @@ -142,4 +148,101 @@ public void testShouldCheckEscapeHatchWithHashedPassword() throws Exception { assertFalse(realm.doCheckEscapeHatch("otherUsername", escapeHatchPassword)); assertFalse(realm.doCheckEscapeHatch(escapeHatchUsername, "wrongPassword")); } + + @Test + @WithoutJenkins + public void testGetCustomLoginParameters() throws Exception { + TestRealm realm = + new TestRealm.Builder(wireMockRule).WithMinimalDefaults().build(); + Set forbiddenKeys = Set.of("forbidden-key"); + + Map unsortedMapExpected = Map.of( + "b", "%2C", + "%26test", "2%40%2B+%2C+%3F", + "a%2Ftest%23", "1", + "b%2B", "%24other%3Anew", + "d%3D", "2", + "e%3F", ""); + + OicQueryParameterConfiguration empty = new OicQueryParameterConfiguration("non-empty", ""); + empty.setQueryParamName(null); + empty.setQueryParamValue(null); + + Map unsortedMapResult = realm.getCustomParametersMap( + List.of( + new OicQueryParameterConfiguration("a/test#", "1"), + new OicQueryParameterConfiguration("b", ","), + new OicQueryParameterConfiguration("b+", "$other:new"), + new OicQueryParameterConfiguration("&test", " 2@+ , ?"), + new OicQueryParameterConfiguration("d=", " 2 "), + new OicQueryParameterConfiguration(" e? ", " "), + empty, + new OicQueryParameterConfiguration("forbidden-key", "test")), + forbiddenKeys); + assertEquals(new TreeMap<>(unsortedMapExpected), new TreeMap<>(unsortedMapResult)); + } + + @Test + @WithoutJenkins + public void testMaybeOpenIdLogoutEndpoint() throws Exception { + TestRealm realm = new TestRealm.Builder(wireMockRule) + .WithMinimalDefaults() + .WithLogout(Boolean.FALSE, "https://endpoint") + .build(); + assertNull(realm.maybeOpenIdLogoutEndpoint("my-id-token", null, "https://localhost")); + + realm = new TestRealm.Builder(wireMockRule) + .WithMinimalDefaults().WithLogout(Boolean.TRUE, null).build(); + assertNull(realm.maybeOpenIdLogoutEndpoint("my-id-token", null, "https://localhost")); + + realm = new TestRealm.Builder(wireMockRule) + .WithMinimalDefaults().WithLogout(Boolean.FALSE, null).build(); + assertNull(realm.maybeOpenIdLogoutEndpoint("my-id-token", null, "https://localhost")); + + realm = new TestRealm.Builder(wireMockRule) + .WithMinimalDefaults() + .WithLogout(Boolean.TRUE, "https://endpoint?query-param-1=test") + .build(); + assertEquals( + "https://endpoint?query-param-1=test&id_token_hint=my-id-token&post_logout_redirect_uri=https%3A%2F%2Flocalhost", + realm.maybeOpenIdLogoutEndpoint("my-id-token", null, "https://localhost")); + } + + @Test + @WithoutJenkins + public void testMaybeOpenIdLogoutEndpointWithNoCustomLogoutQueryParameters() throws Exception { + TestRealm realm = new TestRealm.Builder(wireMockRule) + .WithMinimalDefaults().WithLogout(true, "https://endpoint").build(); + assertEquals( + "https://endpoint?id_token_hint=my-id-token&post_logout_redirect_uri=https%3A%2F%2Flocalhost", + realm.maybeOpenIdLogoutEndpoint("my-id-token", "null", "https://localhost")); + assertEquals( + "https://endpoint?id_token_hint=my-id-token&post_logout_redirect_uri=https%3A%2F%2Flocalhost", + realm.maybeOpenIdLogoutEndpoint("my-id-token", null, "https://localhost")); + assertEquals( + "https://endpoint?id_token_hint=my-id-token&state=test&post_logout_redirect_uri=https%3A%2F%2Flocalhost", + realm.maybeOpenIdLogoutEndpoint("my-id-token", "test", "https://localhost")); + assertEquals("https://endpoint", realm.maybeOpenIdLogoutEndpoint(null, null, null)); + } + + @Test + @WithoutJenkins + public void testMaybeOpenIdLogoutEndpointWithCustomLogoutQueryParameters() throws Exception { + TestRealm realm = new TestRealm.Builder(wireMockRule) + .WithMinimalDefaults() + .WithLogoutQueryParameters(List.of( + new OicQueryParameterConfiguration("key1", " with-spaces "), + new OicQueryParameterConfiguration("param-only", ""), + new OicQueryParameterConfiguration("id_token_hint", "overwrite-test-1"), + new OicQueryParameterConfiguration("post_logout_redirect_uri", "overwrite-test-2"), + new OicQueryParameterConfiguration("state", "overwrite-test-3"))) + .WithLogout(true, "https://endpoint") + .build(); + String result = realm.maybeOpenIdLogoutEndpoint("my-id-token", "test", "https://localhost"); + assertNotNull(result); + assertFalse(result.contains("overwrite-test")); + assertEquals( + "https://endpoint?key1=with-spaces&id_token_hint=my-id-token&state=test&post_logout_redirect_uri=https%3A%2F%2Flocalhost¶m-only", + result); + } } diff --git a/src/test/java/org/jenkinsci/plugins/oic/PluginTest.java b/src/test/java/org/jenkinsci/plugins/oic/PluginTest.java index 4d2fcb34..f54dc880 100644 --- a/src/test/java/org/jenkinsci/plugins/oic/PluginTest.java +++ b/src/test/java/org/jenkinsci/plugins/oic/PluginTest.java @@ -374,6 +374,25 @@ public void testLoginWithAutoConfiguration() throws Exception { assertTestUserIsMemberOfTestGroups(user); } + @Test + public void testLoginWithCustomLoginParameters() throws Exception { + mockAuthorizationRedirectsToFinishLogin(); + mockTokenReturnsIdTokenWithGroup(); + mockUserInfoWithTestGroups(); + configureWellKnown(null, null); + jenkins.setSecurityRealm(new TestRealm.Builder(wireMockRule) + .WithMinimalDefaults() + .WithAutomanualconfigure(true) + .WithLoginQueryParameters(List.of( + new OicQueryParameterConfiguration("queryLoginParamName", "queryLoginParamValue"))) + .build()); + assertAnonymous(); + browseLoginPage(); + var user = assertTestUser(); + assertTestUserEmail(user); + assertTestUserIsMemberOfTestGroups(user); + } + @Test public void testLoginWithAutoConfiguration_WithNoScope() throws Exception { mockAuthorizationRedirectsToFinishLogin(); @@ -1000,7 +1019,28 @@ public void testLogoutShouldBeProviderURLWhenProviderLogoutConfigured() throws E logoutURL[0] = oicsr.getPostLogOutUrl2(Stapler.getCurrentRequest(), Jenkins.ANONYMOUS2); return null; }); - assertEquals("http://provider/logout?state=null", logoutURL[0]); + assertEquals("http://provider/logout", logoutURL[0]); + } + + @Test + public void testLogoutShouldBeProviderURLWhenProviderLogoutConfiguredWithAdditionalLogoutQueryParameters() + throws Exception { + final TestRealm oicsr = new TestRealm.Builder(wireMockRule) + .WithLogoutQueryParameters(List.of( + new OicQueryParameterConfiguration("hello", "world"), + new OicQueryParameterConfiguration("state", "test"), + new OicQueryParameterConfiguration("single", ""), + new OicQueryParameterConfiguration("id_token_hint", "other"))) + .WithLogout(Boolean.TRUE, "http://provider/logout") + .build(); + jenkins.setSecurityRealm(oicsr); + + String[] logoutURL = new String[1]; + jenkinsRule.executeOnServer(() -> { + logoutURL[0] = oicsr.getPostLogOutUrl2(Stapler.getCurrentRequest(), Jenkins.ANONYMOUS2); + return null; + }); + assertEquals("http://provider/logout?hello=world&single", logoutURL[0]); } @Test @@ -1018,7 +1058,7 @@ public void testLogoutShouldBeProviderURLWithRedirectWhenProviderLogoutConfigure return null; }); assertEquals( - "http://provider/logout?state=null&post_logout_redirect_uri=http%3A%2F%2Fsee.it%2F%3Fcat%26color%3Dwhite", + "http://provider/logout?post_logout_redirect_uri=http%3A%2F%2Fsee.it%2F%3Fcat%26color%3Dwhite", logoutURL[0]); } diff --git a/src/test/java/org/jenkinsci/plugins/oic/TestRealm.java b/src/test/java/org/jenkinsci/plugins/oic/TestRealm.java index eec1d58e..d1de39ad 100644 --- a/src/test/java/org/jenkinsci/plugins/oic/TestRealm.java +++ b/src/test/java/org/jenkinsci/plugins/oic/TestRealm.java @@ -8,6 +8,7 @@ import java.io.IOException; import java.io.ObjectStreamException; import java.text.ParseException; +import java.util.List; import org.kohsuke.stapler.StaplerRequest; import org.kohsuke.stapler.StaplerResponse; import org.pac4j.core.context.WebContext; @@ -40,6 +41,8 @@ public static class Builder { public String fullNameFieldName = FULL_NAME_FIELD; public String emailFieldName = null; public String scopes = null; + public List loginQueryParameters = null; + public List logoutQueryParameters = null; public String groupsFieldName = null; public boolean disableSslVerification = false; public Boolean logoutFromOpenidProvider = false; @@ -115,6 +118,16 @@ public Builder WithScopes(String scopes) { return this; } + public Builder WithLoginQueryParameters(List values) { + this.loginQueryParameters = values; + return this; + } + + public Builder WithLogoutQueryParameters(List values) { + this.logoutQueryParameters = values; + return this; + } + public Builder WithMinimalDefaults() { return this.WithEmailFieldName(EMAIL_FIELD).WithGroupsFieldName(GROUPS_FIELD); } @@ -196,6 +209,8 @@ public TestRealm(Builder builder) throws Exception { this.setEscapeHatchSecret(builder.escapeHatchSecret); this.setEscapeHatchGroup(builder.escapeHatchGroup); this.setDisableTokenVerification(builder.disableTokenValidation); + this.setLoginQueryParamNameValuePairs(builder.loginQueryParameters); + this.setLogoutQueryParamNameValuePairs(builder.logoutQueryParameters); // need to call the following method annotated with @PostConstruct and called // from readResolve and as such // is only called in regular use not code use. @@ -267,7 +282,7 @@ public void doFinishLogin(StaplerRequest request, StaplerResponse response) thro // only hack the nonce if the nonce is enabled WebContext webContext = JEEContextFactory.INSTANCE.newContext(request, response); SessionStore sessionStore = JEESessionStoreFactory.INSTANCE.newSessionStore(); - OidcClient oidcClient = buildOidcClient(); + OidcClient oidcClient = buildOidcClient(true); sessionStore.set(webContext, oidcClient.getNonceSessionAttributeName(), "nonce"); } super.doFinishLogin(request, response); diff --git a/src/test/resources/org/jenkinsci/plugins/oic/ConfigurationAsCode.yml b/src/test/resources/org/jenkinsci/plugins/oic/ConfigurationAsCode.yml index fbd70922..ea0b686c 100644 --- a/src/test/resources/org/jenkinsci/plugins/oic/ConfigurationAsCode.yml +++ b/src/test/resources/org/jenkinsci/plugins/oic/ConfigurationAsCode.yml @@ -25,3 +25,13 @@ jenkins: sendScopesInTokenRequest: true pkceEnabled: true nonceDisabled: true + loginQueryParamNameValuePairs: + - queryParamName: "loginkey1x\"xx@me" + queryParamValue: "loginvalue1xxxx@you" + - queryParamName: "?loginneu&/test=" + queryParamValue: "login?sunny%&/xx\"x" + logoutQueryParamNameValuePairs: + - queryParamName: "logoutkey1x\"xx@me" + queryParamValue: "logoutvalue1xxxx@you" + - queryParamName: "?logoutneu&/test=" + queryParamValue: "logout?sunny%&/xx\"x" diff --git a/src/test/resources/org/jenkinsci/plugins/oic/ConfigurationAsCodeExport.yml b/src/test/resources/org/jenkinsci/plugins/oic/ConfigurationAsCodeExport.yml index b8d603a2..6adcb677 100644 --- a/src/test/resources/org/jenkinsci/plugins/oic/ConfigurationAsCodeExport.yml +++ b/src/test/resources/org/jenkinsci/plugins/oic/ConfigurationAsCodeExport.yml @@ -6,6 +6,16 @@ escapeHatchGroup: "escapeHatchGroup" escapeHatchUsername: "escapeHatchUsername" fullNameFieldName: "fullNameFieldName" groupsFieldName: "groupsFieldName" +loginQueryParamNameValuePairs: +- queryParamName: "loginkey1x\"xx@me" + queryParamValue: "loginvalue1xxxx@you" +- queryParamName: "?loginneu&/test=" + queryParamValue: "login?sunny%&/xx\"x" +logoutQueryParamNameValuePairs: +- queryParamName: "logoutkey1x\"xx@me" + queryParamValue: "logoutvalue1xxxx@you" +- queryParamName: "?logoutneu&/test=" + queryParamValue: "logout?sunny%&/xx\"x" nonceDisabled: true pkceEnabled: true rootURLFromRequest: true