From 5daa7c7bc9fa8767407fb706dbd47f5510fa85b7 Mon Sep 17 00:00:00 2001 From: bancika Date: Mon, 9 Jan 2017 12:50:43 +0100 Subject: [PATCH] transformers for to92, dilIC and pot. --- .../org/diylc/common/DefaultTransformer.java | 5 + .../diylc/common/IComponentTransformer.java | 2 + .../common/SimpleComponentTransformer.java | 5 + .../src/org/diylc/presenter/Presenter.java | 16 ++- diylc/diylc-library/lib/diylc-core.jar | Bin 232580 -> 232762 bytes .../passive/PotentiometerPanel.java | 4 +- .../components/semiconductors/DIL_IC.java | 3 +- .../semiconductors/TransistorTO92.java | 3 +- .../components/transform/ICTransformer.java | 113 ++++++++++++++++++ .../transform/PotentiometerTransformer.java | 94 +++++++++++++++ .../components/transform/TO92Transformer.java | 91 ++++++++++++++ diylc/diylc-swing/DIYLCStarter.launch | 2 +- diylc/diylc-swing/lib/diylc-core.jar | Bin 232580 -> 232762 bytes diylc/diylc-swing/library/main.jar | Bin 364464 -> 372652 bytes .../swing/plugins/canvas/CanvasPlugin.java | 1 - .../plugins/cloud/view/CommentDialog.java | 3 - 16 files changed, 329 insertions(+), 13 deletions(-) create mode 100644 diylc/diylc-library/src/org/diylc/components/transform/ICTransformer.java create mode 100644 diylc/diylc-library/src/org/diylc/components/transform/PotentiometerTransformer.java create mode 100644 diylc/diylc-library/src/org/diylc/components/transform/TO92Transformer.java diff --git a/diylc/diylc-core/src/org/diylc/common/DefaultTransformer.java b/diylc/diylc-core/src/org/diylc/common/DefaultTransformer.java index 2fb771b6..ddd52da4 100644 --- a/diylc/diylc-core/src/org/diylc/common/DefaultTransformer.java +++ b/diylc/diylc-core/src/org/diylc/common/DefaultTransformer.java @@ -15,6 +15,11 @@ public class DefaultTransformer implements IComponentTransformer { public boolean canMirror(IDIYComponent component) { return false; } + + @Override + public boolean mirroringChangesCircuit() { + return false; + } @Override public void rotate(IDIYComponent component, Point center, int direction) { diff --git a/diylc/diylc-core/src/org/diylc/common/IComponentTransformer.java b/diylc/diylc-core/src/org/diylc/common/IComponentTransformer.java index fc64ed6b..54ae59e2 100644 --- a/diylc/diylc-core/src/org/diylc/common/IComponentTransformer.java +++ b/diylc/diylc-core/src/org/diylc/common/IComponentTransformer.java @@ -15,6 +15,8 @@ public interface IComponentTransformer { boolean canRotate(IDIYComponent component); boolean canMirror(IDIYComponent component); + + boolean mirroringChangesCircuit(); void rotate(IDIYComponent component, Point center, int direction); diff --git a/diylc/diylc-core/src/org/diylc/common/SimpleComponentTransformer.java b/diylc/diylc-core/src/org/diylc/common/SimpleComponentTransformer.java index 55014b96..62b69277 100644 --- a/diylc/diylc-core/src/org/diylc/common/SimpleComponentTransformer.java +++ b/diylc/diylc-core/src/org/diylc/common/SimpleComponentTransformer.java @@ -16,6 +16,11 @@ public class SimpleComponentTransformer implements IComponentTransformer { public boolean canMirror(IDIYComponent component) { return true; } + + @Override + public boolean mirroringChangesCircuit() { + return false; + } @Override public void rotate(IDIYComponent component, Point center, int direction) { diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 81a56064..43c2b71b 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -1185,6 +1185,7 @@ public class Presenter implements IPlugInPort { Point center = getCenterOf(components, snapToGrid); boolean canMirror = true; + boolean changesCircuit = false; for (IDIYComponent component : components) { ComponentType type = ComponentProcessor.getInstance().extractComponentTypeFrom( @@ -1193,22 +1194,27 @@ public class Presenter implements IPlugInPort { canMirror = false; break; } + if (type.getTransformer() != null && type.getTransformer().mirroringChangesCircuit()) + changesCircuit = true; } if (!canMirror) if (view.showConfirmDialog("Selection contains components that cannot be mirrored. Do you want to exclude them?", "Mirror Selection", IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION) return; + + if (changesCircuit) + if (view.showConfirmDialog("Mirroring operation will change the circuit. Do you want to continue?", + "Mirror Selection", IView.YES_NO_OPTION, IView.QUESTION_MESSAGE) != IView.YES_OPTION) + return; for (IDIYComponent component : components) { ComponentType type = ComponentProcessor.getInstance().extractComponentTypeFrom( (Class>) component.getClass()); - if (type.isStretchable() || component.getControlPointCount() == 1) { - drawingManager.invalidateComponent(component); - if (type.getTransformer() != null && type.getTransformer().canMirror(component)) { - type.getTransformer().mirror(component, center, direction); - } + drawingManager.invalidateComponent(component); + if (type.getTransformer() != null && type.getTransformer().canMirror(component)) { + type.getTransformer().mirror(component, center, direction); } } } diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index c11dbefa7cd538be9e5d252fdc5ac317bd82d579..29166516f6f4d743af5efe9fa54886fc3c61a915 100644 GIT binary patch delta 26948 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 delta 27321 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 { private static final long serialVersionUID = 1L; diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java index eb3e73f3..e496b06b 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java @@ -18,6 +18,7 @@ import org.diylc.common.IPlugInPort; import org.diylc.common.ObjectCache; import org.diylc.common.Orientation; import org.diylc.components.AbstractTransparentComponent; +import org.diylc.components.transform.TO92Transformer; import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; import org.diylc.core.IDrawingObserver; @@ -33,7 +34,7 @@ import org.diylc.utils.Constants; @ComponentDescriptor(name = "Transistor (TO-92 package)", author = "Branislav Stojkovic", category = "Semiconductors", instanceNamePrefix = "Q", description = "Transistor with small plastic or epoxy body", stretchable = false, - zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE) + zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE, transformer = TO92Transformer.class) public class TransistorTO92 extends AbstractTransparentComponent { private static final long serialVersionUID = 1L; diff --git a/diylc/diylc-library/src/org/diylc/components/transform/ICTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/ICTransformer.java new file mode 100644 index 00000000..e0430e0d --- /dev/null +++ b/diylc/diylc-library/src/org/diylc/components/transform/ICTransformer.java @@ -0,0 +1,113 @@ +package org.diylc.components.transform; + +import java.awt.Point; +import java.awt.geom.AffineTransform; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.semiconductors.DIL_IC; +import org.diylc.core.IDIYComponent; + +public class ICTransformer implements IComponentTransformer { + + @Override + public boolean canRotate(IDIYComponent component) { + return component.getClass().equals(DIL_IC.class); + } + + @Override + public boolean canMirror(IDIYComponent component) { + return component.getClass().equals(DIL_IC.class); + } + + @Override + public boolean mirroringChangesCircuit() { + return true; + } + + @Override + public void rotate(IDIYComponent component, Point center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point p = new Point(component.getControlPoint(index)); + rotate.transform(p, p); + component.setControlPoint(p, index); + } + + DIL_IC ic = (DIL_IC) component; + Orientation o = ic.getOrientation(); + int oValue = o.ordinal(); + oValue += direction; + if (oValue < 0) + oValue = Orientation.values().length - 1; + if (oValue >= Orientation.values().length) + oValue = 0; + o = Orientation.values()[oValue]; + ic.setOrientation(o); + } + + @Override + public void mirror(IDIYComponent component, Point center, int direction) { + DIL_IC ic = (DIL_IC) component; + + if (direction == IComponentTransformer.HORIZONTAL) { + int dx = 2 * (center.x - ic.getControlPoint(1).x); + int dy = 0; + Orientation o = ic.getOrientation(); + switch (o) { + case DEFAULT: + dx += ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; + break; + case _90: + o = Orientation._270; + dx -= 2 * (ic.getControlPoint(0).x - ic.getControlPoint(1).x); + dy -= ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + break; + case _180: + dx += ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; + break; + case _270: + dx -= 2 * (ic.getControlPoint(0).x - ic.getControlPoint(1).x); + dy -= ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + o = Orientation._90; + break; + } + + for (int i = 0; i < ic.getControlPointCount(); i++) { + Point p = ic.getControlPoint(i); + ic.setControlPoint(new Point(p.x + dx, p.y + dy), i); + } + + ic.setOrientation(o); + } else { + int dx = 0; + int dy = 2 * (center.y - ic.getControlPoint(1).y); + Orientation o = ic.getOrientation(); + switch (o) { + case DEFAULT: + dx -= ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; + dy -= 2 * (ic.getControlPoint(0).y - ic.getControlPoint(1).y); + o = Orientation._180; + break; + case _90: + dy += ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + break; + case _180: + dx -= ic.getControlPoint(0).x - ic.getControlPoint(ic.getControlPointCount() - 1).x; + dy -= 2 * (ic.getControlPoint(0).y - ic.getControlPoint(1).y); + o = Orientation.DEFAULT; + break; + case _270: + dy += ic.getControlPoint(0).y - ic.getControlPoint(ic.getControlPointCount() - 1).y; + break; + } + + for (int i = 0; i < ic.getControlPointCount(); i++) { + Point p = ic.getControlPoint(i); + ic.setControlPoint(new Point(p.x + dx, p.y + dy), i); + } + + ic.setOrientation(o); + } + } +} diff --git a/diylc/diylc-library/src/org/diylc/components/transform/PotentiometerTransformer.java b/diylc/diylc-library/src/org/diylc/components/transform/PotentiometerTransformer.java new file mode 100644 index 00000000..12999824 --- /dev/null +++ b/diylc/diylc-library/src/org/diylc/components/transform/PotentiometerTransformer.java @@ -0,0 +1,94 @@ +package org.diylc.components.transform; + +import java.awt.Point; +import java.awt.geom.AffineTransform; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.passive.PotentiometerPanel; +import org.diylc.core.IDIYComponent; + +public class PotentiometerTransformer implements IComponentTransformer { + + @Override + public boolean canRotate(IDIYComponent component) { + return component.getClass().equals(PotentiometerPanel.class); + } + + @Override + public boolean canMirror(IDIYComponent component) { + return component.getClass().equals(PotentiometerPanel.class); + } + + @Override + public boolean mirroringChangesCircuit() { + return true; + } + + @Override + public void rotate(IDIYComponent component, Point center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point p = new Point(component.getControlPoint(index)); + rotate.transform(p, p); + component.setControlPoint(p, index); + } + + PotentiometerPanel potentiometer = (PotentiometerPanel) component; + Orientation o = potentiometer.getOrientation(); + int oValue = o.ordinal(); + oValue += direction; + if (oValue < 0) + oValue = Orientation.values().length - 1; + if (oValue >= Orientation.values().length) + oValue = 0; + o = Orientation.values()[oValue]; + potentiometer.setOrientation(o); + } + + @SuppressWarnings("incomplete-switch") + @Override + public void mirror(IDIYComponent component, Point center, int direction) { + PotentiometerPanel potentiometer = (PotentiometerPanel) component; + int dx = center.x - potentiometer.getControlPoint(1).x; + int dy = center.y - potentiometer.getControlPoint(1).y; + if (direction == IComponentTransformer.HORIZONTAL) { + Orientation o = potentiometer.getOrientation(); + switch (o) { + case _90: + o = Orientation._270; + break; + case _270: + o = Orientation._90; + } + + for (int i = 0; i < potentiometer.getControlPointCount(); i++) { + Point p = potentiometer.getControlPoint(i); + potentiometer + .setControlPoint( + new Point(p.x + 2 * dx, p.y + (potentiometer.getControlPoint(2).y - potentiometer.getControlPoint(0).y)), + i); + } + + potentiometer.setOrientation(o); + } else { + Orientation o = potentiometer.getOrientation(); + switch (o) { + case DEFAULT: + o = Orientation._180; + break; + case _180: + o = Orientation.DEFAULT; + } + + for (int i = 0; i < potentiometer.getControlPointCount(); i++) { + Point p = potentiometer.getControlPoint(i); + potentiometer + .setControlPoint(new Point(p.x + (potentiometer.getControlPoint(2).x - potentiometer.getControlPoint(0).x), + p.y + 2 * dy), i); + } + + potentiometer.setOrientation(o); + } + } +} diff --git a/diylc/diylc-library/src/org/diylc/components/transform/TO92Transformer.java b/diylc/diylc-library/src/org/diylc/components/transform/TO92Transformer.java new file mode 100644 index 00000000..03b2b88b --- /dev/null +++ b/diylc/diylc-library/src/org/diylc/components/transform/TO92Transformer.java @@ -0,0 +1,91 @@ +package org.diylc.components.transform; + +import java.awt.Point; +import java.awt.geom.AffineTransform; + +import org.diylc.common.IComponentTransformer; +import org.diylc.common.Orientation; +import org.diylc.components.semiconductors.TransistorTO92; +import org.diylc.core.IDIYComponent; + +public class TO92Transformer implements IComponentTransformer { + + @Override + public boolean canRotate(IDIYComponent component) { + return component.getClass().equals(TransistorTO92.class); + } + + @Override + public boolean canMirror(IDIYComponent component) { + return component.getClass().equals(TransistorTO92.class); + } + + @Override + public boolean mirroringChangesCircuit() { + return true; + } + + @Override + public void rotate(IDIYComponent component, Point center, int direction) { + AffineTransform rotate = AffineTransform.getRotateInstance(Math.PI / 2 * direction, center.x, center.y); + for (int index = 0; index < component.getControlPointCount(); index++) { + Point p = new Point(component.getControlPoint(index)); + rotate.transform(p, p); + component.setControlPoint(p, index); + } + + TransistorTO92 transistor = (TransistorTO92) component; + Orientation o = transistor.getOrientation(); + int oValue = o.ordinal(); + oValue += direction; + if (oValue < 0) + oValue = Orientation.values().length - 1; + if (oValue >= Orientation.values().length) + oValue = 0; + o = Orientation.values()[oValue]; + transistor.setOrientation(o); + } + + @SuppressWarnings("incomplete-switch") + @Override + public void mirror(IDIYComponent component, Point center, int direction) { + TransistorTO92 transistor = (TransistorTO92) component; + int dx = center.x - transistor.getControlPoint(1).x; + int dy = center.y - transistor.getControlPoint(1).y; + if (direction == IComponentTransformer.HORIZONTAL) { + Orientation o = transistor.getOrientation(); + switch (o) { + case DEFAULT: + o = Orientation._180; + break; + case _180: + o = Orientation.DEFAULT; + } + + for (int i = 0; i < transistor.getControlPointCount(); i++) { + Point p = transistor.getControlPoint(i); + transistor.setControlPoint( + new Point(p.x + 2 * dx, p.y + (transistor.getControlPoint(2).y - transistor.getControlPoint(0).y)), i); + } + + transistor.setOrientation(o); + } else { + Orientation o = transistor.getOrientation(); + switch (o) { + case _90: + o = Orientation._270; + break; + case _270: + o = Orientation._90; + } + + for (int i = 0; i < transistor.getControlPointCount(); i++) { + Point p = transistor.getControlPoint(i); + transistor.setControlPoint(new Point(p.x + (transistor.getControlPoint(2).x - transistor.getControlPoint(0).x), + p.y + 2 * dy), i); + } + + transistor.setOrientation(o); + } + } +} diff --git a/diylc/diylc-swing/DIYLCStarter.launch b/diylc/diylc-swing/DIYLCStarter.launch index f69b8ecc..6c49e423 100644 --- a/diylc/diylc-swing/DIYLCStarter.launch +++ b/diylc/diylc-swing/DIYLCStarter.launch @@ -8,7 +8,7 @@ - + diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index c11dbefa7cd538be9e5d252fdc5ac317bd82d579..29166516f6f4d743af5efe9fa54886fc3c61a915 100644 GIT binary patch delta 26948 zcmZ6xWmKC@7pP5wyGwC*cXu!DQrumNwm@)N+=EN;LUFg^6e#ZQ?i7mC!$aQlt#!U1 zS#xFY*)p?7?v>o3>1eGPXsBxMp<$4qpb(&-IIS5HQ0bvLUK{@F|C%H=0NGos4xoX4 z)g}o;6D6&o{Qqo{ssPMy+BE?CTZ;)~d}~F4y#JpS>lj*69uVp6dli5PjK&9mPa6N9 zU)bl7IGibKAmK=uZzqU>VCJy)p8*m%2Z<=0|?YFiJ z_3^*9pacyD^R-ocU@89~0f2(?142PDBw_O4B>l#E2U1sl56yw$Z+BYxJEQdqPQFPrQVqIi3W6tF`I1c3L>Ayd7xuo63&GSLA z%qae{m>x`xb0QN$F*dZ@6-2q0{gY_M!0tb!79A?erNV!89FtSSab7;C-bZCYgWk5O zZJH=lPz3Ul8+GW(E!RWls|j6yBw80eP-2+b($jZfmSPzqF52GEInaxRwkr7Qp3d0w z$*Z`iLHxZ7{TVDidTcJCj9c26N3-5Um9WeA@6kZv@YQ=l1#|B6;h?nWl`z~-!tA^W z+zLEQ+}|kfhDOz7xqDvF&F@w}$3_Xd*Ap24ScX-p41XEte)Fu2cHG>6J$ZL%rYD<# zVD~BI8}Z_Y7lx4(4Kk){!x#AC#NAGIN3`DR@S|vx{7j_GhTJJlBcdqsJDC5wco60l+@W&}emu#OHvw3Wk!_zF8y* zP)xrW7}<(L$-ElKzE+I+&45G&8YxML5(|_tq6p1_6R!Fx-MD_~Q#mVa!klv6h9agS zGXb#>Ckc}mm0MP%8IUKDj5F=Lr2}K9@B6 zSOdm%U-5PXMq|_t9Zb$DZ$x4? z^y`xGNSjNvq`&++iB~Pl(~_|dii4T}q>*V}sdk_zDO`{X^AnEz=CQRY`cyO4FUq1W z$uSmJ(QeqCt*Sqc;ax}-=0)5;Dk!ShT;DPBM|QzEjvX8RT2_F&gZqC=7f3|_DMThU z=^G@q)7-yRrkQraIoS*K#@%y0y*sC5OC#;hZG)~M+u1b-_DD_Et9Q( ztsx$45*iNym`np2qb`iE6Vgjo5DbA0VRHz`h+RUW3CPeuR*rAo2zdI{fh{Z)6vx{_ zXwrlx2gPU^sbWjuh)kcsv%F7;L(=}P129CY&=GgS?BnH7CMTdE^fO#?(zo><@>2Ju z+r&QziR--RLH>$4*+*u&g^qQ(J=TcBg221j^6^~c<9NCd*Ynk%Z5t@W!e`rlZM!SO zoku_G(&Y%+58F~zWc~*(1D?`Wea$2nn*3wEA)pnKt+Q$r?E%zxeD4a~dbzU@;as@? zhDyjA`et{7r+*Ko76@?1Ntdv+mF~sdXsC?pH&$A6Er!)=8#gGedT7+xgywQZ7VlLo zhMtR%h>5bR8%g4Dg*zGYO6e|U6IgR}6sF5`B=VlDWNbEnM_^jyVfo5cuf*ms&ZGT# zvlJA^9P-4xt~rubu&ZNTKkMsMQ#c~e9-Z^!vQI-poBl>ef@leMrRPhqdbFB0tVJ`+ zc5HB)JSWVHaTR%(TjxPeFrpG;a~#8&sOgt~3`HLrl|0Ajt5UC9vwRJ?m|#a(k7vq1 zIZBUHN->+Ze^w8L?w-RjBb~j9Focn#Gj_v6nm6%VJ5yL|Y7soqrcYl{v zFe)6)i{NSYRq2RqbHJZuKtZ!eU2~tq>-N)^NoIX%jJ$mXIT;si%J+O>187%Ezc_0_ zTV1RRXm@du6bNydXz}|L$C!<)E54#~_%dz(ps{w=bRN`B}e}GDM`hT{iB987@y5sBO{|y5LMGpl9<>GF`W@+c^Xpuz1g8;_Ug2u1QeD4L> zIyfqyA&{t+f%3L>*^JO25^wA-<`Q9jh?kpu_(LqG|}lf_ak+htfhMf5P!0 zyBhTiH7Y^kf#*^5Q%fuD#S{qj_iMjO?~+rB#}1GzQz9Ac>Ct} zq6rc*Nvrh<^}jxVLlVvGpe>L3rXPj?4~XlnrCmf^I4G!EIPk{V>zu_q zLBlsG8v`ie-o{BWXNIov8d({fH(a|a|tIMXzmBtAtRU=Xrk zj;jIV5W9{#z#)Xn8eePj=Bv2{AOfMgc7QJ={4gid9yA6N)C)RzGU9cvbv>ZbnhLuB zs1S$s697rXH{<(7!0R^rFQtxEKs)jI$^;LS6_1ArAG6L;6=4E{AjE(R^oLLx0k9deO0KFx zsG46r)PXm_0D`7)V&MO_gbq1S5E4XzB-GLK^=a7$@LzrL!M>lNQJZ?GfFQtIu@;h9 zo|s;%N(%(n&;bdWY-oVOka85$0Y5_G5ieX{_&nF1%?l+tEE z5cV4lcmT;E?hZYH3=qQg20|Wkn|OVIQ*Y;T6Y^)^AVfRs2ULZ~=s-ZoHP^%!1jK>J zR6>9m5IPP6c0;J@3vdKN{!u_J^tZS(8Nel+H>#-uWjhpyVo3J`G2ZUqCfzxp zG{iP%0oVv3-R0M7_RaRg8qgB*91VTpyx=7U1(lit9@_vagKVST*LEq^5_$6xJBip| z9uzegu=tpYv^Ewo>hY=_O)dp5EiE_dI2e}C+Mh2WA?*Bn?!2}3`m0#|{Cr={<+9ek z{n&YX`?$7quet7*h{0+27@C=tPdr?p%DCP$g6-pr#in{VJng)Nb>8`dY27VJc=w&( zU1g=;xU$ma9*EsI_F%ZqS%ca>XF6qnwNUzARP;$)*Vr}5ZEG{4^@@t`GSXUXU_=#V zx1{xoD|B<;`O0orhVM`_U{fcc?1?dVrLsL)^?S0(b|2gJHq-sEOS10em7&o+iOxS` zUE_}|cO0AlRtjbBLmaxJjK+=r-MUURY^<@9o@^HR_r!6WAuYO(O*lXKPS4g`P1dS7zEi4vo2UW#L_g=<^%Jy15~ z@Vj*>t2ikBJJENuQs4XUhNFC1*z0&3MHn16jg_$+Gn9OY-z_{F2+nE34eU!vnPa(T zF2e-@k;4>HH-tyhCwkVUyZi>QV_tBnv@P1Xg73&m2#&M@b+f}wl?UgzP&|wCb<8hO z{4}jfXIl-nY56wN8k`$cvQt#wr|5b#kkXgu9O{6^HEb*n9h*MIequEyTsiVRx(}50 zL^CGz^kiMz-`oWnW#_7%X|Zw7(6+NlcV)V5Mxivo+I(;@`)o=$NXHyalWX$eC5dA6BR?cgF2U48{9JM?8%}g-Z7)b z)~gNj`=uu4IFV}+<%x&=9c2h_y7x5WY_=CFCGeNKi?(Zt&7*k`5 z(s@c&(O4Lz(E@67lHcW(d4 zX!xh7`~bA5rq@F?SXka|sJq7$YNa z&6tGbsG0E2=%U>4eW}t#y=e-65F)<64S&eUf9X~;;hW(@xrzHl=t6j882&&fz}+I@e4=_$L$)z8f*y zInfcK^npUwIgTXCmv>&%P*f9N)%7?vp_q#aqXE8Y*6g~Z)9C={I^l!<6~U1R9(HUt z*wULdxHX$F=LzjhGwBBC<+$!*8H82kg&hoDQip2uc5t&k!=DYStmB@%iB?}n;mnQj zDE#->o;qj6^L1RN`i@v=yCZa<+nS*~=>?n+WgY_hV(&$d_TTIaN+H^W6-etk7TPi0 z_Nx`Kqdo6Cy2rQ|^s7JdE}PmAoe+m)J5<9F-w0=CpBJ|+5`SOKHo(uNJ>xIR^Ff^}@LYcF#E`l=*->!cLsvt>A_B54K zlkxAep9l!+W|j3@*|28PFBxmC9%an_;Wb^dNSJN(t-1v8 z%C&yq8s=ZK_KIFU@bT~SVz%lV!D9|RHZ0b>I#j`BdBpraN7OK2!k#FIoA8Uqw?-Bd z$*)Z;#EW|8WEZ!NNHe!#AikWBGX91>+XLd3tTYxGx<5WFPE9sAdyWi`&FzvT&s@%R zbf5Z*OxT!8^{taF5XL%Ik`W)=3<7V;p%ZM`iH`_QOvdHt^=E3E?X(Sb_gk%4R*!Wm z9Q9W|A=30a>E1Qn9X~$h$J}Js$g|gDX5ev0NKK}R;TWEt6QOkNfLKnMT3hEm8|xdm zy)TENq?@|+s;fF#2x25k+Q&8q;>CCgg3xSAI&$^{8|a7;XPQ{;Po2?j(L<$z)Etd( zo?8C6h0g8mk{k;f&Nr$_8ftIwlhK5Ugd`wv8(<=uU>_Le*}814_El>TGofY6iHAZN~kb>4n3-%s<*a_+M+H6 zdNK*XgCoNpn+A?*fOG5kf!2=i*{f3$-QL-LK)tyLa0HPPhEd?d7C^rc9DG4QGC-rj zK>dq;4f{}40di42hoLfh>i%qH)}G3ufQbPED@YL^r786zch|1Fe|Z+mRQG z#E<#-pr#SbZZ2cx%+cfgiLFA2I4sAWMik#;;7KGi2-M&9bo?kD;{s%KLg~wBybJNy ztK%g;b3t}QyzZ_QNzn!i5`0$oaTO`4L?k)!^4pM6d#7AxnG)sN>SwzoOz<_FO1XNX zEaecPTv6wX^+!)U7-2KM*T)*MR{8}pg#0Ubp8?%U&-$iyaI)b)>GsX`JZUBfN#rkq;&_sD z6XN1M7dj{AHE^bGKgKEp8>F8Nf$l4n)dZd&Qq=`)`-j3TM$k3_FouV}I~Kb-vNJ|F zq2I#s!9aIlx!I*!SIn+9@@%|FrWMtVCRZqc?m-}HuK{wRV!fQLbIiV{O+EgN-I#xCJlRrn>N1+=XssdTP_z$#V&MQr|{Adh}nePNI{f+6T-TUI6@0 zysw0G7gi~YzSSvpXHO?Csu8IDP!jzhQ4LgGpzY~jF8Crps zLFndg#aq>doJK`vZQ<8T(*Q&vl>=BueUJCr?>cSC%RqRr zym#=A6Ey?~(&o!n;V z+9N^P_0vUwZn$rPr*tyQ4{uQHCZz#w%-${`A0e^9kYV8LeF|MtM|DPdDELHO4Y=lP z4wpeoS!!Si9P1BNYKr_RQHL>Vn|(MLIe;)DJ(2if-pX*8ARmVW<#e>Wf`6v{Uygu4 zIcy{99SOoWOLw>xmIas_E`C+O+0<^xT1uZh2cIo*H!X8Fep%G_@$2(!s3JX(1?E~M zVGBHKKBJL$cI+V|bW^@f_4rq_nu5{JdoO|^kDzs~C@*Mfg5TVB&;(YCb`;iHejPl2J=1WuibCe(y z@jR61E?>cDGbExsODtK6cfpG|4F<puBw z9>0e@)%Ee0_v(SV^pRRtvQA2fZ!K&bTC_Q5km0-X*hGPnhABsNYSqX^5L04fXyU*> zcX1qLuTF%29A6C6Zn;Um_BRrA=^#h=HbE=KgnZ7$ zn-e%q1|7xF_vSW57~Gl++QPJL>Mes>;mOdn&qDswmV6A_f{%qmqWz*ywd3^rL0WNr zzQtFlRzHVCN1S;VSx!FEwx#&5X|udgooL zlSmNYkdY?>{_&H4zUyx~xQj5Lp+8aZmrVGD5Yr=0!n;%2I=|6Oph%{FjWWQ*#HYYT ziht`EweP9B^MLt+-jMzK#G(}KBWF|y&2S>@wvRP>T~*piIS66r&SSRDm3?78s(Zc1 zH`Dyt|4&VlOS#w)^!s;6*K-eZ=mV}V2s2wWglFh?!IKB3Z%Fb3yK?9pFe#0Xp>qfj zd1yaN0|vyZqCg?15$mQ1PPSE55pp||`kg#}GpCypCMK>QyYP`8s{yfdKf5gBY6q2y z&~`1@mP_iGl>YJy)AJ~@_#C|xkchQ-V0uU#>g*20$9AN*;_=&wo?U1VO?pY_9P-Y4 z>Ig*4?O5H3GQ)G#2~XTwrY<7Kt!vi$edGp{3a{i9?+?OW;8B3-B(trRIx!Ud++(R) zTcY%r`>}DX)1ua9!CU#Sh?kyCrm`1|?h`X((Eh?7Q&!C%wL_ib0j9P1Y6P#(e}U<9 zSdlV~R8m{3mSWOI`P>gmf2sZ=QoqD0|HW>MNkkf}$!gcfv!4>n7tKv}GOKf?Qu+no z_qin9l6w)PikYY(&5S`7Q5wRrf!gzz%TmmQQCbK4ge6Er^oQSorI^h+=VH_eKJ6oo zaX^^-Ck27=!odSK&BZ8w2Biik!N-OnW9!#a@||dBKhIhI)Pz&|`?)bHu`aA)bQy|+ z)HI)sxW&|(dP3;qi}{90AkG4&W`P2X4CcoC0+}f&)%Rw>p%a4=qXqWFGpQrU>tl{P zfcaPYQeYxc5t(;~H!l!D!%PYLcq@gvPVdcMQk99*YJulzuex{$CSDWu@Xg&Wk z{Wr7tQ|T}3V^f)*N((M?dKV!d?+QT?23LDf0h+`MI$_4GS^=4iu@Kx}QuUQ7A{Z~h zu{C%;5Yp|x;CzX|3{BK8wv4xoZOUH3*@c!~;a>IoHQeIG=2>ZNNkc06vY=ShOhR=* z39%|9C$zApaOwAHtMg=EoRDrQuh9e5XXvq_d2aqbC@D*D9}nLY7gO#z16U{0iqkXR zPn#}TVl{A*9A=DlhMgs3`*5Wg)0i@5;%w}H1EmPd?SAyBwdRJySs4>R^l^=G|62L3 zIJG1>ZCG&EeFIvloAz_s@M%{}hT#ZbiV%((x^l4eW=@X82J`xya;Y6VII6zZ8%>Uv z-IxRJwy9=0kSgyg1}`pMQ44TfF*&c)4?C7+%}B=C0Q@mAGhi!I%!{Y@o@q`|=|^%W z9Eg%)4@fCL+vOeR5B&uSO^5eoN?1PMO-jFv0F30*iA4;vzi?z4;xZ|o9sXnR&ow+0+vA- zVK^OkqOBa4CHl%a8G8fgObjf;T67V8064Ry~HY1Cj$Jt=&<@a>inX5 zRwx#ZMjhzC6%-RA};u7*67+Z%_M#7Vy%<~9%Dp^gI z%})5uun;_Gqs&I-6NXHc$j-T)MaMP9@15lSql`tXGK6PO1>>XDyd&dCGVf-))mJww zyCr@4si-d8DFY>^8X%JSS1%CeL0pRab)gk!gAR8)joqQ?4!@D1z5Pf%ucm`sRl5>{ zw>^0dl@pLBM$C0?S$|HI%+u)b~SK>dQM`2_>8;zi&H2(m`#K}=bk*ou;83`&) z_?yk7pgttcO>~)7aKXVGG$p>jz^kKVa9J_`t-t*6=vo*T6aXbXCzZ$3?52rg6Eo)$ zbv1AU*316x&KtyFTKFKd`683Bfd^RCF7|5hiYYUS`fm0BvSS&Y5v}~-NW*3Ndu|u) zZ>4hYJ>KLX9g6l37mUSKx(*c0HdZRl!{2e02y*5HgoBHz@3w;{2&Gif_}qo{olp;? z=~}xLquUo@j2DX14{xU&KQ}P6{H|0^xX=-6vfutlOdatTY<<@BholreAQtCV2Su1L zNS{gAc0*Wv5X5wO!sHzOhog@}2;a6T0L1(ltAe*sOFC@PJrVA@R3kCC2$)@8&fGpV zaQ)L2hj#hgH`EdrL`if}6G<5qlULD&+vk9w?sInV%RXhHRuJ(6tds0Ja4nrB2S(1* z+D@DoOk=-V`IX^OjdZ4Ie@MPkm&cj$_B&kFT}m6iM-Ya+-NTSf&A&4E0+wg!no}K4 zPTyKBM-RY$$Q_K7X`rQ(ot48LgO-HTet=%WpLa$gD`-MLPM>h#F}-su=uyT?_ZDpA zj<%vX9jkTK(otuMvj%m!Fu}(#Ebbs(_HeBIFaPkvd;I|*gtGQI1z3IbXJHYwFNNgc zhSOhL#zA@^z0KykS4AwNM#oF3d@S~W9~z=l36A7eRXEy1QKng0Sd+jbj`FU}`~4Ia zrVIn2Rw!>Lc3?aMBXRXR+xR5 z-XP_i{e(w8j1E|K>*7MeWq$pcTz;eYQzic5ED(-K0N@DF9v09nj$d$#0Q*SD}@ zSb7No0lvm#Zp0;(?z!cE9T8-K{2DgD$%vwtA~228a*%Jf20o7&J^x0f+!@i+(+Uzn zmnDG*yWNa#V*H-}i7OGI4{@hA5znW z1OhoG@tcOR6|t1;{LVt+KF(JO2<0QWpQAX}FQFP3>s{w^S6U^D{!8BQ?WX(!DXmV4 z=;~r-1;^F#X8RrJs}l}V16IPG>nMe(T(6N!!{!davY#@bUe1RYPn%#yrr?ePmz|4K z|BAT0x88iD;&G_PVeAr$0j|hG@-|BSAY;g zg5m&=C5_&&mBiP#MTYujlTlMDX42}J((0I-Wwk2-see2$NsAgq*Yb9Xi1%;gk~`5a zl*JoezSZU$DUk{8Q<=y;{8?gVy0Ofpi@e^N?BeGJl?%={G-*7vMj4r`D?i0Bs(}Np_t1PCBmBz9d8irPq z<@w)3V-&a+@)2C!21x|HbG50&1`@}5o9taY13(@a+=l*iUshI#-Ms34R)OT~A32&g z2fvz;G>JKAF&2$=7r;j3q?lpa`?Mq=<@c5jL>TVJge1(2qwep#pqcMf(hsD4bh|5D zJlQgM*$r8t!Yk>)a|YWN?_Iax`ZtX=?iwi|UKVne{qPx-hPGR(`sMDj3}&-8T8Ye# zA}>UDUWk2=xRcIe=>E9Z;sQzrzThg1ag8~sAKv`ElBK*-P+5pJv`wc=)sScG^j!r8 zIO_VyxDx$qufp)Q&R#oBMoCxIlt+-Qadp(d6w=9=+Z*B!KnqM{EW}gqwj?`Q1P%XJ*jm{zAV>jZwOA-0{ZU${t zWzvjKdz)*i36_9kAFHOxvj*&@W+i96D0n%Xdd2+4yru;0Mo66Yi|=lK#?}{bP*IB*V04;vY(^%)cp) zOW1xu68-i(!d$EXT*L zlJn`6f_gTuQ!!0Y!i>`%i=K2WG63Gg5yAQWGe-Hx zB#^k8z_@jV)@sskJG1ii7XNY&48!GRL%arF&jtiGXA1iWdRj0OXQz-`Elb*97Tfd~ zT+v6S34}o1i;#N;s#+f2EG8dc4(UjGT}4%~qcxeQ&t4ZGt-AemBv`I`=K}A5p_B8*2qh@{~(fLm#P!XI97$P*j0E)&~U$_akRGlvQDxEn6{h=y^6+B zfm4nt&@W2h%#>*cFgy1 za2fK7C^=J||HhCv8euddl!{doxe$uPXtsx>pTdLx+0~g$zP`d#^s|_)w@o*%Vxs8c ziRgh*_+P5nKeQZ>s!84YKR`g$G@s9X+_iGss^P_BQo;K2#pl7xC!4$H*I&B=UWlGv z&JO;e-+`XFPM?1sw6#CEJdg!|;z)OIEw1@jqAru(z4#^O)IOqO!~U%3<_!4Id#=;pIjB#OJlWk)4AwJ99z zzoRGGA$8~Hk9s(~{&*H&z!F~Lx~jc!NS^-sHjziR!jK9l04XI|So!->4ag~2YcOJc zVFVsTAL<~gu7c5287-i~nD<@&9n;{7EO&788PhN*c*di=sPHdT`t0JUqJjvUZP5<1 zv1>|Vov#EN&Hhy|NBDZ=#;ET%n5w-miRy}bks8JfE#k>5MV5e6(j+D(9Yt!KqH502 z9;giw#Hs62NA>SMmQl3d{xr-}(&8g2jrDbd9J$SZrhA`JIUzVs1O*Epe`XwyR`U%B861y;^prb(L zo4-o7^y8GQ&M9oTLF4;~lej@QOr#baJz??A6-n!K4OSs2I{{7}N5_szwXygrF*sy7 zB{XtcU0Xa=V-#*SF>xIOgddA8qci#)aUL|k7%eOOEgMeEcvRzgw)$xp+pBY1VZXx6 z&6zVr<IJyACBt(hnteh6E+ym#(Jq<1& zwn%Tt53MZOm>0;o<-JG58ugF+BN-t)b_OuGG{0$RJxx-&3tVqiY<2NI5tXMQ`4I5L}Ls;{RMMwdD@OW;E z=^a#~GS#19uY`vqn8kolr5;`QA&?xsU6qI=x2Gx()T26&geV@JHBV!=dwOH$0kcY4 zYs6`dZ+mF7O5(?|N-Z+F`*1f3-G4YgH523gi0MN>yMNvLdbG=uB}kX#DplegFqHhh zGpNQpZ11d~IX+(scIn@>si4qV{nz_TU16I16Q)IGKRr7DF1 z4UtoM%7^PiG`(dTwD|Ee$``C!98%{sg*jsKCh^0Md2XhrmIa3BiQ`NY=!EE&Q1^e1S}=Nbeq4 zMlbb5a&JH-_RiVe1(%yfm;M9k(3B7*C{t?pxp zTd;c~idV4(LySAL4uIM-w+rv)h`cQ1XQJdkFgZh_U0k(e4eUc5a=$=xh3P->FWQ8V z1HjamhLUI4dLr1Lr7qvACOyI^CYG~wlIfR$i_StpGG~9b z!xw(Yct@!FE8FKAXvD}gI_=^6olh^J>`CArsk$LBkd*%IwbCAfqbaf2BZoY?7;5eG+ zjGOX~EhvAAnj7m6D1;H(s44)v<;pO8T2Tz(`~jBm*clvg*>*PRXb9rV%~QW^u4lvK zqraltKGHeFC(#KXUUaV1-?%K(djC_G*PdH?^Kd{oDA9$l^)}($CkDosR-#kr*a4v~ z7}Q4mL&ScRQ~!mEedg9Hk;B-?L)b5nxaN*+-JE@c`wmN`NCw&(%Pa^>U*vf9*`iniDo$yy*65VeO*BjEuIYLClu{zgwWSm z`R;wPuQq8@7kf0n;5#sV8L_v9*m(R z0!mT%GZ2H@zi2DYfL%}IllJ;3?yrXdr&#>1$i(C(05U_Wc4j#r8ivOnoPV?`Xj@b2 zCa4LzK>{6uU(o0?ge%p(5^HeVetDJ#2Ow)GH2VH=1kLcYGI=G|L3!LtTnTZP6&W9# z?Pc8De!=LfG`b|LN(;H-C|mI)W9Xy!2le31=NiP*$GVluRpeD6yD)vxif?I-o-ID| zOYoD>GnW5EBlUdJ5S@HfC3BWnBzI84Op3MZd8BH>SF|E+9;JZ9h+5IpN`^?6t)v1zW&`G~ij) zsPPRqb+>SAt{LiRwPY&2{vObosg;a7x}ZD&#vNTz9!SMCs?Xd3)Xe#S7)$}2VyLW8YTQcOyNQ@-sV8e0iO?TgvhXNghW|pMvoh}1IR)JyB;7Gp~D2&8Qjef98{}4`>=3lc-nujF@to#yr z=}S;9r#AHVd*4hp8MeWqgTERcacBdbOXa8u-omW$7G>2~JL7zO1a4dAsBot0POe~o z?Wf&8_ZOLCF?1AMo4V*f|7`64AwWIjXSgM(32*0T=ob>sRLiyr8l6ukr(TR4nY@M`O5=hWUoJk=z-kH2g%1gnH3hC~%zo?icbODWR0 zvWmcR>68lT8}exAzD`4fO*-dDLK>*YRqE7YFBDa==6{aG`tG`(!q$bvP&(`hn!XqM z(0ggdH;7{8g|y2*4CDO+pRTkqN(nY~Q57%BnstPuGoMI0&!{|kNT5|P4h5RqN#l$pAZr?goSwp*1 z8JwmhJonO(vIFddxR2FR-w(BFg8I5Gk@NCG2{~sehmhb}JMapS%uGhkX#PyMAL_^A z5Mkvg^c37pv}cZZB?*uGe8GJ9^^SK|gT&&?r^Me_c;~;jKbY&#(`6GM3Qf0l{Wg&T*ici)Mm7#5pXb(F3VVzda z3cp#A`YGO~LPAjJ`!RcnQN$VY$3kkRavCIjvO?HoC@iiy61soVM!nD3waGBXwf%7& z%!l``jNe#pI3!od z0;ic;c#U0XnZ}K!-72YfFqHz*_8{Qu)}cvCQOg83%uVXl+2=3)GCs9Etu1E|QkZj1 z&p>-wCXVMy2vz0!04qGJ9?pA2aHplE?}R+=h(S72!Ikw;fRQY#9~{e&FXJWqtrg`? zu22v6iHTTJwwsb2NS_a?6p$a(a0l#!#5(NIQImjHbwXrv+!?oJ zlz1mK;-ZqU?;}{ji>|E;$i}}Vj)Dg2G5z8)EF*^!Fq&so5LOn`BF+#A;>ssX)@9r* zCs$%vd0aZt-Y;auLW{&;yT-VfqvwDPkX~O(VJoJon=1FUK>3K2_(?2|=V0TZFXH?w zx{EA==yBg2%*=w)0AoFfdT1r19y9zyyAxIX>>@%%j&%Nfkfb>D%@qYw{v1{)2`izP zr_s|)QSg^POv7ZI;Yp?&q zQe+?9SMPBI&MeQu;c&1fc@WGB{zBz$IX6_s<^H)XJA5I1nls;{`wsRYO1IhySjQ zg~4i`Ha}^ejIn@LP$!gFf6TB!L7YHX4)jO^YH#8PAlRt}CNv6p40|U*R?~_80_Ruc zMfe-|)Tu{*5hP>}xq}LfeR5u9@RJv;I+T##V70}k6KcR^*ew#!n+G8f_NUWMjutxfrzSZ(z{Pz=4doia_Mr++(BH@&(k1!H5~1t2?iSGWj4oKv+x5z9+C+n5+gziS~)snP8iQnC25+t2xFOhZRnd z7|O6m69dF-Bgt_cBflu;l7-8$v=WPY-|yLfPIiJa;0XbrzkXt45|bY{>mrQf|Fb{9 zpp?s2=r?U0Tg^DwoPL3HzUS}mmMBe>w=SD0ji~_o_MU{gH7)62g_!!20}K`bO|}R# zqg*J+9c9OWs+U^Ufub3%5C31e$8Ab;zr;8dnloi#eGB=<1`2%SI{@N@S>>_>98tChZsMvZ<=j9pBJD{k||6gEFQ8!;O4!$w*?O=J%4R+wPjDW}E|u znZKk#5z{5!)Y++v3Utv|?1hH3UbDgnosId!{7S{&LO!M?f1X5MOv*#{O8h2>`EN++ z7Ia}Otk?iwFsbc^>4h8F9KV?U_<&>AuWJYVoKK~ii>JQz^#`@44o1NfjB^gFu!1n9 zEhyK6SdMLWW?#IZnv?twM&=Gh`3OH=CMOzt@@!#A-a${aEpN*{p_=IWWB`SJ~OnJj9pFG zJVeCZ1<}N0wli7kGcp7+fRP*UgpRMM6igL{@Ip+gwUbt6-pE$3cQJ`=W)H*02Mla*u+nmQr_mT&W9-tZa*MO`eflX{~fJ?(IFDFz%v{;3uGFGaaFC*Io? zW?#O6{L}anqp3TXt-xIZ_s9%f%4j7ThZvUN2CA#UezX^P%4zbvhHrjg`9EG?83UIVmIBM@TE}O47iOz zL1m(x54&q@-Qn$fj>vMWhCP4mn10QFwcUo>8R{f4S#u-4LwY-<(=IXHzP!vG&KX*y6Q6zoiYMxJk%(UI?*eN?zOAJb@gA2b)@z;d1UjHo9C4W8Be(# zbx2W|4C6ljU6Fi#P~gL5@Cz4R$FF_35zHw3{ELZmqVyK9Mk`|MgZ}=TWBm?qvhyf`St7Cl7u+ zqX;#&?7bA>rBS*`!RL`dm&L_xX=!XaMqH|?EoI_iX+FiZHU8;)HT5-~{~M$4ZOzkC zCdeaRa!f!chxYig?lt*n1~VTkUe{sjyW&qjZ>OKUFIZ}DWA&+LMKbw?YTJ3Jmjf%Z z$vXYljjG*iG#}khE{m8Xe^lSb^o?d%o&Vyv?|z_ZS(#sE+4eRs$h|H1@*U3piIHpW zJBv88coaT$&sj?akMc&Pl_%}JUSDFk_IxZNC3%dGFOW6(&aPOLnba={zLmo|Jll9HeU4 z94G|;!breI>x0w_8P^H5<_XpMql!-+H0e#$9Ngyo%Pn7FguOGQOS#=>Z)}B*7^fkB z@92xPVg0HX>c-`F_AT9Ouu-jw+>>u)O#6?8ec>_BxWXH2n{o-b)UCC#Q!knZI;tU`&0gf*HEa$MDq=-iab|; z{a*Ol>4BAbn_PBT9rU-C&DCO-yKDXwDRK`j9Oo;|mA35!q|HQA!Lcu5U*y;RHxz4h0k4N~wkmrWEZ=`B8)jr*?)g>Jr7x9c~PkL{H zT^v6LEu(BgU?t1)X}O_fR|UyJxy(%y2Paj(w3d+G|H@sb7k0FFM(}&y=S1MAGI)H3BUf`Q=QWyOmSJ%RfxtNqvzI*nH}CW?`WsvNbwQQ zCs)T=MLUknu%5VYrkVcb^@j;DlS;~lY@JuS**{daD;nt4(r(nN_{WCCPJ0hji}4xO zjMmAQj%LxyLjzyxZB}SJwBlryD@(vH)l`qJv-9IkkzY%{C2d@l#`}@CW64;kjBP(} z6yJELj52lTQIfm3+`QZo>B1|tNPo7@?#?^$-LF<9Lz-MGaOAkqrbVq ztVL~QUT@Lag3vy;)8m(`eU9l=)p6cnZE~KSS!dAjaG{npTo!RY*l{dY6L=+;}+`IAz{;kzrq3SJORc$vXIUA#Xe?!|q ze__l~w)nxBpx~vAjmGZpBND%SxT8rq<4P%{?5bi zN^=$%yxmtu{ZtUHxZ>w$vY1tbg<(dKz4+5dtDcyYX<6>P)&JSF#j(e`-hye8Fnmsd}q; zjPKN3Ze9%h=q&v9mz=E5n;+YUxu+Co>f45j4$mv+8>Ug4{U)Va;%cVk-Kr&jb$ary zYqr?@z{2fF_!#9K*?zTPNo*_=&(y6B9_JJ1R_Za8WT(spb3aWMVQVuCir%9!=A`%3 z&9G6&xZj3tvrM&e-Bod~dMD>*?lBh~OY)ahHl5`%@!7nc>)Bc^1VkqY>r{VLpS+eS zC;Fzybjeh*40UOAJ^8}v!Rg#%so!{aF#GAwM(O;LWgcp#?kw>SaQ6uaXvl02O!`r} zZ;aAWK0dJaYt1d`YOZXX{v&2Le!O09TB`oOIjzyVEvwmK!md>o-wcyWaS&`?Wz)fp>h-y>ZJ5x?XOR1rFKgYLCsx_A#VdRGUi29EJpYADE1gtVWUq@937%^7(N(^x zrKNAa+r}kEhqt1LDra%0D!H^HrAWo_2HB@jVr#1nqy1RJV3YQWXN5AmrY>gpdnxK= z^k(s_sZR4SnAxSiL-Fp53p^`53JQEut{QW#RLXdwS8u&~`+>HUYe`F#-^XMv-(Y!M z#rW{QyEBb`HeIi;HEQP%)_iI2{Ox2#$GRyD1tT@>)U$q>WYygoIT=He zms6v}(lU6ckIpsabsUiGiab~vq6u4b42da7v^LGLU!6TarGCx}{_CggK;QY)ueq9W zp_{7w9oJQHeqCm)$X3&*nAMhMHyFiX_+8>*{V zp1e}Kzw=^I5U-TDLwNRc3Mtryk!j8H;lz^f?v_s-y#865{(*8m-Z*MgQZ&2%-MNeB zii261>$}btPqmy_uiQ~9LlfwbowRXj9gIfw`Za$64kF%eC-m2$N z!79Atp~0-O`KQQ-GYTAMp1&+$@3d&0I4wPF>nHCUf54`l=e^V=Nfrkin^g1crg6~+ z@mc{Jy4-HqSTP?MU46_W^RX;7?%nc{P~Lgh&D?njeL2DU{Fj&Lv8Kjc3=P>??0t?D z613ym^e5feH9C%RC+x4Mo-D7F;JGXOz(Bh?`WS3YQoK($Dna+FW{Y%O&Fg=Y9#4Pk zANXkWMY|_$c#VGfIQQdmuE$NS+>d2#Kl^{@joX{9+vkLkK7LQ6biMtR+~w+i1PD#4 z#z`B%{}Jg9uWRjVU<1@M`jptPY2Op2Ph?Gf1&GXPT{;3j|LJY7bK2@Gd$P&C6fUhbNg zM($v3vZ^j>b}cPTI+)IEziqK#dcm?MtZMUgq;hF$zzxNx&T zoG|3N1!9A>_F3%g2ly=!b4=!8iHI`F3($hZ$ROJi5y8MR6nr6sg0xRUykNuSssD9@t*vCG66qxS$4q zmn7zbN-MmHAsDrSel|*DQNdPr(wGmrE_Za6VloSw>>$P(5yz4^W(_&YWHCvrH6n?D zqbPV!4p+B9q%qLI27*KKC`jv-=K}FIM7jr1LH}|>zyj{rAVQc$4=RBF3<<3omn|ZX zW%jZEoI)Rr%M*#b&}&7+sZbAewb0(8D zRt}sD410xPv%>{j_`4*r*A{B30A42|B(nb9LyfSU%V9a!(rL!Hfgndj73ex5WUTV7 z=R>kjz*YG#Y@D}&PBjYzIwF=>K^h%lIH}uFQx(AOgz#giq!UCp`$N}~V2cw`CMpWD z#baRY0tinnu5J!Z2_G1&}RSY>NLViZ8o{;F7uO!K>K>(8x)b9aV?fkB*( z^(2^dMU*fCsV$Iz_g}DK3$g->c%*a5r`u3_1P-(f+`>;u;)hb&g;GUqyJ4mc(3CU@ zy0#Ft(8{zEIFVv$z*Nr&8W8EN2-BlX(>KgFSjqv#z1$SSEpajk0I-k;?g)zG^6i^PC z1t7EXLVoafNupsD8Yl>KMMrxeZ!BXrLvIEu)n-2>w1ARFdAd z#KL)82j`LgSQBhQwZZXi#F^cIQoOvk0CE&~5(ln`Cls{a#{{;X#BItS1<$uGfGo6w zt?Yo^li2+e%F;aX(5o`^O1};~+EJ6dC+vV}JF$sHwnHk}Cpgu1L<(C;?!Au>p>Z=n z23fkS$u-dct8R+Iq1UhDkre z3ZF5bC%lOnZuEwMbbSRU`AKA2#aCW1?+q6p`Vhpu6H4kBfx&Ks40LxQf>IDQ*Uwv1 z+Y6ar!2u8a#h;QyFJ@ddbtgi`2ntbxNH!croArSwJK;(}xyMk^1{Gx>OlQ zN0mq{e}yFUU^-+o3c0)Hp zhPa!;-EjA!&MQ&0#2824K@?-`+!kRApyNC^MCqJ=G6j=~SQq zfo=W^bBKx_JL95qXDF&z5H+Hr_AR*R!WI%AVBG@`1=Q>BCX0V27U+)Z3j)d>Vp_KC zfh-MPIGVSBo|T=4U#n`d zJ0mPM{S!b?Fm85lFH!7XluR)kLkq%5Y=3b{YscR=g*=9E(C-AND4a_v3ho5=0HTVd zI7s+378k*$k3v|LC}PJA`XNIv9Q5nlF9DE(;Pej#5bNhh03_JA4@CumN+7Y7ECM0Q zpN^w(frv0hyTaI0AP`de!9l;I-({kzLZCGe5t2mb>31W^KUEJF1mW%5fm#rBl9Gp7 ziUD636;|&A6n&JBq5_~2{s(hC`q?yM61x2a2mK3%>|s3l8SsD3px@mm|176v4K!RugRxs0JAwyTRG!M`T6sjkisZ+iOYZTRc; zMKcZ%7edt6WW)3WR+u0H2mL}~s=@VJLWsEDgh1!U^*G8KN>u50TTIwJoo?ITya{qc z5n-@3l(@NoJ>VJ(8v_F)98z?u43AM&6|C$dgMmY7Fq$Md=m|}_a6+jr5?etSu^M^8 z(313`5&@te25-RVA>e|dg>P~6O%I6~*Rp!c|!!5Gjm6 zF#-}Wf5Xx4uOxopA3@|8gNjzp;G+3y5;v%ZBCJ|D6>K{v;Bhzthb&!9H_hVuTYkcG zjuc5uqDUm9O8L1c;sdUcgcn~_l+6Hg)nS6W zAPU;su;3uYHUe)kytb36QE$5q3lh;ko537&G}Xnhn>?j97Knhk=)*B$nsSf7afmA1h6Axv3)6Iq2J;a;BhqkhJeoOJZgGM z3O7}aL6%}DB?h8>vN#HRnu=hAzq^_KnQacJjDa7TP{MB1bV>m?<%}iP<&wKX!YS~f ze;*w5>)vM-uBy9=k^8TQsK8iArl^c-6fcl*J#8P4gh_?`mDn>iT(wM%k>f8i>}XG0 zi)*;8Wn>51aYO;l(NkYS6Bk9t5mT0nqGz;mG*+9D13X+Xc#Vn#^>7hKJTaTA;vpJg zfTLChjO>5if@~_JLBIPPhct+?H6xg`VpIT!(}*{O zXaBki+rr3tVb|q<==R$h8&H{qz>fzuj3VGy0zqS!0Hb+gzbIk`2NQ^A^Gm3R?1YOZ z9RF*@l?X+`TmNGSl93FYlZl$PX?|Lr0av}&UuW3n7+|*#`3Lir zKkQn{0yPxiOAq~9xO5zDs6#_Fy;lx?*Cq583_sA5wkzp-V85raiiVlC5 zB>n_JX~efAs|kVpGq9|wFcUR8rNSnhv?~o+fyGnv+H;~A_O^Zm$yDf6bAWU@{A`XE z)H5B%bNV@M8v7j1;Nq^Rec>+{0^Ll&g3-VHe|(ASe@G`5DQ5=C@)}3=GKjt4fud)7 z7g2Ulm;rAf=w$rvF8t>mj_2*7J{uUzAifP844d9M%fZ0#9zKQAzr)`HlKY9;y6uO% zn_U?JK}ztu!ckaPEX8vu%&&&Q0^oou!UZxm!NUWM!zp+7mrVG*(in2nKZzb(Ll~^g zgl|`+&M$v-iWWuBsbil<-;=TUp!?bZeSVF(QzJQ$2 j2c#_G6G8aC7sd*3UIm~7`crHY*kvKg%(fe$TZaDu@^9)> delta 27321 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 comments;