From 435f2db211316b840a6055a9a12cb1ef94e5d9d9 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Tue, 4 Dec 2018 10:59:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/lyms/platform/common/utils/ExcelUtil.java | 51 +++++++++++---------- .../platform/operate/web/facade/ViewFacade.java | 9 ++-- .../src/main/resources/fm_record.xls | Bin 19968 -> 49152 bytes 3 files changed, 33 insertions(+), 27 deletions(-) diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java index 93db010..a155bf0 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/ExcelUtil.java @@ -4,10 +4,7 @@ import java.io.*; import java.util.*; -import jxl.Cell; -import jxl.Range; -import jxl.Sheet; -import jxl.Workbook; +import jxl.*; import jxl.format.*; import jxl.format.Alignment; import jxl.format.Colour; @@ -241,8 +238,9 @@ public class ExcelUtil try { in = new FileInputStream(file); wb = Workbook.getWorkbook(in); - - WritableWorkbook book = wb.createWorkbook(out,wb); + WorkbookSettings settings = new WorkbookSettings (); + settings.setWriteAccess(null); + WritableWorkbook book = wb.createWorkbook(out,wb,settings); WritableSheet ws = book.getSheet(0); WritableFont contentFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.NO_BOLD, false, UnderlineStyle.NO_UNDERLINE, Colour.BLACK); @@ -255,26 +253,33 @@ public class ExcelUtil for (int i = 2, len = values.size()+2; i < len; i++, arrayIndex++) { - Set sets = values.get(arrayIndex).keySet(); - int j = 0; - for (String key : sets) - { - String value = values.get(arrayIndex).get(key)+""; - if (StringUtils.isNotEmpty(value) && StringUtils.isNum(value)) - { - WritableCellFormat wcfN = new WritableCellFormat(contentFont); - wcfN.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN); - wcfN.setAlignment(jxl.format.Alignment.CENTRE); - wcfN.setVerticalAlignment(VerticalAlignment.CENTRE); - Number labelNF = new Number(j, i,Integer.parseInt(value), wcfN); - ws.addCell(labelNF); - } - else + try { + Set sets = values.get(arrayIndex).keySet(); + int j = 0; + for (String key : sets) { - ws.addCell(new Label(j, i,value, contentFormt)); + String value = values.get(arrayIndex).get(key)+""; + if (StringUtils.isNotEmpty(value) && StringUtils.isNum(value)) + { + WritableCellFormat wcfN = new WritableCellFormat(contentFont); + wcfN.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN); + wcfN.setAlignment(jxl.format.Alignment.CENTRE); + wcfN.setVerticalAlignment(VerticalAlignment.CENTRE); + Number labelNF = new Number(j, i,Integer.parseInt(value), wcfN); + ws.addCell(labelNF); + } + else + { + ws.addCell(new Label(j, i,value, contentFormt)); + } + j++; } - j++; } + catch (Exception e) + { + continue; + } + } book.write(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index 3356b10..000c012 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -2860,12 +2860,13 @@ public class ViewFacade { String tpSize = ""; if (temp.getTpSize() != null && temp.getTpSize().size() > 0) { tpSize += temp.getTpSize().get("c") + UnitConstants.CM + "*" + temp.getTpSize().get("k") + UnitConstants.CM + "*" + temp.getTpSize().get("g") + UnitConstants.CM; + sizeMap.put("c",temp.getTpSize().get("c")); + sizeMap.put("k",temp.getTpSize().get("k")); + sizeMap.put("g",temp.getTpSize().get("g")); + extMap.put("tpSizeList",sizeMap); } extMap.put("tpSize", tpSize); - sizeMap.put("c",temp.getTpSize().get("c")); - sizeMap.put("k",temp.getTpSize().get("k")); - sizeMap.put("g",temp.getTpSize().get("g")); - extMap.put("tpSizeList",sizeMap); + extMap.put("tpWeight", UnitUtils.unitSplice(temp.getTpWeight(), UnitConstants.G)); extMap.put("umbilicalCordLength", UnitUtils.unitSplice(temp.getUmbilicalCordLength(), UnitConstants.CM)); diff --git a/platform-operate-api/src/main/resources/fm_record.xls b/platform-operate-api/src/main/resources/fm_record.xls index d885369b44771e67d4d2373c26486989f0150309..2f87b7bfcd485e172cdf4de6cd8dff407eebf03e 100644 GIT binary patch literal 49152 zcmeHw34Bf0_wT+p(+xt9L?k3P5d;yDn3cp>Bt#^rc?>Z|gP^FGT0?4V%|)qFic;E| z=bCFSsx{VBHT6f$^49m9oaE-*b??(=f8P85-s{O{opbj0?EO7!@4fa~`wTbd__2bQ zKU?Q>Md+5=!a=;wa23uLxPkT|%Hl3WTiQYTbw);p3JO8H|1SSUE%1tT?LeL9K;lT^ zM1nqdAu*A-lH?)DOOlVojU+!w0TMC+QIMn%NnsKX5>FB@k|HGDBt=PlNPJ0(krXHK zBk?COlLU|il9V6`A}L8yilj72Fi9DbvLxk5LP*M!gpyPs2_vaU5>669Qi-H8NfnZ+ zB-Kc&lhh!oN%9s+Et1+Kkt9(hbx7)x)FY`+(txBP$=f82NE(wgA&Dl5A!$m|j3kz% zIY}Hz3zB$}1d^5{tw>svyhGB41mgqJp7uLhr2i+FNehuoe}kwm8i@Y1O%cOL!#7{N z$YQj57^#@qgtZVmm9^58>K?5J?EUQAj0vX=?Pxy@#zsqPI(v%fBf2Vj^ijdTu`VQx z2JQUVzDZGN`1Tq#X9McB24X1HyuRo{>n?9XV3Egz&TpVJ#?PCcAH{2^%|xviF9wT# z^w&jc`^MA@J(M;9GD!5I{r)ImV+qczKbrGR&yO*EB$Ln8M5EZ*No;XD>ar`%Ae?FN zUlB&}wc{>Y3vrdCy%<2_-cUz$CpCMKI=#d|#Z;gmy3Z_ssjKMF#Q+_4QUljAI12+| z4&+gQQNPo=u(DpOp*3lpVkKPol@p!1*u5> z>jCA@7&Q$YDn6i=o!l-y7C06eIQUIsD^$O^h~nDpHJa8Sha&K{cWAs-G-h8ZQ!mp@WL!^q)5iMvxkCP>tC5^XY@;D z8$5b@@N+CjUZJos1d8h!ffN`+NJ>z!t0`2ZJq5vR)X%Xp1#E9Fdpn9ui8N?C*eF<) zqI^;7f}wOSTW3>``8n1hGxoDx)c%<@l3orV?e;li4~Aa9bz9F0#vz<>paU@MzvRSlx z^`xm$MXp|YI_uhTIqaRP0*wVvVQ5biHOpQqL%r0VCTltI_SD*bj@8LBefT2THe#!A zO|nj3ePK;${;cXz_1q2U%w~JV?P-urbUD-iKhB^?nYHXR12<4w!5?V{?Bj6!Tz*?P zSh@WFFXIN~x&k%CqP8byEJ{0kT(IEmytDHP#|ldO?>nf0}$kGGBdxH40C z78ES#mDh{f$4Ak}`n+np<=67-&WkHPP9I$DaX7B>I2>1t3VvEpuSAjBYCpQzz^(NR zQS{H!Q{|xxOO?kuzgjO`sVe6sJK5pC!(Z!1T!m`5YCmfK(quOi@6kieUsXA;b-$Oj z(VmqR99OuR_3cdcrKGASu6i@^E>Y&Ntak9w@GQGk`Eli}3SzG>$Y)*O8#>TLN2)TmKem&SP*%!R>B3{bS1cO8+Q8d~AW7b(UO%@2}EX;-`G!(Nm36J13p$u6| zCP{f+8^f&_>C#xOKQ6$v5;h9JA7mFu6KVPaBXwseMg^R+dU5^w^;re9UbMutUbMut zUbMurdNJcj7N3oF!u>j}$HF6E@7ki-qL#+iMzwLnPpvj?lR&h^Mgf01p50EQqh3vY zPnfd`yx|!FvI^*jhmD2^qyi3f)q_E)-YTVyvSXcGQR7Vva;bL)GtxYT-%{cUqsx;-vc2tp(ky(AMnYbmU znYbmUnYbmUnfRZ7{+Y$64OGi~na!hDDmaHyvb`s#)bo*6My^+?Ob(?iYayehmMvRm z)l!ys6m1w1Zq94gnAigoU~SQC02fKxVuJ*C_capr8H83qBhk{>+91K>0d;UGaUsoM zRUM{{Tk0Gxo-a6(Jz5WQdqe*Xsu-$hr_)Gvm>S8En1ASZBP~e6BRCRGGi)=fqn~?4(V^_w9n*;V0(Jgwfx7k! z%rw%dPZJq4Og>_UMW4`vxeTMI)^YDdDld@BJ6Di5X%Gp8oTS!rYRAZ>6&)248m zBWXh+A&XSEEz83u8$gQiiDGzUc! zZ)j5GZ)p-tn%FC$ouX)(NvX6?nv=5iO>?EKE4>^*59Dt3Jv80A-SSYo;fP8RK<^OP z)eb$U@4XXC^2^y;4uvylZjgCYD?&G!grUdeCJ7%V zhV-;5V$4fLw4-VfSF$&%D|oEx>QI2{iX&>)0wRE}?hV%_9-3adv&wJIsgkjBhLgxX zt|=9mU5|=PJ>0YEfjF*Ky+n2qw4T1|1+$81trbAe0qk}J&aCeUv)zu!)}~~(HW-b1 zZ3<;+gYb_E1kh_EcC|r&>a_{6s|_Xvpmr6d(P1;EK4%8Cr!uIYXAWvtdJaNaKbt&z zxK-a8y(lY=sH_F(0SWc(&ZO%-TgKOmdn;*%N#D0csBg26tHlE7p&8ZFwkxW_)H9sw zX|IGz?MaW4Ou~@U7oy2Zksyn@7#ssKOgfLL*+c<)6h@VL{qeGHwkqXKmC8O2O0;l! zG~3&KYj(D3Hix3rY&fE3b)naP$d`?5W9`d)$d`?5qcK(hqj6gKW>$=bV#J6eYSsYq zb9P&_GSi}=c3TuPLDb8W9?e;`D29c;MT=Xts5TS=sN?Kv$Bi;SyV_+_M}XRP{NSkl ziP~NXtxYT0*BWM}AB}-_wbo25fS#n=)taL&VOML7+LI!fRd>Pt=)0?=Rd;D_$dleY zv!a0O(NmPMqR`w;0KK?ox5qh8R@QFYWm8wT-*y~zIlFDAQG3!OaI1=AOja{|vSDf?d z5q2w{O&w{!;v97)yA@ZdyP3R1H;bs?rPKwhS*D};W?38o);!w55fA5t_^{d4C~UO_ zx84UOCH70KU^@>UZ>o8+b9xYFQrP+oo8>i+5!; zX`Vf1_oyo)KN~XbeARASf*W*Qe|XK7zeK$SK6UmlKDp?^+3VNFR{imk$C>%jZf!yq zxVTM9JQ_OTy9Xmemiw;wxlyrwA$_mx_q=g?sQ1AQ9~HjT_`txpktNPd8^3zvujZdN zmOB%0Kjhbrn}T}Rn*4U_Tc@6sx!T}Pxl(zI)m|A;!ECi-iqATJfo>9*=_vvl&r0oz zQ21_}rpdll-M1CFHR_!|woUJTr$l(5%eS?!mP##DzsaOxUv}s{yWo&b<}x)mdmdaD zHF`;}6VanDz8CznbECA5Cp%rM(qO*vS>EC)t;@Ao(tH1bfbv~C1>Ku}<=T-4Zkslz zJnm9=Tel-lU3%?b+hOH%zh(|zGb;W5bjaIdr-r^*I4#(%U}BkjPX~s)T(!mj{Q*vQ z4|tb8=kOxokHu5`qvzgDC>xm8B`9=VzU2@4?jAZOXvFonlE2+@d|7J4`j)G!lyeRI z^8T`5!*}16DqN`Zs3BLrjome*?06qjuz%U*LyP-1>yszo#**kwL(-G>e^|6`YWVH~ z%kIYo1-*6aY0FnPTc@r~INq#F{p-%{_Vizzk!Qdf3xn=#ru`>d}TNkS!2YLw%hK`8(;Nh^4fPV_E|A1 z@7g+>GM@XqA9ky*NBOPJ*Ps62v%O<-zrlCBI*v^lG0^SO%6pH0FHgBDmb^X4twX;` z-))(EX4W*0`#YY#xDdN-$HI|Mem~f{|JJaFJ2D=f zPu}tVZRg#!+lIgQ?D46{g^?ql9lbf~^@F{JOV^V6?tVLH*X}J7W4G1}8NKoL&T~f| z&e<_{UvR^{>!T_@P5u7f;d91|3rhUH`);?IL!VS@G$HTMet+$}S|j~gOriZps$Sh| z^sCtLNzozBmp_E`|J*B%b98(jQQ^?e`KU9{7w(&7PP?4f3z zYP>tF_~EWkSEPo=biNWeWy44N=e`_wV5s-fe9i7x?o@qZ{VO#Jb^O8c7oW#ppZae1 zsWvHlcfb6p&8jbbdxZKK4_+U-F>cD9kLujG)uYd_nPq?N^X>HQ4?|7C7pewyiRm%( zT^3E-%J$mIc=7#yR)_=8nXG8Ij&~i^EC#+s4dMCEJJnpw$n^s<{`g><%!vX#3 zdVE+mcG$`y=g%A*F@NqwkC;`)l@D4hU6Gdf#f3?Cez^YSnd{3^r^K`iN>BNw@vQ^5 z{7QB8xVogqnOnn>w)R?c;qb?8A0-4&ddIs`+u0c(?Q1a5Ep^q;QStF*l79bm(90XC z4oyl$wb{RD=iTD9OBFpmrFrRg^-BzW=Gkar^3%z|(Lap;BcR|-!`US>SJkN-bi=P? zcRx#* z->KMFA?Nd*td+i}aB@t~m-)vO>a(GD*|dOy4<;?2^>#$igI4Q3)+fGNUFnOusYlO_ z+5Ewu@7Dju+q3vSkN*@~vux|JeMpAXV}0?PPYsn){nr+h2VG(Eg#`oMGN z1|O@^VtPdVf#)O2w~Xs>YIWD2@=dPtb)mzPD-RocCUEcZ(4+YmML${j+qXs9ewWfL zc#EUs*7QY7?<`yz;C*`5%r>Vzt_?2QYF>x*pSN{ew=-hJr^_3Aue{X$`wkP^oiDNA z)UM0pYeb$~-Ku=Prd~Ij6z}zF&-iC~9eg9j!&|$y{8IFjz#=BMpI^Dyj(3QOol+9} z4pd@dcF0)v)AE~}=~xwm`hyHLPbhMZpL(qKp0Io$-XFhh?1_Dr_@>!w-b&{^SL;O{PP&p>YsaWD z2giTDyrik!&;cJT9e!bBr>)ITEPd-}Mc-wOz76}NP=N{OW4E?gQ@8txgYGArG`LWy zYtX3W)8FlM)_=~zqL-`0oOmH4W)siX?EZDs0x(`1iiq2|2FXNk6 z)qE!Qtl;m};dNY{f#=6N1uyyG$mJ6ASH?IVYPWgw-b*=W4(6|dPCli&7NdticoVH% zz2yFb68jJ8lrU^S;=m4=Hmsh0xY?dC_XbZIy&QYJe3J$1qf8}lkJ&$E|B?|q56lhn zI(TmV@|G{2#GFj1yTa_%H{|@aO*e3(Uy9D`JGI2;zqkZ_xuN!yo$EjP)U|Wu z;(7x+cvSu2y{ z=emcfH4mBptp4Y3&r9Ekn3f*#y1+2knyz!6CEtl{9&Ips(8D`zZm4f6IzV?1%(RZA zyWLE~sRX<|X1^tZ_x3#KVTNXrIZvt|rj$AJq}8&@C|3C9Cj*6Q+V;v|o~$lVFo?u* zIM^$Rp{6b<=}WVB%aVLG^+ONk)wYdh%d-PfRVur~^t0k@QYRYWmP#r6${bnGp}!!= z=D-~vD-MgxgXYmrN+-M0D>soex{?$_NT=V(r0XtdrkLIlQ!KD)#9Wa666h&zSJ9W= zyN{m^d@XETE=a>NkUQzQ{qk*+v98}M{@Jelz)%Jr+W zA)byU(jSfkZ@mh2vc$s`{Mc7|JVMN)d;aq*G^J)#7MvrU?y|O`zg-3si4Y%EGK!a? zp8@ZwKh(!>q$K2I@QK4fi{CWj$1^V z*x0DnbQiE{*K6@nU4vVPwWd-DX)i`p9{lTMI^42dKp)yHZ>DTowo6K&**SV}if1P}P`Y!u7W7l4RZ~WNV#?@7KbTUqh>tx=N=3)H(w#@c(7|0h zk^aN`{FpYp&+=v&^i!S^!mpD014~$(`lBrO96!p+YsB+dbqS@eDoL(nczq$pHWy-Y zd%BB|B*gqdLM%-aVpX~j-_Rq3EuT|RT!|lT(pl-}n@0LENC9QPAg%EOPLp`~<-?Or zyEc#Pq~K*0yqvNgqabONM_WqL!zzO)ZWv8Rb~$0tdXkJ)a*tEirLuD0iY#rhADp%S zAhL|b{%0bPhFW*DF8z&BPSoOizwvkCE=OuxgIGZKQWj*Zp{c`cTap%((TEp^>4&0< zt($4jWQ1Q6!c5vLJB9)ZhJ+qN%jhw@45h~$84M5o_4(jY^cZ!X6^07x^HGqp!eAl# ze0bqnk0Bc9F}zr=$Iw=K3@?1^F|?o_E68AoCHj1rrsy%)j~;_P=`q|K(PMb=T#tD( z7~Na3%15u|T48uGQ_qKcNqP*gL+UZS-KfX>b=WKAN7O<@5iW$9GEmBpl`>KamZu(b zpcHIQO*v8u)~2SMCDo3xK4 zD{8LdMQ9J!qo%wm1-nsGMJZ*@O8HPKAS>ldsX$7hwG4C~t#a+omEx}O%4Fk6ztggKTRCPY;^Oo+j9m=M3^Fd_EK zVZyvY4ijb?a+okn$vx9qQD1ya?zgWo#qbyXlbwJ1hif}CX{4WnW4@%vFl*9dxY41< zf*7nMgOy^i(hL^NU}YGrEQ6I}un-0-&tRbph942=>l?;kcuh#3FPy<57_1V5;a--W zuL^_V<#l~N-22dD)fub?gVkiPw-~GzgW)Y}{dw`yv?Yc)x0$fqj|eaYNMnMn%h3rV zL=F?il^iCFMmbCv!*ZA~^5rnWU&vvCmyyE+-z0|#9!(At{Gc2rcuzS@@VRoB;Hl*> z!N1F4LR65$gjgbn2@yyR6XKQ}CPX_qOo)+km=IazFd-hxVL}v_!-Uu`hY2$VIZT*m z$YH|lL=F??G;)|Q6Usdkt^;<`t)afge|iO=mcw;G6lr8RHv?9O!Rj(tJqD}KU=0|o zA%nfmV2v28F@rT>uxJL0VX&qQ){Mbo8LT;j#W7e528(B~1O{u#V67OeHG{pwU~L$z zErYdVu=Whrfx$X5SSKBZ*?SaWxgQZ=g4N1lg00J8!U&PWgmEQ@38PUC6UML{CX9SJ zOz;%(Au8LS_J^=GhT1{=U&?=n~l zgAHV`K@2vS!BQD)2!jn}uwe}L9)k^Mun`P4lEL0*uu(b;v-i$~<$gqf305nI3AQeW z2_r-f6ULPsCX7ZoOc=v*m@x9?Fu`BQVS<;D!vx-Sx9?M}u6qmz<*e{0(GX^m@pH{J(JAqfHcxbe;qKI!NxGySOy!%VB;C=0|xt$!6q=+L|+M|gu!Mp*lY%y!(ek6Y#xKnXRrkf_9=rc zWUxg#472w%!g4<%zyzz6!vtHG!-NqchY90K4iiSB943rmIZPP&a+u&RGC4;SEu&)?wHG{2Tu(b^KHG{2Vu=Nb~4TEi9u#F7% zErWf>VBa&?CI;KgU|Se$D}!xguDwj|ecqYUMD&*5xo^gvepSxRS$! z(I|%rV^|IoM!p;-_zO8q@G^3k;G5(y!K2Axf*+K_1n((_2|ia26FjvXCir(bOo$3{ zm=H_kFd+iTVM5%J!-QxjhY2xK4ih4)945qLIZTM+a+nbN?a00%V6gi>^y`0%wQK7>=y?6mBB7D*d-l?+51ky zaz7%#1gn+91Y4KGgb^Z#3FAr*6Go#PCX8V@Oc?ocnBXtuFu}{nVS;ax!vv2ehY5aA z4imhm947c&IZW`>a+u)XxcOAZsFog5~_NI6W1ta6wTkL55S zipya_?3crY8G{@q%roRLVRj;i33D1bOqdDfo=N6)z-7`%e;sgz!LBmcH3s{Q!LBpd z4FQ_Eq3f0x6As33<4u|y6NB9I&= z#4R~Yh<0+A5F_OweO%4>!b5Lx9gAs)+NLKK(7gxD{K z2{Q&cOqgfLVZ!W04in}ya+oj^$~}|J>i{!pq@TkDFjydim0++S1}n*6r5LO3{!ee|l&^7WocFT2U3gR7>T&J3wzWD=#VmP{L|Wm) z{$(|dU3>L(#~7h<+Ey#4PiuPWw_1K}tCjP{%*CRf+VTI(+n1v*D|)>&WNtIl@CfRH zhITfRTlktrB=9kPN!&<= zk`y8tM}jkaO^siewvLq9pSJKrb?D>q{X{R(pJbpIBvM2dS|`(1h$s^AI?v&5)lM6f z{l*i{&6sf7fU+(mtwnPYFU%ro!dpp{{6~we`a@sinWJYGg!;PAoK5u)dA6oLVNNwW(Uwm1 z@s(uJO$?@1Or%yEL@k2-e$d&a3hKH=jS6`a71!K??P2ck20W)W>yc+lwrvyJ$r=fstfwdl*BA{ox`^RHk)# bQIYmSX&tI;tBOjZil~mF|1ST7Ti|~Ig8}FI delta 891 zcmZ`&&1(}u6o0ebY<9CvHj`|3H%UL%)E+8ow9-nn#k2c>S?C`d~cMYO>n zLO~k)go2dT|G>tTq7|%);ITa@LNDpTlO7799(w5dc9V#ZIK#e~o!{^M-p9`7^G*4A zR_tfHN&_Dm+l>L?c6i5iUGM1xfG!+wnt62b>#R7YoEk1X{C@QlOXGF1AjAf6TfED9 zoLhmofInpeCxSXI1V=C_>v&#n#S^sNp!L0M;WS}8goP9X*MmviptEmu)~@v7m}0PA zr=WBOSO~WwCR1^hY>U75PZDuT<(C@;ctIO)h>E=lI;hy8nF);!YG}^R*&y!o(TbYn zaqzch{Z}P{Q=}5Bsmyb3sD=t+(pQnNteGtAahQV7G#eji8ngU&j@P0llRcY|YW|dC zC5yeje;5~uQ&BN-jhLw#^D*ah>KsL?R1-y)P_>5s)!9?cBf~Q+h!?mSH|jY!&P{yE zCF US;WzmqLe>(mVP1U$4Vsd2Y1ZavH$=8 -- 1.8.3.1