From d9af59df1a4b26c5ec53c3ff9350ecfe2ee3d11d Mon Sep 17 00:00:00 2001 From: dragonmacher <48328597+dragonmacher@users.noreply.github.com> Date: Thu, 19 May 2022 18:33:40 -0400 Subject: [PATCH] GP-1913 - Updated data type synchronization workflow by adding a new action and a home button to the structure editor. Added action to the composite editors and enum editor to show the type being edited in the Data Type Manager's tree. --- .../invm/InVmModelForFridaFactoryTest.java | 6 +- .../InVmModelForFridaInterpreterTest.java | 6 +- .../invm/InVmModelForFridaMethodsTest.java | 6 +- .../InVmModelForFridaRootAttacherTest.java | 9 +- .../InVmModelForFridaRootLauncherTest.java | 6 +- .../InVmModelForFridaScenarioStackTest.java | 6 +- .../InVmModelForFridaX64RegistersTest.java | 8 +- .../topics/DataTypeEditors/EnumEditor.htm | 11 + .../DataTypeEditors/StructureEditor.htm | 12 +- .../DataTypeEditors/images/EnumEditor.png | Bin 21220 -> 21694 bytes .../images/StructureEditor.png | Bin 47126 -> 50721 bytes .../images/StructureEditorPacked.png | Bin 45444 -> 48774 bytes .../images/StructureEditorWithFlexArray.png | Bin 52933 -> 56858 bytes .../DataTypeEditors/images/UnionEditor.png | Bin 33023 -> 35715 bytes .../images/UnionEditorPacked.png | Bin 32009 -> 34640 bytes .../core/compositeeditor/ApplyAction.java | 9 +- .../CompositeEditorTableAction.java | 2 +- .../core/compositeeditor/EditorProvider.java | 19 +- .../FindReferencesToField.java | 8 +- .../ShowDataTypeInTreeAction.java | 60 ++++ .../StructureEditorProvider.java | 18 +- .../compositeeditor/UnionEditorProvider.java | 19 +- .../core/datamgr/DataTypeManagerPlugin.java | 17 +- .../core/datamgr/DataTypeSynchronizer.java | 67 ++-- .../core/datamgr/DataTypesActionContext.java | 53 ++- .../core/datamgr/DataTypesProvider.java | 2 + .../core/datamgr/actions/PasteAction.java | 4 +- .../associate/AssociateDataTypeAction.java | 322 ++++++++++++++++++ .../actions/{ => associate}/CommitAction.java | 17 +- .../CommitSingleDataTypeAction.java | 2 +- .../{ => associate}/DisassociateAction.java | 12 +- .../DisassociateDataTypeAction.java | 23 +- .../actions/{ => associate}/RevertAction.java | 19 +- .../{ => associate}/RevertDataTypeAction.java | 60 ++-- .../actions/{ => associate}/SyncAction.java | 17 +- .../{ => associate}/SyncRefreshAction.java | 2 +- .../actions/{ => associate}/UpdateAction.java | 19 +- .../UpdateSingleDataTypeAction.java | 2 +- .../archive/DataTypeManagerHandler.java | 4 +- .../datamgr/editor/EnumEditorProvider.java | 41 ++- .../tree/DataTypeDragNDropHandler.java | 4 +- .../util/DataTypeTreeCopyMoveTask.java | 103 +++--- .../core/datamgr/util/DataTypeUtils.java | 152 +++------ .../StructureEditorLockedEnablementTest.java | 27 +- ...StructureEditorUnlockedEnablementTest.java | 15 +- .../core/datamgr/DataTypeTestUtils.java | 4 +- .../DeveloperDumpAllTypesScript.java | 2 +- .../widgets/combobox/GhidraComboBox.java | 32 +- .../dialogs/InputWithChoicesDialog.java | 44 ++- .../main/java/docking/widgets/tree/GTree.java | 42 ++- .../main/java/generic/test/AbstractGTest.java | 14 +- .../program/model/data/DataTypeManager.java | 47 +-- .../program/model/data/StructureFactory.java | 34 +- 53 files changed, 955 insertions(+), 453 deletions(-) create mode 100644 Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/ShowDataTypeInTreeAction.java create mode 100644 Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/associate/AssociateDataTypeAction.java rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/CommitAction.java (89%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/CommitSingleDataTypeAction.java (98%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/DisassociateAction.java (97%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/DisassociateDataTypeAction.java (93%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/RevertAction.java (85%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/RevertDataTypeAction.java (71%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/SyncAction.java (97%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/SyncRefreshAction.java (98%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/UpdateAction.java (85%) rename Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/actions/{ => associate}/UpdateSingleDataTypeAction.java (98%) diff --git a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaFactoryTest.java b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaFactoryTest.java index 5c4c2048d6..220888f928 100644 --- a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaFactoryTest.java +++ b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaFactoryTest.java @@ -15,8 +15,12 @@ */ package agent.frida.model.invm; -import agent.frida.model.AbstractModelForFridaFactoryTest; +import org.junit.experimental.categories.Category; +import agent.frida.model.AbstractModelForFridaFactoryTest; +import generic.test.category.NightlyCategory; + +@Category(NightlyCategory.class) // this may actually be an @PortSensitive test public class InVmModelForFridaFactoryTest extends AbstractModelForFridaFactoryTest { @Override public ModelHost modelHost() throws Throwable { diff --git a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaInterpreterTest.java b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaInterpreterTest.java index 17b36f4627..3b18537083 100644 --- a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaInterpreterTest.java +++ b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaInterpreterTest.java @@ -17,11 +17,14 @@ package agent.frida.model.invm; import org.junit.Ignore; import org.junit.Test; +import org.junit.experimental.categories.Category; import agent.frida.model.AbstractModelForFridaInterpreterTest; +import generic.test.category.NightlyCategory; import ghidra.dbg.test.ProvidesTargetViaLaunchSpecimen; -public class InVmModelForFridaInterpreterTest extends AbstractModelForFridaInterpreterTest +@Category(NightlyCategory.class) // this may actually be an @PortSensitive test +public class InVmModelForFridaInterpreterTest extends AbstractModelForFridaInterpreterTest implements ProvidesTargetViaLaunchSpecimen { @Override public ModelHost modelHost() throws Throwable { @@ -61,4 +64,3 @@ public class InVmModelForFridaInterpreterTest extends AbstractModelForFridaInter } } - diff --git a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaMethodsTest.java b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaMethodsTest.java index 760d548974..20a862a90a 100644 --- a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaMethodsTest.java +++ b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaMethodsTest.java @@ -15,8 +15,12 @@ */ package agent.frida.model.invm; -import agent.frida.model.AbstractModelForFridaMethodsTest; +import org.junit.experimental.categories.Category; +import agent.frida.model.AbstractModelForFridaMethodsTest; +import generic.test.category.NightlyCategory; + +@Category(NightlyCategory.class) // this may actually be an @PortSensitive test public class InVmModelForFridaMethodsTest extends AbstractModelForFridaMethodsTest { @Override public ModelHost modelHost() throws Throwable { diff --git a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaRootAttacherTest.java b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaRootAttacherTest.java index 8859c48c07..23e545f24b 100644 --- a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaRootAttacherTest.java +++ b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaRootAttacherTest.java @@ -17,24 +17,27 @@ package agent.frida.model.invm; import org.junit.Ignore; import org.junit.Test; +import org.junit.experimental.categories.Category; import agent.frida.model.AbstractModelForFridaRootAttacherTest; +import generic.test.category.NightlyCategory; +@Category(NightlyCategory.class) // this may actually be an @PortSensitive test public class InVmModelForFridaRootAttacherTest extends AbstractModelForFridaRootAttacherTest { @Override public ModelHost modelHost() throws Throwable { return new InVmFridaModelHost(); } - + // NB: These tests need debugger rights, which means either: // (1) on macos, codesigning the executables // (2) on linux, "sudo su; echo 0 > /proc/sys/kernel/yama/ptrace_scope" - + @Override @Ignore // test requires ability to attach by object & frida version requires pid @Test public void testAttachByObjBogusThrowsException() throws Throwable { super.testAttachByObjBogusThrowsException(); } - + } diff --git a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaRootLauncherTest.java b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaRootLauncherTest.java index 1e89fe2b39..1f101aaeea 100644 --- a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaRootLauncherTest.java +++ b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaRootLauncherTest.java @@ -15,8 +15,12 @@ */ package agent.frida.model.invm; -import agent.frida.model.AbstractModelForFridaRootLauncherTest; +import org.junit.experimental.categories.Category; +import agent.frida.model.AbstractModelForFridaRootLauncherTest; +import generic.test.category.NightlyCategory; + +@Category(NightlyCategory.class) // this may actually be an @PortSensitive test public class InVmModelForFridaRootLauncherTest extends AbstractModelForFridaRootLauncherTest { @Override public ModelHost modelHost() throws Throwable { diff --git a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaScenarioStackTest.java b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaScenarioStackTest.java index 1b24b51b67..a922224ec1 100644 --- a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaScenarioStackTest.java +++ b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaScenarioStackTest.java @@ -15,8 +15,12 @@ */ package agent.frida.model.invm; -import agent.frida.model.AbstractModelForFridaScenarioStackTest; +import org.junit.experimental.categories.Category; +import agent.frida.model.AbstractModelForFridaScenarioStackTest; +import generic.test.category.NightlyCategory; + +@Category(NightlyCategory.class) // this may actually be an @PortSensitive test public class InVmModelForFridaScenarioStackTest extends AbstractModelForFridaScenarioStackTest { @Override public ModelHost modelHost() throws Throwable { diff --git a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaX64RegistersTest.java b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaX64RegistersTest.java index b0534cd62f..c5152c2aca 100644 --- a/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaX64RegistersTest.java +++ b/Ghidra/Debug/Debugger-agent-frida/src/test/java/agent/frida/model/invm/InVmModelForFridaX64RegistersTest.java @@ -15,13 +15,17 @@ */ package agent.frida.model.invm; -import agent.frida.model.AbstractModelForFridaX64RegistersTest; +import org.junit.experimental.categories.Category; +import agent.frida.model.AbstractModelForFridaX64RegistersTest; +import generic.test.category.NightlyCategory; + +@Category(NightlyCategory.class) // this may actually be an @PortSensitive test public class InVmModelForFridaX64RegistersTest extends AbstractModelForFridaX64RegistersTest { @Override public ModelHost modelHost() throws Throwable { return new InVmFridaModelHost(); } - + } diff --git a/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/EnumEditor.htm b/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/EnumEditor.htm index 75944bace4..e6490270c0 100644 --- a/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/EnumEditor.htm +++ b/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/EnumEditor.htm @@ -98,6 +98,17 @@ the Data Type Manager display is updated to reflect the new name in the tree.
+ + ++Change the Sort OrderSelect the icon in the toolbar to have the editor's + data type be highlighted in the Data Type Manager's tree. +
+ +
-As with most tables in Ghidra, you can change the sort order of a column by diff --git a/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/StructureEditor.htm b/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/StructureEditor.htm index 69c6be97ae..dbb850fea7 100644 --- a/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/StructureEditor.htm +++ b/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/StructureEditor.htm @@ -102,7 +102,17 @@ data items in the program will have changed due to the apply.
++ +Select the icon in the toolbar to have the editor's + data type be highlighted in the Data Type Manager's tree. +
+ +
Select the Close dockable component icon in diff --git a/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/images/EnumEditor.png b/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/images/EnumEditor.png index 4eceff2d80f2e592aad1665249c1ed615164e530..ece40a8b8a99875d23c1b3e37477b9fc771fc74b 100644 GIT binary patch literal 21694 zcmb4r1yt1C*Dj)1h#)W^NH+{2(ygR)4@2u9Eg&63h^UlwgMf6*z&NC|3PVeW(&^CM zd4Hqt`+fg=@49!bkHvBg=NEI%KIiQHJkQ?8P%RB5qTAHB@$m47l%LA$;NjszfX`Dm zuLJ*H{?Z7-!_#}GEdNB$%WOUUmKV|JbX#5hJ}U1ZuOhFqnq!QsHaonbu<{^1`@nDd z&@_ahibVDWBNLjH)SmPn(*xz`=#Xnqv@6aVb|pjv(j`1Q8e$ka4o@XBQ^l~|6Ez~P z0+}COtxl*JZ@yswetXjcn=YTAYzgmOdqM*Iu9l5?1T{j{Go@*P{@~%gz{`Pw=-dhZ z`~eL#L~|K?M9?jEE+1{lQ5l~sG1D$~trluMu`2ll!&K@O=};%EUrQJ))WJj+LlO+x zkB%&8Gks$fEBEzyB36dohYDj_3mz;D3fhgR
$If>2l5j}KaB=4~G1 m#z)W1VX+jKUUo0C9RX;+ft{(#nDY;9m05otcYkzKX!vD#nS5P3lBp&NX+M_hbm z>8G+%!Sn&g*@&SMmRG#i&0TwGOkJsZqg32yX(>Z7Dx-9$JSmN?!Dn@8vMv2&Z@9oo zhW7kqbC~}b-@c~B*ROtW0-IKMPe1ty+I$X wyhTPl(4uUsHo|Ya z!}x81(^gGNUN?U^S$zHTv#~uvtEFV=-J3t6Q}Qf+zoad &c}(a>K=^{ *dA5lPXkT&qsH&xhCn)zpiLfh|> zOEiY@@n?5q>T!3`m&D{RUGL J%j$be-?jcry#&WMuk#WEB z=ts8+5mme5Q{FN-6g*gYHBQO&D(UBHOzXw&8$VkwuYBhj$@RlphAp-E*Phfj eP4i{GWI;SgnUKC+>fe*T8JQ9Lq#)>Z90pUKQBYCgGp`{s^BR`X?U 0qr-sSHv}LDE3pOd{TY$x?CJT$dXsLPmI=D&h1*)$EbW)O1HOfJ6mq{m=8HK za=({twuBK-GP~LE<>D0vLZ2WRASB=rP|I!D{_XJLyVk@(WglC*yaEi5Q qXB-IoeR+Ja1KoHdF^gke?R2lG0kN_U* Qt?{`G% *{;lcbbg;YlH;o&JI|m|M_)B{nb&F!8N-dsY2Ib zn9DM~4j2Y$RM|O`{qn;HmDkan#-LtKNI}oF@WbU*&w)>oU0>KE$8A;zn3*> ~u>EwVQSn->dyK#JkN8M?+GAc58?;FZ z{KuZp;Q*pq1^FdOWl|T@Wt37TkK{G2Wp0WmHJ`ReeSl(GCWh(gXl3p>p`om77s}@+ z>y)sBk7v;*hljpdF!z1C;)5+th8e{w67WTRzQ%6HXDFH>CH%Z~hLR0J#!j1mdUzR| zyA(}=IM2`~zvrx~iHy~y(~*BsmI2LsY8fffLx`@0AKv?gl(vk4va+5l_rQ5qLWdo( zTHDlyoRCt-=kd|6qB5jTgD=i@Zz(9Us-E5=k;R~Ru>Cm&1E-p?EK9j0VE@dO+V(=@ z*lX!N&tdLMPsvRiJZ=E%(T5j3C#GKpMN9G +-+Xy~tBzxwml)5;Q{C1_Ld)aY2H zJ!ZT7>9!;~r?CxV{dMt9IA!&)qtjjcDV)*TK4e>VB|Q!J>JyVW%`fiNmlo;t3l;+y zPu*3n;P=W4Bq`V;Ia~})Ep@U49=E{2gd9@M^Y@?)+-ReUBXS=k%aLr8+pnUe0gJ^s zQjI51MB=l)>I)YvZ_iuHeu5&cx_7c9Jn8y_ZfL%hcRpSdYn-bSu+BgYOF{VLkoEOB zOC51d9lMWnSzfaflx{pH_uY8U1UZ#rmUkMiC9>w&{_R)$ic$L>;;LCpc6FG-+V3AX z$f;A0zPE(2uArJSl(Wh10Nc_MiiAee(9pbvcI@OPaJf4r7$FmRjICa23%?h;rIpjT z1h#2W3HPASpD`=SQ%wq+;(E^-9u?3L%bGnJ*>yAxtSxF
pFskW~(K9ELk$3P>-wM4juv4L<{ub`#T_-0((1 z(|Rw}6NM9zbkTd7(|*|K=jfG*UlHHG$70aw;_m77^{@{IP-ni6;#~&UZlYHPhSh6l z*!r4-HJ8UK;R6ai=JybQl~vp5)C@{<2O8i3mbK9RRV*X#LbH+=VbMx|bGlC6Xo}!3 zrI6vtx+q&jvv;lkd7};1@1Y_oyR`yxLxpmp#F$UZWJ0Po;4+j1(RhBKoGDjt)5}z2 z+2yT({FvUH7rtkny|Fb5RgRu`tGE7Z*Zeq!87&)GAqB~4qa&9QxS(QVnMi7E4-C`W zww_;bi*cOz!nbl2zm(8WMHBaiC6lMw8PH?8I$5R2*4yYgIyRBRo6a%V%--$!Q5NqV zy_PU|)|=jCe-Ca2-qKk%4433wqT7e8FeqA7%I~DwjqW2kZ1FSCTl}jiU9~k@Wj2kl zll4gKyI1XUfh%<23*=pz5K?@M?5o-D>Z!u#A^NaNo6sh=4Yp7^rbPD5prip1LdafI z6+2JMsO9^TTZ0=Co^%pAFFFIVbm7qAfqcjeK<=G?abkdUZ<86wr}LxBrrqB2DzOh* zEbni~9EG3dRdMT&S7n0QKEpjjqKkhRUtR8>FR1XGR$$aKroqqKbPcoFeLS`?w2biC zMa<1_#!heF2Vx7CZcCV@T #oYk$*CNjocy$(k oJr6eDx*NMDszPaG?kw5b(g}?M9crMD)_zj4y|AA6!Yq5|g!m^a1f*)5 z#Or7{Vqs}P#$c+op?!MLGhiL_wA3+1B?=S{B3%9&cxwCFO|5=y>3%UgL|dD4;8wZ$ za>?BO)f?GG2B-!>S< 4bRK$H%t}T{KDc~yQ7^$tkZOH zY7^x5kSBT!fhi7V(d1S?mEuz-U3e0n^pRXgQoT41!^Om8I2K&Z!aJ3{{`&`Z00egI zee)FvW9Wxy01{&hLO=n+y7{zuoVrmVi+-m}3KARXVF}mflc)8SeeMo?tZB>T+s%AY z&D&Q9-L|&0a5Zw;@p0R87^@SJ4H*uN8_gxOD`au!kG&~>6D{ujC=x%YG>sgQoID=; z^+-8$lb=zCxAZwh_^?~((UG3A>^$o|aYe-F$L#THdKD}zL>ZkbF>UZNV8xAw$8d!& z^s6^x@B@+Z#~;b2cP+clc}T%|ZCpcYQNs%JQV?zvEFa6$Q&FA{>(56or6il*nH--e zhWCcTbLQqYblQ&}sAvwWFYkM0a+_$x`sPi+)y!@%lcR4pBtL#W8w#Ko{rr#w{x6=L z_YV#ZerX`@8 M2)}*>^QoTXrFiCBf z0Nr0-ExJQ+a%2*BA$t?@9zTg&Oz!khDGda6s1kpB8@)2vCKoa$GW}BjJ$}uNZXGoB z!#-UT2E*iqtjCG5rgh&zXlj{@C0AksyK=bamnp58l-CckX`8?2QXq~AH8|t~cd?nD zM3s4mU_$V!rbpzWMzPEkaT@6dz@-Oky)m0;grL Y+DBG{$c7gaLTM(KLE**O#Hi?gBrcf3O*!m6%{-%uoA-8}$GLrufFHs<9NBaQLlj z03)d!0&3bgd*?rZ1<6z9J)%HdQ)cj3zb(WGSrxg)B^TJ(h#si%RM$j)P@n*hSJq~= zr<6wm?We@@DonA@bdbW1cS*;)&1VpI2r` ~t4#!T5gXuv~Mba;Mfz0;2jIOa9Z(zG%JmDOa=DCF{Ry`&J(|T$&!v1euyb4-j9*GeKOj8M(|#rO6<$t`uax zl{O*rvTBM3Aq8jRp#X2p&Y3an(|}JS7~S@k^c9dN2m22>Az;Wgj?B$>gvxA~P7}b- z3?mKwVf4bnfq-!qGFS|eijf1MaYjghZxsSQ>V9wl+vP>qQe;H%mKR5K@aA{sSOwHb zsp<0}0SAu05n-)8(QWG*xM%V=t(h`Vfr3+vPvkIN(kpSllUgQ7Tmg-KOXskVENKLo zB6N5~=!z_bVLsHxWRhvGC5%9Y0^z-T{#FeQEs104`U!7v vUHegnDT2vCbykk8RLlP(=p4#?rG}Dyn@e@+=lFMSY%1kou)s*d>qva>- zJT=cG+)r4R5651lO1p-UAkbuNgV!Vi7$Nf`C;iFWae32~0bx~R=g^bXvEI&s-fk}R zKo5H00NTKT_Ssva5^}89y$2?aS^`k;gaw9DO%;wjf>}F6ftucPqRT4UIzK|UKXPuo z6Z3iqIRRhBu!xsJ_Ms8?mrFuGhbr49IgygKlidsZ84VN5-6^XJ8+1h?-VK`54Rev0 zhSO|d@STOwbLn=umrb3&@0_0>HVHoe&KT~4q~PA8{Lb(8#WHTR`TIT=iiSpHzS64y zeQ~bscJW<((V0*(etFqjdCmO%%e!uJM5Tvy%W1jQPHhbx*fMfBu$>!(pw+;(^!5)e z?C(F&P?hOzi~TxHz7Fg_64+urR`UFKE3~6yHQ53nN@{4BvyKeI5RK#^7Z|{g{OExy zG q3l58j=*Ti;ZjPGfU?a8T=Y(25Vnb2nF?`!=jor z4-Ob%ks#vnlr#$vRSHwO7dtECxl<%a6FQBa&yG$ I z;}VM82n-k7@5p5H;ijfw=x+-lRtUH4#OlJVv$9XGq_;2quTr8|-af3&Y&IFpe`GW0 zAY2T>t#zY58{=C *A|;nQ6YAWC*b~__#98QaW|q9nVv`=` z048Qv+bn&2ECw+^O@UB9;ub8?bBt2F5}v$_T`ggoH$OD_Yj!6Y)wh_F(#tF}(eRq; z<*0=L7J*$6cV9_$j7*4gj2vcD{<2Vqe|$E%NyVw$d#l`&z=#=gcK_|`ucC{Qk2BKT zc^BTZJho=RUuy5~8Xyo?3<1e}XA~D#P%|SYY*Oy$=d^v~9_z@q{M*W5l7fY;jD9yf zi;UgE*?<8+YM3zk15N _wI30go89?u@cwm&yMv-a}fgy=Pvo-3BpOd(~ynZYh%Od- OIu9xjBkkzuf9{)u%|j4qys> z&!d)N3~To)m>_q@c|!n`oul766UTF+V>fRvOtECZTRrd7iTNnRZ(ERg!6cj5H~e6M zD>BbANti_rFFUX1xoju^j!4vMg0X+KS&Gf~1NY07I{Zu}B(zU7t@@(?33x-lj#K$I z@s$kGd+fQ&eg@Azv8W!hc0AWe4 x7P#2?>l2>nPg9nQEG| z-Qi1#$DgSMz=zYfm*36^bl*X1Hg{Q2&239FS MRS+DY?>H`WyR&%{ew<}Uj%G>W?%|e#^J(0{a21q%UrYjx`4P{5cEi>6s*s9As zb)5mf?{TAykQ5%s7#$an9eU1;4yS+oX8B69GL^9R;wvdM`3p8oLB+Vu(!*mFnaI^T zaM%{>hV7x<-aLEfN)E7KqvH)VAu138i-DnI;YAh6gt&mu1&lUw+qL?LO216cG66b! z2|8K{OStn77 U$28rNjgj6 z>d4K&ITxPZ3@NxfX2lz)V41O^Pb>-xMBBWVR5B{={-cutPQswtufpN @&bL{J6BH=lM9Iz;)a&}d?qteZ>9Lu067#7E|_m7wtTsq z6Xh1qhsu#9NU6jR(LW$Xd^~8X=nqSfBtK%hND}^|+HqmShr?$I171Hd)R?oZZ$kR2 z|IzaP)$357p@D1vDd6FrYG(nQ${$7iGu>76z!>G<&v!!pG(Ki~u7iY(IbQkGO7ScP zYTHKi=MNXA-i-6~=iC%ve-}=?ntK wrWw`x%5(snyTGU;X+N~DUDM )$)D@U)?B;__GuiDicclA0U zC^K~-yP=0RgpWM{Ya%rBm-_8n#g!vFV}FFcXxK3#G8!OmB6?(l%3G?V@B0!FOw@U$ zU9IuuM23!z4mp7OR4qo}4=Mx*GEc`guL=ZQ_-^0WpTmSNPt>@Qlak5;1gHR5%hVM= zG(JPur< Ukki+urEul2!;uZ7jZIM`H9Xs3J)CLHkT!$7W~xLr =}cQ{fJt- zNy;Njo1KLY6 ;)?EIWd2;<#r zX(@B@LD5k(yMl))bU4I4xMk;oQ@ygl#P|5x&9VIg`no8s5$i9(x S@BD zX@e9h0V|I2zzL!cAxW;{pE#@IJd2tC)<`B=8cl;lXXdN-n>}~=WG1rJl`5xmBeeB4M>@~ z)sB<$>DARDen+#xb9}7p_E(|}w=k9){l?daY^M?$ZAKIfoupv*5=ymxe46}l)p^M7 zNS5nhN=fkaRW=8h`_{m-@gP_V#_r9oLf*N7!>Mj_DRaxtM`mTcgE+oI|5a&0%sFYq zPv19T4dxj>-II=6;&?Vi`??YUHK@4qK*TZkF4@TaiqY@5?fe;#=NaiHRP#zKjyxs0 z^rjpAI7LO1*VfnHk<`@Hh5Ok117?$Mu)ns6Fl+Exz+#oyH9nG*343msELN%{a4GQe z@?PJ(wIB^EHR%PG8|X3tc1M~&iO-x@ Lq)np?yDo$QCA*Y zeWOe&x)FD0sm6`(oNrn}(0N)2eesRmeF+;VKs44t?qAJKH034BO&Qx#jEbm+`kRs> zVkG1eJlx0ka-1ZHDZ8$Y(B)MVl4o<8-BR%@m-(&xBU7AujUJCj$lpfEy5}SRv%!4z zp--pKmGaJTMbY>7U$Qsj%=EQElUrrXCB?MPBXoN3EV#ntU=`J*gEDJqDHCeiEpf=4 z5|XV$UAcNa dxMQ-2Q}blFI2zY2S|ooKz+Aq#rk-)fe&&)_-t{Z ziF(Rsl_xK4_}jN9L)+#gbaZqo#v9)k`QFs`NSOfg8by~RXGXQ(?hlc?rk&|eqvipo z$X#=Wv3Y!k@|j)F$i2}z{; 1AdDQ!3j!cG)t#w8eubu12*JLi~WqfNxoA$7e zjMluF#q#`#4Cmr}ReE+k!R`Ks5>7_1j%qpPZ>?TU6c4w|un_W{WJG_&uKNnw8hkEW zw;sSmW1-tSPfv67J|ERp9R1`88okaS 5=wP91qQs~6~0LEG3P!tee4+C#gc{!4v~mZyM| z8R$+CNN}gS{N1GGb-Xf+m^(1Lc+=^b&23ci)E8aRM)26``C94Yloa?I1x@`~(!8SH zm+(B_v;3U+CN1sMs@*$0QZ5l=cTyO8PGul#_x1t2D^q+xAha%&nn)W_z}V%{Z+r<) zOWmX4TzMHeO}ZZ;ey*{5s5F4z%dsNvOyGXM^6Lx~ukX7jfkv9}52h7CN9)g0f5VT{ zlq933&6^*6`rnZZ3z#;#RtZzkpZ{u#k@|I>95{)|#7 zUc5(yjbCgsH*@kkt<7~CJ#WWMZeMHIX*IpBJB3eBq_wRxG&5?Zm+z}jZ8^`hGSrJs ztv~);*p+rkTYT;(u)UT=(V)n6YWN$Zyq{W8@J1nwu<<+(Tq5e#0W8A4@7UNpAe&qF z#~49(E~l`ebH3Jemvq*%+lPmg?q`w+r^aK&8gO**jm353dAgGW+;#NkdSfdfIcfDy_0QBx9bE>Sgc0 zz>DkelJeY`xPn7gl }%sL9}(gzL;#RT zCB--oyseu4jPOsxykVse&-x_x$*JVs= TMvQSiHQr{BJ5be99z#PQ$xrau+a8|aQvfFU2p+?Uk)ojJ49 zYc+mjTYnIlnG-r$*ZCu+d;;+|`xfmxRDPYPN9vUyVB@3D+Gm7@Yz~QDC)$S|7OIa& z#*3Is`&7G88CATjeDXk7&|ykNY}Ds~?wJ-b9^TC2a~0(KC>oxYVt7=BAv44-jDkmz z7f#HzN|`fP^lFx=;__1_w8?pu(Qi+ipv x~PoA%5mJZ~?00UPT`>GK &B;*O z?fo3#rYaC@f7rl$uvDs)4}wfiuou>P7nY!~**BAwvlN_}%HeKwD^=W;&hJ9OG{-$L zdopsAT_c6lr{rj^&5{HhO*K)!`*vrsOY^keH=(R_^7N*c*wS~)?cjG&0nt#b+1MOL z_2w1bO&~9fhliqTZL#Z_IQD@J*Qi!g@ HR61>E7K2`hL5VEtkuZkOGy W_-R&{K|`KgJDlSPl%a#t*XTn_={U=@;}QRg7cKG2x&ty$nfjn~gV?K8q{fdi6ZL z`Y~8psx%9smo1_}e)jyV5No*{%)=k=LhOOzaURjgfP1>)PcJzvt5&N*Ts0<3l?M~| zw%Lc5 U?l|d$8 zyTTm;@^bWw1Wgm!*hPZKJa?u2j-GpKw|WwFdNvgQeZ!5G&KBSim{$g9n)N0cKjjKx zTumK*o!hE<$yfztmt=sJ8RROkDP9{y(Qrb>#2~}=LxMI13U!(#&~1WfI28kgL0|?8 zt-Pqb+K?{7m*7)fG3AP^T6Y^>&6}G7`%kow5#5CW+Jf?R>=)MEn*i;6A%%Ji^dI C48KmCsvw zay0{19-E)_y|>~sc>?&OrC1hdzrkF2_216C5DMsqD$G+jFid}XDDJ+^wJvc_Q6pH+ z=KVTv@gP#-e8h>x!Q-bgR*reeXO8C|*TJdSTb)w~9_74%a1kh&viA ueXse;LDp}ee=G8GF-GW}+qVmP)7 Z_zw{Nc% zLrPKys=T)6hH6}`YyD2EYzj)_Y^UmLrW!wBetHB32CAe71qE4!UzRzH3!m%_YAy#{ zp3*098^)d-ZlY+S#HRx;r9iwU$rmT9eCUg#ZHu5$y`Y7OiKc)|agVj9$2*HTk1RX; z06JTtuGWgdylXt$Q3Ysklj!Ee WpqUvqm2c4&$!Y0#vUl%Qc1{k4p2E5}1GGA! zYMd>9i}6{jPLU4lSdD8z)qP++df(~@fnstmlru$^V=G~p<6~^*yAPl1P3k< M+sf`iJVqB4@qPW(cvc?S~kSei6|*4g@uM@U7j{w=A?-@6&tO>R$L#u zK!9o{mYy{D;RdHA0#cIgv%kW*3c$)7fH2-xcAEHtKAQgyh1MSV)_QGcSKa=%Ba=s~ zzryc<6N@Chclv;svfnwpo8@JkfryQbg=w)1I8KN*tVbx+(V`HmA3_rl2*i^2!$jM` z{Ln1AyM)lGdT&f05f;bJfm)j4wD9B;z$ghbGtZnO&jBQ>@@u5Tc)v$X1DK8?pig=^ zibM_1EyXl5B(oGFs5zTwfDO^!rK#Am@@^mM{9!nSls2+P-1W~CWRO`XM}c|^v=7aA zj4DFxMvz6wF8%|vn2(fzM;8Ug3R?eisFDU4JG2G@+(IH3j(Z&<=0nIZVTuK78#JA> ze>NE*K Y71*_ zNCQgvC@p (Af@T*|^CD>H2IH+^!YCqc0VvL}A&Rrhd8 zc+GnEaEVEcPWP4hj%MFBh`jvUWSidVZ@Vq<3 *<0fuW!vkC-6kqvDd6uE-&NcJkJh?$EoV zw($2Ki0W)D)}`TlOIbs^Je!il@3BE>`R%?;No+VfT@;moqAj@X*RK>nSzvwdws0Sg zdfIb`nBEmd*4qF!t;L0ziHV6lpQ0~^VNU)t*t~5Ei3%)J`O9CAEaCqSakzHcM$()1 zPbIPZ1A9#8Znwf&6aL@Y;tzmlTaj^Q+@}{XcFupv49S15b-z^ZkIVI*f-*zu{DO)` zG}GI=ux +x?^#%&Zeq-QV~!7O(TgLwmG77QFm+Xq3|n{3C)ZiG**VsK0+QJKZm2Th z$a?PNjkAuC{vdIp6cx~lNREe};y{L9@Y2Nb&D*yk-u#Vuxk^)IncDrG`-LhER(o=3 zW`d5bFqdDR(Hb}2YH4jLTtx%-=JsuM?akn#2(BZqQ!^S)1}dn^ZM&+{7pg|XBac3Q znr9CJ5RCWow8e!r$1LRb`K`Y|y01VNTPo )7;qodHGb z9iL?8morjw?tf#hy 8zjfALvHsA{#EnnrWgTtaIofyHv#q<4L2^-Meo#R|4u6%o_ PZ{4bst&~B@ zN%`!H6qd)ojc?Pd_qvt((EGY+jdPML^SsR%^0=bavHXegI{MMdXg!H@#EP$BX06+* zLxq`{wf2d{&-;05V2CQ@r_Q%G?`*h~KVrGo?uiKIFF>$re&*Wuc~_Y&UaT?N4gF zsJfyc&mJN}4UIj*A{?wgWHj6eahQvvi$1+zh8Z8%0TgRyaR6Wmh2G&1*wfDjnHPdy z?XRe%Jn+?1gySGcBh_&a(YTyJy4yre@}p!<{rhR0hJ29jPN4^dvY5{7Hk++J?Y(AA z^?31;LbY_UDCx`W(tdGOQ9ogmJz?}S+trHu5|DNKo$b$SDaF|RP+hAqGjQW)mlPu; zl!Xw)#VvhxeKlyU_lJZgAkdyw^mZ9=u8uWCy-o_^HK7QA9v$5Xb>GOd+_p{`*a)A^ z7$FEZppL(ahv&8JyT4z(=NF{7=Q?jSRHkolH@z*gGL=I~bmaH2#K=Oa?%>P7VzNEC zA8ST7$}GSch7mlQwYD3pPl*2TzjGCGiWE{-)&5O6#lDmo00Cb{J$XQ7(N^rQzOjCi zts%8C=oH=W ZLQ80&YIOtIN^V0UKn1lT%2kZ}7RL*=+IAX)C=sVTE zDp_w( ^&g2wS>d&?L`OJ{ed_d2abEV`S1Y7gRU 2 z-x@1lq4dWOnnJ_Li3ibzMcBt3e@yN|jNg@7JCzJgCyJnG7M1iZqyPug@@6Z^ol~2z zZ)UDmwh@#OOSkogW#$;oIE*^n!@jFEjmzg*p4TiMWFNM>zn6coECXGe-ybzE;1u{x zT@Q#1uala6PJfV7Q#|4H)Ztt_pjA=P$oldi6tHq66K|V}EJ!`;UXpnvG^KbjEG*AG zk<{&i)Nj{RuHQJnM8H$hH%oHKRi)zB;+(A(%FG%)XPNP!b=QG=9Z)i@NDylgtWuEf z1JjM{^rDVsWzWp8&^6!kcaoPRfWf*fhgT}eeYTk 5B#hfi%*hhdlo{Rs&nfPw{yL0Wkefo~x0MbFh;QU8I49Yqci z%W(5`9+f^hE;X>&A~|p}_4#LUJw~!<5WLe4)-c5|Q+jC-YSLXCz%#t8j*_pdMh0(= z%+1PgI6s7-D8TQrhR*PH(?H3<6!y=%3zmsIC}#GS)%h60U-T4gu7D6{n)jE%ar5x) zZn>ePuPUG@r+?0Rw`WelFRwZu79I%U{EnAPF4Pta)kkR$eo9YWfCmiLMvP;$?i{kj zbMNz3ZvIrLvCxdjYZI_rdr@q>X`i!igq|Cn9ThsD0sFgM9d#zAm_BZAmYtZ-a=cMS zFWKGID*=~qGUM8Jv~2(?T0{|WT!4mijXJ&}S>5sFo~nZ7aS2)+$OfI`Hk4RB>E8es zP1YBdFnK~GXtPCPw`*^FvT=HS50Dsi)5Xohf i?5e}z2NVd` z=jiKlZy%WyH~_*35G8ql-er9ibH%QP>SK8)AClk1HAe#i!b%7#GXuIk2&ANOO?b=C z)R0~~CtEQ&@1X9R{bX^Ye<&&Uw|J 1#Fo ze`Z4&r-lGOk8XwNQ+$50{0R5Qf>y<-pAZRx`>RI@Ey4BcIEyg^e;f5$cQ+?$;UawH zHt|Hnkp*|_e>QLJ>?F!){DDs{T1V8Vh7Cj@)ba|+A4JuW5(sU$_7_9N3S33|+ rBHp0N&;uV#hKfV+Gm|AuVod0H@<%|o)pTD20l?Y0LM^#1f8Z##@7 ALuQiAAwcj3tEYuNy)MsEfnSmZ4t-G;V06vviqCQ;V|zdo$BzUdmX>U|baHQ| zOTi&Xb`}<`P*T?Rwl*bX5|@71?;mMO`UnVU9bmSa0ISfh!k)Y%qzoH %ox_i=WJy(LZmM7N+fyKJ#j+s3Pc!vYQX0kF8o*&S~m`n>P&!nKZfK @y!70@ zo(4zZHf8Luju_aY-%;`x68e29TOH(!sesF?W1H^s+~rUQkE6|RW)c2Jq1P|@O$_N} zoNrg2DX^=SZe;9fe0viX#;RBX`7MENl@_96TKRzc|nDja9t-6 1o6lsmq>2N zl`B_ZO`4g~`YQl6&3no~A3V|3nj-4VL_{xbVwjWz0&4(V+6ItAU@7o#6`Q?7ry_@D zIR3*@9> M2=B%{1vW zf5! iUllG5xf~%f^*0Ua8kKbLr6QRW>?#HM*Z@Ba8=aYAa))v+Og-qSamBt> zD_rF>`SJ-_S6BBy>Hy%(p(i}XRehe*eoE$k`w2_Ovu2N67t4UEsG3{by20b_D?`fM zyUuUlzh4>Nj?NYas;;6^;Mt *QUD_*rjz^x%(ZT&v|piG z$|JYa1BbjGlc)$26a_V1>b&39!<3pW`znX=#MUT!r>comIt0LQ%B_1_4l*(_WW(m? z=M%(TH>U> Dca;LX^E)*EYw!C|W2xhn7P0zdjWHgz=rUIZ1z~t`?BlXjK z_SWRu0NpKg@S7lf13y(#e^i=TF7S6tF;FA}!xt_vZ}RVa6pWcG@0BLo4fmo0@%1M2 z%c0D81TW8ai2wyEP&yz>NaYn;Ssg z`N7Jh=0pr6TV8qP$e0qXuGkVbTZeC$5vIcQb<6ZEH`FBQ9 jG{J3hlD7G!rNa9B15v ;uk3_$&f`O7|Z>B_XDQ zEF%Phx_34x@gsGH1V-u^cjC%I;$ajp8}%oDL&`{SFjXB;tKpMV(LuCH4|uo^x__>` zgBN<;jAqY8u$OdoEdRYGjl1^9_)qk?<}HN(AED?vY@hV?A3YS%AX-*fztY#DHu-UJ zZsFlSF_rJ;|0LQXxSw?lSmIvLo@IkNwPS!7zFs$yxP9jiE&=uUZV+mFY_*XZh`lpQ zUxFMbp5ku(&*s;cc|^D^u+TlzvC4PluZp|S{TOM6|G&r85zC=MZ9zZ-b3k`M$LapK zd2k9F1O(R42hvy(W&!8!TtLN?pHVr5`bWVC+2$OgF)LQf&U%2$tO;?5C>H5#Qdd-3 zoqm9+Apt3lO F&7D9wI7q&L`!WR0Ndedk4k>n@Ee6%YY`d= z|Mw7NS>ECFokvifB` 3DOrw z7M)3a^!v+$!MrA49-I3gvo8KfOG*`XPywn$bjPOu?`Xe&Q2AgMwZk}M)77lfPQUh)n2?a{lmq(tlW3{qWNiv4Z*R;P{xW~e-r^ k+-$qaK)_+v-1~4Q2xbEzo!;$ zn%SS*p~d>A0xJWR5 xt=eHl%#Or&cwyesl+7rSZ0y;+3|{zHiL_ZcBwtP&)CK@dG2!sDyec z;^&Ddtr(xfb-qa3$@f2EUoYfHmC|)K0zgGm$xrk4vBkGkA?wC6`ov}m9^=(@W40XF z@aN}pVd3F9Ko!%?Z)2aI2kAJ4LV-vcLP|=?!NsL=^Pc%cZ@PpMkRi` (LhC$Y!tNg`M-}V*baY}#Mi&-dpnG<@V#&$LSw@b_5&8%U;I!oc zP+r%vgETCcPp|1E_~U>&T+qe4mZsFAHaBZ(;R6x`geyO4QXe_6RXPqPnjF$a^J;Cz zO^4z&I2gjb8WW2$7!n^)(7C5TkX}!9N{uVWG;T)MJ8A&OfFq&~Wq(@cm8y>)3?V#a zET_|GFW@(!mw`e1xqQs9yp8i`LoQz_U(nOjTl&qlgbMl|y|SDnMe8_C7wdylrTuEl z8Ue9%Wvmhby?g6c*7tXWs~s%>&MH!hqJyOzy3c&QlGg*32L4Zlun!-|yNr$>R$mHO z_h>mUm+Oyin+RBBx1g(}+9uFc;k6CItyS1w4;;?;1r%vK{Y-PQcChv<2U%BJ%eDVo zni7XN;4EF3;+Hipuy&`)bst7TZahiJ_P7b}2FC`Je4RI8Vjrb@WA0d`3}u7LH^y1m zgDI3p<|A$q$J6?~&I*85KX;)eRxji3SpD77Y4t @jy4322G1sZb;n8OEym%s~ zJ6t!J6tU-nl$Dc9aNk(G|M1!CGRIJ8Q8hM8-g_zB!rmVIzDjgsV?!|jGBJ;t_1k`! zEk04++yDm3AGKSwD8x#9fk_X)emGYs;I;KEF8hTt+&+>AARG6`Go~|r)g%Qw02p#q z9tTH>PFS=*!tfu~;6T7HW W=eEaro0IQ{VN1ZC%!+avG+2w14QWU)m zg(bcJ5hISTa0hICyWz9*-0`wLij-9aI&n3@3~nEV>z++DRuX=o=Bo%Gl)VvSCv9Kf zdL8T1w$2IcAG8$pA{4qEo#AWnX`;D#H_vXQSY68JAPW$0aoNOFDbFkF8RBw#Y7sP2 z8r}NhWL_EmCpEX+*Qa!!Ci_H!dJ}+{4;+1!E`peLqvpJ!^^z}^Zss{u+6me8OuX|c zD-dZb_9a*u^n4ARYdELy0b~Fdk6+e%m6foBn5?hZdk6rdhI%U!(@V!6Y_hWDTI(S% zj hjDlEHyBU6 z9U9h+{yB*$|Fa@A2iC#&OygGnTpht;$HvY@g-f#y#_p({f3II@QDIZJ?tpgRrwMxD zB^n)U@?jFRwCtyMM}OzVi>bD3R T4Z(onZ(wDSW5IFo|kB7M{&+6a!o zs#@wHMSVS~4}Acbs`J(JUME>u<>}lO^Id?q$^(h1{J^U>!YpDe-@ $*3AOJ g`2ZC32HKcHuEZENcV5S Xq#sBj6{}VLf{gFkYKT-kDzm{<`pSHk( zn)c`aC=F&L{~rzFPwL?@+ke&P0C?$ZY+e`e{A+Fn_ mkKVQ$+^Z879J#b{M3IchnGEq5{70+f{{bcRlT aZ_7$1CR%NG9KdU6b_b+J?4dm4LOtgC66P5J&I(tzo_m{tW-eKcyGE{DDS&MU zC(E!i>n;v>F{lR&3NZ$q4sN#}ft(Bb9lvQM>W4{TkWp|)ZKTPMV7aiBF7tgIW;|x+ z?H--GSkilU+9U$qyOaE3=kHg0#rAYfbYJF%v5cNzNe8Oy>8Hb@KJq%5U=GmCpXTxB zi!TNoD)9w9{k3bkZ&bkfuzZ8Fs6z`cJ=33Mg3iE6Y-BfNx;U`JuY(21XoS3TUDSo= z_IO6<4~#7G)oy^AWaie-qCT1#1BlpDrhSj^gR_4nN(~5tL2w8OX%9e4T*};MvJTYo zlxAPC%_(kf?nV`cIT(kpelU>&{;BWZO@O4g5Wtb1hJ_|$FxC7mqoz<+={L*w#fm7J zfy5x pwy<9eQ;goL?7@Ztl`3|i7rvZVD!YQ?#}jh6~vyK-_k-8d6=TZt=+$BNmW ze0L$zDW|B*;bM%26|YB60m)Z
9^9^nEoM|CWPoIbt(fs9RYGV(~y-+(}{ z@V)^@Mscz#V%A-~z0Ebe83m3tUI} TwtzSX5kr>Lro)-#*J6RdYX2b9~W~i?LPpZ#!QfI+0?CUHfi& zwP8(3S|c)R#f2WYjEeGP_$9wlzCpDl?*}x^!WEIx^onm{y;SQGTb;dnK(h3#tw@bJ z=$0e>4JkjUpKfU79_^b_(PsJt{`7Jr=}x-J8LzjlZqD<^8P<($MVBX=w#xq6>M7=9 z&1qPW{>8!$qCtS-@tE-yD=b4Sji14G>@G%-RDk;8VcVmuE3lvJ3I_RCe_e)aTO%(c zLijm?gD6*-yScbx{2>s?jO(=FXvlgN(jEZ#WK3`PyPee@-6uCElgy{H0vS)^#n1Hs ziGE>am2N2_6wqCYO;ES?ltOUo$@&vpn4nKzoglzs2SA`pv8H}!z5$`2>zUGX=Vs&} zPMwZ^0t;)J9x*C66SJa-1KlpC0RWwPEDH!tWZ`+cH`wg75i`!o4-Eagux^~IS_ x;^D?Av3=^4k#QY<-X;%=qDZM*%vF2qYA3Dzd<0=P zV2%q_vU^U?i4j=3b1j-ZmMXV?Vvs(F#{><%3F9pS%%N+AyLjWqR0iNMLN@jbkpf45 zy?s4^`3$9+U7$}ePcZFEgGO;7@pu;Jy2cnrnPu_|&jyDtQOQGkf#=1~`V#>(7JDV2 z544AX+LIPpe-put&(4lH1YtgAG5d@?%Y{m!_{1!ooHD1oQNJN`kFA{Su_^>d mwDvE3CatDsb7e1&=k41{8$W*Fb7p~4?D4>-HbgmC zy4CaC3eq@%1hF> g{QXDPN zdPe J@iY#r6HhpQq$Cz2jB~;0ac{?`Yj^L&TkvZ*#i14kK068(fvbZ zdT+g{qc45#G#1k9&nLE(8!bc-S*aFzt02e1(5s7(jXz@CF2o?JdnugJq{rI=5+KZK zK-*W)n|@B_QA}T@=ci}jtU_&o7%#9h753S~Q!$KJ_MonEblcm(@A=`l|MI!#Jqz zi4!OCaE8YNCKoLbKxNzVQklGe@7@DL=R-EF2cudEUt4K3Q{aeyMu?G$x;F^CJ%1`V z1vo*=&69RTpnlSM$&3KNUl0MUBJ0m7pgbrbFWzEBxH)=OHc+;5;bV+hcDMf-rM8x0 zy>?raD=w9Gwfyeju$nckHs+Je6q7IM&Md `lmhL@$ _~Ve%4ecl0=CRL5nzi%^8JD~5$}$RWK0$c4o02=; zBxS~Dsv1$UceM_W^*6K5JWKNYJQm2gBnnYdKpd_{VIPy5Pant5W5yM96#&1uP7VE} zPX1XY`8QMIn7|OgZXY~qCOfZ|b&a4~{VIEZOosT>jcl5(hHbBhp?2o1`Nx4G1R(|6 zPjx}Y8@^5U7TXvnH*Wv>QQV&{XL~-_j%ad3S=Sv3QcIi&kIz$#w2zVE$mm3LnOW9q zd IGS^iOGEvw<-bA*|MhPCn5_=!yi<(uCT=@&$s*K zvT^SN#mqn>apfbo+ja)JwfdIQfAs~*IHPQ+w@GOlGGud~%O{8GIxiD6s&(uxEEw)g zMnzh-t=zADB%zgS<{rz*8`1%%S3c+vEG#Vrr63Tz7E)bZJrB&7$@dq37Lw7FSdbln zL?$abUvPWL2F9vLCk(yPaQL9deAz{?NtT>QhDoPmzOKfDKNABLeirx5gW5h-4W=TZ zAwTA7>P3L$hf1Uxk(U?G>&l0D%Ab`C*Lh3*@lSc}p3u?UgdTlikahrt=M{) Gyukx;%>A54*eQDV8G z76kwK2KONx9QAL5rN#H)-UWUI!DXn&&qets6?6fZ|M^bZp)@TQ(-0pkwIYxL>7)j7 zse95hLnT&mzQ>@qgMDB89lQ#^>rm+$X$b-r*t^k#8Rx>t$hx|ux5&VMEI~3>VTwfZw$IN6&D$SHYwGF!{I3QBbYfOH9tT9C5*qzW^=h+u~nP^ zjL_=LZwOC2Pa?I@=+DI1t7dwS!S=!FzuYf!uPWkH7*S>wGu%18IKuk9YW zm{K}cV%rEV&UT)IC8@1;&S5&L?le{Dnmr;lTjMR3Fj0AJlNh1pWe)Xn;t}WY(*lQI zxnKk?US0a$abYhyn23j~nlz?p^R1Dj3}S=?&MiN@n+@&KAq?wGOKObSdd? zwginCAG71H-|fdsl{&rBJ^aTn!MlC#Xsuz1FIrq+b8CFG17-%DR$1=#4aaE-`7K6G zeh+Y)z#3>IrhZnml6-jn>3Er5XiIouQa{Lo1Hb1F#s=yQ%b-c2dci -ict~ z8a;>Wv}_dC<^`}IUa-WD>o+-@_?Rk>Y9%->!j5n>E!X$U1s*F1DN?*1Efmk_eKi!e zQf>Oze*<_r%h6+IzatPi<;Z;26esSwWT&E=I#%J)Z+Y&2;eL9q#Zq&X{i|D5mBHEL zf|k<(%zWMo_jUN$!-C$*^N_q2^( O3k)Lj6AzXKnKM?|yH`KRyo;OJSTAYsc%Am2Ia@^>NWt RfHeXiLp?Lyvdh=P{{y&z#{B>Q literal 21220 zcmb5Wby!sG*9MA-5`w^hNSDMQ2qN7`cMU`P4$|EXDk3EzDcw0E m8ri)k8{p7vzz)Q5}=$Y-VPjV7R<2Vm?y& zK!Wft@a?&VcYQ_Rr8pT(```oco%0+rLUDw)TJA~)5@KOZ5Z ~O?yDSs-(-SaV34@bUuuv z$c9i$KGRB@YPcwOcS)u(foK?>uVxaHA%pYEdi``APEtR^ekvHKSMD-YTqoViCs_Zb zK$AJJTK}Hw##%vw L{-G{bC)s;l)kJY)pP&B zy-E9HLA^DL;fXZ8%KrYmZfYu9*D~AuY{QE>ud AYit|{AjXF+SK@{nq2Ud{~4pfzUz;t`p?IR->jdXc&fFsP%+4EJb86a7)~AY z3rc08@kFS{u+@WV;o0gFvESd{{Awn7w)T}@w>76-)?z=FByasI_ff%{^)iyYjjy~? zt%u~TcVC+2y-;lJ8mIoC%k3;|acn^4yi85jm74I&hw6aT182FDeF*jDOGIE;-QBRa z@vG3E# lXR?ugZZo+JK6RGG5puPe zU6U2sblIGW`(;PvRZ)X47?ZhQZnBO@mHrnlJ0-D9YU*Ys MQ_Zb;c>L=LK zej0@9)4Q>Y8x=x$YTV~2`r^aww;VD!90miApD;RWJM5K2C^iaykbGPGkRxcl z`BpOy>>la^R02T@Ap{3&7i~_gnDxbLw|A{X7ePJkQm!<_{~iMU`DBLyO3>x>i2#3f z-*UIU<(3{;uiOgs&7f+4(fS+0qBH*6z{ZjZ?ftwqC34T ^6UYx>-@BakQt8I*Ydr1hs z7E_F4hjb;qvc_Bd`D88bF`ecJn~?^hCk2 &doeNreD&b7+FCO|PjnO5w+uIMEke%=A?d zf`KnO$i^s=Y`^(CG_eS>HC3f)bFq@{ADSug?a$pre}SQYm3bXKrGr?H77xdOjm+ey zemF9G`*PmZ9#^#zt*8CG{F)~Oq*FK)$7VFr5z7PvQTxgIu`n4KaoK-{8rFH~cze05 zYa!6ExTxLW^CM?snCr%f$@=W Zwh;5cll4X|4kyJR8XK+)eoc0xhQ=v7`m75wUuTVsPd{xL``luRY=tW-7!cS zGTfa^U^%+2=mj&a+@POU@QN*jm7DJ{RXZ+-)_Lp^i1?fu2&cP_m hid=77K|4^avV=g6IqAu`Hn7WuwHoo5hig1~|Dg2{g;EKQRs4Ae=S4FbEChoU=1 zM&c`M#-nqaty0UwJ&bsHdFL;6b3D?<9Fdyyujbr7p~EVNw>eF=tG-f{@QgCYJVSAR zs`^R{N0~%6pg>?!_}XCI%N*EIb+c7})?fitemBr>k0^aq12s{4!hLo=qxR{xZd976 zFWueHT&wjm6Bm7=d~AZWeir$xAHEZK1bgF&Tn8RWU }cCp^Kc!m~kGd5UseKAL0wTunb@V;iaCRyfg&C&zu7s zmfb&z%x{gn$@=>BVqjzITQCqV1NXX@g{7sZLBkQBN#XTZ27xx0TvLX@+L380E;} HcQm0e8EiNoiF )+l$k5B4yy6Z6_Eiej)uTP+qe4fL|BU*avyQ}?aES^@6Q zcgyWwe>erf>znaXzJf?b#ln!dx+_zh2XcMH@P#z>c}i%}>8sftLi#H_n$Yy#hdUN@ zN+r;63jdEi>5*h&7n7CgeKWp|&(LiAr=(kDH95h BR;Q~5 zUl}~2#8cEpK#KRjh!R(>jUO}w;-UCaTHUETtVZ5sqiQiy@2ybt|NLA?)5%R=^1XwC z)vCz(?wy2(#>Fuj>HM+_X|3T5DahB!A%rU@`vy{Ojgiwfcepj_?oAzUH!wC^UA2^w zP=8@OHhF&}>ZxoWp{>+Kwa-s|3&`}QU=(aT3RO`-S}^(cM@gyY!E)DQaJgKr3|m%K zU|@)JC|C |+h1aL+*Rws3c{zlJITng&fWnEsXH?D&PFOjI&7 zKj(0-H#TTk=Ce!w?}0sgx%qNOP4ObwE7&5P7stb2yN`oDYN6PHhb+acS0FQZ_-NyV z>7l^0_BJlm<{~9qGcbcX$eAx61r(yG-ID}5V~B`pz6@78%b-Jz;UIADs Kqqdl|R%Xp%8srEF56S`{p z1$w1}3gsgN@&(AF-vb>Q2%eKnVH6jQ&N%H)tx?Sx<&x8aM^NG?FrJ_oXYzASuBrCL zXy96iMU#oKv@dD-4TrU9a`c2iG70?2U+uw4jY((_m?>Vd3c1N(p0chA;)!nYspr92 z=Z$f-i)9fIFKbmf5=CEmLgIuQ6pHosO7swAT+EOOn=uCoRfN}(llG_Ewziyo6=DIv z^Ko@f1*ByW5fere0^mgghlnEfqt{6wu X{;jr4ix+!~bFJ9>vIp0zv_ G(L<|oI`jv}&rc4L9 z{NcQkO1R=6Z)JiCjiI*AXOzkVs^F1;Da-EHR&6?SD-<`WE&_rSU|>vRQlQ3haeNqe z-51Qq3aN+|-xDo0_hylLe=GV)swgpoVJ&AUPD)k##<~DxU$_Va4(~ lbn#0i0M82;F<_@=Yx 1cOrlMDL #sNgh(RKEg|W@1 zp%#Ew1@sVa3!|Am%|oG<{lT%MTU=dqil9=DJs6!99%tuPVS5}?ue5hWe42Gqvw~2o zf O1ccWl3k**2U2gXj0RrH2K#IZ>I zxtjIUVu`eqoa^eq&m{0y*1f@J@|qe&+VM(8d^#wFUP|~O5Y%G5Vd>e0?HlmX^Wb#F zzNNcfEb<$I$%B#zw+TZ+B5SLC!DUPYXG2l^g$=Yrl)@)$FPjy@xKIOjCagZ#v|+>q zcRD~tfw*Kii#VhwT+8*^qU9?vrJT>@ EA+jnr$QrAO7&D3NhWdQFtnuW z{-P_F=k&CQ20I)bx>B}x$@VG1eS0X~B$pJNHrAufOqTFMUN5E4-QK)JZ$*}Z_r4sm ziokZ(Q9hc4Pu|Jpw(IVjkB2&ek^IXUjdn1aw4c7KY9AXZ!PIQduF8of)OX4FJyR;RhCJ A5;OD`LUGi@-~iA7!)9U`fU_p zpfD|;OW*yI2D+;f!RPJ0mTOf(A-{nk7N-RUGKaKpBzz!hF7c6lBl+u&{9XILbA0oA zvLe6G4jI>m@BRLz5Z5KDx(MjkF1j#~PFYDbbWd!wsaHE5T&&^gkrq2cJOfMId9o-v z)6&v1^2VRsxfh)xp12Vs9|J9H@HI4Au>eC#-X;=*Z6&2*o|D2=Qd3yy=ObL`&clR- zvvR}iTXYa*4+$E+O@YSB;W1BI6t;j#gtKZ2qaA1oq}$x@xos^o8j2IYUJ8dxl&+)< z)qr0xG%HZ}sjx#z&Ac`Dx0r_t5B%sL2I}+e%ZdqU>djV@6=AS>ez67y* )A|T=>4X+ST2+4qvlX%xHBoIKrW^(RR1FwAKgU+J}dtDQ@kF&SM_sNEMmF) zgqs!Oqcc}DoFAxGGPX|@c5%G1jT76@YK3&^;hT4vH9@!HJ(OoWI)T<9pzZGW_8rg6 ze|;B6z1>4e$0_KUq2}AS432~r{iLhFFAh7Na|MO{_S9vEvO} Cep<}7mAUZFbd zW^2<@ujMJ~Gaga7u}u0z#ueHdr3(xy2LFo6#Kvp3T2|`CJEI2gb#Gvo^zb29%KQgD z!F6jkfj0=@o2-xtoH){QsAHTg7`x>KGsCi)j;BTpk>Z )jD}A!F9j27mT4Jxm&Q#ElVG?16w4W_{E<8_oPp3iurp)DSYTEVIr8 z$~l1>J0$2=SEDxDrv@$O&UoAVPH#SU#eUIIHWN+ILMtdIatn%HX|?F>j++a1#1E?% zr+mh5W(y0^cDrD {e)oTh zDd1pG8?90(=#OkFCv+c{Th96C^&4_RFy_TOyk9xcZxu5b#TN^U{U<$YAcEpH=Ji`y zquNuUX<&IdjcT!IWq;9dr&|+XwK=YGy!e#<5UWJ!ghp6}k2Gv}Fkkgn+m~H5n&DCu zOW={;j mzm>8i(v#?; zp~{oX|MWc)m(f64%I;m;j(w+lwI%RD5C5yUB7p(#SPw}p^7w$Z)Nw)Pd>xKly*ioA zpGSvjhLJvB9V*nkKWWM&dbum* Z|x-@-l-QG zR26s~tuL;x7afA0>&1Q|pix=sOvs uT|}asDyY47hxX-MSf|qtqX;Qgc<#x8pSaZM4;I^lN3Z*C>Jq|Q?2d^xXmpA= zW=^Ic=LblOLm2|oNy%tvxSqcjd&5Cb4NoU4bnPPZO8mTPg~il2-uZ#H{VBy#yKyj1 z-04?6{A3dcQLHBm8^%I?fG$b$36ES-`CKK#ZV+KvbmbYaRle(OeBt>3A3yi<>;SiF z;JDqx)3d*F)(>2ayVMbvU2Z+f=4*MCnm)4CZOCv6jbT>J!vV1cJ1?;5L!n<+ttZL~ zPis2>6;g4WU{SbOx;2*q5E|*}f3aNNH!L;7FSi{0 bzXe4=n|q7K2Y;#6H)LH!v`0o1IO!8ZMG1ex^h?`6(z!vpeZk zp==~|*3Rzlro*-T^w5UbvdDYlGL2*jXRY?+YBiqjMZ<{Xk{PcdA~xOP&_=h?M~3+j z1~Sbrk)qjEtwgW&CFG+%>CrsyWQW8Y8$v3Ovv#zvHboWKdk^Gt28@TYyuMxZ^Q<^L zEgudF^)ZO|>YlaS<;Sup+*9-x^gc%1O6IfAi-;K^w?PKZUQF~h6&u!k^l*q%m~7qM zaf>g!zPiv97ss-lD3gEirL?qkRkd^Hvdk`h;?;*p?Mget{o~_jG&D4H)(0!SI@Ivj zAw-LFb8mK2#CsO3hQeJ;P|!VN)|NTG<&HQonnF}HO?Yu_O};b!c{ZDN(Gwf+!CouP zU}FF_+UX0uw8dn_O~lQhs#yQ`f0|;C IQZS_>c$&FD 2{TW3bkd=*Wn0|d$D5BE^3Mn?tG?MzRt)8<(x6h} zXU{CBMa!)}9zy}~o9Nyx&s4P4&P-j0U|W@iDeH3}yIm%{ Q2%$%% }~3BfN%mHzDCTVs%ZjQZ#Wp@2|Nzp;n%tK^$JSXct9xDr{B7 zp7`D@MPx;SAySCQVAEo#@|3&oIPfcebtF;e^vX5s@q+D)-$lcT&v?=-MG7vK9x&1d zYvo4g;-^PX&A+GP{mD92Ftjtg%(tuBb)%W&vFl{p7luM0p}+*5HyjLB`&x}Y*g~Dw z3c7D25S_r?Q7szKBhh)lbF@BDZY}c<05aBVyK=PwxgiBi3bqq++x+?@a;1TB>~>W+ z7;>4pZ0eVN;8EoxOntCSP+BW$-a~0MkP`x3uF}110TkAvMo+9L-Q5evME7X*rzff6 zaU0jK!!JJP_ikKem8p(7esTiVmBEH!Fw2DRHH9jarpzZDx-0-;7^MMqR?YNEX&&EY zx$t8$#Pf^*aYoL#r0kPjMa8H6Fx?%)%DLZ*s`kC8kfDEwzs%pyXczgvvb_Ity* zI|^_17Dq2?;FwEAMI|epQ^iUD;&=<)N6VSN C L0gR8 5(pBkLbXP;Km;}3FtsB6^Vv6uA(xkB(@FjtX` zE3H_B6N?+C{)a`wtgLb_vOZUshJTF;0eHK%J#H6TJk&Wro(h-Tn zLI5kTkC dlNAhzp>1k7@yz0%O>Avw)%8$G6J|X>y+G7oYzr+Fi&Im_o+xf$QmFklCQ45C z7SONVJyRQ!!y2642N4cO-g2VO{N2CS0z&~$7Ackh5oY9Hp1wnfr^_p@O`1`$XPq=N z-M=`%)Hn?AA@vl&04DeCsapVeBO}{t$h Jp>k}j zMgG$| HUEs4ZO+Qz?#OyTx_4;1mM` z%k=D*<2$YyhTg}Dn+!r1b!E;cMr$`0ZGP#*0{k^!O3Suxon-$-tXQwuA&r@tE-N#> z3e~>J^ThV*Ha@q}&1lW8aF5W?@NDZ*`{0{dIk}wVc6S!tiQ}2<*8e_JB7t)-wdQ1P z`5Pmh=HpS=s=`~6KpBJVx$kl~IN?#({&Do#_I=^W?XfN=w?sVlDPi|81I_@@_n(1F zh$ApRvA7>N!(MsM_yqrf*6(rw#iueLXf23_qR$9Bzw0r)a>lEZQM&;lafOXPI61R4 z=g6j2@FMVav-(mmoMn=fRU>x7eN*AfXbjqIT{O{{f{)L`=Xq`V(I>H^k%Og+cl5C6 z*b038%>u7(B&+CJNTW$XKQ#r`bFPOcg~~N5u|lfU=ilG5>XrQJctfGdV>_eZi9FgC zYRjO(!uq+<6blWf6oCY5_Zro`ltm1Ya2R}~G>Bl?NN9oqfK$?CF1QjJS#$JN^a4To zt$dt)WSEHL38nO_hGONqb3C3^Mcj!ik5uXH$j1w@yt;_83#(q5cSEcFa53Kt-#a+r zpUM1r7Q2%pryixh80(?Dy8kE;dJF3(#V0P*{_cJrukGYRRFUzG{zU2Q9?&E!^_rGp z)2YuYc!W 9Z?BOj<8f?tM*i*MOTg_YsdclUv^&@pS zAxcf@exN4mdpIOHVRZcpHKaceU33|5EECVQ=c$NZQu@;K-V9TpJtf6DFhH4Qpk ze1*T|>fm<-LvzQ0bvTk5ECP*cyr@AtozB{eRcbBE(C{a(8t2CJltPBjGUT|FoLPB* zSmM6htGR-{;67^ 8)gwbD{OS61>88h%b6hXBtAuW zsCGi}v~e9YaeYuBD%W?pZ<{#`#CdS}JdOAc>Nfd%CJ@+ch1wiNrGqSMee<7F;iLN^ zkmcrPXgcHr`_{`KH!*-Emxr!2D?a!Cn?DUZP0M`PV}k_VX;tif2qc3 z7!&Ao-FIN7FyIs};oi_4qL0w`pWg+xPZ_?S_Bzak*a`-lrirm|!rx<7K3TSc1iVEF zFB&eQu*sM9R{91sf}-Gfgy5*hyC=|cyU8yzy{X9xK2VJvZ=jLsHU!sjJPK{FYc^YO zLy3A#kp!IlU^;kk3!t8&_8);u0$*>jd2J>XBpNegeO9QMX6vOw IVYR|-X^CNqz3i^|=3#-7LNzb04iXC>uKhNQo!dql$V5b{>bW`y)F zSMFMl)U~$w6&=2~M5AQRAsYi%eKAgho1;78UEo%lHe~wKVxroY&kzqMm*Qb1W(k0= zyeBn%@xQX{)Hc6)FVeULJW8vR^sf8RcINV=Dh)rMI(tPufY;YzA^n(ynp`TR-JS05 zc`ajQJ1<21_bSy h5r6Dc5>AqjQg(rs zq>7PzR- 5M;6@>1V#bmEqnXj` z@Q^bYgmGQb1`EcA#`$-NI2~5Wl_$9{AP27x3IB6}^s?aLrDoZ~i!xIlizx$iA}!>P zSBsWa9uBR#2 WhRf*dlZG4hy?M0d+|TzNX9WifkzyJE1OeLr=CG@^ z!TkG?h4kv=!B`lo*D=-&;5@8laU4R*y9bW{*Z`> zJOIt&CiWlaGA$p!95pvJWqNBlT5Jfk&_!?_KFoZkoTLV@Jkb03*V5Ac7ds8AactUI zBHqUZ5xd4^$UD)#gAM-vR(%<_m>3y@#h&gjb;{1n%uICS{n|nC+D=3vk(_{KBdWr7 z^4UjGdV0wkR$%@1pGH%oaDJqThYR9$2&3k0CdxwCAPANsL6erxk4xxf!GgGC965rn zn2gH<3~addSE~kkrKo42HFB+qK#WmeUq9D&1fe@rqzz6I^RI8mNkWa@YWF(>3jOQy zwdN3F1^ouUtGg*}ZE|}-=(B?rw4jb<7zq6AZWk1o4sk%u8R2CB!U9RR_81O7q3#EQ z0$>x4epg32bPVjA7(@r8 8JIPZ*T Ta^&}Af#<= )Rwd6ox) Z7|i8^ytrWcB)nP_K--->ZY*x1-K^8yRR zSCGZ^{{4He3v%ybxntZg!dZL^s|ZjKJlV7}9%Sn?nsLrC2sCq&1>H8~8ZP(4`V~kq zv2+f^l9S+CLY4cyA`?V!?5ac8QDRutRoBrsqdL8=TMO+?KCKW7i-NBfy_Jmz&E9D` zXyQoEF&V0QmI!JQJ!JQovvi3$py^M8#wzWN*ZVR9pvz|g`}=^KMG9!W6JC^*VIsvI z0?doEZAHW73AE5eg$1}DVyf*y$fwWvHI^|WCdcc;ifb$SGoI9Vz1Sup^O<6vJ!GoF z)O>a+CErqfFOJnih?ttAA}CFILG5Y3f14Bw?oHK1Gbyh7M#jaCee!gYKO?)V!& z^|uW=u4_X;QIg{{7}KdQFo)&TFGy!=BmU+{Wj*xzTvg|3?0{ zcE$5bx-tkQ{LB|qL4Q8HUm_m{-8#a_c-r9d%)Pf%SM}dq%q
ta+sGMgIYO;lb-c#vAL->r#uh#SrNCU+h z=(OMIAIVm{!hG+(H_&oyJs>Kl=Kqr9LM7Q+*W14oCHF4~WxcPeFX2|)deq#pZGok1 zP!U+fW25S?q$hq&Cb>GW l5GOvQVbG~;_d_*vK4ax!9iadBRSI!)ANy{thURn2mB)7 yVt zTb4gFW-TWU$IC4CaOmVFD}ejCFkG9XBiP>;l`_BLz$p}*cl (0boGORT>7%%a5!)*2g}2)ixmAZ U!3;0<5rQM+#Rk6JX;_GBHl20JPwLlE)bO7bqxaQiySH(2>EKk;)`HZd3IhK;x^ zS$$~qe2 441>0eIK%zU z1CuH(m_FUTIHZu13JT9bEim_&k(XKyKc$#JS<{S<@8oAhIaGgf2(z0~>hVFrAjnC% zr4AhuP xsrh^~omloav3?<9Pzy-k57x zD!h#Snq70kgv-Fvu*{_#=t5w<(^0*$Z^);i;K>3QU3UC8J *) z^R4k6xyL#tEZl7I0Mo1$M8Te3AA(;2^i8e>9c7U_4Mi83@7%iY8~=-56XEgj+;@yc zkc?2Fo#2{lOr~Y5s)!~AZdh(Ln(KGx)03@)(Mp?HsnqJ@oLd1mgtma`Z2e9cH369= z4b5BM%iB%Oy?lb#X#*{=<{b*p)SweKErb#u5si9wIz^ZmM_Fr?>rS8t^1I8~>3#CU zI{>{o8v1tfd>DR{`i=>3g!$*vHGNW)Tw;8vO=1{cuhOVP&&t2K4krW07aCMK^ ?X}+l`V8TtY$9(&PX_j)aoW;d33_Z+NtfHJK z+WICU4i(1K%(l_wj5xIu*K|fasb@GERP7Aqt+!UI-xz)({Bb&0-#)+%lK`lL UssjWLM7Ek-xMLgyS z*rwuZf+9V9e3m3fg8mRVA010LFI6))fnsN;u<&&L>>Kr?c?zLN)FSdUzLz0CytOW# zV4gyeaScS7GolCrxBH%&lyl)fc-}39R>RXF3QahT5_DP5n?mKc3>=WZ^kW+?y!h7d z2hhHS-G!$Y)Zpv&``ZgRq_byjO_BzCYWCPA)WThzv+l=!+f!QeP0?OJ%XuDAjA4P` zI9`g%Fjr4e(jEPJNv5P%?x@B+fC1K0&pbf=X-Bp_0{p9PO)>!Qeo_t;7Qa)}tzqQN zbAW+|pAxD6TY1RKV6HvAvjtFql=n=)T kgbPk zkJ^d6AbEg!JL+jmb4OFBzAEB$a`a#NRrp2;;jw?-)^8FBJ=z?mh#CDuNZA`>p;c7E z?9EolfWgkNzpP14B^dBbAoahB*!#8kOyB-PrGPgDP#xcQP?CQbTKmKIP`W>K>8;v- zcoR7ZDSWO^t=f4 e|b3Jf7->j z|6f8_u=ca>HfMi6|5meX)b|x3T }; zZ(p81Mb>Qt+JWiq?d_nY1Y!(ljItrAZ?Q&RSkXcfv6^u(Z u9uYVNao{A6(!3kdu~{tRHRjC_I+!k`70FQkAX8@8_z|O`0R_PH^Y?@ zxlP-8dsQcG90BLJ)$Y`=&1}744K8M}YQMC*!2sMWu|DaaF%TcujB`6v5$HUv0&4w) z*&iOb5VO^6bsEf-Wwo@m0G=p=p*s!kwa0 ZBDK)b_P$xcxY!2Bsz|neJ=|fW6UI%72?@|j-T=?erAZ3L#Dpq44= za((HEqNbry1^U7as;a6eqpa5t^}fHkrCn^GYs2R-C+>B9Sydu-0`%me!uJ(%SC+ez zhcczG*$jTXh~qF!isv*gwh=RF!9x+8;6LRFP80ToRTvtgLW6@d(*3U!MNjAMIAUb- z4oA;fCdK$ZGGiaQb0OFD*S%>Xn&(Rv=+G0(>FRPT+$=h&Pkq6U8JeA}dS|Dcr7^4X zS*d~;9tR&)hmY76>PH%7DT5*0x5%U{&$|S)s+Guba6(9I*&(j$Bl*PnJ^hVMtr)FQ ztHMUW$w5%u{Ob1FhF-bl<_~$; dVlkA|&dzReXGayd*__>7hidnoG><93laOq)(gr&MS`mZ5 z&JLA@mT=-pNK8NJt0(2dEVk6o@w1 zP1xmqR4ASQdva7NNZ?JaD#5sWj>y4hXoY1!f5^PEO$|##TWuWQ)Q`dYRU7*H#AMhu zh?!Nh;~UoAw)daW`bLR0(3^Gvz^2eO*$pNj0?SR+=lSQ?-8$R<$tShFpzOyxvq*%H zpdgN=`bp_x+e19O*c?;_A)NpO0vUqqa8`Tl(fgjS<;O-vWgI#xl{>#h?H?V1TCV{5 z9$PQ!d(J}CwnC>f&W~wre_@bi+i(H`*>boDv;Rkf-5I2Gaj7KY@7xQ*JbB!LK=Svf zGRfx{s+VHEgPLap>BP@??}$jhd7B7BIk{cz+_RiO+*3~ERn$%Aa^|?2_)!S0D4C%> z#&jarQr&0%b|Rh8irz+m0vcBp3Tj28rG@Y7gbn?Jih}c{0D8oOM70yZaV)Rv?&ikp zwH^NS710%D{}7Ge>HGCjBqy7g0n^J-jxY?DBNTJ>r~&$~VWy&y85y*7qSP8gEnlH~ z0?tgKgJqVQT!+l9QwOSBRrElrm6Lfk84A*YJFWCcF~~%y1FmjO1Jjb(jn`xxhL3G& zd=I&7CrYH)^8sh5P&FVN0W31(SXhHW1a`FhTZ&D;f*lCINQF2y=}P-q$a$Bx&7xm< z-) dhij!z>x^;Sq$q&0NqeK?JnQ5OpErI1OL z?B{rIdFDtX_)S_PKrzSV!_WR#Y?FfPUq v0%qjF-y`}zB+*jugy{@LEDcrM z{Qn+%2po&*|0{;JB|i=xw#NGV%lJz|_~`$tR(}0;wJMk@N1Oa_Y4wo)ug1~;m!fNW zyE7h%xqvvYwD+{m9aP6%gsn|`Z!gf?!NMBH`>!JTE_IqCG%O5*Zp3*5kb4sw^-qC< z{0{Jo{Vkrm-5dXR^?VPlyH5+T?EK1QVgcx16J{~;8^;)c60P3;0>x&WNndv~qJMZi zX|GxDbGF*K{tDRTNlrpSWcl6JOrvN>w#>XCOrnNMA@;QI&1BhTy3ywlZ9v6r-pJ1b z8vYaAC2vK~R~hyX4hDJkQ_4a$^eX(voxR7efF+9BjKc%Lr4?Ofryb^p1oX;Vl0>gh ziLIt`5*sV*aR7Rt{YC*%VLw}J+e7N9dnOmg;y6%p)tNTgxg81A>$k|aq0n}IeyR-j z8PA~OO=r>#pss$j0I{e={aaVHE2so*?t)nLv<_W?y`Hx@K83m=W6TTX2bZ-9)acH0 zT*&pzOXbIdDrto5qCGZ0+`|pwbw!6<$cB@v0?Jr6Kx5TfRSZ|>mmK;}tQYdUhBH|Q z&B!-*{F=kohi~Hdm%G6cD4!+0x>jmFKcM?#EOE$ZJM!Unz^}u!23A1RVp53B__xGL z(D>~B5uMXSyz>qlF1BkhDH;*^gzH0|Qeqb3;2Ps!0aU~kj4FL~ew3}4z|qe)>mya= zyporvoIG%KaT2!$Xw&jkf-V^tiF|D!*Am!d=GCfK>w)55p_dK~t^hVS>D5NuT+H4y zbM>Z+aZXH@Tj!q$B6Ulj4KDx!cbLgyZ@O`cP9(KRSEz>7Wd6~Vk}WbEb#-PwRPAbA zw*`2n=>4cE{kBNiq2hp0O1iW5{tos4;Npq1?XKeh!lNxYT?qsR2CZs&+007fv-EVh z;0)xtF%#2selL15( *#LT)^R`KIujk z7)vGU_QC6T9Zs3N^eNJ_>mYU@4+QT>_m_|ru3cN*i-CCpaI2%Dg$=TQE&Nfp!oU-Q z&iM0>C@K|hM+X5Zo3*uAGoPC3MDY1y _tS2+jO-&}jsDW>?}TqUdz!)1Xp ziG4FOGqo}$?>RX;Yet~2`uqDk_LhVJp&xJ=$zqIefM%*+W(gNuj_AG6LO{O&tMu%( z{cOGOd{rV5yv)YFy{gc}#@n{+g8A7q97p9pprL_X{`wlw4vcFsJrBTf#=^!1xUv#o z${r?q8)7gP;)@a)d}4Mevr+2Pm+S+Hb6S7DIsu(Qv#z`m+lepPopfurkGMQ9PS>|O ziJA_|m9#%V?Vuh*wg9!EldrN5kNZYQ>p7hQm|??vPc$4p4vgj*Vy_RnzjNCBHhFVF z^! _SF?iQ)te!wpJZ
*cNal?Xn>29c1E z=n&KqxR3ud2cb_7S- DpTy6d7Ae~x%A9iXPtst C2Q-4vl7-%wL+)m^7j=xi~n8=?w{b=DDi+sKL$YD6|PA70((` zHF^(7$L&wswNTM3P}G#eQK82k5ll|42Kf|#0kG@AckdhYwNM(J_`oh&XAqn~F`kDN z60e1rVMNV)8VQ#%<^w)tU=Q%ScUWt#EKHyBK1+ME7cYOObU0cCT3cCLfIlubTQ)Lu zNmcahwW??rReGd40?HKzRx7kkA8}T+#YCbr2BH{c2VfHnc< ^s3Of{~8{! z@sdvDtXRD2SJOdm(P)8uo!3dWX8u(>&`a!2Z3xa&NoQiy%x+a7bdKveGt4pevy}vT z^Q1(1Kp)vT7f=c`h~bmaVrR%je+F_=a`O4!)q zUrf`F6d_gJUKY?7cHj8j6a>4?r=$0l{CE2t;9G=zYy?&(%0p%FGx^Kr6jo9KP3JuR z|1k-jo{|;EP|EAj01Qe3 z++>!(HoAEOU>0!j2@>}<5cS}`p}n&)Ajj}}CZzNJnShs-b-XRdD<4083{L+IBr f)vj8 zZ_nd@lli}J #nPe_f~tv_pY%W*JlL1F(lp$Y1ATKN}NWQsdl%ekOML1{<=#0so1de;mPB{ z+VaWg(SZN|*&Fl9u=)9UKm&QF^d9+g!dlgBahJ<}fB!f$zc umFOPM&9mDYy|?6#>sEQnE>b@kb3e7XhNl;>wEo_s ~zFc9?`uP9!ao$l) z-fJAMwWX~JsR{uBnIZx~2=g)o3j&G^*^wy;R2g9#6-%%PDnWJ_%0^}hXb^&IHN-HK zFa<=Qg&1bU0AYmH-%Ibkr}y4-?%z4dNq%|X=lML}=lgxLI`}kv`t0iyR%S-J@+Smc zvh`;l1YT?K8M%@DO2@Y&jQm*VwgG7QiO@&}Kyzl`(Q-|AB|o5^{wprZBPJxP99 `;G3zvc2c2K+r2O9&1xX_t6s8`isX z8+-DtOF&UJIt7L@lff2})uy rErK#@+c5r_I!A2T?wwcWt(%8ceskJ&@%$Yk=1)q%KW{>S7n7$>+H4$vf(=H{ zfXkbm_TYBcUL2B0IktwpDd1d#=5B3-+6;2m)`aH)3-o0bXm5X^!osn@hHtlOb5P*m zFxcPD#HqC8!wlB%0K>wbJVmKJM?&Fs!)Bxm5Fpl20{#-Eh>|woz>mW3Y+U7JLc}`V zert&tyCN!71T>se^d8gORzPGB9IPDR)gZ5rCnqOE{I46i(}YR{AP6WmxwN!&WSgl0 z6efshhVFsd=8*CT{Ruad`Qmdm*cN#)34?u~D!5gHhY~Mwv{+R`>1y6QS3+#FPfBhx z?}1S~WlV5>Au*}HL+Xs~>dZwUMSInJ<2nPrQLR~IAGou -#6d%bfn7D7+m1r@0{|% zkQ6nqyu4$-IdFm9Gz470(TkiZx)BkGd6-^2OwynTj4m@Bprf33H2;|( XF3Z28dsQKS1Zg;iDHd(tw;(gw*n37kE!>+JW`{4qhl8;z;d z*tqcF`n-ZU%~p71bk{GJflzyErsfp|n4JQG5}ef>NC1`HYuK#c$*#9{(i}
wYkkC7 z^rH$Fux`A>d)ut=Fm@2&Mi~%b&>LMUt&r3xtu#lebg5Gu^`n_rwFRNtO%ue+NfpzG z@?@H#s_G^COs1!q04!#Yrp1mz-JZ r}oGI?+$VcwujCXFvgBF?ksa2-*M@43g@jeVr` A(3m)3 zmD5%Ap^kxC!}m7oyHr8DNhwErUjVsxdw((%NC+X1HMp(CS38rdf#}DpKf>+STkIJP zY*l_gKTv7yNAfRUn)aAEo@IF%u9V&c*6nj#m?ZMvW6eN?^vk4d*D)?{gTuru^-Pu_ zr?@;zPYaU1zJA*|Y*juHaoM(JtTobO>&N=|JO-c`BD)qXBq&(4^6ruP{XJ+ebp#?L zPK(z7nQT_T38u@#;n&xL^=^F5W)ae~SUl*O(>Z 89D{yuM}?r$y~WSd^94;+a3zWHO=fCe=fJTyAGx~94<)o?UO#o$ zzECI8To#%Uz{f5@QQpPlj-Lr69>3q+o7hUp#|D)0^Sto>hV6gVGo<>}cSnuX1795p zHp}OMU1M4IQ5sCb;B>$g^M@(_nralMZ56EAlngVw3Y^Nr;~%3xW=x;uz>*iWvUMZU zlk%<2ceUvR?8ub_hmnwhr@K;P;uV&oZQ_czs+*8xG;c*rD%#R-gw>h(rj0;d#;+H) z_zo%-$4~DI7K{9JNB5Y5 3=4GU;}Di!BkGgdgU_bDzkmWQ{HY zx7!Lx^36*e0#F-wQk~Yx{@uoR!^O`g>HF^w6;REZ+cdw>`QnLKpiW9tK_`hTFytcN zx;?F*_^4_Bt{s_r3ZeGq#KIAT;|H7_Vr0@t54KsFwKzIQK(gAy$mrp)jRZpwVt|XZ zTs#Z3Tp`((`G=9JIYq+v7dumFzJsEENbz>Lb6mGyx2UIFiyq{=ZCVlJmSO4g-5{Z> z|sMFS&F-L;?}C#k%s-`oi<-8Zb!|Gl(dT*hBBYo!7 ?n$h%f2iZnY@l#BTqoxr`cAW1fh~t`=r8G1 z50|yl&2L+UyyceD2$;F1TV=Lx#glVF6Atwly1?_zU|Rg*vvYvEIy)@LXobmn*|@{P zQtO-Y8{yOJsS1DDI3eruKm0O9!H+4a8iLCBj)+dK5%meb$kwLnT{_$F%Z ; zPl1*jcMU@S2F9<9&1_K2>x36LSz{Ds`zv7bG8bNz5H825kGUnX+8xny6ZJ2RBY@gj z5}#Ek=8sWuEtu?+iKImpr@r_88;~zjP3_v#P7xaL>c*)0{v2`Zn3A|0Gltz5ycxnW z%8?4~Z})baDG*)LJnDj$Y7EEDzsQj$jbD#;WtbMlIpFS>-%8wNVY9ye4}Mq5;vc=X zq3CCBflrbq)f$@K-+Iz#QkNWhtvkf!e`f=oT`3OZ1H#QyPT8Yqp3@PwIi4E!JYX?c zS5(9g*=^v7&a0wcwWI$!HAC`90^AF2X1DIGE$KpAT(1K e#T>`aEhexJG5n#}8c6NM`JP#^$!$m3(Y->hwUFRiQ=%Sx2a zej(dEJ%rcCyW)SjSVVxV lpKHw`A#_s;JyTlMa S{wJ-_YZpwc&Q%#*iTV=*t=oqH diff --git a/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/images/StructureEditor.png b/Ghidra/Features/Base/src/main/help/help/topics/DataTypeEditors/images/StructureEditor.png index 194fbb1ffd3e0260c1fec02f41904aba13d2b6db..61e5901d1810a297aff80309cffba0653db2d3b1 100644 GIT binary patch literal 50721 zcma&O2|QbC*FM}HMaw}4s- xpr`G%*_v{JVV|eo#G|+B#m>+YbZ@b02y^mYHI#NbL zA!s9|6Y@uI9uhlrNK7 ;@x3VV>Fh93eds~xtR3pg4mvjATzve) zOM{(pvvaGf+F8!=DPPW{r5iepq+c0qGZ)pj`1dFEXld%Io(tj0dCPyl27CkczQc`y zjYr^dnaEv(fe%@K!w7tUbs5jEA77ccfc$>uNLgymmSdVl0{m8_yl-~sZ6BKdd^$pN zJw{W0q{o2&1Z6Pb_4t6JV~p0tpH-JzWn_Gs4(vVe|I+8dUxw#Dr3Zf)Pbh7G{AQ}t z=Y3CO)OGL9rgO(MPV4K>Ijz%U9V+7)es^Lq6^>v1H<|W(r&d-nd_3!Yc)n_tS$C{2 zeif-13l9@Swbm}=VxoS#*id6uZ~Wk5t?HyD?GYNCyrnfcx;NQ=L}^4!+4}x*p8{sl zc0=*@k>#x7aTuB%hH-yTDkokxRHaO_(*jKr18FcBpDlL81J6GLZmeULG+KrN$C-=r zAE7mJlh`zVoUhL(%&Y2;Lr>b@1SUR^AC~Z8B5pv4EDnaD&{`baTAn{wc(|-BquH^j zWoWt(Y25+qyOj@R&0*?_8^0BYn7OSEN&3vAPmlNgS*w(NtJ9((brt8o!=o%hm5?g) z2bYA=MPgnq!!yE&%6=#On9 o2vhK4Aow?ITH02*b0N%LrzruooKRmGj3arwSqUF&R^9nxv$AQy0C~?U)jj z0$Vp&T^HMr`R(U%3TaB)KGsfI2Zie|?h3Y_Z-@y|MsFxCuvs!?qhVoBmACjWzE**o zcl*IQr?h>g7rHsl7MGg`|lC8V~PwbbpIEWE|Z5+w;b6$BwH!pjwVf?mcaw)l$!r z6ayjOIo|KUEY7dBXttQ_$JBIagjm)exEAkt&eTTQ+48R+_`Q@nA5$*rIJx~*c|0a% zegoU}D&<=$saIpU6Jz7^z^QKJ-UQ0Wv*QG bv6I6Dyfs z-{JzJl3FeZBe`3bjYnSE5HGkO(yNnO>nr|n8muc732wJ;d3TpBz8WUD=U@!{6>zla zgY-d(XWsmQ`R}8x74G)eo1O!dJwIOD_sFWP>B=>d1e-87eBT}fANoHYiJ#zZL(jfA z4J^FHqE<7pusY6UqP3l}Qsd?mBNn|{LkGEXArLVNzWmtuti8x}lDFf~bmT;gL3}6M zT?f6fvgpU6SB?4obeMiZ earOE4Na*)<~HKw+Bmg@`ID4@ z;*xi4Go5&lUSjT$bLmY1Y{R+-I_Lk }wIhJp96{Jbb^Ghmu^0 zBaNY I4js*yZ$)i)B8DS4%NMk zl*9=UwftFS+#(3dM9tM+p3{tzD`h7^ky4fD+eF%#SLIV08Q+Dm_2x6o@z`o#8_Li` zoZKvW(((s sY z-Gi^`mt5(u|Kty&IDa+7;9O_OxJN@lw)a2@0?#2Ow$-L>?TSO}eYIU>29)|n{2A1C zyj%z8`0oYMbsUN1Ay&1MsHxbbu8-mqkkzq$5Pd=H#)^#-awYf$yiKTp@EFAIv(`(I zP-_*vf{{@7C^)XYHhlOvn6$m|DqLgi(b+#R^vzEqyz>qe4_S8PMUAw~gSQj0aJOM% znMr$+$^q>D|2URFm|k*8xEz~kv35oPYspTUp_OI92m$jW9IEc>m|{wk^s}P|pu`K> zZFl}m@EF#I;p*4EN6Fp5%aRJtyqk)agg@-918$mWF-9e@iv3|gXhjL)d~LoJX1=f% zoSe9nE)SL!D~Nuk(>Ptz6)K ?k- >NFDS46QN zZnSFg{`-QW1emn5Z9M{+rFEpp7zkt4JvT?7_)EQfkgU+{2vYso2)u~y8hvver>rro zt$GoIoXY58?O2x33oFS9{fo^ajj8TsQa|`1ovEFdimgLa5_etawK>H}^9oUiVBaaY z7)LB$!W8Xv->mQ$oSJNv39VpRd^7uG`+SW|6}R7Xkw&^$zUPD3hpgwh4!Ar4_D1U} zjSiaq&cmWRQVuudc%jBg9 WGaIQ$aq9G~KO+u?WvhQhm^}2vD$bw*;{LUTcK0 zJwDg&gZfIhHXG@o%6t%(R)>Z=E#y(i`a}T3|LDcd{4r&-_YTzaS;14)#q*6jpE@$C zN2nzlU!Pmd0oPK;AVs1X56IBu(kKA}+3f$m^cYJ!P{D%X5L|x1)`*-Sj1_yGPzjf} zdHh2_@IbF2VLSJonW$0FsfZdfl*;Dk5oWs~zeS3BD5dYl`a&VF?9<)v;}NkLntmU; zaN)AiUg~}u9t?jqn6Lf4eiB;K?#{tr>3EZ<>+N+pRAyPD^eRoLKzoj;?FlNF>d#}6 zrJ BP{i`g+Rr?2S_=S g%isUBvM z1t{_5Lvlj+DXHHZS9*gPwm&zQQE5|Iq3x 3JsW}-BtRsbuy={vtokO2?- zGagG`+}>c$zm33qHEz|y9qsHq$k6sAFS;}&Q6Uyod g)FK3tC1KtOMU19OtM zl5m?VQvWbkW#>k(Oi2qMLs#dF1x9|?TS6JDAv8NT*T&1#A6tT~@+Ms*wWoJ#NlPFt z(&U!oEb7aa$m=gPt <5R?}7@#zz*}{Cb<8uwG%d=g2#qB-lE_j{z@Q6W);PL z$I>fZ<9ACHHKKcroYQpxdw)*T((ou>ew^#cL;f<6uw(-=6m;x&KBxuC_@(6I8m93l zSZwib=9U#E+abSjk`6~g-2#wyqMuz-w+RS_`ZPXd`k79s!?NXp=lAdrdv96lG+Nw5 zXXgE#!d+1%f-ypMX|5FP(Gz-QRsE$f_dBKcT_>ZD$E&BmLS_vn&5}+JRz6(Od<0nP zXc9!iHp$z7{62~C%xd%A{9-yGso{wj(o9uLL-61`(?Tov_NS`Z4~|F*U_*Ac%zQ?I z(3|ig>#|2!$JS3FAio}cbjQGZcSQL@kHKhas#+_9n*sV3QNwi^*))*^Z*8|`P3A^% zH-N~<`I?cu27C<{w@-KG!Im{{4?ed{zTZnLHRGSqeC#=l^vsFCr+G@aB`NI;an7Xa zph!Z{I5x&oDH~qp#!eE-mxms6o9yI%l+KsW1^|_+-W$t3Jp@*GINw$k`dy?DmL71| zMW%IKd{Yd}X4Tb?nV{awfUCS3yE(rJKDTUsUUDgdzicG}UkXbeXuaF8IhIeRvJwq2 zk%AiZM=L~~J`b$S?dhu70q?i#3(a1$n|O+DZ_8mQJKW)b#({G4u1N9Q za_Kgt4MFZ@anVgZ2)1-N0uMNi-kRGjJBSbVYN*xa{3Z^aq8%MHH$pTzcNOq *hT#y7)jm_Oq81mOa*(k(Oj>2r`Dt z4sG=qSSVSa#*GR{w<3LLu+x_Wux@&n`#aJabKth?pFETA*%RSK4ta)7pI&vb&~7j( z%?sr@2~B^HZXxX;8ExXfV|@ii-{dF=(3h-%ecSY#q~ Gq|3h#@}I}LBzQV|l=9xuK;d#{p0xaMU4T+1T>jY2g80d+mt>7DAN(<*`wGhR zOO7)77A5{85NCtTiI{weN`r>)eGz`bt0T93?6gt2#eJrb ?)(V8|l2ae7T`*FsK`mLk*Lj$?mNi8}KtB zFHTG~bm?+Cc9TCSbh@|uvHYy=@WK_bRey_G=1Zb3>CSOp$VIE-IqcZix#el%ZvHhL zfO&kTmM|FV`I<9@AC<8{*!LoiDs5BmKQYv6Y=r`KC)*HbD0KWoTY6}S49Y%Lrr%NC z2vp@e?L1jj%r{^@lK>$OFt@m6peg(A*88E&2PN~VMQW#jt(%lBN|3!>yU;W;`PKkC z@Yg9DP~y8*YU6ev<@qHNN=YTzuD@*TFP~i2Udw_u$q-NhWX`k3;qhA}SckLbTM_sL zhc(T3sqWi5-i?1^2l5;Ci Nyt=ZM9dLf%!!m4Fo-7Pw(QwS@embqlDgne;-@XbuBJKq4v>Bna^?03Z* zEJvzlR &!`qn3YCcXg z(hwDAbizTfTv#tYoPsS;aJexqC{3#j7fIeZy6Lq%Ti<{lCE)brWi7i^gO=_|8p#D) zcB`RVG%4BN_EBb2rg<5|p@JjKNiLa6#mfw=|7X(dg8*rBcAQT!({q@ZSO}MwW$d-| zE}>~fcM19og%y>P6C@Aw^2GW^B-izp&`?A8-K|LwN44vlt8diwD+luZ8A;b+InGer zNUpojp4XlHrVVChUNl7;=QZz4Ra>4$5+dZ35+u}SqQl4WcD${qVu2X6I{jc<9#c}? zqrAV&-b-C GEg z9hCXIOamVN2KTR*^PK7MA|zYc8@Ck63n7w_CuC2)Ldx4Gz>AzZy|?9pHAc0moO>4C zKQh`@XDhr?HAe2nU&1^w#(k2*Sbom$zIG};Kz{U{%`PGZFyJGZ_Sz}VlG(WA6}M 05aR33hA%Xb9J9ZXYa-GJmY zy~)Qd;aAP8>I_o&rH{FziW3wxPEO#1b&w5+tYsjw)^SUHMQUF;19H}$*`X3y$k!&B zn@{o93&;F+1PbdR>yuqOXFOlyQ&(fzDA(yKN&AKL8EB0!8Cv0_^4)YoP!KDP49s2s z)@skXY#ynTXhw!NKaU>|mn*T~i3NDZNRh2qy-?uM3u_ V(#+wqzRFzKW4cuaM zpkv~3jX6>c06>EPES^UzcB?wHjSnUvl@wh9WPp%P)zKLq!EWfB-lD8kZmuoPrx41% zR-LjM7@P7Qzb#fjxjf|sV#mE!F5rL~$F3BvcCS5y&!kMM%(~~4f6?;u`YY@ap%oJV zbJTZ5TjJ*K*3DKZI?*BL-D$_iv)VLVx<7;?yht+OXsNmu&dJmN#nsyy;YK_ubx)y1 z=53M`16 E*c_Uc>tZ7frHKVtI*b}`f_u4YMklSky>+%PwRSZ_BKiml1YQ;V%Nc%3E z;6|-^>AL1Z2_K&~*xq22JCNUZig47u8ip=9pe=w%j=gl?ZLeI1riw83zI+)j!4@Bm zA1hme`P+n|jC%47nE>;dXd_8q!63(;E>4nG8`@l6<7LSS(#hgrowc!>+)(*rZ}fIH znLGW{zQ7+tb$}Ig`CwBu(_W*D6>Yf*)IwFv1DebU$0A4EC#UZpMS$u{VBE_89h>RJ zPTC>jo$uWR`3(ZdpxkLYJR0jtIevf)9dCiKTzv$vD|CPPz!L!4Uo4 qN= zvKlxB5qLIotX30 9EV$JhIW+KI^TB%r*mq5A(d`jfmg1b=*R}Y8dmnL4Uk)fYn zHG5q3ZNux!Y~DW=|JxhDjiT=!(H-S4VA}Fq6Izla)HZY^ue-cf)W8tezK=|{hwl`S zPXj>F*D>;xVT2s}GQ{gdG$O$;7T>fFg7moO#iEaQs!i|#lnp5?sg`;e- ;O|4NVFfdQzMn9V#UF79RN<%xqDt0^8u&Xe~k5y@d?+{ zeaQ(eHw9vp&jvt`djh;egi@A;obxDWit`3<^yyY -3ADth3Y_%s06C$a=4uJ2Y4F{3-W!9xp4JKa?~G#M9Y^*8Bf^>3njHk z$e=*MnG0)wN_d nn1ik0o_3Nlqq=tas4X;;g~9$Yj4 zD_%;R(0_a3Pa}23l-Ch*$+qMX$d_=uLfHwI=OXrqwqzN%=1d>}oF_X5;aJnH&mve= zb!gr#ipNPnu2HmEvbh#v^UzeMDy^0~r_9+iEQpQKYw#I521&M;)@z|IO{AH`pQCiX zJl_&77cE}E$O^d?8y?Z&y^Bx;g#h3}+Tu9--^WEMO*>z#FDwiC{xSutA9dw8;IA~% zVBfj=0U*((p$?8<5_e9Vfa|ewJ}cumL)JXPTF#k>I*nP9O?VO^H?0Sc6tXy~NKaTO z4z>fGz44;-(r5_R7_dYFXY8ordZExj!t{OFjmNKd<7;(P?<=3{2D^?~D)UhFcCFD< zij_4xO44!WYtffh43V_-xZ>Jg{p3$Ol8$cKQg>nPBmUgSkm-I0Y-juOtel5Hs;*oh zNpuLPu+FJnuYf=C(=*4cYDFyi`9(Tpj7*MNC6b^6BDWJn3h`ZC-N+asu+}??`lH zE&EQ!(JK^Tur%;jY@qV0oLri~*-Fh8 z2S;ZuG@vt`yS8fv!tq+gF`#+UPQh{O1!N!c@w=dG&N1#W)M|(pP|nH?t7TODqoo{Y zBE_c$rVPimUH7cm0m{T YC&!HwDuz-49;Oj z&`GI#d6EZ#Es(0P5BgXQ#WC
Qt$7kF8y{-yCn$Sn z{uc}cvT$V~Tu!Rv`62)X3je?uk#w!kF+~Ki`8B|{1r)c4JZL?ek7kdNwgGg+Y6KNf z5*cz7C$akTot4S#D0C|Bk*42F`eUwdlU;Io5FXf`R;<6h^&H &6F`7V5uobvjZ$AMMxxni*9RgsdgqDC_A6)A^u&adhd6C1T z2`^r6kG9HW9a=38wgp7U;8sb_4h3WDK&D1(2*2NZ4=`;`wuY7aDb0gxeiuji4%lUl zfg6eT2R1&(KEBoU7Vvx=af|a!9c)pik}=)#FIJIt$2+t=UsIR^QH8uNRG|HR(2J&7U|V z4i=Jm-`3C)Et3Iknj31mR)As|rHEMqHuBCZGK_;@Y}Z;h-(@^t` _eVoQE>lb1NG)Sn){1B)nE!1VsL*q(%Tx*-?-p9g+Z7)wRTzfS5=%5e<}$1nID z^&bW*;rIRjD#h^^Fi-StcG7F3HpyT6w2X2RG|avwV5gHeDqko0d1b{UO9EZFhm_o2 z#1N=W2s^}fIt&gX=ZH%qfgL(l`79Y;G_l-SGL;$H#0T+uE#cl`mI=t7sUGLRDGnPP zmhEHk0?dvNGPhE=%q9XlS}jyxClPR}?!0Kj7(Te+Drh33Y0Bc{#JanOoY{ALa3=8T zh+MEVucb6EBohvLv^B5V;0xe>TtX{Lc>;h)kG7N&4g;s>MRjAPY}=L_A?qInvD*3v zu y%R#j{ubHq?F$sta5K05XBNrS)w9oao@