From f1a9474d3133344b3afc90d983c7773cddb91e5e Mon Sep 17 00:00:00 2001 From: Travis CI Date: Thu, 20 Apr 2017 08:17:53 +0000 Subject: [PATCH] Deploy to GitHub Pages: 812093c0d61acbbbcb76d16ccecf94b53d556c44 --- .../_sources/design/releasing_process.md.txt | 58 +++ develop/doc/design/releasing_process.html | 330 +++++++++++++++++ develop/doc/objects.inv | Bin 2303 -> 2340 bytes develop/doc/searchindex.js | 2 +- .../_sources/design/releasing_process.md.txt | 58 +++ develop/doc_cn/design/releasing_process.html | 338 ++++++++++++++++++ develop/doc_cn/objects.inv | Bin 2780 -> 2808 bytes develop/doc_cn/searchindex.js | 2 +- 8 files changed, 786 insertions(+), 2 deletions(-) create mode 100644 develop/doc/_sources/design/releasing_process.md.txt create mode 100644 develop/doc/design/releasing_process.html create mode 100644 develop/doc_cn/_sources/design/releasing_process.md.txt create mode 100644 develop/doc_cn/design/releasing_process.html diff --git a/develop/doc/_sources/design/releasing_process.md.txt b/develop/doc/_sources/design/releasing_process.md.txt new file mode 100644 index 00000000000..3692a5248a3 --- /dev/null +++ b/develop/doc/_sources/design/releasing_process.md.txt @@ -0,0 +1,58 @@ +# Paddle发行规范 + +Paddle使用git-flow branching model做分支管理,使用[Semantic Versioning](http://semver.org/)标准表示Paddle版本号。 + +Paddle每次发新的版本,遵循以下流程: + +1. 从`develop`分支派生出新的分支,分支名为`release/版本号`。例如,`release/0.10.0` +2. 将新分支的版本打上tag,tag为`版本号rc.Patch号`。第一个tag为`0.10.0rc1`,第二个为`0.10.0rc2`,依次类推。 +3. 对这个版本的提交,做如下几个操作: + * 编译这个版本的Docker发行镜像,发布到dockerhub。如果失败,修复Docker编译镜像问题,Patch号加一,返回第二步 + * 编译这个版本的Ubuntu Deb包。如果失败,修复Ubuntu Deb包编译问题,Patch号加一,返回第二步。 + * 使用Regression Test List作为检查列表,测试Docker镜像/ubuntu安装包的功能正确性 + * 如果失败,记录下所有失败的例子,在这个`release/版本号`分支中,修复所有bug后,Patch号加一,返回第二步 +4. 第三步完成后,将`release/版本号`分支合入master分支,并删除`release/版本号`分支。将master分支的合入commit打上tag,tag为`版本号`。同时再将`master`分支合入`develop`分支。最后删除`release/版本号`分支。 +5. 编译master分支的Docker发行镜像,发布到dockerhub。编译ubuntu的deb包,发布到github release页面 +6. 协同完成Release Note的书写 + + +需要注意的是: + +* `release/版本号`分支一旦建立,一般不允许再从`develop`分支合入`release/版本号`。这样保证`release/版本号`分支功能的封闭,方便测试人员测试Paddle的行为。 +* 在`release/版本号`分支存在的时候,如果有bugfix的行为,需要将bugfix的分支同时merge到`master`, `develop`和`release/版本号`这三个分支。 + +# Paddle 分支规范 + +Paddle开发过程使用[git-flow](http://nvie.com/posts/a-successful-git-branching-model/)分支规范,并适应github的特性做了一些区别。 + +* Paddle的主版本库遵循[git-flow](http://nvie.com/posts/a-successful-git-branching-model/)分支规范。其中: + * `master`分支为稳定(stable branch)版本分支。每一个`master`分支的版本都是经过单元测试和回归测试的版本。 + * `develop`分支为开发(develop branch)版本分支。每一个`develop`分支的版本都经过单元测试,但并没有经过回归测试。 + * `release/版本号`分支为每一次Release时建立的临时分支。在这个阶段的代码正在经历回归测试。 + +* 其他用户的fork版本库并不需要严格遵守[git-flow](http://nvie.com/posts/a-successful-git-branching-model/)分支规范,但所有fork的版本库的所有分支都相当于特性分支。 + * 建议,开发者fork的版本库使用`develop`分支同步主版本库的`develop`分支 + * 建议,开发者fork的版本库中,再基于`develop`版本fork出自己的功能分支。 + * 当功能分支开发完毕后,向Paddle的主版本库提交`Pull Reuqest`,进而进行代码评审。 + * 在评审过程中,开发者修改自己的代码,可以继续在自己的功能分支提交代码。 + +* BugFix分支也是在开发者自己的fork版本库维护,与功能分支不同的是,BugFix分支需要分别给主版本库的`master`、`develop`与可能有的`release/版本号`分支,同时提起`Pull Request`。 + +# Paddle回归测试列表 + +本列表说明Paddle发版之前需要测试的功能点。 + +## Paddle Book中所有章节 + +Paddle每次发版本首先要保证Paddle Book中所有章节功能的正确性。功能的正确性包括验证Paddle目前的`paddle_trainer`训练和纯使用`Python`训练模型正确性。 + +| | 新手入门章节 | 识别数字 | 图像分类 | 词向量 | 情感分析 | 语意角色标注 | 机器翻译 | 个性化推荐 | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | +| API.V2 + Docker + GPU | | | | | | | | | +| API.V2 + Docker + CPU | | | | | | | | | +| `paddle_trainer` + Docker + GPU | | | | | | | | | +| `paddle_trainer` + Docker + CPU | | | | | | | | | +| API.V2 + Ubuntu + GPU | | | | | | | | | +| API.V2 + Ubuntu + CPU | | | | | | | | | +| `paddle_trainer` + Ubuntu + GPU | | | | | | | | | +| `paddle_trainer` + Ubuntu + CPU | | | | | | | | | diff --git a/develop/doc/design/releasing_process.html b/develop/doc/design/releasing_process.html new file mode 100644 index 00000000000..6fda989beb9 --- /dev/null +++ b/develop/doc/design/releasing_process.html @@ -0,0 +1,330 @@ + + + + + + + + + + + Paddle发行规范 — PaddlePaddle documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + +
+
    + +
  • Paddle发行规范
  • +
+
+ +
+
+
+
+ +
+

Paddle发行规范

+

Paddle使用git-flow branching model做分支管理,使用Semantic Versioning标准表示Paddle版本号。

+

Paddle每次发新的版本,遵循以下流程:

+
    +
  1. develop分支派生出新的分支,分支名为release/版本号。例如,release/0.10.0
  2. +
  3. 将新分支的版本打上tag,tag为版本号rc.Patch号。第一个tag为0.10.0rc1,第二个为0.10.0rc2,依次类推。
  4. +
  5. 对这个版本的提交,做如下几个操作:
      +
    • 编译这个版本的Docker发行镜像,发布到dockerhub。如果失败,修复Docker编译镜像问题,Patch号加一,返回第二步
    • +
    • 编译这个版本的Ubuntu Deb包。如果失败,修复Ubuntu Deb包编译问题,Patch号加一,返回第二步。
    • +
    • 使用Regression Test List作为检查列表,测试Docker镜像/ubuntu安装包的功能正确性
        +
      • 如果失败,记录下所有失败的例子,在这个release/版本号分支中,修复所有bug后,Patch号加一,返回第二步
      • +
      +
    • +
    +
  6. +
  7. 第三步完成后,将release/版本号分支合入master分支,并删除release/版本号分支。将master分支的合入commit打上tag,tag为版本号。同时再将master分支合入develop分支。最后删除release/版本号分支。
  8. +
  9. 编译master分支的Docker发行镜像,发布到dockerhub。编译ubuntu的deb包,发布到github release页面
  10. +
  11. 协同完成Release Note的书写
  12. +
+

需要注意的是:

+
    +
  • release/版本号分支一旦建立,一般不允许再从develop分支合入release/版本号。这样保证release/版本号分支功能的封闭,方便测试人员测试Paddle的行为。
  • +
  • release/版本号分支存在的时候,如果有bugfix的行为,需要将bugfix的分支同时merge到master, developrelease/版本号这三个分支。
  • +
+
+
+

Paddle 分支规范

+

Paddle开发过程使用git-flow分支规范,并适应github的特性做了一些区别。

+
    +
  • Paddle的主版本库遵循git-flow分支规范。其中:
      +
    • master分支为稳定(stable branch)版本分支。每一个master分支的版本都是经过单元测试和回归测试的版本。
    • +
    • develop分支为开发(develop branch)版本分支。每一个develop分支的版本都经过单元测试,但并没有经过回归测试。
    • +
    • release/版本号分支为每一次Release时建立的临时分支。在这个阶段的代码正在经历回归测试。
    • +
    +
  • +
  • 其他用户的fork版本库并不需要严格遵守git-flow分支规范,但所有fork的版本库的所有分支都相当于特性分支。
      +
    • 建议,开发者fork的版本库使用develop分支同步主版本库的develop分支
    • +
    • 建议,开发者fork的版本库中,再基于develop版本fork出自己的功能分支。
    • +
    • 当功能分支开发完毕后,向Paddle的主版本库提交Pull Reuqest,进而进行代码评审。
        +
      • 在评审过程中,开发者修改自己的代码,可以继续在自己的功能分支提交代码。
      • +
      +
    • +
    +
  • +
  • BugFix分支也是在开发者自己的fork版本库维护,与功能分支不同的是,BugFix分支需要分别给主版本库的masterdevelop与可能有的release/版本号分支,同时提起Pull Request
  • +
+
+
+

Paddle回归测试列表

+

本列表说明Paddle发版之前需要测试的功能点。

+
+

Paddle Book中所有章节

+

Paddle每次发版本首先要保证Paddle Book中所有章节功能的正确性。功能的正确性包括验证Paddle目前的paddle_trainer训练和纯使用Python训练模型正确性。

+

| | 新手入门章节 | 识别数字 | 图像分类 | 词向量 | 情感分析 | 语意角色标注 | 机器翻译 | 个性化推荐 | +| — | — | — | — | — | — | — | — | — | +| API.V2 + Docker + GPU | | | | | | | | | +| API.V2 + Docker + CPU | | | | | | | | | +| paddle_trainer + Docker + GPU | | | | | | | | | +| paddle_trainer + Docker + CPU | | | | | | | | | +| API.V2 + Ubuntu + GPU | | | | | | | | | +| API.V2 + Ubuntu + CPU | | | | | | | | | +| paddle_trainer + Ubuntu + GPU | | | | | | | | | +| paddle_trainer + Ubuntu + CPU | | | | | | | | |

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/develop/doc/objects.inv b/develop/doc/objects.inv index 186579d2607a16f4c0bf496eecaa725727d56b85..8c61d93cd06accbae321a2ead22100ef49dc50f3 100644 GIT binary patch delta 2240 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 dh*#b??i6$oPKMHuw01q{MO|-4_kR + + + + + + + + Paddle发行规范 — PaddlePaddle 文档 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + + + + + + + +
+
    + +
  • Paddle发行规范
  • +
+
+ +
+
+
+
+ +
+

Paddle发行规范

+

Paddle使用git-flow branching model做分支管理,使用Semantic Versioning标准表示Paddle版本号。

+

Paddle每次发新的版本,遵循以下流程:

+
    +
  1. develop分支派生出新的分支,分支名为release/版本号。例如,release/0.10.0
  2. +
  3. 将新分支的版本打上tag,tag为版本号rc.Patch号。第一个tag为0.10.0rc1,第二个为0.10.0rc2,依次类推。
  4. +
  5. 对这个版本的提交,做如下几个操作:
      +
    • 编译这个版本的Docker发行镜像,发布到dockerhub。如果失败,修复Docker编译镜像问题,Patch号加一,返回第二步
    • +
    • 编译这个版本的Ubuntu Deb包。如果失败,修复Ubuntu Deb包编译问题,Patch号加一,返回第二步。
    • +
    • 使用Regression Test List作为检查列表,测试Docker镜像/ubuntu安装包的功能正确性
        +
      • 如果失败,记录下所有失败的例子,在这个release/版本号分支中,修复所有bug后,Patch号加一,返回第二步
      • +
      +
    • +
    +
  6. +
  7. 第三步完成后,将release/版本号分支合入master分支,并删除release/版本号分支。将master分支的合入commit打上tag,tag为版本号。同时再将master分支合入develop分支。最后删除release/版本号分支。
  8. +
  9. 编译master分支的Docker发行镜像,发布到dockerhub。编译ubuntu的deb包,发布到github release页面
  10. +
  11. 协同完成Release Note的书写
  12. +
+

需要注意的是:

+
    +
  • release/版本号分支一旦建立,一般不允许再从develop分支合入release/版本号。这样保证release/版本号分支功能的封闭,方便测试人员测试Paddle的行为。
  • +
  • release/版本号分支存在的时候,如果有bugfix的行为,需要将bugfix的分支同时merge到master, developrelease/版本号这三个分支。
  • +
+
+
+

Paddle 分支规范

+

Paddle开发过程使用git-flow分支规范,并适应github的特性做了一些区别。

+
    +
  • Paddle的主版本库遵循git-flow分支规范。其中:
      +
    • master分支为稳定(stable branch)版本分支。每一个master分支的版本都是经过单元测试和回归测试的版本。
    • +
    • develop分支为开发(develop branch)版本分支。每一个develop分支的版本都经过单元测试,但并没有经过回归测试。
    • +
    • release/版本号分支为每一次Release时建立的临时分支。在这个阶段的代码正在经历回归测试。
    • +
    +
  • +
  • 其他用户的fork版本库并不需要严格遵守git-flow分支规范,但所有fork的版本库的所有分支都相当于特性分支。
      +
    • 建议,开发者fork的版本库使用develop分支同步主版本库的develop分支
    • +
    • 建议,开发者fork的版本库中,再基于develop版本fork出自己的功能分支。
    • +
    • 当功能分支开发完毕后,向Paddle的主版本库提交Pull Reuqest,进而进行代码评审。
        +
      • 在评审过程中,开发者修改自己的代码,可以继续在自己的功能分支提交代码。
      • +
      +
    • +
    +
  • +
  • BugFix分支也是在开发者自己的fork版本库维护,与功能分支不同的是,BugFix分支需要分别给主版本库的masterdevelop与可能有的release/版本号分支,同时提起Pull Request
  • +
+
+
+

Paddle回归测试列表

+

本列表说明Paddle发版之前需要测试的功能点。

+
+

Paddle Book中所有章节

+

Paddle每次发版本首先要保证Paddle Book中所有章节功能的正确性。功能的正确性包括验证Paddle目前的paddle_trainer训练和纯使用Python训练模型正确性。

+

| | 新手入门章节 | 识别数字 | 图像分类 | 词向量 | 情感分析 | 语意角色标注 | 机器翻译 | 个性化推荐 | +| — | — | — | — | — | — | — | — | — | +| API.V2 + Docker + GPU | | | | | | | | | +| API.V2 + Docker + CPU | | | | | | | | | +| paddle_trainer + Docker + GPU | | | | | | | | | +| paddle_trainer + Docker + CPU | | | | | | | | | +| API.V2 + Ubuntu + GPU | | | | | | | | | +| API.V2 + Ubuntu + CPU | | | | | | | | | +| paddle_trainer + Ubuntu + GPU | | | | | | | | | +| paddle_trainer + Ubuntu + CPU | | | | | | | | |

+
+
+ + +
+
+
+ + +
+ +
+

+ © Copyright 2016, PaddlePaddle developers. + +

+
+ Built with Sphinx using a theme provided by Read the Docs. + +
+ +
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/develop/doc_cn/objects.inv b/develop/doc_cn/objects.inv index 8d8858cdd952c2dcbfcf1d4255af456b4d476842..398b97ce8a2182934c755cb3a95bbeec5a08aaab 100644 GIT binary patch delta 2702 zcmV;93UT$^75Ej9hJW@|p5V$uib|!5T9Yj*i{p^&OI}p6)H7DlNP{jm&J*~;Wo={F zV7v<~tYHCHCD`l&TfSiYXGR*$zsTu}?ybvsJ^SE`TIYP8HggkA!PE#{fbWKtW!FJShs;LMfpr!5*55Zf0*E_g7MTFDe z4OwrS(u`#o68-@Rz}taAK?F;er;(1)X3ROqY^n%#CFlaAH^I8ea|^l7U|DJYVuZtTZa- zEQI>3jDN%3<`7mpv1f}L8a394A()~iMTk}{AzHSo$Wm)eZO+`ZCXx4d+EBrWW@X)# z9dnpxjD0BEh3LA1Ovkx!2qJ1vNk|^8A~29MXIfW=pa?xE$t1g~pfS6S*3tew)U(7s zl4zl*k~FAuom^ zxAOrJ-7gG)oCR;dBco`rig6;7%y4Fq*jNMt!lWx@5@rp?f)qbLvRck%>t;V!9gIP-hycDx`){ z3yg@E$_#NGsn@!YzDBN-u!JHLlrNRY#R(!St}v)e*|V6e6aG$bV`G z)8$d?!VE-KNL52sN4thb9%Y1t4P}C`hCEiPj#?n2VG>iMWg=N&kJs%k6i!;FjV)%0 zYK~a`hM-IyGZZO-2n5(-R-^OE(%ax_ zMKF^bC)y5=Qkobuv44od+3~TW_(+74mr)nQf0LsVD^;-X@z23x*N zO5!^92~nMVeG}nEo8cj0i68!zhKq`TlVHZq(SI3qlD$s^O+D$KG-yjX2_Sg2lnhWw zTCT<`NVpMtNp7tK=V#3bn&hjK;8I8OJB^q;pBWM}bY*`VitgI@B@|g%cz>@xTw89V zCNpcM%%hz+Yo*JR5FFnNwpP8{H@&?@@8f!~^QM2e*ibrIyvWYKY0=wwlSZ2o$ z_e6{#QjB2dQ~zkkyMNR>{1G#*FZdg88!GCUQb#9K4;H~RljFi(SCe(SX(6QmPg`lz%!I%y*fEbR^rj ztb**IAlv3*XKYfc*Y87^1h1EZ)x}0jzRG>8lx(NYe?I@WMjIKNxD8vWUH|=a@8brT zI<_NQFgnd?kfKO5u6bM)rVRFQ-CN%4KU(S^9Q)T_dyk)bN8j`g552FqQe3X4s}kOQ zX$G|EI?N>b3S#Xo%YW>!L#q-ELqOz%94q|zFxb66xPE7_wO_6c$gjXM!Y+rAl=I{& znIKl)&c65EHa*hxAMV3qRIaLOj0zpto57ts!HebI-d)-c!xkX*1Xh#1%J|-|Ftj4LpYJaT_S&C z7VtYY3XFAmaxw;o4DI6c{8M9y0R7Eh2Al7_gLUurX3Pi0IfDGyJvF`vkn;I&UdCkf z3xiYWKTSRRdm;K>p}_~xkR@BnjHbxC#471jaMkx>G528CU%f$DX*c$cp7iz(f=~Z} zK!k}+itNTPPk&P_r=%CkzuDlz@#a{mAteI*{^LDw`JKPL6*h4F>$!WX#R-}tV-UBn7~!#1aN2$R;)vkjKlpjM0UXK|g%su;;J`QKwy8nYpK zwa`1-2;Oh?S9f}cFZw^+NYEH)t~4;y7U4RM%NbbyaDPfWy5B#10^^^+oU=3#0zh^l zXv!onv)Mb|@gMBt&s4TvFy!L6Ne4=B{CM!~FaGK+Z*7ygvi(1K+u3Y)U0nRMG;#vP z!z(qXBwtK@1+_-7cm!p<|MVW@wBYSx@8h?PI-7z#V~tHj!M34zYam-~w*&EOmoXN4 zurVQ927mw6LU8=Hgi1w@tm(KcwoKI}#}c(k`MzOkcQg2U!Czl5r!S6-$}LmD9;w*d zwP9k(HmXgRaG;E=+}gU``?QiKG9g8F9hkDK@7v-FVKFQC7{%M+mC|tz$lgLTZmOoTx*SG3# zyw54W>T1dri9}Te9M6(LAOCl7{TbbX<$nlr2UvV`{y7)#Tr1~ep*D1$ozHgVmPG`? z?h;;*$oT~;a$_JHb!5ZQ6v;B7v?Egi;T6LySk#)F9zXfTq|KOQ_I|n5C IKU=#BkTHfxrT_o{ delta 2673 zcmV-%3Xb*o72Fk&hJW%ZPjKZSMWs^ZT9Yj*i{p^&OI}p6)H7DBk%TTb&J*~;Ww9}A zFx~|g*08XyN^G+WZ25xmpBZUp{zXn-bZ=e8VfMinwa)pzPu-{coNmdIRaHl0t}SZ@ zvL(edT3TD0MY@G-XH0fo+YzkA3msGSbR_&%kS(n_f4<4LZ+{Z|v01mHpQ9e)Zv?Sn zRdbA8yau-?;9ty!o3t6vMZ)>|ghMfXAul3(BBB9KMVB3C6nxXNEq8vECnHSA{Z$_< zMK|UkS5i?+_H|uf_0PU7IK}#z#_H~@ef#t zA+W!`>2Iw0KP_FEni3|aFZuh2!T!VU@!j6>dINU?_kVE`?et;5v%$KI^o?bk^O}lm zaur^1P^#=H`Xn??v&P=zm4v#SzqOb|7_UQ_ccHA)i%H&bOnh?Md$DgG|K?igZ`nxI6u0RtKx9EU(ir9g7TU5{dVYjsX%Qx?0XhdSR)Y6;8x?aF zLVaGw;eYOM2&I(r4`5Z7 zjDHrgk)e=Lmy-D_T`JVhvFC76kiscUx>6=#)?h41v4k{>R+e_9bpGQqm#0cXiEja~ z$WRKir<7h7xOAyhPtci@$efa+AJ$0{f5DM*X)DWCyB^I85t%U=WicelB)B4Bne0|m zRwlodiAoTpvtW^;L<+2_CXocolrZ3URevm3fLmR3&Bej~PozY7U=*T6#w8}W^7OSd zJCdVyMk&-0F##j0C&?Z4pki5WIKZF5|Mf?i%&<78jzk@qn3N-?tDy~bW{|2vY8bV^ zh={4o5Z94<&4Tnba-D=F6q%r`p|GWlT3t(F%0j9-sx%v>hl8$;P!^^TF-1gHLw}eq zk6IUIAhJTL8mc1Yjv%xJ>m>@`RgR2$6 zOmf|5J3LBhV$8(;AqwZm$BN>gvwuq^RP*C3mJ?|^gsE4DRUr>iVI_!*im4iG`7$Yq z>pEvdb@TO2gd1&!hlC}5_*WV(Dgw@e89PV+Wzb3XJ`*(cq<_+&E#)kL;MGzxKqYCp z8m}PXM(8EEwGy14H6v(}ug-!?9m(%BV)A@uNX*cc{cR|^=irx6WM$#K`hV~oxs964 zteG;8cH*p+E>A-L^nQPP&A)xqKUnrZZ1nebd&kQSr2{z|zYHRq_!1_ti{6c8cKmQp z#26yQ==w#}_BA8}!J=p7NvhFl(q%>ozhyr_y z9bF8)FPrlk`T`jaKnLr4gMTMCfxyw)MiaU-Tuz?;NB~LY|hAzrbsjdd0Z8y4EA`#Up?qOUg;g3 z2G@V|pFHzVzV03$`(JIRxI9f)CA?A63~1AJ2zq%AvG$g2cG&q+iH0E{^6`ijet6X1 ze=xXyXRv)(t_{fNV1LH5%V8wtJh@6HiIu;1=zqIIPalIvhp=vxtEw8KLI?H|Z|_e3 z&nzr3=YZE!+%HbpNt^_47Pq5Y`yc3 zHvHRLF(1^?2vV8#$@n5b$`|auipl850H2`$H1+)Ngy_?P1|L8}wrnf2nj-5GD|%DG zRo{!n+{67~?FMC~-Pk>O+C4bxfBZKDB1~*j4>yK+nrb;Ey-@yn1s9Gt$4U(;5#aZp z9QdnmgPm>v*?(O=Hq;lMZ6m{#+P3Lgby)H)j4x~#KF96B=C{3_B39@dwvVhsn6!?b zZLqoyWmSYfk4s8ca7eDn|8%0#m<`eErS8dQ|J`EnlDsp8_#}%w?svbE(s7=cE z4NJS5{eQ2Pf{l%G`r^o_+}#vxXNtW&2PT&6pxSf^2g=CGt?k?0k9X5VCZtHqb*Kxw zDB~%xkG_}+p8l7Sy1mte(&HP3D?zSBw0HO{%3Cn*#UhG8-1mxN>r`8@akg{yEkvQWRS92k&p-rYWA7VMIFOU;mlyesP zB){nShiM9;a0%N_AvZ}|{!p1+-&(NwE~oserzvw1iK+@Xo+X1m{mSagcxpi+=NGKVje#80kquW