From 60154db66f5b4577725b6bb274407f6cf891c693 Mon Sep 17 00:00:00 2001 From: dragdra Date: Fri, 11 Apr 2025 17:29:41 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B3=B0=ED=94=BD=20size=EB=A5=BC=20=EA=B5=AC?= =?UTF-8?q?=ED=95=98=EB=8A=94=20=EB=B6=80=EB=B6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 250411_DIC_0000A_채점결과.xlsx | Bin 19834 -> 19931 bytes 250411_DIC_0000B_채점결과.xlsx | Bin 18854 -> 18854 bytes DIC_0000A.json | 19 +++--- gpdpScoring.js | 64 ++++++++++++------ psdExport_2.js | 4 +- z.xbook | 2 +- .../0000/excel_채점기준표/DIC_0000B.xlsx | Bin 18245 -> 18899 bytes 7 files changed, 58 insertions(+), 31 deletions(-) diff --git a/250411_DIC_0000A_채점결과.xlsx b/250411_DIC_0000A_채점결과.xlsx index 823013a16a51b84561ef70a5033615cfb2438b34..cbcecf689318a6bc3e031c3c87e20ff31ed1179a 100644 GIT binary patch delta 764 zcmZ9KKWGzC9LMtxX(I^U3+_d9t-j$V`fUh(X~ z{xCbFsnl?=TTBz;5Be96rAto0x?#XJ!eC==^J-zyErdZgH2=>ox!5*ToR)IfDapjc zbGHE5n}`*|S~-VoStdUE`m~7LR`EgP9+qYNC^tzBraldq%lO1JZ0ahQE@Mw$K~JZI zi(iU}(XaK2Ce-7~Gd!wfi2b*Y#3RYjFmgDpWYbOzY0YEHP~aFdcxU8s&!E{6y_=xt z5xxeun#Z9*$M_PDI$_wUs%TYd%&+|6SDBhgdc$jDphz-2Wh!cn;w@|8C6gt~gvk|R zq9Y#ariv3bYH(Vzq7F6m%{?O()WTQm3f@?BvNjqV=4=Ib*#$I3v9wLed^8kEcoq5kUL^0^GQQg@_+nGkoi?ft zMc-+m=R}TQa}*IHeBaeBC-z{`9yy=H7Sj>_esndgx)eX%E{@#HKc6RKWuEf|VZ3D5 zZ6B*%aVAQ1L(fZ$OT51DI>a9wdxulwwZ-Sz|wW2lcwtU)(FTG ToNtEGnI+tA7AI~kr^NXU-nZd$ delta 733 zcmZ8fOK1~O6z!WuqMMSJ+Np^Xkw~r*R=J zZOcKhD%c`jxKIi~aA6mM_(5dKufzX*2aO;VI(7WZ84d-uG1&fJf8+3p>-y;9mA z-ndX%;$ve=-P@&oj0N4zW51M)AKC3VvRiS~I$#CUEO@R&-b z$MH!fSRstPgjKNWoyTcEdvIX($a2)Aq$vvseGN~1&b&PXQi|-Q4%X>lF5r0SxA7uS za|2Iv`j>g~W-al}%QYpK7%eAn)Dho&U0X;7BKy{TCnEsx CJQH~U delta 47 zcmZ2BnQ_@<#tr?dEFt&)&)Ga#^)K^eQGM~v%QYpKCNI<#-+WD5SOy~Z)_o@<0O(j0 AZ2$lO diff --git a/DIC_0000A.json b/DIC_0000A.json index 497576d..37bec35 100644 --- a/DIC_0000A.json +++ b/DIC_0000A.json @@ -491,8 +491,7 @@ }, "8": { "type": "size", - "posX": "//Layer//op_points[Item]/Item[last()]/X/@value - //Layer//op_points[Item]/Item[1]/X/@value", - "posY": "//Layer//op_points[Item]/Item[last()]/Y/@value - //Layer//op_points[Item]/Item[1]/Y/@value", + "ele": "//Layer//op_points", "value": { "width": 130, "height": 80 @@ -545,7 +544,9 @@ "desc": "배경색 문항은 채점 불가" }, "3": { - "ele": "//Layer[contains(Name/@value, 'Layer 2')][MaskOpType/@value='Layering']", + "type": "isExist", + "ele": "//Layer/MaskOpType/@value", + "value": "Layering", "point": 6 }, "4": { @@ -554,14 +555,14 @@ "desc": "가로방향 흐릿하게 문항은 채점 불가" }, "5": { - "ele": "//Layer[contains(Name/@value, 'Layer 3')]//shape_type/@value", - "answer": "ROUNDED_RECTANGLE", + "type": "isExist", + "ele": "//Layer//shape_type/@value", + "value": "ROUNDED_RECTANGLE", "point": 3 }, "6": { "type": "size", - "posX": "//Layer[contains(Name/@value, 'Layer 3')]//op_points[Item]/Item[last()]/X/@value - //Layer[contains(Name/@value, 'Layer 3')]//op_points[Item]/Item[1]/X/@value", - "posY": "//Layer[contains(Name/@value, 'Layer 3')]//op_points[Item]/Item[last()]/Y/@value - //Layer[contains(Name/@value, 'Layer 3')]//op_points[Item]/Item[1]/Y/@value", + "ele": "//Layer//op_points", "value": { "width": 370, "height": 60 @@ -571,6 +572,7 @@ }, "7": { "type": "gradient", + "ele": "//Layer/Shapes/shape/*[starts-with(name(), 'gradiant')]", "startColor": "//Layer[contains(Name/@value, 'Layer 3')]//gradient_start_color/@value", "endColor": "//Layer[contains(Name/@value, 'Layer 3')]//gradient_end_color/@value", "value": { @@ -635,8 +637,7 @@ }, "17": { "type": "size", - "posX": "//Layer[contains(Name/@value, 'Layer 5')]//op_points[Item]/Item[last()]/X/@value - //Layer[contains(Name/@value, 'Layer 5')]//op_points[Item]/Item[1]/X/@value", - "posY": "//Layer[contains(Name/@value, 'Layer 5')]//op_points[Item]/Item[last()]/Y/@value - //Layer[contains(Name/@value, 'Layer 5')]//op_points[Item]/Item[1]/Y/@value", + "ele": "//Layer//op_points", "value": { "width": 150, "height": 150 diff --git a/gpdpScoring.js b/gpdpScoring.js index a814480..df8d2eb 100644 --- a/gpdpScoring.js +++ b/gpdpScoring.js @@ -144,6 +144,7 @@ function getGpdpScore(gpdpData, scoringJson, index) { const items = xpath.select(ele, gpdpXmlDoc); let matched = false; + // 각 Item 요소별 이름과 속성값을 구하고 정답과 비교 for (const item of items) { const name = xpath.select1('Name/@value', item)?.value; @@ -294,37 +295,62 @@ function getGpdpScore(gpdpData, scoringJson, index) { } } else if (type == "size") { - let posX = scoringData[key].posX; - let posY = scoringData[key].posY; + const items = xpath.select(ele, gpdpXmlDoc); + let matched = false; - let answerWidth = rightAnswer["width"]; - let answerHeight = rightAnswer["height"]; + // 각 Item 요소별 x,y 좌표 시작점과 끝점의 거리를 계산해 정답과 비교 + for (const item of items) { + const x1 = Number(xpath.select1('Item[1]/X/@value', item)?.value); + const x2 = Number(xpath.select1('Item[last()]/X/@value', item)?.value); + const y1 = Number(xpath.select1('Item[1]/Y/@value', item)?.value); + const y2 = Number(xpath.select1('Item[last()]/Y/@value', item)?.value); - let width = xpath.select(posX, gpdpXmlDoc); - let height = xpath.select(posY, gpdpXmlDoc); - width = Math.round(width); - height = Math.round(height); + const width = Math.round(Math.abs(x2 - x1)); + const height = Math.round(Math.abs(y2 - y1)); - console.log(`width:${answerWidth},${width}, height: ${answerHeight},${height}`); - if (answerWidth === width && answerHeight === height) { - totalScore += point; - scoringResult[key] = point; - console.log("same size"); + if ( width === rightAnswer["width"] && height === rightAnswer["height"]) { + totalScore += point; + scoringResult[key] = point; + matched = true; + console.log("✅ 정답 일치:", rightAnswer); + break; + } } - else { + if (!matched) { scoringResult[key] = 0; - console.log("different size"); + console.log("❌ 정답 없음:", rightAnswer); } + // let posX = scoringData[key].posX; + // let posY = scoringData[key].posY; + + // let answerWidth = rightAnswer["width"]; + // let answerHeight = rightAnswer["height"]; + + // let width = xpath.select(posX, gpdpXmlDoc); + // let height = xpath.select(posY, gpdpXmlDoc); + // width = Math.round(width); + // height = Math.round(height); + + // console.log(`width:${answerWidth},${width}, height: ${answerHeight},${height}`); + // if (answerWidth === width && answerHeight === height) { + // totalScore += point; + // scoringResult[key] = point; + // console.log("same size"); + // } + // else { + // scoringResult[key] = 0; + // console.log("different size"); + // } } else if (type == "gradient") { - let startColor = scoringData[key].startColor; - let endColor = scoringData[key].endColor; + let getStartColorXpath = scoringData[key].startColor; + let getEndColorXpath = scoringData[key].endColor; let answerStartColor = rightAnswer["startColor"]; let answerEndColor = rightAnswer["endColor"]; - let start = xpath.select(startColor, gpdpXmlDoc); - let end = xpath.select(endColor, gpdpXmlDoc); + let startColor = xpath.select1(getStartColorXpath, gpdpXmlDoc)?.value; + let endColor = xpath.select1(getEndColorXpath, gpdpXmlDoc)?.value; // console.log(start[0].value, end[0].value); if (start.length == 0 || end.length == 0) { diff --git a/psdExport_2.js b/psdExport_2.js index 3f149e4..4ff182a 100644 --- a/psdExport_2.js +++ b/psdExport_2.js @@ -13,8 +13,8 @@ const todayDate = getToday(); const examRound = '0000'; const examTypes = [ - // 'A', - 'B', + 'A', + // 'B', // 'C', // 'D' ]; diff --git a/z.xbook b/z.xbook index 35ba623..8da343c 100644 --- a/z.xbook +++ b/z.xbook @@ -1 +1 @@ -[{"kind":2,"language":"xpath","value":"//Layer[Name[@value='Tracking']]/Effects/Item/Name/@value"}] \ No newline at end of file +[{"kind":2,"language":"xpath","value":"//Layer[Name[@value='Tracking']]/Effects/Item/Name/@value"},{"kind":2,"language":"xpath","value":"//Layer//op_points"}] \ No newline at end of file diff --git a/회차별채점자료/0000/excel_채점기준표/DIC_0000B.xlsx b/회차별채점자료/0000/excel_채점기준표/DIC_0000B.xlsx index a18c573681f8a8b52577c9adb88052ccb9636cd5..cb0ad0b38fad718dab2a89ce2f64d62fd93fb949 100644 GIT binary patch delta 12099 zcmZ9ybyOce^eu`OcXxMpcX#&!#ob*8cmLq-Rw!N^io3fNhvF1>UcdL<^?vW(`6Fv) zWhXf~=Ok;-PKFY|7eL_kM_=HaIN2G9Ai==qL04aJff=U-R?HrXzaqGHE6gtI}J*J5Dc6Spy zx~r265G4c!=Ca-&tR8KKTZK~}RX#y(!loM`F0I+8dWmmCj(5Kh#D*0fVUhh4O^tXT zqA!`J4|Ra-QCG!VZ_rdLNETZi`feeJ#wHruhbK6;a&sajhNc*b)YE%(Nenqg?SLlgI2>_{$6QcJ(po0Xi}LK($_atxgCl zpe-?Eu84IOqZ^FO^8R8xb-21E8q`0h@xZ^IB4!fY^GnCN>UcKK9aIfw!EV3%W4}kX zFJL8OQK{5>NbpeDzj62Bi{azrD`@PbHMVJg>~VkWxD}-0#L|=7MlHxp;K#Vhd^7{( zEBEv~zh8z5&{%co3Vf1UpPta-p_capX?yQiNx?GnbW)vFlp&8|S7?-%cw3R2A-Zo9 z^dzGBvK|5tr4m0;I`3PQE9N*E?j0*Ms<`~LEm~}Iu+&>#-ff$l9{rBccqtr4FgP{( z%EUR{5mrQz5z3MHnVAON*)M0T2~VR=DqNK`))SfsUYPyI)@bu=OSRlrVx*vm$$SMHoPy0eAjaML#_miP>ES}3W%ad(iy5ay$Lfj!uy`! zK2A3EiIG_KbmGW&6H21XG5JMn8SpN|VKV?4Npe*+gq0tXaSO>tG7~pjw z;3+;ku_dv=!18=R@rcYoq#>$_7FN*@U)80H-F03JQ?!vP2W5l%Edft-(PGm%@@rnt z52uf48by+aMoNQO=}P)C7gRL}ES;=MZMyfr0dt)dgSy%lHJVtZcVH31lfQeiE>n$i zAbz1!YEqYlx7<@ABC&|FV^rePZ;qvXKm=M#B zLk7P7jSm~=Mn$4(`m>E$%uS?pW8j=}a$kPwLS-k(C`EVPCqb9&f74c-YB_;^_Im_! zc+6;@r_Z=oVSj~%U9PW%oxT-3WnlQ$;(6bhkUfyna2dd$CJw{@*-x|sm)13{E-2WT zf>HA+zxoH(Em1)Q;3ii%DX4tEV;y#kQkH0a%$P3E`i0@Cg@)uKzdZy>^n%2nF7F8r zgkQ~S;%l&fhN5yt$fPVEtbV~bco0gpkUws_u1WRZnY$* z^JnF3^GH72gxdJ3(4GNTEpkX1@^C+?29CAgBYC6t$?C@g#QuhU-;p4beX>QEjX?=`jOi^*SK226PN&+-V}^vqp$`Hq)^^==6*w#{?#-A zSfklEeWYPPJ5<=opVg}t+w410cPjEHS+`VNZK;d5*{}=4$Z9(gOvz^k?u+FU3>etw zC)j^Qv!P+#=1;VDhT(vi-9fLG@9!P;NQ(?MI$p^Y#Uj6)FZgNEaen6f{Ol<`isN*X zJzbunM+pwFl$E!7@`zY`Sz1vc5%#zH9pLwPv;<_#eEL2d-Wz&6o}Y>Qet+P4J1K$( zp6@R14ZD5XyZs(M3XFRLKJIUJGkT>MGd~QMu6~QW-HS{`)?JCbVb?EBOl{@pT$ynJ zG51|P0*hWVA-i@#0HC3@^!;^vyQ>30sc0=(5K7Vr;e?x~mdzkNhH9sjbxMA{exZOl z0}x@f-d*!3b~h@Fe}BGT9J5nwB&X;)6q@^0IK6Uy$?ZN56O zU-cSw*JwZV{`&oRAEkSC)_MKeAW>5#5GCVXGiP=sq`c>{ikFe+WwX;rqUX3^tJ9-c zL5!d2rXSXE2~8Xv{?{b2XW8g0{i`rm3-D%rQpv43u%vfZRTHa?YdRM7zCRb!5;5(| zdevIw9Ib$hNdXB1pW#i&B=^cRWOt`_V<5IHvw>n8gS-BFVsJ0sN|RLD_KJLX%7s>L z*eEV-KaczqwjeFwudT|~wZ6tXvw6`U2(s9gh$NzlXQ`y_ys(pamAyuTHQt3bdtlJY z%=k(6Y9l5QVLf^MbkK^yrAT_Zl9Yr~P)yj`6j5w}_zpHqToN?41YMuse=d$yo((OI zWp`hMZZ5)vOe5ym`L_jM%%AX2nf_lFmrDA*4h$NokcfLct^>$mnNb+=IBrx?e^Oig z$(5~5-8B~UAl>gML8RPZA%quy)_{e#tzTB~1`M#!LA;lPaNwl;)0Jc-U~JgsENtsw zU`1fFzq(vC9HGLfz6GP9+TDYr4t^0$T4yF%idjK%aSb(9(ePvt#>6mEAB1Bo(w?pq zv-HS*Wp?}L2`!;1Wl>t{uAtSlR{AMrllZTs+zr|!1Y-8~P%aI8vkzrx1wbWvITDeQ zRPB?hwf8P6O;|(}e@TSD^--Kq{!G{x*zgD($=7K_w20Ot)x)Z?ND!!E$UR@qev!#h6*Jo0g4g(|vs?ivtyA z+>xj#?ls(cR#-|-O4LnHq1RPjmod5!7s1xGK#DMuiwo+%{|yK<A-@M(Gl((PYf_n(2b+N5esC0OLhbwZ-C->cv^-zHQ2W5Vwhju+VZ0 zEPtP!6;3;(!p#_9qnJ~w3L^`Hpx~If60RzmOfrn~N3Ae>_@P9cQ@nD&CHO6Am z)B88Cx~Clmyr@P6f7J>U7u_N~r^hVvtS5S~m1ra@lfVD%aqrvPKzksp+rn)@Ang0+ zQ2V+t;PJ_(j3*dxoRX69vWqT{{pRt%_8CFJvP#H7TJ=RD(ZFY5PJ@kj)v|OOans~7o$Qgg%1sCVMfW@ra=iKK! zwa_W5$*ut2ogzcR%_(Yf#7mPjXeHsJAv%exN*`TzIT7?dl!vrz@NA6B)`?Ylw;Hni z^)pqjZ?cmqXRK7vdKheI{KSxRh`sv<j5s z+DS8VcrDnLOoHW9B00FLF6z{a0N&vc5=ywWnA;1}tY}I4o1(ZBkCcSOr3vPj z^X(ZF&E>A7hF0Tn=YY4eNilNG-!cB+{ilA-@C7e|`19bm1S}hC565bKYChCP5;@Mh z)%713vbdT1-l^^rVcuwuxdW1Y>c|*J=+E<#HhI5F3~ufnHXUt8@bJxp;n#xh*++nD ziI!&Bv*iD#$%BbrDP z1ngf~Ocn^=7yB`s$>ai2CVGk+0JK#FTEw!m)l?@phR-M`66~N7@k{S9QzFvOBLkY^ z%89G*g-DVNf`j#x^2C|`MebJZdfq1T>h0H8QsdfZ8yS+VB$1x@tLK`+&<(=p3EJZ% z_x*g7QA16^>vq`Ox1-23_vPq1$i8THRk^_fJ}yfMGEsBrz;5Qt^KS!Hz{mHKr~29Ql+!veCGZ@pEu{Vd;`SE)#tY(xV<# zw}PYD4E@P9Ypint{YeoOPzRN?Pt5PTUjOr&{PMXGt1H#7X93bJ+Rvt?Ua_#|>`{+w z>XEU|`bWLkIwM7Cq-_R4o zUh-rsO>~5w&(Kmmxf(af%%G2z{f8T$kh* zAv$=mpP(OhU!Q|C{NVl=v|}C8lDZ1c+MhNRE>`$;dm_?3;VcWFlv${t#N#bae)gW1 zsC3z%A9mS$otp@y#)eU-8Yh7AS0iuRRJa+Q9-&jzwJNH$0MG&hUC_2(Vsxa6g{q{I z+rJR<6cXCfq@B{M0%4b#@4m1A*(d`KucoWZ`YOO#Cb2lXOkM(gym(|gGpqj8;n1P# z453+Te|abR{v8kKE}x*gh*D~jfl(YmV6e(W(D9)@lN4(Hy9h%(V!4H#Dze%k-CB{j z)sF)otBUg1?#B%xQ+Oxc5xE%re|xa`j~lQ?9Uri)?}AGoWRog00Kd}%%XAKF9U_kp zvVR&Aoi`jbOVPI?(L{&``b2T}G@7i^YawN_L_?O6;z+=DKzPx}%HWo!$Juq?L!#sv zs=^TVa7}-f=?^5-L^THSHYlVeni{9qK`pEZ(@|DkENz9}W-9bnJ>vx;lvh~2a~;-=ZY+!WJDz-uV;kJ(?H7IcgHl zcK2{ppuR8+qiw$itA^^**`C2L8M}(u!p+bH?^!2y+076w=^};~yk(P0HMWD$%m1V+ z6!;H~@ef@(rQX{lQ{1!7R5E2d$CV%;nl3>2P5%;l|A$(a4kUt6!3=KvwF!L-FHx28#Yap=c~X|Dm}L zO%T2d{!5YOe|Y$9NzpUvx44t2i42y1{SXNhTbCruu8dS3nnPH=xsfwutvVX zTI>#@-YU%Xa&_1wg4edw6U%w?^H|VT?O4Z^@&>)OjCJSWQ4Rlmqr}VBRdEe}2T@KH zFMJ;5NiDBflbLZL&2SH|5BD=U(fUHqm@nKvOPYM)EZhPXPJyzGhOF^2Z*N>L2v2IP z(c0Iy5?rKlA-0DyYMzG$!)ji--kQQ$)qj>ihySyr1b^08xSOaqNr4)v5!(D2YcxI} zIA8a1XsqsaOp#vs8>m-EVBbaFUVeAJgJl^p=WqJ&i#0;qdw6-WrehfMl>pIOGZN*% zbGK|b<#B2TfHo7se)?aG-RzGrHQ#S=)7!6Jk(QlRLa8dnm3h=j`1{5x(w@QKly7Y; zc!zT5oBtly(&wg{r|YxQh;UQ-9RB0l%e%8HpY!|V>I`pxB>TO6OQBd8Ua(xV{C`*X zk6An>_>2AvF~|aQ@*7Cyk7aGQK8HOsc}YJR&~FLQm+Ty_4m!w!v?4N&6Hs_}N;ey< zL)r(4F1g2#>$;{^8u2c%(UdwhIqA&P$wd1>!nkE{kf?*Ad+VsWhGebV|f9@pDR0zPZk__*Gvx}IL!c-%rHTi$BmdHt- zZ~HW~IEhT7)hN0qJnv<(}x!;Zx|l> z?d@0)w1J;QpB5_%ApC53_s=`L9fc-rBs#Dj(?YP&A*AQGyRN6@Ot+H7XY#4*ENut2)K#^G%pH zv-4~AYi+{kx;Yk4fp%3gw=KT#Y)o4$_LV&FwX^AV;Gx;WAZ_c&+%+o^W9j zHOZ$3-hFl;QRDi%_isW#@M?s__iIyjN8#eNpD@XG7)gx3%Nn6E)Q3xfAl+QapmPnA z~)0tlGf+UMIy2^(be6_on z1{7Txb3+s%xod(ntplbfI#ow0p%^0R7b$qS#`+}mKS=a#JDNCzAp6Y42n^15L{osZ z^q|V9&<0<+#iWv3R34M9aH??KwOR+0DLY6II^;mH4i~#G7~<9FPp*8bcnE_kRGXSD z)t$JBELq_bx)Nn@F=eJPyeK^881!7bI4D(<#hG}_oleaGj#IB_-5h>h)$ErIbWCQL z4d|O-Sr9VpBCaYCg(`GX6d@1?=(G3@K6pFkXpWX|!6b5~r+Z=PwMUFbGg$wlYYp4uZ4;piOh%`N+Z zt;n)W<%FvW(6-g|E;z_p3GaM?O82OP(}nrMc`P?o%_Bv6>D4B5S67^&&Tb#aqO%5{ zkAc8P#G(F+@rnKbR~P=C83VA^PK_n=qqPTqdS(xXAiw5f+Fae|$GNUT zgWxkwx468T`iG^ut8(^x!5w*-S@BxV%e;=kYx~VcIYIIA@^wMv=6IZ}oQ*u4iJ%GM z=|#?k<6xMnc#>iiXPHfQStOe0J6ViIG8LtX-Y_jl4;~wECTkl(o78V3mn@SlMD5*q@31zc`*NU*`G8pkk2+ZD&(wcS(D3Nfgs9m3hN3<u4A zy3-`EpZPM_VCZ*5)E7YI$Gt$a&fG3kMNHLvtF!2eHH^fui|amNW2uW^YtPPNE>K^nF6Rp z!e&5K`H`{9?b-K@R+ez!B$B{&FMBa*9wNDkBEFQ)|f-*Q)2?vzS zrH92@>9v-x%jX~uGJ zseWmGZ zq~{B&%nPa&MYStL055XH%^7WpHPz&0JC}&MvPs|yfh2qKZ#NPRvlZjs8v#9agnd6w z=txgfej#c5S)_u7b?ZimW(9T8cm85-eDtKk`Sg;G#DJR3V|-HB6A{M z;#1n}*S&9s_fAxB$4aRq1~xdW2SoI_LZ{(vOk<+2ux{D3nDo544fGUE3AWXi%+$>S zGe(7C_A{a9j;jTyr<*@DArC2bSw@Y;hY`juMDKo(@*!!I#KS|m#YezO%X$cvLxa$b z9BnlMY}8@EiY2l&kan6z5WQf+Wv+*({Y%T*QrBcvzld-62PjKP>d|BJ08G@fV>Y2J z(>`)fjlmr#c--nC*4nCyP7$A>J(%syg1=kn2NiH>Y9la1eV{Qk&`$qKdBjAK=T64m zFz8Gv$K#__|jpk(wG1iwIB*~&7LQN>RD zD4*n^IbF%E8-YwD!eAcb0Wus1Vd91DRMTB!GW9~okh0>)yooE)xX|zg=n5tvcoBGC=K{!K_N7&|*YiDi31x$!S#&gk*hzUUW z>27QqtKuM-#nXGJA|(LsA_wbrThU?876LB_ZK*Slh`-*bI2$-$iUgT3ZF5R{bx7XjC?Rdu?nu*)Dl)%i+L?yz zM#bW#i?N&~@ znQ{M&W1N&*dRHmBCawu@4OKHGHs(!=oa#P?V`>C9OvRHq_Z##gFILBo!G zVFMgFH^me1yXU9|YjKrth0||YqC1nlY%= zH)FCiO2KyMtQAy=QDD@pBF#ytA!;07mf$*LawrX@-ei`u$VFFiKNCjG+m1 zNS8ty3j@dP3}5F;fSOCf*$G!We+VXkiEV&))TD^Yp_c*<#%{8y%8&D$8A(;n(n~8R z9fJLVmrzeqX5lce#-lTW`PIPHw8gJ#o87I=ljYr@dZ$}+@T|drZC9A`)i?ZH7VVy7{{4sVlTO1jui9}FVv{#=ZPt7u z@c38#I=1ag_r2p zI3u0QWZ}IsfQNqHPq6x^+|P;5;TbNT!|ihlopTv6WyB`F_bzse{je}zB!Yhp^}eCS z)O#4ZwleR-K$3audHz$pO=4hlLz}{RuJ-^Pg3ONNiymjPjb?vKiTgBx@!7gOPE==R z%7~wd8>>`5Pro5-X=fqy`pBkYZ#p>utV~%otDBUiI<$PXDhp}AH-g%3__e7SCI}C0 z)|)lrh>Y%s9l_c++geme)ivOj_d`q!o2Do#DQNOsHf;+)W`RvsJG*0atX7LkFo8`f zwyH+WD`3Bqw8(iioh)6IzSO`>Woh`^Uah4-j=8#lS-Y&)ApNOkCF4?yPGe64$e>KD zkH8yFY*8~B&sKMGrVVKHH|EsL7LIWB%jjH-tEfBa zb7XHRPMAHVLob`M%Xu|m_P&h(IbiPWh7n)XHzArHrzaWU4NB6I+RQ2f5#7?8LMr5f z(PIUuV;Mf_1{P=EFI-ma;3RDVKE%Ta)`XhLOZQBbKG_m$mMSW{#~p>LC5>z61`vvu ze5P?ss+ko1%!e3-!nl#9f0ssmprf7$DPh4jvU@RgIa$KKU+0%=gprYns1&oK2^o;D zk98EfG5v3#vPQMG=G4H%@zkEnr!jNOkZC(X>gF#ky z=)3$~kE+fc{Te_%p9G>lJ+Bd!9vgKi)>573xz=;tMpMwS!+K!rGt>!tp18~BtU#PX zhUfcqW+-?(eQVe1cvYLh&V8}Piza;e8)HMW{f&f~mw!VlV3q#>7;=dpV4#_})Sc+s z>6(OGxJX^|oePmz)eGh{%^^t3yqfGbX;Jig?EPkNXB)DCy;w(98)5s7y*7F+gLx?O zluis1O&Y|0r#z1pyads2#KYzg4XI81*ifvje9PRwyoRTqs6MY%rO!*395C?}j81Ne;=63Yurl*h6s_RRDRam)VUbPG!Yrx&Q}Lt9$u3^4~d^=RC;JDSf*Aaa6ztn z*1&~oe)k5inazXnY7Ij&XvOR39?+XOIdgH3owEF)V?S^E_uQk|q0?rF!4~?Tj93&& zm|emP26Y`9<0u=IuD`;86jp@msD1xcJC{Hhogh9Uz%7#*Fge1ym&t!2!uYzp72@VC zOYVCVLbcaADsflh(Zf6YleRQM*gf%6;4$=luV<;Ih0Cq`f$7WTz5`YgNKfr`UIbQe z1ot5Naq&ymjQAxBp8r%NBu9!M1zsIqJ_Cx@qf^CYlYg#zfG2ReqMPUE_;iOxVs$3?X&8%;^YWT`w3%mj!9#3J%m|<_3Ll=`uy4( zg`E~JuCd+mw-t&06TxLxNBiKR*wx3E|mV| z9(Y&zQZ`(pPrIeh-6G!|4OWNGubAqFp8<#}W=`X{nK%72uiBTE$d~5G6GO5KBW>A! zig+0(hToHusN^aWaviL3&b}n5P>apOEsmL)r^1@j`2M)z{Z80);kzA$j3nPQf9?=+ z67*095IR|eg+*cy`6?6@5LCk4Cb|Rj!Zph{lB{#wT-XI79t8W3F=bxrHLCsBoXC7R zOpX|m->?T>ZG|=an>7XG^tUmpgD(i+q4mE1$|+NrJShy3mo}bh#3+g;&fQkWPnH_6 zPJE)es%ONEvmAa~k8%w;zO9}e9V;ab^j#1HzMi&Ap5KpH85A~?(5U+p2M8VC2UmNl z&s8HeeccabGh^mvb&x0}JgY;gF)w;=LWUYucs%15(Ho?*0;ajAJWpOMec7Z?K9M+s zzAknWAr=n9?8~?q4q*i|l1AmT?0ABU!X!w+2_>8vq%HTw@m*7$m%#t(Yk=EGJhQn4 zO#3QS^XwxvsO!&yJhtD}fTl#al%j!`$Gm#w52yO+D%o*TrAo=~+Ot|8ze!wjN}5z-V2`oH}|vX61)DnS(XuXLiZx-714R<%lGdnDb<@r%o$6%W>->vts1j&pXz=}9X$p5k+b(2eO*RS&q`Nv6 z3ZD8bhuX`a5rAaF=d9RdukOl^G$_|egJ19H`slwAY28veJYla=9frmH(K-u(# zFSAY%+eP7v{B)d2Qrb)Jyaz>A8LP=qZByUFN(W<4 zd)VpBSm~ibY5vSR@u%+8tzA7-uDgl$ShM(zY%j2%VtDi(W~U(W5Fc@&;B~HG^g16E zFm}3J=RlY97+F`Bg%h%&zl@o2VHfj#qSfA%-jfY0LrHPS0z<=PZBX+o_y78=w_Tn+ zJNMc(zNEIqfiur3tCzvSJ75+cH7rf)j3V<&9>Aab3X(XngvlXn-1_R;*)G_IC-RpA ztjUaj2@*O}Z0_V+laMeqIAE+Wz=}Dv4c#j-=9gW%bp-1GL+|IxT3`HxozhvmT22-1 z`T9_Pp?yXY)yTET!^{&!YA%Z&p6FB?2?= zSFx67K-y@;#QLx0MI>CEAS6LK1Lhn|qFg&(GHv2QbnZL&i`dR}O`!kz`x;1kl&1j( zU9E!@i?=8YqZD$_lCqdXeGF}_E2j~LR<1A%zPTwZJkH;SD0BQ{ZB~bRyxO^9*ouE6 zuQ81SwV_jbn)Vq?PwP5TA1fe7WB9bBhq9^@d<^KaX{XQK4 delta 11447 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 P!9QdvV8i2@(bjt