From 4ce5ba737fd96f1989169c0908d07c424b92957c Mon Sep 17 00:00:00 2001 From: chenyaowen123 <853173655@qq.com> Date: Tue, 12 Dec 2017 16:17:23 +0800 Subject: [PATCH] v0.0.1 this is miniMobile --- Progress.html | 82 + aside.html | 111 + blockquote.html | 83 + button.html | 132 + comment.html | 211 + css/miniMobile.css | 5 + css/miniMobile.less | 688 +++ flow.html | 107 + foldingPanel.html | 307 ++ font.html | 90 + form.html | 218 + fullWinodwPage.html | 113 + grid.html | 114 + header.html | 86 + icon.html | 92 + img/banner1.jpg | Bin 0 -> 63544 bytes img/banner2.jpg | Bin 0 -> 66832 bytes img/banner3.jpg | Bin 0 -> 49148 bytes img/meng.jpg | Bin 0 -> 104028 bytes img/s1.jpg | Bin 0 -> 34125 bytes img/s2.jpg | Bin 0 -> 82914 bytes img/s3.jpg | Bin 0 -> 51942 bytes img/s4.jpg | Bin 0 -> 21071 bytes img/s5.jpg | Bin 0 -> 46153 bytes img/select.png | Bin 0 -> 1503 bytes img/timg.gif | Bin 0 -> 3649 bytes img/user.jpg | Bin 0 -> 11113 bytes img/user2.jpg | Bin 0 -> 9013 bytes index.html | 291 ++ iscroll.html | 146 + js/flexible.min.js | 116 + js/miniMobile.js | 232 + js/zepto.min.js | 3 + keyboard.html | 77 + layer.html | 145 + list-button.html | 301 ++ list.html | 124 + listPic.html | 120 + my.html | 179 + plugins/fonticon/demo.css | 370 ++ plugins/fonticon/demo_fontclass.html | 268 ++ plugins/fonticon/iconfont.css | 92 + plugins/fonticon/iconfont.eot | Bin 0 -> 11416 bytes plugins/fonticon/iconfont.svg | 147 + plugins/fonticon/iconfont.ttf | Bin 0 -> 11248 bytes plugins/fonticon/iconfont.woff | Bin 0 -> 6716 bytes plugins/icheck/icheck.js | 509 +++ plugins/iscroll-probe.js | 2197 ++++++++++ plugins/json.json | 32 + plugins/layer_mobile/layer.js | 2 + plugins/layer_mobile/need/layer.css | 1 + plugins/mobileSelect/mobileSelect.css | 150 + plugins/mobileSelect/mobileSelect.js | 690 +++ plugins/myflow.js | 63 + plugins/noUiSlider.10.0.0/nouislider.css | 260 ++ plugins/noUiSlider.10.0.0/nouislider.js | 2256 ++++++++++ plugins/noUiSlider.10.0.0/nouislider.min.css | 1 + plugins/noUiSlider.10.0.0/nouislider.min.js | 3 + .../photoswipe/default-skin/default-skin.css | 482 +++ .../photoswipe/default-skin/default-skin.png | Bin 0 -> 547 bytes .../photoswipe/default-skin/default-skin.svg | 1 + plugins/photoswipe/default-skin/preloader.gif | Bin 0 -> 866 bytes plugins/photoswipe/photoswipe-ui-default.js | 861 ++++ .../photoswipe/photoswipe-ui-default.min.js | 4 + plugins/photoswipe/photoswipe.css | 179 + plugins/photoswipe/photoswipe.js | 3734 +++++++++++++++++ plugins/photoswipe/photoswipe.min.js | 4 + plugins/switchery/switchery.css | 64 + plugins/switchery/switchery.js | 1957 +++++++++ plugins/switchery/switchery.min.css | 1 + plugins/switchery/switchery.min.js | 1 + plugins/webKeyBoard.js | 109 + radius.html | 41 + select.html | 345 ++ swiper.html | 78 + tab.html | 76 + 76 files changed, 19151 insertions(+) create mode 100644 Progress.html create mode 100644 aside.html create mode 100644 blockquote.html create mode 100644 button.html create mode 100644 comment.html create mode 100644 css/miniMobile.css create mode 100644 css/miniMobile.less create mode 100644 flow.html create mode 100644 foldingPanel.html create mode 100644 font.html create mode 100644 form.html create mode 100644 fullWinodwPage.html create mode 100644 grid.html create mode 100644 header.html create mode 100644 icon.html create mode 100644 img/banner1.jpg create mode 100644 img/banner2.jpg create mode 100644 img/banner3.jpg create mode 100644 img/meng.jpg create mode 100644 img/s1.jpg create mode 100644 img/s2.jpg create mode 100644 img/s3.jpg create mode 100644 img/s4.jpg create mode 100644 img/s5.jpg create mode 100644 img/select.png create mode 100644 img/timg.gif create mode 100644 img/user.jpg create mode 100644 img/user2.jpg create mode 100644 index.html create mode 100644 iscroll.html create mode 100644 js/flexible.min.js create mode 100644 js/miniMobile.js create mode 100644 js/zepto.min.js create mode 100644 keyboard.html create mode 100644 layer.html create mode 100644 list-button.html create mode 100644 list.html create mode 100644 listPic.html create mode 100644 my.html create mode 100644 plugins/fonticon/demo.css create mode 100644 plugins/fonticon/demo_fontclass.html create mode 100644 plugins/fonticon/iconfont.css create mode 100644 plugins/fonticon/iconfont.eot create mode 100644 plugins/fonticon/iconfont.svg create mode 100644 plugins/fonticon/iconfont.ttf create mode 100644 plugins/fonticon/iconfont.woff create mode 100644 plugins/icheck/icheck.js create mode 100644 plugins/iscroll-probe.js create mode 100644 plugins/json.json create mode 100644 plugins/layer_mobile/layer.js create mode 100644 plugins/layer_mobile/need/layer.css create mode 100644 plugins/mobileSelect/mobileSelect.css create mode 100644 plugins/mobileSelect/mobileSelect.js create mode 100644 plugins/myflow.js create mode 100644 plugins/noUiSlider.10.0.0/nouislider.css create mode 100644 plugins/noUiSlider.10.0.0/nouislider.js create mode 100644 plugins/noUiSlider.10.0.0/nouislider.min.css create mode 100644 plugins/noUiSlider.10.0.0/nouislider.min.js create mode 100644 plugins/photoswipe/default-skin/default-skin.css create mode 100644 plugins/photoswipe/default-skin/default-skin.png create mode 100644 plugins/photoswipe/default-skin/default-skin.svg create mode 100644 plugins/photoswipe/default-skin/preloader.gif create mode 100644 plugins/photoswipe/photoswipe-ui-default.js create mode 100644 plugins/photoswipe/photoswipe-ui-default.min.js create mode 100644 plugins/photoswipe/photoswipe.css create mode 100644 plugins/photoswipe/photoswipe.js create mode 100644 plugins/photoswipe/photoswipe.min.js create mode 100644 plugins/switchery/switchery.css create mode 100644 plugins/switchery/switchery.js create mode 100644 plugins/switchery/switchery.min.css create mode 100644 plugins/switchery/switchery.min.js create mode 100644 plugins/webKeyBoard.js create mode 100644 radius.html create mode 100644 select.html create mode 100644 swiper.html create mode 100644 tab.html diff --git a/Progress.html b/Progress.html new file mode 100644 index 0000000..b79a0f6 --- /dev/null +++ b/Progress.html @@ -0,0 +1,82 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + + + +
+
+ +
+
+ 进度条 +
+
+ +
+
+
+

默认:

+

+

插件默认:

+ +

皮肤primary:

+ +

皮肤success:

+ +

皮肤info:

+ +

皮肤warning:

+ +

皮肤danger:

+ +
+ + + + + \ No newline at end of file diff --git a/aside.html b/aside.html new file mode 100644 index 0000000..70576d9 --- /dev/null +++ b/aside.html @@ -0,0 +1,111 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + + + + +
+
+ +
+
+ 快速预览 +
+
+ +
+
+
+ 请在开发者模式下模拟触摸! +

+ + 左侧弹出 + + + 右侧弹出 + +

+ + 顶部弹出 + + + 底部弹出 +

+ 回到首页 +
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/blockquote.html b/blockquote.html new file mode 100644 index 0000000..1388bf3 --- /dev/null +++ b/blockquote.html @@ -0,0 +1,83 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + +
+
+ +
+
+ 引用、下划线、返回顶部 +
+
+ +
+
+
+

引用块

+
+
+

这是一个blockquote块,提示用的!

+
+
+

默认是主色调,但是你可以引用normal来清除掉,实现用辅助色样式

+
+
+

不同颜色的 blockquote-primary

+
+
+

不同颜色的 blockquote-success

+
+
+

不同颜色的 blockquote-info

+
+
+

不同颜色的 blockquote-warning

+
+
+

不同颜色的 blockquote-danger

+
+

下划线

+

细线

+
+

粗线

+
+
+

实际意义中,粗的下划线并不是各个屏幕下都加粗的,而是在渲染过程中,最小只能渲染一像素,所以在屏幕小得情况下,粗线和细线是相同的。

+
+
+ +
+ +
+ + + + \ No newline at end of file diff --git a/button.html b/button.html new file mode 100644 index 0000000..b188eab --- /dev/null +++ b/button.html @@ -0,0 +1,132 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + +
+
+ +
+
+ 按钮组合 +
+
+ +
+

+ +
+ 按钮 + 按钮 + 按钮 + 按钮 + 按钮 +
+
+ +
+
+ + 下拉导航组件   + + + +
+
+ + 下拉导航组件   + + + +
+ +
+
+
+ 首页 + < + 1 + > + 尾页 +
+
+
+ 按钮 + 按钮 + 按钮 + +

+ 按钮 +
+
+
+ tag + tag-primary + tag-success + tag-info + tag-warning + tag-danger +
+ + + \ No newline at end of file diff --git a/comment.html b/comment.html new file mode 100644 index 0000000..3151e7c --- /dev/null +++ b/comment.html @@ -0,0 +1,211 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + +
+
+ +
+
+ 评论列表 +
+
+ +
+
+
+
+
+ +
+
+

产品开发部

+

社区系统账号

+
+

[问题]:平台注册流程第一步中的手机号,与竞价系统新增供应商界面中的“联系电话”,这两者不等同。

+

[意见]:判断手机号是否被注册,判断是否被之前的账号在第一步注册时填写了。根据不同的情况显示不同的界面元素!

+
+
+

全文

+
+ 23分钟 + 56 + 43 +
+
+

+ + 张三、 + 李四、 + 张三、 + 李四、 + 张三、 + 李四、 + 张三、 + 王二... + 等21人觉得赞 +

+

+ 张三:这是一条认真有内涵的评论,作为一个资深的评论家,我不得不说这个评论很棒,简直帅呆了! +

+

+ 大嘴巴图图:评论长了不好看啊! +

+
+
+
+
+
+ +
+
+

河南市场部

+

社区系统账号

+
+

[问题]:网站突然登录不了了,显示404。

+

[意见]:是否可以管理一下服务器。

+ +
+ +
+ 23分钟 + 56 + 43 +
+
+

+ + 张三、 + 李四、 + 张三、 + 李四、 + 张三、 + 王二... + 等21人觉得赞 +

+

+ 张三:产品部赶紧解决! +

+

+ 产品开发部 回复 + 张三:好的,正在重启服务器,马上解决! +

+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/css/miniMobile.css b/css/miniMobile.css new file mode 100644 index 0000000..b0bb345 --- /dev/null +++ b/css/miniMobile.css @@ -0,0 +1,5 @@ +/* + * minimobile.css v0.0.1 by chenyaowen + * 在保留作者签名的情况下,允许使用与商业用途 + */ +*{margin:0;padding:0;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",STHeiti,"Microsoft Yahei",Tahoma,Simsun,sans-serif}a{text-decoration:none;color:#666;cursor:pointer}body{overflow-x:hidden}img{vertical-align:middle;border:none}li{list-style:none}.fl{float:left}.fr{float:right}.fn{float:none}.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}.t-c{text-align:center}.t-l{text-align:left}.t-r{text-align:right}.nowrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.o-h{overflow:hidden}.o-s{overflow:scroll}.o-v{overflow:visible}.t-c-v{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.f0{font-size:0}.f28{font-size:.28rem}.f30{font-size:.3rem}.f32{font-size:.32rem}.f34{font-size:.34rem}.f36{font-size:.36rem}.f38{font-size:.38rem}.f40{font-size:.4rem}.f42{font-size:.42rem}.f44{font-size:.44rem}.f46{font-size:.46rem}.f48{font-size:.48rem}.f50{font-size:.5rem}.f52{font-size:.52rem}.f54{font-size:.54rem}.f56{font-size:.56rem}.f58{font-size:.58rem}.f60{font-size:.6rem}.color1{color:#e4393c}.color2{color:#222}.color3{color:#666}.color4{color:#999}.color5{color:#d7d7d7}.color6{color:#f3f5f7}.color7{color:#f8f8f8}.color8{color:#fff}.color-primary{color:#1ab394}.color-success{color:#1c84c6}.color-info{color:#23c6c8}.color-warning{color:#f8ac59}.color-danger{color:#ed5565}.bg-color1{background-color:#e4393c}.bg-color2{background-color:#222}.bg-color3{background-color:#666}.bg-color4{background-color:#999}.bg-color5{background-color:#d7d7d7}.bg-color6{background-color:#f3f5f7}.bg-color7{background-color:#f8f8f8}.bg-color8{background-color:#fff}.bg-color-primary{background-color:#1ab394}.bg-color-success{background-color:#1c84c6}.bg-color-info{background-color:#23c6c8}.bg-color-warning{background-color:#f8ac59}.bg-color-danger{background-color:#ed5565}hr{border:none;border-bottom:.01rem solid #d7d7d7}hr.lg{border-bottom:.03rem solid #d7d7d7}.w1{width:.1rem}.h1{height:.1rem}.w2{width:.2rem}.h2{height:.2rem}.w3{width:.3rem}.h3{height:.3rem}.w4{width:.4rem}.h4{height:.4rem}.w5{width:.5rem}.h5{height:.5rem}.w6{width:.6rem}.h6{height:.6rem}.w7{width:.7rem}.h7{height:.7rem}.w8{width:.8rem}.h8{height:.8rem}.w9{width:.9rem}.h9{height:.9rem}.w10{width:1rem}.h10{height:1rem}.w11{width:1.1rem}.h11{height:1.1rem}.w12{width:1.2rem}.h12{height:1.2rem}.w13{width:1.3rem}.h13{height:1.3rem}.w14{width:1.4rem}.h14{height:1.4rem}.w15{width:1.5rem}.h15{height:1.5rem}.w16{width:1.6rem}.h16{height:1.6rem}.w17{width:1.7rem}.h17{height:1.7rem}.w18{width:1.8rem}.h18{height:1.8rem}.w19{width:1.9rem}.h19{height:1.9rem}.w20{width:2rem}.h20{height:2rem}.w21{width:2.1rem}.h21{height:2.1rem}.w22{width:2.2rem}.h22{height:2.2rem}.w23{width:2.3rem}.h23{height:2.3rem}.w24{width:2.4rem}.h24{height:2.4rem}.w25{width:2.5rem}.h25{height:2.5rem}.w26{width:2.6rem}.h26{height:2.6rem}.w27{width:2.7rem}.h27{height:2.7rem}.w28{width:2.8rem}.h28{height:2.8rem}.w29{width:2.9rem}.h29{height:2.9rem}.w30{width:3rem}.h30{height:3rem}.w31{width:3.1rem}.h31{height:3.1rem}.w32{width:3.2rem}.h32{height:3.2rem}.w33{width:3.3rem}.h33{height:3.3rem}.w34{width:3.4rem}.h34{height:3.4rem}.w35{width:3.5rem}.h35{height:3.5rem}.w36{width:3.6rem}.h36{height:3.6rem}.w37{width:3.7rem}.h37{height:3.7rem}.w38{width:3.8rem}.h38{height:3.8rem}.w39{width:3.9rem}.h39{height:3.9rem}.w40{width:4rem}.h40{height:4rem}.w41{width:4.1rem}.h41{height:4.1rem}.w42{width:4.2rem}.h42{height:4.2rem}.w43{width:4.3rem}.h43{height:4.3rem}.w44{width:4.4rem}.h44{height:4.4rem}.w45{width:4.5rem}.h45{height:4.5rem}.w46{width:4.6rem}.h46{height:4.6rem}.w47{width:4.7rem}.h47{height:4.7rem}.w48{width:4.8rem}.h48{height:4.8rem}.w49{width:4.9rem}.h49{height:4.9rem}.w50{width:5rem}.h50{height:5rem}.w51{width:5.1rem}.h51{height:5.1rem}.w52{width:5.2rem}.h52{height:5.2rem}.w53{width:5.3rem}.h53{height:5.3rem}.w54{width:5.4rem}.h54{height:5.4rem}.w55{width:5.5rem}.h55{height:5.5rem}.w56{width:5.6rem}.h56{height:5.6rem}.w57{width:5.7rem}.h57{height:5.7rem}.w58{width:5.8rem}.h58{height:5.8rem}.w59{width:5.9rem}.h59{height:5.9rem}.w60{width:6rem}.h60{height:6rem}.w61{width:6.1rem}.h61{height:6.1rem}.w62{width:6.2rem}.h62{height:6.2rem}.w63{width:6.3rem}.h63{height:6.3rem}.w64{width:6.4rem}.h64{height:6.4rem}.w65{width:6.5rem}.h65{height:6.5rem}.w66{width:6.6rem}.h66{height:6.6rem}.w67{width:6.7rem}.h67{height:6.7rem}.w68{width:6.8rem}.h68{height:6.8rem}.w69{width:6.9rem}.h69{height:6.9rem}.w70{width:7rem}.h70{height:7rem}.w71{width:7.1rem}.h71{height:7.1rem}.w72{width:7.2rem}.h72{height:7.2rem}.w73{width:7.3rem}.h73{height:7.3rem}.w74{width:7.4rem}.h74{height:7.4rem}.w75{width:7.5rem}.h75{height:7.5rem}.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9{float:left;display:inline-block}.col-1{width:calc(8.33333333%)}.col-2{width:calc(16.66666667%)}.col-3{width:calc(25%)}.col-4{width:calc(33.33333333%)}.col-5{width:calc(41.66666667%)}.col-6{width:calc(50%)}.col-7{width:calc(58.33333333%)}.col-8{width:calc(66.66666667%)}.col-9{width:calc(75%)}.col-10{width:calc(83.33333333%)}.col-11{width:calc(91.66666667%)}.col-12{width:calc(100%)}.m1{margin:.1rem}.p1{padding:.1rem}.m2{margin:.2rem}.p2{padding:.2rem}.m3{margin:.3rem}.p3{padding:.3rem}.m4{margin:.4rem}.p4{padding:.4rem}.m5{margin:.5rem}.p5{padding:.5rem}.m6{margin:.6rem}.p6{padding:.6rem}.m7{margin:.7rem}.p7{padding:.7rem}.m8{margin:.8rem}.p8{padding:.8rem}.m9{margin:.9rem}.p9{padding:.9rem}.m10{margin:1rem}.p10{padding:1rem}.m11{margin:1.1rem}.p11{padding:1.1rem}.m12{margin:1.2rem}.p12{padding:1.2rem}.ml1{margin-left:.1rem}.mr1{margin-right:.1rem}.mt1{margin-top:.1rem}.mb1{margin-bottom:.1rem}.pl1{padding-left:.1rem}.pr1{padding-right:.1rem}.pt1{padding-top:.1rem}.pb1{padding-bottom:.1rem}.ml2{margin-left:.2rem}.mr2{margin-right:.2rem}.mt2{margin-top:.2rem}.mb2{margin-bottom:.2rem}.pl2{padding-left:.2rem}.pr2{padding-right:.2rem}.pt2{padding-top:.2rem}.pb2{padding-bottom:.2rem}.ml3{margin-left:.3rem}.mr3{margin-right:.3rem}.mt3{margin-top:.3rem}.mb3{margin-bottom:.3rem}.pl3{padding-left:.3rem}.pr3{padding-right:.3rem}.pt3{padding-top:.3rem}.pb3{padding-bottom:.3rem}.ml4{margin-left:.4rem}.mr4{margin-right:.4rem}.mt4{margin-top:.4rem}.mb4{margin-bottom:.4rem}.pl4{padding-left:.4rem}.pr4{padding-right:.4rem}.pt4{padding-top:.4rem}.pb4{padding-bottom:.4rem}.ml5{margin-left:.5rem}.mr5{margin-right:.5rem}.mt5{margin-top:.5rem}.mb5{margin-bottom:.5rem}.pl5{padding-left:.5rem}.pr5{padding-right:.5rem}.pt5{padding-top:.5rem}.pb5{padding-bottom:.5rem}.ml6{margin-left:.6rem}.mr6{margin-right:.6rem}.mt6{margin-top:.6rem}.mb6{margin-bottom:.6rem}.pl6{padding-left:.6rem}.pr6{padding-right:.6rem}.pt6{padding-top:.6rem}.pb6{padding-bottom:.6rem}.ml7{margin-left:.7rem}.mr7{margin-right:.7rem}.mt7{margin-top:.7rem}.mb7{margin-bottom:.7rem}.pl7{padding-left:.7rem}.pr7{padding-right:.7rem}.pt7{padding-top:.7rem}.pb7{padding-bottom:.7rem}.ml8{margin-left:.8rem}.mr8{margin-right:.8rem}.mt8{margin-top:.8rem}.mb8{margin-bottom:.8rem}.pl8{padding-left:.8rem}.pr8{padding-right:.8rem}.pt8{padding-top:.8rem}.pb8{padding-bottom:.8rem}.ml9{margin-left:.9rem}.mr9{margin-right:.9rem}.mt9{margin-top:.9rem}.mb9{margin-bottom:.9rem}.pl9{padding-left:.9rem}.pr9{padding-right:.9rem}.pt9{padding-top:.9rem}.pb9{padding-bottom:.9rem}.ml10{margin-left:1rem}.mr10{margin-right:1rem}.mt10{margin-top:1rem}.mb10{margin-bottom:1rem}.pl10{padding-left:1rem}.pr10{padding-right:1rem}.pt10{padding-top:1rem}.pb10{padding-bottom:1rem}.ml11{margin-left:1.1rem}.mr11{margin-right:1.1rem}.mt11{margin-top:1.1rem}.mb11{margin-bottom:1.1rem}.pl11{padding-left:1.1rem}.pr11{padding-right:1.1rem}.pt11{padding-top:1.1rem}.pb11{padding-bottom:1.1rem}.ml12{margin-left:1.2rem}.mr12{margin-right:1.2rem}.mt12{margin-top:1.2rem}.mb12{margin-bottom:1.2rem}.pl12{padding-left:1.2rem}.pr12{padding-right:1.2rem}.pt12{padding-top:1.2rem}.pb12{padding-bottom:1.2rem}.btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;background-color:#e4393c;cursor:pointer;color:#fff;border:1px solid #e4393c}.btn:active,.btn:hover{background-color:#ce1c1f;border-color:#ce1c1f}.btn.disable,.btn[disabled=disabled]{background-color:#999!important;border-color:#999!important;cursor:default}.btn-primary{background-color:#1ab394;border-color:#1ab394}.btn-primary:active,.btn-primary:hover{background-color:#14866f;border-color:#14866f}.btn-success{background-color:#1c84c6;border-color:#1c84c6}.btn-success:active,.btn-success:hover{background-color:#166699;border-color:#166699}.btn-info{background-color:#23c6c8;border-color:#23c6c8}.btn-info:active,.btn-info:hover{background-color:#1b9b9d;border-color:#1b9b9d}.btn-warning{background-color:#f8ac59;border-color:#f8ac59}.btn-warning:active,.btn-warning:hover{background-color:#f69428;border-color:#f69428}.btn-danger{background-color:#ed5565;border-color:#ed5565}.btn-danger:active,.btn-danger:hover{background-color:#e8273b;border-color:#e8273b}.btn-select{position:relative;border:none}.btn-select .btn-select-list{position:absolute;left:0;top:100%;width:100%;line-height:2.4em;border-top:1px solid #fff;display:none}.btn-select .btn-select-list li,.btn-select .btn-select-list li a{color:#fff;display:block;width:100%;height:100%;cursor:pointer}.btn-select .btn-select-list li a:hover,.btn-select .btn-select-list li:hover{background:rgba(0,0,0,.1)}.tag{background-color:#e4393c;padding:.01rem .1rem;border-radius:.05rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tag-primary{background-color:#1ab394}.tag-success{background-color:#1c84c6}.tag-info{background-color:#23c6c8}.tag-warning{background-color:#f8ac59}.tag-danger{background-color:#ed5565}.form-control{border:1px solid #d7d7d7;resize:none;padding:.1rem .2rem;vertical-align:middle;font:inherit;font-size:inherit}.form-control:focus{border-color:#999}.ui-checkbox,.ui-radio{cursor:pointer;width:.35rem;height:.35rem;display:inline-block;vertical-align:middle;border:.01rem solid #999;margin-right:.05rem;margin-top:-.05rem;border-radius:20%;text-align:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.ui-checkbox.checked,.ui-radio.checked{background-color:#e4393c;border-color:#e4393c}.ui-checkbox.checked:after,.ui-radio.checked:after{content:'';display:inline-block;width:20%;height:40%;margin-top:-5%;border-bottom:2px solid #fff;border-right:2px solid #fff;transform:rotate(30deg)}.ui-radio{border-radius:50%}.ui-checkbox.disabled,.ui-radio.disabled{opacity:.3;cursor:default}.check-primary.checked{background-color:#1ab394;border-color:#1ab394}.check-success.checked{background-color:#1c84c6;border-color:#1c84c6}.check-info.checked{background-color:#23c6c8;border-color:#23c6c8}.check-warning.checked{background-color:#f8ac59;border-color:#f8ac59}.check-danger.checked{background-color:#ed5565;border-color:#ed5565}.ui-selectBox{display:inline-block;border:1px solid #d7d7d7;height:.62rem;line-height:.6rem;padding:0;position:relative;overflow:hidden}.ui-selectBox input{float:left;display:block;position:absolute;padding-left:.5em;top:0;width:100%;height:100%;line-height:.6rem;border:none}.ui-selectBox i.icon{float:right;display:inline-block;width:1em;position:absolute;right:.5em;top:0}.ui-selectBox .box{position:absolute;width:100%;height:100%;left:0;top:0;cursor:pointer}blockquote{padding:.1rem .2rem;border-left:.05rem solid #e4393c;color:#666}.blockquote-primary{border-color:#1ab394}.blockquote-success{border-color:#1c84c6}.blockquote-info{border-color:#23c6c8}.blockquote-warning{border-color:#f8ac59}.blockquote-danger{border-color:#ed5565}blockquote.normal{border-color:#999}.radius0{border-radius:0}.radius5{border-radius:.05rem}.radius10{border-radius:.1rem}.radius15{border-radius:.15rem}.radius20{border-radius:.2rem}.radius-o{border-radius:50%}table{border-collapse:collapse;border-spacing:0;border:0 solid gray}td,th{border:1px solid #ccc;padding:2px 15px}th{background:#f1f1f1}.ui-title{line-height:1.8em;border-bottom:.01rem solid #d7d7d7;font-weight:400}.ui-header{line-height:.8rem}.ui-header-l,.ui-header-r{cursor:pointer}.ui-aside{position:fixed;top:-99999rem;bottom:-99999rem;z-index:99}.ui-aside-mask{position:fixed;left:0;top:0;bottom:0;right:0;z-index:98;background:rgba(0,0,0,.5);opacity:0}.ui-btnlist .btn{float:left}.ui-btnlist .btn:first-child{border-radius:.05rem 0 0 .05rem}.ui-btnlist .btn:last-child{border-radius:0 .05rem .05rem 0}.ui-progressBox{overflow:hidden;height:20px;background:#fff;border:1px solid #d7d7d7;border-radius:10px}.ui-progressBox progress{transform:translateX(120%)}.ui-progressBox .progress-content{display:block;height:100%;border:2px solid #fff;border-radius:8px;background-color:#e4393c;min-width:16px;width:0}.ui-progressBox .progress-content.primary{background-color:#1ab394}.ui-progressBox .progress-content.success{background-color:#1c84c6}.ui-progressBox .progress-content.info{background-color:#23c6c8}.ui-progressBox .progress-content.warning{background-color:#f8ac59}.ui-progressBox .progress-content.danger{background-color:#ed5565} \ No newline at end of file diff --git a/css/miniMobile.less b/css/miniMobile.less new file mode 100644 index 0000000..38e2669 --- /dev/null +++ b/css/miniMobile.less @@ -0,0 +1,688 @@ +/* + * minimobile.less v0.0.1 by chenyaowen + * 在保留作者签名的情况下,允许使用与商业用途 + */ +//颜色变量 +@color1: #e4393c; //点睛色,按钮着色,icon着色,特殊强调的文字 +@color2: #222; //重要颜色,导航名称,板块标题,类目名称 +@color3: #666; //普通段落信息,引导词 +@color4: #999; //辅助,次要文字,按钮描边,按钮灰色背景,默认blockquote颜色 +@color5: #d7d7d7; //分割线,标签描边 +@color6: #f3f5f7; //区域底色1 +@color7: #f8f8f8; //区域底色2 +@color8: #fff; //默认白色,通常很多地方采用,请勿修改 +@color-primary: #1ab394; +@color-success: #1c84c6; +@color-info: #23c6c8; +@color-warning: #f8ac59; +@color-danger: #ed5565; +@font: -apple-system, +BlinkMacSystemFont, +"PingFang SC", +"Helvetica Neue", +STHeiti, +"Microsoft Yahei", +Tahoma, +Simsun, +sans-serif; +@size-loop-n: 75; //栅格化等份值 +@spacing-loop-n: 12; //内外边距最大等份值 +@percentage-loop-n: 12; //百分比栅格数 +@fontsize-min: 28; //字体最小值,单位像素 +@fontsize-max: 60; //字体最大值,单位像素 +//清除默认样式 +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: @font; +} + +a { + text-decoration: none; + color: @color3; + cursor: pointer; +} + +body { + overflow-x: hidden; +} + +img { + vertical-align: middle; + border: none; +} + +li { + list-style: none; +} + +//浮动 +.fl { + float: left; +} + +.fr { + float: right; +} + +.fn { + float: none; +} + +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden +} + +//文本对其 +.t-c { + text-align: center; +} + +.t-l { + text-align: left; +} + +.t-r { + text-align: right; +} + +.nowrap { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} + +.o-h { + overflow: hidden; +} + +.o-s { + overflow: scroll; +} + +.o-v { + overflow: visible; +} + + +/* 文本垂直居中 */ + +.t-c-v { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: -webkit-inline-flex; + display: inline-flex; + -webkit-box-pack: center; + -ms-flex-pack: center; + -webkit-justify-content: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + -webkit-align-items: center; + align-items: center; +} + +//字体大小 +.f0 { + font-size: 0; +} + +.font-size(@n, @i) when(@i <=@n) { + .f@{i} { + font-size: @i/100rem; + } + .font-size(@n, (@i+2)); +} + +.font-size(@fontsize-max, @fontsize-min); +//颜色 +.color1 { + color: @color1; +} + +.color2 { + color: @color2; +} + +.color3 { + color: @color3; +} + +.color4 { + color: @color4; +} + +.color5 { + color: @color5; +} + +.color6 { + color: @color6; +} + +.color7 { + color: @color7; +} + +.color8 { + color: @color8; +} + +.color-primary { + color: @color-primary; +} + +.color-success { + color: @color-success; +} + +.color-info { + color: @color-info; +} + +.color-warning { + color: @color-warning; +} + +.color-danger { + color: @color-danger; +} + +//背景色 +.bg-color1 { + background-color: @color1; +} + +.bg-color2 { + background-color: @color2; +} + +.bg-color3 { + background-color: @color3; +} + +.bg-color4 { + background-color: @color4; +} + +.bg-color5 { + background-color: @color5; +} + +.bg-color6 { + background-color: @color6; +} + +.bg-color7 { + background-color: @color7; +} + +.bg-color8 { + background-color: @color8; +} + +.bg-color-primary { + background-color: @color-primary; +} + +.bg-color-success { + background-color: @color-success; +} + +.bg-color-info { + background-color: @color-info; +} + +.bg-color-warning { + background-color: @color-warning; +} + +.bg-color-danger { + background-color: @color-danger; +} + +//下划线 +hr { + border: none; + border-bottom: 0.01rem solid @color5; +} + +hr.lg { + border-bottom: 0.03rem solid @color5; +} + +//栅格化 +.size-loop(@n, @i) when(@i <=@n) { + .w@{i} { + width: @i/10rem + } + .h@{i} { + height: @i/10rem + } + .size-loop(@n, (@i+1)); +} + +.size-loop(@size-loop-n, 1); +//12栏栅格 +.col-1, +.col-2, +.col-3, +.col-4, +.col-5, +.col-6, +.col-7, +.col-8, +.col-9, +.col-10, +.col-11, +.col-12 { + float: left; + display: inline-block +} + +.size-loop2(@n, @i) when(@i <=@n) { + .col-@{i} { + width: calc(100%/@n * @i) + } + .size-loop2(@n, (@i+1)); +} + +.size-loop2(@percentage-loop-n, 1); +//间距 +.spacing-loop-short(@n, @i) when(@i <=@n) { + .m@{i} { + margin: @i/10rem; + } + .p@{i} { + padding: @i/10rem; + } + .spacing-loop-short(@n, (@i+1)); +} + +.spacing-loop-short(@spacing-loop-n, 1); +.spacing-loop(@n, @i) when(@i <=@n) { + .ml@{i} { + margin-left: @i/10rem; + } + .mr@{i} { + margin-right: @i/10rem; + } + .mt@{i} { + margin-top: @i/10rem; + } + .mb@{i} { + margin-bottom: @i/10rem; + } + .pl@{i} { + padding-left: @i/10rem; + } + .pr@{i} { + padding-right: @i/10rem; + } + .pt@{i} { + padding-top: @i/10rem; + } + .pb@{i} { + padding-bottom: @i/10rem; + } + .spacing-loop(@n, (@i+1)); +} + +.spacing-loop(@spacing-loop-n, 1); +//按钮 +.btn { + .t-c-v; + background-color: @color1; + cursor: pointer; + color: #fff; + border: 1px solid @color1; + &:hover, + &:active { + background-color: darken(@color1, 10%); + border-color: darken(@color1, 10%); + } +} + +.btn.disable, +.btn[disabled=disabled] { + background-color: @color4 !important; + border-color: @color4 !important; + cursor: default; +} + +.btn-fun(@name, @thiscolor) { + .btn-@{name} { + background-color: @thiscolor; + border-color: @thiscolor; + &:hover, + &:active { + background-color: darken(@thiscolor, 10%); + border-color: darken(@thiscolor, 10%); + } + } +} + +.btn-fun(primary, @color-primary); +.btn-fun(success, @color-success); +.btn-fun(info, @color-info); +.btn-fun(warning, @color-warning); +.btn-fun(danger, @color-danger); +//下拉按钮 +.btn-select { + position: relative; + border: none; + .btn-select-list { + position: absolute; + left: 0; + top: 100%; + width: 100%; + line-height: 2.4em; + border-top: 1px solid #fff; + display: none; + li, + li a { + color: #fff; + display: block; + width: 100%; + height: 100%; + cursor: pointer; + &:hover { + background: rgba(0, 0, 0, .1); + } + } + } +} + +//状态 +.tag { + background-color: @color1; + padding: 0.01rem 0.1rem; + border-radius: 0.05rem; + color: #fff; + .nowrap +} + +.tag-fun(@name, @thiscolor) { + .tag-@{name} { + background-color: @thiscolor; + } +} + +.tag-fun(primary, @color-primary); +.tag-fun(success, @color-success); +.tag-fun(info, @color-info); +.tag-fun(warning, @color-warning); +.tag-fun(danger, @color-danger); +//表单组件 +.form-control { + border: 1px solid @color5; + resize: none; + padding: 0.1rem 0.2rem; + vertical-align: middle; + font: inherit; + font-size: inherit; +} + +.form-control:focus { + border-color: @color4; +} + +.ui-checkbox, +.ui-radio { + cursor: pointer; + width: 0.35rem; + height: 0.35rem; + display: inline-block; + vertical-align: middle; + border: 0.01rem solid @color4; + margin-right: 0.05rem; + margin-top: -0.05rem; + border-radius: 20%; + text-align: center; + .t-c-v; +} + +.ui-checkbox.checked, +.ui-radio.checked { + background-color: @color1; + border-color: @color1; +} + +.ui-checkbox.checked:after, +.ui-radio.checked:after { + content: ''; + display: inline-block; + width: 20%; + height: 40%; + margin-top: -5%; + border-bottom: 2px solid #fff; + border-right: 2px solid #fff; + transform: rotate(30deg); +} + +.ui-radio { + border-radius: 50%; +} + +.ui-radio.disabled, +.ui-checkbox.disabled { + opacity: 0.3; + cursor: default; +} + +.check-fun(@name, @thiscolor) { + .check-@{name}.checked { + background-color: @thiscolor; + border-color: @thiscolor; + } +} + +.check-fun(primary, @color-primary); +.check-fun(success, @color-success); +.check-fun(info, @color-info); +.check-fun(warning, @color-warning); +.check-fun(danger, @color-danger); +//下拉按钮 +.ui-selectBox { + display: inline-block; + border: 1px solid @color5; + height: 0.62rem; + line-height: 0.6rem; + padding: 0; + position: relative; + overflow: hidden; + input { + float: left; + display: block; + position: absolute; + padding-left: 0.5em; + top: 0; + width: 100%; + height: 100%; + line-height: 0.6rem; + border: none; + } + i.icon { + float: right; + display: inline-block; + width: 1em; + position: absolute; + right: 0.5em; + top: 0; + } + .box { + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + cursor: pointer; + } +} + +//引用 +blockquote { + padding: 0.1rem 0.2rem; + border-left: 0.05rem solid @color1; + color: #666; +} + +.blockquote-primary { + border-color: #1ab394; +} + +.blockquote-success { + border-color: #1c84c6; +} + +.blockquote-info { + border-color: #23c6c8 +} + +.blockquote-warning { + border-color: #f8ac59 +} + +.blockquote-danger { + border-color: #ed5565 +} + +blockquote.normal { + border-color: @color4; +} + +//圆角 +.radius0 { + border-radius: 0; +} + +.radius5 { + border-radius: 0.05rem; +} + +.radius10 { + border-radius: 0.1rem; +} + +.radius15 { + border-radius: 0.15rem; +} + +.radius20 { + border-radius: 0.2rem; +} + +.radius-o { + border-radius: 50%; +} + +//table +table { + border-collapse: collapse; + border-spacing: 0px; + border: 0px solid gray; +} + +td, +th { + border: 1px solid #ccc; + padding: 2px 15px; +} + +th { + background: #f1f1f1; +} + + +/* + * 以下是公用的东西 + */ + +.ui-title { + line-height: 1.8em; + border-bottom: 0.01rem solid @color5; + font-weight: normal; +} + +//公用头部 +.ui-header { + line-height: 0.8rem; +} + +.ui-header-l, +.ui-header-r { + cursor: pointer; +} + +//侧栏 +.ui-aside { + position: fixed; + top: -99999rem; + bottom: -99999rem; + z-index: 99; +} + +.ui-aside-mask { + position: fixed; + left: 0; + top: 0; + bottom: 0; + right: 0; + z-index: 98; + background: rgba(0, 0, 0, 0.5); + opacity: 0; +} + +//按钮组 +.ui-btnlist .btn { + float: left; +} + +.ui-btnlist .btn:first-child { + border-radius: .05rem 0 0 .05rem; +} + +.ui-btnlist .btn:last-child { + border-radius: 0 .05rem .05rem 0; +} + +//进度条 +.ui-progressBox { + overflow: hidden; + height: 20px; + background: #fff; + border: 1px solid @color5; + border-radius: 10px; + progress { + transform: translateX(120%); + } + .progress-content { + display: block; + height: 100%; + border: 2px solid #fff; + border-radius: 8px; + background-color: @color1; + min-width: 16px; + width: 0; + &.primary { + background-color: @color-primary; + } + &.success { + background-color: @color-success; + } + &.info { + background-color: @color-info; + } + &.warning { + background-color: @color-warning; + } + &.danger { + background-color: @color-danger; + } + } +} \ No newline at end of file diff --git a/flow.html b/flow.html new file mode 100644 index 0000000..7ceafa9 --- /dev/null +++ b/flow.html @@ -0,0 +1,107 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + + + +
+
+ +
+
+ 瀑布流 +
+
+ +
+
+
+

+ myflow.js +

+

一只简单实用的响应式瀑布流插件!

+
+
+
+ 点击加载 +
+ + + +
+ +
+ + + + \ No newline at end of file diff --git a/foldingPanel.html b/foldingPanel.html new file mode 100644 index 0000000..69271a7 --- /dev/null +++ b/foldingPanel.html @@ -0,0 +1,307 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + +
+
+ +
+
+ 折叠面板 +
+
+ +
+
+
+

普通折叠面板


+
+
+
讲一个笑话
+
明天爸爸生日,我问老公带点什么礼物回去?老公想了想说:“就带着我们最真诚的祝福吧。”我。。。
+
+
+
学姐你冷吗
+
大一时,有个学弟追我,在室友的起哄下,我和他出去看了一场电影。那时候是初冬,进场的时候不太冷,看完电影出来有点冷,学弟可能看出来了,问我:学姐,很冷吗?然后拉开他的羽绒服拉链,在我以为他要把衣服给我的时候,他对我说:你看,我都穿保暖衣了……
+
+
+
这是为什么
+
突然想到一个问题:西游记中玉帝只有十万天兵天将,而天蓬元帅有八十万天河水军,天蓬元帅为什么不反玉帝自己做玉帝呢?哥们儿一句话:因为八十万是水军。
+
+
+
什么情况
+
想吃火腿肠了,不过我在看电视,懒得动,懒得去拿,就喊老公:老公,我想吃火腿肠,帮我拿一根。 结果这货很激动地直接过来了……
+
+
+
+

普通表格

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
名字语文数学英语化学生物物理地理历史总分
刘全蛋88分59分90分10分69分100分70分90分490分
李大嘴88分59分90分10分69分100分70分90分490分
郭芙蓉88分59分90分10分69分100分70分90分490分
+
+
+

使用面板代替table表格


+
+
+
考试成绩表
+
+
+
张一毛
+
+
+

语文:

+

88分

+
+
+

数学:

+

59分

+
+
+

英语:

+

90分

+
+
+

化学:

+

10分

+
+
+

生物:

+

69分

+
+
+

物理:

+

100分

+
+
+

地理:

+

70分

+
+
+

历史:

+

90分

+
+
+

总分:

+

490分

+
+
+
+
+
刘全蛋
+
+
+

语文:

+

88分

+
+
+

数学:

+

59分

+
+
+

英语:

+

90分

+
+
+

化学:

+

10分

+
+
+

生物:

+

69分

+
+
+

物理:

+

100分

+
+
+

地理:

+

70分

+
+
+

历史:

+

90分

+
+
+

总分:

+

490分

+
+
+
+
+
李大嘴
+
+
+

语文:

+

88分

+
+
+

数学:

+

59分

+
+
+

英语:

+

90分

+
+
+

化学:

+

10分

+
+
+

生物:

+

69分

+
+
+

物理:

+

100分

+
+
+

地理:

+

70分

+
+
+

历史:

+

90分

+
+
+

总分:

+

490分

+
+
+
+
+
郭芙蓉
+
+
+

语文:

+

88分

+
+
+

数学:

+

59分

+
+
+

英语:

+

90分

+
+
+

化学:

+

10分

+
+
+

生物:

+

69分

+
+
+

物理:

+

100分

+
+
+

地理:

+

70分

+
+
+

历史:

+

90分

+
+
+

总分:

+

490分

+
+
+
+
+

+ + + + + \ No newline at end of file diff --git a/font.html b/font.html new file mode 100644 index 0000000..52e88eb --- /dev/null +++ b/font.html @@ -0,0 +1,90 @@ + + + + + + + + + + + 字体排版 + + + + + + + + + + + + + +
+
+ +
+
+ 字体大小与颜色 +
+
+ +
+
+
+

+ 文字排版 +

+

中国的文字很有意思!

+

Chinese characters are very interesting

+
+ +
+
color1
+
color2
+
color3
+
color4
+
color5
+
color6
+
color7
+
color8
+
color-success
+
color-primary
+
color-info
+
color-warning
+
color-warning
+
--
+

+

字体大小表


+
+
字体大小
+
字体大小
+
字体大小
+
字体大小
+
字体大小
+
字体大小
+
字体大小
+
字体大小
+
字体大小
+
--
+
+ + + + \ No newline at end of file diff --git a/form.html b/form.html new file mode 100644 index 0000000..31657f2 --- /dev/null +++ b/form.html @@ -0,0 +1,218 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + + + +
+
+ +
+
+
+ 姓名: + +
+
+ 年龄: + +
+
+ 邮箱: + +
+
+ 地址: +
+ 请选择 +
+
+
+ 性别: + + +
+
+ 爱好: + + + +
+
+ 范围: +
+
+
+ 滑块: + +
+
+ 备注: + +
+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/fullWinodwPage.html b/fullWinodwPage.html new file mode 100644 index 0000000..60bd4f0 --- /dev/null +++ b/fullWinodwPage.html @@ -0,0 +1,113 @@ + + + + + + + + + + + 全屏切换 + + + + + + + + + + + + + + + + + +
+
+
+ 全屏切换基于swiper插件 +
+
Slide 2 + 点击回到首页 +
+
Slide 3 + 点击回到首页 +
+
Slide 4 + 点击回到首页 +
+
Slide 5 + 点击回到首页 +
+
Slide 6 + 点击回到首页 +
+
Slide 7 + 点击回到首页 +
+
Slide 8 + 点击回到首页 +
+
Slide 9 + 点击回到首页 +
+
Slide 10 + 点击回到首页 +
+
+
+
+ + + + + + \ No newline at end of file diff --git a/grid.html b/grid.html new file mode 100644 index 0000000..dc5df3a --- /dev/null +++ b/grid.html @@ -0,0 +1,114 @@ + + + + + + + + + + + 栅格化 + + + + + + + + + + + + + +
+
+ +
+
+ 栅格化 +
+
+ +
+
+
+

+ 栅格化系统 +

+

使用栅格化,轻松排版每个模块!

+
+
+
+ +
模块布局 +
+
+
+ 可定宽高 +
+
+ 方便快捷 +
+
+
+
+ 灵活易懂 +
+
+ 好学好用 +
+
+
+
+

混合形式的栅格化


+
+
col-6
+
col-6
+
+
+
col-4
+
col-4
+
col-4
+
+
+
col-3
+
col-3
+
col-3
+
col-3
+
+
+
w15
+
w15
+
w15
+
w15
+
w15
+
+
+
col-2
+
col-2
+
col-2
+
col-2
+
col-2
+
col-2
+
+
+
col-1
+
col-2
+
col-3
+
col-6
+

+ + + + \ No newline at end of file diff --git a/header.html b/header.html new file mode 100644 index 0000000..57b7301 --- /dev/null +++ b/header.html @@ -0,0 +1,86 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + +
+
+ +
+
+ 标题内容 +
+
+ +
+
+

+
+
+ +
+
+ 标题内容 +
+
+ +
+
+

+
+
+ +
+
+ 标题内容 +
+
+ +
+
+

+
+
+ +
+
+ 标题内容 +
+
+ +
+
+

+
+
+ +
+
+ 标题内容 +
+
+ +
+
+ + + \ No newline at end of file diff --git a/icon.html b/icon.html new file mode 100644 index 0000000..bfb0e1f --- /dev/null +++ b/icon.html @@ -0,0 +1,92 @@ + + + + + + + + + + + miniMobile + + + + + + + + + + + + + +
+
+ +
+
+ 字体图标 +
+
+ +
+

+

可以在fonticon官网新增

+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/img/banner1.jpg b/img/banner1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3839d3e8b1743382a285e2550d4c6e0b0916e3fe GIT binary patch literal 63544 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 Wo!Tw`ityiF_pkKQsX9U5#{UzBBgl3D literal 0 HcmV?d00001 diff --git a/img/banner2.jpg b/img/banner2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d0fd07be33b0ece85dbcd71bdd5d868ffc472f34 GIT binary patch literal 66832 zcmce-1yq~cwkVteEd>g+c<~~|p;&MzZpGa!@d6f0KTAt7iB#ihjyNpP3o zZh!VZd+&Six#!;Z#yeyDYh)zfx3bn;Hf>G0|8>6vAd~gAw*deY60+#m>{yRhWy**@M&E%EiK()6xaRuPT4 zXzfXBVQp*gEJnBA+DS)iZzV>j$FK5A#Z}tc&R)Ua-CE0ERol|v(Nf5YPC}ek)K}OS z`-;*10bCgM{ChPQ9qk`YJRQa8B!3^3R$oP(R@%kgnwFoFm&5WE zH#aR1$jQye4+L_v)AGFH=HYsU`T#k&`Gom_!aM@Be-=8_Xzo@v!kRL2e~yKE6Qlcc zQ9eFCoIbpqF7CEm+(JS^zr*0+;Xt+E@bGi?H239j_Mra@f{e9?rMtbWr@f0a?e7rH zEnK`j#pqBo{l^kOt|}^j1OAu01p@uPu0L9Pcxqbz$29(BYY%NdS8Fa!YY!JMcS~zj zbNatJqxSB9AL#dnsM!dsx!a=-#oS58#nKC8?d+*2BSwe%htta5N|*;IBPbvzEy*J( zBPA=q%`L>k&nF}(%gxU#2;>)(<^2oBzv>H=dBrEkEhQ);C5`GSD6=AJI@+Ac0me_?>Sor|Z7hnzZhRoN`Oy>SBhJj|9@Kd zKl)nzzw8+oYBF5EBgcP2mcOb{82J0+->8pz`I~sGolz9yjv|eFBmnOZga=rCMUmix zdl(=bfcAGmM?IlqpuW*D9%B4n9zJ^bM|t!J6Z0`9<|8aDY-}v7C;zoPKu1S^i185X z(IYHe94s7Md^}Xa$N!_zpFdCj@%CT){rz_T74YowgG4kW`h#Zxv}X^{pFOz$4)}rM z6A#cIKKKs~0(krg6YIh6lf!<1s>b~N>+kYM{UglBSWi*C(9tl^9$`L0dyM`F1M~NP z01qEM!+gO_@K};i!`zLI2rD$H?i-IgalVwM1wAhV$=JK(f_iB_(k?BJgQamxZT^(P z2C@kmt8hl|=cqY7KmkO7LVt*fj)sZaH?(Ky7~BtEND@5KAjC9x3r(WqK|vy_`$j*u z#4AmFVBwyu#X$0o|1lr%u%O-}>?P^_9N-E11Jvr!p8+HQ(D;OH=w$-TG$}rcBxTvD zG&$zMYvzZ5&qQc%)v^EoeFUJTN~tFoGjFDbmN88})Pi~gm)C&FhTzR4QI0_nb2((u zgwoQ1>%5awW#HwAi)qZmv0JZ%HJ9!=#}DUGRav?}rW^^c&NH^IN!yRl>HTK|(0PF= z?YDvf!5ar$0Tkx3+}4?P&a6!z=QMA>=9o?4D1E~gZ7y;p-U#TZ-Oqq9+bV5bfST|J zPMJtPZG5{K&Bq&nEyc271BC;6bfTyDbx84R27>Fwh|&;Np+Wfl5=&J? z8QV-CeL=`!he(t&S)bO^{~I*Ye$ZHoCwxG;rRhNa?lA_HBzc(3wq!Z^q{1J&`=GXpMN?B7Eu-f3 z$<}DTjv*mq*O#kk=6e842|aGZ$h?Hw&m8$u|Gd51twR}r8vK@smp=(ADKpt_ices zY5YACU(;Vc8_^jK=$y*QgG_|wWqD`6z>_#uPJ-;_WM)A%O~jraT1EAGuTb^gKoa}5 zNih=qJ>L>}-N_uO`02H_8_bJ@HhW#_cFG6_&i(?cj&{Ka9K<|s)vmFxyVdYzJuqJ) z48RQO?>@_@Q$#Tah#zVg@;vFg?nL+;SM1f4j*U@E`Dc4^|BX=p8?it5l1i^3^{DYL zmhgB|{q64zVm#czel$$l@U2Z-;6oW){DN?QgEDNI76;SPi}*UP?SvVU_E z@f=p%m$Jgx(dbIg%Bud)n@FxTFH>1JO!#6zH$vvUWjE7&_63Vv-q3Pz%trg{w#^UN zn8V&^Yg;}w*L7T;^`7Y7KndAN_oKAS%oQbXYC>ttlUsNY(R;=j)yyRq5+M8Is&AN!B(Ldcd-xJMChnJwtVFV_bsGw5efO z;%{E(59z@tN`uuMwMO@ijU-fxr$?d)oA%)=ZYKp|KaeHOCSQG)z&n^KX;IC5y9$n< z4rlUC^B#1bJEDuPBHS+w!j$3GBx4YZnjIB^J)5!L_G1}21W%D$c6iiP;@t0rgMXXO z(~&;QI=$mm3A9tZD{L?vV>&29_(1M}3bEIl*tV7`%xQ;GuOT8v4=UFo}XudBXf+J>dj#MvI)p?JneI0aLX*n zG-66$xW@b))Ik@)P&zuI!(b8qFFD44M;|Rosp7smiaXU!=NT*|D=NxQ`^|%5<)XJ? zarTI@g#a}dBlp3U7O13K%Ej}&LI|&b5Tgx#Nmd{M!%OZ)u(CuN>vqkwZK3pjiQH2Z z0VFieq+Jiq;QsL0Ziu+W;p*NGKJ&(nt>u1|oO2J@R)d|@gnIo92PcLzyueyaWv~OB z=@E7M`+V5|!t;RJE3ZOW{y6^>sPv(F+?+Eqex?CJP^{LSo(5h@bl^ogaM2W@ClxDJo*vA&LF=%61hd z{Be{4qy90C)P;uBTk|~Gh)Th!i;L^HP8@LIz!_)KfEl5BOwHV{3MUfC8x@`8AvyJ3S=Q^jSgmT5 z8sZy;I~pg&*ymb(KiM3+_TX={%P(xUo%cP01yOLtF6-``-T|8#*LJb# zHIu3TwwPDuTeOo~6m6?qksx*BK*xglpOF)L z8cT+KZs)oGGp?-pB>$e%qEj?@ea zX03U3o>zSd9o6-oS~I%!AGmJAYpuKTNk~v!6Nmb`o6VWZ>09tBScov2r}xIy&q-+} zZKE~6)V1ENh+mr(QfvVuOjP4+hB;)Vuo$59=~XcWe{0zScuHqM%LR>A&lAr7p=FwB z6c&hvp9*eU{3Uq*nOOew+Qt8=5!$%(+0n9ykU6Pw#694Bv+@+s5eJ)wki{|+a7Tns zOy0Fmfye<9=RJ2feW?YSL)r``EkYZp2x#U_ce$`Ky#iOVLY^&K_Q`9SH|F@gz<784 z$#q+zzLEIJ?cIhkEUrAu8lEkdzVIfvA}^W?xMO>;*BU?R4C0l2 zdt`!o)dXnP?Vup7`PNi)gvouLYh9@U#HrA62zv6(T8k62Oo7T&51Am>@oCg^%y$iQqm0jbAO}Zhz|Qq+PPvKX7RYvDQ^HG`R8EDlJ5+N@Dyi!6WG$=$)-jJP#Fr4B z&*GFS%A==yml);WCOR2Muy}TOI*sGGx9fD;%a;+u8(`~dwb&%Df5Ai8#2a`m)t+CX zU76v+(8gz%27R!)b6vD;DJ*~2+Zf|a)$ZQuRnvVPw~g54I6{!(6>(D)jhy&e%JX`rLUqxoU+?o_0njvPC~Rd8=obv z-Ru8+y8m6@G&a~Wbed6KP5s^^4!odoB zTS4#oDdN45#Me&!-Vu4rp|oUiMqxe)z`%>zkWAwdzr41fz}ArR-Wj})hbAt1_W?Q6$vK2Q0?+!Crc|A%#= z^h`SiCKZBQR)a;%#;FcflWex+T1nP~#5GiMWh&rg<(rDy#bE_) z1;Vcnm;LgrJ*bYSjM>?8P2RV*`8MUluZ@0E{cvyCuu;)3ztUP^+CR9+*{oktQLQt< zdv=i}N+MQv50C|k;QNDMZF(8}&yQmlXU;xhdS6+$o$W5<*bh>c(3AyZ+JGnW_$8(O zgXGwer!G`sHgy6nK0KKj(K&Bcruiyl2SQXG?nuT)l&&zzzwKvDwS#B0u5;fHfdaIT zowbgRxsM@PE@>|7D)gS`rds<3c|PS&7#%`iu!!%dFrAahb5h;|Kz1*n8He_QBww&A3poqezLwAz5e}M}Q?FXXTAb*q>DVQ&FKNUPm0_-YC;6K8aJ!o=m!nNw>@8DS6~>fTSVoOJBMNJpJ)7 zL4lg@L%E#WasWR!Z9e*Ft09LE%(GQx9bG`gX?;jDU*WZpqvHBw36NI14e4)7e4m0D zjRZ;@lr%v6iw)~*tW)#(EG+t=rgakV#MNn3#pdzKPLE3I zEz7E-^RIw+^K01Rq$CyBPhRdfs9}2<|8|*i2bO+3_PlZm5|hcO4J!_*7f$cn>Q3XdX$fiR%nYgmXMu8g%waG1@q|O%8nXCyUfv`J6Dm@&Rx+uI@ZWN`BRVw=blhXL_$Ps{p=h~Kd=vKMj zepe6FIIGB_d?@>ka;8tA&3NVNxI(`3`9qcDqQ-inChQB>9@-E;Av1V z*~S?@O%yJCM&Ux>r*g4g9;}hgj4taU-zg#pB%`rix}n2V{|GYSR-Ws4iZceU zp6T;*YpFIYH`FM<$c^*#i2akLvSfF&*Dqd7EwJ`8ya!i^dWpTTJ!DSkn!}7q_XOzV zdV|_Tcv=NylDwj$MJr<9x?eclhHMlOoa>{b4S?N1*5UIEa%?Z$;#4Zb$eGG`PFCm_ zJTb&M$3nXqM@SRygzFHb!IBMlcYZg;gN}x-B0zv}iGP3iOUfYjdEI#U3;Ndp%D2Sh z958hgZf#}hY&evqqf8i5=0PjvjDuy5J}+uwRx~wiDK+( zUfVANjhnJn*7VBC3%V9!?Sh`aFV%E0au&q)PzXz1A%0$9K*-Z_&Bej8Q&wUJZIaY7 zCiVPM@j@LGAQaxC$4Ea>GT$6Gls;Ug1z)p0P&6dsV^J4eqVua2aJR`h|qwFp{T0dRh+E;%7n0SvAda?b`nGRwj7BFvuLI@Q=gAwV`*(a}af+5_p4P8%ZJB;L@*E$rJB)gKMtEm=Hh>T8? z4eFNgQ1_BFjAV{2ZD=Sh*Z?f8*G3=D#U3ExvsH~XpW9*%Lg;#*uEULmJ6S`9H?K)c zGLGy$*ftZQ*6)_34BTMi;$8YpT{5nZVtrJM^{SLa9fyLt5v}RhUhtuowcT;HMK45y zbuTP`%mypKuK`wNH&`sGLHAEY`R@oozI-CzjM;kt4$TsUutGAwYrLJy*j^6@e>=p(?CZ(?=lQ(0tj_IO?koDPxxlrn_8yXley1(DU!^{yc(~XNNK$|iU+z8{lkipPxxGHZ2cTG18)WPnUCY7 z?`RjrZo`DZt4K%96HzTHntjI=<31=a6Lg(j*--ZI&gQ)SSL8x0d)B9REZN9q?=~9p zrWK%fm>Xyhqw2SS(UuU3n3FVW{+8d&`v@jMeKK}_P}JoWsjO>~9gLYi`*AzyT#yg{ z?a3{FN@S$)3ai7%#4R}0k-4IW$z#c_vs|=%j>kQ2EW6fKI*dm`fW#o%=yLA?Bu`a& z@r%EW*3`0l?@llk$jfSiB; zV!$-#%$>x^4%UV3vO5q(;1aP$%89ys>rxKmbcZ(c5(2%bGdcGkloXs?~C?0c^;O!sVa!$06mdu@sD zWHu3JeU)2mW{6d%uB{OB-%W)7hBhZ?CH}E)KDj6@l5jE=pRnI?d%9_Udp>sp0`HGm z&cL^{+4@D*K)p22zBDq<6BtzH5bJq8I^Z{e&sH`=q?CX#l^7X@X8P+nw+yOQUI~Cf zVBoHu}mpAkh|x87ECaurBR@T}1-x zy^d{?;vL9PN=?;k&!yK5=-wSp9H}-MHcHiS^?FjJXfFNHH57TvuLOL#^X*`=HGL%k zlb9_@)y##a74EkeA^bTq+1Ow;^%v4jKBOhphFhlDO#mKYV<-UCwi zZ(f3H)G}1htpijfrkSQ-&-upRSIK{AcM3fI(`1Tc-Da?3WDj{RXQ~v;iJ>`FhJAaP zaQy*4U*4>sj$+-v>wC^<;D_9a$Rl@pYU6(1xpbnV0#k_G74gf%q>deR29bTXA=d36 zgj&qB=ggF0hTWogrWO3UI6ocPcE{Zp^^i(2A6vM1&_3yU`@B7uzpYqH*$Mhy%1BB* zv_KtzKC81OHQSO^j)6~bS0C&C_4c$_B1l;byH>}RS}^`2w%MI!)R}9kq{h>hfKwq9 zvHgidm=vXWd@HueXu3NQiQBF_mufoR^%z;f*-5qr7Yu7CZ3$Xmy9#^@22KC}MThtBOIX1vcXJ z_YD8k=y9>eKg-h9^d1D9sV)cOvDm!0@yI?b)L;k3ExG0hFj{b^D^hQ{!{#vwy)4P(1wqUA22KlbXOo*?Tfm6>;|? z09hs7aTwy(V3rW>cqA-PZ195+%5Bx?UNW2y(rt}Eu3(Qj#6TewVPzJSy7vHr=?(z) z5r3;Dl##eXJj%w#u&03yV)BAmcle_viIJ^imZE1rleEr0XVzL)?T6gjXgvJQ`ldL4 z3i)W!9iIjV5mVk2os`LA)0M1%_VbVW;VtYn;5PBJ3gs;8<~<6A5L&2nPKyDE*QFX~ zD0&N9YI=K;NvLr@*eOJSyHj=L|wiYi#JcXWcraa=DKm^fS&5w6M{xOzvJS3 z0%wG6h<|nGQy8xFQ)MCdVyyC9(pSDbUje2lC48e|bKWzlM~bz^Vb z$XWFf#q{Qag4Si{aLehEC+dlEQP$hXsgxbf!KixZLZF#PTBYx?&CcAJ_6w2yWUf(~-z-Ub z*vW1@!yyjuCNLg+slcMLx*BY%YC!9%vw3Bl%r|_Eyxmecc4{Gmo1oXH3SGaK0GWLw z+xbvlo-dYd__?B0 zMe6|3d@II)9p*`7t2opIEs!c^NLm!UO~YhR`8ir}MB(qtQ1!ziWI}yMW)RcFfZhDU zvbm-RJL=>66G|o~H3GVwZPt4LLXG?B(OBc^_B~+pm;e z-l?Fy3i4vNN)m~+JAancClMnOEgsri?)N@p$fk2$@a|cTgpTxxOkjgWy^Q-C*_|Ce z9}RpC%8+%GCt)nlMelB#t<+DUge#su2z184eT$_rL$&_nsb;Na@EoL**p2VRK7+(+ zZ$QzVcEg@G7bWL_uxK1jdPHVwH~Rx*#%K1n@n})GIO5Q~>L3`euTl1{I93j6fHIp) z#M;11YeK_qxd@b(@V^jVH1HYn*J0MQ+=a~)mJ5>!DZ>GXy1uZhDR^a{s^PcBjSR1s zjq&v%=)6t4LIJ5QPTx9R7!*W}>_EUyR+GJu@)6ajfz?5^hEEkkVrx6;!7Ed?E~YAw z%TC_A?i#1y+!c#)Km2O5JDuC&1^X`_K^#1DhW6+(z(fGRA5cx0l;lI_?8C6eRN-8? z>0Q}7SEQ-@jbb}V`=8m>pLg_s%Q;0JC${vZ-Oey%PLVhYi6id4;7|R^rf*Kj42(E* z_BBp8WHB}+I_KmV0b8kaLlY^nEtYunV~Pm7%jzYW)O393Mxb8cqJo)N@dRY1u1;^-^IH5fSXcr~oD>;H-hwwur z%a4kRPs^^RyNJD&eX^9k+TB*|E2~ttz5~-~{U_3_z2Fk}I-goL5=o!LDQLgY8^7I; zKh(6^0{eG`@}1BgoL3N9oVJM^9;Id#Q~71BZ$Yem9?kfiLqL*VEJj;FO4I}V-zHB= zq~H{{z32X6btikxX)Nsi0dNzz=mpScY+)RfyrE5Rt~JsV?q$Wdtw<7S7| zdAPQ+6lJ`jSW&}Bv-9)oP|I3r_2Hrlq3@=X?$49rB>N(o{=GL#J|?|?lSPc)l;J{0 zv~{NHmz#S84Rb~o^-O4Hi`-E|BBJR84mFLu{Si&WT}?{tU)Xx4>oQ?&g8cElWXGe# zaW!B}f2QI`-aC{94PAQhZO`3$25-mF=Q*<@L|AMf1qXotVRI!G>-Ono{4?WD?zZ+* z*)5t?msj_IrdgQb&}E9AnS4ToCs{df&Lk8#E&a3*{3xnKCqRuH8ndXLN8(e?@a}EN zk;E0rJ>XRSmxIBkPUM#%nf|(}k<0z!dhBMxzPy6ZMacv@Hs|il?-_U^+G_A0sQWy_ zXFvF2U2e{*72o&n*ZN9@((5bj*X17lAH3{|^Ua53jIyQ=mVos|2#+BvYdpp}Mpg+; z{>q@e1@ak$8&`CYquoGr$47w!j)))7k%DkaiFNsE95tj|{PtCQ3@vuADKeWm*#G)N zT=lQvyw#Gn&q%Q)(2Zx_#BPS;yFS_?@XxEk=-agT*7=WP*IG7GGq$S|Es8`c-R(3u zs<_{SPs+^PpXrhYECm~d08L@LO_$YyNs7b!=&p>eU`y}*+z2A!!)sXsXI44R9kis$FKMjJ$CM!Rsk!>triTLDOjH8m-;>eL;# z*PiCWVblbX!F8;+Xe!@WcMsU2_GpdjLU_d^tg(D!scmiwL+0Tz1=<4p%$!St^Grpwi>skJgz8;i;!M3MS+0rw= z(pPRKf#mM6L7CZDFG;5Ss8^RL!U$P|9Sdh_pv-8FBtSWp5{p19A^1-mP5Iq!DmIY~JrLaluo%~msgc1>2Dyw+3%=uUxM z$At&Rbb?RwG_zgGB*6940TYkbtNP|Gk!Ky+e1%+KvF4A|`g6v;$2cmBT&m&nsj~(% zmqb#X*0y!$PRjQH>+g3j>CRwD*0-+KR+5yxX^D#$lMQb6V=>sMa1yjs%o2xsgiEp( z!PLXq8n%y40cF%_%m?T&eU+W&TA(B6ne{JN%weDz)WOOX*p|I@Vi1;cgL53aJ88E> zaO8*P2!9N&Rj?N?t_jr}`&`3wo>4Qif2u!cu|&-_oPjtnZjUnf6(j(0$l#^Xx@A*K zhz_ujj(rd=7xlck638d5Qp8A$uU;eSOp&e{G~+|(o}DMe`(?!f*7q)=xtMs-+o3n& zYia1;m*T$^@V^Y!51QTe8up2a3;%Cpb{-TzE;M}br@`CB?xEnE8Y46M$yDwNb){o$ zFW1F$u}>z?!DitrHyToN>;i9MF3G#CW1txx#zaDf>!R9j@xspVR<5OKKDdr!j;L!q`ut3}cj$%DHV!t~B6FaBf zZNB;S5YwVXj!(z1OgacBV9zw1i}(exRHrxDn(PIS4E!R#lyf+-K7)+~Abek%IWK60 z4t1SN)7a8CufKZo0(dalZ=Jw_ZErVL!>^1jjx7A?$kJHB(;&zqbg-f&v!8eR*qJP& z*am1jr7$+#riYLsvpF~EXvVQ5d&$B}{pM8>{NeRe|JHmILW)lwh~K_kabCfXu?H<$J(gO~?X4 zHD$$A-`nSZn5!Lx5#<2J&q2C&AQ}~JQ4kin9@iYH?xA11j>?Q* zkcdiSd-%E)+K#0BYh8ZvD#rr#jeV)DcZuPN@~UB|Kxv)vMWbU;Xhy3OQI*=j>&G|p z>VUJ9uA-d&Ze2ATRezE&=7rm~-mvJLRG4M+ujN510xI$E0yX44R{I~p;#-AGarJAa z*S~Gbf5>VZrYdMOdSQG-TyzgmF=2@xIKAF5n>D;s^S9{URh0{%X>?~iZz32%Tz?(j z$e`#w)Ym;pxfRGgW~jv1r=qJh5Igj`O;Vn><-X>bSx*UG9yb$M@U4;kJ~TMr)VKkp z3ztKm#Fp3Ft7N>}7-_$pGwtTK1t07M%N}wB^0LovAA$z-pN#}yS3N2w}FC};u}Y;Wa7oVAgfy}wBn1D z;wADl$^cH)jBENoJ?m~ipERktoYho-c0hnJIaXRU5YV_O~ zFQ(snR5s)iJ1%pGD5kRTAA^v?>oH2zcx(7+BSO!}3prYhGu?3K@sTRTPu|pb^S+MW zvX(!mp29pksPJ2YC(t3EPuq4^M5_aL)EGE2)Q{8{X(RAwb&V1#h6Xxy#Xz+dMU|sY0eueXF z>ngP>eAh|=Px%tg$@Ycs{Z8>bQ>uW3*?F>`X zL2|;H^PxRG2hB}##cfXG-@J@12A&(Sgo>c-$6b4j+#F++ACE3y)T-uA^y~6^%)dGt z;ylyodCWz6gVQF8bD5&vK+3esmCoJ3s+Ym`GU@YT&BRC1TV=B=wo$Q_oudSuxN_n^ zy-cpv_>y{m7enLWkSmQK4seB6fv|;<#qWNkHE<69M2~!?_}sD0UWW}5lCxWpoShe2 zB^H~8R~7;J)%`BwBXf=UrtZs#ZEfPG|7^MbOJw{JdjJ<=n>~+-8B4U0K-}$g=9qzk zo~f1qT9k>N{WqwQ!}KB1mOZH7c@6YTB8j>{M>zqJatOJ%5^GKAUS1 zv()>_{@`p9?Dj>bc{QUVoQwr5on4X}=c2f+%zn@NuE z3Ae_+rd3Q8s8GRxr^|Yf=**<9R5Lo)MH&{rc<^M^F#JT`ONIqz63Oivx}1D{g&Snf zFJ%;SQ`*@8>pW#p3bb9zhf#&o!uRwltHw$+s|6nBGbF6VlM_oBoIg*3)LQmw&xX{^ zPl~wqB+r3FMB+~QOQgq_UmCqlpoUzHsOP>}8}5KW^dpmG5s)P^lj6oE$M5Xmvxy7! z?~gapXA4+Upj-sYz!y{m^37RZP;v~T<6Q<^ShN1J@ai4 zF|oIDrjkCmxKgjb7OM6eqH;}g3JM<4FKVqp1x92nd!{U>kJm3;HyH|L&<{7XHmn#g zFUw}ntOp(~mVab!GVAOpeBrPXZ20vG*SOCuc}lx?ey?AmUgc?@=%vTG z0Hi$FhM(Z2my2x-gMP86_-E1J=g5fQ3B6}SO&;2o&YD)#c|Q1QWGk%_`7*nk)gJL@%?V)5 zHkV#hJ;B=xd*0LH>Yu}2$oYH^M&i~SYY{+g?Dr;~MRVxwc7jG#pNRWCK(p00YO+}( zvut@ec$Ad&LY!d`#K-~85iDlG+$5f)E6r#gf4M!|QJ}>9@IjN(fj}y$V70lJCI$JHYI62-QFltO$VH*FC zd(Fi&=>}pFI+%$56li9%K6tdY`h$#}>M?{z(o6bhlN;6<_JqjLOr?`)1%-CtKsA-i zp6S|fzf*9INvqH}MY0-rW(RFTAbcmrw)7XKW-wFc`83`duJg4UwUYKa z&i0z;HCJwTm~wSCo|Q!)q$4RsbVh5uvf$*ZS6>@2aYa@*sXPXYWm)uf1@yQ1xF)y0 zt-xWbj#b!38oQ1cTirBQ*o_zS0(ZhdiGlpw{l_&p{9h z%@#`9L?!JsJGIEPk?T(D{?;I~`mFN8{I;{Z4I4y;^Nv!sj=~eC3GNR`!)mOxtW?uP zh2&erh`?1ALpwo&9858J?iJ$=9>Ut<=d6kj&dod!Z?_BtiOJ>xXu9`DckM9nr`QG` z*3ynfm8n)vU(X~g-s=uNVR1pMi_%p&w2WMAFhKD8I zQ(0q^__d80zndquARnhJs)phES2-Qvp4{=*I!Bfk#%p;5X1*-aW@|rn!s~6t3~GPD zDre2!DC8kX0|bVZ*(lgxw+S~J(CVi>T^=0IRld1NU#sxN}fB7^GfC4gT57siV#f-1i{g`Wn;~ zqNjr$1*txPq&T0eat`=#lV~>$e~fh$um@onzfkZzX)Ga1L?2;K+Slf?>~hk@vfMFj0MN0jY=v6epp3;UA|5~$LZB8($@)c( z&$+MqkpL;Hx9yqy-kTF3EPX9FKe9= zNB4lJvy_^XnwguBS_Fk{Ktr3b`dTK*iyN2r=S7DnL}lITM*=%-Eee;{Ivrk@X;hGg zpwmGs5}x6?hfT$)C&0-lo3w4;w=l)mm}6C%t+hyx*j$yh$5lq2GL~(NJ*Bf@DgLf6 zk)wf)uS6WjT%Hdd^U%%WJw9$Rv^SMF8OfE{so1R6fahE`I90*=LZEG(t8ZZ7y*vr= ztmpg|LdZy;;XR%AVn`gt$KYPIJHr*3AU9C}V0#rw4=cF|9 z%$!fn@M-MZL9H)=Xm_bPenZC+(K^%R)`_J_|HYm0AK{q)NvHoeeEI01m_O~6lH!Z$ z_S%QQ>WI3uVn}t0QT+JSg=R@A0oDY}lm|&ca1YRF$7K_^Q7bkn$)N~pPY62HXdpe3 zogQcn7(BSFlI(Y9cb;4=LXol7O$~po=MJEt)NIz-z+P2Dhy83py-wh8#s`1c^#{hzNp|=xQ@_`odznJSxtfJAqPIuPQCO=M4LA zcby!Mvdp!(+%%g!GgVF%KCC!~E%W{2k4Sr^V@eW%o^m-#@ zUH8i%NVE7diITRc?EM~NB%Jn$?J=g(8r47!W!4O5pCWIOH)U6V4fw(7gWLk5H=#;k`6~pAD4;-4~ZVLrY?+cwC;qY+ITvio3 z%X0xqzF49?2C>Yj$P=#U&I%D^e_C}4aGrIf9#5}#%uI}F;)(1d(1pFnX6AgMh(p<1 zs1h6#<7vfE{=OTw;iTW&KQLI&f@90@gJ-C1_V@^5bXQN`@1^W4Vr`fj9`-%nrUKEi zUaD^aI;e*Q8u=$jRt<+b@l<8Z?ZVjVZJ*0McWGVIKU8coHI+X#+7vD^d5pa!+BBn- zX`HP62Ast*>hn{jv$m{7ie(&vWw?BJ#VFlG3e!H;6LK= zGknBa5sOW&Q1%@kza%VeaDek+VX70qv&%NUxa&@ODE@RjZF|gYP7pewz)uT1$V#^Q|P%d+qutN_#eS&8&xjcM9|-jxE(Y zT@4Pbnw6!Ef+%yRM2h=rwq;k_=txG3No)tpm$}ixuR%uykxca`L0BhM3Y#=aCdh&jGdefa$sANX);OOEZ=k`untGO| zKuq&XO)MMh#uU&H`+o@R_$M~~ZzNTXr{xph=6yff9bkqVdolIyKa}2bBVJYA(q5>( z2lU(L#*?p_$RM^ zV6TexAToH0R_vR<1v4qniZ}x|S6fOh=wFCPpgg(8&J0G8$OUJLuta9Y0o{vuR$^$= zv8KG*sWElEtew_SYTVK2jI)FfVcoo%Z5C6E_eLfhm|(}@+Mq0KITXu7ZszS^$+yTu z6lbiVu{mQ(jAOu6_Hy9J`=UanOH?EDi5gv)`SHiJXTeqxZ%-0^^XVfam=drnG85QZ zc%O%5;1FvXrnSDJ7!pu+VSiFHYP07Kk*5+3nk9IOzsvuU&zNJNeuGsB`G#O3^pqt^ z4wRv6POsqhbHem9KnGsGUN8Q6sKb0 zyk1Qc#MGcskuMt$&oy>5bQ4nw75w~)@K}CItZR|U6q7vW^*!Jk;>Z?pN0d~&FL7(E z!1l><#_0R|{jM#q_j^=^tUn_h%jjX+2lX#Ne5Y2ek&HuC`~@#@d)qtG{Qx%>%wMc~)~&VPFb58eu||uUJ!b+fMWyhrJ+<{`vB=3R z?*}bT@?Ac}T_1ni;%~vK)$piTw(q)&?v|Sg`)A0I@x86FMi)P-$r~@4_R4BOuwiFS zQbCEY1127*%&BPX=x6_66KDu&A5u&Q<->EK6^2coLut5yosL8C4`3JyF3GfIX^ zsSxd?i>7js6KgN2xfw0Zlj_^b=c{YRs@b$HS}8T81u_QTYhycJgn(C{`H((=sDec) zweS#VUE?YHjf)^Q3}#olTK!+{4g3;3*trwME)=IZeI(x09G7xRY3ju^FWblu8P^Xe zWGb=02|OFBgn3yE>z44~tdi)GXMc`Ew|5IilULUh1 zL((k#NI6`?87{hEr#$q_St5}(q?`IvSw7~GDo#A=0v($?K@bk|5aTR$E4AsN77U!K!qmOeEc_n=&;zQM;v`-pN)4ZXg>x*lTXSg_tYpRrwRC9g(5#n- zf|sPOkjgjLJ(&tyIU4WbyR?S@FU*g^R}OO9x^D8LG{g8Wd+IwD@zCF`OlPq_`TuBp ztGGDAXit!MfZ&oq0)*hwO(4N7xI=J<;MzdrPDmhVanVRU)4G1ZwK&>V8#m0!9C5sdKV*aSZ2qzd;AM`ZLQK8T)2VSi!Z>o z^4Dp-g%a56k1Xt0poMc$_>wT6aQ+`tF;y&o8SvfdDut$;l&%Rb6IKjN+oJu6ilX&R zR}1%U`ktN7Jb8WEz!8}dcZ`LW^TvlUnN*D(kfc#pURA?8KTVoAk*M!DOKW<)gDuO6 zAX*mZUAhIPQJxjY1s~;&9L%AjUt%9J6#8o0t{Fk!jco435?Dv!243ZyV;l@naNdM< zMYRwmr2r8E)+q-`v=j zp|bf5Mv==6QC5h?zbGEv2$}CTplyAzL1RBkyR(t z+ibgveUCsocE%k#yS01WTk-F%eBfHsX{1P~*UjQ^w%x;a^7e~Z=!-d_1h3U zXCx18(nnpt+nb%zUrF)*aITYLTeOyH8{}@?IDXMsEP44Ksn)stnh*>%PawOIw7Yq2 zNqd_B%f&cse!#SlRQ5W*6?wJ_oZF~BC;9CC{vJP$TRN1>>mB9_G$Sm}nw~S2|10A- zYyqucFZA=rodsiVSxZ4deEZ2y-d)t6&&sy_!}*1#b-blDr_c~>5=qtfV%Q?;Y8Lo2 z40YTnW$TBJ{KK)PYujfd*(9>XJ66%mLNVn70T&dA3z<9#^LrjuY^KhXjmX;d2#OJU z>P&26%Xt4nAYsH}iCRpdU{|inKi-pDlCpaIv(~OZ%Tm8!-dJzY;JhTqbbr;X1{Rcl zip<+r5&GQr!>V+L(P+DFRn?3%XTaXk1_#i0Zyv^bHdc_po*rcY#ZxqRMRZjFV8_0E z{AqKMm#lmzWv8Nw^e!p2_>aRKmht0|kw-?L>zsE@?gU=q&^LFsYx_YG77wlJtc8Z1 zWkp~&{|RDbF=yk-X*sZ_wX><@(^vYQ%OvJSAss1y4bnnRzlChPek+5_nbKUd`i=RX ziYj}{lNVQs=fgosQ@T9qDeQX#&lOrFz;GB#T81q$DOR7?_Q@BCJ z2>S@<_3k>xw^p$W5Xu8JZm#o595OxL+2?g;8{vxZd*jFda$?uKck{t~mUuufHvLb7 zPRQJe@XO2nK{`YZ9KA{M2WatJHj|6LSfeS3_-q=>rwE+{P<=z6m&$nj0?W)_1zdb! z@aNl=rB6{I!V)g>O_DC@-xb_|FZ2>5HVbyf+D*cGkfQK4b4yy-qhM{Hx}8Ee@TY zhkD;;*&LR-`c?Fg$2qmkz2K?>a#N(c%6)YwM7WDhJh2nLlQWT_j0$e`)rX51=Ncuf zd8(QckWgQ1Zc}^{GFUE&jyfpJjJ|0=!Lrr|jEoEUAAn5Kk_1Ui9N1}VylFVxej&CF zs<=>UKf*F@Vwnwfy=4y&s>OIWT1XyBP~dVO>P0SS@ z$r}#Cj-lJaktXfT?8au_*XPu|N$7VA{sMmqCXP{?;A9gXqeykAEAnlrw2PD-9t|K@ z3|D@cBj495krVQ#$`@H5dp%sgc3@om#sM#0Gq(H0#;FzP{WBP|hwVxS#9&~^lf9Sz zm2836`Yc1rz^arvYVh>N32pFRRlwp+GwccES@)6k#sbQ|kxNKvF5+Y^%xT}T=n>@! zIEEzC>IMG?`qbjK0V6d{Zc=~J1=TWI_9_Nw+?E(o@FIM;P2gNx_hqRlUEGg!Pi1Jr zq;diB23x|!swi8isJ@It%Umf?&%8si&kb#F=fO0g`V+yKm2gO3e_o}sxceSpA=Taf zxl+W%;@f{X&xnlgapffBU~urz5@;ddy|yLZz}=VDmEW$s6K-R*9091(K`mZ=6o|vo zJAZWA{?UZ}@hi`40%hKVHLmQ(ecGS_D@&^Vzxhl-t5sKT8cB-=$8btDQgjM!1s^JG zXl@t;>MHwCdcV}o*0=9}vS5%9gRP;h&*2xeh%M;yQ!M1a2OvzBgRmTn*24Erfmsx@ zxKnHQZ_~lzbwWYvw|ko043xdPMq#AMv_glEGA(KyeX5fAAhRyF1!U@#@-h(T-XY;; zts$KO3qt*)0x=8uCOr#&$`6Egr64aVd$IGd@R_=rUkDoSw9tc-ch28)UH607vUVOHNt^pV*vPLE?ByV}ZOau9EkOHn;TE6&jO@1{IBP2?zaL_2Tfjp5*T9mxx(W zPAZh9pWDTy@8YyANV>Lt(dA$6$JK@g>htY8n_#+ii1^TN%{||w;TTS=LrG!EAn0Tn zaY#&@{6)msXR2w0PwW=1F~ls?v8*F8kP>%A-v~hNE!Y^tqKZcXC-p>N~Stq2_ifn^hN+og!uE z*MbrpiD%*O@{}|~=ZH-eqz>nNo~7w5Xo=;q;<;`Gn|XP=uBdc_i1-1?b*s>)Lg9pr z1@UD>v>%`K_PXC@JIy)^r^o3#2_z3(L>Mu*GY}6P9AyS_B4a8_Yjh^Gh*ux%XiyZ> zX+MZ_PU$rxxgZ?rB@;KtI{ha6T<7vB%?ZL`!F=OErAsGuk6=MLDK=c z28U}C?X0EvRUYH1!nv1nG?KV?l}VhrkXuyD|LuoUMzdI!3z4NS_Zi zs5&Dt{wNL!#ZQ|$L4?^V7Dt+1+W65kEv330d5+C$8EC%UwdV6dmR-Fcg6`7z^{q^! zfB-gAL&)8Uk))O!7xjqZzE+dqPke7EO|>9gxJ28d46H}rb zWl}T)veE&iz>B*Ipkbn#T@JdyTNLS$Z1?xzsBHUE_kIV-Nozw*G@XSYr}E9i0lG$W z6JNC;D1bm3 z|CV>}Z4z{C+eyZ+Gpd<(Vz$RgxIGiCC{LXh4xa>1vuDn6YG z#Zs-K*$R>57=+K8W)R+OA&UegGsVY9!+_9 zPg~rn532+N_nP@x%0-!i!(Ipz*Al@=)J-1^30-QxJIoMvZWZ?Xu@AWCF7LS%AC0-6 z>W(Q8|9PHX*-F48$>6FM@0s~9%M5;`pRhYxIC4=rucfNwRw>D1?cnX@ zX_if9;TlCsl` zVWn?)SXgn4`$j?Rmq~WgHCf_%EN-W$3K!X{*KAgz-4}^GSDuaoy+>DnFj-bMl@9?h zi4sVlMoroY!qujEw#ulgDjbU`MzEto1!T0drOzozyX(ZhOCFw3oE}#SvS$Jfeg<5H zc}WB|S`wU3!(2^_8kOv#7mS|JiAjg`5f~b>3hi{g{CK)^-}KRhK#d@V-lG|X>xR?2 zpU2OgAMW>B8)6(U=%O;Px3hz>=7?c=PjcMqf>KsVijFI($SK+4xDub^{%mD$Mj0~{ z%F(CZSi`Dt4v6B%Z{|!>{eztzu+aN3iD#VE`gx;UUi`Esu^+B}sUSb*`o@o3aXO4J_qt~0*#i4e3Wpk4=+{Q88tO#3vxehJYC3;XDpSARc=-^fzG^S3 zDsbkkvGfjYl|KGNx;-9Y0sKybO>`=*IAzj*VXbhcq?UMIl>^lg6ixN<`xZDUV*Gox z+FF>Tg;F4%4Cs4Q>iQP`nX;XSFE&W+v%C89$x!nnQ;=uf{u^napf>)=_siq2_kol-kK)MxBPs5e+K3X8!_9k<4do=vsM5Z~TpKWC!Q(qf zk}AIZ^RpT)!btRsFWFw9tqe1U1Yh{)fx(|(&)iz73IPsTxo=$zLdS`>vg)30t79;d z-fLiau_=Ll&xmAl4!zH3*rp0%oz@dQn*(Mu5U{AS}Yn9A?NVI_j@bFri@iVs=cjyFiVn+x1d8NX|5 zxCa7fZRC<)ApP+Naf0{GwBbhAUv7(ZZECQVEGu1gx0j2r`-OY@7pwxm)Ze9p^tL9D z`-~+4PqZaxC(WRS-}gpLI=P*mWi##Z!VshjOszQ@(-T=R;y5jToY_nbRKoR7jQx~( zW45H9XoJ8aMcu2rd3NEK_(p?*GPj?eyfd6k-;G-liM{{M_bUSSCcNH2ev^?>9!g4d+h<{k0z`lGRST)7n-ahOdrBExw2HufO_wSxwCT0+@s)IspR_NdFDLzTXHOC6A}P`nbd zPD~?(yDLig&0U@Lv5x6WdmldIzQM?KTf?mYgZYbB=8NB5lEn&6caLP!8Ww%;F>&l26 zE^Q>qQjiM&{CS#PVeGpx*8~#jOl}`rn4vpce%Oj)_gqLa?i;V9YX6Y(#q3I}>yC9M zqMS|&zgiCK2JS)5?%0GMGE4{JUgpvIR|AHc{V`DslhfSco|h&1)LGCBu>IN|E5#;c zL8Za>18fy)ctQ2s)iT_>p#O;aWaBry?XR^QDZM?a&wX!McF{6dz6n@StA=fwx} z^EIy{`p~Tz3$F%dNv2#|4@Z$O)Ov%!H}Wh?I&E`+ktaqSVY&93S@eSukyVB+?XUOc zv~*FZbeJ9|06{wG?3@UC>wE88;PF>c5EKOaCOaBH8uDpz=|o$%93e}VUP7{d&TTTO z)@Z||{`0=VpfxJ6{RtgtCVcg4p)EO4S-n6#6bq|Hey#kUT!bJwYFS>Ax2xRz?lILWd}%>MrWa6Qk8^CsBNYX zaiSri=!QTwS*DY>Yj4wK0N_w8XpN1Sp%^57bd;oG(PY{7zE`&+qdQr+6D&B1Q5GC{XB%gZF5& zx%r-AyAW^QYn(r*ge%q@z-C+-y6bu$8*wpm$qsch-c;`8H3QdB$K=IYG9bCwlrfeC58iM6ZCIr_XOuNwH|)Uo=TkIi z=+FhSb#P$Hcar~Yqgbfh6N089Lxyen@|%A+vO-3~_ERnBex-#$=hR^p?7_o9XDiiV zt0Nk`Wg(1vA={^GyHLAM8nsk4*On?3Num55Ljv4i=jE>iwY!nqJ>b6fD)i##=gxgG z39Cs}CfGC`>Q&eDi}ZsCA5ZhmOGYEnghfcxVvC8&o|Ch9c}Km%d!VSwJ#TnPW28|- z82Rk8zl@r&214dta&(C$utX^DSS!@6l1I~J4S7@iDY(N|?JLF8Zldh=pDNwxwMIuG z!tiP_!_Sq6e;bbIZ<4BT&vz#Em3@4?Ptw=Z{}PBJ=}eUA@6c*FhVEvB7^ff4)H-FX zVzT8@7Bq|Zt9h){s!lgn=VAJ>${Oc1136m%H#YS@M9}}en()8Cv3{nt+IZkuYI6}+ zG?iT~bv_F?bD-7bEBx3t&(M0`s_y~$5Lc3FSoqE#Mi!8th2ub7w8aP55HmARanLY4 zRfgSw>2da3SPpe=hsP;|ieJd+EY6505+3p*Ko;~EQHZwMI3JPNy5l?HIa>NpX z>VCJp^g2>j#Q3p>(!AU>4LwqiXZ=!y`h2?JQV-nMf z{yg8F)$Hk|zjUiI+KHVsanEgY(rblC)M9KQ~e5vK0-pexk>})0Yk!nYzMR2oo!Rz9pClr1kJ<3yX$sK1m16zcCjI^tE+1|TGLxM4zwC@`)OAl2_*7uQ8K8AVO!J;BjnX*d&&ktWqhAQe|Ap; znUpjrl!P;^&K(&2LigS^%hc%|;2LD71Ev}lNMkIMNlL|nKdZaCOHX8gdg|QeM%ula z|2zuf*ZJ7|z|cGJ;}~p?*4rKWEo0YLH7w3$Cr9jI{oIUkx^veU!tpFMK=Z%|UkceB zR6O@_Tt37I1by~ZPqE?Dje7bG+l+>?Q@nyi{&p0+qHm)a083STb3*GnNR_H6GFYp* zE?8ZWMBTkESF|R(gTS2Bu5p=pBM?@H_h%KgGiPmz3#@0WyG`5v`Z%1YDX8d#874tm=dtQn)qbmR@-{A@f7(Zt~eyH}Q*>sl&(@hwa*zo}B^%a&=#|cZvVo3$O z+2OBL6tv%5u+Zw*Obli2_l`gbkTMZYODe7DG3behmh0YImq>@VVExDy!konAgt80- z3m|q=Z9e&!nhCP;-F8n+_qWlSV$9(gIb|&MLll;1II$s`JK|w~9LDSE`htQvMFM_s zF;V_1qmQl1gUHsitFjB+Hl@TLj@_YtHWtXx50%wrR>x8f7Xdr;^qk*_=l~+(ks%tT zHhfa`FX~;6ZK0wAaW}_UHC$58jcHN(iTo)9b01@zi2SVPeeRhPt8C#W@J+RX4Be-n zlw_8uA&t=pi^GLbr-r(eu}RkF3OZRwV>%BHdiiynFMkfwE_~y_D>A0F+8ng)t8}Y? z?m0SiXRS}9W`j}|jICy-KC)?$Kj(eb#G`J&k6+b3I7(nBjCwvE=^} zx1#o|jYwD8N2KFOUUybM!>Eu~uC&kzWf~7G38-k8%l2%&-M6%MtgzDOjM5?|?!rei zF20f^>0kmjg=vxP8=Fl1LVh%!5p%{YNqmt>wdg94mmlj39Hu8E+hJ1gtH!qs0A(J{<_QO*?@}JF%Y#KU7PN~Z zs84Xqm0LnzjSU|N`!&1Wr=p@7+X@vtZIggTvgLr;E~kwXUVK~dQs}T zX|mIq9tQPneniPFfKpegzA9U${wjC@d`Ij!!=y}?PJuURI8BxN<82e5$8~d{*UU2j zaySSS;P9cYZRy{xQtru$n|I~F_D-wuTqpRBRb{b#eimOIb&*_B+=uAw^3i?6p+LHm z)!)3(Ea~-vO32D=6iJm7=K7?J#F55BlbuQ0uD4hbq0eVZ4dzK$s4pGcIK3I_IB!O6 zlp_dg!$P`K(qX#}Ju69z30X;fKO4SEK3FCG`cSjdq7HbKP+EI%=|DLV%s^g{%Wg15 zngr3x@54iIMe#NY-a=pXR_lwN8+=(qqIH>u;_8cXYgE5aXn8+Sk2bm=e-m|bHUK1{ zF;hoT?H-vcMiOk}-IycksM=6W+ z8JAjsNzav2$7pTDb3-F5fWe05MCpFYb4J)4lTfQ@SBc<^82PpwqE+&a3 z@8U6UZQ~|POBgRlLV{AJg%l0u9+r^?sE#nD1BST@OA-5HKWZi^fokp$f;HxMrYS>$ zkI!DdR-AgRFUI(lz~uZ%-~18?R%pP-rCl+~(%{s{u2jV1@M}^HtP%TYdzE8)>nqtI zw_MBnKgRG225XFnub@iSj(~|-ZtcWE=cw{_nChd?s^4cg!Y_V|-uOqjT-$WhIKaH@ zdw5LUy~V*9t&M2mrz;keB6~zg1mCQO6;WLSE5*mUXNEu`j0R!OccYOFgp-!AnCPV` zyqJ~^dX8~3U!BnUM!fxK$TI8g6v<0!nhOnB!!B_k{lslh%%B#0j%}j zBmHknbKYou`M@#FFapEv0O{UQ!4#nxh4Y;Rw6YHkY{?%?N_5tNhY(MGfqDII#8h_L zN^d!Lz4+&>mmHx^qtYIlh}B<$Se<XK`X_Nn-V)>jZO3hJdv*4f+$N@3SHb+V;I%3 z_uWHr70~Cm>{1~+ehtYyVMIsvOGvc_9fL(_Yb14wD#mpvTjPqP%Gv6b;YhN?AaI=e z&<@nF^AE>CdfFs!bU?1ra(@W~7|Gp(b?yXg3#Cx5>VZtg=I%3gd^4p6qzh1(q6QTC zbhh*1`8$CfT%e52k{C7eXzhS;Dlsjla5%%xC@+#x$FNnHVS!eRdbqkDX~X~Y`-sKN zG96M#emN%2-45q)SDylsWD^ghe$CW4hpL=W+kI=TeIkL`Z(BY-g@YNk>uF5%DC8@r2%}(qd*4@1@2Oa0gBG3d2Ux|Dttm1i8PFCtIwzW zqk~8j2hdjCGJj*bxPH=k8+za4?^r?t+6@AjdyCV#9WiB&;Py!X8|`AE+QK|^p|5fY zIJ@*v2Lv6OwZ0$#SoqaP_5GqjZVyiCNbl)uApQ1m1m@0?4$Cw;GX%O?>)Z6(Pcd4h ztbbl}KsI!WctjERZK8AIN4jrGLX1)Yc&qrT1)01hhJ)aM57MrD;l{=~skGIGApiQd zqN<Mz0ey_(LSFeArn&O)8Tgoj;DuF7-~D zPHiK%+U`7;dfV1CRK81L1tTSIs0cFdx+cvg2=H+519C4TQ#nQRHfA!A@66^oJ%?Nu zx~rzCxXtBMgBeoA*wv4iYrTMiP4$lT)_nPs!}dZ9EDF zg*ps0ByM#fZ*xqZ3S(4X6mq&7TlWV~)s~9C8ki8vR53NZKDwk#cW-GqGjY6@sWHlz zxC~LySJaV^cx1wm`DHSL$2*l!lNi+@`FgYbZIE8(eZk;=7tA#;qReKF0&U&^bcpF_=(*n zjrjV9u3hiIi@Z7)ox@7Svsr26(Z}H>u#elZ({iq4-VJXjPM%~JJ@+(P`pdzp{z5gQ*UNsYbf5Mii-Y!G~oSzTkUui z6_X4fnR2ts-F%8|s}(*A4SIM=C(yp^C|aC)qk^K|3cXjFk{c1C_}XO6(z)Z&^CU-{ zyi1Tq6)z0PnfDLh7)$V~Q1bS}me_`6MX&26)U#^jg;zzqLzZIn(l4r z81|bnRJ_Lp)89k3<->31Nyb!LmU*mu3yc%bAZ5SsbLk6lHe8dF(m$Pf39o3r3DnH< zoE{K;sj+4n?2qwvH_i$TzzFJ8IP;|vlkD59^jRdNf*P zgj_(>qJUAK%uJZ7_pYjDWTLTRyEf}=2O`}L;v7<*Jgkpd{7BHQ$CkWK`~3X=mQ%p^7XtDo?5?X+JsWfj;jsvS2A$C8>* zL@V|jO%)<51^(JF@UpGD7((bfo>P-l&uW3IQ9T$=Oo)*M6_=F?;u#qiKit*P$`~?O z7m`V)0oGd1#8XjV(}?pahztB~(i~NxY4R)>D3_<=&9i`o&sm^g;X~cdJAlw^p;=eQ zhx-a_v}+}^KMy}2QA98DmHR=UPDXUhCI`(ShuG5Ija3WZ{&?qqIF?tMdGECc3A3Knqk?=oPHr>gXM}-&R@_!GE{>j+UDAjP2x{g@pbg}`-X<###BweJm{7C z>}&&IjK}nLET&bJ1`e9B3p zm2CkN9Cl*n=I>!XQ9ExsJs$6@=puO(cS}Q-I7jqG!aKx1BfGenxfh>gDZ);Om`KjU^{0MF**HT~sVQn!NbSZ@2>@SWMQcCTCe zboQlG`<8J-n|{43t?G%tGB?miY;v}}stpV_KA8TF13%|w zluNmzZ2f+pFx?wFKmk8VQ3v4=nBmBs^r2j2SrIS7S341K!CA5*8E0hr5a;~QJmkWw zpxnnVBHJZp_||%bvX^N(B5|TRX!Pfbs0v(;5ki<1tV>0eNvDiY(`lwB{!<4-e-vU5bu2l zjDr2v5U-!u-Mcbe^=@@QM;x~t)MhE`qD;@1VZ>WaNrcj6WqQ4ty&d`4NWGreGlALo z80)oj2xhuRRXB3a(y?t*{2&>#qzXd=&&3##)kBwNM7JJr5*wis_?okhDKUQRw4 z=SiEx9AL6~E)4Hxu!*Erpp8z&C!Gs0Hphm^vK^HHG|Xk^NJH*XuL-Zg26A1lOep2& z{7cWhHtnT`YohObG&3)Rqgf2050`(t()X!GN%ph_Su{7+v z%AN_ieIYo31EKo-(*6XdaYNRF)yUV9J|(x)Pi3TYx%Am}e%~2JL_A4ib1f98iX)CM zOUmHQY-D=l`E=G z$zPu@pH2e?oTaAzK9H$uLZ@#VmWgS}_g~1BxL)t}U=VD6gEt6r1}vAjm7#+l`rx|G zaz7XBC_o-!;>?dDI+b!pGWQIsF@5uZHz<+GdRC23AH>I$n7pYO;$06Aj#^ahILO3! z;xFozXJV31RibRnG}~yTetOu_<6H+b*XkT%RdjyL#1gI zxILQe-k-Dx=>ZvO(~_zd;?5p%q_rmZG-o$sv31*_7Iv;j7pbky4l(TIYb--)+J&jX z|GE13UkRxue_F~2V03$Ir}aldl{9KI6%6q}HRA#aKHe##+%YdUqR8gR9r_V#Br|Ic zh%V3zpMG}6tMX5HI&C7}vk));<{4*9uWG!8Ls-i-HwuG5tQ*ues?z8dK5y!uiOGof zJh+MxbUx^ucB)@@>>dHP#F;RlG8C2iTq?E;=)V*y;Otdu{ZK(JGf@SAJ>L7gX4b}T zHM$-Y9bp%?T@5tSbmK?A|B2>Ie=|~Zu-C4dj?Z96WcbI<4%qa&@+&?F9{12=Qaxu& zy$8eKi9T3wdy(k3?}yaayE5cOmP(eXS3k|>Hx4Llf;)R^hAbA*z>)p+<`MVV$+084 z-LQ=UyP1aS1n6a~0)++5%tmTE(}WmNL=9%&UuBe5e3w|G?QW-c$0P91qXD$a=CGHv zf#E=A==wZHvz9vS4UZ7Cs8CLuY#=|#vpHTsaB|1)j%j3YUO<==SP@u;)^buUChg;3 z1mit0xHGF>GU;C6x|;JWUZeO+l-b%Habw(bTRrKjv_1@rf8U$!4l{IiF@>AFm1{CA zWGRxSy59$uB5L>fUCB}}A`tjNq1w)1MEXFf3>Y0|_ufYBSLY{Kn^130_BXY$*j;}3pNij!E6HnHD6_B*Jc8;+$Erd-X-{M@~Z zUZ>)Ee8?ye6H_Hd&s%1>zo=BOx_Vo*5{14Wz3>xoux&2;#a|mJbg(bw=%nkFC7^Ei9Ha^$709;_C{bwb6Ih%T5~xHboXkncu=YIl32`|iBANdw`YhFGeP~@ zV=>frOOM{pK&_Cu2myU5C~H8e>%uhtlBki4;lWjevnpwqpQ=|Z>cqP??#Cp%#!Eae zMQ{6Jg9{z^)1t&*2)Af`4~u~Q+EX+{g9*-m!Zz<0Vx1g6$MeG1{6{Pg3NQp>nV<|U zh(Fb?I7dZE0c;u_6$0$?mbp)G4k|aVrxT3k#IKwTv+!=yrdbe}LtxPCQIPu9$W^kV zN+!EXor#R+XWBi-U)vI=ej^ojXIkSZY*N+5Q}%Jhq2PJ-rat0o)63zv&DyMpNBVk5 zH{65;IWVtTE<_J>w^g6=e(3F>srD4CJ@rHE#{6`O^&TBTwP6a(Mf;teK0+d*vp|g% zybW^cvAGS%DR{cysGyi9?}x^ z=Wm(C$;P&56nkmxcQ@VBwYXp10LtwZZncGx1ixX6{pcuIO}zpq=7JC#LC~23QwjhI z=W{~+8@4C?6L7Z_d{Xht6Bz8)4h{^fDF@?QY4Q$I{yGs-A@y4#j^A`sDLw6)m^^e# zRs1`ZyX+lYx;8oF!pqbWVGtF`u>qPnwxJq~9~iaHZ2g7yW8R)W^xW5{3081@A?#Kb z>kP~xFYNA?-(kl&q1K{RMjMpG%v$qPbd`)h6tf9v-te-c#GLeILH+6tRuJ}moCJJ2 zfC|J^!GI%+@oRMisx^eMbHtBk^s6yb75x~<&Y%0uXp^hpK{EEv!+ADMwfTcGbx$dK z@qak{jN9@IKUKe@bZdHGHqprXN6;oq>$acl(lPKsB|htvtcGT$Uj-454j}@k#Z&B% zy^+0@TunMEiz=?z2qlcwK&z5W-89Wk69?KVgsr=&c2v56^iz2=-`f51N_Xyg=!UN` z@oL2HI`4K*pR7qp-8}mF3No|PEpnhfl(7Tq0>+S5^C@+44N7|3F8JsWxnT*K@w8iA ztABy-p4?GX^c!r$Xp_$Thaw#12J7uTcNd)e(y1~>hM3?lS%(xTF9#X4nNncWHYWC_ zLK~>1z>SU3Vp{le3$L{wz8TC;CrB$hf>5~T!1tu4Ir~u{ALL9lO3)S2)y@ND#{I8FRP~lm`<12 z);-S|*LSZ;uV_`jj~g_$e6~|BCHed`?EVN!(+EO=LKEw@QPjI|V(sc;Ro;EtzIG0j zXc$1t)_>(piu%=UFZ8+H%n}iZYS>Ue=YBT#xiBnj>UYZYZdP)70-qaLS4lhm_8DbM zT`HYc81#Ubr1=T-n`dpm-i+-`dBi3Fh5S%T~i5IzryA>wCD!%-RcZJX21`6mor61O59{v;;qg zdOsjZR~L_F??^4#WMpiQW5RdXH)F|nek=Z&;h~3G8P)AkLMT6ba%t?2HR=onr$TZS z4YU@11m6d%uF_IOHd^&+n!|iQXe(c2Sc|~FdK49W^xiHA#mmdcyQC(cor zG+TVivZ5~D=he3|HX8IXTS#9c%V~K@qdq0)fph(aSNu=)yF^q4BDZgmEC$xQJeU?l zJry|2PQ!AAc)8Fcx$SAIs9a>^vnK5|Jtc@B zyn!F>JwTaHbrc_DuTe_S+<`S1uJQg*_gYi4uDROq)o@06R2|Oh-uIuNN)PoT5q7v} zn5WjpPz~B`hN74{qK>qQwW081Nfa3I zOfjLLJoquq^RkrUN%kZjfKQxl2c35_Q;Mf?%X@w|E9?H6<@vnDTS0JxrVC@^A9+Lt zu>?qJ(YeI8g@fzan{a`?iR#i7<30FxR$*vAzq265(Z%q%qH`m#PE}FspmodLxs;_m z@-xmf`$naCDF@j~=})hAFOY{&kwFUhg)7||1u<7~tmXjwZ3cV(P}8Lr{0BjJ)7V-g zW~DQ_;5`X7k2eJqy@)6do&kcbO+;Vkpl<=)9;{zLc*?<$OBzmBrSRUbQi);0A!gY@n1Op3Wg3w|EPqCr>l79kWEkD84`5%!qaM_b8@ z371V~JdZRoEr0B{oX2hDlCXCxSEJJ+aK!v@e?pV})-0wi_M2uTb>&ypC@ahDqERlq zJxnFK24i;fVqN^AU^JAymqS6(LoG3IsSI zye`qcCb)OnE_!FwTdjlj_iM8@RR=r_s=-iH-9H?#oqYS*SDybS(B%L1lHhkjYqobu zCDl`l+a+xC)%5x7l?f`&0F+*FfA-|AJGYiH~|4CHElKxQXr= zmvf_yccWWj$v{kTTL1}WfBpO{UDR%bLdC7n+fVIb91W&f6Ik0`px z-fvSrEVsOEo^4^IAQN-*uayEcAA4CZ{OPV_JO=B3kX zlNBfh>Kj!b_64aS_>^wfqa^r7q~xpFV^_wH{mQ= zPH<(3T)c<-nGR>uyKHbkA*dIelFf(h-KMILW~0pLdG{>iX|e1&%U2KTOIn6bc;FH? zBeN(-Y4`gKmlRz#!f*gWy|!w`?{UL~#kW|&)Y)(zta~Sy{@z>y5I*~dlVAPJ7;@WH zJlV0cQ`HN*2wZC9C9FzqQ|n!{e|g@LAv7Rj9=_%*e;q&Yxi3W#>RT^EK zYGV6E><88GCK!}TuB-^L-&%BFOpKA-RG!8)v@r?sF2AMV6JxSEvyJresf`wc>I{|o zx87JAf1Bz#+=%1tud|K>KX=Yw40{q3sereR@F)5f00Vm56_3-9B+q&N0n)nPZRP&- zRwu#x07k6`|KXTW`=ECkeOC-kvgF%WqiI=(`rt-^>bg9Q`tgMx=N2TB-LPAhZ7Z>{ z7A-M6Ftm#?y}8Dwti`V{y7Em@x+`YB*4%)B?0z2}PA+suz&c_QB*q-+m&B2e?v-s;ryiqv)uA-VUqGn|Jt!_(90A@A}^Vy1CJadKFV zHy5G^??6CZIMpLt_NFe4N-~`XTKdD^N=9=o$*WZY3?f^4TV>7oIkg%8QXNCUHuMV_ z*(|?!^srJ*7L$viVr*|dpRlts3El1Xwh)Dn%}Abw`X7Q+sF#%|gV55!MBNv{j?`!gaCK}enz0vLOZ~|A zC5=3op;U2J+IQFj0otRp?@nHyD$LW~lpKy~oYkVv`*2ogT)1D<4Uf>v`j{RgnUgG- zWPELZ320jU}lu0ma})J1Jis5 zl3SLm2}pY2PuxBbIPj>uuTF`U?n|TP6;pq@OynSyhLbKX9xezzmZ>IA*7snfiW}@? zWdv!quX8MR-3N6KsC|16i`(+~hcl$sIeVm%)SY}Z8}_hC=TsK`oF`je>=-Tb zT4FiN2I46KYNvy}Z+G+YFiFYkUAAka^5Pd>)S`JCJ$|sbWZrBTrvKiEXCX@aTUV!k zWT#vUEbyj^<07TLTY8oejd83+-g~)Zb6FV**jJ+0XC~HPpJPK-qr73r^)ogcUAJ|34gtj?~y*_fnTB z3#9iI`|7s{?bmX+{BBR(onw`b&Oc1hwDq83Dl=8@&zt%|>?2xE^neWf)tQHr(AH%*1 z%TkcvR49dm^6qvLUsGxu20d2Cs;+m>xfDYa*=0FYT?3yZIeDh64P!ce4Q*Y-*jdtI zD`u;1yv*wB&1Jh`z3E3bBiIw{P}TZqmiEPO`6@-;W!D+^sr#>l{*Q;@@g`<|{QIg} zrT(Vsth^yZsY_myuTW2hf3H9YQBgz80hVa~*ZlW_wAH^PuygGAO$0}xsp4M+;W=jq zy7TX3!cpm6d+6xtuRBr;P{3j4#l%c;?9a_sC2<+=`ZnP_L&$|W>MnzB_%idx0wwN1 z*vM6S_qK5-^f85FksV8wC=Y`x)&azLZ9@G-#6i0gRx(j7L`t$}uvpF+3 zR5)X-AXUlf!KCncEc8*y+gQA`4`2^f2(f)xh-dqGJStF^X)komwn8bL$=>kTqRygJ zk#ScoNkia zKfX?ac*q;zdxgG-@{{F?JFmp@F|DqY_vw;(j+jO{@}|B8b>XS||T>{(w+mDTl$=UE<_`CEz? zGe*$6tMEWU9w&~dsN5R83w_oBn>)%(7uU#l%sw->4wb$if!un0l*LdHLhe~&ztyAi z*)U;72Jf{`Eaq*%2R%KAym6=JbvE3Z&V5WDMW-3ww1-`G(%jJEz#WKn$xi#b^Yte7cIK+jly z0j)q#Lj9Lh3)kwWzJQdOC9R&E_d|6{NmleVP?6d$h7tl_iNk7f#lIWB;NxvQc)*ed z!Nt1++W8G+8-BVKK;Kmvk+bj)nVjTaX^g8`MdVRa=<-Ci?x!EEwN>dN?CA=DlHb)# z#jvCk1e%_kjF?%BQcRp$n5dL^Z2$airUMb<>h?5#(yslFF^$CH_q?n2kEcb95^l}A zDs+t!-y!R5>lPTQWIEUA0|?+D1PY9o*H4TrEYN+(N|biuAsf2+HF!5MPt3O&hMjzi zm1Fvc!?f~LrrHq{yF+@<7B)wYxnGuka#f4e@bPnK@oaZAoZl~>Ey3O&6t3n4+nXP2 zZem+d=Y39WFLp$2Ve>%WP1qoMPbrt%Rp5=3TP2p&XE@OEj`6zN+6&Y)a~8p&F$=9t z@!Sw?JBBjszQ!K{-*$9!3KnsQz7z>!2uBY(!bh5NEh4qIHPjvwF_^fHb~c9k>Qu2S zeDJRIF^)`fw^GxwtzduqpYj#5{#V-6d#UqB1_Qj;Iw3;eP?d$7qgbx+Yf*}5^tr#v z0P2SfjA?CXWZ$?yyUs)x3>+X38W$s41ouK{8LWO*UI8k0w`jET_r!wr7MBi;04Y2= z@5&adHF+`ju}O^=(rcWJhmk83zx+mg=T-jCr;!j_d7m*#jzJqD-zX7;W&Y|-HPbDB z@gwRNuxppirzf$ixBx;fj{BxO!8a78Tc0l|0i$B)gULx905&lpx$GV+zr-vH7GhIJ zCN^SZ;7+1h))=D{DQhn(&%6BJkz)_X#CaSBZnBH1QaFSOj7*t5IZamU#mJ1sJNi<% zk}OgK3ey)k{6pgmnCy#KI(&%uB!nP}3X^jV5`A5*vB30NaNwl4)4mgX_y57#TX41g zwtK$R3oX!6q=gcSI~0l)ZE=FT1t{7=2p%j*@!}MB3dOZZ5+F!%cPGK!g1h`ro@dWl zXJ)NAYwtCC-a>vW_kG>hS3VPDFG|d^E1Um{73}dnzItHp`yHlzmKy%4TI3(RMja!6 zH2dK4e0KTjyIKs`D39Q1g3GWycy?#_BHJ`yBD}`Vh<0-Yf9mnt>dUF}oXXi5e!AAz$Hg_R3j6F+hf#2hfW^fGiSEmN zK?G>HDqMDVmQKO<6NWt}>Cv)kh~k#AVS{1#PhYT0S6zz&3EfzXUd3*xfC%Q<7y)I- zuO1so7jeXRaqi+|-maZ2uo5a}6JPl6!Q)X7b_%R=dbU)n7xtROUT3qp#N3NtE#)DF zA^y!@(p!F5q*GM>6KKayxMC{L(9s{vJW2&xlZ4mqRu-Lq2xbTr-AMLArm;$d=Y9ug zcqSl5U5~WCP0+MSWoFA3V6p}Gbg(w%MwGKrp9 z`~;w#9RcPBXi4?#Ew$l~v;+84A;MTgaU~I7E2Qgog`xIEs;moRRtihUZHb?kh&&d? zffnsl1DyJP!*?Q_3 zY>(?+%M~>}8Io|Po-+{%@9rcFsJ%tmLShNb?tY=n&V!te&V(3uVU(zVC127ble>h2k~=+4`kvN42*>gIpZ8 z?dwf5GmVCGKh{HCV22rpz%K5J&b-csz24kQa<;>$0;B+wVVpclglp zA?1>?`YB#$UM5+JRc*oPFIif9kTSV)sX#-WaQ+)Y^g>2K2*LckJ ztmg}VpICNXY}tgFS?!&5`D0(?fv;ms?n!7Uhxv<07leqw%4C9q`b(X-Y&>V(3QZ6N zGY>j}&Q*!yDJH;qBiqPSziHoAW=?RRt~b9mV)iOCVl-^I{s|yyxiFr^^Q45MRFrd+ zh+;AAaO9?^-pL_L8?k9gYbs)i^Q@SXPxOb1@T;UL)hbM?pL2_UcLZxu&3F=Wjd4)9c_jmd-}B28MTW zEb=GZ1;y2k6K0)^7b~-qFLSdZ>Jni_J#ztd-2E4@mjm$limamZ&(vo5rXEL6}R*c)D77!`#I9&3c5A%#E75i zQ@kW_8($aQ?x>Wn=3-4IVRs+EGu8Fbk!z6(>ESGDN?nC38J#Gj>0^#^h)@zV@@Zd! zSCzoBwWE8!BdjZfA)bdHk_=9PXV(ApL zdhi-vzdVkL{}I(=xcAHW?EoXQWO3lV9ylwLjo&;UHqowPvRyLUd zzox7n()8z=POMk|33{rIy4e=s3!N*)iu($_s%fO_@R5>9I(dGQo#a`wqvotk)<5+y zwR298%Apgnn8(GA>m+#KUe<5x;SpP+s6ppdd~rW zU^yn>Vm7g~1LRq-J5)welT;kNH+=YZO(Z&n2{pY($?PE1%UddzUxr48Rq0wKKeYwv z$u%BCb2zEd>x_E<-j*2eVz*$>A*SQ9B8S6lkNUkPFVCe``8LeMXbN~^@C^*4sg>3%(Z<@?g_IZ;wAAVMgl*&JQTttz}g#%OYGj^)Qhw$bg9g*x5H zuMzR>%HBG4IkB5hg6HaiIfIdmkC4gUzjM+YnUh}Xqqa=^)2YoA0~`&~0w>PFqp74aF~fqyWD&1SQ?F`_Cg+Fo2vwIoe*TTJ6a^=^4S^dBquE;T z(&5I>yLVC1X*67(znRGfl!Mg%i)zq+>ly$5`6eguHM)Va1<~U|aVOgB=X=uu89gj{ z0|}6sgdUa_?doSn9oSdbU8qr7!v!w$acq}?U(w)dcd}w*o*+3z zK}e@zeGvjBN#i3lut6XQr9@>ofSE^Gl{w4~xO4(<}Bz^J(4<4KP@gs80%aN!PN4 zfKrMjAH&_;YaX8${0!BB|OxtJa*EK*)GJi??iDBrYd4o>(+KQ$WU2GZfFU z{`fOeB&iN&52nuaS*>ul`1+eD* zJ}BuQ(sJPsbvmH{k@Uo=Y7c2!m3_Za;1t{WzkEodww*-zXeD8PQ9T z=}5^P^u3J)N+V+vywUwRBUww%)NoMg5jus)@QI9EOhBPT0_evTJM$BJuCZ#UHs6pIU|&_b+;G0 z9Z2&|b_B6eng;H$0eVhEB>yL}$bUp@|F0Z5F2J(kFy*8N6lm}rQ0*%1mUmX3E&1YI zq5GxvdPP;8uE!O!=IjPU&n_>8}aasZMVB|7;j5pK!@w(UD^SWC<6cxl%UV<|#1o z_b>VJ)ca$WQw0E%R=M#;hLe+mQ2eP+cmTH2ChCN9as1aAU2New!qp<);b)OJp}_~b z<8)YvR4Q<#C7$HeeJpuLKDrFGp#{RXG+K6y)1hM{pnwKc@!l@n9-u6Xo)FWIn-!Su zoUkfhRfg2eWK_&d^X{R+!G?#jT+engSG7ov+ntC+tMUqo@l^b4=DIxlFqFsGkD9Ai z9Hz6?XABYcH{A{%)12pERCep=m(|zsk#IXH+Mi?Vc#4%E=g(cn2?*!`UHubND>>ed zxu%`sScq23zQ9e|&+g!&L*5Sv{jw6LgXeOhH78sEWr&%Xq0d+jXTY(YuDPCfi@xXs*Kj}V5|T3UQtP>L-X8(#tgp~3@< z`l`1!+%?GsgSIbmGjz>so7`BPu+I<*BU6xLr%rM3gU5+*quo0ECWASKRPb z6Gt%?Bnj0Fky<(Psr0HuUL^=nOXLi+jXy{jCD z2CpJa({ehUp;$Pb@;dJm_0whkgHof-LWNw&#j#siCq%vKPCA7WY}$T59e`q&W=N4@Xj7+S8}q){pNH7&6w$L z2j|*d+L%JDl9cd%BJZ$69F_e<;DvkLB!jRdP< zJMK&aSgwL)(Ve5p??Yab=pInmI$Kx6@IqAqFwAL3!WA*dXI2l27SX z_$TeBBRi&uSd-I5*PFuA-$0kUrSmnm-Q8Km1N2hla{CK3Vf}F0q}LwzIx`d$e~A9z zi%2*47Py>Sc$uj)iN(=>1h({#chx7v2;rB`d)w;I2Lr2bzYSTp8A;$D2veelTB;k& zdIvhXk}8v#3jAQ@!ZfN>>h(hTM_*hyTiWvR1;Wv^HWo2P5f?NQQ3r1mXKN{s5qt1C zbQPo3^4JAcIhVA33y`s+)SSzPCHX&r<^Aj7``>@pK8~lC{QbuaS^D!}0zsEJU(W^f zQ?x!Sh6C33y{nOXA6GHj1y2i3KYXk?yVKd=r&4pd1%e)9>HvTqj#pzqI>f z?vS455Lag2vnshA(yFwj=Rp3_W^Q1h`JA~S_Hv zeT|>p_x@_sj#C8kJu3! znRj@2@;Ie4J__$%_dO7aN<}D&@v|D8UgrAQ9#z4g>y%&*nwPwgluLnlJmDtZ*B8OU z-jro{-u#(+5x7^Z9eKHK(6`(EN(|4$4sY}yzby8Qalz6j?6a`afUCq;f-7Yl9M=nv zSYnoCoBwW#ia`-qKN0L6FM7k4_`BxA0q7p5n!V;;%g4Bij2g_l>;+oqoMvib_h0ov z@7On|3^oJ`MjQouew)V@e`}RiO|V-6(OOhvuS382!7d7tqNS{n02@hyu-H1H>%6Km z4?LIh_FG_Ah_tyiTt-vX8}2x9>bUB57tBI4m;Q>t2Z@rxiN#?#e8@ypIi~@v(1=!@4?~>Mo+ly>8JTveq zuO+{81Qr+WO{8_m|>6Md5+rJ$h1)I07WT>0zjNu*>AvszIgcgk(+q8qWbRewy8 z`Wu7-^hNKL&bqR5jFPYY zSMtbj#C@+Hrk+nsj5CiKM8Wt?=Kz5o>)i43MvAj|h<;-|MkDJfJ&SjlYvvGyf@2BS zkHSq~xn}eA!1sBgf|wm?25A*h;CCTidaUsVY#cH<8}Ym3P(Ta?(eu_y(Bv^s z#F6p(4aksvxPZo_H4$a1P7o7WfgIo}cDAJGiwxwp*+@M2j+Y-)a2?sT-27m(bgP0$ z>ie1Q{kW2f(0Vy3px^s{jclC~Fz@hBbG7G$!?U#ZaHSMgR;doDX3UeMG91GEGK}6LLwEQZ`ck zwKH29Z$DG|KP|6=0R(dj?8B@mUVUuatZNM#Gd;899S7+BJoHwoB? z^SshtynOQyp0JI}S_Q!pzNTMYzO_2te=3;&x6gGE#I@~pX`l?U!%4GG_~AS7X%<0; z9eR>!%5uJ^Hk)kO*z}7@Uv0Jxmr}D{`C!eAofU8+wK6BDvHGu%rTZ<}dgj^bvh#K& zyqHsX;YiM4+FLk+5|z?%7uSLX`;=ysL%v?Nl)Tc_ugZtpc2yqyX$8d8B*elQNJ!!t zVn3DB!oRG!$vV4X1x}s3RQ!C_G7!CLVTvteU+qO^tguhOwy@~0!6jw|MblG;l8NMn z)vt9G%T9^RjaiwK`NOb;sW2U_(w+&MtWb}j#41Qp`D4~QE3uvu+D5s(4T4N#`{Qe~@$MYUi?ccv~8(XVe(*W)$wJuVTl_H@%* zVNYOch3ez?6*MeVMv=UP)Fsf_d~@#DSF zNGkI2myRWrMg$LJ7;$iNM=?k(!CTclwne!K^}u?I+&Yq8ez_qow5k}~>u-g7U%PY{ zw(f1ohrK95FX|a%TYH@!8l&teJ6r?Tq=?T4ki~D4u<@}&=4++9Oyv|D`su00XI3D5 zDk@+M#AJ{*DtHMwyi4^d_QOR#Lqoq@MzvYEmhP}b2cu&VxiU?)tro&Gmfi}G#83i_ zqym*t;mLtn50BR~BMHfM;@`UL5aynJ5p%@pdC#!VV(Q$`5&k-aSN!iIEhiq0+BIBLpi0CR>3>Hhx?UrMWUWj_5kZ7!3eW6k5OiQ z=0TU5n0B4M_tOueGCpm~Aqp}I?1q5amSqv$#)EEFTV&ZuPf)GX2sFE!M`?!WiQ=u? zHV|5>(TQ4wm~1CEm%Tutq7DVtui?5%_SS+gw^D*eZ7n{sVM1m!%<`n0e{Tc%#_@zG zQ5|hbCX=zn{Cbu{S_<+2v=(3-bp0-!xC`-$z$z_DpSLOYK zr$#*g&L3JKaLxpBa(h-CSf8`jlJUx}W=}7|xQ1J187xpjHoCnjFH`?u6jz1)VI~e(vj4N&$ZD~SjAhm;R#5~ z(Y8%gX4G6aZ&Yq;a~rBvEX_dHNJoNe_&DR7||L#4WX+a1c@h%C1 z*`Z^bnN}~x+NQtF41P=@MHDIP+bv2e*OThW>l&B~yddi{619Q%oc2_IuvKP(GwT5HN6EJGCq^+uPtX~U$Wg29?ECa2~r_+pO+s9c^(4SH~t1KCWgr6%0NViVg zY_RRq_8H-j2&Su4n!mU-{Y>gc;~zcpba$Ue{e=0rZqTBg^4k+t$Ic zu+vnKN5jG>-+uv}_unZ`A$>y6(Ma1~)duvK$apb(k0I+z@tco2mA|k?u@Slgn_-is zD!cJt(kz!c5W#DXM{5f@kP)J=mm%j`VwpJgeQHWcthsn_?p85fS9i^1*2OzuY-a`^ z)N@6@)F0yt@*MdRm3-FyEeh{E{egDLr1oG#HHLbsc0b9eA60JLd&`cALLqjiYhP?t zKWuCmvVjlEs=t=LL|XE`?M8$@d6>@!c0rE?Xyzo*j!-|0R{OTKS3a;6C9Gp_bT&LL z5)4g$*YGq5o#p;!$hNj~(G<~V==QBn^U*a)rinZP6Ccf?_-XjmKayWHmtgk1e5Pv- zi*96=qxLTR(>YidoJU}z&tdnd_t+&PdDZ?S?}m$akF3;&cKvZLo8y{ik0?81oU6cc znUpl>i}^!o$s6wlG-Opez=E9GEi_&7Hz0APD-*5J&~DFwTZcQZc)0ve%_7Qt<0b6 z$_eMJa1RI|cL;Lc*3cMJnXT{LpT?h;lKrnr#P7|i zTy%G|O|`OXXtn$(Rcq5W+6TEzkfQmY`$RUlHVI6lSZ|cdf~be%7A|CyJSK?tF*252R%uzAAio&2F{j!js?i+OmVyjxU6?xib$>;Ve#* zy$aOr!rc86EjU{?<^oZ*qDX*;?45iiovj#@(F!FQkINY$5_Vz77bO^%yth=|z$VC> z2Y~{WdiSWCVbI#L8O3OVCW73mt|k)^))c)Xk%UnFcE9lVDHQtFarnr1e|&Z;9*bPR z{CX%@bH#29g)h_rr^z6Ub~!m4TyUKzxqPWvzggIndaeKZJiMB!X?A(V;jj?9PUS#- zWNBm)ysAH}yL6~T@>!Kyw4EeNB|-Fq9Vi-PSkOJ`7BvSm+OXPCDjMV}49)Me8IJz` z4ZQi}mY*Aobx)2)xBZk`W%yv*Gh} z#N+0<0c(o(7;hTM;NRn5KWr^;Yi~wDPg)}Xnk#{Pu1Hpodg$3{y<3(@H?+Z1@nuqZ z$bdJ%;K^h$Y7YhQS+SDXr;A!~lx)xX)7jN4-k!wEx!hx9t}Tm1f02!qquVL3-Tr(U zm|w43G__?m(M-P3JppqiOV71BtL;JL{)fnJrn=5PSJ$z3gdn!#Vt*sE_A3IrPX;pW zaB&En9cvfbyzz8WC8peN44u7IJ+FJ_f311PRNa6j^aakBwx2PZDktI@7ST|1Jd)Q9 zlk*o3+f4BQ*w%gv6Vfa0_pZ<=E|EM@BNc%0is;0*XvAA88YmL}Ivf#a@MNb&w$$NL z>KJSxdTYIZ?xs$}C8Orrp4q`^nvf?EM`@0;kJ@>s5MYZxQA1V;WoWF>mmdpG=z(3= z(x=2!?n&fRUI5_Pvhi?3J#kkQ_t<}wSl)yiDl8aFt)n|hMG}&6m zNB2fxeT|ek>7yhpGiSepay$lvx)*SGX&E-Uo2F?5u$J_@XaCUW5W-NQs%>@cMn0$m zMY&~-E|3ffua?ck|1Os6)3K~I^lM0YMv>9lw{CHsXmIp8#leA0U`X90aataaP(k>f zab#C}r5`vSX98Y~Bm{a0iWfPup)GS5qCza+kH_>%8t&YaeyQ`Jk!92NeKo#jkxq~v z9^S+6F^|6!NtRLBYb^hm!p);>4;5wHdbtFXWTKuwp-Q8Zk7#3=P!WQcWV7JkF~0g$ z+7Tg-Hi8`FDUquzvFhNfXMLhhIn$1|rLKPri_4lk2Oi&hv;mSog0OhgDw+wc>~Feg z4AI;JnV?{Z^(AJrg=Y%?;0^43KpRg{Ju5qm<9%RoFI|2#=ikN=bE)+>f8S&TzZ zZ+e2?LaJj&uFWfQPp=SyMk7t&ZJXwBesZ%A$S(s=nV7&GZWZ%>T5!}jv6m`(X1pCvAU#hPaK?^pjdAM^i#mcLT*CSCA5!p7qG5wL0$T;Od=i$Bo7Kwf9F|L`A*YSX=n*4cMB0{8|2shMa>>}Lq9s>bpci&pLxCWQazOlIb$jpxj&RrFLS|sLqK(NGNe=ahJ z&7VLgKCVTi5GrCYMM-bk_fmsi_q@x~%mm=u-o5Z8X-dUhOCSpBO*CWg;!SAm|Fqko z!a9Q}FhiLfKAc1JjVgUd`t~4f(vvAJ=@~Y5$Bj8gAk;=wfnmy_r|y}~M2StP1OLtQ zudE)`<8`7t7M&j$U)S zS7(Q{0^y8zW*?C z{hzj{KL7?PyvzVc|oPq zHFJqdQ|3zcDY(NZyo`V}22elsPznz`Z13{|XWwZZk*$dzoPu2!a+ltS=$Nd9Pt6Z@ zRJmFKX5&+Lvcgx6WLi(|{UyTFWrrYji;#uI1g~)Gc!YzmYw zJ}-VId)?D=%0>7hUQ^482)4UxBg@aU)d=IUX8TiSlajo2Fw%MdbQ@GyR*)u_Ix0cT z(~6R_a`W#E>*#gK486F1Q;0jiRb=SSKnD~qA5R&&yC_zI>#>+ph;-4N5Ie93gbBAi(kpEZDv+J zNIkl*Ro5r){EgLaMYB$ojG;h)S2@04LiN})%6^8-;Ek8q>`)uwhp0tzcXl*r1$E8S zAzI3>w}Ydd@`3i!N-7fE0#+^S>$GV;SSXDKw&EDz_xsOZ1r|68h`2Z`_jvChB;L2$ zI$tEdF#dA;>=S?L9%g8EW2SD2p~*6F3EW@FxXYt>^s6@kuwP#*g$*7(=HaTGQ6EmC z(nxXs5AjS-b|c(FW;SpSekaU zlGBxgGQ-Oy5+ulBLIbIo!BGox+w5tI9zE|-Dff5*gAaML(>|ZSHM0q8;oFv+%e`O& z3ygL;X3!{li_WeLyqM#~D!Rg9)Ifq=I;`MH=L)bU;P7nIan0S99Xqbqcb-PLcVh}p zVmpV#V^{Fc$#O&IiemlQ{>c>A{YB)f05d^-MG5RZZKmx(BUf)Hr$fjcBSP5y zs7RewZ|{sS25Y7Jt?f|HCJTycNE{{MS5%JMuU}e?&vj&&K-htJI8jJyk{ckx78RQ# z9(PuP2ZtChmX$Q#zFetx6LxFAwNs2=`ajzdfE$S2T4!+Rw6#C87G^Kan{e zD|&gXMVvsLdo@HxbFZkhv#T03$E%%eJ#axcB*-N+?BsbQZtC2B{eEGfqXA29&!fp? zM01z!pc+U0-S;%a=hv-CvKj?D3eicTqf4JFW z$v*t337cAfooii;(ZK;Nns(}pFuaVOE4T_?zgly>$Yho>g1gF&?*Hsm#vR*_mwJqc z8nkpG0(kEB&y8-juff}VE^;xM1=LEP{{Kw44}jl+dD_vY9*>namFp?vXiT=1+%VP> zI{;r9YwD40zzBNSo@v>6?NO&}Tg};^-3FUMB>nOQo#YCYx>*%@9>}Eu^D29y<@O=_ zrJ?9;ena)VF&vxLmQX6YJ98#ct~l#T82#tqz#wCP8+0QsGX~TM49tC)M=zaAhzBTM zo?>Q?-A;ov8cw9Gn!YY(lm=_W;lBRArhfq;v>jqaC7Y{e8%S;ag|vu`k~GHsg^VnT zgLOg2i+HVsH-3Y+A|GH7E)pctx~y2`4bKtQ&@?Pors$j~@8q3tx4x)v;8h9I^((Y= zlLM4=T1FFEXqV)0*V(ImHTLh*5?lGhCxH`s>*qrp)myvU1KI|lHl5NEgh>CswM*N z%Ma?a40~T|FUE%|BtN<^Z;9NpjTfY1K!x=L=D$(= z(C`E|%H=v6BVOqwj?U%Z+B^@MOt{nAC=z&YYYf&dme?Hh$Tia9Ee^$4ram12C>_hQ zYTU|7wxpQ1lA@V!gB#;&db$1#cjb)^dHm@$YPz*ava00+8i(*C{8@ar={@0Rn9kL@ zTuKR^He<%e#mZG}1zpZ>e=Aq@!I1219h@XST%Ga4Z)#_anG4IGZ3D-KRmu2j;X`PJA75x4QboiubQou>R6RGSa&RtzhhNqBX(M$?NE#BSs(P`86U{iS1n z8XoszX?|e3DYmMNiRa3Hu@^E)_24T)UUl_-TDk7fHt6`Ff9-M1uZ*kC<~n3!_=~H6!kb`g!EAb*0#Gw|is^$*DLy7S5wUrp(~hnm zyGNY$5WewE%O|X5?HoYFQ2&*0p*j=>zQ5O@74C-=GI5$KwNiJM-U}L-hWwIiMD#my z@zv(~BibUNF$=G#G)u(XAc21WrH^S^@I#YwEEHmnHs3)|gV{2Js z?29*i)cd_+f5Qz4f7GT+1O+^{WDP~Uc&*;fub`0Rit1TenW9(rwFKY&8t8LL@Q|Sp zA<5^xh^w!0=3^lc;lXgw*zZ+i>k_rWT{-BSI-V1y_%T)TGzE1QOW-r(`fqq|l}(l) z9v>sw)$Ga>3hvKil{mSJviKTD&)>wl$<(PTOJ?}_>AiIlr!i*;{P33gd6Hasg>}&h z(f!6J=xge-B&s~d$-9j`zS6Yg!A6<0oZvsRh5^)Y#-?~iVZN+}s{yTM=s@)cvr#1J zPqm3UEiE<9J9C(CQK{#6LZd@wE~18yAknKW$58$)FkU5zFZz$1qBnB8gh* z+LdwkS_B`-x%!5IG_rqC&rbQ&j=>{_uJ956Bevzwl&9R6xHdKsbnW~~%$}j|Sa9al zvK7LMm~KIvPWe79oRE`Y_-Cs9{}$9`Hm+t8*V7&Q~|!#_%eL?Hbvpg zeJTmoHl=ji(K|TbP~szz@eiKqr1R+>_;{~t^eu%*#>bQln*n_V$}^Z>}soO$FfCZ z5OdZoqcxn&eh(>&tWHXMREQ$KDG0GLWrhrJdw3&N_X=Em)&EqjpzM={RvXMzGIt(k z7JLzsBg#LW5Rcz74%&lU%^!v;_=b{oT`SXn0O$$UC(ZWB;bN=eB0gu03KQ^G?N?1< zjm_2_DPUdF#BE}VGy(U###UNu?sj)Ktz_0ri&fKgCH85N zc21RyR%e+^PAlEfTp}dP;+VqNm?U!r%g>P7+0G&Z(u~g!o#<)@&`wCM6t)jG5#tH! z0~)Ww9;grgI-%u!j<>Fu;^#FKcs{c!v++K7_Y1KA*Uy-4-Rn+NV|jY{OhKT;EytLq zE0Rle;qXJR&Ue)Y@%kmw>?Q`sn%qDJ=)EDov*GZM!efh-r^9}7tL|JcQ`;^;%@j4O zwnf66A65jmYi_owrFKgCy{<2?i1n%V0;m43#YI$3fR1bX=GvA1 zZxB4;m-qc@gh-nMTxQC|lOqp4lSDW756A_=CJjs}3ji=NcvW35`}3$aRqYvJtu+ZZDq{P*(H(ek>j(!+kzLwjKfv zwe0s{}Q zL`0sliW{0O?tj`CmohgguHVmpcJmd>57@fNBJn(2pPJIkW5pXG?j> zL)^Scqmt0%I%P4BvG&{_0i#RaqoVeo@dvth{|$D8EWEwL(XP1$d3F)ko{fb)PAj|% zJVpu*+Yi1VbJRrdyAxoACOOPM8`i{|H4sYf+Rr6v#X&Nksq;SPtPSfvWRJ{em?Dn9 znXZuGCbb?XG5SO>{PM5HZGxLDXvIR*@>DKhU3+VYse$!K(ze2(TzJgvHXgiw8WrM+9G z+H{>Lm zsl@!=P?rDQbj$)v1lb+Oh$nJ7r2A^-WQ<8OPindA;AF4`gsl$ds60=#&!p()`QS|D znjMLH_2b)y@bie>wR(yqc3Rl!n+GypB>c|VJXHY#nwH_v#= zro$p@3-cD8CyGG-J`V|P9T~O>b9;7}N}u6#CfFBWg`OM^Ei%$m!q57~A>*k%Qe)4`Zru{ZLKBa$ zLY#EHl7ikd#^Q;XIhCnujI8j~tzsa#4}Wml)FBILHb~Tk?0J@wU7n$?<{9q`tWa}3 zN0XuV{8u|v#PNGbS^#C2yZcEv;8T#n>M3~am*OJBwufVxuEXv?-?MP!c!TaMW^>mr zRBqvI9;Er2C(7*}JZYEUi0YWR`cPdqj zp<2?y?Yh5!T|YbilHg}z%ZcR@u@@6~t&49b=QEdmo(5UXZq1MOmtR`a zi#)D66tpfGNs`X2S=U>}A{}2L8MQ1?HJOLIbECc~djrcPj&DO=nTBevPy{BIf1tIj zDMEUxl}X06v-0+6wp|5xMggklNpM#_6{mG2E_J}?%QKOMi< zjmLZtU8waLURh#&F4iD4OcnNtvJmeH$?pOJ7R09Cu+p`Sp#o^LXQ``boVaE}m2P9p zm(DmBn%>Q`4n3|&oUGfXV2!^mE=uH_x-{tyNcU1-uFG0C^_j^u4Gd;io0X>Vs#NOiqq?C0_#Zqb zUnU6;OCQVQ_fyA07$pk9Mo2tJf(@}cWRTsf-HkR;3anmdrM{>5nO?Ji6I^!XhO{ti z-9bH}98KWoT5Wz-F2>0Va!tYb{N3$>h!{n$rxigWz2m7}p}$z27$ltxcXXu+A#9t# z$AMXdU}J11W(ecP9#;)HDfdcoL~P7dMw5M{h=!u(rdg=0GkX7?$F?~Rq*V6nuoK1} zC9W=yJZBWHdE6)$3=f-yeGpqSJl=&9m5VQLutO`?kod)8em}Sd+ys%O5)Kvm=Z*w* z#!g+iPb&N3lk>fpvRo3x*glOHshk2H`acneV)kcZ{e$4rk#4r#mCvHwY7yRKODT!W zwY38kTy1uhPS5SOXSC~A-rCIit174j-j9vtdly9(l5R;MYfo-xh$3S-lo6>%i6CKP z5f!g6N{-=kB_#u4O`Oed=0A4=WWyvIL!u*P=e7)?(kZVK_d7Zj{hnbLIK=1DJM9wt zgt;p#DxOdya2`pJp^6I)XI0d9{{@}Y>-wwht*?U(N=5_zZQ(%pdm{()ce6^r*;{#k zaCO#CuZfT-34W#~u8{|Rm#DAIe(0{fhbFjErd%rxHSN_|HNsAvvD0I-po@C>4Ld>^ zk*sOSb85m;FJdcpkvID^PzjSDGr`;C!M-2sP3NubvvQOZ1FhQ{BQ&bXxBf$6(|ba5 z{?Al=Gl(gbi<=W-@w-bn6*NlEtvG|}pCIT^2g}aotD*tsU z9Y@-(3gy*(e1?NIpD(|pTAY^X_W}=4FYQdqDnlTZo6$R-H&GQ;p3XKC%<)%QA#}%W zK_v67=8{nus~3EVklcGGQ(10=L(C4f*j3zhlm-=65nwEJKS76uolzH8a|5p^E@c|x&!%{0iW`-!XN2@I^QPe-Vwl%Y6@c&=cE zcPKh5HXU+gQgR*fcmq{JoU`!8`Rw)n3@E@7mDQ-&jT*)}U7Ked_9~<7^`&C=!oF;N zRtgN_n^on!4?RiU6{1q%dQNKF!VM9+8Bn>??i;Lz^2S9P`slz^ZKK7z+|Vd~&Hjq8f^=S8lvh zr_wqcL(YhomKVv{I+ScGYV<>h=Y3!l<8N%~KX^o$VKcX)SOSR|BQF~C{=r4^-tps- z!Qh5|nH6MEQ!9Yr4kf;_GPWt~xsz)#z2(!o@QhIfFmKrz&056yc{M=x2?ZlNh$LQftgGvN6tXEH{fJzTxW#Rn(*Oq}h$U35rJuHz3XA zfoaZp7AJ?Lc9x}Lt!y7(Y%5A)4OLXwx2xGQ6Ge_G7re7jZ*}VkOPsv&)g&1ZE$|_o zki*R~J(pL@8INrA?=nnRn@X)~eHdsPjVn*)qDjh9j;(PrKNpMnh)hqSe-2odkMqBK?{|Aq)nIvGrX<=QM7CDR6FZ-Z`Zk58t%ee_r1JeRv=GDfH=2cSn3R z-S?6px(d$STJk$IkIDTR>>J|as!Ua@|EIRM3Tx}_+I=Z4&_dB7#fw{k7WWpnVhJ9k zXtCg~Ev2|?f#U8EAc0_QvEptCf#OAiyLIQk_x`^9uC>0s*1HbYHBX*{d0m+^2hW(# zJ?{HAI#xATm|COe@_I~BN7ou=FHO9PS&kJF*iUW`Hodd<_~Be?jI_*xFHQja{H-_G z++GfolLYH3`-}bqw__G{8A_M!5}Vfgo4yW^x)={FmsVg9&++}E4!{v6W9>dqTapn} zeM28OXxW$TnMT9YiVyPAK?o$xCWG{&CEP13Q)`|`EG)6H5|$54}rX zhIIZe_lx8dk-z(mM)WsJE=PfrAp@d;E^K#FRqVRf{a)ChPGAQw1=pJ?nG{8d2pR`X z&%ibjcOiZCg;7=jqV_eSpn($K{Ch&V`yaQ6q((swY;c+|kN z956U?j4VE%BrH*GFwntnv5L*Lu);MU80}&S<8gTHw6sgK#=P-5f;4c_J#mn=9+KgS zMU>QS=Jm34id{#8G}(K^5@SJs8B~VeN3w~SM;`O}lr8CogXB4Gb@PiZjh$RI%a&vi zvHPb=)irU^$9&}q*V2fbre1HL^WJk@;bIVjRKMDWOg;I@khGS}Y677?M8oldb&GxU zOM<1?`Lupyt13VjJ6SHdpi-A8KS4#9$pdKokRVT(PTu~#O1A(kiF+BIiBE6CPDWys ziO=_WIQ_{ZE*x1d?NvWteGoRl%Op;{1&q`bxE<~^=MjBnAi{V3EtoptYeSG5^>oBz zV0?L5B~7w2$-Lu7#vXFVr0cY;`+aGbKV?(DO)+Yva_V-SAbayjT-d*;Isdce|3<5L zJcm<}JGZy6+o!Xg8Y<^5J11BF`0aUBnj`YS6OH7Bd2sJp?bT5o3S@haq_t?34%40= z^Fsw2-3*V{*ZFVNKg%D2=}Dy3WP~?I5676!?GLf1|Kj*q1RF&k9 z^=C;bAL*~Y`cw!4GqG%+&gH`B=Xl)U`|BpD>nPu@bgU%7E!W+Zkq%s?L)W#wSeSeVsh6#rOkz^JJrgUs9{|tM++4_^U)V z_#ate26{o;4TDVrF4~QFxYJrYetd5+Wj9%OJmTvEBI+l}gMR0bl_ZK8lAspHF2gqYF;%k`oy6_x|`jbS0Xhw_tuP-$`Vy(HNw^c;;{%U{({FYR6#K9zsUZv zMIIXT37pzUYu8}+gYlCJwBGZ2(vDaYRWHfo$favq+b18jz5?x^yT^ank6PrQZQ2{% z6^^x>Z8PaV0u@qUip2>P)-7sLtU=gV&k=H@`y$u-DVT|~$rw+5SM3FvyDQ;`-Y=3$p z_`v4M!@JG8Q?^q$W^t?b;ecP2({4#3*=9f|9D-)Di_>W?vyxxRJbeW-ZbU5 z;2=p@Qp!@mTR(`WrX3bXmWcNP$9Q07dPoU_Jved?ETjLq=kqj!r@gn{5Dd=vfMOS; zwQovLl^QsF7**cKXH15|K+oJ$3YEximJYORd?H9QU}8$N_wFrh>t8{iTpd?>DA?rn zWa;R2v}pnm99sB8mR6cXknw4spwW>(r?LhJf748m6Ri*Q8SB;pML3e5rRBZ=cTPrE z`_yiw{?jaF4ZxsGKh4LD=GNE2D0u0D<5`nWO71@4@r@H~o`%Yb$fQ5pndf^;I7p3L zOLc}tcN=IIWmc-oaNuF_eur`NrOMP_EM{dx43!tRWGDEMKQRU7TkVZ=LllPfKl0{S zhbhEL7ZCi2&VKmN=JwZ(XH0EI)QQkvtnJnIy36FOIM6z0yPCV!2p(*+`Pjl5koqR{ zxyto)gU;&Pqou2Irx^b$!&!r|y@%{s-<1~00>{ip zGMtrvBVxapB^nZDh$ zU=jEpSk4!wC`Se&dN9>fTKM+s;8mQJjY3>gtD97(aNRvk(FO&@ASrE2?F#P=GHKZ3r0Eqm*)W~c>*OX>#93RFBfhE@Ujgo>adCN4eFA+mj* zS3jX4FAyMF``D3dhb6r$9_^sW16I6wdzOzUk5_BFXr@P>z>_PqN0o;TEE=S15wyYf zL@N)Oheh!vJ@^fNX)>KEzmG4?hc@k&DRp89%4UPzo2IEHno1{-Rk@iGwqA%-;FwS4 z-sIuP=k5(3wtdew1fp+;RmI^AN~&@9hJmOi-RQ5N<3H zp8RmXo%19mM}F&gei<0Khbxh#rs{`9+><^nC)d#o6j%hq6^fcROfllYt?%=j{Vac< zsjjC!59B%pdc(!>XSkk7t6+;jHYteABTso24CWjDGy_eR4*W9dWpGp%HqL^&F4Dg3 z&HR|6rCX$sWEf9NCfy>mc?(c}P?=c5VqVzHaEE;32fIo#*QF1Bgk(@o3n}R&6U;Or zL5=@cV&Z?%togTr`}S`GC}Ri_*T;sKx~7&O{Haj6S^10O&6Xz^Q`e;08X_8Y?s2u8 z7mgb@rfdms{HUg=7s`jp)dpAtf!`j7PE0ghr47$zOLor<&0SZcUH=$+b@Knk()u*x z{YH})S$vE#-!`VIC4^Hnr}lrQZmBM|BSE~S*y4cc08VRbxgP)0KanLFf!zU?eQOlP?%PJaz4m{x2<#i={O0J*LnRi~?P+ct?RxhJ z2Tzkzb*Y+qQAAR#VIYz?V4-+ zha}euXlekH)MET#YVOrPc0=g+#v@m~H0e-4a8cy7U5K5nh3~2UZ_CTx5^tnUM?;aF z#Y;+MjF%1i93m2!>$0zjJ`nCPH8OUigIm2u>a3=!s+eW@y5W8tB&8vf#*=?*|BuB_ z?L%y(5^?6MMEsnFMJ&9GJBd3XT(*0|6NQ|QUESN`h(^h5ocB8vvn2cZzQGbJoy9+1 zUUoXOZy}FsvI5@47>J8J!|HmSi*b#c3k^zsr26%&ey=uAKb9jG!1q+$?LikCA$ejG zR-709Zz&%5Iftv!Km(mn);Fr}lRnj4a?S_rdVjHA2Ay>8X_A!FiA8yn{foh18I*YHB0 z9(pG7rNSj^ES|x!r!bUBqW#X$U=$KwxjwESBO=lcS+Vcg%#3()?(^J)t!wJ0P zHjr120JlD(_Mu|plo(1%rJQ$DlYLRbqg{2&KqdB-_e^|Epa07{{XHuCS@2Q!Op4;7 z`DE$O)Rv3@&ZtdsdaGz+1H)-vDcMQLRI9vdtb+<(u<87%oqLJq;!sN7)1d@LKH9e= z2(^S&om1WDgZj+xF{p;~vxI|q21V4> z)HEXXI^`hkMLU+nrM-4)aV7=%#Lkv4{|D%z=u67*!}5z_V|H2{TYt*KWNID9d@8*I zFZ&W%H9eN`$nJ&Vkw{0zVGwHesL6yjkKWs-F3PE;R2LE29TfaPK2FO`L=~Uenl1rS zN{sWHWtK&t?iRPWII1#|Dc9WFD|hFp3iZib6xs`W&%JRt%yD`e|AlQI8tN%Q|71lE z;J}&%@sFF|n-rHZ+2f@NA*{jMv#juhzyKwWhfwieNT>yrup1du^T|kopxW=LGW5r5 zlv^lygtDRiL)mhPXFyq@K_E}tT6%an+xz{cLj zcqduPo)exFn?`^s{QDuzo@^?b$_|7zY&>eb&T+Cd4DWP11lV_!cwZ;n2(oyesN34O z=^#O?`%fCJCyd?r6pYi&qHn-qXRfz2q-%XuZUyRJG&f>=1ml+kL}wthzs?4K?v~hr z(@_dODRmE+$x}UX7!=BOD>xiPW!6pBHkbNu*bb$yP}3R%q7e+sQd19`t&KL~T&EAt zOf4UMk)!7oYbh$nDYh?-o-&irjiKihEBlc_?7G`tJ1CsYKj%$9g$QWwM9bhrn|$ke z^>deRgJ>z*vZ;6A%u{TwYKIHxBwC?*G+RF3?+x^a9K3Nes(oet&Mz|?x!X5|_8yUk z{T64-I*a{HiAQgTEUn*8w1kwIm{l0fIG2+J**46vh>zCLN@u56FBBX9PRPy4U%tU* z?4Zs)wmom18%nza=E0PrwJ9^Uq^Ap;U;e>T#vkGFjE>4jVM4KhBirnuMR1p^kNOjo zlRR}=^wQy3KPaK|+Ejpo^zelBl=VUW496rPup_q4IIY#5P0rACJ2~Ui=@`tfq|L4V zow`I*3*DzQ<02EI7oR81oVe^H+`07gqfch z=!gz8$`E^w@l9{x&(9(Y4xTL)jE}=ghzt5;)#&ZYGFfy?RSlF2YWe7ZtJWtC@rNr1 zrDADfZHGfsL&_JQ1Di}lg(JRaZ`qOQIoO#>I675Fm zes7&a5h%ZnbaUN=0LXA`Z2TB77^$Z8akrvEucnHBNy14m`YDkqnm87#;E|_LHnyh9|UO8Abd(7E2}{@kzW(mzC1#j*!Tz3~K@>`+8d}rVYvZpg32! zZ)JV#$F@&NxXoHpJO#!M@*KtEM^_q7o+gOKBtlQmS03}S9T!)8*D?o1vxMhH=L%|l z!oyxcD_e~^o8iTMAlhdJ$6CMcWD=Q{14cV8ac%SPVfp!U8<`a0vyEmRAN1!VY6VRe z9b={kUID&CxIRKhr(HSG>&-|=y(E+eM^T0ZzxFVKLlb5@FU+w?=#llLD za^?MrfVY45vtI#@g2|L9*xhB!K*lKt8&?FMCyL$9nJca!haAVh%saA)W5D4TD*=Ak zD>C}xN%vV5K13zWVx5neCL=cxxZP;)Q-mP# zNfi~Ii^vnFKmm&(;FHS_iM|yt=(P-`90F48!T{Fe%9b5nMLD&HT_f%ucNEGaNx(u@ z{Cy9b!;!BjCjqv?M+wK$XOWX^3W?XVTIm>?FB{WZk3+6ZWz7?jmedUzK_-#_QS_{? zVT#piLKlM-Z|Be9tw;c!3P9@(i9<@uj%Hz|%}qMm%JDVfw*g2j6^$wM#sWwdn6`S48c@`STj~8#+?iff{*obl_Ay?Kloq7O4Wh!TVY<8URErzo zG{jK9>OG|Q>xapZe0@RFV9(d05hrYf>_yX*mMIXhs$2Fjd&3RB`|BLWjEE^3yt4vt zQT-NJx#-fueA~P|By1;_$y!?~M(64)xLdYp=-f;+d*5rB!oc@H&a+{S_`?4@-~9h4 zS^hoG^aB(O#7AZSB*r;%9hT~eNfA6m_~G~Nx6M+{*`o$A=w`&wqIBoI_4Ui%fg6I2 zSf`~oUEF0XL`*OfWK9WnSKeBr1M+XYwt~c*yG8bi)7YVVL90WEq z>&INC3Z`j%HQ?`jT%;$zJSUZOBUDYw>9Uw%t?Hz(R9USOmOHE>cxtHW!SS z)z$Y)b!wq|H(xNwUF%&5<0{rTLlEZQ$4f}sy*K^kY3OvHAz0Eq!12p0?1uBHNML=A z4&rV;z9d4O_Os-5_r>5>N8srk#hD1Njd936#xUiA?!OZc7|!@qf!&%x^@EnhQ^s2q zGT6B*xir#{YP$H@5>hc_%;&@^MH6H1#AH+N8?b*yimp@f&gIxUAJQqKti0!Vv$!w0 zKz2?6T{+K#WV1lU`Mf+8#{}R;R%NG~d}N*U5jJA^;p4@xo|RAUmNwV-tvS_i7f@y* z!9O(_!+i*wpi$|xF)2$HL*7yuy6YTPoCRd_SQWvbERuY$wH;xptPph;XZO!L5xC|i zZSdfOMs!OClv*Fr8UQon-Ncz)KTB8cRa0HxiS|@6d_n(qOTVE9S~49QcZay!4I&$l zY4gjzpoNNNKpU~Ute@+xaVHLGtvxpAu5pG-{{;NG&wR0?E3`6N%i&D6#s(N2HASkI zk`=OkNr7m5AF3m=29308gCS)vB|VKxqAsYkB7wE#tR!MY+!PEY6bjMq&d!iP)qa?y zSABq}gUAhC8@_d&yv&Jv8ugV+g$%dxz&69j92}jL)KFFOJU37mw8p7#1^IHJCfsIq z#lfAN$3*;H%@+9;VPe>e9nVKuvJy%Dq%g?cGNPjvDR~<>CJ?HzY)XJx2ZM3$@3H%atbJw{^v`35(}s>)OxI~ zMh{)9QQRF+}vM=n6fk z=4NEqVu<&-H2UZB?i$}PBzI=3u;kej0a{mbD7l0`N$v-84GmgPuNRwH1!(k}Ktgal z%F2-IJC%lD{XN z9G*?@{-sfBd?p{orM=;7yWbN=p<0*1N|(juAZpJ`~B-K_wTt? zRaKq2FYhKd<#>--G3nnH&GX_o<8C%q2Gi#|_eTJ+?^%$SGS}7}Ket4N6z6=7GNCtm zX&W%-7D=a9+49L)GdTW){&2B}Kv_jQ*_jNjr;GPz{D#d*zNYYPx4y5jkbamTgU~+6)h%+0!w+vplh;OkzFylWW`z$672y6M#w17>#tG z75l~WUD%?aO>M?w$H+#B3;WnpZ-4#A)-8c|VxicYX_BP{dSvv5=EL}wx=2_yT>Ced zv4LA?A|~QDK3%C}wZp`}}8L7~lEZsk^rhc_ykA%m{EzqemNP-@wIkJ(K&0ZJp{l^PO+# zRvx7(+~i|Mwof@$Q_2tH1fLvBpFK&x76azB=}BnClT2KD~ zj^8vg+W!-}znm4OUjwJuvoh%tCa{O?@yon!Y_#!nKNfw5A?}jUO0+1S@O1yFlfKBS zGrVkWZ0;Y<%?a#e;LyMTrdqvIhJtv^(&~D;pxG3aeLt;0Ofc%ExF;&~%KtD%20DFY zRys_51ZoHMHp~bX;~PIUTmAkaH%z8J?|)X8$)xko^Z&Om_%!(9cAC}jT*Rg|Kkg@H z$OvV)YsFqD+l#AD0J1M-392eI@p@Aof@yOpZtT|*zBeO|ExLg%higCqt%50+k9!H% z30w^?{$h!%?A$dYG~PC}u5&rhy9-mM=a=u>)r&Efe(dQQyfZJn2wL0}S&NcevgjY5 z*zC;wVj}&?6W6=8>+H#G=*N?PT&7&Hs6NEc;|ntbd5r~*ir(GQkIF_uxOBn#)d@GU ztw5cbjd!CZl<;;rE5ZKre=3sKAhZj0Z@YqwxdvRMsJEE@>Ht%YY=L4D7JwmeE0U+- z?`wh{s{lgDkH=)vui=q&yBcV8C-nk!Z)8Hm=Hx(99HeV=G{Wm3Sg zHX;%e~F$?OCN~1FGyH>sZ7wUpzzi0 z8svMGb<iZR}i9;jk-7cV_H(G$tN>Z;?@^gp5 z%LnaAcv8>~P7?txfhBFV6`}}oR#qyayf8gw)-)A1eYNm5Je2*;>;-&0!C;NagEjAB z&_PR>^pCXIUo1W&M~P9C(&fo9dQj(j`iy=VTNIAm;=J~mu9KM>Kq$U(uk$cQ7m)5T- zWsixEE4|hrW9PTXCi{*p?=w*B0odZA`HNMLBR`VF5GK3W_TkXPpv}a`={Xd>`AlR5 z4BquPsBr`VFk&xU%YZ`nD8;RU#pK=BKC~8WKFkwc(tMwHd%T-xR#j>0&V5?Qe^Jl` zvI#{$1wk3Z5J$+Qjy?;ZMf3OySXIAbXZlcBh<&kqz=lHZ;JgtE3i6z9C))M?Sv@CN z{OdrRJ@6|Sz8luwfuEYMx}yCpN2OPXOfjb!2~`XHM)W<7n2>kk{!~w7If~{vticFu z_#tSrni#RlH{sRRi4?hbF85X5W6kf^6Q{CbJI&8u^lL0twaSNReLE!v?$gDc95oeR z&1=m^7fcU^OUYPVp88&nqRcHoh*-K)y5z55cL@A(N4f(!8}em&eA07h^{94pj0y0@jqFnM<4!9+JkWyChMf9&rbiPkTn65bvc6FaIrh*b;uIah5ZAP zglWCnJN9oa?5B_{svZL-r>823N>o+X$~sCkgmzS^$-MU0M7Tob+bR;0ZoaGG-#n;v z=F58K#qu1a+%j)Aorjx8B>F1N=Ze!4=>Xz1@tiD(78R{#ZzhOYA&l)w6`8Z{X z--Wb!PKuZmBe4*v-S_Qe$aCx{iNZ3x>pw`w)w|##P^K-iHh-QuBkI@i)hEW%uK^j@ zs=IbUUOI}CVR1*5976H;BCi{&G|WplhV0x~e*48%7xeOkCX?rx>c(>YNFFE>?Z|f)LQkQQU`Tf5EP93V zFV+;_SW6oA?jgA$pF>^mZ0Z*>DaTQI)W`Y@+NAin84Sd)dCA9Zb%CwQSb+I|*k}Kv z-}5iK@BgBZD23OQIM?uEEHta}QF5}Zc{YF!f6Dh;;%pQnf3yhPzoi1eor?3l=eb9| z$LlE7=ATmjx^F5Qb{HsnZl-2Oy6iP)>G@Dcw-wp<-SgDqshAW|A!7_H`_{4;(7KrE3P&x$|5m&E zXS@Ett(gxQv)A}!RG0DWzY3q7D)hh1qfHiyl3>bAnW!`Z6Bu9@Oo|!UpN=sQP@-q5 zJcaI8TNc+Caex9I?09QU@eh7_xyeLt_d#Vl4qy>hP`(HsKEifVI(ZLB(OXX&Gp9qZ%iVTPQx@P68I9w; zFh2IQ&0U|9CJz08k=d@5cPV172G>KAUuW1;q=ep1uK3A5@g}H2P-I!KSLDkLblrA= zzEiPui~$EOXI0>?4FV2%sjQL^!C4&~j5J^0WSNuMP@XF19q%D-`<+B^-r3If@6DOi zUNN8d)@pADmG3uAfip-)*ep70h#7=`1Yp|zjTzt4%JeAIY6zFD8hG@BOOzJSfj`|( zS52$8YD(5&99$;qbly=9G}(azd|?UnB*~g-F7t-9_uF`bT#(WWpCalyvd8CXi@3vJ zV&^?eKL!iz(|rc-i84ggOsB&zp%70o~mL(aXn@HO0u%P;#`kS!9X`-CB)_Xs!%}1K4)IO5O-d3 z22ILY*TY&&+ucV-88h-2Q7)0!UDw<87YknzSkpD#X$d*xB|3K5KXxhQWh8Gy!_nuP z9HP>E$b1c8G{_zRNY*76y6B*Ij%sEc?X(jcscXKCPQcn{Y$fdMb~4nLY~F8mtgknU zVcKQ;(XWpm9c4s=?InXpB|A^f+#fdgF@$(ZS&(sc5+offlB z!3*(gzURvE^XQRN&~Gj`tMJ4^y|Q+%%|HjlmKR#}2p*k;bnlYq5%Rt{Vb9Gm@P_ZLj# zLwqhcpCZv8!=OMNdU>d@@na4;9r!^~+oW0|wsVDt4oGx6z2tv&&Im(kxnvt=+s!mwiZaBIY&eXNp3A6v%eU-w8^jZ@rjyX>JNm|yokKV>u2~r+} z-_KOmELU8J8<`7KqJP~NmP8z9EkM6tqI-r|tNI5>5RA=fGt~Y$NrS_|*2|Y0U6`5n z59h5mRO<y^71ms>`UlIA&m?2uJgvp6%E)JSm;Z$8kORaga9d(d)fhj= zT+Bwx6f2oORq>~!`>aB#W@8Cd-8E{Xf)*P(X0CvG&mqq;xisoNycV;d(l78Nb5!*2(5bF-^A=a4NK`xU zF?N4s_PG+s7xMnC&KlQBY0;Ikpb4x!$PfX2+@fR#UY=rPbX<3qWVE$)7D_RFbz~jW zS5JT|6vp*+J5A`p%f9b5Ff3^sEK%;NDj+#7oEI0YmhpqzEG{f9zy`o5LwclMH)qVCW8> zQ*l}ZpJOp5Rp4WSoHwy_F&fJHYt$FF2uf4d<{5nBjGT^>( zAJ|eu{SFNSazJKhl1zWGBJ7!~1H6~T1^!qr^XJaFMLB8t;DvBxjWJ4GiC;w;H{Gh+ zm5UUu_2|>`bX`bpm#|Un@$));J=`$&r9(ZBs`)32*Nj1jH%N z88@Sc*iW2&Sa;F3YR_j2igk2TYK&S%d()B&tVFk9i+C;Vw#exH2Q8x56JjRdV_t|1 z{j~IW=_tHJRhvtPhSaDgA>wg$jm=I2PUW^BJDm#C}p&uYx`-pAAg36(1PMtb{4dav37=Bw=9 zerhuOrak}Q0cD@qgP|-9W33j^CyxFh0`0CZd6}bY`4H%7)-Z+d4S%-jl4GpRJK%*E zf&DcLfeR8nkS^{khOAeM(h&UDw9Jp!fzHuF*V&a?t^@vy86zn#0~}R~;IYBqmvT+R z5li3TmI5+8dT&rmcP^U)?d6yBvnz6rH`+zbWqjd@dG)$=?7OpCoBe6TkGv-f^M3k! zZj|Atp|WSXvYBgo-9@QPq-N`?r*kxtww0EeLrAZ;r+-b*I0Olm=TBcd=qLya71DD~ z7II=}yLyQf*vw&^+^mZK;W^gMC;#Wd{`Z<0|1!VZn!Ul|Vy_Sw1(ny1rDNJY2#768 zIP%TYt}B$DSiaG6Hm=o}-qIvVpnem0rcqI$srx}5NB;coeEyy)Pt@c9 zVvpjn3}|x(G&KQW*s2RRK6lKg+GZwc+$M6GacxIg*&3XGe>t>G-}FEEsuajbFt z0-ogT>Kr4$D|PwcW+vf(|F{3E=aeHCiIdgg=APbpaCnBFSzjdY-ONQpXvZm>pTBda zt0D{xm2?(JV;kU8<2KR;bx0IH`@vGeMMI3A1VlhYdKDB@2pD=trAZf&-h|LX2mwM5MMddFKAfL6%^4D|tA0bIMh{Q>~Em?nWcxVyVZ3kf+R1g&h~*0zFRI84af%0&ny z_*e)atKjWo1%}$Xb6MNkL!9NfHyT^Hxga)j+=gOWkF{JBZ5<%becf#Je6?SJeW73} z8*T-8E?IABZKB8|LJUkoK12{)ces%j>^x3vqM(gTx&w$Nls#tz1T0FSr!p zZnj)vf+9fhV-Sc-TwD+&Dkd%t65tYk3=$T4e0hiiL88)P;?lwrT>k|3r8YMkJL#87 zD*x1VnUmxGXQ8~jyac^O1mSM>LLezAslQ|h3j;4HfCwLFcPnq8GlJ)D2}-sIup7k1 z9Rhde`b(mfHQd8pj{DNm|0n{?MN8{ng8xfz!C-%t>mSqz_m{T+X~us^jdAU~EqQ3|)t&!GogIrdMm6H-2>;bcNc2`r92*as0m;%ip&yTi{=p|7!Y|nSXU2Tj$Fj<969KF4h6m z|7h?4o9~xh@X7@N@E&mWUm&@>BDr>XCb>p>?JtmCC;bPmUne6YCnLK~L2=^-1;x$( z6<0_|NJy`dQe3}IK}AVHNkv0_2^yMz5dAZ``5(FemG57DZP51{h3$XkZIcHQ}s`M4?79kOJP^8ULzr)ASJtc{VK_&5C0N= zDVg-C?sY3}I@hRd}$pgLQj5AbnD$WJ%m`LBKSVz1s-tovQSrP zNoWBIfHD3hzHsvYi~o~7ATJOV>BG<3H9~ zMO~ZOZi;3vbe2vm>4=xnWj@UyLP_bgqS*g-XvzgZsEHtxz-;RO)U~KuYp;i`3qBid zui}f>s%bx#o)OH`FdLw_mPuJhBegzuQfAwO+u}XU_14@v%Io%Pg;uYPHU=W{lrRtD zc-lh-I3T1bnXssFe<^B%VKlY+L`9WE6uA8~ECc_JMi~7&fdkJmKjta87gImA63r0P z!J&7;cj8lDxC<5ytl^V2aSrpxpPkrIsD`9wj{9@FXB`Z7QpIziZ4sDW**pyzkcw zMo8>v{LxWhjsgywd`^dnzmQ}_+6NE&^}cPd4zGCMnC|OsNZIV$2(QE@HJ@f4gXhnB zOUIVR3F*N2i9DPF59RJ&ef^nhfmjJDx0%ta%9LO+s?2G6w>Fq8DLYzn+}DI6JtPQv z5D`9dtk7&nTzBh)LPcmnJ30?y1O+y9_j^s9m=^CqXhrCDj?Sn;>RD&A_fK_Rqa*jT zqe^pG@G5WVIwZ~1&|kI=O>i>JU%V3*n|;e*IOv1^4j3#)Jp zc4Ui9>5hB5mWf3ym999?z8e!7DE0PHrBbLp=Re!1#n~oQmkA~vEq0_Ryn^i8Phlo& zUdO)}pj$kPXKk2|e$b&YPgRycV{gtsX2B1U>w$00!WqK4q&K6bA&YZurwQ;6Qn^)k zVwm@jb9Ydv)>;bq@Kz=FP=-6 z&gGV?63LtF&?Z3QT}AFhxrZemW$Dk`f!_aPTKWIy#6c4$nZnLPVAV+ZzIcmF?-x{+ z1M{2&Ur;ksQGCL)l+LrFZ_=0d{2cF!WO?*tUQa!zWQa~UG|FB{9^d-%@gz|~2O8LR zJ8sQ4n6#f70r*PVS-m{7Tqe01P!(PFp z3bsB1vWd>p$86|KaC*tX?N^y4yq3G@OjPB3dXEBzH3!eXco36&Ea!w7!7q($?c>aX z#kUQaMyDnzOXk?D4n*bhKFjjt4aj&E9yH3Lng+~FJd$dG{u$b6RfiV(U{lZTTXFt_6ifDgP)U3EwSNy3>e zK6qFLIp$f1!XPas8|K#QF2=?JYaoeW5m$SAil{P>T%}0C26EhVc<@J&+IX{W^W;pL zF^pX#k333Bypf|Fg||6On(=L}Dgq2$I(JERLPmR02y}f{bq9v>N?bs3RB#&Qf4#1% zS2fnk%R&>;bMpj2adW=lAeKa#1x1AE~?~3d2xUCm#IOpux zxXwIr^)P!jfD4Ncf=EK8_O|DMGne!Rpepo7*`jpwzhbY=F zlsvHR7;i}*2GxA0v7)3#D0x?AF%6;;LwKOlGDdaNP-4Pza$LbqPem4tpc^~v%gydvPr>? z&+w%z_(uz1BW$uY(Lg_DY`5d8U^LDW&#sENXAleC@Xe-jAJP(yqNV~H(HQ%Xh2?SF zd;1baOkMXznf@9`@K!PM=5gxP-Whygx4a2aKk8Y@Ug zGjiy;7WKV6Q7jsfG4p$o#YGmtreC@=DFQzLrHp^`R!xXVr5=fZgiPbo(9ApP?8eJQ znxn$cMWY#ZWIQmMUWsq;refpd`B~Xs4q{L;L+YFfcynNQY%Vb#vQtZbEOi#G2VJ_E zkdCn6md%Ph?=-9={OpFoK`ZaLo}Z)7`;4|Dhp>OvIeR9pd6ucc%l$s67h!sxDf^ZQ$hb(e zefwEgWy4L|q2lZYq%Szm;kz*TN=Kg+m&eQZ*!P3hu-eb#CTE<%Rkb~a^mSJ)PonEzB+xJ0qhnKImQ4Hp^{$3Y!Z`}cj-mu%W?y4YX@C)J-OidS*4y_~6;y{`F`=F@2zWG88mu z{QUyp05-iB)bPzRtMU37)>w2@5oX;iu&Q!5tLHZZE@my^cwymBW?&{_VAnwGB&xVO z7xQ31U?1rS+GR+!&zbr1<>L%&{5bHrwW~s>0kElZ@kg*SG;7yC7E*<&LrRE5Xo|lO z&R9>7IM8p6f%1ZW3af~fyrzAFl?XEGtSI4_8e!L4D9Ytf=N(#r+~9k4l=389ZvjH1 z-%(RDuKjMA$e)xU*&(7x*kh;*P=00M*Prw{S*rklihI$uwvgHqI}@FtX(=6VltrFfje$@_adpDC zUHV+R+Zx$>3pz~8w}IOqJA82*vjPeNPtF)Qt-JG(HMSAXlN{t*h5n2i;+al6)+JjF zotVcK>`@I)2>0kV($Tm5@}0v6z+jFQW~qv@$|O}yR2tToj)zsm+YI%&Te#(E<2$Gt z=~J@o<}bIDeWaWqb=g}H5cy8A{f5qXmUgB%!=@Hh^@IA34PmK{epj!~0~VR>cSTrU zkFXJEsHnTC%rev&gzeOPb>JI)^gE2Sxu&UHWsLn9^S$_r_pfd{c1nM;XphI9$Qos3 z74BnXrNNdQA}1WK5tx&-dcGp{&Z@N&1*o3L2+DH5Xp%Rk!jr7n$3+!!w{fYU#O}&q zy!s3B=6MH&3&4|c6|DevU)j2q-SY*!|J{hJtpUTnEQz{3wXD)zqWLD?W=lF^u2jL^ zq(1i7Wb&VE<;t3VHa6cFJ+kW=Y(>>wE6pwD&ATN<@oGcpn4Xg)(cN4}yHZqyo)PW> zKtnvLPB?<3X(tTgg*0Y2b{bGns99ilg8Pr&_w8F52Yvi(`$zqPSvm}{Gcd>E{SEyo z!kQ~=6N~G~R$5_`zFfi1qUWaSn^&0;&cb#*4yAH-{>`ACxv9@vHN8<$e!+${U*uns zXoRw9kzLXMQ#Uhc6ro*}$Gnrs>JwJotMYM2zu?yY7<9 zFEW&UY#ULF+dH*s@sf)_ybo7qJ0*`aTJqp+TUnwnrDxI0N33v&+~alLl}drcc#cF& zTta>FX~aEv8t(QC&`Q)jO(RMp$Qv2;7cF0uLf&#!Ft1Krs<_v36ur<_&Vr~xFnt!T$5EU>SAP= zI@u9WH^ZThZm*H-ZWf!qnvoy>?X`CPJF#f%q$c&!3NtKUoOBI6SKNaycfJ?qVs4~N z#@un;r1!gr!SH^5C)dvnE#on&n)w9=)g#qhkNjXLQ%=dHy7Gpw_zo_)V5vt#yFu%E z3|+>!SK8#CtZ@M`;z5RC&aMm+EIf~;w5%3DDp+=ecf{d1OV#CzQ94mZM%$BMh{h+`V?h27b z;XE;T^CvSs5o%eWF1ir$=F+X|6ZQ_L3Zl?W4Xo9YzDa`sE@eKr*T((a04)|;$51cp z6bxkzQ5g%mPj$Bp)F4IDuC@%!yY)~X0k7+-?J`SR)G+V}+do}!675sVnKc=p&`!Tx z46X&<@eMI{M5bzS>FlvSfUUs<;XPW4sdCvMNo7kE+WSa6&CFkQ$Z|cs=a`U&inO3* zF@W!2xqbaxMI{A~j;IoM%fVq?v$8PyV>|B)07PBTPv^GJ=RY78$?4~RhlKyz>0ks;L-|v#()VX;Qs6n zsle2I$3LF(spISJHO<{8K4;`lOT1L&ificCv%;c=gnrFl0PHOkqdpHNud!pL1=Dbn zeFh5Iajes_EO;S-_2v!n1G%b!dhsY;ei4?=6xW^U_BpTgRuq_ET`JU(y+S9A*!Q^~ zm@T9;T4H#!F})O2(()5O!Q`IHF&(v?n;@~LAzN|!vQomEWwLn~$;dt~A#JFtTY1SU zn0Y<88dL&MAt5pG7R#E3$ps~P-T&HroGM3ZU4!v>UV1fb=0@~KEm2Zw#~TVXcd+hs zWiRdZ@8m~Ye|~oLY80tnk8K(MtIG#FvtBdXT$1&i2sN;`6coRqBN9bm01gtUgd_|+4pyi!4%f_@XSrPXl zXb7ljLw&!DB*~@7hXX4A@LR7-h^o6YJg~C7?Zi}NDM|+XyPd30dIoQx!lFPk|21K* z`puIo6L-Geu|VU!%s1{^3q`O)r%P)v^3Rif@?6^ROOTYg=8{!RKz;D>dv)$eZKI_> zvN#oTTcq#PdqYd+0i0n&XIf(W&^+v-usd`enpd-GXz=rY`U*`89Y%#>;Fv^T;&ZL& z+=@7IU{0;v)sw!DWU4ZdXGZ-6B!`mMcX;0IY?yhLRKqR+BD6#CM$w!d#fN8zqViqT z1weG+kYz=SH$Y3a_P}h4(c24M~PgDt_;04EXdun-ZZ2foSlY`B|!jEDqdOo`b$z8Q{rMykQYY(V% zit9ra3bn}qe}u(L)+qvb?Nd$hgZ2$NC*@7_}fWICL+=iBzeHT{j5Ilrok5v z)`*p0QI zT|WJ{PpRzpFZaw))JY>MvJ;3byGlhiO^?;`HlPA?MdRjWh_L~qsL{L*)~PUEvhcP1 zgcf<*6y4IUPe=08wj%qD;OxC^QZgc1Y?TJwkm5tzC8}rtamIgKKdg-2Ra#NyIFj(I zmItz@!b|?XKGI#GW>ai&$5RV&tco%^o;kZ;y>`UMzGvl}RmdhSOG)B5#^Ko6L?%@& z1_&Bc7p%Q*kq>d(OjJc7T{o&&IO(WObru$SjehnZeYne$2Q9v{4Di~GC(WX46@#Ap z1tl8t=&xF&ZD6}jn&A5Wy9>D@2g{GDd$ri4x2TJPvO~QN z!`WOAP9V0OEv|b#Smn{;gQO9ylpX%hi9A3S-`Dm`V+RH81!ma~P3rvlxqYr?zk20* z{kt5fmDc?=`MVgYOk0_gPkwT$!{gXQY*NUW-5LlVLJ|uJe_Z61>|v1+f*~CWyOL0Tu2~ftcgtlUK%y$91b!@l9e`y5P z7gM6^#46yIeVBYdb#`B4B)SA{QBQ=pM@8lx_mwoCR%*(9NN}!29is-aiK&!L(Mm0{%hVIie<#(~s8FWT%^>%8pHl%VD=~NgG znht!R04|e+!M)4q_4(9veOIW-H+Vm>@Vk3p6W?YiG4vOYiFnP zG~F)%pXcN*05D03#0vmp^De6LPm0z5=U4;a>T{AB-T3>iSQrGulliMLh`w^Jgr5a( z|2#$toap=ZWAm2rkNZf9>obZ5!=5#*^AVBX3bt=)&*d8of3?$ zUpMBp8>Aa#lZPb8u11~Y9mRWaee%1<0r1lM%osnnM|}a{o!y~Jm&9hktK(2(`o(}-a?x#QYYhNOeN<(Lgsh4iWOiVHxD zsnd?rMClpB`Ftx)pTIljsd{=;di)8CpQVNl{VIFeNP2C(p_vr4>{EaIUW?ntWZv0E zB_52ZtyVqwCS9~A*AzzfmhH!%Z`NR=S!(f-l>T^@8?QqD-t6MmK3^lI%5h6F$onJCnGacC7bR!wh-#p z_dcL6KI!oR;kR;3P=?24gyegPS2BLCN8kOd07Q~lH!gAdzr~gzqhxqf{}_Yr^mIjm z{QR&(D~gtokWeo&+r^4lbk2qiPMnHt2b@7s^qmt`SnC+E^GW5HU)Czt*mv)@w!_gG zb0$hIcMMy#xxUro95~&j%l@rmrf6rk_TA0}0OvVKtC#2Dk2Kx(e044{kl*UK9DO^$ zE<*!0P)1dcXlk;H94jZhkB)b1O3-1yi zxd5ym7_(+R;+UFQL{svk&x9ToE`nn?nKJkmd4z7XbEBucHgvD671kuMJ~Qb$zMSH! zjvC7c8df53QYBtBQQrGS2(iMt2o3Ak?i?gnMBpie;ss}UlMpdiah08z$78nnksSUv zm*5MV2Ji&n55^+nXs2IpFv_(4`!QZOaOqd8OI}^0_Nzb3JVbu_>6lVQB@yu4BQlew z1GZj5GyiB}xg_CtysDp;3&{lGh(Rn*?fp;3InI(|MNnf8gIZ*k7{m1++lB$|DjEtq zT-GZxwlzh{&C$TNrEiR?H7K~(xo&I|(!b9;=A8SWOi3lZ@d6;%vKV)q8@QsdjV6Ai zEJwWid*=JMQ%V)PlerSVx;{a{HmbZad+vaYr#^hkfrScuwWk>m&vTAW?(VAoG5m4? z7_ZG-Hw|BjxO38QNH}OMIRKjqRxnrdkblykeOWos-+FLj>)~ z2EqaX^AJZjGQ^@%RJqUB_v7kSGI^3P*>_>-*YAEFr=kfGmf$aP6?gl&D6C;`{?iVc z+RKzOa~$I~vW{Fp!_RXa(F0{;MG7>~3A1kqtO>`rrk!Ed)rm|56eC?>SG>a3ysih5 z4-jb^^YkwjoPWm;8RC_S;>&EDrrQ_Zcmf)ttB=bN^yt5gi4#NID-xBPwN|H=hbmh} zru`@5hmmjzMTX$29McGu%0pon{aGKgFU*{IoIk<0Q2lDCS*b%0v+wtLlwAdH;&ylknWusILu{Xc>y)EDXe#Ss zzNJ5M4^K6y%n+M9+-9gG8V|tWKH~B-DzR{XXVZnB=jdv=GH?MNC)VeZ&;7wr{iguY z&V*~@+|qGJcS<5cy&L4^3^IWV2w0nW?8>%JK>3fSyh%D((|OSL?>>y_2D@z*7b{__ zN@jzsjaD+%Sw^DL4}7m~Vf6c)?Yg`1uaTiG?^rVAKEEPBGn#TNJHMYS#9%xhi6C65 zhY2+})M8Z>TDvXJPuWs|@7n z)By%g{Oa=ZJ~T1{h;o=YyOyv}JSym*ol#OwRiy#P*G3HVO^TlYAD@?VMQxfs8G82X zTiASOX4<0E`ofH)sByJw${9#W=uvc%*&kgcYjK{ZO@Q<6Tes+PU zx}FFeyz&Up|KRLc#3GfvvfQg$;JI;k5aaBcSm6<iVu`K-(%cyldS?Tq1glAg7|az)QC|I3EN)yKIR zxofrQJYoU<;I$7Dt4MrjRd~Q;MLAFiD6}@_1@@p?E3VlteT}q<8eUYb{%A1E;N$}~ zF#&RP;Z~uQ)-6()L6H3D;BHZo^}jvLU8OOr?10}%q{~RMruVAe7e%ULe1lr7R!=nS zdq6Cz$)i z(V250J)GMHJkx7@1pecL+OC&{Tu*boRDInS2pzz%3jj(?acT$XQX&0LzU8KWZ(0^) zQ71I|yR1gS#(6;-fg8fHZz)864mn9Z9~^bt$Sd^6`y8Ey&PSk+gZG$4gDBZhc!%zV z9v5^&J9XPg7iLdlV2PSb)Fp$2$bnhteD2Zv7x_UG(Is zzV-&c;h2(G-$1VA3sX2}CMxBeN()S}!}>l>Cw>`t4M5Q7;;rT2;ABP0IMg;bj+i!= zWKG*7#Q?qiZx64Za7?;#4rlAsqL;w2@crW7IN%RB2XW5jh=GP`FI!$WJ!;D07oUsM zr!~Yqz*)keuchOeQZ-Jik9%m*g7ekp37hi;U@(>eM_RqF!&&lX{rt!Q);@UPeKUX# z#9<&4>RgVit!TRm(qU~dTWpY;6Wu0GsluLBEpxttHReuE8?t{J1c5~IXyh$i>c<+X z{iB`hn=~(>(kg)^65rTcRZeKA1d7PByv9){RzD|TZ$!_|yYP3(wDJWKd>SY|{sM0q z7&70iS!G)FD3V^^aL%@Q+=+i{d=Htz^2lezp@5|w7Khh(;RwVM8k1*(*}o6PDLVhA zO#M_N;41qRnhs=dud$ycXs0Cr6Bv-@KDD*lH_tcSe*zbl?)4ap2aWm>A@OjLE=^n8 z{f0>gn4*~%qsF*88FNmrG2J?6cu9c4a*KfA+Js#B9jbAdAoj}ln;joH*IsF37dt`{ z4~kFb`36c$xCfMr$1%1$~7GmktL z(#nKRFn_5i4KP?b?PFNYEyJg+edrewE8NX6WOc_7Qe}#xB4g{2CQIZBMhAr}Awc`_ zh1!I}ZIuKFa_#Nz*G&5X#X6LUfmce8y;VNw8*j#dpbXlKfd))PzdS!~n94c*+TSSs z{qE3ZoP|TeGhKZlcYkA*| z6eE8)rt^iOpD9px_n&t&nNAp>Oz74YiV0Nn=5~+jsnCQ$y|c!l=;>cJt1)MewXhr< zSU`}$mjHLpw;eaLa*RTen_y5(i~9$ z?U=8vWtZBpM&ztB_diTctae>ydm<;iIX}>Bqr#jt=V#sb$rZb$;MSMqmtU&=&^=@;Asjw4%^w9i{wQqaxLLHty55MpYr#`1wf^JPf$k4yC%;#-4qGa%ayjgls$`%6=Fdo zvRU-})PL)sPJV4kGBkCqwMW4{_s+`>S>1ta#TgVyV|P;|$SPJ{ip+2~-jR!46VgV< z)$=nHuh7j*m#Jm-VFtfm-m%zm2pzMfwbuwMb(QMA(6e=zJ$fbkSv zZx)YsmG?SIa%UyW6WkA?s*l0OS!LI~(MpJ(8NuCBJ%t#gcdPX8@A}4%( zQ1x=iCN!~(kOgPNxR=If4^a7;6r{jmz`3Q?@#J+QWs}nYZu=WvbUcI(=qwx+h8Yt( z${8j!ctxP=t3orkY=XD3tXinUN$q{Y+uSIkA`m#oVd1tZ&1@5Ge46+8JDbsO85skD zD`9_k%+JivzVD}Jp#FgwF(*A?QGF=a|JN*SHncQcOKrz{oc?E= z`0PW&I6*<8-!mTc7eDRAO@^|o>v9;op%LlcW~43Q8$XLmEOoNcC>{(1Rvex%T?K&?kqu#WPx8!nvOE~Q)?D>iXgOkWZ3-5ITw1d3|al&y&KK^k9@C%|8!H; zjt~#je(hl(>?D};(|8dip|HWg_#5RAbM?v+*GKP7o*1_j+Y~}dzo!3l%Ep#Z*nISc zM0H{=5pfvja2lD{Em{_gozcTF&8uiG@sBQS%TW*2b@-H5tyO<08YIoN)L5Aq7#v&m z@8=U3_b=(d$}fxDED^`iz%*#=_cBPE$X|J}4JI@cjHzliaORhLN@re49`fO377)QA zjLfSM+lvsZyxJHV$HD2=_G%4qO0!8FX~vI9NYjG7_FNKo>v!S+*t4yt_rrW?Ugeje zF=hN(m2w4|Ou=y}0IFVpC)$@AH}kD1mv*?&C5FUYX_~j{YGw#|T3p`mOzJy(-G$QJ zbR)vNA02r=LLcQ`{w`B)$o0y9CJ&O{uRMC>3;u=G*Q1Z&F{U>M%|W@{(Q(Piy8TPw z0hh9o4(&(ixZ)~l#cYeWUj-`0kI?vrpFaYJBdRU{?1+iW49b+k>bylT#lwJT#KQTx zlc@QWzARZ3c89I2SYduz->U+x{qVEQIX}a&6Lt%JJ^uSlm6XU=RB7i(x#_P_ww}l| zK^Nq_ZN1kkqAe7A01AqE?xhQ@m1%wD%m+1ZHTYCU9(r;*Uo^I_sc?I&!K10aVPHIy z0I!sBtwC)?@#oDj8&vz$pI`_*OAj6dG6mO{$R4v`t6et3Njse-_NyCi8cCZ%Kd@?F zMo|sPSaw9$3oEwx?m-0VqQFn}hHhoNRl?uB40dIey)r3ed4Ww=aI7I&;(2rI{V+7y zdr&H29zCvbYeh+ADLl=$P(5yqD5{;U{XD4@hz6o{eEMQeM$bDA9K;0Q zVOT!nBg|%;5nyJfL^3M?Byxh}#gbyw1LA<=CdXJNHCwumwY~O>J1dT_iiFZon+xBAuOUP&-+QyA7X|q!%k!0fh1_Y zv_bQnG37j?f3nhxoj4?+V<3r}(V@Udo%WzcjV$LqDG~c+qQA-;;x*+xTW~yFq0h$N zB$vf@HUp{2!pp!KmiB%O(~d_K%^H~;lf$MKi$SI{J=s5T(G4!sYsxh1b)BOV9%Z{9 z8rd8UZiapC+mI889B~LF>@LQ&YK-uWAY}P#`b16}{42+iMa8?N3O3c(#~}Wyko@&5 z@4Eg8V-FwLc0}kk$*YeJUR_3H(18tT^PI=vTEoKmSYsM+0>^N?osL`=q&u*LxRMLDP=2-W(BvC@OH387` z3y(ZDG1=JwtL^g}j%w+jD#c6Tc1>5Y-~xEu3mGbdXSV}hoY^YKfiT44xC6Wuc*x@U2}1kkN!2Y zaPN1QN3?5QT*l zk~gAzGUWpPxsx+${tE`HM=qO0ac)s5I-j|-egSNeAR*XNwFph2dZwsum&W* z0h^IzaH_f-rkL+1nrgMS7fUtTVpsd&o7u$u+plpfDpQ{N2Qbd=x9!{fgR*x_yo)bm z*dJo@y}KUUyZg<4Ja2Zne3eoEN+~-z?XwICE{T7xN&GQhJ))qvhQHI{Azckk@7ZN; zl~Mb))A+WyGqrq(#Z5B1Yf>@RZ~b+KooT0%=G%_RFn(`c)7FN1wPhu%s0wKtP{RHuclk$Kbif>U=b zmo1H!R^>}DCt!K7wj-+@aoX*%jq4K)m{7QcyZlnw3`V}Yuy#ZVr#dF_bwmH-uv+Dq zmmW%L)#j`xgeL#d@G`pcJWfviHR#~TthC>eQo!>O5!!fyZfE@#&cw9DaYSh`#X_RP zRZvm%oUmlB;|ilc%T4b#GwR35v+j?LchMyQyk5jMJ;28*!%Jm{vRgD&7(w}N2}ZKi zf{UP}u3xXw)-WEw_};CKUYjeWi1Z)T-%2ZkJ2S0nTSn{5V7wLYNpu((&aGH|Mq-xab!1srJJ1AWM&%X!kX|3*O6` zbpf)zxo}_yUxmbI$@j_ShZ&Y{0Y&9`Pt9VkpBy2>)6{yp*;#hkQ#+I)W$wFGp;e4- z1e=m6c)M8kP2i`hWA4qNHMhl+>ZRLw&;7E!m>ub&K=<>6$_s#>9Y5=bV9sW_iJxVh zanps1(9C0`x`b7R!-#m$_`0!`;D^C9pT4$$|4F3{()Cd!iHd6WK>lYt@; z+hcsDhEe`CX9M^4455co@^U;M>Q7sn9~geA+xj>6Oi3FBF{`%oq`oFN&aZ7g=;aK_ zR=etf4`0_5zSQ$(O`zyeTwR@DHfU;fOp3H zjtaq5EUDO_N@Nvl>2MH$GyB|Pmc0G4f=*<}q1ff9<-oX##kT)93sh4^H_%Fm2!nO1 z(%lqrGF1N1AO2vDw3yoCNgl`iq$xvPk#=eFzE6uG{($BJP~KB_7|7COuhF|z+Oz(gg_ZTDsAvX3i^&^9YlAUU=E3mJh3h zjf0Gd5P59frn1MhBf1fE)~_|}8Kb3IE3IMX04zNpnyVU!w6H=j8s6?A$#{Ov{Rp-M zfkzaD&{tvm-L% zlbr77j*A<~BLyAswM@6h<{)+cprYqA! zYtRC?kTgKZ#&eZcBvUX;Bs33dn0o#V?)!MQjc&kHr|*aS0qjp-nSsW9CKb1QKp^6a z4CreKY6B*kksLmPO8jWlA@32j_Dj37%SE+Zt|M!drNy6UY1#}Ybq^k7(|QD0oS8S+ zf*g~Rf(;tVss&e}<}XjvGe+0mTj3{VDC&OAt3jEA(OuI!3$fF^;GAVqLCExrNm>ZA zBy@ApSUCa6x)k`#Dn)3|KDDGOk$T5@9exi1j2Pg^RkDG`z&jTu_lMr-Ps%T+NAgs>mY2@0}VWhZeK8;#9JN4x2 zgiAlgjCYbE zu%SpJ6~~M^jjYCMk}B&bgwOEIDL zpiX}pN}j*@rcy@qM^#Lmm0(X`vGwAf$F1KY%f0IFVD6G0&FmmRQonZ^>4$Sw!O_3;^W z3adnv_N*qfPMX_C52jF3h^=nK@y>6*r?ri&$v?01a*?cl%o6UpyhOF7t80cBE*%5s z9RDIra7Ga(7_)a7?sgnbuzo0SAAP=1Qx?Z6$x34LQDUw2OFg+B-p0>Jesb^8-mEKwXK#CEDZ085Xr8{kN-Ork!} zaT<#`QSNlE)ahLK^LS|da^umD7Sd`YV;<9R$}qbZnN&$UB1?xcZjUn>R;9bPYt%&v zoT--Idj4hqOg7N7=%LlZvoMVzsVphUpzp!B!u0Aq4w4vZx$#$r54Qr~XMV>HSX09W ze3tv;y42LZs_~oej}q*iQWh1XTbo?t)`=^5d+aaeFiPvn(MxP#H=He61ehQYd+RMz z>l%Z~Igasz6y<69TokGTJ;oa5eE;Ji*oG>mQnZl!@ z8OW+SHAj~0@u8|{?`IiMp2D-yX`O!&Modm=>e*s&J{$dLye_V4=PWr;eJt;oA!lSt zhfd_7y5*)bvV}n^tdLp3c2&|k98Ue}Oug)jE5u#K2we=;=gU6~HG4e8GD&WY;qE?W1J!cn9mU?>+=p_AsOq42w?+YigC*IgHzTJJzlG;`;-L5Zp z%C0U-hG%?xf(WD9;$SD9>zkbg7G!zQVj@kyE<-gOa06kOUc2I9-FIWMc_GH8&mWPe z80hu6oK(bWW2(xhMx6IY$PoA;x7rX1cuYe}Q$NwHYbas}t4UQ8U6b!5%le~wIleH{ z$KL&vY1t@4I4*?@!`z4 zbbrqC#ipgus>CaTWhrz-oose_6k^Lok>Ge+h+v|=GvrM{Wf7YK@jY8Gx6T5qYANUBQ)!pqomR8hb$0TkImWb ztn<&A9)4XrEH4E*#&M-r{XRWrP5ia6Ngt=uw0Te>P9zj$6e{(%2t8S^I}wi!L5LO` ze)d?3`9>#kAKGvt6}eYvzD(D^|p0%mirDKsYwt3ML#S%NdH;68v+`1TZvUeaI9i%GOSLs^QZZGx{@K8>GJ>D}dw8uE0`!VN zqCXq9-qjNm5G9p{lgU@-W=h~qZ6~0rTPFOgF+qo={)$&j!7R9#BB#G|hYG)`E+sEo z3=JPXW2WA%;=w4J`b!HJ@|0(^Sxmzd$K))l|EOQJo@3_buOEviDKSfha zDxjK-0&!XdXsX)XcU+iQL&`Hijr~7PP60vinBL`kAq??$v0Ka#Cq{b_p%36<(fBx= zPb+1+FhEq;1ci8_{Y?}U_>h-VOK0xS2Y2Ot)B1?l<#r_e(i)@=Bl)O!Gv~?OMn$1; z*xBvwk-KAE<7>C5FO1!e>vyi;vQb2p*5eVD#7|SleKa(+U`3p{ zM~Cj|z$$-6K!Ev5l?4B9n3>lSQ%*?l>$a_!oUDYx>ZX$H!BF`u2kw+km80c)FH`lJ z9FVH8ey&uS{y(Z;Mz(4)Lf)uuzg5b%F{ljYeO}x1elW2mZC{U`uFz>T!s(rH*X7G} z)cx)y+{s4Yb9`$yHdAmGMWZN-JOI#3AdAijB9R(D)y@4}c&UF(rv8CRWIrx)!!l&* zBd$4EZ=!*-_^Am;FprXcb&o{{=!Wt+y?BMOrrc-!16yMkV>PB$7neuw7r6)C*M2!_ z@y$3eutrMlUvxj!kH$%^IQ)90owRHWdpfTWT#LS`eJlE<28SQ z4X`EI?v)aH9TJdB)Z-u?XDOa^Xf_ zM%$x2k6?k$+PEPUuq|cKt=0?T=}Jz<4u*|TJfMq`J`>z@-?w5a^J)`yUAs*fwQSqk z9!^l)p>$oOOBNFl{vv^lEHQ5S{h`ZTkJ!J>>ToHp_Qkmj{*A2gTI;V5Z5wUAybRBI zl**P>K6qFxaa-qv_{yJam2KC;nTF!l9c35Z0T#Y7h!8GNwslc_biV;VF6=smP{`?{!Q`mN0U;ceHbg4hcS5vO>Vx+%?-D}w~!u_l1d!wp_jKldz|fz5DApoJXM`4q0#32mJ%Q zjOkIufBMWVr+ct2(^=ufd*8T|-=CB_WG%eyNje>kI02e|*o2)uX(&$a54_t{QTXw{ zjl9g6_goQZ3~K?&-<8r;T>1AYkQW0VQeM< zV`1ibh#(unu^)@f^uxNg`hwPYua0oYVjR@xkG+1WYPax;sNg3ihmLi1 zD$jTHY(#|`CvE!G?js60h90`u&K+h_`>=>Oy*Y6A7!ygGR((AYVQv@K*w|^&t6hVt zIu5Wd1_q4Dg|(PzVDXV-4lL2H%XvVO!lbGK>%k_dRTGV>lWjzj^}vcu&Ib+G zP2PgM?2tL7%Jchft_K{v}R1l)8vp0`2K{G!cOr$MwFD~}| zXEL!IMBb;86N8B{-`TGMVNEESluEKftI)Vfxrc8>RhPoIibGr60QmMQk%nmu(&tF- z-n$QXy|40c+viY1#mv7w`{^w`>v8okmtN9oNtW}kNmB6($bMHVPKdSMe zfsG(U^=B`?^zwQ9BuX%_SX156nG^uA=6ST{vSpCA)0*Vd~p= z>T{eh2vy{KVp#L*8wPI0g_~3(8Lxi-vk~#XJj$!clJwEL2fx)V4TaS$3=42^mk7R( z7SqEdW#i1WS}wjpq%K5lGlz0>=TjyW!!h>g(G0d6y7)2Eu3eK#5uuu0B@tDRNiEG> zd{7_L!CHG`Qb&17qf9Man|jxC_o;gm8)wr3v*TalbIP zQiz6!O+~&{Q+2|uoeKL9C0C&tWiv)*27v8}nXJIy1Q|%G{l2O>=>?=NmYsL>!I5k; zN{UjZ7`>qCi zbRDveiAl^@<$;^g)m!!NU>lUD0GkAJi&PG>B&Jt`q{vN=40%i^E_x2z<7XIet2l+!DZ?ycwM?=YoTjaJk8uS z`d39=eGFC(_0@RfiZqh1u#?uxn6;1D*rMTrA6vAsXz!YqI$pu7#RlD?o+gl42omq< z&=r1DFGRbQO`BSI-E=wh%yXpWFSqiF!;Ln0M{k^rs%C#a6XZ{tp!rLbzgFBcq4%!a z@O8@1DH-!`R3iyoo@oU}F_yUT&6}L*4OhCPUUJ7BFkeF^atl@5F(aAG^LHf%}Za4TH~W+!G7g>$*25usad(aw~OEX z_+E{T(JD76D#x~plyt$m-4yaubuRowPKmeGv>2YM+C|=RWk$RF$D|>Tn6sy>h;p^=1;}c!0yIXD zWw^NM!&`J5#9QJ`Q3`g|%}lb#dg!p$Hbg(jLSsYfvZQkT`8ZQs?p#d-}eqiVAKFz($f{)ZQk&G;LkNbiqsDU_$>ome)Q%--BMp@#y17t3VAJ; z(DkyX44m+rZR01Kbj zn(O^<09O;Cmc=R@X)2Zewl{G_mU~kC3_%xKF3sbWOhNT zgcSRm#8a00kBak7-Cx(Us=TW~KLCBbBDx3xC8Drg0)hOIyw*H0)3{cygDy(U%Kf11 zH13=LtZ6|e%lO;tbXo?MZ9XV4n|SA5sjzggO3#|t5&Wy?ZpW+#s4i+wD_m+bXj)^vP5) zLjj#_`j=0@Ywra20nK~ z29kSL(VkVU2{}IUuAOMdwzl*GYiqr=meO7H0gq7eTzRQ+_sZme?%%&p?Zactu{A@z zi$@Z^eO!2jLxv<|>?v>37xEb1NVYVw`knJB=NUx!#R7S(q{# z)P~W@dG$dOD-CWD*YN(XNUe#eR2FmK^V@kt>fGuU$IvSZU%YbKVWT!8EbFw1=QmG+ zXIgKrF{)3ji?I3+E4jYoh%@;8tfgxTTlvZRmOH|q_oW;y(|wHFACZdcqGs8$6h4ZH z`i_z1x`_nDiL#~y#n};>Ab$2jr z$__)V{Dn^m{Q7pDm6yi}_D{VlkTns@wekpV1J5wzVoT`?azOM{H(}Bti)eDnBUhmk zqdna!p9c+6SUJy1VH29Rs&|K3{OVp8f&-&#qWk;;rDRYEAz14tm0&Z%g-19O3883m zT2+);!-uvGCMq}mBo*Z}{F)~%1ny;yIo9#m>W%qO(H1w&c$BpKflfeMK@IH74ng&< z#z6CQtMH){CZSjKTv*?0nP=AAIjb_6J6cj&GgG1UmbWlQDn|q|3`Ir$Jc2)=P7gx@xLX(nzAH-TazP(A&ybt z3x0c>U<1>Z!?BT|)EGra-lfx}Ic0M2dhJ=er%d8sj{n%uU*+CL8zO-pdA3dRM&uTR zAcN*Rg*mGE?*~NpkZ6zSlv5y?VieN#<&r6wqMI<^fV5e1sytpFsB3zgC~H()O|D8f z<>9dPkgf-F+4=+(LH9_CFC04j5Y6S?a=K5aI6?c4D@*$(nM4|~v`=#R=&l}t4`RoD z7BpPe{AwafH_hSa?wdk9N?v(vbF;%Ij{BR+Wm&BQThc=2Q6MPW@%?>sm%zO^+H=)d zBKjKZ)sqSF&B&?Lfzs0Q2k8xjvZ56~1{_nx^J$yW)l20c@WL zfaHpOiL;i%@>{DIfLSP|t!3t1vE5zF_nhk=RUPJR#$y?9EI?^dN$p1~BwN#36_DoC z)q5Q$qpk*g50Nxc6Su<%Yn=ye?Zs}UgSqX*0p$x@x1{|}G_<90C1QkuNwr z!3VVO`Lvr|)TAo|T&n1hc+tRZ`@N^8{dtu@g2}8|u5jd|XP=6Taz(9FyAyV)V);j9;G*=-JV3=zl6flm$56=cFqv38u8uHKugeA2 zKT|>PYx^VE0LKhK3EEdZM@a9XT9S>U#c z?nLa;M884BDK5CG6*FFB{x`-81gr9-m7X5~ZZ0t_!D6C64uh2T1rS$4uKYk2j_M=Z#;jNRnE#Y+AN8i8G-erug!0z4wLlj>o#fU?W8)s zLSJ_SJRkhleyGi0u0H0u*Rdf!y`*1d;agVx=IGvX!-07VvAdTN)-4VchJTgHnea5t z8Z0Aq%8GsYQQyuG>nE+`^1$!wsr_C5P}+q?!<1P}2NJoW13ZNy(`it3Xs_%Bd5lhW z{N!4WQ<7gEe`1qhWg;l2J7sbBhxdU(r4nk-PhOzqC+cq~#>}|BhuI&-YLhd8CcVFT`(q=zVlp%#EwV%KIw6DpwhM-Mn@j9^r1xqZ}pD z`=vima19s`8Ddb}rslVMGoV)>myrQg9vs6Y0R?-%{J2jvP@$vH4VH1sX|vV-rYU91 zOHV>*if!K2-hH)yJn^jONB7vrrx9^ZYGp{cVXkm;A!2s9tu$n05TSIC3xpMWe8jdE%^d-4o2K!?zs!A6sr5U0m}a820J1qqM6rO9 zN)`eCJWRvxXO%ZuJalM;<(Kz-fPVIo{o>c!9n|Dj{q}EYK*f9qXoJViUi5YYdqZVBDwJS+M_X;NLa&kTOuonIK+`Jgm7m)SJa zT(8>QUo60EgaL#{Fuk<1z=nmd(V|D>hG^T@rI%%2)x(W@;HA{}T0-QQgRoDd@FCxv}$oNR1^n0Kak zDF!n{u}fux{T69cN#Q?UM!5 z4~Kerj9!T|^LfZLL^;)evpK4*&|lM}?(O~pZb2%L{eWk8Cr{u)9h-`9zjsytsFG!Z z3w&z1mp;j6D(HDF@N+M|x|p@)Ba8X?IbS$U{i7;-ExRG^yjMQ4Mm~t0<_sq-dpIJy z2om;K3kxgk>|^D~yjO$gfScQ2YzxM{Hkt`?`lNgdlF5gLDaF%sDU8_$PoX$_^^mof z3Skv-v>-~mMoXfi)n#lTwM$ECqf)nb)6~`~Pu;p+ZmL|dWofnmekos4v3Ni~!Ulbr zekU}gyNf5-doKZHRjCophaV7%qu2wDN4P))KSWP=l}nG@Lae#p;i8BCmX|eN=Lr7T zASG_T{^(ngE`Rz+h9$b_B{;gsQb4${Ip^nKqE?>!$p@wF|s{qR6}N*PgW*5c7}f0fceVn-EMoUnh`d zG0yERro7{b#fjEG%Hk75n=Ys1WF9^?A-ebkn{l@X%+z(0=->k}hr-oN{vFMv-JZ>~ ze1Bmtgh-@Q^7@``u~h{1oRZpUXXe=2eP75wD#nr0qkC@(9Y=h94`}lS-a06YFIR{@ zp&;m*g<^)&E@J%Kz8E{{ymn--Ymm@Iofu;0RryY@JGwUs+wM!w7X&6v?E5`-B&4{G zKA#W&cvbrfOJ4nrv&cNAd$tuDErPwyuJ?kiQc+_~!r`YA?!ZXZzAI4<^<(B1m|js- zx1}F>K~3KUOufJPRB{jG`X>%yzgZl)tfIFHG%*I1lnpCeJPh`zraqla#zSUf`1-G# zkZh*GKUQ2w_oFZdbATLANaPY?36S{(laRk^E_cXU963s^as1ThFF1jY%3c>*sTT3+ zxSFyLji#O3^F9Q)lfx>?d=yQyI8JW_Hj2I60fiGG#j<&@ZI)&d&Z8Lh7@&7@3@6clbwDaH3cvhVJz`d0S}t*l+HW(4@8AZ$6-Z zo>H91Tk2NK_Q$PRgs073SHkGa_uzo;Ez$t{fWtsZeRE2F7p-#9-|daHFL97SNM^ngqyq!D;Df+49GJRa*fjwnh1z)=Rw299L zeo9Z)X2Pw0vQeyslZ=`$4GfDx_ zBZ8O%hanLGfue`3Wl&W&ubE1i_3vPf1@qc z+q1fyT!VKXN?Vblan<6(?@fcJ3bhvPVy!67ne0}a+kuUbDHtA(3Fu#TG0y>jz-B?k zSKZF>IIbH66Ex9Cdt-C#uW5%$`p{8@SEts`1W!TuN6MqpeNgLBOen6gxAlP^)jo=i zpYY7raG}w6@h`VoIPK$c#9AH#Rz3Ef)u-#i#tn>O!a-&}* z5@wNY(fuzk!eJTN0d;xDf`jbI!HlJDVi#F=RT=A_C3WtUTn*c^ddw1bG?BdcxHvP9 z;cl5Alhn5=(HS4-^ZRorZ%jXz*6EXCJ~oe>A`saGSwkoDnA)T*;_Sll(|=S&1~vOn zqEqo@U`!M97nj3rgc^va=Q8g2Rz$LHUT&S}KdSoXI%k=-o7XdvTM`ci7^G+-=e0Lx z{iJzsxb}Qn3zV(T>7GxYS7rXLlHq)cpMN@sT=^wvnSHJP8uA;0i(~jV?QC0Fp?ykZ z&qH4kgiJ=pj`5p<|F{&Gj3JU&URAi2j)flVRn(H@g?RjJrKTMt6VQohwhEGmOy{Uh@59iwOUH?{yOsryG@+#i>^n!lEO{? zygUJ{(OJ=Bhfbe~QyJU%yB;G0!KQzS(K6Mzm~O?J z`8w$Bqu8Bx@$vd2_@=Ghg%}Fpy=+MCA&HX&BMO3I_>-Nh#@f=e;b=~SDZL!i6$r%n zc-iR%;P(pO$OJ~e1VPeBX@iP+_+8C^c3DPSjpplIum9GnsCHin%y&uFPiwuqo5+>L z#ggNgZZ8;EmE*s@viyC9n_sk=SkYCO?_X>7sUIbdq%PBarJH30h?Llt+xxzBZcB86 z6StV-{B!pMCNGK(aV_J7En&$c$giLvTMI3J|FN1)LF}sDa5f;J7R831P^CxLU6!S^ zJ$eHXDk;0)+gRyQ%$0HF`=-?npc>R9E)A=-tm*UVTiBeVI= zCp$CM(lRf#Ev-~4(ye+quj;YO5ylHtRu^K5@&e<6_ac$5zp@`cdKte(L-RcSMR!>V za$o*dI;y~Y&&HZCZecYuJtgsHU_e&a%TK6-NuM`-;Y9lScrmx2YmwWc==OSDW9FfJ z$v37RITY?Xs~4i$!(NEs`zNqcIIy9JqM<{K*0GykgP@=t{QICfeOs&f-mREc#*Q-+ zJYi-LW;2Vxan<`i>yQ~@24vCIe8lY z<`wXWzn^h)&PV9t!TbK3hyVuhHr!7q9Jjc55xHfqW&cYPA-zMU_TYNTZ(X)o9L>~% zp~oSE_hQoy`90$fJ=^6TErO`rJD^h$j90C^^7+(t|QnyFnCDBBv}8~P~%wJ ztm3QLuaO7}mo)Z%(xeJ)^>!yybpj5ZQD4h818TvN|`Q^r3&#ol(#cvtW zKQTXz`nw@e*V&wrou!XbEp62c)uEUdG|!7VFZn?U#Q>L*Kr<`lRBFb!Ukh2o4pCpK zEn_Q-Sz@^j6-jq30&JZR9SFuu zI~`P_-9-Y3|5t{aVPSz>VB)Qa7<)ToUp)Xa)AgdbZrB26xu)2=(2&_<@Qyd;UECcB ztKV$=@4S}h0Rp?4l&RTa%12=!Q@{Rr2JT2)+zQGjHLhFxuke~=dxpnKid=e9JE<$u zxg`N`Kh%|qU0zX2lgslHj&5y6NQ&8a#5S%nS3L}m%m0+nA<{Pig)*+>0*9HzKds33 z#8bf@6oO^a!!@l^3I*{weD|^KhC5xX#jPUD+q+PE??=@gV%H-quToC!kiLwxZuhGQ zddU}<2VCC5W$CwSrNVY94$e86^7{>ovR7?xhvWTJQdVQki}EOM{S-wF!rcBFJly+_ zD*u0S&_eJrg*7ulX`zoU4tC)D%U?NQTsIcq=($LtCYHK8w*;m$o0Ba_)0=?hxd*|f zNe-#upT;NkohR;uJ~j;(AB(qDI$6j4qe__6FXvfWu{hr*177+-2kgV^Pe)^f$jvu2 zxB>*~g}#6RPGhf>`!Et(FIpZCd@m9yTkPmWR?g17k}FmJ^WoODA)nGQ4dWP_(xOlT zyIZAzD+|8gvq4hH>zd{d-6;Tu%eZ;0?2qV5TjK$&Y#C$y^Bc*v!d>Ql8z(%gG0O+$ ziRX|p*KNBbboY7%ZlHNaqgG2n`nH40or^Vtm_eN&KzxY)>KRe$Sk_ z6hXs;aGKByL^ zWmS4(m_Wf?@i|z0oR|J8vbK6uI`Y_(L><>;pdzE6|B3D|T39xJ#BJW?+?eV&h?Lh7 z2LN$B$*&xr{>eXntQQQa@C3xi9)^sg%!7+#1=-|UPy1g&KRFNS12~2bV#|(lMvo^S zDpFYx31d#CMP=pE9nv`t#kGSgcs5AFc z(YNAp?L}q}nOwsccr;-PCR6o%GgVN}pz4=K{G}WgbLWuzXyn4c?Z)zZRAdGK`o?Un z_vvcI{sdTbKtk)yee%!>Qmhz3yqJ?t)j7`LF6na|%E-uEela1i=G8>=AXMZ1+>(OA zaP3I#x21uJO}-}a&K?=TX;hI;#Nyw3RChT$pI%GzZqAM%8zo}j&53*}i@Ezf{@F7% ztp-FK)c1V5(*8`NNzU=nOWx{-4fUv$Q0As80@%bwgf}@vy6An~yu?%51lT2L%;!($ z{Je8;9jeq^uFFxtsQhwGa>Idj3xkfULlVRL-;I+R0$CQlaVrViNylv*<-ti2de(|E zSst*K(!zcN^UHK+g&??oCh~@&_iz=+8V#CL88z$d^e?FgKwG4|* zUL!wxUP7II4;Qz&eZJ4oFw(YU<$TV{l8STK17o_yIzj7fDstaaYbLGWo$ru&xyy(= zFo6imd}M}q`utQe)PKH9CIfrFN@hk=?W<>yuz@BS<8@o_*s{p9$g&A-*o0ib%84US zMIgRar7hP%Rjv~_x*d;(J%H-?cI?)qP+%hpK>K=EvalKaUjyt+d?imYnuDi$tuq6i zJ#l4u=r-+hHR2iVUKUZ|Tx^I!6d^6TwNl(Ln>~P`n#xD3TMri#+1aHe6xhGJ2N+hT zHdR9D)wtAdfk6=wU)Ud6;=#^%fxNY;fw4>+L)cFjbpHhB9dQXW8Anfa;?U4a^M|$% z?gCD3KF4*2kNoCned_(4P~@{?NfL+|dAvHe>nFWC)=}t~8GNzjv%g6}zKVSh)?B!V zligF1p=20?&r@e8n7l1p)>;)8dV7Th&H01roL1a~P2+^JKpi?dL7=riz&<0HKgxQ- zhQB3q@6Tby3%Fc_xIm)FD`j} z_FETpcjyEtEz>|_iX)E7R=jY_wy*r*GJVRWiBjn&(^CX^uJZK5R-w=5I?6U>isj{{ z2={xQxoM^aaz2qBR_Oi^^h8P)xrM zR_!af=n=Nh2L?9;q1zHMwyPUUNgMBddyah=vrkn?Yd{=Lh4^u;@{AXPOXm<~Y%y9DfgPNiAYoG(J$PnTqCKnBHOOL?JJwa91GWT~>o(^&c*iHLbI4T< z-Z!p{FIKZaoFEDk^ff%b3z%wtN-r=?%+fI^qkVUtwA~U$zh!qT^WuSJG=C7r&brV? zY=rjOESrIrGPn#O$oGvrQL+-R+@AR$V&@`qpikW8#mnx8*gmHcfZ^+nF1#dQ!EiFDU!qU@0x&p|Mxu2Mt3ZvR`r1@iDa$Xd!3N3OxQi!dkW z+%ruI=qpx=^Y}DrT8p=KZ-4t8e+mAgcn~kq?4QJ8G#8Nb_?}>-lu>vxzKApG{`G znpeHfD^7hc6F-L${4AkuL#9?IX9o5L4V#S_dro5-bqg$=8rd)d!|4!c1S+$8=Aob~ ziV;`I87>gOD8(`&=k;`FI}c-Zv3|$C;o2CjO^If^$vA&f|Ay3fi2{-n=_z++lz$ZB z^t8En0*|kl3WdWWmhw4aI>|#N#kb;hq?Oi3Ojsi3&?x`ng-or{$hkd@FJ;(b4-)$}9YYWX}jzlY!-+1-0l(7~6`VcK{r zo=*QJvuLsQ0?}A%&OtVeQ#{MA(R`dcFnm}(il|_sh_dKso10;5W2Lj7#7Wzu&Gw9= zc>)sQ6zl+~#Flhfy&0;nLb2KMwFEi>}Zfxx{hHZVFRjehWNEoZG+t?flWP zLif57e2-_tPb;r)>AY~^qJ-k(&&c>0891IRxw7GQb=BbEe-j-jSE)rikyaYfJrXx^ zq{hUe@pS3Q^VK9a3H=HV8&Db# z;Doua)_P|s8-2hX`ev0v#GdTRip9P<%C@j#8=rdR_a%<=Cf=)FGijb+J2E`1JO4B7 zfeoKMm`m=gHrw*c_xhk<+y$!uh2mD>P#xO|MCRWQNN7lgz7?<5UTzP+991$6sa~4s zoF47~_{|4~ptn%D-&@5OTAPce%#c{8p5%dqr{UtO=V@JUYq$EqeI$*N2M$l&=PG9I zh@+{yfiQ!w03Z96{A<|c+=?WbZ7ffN+rrG=O3yZGv?tCs2r4cqzA^k|^?wlimi9rP zO=)=A-^2fBrjZNoeVBJB((sRpce<_WT>zf%3Y%l?up9;mc6ChEv+-eCkjWV#=W_N3 z9DqaS<5^k?nqowuuV}xLsA6~nH{=viJkbe-`P;;9RSyUO-sU!wRF8XTvQ3T7{ay7wK|n^JI0IT zIKGwovm`rsuX%lTFCP`@BRYCNEh={ZlrSTPw|ez zU)_X<)Lm-xKp^0$obiik{EpW1vl0Zt9B;&Q7eA`-FmQBsEzW@^n6F{bn>ioEKwT>4AYg?tG~=js+9c-a?J^eaX9)%BX1xbw(M3RP-=U z19?X7_gB1G-#KHvJ5B1M=IJ`U)@K&BdDmHbx-Q1RrFTvw3sW=ug=sk9L0jIGa>MBB z8UozBG# zw(z2t8##oxd$dm&i|gzfGjfO%EA9YB8WFEul*(Jc=Hd+-mpTW5!dd)4Wu+XhodZq4 zc*3eLGGBv&@VwSWz|b|38O+x8nEZe)T*TX`Bqs9W86{(<9=_03{KXl5xit*ts_R2M z$j`nAMa9CydRaV-EjtgXcZa7YSWr11dR-1blGZG59cFbp_fUw(F zp`LtW(lH;5&c4tzwVu>`)YZ>l7~?~0SI#Iyo-kc)KyX%HemtE>t**T=y7MMCe;S@j zr`NguB)lGQ!&rNNl4xmTIS7J7xu*(8ppk2M6XZssP(4aBRlbsTJLy-X$^)#u9V3Hy z*XPxLRNJc*zG0JD7Wy3L#S-7xh|Y)(0ZgkiU9DJMShDHxXY-G0lr0Ey*=TXoK}x5F z_!XF^+W({Kpu@#pO_TgXGOZBfyb_9?kxh(2Ex%R0(@qX7L_Blnx_OWMsn&-XnIFQ* z)Y;d^9@%XtPWFw~h-p)02Xfx4s|%IsVS4@P#oK3t*NLY}6qZipv;{awG!7D{4K(Lw zkLzF8SFMnUm6cev)NS;f%8xOJdIV}(O}5UssByA&A6}=g<$n;M!q8=#i#e1oV|DYX)S=8Mog^D(vZ(Kqpo;!l@p~mwo-ziK zmlbow=PqLF`JKY*cVf)UPoqub_}h#7Tu}=rAy{@AHMmDwtDD+!cBST;mOg)*rqCc~ z)TC~S0QjNOJ#U#PRk#^(0n2vu{XNkX43M0jRfr3gpu@jha*95XMb23>8EB_dzBI@$ zCJe7K27%n5L!v(km-~h3#p`uz_fU^p@>|i3q-6C(DzK$g5+PG5L@2^j=JGUI$cy3= zlbMJGUu>6is*}oEtnfPu>|YDz3`0JAD>-@e<1qwc#60w-_|-Yj!uIw;r}t-$8JLf$ zE(Dp=)Musgk4iRedle)8cC4L0F*U5P`Z<=0nMoA(m3uSaz^w-qIG|l<@92~)-k_K{ zTR=f-e+E)Yme*!}n9XLy=c)15fnfsQRJZOOCCy}ys1FhYfV=Y#<%f9U2mSZczOC2c zRMz;QbGBk>#ElaheF}n*=u!EEu`s}CaFHxyxZgwn|8b^C_1cZX#3$fcT1goXCK{*f zUX7m!aB#0L>pIVv-jT#uc6Xlodfw5(B%e1N&6>U%5fwmydGTHq7{HOPE|(8109){S zomzn_&nRNN$Dz_cWmk*P zrEL#GyfSl{=t`f{u0s5>*mCNYB#+E5#Ug2}T;skRngdo$-&i(A3)e@CR_tM=1KBfA zFQ#I}-xi5Rc53)nNoU}~k^&Up%apA<+Y{sq@TMlIhkWx~`LLm53{4uwHBiNl=?X59 zIIss*gnm@^_gkf9QC6IOH0{(pHmgyjN@q)Jb*yqnP*HnT|7OX7+ilS93Gud)C~M&sC#jYBJ(>RO>Z>@x=cUut)4}_1ZKTBnh5r5p58i*6)6fNJ)IUR6OJ+;n;2CR zTGX1noh49+Bm894ANH_^3Wi07M(%w5eh@rdQ71KN+F_O+mK@y6-EN?tb3CZmIheO) zGuEhLNs-DdCE2V@zV=wndwA0??ungJzb zlu3Xr z06biBhmmETA?DT_9>*K6oO_n5cKRWJ18`XPES1nNv*mZ=DF|Oh4w74faS=hM$71wp4&&I;J#8Kux6a5J#>0c zDCzfljOnxW7`2RC%Tx)q!KHhii8m}sFpqY{%#{Yt#)cb^9mw+imS?aH?&q!gur*qt zIL0Z1t{B`%%P97!s251uB*Ab~)z&jo&3|UHtAKvL$6MHNYBsxyxVinDKtOe1=0}_R z1Bs=$3aVn`I{- z7=QIL8F49c!Ek5&nfG+8%GqK;nVP=VunTfI7Rh8={?HTJtlj17OC+28qjE@XQpQ(# z=oGj_sZM(@UVG)nQ?SaVpbEAg3ZzYOx-gL*{j%c_w}=${-Y<>$vr=oWl5e=4mEm;d zH23h<&Wc6?Q+TX4ve5DCoB^P}x?FNEsVXo@+#shMtH#*CImsy9No~iS1L=Lk~ z^9C%e(zGU_byvAYgKa(4G&K~7*tzT9@=!I<$P7Jr!wfl}{kp+?D+RB)x%JYORKSs? z=w{7gX>P@;dNWdN4(qt$BdqmsqAz3iq5llvMAvKTJv?P@0d)3s*e8hMF`qE9O6vK= zpIr@+{Z4XEOKX};)m(qGey6;-me3%mzFENZHBvC{4uh1tE9?W+++X7w&A&$O*A7pq=pW}mn@$T$_A=8%Q~->E zeBeM0rb$Q+)5VQhpbE>Y9VYImF1UflQv zYk7JLgJI@<`Xa?~#=aK!^EM5rO;?5ca*Tt~HLEd?N}z=to`i)dcRX@huv-u2zP)n| zZ4$J{qGu#8^u#2oPurs{XU6q#zmkx}-j|zlc+i&jWG7|icKRPT!C^<#m^N5!i_zF& z5&qsB-sdO6S6>VN=pNsM#ylMONA=A#k~~RrVo^LG_zjBQfh>=)I&aCHhHhP7+Q#y~ z>^#s%+|ZBfnYMe+zQLlAtA8OH{CJsTc>^z3tw{-HBP zmK{Kjk*vpt;^P0W*vDoAcmb@GP$k@9p2EkD)`X=?Ycf+#0hjlPdwm=pHal70{G~r5 zmUhus)Tq^8(Qb0yarAHdVR^@Dtl|a5zNwYo#x?sbiyp1z6SpTFVip9SX^~i+{+pfzYJIF>)-jXEFOb_$$3U= z{l8-&`sL8ZDeFI%R>5%ohPd!h8LIABYlAhvy3_!6b@G2EwpqQSR1HA@)EvT&tHwyi(YyeEc@)=R48 zqWRbFxQ}KJ%%dg8+mHGjBzs=Gi2Q~Vd6IS^sT~W{N(g=z9*7A(h9I9|9;N{=h zO$2r#kg>Eb(@6PdnDB>|z{20fogDt@jkg|`%X2rnSXmq~v&)hrgSfDQTDAMu`PEll>9mLr z{*wK@gr45`D=QV4`0Og+lJV1s(E3T`p`RpDVYw(@mSX99OfcC)XWT>=9g;q#So-T* zMNE#g$D}V^XqCuyJL0Lg^|V<}Y#kWz`RO7252REU-TA`zkNhG`p$?WU<^vEOjZQ{U zrmQaQzc7R!i4`9 zzZOH1$S$#LPg3Rm3G-;pf6J);zpJhn%}*<~fTKVHkQN7;YjX!8(bq5AfVw}tsiZsL z2g{$T0N!=B0{4Nz$EvUAa|2&HhwtUcsRvALc83uV$e_;z%dr({O_#V4g}OhU`s-c_ z=-RcrpgCu*w1K+Gr>@&)%II~_idgZEzh$G(=F0K(s!g=i8QZ~F8X0eHKr(ZdJ2ZXn z0vSYS_R)A0K7m#u>>3iCY^^(~=;f;2xepGX#2mPH&!=IO6zqe{U0Ox*8j1C8-mRz_ zN(W_Xo*rK4bd+`7^FUD7^sV=ySYiECWgSsj>q^4Zs&M!Vz=t2$E%`C3gqtxj_k7?c zj;Bvn3I$W57II;y1Uh|J@eNtdY|Cs^M@zvr+Mw0iwgY$eS~7obh!|E=?YxeV{*DBb zBRA)^ybUZ-61r*fqgQTcsCSh17VzAf9`mU`3S=W~uXH6$pI#3}?aC_lt7e5S6`Zy& zeU=|-JeLn0o3Nx2DYdN-m;7NPnF#Z&Q*MO{%(%poEQ8fnD#zLl9|e^W1O)>QAgYEn zZi;F7Vu1s6UlNlTnd9cd^Tv-&al1z$*2e#L?No#QnXhT;_gdx`bK+6w3}%nq#J=*k z!S$rytN(Nf{PAkhXZmNtoIdqkEnRZ8coFlJ+oyru`fb|1v7Yr}r^=c(v=A~83 zeL4`=(-`Vpw6cVa+4HT=x=hVT74Tc~Q5w}FvkJ0_W~o?r+d#f&ix7whw^6MYERXGNl6n&Co`v5e>esCQ)C*U*H7kF3R37Ezu1xNV1>f)It}hK%y$tsnTgQ0|<{Wn~Pt7e`KG^gf z>s#-os~6^nsI=JGUMzObB1Wq|uRA!fb|B-VI+trk@1109)K6n&Rxb2+$Lg_>4$)}8+{__}OTgy^&;_j`>atNbP#4`f*4Z~8!dCIoCq{6izU;EK;Z8IIQWElv zeQD%y{Oe93>+A>cD)FXPxMV!`Md@2!`qi>wgo?+IY8SVM_1L=zkI;w?~QQHSMxF9ILgq7NYwZ^<^9^) z$oG4&pT&j2NKckDp8n|Jb97~NY-!)F;S8R;79&=({;;3n5P$EOtmIOw7$0I{WcyM| zB8jc-{$E%rM#Z#KkKKLf>pfN~xVN9!x~7`>)(M+ISg*j2W^xq^>)iSFd6MBsi1;$A zZ`ByKe*V9+fD%u2OgC~fgY?Vj8INkpU}IjKV$eb5tF1=(GQ2)4gB2CkQ^))T~k z&M4NkEL@vz^|T=k|K2z~hS~i-yK%KR0weFji+KyYU5?hf>=XQ)@VR*ffwCqMnm zRDkB*C$evcwF|F20klNfj;SSS@0!eU^O?nH*XTLihIInlrxkJPW9Y%Vp}aLX*T11x z%zd(YxkT~{bTpO7j%3msW4H?6;@6^8zTb)iDPMINwVpl+uw>Qgb_JJg#m>~~bw1p| zG?^p;WW0XQ98;`Ix46@D_)X3`#uLP5r}1D?m&!+Ti{MS3W*L2ut+9xUkE6hNBxhf^ zhX)1x)OuSiMy3F@e6?8BJog++RFeRh;$hPLuG+j*rK+Z-thY5obF|^<8eyShHiOoc zlICRbqY|4FdlPmdjrc0hsyMoz=G5+xj`6QH3kx>li9RW31vCw3B2GAOlssGG)DC+I zAEH0A$flyzJmZ?^u@mb}h4xQzWqjUDvm2CTz=q2#{x30lU!3C?Ox|`KN+SghEyP^8 zN!YI(q!b#o^ge=yT;1lN0lF7YpN;MiSnh8Z&?*+ci%u2}>@2eve}6l6XPsMVEN^34 zy{6>WbS5kur%s)Tm2i3R!$+E3rWq$hEN2*r$#!s9dsX0G4MNm|acJ$f&d6{wk~KQ;HDLn!Q_Xx!D{dQ8G`K)3crNZl&62?d(rEOiGV1 zjh{pSUY@$P<=&~*+Tt$?B-lFMhTeH8=|3h9GoFy%;1GFRr7l(?|Puh z8f-fZ;y!ob9(%mS<8&5YU)w8O25y`3sM+T%T!)qi;!dXjrGm46KEz>ynaIk6D z0Uu3MuaeSlUqGa=S^~%-m?Q zwxNWypZI|yn>^u7QoJ0m^HcCuO{+Fa3foORHz{H?%BG^`Wh$tY z)#(IU+_}S72jwa&r+@CSzle0TNYa_OR&--ZUw@sVExXYXVq{bz*>|ECedCC6tWi_* z7@a&Q*}o}*@U^m{pA_MfUdl%J1w?03ho8zy2u|^Or|iY*)&9H5wauL-I_rRoqHNeO zwZ@^PB1pl!7;()hN%ZUdt>vb-o)6Qs<4AR?>s`RPhgoxtdiD(ZeAy9$r!CN&t>&D5 z+-iZ}mOt3!*=h6 ze$L)eCFLMm;7D4t*5?Zp9pkZAp0JxV_QU7%r0=0x9LA->IXV2$g73EU3c9E__u*Ok zVVSLmet96w=+GkGp&5(oG7(*Z*qG<5c!0ZGN1`NEXU2fgB)pB*(|ka5E9L7mzn9`CRSI1z+~Lof!-r@Lp$| zxR62fLX;9K=^{}1Ra)lIg(AK23UFY@985qRCY_`3(%TH%SXuY}_fpXISg1cu-J@|o z&U`nIOk3=fur8P6oAB!Gs%Zdr914)B{2>bm-Ia9Qis-XzM0&H>H%?2qlaLu78!`ML zsjBoeXxM0q;8$yu{WK??GfKC~c<$Fea_opkgmT9It&M2D*(+9+&}5I7=FqQ`F$@zYW4kV7b66v*~y0(CM}{ftMf8Z_?R*B z!xVuoL$CC$LOs@P{y-p%Er~W|C29!Z3Jt!uuiiDnH#=g4OzZPfU9-=2!tHR;zXGF5 zPq6M@JXX-j$AU(xOb=?B4JlO_q_7$zka*9ey2`Fv)SVDoXFQz;BMdJz#r;mPT5!U{ zBeJ5_veYWitHA4A6EIlkLbmCscxIa!Z~1uSENKyP-fX>EzG02nKg+JiJ=Z)e#t#F8 zV_1_+-fd<%{f7(aMM_u{yMQE-&8YaI`D<-juj)cY?L%8nwdoKjFLkMN&%_L4Ium6k zg2Fkz6!2M-WEh=2PA}@-ZA7<+6;xtWd;501@Xpzh4{3gJJ(81mM@VJ71>_^1zA+AdB2}1+RO*u9CkH#wN%vnz)Dbr&h)<9qP>SWvbxlC>_+X!M}B!E0sTh#R#yGx^B^HZkP!_lcY5;%jX{J| zMB|SE{|{OcgEyvtcUZ=JVi5^_8y%t;wHZhzH|4gK*tvRz(JjqS75-}rAFy#qoKW%YM$XjI6SV{2k=HM*ZRk`@}8 zO|!gIv(FRN^AxQZq(Y{EW{3D!Tfg?$e?w84-RkUENzBsxi=Wz_K_|BfU8SV%b(H^HHo`Wa5zV1g)2Y z2%4J95!)_(Z#5bE`mp|10-l9dmL_HgPE%L;qm-=6VDb(A;Tb#zwB1syS;lI3CUi7c z>uD1ST05Z^UcI0yM0$6bO~#nICHO6UkMXpS#|O^B^uPIM`#h4eG_-j}msW1sN8(P?Dy&XQa^d^S_hqP4yB-gZH zo!p|RJE2%zy=q8kw98UR!)V;brD+lJd6Q{96r&Dh+&pn2VGDU`Qunh}X6&HFWoBT< zHD34+33Wk$_2{v2(v;{4SF~)1uvx_2cy=F~g}XLvMHCAVliajM5UdK!9CT=&7f_up zWSN-uq<7oI&pEa(01{2LA1k);vE^|5>9ix_&{5QVxY!C=Iu%Xt7p6N5xa`7}@_KJmwhUl&IqsGZ@I|s1)|MVIlTrF}QfVPvAt5d!c zsXhMt>7({PT7E|)`oMy3FWnfyS88b|M#^G8MewLy-u|@BJm3nJ*ED@<EgHgGLGOvn7&PY|P$eu})0 z%pS+57L{)w)N4x1*2`jkIRv*x@qRxnNQe3am@e>?<{fw6e_Af9!ff(x5#=$?gF3ev zVSK440)F%m4%dDj{^B3_-N#NP#^7IagvO5-`8S^*4dpW?;z}tH;SAI3YUPQpoHNK~ zh(+O*cO`F&ZSRiFINo-d^jp zM(p_tXUP?u3*DMJ6A_)6CFT5rw8ITA7K6*9#U2NzN)>PC4H!{p)eHxauuj{usO5V#c_urqF>8q~ za(B4FnY)_2hz`0Msd0Q_v??t4m-zle@pBqcjY-YB;DQbNe(sv2MH^#xlDc7rYR1f% zLd35rjdAq{zbTFQ$dg{FP;Z+1^_nDG`x@EyVeDK1mT6fzZPS{j1|zh4Mk$4#!&Bg) zVV`t|ixnh4|9!OIgF7-rftniJ8_FSKl%zu|>aIccY5kc8Q>c}vS4O5*c8L5WR}ATG zfNn{B_-C2*4UX(Y54u&L#3rWsgdRIEdq|Tp30K9FdpfRss2=0UO*CwnveI1-`a()+Q+#=J(AN}RJio^EZ4=?j)+{=I z!#^h76zH(Sun?12z5RzI+FwaqpI5-%OLW8_@lH_=HRPlooApD2)wWT&7c5yEsk>*3 zFs@?MEc5LaVF~UsGFIQSK$x9MeYf$|$eLBo_g?8qa?Z28wk8sPAL$@Zf-ewsHDS5vsmV%ts#baZkNPatDJXjNE&?&vYoR9Xmh+? zv13fnfF287N&H*X*1x3!DoT2~Nj5h}>y&O%)l?!#{(3qL;!eLf`Sygr1S0jt-7ueQ#Vg>z*euUAe;p-=88b#6*=B^8wI@b@Y2-2>>GTTR9}nNrDh zBQ#rFz2$W>xz&R0rsgW2+j!>TYfnek3-?@N2*J8i&lEBA5+ln7=T3LHIr{jz+y{#1 z;S@c?&8_fJ1LSQY(Qet$#HIRY%<48o{OAsbXd!PEbt!k6iSD!G0t4&{5If7t~vixTj%glg`ES9=5$VkRBt}IhgF%S>plJ z&S*V-z-oa|0LHkW_wt2nWBCz#agugxpo1Ow#WF!hxxGh9HI+Y~D4Nmp_B8#d3Bmeq zO`89+3xP?1g=YK$4Rp9n64=^TJL$^SBz>QZ24wtiyWzk7$Ln6^)ee>58FF(d57@B2 z#qZ*#e*Vzx9}>fx`i*@zW?!I5N2LNjwe+hCM;E7@az>29L>(iL7<;e74nHQwh#?Qd zl$o8%8rWHY*VQsjEkWHvhN8RHV z$$A$4o9okuTT~42qT=;m$Y23(XZsJ@MgQLN*Se3GUO;;?J_J1G$jEQk)RtzQ%UX7G zxh&f`w)?mDhalX#Qx}{9w!c#=aNfoU$_2F0j;% z&w~akQE>K#9`C|;q;DWMXXbeJ5&rd;1FB<_XC6lw)=t?EoZ&~9%+P<@RQ#*OCnoT| z8we3Fsg{xh=(aVBeSRI&>#U)xCtgk$67(7X8+6Qgqej$>3x<1qvz)SW%|CA1eS4La zV1J~lxwTT@5Iw_7TFf4hY#-H!VV5ZB8G})?P&GIHa|Mglwh=uU zp0vq2J!W%7g*w&FF``Q3xEC1q={G!-kfWzUFk+lz{6jJY!qgL9Uzuy<|LnlPo}{$@ zA$jNl5+8Xifj-y~G3z!I|1>Ynck==M_Z`kn>N}Eb>k%6F6=$V*pR*Vbh(&hkW!fgcjkb7Se*VGZF*FEQhQ05iq1ncjc3ul~87 zFl8~b@H8GbW5E_2XS`k#T0XJZHv3xU!#1Rdm8?Bf*0afZ7B%VX7t;~C80~&q7<4%h zKa9%`Zd^;9_ZnG^ezkJK=c)WPjv#&%JK+O_oavIE=|?F@eg~&h<+V40$jegea9X+U z+^bX;%?e3|1A8!AKyl3aVVJCnb9&F=Qu6EYsUZ}WjYIZc=%@eaM5458iGe zeD%E|f<3sq>sd>6%362%i|2%+{ER5nEmk*ZYZ)cjD5!J?hq2JPpNe@MN5x!7-gNs?T5kh=7t!az@N|o8Zj$ z2$NFdryePr-VP4gGmq6=m#&mw9*bjtS!BDPF7_-H^jQi@fU*f0iK7Hhr5&01D~K$p zXS;T=PNsk`()HI0y@0;nC~$%J=FU z2p6=7bWaB*NbVInB{ewS_|j^4JHk#nLo}8q`s)tYr~Jd>g$1&hn)2^b{==f_KBh!R zZ4B-R4fU?e?1EZkFQg_eTM7KX?`&`0WaZt?Y*y^qVfAQd&p#9d%_!c5xVh9+{(ji= zEzw$rVFhF7v22rarY~TTp&x+}&ougq^|2)=Z2$(co1u{ty{YEW`q$@V9zdB8MNCX1 zV?eJc|Bcg~fSTq(=}J(hmFX6Ucg%IM?A?Bf>dxEqf_^dh&ha9*&(lsQt*GzgXm=3J zJC4yW0jiXgzR+a+IafDBJFK?11paAk>&bhTWM6g8Y?J0hmd*j}jKD7(hF$Ak(N`TX zNx}4AFN@Z12{7E_`rB8CTJFOkLQ~+~mW!6MGvIpIQi@W5u4H$bkR?(j+T`UQ67Ac6 zIb)i}$Lxsnvb|O}8~19{gKv?OlqwAAVo{$r3-;v57*TLkU0VfYZjrP0$W6 zhhNiCj zX$$QHeQgKeb9|#ozl-CJXCZA(t%R4Gh6&L7DWCM6t``OZXVY}T_*gCCRK6EXlgr6H zD+mmGzW4ZgK`v6ktH)rhpll?0DxNKO>wt!k7DHu+>njtbJuOFtycuH6*r{3^YisIR z8a8EUfBvD5T|xP8cDJJPNol?!Jc7F`@%Tk-sV8%K!pgdm{mxG^16S;$jUDkiV=21c z0{V2wsz2?%@?p0_LcZi> z8GqP~$@@iVt45)DHaVSg#MfByE2Z0~5=dWl|BF)VMPe&7pLHX5-ElWEqG0R9OZdDr z<9&_;KZ9Y}xS=k>b-L@-qt&lN8t#Bwl-4Y)v2PX8PlY5Uz$3s z>~|um^_I(%z4PR4D;;CUb#mHxWs4M~ zEG++DJmCDNYM}i(A|tBkIaNH$ek??h7B|znd&iaKg?Hc^iNFc362?rV7#$*f4`I*n z4u2op?$yMp5;oQ|)AcKr96cs>=D#Zg(qol<80#vpFjks(DDD<_%@hLt5-^OWLVNTc zUv^f4+7nJO>DWexv-CcJxE6r7>cX#vRqbtT0mc@=<+pDLC3S)h{?>fB_*|&wD+}gY zPs;-cQ9HE8aMu^OHnrHhyQ*(pYvOxYus<(jP5Y#4gPSh*vO2%aSY>;Vuda=UKdj?` z7+BA$LGCEfFf|}$yC!;`f&}V}CKvQuHhAACK0L0?+K0XHv8(YnsA4ooJ#KzyaMO+m zIZS}YtP-YiJLa_FhP_|l?rJz%Bbk9ALga(l2AYPA=?C)Q`Oys;FXoPe736u!NiCM1 zuJW*bev}TEF+j^1QQbGQz8Qh@?4)sNedAys##$OVz|;!k9@b=~3=h%`C(83F7(&Mx zo_VyN`D0-c4ZvKkxPE!KFxHcdhj;L(9;Jb{??*@4j|x6g?Ijxo8R0(!sPK|mw@mAE zya@fPi#|*(u>ixMTM$72Rf z_s0!EOja5=HrG#eG^t+pb1Ui4FT%3Dv2zwlUwyQRB21l3j};cY-mK+o!_8tHY}Pi! zT|}toM@e;MVjS6-{e<$kH^Sd=`a~UZg-!MO&8Ch}wZ%`XPBgHgAP3(&kVm&cvA7q% z4TwNd+DVXc$n1D+_5J(jMWHUYkN0<;dVBi8oY`k)mi9G0-Gwf?*%MdF67lDQvJbYt z8OtykKNz;`9p_J}5hnpM-L+ZYDf!5nP_(D!q7tCNXnU!d#n2*PV-hqnEOK0y^1*27 zS`j(3++nAjO3uxprcLCbr{%@U;-W>&`bbQ#BPss|c=goIgo4PcwDIM2aus0ozkW3M zKi>Je1Z85+BgUd=?y*%cs)>gKCUIi zfBjgDIlTdAo@}_NvdRieIYsknYFd^%okl24TG&|#Ov@dIoWHhzd50}@JBNCH7%eZu zlx`Fs^BiLH`v_pjRhI{jFMU_1hBsHY!VpE(kvzBm?pH6(wf!Y81c$owKvb|`$B%`g zkzxVA=UOzWzspk!!IJm5E!CYUnBvui`9TiyqW?s4i8K~Gm9de+^(u?t<`6aGLJdAZgv^)O|o%B z;jQ0OLLia4Wl&{=ud%KntZ4v{vcTOBrJ&D8Ce+-dc&?Z687p{XewM7e-ozML*KeCK zR&ax!G#pwosiwB1OwQI}1ZfouJKh)L3Yp|o*0PH=7#o;bJu3E&i{8=P=Fv9iwSa{C zS$fRzZMU_4-h837@rg8WW`P)_L~#z85+;<6Ie5CP9v%#OI*W{r?oZEX?4PHH&5Q}h zc+$$qABXLL!qvHcJS|V}pUpSv7-OYW1bue{n}e;lcIiB>J>R*#viFCi1Qp&a0lv#D zcW*2=B3RCFrV(X1XH~}I+-04ej0{81E>4-J&n5Ud6s{W!gbhvH_sIOw`m_?G^ov=J zm3xq${p)c(p1tF0pHPOw?QJ>fQ;5&A8lCiZdp7ps_Xj`+*>FJWy+N~oeJ}B!Y6>53 z*;8=3>@6t%6iAEikEYuyVxc`T9-;2M#v$|l?s{&WlW-9LQ`968Q$GT4#w#z&_;+8; z4#s;=HjW*O4tovz0-7pTDRM{X``Hug+HLQe{hRhr~HAmtub%_Lpt4EX4X~RB}_xttd0sJdrwt_MOuJbV|}WyxJv(7!%7p=AH`z zg|xt?R)s)-#8Ed&Mqt@eS+EhcFE7A$Qhhl8*$-_II!E-eN`v6kUFNTsk zn@%^TB$%X*>x0jBOi_D`+tuC!*^{_L;zqzJ3Z*{;R9?Iwi)Sp^%GcvPrYUE?fThg^ z)zZjHf9}2ANR?js^ZM`mNvQi7EPqHo;Yq(#f-agC+hAppY%WNOx{>24A7k2lik#Ew z{tU_JjV8r*hVu|n2tD*-5#11D>C@a(&LY*f|8_RZK7};MX-`-rzvCqI#ut6>1z+Qq zH^_MMqorJUmZRE1n50C{ORh=1 z@X|=*vhge)-}EW0__O2MqanopHj(CQy_cEI_KLg(?OH{f5xS8Vt90LYQzKP+)A|ci z!9YUH&&Crj;$MvQrb-&~KA(C0)r)PVoWr;2Np^^61H#-da-B7;R{VGj(?#cj?q$+X zxc595ck6S{h7lr(_AZ1SuW_tcJ4Ltl;&r)B2A&-19p}XpRejeU-T-yzS++*X`IT z>jq;1&BBnVNkB1E?#?O5&`tf-->r}T?|I+@ERa?m+GpCi0f0Fe43sA{{RMTf&)8Fv zq*pZps^9W@VDpmvI@VKW1cj$N6Vf-~+KY)Z#Iek$Tl<%~?qh=L#~VSq?zQx)$|fnb zeFn>Kt0vy{D7kgjgx7iz`@`P$ImMr{83|>+Z*8U~hME2g* zACm3WLd}WuTPRn0!QDdKWeckI+OlBk{jnpgJXe5oY*QU9Q)G15J1%~T^_?^IHi>p7 z;QHRydBh5O_BgfXAl1i;=|iUh;@LB{?s)tDvbos}w3U=grk{D9iz7`v&kFArt=A&= zN6STnVLzi4rpetj z@+E5ZZ!xeL*lLT%zitnP>Ku-Ts+0dk{AqDCBpk!Fz7_Ghu)bGNPw?hm+bk+uU(W9<1Tm&*=Aj{7wrOc>S!{#lt)JI4|z1_8pE50wV zaCk*n(#UjxCOFZLV|!+{ZV(biVEiCVX3Q2dN(c}Xq-PKhNw*1laLU8G0n5C*`}tb& zJsvodPrs$ZLA_Ck*=0qiXMpqb;dc86pJ#$snm=g05)>7Ds)&rVr<)RH`8sCrL9>!9 zvh7M1IN_55^f6+Zee%UG?IG~;u}DrzY8duzXcpvCb^1B?YM|;Su3}HZTmTrhQUm*V zT`Jl_WF=2}bR9tCORPZ+T?%cI>6zc&@SD{|C0F@nTk`?M{V&(+QZjH}i;E_*b{wys ze0*I5cuh8HW@c`%^t*tAQ$_dP|HLT%|DM4><%9BIzH8>>67;|qxq_2!w&%^b=Ew#~}{*dTzQ-RXXu6j-BYpPRG@;n@;s$B^4`LSd?+UG{gEV^ zb6piES5jhf=S0E}Fy_bYQ!#xty^Sy7_bB?6=Bh38`Xsu?9N{n>@J=~j z_A6{8Z>&VnKfXz9Sw3oZVEyN2cdckaC*s%**GzRvl{ZFp`Qgmxu&Fv-050MlJpsho zN)=R7PLHR}}P%n{B zFWJX%c6{X!pES+OnmuMfrmkAxJgMrr!Na^=*ATwYIj~mm7`IYi<`g#IYRffxy)0vN zR`|=hiH5z$@ceHSdbrU$PoP4R$pvS;P$~LAV9QlLmCb~T5z92pGy=Z2^KQhfvh=U} z&>Ql%7)XPzO*4q!Tz}i!EvW?`DiWH=1 zBBlE2tS+o3D?Xb?*yL?F5A!U3eqb+L##=D{b{_m202#ZF2o=rSj;p zT@hm&Jn=vpnZpFPdFkaB;8{N^9SVV)*l8R#a89j78M_&iZa7I4*U`{?yoIhgmyYtB zkfBYJ$nz1)^V1UFW;E_NuRgJtVd*}G87UQ=-v@Ha&@D184&qowd%;D&|EI<>!=@|Y z`k=#MXBY4_bC>oaoQXwJ$?bGRCnAGe`{$=kKk<GWScf z3%J{30USrhT&y92tS`-wJa89R(>M8Em+>kuZ~8*?ACa)&0e<18{J)fPj7Jz_D(Q?Y zm)nx1P>u{fe@Ob=E&TG-pnE&AZ68AiSB2plm2SQICETxyR)*evR=TIx^dl4f0jQH3 zp4H^1PVShNY$dFx)ITigvJ_x1_&{ZJI^+$ldxSGTE}W_jbJ{K0GE^d(*yp~mf?$4c zv|#d1MQd2HAxxUBPCqTjmq_EYG%k@R5!?^+s;L=Ce)Lk}k+|@&WU!h>#$PGpL527q z_*`U&z?7qe%lHP5nme-2lN1cBp`?~0=Z|jUD}2SRL0MStBR0yKjybg(xqP=z1QG?< z`NfDHiCJAVUCD?OIJ2t)d=&V$yZ_UX=3l&&Q9a)TSSHRYJ$33;Wu(iNo*4~^iWYBk z&G2jGmWt{WJ=u;s$cHlYmCd)?jfZQCq-H+tlkOi+P7j1TR12}b{PDzoxAw_c1x}#r zBY}uXVZ2<(xC17glR};+txVeYCYtxO;L^t%H603iZ<!q>RJpLvpr=pNf zWs8#1vAb$$+nnKcdD3mVavSP>ci#aqE0;9o5zQV)LCpl*065#e%>=OK5pljVLXA_j zx5^IlyOWudznqQbPBV*Sj{0&`*WCzY5AF)049hQLc{Jt|hsm;w(YN*03m-lU)VJo? ze>DYVb&l`u2C{Ns#op~o=ZOYRC229uC96YA1RHkrZH+B6;`@3xd=m%WorNGQl7*yK zo?g=BDy<9wlXSfW-0wvLB)vy<<|a>V3aIXmU9sW{FN0?%gqx1W69cDv^%kEC`pVX@ z-S+hjoFdS+T~+GqMl??J++e0}6{bkq+Y|hD;{VHey$BDl7iu%T;pcFc;_wSXYopHQ zXN#X#AEF9pr^Vr~n$P)^2~ElkL4lU?11QRRPi^GWz@N$g1v35dsQ>@~ literal 0 HcmV?d00001 diff --git a/img/meng.jpg b/img/meng.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16793bf6c980bcc6d02088d729b6284ecad8db04 GIT binary patch literal 104028 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 z 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 z z3SbfsBOn2idFPtdB_(!>wT=BdRn+3Kp2x&mNVI|f0C_#cph*PVPs*z*l2dTo)1m8J zlaDL+PMA*0#1I?JH&eEYPrsTQh(kP)MCj3lKYBSF^~mFC$f~TGijpwq<$4^S#Qy+> zfAErPM_2HKHt(n^tK3;h8S)z|%c=~Bm}KN02>_0@@8$W5P~J zbb4q}@dC{}c6ZA)%4%|-GHZFRHZx>rYpFOa0ppI9>eHzXL)1!~X(^{-?}Y5d_ldOo z%L%1|;zda%niJ+YT#dwo@|Mr=o<~!~aaOHTad3vDQn}~Jyz<=!*=?8 z+W`!kjIxP*$kD&n{KsrX{f8#Jd?ahrsm(1=sbQ)@Zf|6Hz3!u=X;Z!Z%(7l;cEiaU zGsekl^KreH6TMgwg;Bxa;=L)>l;6TdYVE#K^J$v4zo_Zgky$;h<-~tySmC!UtW=$) z(1EiH$!g=3O0b=lho3h%%JI<5xbd0O;!7LAZ%w(8p3Uxjm@�Rs$riNdOaGlqx#( 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'; + } + _this.mobileSelect.querySelector('.wheels').innerHTML = tempHTML; + }, + + addListenerAll: function(){ + var _this = this; + for(var i=0; i<_this.slider.length; i++){ + //手势监听 + (function (i) { + _this.addListenerWheel(_this.wheel[i], i); + _this.addListenerLi(i); + })(i); + } + }, + + addListenerWheel: function(theWheel, index){ + var _this = this; + theWheel.addEventListener('touchstart', function () { + _this.touch(event, this.firstChild, index); + },false); + theWheel.addEventListener('touchend', function () { + _this.touch(event, this.firstChild, index); + },false); + theWheel.addEventListener('touchmove', function () { + _this.touch(event, this.firstChild, index); + },false); + + if(_this.isPC){ + //如果是PC端则再增加拖拽监听 方便调试 + theWheel.addEventListener('mousedown', function () { + _this.dragClick(event, this.firstChild, index); + },false); + theWheel.addEventListener('mousemove', function () { + _this.dragClick(event, this.firstChild, index); + },false); + theWheel.addEventListener('mouseup', function () { + _this.dragClick(event, this.firstChild, index); + },true); + } + }, + + addListenerLi:function(sliderIndex){ + var _this = this; + var curWheelLi = _this.slider[sliderIndex].getElementsByTagName('li'); + for(var j=0; j 0){ + _this.cascade = true; + _this.cascadeJsonData = _this.wheelsData[0].data; + break; + } + } + }else{ + _this.cascade = false; + } + }, + + generateArrData: function (targetArr) { + var tempArr = []; + var keyMap_id = this.keyMap.id; + var keyMap_value = this.keyMap.value; + for(var i=0; i0){ + _this.initDeepCount = 0; + _this.initCheckArrDeep(_this.cascadeJsonData[_this.initPosition[0]]); + }else{ + _this.checkArrDeep(_this.cascadeJsonData[0]); + } + _this.reRenderWheels(); + }, + + initCheckArrDeep: function (parent) { + var _this = this; + if(parent){ + if (_this.keyMap.childs in parent && parent[_this.keyMap.childs].length > 0) { + _this.displayJson.push(_this.generateArrData(parent[_this.keyMap.childs])); + _this.initDeepCount++; + var nextNode = parent[_this.keyMap.childs][_this.initPosition[_this.initDeepCount]]; + if(nextNode){ + _this.initCheckArrDeep(nextNode); + }else{ + _this.checkArrDeep(parent[_this.keyMap.childs][0]); + } + } + } + }, + + checkArrDeep: function (parent) { + //检测子节点深度 修改 displayJson + var _this = this; + if(parent){ + if (_this.keyMap.childs in parent && parent[_this.keyMap.childs].length > 0) { + _this.displayJson.push(_this.generateArrData(parent[_this.keyMap.childs])); //生成子节点数组 + _this.checkArrDeep(parent[_this.keyMap.childs][0]);//检测下一个子节点 + } + } + }, + + checkRange: function(index, posIndexArr){ + var _this = this; + var deleteNum = _this.displayJson.length-1-index; + for(var i=0; i posIndexArr.length){ + tempCount = _this.slider.length - posIndexArr.length; + for(var i=0; i _this.displayJson.length){ + var count = _this.wheel.length - _this.displayJson.length; + for(var i=0; i'+_this.displayJson[i][j][_this.keyMap.value]+''; + } + _this.slider[i].innerHTML = tempHTML; + + }else{ + var tempWheel = document.createElement("div"); + tempWheel.className = "wheel"; + tempHTML = '
    '; + for(var j=0; j<_this.displayJson[i].length; j++){ + //行 + tempHTML += '
  • '+_this.displayJson[i][j][_this.keyMap.value]+'
  • '; + } + tempHTML += '
'; + tempWheel.innerHTML = tempHTML; + + _this.addListenerWheel(tempWheel, i); + _this.wheels.appendChild(tempWheel); + } + _this.addListenerLi(i); + })(i); + } + }, + + updateWheels:function(data){ + var _this = this; + if(_this.cascade){ + _this.cascadeJsonData = data; + _this.displayJson = []; + _this.initCascade(); + if(_this.initPosition.length < _this.slider.length){ + var diff = _this.slider.length - _this.initPosition.length; + for(var i=0; i'+data[j][_this.keyMap.value]+''; + } + _this.wheelsData[sliderIndex] = {data: data}; + }else{ + for(var j=0; j'; + } + _this.wheelsData[sliderIndex] = data; + } + _this.slider[sliderIndex].innerHTML = tempHTML; + _this.addListenerLi(sliderIndex); + }, + + fixRowStyle: function(){ + var _this = this; + var width = (100/_this.wheel.length).toFixed(2); + for(var i=0; i<_this.wheel.length; i++){ + _this.wheel[i].style.width = width+'%'; + } + }, + + getIndex: function(distance){ + return Math.round((2*this.liHeight-distance)/this.liHeight); + }, + + getIndexArr: function(){ + var _this = this; + var temp = []; + for(var i=0; i<_this.curDistance.length; i++){ + temp.push(_this.getIndex(_this.curDistance[i])); + } + return temp; + }, + + getCurValue: function(){ + var _this = this; + var temp = []; + var positionArr = _this.getIndexArr(); + if(_this.cascade){ + for(var i=0; i<_this.wheel.length; i++){ + temp.push(_this.displayJson[i][positionArr[i]]); + } + } + else if(_this.jsonType){ + for(var i=0; i<_this.curDistance.length; i++){ + temp.push(_this.wheelsData[i].data[_this.getIndex(_this.curDistance[i])]); + } + }else{ + for(var i=0; i<_this.curDistance.length; i++){ + temp.push(_this.getInnerHtml(i)); + } + } + return temp; + }, + + getValue: function(){ + return this.curValue; + }, + + calcDistance: function(index){ + return 2*this.liHeight-index*this.liHeight; + }, + + setCurDistance: function(indexArr){ + var _this = this; + var temp = []; + for(var i=0; i<_this.slider.length; i++){ + temp.push(_this.calcDistance(indexArr[i])); + _this.movePosition(_this.slider[i],temp[i]); + } + _this.curDistance = temp; + }, + + fixPosition: function(distance){ + return -(this.getIndex(distance)-2)*this.liHeight; + }, + + movePosition: function(theSlider, distance){ + theSlider.style.webkitTransform = 'translate3d(0,' + distance + 'px, 0)'; + theSlider.style.transform = 'translate3d(0,' + distance + 'px, 0)'; + }, + + locatePosition: function(index, posIndex){ + this.curDistance[index] = this.calcDistance(posIndex); + this.movePosition(this.slider[index],this.curDistance[index]); + if(_this.cascade){ + _this.checkRange(index, _this.getIndexArr()); + } + }, + + updateCurDistance: function(theSlider, index){ + this.curDistance[index] = parseInt(theSlider.style.transform.split(',')[1]); + }, + + getDistance:function(theSlider){ + return parseInt(theSlider.style.transform.split(',')[1]); + }, + + getInnerHtml: function(sliderIndex){ + var _this = this; + var index = _this.getIndex(_this.curDistance[sliderIndex]); + return _this.slider[sliderIndex].getElementsByTagName('li')[index].innerHTML; + }, + + touch: function(event, theSlider, index){ + var _this = this; + event = event || window.event; + switch(event.type){ + case "touchstart": + _this.startY = event.touches[0].clientY; + _this.oldMoveY = _this.startY; + break; + + case "touchend": + + _this.moveEndY = event.changedTouches[0].clientY; + _this.offsetSum = _this.moveEndY - _this.startY; + + //修正位置 + _this.updateCurDistance(theSlider, index); + _this.curDistance[index] = _this.fixPosition(_this.curDistance[index]); + _this.movePosition(theSlider, _this.curDistance[index]); + _this.oversizeBorder = -(theSlider.getElementsByTagName('li').length-3)*_this.liHeight; + + + //反弹 + if(_this.curDistance[index] + _this.offsetSum > 2*_this.liHeight){ + _this.curDistance[index] = 2*_this.liHeight; + setTimeout(function(){ + _this.movePosition(theSlider, _this.curDistance[index]); + }, 100); + + }else if(_this.curDistance[index] + _this.offsetSum < _this.oversizeBorder){ + _this.curDistance[index] = _this.oversizeBorder; + setTimeout(function(){ + _this.movePosition(theSlider, _this.curDistance[index]); + }, 100); + } + + + _this.transitionEnd(_this.getIndexArr(),_this.getCurValue()); + + if(_this.cascade){ + _this.checkRange(index, _this.getIndexArr()); + } + + break; + + case "touchmove": + event.preventDefault(); + _this.moveY = event.touches[0].clientY; + _this.offset = _this.moveY - _this.oldMoveY; + + _this.updateCurDistance(theSlider, index); + _this.curDistance[index] = _this.curDistance[index] + _this.offset; + _this.movePosition(theSlider, _this.curDistance[index]); + _this.oldMoveY = _this.moveY; + break; + } + }, + + dragClick: function(event, theSlider, index){ + var _this = this; + event = event || window.event; + switch(event.type){ + case "mousedown": + _this.startY = event.clientY; + _this.oldMoveY = _this.startY; + _this.clickStatus = true; + break; + + case "mouseup": + + _this.moveEndY = event.clientY; + _this.offsetSum = _this.moveEndY - _this.startY; + + //修正位置 + _this.updateCurDistance(theSlider, index); + _this.curDistance[index] = _this.fixPosition(_this.curDistance[index]); + _this.movePosition(theSlider, _this.curDistance[index]); + _this.oversizeBorder = -(theSlider.getElementsByTagName('li').length-3)*_this.liHeight; + + + //反弹 + if(_this.curDistance[index] + _this.offsetSum > 2*_this.liHeight){ + _this.curDistance[index] = 2*_this.liHeight; + setTimeout(function(){ + _this.movePosition(theSlider, _this.curDistance[index]); + }, 100); + + }else if(_this.curDistance[index] + _this.offsetSum < _this.oversizeBorder){ + _this.curDistance[index] = _this.oversizeBorder; + setTimeout(function(){ + _this.movePosition(theSlider, _this.curDistance[index]); + }, 100); + } + + _this.clickStatus = false; + _this.transitionEnd(_this.getIndexArr(),_this.getCurValue()); + if(_this.cascade){ + _this.checkRange(index, _this.getIndexArr()); + } + break; + + case "mousemove": + event.preventDefault(); + if(_this.clickStatus){ + _this.moveY = event.clientY; + _this.offset = _this.moveY - _this.oldMoveY; + _this.updateCurDistance(theSlider, index); + _this.curDistance[index] = _this.curDistance[index] + _this.offset; + _this.movePosition(theSlider, _this.curDistance[index]); + _this.oldMoveY = _this.moveY; + } + break; + } + }, + + singleClick: function(theLi, index, sliderIndex){ + var _this = this; + if(_this.cascade){ + var tempPosArr = _this.getIndexArr(); + tempPosArr[sliderIndex] = index; + _this.checkRange(sliderIndex, tempPosArr); + + }else{ + _this.curDistance[sliderIndex] = (2-index)*_this.liHeight; + _this.movePosition(theLi.parentNode, _this.curDistance[sliderIndex]); + } + } + + }; + + if (typeof exports == "object") { + module.exports = MobileSelect; + } else if (typeof define == "function" && define.amd) { + define([], function () { + return MobileSelect; + }) + } else { + window.MobileSelect = MobileSelect; + } +})(); diff --git a/plugins/myflow.js b/plugins/myflow.js new file mode 100644 index 0000000..f7d61b7 --- /dev/null +++ b/plugins/myflow.js @@ -0,0 +1,63 @@ +(function($) { + $.fn.myflow = function(options) { + var defaults = { + url: '', + type: 'post', + data: {}, + clearlist: false, + colspan: 4, + template: function(data) { + console.log(data); + return "
请添加模板!
"; + }, + dataArr: function(data) { + return data; + } + }; + var val = $.extend(defaults, options); + //生成子列 + if(this.children().length == 0) { + var thisHtml = ''; + for(i = 0; i < val.colspan; i++) { + thisHtml += "
"; + } + this.addClass("clearfix"); + this.html(thisHtml).children().css({ + "width": 10 / val.colspan * 10 + "%", + "float": "left" + }); + } + if(val.clearlist) { + this.children().html(""); + } + //获取数据 + var children = this.children(); + $.ajax({ + url: val.url, + type: val.post, + data: val.data, + dataType: "json", + success: function(data) { + var newData = val.dataArr(data); + console.log(newData) + for(i = 0; i < newData.length; i++) { + var heightArr = []; + children.each(function() { + heightArr.push($(this).height()); + }); + var index = heightArr.indexOf(Math.min.apply(null, heightArr)); + var items = $(val.template(newData[i])).css({ + 'opacity': '0' + }) + children.eq(index).append(items); + items.animate({ + 'opacity': '1' + }); + } + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + console.log(XMLHttpRequest.status + "" + XMLHttpRequest.readyState + "" + errorThrown); + } + }); + }; +})(window.Zepto || window.jQuery); \ No newline at end of file diff --git a/plugins/noUiSlider.10.0.0/nouislider.css b/plugins/noUiSlider.10.0.0/nouislider.css new file mode 100644 index 0000000..97a96f0 --- /dev/null +++ b/plugins/noUiSlider.10.0.0/nouislider.css @@ -0,0 +1,260 @@ +/*! nouislider - 10.0.0 - 2017-05-28 14:52:48 */ +/* Functional styling; + * These styles are required for noUiSlider to function. + * You don't need to change these rules to apply your design. + */ +.noUi-target, +.noUi-target * { + -webkit-touch-callout: none; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-user-select: none; + -ms-touch-action: none; + touch-action: none; + -ms-user-select: none; + -moz-user-select: none; + user-select: none; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.noUi-target { + position: relative; + direction: ltr; +} +.noUi-base { + width: 100%; + height: 100%; + position: relative; + z-index: 1; + /* Fix 401 */ +} +.noUi-connect { + position: absolute; + right: 0; + top: 0; + left: 0; + bottom: 0; +} +.noUi-origin { + position: absolute; + height: 0; + width: 0; +} +.noUi-handle { + position: relative; + z-index: 1; +} +.noUi-state-tap .noUi-connect, +.noUi-state-tap .noUi-origin { + -webkit-transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s; + transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s; +} +.noUi-state-drag * { + cursor: inherit !important; +} +/* Painting and performance; + * Browsers can paint handles in their own layer. + */ +.noUi-base, +.noUi-handle { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} +/* Slider size and handle placement; + */ +.noUi-horizontal { + height: 18px; +} +.noUi-horizontal .noUi-handle { + width: 34px; + height: 28px; + left: -17px; + top: -6px; +} +.noUi-vertical { + width: 18px; +} +.noUi-vertical .noUi-handle { + width: 28px; + height: 34px; + left: -6px; + top: -17px; +} +/* Styling; + */ +.noUi-target { + background: #FAFAFA; + border-radius: 4px; + border: 1px solid #D3D3D3; + box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB; +} +.noUi-connect { + background: #3FB8AF; + border-radius: 4px; + box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45); + -webkit-transition: background 450ms; + transition: background 450ms; +} +/* Handles and cursors; + */ +.noUi-draggable { + cursor: ew-resize; +} +.noUi-vertical .noUi-draggable { + cursor: ns-resize; +} +.noUi-handle { + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #FFF; + cursor: default; + box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB; +} +.noUi-active { + box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB; +} +/* Handle stripes; + */ +.noUi-handle:before, +.noUi-handle:after { + content: ""; + display: block; + position: absolute; + height: 14px; + width: 1px; + background: #E8E7E6; + left: 14px; + top: 6px; +} +.noUi-handle:after { + left: 17px; +} +.noUi-vertical .noUi-handle:before, +.noUi-vertical .noUi-handle:after { + width: 14px; + height: 1px; + left: 6px; + top: 14px; +} +.noUi-vertical .noUi-handle:after { + top: 17px; +} +/* Disabled state; + */ +[disabled] .noUi-connect { + background: #B8B8B8; +} +[disabled].noUi-target, +[disabled].noUi-handle, +[disabled] .noUi-handle { + cursor: not-allowed; +} +/* Base; + * + */ +.noUi-pips, +.noUi-pips * { + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.noUi-pips { + position: absolute; + color: #999; +} +/* Values; + * + */ +.noUi-value { + position: absolute; + white-space: nowrap; + text-align: center; +} +.noUi-value-sub { + color: #ccc; + font-size: 10px; +} +/* Markings; + * + */ +.noUi-marker { + position: absolute; + background: #CCC; +} +.noUi-marker-sub { + background: #AAA; +} +.noUi-marker-large { + background: #AAA; +} +/* Horizontal layout; + * + */ +.noUi-pips-horizontal { + padding: 10px 0; + height: 80px; + top: 100%; + left: 0; + width: 100%; +} +.noUi-value-horizontal { + -webkit-transform: translate3d(-50%, 50%, 0); + transform: translate3d(-50%, 50%, 0); +} +.noUi-marker-horizontal.noUi-marker { + margin-left: -1px; + width: 2px; + height: 5px; +} +.noUi-marker-horizontal.noUi-marker-sub { + height: 10px; +} +.noUi-marker-horizontal.noUi-marker-large { + height: 15px; +} +/* Vertical layout; + * + */ +.noUi-pips-vertical { + padding: 0 10px; + height: 100%; + top: 0; + left: 100%; +} +.noUi-value-vertical { + -webkit-transform: translate3d(0, 50%, 0); + transform: translate3d(0, 50%, 0); + padding-left: 25px; +} +.noUi-marker-vertical.noUi-marker { + width: 5px; + height: 2px; + margin-top: -1px; +} +.noUi-marker-vertical.noUi-marker-sub { + width: 10px; +} +.noUi-marker-vertical.noUi-marker-large { + width: 15px; +} +.noUi-tooltip { + display: block; + position: absolute; + border: 1px solid #D9D9D9; + border-radius: 3px; + background: #fff; + color: #000; + padding: 5px; + text-align: center; + white-space: nowrap; +} +.noUi-horizontal .noUi-tooltip { + -webkit-transform: translate(-50%, 0); + transform: translate(-50%, 0); + left: 50%; + bottom: 120%; +} +.noUi-vertical .noUi-tooltip { + -webkit-transform: translate(0, -50%); + transform: translate(0, -50%); + top: 50%; + right: 120%; +} diff --git a/plugins/noUiSlider.10.0.0/nouislider.js b/plugins/noUiSlider.10.0.0/nouislider.js new file mode 100644 index 0000000..f282fac --- /dev/null +++ b/plugins/noUiSlider.10.0.0/nouislider.js @@ -0,0 +1,2256 @@ +/*! nouislider - 10.0.0 - 2017-05-28 14:52:48 */ + +(function (factory) { + + if ( typeof define === 'function' && define.amd ) { + + // AMD. Register as an anonymous module. + define([], factory); + + } else if ( typeof exports === 'object' ) { + + // Node/CommonJS + module.exports = factory(); + + } else { + + // Browser globals + window.noUiSlider = factory(); + } + +}(function( ){ + + 'use strict'; + + var VERSION = '10.0.0'; + + + function isValidFormatter ( entry ) { + return typeof entry === 'object' && typeof entry.to === 'function' && typeof entry.from === 'function'; + } + + function removeElement ( el ) { + el.parentElement.removeChild(el); + } + + // Bindable version + function preventDefault ( e ) { + e.preventDefault(); + } + + // Removes duplicates from an array. + function unique ( array ) { + return array.filter(function(a){ + return !this[a] ? this[a] = true : false; + }, {}); + } + + // Round a value to the closest 'to'. + function closest ( value, to ) { + return Math.round(value / to) * to; + } + + // Current position of an element relative to the document. + function offset ( elem, orientation ) { + + var rect = elem.getBoundingClientRect(); + var doc = elem.ownerDocument; + var docElem = doc.documentElement; + var pageOffset = getPageOffset(doc); + + // getBoundingClientRect contains left scroll in Chrome on Android. + // I haven't found a feature detection that proves this. Worst case + // scenario on mis-match: the 'tap' feature on horizontal sliders breaks. + if ( /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) ) { + pageOffset.x = 0; + } + + return orientation ? (rect.top + pageOffset.y - docElem.clientTop) : (rect.left + pageOffset.x - docElem.clientLeft); + } + + // Checks whether a value is numerical. + function isNumeric ( a ) { + return typeof a === 'number' && !isNaN( a ) && isFinite( a ); + } + + // Sets a class and removes it after [duration] ms. + function addClassFor ( element, className, duration ) { + if (duration > 0) { + addClass(element, className); + setTimeout(function(){ + removeClass(element, className); + }, duration); + } + } + + // Limits a value to 0 - 100 + function limit ( a ) { + return Math.max(Math.min(a, 100), 0); + } + + // Wraps a variable as an array, if it isn't one yet. + // Note that an input array is returned by reference! + function asArray ( a ) { + return Array.isArray(a) ? a : [a]; + } + + // Counts decimals + function countDecimals ( numStr ) { + numStr = String(numStr); + var pieces = numStr.split("."); + return pieces.length > 1 ? pieces[1].length : 0; + } + + // http://youmightnotneedjquery.com/#add_class + function addClass ( el, className ) { + if ( el.classList ) { + el.classList.add(className); + } else { + el.className += ' ' + className; + } + } + + // http://youmightnotneedjquery.com/#remove_class + function removeClass ( el, className ) { + if ( el.classList ) { + el.classList.remove(className); + } else { + el.className = el.className.replace(new RegExp('(^|\\b)' + className.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); + } + } + + // https://plainjs.com/javascript/attributes/adding-removing-and-testing-for-classes-9/ + function hasClass ( el, className ) { + return el.classList ? el.classList.contains(className) : new RegExp('\\b' + className + '\\b').test(el.className); + } + + // https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY#Notes + function getPageOffset ( doc ) { + + var supportPageOffset = window.pageXOffset !== undefined; + var isCSS1Compat = ((doc.compatMode || "") === "CSS1Compat"); + var x = supportPageOffset ? window.pageXOffset : isCSS1Compat ? doc.documentElement.scrollLeft : doc.body.scrollLeft; + var y = supportPageOffset ? window.pageYOffset : isCSS1Compat ? doc.documentElement.scrollTop : doc.body.scrollTop; + + return { + x: x, + y: y + }; + } + + // we provide a function to compute constants instead + // of accessing window.* as soon as the module needs it + // so that we do not compute anything if not needed + function getActions ( ) { + + // Determine the events to bind. IE11 implements pointerEvents without + // a prefix, which breaks compatibility with the IE10 implementation. + return window.navigator.pointerEnabled ? { + start: 'pointerdown', + move: 'pointermove', + end: 'pointerup' + } : window.navigator.msPointerEnabled ? { + start: 'MSPointerDown', + move: 'MSPointerMove', + end: 'MSPointerUp' + } : { + start: 'mousedown touchstart', + move: 'mousemove touchmove', + end: 'mouseup touchend' + }; + } + + // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md + // Issue #785 + function getSupportsPassive ( ) { + + var supportsPassive = false; + + try { + + var opts = Object.defineProperty({}, 'passive', { + get: function() { + supportsPassive = true; + } + }); + + window.addEventListener('test', null, opts); + + } catch (e) {} + + return supportsPassive; + } + + function getSupportsTouchActionNone ( ) { + return window.CSS && CSS.supports && CSS.supports('touch-action', 'none'); + } + + +// Value calculation + + // Determine the size of a sub-range in relation to a full range. + function subRangeRatio ( pa, pb ) { + return (100 / (pb - pa)); + } + + // (percentage) How many percent is this value of this range? + function fromPercentage ( range, value ) { + return (value * 100) / ( range[1] - range[0] ); + } + + // (percentage) Where is this value on this range? + function toPercentage ( range, value ) { + return fromPercentage( range, range[0] < 0 ? + value + Math.abs(range[0]) : + value - range[0] ); + } + + // (value) How much is this percentage on this range? + function isPercentage ( range, value ) { + return ((value * ( range[1] - range[0] )) / 100) + range[0]; + } + + +// Range conversion + + function getJ ( value, arr ) { + + var j = 1; + + while ( value >= arr[j] ){ + j += 1; + } + + return j; + } + + // (percentage) Input a value, find where, on a scale of 0-100, it applies. + function toStepping ( xVal, xPct, value ) { + + if ( value >= xVal.slice(-1)[0] ){ + return 100; + } + + var j = getJ( value, xVal ), va, vb, pa, pb; + + va = xVal[j-1]; + vb = xVal[j]; + pa = xPct[j-1]; + pb = xPct[j]; + + return pa + (toPercentage([va, vb], value) / subRangeRatio (pa, pb)); + } + + // (value) Input a percentage, find where it is on the specified range. + function fromStepping ( xVal, xPct, value ) { + + // There is no range group that fits 100 + if ( value >= 100 ){ + return xVal.slice(-1)[0]; + } + + var j = getJ( value, xPct ), va, vb, pa, pb; + + va = xVal[j-1]; + vb = xVal[j]; + pa = xPct[j-1]; + pb = xPct[j]; + + return isPercentage([va, vb], (value - pa) * subRangeRatio (pa, pb)); + } + + // (percentage) Get the step that applies at a certain value. + function getStep ( xPct, xSteps, snap, value ) { + + if ( value === 100 ) { + return value; + } + + var j = getJ( value, xPct ), a, b; + + // If 'snap' is set, steps are used as fixed points on the slider. + if ( snap ) { + + a = xPct[j-1]; + b = xPct[j]; + + // Find the closest position, a or b. + if ((value - a) > ((b-a)/2)){ + return b; + } + + return a; + } + + if ( !xSteps[j-1] ){ + return value; + } + + return xPct[j-1] + closest( + value - xPct[j-1], + xSteps[j-1] + ); + } + + +// Entry parsing + + function handleEntryPoint ( index, value, that ) { + + var percentage; + + // Wrap numerical input in an array. + if ( typeof value === "number" ) { + value = [value]; + } + + // Reject any invalid input, by testing whether value is an array. + if ( Object.prototype.toString.call( value ) !== '[object Array]' ){ + throw new Error("noUiSlider (" + VERSION + "): 'range' contains invalid value."); + } + + // Covert min/max syntax to 0 and 100. + if ( index === 'min' ) { + percentage = 0; + } else if ( index === 'max' ) { + percentage = 100; + } else { + percentage = parseFloat( index ); + } + + // Check for correct input. + if ( !isNumeric( percentage ) || !isNumeric( value[0] ) ) { + throw new Error("noUiSlider (" + VERSION + "): 'range' value isn't numeric."); + } + + // Store values. + that.xPct.push( percentage ); + that.xVal.push( value[0] ); + + // NaN will evaluate to false too, but to keep + // logging clear, set step explicitly. Make sure + // not to override the 'step' setting with false. + if ( !percentage ) { + if ( !isNaN( value[1] ) ) { + that.xSteps[0] = value[1]; + } + } else { + that.xSteps.push( isNaN(value[1]) ? false : value[1] ); + } + + that.xHighestCompleteStep.push(0); + } + + function handleStepPoint ( i, n, that ) { + + // Ignore 'false' stepping. + if ( !n ) { + return true; + } + + // Factor to range ratio + that.xSteps[i] = fromPercentage([ + that.xVal[i] + ,that.xVal[i+1] + ], n) / subRangeRatio ( + that.xPct[i], + that.xPct[i+1] ); + + var totalSteps = (that.xVal[i+1] - that.xVal[i]) / that.xNumSteps[i]; + var highestStep = Math.ceil(Number(totalSteps.toFixed(3)) - 1); + var step = that.xVal[i] + (that.xNumSteps[i] * highestStep); + + that.xHighestCompleteStep[i] = step; + } + + +// Interface + + function Spectrum ( entry, snap, singleStep ) { + + this.xPct = []; + this.xVal = []; + this.xSteps = [ singleStep || false ]; + this.xNumSteps = [ false ]; + this.xHighestCompleteStep = []; + + this.snap = snap; + + var index, ordered = [ /* [0, 'min'], [1, '50%'], [2, 'max'] */ ]; + + // Map the object keys to an array. + for ( index in entry ) { + if ( entry.hasOwnProperty(index) ) { + ordered.push([entry[index], index]); + } + } + + // Sort all entries by value (numeric sort). + if ( ordered.length && typeof ordered[0][0] === "object" ) { + ordered.sort(function(a, b) { return a[0][0] - b[0][0]; }); + } else { + ordered.sort(function(a, b) { return a[0] - b[0]; }); + } + + + // Convert all entries to subranges. + for ( index = 0; index < ordered.length; index++ ) { + handleEntryPoint(ordered[index][1], ordered[index][0], this); + } + + // Store the actual step values. + // xSteps is sorted in the same order as xPct and xVal. + this.xNumSteps = this.xSteps.slice(0); + + // Convert all numeric steps to the percentage of the subrange they represent. + for ( index = 0; index < this.xNumSteps.length; index++ ) { + handleStepPoint(index, this.xNumSteps[index], this); + } + } + + Spectrum.prototype.getMargin = function ( value ) { + + var step = this.xNumSteps[0]; + + if ( step && ((value / step) % 1) !== 0 ) { + throw new Error("noUiSlider (" + VERSION + "): 'limit', 'margin' and 'padding' must be divisible by step."); + } + + return this.xPct.length === 2 ? fromPercentage(this.xVal, value) : false; + }; + + Spectrum.prototype.toStepping = function ( value ) { + + value = toStepping( this.xVal, this.xPct, value ); + + return value; + }; + + Spectrum.prototype.fromStepping = function ( value ) { + + return fromStepping( this.xVal, this.xPct, value ); + }; + + Spectrum.prototype.getStep = function ( value ) { + + value = getStep(this.xPct, this.xSteps, this.snap, value ); + + return value; + }; + + Spectrum.prototype.getNearbySteps = function ( value ) { + + var j = getJ(value, this.xPct); + + return { + stepBefore: { startValue: this.xVal[j-2], step: this.xNumSteps[j-2], highestStep: this.xHighestCompleteStep[j-2] }, + thisStep: { startValue: this.xVal[j-1], step: this.xNumSteps[j-1], highestStep: this.xHighestCompleteStep[j-1] }, + stepAfter: { startValue: this.xVal[j-0], step: this.xNumSteps[j-0], highestStep: this.xHighestCompleteStep[j-0] } + }; + }; + + Spectrum.prototype.countStepDecimals = function () { + var stepDecimals = this.xNumSteps.map(countDecimals); + return Math.max.apply(null, stepDecimals); + }; + + // Outside testing + Spectrum.prototype.convert = function ( value ) { + return this.getStep(this.toStepping(value)); + }; + +/* Every input option is tested and parsed. This'll prevent + endless validation in internal methods. These tests are + structured with an item for every option available. An + option can be marked as required by setting the 'r' flag. + The testing function is provided with three arguments: + - The provided value for the option; + - A reference to the options object; + - The name for the option; + + The testing function returns false when an error is detected, + or true when everything is OK. It can also modify the option + object, to make sure all values can be correctly looped elsewhere. */ + + var defaultFormatter = { 'to': function( value ){ + return value !== undefined && value.toFixed(2); + }, 'from': Number }; + + function validateFormat ( entry ) { + + // Any object with a to and from method is supported. + if ( isValidFormatter(entry) ) { + return true; + } + + throw new Error("noUiSlider (" + VERSION + "): 'format' requires 'to' and 'from' methods."); + } + + function testStep ( parsed, entry ) { + + if ( !isNumeric( entry ) ) { + throw new Error("noUiSlider (" + VERSION + "): 'step' is not numeric."); + } + + // The step option can still be used to set stepping + // for linear sliders. Overwritten if set in 'range'. + parsed.singleStep = entry; + } + + function testRange ( parsed, entry ) { + + // Filter incorrect input. + if ( typeof entry !== 'object' || Array.isArray(entry) ) { + throw new Error("noUiSlider (" + VERSION + "): 'range' is not an object."); + } + + // Catch missing start or end. + if ( entry.min === undefined || entry.max === undefined ) { + throw new Error("noUiSlider (" + VERSION + "): Missing 'min' or 'max' in 'range'."); + } + + // Catch equal start or end. + if ( entry.min === entry.max ) { + throw new Error("noUiSlider (" + VERSION + "): 'range' 'min' and 'max' cannot be equal."); + } + + parsed.spectrum = new Spectrum(entry, parsed.snap, parsed.singleStep); + } + + function testStart ( parsed, entry ) { + + entry = asArray(entry); + + // Validate input. Values aren't tested, as the public .val method + // will always provide a valid location. + if ( !Array.isArray( entry ) || !entry.length ) { + throw new Error("noUiSlider (" + VERSION + "): 'start' option is incorrect."); + } + + // Store the number of handles. + parsed.handles = entry.length; + + // When the slider is initialized, the .val method will + // be called with the start options. + parsed.start = entry; + } + + function testSnap ( parsed, entry ) { + + // Enforce 100% stepping within subranges. + parsed.snap = entry; + + if ( typeof entry !== 'boolean' ){ + throw new Error("noUiSlider (" + VERSION + "): 'snap' option must be a boolean."); + } + } + + function testAnimate ( parsed, entry ) { + + // Enforce 100% stepping within subranges. + parsed.animate = entry; + + if ( typeof entry !== 'boolean' ){ + throw new Error("noUiSlider (" + VERSION + "): 'animate' option must be a boolean."); + } + } + + function testAnimationDuration ( parsed, entry ) { + + parsed.animationDuration = entry; + + if ( typeof entry !== 'number' ){ + throw new Error("noUiSlider (" + VERSION + "): 'animationDuration' option must be a number."); + } + } + + function testConnect ( parsed, entry ) { + + var connect = [false]; + var i; + + // Map legacy options + if ( entry === 'lower' ) { + entry = [true, false]; + } + + else if ( entry === 'upper' ) { + entry = [false, true]; + } + + // Handle boolean options + if ( entry === true || entry === false ) { + + for ( i = 1; i < parsed.handles; i++ ) { + connect.push(entry); + } + + connect.push(false); + } + + // Reject invalid input + else if ( !Array.isArray( entry ) || !entry.length || entry.length !== parsed.handles + 1 ) { + throw new Error("noUiSlider (" + VERSION + "): 'connect' option doesn't match handle count."); + } + + else { + connect = entry; + } + + parsed.connect = connect; + } + + function testOrientation ( parsed, entry ) { + + // Set orientation to an a numerical value for easy + // array selection. + switch ( entry ){ + case 'horizontal': + parsed.ort = 0; + break; + case 'vertical': + parsed.ort = 1; + break; + default: + throw new Error("noUiSlider (" + VERSION + "): 'orientation' option is invalid."); + } + } + + function testMargin ( parsed, entry ) { + + if ( !isNumeric(entry) ){ + throw new Error("noUiSlider (" + VERSION + "): 'margin' option must be numeric."); + } + + // Issue #582 + if ( entry === 0 ) { + return; + } + + parsed.margin = parsed.spectrum.getMargin(entry); + + if ( !parsed.margin ) { + throw new Error("noUiSlider (" + VERSION + "): 'margin' option is only supported on linear sliders."); + } + } + + function testLimit ( parsed, entry ) { + + if ( !isNumeric(entry) ){ + throw new Error("noUiSlider (" + VERSION + "): 'limit' option must be numeric."); + } + + parsed.limit = parsed.spectrum.getMargin(entry); + + if ( !parsed.limit || parsed.handles < 2 ) { + throw new Error("noUiSlider (" + VERSION + "): 'limit' option is only supported on linear sliders with 2 or more handles."); + } + } + + function testPadding ( parsed, entry ) { + + if ( !isNumeric(entry) ){ + throw new Error("noUiSlider (" + VERSION + "): 'padding' option must be numeric."); + } + + if ( entry === 0 ) { + return; + } + + parsed.padding = parsed.spectrum.getMargin(entry); + + if ( !parsed.padding ) { + throw new Error("noUiSlider (" + VERSION + "): 'padding' option is only supported on linear sliders."); + } + + if ( parsed.padding < 0 ) { + throw new Error("noUiSlider (" + VERSION + "): 'padding' option must be a positive number."); + } + + if ( parsed.padding >= 50 ) { + throw new Error("noUiSlider (" + VERSION + "): 'padding' option must be less than half the range."); + } + } + + function testDirection ( parsed, entry ) { + + // Set direction as a numerical value for easy parsing. + // Invert connection for RTL sliders, so that the proper + // handles get the connect/background classes. + switch ( entry ) { + case 'ltr': + parsed.dir = 0; + break; + case 'rtl': + parsed.dir = 1; + break; + default: + throw new Error("noUiSlider (" + VERSION + "): 'direction' option was not recognized."); + } + } + + function testBehaviour ( parsed, entry ) { + + // Make sure the input is a string. + if ( typeof entry !== 'string' ) { + throw new Error("noUiSlider (" + VERSION + "): 'behaviour' must be a string containing options."); + } + + // Check if the string contains any keywords. + // None are required. + var tap = entry.indexOf('tap') >= 0; + var drag = entry.indexOf('drag') >= 0; + var fixed = entry.indexOf('fixed') >= 0; + var snap = entry.indexOf('snap') >= 0; + var hover = entry.indexOf('hover') >= 0; + + if ( fixed ) { + + if ( parsed.handles !== 2 ) { + throw new Error("noUiSlider (" + VERSION + "): 'fixed' behaviour must be used with 2 handles"); + } + + // Use margin to enforce fixed state + testMargin(parsed, parsed.start[1] - parsed.start[0]); + } + + parsed.events = { + tap: tap || snap, + drag: drag, + fixed: fixed, + snap: snap, + hover: hover + }; + } + + function testTooltips ( parsed, entry ) { + + if ( entry === false ) { + return; + } + + else if ( entry === true ) { + + parsed.tooltips = []; + + for ( var i = 0; i < parsed.handles; i++ ) { + parsed.tooltips.push(true); + } + } + + else { + + parsed.tooltips = asArray(entry); + + if ( parsed.tooltips.length !== parsed.handles ) { + throw new Error("noUiSlider (" + VERSION + "): must pass a formatter for all handles."); + } + + parsed.tooltips.forEach(function(formatter){ + if ( typeof formatter !== 'boolean' && (typeof formatter !== 'object' || typeof formatter.to !== 'function') ) { + throw new Error("noUiSlider (" + VERSION + "): 'tooltips' must be passed a formatter or 'false'."); + } + }); + } + } + + function testAriaFormat ( parsed, entry ) { + parsed.ariaFormat = entry; + validateFormat(entry); + } + + function testFormat ( parsed, entry ) { + parsed.format = entry; + validateFormat(entry); + } + + function testCssPrefix ( parsed, entry ) { + + if ( entry !== undefined && typeof entry !== 'string' && entry !== false ) { + throw new Error("noUiSlider (" + VERSION + "): 'cssPrefix' must be a string or `false`."); + } + + parsed.cssPrefix = entry; + } + + function testCssClasses ( parsed, entry ) { + + if ( entry !== undefined && typeof entry !== 'object' ) { + throw new Error("noUiSlider (" + VERSION + "): 'cssClasses' must be an object."); + } + + if ( typeof parsed.cssPrefix === 'string' ) { + parsed.cssClasses = {}; + + for ( var key in entry ) { + if ( !entry.hasOwnProperty(key) ) { continue; } + + parsed.cssClasses[key] = parsed.cssPrefix + entry[key]; + } + } else { + parsed.cssClasses = entry; + } + } + + function testUseRaf ( parsed, entry ) { + if ( entry === true || entry === false ) { + parsed.useRequestAnimationFrame = entry; + } else { + throw new Error("noUiSlider (" + VERSION + "): 'useRequestAnimationFrame' option should be true (default) or false."); + } + } + + // Test all developer settings and parse to assumption-safe values. + function testOptions ( options ) { + + // To prove a fix for #537, freeze options here. + // If the object is modified, an error will be thrown. + // Object.freeze(options); + + var parsed = { + margin: 0, + limit: 0, + padding: 0, + animate: true, + animationDuration: 300, + ariaFormat: defaultFormatter, + format: defaultFormatter + }; + + // Tests are executed in the order they are presented here. + var tests = { + 'step': { r: false, t: testStep }, + 'start': { r: true, t: testStart }, + 'connect': { r: true, t: testConnect }, + 'direction': { r: true, t: testDirection }, + 'snap': { r: false, t: testSnap }, + 'animate': { r: false, t: testAnimate }, + 'animationDuration': { r: false, t: testAnimationDuration }, + 'range': { r: true, t: testRange }, + 'orientation': { r: false, t: testOrientation }, + 'margin': { r: false, t: testMargin }, + 'limit': { r: false, t: testLimit }, + 'padding': { r: false, t: testPadding }, + 'behaviour': { r: true, t: testBehaviour }, + 'ariaFormat': { r: false, t: testAriaFormat }, + 'format': { r: false, t: testFormat }, + 'tooltips': { r: false, t: testTooltips }, + 'cssPrefix': { r: false, t: testCssPrefix }, + 'cssClasses': { r: false, t: testCssClasses }, + 'useRequestAnimationFrame': { r: false, t: testUseRaf } + }; + + var defaults = { + 'connect': false, + 'direction': 'ltr', + 'behaviour': 'tap', + 'orientation': 'horizontal', + 'cssPrefix' : 'noUi-', + 'cssClasses': { + target: 'target', + base: 'base', + origin: 'origin', + handle: 'handle', + handleLower: 'handle-lower', + handleUpper: 'handle-upper', + horizontal: 'horizontal', + vertical: 'vertical', + background: 'background', + connect: 'connect', + ltr: 'ltr', + rtl: 'rtl', + draggable: 'draggable', + drag: 'state-drag', + tap: 'state-tap', + active: 'active', + tooltip: 'tooltip', + pips: 'pips', + pipsHorizontal: 'pips-horizontal', + pipsVertical: 'pips-vertical', + marker: 'marker', + markerHorizontal: 'marker-horizontal', + markerVertical: 'marker-vertical', + markerNormal: 'marker-normal', + markerLarge: 'marker-large', + markerSub: 'marker-sub', + value: 'value', + valueHorizontal: 'value-horizontal', + valueVertical: 'value-vertical', + valueNormal: 'value-normal', + valueLarge: 'value-large', + valueSub: 'value-sub' + }, + 'useRequestAnimationFrame': true + }; + + // AriaFormat defaults to regular format, if any. + if ( options.format && !options.ariaFormat ) { + options.ariaFormat = options.format; + } + + // Run all options through a testing mechanism to ensure correct + // input. It should be noted that options might get modified to + // be handled properly. E.g. wrapping integers in arrays. + Object.keys(tests).forEach(function( name ){ + + // If the option isn't set, but it is required, throw an error. + if ( options[name] === undefined && defaults[name] === undefined ) { + + if ( tests[name].r ) { + throw new Error("noUiSlider (" + VERSION + "): '" + name + "' is required."); + } + + return true; + } + + tests[name].t( parsed, options[name] === undefined ? defaults[name] : options[name] ); + }); + + // Forward pips options + parsed.pips = options.pips; + + var styles = [['left', 'top'], ['right', 'bottom']]; + + // Pre-define the styles. + parsed.style = styles[parsed.dir][parsed.ort]; + parsed.styleOposite = styles[parsed.dir?0:1][parsed.ort]; + + return parsed; + } + + +function closure ( target, options, originalOptions ){ + + var actions = getActions(); + var supportsTouchActionNone = getSupportsTouchActionNone(); + var supportsPassive = supportsTouchActionNone && getSupportsPassive(); + + // All variables local to 'closure' are prefixed with 'scope_' + var scope_Target = target; + var scope_Locations = []; + var scope_Base; + var scope_Handles; + var scope_HandleNumbers = []; + var scope_ActiveHandle = false; + var scope_Connects; + var scope_Spectrum = options.spectrum; + var scope_Values = []; + var scope_Events = {}; + var scope_Self; + var scope_Pips; + var scope_Listeners = null; + var scope_Document = target.ownerDocument; + var scope_DocumentElement = scope_Document.documentElement; + var scope_Body = scope_Document.body; + + + // Creates a node, adds it to target, returns the new node. + function addNodeTo ( target, className ) { + + var div = scope_Document.createElement('div'); + + if ( className ) { + addClass(div, className); + } + + target.appendChild(div); + + return div; + } + + // Append a origin to the base + function addOrigin ( base, handleNumber ) { + + var origin = addNodeTo(base, options.cssClasses.origin); + var handle = addNodeTo(origin, options.cssClasses.handle); + + handle.setAttribute('data-handle', handleNumber); + + // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex + // 0 = focusable and reachable + handle.setAttribute('tabindex', '0'); + handle.setAttribute('role', 'slider'); + handle.setAttribute('aria-orientation', options.ort ? 'vertical' : 'horizontal'); + + if ( handleNumber === 0 ) { + addClass(handle, options.cssClasses.handleLower); + } + + else if ( handleNumber === options.handles - 1 ) { + addClass(handle, options.cssClasses.handleUpper); + } + + return origin; + } + + // Insert nodes for connect elements + function addConnect ( base, add ) { + + if ( !add ) { + return false; + } + + return addNodeTo(base, options.cssClasses.connect); + } + + // Add handles to the slider base. + function addElements ( connectOptions, base ) { + + scope_Handles = []; + scope_Connects = []; + + scope_Connects.push(addConnect(base, connectOptions[0])); + + // [::::O====O====O====] + // connectOptions = [0, 1, 1, 1] + + for ( var i = 0; i < options.handles; i++ ) { + // Keep a list of all added handles. + scope_Handles.push(addOrigin(base, i)); + scope_HandleNumbers[i] = i; + scope_Connects.push(addConnect(base, connectOptions[i + 1])); + } + } + + // Initialize a single slider. + function addSlider ( target ) { + + // Apply classes and data to the target. + addClass(target, options.cssClasses.target); + + if ( options.dir === 0 ) { + addClass(target, options.cssClasses.ltr); + } else { + addClass(target, options.cssClasses.rtl); + } + + if ( options.ort === 0 ) { + addClass(target, options.cssClasses.horizontal); + } else { + addClass(target, options.cssClasses.vertical); + } + + scope_Base = addNodeTo(target, options.cssClasses.base); + } + + + function addTooltip ( handle, handleNumber ) { + + if ( !options.tooltips[handleNumber] ) { + return false; + } + + return addNodeTo(handle.firstChild, options.cssClasses.tooltip); + } + + // The tooltips option is a shorthand for using the 'update' event. + function tooltips ( ) { + + // Tooltips are added with options.tooltips in original order. + var tips = scope_Handles.map(addTooltip); + + bindEvent('update', function(values, handleNumber, unencoded) { + + if ( !tips[handleNumber] ) { + return; + } + + var formattedValue = values[handleNumber]; + + if ( options.tooltips[handleNumber] !== true ) { + formattedValue = options.tooltips[handleNumber].to(unencoded[handleNumber]); + } + + tips[handleNumber].innerHTML = formattedValue; + }); + } + + + function aria ( ) { + + bindEvent('update', function ( values, handleNumber, unencoded, tap, positions ) { + + // Update Aria Values for all handles, as a change in one changes min and max values for the next. + scope_HandleNumbers.forEach(function( handleNumber ){ + + var handle = scope_Handles[handleNumber]; + + var min = checkHandlePosition(scope_Locations, handleNumber, 0, true, true, true); + var max = checkHandlePosition(scope_Locations, handleNumber, 100, true, true, true); + + var now = positions[handleNumber]; + var text = options.ariaFormat.to(unencoded[handleNumber]); + + handle.children[0].setAttribute('aria-valuemin', min.toFixed(1)); + handle.children[0].setAttribute('aria-valuemax', max.toFixed(1)); + handle.children[0].setAttribute('aria-valuenow', now.toFixed(1)); + handle.children[0].setAttribute('aria-valuetext', text); + }); + }); + } + + + function getGroup ( mode, values, stepped ) { + + // Use the range. + if ( mode === 'range' || mode === 'steps' ) { + return scope_Spectrum.xVal; + } + + if ( mode === 'count' ) { + + if ( !values ) { + throw new Error("noUiSlider (" + VERSION + "): 'values' required for mode 'count'."); + } + + // Divide 0 - 100 in 'count' parts. + var spread = ( 100 / (values - 1) ); + var v; + var i = 0; + + values = []; + + // List these parts and have them handled as 'positions'. + while ( (v = i++ * spread) <= 100 ) { + values.push(v); + } + + mode = 'positions'; + } + + if ( mode === 'positions' ) { + + // Map all percentages to on-range values. + return values.map(function( value ){ + return scope_Spectrum.fromStepping( stepped ? scope_Spectrum.getStep( value ) : value ); + }); + } + + if ( mode === 'values' ) { + + // If the value must be stepped, it needs to be converted to a percentage first. + if ( stepped ) { + + return values.map(function( value ){ + + // Convert to percentage, apply step, return to value. + return scope_Spectrum.fromStepping( scope_Spectrum.getStep( scope_Spectrum.toStepping( value ) ) ); + }); + + } + + // Otherwise, we can simply use the values. + return values; + } + } + + function generateSpread ( density, mode, group ) { + + function safeIncrement(value, increment) { + // Avoid floating point variance by dropping the smallest decimal places. + return (value + increment).toFixed(7) / 1; + } + + var indexes = {}; + var firstInRange = scope_Spectrum.xVal[0]; + var lastInRange = scope_Spectrum.xVal[scope_Spectrum.xVal.length-1]; + var ignoreFirst = false; + var ignoreLast = false; + var prevPct = 0; + + // Create a copy of the group, sort it and filter away all duplicates. + group = unique(group.slice().sort(function(a, b){ return a - b; })); + + // Make sure the range starts with the first element. + if ( group[0] !== firstInRange ) { + group.unshift(firstInRange); + ignoreFirst = true; + } + + // Likewise for the last one. + if ( group[group.length - 1] !== lastInRange ) { + group.push(lastInRange); + ignoreLast = true; + } + + group.forEach(function ( current, index ) { + + // Get the current step and the lower + upper positions. + var step; + var i; + var q; + var low = current; + var high = group[index+1]; + var newPct; + var pctDifference; + var pctPos; + var type; + var steps; + var realSteps; + var stepsize; + + // When using 'steps' mode, use the provided steps. + // Otherwise, we'll step on to the next subrange. + if ( mode === 'steps' ) { + step = scope_Spectrum.xNumSteps[ index ]; + } + + // Default to a 'full' step. + if ( !step ) { + step = high-low; + } + + // Low can be 0, so test for false. If high is undefined, + // we are at the last subrange. Index 0 is already handled. + if ( low === false || high === undefined ) { + return; + } + + // Make sure step isn't 0, which would cause an infinite loop (#654) + step = Math.max(step, 0.0000001); + + // Find all steps in the subrange. + for ( i = low; i <= high; i = safeIncrement(i, step) ) { + + // Get the percentage value for the current step, + // calculate the size for the subrange. + newPct = scope_Spectrum.toStepping( i ); + pctDifference = newPct - prevPct; + + steps = pctDifference / density; + realSteps = Math.round(steps); + + // This ratio represents the ammount of percentage-space a point indicates. + // For a density 1 the points/percentage = 1. For density 2, that percentage needs to be re-devided. + // Round the percentage offset to an even number, then divide by two + // to spread the offset on both sides of the range. + stepsize = pctDifference/realSteps; + + // Divide all points evenly, adding the correct number to this subrange. + // Run up to <= so that 100% gets a point, event if ignoreLast is set. + for ( q = 1; q <= realSteps; q += 1 ) { + + // The ratio between the rounded value and the actual size might be ~1% off. + // Correct the percentage offset by the number of points + // per subrange. density = 1 will result in 100 points on the + // full range, 2 for 50, 4 for 25, etc. + pctPos = prevPct + ( q * stepsize ); + indexes[pctPos.toFixed(5)] = ['x', 0]; + } + + // Determine the point type. + type = (group.indexOf(i) > -1) ? 1 : ( mode === 'steps' ? 2 : 0 ); + + // Enforce the 'ignoreFirst' option by overwriting the type for 0. + if ( !index && ignoreFirst ) { + type = 0; + } + + if ( !(i === high && ignoreLast)) { + // Mark the 'type' of this point. 0 = plain, 1 = real value, 2 = step value. + indexes[newPct.toFixed(5)] = [i, type]; + } + + // Update the percentage count. + prevPct = newPct; + } + }); + + return indexes; + } + + function addMarking ( spread, filterFunc, formatter ) { + + var element = scope_Document.createElement('div'); + + var valueSizeClasses = [ + options.cssClasses.valueNormal, + options.cssClasses.valueLarge, + options.cssClasses.valueSub + ]; + var markerSizeClasses = [ + options.cssClasses.markerNormal, + options.cssClasses.markerLarge, + options.cssClasses.markerSub + ]; + var valueOrientationClasses = [ + options.cssClasses.valueHorizontal, + options.cssClasses.valueVertical + ]; + var markerOrientationClasses = [ + options.cssClasses.markerHorizontal, + options.cssClasses.markerVertical + ]; + + addClass(element, options.cssClasses.pips); + addClass(element, options.ort === 0 ? options.cssClasses.pipsHorizontal : options.cssClasses.pipsVertical); + + function getClasses( type, source ){ + var a = source === options.cssClasses.value; + var orientationClasses = a ? valueOrientationClasses : markerOrientationClasses; + var sizeClasses = a ? valueSizeClasses : markerSizeClasses; + + return source + ' ' + orientationClasses[options.ort] + ' ' + sizeClasses[type]; + } + + function addSpread ( offset, values ){ + + // Apply the filter function, if it is set. + values[1] = (values[1] && filterFunc) ? filterFunc(values[0], values[1]) : values[1]; + + // Add a marker for every point + var node = addNodeTo(element, false); + node.className = getClasses(values[1], options.cssClasses.marker); + node.style[options.style] = offset + '%'; + + // Values are only appended for points marked '1' or '2'. + if ( values[1] ) { + node = addNodeTo(element, false); + node.className = getClasses(values[1], options.cssClasses.value); + node.style[options.style] = offset + '%'; + node.innerText = formatter.to(values[0]); + } + } + + // Append all points. + Object.keys(spread).forEach(function(a){ + addSpread(a, spread[a]); + }); + + return element; + } + + function removePips ( ) { + if ( scope_Pips ) { + removeElement(scope_Pips); + scope_Pips = null; + } + } + + function pips ( grid ) { + + // Fix #669 + removePips(); + + var mode = grid.mode; + var density = grid.density || 1; + var filter = grid.filter || false; + var values = grid.values || false; + var stepped = grid.stepped || false; + var group = getGroup( mode, values, stepped ); + var spread = generateSpread( density, mode, group ); + var format = grid.format || { + to: Math.round + }; + + scope_Pips = scope_Target.appendChild(addMarking( + spread, + filter, + format + )); + + return scope_Pips; + } + + + // Shorthand for base dimensions. + function baseSize ( ) { + var rect = scope_Base.getBoundingClientRect(), alt = 'offset' + ['Width', 'Height'][options.ort]; + return options.ort === 0 ? (rect.width||scope_Base[alt]) : (rect.height||scope_Base[alt]); + } + + // Handler for attaching events trough a proxy. + function attachEvent ( events, element, callback, data ) { + + // This function can be used to 'filter' events to the slider. + // element is a node, not a nodeList + + var method = function ( e ){ + + if ( scope_Target.hasAttribute('disabled') ) { + return false; + } + + // Stop if an active 'tap' transition is taking place. + if ( hasClass(scope_Target, options.cssClasses.tap) ) { + return false; + } + + e = fixEvent(e, data.pageOffset); + + // Handle reject of multitouch + if ( !e ) { + return false; + } + + // Ignore right or middle clicks on start #454 + if ( events === actions.start && e.buttons !== undefined && e.buttons > 1 ) { + return false; + } + + // Ignore right or middle clicks on start #454 + if ( data.hover && e.buttons ) { + return false; + } + + // 'supportsPassive' is only true if a browser also supports touch-action: none in CSS. + // iOS safari does not, so it doesn't get to benefit from passive scrolling. iOS does support + // touch-action: manipulation, but that allows panning, which breaks + // sliders after zooming/on non-responsive pages. + // See: https://bugs.webkit.org/show_bug.cgi?id=133112 + if ( !supportsPassive ) { + e.preventDefault(); + } + + e.calcPoint = e.points[ options.ort ]; + + // Call the event handler with the event [ and additional data ]. + callback ( e, data ); + }; + + var methods = []; + + // Bind a closure on the target for every event type. + events.split(' ').forEach(function( eventName ){ + element.addEventListener(eventName, method, supportsPassive ? { passive: true } : false); + methods.push([eventName, method]); + }); + + return methods; + } + + // Provide a clean event with standardized offset values. + function fixEvent ( e, pageOffset ) { + + // Filter the event to register the type, which can be + // touch, mouse or pointer. Offset changes need to be + // made on an event specific basis. + var touch = e.type.indexOf('touch') === 0; + var mouse = e.type.indexOf('mouse') === 0; + var pointer = e.type.indexOf('pointer') === 0; + + var x; + var y; + + // IE10 implemented pointer events with a prefix; + if ( e.type.indexOf('MSPointer') === 0 ) { + pointer = true; + } + + if ( touch ) { + + // Fix bug when user touches with two or more fingers on mobile devices. + // It's useful when you have two or more sliders on one page, + // that can be touched simultaneously. + // #649, #663, #668 + if ( e.touches.length > 1 ) { + return false; + } + + // noUiSlider supports one movement at a time, + // so we can select the first 'changedTouch'. + x = e.changedTouches[0].pageX; + y = e.changedTouches[0].pageY; + } + + pageOffset = pageOffset || getPageOffset(scope_Document); + + if ( mouse || pointer ) { + x = e.clientX + pageOffset.x; + y = e.clientY + pageOffset.y; + } + + e.pageOffset = pageOffset; + e.points = [x, y]; + e.cursor = mouse || pointer; // Fix #435 + + return e; + } + + // Translate a coordinate in the document to a percentage on the slider + function calcPointToPercentage ( calcPoint ) { + var location = calcPoint - offset(scope_Base, options.ort); + var proposal = ( location * 100 ) / baseSize(); + return options.dir ? 100 - proposal : proposal; + } + + // Find handle closest to a certain percentage on the slider + function getClosestHandle ( proposal ) { + + var closest = 100; + var handleNumber = false; + + scope_Handles.forEach(function(handle, index){ + + // Disabled handles are ignored + if ( handle.hasAttribute('disabled') ) { + return; + } + + var pos = Math.abs(scope_Locations[index] - proposal); + + if ( pos < closest ) { + handleNumber = index; + closest = pos; + } + }); + + return handleNumber; + } + + // Moves handle(s) by a percentage + // (bool, % to move, [% where handle started, ...], [index in scope_Handles, ...]) + function moveHandles ( upward, proposal, locations, handleNumbers ) { + + var proposals = locations.slice(); + + var b = [!upward, upward]; + var f = [upward, !upward]; + + // Copy handleNumbers so we don't change the dataset + handleNumbers = handleNumbers.slice(); + + // Check to see which handle is 'leading'. + // If that one can't move the second can't either. + if ( upward ) { + handleNumbers.reverse(); + } + + // Step 1: get the maximum percentage that any of the handles can move + if ( handleNumbers.length > 1 ) { + + handleNumbers.forEach(function(handleNumber, o) { + + var to = checkHandlePosition(proposals, handleNumber, proposals[handleNumber] + proposal, b[o], f[o], false); + + // Stop if one of the handles can't move. + if ( to === false ) { + proposal = 0; + } else { + proposal = to - proposals[handleNumber]; + proposals[handleNumber] = to; + } + }); + } + + // If using one handle, check backward AND forward + else { + b = f = [true]; + } + + var state = false; + + // Step 2: Try to set the handles with the found percentage + handleNumbers.forEach(function(handleNumber, o) { + state = setHandle(handleNumber, locations[handleNumber] + proposal, b[o], f[o]) || state; + }); + + // Step 3: If a handle moved, fire events + if ( state ) { + handleNumbers.forEach(function(handleNumber){ + fireEvent('update', handleNumber); + fireEvent('slide', handleNumber); + }); + } + } + + // External event handling + function fireEvent ( eventName, handleNumber, tap ) { + + Object.keys(scope_Events).forEach(function( targetEvent ) { + + var eventType = targetEvent.split('.')[0]; + + if ( eventName === eventType ) { + scope_Events[targetEvent].forEach(function( callback ) { + + callback.call( + // Use the slider public API as the scope ('this') + scope_Self, + // Return values as array, so arg_1[arg_2] is always valid. + scope_Values.map(options.format.to), + // Handle index, 0 or 1 + handleNumber, + // Unformatted slider values + scope_Values.slice(), + // Event is fired by tap, true or false + tap || false, + // Left offset of the handle, in relation to the slider + scope_Locations.slice() + ); + }); + } + }); + } + + + // Fire 'end' when a mouse or pen leaves the document. + function documentLeave ( event, data ) { + if ( event.type === "mouseout" && event.target.nodeName === "HTML" && event.relatedTarget === null ){ + eventEnd (event, data); + } + } + + // Handle movement on document for handle and range drag. + function eventMove ( event, data ) { + + // Fix #498 + // Check value of .buttons in 'start' to work around a bug in IE10 mobile (data.buttonsProperty). + // https://connect.microsoft.com/IE/feedback/details/927005/mobile-ie10-windows-phone-buttons-property-of-pointermove-event-always-zero + // IE9 has .buttons and .which zero on mousemove. + // Firefox breaks the spec MDN defines. + if ( navigator.appVersion.indexOf("MSIE 9") === -1 && event.buttons === 0 && data.buttonsProperty !== 0 ) { + return eventEnd(event, data); + } + + // Check if we are moving up or down + var movement = (options.dir ? -1 : 1) * (event.calcPoint - data.startCalcPoint); + + // Convert the movement into a percentage of the slider width/height + var proposal = (movement * 100) / data.baseSize; + + moveHandles(movement > 0, proposal, data.locations, data.handleNumbers); + } + + // Unbind move events on document, call callbacks. + function eventEnd ( event, data ) { + + // The handle is no longer active, so remove the class. + if ( scope_ActiveHandle ) { + removeClass(scope_ActiveHandle, options.cssClasses.active); + scope_ActiveHandle = false; + } + + // Remove cursor styles and text-selection events bound to the body. + if ( event.cursor ) { + scope_Body.style.cursor = ''; + scope_Body.removeEventListener('selectstart', preventDefault); + } + + // Unbind the move and end events, which are added on 'start'. + scope_Listeners.forEach(function( c ) { + scope_DocumentElement.removeEventListener(c[0], c[1]); + }); + + // Remove dragging class. + removeClass(scope_Target, options.cssClasses.drag); + + setZindex(); + + data.handleNumbers.forEach(function(handleNumber){ + fireEvent('change', handleNumber); + fireEvent('set', handleNumber); + fireEvent('end', handleNumber); + }); + } + + // Bind move events on document. + function eventStart ( event, data ) { + + if ( data.handleNumbers.length === 1 ) { + + var handle = scope_Handles[data.handleNumbers[0]]; + + // Ignore 'disabled' handles + if ( handle.hasAttribute('disabled') ) { + return false; + } + + // Mark the handle as 'active' so it can be styled. + scope_ActiveHandle = handle.children[0]; + addClass(scope_ActiveHandle, options.cssClasses.active); + } + + // A drag should never propagate up to the 'tap' event. + event.stopPropagation(); + + // Attach the move and end events. + var moveEvent = attachEvent(actions.move, scope_DocumentElement, eventMove, { + startCalcPoint: event.calcPoint, + baseSize: baseSize(), + pageOffset: event.pageOffset, + handleNumbers: data.handleNumbers, + buttonsProperty: event.buttons, + locations: scope_Locations.slice() + }); + + var endEvent = attachEvent(actions.end, scope_DocumentElement, eventEnd, { + handleNumbers: data.handleNumbers + }); + + var outEvent = attachEvent("mouseout", scope_DocumentElement, documentLeave, { + handleNumbers: data.handleNumbers + }); + + scope_Listeners = moveEvent.concat(endEvent, outEvent); + + // Text selection isn't an issue on touch devices, + // so adding cursor styles can be skipped. + if ( event.cursor ) { + + // Prevent the 'I' cursor and extend the range-drag cursor. + scope_Body.style.cursor = getComputedStyle(event.target).cursor; + + // Mark the target with a dragging state. + if ( scope_Handles.length > 1 ) { + addClass(scope_Target, options.cssClasses.drag); + } + + // Prevent text selection when dragging the handles. + // In noUiSlider <= 9.2.0, this was handled by calling preventDefault on mouse/touch start/move, + // which is scroll blocking. The selectstart event is supported by FireFox starting from version 52, + // meaning the only holdout is iOS Safari. This doesn't matter: text selection isn't triggered there. + // The 'cursor' flag is false. + // See: http://caniuse.com/#search=selectstart + scope_Body.addEventListener('selectstart', preventDefault, false); + } + + data.handleNumbers.forEach(function(handleNumber){ + fireEvent('start', handleNumber); + }); + } + + // Move closest handle to tapped location. + function eventTap ( event ) { + + // The tap event shouldn't propagate up + event.stopPropagation(); + + var proposal = calcPointToPercentage(event.calcPoint); + var handleNumber = getClosestHandle(proposal); + + // Tackle the case that all handles are 'disabled'. + if ( handleNumber === false ) { + return false; + } + + // Flag the slider as it is now in a transitional state. + // Transition takes a configurable amount of ms (default 300). Re-enable the slider after that. + if ( !options.events.snap ) { + addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration); + } + + setHandle(handleNumber, proposal, true, true); + + setZindex(); + + fireEvent('slide', handleNumber, true); + fireEvent('update', handleNumber, true); + fireEvent('change', handleNumber, true); + fireEvent('set', handleNumber, true); + + if ( options.events.snap ) { + eventStart(event, { handleNumbers: [handleNumber] }); + } + } + + // Fires a 'hover' event for a hovered mouse/pen position. + function eventHover ( event ) { + + var proposal = calcPointToPercentage(event.calcPoint); + + var to = scope_Spectrum.getStep(proposal); + var value = scope_Spectrum.fromStepping(to); + + Object.keys(scope_Events).forEach(function( targetEvent ) { + if ( 'hover' === targetEvent.split('.')[0] ) { + scope_Events[targetEvent].forEach(function( callback ) { + callback.call( scope_Self, value ); + }); + } + }); + } + + // Attach events to several slider parts. + function bindSliderEvents ( behaviour ) { + + // Attach the standard drag event to the handles. + if ( !behaviour.fixed ) { + + scope_Handles.forEach(function( handle, index ){ + + // These events are only bound to the visual handle + // element, not the 'real' origin element. + attachEvent ( actions.start, handle.children[0], eventStart, { + handleNumbers: [index] + }); + }); + } + + // Attach the tap event to the slider base. + if ( behaviour.tap ) { + attachEvent (actions.start, scope_Base, eventTap, {}); + } + + // Fire hover events + if ( behaviour.hover ) { + attachEvent (actions.move, scope_Base, eventHover, { hover: true }); + } + + // Make the range draggable. + if ( behaviour.drag ){ + + scope_Connects.forEach(function( connect, index ){ + + if ( connect === false || index === 0 || index === scope_Connects.length - 1 ) { + return; + } + + var handleBefore = scope_Handles[index - 1]; + var handleAfter = scope_Handles[index]; + var eventHolders = [connect]; + + addClass(connect, options.cssClasses.draggable); + + // When the range is fixed, the entire range can + // be dragged by the handles. The handle in the first + // origin will propagate the start event upward, + // but it needs to be bound manually on the other. + if ( behaviour.fixed ) { + eventHolders.push(handleBefore.children[0]); + eventHolders.push(handleAfter.children[0]); + } + + eventHolders.forEach(function( eventHolder ) { + attachEvent ( actions.start, eventHolder, eventStart, { + handles: [handleBefore, handleAfter], + handleNumbers: [index - 1, index] + }); + }); + }); + } + } + + + // Split out the handle positioning logic so the Move event can use it, too + function checkHandlePosition ( reference, handleNumber, to, lookBackward, lookForward, getValue ) { + + // For sliders with multiple handles, limit movement to the other handle. + // Apply the margin option by adding it to the handle positions. + if ( scope_Handles.length > 1 ) { + + if ( lookBackward && handleNumber > 0 ) { + to = Math.max(to, reference[handleNumber - 1] + options.margin); + } + + if ( lookForward && handleNumber < scope_Handles.length - 1 ) { + to = Math.min(to, reference[handleNumber + 1] - options.margin); + } + } + + // The limit option has the opposite effect, limiting handles to a + // maximum distance from another. Limit must be > 0, as otherwise + // handles would be unmoveable. + if ( scope_Handles.length > 1 && options.limit ) { + + if ( lookBackward && handleNumber > 0 ) { + to = Math.min(to, reference[handleNumber - 1] + options.limit); + } + + if ( lookForward && handleNumber < scope_Handles.length - 1 ) { + to = Math.max(to, reference[handleNumber + 1] - options.limit); + } + } + + // The padding option keeps the handles a certain distance from the + // edges of the slider. Padding must be > 0. + if ( options.padding ) { + + if ( handleNumber === 0 ) { + to = Math.max(to, options.padding); + } + + if ( handleNumber === scope_Handles.length - 1 ) { + to = Math.min(to, 100 - options.padding); + } + } + + to = scope_Spectrum.getStep(to); + + // Limit percentage to the 0 - 100 range + to = limit(to); + + // Return false if handle can't move + if ( to === reference[handleNumber] && !getValue ) { + return false; + } + + return to; + } + + function toPct ( pct ) { + return pct + '%'; + } + + // Updates scope_Locations and scope_Values, updates visual state + function updateHandlePosition ( handleNumber, to ) { + + // Update locations. + scope_Locations[handleNumber] = to; + + // Convert the value to the slider stepping/range. + scope_Values[handleNumber] = scope_Spectrum.fromStepping(to); + + // Called synchronously or on the next animationFrame + var stateUpdate = function() { + scope_Handles[handleNumber].style[options.style] = toPct(to); + updateConnect(handleNumber); + updateConnect(handleNumber + 1); + }; + + // Set the handle to the new position. + // Use requestAnimationFrame for efficient painting. + // No significant effect in Chrome, Edge sees dramatic performace improvements. + // Option to disable is useful for unit tests, and single-step debugging. + if ( window.requestAnimationFrame && options.useRequestAnimationFrame ) { + window.requestAnimationFrame(stateUpdate); + } else { + stateUpdate(); + } + } + + function setZindex ( ) { + + scope_HandleNumbers.forEach(function(handleNumber){ + // Handles before the slider middle are stacked later = higher, + // Handles after the middle later is lower + // [[7] [8] .......... | .......... [5] [4] + var dir = (scope_Locations[handleNumber] > 50 ? -1 : 1); + var zIndex = 3 + (scope_Handles.length + (dir * handleNumber)); + scope_Handles[handleNumber].childNodes[0].style.zIndex = zIndex; + }); + } + + // Test suggested values and apply margin, step. + function setHandle ( handleNumber, to, lookBackward, lookForward ) { + + to = checkHandlePosition(scope_Locations, handleNumber, to, lookBackward, lookForward, false); + + if ( to === false ) { + return false; + } + + updateHandlePosition(handleNumber, to); + + return true; + } + + // Updates style attribute for connect nodes + function updateConnect ( index ) { + + // Skip connects set to false + if ( !scope_Connects[index] ) { + return; + } + + var l = 0; + var h = 100; + + if ( index !== 0 ) { + l = scope_Locations[index - 1]; + } + + if ( index !== scope_Connects.length - 1 ) { + h = scope_Locations[index]; + } + + scope_Connects[index].style[options.style] = toPct(l); + scope_Connects[index].style[options.styleOposite] = toPct(100 - h); + } + + // ... + function setValue ( to, handleNumber ) { + + // Setting with null indicates an 'ignore'. + // Inputting 'false' is invalid. + if ( to === null || to === false ) { + return; + } + + // If a formatted number was passed, attemt to decode it. + if ( typeof to === 'number' ) { + to = String(to); + } + + to = options.format.from(to); + + // Request an update for all links if the value was invalid. + // Do so too if setting the handle fails. + if ( to !== false && !isNaN(to) ) { + setHandle(handleNumber, scope_Spectrum.toStepping(to), false, false); + } + } + + // Set the slider value. + function valueSet ( input, fireSetEvent ) { + + var values = asArray(input); + var isInit = scope_Locations[0] === undefined; + + // Event fires by default + fireSetEvent = (fireSetEvent === undefined ? true : !!fireSetEvent); + + values.forEach(setValue); + + // Animation is optional. + // Make sure the initial values were set before using animated placement. + if ( options.animate && !isInit ) { + addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration); + } + + // Now that all base values are set, apply constraints + scope_HandleNumbers.forEach(function(handleNumber){ + setHandle(handleNumber, scope_Locations[handleNumber], true, false); + }); + + setZindex(); + + scope_HandleNumbers.forEach(function(handleNumber){ + + fireEvent('update', handleNumber); + + // Fire the event only for handles that received a new value, as per #579 + if ( values[handleNumber] !== null && fireSetEvent ) { + fireEvent('set', handleNumber); + } + }); + } + + // Reset slider to initial values + function valueReset ( fireSetEvent ) { + valueSet(options.start, fireSetEvent); + } + + // Get the slider value. + function valueGet ( ) { + + var values = scope_Values.map(options.format.to); + + // If only one handle is used, return a single value. + if ( values.length === 1 ){ + return values[0]; + } + + return values; + } + + // Removes classes from the root and empties it. + function destroy ( ) { + + for ( var key in options.cssClasses ) { + if ( !options.cssClasses.hasOwnProperty(key) ) { continue; } + removeClass(scope_Target, options.cssClasses[key]); + } + + while (scope_Target.firstChild) { + scope_Target.removeChild(scope_Target.firstChild); + } + + delete scope_Target.noUiSlider; + } + + // Get the current step size for the slider. + function getCurrentStep ( ) { + + // Check all locations, map them to their stepping point. + // Get the step point, then find it in the input list. + return scope_Locations.map(function( location, index ){ + + var nearbySteps = scope_Spectrum.getNearbySteps( location ); + var value = scope_Values[index]; + var increment = nearbySteps.thisStep.step; + var decrement = null; + + // If the next value in this step moves into the next step, + // the increment is the start of the next step - the current value + if ( increment !== false ) { + if ( value + increment > nearbySteps.stepAfter.startValue ) { + increment = nearbySteps.stepAfter.startValue - value; + } + } + + + // If the value is beyond the starting point + if ( value > nearbySteps.thisStep.startValue ) { + decrement = nearbySteps.thisStep.step; + } + + else if ( nearbySteps.stepBefore.step === false ) { + decrement = false; + } + + // If a handle is at the start of a step, it always steps back into the previous step first + else { + decrement = value - nearbySteps.stepBefore.highestStep; + } + + + // Now, if at the slider edges, there is not in/decrement + if ( location === 100 ) { + increment = null; + } + + else if ( location === 0 ) { + decrement = null; + } + + // As per #391, the comparison for the decrement step can have some rounding issues. + var stepDecimals = scope_Spectrum.countStepDecimals(); + + // Round per #391 + if ( increment !== null && increment !== false ) { + increment = Number(increment.toFixed(stepDecimals)); + } + + if ( decrement !== null && decrement !== false ) { + decrement = Number(decrement.toFixed(stepDecimals)); + } + + return [decrement, increment]; + }); + } + + // Attach an event to this slider, possibly including a namespace + function bindEvent ( namespacedEvent, callback ) { + scope_Events[namespacedEvent] = scope_Events[namespacedEvent] || []; + scope_Events[namespacedEvent].push(callback); + + // If the event bound is 'update,' fire it immediately for all handles. + if ( namespacedEvent.split('.')[0] === 'update' ) { + scope_Handles.forEach(function(a, index){ + fireEvent('update', index); + }); + } + } + + // Undo attachment of event + function removeEvent ( namespacedEvent ) { + + var event = namespacedEvent && namespacedEvent.split('.')[0]; + var namespace = event && namespacedEvent.substring(event.length); + + Object.keys(scope_Events).forEach(function( bind ){ + + var tEvent = bind.split('.')[0], + tNamespace = bind.substring(tEvent.length); + + if ( (!event || event === tEvent) && (!namespace || namespace === tNamespace) ) { + delete scope_Events[bind]; + } + }); + } + + // Updateable: margin, limit, padding, step, range, animate, snap + function updateOptions ( optionsToUpdate, fireSetEvent ) { + + // Spectrum is created using the range, snap, direction and step options. + // 'snap' and 'step' can be updated. + // If 'snap' and 'step' are not passed, they should remain unchanged. + var v = valueGet(); + + var updateAble = ['margin', 'limit', 'padding', 'range', 'animate', 'snap', 'step', 'format']; + + // Only change options that we're actually passed to update. + updateAble.forEach(function(name){ + if ( optionsToUpdate[name] !== undefined ) { + originalOptions[name] = optionsToUpdate[name]; + } + }); + + var newOptions = testOptions(originalOptions); + + // Load new options into the slider state + updateAble.forEach(function(name){ + if ( optionsToUpdate[name] !== undefined ) { + options[name] = newOptions[name]; + } + }); + + scope_Spectrum = newOptions.spectrum; + + // Limit, margin and padding depend on the spectrum but are stored outside of it. (#677) + options.margin = newOptions.margin; + options.limit = newOptions.limit; + options.padding = newOptions.padding; + + // Update pips, removes existing. + if ( options.pips ) { + pips(options.pips); + } + + // Invalidate the current positioning so valueSet forces an update. + scope_Locations = []; + valueSet(optionsToUpdate.start || v, fireSetEvent); + } + + // Throw an error if the slider was already initialized. + if ( scope_Target.noUiSlider ) { + throw new Error("noUiSlider (" + VERSION + "): Slider was already initialized."); + } + + // Create the base element, initialise HTML and set classes. + // Add handles and connect elements. + addSlider(scope_Target); + addElements(options.connect, scope_Base); + + scope_Self = { + destroy: destroy, + steps: getCurrentStep, + on: bindEvent, + off: removeEvent, + get: valueGet, + set: valueSet, + reset: valueReset, + // Exposed for unit testing, don't use this in your application. + __moveHandles: function(a, b, c) { moveHandles(a, b, scope_Locations, c); }, + options: originalOptions, // Issue #600, #678 + updateOptions: updateOptions, + target: scope_Target, // Issue #597 + removePips: removePips, + pips: pips // Issue #594 + }; + + // Attach user events. + bindSliderEvents(options.events); + + // Use the public value method to set the start values. + valueSet(options.start); + + if ( options.pips ) { + pips(options.pips); + } + + if ( options.tooltips ) { + tooltips(); + } + + aria(); + + return scope_Self; + +} + + + // Run the standard initializer + function initialize ( target, originalOptions ) { + + if ( !target || !target.nodeName ) { + throw new Error("noUiSlider (" + VERSION + "): create requires a single element, got: " + target); + } + + // Test the options and create the slider environment; + var options = testOptions( originalOptions, target ); + var api = closure( target, options, originalOptions ); + + target.noUiSlider = api; + + return api; + } + + // Use an object instead of a function for future expansibility; + return { + version: VERSION, + create: initialize + }; + +})); \ No newline at end of file diff --git a/plugins/noUiSlider.10.0.0/nouislider.min.css b/plugins/noUiSlider.10.0.0/nouislider.min.css new file mode 100644 index 0000000..fc1a3b3 --- /dev/null +++ b/plugins/noUiSlider.10.0.0/nouislider.min.css @@ -0,0 +1 @@ +/*! nouislider - 10.0.0 - 2017-05-28 14:52:48 */.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative;z-index:1}.noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-origin{position:absolute;height:0;width:0}.noUi-handle{position:relative;z-index:1}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:top .3s,right .3s,bottom .3s,left .3s;transition:top .3s,right .3s,bottom .3s,left .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-base,.noUi-handle{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-connect{background:#3FB8AF;border-radius:4px;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#B8B8B8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-large,.noUi-marker-sub{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate3d(-50%,50%,0);transform:translate3d(-50%,50%,0)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0);padding-left:25px}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%} \ No newline at end of file diff --git a/plugins/noUiSlider.10.0.0/nouislider.min.js b/plugins/noUiSlider.10.0.0/nouislider.min.js new file mode 100644 index 0000000..b6f3032 --- /dev/null +++ b/plugins/noUiSlider.10.0.0/nouislider.min.js @@ -0,0 +1,3 @@ +/*! nouislider - 10.0.0 - 2017-05-28 14:52:49 */ + +!function(a){"function"==typeof define&&define.amd?define([],a):"object"==typeof exports?module.exports=a():window.noUiSlider=a()}(function(){"use strict";function a(a){return"object"==typeof a&&"function"==typeof a.to&&"function"==typeof a.from}function b(a){a.parentElement.removeChild(a)}function c(a){a.preventDefault()}function d(a){return a.filter(function(a){return this[a]?!1:this[a]=!0},{})}function e(a,b){return Math.round(a/b)*b}function f(a,b){var c=a.getBoundingClientRect(),d=a.ownerDocument,e=d.documentElement,f=o(d);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(f.x=0),b?c.top+f.y-e.clientTop:c.left+f.x-e.clientLeft}function g(a){return"number"==typeof a&&!isNaN(a)&&isFinite(a)}function h(a,b,c){c>0&&(l(a,b),setTimeout(function(){m(a,b)},c))}function i(a){return Math.max(Math.min(a,100),0)}function j(a){return Array.isArray(a)?a:[a]}function k(a){a=String(a);var b=a.split(".");return b.length>1?b[1].length:0}function l(a,b){a.classList?a.classList.add(b):a.className+=" "+b}function m(a,b){a.classList?a.classList.remove(b):a.className=a.className.replace(new RegExp("(^|\\b)"+b.split(" ").join("|")+"(\\b|$)","gi")," ")}function n(a,b){return a.classList?a.classList.contains(b):new RegExp("\\b"+b+"\\b").test(a.className)}function o(a){var b=void 0!==window.pageXOffset,c="CSS1Compat"===(a.compatMode||""),d=b?window.pageXOffset:c?a.documentElement.scrollLeft:a.body.scrollLeft,e=b?window.pageYOffset:c?a.documentElement.scrollTop:a.body.scrollTop;return{x:d,y:e}}function p(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function q(){var a=!1;try{var b=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("test",null,b)}catch(c){}return a}function r(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function s(a,b){return 100/(b-a)}function t(a,b){return 100*b/(a[1]-a[0])}function u(a,b){return t(a,a[0]<0?b+Math.abs(a[0]):b-a[0])}function v(a,b){return b*(a[1]-a[0])/100+a[0]}function w(a,b){for(var c=1;a>=b[c];)c+=1;return c}function x(a,b,c){if(c>=a.slice(-1)[0])return 100;var d,e,f,g,h=w(c,a);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],f+u([d,e],c)/s(f,g)}function y(a,b,c){if(c>=100)return a.slice(-1)[0];var d,e,f,g,h=w(c,b);return d=a[h-1],e=a[h],f=b[h-1],g=b[h],v([d,e],(c-f)*s(f,g))}function z(a,b,c,d){if(100===d)return d;var f,g,h=w(d,a);return c?(f=a[h-1],g=a[h],d-f>(g-f)/2?g:f):b[h-1]?a[h-1]+e(d-a[h-1],b[h-1]):d}function A(a,b,c){var d;if("number"==typeof b&&(b=[b]),"[object Array]"!==Object.prototype.toString.call(b))throw new Error("noUiSlider ("+$+"): 'range' contains invalid value.");if(d="min"===a?0:"max"===a?100:parseFloat(a),!g(d)||!g(b[0]))throw new Error("noUiSlider ("+$+"): 'range' value isn't numeric.");c.xPct.push(d),c.xVal.push(b[0]),d?c.xSteps.push(isNaN(b[1])?!1:b[1]):isNaN(b[1])||(c.xSteps[0]=b[1]),c.xHighestCompleteStep.push(0)}function B(a,b,c){if(!b)return!0;c.xSteps[a]=t([c.xVal[a],c.xVal[a+1]],b)/s(c.xPct[a],c.xPct[a+1]);var d=(c.xVal[a+1]-c.xVal[a])/c.xNumSteps[a],e=Math.ceil(Number(d.toFixed(3))-1),f=c.xVal[a]+c.xNumSteps[a]*e;c.xHighestCompleteStep[a]=f}function C(a,b,c){this.xPct=[],this.xVal=[],this.xSteps=[c||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=b;var d,e=[];for(d in a)a.hasOwnProperty(d)&&e.push([a[d],d]);for(e.sort(e.length&&"object"==typeof e[0][0]?function(a,b){return a[0][0]-b[0][0]}:function(a,b){return a[0]-b[0]}),d=0;d=50)throw new Error("noUiSlider ("+$+"): 'padding' option must be less than half the range.")}}function P(a,b){switch(b){case"ltr":a.dir=0;break;case"rtl":a.dir=1;break;default:throw new Error("noUiSlider ("+$+"): 'direction' option was not recognized.")}}function Q(a,b){if("string"!=typeof b)throw new Error("noUiSlider ("+$+"): 'behaviour' must be a string containing options.");var c=b.indexOf("tap")>=0,d=b.indexOf("drag")>=0,e=b.indexOf("fixed")>=0,f=b.indexOf("snap")>=0,g=b.indexOf("hover")>=0;if(e){if(2!==a.handles)throw new Error("noUiSlider ("+$+"): 'fixed' behaviour must be used with 2 handles");M(a,a.start[1]-a.start[0])}a.events={tap:c||f,drag:d,fixed:e,snap:f,hover:g}}function R(a,b){if(b!==!1)if(b===!0){a.tooltips=[];for(var c=0;c=l;l=e(l,h)){for(n=ta.toStepping(l),o=n-k,r=o/a,s=Math.round(r),t=o/s,m=1;s>=m;m+=1)p=k+m*t,f[p.toFixed(5)]=["x",0];q=c.indexOf(l)>-1?1:"steps"===b?2:0,!g&&i&&(q=0),l===v&&j||(f[n.toFixed(5)]=[l,q]),k=n}}),f}function B(a,b,c){function d(a,b){var c=b===e.cssClasses.value,d=c?j:m,f=c?h:i;return b+" "+d[e.ort]+" "+f[a]}function f(a,f){f[1]=f[1]&&b?b(f[0],f[1]):f[1];var h=k(g,!1);h.className=d(f[1],e.cssClasses.marker),h.style[e.style]=a+"%",f[1]&&(h=k(g,!1),h.className=d(f[1],e.cssClasses.value),h.style[e.style]=a+"%",h.innerText=c.to(f[0]))}var g=xa.createElement("div"),h=[e.cssClasses.valueNormal,e.cssClasses.valueLarge,e.cssClasses.valueSub],i=[e.cssClasses.markerNormal,e.cssClasses.markerLarge,e.cssClasses.markerSub],j=[e.cssClasses.valueHorizontal,e.cssClasses.valueVertical],m=[e.cssClasses.markerHorizontal,e.cssClasses.markerVertical];return l(g,e.cssClasses.pips),l(g,0===e.ort?e.cssClasses.pipsHorizontal:e.cssClasses.pipsVertical),Object.keys(a).forEach(function(b){f(b,a[b])}),g}function C(){la&&(b(la),la=null)}function D(a){C();var b=a.mode,c=a.density||1,d=a.filter||!1,e=a.values||!1,f=a.stepped||!1,g=z(b,e,f),h=A(c,b,g),i=a.format||{to:Math.round};return la=pa.appendChild(B(h,d,i))}function E(){var a=ha.getBoundingClientRect(),b="offset"+["Width","Height"][e.ort];return 0===e.ort?a.width||ha[b]:a.height||ha[b]}function F(a,b,c,d){var f=function(b){return pa.hasAttribute("disabled")?!1:n(pa,e.cssClasses.tap)?!1:(b=G(b,d.pageOffset))?a===ma.start&&void 0!==b.buttons&&b.buttons>1?!1:d.hover&&b.buttons?!1:(oa||b.preventDefault(),b.calcPoint=b.points[e.ort],void c(b,d)):!1},g=[];return a.split(" ").forEach(function(a){b.addEventListener(a,f,oa?{passive:!0}:!1),g.push([a,f])}),g}function G(a,b){var c,d,e=0===a.type.indexOf("touch"),f=0===a.type.indexOf("mouse"),g=0===a.type.indexOf("pointer");if(0===a.type.indexOf("MSPointer")&&(g=!0),e){if(a.touches.length>1)return!1;c=a.changedTouches[0].pageX,d=a.changedTouches[0].pageY}return b=b||o(xa),(f||g)&&(c=a.clientX+b.x,d=a.clientY+b.y),a.pageOffset=b,a.points=[c,d],a.cursor=f||g,a}function H(a){var b=a-f(ha,e.ort),c=100*b/E();return e.dir?100-c:c}function I(a){var b=100,c=!1;return ia.forEach(function(d,e){if(!d.hasAttribute("disabled")){var f=Math.abs(qa[e]-a);b>f&&(c=e,b=f)}}),c}function J(a,b,c,d){var e=c.slice(),f=[!a,a],g=[a,!a];d=d.slice(),a&&d.reverse(),d.length>1?d.forEach(function(a,c){var d=S(e,a,e[a]+b,f[c],g[c],!1);d===!1?b=0:(b=d-e[a],e[a]=d)}):f=g=[!0];var h=!1;d.forEach(function(a,d){h=W(a,c[a]+b,f[d],g[d])||h}),h&&d.forEach(function(a){K("update",a),K("slide",a)})}function K(a,b,c){Object.keys(va).forEach(function(d){var f=d.split(".")[0];a===f&&va[d].forEach(function(a){a.call(ka,ua.map(e.format.to),b,ua.slice(),c||!1,qa.slice())})})}function L(a,b){"mouseout"===a.type&&"HTML"===a.target.nodeName&&null===a.relatedTarget&&N(a,b)}function M(a,b){if(-1===navigator.appVersion.indexOf("MSIE 9")&&0===a.buttons&&0!==b.buttonsProperty)return N(a,b);var c=(e.dir?-1:1)*(a.calcPoint-b.startCalcPoint),d=100*c/b.baseSize;J(c>0,d,b.locations,b.handleNumbers)}function N(a,b){sa&&(m(sa,e.cssClasses.active),sa=!1),a.cursor&&(za.style.cursor="",za.removeEventListener("selectstart",c)),wa.forEach(function(a){ya.removeEventListener(a[0],a[1])}),m(pa,e.cssClasses.drag),V(),b.handleNumbers.forEach(function(a){K("change",a),K("set",a),K("end",a)})}function O(a,b){if(1===b.handleNumbers.length){var d=ia[b.handleNumbers[0]];if(d.hasAttribute("disabled"))return!1;sa=d.children[0],l(sa,e.cssClasses.active)}a.stopPropagation();var f=F(ma.move,ya,M,{startCalcPoint:a.calcPoint,baseSize:E(),pageOffset:a.pageOffset,handleNumbers:b.handleNumbers,buttonsProperty:a.buttons,locations:qa.slice()}),g=F(ma.end,ya,N,{handleNumbers:b.handleNumbers}),h=F("mouseout",ya,L,{handleNumbers:b.handleNumbers});wa=f.concat(g,h),a.cursor&&(za.style.cursor=getComputedStyle(a.target).cursor,ia.length>1&&l(pa,e.cssClasses.drag),za.addEventListener("selectstart",c,!1)),b.handleNumbers.forEach(function(a){K("start",a)})}function P(a){a.stopPropagation();var b=H(a.calcPoint),c=I(b);return c===!1?!1:(e.events.snap||h(pa,e.cssClasses.tap,e.animationDuration),W(c,b,!0,!0),V(),K("slide",c,!0),K("update",c,!0),K("change",c,!0),K("set",c,!0),void(e.events.snap&&O(a,{handleNumbers:[c]})))}function Q(a){var b=H(a.calcPoint),c=ta.getStep(b),d=ta.fromStepping(c);Object.keys(va).forEach(function(a){"hover"===a.split(".")[0]&&va[a].forEach(function(a){a.call(ka,d)})})}function R(a){a.fixed||ia.forEach(function(a,b){F(ma.start,a.children[0],O,{handleNumbers:[b]})}),a.tap&&F(ma.start,ha,P,{}),a.hover&&F(ma.move,ha,Q,{hover:!0}),a.drag&&ja.forEach(function(b,c){if(b!==!1&&0!==c&&c!==ja.length-1){var d=ia[c-1],f=ia[c],g=[b];l(b,e.cssClasses.draggable),a.fixed&&(g.push(d.children[0]),g.push(f.children[0])),g.forEach(function(a){F(ma.start,a,O,{handles:[d,f],handleNumbers:[c-1,c]})})}})}function S(a,b,c,d,f,g){return ia.length>1&&(d&&b>0&&(c=Math.max(c,a[b-1]+e.margin)),f&&b1&&e.limit&&(d&&b>0&&(c=Math.min(c,a[b-1]+e.limit)),f&&b50?-1:1,c=3+(ia.length+b*a);ia[a].childNodes[0].style.zIndex=c})}function W(a,b,c,d){return b=S(qa,a,b,c,d,!1),b===!1?!1:(U(a,b),!0)}function Y(a){if(ja[a]){var b=0,c=100;0!==a&&(b=qa[a-1]),a!==ja.length-1&&(c=qa[a]),ja[a].style[e.style]=T(b),ja[a].style[e.styleOposite]=T(100-c)}}function Z(a,b){null!==a&&a!==!1&&("number"==typeof a&&(a=String(a)),a=e.format.from(a),a===!1||isNaN(a)||W(b,ta.toStepping(a),!1,!1))}function _(a,b){var c=j(a),d=void 0===qa[0];b=void 0===b?!0:!!b,c.forEach(Z),e.animate&&!d&&h(pa,e.cssClasses.tap,e.animationDuration),ra.forEach(function(a){W(a,qa[a],!0,!1)}),V(),ra.forEach(function(a){K("update",a),null!==c[a]&&b&&K("set",a)})}function aa(a){_(e.start,a)}function ba(){var a=ua.map(e.format.to);return 1===a.length?a[0]:a}function ca(){for(var a in e.cssClasses)e.cssClasses.hasOwnProperty(a)&&m(pa,e.cssClasses[a]);for(;pa.firstChild;)pa.removeChild(pa.firstChild);delete pa.noUiSlider}function da(){return qa.map(function(a,b){var c=ta.getNearbySteps(a),d=ua[b],e=c.thisStep.step,f=null;e!==!1&&d+e>c.stepAfter.startValue&&(e=c.stepAfter.startValue-d),f=d>c.thisStep.startValue?c.thisStep.step:c.stepBefore.step===!1?!1:d-c.stepBefore.highestStep,100===a?e=null:0===a&&(f=null);var g=ta.countStepDecimals();return null!==e&&e!==!1&&(e=Number(e.toFixed(g))),null!==f&&f!==!1&&(f=Number(f.toFixed(g))),[f,e]})}function ea(a,b){va[a]=va[a]||[],va[a].push(b),"update"===a.split(".")[0]&&ia.forEach(function(a,b){K("update",b)})}function fa(a){var b=a&&a.split(".")[0],c=b&&a.substring(b.length);Object.keys(va).forEach(function(a){var d=a.split(".")[0],e=a.substring(d.length);b&&b!==d||c&&c!==e||delete va[a]})}function ga(a,b){var c=ba(),d=["margin","limit","padding","range","animate","snap","step","format"];d.forEach(function(b){void 0!==a[b]&&(g[b]=a[b])});var f=X(g);d.forEach(function(b){void 0!==a[b]&&(e[b]=f[b])}),ta=f.spectrum,e.margin=f.margin,e.limit=f.limit,e.padding=f.padding,e.pips&&D(e.pips),qa=[],_(a.start||c,b)}var ha,ia,ja,ka,la,ma=p(),na=r(),oa=na&&q(),pa=a,qa=[],ra=[],sa=!1,ta=e.spectrum,ua=[],va={},wa=null,xa=a.ownerDocument,ya=xa.documentElement,za=xa.body;if(pa.noUiSlider)throw new Error("noUiSlider ("+$+"): Slider was already initialized.");return v(pa),u(e.connect,ha),ka={destroy:ca,steps:da,on:ea,off:fa,get:ba,set:_,reset:aa,__moveHandles:function(a,b,c){J(a,b,qa,c)},options:g,updateOptions:ga,target:pa,removePips:C,pips:D},R(e.events),_(e.start),e.pips&&D(e.pips),e.tooltips&&x(),y(),ka}function Z(a,b){if(!a||!a.nodeName)throw new Error("noUiSlider ("+$+"): create requires a single element, got: "+a);var c=X(b,a),d=Y(a,c,b);return a.noUiSlider=d,d}var $="10.0.0";C.prototype.getMargin=function(a){var b=this.xNumSteps[0];if(b&&a/b%1!==0)throw new Error("noUiSlider ("+$+"): 'limit', 'margin' and 'padding' must be divisible by step.");return 2===this.xPct.length?t(this.xVal,a):!1},C.prototype.toStepping=function(a){return a=x(this.xVal,this.xPct,a)},C.prototype.fromStepping=function(a){return y(this.xVal,this.xPct,a)},C.prototype.getStep=function(a){return a=z(this.xPct,this.xSteps,this.snap,a)},C.prototype.getNearbySteps=function(a){var b=w(a,this.xPct);return{stepBefore:{startValue:this.xVal[b-2],step:this.xNumSteps[b-2],highestStep:this.xHighestCompleteStep[b-2]},thisStep:{startValue:this.xVal[b-1],step:this.xNumSteps[b-1],highestStep:this.xHighestCompleteStep[b-1]},stepAfter:{startValue:this.xVal[b-0],step:this.xNumSteps[b-0],highestStep:this.xHighestCompleteStep[b-0]}}},C.prototype.countStepDecimals=function(){var a=this.xNumSteps.map(k);return Math.max.apply(null,a)},C.prototype.convert=function(a){return this.getStep(this.toStepping(a))};var _={to:function(a){return void 0!==a&&a.toFixed(2)},from:Number};return{version:$,create:Z}}); \ No newline at end of file diff --git a/plugins/photoswipe/default-skin/default-skin.css b/plugins/photoswipe/default-skin/default-skin.css new file mode 100644 index 0000000..c961632 --- /dev/null +++ b/plugins/photoswipe/default-skin/default-skin.css @@ -0,0 +1,482 @@ +/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */ +/* + + Contents: + + 1. Buttons + 2. Share modal and links + 3. Index indicator ("1 of X" counter) + 4. Caption + 5. Loading indicator + 6. Additional styles (root element, top bar, idle state, hidden state, etc.) + +*/ +/* + + 1. Buttons + + */ +/*