From aeba05cc19ab28154febbcc989690cab232d94d8 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Thu, 13 Aug 2026 12:23:06 +0200 Subject: [PATCH] update polen --- .../AGLTimestampAdapter.java | 149 + .../ksef/api/KSeFAPIService.java | 2 +- .../xml/TimestampTester.java | 83 + .../invoice_inbound_de_review_template.xlsx | Bin 0 -> 40421 bytes .../rechnungseingang-de-1.2.44.bpmn | 0 .../rechnungseingang-de-1.2.45.bpmn | 0 .../rechnungseingang-de-1.2.46.bpmn | 0 workflow/rechnungseingang-de-1.2.48.bpmn | 8880 +++++++++++++++++ 8 files changed, 9113 insertions(+), 1 deletion(-) create mode 100644 office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLTimestampAdapter.java create mode 100644 office-alexander-logistics-app/src/test/java/com/alexanderlogistics/xml/TimestampTester.java create mode 100644 templates/invoice_inbound_de_review_template.xlsx rename workflow/{ => deprecated}/rechnungseingang-de-1.2.44.bpmn (100%) rename workflow/{ => deprecated}/rechnungseingang-de-1.2.45.bpmn (100%) rename workflow/{ => deprecated}/rechnungseingang-de-1.2.46.bpmn (100%) create mode 100644 workflow/rechnungseingang-de-1.2.48.bpmn diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLTimestampAdapter.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLTimestampAdapter.java new file mode 100644 index 0000000..05e97ec --- /dev/null +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLTimestampAdapter.java @@ -0,0 +1,149 @@ +/**************************************************************************** + * Copyright (c) 2022-2025 Imixs Software Solutions GmbH and others. + * https://www.imixs.com + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v. 2.0 which is available at + * https://www.eclipse.org/legal/epl-2.0 + * + * This Source Code may also be made available under the terms of the + * GNU General Public License, version 2 or later (GPL-2.0-or-later), + * which is available at https://www.gnu.org/licenses/old-licenses/gpl-2.0.html + * + * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later + ****************************************************************************/ + +package com.alexanderlogistics; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.imixs.workflow.engine.TextEvent; +import org.imixs.workflow.util.XMLParser; + +import jakarta.ejb.Stateless; +import jakarta.enterprise.event.Observes; + +/** + * The AGLTimestampAdapter replaces text fragments with a specific timestamp. + * + * The adapter parses a text for the tag `` and replaces the tag + * with the current system time. + * The output can be formatted with the attribute `format` adapting the Java + * Time Format. + * The timestamp can further be adjusted by days or minutes using the optional + * attributes `adjustDays` or `adjustMinutes`. + * + * NOTE: Can be removed with Imixs-Workflow versin 6.2.8 + * + * @author rsoika + * + */ +@Stateless +public class AGLTimestampAdapter { + + private static final Logger logger = Logger.getLogger(AGLTimestampAdapter.class.getName()); + + // Default format pattern used if no 'format' attribute is provided + private static final String DEFAULT_FORMAT = "yyyy-MM-dd'T'HH:mm:ss"; + + /** + * This method reacts on CDI events of the type TextEvent and parses a string + * for xml tag . Those tags will be replaced with the current + * system time. + * + */ + public void onEvent(@Observes TextEvent event) { + String text = event.getText(); + boolean debug = logger.isLoggable(Level.FINE); + + List timestampTags = XMLParser.findTags(text, "timestamp"); + + // Replace each tag with the computed timestamp + for (String tag : timestampTags) { + String timestamp = computeTimestamp(tag); + + if (debug) { + logger.log(Level.FINE, "replacing tag ''{0}'' with ''{1}''", new Object[] { tag, timestamp }); + } + + text = text.replace(tag, timestamp); + } + + event.setText(text); + } + + /** + * Computes the timestamp string for a given tag. + * + * Supports the optional attributes: + * - format: a java.time.format.DateTimeFormatter pattern + * - adjustDays: number of days to add (negative values subtract) + * - adjustMinutes: number of minutes to add (negative values subtract) + * + * @param tag - the full xml tag string, e.g. + * @return the formatted timestamp + */ + /** + * Computes the timestamp string for a given tag. + * + * Supports the optional attributes: + * - format: a java.time.format.DateTimeFormatter pattern + * - adjustMonths: number of months to add (negative values subtract) + * - adjustDays: number of days to add (negative values subtract) + * - adjustMinutes: number of minutes to add (negative values subtract) + * - adjustSeconds: number of seconds to add (negative values subtract) + * + * @param tag - the full xml tag string, e.g. + * @return the formatted timestamp + */ + private String computeTimestamp(String tag) { + LocalDateTime now = LocalDateTime.now(); + + now = applyAdjustment(now, tag, "adjustMonths", ChronoUnit.MONTHS); + now = applyAdjustment(now, tag, "adjustDays", ChronoUnit.DAYS); + now = applyAdjustment(now, tag, "adjustMinutes", ChronoUnit.MINUTES); + now = applyAdjustment(now, tag, "adjustSeconds", ChronoUnit.SECONDS); + + // Resolve the format pattern, fallback to default if not provided or invalid + String format = XMLParser.findAttribute(tag, "format"); + String pattern = (format != null && !format.isEmpty()) ? format : DEFAULT_FORMAT; + + try { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern); + return now.format(formatter); + } catch (IllegalArgumentException e) { + logger.log(Level.WARNING, "invalid format pattern ''{0}'' - using default format", pattern); + return now.format(DateTimeFormatter.ofPattern(DEFAULT_FORMAT)); + } + } + + /** + * Reads the given attribute from the tag and, if present, adjusts the + * given LocalDateTime by that amount using the specified ChronoUnit. + * + * @param dateTime - the date/time to adjust + * @param tag - the full xml tag string + * @param attributeName - the attribute name to look up (e.g. "adjustDays") + * @param unit - the ChronoUnit to apply the value with + * @return the adjusted LocalDateTime, or the unchanged input if the + * attribute is missing or invalid + */ + private LocalDateTime applyAdjustment(LocalDateTime dateTime, String tag, String attributeName, ChronoUnit unit) { + String value = XMLParser.findAttribute(tag, attributeName); + if (value != null && !value.isEmpty()) { + try { + long amount = Long.parseLong(value.trim()); + return dateTime.plus(amount, unit); + } catch (NumberFormatException e) { + logger.log(Level.WARNING, "invalid {0} value ''{1}'' - ignoring", + new Object[] { attributeName, value }); + } + } + return dateTime; + } +} diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java index 3e72170..e2d6f8b 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/ksef/api/KSeFAPIService.java @@ -222,7 +222,7 @@ public class KSeFAPIService { // Now we need to wait until auth/{AuthRef} will return 200 int code = -1; long start = System.currentTimeMillis(); - long timeout = 60_000; // 3 Minuten + long timeout = 150_000; // 2,5 Minuten boolean timeoutStatus = true; while (System.currentTimeMillis() - start < timeout) { code = kseFAuthManager.checkSessionStatus(workitem); diff --git a/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/xml/TimestampTester.java b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/xml/TimestampTester.java new file mode 100644 index 0000000..e5ec433 --- /dev/null +++ b/office-alexander-logistics-app/src/test/java/com/alexanderlogistics/xml/TimestampTester.java @@ -0,0 +1,83 @@ +package com.alexanderlogistics.xml; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.logging.Logger; + +import org.imixs.workflow.ItemCollection; +import org.imixs.workflow.engine.TextEvent; +import org.junit.jupiter.api.Test; + +import com.alexanderlogistics.AGLTimestampAdapter; + +/** + * Test the timestamp bean + * + * + * @author rsoika + */ + +public class TimestampTester { + private final static Logger logger = Logger.getLogger(TimestampTester.class.getName()); + + /** + * Ein Einfacher test + * + * + * @throws Exception + */ + @Test + public void testBasic() throws Exception { + + AGLTimestampAdapter adapter = new AGLTimestampAdapter(); + + ItemCollection source = new ItemCollection(); + String text = "Heute ist der "; + + TextEvent event = new TextEvent(text, source); + adapter.onEvent(event); + + String result = event.getText(); + + // The tag itself must no longer be part of the result + assertFalse(result.contains(""; + + TextEvent event = new TextEvent(text, source); + adapter.onEvent(event); + + String result = event.getText(); + + // The tag itself must no longer be part of the result + assertFalse(result.contains("W!1O&j41e6ZI|8+tA^Q`A+V(mmn`|rIvpmU@StR7y8oMI#)jo7BjsbZGL& z!Gn%fQLWKQAfp%@yGb@ zNwCIM6rzKfYQdTxNLR3ojTMWn1Rl00FVleH%enH`e!oTMBmV0CkX z*Eb8daT-;BAqBWaX@XPxJkJA~%)z#yE3kXX!UZ0Ar$VCI;;aSHIu3?01*(gx6wQSuf z>CJc!&gR&t9n)~&gR-RbqnT@I=xU3t&J_{@nZRaG0={m1JwIXITPP~x04tvrh9pwg z$IqWF*6=>*_I`7zJTou99pkgU1onGtV27veH`+j>yVJ`x4F?BB0b$kjp-ZGodu`2H)>w>+XgM+&4&@3+$9~dgW-O}H; zzvO&@|4rb|n{AEAKk3s3`Ckcy`ELT9oIR{foc_(ZPFIKxiki z3Z0GYtD?%aDrfmBI5>8orL}RE?Sh^kE;LBP3v1@4r3737iu=g!)M;!zfrgykjiRB? zFt;3f_Ii-jY70G#M$(+Ssb7~)PuiL)EqpY*0rKn>&&+k|qh3k-8q$|RP<@>-NXG0{ zH2k_4<>Nt)zr#y#?%^`rVkGwecgaCynB{L2s72t>=-Qs+!srFboZO+|*r z?hWJeMZNf=lUQr15Uo0K#djp7DTI0)n^T8QCu9zbi>qUUv)k5By>CyKW8Kc1+uWUA zkMH+fG!?8lSqV2@9VSnGoV5x1+>_m^+P`CEB5o0iRU5VL1#dM98FAf=u>J71@Uz7! zkgCKA`7;n_x)9#|E!_QEo{_gPLGEPc4T`Y+t?1q^DgBA2?*axeM?rW4-{l3UWMv=0 zaVy%OgWeeg1oWj+>va>Cn?9tch{;r8kV;RVvbSl4-}>ylIB`q~!hM9g^aE|fhs#sC zw7baQ!5Ymt_SC2%U!qf-S`G^#SaAo00=1W6pZS_6Vy^xL~1Ly#Z+`h=0ehA;QT+`ywK~( z7_OI}R`fKO4+?;a$*Giz>--v`FH&Fv5r}G`d=a!Xi&P0i%)??hyAGuG5ZqV zawTMoiRa@_#xn#=4;@cM*f5;Krb`s8gS7R3a?+y~y?xZ^9;091`j56=-?l$^pGot7 z$G#VIFSHt>amhB%-M&sg2$yuG_d1YykXdsnX-SUQ8lJ)GdJ->w2f7W_Tv z)`^Izd>O8b3=e}06KSU>V9_+xNIHWuhK*E6!!Oq&-~GJaw{C{9>mVs zVj(scShCFzN<)O>@;$<^-G&v5Y#2XOv7(F9!uIEV!ES-W@j{k7byjz`^7F_%zBO$w340gwub5=AJzYST}!3Lk9p) z9Hq)pnwkH&R=(_TTJz`qMf;agD02Fw7XR>RnD&1$is=8$l1}C(CeBWD|6N-A=Y`>4 zX#HoA5gj`TIY19D^6D#+)-7=z3v#u|KP>a2V?qA^p%M7Vy|H#4w{9nS+|6juYkK}H38M{q(`0m?Uc;^is z%fqgA)Jd^jyjcvIQoySGs6zf3;A zX~iRejR|w!rkpE%%=Wkoe~&uT-@i8>bo4Pv#5{r(GY-?=gQXt7zhckh8^Rd-)3EmN z>C8+AJRD3mP15$DlTm5xVTl+_Fb?h}TwOKjqX;=Dq-@;i@2;Wax0G>f)~vke*hvX` zO7?jNIn-p)Wf8*eCWDbpj;|R!lY9T>6Hzxul%gCoW0rq&6vp&M1xKYYpQws6;b^)g zBY8PC%!r-*@X5u1OYy+RQ?xp!gw$%7gsu(txP$jV$y-V(4&)vMPQNRE{7yur6=65d zG6xcmlG89mp_qrUrTNhvvHyzp0?ET{K9*OL&6Xkrc>f)P4*f?{fBVM~bVzv9TiBk_ zx+m*IFm5XR9(8gSf*oo?G8pCH!@66RnIDSVHVVp9v8Neld*@Jp6<7bSNGrdkH9k`aTQF6${M# zx^B?lpE2efifL8?Ndb~kjHaF5vGdcixkp%@`R*i8QE+<7n3a?TaKJyk!0{yQkok52 zLkvp_X<$H4{*~rgta&Gx$9|k7vWblQ9pBm{W)y5N##&Z@oL~3|a>83FY){y;Zrz#` zW0ROr%LZ%BdGg#syp+Ob{*>jncYvk(bVQa$eR-Hom!D%PX)t4< znnJARxFfX`+hRgtmy&1lkyh^9Lb8@G75MZasi)-WlUyu?uZR0sT`A_19GL12W|M3# zseiNDv4Db%Cn@LnGt~@PMLjuC0In2EJ#m$?vVOJxV=#}CQnt3IU}A!?dLs7&Q2=|o zGzu4n)CQ%yA_<0%`=f^CLb#x+vZ9LkLU>h!NEjfPrScc3k_ox^S7b#md_f2cvIFiQ zcpL~UQHme#v44pdLZfL|%p^a7*gpiQ3$u;4wXHl$weJC2JsbGaX-{eLJevTEA7++SC3gI5$#~xAAUi|*HSMjG zl#PeI!0;esJOE2FA;yscYdCT79LM(OqecXWpCCG}BJ;Dg4(+1OeD=UOaU zIzuxLL0wb_hI7%DbF3k#igT>PvD(#rM=jG9D^pYfragNCa1IOVtVM7hvI7TnyCyK( zgALPC%01>kLzl*!HbZ!`=dvkTy{(2rDU%GO>S3G8@)V>RVwPnwBsQ5#FfzBW)rE!r(lfhzPoD*U%A!s&~X8G&JU+ldO zyO7rW(In_J8z0#| zR$*ZE3cYga$6)?UJL1MO%`3(l?orV(f7P1FYEDzdu$S=KYfz4e5$ z`?Fas?|bz{{P@tCE>c~)v+WJ^uQPIY@16_)=qCA}6&U%y&N!JHIGPwMIXha|n*FDT zL?_7nvt&2C7FB}BF=Lj@X25W^~+?Y(`g%BBb}gx){wpZ&$3pyiYwu8wSxCp$A`QHTt~ zsBt<5kVQhCd9S+DGyt89}nv3VQ3u7Da0HBsUg{ z2u;%227f{%`3N+a^>BV!7c4==s+qm-2T~AIF^DV0A&>FJ%~DyqrCiUYMOo?U1EA}j zeS5yhp~ZG?N(Y${&UG&5=jIQK)`ZALVRI)e#^5m zdp@$s=Sa`G{Xa*SF9B?X1X zd8Rpf$9mxQ_B9R;ySs46t-bca$#DvDr_ULkd#~3UK+q#(6B1-$l3R%{i{QV3fq@wj z8P6Lms^OVgY$QLeblz0{G1&g?39^Di!1yIZg!x1RZb1IQw_TD?tDtYIBEr&+$CMNp z9H1m9`vH`i01OC!{@kM^RI1f#6Kuf{Z-Hy)cS`yxX@@5XoN{2qQWXl@U#U6j9yhR( zZqNJhj-%NUASX>xS6N?uwSs`yL2V}{q{JsDs(F-EfO!}(G%PHv8_(mmOzyAO4~#yi~q36~hp;&n*HzF^(NWS;+ufO8U*2B) zEVQ%sHgtsK_;xb=)7;h2(b7}j9>UAc&B@C#oR$4s9|^%P_=LCmJ4eeIs57Ki6Q@n^ zX@rJQ|C$SaR-@fbAuCy1B=oYC93V!RmZiY)Vx@rvT3d9(y9m{)AZgm;CG~a2SMqJL z{+nSy@S98hDL43o*J%o{L@XRULzEBf4_Nvfs9{I`s}ZbJTGt~Lq&6|#>WtaCDQJEo z5O9=5Jj&gyJ$F3U_H!j8$;dSi%E7%CjgH%AT!7lGNt@H3NNS{2VnoplYAR3v(?h6Z z->^TbCmS=;rxYu-<$KxO)WuJ_I<|F>hYW@%x!lS}o1_&Y_5*SOhq{UJLT~MH4j{Jz zW6uhjKE+F$#jn{3?hfDx+G0&n1?}B-J@{7F1ZM;!TfS7!z&8NQ?!JtSI=lvYoVn9=SWJ%$K<=7QCza+#hGVxpBxIfMIM7 zpt?Ne0>JFH0h2^a8yQ~e1*>IiSr7&^!_RuwC`*N1i?tCqNILK}k$$G_&T7CNARMLN z_AX)UXMlu-3t4O7;SDgHjBess3@JX%K5j#=6Ee5vQiAtSE@unbH}r~-QEunivzg*Nu?jSM?S}b8SS^aAgEY- z2XyRBK#0Cl^)p;wm3Z$rmNB?Tv8G|E$SNrZhibs?nu4lmO5$?X7qxJD&)%Gc-GzFt zFx>eNx`Gqa7fzQUYY4dIGm8#zj5lbV{#ko>quF7Q>w;ddf5!NA<9bkRW0b^0s)o=U z5T=Ly`iXtb6**y&yTE5(`cC_^0TT`#g((#%-lpx`^Az|Q*h2*)-{D731tS;n+mCXE zH$VG1W#26@?!9+x)6=L(RgFLX_1-`8F?v7;>Pdwjj5WSiRka-h^44^fcc9|b{ydKq z94R(cA7$d)tpn-?NnNI? zG+0+0q^U1-QZ4kUinJ4Qi=b6#PO=9zK|;_-Bkcyl;Xl9@e1(n(cO-`%^ddV}BQ#8z z@Jca~e1k=M+_dIoUh-fFaF*dUSEV12F-I$Iqln!4=bjf5P*`HkCJXTAVtW!7ly{X* zdNoc7;tds_!7&G_)`7wYOpZHLTVly`u>sar03zg$^fb6 zvXiWffurqM_SR{CsdL?}4C-?Y?eki|oL5bE^iz>D@uJC<=yzs`I2o{^n<5}Qu>egM5VJx&gdkgd<-7GPs0Kg2J7aBG+ z@?J}x=g7u)ooh2)Pym0v0fXnMxIXCYyUZqB@_aUxcRhbFCLasAVFx4XT6TWc`!Y7I zbw*{(DKx*l#maxu9T&?{E@f2>5_7-KH&c1H|F}rSO%kbi8GH9#mXCn#TRkn9?PgKs z#${Jf4EFBWy=OC~>}6tQn!DvKMZ&h;qh43R{}ROc(Fu$a`khlQBA1lnz^#SZY1%I< zD$jg7ONzk4(wO<)gWNRMBCFp&dYzf&yM}V6Bv{h&QGZh1^dJGpY90diJF~b0u%V2U zaG(O_eoavzs3o}(oj^G*1iBzv)bk~$;}I6h(4sOCe`3Qy5Hox}ZS#)CCfgXz3y39` zZ{G5W60h$88BI#QtPDuN;ojY4Ufw_P#TBS~%@YzXAtSkcZ7sz4J5|JVwT;xe_l+(4 z+x?c=i)Hgui_5d_qPt9iIAXXc1Nx!(xG^QKmS0jd+@lHE#Myi=$+{BA&mO@lEjIHa zUYX7~Ul_SHkHJ^0k7`uNASF1D{lqeYzh^G}UZ&l>&zuDYU_D>tt|qyWhvGWz1l6ArMax2`L%lYhmxfgjPA)r3ht2-| z#OfL0Q^lc@9NJ62ab7SI73BfLw8)W+3=?~$f*lRXAHLpevvh2~prpN5Iv1Ab46-mC zMEj*M*o=BRjs(N(bnt-}_rCiI=$q)liaC$4;t2J(`@$Aha2IlQy$k%g&-Nx8O7EYO zUBD^oIVf>Zt??a@+$luQ_HiLR;I9qf{vlkUk(=|f4@l-8Gcz6^kiSmt6^Yi2FDC3f zzhuPBO&$_3)a4$PP9x0kUIA@E;R3CK9jd#Dg}DzF>?}iz<9l9YAf^xXJc@Tv_q!2s zSvE&mQ+aWkCtYaxWeIde(j-?OgJ91^FaqU*TJVQ z!E$^k(Vfd3@b3w%Xb3nl^JzV}Bdi$Ruz* zYQrF%(3akGdNS+^NyLcE_#M1Ux)#mW&^i-X}O$bCpV1}|7 z52fk0#xnfs6Q(Vf0ER+}T+ea2E91Z~UUYC7Ty9H3_ zyJkW)hSpelCD!=^wX-u!1|B+XBAj`d*N6JVBadavPL9=XB)A>2g~;iNrKbL>;l{|e zB#kd|O;08Uxch&V+*MF4i`1XB-(6jMRJbv8RA}wV`k6<<*}1XEwq2c8pHm9>?9N}# z?~R;<`~)EqNXND8`rK$^z63_POGg?js214|Al&<5fCn#pVRx&#tk+Q&bXi>xP{Ye5 zZnlfNZGrvl_2M3eujLbL8d9V+Bk*~7qHipHAv4m3q39NFS*YC~za+e>X&4DogF@PZ z|B3OsVjWtS;Rcd(TG>0Q)ew3FMjz!b9EN%!afyxIxfs&Ru^sG<+nxPyl9P%=2Nb`%{sie@f02Qo9>Z^7v-IvG)XN6)$Lkj1$6u%@H^$v13*-{ zdw-Y%)9qhHm9Upn5%_!(7a~w8^brbB1nV^ECl{B1r5L9WTHNG^ZjubH9}SG^orqIh zA=z_A#+8;(5!blcbHjM{eHkR#Hl3a5KW64_bIwIaJ6rY?Et6_c0VijMw{h=Tzk~6x zaN>+pRelxZfDHpfnJ7#)Eu@!*yk#FA)$Sx5}{^905XEnk5)JD+O91Ze0=z%JK=UZquh^+sQ+?`*a zJ%vX4D-j?Ao_;3akSs82F!GCaQZ(Yju%|te!^7*(Nnmvawv1Sj{^sgLiyG6tydCTU z%*5Zr>cg7(BHX~W>kQ#O^)9&KlN8#S%fk{0c*AA!^MgAos(qwP233dDn{FnEiuB{1 zSXB8O+9By)4GD9L5D^s@+0kS&1H8Csz$OI1X%!2;PvlnBczRG^j+#pf-<)x`V9LIc zGRlYx@})%?33;UF#0G~#oJLWA6kxB%ah-~QZ#RIGUu!tZtpDmQLM#X z{&FFcSs&4_7^&o`(lnkX%Q(i%J&NelEnYyUgI=d^S>-F&b*h*$IbB}b{Azr2T$t|? z-`i$*L&?8{3K=h|ln8{*$DmoHdzVHa2FIybAlt$~2-D1AenwrYD9hZ?tO!>q+Fvj# zNDi{dw$3mr=vxD&qSW99cqy^qmi!#9I=;r<4&-Tnd+-(^mG>#5V3oTIcXPSU-MVRY zve3F$8P628fK{9qR!SO@w4%aYn_C%AGMZKTE0unDq;58u4)KxF5im1N7 zkb55~QOTdeuZ16}p?H6!G~D_0=-!XI+z$QhWOwUHs5-bNbCzUHuGdT9En`d^!>u)q z)x(+)2>_+Nh1G|aEF%%30Lx!8Qs1#n18n(f(DMoOKB!#JDczPe6z2;j4%sfOrqiRe%Yjtv()L)Pw`TJ1T(`K%NIX%*oqQ&O(z~lUQ*x zkNR%X2i5-YCM<+U(DfewFjM}ZV(wVbuKcuT7_ZVv2pTsf3B*^7aLhVx3pSvC!qaGW zj`H>M2z7X{=zVd$Zlc>Hm2mm+?Ftxq1aaD>N2hM#*yz~2l0h^(Kd|mXi!_pH<>?Nh z0gv3i!!G$%Rx&2Tl~F^)xa4Fb^Q@^L%iLQBbKSxbbXLsN{Uw zn{sY6tDv|bcrXu`5jVbW)B-hT7L+k5JnUQ&NDGQ}E0qv#OY)t3lN@#Fft%(EaT4{V z&wu{nTrAH z8lo4WKZR=Q${s3Fs$=C42=Xy~A1as{MQzgYHxy~*Gao&4YWzwH_zE1A_t5Vbr3-1YYKP$I8P?5w9iDvoY|8 z2j+kcypQiX`XEnE%GkezuVU@wUZfq+{M6R`;PX?sxAjXYh1dR*^%b|em+xNPH7nk& zWH5uU*xHA((*Zac3lb$a`b#T|VO5~L`L&Suwt78zZDc(i^`*vlV0&W1a*Xtr@dQU) zZ8gh}u&O|ZuO8ZCs{T9XMZ+*^8W_Fyo&j+%KLD%O|9kHara_xMdyt{xG^wdH-KP=u zhz#UJ?3aY;Ru&U>nFOK!hb=^FTo8^TZq^=+S+Ws{y_|H3rS(3>GyaAct}f1I#av>aES3riMx5v?E%;` z@>_QO|KP#7xXA1L=UwCS;MoS+p78TI5AWd6FZ@62%a3!1?< z`d%E1ty1mhg;aJKU+!KyI-(2oQRcmsQK=)@GrKXof33x+;l3XE`-@dI$GxO_Vm1s@ zv*5B2-?Pb5swhm1XKRN#6+;B8>FRcNJE;343Omb8_H@Yx4E`NA%mRtr9Fn;`1KNYj^d^TqKDdCuE4i5~8+f!wmIQ|;v{kRx zMk50x@5ek$r>+aO%;w?Ql*H#Y`DK6Sl_H`)fz?kX^{m;f&+%ElP`WhkT{h~BUU$eX zJeaKfO_zNY8$;B$c2m8{I^oX|utjf={6`TDvqd+w{QnpO}M+c0YwW~|f5cohX zQWTDo{jN6tMoU(9FKf^1qw?kV#9rLWyx~_4=5zx`ubfO~fs>xpBsm`SISG`_-`U!c z&eQsQcL0O|SOU#+E2fTDZy)tX+I)f?v)|H?0PJb5EdNIqJS1@$eHoad*XeSMFDIyZ zkE&wk2dJ0zB^GXc&a&>aaAq8jOZrjf@?{Jp``mB)%Q9y_7DB)G;gru{Aykv$$FBD3 zBL$0H4gTls1-=lkVLa7K>VrQI+0X zpg->ZZ{AJ<2vLBCAy?d|+^<(u8b(m7$zFaAXscP%N(l~9--apEdDS{be#}bhVzXPy zkHxjh4qQf%Se@91<4kB{A4*4PdI1XfBrox&K*{3Aw;w__xTrlrcxzT>Lwh3SdSeDs z4@Q;TQ&T>fs}%vz6E}yn*nd)O573Xqmob?SX5tOw|EA=AlQ!x);KXJ z1L{pVjU53~M_O>Hd;e7i8arS8;nPc*nGpqqTdfq^JiJzg>Svd&Ysl+3*oOh$3k(&X znym6UbfqE-3n`VaMk&RHsS~&=%ktm!!>=ewo09Ec7C)@%rL385%zLjlu$V5fTX(T~ zwD{J}PGt=o4ko%83g5%|vRwH)thzbKzc_`_g_B*n%0xX?i)$FY2dEMAo4b%-4$6!x z>`v6J9}U_Jnjq#<%fk5A()~zuK8)rS-cM12faAxx%Rt@iK^3q9^-@8qsQ0Y7k4@WQ zWsoW8bQ7pSwk&Af!566UTc+IzIF6mt$%!{HF`61~0{$t@6v*pHBwK0aZ zX~5h+iM-cJ9fmS&xymJd$H!Y^@!ye55}Yk@`)c+O(pyVTA`>f?L1uJ054VbkWmNj; zFhdsFbc4WC`R;wdiPJCstCKu+R=yT0QJg22e*{BbYcaRZwL!$oQl}~mp5$Xjrbc2W ziw#_gI^%;|ce*@+U7E#r`K+G}$z)t+*bW&Q-EL2~yq7+2ZsvyKuTt=0EN~~Dg_(FJ zZ*w9&_W?T4+?ro0G6Nm^O+IIN^uaXo0*H1gr&Azj-Rxt-5j$Sv0IVoSAyTUv9%-vx zl3la2{g(#Ro+S);V-#PPMI1SHsl%N7!U_0H6m4fjv_jFq&wOyaZxs7hUm|i}l}y*$ zcRh~MQ)69RY_Nw%vl?jc<}sXfpcbFh{|H66ZR*ljGC1d4%W7aP z=iP0hmvaI80<>#QkC<13)xSc*?|$uwjqrD52Gi$(M6%`*bTO=ho)1)y_g9IG)8Rbd z`& zB!5Tn+-9GJogAfp0q08$T>p&(#M=YEwOmWCnDxxD+O^Kc)$uk{17ktda5nCi1OgnD zKNL#~quqAgo7rxcD{ZC38Sr^9d136KpkK(v-4unpk)jrmJC1ECVUz7x(l1g3-qe?@ za*f$gcPM@>L-%8_!m-cI0a=^yrA0`8`|*m7i|=Y7g83>HP2W%MY+#GQK#Dcz+$R>@ ze5g=@Fmo;TUJNrr+128^)C$XOp+(eob=}b~wd-TF8|3%GFSe;(lY zW$h|58pp_lC-=_`u^~SFo+m2&EfFhAj6xk;LEI#`lF*F+m~odPZbV=q;dfGAO<=xD8U_r#pO$M z-4UN?8dh=_2d$qKJZ2}il7(|P50S*|y&Xl}kiHy{N%Y1xJDI{*d_??{xxOXx&*mOM zfca#YQBzeDob45r$#~B!Rn>CIoM)9~vp21Fw1ghxfMovAyVKY0UkZ}@#4aCH^SxgM(6Aumbeo@QKVwlh~)}Do}!G*=Q%NaY7C)9Z^**UCU5_%Vy~uM zwAF2s8A^o?k)Hj!>EQw++j2!#K$7+D$yBHAMEIdq6&(dV8^(HbD#RJO6EVe^^p|g2oBW z(WFctzZ>R-#log3=n-{Yrq>@{K!zH;$;u3ZFKiDxcs?L?vn~ei8R$QAu#h`E9egRT z4r!e%h#2Sfc#$M9uumHw2zua3^(Q{mp$syiXz5Zii?xO#Osar>l# znW?wKRBR6oIx|@!*l7g4AayZ~QbaDZVhxYGU9$1|pfj7HhItS;Mm8HNs3&mmQeB!a z7Y0%C_!+H@r9^)@@?AR04g6D9UiFN}%e0g$-I!3N#UC7yv`dv6m2VYJ_sqB zm}Uk~zC6!DTXqjBt4N7dRE%s#nq304qBtu!g*U*wT%~PaFp+ERT6w!Ea|=o^NXNi3 z@FnjJXxcO&^OzeY@^akK=AA`8c4USjbslo^CU6L84rU)r{Oxog32_CG3-?XRz%*Fx zP+)iK;qBAxHa#$9+-hzrOhZD&HY8PjM(z^+_JK-${&`H?01<01Fvq4W=KoxCM2`op+>u^H5~)^$B{JiRVQv9yYj@o+vVzI_{F3jbd5{oGW_aKm9)kSqx9QlC-ZjoyXLvI_h0~ki z0ragFps87x-zY;%y&LY{mC5tG;P3;171pG~7*WlU_P4fp>pDw){JY&%PHdU(AUl_T z6aV(6tL&GeF8|4<{HlTPMJkTMd;DO4&>pYER{#~0x$#@qdRmroM5>DJGY)gacgUA~ zEBE1}sL7e7^ggWtjs}N}MY@~BZq&5(iTcqEnt;m@Nv)eQqPEORo-Rq7H!q5)7eS~d zjV>$l&vZXL#vG8_5Xj!n;9?P|rR&TGqA?K5` zPOW$OG3NR$|78Uj=15XyvT$QPBASlcK@DdcCd8H1gYmjQ_zd%?nZ4OIb!XI|ah)h!B>0m^8;OX7rVF%t6OXFQYQ9A|V zu4ewc-|k@!dSjqBY=3d`FE0@Zf00{PtG>kWsY6*V3|fp_xC|^H z?*671#_Y>ZYQ$K6gIfvMh#63X*$_QYY)`Mq4F;$)nQmX1C8on6EI`R`;YJ&a0jJaD zS8>vBGXRZ)lTxA_#X^-$?Tg4TB_>XwaTr;yA2J9*PG~K%PLR8Oz-qmFf7v2txeZLk zvmU8}?Y5WGC{7hUd{t@GE&*cyPRXE7&{6faKGDC;^-26yC0=dx=lXWD!HyB%Hsg4phvhYkMxUcli;x%XCznImyNk3EWe(w^0e}J`VEM!Z|9mDW9vGie zk$cfZc^8Bbly*F-30z)y1qdq66)R;zx${`mRsXy2)RRqM|v| z8B-~m)daigbCzNb^>J>KR8Bopx5$NFz-Sq+yP&(_NZwV#g`G*dSvr?{lMk=4I2MAq zX6K=IC84$%PthS9s`@yXK7Xy_!)nRvUTLnbIk1eyhzcTV)pbx3zM0`kL4?$7N!Z^F zJdma5wi}w6m8=$lgQjcw+#Gw|{wT3n?>j#TY0<95dX1L~&@5#|R?Pmzf&2WsAh_M=yt~u9)Xz?(ayuKw z;hX6~g~TEj_F&5TV%={GHfy|iP9l-1%DsR3!lN8Tqihmf@=o*Jd^b~6%2aFFmbIg-IBb@?i`mX1aw?@}j74B0-%c+UVzF0Gn z%s}VS!)4B4@d*_(w}~->aATfwK6AtDk-g4=Qo=*H>O?+_GQWK!n&q;v(<)Jdm1Ps6 z5fGaU_C}XTrS75Sp*tyoS=2)U?6K0{ic1))MElmaa%1x?nB^cfE2|(CJ@?I(+F5f#bX-y>*@*x-C3n*=Xq3tSW}3K%W~%z6p} z+XeUxbdhfQ-3yeRIp4{fSENC2zUvK(uh`9q&sDAdvygIAzoEtNkeUrIX66ysl*PZB z%MGYcEl7FwAYr(n2Rn0vsJRD#Woo~D)AL5XPx3&>B|z)COtr1uuT>hg zRZ5wg2#>>^$MQjkT{ZGHXg|=iAz~)VJ5Lx4}_%WEq-f;o`9&Z z?|x(vM}V<0EkI?nU4)uW7Az=Uj=MTvK)$BwBll~L#mN#(1-0se|b-;G@{;^5ma9*sE8Y$0E2 z6%^0buRf;w0JQjV2%53u!3~SSUb>4X&w0_OFGdRRL%i=2c~7zYrT==$|FCvqM}# zF;X>ysMnOX$m>AJAQWYe6GYkiqqPBUN`vZlf|(a-iZ~@X&jATqqy6R0U2IVlTqlB! z(<(nsaqEucg&9389gc_)mknI{YkC|{U#zke3Klz;ZX$txcZ3W_TIMDfKP`FW5ODrm zjyvrHxQ;IM2B%lmsG8rFHuo9&iixGmSG-+M&5qw33j!r2F0=XK3jN#B*MhZSNQ@nS5*O$NfwtpOB({u7-He_?W%un-$qAS2PzxZe z!J|49^Bk`2M61(e;Ye^~)v)flO+(@dY^qS${+G(S*?Rzzfwna>@LvKb(zZ?zcnN=l z8o=LRoHhK#LAnT`?HSTI85aF)_@b2UJ|a(cT>hl*+BqTW#VjTGf!AqrT>qX`ZHNtj zjiYaAx0@d1w(Lv(9btuMgx8K^!FjXQLSJ;;yudYV-yFLgqGkJ6k;aE>-FB)b!~qHt zAI=(kgOJC;vt|{|U@*}JcKV7&!$ld>TegbWldoknLEXI!uCNkmRH?nGkmpKGK{^~N zs1RD-4l&OMSjOI8FvVH$j2K>)oXbEB9UU8c$k%j6Oj`2mVGqh5t5vl=><Nz_gHnJ_KNlvyfeFOG;Yu(@1ph=gg24ngiOXFt=2%QD7m z02Fi>un;hwc3o$;YTTjfd}EoMHQq*ocpi)=tP#kUK(;<0c0+dAGQw{K@QD&fBl1@0 z2Z7N7Jh;51JdVH6_$vVBNw1f+ zFVM0-S*+&Ah(Gbs`;HMvCl5-%!Ti30eQ8F$5^PCv8LJmQsUTW3)^vc;D>q1f7FE#w z&m7!8OYip*ZP?f4H#%OuC|fYn4*qwD3!_&V4;^jgX_0=D!_|_{nY20D9h8q`i8*DwV%r`DDZGmoLqD z$s`=wn6>;FJ6(+t2UpYyb;7kE@iHtVELt~OJ*_)pUA^;;&q6|TI~RIYaj%~o&R>P3 zs{q^dDhgMHwS`Dji1m0XJ`A}PH)_(&7U8Cl)ALB47JZkqGiobQo95+H^l(NL6)8_A z*`4|M17yU9y|QVr2Divdj|}CUutAu%m+1uu*KjBp-S#aqGi#;hq1Vv!QB<}uudvt( zsEz$*jpn*}luBsKS{$?+=gI^deOfcsZ$ttK7GVKr)UD}ar>!GO0k7*^Lo?}XQ2@9=%1>y%1;LS<_HfsKOvxp5|iKezcV-V{Q5{SK`!Ln{hzZy0#EBE z@U;KEw&4IwpE|nTI^)iA&)VdA)kX_D@6Tl;4!OfSR?c}t%jeK^Xg&n<3M~%o`Uo9a zAh)``$jX}8qEMt**K>r(aM-YXOFg(K7%WHSdV{;;1|DG2&$Q3+tmXZ|{XW60#>1&U zf?Wcu{%1uBfd^RV!8S<$TBG_$P07x!fkSaTfKj=DhTvYEqrcpnW$|b6>)-j>M*con zB@T|}-Gb*3dgnmf=WH0&CV=9?0~G1SE}5&kpuXrJ#SF#I)xm3~oj^^{3oRR6PyUoMobEODcJwFO@hj_YyWDo za6X8FAiGn2@qp(9^)l)@W%=*G)G$ouW30fNRh^cs>Ber8(5q+5M-**+ZYZ^_{IuLw zje|y)NiHWQq*TF`;AH74f|KK5LJR*+!|HCLdF%69hm#3DJRS!84x&|E^EtV-eCl-| z1AZWj-QLhR!vhu%;C?)lW_yBj=LWi;%O zU1gKvzrjkJM&?I7%Xw9Vah2)OkFvf$oGa^_>WXWZq;wC@BE2do(yv%Tw}DA-D%T)K z^|zkTL@FOou?BOPN!b+|g&&L>7V4}*-?!8ki8NMoyn)mn+F+ej!$g?3lR|C9<$)ad z4IVI3IO!nsU`+4fsAG}d)mV348kGAFaOS3o!OCQ&!Yn9)=J8KGoh<^I+Bp5^mS{p@ z`VpX7exV&U&>ApxP`Eyg%{znl)z1u~ua-9KpM1S8VL~RP*xGyfpfGorZ(tjel4=17 zDPKo0cAEtX{owi_o;?1|uLk7RWoUAu9ey4$s~}V=-aqqb)T(*>kY)|CWTD)@X};dx zj}X&qsStSof*ug4zf2GmMXq#B(w@)0^&9(UWE0q4ihuCGWU<}^&sb$)v9kL`;j0wG z^%7E7%+Xi-YqNUo&0^b@GZtdZ;?>W`m+AK1WU8rPJJ~oAi$J}3^L|*MtFOy!ZiZTt z+OdrsIRCpa@~!WS*hT$Jg zEStOgZxcE)0!!LN+U$$bEQY=G856c+y~DEc?DY}NB$zWA)>^n>f9OiPnwh_|WIL?s zOGsWuTmt_mPC8s6Cg;5|s`_X4OX|4L*q%i?hWr)(t6osSBV3|I{la^{=i>^#`GUH< zwa?w&p3Y0a(7PS`B^pgW&98C;u*>}d+?~}GRmHz#C{9tHp63J_jhgq_E6%EYUjq>$ zQ`sW#MSLvWa1I0UXj-+q8mr%OI@-VKDG(3b2j+q-G1uH*Wc%cM-FK0!O!H5l`}@I* ze-((r=&Taop?nXcz4=@W@pm>pkj=)%vg&r$vBe@Dko9|+3 zdTT7N{cQQoPyD!=Y!6|e-IIUPQ|!~^{XGAtd&NMvVZ({T7enORBMODbsK=U861-k> zlJLc7x1NJV|5&4{y%w@Y36EW7bEj2t*8u5u8iTjoE&IH~BO;C_0UzrIBl31{C95Q1 znwB0N6<(NIbklKtYk$Z0kd=ZbT5OE~m|UQ$HP2(q_a3qVkfrTGQ8OAju-7_<)2$f8 z8N`N2Dk-)pZ%CP1ljPj5i+QMM5ZuPZ>X$ZJF~^SDbkqL)y4PU_cO6r)YY1POtpocz zQ77eOHhw-!-WTAV&eT9_)a2UB$gAZ!e>ZOKkMh1AaSpT^xpdGdUH=gMYSLpZC(u#V z#s_9vjlLe?kUx_d_p<+%n@&UiIr}(5r0~AvFHI>ACJWq#(IygVO?>11DgndGDR7A| zDir>f)xruX?%x_tn42+XhrAf-tYG++;>ZXs4M6`4xI2QH!a6wBkaJT#lo5@Vbr_9!?+cs|$Jm*()?uilDxmdLj za0^ZUs`<9GH~s7C3C4%&vcwO9lwlI!MSUpz9#>dcCclCEhCG3`bFy#fiPumW9lwT#V~RpHuF&K zyTi0bU(fK5xoXB$wtF*)LAw%sU3roA?=QE;TS!@@zn zs-#RIlj@TwO{K0Ug}Q@05keCMjbnm?PYP#Z3zQ3R26I@s5galflrOQyVVR_G`jJ3c zE+3VE`uZHUdmTl_1IkMcfF`GoyiXz^V~b^>d!4l+@W#1eltVJZUsKgBS0Nbz!`2oA zvxgNw{_8-;f0o>O3SMjH`qoe#a|=^r<(KstvQNFex`Q&RdK@ei46a>|OHIwoys-$Y z&pXE%xa8e_{ZhB`Ho`Z!Ncd)9-y!lS=DLLo=kxq8x5` znMx^*f}|V9BzyUw=$4sbL_S~TThSyt3c(y2+Z07 zn6-98-2u8|u&MwmpT2M3DtI=pbHh5WWSje?*YO zy!(iFhhITd4lw(Xy(3?a(M_9oF8Fk$CV$A8sGAySFV-ZnY~G(LX3oy* zW!7Jct*BO2G>CA;0jA8E#wI5}ccyA>oI^S+>F)t)+ar;;t^6Q^&Mu4YxPI&6vH@Bc~-NfB^M^2Q4oo6QMCSn9aNEt zZq$^$dAtiD`)-<~bIv}z6}M-1jPU|}t*xu6d^_l_;L<7I7{dfXIeeS~-S)9mr_T3r z&IKL}je5f`w!?ZxQqJc6Kkwy8m}&A2!6Mb}z$A4HW7|~&p7i-_g2Rl?BiiN#Etxky zn=IdjnJ*xp`}Ogg@Sw1quhTCx7DR<*15>pEnjL6rh)}#p&EzPmC8z$<>!`ZO~w;@{o@Ha{)mVS7==z z%EFss5kbP-g8MV~hSQaibY?L-{$MOQ%>esy=lI2|BNu~`rqnYoPgQr~Ig>#rJitre z8mug?J8EY8B_K>e%vs^%BXPdhIuT#VNV7{8P#JH|Wuk3s^}DLSroNl4UOw$XdV|%N zI-v+QcU8&OG&4TbIY$sZa<;>Qzha_2DMor$=z38^cu%t&_abz>KJc<6|M|7ugl(zH z{yIL3w=k96nPy0_BSYuRaKua7F~n*OwcBX4gv_Lt5(qPBWdg69baIa9yb$5;ne>1L zcc8O7N4uGJkA7;OX0TkrXJIfbDTGw1CS+#6un!lTI z3+d1QLRiJ2Yf#5pCP<9=WkMvzFy^?KTo$d@N-6KfyYmRE-~d?9|KdtR?_VLI-3ho^kVA45+rw= zYYrYT>wL+1JPnQ4TMo)=f?!;alq@B&5W>ySA{f$uK!})|KmBuF$aD!L?QYc){-3LL z6@OoygQ(#FAGtFLNHj`#oCg7oIR%BiCSdZ-uz%9L^B2vw7y{4YCo{qWN(%9SFCw1L zLDH`O+pW9L%Z<*O?>l{a$)1$jclZKeovczzbleSQKMQJZL!^QDFy@UiC|?Uf^mD%_ zBeb%5Sal4;8J)S0@o#1qtNh)2u2tTUNhc3Y3#4x4Yi*|`q$16CP^UGpSU0PIy*VQ7 z50GVdSO|gDpUMrV7Gr4oS^G&djzirY5LYUM4B<4%Ta-D?hZ$edU?y|c(2N011n z{3mhK1dA*y=_?j+3aU0Q%=^@MQ?EyD{(Rz`C-#$2(hC3yU&iF3WWY=G!@{?4?RU#; zkBo2%WhJ)8X!tv+6d6P4P0oJbxSM!6YqFRmDg?H0rWw9v+B0eVPA*% z?UWv;=70q)HuCBeho86(`Jnp*OJ+PKm}1u_3x(p=KK}RgP*pqlobumiyoQjKpNSQtMm?`gdRc&6W*EseBb-dH~)L@ zTKCSH8CVaCJmG|M&Mv>--p_vaNyO1q`OD3uJWRU-_#u^W(W4pdX=z=BjY&tX-bmL! z?T;_#pvs{Afqu-9Qgo*n+c&_>39|F-BM?)-mH)Q3d2(qA9a!oFrgn9Z!QZWGEU!V( zTCamH4{MnYN)l}O!qt>18^=mGWiMYRr=BNdYtS-o_pQO89~mS+fk<{lWS4(bdeE?a zXCvxLF(Z&yNxDt70yyEDo9r_L)L&4*crC;`5Iz)_rv%WQ@#9?+!vy~*StatqeCb*n zGM^RLIT5@BeH?wRdHLRT1uJC@!8S5uHDbh=t<@IIdn;9>-8a6t6Sg#;)9YQo12KA| zHFyQMa|Kv+v%Nm9$m@ooGjK)JlLC2N-{DYry(*1DhpOIXCh`^XlQ-->$_V|QDc&zH zPH6YbPAQ9Y4WS;UN1u5!CG&X#yY?i@*1P`lH!r!tD$$BJvsENXRTv+g2t|yw(O$BD zq{=hvCKR8~(dZ;?qaEAi?tiY!j{z3VY*LgPfK4ZfV`su>AAUJmp#!7PlP>seiu6V& z-{#u96mEhf4OPEJCzKYne-PqMtQX2Nwp7zEn>s-?d`#;d!LS{>PC*rF>6^3Oo;eAF zJCs4mu06$;%A!D)K$wi<3r}>Ghr%{FIJw$+H=^bn141=q={-R&6@K~yVEg!+ZMG%( zJaqY&~*F0^iNQX}C^?m-p&M=pmW1Smh$2rIF?l!({4VNMCbaPt0ba=blb?aDe*T&PyDxQ48zRSzN7lzPw zNqIG1d_%j>c^kTsa0JW4#)hefTF}EYGH(xcXeX3!OWW~Is#0-2bJIUDHwGg#dLlK$ zyxMh2N4WTO8tS#*E@B2;HP8toTTG9%SUwiKqH<7qwRogu?%xhfe-dNd;GyA6mH#d< zv=7c1Q!}vxLM($W@2cro4n$IUxqwy1W;W_&`QqXRQ8{tpMx_TD?6J(Xn!yM8z-j1`j5sdlJqIC4p$8fqB`q{^HcQ{F zE#))h$x=WSHyZG|2KIPHs?qIY8(iZ+XJK2sEznfTgV7h$3caf#A8)-6g8uM39sm(+ ze#&TA-`n#bg0aivY+mlezj}du!5EKtx31i7l5TTB1`PT*1$7(fV@8GN3Ni3r30bwgCK z&(j<3ys$VK`W)2YaTouR_ebjGZAB2|(P}=K(X@HWuwml|q~HLJ%0!HNc7xy*p!3HS zKw+m67D!J%qGPo4{7_@_%z7QV(!jN)(@S!@DrdN5++*|e72uXh159-+=}+H_wJ+YN zyeR`cpA`S4a1TXB#tt7MiTtqJcmM+3r93e=2l`lQ?*ZCs0j^L(90&4;ieKC={4vHg zmhsIkLM&{)vlIiiJl|_Xv_T0{+v?Uj@|;S#ir9Y3aQG0VZDy|TqLWfiV*hDNb$o0R zuWQ?bGj$91tqG}%Q-6t3i?JL?k&isLTDm;x-YsRQMqLb00?XLq=Nw#ahmy?J2opck?IF(N-hP47E; zd%{jzZw3J~epi4Bt&ao;DwQx{l7N`p{@b-Hd?T(*ZHKN}ZQtgJJ0`$$`e}RqC+LXG zt%#FN(BD>(Kz~!%f)WLV{vVwW4LP^yD@e-*iQkeGbZk@UC`saVF{WzIQw%>x?gfy? zaaz5wR>*P#-9{T_}jZrKeK7 zlsUED_950lGwfU}^i)xA(cfwZEtaoLA8GL1?h1fsgelzHF zt>ScAKCPj{w-AecPLt}YK>6HnyK*b4eVtPTryxR4AT=})PLr(38>g8vq8|9f<-Wc0 z%J%gBkaNkKAx~hYt0i&5$0(`Q59=Ua*on!2Xq{%i{a9PA1xa1RLs^~eLDk8`XxMOGxjG|iY0+^{tmVHT{rm?MzqK30OXjwV3PtWL`BAplSl0lYW<`Pe zA}ja!nI0Gjs{5*lQ2*QI#+_@Zz{f#_sPI2%yZUSA<&mEGsn<&nAoM#X0+juVhLG7) z@)l`QRmy*^JD21D`!UkU?_7@|XYK_M!W%X3=e2PT7x1V)DBCtD>BI9?`{k{kEaH&G zvHw;rhL-sR+nK<1oyFG7-!r}G71iY5HBVcr@0w_znNa=eu(Uif+$gR3tDVk^29?aW zxrR4yoM*(!_LD?}fm&;dLRl4a9Urm*dDfsrC=*p=Q^rJsKl4p+?5o2lm$8m2}Qs9VWljbLb{-l%0JHsfE zo*Fh5S4$XiM*T&z-#lBj@l!qF^r?0+o-2UY4Rst|sG~aFjCLwJ&zeTbLC5UV8bJ>6 zLqD5(1$ux(R@jHAl%=2)t0JxD_}42}fCxW>oFJsRT)AVSW?h`}H-|OW!xhYDdnosD zUaY&_w*E`_$C1uBSJ@W#xUVG=dQU_9X-Eu&FnK$odVh}Ebx>cI>Y)!@lXP`5ISRiY zbU!xh-hzjSWyhp;G{LIi)#cT1J+w^%DLaS-#@K(J-mC@FxZWY8>NW=&!n3}&#M!qu zy9z8G3cbfV`P=a)&j)XRe>ApBXX-ikj~sQ$e_nxxW4MtyTn}ACC$$U=_8#JtcaG+B zeKix8LFdJE5sP8sSNR{KzsJKyA$glP>g={rNIEGM^*TaYQ|8vI(yk|`yxXjJ?IO0w z6b}p2F;79Fgjvj>si5N(z~Q3xPsv0>(eQF)W~2_C5|#FQzfEZ`sJ8BgUnK+4M>w4j zOClvnZa2&2u^=cy+G(^6o)tko^^C>!lV`QG$LnmQ*xZk*_(FNgUAjJ;BRp8^JS?_f zSsV;mx&ml$rV3mEjLmR_i(bWmy^()xuk^pODlyXYw%VZv=5+o%Vs^BjL`8orK@>kgvh(@N%-Leu2Ay}t)2$`h3>g`0785CvljZeE!; zwSOWf=@0_-@;nv=?OC3Q|E`Y79i*K*dw6YO{TP}nK;&98Vg$SnKfe9hkPv0g;193J zd!B#B+&1iH21u6M5Qb&Dz}pQi9U8#0_mz}$Ew0y6lmB9i-R_NL6%!@9axH<&a$U!* zM3?Nbjth@>u&pb*#+-woB+%k}5Vl{x-~GTP)O@htzB_$Wc+9Ve&wE$UGK>;!KWc#( zDeR6Q6M1j_Q?oE4rf-!!G=*E`Nx{95X!g62x8KE5k8KL6Co-xVa;uI$R{#0RQb#V9 z;%3hMcPeUWS;}jaWI_)JOihx;ewiNUu@My1H!9$N82KVh5UE8Pc!PT)g*>T1HQzkU zG*v;1ioEAF!Fcts)BPmU%4q!hhnXiu9=7;Bo%~vN{VvMFJC8)!>Ew#03qPrU?^>;L z&@4Rmn0w=6ZPVAhAi|0Plg-b#dMH&s^{0oxmgCkhg*4OtDg!H^G6u!cDgQc26g1#( z`79+Bcj$&AjUuA~7_b^zOYs4bUK?W|Zv^+S@_Y4I+WoaZI0ibW3RT#MS!2ojL-0AL zam;nL#)9&ch0kE}PLaS0AIXC-tt{BRSObUtPp*~>{B3Ca6@ef8YlFx6Qtp%Di+U#f zAyIDx0$DsSWfm?IV&>AO)lJ+Z4bAgZq{-IlQU9H7Q2)O?ZY-rzAFtpC?>GTo#%W#< z)<4}i{#e3YlGenv1)8CM!2hZCd&kE(fsGI6+TLkcvZGyhZ8yUN5i3(S%jQ?gFK>&w zt6B7pRLkC~qEmeoONmg8h&6j>e`u#xGRL40D3+0%W6mg5a98jrNe<*EvfAGkBQIur zhlWoeYN-=%$~_@OUfLjW#6RcUxVTRvZ?wo`JvQB9hA(tRSMR5IFV7d9!8|dz#|{!Y zNO=X=kJPs%uVWgI(BCbDrHp24hrE3WAoc<-+#+JTCG{o3pEZx&yLwf%x497oZ4u!F zz6}C#G!#YDNLU{0isj&(qEfwW76+DWXH308ZAZ6v1=AVbx>WSx*Pq-z(EJT(vXNiQ zOe;gmT^yjei(m2>MoYhKlY{%@R9h`AA*H9U00vGsp|#&}++--IMY9)Mx2JV7l@9Hw z3uULXXv!(LFYoy3334Ki5K|u~R*XaAlL7@AJrBF!_YvIK-#)6tI<@@uufv$=zWty3 zuyPCJ*FK$d-%r>p@-)2vvdC-y5sr_igoL`84@CU>Z42x{?=%HMbjkOe z-lw})?^q2>ll}fbc7*&@{u1l5Y<;Iao)eyUH`$eS@-C$}RX=aylwx*mf%JPq8kGJw zP<18N%bYClWB%66x91($2?U*INbJEmHLdR4JtZzPy^K&cQc|t&+eXwJg?#tFN)4OE zv;f<*XK#0_%6M-bm&lFUf+~3ngcrDaFQo2q_HEd#;ZyBT6sxb1IfpH2l2}Xc=w^hn zKm3nIcfcO5rq?YHClR7eRrxi+cknL##g&VkV$wBG0M%Fl0hC14Ff`(x$R<-9<$QYC zR;22GH1z$Cp%ssSQd(Df8Sg7mi;Rj^_LG28NQrZ)XsK%?)JB+JIPAWJNPXkzJy_TYNi&Vh5{?0(;w0|4I4T1gfQH1BK2G6IieARcbC zTnTYBJ?3GNmFCDxh}=j_>~dJH?qla@QL|9i!hVVWXa&hq<147ilE4=^K&JDB`GNrO z{jd2o3}i*m_Kx&&(!~R@(gcl;q=`7<0?PQ0 zM`T^MgGC;ECM;2aD=CR|e= z-#nd#kFzVD&yYQk`yL8l;S4Q~FwO^}%6#{0prB5m|aD zG4vO~L}W);<7WU4 zPVv6nwx_={DpK=o%+x3WJlCGO7m<6kf-L@BQ_yo*Z8Fg^x|Zv5y(0Sy@s|(kJm3o6 zY2eE2{y87@M%W|-+|QH}3L3mw1>AszqA#|wT;Kbd`-@XAVw7DMFy@F9&>|x|6P%*? zvQ6Vuxo)=ifD6VqNTRU3zLj3dvIh5$eIt4WXhdOS<8oa+bjByWQ?uu0bL^S~LX0jD z*)GilnETd6wi74X{#B7;T~9t7cCF-nn3JV-5gb(VYS&O9yUu3-?f}R}g${7o5W%i( zp{ajl-e->Eo?prEk_q|F^yt0c`--qdD*{;Ft+#V%n~1h{FQrph73s!YUQxg^W$5$t+bdAL%@<06wQblLaN0rALbh zQtxx9NZZqMqJpwfGE3GhzRSx8E5t8UiYY9ZZ)#r>z8eYCPmZ)tdSCL~=~ye+0Ao9z zJUDfn$QoA~pCXAS%SRkkw222^JbY2|nduwDR{%zvpew-p3+N>|yi6NQj0*?&C9eRbUd`CAx>Lm#p6_;oe)~4Lp>VgE z2^Wi>{N`FSlGGXmQ9xI{Q?WJDm;z6(4*L~oz>)C2FZA&FJah^daUJVBZIP{C0dC<` zO|b#@d44!4)gVTILJMtXQ_v+ToB?-D;j{`w<|#4Uz`j0j21(p8-x*o~Zq*zcZR{#> z+dE73*!ecZPpB9&IUO`>xZSH9v07I8tz|*D{(9`Qr_Drc&=`>S5ZT<$LDS~KJ>3V(o$q=hxAwkkW7ueN8@~!tTbNBjVP<=;!}8#RG+8^U zWZ4k56q3*foL?xJ_k9jvso=LwyERN%EBtie`rpr}7}D7t)a#f(|MRvq+~Xd9EkiJ4 zb_HtbXJO`UopfQ@+2i`BmoA#knt4+j=r!P;$49dDBg`ix+9FTn^<>oC%PRoPINdqb zd4T(Pa7Yu@dIg{Zuds}1F86bU*8^pkx@l-ch@rtmyGh5(=_3hRpN6$^*;sQ6gustC zOI^Q;*N@oHtwb!nnNL>trDW(MI0_eDjB!TCs2M`UoGNW7JL#G_J`0o7teli6jh9>j z%8wztlD$XXy|&C)!yTKM?6Q>UcDE+jLHJ3ybE}fU!}kEX3kG>`mHAZpeJJa!*4a4WlnR)E>-ua5l;i# zI#~z@u?$@BW`Mbz=caa(XuUP2Wnwa^o>vQSlPw9hw{OAPka$kl&%5NkH@8Ct(JUnW9wzzC*9R7}xvSQ87ICGn@O6HBtM?7{ZE zW9^*0QWB}URZjD-07MJJ(odg?Gk?KnPWZJ&9(n|O?D=8%xOV=JVzrloy1*--|5veo zU+^OLzJ4agX5wo!eSB{I>BEN9!OumR5}6a7B4z3syAHEIOK3*10zI^x*_lt(!Wt{H zh;R~m?{FS^;>DsCq%&d-r*VvYS|iT*q971}4vindiO4``C=Xe_OO{v+nQ;knTyGjH zzNLZ}K-nt{b&_>3)XDSw{G+Qkd-I_1J@QPISndkoWC!aTCQwW1V%N$A%kxZsD!C6^ zv8kguOR!1mO$jZ21lrFuFbWcTsf`c{uS#{x>9?@6V{E69S(bXyi6?SXQ0zptbxh%u zQ6OK{xps?JMcVlPzBm8>==g|&N%^(uKAexU`|=!&)6klgSleIAaMqkerA@`>g@aN1 zR=K0Lx#e|=(ZALODQ0QaO|m_pZAL*Z^h{&caE>Pu)!>WzNG9tCfODg5AqFdV6&%$2 zp$$TG;2|^E4}&qaazQ7yeO|yJ?H~4YDKAR-XlFI&2A>UkisqwyH@Zh(tS0##2~bL* z%NDf?QIMr)u@SxD_9|`yEstd*i7&yLm-uBRQvb^2G5L~GYU6-j?2G#Npc)yQ1>K__ z0fNsHx@D1)WDRVj+*x){erK@WkWItO77GRb*#EygLFT_2M~e1{UETJvFKaHbMrn&s z_G3DQO&yDB3aS>VXWotYh|t3ho1D7O2XiUjLhh`QwcUAERv*XUcdZ!*^bhUMWF3^F zqYcjd9ZgKkY+3a6l?3qfSw5gnFa_?>tKkE>q>Wj-Lkm^a5hF7|*FdIliJzxr*DEC+ zdjFEd-Mz9*VOsXE=uP0NUVU6cW6HK#{PV~xlRYKyQAq(j5SU?99(A|so3F5EPSe}s zS;n~(XHg6*8rGtDF9*dXTcrX!R*ww2P~zv`?x@Z$PNe+$wldtoKY-MHT3WYQP`GLU zRUrK&BXrf%ZAH+N#@t*)Q{K^r+4N}^uo_P+Fv)mz$Jbt2f6$~jqox_)x^6@b{d8W% z1~~vd00OSyR&ApPm9U!r^JO z`W2w07JAHMq~!XacMv!&ds8M+az%(Qi<*H5QSN6Nk&<31BKfJy4!>b--+=4Ss9_;a zi?7av0(PdlxBI}G_^W^tbJV!=2V`<~c@ouLi`aI4=Xq=~&*FHfK5F1?oc`ta@j1dw zVv2L}jG$V@K5qUz9koptYL=GWn?1uIxKu*Guumz(MzX^a&e|!S#<66@< zYDui}>xgO@`14g(RkTGD{}`0)#J|frw->=$ViLTj$Fl(Ww^T3pUOf=U^kk9H-)wwu z1>g^z-K^7MB|B}&Z-wQ4(@xq&o8T^>c}WHJw)fBJ+prayrlDyxTI=J-D*!z?j=^+8 zzvUsQv=Tj%AGfN7!iznx04rC3!2TtOU7p3Lyj?Ci!SXv>|CD$p-+LmmD?z8uP_t0@Px--}Zs#GKJhIC(78B z#peuWV$e?3P9;#EIg-T0XF;ox`x|z5CXMg|M=#+@g3I7)7U4*;3$o-lg>t1uu4p|` z+qZ#>pmjM+yVZhgb8DSdpm3vEkKm0KaaJ?@*$0uzk}J&wvtn(NRz6n%8%4h(D}pA= z`t6V1k`S(6=U0FZL-NGmx<}gbEQ$Aje!piI-X%|a;d_^FH}yVWJRj`Vo9D(O(_IsV zZHE$Hv~cX@J&0fl%Lle~amkp~drLZ8sp`XQMM695)1F_af;MW>qON&Ec zDWTD`s~NE(l3~uGnoW8KxtNHVg-h@2V1pVR^^XZ0GwsL4$OK|x$T&<$9mA#HE=~n> zC)!O=Z?RHygxHqTD*&1UVqBYjz*EjZKybdXypMs6;+XB-=2)+XMk3cuB_h#K^b*Bk z5we-8HylgRx8L;loph5~T8S7E+~2)E!u}?_0%WX|$Q2@>M2R18bl~xI2TqgJgOXs- z5*4y&KI6y5o0|eR_L)9|IKfLs0$T~*>C0a3KslY9hWc;cqa?sA-_6AQq9Ef?S~$@tz5+2%OHZ1nJg|3v-x*@ zN^iqHYG2CIuTrl!31}Bs%xI=jtVfuAsS*mL`Emv51g}F_7QOyFug=%mSo=Qxk!enk z;X>3&@j^jl&>=M8R3JjSLe#cRH-5N5@aHzr_Y^6d#^gJ7?tofuG8rl4^psw{4|)0& z@^$)`g-Ozw91bEYq z?R?Y&@|8Bsc;*=!lk!{l4uxHqkJNvb1c=|F7bm0Z?|bcBK0Di0CQeM@ViTGf1&LQr z-ghV)&V}e`pR+SZJQOEBpzNegd-r8=k>Q6q4q}eyID2KwB6`795%Y6GjE}InV;2eM znrjQ{6VIcV&-aR{BE6<-7>c~iX(6QY)EkzpDyiZIl+|UOJ_?7gJoT=lsoLvk3U*08 zew6Bq3x1r3L5NeX%ez{`DIC|amHu^X)rtLTc|OBhMO(54&Mo4|2kcN4#bL$7&`Wn?DrOP+Q%hSvJq;89-? zdq+THM(uEDbGfr1SCBUVOu>5=H!4q_YO{0~wl9YoxFHI-WsWfX*-U_;{z8H=_X}}vNt~dNy(d$!sZG`58%TV zY`-n7@RttfpH!FZb7X_;QBf7<`fL)94m3r2J3xe<9NDgts!io1n1Ub1b2OJ3nk`*B z+M$O=cc=6$Q#eLn*fJei=O!_S)D$nBQ1TrUwsD<5c1lGrT}r!xzBI3T4mTs#AjSTP zIe*OWJSWmHj=~muxM0{9?m&lVt^m(-t^mu3tdYtB4hqGu;L)W+>kk86XXG97Cf&>@ z&x=*`ZR|ZNhQbA;=h-_GF;>@3VG#Qp=Pxo=i-i|cF%ep+r-aZ;DmrHn4QN%d0w+FS z=w>Z20>y$u{@9I6zlAG+jI4n&7Eizu+Q>8y>1pCdql7=RT-xlD)yYfx^uLLt{=hZNn17g*mh636a)kVSIN2 z=lov}zaRYE`t-&oU=J*!Rix`ljqD@x5s9njnypM1N8iRfAICW@U3+a;g6`iw&qhTK z8C11#ZayM^(n1OD=D-^-;K@r$5>;=WV99XXk!>0Dp|JrTS7y&_)b^fXqP~$(5!*Rr z#k;&TGjl5>$ldA9@R*6^qMBU5|EtJKe<-l06#FfNpX03L(+sd?%nuq~IR z;~|C(=@=Pnz_HANidxr)^#>Q$gZ(wBje@QC6hX?Vy;aE{Kd~tPDRpRlU~0z>$J4*|H3r!e``F_>WFJHs3f;^`?l}x z@hCMOtI@_|R>{{ddm*ct@EPioTy_Ph6JSU+>PSuBj6zVju5oc)-OTz=0Gjd4oP{f1_=&E5n}@aGO`rHy?SC#$^ofR&h+QiCo)Uf=2Y`ks4?1-nYA ziZt1se?7787DcI7PRH^B*1fHJa?H3%`iY zv>J1#etSKSUWeCtBr1mVn^p|Q?h5ctDf$Xvuy9?;u|2*9qJ^%KWZ`hz<$6<}0pT)} zh!!$S14VWPz!888-0V#34jGP@-E3Y5;aCf9PPNfDO!k1XG_}QOQf>7Tij`4R!#1s5 zqpX+UQu8@kB@BHSbOm@rc0~VgY54*PvTeP^(_Z9k1%~l;OhxbENX6YkD9&sSX~#i` zY3MQgmN)Noe8V${edhD|T^9!Fj~_6nlVnJna}H0-(>=S>daZEK{4M@N%?#?LDeya0 ztF!IvZhKNoSdJAe*~z>ew(13R!MLGf>GeKJTT|Ep#%VBhJmroRC=o}Edw+A)9O-r0 zx3TfNvHdfbVl8`pQJWHaSKkI^X)8`0Tu7mtda)unq(MYo0iLRjksBQ>*(dwJ0 zFBgJ^@bJ;~JhQ2#GnCan`9Y0yT0uW=o-101|g*X#G4{c5C7{_#c zHn(dvy#hGWa}TYE{WuFf=TekvnAj!WDv#Dri-{g1r@}f>YUj+RO1`sNjSAg%@}@=U z6{CE6geN{(6`9`1v^c6AJAV3R>!jVb8!3c(%8hW|ne&tQz{slk@aL&$i zjjv8uX&F%%R9jmhMMAMiXcvnn?jCL7B%jcS zTJ3S7qqFC~o5gIN^bz`NBK6n)`K|4RlR3~aiJp3N?EQ+A7*cML0`$;{<+*J~>Y*?M zdUC;q^@nUL{Oz^n%TyA+PF(cK^V{g~`6l#~uo}lLA$nx6C9ZQ4N6-cSADrsJi$d4q z+6KBjS%Dj=Uz-m>V4N@*u^PvGo<|2RSXtazA^eScs()k5Ir&jWJWbcI!f3s5>CbQl zknS{$G_*y6u~L5qFYbb{Un3eBD~d2O)d%1YzqF4#FVaO(Rd-Da z+05PXvcs7HVyv0gn(la)9*I}ZW*VI8LLiI%f+KhV=+>fb=Ler{p6F1B_7HQQ3t|eY zJwYe4M=3uVp+$r?I077e4CY5oU!O_pr9X}-OLyzLw1CcOOF%pHI9quov?(TFNl-wR@&@F&8gcVCpH6!MJ128%of+j#6nZWPiO%$rB?R2TQR zLb1Yi4HPZjPlH@gZZxUa~`8P=;`yV`e)=5Q%|6 z?jy*{O74?JicxG*+D*b=Z-Z%2X>R=Y3Jp7x&b{@{-A2eILK!&aTE0Y3A7;qkTe$u6 zeH+NkSYYKRUh^m!!YMTulAu}4lWY09TIxY;sB)iJ=FcL6wLC%jd0A`r&;HhU4DHQ_ z&k;CcQG-(%Ya>Av7gpAq1lw$kGwc8_s^x`q5~sln{8{K`RY?+t0_V%BLU6vU47w>% z_j%z~#5<#d_g?bKbGj`a5RRfTd0yf?t?&*>yqTPgn!z`RghZa?3rvGc7wyu_spYfL zK0C#rpBTshACv%rrS(DwrrO!$yC!>^4%#N$gLKgek^iaL_~?Uo6X+zTmyTLq;!1C`-O4d|L;G0_U!ZQIdk1R*UU3>ovoXioL8jTp-od-pKFW0+iZPh zu4i$1hPRmjc|D1%FhQb}g~j#8QCI)HHrXDUtL#uXp6T1M6+)D)LSm|j;6;D8EbAxC z-b|EYjE=ilCP3>!EOULo(o5YLKMMOqDm}B}CwLYav=gmjrkGUGUr1yRa$WBFy_PZL~9H4CP zWl8RM>@{@Czbkj?EFfEnrTx-AJkNC66%uQ?fV?3icl0Ladlp>vJz!m)kIs~EH8x>1 zHH5Q8AGCVV^Fg62#%HNEZ>gH*e1oaK9~RoTzDd}2>s7@?e696W_NtcDrcXT7YAE3G z@sV_SsEza2_jw*Q%oD*A$J^*2mJ||lCd-$|A#iasb)h;GTf6SI4Ni0nb^egZG9Qyq za&Cp|{oh4z0!)ag;PsxLs_n^pA5ny4xAWQ$%ZDf{^qqx0Tu^5*=-z8vcWTK=5bo?d zDA##2FQaWHfA$8GaR-CtOxK=qWxfC+zmUb){cXjr5g6~~OOd1qkLER2XsTPy!SGqr zb3_8&*Qv9QI8KbU2nW5wV!1K)BpG8P)`alIm`DtB-@vKapMB5Da)POO1NV#H{$Fa>01CCG z?MZ?Jm3vdDo2?d&n6*xh2wjundo&nP@yB<57}MqrRGC^;ZEijeX-V4mxH>N-_ibbU zfSvKhVw1@#=`#UNK&w0u!o>8k)vi2y`vWHfD~GoO z+VW`B1@sTRp2=_>VHwnCY{m7&gYX1<;}^&us>Xv`j2Eeq#mYPl@EzYt%yXpX%*f4f z>1c=~qXrb1RC8#ljl6ps5LemRAwb2{p=*yTsp9UK4c^VuuTw{l(W^1fJ9>g8YOE0Z z@OI4GD)ud7T)vp+Md&s`sdpDc9PtTk$WU>@&*0i$ER$AO_6vP0Xw}Y94QVW`(UUP6squFm ze(v7hk6{`tfEXnU&z9!~*?bf6c&D|m?@0w%(q5(U$`DoB?Hibu{or@G+@7`+dU|w1 zZj+X5BIikp9P#Xwlq$7lkomc?o{tA~kcWj`I)|-^J|x*>VY%WhR@$)F)P_nAw|aAm znQ{*#=&rOG^xg?K|Qb-UO0H@ z`PIU46|4G9;pt}B{=~GnNOWJZWnGnE23y2|rG^M~tvYLdW9w5TpmdMHg?1?~;98KQVm(6{-Y#7Rvy#)5cPx+=S&6#fd!^>*BQB@XT90BON?bX4F^-0Th7G21arRH~e*NIQJ?v&aaMOu(#iOnjf#<*F7pHT@&OgW|$H z{&AdPOB7uWb~i~<<9guqsJCdc6oR2NV8j|6bN)zT?EPQqS1pD~^l}t#ez|P)`{!<5PrP%!rW4n~%;_QLv|~Xr9C- zRbBMQOwQrI88G)o`MNk1d#87vO-A##}1yqyensLscG^mtQgP9O{^im&6)LdMoq6N!f^> zA1&3zUg!Iu>Js(gtGp^?D4)m!Xvlrv2kRE=KLWKt1l%S$;X>yaQZ!MbOZ5kxp!zZC zF_{F$mOWZIz7)5)iSFp+_t37g4(0V30{tNE)WQ1td2xDPQLJy@a_A{H6Ss?=?}_t} zC)oL8%RiKa*0S1>9ew5e=8_vKn9Zf0T@#-ba>3mYx{^p-Hcl87b(V4MkT{;&ciTs@gS|=a$%r`X)dEb z$2|*3#(<2IimuJrOl3i`GjBP1efAwCk1f*o{M_sadF+mx)M+OPQP?nex#ZVu(fqc` zW!iquI>t!qu`pH#VR<1_UE|EmvnfrNpV(*L9ACv3_XKq4`W26c=T5_qr)5o_S1P8x zDN$gGT+SW{{_HE4tL&@gj42l96pa1$>8aO&#ePT&=$Kqm`<8!u-U(4{M6Eb zWK8}cXq>*LLJ{$%6!0qKC~I!$XxU+UaZ$py>FmZ#t2m_RaL%}0>Sr)SiWRrA%tU)* z7f!r9_--Ig4x*tm7o}C4@UU4pg0^~^Z{CB9RK!xR=;V-5goYNP@YvxT*R8c4f<-0> zjs?|TG7PLm8kk9ow=B_PYRI##7*0}Jy2{_b!lh5>GbgEWrvRoJzK40S72`^@3B|tg zIym~oklk;MHh%?>{S=sfDXh|0z`xyP@io--eN8VvJv+%LmeF#-+0VYftGsn9n)tU2 zt^}GtkUT0$*!bg{<7Wip*$2E1o}|ohvmifunxIRhzcp67`q zC)~*k^mrsgh*>0q=M+sb;8Zz5g&Om=p~t^Ni`+r1G{3Z!LyP$KpsI$~a?$@&a6u7P zlUzQ}j{irU*I&^s@Ggg3)yc^h4AyaC1m(Wh^+}; zj>f%`G}H>J#wzAJw#r~>WPhLvAyH=)Bg#?bjg;(9uE0)(*E{lV9x7=mT#v!-C(Y#F_uildm#(f%2IgFY!VoCsNkn1&7}7B=Vp#qY(G;^)hUF- zZ#>GSkF%pR8&_TCYx8O5Px6YG5Wnt9`i39R?hiyJr8|CbQPphqnhU>{{3-8IOee#T z#3?2J8kyB^Mf|lx5el#}$^Xy0Ov;DoohA5!{kXo^;$*Hx8bazCq0 zdXD25^O%EAIkYMVW(0LALZzH*KDmgzhQ!ogD%t{%HEvbTJk}g6hdqzITeZ!fsB@F+ zycHZP32yWS5*Al(%`Ubsd8mwu8f8U7RU?Tr_M3X>FQUVgqEr@T4xjN&xJY2nLl_g1 z=Wseus>wo^y!s+@%SPY0zqt<#mn~?hNX3dG&a3?TL~r5CVGi=D3R-A)PK7^F%!UUE z^7dDy!$-Kp6sd1aH+1nmD|$(0na1b_&1{rfeO1&}T|>bMGD;3glPEblNyVe3yVQQC zvKP3F*|x*|*XTlVUsFJV6Rn?Wu@jHWF2*NOo$hm?}c>snrM3@2p$IN(T+p1!j5^_sCv6jsJO{HpH&BW~^Y_pBhyACXZ5;5 zhZR}b%>nPI>GaF^sTzEh(Z;P`K_6P!i`iDTW>M&#!w*IYM+c71BrjoEs95UuVEHYx z`0{e=aJcRpC9L_{Z+AlM|hwB)0 zPjCd_-*>ww{`DoYItYmV4Rx7r|0Mu`76SmNgOE{(0O;uGfNn)hBfxJ)k2vzFmqtgTAolqNOg>t=JmX7nM)|DSm6cT8i&_Ufyw*Il$&P#1A5Ye7 zh^X3I3}EL^Q7H^sFxBN%^ZA zSLpx4!9PJ~X$?BeapSd}vZF6jDn)!33M`^|6`wCPb`j?Xkg24*=YtOFh26XdiPMnv z=Y3cFn6@yp4s-Q*r~7flU)o#e;EHJtEAueg4N81_eR$P)6cRLk`P0@XSNHX4cz`P;JD`PSlIZmGRmb}a4h#h{|tqO#f)n3L+QtP$glbo zSL$-Ea0S^L3=VJ0DVG}cJICI*V{)o8q07ss%Wb((dx$Uc;oRJh@^mRb>dzfJ;L*

UQnin(9J)C8+7N z=~mxEXMVlMIwTd={+!TpGx0fdCgzP;PTaTR)p|u$eSLDxHPL&6!ge$)UKA1r(Vce2 zF#I|f%L`kV+Y0Oj#hBNo_fLpR(fy!@UmqVR;^NbmI~?d~eP%s|Yo?@ zpK)gTM#XIm%W19HHk-N7)o4;E6V2}cEMP)ne9z2T0EBVC8 zFxFc`i_K!XspYK|<>Wl2m9uI)G+;A3UJwOqo|`ZpF}z^jk-Vz__r(6)HbnL(k^fT# z;3F!)0&1=fgE~5MnL}ZgclGY8X{6T0P2_v3!{JM91f+Xx&k!M|XhtW$W&q(*H)<_@ zWOBRcV2+%8<~Ax`vgzk4HuHvVHqf>93prgoid?QIYoW2_mL*T*Qx;e@xHCdiCKPA+ z6GI1uvy3Nr1)hS2_+%shMIqHXlZ@RScF**I0LzA#bRKduN2QsBRBKo00axR_OeQ!U z`@S;wsG}uW#t1&uBh)>P;a-x4fMqfa_1yN4g-`btcRJbJ52S}PS(A?ulfLNDOxdZb zTi1fa)Z9-y@K(-p)A^dSxGjfk0~-ztH8o}4{JkTZ{1;Lgut!I;9XXs>rspA;vY#cxFg324J6erZP7QD2Ckav%w*o_g25jJo=_N!HT(Y zCHBCVReGK(urI`LE?#8gh8j%9T);gMh^K_c-z-j9CQ!<5Fg>unw|*^c)bR1yoWs$< z{dqw?SDJ3)i+kxVlsD&b=Yn^MT4#kL+aeM*fA2pf3h(zsnL0Y&wW-g!b;xJA72r<~ zNLi5SE3~bqa;s0oP4YQp9T=u2rGjGcKBbF~sX?jEN@*;@Upxsq;b|eJmEJX7Mq-{} zC~ERs=1KN@YQMye1brTb{90ikUl;E+9ocP;Pc2!uIGWA;Eh(ysiE9@W$vn1*eB+dm6B#UTq2!AKe z+|}6y3i*e-ks3rhCkk0vC_$f@(+0+m*GCG8YM;g}HX=Dg`&A-+z3Bsg#Dq~xsD2i| zmZ`v-!MAPZVrKNaIakNOIZ6v;tjCtN~gTQohg zjGZcM&Pgu^)y#I%keMMo<=)mtwv%iYp>+zS^mEH9wP~>6x)C_Wh>DI96OTE1m%gR~(EbIz!uo z$`%JBayiSiHD~a3&mPK~Iw+vb%-X3#@4z8XPZLf3D0t0HQ;K(mQw$bze^o-$;D0TP=y-Oi3@U71%{yIy-`G68X!$%1ui zx31P>vO@18D!ej(9%gQW4LUh5OXDZyA%;U)LgwNU-*Iq&ekbG;Mv?N%f%YA(26Xz= z3$)#R`u;*mS)4xH+crLyM}&*yZx01UFAzxtqE|=LL6Z=Lnhd;4D$+e7z%MltlFpz0 z1Ch=VLA)E|R007)SyqFP7Aw-Qk6lP}zh1%U!#^27w zYA=|;2*(~y008?B=Q6~|KsYlXTp1CRQ2c^G9N{6@ zK}7W5RQ^uNztYNMAFFuRSnfJ9(H}T$h&Fu3jEyPG(n8Axb|)DBjiBF^=bs4Hh>43p zfLL09O}W4jQ)^2ePFqJy>%U|9UBLZGaa#O82>(C5`ZwV3df-orlM?;}{9Oh9jq>}j zy3-E7EG6k*l*HfezqjnWiT2ARQ+{**pZWH;_wSAIuKoQo4@AHGC1d`t$^Q-T`$hOC bfcooy?WXD=RJ6NQa1gh0#8ttVes}g?_2OH8 literal 0 HcmV?d00001 diff --git a/workflow/rechnungseingang-de-1.2.44.bpmn b/workflow/deprecated/rechnungseingang-de-1.2.44.bpmn similarity index 100% rename from workflow/rechnungseingang-de-1.2.44.bpmn rename to workflow/deprecated/rechnungseingang-de-1.2.44.bpmn diff --git a/workflow/rechnungseingang-de-1.2.45.bpmn b/workflow/deprecated/rechnungseingang-de-1.2.45.bpmn similarity index 100% rename from workflow/rechnungseingang-de-1.2.45.bpmn rename to workflow/deprecated/rechnungseingang-de-1.2.45.bpmn diff --git a/workflow/rechnungseingang-de-1.2.46.bpmn b/workflow/deprecated/rechnungseingang-de-1.2.46.bpmn similarity index 100% rename from workflow/rechnungseingang-de-1.2.46.bpmn rename to workflow/deprecated/rechnungseingang-de-1.2.46.bpmn diff --git a/workflow/rechnungseingang-de-1.2.48.bpmn b/workflow/rechnungseingang-de-1.2.48.bpmn new file mode 100644 index 0000000..2120444 --- /dev/null +++ b/workflow/rechnungseingang-de-1.2.48.bpmn @@ -0,0 +1,8880 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + Task_2 + ExclusiveGateway_1 + StartEvent_1 + IntermediateCatchEvent_6 + IntermediateCatchEvent_27 + EventBasedGateway_1 + Task_10 + EndEvent_5 + IntermediateCatchEvent_40 + IntermediateThrowEvent_4 + IntermediateCatchEvent_49 + IntermediateCatchEvent_19 + IntermediateThrowEvent_3 + IntermediateCatchEvent_31 + IntermediateCatchEvent_13 + Task_14 + EventBasedGateway_3 + IntermediateCatchEvent_30 + Task_13 + EndEvent_4 + IntermediateCatchEvent_56 + IntermediateThrowEvent_9 + IntermediateCatchEvent_60 + IntermediateCatchEvent_3 + ExclusiveGateway_9 + IntermediateCatchEvent_5000-20 + + DataObject_5 + DataObject_2 + TextAnnotation_4 + textAnnotation_emMc1g + + + + Task_1 + IntermediateCatchEvent_9 + IntermediateCatchEvent_10 + IntermediateCatchEvent_11 + IntermediateThrowEvent_5 + IntermediateCatchEvent_1 + IntermediateCatchEvent_45 + IntermediateCatchEvent_61 + IntermediateCatchEvent_64 + DataObject_7 + event_GwjqFw + + + + Task_5005 + IntermediateCatchEvent_5005-20 + IntermediateCatchEvent_5005-30 + IntermediateCatchEvent_2 + IntermediateCatchEvent_36 + IntermediateCatchEvent_42 + IntermediateCatchEvent_55 + EventBasedGateway_2 + ExclusiveGateway_6 + ExclusiveGateway_4 + TextAnnotation_1 + TextAnnotation_3 + Task_4 + Task_12 + IntermediateCatchEvent_5005-10 + IntermediateCatchEvent_12 + EndEvent_1 + IntermediateCatchEvent_21 + IntermediateThrowEvent_2 + IntermediateCatchEvent_25 + IntermediateCatchEvent_26 + IntermediateCatchEvent_28 + IntermediateCatchEvent_32 + IntermediateThrowEvent_8 + ExclusiveGateway_7 + ExclusiveGateway_10 + event_bBR4QQ + event_NvdVrw + DataObject_1 + + + + IntermediateCatchEvent_44 + IntermediateCatchEvent_53 + IntermediateCatchEvent_54 + IntermediateThrowEvent_7 + IntermediateCatchEvent_50 + DataObject_6 + Task_17 + Task_18 + IntermediateCatchEvent_43 + IntermediateCatchEvent_47 + IntermediateCatchEvent_51 + IntermediateThrowEvent_6 + IntermediateCatchEvent_52 + ExclusiveGateway_3 + EventBasedGateway_5 + EventBasedGateway_6 + ExclusiveGateway_8 + task_sCjcjw + event_XFiUTg + event_9LrfcA + event_K9EFtg + + + EndEvent_3 + Task_5000 + IntermediateCatchEvent_5000-10 + IntermediateCatchEvent_33 + IntermediateCatchEvent_38 + IntermediateCatchEvent_15 + EndEvent_6 + EventBasedGateway_4 + Task_16 + IntermediateCatchEvent_37 + IntermediateCatchEvent_24 + Task_8 + IntermediateCatchEvent_16 + Task_9 + IntermediateCatchEvent_7 + ExclusiveGateway_2 + IntermediateCatchEvent_29 + IntermediateCatchEvent_39 + IntermediateCatchEvent_20 + Task_3 + IntermediateCatchEvent_17 + ExclusiveGateway_5 + IntermediateCatchEvent_35 + IntermediateThrowEvent_1 + IntermediateCatchEvent_58 + IntermediateCatchEvent_22 + Task_5 + Task_15 + IntermediateCatchEvent_48 + Task_11 + IntermediateCatchEvent_4 + IntermediateCatchEvent_14 + IntermediateCatchEvent_57 + Task_7 + IntermediateCatchEvent_18 + EndEvent_2 + IntermediateCatchEvent_5 + Task_6 + IntermediateCatchEvent_46 + Task_19 + IntermediateCatchEvent_63 + IntermediateCatchEvent_34 + IntermediateCatchEvent_59 + IntermediateCatchEvent_41 + IntermediateCatchEvent_65 + IntermediateCatchEvent_66 + + event_TyXP5Q + DataObject_3 + IntermediateCatchEvent_62 + TextAnnotation_5 + TextAnnotation_2 + event_e0gqXQ + gateway_ApXfeg + event_WNNsfQ + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_31 + SequenceFlow_1 + SequenceFlow_123 + SequenceFlow_32 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_31 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home + + stop + false + + + start + false +]]> + + + + + + + + + space.name]]> + + + false + + + + + + + SequenceFlow_46 + SequenceFlow_122 + + + SequenceFlow_0 + SequenceFlow_21 + SequenceFlow_125 + SequenceFlow_33 + + + + + + + SequenceFlow_0 + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus +Zollkurse +]]> + SequenceFlow_38 + SequenceFlow_83 + SequenceFlow_106 + SequenceFlow_104 + SequenceFlow_121 + SequenceFlow_134 + SequenceFlow_37 + SequenceFlow_10 + sequenceFlow_wq0Y0w + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name + +cargosoft-export-1.0 +1000 +100 +(?!txtworkflowhistory)(^[a-zA-Z]|^_) + + + stop + false +]]> + + + + + + + + + + + + false + + + 0 && (parseFloat(a)!=parseFloat(b)) ) { + result.isValid=false; + result.errorMessage="Der Rechnungsbetrag " + a+ " stimmt nicht mit dem Positionsbetrag " + b + " überein."; + }]]> + + + + SequenceFlow_8 + SequenceFlow_111 + SequenceFlow_51 + + + DataOutput_1 + + + DataOutput_1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_38 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name + +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_10 + SequenceFlow_97 + SequenceFlow_110 + + + SequenceFlow_37 + SequenceFlow_8 + SequenceFlow_54 + SequenceFlow_96 + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_33 + SequenceFlow_95 + SequenceFlow_49 + SequenceFlow_20 + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +suggest +false + + start + false +]]> + + + + + + + + + + + + false + + + + + SequenceFlow_22 + SequenceFlow_77 + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_56 + SequenceFlow_15 + SequenceFlow_24 + SequenceFlow_55 + SequenceFlow_50 + SequenceFlow_81 + SequenceFlow_88 + sequenceFlow_dbshCw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_29 + SequenceFlow_2 + + + SequenceFlow_32 + SequenceFlow_29 + SequenceFlow_30 + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_30 + SequenceFlow_72 + SequenceFlow_67 + + + + + + + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_44 + SequenceFlow_90 + SequenceFlow_47 + sequenceFlow_ucyuIw + sequenceFlow_SvEjiw + sequenceFlow_bBGlVA + + + SequenceFlow_47 + + + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_55 + SequenceFlow_12 + + + + + + SequenceFlow_18 + SequenceFlow_1 + SequenceFlow_68 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + SequenceFlow_6 + SequenceFlow_18 + + + + SequenceFlow_51 + SequenceFlow_6 + + + + + + + SequenceFlow_126 + + + + + + + + + + + SequenceFlow_12 + SequenceFlow_53 + SequenceFlow_19 + SequenceFlow_25 + + + + + + sepa-export-manual-3.0 +1000 +payment.type +70 +20]]> + + + + + + + + + SequenceFlow_19 + SequenceFlow_23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Rechnungscontrolling +]]> + + + + + + + + + + + + false + + + + SequenceFlow_21 + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_26 + SequenceFlow_11 + SequenceFlow_118 + SequenceFlow_132 + SequenceFlow_28 + SequenceFlow_36 + SequenceFlow_127 + sequenceFlow_Dy0E0A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_26 + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name + + stop + false + + + start + false +]]> + + + + + + + + + $owner]]> + + + false + + + + + + + SequenceFlow_28 + SequenceFlow_105 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name +false + + stop + false +]]> + + + + + + + + + + + + true + + + + + + + + + + + SequenceFlow_36 + SequenceFlow_35 + + + SequenceFlow_35 + + + + + + + + + + + SequenceFlow_39 + + + + + + + + + + txtlastcomment]]> + + + + + + + + + numsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_39 + SequenceFlow_59 + SequenceFlow_40 + + + SequenceFlow_40 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + space.name]]> + + + false + + + + SequenceFlow_11 + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_23 + SequenceFlow_41 + SequenceFlow_14 + sequenceFlow_swRy5A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + SequenceFlow_14 + SequenceFlow_42 + + + + + + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_42 + SequenceFlow_3 + SequenceFlow_43 + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_43 + SequenceFlow_5 + SequenceFlow_44 + + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + + + + + + + + + SequenceFlow_50 + SequenceFlow_53 + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + + + + SequenceFlow_54 + SequenceFlow_7 + + + + + + + SequenceFlow_63 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + numsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_17 + SequenceFlow_60 + SequenceFlow_9 + + + SequenceFlow_9 + + + + + + + SequenceFlow_17 + + + + + + + + SequenceFlow_20 + SequenceFlow_65 + SequenceFlow_71 + SequenceFlow_22 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich löschen? + + stop + false + +cancel]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_49 + SequenceFlow_76 + SequenceFlow_48 + + + SequenceFlow_48 + + + + + + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_2 + SequenceFlow_78 + SequenceFlow_89 + SequenceFlow_72 + SequenceFlow_86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_60 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_59 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + suggest +false + + gutschriftabgleich-de-1.0 + 5001 + 980 + ]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_65 + SequenceFlow_69 + + + + + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_69 + SequenceFlow_70 + + + + + + SequenceFlow_70 + + + + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + numsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_4 + SequenceFlow_34 + SequenceFlow_119 + SequenceFlow_5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_7 + SequenceFlow_62 + SequenceFlow_61 + SequenceFlow_73 + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich archivieren? +cancel]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_61 + SequenceFlow_63 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_62 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_56 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + suggest +false + + rechnungseingang-sachrechnung-de-1.0 + 5001 + 980 + +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_71 + SequenceFlow_64 + + + + + + + + + txtlastcomment]]> + + + + + + + + + cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_64 + SequenceFlow_66 + + + SequenceFlow_66 + + + + + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgcdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_74 + SequenceFlow_77 + SequenceFlow_126 + SequenceFlow_46 + SequenceFlow_85 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + + SequenceFlow_74 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_73 + SequenceFlow_75 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_78 + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_79 + SequenceFlow_124 + SequenceFlow_131 + SequenceFlow_57 + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + SequenceFlow_57 + SequenceFlow_58 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_79 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich löschen?]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_81 + SequenceFlow_80 + + + SequenceFlow_80 + + + + + + + + + + + SequenceFlow_82 + + + + + + + + + txtlastcomment +numsequencenumber_sub]]> + + + + + + + + + numsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_84 + SequenceFlow_87 + SequenceFlow_82 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + SequenceFlow_84 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_86 + SequenceFlow_87 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_88 + SequenceFlow_89 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_83 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich archivieren? + + stop + false + +cancel]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_16 + SequenceFlow_13 + + + SequenceFlow_13 + + + + + + + + + + + SequenceFlow_85 + SequenceFlow_76 + SequenceFlow_16 + SequenceFlow_116 + + + + + + + SequenceFlow_90 + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +space.name]]> + + + + + + + + + $owner]]> + + + false + + + + + + + SequenceFlow_96 + SequenceFlow_120 + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_91 + SequenceFlow_92 + SequenceFlow_94 + SequenceFlow_117 + SequenceFlow_100 + SequenceFlow_101 + SequenceFlow_93 + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_102 + SequenceFlow_114 + SequenceFlow_109 + SequenceFlow_112 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_94 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_92 + + + + + + + + + + + + SequenceFlow_101 + SequenceFlow_98 + SequenceFlow_111 + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + + + + SequenceFlow_98 + SequenceFlow_102 + + + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich archivieren? +cancel]]> + + + + + + + + + + + + false + + + + + + + + SequenceFlow_109 + SequenceFlow_108 + + + + SequenceFlow_108 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +space.name +false]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_112 + SequenceFlow_113 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_114 + + + + + + + + + + + + + + + + + + + + space.name)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + Message-Eskalation +]]> + + + + + + + + + SequenceFlow_99 + SequenceFlow_103 + + + + + + + + SequenceFlow_93 + SequenceFlow_97 + SequenceFlow_99 + + + + + + + + + + + + + SequenceFlow_105 + SequenceFlow_106 + SequenceFlow_107 + + + + + + + + + + + + + + SequenceFlow_103 + + + + + SequenceFlow_110 + + + + + + + + SequenceFlow_113 + SequenceFlow_107 + SequenceFlow_117 + + + + + + + SequenceFlow_118 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_34 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_41 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + posteingang-de-2.0 + 120 + 1 +]]> + + + + + + + + + + + + false + + + SequenceFlow_95 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_100 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false +]]> + + + + + + + + + false + + + + + + + SequenceFlow_104 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + stop + false +]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_116 + SequenceFlow_115 + + + SequenceFlow_115 + + + + + + + + + + + + + + + + + + + SequenceFlow_119 + + + DataOutput_2 + + + DataOutput_2 + + + + + + + + + SequenceFlow_120 + SequenceFlow_91 + SequenceFlow_121 + + + + + + + + + + + + + + SequenceFlow_67 + SequenceFlow_4 + SequenceFlow_15 + + + + + + + + + + + + + + + + + + SequenceFlow_123 + + + DataOutput_3 + + + DataOutput_3 + + + + + + + + + + + + + + + + + SequenceFlow_124 + + + DataOutput_4 + + + DataOutput_4 + + + + + + + + + SequenceFlow_125 + + + + + + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +$editor +space.name + + stop + false + + + start + false +]]> + + + + + + + + + $owner]]> + + + true + + + + + + + + + + + SequenceFlow_127 + SequenceFlow_128 + + + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_68 + SequenceFlow_129 + SequenceFlow_133 + SequenceFlow_130 + + + + + + + + + + + _subject]]> + + + + + + + + + _amount (Brutto € _amount_brutto) +_description]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + home]]> + + + + + + + + + + + + false + + + + + + + SequenceFlow_130 + SequenceFlow_131 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + SequenceFlow_129 + + + + + + + + + + + + SequenceFlow_122 + SequenceFlow_132 + SequenceFlow_135 + + + + + + + + + + SequenceFlow_75 + SequenceFlow_128 + SequenceFlow_136 + SequenceFlow_134 + + + + + + + + + sb.team]]> + + + + + + SequenceFlow_135 + SequenceFlow_136 + + + + + + + + + + + + + + + + + + + + + + SequenceFlow_24 + + + DataOutput_5 + + + DataOutput_5 + + + + + + + + + + + + + + + + + SequenceFlow_133 + + + DataOutput_6 + + + DataOutput_6 + + + + + + + + + + + + Es handelt sich um einen SEPA Lauf. Die Rechnung muss explizit freigegeben werden. + Ändern von IBAN und Fälligkeit ist hier möglich + + + + + + + + + + + + + + + + + Liegt eine Logistik Leistung vor, wird ein Fachbereich ausgewählt + + + + + + + Buchhaltung setzt Flag, wenn Mahnung eingetroffen ist + + + + + + + + + + + + + + + + + + + Auslandszahlungen werden gleich ausgeführt + + + + + + + + + payment.type ]]> + + + + + + + + + + + + sequenceFlow_swRy5A + sequenceFlow_dbshCw + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + + + + sequenceFlow_ucyuIw + + + + + + + + + + + + + + space.name)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + Message-Eskalation +]]> + + + + + + + + + + + sequenceFlow_wq0Y0w + sequenceFlow_iH4SSA + + + + + + + + sequenceFlow_iH4SSA + + + + + + + + + + + + + + space.name)]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + Message-Eskalation +]]> + + + + + + + + + + + sequenceFlow_Dy0E0A + + + + + + + SequenceFlow_25 + sequenceFlow_SvEjiw + SequenceFlow_58 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false]]> + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + sequenceFlow_bBGlVA + sequenceFlow_mbqiAg + + + + + + + + + + + + txtlastcomment]]> + + + + + + + + + _imgnumsequencenumber: cdtr.name invoice.number (invoice.currency invoice.total) space.name]]> + + + true + + + + + + + + + + + + + + + + + + + + $workflowgroup - $workflowstatus]]> + SequenceFlow_114 + sequenceFlow_mbqiAg + sequenceFlow_eNnuzA + SequenceFlow_112 + sequenceFlow_PhWb2w + + + + + + + + + + + cdtr.name invoice.number]]> + + + + + + + + + cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + home +false +Wollen Sie den Vorgang wirklich archivieren? +cancel]]> + + + + + + + + + + + + false + + + + + + + + sequenceFlow_PhWb2w + sequenceFlow_UHzpHQ + + + + + + sequenceFlow_UHzpHQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ]]> + + + + + + + + + + + + false + + + + sequenceFlow_eNnuzA + + + + + + + + + + + + + + + + space.name +Kreditor: cdtr.name +Rechnungsnummer: invoice.number +Betrag: invoice.total invoice.currency + +application.urlindex.jsf?workitem=$uniqueid + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +