From 6fd84e2f2a3ae7ca38e443588cc450c5924cf275 Mon Sep 17 00:00:00 2001 From: mschill Date: Tue, 8 Apr 2025 10:54:19 -0400 Subject: [PATCH 01/22] C2025-023 Electronic Procedures - Modifications to PROMS (Phase 1) --- PROMS/Formats/Formats.csproj | 2 + PROMS/Formats/epall/EPFormatTST1.xml | Bin 0 -> 2646 bytes PROMS/Formats/fmtall/EPTST1all.xml | Bin 0 -> 62412 bytes PROMS/VEPROMS User Interface/PROMSFixes.Sql | 222 +- .../Config/AnnotationConfig.cs | 45 + .../Extension/FormatExt.cs | 77 +- .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 39 + .../Format/EPFormatFile.cs | 343 +++ .../Format/PlantFormat.cs | 12 + .../VEPROMS.CSLA.Library/Format/vlnFormat.cs | 2 + .../Generated/AnnotationType.cs | 25 + .../Generated/AnnotationTypeInfo.cs | 17 + .../VEPROMS.CSLA.Library.csproj | 3 + .../AnnotationDetails.Designer.cs | 646 +++--- .../AnnotationDetails.cs | 30 +- .../Volian.Controls.Library/StepTabRibbon.cs | 74 +- .../StepTabRibbon.designer.cs | Bin 575428 -> 671144 bytes .../StepTabRibbon.resx | 1959 ++++++++--------- PROMS/Volian.Controls.Library/VlnFlexGrid.cs | 136 +- .../Volian.Controls.Library.csproj | 10 + .../frmEPAnnotationDetails.Designer.cs | 111 + .../frmEPAnnotationDetails.cs | 234 ++ .../frmEPAnnotationDetails.resx | 120 + 23 files changed, 2791 insertions(+), 1316 deletions(-) create mode 100644 PROMS/Formats/epall/EPFormatTST1.xml create mode 100644 PROMS/Formats/fmtall/EPTST1all.xml create mode 100644 PROMS/VEPROMS.CSLA.Library/Config/AnnotationConfig.cs create mode 100644 PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs create mode 100644 PROMS/Volian.Controls.Library/frmEPAnnotationDetails.Designer.cs create mode 100644 PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs create mode 100644 PROMS/Volian.Controls.Library/frmEPAnnotationDetails.resx diff --git a/PROMS/Formats/Formats.csproj b/PROMS/Formats/Formats.csproj index 9d8e1803..dccc2562 100644 --- a/PROMS/Formats/Formats.csproj +++ b/PROMS/Formats/Formats.csproj @@ -92,6 +92,7 @@ + Designer @@ -176,6 +177,7 @@ + diff --git a/PROMS/Formats/epall/EPFormatTST1.xml b/PROMS/Formats/epall/EPFormatTST1.xml new file mode 100644 index 0000000000000000000000000000000000000000..c0d3ce528e2e8aafd4a4c2ad0126c49dd47054d7 GIT binary patch literal 2646 zcmd^>OOFyk6ot=L6aPc&N)tzciLOvGGUFpbGy^kn+rvvD0-<3>{=E8~TTPf(%(!uZ zAt|csKI)#+r|R~vpLI3#L*F$~rgIInP@%DAn(CDvsj6qH@SkCss>gaC>r|t#uC&xp zdw9JJpN3xRf$poWhpg`DGudXEGmeR0DrdGP*9S5Tu`Jj(XFctg5s|4G5$lK<=_}Su zHEO8o1v7h`;xQp6CrhRy#%0u<_9>VbdWyxn^r%160shA4I#SLep6qGF#@)x$HE$3c zQT^LXHD;yd9_W(Im?p$!?306J5S*N{N1ypD7+HdMURt`ueNneuAHe!DBFyeN8H}l4 z@=^q*Ib(`1!t;GuztJ75txtioNvz*QV$rrXyPFfwyI9Z2ot`>)o`KrddDst_`_1&= z+Wv>+8S*;;)fkJbdwxgkE%qG|)%z>#Q);sQtSi3}>ux_X>;@}sP+4C^=+JsgtWM(1 zSVKm<^~zYcvaQ*u?kc<2)ehky*F`90bSrBe_-b<>x9ITy4{vpJcl|3VeLejKFFva0 literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/EPTST1all.xml b/PROMS/Formats/fmtall/EPTST1all.xml new file mode 100644 index 0000000000000000000000000000000000000000..0c3557429df9140891079c371b19bba5178b941e GIT binary patch literal 62412 zcmeI5S#KRjc7Pjs^B@88kcWA^G2lVQ7}+MZ*)z%*lthgfXoE=EMldgwM9Cgg6o^Gu#Um$!S(%kcJ1Gj3iqm!#A+Df4af=jLCU-!wOx zf0t*Mnn%*s>t&9;1cCoOGA{TK4)KziMl=i1vyYK)p&p~kyV=VkMwyd5>G zGJ@6Ss(hlvcT!?k>TF9Zqh?+Hj>D+6pF{b4*!)4>(91I!{is=!^30BLXq$)O8zq@9 zvwkim8MDpck<_4vadRgcslNS0X1Ff1i{IRlws%9{qvnCsd?lZO-=sVU&t}HH-c%P4}}5g zhXt%t_|iML1q0v;EW8VIg8tqF=t3E^z0{EQ)lKMzD@P0GUf@2n$^s797F7x+N@Wrmo z`<2w9zv~m6dFeIbyT_e%bmVKzQ^BdWhUE4Zy84SLIiDl-;EA6FZ!hG>=W<`3@5!hc zv6p%sN&!W9aku$FFamYEq@%oIWm8)HNvLvDez&Cz^vK(IJbBB|=BD)eRQ@um9VGbflxV`EP`A7?(h^tmLoc2fAggLPi0R6t>E} z`Ka=~l$UFL0pC~B6D#a;`&3$bB9whU(C^OyD_165P#X*K4;cU@*Je&TtgEjl)N;8B z4>&4^M-5B0az>YqP32GeblDoeHCb;pbLsCgCYLGKCy)RG`$Bn2yWdMs2Lgpdf!m%? z|HBD2vkLkO^F*HR2wYWXvoYv;qtu_42cmlu-El0?VHKwCmOMva*_F@R1=nl|ha5;f zrS!IO!fSDF4js6__$wWwLu*6ks1@XrlX2s2ozbrbk#zy-jh14yJ+Wp14cU)34~ly?dGMt{bN{b(r2pcAw%fp%Q^Z{ z3?qFN8t5(WBKZzK0Iz2(Zuy#%dEAqTD0(3^p=N{aiCW~HQM`X&?D&C^a-?H z_=CB@Bc=mr8ygeKf%bIf%&=@9&6D?+WDdGADW;shSRc^@us)%Bc!^I)FKVU~kH(Kp zhX$zYUHYEZ52UtI#pa|PmHf`NZsq!lJgU%;wx)8#^mWG`qx1SHZ>fx84vYs*LjLAu zD0Mm(iSr^H)io;k6}YwWUOI=IPoc=z=Ft`92YCh*koCU^4WdmxmCvOd%(W2O-wArR zVnOk$I8e(;JqhWk4Elec@Y)^e4=vrOHrAB1Emo|br6<*KkK{jNWQ0G7jCmjUx9k-P zI1*}QgztshbcJ!Q>{}zBb-(ee_EjH0GI2j>@n>`FDs$^&p9l88pBeU6V?Nlcj#wZ6 ztgyF{^rsuEG2hsAHK~vN!@^!=&#e4z5(~Lz`hrS$(+6Yea3e?|*Nl;M2gjO4ToNu! zwNovN@5prvUGwlerfZk3hm0xL!I2sp(gr@Jha#bBCD97h?mue&Ds8Zeyq8a`e#o&q zlh1hS(A&^%?X9+|-~2tjKes@Iz;yY!AK38;oyiE#c-r*5p)#kI(7McU!Qn>JB zO-hcXg=f-kZT4!b0H;0>I+=OvT)Rj2eREfQ9}lW?=*FPcTo#s2A2aGhtHH--ZkW-s z=Xb6Th4TB&l#mE(-h}i&WbZs~y~)6ddC| zmJiPw-b+fUm70$_&Oi3&Nwot+PWP29pVsr;n1G9>VA(e8+AEzVO< zL{@Bw)F5hKE9rcta@5KjR8|+3q-Pl>YOAN#gn5+EbL%i!xxg@Sybsj!Ja{^Dju>c$ zh!xynkQs@$jo8(D@lxZfwr}%LkhZX>_I8$KjzMQ-K{$O3Fj|b3y4EhdQ>ol<^EjFJ zi-=$8x$>B2`A+@C8Z&A0a%)x?+(h0778P6*M>s6Yi!!{!m*$ZI@(iZhN&1l9A z(KU#@)u5qq$J2|ffVuY3#Qw?Hzvvjvab})<$64w_>%v@&-7>zrCi)z7q8?B3%sjsZ zygO#mcQyA(`_?QoV&`v#di)*vQx^Y>Yp1qw`&=y&;Bz&ZdOEXwA~dd%ck?);aELJm zpS4rfJ%JZ~O`waP0DtI@A%3LX6ho@S3>r5aM!p*5Q~1RkuCZ{<_A}~-TgjUwSB*$p zidBugmMyl^>@*IVWv<<`S}x~UT*j%1%nBlTMA|i@p^L7Z_Hw+Zu!3VP!vuOkGs$Bo zN0JSFOMFA`$00yQuhLYTw9lnWK6h3u)&k2{Fse(-L8G>Y zkVOMLMj@YuPaB~P%|yE;RQ@`wLF8qT-$_g#?x|D0Mx>{YAYT(=EZNw>*8hBF*+3~a z{CSS6dhNVa+V-ND)ZAEuC~ZF!-tMB_9FMk!Q};;hbA|JJ`IchNrL)a*Q4Bu}GL=02 z)5osodZpO)=Q-YN*1)N~RQh&N>}pO>jNLS*)`jQgt?|B2;AdxsX+8}ZLgc2u3u`|5 z7G->$&*{ilM`VU;21EymQ`Y(0k z_05zX4f96t#3rA~{Nk)G%^#)Zm$I&spQJHNvP$)-m(Slk2%{YrHHh_-3zKtVU509& z7J7wc<=L(d%RmJyDgFFG;9(Kj^bMA;z2kHGmb^84t7}P0>5OpM@|b-4Cj#{ik#G+r zqfpn&lzY=M&`}o`r=_jMyoN$8?wfZ1OK^NB)Qk7i_J(No5g4dptc~hREsyqV@JzLf zn5$xFr_YURa_fOz7-;XV0T@1c-lhW#G6iZ-Yh;iq(Es_CDVjO59;6A{UQMQ0nYw;% zYXfkwl1LJ7ttL;bq_%n9Wr^-Yie-tfb$z8tD(_s^%;lD@)p1{GZax;T<^Z(Guz9Sv z7|YBkU3IYQu+LV-iYqNVqpF+^@;3ALP*lH`bJ+RH+ixvcnPgqZP}Tif{qUHU%16_- z0;u%@ zT}YF`QnK9ic4{hpgj)i^aqt;*QP1*pn*NkudZ3V2?6<`Jw!HVQQKxh3-*f5tDQWL} zvB$|r-IHwht}&D~jb?NG*X6lMJ+r0e8i!MyhOKqi+bZ3f|t-Jvf@kgz%L2hQ%Eg; z4arB0Uym~%(6~+}`Y`*d!Ra)OS0 z*L|_=8nuqKTyw2G<00eflmhDd^oESwbZRKb{myN1rE-VAW|I3}72s5k((S75arTWc zeJ)st{fg#+Or=d;im~Og#m2+@^YYeeUZ+;JocBBwTiSIg6{@D*pJKr<`+)GavZCZz zuE!s`)?1^uWzg?D5GrjI3};Nuz}#}GOV4mM97T;@K%oP({Dm&my>4X)k1Yo(yiZmvxwyRYpZiX%(ASmhH|Ik__IlV(1H#=~(V%w%X*-gi3Ss*)5GpBmmPc8p%9viNt<`VJ)O=}jE`M}~; z*!|`fYs07Btp}8KPS4|C_MOJaPR3)SK8JV@LF^4Q$&DuNd7-KH@6U7ny*dXd+u>t&j8QRAC=BtmKJqZzZW zl3Ye|?umcRk`YoXn@cY9!Q~d?<;h8g@mf_IPnvboMvZBy{$nVuWj%e<;~UfR?CpIV z+u-Dv4-?s-XS_)sH(yrH{X7&``UE)L@ugTL#P8v+Hhji0;r`exEpnyMzP;w<`uAK~ z!!=sY+i#nFUatQ*%DlPSIA()Ny>#C(*;$`4pR3fhCtY-4ac0Wg4)&~`uRHTS%HQT3?0%q_KU|N`S8zLLJ*ETC zAhHupwnWmi6ZLVB{M_Zz#qVC9QuzqmbP3LGrhLDV+>{aN-sO`RiF%FVk;MK?v;=OB z(5zQI!M1A@)8Y-w@OjR@vR|p>xW%*djE}Yz&Pv3ThNf&7Ha)zi`>M<|2%DwYo&`{P zkkqrR=T%xZNJ(#u$9bZAM16As{DffoOZh#0*Tv!8CE@b4M9xP(s~G+c{gTs5O)kc_ z>A-E+*7tE=9}3s##{;IjFkR}55S za(kIh~;%yXd|VO68YHx_Xpp`Uwuxvaei2X1#kM zwGz?miN`^%($);m!?dP+5S zd)g&Y+R7kR?A^SQWfl%twj?M$j@WFRCI)u$+5m?jb86K$rQE}u(}la~Xo zf7SJ?l2&a@v&xB!&harlX_k%cKj9u9zk8sB=(4$=n}$4Z zt=O9WD6FISSe}O+a#%}91mKry`F=Ku)uqhZ#EZ{<6+Hjr=D$OWdNX6J*XF$K7GEkC z&1R$Zl2+Qe4@>i8b@$pjXX6>knM>@m`cX!0w{VxEUpA$e=Ns6KR_V&uUapH9m`S^b z+TW&_#U`2$x657gu2ynuVi}dMdHuX&wbcx7RetwG|JcddwK`*Hl@k5*d~_yxQ<}D? zT@>6_=IqLI&C9ggIAhN?*ci*NbK8x{p62omJcu0qRrnYE44EFEz=qU9R@zOH8Vy+w zC4mhqhGiTP6-vu{M2UAqko?YTVh*t{%Lp52wv z9>|^Tlx&WlJ`tNiOaAlmv+u(Cq9gyO~Jg?b9_)kzM{>Eq|~paGJpE(}A+`VHe@Mrgh zu5TB0V=D5pPh@vqt#tY{#!kA1E#?uLhd!KUO5Vof$Q~$eSF*RnRDYDGc*?o?4f?VB zeu3{uzVn{bUHOL3f}760C3F{!wCQf+)R(Jwg4Rmkmp(aD@rC^2k)b!r5j&+Pt%+{N z8IAO!8ElkG`}iSvUGY6zKiFny5(gq3kXCxLKw2w4VSrh4;;hv_4E^b>EWS;@FQhfU zLEH4rS}k-0eD7pptN$XeA5%??8S@GohT?MSH8vbtNp^swvf85Mc}d2Qzf(Br&8oaV zYQ7ci%}z97ZwdQz-UmNa{?73dzgL`LyWJJYbC)4LEQ2wlJreBLEx`VUvy+wDj2bD4 zC+|?6r{$m!hr8+5I{tXr;h%I7#S1`9NV}~wnW&}hx*Qt4lBH@_|Qkt4cWGv*8*X-O~0^^#sn8IhK&z2{C9 zd#<^3k7btX!}6N~m<9d0G~O3IiTD#)S9xjog;6h+v&0sk1s*06$=Tnu!;UdzdVWHM ztuWfxi(~HR^q#kYA8S3Ro=T4MPtxvA=pmm0J_a8r5Wt5S$4-F^=P4aZ$=&J+1x~-f zIi@v(s7dP^!3RP#6ltM*6?LZ`F={*efWDAy>rz@JExRSv8{rXGrCVzw)<*4EuS193a;3|t;6W8AjPdF8bGNotjk@Rv)#!YSz z+?&p-TT26GiWy?p+_$?PD2tYW0y@BM=yy}-?H}?KTC>v^9p5~SqgAm!r`o#HlfwE- z;V*@DUmS2J?V9j2@Lm!4PlK4+QgwK7N)b1PTvS-y6#o8UfRgOsym3rtIakBI-v#fT za`JZtOWac_!33Eu!WzmN-vXPEpq z^jq{UWNoTl;@|bYy4Im1(P;+lGG5gb$Bwf>yF6Q(_@G_d=^*Xe<&o%q>moVq_7|+Z z@8tL1L|?iopC5~49yR|VQtB`AA35+)YTObHA+{LV0edHUza`&eJM{NK`lPm_>V>g% zzb3J&FDClz^0bLXBz$?2&dF)4bxgQ+mg{0G5=~N{;{ZdX?_evjg3s==7_`}0y*z_; z`Kq_x=<;i@E-f3ROVc)MfVFn8m0~(u+*TqAto~3B%=lx{t<+Bd8+3b~pFPEoLo(#Qx*mYoWt&%*U_>8sG$4*AXpgRt_A+bN=ed{5@ z*Dq$6dK0dRd@EyBA1?*gVy^Bf&wVl1gj360n2!;9%d=%p272e+meF&p*}XBAtRi+< zq-QsBJ|;U3*v0iOcnni(2Ob}+o%3StO!spxlFgV>Lbu2KJoubyGF$VCEl(z2^VDPR z*%=?JpR-Hnx<1*T?ojHVzka?bY;jK$*@j4Fy=4rWW=DQ%`-a$uH^|}hB8QJ;XYR0X zs4u;0#PaeGv6M4kEyI5LN?z`D8GKIUzp}@1_I*N}tMb*9c(3lNa(|ue-i_(}d}~FI z#3w*DaJ%JNqq^%7?fqi1>enOX7aww68c|K>?&}>+SN-!$UA6;_JUIJ2o3_o)wCR*~ z(YSJX9+H!R-g)LtOK7q0?cJ2ZxU zS0}%#zs)lHq|vBt{r%xF4sXb=7)~Pb-C)zsmeBI}(sXZL*O?M|+l!wlVW$W^mEP@i zDbA6xn{qf)g&h@o{@aFFn9PjRlkBt^J(-6xV`;%pB{`H*+&#eADnE;E@Irp{OcBml z@w1xrG%2RUx3*>%<2&W{Ud}y%zL~-1S=KYT;?zbN zd`+oLiO*cua|QNg4?LdRmtlO=T9FewbRQP5(G$)O0xmeei_@PdW#`se&)_P4e@)ua zR;)yNmf%&1{-7;u8H;4+W8qdQE0do90Hyf7LOaP!(Q;H{)H@frRa5sHGj_xNsQFB! z@@GO7{Ia9%S=Q$BMt76Q8r0(%Q^4A2ZlQ-aM24dghaJ0c$Uk2d@va zRvGh9dVte*kJn@Mmw7!eYdoirOQi*N9FiC+1a5D_r?ku?ffB99qXy2o1b03ySB_M= zFS@&Xkn|T%(wDpT`$>9Y@bJ_klKyJQ)TWg-Nq;?Ll}wZLI+B=AkeyxfXpr*px^tGK z{MnW9u~vPSrTilM(v~UVb8UFg=0B7+kNk8k0ojMtM)yE|FYjKx+4fQOTW9Q4g06KY zw--u_!aT?Ib>^C6lVMTlI?`rQ;H9@cS@~MCJWcYvNSW#T6b4yx5j_Lt4wONb#5W!E zlO^8-?}TPy4zgq!d4heVjd~Zly^w?E;=a`n>xV2eK+lV`vAF9ZdJEZXO0SFPEgrQz zIY|?@yqJ#)O{$ia_D9iG^}ZBNyN>VGiv8mF64L0HdMovwgJnc02H9{{WJ8&i*e)AB z+!-4EtQ_O>MWn^_xXJa&zK=Ew=ki3_#N3Rv`0-gc%ZkhQ)k^xrMhD4rRwPfEanUY$ zG`d4vT<;lqAphS6&v}}Opg!(2j&!m8DW_ut#jc33`Z#d literal 0 HcmV?d00001 diff --git a/PROMS/VEPROMS User Interface/PROMSFixes.Sql b/PROMS/VEPROMS User Interface/PROMSFixes.Sql index d59c839b..dd995cd1 100644 --- a/PROMS/VEPROMS User Interface/PROMSFixes.Sql +++ b/PROMS/VEPROMS User Interface/PROMSFixes.Sql @@ -23810,6 +23810,224 @@ GO IF (@@Error = 0) PRINT 'Running vesp_UpdateUserSettings Succeeded' ELSE PRINT 'Running vesp_UpdateUserSettings Failed to Execute' GO +--- begin changes for: +---C2025-023 - Electronic Procedures - Modifications to PROMS +--- The following IsEPAnnotationType column was added for EP Annotations. +--- IsEPAnnotationType = Is for EPs +IF NOT EXISTS(SELECT * + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = 'AnnotationTypes' + AND COLUMN_NAME = 'IsEPAnnotationType') +ALTER TABLE AnnotationTypes ADD IsEPAnnotationType bit NOT NULL DEFAULT(0); +go +-- Display the status +IF (@@Error = 0) PRINT 'Altered table [AnnotationTypes] Succeeded for IsEPAnnotationType' +ELSE PRINT 'Altered table [AnnotationTypes] Error on Alter for IsEPAnnotationType' +go + + +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationType]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) + DROP PROCEDURE [getAnnotationType]; +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: Matthew Schill +-- Create date: 3/21/2025 +-- Description: Add EP to AnnotationTypes +-- ============================================= +CREATE PROCEDURE [dbo].[getAnnotationType] +( + @TypeID int +) +WITH EXECUTE AS OWNER +AS + SELECT + [TypeID], + [Name], + [Config], + [DTS], + [UserID], + [LastChanged], + (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount], + [IsEPAnnotationType] + FROM [AnnotationTypes] + WHERE [TypeID]=@TypeID + + SELECT + [Annotations].[AnnotationID], + [Annotations].[ItemID], + [Annotations].[TypeID], + [Annotations].[RtfText], + [Annotations].[SearchText], + [Annotations].[Config], + [Annotations].[DTS], + [Annotations].[UserID], + [Annotations].[LastChanged], + [Items].[PreviousID] [Item_PreviousID], + [Items].[ContentID] [Item_ContentID], + [Items].[DTS] [Item_DTS], + [Items].[UserID] [Item_UserID] + FROM [Annotations] + JOIN [Items] ON + [Items].[ItemID]=[Annotations].[ItemID] + WHERE + [Annotations].[TypeID]=@TypeID + + RETURN +GO + +IF (@@Error = 0) PRINT 'Running getAnnotationType Succeeded' +ELSE PRINT 'Running getAnnotationType Failed to Execute' +GO + +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationTypeByName]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) + DROP PROCEDURE [getAnnotationTypeByName]; +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: Matthew Schill +-- Create date: 3/21/2025 +-- Description: Add EP to AnnotationTypes +-- ============================================= +CREATE PROCEDURE [dbo].[getAnnotationTypeByName] +( + @Name nvarchar(100) +) +WITH EXECUTE AS OWNER +AS + SELECT + [TypeID], + [Name], + [Config], + [DTS], + [UserID], + [LastChanged], + (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount], + [IsEPAnnotationType] + FROM [AnnotationTypes] + WHERE [Name]=@Name + RETURN +GO + +IF (@@Error = 0) PRINT 'Running getAnnotationTypeByName Succeeded' +ELSE PRINT 'Running getAnnotationTypeByName Failed to Execute' +GO + +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[getAnnotationTypes]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) + DROP PROCEDURE [getAnnotationTypes]; +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: Matthew Schill +-- Create date: 3/21/2025 +-- Description: Add EP to AnnotationTypes +-- ============================================= +CREATE PROCEDURE [dbo].[getAnnotationTypes] +WITH EXECUTE AS OWNER +AS + SELECT + [TypeID], + [Name], + [Config], + [DTS], + [UserID], + [LastChanged], + (SELECT COUNT(*) FROM [Annotations] WHERE [Annotations].[TypeID]=[AnnotationTypes].[TypeID]) [AnnotationCount], + [IsEPAnnotationType] + FROM [AnnotationTypes] + RETURN + +GO + +IF (@@Error = 0) PRINT 'Running getAnnotationTypes Succeeded' +ELSE PRINT 'Running getAnnotationTypes Failed to Execute' +GO + +IF Not Exists(SELECT * FROM sys.objects Where name = 'EPFormats' AND type in (N'U')) +Begin -- Rofst Tables + + SET ANSI_NULLS ON + SET QUOTED_IDENTIFIER ON + + CREATE TABLE [dbo].[EPFormats]( + [FormatID] [int] IDENTITY(1,1) NOT NULL, + [Name] [nvarchar](100) NOT NULL, + [Data] [xml] NULL, + [Created] [datetime] NOT NULL DEFAULT (getdate()), + [CreatedBy] [nvarchar](100) NOT NULL DEFAULT (upper(suser_sname())), + [Updated] [datetime] NOT NULL DEFAULT (getdate()), + [UpdatedBy] [nvarchar](100) NOT NULL DEFAULT (upper(suser_sname())) + CONSTRAINT [PK_EPFormats] PRIMARY KEY CLUSTERED + ( + [FormatID] ASC + )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] + ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] + + IF (@@Error = 0) PRINT 'Table Creation: [EPFormats] Succeeded' + ELSE PRINT 'Table Creation: [EPFormats] Error on Creation' + +End +Go + +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateEPFormat]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) + DROP PROCEDURE [vesp_UpdateEPFormat]; +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: Matthew Schill +-- Create date: 3/26/2025 +-- Description: Update / Insert EP Format +-- ============================================= +CREATE PROCEDURE [dbo].[vesp_UpdateEPFormat] +( + @name nvarchar(100), + @data nvarchar(max), + @userID nvarchar(15) +) +WITH EXECUTE AS OWNER +AS + +IF EXISTS(Select 1 FROM EPFormats where Name = @name ) + BEGIN + UpDate EPFormats + SET Name = @name, + Data = @data, + Updated = getdate(), + UpdatedBy = upper(@userID) + WHERE Name = @name + END +ELSE + BEGIN + INSERT INTO EPFormats (Name, Data, CreatedBy, UpdatedBy) + values (@name, @data, 'Migration', 'Migration') + + END + +GO + +IF (@@Error = 0) PRINT 'Running vesp_UpdateEPFormat Succeeded' +ELSE PRINT 'Running vesp_UpdateEPFormat Failed to Execute' +GO +UPDATE Formats SET ApplicablePlant = 1000 WHERE [Name] LIKE 'EPTST%'; +Go +--- end changes for: +---C2025-023 - Electronic Procedures - Modifications to PROMS /* --------------------------------------------------------------------------- @@ -23844,8 +24062,8 @@ BEGIN TRY -- Try Block DECLARE @RevDate varchar(255) DECLARE @RevDescription varchar(255) - set @RevDate = '4/03/2025 6:14 PM' - set @RevDescription = 'B2022-031 Add filtering for Proc and Section name from Global Search' + set @RevDate = '4/8/2025 11:24' + set @RevDescription = 'Added support for EP Viewer Editing' Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription diff --git a/PROMS/VEPROMS.CSLA.Library/Config/AnnotationConfig.cs b/PROMS/VEPROMS.CSLA.Library/Config/AnnotationConfig.cs new file mode 100644 index 00000000..feb430cd --- /dev/null +++ b/PROMS/VEPROMS.CSLA.Library/Config/AnnotationConfig.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; + +namespace VEPROMS.CSLA.Library +{ + //C2025-023 - Electronic Procedures - Modifications to PROMS + //new class to handle access of tblAnnotations.Config + [Serializable] + [TypeConverter(typeof(ExpandableObjectConverter))] + public class AnnotationConfig : ConfigDynamicTypeDescriptor, INotifyPropertyChanged + { + private XMLProperties _Xp; + private XMLProperties Xp + { + get { return _Xp; } + } + public AnnotationConfig(string xml) + { + if (xml == string.Empty) xml = ""; + _Xp = new XMLProperties(xml); + } + + public AnnotationConfig() + { + _Xp = new XMLProperties(); + } + public override string ToString() + { + string s = _Xp.ToString(); + if (s == "" || s == "") return string.Empty; + return s; + } + public string GetValue(string group, string item) + { + return _Xp[group, item]; + } + public void SetValue(string group, string item, string newvalue) + { + _Xp[group, item] = newvalue; + } + + } +} diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/FormatExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/FormatExt.cs index 02cd7989..a4e5383a 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/FormatExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/FormatExt.cs @@ -19,6 +19,7 @@ using System.Xml; using System.Drawing; using System.ComponentModel; using System.Collections.Generic; +using Volian.Base.Library; namespace VEPROMS.CSLA.Library { @@ -226,6 +227,34 @@ namespace VEPROMS.CSLA.Library //} } OnFormatLoaded(null, new FormatEventArgs("Formats Updated")); + + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Begin section for processing Electronic Procedure (EP) Format Files + // now loop through all EP format files + string epPath = fmtPath.Replace("\\fmtall", "\\epall"); + DirectoryInfo diEP = new DirectoryInfo(epPath); + if (diEP.Exists) + { + FileInfo[] fisEP = diEP.GetFiles("*.xml"); + OnFormatLoaded(null, new FormatEventArgs(fisEP.Length.ToString() + " EP Formats to Load")); + foreach (FileInfo fi in fisEP) + { + string fmtname = Path.GetFileNameWithoutExtension(fi.Name); + try + { + AddEPFormatToDB(fmtname, DateTime.Now, VlnSettings.UserID, epPath); + } + catch (Exception ex) + { + Console.WriteLine("{0} - {1}", ex.GetType().Name, ex.Message); + } + } + OnFormatLoaded(null, new FormatEventArgs("EP Formats Updated")); + + // update all in-use annotation types that have Electronic Procedures + EPFormatFile.UpdateAllInUseEPAnnotationTypes(); + } + } private static Dictionary _LookupFormats; @@ -338,8 +367,54 @@ namespace VEPROMS.CSLA.Library } return rec; } + + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Procedure to load the EP format fiels into the DB + private static void AddEPFormatToDB(string formatname, DateTime Dts, string Userid, string epPath) + { + string fmtdata = null; + FileInfo fmtfi = null; + XmlDocument xd = null; + + OnFormatLoaded(null, new FormatEventArgs("Loading Format " + formatname)); + + string path = Path.Combine(epPath, formatname + ".xml"); + if (File.Exists(path)) + { + try + { + using (StreamReader srf = new StreamReader(path)) + { + fmtfi = new FileInfo(path); + xd = new XmlDocument(); + xd.XmlResolver = null; + xd.Load(srf); + fmtdata = xd.OuterXml; + } + } + catch (Exception ex) + { + OnFormatLoaded(null, new FormatEventArgs("Error Loading Format " + formatname)); + _MyLog.ErrorFormat($"AddEPFormatToDB('{path}')"); + return; + } + } + + if (string.IsNullOrEmpty(Userid)) Userid = "Migration"; + + try + { + EPFormatFile.UpdateEPFormat(formatname, fmtdata, Userid); + } + catch (Exception ex) + { + _MyLog.ErrorFormat($"AddFormatToDB-make format('{path}')"); + } + + } } - public partial class FormatInfo : IFormatOrFormatInfo + +public partial class FormatInfo : IFormatOrFormatInfo { //transition report stuff private static Dictionary _TransitionTypes; diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 668e1cf5..a425bfdc 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -2112,6 +2112,45 @@ namespace VEPROMS.CSLA.Library return (sd.Type == type); } + // C2025-023 - Electronic Procedures - Modifications to PROMS + //return EPFields that match this step type or a parent step type + public EPFields GetValidEPFields(int AnnTypeID) + { + EPFields filtered = new EPFields(); + EPFields unfiltered = ActiveFormat.PlantFormat.EPFormatFiles.First(x => x.AnnotationTypeID == AnnTypeID).FieldList; + + //Build list of step type and step type of it's parents + List steptypelist = new List(); + if ((int)MyContent.Type < 20000) return filtered; + int stepType = ((int)MyContent.Type) % 10000; + StepDataList sdlist = ActiveFormat.PlantFormat.FormatData.StepDataList; + if (stepType > sdlist.MaxIndex) + { + Console.WriteLine("Error getting type - contentid = {0}", MyContent.ContentID); + return filtered; + } + StepData sd = sdlist[stepType]; + while (sd.Index != 0) + { + steptypelist.Add(sd.Type); + sd = sdlist[sd.ParentType]; + } + + //if unfiltered list contains All as a step type, include it + foreach (EPField EP in unfiltered) + { + //if unfiltered list contains All as a step type, include it + if (EP.IsValidForStepType("All")) + filtered.Add(EP); + + //check for intersections between unfiltered list and step type list + if (EP.validforsteptypes.Any(steptypelist.Contains)) + filtered.Add(EP); + } + + return filtered; + } + // determine if the the current step should automatically be placed on the Continuous Action Summary // Note, this logic only checks the format setting of the step. We will check the value of the Tag's Check Box later on. public bool IncludeOnContActSum diff --git a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs new file mode 100644 index 00000000..df6b3a42 --- /dev/null +++ b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs @@ -0,0 +1,343 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.ComponentModel; +using System.Xml; +using System.Linq; +using System.Data.SqlClient; +using System.Data; +using Csla.Data; +using static VEPROMS.CSLA.Library.ROFSTLookup; + +namespace VEPROMS.CSLA.Library +{ + //C2025-023 - Electronic Procedures - Modifications to PROMS + // class to handle storage and access of EPFormatFile and EPFormatFile details + #region EPFormatFiles + [TypeConverter(typeof(vlnListConverter))] + public class EPFormatFiles : vlnFormatList + { + public EPFormatFiles(XmlNodeList xmlNodeList) : base(xmlNodeList) { } + } + #endregion + #region EPFormatFile + public class EPFormatFile : vlnFormatItem + { + #region Constructor + public EPFormatFile(XmlNode xmlNode) : base(xmlNode) { } + public EPFormatFile() : base() { } + #endregion + #region Business Fields + // Name of the EP Viewer Format File + private LazyLoad _Name; + [DisplayName("Name")] + [Description("EP Viewer File Name")] + public string Name + { + get + { + return LazyLoad(ref _Name, "@Name"); + } + } + // Name of the EP Viewer Format File + private LazyLoad _Description; + [DisplayName("Description")] + [Description("EP Viewer Description")] + public string Description + { + get + { + return LazyLoad(ref _Description, "@Description"); + } + } + // Id of Annotation Type Associated with this file + private LazyLoad _AnnotationTypeID; + [DisplayName("AnnotationTypeID")] + [Description("Id of Annotation Type Associated with this file")] + public int? AnnotationTypeID + { + get + { + return LazyLoad(ref _AnnotationTypeID, "@AnnotationTypeID"); + } + } + // returns a list of fields that are defined in the EP format's structure + private EPFields _FieldList; + public EPFields FieldList + { + get + { + XmlDocument xd = GetEPFormatData(Name); + return _FieldList == null ? _FieldList = new EPFields(xd.SelectNodes("/EPFormat/EPField")) : _FieldList; + } + } + #endregion + #region Business Methods + // update all in-use annotation types that have Electronic Procedures + public static void UpdateAllInUseEPAnnotationTypes() + { + foreach (int formatid in GetAllInUseFormats()) + { + PlantFormat frmt = FormatInfo.Get(formatid).PlantFormat; + foreach (EPFormatFile EP in frmt.EPFormatFiles) + { + UpdateAnnotationTypeAsEP((int) EP.AnnotationTypeID); + } + } + } + #endregion + #region Data Access + // static - Load EP Format details - save to db (insert/update) + public static void UpdateEPFormat(string name, string data, string userID) + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandText = "vesp_UpdateEPFormat"; + cm.Parameters.AddWithValue("@name", name); + cm.Parameters.AddWithValue("@data", data); + cm.Parameters.AddWithValue("@userID", userID); + cm.CommandTimeout = Database.DefaultTimeout; + cm.ExecuteNonQuery(); + } + } + } + + // load data for getting fieldlist for this EPFormat + public static XmlDocument GetEPFormatData(string name) + { + name = name.Replace(".xml", ""); + + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.Text; + cm.CommandText = "Select Data FROM EPFormats where Name = @Name"; + cm.Parameters.AddWithValue("@Name", name); + cm.CommandTimeout = Database.DefaultTimeout; + using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) + { + if (dr.Read()) + { + XmlDocument xd = new XmlDocument(); + xd.XmlResolver = null; + xd.LoadXml(dr.GetString("Data")); + return xd; + } + } + } + } + + return null; + } + + // Get all in-use formats + public static List GetAllInUseFormats() + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.Text; + cm.CommandText = @"SELECT Distinct Formats.[FormatID] + FROM + ( + SELECT FormatID FROM Contents + UNION + SELECT FormatID FROM DocVersions + UNION + SELECT FormatID FROM Folders + ) inuse + inner join Formats + on inuse.FormatID = Formats.FormatID"; + cm.CommandTimeout = Database.DefaultTimeout; + + using (DataTable dt = new DataTable()) + { + using (SqlDataAdapter da = new SqlDataAdapter(cm)) + { + da.Fill(dt); + return dt.AsEnumerable().Select(x => x.Field("FormatID")).ToList(); + } + } + + } + } + } + + // update an annotation type as an Electronic Procedure Annotation Type + public static void UpdateAnnotationTypeAsEP(int typeID) + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.Text; + cm.CommandText = @"Update AnnotationTypes + SET IsEPAnnotationType = 1 + WHERE TypeID = @typeID"; + cm.Parameters.AddWithValue("@typeID", typeID); + cm.CommandTimeout = Database.DefaultTimeout; + cm.ExecuteNonQuery(); + } + } + } + + // Returns true if there are any EP Annotation Types + public static bool IsEPAnnotationType() + { + try + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.Text; + cm.CommandText = @"SELECT RESULT = CASE WHEN + EXISTS(SELECT 1 FROM AnnotationTypes where IsEPAnnotationType = 1) + THEN 1 ELSE 0 END"; + cm.CommandTimeout = Database.DefaultTimeout; + using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) + { + if (dr.Read() && dr.GetInt32("RESULT") == 1) + return true; + } + } + } + } + catch + { + // EP Support has not yet been added for this DB + // IsEPAnnotationType does not exist + // need to run PROMS Fixes + // until then will ignore EP code + // instead of crashing for a field not found + } + + return false; + } + #endregion + } + + public class EPFields : vlnFormatList + { + public EPFields() + { + } + + public EPFields(XmlNodeList xmlNodeList) : base(xmlNodeList) { } + } + // EP field class + public class EPField : vlnFormatItem + { + public EPField(XmlNode xmlNode) : base(xmlNode) { } + public EPField() : base() { } + private LazyLoad _name; + public string name + { + get + { + return LazyLoad(ref _name, "@name"); + } + } + private LazyLoad _type; + public string type + { + get + { + return LazyLoad(ref _type, "@type"); + } + } + private LazyLoad _label; + public string label + { + get + { + string tmp = LazyLoad(ref _label, "@label"); + + if (string.IsNullOrEmpty(tmp)) + return LazyLoad(ref _name, "@name"); + else + return tmp; + } + } + private LazyLoad _text; + public string text + { + get + { + return LazyLoad(ref _text, "@text"); + } + } + private LazyLoad _rosource; + public string rosource + { + get + { + return LazyLoad(ref _rosource, "@rosource"); + } + } + private LazyLoad _numlines; + public int numlines + { + get + { + int? tmp = LazyLoad(ref _numlines, "@numlines"); + + if (tmp == null) + return 1; + + return (int) tmp; + } + } + //step types that the EPForma Item is valid for (as a list of types) + private LazyLoad _validforsteptypes; + public List validforsteptypes + { + get + { + try + { + string tmp = LazyLoad(ref _validforsteptypes, "@validforsteptypes"); + return tmp.Split(',').Select(p => p.Trim()).ToList(); + } + catch + { + throw new ArgumentException($"Error in validforsteptypes for EP file: {((EPFormatFile) MyParentFormat).Name}.xml, field: {name}"); + } + } + } + public bool IsValidForStepType(string StepType) + { + return validforsteptypes.Contains(StepType); + } + + //return a list of items based on the ROsource specified in the EPFormat File + public Dictionary getROList(AnnotationInfo currAnn) + { + if (string.IsNullOrEmpty(rosource)) + return new Dictionary(); + + try + { + DocVersionInfo MyDocVersion = currAnn.MyItem.MyDocVersion; + ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion); + + string roid = FormatRoidKey(rosource, false); + rochild[] children = lookup.GetRoChildrenByRoid(roid); + + + return children.Select(x => new { x.ID, x.title }).ToDictionary(t => t.ID, t => t.title); + } + catch (Exception Ex) + { + throw new ArgumentException($"Error in rosource for EP file: {((EPFormatFile)MyParentFormat).Name}.xml, field: {name}"); + } + } + } + #endregion +} + diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs index 8232a8d6..6703b87c 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/PlantFormat.cs @@ -192,6 +192,18 @@ namespace VEPROMS.CSLA.Library } return (retlist); } + + //C2025-023 - Electronic Procedures - Modifications to PROMS + // EPFormatFiles contains which Electronic Procedure Format files apply to this main format file. + private EPFormatFiles _EPFormatFiles; + public EPFormatFiles EPFormatFiles + { + get + { + if (_EPFormatFiles == null) _EPFormatFiles = new EPFormatFiles(XmlDoc.SelectNodes("/PlantFormat/EPFormatFiles/EPFormatFile")); + return _EPFormatFiles; + } + } } #endregion #region VE_Font diff --git a/PROMS/VEPROMS.CSLA.Library/Format/vlnFormat.cs b/PROMS/VEPROMS.CSLA.Library/Format/vlnFormat.cs index 312582e8..c7676e27 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/vlnFormat.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/vlnFormat.cs @@ -57,6 +57,8 @@ namespace VEPROMS.CSLA.Library XmlNode xn = xmlNode.SelectSingleNode(path); if (xmlNode.Name == "Box") return xn; // if box, don't do inheritance. if (xmlNode.Name == "DocStyle") return xn; + //C2025-023 - Electronic Procedures - Modifications to PROMS + if (xmlNode.Name == "EPField") return xn; // if Electronic Procedure Field, don't do inheritance. if (xmlNode.Name == "StructureStyle") { Volian.Base.Library.DebugText.WriteLine("vlnFormatDocument:LookupSingleNode:StructureStyle - shouldn't get to this line of code.\r\nPath = {0}", path); diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/AnnotationType.cs b/PROMS/VEPROMS.CSLA.Library/Generated/AnnotationType.cs index d586f302..913453ef 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/AnnotationType.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/AnnotationType.cs @@ -18,6 +18,8 @@ using System.IO; using System.ComponentModel; using System.Collections.Generic; using Csla.Validation; +using System.Linq; + namespace VEPROMS.CSLA.Library { /// @@ -207,6 +209,27 @@ namespace VEPROMS.CSLA.Library } } } + + //C2025-023 - Electronic Procedures - Modifications to PROMS + // Is Annotation Type an EP Annotation? + private bool _IsEPAnnotationType = false; + public bool IsEPAnnotationType + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + get + { + return _IsEPAnnotationType; + } + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + set + { + if (_IsEPAnnotationType != value) + { + _IsEPAnnotationType = value; + PropertyHasChanged(); + } + } + } private byte[] _LastChanged = new byte[8];//timestamp private int _AnnotationTypeAnnotationCount = 0; /// @@ -712,6 +735,8 @@ namespace VEPROMS.CSLA.Library _UserID = dr.GetString("UserID"); dr.GetBytes("LastChanged", 0, _LastChanged, 0, 8); _AnnotationTypeAnnotationCount = dr.GetInt32("AnnotationCount"); + if (dr.GetSchemaTable().Rows.OfType().Any(row => row["ColumnName"].ToString() == "IsEPAnnotationType")) + _IsEPAnnotationType = (bool)dr.GetValue("IsEPAnnotationType"); MarkOld(); } catch (Exception ex) diff --git a/PROMS/VEPROMS.CSLA.Library/Generated/AnnotationTypeInfo.cs b/PROMS/VEPROMS.CSLA.Library/Generated/AnnotationTypeInfo.cs index a82473e1..9aeb05cc 100644 --- a/PROMS/VEPROMS.CSLA.Library/Generated/AnnotationTypeInfo.cs +++ b/PROMS/VEPROMS.CSLA.Library/Generated/AnnotationTypeInfo.cs @@ -17,6 +17,8 @@ using System.Configuration; using System.IO; using System.ComponentModel; using System.Collections.Generic; +using System.Linq; + namespace VEPROMS.CSLA.Library { public delegate void AnnotationTypeInfoEvent(object sender); @@ -135,6 +137,19 @@ namespace VEPROMS.CSLA.Library return _UserID; } } + + //C2025-023 - Electronic Procedures - Modifications to PROMS + // Is Annotation Type an EP Annotation? + private bool _IsEPAnnotationType = false; + public bool IsEPAnnotationType + { + [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] + get + { + return _IsEPAnnotationType; + } + } + private int _AnnotationTypeAnnotationCount = 0; /// /// Count of AnnotationTypeAnnotations for this AnnotationType @@ -312,6 +327,8 @@ namespace VEPROMS.CSLA.Library _DTS = dr.GetDateTime("DTS"); _UserID = dr.GetString("UserID"); _AnnotationTypeAnnotationCount = dr.GetInt32("AnnotationCount"); + if (dr.GetSchemaTable().Rows.OfType().Any(row => row["ColumnName"].ToString() == "IsEPAnnotationType")) + _IsEPAnnotationType = (bool)dr.GetValue("IsEPAnnotationType"); } catch (Exception ex) { diff --git a/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj b/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj index 469a09b4..3af1e207 100644 --- a/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj +++ b/PROMS/VEPROMS.CSLA.Library/VEPROMS.CSLA.Library.csproj @@ -98,6 +98,7 @@ + @@ -107,6 +108,7 @@ Properties\Settings.Designer.cs + @@ -164,6 +166,7 @@ + diff --git a/PROMS/Volian.Controls.Library/AnnotationDetails.Designer.cs b/PROMS/Volian.Controls.Library/AnnotationDetails.Designer.cs index b7cee59f..68e786bb 100644 --- a/PROMS/Volian.Controls.Library/AnnotationDetails.Designer.cs +++ b/PROMS/Volian.Controls.Library/AnnotationDetails.Designer.cs @@ -28,326 +28,341 @@ namespace Volian.Controls.Library /// private void InitializeComponent() { - this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip(); - this.rtxbComment = new System.Windows.Forms.RichTextBox(); - this.btnSaveAnnotation = new DevComponents.DotNetBar.ButtonX(); - this.btnCancelAnnoation = new DevComponents.DotNetBar.ButtonX(); - this.cbGridAnnoType = new DevComponents.DotNetBar.Controls.ComboBoxEx(); - this.btnRemoveAnnotation = new DevComponents.DotNetBar.ButtonX(); - this.btnAddAnnotation = new DevComponents.DotNetBar.ButtonX(); - this.pannelAnnoEdit = new DevComponents.DotNetBar.PanelEx(); - this.labelX1 = new DevComponents.DotNetBar.LabelX(); - this.panelAnnoEditBtns = new DevComponents.DotNetBar.PanelEx(); - this.expandableSplitter4 = new DevComponents.DotNetBar.ExpandableSplitter(); - this.pannelAnnoGrid = new DevComponents.DotNetBar.PanelEx(); - this.dgAnnotations = new DevComponents.DotNetBar.Controls.DataGridViewX(); - this.myAnnotationTypeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.dTSDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.userIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.searchTextDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.itemAnnotationsBindingSource = new System.Windows.Forms.BindingSource(this.components); - this.pannelAnnoEdit.SuspendLayout(); - this.panelAnnoEditBtns.SuspendLayout(); - this.pannelAnnoGrid.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.dgAnnotations)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).BeginInit(); - this.SuspendLayout(); - // - // superTooltip1 - // - this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray); - this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F"; - // - // rtxbComment - // - this.rtxbComment.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip(); + this.rtxbComment = new System.Windows.Forms.RichTextBox(); + this.btnSaveAnnotation = new DevComponents.DotNetBar.ButtonX(); + this.btnCancelAnnoation = new DevComponents.DotNetBar.ButtonX(); + this.cbGridAnnoType = new DevComponents.DotNetBar.Controls.ComboBoxEx(); + this.btnRemoveAnnotation = new DevComponents.DotNetBar.ButtonX(); + this.btnAddAnnotation = new DevComponents.DotNetBar.ButtonX(); + this.btnEPAnnotation = new DevComponents.DotNetBar.ButtonX(); + this.pannelAnnoEdit = new DevComponents.DotNetBar.PanelEx(); + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.panelAnnoEditBtns = new DevComponents.DotNetBar.PanelEx(); + this.expandableSplitter4 = new DevComponents.DotNetBar.ExpandableSplitter(); + this.pannelAnnoGrid = new DevComponents.DotNetBar.PanelEx(); + this.dgAnnotations = new DevComponents.DotNetBar.Controls.DataGridViewX(); + this.myAnnotationTypeDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.dTSDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.userIDDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.searchTextDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.itemAnnotationsBindingSource = new System.Windows.Forms.BindingSource(this.components); + this.pannelAnnoEdit.SuspendLayout(); + this.panelAnnoEditBtns.SuspendLayout(); + this.pannelAnnoGrid.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgAnnotations)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).BeginInit(); + this.SuspendLayout(); + // + // superTooltip1 + // + this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray); + this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F"; + // + // rtxbComment + // + this.rtxbComment.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.rtxbComment.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128))))); - this.rtxbComment.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.rtxbComment.Location = new System.Drawing.Point(87, 33); - this.rtxbComment.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.rtxbComment.Name = "rtxbComment"; - this.rtxbComment.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical; - this.rtxbComment.Size = new System.Drawing.Size(489, 291); - this.superTooltip1.SetSuperTooltip(this.rtxbComment, new DevComponents.DotNetBar.SuperTooltipInfo("Annotation", "", "Enter the annotation information here.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); - this.rtxbComment.TabIndex = 1; - this.rtxbComment.Text = ""; - this.rtxbComment.TextChanged += new System.EventHandler(this.rtxbComment_TextChanged); - // - // btnSaveAnnotation - // - this.btnSaveAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnSaveAnnotation.Enabled = false; - this.btnSaveAnnotation.Location = new System.Drawing.Point(491, 4); - this.btnSaveAnnotation.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.btnSaveAnnotation.Name = "btnSaveAnnotation"; - this.btnSaveAnnotation.Size = new System.Drawing.Size(71, 25); - this.superTooltip1.SetSuperTooltip(this.btnSaveAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Save Changes", "", "This will save the new annotation or changes made to an existing annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); - this.btnSaveAnnotation.TabIndex = 9; - this.btnSaveAnnotation.Text = "Save"; - this.btnSaveAnnotation.Click += new System.EventHandler(this.btnSaveAnnotation_Click); - // - // btnCancelAnnoation - // - this.btnCancelAnnoation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnCancelAnnoation.Enabled = false; - this.btnCancelAnnoation.Location = new System.Drawing.Point(401, 4); - this.btnCancelAnnoation.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.btnCancelAnnoation.Name = "btnCancelAnnoation"; - this.btnCancelAnnoation.Size = new System.Drawing.Size(69, 25); - this.superTooltip1.SetSuperTooltip(this.btnCancelAnnoation, new DevComponents.DotNetBar.SuperTooltipInfo("Cancel", "", "This will cancel the changes made to the annotation text and type selection", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(145, 100))); - this.btnCancelAnnoation.TabIndex = 8; - this.btnCancelAnnoation.Text = "Cancel"; - this.btnCancelAnnoation.Click += new System.EventHandler(this.btnCancelAnnoation_Click); - // - // cbGridAnnoType - // - this.cbGridAnnoType.DisplayMember = "Text"; - this.cbGridAnnoType.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; - this.cbGridAnnoType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.cbGridAnnoType.FlatStyle = System.Windows.Forms.FlatStyle.Standard; - this.cbGridAnnoType.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.cbGridAnnoType.ForeColor = System.Drawing.SystemColors.WindowText; - this.cbGridAnnoType.ItemHeight = 17; - this.cbGridAnnoType.Location = new System.Drawing.Point(133, 4); - this.cbGridAnnoType.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.cbGridAnnoType.Name = "cbGridAnnoType"; - this.cbGridAnnoType.PreventEnterBeep = true; - this.cbGridAnnoType.Size = new System.Drawing.Size(244, 23); - this.superTooltip1.SetSuperTooltip(this.cbGridAnnoType, new DevComponents.DotNetBar.SuperTooltipInfo("Select Annotation Type", "", "This drop down list contains the possible annotation types.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); - this.cbGridAnnoType.TabIndex = 7; - this.cbGridAnnoType.WatermarkBehavior = DevComponents.DotNetBar.eWatermarkBehavior.HideNonEmpty; - this.cbGridAnnoType.WatermarkText = "Select Annotation Type"; - this.cbGridAnnoType.SelectedValueChanged += new System.EventHandler(this.cbGridAnnoType_SelectedValueChanged); - // - // btnRemoveAnnotation - // - this.btnRemoveAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnRemoveAnnotation.Location = new System.Drawing.Point(5, 34); - this.btnRemoveAnnotation.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.btnRemoveAnnotation.Name = "btnRemoveAnnotation"; - this.btnRemoveAnnotation.Size = new System.Drawing.Size(71, 25); - this.superTooltip1.SetSuperTooltip(this.btnRemoveAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Annotation", "", "This will remove the currently selected annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); - this.btnRemoveAnnotation.TabIndex = 4; - this.btnRemoveAnnotation.Text = "Remove"; - this.btnRemoveAnnotation.Click += new System.EventHandler(this.btnRemoveAnnotation_Click); - // - // btnAddAnnotation - // - this.btnAddAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnAddAnnotation.Location = new System.Drawing.Point(5, 4); - this.btnAddAnnotation.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.btnAddAnnotation.Name = "btnAddAnnotation"; - this.btnAddAnnotation.Size = new System.Drawing.Size(71, 25); - this.superTooltip1.SetSuperTooltip(this.btnAddAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Add New Annotation", "", "This button will create a new annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); - this.btnAddAnnotation.TabIndex = 3; - this.btnAddAnnotation.Text = "Add"; - this.btnAddAnnotation.Click += new System.EventHandler(this.btnAddAnnotation_Click); - // - // pannelAnnoEdit - // - this.pannelAnnoEdit.CanvasColor = System.Drawing.SystemColors.Control; - this.pannelAnnoEdit.Controls.Add(this.rtxbComment); - this.pannelAnnoEdit.Controls.Add(this.btnSaveAnnotation); - this.pannelAnnoEdit.Controls.Add(this.btnCancelAnnoation); - this.pannelAnnoEdit.Controls.Add(this.labelX1); - this.pannelAnnoEdit.Controls.Add(this.cbGridAnnoType); - this.pannelAnnoEdit.Controls.Add(this.panelAnnoEditBtns); - this.pannelAnnoEdit.DisabledBackColor = System.Drawing.Color.Empty; - this.pannelAnnoEdit.Dock = System.Windows.Forms.DockStyle.Fill; - this.pannelAnnoEdit.Location = new System.Drawing.Point(548, 0); - this.pannelAnnoEdit.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.pannelAnnoEdit.Name = "pannelAnnoEdit"; - this.pannelAnnoEdit.Size = new System.Drawing.Size(576, 325); - this.pannelAnnoEdit.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pannelAnnoEdit.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.pannelAnnoEdit.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.pannelAnnoEdit.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pannelAnnoEdit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.pannelAnnoEdit.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.pannelAnnoEdit.Style.GradientAngle = 90; - this.pannelAnnoEdit.TabIndex = 16; - this.pannelAnnoEdit.Text = "panelEx2"; - this.pannelAnnoEdit.ThemeAware = true; - // - // labelX1 - // - this.labelX1.AutoSize = true; - // - // - // - this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.labelX1.Location = new System.Drawing.Point(93, 7); - this.labelX1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.labelX1.Name = "labelX1"; - this.labelX1.Size = new System.Drawing.Size(35, 17); - this.labelX1.TabIndex = 10; - this.labelX1.Text = "Type:"; - // - // panelAnnoEditBtns - // - this.panelAnnoEditBtns.CanvasColor = System.Drawing.SystemColors.Control; - this.panelAnnoEditBtns.Controls.Add(this.btnRemoveAnnotation); - this.panelAnnoEditBtns.Controls.Add(this.btnAddAnnotation); - this.panelAnnoEditBtns.DisabledBackColor = System.Drawing.Color.Empty; - this.panelAnnoEditBtns.Dock = System.Windows.Forms.DockStyle.Left; - this.panelAnnoEditBtns.Location = new System.Drawing.Point(0, 0); - this.panelAnnoEditBtns.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.panelAnnoEditBtns.Name = "panelAnnoEditBtns"; - this.panelAnnoEditBtns.Size = new System.Drawing.Size(87, 325); - this.panelAnnoEditBtns.Style.Alignment = System.Drawing.StringAlignment.Center; - this.panelAnnoEditBtns.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.panelAnnoEditBtns.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.panelAnnoEditBtns.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.panelAnnoEditBtns.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.panelAnnoEditBtns.Style.GradientAngle = 90; - this.panelAnnoEditBtns.TabIndex = 11; - this.panelAnnoEditBtns.ThemeAware = true; - // - // expandableSplitter4 - // - this.expandableSplitter4.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); - this.expandableSplitter4.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.expandableSplitter4.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.expandableSplitter4.ExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); - this.expandableSplitter4.ExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.expandableSplitter4.ExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); - this.expandableSplitter4.ExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; - this.expandableSplitter4.GripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); - this.expandableSplitter4.GripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; - this.expandableSplitter4.GripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); - this.expandableSplitter4.GripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; - this.expandableSplitter4.HotBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(151)))), ((int)(((byte)(61))))); - this.expandableSplitter4.HotBackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(94))))); - this.expandableSplitter4.HotBackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground2; - this.expandableSplitter4.HotBackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground; - this.expandableSplitter4.HotExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); - this.expandableSplitter4.HotExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.expandableSplitter4.HotExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); - this.expandableSplitter4.HotExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; - this.expandableSplitter4.HotGripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); - this.expandableSplitter4.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.expandableSplitter4.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); - this.expandableSplitter4.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; - this.expandableSplitter4.Location = new System.Drawing.Point(545, 0); - this.expandableSplitter4.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.expandableSplitter4.Name = "expandableSplitter4"; - this.expandableSplitter4.Size = new System.Drawing.Size(3, 325); - this.expandableSplitter4.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007; - this.expandableSplitter4.TabIndex = 15; - this.expandableSplitter4.TabStop = false; - // - // pannelAnnoGrid - // - this.pannelAnnoGrid.CanvasColor = System.Drawing.SystemColors.Control; - this.pannelAnnoGrid.Controls.Add(this.dgAnnotations); - this.pannelAnnoGrid.DisabledBackColor = System.Drawing.Color.Empty; - this.pannelAnnoGrid.Dock = System.Windows.Forms.DockStyle.Left; - this.pannelAnnoGrid.Location = new System.Drawing.Point(0, 0); - this.pannelAnnoGrid.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.pannelAnnoGrid.Name = "pannelAnnoGrid"; - this.pannelAnnoGrid.Size = new System.Drawing.Size(545, 325); - this.pannelAnnoGrid.Style.Alignment = System.Drawing.StringAlignment.Center; - this.pannelAnnoGrid.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.pannelAnnoGrid.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.pannelAnnoGrid.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; - this.pannelAnnoGrid.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.pannelAnnoGrid.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.pannelAnnoGrid.Style.GradientAngle = 90; - this.pannelAnnoGrid.TabIndex = 14; - this.pannelAnnoGrid.Text = "panelEx2"; - this.pannelAnnoGrid.ThemeAware = true; - // - // dgAnnotations - // - this.dgAnnotations.AutoGenerateColumns = false; - this.dgAnnotations.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; - this.dgAnnotations.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; - this.dgAnnotations.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; - this.dgAnnotations.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.rtxbComment.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128))))); + this.rtxbComment.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.rtxbComment.Location = new System.Drawing.Point(65, 27); + this.rtxbComment.Margin = new System.Windows.Forms.Padding(2); + this.rtxbComment.Name = "rtxbComment"; + this.rtxbComment.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical; + this.rtxbComment.Size = new System.Drawing.Size(368, 237); + this.superTooltip1.SetSuperTooltip(this.rtxbComment, new DevComponents.DotNetBar.SuperTooltipInfo("Annotation", "", "Enter the annotation information here.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.rtxbComment.TabIndex = 1; + this.rtxbComment.Text = ""; + this.rtxbComment.TextChanged += new System.EventHandler(this.rtxbComment_TextChanged); + // + // btnSaveAnnotation + // + this.btnSaveAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btnSaveAnnotation.Enabled = false; + this.btnSaveAnnotation.Location = new System.Drawing.Point(368, 3); + this.btnSaveAnnotation.Margin = new System.Windows.Forms.Padding(2); + this.btnSaveAnnotation.Name = "btnSaveAnnotation"; + this.btnSaveAnnotation.Size = new System.Drawing.Size(53, 20); + this.superTooltip1.SetSuperTooltip(this.btnSaveAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Save Changes", "", "This will save the new annotation or changes made to an existing annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.btnSaveAnnotation.TabIndex = 9; + this.btnSaveAnnotation.Text = "Save"; + this.btnSaveAnnotation.Click += new System.EventHandler(this.btnSaveAnnotation_Click); + // + // btnCancelAnnoation + // + this.btnCancelAnnoation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btnCancelAnnoation.Enabled = false; + this.btnCancelAnnoation.Location = new System.Drawing.Point(301, 3); + this.btnCancelAnnoation.Margin = new System.Windows.Forms.Padding(2); + this.btnCancelAnnoation.Name = "btnCancelAnnoation"; + this.btnCancelAnnoation.Size = new System.Drawing.Size(52, 20); + this.superTooltip1.SetSuperTooltip(this.btnCancelAnnoation, new DevComponents.DotNetBar.SuperTooltipInfo("Cancel", "", "This will cancel the changes made to the annotation text and type selection", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(145, 100))); + this.btnCancelAnnoation.TabIndex = 8; + this.btnCancelAnnoation.Text = "Cancel"; + this.btnCancelAnnoation.Click += new System.EventHandler(this.btnCancelAnnoation_Click); + // + // cbGridAnnoType + // + this.cbGridAnnoType.DisplayMember = "Text"; + this.cbGridAnnoType.DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed; + this.cbGridAnnoType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.cbGridAnnoType.FlatStyle = System.Windows.Forms.FlatStyle.Standard; + this.cbGridAnnoType.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbGridAnnoType.ForeColor = System.Drawing.SystemColors.WindowText; + this.cbGridAnnoType.ItemHeight = 17; + this.cbGridAnnoType.Location = new System.Drawing.Point(100, 3); + this.cbGridAnnoType.Margin = new System.Windows.Forms.Padding(2); + this.cbGridAnnoType.Name = "cbGridAnnoType"; + this.cbGridAnnoType.PreventEnterBeep = true; + this.cbGridAnnoType.Size = new System.Drawing.Size(184, 23); + this.superTooltip1.SetSuperTooltip(this.cbGridAnnoType, new DevComponents.DotNetBar.SuperTooltipInfo("Select Annotation Type", "", "This drop down list contains the possible annotation types.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.cbGridAnnoType.TabIndex = 7; + this.cbGridAnnoType.WatermarkBehavior = DevComponents.DotNetBar.eWatermarkBehavior.HideNonEmpty; + this.cbGridAnnoType.WatermarkText = "Select Annotation Type"; + this.cbGridAnnoType.SelectedValueChanged += new System.EventHandler(this.cbGridAnnoType_SelectedValueChanged); + // + // btnRemoveAnnotation + // + this.btnRemoveAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btnRemoveAnnotation.Location = new System.Drawing.Point(4, 28); + this.btnRemoveAnnotation.Margin = new System.Windows.Forms.Padding(2); + this.btnRemoveAnnotation.Name = "btnRemoveAnnotation"; + this.btnRemoveAnnotation.Size = new System.Drawing.Size(53, 20); + this.superTooltip1.SetSuperTooltip(this.btnRemoveAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Annotation", "", "This will remove the currently selected annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.btnRemoveAnnotation.TabIndex = 4; + this.btnRemoveAnnotation.Text = "Remove"; + this.btnRemoveAnnotation.Click += new System.EventHandler(this.btnRemoveAnnotation_Click); + // + // btnAddAnnotation + // + this.btnAddAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btnAddAnnotation.Location = new System.Drawing.Point(4, 3); + this.btnAddAnnotation.Margin = new System.Windows.Forms.Padding(2); + this.btnAddAnnotation.Name = "btnAddAnnotation"; + this.btnAddAnnotation.Size = new System.Drawing.Size(53, 20); + this.superTooltip1.SetSuperTooltip(this.btnAddAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Add New Annotation", "", "This button will create a new annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.btnAddAnnotation.TabIndex = 3; + this.btnAddAnnotation.Text = "Add"; + this.btnAddAnnotation.Click += new System.EventHandler(this.btnAddAnnotation_Click); + // + // btnEPAnnotation + // + this.btnEPAnnotation.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btnEPAnnotation.Location = new System.Drawing.Point(4, 52); + this.btnEPAnnotation.Margin = new System.Windows.Forms.Padding(2); + this.btnEPAnnotation.Name = "btnEPAnnotation"; + this.btnEPAnnotation.Size = new System.Drawing.Size(53, 20); + this.superTooltip1.SetSuperTooltip(this.btnEPAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Annotation", "", "This will remove the currently selected annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.btnEPAnnotation.TabIndex = 5; + this.btnEPAnnotation.Text = "Open"; + this.btnEPAnnotation.Visible = false; + this.btnEPAnnotation.Click += new System.EventHandler(this.btnEPAnnotation_Click); + // + // pannelAnnoEdit + // + this.pannelAnnoEdit.CanvasColor = System.Drawing.SystemColors.Control; + this.pannelAnnoEdit.Controls.Add(this.rtxbComment); + this.pannelAnnoEdit.Controls.Add(this.btnSaveAnnotation); + this.pannelAnnoEdit.Controls.Add(this.btnCancelAnnoation); + this.pannelAnnoEdit.Controls.Add(this.labelX1); + this.pannelAnnoEdit.Controls.Add(this.cbGridAnnoType); + this.pannelAnnoEdit.Controls.Add(this.panelAnnoEditBtns); + this.pannelAnnoEdit.DisabledBackColor = System.Drawing.Color.Empty; + this.pannelAnnoEdit.Dock = System.Windows.Forms.DockStyle.Fill; + this.pannelAnnoEdit.Location = new System.Drawing.Point(411, 0); + this.pannelAnnoEdit.Margin = new System.Windows.Forms.Padding(2); + this.pannelAnnoEdit.Name = "pannelAnnoEdit"; + this.pannelAnnoEdit.Size = new System.Drawing.Size(432, 264); + this.pannelAnnoEdit.Style.Alignment = System.Drawing.StringAlignment.Center; + this.pannelAnnoEdit.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.pannelAnnoEdit.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.pannelAnnoEdit.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.pannelAnnoEdit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.pannelAnnoEdit.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.pannelAnnoEdit.Style.GradientAngle = 90; + this.pannelAnnoEdit.TabIndex = 16; + this.pannelAnnoEdit.Text = "panelEx2"; + this.pannelAnnoEdit.ThemeAware = true; + // + // labelX1 + // + this.labelX1.AutoSize = true; + // + // + // + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelX1.Location = new System.Drawing.Point(70, 6); + this.labelX1.Margin = new System.Windows.Forms.Padding(2); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(29, 14); + this.labelX1.TabIndex = 10; + this.labelX1.Text = "Type:"; + // + // panelAnnoEditBtns + // + this.panelAnnoEditBtns.CanvasColor = System.Drawing.SystemColors.Control; + this.panelAnnoEditBtns.Controls.Add(this.btnEPAnnotation); + this.panelAnnoEditBtns.Controls.Add(this.btnRemoveAnnotation); + this.panelAnnoEditBtns.Controls.Add(this.btnAddAnnotation); + this.panelAnnoEditBtns.DisabledBackColor = System.Drawing.Color.Empty; + this.panelAnnoEditBtns.Dock = System.Windows.Forms.DockStyle.Left; + this.panelAnnoEditBtns.Location = new System.Drawing.Point(0, 0); + this.panelAnnoEditBtns.Margin = new System.Windows.Forms.Padding(2); + this.panelAnnoEditBtns.Name = "panelAnnoEditBtns"; + this.panelAnnoEditBtns.Size = new System.Drawing.Size(65, 264); + this.panelAnnoEditBtns.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelAnnoEditBtns.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.panelAnnoEditBtns.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.panelAnnoEditBtns.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.panelAnnoEditBtns.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelAnnoEditBtns.Style.GradientAngle = 90; + this.panelAnnoEditBtns.TabIndex = 11; + this.panelAnnoEditBtns.ThemeAware = true; + // + // expandableSplitter4 + // + this.expandableSplitter4.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter4.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter4.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.expandableSplitter4.ExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter4.ExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter4.ExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter4.ExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter4.GripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter4.GripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter4.GripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); + this.expandableSplitter4.GripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; + this.expandableSplitter4.HotBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(151)))), ((int)(((byte)(61))))); + this.expandableSplitter4.HotBackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(184)))), ((int)(((byte)(94))))); + this.expandableSplitter4.HotBackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground2; + this.expandableSplitter4.HotBackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemPressedBackground; + this.expandableSplitter4.HotExpandFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter4.HotExpandFillColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter4.HotExpandLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); + this.expandableSplitter4.HotExpandLineColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.ItemText; + this.expandableSplitter4.HotGripDarkColor = System.Drawing.Color.FromArgb(((int)(((byte)(101)))), ((int)(((byte)(147)))), ((int)(((byte)(207))))); + this.expandableSplitter4.HotGripDarkColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.expandableSplitter4.HotGripLightColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255))))); + this.expandableSplitter4.HotGripLightColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.BarBackground; + this.expandableSplitter4.Location = new System.Drawing.Point(409, 0); + this.expandableSplitter4.Margin = new System.Windows.Forms.Padding(2); + this.expandableSplitter4.Name = "expandableSplitter4"; + this.expandableSplitter4.Size = new System.Drawing.Size(2, 264); + this.expandableSplitter4.Style = DevComponents.DotNetBar.eSplitterStyle.Office2007; + this.expandableSplitter4.TabIndex = 15; + this.expandableSplitter4.TabStop = false; + // + // pannelAnnoGrid + // + this.pannelAnnoGrid.CanvasColor = System.Drawing.SystemColors.Control; + this.pannelAnnoGrid.Controls.Add(this.dgAnnotations); + this.pannelAnnoGrid.DisabledBackColor = System.Drawing.Color.Empty; + this.pannelAnnoGrid.Dock = System.Windows.Forms.DockStyle.Left; + this.pannelAnnoGrid.Location = new System.Drawing.Point(0, 0); + this.pannelAnnoGrid.Margin = new System.Windows.Forms.Padding(2); + this.pannelAnnoGrid.Name = "pannelAnnoGrid"; + this.pannelAnnoGrid.Size = new System.Drawing.Size(409, 264); + this.pannelAnnoGrid.Style.Alignment = System.Drawing.StringAlignment.Center; + this.pannelAnnoGrid.Style.BackColor1.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.pannelAnnoGrid.Style.BackColor2.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.pannelAnnoGrid.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.pannelAnnoGrid.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.pannelAnnoGrid.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.pannelAnnoGrid.Style.GradientAngle = 90; + this.pannelAnnoGrid.TabIndex = 14; + this.pannelAnnoGrid.Text = "panelEx2"; + this.pannelAnnoGrid.ThemeAware = true; + // + // dgAnnotations + // + this.dgAnnotations.AutoGenerateColumns = false; + this.dgAnnotations.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; + this.dgAnnotations.ColumnHeadersBorderStyle = System.Windows.Forms.DataGridViewHeaderBorderStyle.Single; + this.dgAnnotations.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgAnnotations.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.myAnnotationTypeDataGridViewTextBoxColumn, this.dTSDataGridViewTextBoxColumn, this.userIDDataGridViewTextBoxColumn, this.searchTextDataGridViewTextBoxColumn}); - this.dgAnnotations.DataSource = this.itemAnnotationsBindingSource; - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window; - dataGridViewCellStyle2.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.ControlText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgAnnotations.DefaultCellStyle = dataGridViewCellStyle2; - this.dgAnnotations.Dock = System.Windows.Forms.DockStyle.Fill; - this.dgAnnotations.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229))))); - this.dgAnnotations.HighlightSelectedColumnHeaders = false; - this.dgAnnotations.Location = new System.Drawing.Point(0, 0); - this.dgAnnotations.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.dgAnnotations.MultiSelect = false; - this.dgAnnotations.Name = "dgAnnotations"; - this.dgAnnotations.RowHeadersVisible = false; - this.dgAnnotations.RowTemplate.Height = 24; - this.dgAnnotations.RowTemplate.ReadOnly = true; - this.dgAnnotations.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.dgAnnotations.SelectAllSignVisible = false; - this.dgAnnotations.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.dgAnnotations.Size = new System.Drawing.Size(545, 325); - this.dgAnnotations.TabIndex = 1; - this.dgAnnotations.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgAnnotations_CellClick); - // - // myAnnotationTypeDataGridViewTextBoxColumn - // - this.myAnnotationTypeDataGridViewTextBoxColumn.DataPropertyName = "MyAnnotationType"; - this.myAnnotationTypeDataGridViewTextBoxColumn.HeaderText = "Type"; - this.myAnnotationTypeDataGridViewTextBoxColumn.Name = "myAnnotationTypeDataGridViewTextBoxColumn"; - this.myAnnotationTypeDataGridViewTextBoxColumn.Width = 69; - // - // dTSDataGridViewTextBoxColumn - // - this.dTSDataGridViewTextBoxColumn.DataPropertyName = "DTS"; - this.dTSDataGridViewTextBoxColumn.HeaderText = "Date"; - this.dTSDataGridViewTextBoxColumn.Name = "dTSDataGridViewTextBoxColumn"; - this.dTSDataGridViewTextBoxColumn.Width = 67; - // - // userIDDataGridViewTextBoxColumn - // - this.userIDDataGridViewTextBoxColumn.DataPropertyName = "UserID"; - this.userIDDataGridViewTextBoxColumn.HeaderText = "User"; - this.userIDDataGridViewTextBoxColumn.Name = "userIDDataGridViewTextBoxColumn"; - this.userIDDataGridViewTextBoxColumn.Width = 67; - // - // searchTextDataGridViewTextBoxColumn - // - this.searchTextDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; - this.searchTextDataGridViewTextBoxColumn.DataPropertyName = "SearchText"; - this.searchTextDataGridViewTextBoxColumn.HeaderText = "Description"; - this.searchTextDataGridViewTextBoxColumn.Name = "searchTextDataGridViewTextBoxColumn"; - // - // itemAnnotationsBindingSource - // - this.itemAnnotationsBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.ItemAnnotation); - // - // AnnotationDetails - // - this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.Controls.Add(this.pannelAnnoEdit); - this.Controls.Add(this.expandableSplitter4); - this.Controls.Add(this.pannelAnnoGrid); - this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); - this.Name = "AnnotationDetails"; - this.Size = new System.Drawing.Size(1124, 325); - this.pannelAnnoEdit.ResumeLayout(false); - this.pannelAnnoEdit.PerformLayout(); - this.panelAnnoEditBtns.ResumeLayout(false); - this.pannelAnnoGrid.ResumeLayout(false); - ((System.ComponentModel.ISupportInitialize)(this.dgAnnotations)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).EndInit(); - this.ResumeLayout(false); + this.dgAnnotations.DataSource = this.itemAnnotationsBindingSource; + dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window; + dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.ControlText; + dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgAnnotations.DefaultCellStyle = dataGridViewCellStyle1; + this.dgAnnotations.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgAnnotations.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(208)))), ((int)(((byte)(215)))), ((int)(((byte)(229))))); + this.dgAnnotations.HighlightSelectedColumnHeaders = false; + this.dgAnnotations.Location = new System.Drawing.Point(0, 0); + this.dgAnnotations.Margin = new System.Windows.Forms.Padding(2); + this.dgAnnotations.MultiSelect = false; + this.dgAnnotations.Name = "dgAnnotations"; + this.dgAnnotations.RowHeadersVisible = false; + this.dgAnnotations.RowTemplate.Height = 24; + this.dgAnnotations.RowTemplate.ReadOnly = true; + this.dgAnnotations.RowTemplate.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.dgAnnotations.SelectAllSignVisible = false; + this.dgAnnotations.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; + this.dgAnnotations.Size = new System.Drawing.Size(409, 264); + this.dgAnnotations.TabIndex = 1; + this.dgAnnotations.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgAnnotations_CellClick); + // + // myAnnotationTypeDataGridViewTextBoxColumn + // + this.myAnnotationTypeDataGridViewTextBoxColumn.DataPropertyName = "MyAnnotationType"; + this.myAnnotationTypeDataGridViewTextBoxColumn.HeaderText = "Type"; + this.myAnnotationTypeDataGridViewTextBoxColumn.Name = "myAnnotationTypeDataGridViewTextBoxColumn"; + this.myAnnotationTypeDataGridViewTextBoxColumn.Width = 56; + // + // dTSDataGridViewTextBoxColumn + // + this.dTSDataGridViewTextBoxColumn.DataPropertyName = "DTS"; + this.dTSDataGridViewTextBoxColumn.HeaderText = "Date"; + this.dTSDataGridViewTextBoxColumn.Name = "dTSDataGridViewTextBoxColumn"; + this.dTSDataGridViewTextBoxColumn.Width = 55; + // + // userIDDataGridViewTextBoxColumn + // + this.userIDDataGridViewTextBoxColumn.DataPropertyName = "UserID"; + this.userIDDataGridViewTextBoxColumn.HeaderText = "User"; + this.userIDDataGridViewTextBoxColumn.Name = "userIDDataGridViewTextBoxColumn"; + this.userIDDataGridViewTextBoxColumn.Width = 54; + // + // searchTextDataGridViewTextBoxColumn + // + this.searchTextDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; + this.searchTextDataGridViewTextBoxColumn.DataPropertyName = "SearchText"; + this.searchTextDataGridViewTextBoxColumn.HeaderText = "Description"; + this.searchTextDataGridViewTextBoxColumn.Name = "searchTextDataGridViewTextBoxColumn"; + // + // itemAnnotationsBindingSource + // + this.itemAnnotationsBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.ItemAnnotation); + // + // AnnotationDetails + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.pannelAnnoEdit); + this.Controls.Add(this.expandableSplitter4); + this.Controls.Add(this.pannelAnnoGrid); + this.Margin = new System.Windows.Forms.Padding(2); + this.Name = "AnnotationDetails"; + this.Size = new System.Drawing.Size(843, 264); + this.pannelAnnoEdit.ResumeLayout(false); + this.pannelAnnoEdit.PerformLayout(); + this.panelAnnoEditBtns.ResumeLayout(false); + this.pannelAnnoGrid.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgAnnotations)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.itemAnnotationsBindingSource)).EndInit(); + this.ResumeLayout(false); } @@ -371,5 +386,6 @@ namespace Volian.Controls.Library private System.Windows.Forms.DataGridViewTextBoxColumn dTSDataGridViewTextBoxColumn; private System.Windows.Forms.DataGridViewTextBoxColumn userIDDataGridViewTextBoxColumn; private System.Windows.Forms.DataGridViewTextBoxColumn searchTextDataGridViewTextBoxColumn; - } + private DevComponents.DotNetBar.ButtonX btnEPAnnotation; + } } diff --git a/PROMS/Volian.Controls.Library/AnnotationDetails.cs b/PROMS/Volian.Controls.Library/AnnotationDetails.cs index fbd56849..0d047caa 100644 --- a/PROMS/Volian.Controls.Library/AnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/AnnotationDetails.cs @@ -329,14 +329,22 @@ namespace Volian.Controls.Library AnnotationDirty = true; } - private void dgAnnotations_CellClick(object sender, DataGridViewCellEventArgs e) + //C2025-023 - Electronic Procedures - Modifications to PROMS + // Only show Open button if it is an EPAnnotationType + private void dgAnnotations_CellClick(object sender, DataGridViewCellEventArgs e) { - if (!_LoadingGrid) // Only set the Current Annotation when not loading the grid + btnEPAnnotation.Visible = false; + + if (!_LoadingGrid) // Only set the Current Annotation when not loading the grid { - if ((_Annotations != null) && (dgAnnotations.Rows.Count > 0)) - CurrentAnnotation = _Annotations[dgAnnotations.CurrentRow.Index]; - else - CurrentAnnotation = null; + if ((_Annotations != null) && (dgAnnotations.Rows.Count > 0)) + { + CurrentAnnotation = _Annotations[dgAnnotations.CurrentRow.Index]; + if (CurrentAnnotation.MyAnnotationType.IsEPAnnotationType) + btnEPAnnotation.Visible = true; + } + else + CurrentAnnotation = null; } } @@ -600,6 +608,7 @@ namespace Volian.Controls.Library public void UpdateAnnotationGrid(ItemInfo currentitem) { CurrentItem = currentitem; + btnEPAnnotation.Visible = false; UpdateAnnotationGrid(); } @@ -702,5 +711,12 @@ namespace Volian.Controls.Library } #endregion - } + //C2025-023 - Electronic Procedures - Modifications to PROMS + // Open new Dynamic Form if open button selected + private void btnEPAnnotation_Click(object sender, EventArgs e) + { + frmEPAnnotationDetails EPfrm = new frmEPAnnotationDetails(CurrentAnnotation); + DialogResult dr = EPfrm.ShowDialog(this); + } + } } diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.cs index 9834448d..46743631 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.cs +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.cs @@ -603,6 +603,10 @@ namespace Volian.Controls.Library } public void SetGridContextMenu() { + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Only show EP menu if an EP Annotation Type Exists + btnEPDesignation.Visible = EPFormatFile.IsEPAnnotationType(); + if (rtabTableGridTools.Visible) _ContextMenuBar.SetContextMenuEx(MyFlexGrid, btnCMGrid); } @@ -770,6 +774,43 @@ namespace Volian.Controls.Library //C1.Win.C1FlexGrid.CellRange cr = MyFlexGrid.GetEvenSelection(); //rbnBorderSelectionPanel.InitializeBorder(MyFlexGrid.MyBorders, cr.r1, cr.c1, cr.r2, cr.c2); rbnBorderSelectionPanel.InitializeBorder(MyFlexGrid, MyFlexGrid.Selection); + + SetEPbuttonImages(); + + } + + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Set which EP items are selected to show in the UI + void SetEPbuttonImages() + { + if (EPFormatFile.IsEPAnnotationType()) + { + VlnFlexGrid.EPinputtype myEPInput = MyFlexGrid.GetEPinputtype(); + Bitmap cb_Btmp = createTextBitmap('\u2713'); + switch (myEPInput) + { + case VlnFlexGrid.EPinputtype.none: + btnEP_None.Image = cb_Btmp; + btnEP_Text.Image = null; + btnEP_Check.Image = null; + break; + case VlnFlexGrid.EPinputtype.textbox: + btnEP_None.Image = null; + btnEP_Text.Image = cb_Btmp; + btnEP_Check.Image = null; + break; + case VlnFlexGrid.EPinputtype.checkbox: + btnEP_None.Image = null; + btnEP_Text.Image = null; + btnEP_Check.Image = cb_Btmp; + break; + case VlnFlexGrid.EPinputtype.multi: + btnEP_None.Image = null; + btnEP_Text.Image = null; + btnEP_Check.Image = null; + break; + } + } } void _MyEditItem_Leave(object sender, EventArgs e) { @@ -4548,6 +4589,35 @@ namespace Volian.Controls.Library //MyFlexGrid.ListStyles(); } } + + //C2025-023 - Electronic Procedures - Modifications to PROMS + //if button selected, set the Cell's UserData + //then save the Grid + + private void btnEP_None_Click(object sender, EventArgs e) + { + MyFlexGrid.SetEPinputtype(VlnFlexGrid.EPinputtype.none); + SetEPbuttonImages(); + GridItem tmp = MyEditItem as GridItem; + tmp.SaveContents(); + } + + private void btnEP_Text_Click(object sender, EventArgs e) + { + MyFlexGrid.SetEPinputtype(VlnFlexGrid.EPinputtype.textbox); + SetEPbuttonImages(); + GridItem tmp = MyEditItem as GridItem; + tmp.SaveContents(); + } + + private void btnEP_check_Click(object sender, EventArgs e) + { + MyFlexGrid.SetEPinputtype(VlnFlexGrid.EPinputtype.checkbox); + SetEPbuttonImages(); + GridItem tmp = MyEditItem as GridItem; + tmp.SaveContents(); + } + #endregion #region Table Grid Border private void btnTblDgnTableBorderNone_Click(object sender, EventArgs e) @@ -4808,8 +4878,8 @@ namespace Volian.Controls.Library if (MyEditItem != null) MyEditItem.SaveCurrentAndContents(); OnTimeCriticalActionSummaryRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure)); } - } - public class StepTabRibbonEventArgs : EventArgs + } + public class StepTabRibbonEventArgs : EventArgs { public StepTabRibbonEventArgs() { ; } public StepTabRibbonEventArgs(ItemInfo proc) diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs index 33fc65fe5b524d2adb6f050cb1c1792c6312116d..b71685206345aaa3ef97fa5cdcebd2df2e76a7a2 100644 GIT binary patch literal 671144 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 literal 575428 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�O{=9O~hO`3k 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 diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.resx b/PROMS/Volian.Controls.Library/StepTabRibbon.resx index cf608a76..4a1e760c 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.resx +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.resx @@ -121,45 +121,46 @@ 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 + zX6th/05/Q8FMcZPXTFPhgAAAABJRU5ErkJggg== @@ -168,61 +169,62 @@ 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 + zX6th/05/Q8FMcZPXTFPhgAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLUlE - QVQ4T52TvY/ScBjHuVIRKHA9JAgnL+VoC7TX0kLLS6EvFBTa0uj5J7gYF+PsfpOTMrg4ORgHY+LCYJwc - TYyJiYuDLu7GxHgxd/Hnr5fA8TZcrsmnzfN9nufTNPnVBwDw2ZYljGzr3ciyTNu2EC87L75eb+DvD67f - hU9g9vt/HNs5cMaOf9Owohro7YNbe8PhjfuzzBOgkDuabk6bbRXoxuBkNLIeus6yhKyIwY5umo5tHxmG - +Wwu8G5QkIa0jN5gqnR1oOkGuOk6b1x3jHl9uaWGhpb1UtXNY1luPmJ4KbIkmAElAcgD3egfa5oJxq77 - oq3ovKJoE7XbBbwoTWhG2F7cWRJ4dFR1S9fNCvykT41mB9TqjSOxXvtJM9zrYokLrc4vFYtUBcngq9Lf - tqICvlr7RhQr8U1za4FHXZIIurT/mePFf1AEJLkFGJb7uml2LRBrcp4us1+g4KRcYV8lkmkplyenglgH - VIm9tzq/VJRZLpUlih9yBQrAt79Pp3bjkVgM244nsPwe/VQQ6r8pRsgu7pwtC61grkA/T10r/NrnxB8s - V2VmvQiOB0MhLMZVxY/pDPEkU6DnZ2Qu2M0STjJFAIpmAUmXD0NY9PQMzEBRPwJzkiSp71F8J1/ipNMj - f9rE8XggkUgexq9cBXmi+DYYjtCRGL72T+D4jr/RaE+waFgu8c0zgUcmT9UuBS4/9m0hmh9Fo7N8FXih - CIKE5/Vi8yJsDM8P8P0HLGwR4Wl3ICYAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACL0lE + QVQ4T5WTv4/SYBjHe6UiUOB6SBBOfpSjlNLSX9Dyuz/eUoW2ED3/BBfjYpzdb3JSBhcnB+NgTFwYjJOj + iTExcXHQxd2YGC/mLr4GErijnIk3fN7kfZ7v80ne5HkRCCHiOo40cp03I8exXNdB57X/BQHADgzsq7cB + sKE1GPzyXG/fG3sBf3BOVzOxm/s39obDa3dPCzAA7Fu6Yc1aHQ0apn08Gjn3J966hKrKoZ5hWZ7rHpqm + 9WQlmB8A2BkA7LYJ7Fm3b0DdMOH1ifdqMhnj877a1sJDx3muGdaRqrYesIISXRMsAcAOAmDfM8zBka5b + cDyZPOt0DaHb1adavw8FWZnSrLR9embjnT1N2zIMq6ob1odmqwfrjeah3Kh/p1n+ZanCh/35DcESUVJM + QVR+d7oaFMT6F7JUTfgz/xQ0FIWkK7WPvCD/ESUFKmobshz/2Z87UyDX1QLNcJ/oSu2YqXIvkqmMki9Q + M0luwHKFu+PPr10Yjk/nyNK7fLEMeUF+m0nvJqLxOL6dSOKFPfqxJDV+llkpd6aAkdqhfJF+mr5S/FHj + 5W8cL7LLXpQgQuEwHudF+X0mSz7KFunVjqwEuznSS6VJWKY5SNHMQRiPLXZgCYYFUIpmKIoqf40RO4UK + ryxWftEkiEQwmUwdJC5dhgWy9DoUidLROLHxJwhiJ9BsdqZ4LKJWhNaJYE62UK5fCF58iGyhegDDYv7h + JQiCYCiKRlZ3f+C8bBTOy18sbBHhuWUzeQAAAABJRU5ErkJggg== @@ -231,554 +233,554 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABL0lE - QVQ4T7WPuUoDURhG8xxaCHY2Yh+wECREVCRxHBOymMlMZrKYZYxLOhVBCAiCNr5AxFJfwd5C0catEsUm - hYiFxXFCCEq4TmJu5OMU93A58HuAviKUMnw/ftn90zs7tVeuHt5cfjnrJtiK1c4/SVZv3KOdgj9j+6d1 - zMMX1O1bHp8/xNFOwUZsTD3Bq52xWaszuXLBSOCYId9Rb8HWJsrXGHt3DI7vuvxy1m1wNHXJsO+AAe/W - 34KZUgWrUMHMb6Dn1tCyqySsMjHTJqKXCGkF1KU887EcgUiWuXCamUWLadXErxhOoi0ovX8PWsXmucby - OsnGuekyccsmatiEk0UWEjZKPE8w2jg3w2yoee6UksIf1J1EW7BfCKUMQimDUMoglDIIpQxCKYNQ9g6e - L18OKkyOPi51AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABLElE + QVQ4T2P4//8/AzUxhgClGMHBAe8+/fq/Zdmr/5fvfcajikgDYYYtO/z7f3LXNfyGEjIQ2bAJG9//T5/y + 4n940+3/959/x6KaCANBhhmEr/xvnbTpf8Oy9/9di8/91wxa/l/efSYW1UQYCINOJVf/p/be+S9t145H + FQkG6qVd+q/kPvm/lHUjHlVYDMwqrPyfkV/5Pz2v4n9KTtn/pOzS/4kZJf/j0ov+x6QU/o9Myv8fnpD3 + PyQu539QTPb/gKjM/74RGf99wtP/e4am/scwkGJIcwMzCiDeTc0t/58M8m5myf/4jKL/salF/6OSC/6H + JRb9D43P+x8cC/Ju1n+/SIh3vULT/nsGp2DxMpUwhgClGEOAUowhQCnGEKAUYwhQijEEKMUYApRiAF8O + KkwDPuBiAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABMElE - QVQ4T6WQvUsCARjG7y9pa4i2hlpzy0iN7PIUT/Pj8k5NvcM+bOtjqqWxKBCDIhpqLAhqcAoiaBGXw5YW - sS1o/NXhcgdndMmPBx6e4eF5XwEYSq6hF7mGXuQaepFr6EWuoRcJeb2GWq6RK22SLa6TLqyRUqskcgbx - rE40XSayXGIxUWQhXmA+phGQVOYiOfyi8tMyJDb7PwS10p+vrG6QseZrVZKqgawYxDIVllIGYrJEWLbm - 5wlG+/NnxRX84ay9y0nt5A1pq0nIuLfeNRCbdbJ30aXx8IVPufFWMJ2+Qjt4xSo4vv0koN8xJV8yOnPo - WmSzfVpmj7HQKbsNk+3zLtJOmwmxzkvr/W8FFu3OB5OxM/xGk/HgEY9P5sAzbNZJu9NjxLdP/fr5lx8g - fAPOtXjW7jTlPgAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABLElE + QVQ4T6WQu0tCYRyGz1/S1hBtDbXm1onUyE5e8JKXk8dLXg52sa3LVItjUSAGRTTUWBDU4BRE0CIuYkuL + 2BY0PvEhEvQp9CEP7/LA7+XlpwHaKJGEaiShGkmoRhKqkYRqtHSxjJUvk8xtk8huEstsELVKhJM2wUQR + fyyPdzXHcjjLUjDDYiCF02ex4E2iGybaqEhCFc0q9Oab61vExfxUiYhlEzJtAvECK1EbI5LDExLz07j8 + vfnzxhq6J/G375fy6Tu+nTpu+0G8ayiS6HNw2aH2+I3DvFUrmI1dkzp6QxSc3H3hLN4zE7pifK4ysEgS + jVaXCfcZ+7UWuxcdfHtNpowqr42P/xUImu1PpgPn6HadSdcxT8+tgccCSfRptruMOQ6p3rwMPRb8AM61 + eNYtKznlAAAAAElFTkSuQmCC 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 - 8L+D8Bsb4cocWY3wtQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACYklE + QVQ4T6WSXUiTURjHX+jCboo+qKuuCqKbKCqoLjIKt8KPFovEFi0XsU1KNlnaNlJzpujSzaVpW7Qv1OZH + JYqToiE0HH3P2Iw+JJpGrmXt3dycy+If74mFrwsiOvDjwHvO//c87zmHAkD9D2kfGNwDtXDd0qDPooKs + MGf74nWWoLddr+ht1yOFpfE4wsEOxILXMTHWgDIxF/oaBa5q1TDUlDJwFguQoHuQjHQjEe6EvU2B+LQN + ZRKe/+WIEhfO5kIp2oGg+ySmneshEx5CmoAJJyMOtNaegNfTAPpDM6bG1HjnOYV+Ew8SQSY6ytfhmZ5C + 0bEctqDb1vhLQN+EtlyISkUB1MX5OF/Eh0LMg1yUC6kgC02yDURQkJ3JFnSatZijuzAXMiI+WYfQi2L4 + basJPusqeNuW4bEhg4QZsnZvZQvsxlrMhiyYDVQj/uoMYs+PgB5YDp3ViTpjHy5e6YJSa4dcY4JEZYCw + pJ4tMLdoMDNhQGxMjJknuYg+2IZPd9aQcGok578jHEkgMBVGvrQKeYXq3xLKpKsA/boa0UdcRIc3IzK0 + FhNWilRmhvm2m2B0uOAbD5LwvRE/DvBFREK11KvwZfQcIq5NoAdXItSTgfEbFGn72/wPfI0mEPgYhu9t + EJ7R98gWyMHli7D/4GFk7tkLqulSKUIPpaAHV+Bz71JMti+Bv5WCTGMibac6uOZwodk+hP5hP5kZdm3Z + COpyZQl5IKlTTiFWGViV73vekHDPXS8czqcsAUdXcRoyIQ8iPgd5+3aSBea0mX9OVfsTRLDwShZyVFpF + NvyNtOC/8hMb4cocvUYexQAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLklE - QVQ4T82TX0hTURzHV2B/QCGksIegArEMCveQMmbYQ1gucoTZZD2MGvjiHqa0ae1218Pc5W5Luy4NiuaY - FZWWNlg2UUQcFcZABkUFtlxlw4VOKmva+nbONZfKHoReevie8/t9z+/3OYcfHAmAf9KyxNY+FK7lvZOF - lU1jK/zBdD7VskSudnbOfE0gU2qIbJExa6lH96X+0nqqVEBvOS/0QllzAwVKO/YorDHqC7cCSOcvKhWY - 2/rwIzGPh8NvYRCGsfNQIzbsM65Z9L2BMDjPKHJLraR8BaCh2ZdtbvVDy3ahrPo69iodkKuvoLCq7Y3W - dAd63gtVXQd2KzgCtkB74V52CkCensG0+DEZ/474bBKBF3FozD7kHeGwab9pxHjJS+qAL7PzGApN4aTx - PnIPc9RKAUx1fA818DT0CXbPcxzT3UZOMQvS3EABodcTCL76DN49gkpjF7bKGZx1+FgRYHcNTOsae1Be - 0w5phYD8Mg55pRbkyBj6grCee7BwdoKcHbVh2wEGm4vqUaS6nBAB1msDSCZ/YTz6DY+ffYDFFcSOgxT+ - d1Bn2E58jM4gHImhe3AMOr4f+YqFYUpMwiPMzf0kze/h6AhCc9H/nwFI80YKiExMo+/JOzjvjqLC0I1d - ZFYi4PQ590t1/U2UaFohq2qGTNWE7SVslEAy/wDWEcUU1VfHy3UuFJ9qgfS4DVkFtVMigC6rkdPTK/4N - smeo9O71RFk0T1u8ekHyG2jrt2s5yYVVAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMElE + QVQ4T83TX0hTURwH8BXYH1AIKewhSEGsBYV7SBkz9EGsLXKE2ZX1MNrAF/cwxU1r666HucvdpnZdGhRt + Y1ZUs7QLa04SGY4SZSCDogJbrrLhQieVNW19425l1jSIXnr4cTjfc/icH+dweAB4/1K/TMwOf7iRZmdL + ajumfstH1sozAJHM5l74kEC2QBPZIdRv5DJuXJ2vC3CnnGW8kDZcRbHUgn0SU4zLmesBrJVnAIaeIXxO + LOPe6AtomFEUVLZhywHthh85GwiDck2isMqEDKC105Nr6PZBSfZBXH8F+6VWiGQXUVLX81ypuwk1zYJo + 6sVeCYWCSiOU527nrgBmhz9L3+XDbPwT4otJBB7HITd4UHSEwraDunFtO8udiPeLy/CH5nBSeweFh6mV + LjhA10QPpDY9Cr2FxTWBY6obyCsjoW1nWzkg9GwGwafvQDvHUavtw06RHs1WD5kCLPbheVXbAKobHBDU + MOCLKRRVGZEn1HMdhNXU3fTaCQb8o2bsOqTH9tIWlBIXEinAdHkYyeRXTEc/YnDsNYz2IPIrOPznRSlI + N95EFxCOxNA/MgUV/QB8SfoyeTrmPpaWvmBw7BWsvUHIz/v+M0BBurdyQGRmHkMPX8J2axI1mn7sEadf + gnf6jPOJrOUayuXdENZ1Qkh0YHc5Gc2vILO/A5sUpDsmqb80Xa2yo+xUFwTHzcgpbpxLAatb/VPZXN7U + 37C5vFmE2rmZUDtz/gpYr74BaOu3a9KzaF4AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB+ElE - QVQ4T2P4//8/RRirIAxP3vItZvLmrzvm7f76aPnBr0dWHvw6ZdWhr1LIalA0IOO+DV93APGf7nVfnzeu - +PK4fsmXO3N3fn0MNOATsiFwDd2rXv1fduKrAZi97uuy/o3ffqdOevfGpeDEb+vU7X/ME7Z8d6+4+3Hm - 9q9vgAbcRDEAKMDZuOTl/3kHvl6tX/G1YcKmb3/iep7/cy04/t8uY/cv09g1x13ytz60jF/+J6zj3c+l - B77eRzEAhItnPv+fNevz/8I5X/5H9nx8YZW85a9F4oYfprEr80HyAbXbVQwjFr9wLb/9vmHplz0YBiT1 - Pfvv3fTmf3Tv5/9lc9781/CetNokZoUjTF7BoY7ZLuvQb9eyO68bVn45BBOHGxDU/PS/WfH9/55Nr8Au - Sex59L9u8VtLmDzQAFa7zEN/veqefWte+WULTBxugFPF4/8ORdf+W2Ue/28Sv+2/YdTa/xo+U4FSEHmz - uPVKtpkH/wW0vP5bMP1xKUwcbgA6BgUsMl/da5K7a9ntP2mT3//r3fCVDSYOV0AIW6TsuxjS8eFfWN35 - XGRxFEXYcFzfeyWH/Asx/i0f/vlVXvmmFTCbEVkeRTE27FH92Nm/5dMvj5KLP42jVnmhy6NwsOGo3s+R - ziXXGk1j1olik8cQIBVjFSQe/2cAAG4MzKZBtgOMAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB60lE + QVQ4T2P4//8/AyUYQwAZT97yLWby5q875u3++mj5wa9HVh78OmXVoa9SRBnQt+Hrjr4NX/90r/v6vHHF + l8f1S77cmbvz6+NVh75+QjYErqF71av/y058NQCz131d1r/x2+/USe/euBSc+G2duv2PecKW7+4Vdz/O + 3P71zapDX2+iGLDq0FfOxiUv/8878PVq/YqvDRM2ffsT1/P8n2vB8f92Gbt/mcauOe6Sv/WhZfzyP2Ed + 734uPfD1PoYLimc+/5816/P/wjlf/kf2fHxhlbzlr0Xihh+msSvzQfIBtdtVDCMWv3Atv/2+YemXPRgG + JPU9++/d9OZ/dO/n/2Vz3vzX8J602iRmhSNMXsGhjtku69Bv17I7rxtWfjmEYUBQ89P/ZsX3/3s2vQK7 + JLHn0f+6xW8tkQxgtcs89Ner7tm35pVftmAY4FTx+L9D0bX/VpnH/5vEb/tvGLX2v4bP1P8webO49Uq2 + mQf/BbS8/lsw/XEphgHoGBSwyHx1r0nurmW3/6RNfv+vd8NXNoIGoGOLlH0XQzo+/AurO5+LLI6hEB3H + 9b1Xcsi/EOPf8uGfX+WVb1oBsxlJMsCj+rGzf8unXx4lF38aR63yQpfH0ICOo3o/RzqXXGs0jVknii5H + lAGEMIYAqRgAbgzMptd1HX8AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB5ElE - QVQ4T2P4//8/RRjOWHXoq9TKg1+nLD/49ci83V8f9az/klK58AsnsmJsGEyANAPxp7k7vz6uX/LlTuOK - L49bV325U7Hoy+fKRV9S0TUhYzAB1Hxz5vavb9wrH7w3T9jy3Spl2x+H3ONfUyZ/flE458uLwrlfwkDq - lp34auBQdA3IRDNg6YGv98M63v00i57/2yVv/U3T2DXHgPiLWfzm38mTP/9Nn/n5WfbcL5HzDny9ap15 - /D/QQrjXwETD0i97XMvvvFf36rkVULtdBSRmGrsy3zh6+VedgNm/Qjs/Pge65H/WrM//TeK3AqXRXNCw - 8ssh1/J7r9Q8+w4rONQxwyRNYlY4anhPWl02583/6N7P/72b3vzXC10MlEIzoHnlly3e9S++anhPvgk0 - gBUmOWXrV10gBtvs2fTqv1nx/f8aPlOBUmgGFEx/XBrY+uavUeSaX0ADuGGSoACzAvrZJH7bf72QJWDN - qm5dQCk0A3o3fGVLm/z+n2vZ7T/qXpPckRUgBxg2DGeE1Z3PDen48M8iZd9FZAWEMJyhFTCb0b/62kv/ - lg9/HfIvxMT1vVdCVogLo3CAhvD5VN48FdD6+atH9WNnZDlcGKugd8Or0Kjez5HY5NAxVkFSMFZB4vF/ - BgCu1sRwcCvT7QAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB40lE + QVQ4T2P4//8/AyUYzlh16KvUyoNfpyw/+PXIvN1fH/Ws/5JSufALJ7oGdAzXvOrQ109zd359XL/ky53G + FV8et676cqdi0ZfPlYu+pKJrwmbAzZnbv75xr3zw3jxhy3erlG1/HHKPf02Z/PlF4ZwvLwrnfgkDqVt2 + 4quBQ9G1/xgGLD3w9X5Yx7ufZtHzf7vkrb9pGrvmmGnsmi9m8Zt/J0/+/Dd95udn2XO/RM478PWqdebx + /6sOfYV7DUw0LP2yx7X8znt1r55bAbXbVUBiprEr842jl3/VCZj9K7Tz4/PCOV/+Z836/N8kfiumCxpW + fjnkWn7vlZpn32EFhzpmmKRJzApHDe9Jq8vmvPkf3fv5v3fTm/96oYsxDWhe+WWLd/2Lrxrek28qONSx + wiSnbP2qO2XrV7DNnk2v/psV3/+v4TMV04CC6Y9LA1vf/DWKXPNLwaGOGyYJCjCrzOP/TeK3/dcLWQLW + rOrWhWlA74avbGmT3/9zLbv9R91rkjuyAuQAw4bhjLC687khHR/+WaTsu4iuCB+GM7QCZjP6V1976d/y + 4a9D/oWYuL73SuiKsWEUjlbAbD6fypunAlo/f/WofuyMrhgbxhAAYe+GV6FRvZ8j0cWxYQwBUjGGAKkY + AK7WxHD7c7sYAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAACG0lE - QVQ4T51TbUhTYRQ+WVgw29h258012txsLXSOiAJd8UIZSBFkVhAYBUWIYqZhhQ4ug8JWmR+Ykj9CEkaN - pB+lDGQMspDAoqDCws21K0T5Y8Toy5Sn17rIiH54feD8OAfe55znOeelJaHd5aEbm3RKph4l4XVwBC1R - JVWP8lEBdXENtF0WSSmpg/uRDedntNgVEUD+PKaUFdzaquPBqHcLo+5iRl2FjGtm1OZkdNXBqNXG3A+t - OBKz4dSkAdbbYop8xgw/+OPKlyJOvtfj8CsTysfy4I1YsNDVGiqAod8F2wMXDk3aUTGRj7InZuQEhAw/ - eOd6eS1a09m4+EmD6oQeR9/mYu/4epQ+zkdh2Imikb8E+yecKHtuhyNkQ1aLTvGDj90g56BjdhUC39fA - n9agOaVD44wRtR/5ZNNmVCU2LBLsebMZ26MuVI5wP+qzPbSguSGpUUXQk/aiKmoA1a3kBNywUPIm3s0H - 8WK+E6NzLQj/Oo3B2QO489OL3h8b4f9iWiS4/HkfuuUdMEmrFQnc7bbxPgx9GMT9RA8GpiT0TVWjM16B - K7ESSDE7mmTjH4Kzyd2IfG1EcYeYYeK1Ah0F7HxdVkaXLIz8ZkaSyMgnMGrWM7qgZe6QCcfiRXg914+D - wW0pqs1Sd9buuwKefbuH62NnQDUr/jmkJaBp6ByeysOw+MTlnfLxgRPY2V66/M9ENeTh8R/dRL8BDkAX - agnC/hIAAAAASUVORK5CYII= + QVQ4T52TX0jTcRTFbxYWzDa2/dYv14/2c7O10G3IKNAVXygDKYLMCgKjwAiZmGlYoYMxKNaqNZXlmA8h + CaNG0kMpAxmDLCSwKKiwcHNtQZQPI0b/TDmxElmjh+nn8V44l3M4l6gQvAYz3dgqyx8XTHV4I3RBIZo/ + L5i6cQ6tcQmkfYIjf1cQxocizs9KsTvCgZyl7N9twCKjgIWRv4qRz8Sor4KR18DIo2d0VcfIJTLjAw2O + xkScmlZAc4tPk12Zk0fAwhpe8Gh6J8eRlyrUTZTCGhGQvaoJlUMxaIB434DD01rUT5Wh9rEaJW4uJw9/ + FWtLrYcrU4yLnyRoTshx7M0G7JvchJpHZagI61E59lfgwJQetc+00IVEFHXLFvPwmVh7qgQ9c2vg/r4O + zowEXWkZOmaVaPnIo+mDGo2JzUsCe19vw46oAQ1jHKit2ExZz+1JybIE+jNWNEYVoNbV5mxJWCh5E28X + gni+0Ivx+W6Ef53G8NxB3P5phf/HFji/qJYELn/eD19qJ1SOtYsWPHrmmRzAyPth3Ev0Y2jGgYGZZvTG + 63ElVg1HTIvOlPKPwNnkHkS+dsDUw+eEeK1cRm4tI5eG0SWBkVPNyMEzsnOMuuSMLkiZMaTC8XglXs0P + 4lBwe5paipZXa+MdDk+/3cX1iTMg26q8IhVA58g5PEmNQrDzK6vyiaGT2OWtWfkzkY3MZKP/+v4NDkAX + agkV7KYAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACh0lE - QVQ4T4WSyU9TURjF+5+4YOPKYOLGlYmucAEoMSExxoVAwCKCIhEEFYMEtSBCJDRImawgDaARlASVSUFG - FXBoAZmnFspUW9rX937e9jUxkZe4OLn5bu7vnJMvVwf8V7aWg8NbQ8ffY8+yTTaHKaymTv2eONki7hs0 - gX/ls0aZZ9sPw7aBhZ5YcRYz8/oQrrGIF5rAPolkdstA6md3qUmcvQTmDWu2xmMNWRsPKHOdMbhWW5DZ - wu1oJTAvdhzRBvbJnnWD7VILe50WYWIRTSxiRnbkazzWkGSLjp55E26R13IsTtMx6IhTdzB9GV1VwwSV - z8apePoFY80oj01DlBgHeFjWx4NHPRQUdmIuz6W7JQflaz6bjZGsN8WyO5XM8sBZdKb6cRRFQZIVvJKM - e09mxy3jdPmxb0ksOSVm7T6oMsLNLDgfBafDMJw6Ksqh01Wax5AFnFa+iL5kgbjCec4VzOLYkVjZ9DO/ - rg2nXn2uGjwR1SW/wpm8GaJuTRORNcmJDBtrgfQNSYVzMgUcCTEqPGDzcCm1XjUw1n7GJyl4fDIuj8ym - qO7Y8bMsqmslD0156LN60KeYVYPy6hH2BHy3boS8miHuVA9w29QP68MhWCSH4CtFbaQaXvHhp4ckfZ1q - UGYaxu0Vi/P4g+n27VB6wCAg0SIAj87sMTjp4aOAe767SUyqVQ1KKwZxic0HG9SKBlVqg+Fw8QVCcEZp - B+nF7aEGrXR9cxOfWKMalBg/BdOdu/7g4padPmYdPiZXvPxY9DI252X019/0bpH+btxNXEKVahD4MIaS - Xu4VdZF3/y25+e3k5LaRmf2Sa9ebSUu3kCI2rk82k3ixlviEai7EmYICdH8AxXsU+dXRvF8AAAAASUVO - RK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACiUlE + QVQ4T4WS3UtTcRzG95900Y1XYdBNV0Fd2YVaEggRXqSiaTbLJJdWiomVmimJw9x8W5pDV6QlWPlWmk7N + 1Eyn5vvbptPp2tl2ds4ntjMMctDFc/GD5/k8D19+KkD1P1lMYcN75rOfsGoss63HZTbVc78nz5ssprCm + I+ZQ8s5EGRY7ToKjiJXeWHCUsvDuBM7xiNdHzCFl1Vg4qABxgIO1FhD78L93ZrJDmENopvmYvNQVg3PT + hMQeLlsb/vdq56mj5pCyau7iKDfi7jI6N01GxAEjjnIkW0EIcwiJlujohffhRmkrx2jXnYHOeOUG8zdQ + 6ZsmqX45QVXDGNraUZ7rzJRpB3la0c+TZ70UFndhqMylx5SD/L2A3eZItltiOZhLZX3wMipd4wSyLCNK + Mh5RwuWW2HdJ2J0+rHsia3aRRasX9Fq4p4G4KLh4nKILp/GvU1UbxpEkmfTKVVLKVogvXuZK4SK2fZGN + XR/L26HD6luvFMCLhjFEn8yl/AWi7s8ToZnlXKaFLX/7jqiEc7IgLhJilPCgReC6ulEBaOu+4RVlBK+E + U5DYdfqw7ftYtwfD/zSb5wT6ZwRS0gwKoLJmBLdX4mH9CPm1ZvJqBnmgG4Dt4WA48jB8s6QdddFbPk8L + JKfUK4AK3TAuj8S+4Au0Wx3Bdj/AL702EB5dcDM0K/BlWqB3ykVScp0CKK8awukOLqgzk6dXFgyHqw7D + meWdZJR2BBe00f3DRUJSrQIo034NtNsPfIHDrdu9LNq8zG54+LnqYXzJw+ivv+09Uy4+TriIT9QrAP+H + KSrr41FJN/mPP5Bb0EFObjtZ2W+4faeV9AwjaepGUlINJF2rIyGxhqvxuoD8gD/FexT5V1saowAAAABJ + RU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiklE - QVQ4T6WQ0Q2AIAxE2cCRGMVRHMFRHMFRGIERsAUuJFxNqF7yPny5ltRQSvmFKT2Y0oMpPbAQ9cIlbNQn - EULsA8rRyf37oj6JFixATuHTgrtTh4WlEzRYgBOSoGfs1CfRggUI/kumPokWLNBBBWck6pMYwzN6QqQ+ - ifHqTA31Z+HFlB5MuU4JD0dnUwrgCrV/AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgUlE + QVQ4T6WQWw2AMBAE1wGSKgUpSEAKEpBSCZVQ0rSXPoafg0uGj8newqGcs/4A4QXCC4QXCqk83rgkbchD + SGFYOhrJSpCHqGMFNufXgrvhOmEssBNiO2NHHmIusLH/kpCHmAvKYsHOiMhD9OWVckJAHqK/daV+2ppf + hRcILxBeHkdnUwqevR+DAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiElE - QVQ4T6WR0QmAMAxEu4EjOIIjOIKjOJIjdARHcKSYSyiCvA+DBw+8x7UUbGb2C5QVUFZAWYFlZnNUBh23 - KDOz0504rI5blE9OR0Kv4S3KJypiikJblJnFUbmieXCLMrM7Kkc0D25RZnRQRRdFcIsyn62Pgf4Ib1G2 - tr6I4JZkBZQVUH7H2g1WeXFvwrwKSQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgElE + QVQ4T6WRUQ2AMAxE6wAJSEACEpCCJCQgAQlIGjm2EtIjjBtL3kcv15cSLKVkf6BAhQIVClQoOMP8JjPD + 4KyxVxP0WPJlzLFXE+BtRYBrqPdF4Od3LYKhLO+X7akbg5tgLoKlVYBFDBDJApzt3w/wR6j3JhgD2gUK + FKhQoHIAVnlxb1bdEucAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE - QVQ4T92RUQ2AMAxE6wApSJgUJCABSUhAChKQUHrbGjgYH4U/Lnlhd+G6ZRNV/UQzjNAMIzTDCGxEkoGF - szSyRB0yIp0x1h9Xo79kEzx1yBT5jtjd5Rm+3CFT9IMBuLTNQOCXONcMa+6QOTQYPgRgjSyLOmTuwpHz - sc+iDpki7IT3foI7ZIreD4ijsgOjTd7+jqoH+QAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAf0lE + QVQ4T2P4//8/AyUYQ4BUjCFAKsYQIBWjchgY7BkYGEAMGN6PRcwenwH8DAwM+VCF9xkYGPTRxOpBfHwG + ILsCZDu6GIjG64VhYgAo0N5DNcACcT1UDMQmaAAIxCMZAsIgNkgMDIgxAAZATgY7GxkQMgBkEyi+cWEa + GkAOBgCjTd7+r93eSgAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAm0lE - QVQ4T62NUQ7DIAxDe/9LMyclyGauygZ6eh8xtXu11o5qwx1tuKMeOENcA5cJ1M8NOU4PBm6Q7y+4DzUA - MTB7vzzAfahBZ3ks4D7UAPBYeb88wH2oAZgH3F1mUt2uHvxhhzP3xv3ckIPKhcuKzKmfGxL8wPgJ96EG - i4yxgPtQgwVkLOA+1OCFGJuVPpTjhDbc0YY72vB/2/UB43bUVn8JuhoAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAcklE + QVQ4T72QUQrAMAhDvf+lHX50qJFqSSnhDczom52oqtwEChYoWOIgYg+b/lRdyFPhEvgDeYZMhBmQnAgt + Y5mlE+btWulE6A9Uc/jQTlht5LvqHSXMaYUnGV15mrAxK4TrM8L1Pz174QWgYIGCBQqWD+N21FbTYK/z + AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE - QVQ4T82M2w7AIAxC/f+fdrVqAwvNLt3DRljCqdB6759awoolrFjCihnckH3j53aCfTODC8UIZuybKTzV - 5eB44I+iotlQsNWNDQqinLFIqxsbFJIysvMd+75BwLQH0POS3LBvprBFhcVSYd/MwIRj2/OSCPtmDmJA - MRL0fYPC7we/sIQVS1ixhO/d2wE0YN1NDoBJDwAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE + QVQ4T92PQQrAMAgE/f+nLfUQdFdiYT0VmZJMyJCau9smJFRIqJBQqeLDmMUnCKMETyTvlSDOGCy/ki6h + O7F3tREsezWI59dgDmQwXs6mIF4sr+lmCuILxugt2AU696PgBiRUSKiQUHkANGDdTeFIubEAAAAASUVO + RK5CYII= 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 - AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABDklE + QVQ4T6WSvY3DMAxG3wpeIbNkBLtwkfZSuLnCgKAijQtDpYs0WsEreIVbwSt4BR14VGH9IBcghQqRH59E + 8iOEwCcnvdBu0Da56JT3RSwTBJhdLoq5L8kX8RLgA9hLIaQ94PtfgFOAX7O4UfjzdQsqtrtCpi4WN1o8 + CriYTwXQXmER8R7vDnq5m1xbBWjRPbayOH3d/uSalwCF2CMOVF4vhvoGQAb3lOLqWt8BHHFw8gtpRU7x + k7yoi0JxpKytA7+BP8Bu2s4t2UReHGDwKlRHwtDALLALzB584oUzwMFgZGDwSHYOvWxlldfhkWzkDDBq + onGHWzE4zU0r9FsVoKLRwFI3zJ8jxRfT9Rz/BalCUid5a6EwAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE - QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn - QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH - f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD - VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp - hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe - hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc - DAdFhtjSAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE + QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe + FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g + j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu + MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx + WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ + BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM + B4HjT5oAAAAASUVORK5CYII= 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 - agnC/hIAAAAASUVORK5CYII= + QVQ4T52TX0jTcRTFbxYWzDa2/dYv14/2c7O10G3IKNAVXygDKYLMCgKjwAiZmGlYoYMxKNaqNZXlmA8h + CaNG0kMpAxmDLCSwKKiwcHNtQZQPI0b/TDmxElmjh+nn8V44l3M4l6gQvAYz3dgqyx8XTHV4I3RBIZo/ + L5i6cQ6tcQmkfYIjf1cQxocizs9KsTvCgZyl7N9twCKjgIWRv4qRz8Sor4KR18DIo2d0VcfIJTLjAw2O + xkScmlZAc4tPk12Zk0fAwhpe8Gh6J8eRlyrUTZTCGhGQvaoJlUMxaIB434DD01rUT5Wh9rEaJW4uJw9/ + FWtLrYcrU4yLnyRoTshx7M0G7JvchJpHZagI61E59lfgwJQetc+00IVEFHXLFvPwmVh7qgQ9c2vg/r4O + zowEXWkZOmaVaPnIo+mDGo2JzUsCe19vw46oAQ1jHKit2ExZz+1JybIE+jNWNEYVoNbV5mxJWCh5E28X + gni+0Ivx+W6Ef53G8NxB3P5phf/HFji/qJYELn/eD19qJ1SOtYsWPHrmmRzAyPth3Ev0Y2jGgYGZZvTG + 63ElVg1HTIvOlPKPwNnkHkS+dsDUw+eEeK1cRm4tI5eG0SWBkVPNyMEzsnOMuuSMLkiZMaTC8XglXs0P + 4lBwe5paipZXa+MdDk+/3cX1iTMg26q8IhVA58g5PEmNQrDzK6vyiaGT2OWtWfkzkY3MZKP/+v4NDkAX + agkV7KYAAAAASUVORK5CYII= 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 + zX6th/05/Q8FMcZPXTFPhgAAAABJRU5ErkJggg== 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 + zX6th/05/Q8FMcZPXTFPhgAAAABJRU5ErkJggg== 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 - AElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAnElE + QVQ4T8WSwQ2AMAhF/wpO0o7lSsaDQziSM3gV85vQIFjtxXh4ahAeFIWIwAOAlws+p+aGACDHPomskG0e + ZBlRaElCMQuJ7f4kCQJ29Ykq8fFvBHeJrfhFYM/8RhAwyM0rukgPj+ePWAU55zJmSqlQu5lC/ay3Aia2 + uncJ7AR8/m8C3onuoVtgJ7AFnqaAL1ms//0TQaCSXrSGnBMVP/G8l+xFAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAACTklE - QVQ4T2P4//8/RRirID6clTVDqbs7/dLs2Zn/a2sT2rAqwoXLyrqlmptrTj9+bA3kCv/v7GTYglUhNlxd - 3SbT3l588OVLxf8/fqz5v3Spx9v0dAZ3rIrRcUbGDBmgzbufPzf4/+sX0/+ZM9W+zJ8f3wCSQ1FYUlIq - VljYK19Y2C8LwgUFE2Sys6eqNjWlHXj8WAZo887/ixa5f6+uVk9atcpDBMWAmpo6/ba2rv0dHWU3uroq - rnV0lABxxdX29rJbT59q/f/7l+H/tGlqr5ua0ktOn3YQgukDE+XlFUpdXXMuP3t24//nz6r/P3zg/P/1 - q8D/jx+5gHzl/z9/7v0/Z07y302bPDJgGlEM6O2d9eDRo2NAZhAQb/m/fr3B/2fPZv3fsMH6/6dPG/4v - Wxb4Oi/PJP34cSe4zTAMJqZOzQTa6AHEG/+/fRv3/+7dPcCAiv9/4cJOoO0h//v6GF6kpAgZoGsGYTCx - YMHk/0+f7v3v6xv4X1WV4f+UKX7/793b9H/FiuD/795t+D9rlsGr7GwGS3TNIAwmli6t/n/tmtF/SUl+ - oF93/dfVFf1/6ZLb//fvdwJdFQwMPJ53eXkMoNSD3YAZM2Z+/PJl8+sjR+T+W1qa/peSUvx/5sxqoFQk - MN43/J8wQeFeaioeAxoaOkP37Lm+9f//A0927+Z+d/785rf//6cD8UIgTny/fn3ukg0b4sXRNYMwnFFV - VeK+ZMmyB5s3p37dsKHt67JlEV+XLm37umBB8IeVK7vjXr1ay4isEYYxBEjD/xkAmMvAJtry8/MAAAAA - SUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAACT0lE + QVQ4T6WSXUhTYRzGT931AYV94VgfGjMIpBF1Id5EF7kbA7OgbrQP11FHw9Gaw82QDc7mxkxIxzYHLvEM + tWKnzS5sEw0kLyYoRksCh7g2c3I2dR7aBvLEhAbbzKAufv+L932e358XXgIA8T8UHPyN5mZLqdFIzvf1 + NaG9/T5VENgLhcLI02rV/lCoEsAxdHYSowWhP6FSUXyd7unH1dUSJJNvQNMiliSJqoLgbjQ2Wvhardq7 + siJEOr0fVmvZVn9/fUfmLicolz87KZOZzspkL05naGnp5kskvQKN5vFkKMRHMjmGgYGqnyrVhYcjI6Lj + OQK1+vklijJM6PWKBYNBGdDr5QG9XvlFp1N8C4cvYnubgNlctqbRkHK//1rR797OaG1VlhoM9s+RyAIS + CQHW1w+A445iY+MgEonzSKXGYbc/2na7RY35z9sZJpNtaXn5E4BbAEbhcgkRidjAMJXY3GTgdNasSaVX + yOnp69nNOYLe3iZwnAgc9w4sW4fFRR+s1nrMzY0hlbqNri7iR0NDkTC/nBU4HC8RDo+juroGAgGBnp6b + CAbdGBqqRSzGwGYTRiUSoiK/nBXQtAqBwGUUFx+B3f4B5eUnMD9/A/H4GDiuFmbz4ZhUSmR+z+4Ci8W6 + sbXlWZuaOoOKiqvg8UowM/MawD2k0wy6u88FxeI9BB0dnXd8vq/vgcnvXu+h2OyshwVIFnjFAg/iLteT + QYapP5VfzgoytLXJqwYHnUsej5hjGIpzOu9yNE1xDkft+vCwsS4afbsvv5wj+Fd+AZjLwCbKAcDYAAAA + AElFTkSuQmCC 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 - LEMq/h42+wTylm2njslBVgAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAABMElE + QVQ4T6WSsU6EMBjHeQNR38BXAMvXQGA4oU2BQBqYWJgcSJzPzfUmnZ3d5A18BOPqotFBZ2+8taZ3lHDt + JZfT4deQP/1+/GlqCSGs/2AE69Cy5CL0510YgS7SMx0j+LOgaZqroiie0jS9J4TYugAA5gAgBuZbgjzP + 77Is+6aUPsdxLHzf/5oKAOBSDk5kUnIxCgghN+olpfQHYzwe4DDwskOwGAUSzvkt5/yVMbZSm5WgbVtV + faTrus0ezvlJXdeiqqpPzrkdRdGb53l6g49p7Sny/6/LshRJkjzMZrMjz/NWCCFdoA7wEQCOAeCs7/vN + HsaYHQSBkEMIoXfXdZeO42wJBskCAJYS+cGxgVzCMDzFGJ8b9Q65BzrqCu+TGIEu0TMdI1CDanhfCyM4 + lF/ylm2nCccnxwAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE - QVQ4T82OUQ7AIAhDuf+l2UA7O4OIH0v2Gj+EtipqSBeD2UbvkIEVMAtmgdav+t3C1YLQWC1Ijb8oSJgK - uIRmCW3L5rlgQ3M8IVMtCChI6shdlB33hDqAY0NE9DKO70MdwLGhgI9+oHoBzyqxa4rWeaEAAAAASUVO - RK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAX0lE + QVQ4T72OWwoAIAgEvf+lC0FFt3x8RCN9ZO0oLYakPNprKoZ80O5UyvKpFp4Krh+ngvJj1rfXH4ICEHiJ + 6xX0ggYRwMqDoBKiVvpI7MtPK5iA0UOAU/9voOD0Zxtszyqxa1VmsC8AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACpUlE - QVQ4T32Se0hTURzH71/91Z/9XZT0sP7QHkqg9CDTlTWDiKyQFEtFA5HIFohlmr0U81Gr+cD5mM7Mx3TO - 5pptPuZypqEiIYKS6cQHpuac895v5xzaxWj1x/fCvZzv53fO5x4OAFfVYoNK24tyjQWl9V0orjVBoW6H - XNWGgopWsgRsXZJiWkIivtOIAAG8GF7gseYSsOQQ4HcmmhXc5csZI+zdHfag02lRYxzE29YBVGp6UVJr - wdDoFAO4yxXmNcTnjiIiZw7Rr9d3iICKZqs4fX2Dx0+ngPkVAX0jUwi8eJsC8Eq3DFWnC08aXYjKW0BI - 8gCNPwOUaSw2Wi5r+ISimm5ybjOyi43oGZx27+DwadkYbhU7cTLBiP1hCgTEGuAf2ZjJAMr6rrgNcm7H - Oo/FVR4zPwRMzAKb5d4v/Jzhc6Mfe869QfzDmiRvqZw/GF5l445eU+4+HqefcLh45Co/4lmhARkvW5H6 - QssA7qPRjNsd8Lk5yOQeuiTXe0sV4HZdaHgsTaxPn19yYW5ZwPcFAWMzAkYmBTadFj3JPRByN3ZnUBa4 - bZKm6jvPNfELRFppnRVFaguSnzYg6VEd/id3X3CqiQCs3FZJt+p6mqlzYnYDUpkVVYZvaOu1Q9djB5HL - yp7k0ukkR7gtoV/T91758MU3VHb1fMoQ/KO0OBb+IJrYtxG58CS3o99O/04cuweRWZO27KZVRGQOQ9m+ - Clmlk0HO3huOKXnXAU9y220MUM4AvuHVgUGJZuRrV5CqdiJSziMsbZxBcsmWlx38X3L1VgYg/d83kUBO - +US8R0CMnpW9gnNwIrHPT6E2gspNK9AhJbtZlEv9/AGgIUK2e4XkueUE0m9ylQH2RYFIm4K5f1qU22Lx - AKDZXKbJL9Oxhf8KAO4XJ//kwGbkeloAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACqklE + QVQ4T32Sa0hTYRzG96lPfexzsaSL9UG7KIHShZaXrBlEtApJWalYICOyBWKZZreJeanVvODmnM7M6WzO + 5po5L3M505giIYKSuYkXTM055zlPvC/tYDj78Bw4h//z+7/8zssDwKtpcUBj6EOV3oZKXTfK6zug0LZD + rmlDiboVZIZEonDFSBQu7p2EPgiABcOFYRms+lgseliExYppwV++nDuyGUC2k6Le4sS71kFU6/tQUW/D + 0OgUBfjLausq0gpHkVAwC/GbtV0cQP3Bzm1fW2fw28tibplF/8gUIi/eIQC8Ni5B0+XD0yYfkormEZ0x + SBJOASq9zUHKqsYvKKvrQYnaivxyC3qdLv8JjpyRjuF2uRenbllwIF6BiBQzwhOb8ihAqetOXWcZeNYY + LKwwmP7FYmIG2Cj3QenX3JAbA9h77i3SHtVJgoVy5pCoxsE7dk2550SqacLjY1Co/IznpWbkvmpF1ksD + BWyUO+72IOSmk8o9fEluChYqwNt9ofGJMF2XM7fow+wSi5/zLMamWYxMsnT7VnIPRt9L4Qtk4O2Iaa69 + +0KfNr/MorLBjjKtDRnPGiF53ID/yd0fldXBF8jsvO0xPZrr2R1dEzPrEErtqDH/QFufG8ZeN1R6Gy0H + kku28wWyo7xtcd9z9l359C00Tnr1fOYQwpMMOC56KA6LFTuUum4Ekts54CZ/J5Xeg0TZpCO/eQUJecNQ + tq9AWu2lkLP3h5Mr3ncikNx2BwVUUUCoqDZSkG5FsWEZWVovEuUM4rPHKaRQbcWSh9kk12SnAHql6T0I + FdWeDkn4iIhkEy0HRRXgZHp/mEJrAZGbXWJEZv4HTi7x8w+AhC+Q7QyKLvLLiSTf5Boz3Assep1TsA64 + OLkttgCAvxCuTFKsMtLBrUJm/gAn/+TAZJ9VRAAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAC+klE - QVQ4T42S+0+TZxiG+V/MYkycidHpNP7gIaTooAbQDwsC4qilHMqhYC1yKNKPOhmjtANKELSVTSbBMVo/ - goeI4AFD0GWZAw8YNZxMLZiJqQf0sq/LPlyyLPvhfvIm73tfb57nuaMAVaX1yvqIZGtdYKjcpczbm/uf - H6rzX805csZmtHWu/fTt31IPZQ19eRVu5YFvcIgLD0ZRJvvwTVRRoBiQ5BNklvrG9WWnDJ+ahT6Ww04l - V/YqL7vvnOPWn78z9mqakp4anPfLyf5Fy1ZHLSnyMMnW9oUMS9s/IFGWusC6cndgomXERd+sl4G5EUYX - 7jAWDtI15cfgcaDx/MEGdw8bm/RIhfXje4ua1XYEoLrap+C5XUvThAXvEze+SQfNv/nI+bELY0uIlLpH - rDqdyIofYtlsz2dPXoNNBRQf6x1sCTxGVpzk3txJ4UgcZq+Vkg4F+fjPyK52rLX1pLuyWdmoYeWxBBKN - tQMqoMDRE2o9/wpbayva0xq+UpLRN7toPOXn4uBVZoLPeDIbpONsL2llJpbVxKDNlEMqwGTvDrkCYQ53 - BEm36olt/RpzRzX9lwcj9/B2EV6E3zE9t4i7/QybTInsSK9cAuQe6RoobHqI6fhrjK4JEkpNVLi/Zepp - UDXPPn/L3ak3+IfGSUxLJTrZutRCdtVPtpyjV8j8/iUZzjmS7dc4dFRm8mnoL/P8YsT8muG7YVq6h4mX - ktgimZeGKBImQrK/5ha6b2bRVI0g2c309l9mZj7y8/QbbtwLc250gTxLJXHSvvnq8uI2FSCKSFiaxbew - p+Iaq4odrDankmUuoq0zQM/QGJ6zw+QdrCRJt5tOZyq9nvz3DXKJXQUIiYTp8hvHtxe4iNbnoDU6kLJs - SHv3kyDpSEmKx23exsxJDe+uZ+D9rkhAtCpASCRMhETsWaxKTFsMTPScoo22ZMWt5dfKL5j0bCHkT+Kg - YeeS+f8oAthliF3DJcuXHIj5HF3s+vh/ffhfEpBNq5cTs/GzXUDUB9hlsqaYQE4mAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAC+0lE + QVQ4T4WT+0+TZxTH+V8WsyxREyPqZvxBXEiZgxpAXywIiNKVcimXgrXIpUBfqjJGaQeUIGgrm0yCY7S+ + hG1GBC8YgluMCmyybIabqQWjkKLgPubJ4suMJj7J98l5knM+yTnn+0QAEW9U2qDsKG1QZGt9YLjcpSza + WwaeHq/3X8+pvmgz2roi/5/7RmpQ1tifV+FWHvqGhvnl4RjKdD++qSoKFAOSfJbMUt+Evuy84b2AE04l + V/Yqyz33L3Pn2T3GV2Yp6a3F+Wc52T9p2eOoI0UeIdnasZRhaX8LEmGpD2wvdwemWkdd9M97GVwYZWzp + PuPhIN0zfgweBxrPAz5z97KzWY9U2DBxqKhFbUcAamp8Cp7f6miesuB95MY37aDlro+c77sxtoZIqf+b + zRcS+eS7WHbb8zmY12hTAcWn+4ZaA/8gK05yb++jcDQOs9dKSaeCfOZHZFcH1roG0l3ZbGzSsPF0AonG + ukEVUODoDbX9vIKtrQ3tBQ1fKsnoW1w0nffz69B15oJPeDQfpPNSH2llJj6qjUGbKYdUgMneE3IFwpzo + DJJu1RPbdhRzZw0DV4cQZ3UNnodfMbuwhrvjIrtMiexNr1wH5FZ3DxY2/4XpzAuMrikSSk1UuL9m5nFQ + LZ5/usrkzEv8wxMkpqUSnWxdbyG76gdbzslrZH67TIZzgWT7DY6flJl+HPqveHGNyZkXjEyGae0ZIV5K + Ikoyrw9ROEyY5EjtHXSn5tFUjSLZzfQNXGVucZXJ2Zfc+iPM5bEl8iyVxEmHF2vKi9tVgLiEw9IsvqWD + FTfYXOxgizmVLHMR7V0BeofH8VwaIe9YJUm6A3Q5U+nz5P/bKJfYVYCQcJguv2niiwIX0foctEYHUpYN + 6dAREiQdKUnxuM2fM3dOw6ubGXi/KRIQrQoQEg4TJhF7FqsS0xYDEz2naKMtWXGR/F65jWlPFCF/EscM + +97+GB9SVlzkfkPsVq5YPuWrmE3oYnfEv5P0IQnIri0fE7Nzw37xfg3YZbKmyQ+ekwAAAABJRU5ErkJg + gg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAChElE - QVQ4T52Q3U/SYRiG+Qs6aKutddDcWs220jKwuepArebUFtPFbKCJmYQfkxmakbRyIZFTHJrprCimZWGa - X0hqMHEwTFMLxLIpg+w7NXWkC7zj/f02W5MO7OA+et/rep7nZgBYV/qkgpimrGSQ9BSmhwb89K8037kQ - ScCp8lyM5NOSgB8DhcDdLUXQdg1g9FoeBSuZTPrRYVbBZqrAsKEM1mcKmNplsOgVsPYoMGS4gbEXFdBr - 8zDjLMWb/izIZEWQH2D6UTBWBSs+O3ze5/Au6/HL04blBS1+ztbD7VBB15BOwQ4DH621Mdi8cQNuyk+j - uuQcnxKQ6T6vJSDcoeasgYcMYlRc4SI5NsJFCUaN5fAuGbC8+ARLcw/g+aaGy65EW138GthuysFrswSF - mWwioDsY7C71T+2EZ+Y+Fr/UYv6DCrdua2DRyeF6eX4VHjMJMT0igrlTgAxOFJKOhdMCi+66H36EhY9V - +OEuw6yzhBKsrPjQqGJTsM0ogGswG+/MZ9Fx7wTiD4ciITKMFvS1yrD4+S4e1xegXM6HKCMOOSIx2Ikc - f80MDHalYdIiwLgxFa/0p6CtOoIoVjBiD4bQgl7tVcxP12BmshjfJ6T4Ol6ITzYx3g/nYsoqxNu+NNi6 - uaR1yAq4yE6JQeJRFiWhBF0PL2POXfkX7BzIxER/Ouy9PAx3nIS16TgFkzOiw4NRnBOGiJDttKBNc8l/ - txL97WkwNqegpzEJOk0CntbFUes2lB2CuoRFTSZwpYSFGulu7N25jRa0qC9CnLoPIl4YhJz9OMNmghfL - olomRZFbybpkbalgD6olu6DK34HgoC20YD0SsjaZTOCgrZv+CP4vYPwGutu4vmPLy7gAAAAASUVORK5C - YII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAChUlE + QVQ4T5WT3UvTURyH9xd0ERREFyFEsaC0bDOkulArRI2G0jCm5my5fBkOm2bmoqS5THxhmilWK9GyZppz + zqW2scnGTFNrU8vQMbP3NlNZjrZ94vx+YMQq8uJzdc7zfF84hwGAsZYYpcLY9pxUkPQXCcKCLvwrHbfO + RRFwtioPYwW0JOjS30Lgvs4SqHqHMH4ln4KrWSz6cNKsgM1Ug1F9JaxPymHqlsGiK4e1vxwj+muYeFYD + nSofLkcFXg3mQCYrgXwfC4RdFQT8dvh9T+Hz6vDDo4Z3SYXv7hbMTSqgbRVQ8KSej67GWGxcvw7X5SdR + X3aGTwlIdb/P8kdYo+QGwSN6CWou8ZAaF+mkBOOGKvhW9PAuP8LKwj14vijhtFdD3ZQQBNtNIrw0F6Mo + m0ME9A6G+yrgXeqBx3UXy58asfhOgRs3m2HRyuF8fnYVnjBlYX5MDHOPEJncaCQfiaAFFu1VeFwPsPS+ + Dt/mKuF2lFGCQMCPNgWHgm0GIZzDuXhjPg3NnWNIOBiGxKhwWmDskmH54208bClElZwPcWY8RGIJOElc + MBgMDPdmYMYixJQhHS90J6CqO4RoNhNx+0NpwYDqMhbnG+CaKcXXaSk+TxXhg02Ct6N5mLVm4bUxA7Y+ + Htk6ZIU85KbFIukwm5JQgt77F7EwV/sb7BjKxvSgAPaBFIxqjsPafpSCyRgxEUyUisIRGbqVFqibL8Dt + qMZgdwYMHWnob0uGtjkRj5viqXZbKw9AWcamKhO4tpiNBulO7N6+hRZ0Ks9Dkr4H4pRwZHH34hSHhZQ4 + NrVlsigyK2mXtC0V7kJ98Q4oCraBGbLp11v/Xwlpm1QmcMjmDcGfZq35CbrbuL7aUBONAAAAAElFTkSu + QmCC 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 @@ -797,807 +799,798 @@ //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////9NzlhFAAAACXBIWXMAABJxAAAScQHz3HqOAAAAI0lE - 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 - RU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAABjElE + QVQ4T2P4//8/Awznzb7/H0Qbh0z/D8Kqbl1gPgwn9F5C4YMwCgdmAAijaybZAGw4uuMchjxYEwxX1Xf8 + r2noBOPKhs7/5bUd/3PKOv/rGZr+j+44+z+s+eT/oPqj/32rDoIxhgtqGjr+v/vy5/+bT3/+v3j/6//D + Vz//b95/7b+phT1YcWDdUUwXgAILYUAnWPOzt7/+33/54/+Nx1//z193+r+mjhFYjU/lAewGwAIM5Ozn + 7379v/8CovnivS//Z6w48V9aThks71ayG9MA5NAuq+38/+Dlj/83H38Daz5z89P/iYuP/xcSkQCrcczf + hmkAMgcUYGt2Xvw/e+2p/1NXnPg/YfHx/70Ljv9nZWMHa7TJ2oTfAHNLu//WDh7/9Y0s/8sra/wXEZcG + a2YAK/vPYJy4Cr8BoGhCV4CMDeKWYcgzRLWf/Q/CIM2gaPKpOvDfo3TPf+fCHf/tc7b8t8rY8N84YeV/ + /dhl/3WiFv/XilgIxxguwBZNyBimCcUFyBxs0URfA8jBANTC0ubgdCQ2AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAtklE - QVQ4T2P4//8/RRjOqKrv+F/T0AnGlUCcU9b5X8/QFCiFXw5uQE1DB0jg/6/ff/9//v4HjE0t7EFCeOWQ - DOgEKvj3P6Dp63/D1LP/7775/V9TxwisCJ8c3ACQ00AmWxY9+q+fdOL/ietP/0vLKYMV4ZODGwDyF0gR - yHSQgm1HL/8XEpEAK8InBzfA3NLuv7WDx399I8v/8soa/0XEpYGyICn8cnADyMVwxmg0DotoJA//ZwAA - qy/GB3Ky9SEAAAAASUVORK5CYII= + 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 + AkiX/5UKTqafsLwA5EY1M54AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE - QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn - QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH - f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD - VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp - hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe - hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc - DAdFhtjSAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE + QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe + FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g + j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu + MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx + WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ + BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM + B4HjT5oAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACX0lE - QVQ4T6WSa0hTYRjHD/TBvhRdqE99Koi+RFFB9SGjUAsvLYzEjMxFTKVkk6XpSC1N0eVtadqMvAw1b5Uo - KUUiJI7uGs7oIpEauZa1s3nP4tc5RwZNBgW98OPA+77/3/O8D0cA/gufmz3tOXTdzqS1KhVtTMh2X3c8 - CC21RXoJPFQVHMdpr2PSfoORwXySNUEUZeu5ZjRgyk6SCVwsYEZsZs7VxIyzHku5nqnxGpJjVbbXvSlc - OBtKinoH9p6TjHesRxt9SMotEsjhOVcDZTkn6LPmI34qYWzQwAfrKdoqVMRG+VOXto4XRQLxx0K8BU01 - BQsC8RbGtGgy9JEYEiI4Hx+OXqNCpw4lLiqAYu0GRRAZ7O8tqK80Mis2MuswMzWai+NVAraa1QoD1avo - K1/GU5OfEpYJ2L3VW2Ax5zDtqGJ6OIupN2eYfHkEsX05hdUd5JpbuXi1kRSjBV1mBbGpJqIT87wFlaWZ - TIyYmBzUMPEsFPejbXy5u0YJe9bc/E+crhmGx5xExF0iLMYgby8IKgrTEd9m4X4ShLt7M67OtYxUC0pl - eVXe6VEwN3QxMGRXwg96bRwIV8vHglCal8q3/nO4ujYh3luJo9mPoZuC0vaP+V98d0uVPzsZeG/H2v+R - 4CgdQVJ4/8HD+O/Zi1B8OQnH4zgpvIKvLUsZrV2CrUxAK71ZbtvTwXWpgxJLJ23dNuUrs2vLRoQrGYnK - D+KZsgeNNLA/Kz+0vlPCzff7aOh47iUILEw/Lf1hKtThgYTt26kcyNOW3+yp5gtFIA/CF0elacsX/obP - 8L+D8Bsb4cocWY3wtQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACYklE + QVQ4T6WSXUiTURjHX+jCboo+qKuuCqKbKCqoLjIKt8KPFovEFi0XsU1KNlnaNlJzpujSzaVpW7Qv1OZH + JYqToiE0HH3P2Iw+JJpGrmXt3dycy+If74mFrwsiOvDjwHvO//c87zmHAkD9D2kfGNwDtXDd0qDPooKs + MGf74nWWoLddr+ht1yOFpfE4wsEOxILXMTHWgDIxF/oaBa5q1TDUlDJwFguQoHuQjHQjEe6EvU2B+LQN + ZRKe/+WIEhfO5kIp2oGg+ySmneshEx5CmoAJJyMOtNaegNfTAPpDM6bG1HjnOYV+Ew8SQSY6ytfhmZ5C + 0bEctqDb1vhLQN+EtlyISkUB1MX5OF/Eh0LMg1yUC6kgC02yDURQkJ3JFnSatZijuzAXMiI+WYfQi2L4 + basJPusqeNuW4bEhg4QZsnZvZQvsxlrMhiyYDVQj/uoMYs+PgB5YDp3ViTpjHy5e6YJSa4dcY4JEZYCw + pJ4tMLdoMDNhQGxMjJknuYg+2IZPd9aQcGok578jHEkgMBVGvrQKeYXq3xLKpKsA/boa0UdcRIc3IzK0 + FhNWilRmhvm2m2B0uOAbD5LwvRE/DvBFREK11KvwZfQcIq5NoAdXItSTgfEbFGn72/wPfI0mEPgYhu9t + EJ7R98gWyMHli7D/4GFk7tkLqulSKUIPpaAHV+Bz71JMti+Bv5WCTGMibac6uOZwodk+hP5hP5kZdm3Z + COpyZQl5IKlTTiFWGViV73vekHDPXS8czqcsAUdXcRoyIQ8iPgd5+3aSBea0mX9OVfsTRLDwShZyVFpF + NvyNtOC/8hMb4cocvUYexQAAAABJRU5ErkJggg== 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 - RK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAX0lE + QVQ4T72OWwoAIAgEvf+lC0FFt3x8RCN9ZO0oLYakPNprKoZ80O5UyvKpFp4Krh+ngvJj1rfXH4ICEHiJ + 6xX0ggYRwMqDoBKiVvpI7MtPK5iA0UOAU/9voOD0Zxtszyqxa1VmsC8AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABL0lE - QVQ4T7WPuUoDURhG8xxaCHY2Yh+wECREVCRxHBOymMlMZrKYZYxLOhVBCAiCNr5AxFJfwd5C0catEsUm - hYiFxXFCCEq4TmJu5OMU93A58HuAviKUMnw/ftn90zs7tVeuHt5cfjnrJtiK1c4/SVZv3KOdgj9j+6d1 - zMMX1O1bHp8/xNFOwUZsTD3Bq52xWaszuXLBSOCYId9Rb8HWJsrXGHt3DI7vuvxy1m1wNHXJsO+AAe/W - 34KZUgWrUMHMb6Dn1tCyqySsMjHTJqKXCGkF1KU887EcgUiWuXCamUWLadXErxhOoi0ovX8PWsXmucby - OsnGuekyccsmatiEk0UWEjZKPE8w2jg3w2yoee6UksIf1J1EW7BfCKUMQimDUMoglDIIpQxCKYNQ9g6e - L18OKkyOPi51AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABLElE + QVQ4T2P4//8/AzUxhgClGMHBAe8+/fq/Zdmr/5fvfcajikgDYYYtO/z7f3LXNfyGEjIQ2bAJG9//T5/y + 4n940+3/959/x6KaCANBhhmEr/xvnbTpf8Oy9/9di8/91wxa/l/efSYW1UQYCINOJVf/p/be+S9t145H + FQkG6qVd+q/kPvm/lHUjHlVYDMwqrPyfkV/5Pz2v4n9KTtn/pOzS/4kZJf/j0ov+x6QU/o9Myv8fnpD3 + PyQu539QTPb/gKjM/74RGf99wtP/e4am/scwkGJIcwMzCiDeTc0t/58M8m5myf/4jKL/salF/6OSC/6H + JRb9D43P+x8cC/Ju1n+/SIh3vULT/nsGp2DxMpUwhgClGEOAUowhQCnGEKAUYwhQijEEKMUYApRiAF8O + KkwDPuBiAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABMElE - QVQ4T6WQvUsCARjG7y9pa4i2hlpzy0iN7PIUT/Pj8k5NvcM+bOtjqqWxKBCDIhpqLAhqcAoiaBGXw5YW - sS1o/NXhcgdndMmPBx6e4eF5XwEYSq6hF7mGXuQaepFr6EWuoRcJeb2GWq6RK22SLa6TLqyRUqskcgbx - rE40XSayXGIxUWQhXmA+phGQVOYiOfyi8tMyJDb7PwS10p+vrG6QseZrVZKqgawYxDIVllIGYrJEWLbm - 5wlG+/NnxRX84ay9y0nt5A1pq0nIuLfeNRCbdbJ30aXx8IVPufFWMJ2+Qjt4xSo4vv0koN8xJV8yOnPo - WmSzfVpmj7HQKbsNk+3zLtJOmwmxzkvr/W8FFu3OB5OxM/xGk/HgEY9P5sAzbNZJu9NjxLdP/fr5lx8g - fAPOtXjW7jTlPgAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABLElE + QVQ4T6WQu0tCYRyGz1/S1hBtDbXm1onUyE5e8JKXk8dLXg52sa3LVItjUSAGRTTUWBDU4BRE0CIuYkuL + 2BY0PvEhEvQp9CEP7/LA7+XlpwHaKJGEaiShGkmoRhKqkYRqtHSxjJUvk8xtk8huEstsELVKhJM2wUQR + fyyPdzXHcjjLUjDDYiCF02ex4E2iGybaqEhCFc0q9Oab61vExfxUiYhlEzJtAvECK1EbI5LDExLz07j8 + vfnzxhq6J/G375fy6Tu+nTpu+0G8ayiS6HNw2aH2+I3DvFUrmI1dkzp6QxSc3H3hLN4zE7pifK4ysEgS + jVaXCfcZ+7UWuxcdfHtNpowqr42P/xUImu1PpgPn6HadSdcxT8+tgccCSfRptruMOQ6p3rwMPRb8AM61 + eNYtKznlAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAA7ElE - QVQ4T2P4//8/RRhMhDc80vEpPQVkYleED4OJkKb7/z3yDwCZSBJAKUIYrA5EBJZd1nRIXv3fMWmVH8wA - YjGYcM3e8d8ifPp/Y/8OIBe7QlwYqyApGEwE1d/4H1B95b9L9vYudAWEMJwRVHc93SZ2AZAJlQBKEcJg - dSAipOGhj2vW9v+2iUv9YQYQi8GEZ8GB/5YRM/4b+bYAudgV4sJYBUnBYMK/6uJ/3/Jz/x1SVgO52BXi - wnCGX8W5/47pm9LgEkApQhisDqbBo+jIbLPgCWBBUjCY8Cg8CA5Em+iFgegKCGGsgsTj/wwAYWiux7Jg - lFIAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAA00lE + QVQ4T2P4//8/AyUYTIQ3PNLxKT31H12SGAwmQpru//fIP4BiAAMDA4jAi+EGBJZd1nRIXv3fMWmVH7oN + hDCYcM3e8d8ifPp/Y/8Okr2BIUAqBhNB9Tf+B1Rf+e+Svb0LXQEhDGcE1V1Pt4ldAPcCeoBhw3ADQhoe + +rhmbf9vm7jUH90GQhhMeBYc+G8ZMeO/kW/LAAWif9XF/77l5/47pKwm3wV+Fef+O6ZvSoNLYAk0dIxi + gEfRkdlmwRPIc4FH4UFwINpELwxEV0AIYwiQigFhaK7Hy/55VQAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAeElE - QVQ4T2P4//8/RRhMFHQfKgDi/yAaXQEhDCZAmkNbnvyXta4CciESLEws//FhmDqYAQUgzUBMngsowVgF - ScFgYjQQsUsQi8FEYsXyAiD+D6LRFRDCYAKk2bPo6H9J40wgFyKBLeCQMUwdzIACkGYgHnKB+J8BAD5Q - tqhi4tzWAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAd0lE + QVQ4T2P4//8/AyUYTBR0Hyoo6D70H0SjKyCEYQb8D2158l/Wuuo/TIKFieU/PoxuQAFIs6x1FXkuoARj + CJCKwcRoIGIKkoLBRGLF8oLEiuX/QTS6AkIYZsB/z6Kj/yWNM8kLRJDNIM2SxpnkuYASjCFAKgYAPlC2 + qCS4LQgAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAQ0lE - QVQ4T+3QMQoAIAxD0WJ7/ytHEBQp6RDdxOF1+GSqAbhCo2Icd0e2j6IFsrlZo1M0KmhU0KigkflPrNFY - efKJsA4bINYHMvlwBwAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAQklE + QVQ4T+3QQQoAIAhEUUnvf+UJAiEcDIZ20eK5+IgLDYDdoKBaw91R7UsxAlXu0EUVBRUFFQUVhc5/Yo/C + yaNPnBsg1gfsoRIVAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACZUlE - QVQ4T6WQS0wTURiF2bpjYWKiGxcu1GhMfAQlSASNxUek4oIQGjQ2YqOhKqXWgRbaDmUKSmm10KaDfSBG - qhjBKD4xdmMEDS9TbEGjRSVQVKAqRJQ5zq0ZQ203xsU3yf/POd+9M0kA/ouES0L3k4drXKxB0swaQSnl - K+923EhOlItbEGorVdu9LgZ8mfv2lubcDfQbr5tBu5el/s7GDAKXHAw3E6KJAAib4bHTmA0ZonNfV2fq - wmxMUcBl1X3lxuv4AvNbUK8HmZvsVbDXquFhTdlCNq5MaLSU8wUTmmw6YNwMp0UDjhe56nXgPwm2WqpT - yMaVCWZ9UfRE53kK3JgZ9poSzPNCW7UScyNGGFSHg0I2+uDNGqdVB8Kdm56zjPIgXzTBUXcKc+9q0GCQ - Ye59Nc6VHsFMqBLF0n2DfwT8j1nUZDdg6hXNv6Rx1amFWibGz9Ea3G85iUhQA19rEb68rkDLhUJEAmU4 - nr9zIOYGvERfnL8NE4NaTA+rYdOKMTvCYHJYj6khNSYDFD4HlJgKUhjtOQZpTtqzGAHhMlutjEoGFAj3 - yjH5UovIkB7TgQp89JdhrF+FsZ4TCN7LhWRPii9OQGAtmitE8qFLhtFuOcJ86ZO/FBMvzmDkaSH6rovw - +GI6l7d746OEglavOVl1SEQTSf+tA+htE3P+jhxuoG0vnnsz0dWcBqM87buiQGRLKCC4q3SLNbL9FURy - zbSDe+DI4HzOdNy2bp6npBt+7Nq6GqcLspYK+TgBofyoaEW5PFchyU5t37J22eymVUuQmbJ8UJK1vrEk - L2PdwmxM8d9B0i+k/s5JFmy4DAAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACXUlE + QVQ4T6XQXUySURzHcW+786KtrW666KJara2XWY5cWgt7WZJdOCezFstYTSqR6FFAHh4RpEQsEOZjoPS0 + pGxpK3u15U1La741CLSWUDnAypdSF+X5tcdWS1Fb6+J7cc7+53POTgKAhP8pbuNXHU8ernGxejHHGkEp + ZCvvttxInD0zL1BRqtzucRnAsUYyPsCQumrmjafOgGYPS82ejTvMd6nGQCaCDA8AUQvqHQwmg/rpdXd7 + a/JfAZeV/kIileBYw0/ApgO/djvK4KhQoZ41ZywI1FZpQCJmuO00ELHAWaUGiVrgstEYH2Bgr6BaFwQs + uvzpG53nKZCwBQ5TIaYiZtjLFYiFjNArDwdmAC4brXZaafDduVl/1qA4CBI2o6byFGJvTajWSxF7V45z + RUcwESxFgWSf7zfAscZFboceI68Y8B931amFSirC90ET7jecxFhAjbbGfHx+XYKGC3kY8xfjeM7O3hkv + 4FijriBnG4Z8Woz2q2DXijAZMmC4X4eRPhWG/RQ++RUYCVAY7DwGSabgWdwfXGbLFdNIrxzRLhmGX2ox + 1qfDqL8EH7zFCPcoEe48gcC9LIj3JLXFAXxslfoKj7xvl2KwQ4ZojxIfvUUYenEGoad56L4uxOOLKSR7 + 98ZHcwKNHkui8pCQ4ZGeWwfQ1SQi3pZM0tu0F889aWjnBDDKBF/luUL7nABfXRm9WC3dX8Ij18w7yIOa + VNLmTMFt6+YpSrLh266tq3E6N33pvACf5qhwhUaWJRdnJDdvWbtsctOqJUhLWu4Tp6+vLcxOXffnbNzh + f+0HpP7OSS0WHh0AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB3ElE - QVQ4T6XSX0hTURzA8UXP0lsP9WCPkqv0QaKQKKK0DEmol6IwbDmR1TbDJVo2V9NCDTKICMoigtaIbCTD - JBvOBTaG89+tzD9NFwqaKM6E2f12kuHdTYhLPXzO73c48H06OuC/rBxSoIk/9ftvE+5spOddI6G3DXS/ - qcfncdLmcuB9Zl+hChD/LNag4NekylQgZiIw2NVEPPZerC7NKk1HxUwEAq9rWZp9JdZ7mlWU5ouZCHS2 - XONH9CHEbmlmKzmiBHwvHcyN1LM861zF97q/shnzlEDHCzvT4XKYrNHMVnxYCbQ9t/O1vYDF8QqYqFZE - hW9J9yTlhkNKwCsCXzzZRH17GPHuYsiznVDzRhb6DMjjVyByeY2LhtykgMvOVNdxBpvXMx/UM+1PI3RX - R6Q9B3msEoYvrWEtylEHYiEjQ+6tSE83IIezWAqkEX6wmfinMpAsglXFXHggKSC+pdxvkheDhYy1ZPDh - TgqR+zqGhVF3OrJkhr4LMCBmwvlT+9WB5d6Sn78f4j1Goq27+fh4CwNPNtHdsA7pUSoT7mxmWvOY7zjG - nFB6Yp86UGPJxWE5SK11LzfNO7lhysRZrOf6uXQcZ/VcLdJTdWYbttM7KDuZgUVYDfw7dL8ANy8V6Hlx - kDwAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB1UlE + QVQ4T6XMT0iTcRzH8Uc6h7cOdaij5Kp1iCgkiigtIxLskhSGLSey2ma4RMseV7NCDTKIEEolAueIbCTD + pDWcC2wM578nNc2miwJLlGbC7HlHHvztSYgHPLy+8OUDbwmQ1mPlKKFG/jUUvE+0p4H+tw1E3tTT97qO + gNdFl9uJr01eoQmQHAPCQFCXKkueCIz0NpJMvAPculVaTolA6FUtS3MvgUe6VZSeFIGejpv8ij+BxD3d + HCUnRCDwwsn8ZB3Lc65V/Lj9Xw5zrgj4n8vMRsvha41ujuLjItDVLvO5O4/F6QqYqRbi1fAl5U9Rbjom + Ar52mY/eLOKBA0z69jHu3UmkeRM/B02o09chdm2NK6aclIBb5lvvaUaaN7AQNjAbzCDyUCLWnY06VQkT + V9ewF2VrA4mImXHPdpRn6ajRPSyFMog+3kJytAwUGyh2DWvhkZRAm4w6ZFEXw4VMdRh5/2AjsSaJiSaJ + T55MVMUKg5dh2Lrq0tnD2sDyQMnvv0Oy30y8cz8fWrcx/HQzffVpKC1bmfFk8b0zlwV/PvP+fErPHNIG + amw5OG1HqbUf5K51L3csu3EVG7h1MRPnBQM3igxUnd+B49wuygqM2AqMIrAefwA3LxXoYFHxHAAAAABJ + RU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAByElE - QVQ4T6WQ3y+CURzG/UfmwoUbc2XjwqW5ztyY2bhgY2a2xoXNbFSThaLIbyYppaRIJSwNw+bHGzK5kKTe - 6nHOy5vOsLEunvc95+x8nuf5ngIAeUn49E4/IFfdugd0qsNoGb5Hw+AdJH23qOkJoaqLQ3k7h9KWG5Q0 - XxM0x0DjAEbtGSitachNKfQbePQuJiGdSaBj8g2tmlc0qWKoH4qhThZFUd0eayBKqg2jbTSMRsVHcnV3 - CJUdNyj7TBVVKHF/GUyu+pDJZLJy+S+Y/ZrzSPgn+TSi8TSmDG4UV9R+GYwvuxlg03fG7Ffsh0gQ+IXA - kWgK2mUXazAyv4WDE05I3vSdw7Z7CsvOsZBM4SWrH7MmL/QkmcJj8w7WQKnfYBLXCSyuaW0KR6I8QpEk - zu+SUM3YWAO51swYmJzBLPwST0G/6gb3xAtw4DoB5ZSVNRjQGOEJXMKyTWpvHcGQW5vAtLZ6wQHVrA1K - vRUKnfm7QW6DRYtfeO3H5xSpzUNNZg5cJeA5i8MejEE2YfrdgNaeozMTmCOwOPMH/Arjfgz0/jcDh/dU - qE1h8bVp8gitTWZW6NaFZHr3RwN68F9lDfLRj4d/FwreAXS1HIGEVowqAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB0ElE + QVQ4T6WQ30tTUQDH/Y/Chx56CZ+CeugxejZ8iQjqwaCQCMQehAhKpcW0raZb2rLRptOtzavmTdcqpizR + oPQum3R7cM613Xv3iXPW5g6rB/Hhe35xvp/v95w2oO04kkP/812a1Te6y21Pnu7HP7jycIfOe9+5eDfH + +TsGZ24ZnO7e5tT1LRSAV4ORZBVX3GEwanM/bNE/WaF3vEzP2G9ueA+45i5y+VGRroEC7V3vVUBdvb48 + N0fyXB2qJV/oy3GuZ5uOv6l1nejUDwFjkRTVarWhxfQXZT+9sCrniuVQKDn4wzonz146BDwN6YphLrWh + 7F8nP1G2HPZLDmbBxhdaVAHDwXk+fjZk8lxqk8S7dWJLWZkszK/iaSaiKwTCujQ/CWoqwBV4oyTOLmUb + a1FbmM2CRc6ssLlTwT2eUAGDvhkFEF1Ya5j3SzaBiI7xy5LmzFYZlz+uAh54p1jOfCX2Nsv0/Crh5tqR + Wm3PSw33RAJXIM7Q6EwroLnBZCwtf/vnnk3OtPAENTLfyixvlEiuFRl4Fv0/QNR+Id68Z2OYtdrizTXz + AVMfioj7LQBtZV3WFub6b4vkYVHbL2rPymRx958AcXBUNQDHUcvBUfUHdLUcgRxLqH4AAAAASUVORK5C + YII= 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 + qTrgv/oBFQAPI+QT9ewAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAoElE - QVQ4T6WS0Q2DMAxE+e5PR2AERugIFRMwSmdhEkbpKMYPTIXjYhQ46TAk8ssZaETklv8u1ni9HOtl1akG - 8LHqlAE69WQedvfOh4BHP77VT3tEjBCcASb1F5AtsRkcANYohRmhPH1JFwCbtOksAZAUcPYO8gSq8iuw - GZwBOGE7rbUK1CkD0MTPg2mmksQpA5T6zb1XDYAEpHIKgOuWZgYwUWWjtqpGsgAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAnklE + QVQ4T6WS0Q2AIAxE+82PIziCIziCYQJHcRYmYRRHwRyioS3UEC85MTV9PUBKKdEfq8Ko70dfqyxAI4BD + FiALsBBRLN6rd+YuwPmwOR+mCogtKFuA6Hw4ASolfFRWgNKYhLEFOT2nU4CBBPlWLMDXGdgJGrcgE7TP + oBImPNPmsgLKZAHQhJ8HRjNWJGGyAFLvvmuNAJAAqZgU4I8vMFFlo3aSOUkAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAfUlE - QVQ4T+2UQQqAMAwEC/3/myMNTYjjomA8ehjozi5SQRxm9ilSdpCyg5QdpOwgZYcx56zYhp7Ejrx+4IJb - z3WQcsOOcOeZgyz2+Y7YVU6vfCkf4M5zDXHOEo5w47mGOGcJR7jxXIsoaw5HuAkun00bKYG6yUJt/79N - GxsH7EeiiVdcqusAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAdElE + QVQ4T7WTQQrAIAwEBf//5hRKI3ZWRbr1MAc345qLJSLKn0jgIoGLBC4SuEjgUmqtPfHAnKRHPheO3Ps8 + k3ZK6UlhDinO6B9vd1YCCwi914YsoDyCzrnCHOSwP89K6TSXoo0EA7jFavMDX4+BiwQuErhc7EeiiR4r + 8zwAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACC0lE - QVQ4T2P4//8/RRirICkYznAqu8PpWn1X0bX9VZZz79ta6+lft5jP+nXRbOrXfSad77uNK55mGebfsNKK - OyuGYYBP7QMu14bnRXbtbzd5J1246Bd+YI1P+OF8r8ij6S7RpydbFN45qdnz6bli9bM7ysHHKtWs9vCg - GOBSddfetuX1o6CAfbdjQrf4wySRsXnW5YmqqdevSDvtu6dlvjwSJg4mbJpe7DTNv//dz3ldB0wCG1ZN - ubBNxm3vZx3zhWthYmDCtPrpct2Yq9+cLVdnwySwYeX08+vlvHZ/NbScvwQmBiYsim/5a/iduaFmuO0y - TAIbViq5+kbFYeNrK5s5MTAxMGEWd1lZ1f3EAXnrA1/V7bd4wCSRsW722UTl8it/TKwXXbOyXqAJE4cr - 0PQ7YiEecem1tMfBXTAxZKyTf+myWsi+z9a2C9yQxVEUySZfmS2ZcPapht1me2Rxo8xTTprFlz5o+25b - jywOwmBCvP/zR7Xkc84qIQdVpV12vteyXLkRWZFBzukjOtmnv+v7bzPW9FyfJOez+idMDmJA/fP34tmX - v8harn+iYzbvjYH1vHswBSBskHPqhV743s/aLqvfqzst/anqNP8bTA5MyAcdOaFovPq2rvn8T5rWc35o - OC38C1MAwoZJB34be2/4YeS94oeO66L3Og7zHsLk4IrIxVgFicf/GQDTEJf4sarC9QAAAABJRU5ErkJg - gg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB/ElE + QVQ4T2P4//8/AyUYQ4BUDGc4ld3hdK2+q+ja/irLufdtrfX0r1vMZ/26aDb16z6TzvfdxhVPswzzb1hp + xZ0VwzDAp/YBl2vD8yK79rebvJMuXPQLP7DGJ/xwvlfk0XSX6NOTLQrvnNTs+fRcsfrZHeXgY5VqVnt4 + UAxwqbprb9vy+lFQwL7bMaFb/NGdCcLmWZcnqqZevyLttO+elvnySBQDbJpe7DTNv//dz3ldB7pGZKya + cmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PRNSFj5fTz6+W8dn81tJy/BMUAi+Jb/hp+Z26oGW67jK4J + GSuVXH2j4rDxtZXNnBgUA8ziLiurup84IG994Ku6/RYPdI0grJt9NlG5/MofE+tF16ysF2iiGADCmn5H + LMQjLr2W9ji4C10zCOvkX7qsFrLvs7XtAjdkcRRFsslXZksmnH2qYbfZHlncKPOUk2bxpQ/avtvWoxsM + JsT7P39USz7nrBJyUFXaZed7LcuVG5EVGeScPqKTffq7vv82Y03P9UlyPqt/ohpQ//y9ePblL7KW65/o + mM17Y2A97x6qAade6IXv/aztsvq9utPSn6pO87+hGCAfdOSEovHq27rm8z9pWs/5oeG08C+yAYZJB34b + e2/4YeS94oeO66L3Og7zHqIYQAnGECAVAwDTEJf4ZU19HwAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiElE - QVQ4T+2PUQ6AIAxDuf+lkTbWNIOpmH3al5nB3DO2kd5bEcPEpkwqIXDp5w+4EEhUJgSQlQglKhNOIPEc - 43PwSvgU/g2K7z4IY3wOFEm3hD4TvD9lW0IuZOwI2Wnhjl+45LVQc66MZ8YkREXCjF3GUogSizueMi6h - cIGXwZuMSQhchAr03g5eEHK4HOEqIAAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAeUlE + QVQ4T+3RURKAIAgE0L3/pWmwcGwlFIfP2B9TeeYIACIoigjaoAw1UDOixweMoMagMlCjWAloUBk4RYu/ + ueaeDXBV7TbPjZYg19ceQ1Mgr9ue/ocZMHykDPhqiPKDbrbB40fxUFrLgyPqzO2BFob5gDSoCbC7Bxde + EHK4KrCbLQAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAADwklE - QVRIS5WWS0hUURjHx+f4xJFw8rHKrFDRgRYW4jMfBbooeyyEjAq0cCu4UZMWKYSSKFEjPkqSMfMBIQxk - akyUUJvsZa1bBO3aSeK//3fnzu3OnXPVDvxmzv3Od77/nO9859xxsCGE0+mEy+VCWloakpKSDLsQExOD - 9PR0pKamRiB2s68NwU5ycjK6urowNzeHqakpNDc3Iy4uThsrKChAR0cHVlZWsLCwgMXFxTCWl5eRn5+P - 6upqJCQkmIObcSAzMxPDw8Pwer2YmZlBUVER+vv7UVhYiLq6OqyurmJpaQnz8/OakODz+TA+Po7JyUmN - 2dlZ+P1+DAwMqESEYCc+Pl77zs3NRV9fH7q7u1FTU6OlMzY21jxBo76+HoFAQMuACE1MTGjC8mPGxsYi - /B1ZWVkwNzGOjIwYDltbW/pIeJOVh3xkNdPT00ExWd3TpxhlhkLjGm63W58abGLs7OzUn/bXiouLMTg4 - iNlnz/CYqxoeGsLrqiqsSSZSUtRCvb29eu//WlNTE2739MD75An8LApGx3emvuzwYbWQqnk8Hm2/hMrK - SrS0tOgj/9r29jYu3LiB+ywgEVk/cQLvz5zBSZb/nkKNjY2Ijo4OOiqQKjW330xZHu1D169rqXtdXg5f - WxsSJX12Qq2trcrgVh48fBicwEqlQUPsn3gs1ii2WVuLdNkrq9DOzo4m0sXyLikpMQLuxui9e4aIILa3 - V6/iVUUFPvIYuOTgq1Ykjgss32OhjdwH/DDwkbLjx/H+1Cl7IffBg+jharyPHiHr6FEj0F60EHYMongV - bVDEVkgmPWeJfqXITfatAe2oIuwYxLMAPnCfPnGPbIX8vFBfML/Iy0MKn61BVdQSdsKFmLp3ly7BlZio - FvpMB6mYjYYGOHYpbzNWISffBl8Zp620FA5V1cmkTV1omSd8k8/WoCo8hB0DXqL4wXN4RfqCSmisvR1v - eQOskXWKBc6dw8XTpxETmmQhmrBjsE6OkFvE8FMJVfDa6L98GW945YhYgLyR++vQIZzl29fDt3ABf3EZ - ++LfSEQghNja9W8Dq1AsjeJcTruIbfC+eiGrYypfsoJkhV+Y2m9klGJndX8zSSRMRFCtiB/4RTw8Uwf4 - f+AXA0phfGT6ZIOHeHkmcvw8+an7h+gjESKCnZCwTQLiJEj1CVFRcPNcyPgfEvIV7pKw4GZ2E/of7pCI - 4GZUQrIKdvaNbbrM5OTk6BLBJsYEIvVfT2hQ8pk0kGskIqgaB7Kzs5GRkQERtQzCrZNhIpMoK8sWB/4C - O706Ewj1hikAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAADtElE + QVRIS5WUXUibVxjHjx/RaBKSUIy+elXrHBo00As7iuZN3nwomIvWbb0I1NEV1OKt4I1xsotFGEpDZKwR + o50oSa0fMIRAnTpSWmG9mW1Xt+tdDHq3O5n4L8/R2OTkvOoO/Ig573Oe3/s854mMMYYclZWVsNlssFqt + qK6uPtsnysrKYLfbYbFYiqD9/FgdTv4wmUwYGxvD6uoqFhcXEQ6HYTAY+LPW1laMjIxge3sb6+vr2NjY + KGBrawstLS3wer0wGo2i4KOorq4O8XgciUQC6XQabW1tmJychNPpRCAQwM7ODjY3N7G2tsZFRCqVQjKZ + xMLCAmdlZQWZTAZTU1OioLCiiooK/tnY2IhoNIpIJAKfz8fbWV5eLh5CMBhENpvlHSDR/Pw8F9PLzM3N + FcUzRVGQv2hzZmbmLODw8LDgeW5R5bkYqmZ5eflERtU9eYLZeLxQ5HA4ChLQ5ujoaMHeRau9vR3T09NY + efoUPyWTiMdieO7xYJc6YTbLRRMTEwXfL7v6+vrw7fg4EktLyHi99Mb4y+dD57VrcpFsuVwufl+Eqqro + 7+8XQ3B0dIQvhobwg9PJJXs3buBVTw8+s1guFoVCIZSWlhZf7Ck0pfnr31gMTYwhdv8+b93zri6kBgdR + Re3TEw0MDBQllvHjo0cnB6JRXglB+28CAex6PDjw+2GnuxJFx8fHXDIWiaCjo6MosYzZhw/PJDnRy3v3 + 8KvbjdfBIGz0wxdFtChwPZ3Gp7mLvAT5ohRj6Lx+Ha80TV/kqK3FeCSCxOPHUJqbixLq0S/ISoxG7AeD + +iI69PPSEt41N+OBJKEeHkFUYTbj90AAb/x+fVEmHMYztxtoaoJZklSGXybSNPx25w5sVVVy0VtN4xOz + 39sLds54nyeqNJnwTtMwePMmmGzq6NDBqWjL68WBJKkMlyBiioK/QyF8lYuRieaGh/FSVbGrqtjzepG9 + fRtfdnejTCIgSgXJHmP4hDF8kx8nE7ktFkzevYsXPh+XZVUVL+j/19WruGW1wmWzoVVR0Gm18viQWA1j + GBZfSBSVnwZ3ORxctt/Tg2dUnceDX/x+XuEfmoY/NQ2zioJbgoSoFiUyEW1S8Hvqe20trtjteK8ofDBe + d3fzC44NDaGKMXzOGP4RJFFRcJGIOGIM2VwgTR9RUgKHwcCf/ydIvheTX1b0f/hOTCwiE1EVYqLz0G1X + Pg0NDUUiI2N8/oOSpDneMoZexvC1mFAfhvr6etTU1ICkYoDjlJo86vQm6xw+ADu9OhO8z9GhAAAAAElF + TkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACJ0lE + QVQ4T6WS30uTYRiGdx7+AeE/IBM8GTtsR50IHRg6jQ6MyIOiQYEdOMYO6iBMEYS0lDkzt5n5c20618YY + Kk5nBmZFrTbdTOdc31fL0VKcu+L7vrISZJAP3Lwv3O9z8bw8t8rmWsAxscjA5Av5tLvD2FzzPHaGeDQ2 + i3VkGstQkO7BAA8H/HTan9Nh83K/f0qWSgLsF/bJ7h7I2szkiaTyDAUT3O7y/OMd9bWVV1A5JsKyMbP0 + UdZkKCabkhpbnYdecDGKfyGGJ7TKs9k1RqfjCkCaoKndc6jGVjc37jq5dmeUBvNTLhkdXLzVT+3NXs5f + 7+Hc1W4qGx5w9nKHAugbn6NYFQqQPyiwu5cnm9vn684e219+KICe4emj7xFFkba2Nurr69Hr9djsDj6L + OwiZXT5tf+fD+jd8cxEF0PUkQCKRoKWlhWw2KwOi0SjpdBpBECg9XUpd3QViiS0200qz2WxmzP9KAUhr + MRqNVFVVUVFRgVqtJpfL4fP5aG6+R8mpEmpq9LyLJjGZTBgMBjQaDeXl5QpA2uXGxobcGIvF5AmsVivV + 1dWk0qIC0Nfyfk3g7WqG8JsUZWVlOCaW/wCOlsViQafT0WQ0odVqOaPT0d7Zy8uIyNxKmsDSFv2uX1/4 + DUgmk7IEQSQeX2d4ZByn24s/GMLtnWEqEGZ+OcGg9zU29wpW518TnCgHEuC4KEtJLBplCXBclKUJikZZ + AkiX/5UKTqafsLwA5EY1M54AAAAASUVORK5CYII= + + + + + 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 - AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABDklE + QVQ4T6WSvY3DMAxG3wpeIbNkBLtwkfZSuLnCgKAijQtDpYs0WsEreIVbwSt4BR14VGH9IBcghQqRH59E + 8iOEwCcnvdBu0Da56JT3RSwTBJhdLoq5L8kX8RLgA9hLIaQ94PtfgFOAX7O4UfjzdQsqtrtCpi4WN1o8 + CriYTwXQXmER8R7vDnq5m1xbBWjRPbayOH3d/uSalwCF2CMOVF4vhvoGQAb3lOLqWt8BHHFw8gtpRU7x + k7yoi0JxpKytA7+BP8Bu2s4t2UReHGDwKlRHwtDALLALzB584oUzwMFgZGDwSHYOvWxlldfhkWzkDDBq + onGHWzE4zU0r9FsVoKLRwFI3zJ8jxRfT9Rz/BalCUid5a6EwAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE - QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn - QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH - f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD - VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp - hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe - hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc - DAdFhtjSAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE + QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe + FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g + j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu + MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx + WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ + BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM + B4HjT5oAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB+ElE - QVQ4T2P4//8/RRirIAxP3vItZvLmrzvm7f76aPnBr0dWHvw6ZdWhr1LIalA0IOO+DV93APGf7nVfnzeu - +PK4fsmXO3N3fn0MNOATsiFwDd2rXv1fduKrAZi97uuy/o3ffqdOevfGpeDEb+vU7X/ME7Z8d6+4+3Hm - 9q9vgAbcRDEAKMDZuOTl/3kHvl6tX/G1YcKmb3/iep7/cy04/t8uY/cv09g1x13ytz60jF/+J6zj3c+l - B77eRzEAhItnPv+fNevz/8I5X/5H9nx8YZW85a9F4oYfprEr80HyAbXbVQwjFr9wLb/9vmHplz0YBiT1 - Pfvv3fTmf3Tv5/9lc9781/CetNokZoUjTF7BoY7ZLuvQb9eyO68bVn45BBOHGxDU/PS/WfH9/55Nr8Au - Sex59L9u8VtLmDzQAFa7zEN/veqefWte+WULTBxugFPF4/8ORdf+W2Ue/28Sv+2/YdTa/xo+U4FSEHmz - uPVKtpkH/wW0vP5bMP1xKUwcbgA6BgUsMl/da5K7a9ntP2mT3//r3fCVDSYOV0AIW6TsuxjS8eFfWN35 - XGRxFEXYcFzfeyWH/Asx/i0f/vlVXvmmFTCbEVkeRTE27FH92Nm/5dMvj5KLP42jVnmhy6NwsOGo3s+R - ziXXGk1j1olik8cQIBVjFSQe/2cAAG4MzKZBtgOMAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB60lE + QVQ4T2P4//8/AyUYQwAZT97yLWby5q875u3++mj5wa9HVh78OmXVoa9SRBnQt+Hrjr4NX/90r/v6vHHF + l8f1S77cmbvz6+NVh75+QjYErqF71av/y058NQCz131d1r/x2+/USe/euBSc+G2duv2PecKW7+4Vdz/O + 3P71zapDX2+iGLDq0FfOxiUv/8878PVq/YqvDRM2ffsT1/P8n2vB8f92Gbt/mcauOe6Sv/WhZfzyP2Ed + 734uPfD1PoYLimc+/5816/P/wjlf/kf2fHxhlbzlr0Xihh+msSvzQfIBtdtVDCMWv3Atv/2+YemXPRgG + JPU9++/d9OZ/dO/n/2Vz3vzX8J602iRmhSNMXsGhjtku69Bv17I7rxtWfjmEYUBQ89P/ZsX3/3s2vQK7 + JLHn0f+6xW8tkQxgtcs89Ner7tm35pVftmAY4FTx+L9D0bX/VpnH/5vEb/tvGLX2v4bP1P8webO49Uq2 + mQf/BbS8/lsw/XEphgHoGBSwyHx1r0nurmW3/6RNfv+vd8NXNoIGoGOLlH0XQzo+/AurO5+LLI6hEB3H + 9b1Xcsi/EOPf8uGfX+WVb1oBsxlJMsCj+rGzf8unXx4lF38aR63yQpfH0ICOo3o/RzqXXGs0jVknii5H + lAGEMIYAqRgAbgzMptd1HX8AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB5ElE - QVQ4T2P4//8/RRjOWHXoq9TKg1+nLD/49ci83V8f9az/klK58AsnsmJsGEyANAPxp7k7vz6uX/LlTuOK - L49bV325U7Hoy+fKRV9S0TUhYzAB1Hxz5vavb9wrH7w3T9jy3Spl2x+H3ONfUyZ/flE458uLwrlfwkDq - lp34auBQdA3IRDNg6YGv98M63v00i57/2yVv/U3T2DXHgPiLWfzm38mTP/9Nn/n5WfbcL5HzDny9ap15 - /D/QQrjXwETD0i97XMvvvFf36rkVULtdBSRmGrsy3zh6+VedgNm/Qjs/Pge65H/WrM//TeK3AqXRXNCw - 8ssh1/J7r9Q8+w4rONQxwyRNYlY4anhPWl02583/6N7P/72b3vzXC10MlEIzoHnlly3e9S++anhPvgk0 - gBUmOWXrV10gBtvs2fTqv1nx/f8aPlOBUmgGFEx/XBrY+uavUeSaX0ADuGGSoACzAvrZJH7bf72QJWDN - qm5dQCk0A3o3fGVLm/z+n2vZ7T/qXpPckRUgBxg2DGeE1Z3PDen48M8iZd9FZAWEMJyhFTCb0b/62kv/ - lg9/HfIvxMT1vVdCVogLo3CAhvD5VN48FdD6+atH9WNnZDlcGKugd8Or0Kjez5HY5NAxVkFSMFZB4vF/ - BgCu1sRwcCvT7QAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB40lE + QVQ4T2P4//8/AyUYzlh16KvUyoNfpyw/+PXIvN1fH/Ws/5JSufALJ7oGdAzXvOrQ109zd359XL/ky53G + FV8et676cqdi0ZfPlYu+pKJrwmbAzZnbv75xr3zw3jxhy3erlG1/HHKPf02Z/PlF4ZwvLwrnfgkDqVt2 + 4quBQ9G1/xgGLD3w9X5Yx7ufZtHzf7vkrb9pGrvmmGnsmi9m8Zt/J0/+/Dd95udn2XO/RM478PWqdebx + /6sOfYV7DUw0LP2yx7X8znt1r55bAbXbVUBiprEr842jl3/VCZj9K7Tz4/PCOV/+Z836/N8kfiumCxpW + fjnkWn7vlZpn32EFhzpmmKRJzApHDe9Jq8vmvPkf3fv5v3fTm/96oYsxDWhe+WWLd/2Lrxrek28qONSx + wiSnbP2qO2XrV7DNnk2v/psV3/+v4TMV04CC6Y9LA1vf/DWKXPNLwaGOGyYJCjCrzOP/TeK3/dcLWQLW + rOrWhWlA74avbGmT3/9zLbv9R91rkjuyAuQAw4bhjLC687khHR/+WaTsu4iuCB+GM7QCZjP6V1976d/y + 4a9D/oWYuL73SuiKsWEUjlbAbD6fypunAlo/f/WofuyMrhgbxhAAYe+GV6FRvZ8j0cWxYQwBUjGGAKkY + AK7WxHD7c7sYAAAAAElFTkSuQmCC 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 - RK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAX0lE + QVQ4T72OWwoAIAgEvf+lC0FFt3x8RCN9ZO0oLYakPNprKoZ80O5UyvKpFp4Krh+ngvJj1rfXH4ICEHiJ + 6xX0ggYRwMqDoBKiVvpI7MtPK5iA0UOAU/9voOD0Zxtszyqxa1VmsC8AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACh0lE - QVQ4T4WSyU9TURjF+5+4YOPKYOLGlYmucAEoMSExxoVAwCKCIhEEFYMEtSBCJDRImawgDaARlASVSUFG - FXBoAZmnFspUW9rX937e9jUxkZe4OLn5bu7vnJMvVwf8V7aWg8NbQ8ffY8+yTTaHKaymTv2eONki7hs0 - gX/ls0aZZ9sPw7aBhZ5YcRYz8/oQrrGIF5rAPolkdstA6md3qUmcvQTmDWu2xmMNWRsPKHOdMbhWW5DZ - wu1oJTAvdhzRBvbJnnWD7VILe50WYWIRTSxiRnbkazzWkGSLjp55E26R13IsTtMx6IhTdzB9GV1VwwSV - z8apePoFY80oj01DlBgHeFjWx4NHPRQUdmIuz6W7JQflaz6bjZGsN8WyO5XM8sBZdKb6cRRFQZIVvJKM - e09mxy3jdPmxb0ksOSVm7T6oMsLNLDgfBafDMJw6Ksqh01Wax5AFnFa+iL5kgbjCec4VzOLYkVjZ9DO/ - rg2nXn2uGjwR1SW/wpm8GaJuTRORNcmJDBtrgfQNSYVzMgUcCTEqPGDzcCm1XjUw1n7GJyl4fDIuj8ym - qO7Y8bMsqmslD0156LN60KeYVYPy6hH2BHy3boS8miHuVA9w29QP68MhWCSH4CtFbaQaXvHhp4ckfZ1q - UGYaxu0Vi/P4g+n27VB6wCAg0SIAj87sMTjp4aOAe767SUyqVQ1KKwZxic0HG9SKBlVqg+Fw8QVCcEZp - B+nF7aEGrXR9cxOfWKMalBg/BdOdu/7g4padPmYdPiZXvPxY9DI252X019/0bpH+btxNXEKVahD4MIaS - Xu4VdZF3/y25+e3k5LaRmf2Sa9ebSUu3kCI2rk82k3ixlviEai7EmYICdH8AxXsU+dXRvF8AAAAASUVO - RK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACiUlE + QVQ4T4WS3UtTcRzG95900Y1XYdBNV0Fd2YVaEggRXqSiaTbLJJdWiomVmimJw9x8W5pDV6QlWPlWmk7N + 1Eyn5vvbptPp2tl2ds4ntjMMctDFc/GD5/k8D19+KkD1P1lMYcN75rOfsGoss63HZTbVc78nz5ssprCm + I+ZQ8s5EGRY7ToKjiJXeWHCUsvDuBM7xiNdHzCFl1Vg4qABxgIO1FhD78L93ZrJDmENopvmYvNQVg3PT + hMQeLlsb/vdq56mj5pCyau7iKDfi7jI6N01GxAEjjnIkW0EIcwiJlujohffhRmkrx2jXnYHOeOUG8zdQ + 6ZsmqX45QVXDGNraUZ7rzJRpB3la0c+TZ70UFndhqMylx5SD/L2A3eZItltiOZhLZX3wMipd4wSyLCNK + Mh5RwuWW2HdJ2J0+rHsia3aRRasX9Fq4p4G4KLh4nKILp/GvU1UbxpEkmfTKVVLKVogvXuZK4SK2fZGN + XR/L26HD6luvFMCLhjFEn8yl/AWi7s8ToZnlXKaFLX/7jqiEc7IgLhJilPCgReC6ulEBaOu+4RVlBK+E + U5DYdfqw7ftYtwfD/zSb5wT6ZwRS0gwKoLJmBLdX4mH9CPm1ZvJqBnmgG4Dt4WA48jB8s6QdddFbPk8L + JKfUK4AK3TAuj8S+4Au0Wx3Bdj/AL702EB5dcDM0K/BlWqB3ykVScp0CKK8awukOLqgzk6dXFgyHqw7D + meWdZJR2BBe00f3DRUJSrQIo034NtNsPfIHDrdu9LNq8zG54+LnqYXzJw+ivv+09Uy4+TriIT9QrAP+H + KSrr41FJN/mPP5Bb0EFObjtZ2W+4faeV9AwjaepGUlINJF2rIyGxhqvxuoD8gD/FexT5V1saowAAAABJ + RU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAfUlE - QVQ4T+2UQQqAMAwEC/3/myMNTYjjomA8ehjozi5SQRxm9ilSdpCyg5QdpOwgZYcx56zYhp7Ejrx+4IJb - z3WQcsOOcOeZgyz2+Y7YVU6vfCkf4M5zDXHOEo5w47mGOGcJR7jxXIsoaw5HuAkun00bKYG6yUJt/79N - GxsH7EeiiVdcqusAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAdElE + QVQ4T7WTQQrAIAwEBf//5hRKI3ZWRbr1MAc345qLJSLKn0jgIoGLBC4SuEjgUmqtPfHAnKRHPheO3Ps8 + k3ZK6UlhDinO6B9vd1YCCwi914YsoDyCzrnCHOSwP89K6TSXoo0EA7jFavMDX4+BiwQuErhc7EeiiR4r + 8zwAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE - QVQ4T82OUQ7AIAhDuf+l2UA7O4OIH0v2Gj+EtipqSBeD2UbvkIEVMAtmgdav+t3C1YLQWC1Ijb8oSJgK - uIRmCW3L5rlgQ3M8IVMtCChI6shdlB33hDqAY0NE9DKO70MdwLGhgI9+oHoBzyqxa4rWeaEAAAAASUVO - RK5CYII= + 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 - gg== + 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 + qTrgv/oBFQAPI+QT9ewAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAChElE - QVQ4T52Q3U/SYRiG+Qs6aKutddDcWs220jKwuepArebUFtPFbKCJmYQfkxmakbRyIZFTHJrprCimZWGa - X0hqMHEwTFMLxLIpg+w7NXWkC7zj/f02W5MO7OA+et/rep7nZgBYV/qkgpimrGSQ9BSmhwb89K8037kQ - ScCp8lyM5NOSgB8DhcDdLUXQdg1g9FoeBSuZTPrRYVbBZqrAsKEM1mcKmNplsOgVsPYoMGS4gbEXFdBr - 8zDjLMWb/izIZEWQH2D6UTBWBSs+O3ze5/Au6/HL04blBS1+ztbD7VBB15BOwQ4DH621Mdi8cQNuyk+j - uuQcnxKQ6T6vJSDcoeasgYcMYlRc4SI5NsJFCUaN5fAuGbC8+ARLcw/g+aaGy65EW138GthuysFrswSF - mWwioDsY7C71T+2EZ+Y+Fr/UYv6DCrdua2DRyeF6eX4VHjMJMT0igrlTgAxOFJKOhdMCi+66H36EhY9V - +OEuw6yzhBKsrPjQqGJTsM0ogGswG+/MZ9Fx7wTiD4ciITKMFvS1yrD4+S4e1xegXM6HKCMOOSIx2Ikc - f80MDHalYdIiwLgxFa/0p6CtOoIoVjBiD4bQgl7tVcxP12BmshjfJ6T4Ol6ITzYx3g/nYsoqxNu+NNi6 - uaR1yAq4yE6JQeJRFiWhBF0PL2POXfkX7BzIxER/Ouy9PAx3nIS16TgFkzOiw4NRnBOGiJDttKBNc8l/ - txL97WkwNqegpzEJOk0CntbFUes2lB2CuoRFTSZwpYSFGulu7N25jRa0qC9CnLoPIl4YhJz9OMNmghfL - olomRZFbybpkbalgD6olu6DK34HgoC20YD0SsjaZTOCgrZv+CP4vYPwGutu4vmPLy7gAAAAASUVORK5C - YII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAChUlE + QVQ4T5WT3UvTURyH9xd0ERREFyFEsaC0bDOkulArRI2G0jCm5my5fBkOm2bmoqS5THxhmilWK9GyZppz + zqW2scnGTFNrU8vQMbP3NlNZjrZ94vx+YMQq8uJzdc7zfF84hwGAsZYYpcLY9pxUkPQXCcKCLvwrHbfO + RRFwtioPYwW0JOjS30Lgvs4SqHqHMH4ln4KrWSz6cNKsgM1Ug1F9JaxPymHqlsGiK4e1vxwj+muYeFYD + nSofLkcFXg3mQCYrgXwfC4RdFQT8dvh9T+Hz6vDDo4Z3SYXv7hbMTSqgbRVQ8KSej67GWGxcvw7X5SdR + X3aGTwlIdb/P8kdYo+QGwSN6CWou8ZAaF+mkBOOGKvhW9PAuP8LKwj14vijhtFdD3ZQQBNtNIrw0F6Mo + m0ME9A6G+yrgXeqBx3UXy58asfhOgRs3m2HRyuF8fnYVnjBlYX5MDHOPEJncaCQfiaAFFu1VeFwPsPS+ + Dt/mKuF2lFGCQMCPNgWHgm0GIZzDuXhjPg3NnWNIOBiGxKhwWmDskmH54208bClElZwPcWY8RGIJOElc + MBgMDPdmYMYixJQhHS90J6CqO4RoNhNx+0NpwYDqMhbnG+CaKcXXaSk+TxXhg02Ct6N5mLVm4bUxA7Y+ + Htk6ZIU85KbFIukwm5JQgt77F7EwV/sb7BjKxvSgAPaBFIxqjsPafpSCyRgxEUyUisIRGbqVFqibL8Dt + qMZgdwYMHWnob0uGtjkRj5viqXZbKw9AWcamKhO4tpiNBulO7N6+hRZ0Ks9Dkr4H4pRwZHH34hSHhZQ4 + NrVlsigyK2mXtC0V7kJ98Q4oCraBGbLp11v/Xwlpm1QmcMjmDcGfZq35CbrbuL7aUBONAAAAAElFTkSu + QmCC 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 - agnC/hIAAAAASUVORK5CYII= + QVQ4T52TX0jTcRTFbxYWzDa2/dYv14/2c7O10G3IKNAVXygDKYLMCgKjwAiZmGlYoYMxKNaqNZXlmA8h + CaNG0kMpAxmDLCSwKKiwcHNtQZQPI0b/TDmxElmjh+nn8V44l3M4l6gQvAYz3dgqyx8XTHV4I3RBIZo/ + L5i6cQ6tcQmkfYIjf1cQxocizs9KsTvCgZyl7N9twCKjgIWRv4qRz8Sor4KR18DIo2d0VcfIJTLjAw2O + xkScmlZAc4tPk12Zk0fAwhpe8Gh6J8eRlyrUTZTCGhGQvaoJlUMxaIB434DD01rUT5Wh9rEaJW4uJw9/ + FWtLrYcrU4yLnyRoTshx7M0G7JvchJpHZagI61E59lfgwJQetc+00IVEFHXLFvPwmVh7qgQ9c2vg/r4O + zowEXWkZOmaVaPnIo+mDGo2JzUsCe19vw46oAQ1jHKit2ExZz+1JybIE+jNWNEYVoNbV5mxJWCh5E28X + gni+0Ivx+W6Ef53G8NxB3P5phf/HFji/qJYELn/eD19qJ1SOtYsWPHrmmRzAyPth3Ev0Y2jGgYGZZvTG + 63ElVg1HTIvOlPKPwNnkHkS+dsDUw+eEeK1cRm4tI5eG0SWBkVPNyMEzsnOMuuSMLkiZMaTC8XglXs0P + 4lBwe5paipZXa+MdDk+/3cX1iTMg26q8IhVA58g5PEmNQrDzK6vyiaGT2OWtWfkzkY3MZKP/+v4NDkAX + agkV7KYAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABJklE - QVQ4T6WSvZHCMBCFtwVaoBZKEAEB6RGQXOAZRgGJAw+hAyfbAi3QwrVAC9eC71vJDFpLcwnBs/Xe/kj7 - I/M8fwRPJDzAptRKYNNKc0QCn+FWaoXty+yV7khKoCBuS32x/Yp8c1zpjki45QR6X+mXnHz6v4QkSHzm - JP0+87DJwR3Qqj+OJEHCTmQ05+fCedXB+GXtm+xNUU5LKSN/uz3+tPwMTdFAEE1LDQVaNfWFpmjgZho3 - WXBzrC80RQMJeEFqHIhWiqEeryMS9oujbSTCBFfOSrLI38o5ukmsgzmcNTsO6elwxjhwmLb8sanbhTIB - N5+pW3G8Irxnzhix6d1ux+YmUiYg2JaoA8eqcdnWk+TwcLoj0pFkbC9M2kjbi3731mf5A6lCUicKFTV6 - AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABDklE + QVQ4T6WSvY3DMAxG3wpeIbNkBLtwkfZSuLnCgKAijQtDpYs0WsEreIVbwSt4BR14VGH9IBcghQqRH59E + 8iOEwCcnvdBu0Da56JT3RSwTBJhdLoq5L8kX8RLgA9hLIaQ94PtfgFOAX7O4UfjzdQsqtrtCpi4WN1o8 + CriYTwXQXmER8R7vDnq5m1xbBWjRPbayOH3d/uSalwCF2CMOVF4vhvoGQAb3lOLqWt8BHHFw8gtpRU7x + k7yoi0JxpKytA7+BP8Bu2s4t2UReHGDwKlRHwtDALLALzB584oUzwMFgZGDwSHYOvWxlldfhkWzkDDBq + onGHWzE4zU0r9FsVoKLRwFI3zJ8jxRfT9Rz/BalCUid5a6EwAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE - QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn - QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH - f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD - VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp - hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe - hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc - DAdFhtjSAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE + QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe + FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g + j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu + MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx + WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ + BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM + B4HjT5oAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB+ElE - QVQ4T2P4//8/RRirIAxP3vItZvLmrzvm7f76aPnBr0dWHvw6ZdWhr1LIalA0IOO+DV93APGf7nVfnzeu - +PK4fsmXO3N3fn0MNOATsiFwDd2rXv1fduKrAZi97uuy/o3ffqdOevfGpeDEb+vU7X/ME7Z8d6+4+3Hm - 9q9vgAbcRDEAKMDZuOTl/3kHvl6tX/G1YcKmb3/iep7/cy04/t8uY/cv09g1x13ytz60jF/+J6zj3c+l - B77eRzEAhItnPv+fNevz/8I5X/5H9nx8YZW85a9F4oYfprEr80HyAbXbVQwjFr9wLb/9vmHplz0YBiT1 - Pfvv3fTmf3Tv5/9lc9781/CetNokZoUjTF7BoY7ZLuvQb9eyO68bVn45BBOHGxDU/PS/WfH9/55Nr8Au - Sex59L9u8VtLmDzQAFa7zEN/veqefWte+WULTBxugFPF4/8ORdf+W2Ue/28Sv+2/YdTa/xo+U4FSEHmz - uPVKtpkH/wW0vP5bMP1xKUwcbgA6BgUsMl/da5K7a9ntP2mT3//r3fCVDSYOV0AIW6TsuxjS8eFfWN35 - XGRxFEXYcFzfeyWH/Asx/i0f/vlVXvmmFTCbEVkeRTE27FH92Nm/5dMvj5KLP42jVnmhy6NwsOGo3s+R - ziXXGk1j1olik8cQIBVjFSQe/2cAAG4MzKZBtgOMAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB60lE + QVQ4T2P4//8/AyUYQwAZT97yLWby5q875u3++mj5wa9HVh78OmXVoa9SRBnQt+Hrjr4NX/90r/v6vHHF + l8f1S77cmbvz6+NVh75+QjYErqF71av/y058NQCz131d1r/x2+/USe/euBSc+G2duv2PecKW7+4Vdz/O + 3P71zapDX2+iGLDq0FfOxiUv/8878PVq/YqvDRM2ffsT1/P8n2vB8f92Gbt/mcauOe6Sv/WhZfzyP2Ed + 734uPfD1PoYLimc+/5816/P/wjlf/kf2fHxhlbzlr0Xihh+msSvzQfIBtdtVDCMWv3Atv/2+YemXPRgG + JPU9++/d9OZ/dO/n/2Vz3vzX8J602iRmhSNMXsGhjtku69Bv17I7rxtWfjmEYUBQ89P/ZsX3/3s2vQK7 + JLHn0f+6xW8tkQxgtcs89Ner7tm35pVftmAY4FTx+L9D0bX/VpnH/5vEb/tvGLX2v4bP1P8webO49Uq2 + mQf/BbS8/lsw/XEphgHoGBSwyHx1r0nurmW3/6RNfv+vd8NXNoIGoGOLlH0XQzo+/AurO5+LLI6hEB3H + 9b1Xcsi/EOPf8uGfX+WVb1oBsxlJMsCj+rGzf8unXx4lF38aR63yQpfH0ICOo3o/RzqXXGs0jVknii5H + lAGEMIYAqRgAbgzMptd1HX8AAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB5ElE - QVQ4T2P4//8/RRjOWHXoq9TKg1+nLD/49ci83V8f9az/klK58AsnsmJsGEyANAPxp7k7vz6uX/LlTuOK - L49bV325U7Hoy+fKRV9S0TUhYzAB1Hxz5vavb9wrH7w3T9jy3Spl2x+H3ONfUyZ/flE458uLwrlfwkDq - lp34auBQdA3IRDNg6YGv98M63v00i57/2yVv/U3T2DXHgPiLWfzm38mTP/9Nn/n5WfbcL5HzDny9ap15 - /D/QQrjXwETD0i97XMvvvFf36rkVULtdBSRmGrsy3zh6+VedgNm/Qjs/Pge65H/WrM//TeK3AqXRXNCw - 8ssh1/J7r9Q8+w4rONQxwyRNYlY4anhPWl02583/6N7P/72b3vzXC10MlEIzoHnlly3e9S++anhPvgk0 - gBUmOWXrV10gBtvs2fTqv1nx/f8aPlOBUmgGFEx/XBrY+uavUeSaX0ADuGGSoACzAvrZJH7bf72QJWDN - qm5dQCk0A3o3fGVLm/z+n2vZ7T/qXpPckRUgBxg2DGeE1Z3PDen48M8iZd9FZAWEMJyhFTCb0b/62kv/ - lg9/HfIvxMT1vVdCVogLo3CAhvD5VN48FdD6+atH9WNnZDlcGKugd8Or0Kjez5HY5NAxVkFSMFZB4vF/ - BgCu1sRwcCvT7QAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB40lE + QVQ4T2P4//8/AyUYzlh16KvUyoNfpyw/+PXIvN1fH/Ws/5JSufALJ7oGdAzXvOrQ109zd359XL/ky53G + FV8et676cqdi0ZfPlYu+pKJrwmbAzZnbv75xr3zw3jxhy3erlG1/HHKPf02Z/PlF4ZwvLwrnfgkDqVt2 + 4quBQ9G1/xgGLD3w9X5Yx7ufZtHzf7vkrb9pGrvmmGnsmi9m8Zt/J0/+/Dd95udn2XO/RM478PWqdebx + /6sOfYV7DUw0LP2yx7X8znt1r55bAbXbVUBiprEr842jl3/VCZj9K7Tz4/PCOV/+Z836/N8kfiumCxpW + fjnkWn7vlZpn32EFhzpmmKRJzApHDe9Jq8vmvPkf3fv5v3fTm/96oYsxDWhe+WWLd/2Lrxrek28qONSx + wiSnbP2qO2XrV7DNnk2v/psV3/+v4TMV04CC6Y9LA1vf/DWKXPNLwaGOGyYJCjCrzOP/TeK3/dcLWQLW + rOrWhWlA74avbGmT3/9zLbv9R91rkjuyAuQAw4bhjLC687khHR/+WaTsu4iuCB+GM7QCZjP6V1976d/y + 4a9D/oWYuL73SuiKsWEUjlbAbD6fypunAlo/f/WofuyMrhgbxhAAYe+GV6FRvZ8j0cWxYQwBUjGGAKkY + AK7WxHD7c7sYAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiklE - QVQ4T6WQ0Q2AIAxE2cCRGMVRHMFRHMFRGIERsAUuJFxNqF7yPny5ltRQSvmFKT2Y0oMpPbAQ9cIlbNQn - EULsA8rRyf37oj6JFixATuHTgrtTh4WlEzRYgBOSoGfs1CfRggUI/kumPokWLNBBBWck6pMYwzN6QqQ+ - ifHqTA31Z+HFlB5MuU4JD0dnUwrgCrV/AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgUlE + QVQ4T6WQWw2AMBAE1wGSKgUpSEAKEpBSCZVQ0rSXPoafg0uGj8newqGcs/4A4QXCC4QXCqk83rgkbchD + SGFYOhrJSpCHqGMFNufXgrvhOmEssBNiO2NHHmIusLH/kpCHmAvKYsHOiMhD9OWVckJAHqK/daV+2ppf + hRcILxBeHkdnUwqevR+DAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiElE - QVQ4T6WR0QmAMAxEu4EjOIIjOIKjOJIjdARHcKSYSyiCvA+DBw+8x7UUbGb2C5QVUFZAWYFlZnNUBh23 - KDOz0504rI5blE9OR0Kv4S3KJypiikJblJnFUbmieXCLMrM7Kkc0D25RZnRQRRdFcIsyn62Pgf4Ib1G2 - tr6I4JZkBZQVUH7H2g1WeXFvwrwKSQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgElE + QVQ4T6WRUQ2AMAxE6wAJSEACEpCCJCQgAQlIGjm2EtIjjBtL3kcv15cSLKVkf6BAhQIVClQoOMP8JjPD + 4KyxVxP0WPJlzLFXE+BtRYBrqPdF4Od3LYKhLO+X7akbg5tgLoKlVYBFDBDJApzt3w/wR6j3JhgD2gUK + FKhQoHIAVnlxb1bdEucAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE - QVQ4T92RUQ2AMAxE6wApSJgUJCABSUhAChKQUHrbGjgYH4U/Lnlhd+G6ZRNV/UQzjNAMIzTDCGxEkoGF - szSyRB0yIp0x1h9Xo79kEzx1yBT5jtjd5Rm+3CFT9IMBuLTNQOCXONcMa+6QOTQYPgRgjSyLOmTuwpHz - sc+iDpki7IT3foI7ZIreD4ijsgOjTd7+jqoH+QAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAf0lE + QVQ4T2P4//8/AyUYQ4BUjCFAKsYQIBWjchgY7BkYGEAMGN6PRcwenwH8DAwM+VCF9xkYGPTRxOpBfHwG + ILsCZDu6GIjG64VhYgAo0N5DNcACcT1UDMQmaAAIxCMZAsIgNkgMDIgxAAZATgY7GxkQMgBkEyi+cWEa + GkAOBgCjTd7+r93eSgAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE - QVQ4T82M2w7AIAxC/f+fdrVqAwvNLt3DRljCqdB6759awoolrFjCihnckH3j53aCfTODC8UIZuybKTzV - 5eB44I+iotlQsNWNDQqinLFIqxsbFJIysvMd+75BwLQH0POS3LBvprBFhcVSYd/MwIRj2/OSCPtmDmJA - MRL0fYPC7we/sIQVS1ixhO/d2wE0YN1NDoBJDwAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE + QVQ4T92PQQrAMAgE/f+nLfUQdFdiYT0VmZJMyJCau9smJFRIqJBQqeLDmMUnCKMETyTvlSDOGCy/ki6h + O7F3tREsezWI59dgDmQwXs6mIF4sr+lmCuILxugt2AU696PgBiRUSKiQUHkANGDdTeFIubEAAAAASUVO + RK5CYII= iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAm0lE - QVQ4T62NUQ7DIAxDe/9LMyclyGauygZ6eh8xtXu11o5qwx1tuKMeOENcA5cJ1M8NOU4PBm6Q7y+4DzUA - MTB7vzzAfahBZ3ks4D7UAPBYeb88wH2oAZgH3F1mUt2uHvxhhzP3xv3ckIPKhcuKzKmfGxL8wPgJ96EG - i4yxgPtQgwVkLOA+1OCFGJuVPpTjhDbc0YY72vB/2/UB43bUVn8JuhoAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAcklE + QVQ4T72QUQrAMAhDvf+lHX50qJFqSSnhDczom52oqtwEChYoWOIgYg+b/lRdyFPhEvgDeYZMhBmQnAgt + Y5mlE+btWulE6A9Uc/jQTlht5LvqHSXMaYUnGV15mrAxK4TrM8L1Pz174QWgYIGCBQqWD+N21FbTYK/z + AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAfUlE - QVQ4T+2UQQqAMAwEC/3/myMNTYjjomA8ehjozi5SQRxm9ilSdpCyg5QdpOwgZYcx56zYhp7Ejrx+4IJb - z3WQcsOOcOeZgyz2+Y7YVU6vfCkf4M5zDXHOEo5w47mGOGcJR7jxXIsoaw5HuAkun00bKYG6yUJt/79N - GxsH7EeiiVdcqusAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAdElE + QVQ4T7WTQQrAIAwEBf//5hRKI3ZWRbr1MAc345qLJSLKn0jgIoGLBC4SuEjgUmqtPfHAnKRHPheO3Ps8 + k3ZK6UlhDinO6B9vd1YCCwi914YsoDyCzrnCHOSwP89K6TSXoo0EA7jFavMDX4+BiwQuErhc7EeiiR4r + 8zwAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACC0lE - QVQ4T2P4//8/RRirICkYznAqu8PpWn1X0bX9VZZz79ta6+lft5jP+nXRbOrXfSad77uNK55mGebfsNKK - OyuGYYBP7QMu14bnRXbtbzd5J1246Bd+YI1P+OF8r8ij6S7RpydbFN45qdnz6bli9bM7ysHHKtWs9vCg - GOBSddfetuX1o6CAfbdjQrf4wySRsXnW5YmqqdevSDvtu6dlvjwSJg4mbJpe7DTNv//dz3ldB0wCG1ZN - ubBNxm3vZx3zhWthYmDCtPrpct2Yq9+cLVdnwySwYeX08+vlvHZ/NbScvwQmBiYsim/5a/iduaFmuO0y - TAIbViq5+kbFYeNrK5s5MTAxMGEWd1lZ1f3EAXnrA1/V7bd4wCSRsW722UTl8it/TKwXXbOyXqAJE4cr - 0PQ7YiEecem1tMfBXTAxZKyTf+myWsi+z9a2C9yQxVEUySZfmS2ZcPapht1me2Rxo8xTTprFlz5o+25b - jywOwmBCvP/zR7Xkc84qIQdVpV12vteyXLkRWZFBzukjOtmnv+v7bzPW9FyfJOez+idMDmJA/fP34tmX - v8harn+iYzbvjYH1vHswBSBskHPqhV743s/aLqvfqzst/anqNP8bTA5MyAcdOaFovPq2rvn8T5rWc35o - OC38C1MAwoZJB34be2/4YeS94oeO66L3Og7zHsLk4IrIxVgFicf/GQDTEJf4sarC9QAAAABJRU5ErkJg - gg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMElE - QVQ4T6WS30uTURjHdx/+AeE/MBR2M3aZV90IXSx0Gl0YkRdFQoFdOMYu6iJsIghpKXNmmzPz53I618YY - U5zODMyKsjZ1plPX+5Y5WsrmPvm+rz9KEiEf+HIe+J7z4TnnfFWOwUmcQ1N0Dr+S1w53BMfgBE9dYZ70 - j2HrDWHtDtLSFeBxp5+mjpc0Orw8tI/IkgGZXIbU1o6slY0sc2tZuoNx7jZ7/vKO+rria6icQxHZGJ3+ - LGs4HJNNSdV1rgMvOBXFPxnDE57nxdgCfaFFBSBNUNPgOVB1nZtb913cuNdHpfk5V4xOLt+xU3a7jYs3 - W7lwvYXiykecv9qoANoHxjmpcjnI7uTY2s6SSmf4vrnN+rdfCqC1J7S37bBEUaS+vp6KigoMBgOODidf - xU2EjS2+rP/k09IPfONzCqD5WYB4PI7FYiGVSsmAaDRKMplEEATyz+ZTXn6JWHyVlaRy2Gw20+9/owCk - bzEajej1ejQaDQUFBaTTaXw+H7W1D8g7k0dpqYEP0QQmk4mqqiq0Wi2FhYUKQPrL5eVl+WAsFpMnsNls - lJSUsJYUFYChjI8LAu/nN4i8W0OtVu9mZuYQcLSsVitFRUXUGE3odDrO7fYNTW28nhMZn00SmF7FPrh3 - hX1AIpGQJQgii4tL9PQO4HJ78QfDuL2jjAQiTMzE6fK+xeGexeb6Y4JT5UACHBdlKYknRlkCSMa/oixN - sO8dG2UJIDX/K9Xu+51CqH4DsLwA5JN+awcAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAtklE - QVQ4T2P4//8/RRjOqKrv+F/T0AnGlUCcU9b5X8/QFCiFXw5uQE1DB0jg/6/ff/9//v4HjE0t7EFCeOWQ - DOgEKvj3P6Dp63/D1LP/7775/V9TxwisCJ8c3ACQ00AmWxY9+q+fdOL/ietP/0vLKYMV4ZODGwDyF0gR - yHSQgm1HL/8XEpEAK8InBzfA3NLuv7WDx399I8v/8soa/0XEpYGyICn8cnADyMVwxmg0DotoJA//ZwAA - qy/GB3Ky9SEAAAAASUVORK5CYII= - - - - - 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 + hRcILxBeHkdnUwqevR+DAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiElE - QVQ4T6WR0QmAMAxEu4EjOIIjOIKjOJIjdARHcKSYSyiCvA+DBw+8x7UUbGb2C5QVUFZAWYFlZnNUBh23 - KDOz0504rI5blE9OR0Kv4S3KJypiikJblJnFUbmieXCLMrM7Kkc0D25RZnRQRRdFcIsyn62Pgf4Ib1G2 - tr6I4JZkBZQVUH7H2g1WeXFvwrwKSQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgElE + QVQ4T6WRUQ2AMAxE6wAJSEACEpCCJCQgAQlIGjm2EtIjjBtL3kcv15cSLKVkf6BAhQIVClQoOMP8JjPD + 4KyxVxP0WPJlzLFXE+BtRYBrqPdF4Od3LYKhLO+X7akbg5tgLoKlVYBFDBDJApzt3w/wR6j3JhgD2gUK + FKhQoHIAVnlxb1bdEucAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE - QVQ4T92RUQ2AMAxE6wApSJgUJCABSUhAChKQUHrbGjgYH4U/Lnlhd+G6ZRNV/UQzjNAMIzTDCGxEkoGF - szSyRB0yIp0x1h9Xo79kEzx1yBT5jtjd5Rm+3CFT9IMBuLTNQOCXONcMa+6QOTQYPgRgjSyLOmTuwpHz - sc+iDpki7IT3foI7ZIreD4ijsgOjTd7+jqoH+QAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAf0lE + QVQ4T2P4//8/AyUYQ4BUjCFAKsYQIBWjchgY7BkYGEAMGN6PRcwenwH8DAwM+VCF9xkYGPTRxOpBfHwG + ILsCZDu6GIjG64VhYgAo0N5DNcACcT1UDMQmaAAIxCMZAsIgNkgMDIgxAAZATgY7GxkQMgBkEyi+cWEa + GkAOBgCjTd7+r93eSgAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE - QVQ4T82M2w7AIAxC/f+fdrVqAwvNLt3DRljCqdB6759awoolrFjCihnckH3j53aCfTODC8UIZuybKTzV - 5eB44I+iotlQsNWNDQqinLFIqxsbFJIysvMd+75BwLQH0POS3LBvprBFhcVSYd/MwIRj2/OSCPtmDmJA - MRL0fYPC7we/sIQVS1ixhO/d2wE0YN1NDoBJDwAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE + QVQ4T92PQQrAMAgE/f+nLfUQdFdiYT0VmZJMyJCau9smJFRIqJBQqeLDmMUnCKMETyTvlSDOGCy/ki6h + O7F3tREsezWI59dgDmQwXs6mIF4sr+lmCuILxugt2AU696PgBiRUSKiQUHkANGDdTeFIubEAAAAASUVO + RK5CYII= iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAm0lE - QVQ4T62NUQ7DIAxDe/9LMyclyGauygZ6eh8xtXu11o5qwx1tuKMeOENcA5cJ1M8NOU4PBm6Q7y+4DzUA - MTB7vzzAfahBZ3ks4D7UAPBYeb88wH2oAZgH3F1mUt2uHvxhhzP3xv3ckIPKhcuKzKmfGxL8wPgJ96EG - i4yxgPtQgwVkLOA+1OCFGJuVPpTjhDbc0YY72vB/2/UB43bUVn8JuhoAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAcklE + QVQ4T72QUQrAMAhDvf+lHX50qJFqSSnhDczom52oqtwEChYoWOIgYg+b/lRdyFPhEvgDeYZMhBmQnAgt + Y5mlE+btWulE6A9Uc/jQTlht5LvqHSXMaYUnGV15mrAxK4TrM8L1Pz174QWgYIGCBQqWD+N21FbTYK/z + AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE - QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn - QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH - f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD - VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp - hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe - hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc - DAdFhtjSAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE + QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe + FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g + j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu + MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx + WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ + BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM + B4HjT5oAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACX0lE - QVQ4T6WSa0hTYRjHD/TBvhRdqE99Koi+RFFB9SGjUAsvLYzEjMxFTKVkk6XpSC1N0eVtadqMvAw1b5Uo - KUUiJI7uGs7oIpEauZa1s3nP4tc5RwZNBgW98OPA+77/3/O8D0cA/gufmz3tOXTdzqS1KhVtTMh2X3c8 - CC21RXoJPFQVHMdpr2PSfoORwXySNUEUZeu5ZjRgyk6SCVwsYEZsZs7VxIyzHku5nqnxGpJjVbbXvSlc - OBtKinoH9p6TjHesRxt9SMotEsjhOVcDZTkn6LPmI34qYWzQwAfrKdoqVMRG+VOXto4XRQLxx0K8BU01 - BQsC8RbGtGgy9JEYEiI4Hx+OXqNCpw4lLiqAYu0GRRAZ7O8tqK80Mis2MuswMzWai+NVAraa1QoD1avo - K1/GU5OfEpYJ2L3VW2Ax5zDtqGJ6OIupN2eYfHkEsX05hdUd5JpbuXi1kRSjBV1mBbGpJqIT87wFlaWZ - TIyYmBzUMPEsFPejbXy5u0YJe9bc/E+crhmGx5xExF0iLMYgby8IKgrTEd9m4X4ShLt7M67OtYxUC0pl - eVXe6VEwN3QxMGRXwg96bRwIV8vHglCal8q3/nO4ujYh3luJo9mPoZuC0vaP+V98d0uVPzsZeG/H2v+R - 4CgdQVJ4/8HD+O/Zi1B8OQnH4zgpvIKvLUsZrV2CrUxAK71ZbtvTwXWpgxJLJ23dNuUrs2vLRoQrGYnK - D+KZsgeNNLA/Kz+0vlPCzff7aOh47iUILEw/Lf1hKtThgYTt26kcyNOW3+yp5gtFIA/CF0elacsX/obP - 8L+D8Bsb4cocWY3wtQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACYklE + QVQ4T6WSXUiTURjHX+jCboo+qKuuCqKbKCqoLjIKt8KPFovEFi0XsU1KNlnaNlJzpujSzaVpW7Qv1OZH + JYqToiE0HH3P2Iw+JJpGrmXt3dycy+If74mFrwsiOvDjwHvO//c87zmHAkD9D2kfGNwDtXDd0qDPooKs + MGf74nWWoLddr+ht1yOFpfE4wsEOxILXMTHWgDIxF/oaBa5q1TDUlDJwFguQoHuQjHQjEe6EvU2B+LQN + ZRKe/+WIEhfO5kIp2oGg+ySmneshEx5CmoAJJyMOtNaegNfTAPpDM6bG1HjnOYV+Ew8SQSY6ytfhmZ5C + 0bEctqDb1vhLQN+EtlyISkUB1MX5OF/Eh0LMg1yUC6kgC02yDURQkJ3JFnSatZijuzAXMiI+WYfQi2L4 + basJPusqeNuW4bEhg4QZsnZvZQvsxlrMhiyYDVQj/uoMYs+PgB5YDp3ViTpjHy5e6YJSa4dcY4JEZYCw + pJ4tMLdoMDNhQGxMjJknuYg+2IZPd9aQcGok578jHEkgMBVGvrQKeYXq3xLKpKsA/boa0UdcRIc3IzK0 + FhNWilRmhvm2m2B0uOAbD5LwvRE/DvBFREK11KvwZfQcIq5NoAdXItSTgfEbFGn72/wPfI0mEPgYhu9t + EJ7R98gWyMHli7D/4GFk7tkLqulSKUIPpaAHV+Bz71JMti+Bv5WCTGMibac6uOZwodk+hP5hP5kZdm3Z + COpyZQl5IKlTTiFWGViV73vekHDPXS8czqcsAUdXcRoyIQ8iPgd5+3aSBea0mX9OVfsTRLDwShZyVFpF + NvyNtOC/8hMb4cocvUYexQAAAABJRU5ErkJggg== \ No newline at end of file diff --git a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs index 046af0aa..c3a3910c 100644 --- a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs +++ b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs @@ -166,6 +166,13 @@ namespace Volian.Controls.Library { if (this.TableCellEditor.Text.Contains("")) return false; + //C2025-023 - Electronic Procedures - Modifications to PROMS + //To handle if EP designation changed so will save in the DB + if (IsUserDataDirty) + { + IsUserDataDirty = false; + return true; + } XmlDocument XdOld = new XmlDocument(); oldXml = _ReplaceTextFont.Replace(oldXml, "$1" + FontChangeFmt + "$4"); // B2021-032: use original font XdOld.LoadXml(AdjustHeightAndWidthForDPI(oldXml)); @@ -328,7 +335,7 @@ namespace Volian.Controls.Library XmlNodeList nl = xd.SelectNodes("C1FlexGrid/Styles/Style/Definition"); string data = string.Empty; foreach (XmlNode xn in nl) - { + { string str = xn.InnerText; string[] splStr = str.Split(';'); foreach (string s in splStr) @@ -852,7 +859,10 @@ namespace Volian.Controls.Library if (Row >= cr.r1 && Row <= cr.r2) { int cellHeight = GetCellHeight(Row, c); - int dataHeight = (cr.UserData == null) ? cellHeight : (int)cr.UserData; + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Userdata will now contain: height, EP Designation + string tmpUD = $"{cr.UserData}"; + int dataHeight = (cr.UserData == null) ? cellHeight : int.Parse(tmpUD.Split(',')[0]); int ud = dataHeight / (Rows.DefaultSize - 3); //if (cellHeight < dataHeight) // Console.WriteLine("r {0}, c {1}, cell{2}, data{3}", Row, c, cellHeight, dataHeight); @@ -1243,11 +1253,24 @@ namespace Volian.Controls.Library if (_tableCellEditor._initializingEdit || !_tableCellEditor.Visible) return; int curHeight = GetCellHeight(Row, Col);//(Rows[Row].Height == -1) ? Rows.DefaultSize : Rows[Row].Height; CellRange cr = GetMergedRange(Row, Col); - int oH = cr.UserData == null ? curHeight : (int)cr.UserData; + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Userdata will now contain: height, EP Designation + string tmpUD = $"{cr.UserData}"; + int oH = cr.UserData == null ? curHeight : int.Parse(tmpUD.Split(',')[0]); int nH = _tableCellEditor.Height; //.ContentsRectangle.Height; int nW = _tableCellEditor.Width; // Width int Hadj = (nH - curHeight);//oH); - cr.UserData = _tableCellEditor.Height; //.ContentsRectangle.Height; + string tmp = $"{cr.UserData}"; + int comma = tmp.IndexOf(','); + if (comma != -1) + { + cr.UserData = $"{_tableCellEditor.Height},{tmp.Substring(comma + 1)}"; + } + else + { + cr.UserData = _tableCellEditor.Height; + } + //int cellHeight = GetCellHeight(Row, Col); //int cellheightNLines = cellHeight / (Rows.DefaultSize - 3); //int nHNLines = nH / (Rows.DefaultSize - 3); @@ -1371,7 +1394,18 @@ namespace Volian.Controls.Library { _rtf.Width = e.Bounds.Width - 1; // This has also been -3 which matchs the rener command CellRange cr = GetMergedRange(e.Row, e.Col); - cr.UserData = _rtf.Height; + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Userdata will now contain: height, EP Designation + string tmp = $"{cr.UserData}"; + int comma = tmp.IndexOf(','); + if (comma != -1) + { + cr.UserData = $"{_rtf.Height},{tmp.Substring(comma + 1)}"; + } + else + { + cr.UserData = _rtf.Height; + } int hAdjust = 0; int hDiff = e.Bounds.Height - _rtf.Height; if (hDiff < 0) @@ -2612,6 +2646,84 @@ namespace Volian.Controls.Library CellRange cr = this.Selection; cr.Clear(ClearFlags.Content); } + + public enum EPinputtype + { + none, + textbox, + checkbox, + multi + }; + private bool IsUserDataDirty = false; + + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Userdata will now contain: height, EP Designation + //For Electronic Procedures to set the Electronic Procedure input type + //for when cells in a table will need a textbox or checkbox in the EP viewer + public void SetEPinputtype(EPinputtype EPtype) + { + CellRange cr = this.Selection; + + for (int r = cr.r1; r <= cr.r2; r++) + for (int c = cr.c1; c <= cr.c2; c++) + { + CellRange cr_single = GetCellRange(r, c); + string tmpUD = $"{cr_single.UserData}"; + string height = cr_single.UserData == null ? $"{GetCellHeight(r, c)}" : tmpUD.Split(',')[0]; + + if (EPtype == EPinputtype.none) + cr_single.UserData = int.Parse(height); + else + cr_single.UserData = $"{height},{EPtype}"; + } + + //save the changes + Select(cr); + IsUserDataDirty = true; + } + + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Userdata will now contain: height, EP Designation + //For Electronic Procedures get the Electronic Procedure input type + //for when cells in a table will need a textbox or checkbox in the EP viewer + public EPinputtype GetEPinputtype() + { + EPinputtype result = EPinputtype.none; + + CellRange cr = this.Selection; + + for (int r = cr.r1; r <= cr.r2; r++) + for (int c = cr.c1; c <= cr.c2; c++) + { + CellRange cr_single = GetCellRange(r, c); + string tmpUD = $"{cr_single.UserData}"; + int comma = tmpUD.IndexOf(','); + if (comma != -1) + { + EPinputtype newresult = (EPinputtype) Enum.Parse(typeof(EPinputtype), tmpUD.Substring(comma + 1)); + //if first cell, overwrite none + if (result == EPinputtype.none && r == cr.r1 && c == cr.c1) + { + result = newresult; + } + else if (result != newresult) + { + result = EPinputtype.multi; + return result; + } + + } + else if (result != EPinputtype.none) + { + result = EPinputtype.multi; + return result; + } + } + + return result; + + } + public void SetupCellUserData() { for (int r = 0; r < Rows.Count; r++) @@ -2625,7 +2737,19 @@ namespace Volian.Controls.Library _rtf.Width = Cols[c].Width; _rtf.Rtf = rtfText; CellRange cr = GetCellRange(r, c); - cr.UserData = _rtf.ContentsRectangle.Height; + + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Userdata will now contain: height, EP Designation + string tmp = $"{cr.UserData}"; + int comma = tmp.IndexOf(','); + if (comma != -1) + { + cr.UserData = $"{_rtf.ContentsRectangle.Height},{tmp.Substring(comma + 1)}"; + } + else + { + cr.UserData = _rtf.ContentsRectangle.Height; + } } } } diff --git a/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj b/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj index 1510659d..61b2eb86 100644 --- a/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj +++ b/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj @@ -243,6 +243,12 @@ frmEnhanced.cs + + Form + + + frmEPAnnotationDetails.cs + Form @@ -474,6 +480,10 @@ frmEnhanced.cs + + frmEPAnnotationDetails.cs + Designer + frmImportWordContents.cs diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.Designer.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.Designer.cs new file mode 100644 index 00000000..6628fe2c --- /dev/null +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.Designer.cs @@ -0,0 +1,111 @@ +namespace Volian.Controls.Library +{ + partial class frmEPAnnotationDetails + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.btnOk = new System.Windows.Forms.Button(); + this.btnCancel = new System.Windows.Forms.Button(); + this.panel_btns = new System.Windows.Forms.Panel(); + this.panelEP = new System.Windows.Forms.TableLayoutPanel(); + this.panel_btns.SuspendLayout(); + this.SuspendLayout(); + // + // btnOk + // + this.btnOk.DialogResult = System.Windows.Forms.DialogResult.OK; + this.btnOk.Location = new System.Drawing.Point(9, 7); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(56, 19); + this.btnOk.TabIndex = 0; + this.btnOk.Text = "OK"; + this.btnOk.UseVisualStyleBackColor = true; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // btnCancel + // + this.btnCancel.Location = new System.Drawing.Point(82, 7); + this.btnCancel.Margin = new System.Windows.Forms.Padding(2); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(56, 19); + this.btnCancel.TabIndex = 1; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // panel_btns + // + this.panel_btns.Controls.Add(this.btnCancel); + this.panel_btns.Controls.Add(this.btnOk); + this.panel_btns.Dock = System.Windows.Forms.DockStyle.Bottom; + this.panel_btns.Location = new System.Drawing.Point(0, 512); + this.panel_btns.Name = "panel_btns"; + this.panel_btns.Size = new System.Drawing.Size(762, 30); + this.panel_btns.TabIndex = 2; + // + // panelEP + // + this.panelEP.AutoScroll = true; + this.panelEP.ColumnCount = 2; + this.panelEP.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.panelEP.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.panelEP.Dock = System.Windows.Forms.DockStyle.Fill; + this.panelEP.Location = new System.Drawing.Point(0, 0); + this.panelEP.Name = "panelEP"; + this.panelEP.RowCount = 1; + this.panelEP.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.panelEP.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 512F)); + this.panelEP.Size = new System.Drawing.Size(762, 512); + this.panelEP.TabIndex = 3; + // + // frmEPAnnotationDetails + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.AutoSize = true; + this.ClientSize = new System.Drawing.Size(762, 542); + this.Controls.Add(this.panelEP); + this.Controls.Add(this.panel_btns); + this.Margin = new System.Windows.Forms.Padding(2); + this.Name = "frmEPAnnotationDetails"; + this.Text = "Electronic Procedure Details"; + this.TopMost = true; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmEPAnnotationDetails_FormClosing); + this.panel_btns.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Button btnOk; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.Panel panel_btns; + private System.Windows.Forms.TableLayoutPanel panelEP; + } +} \ No newline at end of file diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs new file mode 100644 index 00000000..630bd961 --- /dev/null +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -0,0 +1,234 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; +using VEPROMS.CSLA.Library; +using Volian.Controls.Library; +using System.Linq; + +namespace Volian.Controls.Library +{ + //C2025-023 - Electronic Procedures - Modifications to PROMS + //Form for Dynamic Showing of EP detail controls and entry + public partial class frmEPAnnotationDetails : Form + { + private AnnotationInfo _CurrentAnnotation; + private EPFields myEPFields; + private AnnotationConfig MyConfig; + + private StepTabRibbon _MyStepTabRibbon; + private Dictionary _DicStepRtb; + private Dictionary _DicCheckBox; + private Dictionary _DicComboBox; + private Dictionary _DicSingleRO; + + public frmEPAnnotationDetails(AnnotationInfo currAnn) + { + InitializeComponent(); + _DicStepRtb = new Dictionary(); + _DicCheckBox = new Dictionary(); + _DicComboBox = new Dictionary(); + _DicSingleRO = new Dictionary(); + InitializeSpecificControls(currAnn); + _MyStepTabRibbon = new StepTabRibbon(); + } + + private void InitializeSpecificControls(AnnotationInfo currAnn) + { + _CurrentAnnotation = currAnn; + myEPFields = _CurrentAnnotation.MyItem.GetValidEPFields(_CurrentAnnotation.TypeID); + MyConfig = new AnnotationConfig(currAnn.Config); + + int MaxCharsInLabel = myEPFields.Max(x => x.label.Length); + //font size 8 - make labels slightly bigger than largest label + panelEP.ColumnStyles[0].SizeType = SizeType.Absolute; + panelEP.ColumnStyles[0].Width = (8 * MaxCharsInLabel) + 5; + + int RowCount = 0; + foreach (EPField EP in myEPFields) + { + RowCount += 1; + panelEP.RowCount = RowCount; + panelEP.Top = 20; + panelEP.RowStyles.Insert(0, new RowStyle(SizeType.AutoSize)); + + Label wlbl = new Label(); + wlbl.Text = EP.label; + wlbl.Visible = true; + wlbl.TextAlign = ContentAlignment.MiddleLeft; + wlbl.Anchor = AnchorStyles.Left | AnchorStyles.Top; + panelEP.Controls.Add(wlbl, 0, panelEP.RowCount - 1); + + if (EP.type.ToLower() == "text") + { + StepRTB tb = new StepRTB(); + tb.Font = tb.FormatFont = new Font("Arial", 8); + tb.FieldToEdit = E_FieldToEdit.PSI; //use same right click menu as PSI + tb.BorderStyle = BorderStyle.FixedSingle; + //aligning to both left and right stretches the textbox to the width of the form + tb.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; + tb.Enter += new System.EventHandler(this.FieldStepRTB_Enter); + + string val = MyConfig.GetValue("EP", EP.name).Replace("\\u8209?", "-"); + DisplayText dt = new DisplayText(val, new VE_Font("Arial", 10, E_Style.None, 12), false); + StringBuilder sb = new StringBuilder(); + sb.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Arial;}"); + sb.Append(@"{\f1\fnil\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;}"); //C2017-036 changed to just Arial because Microsoft removed Arial Unicode MS with Word16 + sb.Append(@"\viewkind4\uc1\pard\sl-240\slmult0\fs" + (int)(this.Font.SizeInPoints * 2) + " " + dt.StartText + @"}"); + tb.Rtf = sb.ToString(); + tb.Visible = true; + tb.Height = EP.numlines * tb.Font.Height + 1 + tb.Margin.Vertical; + tb.MinimumSize = new Size(0, EP.numlines * tb.Font.Height + 1 + tb.Margin.Vertical); + if (EP.numlines > 1) + { + tb.Multiline = true; + tb.ScrollBars = RichTextBoxScrollBars.Both; + } + + _DicStepRtb.Add(EP.name, tb); + panelEP.Controls.Add(tb, 1, panelEP.RowCount - 1); + } + if (EP.type.ToLower() == "logical") + { + CheckBox cb = new CheckBox(); + cb.Text = EP.text; + cb.Visible = true; + string val = MyConfig.GetValue("EP", EP.name); + cb.Checked = val != null && val != "" && val.ToUpper()[0] == 'Y'; + _DicCheckBox.Add(EP.name, cb); + cb.AutoSize = true; + panelEP.Controls.Add(cb, 1, panelEP.RowCount - 1); + } + if (EP.type.ToLower() == "combo") + { + ComboBox cmb = new ComboBox(); + cmb.Visible = true; + string tmp = EP.text; + string[] tmps = tmp.Split(",".ToCharArray()); + foreach (string t in tmps) cmb.Items.Add(t); + string val = MyConfig.GetValue("EP", EP.name); + if (val != null && val != "") cmb.SelectedItem = val; + _DicComboBox.Add(EP.name, cmb); + panelEP.Controls.Add(cmb, 1, panelEP.RowCount - 1); + } + if (EP.type.ToLower() == "rosingle") + { + ComboBox cmb = new ComboBox(); + cmb.Visible = true; + cmb.DisplayMember = "Value"; + cmb.ValueMember = "Key"; + Dictionary tmps = EP.getROList(currAnn); + //foreach (var t in tmps) + // cmb.Items.Add(t); + + tmps.Add(-1, ""); + cmb.DataSource = new BindingSource(tmps, null); + string val = MyConfig.GetValue("EP", EP.name); + if (val != null && val != "" && int.TryParse(val, out int n)) + cmb.SelectedValue = n; + else + cmb.SelectedValue = -1; + //cmb.SelectedItem = null; + + _DicSingleRO.Add(EP.name, cmb); + panelEP.Controls.Add(cmb, 1, panelEP.RowCount - 1); + } + } + } + + private void FieldStepRTB_Enter(object sender, EventArgs e) + { + _MyStepTabRibbon.MyStepRTB = (StepRTB)sender; + } + private void btnOk_Click(object sender, EventArgs e) + { + + // loop through all of the fields + bool isDirty = false; + foreach (EPField EP in myEPFields) + { + if (EP.type.ToLower() == "text") + { + StepRTB cur = _DicStepRtb[EP.name]; + string rtf = cur.Rtf; + string newval = DisplayText.StaticStripRtfCommands(rtf, false); // C2020-001: added 'false' + // compare to original and if different, save in proc config. + string oldval = MyConfig.GetValue("EP", EP.name); + if (oldval != newval) + { + isDirty = true; + MyConfig.SetValue("EP", EP.name, newval.Replace("\\u8209?","-")); + } + } + else if (EP.type.ToLower() == "logical") + { + CheckBox cur = _DicCheckBox[EP.name]; + string newval = cur.Checked ? "Y" : "N"; + string oldval = MyConfig.GetValue("EP", EP.name); + if (newval != oldval) + { + isDirty = true; + MyConfig.SetValue("EP", EP.name, newval); + } + } + else if (EP.type.ToLower() == "combo") + { + ComboBox cmbcur = _DicComboBox[EP.name]; + string newval = cmbcur.Text; + string oldval = MyConfig.GetValue("EP", EP.name); + if (newval != oldval) + { + isDirty = true; + MyConfig.SetValue("EP", EP.name, newval); + } + } + else if (EP.type.ToLower() == "rosingle") + { + ComboBox cmbcur = _DicSingleRO[EP.name]; + string newval = cmbcur.SelectedValue.ToString(); + string oldval = MyConfig.GetValue("EP", EP.name); + if (newval != oldval) + { + isDirty = true; + MyConfig.SetValue("EP", EP.name, newval); + } + } + } + if (isDirty) + { + using (Annotation annotation = _CurrentAnnotation.Get()) + { + if (annotation != null) + { + annotation.Config = MyConfig.ToString(); + annotation.DTS = DateTime.Now; + annotation.UserID = Volian.Base.Library.VlnSettings.UserID; + annotation.Save(); + } + } + + + } + DialogResult = DialogResult.OK; + Close(); + } + + private void btnCancel_Click(object sender, EventArgs e) + { + DialogResult = DialogResult.Cancel; + Close(); + } + + //remove events so no memory loss + private void frmEPAnnotationDetails_FormClosing(object sender, FormClosingEventArgs e) + { + foreach (StepRTB tb in _DicStepRtb.Values) + { + tb.Enter -= FieldStepRTB_Enter; + } + } + } +} \ No newline at end of file diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.resx b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.resx new file mode 100644 index 00000000..d58980a3 --- /dev/null +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file From 389b9e382b02856d4946525961f6dd5d50b85a24 Mon Sep 17 00:00:00 2001 From: mschill Date: Wed, 9 Apr 2025 15:22:36 -0400 Subject: [PATCH 02/22] C2025-023 - Electronic Procedures - Modifications to PROMS - checkin #2 --- .../Format/EPFormatFile.cs | 24 ++++- .../frmEPAnnotationDetails.cs | 99 +++++++++++++++---- 2 files changed, 99 insertions(+), 24 deletions(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs index df6b3a42..83d70871 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs @@ -316,10 +316,10 @@ namespace VEPROMS.CSLA.Library } //return a list of items based on the ROsource specified in the EPFormat File - public Dictionary getROList(AnnotationInfo currAnn) + public List getROList(AnnotationInfo currAnn, bool includeblank) { if (string.IsNullOrEmpty(rosource)) - return new Dictionary(); + return new List(); try { @@ -329,8 +329,11 @@ namespace VEPROMS.CSLA.Library string roid = FormatRoidKey(rosource, false); rochild[] children = lookup.GetRoChildrenByRoid(roid); - - return children.Select(x => new { x.ID, x.title }).ToDictionary(t => t.ID, t => t.title); + List mylist = children.Select(x => new ROListItem(x.title, x.ID)).ToList(); + if (includeblank) + mylist.Insert(0, new ROListItem("", -1)); + + return mylist; } catch (Exception Ex) { @@ -339,5 +342,18 @@ namespace VEPROMS.CSLA.Library } } #endregion + //C2025-023 - Electronic Procedures - Modifications to PROMS + // class to handle return of RO Lists + #region EPFormatFiles + public class ROListItem + { + public string Text { get; private set; } + public int Value { get; private set; } + public ROListItem(string _text, int _value) + { + Text = _text; Value = _value; + } + } + #endregion } diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 630bd961..0f260f1a 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -24,6 +24,9 @@ namespace Volian.Controls.Library private Dictionary _DicCheckBox; private Dictionary _DicComboBox; private Dictionary _DicSingleRO; + private Dictionary _DicMultiRO; + + private string multiseparator = ","; public frmEPAnnotationDetails(AnnotationInfo currAnn) { @@ -32,6 +35,7 @@ namespace Volian.Controls.Library _DicCheckBox = new Dictionary(); _DicComboBox = new Dictionary(); _DicSingleRO = new Dictionary(); + _DicMultiRO = new Dictionary(); InitializeSpecificControls(currAnn); _MyStepTabRibbon = new StepTabRibbon(); } @@ -108,9 +112,11 @@ namespace Volian.Controls.Library cmb.Visible = true; string tmp = EP.text; string[] tmps = tmp.Split(",".ToCharArray()); - foreach (string t in tmps) cmb.Items.Add(t); + foreach (string t in tmps) cmb.Items.Add(t.Trim()); string val = MyConfig.GetValue("EP", EP.name); if (val != null && val != "") cmb.SelectedItem = val; + cmb.DropDownWidth = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Length).First(), cmb.Font).Width + SystemInformation.VerticalScrollBarWidth; + cmb.Width = cmb.DropDownWidth; _DicComboBox.Add(EP.name, cmb); panelEP.Controls.Add(cmb, 1, panelEP.RowCount - 1); } @@ -118,28 +124,70 @@ namespace Volian.Controls.Library { ComboBox cmb = new ComboBox(); cmb.Visible = true; - cmb.DisplayMember = "Value"; - cmb.ValueMember = "Key"; - Dictionary tmps = EP.getROList(currAnn); - //foreach (var t in tmps) - // cmb.Items.Add(t); - tmps.Add(-1, ""); - cmb.DataSource = new BindingSource(tmps, null); - string val = MyConfig.GetValue("EP", EP.name); - if (val != null && val != "" && int.TryParse(val, out int n)) - cmb.SelectedValue = n; - else - cmb.SelectedValue = -1; - //cmb.SelectedItem = null; + List tmps = EP.getROList(currAnn, true); + cmb.DisplayMember = "Text"; + cmb.ValueMember = "Value"; + cmb.DataSource = tmps; + cmb.DropDownStyle = ComboBoxStyle.DropDownList; + cmb.DropDownWidth = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).First().Text, cmb.Font).Width + SystemInformation.VerticalScrollBarWidth; + cmb.Width = cmb.DropDownWidth; _DicSingleRO.Add(EP.name, cmb); panelEP.Controls.Add(cmb, 1, panelEP.RowCount - 1); } + if (EP.type.ToLower() == "romulti") + { + ListBox lb = new ListBox(); + lb.Visible = true; + + List tmps = EP.getROList(currAnn, false); + lb.DisplayMember = "Text"; + lb.ValueMember = "Value"; + + lb.Width = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).First().Text, lb.Font).Width + SystemInformation.VerticalScrollBarWidth; + lb.SelectionMode = SelectionMode.MultiSimple; + //lb.IsSynchronizedWithCurrentItem = false; + + lb.DataSource = tmps; + _DicMultiRO.Add(EP.name, lb); + panelEP.Controls.Add(lb, 1, panelEP.RowCount - 1); + + } } + + Load += new EventHandler(Form1Load_setDefaults); } - private void FieldStepRTB_Enter(object sender, EventArgs e) + void Form1Load_setDefaults(object sender, EventArgs e) + { + foreach (KeyValuePair pair in _DicSingleRO) + { + string val = MyConfig.GetValue("EP", pair.Key); + if (val != null && val != "" && int.TryParse(val, out int n)) + pair.Value.SelectedValue = n; + else + pair.Value.SelectedValue = -1; + } + + foreach (KeyValuePair pair in _DicMultiRO) + { + pair.Value.ClearSelected(); + string val = MyConfig.GetValue("EP", pair.Key); + if (val != null && val != "") + { + var selectedvalues = val.Split(multiseparator.ToCharArray()); + foreach (string item in selectedvalues) + if (int.TryParse(item, out int n)) + { + string text = ((List)pair.Value.DataSource).First(x => x.Value == n).Text; + pair.Value.SetSelected(pair.Value.FindString(text), true); + } + } + } + } + + private void FieldStepRTB_Enter(object sender, EventArgs e) { _MyStepTabRibbon.MyStepRTB = (StepRTB)sender; } @@ -154,8 +202,7 @@ namespace Volian.Controls.Library { StepRTB cur = _DicStepRtb[EP.name]; string rtf = cur.Rtf; - string newval = DisplayText.StaticStripRtfCommands(rtf, false); // C2020-001: added 'false' - // compare to original and if different, save in proc config. + string newval = DisplayText.StaticStripRtfCommands(rtf, false); string oldval = MyConfig.GetValue("EP", EP.name); if (oldval != newval) { @@ -190,12 +237,24 @@ namespace Volian.Controls.Library ComboBox cmbcur = _DicSingleRO[EP.name]; string newval = cmbcur.SelectedValue.ToString(); string oldval = MyConfig.GetValue("EP", EP.name); + if (newval == "-1") newval = ""; if (newval != oldval) { isDirty = true; MyConfig.SetValue("EP", EP.name, newval); } } + else if (EP.type.ToLower() == "romulti") + { + ListBox lbcur = _DicMultiRO[EP.name]; + string newvalues = String.Join(multiseparator, lbcur.SelectedItems.OfType().Select(item => item.Value)); + string oldvalues = MyConfig.GetValue("EP", EP.name); + if (newvalues != oldvalues) + { + isDirty = true; + MyConfig.SetValue("EP", EP.name, newvalues); + } + } } if (isDirty) { @@ -209,8 +268,6 @@ namespace Volian.Controls.Library annotation.Save(); } } - - } DialogResult = DialogResult.OK; Close(); @@ -229,6 +286,8 @@ namespace Volian.Controls.Library { tb.Enter -= FieldStepRTB_Enter; } - } + + Load -= Form1Load_setDefaults; + } } } \ No newline at end of file From d392131005a0436a8efff309ef74b08a9cc16157 Mon Sep 17 00:00:00 2001 From: mschill Date: Thu, 10 Apr 2025 08:53:27 -0400 Subject: [PATCH 03/22] C2025-023 - Electronic Procedures - Modifications to PROMS (checkin #3 - fix winforms select first item bug in listboxes) --- PROMS/Volian.Controls.Library/ListBoxMulti.cs | 44 +++++++++++++++++++ .../Volian.Controls.Library.csproj | 3 ++ .../frmEPAnnotationDetails.cs | 24 +++++----- 3 files changed, 61 insertions(+), 10 deletions(-) create mode 100644 PROMS/Volian.Controls.Library/ListBoxMulti.cs diff --git a/PROMS/Volian.Controls.Library/ListBoxMulti.cs b/PROMS/Volian.Controls.Library/ListBoxMulti.cs new file mode 100644 index 00000000..51582552 --- /dev/null +++ b/PROMS/Volian.Controls.Library/ListBoxMulti.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Volian.Controls.Library +{ + public partial class ListBoxMulti : ListBox + { + public ListBoxMulti() + { + Visible = true; + SelectionMode = SelectionMode.MultiSimple; + + SelectedIndexChanged += lb_SelectedIndexChanged; + + Disposed += ListBoxMulti_Disposed; + } + + public int singleselectedindex { get; set; } + + private void lb_SelectedIndexChanged(object sender, EventArgs e) + { + ListBoxMulti tmp = (ListBoxMulti)sender; + + if (tmp.SelectedItems.Count == 1 && tmp.singleselectedindex == 0) + { + tmp.ClearSelected(); + } + else if (tmp.SelectedItems.Count == 1) + tmp.singleselectedindex = tmp.SelectedIndex; + else + tmp.singleselectedindex = -1; + + } + + private void ListBoxMulti_Disposed(object sender, EventArgs e) + { + SelectedIndexChanged -= lb_SelectedIndexChanged; + } + } +} diff --git a/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj b/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj index 61b2eb86..87305e39 100644 --- a/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj +++ b/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj @@ -280,6 +280,9 @@ ImageItem.cs + + Component + Form diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 0f260f1a..44c3cada 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -24,7 +24,7 @@ namespace Volian.Controls.Library private Dictionary _DicCheckBox; private Dictionary _DicComboBox; private Dictionary _DicSingleRO; - private Dictionary _DicMultiRO; + private Dictionary _DicMultiRO; private string multiseparator = ","; @@ -35,7 +35,7 @@ namespace Volian.Controls.Library _DicCheckBox = new Dictionary(); _DicComboBox = new Dictionary(); _DicSingleRO = new Dictionary(); - _DicMultiRO = new Dictionary(); + _DicMultiRO = new Dictionary(); InitializeSpecificControls(currAnn); _MyStepTabRibbon = new StepTabRibbon(); } @@ -138,16 +138,12 @@ namespace Volian.Controls.Library } if (EP.type.ToLower() == "romulti") { - ListBox lb = new ListBox(); - lb.Visible = true; + ListBoxMulti lb = new ListBoxMulti(); List tmps = EP.getROList(currAnn, false); lb.DisplayMember = "Text"; lb.ValueMember = "Value"; - lb.Width = TextRenderer.MeasureText(tmps.OrderByDescending(x => x.Text.Length).First().Text, lb.Font).Width + SystemInformation.VerticalScrollBarWidth; - lb.SelectionMode = SelectionMode.MultiSimple; - //lb.IsSynchronizedWithCurrentItem = false; lb.DataSource = tmps; _DicMultiRO.Add(EP.name, lb); @@ -170,7 +166,7 @@ namespace Volian.Controls.Library pair.Value.SelectedValue = -1; } - foreach (KeyValuePair pair in _DicMultiRO) + foreach (KeyValuePair pair in _DicMultiRO) { pair.Value.ClearSelected(); string val = MyConfig.GetValue("EP", pair.Key); @@ -184,7 +180,10 @@ namespace Volian.Controls.Library pair.Value.SetSelected(pair.Value.FindString(text), true); } } - } + pair.Value.singleselectedindex = -1; + } + + } private void FieldStepRTB_Enter(object sender, EventArgs e) @@ -246,7 +245,7 @@ namespace Volian.Controls.Library } else if (EP.type.ToLower() == "romulti") { - ListBox lbcur = _DicMultiRO[EP.name]; + ListBoxMulti lbcur = _DicMultiRO[EP.name]; string newvalues = String.Join(multiseparator, lbcur.SelectedItems.OfType().Select(item => item.Value)); string oldvalues = MyConfig.GetValue("EP", EP.name); if (newvalues != oldvalues) @@ -287,6 +286,11 @@ namespace Volian.Controls.Library tb.Enter -= FieldStepRTB_Enter; } + foreach (ListBoxMulti lb in _DicMultiRO.Values) + { + lb.Dispose(); + } + Load -= Form1Load_setDefaults; } } From 9fdbdb05f45ef0e655dfa15bc8803e8c344a0c30 Mon Sep 17 00:00:00 2001 From: mschill Date: Thu, 10 Apr 2025 09:05:42 -0400 Subject: [PATCH 04/22] C2025-023 - Electronic Procedures - Modifications to PROMS (checkin 4 - added some comments) --- PROMS/Volian.Controls.Library/ListBoxMulti.cs | 10 +++++++++- .../Volian.Controls.Library/frmEPAnnotationDetails.cs | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/PROMS/Volian.Controls.Library/ListBoxMulti.cs b/PROMS/Volian.Controls.Library/ListBoxMulti.cs index 51582552..74acaa54 100644 --- a/PROMS/Volian.Controls.Library/ListBoxMulti.cs +++ b/PROMS/Volian.Controls.Library/ListBoxMulti.cs @@ -7,6 +7,8 @@ using System.Windows.Forms; namespace Volian.Controls.Library { + //Class to handle bug in Windows WinForms ListBox + // that autoselects first item when no items are selected public partial class ListBoxMulti : ListBox { public ListBoxMulti() @@ -19,8 +21,13 @@ namespace Volian.Controls.Library Disposed += ListBoxMulti_Disposed; } + //singleselectedindex + // will help to fix bug in Winforms ListBox + // that autoselects first item when no items are selected + // -1 = multi or set to this after 1st initialization + // if this = 0 and only 1 item selected, + // that means item was autoselected, so clear all items. public int singleselectedindex { get; set; } - private void lb_SelectedIndexChanged(object sender, EventArgs e) { ListBoxMulti tmp = (ListBoxMulti)sender; @@ -36,6 +43,7 @@ namespace Volian.Controls.Library } + //remove event when get rid of object private void ListBoxMulti_Disposed(object sender, EventArgs e) { SelectedIndexChanged -= lb_SelectedIndexChanged; diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 44c3cada..6b66749e 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -168,6 +168,7 @@ namespace Volian.Controls.Library foreach (KeyValuePair pair in _DicMultiRO) { + //clear all items at start in case items were autoselected - bug in Winforms ListBox pair.Value.ClearSelected(); string val = MyConfig.GetValue("EP", pair.Key); if (val != null && val != "") @@ -180,6 +181,10 @@ namespace Volian.Controls.Library pair.Value.SetSelected(pair.Value.FindString(text), true); } } + + //set this to -1 after initial setting of values + //this will help to fix bug in Winforms ListBox + //that autoselects first item when no items are selected pair.Value.singleselectedindex = -1; } From 8ef08c53b3339018b123fdfeda45309f73472df7 Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 11 Apr 2025 10:12:37 -0400 Subject: [PATCH 05/22] C2025-023 - Electronic Procedures - Modifications to PROMS 1. undo changes to store checkbox/textbox in cell grid 2. change to use roid as key for RO listbox items --- .../Format/EPFormatFile.cs | 8 +- .../Volian.Controls.Library/StepTabRibbon.cs | 74 +- .../StepTabRibbon.designer.cs | Bin 671144 -> 575428 bytes .../StepTabRibbon.resx | 1959 +++++++++-------- PROMS/Volian.Controls.Library/VlnFlexGrid.cs | 136 +- .../frmEPAnnotationDetails.cs | 9 +- 6 files changed, 999 insertions(+), 1187 deletions(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs index 83d70871..75595fe1 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs @@ -329,9 +329,9 @@ namespace VEPROMS.CSLA.Library string roid = FormatRoidKey(rosource, false); rochild[] children = lookup.GetRoChildrenByRoid(roid); - List mylist = children.Select(x => new ROListItem(x.title, x.ID)).ToList(); + List mylist = children.Select(x => new ROListItem(x.title, x.roid)).ToList(); if (includeblank) - mylist.Insert(0, new ROListItem("", -1)); + mylist.Insert(0, new ROListItem("", "")); return mylist; } @@ -348,8 +348,8 @@ namespace VEPROMS.CSLA.Library public class ROListItem { public string Text { get; private set; } - public int Value { get; private set; } - public ROListItem(string _text, int _value) + public string Value { get; private set; } + public ROListItem(string _text, string _value) { Text = _text; Value = _value; } diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.cs index 46743631..9834448d 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.cs +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.cs @@ -603,10 +603,6 @@ namespace Volian.Controls.Library } public void SetGridContextMenu() { - //C2025-023 - Electronic Procedures - Modifications to PROMS - //Only show EP menu if an EP Annotation Type Exists - btnEPDesignation.Visible = EPFormatFile.IsEPAnnotationType(); - if (rtabTableGridTools.Visible) _ContextMenuBar.SetContextMenuEx(MyFlexGrid, btnCMGrid); } @@ -774,43 +770,6 @@ namespace Volian.Controls.Library //C1.Win.C1FlexGrid.CellRange cr = MyFlexGrid.GetEvenSelection(); //rbnBorderSelectionPanel.InitializeBorder(MyFlexGrid.MyBorders, cr.r1, cr.c1, cr.r2, cr.c2); rbnBorderSelectionPanel.InitializeBorder(MyFlexGrid, MyFlexGrid.Selection); - - SetEPbuttonImages(); - - } - - //C2025-023 - Electronic Procedures - Modifications to PROMS - //Set which EP items are selected to show in the UI - void SetEPbuttonImages() - { - if (EPFormatFile.IsEPAnnotationType()) - { - VlnFlexGrid.EPinputtype myEPInput = MyFlexGrid.GetEPinputtype(); - Bitmap cb_Btmp = createTextBitmap('\u2713'); - switch (myEPInput) - { - case VlnFlexGrid.EPinputtype.none: - btnEP_None.Image = cb_Btmp; - btnEP_Text.Image = null; - btnEP_Check.Image = null; - break; - case VlnFlexGrid.EPinputtype.textbox: - btnEP_None.Image = null; - btnEP_Text.Image = cb_Btmp; - btnEP_Check.Image = null; - break; - case VlnFlexGrid.EPinputtype.checkbox: - btnEP_None.Image = null; - btnEP_Text.Image = null; - btnEP_Check.Image = cb_Btmp; - break; - case VlnFlexGrid.EPinputtype.multi: - btnEP_None.Image = null; - btnEP_Text.Image = null; - btnEP_Check.Image = null; - break; - } - } } void _MyEditItem_Leave(object sender, EventArgs e) { @@ -4589,35 +4548,6 @@ namespace Volian.Controls.Library //MyFlexGrid.ListStyles(); } } - - //C2025-023 - Electronic Procedures - Modifications to PROMS - //if button selected, set the Cell's UserData - //then save the Grid - - private void btnEP_None_Click(object sender, EventArgs e) - { - MyFlexGrid.SetEPinputtype(VlnFlexGrid.EPinputtype.none); - SetEPbuttonImages(); - GridItem tmp = MyEditItem as GridItem; - tmp.SaveContents(); - } - - private void btnEP_Text_Click(object sender, EventArgs e) - { - MyFlexGrid.SetEPinputtype(VlnFlexGrid.EPinputtype.textbox); - SetEPbuttonImages(); - GridItem tmp = MyEditItem as GridItem; - tmp.SaveContents(); - } - - private void btnEP_check_Click(object sender, EventArgs e) - { - MyFlexGrid.SetEPinputtype(VlnFlexGrid.EPinputtype.checkbox); - SetEPbuttonImages(); - GridItem tmp = MyEditItem as GridItem; - tmp.SaveContents(); - } - #endregion #region Table Grid Border private void btnTblDgnTableBorderNone_Click(object sender, EventArgs e) @@ -4878,8 +4808,8 @@ namespace Volian.Controls.Library if (MyEditItem != null) MyEditItem.SaveCurrentAndContents(); OnTimeCriticalActionSummaryRequest(new StepTabRibbonEventArgs(MyItemInfo.MyProcedure)); } - } - public class StepTabRibbonEventArgs : EventArgs + } + public class StepTabRibbonEventArgs : EventArgs { public StepTabRibbonEventArgs() { ; } public StepTabRibbonEventArgs(ItemInfo proc) diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.designer.cs index b71685206345aaa3ef97fa5cdcebd2df2e76a7a2..33fc65fe5b524d2adb6f050cb1c1792c6312116d 100644 GIT binary patch literal 575428 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�O{=9O~hO`3k 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 literal 671144 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 diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.resx b/PROMS/Volian.Controls.Library/StepTabRibbon.resx index 4a1e760c..cf608a76 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.resx +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.resx @@ -121,46 +121,45 @@ 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 - zX6th/05/Q8FMcZPXTFPhgAAAABJRU5ErkJggg== + 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 @@ -169,62 +168,61 @@ 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 - zX6th/05/Q8FMcZPXTFPhgAAAABJRU5ErkJggg== + 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 @@ -233,554 +231,554 @@ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABLElE - QVQ4T2P4//8/AzUxhgClGMHBAe8+/fq/Zdmr/5fvfcajikgDYYYtO/z7f3LXNfyGEjIQ2bAJG9//T5/y - 4n940+3/959/x6KaCANBhhmEr/xvnbTpf8Oy9/9di8/91wxa/l/efSYW1UQYCINOJVf/p/be+S9t145H - FQkG6qVd+q/kPvm/lHUjHlVYDMwqrPyfkV/5Pz2v4n9KTtn/pOzS/4kZJf/j0ov+x6QU/o9Myv8fnpD3 - PyQu539QTPb/gKjM/74RGf99wtP/e4am/scwkGJIcwMzCiDeTc0t/58M8m5myf/4jKL/salF/6OSC/6H - JRb9D43P+x8cC/Ju1n+/SIh3vULT/nsGp2DxMpUwhgClGEOAUowhQCnGEKAUYwhQijEEKMUYApRiAF8O - KkwDPuBiAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABL0lE + QVQ4T7WPuUoDURhG8xxaCHY2Yh+wECREVCRxHBOymMlMZrKYZYxLOhVBCAiCNr5AxFJfwd5C0catEsUm + hYiFxXFCCEq4TmJu5OMU93A58HuAviKUMnw/ftn90zs7tVeuHt5cfjnrJtiK1c4/SVZv3KOdgj9j+6d1 + zMMX1O1bHp8/xNFOwUZsTD3Bq52xWaszuXLBSOCYId9Rb8HWJsrXGHt3DI7vuvxy1m1wNHXJsO+AAe/W + 34KZUgWrUMHMb6Dn1tCyqySsMjHTJqKXCGkF1KU887EcgUiWuXCamUWLadXErxhOoi0ovX8PWsXmucby + OsnGuekyccsmatiEk0UWEjZKPE8w2jg3w2yoee6UksIf1J1EW7BfCKUMQimDUMoglDIIpQxCKYNQ9g6e + L18OKkyOPi51AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABLElE - QVQ4T6WQu0tCYRyGz1/S1hBtDbXm1onUyE5e8JKXk8dLXg52sa3LVItjUSAGRTTUWBDU4BRE0CIuYkuL - 2BY0PvEhEvQp9CEP7/LA7+XlpwHaKJGEaiShGkmoRhKqkYRqtHSxjJUvk8xtk8huEstsELVKhJM2wUQR - fyyPdzXHcjjLUjDDYiCF02ex4E2iGybaqEhCFc0q9Oab61vExfxUiYhlEzJtAvECK1EbI5LDExLz07j8 - vfnzxhq6J/G375fy6Tu+nTpu+0G8ayiS6HNw2aH2+I3DvFUrmI1dkzp6QxSc3H3hLN4zE7pifK4ysEgS - jVaXCfcZ+7UWuxcdfHtNpowqr42P/xUImu1PpgPn6HadSdcxT8+tgccCSfRptruMOQ6p3rwMPRb8AM61 - eNYtKznlAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABMElE + QVQ4T6WQvUsCARjG7y9pa4i2hlpzy0iN7PIUT/Pj8k5NvcM+bOtjqqWxKBCDIhpqLAhqcAoiaBGXw5YW + sS1o/NXhcgdndMmPBx6e4eF5XwEYSq6hF7mGXuQaepFr6EWuoRcJeb2GWq6RK22SLa6TLqyRUqskcgbx + rE40XSayXGIxUWQhXmA+phGQVOYiOfyi8tMyJDb7PwS10p+vrG6QseZrVZKqgawYxDIVllIGYrJEWLbm + 5wlG+/NnxRX84ay9y0nt5A1pq0nIuLfeNRCbdbJ30aXx8IVPufFWMJ2+Qjt4xSo4vv0koN8xJV8yOnPo + WmSzfVpmj7HQKbsNk+3zLtJOmwmxzkvr/W8FFu3OB5OxM/xGk/HgEY9P5sAzbNZJu9NjxLdP/fr5lx8g + fAPOtXjW7jTlPgAAAABJRU5ErkJggg== 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 - NvyNtOC/8hMb4cocvUYexQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACX0lE + QVQ4T6WSa0hTYRjHD/TBvhRdqE99Koi+RFFB9SGjUAsvLYzEjMxFTKVkk6XpSC1N0eVtadqMvAw1b5Uo + KUUiJI7uGs7oIpEauZa1s3nP4tc5RwZNBgW98OPA+77/3/O8D0cA/gufmz3tOXTdzqS1KhVtTMh2X3c8 + CC21RXoJPFQVHMdpr2PSfoORwXySNUEUZeu5ZjRgyk6SCVwsYEZsZs7VxIyzHku5nqnxGpJjVbbXvSlc + OBtKinoH9p6TjHesRxt9SMotEsjhOVcDZTkn6LPmI34qYWzQwAfrKdoqVMRG+VOXto4XRQLxx0K8BU01 + BQsC8RbGtGgy9JEYEiI4Hx+OXqNCpw4lLiqAYu0GRRAZ7O8tqK80Mis2MuswMzWai+NVAraa1QoD1avo + K1/GU5OfEpYJ2L3VW2Ax5zDtqGJ6OIupN2eYfHkEsX05hdUd5JpbuXi1kRSjBV1mBbGpJqIT87wFlaWZ + TIyYmBzUMPEsFPejbXy5u0YJe9bc/E+crhmGx5xExF0iLMYgby8IKgrTEd9m4X4ShLt7M67OtYxUC0pl + eVXe6VEwN3QxMGRXwg96bRwIV8vHglCal8q3/nO4ujYh3luJo9mPoZuC0vaP+V98d0uVPzsZeG/H2v+R + 4CgdQVJ4/8HD+O/Zi1B8OQnH4zgpvIKvLUsZrV2CrUxAK71ZbtvTwXWpgxJLJ23dNuUrs2vLRoQrGYnK + D+KZsgeNNLA/Kz+0vlPCzff7aOh47iUILEw/Lf1hKtThgYTt26kcyNOW3+yp5gtFIA/CF0elacsX/obP + 8L+D8Bsb4cocWY3wtQAAAABJRU5ErkJggg== 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 - lAGEMIYAqRgAbgzMptd1HX8AAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB+ElE + QVQ4T2P4//8/RRirIAxP3vItZvLmrzvm7f76aPnBr0dWHvw6ZdWhr1LIalA0IOO+DV93APGf7nVfnzeu + +PK4fsmXO3N3fn0MNOATsiFwDd2rXv1fduKrAZi97uuy/o3ffqdOevfGpeDEb+vU7X/ME7Z8d6+4+3Hm + 9q9vgAbcRDEAKMDZuOTl/3kHvl6tX/G1YcKmb3/iep7/cy04/t8uY/cv09g1x13ytz60jF/+J6zj3c+l + B77eRzEAhItnPv+fNevz/8I5X/5H9nx8YZW85a9F4oYfprEr80HyAbXbVQwjFr9wLb/9vmHplz0YBiT1 + Pfvv3fTmf3Tv5/9lc9781/CetNokZoUjTF7BoY7ZLuvQb9eyO68bVn45BBOHGxDU/PS/WfH9/55Nr8Au + Sex59L9u8VtLmDzQAFa7zEN/veqefWte+WULTBxugFPF4/8ORdf+W2Ue/28Sv+2/YdTa/xo+U4FSEHmz + uPVKtpkH/wW0vP5bMP1xKUwcbgA6BgUsMl/da5K7a9ntP2mT3//r3fCVDSYOV0AIW6TsuxjS8eFfWN35 + XGRxFEXYcFzfeyWH/Asx/i0f/vlVXvmmFTCbEVkeRTE27FH92Nm/5dMvj5KLP42jVnmhy6NwsOGo3s+R + ziXXGk1j1olik8cQIBVjFSQe/2cAAG4MzKZBtgOMAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB40lE - QVQ4T2P4//8/AyUYzlh16KvUyoNfpyw/+PXIvN1fH/Ws/5JSufALJ7oGdAzXvOrQ109zd359XL/ky53G - FV8et676cqdi0ZfPlYu+pKJrwmbAzZnbv75xr3zw3jxhy3erlG1/HHKPf02Z/PlF4ZwvLwrnfgkDqVt2 - 4quBQ9G1/xgGLD3w9X5Yx7ufZtHzf7vkrb9pGrvmmGnsmi9m8Zt/J0/+/Dd95udn2XO/RM478PWqdebx - /6sOfYV7DUw0LP2yx7X8znt1r55bAbXbVUBiprEr842jl3/VCZj9K7Tz4/PCOV/+Z836/N8kfiumCxpW - fjnkWn7vlZpn32EFhzpmmKRJzApHDe9Jq8vmvPkf3fv5v3fTm/96oYsxDWhe+WWLd/2Lrxrek28qONSx - wiSnbP2qO2XrV7DNnk2v/psV3/+v4TMV04CC6Y9LA1vf/DWKXPNLwaGOGyYJCjCrzOP/TeK3/dcLWQLW - rOrWhWlA74avbGmT3/9zLbv9R91rkjuyAuQAw4bhjLC687khHR/+WaTsu4iuCB+GM7QCZjP6V1976d/y - 4a9D/oWYuL73SuiKsWEUjlbAbD6fypunAlo/f/WofuyMrhgbxhAAYe+GV6FRvZ8j0cWxYQwBUjGGAKkY - AK7WxHD7c7sYAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB5ElE + QVQ4T2P4//8/RRjOWHXoq9TKg1+nLD/49ci83V8f9az/klK58AsnsmJsGEyANAPxp7k7vz6uX/LlTuOK + L49bV325U7Hoy+fKRV9S0TUhYzAB1Hxz5vavb9wrH7w3T9jy3Spl2x+H3ONfUyZ/flE458uLwrlfwkDq + lp34auBQdA3IRDNg6YGv98M63v00i57/2yVv/U3T2DXHgPiLWfzm38mTP/9Nn/n5WfbcL5HzDny9ap15 + /D/QQrjXwETD0i97XMvvvFf36rkVULtdBSRmGrsy3zh6+VedgNm/Qjs/Pge65H/WrM//TeK3AqXRXNCw + 8ssh1/J7r9Q8+w4rONQxwyRNYlY4anhPWl02583/6N7P/72b3vzXC10MlEIzoHnlly3e9S++anhPvgk0 + gBUmOWXrV10gBtvs2fTqv1nx/f8aPlOBUmgGFEx/XBrY+uavUeSaX0ADuGGSoACzAvrZJH7bf72QJWDN + qm5dQCk0A3o3fGVLm/z+n2vZ7T/qXpPckRUgBxg2DGeE1Z3PDen48M8iZd9FZAWEMJyhFTCb0b/62kv/ + lg9/HfIvxMT1vVdCVogLo3CAhvD5VN48FdD6+atH9WNnZDlcGKugd8Or0Kjez5HY5NAxVkFSMFZB4vF/ + BgCu1sRwcCvT7QAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAACG0lE - QVQ4T52TX0jTcRTFbxYWzDa2/dYv14/2c7O10G3IKNAVXygDKYLMCgKjwAiZmGlYoYMxKNaqNZXlmA8h - CaNG0kMpAxmDLCSwKKiwcHNtQZQPI0b/TDmxElmjh+nn8V44l3M4l6gQvAYz3dgqyx8XTHV4I3RBIZo/ - L5i6cQ6tcQmkfYIjf1cQxocizs9KsTvCgZyl7N9twCKjgIWRv4qRz8Sor4KR18DIo2d0VcfIJTLjAw2O - xkScmlZAc4tPk12Zk0fAwhpe8Gh6J8eRlyrUTZTCGhGQvaoJlUMxaIB434DD01rUT5Wh9rEaJW4uJw9/ - FWtLrYcrU4yLnyRoTshx7M0G7JvchJpHZagI61E59lfgwJQetc+00IVEFHXLFvPwmVh7qgQ9c2vg/r4O - zowEXWkZOmaVaPnIo+mDGo2JzUsCe19vw46oAQ1jHKit2ExZz+1JybIE+jNWNEYVoNbV5mxJWCh5E28X - gni+0Ivx+W6Ef53G8NxB3P5phf/HFji/qJYELn/eD19qJ1SOtYsWPHrmmRzAyPth3Ev0Y2jGgYGZZvTG - 63ElVg1HTIvOlPKPwNnkHkS+dsDUw+eEeK1cRm4tI5eG0SWBkVPNyMEzsnOMuuSMLkiZMaTC8XglXs0P - 4lBwe5paipZXa+MdDk+/3cX1iTMg26q8IhVA58g5PEmNQrDzK6vyiaGT2OWtWfkzkY3MZKP/+v4NDkAX - agkV7KYAAAAASUVORK5CYII= + QVQ4T51TbUhTYRQ+WVgw29h258012txsLXSOiAJd8UIZSBFkVhAYBUWIYqZhhQ4ug8JWmR+Ykj9CEkaN + pB+lDGQMspDAoqDCws21K0T5Y8Toy5Sn17rIiH54feD8OAfe55znOeelJaHd5aEbm3RKph4l4XVwBC1R + JVWP8lEBdXENtF0WSSmpg/uRDedntNgVEUD+PKaUFdzaquPBqHcLo+5iRl2FjGtm1OZkdNXBqNXG3A+t + OBKz4dSkAdbbYop8xgw/+OPKlyJOvtfj8CsTysfy4I1YsNDVGiqAod8F2wMXDk3aUTGRj7InZuQEhAw/ + eOd6eS1a09m4+EmD6oQeR9/mYu/4epQ+zkdh2Imikb8E+yecKHtuhyNkQ1aLTvGDj90g56BjdhUC39fA + n9agOaVD44wRtR/5ZNNmVCU2LBLsebMZ26MuVI5wP+qzPbSguSGpUUXQk/aiKmoA1a3kBNywUPIm3s0H + 8WK+E6NzLQj/Oo3B2QO489OL3h8b4f9iWiS4/HkfuuUdMEmrFQnc7bbxPgx9GMT9RA8GpiT0TVWjM16B + K7ESSDE7mmTjH4Kzyd2IfG1EcYeYYeK1Ah0F7HxdVkaXLIz8ZkaSyMgnMGrWM7qgZe6QCcfiRXg914+D + wW0pqs1Sd9buuwKefbuH62NnQDUr/jmkJaBp6ByeysOw+MTlnfLxgRPY2V66/M9ENeTh8R/dRL8BDkAX + agnC/hIAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACiUlE - QVQ4T4WS3UtTcRzG95900Y1XYdBNV0Fd2YVaEggRXqSiaTbLJJdWiomVmimJw9x8W5pDV6QlWPlWmk7N - 1Eyn5vvbptPp2tl2ds4ntjMMctDFc/GD5/k8D19+KkD1P1lMYcN75rOfsGoss63HZTbVc78nz5ssprCm - I+ZQ8s5EGRY7ToKjiJXeWHCUsvDuBM7xiNdHzCFl1Vg4qABxgIO1FhD78L93ZrJDmENopvmYvNQVg3PT - hMQeLlsb/vdq56mj5pCyau7iKDfi7jI6N01GxAEjjnIkW0EIcwiJlujohffhRmkrx2jXnYHOeOUG8zdQ - 6ZsmqX45QVXDGNraUZ7rzJRpB3la0c+TZ70UFndhqMylx5SD/L2A3eZItltiOZhLZX3wMipd4wSyLCNK - Mh5RwuWW2HdJ2J0+rHsia3aRRasX9Fq4p4G4KLh4nKILp/GvU1UbxpEkmfTKVVLKVogvXuZK4SK2fZGN - XR/L26HD6luvFMCLhjFEn8yl/AWi7s8ToZnlXKaFLX/7jqiEc7IgLhJilPCgReC6ulEBaOu+4RVlBK+E - U5DYdfqw7ftYtwfD/zSb5wT6ZwRS0gwKoLJmBLdX4mH9CPm1ZvJqBnmgG4Dt4WA48jB8s6QdddFbPk8L - JKfUK4AK3TAuj8S+4Au0Wx3Bdj/AL702EB5dcDM0K/BlWqB3ykVScp0CKK8awukOLqgzk6dXFgyHqw7D - meWdZJR2BBe00f3DRUJSrQIo034NtNsPfIHDrdu9LNq8zG54+LnqYXzJw+ivv+09Uy4+TriIT9QrAP+H - KSrr41FJN/mPP5Bb0EFObjtZ2W+4faeV9AwjaepGUlINJF2rIyGxhqvxuoD8gD/FexT5V1saowAAAABJ - RU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACh0lE + QVQ4T4WSyU9TURjF+5+4YOPKYOLGlYmucAEoMSExxoVAwCKCIhEEFYMEtSBCJDRImawgDaARlASVSUFG + FXBoAZmnFspUW9rX937e9jUxkZe4OLn5bu7vnJMvVwf8V7aWg8NbQ8ffY8+yTTaHKaymTv2eONki7hs0 + gX/ls0aZZ9sPw7aBhZ5YcRYz8/oQrrGIF5rAPolkdstA6md3qUmcvQTmDWu2xmMNWRsPKHOdMbhWW5DZ + wu1oJTAvdhzRBvbJnnWD7VILe50WYWIRTSxiRnbkazzWkGSLjp55E26R13IsTtMx6IhTdzB9GV1VwwSV + z8apePoFY80oj01DlBgHeFjWx4NHPRQUdmIuz6W7JQflaz6bjZGsN8WyO5XM8sBZdKb6cRRFQZIVvJKM + e09mxy3jdPmxb0ksOSVm7T6oMsLNLDgfBafDMJw6Ksqh01Wax5AFnFa+iL5kgbjCec4VzOLYkVjZ9DO/ + rg2nXn2uGjwR1SW/wpm8GaJuTRORNcmJDBtrgfQNSYVzMgUcCTEqPGDzcCm1XjUw1n7GJyl4fDIuj8ym + qO7Y8bMsqmslD0156LN60KeYVYPy6hH2BHy3boS8miHuVA9w29QP68MhWCSH4CtFbaQaXvHhp4ckfZ1q + UGYaxu0Vi/P4g+n27VB6wCAg0SIAj87sMTjp4aOAe767SUyqVQ1KKwZxic0HG9SKBlVqg+Fw8QVCcEZp + B+nF7aEGrXR9cxOfWKMalBg/BdOdu/7g4padPmYdPiZXvPxY9DI252X019/0bpH+btxNXEKVahD4MIaS + Xu4VdZF3/y25+e3k5LaRmf2Sa9ebSUu3kCI2rk82k3ixlviEai7EmYICdH8AxXsU+dXRvF8AAAAASUVO + RK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgUlE - QVQ4T6WQWw2AMBAE1wGSKgUpSEAKEpBSCZVQ0rSXPoafg0uGj8newqGcs/4A4QXCC4QXCqk83rgkbchD - SGFYOhrJSpCHqGMFNufXgrvhOmEssBNiO2NHHmIusLH/kpCHmAvKYsHOiMhD9OWVckJAHqK/daV+2ppf - hRcILxBeHkdnUwqevR+DAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiklE + QVQ4T6WQ0Q2AIAxE2cCRGMVRHMFRHMFRGIERsAUuJFxNqF7yPny5ltRQSvmFKT2Y0oMpPbAQ9cIlbNQn + EULsA8rRyf37oj6JFixATuHTgrtTh4WlEzRYgBOSoGfs1CfRggUI/kumPokWLNBBBWck6pMYwzN6QqQ+ + ifHqTA31Z+HFlB5MuU4JD0dnUwrgCrV/AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgElE - QVQ4T6WRUQ2AMAxE6wAJSEACEpCCJCQgAQlIGjm2EtIjjBtL3kcv15cSLKVkf6BAhQIVClQoOMP8JjPD - 4KyxVxP0WPJlzLFXE+BtRYBrqPdF4Od3LYKhLO+X7akbg5tgLoKlVYBFDBDJApzt3w/wR6j3JhgD2gUK - FKhQoHIAVnlxb1bdEucAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiElE + QVQ4T6WR0QmAMAxEu4EjOIIjOIKjOJIjdARHcKSYSyiCvA+DBw+8x7UUbGb2C5QVUFZAWYFlZnNUBh23 + KDOz0504rI5blE9OR0Kv4S3KJypiikJblJnFUbmieXCLMrM7Kkc0D25RZnRQRRdFcIsyn62Pgf4Ib1G2 + tr6I4JZkBZQVUH7H2g1WeXFvwrwKSQAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAf0lE - QVQ4T2P4//8/AyUYQ4BUjCFAKsYQIBWjchgY7BkYGEAMGN6PRcwenwH8DAwM+VCF9xkYGPTRxOpBfHwG - ILsCZDu6GIjG64VhYgAo0N5DNcACcT1UDMQmaAAIxCMZAsIgNkgMDIgxAAZATgY7GxkQMgBkEyi+cWEa - GkAOBgCjTd7+r93eSgAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE + QVQ4T92RUQ2AMAxE6wApSJgUJCABSUhAChKQUHrbGjgYH4U/Lnlhd+G6ZRNV/UQzjNAMIzTDCGxEkoGF + szSyRB0yIp0x1h9Xo79kEzx1yBT5jtjd5Rm+3CFT9IMBuLTNQOCXONcMa+6QOTQYPgRgjSyLOmTuwpHz + sc+iDpki7IT3foI7ZIreD4ijsgOjTd7+jqoH+QAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAcklE - QVQ4T72QUQrAMAhDvf+lHX50qJFqSSnhDczom52oqtwEChYoWOIgYg+b/lRdyFPhEvgDeYZMhBmQnAgt - Y5mlE+btWulE6A9Uc/jQTlht5LvqHSXMaYUnGV15mrAxK4TrM8L1Pz174QWgYIGCBQqWD+N21FbTYK/z - AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAm0lE + QVQ4T62NUQ7DIAxDe/9LMyclyGauygZ6eh8xtXu11o5qwx1tuKMeOENcA5cJ1M8NOU4PBm6Q7y+4DzUA + MTB7vzzAfahBZ3ks4D7UAPBYeb88wH2oAZgH3F1mUt2uHvxhhzP3xv3ckIPKhcuKzKmfGxL8wPgJ96EG + i4yxgPtQgwVkLOA+1OCFGJuVPpTjhDbc0YY72vB/2/UB43bUVn8JuhoAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE - QVQ4T92PQQrAMAgE/f+nLfUQdFdiYT0VmZJMyJCau9smJFRIqJBQqeLDmMUnCKMETyTvlSDOGCy/ki6h - O7F3tREsezWI59dgDmQwXs6mIF4sr+lmCuILxugt2AU696PgBiRUSKiQUHkANGDdTeFIubEAAAAASUVO - RK5CYII= + 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 + AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE - QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe - FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g - j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu - MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx - WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ - BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM - B4HjT5oAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE + QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn + QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH + f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD + VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp + hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe + hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc + DAdFhtjSAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMElE - QVQ4T83TX0hTURwH8BXYH1AIKewhSEGsBYV7SBkz9EGsLXKE2ZX1MNrAF/cwxU1r666HucvdpnZdGhRt - Y1ZUs7QLa04SGY4SZSCDogJbrrLhQieVNW19425l1jSIXnr4cTjfc/icH+dweAB4/1K/TMwOf7iRZmdL - ajumfstH1sozAJHM5l74kEC2QBPZIdRv5DJuXJ2vC3CnnGW8kDZcRbHUgn0SU4zLmesBrJVnAIaeIXxO - LOPe6AtomFEUVLZhywHthh85GwiDck2isMqEDKC105Nr6PZBSfZBXH8F+6VWiGQXUVLX81ypuwk1zYJo - 6sVeCYWCSiOU527nrgBmhz9L3+XDbPwT4otJBB7HITd4UHSEwraDunFtO8udiPeLy/CH5nBSeweFh6mV - LjhA10QPpDY9Cr2FxTWBY6obyCsjoW1nWzkg9GwGwafvQDvHUavtw06RHs1WD5kCLPbheVXbAKobHBDU - MOCLKRRVGZEn1HMdhNXU3fTaCQb8o2bsOqTH9tIWlBIXEinAdHkYyeRXTEc/YnDsNYz2IPIrOPznRSlI - N95EFxCOxNA/MgUV/QB8SfoyeTrmPpaWvmBw7BWsvUHIz/v+M0BBurdyQGRmHkMPX8J2axI1mn7sEadf - gnf6jPOJrOUayuXdENZ1Qkh0YHc5Gc2vILO/A5sUpDsmqb80Xa2yo+xUFwTHzcgpbpxLAatb/VPZXN7U - 37C5vFmE2rmZUDtz/gpYr74BaOu3a9KzaF4AAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACLklE + QVQ4T82TX0hTURzHV2B/QCGksIegArEMCveQMmbYQ1gucoTZZD2MGvjiHqa0ae1218Pc5W5Luy4NiuaY + FZWWNlg2UUQcFcZABkUFtlxlw4VOKmva+nbONZfKHoReevie8/t9z+/3OYcfHAmAf9KyxNY+FK7lvZOF + lU1jK/zBdD7VskSudnbOfE0gU2qIbJExa6lH96X+0nqqVEBvOS/0QllzAwVKO/YorDHqC7cCSOcvKhWY + 2/rwIzGPh8NvYRCGsfNQIzbsM65Z9L2BMDjPKHJLraR8BaCh2ZdtbvVDy3ahrPo69iodkKuvoLCq7Y3W + dAd63gtVXQd2KzgCtkB74V52CkCensG0+DEZ/474bBKBF3FozD7kHeGwab9pxHjJS+qAL7PzGApN4aTx + PnIPc9RKAUx1fA818DT0CXbPcxzT3UZOMQvS3EABodcTCL76DN49gkpjF7bKGZx1+FgRYHcNTOsae1Be + 0w5phYD8Mg55pRbkyBj6grCee7BwdoKcHbVh2wEGm4vqUaS6nBAB1msDSCZ/YTz6DY+ffYDFFcSOgxT+ + d1Bn2E58jM4gHImhe3AMOr4f+YqFYUpMwiPMzf0kze/h6AhCc9H/nwFI80YKiExMo+/JOzjvjqLC0I1d + ZFYi4PQ590t1/U2UaFohq2qGTNWE7SVslEAy/wDWEcUU1VfHy3UuFJ9qgfS4DVkFtVMigC6rkdPTK/4N + smeo9O71RFk0T1u8ekHyG2jrt2s5yYVVAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAACG0lE - QVQ4T52TX0jTcRTFbxYWzDa2/dYv14/2c7O10G3IKNAVXygDKYLMCgKjwAiZmGlYoYMxKNaqNZXlmA8h - CaNG0kMpAxmDLCSwKKiwcHNtQZQPI0b/TDmxElmjh+nn8V44l3M4l6gQvAYz3dgqyx8XTHV4I3RBIZo/ - L5i6cQ6tcQmkfYIjf1cQxocizs9KsTvCgZyl7N9twCKjgIWRv4qRz8Sor4KR18DIo2d0VcfIJTLjAw2O - xkScmlZAc4tPk12Zk0fAwhpe8Gh6J8eRlyrUTZTCGhGQvaoJlUMxaIB434DD01rUT5Wh9rEaJW4uJw9/ - FWtLrYcrU4yLnyRoTshx7M0G7JvchJpHZagI61E59lfgwJQetc+00IVEFHXLFvPwmVh7qgQ9c2vg/r4O - zowEXWkZOmaVaPnIo+mDGo2JzUsCe19vw46oAQ1jHKit2ExZz+1JybIE+jNWNEYVoNbV5mxJWCh5E28X - gni+0Ivx+W6Ef53G8NxB3P5phf/HFji/qJYELn/eD19qJ1SOtYsWPHrmmRzAyPth3Ev0Y2jGgYGZZvTG - 63ElVg1HTIvOlPKPwNnkHkS+dsDUw+eEeK1cRm4tI5eG0SWBkVPNyMEzsnOMuuSMLkiZMaTC8XglXs0P - 4lBwe5paipZXa+MdDk+/3cX1iTMg26q8IhVA58g5PEmNQrDzK6vyiaGT2OWtWfkzkY3MZKP/+v4NDkAX - agkV7KYAAAAASUVORK5CYII= + QVQ4T51TbUhTYRQ+WVgw29h258012txsLXSOiAJd8UIZSBFkVhAYBUWIYqZhhQ4ug8JWmR+Ykj9CEkaN + pB+lDGQMspDAoqDCws21K0T5Y8Toy5Sn17rIiH54feD8OAfe55znOeelJaHd5aEbm3RKph4l4XVwBC1R + JVWP8lEBdXENtF0WSSmpg/uRDedntNgVEUD+PKaUFdzaquPBqHcLo+5iRl2FjGtm1OZkdNXBqNXG3A+t + OBKz4dSkAdbbYop8xgw/+OPKlyJOvtfj8CsTysfy4I1YsNDVGiqAod8F2wMXDk3aUTGRj7InZuQEhAw/ + eOd6eS1a09m4+EmD6oQeR9/mYu/4epQ+zkdh2Imikb8E+yecKHtuhyNkQ1aLTvGDj90g56BjdhUC39fA + n9agOaVD44wRtR/5ZNNmVCU2LBLsebMZ26MuVI5wP+qzPbSguSGpUUXQk/aiKmoA1a3kBNywUPIm3s0H + 8WK+E6NzLQj/Oo3B2QO489OL3h8b4f9iWiS4/HkfuuUdMEmrFQnc7bbxPgx9GMT9RA8GpiT0TVWjM16B + K7ESSDE7mmTjH4Kzyd2IfG1EcYeYYeK1Ah0F7HxdVkaXLIz8ZkaSyMgnMGrWM7qgZe6QCcfiRXg914+D + wW0pqs1Sd9buuwKefbuH62NnQDUr/jmkJaBp6ByeysOw+MTlnfLxgRPY2V66/M9ENeTh8R/dRL8BDkAX + agnC/hIAAAAASUVORK5CYII= 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 - zX6th/05/Q8FMcZPXTFPhgAAAABJRU5ErkJggg== + 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 - zX6th/05/Q8FMcZPXTFPhgAAAABJRU5ErkJggg== + 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 + AElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAACT0lE - QVQ4T6WSXUhTYRzGT931AYV94VgfGjMIpBF1Id5EF7kbA7OgbrQP11FHw9Gaw82QDc7mxkxIxzYHLvEM - tWKnzS5sEw0kLyYoRksCh7g2c3I2dR7aBvLEhAbbzKAufv+L932e358XXgIA8T8UHPyN5mZLqdFIzvf1 - NaG9/T5VENgLhcLI02rV/lCoEsAxdHYSowWhP6FSUXyd7unH1dUSJJNvQNMiliSJqoLgbjQ2Wvhardq7 - siJEOr0fVmvZVn9/fUfmLicolz87KZOZzspkL05naGnp5kskvQKN5vFkKMRHMjmGgYGqnyrVhYcjI6Lj - OQK1+vklijJM6PWKBYNBGdDr5QG9XvlFp1N8C4cvYnubgNlctqbRkHK//1rR797OaG1VlhoM9s+RyAIS - CQHW1w+A445iY+MgEonzSKXGYbc/2na7RY35z9sZJpNtaXn5E4BbAEbhcgkRidjAMJXY3GTgdNasSaVX - yOnp69nNOYLe3iZwnAgc9w4sW4fFRR+s1nrMzY0hlbqNri7iR0NDkTC/nBU4HC8RDo+juroGAgGBnp6b - CAbdGBqqRSzGwGYTRiUSoiK/nBXQtAqBwGUUFx+B3f4B5eUnMD9/A/H4GDiuFmbz4ZhUSmR+z+4Ci8W6 - sbXlWZuaOoOKiqvg8UowM/MawD2k0wy6u88FxeI9BB0dnXd8vq/vgcnvXu+h2OyshwVIFnjFAg/iLteT - QYapP5VfzgoytLXJqwYHnUsej5hjGIpzOu9yNE1xDkft+vCwsS4afbsvv5wj+Fd+AZjLwCbKAcDYAAAA - AElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAACTklE + QVQ4T2P4//8/RRirID6clTVDqbs7/dLs2Zn/a2sT2rAqwoXLyrqlmptrTj9+bA3kCv/v7GTYglUhNlxd + 3SbT3l588OVLxf8/fqz5v3Spx9v0dAZ3rIrRcUbGDBmgzbufPzf4/+sX0/+ZM9W+zJ8f3wCSQ1FYUlIq + VljYK19Y2C8LwgUFE2Sys6eqNjWlHXj8WAZo887/ixa5f6+uVk9atcpDBMWAmpo6/ba2rv0dHWU3uroq + rnV0lABxxdX29rJbT59q/f/7l+H/tGlqr5ua0ktOn3YQgukDE+XlFUpdXXMuP3t24//nz6r/P3zg/P/1 + q8D/jx+5gHzl/z9/7v0/Z07y302bPDJgGlEM6O2d9eDRo2NAZhAQb/m/fr3B/2fPZv3fsMH6/6dPG/4v + Wxb4Oi/PJP34cSe4zTAMJqZOzQTa6AHEG/+/fRv3/+7dPcCAiv9/4cJOoO0h//v6GF6kpAgZoGsGYTCx + YMHk/0+f7v3v6xv4X1WV4f+UKX7/793b9H/FiuD/795t+D9rlsGr7GwGS3TNIAwmli6t/n/tmtF/SUl+ + oF93/dfVFf1/6ZLb//fvdwJdFQwMPJ53eXkMoNSD3YAZM2Z+/PJl8+sjR+T+W1qa/peSUvx/5sxqoFQk + MN43/J8wQeFeaioeAxoaOkP37Lm+9f//A0927+Z+d/785rf//6cD8UIgTny/fn3ukg0b4sXRNYMwnFFV + VeK+ZMmyB5s3p37dsKHt67JlEV+XLm37umBB8IeVK7vjXr1ay4isEYYxBEjD/xkAmMvAJtry8/MAAAAA + SUVORK5CYII= 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 - lF/ylm2nCccnxwAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAABNklE + QVQ4T6WQu06EQBSG9w1EfQNfAeQSCBTIJVwCIVDRUFmQWK+d7VZaW9vJG/gIxtZGo4XWbrnteM7A2Z3d + jLdYfJPD/8//zzAzxti/kIsgI7uzDKlIfBckpCLxp4K2bc+KorhL0/Q6iiKFm0KBaZpzgE3MSedLnudX + WZa9x3F8HwQBs237jZtTAQROMYjz9I0lJzhzAU68IBNKPizLgnGr4EFSsMCZC0hVVZfAY5IkK9pMBV3X + 0dXX9H0/7oHQQdM0rK7rV5gVz/OeDMMYzc0NXqYgv7YI/v95WZYsDMMb3/f3ILzSdR28rQJ6wFtgHzga + hmHcA1dWHMdhGAKeNU1bqqo6mlMBAqEFsETwQNL54rruITzcMYlrUyj4CqmIYJjY9USkIvFTGJGLwsni + LEMq/h42+wTylm2njslBVgAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAX0lE - QVQ4T72OWwoAIAgEvf+lC0FFt3x8RCN9ZO0oLYakPNprKoZ80O5UyvKpFp4Krh+ngvJj1rfXH4ICEHiJ - 6xX0ggYRwMqDoBKiVvpI7MtPK5iA0UOAU/9voOD0Zxtszyqxa1VmsC8AAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE + QVQ4T82OUQ7AIAhDuf+l2UA7O4OIH0v2Gj+EtipqSBeD2UbvkIEVMAtmgdav+t3C1YLQWC1Ijb8oSJgK + uIRmCW3L5rlgQ3M8IVMtCChI6shdlB33hDqAY0NE9DKO70MdwLGhgI9+oHoBzyqxa4rWeaEAAAAASUVO + RK5CYII= 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 - gg== + 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 - QmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAChElE + QVQ4T52Q3U/SYRiG+Qs6aKutddDcWs220jKwuepArebUFtPFbKCJmYQfkxmakbRyIZFTHJrprCimZWGa + X0hqMHEwTFMLxLIpg+w7NXWkC7zj/f02W5MO7OA+et/rep7nZgBYV/qkgpimrGSQ9BSmhwb89K8037kQ + ScCp8lyM5NOSgB8DhcDdLUXQdg1g9FoeBSuZTPrRYVbBZqrAsKEM1mcKmNplsOgVsPYoMGS4gbEXFdBr + 8zDjLMWb/izIZEWQH2D6UTBWBSs+O3ze5/Au6/HL04blBS1+ztbD7VBB15BOwQ4DH621Mdi8cQNuyk+j + uuQcnxKQ6T6vJSDcoeasgYcMYlRc4SI5NsJFCUaN5fAuGbC8+ARLcw/g+aaGy65EW138GthuysFrswSF + mWwioDsY7C71T+2EZ+Y+Fr/UYv6DCrdua2DRyeF6eX4VHjMJMT0igrlTgAxOFJKOhdMCi+66H36EhY9V + +OEuw6yzhBKsrPjQqGJTsM0ogGswG+/MZ9Fx7wTiD4ciITKMFvS1yrD4+S4e1xegXM6HKCMOOSIx2Ikc + f80MDHalYdIiwLgxFa/0p6CtOoIoVjBiD4bQgl7tVcxP12BmshjfJ6T4Ol6ITzYx3g/nYsoqxNu+NNi6 + uaR1yAq4yE6JQeJRFiWhBF0PL2POXfkX7BzIxER/Ouy9PAx3nIS16TgFkzOiw4NRnBOGiJDttKBNc8l/ + txL97WkwNqegpzEJOk0CntbFUes2lB2CuoRFTSZwpYSFGulu7N25jRa0qC9CnLoPIl4YhJz9OMNmghfL + olomRZFbybpkbalgD6olu6DK34HgoC20YD0SsjaZTOCgrZv+CP4vYPwGutu4vmPLy7gAAAAASUVORK5C + YII= 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 @@ -799,798 +797,807 @@ //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////9NzlhFAAAACXBIWXMAABJxAAAScQHz3HqOAAAAHklE - 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 + RU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAA3klE - QVQ4T6WRMQrCQBREcwYJKAS0SKMghgSCBkEtLT2DYGdlIUQCBqvshbyBkMbKwspGsLMTERJ1ZBf5BCRf - jMXAsm947DIaAO2f0GGxjBCEQsUPBaZzgZbt4hsjQRBG8gJJ+sDldldxO31V4lhGIJCkT4xWV9iTLQ7n - FI2m8xbkMxLIp0mzNzvCGseI9ycYVVOVOEYC+S9ZknZZWG92KOkVVeIYCdpeD93BEJbjoWbWoZcNaArz - jARFQwduKo6RgJuKYxlB/lQcIwE3FcdIwE3FMRJwU3GMBEXzcfFrXqsvxgcoH5ClAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAtklE + QVQ4T2P4//8/RRjOqKrv+F/T0AnGlUCcU9b5X8/QFCiFXw5uQE1DB0jg/6/ff/9//v4HjE0t7EFCeOWQ + DOgEKvj3P6Dp63/D1LP/7775/V9TxwisCJ8c3ACQ00AmWxY9+q+fdOL/ietP/0vLKYMV4ZODGwDyF0gR + yHSQgm1HL/8XEpEAK8InBzfA3NLuv7WDx399I8v/8soa/0XEpYGyICn8cnADyMVwxmg0DotoJA//ZwAA + qy/GB3Ky9SEAAAAASUVORK5CYII= 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 - AkiX/5UKTqafsLwA5EY1M54AAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMElE + QVQ4T6WS30uTURjHdx/+AeE/MBR2M3aZV90IXSx0Gl0YkRdFQoFdOMYu6iJsIghpKXNmmzPz53I618YY + U5zODMyKsjZ1plPX+5Y5WsrmPvm+rz9KEiEf+HIe+J7z4TnnfFWOwUmcQ1N0Dr+S1w53BMfgBE9dYZ70 + j2HrDWHtDtLSFeBxp5+mjpc0Orw8tI/IkgGZXIbU1o6slY0sc2tZuoNx7jZ7/vKO+rria6icQxHZGJ3+ + LGs4HJNNSdV1rgMvOBXFPxnDE57nxdgCfaFFBSBNUNPgOVB1nZtb913cuNdHpfk5V4xOLt+xU3a7jYs3 + W7lwvYXiykecv9qoANoHxjmpcjnI7uTY2s6SSmf4vrnN+rdfCqC1J7S37bBEUaS+vp6KigoMBgOODidf + xU2EjS2+rP/k09IPfONzCqD5WYB4PI7FYiGVSsmAaDRKMplEEATyz+ZTXn6JWHyVlaRy2Gw20+9/owCk + bzEajej1ejQaDQUFBaTTaXw+H7W1D8g7k0dpqYEP0QQmk4mqqiq0Wi2FhYUKQPrL5eVl+WAsFpMnsNls + lJSUsJYUFYChjI8LAu/nN4i8W0OtVu9mZuYQcLSsVitFRUXUGE3odDrO7fYNTW28nhMZn00SmF7FPrh3 + hX1AIpGQJQgii4tL9PQO4HJ78QfDuL2jjAQiTMzE6fK+xeGexeb6Y4JT5UACHBdlKYknRlkCSMa/oixN + sO8dG2UJIDX/K9Xu+51CqH4DsLwA5JN+awcAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE - QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe - FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g - j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu - MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx - WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ - BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM - B4HjT5oAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE + QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn + QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH + f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD + VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp + hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe + hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc + DAdFhtjSAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACYklE - QVQ4T6WSXUiTURjHX+jCboo+qKuuCqKbKCqoLjIKt8KPFovEFi0XsU1KNlnaNlJzpujSzaVpW7Qv1OZH - JYqToiE0HH3P2Iw+JJpGrmXt3dycy+If74mFrwsiOvDjwHvO//c87zmHAkD9D2kfGNwDtXDd0qDPooKs - MGf74nWWoLddr+ht1yOFpfE4wsEOxILXMTHWgDIxF/oaBa5q1TDUlDJwFguQoHuQjHQjEe6EvU2B+LQN - ZRKe/+WIEhfO5kIp2oGg+ySmneshEx5CmoAJJyMOtNaegNfTAPpDM6bG1HjnOYV+Ew8SQSY6ytfhmZ5C - 0bEctqDb1vhLQN+EtlyISkUB1MX5OF/Eh0LMg1yUC6kgC02yDURQkJ3JFnSatZijuzAXMiI+WYfQi2L4 - basJPusqeNuW4bEhg4QZsnZvZQvsxlrMhiyYDVQj/uoMYs+PgB5YDp3ViTpjHy5e6YJSa4dcY4JEZYCw - pJ4tMLdoMDNhQGxMjJknuYg+2IZPd9aQcGok578jHEkgMBVGvrQKeYXq3xLKpKsA/boa0UdcRIc3IzK0 - FhNWilRmhvm2m2B0uOAbD5LwvRE/DvBFREK11KvwZfQcIq5NoAdXItSTgfEbFGn72/wPfI0mEPgYhu9t - EJ7R98gWyMHli7D/4GFk7tkLqulSKUIPpaAHV+Bz71JMti+Bv5WCTGMibac6uOZwodk+hP5hP5kZdm3Z - COpyZQl5IKlTTiFWGViV73vekHDPXS8czqcsAUdXcRoyIQ8iPgd5+3aSBea0mX9OVfsTRLDwShZyVFpF - NvyNtOC/8hMb4cocvUYexQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACX0lE + QVQ4T6WSa0hTYRjHD/TBvhRdqE99Koi+RFFB9SGjUAsvLYzEjMxFTKVkk6XpSC1N0eVtadqMvAw1b5Uo + KUUiJI7uGs7oIpEauZa1s3nP4tc5RwZNBgW98OPA+77/3/O8D0cA/gufmz3tOXTdzqS1KhVtTMh2X3c8 + CC21RXoJPFQVHMdpr2PSfoORwXySNUEUZeu5ZjRgyk6SCVwsYEZsZs7VxIyzHku5nqnxGpJjVbbXvSlc + OBtKinoH9p6TjHesRxt9SMotEsjhOVcDZTkn6LPmI34qYWzQwAfrKdoqVMRG+VOXto4XRQLxx0K8BU01 + BQsC8RbGtGgy9JEYEiI4Hx+OXqNCpw4lLiqAYu0GRRAZ7O8tqK80Mis2MuswMzWai+NVAraa1QoD1avo + K1/GU5OfEpYJ2L3VW2Ax5zDtqGJ6OIupN2eYfHkEsX05hdUd5JpbuXi1kRSjBV1mBbGpJqIT87wFlaWZ + TIyYmBzUMPEsFPejbXy5u0YJe9bc/E+crhmGx5xExF0iLMYgby8IKgrTEd9m4X4ShLt7M67OtYxUC0pl + eVXe6VEwN3QxMGRXwg96bRwIV8vHglCal8q3/nO4ujYh3luJo9mPoZuC0vaP+V98d0uVPzsZeG/H2v+R + 4CgdQVJ4/8HD+O/Zi1B8OQnH4zgpvIKvLUsZrV2CrUxAK71ZbtvTwXWpgxJLJ23dNuUrs2vLRoQrGYnK + D+KZsgeNNLA/Kz+0vlPCzff7aOh47iUILEw/Lf1hKtThgYTt26kcyNOW3+yp5gtFIA/CF0elacsX/obP + 8L+D8Bsb4cocWY3wtQAAAABJRU5ErkJggg== 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 + RK5CYII= iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABLElE - QVQ4T2P4//8/AzUxhgClGMHBAe8+/fq/Zdmr/5fvfcajikgDYYYtO/z7f3LXNfyGEjIQ2bAJG9//T5/y - 4n940+3/959/x6KaCANBhhmEr/xvnbTpf8Oy9/9di8/91wxa/l/efSYW1UQYCINOJVf/p/be+S9t145H - FQkG6qVd+q/kPvm/lHUjHlVYDMwqrPyfkV/5Pz2v4n9KTtn/pOzS/4kZJf/j0ov+x6QU/o9Myv8fnpD3 - PyQu539QTPb/gKjM/74RGf99wtP/e4am/scwkGJIcwMzCiDeTc0t/58M8m5myf/4jKL/salF/6OSC/6H - JRb9D43P+x8cC/Ju1n+/SIh3vULT/nsGp2DxMpUwhgClGEOAUowhQCnGEKAUYwhQijEEKMUYApRiAF8O - KkwDPuBiAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABL0lE + QVQ4T7WPuUoDURhG8xxaCHY2Yh+wECREVCRxHBOymMlMZrKYZYxLOhVBCAiCNr5AxFJfwd5C0catEsUm + hYiFxXFCCEq4TmJu5OMU93A58HuAviKUMnw/ftn90zs7tVeuHt5cfjnrJtiK1c4/SVZv3KOdgj9j+6d1 + zMMX1O1bHp8/xNFOwUZsTD3Bq52xWaszuXLBSOCYId9Rb8HWJsrXGHt3DI7vuvxy1m1wNHXJsO+AAe/W + 34KZUgWrUMHMb6Dn1tCyqySsMjHTJqKXCGkF1KU887EcgUiWuXCamUWLadXErxhOoi0ovX8PWsXmucby + OsnGuekyccsmatiEk0UWEjZKPE8w2jg3w2yoee6UksIf1J1EW7BfCKUMQimDUMoglDIIpQxCKYNQ9g6e + L18OKkyOPi51AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABLElE - QVQ4T6WQu0tCYRyGz1/S1hBtDbXm1onUyE5e8JKXk8dLXg52sa3LVItjUSAGRTTUWBDU4BRE0CIuYkuL - 2BY0PvEhEvQp9CEP7/LA7+XlpwHaKJGEaiShGkmoRhKqkYRqtHSxjJUvk8xtk8huEstsELVKhJM2wUQR - fyyPdzXHcjjLUjDDYiCF02ex4E2iGybaqEhCFc0q9Oab61vExfxUiYhlEzJtAvECK1EbI5LDExLz07j8 - vfnzxhq6J/G375fy6Tu+nTpu+0G8ayiS6HNw2aH2+I3DvFUrmI1dkzp6QxSc3H3hLN4zE7pifK4ysEgS - jVaXCfcZ+7UWuxcdfHtNpowqr42P/xUImu1PpgPn6HadSdcxT8+tgccCSfRptruMOQ6p3rwMPRb8AM61 - eNYtKznlAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABMElE + QVQ4T6WQvUsCARjG7y9pa4i2hlpzy0iN7PIUT/Pj8k5NvcM+bOtjqqWxKBCDIhpqLAhqcAoiaBGXw5YW + sS1o/NXhcgdndMmPBx6e4eF5XwEYSq6hF7mGXuQaepFr6EWuoRcJeb2GWq6RK22SLa6TLqyRUqskcgbx + rE40XSayXGIxUWQhXmA+phGQVOYiOfyi8tMyJDb7PwS10p+vrG6QseZrVZKqgawYxDIVllIGYrJEWLbm + 5wlG+/NnxRX84ay9y0nt5A1pq0nIuLfeNRCbdbJ30aXx8IVPufFWMJ2+Qjt4xSo4vv0koN8xJV8yOnPo + WmSzfVpmj7HQKbsNk+3zLtJOmwmxzkvr/W8FFu3OB5OxM/xGk/HgEY9P5sAzbNZJu9NjxLdP/fr5lx8g + fAPOtXjW7jTlPgAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAA00lE - QVQ4T2P4//8/AyUYTIQ3PNLxKT31H12SGAwmQpru//fIP4BiAAMDA4jAi+EGBJZd1nRIXv3fMWmVH7oN - hDCYcM3e8d8ifPp/Y/8Okr2BIUAqBhNB9Tf+B1Rf+e+Svb0LXQEhDGcE1V1Pt4ldAPcCeoBhw3ADQhoe - +rhmbf9vm7jUH90GQhhMeBYc+G8ZMeO/kW/LAAWif9XF/77l5/47pKwm3wV+Fef+O6ZvSoNLYAk0dIxi - gEfRkdlmwRPIc4FH4UFwINpELwxEV0AIYwiQigFhaK7Hy/55VQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAA7ElE + QVQ4T2P4//8/RRhMhDc80vEpPQVkYleED4OJkKb7/z3yDwCZSBJAKUIYrA5EBJZd1nRIXv3fMWmVH8wA + YjGYcM3e8d8ifPp/Y/8OIBe7QlwYqyApGEwE1d/4H1B95b9L9vYudAWEMJwRVHc93SZ2AZAJlQBKEcJg + dSAipOGhj2vW9v+2iUv9YQYQi8GEZ8GB/5YRM/4b+bYAudgV4sJYBUnBYMK/6uJ/3/Jz/x1SVgO52BXi + wnCGX8W5/47pm9LgEkApQhisDqbBo+jIbLPgCWBBUjCY8Cg8CA5Em+iFgegKCGGsgsTj/wwAYWiux7Jg + lFIAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAd0lE - QVQ4T2P4//8/AyUYTBR0Hyoo6D70H0SjKyCEYQb8D2158l/Wuuo/TIKFieU/PoxuQAFIs6x1FXkuoARj - CJCKwcRoIGIKkoLBRGLF8oLEiuX/QTS6AkIYZsB/z6Kj/yWNM8kLRJDNIM2SxpnkuYASjCFAKgYAPlC2 - qCS4LQgAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAeElE + QVQ4T2P4//8/RRhMFHQfKgDi/yAaXQEhDCZAmkNbnvyXta4CciESLEws//FhmDqYAQUgzUBMngsowVgF + ScFgYjQQsUsQi8FEYsXyAiD+D6LRFRDCYAKk2bPo6H9J40wgFyKBLeCQMUwdzIACkGYgHnKB+J8BAD5Q + tqhi4tzWAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAQklE - QVQ4T+3QQQoAIAhEUUnvf+UJAiEcDIZ20eK5+IgLDYDdoKBaw91R7UsxAlXu0EUVBRUFFQUVhc5/Yo/C - yaNPnBsg1gfsoRIVAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAQ0lE + QVQ4T+3QMQoAIAxD0WJ7/ytHEBQp6RDdxOF1+GSqAbhCo2Icd0e2j6IFsrlZo1M0KmhU0KigkflPrNFY + efKJsA4bINYHMvlwBwAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACXUlE - QVQ4T6XQXUySURzHcW+786KtrW666KJara2XWY5cWgt7WZJdOCezFstYTSqR6FFAHh4RpEQsEOZjoPS0 - pGxpK3u15U1La741CLSWUDnAypdSF+X5tcdWS1Fb6+J7cc7+53POTgKAhP8pbuNXHU8ernGxejHHGkEp - ZCvvttxInD0zL1BRqtzucRnAsUYyPsCQumrmjafOgGYPS82ejTvMd6nGQCaCDA8AUQvqHQwmg/rpdXd7 - a/JfAZeV/kIileBYw0/ApgO/djvK4KhQoZ41ZywI1FZpQCJmuO00ELHAWaUGiVrgstEYH2Bgr6BaFwQs - uvzpG53nKZCwBQ5TIaYiZtjLFYiFjNArDwdmAC4brXZaafDduVl/1qA4CBI2o6byFGJvTajWSxF7V45z - RUcwESxFgWSf7zfAscZFboceI68Y8B931amFSirC90ET7jecxFhAjbbGfHx+XYKGC3kY8xfjeM7O3hkv - 4FijriBnG4Z8Woz2q2DXijAZMmC4X4eRPhWG/RQ++RUYCVAY7DwGSabgWdwfXGbLFdNIrxzRLhmGX2ox - 1qfDqL8EH7zFCPcoEe48gcC9LIj3JLXFAXxslfoKj7xvl2KwQ4ZojxIfvUUYenEGoad56L4uxOOLKSR7 - 98ZHcwKNHkui8pCQ4ZGeWwfQ1SQi3pZM0tu0F889aWjnBDDKBF/luUL7nABfXRm9WC3dX8Ij18w7yIOa - VNLmTMFt6+YpSrLh266tq3E6N33pvACf5qhwhUaWJRdnJDdvWbtsctOqJUhLWu4Tp6+vLcxOXffnbNzh - f+0HpP7OSS0WHh0AAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACZUlE + QVQ4T6WQS0wTURiF2bpjYWKiGxcu1GhMfAQlSASNxUek4oIQGjQ2YqOhKqXWgRbaDmUKSmm10KaDfSBG + qhjBKD4xdmMEDS9TbEGjRSVQVKAqRJQ5zq0ZQ203xsU3yf/POd+9M0kA/ouES0L3k4drXKxB0swaQSnl + K+923EhOlItbEGorVdu9LgZ8mfv2lubcDfQbr5tBu5el/s7GDAKXHAw3E6KJAAib4bHTmA0ZonNfV2fq + wmxMUcBl1X3lxuv4AvNbUK8HmZvsVbDXquFhTdlCNq5MaLSU8wUTmmw6YNwMp0UDjhe56nXgPwm2WqpT + yMaVCWZ9UfRE53kK3JgZ9poSzPNCW7UScyNGGFSHg0I2+uDNGqdVB8Kdm56zjPIgXzTBUXcKc+9q0GCQ + Ye59Nc6VHsFMqBLF0n2DfwT8j1nUZDdg6hXNv6Rx1amFWibGz9Ea3G85iUhQA19rEb68rkDLhUJEAmU4 + nr9zIOYGvERfnL8NE4NaTA+rYdOKMTvCYHJYj6khNSYDFD4HlJgKUhjtOQZpTtqzGAHhMlutjEoGFAj3 + yjH5UovIkB7TgQp89JdhrF+FsZ4TCN7LhWRPii9OQGAtmitE8qFLhtFuOcJ86ZO/FBMvzmDkaSH6rovw + +GI6l7d746OEglavOVl1SEQTSf+tA+htE3P+jhxuoG0vnnsz0dWcBqM87buiQGRLKCC4q3SLNbL9FURy + zbSDe+DI4HzOdNy2bp6npBt+7Nq6GqcLspYK+TgBofyoaEW5PFchyU5t37J22eymVUuQmbJ8UJK1vrEk + L2PdwmxM8d9B0i+k/s5JFmy4DAAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB1UlE - QVQ4T6XMT0iTcRzH8Uc6h7cOdaij5Kp1iCgkiigtIxLskhSGLSey2ma4RMseV7NCDTKIEEolAueIbCTD - pDWcC2wM578nNc2miwJLlGbC7HlHHvztSYgHPLy+8OUDbwmQ1mPlKKFG/jUUvE+0p4H+tw1E3tTT97qO - gNdFl9uJr01eoQmQHAPCQFCXKkueCIz0NpJMvAPculVaTolA6FUtS3MvgUe6VZSeFIGejpv8ij+BxD3d - HCUnRCDwwsn8ZB3Lc65V/Lj9Xw5zrgj4n8vMRsvha41ujuLjItDVLvO5O4/F6QqYqRbi1fAl5U9Rbjom - Ar52mY/eLOKBA0z69jHu3UmkeRM/B02o09chdm2NK6aclIBb5lvvaUaaN7AQNjAbzCDyUCLWnY06VQkT - V9ewF2VrA4mImXHPdpRn6ajRPSyFMog+3kJytAwUGyh2DWvhkZRAm4w6ZFEXw4VMdRh5/2AjsSaJiSaJ - T55MVMUKg5dh2Lrq0tnD2sDyQMnvv0Oy30y8cz8fWrcx/HQzffVpKC1bmfFk8b0zlwV/PvP+fErPHNIG - amw5OG1HqbUf5K51L3csu3EVG7h1MRPnBQM3igxUnd+B49wuygqM2AqMIrAefwA3LxXoYFHxHAAAAABJ - RU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB3ElE + QVQ4T6XSX0hTURzA8UXP0lsP9WCPkqv0QaKQKKK0DEmol6IwbDmR1TbDJVo2V9NCDTKICMoigtaIbCTD + JBvOBTaG89+tzD9NFwqaKM6E2f12kuHdTYhLPXzO73c48H06OuC/rBxSoIk/9ftvE+5spOddI6G3DXS/ + qcfncdLmcuB9Zl+hChD/LNag4NekylQgZiIw2NVEPPZerC7NKk1HxUwEAq9rWZp9JdZ7mlWU5ouZCHS2 + XONH9CHEbmlmKzmiBHwvHcyN1LM861zF97q/shnzlEDHCzvT4XKYrNHMVnxYCbQ9t/O1vYDF8QqYqFZE + hW9J9yTlhkNKwCsCXzzZRH17GPHuYsiznVDzRhb6DMjjVyByeY2LhtykgMvOVNdxBpvXMx/UM+1PI3RX + R6Q9B3msEoYvrWEtylEHYiEjQ+6tSE83IIezWAqkEX6wmfinMpAsglXFXHggKSC+pdxvkheDhYy1ZPDh + TgqR+zqGhVF3OrJkhr4LMCBmwvlT+9WB5d6Sn78f4j1Goq27+fh4CwNPNtHdsA7pUSoT7mxmWvOY7zjG + nFB6Yp86UGPJxWE5SK11LzfNO7lhysRZrOf6uXQcZ/VcLdJTdWYbttM7KDuZgUVYDfw7dL8ANy8V6Hlx + kDwAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB0ElE - QVQ4T6WQ30tTUQDH/Y/Chx56CZ+CeugxejZ8iQjqwaCQCMQehAhKpcW0raZb2rLRptOtzavmTdcqpizR - oPQum3R7cM613Xv3iXPW5g6rB/Hhe35xvp/v95w2oO04kkP/812a1Te6y21Pnu7HP7jycIfOe9+5eDfH - +TsGZ24ZnO7e5tT1LRSAV4ORZBVX3GEwanM/bNE/WaF3vEzP2G9ueA+45i5y+VGRroEC7V3vVUBdvb48 - N0fyXB2qJV/oy3GuZ5uOv6l1nejUDwFjkRTVarWhxfQXZT+9sCrniuVQKDn4wzonz146BDwN6YphLrWh - 7F8nP1G2HPZLDmbBxhdaVAHDwXk+fjZk8lxqk8S7dWJLWZkszK/iaSaiKwTCujQ/CWoqwBV4oyTOLmUb - a1FbmM2CRc6ssLlTwT2eUAGDvhkFEF1Ya5j3SzaBiI7xy5LmzFYZlz+uAh54p1jOfCX2Nsv0/Crh5tqR - Wm3PSw33RAJXIM7Q6EwroLnBZCwtf/vnnk3OtPAENTLfyixvlEiuFRl4Fv0/QNR+Id68Z2OYtdrizTXz - AVMfioj7LQBtZV3WFub6b4vkYVHbL2rPymRx958AcXBUNQDHUcvBUfUHdLUcgRxLqH4AAAAASUVORK5C - YII= + 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 - qTrgv/oBFQAPI+QT9ewAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAABu0lE + QVQ4T52R2S9DQRTG+6d4ImKLNR5IELG/4IEHEgn/jb6IiAe1pLZY0saeltoJtTTllttGW9RapJZK0eUz + c5rbNHrviy/58p3MnPObzIwKAHl2U8Rf61YFTBgsGJnb5+6UeuMdK/iAkjRT6yio6ZCFxAr9mo2FvHpG + DDDuCBJEzZYSAVPLVhbyGphepWHJTImA8cVDRFgRr0gkQmuhUBj9kyZ0a5eQX93OtxIBY/NmhMNhnJw7 + KR0uD4Js0HrmROD7B5azS+gMe8oAtWYWrus7tqKC4LikFJ0eygOrnXJYt6IM+K9jxZzpkE5xex4pHe5b + SpvjinLLLFDmlTWydhnA6MwWBJHdnz2c99lHDyiILvgD3zg4ceHm4R3qPj1S8qtYuwxAw145GAqxMir+ + gK8fX7j1fkB0v+D4/AFdQwvIKm3m24mA3lEji6j46Z+BHzy+fOLC44PV7sW25Ya+Mb1Y4Qp8UxL/9zf/ + F+6f/ATYP72DyXxFgNTCOt6iDNg9smNx/Rha/QYGp9fQO2akQcnJeZW8TR7A/zi3og055a3ILm9BZkkT + Ob2oAWlF9ez0WiRlFLN2GcD/DNUvFQAPI9EcSZQAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAnklE - QVQ4T6WS0Q2AIAxE+82PIziCIziCYQJHcRYmYRRHwRyioS3UEC85MTV9PUBKKdEfq8Ko70dfqyxAI4BD - FiALsBBRLN6rd+YuwPmwOR+mCogtKFuA6Hw4ASolfFRWgNKYhLEFOT2nU4CBBPlWLMDXGdgJGrcgE7TP - oBImPNPmsgLKZAHQhJ8HRjNWJGGyAFLvvmuNAJAAqZgU4I8vMFFlo3aSOUkAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAoElE + QVQ4T6WS0Q2DMAxE+e5PR2AERugIFRMwSmdhEkbpKMYPTIXjYhQ46TAk8ssZaETklv8u1ni9HOtl1akG + 8LHqlAE69WQedvfOh4BHP77VT3tEjBCcASb1F5AtsRkcANYohRmhPH1JFwCbtOksAZAUcPYO8gSq8iuw + GZwBOGE7rbUK1CkD0MTPg2mmksQpA5T6zb1XDYAEpHIKgOuWZgYwUWWjtqpGsgAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAdElE - QVQ4T7WTQQrAIAwEBf//5hRKI3ZWRbr1MAc345qLJSLKn0jgIoGLBC4SuEjgUmqtPfHAnKRHPheO3Ps8 - k3ZK6UlhDinO6B9vd1YCCwi914YsoDyCzrnCHOSwP89K6TSXoo0EA7jFavMDX4+BiwQuErhc7EeiiR4r - 8zwAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAfUlE + QVQ4T+2UQQqAMAwEC/3/myMNTYjjomA8ehjozi5SQRxm9ilSdpCyg5QdpOwgZYcx56zYhp7Ejrx+4IJb + z3WQcsOOcOeZgyz2+Y7YVU6vfCkf4M5zDXHOEo5w47mGOGcJR7jxXIsoaw5HuAkun00bKYG6yUJt/79N + GxsH7EeiiVdcqusAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB/ElE - QVQ4T2P4//8/AyUYQ4BUDGc4ld3hdK2+q+ja/irLufdtrfX0r1vMZ/26aDb16z6TzvfdxhVPswzzb1hp - xZ0VwzDAp/YBl2vD8yK79rebvJMuXPQLP7DGJ/xwvlfk0XSX6NOTLQrvnNTs+fRcsfrZHeXgY5VqVnt4 - UAxwqbprb9vy+lFQwL7bMaFb/NGdCcLmWZcnqqZevyLttO+elvnySBQDbJpe7DTNv//dz3ldB7pGZKya - cmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PRNSFj5fTz6+W8dn81tJy/BMUAi+Jb/hp+Z26oGW67jK4J - GSuVXH2j4rDxtZXNnBgUA8ziLiurup84IG994Ku6/RYPdI0grJt9NlG5/MofE+tF16ysF2iiGADCmn5H - LMQjLr2W9ji4C10zCOvkX7qsFrLvs7XtAjdkcRRFsslXZksmnH2qYbfZHlncKPOUk2bxpQ/avtvWoxsM - JsT7P39USz7nrBJyUFXaZed7LcuVG5EVGeScPqKTffq7vv82Y03P9UlyPqt/ohpQ//y9ePblL7KW65/o - mM17Y2A97x6qAade6IXv/aztsvq9utPSn6pO87+hGCAfdOSEovHq27rm8z9pWs/5oeG08C+yAYZJB34b - e2/4YeS94oeO66L3Og7zHqIYQAnGECAVAwDTEJf4ZU19HwAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACC0lE + QVQ4T2P4//8/RRirICkYznAqu8PpWn1X0bX9VZZz79ta6+lft5jP+nXRbOrXfSad77uNK55mGebfsNKK + OyuGYYBP7QMu14bnRXbtbzd5J1246Bd+YI1P+OF8r8ij6S7RpydbFN45qdnz6bli9bM7ysHHKtWs9vCg + GOBSddfetuX1o6CAfbdjQrf4wySRsXnW5YmqqdevSDvtu6dlvjwSJg4mbJpe7DTNv//dz3ldB0wCG1ZN + ubBNxm3vZx3zhWthYmDCtPrpct2Yq9+cLVdnwySwYeX08+vlvHZ/NbScvwQmBiYsim/5a/iduaFmuO0y + TAIbViq5+kbFYeNrK5s5MTAxMGEWd1lZ1f3EAXnrA1/V7bd4wCSRsW722UTl8it/TKwXXbOyXqAJE4cr + 0PQ7YiEecem1tMfBXTAxZKyTf+myWsi+z9a2C9yQxVEUySZfmS2ZcPapht1me2Rxo8xTTprFlz5o+25b + jywOwmBCvP/zR7Xkc84qIQdVpV12vteyXLkRWZFBzukjOtmnv+v7bzPW9FyfJOez+idMDmJA/fP34tmX + v8harn+iYzbvjYH1vHswBSBskHPqhV743s/aLqvfqzst/anqNP8bTA5MyAcdOaFovPq2rvn8T5rWc35o + OC38C1MAwoZJB34be2/4YeS94oeO66L3Og7zHsLk4IrIxVgFicf/GQDTEJf4sarC9QAAAABJRU5ErkJg + gg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAeUlE - QVQ4T+3RURKAIAgE0L3/pWmwcGwlFIfP2B9TeeYIACIoigjaoAw1UDOixweMoMagMlCjWAloUBk4RYu/ - ueaeDXBV7TbPjZYg19ceQ1Mgr9ue/ocZMHykDPhqiPKDbrbB40fxUFrLgyPqzO2BFob5gDSoCbC7Bxde - EHK4KrCbLQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiElE + QVQ4T+2PUQ6AIAxDuf+lkTbWNIOpmH3al5nB3DO2kd5bEcPEpkwqIXDp5w+4EEhUJgSQlQglKhNOIPEc + 43PwSvgU/g2K7z4IY3wOFEm3hD4TvD9lW0IuZOwI2Wnhjl+45LVQc66MZ8YkREXCjF3GUogSizueMi6h + cIGXwZuMSQhchAr03g5eEHK4HOEqIAAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAADtElE - QVRIS5WUXUibVxjHjx/RaBKSUIy+elXrHBo00As7iuZN3nwomIvWbb0I1NEV1OKt4I1xsotFGEpDZKwR - o50oSa0fMIRAnTpSWmG9mW1Xt+tdDHq3O5n4L8/R2OTkvOoO/Ig573Oe3/s854mMMYYclZWVsNlssFqt - qK6uPtsnysrKYLfbYbFYiqD9/FgdTv4wmUwYGxvD6uoqFhcXEQ6HYTAY+LPW1laMjIxge3sb6+vr2NjY - KGBrawstLS3wer0wGo2i4KOorq4O8XgciUQC6XQabW1tmJychNPpRCAQwM7ODjY3N7G2tsZFRCqVQjKZ - xMLCAmdlZQWZTAZTU1OioLCiiooK/tnY2IhoNIpIJAKfz8fbWV5eLh5CMBhENpvlHSDR/Pw8F9PLzM3N - FcUzRVGQv2hzZmbmLODw8LDgeW5R5bkYqmZ5eflERtU9eYLZeLxQ5HA4ChLQ5ujoaMHeRau9vR3T09NY - efoUPyWTiMdieO7xYJc6YTbLRRMTEwXfL7v6+vrw7fg4EktLyHi99Mb4y+dD57VrcpFsuVwufl+Eqqro - 7+8XQ3B0dIQvhobwg9PJJXs3buBVTw8+s1guFoVCIZSWlhZf7Ck0pfnr31gMTYwhdv8+b93zri6kBgdR - Re3TEw0MDBQllvHjo0cnB6JRXglB+28CAex6PDjw+2GnuxJFx8fHXDIWiaCjo6MosYzZhw/PJDnRy3v3 - 8KvbjdfBIGz0wxdFtChwPZ3Gp7mLvAT5ohRj6Lx+Ha80TV/kqK3FeCSCxOPHUJqbixLq0S/ISoxG7AeD - +iI69PPSEt41N+OBJKEeHkFUYTbj90AAb/x+fVEmHMYztxtoaoJZklSGXybSNPx25w5sVVVy0VtN4xOz - 39sLds54nyeqNJnwTtMwePMmmGzq6NDBqWjL68WBJKkMlyBiioK/QyF8lYuRieaGh/FSVbGrqtjzepG9 - fRtfdnejTCIgSgXJHmP4hDF8kx8nE7ktFkzevYsXPh+XZVUVL+j/19WruGW1wmWzoVVR0Gm18viQWA1j - GBZfSBSVnwZ3ORxctt/Tg2dUnceDX/x+XuEfmoY/NQ2zioJbgoSoFiUyEW1S8Hvqe20trtjteK8ofDBe - d3fzC44NDaGKMXzOGP4RJFFRcJGIOGIM2VwgTR9RUgKHwcCf/ydIvheTX1b0f/hOTCwiE1EVYqLz0G1X - Pg0NDUUiI2N8/oOSpDneMoZexvC1mFAfhvr6etTU1ICkYoDjlJo86vQm6xw+ADu9OhO8z9GhAAAAAElF - TkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACJ0lE - QVQ4T6WS30uTYRiGdx7+AeE/IBM8GTtsR50IHRg6jQ6MyIOiQYEdOMYO6iBMEYS0lDkzt5n5c20618YY - Kk5nBmZFrTbdTOdc31fL0VKcu+L7vrISZJAP3Lwv3O9z8bw8t8rmWsAxscjA5Av5tLvD2FzzPHaGeDQ2 - i3VkGstQkO7BAA8H/HTan9Nh83K/f0qWSgLsF/bJ7h7I2szkiaTyDAUT3O7y/OMd9bWVV1A5JsKyMbP0 - UdZkKCabkhpbnYdecDGKfyGGJ7TKs9k1RqfjCkCaoKndc6jGVjc37jq5dmeUBvNTLhkdXLzVT+3NXs5f - 7+Hc1W4qGx5w9nKHAugbn6NYFQqQPyiwu5cnm9vn684e219+KICe4emj7xFFkba2Nurr69Hr9djsDj6L - OwiZXT5tf+fD+jd8cxEF0PUkQCKRoKWlhWw2KwOi0SjpdBpBECg9XUpd3QViiS0200qz2WxmzP9KAUhr - MRqNVFVVUVFRgVqtJpfL4fP5aG6+R8mpEmpq9LyLJjGZTBgMBjQaDeXl5QpA2uXGxobcGIvF5AmsVivV - 1dWk0qIC0Nfyfk3g7WqG8JsUZWVlOCaW/wCOlsViQafT0WQ0odVqOaPT0d7Zy8uIyNxKmsDSFv2uX1/4 - DUgmk7IEQSQeX2d4ZByn24s/GMLtnWEqEGZ+OcGg9zU29wpW518TnCgHEuC4KEtJLBplCXBclKUJikZZ - AkiX/5UKTqafsLwA5EY1M54AAAAASUVORK5CYII= - - - - - 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 + O706Ewj1hikAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABDklE - QVQ4T6WSvY3DMAxG3wpeIbNkBLtwkfZSuLnCgKAijQtDpYs0WsEreIVbwSt4BR14VGH9IBcghQqRH59E - 8iOEwCcnvdBu0Da56JT3RSwTBJhdLoq5L8kX8RLgA9hLIaQ94PtfgFOAX7O4UfjzdQsqtrtCpi4WN1o8 - CriYTwXQXmER8R7vDnq5m1xbBWjRPbayOH3d/uSalwCF2CMOVF4vhvoGQAb3lOLqWt8BHHFw8gtpRU7x - k7yoi0JxpKytA7+BP8Bu2s4t2UReHGDwKlRHwtDALLALzB584oUzwMFgZGDwSHYOvWxlldfhkWzkDDBq - onGHWzE4zU0r9FsVoKLRwFI3zJ8jxRfT9Rz/BalCUid5a6EwAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABJklE + QVQ4T6WSvZHCMBCFtwVaoBZKEAEB6RGQXOAZRgGJAw+hAyfbAi3QwrVAC9eC71vJDFpLcwnBs/Xe/kj7 + I/M8fwRPJDzAptRKYNNKc0QCn+FWaoXty+yV7khKoCBuS32x/Yp8c1zpjki45QR6X+mXnHz6v4QkSHzm + JP0+87DJwR3Qqj+OJEHCTmQ05+fCedXB+GXtm+xNUU5LKSN/uz3+tPwMTdFAEE1LDQVaNfWFpmjgZho3 + WXBzrC80RQMJeEFqHIhWiqEeryMS9oujbSTCBFfOSrLI38o5ukmsgzmcNTsO6elwxjhwmLb8sanbhTIB + N5+pW3G8Irxnzhix6d1ux+YmUiYg2JaoA8eqcdnWk+TwcLoj0pFkbC9M2kjbi3731mf5A6lCUicKFTV6 + AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE - QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe - FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g - j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu - MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx - WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ - BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM - B4HjT5oAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE + QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn + QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH + f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD + VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp + hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe + hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc + DAdFhtjSAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB60lE - QVQ4T2P4//8/AyUYQwAZT97yLWby5q875u3++mj5wa9HVh78OmXVoa9SRBnQt+Hrjr4NX/90r/v6vHHF - l8f1S77cmbvz6+NVh75+QjYErqF71av/y058NQCz131d1r/x2+/USe/euBSc+G2duv2PecKW7+4Vdz/O - 3P71zapDX2+iGLDq0FfOxiUv/8878PVq/YqvDRM2ffsT1/P8n2vB8f92Gbt/mcauOe6Sv/WhZfzyP2Ed - 734uPfD1PoYLimc+/5816/P/wjlf/kf2fHxhlbzlr0Xihh+msSvzQfIBtdtVDCMWv3Atv/2+YemXPRgG - JPU9++/d9OZ/dO/n/2Vz3vzX8J602iRmhSNMXsGhjtku69Bv17I7rxtWfjmEYUBQ89P/ZsX3/3s2vQK7 - JLHn0f+6xW8tkQxgtcs89Ner7tm35pVftmAY4FTx+L9D0bX/VpnH/5vEb/tvGLX2v4bP1P8webO49Uq2 - mQf/BbS8/lsw/XEphgHoGBSwyHx1r0nurmW3/6RNfv+vd8NXNoIGoGOLlH0XQzo+/AurO5+LLI6hEB3H - 9b1Xcsi/EOPf8uGfX+WVb1oBsxlJMsCj+rGzf8unXx4lF38aR63yQpfH0ICOo3o/RzqXXGs0jVknii5H - lAGEMIYAqRgAbgzMptd1HX8AAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB+ElE + QVQ4T2P4//8/RRirIAxP3vItZvLmrzvm7f76aPnBr0dWHvw6ZdWhr1LIalA0IOO+DV93APGf7nVfnzeu + +PK4fsmXO3N3fn0MNOATsiFwDd2rXv1fduKrAZi97uuy/o3ffqdOevfGpeDEb+vU7X/ME7Z8d6+4+3Hm + 9q9vgAbcRDEAKMDZuOTl/3kHvl6tX/G1YcKmb3/iep7/cy04/t8uY/cv09g1x13ytz60jF/+J6zj3c+l + B77eRzEAhItnPv+fNevz/8I5X/5H9nx8YZW85a9F4oYfprEr80HyAbXbVQwjFr9wLb/9vmHplz0YBiT1 + Pfvv3fTmf3Tv5/9lc9781/CetNokZoUjTF7BoY7ZLuvQb9eyO68bVn45BBOHGxDU/PS/WfH9/55Nr8Au + Sex59L9u8VtLmDzQAFa7zEN/veqefWte+WULTBxugFPF4/8ORdf+W2Ue/28Sv+2/YdTa/xo+U4FSEHmz + uPVKtpkH/wW0vP5bMP1xKUwcbgA6BgUsMl/da5K7a9ntP2mT3//r3fCVDSYOV0AIW6TsuxjS8eFfWN35 + XGRxFEXYcFzfeyWH/Asx/i0f/vlVXvmmFTCbEVkeRTE27FH92Nm/5dMvj5KLP42jVnmhy6NwsOGo3s+R + ziXXGk1j1olik8cQIBVjFSQe/2cAAG4MzKZBtgOMAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB40lE - QVQ4T2P4//8/AyUYzlh16KvUyoNfpyw/+PXIvN1fH/Ws/5JSufALJ7oGdAzXvOrQ109zd359XL/ky53G - FV8et676cqdi0ZfPlYu+pKJrwmbAzZnbv75xr3zw3jxhy3erlG1/HHKPf02Z/PlF4ZwvLwrnfgkDqVt2 - 4quBQ9G1/xgGLD3w9X5Yx7ufZtHzf7vkrb9pGrvmmGnsmi9m8Zt/J0/+/Dd95udn2XO/RM478PWqdebx - /6sOfYV7DUw0LP2yx7X8znt1r55bAbXbVUBiprEr842jl3/VCZj9K7Tz4/PCOV/+Z836/N8kfiumCxpW - fjnkWn7vlZpn32EFhzpmmKRJzApHDe9Jq8vmvPkf3fv5v3fTm/96oYsxDWhe+WWLd/2Lrxrek28qONSx - wiSnbP2qO2XrV7DNnk2v/psV3/+v4TMV04CC6Y9LA1vf/DWKXPNLwaGOGyYJCjCrzOP/TeK3/dcLWQLW - rOrWhWlA74avbGmT3/9zLbv9R91rkjuyAuQAw4bhjLC687khHR/+WaTsu4iuCB+GM7QCZjP6V1976d/y - 4a9D/oWYuL73SuiKsWEUjlbAbD6fypunAlo/f/WofuyMrhgbxhAAYe+GV6FRvZ8j0cWxYQwBUjGGAKkY - AK7WxHD7c7sYAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB5ElE + QVQ4T2P4//8/RRjOWHXoq9TKg1+nLD/49ci83V8f9az/klK58AsnsmJsGEyANAPxp7k7vz6uX/LlTuOK + L49bV325U7Hoy+fKRV9S0TUhYzAB1Hxz5vavb9wrH7w3T9jy3Spl2x+H3ONfUyZ/flE458uLwrlfwkDq + lp34auBQdA3IRDNg6YGv98M63v00i57/2yVv/U3T2DXHgPiLWfzm38mTP/9Nn/n5WfbcL5HzDny9ap15 + /D/QQrjXwETD0i97XMvvvFf36rkVULtdBSRmGrsy3zh6+VedgNm/Qjs/Pge65H/WrM//TeK3AqXRXNCw + 8ssh1/J7r9Q8+w4rONQxwyRNYlY4anhPWl02583/6N7P/72b3vzXC10MlEIzoHnlly3e9S++anhPvgk0 + gBUmOWXrV10gBtvs2fTqv1nx/f8aPlOBUmgGFEx/XBrY+uavUeSaX0ADuGGSoACzAvrZJH7bf72QJWDN + qm5dQCk0A3o3fGVLm/z+n2vZ7T/qXpPckRUgBxg2DGeE1Z3PDen48M8iZd9FZAWEMJyhFTCb0b/62kv/ + lg9/HfIvxMT1vVdCVogLo3CAhvD5VN48FdD6+atH9WNnZDlcGKugd8Or0Kjez5HY5NAxVkFSMFZB4vF/ + BgCu1sRwcCvT7QAAAABJRU5ErkJggg== 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 + RK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACiUlE - QVQ4T4WS3UtTcRzG95900Y1XYdBNV0Fd2YVaEggRXqSiaTbLJJdWiomVmimJw9x8W5pDV6QlWPlWmk7N - 1Eyn5vvbptPp2tl2ds4ntjMMctDFc/GD5/k8D19+KkD1P1lMYcN75rOfsGoss63HZTbVc78nz5ssprCm - I+ZQ8s5EGRY7ToKjiJXeWHCUsvDuBM7xiNdHzCFl1Vg4qABxgIO1FhD78L93ZrJDmENopvmYvNQVg3PT - hMQeLlsb/vdq56mj5pCyau7iKDfi7jI6N01GxAEjjnIkW0EIcwiJlujohffhRmkrx2jXnYHOeOUG8zdQ - 6ZsmqX45QVXDGNraUZ7rzJRpB3la0c+TZ70UFndhqMylx5SD/L2A3eZItltiOZhLZX3wMipd4wSyLCNK - Mh5RwuWW2HdJ2J0+rHsia3aRRasX9Fq4p4G4KLh4nKILp/GvU1UbxpEkmfTKVVLKVogvXuZK4SK2fZGN - XR/L26HD6luvFMCLhjFEn8yl/AWi7s8ToZnlXKaFLX/7jqiEc7IgLhJilPCgReC6ulEBaOu+4RVlBK+E - U5DYdfqw7ftYtwfD/zSb5wT6ZwRS0gwKoLJmBLdX4mH9CPm1ZvJqBnmgG4Dt4WA48jB8s6QdddFbPk8L - JKfUK4AK3TAuj8S+4Au0Wx3Bdj/AL702EB5dcDM0K/BlWqB3ykVScp0CKK8awukOLqgzk6dXFgyHqw7D - meWdZJR2BBe00f3DRUJSrQIo034NtNsPfIHDrdu9LNq8zG54+LnqYXzJw+ivv+09Uy4+TriIT9QrAP+H - KSrr41FJN/mPP5Bb0EFObjtZ2W+4faeV9AwjaepGUlINJF2rIyGxhqvxuoD8gD/FexT5V1saowAAAABJ - RU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACh0lE + QVQ4T4WSyU9TURjF+5+4YOPKYOLGlYmucAEoMSExxoVAwCKCIhEEFYMEtSBCJDRImawgDaARlASVSUFG + FXBoAZmnFspUW9rX937e9jUxkZe4OLn5bu7vnJMvVwf8V7aWg8NbQ8ffY8+yTTaHKaymTv2eONki7hs0 + gX/ls0aZZ9sPw7aBhZ5YcRYz8/oQrrGIF5rAPolkdstA6md3qUmcvQTmDWu2xmMNWRsPKHOdMbhWW5DZ + wu1oJTAvdhzRBvbJnnWD7VILe50WYWIRTSxiRnbkazzWkGSLjp55E26R13IsTtMx6IhTdzB9GV1VwwSV + z8apePoFY80oj01DlBgHeFjWx4NHPRQUdmIuz6W7JQflaz6bjZGsN8WyO5XM8sBZdKb6cRRFQZIVvJKM + e09mxy3jdPmxb0ksOSVm7T6oMsLNLDgfBafDMJw6Ksqh01Wax5AFnFa+iL5kgbjCec4VzOLYkVjZ9DO/ + rg2nXn2uGjwR1SW/wpm8GaJuTRORNcmJDBtrgfQNSYVzMgUcCTEqPGDzcCm1XjUw1n7GJyl4fDIuj8ym + qO7Y8bMsqmslD0156LN60KeYVYPy6hH2BHy3boS8miHuVA9w29QP68MhWCSH4CtFbaQaXvHhp4ckfZ1q + UGYaxu0Vi/P4g+n27VB6wCAg0SIAj87sMTjp4aOAe767SUyqVQ1KKwZxic0HG9SKBlVqg+Fw8QVCcEZp + B+nF7aEGrXR9cxOfWKMalBg/BdOdu/7g4padPmYdPiZXvPxY9DI252X019/0bpH+btxNXEKVahD4MIaS + Xu4VdZF3/y25+e3k5LaRmf2Sa9ebSUu3kCI2rk82k3ixlviEai7EmYICdH8AxXsU+dXRvF8AAAAASUVO + RK5CYII= iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAdElE - QVQ4T7WTQQrAIAwEBf//5hRKI3ZWRbr1MAc345qLJSLKn0jgIoGLBC4SuEjgUmqtPfHAnKRHPheO3Ps8 - k3ZK6UlhDinO6B9vd1YCCwi914YsoDyCzrnCHOSwP89K6TSXoo0EA7jFavMDX4+BiwQuErhc7EeiiR4r - 8zwAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAfUlE + QVQ4T+2UQQqAMAwEC/3/myMNTYjjomA8ehjozi5SQRxm9ilSdpCyg5QdpOwgZYcx56zYhp7Ejrx+4IJb + z3WQcsOOcOeZgyz2+Y7YVU6vfCkf4M5zDXHOEo5w47mGOGcJR7jxXIsoaw5HuAkun00bKYG6yUJt/79N + GxsH7EeiiVdcqusAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAX0lE - QVQ4T72OWwoAIAgEvf+lC0FFt3x8RCN9ZO0oLYakPNprKoZ80O5UyvKpFp4Krh+ngvJj1rfXH4ICEHiJ - 6xX0ggYRwMqDoBKiVvpI7MtPK5iA0UOAU/9voOD0Zxtszyqxa1VmsC8AAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE + QVQ4T82OUQ7AIAhDuf+l2UA7O4OIH0v2Gj+EtipqSBeD2UbvkIEVMAtmgdav+t3C1YLQWC1Ijb8oSJgK + uIRmCW3L5rlgQ3M8IVMtCChI6shdlB33hDqAY0NE9DKO70MdwLGhgI9+oHoBzyqxa4rWeaEAAAAASUVO + RK5CYII= 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 + gg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAABrElE - QVQ4T52RWS8DcRTF56N4IqKINX0gQcT+ggceSCR8G30REQ9qiaWCpo09LbUTamnKYNpoi7ZUEUvb1DIz - R+YmM5FmxoObnJyb/8z5/ZfLAGAkzW1xSJVljcWUzYXx+QNJ3fK/v6U0UkCrjDMbKK7rUoUojXX9PDWn - VN+4DfZdVoYYVAEzK+7UnFJD5jUKy1IFTC4dQUwJiqJIazwvYHDagd7RZRTVdqoDTAtOCIKA00sfudcf - xDcvwH3hQ/LzC66La1hs+9oAg3EO/ts7MAwD1ntNzvmC5IduD/mYZVUb8F8pzbzjiHYJBB/IvYEw+bn3 - hnzbyZIXVjSrn2Bidhss54Mgiog+vdADspwf8eQnDk/9CEXeYRiwIqOoRh1gnHbgm+eVCUgP+Br7QDga - Axd4xsllBD0ji8gtb1UH9E/YlbC0eyL5hYfnBK6CL3B7othxhWiMulKNK0gf5ZLm/hb/wP1jnAAHZ3dw - OG8IkKlv+Buwd+zB0sYJRq2bGDavo99kp6Cs9MJqbYA044KqDuRXtiOvsg05ZS0kXUkTskoakamvR1p2 - qTrgv/oBFQAPI+QT9ewAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAABu0lE + QVQ4T52R2S9DQRTG+6d4ImKLNR5IELG/4IEHEgn/jb6IiAe1pLZY0saeltoJtTTllttGW9RapJZK0eUz + c5rbNHrviy/58p3MnPObzIwKAHl2U8Rf61YFTBgsGJnb5+6UeuMdK/iAkjRT6yio6ZCFxAr9mo2FvHpG + DDDuCBJEzZYSAVPLVhbyGphepWHJTImA8cVDRFgRr0gkQmuhUBj9kyZ0a5eQX93OtxIBY/NmhMNhnJw7 + KR0uD4Js0HrmROD7B5azS+gMe8oAtWYWrus7tqKC4LikFJ0eygOrnXJYt6IM+K9jxZzpkE5xex4pHe5b + SpvjinLLLFDmlTWydhnA6MwWBJHdnz2c99lHDyiILvgD3zg4ceHm4R3qPj1S8qtYuwxAw145GAqxMir+ + gK8fX7j1fkB0v+D4/AFdQwvIKm3m24mA3lEji6j46Z+BHzy+fOLC44PV7sW25Ya+Mb1Y4Qp8UxL/9zf/ + F+6f/ATYP72DyXxFgNTCOt6iDNg9smNx/Rha/QYGp9fQO2akQcnJeZW8TR7A/zi3og055a3ILm9BZkkT + Ob2oAWlF9ez0WiRlFLN2GcD/DNUvFQAPI9EcSZQAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAChUlE - QVQ4T5WT3UvTURyH9xd0ERREFyFEsaC0bDOkulArRI2G0jCm5my5fBkOm2bmoqS5THxhmilWK9GyZppz - zqW2scnGTFNrU8vQMbP3NlNZjrZ94vx+YMQq8uJzdc7zfF84hwGAsZYYpcLY9pxUkPQXCcKCLvwrHbfO - RRFwtioPYwW0JOjS30Lgvs4SqHqHMH4ln4KrWSz6cNKsgM1Ug1F9JaxPymHqlsGiK4e1vxwj+muYeFYD - nSofLkcFXg3mQCYrgXwfC4RdFQT8dvh9T+Hz6vDDo4Z3SYXv7hbMTSqgbRVQ8KSej67GWGxcvw7X5SdR - X3aGTwlIdb/P8kdYo+QGwSN6CWou8ZAaF+mkBOOGKvhW9PAuP8LKwj14vijhtFdD3ZQQBNtNIrw0F6Mo - m0ME9A6G+yrgXeqBx3UXy58asfhOgRs3m2HRyuF8fnYVnjBlYX5MDHOPEJncaCQfiaAFFu1VeFwPsPS+ - Dt/mKuF2lFGCQMCPNgWHgm0GIZzDuXhjPg3NnWNIOBiGxKhwWmDskmH54208bClElZwPcWY8RGIJOElc - MBgMDPdmYMYixJQhHS90J6CqO4RoNhNx+0NpwYDqMhbnG+CaKcXXaSk+TxXhg02Ct6N5mLVm4bUxA7Y+ - Htk6ZIU85KbFIukwm5JQgt77F7EwV/sb7BjKxvSgAPaBFIxqjsPafpSCyRgxEUyUisIRGbqVFqibL8Dt - qMZgdwYMHWnob0uGtjkRj5viqXZbKw9AWcamKhO4tpiNBulO7N6+hRZ0Ks9Dkr4H4pRwZHH34hSHhZQ4 - NrVlsigyK2mXtC0V7kJ98Q4oCraBGbLp11v/Xwlpm1QmcMjmDcGfZq35CbrbuL7aUBONAAAAAElFTkSu - QmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAChElE + QVQ4T52Q3U/SYRiG+Qs6aKutddDcWs220jKwuepArebUFtPFbKCJmYQfkxmakbRyIZFTHJrprCimZWGa + X0hqMHEwTFMLxLIpg+w7NXWkC7zj/f02W5MO7OA+et/rep7nZgBYV/qkgpimrGSQ9BSmhwb89K8037kQ + ScCp8lyM5NOSgB8DhcDdLUXQdg1g9FoeBSuZTPrRYVbBZqrAsKEM1mcKmNplsOgVsPYoMGS4gbEXFdBr + 8zDjLMWb/izIZEWQH2D6UTBWBSs+O3ze5/Au6/HL04blBS1+ztbD7VBB15BOwQ4DH621Mdi8cQNuyk+j + uuQcnxKQ6T6vJSDcoeasgYcMYlRc4SI5NsJFCUaN5fAuGbC8+ARLcw/g+aaGy65EW138GthuysFrswSF + mWwioDsY7C71T+2EZ+Y+Fr/UYv6DCrdua2DRyeF6eX4VHjMJMT0igrlTgAxOFJKOhdMCi+66H36EhY9V + +OEuw6yzhBKsrPjQqGJTsM0ogGswG+/MZ9Fx7wTiD4ciITKMFvS1yrD4+S4e1xegXM6HKCMOOSIx2Ikc + f80MDHalYdIiwLgxFa/0p6CtOoIoVjBiD4bQgl7tVcxP12BmshjfJ6T4Ol6ITzYx3g/nYsoqxNu+NNi6 + uaR1yAq4yE6JQeJRFiWhBF0PL2POXfkX7BzIxER/Ouy9PAx3nIS16TgFkzOiw4NRnBOGiJDttKBNc8l/ + txL97WkwNqegpzEJOk0CntbFUes2lB2CuoRFTSZwpYSFGulu7N25jRa0qC9CnLoPIl4YhJz9OMNmghfL + olomRZFbybpkbalgD6olu6DK34HgoC20YD0SsjaZTOCgrZv+CP4vYPwGutu4vmPLy7gAAAAASUVORK5C + YII= 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 - agkV7KYAAAAASUVORK5CYII= + QVQ4T51TbUhTYRQ+WVgw29h258012txsLXSOiAJd8UIZSBFkVhAYBUWIYqZhhQ4ug8JWmR+Ykj9CEkaN + pB+lDGQMspDAoqDCws21K0T5Y8Toy5Sn17rIiH54feD8OAfe55znOeelJaHd5aEbm3RKph4l4XVwBC1R + JVWP8lEBdXENtF0WSSmpg/uRDedntNgVEUD+PKaUFdzaquPBqHcLo+5iRl2FjGtm1OZkdNXBqNXG3A+t + OBKz4dSkAdbbYop8xgw/+OPKlyJOvtfj8CsTysfy4I1YsNDVGiqAod8F2wMXDk3aUTGRj7InZuQEhAw/ + eOd6eS1a09m4+EmD6oQeR9/mYu/4epQ+zkdh2Imikb8E+yecKHtuhyNkQ1aLTvGDj90g56BjdhUC39fA + n9agOaVD44wRtR/5ZNNmVCU2LBLsebMZ26MuVI5wP+qzPbSguSGpUUXQk/aiKmoA1a3kBNywUPIm3s0H + 8WK+E6NzLQj/Oo3B2QO489OL3h8b4f9iWiS4/HkfuuUdMEmrFQnc7bbxPgx9GMT9RA8GpiT0TVWjM16B + K7ESSDE7mmTjH4Kzyd2IfG1EcYeYYeK1Ah0F7HxdVkaXLIz8ZkaSyMgnMGrWM7qgZe6QCcfiRXg914+D + wW0pqs1Sd9buuwKefbuH62NnQDUr/jmkJaBp6ByeysOw+MTlnfLxgRPY2V66/M9ENeTh8R/dRL8BDkAX + agnC/hIAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABDklE - QVQ4T6WSvY3DMAxG3wpeIbNkBLtwkfZSuLnCgKAijQtDpYs0WsEreIVbwSt4BR14VGH9IBcghQqRH59E - 8iOEwCcnvdBu0Da56JT3RSwTBJhdLoq5L8kX8RLgA9hLIaQ94PtfgFOAX7O4UfjzdQsqtrtCpi4WN1o8 - CriYTwXQXmER8R7vDnq5m1xbBWjRPbayOH3d/uSalwCF2CMOVF4vhvoGQAb3lOLqWt8BHHFw8gtpRU7x - k7yoi0JxpKytA7+BP8Bu2s4t2UReHGDwKlRHwtDALLALzB584oUzwMFgZGDwSHYOvWxlldfhkWzkDDBq - onGHWzE4zU0r9FsVoKLRwFI3zJ8jxRfT9Rz/BalCUid5a6EwAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABJklE + QVQ4T6WSvZHCMBCFtwVaoBZKEAEB6RGQXOAZRgGJAw+hAyfbAi3QwrVAC9eC71vJDFpLcwnBs/Xe/kj7 + I/M8fwRPJDzAptRKYNNKc0QCn+FWaoXty+yV7khKoCBuS32x/Yp8c1zpjki45QR6X+mXnHz6v4QkSHzm + JP0+87DJwR3Qqj+OJEHCTmQ05+fCedXB+GXtm+xNUU5LKSN/uz3+tPwMTdFAEE1LDQVaNfWFpmjgZho3 + WXBzrC80RQMJeEFqHIhWiqEeryMS9oujbSTCBFfOSrLI38o5ukmsgzmcNTsO6elwxjhwmLb8sanbhTIB + N5+pW3G8Irxnzhix6d1ux+YmUiYg2JaoA8eqcdnWk+TwcLoj0pFkbC9M2kjbi3731mf5A6lCUicKFTV6 + AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE - QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe - FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g - j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu - MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx - WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ - BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM - B4HjT5oAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE + QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn + QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH + f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD + VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp + hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe + hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc + DAdFhtjSAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB60lE - QVQ4T2P4//8/AyUYQwAZT97yLWby5q875u3++mj5wa9HVh78OmXVoa9SRBnQt+Hrjr4NX/90r/v6vHHF - l8f1S77cmbvz6+NVh75+QjYErqF71av/y058NQCz131d1r/x2+/USe/euBSc+G2duv2PecKW7+4Vdz/O - 3P71zapDX2+iGLDq0FfOxiUv/8878PVq/YqvDRM2ffsT1/P8n2vB8f92Gbt/mcauOe6Sv/WhZfzyP2Ed - 734uPfD1PoYLimc+/5816/P/wjlf/kf2fHxhlbzlr0Xihh+msSvzQfIBtdtVDCMWv3Atv/2+YemXPRgG - JPU9++/d9OZ/dO/n/2Vz3vzX8J602iRmhSNMXsGhjtku69Bv17I7rxtWfjmEYUBQ89P/ZsX3/3s2vQK7 - JLHn0f+6xW8tkQxgtcs89Ner7tm35pVftmAY4FTx+L9D0bX/VpnH/5vEb/tvGLX2v4bP1P8webO49Uq2 - mQf/BbS8/lsw/XEphgHoGBSwyHx1r0nurmW3/6RNfv+vd8NXNoIGoGOLlH0XQzo+/AurO5+LLI6hEB3H - 9b1Xcsi/EOPf8uGfX+WVb1oBsxlJMsCj+rGzf8unXx4lF38aR63yQpfH0ICOo3o/RzqXXGs0jVknii5H - lAGEMIYAqRgAbgzMptd1HX8AAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB+ElE + QVQ4T2P4//8/RRirIAxP3vItZvLmrzvm7f76aPnBr0dWHvw6ZdWhr1LIalA0IOO+DV93APGf7nVfnzeu + +PK4fsmXO3N3fn0MNOATsiFwDd2rXv1fduKrAZi97uuy/o3ffqdOevfGpeDEb+vU7X/ME7Z8d6+4+3Hm + 9q9vgAbcRDEAKMDZuOTl/3kHvl6tX/G1YcKmb3/iep7/cy04/t8uY/cv09g1x13ytz60jF/+J6zj3c+l + B77eRzEAhItnPv+fNevz/8I5X/5H9nx8YZW85a9F4oYfprEr80HyAbXbVQwjFr9wLb/9vmHplz0YBiT1 + Pfvv3fTmf3Tv5/9lc9781/CetNokZoUjTF7BoY7ZLuvQb9eyO68bVn45BBOHGxDU/PS/WfH9/55Nr8Au + Sex59L9u8VtLmDzQAFa7zEN/veqefWte+WULTBxugFPF4/8ORdf+W2Ue/28Sv+2/YdTa/xo+U4FSEHmz + uPVKtpkH/wW0vP5bMP1xKUwcbgA6BgUsMl/da5K7a9ntP2mT3//r3fCVDSYOV0AIW6TsuxjS8eFfWN35 + XGRxFEXYcFzfeyWH/Asx/i0f/vlVXvmmFTCbEVkeRTE27FH92Nm/5dMvj5KLP42jVnmhy6NwsOGo3s+R + ziXXGk1j1olik8cQIBVjFSQe/2cAAG4MzKZBtgOMAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB40lE - QVQ4T2P4//8/AyUYzlh16KvUyoNfpyw/+PXIvN1fH/Ws/5JSufALJ7oGdAzXvOrQ109zd359XL/ky53G - FV8et676cqdi0ZfPlYu+pKJrwmbAzZnbv75xr3zw3jxhy3erlG1/HHKPf02Z/PlF4ZwvLwrnfgkDqVt2 - 4quBQ9G1/xgGLD3w9X5Yx7ufZtHzf7vkrb9pGrvmmGnsmi9m8Zt/J0/+/Dd95udn2XO/RM478PWqdebx - /6sOfYV7DUw0LP2yx7X8znt1r55bAbXbVUBiprEr842jl3/VCZj9K7Tz4/PCOV/+Z836/N8kfiumCxpW - fjnkWn7vlZpn32EFhzpmmKRJzApHDe9Jq8vmvPkf3fv5v3fTm/96oYsxDWhe+WWLd/2Lrxrek28qONSx - wiSnbP2qO2XrV7DNnk2v/psV3/+v4TMV04CC6Y9LA1vf/DWKXPNLwaGOGyYJCjCrzOP/TeK3/dcLWQLW - rOrWhWlA74avbGmT3/9zLbv9R91rkjuyAuQAw4bhjLC687khHR/+WaTsu4iuCB+GM7QCZjP6V1976d/y - 4a9D/oWYuL73SuiKsWEUjlbAbD6fypunAlo/f/WofuyMrhgbxhAAYe+GV6FRvZ8j0cWxYQwBUjGGAKkY - AK7WxHD7c7sYAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB5ElE + QVQ4T2P4//8/RRjOWHXoq9TKg1+nLD/49ci83V8f9az/klK58AsnsmJsGEyANAPxp7k7vz6uX/LlTuOK + L49bV325U7Hoy+fKRV9S0TUhYzAB1Hxz5vavb9wrH7w3T9jy3Spl2x+H3ONfUyZ/flE458uLwrlfwkDq + lp34auBQdA3IRDNg6YGv98M63v00i57/2yVv/U3T2DXHgPiLWfzm38mTP/9Nn/n5WfbcL5HzDny9ap15 + /D/QQrjXwETD0i97XMvvvFf36rkVULtdBSRmGrsy3zh6+VedgNm/Qjs/Pge65H/WrM//TeK3AqXRXNCw + 8ssh1/J7r9Q8+w4rONQxwyRNYlY4anhPWl02583/6N7P/72b3vzXC10MlEIzoHnlly3e9S++anhPvgk0 + gBUmOWXrV10gBtvs2fTqv1nx/f8aPlOBUmgGFEx/XBrY+uavUeSaX0ADuGGSoACzAvrZJH7bf72QJWDN + qm5dQCk0A3o3fGVLm/z+n2vZ7T/qXpPckRUgBxg2DGeE1Z3PDen48M8iZd9FZAWEMJyhFTCb0b/62kv/ + lg9/HfIvxMT1vVdCVogLo3CAhvD5VN48FdD6+atH9WNnZDlcGKugd8Or0Kjez5HY5NAxVkFSMFZB4vF/ + BgCu1sRwcCvT7QAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgUlE - QVQ4T6WQWw2AMBAE1wGSKgUpSEAKEpBSCZVQ0rSXPoafg0uGj8newqGcs/4A4QXCC4QXCqk83rgkbchD - SGFYOhrJSpCHqGMFNufXgrvhOmEssBNiO2NHHmIusLH/kpCHmAvKYsHOiMhD9OWVckJAHqK/daV+2ppf - hRcILxBeHkdnUwqevR+DAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiklE + QVQ4T6WQ0Q2AIAxE2cCRGMVRHMFRHMFRGIERsAUuJFxNqF7yPny5ltRQSvmFKT2Y0oMpPbAQ9cIlbNQn + EULsA8rRyf37oj6JFixATuHTgrtTh4WlEzRYgBOSoGfs1CfRggUI/kumPokWLNBBBWck6pMYwzN6QqQ+ + ifHqTA31Z+HFlB5MuU4JD0dnUwrgCrV/AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgElE - QVQ4T6WRUQ2AMAxE6wAJSEACEpCCJCQgAQlIGjm2EtIjjBtL3kcv15cSLKVkf6BAhQIVClQoOMP8JjPD - 4KyxVxP0WPJlzLFXE+BtRYBrqPdF4Od3LYKhLO+X7akbg5tgLoKlVYBFDBDJApzt3w/wR6j3JhgD2gUK - FKhQoHIAVnlxb1bdEucAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiElE + QVQ4T6WR0QmAMAxEu4EjOIIjOIKjOJIjdARHcKSYSyiCvA+DBw+8x7UUbGb2C5QVUFZAWYFlZnNUBh23 + KDOz0504rI5blE9OR0Kv4S3KJypiikJblJnFUbmieXCLMrM7Kkc0D25RZnRQRRdFcIsyn62Pgf4Ib1G2 + tr6I4JZkBZQVUH7H2g1WeXFvwrwKSQAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAf0lE - QVQ4T2P4//8/AyUYQ4BUjCFAKsYQIBWjchgY7BkYGEAMGN6PRcwenwH8DAwM+VCF9xkYGPTRxOpBfHwG - ILsCZDu6GIjG64VhYgAo0N5DNcACcT1UDMQmaAAIxCMZAsIgNkgMDIgxAAZATgY7GxkQMgBkEyi+cWEa - GkAOBgCjTd7+r93eSgAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE + QVQ4T92RUQ2AMAxE6wApSJgUJCABSUhAChKQUHrbGjgYH4U/Lnlhd+G6ZRNV/UQzjNAMIzTDCGxEkoGF + szSyRB0yIp0x1h9Xo79kEzx1yBT5jtjd5Rm+3CFT9IMBuLTNQOCXONcMa+6QOTQYPgRgjSyLOmTuwpHz + sc+iDpki7IT3foI7ZIreD4ijsgOjTd7+jqoH+QAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE - QVQ4T92PQQrAMAgE/f+nLfUQdFdiYT0VmZJMyJCau9smJFRIqJBQqeLDmMUnCKMETyTvlSDOGCy/ki6h - O7F3tREsezWI59dgDmQwXs6mIF4sr+lmCuILxugt2AU696PgBiRUSKiQUHkANGDdTeFIubEAAAAASUVO - RK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE + QVQ4T82M2w7AIAxC/f+fdrVqAwvNLt3DRljCqdB6759awoolrFjCihnckH3j53aCfTODC8UIZuybKTzV + 5eB44I+iotlQsNWNDQqinLFIqxsbFJIysvMd+75BwLQH0POS3LBvprBFhcVSYd/MwIRj2/OSCPtmDmJA + MRL0fYPC7we/sIQVS1ixhO/d2wE0YN1NDoBJDwAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAcklE - QVQ4T72QUQrAMAhDvf+lHX50qJFqSSnhDczom52oqtwEChYoWOIgYg+b/lRdyFPhEvgDeYZMhBmQnAgt - Y5mlE+btWulE6A9Uc/jQTlht5LvqHSXMaYUnGV15mrAxK4TrM8L1Pz174QWgYIGCBQqWD+N21FbTYK/z - AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAm0lE + QVQ4T62NUQ7DIAxDe/9LMyclyGauygZ6eh8xtXu11o5qwx1tuKMeOENcA5cJ1M8NOU4PBm6Q7y+4DzUA + MTB7vzzAfahBZ3ks4D7UAPBYeb88wH2oAZgH3F1mUt2uHvxhhzP3xv3ckIPKhcuKzKmfGxL8wPgJ96EG + i4yxgPtQgwVkLOA+1OCFGJuVPpTjhDbc0YY72vB/2/UB43bUVn8JuhoAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAdElE - QVQ4T7WTQQrAIAwEBf//5hRKI3ZWRbr1MAc345qLJSLKn0jgIoGLBC4SuEjgUmqtPfHAnKRHPheO3Ps8 - k3ZK6UlhDinO6B9vd1YCCwi914YsoDyCzrnCHOSwP89K6TSXoo0EA7jFavMDX4+BiwQuErhc7EeiiR4r - 8zwAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAfUlE + QVQ4T+2UQQqAMAwEC/3/myMNTYjjomA8ehjozi5SQRxm9ilSdpCyg5QdpOwgZYcx56zYhp7Ejrx+4IJb + z3WQcsOOcOeZgyz2+Y7YVU6vfCkf4M5zDXHOEo5w47mGOGcJR7jxXIsoaw5HuAkun00bKYG6yUJt/79N + GxsH7EeiiVdcqusAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAB/ElE - QVQ4T2P4//8/AyUYQ4BUDGc4ld3hdK2+q+ja/irLufdtrfX0r1vMZ/26aDb16z6TzvfdxhVPswzzb1hp - xZ0VwzDAp/YBl2vD8yK79rebvJMuXPQLP7DGJ/xwvlfk0XSX6NOTLQrvnNTs+fRcsfrZHeXgY5VqVnt4 - UAxwqbprb9vy+lFQwL7bMaFb/NGdCcLmWZcnqqZevyLttO+elvnySBQDbJpe7DTNv//dz3ldB7pGZKya - cmGbjNvezzrmC9eiGGBa/XS5bszVb86Wq7PRNSFj5fTz6+W8dn81tJy/BMUAi+Jb/hp+Z26oGW67jK4J - GSuVXH2j4rDxtZXNnBgUA8ziLiurup84IG994Ku6/RYPdI0grJt9NlG5/MofE+tF16ysF2iiGADCmn5H - LMQjLr2W9ji4C10zCOvkX7qsFrLvs7XtAjdkcRRFsslXZksmnH2qYbfZHlncKPOUk2bxpQ/avtvWoxsM - JsT7P39USz7nrBJyUFXaZed7LcuVG5EVGeScPqKTffq7vv82Y03P9UlyPqt/ohpQ//y9ePblL7KW65/o - mM17Y2A97x6qAade6IXv/aztsvq9utPSn6pO87+hGCAfdOSEovHq27rm8z9pWs/5oeG08C+yAYZJB34b - e2/4YeS94oeO66L3Og7zHqIYQAnGECAVAwDTEJf4ZU19HwAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACC0lE + QVQ4T2P4//8/RRirICkYznAqu8PpWn1X0bX9VZZz79ta6+lft5jP+nXRbOrXfSad77uNK55mGebfsNKK + OyuGYYBP7QMu14bnRXbtbzd5J1246Bd+YI1P+OF8r8ij6S7RpydbFN45qdnz6bli9bM7ysHHKtWs9vCg + GOBSddfetuX1o6CAfbdjQrf4wySRsXnW5YmqqdevSDvtu6dlvjwSJg4mbJpe7DTNv//dz3ldB0wCG1ZN + ubBNxm3vZx3zhWthYmDCtPrpct2Yq9+cLVdnwySwYeX08+vlvHZ/NbScvwQmBiYsim/5a/iduaFmuO0y + TAIbViq5+kbFYeNrK5s5MTAxMGEWd1lZ1f3EAXnrA1/V7bd4wCSRsW722UTl8it/TKwXXbOyXqAJE4cr + 0PQ7YiEecem1tMfBXTAxZKyTf+myWsi+z9a2C9yQxVEUySZfmS2ZcPapht1me2Rxo8xTTprFlz5o+25b + jywOwmBCvP/zR7Xkc84qIQdVpV12vteyXLkRWZFBzukjOtmnv+v7bzPW9FyfJOez+idMDmJA/fP34tmX + v8harn+iYzbvjYH1vHswBSBskHPqhV743s/aLqvfqzst/anqNP8bTA5MyAcdOaFovPq2rvn8T5rWc35o + OC38C1MAwoZJB34be2/4YeS94oeO66L3Og7zHsLk4IrIxVgFicf/GQDTEJf4sarC9QAAAABJRU5ErkJg + gg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMElE + QVQ4T6WS30uTURjHdx/+AeE/MBR2M3aZV90IXSx0Gl0YkRdFQoFdOMYu6iJsIghpKXNmmzPz53I618YY + U5zODMyKsjZ1plPX+5Y5WsrmPvm+rz9KEiEf+HIe+J7z4TnnfFWOwUmcQ1N0Dr+S1w53BMfgBE9dYZ70 + j2HrDWHtDtLSFeBxp5+mjpc0Orw8tI/IkgGZXIbU1o6slY0sc2tZuoNx7jZ7/vKO+rria6icQxHZGJ3+ + LGs4HJNNSdV1rgMvOBXFPxnDE57nxdgCfaFFBSBNUNPgOVB1nZtb913cuNdHpfk5V4xOLt+xU3a7jYs3 + W7lwvYXiykecv9qoANoHxjmpcjnI7uTY2s6SSmf4vrnN+rdfCqC1J7S37bBEUaS+vp6KigoMBgOODidf + xU2EjS2+rP/k09IPfONzCqD5WYB4PI7FYiGVSsmAaDRKMplEEATyz+ZTXn6JWHyVlaRy2Gw20+9/owCk + bzEajej1ejQaDQUFBaTTaXw+H7W1D8g7k0dpqYEP0QQmk4mqqiq0Wi2FhYUKQPrL5eVl+WAsFpMnsNls + lJSUsJYUFYChjI8LAu/nN4i8W0OtVu9mZuYQcLSsVitFRUXUGE3odDrO7fYNTW28nhMZn00SmF7FPrh3 + hX1AIpGQJQgii4tL9PQO4HJ78QfDuL2jjAQiTMzE6fK+xeGexeb6Y4JT5UACHBdlKYknRlkCSMa/oixN + sO8dG2UJIDX/K9Xu+51CqH4DsLwA5JN+awcAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAAAtklE + QVQ4T2P4//8/RRjOqKrv+F/T0AnGlUCcU9b5X8/QFCiFXw5uQE1DB0jg/6/ff/9//v4HjE0t7EFCeOWQ + DOgEKvj3P6Dp63/D1LP/7775/V9TxwisCJ8c3ACQ00AmWxY9+q+fdOL/ietP/0vLKYMV4ZODGwDyF0gR + yHSQgm1HL/8XEpEAK8InBzfA3NLuv7WDx399I8v/8soa/0XEpYGyICn8cnADyMVwxmg0DotoJA//ZwAA + qy/GB3Ky9SEAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACMklE + QVQ4T6VT30tTcRT//gm+9OBbL/Xai3vooR9oUVbYjOnmdVyxTalFGxuJa+FljbVCy5WrLTOTvIgNM3Fk + rpb9kCyHrVoMNAqJkRgi9BSBL5885zIf7mW9dOG8fPh+zvmcz/lcEZ+J7N4sxDJhRJ9eRM8TBZFUAMGJ + DgTGvOgYPQuPegqnh5xw3G2BfLsZ0i0bGmMNVPuoAd4X3+HL+iIKa5/xYTWH+R9zeLk8g+mvjzG5OI5k + YQTDn+7hTi6O+EIfet92Q0kHIHltEDSZyPmfH5GaXcLD53moqXn0J19grDAKNT9kwJXMeThVGfWO4xDR + dJAnL6xk+RF9fzYAuzvC5IFcwoB3TvkgDzTjgKUGonuqi2W/Kb7mCb9+A9/XgKNyJ5Nj2agB9z1yw56w + wlRdBRGe9PPOz76lWV5xHcgtA6ZaB5Ovzl0x4O6kC9Y+C3bu2gGhjJ9jw1JLE4gNT7NEmkIPiRyZDW3h + hFG51HY0XDOjcnslhD/pYbdLhpVkl8hkGO1MsmkykdsHT8J8uQ4V2yogvCMuPlU5t4msx1sTMo6FjmgN + ztxv4zuXc5sm63H7DQm1XYe0Bm2DrRyScm6TbD1u62nEQX+N1qCl384JK+c27azHLZdOoNq3X2sgxZtw + M3sd4VdBwxVKhulxc7AOez17tAb0U4QyClwPnBxPShiFhO5MpyK3yTDamWTTZCKb5KqtBoebLlghuW2c + bYonJYxCQnemR/+oerFp7n8UxF+CFapvsjm7iAAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgUlE - QVQ4T6WQWw2AMBAE1wGSKgUpSEAKEpBSCZVQ0rSXPoafg0uGj8newqGcs/4A4QXCC4QXCqk83rgkbchD - SGFYOhrJSpCHqGMFNufXgrvhOmEssBNiO2NHHmIusLH/kpCHmAvKYsHOiMhD9OWVckJAHqK/daV+2ppf - hRcILxBeHkdnUwqevR+DAAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiklE + QVQ4T6WQ0Q2AIAxE2cCRGMVRHMFRHMFRGIERsAUuJFxNqF7yPny5ltRQSvmFKT2Y0oMpPbAQ9cIlbNQn + EULsA8rRyf37oj6JFixATuHTgrtTh4WlEzRYgBOSoGfs1CfRggUI/kumPokWLNBBBWck6pMYwzN6QqQ+ + ifHqTA31Z+HFlB5MuU4JD0dnUwrgCrV/AAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAgElE - QVQ4T6WRUQ2AMAxE6wAJSEACEpCCJCQgAQlIGjm2EtIjjBtL3kcv15cSLKVkf6BAhQIVClQoOMP8JjPD - 4KyxVxP0WPJlzLFXE+BtRYBrqPdF4Od3LYKhLO+X7akbg5tgLoKlVYBFDBDJApzt3w/wR6j3JhgD2gUK - FKhQoHIAVnlxb1bdEucAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAiElE + QVQ4T6WR0QmAMAxEu4EjOIIjOIKjOJIjdARHcKSYSyiCvA+DBw+8x7UUbGb2C5QVUFZAWYFlZnNUBh23 + KDOz0504rI5blE9OR0Kv4S3KJypiikJblJnFUbmieXCLMrM7Kkc0D25RZnRQRRdFcIsyn62Pgf4Ib1G2 + tr6I4JZkBZQVUH7H2g1WeXFvwrwKSQAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAf0lE - QVQ4T2P4//8/AyUYQ4BUjCFAKsYQIBWjchgY7BkYGEAMGN6PRcwenwH8DAwM+VCF9xkYGPTRxOpBfHwG - ILsCZDu6GIjG64VhYgAo0N5DNcACcT1UDMQmaAAIxCMZAsIgNkgMDIgxAAZATgY7GxkQMgBkEyi+cWEa - GkAOBgCjTd7+r93eSgAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE + QVQ4T92RUQ2AMAxE6wApSJgUJCABSUhAChKQUHrbGjgYH4U/Lnlhd+G6ZRNV/UQzjNAMIzTDCGxEkoGF + szSyRB0yIp0x1h9Xo79kEzx1yBT5jtjd5Rm+3CFT9IMBuLTNQOCXONcMa+6QOTQYPgRgjSyLOmTuwpHz + sc+iDpki7IT3foI7ZIreD4ijsgOjTd7+jqoH+QAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAa0lE - QVQ4T92PQQrAMAgE/f+nLfUQdFdiYT0VmZJMyJCau9smJFRIqJBQqeLDmMUnCKMETyTvlSDOGCy/ki6h - O7F3tREsezWI59dgDmQwXs6mIF4sr+lmCuILxugt2AU696PgBiRUSKiQUHkANGDdTeFIubEAAAAASUVO - RK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAjklE + QVQ4T82M2w7AIAxC/f+fdrVqAwvNLt3DRljCqdB6759awoolrFjCihnckH3j53aCfTODC8UIZuybKTzV + 5eB44I+iotlQsNWNDQqinLFIqxsbFJIysvMd+75BwLQH0POS3LBvprBFhcVSYd/MwIRj2/OSCPtmDmJA + MRL0fYPC7we/sIQVS1ixhO/d2wE0YN1NDoBJDwAAAABJRU5ErkJggg== iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAcklE - QVQ4T72QUQrAMAhDvf+lHX50qJFqSSnhDczom52oqtwEChYoWOIgYg+b/lRdyFPhEvgDeYZMhBmQnAgt - Y5mlE+btWulE6A9Uc/jQTlht5LvqHSXMaYUnGV15mrAxK4TrM8L1Pz174QWgYIGCBQqWD+N21FbTYK/z - AAAAAElFTkSuQmCC + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAm0lE + QVQ4T62NUQ7DIAxDe/9LMyclyGauygZ6eh8xtXu11o5qwx1tuKMeOENcA5cJ1M8NOU4PBm6Q7y+4DzUA + MTB7vzzAfahBZ3ks4D7UAPBYeb88wH2oAZgH3F1mUt2uHvxhhzP3xv3ckIPKhcuKzKmfGxL8wPgJ96EG + i4yxgPtQgwVkLOA+1OCFGJuVPpTjhDbc0YY72vB/2/UB43bUVn8JuhoAAAAASUVORK5CYII= iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABZ0lE - QVQ4T6WRz0sCQRiG/XO0sv6HfhD9ooNFJblZdIjw4KmIIDdK6xKIWxREYJduZVBElJGUoEGS0C7uooGe - FgRPrqAovjEDWruuqfTBc/lmvmfemTEAMPwHw3UoDT2cJ+kb7WY9qEBbpGdn/W1JmgpC0TjsTm9LSV3g - j/5AE+zHG2A8MTg4SSXUTUCKDNSqWq2iXC7DtvMGs+UCKwcfdYluAsJvQalUgqIosLpecR6IoXvyDEvu - MJW0TODgJKx6eYQiX5jZDKJr4hSm8WOYxo7IcvME5L7k1FwuB1mWkclkkEqlIIoiPIcBGEd8akGlUkGx - WEShUEA+n4eVDSObzWJ5L4LF3RcsbD+DYYNgXI9w+y7Vgr5hBr1D8zAPWmEemENP/yyNS05NJpNIJBIQ - BAE8z1NUAu2/1pjeuKeRGfYJtq0HFW0Jptbv8P4pwcNd0QEtLQWWtVv60sZRjm7W409BuzQ0OuUbK1wM - B4HjT5oAAAAASUVORK5CYII= + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAABaElE + QVQ4T6WQz0sCQRiG/XO02vof+kH0iw4WleRm0SGig6cigtworUsgblEQgV26lUERUUZSggZJQSsqGrgn + QfC0K7govjkDWbuMaPjBM4eZ+Z7vnTEBaAvTVSgLFs7j7DWrwQgVGIvsOQR/S5KGglD0Aw6nt6mkLvBH + f6EJ9moCA7wnhhUxpRMyE5AiDT9VrVZRLpdh334FZz3H0v57XcJMQPgr0DQNqqrC5nrBWSCGzvFTLLjD + VNI0QS0ylr0SQpEvTG0E0TF2AsvoESwjh+S4cQLyXjK1UCggl8tBlmVkMhkkk0l4DgIwD/n0gkqlglKp + hGKxCEVRYBPCyOfzWNyNYH7nGXNbT+CFIHjXA9y+C72gZ5BH98AsuH4buL4ZdPVO07hkajqdRiKRQDwe + hyRJFJ2ALCwm1+9oZF54hH3zXkdLgom1W7x9puARL2mDkaYC6+oN/WnzsEgvsyD3mM3/gbnZOjB9Aytc + DAdFhtjSAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 - JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACYklE - QVQ4T6WSXUiTURjHX+jCboo+qKuuCqKbKCqoLjIKt8KPFovEFi0XsU1KNlnaNlJzpujSzaVpW7Qv1OZH - JYqToiE0HH3P2Iw+JJpGrmXt3dycy+If74mFrwsiOvDjwHvO//c87zmHAkD9D2kfGNwDtXDd0qDPooKs - MGf74nWWoLddr+ht1yOFpfE4wsEOxILXMTHWgDIxF/oaBa5q1TDUlDJwFguQoHuQjHQjEe6EvU2B+LQN - ZRKe/+WIEhfO5kIp2oGg+ySmneshEx5CmoAJJyMOtNaegNfTAPpDM6bG1HjnOYV+Ew8SQSY6ytfhmZ5C - 0bEctqDb1vhLQN+EtlyISkUB1MX5OF/Eh0LMg1yUC6kgC02yDURQkJ3JFnSatZijuzAXMiI+WYfQi2L4 - basJPusqeNuW4bEhg4QZsnZvZQvsxlrMhiyYDVQj/uoMYs+PgB5YDp3ViTpjHy5e6YJSa4dcY4JEZYCw - pJ4tMLdoMDNhQGxMjJknuYg+2IZPd9aQcGok578jHEkgMBVGvrQKeYXq3xLKpKsA/boa0UdcRIc3IzK0 - FhNWilRmhvm2m2B0uOAbD5LwvRE/DvBFREK11KvwZfQcIq5NoAdXItSTgfEbFGn72/wPfI0mEPgYhu9t - EJ7R98gWyMHli7D/4GFk7tkLqulSKUIPpaAHV+Bz71JMti+Bv5WCTGMibac6uOZwodk+hP5hP5kZdm3Z - COpyZQl5IKlTTiFWGViV73vekHDPXS8czqcsAUdXcRoyIQ8iPgd5+3aSBea0mX9OVfsTRLDwShZyVFpF - NvyNtOC/8hMb4cocvUYexQAAAABJRU5ErkJggg== + JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAAAr2AAAK9gHCr3ADAAACX0lE + QVQ4T6WSa0hTYRjHD/TBvhRdqE99Koi+RFFB9SGjUAsvLYzEjMxFTKVkk6XpSC1N0eVtadqMvAw1b5Uo + KUUiJI7uGs7oIpEauZa1s3nP4tc5RwZNBgW98OPA+77/3/O8D0cA/gufmz3tOXTdzqS1KhVtTMh2X3c8 + CC21RXoJPFQVHMdpr2PSfoORwXySNUEUZeu5ZjRgyk6SCVwsYEZsZs7VxIyzHku5nqnxGpJjVbbXvSlc + OBtKinoH9p6TjHesRxt9SMotEsjhOVcDZTkn6LPmI34qYWzQwAfrKdoqVMRG+VOXto4XRQLxx0K8BU01 + BQsC8RbGtGgy9JEYEiI4Hx+OXqNCpw4lLiqAYu0GRRAZ7O8tqK80Mis2MuswMzWai+NVAraa1QoD1avo + K1/GU5OfEpYJ2L3VW2Ax5zDtqGJ6OIupN2eYfHkEsX05hdUd5JpbuXi1kRSjBV1mBbGpJqIT87wFlaWZ + TIyYmBzUMPEsFPejbXy5u0YJe9bc/E+crhmGx5xExF0iLMYgby8IKgrTEd9m4X4ShLt7M67OtYxUC0pl + eVXe6VEwN3QxMGRXwg96bRwIV8vHglCal8q3/nO4ujYh3luJo9mPoZuC0vaP+V98d0uVPzsZeG/H2v+R + 4CgdQVJ4/8HD+O/Zi1B8OQnH4zgpvIKvLUsZrV2CrUxAK71ZbtvTwXWpgxJLJ23dNuUrs2vLRoQrGYnK + D+KZsgeNNLA/Kz+0vlPCzff7aOh47iUILEw/Lf1hKtThgYTt26kcyNOW3+yp5gtFIA/CF0elacsX/obP + 8L+D8Bsb4cocWY3wtQAAAABJRU5ErkJggg== \ No newline at end of file diff --git a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs index c3a3910c..046af0aa 100644 --- a/PROMS/Volian.Controls.Library/VlnFlexGrid.cs +++ b/PROMS/Volian.Controls.Library/VlnFlexGrid.cs @@ -166,13 +166,6 @@ namespace Volian.Controls.Library { if (this.TableCellEditor.Text.Contains("")) return false; - //C2025-023 - Electronic Procedures - Modifications to PROMS - //To handle if EP designation changed so will save in the DB - if (IsUserDataDirty) - { - IsUserDataDirty = false; - return true; - } XmlDocument XdOld = new XmlDocument(); oldXml = _ReplaceTextFont.Replace(oldXml, "$1" + FontChangeFmt + "$4"); // B2021-032: use original font XdOld.LoadXml(AdjustHeightAndWidthForDPI(oldXml)); @@ -335,7 +328,7 @@ namespace Volian.Controls.Library XmlNodeList nl = xd.SelectNodes("C1FlexGrid/Styles/Style/Definition"); string data = string.Empty; foreach (XmlNode xn in nl) - { + { string str = xn.InnerText; string[] splStr = str.Split(';'); foreach (string s in splStr) @@ -859,10 +852,7 @@ namespace Volian.Controls.Library if (Row >= cr.r1 && Row <= cr.r2) { int cellHeight = GetCellHeight(Row, c); - //C2025-023 - Electronic Procedures - Modifications to PROMS - //Userdata will now contain: height, EP Designation - string tmpUD = $"{cr.UserData}"; - int dataHeight = (cr.UserData == null) ? cellHeight : int.Parse(tmpUD.Split(',')[0]); + int dataHeight = (cr.UserData == null) ? cellHeight : (int)cr.UserData; int ud = dataHeight / (Rows.DefaultSize - 3); //if (cellHeight < dataHeight) // Console.WriteLine("r {0}, c {1}, cell{2}, data{3}", Row, c, cellHeight, dataHeight); @@ -1253,24 +1243,11 @@ namespace Volian.Controls.Library if (_tableCellEditor._initializingEdit || !_tableCellEditor.Visible) return; int curHeight = GetCellHeight(Row, Col);//(Rows[Row].Height == -1) ? Rows.DefaultSize : Rows[Row].Height; CellRange cr = GetMergedRange(Row, Col); - //C2025-023 - Electronic Procedures - Modifications to PROMS - //Userdata will now contain: height, EP Designation - string tmpUD = $"{cr.UserData}"; - int oH = cr.UserData == null ? curHeight : int.Parse(tmpUD.Split(',')[0]); + int oH = cr.UserData == null ? curHeight : (int)cr.UserData; int nH = _tableCellEditor.Height; //.ContentsRectangle.Height; int nW = _tableCellEditor.Width; // Width int Hadj = (nH - curHeight);//oH); - string tmp = $"{cr.UserData}"; - int comma = tmp.IndexOf(','); - if (comma != -1) - { - cr.UserData = $"{_tableCellEditor.Height},{tmp.Substring(comma + 1)}"; - } - else - { - cr.UserData = _tableCellEditor.Height; - } - + cr.UserData = _tableCellEditor.Height; //.ContentsRectangle.Height; //int cellHeight = GetCellHeight(Row, Col); //int cellheightNLines = cellHeight / (Rows.DefaultSize - 3); //int nHNLines = nH / (Rows.DefaultSize - 3); @@ -1394,18 +1371,7 @@ namespace Volian.Controls.Library { _rtf.Width = e.Bounds.Width - 1; // This has also been -3 which matchs the rener command CellRange cr = GetMergedRange(e.Row, e.Col); - //C2025-023 - Electronic Procedures - Modifications to PROMS - //Userdata will now contain: height, EP Designation - string tmp = $"{cr.UserData}"; - int comma = tmp.IndexOf(','); - if (comma != -1) - { - cr.UserData = $"{_rtf.Height},{tmp.Substring(comma + 1)}"; - } - else - { - cr.UserData = _rtf.Height; - } + cr.UserData = _rtf.Height; int hAdjust = 0; int hDiff = e.Bounds.Height - _rtf.Height; if (hDiff < 0) @@ -2646,84 +2612,6 @@ namespace Volian.Controls.Library CellRange cr = this.Selection; cr.Clear(ClearFlags.Content); } - - public enum EPinputtype - { - none, - textbox, - checkbox, - multi - }; - private bool IsUserDataDirty = false; - - //C2025-023 - Electronic Procedures - Modifications to PROMS - //Userdata will now contain: height, EP Designation - //For Electronic Procedures to set the Electronic Procedure input type - //for when cells in a table will need a textbox or checkbox in the EP viewer - public void SetEPinputtype(EPinputtype EPtype) - { - CellRange cr = this.Selection; - - for (int r = cr.r1; r <= cr.r2; r++) - for (int c = cr.c1; c <= cr.c2; c++) - { - CellRange cr_single = GetCellRange(r, c); - string tmpUD = $"{cr_single.UserData}"; - string height = cr_single.UserData == null ? $"{GetCellHeight(r, c)}" : tmpUD.Split(',')[0]; - - if (EPtype == EPinputtype.none) - cr_single.UserData = int.Parse(height); - else - cr_single.UserData = $"{height},{EPtype}"; - } - - //save the changes - Select(cr); - IsUserDataDirty = true; - } - - //C2025-023 - Electronic Procedures - Modifications to PROMS - //Userdata will now contain: height, EP Designation - //For Electronic Procedures get the Electronic Procedure input type - //for when cells in a table will need a textbox or checkbox in the EP viewer - public EPinputtype GetEPinputtype() - { - EPinputtype result = EPinputtype.none; - - CellRange cr = this.Selection; - - for (int r = cr.r1; r <= cr.r2; r++) - for (int c = cr.c1; c <= cr.c2; c++) - { - CellRange cr_single = GetCellRange(r, c); - string tmpUD = $"{cr_single.UserData}"; - int comma = tmpUD.IndexOf(','); - if (comma != -1) - { - EPinputtype newresult = (EPinputtype) Enum.Parse(typeof(EPinputtype), tmpUD.Substring(comma + 1)); - //if first cell, overwrite none - if (result == EPinputtype.none && r == cr.r1 && c == cr.c1) - { - result = newresult; - } - else if (result != newresult) - { - result = EPinputtype.multi; - return result; - } - - } - else if (result != EPinputtype.none) - { - result = EPinputtype.multi; - return result; - } - } - - return result; - - } - public void SetupCellUserData() { for (int r = 0; r < Rows.Count; r++) @@ -2737,19 +2625,7 @@ namespace Volian.Controls.Library _rtf.Width = Cols[c].Width; _rtf.Rtf = rtfText; CellRange cr = GetCellRange(r, c); - - //C2025-023 - Electronic Procedures - Modifications to PROMS - //Userdata will now contain: height, EP Designation - string tmp = $"{cr.UserData}"; - int comma = tmp.IndexOf(','); - if (comma != -1) - { - cr.UserData = $"{_rtf.ContentsRectangle.Height},{tmp.Substring(comma + 1)}"; - } - else - { - cr.UserData = _rtf.ContentsRectangle.Height; - } + cr.UserData = _rtf.ContentsRectangle.Height; } } } diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 6b66749e..03901008 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -160,10 +160,10 @@ namespace Volian.Controls.Library foreach (KeyValuePair pair in _DicSingleRO) { string val = MyConfig.GetValue("EP", pair.Key); - if (val != null && val != "" && int.TryParse(val, out int n)) - pair.Value.SelectedValue = n; + if (val != null && val != "") + pair.Value.SelectedValue = val; else - pair.Value.SelectedValue = -1; + pair.Value.SelectedValue = ""; } foreach (KeyValuePair pair in _DicMultiRO) @@ -175,9 +175,8 @@ namespace Volian.Controls.Library { var selectedvalues = val.Split(multiseparator.ToCharArray()); foreach (string item in selectedvalues) - if (int.TryParse(item, out int n)) { - string text = ((List)pair.Value.DataSource).First(x => x.Value == n).Text; + string text = ((List)pair.Value.DataSource).First(x => x.Value == item).Text; pair.Value.SetSelected(pair.Value.FindString(text), true); } } From 6db9567eb9950e4bc46d8d03ef77088cccae4c58 Mon Sep 17 00:00:00 2001 From: mschill Date: Wed, 23 Apr 2025 07:42:28 -0400 Subject: [PATCH 06/22] C2025-023 - Electronic Procedures - Modifications to PROMS Working on Adding functionality for EP input for tables --- PROMS/Formats/epall/EPFormatTST1.xml | Bin 2646 -> 2890 bytes .../TablePropertiesControl.Designer.cs | 146 ++++++++++++ .../TablePropertiesControl.cs | 207 ++++++++++++++++++ .../TablePropertiesControl.resx | 120 ++++++++++ .../Volian.Controls.Library.csproj | 9 + .../frmEPAnnotationDetails.cs | 7 + 6 files changed, 489 insertions(+) create mode 100644 PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs create mode 100644 PROMS/Volian.Controls.Library/TablePropertiesControl.cs create mode 100644 PROMS/Volian.Controls.Library/TablePropertiesControl.resx diff --git a/PROMS/Formats/epall/EPFormatTST1.xml b/PROMS/Formats/epall/EPFormatTST1.xml index c0d3ce528e2e8aafd4a4c2ad0126c49dd47054d7..eb2888d1672028b5e7d5c1d11698140f0efa1592 100644 GIT binary patch delta 172 zcmca6a!PDN5Tm6lLjXewLn1>GLk>eKLncEWLjgl6P(+DA0Z3K?d8rJxKwb!gBZCuz z4}&X%CxahQPw3=AMqyV^xOxSKG=_YJBA_l;ut~{4-T6S-Oon8jSO8EaAIM5&NCBE& j1f)TxLv5WrkyBeZ1jYl~tj}P_z&Y8TS#@&|BMT=0#Slc1>hM5aVVyCKgTrANT{- diff --git a/PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs b/PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs new file mode 100644 index 00000000..89653836 --- /dev/null +++ b/PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs @@ -0,0 +1,146 @@ + +namespace Volian.Controls.Library +{ + partial class TablePropertiesControl + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.lbl_Rows = new System.Windows.Forms.Label(); + this.lbl_Cols = new System.Windows.Forms.Label(); + this.NumRows = new System.Windows.Forms.NumericUpDown(); + this.NumCols = new System.Windows.Forms.NumericUpDown(); + this.dataview = new System.Windows.Forms.DataGridView(); + this.lbltitle = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.NumRows)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.NumCols)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dataview)).BeginInit(); + this.SuspendLayout(); + // + // lbl_Rows + // + this.lbl_Rows.AutoSize = true; + this.lbl_Rows.Location = new System.Drawing.Point(0, 34); + this.lbl_Rows.Name = "lbl_Rows"; + this.lbl_Rows.Size = new System.Drawing.Size(89, 13); + this.lbl_Rows.TabIndex = 0; + this.lbl_Rows.Text = "Number of Rows:"; + // + // lbl_Cols + // + this.lbl_Cols.AutoSize = true; + this.lbl_Cols.Location = new System.Drawing.Point(0, 56); + this.lbl_Cols.Name = "lbl_Cols"; + this.lbl_Cols.Size = new System.Drawing.Size(102, 13); + this.lbl_Cols.TabIndex = 1; + this.lbl_Cols.Text = "Number of Columns:"; + // + // NumRows + // + this.NumRows.Location = new System.Drawing.Point(114, 32); + this.NumRows.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NumRows.Name = "NumRows"; + this.NumRows.Size = new System.Drawing.Size(47, 20); + this.NumRows.TabIndex = 3; + this.NumRows.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NumRows.ValueChanged += new System.EventHandler(this.NumRows_ValueChanged); + // + // NumCols + // + this.NumCols.Location = new System.Drawing.Point(114, 54); + this.NumCols.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NumCols.Name = "NumCols"; + this.NumCols.Size = new System.Drawing.Size(47, 20); + this.NumCols.TabIndex = 4; + this.NumCols.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.NumCols.ValueChanged += new System.EventHandler(this.NumCols_ValueChanged); + // + // dataview + // + this.dataview.AllowUserToAddRows = false; + this.dataview.AllowUserToDeleteRows = false; + this.dataview.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dataview.ColumnHeadersVisible = false; + this.dataview.Location = new System.Drawing.Point(3, 73); + this.dataview.Name = "dataview"; + this.dataview.Size = new System.Drawing.Size(240, 150); + this.dataview.TabIndex = 5; + // + // lbltitle + // + this.lbltitle.AutoSize = true; + this.lbltitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbltitle.Location = new System.Drawing.Point(3, 4); + this.lbltitle.Name = "lbltitle"; + this.lbltitle.Size = new System.Drawing.Size(0, 17); + this.lbltitle.TabIndex = 6; + // + // TablePropertiesControl + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.Controls.Add(this.lbltitle); + this.Controls.Add(this.dataview); + this.Controls.Add(this.NumCols); + this.Controls.Add(this.NumRows); + this.Controls.Add(this.lbl_Cols); + this.Controls.Add(this.lbl_Rows); + this.Name = "TablePropertiesControl"; + this.Size = new System.Drawing.Size(319, 252); + ((System.ComponentModel.ISupportInitialize)(this.NumRows)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.NumCols)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dataview)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label lbl_Rows; + private System.Windows.Forms.Label lbl_Cols; + private System.Windows.Forms.NumericUpDown NumRows; + private System.Windows.Forms.NumericUpDown NumCols; + private System.Windows.Forms.DataGridView dataview; + private System.Windows.Forms.Label lbltitle; + } +} diff --git a/PROMS/Volian.Controls.Library/TablePropertiesControl.cs b/PROMS/Volian.Controls.Library/TablePropertiesControl.cs new file mode 100644 index 00000000..9e02019a --- /dev/null +++ b/PROMS/Volian.Controls.Library/TablePropertiesControl.cs @@ -0,0 +1,207 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Volian.Controls.Library +{ + public partial class TablePropertiesControl : UserControl + { + private DataTable values; + private BindingSource bindingSource = null; + private int totalrows = 1; + private int totalcols = 1; + + //initialization / data will be: + // totalnumrows,totalnumcols;(row,col):value|(row,col):value... + public TablePropertiesControl(string title, string initialvalues) + { + InitializeComponent(); + + lbltitle.Text = title; + initializevalues(initialvalues); + bindingSource = new BindingSource(); + bindingSource.DataSource = values; + dataview.DataSource = bindingSource; + dataview.AutoGenerateColumns = false; + + Load += new EventHandler(FormLoad_setDefaults); + } + + //initialization / data will be: + // totalnumrows,totalnumcols;(row,col):value|(row,col):value... + private void initializevalues(string initialvalues) + { + values = new DataTable(); + + if (!string.IsNullOrEmpty(initialvalues)) + { + string[] grp = initialvalues.Split(';'); + string[] total = grp[0].Split(','); + initializedt(int.Parse(total[0]), int.Parse(total[1])); + + string[] ivs = grp[1].Split('|'); + //pair will be of format: + //(row,col):value + foreach (string pair in ivs) + { + Match m = Regex.Match(pair, @"\(([\d]),([\d])\):([\w])"); + if (m.Success) + { + int row = int.Parse(m.Groups[1].Value); + int col = int.Parse(m.Groups[2].Value); + string v = m.Groups[3].Value; + values.Rows[row][col] = v; + } + + } + } + else + { + initializedt(1, 1); + } + } + + //initialize the blank datatable + private void initializedt(int numrows, int numcols) + { + totalrows = numrows; + totalcols = numcols; + + BindingSource bindingSourceDropDown = new BindingSource(); + bindingSourceDropDown.DataSource = Enum.GetNames(typeof(EPinputtype)); + + var cName = new DataGridViewComboBoxColumn(); + cName.DataSource = bindingSourceDropDown; + + //foreach (string n in Enum.GetNames(typeof(EPinputtype))) cName.Items.Add(n); + cName.DefaultCellStyle.NullValue = "none"; + + for (int c = 0; c < totalcols; c++) + { + dataview.Columns.Add(cName); + values.Columns.Add(); + //dataview.Columns[c].CellTemplate = new DataGridViewComboBoxCell() { DataSource = bindingSourceDropDown }; + } + + //values.Columns.Add(new DataColumn() { DefaultValue = "none" }); + for (int rw = 0; rw < totalrows; rw++) + { + values.Rows.Add(); + } + + } + + void FormLoad_setDefaults(object sender, EventArgs e) + { + BindingSource bindingSourceDropDown = new BindingSource(); + bindingSourceDropDown.DataSource = Enum.GetNames(typeof(EPinputtype)); + + var cName = new DataGridViewComboBoxColumn(); + cName.DataSource = bindingSourceDropDown; + cName.DefaultCellStyle.NullValue = "none"; + + for (int c = 0; c < totalcols; c++) + { + dataview.Columns.RemoveAt(c); + dataview.Columns.Insert(c, cName); + } + } + + //Get storage string for storing table values in db + // data will be: + // totalnumrows,totalnumcols;(row,col):value|(row,col):value... + public string GetStorageValue() + { + StringBuilder bldr = new StringBuilder(); + bldr.Append($"{totalrows},{totalcols}"); + List points = new List(); + for (int rw = 0; rw < values.Rows.Count; rw++) + { + for (int col = 0; col < values.Columns.Count; col++) + { + if ((string) values.Rows[rw][col] != "none") + points.Add($"({rw},{col}):{values.Rows[rw][col]}"); + } + } + + + if (points.Count > 0) + { + bldr.Append(";"); + bldr.Append(string.Join("|", points)); + } + + return bldr.ToString(); + } + + private void NumRows_ValueChanged(object sender, EventArgs e) + { + int endNumRows = (int)NumRows.Value; + int curNumRows = totalrows; + + //remove rows till equal + while (curNumRows > endNumRows) + { + values.Rows.RemoveAt(curNumRows - 1); + curNumRows--; + } + //add rows till equal + while (curNumRows < endNumRows) + { + values.Rows.Add(); + curNumRows++; + } + + totalrows = endNumRows; + } + + private void NumCols_ValueChanged(object sender, EventArgs e) + { + int endNumCols = (int)NumCols.Value; + int curNumCols = totalcols; + + BindingSource bindingSourceDropDown = new BindingSource(); + bindingSourceDropDown.DataSource = Enum.GetNames(typeof(EPinputtype)); + + var cName = new DataGridViewComboBoxColumn(); + cName.DataSource = bindingSourceDropDown; + cName.DefaultCellStyle.NullValue = "none"; + + //remove cols till equal + while (curNumCols > endNumCols) + { + values.Columns.RemoveAt(curNumCols - 1); + dataview.Columns.RemoveAt(curNumCols - 1); + curNumCols--; + } + //add cols till equal + while (curNumCols < endNumCols) + { + values.Columns.Add(new DataColumn() { DefaultValue = "none"}); + if (dataview.Columns.Count > curNumCols) dataview.Columns.RemoveAt(curNumCols); + dataview.Columns.Add(cName); + + curNumCols++; + } + + totalcols = endNumCols; + + } + + public enum EPinputtype + { + none, + textbox, + checkbox + }; + + } + +} \ No newline at end of file diff --git a/PROMS/Volian.Controls.Library/TablePropertiesControl.resx b/PROMS/Volian.Controls.Library/TablePropertiesControl.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/PROMS/Volian.Controls.Library/TablePropertiesControl.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj b/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj index 87305e39..ae6f5783 100644 --- a/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj +++ b/PROMS/Volian.Controls.Library/Volian.Controls.Library.csproj @@ -383,6 +383,12 @@ + + UserControl + + + TablePropertiesControl.cs + Component @@ -528,6 +534,9 @@ ResXFileCodeGenerator Resources.Designer.cs + + TablePropertiesControl.cs + vlnExpander.cs Designer diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 03901008..80cf79f5 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -150,6 +150,13 @@ namespace Volian.Controls.Library panelEP.Controls.Add(lb, 1, panelEP.RowCount - 1); } + if (EP.type.ToLower() == "tableinput") + { + TablePropertiesControl tp = new TablePropertiesControl(EP.text, null); + panelEP.Controls.Add(tp, 1, panelEP.RowCount - 1); + + } + } Load += new EventHandler(Form1Load_setDefaults); From 62ae81c7b3ac8257e55b672a9cebfbc736dca094 Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 25 Apr 2025 15:07:29 -0400 Subject: [PATCH 07/22] C2025-023 - Electronic Procedures - Modifications to PROMS Working on Adding functionality for EP input for tables #2 --- .../TablePropertiesControl.Designer.cs | 5 +- .../TablePropertiesControl.cs | 107 ++++++++++++------ .../frmEPAnnotationDetails.cs | 20 +++- 3 files changed, 91 insertions(+), 41 deletions(-) diff --git a/PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs b/PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs index 89653836..b0d7d2c8 100644 --- a/PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs +++ b/PROMS/Volian.Controls.Library/TablePropertiesControl.Designer.cs @@ -98,12 +98,15 @@ namespace Volian.Controls.Library // this.dataview.AllowUserToAddRows = false; this.dataview.AllowUserToDeleteRows = false; + this.dataview.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.dataview.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dataview.ColumnHeadersVisible = false; this.dataview.Location = new System.Drawing.Point(3, 73); this.dataview.Name = "dataview"; - this.dataview.Size = new System.Drawing.Size(240, 150); + this.dataview.Size = new System.Drawing.Size(316, 150); this.dataview.TabIndex = 5; + this.dataview.CellEndEdit += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataview_CellEndEdit); // // lbltitle // diff --git a/PROMS/Volian.Controls.Library/TablePropertiesControl.cs b/PROMS/Volian.Controls.Library/TablePropertiesControl.cs index 9e02019a..42afccfd 100644 --- a/PROMS/Volian.Controls.Library/TablePropertiesControl.cs +++ b/PROMS/Volian.Controls.Library/TablePropertiesControl.cs @@ -11,34 +11,48 @@ using System.Windows.Forms; namespace Volian.Controls.Library { + //C2025-023 Electronic Procedures + //Control for designating which cells in a table require EP input public partial class TablePropertiesControl : UserControl { + //defines the type of possible inputs from an EP viewer + public enum EPinputtype + { + none, + textbox, + checkbox + }; + private DataTable values; private BindingSource bindingSource = null; private int totalrows = 1; private int totalcols = 1; + public readonly string epname; + private bool IsInitializing; - //initialization / data will be: + //initialization / data will be in the format: // totalnumrows,totalnumcols;(row,col):value|(row,col):value... - public TablePropertiesControl(string title, string initialvalues) + public TablePropertiesControl(string name, string title, string initialvalues) { InitializeComponent(); + IsInitializing = true; + + epname = name; lbltitle.Text = title; initializevalues(initialvalues); - bindingSource = new BindingSource(); - bindingSource.DataSource = values; + bindingSource = new BindingSource(values, ""); dataview.DataSource = bindingSource; dataview.AutoGenerateColumns = false; Load += new EventHandler(FormLoad_setDefaults); } - //initialization / data will be: + //initialization / data will be in the format: // totalnumrows,totalnumcols;(row,col):value|(row,col):value... private void initializevalues(string initialvalues) { - values = new DataTable(); + values = new DataTable("values"); if (!string.IsNullOrEmpty(initialvalues)) { @@ -51,7 +65,7 @@ namespace Volian.Controls.Library //(row,col):value foreach (string pair in ivs) { - Match m = Regex.Match(pair, @"\(([\d]),([\d])\):([\w])"); + Match m = Regex.Match(pair, @"\(([\d]),([\d])\):([\w]+)"); if (m.Success) { int row = int.Parse(m.Groups[1].Value); @@ -61,6 +75,8 @@ namespace Volian.Controls.Library } } + + values.AcceptChanges(); } else { @@ -74,23 +90,11 @@ namespace Volian.Controls.Library totalrows = numrows; totalcols = numcols; - BindingSource bindingSourceDropDown = new BindingSource(); - bindingSourceDropDown.DataSource = Enum.GetNames(typeof(EPinputtype)); - - var cName = new DataGridViewComboBoxColumn(); - cName.DataSource = bindingSourceDropDown; - - //foreach (string n in Enum.GetNames(typeof(EPinputtype))) cName.Items.Add(n); - cName.DefaultCellStyle.NullValue = "none"; - for (int c = 0; c < totalcols; c++) { - dataview.Columns.Add(cName); - values.Columns.Add(); - //dataview.Columns[c].CellTemplate = new DataGridViewComboBoxCell() { DataSource = bindingSourceDropDown }; + values.Columns.Add(new DataColumn($"Column{c}") { DefaultValue = "none" }); } - //values.Columns.Add(new DataColumn() { DefaultValue = "none" }); for (int rw = 0; rw < totalrows; rw++) { values.Rows.Add(); @@ -103,22 +107,50 @@ namespace Volian.Controls.Library BindingSource bindingSourceDropDown = new BindingSource(); bindingSourceDropDown.DataSource = Enum.GetNames(typeof(EPinputtype)); - var cName = new DataGridViewComboBoxColumn(); - cName.DataSource = bindingSourceDropDown; - cName.DefaultCellStyle.NullValue = "none"; - + //in order to achieve a dropdown of possible values need + //to remove the auto-inserted columns + //that were auto-generated of type type text + //when values was bound to the datagrid for (int c = 0; c < totalcols; c++) { dataview.Columns.RemoveAt(c); + var cName = new DataGridViewComboBoxColumn(); + cName.DataSource = bindingSourceDropDown; + cName.DefaultCellStyle.NullValue = "none"; dataview.Columns.Insert(c, cName); } + + NumRows.Value = totalrows; + NumCols.Value = totalcols; + IsInitializing = false; + setDataViewtoValues(); + + } + + //set the display cells to match the values in the datatable for initialization + //and resize of the dataviewgrid + void setDataViewtoValues() + { + if (!IsInitializing) + { + for (int c = 0; c < totalcols; c++) + { + for (int rw = 0; rw < totalrows; rw++) + { + dataview.Rows[rw].Cells[c].Value = values.Rows[rw][c]; + } + } + } } //Get storage string for storing table values in db - // data will be: + // data will be returned in the format: // totalnumrows,totalnumcols;(row,col):value|(row,col):value... public string GetStorageValue() { + //force any in progress editing to commit. + ((BindingSource)dataview.DataSource).EndEdit(); + StringBuilder bldr = new StringBuilder(); bldr.Append($"{totalrows},{totalcols}"); List points = new List(); @@ -160,6 +192,7 @@ namespace Volian.Controls.Library } totalrows = endNumRows; + setDataViewtoValues(); } private void NumCols_ValueChanged(object sender, EventArgs e) @@ -170,10 +203,6 @@ namespace Volian.Controls.Library BindingSource bindingSourceDropDown = new BindingSource(); bindingSourceDropDown.DataSource = Enum.GetNames(typeof(EPinputtype)); - var cName = new DataGridViewComboBoxColumn(); - cName.DataSource = bindingSourceDropDown; - cName.DefaultCellStyle.NullValue = "none"; - //remove cols till equal while (curNumCols > endNumCols) { @@ -184,24 +213,28 @@ namespace Volian.Controls.Library //add cols till equal while (curNumCols < endNumCols) { - values.Columns.Add(new DataColumn() { DefaultValue = "none"}); + values.Columns.Add(new DataColumn($"Column{curNumCols + 1}") { DefaultValue = "none"}); if (dataview.Columns.Count > curNumCols) dataview.Columns.RemoveAt(curNumCols); + var cName = new DataGridViewComboBoxColumn(); + cName.DataSource = bindingSourceDropDown; + cName.DefaultCellStyle.NullValue = "none"; dataview.Columns.Add(cName); curNumCols++; } totalcols = endNumCols; - + setDataViewtoValues(); } - public enum EPinputtype + //set the datatable value to match the changed datagridview value + //for some reason despite being bound, does not automatically update + // (it may be that datatable as a bindingsource does not implement INotifyProperty + // and thus needs manually set like this) + private void dataview_CellEndEdit(object sender, DataGridViewCellEventArgs e) { - none, - textbox, - checkbox - }; - + values.Rows[e.RowIndex][e.ColumnIndex] = (string) dataview.Rows[e.RowIndex].Cells[e.ColumnIndex].Value; + } } } \ No newline at end of file diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 80cf79f5..95253807 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -25,6 +25,7 @@ namespace Volian.Controls.Library private Dictionary _DicComboBox; private Dictionary _DicSingleRO; private Dictionary _DicMultiRO; + private TablePropertiesControl _TablePropControl; private string multiseparator = ","; @@ -150,10 +151,13 @@ namespace Volian.Controls.Library panelEP.Controls.Add(lb, 1, panelEP.RowCount - 1); } - if (EP.type.ToLower() == "tableinput") + //note will allow only 1 tableproperties control since it is a 1:1 match with the table that is in the step + if (EP.type.ToLower() == "tableinput" && _TablePropControl == null) { - TablePropertiesControl tp = new TablePropertiesControl(EP.text, null); - panelEP.Controls.Add(tp, 1, panelEP.RowCount - 1); + string val = MyConfig.GetValue("EP", EP.name); + _TablePropControl = new TablePropertiesControl(EP.name, EP.text, val); + _TablePropControl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; + panelEP.Controls.Add(_TablePropControl, 1, panelEP.RowCount - 1); } @@ -265,6 +269,16 @@ namespace Volian.Controls.Library MyConfig.SetValue("EP", EP.name, newvalues); } } + else if (EP.type.ToLower() == "tableinput" && EP.name == _TablePropControl.epname) + { + string newvalues = _TablePropControl.GetStorageValue(); + string oldvalues = MyConfig.GetValue("EP", EP.name); + if (newvalues != oldvalues) + { + isDirty = true; + MyConfig.SetValue("EP", EP.name, newvalues); + } + } } if (isDirty) { From f273a8839a5350143c6da21974575e045fcc7721 Mon Sep 17 00:00:00 2001 From: mschill Date: Tue, 29 Apr 2025 10:50:59 -0400 Subject: [PATCH 08/22] C2025-023 Electronic Procedures - Modifications to PROMS (Phase 1) Overlapping of textbox controls --- .../Volian.Controls.Library/frmEPAnnotationDetails.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 95253807..540eb713 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -58,7 +58,6 @@ namespace Volian.Controls.Library RowCount += 1; panelEP.RowCount = RowCount; panelEP.Top = 20; - panelEP.RowStyles.Insert(0, new RowStyle(SizeType.AutoSize)); Label wlbl = new Label(); wlbl.Text = EP.label; @@ -91,11 +90,20 @@ namespace Volian.Controls.Library { tb.Multiline = true; tb.ScrollBars = RichTextBoxScrollBars.Both; + panelEP.RowStyles.Insert(panelEP.RowCount - 1, new RowStyle(SizeType.Absolute, 50)); + } + else + { + panelEP.RowStyles.Insert(panelEP.RowCount - 1, new RowStyle(SizeType.AutoSize)); } _DicStepRtb.Add(EP.name, tb); panelEP.Controls.Add(tb, 1, panelEP.RowCount - 1); } + else + { + panelEP.RowStyles.Insert(panelEP.RowCount - 1, new RowStyle(SizeType.AutoSize)); + } if (EP.type.ToLower() == "logical") { CheckBox cb = new CheckBox(); From a417ddda855277c364fafff42e112f135b7d17da Mon Sep 17 00:00:00 2001 From: mschill Date: Wed, 30 Apr 2025 11:25:18 -0400 Subject: [PATCH 09/22] C2025-023 Electronic Procedures - Modifications to PROMS (Phase 1) RO Graphics Item Adjustment --- PROMS/Formats/epall/EPFormatTST1.xml | Bin 2890 -> 2884 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/epall/EPFormatTST1.xml b/PROMS/Formats/epall/EPFormatTST1.xml index eb2888d1672028b5e7d5c1d11698140f0efa1592..1aa1e26efd44ea29bc6a291562fcb48201fea14b 100644 GIT binary patch delta 42 ocmX>lc0_E00@LJGY$}`GnB+JF%^3`kpb3NJWLwVNlMT4V0OZ06VgLXD delta 31 ncmX>ic1mo60uv+WWJ4C!%`QxG9Fw&;&rH_i7GvRM;9>v(i&h6R From e9e934cfb1bab26cfbb54e9b9c2c63be2c6814f4 Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 2 May 2025 11:46:55 -0400 Subject: [PATCH 10/22] C2025-023 - Electronic Procedures - Modifications to PROMS RO input functionality --- PROMS/Formats/epall/EPFormatTST1.xml | Bin 2884 -> 2952 bytes .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 3 +- .../Format/EPFormatFile.cs | 75 +++++++++++++++--- 3 files changed, 64 insertions(+), 14 deletions(-) diff --git a/PROMS/Formats/epall/EPFormatTST1.xml b/PROMS/Formats/epall/EPFormatTST1.xml index 1aa1e26efd44ea29bc6a291562fcb48201fea14b..cd99e3c7034a73022cec70157ef5de85e9c9a58b 100644 GIT binary patch delta 88 zcmX>i)*-&Zfm61KA(f$op_HMBA&()MA)g_Kp_svzL5abUL5IO tmpEP = EP.validforsteptypes(); + if (tmpEP.Any(steptypelist.Contains)) filtered.Add(EP); } diff --git a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs index 75595fe1..456f043d 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs @@ -272,6 +272,7 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _text, "@text"); } } + //roid of group item that individual sub-items will be the choices for the list/combobox for ROSINGLE and ROMULTI private LazyLoad _rosource; public string rosource { @@ -280,6 +281,22 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _rosource, "@rosource"); } } + //the columns in the RO that will be included in the exports + private LazyLoad _returncols; + public List returncols() + { + try + { + string tmp = LazyLoad(ref _returncols, "@returncols"); + return tmp.Split(',').Select(p => p.Trim()).ToList(); + } + catch + { + throw new ArgumentException($"Error in returncols for EP file: {((EPFormatFile)MyParentFormat).Name}.xml, field: {name}"); + } + } + + //number of lines for a multi-line text box to span private LazyLoad _numlines; public int numlines { @@ -295,27 +312,26 @@ namespace VEPROMS.CSLA.Library } //step types that the EPForma Item is valid for (as a list of types) private LazyLoad _validforsteptypes; - public List validforsteptypes + public List validforsteptypes() { - get + try { - try - { - string tmp = LazyLoad(ref _validforsteptypes, "@validforsteptypes"); - return tmp.Split(',').Select(p => p.Trim()).ToList(); - } - catch - { - throw new ArgumentException($"Error in validforsteptypes for EP file: {((EPFormatFile) MyParentFormat).Name}.xml, field: {name}"); - } + string tmp = LazyLoad(ref _validforsteptypes, "@validforsteptypes"); + return tmp.Split(',').Select(p => p.Trim()).ToList(); + } + catch + { + throw new ArgumentException($"Error in validforsteptypes for EP file: {((EPFormatFile) MyParentFormat).Name}.xml, field: {name}"); } } public bool IsValidForStepType(string StepType) { - return validforsteptypes.Contains(StepType); + List tmp = validforsteptypes(); + return tmp.Contains(StepType); } //return a list of items based on the ROsource specified in the EPFormat File + //will return all RO items under the Group that's roid = the rosource public List getROList(AnnotationInfo currAnn, bool includeblank) { if (string.IsNullOrEmpty(rosource)) @@ -329,7 +345,7 @@ namespace VEPROMS.CSLA.Library string roid = FormatRoidKey(rosource, false); rochild[] children = lookup.GetRoChildrenByRoid(roid); - List mylist = children.Select(x => new ROListItem(x.title, x.roid)).ToList(); + List mylist = children.Select(x => new ROListItem(x.title, x.roid.Substring(0, 12))).ToList(); if (includeblank) mylist.Insert(0, new ROListItem("", "")); @@ -340,6 +356,39 @@ namespace VEPROMS.CSLA.Library throw new ArgumentException($"Error in rosource for EP file: {((EPFormatFile)MyParentFormat).Name}.xml, field: {name}"); } } + + + //return a list of values for the specified ROID + //given the EP items return columns + //will return all RO items under the Group that's roid = the rosource + public List getROValuesList(AnnotationInfo currAnn, string roid) + { + if (string.IsNullOrEmpty(roid)) + return new List(); + + List values = new List(); + DocVersionInfo MyDocVersion = currAnn.MyItem.MyDocVersion; + ROFSTLookup lookup = MyDocVersion.DocVersionAssociations[0].MyROFst.GetROFSTLookup(MyDocVersion); + rochild ro = lookup.GetRoChild(roid); + + List rtncols = returncols(); + + if (rtncols.Count == 0) + { + values.Add(ro.value); + } + else + { + foreach (string rcol in rtncols) + { + rochild ro_indiv = Array.Find(ro.children, x => x.appid.EndsWith($".{rcol}")); + if (ro_indiv.value != null) values.Add(ro_indiv.value); + } + } + + return values; + + } } #endregion //C2025-023 - Electronic Procedures - Modifications to PROMS From 637cbd9954bd615fc03deefaefbd7dc4005e283f Mon Sep 17 00:00:00 2001 From: mschill Date: Thu, 8 May 2025 10:18:50 -0400 Subject: [PATCH 11/22] C2025-023 Electronic Procedures - Modifications to PROMS (Phase 1) RO/table entry - Dev Testing related changes --- PROMS/Formats/epall/EPFormatTST1.xml | Bin 2952 -> 3266 bytes .../Format/EPFormatFile.cs | 6 +++++- .../frmEPAnnotationDetails.cs | 20 +++++++++++------- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/PROMS/Formats/epall/EPFormatTST1.xml b/PROMS/Formats/epall/EPFormatTST1.xml index cd99e3c7034a73022cec70157ef5de85e9c9a58b..ac38208e776a535ad21e20d7868c0df4bcfe85ba 100644 GIT binary patch delta 58 zcmeAWKP0(f5+i30Ln1>GLn=eg=9!E)IVUSHEAR#bxycMA44Dl140)4Xx$GxvaSAY+ NPEKSNoqUFC4*=d{5DWkS delta 20 ccmX>k*&)7R6653yW}eLp7_V?nUc(~>08y_8S^xk5 diff --git a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs index 456f043d..0d2253d2 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/EPFormatFile.cs @@ -288,7 +288,11 @@ namespace VEPROMS.CSLA.Library try { string tmp = LazyLoad(ref _returncols, "@returncols"); - return tmp.Split(',').Select(p => p.Trim()).ToList(); + + if (string.IsNullOrEmpty(tmp)) + return new List(); + else + return tmp.Split(',').Select(p => p.Trim()).ToList(); } catch { diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 540eb713..8017d256 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -47,7 +47,7 @@ namespace Volian.Controls.Library myEPFields = _CurrentAnnotation.MyItem.GetValidEPFields(_CurrentAnnotation.TypeID); MyConfig = new AnnotationConfig(currAnn.Config); - int MaxCharsInLabel = myEPFields.Max(x => x.label.Length); + int MaxCharsInLabel = myEPFields.Where(y => y.type.ToLower() != "tableinput").Max(x => x.label.Length); //font size 8 - make labels slightly bigger than largest label panelEP.ColumnStyles[0].SizeType = SizeType.Absolute; panelEP.ColumnStyles[0].Width = (8 * MaxCharsInLabel) + 5; @@ -59,12 +59,16 @@ namespace Volian.Controls.Library panelEP.RowCount = RowCount; panelEP.Top = 20; - Label wlbl = new Label(); - wlbl.Text = EP.label; - wlbl.Visible = true; - wlbl.TextAlign = ContentAlignment.MiddleLeft; - wlbl.Anchor = AnchorStyles.Left | AnchorStyles.Top; - panelEP.Controls.Add(wlbl, 0, panelEP.RowCount - 1); + if (EP.type.ToLower() != "tableinput") + { + Label wlbl = new Label(); + wlbl.Text = EP.label; + wlbl.Visible = true; + wlbl.TextAlign = ContentAlignment.MiddleLeft; + wlbl.Anchor = AnchorStyles.Left | AnchorStyles.Top; + wlbl.Width = (8 * MaxCharsInLabel) + 5; + panelEP.Controls.Add(wlbl, 0, panelEP.RowCount - 1); + } if (EP.type.ToLower() == "text") { @@ -163,7 +167,7 @@ namespace Volian.Controls.Library if (EP.type.ToLower() == "tableinput" && _TablePropControl == null) { string val = MyConfig.GetValue("EP", EP.name); - _TablePropControl = new TablePropertiesControl(EP.name, EP.text, val); + _TablePropControl = new TablePropertiesControl(EP.name, EP.label, val); _TablePropControl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; panelEP.Controls.Add(_TablePropControl, 1, panelEP.RowCount - 1); From 3e53ec91914d77617b9cfe49acd2207a66841c62 Mon Sep 17 00:00:00 2001 From: mschill Date: Tue, 13 May 2025 07:48:50 -0400 Subject: [PATCH 12/22] C2025-023 - Electronic Procedures - Modifications to PROMS Small change to handle removed items that were selected. --- PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 8017d256..13077a6f 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -183,7 +183,7 @@ namespace Volian.Controls.Library foreach (KeyValuePair pair in _DicSingleRO) { string val = MyConfig.GetValue("EP", pair.Key); - if (val != null && val != "") + if (!string.IsNullOrEmpty(val) && pair.Value.Items.OfType().Any(x=> x.Value == val)) pair.Value.SelectedValue = val; else pair.Value.SelectedValue = ""; @@ -199,8 +199,8 @@ namespace Volian.Controls.Library var selectedvalues = val.Split(multiseparator.ToCharArray()); foreach (string item in selectedvalues) { - string text = ((List)pair.Value.DataSource).First(x => x.Value == item).Text; - pair.Value.SetSelected(pair.Value.FindString(text), true); + string text = ((List)pair.Value.DataSource).Find(x => x.Value == item)?.Text; + if (!string.IsNullOrEmpty(text)) pair.Value.SetSelected(pair.Value.FindString(text), true); } } From 31f608a9ec227609a96eeb935f06d658ee3099ba Mon Sep 17 00:00:00 2001 From: mschill Date: Wed, 14 May 2025 15:05:58 -0400 Subject: [PATCH 13/22] C2025-023 Electronic Procedures - Modifications to PROMS (Phase 1) Change to not show open button if using a format that is not attached to an EP format file. --- PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs | 7 +++++++ .../Volian.Controls.Library/AnnotationDetails.Designer.cs | 2 +- PROMS/Volian.Controls.Library/AnnotationDetails.cs | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index c8f681e0..a0dbb7a5 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -2152,6 +2152,13 @@ namespace VEPROMS.CSLA.Library return filtered; } + // C2025-023 - Electronic Procedures - Modifications to PROMS + //return true if any EP Format files attached to the item's + public bool HasEPformat() + { + return ActiveFormat.PlantFormat.EPFormatFiles.Count > 0; + } + // determine if the the current step should automatically be placed on the Continuous Action Summary // Note, this logic only checks the format setting of the step. We will check the value of the Tag's Check Box later on. public bool IncludeOnContActSum diff --git a/PROMS/Volian.Controls.Library/AnnotationDetails.Designer.cs b/PROMS/Volian.Controls.Library/AnnotationDetails.Designer.cs index 68e786bb..19adb53a 100644 --- a/PROMS/Volian.Controls.Library/AnnotationDetails.Designer.cs +++ b/PROMS/Volian.Controls.Library/AnnotationDetails.Designer.cs @@ -155,7 +155,7 @@ namespace Volian.Controls.Library this.btnEPAnnotation.Margin = new System.Windows.Forms.Padding(2); this.btnEPAnnotation.Name = "btnEPAnnotation"; this.btnEPAnnotation.Size = new System.Drawing.Size(53, 20); - this.superTooltip1.SetSuperTooltip(this.btnEPAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Remove Annotation", "", "This will remove the currently selected annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(this.btnEPAnnotation, new DevComponents.DotNetBar.SuperTooltipInfo("Open Annotation", "", "This will open Electronic Procedure Details for this Annotation.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.btnEPAnnotation.TabIndex = 5; this.btnEPAnnotation.Text = "Open"; this.btnEPAnnotation.Visible = false; diff --git a/PROMS/Volian.Controls.Library/AnnotationDetails.cs b/PROMS/Volian.Controls.Library/AnnotationDetails.cs index 0d047caa..c486207d 100644 --- a/PROMS/Volian.Controls.Library/AnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/AnnotationDetails.cs @@ -340,7 +340,7 @@ namespace Volian.Controls.Library if ((_Annotations != null) && (dgAnnotations.Rows.Count > 0)) { CurrentAnnotation = _Annotations[dgAnnotations.CurrentRow.Index]; - if (CurrentAnnotation.MyAnnotationType.IsEPAnnotationType) + if (CurrentAnnotation.MyAnnotationType.IsEPAnnotationType && CurrentItem.HasEPformat()) btnEPAnnotation.Visible = true; } else From 04a2da4371d4d993a669bda2ccede492c4df7940 Mon Sep 17 00:00:00 2001 From: mschill Date: Thu, 15 May 2025 10:45:52 -0400 Subject: [PATCH 14/22] C2025-023 Electronic Procedures - Modifications to PROMS (Phase 1) Change to not show open button if is an invalid step type --- PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs | 11 +++++++---- PROMS/Volian.Controls.Library/AnnotationDetails.cs | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index a0dbb7a5..64be4c7e 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -2117,11 +2117,14 @@ namespace VEPROMS.CSLA.Library public EPFields GetValidEPFields(int AnnTypeID) { EPFields filtered = new EPFields(); - EPFields unfiltered = ActiveFormat.PlantFormat.EPFormatFiles.First(x => x.AnnotationTypeID == AnnTypeID).FieldList; + + if (ActiveFormat.PlantFormat.EPFormatFiles.Count == 0) return filtered; + if ((int)MyContent.Type < 20000) return filtered; + EPFields unfiltered = ActiveFormat.PlantFormat.EPFormatFiles.FirstOrDefault(x => x.AnnotationTypeID == AnnTypeID)?.FieldList; + if (unfiltered == null) return filtered; //Build list of step type and step type of it's parents List steptypelist = new List(); - if ((int)MyContent.Type < 20000) return filtered; int stepType = ((int)MyContent.Type) % 10000; StepDataList sdlist = ActiveFormat.PlantFormat.FormatData.StepDataList; if (stepType > sdlist.MaxIndex) @@ -2154,9 +2157,9 @@ namespace VEPROMS.CSLA.Library // C2025-023 - Electronic Procedures - Modifications to PROMS //return true if any EP Format files attached to the item's - public bool HasEPformat() + public bool HasEPformat(int AnnTypeID) { - return ActiveFormat.PlantFormat.EPFormatFiles.Count > 0; + return GetValidEPFields(AnnTypeID).Count > 0; } // determine if the the current step should automatically be placed on the Continuous Action Summary diff --git a/PROMS/Volian.Controls.Library/AnnotationDetails.cs b/PROMS/Volian.Controls.Library/AnnotationDetails.cs index c486207d..d001d92e 100644 --- a/PROMS/Volian.Controls.Library/AnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/AnnotationDetails.cs @@ -340,7 +340,7 @@ namespace Volian.Controls.Library if ((_Annotations != null) && (dgAnnotations.Rows.Count > 0)) { CurrentAnnotation = _Annotations[dgAnnotations.CurrentRow.Index]; - if (CurrentAnnotation.MyAnnotationType.IsEPAnnotationType && CurrentItem.HasEPformat()) + if (CurrentAnnotation.MyAnnotationType.IsEPAnnotationType && CurrentItem.HasEPformat(CurrentAnnotation.MyAnnotationType.TypeID)) btnEPAnnotation.Visible = true; } else From f49c888307429dbd8e42203a1bb641e917286f92 Mon Sep 17 00:00:00 2001 From: mschill Date: Thu, 15 May 2025 10:57:28 -0400 Subject: [PATCH 15/22] C2025-023 Electronic Procedures - Modifications to PROMS (Phase 1) Changed linq to use builtin Find method per code analyzer recommendation --- PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 64be4c7e..2dcfd7c5 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -2120,7 +2120,7 @@ namespace VEPROMS.CSLA.Library if (ActiveFormat.PlantFormat.EPFormatFiles.Count == 0) return filtered; if ((int)MyContent.Type < 20000) return filtered; - EPFields unfiltered = ActiveFormat.PlantFormat.EPFormatFiles.FirstOrDefault(x => x.AnnotationTypeID == AnnTypeID)?.FieldList; + EPFields unfiltered = ActiveFormat.PlantFormat.EPFormatFiles.Find(x => x.AnnotationTypeID == AnnTypeID)?.FieldList; if (unfiltered == null) return filtered; //Build list of step type and step type of it's parents From e470ef055308227be483b47d42345a783c052369 Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Tue, 20 May 2025 16:53:16 -0400 Subject: [PATCH 16/22] C2025-023-New-EP-Format-File --- PROMS/Formats/Formats.csproj | 4 ++++ PROMS/Formats/epall/EPFormatTST2.xml | Bin 0 -> 3290 bytes PROMS/Formats/epall/EPFormatTST3.xml | Bin 0 -> 3832 bytes PROMS/Formats/epall/EPFormatTST4.xml | Bin 0 -> 5010 bytes PROMS/Formats/fmtall/EPTST2all.xml | Bin 0 -> 62980 bytes 5 files changed, 4 insertions(+) create mode 100644 PROMS/Formats/epall/EPFormatTST2.xml create mode 100644 PROMS/Formats/epall/EPFormatTST3.xml create mode 100644 PROMS/Formats/epall/EPFormatTST4.xml create mode 100644 PROMS/Formats/fmtall/EPTST2all.xml diff --git a/PROMS/Formats/Formats.csproj b/PROMS/Formats/Formats.csproj index dccc2562..8ca8ceeb 100644 --- a/PROMS/Formats/Formats.csproj +++ b/PROMS/Formats/Formats.csproj @@ -93,6 +93,9 @@ + + + Designer @@ -189,6 +192,7 @@ + diff --git a/PROMS/Formats/epall/EPFormatTST2.xml b/PROMS/Formats/epall/EPFormatTST2.xml new file mode 100644 index 0000000000000000000000000000000000000000..71086ecb16dc9780812fbc11d60572f18794375c GIT binary patch literal 3290 zcmd^>U2jrB5QgX4#Q(5*rHNIbR%3z^O0hOUY6>*o(!+;Dq=W;s{qySc&K^Q3V(5)g z49Q{7na}s#nc4mEy=W!7wr@7HU~}u*#8MmBrH$;ZJ+{0(w;cZg$;cAEcaV;(@6wq~ zt!H~^y>gwBy|ah*z>4;WuY2|hZAE^$%MFVzQ=e0i(nPExN)1l zeL)(mKn?{vU?q)nG=|u;@e-`cbLx4=I4SGYo*_|`g#3e*(HB1D5q+lqCQTt0?hcyD zd4Zrx_U~`y7&1w~vPe`(g=&apAW|DFU1voyVZA`sMP~#9VoEGd!9ULQn&fq8HGG{| z9h;UlU1#XF@~j;YifA7)&V*T>6TE4k2CM@1;yU4bhiDW26>X7)V$XRKZ=K9fioA>O zMNX;5Yp&S5*c$b@d+w6MI?k$n&af%sH4%ku`OP>)Z5seX43WVim=_3`1?Du4&phT)#rZ`gH0ysrpdJX zy{VH{XQ!smjP=aBRHsUusH%q5KK+%2dUe(2c8&fChLz{`lUj2=r3-}YW^J~dc~7;N zD@`VhJnK|Vot+6d;|ZVRK9U1>{EyFl-lD#4Iy!;leQAiby0uK#9cJ-%b6OpNxouZo zPyGz(^0p&p8-CL{_B+q-xqZFD?Mr*}pL5%w@-}zb{kXkbw+H`lRTk;|yEpZCgZ~L= C{1V&% literal 0 HcmV?d00001 diff --git a/PROMS/Formats/epall/EPFormatTST3.xml b/PROMS/Formats/epall/EPFormatTST3.xml new file mode 100644 index 0000000000000000000000000000000000000000..c2d23a6171b3a2bbe0692fed2f3cbce79444f910 GIT binary patch literal 3832 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 Date: Wed, 21 May 2025 09:34:07 -0400 Subject: [PATCH 17/22] C2025-023 - Electronic Procedures - Modifications to PROMS Simplified to textboxes as RTF was impacting possible tags / directories --- .../frmEPAnnotationDetails.cs | 34 ++++++------------- 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs index 13077a6f..a641fd1c 100644 --- a/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs +++ b/PROMS/Volian.Controls.Library/frmEPAnnotationDetails.cs @@ -20,7 +20,7 @@ namespace Volian.Controls.Library private AnnotationConfig MyConfig; private StepTabRibbon _MyStepTabRibbon; - private Dictionary _DicStepRtb; + private Dictionary _DicTB; private Dictionary _DicCheckBox; private Dictionary _DicComboBox; private Dictionary _DicSingleRO; @@ -32,7 +32,7 @@ namespace Volian.Controls.Library public frmEPAnnotationDetails(AnnotationInfo currAnn) { InitializeComponent(); - _DicStepRtb = new Dictionary(); + _DicTB = new Dictionary(); _DicCheckBox = new Dictionary(); _DicComboBox = new Dictionary(); _DicSingleRO = new Dictionary(); @@ -72,28 +72,20 @@ namespace Volian.Controls.Library if (EP.type.ToLower() == "text") { - StepRTB tb = new StepRTB(); - tb.Font = tb.FormatFont = new Font("Arial", 8); - tb.FieldToEdit = E_FieldToEdit.PSI; //use same right click menu as PSI + TextBox tb = new TextBox(); + tb.Font = tb.Font = new Font("Arial", 8); tb.BorderStyle = BorderStyle.FixedSingle; //aligning to both left and right stretches the textbox to the width of the form tb.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; - tb.Enter += new System.EventHandler(this.FieldStepRTB_Enter); - - string val = MyConfig.GetValue("EP", EP.name).Replace("\\u8209?", "-"); - DisplayText dt = new DisplayText(val, new VE_Font("Arial", 10, E_Style.None, 12), false); - StringBuilder sb = new StringBuilder(); - sb.Append(@"{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset2 Arial;}"); - sb.Append(@"{\f1\fnil\fcharset0 Arial;}}{\colortbl ;\red255\green0\blue0;}"); //C2017-036 changed to just Arial because Microsoft removed Arial Unicode MS with Word16 - sb.Append(@"\viewkind4\uc1\pard\sl-240\slmult0\fs" + (int)(this.Font.SizeInPoints * 2) + " " + dt.StartText + @"}"); - tb.Rtf = sb.ToString(); + string val = MyConfig.GetValue("EP", EP.name).Replace("\\u8209?", "-").Replace(@"\u9586?", @"\"); + tb.Text = val; tb.Visible = true; tb.Height = EP.numlines * tb.Font.Height + 1 + tb.Margin.Vertical; tb.MinimumSize = new Size(0, EP.numlines * tb.Font.Height + 1 + tb.Margin.Vertical); if (EP.numlines > 1) { tb.Multiline = true; - tb.ScrollBars = RichTextBoxScrollBars.Both; + tb.ScrollBars = ScrollBars.Both; panelEP.RowStyles.Insert(panelEP.RowCount - 1, new RowStyle(SizeType.Absolute, 50)); } else @@ -101,7 +93,7 @@ namespace Volian.Controls.Library panelEP.RowStyles.Insert(panelEP.RowCount - 1, new RowStyle(SizeType.AutoSize)); } - _DicStepRtb.Add(EP.name, tb); + _DicTB.Add(EP.name, tb); panelEP.Controls.Add(tb, 1, panelEP.RowCount - 1); } else @@ -226,9 +218,8 @@ namespace Volian.Controls.Library { if (EP.type.ToLower() == "text") { - StepRTB cur = _DicStepRtb[EP.name]; - string rtf = cur.Rtf; - string newval = DisplayText.StaticStripRtfCommands(rtf, false); + TextBox cur = _DicTB[EP.name]; + string newval = cur.Text; string oldval = MyConfig.GetValue("EP", EP.name); if (oldval != newval) { @@ -318,11 +309,6 @@ namespace Volian.Controls.Library //remove events so no memory loss private void frmEPAnnotationDetails_FormClosing(object sender, FormClosingEventArgs e) { - foreach (StepRTB tb in _DicStepRtb.Values) - { - tb.Enter -= FieldStepRTB_Enter; - } - foreach (ListBoxMulti lb in _DicMultiRO.Values) { lb.Dispose(); From 8f31532917851028893468efe9768d547967ce4e Mon Sep 17 00:00:00 2001 From: Paul Larsen Date: Tue, 27 May 2025 10:56:14 -0400 Subject: [PATCH 18/22] C2025-023-Format2-Update --- PROMS/Formats/epall/EPFormatTST2.xml | Bin 3290 -> 2606 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/PROMS/Formats/epall/EPFormatTST2.xml b/PROMS/Formats/epall/EPFormatTST2.xml index 71086ecb16dc9780812fbc11d60572f18794375c..6f94675f1fb7ea329e5d06da82f438f56e3cf4bb 100644 GIT binary patch literal 2606 zcmds(OK;Oa6otJW5qJiEOuO|2*)WJGPWW?V{Nc zMRLY--)HWe>%V_`I?#cb2Vgfu~<8V!y=4X?Qg9 z$E=nS-}o5uwBhw#SY2b~IFlC98vnNJqSTSo7c^YCaXHpd-(oeu)>&ozEgKTi_Ffl} zPuafxK=Ty5vUkh-tbL~A*6%0$%=n#oaECaKYW4Iu=;PF!yfmW=|Y< lcb+b<<6L(MUr%3un^d~kauTh3_@C~5kEy-+^^?Df{sAhpvH}1A literal 3290 zcmd^>U2jrB5QgX4#Q(5*rHNIbR%3z^O0hOUY6>*o(!+;Dq=W;s{qySc&K^Q3V(5)g z49Q{7na}s#nc4mEy=W!7wr@7HU~}u*#8MmBrH$;ZJ+{0(w;cZg$;cAEcaV;(@6wq~ zt!H~^y>gwBy|ah*z>4;WuY2|hZAE^$%MFVzQ=e0i(nPExN)1l zeL)(mKn?{vU?q)nG=|u;@e-`cbLx4=I4SGYo*_|`g#3e*(HB1D5q+lqCQTt0?hcyD zd4Zrx_U~`y7&1w~vPe`(g=&apAW|DFU1voyVZA`sMP~#9VoEGd!9ULQn&fq8HGG{| z9h;UlU1#XF@~j;YifA7)&V*T>6TE4k2CM@1;yU4bhiDW26>X7)V$XRKZ=K9fioA>O zMNX;5Yp&S5*c$b@d+w6MI?k$n&af%sH4%ku`OP>)Z5seX43WVim=_3`1?Du4&phT)#rZ`gH0ysrpdJX zy{VH{XQ!smjP=aBRHsUusH%q5KK+%2dUe(2c8&fChLz{`lUj2=r3-}YW^J~dc~7;N zD@`VhJnK|Vot+6d;|ZVRK9U1>{EyFl-lD#4Iy!;leQAiby0uK#9cJ-%b6OpNxouZo zPyGz(^0p&p8-CL{_B+q-xqZFD?Mr*}pL5%w@-}zb{kXkbw+H`lRTk;|yEpZCgZ~L= C{1V&% From 2d0862960862e187730e7a8c9f4def017049e3e5 Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 20 Jun 2025 13:56:41 -0400 Subject: [PATCH 19/22] C2025-023 attempt to resolve merge conflict --- PROMS/VEPROMS User Interface/PROMSFixes.Sql | 58 ++++++++++++++++++++- 1 file changed, 56 insertions(+), 2 deletions(-) diff --git a/PROMS/VEPROMS User Interface/PROMSFixes.Sql b/PROMS/VEPROMS User Interface/PROMSFixes.Sql index dd995cd1..7d88e3d2 100644 --- a/PROMS/VEPROMS User Interface/PROMSFixes.Sql +++ b/PROMS/VEPROMS User Interface/PROMSFixes.Sql @@ -23810,6 +23810,60 @@ GO IF (@@Error = 0) PRINT 'Running vesp_UpdateUserSettings Succeeded' ELSE PRINT 'Running vesp_UpdateUserSettings Failed to Execute' GO + +-- ============================================= +-- Author: Matthew Schill +-- Create date: 5/19/2025 +-- Description: Allow option to not prompt user with MS Word messages +-- when generating Summaries +-- ============================================= +--- MSWordSummaryPrompt = ahouls user be prompted with message? +-- default = yes (true) +IF NOT EXISTS(SELECT * + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = 'Users' + AND COLUMN_NAME = 'MSWordSummaryPrompt') +ALTER TABLE Users ADD MSWordSummaryPrompt bit NOT NULL DEFAULT(1); +go +-- Display the status +IF (@@Error = 0) PRINT 'Altered table [Users] Succeeded for MSWordSummaryPrompt' +ELSE PRINT 'Altered table [Users] Error on Alter for MSWordSummaryPrompt' +go + + +IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[vesp_UpdateUserSettingMSWordSummaryPrompt]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) + DROP PROCEDURE [vesp_UpdateUserSettingMSWordSummaryPrompt]; +GO + +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: Matthew Schill +-- Create date: 5/19/2025 +-- Description: Allow option to not prompt user with MS Word messages +-- when generating Summaries +-- ============================================= +CREATE PROCEDURE [dbo].[vesp_UpdateUserSettingMSWordSummaryPrompt] + +( + @UID varchar(100), + @Prompt bit = null +) +WITH EXECUTE AS OWNER +AS + UPDATE Users SET + MSWordSummaryPrompt = ISNULL(@Prompt, MSWordSummaryPrompt) + WHERE UserID =@UID + + RETURN +GO + +IF (@@Error = 0) PRINT 'Running vesp_UpdateUserSettingMSWordSummaryPrompt Succeeded' +ELSE PRINT 'Running vesp_UpdateUserSettingMSWordSummaryPrompt Failed to Execute' +GO + --- begin changes for: ---C2025-023 - Electronic Procedures - Modifications to PROMS --- The following IsEPAnnotationType column was added for EP Annotations. @@ -24062,8 +24116,8 @@ BEGIN TRY -- Try Block DECLARE @RevDate varchar(255) DECLARE @RevDescription varchar(255) - set @RevDate = '4/8/2025 11:24' - set @RevDescription = 'Added support for EP Viewer Editing' + set @RevDate = '5/19/2025 8:44 AM' + set @RevDescription = 'C2025-013 Add ability to disable message that opening Summaries in MS Word' Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription From a55ce75e2e206959b378038cf60e7d5900f2c845 Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 20 Jun 2025 14:33:58 -0400 Subject: [PATCH 20/22] C2025-023 Bringing branch up to date to resolve merge conflicts --- PROMS/Formats/Formats.csproj | 8 + PROMS/Formats/fmtall/BASEall.xml | Bin 93418 -> 96090 bytes PROMS/Formats/fmtall/BNPP1Newall.xml | Bin 230068 -> 243444 bytes PROMS/Formats/fmtall/BNPP1all.xml | Bin 184796 -> 184806 bytes PROMS/Formats/fmtall/BNPP2all.xml | Bin 198526 -> 199004 bytes PROMS/Formats/fmtall/BNPPalrall.xml | Bin 236750 -> 236928 bytes PROMS/Formats/fmtall/BNPPbckall.xml | Bin 163138 -> 163138 bytes PROMS/Formats/fmtall/CATDEVall.xml | Bin 24166 -> 24166 bytes PROMS/Formats/fmtall/PROMSDemo1all.xml | Bin 0 -> 99538 bytes PROMS/Formats/fmtall/PROMSDemo2all.xml | Bin 0 -> 83234 bytes PROMS/Formats/fmtall/PROMSDemoALRall.xml | Bin 0 -> 104584 bytes PROMS/Formats/fmtall/PROMSDemoBCKall.xml | Bin 0 -> 54878 bytes PROMS/Formats/fmtall/SHEAall.xml | Bin 77134 -> 79016 bytes PROMS/Formats/fmtall/SHEall.xml | Bin 77130 -> 78994 bytes PROMS/Formats/fmtall/TUECall.xml | Bin 75302 -> 124082 bytes PROMS/Formats/fmtall/WEP2all.xml | Bin 79150 -> 79944 bytes PROMS/Formats/fmtall/WEPBCKall.xml | Bin 56940 -> 57728 bytes PROMS/Formats/fmtall/WEPSAM2all.xml | Bin 76028 -> 76816 bytes PROMS/Formats/frmFormatCopy.Designer.cs | 17 + PROMS/Formats/frmFormatCopy.cs | 12 +- PROMS/Formats/genmacall/BNPP1.svg | Bin 25556 -> 25598 bytes PROMS/Formats/genmacall/BNPP1new.svg | Bin 52496 -> 52496 bytes PROMS/Formats/genmacall/BNPP2.svg | Bin 36814 -> 36856 bytes PROMS/Formats/genmacall/BNPPalr.svg | Bin 13518 -> 14898 bytes PROMS/Formats/genmacall/BNPPbck.svg | Bin 3934 -> 3976 bytes PROMS/Formats/genmacall/PROMSDemo1.svg | Bin 0 -> 23242 bytes PROMS/Formats/genmacall/PROMSDemo2.svg | Bin 0 -> 11716 bytes PROMS/Formats/genmacall/PROMSDemoALR.svg | Bin 0 -> 7086 bytes PROMS/Formats/genmacall/PROMSDemoBCK.svg | Bin 0 -> 6990 bytes PROMS/Formats/genmacall/tuec.svg | Bin 20576 -> 28778 bytes .../LibSource/ctlXMLEditLib/ctlXMLEdit.cs | 50 +- .../DlgPrintProcedure.cs | 7 +- .../VEPROMS User Interface/VEPROMS_UI.csproj | 9 + .../dlgExportImportEP.cs | 50 ++ .../dlgMSWordMessage.Designer.cs | 100 +++ .../dlgMSWordMessage.cs | 45 ++ .../dlgMSWordMessage.resx | 120 ++++ .../frmPDFStatusForm.cs | 14 +- .../frmSysOptions.Designer.cs | 556 +++++++++-------- PROMS/VEPROMS User Interface/frmSysOptions.cs | 7 +- .../VEPROMS User Interface/frmSysOptions.resx | 2 +- .../frmVEPROMS.Designer.cs | 89 ++- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 42 +- PROMS/VEPROMS User Interface/frmVEPROMS.resx | 18 +- .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 111 ++-- .../VEPROMS.CSLA.Library/Format/DocStyles.cs | 26 + .../VEPROMS.CSLA.Library/Format/PageStyles.cs | 10 + .../Minimal/UserSettings.cs | 31 +- .../Volian.Controls.Library/DisplayHistory.cs | 6 +- .../DisplayTabControl.cs | 33 +- PROMS/Volian.Controls.Library/DisplayTags.cs | 27 +- PROMS/Volian.Controls.Library/EditItem.cs | 7 +- PROMS/Volian.Controls.Library/ImageItem.cs | 5 +- .../Volian.Controls.Library/StepTabRibbon.cs | 4 +- PROMS/Volian.Controls.Library/vlnTreeView.cs | 587 ++++++++++-------- .../Volian.Print.Library/VlnSvgPageHelper.cs | 27 +- PROMS/Volian.Print.Library/vlnParagraph.cs | 23 +- PROMS/Volian.Print.Library/vlnTab.cs | 5 +- 58 files changed, 1360 insertions(+), 688 deletions(-) create mode 100644 PROMS/Formats/fmtall/PROMSDemo1all.xml create mode 100644 PROMS/Formats/fmtall/PROMSDemo2all.xml create mode 100644 PROMS/Formats/fmtall/PROMSDemoALRall.xml create mode 100644 PROMS/Formats/fmtall/PROMSDemoBCKall.xml create mode 100644 PROMS/Formats/genmacall/PROMSDemo1.svg create mode 100644 PROMS/Formats/genmacall/PROMSDemo2.svg create mode 100644 PROMS/Formats/genmacall/PROMSDemoALR.svg create mode 100644 PROMS/Formats/genmacall/PROMSDemoBCK.svg create mode 100644 PROMS/VEPROMS User Interface/dlgExportImportEP.cs create mode 100644 PROMS/VEPROMS User Interface/dlgMSWordMessage.Designer.cs create mode 100644 PROMS/VEPROMS User Interface/dlgMSWordMessage.cs create mode 100644 PROMS/VEPROMS User Interface/dlgMSWordMessage.resx diff --git a/PROMS/Formats/Formats.csproj b/PROMS/Formats/Formats.csproj index 8ca8ceeb..e950a1ee 100644 --- a/PROMS/Formats/Formats.csproj +++ b/PROMS/Formats/Formats.csproj @@ -288,6 +288,10 @@ + + + + @@ -505,6 +509,10 @@ + + + + diff --git a/PROMS/Formats/fmtall/BASEall.xml b/PROMS/Formats/fmtall/BASEall.xml index acf7b62d08c4ead24a3901b4703a3a87e77612de..8ca3756eb07244f11ea212a94c792a3cf220be2f 100644 GIT binary patch delta 890 zcmZuvO;1xn6ul!UfhyQyi>0U;8W%Ru#U&pmU$ZhO9b^DHc@ zbeF05Rp+YRrM3>S?@b$DZfP}XzX}YGQ;~9%B~591i1jMvX_iuCQ--FI(R2%Iitb}K ziQF8%SAezMy&z{uo6T``Ocl+OZgt#T>{M;MuoUh+OA&yRpe=x62+S>%vq06)*y z)-5+>2&WcZWXjdi&zrT_o(F2gybY=zGdQNY zD;j>}Av^1?(xrpQMgt9(oPV+@WXg!=T>r$!j5LQ6n+A~UATPBye?=<6wHVkP;0nk( zO=F5pmJ*!IRuBjz1yU(oz}Etu(ArS1k&$z!`8W}`!?NqNrZb?7;Z7bLuFtNNDDZha z-u|s=WT(KOQ8GvK_~Q}Xx)sqDM{rPm5?~7e>DK~S;PUb_ATDFSI~gKQ#LMi=f>wk# z$~I(YTtR}6c0`s94w*aga+0hQ&{aZDGI)()6L1=!9L4wNtGXD9oumH`*u1OMYF-*e zgjPB6ArqR* zR*Y}5o~-ht0sqOi25~eBXhOh;$6L}c#&+YE(YOCI2(o%bTeIAYj@qQw;|DZB1;)!Wzdmz{rAvcX^G=l^f#V^xZ^9A(dQ zgQLuTfQnT-*F9t@d5Nc`))R4myzKd~$4(y+wl?t-W5 zeF?YpqGFcEqR-*3Xb1DbgPiU@kF&UG2R}ZR;7{)uUKr~-B;j%bD|S>F=Y{UmI7^w; zI>@*6zU9*KaPh_Yc-m;^6CFuj=$*q=#a!*-bAi61h>pfY|0*Bjrbt4BtZFav57bdy z!QFLByrvz(m13LnEv#z0B}wPQ9SZLVdidDPozpqvjhrFna|XR@ktInAe)h2h#B_E) zQ%C}i>1>)AL;)qvet;uhwhewXSQg(&$>UO^1lcHShD@A&4yTrAx1__lM&^U7OZ2*w zf?yv@fxJxLgt-CM&Qc@}=l-N;7=8!&FZjrrb%a{>=-Jp%d2poM4=?qJo@i@B(-~2;c8M+zXS)rf8d&{)boLwo{NSfv;sSG~rPb9ESC=y_y_VJ|-_dq>Wrc>Y%(|fTn>pAjAb9E~4cCiw0LPJz12B$s zHir^fr6ExL=;H&c^ipy3M}bDR;u~nXMZyiXpr?vNto?s_rOGwMd0c$Gyo(0Y+wG! zuk?$C{0L+3#{S1`^~`!ltMjfW8hEqR3U5!~1#x_U$@wvzop-xr{KrCu$z|G;e{hgZ Vxr7{7z0I&kWr6&)z3j98{{YK{Mlk>Y delta 623 zcmezJmTyZd-vSXcBFcl_H6?nO!8$p>VlCO>do02DD{FrVCLmpu7}QxA}53glgs z6rL>SB{jK0&SLUC=XpR;GY0d`jV@;yflPCtgFpr>a4Q1xfT06ce#fI|@*MXtu!sdX z0OCB-SdAGBA@ZB=cxW+#xggEL&2nDta$bzv<-C|YwoHEz#B4Qv!9OOK?K3i%SMf}5 z_|2p;eG@mc1hXlF<@82T=EKt`@Gz@@c^mnd&8I&QVAh!~AjGUN{enD@XcJ&oVm4S{ls*MBu&FYVVwPhxm>wv_{1`|n$}wA_TB$a@ftQ(O`ad~l pt?dg+nZsD87nn12;4kRQvRKuk}L>dYt^maq9Wl}V>6rq^fwU66HgJ^6mf?QgIc=p`d z0>M8Z%C?}O2pWn$rUs{orjA!I+J5ih_dMt2eX99CYW{<&sN*>!5`4*EPsX%3oh)45 zW)Tt-JTIZ2$sDfPnn4d&Qdp9PHr{>zk_j!!(HtJwn@2>NTC`#1A%(QG7}Etj3X7=% zEPj??uv)})JKwl0Vn}#RikdvLF``8E+av=eoGQMv6|2yW=i96Bb$mrPG}kfZrPb7A zas#@It37<1xS;M}*qhQ04*6{%z`1!0^36d=ZELozcMtvvI*(n189qWEuUy=BXwkuL nw?pS_89@=FQ^u=0mBGJ;`T~M%RWL?l83X(|L8P&^h5hYcslIJ} delta 361 zcmaF1nETFR?uHh|EldxB7>%Ys3}UKfHefKCo*2xOJiR85NpAX;U?zd-MwLuL)21=8 zOxFu#IyU`42vY>JA%ofUk5ie1K|)`c%^57GxuojHZ`GGT8wwwAj8ql1Z8o#F`Fd9iKiYnn?q!<9IaFZJ>^$ z(M;AL9XVjdzOhW~5XC^&`RQu$Og3PxK;H4`Itfe?%%%*M)Bh(j9iGmW$fN@18749{ zPgihZQkZ@#kx2|6U diff --git a/PROMS/Formats/fmtall/BNPP2all.xml b/PROMS/Formats/fmtall/BNPP2all.xml index bd86f5449289fbc107d29fad6e70ca9921f34501..44e5776885634668ca497557c74a0ceb46c4a554 100644 GIT binary patch delta 1160 zcmb7@KWI~76vf{=FRfBSz%)ZBA%;>g#L_15X&Q}MG**W~k~WR0HnH|~sDmgXLS5{T zK}4)J;t{D^(LvD`3V~AkXDtX~adW7r@6jpJHWAePcNX?g~^aRH8JuhljtC$PWx z!XU!*PUi*8N+~`* z$f2vOS;|$$(?gH(&r}M%GL=joKFO`#jD741I?I|y_HNq7WxSsbONQ^~C5P7Vzg0yW zIrNyKdi-uKUximzE8GnK^NHV@|ME*{2e~jLi?d+J;>bQ!L++|cW_%qhCZ?Ys{cse= s-Fw5Yzrj|$%hKegEXCh$C0TU+&)GhoQvRsk!*zOhaIEz38os~$1u(T|DF6Tf delta 782 zcmaKqze^i&7{>3OYsDc*t5QV55hRGT5-+D-zD+e;DL4ty!x&99cd-cwtzupK1BVVS zEnHU&NOq=w#r+=FbB94W*^|w}6MC=LC0L5v%ja$u5dNiWkOi6)_xQU2YdK z9U&@yTELK=;kQLR;8B2%$g#TO!EES$QG8rZc1y@M;jc=qlY_@lk>cwm**5gt+Ntp2cB+}7n&Psq}v!X4>tq4bH znP^USML1zaTTb5-n6k7T&FQKl(X430ad=uqO1HyT>!DSXi#)6AcequPpABz*XlJQ7-IyNZGQ%C ziHnk0J!V&pVcmyj*%%)ou5APx$oQ37CRv`#$WV) zJm);mIp;nvw?8lreQ2EAQzTw~4UB68>&dJ@{?fChRwx@CR!@4w!Or+)#)ilLdY0R{XqdRNH&GeA~2X z<8z8)$41*p{9{WuTFnJGyH3T))B+r_@6WU|cPu5IXvxPy$Bj&txfbotIlUUj@9fKz z#1?33m^tSV-rcfWapQ1H9`-i}u)=)={cRaawYGCNP>6HxkF=c{ZD-t2DuQ`D1!r2y z@mIB1@!*tOLRB0}D@@zL`q(};i09I(aKvE5`S#V=-62L!8{w2lWuf}_QJ0~`K3tq1siaHGCp#p^Do}q~s-yY-CT%kgc};O$(1%vy zYcPUGf5U9t4Sh)Ejm5QhU|YlU)RD+wCvZ#DlvsP}8R7Itw0Npx9m}ARw9)&EX=-cO zi`SY8v?=`27oc+oP32y^*tnZstC7|VV@_7mqbM#7KD#b}KW*yOhO%+}vpCZ{1J(L~ z5~K#F48_{>o}OuWUBR7gHVkc0@y3>mL{Sz@I@isuBQ)?fTIZo|5Okw;l=h@uRZUN} zgcJ;Q%AS+85!~BZir3p!O5mc2%E9ZM19-IKDWW9jSH2@}XHSGu&h+)p3T455tYT&r zWEnKW6;o??-br8AOTI28?CavCt)McG=sL!Ci9i_?(&X0&B^@@3;4xkz=8y1PF_aEj zidzh~LXOBP2Zsn=;1*#V<;TT*IqX!NNsdB_M+{fOW^wN zY0kVf&J~B7TmvPdBL$MmA1jI;KA`-rF}_xh{tp3?$X^yNiTq{ZV)FZF7HneJ47H2; ze#!(T+S#2VsCj_4E8~3aQurjYmjg?pdO5I|Xus$-gNaPwgc<4==^mfpCNdtHqX*M{ zb%L9h!Y9$a99R;M1& delta 2819 zcmdT^ZA_C_6u$4hrGRMpYM~&OidBl%(!OnJE6Avzd}AqdZe}qh6Gewg2y@#%oF@B2 zoO+yh*`^dFlPEvxa2B0GHkWK!j6t_0OZdaKWLp*!(U|?*cJAAj7SS#HwJc5A_uQWI zoaa2xx$nTInmgAt;ax>MR7%yWs)(O-kVax8Z;*|ogvi82Z1`&=Zz?fHAgS_UtZ2ze zx|CO+pj!C4XfS&_*-H+PUF0Bn9djE=9Sp11K~3dS@LN=%b!a6QJY3(J=_4(qm2Ah1 zHYLlKvT=nY)*;%_xuBmNhKh9{djk+`Qt{Dgng{pOE5Ki(j{+7%0XxWM5iq?jt>Nu;W;>N)np4{60#s^ zxNOy7-eFeyB)6QwTVik14-w`X*qg0CTwS4fva zMNVqsMk>0KYyAAt_cRASFKc=N$vsa3k%V3u{iGN1gfsn!=4Ku;&xk*sLF*QSc#`Ri zA8*(#NnU6#*$M-xdbpjw6ig~D99mJw?AR?jogRt|y-M6!t~(zxNbzU5QXH7CS);Cz z>~Oa&A1Am&{(_lvZ;Sgr}I=~dXy z2}9XKF+1DzO)k=S%6Y4z(2mvC3?r!}NqsZs`x0Zk zGjzLR3k?1>hv0@+!)ywA7i=g!`b1|LZ-hfx)!9-L{F-Kr4X;-QW-_tkVid%NFe)@; za}U&c^g`-z*~^HRyhk!dP84!DGkHF7cDJe(w^a{)wr+%VK&QMH?zuK(CeMqDkNY6@ z5G?L}%%wo>fx)VZOmC7bGOk)2?#GSOajI^R>U9t-Q!S)h>rau1H?~nV8HI4aHV9|a zG|0lMRM@=F^N#~m53^g0@YSX~uvPdGvs>(%Gs(l~_@}n?K){kGIPR{Wf=8x2+#V!8 z?rVrh%!$+zu170^O(S@DJIkZ4mM8 z3pJnhn_%Zwk7N_q6n3`vfx-WxauqIH_rR>b8}7B`jqhx?NVsF-triNHdG8!e%Po(+ zbgRiSvV^3I&yfd#w;u$g$b$eaZ4xT*ho@*KpT0oVeBcb#;=0H@+sA6T?Oj^J!v)O5 z13%LoKDCxPd1#2fe|m`S;Bqt5@+=FJ#nBXV6Ay1MXPbF=n4aRn6sG4{o0(R!@y-yP z;TkntD>?XyQJTwx<*b6+ZX)(nIYXWw&?0Ue#xFxXtK!FsSq=AJr*8>Hg-E7?A2u={ zw~bOWpB$mpsE{M_=LlUcv~qBK`jRhcMj))r;f4$JHa7J+StXx7LoGbyVl_&l2`y2yNAO!*eKi(6v%}+S)PURN6l8AkIU|ck&&Wri zCh6L!_PWR)lXU7ON#-~8>`2_)cN9w_Xla$CSQ$Yp)l%HX{d}y5jR_sMu!G`xAlbnP zI+!L2z31Zo?B_Q|XjJF&CN{$rJ!czPi{cg@F(qH|$HwmzvvAy`U<>Pui~bXzXk{Ly z1l=l*8jMdfy#Er_$IYk|^`}o?#eEHoQPToz)Z#y@@TX;=E0#pjVtbOSlAW3FWLCV2 ztDT&lY|MPRda*-^niu%gBsIs(;b;!tpcTv<33=IQO2lGjJ<|W$tRJ{>oT{EZ#h!N3w5V;}@EGn~0_?_g{V#@6Y%?BRZ0g(BkIDgrJqp-S7qqS7K@;^0hm zgifCwXsJA*X=udP4K!6Gyv*L|+NjQW!V_WUo2(>e#$gSYCebX`F_ICjIwIN)91%5? z((49hWsWr1=Wz>_Jilq-!{k>jBw60(my383Zng2mAB}LTzfx`>vb6-=#dliak)O@fQ4vrpg)=-}im=nJ@b7C}V%0wM&& zr4{L>Zc=;z!O_8?gLrP@_J8Mo=jWdB%pT9|({t+{59?BilE-t!QwoD>U6FTwHD&-p=A1q({$c?P%D?nCyp~5TugwW+alT+<;nozBeMLFOj zR{QuYgEPQ0H%4aiM3*stKcRYtAsr-WN-dJ=Wl#Upp~i@-RW<%j;g-Zbx3s^D8a-y{ OS;}0vQ2b`t+5Q8PBUMZQ diff --git a/PROMS/Formats/fmtall/CATDEVall.xml b/PROMS/Formats/fmtall/CATDEVall.xml index 891b720ef81d2564f7897c1151c8b027bcded4de..4dae90af50c6710bc5c6a32a73a0654e1b3748d5 100644 GIT binary patch delta 39 tcmaF1hw<4S#tlmxm`xZACimM*Pmc5aw0VnT4?D9VgBeI*bDSrKC;&vM4uSvx delta 39 scmaF1hw<4S#tlmxCbPJnm>l3Bx4Fx48~fx1zF^MeE=R4+0bXJv0BmUxg8%>k diff --git a/PROMS/Formats/fmtall/PROMSDemo1all.xml b/PROMS/Formats/fmtall/PROMSDemo1all.xml new file mode 100644 index 0000000000000000000000000000000000000000..fdd07f1021a4a0e2cc5d7f6bacf6d1a68a5b6f0d GIT binary patch literal 99538 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≺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 F{|DZa#sL5T literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/PROMSDemo2all.xml b/PROMS/Formats/fmtall/PROMSDemo2all.xml new file mode 100644 index 0000000000000000000000000000000000000000..a5d4598ca7619e54d21934896fdc3304dd3bdd36 GIT binary patch literal 83234 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 UDnZusQ0G#!9Yg1`0!e80|B_lORR910 literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/PROMSDemoALRall.xml b/PROMS/Formats/fmtall/PROMSDemoALRall.xml new file mode 100644 index 0000000000000000000000000000000000000000..824969a13c4c041e04be348975d2132d35d95720 GIT binary patch literal 104584 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 literal 0 HcmV?d00001 diff --git a/PROMS/Formats/fmtall/PROMSDemoBCKall.xml b/PROMS/Formats/fmtall/PROMSDemoBCKall.xml new file mode 100644 index 0000000000000000000000000000000000000000..f9e76fb907ad03bf48ba24a271e145e2d87689e4 GIT binary patch literal 54878 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 delta 39 xcmV+?0NDSi=>*Q&1hD2QlTe5TlTbiFv#=@-F_WN31Oq$(FOv-&8?&}z^3hPg5A*;4 diff --git a/PROMS/Formats/fmtall/SHEall.xml b/PROMS/Formats/fmtall/SHEall.xml index b2d912dae16c071e45e1741d6785f783d2ca6c32..868f873779d2f3480620a38365a444f3d7c225c1 100644 GIT binary patch delta 857 zcmah{O;1x%5Iu#)7^{)cVvq)MTcMT@ZHpn%@Rf97&?q9P8;MDIJcRISp*+7>6!-^yVJE1@wllXvgDxifR_Id{H%3s--JcR%#YZjX`o z+1c8szHq4aaUh+I7&J`Y&U7cPBgx1Eyv7<_jPvgfR$8&fzm*u9>PGK_gt8!7^jT>#SmB1C6 zUdP8Wvkk%bT6Hz{3deB|CA?%t84e1(oQp-~lu%@z!)VFkrZG?CEN)VD zrP!Kgp3jpyT!FrlQCR|bhZ&1DLn#@axilrD7{R(kU(tgq73dZJUr+$gVjBd6uTk=w zq-#)^U^{K)P|*VYrxs$xUZdWAo{Hp7D5a5M*6=m#`^0jomc3T_nu^(NB&nMj?1~4E zlfeYe;S5U}CZR;MdA6iF-G07#nj%xTB$>Z(G)tMmyY zZzA3DWam^cUqT+Cl6)TM;F`F6iR-?J$5moGi~lAO4JeHv!vWE!T$7!)XszY()WKgt CXSd-1 delta 39 xcmV+?0NDSM=>*E!1hBLzlQ2FGli()=lMp}>li(%bvnnenFq4oU1hXt+X3|bZ5AFZ} diff --git a/PROMS/Formats/fmtall/TUECall.xml b/PROMS/Formats/fmtall/TUECall.xml index c8bce8ef70724b3c55cd5fad116cc3a7ae5e4c1e..b6297644dd216a5d660c7c067895b62449285c58 100644 GIT binary patch delta 3886 zcmcImdrVVT7(ZWM6a*0}(DLe~JQM|OOAEq)m4{5-1QpQ4O)L{|i%6+rgy0Nr#=V#U zKlNshD7t0YKTh;6vTVbtbJ-&f#5i5t;ySaCJYD0v;N?A2q#~Rp^%tc?9(X)ZoV&5HI zVg|D^6HPB?n`zEc`fs2meCKb*JI*kvKQdQsD4+#4vU;|OCT^y`Qkq^(@0)RXQv}Wy zQgCI{bjc}%2ZFz}B_&gd&J2}bHj87aEENYV$+~9xT)@)UQ>cHW*c%wW%GFL7(m#@ZhSr7}rkn9M2+7gZ)VHakn%~bj`e{|=>NUxZ8E5ILj z#2L_$HUk8yB&`oXK%+h0ubDl9D0hGlt+K zLNp$|bG?Z0!=5nQo?|syL?1t_Ho>PQT3Kk}_P5x2VnQB&~_*4e@d#T@L| zr$KXw3ft;yschl9_5aU*Td+P~C0#uH8h}me`$`R1|3e{~zwXDL_sn?Zxqhj5SEG`)(Gp3A9D_?` zVdqN;vwZWLLt09)R!03>O3woNw3wB!VvO4vW8mu9W&PytlKaid$MD#*-Pmzyg_;f$ zxgw*%+YDuFEA`<}!)zgc)`{O~Ku6dHZtL*;?ntSwwPD<{$$Q7%)#33Ip_uZ_HQei2 zf{ueKy!c}zIuD*5A`3tFP)_|AOJh~|iz6MEooE=1Gk6S6L{G-Q6_S(BhRB^M`&R9@Rjc_|0^fjVB+{c!f!q+;0SdbpGRX zz})t5Df*McYHG@XeSO&WMKpH2mV&Y3x#7>9uWIq?QL~iNdqRVqsKRTWog_ckOx{W@ zt1ljn0fU&OhZLoSrAd8<4|=IwrJ1U)vasH>ny3!>KqsT>d?ss@pz8+~5(9A`-OYe+ zX$kkD*}JM*Hi}H_nA#&J@Cre*PaWFH=e4jvcFvxcz0MhFqPxN7bNTSbr5U_4g^3GF zmn@fmpJelnUx`=GSgG*uw_@pFP8WCh!-HM(qM$}G*?RE$!&=F7>pT!s>0+M>ju6@A z!KLU5V(YR*K|F{70R50E{tA#5<-Pg2SdDy&jlS}wV*3Vz=up5DN=n$S4Kd)-V(#|= zVp{;jhIm7#gsq^M$fNWdiXRP90b-95u8S>NP~|ny_xz&6F9hX-SA$g)1)Jm>6F;E& zZK<5%VlhRGKvx2OWhiEa^pwv_@t6*D(@Lno8u@^2z#XMw>IG~bvx}z#AxfRegGlVt z!V$4G2nxls)J|Q?qChoepl$a=HF1PVQMXQm3^(UL!Ikm&SxB-WL_S7Hnld0+Iq|Ou zm>bLkd9+%TWq5s|meg9(m1Tm4`&K_CdS0te^l0ILtcTJ{LcN~=G2)FNiYKy?I9~yW z?xxx&EdPhXs41*n)D+*sJ@)Pn1v^+om%;pd4?iDxG#vG@)&&s10hl=$3UT9vf_&=F=l5VPr-mSgrSI`bn{mQS)R#jA~_}>kYd@a zpsT|?xsF?Ca-1>WWCu64$r*|wlN*d$Ca*FPntZ`Y2FT~xEMU~cG`WGDW%2<-6`&vs zSn!<50mjK6;#ejp^sr5yWhOCso-xPdbB;2TZF)E+A9IwLEC5spk>{GsV=gect=wsI zgZVwT&3RKSqNY!(VU(Nhv4T-(^Nn{u*e5H5>1qZ^1GaN) XVf@BE`N>X!=^3*a1*W$>VblQt8I5O1 diff --git a/PROMS/Formats/fmtall/WEP2all.xml b/PROMS/Formats/fmtall/WEP2all.xml index 8f5e5743cba63d2909835827a03dd17c44159199..880a7aa56e21979ff7fd536793b0fe18916a2b74 100644 GIT binary patch delta 188 zcmZ4Yisi%ymJP3RCV#M%n>@)|NYIlZkD-hqlc5-hlNfRsQYW7_RGlp6!83VUy3*uH z1`?ACETksy$&i~YmB}@kB~x$mBQBxI8!YT5uXEvIRGR!ZGj;NjR1s4Qa~KpDJb-4V zGh_f+J`AZqTT+4MD=-8zlmJ-;K$gbj|0_fpH7763k(`_mrZV|~rQGC#G@i);;eL~^ VO%$5^z>15NlK}`fKg{tx0RRS{JL3QV delta 14 WcmX@{fo0t*mJP3RHnSACoB#kky$6y2 diff --git a/PROMS/Formats/fmtall/WEPBCKall.xml b/PROMS/Formats/fmtall/WEPBCKall.xml index 7ffb858a3ca438a797b368c0119c4c77275c7bd0..76e45fd4052c4125ed2a436b20f88582c3b413f3 100644 GIT binary patch delta 190 zcmaE}hq>V}^9H8$$qTe(7%e7$)D#xa-WshREwV6Aguu8Su$8mE)V@nmH@LM ugAq_p5lq8$m@pVIn1MtYjV2$oah)6>ECjaWnvek4&X+<^nau&hEdc;{Xf-GR delta 183 zcmex&obk$W#trZICQC?&Ozz`Wn5@As#cIl6#9%PFQ9P58b24L$GOG!gpD(05nMoiB zBF1dOU_7}|KoKZs%wRJ4qpb7f4`O_9^(G7!lkZ1Mqq zKA@Pz%pXtYZrVY1bCP#HiO%7n?nS6m+WHO(u6tf9~`Q$*+{K*^aBqkR`@i7|%`Fmv* z!SqAf;K>`rSYUFj#taq=CX@He%0pQjRYH;EEEz1Iav&D6oC$*=gAq_pkc%@_sIfMLX%5$gdm2Q0Sy5f29)|(j3#By fUIF|5s3CG~cYKcs&mQI5jUw diff --git a/PROMS/Formats/genmacall/BNPPalr.svg b/PROMS/Formats/genmacall/BNPPalr.svg index c81be361816570d0a31d6c5cab6e57e1ce762fde..7baaf58d6a42e61e6a342023e0a043e51a1727be 100644 GIT binary patch delta 171 zcmX??xv6A>gwSLkeZI-BI2p2Joy@T&EyXP zN{mL6Hwp$%4&YN`G?|%{pcKNCB&Nq8OeBq5H;5<&u#^NhqM`)KiP JUM8&}2>?|aH^l$| delta 61 zcmV-D0K)&Wbk1q87!s4Z7I?F;93BLdP#cPqupDrc?ji=0P#g}k@)E8Ck`f4$x)uzbCgriF5KJc9F^Rm=q?*a7wY7G8i!!OlD*YpS+J-XtDyc3bP4=(PTj`MOGjU zl&R+q1c?H9#tbHt|8pxcgJ^`P34;Yll+k2zEq5?fzuDx!+{%n*lNEVjBIc79@+dQ# bGnhejicL1*6#(1h&Z`I&58Zr#_XHyV;D9Hd diff --git a/PROMS/Formats/genmacall/PROMSDemo1.svg b/PROMS/Formats/genmacall/PROMSDemo1.svg new file mode 100644 index 0000000000000000000000000000000000000000..50f21e01065199f584678a79e6d36c89d537810f GIT binary patch literal 23242 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 TT6?7>p4C%0%B}Aft6u*DAt;8V literal 0 HcmV?d00001 diff --git a/PROMS/Formats/genmacall/PROMSDemoALR.svg b/PROMS/Formats/genmacall/PROMSDemoALR.svg new file mode 100644 index 0000000000000000000000000000000000000000..c5ae1d771a3af3a0eca9c9aea4663339604017fa GIT binary patch literal 7086 zcmeHMTTdE66h5yu>3`VzTtIH34b><$u}Lq+HhrfGXjCME7uxi%xBb33d)V1!L01;* zLqmk!nKLurxz0JqKfjx@Eq8Ju=Mu<`bmU5gaw?b7m$$MiWhu%Uegn+(5kuI%u|KOJ2$gY04{%732VWUCIF8r&v9bHlD`V={?qWF>{4e+Zfl=0;~w6 z2&?0}x!5r^(M zbZ?|2zvTKDl*DWt3^CdRl}e@$N=k!xM&Rg;l<>KApCZ1iSWSL<7$sVMN?5}^D7#yn ze2kSRZkG+b_1*XhPBu&`?X}6=4W2q!xr?3e+`2XF#J{>UAnyR*JZm+?9AKo0Q^?g3 z#t!6AKFde>g7J44y}&*y3+mwlR83%v=&89CjFD@iC7xYq*7jd%dq6T>#$Wysm=>UERfb)DZXU17#nSTrtEsw4gJ*bM8B6+Bp4eYPOJ&Fs+uz z18}GsC1)k@rf({%IHy(6N3%*n%ewQpRe1-nV&WkOHFpZFnRZx!UAG}y@}o36;DEMz zo}iMq78-&1FmKOuvG{DS`ICmq-wxiD1sqpiR)DFwySfV?*nI39zS zdu+kFXlVn-Ik};BIuar7V2+kHf;<>IMsu;#qp5e=RoO|GQZe*8LU}XJkfsvSkSFC( zM^FG2BxQ>QM)6b_Yp@oJni{dpnrCA)ihqaE zq+}RpN z3wpe5WJ8#=UCl2IUnF6}R}G{1Q{k&2Z&6I?67=USYf*_V17TFvsK)2rnEMWQGOzq^ zH)lRC+2Rf}4TX`3#WT&!;69;~x3 zo%UE0e{$7d_ByQ*<_KD+@n&O9lLxvFz{YxXl(Ba7WtAr$b|ToHU{yQ-D((Gbt!v}* z%1@VHQJ)QfFdH7)wbnhVzx?nV0t@><){$EbSDt!2fTj2Dk<|Q~M{gs)2ea?${Y7t| zD8Ej2oR(RiPIsK59MSqU7Kh5HVbn&<-!)rU%-^kx^pO6jbw{&wlgh~Z>{em~txqc8 zJbGVg-O6-yet#q0t!z1bv+Ml=vK!0G$N~G-`X29DmczR~X+JjpJh~gL)LboTYre+x zdA60Y_kQgnGrQuv&DejA-$e1gC8f7D>G`GWOZ_~FYXkiptK_K*YJxpm9a|no>rW_xf{Pl3>hxf!<4~ntXNrgwC;fzV zn|jc+uS9eC`%8MX^&`Xd?b32QS#)53Y&wID_nQl0ls0YF+<#pBZnIG=rp5VvO>(9G HN!pUXycORt literal 0 HcmV?d00001 diff --git a/PROMS/Formats/genmacall/PROMSDemoBCK.svg b/PROMS/Formats/genmacall/PROMSDemoBCK.svg new file mode 100644 index 0000000000000000000000000000000000000000..4b0b8281a9b39fe3c4786b7e6d8391b4b17dd18a GIT binary patch literal 6990 zcmd5>TTc@~6h6-;{)g3P>1|uu5`-X-;0qcd#@BKuU?r5R#=ow9-<+P#?#%WA_Chvp zmzlFO-?@Hg*1vyNWnCWRyIe{lcXBM((vx%fAzgVdZ>1_Fso*!kOjiyueuUYsoVwXt zxselDg48l()@4mz%PU!xHyB%z&sgh+T;YC>w{N6_r$?;x5$~U1<{G-cV64zMc z5ZGx8N;P1$6nEl(?Bj}cY&dKstf-QqrpwZTy-UzT=TCrwzUK~IXxzoFT(yUt8JidQ zn{x+{p=KA+>{4K5=0nX%m2(y=|20$3mT_ zt=m)3hFCmq=5J}>-$f(Oqbas@US`pVv)NIEx9YNtxuZxmZe|k;Veb098KYzaW=ZO@ zBwwS_Ty}=pTLbp_=dQ*#IpiTzkH}~qi&msMMi>>WAmlGH&k~+GsEDjHDn$mnbzDPk zNn{r*-v{rIVSn~(PZevjI_$|l*zB{bsfK2fno-H&EQ*a~)N|&ZRoB@^h~c;D-W1xd z>8vmhTW+9_*hdHO3Dz&es^4JOZ8x?pTk;F_|4M$#7mV#;hEjWYCYu@Z(DGr-hc+D- z`8DJOquadjl43t*q8fa~K8DQAno<;1HRLkA>REgCaTR(Y#xULw6^FXg&xV)e2a7$+ zniO^?YqGbtu4uM3D9i}UlwIV={vdBYp{LuI4dmA@vSw>!-o&w0N8GfaReeNkvCq?v zP&J=rWHIYU^={;`an*pC-O6~0`f0Vz^Irqm(!|`b{$+-Yg>4} z0{Uy<=edhL$0(kP^Nrn@q1QU@?QZ>f6@Ji;(fUU(^M5_0G6>H~#kMZSYn_VXCAR!I zs1A?h@p_qQ;kB5E>w{&-4lFxac2IJB6)}y-Vfq|a4@M&MAY`q^Oe==>q1i<9B=#No z*fM-r&tUUf(+&Bwy*4?*YCo4P7sx$oWy=MVm>0%6qQzoCt(f+$Ivk@(EDobt$uMTM zn60nl49$Lj+Hu|-$KX7*lC|4?-quRbGhi`~v;GX{@rKKH^3{C4KMjj^?a=d`meBKxcNw;pb_31p@L~JU5%_g&Brj4zV zt!D0|C3phf7{@pF literal 0 HcmV?d00001 diff --git a/PROMS/Formats/genmacall/tuec.svg b/PROMS/Formats/genmacall/tuec.svg index 2d212c485f682dc41aeb5dc48760b3fabfa13f71..2ea957eb209aa4271b6e430e5c3635fca92a8eaa 100644 GIT binary patch delta 881 zcmcIiO-~bH5PmjGyOee}4a-UhBrR+ZNnGgeT4)cD0Ae(hQf$5XksgRKX_Swe2!upp z!odq!$D4`z1B{V0B*c^P7ofiYub#Y`cyQi#7cidSz+vBgX6BulXXbs5-YY+kluvgJ z{U)wq0F%(sfdnm@CVkL8DhUd7i%RM%M)kpN`lG&baB2Dwm8Qxp88PqgmV%eizLM_hWduusqDyA(Gf*XgrYDnM+`mAi8y`x(5* z_M**(c98;mCYh7IQC3cZex&;I=dUC9Y+s&La`a6d_FaS(&&ndo{-4LF!>mIcgwqtI zbv(;ymuNQHwFQF*C0F&}$*p{er!6r}kyTZQY6(r{C}_{v6|7>3b=|}xJY}3$p+K diff --git a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs index 57a279a3..e181526c 100644 --- a/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs +++ b/PROMS/ReferencedObjects/LibSource/ctlXMLEditLib/ctlXMLEdit.cs @@ -276,8 +276,10 @@ namespace ctlXMLEditLib bool imagechild; //whether this field is a subchild of an image string imagename; //if subchild of image, name of image parent (for save) string imagedate; //if this was filename, save the date/time stamp + string name; //name of element + string parenthtid; //name of parent element in hashtable for PC items public TextBoxAttrTag(bool reqd, string ptn, RadioButton rd, bool img, - string imgname, string imgdate) + string imgname, string imgdate, string elemname) { this.req_msg = null; this.required = reqd; @@ -286,6 +288,12 @@ namespace ctlXMLEditLib this.imagechild = img; this.imagename = imgname; this.imagedate = imgdate; + this.name = elemname; + + if (name.Contains("_PCCHILD")) + this.parenthtid = name.Substring(0, name.IndexOf("_PCCHILD")); + else + this.parenthtid = null; } public void SetPattern(string pattern) {this.pattern = pattern;} public void SetRequired(bool req) {this.required = req;} @@ -298,6 +306,10 @@ namespace ctlXMLEditLib public string GetImageName { get {return imagename;}} public string GetImageDate { get {return imagedate;}} public void SetImageDate(string imgdate) {this.imagedate = imgdate;} + public string GetName { get { return name; } } + public void SetName(string elemname) { this.name = elemname; } + public string GetParentHTId { get { return parenthtid; } } + public void SetParentHTId(string id) { this.parenthtid = id; } } public ctlXMLEdit(VlnXmlElement myelem, XmlSchema myschema, ArrayList reqfields, ArrayList fldsWithApplic, string [] pckids) @@ -928,7 +940,7 @@ namespace ctlXMLEditLib // initialization. if (mytextbox.Tag == null) { - TextBoxAttrTag tag = new TextBoxAttrTag(false, pattern, radio, img, (img?imgname:null), null); + TextBoxAttrTag tag = new TextBoxAttrTag(false, pattern, radio, img, (img?imgname:null), null, mytextbox.Name); mytextbox.Tag = (object) tag; } return getannot; @@ -1136,6 +1148,7 @@ namespace ctlXMLEditLib mytextbox = new TextBox(); mytextbox.Location = new Point(screenx+indent, screeny); string tFieldName = (pcChildIdx == 0) ? CvtUserFldToFld(element.Name) : CvtUserFldToFld(pcChildFldName); + mytextbox.Name = tFieldName; myHT.Add(tFieldName, mytextbox); tabindx++; Controls.Add(mytextbox); @@ -1192,14 +1205,39 @@ namespace ctlXMLEditLib // C2021-026 Event handler for Parent/Child child textbox // if the textbox text is same as parent, then or nothing is entered in the textbox // then use the parent value and set the text color to gray + // B2025-028 RO Editor - Parent Child Applicability - Default Values + // Were always setting to the Group parent value instead of individual parent values + // When leaving the textbox private void txtBox_Leave(object sender, EventArgs e) { TextBox tb = sender as TextBox; string dfTxt = ""; - string parName = pcGrpBox.Name.Substring(5); - object o = myHT[parName]; - if (o != null) - dfTxt = (o as TextBox).Text; // set to use the parent's value (default) + try + { + string parentid = ((TextBoxAttrTag)tb.Tag).GetParentHTId; + if (!string.IsNullOrEmpty(parentid)) + { + object o = myHT[parentid]; + if (o != null) + dfTxt = (o as TextBox).Text; // set to use the parent's value (default) + } + else + { + + string parName = pcGrpBox.Name.Substring(5); + object o = myHT[parName]; + if (o != null) + dfTxt = (o as TextBox).Text; // set to use the parent's value (default) + } + } + catch + { + string parName = pcGrpBox.Name.Substring(5); + object o = myHT[parName]; + if (o != null) + dfTxt = (o as TextBox).Text; // set to use the parent's value (default) + } + if (dosaveflag) mysavexml = true; if (tb.Text.Length == 0 || tb.Text == dfTxt) { diff --git a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs index c01b1339..f38f9188 100644 --- a/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs +++ b/PROMS/VEPROMS User Interface/DlgPrintProcedure.cs @@ -418,7 +418,12 @@ namespace VEPROMS //txbPDFLocation.Text = _PDFPath; BuildPDFFileName(); ProcedureConfig pc = _MyProcedure.MyConfig as ProcedureConfig; - if(SelectedSlave > 0) pc.SelectedSlave = SelectedSlave; + // C2025-033 set which Child procedure is being printed used for PageStyle items + VlnSvgPageHelper.PrintingChild = SelectedSlave; + if (SelectedSlave > 0) + { + pc.SelectedSlave = SelectedSlave; + } if (pc != null) { //C2021-062 use the save rev number for all procedures if set, or just use the rev number in the current procedure config diff --git a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj index 7183693a..856bf9c4 100644 --- a/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj +++ b/PROMS/VEPROMS User Interface/VEPROMS_UI.csproj @@ -164,6 +164,12 @@ dlgCheckedOutProcedure.cs + + Form + + + dlgMSWordMessage.cs + Form @@ -331,6 +337,9 @@ Designer AboutVEPROMS.cs + + dlgMSWordMessage.cs + dlgCheckOpenTabs.cs diff --git a/PROMS/VEPROMS User Interface/dlgExportImportEP.cs b/PROMS/VEPROMS User Interface/dlgExportImportEP.cs new file mode 100644 index 00000000..f6c466be --- /dev/null +++ b/PROMS/VEPROMS User Interface/dlgExportImportEP.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using VEPROMS.CSLA.Library; + +namespace VEPROMS +{ + //C2025-024 Electronic Procedures - Phase 2 (PROMS XML output) + //class inherits from normal import/export form + //then adds additional functionality + public partial class dlgExportImportEP : dlgExportImport + { + private readonly AnnotationTypeInfo _AnnotationType; + + public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, folderInfo, myFrmVEPROMS, (E_UCFImportOptions) 0) + { + _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); + _ExportBothConvertedandNot = true; + DocReplace = new Dictionary(); + FormClosed += OnClose; + Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {folderInfo.Name}"; + } + + public dlgExportImportEP(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, docVersionInfo, myFrmVEPROMS, (E_UCFImportOptions)0) + { + _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); + _ExportBothConvertedandNot = true; + DocReplace = new Dictionary(); + FormClosed += OnClose; + Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {docVersionInfo.Name} of {docVersionInfo.MyFolder.Name}"; + } + public dlgExportImportEP(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, procedureInfo, myFrmVEPROMS, (E_UCFImportOptions)0) + { + _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); + _ExportBothConvertedandNot = true; + DocReplace = new Dictionary(); + FormClosed += OnClose; + Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {procedureInfo.DisplayNumber}"; + } + private void OnClose(object sender, EventArgs e) + { + DocReplace.Clear(); + DocReplace = null; + } + + + } +} diff --git a/PROMS/VEPROMS User Interface/dlgMSWordMessage.Designer.cs b/PROMS/VEPROMS User Interface/dlgMSWordMessage.Designer.cs new file mode 100644 index 00000000..55b16316 --- /dev/null +++ b/PROMS/VEPROMS User Interface/dlgMSWordMessage.Designer.cs @@ -0,0 +1,100 @@ + +namespace VEPROMS +{ + partial class dlgMSWordMessage + { + ///

+ /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.labelX1 = new DevComponents.DotNetBar.LabelX(); + this.cbRemember = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.btnOpenTabs = new DevComponents.DotNetBar.ButtonX(); + this.SuspendLayout(); + // + // labelX1 + // + // + // + // + this.labelX1.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.labelX1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.labelX1.Location = new System.Drawing.Point(20, 12); + this.labelX1.Name = "labelX1"; + this.labelX1.Size = new System.Drawing.Size(520, 78); + this.labelX1.TabIndex = 0; + this.labelX1.Text = "The _______________ will be opened in MS Word.\r\n\r\nYou can make modifications and " + + "copy it into a PROMS Word section."; + this.labelX1.WordWrap = true; + // + // cbRemember + // + // + // + // + this.cbRemember.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbRemember.Location = new System.Drawing.Point(12, 96); + this.cbRemember.Name = "cbRemember"; + this.cbRemember.Size = new System.Drawing.Size(566, 55); + this.cbRemember.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.cbRemember.TabIndex = 1; + this.cbRemember.Text = "Check this box to not be prompted in the future when generating summaries that wi" + + "ll be opened in MS Word. \r\n\nNote that these settings can be adjusted at any time" + + " from the OPTIONS menu for PROMS."; + // + // btnOpenTabs + // + this.btnOpenTabs.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; + this.btnOpenTabs.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; + this.btnOpenTabs.DialogResult = System.Windows.Forms.DialogResult.Yes; + this.btnOpenTabs.Location = new System.Drawing.Point(490, 126); + this.btnOpenTabs.Name = "btnOpenTabs"; + this.btnOpenTabs.Size = new System.Drawing.Size(64, 25); + this.btnOpenTabs.Style = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnOpenTabs.TabIndex = 2; + this.btnOpenTabs.Text = "OK"; + this.btnOpenTabs.Click += new System.EventHandler(this.btnTabs_Click); + // + // dlgMSWordMessage + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(567, 163); + this.ControlBox = false; + this.Controls.Add(this.btnOpenTabs); + this.Controls.Add(this.cbRemember); + this.Controls.Add(this.labelX1); + this.Name = "dlgMSWordMessage"; + this.ResumeLayout(false); + + } + + #endregion + + private DevComponents.DotNetBar.LabelX labelX1; + private DevComponents.DotNetBar.Controls.CheckBoxX cbRemember; + private DevComponents.DotNetBar.ButtonX btnOpenTabs; + } +} \ No newline at end of file diff --git a/PROMS/VEPROMS User Interface/dlgMSWordMessage.cs b/PROMS/VEPROMS User Interface/dlgMSWordMessage.cs new file mode 100644 index 00000000..5f26d7f7 --- /dev/null +++ b/PROMS/VEPROMS User Interface/dlgMSWordMessage.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using VEPROMS.CSLA.Library; +using Volian.Base.Library; + +namespace VEPROMS +{ + public partial class dlgMSWordMessage : Form + { + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + //typeofitem will be: Continuous Action/Time Critical Action + public dlgMSWordMessage(string typeofitem) + { + InitializeComponent(); + Text = $"{typeofitem} Summary"; + labelX1.Text = $"The {typeofitem} Summary will be opened in MS Word.\n\nYou can make modifications and copy it into a PROMS Word section."; + } + + public bool ShouldDisplay() + { + UserSettings usersettings = new UserSettings(VlnSettings.UserID); + return usersettings.UserSetting_MSWord_Summary_Prompt; + } + + private void btnTabs_Click(object sender, EventArgs e) + { + //if checkbox was checked in form, then update User Settings in database + if (cbRemember.Checked) + { + UserSettings usersettings = new UserSettings(VlnSettings.UserID); + usersettings.SetUserSetting_MSWord_Summary_Prompt(false); + } + + this.Close(); + } + + } +} diff --git a/PROMS/VEPROMS User Interface/dlgMSWordMessage.resx b/PROMS/VEPROMS User Interface/dlgMSWordMessage.resx new file mode 100644 index 00000000..1af7de15 --- /dev/null +++ b/PROMS/VEPROMS User Interface/dlgMSWordMessage.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs index 9ef8319b..a2088150 100644 --- a/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs +++ b/PROMS/VEPROMS User Interface/frmPDFStatusForm.cs @@ -395,8 +395,11 @@ namespace VEPROMS // this will display the generated Continuous Action Summary in MS Word (starting a new instance of MS Word outside of PROMS) if (MyPromsPrinter.MyContActSummary != null) { - string instructions = "The Continuous Action Summary will be opened in MS Word.\n\nYou can make modifications and copy it into a PROMS Word section."; - MessageBox.Show(instructions, "Continuous Action Summary"); + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + using (dlgMSWordMessage msg = new dlgMSWordMessage("Continuous Action")) + { + if (msg.ShouldDisplay()) msg.ShowDialog(); + } // The ContActSummaryDelay is a switch that can be added to the PROMS.exe shortcut // ex: VEPROMS.EXE /ContActSummaryDelay=2.5 will delay it 2 1/2 seconds @@ -410,8 +413,11 @@ namespace VEPROMS // F2022-024 this will display the generated Time Critical Action Summary in MS Word (starting a new instance of MS Word outside of PROMS) if (MyPromsPrinter.MyTimeCriticalActSummary != null) { - string instructions = "The Time Critical Action Summary will be opened in MS Word.\n\nYou can make modifications and copy it into a PROMS Word section."; - MessageBox.Show(instructions, "Time Critical Action Summary"); + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + using (dlgMSWordMessage msg = new dlgMSWordMessage("Time Critical Action")) + { + if (msg.ShouldDisplay()) msg.ShowDialog(); + } // The ContActSummaryDelay is a switch that can be added to the PROMS.exe shortcut // ex: VEPROMS.EXE /ContActSummaryDelay=2.5 will delay it 2 1/2 seconds diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs b/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs index 7dbea98c..d86ed122 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmSysOptions.Designer.cs @@ -42,12 +42,11 @@ namespace VEPROMS this.btnGeneral = new DevComponents.DotNetBar.ButtonX(); this.tcSysOpts = new DevComponents.DotNetBar.TabControl(); this.tabControlPanel3 = new DevComponents.DotNetBar.TabControlPanel(); - //this.grPanUCFImpOpt = new DevComponents.DotNetBar.Controls.GroupPanel(); // C2024-041 remove from Options panel in V button. - this.cbUCFLForSetOnly = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbUCFLUseAll = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbUCFLOnlyImport = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbUCFLNotUsed = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbUCFIgnore = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.gpOpenTabs = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.cbOTRemember = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbOTAutoOpen = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.gpShwRplWords = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.cbShwRplWrdsColor = new DevComponents.DotNetBar.Controls.CheckBoxX(); this.gpVisioPath = new DevComponents.DotNetBar.Controls.GroupPanel(); this.txbxVisioPath = new DevComponents.DotNetBar.Controls.TextBoxX(); this.gpSeparateWindows = new DevComponents.DotNetBar.Controls.GroupPanel(); @@ -74,19 +73,22 @@ namespace VEPROMS this.tiGeneral = new DevComponents.DotNetBar.TabItem(this.components); this.tabControlPanel2 = new DevComponents.DotNetBar.TabControlPanel(); this.tiStUpMsg = new DevComponents.DotNetBar.TabItem(this.components); + this.cbUCFLForSetOnly = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbUCFLUseAll = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbUCFLOnlyImport = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbUCFLNotUsed = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.cbUCFIgnore = new DevComponents.DotNetBar.Controls.CheckBoxX(); this.btnReset = new DevComponents.DotNetBar.ButtonX(); this.superTooltip1 = new DevComponents.DotNetBar.SuperTooltip(); - this.cbOTRemember = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbShwRplWrdsColor = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.cbOTAutoOpen = new DevComponents.DotNetBar.Controls.CheckBoxX(); - this.gpOpenTabs = new DevComponents.DotNetBar.Controls.GroupPanel(); - this.gpShwRplWords = new DevComponents.DotNetBar.Controls.GroupPanel(); + this.cbMSWordPrompt = new DevComponents.DotNetBar.Controls.CheckBoxX(); + this.gpMSWordSum = new DevComponents.DotNetBar.Controls.GroupPanel(); this.gpSystemColor.SuspendLayout(); this.panButtons.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.tcSysOpts)).BeginInit(); this.tcSysOpts.SuspendLayout(); this.tabControlPanel3.SuspendLayout(); - //this.grPanUCFImpOpt.SuspendLayout(); // C2024-041 remove from Options panel in V button. + this.gpOpenTabs.SuspendLayout(); + this.gpShwRplWords.SuspendLayout(); this.gpVisioPath.SuspendLayout(); this.gpSeparateWindows.SuspendLayout(); this.gpEnhancedDocs.SuspendLayout(); @@ -96,16 +98,15 @@ namespace VEPROMS this.gpAnnotationSettings.SuspendLayout(); this.gpTransRangeColor.SuspendLayout(); this.gpPropPageStyle.SuspendLayout(); - this.gpOpenTabs.SuspendLayout(); - this.gpShwRplWords.SuspendLayout(); + this.gpMSWordSum.SuspendLayout(); this.SuspendLayout(); // // btnCancel // this.btnCancel.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.btnCancel.Location = new System.Drawing.Point(616, 492); - this.btnCancel.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnCancel.Location = new System.Drawing.Point(616, 591); + this.btnCancel.Margin = new System.Windows.Forms.Padding(2); this.btnCancel.Name = "btnCancel"; this.btnCancel.Size = new System.Drawing.Size(56, 19); this.btnCancel.TabIndex = 0; @@ -115,8 +116,8 @@ namespace VEPROMS // btnOK // this.btnOK.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; - this.btnOK.Location = new System.Drawing.Point(542, 492); - this.btnOK.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnOK.Location = new System.Drawing.Point(542, 591); + this.btnOK.Margin = new System.Windows.Forms.Padding(2); this.btnOK.Name = "btnOK"; this.btnOK.Size = new System.Drawing.Size(56, 19); this.btnOK.TabIndex = 1; @@ -133,7 +134,7 @@ namespace VEPROMS this.gpSystemColor.Controls.Add(this.cbRibonBlue); this.gpSystemColor.DisabledBackColor = System.Drawing.Color.Empty; this.gpSystemColor.Location = new System.Drawing.Point(39, 13); - this.gpSystemColor.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpSystemColor.Margin = new System.Windows.Forms.Padding(2); this.gpSystemColor.Name = "gpSystemColor"; this.gpSystemColor.Size = new System.Drawing.Size(82, 97); // @@ -176,7 +177,7 @@ namespace VEPROMS this.cbRibonBlack.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbRibonBlack.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbRibonBlack.Location = new System.Drawing.Point(7, 54); - this.cbRibonBlack.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbRibonBlack.Margin = new System.Windows.Forms.Padding(2); this.cbRibonBlack.Name = "cbRibonBlack"; this.cbRibonBlack.Size = new System.Drawing.Size(67, 19); this.cbRibonBlack.TabIndex = 2; @@ -192,7 +193,7 @@ namespace VEPROMS this.cbRibonSilver.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbRibonSilver.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbRibonSilver.Location = new System.Drawing.Point(7, 30); - this.cbRibonSilver.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbRibonSilver.Margin = new System.Windows.Forms.Padding(2); this.cbRibonSilver.Name = "cbRibonSilver"; this.cbRibonSilver.Size = new System.Drawing.Size(67, 19); this.cbRibonSilver.TabIndex = 1; @@ -208,7 +209,7 @@ namespace VEPROMS this.cbRibonBlue.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbRibonBlue.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbRibonBlue.Location = new System.Drawing.Point(7, 6); - this.cbRibonBlue.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbRibonBlue.Margin = new System.Windows.Forms.Padding(2); this.cbRibonBlue.Name = "cbRibonBlue"; this.cbRibonBlue.Size = new System.Drawing.Size(67, 19); this.cbRibonBlue.TabIndex = 0; @@ -223,7 +224,7 @@ namespace VEPROMS this.panButtons.Controls.Add(this.btnGeneral); this.panButtons.DisabledBackColor = System.Drawing.Color.Empty; this.panButtons.Location = new System.Drawing.Point(14, 14); - this.panButtons.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.panButtons.Margin = new System.Windows.Forms.Padding(2); this.panButtons.Name = "panButtons"; this.panButtons.Size = new System.Drawing.Size(168, 460); this.panButtons.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -244,7 +245,7 @@ namespace VEPROMS this.btnIntrFaceStngs.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnIntrFaceStngs.Dock = System.Windows.Forms.DockStyle.Top; this.btnIntrFaceStngs.Location = new System.Drawing.Point(0, 38); - this.btnIntrFaceStngs.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnIntrFaceStngs.Margin = new System.Windows.Forms.Padding(2); this.btnIntrFaceStngs.Name = "btnIntrFaceStngs"; this.btnIntrFaceStngs.Size = new System.Drawing.Size(168, 19); this.btnIntrFaceStngs.TabIndex = 2; @@ -257,7 +258,7 @@ namespace VEPROMS this.btnStartMsg.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnStartMsg.Dock = System.Windows.Forms.DockStyle.Top; this.btnStartMsg.Location = new System.Drawing.Point(0, 19); - this.btnStartMsg.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnStartMsg.Margin = new System.Windows.Forms.Padding(2); this.btnStartMsg.Name = "btnStartMsg"; this.btnStartMsg.Size = new System.Drawing.Size(168, 19); this.btnStartMsg.TabIndex = 1; @@ -271,7 +272,7 @@ namespace VEPROMS this.btnGeneral.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; this.btnGeneral.Dock = System.Windows.Forms.DockStyle.Top; this.btnGeneral.Location = new System.Drawing.Point(0, 0); - this.btnGeneral.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnGeneral.Margin = new System.Windows.Forms.Padding(2); this.btnGeneral.Name = "btnGeneral"; this.btnGeneral.Size = new System.Drawing.Size(168, 19); this.btnGeneral.TabIndex = 0; @@ -287,11 +288,11 @@ namespace VEPROMS this.tcSysOpts.Controls.Add(this.tabControlPanel1); this.tcSysOpts.Controls.Add(this.tabControlPanel2); this.tcSysOpts.Location = new System.Drawing.Point(27, 17); - this.tcSysOpts.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tcSysOpts.Margin = new System.Windows.Forms.Padding(2); this.tcSysOpts.Name = "tcSysOpts"; this.tcSysOpts.SelectedTabFont = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Bold); this.tcSysOpts.SelectedTabIndex = 2; - this.tcSysOpts.Size = new System.Drawing.Size(645, 457); + this.tcSysOpts.Size = new System.Drawing.Size(645, 555); this.tcSysOpts.TabIndex = 3; this.tcSysOpts.TabLayoutType = DevComponents.DotNetBar.eTabLayoutType.FixedWithNavigationBox; this.tcSysOpts.Tabs.Add(this.tiGeneral); @@ -303,9 +304,9 @@ namespace VEPROMS // // tabControlPanel3 // + this.tabControlPanel3.Controls.Add(this.gpMSWordSum); this.tabControlPanel3.Controls.Add(this.gpOpenTabs); this.tabControlPanel3.Controls.Add(this.gpShwRplWords); - //this.tabControlPanel3.Controls.Add(this.grPanUCFImpOpt); // C2024-041 remove from Options panel in V button. this.tabControlPanel3.Controls.Add(this.gpVisioPath); this.tabControlPanel3.Controls.Add(this.gpSeparateWindows); this.tabControlPanel3.Controls.Add(this.gpEnhancedDocs); @@ -319,10 +320,10 @@ namespace VEPROMS this.tabControlPanel3.DisabledBackColor = System.Drawing.Color.Empty; this.tabControlPanel3.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControlPanel3.Location = new System.Drawing.Point(0, 27); - this.tabControlPanel3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tabControlPanel3.Margin = new System.Windows.Forms.Padding(2); this.tabControlPanel3.Name = "tabControlPanel3"; this.tabControlPanel3.Padding = new System.Windows.Forms.Padding(1); - this.tabControlPanel3.Size = new System.Drawing.Size(645, 430); + this.tabControlPanel3.Size = new System.Drawing.Size(645, 528); this.tabControlPanel3.Style.BackColor1.Color = System.Drawing.SystemColors.Control; this.tabControlPanel3.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; this.tabControlPanel3.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right) @@ -332,132 +333,136 @@ namespace VEPROMS this.tabControlPanel3.TabItem = this.tiIntrFaceStngs; this.tabControlPanel3.ThemeAware = true; // - // grPanUCFImpOpt + // gpOpenTabs // - // C2024-041 remove from Options panel in V button. - /*this.grPanUCFImpOpt.CanvasColor = System.Drawing.SystemColors.Control; - this.grPanUCFImpOpt.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; // C2024-041 remove from Options panel in V button. - this.grPanUCFImpOpt.Controls.Add(this.cbUCFLForSetOnly); // C2024-041 remove from Options panel in V button. - this.grPanUCFImpOpt.Controls.Add(this.cbUCFLUseAll); // C2024-041 remove from Options panel in V button. - this.grPanUCFImpOpt.Controls.Add(this.cbUCFLOnlyImport); - this.grPanUCFImpOpt.Controls.Add(this.cbUCFLNotUsed); - this.grPanUCFImpOpt.Controls.Add(this.cbUCFIgnore); - this.grPanUCFImpOpt.DisabledBackColor = System.Drawing.Color.Empty; - this.grPanUCFImpOpt.Location = new System.Drawing.Point(313, 12); - this.grPanUCFImpOpt.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.grPanUCFImpOpt.Name = "grPanUCFImpOpt"; - this.grPanUCFImpOpt.Size = new System.Drawing.Size(146, 138); + this.gpOpenTabs.BackColor = System.Drawing.Color.Transparent; + this.gpOpenTabs.CanvasColor = System.Drawing.SystemColors.Control; + this.gpOpenTabs.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.gpOpenTabs.Controls.Add(this.cbOTRemember); + this.gpOpenTabs.Controls.Add(this.cbOTAutoOpen); + this.gpOpenTabs.DisabledBackColor = System.Drawing.Color.Empty; + this.gpOpenTabs.Location = new System.Drawing.Point(462, 252); + this.gpOpenTabs.Margin = new System.Windows.Forms.Padding(2); + this.gpOpenTabs.Name = "gpOpenTabs"; + this.gpOpenTabs.Size = new System.Drawing.Size(139, 81); // // // - this.grPanUCFImpOpt.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.grPanUCFImpOpt.Style.BackColorGradientAngle = 90; - this.grPanUCFImpOpt.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.grPanUCFImpOpt.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.grPanUCFImpOpt.Style.BorderBottomWidth = 1; - this.grPanUCFImpOpt.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.grPanUCFImpOpt.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.grPanUCFImpOpt.Style.BorderLeftWidth = 1; - this.grPanUCFImpOpt.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.grPanUCFImpOpt.Style.BorderRightWidth = 1; - this.grPanUCFImpOpt.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.grPanUCFImpOpt.Style.BorderTopWidth = 1; - this.grPanUCFImpOpt.Style.CornerDiameter = 4; - this.grPanUCFImpOpt.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; - this.grPanUCFImpOpt.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; - this.grPanUCFImpOpt.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.grPanUCFImpOpt.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + this.gpOpenTabs.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.gpOpenTabs.Style.BackColorGradientAngle = 90; + this.gpOpenTabs.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.gpOpenTabs.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpOpenTabs.Style.BorderBottomWidth = 1; + this.gpOpenTabs.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.gpOpenTabs.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpOpenTabs.Style.BorderLeftWidth = 1; + this.gpOpenTabs.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpOpenTabs.Style.BorderRightWidth = 1; + this.gpOpenTabs.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpOpenTabs.Style.BorderTopWidth = 1; + this.gpOpenTabs.Style.CornerDiameter = 4; + this.gpOpenTabs.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.gpOpenTabs.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.gpOpenTabs.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.gpOpenTabs.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; // // // - this.grPanUCFImpOpt.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpOpenTabs.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.grPanUCFImpOpt.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.grPanUCFImpOpt.TabIndex = 12; - this.grPanUCFImpOpt.Text = "UCF Import Options"; - */ // C2024-041 remove from Options panel in V button. + this.gpOpenTabs.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpOpenTabs.TabIndex = 13; + this.gpOpenTabs.Text = "Open Tabs"; // - // cbUCFLForSetOnly - // - this.cbUCFLForSetOnly.BackColor = System.Drawing.Color.Transparent; + // cbOTRemember // // // - this.cbUCFLForSetOnly.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFLForSetOnly.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFLForSetOnly.Location = new System.Drawing.Point(2, 89); - this.cbUCFLForSetOnly.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFLForSetOnly.Name = "cbUCFLForSetOnly"; - this.cbUCFLForSetOnly.Size = new System.Drawing.Size(105, 19); - this.cbUCFLForSetOnly.TabIndex = 5; - this.cbUCFLForSetOnly.Text = "Load For Set Only"; - this.cbUCFLForSetOnly.CheckedChanged += new System.EventHandler(this.cbUCFLForSetOnly_CheckedChanged); // - // cbUCFLUseAll + this.cbOTRemember.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbOTRemember.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbOTRemember.Location = new System.Drawing.Point(8, 5); + this.cbOTRemember.Margin = new System.Windows.Forms.Padding(2); + this.cbOTRemember.Name = "cbOTRemember"; + this.cbOTRemember.Size = new System.Drawing.Size(119, 19); + this.cbOTRemember.TabIndex = 9; + this.cbOTRemember.Text = "Remember Setting"; + this.cbOTRemember.CheckedChanged += new System.EventHandler(this.cbOTRemember_CheckedChanged); // - this.cbUCFLUseAll.BackColor = System.Drawing.Color.Transparent; + // cbOTAutoOpen // // // - this.cbUCFLUseAll.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFLUseAll.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFLUseAll.Location = new System.Drawing.Point(2, 67); - this.cbUCFLUseAll.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFLUseAll.Name = "cbUCFLUseAll"; - this.cbUCFLUseAll.Size = new System.Drawing.Size(105, 19); - this.cbUCFLUseAll.TabIndex = 4; - this.cbUCFLUseAll.Text = "Load Use All"; - this.cbUCFLUseAll.CheckedChanged += new System.EventHandler(this.cbUCFLUseAll_CheckedChanged); // - // cbUCFLOnlyImport + this.cbOTAutoOpen.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbOTAutoOpen.Enabled = false; + this.cbOTAutoOpen.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbOTAutoOpen.Location = new System.Drawing.Point(8, 28); + this.cbOTAutoOpen.Margin = new System.Windows.Forms.Padding(2); + this.cbOTAutoOpen.Name = "cbOTAutoOpen"; + this.cbOTAutoOpen.Size = new System.Drawing.Size(92, 19); + this.cbOTAutoOpen.TabIndex = 10; + this.cbOTAutoOpen.Text = "Auto Open"; + this.cbOTAutoOpen.Visible = false; // - this.cbUCFLOnlyImport.BackColor = System.Drawing.Color.Transparent; + // gpShwRplWords + // + this.gpShwRplWords.BackColor = System.Drawing.Color.Transparent; + this.gpShwRplWords.CanvasColor = System.Drawing.SystemColors.Control; + this.gpShwRplWords.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.gpShwRplWords.Controls.Add(this.cbShwRplWrdsColor); + this.gpShwRplWords.DisabledBackColor = System.Drawing.Color.Empty; + this.gpShwRplWords.Location = new System.Drawing.Point(462, 165); + this.gpShwRplWords.Margin = new System.Windows.Forms.Padding(2); + this.gpShwRplWords.Name = "gpShwRplWords"; + this.gpShwRplWords.Size = new System.Drawing.Size(139, 72); // // // - this.cbUCFLOnlyImport.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFLOnlyImport.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFLOnlyImport.Location = new System.Drawing.Point(2, 46); - this.cbUCFLOnlyImport.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFLOnlyImport.Name = "cbUCFLOnlyImport"; - this.cbUCFLOnlyImport.Size = new System.Drawing.Size(105, 19); - this.cbUCFLOnlyImport.TabIndex = 3; - this.cbUCFLOnlyImport.Text = "Load Only Imported"; - this.cbUCFLOnlyImport.CheckedChanged += new System.EventHandler(this.cbUCFLOnlyImport_CheckedChanged); - // - // cbUCFLNotUsed - // - this.cbUCFLNotUsed.BackColor = System.Drawing.Color.Transparent; + this.gpShwRplWords.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.gpShwRplWords.Style.BackColorGradientAngle = 90; + this.gpShwRplWords.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.gpShwRplWords.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderBottomWidth = 1; + this.gpShwRplWords.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.gpShwRplWords.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderLeftWidth = 1; + this.gpShwRplWords.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderRightWidth = 1; + this.gpShwRplWords.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpShwRplWords.Style.BorderTopWidth = 1; + this.gpShwRplWords.Style.CornerDiameter = 4; + this.gpShwRplWords.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.gpShwRplWords.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.gpShwRplWords.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.gpShwRplWords.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; // // // - this.cbUCFLNotUsed.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFLNotUsed.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFLNotUsed.Location = new System.Drawing.Point(2, 24); - this.cbUCFLNotUsed.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFLNotUsed.Name = "cbUCFLNotUsed"; - this.cbUCFLNotUsed.Size = new System.Drawing.Size(88, 19); - this.cbUCFLNotUsed.TabIndex = 2; - this.cbUCFLNotUsed.Text = "Load Not Used"; - this.cbUCFLNotUsed.CheckedChanged += new System.EventHandler(this.cbUCFLNotUsed_CheckedChanged); - // - // cbUCFIgnore - // - this.cbUCFIgnore.BackColor = System.Drawing.Color.Transparent; + this.gpShwRplWords.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.cbUCFIgnore.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbUCFIgnore.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; - this.cbUCFIgnore.Location = new System.Drawing.Point(2, 2); - this.cbUCFIgnore.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.cbUCFIgnore.Name = "cbUCFIgnore"; - this.cbUCFIgnore.Size = new System.Drawing.Size(67, 19); - this.cbUCFIgnore.TabIndex = 1; - this.cbUCFIgnore.Text = "Ignore"; - this.cbUCFIgnore.CheckedChanged += new System.EventHandler(this.cbUCFIgnore_CheckedChanged); + this.gpShwRplWords.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpShwRplWords.TabIndex = 13; + this.gpShwRplWords.Text = "Replace Words"; + // + // cbShwRplWrdsColor + // + // + // + // + this.cbShwRplWrdsColor.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbShwRplWrdsColor.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbShwRplWrdsColor.Location = new System.Drawing.Point(8, 5); + this.cbShwRplWrdsColor.Margin = new System.Windows.Forms.Padding(2); + this.cbShwRplWrdsColor.Name = "cbShwRplWrdsColor"; + this.cbShwRplWrdsColor.Size = new System.Drawing.Size(119, 19); + this.cbShwRplWrdsColor.TabIndex = 9; + this.cbShwRplWrdsColor.Text = "Color Replace Words"; + this.cbShwRplWrdsColor.CheckedChanged += new System.EventHandler(this.cbShwRplWrdsColor_CheckedChanged); // // gpVisioPath // @@ -466,8 +471,8 @@ namespace VEPROMS this.gpVisioPath.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; this.gpVisioPath.Controls.Add(this.txbxVisioPath); this.gpVisioPath.DisabledBackColor = System.Drawing.Color.Empty; - this.gpVisioPath.Location = new System.Drawing.Point(25, 347); - this.gpVisioPath.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpVisioPath.Location = new System.Drawing.Point(25, 432); + this.gpVisioPath.Margin = new System.Windows.Forms.Padding(2); this.gpVisioPath.Name = "gpVisioPath"; this.gpVisioPath.Size = new System.Drawing.Size(285, 69); // @@ -529,7 +534,7 @@ namespace VEPROMS this.gpSeparateWindows.Controls.Add(this.cbSeparateWindows); this.gpSeparateWindows.DisabledBackColor = System.Drawing.Color.Empty; this.gpSeparateWindows.Location = new System.Drawing.Point(313, 252); - this.gpSeparateWindows.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpSeparateWindows.Margin = new System.Windows.Forms.Padding(2); this.gpSeparateWindows.Name = "gpSeparateWindows"; this.gpSeparateWindows.Size = new System.Drawing.Size(127, 81); // @@ -571,7 +576,7 @@ namespace VEPROMS this.cbSeparateWindows.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbSeparateWindows.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbSeparateWindows.Location = new System.Drawing.Point(8, 8); - this.cbSeparateWindows.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbSeparateWindows.Margin = new System.Windows.Forms.Padding(2); this.cbSeparateWindows.Name = "cbSeparateWindows"; this.cbSeparateWindows.Size = new System.Drawing.Size(107, 19); this.cbSeparateWindows.TabIndex = 9; @@ -586,7 +591,7 @@ namespace VEPROMS this.gpEnhancedDocs.Controls.Add(this.cbEnhancedDocumentSync); this.gpEnhancedDocs.DisabledBackColor = System.Drawing.Color.Empty; this.gpEnhancedDocs.Location = new System.Drawing.Point(167, 252); - this.gpEnhancedDocs.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpEnhancedDocs.Margin = new System.Windows.Forms.Padding(2); this.gpEnhancedDocs.Name = "gpEnhancedDocs"; this.gpEnhancedDocs.Size = new System.Drawing.Size(127, 81); // @@ -631,7 +636,7 @@ namespace VEPROMS this.cbEnhancedDocumentSync.CheckValue = "Y"; this.cbEnhancedDocumentSync.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbEnhancedDocumentSync.Location = new System.Drawing.Point(8, 8); - this.cbEnhancedDocumentSync.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbEnhancedDocumentSync.Margin = new System.Windows.Forms.Padding(2); this.cbEnhancedDocumentSync.Name = "cbEnhancedDocumentSync"; this.cbEnhancedDocumentSync.Size = new System.Drawing.Size(99, 19); this.cbEnhancedDocumentSync.TabIndex = 9; @@ -646,7 +651,7 @@ namespace VEPROMS this.gpPasteSettings.Controls.Add(this.cbPasteNoReturns); this.gpPasteSettings.DisabledBackColor = System.Drawing.Color.Empty; this.gpPasteSettings.Location = new System.Drawing.Point(25, 252); - this.gpPasteSettings.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpPasteSettings.Margin = new System.Windows.Forms.Padding(2); this.gpPasteSettings.Name = "gpPasteSettings"; this.gpPasteSettings.Size = new System.Drawing.Size(119, 81); // @@ -691,7 +696,7 @@ namespace VEPROMS this.cbPastePlainText.CheckValue = "Y"; this.cbPastePlainText.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbPastePlainText.Location = new System.Drawing.Point(8, 8); - this.cbPastePlainText.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbPastePlainText.Margin = new System.Windows.Forms.Padding(2); this.cbPastePlainText.Name = "cbPastePlainText"; this.cbPastePlainText.Size = new System.Drawing.Size(92, 19); this.cbPastePlainText.TabIndex = 9; @@ -709,7 +714,7 @@ namespace VEPROMS this.cbPasteNoReturns.CheckValue = "Y"; this.cbPasteNoReturns.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbPasteNoReturns.Location = new System.Drawing.Point(8, 28); - this.cbPasteNoReturns.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbPasteNoReturns.Margin = new System.Windows.Forms.Padding(2); this.cbPasteNoReturns.Name = "cbPasteNoReturns"; this.cbPasteNoReturns.Size = new System.Drawing.Size(92, 19); this.cbPasteNoReturns.TabIndex = 10; @@ -724,7 +729,7 @@ namespace VEPROMS this.gpTreeView.Controls.Add(this.cbTVExpand); this.gpTreeView.DisabledBackColor = System.Drawing.Color.Empty; this.gpTreeView.Location = new System.Drawing.Point(312, 165); - this.gpTreeView.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpTreeView.Margin = new System.Windows.Forms.Padding(2); this.gpTreeView.Name = "gpTreeView"; this.gpTreeView.Size = new System.Drawing.Size(119, 72); // @@ -769,7 +774,7 @@ namespace VEPROMS this.cbTVExpand.CheckValue = "Y"; this.cbTVExpand.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbTVExpand.Location = new System.Drawing.Point(8, 13); - this.cbTVExpand.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbTVExpand.Margin = new System.Windows.Forms.Padding(2); this.cbTVExpand.Name = "cbTVExpand"; this.cbTVExpand.Size = new System.Drawing.Size(92, 19); this.superTooltip1.SetSuperTooltip(this.cbTVExpand, new DevComponents.DotNetBar.SuperTooltipInfo("Remember Last", "", "When checked, PROMS will remember the last procedure you had seleced from the tre" + @@ -786,7 +791,7 @@ namespace VEPROMS this.gpStepTypeToolTip.Controls.Add(this.cbStepTypeToolTip); this.gpStepTypeToolTip.DisabledBackColor = System.Drawing.Color.Empty; this.gpStepTypeToolTip.Location = new System.Drawing.Point(167, 165); - this.gpStepTypeToolTip.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpStepTypeToolTip.Margin = new System.Windows.Forms.Padding(2); this.gpStepTypeToolTip.Name = "gpStepTypeToolTip"; this.gpStepTypeToolTip.Size = new System.Drawing.Size(119, 72); // @@ -828,7 +833,7 @@ namespace VEPROMS this.cbStepTypeToolTip.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbStepTypeToolTip.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbStepTypeToolTip.Location = new System.Drawing.Point(8, 13); - this.cbStepTypeToolTip.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbStepTypeToolTip.Margin = new System.Windows.Forms.Padding(2); this.cbStepTypeToolTip.Name = "cbStepTypeToolTip"; this.cbStepTypeToolTip.Size = new System.Drawing.Size(92, 19); this.cbStepTypeToolTip.TabIndex = 7; @@ -843,7 +848,7 @@ namespace VEPROMS this.gpAnnotationSettings.Controls.Add(this.cbAnnotationPopup); this.gpAnnotationSettings.DisabledBackColor = System.Drawing.Color.Empty; this.gpAnnotationSettings.Location = new System.Drawing.Point(25, 165); - this.gpAnnotationSettings.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpAnnotationSettings.Margin = new System.Windows.Forms.Padding(2); this.gpAnnotationSettings.Name = "gpAnnotationSettings"; this.gpAnnotationSettings.Size = new System.Drawing.Size(119, 72); // @@ -888,7 +893,7 @@ namespace VEPROMS this.cbAnnotationPopup.CheckValue = "Y"; this.cbAnnotationPopup.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.cbAnnotationPopup.Location = new System.Drawing.Point(8, 13); - this.cbAnnotationPopup.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbAnnotationPopup.Margin = new System.Windows.Forms.Padding(2); this.cbAnnotationPopup.Name = "cbAnnotationPopup"; this.cbAnnotationPopup.Size = new System.Drawing.Size(92, 19); this.cbAnnotationPopup.TabIndex = 7; @@ -959,7 +964,7 @@ namespace VEPROMS this.gpPropPageStyle.Controls.Add(this.cbButtonIntrFace); this.gpPropPageStyle.DisabledBackColor = System.Drawing.Color.Empty; this.gpPropPageStyle.Location = new System.Drawing.Point(155, 12); - this.gpPropPageStyle.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.gpPropPageStyle.Margin = new System.Windows.Forms.Padding(2); this.gpPropPageStyle.Name = "gpPropPageStyle"; this.gpPropPageStyle.Size = new System.Drawing.Size(127, 107); // @@ -1001,7 +1006,7 @@ namespace VEPROMS this.cbPropGrid.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbPropGrid.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbPropGrid.Location = new System.Drawing.Point(8, 59); - this.cbPropGrid.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbPropGrid.Margin = new System.Windows.Forms.Padding(2); this.cbPropGrid.Name = "cbPropGrid"; this.cbPropGrid.Size = new System.Drawing.Size(97, 20); this.cbPropGrid.TabIndex = 2; @@ -1016,7 +1021,7 @@ namespace VEPROMS this.cbTabbedIntrFace.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbTabbedIntrFace.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbTabbedIntrFace.Location = new System.Drawing.Point(8, 34); - this.cbTabbedIntrFace.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbTabbedIntrFace.Margin = new System.Windows.Forms.Padding(2); this.cbTabbedIntrFace.Name = "cbTabbedIntrFace"; this.cbTabbedIntrFace.Size = new System.Drawing.Size(111, 20); this.cbTabbedIntrFace.TabIndex = 1; @@ -1030,7 +1035,7 @@ namespace VEPROMS this.cbButtonIntrFace.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; this.cbButtonIntrFace.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; this.cbButtonIntrFace.Location = new System.Drawing.Point(8, 10); - this.cbButtonIntrFace.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.cbButtonIntrFace.Margin = new System.Windows.Forms.Padding(2); this.cbButtonIntrFace.Name = "cbButtonIntrFace"; this.cbButtonIntrFace.Size = new System.Drawing.Size(97, 20); this.cbButtonIntrFace.TabIndex = 0; @@ -1047,7 +1052,7 @@ namespace VEPROMS this.tabControlPanel1.DisabledBackColor = System.Drawing.Color.Empty; this.tabControlPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControlPanel1.Location = new System.Drawing.Point(0, 27); - this.tabControlPanel1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tabControlPanel1.Margin = new System.Windows.Forms.Padding(2); this.tabControlPanel1.Name = "tabControlPanel1"; this.tabControlPanel1.Padding = new System.Windows.Forms.Padding(1); this.tabControlPanel1.Size = new System.Drawing.Size(645, 430); @@ -1072,10 +1077,10 @@ namespace VEPROMS this.tabControlPanel2.DisabledBackColor = System.Drawing.Color.Empty; this.tabControlPanel2.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControlPanel2.Location = new System.Drawing.Point(0, 27); - this.tabControlPanel2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.tabControlPanel2.Margin = new System.Windows.Forms.Padding(2); this.tabControlPanel2.Name = "tabControlPanel2"; this.tabControlPanel2.Padding = new System.Windows.Forms.Padding(1); - this.tabControlPanel2.Size = new System.Drawing.Size(645, 430); + this.tabControlPanel2.Size = new System.Drawing.Size(645, 528); this.tabControlPanel2.Style.BackColor1.Color = System.Drawing.SystemColors.Control; this.tabControlPanel2.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; this.tabControlPanel2.Style.BorderSide = ((DevComponents.DotNetBar.eBorderSide)(((DevComponents.DotNetBar.eBorderSide.Left | DevComponents.DotNetBar.eBorderSide.Right) @@ -1092,14 +1097,94 @@ namespace VEPROMS this.tiStUpMsg.Text = "Startup Message"; this.tiStUpMsg.Visible = false; // + // cbUCFLForSetOnly + // + this.cbUCFLForSetOnly.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFLForSetOnly.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFLForSetOnly.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFLForSetOnly.Location = new System.Drawing.Point(2, 89); + this.cbUCFLForSetOnly.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFLForSetOnly.Name = "cbUCFLForSetOnly"; + this.cbUCFLForSetOnly.Size = new System.Drawing.Size(105, 19); + this.cbUCFLForSetOnly.TabIndex = 5; + this.cbUCFLForSetOnly.Text = "Load For Set Only"; + this.cbUCFLForSetOnly.CheckedChanged += new System.EventHandler(this.cbUCFLForSetOnly_CheckedChanged); + // + // cbUCFLUseAll + // + this.cbUCFLUseAll.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFLUseAll.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFLUseAll.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFLUseAll.Location = new System.Drawing.Point(2, 67); + this.cbUCFLUseAll.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFLUseAll.Name = "cbUCFLUseAll"; + this.cbUCFLUseAll.Size = new System.Drawing.Size(105, 19); + this.cbUCFLUseAll.TabIndex = 4; + this.cbUCFLUseAll.Text = "Load Use All"; + this.cbUCFLUseAll.CheckedChanged += new System.EventHandler(this.cbUCFLUseAll_CheckedChanged); + // + // cbUCFLOnlyImport + // + this.cbUCFLOnlyImport.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFLOnlyImport.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFLOnlyImport.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFLOnlyImport.Location = new System.Drawing.Point(2, 46); + this.cbUCFLOnlyImport.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFLOnlyImport.Name = "cbUCFLOnlyImport"; + this.cbUCFLOnlyImport.Size = new System.Drawing.Size(105, 19); + this.cbUCFLOnlyImport.TabIndex = 3; + this.cbUCFLOnlyImport.Text = "Load Only Imported"; + this.cbUCFLOnlyImport.CheckedChanged += new System.EventHandler(this.cbUCFLOnlyImport_CheckedChanged); + // + // cbUCFLNotUsed + // + this.cbUCFLNotUsed.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFLNotUsed.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFLNotUsed.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFLNotUsed.Location = new System.Drawing.Point(2, 24); + this.cbUCFLNotUsed.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFLNotUsed.Name = "cbUCFLNotUsed"; + this.cbUCFLNotUsed.Size = new System.Drawing.Size(88, 19); + this.cbUCFLNotUsed.TabIndex = 2; + this.cbUCFLNotUsed.Text = "Load Not Used"; + this.cbUCFLNotUsed.CheckedChanged += new System.EventHandler(this.cbUCFLNotUsed_CheckedChanged); + // + // cbUCFIgnore + // + this.cbUCFIgnore.BackColor = System.Drawing.Color.Transparent; + // + // + // + this.cbUCFIgnore.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbUCFIgnore.CheckBoxStyle = DevComponents.DotNetBar.eCheckBoxStyle.RadioButton; + this.cbUCFIgnore.Location = new System.Drawing.Point(2, 2); + this.cbUCFIgnore.Margin = new System.Windows.Forms.Padding(2); + this.cbUCFIgnore.Name = "cbUCFIgnore"; + this.cbUCFIgnore.Size = new System.Drawing.Size(67, 19); + this.cbUCFIgnore.TabIndex = 1; + this.cbUCFIgnore.Text = "Ignore"; + this.cbUCFIgnore.CheckedChanged += new System.EventHandler(this.cbUCFIgnore_CheckedChanged); + // // btnReset // this.btnReset.AccessibleRole = System.Windows.Forms.AccessibleRole.PushButton; this.btnReset.ColorTable = DevComponents.DotNetBar.eButtonColor.OrangeWithBackground; - this.btnReset.Location = new System.Drawing.Point(194, 492); - this.btnReset.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.btnReset.Location = new System.Drawing.Point(194, 591); + this.btnReset.Margin = new System.Windows.Forms.Padding(2); this.btnReset.Name = "btnReset"; - this.btnReset.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.btnReset.RightToLeft = System.Windows.Forms.RightToLeft.No; this.btnReset.Size = new System.Drawing.Size(79, 19); this.superTooltip1.SetSuperTooltip(this.btnReset, new DevComponents.DotNetBar.SuperTooltipInfo("Default Settings", "", "This will reset saved user settings back to the Proms system default.", null, null, DevComponents.DotNetBar.eTooltipColor.Gray, true, true, new System.Drawing.Size(140, 95))); this.btnReset.TabIndex = 3; @@ -1111,135 +1196,61 @@ namespace VEPROMS this.superTooltip1.DefaultTooltipSettings = new DevComponents.DotNetBar.SuperTooltipInfo("", "", "", null, null, DevComponents.DotNetBar.eTooltipColor.Gray); this.superTooltip1.LicenseKey = "F962CEC7-CD8F-4911-A9E9-CAB39962FC1F"; // - // cbOTRemember + // cbMSWordPrompt // // // // - this.cbOTRemember.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbOTRemember.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.cbOTRemember.Location = new System.Drawing.Point(8, 5); - this.cbOTRemember.Margin = new System.Windows.Forms.Padding(2); - this.cbOTRemember.Name = "cbOTRemember"; - this.cbOTRemember.Size = new System.Drawing.Size(119, 19); - this.cbOTRemember.TabIndex = 9; - this.cbOTRemember.Text = "Remember Setting"; - this.cbOTRemember.CheckedChanged += new System.EventHandler(this.cbOTRemember_CheckedChanged); + this.cbMSWordPrompt.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.cbMSWordPrompt.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.cbMSWordPrompt.Location = new System.Drawing.Point(8, 5); + this.cbMSWordPrompt.Margin = new System.Windows.Forms.Padding(2); + this.cbMSWordPrompt.Name = "cbMSWordPrompt"; + this.cbMSWordPrompt.Size = new System.Drawing.Size(92, 44); + this.cbMSWordPrompt.TabIndex = 9; + this.cbMSWordPrompt.Text = "Show Prompt For Summaries"; // - // cbShwRplWrdsColor - // + // gpMSWordSum // - this.cbShwRplWrdsColor.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbShwRplWrdsColor.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.cbShwRplWrdsColor.Location = new System.Drawing.Point(8, 5); - this.cbShwRplWrdsColor.Margin = new System.Windows.Forms.Padding(2); - this.cbShwRplWrdsColor.Name = "cbShwRplWrdsColor"; - this.cbShwRplWrdsColor.Size = new System.Drawing.Size(119, 19); - this.cbShwRplWrdsColor.TabIndex = 9; - this.cbShwRplWrdsColor.Text = "Color Replace Words"; - this.cbShwRplWrdsColor.CheckedChanged += new System.EventHandler(this.cbShwRplWrdsColor_CheckedChanged); - //this.cbShwRplWrdsColor.Checked; - // - // cbOTAutoOpen + this.gpMSWordSum.BackColor = System.Drawing.Color.Transparent; + this.gpMSWordSum.CanvasColor = System.Drawing.SystemColors.Control; + this.gpMSWordSum.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; + this.gpMSWordSum.Controls.Add(this.cbMSWordPrompt); + this.gpMSWordSum.DisabledBackColor = System.Drawing.Color.Empty; + this.gpMSWordSum.Location = new System.Drawing.Point(25, 347); + this.gpMSWordSum.Margin = new System.Windows.Forms.Padding(2); + this.gpMSWordSum.Name = "gpMSWordSum"; + this.gpMSWordSum.Size = new System.Drawing.Size(119, 81); // // // - // - this.cbOTAutoOpen.BackgroundStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.cbOTAutoOpen.Enabled = false; - this.cbOTAutoOpen.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.cbOTAutoOpen.Location = new System.Drawing.Point(8, 28); - this.cbOTAutoOpen.Margin = new System.Windows.Forms.Padding(2); - this.cbOTAutoOpen.Name = "cbOTAutoOpen"; - this.cbOTAutoOpen.Size = new System.Drawing.Size(92, 19); - this.cbOTAutoOpen.TabIndex = 10; - this.cbOTAutoOpen.Text = "Auto Open"; - this.cbOTAutoOpen.Visible = false; - // - // gpOpenTabs - // - this.gpOpenTabs.BackColor = System.Drawing.Color.Transparent; - this.gpOpenTabs.CanvasColor = System.Drawing.SystemColors.Control; - this.gpOpenTabs.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; - this.gpOpenTabs.Controls.Add(this.cbOTRemember); - this.gpOpenTabs.Controls.Add(this.cbOTAutoOpen); - this.gpOpenTabs.DisabledBackColor = System.Drawing.Color.Empty; - this.gpOpenTabs.Location = new System.Drawing.Point(462, 252); - this.gpOpenTabs.Margin = new System.Windows.Forms.Padding(2); - this.gpOpenTabs.Name = "gpOpenTabs"; - this.gpOpenTabs.Size = new System.Drawing.Size(139, 81); + this.gpMSWordSum.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; + this.gpMSWordSum.Style.BackColorGradientAngle = 90; + this.gpMSWordSum.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; + this.gpMSWordSum.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpMSWordSum.Style.BorderBottomWidth = 1; + this.gpMSWordSum.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.gpMSWordSum.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpMSWordSum.Style.BorderLeftWidth = 1; + this.gpMSWordSum.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpMSWordSum.Style.BorderRightWidth = 1; + this.gpMSWordSum.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.gpMSWordSum.Style.BorderTopWidth = 1; + this.gpMSWordSum.Style.CornerDiameter = 4; + this.gpMSWordSum.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; + this.gpMSWordSum.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; + this.gpMSWordSum.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.gpMSWordSum.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; // // // - this.gpOpenTabs.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.gpOpenTabs.Style.BackColorGradientAngle = 90; - this.gpOpenTabs.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.gpOpenTabs.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpOpenTabs.Style.BorderBottomWidth = 1; - this.gpOpenTabs.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.gpOpenTabs.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpOpenTabs.Style.BorderLeftWidth = 1; - this.gpOpenTabs.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpOpenTabs.Style.BorderRightWidth = 1; - this.gpOpenTabs.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpOpenTabs.Style.BorderTopWidth = 1; - this.gpOpenTabs.Style.CornerDiameter = 4; - this.gpOpenTabs.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; - this.gpOpenTabs.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; - this.gpOpenTabs.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.gpOpenTabs.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; + this.gpMSWordSum.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // - this.gpOpenTabs.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.gpOpenTabs.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.gpOpenTabs.TabIndex = 13; - this.gpOpenTabs.Text = "Open Tabs"; - // - // gpShwRplWords - // - this.gpShwRplWords.BackColor = System.Drawing.Color.Transparent; - this.gpShwRplWords.CanvasColor = System.Drawing.SystemColors.Control; - this.gpShwRplWords.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.Office2007; - this.gpShwRplWords.Controls.Add(this.cbShwRplWrdsColor); - this.gpShwRplWords.DisabledBackColor = System.Drawing.Color.Empty; - this.gpShwRplWords.Location = new System.Drawing.Point(462, 165); - this.gpShwRplWords.Margin = new System.Windows.Forms.Padding(2); - this.gpShwRplWords.Name = "gpShwRplWords"; - this.gpShwRplWords.Size = new System.Drawing.Size(139, 72); - // - // - // - this.gpShwRplWords.Style.BackColor2SchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground2; - this.gpShwRplWords.Style.BackColorGradientAngle = 90; - this.gpShwRplWords.Style.BackColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBackground; - this.gpShwRplWords.Style.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpShwRplWords.Style.BorderBottomWidth = 1; - this.gpShwRplWords.Style.BorderColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; - this.gpShwRplWords.Style.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpShwRplWords.Style.BorderLeftWidth = 1; - this.gpShwRplWords.Style.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpShwRplWords.Style.BorderRightWidth = 1; - this.gpShwRplWords.Style.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; - this.gpShwRplWords.Style.BorderTopWidth = 1; - this.gpShwRplWords.Style.CornerDiameter = 4; - this.gpShwRplWords.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded; - this.gpShwRplWords.Style.TextAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Center; - this.gpShwRplWords.Style.TextColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; - this.gpShwRplWords.Style.TextLineAlignment = DevComponents.DotNetBar.eStyleTextAlignment.Near; - // - // - // - this.gpShwRplWords.StyleMouseDown.CornerType = DevComponents.DotNetBar.eCornerType.Square; - // - // - // - this.gpShwRplWords.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; - this.gpShwRplWords.TabIndex = 13; - this.gpShwRplWords.Text = "Replace Words"; + this.gpMSWordSum.StyleMouseOver.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.gpMSWordSum.TabIndex = 14; + this.gpMSWordSum.Text = "Opening in MS Word"; // // frmSysOptions // @@ -1247,7 +1258,7 @@ namespace VEPROMS this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.btnCancel; - this.ClientSize = new System.Drawing.Size(699, 520); + this.ClientSize = new System.Drawing.Size(699, 620); this.ControlBox = false; this.Controls.Add(this.btnReset); this.Controls.Add(this.tcSysOpts); @@ -1256,7 +1267,7 @@ namespace VEPROMS this.Controls.Add(this.btnCancel); this.DoubleBuffered = true; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.Margin = new System.Windows.Forms.Padding(2); this.Name = "frmSysOptions"; this.Text = "Proms System Options"; this.Load += new System.EventHandler(this.frmSysOptions_Load); @@ -1265,7 +1276,8 @@ namespace VEPROMS ((System.ComponentModel.ISupportInitialize)(this.tcSysOpts)).EndInit(); this.tcSysOpts.ResumeLayout(false); this.tabControlPanel3.ResumeLayout(false); - //this.grPanUCFImpOpt.ResumeLayout(false); // C2024-041 remove from Options panel in V button. + this.gpOpenTabs.ResumeLayout(false); + this.gpShwRplWords.ResumeLayout(false); this.gpVisioPath.ResumeLayout(false); this.gpSeparateWindows.ResumeLayout(false); this.gpEnhancedDocs.ResumeLayout(false); @@ -1275,9 +1287,7 @@ namespace VEPROMS this.gpAnnotationSettings.ResumeLayout(false); this.gpTransRangeColor.ResumeLayout(false); this.gpPropPageStyle.ResumeLayout(false); - this.gpOpenTabs.ResumeLayout(false); - this.gpShwRplWords.ResumeLayout(false); - + this.gpMSWordSum.ResumeLayout(false); this.ResumeLayout(false); } @@ -1336,5 +1346,7 @@ namespace VEPROMS private DevComponents.DotNetBar.Controls.CheckBoxX cbOTRemember; private DevComponents.DotNetBar.Controls.CheckBoxX cbOTAutoOpen; private DevComponents.DotNetBar.Controls.CheckBoxX cbShwRplWrdsColor; + private DevComponents.DotNetBar.Controls.GroupPanel gpMSWordSum; + private DevComponents.DotNetBar.Controls.CheckBoxX cbMSWordPrompt; } } diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.cs b/PROMS/VEPROMS User Interface/frmSysOptions.cs index 2998f100..2c9afd49 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.cs +++ b/PROMS/VEPROMS User Interface/frmSysOptions.cs @@ -100,7 +100,9 @@ namespace VEPROMS cbOTRemember.Checked = _usersettings.UserSetting_OpenTabs_Remember; cbOTAutoOpen.Enabled = cbOTAutoOpen.Visible = cbOTRemember.Checked; cbOTAutoOpen.Checked = _usersettings.UserSetting_OpenTabs_AutoOpen || !cbOTRemember.Checked; - + + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + cbMSWordPrompt.Checked = _usersettings.UserSetting_MSWord_Summary_Prompt; } private void cbEnhancedDocumentSync_CheckedChanged(object sender, System.EventArgs e) { @@ -172,6 +174,9 @@ namespace VEPROMS } _usersettings.SetUserSettings(cbOTRemember.Checked, OTAuto); + //C2025-013 - Allow not continuously generate message that opening Summaries in MS Word + _usersettings.SetUserSetting_MSWord_Summary_Prompt(cbMSWordPrompt.Checked); + this.DialogResult = DialogResult.OK; this.Close(); } diff --git a/PROMS/VEPROMS User Interface/frmSysOptions.resx b/PROMS/VEPROMS User Interface/frmSysOptions.resx index d4747b7a..a53df5f4 100644 --- a/PROMS/VEPROMS User Interface/frmSysOptions.resx +++ b/PROMS/VEPROMS User Interface/frmSysOptions.resx @@ -125,7 +125,7 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAACXBIWXMAABJxAAAScQHz3HqOAAAAKklE - QVQ4T2P4//8/RRhCAClyMIoBIJoUPGrAqAEgPBwNIAfDDSAf/2cAALEslYfUgx+eAAAAAElFTkSuQmCC + QVQ4T2P4//8/AyUYQjAwgAiSMYoB6CYTwqMGjBowXA0gB8MNoAQDALEslYfhkv70AAAAAElFTkSuQmCC
diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs index 8548a650..030f4070 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs @@ -47,13 +47,13 @@ namespace VEPROMS this.btnOpen = new DevComponents.DotNetBar.ButtonItem(); this.btnPrepare = new DevComponents.DotNetBar.ButtonItem(); this.btnAdmin = new DevComponents.DotNetBar.ButtonItem(); - this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem(); this.icRecentDocs = new DevComponents.DotNetBar.ItemContainer(); this.labelItem8 = new DevComponents.DotNetBar.LabelItem(); this.itemContainer5 = new DevComponents.DotNetBar.ItemContainer(); this.btnOptions = new DevComponents.DotNetBar.ButtonItem(); this.btnExit = new DevComponents.DotNetBar.ButtonItem(); this.qatCustomizeItem1 = new DevComponents.DotNetBar.QatCustomizeItem(); + this.btnUpdateFormats = new DevComponents.DotNetBar.ButtonItem(); this.galleryGroup1 = new DevComponents.DotNetBar.GalleryGroup(); this.galleryGroup2 = new DevComponents.DotNetBar.GalleryGroup(); this.galleryGroup3 = new DevComponents.DotNetBar.GalleryGroup(); @@ -208,13 +208,13 @@ namespace VEPROMS this.btnHelp.KeyTips = "?"; this.btnHelp.Name = "btnHelp"; this.btnHelp.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { - this.btnHelpManual, - this.btnShortCuts, - this.btnHelpVWeb, - this.btnSendErrorLog, - this.btnShowErrFld, - this.btnShowPrtFld, - this.btnHelpAbout}); + this.btnHelpManual, + this.btnShortCuts, + this.btnHelpVWeb, + this.btnSendErrorLog, + this.btnShowErrFld, + this.btnShowPrtFld, + this.btnHelpAbout}); this.btnHelp.Text = "Help"; // // btnHelpManual @@ -249,23 +249,19 @@ namespace VEPROMS this.btnSendErrorLog.Click += new System.EventHandler(this.btnSendErrorLog_Click); // // btnShowErrFld - // - //this.btnShowErrFld.Image = global::VEPROMS.Properties.Resources.GoToParentFolderHS; + // this.btnShowErrFld.Image = ((System.Drawing.Image)(resources.GetObject("btnShowErrFld.Image"))); this.btnShowErrFld.Name = "btnShowErrFld"; this.btnShowErrFld.Text = "Open Log Folder"; this.btnShowErrFld.Click += new System.EventHandler(this.btnShowErrFld_Click); // // btnShowPrtFld - // - //this.btnShowPrtFld.Image = global::VEPROMS.Properties.Resources.GoToParentFolderHS; + // this.btnShowPrtFld.Image = ((System.Drawing.Image)(resources.GetObject("btnShowPrtFld.Image"))); this.btnShowPrtFld.Name = "btnShowPrtFld"; this.btnShowPrtFld.Text = "Open Default Print Folder"; this.btnShowPrtFld.Click += new System.EventHandler(this.btnShowPrtFld_Click); // - // - // // btnHelpAbout // this.btnHelpAbout.ButtonStyle = DevComponents.DotNetBar.eButtonStyle.ImageAndText; @@ -303,6 +299,10 @@ namespace VEPROMS this.itemContainer1.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.itemContainer2, this.itemContainer5}); + // + // + // + this.itemContainer1.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -320,6 +320,10 @@ namespace VEPROMS this.itemContainer2.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.itemContainer3, this.icRecentDocs}); + // + // + // + this.itemContainer2.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -340,6 +344,10 @@ namespace VEPROMS this.btnOpen, this.btnPrepare, this.btnAdmin}); + // + // + // + this.itemContainer3.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -363,7 +371,6 @@ namespace VEPROMS this.btnOpen.SubItemsExpandWidth = 24; this.btnOpen.Text = "&Open..."; this.btnOpen.Click += new System.EventHandler(this.btnOpen_Click); - // // btnPrepare // @@ -382,16 +389,8 @@ namespace VEPROMS this.btnAdmin.CanCustomize = false; this.btnAdmin.Image = global::VEPROMS.Properties.Resources.Admin; this.btnAdmin.Name = "btnAdmin"; - //this.btnAdmin.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { - //this.btnUpdateFormats}); this.btnAdmin.Text = "A&dministration"; // - // btnUpdateFormats - // - this.btnUpdateFormats.Name = "btnUpdateFormats"; - this.btnUpdateFormats.Text = "Update Formats"; - this.btnUpdateFormats.Click += new System.EventHandler(this.btnUpdateFormat_Click); - // // icRecentDocs // // @@ -404,6 +403,10 @@ namespace VEPROMS this.icRecentDocs.Name = "icRecentDocs"; this.icRecentDocs.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.labelItem8}); + // + // + // + this.icRecentDocs.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -432,6 +435,10 @@ namespace VEPROMS this.itemContainer5.SubItems.AddRange(new DevComponents.DotNetBar.BaseItem[] { this.btnOptions, this.btnExit}); + // + // + // + this.itemContainer5.TitleMouseOverStyle.CornerType = DevComponents.DotNetBar.eCornerType.Square; // // // @@ -444,6 +451,7 @@ namespace VEPROMS this.btnOptions.Image = ((System.Drawing.Image)(resources.GetObject("btnOptions.Image"))); this.btnOptions.Name = "btnOptions"; this.btnOptions.SubItemsExpandWidth = 24; + this.superTooltip1.SetSuperTooltip(this.btnOptions, new DevComponents.DotNetBar.SuperTooltipInfo("Options", "", "Set User-Based PROMS Editing Preferences", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.btnOptions.Text = "Opt&ions"; this.btnOptions.Click += new System.EventHandler(this.btnOptions_Click); // @@ -454,6 +462,7 @@ namespace VEPROMS this.btnExit.Image = ((System.Drawing.Image)(resources.GetObject("btnExit.Image"))); this.btnExit.Name = "btnExit"; this.btnExit.SubItemsExpandWidth = 24; + this.superTooltip1.SetSuperTooltip(this.btnExit, new DevComponents.DotNetBar.SuperTooltipInfo("Exit", "", "Close and Exit PROMS", null, null, DevComponents.DotNetBar.eTooltipColor.Gray)); this.btnExit.Text = "E&xit"; this.btnExit.Click += new System.EventHandler(this.btnExit_Click); // @@ -461,6 +470,12 @@ namespace VEPROMS // this.qatCustomizeItem1.Name = "qatCustomizeItem1"; // + // btnUpdateFormats + // + this.btnUpdateFormats.Name = "btnUpdateFormats"; + this.btnUpdateFormats.Text = "Update Formats"; + this.btnUpdateFormats.Click += new System.EventHandler(this.btnUpdateFormat_Click); + // // galleryGroup1 // this.galleryGroup1.Name = "galleryGroup1"; @@ -535,7 +550,7 @@ namespace VEPROMS // this.txtSearch.Dock = System.Windows.Forms.DockStyle.Right; this.txtSearch.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F); - this.txtSearch.Location = new System.Drawing.Point(820, 0); + this.txtSearch.Location = new System.Drawing.Point(810, 0); this.txtSearch.Multiline = true; this.txtSearch.Name = "txtSearch"; this.txtSearch.Size = new System.Drawing.Size(100, 25); @@ -544,7 +559,7 @@ namespace VEPROMS // btnPrevious // this.btnPrevious.Dock = System.Windows.Forms.DockStyle.Right; - this.btnPrevious.Location = new System.Drawing.Point(920, 0); + this.btnPrevious.Location = new System.Drawing.Point(910, 0); this.btnPrevious.Name = "btnPrevious"; this.btnPrevious.Size = new System.Drawing.Size(23, 25); this.btnPrevious.TabIndex = 1; @@ -554,7 +569,7 @@ namespace VEPROMS // btnPrint1 // this.btnPrint1.Dock = System.Windows.Forms.DockStyle.Right; - this.btnPrint1.Location = new System.Drawing.Point(943, 0); + this.btnPrint1.Location = new System.Drawing.Point(933, 0); this.btnPrint1.Name = "btnPrint1"; this.btnPrint1.Size = new System.Drawing.Size(23, 25); this.btnPrint1.TabIndex = 2; @@ -566,7 +581,7 @@ namespace VEPROMS this.cbScrunch.Checked = true; this.cbScrunch.CheckState = System.Windows.Forms.CheckState.Checked; this.cbScrunch.Dock = System.Windows.Forms.DockStyle.Right; - this.cbScrunch.Location = new System.Drawing.Point(966, 0); + this.cbScrunch.Location = new System.Drawing.Point(956, 0); this.cbScrunch.Name = "cbScrunch"; this.cbScrunch.Size = new System.Drawing.Size(24, 25); this.cbScrunch.TabIndex = 3; @@ -575,7 +590,7 @@ namespace VEPROMS // btnNext // this.btnNext.Dock = System.Windows.Forms.DockStyle.Right; - this.btnNext.Location = new System.Drawing.Point(990, 0); + this.btnNext.Location = new System.Drawing.Point(980, 0); this.btnNext.Name = "btnNext"; this.btnNext.Size = new System.Drawing.Size(23, 25); this.btnNext.TabIndex = 4; @@ -586,7 +601,7 @@ namespace VEPROMS // this.cmbFont.Dock = System.Windows.Forms.DockStyle.Right; this.cmbFont.FormattingEnabled = true; - this.cmbFont.Location = new System.Drawing.Point(1013, 0); + this.cmbFont.Location = new System.Drawing.Point(1003, 0); this.cmbFont.Name = "cmbFont"; this.cmbFont.Size = new System.Drawing.Size(172, 23); this.cmbFont.TabIndex = 0; @@ -596,9 +611,10 @@ namespace VEPROMS // this.lblDummy.Dock = System.Windows.Forms.DockStyle.Right; this.lblDummy.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F); - this.lblDummy.Location = new System.Drawing.Point(1013, 0); + this.lblDummy.Location = new System.Drawing.Point(1175, 0); this.lblDummy.Name = "lblDummy"; this.lblDummy.Size = new System.Drawing.Size(10, 25); + this.lblDummy.TabIndex = 5; this.lblDummy.Visible = false; // // labelItem10 @@ -734,8 +750,9 @@ namespace VEPROMS // ctrlAnnotationDetails // this.ctrlAnnotationDetails.AnnotationDirty = false; - this.ctrlAnnotationDetails.AnnotationRTFText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft S" + - "ans Serif;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs20\\par\r\n}\r\n"; + this.ctrlAnnotationDetails.AnnotationRTFText = "{\\rtf1\\ansi\\ansicpg1252\\deff0\\nouicompat\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 " + + "Microsoft Sans Serif;}}\r\n{\\*\\generator Riched20 10.0.26100}\\viewkind4\\uc1 \r\n\\par" + + "d\\f0\\fs20\\par\r\n}\r\n"; this.ctrlAnnotationDetails.Annotations = null; this.ctrlAnnotationDetails.AnnotationText = ""; this.ctrlAnnotationDetails.ClientProcess = null; @@ -806,6 +823,7 @@ namespace VEPROMS // tv // this.tv.AllowDrop = true; + this.tv.DelProcReason = null; this.tv.Dock = System.Windows.Forms.DockStyle.Fill; this.tv.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.tv.HideSelection = false; @@ -926,7 +944,7 @@ namespace VEPROMS this.displayTags.Dock = System.Windows.Forms.DockStyle.Fill; this.displayTags.IsVisible = false; this.displayTags.Location = new System.Drawing.Point(0, 0); - this.displayTags.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.displayTags.Margin = new System.Windows.Forms.Padding(2); this.displayTags.MinimumSize = new System.Drawing.Size(100, 630); this.displayTags.MyEditItem = null; this.displayTags.Name = "displayTags"; @@ -1111,8 +1129,8 @@ namespace VEPROMS this.displayRO.Dock = System.Windows.Forms.DockStyle.Fill; this.displayRO.Location = new System.Drawing.Point(1, 1); this.displayRO.Margin = new System.Windows.Forms.Padding(4); + this.displayRO.MyDvi = null; this.displayRO.MyROFST = null; - //this.displayRO.MyROFSTLookup = null; this.displayRO.MyRTB = null; this.displayRO.Name = "displayRO"; this.displayRO.ProgressBar = null; @@ -1126,6 +1144,7 @@ namespace VEPROMS this.tc.ChgId = null; this.tc.Dock = System.Windows.Forms.DockStyle.Fill; this.tc.ForeColor = System.Drawing.SystemColors.ControlText; + this.tc.LastSelectedDisplayTabItem = null; this.tc.Location = new System.Drawing.Point(334, 57); this.tc.Margin = new System.Windows.Forms.Padding(4); this.tc.MyAnnotationDetails = null; @@ -1373,6 +1392,7 @@ namespace VEPROMS // displaySearch1 // this.displaySearch1.Dock = System.Windows.Forms.DockStyle.Fill; + this.displaySearch1.LastSearchWasAnnotations = false; this.displaySearch1.LoadingList = false; this.displaySearch1.Location = new System.Drawing.Point(1, 1); this.displaySearch1.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); @@ -1382,6 +1402,7 @@ namespace VEPROMS this.displaySearch1.ProgressBar = null; this.displaySearch1.ReportTitle = null; this.displaySearch1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.displaySearch1.SearchIncTransII = null; this.displaySearch1.SearchResults = null; this.displaySearch1.SearchString = null; this.displaySearch1.Size = new System.Drawing.Size(314, 462); diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 9c78ae63..840dbd6e 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -533,6 +533,7 @@ namespace VEPROMS tv.PrintProcedure += new vlnTreeViewEvent(tv_PrintProcedure); tv.PrintSection += new vlnTreeViewEvent(tv_PrintSection); + tv.QPrintSection += new vlnTreeViewEvent(tv_QPrintSection); tv.QPrintProcedure += new vlnTreeViewEvent(tv_QPrintProcedure); tv.PrintAllProcedures += new vlnTreeViewEvent(tv_PrintAllProcedures); tv.ApproveProcedure += new vlnTreeViewEvent(tv_ApproveProcedure); @@ -1213,7 +1214,19 @@ namespace VEPROMS } - void tv_PrintSection(object sender, vlnTreeEventArgs args) // Quick Print right click menu on Procedure name. + //Print Section + //C2025-028 Add a Quick Print Section option + + void tv_PrintSection(object sender, vlnTreeEventArgs args) + { + PrintSection(sender, args, false); + } + void tv_QPrintSection(object sender, vlnTreeEventArgs args) + { + PrintSection(sender, args, true); + } + + void PrintSection(object sender, vlnTreeEventArgs args, bool quickprint) { try { @@ -1225,7 +1238,9 @@ namespace VEPROMS tc.SaveCurrentEditItem(si2.MyProcedure); + //B2025-032 Fix Section not Printing Applicability Properly si2.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex; + si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex; using (DlgPrintProcedure prnDlg = new DlgPrintProcedure(si2.MyProcedure)) { @@ -1233,8 +1248,14 @@ namespace VEPROMS prnDlg.SelectedSlave = args.UnitIndex; prnDlg.MySessionInfo = MySessionInfo; prnDlg.SetupForProcedure(); // Setup filename - prnDlg.ShowDialog(this); // Create Print report + if (quickprint) + prnDlg.QPCreatePDF(); // Create Print report + else + prnDlg.ShowDialog(this); // Create Print report + + //B2025-032 Fix Section not Printing Applicability Properly + si2.MyDocVersion.DocVersionConfig.SelectedSlave = 0; si2.MyProcedure.MyDocVersion.DocVersionConfig.SelectedSlave = 0; } } @@ -2167,13 +2188,13 @@ namespace VEPROMS btnAdministrativeTools.Click += new EventHandler(btnAdministrativeTools_Click); btnAdmin.SubItems.Add(btnAdministrativeTools); - this.superTooltip1.SetSuperTooltip(btnExit, new SuperTooltipInfo("Exit", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnOptions, new SuperTooltipInfo("Options", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnManageSecurity, new SuperTooltipInfo("Manage Security", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnUserControlOfFormats, new SuperTooltipInfo("User Control Of Formats", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnResetSecurity, new SuperTooltipInfo("Reset Security", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", null, null, null, null, eTooltipColor.Gray)); - this.superTooltip1.SetSuperTooltip(btnUpdateFormats, new SuperTooltipInfo("Update Formats", null, null, null, null, eTooltipColor.Gray)); + // C2025-031 added tool tip messages + this.superTooltip1.SetSuperTooltip(btnManageSecurity, new SuperTooltipInfo("Manage Security", "", "Add, Modify, and Delete PROMS User Access", null, null, eTooltipColor.Gray)); + // remove commented out line below when User Control of Formats code is deleted + //this.superTooltip1.SetSuperTooltip(btnUserControlOfFormats, new SuperTooltipInfo("User Control Of Formats", null, null, null, null, eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(btnResetSecurity, new SuperTooltipInfo("Reset Security", "", "WARNING this will \nREMOVE ALL PROMS USERS and Reset to the\nOriginal Volian Defaults", null, null, eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(btnAdministrativeTools, new SuperTooltipInfo("Administrative Tools", "", "Open the PROMS Adminstration Tools Window", null, null, eTooltipColor.Gray)); + this.superTooltip1.SetSuperTooltip(btnUpdateFormats, new SuperTooltipInfo("Update Formats", "", "Install New Formats \n or Re-Install Formats", null, null, eTooltipColor.Gray)); try { @@ -2196,6 +2217,9 @@ namespace VEPROMS } ctrlAnnotationDetails.MyUserInfo = MyUserInfo; + // re-set to old RTF initialization to older RFT string + ctrlAnnotationDetails.AnnotationRTFText= "{\\rtf1\\ansi\\ansicpg1252\\deff0\\deflang1033{\\fonttbl{\\f0\\fnil\\fcharset0 Microsoft Sans Serif;}}\r\n\\viewkind4\\uc1\\pard\\f0\\fs20\\par\r\n}\r\n"; + DisplayRO.MyUserInfo = MyUserInfo; // set the user's security information in the properties RO panel StepTabRibbon.MyUserInfo = MyUserInfo; // set the user's security information in the ribbon DisplayTransition.MyUserInfo = MyUserInfo; // set the user's security information in the Transition panel diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.resx b/PROMS/VEPROMS User Interface/frmVEPROMS.resx index 3c84ece0..efee24ed 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.resx +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.resx @@ -172,16 +172,16 @@ - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAACxMAAAsTAQCanBgAAAA0SURBVDhPY2CgFHxqEvyPDX9sFOhAV4sVoGsk2RB0TeiY - oCH/l+n9pwSPGjBqAHUMGHAAAO9c/kJD+HpiAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + EwAACxMBAJqcGAAAADRJREFUOE9jYKAUfGoS/I8Nf2wU6EBXixWgayTZEHRN6JigIf+X6f2nBI8aMGoA + dQwYcAAA71z+QkP4emIAAAAASUVORK5CYII= - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAACxMAAAsTAQCanBgAAAA0SURBVDhPY2CgFHxqEvyPDX9sFOhAV4sVoGsk2RB0TeiY - oCH/l+n9pwSPGjBqAHUMGHAAAO9c/kJD+HpiAAAAAElFTkSuQmCC + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL + EwAACxMBAJqcGAAAADRJREFUOE9jYKAUfGoS/I8Nf2wU6EBXixWgayTZEHRN6JigIf+X6f2nBI8aMGoA + dQwYcAAA71z+QkP4emIAAAAASUVORK5CYII= @@ -339,6 +339,9 @@ HM29CO23pWh3l/Bz4QZPYlnkk5YA/gbYS8m5Qty18AAAAABJRU5ErkJggg== + + 240, 17 + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 @@ -389,9 +392,6 @@ 2AlZGRmMVIjXgI7OLub6xkaVtLS0ovT09IjCwkIWdDUgDAAMn43RSw4q2AAAAABJRU5ErkJggg== - - 240, 17 - 651, 17 diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 2dcfd7c5..b0649cc6 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -449,10 +449,9 @@ namespace VEPROMS.CSLA.Library { StringBuilder sret = new StringBuilder(); ItemInfo pitem = this; - while (!pitem.IsSection && !pitem.IsHigh) { - using (StepInfo stpinfo = StepInfo.Get(pitem.ItemID)) + using (StepInfo stpinfo = StepInfo.Get(pitem.ItemID)) { string thisTab = stpinfo.MyTab.CleanText; @@ -4705,43 +4704,50 @@ namespace VEPROMS.CSLA.Library int localPrintLevel = PrintLevel; StepSectionData sd = ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData; bool doMeta = false; - if (sd.StepSectionLayoutData.TieTabToLevel && ActiveFormat.PlantFormat.FormatData.SectData.UseMetaSections) + if (sd.StepSectionLayoutData.TieTabToLevel) // C2025-036 reduce un-needed processing { - if (sd.StepSectionLayoutData.ShowSectionTitles - && !MyDocStyle.CancelSectTitle - && !(MyDocStyle.SpecialStepsFoldout && MyDocStyle.UseColSByLevel)) - localPrintLevel = PrintLevel + (((ActiveFormat.PlantFormat.FormatData.Express && IsSequential)) ? 0 : CurrentSectionLevel()); - if (!ActiveFormat.PlantFormat.FormatData.Express) doMeta = true; - } - if (sd.StepSectionLayoutData.TieTabToLevel && ActiveFormat.PlantFormat.FormatData.SectData.CountSubSectionsForLevel) - if (SectionLevel() > 1) + if (ActiveFormat.PlantFormat.FormatData.SectData.UseMetaSections) + { + if (sd.StepSectionLayoutData.ShowSectionTitles + && !MyDocStyle.CancelSectTitle + && !(MyDocStyle.SpecialStepsFoldout && MyDocStyle.UseColSByLevel)) + localPrintLevel = PrintLevel + (((ActiveFormat.PlantFormat.FormatData.Express && IsSequential)) ? 0 : CurrentSectionLevel()); + if (!ActiveFormat.PlantFormat.FormatData.Express) doMeta = true; + } + if (ActiveFormat.PlantFormat.FormatData.SectData.CountSubSectionsForLevel && (SectionLevel() > 1)) localPrintLevel += 1; + } + SeqTabFmtList seqtabs = ActiveFormat.PlantFormat.FormatData.SectData.StepSectionData.SeqTabFmtList; + // Start with basic cases of alpha/numeric/seq: // If we have metasections AND... // If the seqtabs for this given level does not get a section number, use the seqtab rather than // the ident of the step: bool useSubStepTabs = false; - if (doMeta && IsHigh - && !seqtabs[(localPrintLevel < 0 ? 0 : localPrintLevel) % seqtabs.MaxIndex].TabToken.Contains("{numericWpar}") - && tbformat.Contains("{")) useSubStepTabs = true; - - // Check to be sure the parent tab should be included... If this sequential is within a note - // or caution or equipment list, don't use parent tab AND always start the numbering as a numeric - if (doMeta && IsSequential && (InNote() || InCaution() || - (MyParent.IsEquipmentList && !MyParent.FormatStepData.TabData.IdentPrint.Contains("{seq}")))) + if (doMeta) // C2025-036 reduce un-needed processing { - // if immediate parent is note, caution or equip, use numeric, otherwise use alpha. - localPrintLevel = 0; - int lv = 0; - ItemInfo ii = MyParent; - while (!ii.IsCaution && !ii.IsNote && !ii.IsEquipmentList) + if (IsHigh + && !seqtabs[(localPrintLevel < 0 ? 0 : localPrintLevel) % seqtabs.MaxIndex].TabToken.Contains("{numericWpar}") + && tbformat.Contains("{")) useSubStepTabs = true; + + // Check to be sure the parent tab should be included... If this sequential is within a note + // or caution or equipment list, don't use parent tab AND always start the numbering as a numeric + if (IsSequential && (InNote() || InCaution() || + (MyParent.IsEquipmentList && !MyParent.FormatStepData.TabData.IdentPrint.Contains("{seq}")))) { - lv++; - ii = ii.MyParent; + // if immediate parent is note, caution or equip, use numeric, otherwise use alpha. + localPrintLevel = 0; + int lv = 0; + ItemInfo ii = MyParent; + while (!ii.IsCaution && !ii.IsNote && !ii.IsEquipmentList) + { + lv++; + ii = ii.MyParent; + } + lv = lv % 2; + tbformat = (lv == 0) ? "{numeric}." : "{alpha}."; } - lv = lv % 2; - tbformat = (lv == 0) ? "{numeric}." : "{alpha}."; } bool trimTabStart = false; bool dontTrimParentTabBeforeAppending = false; // B2019-011 for Barakah Alarm format @@ -4807,7 +4813,7 @@ namespace VEPROMS.CSLA.Library PrintLevel = 0; // If token includes 'Wpar', the parent tab prefix's the tab. - if (localPrintLevel > 0 && (tbformat.IndexOf("{numericWpar}") > -1 || tbformat.IndexOf("{alphaWpar}") > -1 || tbformat.IndexOf("{ALPHAWpar}") > -1)) + if (localPrintLevel > 0 && tbformat.Contains("Wpar}")) // C2025-036 reduce un-needed processing { string parentTab = null; ItemInfo myparent = ActiveParent as ItemInfo; @@ -4922,18 +4928,21 @@ namespace VEPROMS.CSLA.Library } string alpha = useLinked?LinkedTab.Trim():AlphabeticalNumbering(ordinal); if (trimSeqValue) alpha = alpha.Trim(); // F2024-043 trim white around SEQ tab value (for sub-steps) - // B2017-211 Roman High Level steps should be followed by Uppercase alpha substeps - This is being limited to Calvert SAMG Format - if (_ActiveFormat.Name =="BGESAM1" &&MyParent != null && MyParent.IsHigh && MyParent.IsStep && MyParent.FormatStepData.TabData.IdentEdit.Contains("ROMAN")) - tbformat = tbformat.Replace("{alpha}", alpha); - else - tbformat = tbformat.Replace("{alpha}", alpha.ToLower()); - tbformat = tbformat.Replace("{alphaWpar}", alpha.ToLower()); - if (ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && tbformat.Contains("{ALPHA}") && alpha.Length > 1) - tbformat = tbformat.Replace("{ALPHA}. ", alpha + "."); // if double chars, remove one of the space for BGE - else - tbformat = tbformat.Replace("{ALPHA}", alpha); + if (tbformat.ToUpper().Contains("{ALPHA")) // C2025-036 reduce un-needed processing + { + // B2017-211 Roman High Level steps should be followed by Uppercase alpha substeps - This is being limited to Calvert SAMG Format + if (_ActiveFormat.Name == "BGESAM1" && MyParent != null && MyParent.IsHigh && MyParent.IsStep && MyParent.FormatStepData.TabData.IdentEdit.Contains("ROMAN")) + tbformat = tbformat.Replace("{alpha}", alpha); + else + tbformat = tbformat.Replace("{alpha}", alpha.ToLower()); + tbformat = tbformat.Replace("{alphaWpar}", alpha.ToLower()); + if (ActiveFormat.PlantFormat.FormatData.PrintData.SpecialCaseCalvert && tbformat.Contains("{ALPHA}") && alpha.Length > 1) + tbformat = tbformat.Replace("{ALPHA}. ", alpha + "."); // if double chars, remove one of the space for BGE + else + tbformat = tbformat.Replace("{ALPHA}", alpha); - tbformat = tbformat.Replace("{ALPHAWpar}", alpha); + tbformat = tbformat.Replace("{ALPHAWpar}", alpha); + } if (tbformat.ToUpper().Contains("ROMAN")) { string roman = RomanNumbering(ordinal); @@ -4941,15 +4950,18 @@ namespace VEPROMS.CSLA.Library tbformat = tbformat.Replace("{ROMAN}", roman); tbformat = tbformat.Substring(0, tbformat.Length - ((roman.Length - 1) > 0 ? (roman.Length - 1) : 0)); } - if (tbformat.Contains("{numeric}") && ((MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_AddDotZeroStdHLS) == E_DocStructStyle.DSS_AddDotZeroStdHLS) && MyContent.Type == 20002) + if (tbformat.Contains("{numeric}")) // C2025-036 reduce un-needed processing { - tbformat = tbformat.Replace("{numeric}", ordinal.ToString().PadLeft(2) + ".0"); - tbformat = tbformat.Substring(0, tbformat.Length - 2); - } - if (tbformat.Contains("{numeric}") && (this.FormatStepData.AppendDotZero)) // F2018-022 Added step type flag to append a ".0" to the end of the high level step - put in for Westinghouse single column format (wst1) - { - string numtxt = ordinal.ToString().PadLeft(2) + ".0"; - tbformat = tbformat.Replace("{numeric}.", numtxt).Replace("{numeric}", numtxt); + if (((MyDocStyle.StructureStyle.Style & E_DocStructStyle.DSS_AddDotZeroStdHLS) == E_DocStructStyle.DSS_AddDotZeroStdHLS) && MyContent.Type == 20002) + { + tbformat = tbformat.Replace("{numeric}", ordinal.ToString().PadLeft(2) + ".0"); + tbformat = tbformat.Substring(0, tbformat.Length - 2); + } + if (this.FormatStepData.AppendDotZero) // F2018-022 Added step type flag to append a ".0" to the end of the high level step - put in for Westinghouse single column format (wst1) + { + string numtxt = ordinal.ToString().PadLeft(2) + ".0"; + tbformat = tbformat.Replace("{numeric}.", numtxt).Replace("{numeric}", numtxt); + } } // if this is a wolf creek background, if the tbformat ends with a '.' don't add a space, // otherwise add a space. @@ -6147,9 +6159,10 @@ namespace VEPROMS.CSLA.Library } private bool IsLowestLevelStep { + //F2025-015 added check for IsInCautionOrNote for sub-step inside Notes and Cautions get { - return (!(IsCaution || IsNote || IsTable || IsFigure || Steps != null || MyParent.IsCaution || MyParent.IsNote)); + return (!(IsCaution || IsNote || IsInCautionOrNote || IsTable || IsFigure || Steps != null || MyParent.IsCaution || MyParent.IsNote)); } } private bool RNOsHighHasCheckOff() diff --git a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs index 52947440..cfc23380 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/DocStyles.cs @@ -547,6 +547,17 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _AdjSectTitleLoc, "@AdjSectTitleLoc"); } } + + // this will add additional spacing between the Section Numbers and Titles + private LazyLoad _SectTitleOffsetOverride; + public float? SectTitleOffsetOverride + { + get + { + return LazyLoad(ref _SectTitleOffsetOverride, "@SectTitleOffsetOverride"); + } + } + #endregion AdjSectTitleLoc #region ShowAlarmPointWindowInfo @@ -653,6 +664,21 @@ namespace VEPROMS.CSLA.Library } } #endregion + + #region AltMultiUnitWording + [Category("Miscellaneous")] + [Description("Alternate Wording for Printing when MultiUnit")] + + // this will utilize Alternate Wording for Printing when MultiUnit and PrintCommonForZeroUnit is set + private LazyLoad _AltMultiUnitWording; + public string AltMultiUnitWording + { + get + { + return LazyLoad(ref _AltMultiUnitWording, "@AltMultiUnitWording"); + } + } + #endregion IncludeInTOC public override string ToString() { return String.Format("{0:D2} - {1}", Index, Name); diff --git a/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs b/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs index a1af31b5..a97edf71 100644 --- a/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs +++ b/PROMS/VEPROMS.CSLA.Library/Format/PageStyles.cs @@ -244,6 +244,16 @@ namespace VEPROMS.CSLA.Library return LazyLoad(ref _TrimEnding, "@TrimEnding"); } } + // C2025-033 to specify to print pagestyle item for a specific Child procedure + private LazyLoad _ChildNum; + public int? ChildNum + { + get + { + return (LazyLoad(ref _ChildNum, "@ChildNum")); + } + } + #endregion #region Override ToString public override string ToString() diff --git a/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs b/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs index 80e56972..89fae763 100644 --- a/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs +++ b/PROMS/VEPROMS.CSLA.Library/Minimal/UserSettings.cs @@ -16,6 +16,7 @@ namespace VEPROMS.CSLA.Library #region Public Properties public bool UserSetting_OpenTabs_Remember { get; protected set; } = false; public bool UserSetting_OpenTabs_AutoOpen { get; protected set; } = true; + public bool UserSetting_MSWord_Summary_Prompt { get; protected set; } = true; #endregion @@ -31,7 +32,7 @@ namespace VEPROMS.CSLA.Library using (SqlCommand cm = cn.CreateCommand()) { cm.CommandType = CommandType.Text; - cm.CommandText = "Select RememberOpenTabs, AutoOpenTabs FROM Users where UserID = @UID"; + cm.CommandText = "Select RememberOpenTabs, AutoOpenTabs, MSWordSummaryPrompt FROM Users where UserID = @UID"; cm.Parameters.AddWithValue("@UID", _userid); cm.CommandTimeout = Database.DefaultTimeout; using (SafeDataReader dr = new SafeDataReader(cm.ExecuteReader())) @@ -40,6 +41,7 @@ namespace VEPROMS.CSLA.Library { UserSetting_OpenTabs_Remember = (bool) dr.GetValue("RememberOpenTabs"); UserSetting_OpenTabs_AutoOpen = (bool) dr.GetValue("AutoOpenTabs"); + UserSetting_MSWord_Summary_Prompt = (bool) dr.GetValue("MSWordSummaryPrompt"); } } } @@ -84,6 +86,33 @@ namespace VEPROMS.CSLA.Library throw new DbCslaException("UserSettings_SetUserSettings", ex); } + } + + public void SetUserSetting_MSWord_Summary_Prompt(bool prompt) + { + try + { + using (SqlConnection cn = Database.VEPROMS_SqlConnection) + { + using (SqlCommand cm = cn.CreateCommand()) + { + cm.CommandType = CommandType.StoredProcedure; + cm.CommandText = "vesp_UpdateUserSettingMSWordSummaryPrompt"; + cm.Parameters.AddWithValue("@UID", _userid); + UserSetting_MSWord_Summary_Prompt = prompt; + cm.Parameters.AddWithValue("@Prompt", prompt); + cm.CommandTimeout = Database.DefaultTimeout; + + cm.ExecuteNonQuery(); + } + } + } + catch (Exception ex) + { + Database.LogException("UserSettings_SetUserSettings", ex); + throw new DbCslaException("UserSettings_SetUserSettings", ex); + } + } #endregion } diff --git a/PROMS/Volian.Controls.Library/DisplayHistory.cs b/PROMS/Volian.Controls.Library/DisplayHistory.cs index a66c6952..1978e024 100644 --- a/PROMS/Volian.Controls.Library/DisplayHistory.cs +++ b/PROMS/Volian.Controls.Library/DisplayHistory.cs @@ -897,11 +897,7 @@ namespace Volian.Controls.Library // B2023-072: Don't crash if annotation type was deleted for the restore annotation if (ai == null) { - AnnotationTypeInfo ati = AnnotationTypeInfo.Get(aai.TypeID); - if (ati == null) - { - FlexibleMessageBox.Show(this, "Annotation Type was deleted, cannot restore Annotation Type\r\nCopy text from window in Change Details and paste into new annotation to restore the text.", "Annotation Type Deleted", MessageBoxButtons.OK, MessageBoxIcon.Warning); - } + FlexibleMessageBox.Show(this, "Annotation Type was deleted, cannot restore Annotation Type\r\nCopy text from window in Change Details and paste into new annotation to restore the text.", "Annotation Type Deleted", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } OnAnnotationRestored(ai, ai.MyItem); diff --git a/PROMS/Volian.Controls.Library/DisplayTabControl.cs b/PROMS/Volian.Controls.Library/DisplayTabControl.cs index 5f37d421..4d6dbda8 100644 --- a/PROMS/Volian.Controls.Library/DisplayTabControl.cs +++ b/PROMS/Volian.Controls.Library/DisplayTabControl.cs @@ -10,6 +10,7 @@ using Volian.Controls.Library; using DevComponents.DotNetBar; using JR.Utils.GUI.Forms; using Volian.Base.Library; +using Microsoft.Win32; namespace Volian.Controls.Library { @@ -658,11 +659,35 @@ namespace Volian.Controls.Library } else // Otherwise open it in the Word editor { - Document.ConvertWordSectionToDOCX(myItemInfo); // B2023-093 Convert a Word section to the DOCX Word format if needed before opening it for edit - return OpenDSOTabPage(myItemInfo); - } - } + // B2025-034 Check to make sure that EDWord is installed in PROMS. If not return NULL. + object EDOfficeViewerX = GetValue(@"HKEY_CLASSES_ROOT\EDOfficeViewerX.Connect\CLSID\", @"", null); + object EDWordCtrl = GetValue(@"HKEY_CLASSES_ROOT\EDWORD.EDWordCtrl.1\CLSID\", @"", null); + + if (EDOfficeViewerX == null || EDWordCtrl == null) + { + + MessageBox.Show("Edraw needs to be installed or reinstalled on this device. " + Environment.NewLine + "" + Environment.NewLine + + "Please contact your IT Administrator to install and register Edraw that was provided with the PROMS Installation media. If additional support is needed, please contact Volian.", "Error in Word section", + MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + return null; + } + else + { + Document.ConvertWordSectionToDOCX(myItemInfo); // B2023-093 Convert a Word section to the DOCX Word format if needed before opening it for edit + return OpenDSOTabPage(myItemInfo); + } + } + + } + public T GetValue(string registryKeyPath, string value, T defaultValue = default(T)) + { + T retVal = default(T); + + retVal = (T)Registry.GetValue(registryKeyPath, value, defaultValue); + + return retVal; + } public bool PasteRTBItem(ItemInfo myItemInfo, int copyStartID, ItemInfo.EAddpingPart pasteType, int type) { CleanUpClosedItems(); diff --git a/PROMS/Volian.Controls.Library/DisplayTags.cs b/PROMS/Volian.Controls.Library/DisplayTags.cs index a582db36..9761ae85 100644 --- a/PROMS/Volian.Controls.Library/DisplayTags.cs +++ b/PROMS/Volian.Controls.Library/DisplayTags.cs @@ -97,21 +97,6 @@ namespace Volian.Controls.Library set { if (Visible != value) Visible = value; } } - /// - /// Expose text properties for height and widht to handle selecting RO Image Types. - /// - public string TbFSwd - { - get {return tbFSWd.Text;} - set { tbFSWd.Text = value; tbFSWd.Refresh(); } // trBarFS.Value = Convert.ToInt32(value); - } - - public string TbFSht - { - get { return tbFSHt.Text; } - set { tbFSHt.Text = value; tbFSHt.Refresh(); _origFigureSizeRatio = float.Parse(value) / float.Parse(tbFSWd.Text); } - } - #endregion #region Constructor public DisplayTags() @@ -172,6 +157,18 @@ namespace Volian.Controls.Library tbFSWd.SelectionLength = 0; tbFSWd.SelectionStart = tbFSWd.TextLength; // position to the end of the Width text box } + /// + /// Update text properties for height and width for new RO Image Types. + /// + public void SetNewImageHeightAndWidth(int height, int width) + { + tbFSHt.Text = height.ToString(); + tbFSWd.Text = width.ToString(); + tbFSWd.Refresh(); + tbFSHt.Refresh(); + _origFigureSizeWidth = width; + _origFigureSizeRatio = (float)height / (float)width; + } public void ToggleChangeBar() // for use with shortcut keystoke { if (rbChgBarOff.Checked) diff --git a/PROMS/Volian.Controls.Library/EditItem.cs b/PROMS/Volian.Controls.Library/EditItem.cs index 27d89bd4..e5b2677d 100644 --- a/PROMS/Volian.Controls.Library/EditItem.cs +++ b/PROMS/Volian.Controls.Library/EditItem.cs @@ -758,7 +758,7 @@ namespace Volian.Controls.Library // clear tabs, clears then all so that next 'get' will calculate new. public void SetAllTabs() { - RefreshTab(); + RefreshTab(); if (_MyAfterEditItems != null) _MyAfterEditItems[0].SetAllTabs(); // B2020-043: used to loop through all, but then recursion would redo. if (_MyNextEditItem != null) _MyNextEditItem.SetAllTabs(); @@ -1160,7 +1160,7 @@ namespace Volian.Controls.Library { if (myItemInfoList != null) foreach (ItemInfo item in myItemInfoList) - AddChildBefore(item, expand); + AddChildBefore(item, expand); } public EditItem AddChildBefore(ItemInfoList myItemInfoList, EditItem nextEditItem) { @@ -3994,7 +3994,8 @@ namespace Volian.Controls.Library // TODO: Adjust top based upon format // TODO: Remove Label and just output ident on the paint event TabLeft = 20; - SetupHeader(itemInfo); + if (!itemInfo.IsStep) // C2025-036 reduce un-needed processing - this will prevent duplicat calls that generate step tabs when loading a procedure + SetupHeader(itemInfo); SetupAlarmTableView(itemInfo); // C2021-018 display alarm point table information in the step editor (if the format flag is set) this.Paint += new PaintEventHandler(EditItem_Paint); this.BackColorChanged += new EventHandler(EditItem_BackColorChanged); diff --git a/PROMS/Volian.Controls.Library/ImageItem.cs b/PROMS/Volian.Controls.Library/ImageItem.cs index b51fcd9b..698fc85d 100644 --- a/PROMS/Volian.Controls.Library/ImageItem.cs +++ b/PROMS/Volian.Controls.Library/ImageItem.cs @@ -340,9 +340,8 @@ namespace Volian.Controls.Library this.Height = MyPictureBox.Height + 10; if (_displayTags != null) { - _displayTags._origFigureSizeWidth = wd; - _displayTags.TbFSwd = wd.ToString(); - _displayTags.TbFSht = ht.ToString(); + // Set the Height and Width on the step properties page for the new image + _displayTags.SetNewImageHeightAndWidth(ht, wd); } } diff --git a/PROMS/Volian.Controls.Library/StepTabRibbon.cs b/PROMS/Volian.Controls.Library/StepTabRibbon.cs index 9834448d..77ed9197 100644 --- a/PROMS/Volian.Controls.Library/StepTabRibbon.cs +++ b/PROMS/Volian.Controls.Library/StepTabRibbon.cs @@ -3588,7 +3588,9 @@ namespace Volian.Controls.Library if (tmp.MyDisplayTabControl.MyCopyStep != null && tmp.MyDisplayTabControl.MyCopyStep.ItemID == MyEditItem.MyItemInfo.ItemID) { - if (FlexibleMessageBox.Show("Are you sure?\n\nIf you delete this step you will not able to paste it.\nYou should paste it before you delete it.", "Attempting to delete copied step.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; + //B2025-031 - Improve wording for if attempting to delete copied section + string stype = MyEditItem.MyItemInfo.IsSection ? "section" : "step"; + if (FlexibleMessageBox.Show($"Are you sure?\n\nIf you delete this {stype} you will not able to paste it.\nYou should paste it before you delete it.", $"Attempting to delete copied {stype}.", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; clearCopyStep = true; } diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 5fcb43b6..bdd75d47 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -22,11 +22,11 @@ namespace Volian.Controls.Library public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args); public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args); public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args); - public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args); - public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args); + public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args); + public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args); public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args); - + public delegate bool vlnTreeViewItemInfoInsertEvent(object sender, vlnTreeItemInfoInsertEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteFolderEvent(object sender, vlnTreeFolderDeleteEventArgs args); public delegate bool vlnTreeViewItemInfoPasteEvent(object sender, vlnTreeItemInfoPasteEventArgs args); @@ -57,7 +57,7 @@ namespace Volian.Controls.Library { _MySectionInfo = mySectionInfo; } - public vlnTreeSectionInfoEventArgs(SectionInfo mySectionInfo,bool isDeleting) + public vlnTreeSectionInfoEventArgs(SectionInfo mySectionInfo, bool isDeleting) { _MySectionInfo = mySectionInfo; _IsDeleting = isDeleting; @@ -140,7 +140,7 @@ namespace Volian.Controls.Library get { return _Node; } set { _Node = value; } } - private TreeNode _Destination=null; + private TreeNode _Destination = null; public TreeNode Destination { get { return _Destination; } @@ -168,7 +168,7 @@ namespace Volian.Controls.Library //end jcb multiunit #endregion #region Factory Methods - private vlnTreeEventArgs() { ;} + private vlnTreeEventArgs() {; } public vlnTreeEventArgs(TreeNode node) { _Node = node; @@ -192,7 +192,7 @@ namespace Volian.Controls.Library #endregion public override string ToString() { - return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}",NodePath(this.Node),this.Destination, this.Index,this.Unit, this.UnitIndex); + return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex); } private string NodePath(TreeNode node) @@ -215,7 +215,7 @@ namespace Volian.Controls.Library } #endregion #region Factory Methods - private vlnTreeItemInfoEventArgs() { ;} + private vlnTreeItemInfoEventArgs() {; } public vlnTreeItemInfoEventArgs(ItemInfo myItemInfo) { _MyItemInfo = myItemInfo; @@ -231,7 +231,7 @@ namespace Volian.Controls.Library FolderId = folderId; } } - public enum E_InsertType {Before, After, Child}; + public enum E_InsertType { Before, After, Child }; public partial class vlnTreeItemInfoInsertEventArgs { #region Business Methods @@ -267,7 +267,7 @@ namespace Volian.Controls.Library } #endregion #region Factory Methods - private vlnTreeItemInfoInsertEventArgs() { ;} + private vlnTreeItemInfoInsertEventArgs() {; } public vlnTreeItemInfoInsertEventArgs(ItemInfo myItemInfo, E_InsertType insertType, string stepText) { _MyItemInfo = myItemInfo; @@ -314,7 +314,7 @@ namespace Volian.Controls.Library } #endregion #region Factory Methods - private vlnTreeItemInfoPasteEventArgs() { ;} + private vlnTreeItemInfoPasteEventArgs() {; } public vlnTreeItemInfoPasteEventArgs(ItemInfo myItemInfo, int copyStartId, ItemInfo.EAddpingPart pasteType, int? type) { _MyItemInfo = myItemInfo; @@ -322,7 +322,7 @@ namespace Volian.Controls.Library _PasteType = pasteType; _Type = type; } - + #endregion } #endregion @@ -364,7 +364,7 @@ namespace Volian.Controls.Library get { return _SectionConfig; } set { _ConfigObject = _SectionConfig = value; } } - private vlnTreePropertyEventArgs() { ;} + private vlnTreePropertyEventArgs() {; } public vlnTreePropertyEventArgs(string title, FolderConfig folderConfig) { _Title = title; @@ -528,6 +528,11 @@ namespace Volian.Controls.Library { if (PrintSection != null) PrintSection(sender, args); } + public event vlnTreeViewEvent QPrintSection; + private void OnQPrintSection(object sender, vlnTreeEventArgs args) + { + if (QPrintSection != null) QPrintSection(sender, args); + } public event vlnTreeViewEvent PrintAllProcedures; private void OnPrintAllProcedures(object sender, vlnTreeEventArgs args) { @@ -568,16 +573,16 @@ namespace Volian.Controls.Library { if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args); } - - - - - - public event vlnTreeViewEvent ExportImportProcedureSets; - private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args) - { - if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args); - } + + + + + + public event vlnTreeViewEvent ExportImportProcedureSets; + private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args) + { + if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args); + } public event vlnTreeViewEvent PrintTransitionReport; private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args) { @@ -629,7 +634,7 @@ namespace Volian.Controls.Library // This event was added to update the Step Properties/RO & Tools/Search RO & Reports // when an update of ro.fst is done & the ro trees on those panels needs refreshed. // (bug fix B2015-226) - public event StepPanelTabDisplayEvent TabDisplay; + public event StepPanelTabDisplayEvent TabDisplay; private void OnTabDisplay(object sender, StepPanelTabDisplayEventArgs args) { if (TabDisplay != null) TabDisplay(sender, args); @@ -715,39 +720,39 @@ namespace Volian.Controls.Library //_MyLog.WarnFormat("Context Menu 1b - {0}", GC.GetTotalMemory(true)); if (ui.IsAdministrator() || ui.IsSetAdministrator(fi)) { - if (fi.MyParent != null) // don't allow insert before/after if at top node + if (fi.MyParent != null) // don't allow insert before/after if at top node { if (!ui.IsAdministrator() && DoSpecificInfo) cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click)); // B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate - if (ui.IsAdministrator()||ui.IsSetAdministrator(fi.MyParent)) + if (ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) { cm.MenuItems.Add("Insert Folder Before", new EventHandler(mi_Click)); cm.MenuItems.Add("Insert Folder After", new EventHandler(mi_Click)); } } // B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate - if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0) + if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0) cm.MenuItems.Add("New Folder", new EventHandler(mi_Click)); - if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft) + if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft) cm.MenuItems.Add("Create Working Draft", new EventHandler(mi_Click)); } - if (fi.HasWorkingDraft) + if (fi.HasWorkingDraft) cm.MenuItems.Add("Print Transition Report", new EventHandler(mi_Click)); } - else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs + else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs { isWrkDftNode = true; //_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true)); DocVersionInfo dvi = tn.VEObject as DocVersionInfo; if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi)) - { - cm.MenuItems.Add("Import Procedure", mi_Click); - } - if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi)) + { + cm.MenuItems.Add("Import Procedure", mi_Click); + } + if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi)) { OwnerInfoList.Reset(); oil = OwnerInfoList.GetByVersionID(dvi.VersionID); - if (dvi.ActiveFormat.PlantFormat.FormatData.SpecificInfo) + if (dvi.ActiveFormat.PlantFormat.FormatData.SpecificInfo) cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click)); cm.MenuItems.Add("Refresh Checked Out Procedures", new EventHandler(mi_Click)); cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click)); @@ -834,15 +839,15 @@ namespace Volian.Controls.Library urv.Enabled = !dvi.ROfstLastCompleted || dvi.NewerRoFst; } } - else if (tn.VEObject as ProcedureInfo != null) // Procs can only contain sections + else if (tn.VEObject as ProcedureInfo != null) // Procs can only contain sections { isProcNode = true; ProcedureInfo pri = tn.VEObject as ProcedureInfo; oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure); if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion)) - { - cm.MenuItems.Add("Export Procedure", mi_Click); - } + { + cm.MenuItems.Add("Export Procedure", mi_Click); + } if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion)) { if (oi != null && oi.SessionID != MySessionInfo.SessionID) @@ -893,7 +898,7 @@ namespace Volian.Controls.Library } cm.MenuItems.Add(micas); cm.MenuItems.Add(mitcas); - cm.MenuItems.Add(mip); + cm.MenuItems.Add(mip); cm.MenuItems.Add(miqp); //cm.MenuItems.Add(mips); AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri); @@ -994,11 +999,26 @@ namespace Volian.Controls.Library mp.Tag = k; } cm.MenuItems.Add(mps); + + //C2025-028 Add a Quick Print Section option + MenuItem mps_qp = new MenuItem("Quick Print Section"); + int k_qp = 0; + foreach (string s in si2.MyDocVersion.UnitNames) + { + k_qp++; + MenuItem mp_qp = mps_qp.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); + mp_qp.Tag = k_qp; + } + cm.MenuItems.Add(mps_qp); } } else { - if(!si2.IsSubsection) cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + if (!si2.IsSubsection) + { + cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click)); + } } } } @@ -1061,9 +1081,37 @@ namespace Volian.Controls.Library // require clearing of all enhanced config data or mapping it to existing data (quite complicated) if ((ui.IsAdministrator() || ui.IsSetAdministrator(i.MyProcedure.MyDocVersion) || ui.IsWriter(i.MyProcedure.MyDocVersion)) && (!i.IsEnhancedStep && !i.IsEnhancedProcedure && !i.IsEnhancedSection && !i.IsRtfRaw && !i.IsFigure)) cm.MenuItems.Add("Copy", new EventHandler(mi_Click)); + //if (i.HasWordContent) + //{ + // cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + // cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click)); + //} if (i.HasWordContent) { - cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + if (i.MyDocVersion.MultiUnitCount > 1) + { + if (!i.IsSubsection) + { + MenuItem mps = new MenuItem("Print Section"); + MenuItem mqps = new MenuItem("Quick Print Section"); + int k = 0; + foreach (string s in i.MyDocVersion.UnitNames) + { + k++; + MenuItem mp = mps.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); + mp.Tag = k; + MenuItem mqp = mqps.MenuItems.Add(s, new EventHandler(miMultiUnit_Click)); + mqp.Tag = k; + } + cm.MenuItems.Add(mps); + cm.MenuItems.Add(mqps); + } + } + else + { + cm.MenuItems.Add("Print Section", new EventHandler(mi_Click)); + cm.MenuItems.Add("Quick Print Section", new EventHandler(mi_Click)); + } } } #endregion @@ -1077,42 +1125,42 @@ namespace Volian.Controls.Library ok = true; else if (tn.VEObject is ItemInfo && (ui.IsAdministrator() || ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) || ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion))) ok = true; - if(ok) + if (ok) Menu_Paste(tn, cm); #endregion //_MyLog.WarnFormat("Context Menu 5 - {0}", GC.GetTotalMemory(true)); #region Menu_Delete if (ok) - - - - - + + + + + + { + // Add delete to the menu unless at the very 'top' node, on a grouping (partinfo) + // node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items. + PartInfo pi = tn.VEObject as PartInfo; + if (pi == null && tn.Parent != null) // it's not a part and it's not the top.... { - // Add delete to the menu unless at the very 'top' node, on a grouping (partinfo) - // node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items. - PartInfo pi = tn.VEObject as PartInfo; - if (pi == null && tn.Parent != null) // it's not a part and it's not the top.... + fi = tn.VEObject as FolderInfo; + if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children { - fi = tn.VEObject as FolderInfo; - if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children + DocVersionInfo di = tn.VEObject as DocVersionInfo; + if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children { - DocVersionInfo di = tn.VEObject as DocVersionInfo; - if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children - { - // if it's an enhanced step that was linked from a source, don't allow delete - bool canDoDel = true; - ItemInfo iienh = tn.VEObject as ItemInfo; - if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false; - if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false; - if (iienh != null && iienh.IsEnhancedStep) canDoDel = false; - if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click)); - } + // if it's an enhanced step that was linked from a source, don't allow delete + bool canDoDel = true; + ItemInfo iienh = tn.VEObject as ItemInfo; + if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false; + if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false; + if (iienh != null && iienh.IsEnhancedStep) canDoDel = false; + if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click)); } } } - + } + #endregion //_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true)); #region Menu_ExternalTransitions @@ -1148,13 +1196,13 @@ namespace Volian.Controls.Library } doclink = string.Format("Unlink Source and {0} Procedure", doclink); MenuItem mix = cm.MenuItems.Add(doclink, new EventHandler(miEnhanced_Click)); - mix.Tag = -1; // NOTE this is what flags what gets processed on menu click, i.e. -1 + mix.Tag = -1; // NOTE this is what flags what gets processed on menu click, i.e. -1 } // if this is a source procedure that has enhanced, for example Background and/or deviation, ask which should be unlinked including all else if (eds != null && eds.Count > 1) { MenuItem miu = new MenuItem("Unlink Enhanced Procedure(s) from Source"); - miu.Tag = -2; // this menu item doesn't get used. + miu.Tag = -2; // this menu item doesn't get used. int k = 0; foreach (EnhancedDocument ed in eds) { @@ -1165,7 +1213,7 @@ namespace Volian.Controls.Library } // add all submenu item MenuItem mp1 = miu.MenuItems.Add("All", new EventHandler(miEnhanced_Click)); - mp1.Tag = 0; // Tag of 0 flags All + mp1.Tag = 0; // Tag of 0 flags All cm.MenuItems.Add(miu); } } @@ -1175,9 +1223,9 @@ namespace Volian.Controls.Library // Add Properties to the menu unless at the very 'top' node or on a grouping (partinfo) // node (RNOs, Steps, Cautions, Notes) or at the step level. // B2020-105 Allow Set Administrators to rename folder's (sets of procedures) to which they have been given access. - if ( tn.VEObject is FolderInfo) ok = (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo)); - else ok = (tn.VEObject is DocVersionInfo) ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo)) - : (ui.IsAdministrator() || (tn.VEObject is ItemInfo) && (ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) + if (tn.VEObject is FolderInfo) ok = (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo)); + else ok = (tn.VEObject is DocVersionInfo) ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo)) + : (ui.IsAdministrator() || (tn.VEObject is ItemInfo) && (ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) || ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion))); PartInfo pia = tn.VEObject as PartInfo; ItemInfo ii = tn.VEObject as ItemInfo; @@ -1258,7 +1306,7 @@ namespace Volian.Controls.Library itm.Text == "Procedure Set Specific Information" || itm.Text == "Approve All Procedures for" || itm.Text == "Approve Some Procedures" || itm.Text == "Approve Some Procedures for") itm.Enabled = false; - + } } } @@ -1287,9 +1335,9 @@ namespace Volian.Controls.Library // F2022-024 added Time Critical Action Summary option foreach (MenuItem itm in cm.MenuItems) { - if(itm.Text == "Procedure Specific Information" || itm.Text == "New Section" || itm.Text == "Approve" || itm.Text == "Open" || + if (itm.Text == "Procedure Specific Information" || itm.Text == "New Section" || itm.Text == "Approve" || itm.Text == "Open" || itm.Text == "Copy" || itm.Text == "Delete" || itm.Text == "Properties..." || itm.Text == "Replace Existing Procedure" || - itm.Text.StartsWith("Showing Change Bars Starting") || itm.Text == "Create Continuous Action Summary" || + itm.Text.StartsWith("Showing Change Bars Starting") || itm.Text == "Create Continuous Action Summary" || itm.Text == "Create Time Critical Action Summary" || itm.Text == "Export Procedure") itm.Enabled = false; } @@ -1298,7 +1346,7 @@ namespace Volian.Controls.Library { foreach (MenuItem itm in cm.MenuItems) { - if(!itm.Text.StartsWith("Document Checked Out")) + if (!itm.Text.StartsWith("Document Checked Out")) itm.Enabled = false; } } @@ -1315,7 +1363,7 @@ namespace Volian.Controls.Library { _currentPri = pri; RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID); - if (ril.Count == 0) return; // no versions to list + if (ril.Count == 0) return; // no versions to list MenuItem mi = menuItemCollection.Add("Versions"); int k = 0; int lastApprovedRevisionID = 0; @@ -1362,11 +1410,11 @@ namespace Volian.Controls.Library ril = null; } } - public void AddNewNode(IVEDrillDownReadOnly o) - { - VETreeNode tn = new VETreeNode(o); - SelectedNode.Nodes.Add(tn); - } + public void AddNewNode(IVEDrillDownReadOnly o) + { + VETreeNode tn = new VETreeNode(o); + SelectedNode.Nodes.Add(tn); + } private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri) { try @@ -1375,7 +1423,7 @@ namespace Volian.Controls.Library _currentPri = pri; using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID)) { - //_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true)); + //_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true)); if (ril.Count == 0) return; // no versions to list MenuItem mi = menuItemCollection.Add("Versions"); int lastApprovedRevisionID = 0; @@ -1456,7 +1504,7 @@ namespace Volian.Controls.Library RevisionConfig rc = ri.MyConfig as RevisionConfig; // bug fix: B2016-183 - add the child's name (ex Unit 1) to the export file name for Parent/Child procedures. int applIdx = rc.Applicability_Index; - string str = (applIdx > 0)?_currentPri.MyDocVersion.UnitNames[applIdx-1] +"_":""; // if parent/child get the defined child name to inlcude the export filename + string str = (applIdx > 0) ? _currentPri.MyDocVersion.UnitNames[applIdx - 1] + "_" : ""; // if parent/child get the defined child name to inlcude the export filename System.Xml.XmlDocument xd = new System.Xml.XmlDocument(); xd.LoadXml(ri.LatestVersion.ApprovedXML); string PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database; @@ -1504,12 +1552,12 @@ namespace Volian.Controls.Library { MenuItem mip = mi.Parent as MenuItem; //B2021-086 Added the check for the last revision stage is an Approved stage - if ((ri.RevisionID < int.Parse(mip.Parent.Tag.ToString())) && ri.LatestVersion.MyStage.IsApproved!=0) + if ((ri.RevisionID < int.Parse(mip.Parent.Tag.ToString())) && ri.LatestVersion.MyStage.IsApproved != 0) superceded = true; } vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : ""); OnViewPDF(sender, args); -// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded)); + // System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded)); } void MultiUnitApprovedRevision_Click(object sender, EventArgs e) { @@ -1622,7 +1670,7 @@ namespace Volian.Controls.Library // 'from' is object copied // 'to' is object where paste was selected from #region Menu_Paste_ToDocVersion - if (tn.VEObject as DocVersionInfo != null) // paste item must be a proc + if (tn.VEObject as DocVersionInfo != null) // paste item must be a proc { if (iiClipboard.IsProcedure) { @@ -1632,7 +1680,7 @@ namespace Volian.Controls.Library // 3) 'to' docversion is 'source' and 'from' procedure is within this docversion // 4) 'to' docVersion is 'enhanced' and 'from' procedure is not bool canPaste = false; - + DocVersionInfo dvi = tn.VEObject as DocVersionInfo; DocVersionConfig dvc = dvi.DocVersionConfig; bool docVersionIsEnhanced = dvc.MyEnhancedDocuments != null && dvc.MyEnhancedDocuments.Count > 0 && dvc.MyEnhancedDocuments[0].Type == 0; @@ -1653,7 +1701,7 @@ namespace Volian.Controls.Library if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation. if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click)); } - #endregion + #endregion } else { @@ -1664,7 +1712,7 @@ namespace Volian.Controls.Library { SectionInfo si = (tn.VEObject as SectionInfo != null) ? tn.VEObject as SectionInfo : null; #region Menu_Paste_ToFromProcedure - if (iiPasteHere.IsProcedure && iiClipboard.IsProcedure) // procedure can be pasted before/replace/after + if (iiPasteHere.IsProcedure && iiClipboard.IsProcedure) // procedure can be pasted before/replace/after { // Enhanced considerations, in order to paste a procedure around another procedure: NOTE that an 'enhanced' procedure cannot be in paste buffer! // 1) 'to' & 'from' both 'non', i.e. Neither can have enhanced config data (be source or enhanced) @@ -1688,16 +1736,16 @@ namespace Volian.Controls.Library bool prFromIsEnhanced = iiClipboard.IsEnhancedProcedure; bool prFromIsSource = pcFromCfg.MyEnhancedDocuments != null && pcFromCfg.MyEnhancedDocuments.Count > 0 && pcFromCfg.MyEnhancedDocuments[0].Type != 0; bool prCanPaste = false; - if (!prToIsEnhanced && !prToIsSource && !prFromIsEnhanced && !prFromIsSource) prCanPaste = true; // 1) - // else if ((!prToIsEnhanced && !prToIsSource) && prFromIsSource) prCanPaste = false; // 2) commented out because already set to false - else if (prToIsSource && !prFromIsEnhanced && !prFromIsSource) // 3) + if (!prToIsEnhanced && !prToIsSource && !prFromIsEnhanced && !prFromIsSource) prCanPaste = true; // 1) + // else if ((!prToIsEnhanced && !prToIsSource) && prFromIsSource) prCanPaste = false; // 2) commented out because already set to false + else if (prToIsSource && !prFromIsEnhanced && !prFromIsSource) // 3) { prCanPaste = true; okToReplace = false; } - else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) prCanPaste = true; // 4) - //else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID != iiClipboard.MyDocVersion.VersionID) prCanPaste = false; // 5) commented out because already set to false - //else if (prToIsEnhanced && prFromIsSource) prCanPaste = false; // 6)commented out because already set to false + else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) prCanPaste = true; // 4) + //else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID != iiClipboard.MyDocVersion.VersionID) prCanPaste = false; // 5) commented out because already set to false + //else if (prToIsEnhanced && prFromIsSource) prCanPaste = false; // 6)commented out because already set to false if (iiClipboard.IsRtfRaw) prCanPaste = okToReplace = prCanPaste = false; // never paste an equation. if (prCanPaste) cm.MenuItems.Add("Paste Procedure Before", new EventHandler(mi_Click)); if (okToReplace && prCanPaste) cm.MenuItems.Add("Replace Existing Procedure", new EventHandler(mi_Click)); @@ -1729,9 +1777,9 @@ namespace Volian.Controls.Library bool scFromIsEnhanced = iiClipboard.IsEnhancedSection; bool scFromIsSource = scFromCfg.MyEnhancedDocuments != null && scFromCfg.MyEnhancedDocuments.Count > 0 && scFromCfg.MyEnhancedDocuments[0].Type != 0; bool scCanPaste = false; - if (!prToIsEnhanced && !prToIsSource && !scFromIsEnhanced && !scFromIsSource) scCanPaste = true; // 1) + if (!prToIsEnhanced && !prToIsSource && !scFromIsEnhanced && !scFromIsSource) scCanPaste = true; // 1) else if (prToIsSource && !scFromIsEnhanced && !scFromIsSource) scCanPaste = true; - else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) scCanPaste = true; // 3) + else if (prToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) scCanPaste = true; // 3) if (iiClipboard.IsRtfRaw) scCanPaste = false; // never paste an equation. if (scCanPaste) cm.MenuItems.Add("Paste Section", new EventHandler(mi_Click)); } @@ -1803,9 +1851,9 @@ namespace Volian.Controls.Library bool stpFromIsEnhanced = iiClipboard.IsEnhancedStep; bool stpFromIsSource = stpFromCfg.MyEnhancedDocuments != null && stpFromCfg.MyEnhancedDocuments.Count > 0 && stpFromCfg.MyEnhancedDocuments[0].Type != 0; bool stpCanPaste = false; - if (!secToIsEnhanced && !secToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 1) + if (!secToIsEnhanced && !secToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 1) else if (secToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 2) - else if (secToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) stpCanPaste = true; // 3) + else if (secToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) stpCanPaste = true; // 3) if (iiClipboard.IsRtfRaw) stpCanPaste = false; // never paste an equation. if (stpCanPaste) cm.MenuItems.Add("Paste Step", new EventHandler(mi_Click)); } @@ -1829,8 +1877,8 @@ namespace Volian.Controls.Library bool stpFromIsEnhanced = iiClipboard.IsEnhancedStep; bool stpFromIsSource = stpFromCfg.MyEnhancedDocuments != null && stpFromCfg.MyEnhancedDocuments.Count > 0 && stpFromCfg.MyEnhancedDocuments[0].Type != 0; bool stpCanPaste = false; - if (!stpToIsEnhanced && !stpToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 1) - else if (stpToIsSource && !stpFromIsEnhanced && !stpFromIsSource) // 2) + if (!stpToIsEnhanced && !stpToIsSource && !stpFromIsEnhanced && !stpFromIsSource) stpCanPaste = true; // 1) + else if (stpToIsSource && !stpFromIsEnhanced && !stpFromIsSource) // 2) { stpCanPaste = true; okToReplace = false; @@ -1838,7 +1886,7 @@ namespace Volian.Controls.Library else if (stpToIsSource && iiPasteHere.MyDocVersion.VersionID == iiClipboard.MyDocVersion.VersionID) // 3 { stpCanPaste = true; - if (stpFromIsSource) okToReplace = false; // B2017-183: don't allow a replace to source steps + if (stpFromIsSource) okToReplace = false; // B2017-183: don't allow a replace to source steps } if (iiClipboard.IsRtfRaw) stpCanPaste = false; // never paste an equation. if (stpCanPaste && AddToInsertMenu(iiPasteHere, 0)) cm.MenuItems.Add("Paste Step Before", new EventHandler(mi_Click)); @@ -1867,8 +1915,11 @@ namespace Volian.Controls.Library case "Print Section": OnPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; + case "Quick Print Section": + OnQPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); + break; case "Print All Procedures for": - OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0,mi.Text,(int)mi.Tag)); + OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; case "Approve": OnApproveProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); @@ -1880,10 +1931,10 @@ namespace Volian.Controls.Library OnApproveSomeProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; case "Create Continuous Action Summary": - OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0,mi.Text,(int)mi.Tag)); + OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; case "Create Time Critical Action Summary": - OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0,mi.Text,(int)mi.Tag)); + OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); break; default: if (mip.Text.StartsWith("Showing Change Bars Starting")) @@ -1921,7 +1972,7 @@ namespace Volian.Controls.Library { if (selprc.IsEnhancedProcedure) { - selprc.DoUnlinkEnhanced(selprc, 0, !hasValidConnectingProc); // if no valid linked: enhtype = 0 since this an enhanced doc is getting unlinked + selprc.DoUnlinkEnhanced(selprc, 0, !hasValidConnectingProc); // if no valid linked: enhtype = 0 since this an enhanced doc is getting unlinked } else // from source { @@ -1929,7 +1980,7 @@ namespace Volian.Controls.Library if (hasValidConnectingProc) { ItemInfo lprc = ItemInfo.Get(seleds[0].ItemID); - lprc.DoUnlinkEnhanced(lprc, 0, !hasValidConnectingProc); + lprc.DoUnlinkEnhanced(lprc, 0, !hasValidConnectingProc); } else selprc.DoUnlinkEnhanced(selprc, seleds[0].Type, !hasValidConnectingProc); @@ -1949,7 +2000,7 @@ namespace Volian.Controls.Library { ItemInfo lprc = ItemInfo.Get(ed.ItemID); bool hasValidConnectingProc = CheckForValidEnhLink(lprc); - // if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure. + // if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure. if (hasValidConnectingProc) lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc); else @@ -1973,37 +2024,37 @@ namespace Volian.Controls.Library OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0)); return; } - if (mi.Text.StartsWith("Collapse")) - { + if (mi.Text.StartsWith("Collapse")) + { CollapseProcedures(); - return; - } + return; + } if (mi.Text == "Print Transition Report") { OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode)); return; } - - - - - - - - - - - if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure") - { - OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); - return; - } - if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure") - { - OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1)); - return; - } - if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to")) + + + + + + + + + + + if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure") + { + OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); + return; + } + if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure") + { + OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1)); + return; + } + if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to")) { OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); return; @@ -2014,6 +2065,10 @@ namespace Volian.Controls.Library VETreeNode tn2 = SelectedNode as VETreeNode; OnPrintSection(this, new vlnTreeEventArgs(tn2 as VETreeNode, null, 0)); break; + case "Quick Print Section": + VETreeNode tn2qp = SelectedNode as VETreeNode; + OnQPrintSection(this, new vlnTreeEventArgs(tn2qp as VETreeNode, null, 0)); + break; case "Open": OpenNode(); break; @@ -2025,7 +2080,7 @@ namespace Volian.Controls.Library break; case "New Folder": SelectedNode.Expand(); - tv_NodeNew(MenuSelections.Folder); + tv_NodeNew(MenuSelections.Folder); break; case "Create Working Draft": SelectedNode.Expand(); @@ -2069,12 +2124,11 @@ namespace Volian.Controls.Library tv_NodeCopy(); break; // lots of paste options: - case "Paste Procedure": + case "Paste Procedure": case "Paste Procedure Before": case "Paste Procedure After": case "Paste Section": case "Paste Section Before": - case "Replace Existing Section": case "Paste Section After": case "Paste Step": case "Paste Step Before": @@ -2083,8 +2137,18 @@ namespace Volian.Controls.Library case "Paste Subsection": tv_NodePaste(mi.Text); break; + case "Replace Existing Section": + //C2025-032 - Add check if user is sure want to paste replace section + DialogResult ovewriteExPS = FlexibleMessageBox.Show("This will overwrite the selected section with the one you copied, would you like to overwrite it?\r\n\r\nSelecting 'Cancel' will cancel the paste action.", "Overwrite the section?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); + + if (ovewriteExPS == DialogResult.Cancel) break; + else + { + tv_NodePaste(mi.Text); + break; + } case "Replace Existing Procedure": - DialogResult ovewriteEx = FlexibleMessageBox.Show("This will overwrite the selected procedure with then one you copied, would you like to overwrite it?\r\n\r\nSelecting 'Cancel' will cancel the paste action.", "Overwrite the procedure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);// == DialogResult.Yes; + DialogResult ovewriteEx = FlexibleMessageBox.Show("This will overwrite the selected procedure with the one you copied, would you like to overwrite it?\r\n\r\nSelecting 'Cancel' will cancel the paste action.", "Overwrite the procedure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);// == DialogResult.Yes; if (ovewriteEx == DialogResult.Cancel) break; else @@ -2094,7 +2158,7 @@ namespace Volian.Controls.Library break; } - + case "Delete": if (tv_NodeDelete()) { @@ -2160,14 +2224,14 @@ namespace Volian.Controls.Library UpdateROValues(SelectedNode as VETreeNode); break; case "Create Continuous Action Summary": - OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0)); + OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); break; - // F2022-024 Time Critical Action Summary + // F2022-024 Time Critical Action Summary case "Create Time Critical Action Summary": - OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null,0)); + OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); break; - // B2017-243 added the following two Cannot Paste items when dealing with enhanced documents - // when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted + // B2017-243 added the following two Cannot Paste items when dealing with enhanced documents + // when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted case "CANNOT PASTE HERE. Click for more information...": FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" + "It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here"); @@ -2209,7 +2273,7 @@ namespace Volian.Controls.Library foreach (VETreeNode tnc in tn.Nodes) CollapseProcedures(tnc); if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null) - tn.Collapse(); + tn.Collapse(); _doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node } private void tv_RemoveChgIds() @@ -2264,12 +2328,12 @@ namespace Volian.Controls.Library FinalProgressBarMessage = "Cannot check-out Working Draft"; return; } - Cursor = Cursors.WaitCursor; // C2023-002: move wait cursor after check out error + Cursor = Cursors.WaitCursor; // C2023-002: move wait cursor after check out error int ownerid = MySessionInfo.CheckOutItem(MyDVI.VersionID, CheckOutType.DocVersion); using (DocVersion dv = DocVersion.Get(MyDVI.VersionID)) { swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder - // B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo + // B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed { // only load the RO.fst @@ -2297,7 +2361,7 @@ namespace Volian.Controls.Library swROUpdate.Write(string.Format("Fixed Referenced Object for {1}({4}){0}Old Text: {2}{0}New Text: {3}{0}{0}", Environment.NewLine, (sender as ItemInfo).ShortPath, args.OldValue, args.NewValue, (sender as ItemInfo).ItemID)); } - private ProgressBarItem _ProgressBar=null; + private ProgressBarItem _ProgressBar = null; public ProgressBarItem ProgressBar { get { return _ProgressBar; } @@ -2410,7 +2474,7 @@ namespace Volian.Controls.Library return; } // C2017-003: ro data in sql server, check for sql connection string - if (MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString != "cstring") + if (MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString != "cstring") roloc = roloc + " \"" + MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString + "\""; // C2021-026 pass in Parent/Child information (list of the children) // B2022-019 look at all DocVersions to find ParentChild information @@ -2461,7 +2525,7 @@ namespace Volian.Controls.Library } } VETreeNode tn = SelectedNode as VETreeNode; - + DocVersionInfo dvi = tn.VEObject as DocVersionInfo; // Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section) if (dvi != null) @@ -2475,7 +2539,7 @@ namespace Volian.Controls.Library // assume that item to paste is a procedure, otherwise the menuing would not have // included the paste options - tn = (VETreeNode) tn.Nodes[tn.Nodes.Count - 1]; + tn = (VETreeNode)tn.Nodes[tn.Nodes.Count - 1]; p = "After"; } else // this is an empty docversion: @@ -2511,7 +2575,7 @@ namespace Volian.Controls.Library if (OnlyProc && repitem != null && tmp != null) { VETreeNode tn1 = new VETreeNode(repitem); - tmp.Nodes.Add(tn1); + tmp.Nodes.Add(tn1); SelectedNode = tn1; } } @@ -2520,7 +2584,7 @@ namespace Volian.Controls.Library //if (p.IndexOf("Replace") <= -1) - this.Cursor = Cursors.Default; + this.Cursor = Cursors.Default; } public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID) @@ -2537,7 +2601,7 @@ namespace Volian.Controls.Library } ItemInfo newProc = dvi.PasteChild(copyStartID); VETreeNode tn1 = new VETreeNode(newProc); - SelectedNode.Nodes.Add(tn1); // add tree node to end of list. + SelectedNode.Nodes.Add(tn1); // add tree node to end of list. SelectedNode = tn1; } @@ -2574,7 +2638,7 @@ namespace Volian.Controls.Library } if (pasteSectIntoEmptySect) { - tn.ChildrenLoaded = false; // force a reload of treenode + tn.ChildrenLoaded = false; // force a reload of treenode tn.LoadChildren(true); } SelectedNode = tn; @@ -2589,7 +2653,7 @@ namespace Volian.Controls.Library // the item to be pasted in the step editor and the tree. ItemInfo newItemInfo = null; // F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format - if (!ii.IsProcedure) + if (!ii.IsProcedure) ItemInfo.PasteStepIsWithinDefinedSubStepLevels(copyStartID, ii, false); if (ii.IsProcedure || !OnPasteItemInfo(this, new vlnTreeItemInfoPasteEventArgs(ii, copyStartID, pasteOpt, ii.MyContent.Type))) { @@ -2612,8 +2676,8 @@ namespace Volian.Controls.Library } private ItemInfo PasteReplace(VETreeNode tn, int copyStartID) { - VETreeNode prevtn = (VETreeNode) tn.PrevNode; - VETreeNode partn = (VETreeNode) tn.Parent; + VETreeNode prevtn = (VETreeNode)tn.PrevNode; + VETreeNode partn = (VETreeNode)tn.Parent; ItemInfo ii = tn.VEObject as ItemInfo; // F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format ItemInfo.PasteStepIsWithinDefinedSubStepLevels(copyStartID, ii, true); @@ -2652,7 +2716,7 @@ namespace Volian.Controls.Library SelectedNode.Nodes.Add(tn1); // add tree node to end of list. SelectedNode = tn1; } - private void tv_NodeCopy() + private void tv_NodeCopy() { if (SelectedNode == null) return; VETreeNode tn = SelectedNode as VETreeNode; @@ -2664,7 +2728,7 @@ namespace Volian.Controls.Library private void SetupNodeProperties() { VETreeNode tn = SelectedNode as VETreeNode; - if (tn==null)return; + if (tn == null) return; if ((tn.VEObject as FolderInfo) != null) OpenProperties(tn.VEObject as FolderInfo); @@ -2676,7 +2740,7 @@ namespace Volian.Controls.Library if (dvi != null && dvi.DocVersionAssociations != null && dvi.DocVersionAssociations.Count > 0) rofstid = dvi.DocVersionAssociations[0].MyROFst.ROFstID; OpenProperties(tn.VEObject as DocVersionInfo); if (dvi != null && dvi.DocVersionAssociations != null && dvi.DocVersionAssociations.Count > 0 && rofstid != dvi.DocVersionAssociations[0].MyROFst.ROFstID) - OnTabDisplay(this,new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST")); + OnTabDisplay(this, new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST")); } else if ((tn.VEObject as ProcedureInfo) != null) OpenProperties(tn.VEObject as ProcedureInfo); @@ -2690,7 +2754,7 @@ namespace Volian.Controls.Library { using (Folder folder = folderInfo.Get()) { - OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig)); + OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig)); } } private void OpenProperties(DocVersionInfo dvInfo) @@ -2704,7 +2768,7 @@ namespace Volian.Controls.Library { using (Procedure proc = procInfo.Get()) { - OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig)); + OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig)); } } private void OpenProperties(SectionInfo sectInfo) @@ -2717,7 +2781,7 @@ namespace Volian.Controls.Library title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title); else title = string.Format("{0} Properties", sectInfo.SectionConfig.Title); - OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig)); + OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig)); } } private void OpenProperties(StepInfo stpinfo) @@ -2771,7 +2835,7 @@ namespace Volian.Controls.Library { if (newtype == MenuSelections.DocVersion) { - int dvid = -1; // flag to allow user to cancel from dialog & then we remove it. + int dvid = -1; // flag to allow user to cancel from dialog & then we remove it. using (DocVersion docversion = DocVersion.MakeDocVersion(parentfolder, "Working Draft", "Title", null, null, null)) { ShowBrokenRules(docversion.BrokenRulesCollection); @@ -2780,7 +2844,7 @@ namespace Volian.Controls.Library { docversion.Save(); tn = new VETreeNode(_LastDocVersionInfo); - SelectedNode.Nodes.Add(tn); // add tree node to end of list. + SelectedNode.Nodes.Add(tn); // add tree node to end of list. parentfolder.Reset_ChildFolders(); parentfolder.Reset_FolderDocVersions(); } @@ -2791,7 +2855,7 @@ namespace Volian.Controls.Library } else if (newtype == MenuSelections.Folder) { - int f1 = -1; // flag to allow user to cancel from dialog & then we remove it. + int f1 = -1; // flag to allow user to cancel from dialog & then we remove it. string uniquename = _LastFolderInfo.UniqueChildName("New Folder"); using (Folder folder = Folder.MakeFolder(parentfolder, parentfolder.MyConnection, uniquename, string.Empty, "Short Name", null, string.Empty, DateTime.Now, VlnSettings.UserID)) { @@ -2803,14 +2867,14 @@ namespace Volian.Controls.Library { folder.Save(); tn = new VETreeNode((IVEDrillDownReadOnly)_LastFolderInfo); - SelectedNode.Nodes.Add(tn); // add new tree node to end of childlist. + SelectedNode.Nodes.Add(tn); // add new tree node to end of childlist. } else f1 = folder.FolderID; } if (f1 != -1) Folder.Delete(f1); } - else if (newtype == MenuSelections.FolderAfter||newtype == MenuSelections.FolderBefore) + else if (newtype == MenuSelections.FolderAfter || newtype == MenuSelections.FolderBefore) { int f2 = -1; string uniquename = _LastFolderInfo.MyParent.UniqueChildName("New Folder"); @@ -2819,7 +2883,8 @@ namespace Volian.Controls.Library //since before/after folder is at same level as current folder //so need to use the parents order to determine where to place it using (FolderInfo parfolderinfo = FolderInfo.Get(parentfolder.MyParent.FolderID)) - { double? myorder = parfolderinfo.NewManualOrder(myindex); + { + double? myorder = parfolderinfo.NewManualOrder(myindex); using (Folder folder = Folder.MakeFolder(parentfolder.MyParent, parentfolder.MyConnection, uniquename, string.Empty, "Short Name", null, myorder, string.Empty, DateTime.Now, VlnSettings.UserID)) { ShowBrokenRules(folder.BrokenRulesCollection); @@ -2844,7 +2909,7 @@ namespace Volian.Controls.Library else if (newtype == MenuSelections.Procedure) { int p1 = -1; - using (Procedure procedure = Procedure.MakeProcedure(_LastDocVersionInfo, _LastDocVersionInfo.Procedures.Count!=0?_LastDocVersionInfo.Procedures[_LastDocVersionInfo.Procedures.Count-1]:null, null, "New Procedure", 0)) + using (Procedure procedure = Procedure.MakeProcedure(_LastDocVersionInfo, _LastDocVersionInfo.Procedures.Count != 0 ? _LastDocVersionInfo.Procedures[_LastDocVersionInfo.Procedures.Count - 1] : null, null, "New Procedure", 0)) { ShowBrokenRules(procedure.BrokenRulesCollection); SetLastValues(ProcedureInfo.Get(procedure.ItemID)); @@ -2853,8 +2918,8 @@ namespace Volian.Controls.Library { procedure.Save(); tn = new VETreeNode(_LastProcedureInfo); - SelectedNode.Nodes.Add(tn); // add tree node to end of list. - // The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034) + SelectedNode.Nodes.Add(tn); // add tree node to end of list. + // The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034) if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures(); if (procedure.MyProcedureInfo.CreateEnhanced) { @@ -2896,21 +2961,21 @@ namespace Volian.Controls.Library else p2 = procedure.ItemID; } - if (p2 != -1) + if (p2 != -1) DeleteItemInfoAndChildren(_LastProcedureInfo); // Delete Item and reset Previous and Next } #endregion #region InsertSection - else if (newtype == MenuSelections.Section) // Insert subsection at end of parents section list + else if (newtype == MenuSelections.Section) // Insert subsection at end of parents section list { string message = string.Empty; if (_LastProcedureInfo != null) if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message)) - { - FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning); - OnUnPauseRefresh(this, null); - return; - } + { + FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning); + OnUnPauseRefresh(this, null); + return; + } int s1 = -1; if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null)) { @@ -2940,7 +3005,7 @@ namespace Volian.Controls.Library "If you would like to view or copy these hidden steps you will need to go\n" + "into the properties of this section and check the Editable Data checkbox.\n" + "You will then be able to view and copy those steps. When finished, open\n" + - "the properties page again and uncheck the Editable Data checkbox.\n\n"+ + "the properties page again and uncheck the Editable Data checkbox.\n\n" + "Do you want to continue creating the subsection?"; if (FlexibleMessageBox.Show(this, msgstr, "Subsection Insert", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { @@ -2952,7 +3017,7 @@ namespace Volian.Controls.Library if (!hasMetaSubs) doPseudo = true; } } - using(Section section = CreateNewSection()) + using (Section section = CreateNewSection()) { ShowBrokenRules(section.BrokenRulesCollection); SectionInfo savLastSectionInfo = _LastSectionInfo; @@ -2962,10 +3027,10 @@ namespace Volian.Controls.Library if (!doPseudo) { tn = new VETreeNode(_LastSectionInfo); - SelectedNode.Nodes.Add(tn); // add tree node to end of list. - // if the new section was flagged as either having an enhanced link for Title or Contents, create the - // Enhanced section: - Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. + SelectedNode.Nodes.Add(tn); // add tree node to end of list. + // if the new section was flagged as either having an enhanced link for Title or Contents, create the + // Enhanced section: + Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y") CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text); sectiontmp.Dispose(); @@ -2976,7 +3041,7 @@ namespace Volian.Controls.Library // may have to add a 'steps' node if a step(s) already exist... ItemInfo ii = (SelectedNode as VETreeNode).VEObject as ItemInfo; int cpindx = 0; - if (SelectedNode.Nodes.Count>0) + if (SelectedNode.Nodes.Count > 0) { VETreeNode vtn = SelectedNode.Nodes[0] as VETreeNode; // B2017-014: removed code that was adding a 2nd section part node. and also select node to @@ -2986,13 +3051,13 @@ namespace Volian.Controls.Library // B2017-014: removed code that was adding a 2nd section part node. } } - else // Properties was canceled out of: + else // Properties was canceled out of: s1 = section.ItemID; } if (s1 != -1) { DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next - // B2020-087 refresh the tree node after canceling the creation of the subsection + // B2020-087 refresh the tree node after canceling the creation of the subsection _LastTreeNode.ChildrenLoaded = false; _LastTreeNode.RefreshNode(); _LastTreeNode.Collapse(); @@ -3020,14 +3085,14 @@ namespace Volian.Controls.Library if (OnNodeOpenProperty(this, new vlnTreePropertyEventArgs("New Section", section.SectionConfig)) == DialogResult.OK) { int indx = tvindex + ((newtype == MenuSelections.SectionBefore) ? 0 : 1); - int itemido = (indx >= par.Nodes.Count)?-1:(((par.Nodes[indx] as VETreeNode).VEObject) as ItemInfo).ItemID; - if (indx >= par.Nodes.Count || (par.Nodes[indx] as VETreeNode).VEObject.ToString() != _LastSectionInfo.ToString() || itemido !=section.ItemID) + int itemido = (indx >= par.Nodes.Count) ? -1 : (((par.Nodes[indx] as VETreeNode).VEObject) as ItemInfo).ItemID; + if (indx >= par.Nodes.Count || (par.Nodes[indx] as VETreeNode).VEObject.ToString() != _LastSectionInfo.ToString() || itemido != section.ItemID) { tn = new VETreeNode(_LastSectionInfo); par.Nodes.Insert(indx, tn); // if the new section was flagged as either having an enhanced link for Title or Contents, create the // Enhanced section: - Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. + Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y") CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text); sectiontmp.Dispose(); @@ -3039,7 +3104,7 @@ namespace Volian.Controls.Library if (s2 != -1) { DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next - // B2020-087 refresh the tree node after canceling the creation of the subsection + // B2020-087 refresh the tree node after canceling the creation of the subsection _LastTreeNode.ChildrenLoaded = false; _LastTreeNode.RefreshNode(); _LastTreeNode.Collapse(); @@ -3047,7 +3112,7 @@ namespace Volian.Controls.Library } #endregion #region InsertStep - else if (newtype == MenuSelections.Step) // insert step from section - no substeps from tree. + else if (newtype == MenuSelections.Step) // insert step from section - no substeps from tree. { string message = string.Empty; if (!MySessionInfo.CanCheckOutItem(_LastSectionInfo.MyProcedure.ItemID, CheckOutType.Procedure, ref message)) @@ -3124,7 +3189,7 @@ namespace Volian.Controls.Library using (Procedure newenhProcedure = Procedure.MakeProcedure(enhDVInfo, enhDVInfo.Procedures.Count != 0 ? enhDVInfo.Procedures[enhDVInfo.Procedures.Count - 1] : null, null, "New Procedure", 0)) { SaveEnhancedForProcedure(sourceProc, newenhProcedure, ded.Type); - RefreshRelatedNode(ProcedureInfo.Get(newenhProcedure.ItemID)); // this updates the treeview to include the new enhanced procedure + RefreshRelatedNode(ProcedureInfo.Get(newenhProcedure.ItemID)); // this updates the treeview to include the new enhanced procedure } } } @@ -3222,7 +3287,7 @@ namespace Volian.Controls.Library { SectionConfig newenhcfg = new SectionConfig(newenhSection); newenhcfg.AddEnhancedDocument(0, sourceSect.ItemID); - newenhcfg.SaveEnhancedDocuments(); // does this save data? + newenhcfg.SaveEnhancedDocuments(); // does this save data? using (Content c1 = Content.Get(newenhSection.ContentID)) { c1.Config = newenhcfg.ToString(); @@ -3236,7 +3301,7 @@ namespace Volian.Controls.Library cs.Save(); } } - + private Section CreateNewSection() { // B2020-087 the config for SubSection_Edit was sometimes set even when there wasn't any subsections, @@ -3276,7 +3341,7 @@ namespace Volian.Controls.Library // The parent step was not open in the step editor, just create new step(s) and add treenode. int newId = -1; // B2020-076: if this step has a template, insert template steps. - int topType = ii.GetSmartTemplateTopLevelIndxOfThisType(20002); + int topType = ii.GetSmartTemplateTopLevelIndxOfThisType(20002); if (topType != -1) { ItemInfo tmp = null; @@ -3303,12 +3368,12 @@ namespace Volian.Controls.Library // see if enhanced related steps need created: SectionConfig scfgE = _LastItemInfo.ActiveSection.MyConfig as SectionConfig; // C2018-003 fixed use of getting the active section - if (scfgE != null && scfgE.Section_LnkEnh=="Y") + if (scfgE != null && scfgE.Section_LnkEnh == "Y") { // set up which item to insert from based on whether editor was open (see comment from 11/17 above). EnhancedDocuments enhdocs = null; ItemInfo.EAddpingPart addpart = ItemInfo.EAddpingPart.Child; - if (_LastItemInfo.MyPrevious != null) // the code above will do the MakeStep regardless of whether editor is up if this is the only step. + if (_LastItemInfo.MyPrevious != null) // the code above will do the MakeStep regardless of whether editor is up if this is the only step. { addpart = ItemInfo.EAddpingPart.After; ItemInfo lstSrc = _LastItemInfo.MyPrevious; @@ -3480,7 +3545,7 @@ namespace Volian.Controls.Library result = FlexibleMessageBox.Show("Are you sure you want to delete this " + typeDescription + "?", "Verify Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question); } - if (_LastProcedureInfo != null || result == DialogResult.Yes) + if (_LastProcedureInfo != null || result == DialogResult.Yes) { if (_LastFolderInfo != null) { @@ -3496,7 +3561,7 @@ namespace Volian.Controls.Library { foreach (DVEnhancedDocument dve in dvc.MyEnhancedDocuments) { - if (dve.Type != 0) + if (dve.Type != 0) DocVersion.Delete(dve.VersionID); else { @@ -3542,7 +3607,7 @@ namespace Volian.Controls.Library if (ed.Type != 0) enhIds.Add(ed.ItemID); // always return false because an event gets fired to delete tree nodes. if (!DeleteItemInfoAndChildren(_LastProcedureInfo)) return false; - + _LastProcedureInfo = null; foreach (int enhId in enhIds) { @@ -3586,7 +3651,7 @@ namespace Volian.Controls.Library // just clear enhanced links back _LastSectionInfo.ClearEnhancedSectionLink(); } - OnSectionShouldClose(this, new vlnTreeSectionInfoEventArgs(_LastSectionInfo,true)); + OnSectionShouldClose(this, new vlnTreeSectionInfoEventArgs(_LastSectionInfo, true)); // always return false because an event gets fired to delete tree nodes. if (!DeleteItemInfoAndChildren(_LastSectionInfo)) { @@ -3641,7 +3706,7 @@ namespace Volian.Controls.Library } return false; } - + public void RemoveFolder(int folderId) { TreeNode nodeToRemove = FindNodeById(folderId, this.Nodes); @@ -3687,11 +3752,11 @@ namespace Volian.Controls.Library // do delete using RTBItem - this manages windowing from the step editor. // If the procedure is open & you're deleting procedure, you want to close open // window - this is done in DisplayTabControl-DeleteStepTabItem. - OnProcessing(true,"Deleting"); + OnProcessing(true, "Deleting"); if (!OnDeleteItemInfo(this, new vlnTreeItemInfoEventArgs(ii))) Item.DeleteItemAndChildren(ii); - OnProcessing(false,"Deleted"); - OnProcessingComplete(dtStart,"Deleted"); + OnProcessing(false, "Deleted"); + OnProcessingComplete(dtStart, "Deleted"); if (deletedSection) { // B2020-087 if we deleted the last sub section, then clear the SubSection_Edit in the parent's config @@ -3710,12 +3775,12 @@ namespace Volian.Controls.Library } catch (System.Data.SqlClient.SqlException ex) { - OnProcessing(false,"Delete Failed"); - OnProcessingComplete(dtStart,"Delete Failed"); + OnProcessing(false, "Delete Failed"); + OnProcessingComplete(dtStart, "Delete Failed"); // C2020-033: Support delete to bring up Search/Incoming Transitions panel if (ex.Message.Contains("has External Transitions")) { - ItemInfo iis = ItemInfo.Get(ii.ItemID); + ItemInfo iis = ItemInfo.Get(ii.ItemID); OnSearchIncTransIn(this, new vlnTreeItemInfoEventArgs(iis)); iis = ii.HandleSqlExceptionOnDelete(ex); } @@ -3731,13 +3796,13 @@ namespace Volian.Controls.Library private void OnProcessingComplete(DateTime dtStart, string message) { if (ProcessingComplete != null) - ProcessingComplete(this, new vlnTreeTimeEventArgs(dtStart,message)); + ProcessingComplete(this, new vlnTreeTimeEventArgs(dtStart, message)); } public event vlnTreeViewStatusEvent Processing; private void OnProcessing(bool status, string message) { if (Processing != null) - Processing(this, new vlnTreeStatusEventArgs(status,message)); + Processing(this, new vlnTreeStatusEventArgs(status, message)); } #endregion #region SetLastValuesAndSaveIfChangedStuff @@ -3813,7 +3878,7 @@ namespace Volian.Controls.Library ItemInfo iidrag = ((VETreeNode)dragNode).VEObject as ItemInfo; FolderInfo fdrag = ((VETreeNode)dragNode).VEObject as FolderInfo; DocVersionInfo ddrag = ((VETreeNode)dragNode).VEObject as DocVersionInfo; - if ((iidrag == null && fdrag == null && ddrag == null)) + if ((iidrag == null && fdrag == null && ddrag == null)) { FlexibleMessageBox.Show("Cannot drag/drop a grouping node."); return; @@ -3828,7 +3893,7 @@ namespace Volian.Controls.Library } catch (Exception ex) { - if(_MyLog.IsErrorEnabled)_MyLog.Error("tv_ItemDrag", ex); + if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_ItemDrag", ex); } } #endregion @@ -3864,7 +3929,7 @@ namespace Volian.Controls.Library { get { return _lastScroll; } } - private string _location = string.Empty; + private string _location = string.Empty; #endregion #region Constructors public DropLocation(TreeView tv, System.Windows.Forms.DragEventArgs e, DateTime lastScroll) @@ -3981,7 +4046,7 @@ namespace Volian.Controls.Library { return; } - //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString()); + //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString()); // Changed the color of the drag indicator to always be red Color lc = (_position == DropPosition.After ? Color.Red : Color.Red); Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red); @@ -4008,12 +4073,12 @@ namespace Volian.Controls.Library //if (e.Effect == DragDropEffects.None) return; if (_dropNode != null) { -// if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); + // if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); DragHelper.ImageList_DragShowNolock(false); TreeView tv = _dropNode.TreeView; TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y))); -// if (!ScrollOnly) -// { + // if (!ScrollOnly) + // { if (ScrollTreeView(tmp) || !ScrollOnly) { //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); @@ -4023,11 +4088,11 @@ namespace Volian.Controls.Library //tv.SelectedNode = dropNode; Graphics g = tv.CreateGraphics(); TreeNodeTriangle(g); - if (_position != DropPosition.Child)InsertPointer(tmp, g); + if (_position != DropPosition.Child) InsertPointer(tmp, g); } } -// } -// else ScrollTreeView(tmp); + // } + // else ScrollTreeView(tmp); DragHelper.ImageList_DragShowNolock(true); } } @@ -4050,10 +4115,10 @@ namespace Volian.Controls.Library tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible else if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false) - tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible } - else + tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible } + else if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false) - tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible + tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible retval = (top != tn.Bounds.Top); // if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll"); } @@ -4086,14 +4151,14 @@ namespace Volian.Controls.Library { DragDropEffects ee = e.Effect; if (e.KeyState == 13) // Shift and Control Keys to do a move. - ee = DragDropEffects.Move; + ee = DragDropEffects.Move; else ee = DragDropEffects.None; // Default - Do nothing - if (IsChild(dragNode, dl.DropNode)) // Don't copy or move to a child node + if (IsChild(dragNode, dl.DropNode)) // Don't copy or move to a child node ee = DragDropEffects.None; - else if (IsDocVersion((VETreeNode)dragNode)) // Don't move docversions + else if (IsDocVersion((VETreeNode)dragNode)) // Don't move docversions ee = DragDropEffects.None; - else if (IsFolder((VETreeNode)dragNode)) // Folder move is only valid if moving to folder with NO docversions + else if (IsFolder((VETreeNode)dragNode)) // Folder move is only valid if moving to folder with NO docversions { FolderInfo fdropi = ((VETreeNode)dl.DropNode).VEObject as FolderInfo; if (fdropi == null || fdropi.FolderDocVersionCount > 0) ee = DragDropEffects.None; @@ -4104,7 +4169,7 @@ namespace Volian.Controls.Library // For HLP, just move within the same procedure // TODO: allow for section move within subsections. ProcedureInfo pdropi = ((VETreeNode)dl.DropNode).VEObject as ProcedureInfo; - if (pdropi == null || (dragNode.Parent != dl.DropNode)) ee = DragDropEffects.None; + if (pdropi == null || (dragNode.Parent != dl.DropNode)) ee = DragDropEffects.None; } else if (!IsFolder((VETreeNode)dragNode) && (dragNode.Parent != dl.DropNode)) ee = DragDropEffects.None; @@ -4115,7 +4180,7 @@ namespace Volian.Controls.Library } catch (Exception ex) { - if(_MyLog.IsErrorEnabled)_MyLog.Error("tv_DragOver", ex); + if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragOver", ex); } } @@ -4169,7 +4234,7 @@ namespace Volian.Controls.Library } catch (Exception ex) { - if(_MyLog.IsErrorEnabled)_MyLog.Error("GetTreeNodeFromData", ex); + if (_MyLog.IsErrorEnabled) _MyLog.Error("GetTreeNodeFromData", ex); } } return null; @@ -4195,7 +4260,7 @@ namespace Volian.Controls.Library this.SelectedNode = dragNode; FolderInfo fdragi = ((VETreeNode)dragNode).VEObject as FolderInfo; FolderInfo fdropi = ((VETreeNode)_LastDropLocation.DropNode).VEObject as FolderInfo; - if (fdragi != null && fdropi != null && fdropi.FolderDocVersionCount==0) + if (fdragi != null && fdropi != null && fdropi.FolderDocVersionCount == 0) { using (Folder fdrag = fdragi.Get()) { @@ -4214,7 +4279,7 @@ namespace Volian.Controls.Library // may either be a document version or a procedure depending on where the user wants to position the procedure. ProcedureInfo pdragi = ((VETreeNode)dragNode).VEObject as ProcedureInfo; ProcedureInfo pdropi = null; - if (pdragi != null) // moving a procedure + if (pdragi != null) // moving a procedure { pdropi = ((VETreeNode)_LastDropLocation.DropNode).VEObject as ProcedureInfo; if (pdropi != null && pdragi.ActiveParent == pdropi.ActiveParent) @@ -4234,7 +4299,7 @@ namespace Volian.Controls.Library // Allow drag/drop of sections within the same procedure or same section (if subsection) (must have same parent) SectionInfo sdragi = ((VETreeNode)dragNode).VEObject as SectionInfo; SectionInfo sdropi = null; - if (sdragi != null) // moving a section + if (sdragi != null) // moving a section { sdropi = ((VETreeNode)_LastDropLocation.DropNode).VEObject as SectionInfo; if (sdropi != null && sdragi.ActiveParent == sdropi.ActiveParent) @@ -4255,7 +4320,7 @@ namespace Volian.Controls.Library // Allow drag/drop of steps within the same parent only StepInfo stdragi = ((VETreeNode)dragNode).VEObject as StepInfo; StepInfo stdropi = null; - if (stdragi != null) // moving a step + if (stdragi != null) // moving a step { stdropi = ((VETreeNode)_LastDropLocation.DropNode).VEObject as StepInfo; if (stdropi != null && stdragi.ActiveParent == stdropi.ActiveParent) @@ -4279,36 +4344,36 @@ namespace Volian.Controls.Library } catch (Exception ex) { - if(_MyLog.IsErrorEnabled)_MyLog.Error("tv_DragDrop", ex); + if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex); } } -// private void DumpMembers(object o) -// { -// Type t = o.GetType(); -// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString()); -// MemberInfo[] mis = t.GetMembers(); -// int i = 0; -// foreach (MemberInfo mi in mis) -// { -// i++; -// try -// { -// //if(mi.MemberType != MemberTypes.Method) -// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType); -//// if (fi.Name == "TreeView") -//// fi.SetValue(o, null); -// } -// catch (Exception ex) -// { -// if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex); -// } -// } -// } + // private void DumpMembers(object o) + // { + // Type t = o.GetType(); + // //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString()); + // MemberInfo[] mis = t.GetMembers(); + // int i = 0; + // foreach (MemberInfo mi in mis) + // { + // i++; + // try + // { + // //if(mi.MemberType != MemberTypes.Method) + // //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType); + //// if (fi.Name == "TreeView") + //// fi.SetValue(o, null); + // } + // catch (Exception ex) + // { + // if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex); + // } + // } + // } private TreeNode Clone(TreeNode tn) { TreeNode tmp = (TreeNode)tn.Clone(); - ExpandMatch(tmp,tn); + ExpandMatch(tmp, tn); return tmp; } private void tv_DragDropOld(object sender, System.Windows.Forms.DragEventArgs e) diff --git a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs index f15899c6..89efa648 100644 --- a/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs +++ b/PROMS/Volian.Print.Library/VlnSvgPageHelper.cs @@ -252,6 +252,14 @@ namespace Volian.Print.Library get { return _CountInApplProcs; } set { _CountInApplProcs = value; } } + // C2025-033 Child (slave) being printed + private static int _PrintingChild = 0; + public static int PrintingChild + { + get { return _PrintingChild; } + set { _PrintingChild = value; } + } + //private bool _AddBlankPagesForDuplexPrinting = false; //public bool AddBlankPagesForDuplexPrinting // Tells us if a the option to add a blank page is turn on (for procedures with duplex foldouts) //{ @@ -1363,6 +1371,8 @@ i = 0; foreach (VEPROMS.CSLA.Library.PageItem pageItem in pageStyle.PageItems) { if (pageItem.Token == null) continue; // can be null if token is dependent on PSI lookup! + // 2024-089 selectively print pagestyle item base on Child Procedure being printed + if (PrintingChild > 0 && pageItem.ChildNum > 0 && pageItem.ChildNum != PrintingChild) continue; // C2025-033 item should not be printed for this child DidHLSText = false; // reset to false for this group of tokens. //if (pageItem.Token.Contains("HLSTEXT")) // Console.WriteLine("{0} - PageList Token", pageItem.Token); @@ -1761,6 +1771,16 @@ i = 0; case "[HEADER4]": case "{HEADER5}": case "[HEADER5]": + case "{HEADER6}": + case "[HEADER6]": + case "{HEADER7}": + case "[HEADER7]": + case "{HEADER8}": + case "[HEADER8]": + case "{HEADER9}": + case "[HEADER9]": + case "{HEADER10}": + case "[HEADER10]": case "{BOX1}": case "[BOX1]": case "{BOX2}": @@ -2099,7 +2119,12 @@ i = 0; case "[UNITNUMBER]": string unbr = MySection.MyDocVersion.DocVersionConfig.Unit_Number; if (MySection.ActiveFormat.PlantFormat.FormatData.PrintData.PrintCommonForZeroUnit && unbr == "0") - plstr = "COMMON"; // for Comanche Peak, replace "Unit 0" with "COMMON" + { + if (String.IsNullOrEmpty(MySection.MyDocStyle.AltMultiUnitWording)) + plstr = "COMMON"; // for Comanche Peak, replace "Unit 0" with "COMMON" + else + plstr = MySection.MyDocStyle.AltMultiUnitWording; // for Comanche Peak Abnormal, replace "Unit 0" with "UNIT 1 AND 2" + } else plstr = plstr.Replace(token, unbr); break; diff --git a/PROMS/Volian.Print.Library/vlnParagraph.cs b/PROMS/Volian.Print.Library/vlnParagraph.cs index 73b089b4..68a13f7a 100644 --- a/PROMS/Volian.Print.Library/vlnParagraph.cs +++ b/PROMS/Volian.Print.Library/vlnParagraph.cs @@ -4390,7 +4390,8 @@ namespace Volian.Print.Library SectionConfig sch = MyItemInfo.MyConfig as SectionConfig; if (sch != null && sch.Section_PrintHdr != "Y") doprint = false; } - if (doprint && !UseTemplateKeepOnCurLine(itemInfo)) + //C2025-021 Add logic to PROMS to support a special High Level Step type that is not printed. + if (doprint && !UseTemplateKeepOnCurLine(itemInfo) && !itemInfo.IsType("InvisibleHigh")) { float tyoff = yoff; if (itemInfo.Steps != null) @@ -5751,9 +5752,21 @@ namespace Volian.Print.Library private StringBuilder _RtfSB = null; public string GetRtf(ItemInfo itemInfo, string prefix, string suffix) { - int profileDepth = ProfileTimer.Push(">>>> GetRtf"); + int profileDepth = ProfileTimer.Push(">>>> GetRtf"); _RtfSB = new StringBuilder(); DisplayText vlntxt = new DisplayText(itemInfo, E_EditPrintMode.Print, E_ViewMode.View, true, E_FieldToEdit.StepText, false, prefix, suffix, MyPageHelper.MyPromsPrinter.RemoveTrailingHardReturnsAndSpaces != null); + + //C2025-021 Add logic to PROMS to support a special High Level Step type that is not printed. + if (itemInfo.IsType("InvisibleHigh")) + { + System.Drawing.Font myHighFont = vlntxt.TextFont.WindowsFont; + _RtfSB.Append(AddFontTable(myHighFont)); + _RtfSB.Append("}"); + string rtfHigh = _RtfSB.ToString(); + ProfileTimer.Pop(profileDepth); + return rtfHigh; + } + // C2021-010: Remove trailing returns/spaces & manual page breaks & allow save. if (DisplayText.RemoveTrailingBlankID > 0 && !MyPageHelper.MyPromsPrinter.RemoveTrailingHardReturnsAndSpaces.Contains(itemInfo.ItemID)) MyPageHelper.MyPromsPrinter.RemoveTrailingHardReturnsAndSpaces.Add(DisplayText.RemoveTrailingBlankID); System.Drawing.Font myFont = vlntxt.TextFont.WindowsFont; @@ -6199,6 +6212,12 @@ namespace Volian.Print.Library XOffset += (float)formatInfo.PlantFormat.FormatData.SectData.MetaSectionList[level].SecTitlePositionAdj; XOffset -= xMetaAdj; } + + if (itemInfo.MyDocStyle.SectTitleOffsetOverride != null) + { + XOffset += (float)itemInfo.MyDocStyle.SectTitleOffsetOverride; + } + } } else if (formatInfo.PlantFormat.FormatData.SectData.SectionHeader.Just == "PSCenter") diff --git a/PROMS/Volian.Print.Library/vlnTab.cs b/PROMS/Volian.Print.Library/vlnTab.cs index 893530d6..40fce490 100644 --- a/PROMS/Volian.Print.Library/vlnTab.cs +++ b/PROMS/Volian.Print.Library/vlnTab.cs @@ -69,7 +69,7 @@ namespace Volian.Print.Library private string symblsStr = "\u25CF\u0394"; // string of possible symbol character in a tab // add symbol characters as needed // "\u25CF" - solid bullet - // \x0394 - delta + // \u0394 - delta private System.Drawing.FontStyle GetSysFontStyle(VE_Font f) { @@ -267,7 +267,8 @@ namespace Volian.Print.Library } } Rtf = GetRtf(origTab, vFont); - Rtf = Rtf.Replace("\u0394", @"\f1\u916?\f0 "); // delta 0x0394 + Rtf = Rtf.Replace("\u0394", @"\f1\u916?\f0 "); // delta 0x0394 + Rtf = Rtf.Replace("\u03BF", @"\f1\u959?\f0 "); // F2025-015 lowercase omicron check with hex value replace with RTF string if (ScriptCaution) { Rtf = GetRtf("\u25CFCaution ", vFont); From 4d96e73866f37ed3a67717b4d30365bd3dd5fcbe Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 20 Jun 2025 14:39:42 -0400 Subject: [PATCH 21/22] Remove from checkin - should be in phase 2 --- .../dlgExportImportEP.cs | 50 ------------------- 1 file changed, 50 deletions(-) delete mode 100644 PROMS/VEPROMS User Interface/dlgExportImportEP.cs diff --git a/PROMS/VEPROMS User Interface/dlgExportImportEP.cs b/PROMS/VEPROMS User Interface/dlgExportImportEP.cs deleted file mode 100644 index f6c466be..00000000 --- a/PROMS/VEPROMS User Interface/dlgExportImportEP.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using VEPROMS.CSLA.Library; - -namespace VEPROMS -{ - //C2025-024 Electronic Procedures - Phase 2 (PROMS XML output) - //class inherits from normal import/export form - //then adds additional functionality - public partial class dlgExportImportEP : dlgExportImport - { - private readonly AnnotationTypeInfo _AnnotationType; - - public dlgExportImportEP(string mode, FolderInfo folderInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, folderInfo, myFrmVEPROMS, (E_UCFImportOptions) 0) - { - _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); - _ExportBothConvertedandNot = true; - DocReplace = new Dictionary(); - FormClosed += OnClose; - Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {folderInfo.Name}"; - } - - public dlgExportImportEP(string mode, DocVersionInfo docVersionInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, docVersionInfo, myFrmVEPROMS, (E_UCFImportOptions)0) - { - _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); - _ExportBothConvertedandNot = true; - DocReplace = new Dictionary(); - FormClosed += OnClose; - Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {docVersionInfo.Name} of {docVersionInfo.MyFolder.Name}"; - } - public dlgExportImportEP(string mode, ProcedureInfo procedureInfo, frmVEPROMS myFrmVEPROMS, int annotationTypeId) : base(mode, procedureInfo, myFrmVEPROMS, (E_UCFImportOptions)0) - { - _AnnotationType = AnnotationTypeInfo.Get(annotationTypeId); - _ExportBothConvertedandNot = true; - DocReplace = new Dictionary(); - FormClosed += OnClose; - Text = $"{mode} Electronic Procedure ({_AnnotationType.Name}) Dialog for {procedureInfo.DisplayNumber}"; - } - private void OnClose(object sender, EventArgs e) - { - DocReplace.Clear(); - DocReplace = null; - } - - - } -} From 83e935a3f43c0aec39176c3aaf970c3d957bad30 Mon Sep 17 00:00:00 2001 From: mschill Date: Fri, 20 Jun 2025 15:36:08 -0400 Subject: [PATCH 22/22] C2025-023 updated revision wording --- PROMS/VEPROMS User Interface/PROMSFixes.Sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PROMS/VEPROMS User Interface/PROMSFixes.Sql b/PROMS/VEPROMS User Interface/PROMSFixes.Sql index 3aa98b3a..d97734f5 100644 --- a/PROMS/VEPROMS User Interface/PROMSFixes.Sql +++ b/PROMS/VEPROMS User Interface/PROMSFixes.Sql @@ -24117,8 +24117,8 @@ BEGIN TRY -- Try Block DECLARE @RevDate varchar(255) DECLARE @RevDescription varchar(255) - set @RevDate = '5/19/2025 8:44 AM' - set @RevDescription = 'C2025-013 Add ability to disable message that opening Summaries in MS Word' + set @RevDate = '6/20/2025 3:07 PM' + set @RevDescription = 'Annotation Support' Select cast(@RevDate as datetime) RevDate, @RevDescription RevDescription PRINT 'SQL Code Revision ' + @RevDate + ' - ' + @RevDescription