34282 lines
2.5 MiB
34282 lines
2.5 MiB
import { defineComponent, computed as computed$1, openBlock, createElementBlock, normalizeStyle, unref, createCommentVNode, toDisplayString as toDisplayString$1, normalizeClass, ref, watch, onMounted, nextTick, createElementVNode, Fragment, renderList, shallowRef, createTextVNode, createVNode, useSlots, inject, Transition, withCtx, createBlock, renderSlot, h, render as render$1, isVNode, getCurrentInstance, onUnmounted, isRef, Text, onBeforeUnmount, withDirectives, withModifiers, vShow, provide, reactive, toRefs, getCurrentScope, onScopeDispose, customRef, onUpdated, Teleport, useAttrs, mergeProps, cloneVNode, useCssVars, toRef, normalizeProps, withKeys, createSlots, resolveComponent, vModelSelect, vModelText, watchEffect, toHandlers, toHandlerKey, Comment } from "vue";
|
|
var index$13 = /* @__PURE__ */ (() => ":root{--global-primary-color: #009688;--global-normal-color: #1e9fff;--global-warm-color: #ffb800;--global-danger-color: #ff5722;--global-checked-color: #5fb878;--global-info-color: #31BDEC;--global-border-radius: 2px;--global-neutral-color-1: #FAFAFA;--global-neutral-color-2: #F6F6F6;--global-neutral-color-3: #eeeeee;--global-neutral-color-4: #e2e2e2;--global-neutral-color-5: #dddddd;--global-neutral-color-6: #d2d2d2;--global-neutral-color-7: #cccccc;--global-neutral-color-8: #c2c2c2}h1,h2,h3,h4,h5,h6{font-weight:400}a,body{color:#333}li{list-style:none}.layui-inline{position:relative;display:inline-block;vertical-align:middle}.layui-btn,.layui-edge,.layui-inline{vertical-align:middle}.layui-elip,.layui-form-checkbox span,.layui-form-pane .layui-form-label{text-overflow:ellipsis;white-space:nowrap}p,dd,dl,dt,h1,h2,h3,h4,h5,h6,ul,li,ol,td,th,pre,div,form,body,input,button,textarea{margin:0;padding:0}img{border:none;display:inline-block;vertical-align:middle}table{border-collapse:collapse;border-spacing:0}h4,h5,h6{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}body{line-height:1.6;color:#000000d9;font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{padding:0;line-height:0;margin:10px 0;border:none!important;border-bottom:1px solid #EEEEEE!important;clear:both;background:0 0}a{text-decoration:none}a:hover{color:#777}a cite{font-style:normal}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-btn,.layui-btn-group,.layui-edge{display:inline-block}.layui-disabled,.layui-disabled:hover{color:var(--global-neutral-color-6)!important;cursor:not-allowed!important}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-form-label,.layui-form-mid,.layui-input-block,.layui-input-inline,.layui-input-wrap,.layui-textarea{position:relative}.layui-border,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-iconpicker,.layui-iconpicker-main,.layui-input-split,.layui-layedit,.layui-layedit-tool,.layui-quote-nm,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after{border-color:var(--global-neutral-color-3)}.layui-form-checkbox,.layui-form-checkbox *,.layui-form-switch{display:inline-block;vertical-align:middle}.layui-iconpicker-list li,.layui-keyboard-list li,.layui-menu li,.layui-menu-body-title a:hover,.layui-menu-body-title>.layui-icon:hover{transition:all .3s}.layui-colorpicker-alpha-slider,.layui-colorpicker-side-slider,.layui-menu *,.layui-menu,.layui-nav{box-sizing:border-box}.layui-edge{width:0;border-width:6px;position:relative;border-style:dashed;border-color:transparent}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-border,.layui-border-black,.layui-border-blue,.layui-border-cyan,.layui-border-green,.layui-border-orange,.layui-border-red{border-width:1px;border-style:solid}.layui-border-red{border-color:#ff5722!important;color:#ff5722!important}.layui-border-orange{border-color:#ffb800!important;color:#ffb800!important}.layui-border-green{border-color:#009688!important;color:#009688!important}.layui-border-cyan{border-color:#2f4056!important;color:#2f4056!important}.layui-border-blue{border-color:#1e9fff!important;color:#1e9fff!important}.layui-border-black{border-color:#393d49!important;color:#393d49!important}.layui-bg-black,.layui-bg-blue,.layui-bg-cyan,.layui-bg-green,.layui-bg-orange,.layui-bg-red{color:#fff!important}.layui-bg-red{background-color:#ff5722!important}.layui-bg-orange{background-color:#ffb800!important}.layui-bg-green{background-color:#009688!important}.layui-bg-cyan{background-color:#2f4056!important}.layui-bg-blue{background-color:#1e9fff!important}.layui-bg-black{background-color:#393d49!important}.layui-bg-gray{background-color:#fafafa!important;color:#666!important}.layui-font-red{color:#ff5722!important}.layui-font-orange{color:#ffb800!important}.layui-font-green{color:#009688!important}.layui-font-cyan{color:#2f4056!important}.layui-font-blue{color:#01aaed!important}.layui-font-black{color:#000!important}.layui-font-gray{color:#c2c2c2!important}.layui-font-12{font-size:12px!important}.layui-font-14{font-size:14px!important}.layui-font-16{font-size:16px!important}.layui-font-18{font-size:18px!important}.layui-font-20{font-size:20px!important}.layui-font-22{font-size:22px!important}.layui-font-24{font-size:24px!important}.layui-font-26{font-size:26px!important}.layui-font-28{font-size:28px!important}.layui-font-30{font-size:30px!important}.layui-text{line-height:1.6;font-size:14px;color:#666}.layui-text h1,.layui-text h2,.layui-text h3{font-weight:500;color:#333}.layui-text h1{font-size:30px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text a:not(.layui-btn){color:#01aaed}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text ul{padding:5px 0 5px 15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text em{color:#999!important;padding-left:5px!important;padding-right:5px!important}.layui-text p{margin:10px 0}.layui-text p:first-child{margin-top:0}.layui-anim{-webkit-animation-duration:.3s;-webkit-animation-fill-mode:both;animation-duration:.3s;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{transition:all .2s;-webkit-transition:all .2s}@-webkit-keyframes layui-rotate{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{0%{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{0%{transform:translate3d(0,100%,0);opacity:.3}to{transform:translateZ(0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{0%{-webkit-transform:translate3d(0,15px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{0%{transform:translate3d(0,15px,0);opacity:.3}to{transform:translateZ(0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@keyframes layui-down{0%{opacity:.3;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translateZ(0)}}.layui-anim-down{animation-name:layui-down}@keyframes layui-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}to{opacity:1;transform:translateZ(0)}}.layui-anim-downbit{animation-name:layui-downbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}to{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}to{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}to{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@keyframes layui-scalesmall{0%{opacity:.3;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.layui-anim-scalesmall{animation-name:layui-scalesmall}@keyframes layui-scalesmall-spring{0%{opacity:.3;transform:scale(1.5)}80%{opacity:.8;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.layui-anim-scalesmall-spring{animation-name:layui-scalesmall-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}to{opacity:1}}@keyframes layui-fadein{0%{opacity:0}to{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}to{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}to{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout}\n")();
|
|
var index$12 = /* @__PURE__ */ (() => ".layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap;user-select:none}.layui-layer,.layui-layer-shade{position:fixed;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;background-color:#000}.layui-layer{top:0;left:0;box-shadow:1px 1px 50px #0000004d;background-color:#fff;border-radius:2px;padding:0;margin:0}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #eeeeee;box-shadow:1px 1px 5px #0003}.layui-layer-load{background:url(data:image/gif;base64,R0lGODlhJQAlAJECAL3L2AYrTv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgACACwAAAAAJQAlAAACi5SPqcvtDyGYIFpF690i8xUw3qJBwUlSadmcLqYmGQu6KDIeM13beGzYWWy3DlB4IYaMk+Dso2RWkFCfLPcRvFbZxFLUDTt21BW56TyjRep1e20+i+eYMR145W2eefj+6VFmgTQi+ECVY8iGxcg35phGo/iDFwlTyXWphwlm1imGRdcnuqhHeop6UAAAIfkEBQoAAgAsEAACAAQACwAAAgWMj6nLXAAh+QQFCgACACwVAAUACgALAAACFZQvgRi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwXABEADAADAAACBYyPqcsFACH5BAUKAAIALBUAFQAKAAsAAAITlGKZwWoMHYxqtmplxlNT7ixGAQAh+QQFCgACACwQABgABAALAAACBYyPqctcACH5BAUKAAIALAUAFQAKAAsAAAIVlC+BGL3Z3IlxUmUuhtR2LzHhsiEFACH5BAUKAAIALAEAEQAMAAMAAAIFjI+pywUAIfkEBQoAAgAsBQAFAAoACwAAAhOUYJnAagwdjGq2amXGU1PuLEYBACH5BAUKAAIALBAAAgAEAAsAAAIFhI+py1wAIfkEBQoAAgAsFQAFAAoACwAAAhWUL4AIvdnciXFSZS6G1HYvMeGyIQUAIfkEBQoAAgAsFwARAAwAAwAAAgWEj6nLBQAh+QQFCgACACwVABUACgALAAACE5RgmcBqDB2MarZqZcZTU+4sRgEAIfkEBQoAAgAsEAAYAAQACwAAAgWEj6nLXAAh+QQFCgACACwFABUACgALAAACFZQvgAi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwBABEADAADAAACBYSPqcsFADs=) center center no-repeat #eee}.layui-layer-ico{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAAA9CAYAAADYizcVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNui8sowAACAASURBVHic7Z15fFvVmfe/92qzJMtrvCQ2jp09TuwsQCAkISwJDVAoW0hombaQhgKlnU5pmc60A+3M0FK6dxhoGghLC0PCEjJAIW8gISQhwWSzHcfO4tix41heZNmSLFnS1T3vH7IUy1qdmPfTd8a/z8cfS/ee5/zuvbq/e855znOeKwkhBEkg3FYC1j0Eug6i2upQHU0ITycAkjEfOaMMOXcWmrz5aAoXIZkKk1WZEs563ezstVLV10WNy8bJfgedPg8A+XojU8wZVKbnsiAzj6VZhUwwmEaFV7Xb8NXV4D95DKWliYC1DbW3FwA5KwtNYRHakjJ0U6ajn1WJnJ07KrzCd5aAYyeqqwrVXYM6cBLhH7zOunzktCnIpkrk9AVoMpYi6SeMCq/D4aCpqYmWlhasVis2mw2n0wmAxWIhNzeXwsJCSkpKKCsrIyMjY1R41Z5ufLWH8R8/ir+5kUB7G2pvDwByVg6a8UXoSiejm1aOvmIucs64UeG1+vvY42rkQH8zRz1nOeXtplMJnm++1sIkwzjKjRO42FzKovTJFOoyk9YpJRKSam9AaXoLpfld1J6jKR2knFOOtvRGtGW3IGfPSPHUIlHXb2dTRxObO5updfakZFNhyeHW/FLuLChjljn7vHiV1tMM7N2Jt2oPyummlGy0E8swLFhE2sKlaC+aeF68qrsOxbaJQM9m1P7alGxkcwWanFvR5t6JbJp1XrwdHR3U1NRQV1dHe3t7Sjbjx49n1qxZVFZWUlBQcF68SksTA7u2M7D3Y5TmxpRstKWTSVt4JWlLrkFbUnZevA0DVt6yH+Sd3hqOes6mZFNunMAXsyq5JXs+M9LiNxBxhCTwNzyPv/4lVFstctZUNIWLkPPno8kuR7KUIBmyEV47wtlCwH4UtfMgAese1N4TAMi5FehmfhXdjHsAKaWDFsAfzzSwvq2eQw4bM8xZLM0pZEFGPhXp2ZQZLeRoDfQoXpo8TmpddqocnezssdLQH2wx5mXksrZoJvcXz0iRFRACz7Z38XzwV/xNJ9EWlaArr0A3ZQbaiWVo8guQ0zNQXQ4CnR0op5vwn2zAf7QWpa0FAF3ZFIzLbsC4/EaQUmUWKB1/xN+xHtV1CNk0AzljKZr0BcimCqS0MiRtDkLpQQw0obprCbiqUB07Ud0NweucPg9dwVq0Bfenfp2FoKqqik8//ZS2tjby8/MpKyujpKSEwsJCsrOzMZlMuN1u7HY7VquVlpYWmpqa6OwMtpBFRUVcdtllLFiwACnV8xUC93tv4dn6Nv7G42gvmoh+9jx002aiLZ2EpmACssWC6nQS6DiL0nwK//F6fEcOobSeDl7nydMwfuEmTNffkvJ1Fgie797DS92fUOM+w9S0AhalT2G+uZRZxvGU6HPJ1pqwK25afDbqPO0c7G9mj+skJwY6AKg0FfPVcVdwz7hFSDGuc5SQhKcTX+1/4K95GjlvLrpJt6It+xJS+kXJD9jTiXJyE/5Tm1G7DgdPvPJB9BXfRjLmJ7S1+jz88nQtv2mu4ZLMPFYVTGJlQRkT09KT8lp9Hv7SfpKNHafY39cFwPdKK/nBxAoK9caEtmqvnf7/3oT77TfQTZ5G2hVXYVh4JZq8xMcbsh34+EMGPvkIf+NxAEw33Y755juRsxK3isJvxX/2l/jbfoNsuQRt7iq0uSuRDMlbNeG3onT9BcW2EdW5HwBd0ffQTfgBki5xt9rpdLJz50527dpFcXExc+bMoaKiguzs5K240+nk0KFDVFdXc+bMGQCWLFnC0qVLsVgsCW1Vew/9b75C/+ZX0U2dSdqSa0hbfDWa/OTDANXeg2fHVgZ2bcd/oh4A862rMd/2ZeTsnIS2nX4Hf+j8kKc7djDXVMJt2fP5UvZcLtIntgvZburZz5v2gxx2Bx+YDxZczXfyryVfF9m91fzkJz/5SeiL8HTiO/AE/rpn0c28F8MlP0I78UYkffI+IoCkM6MpWICm6CpQ/ajdh1A7PgO/C03ePCSdOaad1efhscYDPNVSxwMXzeTxyZdwS/5EsrT6lHjTNTquyCpgeU4RPqGy39HN3t4OnAE/l2bmka7RxbRTe+24Nr2E570tmL5wE+l33YNhwRXI5tjHGXW+aUZ008vRV86HgIK/8Tj+4/WIAQ+6ydOR0mKLWPit+FofQ2l/Ct34B9Bf9DjanFuQtFmp8WrS0ViuQJu1HPChuvajOvciVCea9EuRNLEfPk6nk23btvHJJ5+wcOFCVqxYwaxZszAaEz9sQjAYDEycOJGpU6eiqipnzpyhpaUFr9dLcXExBoMhpp1q78H18nO433kD0w23YvnqWtIWXolsTv6QBJCMRvQzKzDMuxQUBf+JBvwNRxAeN7qpM5HiHH+n38HP29/j2a6PuTdvMT+e8EVuzKokU5Pa+Zo1Bhakl3FVxnT8IsAhdwuf9TfjVL3MN5Vg1pw73yFCEvgO/QLl+CvoL34Ew6WPIhnzUiKMOnFDFtqS5aDRoXYdINC5HySBtuhqhnc/BPCTU4d4oe04j06+mCemXkpBklYkHrJ1Bm4YV4JO1lDV18Xevk6EJHFdblF0YywErtdeYmDH/yF95d2kf3kNcub5ja1kczqGeQuQtFr8J4/hP34UEBgqL47R/RD4z/yEQNcL6C96FH3JE0i68xtrSNpsNNk3IMk61P4qVMdekASarOuIus5CsG3bNvbv38+yZctYsWIF6emp3cjDYTQamT59OhqNhtbWVlpaWhBCMHXq1OhunhC4XtmA54O/YrnrXixfvx85K3lrEAtyugXDJQuRtLqgg6LhCCCCApOG31eCJ6zv8YrtUx4Zfz2PFd1Eni5xqxkPWRoTyzPL0UlaDvSfZn9/E6okuDpjRribFxaSv+F5fJ/9DP3Fj6Cf8z1S7W/Hh4SmcCFIEDi7C7XjMyRTHppx8yJK/fFMAz8++RmPTr6YH5XNGQVWuDK7EIHE9p6z7O3toMBg4tKMSI+PZ9u7uP7rBdJX3o35ti+PYFwTj1hCP7MCEPiOHMZ/vB5NVg66ydMiiikdf8R3+sfoL3oUXdGPGJXrnHElIAj0bUd17kXWFyCnXxpRqqqqiq1bt7Js2TKuueaa1Mc18VglibKy4KC/sbGRlpYWMjIyKC4ujijnfu8tXH9ej+WuezGv+uroXOfZc5AE+GoO4G84gpydg27qzIhiz3fv4fGz7/LI+Ot5uPC6mOOaEdEicUX6ZASwy3mcz/qbyddlMM9UAgwKSbU34Nv/ONrSL2K49FGS/biuZ3PxHXwS38En0U6+HSkt/hNGU3g5wtON2n0I0W9FU3g5kjF4U9f12/lx435uzS/liamXXvAtNRRLsgvp9HvY7+jmrK+fxdmF5A+2dErrafpffYG0yxaR/uU1ET+u0taC0tqcUt8dVcV7sArZaAp3L/QzZiMcffgbj6PabehmzEbODHbZVHcdvtYfo829FX3JEyS6zsJ3FqVzA0rX86h9HyB87UhpU5Dk2N0nTcYSUDpRXfsR/rNoLIuRdMFxXkdHB1u3bmX27NmsWLEioYjcbjdbtmzh/fffp6GhAbPZTG5ufPd+aWkp/f39nDlzBofDQWlpabilU1qacP15PWkLr8Ty9fsvXERDoJ9VidrXi/9EA2qPLTgNMdijaBiw8vjZd7gxq5LHim66YBENxcL0SXQrLg65W7D6+7g8fTLjtOnIAErTWyBr0JXfy4U/IYdDQlf5EHLeXFRbbZBrEJs6mtBIMg8Wl48Ka31/L58OOhsk4AcTK7kkM49DDhubOs65swf27gRZxviFmyJ+XLXXjvvtN+h/4xUC7WeS8nmrD9D/2p/xbH+fQHfn4OlKmG5eiW7yNPxNJ4Ncg1Bsm0DSoC14kETXOdCzGc/hcnxN30Wx/gn/2T/gPbkGz+FyAn3b41hJ6Cb8ANlyCarrUJBrEDU1NUiSxMKFCxOKqKWlhccff5yOjg5mzJiBTqfjxRdf5NVXX41rI0kSV155JcXFxbS1tVFTUxPeN7BrO8gaTDfeGlNEgY52+t94hYGd2xCKP2q/6ujD/e5m3O9uRnU5hxNjvv3L6KbOxN94PMg1iLfsB5GRWTNuyaiKCIIt07cLrmWuqYQa9xnesh8EQBZuK0rzu+gm3YqcPTNJNecH2TIR3aRbAVCa30W4rZz1utnc2cyqgknMTj+/sclQ1Lrs3Fb9AbdWb2NfX/CmLjNaWFUwCYDNnc2c9bpR7Ta8VXtIu+IqtBeVRtThqz2E58P38NUewvHc0wQ6rXH5fEcO43pxHf7G4/Rv/i8Gtm8N79PkF5J2xVUAeKv2oNptwcnWns1oc1chm2bHrVftP8xAw+0IpS+4QdaDHHSWCO8ZBupXoHrqY9pKhjK0uauAoBiF7ywOh4O6ujrmzJmTdN5nw4YNXHXVVXzrW9/ihhtu4O677+ZHP/oRtbW11NfH5gTIyclhzpw5ANTV1eFwOFB7uhnY+3Fw3mfipBgnqjKwcxvu/36N/rc24a8/ElXEe2Af/Vs24v7v1/Dt3xu1X1MwnrQl1wAwsPdj1J5urP4+3umt4bbs+cw0jo+y2Ww/xEXVPyDn4HeYWP2PbO2ri9ivCJVvn36FcQf/npyD32H5sd/QrbgiykzU53Jb9nwA3umtwervQw5Y94DqR1v2pbgXajSgnXInctZU1J6jBKx72Nlrxa+qrCw4v8m1oTjstLGy5kMa+ntp97r59rFzF/3u8VOYYc6i1tnDzl4rvroaUAIYFl4ZfYxlUzBcthgAX/V+nM8+FVNMvrpqnM89hdLWgqTTY7zmevRzL4kok3bltWiLSlBON+GrqyHg2AnCjzZ3ZcJz8bX+M0EXjIy+9BeY5jdhmn8KXfEjgASqH3/rv8S11+bdjWyagdpfS8Cxk6amJgKBABUVFQl5jx8/TiAQYPny5RHbTSYTc+bMYdu2bQnt582bR35+Pu3t7TQ1NeGrPQwBhbTFV8c+z5oDuP7reQK2Lvwn6nG99CfU/nM3rNLajOvP6wmcPYPS1oLzz+tRWpuj6jFe/QW0F01EaW7EV3uYPa5G/CLAl7LnRnOKAOu6dtIf8ALgDHh4qvPDiDINA+28bNuHSnBW6EB/M+/1RYv8zpxLmJpWwFHPWfa4GpEDXQeDYT0pzBNdCCRjPprCRQAEug5S1dfF0pzClOaJEuGw08ZdtTs4Njgha9Ho+M5F52b6C/VGluYExztVfV34Tx5DV14Rc55IW1xCxpqHSBsUmfdQVVBMHedm/X1HDuN87j9RzrQg6Q2YbriF9LvXoJsW2ZrLWdnoyoM3r//kMVRXFXLG0sTzRKoX1fUZAJrsZegmPIKkn4CkL0Zf8gtkY/ChE3Dui1uFpCtEzlgarM5VRUtLC2VlZUnnibq7uzHHcfsXFxfjdrsT2lsslrDzoaWlBf/xo+hnz4s71gx0dyH8/iHfOxFOR/i72tdHoKvz3Hd7D6o9OspFzs5BPzvowPIfP8qB/mYWpU+JOU8kI6GXNBHb9JI24rt22H4AXYxt+boMFqVPAYJik1VbHXL+/JgnO9oI8ai2OmpcNhZkxJ70PODo5pi7L2l9Na4e7q77KBzVkK7R8Uz5Yv5u/JSIciGeGpcNpaUJ3ZT4oUtydg6Wex4g7fIlwKCYnn8Gpa0V39EanBueRmltRtLpMd14G+Y7/w5JH9sBEOJRWppQ3TVo0hckPB+h9CB83QBRghNKD0KxJ7QPIcSjumuwWq2UlJSkZHehCPFYrVb8zY1RD5eh0M+ei27S1PB3w+VL0OSd63pqJ5aStnDJuf0XX4Z2mAc0hBCPv7mRo56zzDeXxiynlWT+vmA5BYOxc0X6bB4u/EJEmelpBfx94bKweJZnzmJFZuwQrBDPUc9ZtKqjCU12edwTHk2EeFRHEyctDiqGjY0EsNNu5a7a7YzTG3ijchnTTLEng2tcPdx95CPqnMGby6LRsW7WEu4qiO6Ph3hO9jsIWNvQTkzcnZSzc7Hc8wBCCLyf7sZ7YB+qsw/hHQiKSKvFdMMtmG+/K66IgDBPwNqGOnAS2ZS4eyVpMzFMeRZEANk8J7xddVXhbbwX4Q+eqyZzWeLjH+RRB05is9koLBydIOJkCPHYbDYC7W1oS2OMjQahKZxA1g//De+hKiSTmbTLFoPm3JNftmSS8cDDGC6+HKGqpC1cEncCN8QTaG/jlDebWTHGRiFcmzGD96d/l5MDXcw0FjJBFzkJLiHx2ISbuSlzDv2qnwXmiRjk2BP6IZ5T3m60wtOJZPl/88QK8QhPJ50+D2XGyAkyu9/LQ8f2YPW6sXrdrKrdzqsV1zB9mJhqXD3cVbODo/3BGytDq+NP5VeyKs54K8TT6fOg9vaiyU8+ASrnjCPj3gdxpRnx7NyG/3hwsC2nWzCuuBnzzSuRDGkJ6wjxqL29CH8nUlqS8aBsQpu/JmKTv/23+JoehsE+u2ycgn7ikwmrCfEIfydOpzNpt+73v/89TqcTt9vNr3/966j9Ho8nvO+aa65h3rx5MWohzON0OlF7e9AUJI5O10woxjShOO5+OTsn6FlNghCP2ttDp+KkRJ84Gn+iPpeJScrMNycP1QrxdCpOtACS4cK9ZqlgOE+ONvJpbtJoebC4nEeOf0p/QOGww8aq2u28Mvtqys3BJ8dhp41VNds5Ptj1y9TqWT9rCSvz49+kw3nk9NSWAcg54zBcuhDP7u0QCATPwZxO2uVLkIzJl2wM55G0I5vRVz3H8DV9L/xdm/dl9GVPIWkT/17DeUymxMfa3t7OqlWrkh7Pzp07qa+vjyuk4Txykvi70cJwnmzt6CynSYahPLJkzEd4U+t7XyhCPJIxn3y9kR7FG7E/TdbwYPFMfjfjCkya4CCw2mHj7iM7OOVxUt/fy+raHWERZWh1rCtPLCIgzJOvNyJnZaG6HAnLh+Crq6Z/86thEQGoPTZcr/2ZgDV5GH6IR87KQtLlI5TUloSEILzN4c/agq9jmPpyUhEBYR5Jl4/FYknqKJAkiXnz5oX/AoEAW7Zs4eDBgxHbkwWmhngsFgtyVg6q05mw/GghxCNn5ZCvtWBXEp/vaCHEk6+1oJUzyhDOFqS00VmclgjCGYyglTPKmGLOoMnjZJwuunv0jQnTCAiVf2jYi0cNcMhh47aaD3ArCicGRWTR6Hhm5uK43bmhaPIEL/QUcwaawiICnR3IlsSBuL4jh3E+O+ji1hswLrsB1dnHwK7teD/dA34/lnu/haYgfn880BkMwdcUFiGnTUEMNCGlj2BxmiSHP2qyvpCgYCTEQHDyWU6bQm5uLna7Pa5HLhb27dtHTk4OJ06cSP1YAbs9+KDMzc1FM76IQMdZ5IzUAp4h2DVTXU5QFNDpkDMyk/5OAIGO4ENNM76ISYZxtPhs5GpTP9/zRYvPBsAkwzi0cu4sAvajyHmxm+tYSP+G7byIA/bg4kA5dxaV6bnUuuxcmhE7MPabRTOQkfjusb24AwrVjnOcGVodfyyP7ViIhVpX8AeuTM9FW1KGcropKgZuKHx11Tif/Q+UtlaQ5aBj4bYvIwY84PczsG8X3kOfIZ79DzK+8e24YgotDtSWlCGbfKju2qgYuIQQyrnPgdSf7qo7uDhQNlVSWFiI1WqNioFLhOuuu44NGzYwffr0lG0g6K2DoNNBhwel+VRUDFzUsTr7GNizE1/1AZRTJ1B7exBCIMky8ri84JKLhUvQz78MSRt70K80nwJAVzqZcuME6jzt4Ri4oWgYsPKh4yhr85ZGucHjoS/g4Xcd21honsJ1mZFOuTpPcFqk3DgBWZM3H7XzYEqVXihCPJq8+SzIzKPK0Zmw/Nqi6fx6+uVR29eNQERAmGdBZh66KdPxn2yIW9bfcATn+kERaTSYb7oD821fRjIaw65xw2WLQAh81QdwrP9DxDxTRF2DPLop05HTFxBwVaV8zACy+WLSyt8nbdZWNJmpt0ghHjl9ASUlJbS0tIyId9q0aVRWVnLbbbeNyC7EU1JSgm5aedhBEwuqy4l7yyZs3/0GjqeeZGDXhwRsXaDXB1sxnY6A9Syebe9i/9cfYv/JD/DVHopZV4hHN62ci82lHOxvjlnursZ1/MuZt7jz5B855E58TVwBL6/2fMaKY7/l99YP+H7rJmxKf0SZEM/F5lK0msJFKI2bEa7WlCdlXc+e6waaVn6KnDklQekghKuVgHUPck45msJFLNVksNHayOkBV8JJ2fuLZmD1evhp4wEA/lS+hNUjENHpARc7e6xUWHJYmlWIflYmA5/sJNDVGTUp66urxrHu98E4O40W8xdvw7zy7gjvnJwzjow1D+GUNQzs/RhfzUEcT/8a47UrSLvynFs60NWJ/2gt2oll6GdVIpmno9g2IrynU1q8B8ExjvA2IwJONJnLkxsAwnsa1bEzuBQ9Yyll+nSqq6ux2+1xvXdCiKh4OlmWee+99yK2Wa3W8KTrcNjtdpqamhg/fjxlZWXolaKgODqtUZOy/lMncP7p9/iODC7+nDkbw/zL0JdXIueOQzKkIbwDBLo68NUewrt3F77D+7E3HCH97rWYbznnGAl0WvEdOYS2dDL6irksStex2X6AVl9P1KTsV3Ov4FfWrXzsPMbyYye4KWsOV1umM8M4nkyNEa+qcNrXQ427lb/21VI/uBx9nNbCA/lXYdGcuw9afT3scZ2k3DiBRemT0UqmQuTc2ShNW9BVPJToN7ogKE1bUHtPoJ//AyRTIROAOZZcXuto4vsTE8+v/GTSPNJkDTk6A2uLRtbdeK2jiYb+Xh6dPD+YHMVgQls6Ce/ejzHdfEdEWeHpR+3uDM4T3bwS8x1fQdJFLy6Us3Ox3PstkKSgKDvOojoiHRjevR+jtLVgXnl3ODmKbJqDYnsN3YTvp3Tsgb4P8DbeD4Cky0Ob97WkNortNVR3A7qLHkXSTyBDH8yzUFtby5VXRodFAVx77bXYbMm765MnT+b666+Pua+2tpbOzk6WLVsWTo6iLZvCwO4dmG+7K6KscDrw1deiGV9E+sq/w3DZ4nCE/FBoiydimLcA0/Iv0v/GK7i3vYPa0x1RZmD3DpTW06TfdQ9yzjgKgdnGIrbYD/NQwTURZf+hcDmLLVN5sv19PnQcZYv9EFvsh9BIMmmyDkWoeNVz0RZZWhM3Z83lOwXLmGSIHNtusR/mxEAHj4xfQaEuM+j+1pbdgq/6d2js9Z9L4Kpqr8d/ajNybgXaslvC2+8sKOOJ5mqOuOxJA1d/WFo5Yt4jLjsbO04xLyOXO4c4JdIWLqX/rVdRWpsjAlf1FRdjWfttVFs3puu/FFNEIchZ2aR/ZQ1ybh6GOfPRzTgXiKq0NjPwyUfoyqaQtnBpeLs29078Z59AdR9JGLga5kibipRWAoF+ZFN07NhwqO4jKLaNyOnz0ObeGd5eWVnJRx99REdHR8zA1eHxdSNFR0cH1dXVFBUVUVl57ndKW3IN/a/9BeX0qYjAVf2sOeT89FfIWTloSycnrV8zvgjLfd/BuOz6iHqU06cY2LU9mCJgyTnR3JI9n99Zt1HvaY8KXL3UXMprU+5nj6uRrX1H2O6op83Xi08oaCWZLF0ms4wTuDZjJsszypmSFh19U+9p5037QSpNxdwyGLyKGISv/jkxsPv7QghVjC5UMbD7+8K5Pkf46p+L2vt0a714oH7358AqxAP1uwX/Z714urU+ar9769vCsf4PQqijzKyqwrH+D8J6x3Lh3vp21G6/9WnhPfWASPk6B9xCVfpSIRbeUw8I1x6E3/p01N59+/aJzZs3C3WUz1dVVbF582bxyCOPiH379kXt73/3TdH3n7/6XK5z33/+SrTfuEj0v/tm1O7nunaJh1s2CjXJdVaFKuxKv2ga6BZnvHYxoPqTln+4ZaPIPvBt8VzXrvD2sH9VN+Me0KUR6BjZgDgZfNW/xV+/AV3lg4MZhSJxf/EMjBode3o7RpX3Z03VPNNaz/dKK7m/ODq2zrj8RtDrB5eFjx76N/8X7q1vY7rp9iDHMGgL7gfZSMC5J7UKZSOSJvkEsr/tZ/jbn0FX9L3BjEKRWLBgAVqtdsSOh2TYsWMHe/fuZcmSJSxYEB1LaLr+FiSDAV9DdAT1haB/059x/3Uz5ltXBzMKDcM94xaRJuuociVOqyYhkaUxUWrIpUifhWFYEOtw/Ma6jQ1du3mw4GruGbfo3I4ItXl7hepzjeS5kFC73sO/Fq4XisXArn8Qqrsjbkm73yucim+UWIX491OHRfqHL4j7ju4S7V53/LIup1A98fePjFgVrjdeFh133yz61v1OBOw98Yv67UJVnKPDK1ThO/Pvov/TdDHQeJ9Qfe1xS7rdbuH1ekeHVVXFhx9+KH784x+LN954QzgcjrhlA6N9nV99UVhvXyb6/uNJEeixxS3aq7iFKzAwOrRCFb9q3yqKDn1ffPf0q6LDF9lLSJggkoAXNPGDMuNBtdfjP7oh3BKlko5rKLxqAIOcmp9/KI647Dx95mi4JUolHddQCL8fSRd7riIRlNZmPFvfDrdEqaTjioDqhThLyBOauY+gdDwdbolSSccVcdyKglab+AkcCx0dHezduzfcEqWSjmsozvs6nz4VXDE72BKlko5rKLxCSdrixEK9p53nuneFW6JY6bjiC0lV8DdsgIAv9bx2rlaUpi34T20GNTDiBJEQXKH49JkGfGog5bx2pwdcvNbRxMaOUwSEOvIEkQCBAO6tb4OipJzXLtDViXfvxwx88hGo6nkkiASEgr/jaVB9qee1855Gsb2GYtsIIjDiBJEAqqqyd+/e8KK/VPLa2e12amtrqa6uRggx8gSRELzO725GKP6U89oFOq0M7N4RXE6uBkacIBKC99Vz3bvwq4GU89q1+nrYYj/Mm/aDqKgjSxA5FKGUxartCJKxIKVMq8i6UUtZXO20UWgwppRpVSfLo5ayWGk+FVyYl0KmVbSaUUtZrLqrFPi7jAAADFNJREFUkXSFKWVaRdKNWsri9vZ20tPTU8q0qtFoRi1lsdJ0Ejk7N6VMq2i0o5ay+IinjXxtRkqZVnWS5kJSFkdiLIn+WBL9sST6iZGSkMYwhjEkxshHXmMYQ2zEHLAkGz+pqroUWAyUAIVAAOiSJKkJ2C1J0u5RPs7PhVsaa5DG8HkilpCEEHOFEA8At0qSlDAvthCiDdgMPCPL8gVP+n1e3GNCGsOoI14rJIQoEUI8IEnSD8+nXiHEYwRv6q7zsP1cuceENIZRR5xWaJkQ4jVJkiKiU7u6uqitraW3txeXy4UkSZjNZnJycqisrCQnJ2d4Pe3AalmWP071eOJxd/R5+bRFwTYgc6ZPBWDaOJk8k+DyEh2mNN3weuJyjwlpDKOO4UJSVfVrkiS9MHRbTU0NH3zwQfjFZfEwYcIErrvuOmbMiJxKEULcLMvy28mOJRb3p80DPLvfT1VLdJrkEEw6iWum6vnGJTrKxkUGL8fiHhPSGEYdQ4WkquoXJEl6P/Td6XTy8ssv09zcPKI6p06dyl133RWRYEUIsTRRyzScu6df4dFtHnadii+g4dBp4OuXGLn/cgNazbml/8O5x4Q0hlFHSEiqqpYBtZIkmQHa2tp48cUXcThSSz4zHLm5uaxZsybc3RNCnJYkaY4kSVHZRAe5qyVJsgA0dfv4zn97aOkNDC+aEhaV6vj1F00Y9ZqY3HJC6zGM4cLwQEhEDofjgkQEwcSTzz33XDhbkSRJE4EHEnBbAGz9Ab61xX3eIgLY0+znh+95CKgiJveYkMbwuUAIcbEkST8Iff/LX/5yQSIKwWazsWnTpqGbfq6qakSug+HcP3zPTdugM+FC8FGjj2erBmJyX/CE7B0b2/5ZkliSvOQ5CMGuN1YX/wxg2pRL/lkgjcheQuw6duKzn4W/D+mT37HxTOwMGTHw+qriqNRJ06ZekrL9seOfpZ566X8ZBl3NABw+fDjmOqgJEyZw9mz8/IB6vR6TyUTvYHhWCA0NDRw/fpxp08KZoB4AHo7Fve24L6ZTYXqehmNd8Vsok04iM02i3RkpwOeqBrh1toH89HAb9ADwsLayYrEEPFJTu/sXcWsFKisW/yPwZE3t7ohBlSSxUpZ4WBWklKNLlshV4ddAUAgSK0E8rKoiNXtZymWo/TBIEsnXZCeEdIH2YwCQJCmce/nDDz+M2j937lxWr15NY2MjL7zwAn5/5M1eWFjImjVrMJlM/PSnP8Xn80Xs37ZtW1hIg1xhIQ3lfmqPJ4r7hhl6fn5DOlUtfh56y4VXifQTTB2n4Y+3W8hMk7nyaTtu/7n9XkWwbp+Hf1lmjuDWAo8Aj1dWLJZranf/PNZFqaxY/E/Avw1+jRKcKvx1r68qi1rieturZ8fJcqA2sqwyFyL98xqNqDtx4kCUfVlZ5TitVl87rOxcNTDabxUcw2hCVdVwEojm5ma6uqLnMBsbG3E4HEyePJmvf/3rEWLKz89n7dq1mM1mTpw4ESUigNbWVqxWayhxf6aqqgtkWa4ayl3drtBsj251DrUpdPerLCjR8dQt6RFimpSrYf3KDLKNEntP+yNEFML7x3w8cpUJg1Y6x01QGP8C/KyyYvFPhxsNbvvZYJmErdZwvLl6Qvfrd140XlY0V0tC6peEFJ0qJgGammq6T5zYP14I+WoJqV8iub0QzE30l8w+oKpzE/2N5Pj/F2Nx6EO8bK1Op5N169ZFiEmn05Gfn883v/lNzGYzp06d4qWXXopLMqzuxcP+s+90bDd3u1Nl7evOCDEZtBKTcjVsuDMoov1nFP5+iyumvcsrONoRIdDF2pra3QA/r6xYnAY8WlmxmJra3Y9BWESPAv8ar7VKhttfPTtTyIF3VJVvSDKvMEJv+6RJl86UUd8RSN8A8Uqy8q+vKq5OtH/lpsTvhm1sPJDQftrUEWRK/d+LcM60WK1RCDabjXXr1vHNb36TyZMns2bNGvLy8sIiev7556O6fEMxrO7pw/7TaIs/BjplC7D2dSfr77CwoETHutstlOZowiJ68E1nVJdvKBq6FOYVhV0M08Ofamp3P1ZZsRiCYgqllAyJ6LG4NSbAqk2nywME3lFV1ryx+qIdd2xqHZH99EmXlKuyeEdI0poTJz7bMXXqJTHLpeJgiOVYCCEVB8PxE/vHHAspQpKk8II0lyv2Uz0Em83G+vXrWbt2LaWlpQApiShG3YXDuW39iT11Q8UUEkUqIgKwuyP2F0Z47QbF1M+5Ltw/1tTuTvwynjhY+XrLrIAqvS0GRQQgVLE41dXB06dfPEsN8DaDIgLQKPJiNNFPmTEHw//fkCQpwvMqy6MzKxM4j1gDzXkOvy/4iAf0hiWv31ka5SgQqrx0qIgA3lhd0hhVDu2ShoZoR4OqykuHigigoakqyn4Mf3sQQoTfYJ2enjjnRl5eHmvXrsVisdDc3IzT6aS0tJQ1a9agS5IgZVjd1uHc48yJb+/SbA3r77AwziyHHRDzirSsu90SciTERbYpYr81okUaMib6x8FNv6isWGxO1LUzeL33r3ytrYghYw9VVatev7P46YRHMghJBO6fOuWSoshtVB0/8VlK9mP4m8Sx0Ie8vPhLfvLy8rjvvvuwWCzh7lxWVhb33XdfWEwbNmyI6bWLUfexYf+ZlBM/E1Vptobn7gyKKNSdK8qUw928dbdbePBNZ0yvXch+KHdYssMcC08Odun+leCYKcqbF4Ik8RWEqEewD8E+wCNL0nVxzyCqAvEVCaleIO8TyPskJI+QR2A/hr9FhFeWTp06NWaBkGCGisjv99PV1cWf/vSncMv0ta99LW5Xb1jdu4f9Z+HE2C3aeIscJSKvIsJjplDL9PsvpSPHaJgMWon5RRFt0G65smJxaJ4oyrEw+Dkkpn8adEZEQaBseW1V8cbXVhVvVFV1Z8xCCSBr1S0nT1ZtPHmyaqOKGLH9GP62IEnS9tDnkpKSqDVFAEVFRVgsFhobG6McCyExORwOSktLY+beKyoqGvqS6T5ZlquGc8+ZoKUoM1qEMwu0jDPLVLX4oxwLITF1ulTmFelIi9HFu2GGfmjXr0+W5SotwW7cvwH/HMvFPeiAGBgsozLCuaS/NaQyl5QIY3NJySFJUkBV1b2SJC2UZZlly5YNj4+jrq6O3/zmN3HXI3V1dfHLX/4So9EYs2s3NPG/EOKFmNwSPLTIxD/9NdJzuP2kj1tf7ONUHPf4KVuAL27oIzNNiura6TRw74Jzr3cJcWuBJwEShQjV1O7+eWXFYjVUdjgCssHwdxuaDAADGlnHYIRsaNtQuGSDQaMOd0tqDUVFiw0AsvDoxKAHJ7QtEn5DMEfF+SHZPFMyJJtnGkMYDwOfQDAcaM+ePbS1tUUUSLaoz+/3x3SBT5o0afhCv2fica+Yruflg1qOWJWIAvFEFIJXEXS6osdHX5mXRklWxPjoGQDtYOxc0lYmgdDOatXAzgHzYPOrCoTE6wADZm3Uq/G0agAkaWt4g5DOBpTATpMxeGIimIzmdQCTcSDKPqAAEluHbx/D3xZkWd47tFVavXo1zzzzTNIXQydDRkYGq1evDn8XQjwuy/KxoWUiuCX47c3p3PWyg+4k80rJsKBEx0OLIhYWhrn/RyzsW7mpbU6yMolaosmTL05qH6sl+p9w7T4PDFnYNweokiRJD8GFfS+88EI4+eRIkZWVxb333kt+fjCdtBDCBsyRZblteNlB7k8lSTIAHO1Q+PZbrvMW07wiLb+92UK2UYrJ/T9CSGP428Kwpea3S5L0euh7b28vL730UsLlE7FQWlrKV77ylYhk/UKIFbIsx+2dDOfu7lf5/jsuDrUp8Uxi4o5KAz+82oxuSI9uOPeYkMYw6kgl+clnn33Gjh076OnpSVhXXl4ey5cvj3gTIIAQYpUsy5vimCXk3n7Sx/pPBzjakVhQV03W8+AVRqbnRc5HxeIeE9IYRh2x0nGpqnoDsEWSIt+r0tbWxtGjR3E6nXR2diLLMuPGjSMzM5NZs2YNdXEDIITolSRppSRJH6R6PPG4z/YpfHI6QH3nOUEZdRKzCzRcVqIl2xQloLjcY0Iaw6gjXoJIVVXLCeZSOK+3fgshnpAk6RlJkkb82sHPm3tMSGMYdaSQ73shwSXad0iSlOxNcH1CiNcHb+IDF3psnxf3mJDGMOoYyYvHBle0Lia4DKJckqSAEOIY0AbslmV5e8IKLgCjyf1/AfzC3EiJBPQWAAAAAElFTkSuQmCC) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;vertical-align:top}.layui-layer-move{display:none;position:fixed;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{z-index:999999999;position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}.layer-drawer-anim{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(.7,.3,.1,1);animation-timing-function:cubic-bezier(.7,.3,.1,1)}@keyframes layer-rl{0%{-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);opacity:1}to{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@-webkit-keyframes layer-rl{0%{-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);opacity:1}to{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.layer-anim-rl{-webkit-animation-name:layer-rl;animation-name:layer-rl}@keyframes layer-rl-close{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@-webkit-keyframes layer-rl-close{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.layer-anim-rl-close{-webkit-animation-name:layer-rl-close;animation-name:layer-rl-close}@-webkit-keyframes layer-lr{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);opacity:1}}@keyframes layer-lr{0%{-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);opacity:1}to{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.layer-anim-lr{-webkit-animation-name:layer-lr;animation-name:layer-lr}@-webkit-keyframes layer-lr-close{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes layer-lr-close{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.layer-anim-lr-close{-webkit-animation-name:layer-lr-close;animation-name:layer-lr-close}@-webkit-keyframes layer-tb{0%{-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);opacity:1;animation-timing-function:cubic-bezier(.7,.3,.1,1)}to{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1;animation-timing-function:cubic-bezier(.7,.3,.1,1)}}@keyframes layer-tb{0%{-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);opacity:1;animation-timing-function:cubic-bezier(.7,.3,.1,1)}to{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1;animation-timing-function:cubic-bezier(.7,.3,.1,1)}}.layer-anim-tb{-webkit-animation-name:layer-tb;animation-name:layer-tb}@-webkit-keyframes layer-tb-close{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes layer-tb-close{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.layer-anim-tb-close{-webkit-animation-name:layer-tb-close;animation-name:layer-tb-close}@-webkit-keyframes layer-bt{0%{-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:1}to{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}@keyframes layer-bt{0%{-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:1}to{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}}.layer-anim-bt{-webkit-animation-name:layer-bt;animation-name:layer-bt}@-webkit-keyframes layer-bt-close{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes layer-bt-close{0%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.layer-anim-bt-close{-webkit-animation-name:layer-bt-close;animation-name:layer-bt-close}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}to{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}to{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translate(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translate(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translate(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translate(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translate(-100%) rotate(-120deg)}to{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translate(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translate(-100%) rotate(-120deg)}to{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translate(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}to{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,to{-webkit-transform:translateX(0);transform:translate(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translate(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translate(10px)}}@keyframes layer-shake{0%,to{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translate(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translate(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translate(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}.layui-layer-title{padding:0 100px 0 20px;height:50px;line-height:50px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#333;overflow:hidden;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;top:17px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2e2d3c;cursor:pointer}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2d93ca}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border-radius:2px;border:1px solid #dedede;background-color:#fff;cursor:pointer;color:#333;font-weight:400}.layui-layer-btn .layui-layer-btn0{border-color:#1e9fff;background-color:#1e9fff;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:300px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:15px;left:15px;width:30px;height:30px}.layui-layer-dialog .layui-layer-content .layui-layer-ico.layui-layer-ico16{width:33px;height:33px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8d8d8d;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid rgba(220,220,220,.5);box-shadow:2px 0 8px #1d232908}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:#0009;color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-drawer{border-radius:0}.layui-layer-drawer .layui-layer-content,.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-drawer .layui-layer-btn,.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%;height:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(data:image/gif;base64,R0lGODlhPAAYALMPAPPJp/HYxfSwkf50Df5TD/+HAPe5bvqHR/twOviZavyrMu/m3f9EAP9mAP+ZAO7u7iH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wUmlnaHRzPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvcmlnaHRzLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcFJpZ2h0czpNYXJrZWQ9IkZhbHNlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6QUNDRERBRjMxRTIwNjgxMTg4QzZERjVGQ0I0MDI1NDkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTlDMEI5MzU5RTY2MTFFMTkxRDY5NkVCMDBGOTBFRUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTlDMEI5MzQ5RTY2MTFFMTkxRDY5NkVCMDBGOTBFRUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpENzU2N0YwMTMyMjA2ODExODhDNkRGNUZDQjQwMjU0OSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQ0NEREFGMzFFMjA2ODExODhDNkRGNUZDQjQwMjU0OSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAkFAA8ALAAAAAA8ABgAAATy8MlJq7046827/2AWCEdpCkGodkHSvHCcLGttLUOsw0NqW4EDYog4+CyInbJxwAQMiqjCcMQkGNgsNmFxLZXcisFBLpMNGYF2zRBQAt9vFWCuOwCXAJt9FMSXbhILdnY0FQd7a00SB39Kiw9jhGZoFQSJWgQTjksTCpNmChaYa5ucOxOgdaOkWaanMamqZRaXrZoSObAvA56zDqKHrQyQjbtME5KqlW/DRwbHDcwBv1UTV5hhEnDHVcqEzF2J2te75BLflBsCCFoIgRU4pwOGFQCfZQp4PxUBSX8IrPELscDLkhkDB7bQxQthwocQI0rMEAEAIfkECQUADwAsAAAAADwAGAAABOjwyUmrvTjrzbv/ILcAiWCUQKh+y9G88DsIa40JcQ4ji30JCIZQeAhcAgOdMvEYKZ5PQA8UHFoZtEpSuVQ4vmCHwuhJXK+EqcTA5YbfYrUmcD4jKNt2rAB/GzoHdWdTAXo6fXByGASCV1k4hjADiG8pG41XTA9skS98lGB/l5hDmgmdnqChHIykWBKQnZOqDpYaVaRkAKgvtA6KFwCudxO8DZ+UCh64grYPp7yqwBgLzFYEWRNIvAlecGMhAq1DCGQVu7JNBn7THQDvAObBeVwJ7T4gLW2i+P0PAQkOCBQoxZ/BgwgTYogAACH5BAkFAA8ALAAAAAA8ABgAAATV8MlJq7046827/2AojmMgHE2aIslCckAcb8Kg3umQvFhCMEAgYXcR4HCFpEJhCPAkiKAUiLAEbMdGwcHtcg28w3R8qKCyA6/aASABxvC2JJBNrdcuURQ+rUqMWVt3XmAhC3xweWdHg2oKIm+IU3KLOI1qkJKTEpU3l14iAZpSTg+dKp9cjyKjQRMGdYKXhSFio2VzdQ2ppSEBP5IEvQ9YR7J3tCICmgIVALrHhE+/cMIXCboDxwpy0z5BQ8POxUcD3U88CwnkKQni6E8yMXnw9fb3+BURACH5BAkFAA8ALAAAAAA8ABgAAATe8MlJq7046827/2AojqQUCEeaJkC5CUgcJ0G2JE2u60jrVgICY0gcIhaXQ25QaDp1vt8jUKwaLbhGwcHtcgeNQe23EFqrAkogt/W6cwlp4mwlICW4gXvvyI1LZnRFaRJgfHtghCRUglUIJjmHbgUNBy4AjY4SAGGSXpSWJZiZRI8PnHqeXKAujKQMpmsNqquVP4GZioa0iT8Hrwx/Sqmefj8BuHRxE5xanmChPwKZRxVKznxgDX8/AAh00RQL18S1YYpSDzffpVEXAjvxB9zpiwnaOQfo9fz9/v8ApUQAACH5BAkFAA8ALAAAAAA8ABgAAATO8MlJq7046827/2AojmS1AIkhJEBQasFBMDRDHC62JE3v97iXJVEr1hKThUHBdBQGv99gIZwIjFiG4AFweL/eQtSHqD4Cs2yR0AW7xeOGoXpQYwvuPHQ8FabtNA15g3ENWyUBgEUDg3mFBy8AijV4jWB7UZAlkpMMlZZemD+aJImdjKBej0KdDIKpDoWHJXWdn42iPzmIrQagcGOkL0SKSG15wFF9ZgJ/WLMBvpeFCLtmMVhBOjxxB1RmJgDiAN8bAQkH6Qcs4O3u7/Dx4BEAIfkECQUADwAsAAAAADwAGAAABMrwyUmrvTjrzbv/YCiOV5AgKCosZIsFCCPPc5KZQ6M3QxK4lgWBRuMVFEgDS5LYOXc24CRGlBUc2CwW8BA8vw2BtFuVDbRoByAHdg6WrmG1kU63v9EWoMy41rVsdzoDQAllBH9oBYJOPy2GVYiJWYuMOlyPh5OUlpcuApqbDpWWjiQBfH6TgYxSVER0m50NeS2gZap1BrOmLpBVuVpcTYy1QLdzuQamAqxuYmMTMGUJcBYmeL3REgAJ3gkC2hgLAOUA1tvp6uvs7R8RACH5BAkFAA8ALAAAAAA8ABgAAATs8MlJq7046827/2AojpmQICgqBGSLCQgjz3OyZEFy7LvgXoDZoEAsDBoyxGWRaDifzgHgNwkQGA2HdqstyBKWA3TsZFEPDAJ37RjIzBIBmTy4uQKyAnuNPEwWR3NjPi4CWHtrXgQTcoJjAz8xA4hrbxJijmNwIzF6lFtXUw+YmU+iJJ2foAyipKUNp5wMk6oOV2aupZsihlmqioyvUT94DJ6USEoSAcINYJGHlF6sFE2lA7sjxQ3HXNN+FAu5ZIRUAlcEtF1IDAh2FQaC2FQUATE0NOVACYENAyv0LMCgQeBAtoAIEypcyLDhhAgAIfkECQUADwAsAAAAADwAGAAABODwyUmrvTjrzbv/YCiOWiAgTJoiSUC+V0KodEokZWIIugtPAYNCUSgMZjWV4BI4NJ7QxsH3Mjiu2OsgqaJKFoOoeLB4AbJoR4PLQFQQ4rh7tEin2QyqIM5fiqx2WVtcfg9hfGMjCoFZBWxzC4h8Xh6MaI8SAJJxACKWWZgPmptRnSGLn45ccwGkUWUhgJaDSTgSh6QDIwGfDkhJeq4Ntn+zbAQUYLmwI7Joa2ymQLhxA5QiAKhXBdBcBxcLcHEHzD+Zv0kEhRcACQfvCdLmFAEytdfzZgD7AOX5/wADCrwQAQAh+QQJBQAPACwAAAAAPAAYAAAE6fDJSau9OOvNu/8gFiQkKSxh+gkE474uEqj0tSBw/gq1twCKYBCAOuiOhJllkRg0no0BDxRQOK5YhyJx7BIsAKj4ifgsrNlsodtNUBbOsdjgMaTvA7buOznI5UoaC3eELXowSgF/cm4bAIR3DYcwUwKLYwMcdpBZkpMujQaXY5qcnZ+gEgmjYhyPpleen42WrFEcg7AOqC4AEoq2Bx1onGu8FAi2vriwvAzCE2Gj0B1VhApGqEkVAnFyByhmm1gGKDifUxULfmN0PerZbATLGD8A9+8ZLF0y+f4PAhAIFJgg0L+DCBMqrBABACH5BAkFAA8ALAAAAAA8ABgAAATz8MlJq7046827/2AWCEhpCkGodkHCvHCcpGtdBUSswwRt3waFUGHwVRC7JAOBaR2eh9nG4KhaqwaLS5lMaBvgMNiLAVzPDgAlwOUaBeJ4Q3BZoNGLiaCtpEsWcnJGElR3V1kSSHw7TBIJgXFkFAqGVwoTi0oTA5BiAxaVZ5iZOxOdcaChVqOkMaanYRaUqpcSOa0vBJuwDZ8VhaGID4q4jQ+PsJITAaoOPlu4kgG8g4TBa7gvRsiQyr+GwhMHuAcWBpDhFwCzVQpqFgu3iwR5FgAHYgfvP2vEXAj7+K1YMI7LgXoCf7SQx4CAlIQQI0qcmCECACH5BAkFAA8ALAAAAAA8ABgAAATe8MlJq7046827/2AXACQZnuCSEEzrEkmAzpjAunhLCDRmKI5g0LC4BHJIl+wRSByeh1hKSBUWKYtbMkdQNb7gb+IDrFIVlcR2iwi7GzwOwGwGTI7r5Pu91NDpEwJ5SAR7bmMaC39mVweDOYZuAxsBi1VLCI84kW6UllSYmi6cYZ6fQaGiDKRfkxunQRNqqoWkiBoGpwaBqi2sfRmKn1cPWb21hreUZWYKwA+zogkGhrsguVVEF5maCBIAB2EHdicLAecBxBYL3HkI6j0zgmvK8T1NWgwwz/b9/v8AMUQAACH5BAkFAA8ALAAAAAA8ABgAAATY8MlJq7046827/+AXACQQhCi4CATjvoSwpFww2nMWtG/vEieaZQFwGI8ORbCy4Pl6hMZhmlimFMiswypBPKGNsDicoBm02pxE8IWN3w0BaoHWGijOLxzO5RTrWRMBbT97b2UgWIBIQQmEDIZvAyGKi0aNj5FvlJZHmISaYyFnnVtrmaENkyCknRMAj1GhiB90nXcTeU+pfRytgGoPjoSyhrQqlWgATLo+xW+4NH9ZCsGCzT5vB8tCEkQG4Aa9EwtehAjW3TQLCdgJ6erdAgn0CXLx+Pn6+xwRACH5BAkFAA8ALAAAAAA8ABgAAATM8MlJq7046827/2AojuSzCAeiqsJSaoChzIoBaALB7DyfvJaAwkEsEhWBS6LHIDQaTt0PKFkMjViFiwLoOZ/gJ0FAfVyx2Ypu9w2HB9QAeu5ISgQ9t75BfhnoaAYTCDxte08HQIBzE2sMh25wL4toE3mQYYqURpY8mJmTm0WdO59gQH+ighKEbKaJLwCiDjd3l5h9L2eAChQBjoZ7di9ylMMSS4WHBFNUVnRaSkx6DM1lDwC7CgBbFwCOTAy51yQLCeDM3eTr7O3u7yMRACH5BAkFAA8ALAAAAAA8ABgAAATO8MlJq7046827/2AojiQVCEmaCEGpLYbizI5iLFlwMHzPHy1XJSCjGRVBU6JBYDZ8PEJSuCgaj7jJssHtMqGIrKt6LdeyAq/660sIHwaz2fBYrNdQxnRkldMUD1t3XQRQAi4BfmYBA4NqYIiKZQGOjz4IkZJGlJVdkCULmkYLjZ1Pl0KiNIGmhT6HLnGidJyVeXsioaJZgneuPZhviZJicIO/UcVjfVgWAAeWl7hjskY3GQsIeTxhbxcLAeEByhjPCOcIBwDe7O3u7/DxEhEAIfkECQUADwAsAAAAADwAGAAABMHwyUmrvTjrzbv/YCiOWGACgbcALEpygeHMtGNoAsLsPCG8GEBt6FAAEofkIRE48J68A7ASIBILjay2QYB6f9PHQmElDrbarveZmsrKRLR2/USE4dazXE1ntElVeENYcg19O2CAgoOFhocJQIGLM4RyhwyQL5KTlWiXiSSTNHpofHR/JG+TjZcEYQuinWmfYQ9CgrJZpmtStQ+bRAYAB1sHAAKHoLUxVjcZOV4+vhYxBtYACx0CCdwJytPg4eLj5B8RACH5BAkFAA8ALAAAAAA8ABgAAATI8MlJq7046827/2AojtgCGKgBLGSbLYojz7LClgnC7AyS3C7KgkacJQKWAIHHZBCQQQmsSG0khMsmkwB0GajUQkMg1WmbiO5oCKYOGsjE+Xz1tt3WR3a+DX7vRGIDAXxnUCQxgDRiDQCFWgAuiYoyjI6PTJEtk5SChJg8hyMAlDNvV3uPBEFspQ1wD3KgdZKlYnULqXNcUa2ADQYUn3xPURIBnFQHmkJmWmnGE1NUNi+yTD/RFQEGCt4KBqIvAOQr2ufo6errIhEAIfkECQUADwAsAAAAADwAGAAABLTwyUmrvTjrzbv/YCiO2QIYSqoYxkK+GODMdG1owoHsyCHAF0NtSLtZAgiGcqlEBIATGXEKqCwIzCyD4IIqplNFJanNIqBSMLEqAZTL7NdXTRRLDm/tAUgHT7B5TAR8fUQTgVqEhTWHiEyKizN/jkqDMHORdg9kjmcwaYtxApQMPzALkTNdEpx5nkBCi0YTAYgEcbCFsxQLrUwIq1APAXS4Fjm/AsHCDwsoQy3M0tPU1dbXGBEAIfkECQUADwAsAAAAADwAGAAABNbwyUmrvTjrzbv/4BWMZGiCC+CsrKMYyyljQWuvSqAFQA/os0kgcSjejoqYRYBgOJ8EQDDRqDYKR6Ql8ew+EzKBtTHIZqUTgHfNQKPGDXNWQWmyuwgTdSzPAgN3a0AfA2NYfTcGEgKBXgIhcIeILYoPXI1fkIaTNpWXmAxgIIVWZZwsaIygDI8ge1Wmpw5/qwyDHgFwsisUBKAEJ69XspUSapitJgabk0kVB40HQQAHsJy3ab5eUUEWCwpyzhkCCeUJbt0VCwZZMOnvxgbyBujw9vf4+RcRACH5BAUFAA8ALAAAAAA8ABgAAATi8MlJq7046827/2AWjGRogovirKyjAMspY0Zrr0owe0Fy/IeE7gG4GRWxS4LAaDIIiaQn0ahaq0KjVmEJMJ1gwpAjuJob2jSgggC7GYjO4nwdpLcUwfst4FDpVQV3WlJfe04EHAOAVYNaaw8Bh29jGIyNjjcGEgCTbpAZl2iZNptEnmCgGIuMpKUSkqhNlUqXgq4roIaTiRsBtrgrUgmyCR1/dHa4XBMLu28EUhsGgAYqrrReh2IgAAdXB2sLrqYWS24H0juR13flFwsA8jDr8DVq9fkB9ywKBur5AgocSPBCBAA7) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(data:image/gif;base64,R0lGODlhJQAlAJECAL3L2AYrTv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgACACwAAAAAJQAlAAACi5SPqcvtDyGYIFpF690i8xUw3qJBwUlSadmcLqYmGQu6KDIeM13beGzYWWy3DlB4IYaMk+Dso2RWkFCfLPcRvFbZxFLUDTt21BW56TyjRep1e20+i+eYMR145W2eefj+6VFmgTQi+ECVY8iGxcg35phGo/iDFwlTyXWphwlm1imGRdcnuqhHeop6UAAAIfkEBQoAAgAsEAACAAQACwAAAgWMj6nLXAAh+QQFCgACACwVAAUACgALAAACFZQvgRi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwXABEADAADAAACBYyPqcsFACH5BAUKAAIALBUAFQAKAAsAAAITlGKZwWoMHYxqtmplxlNT7ixGAQAh+QQFCgACACwQABgABAALAAACBYyPqctcACH5BAUKAAIALAUAFQAKAAsAAAIVlC+BGL3Z3IlxUmUuhtR2LzHhsiEFACH5BAUKAAIALAEAEQAMAAMAAAIFjI+pywUAIfkEBQoAAgAsBQAFAAoACwAAAhOUYJnAagwdjGq2amXGU1PuLEYBACH5BAUKAAIALBAAAgAEAAsAAAIFhI+py1wAIfkEBQoAAgAsFQAFAAoACwAAAhWUL4AIvdnciXFSZS6G1HYvMeGyIQUAIfkEBQoAAgAsFwARAAwAAwAAAgWEj6nLBQAh+QQFCgACACwVABUACgALAAACE5RgmcBqDB2MarZqZcZTU+4sRgEAIfkEBQoAAgAsEAAYAAQACwAAAgWEj6nLXAAh+QQFCgACACwFABUACgALAAACFZQvgAi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwBABEADAADAAACBYSPqcsFADs=) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(data:image/gif;base64,R0lGODlhIAAgALMAAP///7Ozs/v7+9bW1uHh4fLy8rq6uoGBgTQ0NAEBARsbG8TExJeXl/39/VRUVAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFBQAAACwAAAAAIAAgAAAE5xDISSlLrOrNp0pKNRCdFhxVolJLEJQUoSgOpSYT4RowNSsvyW1icA16k8MMMRkCBjskBTFDAZyuAEkqCfxIQ2hgQRFvAQEEIjNxVDW6XNE4YagRjuBCwe60smQUDnd4Rz1ZAQZnFAGDd0hihh12CEE9kjAEVlycXIg7BAsMB6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YEvpJivxNaGmLHT0VnOgGYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHQjYKhKP1oZmADdEAAAh+QQFBQAAACwAAAAAGAAXAAAEchDISasKNeuJFKoHs4mUYlJIkmjIV54Soypsa0wmLSnqoTEtBw52mG0AjhYpBxioEqRNy8V0qFzNw+GGwlJki4lBqx1IBgjMkRIghwjrzcDti2/Gh7D9qN774wQGAYOEfwCChIV/gYmDho+QkZKTR3p7EQAh+QQFBQAAACwBAAAAHQAOAAAEchDISWdANesNHHJZwE2DUSEo5SjKKB2HOKGYFLD1CB/DnEoIlkti2PlyuKGEATMBaAACSyGbEDYD4zN1YIEmh0SCQQgYehNmTNNaKsQJXmBuuEYPi9ECAU/UFnNzeUp9VBQEBoFOLmFxWHNoQw6RWEocEQAh+QQFBQAAACwHAAAAGQARAAAEaRDICdZZNOvNDsvfBhBDdpwZgohBgE3nQaki0AYEjEqOGmqDlkEnAzBUjhrA0CoBYhLVSkm4SaAAWkahCFAWTU0A4RxzFWJnzXFWJJWb9pTihRu5dvghl+/7NQmBggo/fYKHCX8AiAmEEQAh+QQFBQAAACwOAAAAEgAYAAAEZXCwAaq9ODAMDOUAI17McYDhWA3mCYpb1RooXBktmsbt944BU6zCQCBQiwPB4jAihiCK86irTB20qvWp7Xq/FYV4TNWNz4oqWoEIgL0HX/eQSLi69boCikTkE2VVDAp5d1p0CW4RACH5BAUFAAAALA4AAAASAB4AAASAkBgCqr3YBIMXvkEIMsxXhcFFpiZqBaTXisBClibgAnd+ijYGq2I4HAamwXBgNHJ8BEbzgPNNjz7LwpnFDLvgLGJMdnw/5DRCrHaE3xbKm6FQwOt1xDnpwCvcJgcJMgEIeCYOCQlrF4YmBIoJVV2CCXZvCooHbwGRcAiKcmFUJhEAIfkEBQUAAAAsDwABABEAHwAABHsQyAkGoRivELInnOFlBjeM1BCiFBdcbMUtKQdTN0CUJru5NJQrYMh5VIFTTKJcOj2HqJQRhEqvqGuU+uw6AwgEwxkOO55lxIihoDjKY8pBoThPxmpAYi+hKzoeewkTdHkZghMIdCOIhIuHfBMOjxiNLR4KCW1ODAlxSxEAIfkEBQUAAAAsCAAOABgAEgAABGwQyEkrCDgbYvvMoOF5ILaNaIoGKroch9hacD3MFMHUBzMHiBtgwJMBFolDB4GoGGBCACKRcAAUWAmzOWJQExysQsJgWj0KqvKalTiYPhp1LBFTtp10Is6mT5gdVFx1bRN8FTsVCAqDOB9+KhEAIfkEBQUAAAAsAgASAB0ADgAABHgQyEmrBePS4bQdQZBdR5IcHmWEgUFQgWKaKbWwwSIhc4LonsXhBSCsQoOSScGQDJiWwOHQnAxWBIYJNXEoFCiEWDI9jCzESey7GwMM5doEwW4jJoypQQ743u1WcTV0CgFzbhJ5XClfHYd/EwZnHoYVDgiOfHKQNREAIfkEBQUAAAAsAAAPABkAEQAABGeQqUQruDjrW3vaYCZ5X2ie6EkcKaooTAsi7ytnTq046BBsNcTvItz4AotMwKZBIC6H6CVAJaCcT0CUBTgaTg5nTCu9GKiDEMPJg5YBBOpwlnVzLwtqyKnZagZWahoMB2M3GgsHSRsRACH5BAUFAAAALAEACAARABgAAARcMKR0gL34npkUyyCAcAmyhBijkGi2UW02VHFt33iu7yiDIDaD4/erEYGDlu/nuBAOJ9Dvc2EcDgFAYIuaXS3bbOh6MIC5IAP5Eh5fk2exC4tpgwZyiyFgvhEMBBEAIfkEBQUAAAAsAAACAA4AHQAABHMQyAnYoViSlFDGXBJ808Ep5KRwV8qEg+pRCOeoioKMwJK0Ekcu54h9AoghKgXIMZgAApQZcCCu2Ax2O6NUud2pmJcyHA4L0uDM/ljYDCnGfGakJQE5YH0wUBYBAUYfBIFkHwaBgxkDgX5lgXpHAXcpBIsRADs=) no-repeat}.layui-layer-iconext{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAABkCAYAAAAv8xodAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK6wAACusBgosNWgAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNS8xMS8xNNdPc0oAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzbovLKMAAAWb0lEQVR4nO2de2wU172Av5l92t4Hti/YQHmVmFcSE7+WR0h0uRRVVC2pKldpCFJQEJAiFwg4diikgLEghEhpVLVQNblBSFEUVYoi+hc0FQoE87B52JQAiQnBJDY2wfix633O7P1jdwbbxe9d7yx3PgnJc87iM2M+js+cx+8nhMNhdHQeFcRE34COTizRhdZ5pNCF1nmk0IXWeaQwPqxQEIRYtpEKOABL9NoLtAKhWDbSDRF4EsgAbEBHtL3LAIN9CV6+fHlSvS0fOXLkof9oj8pzDJZ499A2YCxgWbJkiSUnJ8cApADZgCEO7ZmAImAyYFuxYsV4Iv+ZpgIFcWhPR2PEU2gbkAlQU1Mz67PPPvvvq1ev/s/f/va3LCIyp8e4PROQD4wrLi7Oam9vP/Dhhx/+9f79+3/Kz8+3AxPi0KaOxoiX0KrM169ff6KgoGAKgMFgEF944YWZ0c9Y+vrLw8BEpAceV1xcnHX48OE3HQ7HRIAxY8ZM2bdv39Lo5zJi2KaOBomH0D1knjFjxsTulX6/Pxj9Uo5Re4rMY1esWDH+8OHDb6akpGR2/4Db7fZEv4zXuF1HI8Ra6H5lDgQC0ttvv/1l9NIfg/Z6yPzee+/t6S1zY2PjpdWrV/8retkagzZ1NEwshR5Q5j179pzfu3dvOxBg5HINKHNTU1Ody+WqbG1tDQENQOcI29TROA+dthsGGYAd+pd5165d94nIfHeE7Q1K5qKioorvv/8+ANwGakfYZlwIh8MEg0F1OtFoNGIwxGMCKL4Eg0G6urqQJAlRFElNTcVsNo/6fcSih84A7BaLRRiCzCMZy5qAQoYm86URtBc3FJnNZjMzZswgKyuLQCCAJEmJvrUhEQwGcbvdZGdn88ILL5CTk0NnZ2dCnmOkPbQqc11d3eMPk3n37t01lZWVbcRW5v966aWXJh44cKAyWWWWZZlgMIjD4aCoqIj09HRkWeb48eO0tbUlTS+tyDxz5kz2799Peno6LS0trFq1Cr/fT2pq6qjez0iE1mUeJorM6enpFBUVkZaWRigUIhgMEgwGB/4GGiEQCOB2u5kzZw779u0jPT0yze/xeJAkKdYrzoNiuELrMg8TSZIIBoNkZWVRWFiI2WwmHA7j8/k4d+4cnZ2dCRl7DhWlZ37iiSd46623cDgcANy5c4c33ngDj8eD0+kc9fsajtC6zMMkGAwiSRKTJk0iLy9PHVZ4PB7Onj1LR0cHZrMZUdT2njGlZ87Ly2P//v1YrVYAmpqaKC0tpaGhAbvdnpBh01CFHm2ZzURmMx4ZmadNm0Zubi6iKCIIAm1tbZw5cwav14vJZNK8zH6/H7fbTWFhIXv27Okh85YtW7h9+zY2mw2TyZSQ+xuK0KrMly9ffiInJ2dC98pEyNzY2HjJ5XJVJoPMoVCI2bNnM2vWLCCyo/Hu3bucPXuWUCiE2WxOyJhzKCgyL1y4kMrKSiyWyO6Fb7/9li1bttDS0pJQmWHwQidU5oMHD+6xWq09NhYlg8zKtJwsy+Tm5vLYY48RDocRRZGmpiaqq6uRZRmTyaR5mX0+Hx6Ph2eeeYbdu3er0jY0NFBaWqoJmWFwQg8kc2j37t3ndZl70l3mvLw8pk6dSjgcxmAw8O2333LhwgVEUUyKF0C/36/KXFFRoUpbX19PaWkp9+7dw263YzTGap1u+Ax0B7rMwyAcDhMIBDAajbhcLsaPH48sy4iiyNdff01tbS1GozHhvdlgUHrmpUuXsmPHDvU3ybVr1ygtLaW9vV0zMkP/QusyDwNljtlsNlNUVMS4ceNUma9evcrVq1eTSma3282yZcvYvn27KvP169cpKyujo6NDUzJD30Kn8UDmJ3NycsZ3r4yDzABzeURkTklJweVykZGRQTgcRhAEamtr+eabbzCZTJoSoC+UnvnnP/85W7duVWWuq6ujtLQUn8+XsKm5/ujrJ2sDuHDhwpxRktkJZC9evDg92WV2OBy4XC5sNhuyLCPLMpcuXaKhoQGj0ZgUMnu9XtxuN7/61a947bXX1PLa2lrKy8s1KzP0LbR18uTJ4uzZs3vMM0uSJMdBZohuOy0rK1vUW+bm5uZ/a11mgFAohM1mY8GCBaSmpiJJEj6fj9raWpqbmzGZTJoUoDfBYBCPx/MfMl+8eJGtW7fS1dWlWZmhn912zc3N4WCvjQUGg0H85S9/mR29NEf/xAIvQGNj43/skU5PT//xypUrp0YvHUQO2WoOWZZxOp04HA4kScJgMNDS0sKdO3cQRVGzAvQmGAwyZswY1q5dq5bduHGD9evX4/F4cDgcmn6WvoTu8vv94YMHD16WJKnHUamCgoIpNTU1s6KXY4mEKRgprQAlJSWn6+vrP+9eYTabUysqKirKy8tnEBmaFKFBqUVR5M6dO9y+fRuj0YgkSUyePJk5c+aoG4+SAYPBgMfj4cqVK2rZhAkT+NnPfoYsywQCgQTe3cD0JXQrENq4ceMPf/7zny+OgtR+4JbX65Vzc3PfSUapTSYTsixz7tw5Ghoa1F5s5syZ5Ofnq2NsraM8x86dO6mpqQEgJSWF7du3s3z5ctxuN16vN8F32Td9CS0BzYyu1HUksdSCIKiLJDU1Ndy4cQODwUA4HGbatGkUFhYC9DidokVEUcThcODz+Xj99deprq4GIs9XXl5OcXExbrebrq6uBN/pw+lvJ0wIXeoho2wwunTpEteuXUMURWRZZtKkSbhcLkRR1LzUBoMBu91OIBDg97//PefOnVPrNm/ezPPPP4/H49Gk1ANt7dKlHgbKXPOVK1e4fPkygiAgyzLZ2dksXLgQq9WaFFI7HA78fj9btmzhxIkTat2mTZt48cUXNSn1YPYq6lIPA5PJhMlk4uuvv+bChQuqvJmZmcyfP5/U1FQCgQCyHKvwJLFHGX4IgsCOHTt6SF1SUsKqVavweDx4PJ5+vsvoMtjNt7rUw0BZ4r516xbV1dWEQiHC4TBOp5OFCxfidDrVDUxaRZFalmXeeOMNjh8/rtatW7eOl19+ma6uLs1IPZTd5LrUw8BgMGAymWhsbOTs2bP4/ZH4OmlpaSxcuJCxY8eqm/+1iiiK2O12ALZv386xY8fUujVr1rBu3To8Hg9utztRt6gy1OMRutTDwGAwYDabaWlpoaqqSh13WiwWXC4X2dnZSSO10Whk9+7dHD16VK1btWoVJSUlmuiph3PeR5d6GCh7n9vb2zl16hSdnZ0IgoDRaKSoqIgpU6aoJ1u0ijL8EEWRHTt2cOTIEbVu5cqVbNiwIeE99XAPsOlSDwNRFDGZTHg8Hqqqqrh37x6CIGAwGMjPz2f69OlIkqRpqQVBwG63Y7Va2bt3L59++qlat2LFCkpLS+nq6kqY1CM5kalLPQyUntrn81FVVUVzc7N6MDY3N1cNOKNllOGHxWJh3759fPLJJ2pdcXExr776Kj6fLyHL5CM9YqxLPQwEQVCXmM+cOUNDQwMQ2bap5d65O0pPrUj90UcfqXW/+MUvyMjISMizxOLMvC71MFCkFgSB6upqTp06xcmTJ+no6EiKPdPwQOqUlBTeffddDh48yHfffcfHH39MW1tbQk7lxCoIxHCkHmkE/6FKnTvC9uKCsgBz7949fD5fUgSa6Y4gCDgcDiwWC4cOHWLdunUcOHAAs9mc1ELDIKU+fvz4tOilPQZtDkrq4uLiLGAcGk1JocxVJ0Ogmb5wOp2MGzcOg8FAdnY2NpstIfcR65/egFIXFRVNjn4ZqxwrA0q9fv36Z6KXmhRaJ3bEozvoV+qOjg5l5j2Wm4P7lbq+vv776JeJX8rSiSvxevtQpM7auHHjD62trTWrV6+e5vP5gqWlpV9HPxOLHCvdqQPwer1TcnNz3zly5MjN3Nxc16VLl86sXbv2dLQ9PcfKI47wsC2MMQxLZSTyAtj77KEXaIlVI73IBaY8pPwk0KZnktU2I80kG+/5oRDQRORwq5VIKjcf8f3VX0fkdHg2kTFza/Qe2uLYpo5GiHcPrTm0vKleZ+T010ObiaQStkavfUR6uViPfbujJJ13EOnFlaTzo74W/Kj8qn5UnmOw9DXLYQbGA9a8vDxTXl6eiYjY2TwQPNYUEEky74gmnbcRSUJfRCSKv47OgPQl9BiAo0ePTjl//vzi8+fPL/7nP/+pLIhkEXup04EJ+fn59vv37//pww8//Gt7e/uBbgsi+ehS6wyCvoROcTqdwpIlS2YIUX7yk5/M+Pzzz6dH62MtdQbAvn37lo4ZM2YKgMPhmHj48OE3dal1hkKfCys+nw9Jknpsl3r22Wcfi5PUIeiRZB6AlJSUzF5SF6BLrdMP/YYC++CDD/4d7jUt8Oyzzz526tSpx6KXsZK6FWD16tX/amxs7BGMUZE6Oq4eiy61Tj/0FwpMeuWVV+6+//77tb2lXrhw4fQYS90JNLS2toZcLldlU1NTXffKlJSUzPfee2+PLrXOQAwUCkxas2ZN8/vvv1/be5NRHKSuBW5///33gaKioopklFqSJPx+P36/n0AgkLRz3oFAgLa2NlpbW2lvb0+KmHwK/W1OCtJN6g8++KBuEFKPdBP9JZJUakmSCAQCZGVlkZOTg8lk0nx0pIchSRJut5ucnBx+85vfkJWVhdvtThqpB9ptFwTuMHipxzH6UheiAaklSSIzM5Onn36auXPnsmjRIjU+nNbPCHbH7/fjdDrZu3cvJSUlHDhwgJycnKSRerChwAaUuqqqKid6OWpSv/TSSxOB/0IjUgeDQfx+P6FQCKfTyfz580lPT9d8dKTuCIKAJElq7JDMzEz279/PrFmz6OzsTNr40L0ZUOoFCxb8eLSlPnDgQKVWpDYajbjdbk6fPo3f7yccDpOamsqCBQsYN24cgUBA04FkFMxmM263mz/84Q+0tEQ2RGZmZvL222/z+OOPa76nHmooMF3qPlBibrS2tlJVVaVGEDKbzcybN48f/ehHBINBTcsAD0Lp3rx5k82bN9Pc3AxEjli9++67PPXUU5ruqYcTCiyhUj9snlprUnd0dPDFF1/Q0dGhBpIpKChg6tSpSJKkealNJhM2m41bt26xefNm7ty5A4DVauXNN98kPz8ft9utxunTEsMNBZYwqV0uV+UgpU5IzmFFap/PxxdffMEPP/yAIAgIgsBTTz3FzJkzkyLniiJ1Q0MDJSUl3Lp1CwCbzcZbb73FvHnz8Hg8mpN6JKHAtC51AQmSWom5EQwGOX36tJoJC2DOnDk8+eSThEIhzc9VK1I3Nzfz2muvcfv2bQA1DNjTTz+N2+3G5/Ml+E4fMNJQYANKfe7cuVGV+uDBg3u0IrXZbEaWZU6fPq0mEgqHw+Tk5JCXl6cmEtK61Ha7naamJjZu3Mg333wDRN4NKioqWLRokaZ66liEAutX6qKiolGV2mq1pmtFaniQc6Wmpob6+no1PcW0adOYN28eoihqvqc2Go3Y7Xbu3r3Lpk2buH79OhAJB7x3716WLFmimZ46VqHAdKn7Qcki2z2RUDgcZuLEicybNw+z2az5BRhF6ra2NsrKyvjqq6+AyDvDrl27+OlPf4rH40m41LEMBTZUqUcaaGaoUs8dYXsjQomMdPXqVerq6hAEgXA4TFZWFvPnz1cTCSWD1Pfv3+d3v/sdly9fBiLDq+3bt7Ns2bKESx3rUGADSt0tFJgjBm32kPq777670L1SkXrx4sXpRI6POWPQ5rBRktffuHGDCxcuIEkSsiyTkZHBokWLcDgcmpdamaf2er2UlZVRVxdZGhBFkW3btiU8OWc8QoH1kLr3B+bNm6fEzIhVKDBV6vnz5+9pbm7+d/dKq9WaXlZWtih6mRmjNoeNkkiooaGB6upqvF4vsixjt9uZP38+NptN8yF1Fak9Hg/l5eXU1tYCkZ66rKyM5557Do/Hk5CpyXiEAnMABovFIixZsiS7d6XX61Veh2O1DpwSbZOVK1dOTU9P/3HvDzQ2NioRkzSR09dgMCCKIk1NTbS0tGAwGJAkCafTidPp1HQPraDkMXS73fz2t7/lxo0bQETqdevWqRm+RptYC50B2C0Wi3D16tXcadOm9RA6EAgEKysrlazosRhopRA5Fe4sLy+fUVFRUWE2m3vEnq6vr/+8pKTkdPRSE6HAlFwqc+bMYfLkyUiShNFo5Pbt2zQ1NSVNBFLlRXbZsmVMmDBBLf/yyy/p6upS852PJrGMnDSgzK+//nrNO++800Ektsf9EbY3KJlzc3Pf8Xq9MnCL+MYUGRTKGDk/P5+pU6ciyzIGg4GGhgY1QWci4ioPFa/Xi8fj4bnnnqOsrEwNTlRTU8POnTuRZTkhzxEroYcq890Rtjccmf9jPD+ahMNhdWxcWFjIpEmTVJlv3LhBXV2dmn9F6yjp237961+zefNmtby6upqtW7cSCATUbFmjTSyEzgRsQ5R5JOPnpJQ5GAxiMBgoLCxk/PjxyLKMKIpcu3aNK1euqC+LWkeR+fnnn2fTpk1q+blz59i2bRuBQAC73Z6Q4QaMXOhMwOZ0OoWLFy/qMj8ERWar1UpRUREZGRnIsowgCFy+fJmvvvoq6WR+8cUXKSkpUctPnDjBtm3b1PQUiXwHGInQuswDoOzVSEtLw+VyMWbMGMLhMOFwmIsXL3Lr1i1MJlNSJAnyeDx0dXWxatUq1q1bp5afOHGCHTt2aEJmGL7QuswDoMjsdDpxuVykpaWp4+jz58/T2NioLolrHUXml19+mTVr1qjlx48fZ+fOnQCakBmGJ7Qu8wAo2WDHjh1LYWEhFktkDcnv91NTU0NLS0vSyOx2u+nq6uKVV15h1apVavmxY8fYtWuXuhyuBZlh6ELrMg+AciJl/PjxFBQUqGPjrq4uzp49S1tbW9KkblN65pKSElauXKmWHz16lMrKSs3JDEMTWpd5AEKhEKFQiClTpjB37lxEUUQQBDo6Ojhz5gwejydpZFZ65g0bNrBixQq1/MiRI+zZsweLxYLD4dBccPzBCq3LPAChUAhJkpg+fTq5uQ9yfN67d0/ds5EseQgVmUtLSykuLlbLP/30U/bt24fVasVms2lOZhic0LrMg0CWZdLT01WZlb0a1dXVSJKE2WzWpAC9CQQC+P1+Xn311R4yf/LJJ+zfvx+LxYLdbtfsswwktC7zEAiFQni9XlJSUmhoaOD8+fM9cnonA6FQiIyMDJYvX66WffTRR/zxj38kJSVF0zJD/0LrMg8Bo9FIZ2cnJ0+eJC0tTd1FlwwLJt0xmUy0tbXx8ccfs3TpUv7xj39w6NChpJAZ+hY6jdGVGSL5BZNSZugZvsDn8yXNtFxvlJM1f/nLX/j73/9Oa2ur+gKYDPQltA2gqqpqzijJnAGMKy4uzkpGmRVEUUyKl76BsNlsavL5sWPHJvhuhkZfP32r0+kUZs+ePbF7YZxkhmiOlfXr1z+TrDLraIO+hA62t7eHOzo6upSCOMoM0cyy3ZLME73WZdYZEn0J7QcoLy+/ePPmzeabN2/e2bBhw9k4yQyRkyT+tWvXnj527Nj/trS0fPnZZ58d0mXWGSp9pUYWiIQa6J1mwgf8QGxlVhgDPPOQ8pjKrCev1zbxSl4fJpKOwsGD09l+oGMkjQ1AG3CSSAZbJen8HUZ+VEvn/xEP7aF1dJKV5J9j0tHphi60ziOFLrTOI4UutM4jhS60ziPF/wHgvbfirVNMHAAAAABJRU5ErkJggg==) no-repeat}.layui-layer-photos{background:0 0;box-shadow:none;border:none}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;vertical-align:top}.layui-layer-imgnext,.layui-layer-imgprev{position:fixed;top:50%;width:27px;height:44px;margin-top:-22px;outline:0}.layui-layer-imgprev{left:30px;background-position:-5px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px}.layui-layer-imgnext{right:30px;background-position:-5px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px}.layui-layer-imgbar{position:fixed;left:0;right:0;bottom:0;width:100%;height:40px;line-height:40px;filter:Alpha(opacity=60);background-color:#02000059;color:#fff;overflow:hidden;font-size:0;opacity:0;transition:all 1s ease-in-out}.layui-layer-imgtit *{display:inline-block;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}.layui-layer-imgbar{display:flex;min-height:40px;height:auto;flex-wrap:wrap;justify-content:center}.layui-layer-imgbar .thumb-row{width:100%;display:flex;justify-content:center;align-self:center}.layui-layer-imgbar .thumb-box{width:100px;height:100px;margin:0;display:inline-flex;align-items:center;justify-content:center;position:relative}.layui-layer-imgbar .thumb-box-border{position:absolute;top:0;transition:all .2s ease-in-out;width:100px;height:100px;border:1px solid #5fb878;box-sizing:border-box}.layui-layer-imgbar img{max-width:100%;max-height:100%;object-fit:contain}@-webkit-keyframes layer-bounceOut{to{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{to{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width: 1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}.layui-layer-notifiy{border:none;box-shadow:none}.layui-layer-notifiy-wrapper{min-width:330px;padding:14px 26px 14px 13px;box-sizing:border-box;background-color:#fff;overflow:hidden;border:1px solid #ebeef5;box-shadow:0 2px 12px #0000001a}.layui-layer-notifiy-wrapper .title{font-weight:700;font-size:16px;color:#303133;margin-left:8px;display:flex;align-items:center}.layui-layer-notifiy-wrapper .content{font-size:14px;line-height:21px;margin:6px 0 0 8px;color:#606266;text-align:justify}.layui-layer-notifiy-wrapper .content img{max-width:100%}.layui-layer-notifiy-wrapper .layui-layer-close{background-position:1px -40px;cursor:pointer;width:16px;height:16px;position:absolute;top:10px;right:10px}.layui-layer-notifiy-wrapper .layui-layer-close:hover{opacity:.7}.layui-layer-notifiy-transition{transition:top .3s ease-in-out}.layui-layer-notifiy-wrapper .title .layui-layer-ico{height:30px!important;width:30px!important;display:inline-block;transform:scale(.7);margin-left:-7px;margin-right:3px}\n")();
|
|
var index$11 = /* @__PURE__ */ (() => '@font-face{font-family:layui-icon;src:url(data:font/woff2;base64,d09GMgABAAAAAG+MAAsAAAAAysAAAG84AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACYSgqC3ESCmFcBNgIkA4VkC4J0AAQgBYR/B45sG52mB5TbJwXoDsCpdC3VQhRlcZZGBoKNgwD4f6ns//+UpGMMGdgGqtWt/0BUyi1WWU/IGqkpkdnXaZWkdRMu07QU4aLspsvu0r8DcmfDj1uMi/40tt0KPHQWBQkymXwS5gaxTRU5QIqTocLUzN5EhxPdvYS0BRm9jB6HjvIEznd8nd8R9eIf1nauM73yR/NTkxeNTnj81vInmdm9zhbRAYAsSwKJqsqhs73na2T1kSvoQAB06n1QYS6o0fpPMwgFEYzCwjZHglippnrTAOCp52Jz8/fAegkmGGgchhKY3e0QbLOjlWhRxAAERFBUSkVU0goQECwMwNqszYqlW+tSV+1SF/k/Xf3C/Vzk/+r335vv4rd+L6eZROXhqa1pV5dSq4mdMGuOheEv8J8l0Wr7/OEp/f5m/pREmJ6bmv2XPz0NSWGcS0L7lubn64c6qxkpPpix7Pgo91QBcUdoCCyFjkmNppXawBNDu+9tn3+QONBXUmmIYztlmUOjm4+nv6/T7ynIRUI2NiAS+KRxrbaxbaXOt95Wt+mGcrP/ZHubtH0WAV/BU7V1D/BNJFyTqwHdduXREqAmtEjdRobeqfUz6cF7o8LBgG21bAjschmWQKNxkl434SUu+Mf6lX8HbCmwYFmGQCEpJIVlCDwYnBf6yEOYOQcLuenNJQJ8W6v+1wi4zXa6cD2k5ampjoQf4mzzr6q2ApSUSKmSfa1IydN78rWy9zLeNP3/Acr4+IREgJJNEJJNSIrNYvsRpO0QpFuhSlrtACk5hGTnAZR9IeUrZKqcKl1rfbxlupfxxlvGW8bkppTbl5vmG/ajSk9lQOizcknBrSpDRUt059sClJR651ntVV8L7mmSG2kaCSMMZ3zBRMblK6/VQbbV48FV6Ss2FSMdsUjAW2TOpr4HS2vppIROqkPd+ejKHmfvw0GAxCLNkbV9d+2LxdTv3OnYoqA8rsDL8jL1N2EURmMfwdAglNoy260q5MKWKEHX9kzgQ33j5XVCBSNQopxyh46f2o1FQ1S+fsmldRlqdxJLtwaGVyACBswy67B95l7dEfkTnlUk6T61FLKJgW2cUTBohT772+OAXAWOPTv57M6zt8/+6PPz+fO57Hkisxw12vSUU2UPXhi9+HzwwP9Lu/JZ3N4/39E367E5ymWFbZoLk6v3n3pMfxNnP+UOfFJCKUUUU0Ah+eSQRy7ZZJHJQdJIJ8OekOolJSk5IdFJvKO4w4cO7N+3d89Ob7tc7XbRSKx66ewVK1etXrN23foNGzdt3rJ12/Yd4ycsU4nS8iXTFy9YuGjuzHlzZs2YP2ly+4ljOgwd1n/4iIGDunXv0alzuzatmmoZqZkWojTnobFQ44ZECNNEkGAhAgTy42+kJzc2bI2yU099DVmwNM2KtTrqMtPRmClnBowy5n+AJ9OzV+9ofbp09dXAlKkx+rrr13aAicE+RisYam3OnoOx4ZQYMBTEa4wGwy/Dov8ZP2TBvAw3FPMvGgb8RwB/EwT/EBR/Egx/ERx/EAK/ERKXCYXfyQ2/kjt+ITR+Jgw+JSx+IBx+JDx+IgK+JyKWIRK+IzK+IQq+JSq+Ig98TTTMQ574krwwF9HxBXnjc2LgM/LBJ+SLj8kPH5E/PiQmPiAW3iU2lqMAvEecY4oLvE88LECBmI74eIqC8DQJ8AgJcRcF4xkKwbMkwnMUiucpDC9QOF4kMV4iCV4mKV4hGV4lOV6jCLxOkXiDovAmKfAWReNtUuIdisH1FIsbKA6PkgpPkhqPkwZPkBaPkQ4Pkx63UTweogTcT4l4gJLwICXjHkrBHZSKeykNd1M67qQM3E6ZuI+ycBMZcDMZcZiycSOZcC2ZcYQsuEQ5uIKsxy4bcCXl4irKOy7l46AC4BQV4jTZcYaKcIyKcZxKcIhKcZAcOEBO7EYu7KcybEXl2IMqsA9VYhuqwl40DUvQdOxE1diIanAd1eIi1WELqscmNAO70EysQw1YjxqxATVhDWrGWtSCVagVq1EbrqZ2LEUdWIQ6MQN1YSbqxjU0C7PQbExGczAFzcU0NA9j0XyMQz24lRZgPFqICWgRJqLFmISWYDRaiqO0DCPQcoxCvZiP+jAUrcBwtBKD0CoMQKsxEK3FWVqPc3QQ52kI29EwLtBFnKBLOElXsBL9jKnoFW6hMn2FZ6hAYQsqCDiHChVGoeIBF1ChjT0kw7hCiRgJmTFuUQ7GFKrBuENtGAH1YOToAMYOOo3Rgp4BhqHqNkZUFsAD1AZhFRqiHyIAZQCZHaxd2HwEOPqB8sU04R/tEIGMQMAIKAVC+tCjCKpBIj2SYWTkFqiOrNEdzpAuNJGjlHREgUZ4587fEWdBgASNWSfWTMSdZEIst8TSktkI3RFjqSBPJBgKdEvMSij4oWo+SgEE32AXiANBNmyFwmI/JmhLyFkBQSkeM0FRANAlYsRGjsIgic2IPCZDaMc0sXpEyiaPHdU6qObmaXdEyMFIpyAxtjWpHtFEZ6qPS1RSkvIZuzXYP5dzGc56omf5Yb+1VdPk7+OepsZwShSGheQ0zXCOuLxAEtg5LMzuEsLpxTgCpbjoSs1ADBB+SszVEzQHc0LUCPs5DVLK8QZLagVdkslatruZW2ogyK59GsZJ7Pd3/fAJ+mO7mIl2h6Hxa6TTEd1JqU5FSrW46aU7u822DnLweCr2Xjo+7p6AqoJ3Ip5ppI5lGQJZES+BJGpPbJrzrxCCReuMmQdrbxIhHCIMUOe6zde6E2HfGvdO2Oupg5I0DjHiOhB7LhCNC/sxGm857Zk2hzbToe20T3sqz+zDIkXc6Sz9J86A3qO7sQOQMxwaXm2mqaC4sF1f7yGWBQlPouu65Ok1paFrYVbMLuC1ZdfgkXlPB818MTGLD7bOqRWJn2cJuV4v17nh3avF/IgISNmDW0nvmh8PKOIhqp5iPGRYKsCW1SMq8jHYHU1ek3ptEzIP0LNH1HmH2MD4FnRGNeS9mJ+/q119rw5djk1uZByx1PniVM+2HDpol+uWBalF5ioePeYFFP9+hLDsOljiu5GnEd5wmYUr78ktr7jUbkrOlfhjCjA+OvKu0uHozBSJHVFJWUJtWXqscPBZ1BxCM4CqDP2YEjRxmoefAUKvuXxX8n7Nw6s4KI1jRkxJJJxqYlEhzOBM1wn4c7RYNFQvJWfilNhzTJLqYtSxV+ue6b1QKd7273r3HvUPV6O1I3uyEa8fo4qiuoyXXIJjRoKtslEkS+5YTscLic6V43j1/7KbVypZr9KnbpELvticEITOF39AmxF+h5sry8a/MQ740Cofu7UMqmOJPWHYCL1fj8CmeL71c8XQIRNGrRSxIxnP76jUVolwlZKS1/pl6gYJW4Qly4QzSrnTP2nyBlizWYBa8ij27KBvFRulltc8p0iw6qMoqrdxUh/HsPSirPi4zlstH5kjWwqEYoutQ7lgwtI0cDYZQrdtU5RGhyIaEd5zmk4Q49CnE50wLQ46UE5D5A1Y+Pw+q41i/Y1Q7BAO+WB4LXqyWqN/eOWDBENedi4QOPjq1K0rvE6zXpONKjgvtXQCZqTD+LhY/mDDoD+MpbTtG457kDuHBD/iFv7hn1LKnTFZuKC1nH+HHd3Emi2dOWonXitWrDQMevpNJpieRtSYo6yXhkwx6sp6NV3moIGxpYOaJJKCBU9TlzloyFlQYMsMVp4dNk5RUa8IS2Glslb/qi5Kf4FtV18c75fmd4EqITHGCYQRQttqDoBs+U2IUrh4Eh3UFHq4q5zmkJI/NLi39LXgg1JpeuyIUd83wm/JFiLzMloWh9wFY1cVQOOf0U1XmLRXuDvRLR4ZfG+HtN76dXjaXXGN2aSGJRc5jZPNOj/1TDQ1byzwTUezhAyIClkCcNhvnrpki+NTbJ2+hwj+qEYMvwqU04nIbLT3mGdpiZHiTzeaGGqjc5g4vTFwMqMNLOkfmaoqdcLAisoGvJdiQtMEjdWLT6Z5326glnU/fcAv+QATojnoLhUcw555QTI73CR5aEG7Pk9OKbDt3ExztzzUmM/FwQOxP8olsMwSqnQKPlhChH9yJjGuXjpyE4+I4CP8d1hlO+vXLZsNKdWjWPq+U+01hngOhpJFRF9gGsXoSikSwHLgehdqFj/RGPSkGQETbt4j3ihmxVdleJgc45ic2CMU/mjQmJ6mA9oCqpxl6hXSD1YmyYYVBNHmOKWy91ED3fMDOOfX/EXPedh/ct0QYwbUom9+SshcN4GZ9IgCvDdkt9het/ZrRDlbuSGvBlvqT5QXy3fo7k8OFksj+PbNf0/c+GV6fxzrzcniQL1hqqHsKtsSLSJ2T5OZgyB0RuGGvfIzClkbOEOnEdh3veWGqQA+LB25cRYXboRvdS7D1sROx2IwB78rLXYsjW+3L0RqkcARWTRPN4TeVcT7twYgixRCbHSpd7H/FhIB7e7xaLTo9Ou1pSOy5OXFyEULKYO58lIxJBWdXej6IQyHRlEEWUyzyyQGA8upi9DzI/vyhGP84lgtsKIeA8Ga3ztgmaHbakf6RioAxvoRIMrKG5dcGdHp7B3cONLDv0kkQp7GtGkU4T/ax3F7vsLd8TSlO4MqIXumj8L0ogitJUhlJJAJRjqWfcn7dfzRiVhsmH4AKAVAr9waRjV/Fo4gTt7nB5DPQ90nxjucq0qBdU6Tr17qRyPWdNjzLzzXd4UXMUOyMGqjiJ3nFUotgLkQvp/J1jq+mj2sNfiZvl/GR4uJ8lBSccgPZReWxzNtxU5vYpmw2JqEei5kfKdI1aGchtdCDrGDDnNElXHZh1o/MrNkvvdWGDUd2kDvFkAzA3Y0K/L5frCLcdbopYGe3bE+bRjbeqXQb32By13XO6qVm60qWR24HqiBVTcIZfcfrFVVuuOgCcZCrGbUEomYL8VYDJtn20MnQ7XAQtMX+K1Z76RnDp7mjrnn+xebC74FVC1l0ZLnRqZcIcv9jOkongSG0JigMQeDGl66zhDECUtL7++rWIEDmowI9TpbJCrq1U1TNEQ01GN8muZK/uxCgy99uIc2Y2RNDAFXKd3z7vq3C0kDiQo8EDgLiCV2vg1AGrgz9SJxrpz+u54I7ZZ2Wyhp48Q05EC+MlAlvp9QwN4NK9Gvn3ASShrBO9ARqvUEWF2t98YLlRZQlK8BXwYNV7E4rMBIqjnR5InQrAQKIkU3qEJm/rhRcRQ75/Nh8rYWjvoMXqZeRvcRAfP03k5taL7Zzdz2zelIDJK/QlDiGwvERo+GkAAwszCY5hI4WJkdJvxPwNwJv+bFLvjs3ENPXnQybzx32gUgf3nm/lm2KfwZZWZOrWmfTEUxa5FuzGrxm3sGKgajWBuMm9WTr0OzYv0linAMMXZ2nr24UcFIP3UR6z8XTHmgIVpHA+Hd64F6brgf0coSvnDeUetn6uUkoDe2WqCeO+tkwO2jDQTQ5MJbM3H+O6NA1n3KULs7dk2MrnTFU1YaQTl/4U8rLufZmnCopQP7aNZOWXmuS2qhiWGIVQ9Sf72TzDaoIynQD9iKsz3bPvF+2r8YpaoS1Nxu4xi6zTlqvJXklaUyv2Ih5dHldcEygil2GqTFxu4ZHT9uVLxTGd2OtTmEBtdYdx2tHLakYFjNDYxcrwHQdavIpaxKrM+BLtAM5hOdAQaJw5mBygptSnj4GEczDRQlEtUS7vgaBknVVtNR8ERVMhn0DJTPNOLi4tpi6tCj7ntrGHbeOWTBqZ2AdQw8srdPVnz4VjrRZAc9+b7+/GB/j7OmKBxeyEMedPVzGOf7fK0zpPC8TKmIiaTkkPb0eCZ8FY86whUijrreF6eQJj9eOymlWbheJhZeb3a5kURUE+p3IqZf6gBweiKS8ZI/tDzH/jHUA/xpUfPiRjcxjQUSRtAzv+ZGHT9en2r4prD7Hk3Dbc7xZ2SfHqxcDMZ4HPZAnaZxEw12eEhmKAOb1cQR4YNmvjGGR2HbXhSHQZfWpFLGaHfTOfoiztH9t4fk4eb/X5/sWdI5UvmYkWct1mItt7Ur+qu0kLcrhFTpQwnJBMGj/+W/tZpO4Hy4QbmB2xJcN9PNGobSCAyL5++EScvUAsY9Gm0RTmaX3KqNBiGDN1AOKfwMqsUJW88p24iawWLZ6KsGsjWRR3vsewHA+gFIFIyBGeEI8fByQFul8dXmxMMTTiNAYNMeZtXM131nkI5UsW0g/XCjwSJbZqttMPvKbMh0fh5GPk93Y+qIw/QBd4voEntihoOfZDL7nicdDxejlsUGO5/C/eDc4IPcPTB09uzu/Ycfcbc82nVgzx7zvHRm175DD28boAgOyAY1az/Pqw1wUW2WjejaqHCtV55jF5GfduiwLZKDufAMrYtTzyR+NI8gPEzQWCNepmfRlxB4B1ExAu/5MhF2k/34NyehVIfrmQxzWbHSNytAufK7irYN61YaTKeAgUbQurU3JqCsfFuh3FgaOMtNQbAszFbgmepAGKX1KqHWEKmCgb6/aDZKv/DKQ1hIS6twjqLXZbABH8FHdGzOIDze65PW6Z0zBXOYOr3E2KhJ0PPEodEBtPIaBe+g4vbKmPgpeYuYmnk6PySkQ13mRIw1w/7j/xQeA3nUHK/65FyhdseIq7y4DnTJ94Du6Bp7UK0sDL5F0hfqgrnzoIiRkYuf+xkD+iG37TV6Ym19xuJuFxbFky5/1BWPOK5YFSeecBxY3eVAgvIODsryJHcf4s42wR13awz7sHAeFwLkd4rCCklbZ3cb/Bfisgd0h2X9erdsIRzxaSzV7tAL6b658sZ8eYgMN9Su0VbiuZ9IhY5oodeYRD2BG1byu9Ygd/3oHVhKpx6eXRS7KzT2Xgz+B1zEvBmMnSEtkSb2FV0uM0IotIJx92rXUuP05cFc3KNd1CxUbtNs1Ve1lW1j4QYSS16OJVv3ldkc8BiXfH3zz4lFih1HqR1PKs9guAOdj7XhqmaTSGD5DLhsV+wUNBDldQSA+fVLNWa6VsdhGbPTIrZCNLq/9BgZLKn/MB7j9jg1KLMyiY4ZKi7uy4c7Y2iOS7C72B0LxoSRGGfnOuYebE9jXADe99KuudH59Riayqv7aVZEBR7BWQbeCquiCCjYTH2hfZIeFwKnCk9pwpg9UCrD6rtLwAplC51tLEa1tQ/sd+/fvS+j2+iiCZoorFgLydKH0AEhIZau5zmclj6QgeYAhcx9dIUN1QXZYvcqMIF95pc/iGZeQquyRkYU7gSrdZ/6Z0PBjga+nHEaFF6YRPfnzUcylCMZ/E+R9qwz9FpjrnKo/jvmeXulMfldbzXSdEx8u/J4zPY7M/Rp++wP6TeDppsJYCG3o/ka0wLQes5WdnFErXJLWpThaKR45Ff+k8rFVrDUv7xOveaTPpyacAQe4dGf+yM/oBe9YWz5xr3+Hyegod5g3g2pfc05K/KvqY+tVppv4kbzxhPLcEx2zzYjQdNmFkPHwE56wRN4CnAFRfZ53fTPWNS1adrXtYO+mcOk5DF/xpstTQ82jZl3Ny9P3fQXrnrXeot05bVBkT0s3IhIJZmWC7j6mtwYxCNRBcsM1WlN4IfgjXzK9Qya1Rp25AJ9QQ8zYUwKSZKqDer6qTAs5K7rmW3iXf2evWgW0Z2G7SmZsHKPt6Jckhd1RhRG3cLz5Hk1RCNrZFMTc70KnrLS9QackDr1Dj9XBehJtAbeKTWQG0S3tKWUIx46BPSoQl/I0ei5YjAIL0KxxcPBGRZdELexwikmANoEfcED5MPhuRikPI2FOF5FnH5IcakEjwkNjmGUxkMAMIB0AeAAw0lgAL4WmTzvMRwEEccxlGdNTsDirrhrmuAGF1FZ28u35QB3zkICUp5vKXVuI4tk0knEfE1oZbjj5u0nB/7Wr7an4R7Qa5LPDvy1D6UqEKIuxnoWh1UbRING1cFSK8CIXD2eoEm8HWCwow6GOwf9kT8KGoENshiHpOlADXi2TyaLigz7/ICMUNM/aEYq5bcBpat1m1jSgBK9jYdlcSy0IxZarrFoeGigatnosMqGBT6WHflAKbTUgm5T2XJYcdzBckhphZJgBMFtKkZUT7f74PfjY4QgTq2OQmLkeCzOfneFPFRR+IgKYQioJt4mcp1f/k3fDwrul5PSNtMksDrq+/1ebjE5vLI9v2yD9MzJnmAiq0GCYlNZ3FZMRRZfCrXQY2Ku+zyvvKvPXU+5yAdqM1CLMzzwf/Y15X1zXD6lP6JY27iqzABJ07DTjvxMWSXnUI2wDSUhnrR7T502jho4n6ywlKQs9fkxeK/+tX1HOh08ewt+mE3QEs8uzjfGEy9bmiyFCor/KBWfLh//XlJlHSC/KSHCIqEqdly955SJUNoGO3f1UTC5V1keBxCJPHPFqZvrTuQCuK4yqK8EpO0hbpZWdOrS3RpKpL8yV/NND0/tXFDqt9ILDqM6dW2hesBYPX3EpL1nh5txiUaVpbH5rvV+np4rMr4oWkBhAz7CR48r+z5hv/mWi1tdsFZddQZBcXH4PzlpouLgLbzR9SVfYaZ5xTvrbNznD9sFKdRzaT4I/JI8y9gky87/o4RZJAwhGy85bxFi9ZWfkhfsPSr1HV35t1oBqjXKrfWrMLrkKtBw098zZqeWmR/A4gVcuFs5zLmEaoQdMXq20krL6RB4cIAaaaWdSEmgUE9KYyuAIHnrdPxir8yg9/ZC1ojPSZ9VIIVKsiSRCwI/JI8sW6bTjAC9hQxY/Ap0rYsh3FbMxYz9Cy2q+yIuecVuaLa9EPlD/8SZL5kpcXA1CK9H7NC+KA7pRJ9skXQkNJwYvgRH60XLhcPKzATfXco1onunb0VfWZ3To/IUEKqdjrxOBpRyL/pDZ19XM11f2VW7EMRw8M8gRHGwu0hMRqv031a7WEtclVjNVrAwNPa15cLJI5pvRlaYMneboc+AtkKkbn7vJK0lUILQf5Pn3gRwjCZ1UOaDvkHPDult4GZLjVYnoLxfzHVHmiGrd/WbaZj/8oRIGW42Fzi9+wpGucY4YBmeWdgNEXxWnBorAzd951YGvLE8M2GjsY/T33dSbLvaQMmWiYbLkpR45UYvjARj8hRSr9UmjgZdaW15D0fncvf9PeuqiiOb+OKmaSFZSTluWKktj45s+H+Y5qiGbm3OSz4HnsijEWDecxIotKqzggsYP10zwqOPSbYaui29c41dqbDGJCjW+moMm0GBPXiyGvppcFXDQsk2LCzjY9q8GtAvesVzuB5KPPNOf7P0/a0gPCQz9WwozQHfdb3vh+F1xJj4bLMdivb+jWOuon0cLYlm0P7UOxmfvfnljCmwB8quyEbTflWwjWPCOen95SubbC6VNdT2uC2PI1ippVTMZgk+H4JzLGCA5iK13214QxzF8ExJFeVV0oiWrChr2EqNMLyhpRUQY+LWZWkXp7oVhA0WdLsjumm+3+ddRy40J2zh6uHJVk6IsFBqEM6j3PgYdkiKr/fnKue6oeHT9elheK6M2CEZ9Z6jI6dzCA7Hb2loGK3QckcoFVsWNjIUjqKVVkXH3Toj7RwjYPyTWb6C8T3FsAzlcvPsWTVwz8PTxZYOw48xp/kENpOE0NQScpMpAWmcCNauOjTyYYt83VMgxFdP4Eca5zPMi03NyAKGnWXIG2fb9oertWB4HD1kRucArv65Y4v4xRt/KLFGuiS4JbqoiXqEfENYxsNM0Hh+mLzQottrEXymBfCS5eyBzwuLsfknch2JfI9W23rc4RamkFb7UIJ70oYSD0kveUskSrXMMJJ84UeaoWFonw7Sr+th6B/xBwPC9OLXZYrw0rNo/Mw5rs6Q3duzKq8etkpZEdCycdIRzzgVicNpf22/xjWVXyYXleIWFIDcPK7aD1zKabXQC2p+tTxoUb0efSJF6wI3Enu1QjDyExYtefTaAiVco3gh4pFxsRZQ/u3CjREIXO+utOujfWNyBKYhKI52zfMNVF0Nuo4NiareQLOsZukcVMIg8+i5gdDiGUlAPBi4iGu4lW2rMIJJXCTqyZyVFvIGdbcV2bGQ8KQHsedrEym6BuuKg60wVq1Wt4Dl0Af7tki2WhbPVWlvI7oxnT9izNYgxLy63ghPK04xIdj/IehhPqgiL0yVBJ+a8Z/0NQMajLAowRA1qZ2s6IijntOvnccKPAE9/iOu9lJtVugNPSTDd05LZQN3kKz1kFRJswF9evfpGh3dKJ/5QHXT+Zv8iLH4vMH2Icqb5tFxLoi/lPVnEsOiThrXOZpAvLo1P4SQYehWO4BvaMNi6MFZO8WQ+TWKHRxomHeTfuRBgAxojGipbh6+cfcJVqToO1GxzLR+YNLLfJX+LtP6sw0NIajtkDarenVyrqsXISlGBtZU/I9DRuqXlz0FV/kT45exl6tQWx51X3xvxCRvmLuQBqehGaFnGXx2+OSAKsteMulCXeiRPvjovxbqOal2GdpjhRsXifWuUdA+ptCyjtXyJMlPMYwCEhEX+oRMzpCQ8og4QXmuh9G0eP+xqnF6NUR5oMNFIpmVUZ/HkSomA7o8VjrUXnPG/3zc9ImWtEiplOTKf4+g9Lpe8H+Hz5TIXqG27mDLqlgecP7DOAIv1EIotuJPXYpqqGo7wZmL4ZkMUZn35HeeQ7bp7oDKRvn4xrnnlTh36lPLZ/8ASGtNejMpV3BISpBuPyp+O+ZL/szcvyi58MwCdal1OB3m/ZP9bB+WncLvjPUzA8hbsQimAB2zLEy5ir/hn1f3aAE7mFVMaOK63Ch1Dvgny00BD1mphYbBHs47NqI5KmibGiBXxrsbD5oQyjzolnFhisiH9l0R5HMo/lngtdPIqDcOqus2lAuroVwy1go7FF6U7QIZTeN1kF/SVkRMILS+rISn8RB4fKeKX7ZRAHSKIUa2hHtJcephWCPOcpxWjdDKIGuoMhjDmtbzDxJONK1n71knhVoE10v+AnDwwCJZDEU8eoBdZLTcPXAI8UyWo0f0It16qMBQLEykRAMxIe5yjutr7gNG91wH4g8lxb2FbfmiUVU0I8l4yB3lbwv+1lr8UG0GGFEtzEUVHmJ5EvFNfb+yADVIPDuI3KuZcquYon4OmoSJDGSdvyEUMwqQnz3B9TyTT4E/dnxbCX//RO97Zknf3nt8SVOENd7af2IFnz3w7AoC5DXz4sGnV82dA8dWDc3wn31339FleHm/g9eKs3iDRhgDKQIDBIyESwbidmlzUbejw3ELqNxGMc6foxThLWdnMkVY738I4WuQkBXHejkhHKMbjf7YHfhLGo2QIWWAvTVNTcBAQ4xueN+ONk5svZzvW3gQ+9aoDP+CCx1zPQuCzPqa276lxsaVL/yojBr8jH0DPF/0/jwXhVc0dLXZ7rjzK0KtBccf4p8qyw2Xr8zebN1cFFviEoTv2Kfd6CFOqlqJ8mUZ5nUkLDHnA08/Nl8Ly2eEnWWNDtSZYiilPg4mpSAlfZQbEEDHTWHUuUQ6HxxhRd4QFqagig6qSVvC3HS4hT4dV7Dunv4m8pdzoHNBRYcFSbBa0+CrlSvKvfctpfOwONSQ2114xwSoBXcf5MPuEc7rRX+h08aNiXNmp//4UXtPfVfZryo3dV1HDh28LR+KFAdc7owFX7ikDtCfJ0T7hSP8OWIWeJG/TX5hpPCQ2OfIhEzp3cQRcb9Tl+98LWpJWHoLAAA3uvP1/kwnbdbU02zNti+m/s9BJvTn1CNztIovo1Zd5i3saobd+LfHeIUa9BFuSRUltb00kreAIoUOUsaIQvyhn4RnSPNhl/THaUBv27RaaSkFFknfGxi1dfonsccjJCfZvVb/XE89VIasBnBmCcJzlwL8s2Joq67MLF//o3iPCX7lt7Dit4qflETTDGfFVrd6ap0Vu+uisKxg3rd6VECRgwqt359J2AKeUyjqafnyd6ASuszLlNx+Rxyuj3HcLODVV0I+5ablJejJs2iJEVGXRPKK+3xG0Ehy99vw+mthuo0vj1sdbYUe5l6LXrtlLNeBpkbccxfpiIHG1rUv6INQqIyhrBwrtNzIorOJTi21+Xp+mN2Kv9vpyKHGDcaMqYq4/KHxrXP/JinTG0xsFq4wQuvrqzM9slSCfKkz2BnuUCAW1hMu3hqfmluYsJ1KJeM8w50RYaa6unRcWBAT9fDVzsQi0BxDZ8I1jFNryL5Ot2DRW0D2fut8sXirX4/0g5EUrykZcbpahvcytqPHg8A3vn+56Sot5OYJ25lf8SRcy9S/a/ED38ALjkwgREYvYrxTF47W8uonN05eBaLhVeyP1yWmmETpLkFm2WJjtA5iWA+395lj5dBW+7dsfd/yLqcA/Cframef/nJ9ZOAr6KqbwH30OpuDVEa6WzrKYuYcV5JiQNRUyg2X+6IK4yyBce94qNC7fmy9vNDU9TVNaSZ35Q4r0ccOlnQ3E8hg3CB2JK5wWmr6TN2aPicr5JhSEmMpXRFhT9gVnbKUGrGhW8SRlcYhmW2SMCSjVGUbEO7X2+EOaAzLmSCRp1XMnpWYa49T7THbBOsJ4c5iPLmKE4lLXM0JFSlV5ojpdM6+hDOTV0P1dh3QaxHfLIjDw5qdaKVSQdbVEHpM3LDtsPN4YiZHjCFPN3I5EybKMhkSVwt3+Lg44iGVhVQmSjb4dphE1EDO2i9l8vcMh3tmyzoVv0eIugjJzc2t601VWEWNLgPjLYGPsIVbZzXpkXz+pc8gGQNA0fOYi4cpfhZR4TtnSBOUl3DRWVgAcUn+lFp0qA0pEpHfMYWBgmg9SuEDfX2ZU+XKowjJVIaM83gfOXi/2lvDdAZigr/LYhqI2I6Zs0g1ozeJJKmJWSlH5YmFYBJLskgZxjS2L/SMsHvUQHQ7DLVFPMKcW/yG+U4fc7leKMU3icIuaTGKq3jTlY2J3MQjlFlmFNfJpkVKUZ18JzNMuqjEWG+ZOiT1CK2mT920TRYZ1aj9PoItB/4+1zvyJhbE2LiMBy1JwNjWqAPs3FhEGsFJhjD9JoVgKJQdEweIqCbMh3OA3WAe25UowYOWxBLcgAwjqGw4h49lfQxIprSHUb+SkQv8JStBNId98ORH7YnM5A6YBfEZizH0XctjaeAcsgEOEYL2HMDW3iBQ052dhzBkMr3F2QzjPUwi5OXYzgcKaWwcE8bS09ogtiCqpTGRwKhEPWshleSyU8Vzh4PUinAMk0SSSmaXmJoUuoklgb8ODTthGyzahqGvNlyRFkvJdqKsLlrHScVYzDStwwoYEkNNqzhDGDMMSvpIspJhX7o0hWV2ahskUbAKpGXaYiUSMo3qhINW/KDcy35NGfoTkVgQZrri69BGAlgLUn8TzBepoWhvmXhwEjsBWoxKHLJUHff4EstKZpJCjfodUM+Nw8clBRyPakqLSUUkxvNptDtLnl+03FRv28cy0TrFg6zGHkx82+GgsDkWJJRzLXCts42Smh02W5BnnzaMhwz2e5CCDzTKYQ+hVBymUtlPNk9QqrNeSmGJkUnNPPFRO7Z8UEd+VvsYVTGWTjUlKZPAYyngE8+BIpHVAHO1nFREGcbmuKTFtmGtyc43gdBCwGhYeJkjFaQa++aXSc3Y8iBMNiK0gE3EEm1aazvLHZ0DEGuE5/B6DHT6nfVrDNUUGsjMNm4DlkACZJqVKGYYW8wBLMv55oRt7wpl0EeIvTMhBH1+fJkWRTFse0tHOaWstiJihKQCKXKJpdlHca77lkri2j4hXb0P7+v6ewXswxHWWXARZ1tqe33nN4d1SlOKnELkN/QUbvfa3vy46HRSwqrcMTK6tfqqZVt8u9vOjxZMiUBBRid9CrXHrCMN6REM3TuHz6vEfVpLIWBGBxMDeq5tLSouLIEwdHWTBqmAnTAB7dQ1/NQ0+qGzTcLE15ecMK8N7bK8uIJlom5GGoSrxjIujLVJKulQEdbpjYnKuCGBNI0J02JxLsZIObpMSI/rgBl7hYTVfn34QEQ0lSSrB7PmmVJ2p34sI1z/X12kZp+eZiVB8hHeuFsGNxN1JB66uYT6zo9vTXxUIaSysYxlFXRc3pljCTLkCtkVPf64yogo25nctgySJ3aEObMnZk/+GLjHPMpyszEKd4s1qlPBZqhDZugnOz5dDf6459t9HRkCJ11MfRt0dmazp7NuFrJ4zhabMK1tpyjF9hYA0wOfNag0helEy20I42SSYLapT3Y4MbsIyXSQqktukpJ4xa9LhL8UVNrIrT02JeHDS3UAnN6ZJu2eYgJ4SJl/hlZSqc0A1XS+cbsmRSMpnbGCcscPyKWpzmxu+nbsM3Z6sjo02LAcs/1w0Uyr2ebY64e8b1c7dRCPYzQHMFUZjLJuaPgyVHCbYUhJoHRB3DQG5M9zgdlnt82//vPUP//6j8PIn9P3MkEeO4EC+TSmvMNTXHooqIoOXTbawUe6hjd2ig7udvHCHzCPlPzktjKu38zkGmMqysfmIpPvpQ/Q4n8kxkBYbtVgc7j6nWf2cPdSWNQ005FigJlzWPqB8l2WvtWKlHDl/1INjYb0P+oWhoqK5qRi9mo6yF47K8HgmsxymZ7RDbZ7/z9DMLz+29MGLAoPqkXCYviE0YDA3vX2yMFhRs4vPFgQmSKQYnxmAY1pMFZvJRuUa5C+NGKC3DYoImUWPycvCqF4YFFoCV9K+cXCKfyiH/5e10D2OS3B2bIMZ1UN15RGj38313tLXRUD5Z6byv4FR2Gg77WzgvecBYD1QhVy9zHVbrf5XVIJdlkf4eO8WkcENoMRJ0Z7nxweemH0/AtDwy+OvOEHXKe6vTxjC7f56dq9SSpcKgM0nl258lF7ylS6/iOV4+p+Hd6lt+XBQNvwBU5iIBYbiFlQjOhTMRV9SOZniuyA1Zoz2/yeYwcTf/WAATcVxHokna6gZkezy1yi2i/8ZOTCNzwkd/eNDqsCfCOj7utNmd+cIY+m4p6taI91JMwdH7Q6+N5YRlWujZjgoxzeS9QR72yZSaaX6Q4GbPHWe2+N7xPoBb2cPPsFh6vMRDYxucDdM3LeUTYCBBy2MO7hs+c98T3Pnw897+4E6J7X3DxpR770AnHLGj6+IZhMmDG0yYvhnjnezm+SvtWCLZwn9DxJkDxOFD8xSZ/pjWZH7IRLaTA5yI4dpDrtqXqfyVyBwynf2virRCdwOAkEhwk4HbY0gxcYt78Kmab9+3u8Jr0amX8btuehNnoBT7BvCqv+a9fIBC3r6fe/vQ0fHf1jpIg2EegMPDAt3kST3QO+//U78gRBTzjA0ifI34GP/dTT/DAPZVNzmbI0WlEa43obU8aWpYqymLeumJbRpcqyt0rX50JptEuJ2hZXliMxi8VmSc64xCo2mcU50nGr1CQWm6TWcWmO2GwSWyWuDcIkgSBRiGMzyDh+A9/75Hpv/Lv1/RDJndlsOZ7lzcLLSbT9pwH7diEzWJCUKABMmKrFtXO4q31c7wZ+RzT9f8B0sDAUiGqO/64rnw8Av+xUZrJfXZ1fEjN1j7x+yQf04lKZ2cVmgTEoKqklKGNrs//y+KzCrNB0kSg9NOt7BkUZ6SGYGoUlmcL0oOAkUUo+ju3Nxhlje3esXB0ZGO5eerS8Ym9Ixbyqstx9wRF/YjAN1/vXRP3Xt2usf1dUy/rdLeh5OxXNVynNK9Jj+SuU9eBLdPMVnn2bDfyW6OTJY/PmzZ83hmBBgHrkeUBBHtawQcCZAMBWIyAJ2CmMBjOFPcP801MH4PecxO5ck55TOwxG7JTXFJYJP86iGIIX4UcgGHJoZkQGxhlu6jIKP64UDPDkiifA2BDAJcFelAxCVrjF16t+/XWaLTIyTx6LKVKXSYzemEFMVsT+Nwa84c3+GzT7udkSo7qsKObYSaYRTHUwJQji+fx4QcKggM8/np8gGCRJ2XHaWo2mdh4B2+fpBM1xHBsnuQegPA64TYp/TwZ0D6NHspbBZiyQ9DBUwu4egQlg6lmMtZIFDEHsWiX3MEgUjMN893cOxw0bx+W/SwPeqpKbmx6tNadsS2h2fp+nQlzsjCp++9AHFt7/9QZ7cseiduNZaBvUIyD2zYIzgcLC/onjLzg7fCcW/ol7yibHWLdq2ts1W4cFfNytmmEj5tR4wxLFejZOn65Ysh5wLS5rDzJvX3MCVuy+vuR/Oo6EG8c+L8qGHceRwIuoJx7e0+WF3kl0ocSZj27z1vs+IxZm87MC65d45PzzMfpxliczU1Eos/hYvA2Q7msDKbAEWF6IJbjEmhGQxq7rYGQ+bcmWOPVvr8IiAqDKJzQ5VZibJhQlB++KdwJjBKcoc+eXIlhIPeYxbiYvzVNjm35B5+dEApho2ePVslYftftgwNaUVbGIxebunJyGyOU71a6Q89mHDtfmjJJP/3AEVaBnzV21rl0zp20VnXlzLJwMKdshGXmSzf8tPccjg5DMMVzJhzlYZsOw13lUduJ+XcQc3oqrkA0EQVfmtCrzorAUwAxQNR9haAX3BsDb51C4YlpS9V7xtpnJXJtrO8njntZVuKDiBsBlIjcKIEjuyzIkOR79p40CIfLz00+6NXa74VC1JrT/9MUEJkxui5Y7IC1ilzU2ExaaHXaKY0sCUMnJAP60OFjznujSJMzPInbqmYQzS8hVkwuk44/D+8WH6jeQl9bXPfkwSmL9dGJNN5S+BvbQBb21hg8nYBp+HmaQ/iwlFtc9nbEUstFagd9Eg8ODn3BRHgSmB0ATlnESm2pSfTP8zWV5wVZhTNpqZHiEMSeUGJISLEyxqdQUYUigljmNBBiRAl6COmTO4tBWkVnsf3au5Ez8M/yR8FkOhcLx6Npi/t4nmnrADZzWyQM7ddVie1j+gbYKwhpkHZDVbbg/Cp/54G0STIVfj72sn+o3oJ72uuQsUria+NOnFP7b3lAhbswccHJVjgqCT6YtcPy+6cbeRcfD9qju9CcFYPAQVISydfk/kxUb3id+r6clws/95TnFeFJ1UnjazlNhMoktUeeW0d7s7NbGYtHJcjJUj1dTbGBKHrS6MCEx0xCaLSs2q+OqquI6VYyt5rY+uM5XMK5Kbf5dMaHZmYaExNWFn8+GG8LCDOJYVvzj6j+2puRF8FX5lK1/VD9mxceKwwyGsHC1jivWNtAepyJDKEAiTjMFJfB1SzINpvggPT9zyfbMxfojBzcIaNhYbBB/1PfWaurmambWrVg4vFz3HEM3s++w3t9LtV/lHzeiCl8MzFvtfobc9iVyeKmshuT1H50UTqL/50WeiW73lnoLu80gi96dftWxwooSeOu82+f//mNijZakTar5MTCZTDNkkfnJ5hbzOjA5y0Aj/1G0PdhGYOo/XhARURC1OYrgzqwbJZmrA3lqNS9dwIcO3MyNfw7FselMzMFUV51iDgHHPIhh0tk4BDYpu6UzNRm59cjEbb3zdqYYWzBJ4Bfu4SPHDx057Bxm01WoEuPpzViA7cJKbzZ+V0L8od0NuLX/kKbP4m0buDTpjHf+74fvn/o35yvxHfhfq+331fr2azRaTX/iSV6/Rjsx4CsB4edykOXW+8Fitw0lpUNdX8ubbp7cUv/mzfYt0feTmmGs+mMBEvpfzQzy61M40jARd+o52ee3MwksCfs0IU2CmlYDcr+Rj1RjZj2nyhu/Hy2c36YRUSjPZn12Lpn/4YEtJGqN21/oD7mfu8bc5C7aw4gTaMdtj7MRT2nYbHAkUZ8tomXXJ5sYUoh+wYXY5AvHllzMAJIsO0iP3QSHlKnoXb3QctOy5j44jdrXjKXe91KBWp27IMlp9S/0sYg0G65eHQ2TDVsHXsyLaLj99rCJBs4t3fj2+LXiPS4ACYypmAsHmq620QcvFUXZguo/cIl9K+uHvYxeHBu3+a6F0uEG1pHm3buO6Hwqy330fvEZZRKr2GwuXvYYtyabJdayDL94H/2fvv86nyO7djcfyWK1tbIyAwx5LSWUmJa8AAMrE7HgFmV7Jb9BhjtYSLKCZGfhjP55kdeXZCcpyIi6pZoIg1+234kAzqeNICHZClIma3k8PdF7IwDyLmdlkhRsZO3ivJRqfn3QJ8RND8xLJiNyGYVk0JYEuDhPXdxSjkGbKY2MPDukYujk4a4E4kOqWeKG0LqhQ7VhDeGzTDVOYUlQf39QscBZe9c0I6o40l4YUaKoN+dlhKSGBKeK0qdQpgBSPCkBXxFI2Xu7eHrurjpel/Eurh5AiNmELoKOuCug2vlsglFG3EvYuyp7WL/K90iJG8TN6Hdklf5cNphqmWtkZ9wtvWzDcfZdcIUzWMaAoyDNMDerKk9ulUqt8ryHAg5ZpXmyB1gHSZev2eWGnqBOoKUOxE2NOEzeXehWKn0TVvIMABRUPG3KX4Un+bBw8tCpZ2NHqS5uO2sgI/0Jg+eGpAenpASnhxxPP0Z7g1P6pOci4F9i0yEUuD4zkZHc7ErDI9enX5keO/1K+vrF1oTZ/vhw3zcEIz4MnspVp79T8frVvF/TeepUePi4Fv8WP7Oq/GbsmelHEcemL9vngWHPctmd/2IkOLOOS6HNyQqeW4WcbRf+ICyag8Q74w+nNBzZhih5fjnff11RaGyklqFxdcQH1IxWzSwMA/5TKrv9LAcIJ+WxCTo/HUGWBH7dq52pHUVrzmmOuWuPa4UWnAQ/F88enzsuVpRE0VBxWsLNs4L51ePkt7TntKNUbaf2fuq8cvNwAXihRjNTA6Tn8kKbPWrV80hfGm9AmiOJXxvPkvVUWlaklKvjzgMTaWiWw0PvUWttyN10HnELsfnWzWCiiTgPlL0Es9Iv8QKNxFANV+sMaKKJfB3pr8NLnm1xdNYp5IVZ3C3wwO6NG7ryBV0bNnYLEAlnO2a4hTnRzjA3lRltBpGQZ9TT1Ifc2HiJY/dmpZy1QKbt3V4Vr8yC5DNYfl7VNTor9QxVU0z1KUl/UFJJzSNxWXB49Prckirqd37oV+joKvRjdC8EQedgV9ZOAbEzLhLj4nrRs52qLpVon4K/MtA9NXYA6tz6UTjUGhQ4iuq3uw8CtwEU1m23Ww0Yu+qkPqY6oSNj12YgB+3rn70XoAb3PYEa43/ofuQaFLZmAAXqx64l1WtXq8FlWGJRA6gjwL7AzX3PoRqAOjF1DY7UjzqG2oXC2QdQMzIbjV0F8ZdU4n9IJLYi/4jDWf8tiYrkgAWgRGK7XfzhCtgAceqPTr/FyYtTnL7El1kF0pNVXGbBi/ibpiuPyDuWhd8F0TdfBf6EpntUUvmfKJ/4AMe++z+ZaseDUS3bq+gv5ozJ9f+un0H5u8hLy/7ZwKEG0a//logW8gbYMU9eSLXUtQC4F56W35gR+Pfw0df+ZU9dTydZh45w/gbhlC62zz8HGFLGgX98dHKMlo2X4Bc4FyAQAGua1bucrvH66djopZ/In5ZSln0kf1wmPjeI6sf3o0AHIJ0x683x8aWkxxumsAJIjh/pJtWISvc3eKkiV2igW3TSTKbBy4xFDpEQvW69uLrw4mCLXvstiRXPhN2+gN+VpC70NgfkobbeQPtA0oONgcla7at5qfa932b8w08PsWLLEC5IPiEAgnkznIvL8TYFJCp2jhBL+V5rh3fN3DLo0pf+r9W75i7BfD1NKoNcBQP+F//6VLH+8+eKP7K2W4NWHLYFMZtX5YaIdajkP0sYteg8UbgOlfSwxFt4fA/sai0y6wQlK2DhJd0sn+llBYG5vCVLeLmBBeMCvuJLluTyCgLHLVMKDWOkqGk62vy9kSGyUtJgniwZzb4maFa4IwwAOLIB0YdvmgUE2ac4IW0bdT4p/vumC+QQ8xDo/iTe1Fv6BLbRyXfj1vDnCkCWIIiKXxEENuN0cI2H5xaGfmgr+FTgq0mm2E+EB1vXVZqaZb+08Tyqlx0ZrV/RsNs2jQCnyXJ23JfMmDSs5A0eoB0Y5K00TM6Q3N+RI6PBCdNsuxtW1HtNdSrAW9iwCE8AXd9+ewnyfqgsBtCiwMiNl0SXNkYGnu0XZ8uT/Vj8tXuX3F55KhkQ8KJh2FsAmNoDoxdTfJpftbjtpsUNLHzhDKMhAJ/TPOKB6R16UBKewffLuL/vBsG2IdJ2PI3zF4kAI5BGA3b++mYgJmfcc/nyLTA4Pmqgtx3T8/5/qkYXuHouFd21Xfiw9Lx72vrzE3vbkeMECAas9H605vwg04Ceokyh8f4wv05dCM6f6rfhBKHWp9aX5EPaTijyKeruCsCURCU0xuubE9UPfqBqfMoqGDrf+HQIcDAdAAJL5+jY6rbsFGTtIVRCQ3x80/L4Zkf+e9/YayzVK2SFlRjCQo2lwMGULgjIHUjz1fvopGCQ5WSdBs3B02Jg+eQASLP/oD+thG/wY8wN/Hqa/ymPlZ0ME2MPBjo3m1Xs9D+9J7yzGeCCIDKyV+buRjwbnxVVQvO/Nj62aUlRWXg27n+/QT+PEj7EiCPRSTgjhF/igRs0HXmGTiIUsVtZbE0sma0sSBelhQSn5aDxEtxy98iMzqSkuGpZWuFjgGMDiebk1TRmJjOnyRVdoogqUTpfq/io0pIol7LJYROag9pWexU0VOcW//Ql3pYanCQUJgenHg5gb5Kg57Opj6/56fixpUuBdnjMdzHtXu7fKH1PPDaHxxrz++GM32Ii4v7oiiW0sHXFawhmUhmk2pwYdUga18vs6ULyAVYFW2MkGpURZhlq3az4AZqVkTlWGnlI5a1nJAXnRS6JT4EnLq2dVdsGlHNwEKwSB3BzsEScEkuKgjx7pkXsM6sIwECJIk461GEhdSRsHrj439UhQPEWlooBmMiwxKRiJ7GRmElZ97lz2ClspCGfwwAVT5DVPE/FEDRcj6zFTMH9ny1hgGdxca067Vht9ZEhB3/diFd+dth7jVFAx67jH3IMOQb42AKvZCO9YDxofRmu19ae0etL4op1up/raq+vt/IHznoVVMS8L1fm0b/2B623Btihr/leFbEoJsYzf4Q/sM52tLbmtF4HlHVajqWnJ4eby7sygLPO7+FaeLlXeTZuznwLxaW4w/X0cHJ4tquvfJucD1adYzKuuEThjP6XvKqiONo5Ge1QlFg1zBBRBnkD3AHeYOoaHOmu6ybh3io7IGao69GjMz7MdApkjEhJh45e68ZNCT3FxT0JH0pKGumNYdaDJWegpzZnkEd67EleP9p6SBqSdnLEwmxgAsfPYVLjHr1KP7XIO1GUg14EbgSMdVeUquuSX5CJNV62Y38LWEdnJyFvQOr1IkVq69BXVf/nLDXk2oIMIUoyLbl0zo3Doj7K0yXDz5+FISOG7oRGlSfokDfJdzNDWzf+GJDedyWYG54Vxc8tciyKWHLqyV/b4hZa2cpTsxh3yoAJK3wHCu43Ao4IDj492wk218IKowuiZIWRxfUzFaWRRUWRpYqZ9cURhfKo/Gg7rFYFs4szwzMyQ7JDi0pNvO0fQriptCjUGJKVEZ4lLoQBBUyIJ+N2RJden9Eg1/zoWuqKpYWSGFtsHqYG+26rCutul2VI0wzC7JCiMr6jbZwT0d0Yckksa3EsWlbEYIbazshf+NVTHD1opLKWP03dF09a8nxoW9HolnFMVP/92xYsIZdYNdjXek48Zm3DDCVvR0mHG9V9k5iOyb6DOvV9Ii8NfzyYQhpuObJiKAujIvgawi0Rxi/PARPGJAa/nTKdsNmQXxHePEOmIxU1VfpH6aZfva0nyaOXx5aRhAlqbe7vtrkOzhsI1LfHKxIG84WhoiyeOimgNLJZWVbavjLlm7Lya8uaWTzN6mPiCpFJ22/d85CKkS3TyfQyk6fUviz7xiyoqJho58/PaMxszJgP2DB/tUptR8QHJ4Zws/jZjUwVszBh+awMk7U7XbfcHjc+bCo2FNDuCAVJSQKzgGWhir/hFOL7x3WpuoBfmbDCuVrBykcVowry9qQqGhg7+9eb/a0wOrbo3vL6oLT8lFzqDI8mQV3wygar0M+UC3J8DdCA4vgUXeLR7BJ4OAG9usRuElDsZ7DmPg/q8frQXVK7fxYAB7I778Cn8uqjc4uxDwHByidBIGz5il3ffnL88NsalGaJe6/fnbObPHbt2eW+RINaI7np9Nh09k6puNeFza3H7Pa9G+/sb3i26m20+rO1yDPwHDHs04uSkbZeZIv6Bd1wYZfx5M+r07VO4lri6/2rp3vsqAkYWnOYb0yITYOXEjO1rW8CEsspbSMlLz5lDf6iakX4jQCQB9s52dDrWWT1KLm1fM8JYY5WW590biT7l7+L6xY8bPo7Dd5fLl37KG4VOvAXr4TBLVn6oNLiv3/JHvEY9Z2YIxpWPAu7fEvqvWPunF50feXXnODjRVcOxWTNrGhyKkuiFCXFRLWTTBYcs4mNKKcS/NZZnMPNDpgzh2Pi5JwTMDig+3O454dsCphtobg0FwxsggCSsuljr45oRZUDMHbAAG+rJeBjSft/IW1SNBmCUTWTBkJCk3lZvurgoGB1tEp+capIZk9PQ8fOfuqB6JIpSXf4VsprtebiMHy5SBdRNe+49m3JanCzA0J6xCY5YC7mS9YhUnb0X10/Td0XDkYbye4kYC+AAKiD6SSy90Nt1P1sB5HZAL1OQZOjjQc9v5v69vycHQ1GAA7mgpEc7EcsmzqfD8b6J3zziRuHNeSxCE8DlIeDWqaz1smyffMF8dipX5eEEp0QMbAAwIYQncz1cGC1+V7dAzf0I7dlG4PAQXT2Bm71qYz7UAcRiKFmQCI6iOTLqj3tvA3R2QABxgAEiiXZ0Q9K/shLIpq7UQdzw7uB4WsxmZAxAKCwd5T+4APs7uQmY04xdXUabV2PgNt7dJJ2RJ4rk9mqCNhexcsGHu8zKrlRnygYZZYyGlFI/yTzUM6u5UZ+yqAa/QbirZ6frF6tqInFffwUbsuUtrWtsyiJftSsbPbznWxSNvkVuRn5bKgmbKhRkz7J6ptfGhp1haJ9tZaVelbDWcnexvcnZgeEJgEGTNKEcCJmjSvkDM7lB2Zs0vbbtx1kx9rDSaklO/tMFF60G9vxNsPhss33tTUn+QYuBtsWZQdT4u2Haw8pskjQc9tnb9xPfu+BGV3ef2gBnfzu0NFZm6kb6m+3uJF+vze7pFi+4qebFVohLy6Z/X0XCbU6LVQrn/PTDXpXRICadcTuqzOWEUi6+BlmMXwofAWXF0lZ4tUXPuRX5nuSmh69Yebn0xKi5I9pJ4RpJ34q5TQ6kSYEYSXMoLG94QY9N5EnTBSqkemIFMWyrW/ONF28dwi030W27jzTXL6VL+Ar/7x/yH2OUVa+/WTzxf9GSJsWTVec2nWmbWpKyNqyTIHChNBEqAlq4KbwUjl2cnlULFtHGa5X1Ir85f6ViiG2jjxc+l3xvhAViNjGnOztcw6QCWbS4uHhTZMsuSVJmBgUlChMOiDgJYlBScIDpDiLnEz4NDy8mORg5pAmYfh+x9ZfJtSVcXGV3XFVwLM0VUVVTjqQje+3WmljekjgunXFGdpu+gOy95vvpsmDvSyEh/tQI0F9p+Pf1Q5dELo1IDWf3Dsp//3/5/XJ9edW0KcO/Opv2X9P+ur5r97kZOVZp2FT9fM5HuKp833ngeyWUYDUuDUILwzVvovvOx00gtr3kGBxy5BO23/Lm/RnVBfHkbFuXXRJMNE6OUmbfetsrtZpOJusJHs/T/t7ysbi/+uBo2/72MvXn5u8/uf//1GSOhXnFe+ajJGzf+6erqqMja1UTYcK2FsZ2weGjqJFPefjz5flna1aebOifNrq3L3/Dv5buXpaecWqm6vwqX34c/HnFJlbsUrmZtWBp/7eJ9dJ173HR3JoyJgBiNAsOPJoR+M1Whn/3Ljz8lG6lP6nt4T+87Tw/pMuRXDdTrv97LbX7U9mfiMwo1OHuIYkdfGzfrQZN1NjnMpoR0u00xndLG+085nH4VTGgL7wrNDQrKJQg3ERUAYq634Jf98XYg0Bf19YKPMVdp3NPvKehsU88XiCwZIyWvbV0nG90TcqoujyWUGeJXLGgUfyRwfk8uu2yttjLOhnwc9BY1uoNkixwH7RgArSVfY21XbO1kitrIEyEt7wtE+S0VERW6ZUlsVWfBXwkjJlRexXUkKHmt3KS9SipTm5vAUHjN46qVYqkUp7vaWQpJXqUsd0EdfHf62iX0Ua+dwkivkQtm1PG/aQmZLE5RsjX12ReqxOXitXOjEE8RIplrO41j2tuLMWSiIvyMDKFRKQ5Tvf11y9uA9J9+3x/cvV4fkX8106kz2wye7/WwFTlkroaHc6Z+LrvDyWXs+SK7o4Ov/1G/xoHmnmYKpkhucpWn0umFrm6d+H3XFkHCjHgus/VhJ+5TcIlKad6eHQ0qjQCgdcg4Jq08bPhLHgXLGDatJw4Z78NT+I4B2d8BUQkP6DDXLmWrUMjjyBDBS/jRv9f/0R4fiKCqa+DHUimGMZ+ZamhUhNQBuFwXHOkmXnzrChnI+OdX8kWUikq74c8gm4fWKwGqRDnpClPtdI0vmh7anB9oJbobdyOEkyfkni6+qU2NrpOZIrFUyoJBL5BDPhMYE5AakBgxN2+Akyx/cqiWRJ+mPdzD85ZPKZczLyWQ4Oo4kyA5gGkvZtxMVRnkCV6ZkVK8aFR9b/P5oBE0cgTyBg3OprZ2wQ6vUnyEgJlFlxJUcyvTZFnfUmqY4vj+JYb4deLLCnBreHzpeSrvlIybssEpwvkkfL/+VExKVIk6IyefGpPXnTZPkSW440V35fwF6JrVdwWl7qAp4+KlOaFJcSwXnG0i0M4MUmSxMj0rhafUeGXZQVkpEmygz9LqOBAjiApdkz9O1cbUS6NDE2KTDgqRmYX0zc4SujSooVM4vftuEmnS1aIf9rjqGbO0cr+FDfm54nYD63M6LIfx+/juYVCRCq5rd5LqerZODXZCKo2ZtLbFwzZ95cjoVrvcS1cczz5pk5Nu4lq6VxHsfMtTVaOZZ5cx97rdzGo4PhHyiMz4IjHHL/4gV+HsemQ+yPAeLI70yV0Gt17AkPVNS2J9l3/eqIIvqBPf9bxFw5+8+h35TuTBbn1amJYb68mhZGefz/dI2aC2KLCT+QOTsQXmHqNbLPllnG9s1n0Y7w0hGwmmhirt0+06PBQnEVVfXv+EKVklZwHn8ofG7Lfk5MODyy4f7CTYv6TksSQ5J3Nuw+BxSQrR+k0iY6id7jdLIoFjRufll5z7y3SSb7WCJPn7rvf5GWlPYiWRpwxGGZIaKMAlH6G2zXVDqVkW5GHCaecp4iXuXhw8yfmXT04NW0ABFb7P6pSH31JUGg95UVczfqF1L1x2XhEDc44n4dU54zfRGuk7DUs0qSocgQxY/O/nu2r4ad9lIvi/VV6HTLWeEJ3uWhxyooGlEZeF2OeMdiqAKM5PUEQ+APixL/KHdLZ6MyMBVzirvlcz4koo/5J9z/sGqDtZVkwyeTljJT13198Y77ZrknBhYbZ/PT9zCv7ea5tu/xVe0rnO33190V43X19BnE1bgWT1Xe3+/tTC8sThS+1Rv2pLN5bgMMumkCGY9KZxuDUQ5a3jIL5Uu46x5jmlsDmJrht1+7X8ln9dvsd0BzQDnXT0UTwLRs335FOIuPze008dTxnR62wc4OEvfOiNg8QnmJPhXcZ0qK/IrwgMLRE+iXkk2BD2vinivpIRdtgVfcYcwIYzoJu+Z/F/oA/CvAf7jhuun6qLl4iyV4um3t2Mptx1m/Bjlu1LzlvKt23ngRyD6+bfbY9gH+U/HNP0Bs585dj/nXgh4XF5eUvuKP8R83gl8WYTrUq/1KSx/zz3wk3d0gWt25bt3jwNOBj605NtvjwL38607Q0NDSq8qBUTFOSGMDAJLXTwBIYNBn6HRJTSn/p/gEJwmCZElqPJZhiJNKcixi2chIJySw2zkyCo/IiRUXyiPlhTkxYOC71uITfrvX59NXKiFQcqUNQeoJaCIh2h4GRBCo37NURSEyM6QiMic/rBdnYmqnm7UzfVvwjBPilLQU7GDfnd+9XdhpG0Mblcmomx7RWTffP3nHS0AbyGmV523kXhUCL8HDC4rd32QXonM96EP0crIOlrLLwvRG/5JgiBqtzmasguMlDOioGhSbkmKatWmps9+rA9epef8V8jRp+piOxExmS4d2Zx7qNCoTJ5LPzmYZ2zqWV8CNSWvvfczw0jSiU9RL41v1mho503dOjRZFn69v7F2JRzRq0r3aa5L6oSZB2JbtHSH5Em1S7anad7HpxdSYwgiJ1LJ7BQHepFFRinNkjTq30/jTbhBX3V4Qbh9e0NB4IbEefhOvJfzYGVSiOBlxCtrGX6RNVhK0IMqwZNOrGeQZmyfql7k/dl8GZMAkA7GKX9ofdTw6LmBHA7rKimOv5uPxEh8tHveq51jLg2MmqKP10k6vbGT+FC/uD/XBNVVRj6/7n6crHj9e7qdhOOVcD6a+fPmtVayNxoSxXr1PTyQ44/vGkbA3WDewJG+dRLddLPf8N2SK2fzXuCgUezGPnneUfjSXnnsxq4CNF/sEJbGx3cML/ZjyivqK8lj+moR2d6eqF7C2qZ76aqlZbPwA2B9uLu0UzbIuqjiioDCiKArI0z2nPAEKxerwPn1KnI3FYEr0RBufzapWVwWr1NVwAZ9/VWy1Gk60kEEPcg9ZhW410Ddz03510PV0dnVp11uNFILjr1YhSZ7ZP/9uvGAywXSwhXAJuK0tFyQQGJsDByC6zwJkqlj2KAVCKYQt1C9F3TEYSLd1d7cKQeiN8yJtIPPjaohud+Z1WSF+IV2ZWFgv4Svzt8SjCsh3aB/E4zX/GdyJqj33p5azpzpLn8FRaFB0aFuZYfVsoT/+LKJEEP21nP/qGeXF3Fr69wLcPw+P3CH6VHd1xHhuoMW0/+KL7qX6gr8xgkP02lW/UKPPblifPkBqBiUQwHAx1nlP+64coRsZjUCINUYUKoRSJc0TW83SHNktARchtkrzqighSDejRoxAYOgdykpFmSPGFfsOAFkUZcpK8ONs4KRU8/lDZ3TRcMxJfUxx6hg6b/XyAEx0ZwDRDGuOJdZgEFYGuX5hr7DCYHQ3t+aIZoTUvCOmkcRaSWAuBslvVjRAf12J6kdhkV5ehq9E0svxJVsWWlONIwEAIj2p/jC6Q4uEM1di7mFW8t/W/1275EpT4NckOHKesLJoNVqOXl1UGXzMnvQ1cKZWW3swHI6OlCkNwqiiekUxw6DMPV98UFurPdVuY2Q53Nj2wTHQo/JJHFc1rciu+j3xmmfOL++99TDDsmSFMpCqLlaihtAn1yBaUqzxNlQKokGm6X7t3gVGNzmcIqyoydEkizRwkv8Q/ZHMPVdwVHQ0GSu6E3I7UnQX3BVhkw/8/keMcJALcLU93j0PHgiOZHwuOPUC+tMbcSZCk+GWBYLDFSlXQlJ2nYepFr0LYOszSypcxMwIeZ4iVlO2IJNmrk2Liagt0iWgLgyC0OFff2won3VXl33+wtZOZ9HLXUUrGwJD+a4krxawaurwD8rA7JaWilX51gqZMdL2Qr7E9g1hOm/0GJ14Mg4WFhs7+l9U4Whr8vumODs6mWwcasXxGL74uRdG3E4A3qnKzQDevY2n9zml8youY53FvIDB9u63WBqJ6sAAnRIbLZZ+bzZjrdlySu+jDcSxGD0WS0+qpIJchGIAsd4LLGZdMb2CiUn0Ik+6zmxZC7463WrEH2znPgS4YwWq9Wf5NuYz9nvb8AcoQMdUsPvfb1KF9c44WraIeMWTHlGx+jhZWSOFwb0icuee8vStLrn649r+cTAmGYGUSpQ1sr6u7voj1kXkHwCiOSyPZyKzZ9OYNG9uTs7ceT3+JBXptSbaMzzMjg31ux0fZ83R60mcvApebtbwMJzyYiBeH8dy5tidJy0Pt7R0W6xBk5yT+3qIKkJPfPyxLsl1KnX58tRTP8rbu/xw19Gyt5dXyMm7DAwIuugCwcDf1cuMncjO9pvhU1O71K8+2zSxVWMF4GiiOeG5aPtPBdlLMb8WkCZQtSUrcypIA99/Ld4ASdobmrJ+zsh4rpsbTzFzNQEww7ylnNMh7A2AxlthCfL0PfXGQkZG7k1G+samVkQFh57qtJ6osFuq3tuOnT01iAWq3tGMPRs7dvDtLr6uK3cc5U1gvN1411G/BS79wQThQxlDYE2sBRF+prOyqrXOUT9nr8mGjNXEmpCyE0OHNlx0rZMO03wc9uPhOQgQGaBRdVMp8C7VOTUSkGFO4cjY01gyjqUxHq6Du7Pdt2EVeZZG0XP/5+vovfTMV4q5TGzDkXCDUttiXb8Xy3K14VNAD9PnKE8R3BYibg7wMzIiwH914OuWUWZHZWxZTExZbOVXAZ9/WUxl7FeyAPXCPq2RUs2jw5c/AmsAOkdkYotFUgYsYomlXHLOletfRmyRfT++C9thLDFPw8z/2FYa2vChtUDLDhQmBAkSzQAWzYk6m9DdDT5LN89fmCBI4xJoIWT1mKDd3hihICFRYAaS4GgqBGFkeHv7xJT/FAlt7tvb3mY2trdHnUoda2sDv3heoI5RtkYd9YLxVsrY/XswMXQrRAy7cNVDtkIN8kCXx1VyDOWKR+S+QokhX10XDEV2IaEx0mAT9CD1KhlDuUKFxRUKhnz1SjAJcRBBwpBBR8b/5odoRJBQ9kO6eLfrs7/pBmGuTUC6OAY7yl6KXnbQmIGmdFMgk9Zh3VqZJ8uRnla9efcEXHSONE9WmapnaLwri/1VDoXrtiQjNTykIcYoyIMniBKWpVEQ0xCTGi7NuO26LciG56YAgJu/7fQB08JjGtLCJdPPofBXVRZrvPWMVKBUHQ7Q/Poyvjz+7+ecgKEluQEPA2xLtvJYASxQvjTxn5a4/Zs6cvOaZ03vm10IonuVe8paLmUedjgKXQ8XX3Sr61kGG0L7dRz6ZfzIs3bAeZtWTmISe2tnyayyhk0ZBdnqMwDzijYBwiy7d87tOB9me24bm9V9slvIxBMWwYns7953AnVjXXhfTJxzr4evR/8HFijDYdjU419XkQiZXs1qqE8E94CROsht8H0xc0Fq3Q/r5rri+qAFguOzPgRU0GHzSmla7Bfau35iO3eaj45UpUN8L1YPHSKSfAy6RALaeGLVajf1jyaJ6Y8McDXKc67V1cz9rW+rm5Pu8MqPKJq/OCqUF7Komu8hDMn0+Q2dYn/tf26C54QS6XzSViT1iRPX0dy5r5kmrrUDxHXeZegYGLQJgKkq+9dd92vuAiBwH5sycj/jLgRC99Puf/9t4pA4AqGA3EMW2Gn2u3tN1r0BpACLiBrsy8K9Qqn/aw+HFAACSByUA4TCZAzJbPYwC0tOupO9TjaZTXJUQO+QKCSgqBhoo7VMNSip5aE4V4z3LZ3sW6JeNGcR0Curi8Fy0XKwov8VpMvnR2v7+kEFTF++mkKXOY+rd020aFoaBsAgyU4m9Ib2EgYAgIBBHnhc2x+cBCArC/KYtzfwMSTLMGtjqCgU8iLXBlABNHP/vymH3k7Fi7ZMkYpIb4aOTuyXRDUuF4OoTJeA3Eg+hW5VYEWQtdI6XrGrcldQOrkxoCmgJ2B+FakHimsEnm9CyHK5DewW7Ab+t5UV00w9c/5NVdvs1iodilJS7yhVGKNWGKfny3NlUltE/s8CNsyV5ct/KpDbZDKbnICAtm2yAnnVFyW+Pjod2X46peh2ssjV0dYxp9g7SF3h9HAJuCoRxG5efofSTlYhPUleSzx5dEgMpZ98B0LeQ4lBeCUdeT9A01Sk1VT5IYTqnurOlHIS0YURAWI/3BCVUkFV/TMKhTxAiAIJrJeqV+pXqpf+9SQn08GqqnM8V3Ey4nD7syD14P8k4BlxITW8426Td9jZL1tVt5Nuos49SHT/4olHUuuP+pI9tykhG9/vGWcy57+aB2Zk/3MQMAM6ygr4udzFS3i2+kWuxeRGraPdFtO2NG4BH1l/s7PqSeuPq/qmljHlZcqquG/AHTHlBD6N7VbF3j712hVyNuNsWshrB36cU97CidOGfFfa2YyQ1y4BkD1j+2LPKR5kLAAX8zYAyAPFOaxfzNPCG1NbU2KWB2tD9AaWR9/kteCkEGFaXnzTHSAWg4abEIg8V5CWFBJc+RICKkeqRruiYohclnqtbgUuEf/FToZi4xP1rY0JSwRsKzHBZzQdvH8PprTPIL+1K8tdsa0wjy5vvwsUhve7othRI2jwMIoVtdt9zP0cOhrT3MfQ5xxC78PYsDSoGHYOJobujmRFPoxkR44wvMum/amzu6D7S75wPT/SjzPjxYDC2/tU+4Sdf67+E0QTL+bU65Jx833T7naJ19Qv7os/dw5euhH0d9/Tfbrx3XjpM8fDtGe68bU4Deb0cPzdd2PwhxknLmxb/OmtScJZBdtuVVEhj1jblu4eXdi+5N7q+03LBhh76O9ev4mNe/smPfS1NNG24tCFS4Jjr9SZvTZdunS8tuxDYsTpQGzRf9bIVHlSvtAeXJu7Pfrooi1W0fQiIzeT842QEpY6GKzJKhY6PL8Jv4lwQtyTSGz0FAjuvse0WntwvlCeFJlqNYkTglXpwUl8A1aZ3uK3MDrdiE3kpweHqMQJpl0UWRS86UORS5RTfLMo62ZxmVNUlKEbjZRJCt9HzBWukDcQeUxlkaMmEHK+60RoZijgzQJG3uNhwCLDha/E74LjAZsTySPkxM3ctxxOzHnOCc75GE7IOeE57jn7rx4TgldhygSIOrLYb3EultHN340XV1iZWFkooNKoY3oyl14sL6ZHoNwLpAXuZ3beuY+ilUi0zYubh40SGgpE1FlCML6NPk5fl++oz2Xj3p0Fx445X6Shr7tf76cMUlaSyUXiqTf5ycZH+zfhAef+YPFgCQjLtM747aeqKhDNWk1E3jThEWug36WsD9WW+fTvnSd1MuYliLPqDL4SuRcuyycTl4LVeOOM7jo28ae6rbv+vjzcw+7Hb1hQHq2o5gbuuJWKvYUkqgOcJSho92oeT+4J5bs3h6halAEk7eDoA5Xo8m859VbdemRoJjE2sIB1EOppNuytLwqf8e3y8CDhNBF7t4csxVNPJI8a8b+8I6rgZmYWbjQjajDKzRweb3VOSdyNMxNDqvtz3rdVsDB6NFaNLKUp23x/rz91rfDL2VWbSRONrQtSd4/NuZCKG8JqMKOJWOr8wd1e12VuugnxcvG3moWDF86FYtKgTng8bAYcb/J6V/eyuFaTIp3ZM2VKCNW00FPmJrsGhoy4Q9j2HRXlT5smy90jd5okq/pmUFWyI1uyMDjFFpycHAy2ru/sJOj8sgnLGXo/3QyTn57W2du2pbU81hGtdMSUf4gpUzod0eUx74Uq5yxiyj7ElEc7nNHlsa3Zlb4kJXmOLO++jJLw9wmWeJfUfSKB6V0FwKnU+EZW2Br6oSRPUijJM4Yew55id/ufYf5C/8XjcfiWMHrYCFVVmRzczO4sMcxxr9ZIm24sjU4xCULnROWrAyv8anIS692KokUVu3ok6hSuT80m+iadjlQc2CWBKPEaQoh9tmt9oCsQ2ERxKlF1iGoZ/Cp61bF0lqvat7GMP0/Q/l11r9q3yVf7SbsfbwOhUA3vT31HTbY4KC+8A/9Dz4bCceEF2+7fCKPsFqynJQRfMP60PwlKgxRCfGFICNgOEUG2RfEobvHboP+GUpby3SWzIIhYaCE8DkLsqyZCYZurSZB5kNhHzOlwph2lbo2BPoIMRdB2FjAjUyjhwg2QtUTIbBq+uemQcnBvGhQ1XXaELyR+RN6JrOZCv0alcoVE+PTPhU+LidD4YChFz2VEUVMxOIIiyd3Gy8iCULATT5LgUK5H6nepJTwFMtwzHVbHIarUM+vhsH8xpP1MJfwz1S243Q0KSYRju2rvwuEIi+PZOHvzskXQC2goFYJ2p8Kpa9xgEmgLtAz+E5r920LYWlRCuBt0/DdoBezsJPQWpA8QH2OJcjQMFpAMhZ7GQyHQE5wsKJelPV/bUAx9C9URoFgKdCsHOoAJR7ojYEx3CoSCwOgi0DwLPDcTCpvt8xTJl8PRr6mGKw+UgqVj3yOh0JZgDzku8nm7BWKbl6O8oCi4EHoF8nhqCGzUZjhqA3EA8RKZgb/0D5OUHS/1HPr0+b6EUqjmBE+bb38FRXlAIxD07CzYWzrUiw9DehATzkN84SHQpUO/pELL34HMCMSlzPDuPR0i1I6MufbtZcwwfK1H013oS2hY/feIboTn9XjIs6GwB9Atqyl6XUuYBqcVGjIzZy1eWQeBMtM91WGhLDH0yosuOE0FgQ5Bw+6SJhLWz2byYAmxYYHI/ulEVzi0EQL/O9I97CoEGgzvZ0LtS7wEMGiIHgKJF64YhBJgF9qE/fYRlfgh528EajdNcJsDwwE1os8fCuGg3M64I8SYKcwQEdVWNtCEUcVwE5TRc+Y6GpH7/ga4UsIWFApPOvpBBYUdxJvv3RoHgAiDXrbTvgZ9Cfkn6KWn3eNR4CMh2qVlErQMjZ+BYSQ8l2S7TOwiSa/DvSm2hZac1nq+DPon5EvQV5qdlrXaYxYNQ0t4HfA64nIuugYAiUUeme+nDXBDXMKw5rF3MZEibzgIoNBO+J5xzoEQDuuavB9lQnKK1AZR6zMxfZAdAYAOW8xcw5rPxByFOWBFk9uUoVBIlYc3O8meCpWnrmWWNMzEwIrhkzAyLKr2Zgvi16XBXR2kUv8ZZFhUDrKltvR+hUVj8fSribWCVO8gVUNZS25XrL2LCYOQ5vsN/uVNLiWcDcl3KvyOcPcFNdDNkjvtEOWHyaOdXUH/ETC33cJgkEh0faSLwoF5k4tiZ3Ij41ufHfo4QxYDYWmhB7cQ7RBepw9CoxZAUCLrzLzfYSUwdBgA7zlzoDQ8aymEQ/CgHkFIUQjgmRlpW8pjHNHRjpiy9wJGRV3df2UeBcEKyFIWgzpsmZYvt0lLptU/wbIq7MDSKwMAtTbppE9zPKWRXWTquAe5qYga/fhEnkeSHxoXJq5qHx8UXON1cogc/2TBzD0TIPoN42G/IypyiZf9P7uqZWx5IieqFLGujVYVudpfwJPY2kFd9oSyrN4o31gt2lR998SsxOMUuBZANIBK+SHh5KzfNlWLNlbLgXQ4Y8B3AOzx3VNS2u/XD/pbbfggVHJ/aakoAQz4DZSUAIDKymzyBJ7zi4ol9xBEk8s137iUJsCkxLW0y28v+wZaa405dxtaY9S2+Aqr1CKRWKS22wJuaRFbZXdsMo+YABhbJDZp+ZycvNxNm3JPjL68TSfzdMVyN4GorO/06JuzFZmeMc1rW/z6J/qf71qw++2O9371DLTetwQfjC/x7eojtyFqb69ZsOv5WhO/lrWLYm3VzyOGNsNyOAL5ze3frRMv3n5hXGTrn6EZompZLsPtBTqHaH+5zyFMJOZQpDQAx5qStQwVo7R0qT7aVT6rHKWlKobWZ5XGR22hGFWMvGqGhpG8LTsxKD6Irxck7hEwOKBze0adPkhM3DMV9XpRFtrb9IDG9Wv1G9Y20SH0xrUbsteub9SD2Y1TrCwbK3PKRKBZ6sk9AJu+zXXz0tFyInd1JrVJk3lWN6hqoYUTgZntUfywYu+eptk8xoPpLihER19MBzpo4/QHGN6Kpv7TFQ8NXI6XnKPv8USmQSjEy9UsNg7eTfX0+rFUFaT6i0o9/op0Ye6ySBowEnGBVYt+vkhVnU3Ka8rk5qYPdEzbTWTatQkCBg8Gooxh3CAUlJRZvfz7R2gbpzjTaA78/O3prdkWXLWbnsEIDU1cmRkVWliDBOl1WzFztrXbB5PP9n1UN3oBfHRe4z32xf4KXES9bPLOTitA6t3jffzErKTtmcqwollelgf/4/YlumY7mitjnO+PzR/o8aCw1z9kBt47VUmABdVs+Pe+vPh5+fc91qB207rl1afZTLvRKvDlIyCK0rBApTucbajZduMfZYt0jtfsxkQG8D+vywPb3pjk3QrygCV2XXXDqjSzWzHnZpT4X4W7k9mbU5JSDolUrYVYQJ5+W1PLtgTOKEMqz4YWUuDNMEdQJu7bk9NvTo4UPWDCNC1lyoLhucqyd8rjL1O+I9rqty/ZL/9pFuHyAfaf7E0OY2r5eQbm3W7b29bXsxug2kGtsNUUROTJ5bkRhU8jCuR5efLe8mlhRK5cntfyaUShPDdXnlwqLbrraXMldco4hXfvzjQaPb7FsqbFbB0tf/9d8h5ufzh/DyVJ2wHRk9ntHe2yWwUxsTE8PJTD5kyaRZPMydxlnpM0qOeUJ5RGYPYBLaTNQaaZ/n3n5uZAudU5dg06Fq7eudOkVwCSc2f+3aY5XFB7h3arTc1p41asTMupmPCviCyT1iOnJNxNAIMTL7XelOaILTXLRy2rypXvnHcxZ0fcTGasdZt2Q+6I8iyWEp1Epp+BCJ4RXcyhO/mW6ATlj5d8cIo7kI63Aj/5ntgx0oUwwePhJkSHimkZvQflReTSDr7WW+so0RTDVYoD6SfSs3IQ8zZGjTsyF3z/7MzToEt3Pb7v4+VBvmWEja4+/GqEd9P9lccrd3DdvVh6k9DZBoP5mSDcjymmWhT1L2mER/YWN5gPLQR8UzY/NK9bKrwp/twEwI6yuXxGcZQ9IsKuKP5TURJRaI/8iv/kXOTxKkrQWBxht0esMIPUx7l/j3PvbJrfB0po15j/FMLrGjfeaQZDv7XjrsXkr/5RUJY1gHFncDfeQ6cqwt5UCX36DoYUbFFfvvChaJo7htCGciG84zbdXez9snixMbaSga8phmbpMiF2iEEK5mx0ii3h2f+rJ0pu3f7Ow8XZEoszh5sakDynwkCpFwcVIw3STLGoNX05worKw2yhObtnOHHuKuSpdDN94UxuZqAxvzaqKLLALi+J+nMAgwO6U/CZcOe/mYVBfqc/qLqLujM/AfFIv3Bf2CL3fcD7pR8m9c2iqA5ih4hQSbAS+REiiTyLB5A+c0LYBywHtAeCaZ4vE7qWqL0gYiI9NFLP87pC8lhICgeMmwuXLo5zLczIAi94sa+MXskjrrOuVsN3qiTOsy1b2UOQmm0/MwsvHf9Z/vNxA4S21UCG2L8sF+dZkqqgC30QZbw+fWUmpo4eOOHXv2+fU1P8tfcf9vMqx91Eb5p3Ir1Vz3uo92uxxvmHu77fL3CCXofJXHl9ujHMhmjwLkf2qlYzyjLnIR2C8sx+36g51G3bFB7KRTw78H+rbG5mLipdLY0kRSlIr11N0anSGa+jXdjVlEm11dojX67BvEj7c3nl+fDbI56Dy0cwP8L+HF553rFvjwxsbyvXYaZoUxh9e0UjbYrWuGdzE71poUkYhL35Dh8kNnr8T2vAEyKXRx2hATdaAShaHsCEyStzZTkSSY4s9568EusBndwbVVtdOToDz0Q6TTJtDjYsygJgsblGdiarte175qHjAUZWxgG918g+brCo7Ay2sS21xM4E4DjE+fhym7SqwS+13hZ7Uh/4Ftnaye7nQ4YHPba19ypR5xE94L+LvtpbvBdfWQpgV3pYVRWbxbckeIVyjVmThlarpgfiOUWPqNL2ADYNX1vQ9F0t46YqGi2VSh62++vUaE6Oiu4L9FSsbNIZpb1SSyfNq2VrE8A0/VM0ScJNFc2w3WgX0k3gR5yII5Qpfa1riIOyXK0t4kpamhRtT6mZfqpd+lAzg9fEIoIkxKjotBaKBDUzUpLMtvZ98KsyBRRN96lF4Vfilf0ATOTYdFGOwKZMX43xaENDwYqoaCEplqozxycNgihN0QtUYlyUZdrE4KqEIOWy6bHr/PF7CiJH1aGm7d6bhdeHjp8XwGr6chmPk2dkqkkrShKrmi4O5oIP67wjN/VPRia3BT8bqqr1sX+LpdanuWHA3ptn4+25I/f1EeQjgp9wUN+caIjjHNjiRC7MAqYz0yPGlgAmHQ8UKUylstMPl25phNhZqWxxN8amB4P+U1ZR6ZRt3saAr0g6IPpbDVOpXCNwJXtdmj60MyvluJOxRK/Q8OVINH1Wf0Vxmi/BWPYQDT9E0gfIsFirpBiVVNKmIHJaXEujaa6wORWY2JfnTe9gEpTXzCXRcVZqNU1x9LdR/SFrtGYXawAQ0Ori3Nfl63Vubfmi//y/dtXI5eqUrBGi1yVVClf3odAmtdc+K3iei3qK7q/icnlmz16cObs6coRbt9aVc0yZ3VyOM/X9MjOz13ItYgS+h6Zp54pQFTv/2sSkhCznIpyWM6sEheN6dW9BvLgrOs/PeUW0IYX4gqKD8S3qsX0A9GJvBrDFbRn72IVswAsc0wLAVueo8k1RbkXLXdT/2iIc5y7UXquU1R0MRd2uXHmda6+fVNrn0fPO6ZMTDccMVkrOsGvO/pX02rn0tX61Uz/KjEvXKCZF5F6dfJbz9KqvHb5m5z7hGtBdIzvlX62/fgv45z5lrgIZnlGP4UdVagZgTfVoQdZzBOg+pt2/Rfah8dL00ZMRNf3HTBUAfPO3XSl1r13Of0V1oISCNfMvj8nEdAP1d113V38oK4DFwSnYHhJNQ2w0DlE39yPj/3VD/Kd/JCwGNabeJM0N6ofD8b94JPF/QwLvlaJHCPU/UUxPryMEKMvvpSsACqRqATjl/E7unRdCl3UYhFRjR81KzkizkRilQ818c6RgszkjsducmKHbtgu6WIgcURgD46wvmoVu8puVVr6w6Wou44Ca582RXn5zGfYWrJsTl+Jhr2BcWPKlRhitojPbywSohRSvyb56GGrP+sa9Z/B0jafQP7IEnMos49yy5AsLsi8LOfZVlQxxzeaTcscwpWoa1weCjl613aeJdI5HqPnyxmgVndleq1cPUAuFNVnQvX3Qv/g37n1wNq63Oes/siBccbOMsxX9RYrlOpnp5dhXrWQyizDX/CR8csU4TkzVNH2uB4KO3iHc7lM1ENmSMayQL9QEjsf1lmOzXQZQAIIBCw480O+r1QkEiFDBf9QzvQFEmFDGhVTaWOdDTNIsL8qqbtquH8ZpXtZtP87rft7v/xbCJ2wESdEMy/GCKMmKqumGadmO6/lBGMVJmuVFWdVN2/XDOM3Luu3H6Xy53u6P5+v9+f7+EGFCGZbjBVGSFVXTDdOyHdfzgzCKkzTLi7Kqm7brh3Gal3Xbj/O6n/f70WoZ4BdvixJzqF/c+SGYN9qevdGG1UNaBrZNY6XceiYWCYrucWJONkX8PpSsLL5GfFOZY+Lj9JjvzltQvvASMBIbdv15sT5vcsNV/UxwmkZCwHIguuLB14M+2lpMuYTMT4R8O8LOu48n16LffQjaU9JDbw8n7zxw7xEvYnljlHvDvpY4qVHtO2wU2BdvmGwp7Kx1lfuxgd9e7qYkwgUWm3H1hD9NzQOo9FU2A2qmW+S9GAejuxpmJkf2JPvyJIq68+HGyQwQaadWjAds04KV5Ypc8wl+6HQz7/n/teWO3U7yqXdYpQtTo96/1crM2A39zNeC7r9XOY3rM/MBLXSVZqCSE3afper3LvRE6JVbDUUdSVBZzblzcU84dHqlI+qJC+kh4Q0jaO0qGE88OjveiTZkua0Zd5RB4JPiakKOwba2PITzgqf6iCdcJAhLKSojNTWj7QoY+HqErIYEdMFohaNCFH7wYdpBH9jvEih8sSCF6/nCb9g+OiXdqE+206kI2eiYLq0lMfy2upKxR2CE2PAWIks+YM4bSRgvmsXJjFtvhq9Q8OOpN1Eq6zouO6MjHHKcuowDeZtBr6YV1WfiWrbkx4cDuB6zqs+LwWUlNnIqMDSh33hwgY4eVDo8HprQ7ZAGesJm0uo9O8jyNM/7NUQ54XlFgeKm9Ui9Ctfn2Hjz2xDGGa8HZ6t5e7XCR82A6rAVTC54lhmaeUYyoaulQ1B69HQelB6ZCmuUkwwBC3tyEDgS1oMrXqG1w3OGk/gKR8eVBEENeEsY64esx4AHw+y3s4yJfvX2via69bxLBTK9O2SN092iiyc5LLgVjvbdsPVQMNeQ1R2T6HHj/fRxmIkrAqldgViwqDHVQ2Twc6pLAs9yLf3C7gK/38bzlZ1+1332fL5m+SOK4YZb42lDD719bWdOCD7Y9r30tniA20o++YXWWOgtybZzJGPU0uNu2inKaPJris4Z9b7J/HjHEHPhtTeZVz+FIekREncfGQLq+NhjZuM4XuozeEgLcJIPqi3275ZCwu5BnOzjDbUmkwMoHcuKZdFZn+3SPwAAAAA=) format("woff2")}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-eye:before{content:"\\e695"}.layui-icon-eye-invisible:before{content:"\\e696"}.layui-icon-backspace:before{content:"\\e694"}.layui-icon-help-circle:before{content:"\\e77c"}.layui-icon-tips-fill:before{content:"\\eb2e"}.layui-icon-test:before{content:"\\e692"}.layui-icon-clear:before{content:"\\e788"}.layui-icon-keyboard:before{content:"\\e693"}.layui-icon-heart-fill:before{content:"\\e68f"}.layui-icon-light:before{content:"\\e748"}.layui-icon-music:before{content:"\\e690"}.layui-icon-time:before{content:"\\e68d"}.layui-icon-ie:before{content:"\\e7bb"}.layui-icon-firefox:before{content:"\\e686"}.layui-icon-at:before{content:"\\e687"}.layui-icon-bluetooth:before{content:"\\e689"}.layui-icon-chrome:before{content:"\\e68a"}.layui-icon-edge:before{content:"\\e68b"}.layui-icon-heart:before{content:"\\e68c"}.layui-icon-key:before{content:"\\e683"}.layui-icon-android:before{content:"\\e684"}.layui-icon-mike:before{content:"\\e6dc"}.layui-icon-mute:before{content:"\\e685"}.layui-icon-gift:before{content:"\\e627"}.layui-icon-windows:before{content:"\\e67f"}.layui-icon-ios:before{content:"\\e680"}.layui-icon-logout:before{content:"\\e682"}.layui-icon-wifi:before{content:"\\e7e0"}.layui-icon-rss:before{content:"\\e808"}.layui-icon-email:before{content:"\\e618"}.layui-icon-reduce-circle:before{content:"\\e616"}.layui-icon-transfer:before{content:"\\e691"}.layui-icon-service:before{content:"\\e626"}.layui-icon-addition:before{content:"\\e624"}.layui-icon-subtraction:before{content:"\\e67e"}.layui-icon-slider:before{content:"\\e714"}.layui-icon-print:before{content:"\\e66d"}.layui-icon-export:before{content:"\\e67d"}.layui-icon-cols:before{content:"\\e610"}.layui-icon-screen-full:before{content:"\\e622"}.layui-icon-screen-restore:before{content:"\\e758"}.layui-icon-rate-half:before{content:"\\e6c9"}.layui-icon-rate-solid:before{content:"\\e67a"}.layui-icon-rate:before{content:"\\e67b"}.layui-icon-cellphone:before{content:"\\e678"}.layui-icon-vercode:before{content:"\\e679"}.layui-icon-login-weibo:before{content:"\\e675"}.layui-icon-login-qq:before{content:"\\e676"}.layui-icon-login-wechat:before{content:"\\e677"}.layui-icon-username:before{content:"\\e66f"}.layui-icon-password:before{content:"\\e673"}.layui-icon-refresh-three:before{content:"\\e9aa"}.layui-icon-auz:before{content:"\\e672"}.layui-icon-shrink-right:before{content:"\\e668"}.layui-icon-spread-left:before{content:"\\e66b"}.layui-icon-snowflake:before{content:"\\e6b1"}.layui-icon-tips:before{content:"\\e702"}.layui-icon-note:before{content:"\\e66e"}.layui-icon-senior:before{content:"\\e674"}.layui-icon-refresh-one:before{content:"\\e666"}.layui-icon-refresh:before{content:"\\e669"}.layui-icon-flag:before{content:"\\e66c"}.layui-icon-theme:before{content:"\\e66a"}.layui-icon-notice:before{content:"\\e667"}.layui-icon-console:before{content:"\\e665"}.layui-icon-website:before{content:"\\e7ae"}.layui-icon-face-surprised:before{content:"\\e664"}.layui-icon-set:before{content:"\\e716"}.layui-icon-template:before{content:"\\e663"}.layui-icon-app:before{content:"\\e653"}.layui-icon-template-one:before{content:"\\e656"}.layui-icon-home:before{content:"\\e68e"}.layui-icon-female:before{content:"\\e661"}.layui-icon-male:before{content:"\\e662"}.layui-icon-tread:before{content:"\\e6c5"}.layui-icon-praise:before{content:"\\e6c6"}.layui-icon-rmb:before{content:"\\e65e"}.layui-icon-more:before{content:"\\e65f"}.layui-icon-camera:before{content:"\\e660"}.layui-icon-cart-simple:before{content:"\\e698"}.layui-icon-face-cry:before{content:"\\e69c"}.layui-icon-face-smile:before{content:"\\e6af"}.layui-icon-survey:before{content:"\\e6b2"}.layui-icon-read:before{content:"\\e705"}.layui-icon-location:before{content:"\\e715"}.layui-icon-dollar:before{content:"\\e659"}.layui-icon-diamond:before{content:"\\e735"}.layui-icon-return:before{content:"\\e65c"}.layui-icon-camera-fill:before{content:"\\e65d"}.layui-icon-fire:before{content:"\\e756"}.layui-icon-more-vertical:before{content:"\\e671"}.layui-icon-cart:before{content:"\\e657"}.layui-icon-star-fill:before{content:"\\e658"}.layui-icon-prev:before{content:"\\e65a"}.layui-icon-next:before{content:"\\e65b"}.layui-icon-upload:before{content:"\\e67c"}.layui-icon-upload-drag:before{content:"\\e681"}.layui-icon-user:before{content:"\\e770"}.layui-icon-file-b:before{content:"\\e655"}.layui-icon-component:before{content:"\\e857"}.layui-icon-find-fill:before{content:"\\e670"}.layui-icon-loading:before{content:"\\e63d"}.layui-icon-loading-one:before{content:"\\e63e"}.layui-icon-add-one:before{content:"\\e654"}.layui-icon-pause:before{content:"\\e651"}.layui-icon-play:before{content:"\\e652"}.layui-icon-video:before{content:"\\e6ed"}.layui-icon-headset:before{content:"\\e6fc"}.layui-icon-voice:before{content:"\\e688"}.layui-icon-speaker:before{content:"\\e645"}.layui-icon-fonts-del:before{content:"\\e64f"}.layui-icon-fonts-html:before{content:"\\e64b"}.layui-icon-fonts-code:before{content:"\\e64e"}.layui-icon-fonts-strong:before{content:"\\e62b"}.layui-icon-unlink:before{content:"\\e64d"}.layui-icon-picture:before{content:"\\e64a"}.layui-icon-link:before{content:"\\e64c"}.layui-icon-face-smile-b:before{content:"\\e650"}.layui-icon-align-center:before{content:"\\e647"}.layui-icon-align-right:before{content:"\\e648"}.layui-icon-align-left:before{content:"\\e649"}.layui-icon-fonts-u:before{content:"\\e646"}.layui-icon-fonts-i:before{content:"\\e644"}.layui-icon-tabs:before{content:"\\e62a"}.layui-icon-circle:before{content:"\\e63f"}.layui-icon-radio:before{content:"\\e643"}.layui-icon-share:before{content:"\\e641"}.layui-icon-edit:before{content:"\\e642"}.layui-icon-delete:before{content:"\\e640"}.layui-icon-engine:before{content:"\\e628"}.layui-icon-chart-screen:before{content:"\\e629"}.layui-icon-chart:before{content:"\\e62c"}.layui-icon-table:before{content:"\\e62d"}.layui-icon-tree:before{content:"\\e62e"}.layui-icon-upload-circle:before{content:"\\e62f"}.layui-icon-templeate-one:before{content:"\\e630"}.layui-icon-util:before{content:"\\e631"}.layui-icon-layouts:before{content:"\\e632"}.layui-icon-prev-circle:before{content:"\\e633"}.layui-icon-carousel:before{content:"\\e634"}.layui-icon-code-circle:before{content:"\\e635"}.layui-icon-water:before{content:"\\e636"}.layui-icon-date:before{content:"\\e637"}.layui-icon-layer:before{content:"\\e638"}.layui-icon-fonts-clear:before{content:"\\e639"}.layui-icon-dialogue:before{content:"\\e63a"}.layui-icon-cellphone-fine:before{content:"\\e63b"}.layui-icon-form:before{content:"\\e63c"}.layui-icon-file:before{content:"\\e621"}.layui-icon-triangle-r:before{content:"\\e623"}.layui-icon-triangle-d:before{content:"\\e625"}.layui-icon-set-sm:before{content:"\\e620"}.layui-icon-add-circle:before{content:"\\e61f"}.layui-icon-layim-download:before{content:"\\e61e"}.layui-icon-layim-uploadfile:before{content:"\\e61d"}.layui-icon-not-found:before{content:"\\e61c"}.layui-icon-about:before{content:"\\e60b"}.layui-icon-layim-theme:before{content:"\\e61b"}.layui-icon-down:before{content:"\\e61a"}.layui-icon-up:before{content:"\\e619"}.layui-icon-circle-dot:before{content:"\\e617"}.layui-icon-set-fill:before{content:"\\e614"}.layui-icon-search:before{content:"\\e615"}.layui-icon-friends:before{content:"\\e612"}.layui-icon-group:before{content:"\\e613"}.layui-icon-reply-fill:before{content:"\\e611"}.layui-icon-menu-fill:before{content:"\\e60f"}.layui-icon-face-smile-fine:before{content:"\\e60c"}.layui-icon-picture-fine:before{content:"\\e60d"}.layui-icon-log:before{content:"\\e60e"}.layui-icon-list:before{content:"\\e60a"}.layui-icon-release:before{content:"\\e609"}.layui-icon-add-circle-fine:before{content:"\\e608"}.layui-icon-ok:before{content:"\\e605"}.layui-icon-help:before{content:"\\e607"}.layui-icon-chat:before{content:"\\e606"}.layui-icon-top:before{content:"\\e604"}.layui-icon-right:before{content:"\\e602"}.layui-icon-left:before{content:"\\e603"}.layui-icon-star:before{content:"\\e600"}.layui-icon-download-circle:before{content:"\\e601"}.layui-icon-close:before{content:"\\1006"}.layui-icon-close-fill:before{content:"\\1007"}.layui-icon-ok-circle:before{content:"\\1005"}\n')();
|
|
function _defineProperty$2(obj, key, value) {
|
|
if (key in obj) {
|
|
Object.defineProperty(obj, key, {
|
|
value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
} else {
|
|
obj[key] = value;
|
|
}
|
|
return obj;
|
|
}
|
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
try {
|
|
var info = gen[key](arg);
|
|
var value = info.value;
|
|
} catch (error) {
|
|
reject(error);
|
|
return;
|
|
}
|
|
if (info.done) {
|
|
resolve(value);
|
|
} else {
|
|
Promise.resolve(value).then(_next, _throw);
|
|
}
|
|
}
|
|
function _asyncToGenerator(fn) {
|
|
return function() {
|
|
var self2 = this, args = arguments;
|
|
return new Promise(function(resolve, reject) {
|
|
var gen = fn.apply(self2, args);
|
|
function _next(value) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
}
|
|
function _throw(err) {
|
|
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
}
|
|
_next(void 0);
|
|
});
|
|
};
|
|
}
|
|
function _typeof$1(obj) {
|
|
"@babel/helpers - typeof";
|
|
return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(obj2) {
|
|
return typeof obj2;
|
|
} : function(obj2) {
|
|
return obj2 && "function" == typeof Symbol && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
|
|
}, _typeof$1(obj);
|
|
}
|
|
var runtime = { exports: {} };
|
|
(function(module) {
|
|
var runtime2 = function(exports) {
|
|
var Op = Object.prototype;
|
|
var hasOwn2 = Op.hasOwnProperty;
|
|
var undefined$1;
|
|
var $Symbol = typeof Symbol === "function" ? Symbol : {};
|
|
var iteratorSymbol = $Symbol.iterator || "@@iterator";
|
|
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
|
|
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
|
|
function define(obj, key, value) {
|
|
Object.defineProperty(obj, key, {
|
|
value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
return obj[key];
|
|
}
|
|
try {
|
|
define({}, "");
|
|
} catch (err) {
|
|
define = function define2(obj, key, value) {
|
|
return obj[key] = value;
|
|
};
|
|
}
|
|
function wrap(innerFn, outerFn, self2, tryLocsList) {
|
|
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
|
|
var generator = Object.create(protoGenerator.prototype);
|
|
var context = new Context(tryLocsList || []);
|
|
generator._invoke = makeInvokeMethod(innerFn, self2, context);
|
|
return generator;
|
|
}
|
|
exports.wrap = wrap;
|
|
function tryCatch(fn, obj, arg) {
|
|
try {
|
|
return {
|
|
type: "normal",
|
|
arg: fn.call(obj, arg)
|
|
};
|
|
} catch (err) {
|
|
return {
|
|
type: "throw",
|
|
arg: err
|
|
};
|
|
}
|
|
}
|
|
var GenStateSuspendedStart = "suspendedStart";
|
|
var GenStateSuspendedYield = "suspendedYield";
|
|
var GenStateExecuting = "executing";
|
|
var GenStateCompleted = "completed";
|
|
var ContinueSentinel = {};
|
|
function Generator() {
|
|
}
|
|
function GeneratorFunction() {
|
|
}
|
|
function GeneratorFunctionPrototype() {
|
|
}
|
|
var IteratorPrototype = {};
|
|
define(IteratorPrototype, iteratorSymbol, function() {
|
|
return this;
|
|
});
|
|
var getProto = Object.getPrototypeOf;
|
|
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
|
|
if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn2.call(NativeIteratorPrototype, iteratorSymbol)) {
|
|
IteratorPrototype = NativeIteratorPrototype;
|
|
}
|
|
var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);
|
|
GeneratorFunction.prototype = GeneratorFunctionPrototype;
|
|
define(Gp, "constructor", GeneratorFunctionPrototype);
|
|
define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
|
|
GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction");
|
|
function defineIteratorMethods(prototype) {
|
|
["next", "throw", "return"].forEach(function(method4) {
|
|
define(prototype, method4, function(arg) {
|
|
return this._invoke(method4, arg);
|
|
});
|
|
});
|
|
}
|
|
exports.isGeneratorFunction = function(genFun) {
|
|
var ctor = typeof genFun === "function" && genFun.constructor;
|
|
return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
|
|
};
|
|
exports.mark = function(genFun) {
|
|
if (Object.setPrototypeOf) {
|
|
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
|
|
} else {
|
|
genFun.__proto__ = GeneratorFunctionPrototype;
|
|
define(genFun, toStringTagSymbol, "GeneratorFunction");
|
|
}
|
|
genFun.prototype = Object.create(Gp);
|
|
return genFun;
|
|
};
|
|
exports.awrap = function(arg) {
|
|
return {
|
|
__await: arg
|
|
};
|
|
};
|
|
function AsyncIterator(generator, PromiseImpl) {
|
|
function invoke(method4, arg, resolve, reject) {
|
|
var record = tryCatch(generator[method4], generator, arg);
|
|
if (record.type === "throw") {
|
|
reject(record.arg);
|
|
} else {
|
|
var result = record.arg;
|
|
var value = result.value;
|
|
if (value && _typeof$1(value) === "object" && hasOwn2.call(value, "__await")) {
|
|
return PromiseImpl.resolve(value.__await).then(function(value2) {
|
|
invoke("next", value2, resolve, reject);
|
|
}, function(err) {
|
|
invoke("throw", err, resolve, reject);
|
|
});
|
|
}
|
|
return PromiseImpl.resolve(value).then(function(unwrapped) {
|
|
result.value = unwrapped;
|
|
resolve(result);
|
|
}, function(error) {
|
|
return invoke("throw", error, resolve, reject);
|
|
});
|
|
}
|
|
}
|
|
var previousPromise;
|
|
function enqueue(method4, arg) {
|
|
function callInvokeWithMethodAndArg() {
|
|
return new PromiseImpl(function(resolve, reject) {
|
|
invoke(method4, arg, resolve, reject);
|
|
});
|
|
}
|
|
return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
|
|
}
|
|
this._invoke = enqueue;
|
|
}
|
|
defineIteratorMethods(AsyncIterator.prototype);
|
|
define(AsyncIterator.prototype, asyncIteratorSymbol, function() {
|
|
return this;
|
|
});
|
|
exports.AsyncIterator = AsyncIterator;
|
|
exports.async = function(innerFn, outerFn, self2, tryLocsList, PromiseImpl) {
|
|
if (PromiseImpl === void 0)
|
|
PromiseImpl = Promise;
|
|
var iter = new AsyncIterator(wrap(innerFn, outerFn, self2, tryLocsList), PromiseImpl);
|
|
return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function(result) {
|
|
return result.done ? result.value : iter.next();
|
|
});
|
|
};
|
|
function makeInvokeMethod(innerFn, self2, context) {
|
|
var state = GenStateSuspendedStart;
|
|
return function invoke(method4, arg) {
|
|
if (state === GenStateExecuting) {
|
|
throw new Error("Generator is already running");
|
|
}
|
|
if (state === GenStateCompleted) {
|
|
if (method4 === "throw") {
|
|
throw arg;
|
|
}
|
|
return doneResult();
|
|
}
|
|
context.method = method4;
|
|
context.arg = arg;
|
|
while (true) {
|
|
var delegate = context.delegate;
|
|
if (delegate) {
|
|
var delegateResult = maybeInvokeDelegate(delegate, context);
|
|
if (delegateResult) {
|
|
if (delegateResult === ContinueSentinel)
|
|
continue;
|
|
return delegateResult;
|
|
}
|
|
}
|
|
if (context.method === "next") {
|
|
context.sent = context._sent = context.arg;
|
|
} else if (context.method === "throw") {
|
|
if (state === GenStateSuspendedStart) {
|
|
state = GenStateCompleted;
|
|
throw context.arg;
|
|
}
|
|
context.dispatchException(context.arg);
|
|
} else if (context.method === "return") {
|
|
context.abrupt("return", context.arg);
|
|
}
|
|
state = GenStateExecuting;
|
|
var record = tryCatch(innerFn, self2, context);
|
|
if (record.type === "normal") {
|
|
state = context.done ? GenStateCompleted : GenStateSuspendedYield;
|
|
if (record.arg === ContinueSentinel) {
|
|
continue;
|
|
}
|
|
return {
|
|
value: record.arg,
|
|
done: context.done
|
|
};
|
|
} else if (record.type === "throw") {
|
|
state = GenStateCompleted;
|
|
context.method = "throw";
|
|
context.arg = record.arg;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function maybeInvokeDelegate(delegate, context) {
|
|
var method4 = delegate.iterator[context.method];
|
|
if (method4 === undefined$1) {
|
|
context.delegate = null;
|
|
if (context.method === "throw") {
|
|
if (delegate.iterator["return"]) {
|
|
context.method = "return";
|
|
context.arg = undefined$1;
|
|
maybeInvokeDelegate(delegate, context);
|
|
if (context.method === "throw") {
|
|
return ContinueSentinel;
|
|
}
|
|
}
|
|
context.method = "throw";
|
|
context.arg = new TypeError("The iterator does not provide a 'throw' method");
|
|
}
|
|
return ContinueSentinel;
|
|
}
|
|
var record = tryCatch(method4, delegate.iterator, context.arg);
|
|
if (record.type === "throw") {
|
|
context.method = "throw";
|
|
context.arg = record.arg;
|
|
context.delegate = null;
|
|
return ContinueSentinel;
|
|
}
|
|
var info = record.arg;
|
|
if (!info) {
|
|
context.method = "throw";
|
|
context.arg = new TypeError("iterator result is not an object");
|
|
context.delegate = null;
|
|
return ContinueSentinel;
|
|
}
|
|
if (info.done) {
|
|
context[delegate.resultName] = info.value;
|
|
context.next = delegate.nextLoc;
|
|
if (context.method !== "return") {
|
|
context.method = "next";
|
|
context.arg = undefined$1;
|
|
}
|
|
} else {
|
|
return info;
|
|
}
|
|
context.delegate = null;
|
|
return ContinueSentinel;
|
|
}
|
|
defineIteratorMethods(Gp);
|
|
define(Gp, toStringTagSymbol, "Generator");
|
|
define(Gp, iteratorSymbol, function() {
|
|
return this;
|
|
});
|
|
define(Gp, "toString", function() {
|
|
return "[object Generator]";
|
|
});
|
|
function pushTryEntry(locs) {
|
|
var entry = {
|
|
tryLoc: locs[0]
|
|
};
|
|
if (1 in locs) {
|
|
entry.catchLoc = locs[1];
|
|
}
|
|
if (2 in locs) {
|
|
entry.finallyLoc = locs[2];
|
|
entry.afterLoc = locs[3];
|
|
}
|
|
this.tryEntries.push(entry);
|
|
}
|
|
function resetTryEntry(entry) {
|
|
var record = entry.completion || {};
|
|
record.type = "normal";
|
|
delete record.arg;
|
|
entry.completion = record;
|
|
}
|
|
function Context(tryLocsList) {
|
|
this.tryEntries = [{
|
|
tryLoc: "root"
|
|
}];
|
|
tryLocsList.forEach(pushTryEntry, this);
|
|
this.reset(true);
|
|
}
|
|
exports.keys = function(object4) {
|
|
var keys = [];
|
|
for (var key in object4) {
|
|
keys.push(key);
|
|
}
|
|
keys.reverse();
|
|
return function next() {
|
|
while (keys.length) {
|
|
var key2 = keys.pop();
|
|
if (key2 in object4) {
|
|
next.value = key2;
|
|
next.done = false;
|
|
return next;
|
|
}
|
|
}
|
|
next.done = true;
|
|
return next;
|
|
};
|
|
};
|
|
function values(iterable) {
|
|
if (iterable) {
|
|
var iteratorMethod = iterable[iteratorSymbol];
|
|
if (iteratorMethod) {
|
|
return iteratorMethod.call(iterable);
|
|
}
|
|
if (typeof iterable.next === "function") {
|
|
return iterable;
|
|
}
|
|
if (!isNaN(iterable.length)) {
|
|
var i = -1, next = function next2() {
|
|
while (++i < iterable.length) {
|
|
if (hasOwn2.call(iterable, i)) {
|
|
next2.value = iterable[i];
|
|
next2.done = false;
|
|
return next2;
|
|
}
|
|
}
|
|
next2.value = undefined$1;
|
|
next2.done = true;
|
|
return next2;
|
|
};
|
|
return next.next = next;
|
|
}
|
|
}
|
|
return {
|
|
next: doneResult
|
|
};
|
|
}
|
|
exports.values = values;
|
|
function doneResult() {
|
|
return {
|
|
value: undefined$1,
|
|
done: true
|
|
};
|
|
}
|
|
Context.prototype = {
|
|
constructor: Context,
|
|
reset: function reset22(skipTempReset) {
|
|
this.prev = 0;
|
|
this.next = 0;
|
|
this.sent = this._sent = undefined$1;
|
|
this.done = false;
|
|
this.delegate = null;
|
|
this.method = "next";
|
|
this.arg = undefined$1;
|
|
this.tryEntries.forEach(resetTryEntry);
|
|
if (!skipTempReset) {
|
|
for (var name in this) {
|
|
if (name.charAt(0) === "t" && hasOwn2.call(this, name) && !isNaN(+name.slice(1))) {
|
|
this[name] = undefined$1;
|
|
}
|
|
}
|
|
}
|
|
},
|
|
stop: function stop() {
|
|
this.done = true;
|
|
var rootEntry = this.tryEntries[0];
|
|
var rootRecord = rootEntry.completion;
|
|
if (rootRecord.type === "throw") {
|
|
throw rootRecord.arg;
|
|
}
|
|
return this.rval;
|
|
},
|
|
dispatchException: function dispatchException(exception) {
|
|
if (this.done) {
|
|
throw exception;
|
|
}
|
|
var context = this;
|
|
function handle(loc, caught) {
|
|
record.type = "throw";
|
|
record.arg = exception;
|
|
context.next = loc;
|
|
if (caught) {
|
|
context.method = "next";
|
|
context.arg = undefined$1;
|
|
}
|
|
return !!caught;
|
|
}
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
var record = entry.completion;
|
|
if (entry.tryLoc === "root") {
|
|
return handle("end");
|
|
}
|
|
if (entry.tryLoc <= this.prev) {
|
|
var hasCatch = hasOwn2.call(entry, "catchLoc");
|
|
var hasFinally = hasOwn2.call(entry, "finallyLoc");
|
|
if (hasCatch && hasFinally) {
|
|
if (this.prev < entry.catchLoc) {
|
|
return handle(entry.catchLoc, true);
|
|
} else if (this.prev < entry.finallyLoc) {
|
|
return handle(entry.finallyLoc);
|
|
}
|
|
} else if (hasCatch) {
|
|
if (this.prev < entry.catchLoc) {
|
|
return handle(entry.catchLoc, true);
|
|
}
|
|
} else if (hasFinally) {
|
|
if (this.prev < entry.finallyLoc) {
|
|
return handle(entry.finallyLoc);
|
|
}
|
|
} else {
|
|
throw new Error("try statement without catch or finally");
|
|
}
|
|
}
|
|
}
|
|
},
|
|
abrupt: function abrupt(type4, arg) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.tryLoc <= this.prev && hasOwn2.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
|
|
var finallyEntry = entry;
|
|
break;
|
|
}
|
|
}
|
|
if (finallyEntry && (type4 === "break" || type4 === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
|
|
finallyEntry = null;
|
|
}
|
|
var record = finallyEntry ? finallyEntry.completion : {};
|
|
record.type = type4;
|
|
record.arg = arg;
|
|
if (finallyEntry) {
|
|
this.method = "next";
|
|
this.next = finallyEntry.finallyLoc;
|
|
return ContinueSentinel;
|
|
}
|
|
return this.complete(record);
|
|
},
|
|
complete: function complete(record, afterLoc) {
|
|
if (record.type === "throw") {
|
|
throw record.arg;
|
|
}
|
|
if (record.type === "break" || record.type === "continue") {
|
|
this.next = record.arg;
|
|
} else if (record.type === "return") {
|
|
this.rval = this.arg = record.arg;
|
|
this.method = "return";
|
|
this.next = "end";
|
|
} else if (record.type === "normal" && afterLoc) {
|
|
this.next = afterLoc;
|
|
}
|
|
return ContinueSentinel;
|
|
},
|
|
finish: function finish(finallyLoc) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.finallyLoc === finallyLoc) {
|
|
this.complete(entry.completion, entry.afterLoc);
|
|
resetTryEntry(entry);
|
|
return ContinueSentinel;
|
|
}
|
|
}
|
|
},
|
|
"catch": function _catch(tryLoc) {
|
|
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
|
|
var entry = this.tryEntries[i];
|
|
if (entry.tryLoc === tryLoc) {
|
|
var record = entry.completion;
|
|
if (record.type === "throw") {
|
|
var thrown = record.arg;
|
|
resetTryEntry(entry);
|
|
}
|
|
return thrown;
|
|
}
|
|
}
|
|
throw new Error("illegal catch attempt");
|
|
},
|
|
delegateYield: function delegateYield(iterable, resultName, nextLoc) {
|
|
this.delegate = {
|
|
iterator: values(iterable),
|
|
resultName,
|
|
nextLoc
|
|
};
|
|
if (this.method === "next") {
|
|
this.arg = undefined$1;
|
|
}
|
|
return ContinueSentinel;
|
|
}
|
|
};
|
|
return exports;
|
|
}(module.exports);
|
|
try {
|
|
regeneratorRuntime = runtime2;
|
|
} catch (accidentalStrictMode) {
|
|
if ((typeof globalThis === "undefined" ? "undefined" : _typeof$1(globalThis)) === "object") {
|
|
globalThis.regeneratorRuntime = runtime2;
|
|
} else {
|
|
Function("r", "regeneratorRuntime = r")(runtime2);
|
|
}
|
|
}
|
|
})(runtime);
|
|
var regenerator = runtime.exports;
|
|
function ownKeys$7(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread$7(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$7(Object(source), true).forEach(function(key) {
|
|
_defineProperty$2(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
var __default__$6$2 = {
|
|
name: "Shade"
|
|
};
|
|
var _sfc_main$7$1 = defineComponent(_objectSpread$7(_objectSpread$7({}, __default__$6$2), {}, {
|
|
props: {
|
|
opacity: null,
|
|
index: null,
|
|
visible: {
|
|
type: [Boolean, String]
|
|
}
|
|
},
|
|
emits: ["shadeClick"],
|
|
setup: function setup(__props, _ref) {
|
|
var emit = _ref.emit;
|
|
var props = __props;
|
|
var styles = computed$1(function() {
|
|
return {
|
|
opacity: props.opacity,
|
|
zIndex: props.index
|
|
};
|
|
});
|
|
var shadeClick = function shadeClick2() {
|
|
emit("shadeClick");
|
|
};
|
|
return function(_ctx, _cache) {
|
|
return __props.visible ? (openBlock(), createElementBlock("div", {
|
|
key: 0,
|
|
class: "layui-layer-shade",
|
|
style: normalizeStyle(unref(styles)),
|
|
onClick: shadeClick
|
|
}, null, 4)) : createCommentVNode("", true);
|
|
};
|
|
}
|
|
}));
|
|
function ownKeys$6(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread$6(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$6(Object(source), true).forEach(function(key) {
|
|
_defineProperty$2(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
var _hoisted_1$5$1 = ["src"];
|
|
var __default__$5$2 = {
|
|
name: "Iframe"
|
|
};
|
|
var _sfc_main$6$1 = defineComponent(_objectSpread$6(_objectSpread$6({}, __default__$5$2), {}, {
|
|
props: {
|
|
src: null
|
|
},
|
|
setup: function setup2(__props) {
|
|
var props = __props;
|
|
var src = computed$1(function() {
|
|
return props.src;
|
|
});
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("iframe", {
|
|
scrolling: "auto",
|
|
class: "layui-layer-iframe",
|
|
allowtransparency: "true",
|
|
frameborder: "0",
|
|
src: unref(src)
|
|
}, null, 8, _hoisted_1$5$1);
|
|
};
|
|
}
|
|
}));
|
|
function ownKeys$5(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread$5(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$5(Object(source), true).forEach(function(key) {
|
|
_defineProperty$2(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
var _hoisted_1$4$1 = {
|
|
class: "layui-layer-title",
|
|
style: {
|
|
"cursor": "move"
|
|
}
|
|
};
|
|
var __default__$4$2 = {
|
|
name: "Title"
|
|
};
|
|
var _sfc_main$5$1 = defineComponent(_objectSpread$5(_objectSpread$5({}, __default__$4$2), {}, {
|
|
props: {
|
|
title: {
|
|
type: [String, Boolean, Function]
|
|
}
|
|
},
|
|
setup: function setup3(__props) {
|
|
var renderContent = function renderContent2(content) {
|
|
if (typeof content === "function") {
|
|
return content();
|
|
}
|
|
return content;
|
|
};
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$4$1, toDisplayString$1(renderContent(__props.title)), 1);
|
|
};
|
|
}
|
|
}));
|
|
function ownKeys$4(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread$4(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$4(Object(source), true).forEach(function(key) {
|
|
_defineProperty$2(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
var __default__$3$2 = {
|
|
name: "CloseBtn"
|
|
};
|
|
var _sfc_main$4$1 = defineComponent(_objectSpread$4(_objectSpread$4({}, __default__$3$2), {}, {
|
|
props: {
|
|
closeBtn: {
|
|
type: [Number, String, Boolean]
|
|
}
|
|
},
|
|
emits: ["closeHandle"],
|
|
setup: function setup4(__props, _ref) {
|
|
var emit = _ref.emit;
|
|
var closeHandle = function closeHandle2() {
|
|
emit("closeHandle");
|
|
};
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("a", {
|
|
class: normalizeClass(["layui-layer-ico layui-layer-close layui-layer-close" + __props.closeBtn]),
|
|
href: "javascript:;",
|
|
onClick: closeHandle
|
|
}, null, 2);
|
|
};
|
|
}
|
|
}));
|
|
var _export_sfc$1 = (sfc, props) => {
|
|
const target = sfc.__vccOpts || sfc;
|
|
for (const [key, val] of props) {
|
|
target[key] = val;
|
|
}
|
|
return target;
|
|
};
|
|
var _sfc_main$3$1 = {
|
|
name: "Resize"
|
|
};
|
|
var _hoisted_1$3$1 = {
|
|
class: "layui-layer-resize"
|
|
};
|
|
function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) {
|
|
return openBlock(), createElementBlock("span", _hoisted_1$3$1);
|
|
}
|
|
var Resize = /* @__PURE__ */ _export_sfc$1(_sfc_main$3$1, [["render", _sfc_render$5]]);
|
|
function ownKeys$3(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread$3(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$3(Object(source), true).forEach(function(key) {
|
|
_defineProperty$2(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
var _hoisted_1$2$1 = {
|
|
class: "layui-layer-phimg"
|
|
};
|
|
var _hoisted_2$2$1 = ["src"];
|
|
var _hoisted_3$2$1 = {
|
|
key: 0,
|
|
class: "layui-layer-imgsee"
|
|
};
|
|
var _hoisted_4$1$1 = {
|
|
key: 0,
|
|
class: "layui-layer-imguide"
|
|
};
|
|
var _hoisted_5$q = {
|
|
key: 0,
|
|
class: "thumb-row"
|
|
};
|
|
var _hoisted_6$k = ["onClick"];
|
|
var _hoisted_7$h = ["src"];
|
|
var _hoisted_8$d = {
|
|
key: 1,
|
|
class: "layui-layer-imgtit"
|
|
};
|
|
var _hoisted_9$a = {
|
|
key: 0
|
|
};
|
|
var _hoisted_10$a = {
|
|
key: 1
|
|
};
|
|
var __default__$2$2 = {
|
|
name: "Photos"
|
|
};
|
|
var _sfc_main$2$1 = defineComponent(_objectSpread$3(_objectSpread$3({}, __default__$2$2), {}, {
|
|
props: {
|
|
imgList: null,
|
|
startIndex: {
|
|
default: 0
|
|
}
|
|
},
|
|
emits: ["resetCalculationPohtosArea"],
|
|
setup: function setup5(__props, _ref) {
|
|
var emit = _ref.emit;
|
|
var props = __props;
|
|
var index2 = ref(props.startIndex);
|
|
watch(index2, function() {
|
|
emit("resetCalculationPohtosArea", index2.value);
|
|
});
|
|
var changeIndex = function changeIndex2(step) {
|
|
var nowIndex = index2.value;
|
|
var next = nowIndex + step;
|
|
if (next < 0) {
|
|
next = props.imgList.length - 1;
|
|
}
|
|
if (next >= props.imgList.length) {
|
|
next = 0;
|
|
}
|
|
index2.value = next;
|
|
};
|
|
var showLayerImgBar = ref(false);
|
|
onMounted(function() {
|
|
nextTick(function() {
|
|
showLayerImgBar.value = true;
|
|
});
|
|
});
|
|
var ifSetThumb = computed$1(function() {
|
|
var res = false;
|
|
props.imgList.forEach(function(e) {
|
|
if (e.thumb) {
|
|
res = true;
|
|
}
|
|
});
|
|
return res;
|
|
});
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$2$1, [createElementVNode("img", {
|
|
src: __props.imgList[index2.value].src
|
|
}, null, 8, _hoisted_2$2$1), __props.imgList.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_3$2$1, [__props.imgList.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_4$1$1, [createElementVNode("a", {
|
|
href: "javascript:;",
|
|
class: "layui-layer-iconext layui-layer-imgprev",
|
|
onClick: _cache[0] || (_cache[0] = function($event) {
|
|
return changeIndex(-1);
|
|
})
|
|
}), createElementVNode("a", {
|
|
href: "javascript:;",
|
|
class: "layui-layer-iconext layui-layer-imgnext",
|
|
onClick: _cache[1] || (_cache[1] = function($event) {
|
|
return changeIndex(1);
|
|
})
|
|
})])) : createCommentVNode("", true), __props.imgList.length > 1 || __props.imgList[index2.value].alt ? (openBlock(), createElementBlock("div", {
|
|
key: 1,
|
|
class: "layui-layer-imgbar",
|
|
style: normalizeStyle({
|
|
opacity: showLayerImgBar.value ? 1 : 0
|
|
})
|
|
}, [unref(ifSetThumb) ? (openBlock(), createElementBlock("div", _hoisted_5$q, [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.imgList, function(item, i) {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: "thumb-box",
|
|
key: "thumb-box" + i,
|
|
onClick: function onClick($event) {
|
|
return index2.value = i;
|
|
}
|
|
}, [createElementVNode("img", {
|
|
src: item.thumb
|
|
}, null, 8, _hoisted_7$h)], 8, _hoisted_6$k);
|
|
}), 128)), createElementVNode("div", {
|
|
class: "thumb-box-border",
|
|
style: normalizeStyle({
|
|
left: "calc(calc( calc(100% - ".concat(100 * __props.imgList.length, "px) / 2) + ").concat(index2.value * 100, "px)")
|
|
})
|
|
}, null, 4)])) : (openBlock(), createElementBlock("span", _hoisted_8$d, [__props.imgList[index2.value].alt ? (openBlock(), createElementBlock("span", _hoisted_9$a, toDisplayString$1(__props.imgList[index2.value].alt), 1)) : createCommentVNode("", true), __props.imgList.length > 1 ? (openBlock(), createElementBlock("em", _hoisted_10$a, toDisplayString$1(index2.value + 1) + " / " + toDisplayString$1(__props.imgList.length), 1)) : createCommentVNode("", true)]))], 4)) : createCommentVNode("", true)])) : createCommentVNode("", true)]);
|
|
};
|
|
}
|
|
}));
|
|
function ownKeys$2(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread$2(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$2(Object(source), true).forEach(function(key) {
|
|
_defineProperty$2(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
var _hoisted_1$1$1 = {
|
|
class: "title"
|
|
};
|
|
var _hoisted_2$1$1 = {
|
|
key: 0,
|
|
class: "content"
|
|
};
|
|
var _hoisted_3$1$1 = ["innerHTML"];
|
|
var __default__$1$2 = {
|
|
name: "Notifiy"
|
|
};
|
|
var _sfc_main$1$1 = defineComponent(_objectSpread$2(_objectSpread$2({}, __default__$1$2), {}, {
|
|
props: {
|
|
title: null,
|
|
content: null,
|
|
isHtmlFragment: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
icon: null,
|
|
iconClass: null
|
|
},
|
|
emits: ["close"],
|
|
setup: function setup6(__props, _ref) {
|
|
var emit = _ref.emit;
|
|
var notifyRef = shallowRef(null);
|
|
var close2 = function close3() {
|
|
emit("close");
|
|
};
|
|
function addClass2(obj, cls) {
|
|
var obj_class = obj.className, blank = obj_class != "" ? " " : "";
|
|
var added = obj_class + blank + cls;
|
|
obj.className = added;
|
|
}
|
|
onMounted(function() {
|
|
nextTick(function() {
|
|
setTimeout(function() {
|
|
var _notifyRef$value, _notifyRef$value$pare, _notifyRef$value2, _notifyRef$value2$par;
|
|
if (!((_notifyRef$value = notifyRef.value) !== null && _notifyRef$value !== void 0 && (_notifyRef$value$pare = _notifyRef$value.parentElement) !== null && _notifyRef$value$pare !== void 0 && _notifyRef$value$pare.parentElement))
|
|
return;
|
|
addClass2((_notifyRef$value2 = notifyRef.value) === null || _notifyRef$value2 === void 0 ? void 0 : (_notifyRef$value2$par = _notifyRef$value2.parentElement) === null || _notifyRef$value2$par === void 0 ? void 0 : _notifyRef$value2$par.parentElement, "layui-layer-notifiy-transition");
|
|
}, 300);
|
|
});
|
|
});
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: "layui-layer-notifiy-wrapper",
|
|
ref_key: "notifyRef",
|
|
ref: notifyRef
|
|
}, [createElementVNode("h2", _hoisted_1$1$1, [__props.icon ? (openBlock(), createElementBlock("i", {
|
|
key: 0,
|
|
class: normalizeClass(__props.iconClass)
|
|
}, null, 2)) : createCommentVNode("", true), createTextVNode(" " + toDisplayString$1(__props.title), 1)]), !__props.isHtmlFragment ? (openBlock(), createElementBlock("div", _hoisted_2$1$1, [createElementVNode("p", null, toDisplayString$1(__props.content), 1)])) : (openBlock(), createElementBlock("div", {
|
|
key: 1,
|
|
class: "content",
|
|
innerHTML: __props.content
|
|
}, null, 8, _hoisted_3$1$1)), createVNode(_sfc_main$4$1, {
|
|
onClick: close2
|
|
})], 512);
|
|
};
|
|
}
|
|
}));
|
|
function _arrayLikeToArray$1(arr, len) {
|
|
if (len == null || len > arr.length)
|
|
len = arr.length;
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++) {
|
|
arr2[i] = arr[i];
|
|
}
|
|
return arr2;
|
|
}
|
|
function _arrayWithoutHoles$1(arr) {
|
|
if (Array.isArray(arr))
|
|
return _arrayLikeToArray$1(arr);
|
|
}
|
|
function _iterableToArray$1(iter) {
|
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
return Array.from(iter);
|
|
}
|
|
function _unsupportedIterableToArray$1(o, minLen) {
|
|
if (!o)
|
|
return;
|
|
if (typeof o === "string")
|
|
return _arrayLikeToArray$1(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
if (n === "Object" && o.constructor)
|
|
n = o.constructor.name;
|
|
if (n === "Map" || n === "Set")
|
|
return Array.from(o);
|
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
|
return _arrayLikeToArray$1(o, minLen);
|
|
}
|
|
function _nonIterableSpread$1() {
|
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
function _toConsumableArray$1(arr) {
|
|
return _arrayWithoutHoles$1(arr) || _iterableToArray$1(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread$1();
|
|
}
|
|
function nextId() {
|
|
var s = [];
|
|
var hexDigits = "0123456789abcdef";
|
|
for (var i = 0; i < 36; i++) {
|
|
s[i] = hexDigits.substr(Math.floor(Math.random() * 16), 1);
|
|
}
|
|
s[14] = "4";
|
|
s[19] = hexDigits.substr(s[19] & 3 | 8, 1);
|
|
s[8] = s[13] = s[18] = s[23] = "-";
|
|
var uuid = s.join("");
|
|
return uuid;
|
|
}
|
|
function calculateArea(type4, area, offset) {
|
|
return type4 != "drawer" ? calculateBaseArea(area) : calculateDrawerArea(offset, area);
|
|
}
|
|
function calculateBaseArea(area) {
|
|
if (area === "auto") {
|
|
return [];
|
|
}
|
|
if (typeof area == "string") {
|
|
return [area];
|
|
}
|
|
return _toConsumableArray$1(area);
|
|
}
|
|
function calculateDrawerArea(offset) {
|
|
var drawerArea = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "30%";
|
|
if (drawerArea instanceof Array) {
|
|
return drawerArea;
|
|
}
|
|
if (drawerArea === "auto") {
|
|
drawerArea = "30%";
|
|
}
|
|
if (offset === "l" || offset === "r") {
|
|
return [drawerArea, "100%"];
|
|
} else if (offset === "t" || offset === "b") {
|
|
return ["100%", drawerArea];
|
|
}
|
|
return [drawerArea, "100%"];
|
|
}
|
|
function calculateOffset(offset, area, type4) {
|
|
var arr = ["t", "r", "b", "l", "lt", "lb", "rt", "rb"];
|
|
var t = offset[0];
|
|
var l = offset[1];
|
|
if (offset instanceof Array && type4 === "drawer") {
|
|
offset = "r";
|
|
}
|
|
if (arr.indexOf(offset) > -1) {
|
|
t = "50%";
|
|
l = "50%";
|
|
}
|
|
if (arr.indexOf(offset) != -1 || t.indexOf("%") > -1)
|
|
t = "calc(" + t + " - (" + (area === "auto" ? "100px" : area[1]) + "/2 ))";
|
|
if (arr.indexOf(offset) != -1 || l.indexOf("%") > -1)
|
|
l = "calc(" + l + " - (" + (area === "auto" ? "100px" : area[0]) + "/2 ))";
|
|
if (offset === "t")
|
|
t = "0px";
|
|
else if (offset === "r")
|
|
l = "calc(100% - " + area[0] + ")";
|
|
else if (offset === "b")
|
|
t = "calc(100% - " + area[1] + ")";
|
|
else if (offset === "l")
|
|
l = "0px";
|
|
else if (offset === "lt") {
|
|
t = "0px";
|
|
l = "0px";
|
|
} else if (offset === "lb") {
|
|
t = "calc(100% - " + area[1] + ")";
|
|
l = "0px";
|
|
} else if (offset === "rt") {
|
|
t = "0px";
|
|
l = "calc(100% - " + area[0] + ")";
|
|
} else if (offset === "rb") {
|
|
t = "calc(100% - " + area[1] + ")";
|
|
l = "calc(100% - " + area[0] + ")";
|
|
}
|
|
return [t, l];
|
|
}
|
|
function calculateType(modalType) {
|
|
if (modalType === "dialog" || modalType == 0) {
|
|
return 0;
|
|
} else if (modalType === "page" || modalType == 1) {
|
|
return 1;
|
|
} else if (modalType === "iframe" || modalType == 2) {
|
|
return 2;
|
|
} else if (modalType === "loading" || modalType == 3) {
|
|
return 3;
|
|
} else if (modalType === "drawer" || modalType == 4) {
|
|
return 4;
|
|
} else if (modalType === "photos" || modalType == 5) {
|
|
return 5;
|
|
} else if (modalType === "notifiy" || modalType == 6) {
|
|
return 6;
|
|
}
|
|
return 0;
|
|
}
|
|
function calculateContent(title2, height, btn, type4, isMessage) {
|
|
if (height && height.indexOf("%") != -1) {
|
|
height = "100%";
|
|
}
|
|
if (btn && btn.length > 0) {
|
|
if (type4 == 0) {
|
|
if (title2) {
|
|
return "calc(" + height + " - 137px)";
|
|
} else {
|
|
return "calc(" + height + " - 86px)";
|
|
}
|
|
}
|
|
if (type4 == 1 || type4 == 4) {
|
|
if (title2) {
|
|
return "calc(" + height + " - 102px)";
|
|
} else {
|
|
return "calc(" + height + " - 51px)";
|
|
}
|
|
}
|
|
if (type4 == 2) {
|
|
if (title2) {
|
|
return "calc(" + height + " - 102px)";
|
|
} else {
|
|
return "calc(" + height + " - 51px)";
|
|
}
|
|
}
|
|
} else {
|
|
if (type4 == 0) {
|
|
if (title2) {
|
|
return isMessage ? "" : "calc(" + height + " - 137px)";
|
|
} else {
|
|
return isMessage ? "" : "calc(" + height + " - 86px)";
|
|
}
|
|
}
|
|
if (type4 == 1 || type4 == 4) {
|
|
if (title2) {
|
|
return "calc(" + height + " - 51px)";
|
|
} else {
|
|
return "calc(" + height + " - 0px)";
|
|
}
|
|
}
|
|
if (type4 == 2) {
|
|
if (title2) {
|
|
return "calc(" + height + " - 51px)";
|
|
} else {
|
|
return "calc(" + height + " - 0px)";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function maxArea() {
|
|
return {
|
|
w: "100%",
|
|
h: "100%"
|
|
};
|
|
}
|
|
function maxOffset() {
|
|
return {
|
|
t: "0px",
|
|
l: "0px"
|
|
};
|
|
}
|
|
function minArea() {
|
|
return {
|
|
w: "180px",
|
|
h: "51px"
|
|
};
|
|
}
|
|
function minOffset(left) {
|
|
return {
|
|
t: "calc(100% - 51px)",
|
|
l: left + "px"
|
|
};
|
|
}
|
|
function getArea(dom) {
|
|
var width = getComputedStyle(dom, null).width;
|
|
var height = getComputedStyle(dom, null).height;
|
|
return [width, height];
|
|
}
|
|
var minArrays = [];
|
|
function updateMinArrays(id, state) {
|
|
var i = 0;
|
|
if (state) {
|
|
var index2 = minArrays.findIndex(function(v) {
|
|
return v === void 0;
|
|
});
|
|
if (index2 === -1) {
|
|
minArrays.push(id);
|
|
i = minArrays.length - 1;
|
|
} else {
|
|
minArrays[index2] = id;
|
|
i = index2;
|
|
}
|
|
} else {
|
|
delete minArrays[minArrays.findIndex(function(v) {
|
|
return v == id;
|
|
})];
|
|
i = -1;
|
|
}
|
|
return i;
|
|
}
|
|
function getDrawerAnimationClass(offset) {
|
|
var isClose = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
var prefix = "layer-drawer-anim layer-anim";
|
|
var suffix = "rl";
|
|
if (offset === "l") {
|
|
suffix = "lr";
|
|
} else if (offset === "r") {
|
|
suffix = "rl";
|
|
} else if (offset === "t") {
|
|
suffix = "tb";
|
|
} else if (offset === "b") {
|
|
suffix = "bt";
|
|
}
|
|
return isClose ? "".concat(prefix, "-").concat(suffix, "-close") : "".concat(prefix, "-").concat(suffix);
|
|
}
|
|
function calculatePhotosArea(_x, _x2) {
|
|
return _calculatePhotosArea.apply(this, arguments);
|
|
}
|
|
function _calculatePhotosArea() {
|
|
_calculatePhotosArea = _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee(url2, options) {
|
|
var img, area;
|
|
return regenerator.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
area = function _area(img2) {
|
|
var imgarea = [img2.width, img2.height];
|
|
var winarea = [window.innerWidth - 250, window.innerHeight - 250];
|
|
if (imgarea[0] > winarea[0] || imgarea[1] > winarea[1]) {
|
|
var wh = [imgarea[0] / winarea[0], imgarea[1] / winarea[1]];
|
|
if (wh[0] > wh[1]) {
|
|
imgarea[0] = imgarea[0] / wh[0];
|
|
imgarea[1] = imgarea[1] / wh[0];
|
|
} else if (wh[0] < wh[1]) {
|
|
imgarea[0] = imgarea[0] / wh[1];
|
|
imgarea[1] = imgarea[1] / wh[1];
|
|
}
|
|
}
|
|
return [imgarea[0] + "px", imgarea[1] + "px"];
|
|
};
|
|
img = new Image();
|
|
img.src = url2;
|
|
return _context.abrupt("return", new Promise(function(resolve, reject) {
|
|
if (img.complete) {
|
|
resolve(area(img));
|
|
return;
|
|
}
|
|
var layerId = layer.load(2);
|
|
img.onload = function() {
|
|
layer.close(layerId);
|
|
resolve(area(img));
|
|
};
|
|
img.onerror = function() {
|
|
layer.close(layerId);
|
|
layer.msg("\u56FE\u7247\u52A0\u8F7D\u5931\u8D25");
|
|
reject(false);
|
|
};
|
|
}));
|
|
case 4:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee);
|
|
}));
|
|
return _calculatePhotosArea.apply(this, arguments);
|
|
}
|
|
function calculateNotifOffset(offset, area, layerId) {
|
|
var arr = ["lt", "lb", "rt", "rb"];
|
|
var t = "0", l = "0";
|
|
var transOffsetLeft = 15;
|
|
var transOffsetTop = 15;
|
|
window.NotifiyQueen = window.NotifiyQueen || [];
|
|
var notifiyQueen = window.NotifiyQueen;
|
|
if (typeof offset != "string" || arr.indexOf(offset) === -1) {
|
|
offset = "rt";
|
|
}
|
|
var nodeList = notifiyQueen.filter(function(e) {
|
|
if (e.offset === offset) {
|
|
return e;
|
|
}
|
|
});
|
|
var prevNode = nodeList.length > 0 ? nodeList[nodeList.length - 1] : null;
|
|
if (prevNode) {
|
|
var _document$getElementB, _document$getElementB2;
|
|
prevNode = (_document$getElementB = document.getElementById(prevNode["id"])) === null || _document$getElementB === void 0 ? void 0 : (_document$getElementB2 = _document$getElementB.firstElementChild) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.firstElementChild;
|
|
if (offset === "rt" || offset === "lt") {
|
|
transOffsetTop += prevNode.offsetHeight + parseFloat(prevNode.style["top"]);
|
|
} else {
|
|
var bottom = parseFloat(prevNode.style["top"].split(" - ")[1]);
|
|
transOffsetTop += prevNode.offsetHeight + bottom;
|
|
}
|
|
} else {
|
|
if (offset === "rb" || offset === "lb") {
|
|
transOffsetTop += parseFloat(area[1]);
|
|
}
|
|
}
|
|
if (offset === "rt") {
|
|
t = transOffsetTop + "px";
|
|
l = "calc(100% - " + (parseFloat(area[0]) + transOffsetLeft) + "px)";
|
|
} else if (offset === "rb") {
|
|
t = "calc(100vh - " + transOffsetTop + "px)";
|
|
l = "calc(100% - " + (parseFloat(area[0]) + transOffsetLeft) + "px)";
|
|
} else if (offset === "lt") {
|
|
t = transOffsetTop + "px";
|
|
l = transOffsetLeft + "px";
|
|
} else if (offset === "lb") {
|
|
t = "calc(100vh - " + transOffsetTop + "px)";
|
|
l = transOffsetLeft + "px";
|
|
}
|
|
notifiyQueen.push({
|
|
id: layerId,
|
|
offset
|
|
});
|
|
return [t, l];
|
|
}
|
|
function removeNotifiyFromQueen(layerId) {
|
|
var _document$getElementB3, _document$getElementB4;
|
|
var transOffsetTop = 15;
|
|
var notifiyDom = (_document$getElementB3 = document.getElementById(layerId)) === null || _document$getElementB3 === void 0 ? void 0 : (_document$getElementB4 = _document$getElementB3.firstElementChild) === null || _document$getElementB4 === void 0 ? void 0 : _document$getElementB4.firstElementChild;
|
|
var offsetHeight = notifiyDom.offsetHeight;
|
|
window.NotifiyQueen = window.NotifiyQueen || [];
|
|
var notifiyQueen = window.NotifiyQueen;
|
|
var index2 = notifiyQueen.findIndex(function(e) {
|
|
return e.id === layerId;
|
|
});
|
|
var offsetType = notifiyQueen[index2].offset;
|
|
var list = notifiyQueen.filter(function(e) {
|
|
if (e.offset === offsetType) {
|
|
return e;
|
|
}
|
|
});
|
|
var findIndex = list.findIndex(function(e) {
|
|
return e.id === layerId;
|
|
});
|
|
var needCalculatelist = list.slice(findIndex + 1);
|
|
needCalculatelist.forEach(function(e) {
|
|
var _document$getElementB5, _document$getElementB6;
|
|
var dom = (_document$getElementB5 = document.getElementById(e.id)) === null || _document$getElementB5 === void 0 ? void 0 : (_document$getElementB6 = _document$getElementB5.firstElementChild) === null || _document$getElementB6 === void 0 ? void 0 : _document$getElementB6.firstElementChild;
|
|
if (offsetType === "rt" || offsetType === "lt") {
|
|
dom.style["top"] = parseFloat(dom.style["top"]) - transOffsetTop - offsetHeight + "px";
|
|
} else {
|
|
var bottom = parseFloat(dom.style["top"].split(" - ")[1]) - transOffsetTop - offsetHeight;
|
|
dom.style["top"] = "calc(100vh - " + bottom + "px)";
|
|
}
|
|
});
|
|
notifiyQueen.splice(index2, 1);
|
|
}
|
|
function getNotifyAnimationClass(offset) {
|
|
var prefix = "layer-drawer-anim layer-anim";
|
|
var suffix = "";
|
|
if (offset === "lt" || offset === "lb") {
|
|
suffix = "lr";
|
|
} else {
|
|
suffix = "rl";
|
|
}
|
|
return "".concat(prefix, "-").concat(suffix);
|
|
}
|
|
var useMove$1 = function useMove(el, callback) {
|
|
if (el != null) {
|
|
el.addEventListener("mousedown", function(event) {
|
|
var path = event.composedPath && event.composedPath() || event.path;
|
|
if (path[0].className === "layui-layer-resize") {
|
|
if (event.button == 0 && el != null) {
|
|
var x = el.offsetLeft;
|
|
var y = el.offsetTop;
|
|
var move2 = function move22(moveEvent) {
|
|
if (el != null) {
|
|
var offsetX = moveEvent.clientX;
|
|
var offsetY = moveEvent.clientY;
|
|
var w = offsetX - x;
|
|
var h2 = offsetY - y;
|
|
w < 260 && (w = 260);
|
|
h2 < 115 && (h2 = 115);
|
|
el.style.width = "".concat(w, "px");
|
|
el.style.height = "".concat(h2, "px");
|
|
callback(el.style.width, el.style.height);
|
|
}
|
|
return false;
|
|
};
|
|
document.addEventListener("mousemove", move2);
|
|
var stop = function stop2() {
|
|
document.removeEventListener("mousemove", move2);
|
|
document.removeEventListener("mouseup", stop2);
|
|
};
|
|
document.addEventListener("mouseup", stop);
|
|
}
|
|
}
|
|
return false;
|
|
});
|
|
}
|
|
};
|
|
var useMove2 = function useMove3(el, callback) {
|
|
el.style.position = "fixed";
|
|
var offsetX;
|
|
var offsetY;
|
|
if (el != null) {
|
|
el.addEventListener("mousedown", function(event) {
|
|
var path = event.composedPath && event.composedPath() || event.path;
|
|
if (path[0].className === "layui-layer-title") {
|
|
if (event.button == 0 && el != null) {
|
|
var lexObj = getComputedStyle(el);
|
|
offsetX = event.pageX - el.offsetLeft + parseInt(lexObj["margin-left"]);
|
|
offsetY = event.pageY - el.offsetTop + parseInt(lexObj["margin-right"]);
|
|
var move2 = function move22(event2) {
|
|
if (el != null) {
|
|
var x = event2.pageX - offsetX;
|
|
var y = event2.pageY - offsetY;
|
|
if (x < 0) {
|
|
x = 0;
|
|
} else if (x > document.documentElement.clientWidth - el.offsetWidth) {
|
|
x = document.documentElement.clientWidth - el.offsetWidth;
|
|
}
|
|
if (y < 0) {
|
|
y = 0;
|
|
} else if (y > document.documentElement.clientHeight - el.offsetHeight) {
|
|
y = document.documentElement.clientHeight - el.offsetHeight;
|
|
}
|
|
el.style.left = "".concat(x, "px");
|
|
el.style.top = "".concat(y, "px");
|
|
callback(el.style.left, el.style.top);
|
|
}
|
|
return false;
|
|
};
|
|
document.addEventListener("mousemove", move2);
|
|
var stop = function stop2() {
|
|
document.removeEventListener("mousemove", move2);
|
|
document.removeEventListener("mouseup", stop2);
|
|
};
|
|
document.addEventListener("mouseup", stop);
|
|
}
|
|
}
|
|
return false;
|
|
});
|
|
}
|
|
};
|
|
var zIndexKey = Symbol("zIndex");
|
|
function ownKeys$1$1(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread$1(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$1$1(Object(source), true).forEach(function(key) {
|
|
_defineProperty$2(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1$1(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
var _hoisted_1$19 = ["innerHTML"];
|
|
var _hoisted_2$S = {
|
|
key: 1,
|
|
class: "layui-layer-setwin"
|
|
};
|
|
var _hoisted_3$L = {
|
|
key: 0
|
|
};
|
|
var _hoisted_4$A = ["onClick"];
|
|
var __default__$2G = {
|
|
name: "LayLayer"
|
|
};
|
|
var _sfc_main$1I = defineComponent(_objectSpread$1(_objectSpread$1({}, __default__$2G), {}, {
|
|
props: {
|
|
id: null,
|
|
title: {
|
|
type: [String, Boolean, Function],
|
|
default: "\u6807\u9898"
|
|
},
|
|
icon: null,
|
|
skin: null,
|
|
zIndex: null,
|
|
setTop: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
offset: {
|
|
default: function _default() {
|
|
return ["50%", "50%"];
|
|
}
|
|
},
|
|
area: {
|
|
default: "auto"
|
|
},
|
|
modelValue: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
maxmin: {
|
|
type: [Boolean, String],
|
|
default: false
|
|
},
|
|
btn: {
|
|
type: [Array, Boolean]
|
|
},
|
|
move: {
|
|
type: [Boolean, String],
|
|
default: true
|
|
},
|
|
resize: {
|
|
type: [Boolean, String],
|
|
default: false
|
|
},
|
|
type: {
|
|
default: 1
|
|
},
|
|
content: null,
|
|
isHtmlFragment: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
shade: {
|
|
type: [Boolean, String],
|
|
default: true
|
|
},
|
|
shadeClose: {
|
|
type: [Boolean, String],
|
|
default: true
|
|
},
|
|
shadeOpacity: {
|
|
default: "0.1"
|
|
},
|
|
closeBtn: {
|
|
type: [Boolean, String],
|
|
default: "1"
|
|
},
|
|
btnAlign: {
|
|
default: "r"
|
|
},
|
|
time: {
|
|
default: 0
|
|
},
|
|
load: {
|
|
default: 0
|
|
},
|
|
anim: {
|
|
default: 0
|
|
},
|
|
isOutAnim: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
destroy: {
|
|
type: Function,
|
|
default: function _default2() {
|
|
}
|
|
},
|
|
success: {
|
|
type: Function,
|
|
default: function _default3() {
|
|
}
|
|
},
|
|
end: {
|
|
type: Function,
|
|
default: function _default4() {
|
|
}
|
|
},
|
|
yes: null,
|
|
yesText: {
|
|
default: "\u786E\u5B9A"
|
|
},
|
|
isFunction: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
isMessage: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
appContext: null,
|
|
startIndex: {
|
|
default: 0
|
|
},
|
|
imgList: {
|
|
default: function _default5() {
|
|
return [];
|
|
}
|
|
},
|
|
min: {
|
|
type: Function,
|
|
default: function _default6() {
|
|
}
|
|
},
|
|
full: {
|
|
type: Function,
|
|
default: function _default7() {
|
|
}
|
|
},
|
|
restore: {
|
|
type: Function,
|
|
default: function _default8() {
|
|
}
|
|
}
|
|
},
|
|
emits: ["close", "update:modelValue"],
|
|
setup: function setup7(__props, _ref) {
|
|
var _props$zIndex;
|
|
var expose = _ref.expose, emit = _ref.emit;
|
|
var props = __props;
|
|
var slots = useSlots();
|
|
var max = ref(false);
|
|
var min = ref(false);
|
|
var id = ref(props.id || nextId());
|
|
var layero = ref(null);
|
|
var type4 = calculateType(props.type);
|
|
var area = ref(calculateArea(props.type, props.area, props.offset));
|
|
var offset = ref(calculateOffset(props.offset, area.value, props.type));
|
|
var contentHeight = ref(calculateContent(props.title, area.value[1], props.btn, type4, props.isMessage));
|
|
var index2 = ref((_props$zIndex = props.zIndex) !== null && _props$zIndex !== void 0 ? _props$zIndex : inject(zIndexKey, 99999));
|
|
var visible = ref(false);
|
|
var first = ref(true);
|
|
var w = ref(area.value[0]);
|
|
var h2 = ref(area.value[1]);
|
|
var t = ref(offset.value[0]);
|
|
var l = ref(offset.value[1]);
|
|
var _w = ref(area.value[0]);
|
|
var _h = ref(area.value[0]);
|
|
var _t = ref(offset.value[0]);
|
|
var _l = ref(offset.value[1]);
|
|
var firstOpenDelayCalculation = function firstOpenDelayCalculation2() {
|
|
nextTick(/* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee() {
|
|
return regenerator.wrap(function _callee$(_context) {
|
|
while (1) {
|
|
switch (_context.prev = _context.next) {
|
|
case 0:
|
|
area.value = getArea(layero.value);
|
|
if (type4 == 4) {
|
|
area.value = calculateDrawerArea(props.offset, props.area);
|
|
}
|
|
if (!(type4 == 5)) {
|
|
_context.next = 6;
|
|
break;
|
|
}
|
|
_context.next = 5;
|
|
return calculatePhotosArea(props.imgList[props.startIndex].src, props);
|
|
case 5:
|
|
area.value = _context.sent;
|
|
case 6:
|
|
offset.value = calculateOffset(props.offset, area.value, props.type);
|
|
if (type4 == 6) {
|
|
offset.value = calculateNotifOffset(props.offset, area.value, id.value);
|
|
}
|
|
w.value = area.value[0];
|
|
h2.value = area.value[1];
|
|
_w.value = area.value[0];
|
|
_l.value = area.value[1];
|
|
t.value = offset.value[0];
|
|
l.value = offset.value[1];
|
|
_t.value = offset.value[0];
|
|
_l.value = offset.value[1];
|
|
supportMove();
|
|
case 17:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}
|
|
}, _callee);
|
|
})));
|
|
};
|
|
var notFirstOpenLayerInit = function notFirstOpenLayerInit2() {
|
|
w.value = _w.value;
|
|
h2.value = _h.value;
|
|
t.value = _t.value;
|
|
l.value = _l.value;
|
|
supportMove();
|
|
};
|
|
var beforeCloseSaveData = function beforeCloseSaveData2() {
|
|
if (min.value)
|
|
minHandle();
|
|
if (max.value)
|
|
maxHandle();
|
|
_w.value = w.value;
|
|
_h.value = h2.value;
|
|
_t.value = t.value;
|
|
_l.value = l.value;
|
|
};
|
|
var maxHandle = function maxHandle2() {
|
|
if (max.value) {
|
|
w.value = _w.value;
|
|
h2.value = _h.value;
|
|
t.value = _t.value;
|
|
l.value = _l.value;
|
|
props.restore(props.id);
|
|
} else {
|
|
_t.value = t.value;
|
|
_l.value = l.value;
|
|
_w.value = w.value;
|
|
_h.value = h2.value;
|
|
w.value = maxArea().w;
|
|
h2.value = maxArea().h;
|
|
t.value = maxOffset().t;
|
|
l.value = maxOffset().l;
|
|
props.full(props.id);
|
|
}
|
|
max.value = !max.value;
|
|
};
|
|
var minHandle = function minHandle2() {
|
|
var left = 180 * updateMinArrays(id.value, !min.value);
|
|
if (left > document.documentElement.clientWidth - 180) {
|
|
left = document.documentElement.clientWidth - 180;
|
|
}
|
|
if (min.value) {
|
|
w.value = _w.value;
|
|
h2.value = _h.value;
|
|
t.value = _t.value;
|
|
l.value = _l.value;
|
|
props.restore(props.id);
|
|
} else {
|
|
_w.value = w.value;
|
|
_h.value = h2.value;
|
|
_t.value = t.value;
|
|
_l.value = l.value;
|
|
h2.value = minArea().h;
|
|
w.value = minArea().w;
|
|
t.value = minOffset(left).t;
|
|
l.value = minOffset(left).l;
|
|
props.min(props.id);
|
|
}
|
|
min.value = !min.value;
|
|
};
|
|
var reset22 = function reset3() {
|
|
if (!first.value) {
|
|
min.value = false;
|
|
max.value = false;
|
|
w.value = area.value[0];
|
|
h2.value = area.value[1];
|
|
t.value = offset.value[0];
|
|
l.value = offset.value[1];
|
|
_w.value = area.value[0];
|
|
_h.value = area.value[1];
|
|
_t.value = offset.value[0];
|
|
_l.value = offset.value[1];
|
|
}
|
|
if (!props.modelValue) {
|
|
emit("update:modelValue", true);
|
|
}
|
|
};
|
|
watch(function() {
|
|
return props.modelValue;
|
|
}, function() {
|
|
visible.value = props.modelValue;
|
|
if (visible.value) {
|
|
if (first.value) {
|
|
first.value = false;
|
|
firstOpenDelayCalculation();
|
|
} else {
|
|
notFirstOpenLayerInit();
|
|
}
|
|
} else {
|
|
beforeCloseSaveData();
|
|
}
|
|
}, {
|
|
deep: true,
|
|
immediate: true
|
|
});
|
|
watch(function() {
|
|
return visible.value;
|
|
}, function() {
|
|
if (visible.value) {
|
|
if (props.isFunction) {
|
|
firstOpenDelayCalculation();
|
|
}
|
|
props.success();
|
|
}
|
|
}, {
|
|
immediate: true
|
|
});
|
|
watch(function() {
|
|
return visible.value;
|
|
}, function() {
|
|
if (!visible.value) {
|
|
props.end();
|
|
}
|
|
});
|
|
watch(function() {
|
|
return h2.value;
|
|
}, function() {
|
|
contentHeight.value = calculateContent(props.title, h2.value, props.btn, type4, props.isMessage);
|
|
});
|
|
var boxClasses = computed$1(function() {
|
|
return [{
|
|
"layui-layer-dialog": type4 === 0,
|
|
"layui-layer-page": type4 === 1,
|
|
"layui-layer-iframe": type4 === 2,
|
|
"layui-layer-loading": type4 === 3,
|
|
"layui-layer-drawer": type4 === 4,
|
|
"layui-layer-photos": type4 === 5,
|
|
"layui-layer-notifiy": type4 === 6,
|
|
"layui-layer-msg": props.isMessage,
|
|
"layui-layer-hui": props.isMessage && !props.icon
|
|
}, props.skin];
|
|
});
|
|
var supportMove = function supportMove2() {
|
|
if (props.move && type4 != 4) {
|
|
nextTick(function() {
|
|
if (!layero.value)
|
|
return;
|
|
useMove2(layero.value, function(left, top) {
|
|
l.value = left;
|
|
t.value = top;
|
|
});
|
|
useMove$1(layero.value, function(width, height) {
|
|
h2.value = height;
|
|
w.value = width;
|
|
});
|
|
});
|
|
}
|
|
};
|
|
var styles = computed$1(function() {
|
|
var style = {
|
|
top: t.value,
|
|
left: l.value,
|
|
width: w.value,
|
|
height: h2.value,
|
|
zIndex: index2.value
|
|
};
|
|
return style;
|
|
});
|
|
var contentClasses = computed$1(function() {
|
|
return [type4 === 3 ? "layui-layer-loading".concat(props.load) : "", props.icon ? "layui-layer-padding" : ""];
|
|
});
|
|
var closeHandle = function closeHandle2() {
|
|
emit("close");
|
|
emit("update:modelValue", false);
|
|
props.destroy();
|
|
if (type4 === 6) {
|
|
removeNotifiyFromQueen(props.id);
|
|
}
|
|
};
|
|
var yesHandle = function yesHandle2() {
|
|
if (props.yes != void 0)
|
|
props.yes();
|
|
else
|
|
closeHandle();
|
|
};
|
|
var shadeHandle = function shadeHandle2() {
|
|
if (props.shadeClose)
|
|
closeHandle();
|
|
};
|
|
var renderContent = function renderContent2(content) {
|
|
if (content instanceof Function) {
|
|
return content();
|
|
}
|
|
return content;
|
|
};
|
|
var iconClass = computed$1(function() {
|
|
return ["layui-layer-ico", "layui-layer-ico".concat(props.icon)];
|
|
});
|
|
var enterActiveClass = computed$1(function() {
|
|
if (type4 === 4) {
|
|
return getDrawerAnimationClass(props.offset);
|
|
}
|
|
if (type4 === 6) {
|
|
return getNotifyAnimationClass(props.offset);
|
|
}
|
|
return "layer-anim layer-anim-0".concat(props.anim);
|
|
});
|
|
var leaveActiveClass = computed$1(function() {
|
|
if (type4 === 4) {
|
|
return getDrawerAnimationClass(props.offset, true);
|
|
}
|
|
return props.isOutAnim ? "layer-anim-close" : "";
|
|
});
|
|
var open2 = function open3() {
|
|
visible.value = true;
|
|
};
|
|
var close2 = function close3() {
|
|
visible.value = false;
|
|
};
|
|
var shadeVisible = computed$1(function() {
|
|
return visible.value && props.shade && !min.value;
|
|
});
|
|
var showResize = computed$1(function() {
|
|
return props.resize && !max.value && !min.value;
|
|
});
|
|
var showTitle = computed$1(function() {
|
|
return props.title && props.type != 3 && props.type != 5 && props.type != 6;
|
|
});
|
|
var resetCalculationPohtosArea = function resetCalculationPohtosArea2(index22) {
|
|
nextTick(/* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee2() {
|
|
return regenerator.wrap(function _callee2$(_context2) {
|
|
while (1) {
|
|
switch (_context2.prev = _context2.next) {
|
|
case 0:
|
|
_context2.next = 2;
|
|
return calculatePhotosArea(props.imgList[index22].src, props);
|
|
case 2:
|
|
area.value = _context2.sent;
|
|
offset.value = calculateOffset(props.offset, area.value, props.type);
|
|
w.value = area.value[0];
|
|
h2.value = area.value[1];
|
|
t.value = offset.value[0];
|
|
l.value = offset.value[1];
|
|
_w.value = area.value[0];
|
|
_l.value = area.value[1];
|
|
_t.value = offset.value[0];
|
|
_l.value = offset.value[1];
|
|
case 12:
|
|
case "end":
|
|
return _context2.stop();
|
|
}
|
|
}
|
|
}, _callee2);
|
|
})));
|
|
};
|
|
expose({
|
|
reset: reset22,
|
|
open: open2,
|
|
close: close2
|
|
});
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("div", null, [createVNode(_sfc_main$7$1, {
|
|
index: index2.value,
|
|
visible: unref(shadeVisible),
|
|
opacity: __props.shadeOpacity,
|
|
onShadeClick: shadeHandle
|
|
}, null, 8, ["index", "visible", "opacity"]), createVNode(Transition, {
|
|
"enter-active-class": unref(enterActiveClass),
|
|
"leave-active-class": unref(leaveActiveClass)
|
|
}, {
|
|
default: withCtx(function() {
|
|
return [visible.value ? (openBlock(), createElementBlock("div", {
|
|
key: 0,
|
|
ref_key: "layero",
|
|
ref: layero,
|
|
class: normalizeClass(["layui-layer layui-layer-border", unref(boxClasses)]),
|
|
style: normalizeStyle(unref(styles))
|
|
}, [unref(showTitle) ? (openBlock(), createBlock(_sfc_main$5$1, {
|
|
key: 0,
|
|
title: __props.title
|
|
}, null, 8, ["title"])) : createCommentVNode("", true), createElementVNode("div", {
|
|
class: normalizeClass(["layui-layer-content", unref(contentClasses)]),
|
|
style: normalizeStyle({
|
|
height: contentHeight.value
|
|
})
|
|
}, [unref(type4) === 0 || unref(type4) === 1 || unref(type4) === 4 ? (openBlock(), createElementBlock(Fragment, {
|
|
key: 0
|
|
}, [__props.icon ? (openBlock(), createElementBlock("i", {
|
|
key: 0,
|
|
class: normalizeClass(unref(iconClass))
|
|
}, null, 2)) : createCommentVNode("", true), unref(slots).default ? renderSlot(_ctx.$slots, "default", {
|
|
key: 1
|
|
}) : (openBlock(), createElementBlock(Fragment, {
|
|
key: 2
|
|
}, [__props.isHtmlFragment ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
innerHTML: renderContent(props.content)
|
|
}, null, 8, _hoisted_1$19)) : (openBlock(), createElementBlock(Fragment, {
|
|
key: 1
|
|
}, [createTextVNode(toDisplayString$1(renderContent(props.content)), 1)], 64))], 64))], 64)) : createCommentVNode("", true), unref(type4) === 2 ? (openBlock(), createBlock(_sfc_main$6$1, {
|
|
key: 1,
|
|
src: props.content
|
|
}, null, 8, ["src"])) : createCommentVNode("", true), unref(type4) === 5 ? (openBlock(), createBlock(_sfc_main$2$1, {
|
|
key: 2,
|
|
imgList: props.imgList,
|
|
startIndex: props.startIndex,
|
|
onResetCalculationPohtosArea: resetCalculationPohtosArea
|
|
}, null, 8, ["imgList", "startIndex"])) : createCommentVNode("", true), unref(type4) === 6 ? (openBlock(), createBlock(_sfc_main$1$1, {
|
|
key: 3,
|
|
onClose: closeHandle,
|
|
title: props.title,
|
|
content: props.content,
|
|
isHtmlFragment: props.isHtmlFragment,
|
|
icon: props.icon,
|
|
iconClass: unref(iconClass)
|
|
}, null, 8, ["title", "content", "isHtmlFragment", "icon", "iconClass"])) : createCommentVNode("", true)], 6), unref(type4) != 3 && unref(type4) != 5 && unref(type4) != 6 ? (openBlock(), createElementBlock("span", _hoisted_2$S, [__props.maxmin && !max.value ? (openBlock(), createElementBlock("a", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-layer-min", [min.value ? "layui-layer-ico layui-layer-maxmin" : ""]]),
|
|
href: "javascript:;",
|
|
onClick: minHandle
|
|
}, [!min.value ? (openBlock(), createElementBlock("cite", _hoisted_3$L)) : createCommentVNode("", true)], 2)) : createCommentVNode("", true), __props.maxmin && !min.value ? (openBlock(), createElementBlock("a", {
|
|
key: 1,
|
|
class: normalizeClass(["layui-layer-ico layui-layer-max", [max.value ? "layui-layer-maxmin" : ""]]),
|
|
href: "javascript:;",
|
|
onClick: maxHandle
|
|
}, null, 2)) : createCommentVNode("", true), __props.closeBtn != false ? (openBlock(), createBlock(_sfc_main$4$1, {
|
|
key: 2,
|
|
"close-btn": __props.closeBtn,
|
|
onCloseHandle: closeHandle
|
|
}, null, 8, ["close-btn"])) : createCommentVNode("", true)])) : createCommentVNode("", true), (__props.btn && __props.btn.length > 0 || unref(type4) === 0) && !__props.isMessage ? (openBlock(), createElementBlock("div", {
|
|
key: 2,
|
|
class: normalizeClass(["layui-layer-btn", ["layui-layer-btn-".concat(__props.btnAlign)]])
|
|
}, [__props.btn && __props.btn.length > 0 ? (openBlock(true), createElementBlock(Fragment, {
|
|
key: 0
|
|
}, renderList(__props.btn, function(b, index22) {
|
|
return openBlock(), createElementBlock("a", {
|
|
key: index22,
|
|
class: normalizeClass(["layui-layer-btn".concat(index22)]),
|
|
onClick: function onClick($event) {
|
|
return b.callback(id.value);
|
|
}
|
|
}, toDisplayString$1(b.text), 11, _hoisted_4$A);
|
|
}), 128)) : (openBlock(), createElementBlock(Fragment, {
|
|
key: 1
|
|
}, [unref(type4) === 0 ? (openBlock(), createElementBlock("a", {
|
|
key: 0,
|
|
class: "layui-layer-btn0",
|
|
onClick: _cache[0] || (_cache[0] = function($event) {
|
|
return yesHandle();
|
|
})
|
|
}, toDisplayString$1(__props.yesText), 1)) : createCommentVNode("", true)], 64))], 2)) : createCommentVNode("", true), unref(showResize) ? (openBlock(), createBlock(Resize, {
|
|
key: 3
|
|
})) : createCommentVNode("", true)], 6)) : createCommentVNode("", true)];
|
|
}),
|
|
_: 3
|
|
}, 8, ["enter-active-class", "leave-active-class"])]);
|
|
};
|
|
}
|
|
}));
|
|
function ownKeys$8(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$8(Object(source), true).forEach(function(key) {
|
|
_defineProperty$2(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
var layerInstance = [];
|
|
var addInstance = function addInstance2(instance) {
|
|
layerInstance.push(instance);
|
|
};
|
|
var delInstance = function delInstance2(id) {
|
|
layerInstance.forEach(function(item, index2) {
|
|
if (item.modalContainer.id === id) {
|
|
layerInstance.splice(index2, 1);
|
|
}
|
|
});
|
|
};
|
|
var cleanInstance = function cleanInstance2() {
|
|
layerInstance.splice(0, layerInstance.length);
|
|
};
|
|
var isExist = function isExist2(id) {
|
|
var b = false;
|
|
layerInstance.forEach(function(item, index2) {
|
|
if (item.modalContainer.id == id) {
|
|
b = true;
|
|
}
|
|
});
|
|
return b;
|
|
};
|
|
var findById = function findById2(id) {
|
|
var instance = null;
|
|
layerInstance.forEach(function(item, index2) {
|
|
if (item.modalContainer.id === id) {
|
|
instance = item;
|
|
}
|
|
});
|
|
return instance;
|
|
};
|
|
var mergeOption = function mergeOption2(option, defaultOption) {
|
|
if (option)
|
|
defaultOption = Object.assign(defaultOption, option);
|
|
return defaultOption;
|
|
};
|
|
var createContainer = function createContainer2(options) {
|
|
var modalContainer = document.createElement("div");
|
|
modalContainer.id = options.id;
|
|
document.body.appendChild(modalContainer);
|
|
return modalContainer;
|
|
};
|
|
var modalChildrenVNode = function modalChildrenVNode2(content) {
|
|
if (typeof content === "function") {
|
|
return isVNode(content()) ? {
|
|
default: function _default9() {
|
|
return content();
|
|
}
|
|
} : void 0;
|
|
}
|
|
return isVNode(content) ? {
|
|
default: function _default9() {
|
|
return content;
|
|
}
|
|
} : void 0;
|
|
};
|
|
var layer = {
|
|
_context: null,
|
|
open: function open(option, callback) {
|
|
var defaultOption = {};
|
|
return layer.create(option, defaultOption, callback);
|
|
},
|
|
drawer: function drawer(option, callback) {
|
|
var defaultOption = {
|
|
type: "drawer"
|
|
};
|
|
return layer.create(option, defaultOption, callback);
|
|
},
|
|
msg: function msg(message, option, callback) {
|
|
var defaultOption = {
|
|
type: 0,
|
|
title: false,
|
|
content: message,
|
|
closeBtn: false,
|
|
shadeClose: false,
|
|
isMessage: true,
|
|
shade: false,
|
|
time: 1e3,
|
|
btn: false
|
|
};
|
|
return layer.create(option, defaultOption, callback);
|
|
},
|
|
load: function load(_load, option, callback) {
|
|
var defaultOption = {
|
|
type: 3,
|
|
load: _load,
|
|
anim: 5,
|
|
isOutAnim: false,
|
|
shadeClose: false
|
|
};
|
|
return layer.create(option, defaultOption, callback);
|
|
},
|
|
confirm: function confirm(msg2, option, callback) {
|
|
var defaultOption = {
|
|
type: 0,
|
|
content: msg2,
|
|
shadeClose: false
|
|
};
|
|
return layer.create(option, defaultOption, callback);
|
|
},
|
|
photos: function photos(option, callback) {
|
|
if (typeof option === "string") {
|
|
option = {
|
|
imgList: [{
|
|
src: option
|
|
}]
|
|
};
|
|
}
|
|
var defaultOption = {
|
|
type: 5,
|
|
anim: 2,
|
|
startIndex: 0,
|
|
isOutAnim: true,
|
|
shadeClose: true,
|
|
shadeOpacity: "0.7"
|
|
};
|
|
return layer.create(option, defaultOption, callback);
|
|
},
|
|
notifiy: function notifiy() {
|
|
var option = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
var callback = arguments.length > 1 ? arguments[1] : void 0;
|
|
option.type = 6;
|
|
var defaultOption = {
|
|
offset: "rt",
|
|
time: 2e3,
|
|
area: "auto",
|
|
shade: false
|
|
};
|
|
return layer.create(option, defaultOption, callback);
|
|
},
|
|
create: function create(option, defaultOption, callback) {
|
|
var _modalInstance$compon3, _modalInstance$compon4;
|
|
var timer;
|
|
var options = mergeOption(option, defaultOption);
|
|
if (options.hasOwnProperty("id")) {
|
|
layer.close(options.id);
|
|
} else {
|
|
options.id = nextId();
|
|
}
|
|
var modalContainer = createContainer(options);
|
|
var modalInstance = h(_sfc_main$1I, _objectSpread(_objectSpread({}, options), {}, {
|
|
isFunction: true,
|
|
destroy: function destroy2() {
|
|
var _modalInstance$compon, _modalInstance$compon2;
|
|
clearTimeout(timer);
|
|
(_modalInstance$compon = modalInstance.component) === null || _modalInstance$compon === void 0 ? void 0 : (_modalInstance$compon2 = _modalInstance$compon.exposed) === null || _modalInstance$compon2 === void 0 ? void 0 : _modalInstance$compon2.close();
|
|
setTimeout(function() {
|
|
render$1(null, modalContainer);
|
|
if (document.body.contains(modalContainer)) {
|
|
document.body.removeChild(modalContainer);
|
|
}
|
|
}, 2e3);
|
|
delInstance(modalContainer.id);
|
|
}
|
|
}), modalChildrenVNode(options.content));
|
|
modalInstance.appContext = options.appContext || layer._context;
|
|
render$1(modalInstance, modalContainer);
|
|
(_modalInstance$compon3 = modalInstance.component) === null || _modalInstance$compon3 === void 0 ? void 0 : (_modalInstance$compon4 = _modalInstance$compon3.exposed) === null || _modalInstance$compon4 === void 0 ? void 0 : _modalInstance$compon4.open();
|
|
if (defaultOption && defaultOption.time != void 0 && defaultOption.time != 0) {
|
|
timer = setTimeout(function() {
|
|
var _modalInstance$compon5, _modalInstance$compon6;
|
|
(_modalInstance$compon5 = modalInstance.component) === null || _modalInstance$compon5 === void 0 ? void 0 : (_modalInstance$compon6 = _modalInstance$compon5.exposed) === null || _modalInstance$compon6 === void 0 ? void 0 : _modalInstance$compon6.close();
|
|
if (callback)
|
|
callback(modalContainer.id);
|
|
setTimeout(function() {
|
|
render$1(null, modalContainer);
|
|
if (document.body.contains(modalContainer)) {
|
|
document.body.removeChild(modalContainer);
|
|
}
|
|
}, 2e3);
|
|
delInstance(modalContainer.id);
|
|
if (options.type === 6) {
|
|
removeNotifiyFromQueen(options.id);
|
|
}
|
|
}, defaultOption.time);
|
|
}
|
|
addInstance({
|
|
modalContainer,
|
|
modalInstance
|
|
});
|
|
return modalContainer.id;
|
|
},
|
|
close: function close(id) {
|
|
if (id != null && isExist(id)) {
|
|
var _instance$modalInstan, _instance$modalInstan2;
|
|
var instance = findById(id);
|
|
(_instance$modalInstan = instance.modalInstance.component) === null || _instance$modalInstan === void 0 ? void 0 : (_instance$modalInstan2 = _instance$modalInstan.exposed) === null || _instance$modalInstan2 === void 0 ? void 0 : _instance$modalInstan2.close();
|
|
setTimeout(function() {
|
|
render$1(null, instance.modalContainer);
|
|
if (document.body.contains(instance.modalContainer))
|
|
document.body.removeChild(instance.modalContainer);
|
|
}, 2e3);
|
|
}
|
|
delInstance(id);
|
|
},
|
|
closeAll: function closeAll() {
|
|
layerInstance.forEach(function(item) {
|
|
var _item$modalInstance$c, _item$modalInstance$c2;
|
|
(_item$modalInstance$c = item.modalInstance.component) === null || _item$modalInstance$c === void 0 ? void 0 : (_item$modalInstance$c2 = _item$modalInstance$c.exposed) === null || _item$modalInstance$c2 === void 0 ? void 0 : _item$modalInstance$c2.close();
|
|
setTimeout(function() {
|
|
render$1(null, item.modalContainer);
|
|
if (document.body.contains(item.modalContainer))
|
|
document.body.removeChild(item.modalContainer);
|
|
}, 2e3);
|
|
});
|
|
cleanInstance();
|
|
},
|
|
reset: function reset(instance) {
|
|
var _instance$modalInstan3, _instance$modalInstan4;
|
|
(_instance$modalInstan3 = instance.modalInstance.component) === null || _instance$modalInstan3 === void 0 ? void 0 : (_instance$modalInstan4 = _instance$modalInstan3.exposed) === null || _instance$modalInstan4 === void 0 ? void 0 : _instance$modalInstan4.reset();
|
|
}
|
|
};
|
|
var install$1 = function install2(app, options) {
|
|
layer._context = app._context;
|
|
app.component(_sfc_main$1I.name, _sfc_main$1I);
|
|
app.config.globalProperties.$layer = layer;
|
|
if (options) {
|
|
app.provide(zIndexKey, options.zIndex);
|
|
}
|
|
};
|
|
var index$10 = {
|
|
install: install$1
|
|
};
|
|
/*!
|
|
* @intlify/shared v9.1.10
|
|
* (c) 2022 kazuya kawaguchi
|
|
* Released under the MIT License.
|
|
*/
|
|
const hasSymbol = typeof Symbol === "function" && typeof Symbol.toStringTag === "symbol";
|
|
const makeSymbol = (name) => hasSymbol ? Symbol(name) : name;
|
|
const generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });
|
|
const friendlyJSONstringify = (json) => JSON.stringify(json).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029").replace(/\u0027/g, "\\u0027");
|
|
const isNumber$2 = (val) => typeof val === "number" && isFinite(val);
|
|
const isDate = (val) => toTypeString(val) === "[object Date]";
|
|
const isRegExp = (val) => toTypeString(val) === "[object RegExp]";
|
|
const isEmptyObject = (val) => isPlainObject$1(val) && Object.keys(val).length === 0;
|
|
function warn(msg2, err) {
|
|
if (typeof console !== "undefined") {
|
|
console.warn(`[intlify] ` + msg2);
|
|
if (err) {
|
|
console.warn(err.stack);
|
|
}
|
|
}
|
|
}
|
|
const assign$1 = Object.assign;
|
|
let _globalThis;
|
|
const getGlobalThis = () => {
|
|
return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
|
|
};
|
|
function escapeHtml(rawText) {
|
|
return rawText.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
}
|
|
const hasOwnProperty$2 = Object.prototype.hasOwnProperty;
|
|
function hasOwn$1(obj, key) {
|
|
return hasOwnProperty$2.call(obj, key);
|
|
}
|
|
const isArray$1 = Array.isArray;
|
|
const isFunction$3 = (val) => typeof val === "function";
|
|
const isString$1 = (val) => typeof val === "string";
|
|
const isBoolean = (val) => typeof val === "boolean";
|
|
const isObject$3 = (val) => val !== null && typeof val === "object";
|
|
const objectToString = Object.prototype.toString;
|
|
const toTypeString = (value) => objectToString.call(value);
|
|
const isPlainObject$1 = (val) => toTypeString(val) === "[object Object]";
|
|
const toDisplayString = (val) => {
|
|
return val == null ? "" : isArray$1(val) || isPlainObject$1(val) && val.toString === objectToString ? JSON.stringify(val, null, 2) : String(val);
|
|
};
|
|
/*!
|
|
* @intlify/message-resolver v9.1.10
|
|
* (c) 2022 kazuya kawaguchi
|
|
* Released under the MIT License.
|
|
*/
|
|
const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
|
|
function hasOwn(obj, key) {
|
|
return hasOwnProperty$1.call(obj, key);
|
|
}
|
|
const isObject$2 = (val) => val !== null && typeof val === "object";
|
|
const pathStateMachine = [];
|
|
pathStateMachine[0] = {
|
|
["w"]: [0],
|
|
["i"]: [3, 0],
|
|
["["]: [4],
|
|
["o"]: [7]
|
|
};
|
|
pathStateMachine[1] = {
|
|
["w"]: [1],
|
|
["."]: [2],
|
|
["["]: [4],
|
|
["o"]: [7]
|
|
};
|
|
pathStateMachine[2] = {
|
|
["w"]: [2],
|
|
["i"]: [3, 0],
|
|
["0"]: [3, 0]
|
|
};
|
|
pathStateMachine[3] = {
|
|
["i"]: [3, 0],
|
|
["0"]: [3, 0],
|
|
["w"]: [1, 1],
|
|
["."]: [2, 1],
|
|
["["]: [4, 1],
|
|
["o"]: [7, 1]
|
|
};
|
|
pathStateMachine[4] = {
|
|
["'"]: [5, 0],
|
|
['"']: [6, 0],
|
|
["["]: [
|
|
4,
|
|
2
|
|
],
|
|
["]"]: [1, 3],
|
|
["o"]: 8,
|
|
["l"]: [4, 0]
|
|
};
|
|
pathStateMachine[5] = {
|
|
["'"]: [4, 0],
|
|
["o"]: 8,
|
|
["l"]: [5, 0]
|
|
};
|
|
pathStateMachine[6] = {
|
|
['"']: [4, 0],
|
|
["o"]: 8,
|
|
["l"]: [6, 0]
|
|
};
|
|
const literalValueRE = /^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;
|
|
function isLiteral(exp) {
|
|
return literalValueRE.test(exp);
|
|
}
|
|
function stripQuotes(str) {
|
|
const a = str.charCodeAt(0);
|
|
const b = str.charCodeAt(str.length - 1);
|
|
return a === b && (a === 34 || a === 39) ? str.slice(1, -1) : str;
|
|
}
|
|
function getPathCharType(ch) {
|
|
if (ch === void 0 || ch === null) {
|
|
return "o";
|
|
}
|
|
const code = ch.charCodeAt(0);
|
|
switch (code) {
|
|
case 91:
|
|
case 93:
|
|
case 46:
|
|
case 34:
|
|
case 39:
|
|
return ch;
|
|
case 95:
|
|
case 36:
|
|
case 45:
|
|
return "i";
|
|
case 9:
|
|
case 10:
|
|
case 13:
|
|
case 160:
|
|
case 65279:
|
|
case 8232:
|
|
case 8233:
|
|
return "w";
|
|
}
|
|
return "i";
|
|
}
|
|
function formatSubPath(path) {
|
|
const trimmed = path.trim();
|
|
if (path.charAt(0) === "0" && isNaN(parseInt(path))) {
|
|
return false;
|
|
}
|
|
return isLiteral(trimmed) ? stripQuotes(trimmed) : "*" + trimmed;
|
|
}
|
|
function parse(path) {
|
|
const keys = [];
|
|
let index2 = -1;
|
|
let mode = 0;
|
|
let subPathDepth = 0;
|
|
let c;
|
|
let key;
|
|
let newChar;
|
|
let type4;
|
|
let transition;
|
|
let action;
|
|
let typeMap;
|
|
const actions = [];
|
|
actions[0] = () => {
|
|
if (key === void 0) {
|
|
key = newChar;
|
|
} else {
|
|
key += newChar;
|
|
}
|
|
};
|
|
actions[1] = () => {
|
|
if (key !== void 0) {
|
|
keys.push(key);
|
|
key = void 0;
|
|
}
|
|
};
|
|
actions[2] = () => {
|
|
actions[0]();
|
|
subPathDepth++;
|
|
};
|
|
actions[3] = () => {
|
|
if (subPathDepth > 0) {
|
|
subPathDepth--;
|
|
mode = 4;
|
|
actions[0]();
|
|
} else {
|
|
subPathDepth = 0;
|
|
if (key === void 0) {
|
|
return false;
|
|
}
|
|
key = formatSubPath(key);
|
|
if (key === false) {
|
|
return false;
|
|
} else {
|
|
actions[1]();
|
|
}
|
|
}
|
|
};
|
|
function maybeUnescapeQuote() {
|
|
const nextChar = path[index2 + 1];
|
|
if (mode === 5 && nextChar === "'" || mode === 6 && nextChar === '"') {
|
|
index2++;
|
|
newChar = "\\" + nextChar;
|
|
actions[0]();
|
|
return true;
|
|
}
|
|
}
|
|
while (mode !== null) {
|
|
index2++;
|
|
c = path[index2];
|
|
if (c === "\\" && maybeUnescapeQuote()) {
|
|
continue;
|
|
}
|
|
type4 = getPathCharType(c);
|
|
typeMap = pathStateMachine[mode];
|
|
transition = typeMap[type4] || typeMap["l"] || 8;
|
|
if (transition === 8) {
|
|
return;
|
|
}
|
|
mode = transition[0];
|
|
if (transition[1] !== void 0) {
|
|
action = actions[transition[1]];
|
|
if (action) {
|
|
newChar = c;
|
|
if (action() === false) {
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
if (mode === 7) {
|
|
return keys;
|
|
}
|
|
}
|
|
}
|
|
const cache = /* @__PURE__ */ new Map();
|
|
function resolveValue(obj, path) {
|
|
if (!isObject$2(obj)) {
|
|
return null;
|
|
}
|
|
let hit = cache.get(path);
|
|
if (!hit) {
|
|
hit = parse(path);
|
|
if (hit) {
|
|
cache.set(path, hit);
|
|
}
|
|
}
|
|
if (!hit) {
|
|
return null;
|
|
}
|
|
const len = hit.length;
|
|
let last = obj;
|
|
let i = 0;
|
|
while (i < len) {
|
|
const val = last[hit[i]];
|
|
if (val === void 0) {
|
|
return null;
|
|
}
|
|
last = val;
|
|
i++;
|
|
}
|
|
return last;
|
|
}
|
|
function handleFlatJson(obj) {
|
|
if (!isObject$2(obj)) {
|
|
return obj;
|
|
}
|
|
for (const key in obj) {
|
|
if (!hasOwn(obj, key)) {
|
|
continue;
|
|
}
|
|
if (!key.includes(".")) {
|
|
if (isObject$2(obj[key])) {
|
|
handleFlatJson(obj[key]);
|
|
}
|
|
} else {
|
|
const subKeys = key.split(".");
|
|
const lastIndex = subKeys.length - 1;
|
|
let currentObj = obj;
|
|
for (let i = 0; i < lastIndex; i++) {
|
|
if (!(subKeys[i] in currentObj)) {
|
|
currentObj[subKeys[i]] = {};
|
|
}
|
|
currentObj = currentObj[subKeys[i]];
|
|
}
|
|
currentObj[subKeys[lastIndex]] = obj[key];
|
|
delete obj[key];
|
|
if (isObject$2(currentObj[subKeys[lastIndex]])) {
|
|
handleFlatJson(currentObj[subKeys[lastIndex]]);
|
|
}
|
|
}
|
|
}
|
|
return obj;
|
|
}
|
|
/*!
|
|
* @intlify/runtime v9.1.10
|
|
* (c) 2022 kazuya kawaguchi
|
|
* Released under the MIT License.
|
|
*/
|
|
const DEFAULT_MODIFIER = (str) => str;
|
|
const DEFAULT_MESSAGE = (ctx) => "";
|
|
const DEFAULT_MESSAGE_DATA_TYPE = "text";
|
|
const DEFAULT_NORMALIZE = (values) => values.length === 0 ? "" : values.join("");
|
|
const DEFAULT_INTERPOLATE = toDisplayString;
|
|
function pluralDefault(choice, choicesLength) {
|
|
choice = Math.abs(choice);
|
|
if (choicesLength === 2) {
|
|
return choice ? choice > 1 ? 1 : 0 : 1;
|
|
}
|
|
return choice ? Math.min(choice, 2) : 0;
|
|
}
|
|
function getPluralIndex(options) {
|
|
const index2 = isNumber$2(options.pluralIndex) ? options.pluralIndex : -1;
|
|
return options.named && (isNumber$2(options.named.count) || isNumber$2(options.named.n)) ? isNumber$2(options.named.count) ? options.named.count : isNumber$2(options.named.n) ? options.named.n : index2 : index2;
|
|
}
|
|
function normalizeNamed(pluralIndex, props) {
|
|
if (!props.count) {
|
|
props.count = pluralIndex;
|
|
}
|
|
if (!props.n) {
|
|
props.n = pluralIndex;
|
|
}
|
|
}
|
|
function createMessageContext(options = {}) {
|
|
const locale = options.locale;
|
|
const pluralIndex = getPluralIndex(options);
|
|
const pluralRule = isObject$3(options.pluralRules) && isString$1(locale) && isFunction$3(options.pluralRules[locale]) ? options.pluralRules[locale] : pluralDefault;
|
|
const orgPluralRule = isObject$3(options.pluralRules) && isString$1(locale) && isFunction$3(options.pluralRules[locale]) ? pluralDefault : void 0;
|
|
const plural = (messages2) => messages2[pluralRule(pluralIndex, messages2.length, orgPluralRule)];
|
|
const _list = options.list || [];
|
|
const list = (index2) => _list[index2];
|
|
const _named = options.named || {};
|
|
isNumber$2(options.pluralIndex) && normalizeNamed(pluralIndex, _named);
|
|
const named = (key) => _named[key];
|
|
function message(key) {
|
|
const msg2 = isFunction$3(options.messages) ? options.messages(key) : isObject$3(options.messages) ? options.messages[key] : false;
|
|
return !msg2 ? options.parent ? options.parent.message(key) : DEFAULT_MESSAGE : msg2;
|
|
}
|
|
const _modifier = (name) => options.modifiers ? options.modifiers[name] : DEFAULT_MODIFIER;
|
|
const normalize = isPlainObject$1(options.processor) && isFunction$3(options.processor.normalize) ? options.processor.normalize : DEFAULT_NORMALIZE;
|
|
const interpolate = isPlainObject$1(options.processor) && isFunction$3(options.processor.interpolate) ? options.processor.interpolate : DEFAULT_INTERPOLATE;
|
|
const type4 = isPlainObject$1(options.processor) && isString$1(options.processor.type) ? options.processor.type : DEFAULT_MESSAGE_DATA_TYPE;
|
|
const ctx = {
|
|
["list"]: list,
|
|
["named"]: named,
|
|
["plural"]: plural,
|
|
["linked"]: (key, modifier) => {
|
|
const msg2 = message(key)(ctx);
|
|
return isString$1(modifier) ? _modifier(modifier)(msg2) : msg2;
|
|
},
|
|
["message"]: message,
|
|
["type"]: type4,
|
|
["interpolate"]: interpolate,
|
|
["normalize"]: normalize
|
|
};
|
|
return ctx;
|
|
}
|
|
/*!
|
|
* @intlify/message-compiler v9.1.10
|
|
* (c) 2022 kazuya kawaguchi
|
|
* Released under the MIT License.
|
|
*/
|
|
function createCompileError(code, loc, options = {}) {
|
|
const { domain, messages: messages2, args } = options;
|
|
const msg2 = code;
|
|
const error = new SyntaxError(String(msg2));
|
|
error.code = code;
|
|
if (loc) {
|
|
error.location = loc;
|
|
}
|
|
error.domain = domain;
|
|
return error;
|
|
}
|
|
function defaultOnError(error) {
|
|
throw error;
|
|
}
|
|
function createPosition(line, column, offset) {
|
|
return { line, column, offset };
|
|
}
|
|
function createLocation(start, end, source) {
|
|
const loc = { start, end };
|
|
if (source != null) {
|
|
loc.source = source;
|
|
}
|
|
return loc;
|
|
}
|
|
const CHAR_SP = " ";
|
|
const CHAR_CR = "\r";
|
|
const CHAR_LF = "\n";
|
|
const CHAR_LS = String.fromCharCode(8232);
|
|
const CHAR_PS = String.fromCharCode(8233);
|
|
function createScanner(str) {
|
|
const _buf = str;
|
|
let _index = 0;
|
|
let _line = 1;
|
|
let _column = 1;
|
|
let _peekOffset = 0;
|
|
const isCRLF = (index3) => _buf[index3] === CHAR_CR && _buf[index3 + 1] === CHAR_LF;
|
|
const isLF = (index3) => _buf[index3] === CHAR_LF;
|
|
const isPS = (index3) => _buf[index3] === CHAR_PS;
|
|
const isLS = (index3) => _buf[index3] === CHAR_LS;
|
|
const isLineEnd = (index3) => isCRLF(index3) || isLF(index3) || isPS(index3) || isLS(index3);
|
|
const index2 = () => _index;
|
|
const line = () => _line;
|
|
const column = () => _column;
|
|
const peekOffset = () => _peekOffset;
|
|
const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];
|
|
const currentChar = () => charAt(_index);
|
|
const currentPeek = () => charAt(_index + _peekOffset);
|
|
function next() {
|
|
_peekOffset = 0;
|
|
if (isLineEnd(_index)) {
|
|
_line++;
|
|
_column = 0;
|
|
}
|
|
if (isCRLF(_index)) {
|
|
_index++;
|
|
}
|
|
_index++;
|
|
_column++;
|
|
return _buf[_index];
|
|
}
|
|
function peek() {
|
|
if (isCRLF(_index + _peekOffset)) {
|
|
_peekOffset++;
|
|
}
|
|
_peekOffset++;
|
|
return _buf[_index + _peekOffset];
|
|
}
|
|
function reset3() {
|
|
_index = 0;
|
|
_line = 1;
|
|
_column = 1;
|
|
_peekOffset = 0;
|
|
}
|
|
function resetPeek(offset = 0) {
|
|
_peekOffset = offset;
|
|
}
|
|
function skipToPeek() {
|
|
const target = _index + _peekOffset;
|
|
while (target !== _index) {
|
|
next();
|
|
}
|
|
_peekOffset = 0;
|
|
}
|
|
return {
|
|
index: index2,
|
|
line,
|
|
column,
|
|
peekOffset,
|
|
charAt,
|
|
currentChar,
|
|
currentPeek,
|
|
next,
|
|
peek,
|
|
reset: reset3,
|
|
resetPeek,
|
|
skipToPeek
|
|
};
|
|
}
|
|
const EOF = void 0;
|
|
const LITERAL_DELIMITER = "'";
|
|
const ERROR_DOMAIN$1 = "tokenizer";
|
|
function createTokenizer(source, options = {}) {
|
|
const location2 = options.location !== false;
|
|
const _scnr = createScanner(source);
|
|
const currentOffset = () => _scnr.index();
|
|
const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());
|
|
const _initLoc = currentPosition();
|
|
const _initOffset = currentOffset();
|
|
const _context = {
|
|
currentType: 14,
|
|
offset: _initOffset,
|
|
startLoc: _initLoc,
|
|
endLoc: _initLoc,
|
|
lastType: 14,
|
|
lastOffset: _initOffset,
|
|
lastStartLoc: _initLoc,
|
|
lastEndLoc: _initLoc,
|
|
braceNest: 0,
|
|
inLinked: false,
|
|
text: ""
|
|
};
|
|
const context = () => _context;
|
|
const { onError } = options;
|
|
function emitError(code, pos, offset, ...args) {
|
|
const ctx = context();
|
|
pos.column += offset;
|
|
pos.offset += offset;
|
|
if (onError) {
|
|
const loc = createLocation(ctx.startLoc, pos);
|
|
const err = createCompileError(code, loc, {
|
|
domain: ERROR_DOMAIN$1,
|
|
args
|
|
});
|
|
onError(err);
|
|
}
|
|
}
|
|
function getToken(context2, type4, value) {
|
|
context2.endLoc = currentPosition();
|
|
context2.currentType = type4;
|
|
const token = { type: type4 };
|
|
if (location2) {
|
|
token.loc = createLocation(context2.startLoc, context2.endLoc);
|
|
}
|
|
if (value != null) {
|
|
token.value = value;
|
|
}
|
|
return token;
|
|
}
|
|
const getEndToken = (context2) => getToken(context2, 14);
|
|
function eat(scnr, ch) {
|
|
if (scnr.currentChar() === ch) {
|
|
scnr.next();
|
|
return ch;
|
|
} else {
|
|
emitError(0, currentPosition(), 0, ch);
|
|
return "";
|
|
}
|
|
}
|
|
function peekSpaces(scnr) {
|
|
let buf = "";
|
|
while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {
|
|
buf += scnr.currentPeek();
|
|
scnr.peek();
|
|
}
|
|
return buf;
|
|
}
|
|
function skipSpaces(scnr) {
|
|
const buf = peekSpaces(scnr);
|
|
scnr.skipToPeek();
|
|
return buf;
|
|
}
|
|
function isIdentifierStart(ch) {
|
|
if (ch === EOF) {
|
|
return false;
|
|
}
|
|
const cc = ch.charCodeAt(0);
|
|
return cc >= 97 && cc <= 122 || cc >= 65 && cc <= 90 || cc === 95;
|
|
}
|
|
function isNumberStart(ch) {
|
|
if (ch === EOF) {
|
|
return false;
|
|
}
|
|
const cc = ch.charCodeAt(0);
|
|
return cc >= 48 && cc <= 57;
|
|
}
|
|
function isNamedIdentifierStart(scnr, context2) {
|
|
const { currentType } = context2;
|
|
if (currentType !== 2) {
|
|
return false;
|
|
}
|
|
peekSpaces(scnr);
|
|
const ret = isIdentifierStart(scnr.currentPeek());
|
|
scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function isListIdentifierStart(scnr, context2) {
|
|
const { currentType } = context2;
|
|
if (currentType !== 2) {
|
|
return false;
|
|
}
|
|
peekSpaces(scnr);
|
|
const ch = scnr.currentPeek() === "-" ? scnr.peek() : scnr.currentPeek();
|
|
const ret = isNumberStart(ch);
|
|
scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function isLiteralStart(scnr, context2) {
|
|
const { currentType } = context2;
|
|
if (currentType !== 2) {
|
|
return false;
|
|
}
|
|
peekSpaces(scnr);
|
|
const ret = scnr.currentPeek() === LITERAL_DELIMITER;
|
|
scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function isLinkedDotStart(scnr, context2) {
|
|
const { currentType } = context2;
|
|
if (currentType !== 8) {
|
|
return false;
|
|
}
|
|
peekSpaces(scnr);
|
|
const ret = scnr.currentPeek() === ".";
|
|
scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function isLinkedModifierStart(scnr, context2) {
|
|
const { currentType } = context2;
|
|
if (currentType !== 9) {
|
|
return false;
|
|
}
|
|
peekSpaces(scnr);
|
|
const ret = isIdentifierStart(scnr.currentPeek());
|
|
scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function isLinkedDelimiterStart(scnr, context2) {
|
|
const { currentType } = context2;
|
|
if (!(currentType === 8 || currentType === 12)) {
|
|
return false;
|
|
}
|
|
peekSpaces(scnr);
|
|
const ret = scnr.currentPeek() === ":";
|
|
scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function isLinkedReferStart(scnr, context2) {
|
|
const { currentType } = context2;
|
|
if (currentType !== 10) {
|
|
return false;
|
|
}
|
|
const fn = () => {
|
|
const ch = scnr.currentPeek();
|
|
if (ch === "{") {
|
|
return isIdentifierStart(scnr.peek());
|
|
} else if (ch === "@" || ch === "%" || ch === "|" || ch === ":" || ch === "." || ch === CHAR_SP || !ch) {
|
|
return false;
|
|
} else if (ch === CHAR_LF) {
|
|
scnr.peek();
|
|
return fn();
|
|
} else {
|
|
return isIdentifierStart(ch);
|
|
}
|
|
};
|
|
const ret = fn();
|
|
scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function isPluralStart(scnr) {
|
|
peekSpaces(scnr);
|
|
const ret = scnr.currentPeek() === "|";
|
|
scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function isTextStart(scnr, reset3 = true) {
|
|
const fn = (hasSpace = false, prev = "", detectModulo = false) => {
|
|
const ch = scnr.currentPeek();
|
|
if (ch === "{") {
|
|
return prev === "%" ? false : hasSpace;
|
|
} else if (ch === "@" || !ch) {
|
|
return prev === "%" ? true : hasSpace;
|
|
} else if (ch === "%") {
|
|
scnr.peek();
|
|
return fn(hasSpace, "%", true);
|
|
} else if (ch === "|") {
|
|
return prev === "%" || detectModulo ? true : !(prev === CHAR_SP || prev === CHAR_LF);
|
|
} else if (ch === CHAR_SP) {
|
|
scnr.peek();
|
|
return fn(true, CHAR_SP, detectModulo);
|
|
} else if (ch === CHAR_LF) {
|
|
scnr.peek();
|
|
return fn(true, CHAR_LF, detectModulo);
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
const ret = fn();
|
|
reset3 && scnr.resetPeek();
|
|
return ret;
|
|
}
|
|
function takeChar(scnr, fn) {
|
|
const ch = scnr.currentChar();
|
|
if (ch === EOF) {
|
|
return EOF;
|
|
}
|
|
if (fn(ch)) {
|
|
scnr.next();
|
|
return ch;
|
|
}
|
|
return null;
|
|
}
|
|
function takeIdentifierChar(scnr) {
|
|
const closure = (ch) => {
|
|
const cc = ch.charCodeAt(0);
|
|
return cc >= 97 && cc <= 122 || cc >= 65 && cc <= 90 || cc >= 48 && cc <= 57 || cc === 95 || cc === 36;
|
|
};
|
|
return takeChar(scnr, closure);
|
|
}
|
|
function takeDigit(scnr) {
|
|
const closure = (ch) => {
|
|
const cc = ch.charCodeAt(0);
|
|
return cc >= 48 && cc <= 57;
|
|
};
|
|
return takeChar(scnr, closure);
|
|
}
|
|
function takeHexDigit(scnr) {
|
|
const closure = (ch) => {
|
|
const cc = ch.charCodeAt(0);
|
|
return cc >= 48 && cc <= 57 || cc >= 65 && cc <= 70 || cc >= 97 && cc <= 102;
|
|
};
|
|
return takeChar(scnr, closure);
|
|
}
|
|
function getDigits(scnr) {
|
|
let ch = "";
|
|
let num = "";
|
|
while (ch = takeDigit(scnr)) {
|
|
num += ch;
|
|
}
|
|
return num;
|
|
}
|
|
function readText(scnr) {
|
|
let buf = "";
|
|
while (true) {
|
|
const ch = scnr.currentChar();
|
|
if (ch === "{" || ch === "}" || ch === "@" || ch === "|" || !ch) {
|
|
break;
|
|
} else if (ch === "%") {
|
|
if (isTextStart(scnr)) {
|
|
buf += ch;
|
|
scnr.next();
|
|
} else {
|
|
break;
|
|
}
|
|
} else if (ch === CHAR_SP || ch === CHAR_LF) {
|
|
if (isTextStart(scnr)) {
|
|
buf += ch;
|
|
scnr.next();
|
|
} else if (isPluralStart(scnr)) {
|
|
break;
|
|
} else {
|
|
buf += ch;
|
|
scnr.next();
|
|
}
|
|
} else {
|
|
buf += ch;
|
|
scnr.next();
|
|
}
|
|
}
|
|
return buf;
|
|
}
|
|
function readNamedIdentifier(scnr) {
|
|
skipSpaces(scnr);
|
|
let ch = "";
|
|
let name = "";
|
|
while (ch = takeIdentifierChar(scnr)) {
|
|
name += ch;
|
|
}
|
|
if (scnr.currentChar() === EOF) {
|
|
emitError(6, currentPosition(), 0);
|
|
}
|
|
return name;
|
|
}
|
|
function readListIdentifier(scnr) {
|
|
skipSpaces(scnr);
|
|
let value = "";
|
|
if (scnr.currentChar() === "-") {
|
|
scnr.next();
|
|
value += `-${getDigits(scnr)}`;
|
|
} else {
|
|
value += getDigits(scnr);
|
|
}
|
|
if (scnr.currentChar() === EOF) {
|
|
emitError(6, currentPosition(), 0);
|
|
}
|
|
return value;
|
|
}
|
|
function readLiteral(scnr) {
|
|
skipSpaces(scnr);
|
|
eat(scnr, `'`);
|
|
let ch = "";
|
|
let literal = "";
|
|
const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;
|
|
while (ch = takeChar(scnr, fn)) {
|
|
if (ch === "\\") {
|
|
literal += readEscapeSequence(scnr);
|
|
} else {
|
|
literal += ch;
|
|
}
|
|
}
|
|
const current = scnr.currentChar();
|
|
if (current === CHAR_LF || current === EOF) {
|
|
emitError(2, currentPosition(), 0);
|
|
if (current === CHAR_LF) {
|
|
scnr.next();
|
|
eat(scnr, `'`);
|
|
}
|
|
return literal;
|
|
}
|
|
eat(scnr, `'`);
|
|
return literal;
|
|
}
|
|
function readEscapeSequence(scnr) {
|
|
const ch = scnr.currentChar();
|
|
switch (ch) {
|
|
case "\\":
|
|
case `'`:
|
|
scnr.next();
|
|
return `\\${ch}`;
|
|
case "u":
|
|
return readUnicodeEscapeSequence(scnr, ch, 4);
|
|
case "U":
|
|
return readUnicodeEscapeSequence(scnr, ch, 6);
|
|
default:
|
|
emitError(3, currentPosition(), 0, ch);
|
|
return "";
|
|
}
|
|
}
|
|
function readUnicodeEscapeSequence(scnr, unicode, digits) {
|
|
eat(scnr, unicode);
|
|
let sequence = "";
|
|
for (let i = 0; i < digits; i++) {
|
|
const ch = takeHexDigit(scnr);
|
|
if (!ch) {
|
|
emitError(4, currentPosition(), 0, `\\${unicode}${sequence}${scnr.currentChar()}`);
|
|
break;
|
|
}
|
|
sequence += ch;
|
|
}
|
|
return `\\${unicode}${sequence}`;
|
|
}
|
|
function readInvalidIdentifier(scnr) {
|
|
skipSpaces(scnr);
|
|
let ch = "";
|
|
let identifiers = "";
|
|
const closure = (ch2) => ch2 !== "{" && ch2 !== "}" && ch2 !== CHAR_SP && ch2 !== CHAR_LF;
|
|
while (ch = takeChar(scnr, closure)) {
|
|
identifiers += ch;
|
|
}
|
|
return identifiers;
|
|
}
|
|
function readLinkedModifier(scnr) {
|
|
let ch = "";
|
|
let name = "";
|
|
while (ch = takeIdentifierChar(scnr)) {
|
|
name += ch;
|
|
}
|
|
return name;
|
|
}
|
|
function readLinkedRefer(scnr) {
|
|
const fn = (detect = false, buf) => {
|
|
const ch = scnr.currentChar();
|
|
if (ch === "{" || ch === "%" || ch === "@" || ch === "|" || !ch) {
|
|
return buf;
|
|
} else if (ch === CHAR_SP) {
|
|
return buf;
|
|
} else if (ch === CHAR_LF) {
|
|
buf += ch;
|
|
scnr.next();
|
|
return fn(detect, buf);
|
|
} else {
|
|
buf += ch;
|
|
scnr.next();
|
|
return fn(true, buf);
|
|
}
|
|
};
|
|
return fn(false, "");
|
|
}
|
|
function readPlural(scnr) {
|
|
skipSpaces(scnr);
|
|
const plural = eat(scnr, "|");
|
|
skipSpaces(scnr);
|
|
return plural;
|
|
}
|
|
function readTokenInPlaceholder(scnr, context2) {
|
|
let token = null;
|
|
const ch = scnr.currentChar();
|
|
switch (ch) {
|
|
case "{":
|
|
if (context2.braceNest >= 1) {
|
|
emitError(8, currentPosition(), 0);
|
|
}
|
|
scnr.next();
|
|
token = getToken(context2, 2, "{");
|
|
skipSpaces(scnr);
|
|
context2.braceNest++;
|
|
return token;
|
|
case "}":
|
|
if (context2.braceNest > 0 && context2.currentType === 2) {
|
|
emitError(7, currentPosition(), 0);
|
|
}
|
|
scnr.next();
|
|
token = getToken(context2, 3, "}");
|
|
context2.braceNest--;
|
|
context2.braceNest > 0 && skipSpaces(scnr);
|
|
if (context2.inLinked && context2.braceNest === 0) {
|
|
context2.inLinked = false;
|
|
}
|
|
return token;
|
|
case "@":
|
|
if (context2.braceNest > 0) {
|
|
emitError(6, currentPosition(), 0);
|
|
}
|
|
token = readTokenInLinked(scnr, context2) || getEndToken(context2);
|
|
context2.braceNest = 0;
|
|
return token;
|
|
default:
|
|
let validNamedIdentifier = true;
|
|
let validListIdentifier = true;
|
|
let validLiteral = true;
|
|
if (isPluralStart(scnr)) {
|
|
if (context2.braceNest > 0) {
|
|
emitError(6, currentPosition(), 0);
|
|
}
|
|
token = getToken(context2, 1, readPlural(scnr));
|
|
context2.braceNest = 0;
|
|
context2.inLinked = false;
|
|
return token;
|
|
}
|
|
if (context2.braceNest > 0 && (context2.currentType === 5 || context2.currentType === 6 || context2.currentType === 7)) {
|
|
emitError(6, currentPosition(), 0);
|
|
context2.braceNest = 0;
|
|
return readToken(scnr, context2);
|
|
}
|
|
if (validNamedIdentifier = isNamedIdentifierStart(scnr, context2)) {
|
|
token = getToken(context2, 5, readNamedIdentifier(scnr));
|
|
skipSpaces(scnr);
|
|
return token;
|
|
}
|
|
if (validListIdentifier = isListIdentifierStart(scnr, context2)) {
|
|
token = getToken(context2, 6, readListIdentifier(scnr));
|
|
skipSpaces(scnr);
|
|
return token;
|
|
}
|
|
if (validLiteral = isLiteralStart(scnr, context2)) {
|
|
token = getToken(context2, 7, readLiteral(scnr));
|
|
skipSpaces(scnr);
|
|
return token;
|
|
}
|
|
if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {
|
|
token = getToken(context2, 13, readInvalidIdentifier(scnr));
|
|
emitError(1, currentPosition(), 0, token.value);
|
|
skipSpaces(scnr);
|
|
return token;
|
|
}
|
|
break;
|
|
}
|
|
return token;
|
|
}
|
|
function readTokenInLinked(scnr, context2) {
|
|
const { currentType } = context2;
|
|
let token = null;
|
|
const ch = scnr.currentChar();
|
|
if ((currentType === 8 || currentType === 9 || currentType === 12 || currentType === 10) && (ch === CHAR_LF || ch === CHAR_SP)) {
|
|
emitError(9, currentPosition(), 0);
|
|
}
|
|
switch (ch) {
|
|
case "@":
|
|
scnr.next();
|
|
token = getToken(context2, 8, "@");
|
|
context2.inLinked = true;
|
|
return token;
|
|
case ".":
|
|
skipSpaces(scnr);
|
|
scnr.next();
|
|
return getToken(context2, 9, ".");
|
|
case ":":
|
|
skipSpaces(scnr);
|
|
scnr.next();
|
|
return getToken(context2, 10, ":");
|
|
default:
|
|
if (isPluralStart(scnr)) {
|
|
token = getToken(context2, 1, readPlural(scnr));
|
|
context2.braceNest = 0;
|
|
context2.inLinked = false;
|
|
return token;
|
|
}
|
|
if (isLinkedDotStart(scnr, context2) || isLinkedDelimiterStart(scnr, context2)) {
|
|
skipSpaces(scnr);
|
|
return readTokenInLinked(scnr, context2);
|
|
}
|
|
if (isLinkedModifierStart(scnr, context2)) {
|
|
skipSpaces(scnr);
|
|
return getToken(context2, 12, readLinkedModifier(scnr));
|
|
}
|
|
if (isLinkedReferStart(scnr, context2)) {
|
|
skipSpaces(scnr);
|
|
if (ch === "{") {
|
|
return readTokenInPlaceholder(scnr, context2) || token;
|
|
} else {
|
|
return getToken(context2, 11, readLinkedRefer(scnr));
|
|
}
|
|
}
|
|
if (currentType === 8) {
|
|
emitError(9, currentPosition(), 0);
|
|
}
|
|
context2.braceNest = 0;
|
|
context2.inLinked = false;
|
|
return readToken(scnr, context2);
|
|
}
|
|
}
|
|
function readToken(scnr, context2) {
|
|
let token = { type: 14 };
|
|
if (context2.braceNest > 0) {
|
|
return readTokenInPlaceholder(scnr, context2) || getEndToken(context2);
|
|
}
|
|
if (context2.inLinked) {
|
|
return readTokenInLinked(scnr, context2) || getEndToken(context2);
|
|
}
|
|
const ch = scnr.currentChar();
|
|
switch (ch) {
|
|
case "{":
|
|
return readTokenInPlaceholder(scnr, context2) || getEndToken(context2);
|
|
case "}":
|
|
emitError(5, currentPosition(), 0);
|
|
scnr.next();
|
|
return getToken(context2, 3, "}");
|
|
case "@":
|
|
return readTokenInLinked(scnr, context2) || getEndToken(context2);
|
|
default:
|
|
if (isPluralStart(scnr)) {
|
|
token = getToken(context2, 1, readPlural(scnr));
|
|
context2.braceNest = 0;
|
|
context2.inLinked = false;
|
|
return token;
|
|
}
|
|
if (isTextStart(scnr)) {
|
|
return getToken(context2, 0, readText(scnr));
|
|
}
|
|
if (ch === "%") {
|
|
scnr.next();
|
|
return getToken(context2, 4, "%");
|
|
}
|
|
break;
|
|
}
|
|
return token;
|
|
}
|
|
function nextToken() {
|
|
const { currentType, offset, startLoc, endLoc } = _context;
|
|
_context.lastType = currentType;
|
|
_context.lastOffset = offset;
|
|
_context.lastStartLoc = startLoc;
|
|
_context.lastEndLoc = endLoc;
|
|
_context.offset = currentOffset();
|
|
_context.startLoc = currentPosition();
|
|
if (_scnr.currentChar() === EOF) {
|
|
return getToken(_context, 14);
|
|
}
|
|
return readToken(_scnr, _context);
|
|
}
|
|
return {
|
|
nextToken,
|
|
currentOffset,
|
|
currentPosition,
|
|
context
|
|
};
|
|
}
|
|
const ERROR_DOMAIN = "parser";
|
|
const KNOWN_ESCAPES = /(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;
|
|
function fromEscapeSequence(match, codePoint4, codePoint6) {
|
|
switch (match) {
|
|
case `\\\\`:
|
|
return `\\`;
|
|
case `\\'`:
|
|
return `'`;
|
|
default: {
|
|
const codePoint = parseInt(codePoint4 || codePoint6, 16);
|
|
if (codePoint <= 55295 || codePoint >= 57344) {
|
|
return String.fromCodePoint(codePoint);
|
|
}
|
|
return "\uFFFD";
|
|
}
|
|
}
|
|
}
|
|
function createParser(options = {}) {
|
|
const location2 = options.location !== false;
|
|
const { onError } = options;
|
|
function emitError(tokenzer, code, start, offset, ...args) {
|
|
const end = tokenzer.currentPosition();
|
|
end.offset += offset;
|
|
end.column += offset;
|
|
if (onError) {
|
|
const loc = createLocation(start, end);
|
|
const err = createCompileError(code, loc, {
|
|
domain: ERROR_DOMAIN,
|
|
args
|
|
});
|
|
onError(err);
|
|
}
|
|
}
|
|
function startNode(type4, offset, loc) {
|
|
const node = {
|
|
type: type4,
|
|
start: offset,
|
|
end: offset
|
|
};
|
|
if (location2) {
|
|
node.loc = { start: loc, end: loc };
|
|
}
|
|
return node;
|
|
}
|
|
function endNode(node, offset, pos, type4) {
|
|
node.end = offset;
|
|
if (type4) {
|
|
node.type = type4;
|
|
}
|
|
if (location2 && node.loc) {
|
|
node.loc.end = pos;
|
|
}
|
|
}
|
|
function parseText(tokenizer, value) {
|
|
const context = tokenizer.context();
|
|
const node = startNode(3, context.offset, context.startLoc);
|
|
node.value = value;
|
|
endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return node;
|
|
}
|
|
function parseList(tokenizer, index2) {
|
|
const context = tokenizer.context();
|
|
const { lastOffset: offset, lastStartLoc: loc } = context;
|
|
const node = startNode(5, offset, loc);
|
|
node.index = parseInt(index2, 10);
|
|
tokenizer.nextToken();
|
|
endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return node;
|
|
}
|
|
function parseNamed(tokenizer, key) {
|
|
const context = tokenizer.context();
|
|
const { lastOffset: offset, lastStartLoc: loc } = context;
|
|
const node = startNode(4, offset, loc);
|
|
node.key = key;
|
|
tokenizer.nextToken();
|
|
endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return node;
|
|
}
|
|
function parseLiteral(tokenizer, value) {
|
|
const context = tokenizer.context();
|
|
const { lastOffset: offset, lastStartLoc: loc } = context;
|
|
const node = startNode(9, offset, loc);
|
|
node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);
|
|
tokenizer.nextToken();
|
|
endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return node;
|
|
}
|
|
function parseLinkedModifier(tokenizer) {
|
|
const token = tokenizer.nextToken();
|
|
const context = tokenizer.context();
|
|
const { lastOffset: offset, lastStartLoc: loc } = context;
|
|
const node = startNode(8, offset, loc);
|
|
if (token.type !== 12) {
|
|
emitError(tokenizer, 11, context.lastStartLoc, 0);
|
|
node.value = "";
|
|
endNode(node, offset, loc);
|
|
return {
|
|
nextConsumeToken: token,
|
|
node
|
|
};
|
|
}
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
node.value = token.value || "";
|
|
endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return {
|
|
node
|
|
};
|
|
}
|
|
function parseLinkedKey(tokenizer, value) {
|
|
const context = tokenizer.context();
|
|
const node = startNode(7, context.offset, context.startLoc);
|
|
node.value = value;
|
|
endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return node;
|
|
}
|
|
function parseLinked(tokenizer) {
|
|
const context = tokenizer.context();
|
|
const linkedNode = startNode(6, context.offset, context.startLoc);
|
|
let token = tokenizer.nextToken();
|
|
if (token.type === 9) {
|
|
const parsed = parseLinkedModifier(tokenizer);
|
|
linkedNode.modifier = parsed.node;
|
|
token = parsed.nextConsumeToken || tokenizer.nextToken();
|
|
}
|
|
if (token.type !== 10) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
token = tokenizer.nextToken();
|
|
if (token.type === 2) {
|
|
token = tokenizer.nextToken();
|
|
}
|
|
switch (token.type) {
|
|
case 11:
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
linkedNode.key = parseLinkedKey(tokenizer, token.value || "");
|
|
break;
|
|
case 5:
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
linkedNode.key = parseNamed(tokenizer, token.value || "");
|
|
break;
|
|
case 6:
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
linkedNode.key = parseList(tokenizer, token.value || "");
|
|
break;
|
|
case 7:
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
linkedNode.key = parseLiteral(tokenizer, token.value || "");
|
|
break;
|
|
default:
|
|
emitError(tokenizer, 12, context.lastStartLoc, 0);
|
|
const nextContext = tokenizer.context();
|
|
const emptyLinkedKeyNode = startNode(7, nextContext.offset, nextContext.startLoc);
|
|
emptyLinkedKeyNode.value = "";
|
|
endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);
|
|
linkedNode.key = emptyLinkedKeyNode;
|
|
endNode(linkedNode, nextContext.offset, nextContext.startLoc);
|
|
return {
|
|
nextConsumeToken: token,
|
|
node: linkedNode
|
|
};
|
|
}
|
|
endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return {
|
|
node: linkedNode
|
|
};
|
|
}
|
|
function parseMessage(tokenizer) {
|
|
const context = tokenizer.context();
|
|
const startOffset = context.currentType === 1 ? tokenizer.currentOffset() : context.offset;
|
|
const startLoc = context.currentType === 1 ? context.endLoc : context.startLoc;
|
|
const node = startNode(2, startOffset, startLoc);
|
|
node.items = [];
|
|
let nextToken = null;
|
|
do {
|
|
const token = nextToken || tokenizer.nextToken();
|
|
nextToken = null;
|
|
switch (token.type) {
|
|
case 0:
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
node.items.push(parseText(tokenizer, token.value || ""));
|
|
break;
|
|
case 6:
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
node.items.push(parseList(tokenizer, token.value || ""));
|
|
break;
|
|
case 5:
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
node.items.push(parseNamed(tokenizer, token.value || ""));
|
|
break;
|
|
case 7:
|
|
if (token.value == null) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, getTokenCaption(token));
|
|
}
|
|
node.items.push(parseLiteral(tokenizer, token.value || ""));
|
|
break;
|
|
case 8:
|
|
const parsed = parseLinked(tokenizer);
|
|
node.items.push(parsed.node);
|
|
nextToken = parsed.nextConsumeToken || null;
|
|
break;
|
|
}
|
|
} while (context.currentType !== 14 && context.currentType !== 1);
|
|
const endOffset = context.currentType === 1 ? context.lastOffset : tokenizer.currentOffset();
|
|
const endLoc = context.currentType === 1 ? context.lastEndLoc : tokenizer.currentPosition();
|
|
endNode(node, endOffset, endLoc);
|
|
return node;
|
|
}
|
|
function parsePlural(tokenizer, offset, loc, msgNode) {
|
|
const context = tokenizer.context();
|
|
let hasEmptyMessage = msgNode.items.length === 0;
|
|
const node = startNode(1, offset, loc);
|
|
node.cases = [];
|
|
node.cases.push(msgNode);
|
|
do {
|
|
const msg2 = parseMessage(tokenizer);
|
|
if (!hasEmptyMessage) {
|
|
hasEmptyMessage = msg2.items.length === 0;
|
|
}
|
|
node.cases.push(msg2);
|
|
} while (context.currentType !== 14);
|
|
if (hasEmptyMessage) {
|
|
emitError(tokenizer, 10, loc, 0);
|
|
}
|
|
endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return node;
|
|
}
|
|
function parseResource(tokenizer) {
|
|
const context = tokenizer.context();
|
|
const { offset, startLoc } = context;
|
|
const msgNode = parseMessage(tokenizer);
|
|
if (context.currentType === 14) {
|
|
return msgNode;
|
|
} else {
|
|
return parsePlural(tokenizer, offset, startLoc, msgNode);
|
|
}
|
|
}
|
|
function parse2(source) {
|
|
const tokenizer = createTokenizer(source, assign$1({}, options));
|
|
const context = tokenizer.context();
|
|
const node = startNode(0, context.offset, context.startLoc);
|
|
if (location2 && node.loc) {
|
|
node.loc.source = source;
|
|
}
|
|
node.body = parseResource(tokenizer);
|
|
if (context.currentType !== 14) {
|
|
emitError(tokenizer, 13, context.lastStartLoc, 0, source[context.offset] || "");
|
|
}
|
|
endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());
|
|
return node;
|
|
}
|
|
return { parse: parse2 };
|
|
}
|
|
function getTokenCaption(token) {
|
|
if (token.type === 14) {
|
|
return "EOF";
|
|
}
|
|
const name = (token.value || "").replace(/\r?\n/gu, "\\n");
|
|
return name.length > 10 ? name.slice(0, 9) + "\u2026" : name;
|
|
}
|
|
function createTransformer(ast, options = {}) {
|
|
const _context = {
|
|
ast,
|
|
helpers: /* @__PURE__ */ new Set()
|
|
};
|
|
const context = () => _context;
|
|
const helper = (name) => {
|
|
_context.helpers.add(name);
|
|
return name;
|
|
};
|
|
return { context, helper };
|
|
}
|
|
function traverseNodes(nodes, transformer) {
|
|
for (let i = 0; i < nodes.length; i++) {
|
|
traverseNode(nodes[i], transformer);
|
|
}
|
|
}
|
|
function traverseNode(node, transformer) {
|
|
switch (node.type) {
|
|
case 1:
|
|
traverseNodes(node.cases, transformer);
|
|
transformer.helper("plural");
|
|
break;
|
|
case 2:
|
|
traverseNodes(node.items, transformer);
|
|
break;
|
|
case 6:
|
|
const linked = node;
|
|
traverseNode(linked.key, transformer);
|
|
transformer.helper("linked");
|
|
break;
|
|
case 5:
|
|
transformer.helper("interpolate");
|
|
transformer.helper("list");
|
|
break;
|
|
case 4:
|
|
transformer.helper("interpolate");
|
|
transformer.helper("named");
|
|
break;
|
|
}
|
|
}
|
|
function transform(ast, options = {}) {
|
|
const transformer = createTransformer(ast);
|
|
transformer.helper("normalize");
|
|
ast.body && traverseNode(ast.body, transformer);
|
|
const context = transformer.context();
|
|
ast.helpers = Array.from(context.helpers);
|
|
}
|
|
function createCodeGenerator(ast, options) {
|
|
const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;
|
|
const _context = {
|
|
source: ast.loc.source,
|
|
filename,
|
|
code: "",
|
|
column: 1,
|
|
line: 1,
|
|
offset: 0,
|
|
map: void 0,
|
|
breakLineCode,
|
|
needIndent: _needIndent,
|
|
indentLevel: 0
|
|
};
|
|
const context = () => _context;
|
|
function push(code, node) {
|
|
_context.code += code;
|
|
}
|
|
function _newline(n, withBreakLine = true) {
|
|
const _breakLineCode = withBreakLine ? breakLineCode : "";
|
|
push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);
|
|
}
|
|
function indent(withNewLine = true) {
|
|
const level = ++_context.indentLevel;
|
|
withNewLine && _newline(level);
|
|
}
|
|
function deindent(withNewLine = true) {
|
|
const level = --_context.indentLevel;
|
|
withNewLine && _newline(level);
|
|
}
|
|
function newline() {
|
|
_newline(_context.indentLevel);
|
|
}
|
|
const helper = (key) => `_${key}`;
|
|
const needIndent = () => _context.needIndent;
|
|
return {
|
|
context,
|
|
push,
|
|
indent,
|
|
deindent,
|
|
newline,
|
|
helper,
|
|
needIndent
|
|
};
|
|
}
|
|
function generateLinkedNode(generator, node) {
|
|
const { helper } = generator;
|
|
generator.push(`${helper("linked")}(`);
|
|
generateNode(generator, node.key);
|
|
if (node.modifier) {
|
|
generator.push(`, `);
|
|
generateNode(generator, node.modifier);
|
|
}
|
|
generator.push(`)`);
|
|
}
|
|
function generateMessageNode(generator, node) {
|
|
const { helper, needIndent } = generator;
|
|
generator.push(`${helper("normalize")}([`);
|
|
generator.indent(needIndent());
|
|
const length = node.items.length;
|
|
for (let i = 0; i < length; i++) {
|
|
generateNode(generator, node.items[i]);
|
|
if (i === length - 1) {
|
|
break;
|
|
}
|
|
generator.push(", ");
|
|
}
|
|
generator.deindent(needIndent());
|
|
generator.push("])");
|
|
}
|
|
function generatePluralNode(generator, node) {
|
|
const { helper, needIndent } = generator;
|
|
if (node.cases.length > 1) {
|
|
generator.push(`${helper("plural")}([`);
|
|
generator.indent(needIndent());
|
|
const length = node.cases.length;
|
|
for (let i = 0; i < length; i++) {
|
|
generateNode(generator, node.cases[i]);
|
|
if (i === length - 1) {
|
|
break;
|
|
}
|
|
generator.push(", ");
|
|
}
|
|
generator.deindent(needIndent());
|
|
generator.push(`])`);
|
|
}
|
|
}
|
|
function generateResource(generator, node) {
|
|
if (node.body) {
|
|
generateNode(generator, node.body);
|
|
} else {
|
|
generator.push("null");
|
|
}
|
|
}
|
|
function generateNode(generator, node) {
|
|
const { helper } = generator;
|
|
switch (node.type) {
|
|
case 0:
|
|
generateResource(generator, node);
|
|
break;
|
|
case 1:
|
|
generatePluralNode(generator, node);
|
|
break;
|
|
case 2:
|
|
generateMessageNode(generator, node);
|
|
break;
|
|
case 6:
|
|
generateLinkedNode(generator, node);
|
|
break;
|
|
case 8:
|
|
generator.push(JSON.stringify(node.value), node);
|
|
break;
|
|
case 7:
|
|
generator.push(JSON.stringify(node.value), node);
|
|
break;
|
|
case 5:
|
|
generator.push(`${helper("interpolate")}(${helper("list")}(${node.index}))`, node);
|
|
break;
|
|
case 4:
|
|
generator.push(`${helper("interpolate")}(${helper("named")}(${JSON.stringify(node.key)}))`, node);
|
|
break;
|
|
case 9:
|
|
generator.push(JSON.stringify(node.value), node);
|
|
break;
|
|
case 3:
|
|
generator.push(JSON.stringify(node.value), node);
|
|
break;
|
|
}
|
|
}
|
|
const generate = (ast, options = {}) => {
|
|
const mode = isString$1(options.mode) ? options.mode : "normal";
|
|
const filename = isString$1(options.filename) ? options.filename : "message.intl";
|
|
const sourceMap = !!options.sourceMap;
|
|
const breakLineCode = options.breakLineCode != null ? options.breakLineCode : mode === "arrow" ? ";" : "\n";
|
|
const needIndent = options.needIndent ? options.needIndent : mode !== "arrow";
|
|
const helpers = ast.helpers || [];
|
|
const generator = createCodeGenerator(ast, {
|
|
mode,
|
|
filename,
|
|
sourceMap,
|
|
breakLineCode,
|
|
needIndent
|
|
});
|
|
generator.push(mode === "normal" ? `function __msg__ (ctx) {` : `(ctx) => {`);
|
|
generator.indent(needIndent);
|
|
if (helpers.length > 0) {
|
|
generator.push(`const { ${helpers.map((s) => `${s}: _${s}`).join(", ")} } = ctx`);
|
|
generator.newline();
|
|
}
|
|
generator.push(`return `);
|
|
generateNode(generator, ast);
|
|
generator.deindent(needIndent);
|
|
generator.push(`}`);
|
|
const { code, map } = generator.context();
|
|
return {
|
|
ast,
|
|
code,
|
|
map: map ? map.toJSON() : void 0
|
|
};
|
|
};
|
|
function baseCompile(source, options = {}) {
|
|
const assignedOptions = assign$1({}, options);
|
|
const parser = createParser(assignedOptions);
|
|
const ast = parser.parse(source);
|
|
transform(ast, assignedOptions);
|
|
return generate(ast, assignedOptions);
|
|
}
|
|
/*!
|
|
* @intlify/devtools-if v9.1.10
|
|
* (c) 2022 kazuya kawaguchi
|
|
* Released under the MIT License.
|
|
*/
|
|
const IntlifyDevToolsHooks = {
|
|
I18nInit: "i18n:init",
|
|
FunctionTranslate: "function:translate"
|
|
};
|
|
/*!
|
|
* @intlify/core-base v9.1.10
|
|
* (c) 2022 kazuya kawaguchi
|
|
* Released under the MIT License.
|
|
*/
|
|
let devtools = null;
|
|
function setDevToolsHook(hook) {
|
|
devtools = hook;
|
|
}
|
|
function initI18nDevTools(i18n2, version, meta) {
|
|
devtools && devtools.emit(IntlifyDevToolsHooks.I18nInit, {
|
|
timestamp: Date.now(),
|
|
i18n: i18n2,
|
|
version,
|
|
meta
|
|
});
|
|
}
|
|
const translateDevTools = /* @__PURE__ */ createDevToolsHook(IntlifyDevToolsHooks.FunctionTranslate);
|
|
function createDevToolsHook(hook) {
|
|
return (payloads) => devtools && devtools.emit(hook, payloads);
|
|
}
|
|
const VERSION$1 = "9.1.10";
|
|
const NOT_REOSLVED = -1;
|
|
const MISSING_RESOLVE_VALUE = "";
|
|
function getDefaultLinkedModifiers() {
|
|
return {
|
|
upper: (val) => isString$1(val) ? val.toUpperCase() : val,
|
|
lower: (val) => isString$1(val) ? val.toLowerCase() : val,
|
|
capitalize: (val) => isString$1(val) ? `${val.charAt(0).toLocaleUpperCase()}${val.substr(1)}` : val
|
|
};
|
|
}
|
|
let _compiler;
|
|
function registerMessageCompiler(compiler) {
|
|
_compiler = compiler;
|
|
}
|
|
let _additionalMeta = null;
|
|
const setAdditionalMeta = (meta) => {
|
|
_additionalMeta = meta;
|
|
};
|
|
const getAdditionalMeta = () => _additionalMeta;
|
|
let _cid = 0;
|
|
function createCoreContext(options = {}) {
|
|
const version = isString$1(options.version) ? options.version : VERSION$1;
|
|
const locale = isString$1(options.locale) ? options.locale : "en-US";
|
|
const fallbackLocale = isArray$1(options.fallbackLocale) || isPlainObject$1(options.fallbackLocale) || isString$1(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : locale;
|
|
const messages2 = isPlainObject$1(options.messages) ? options.messages : { [locale]: {} };
|
|
const datetimeFormats = isPlainObject$1(options.datetimeFormats) ? options.datetimeFormats : { [locale]: {} };
|
|
const numberFormats = isPlainObject$1(options.numberFormats) ? options.numberFormats : { [locale]: {} };
|
|
const modifiers = assign$1({}, options.modifiers || {}, getDefaultLinkedModifiers());
|
|
const pluralRules = options.pluralRules || {};
|
|
const missing = isFunction$3(options.missing) ? options.missing : null;
|
|
const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
|
|
const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
|
|
const fallbackFormat = !!options.fallbackFormat;
|
|
const unresolving = !!options.unresolving;
|
|
const postTranslation = isFunction$3(options.postTranslation) ? options.postTranslation : null;
|
|
const processor = isPlainObject$1(options.processor) ? options.processor : null;
|
|
const warnHtmlMessage = isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true;
|
|
const escapeParameter = !!options.escapeParameter;
|
|
const messageCompiler = isFunction$3(options.messageCompiler) ? options.messageCompiler : _compiler;
|
|
const onWarn = isFunction$3(options.onWarn) ? options.onWarn : warn;
|
|
const internalOptions = options;
|
|
const __datetimeFormatters = isObject$3(internalOptions.__datetimeFormatters) ? internalOptions.__datetimeFormatters : /* @__PURE__ */ new Map();
|
|
const __numberFormatters = isObject$3(internalOptions.__numberFormatters) ? internalOptions.__numberFormatters : /* @__PURE__ */ new Map();
|
|
const __meta = isObject$3(internalOptions.__meta) ? internalOptions.__meta : {};
|
|
_cid++;
|
|
const context = {
|
|
version,
|
|
cid: _cid,
|
|
locale,
|
|
fallbackLocale,
|
|
messages: messages2,
|
|
datetimeFormats,
|
|
numberFormats,
|
|
modifiers,
|
|
pluralRules,
|
|
missing,
|
|
missingWarn,
|
|
fallbackWarn,
|
|
fallbackFormat,
|
|
unresolving,
|
|
postTranslation,
|
|
processor,
|
|
warnHtmlMessage,
|
|
escapeParameter,
|
|
messageCompiler,
|
|
onWarn,
|
|
__datetimeFormatters,
|
|
__numberFormatters,
|
|
__meta
|
|
};
|
|
if (__INTLIFY_PROD_DEVTOOLS__) {
|
|
initI18nDevTools(context, version, __meta);
|
|
}
|
|
return context;
|
|
}
|
|
function handleMissing(context, key, locale, missingWarn, type4) {
|
|
const { missing, onWarn } = context;
|
|
if (missing !== null) {
|
|
const ret = missing(context, locale, key, type4);
|
|
return isString$1(ret) ? ret : key;
|
|
} else {
|
|
return key;
|
|
}
|
|
}
|
|
function getLocaleChain(ctx, fallback, start) {
|
|
const context = ctx;
|
|
if (!context.__localeChainCache) {
|
|
context.__localeChainCache = /* @__PURE__ */ new Map();
|
|
}
|
|
let chain = context.__localeChainCache.get(start);
|
|
if (!chain) {
|
|
chain = [];
|
|
let block = [start];
|
|
while (isArray$1(block)) {
|
|
block = appendBlockToChain(chain, block, fallback);
|
|
}
|
|
const defaults = isArray$1(fallback) ? fallback : isPlainObject$1(fallback) ? fallback["default"] ? fallback["default"] : null : fallback;
|
|
block = isString$1(defaults) ? [defaults] : defaults;
|
|
if (isArray$1(block)) {
|
|
appendBlockToChain(chain, block, false);
|
|
}
|
|
context.__localeChainCache.set(start, chain);
|
|
}
|
|
return chain;
|
|
}
|
|
function appendBlockToChain(chain, block, blocks) {
|
|
let follow = true;
|
|
for (let i = 0; i < block.length && isBoolean(follow); i++) {
|
|
const locale = block[i];
|
|
if (isString$1(locale)) {
|
|
follow = appendLocaleToChain(chain, block[i], blocks);
|
|
}
|
|
}
|
|
return follow;
|
|
}
|
|
function appendLocaleToChain(chain, locale, blocks) {
|
|
let follow;
|
|
const tokens = locale.split("-");
|
|
do {
|
|
const target = tokens.join("-");
|
|
follow = appendItemToChain(chain, target, blocks);
|
|
tokens.splice(-1, 1);
|
|
} while (tokens.length && follow === true);
|
|
return follow;
|
|
}
|
|
function appendItemToChain(chain, target, blocks) {
|
|
let follow = false;
|
|
if (!chain.includes(target)) {
|
|
follow = true;
|
|
if (target) {
|
|
follow = target[target.length - 1] !== "!";
|
|
const locale = target.replace(/!/g, "");
|
|
chain.push(locale);
|
|
if ((isArray$1(blocks) || isPlainObject$1(blocks)) && blocks[locale]) {
|
|
follow = blocks[locale];
|
|
}
|
|
}
|
|
}
|
|
return follow;
|
|
}
|
|
function updateFallbackLocale(ctx, locale, fallback) {
|
|
const context = ctx;
|
|
context.__localeChainCache = /* @__PURE__ */ new Map();
|
|
getLocaleChain(ctx, fallback, locale);
|
|
}
|
|
const defaultOnCacheKey = (source) => source;
|
|
let compileCache = /* @__PURE__ */ Object.create(null);
|
|
function compileToFunction(source, options = {}) {
|
|
{
|
|
const onCacheKey = options.onCacheKey || defaultOnCacheKey;
|
|
const key = onCacheKey(source);
|
|
const cached = compileCache[key];
|
|
if (cached) {
|
|
return cached;
|
|
}
|
|
let occurred = false;
|
|
const onError = options.onError || defaultOnError;
|
|
options.onError = (err) => {
|
|
occurred = true;
|
|
onError(err);
|
|
};
|
|
const { code } = baseCompile(source, options);
|
|
const msg2 = new Function(`return ${code}`)();
|
|
return !occurred ? compileCache[key] = msg2 : msg2;
|
|
}
|
|
}
|
|
function createCoreError(code) {
|
|
return createCompileError(code, null, void 0);
|
|
}
|
|
const NOOP_MESSAGE_FUNCTION = () => "";
|
|
const isMessageFunction = (val) => isFunction$3(val);
|
|
function translate(context, ...args) {
|
|
const { fallbackFormat, postTranslation, unresolving, fallbackLocale, messages: messages2 } = context;
|
|
const [key, options] = parseTranslateArgs(...args);
|
|
const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
|
|
const fallbackWarn = isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
|
|
const escapeParameter = isBoolean(options.escapeParameter) ? options.escapeParameter : context.escapeParameter;
|
|
const resolvedMessage = !!options.resolvedMessage;
|
|
const defaultMsgOrKey = isString$1(options.default) || isBoolean(options.default) ? !isBoolean(options.default) ? options.default : key : fallbackFormat ? key : "";
|
|
const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== "";
|
|
const locale = isString$1(options.locale) ? options.locale : context.locale;
|
|
escapeParameter && escapeParams(options);
|
|
let [format2, targetLocale, message] = !resolvedMessage ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) : [
|
|
key,
|
|
locale,
|
|
messages2[locale] || {}
|
|
];
|
|
let cacheBaseKey = key;
|
|
if (!resolvedMessage && !(isString$1(format2) || isMessageFunction(format2))) {
|
|
if (enableDefaultMsg) {
|
|
format2 = defaultMsgOrKey;
|
|
cacheBaseKey = format2;
|
|
}
|
|
}
|
|
if (!resolvedMessage && (!(isString$1(format2) || isMessageFunction(format2)) || !isString$1(targetLocale))) {
|
|
return unresolving ? NOT_REOSLVED : key;
|
|
}
|
|
let occurred = false;
|
|
const errorDetector = () => {
|
|
occurred = true;
|
|
};
|
|
const msg2 = !isMessageFunction(format2) ? compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, errorDetector) : format2;
|
|
if (occurred) {
|
|
return format2;
|
|
}
|
|
const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);
|
|
const msgContext = createMessageContext(ctxOptions);
|
|
const messaged = evaluateMessage(context, msg2, msgContext);
|
|
const ret = postTranslation ? postTranslation(messaged) : messaged;
|
|
if (__INTLIFY_PROD_DEVTOOLS__) {
|
|
const payloads = {
|
|
timestamp: Date.now(),
|
|
key: isString$1(key) ? key : isMessageFunction(format2) ? format2.key : "",
|
|
locale: targetLocale || (isMessageFunction(format2) ? format2.locale : ""),
|
|
format: isString$1(format2) ? format2 : isMessageFunction(format2) ? format2.source : "",
|
|
message: ret
|
|
};
|
|
payloads.meta = assign$1({}, context.__meta, getAdditionalMeta() || {});
|
|
translateDevTools(payloads);
|
|
}
|
|
return ret;
|
|
}
|
|
function escapeParams(options) {
|
|
if (isArray$1(options.list)) {
|
|
options.list = options.list.map((item) => isString$1(item) ? escapeHtml(item) : item);
|
|
} else if (isObject$3(options.named)) {
|
|
Object.keys(options.named).forEach((key) => {
|
|
if (isString$1(options.named[key])) {
|
|
options.named[key] = escapeHtml(options.named[key]);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {
|
|
const { messages: messages2, onWarn } = context;
|
|
const locales = getLocaleChain(context, fallbackLocale, locale);
|
|
let message = {};
|
|
let targetLocale;
|
|
let format2 = null;
|
|
const type4 = "translate";
|
|
for (let i = 0; i < locales.length; i++) {
|
|
targetLocale = locales[i];
|
|
message = messages2[targetLocale] || {};
|
|
if ((format2 = resolveValue(message, key)) === null) {
|
|
format2 = message[key];
|
|
}
|
|
if (isString$1(format2) || isFunction$3(format2))
|
|
break;
|
|
const missingRet = handleMissing(context, key, targetLocale, missingWarn, type4);
|
|
if (missingRet !== key) {
|
|
format2 = missingRet;
|
|
}
|
|
}
|
|
return [format2, targetLocale, message];
|
|
}
|
|
function compileMessageFormat(context, key, targetLocale, format2, cacheBaseKey, errorDetector) {
|
|
const { messageCompiler, warnHtmlMessage } = context;
|
|
if (isMessageFunction(format2)) {
|
|
const msg3 = format2;
|
|
msg3.locale = msg3.locale || targetLocale;
|
|
msg3.key = msg3.key || key;
|
|
return msg3;
|
|
}
|
|
const msg2 = messageCompiler(format2, getCompileOptions(context, targetLocale, cacheBaseKey, format2, warnHtmlMessage, errorDetector));
|
|
msg2.locale = targetLocale;
|
|
msg2.key = key;
|
|
msg2.source = format2;
|
|
return msg2;
|
|
}
|
|
function evaluateMessage(context, msg2, msgCtx) {
|
|
const messaged = msg2(msgCtx);
|
|
return messaged;
|
|
}
|
|
function parseTranslateArgs(...args) {
|
|
const [arg1, arg2, arg3] = args;
|
|
const options = {};
|
|
if (!isString$1(arg1) && !isNumber$2(arg1) && !isMessageFunction(arg1)) {
|
|
throw createCoreError(14);
|
|
}
|
|
const key = isNumber$2(arg1) ? String(arg1) : isMessageFunction(arg1) ? arg1 : arg1;
|
|
if (isNumber$2(arg2)) {
|
|
options.plural = arg2;
|
|
} else if (isString$1(arg2)) {
|
|
options.default = arg2;
|
|
} else if (isPlainObject$1(arg2) && !isEmptyObject(arg2)) {
|
|
options.named = arg2;
|
|
} else if (isArray$1(arg2)) {
|
|
options.list = arg2;
|
|
}
|
|
if (isNumber$2(arg3)) {
|
|
options.plural = arg3;
|
|
} else if (isString$1(arg3)) {
|
|
options.default = arg3;
|
|
} else if (isPlainObject$1(arg3)) {
|
|
assign$1(options, arg3);
|
|
}
|
|
return [key, options];
|
|
}
|
|
function getCompileOptions(context, locale, key, source, warnHtmlMessage, errorDetector) {
|
|
return {
|
|
warnHtmlMessage,
|
|
onError: (err) => {
|
|
errorDetector && errorDetector(err);
|
|
{
|
|
throw err;
|
|
}
|
|
},
|
|
onCacheKey: (source2) => generateFormatCacheKey(locale, key, source2)
|
|
};
|
|
}
|
|
function getMessageContextOptions(context, locale, message, options) {
|
|
const { modifiers, pluralRules } = context;
|
|
const resolveMessage = (key) => {
|
|
const val = resolveValue(message, key);
|
|
if (isString$1(val)) {
|
|
let occurred = false;
|
|
const errorDetector = () => {
|
|
occurred = true;
|
|
};
|
|
const msg2 = compileMessageFormat(context, key, locale, val, key, errorDetector);
|
|
return !occurred ? msg2 : NOOP_MESSAGE_FUNCTION;
|
|
} else if (isMessageFunction(val)) {
|
|
return val;
|
|
} else {
|
|
return NOOP_MESSAGE_FUNCTION;
|
|
}
|
|
};
|
|
const ctxOptions = {
|
|
locale,
|
|
modifiers,
|
|
pluralRules,
|
|
messages: resolveMessage
|
|
};
|
|
if (context.processor) {
|
|
ctxOptions.processor = context.processor;
|
|
}
|
|
if (options.list) {
|
|
ctxOptions.list = options.list;
|
|
}
|
|
if (options.named) {
|
|
ctxOptions.named = options.named;
|
|
}
|
|
if (isNumber$2(options.plural)) {
|
|
ctxOptions.pluralIndex = options.plural;
|
|
}
|
|
return ctxOptions;
|
|
}
|
|
function datetime(context, ...args) {
|
|
const { datetimeFormats, unresolving, fallbackLocale, onWarn } = context;
|
|
const { __datetimeFormatters } = context;
|
|
const [key, value, options, overrides] = parseDateTimeArgs(...args);
|
|
const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
|
|
isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
|
|
const part = !!options.part;
|
|
const locale = isString$1(options.locale) ? options.locale : context.locale;
|
|
const locales = getLocaleChain(context, fallbackLocale, locale);
|
|
if (!isString$1(key) || key === "") {
|
|
return new Intl.DateTimeFormat(locale).format(value);
|
|
}
|
|
let datetimeFormat = {};
|
|
let targetLocale;
|
|
let format2 = null;
|
|
const type4 = "datetime format";
|
|
for (let i = 0; i < locales.length; i++) {
|
|
targetLocale = locales[i];
|
|
datetimeFormat = datetimeFormats[targetLocale] || {};
|
|
format2 = datetimeFormat[key];
|
|
if (isPlainObject$1(format2))
|
|
break;
|
|
handleMissing(context, key, targetLocale, missingWarn, type4);
|
|
}
|
|
if (!isPlainObject$1(format2) || !isString$1(targetLocale)) {
|
|
return unresolving ? NOT_REOSLVED : key;
|
|
}
|
|
let id = `${targetLocale}__${key}`;
|
|
if (!isEmptyObject(overrides)) {
|
|
id = `${id}__${JSON.stringify(overrides)}`;
|
|
}
|
|
let formatter = __datetimeFormatters.get(id);
|
|
if (!formatter) {
|
|
formatter = new Intl.DateTimeFormat(targetLocale, assign$1({}, format2, overrides));
|
|
__datetimeFormatters.set(id, formatter);
|
|
}
|
|
return !part ? formatter.format(value) : formatter.formatToParts(value);
|
|
}
|
|
function parseDateTimeArgs(...args) {
|
|
const [arg1, arg2, arg3, arg4] = args;
|
|
let options = {};
|
|
let overrides = {};
|
|
let value;
|
|
if (isString$1(arg1)) {
|
|
if (!/\d{4}-\d{2}-\d{2}(T.*)?/.test(arg1)) {
|
|
throw createCoreError(16);
|
|
}
|
|
value = new Date(arg1);
|
|
try {
|
|
value.toISOString();
|
|
} catch (e) {
|
|
throw createCoreError(16);
|
|
}
|
|
} else if (isDate(arg1)) {
|
|
if (isNaN(arg1.getTime())) {
|
|
throw createCoreError(15);
|
|
}
|
|
value = arg1;
|
|
} else if (isNumber$2(arg1)) {
|
|
value = arg1;
|
|
} else {
|
|
throw createCoreError(14);
|
|
}
|
|
if (isString$1(arg2)) {
|
|
options.key = arg2;
|
|
} else if (isPlainObject$1(arg2)) {
|
|
options = arg2;
|
|
}
|
|
if (isString$1(arg3)) {
|
|
options.locale = arg3;
|
|
} else if (isPlainObject$1(arg3)) {
|
|
overrides = arg3;
|
|
}
|
|
if (isPlainObject$1(arg4)) {
|
|
overrides = arg4;
|
|
}
|
|
return [options.key || "", value, options, overrides];
|
|
}
|
|
function clearDateTimeFormat(ctx, locale, format2) {
|
|
const context = ctx;
|
|
for (const key in format2) {
|
|
const id = `${locale}__${key}`;
|
|
if (!context.__datetimeFormatters.has(id)) {
|
|
continue;
|
|
}
|
|
context.__datetimeFormatters.delete(id);
|
|
}
|
|
}
|
|
function number$1(context, ...args) {
|
|
const { numberFormats, unresolving, fallbackLocale, onWarn } = context;
|
|
const { __numberFormatters } = context;
|
|
const [key, value, options, overrides] = parseNumberArgs(...args);
|
|
const missingWarn = isBoolean(options.missingWarn) ? options.missingWarn : context.missingWarn;
|
|
isBoolean(options.fallbackWarn) ? options.fallbackWarn : context.fallbackWarn;
|
|
const part = !!options.part;
|
|
const locale = isString$1(options.locale) ? options.locale : context.locale;
|
|
const locales = getLocaleChain(context, fallbackLocale, locale);
|
|
if (!isString$1(key) || key === "") {
|
|
return new Intl.NumberFormat(locale).format(value);
|
|
}
|
|
let numberFormat = {};
|
|
let targetLocale;
|
|
let format2 = null;
|
|
const type4 = "number format";
|
|
for (let i = 0; i < locales.length; i++) {
|
|
targetLocale = locales[i];
|
|
numberFormat = numberFormats[targetLocale] || {};
|
|
format2 = numberFormat[key];
|
|
if (isPlainObject$1(format2))
|
|
break;
|
|
handleMissing(context, key, targetLocale, missingWarn, type4);
|
|
}
|
|
if (!isPlainObject$1(format2) || !isString$1(targetLocale)) {
|
|
return unresolving ? NOT_REOSLVED : key;
|
|
}
|
|
let id = `${targetLocale}__${key}`;
|
|
if (!isEmptyObject(overrides)) {
|
|
id = `${id}__${JSON.stringify(overrides)}`;
|
|
}
|
|
let formatter = __numberFormatters.get(id);
|
|
if (!formatter) {
|
|
formatter = new Intl.NumberFormat(targetLocale, assign$1({}, format2, overrides));
|
|
__numberFormatters.set(id, formatter);
|
|
}
|
|
return !part ? formatter.format(value) : formatter.formatToParts(value);
|
|
}
|
|
function parseNumberArgs(...args) {
|
|
const [arg1, arg2, arg3, arg4] = args;
|
|
let options = {};
|
|
let overrides = {};
|
|
if (!isNumber$2(arg1)) {
|
|
throw createCoreError(14);
|
|
}
|
|
const value = arg1;
|
|
if (isString$1(arg2)) {
|
|
options.key = arg2;
|
|
} else if (isPlainObject$1(arg2)) {
|
|
options = arg2;
|
|
}
|
|
if (isString$1(arg3)) {
|
|
options.locale = arg3;
|
|
} else if (isPlainObject$1(arg3)) {
|
|
overrides = arg3;
|
|
}
|
|
if (isPlainObject$1(arg4)) {
|
|
overrides = arg4;
|
|
}
|
|
return [options.key || "", value, options, overrides];
|
|
}
|
|
function clearNumberFormat(ctx, locale, format2) {
|
|
const context = ctx;
|
|
for (const key in format2) {
|
|
const id = `${locale}__${key}`;
|
|
if (!context.__numberFormatters.has(id)) {
|
|
continue;
|
|
}
|
|
context.__numberFormatters.delete(id);
|
|
}
|
|
}
|
|
{
|
|
if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") {
|
|
getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;
|
|
}
|
|
}
|
|
/*!
|
|
* vue-i18n v9.1.10
|
|
* (c) 2022 kazuya kawaguchi
|
|
* Released under the MIT License.
|
|
*/
|
|
const VERSION = "9.1.10";
|
|
function initFeatureFlags() {
|
|
if (typeof __VUE_I18N_FULL_INSTALL__ !== "boolean") {
|
|
getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;
|
|
}
|
|
if (typeof __VUE_I18N_LEGACY_API__ !== "boolean") {
|
|
getGlobalThis().__VUE_I18N_LEGACY_API__ = true;
|
|
}
|
|
if (typeof __INTLIFY_PROD_DEVTOOLS__ !== "boolean") {
|
|
getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;
|
|
}
|
|
}
|
|
function createI18nError(code, ...args) {
|
|
return createCompileError(code, null, void 0);
|
|
}
|
|
const DEVTOOLS_META = "__INTLIFY_META__";
|
|
const TransrateVNodeSymbol = makeSymbol("__transrateVNode");
|
|
const DatetimePartsSymbol = makeSymbol("__datetimeParts");
|
|
const NumberPartsSymbol = makeSymbol("__numberParts");
|
|
makeSymbol("__enableEmitter");
|
|
makeSymbol("__disableEmitter");
|
|
const SetPluralRulesSymbol = makeSymbol("__setPluralRules");
|
|
makeSymbol("__intlifyMeta");
|
|
const InejctWithOption = makeSymbol("__injectWithOption");
|
|
let composerID = 0;
|
|
function defineCoreMissingHandler(missing) {
|
|
return (ctx, locale, key, type4) => {
|
|
return missing(locale, key, getCurrentInstance() || void 0, type4);
|
|
};
|
|
}
|
|
function getLocaleMessages(locale, options) {
|
|
const { messages: messages2, __i18n } = options;
|
|
const ret = isPlainObject$1(messages2) ? messages2 : isArray$1(__i18n) ? {} : { [locale]: {} };
|
|
if (isArray$1(__i18n)) {
|
|
__i18n.forEach(({ locale: locale2, resource }) => {
|
|
if (locale2) {
|
|
ret[locale2] = ret[locale2] || {};
|
|
deepCopy(resource, ret[locale2]);
|
|
} else {
|
|
deepCopy(resource, ret);
|
|
}
|
|
});
|
|
}
|
|
if (options.flatJson) {
|
|
for (const key in ret) {
|
|
if (hasOwn$1(ret, key)) {
|
|
handleFlatJson(ret[key]);
|
|
}
|
|
}
|
|
}
|
|
return ret;
|
|
}
|
|
const isNotObjectOrIsArray = (val) => !isObject$3(val) || isArray$1(val);
|
|
function deepCopy(src, des) {
|
|
if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {
|
|
throw createI18nError(20);
|
|
}
|
|
for (const key in src) {
|
|
if (hasOwn$1(src, key)) {
|
|
if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {
|
|
des[key] = src[key];
|
|
} else {
|
|
deepCopy(src[key], des[key]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
const getMetaInfo = () => {
|
|
const instance = getCurrentInstance();
|
|
return instance && instance.type[DEVTOOLS_META] ? { [DEVTOOLS_META]: instance.type[DEVTOOLS_META] } : null;
|
|
};
|
|
function createComposer(options = {}) {
|
|
const { __root } = options;
|
|
const _isGlobal = __root === void 0;
|
|
let _inheritLocale = isBoolean(options.inheritLocale) ? options.inheritLocale : true;
|
|
const _locale = ref(__root && _inheritLocale ? __root.locale.value : isString$1(options.locale) ? options.locale : "en-US");
|
|
const _fallbackLocale = ref(__root && _inheritLocale ? __root.fallbackLocale.value : isString$1(options.fallbackLocale) || isArray$1(options.fallbackLocale) || isPlainObject$1(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : _locale.value);
|
|
const _messages = ref(getLocaleMessages(_locale.value, options));
|
|
const _datetimeFormats = ref(isPlainObject$1(options.datetimeFormats) ? options.datetimeFormats : { [_locale.value]: {} });
|
|
const _numberFormats = ref(isPlainObject$1(options.numberFormats) ? options.numberFormats : { [_locale.value]: {} });
|
|
let _missingWarn = __root ? __root.missingWarn : isBoolean(options.missingWarn) || isRegExp(options.missingWarn) ? options.missingWarn : true;
|
|
let _fallbackWarn = __root ? __root.fallbackWarn : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn) ? options.fallbackWarn : true;
|
|
let _fallbackRoot = __root ? __root.fallbackRoot : isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
|
|
let _fallbackFormat = !!options.fallbackFormat;
|
|
let _missing = isFunction$3(options.missing) ? options.missing : null;
|
|
let _runtimeMissing = isFunction$3(options.missing) ? defineCoreMissingHandler(options.missing) : null;
|
|
let _postTranslation = isFunction$3(options.postTranslation) ? options.postTranslation : null;
|
|
let _warnHtmlMessage = isBoolean(options.warnHtmlMessage) ? options.warnHtmlMessage : true;
|
|
let _escapeParameter = !!options.escapeParameter;
|
|
const _modifiers = __root ? __root.modifiers : isPlainObject$1(options.modifiers) ? options.modifiers : {};
|
|
let _pluralRules = options.pluralRules || __root && __root.pluralRules;
|
|
let _context;
|
|
function getCoreContext() {
|
|
return createCoreContext({
|
|
version: VERSION,
|
|
locale: _locale.value,
|
|
fallbackLocale: _fallbackLocale.value,
|
|
messages: _messages.value,
|
|
datetimeFormats: _datetimeFormats.value,
|
|
numberFormats: _numberFormats.value,
|
|
modifiers: _modifiers,
|
|
pluralRules: _pluralRules,
|
|
missing: _runtimeMissing === null ? void 0 : _runtimeMissing,
|
|
missingWarn: _missingWarn,
|
|
fallbackWarn: _fallbackWarn,
|
|
fallbackFormat: _fallbackFormat,
|
|
unresolving: true,
|
|
postTranslation: _postTranslation === null ? void 0 : _postTranslation,
|
|
warnHtmlMessage: _warnHtmlMessage,
|
|
escapeParameter: _escapeParameter,
|
|
__datetimeFormatters: isPlainObject$1(_context) ? _context.__datetimeFormatters : void 0,
|
|
__numberFormatters: isPlainObject$1(_context) ? _context.__numberFormatters : void 0,
|
|
__v_emitter: isPlainObject$1(_context) ? _context.__v_emitter : void 0,
|
|
__meta: { framework: "vue" }
|
|
});
|
|
}
|
|
_context = getCoreContext();
|
|
updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
|
|
function trackReactivityValues() {
|
|
return [
|
|
_locale.value,
|
|
_fallbackLocale.value,
|
|
_messages.value,
|
|
_datetimeFormats.value,
|
|
_numberFormats.value
|
|
];
|
|
}
|
|
const locale = computed$1({
|
|
get: () => _locale.value,
|
|
set: (val) => {
|
|
_locale.value = val;
|
|
_context.locale = _locale.value;
|
|
}
|
|
});
|
|
const fallbackLocale = computed$1({
|
|
get: () => _fallbackLocale.value,
|
|
set: (val) => {
|
|
_fallbackLocale.value = val;
|
|
_context.fallbackLocale = _fallbackLocale.value;
|
|
updateFallbackLocale(_context, _locale.value, val);
|
|
}
|
|
});
|
|
const messages2 = computed$1(() => _messages.value);
|
|
const datetimeFormats = computed$1(() => _datetimeFormats.value);
|
|
const numberFormats = computed$1(() => _numberFormats.value);
|
|
function getPostTranslationHandler() {
|
|
return isFunction$3(_postTranslation) ? _postTranslation : null;
|
|
}
|
|
function setPostTranslationHandler(handler) {
|
|
_postTranslation = handler;
|
|
_context.postTranslation = handler;
|
|
}
|
|
function getMissingHandler() {
|
|
return _missing;
|
|
}
|
|
function setMissingHandler(handler) {
|
|
if (handler !== null) {
|
|
_runtimeMissing = defineCoreMissingHandler(handler);
|
|
}
|
|
_missing = handler;
|
|
_context.missing = _runtimeMissing;
|
|
}
|
|
function wrapWithDeps(fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) {
|
|
trackReactivityValues();
|
|
let ret;
|
|
if (__INTLIFY_PROD_DEVTOOLS__) {
|
|
try {
|
|
setAdditionalMeta(getMetaInfo());
|
|
ret = fn(_context);
|
|
} finally {
|
|
setAdditionalMeta(null);
|
|
}
|
|
} else {
|
|
ret = fn(_context);
|
|
}
|
|
if (isNumber$2(ret) && ret === NOT_REOSLVED) {
|
|
const [key, arg2] = argumentParser();
|
|
return __root && _fallbackRoot ? fallbackSuccess(__root) : fallbackFail(key);
|
|
} else if (successCondition(ret)) {
|
|
return ret;
|
|
} else {
|
|
throw createI18nError(14);
|
|
}
|
|
}
|
|
function t(...args) {
|
|
return wrapWithDeps((context) => translate(context, ...args), () => parseTranslateArgs(...args), "translate", (root) => root.t(...args), (key) => key, (val) => isString$1(val));
|
|
}
|
|
function rt(...args) {
|
|
const [arg1, arg2, arg3] = args;
|
|
if (arg3 && !isObject$3(arg3)) {
|
|
throw createI18nError(15);
|
|
}
|
|
return t(...[arg1, arg2, assign$1({ resolvedMessage: true }, arg3 || {})]);
|
|
}
|
|
function d(...args) {
|
|
return wrapWithDeps((context) => datetime(context, ...args), () => parseDateTimeArgs(...args), "datetime format", (root) => root.d(...args), () => MISSING_RESOLVE_VALUE, (val) => isString$1(val));
|
|
}
|
|
function n(...args) {
|
|
return wrapWithDeps((context) => number$1(context, ...args), () => parseNumberArgs(...args), "number format", (root) => root.n(...args), () => MISSING_RESOLVE_VALUE, (val) => isString$1(val));
|
|
}
|
|
function normalize(values) {
|
|
return values.map((val) => isString$1(val) ? createVNode(Text, null, val, 0) : val);
|
|
}
|
|
const interpolate = (val) => val;
|
|
const processor = {
|
|
normalize,
|
|
interpolate,
|
|
type: "vnode"
|
|
};
|
|
function transrateVNode(...args) {
|
|
return wrapWithDeps((context) => {
|
|
let ret;
|
|
const _context2 = context;
|
|
try {
|
|
_context2.processor = processor;
|
|
ret = translate(_context2, ...args);
|
|
} finally {
|
|
_context2.processor = null;
|
|
}
|
|
return ret;
|
|
}, () => parseTranslateArgs(...args), "translate", (root) => root[TransrateVNodeSymbol](...args), (key) => [createVNode(Text, null, key, 0)], (val) => isArray$1(val));
|
|
}
|
|
function numberParts(...args) {
|
|
return wrapWithDeps((context) => number$1(context, ...args), () => parseNumberArgs(...args), "number format", (root) => root[NumberPartsSymbol](...args), () => [], (val) => isString$1(val) || isArray$1(val));
|
|
}
|
|
function datetimeParts(...args) {
|
|
return wrapWithDeps((context) => datetime(context, ...args), () => parseDateTimeArgs(...args), "datetime format", (root) => root[DatetimePartsSymbol](...args), () => [], (val) => isString$1(val) || isArray$1(val));
|
|
}
|
|
function setPluralRules(rules2) {
|
|
_pluralRules = rules2;
|
|
_context.pluralRules = _pluralRules;
|
|
}
|
|
function te(key, locale2) {
|
|
const targetLocale = isString$1(locale2) ? locale2 : _locale.value;
|
|
const message = getLocaleMessage(targetLocale);
|
|
return resolveValue(message, key) !== null;
|
|
}
|
|
function resolveMessages(key) {
|
|
let messages3 = null;
|
|
const locales = getLocaleChain(_context, _fallbackLocale.value, _locale.value);
|
|
for (let i = 0; i < locales.length; i++) {
|
|
const targetLocaleMessages = _messages.value[locales[i]] || {};
|
|
const messageValue = resolveValue(targetLocaleMessages, key);
|
|
if (messageValue != null) {
|
|
messages3 = messageValue;
|
|
break;
|
|
}
|
|
}
|
|
return messages3;
|
|
}
|
|
function tm(key) {
|
|
const messages3 = resolveMessages(key);
|
|
return messages3 != null ? messages3 : __root ? __root.tm(key) || {} : {};
|
|
}
|
|
function getLocaleMessage(locale2) {
|
|
return _messages.value[locale2] || {};
|
|
}
|
|
function setLocaleMessage(locale2, message) {
|
|
_messages.value[locale2] = message;
|
|
_context.messages = _messages.value;
|
|
}
|
|
function mergeLocaleMessage(locale2, message) {
|
|
_messages.value[locale2] = _messages.value[locale2] || {};
|
|
deepCopy(message, _messages.value[locale2]);
|
|
_context.messages = _messages.value;
|
|
}
|
|
function getDateTimeFormat(locale2) {
|
|
return _datetimeFormats.value[locale2] || {};
|
|
}
|
|
function setDateTimeFormat(locale2, format2) {
|
|
_datetimeFormats.value[locale2] = format2;
|
|
_context.datetimeFormats = _datetimeFormats.value;
|
|
clearDateTimeFormat(_context, locale2, format2);
|
|
}
|
|
function mergeDateTimeFormat(locale2, format2) {
|
|
_datetimeFormats.value[locale2] = assign$1(_datetimeFormats.value[locale2] || {}, format2);
|
|
_context.datetimeFormats = _datetimeFormats.value;
|
|
clearDateTimeFormat(_context, locale2, format2);
|
|
}
|
|
function getNumberFormat(locale2) {
|
|
return _numberFormats.value[locale2] || {};
|
|
}
|
|
function setNumberFormat(locale2, format2) {
|
|
_numberFormats.value[locale2] = format2;
|
|
_context.numberFormats = _numberFormats.value;
|
|
clearNumberFormat(_context, locale2, format2);
|
|
}
|
|
function mergeNumberFormat(locale2, format2) {
|
|
_numberFormats.value[locale2] = assign$1(_numberFormats.value[locale2] || {}, format2);
|
|
_context.numberFormats = _numberFormats.value;
|
|
clearNumberFormat(_context, locale2, format2);
|
|
}
|
|
composerID++;
|
|
if (__root) {
|
|
watch(__root.locale, (val) => {
|
|
if (_inheritLocale) {
|
|
_locale.value = val;
|
|
_context.locale = val;
|
|
updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
|
|
}
|
|
});
|
|
watch(__root.fallbackLocale, (val) => {
|
|
if (_inheritLocale) {
|
|
_fallbackLocale.value = val;
|
|
_context.fallbackLocale = val;
|
|
updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
|
|
}
|
|
});
|
|
}
|
|
const composer = {
|
|
id: composerID,
|
|
locale,
|
|
fallbackLocale,
|
|
get inheritLocale() {
|
|
return _inheritLocale;
|
|
},
|
|
set inheritLocale(val) {
|
|
_inheritLocale = val;
|
|
if (val && __root) {
|
|
_locale.value = __root.locale.value;
|
|
_fallbackLocale.value = __root.fallbackLocale.value;
|
|
updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);
|
|
}
|
|
},
|
|
get availableLocales() {
|
|
return Object.keys(_messages.value).sort();
|
|
},
|
|
messages: messages2,
|
|
datetimeFormats,
|
|
numberFormats,
|
|
get modifiers() {
|
|
return _modifiers;
|
|
},
|
|
get pluralRules() {
|
|
return _pluralRules || {};
|
|
},
|
|
get isGlobal() {
|
|
return _isGlobal;
|
|
},
|
|
get missingWarn() {
|
|
return _missingWarn;
|
|
},
|
|
set missingWarn(val) {
|
|
_missingWarn = val;
|
|
_context.missingWarn = _missingWarn;
|
|
},
|
|
get fallbackWarn() {
|
|
return _fallbackWarn;
|
|
},
|
|
set fallbackWarn(val) {
|
|
_fallbackWarn = val;
|
|
_context.fallbackWarn = _fallbackWarn;
|
|
},
|
|
get fallbackRoot() {
|
|
return _fallbackRoot;
|
|
},
|
|
set fallbackRoot(val) {
|
|
_fallbackRoot = val;
|
|
},
|
|
get fallbackFormat() {
|
|
return _fallbackFormat;
|
|
},
|
|
set fallbackFormat(val) {
|
|
_fallbackFormat = val;
|
|
_context.fallbackFormat = _fallbackFormat;
|
|
},
|
|
get warnHtmlMessage() {
|
|
return _warnHtmlMessage;
|
|
},
|
|
set warnHtmlMessage(val) {
|
|
_warnHtmlMessage = val;
|
|
_context.warnHtmlMessage = val;
|
|
},
|
|
get escapeParameter() {
|
|
return _escapeParameter;
|
|
},
|
|
set escapeParameter(val) {
|
|
_escapeParameter = val;
|
|
_context.escapeParameter = val;
|
|
},
|
|
t,
|
|
rt,
|
|
d,
|
|
n,
|
|
te,
|
|
tm,
|
|
getLocaleMessage,
|
|
setLocaleMessage,
|
|
mergeLocaleMessage,
|
|
getDateTimeFormat,
|
|
setDateTimeFormat,
|
|
mergeDateTimeFormat,
|
|
getNumberFormat,
|
|
setNumberFormat,
|
|
mergeNumberFormat,
|
|
getPostTranslationHandler,
|
|
setPostTranslationHandler,
|
|
getMissingHandler,
|
|
setMissingHandler,
|
|
[TransrateVNodeSymbol]: transrateVNode,
|
|
[NumberPartsSymbol]: numberParts,
|
|
[DatetimePartsSymbol]: datetimeParts,
|
|
[SetPluralRulesSymbol]: setPluralRules,
|
|
[InejctWithOption]: options.__injectWithOption
|
|
};
|
|
return composer;
|
|
}
|
|
function convertComposerOptions(options) {
|
|
const locale = isString$1(options.locale) ? options.locale : "en-US";
|
|
const fallbackLocale = isString$1(options.fallbackLocale) || isArray$1(options.fallbackLocale) || isPlainObject$1(options.fallbackLocale) || options.fallbackLocale === false ? options.fallbackLocale : locale;
|
|
const missing = isFunction$3(options.missing) ? options.missing : void 0;
|
|
const missingWarn = isBoolean(options.silentTranslationWarn) || isRegExp(options.silentTranslationWarn) ? !options.silentTranslationWarn : true;
|
|
const fallbackWarn = isBoolean(options.silentFallbackWarn) || isRegExp(options.silentFallbackWarn) ? !options.silentFallbackWarn : true;
|
|
const fallbackRoot = isBoolean(options.fallbackRoot) ? options.fallbackRoot : true;
|
|
const fallbackFormat = !!options.formatFallbackMessages;
|
|
const modifiers = isPlainObject$1(options.modifiers) ? options.modifiers : {};
|
|
const pluralizationRules = options.pluralizationRules;
|
|
const postTranslation = isFunction$3(options.postTranslation) ? options.postTranslation : void 0;
|
|
const warnHtmlMessage = isString$1(options.warnHtmlInMessage) ? options.warnHtmlInMessage !== "off" : true;
|
|
const escapeParameter = !!options.escapeParameterHtml;
|
|
const inheritLocale = isBoolean(options.sync) ? options.sync : true;
|
|
let messages2 = options.messages;
|
|
if (isPlainObject$1(options.sharedMessages)) {
|
|
const sharedMessages = options.sharedMessages;
|
|
const locales = Object.keys(sharedMessages);
|
|
messages2 = locales.reduce((messages3, locale2) => {
|
|
const message = messages3[locale2] || (messages3[locale2] = {});
|
|
assign$1(message, sharedMessages[locale2]);
|
|
return messages3;
|
|
}, messages2 || {});
|
|
}
|
|
const { __i18n, __root, __injectWithOption } = options;
|
|
const datetimeFormats = options.datetimeFormats;
|
|
const numberFormats = options.numberFormats;
|
|
const flatJson = options.flatJson;
|
|
return {
|
|
locale,
|
|
fallbackLocale,
|
|
messages: messages2,
|
|
flatJson,
|
|
datetimeFormats,
|
|
numberFormats,
|
|
missing,
|
|
missingWarn,
|
|
fallbackWarn,
|
|
fallbackRoot,
|
|
fallbackFormat,
|
|
modifiers,
|
|
pluralRules: pluralizationRules,
|
|
postTranslation,
|
|
warnHtmlMessage,
|
|
escapeParameter,
|
|
inheritLocale,
|
|
__i18n,
|
|
__root,
|
|
__injectWithOption
|
|
};
|
|
}
|
|
function createVueI18n(options = {}) {
|
|
const composer = createComposer(convertComposerOptions(options));
|
|
const vueI18n = {
|
|
id: composer.id,
|
|
get locale() {
|
|
return composer.locale.value;
|
|
},
|
|
set locale(val) {
|
|
composer.locale.value = val;
|
|
},
|
|
get fallbackLocale() {
|
|
return composer.fallbackLocale.value;
|
|
},
|
|
set fallbackLocale(val) {
|
|
composer.fallbackLocale.value = val;
|
|
},
|
|
get messages() {
|
|
return composer.messages.value;
|
|
},
|
|
get datetimeFormats() {
|
|
return composer.datetimeFormats.value;
|
|
},
|
|
get numberFormats() {
|
|
return composer.numberFormats.value;
|
|
},
|
|
get availableLocales() {
|
|
return composer.availableLocales;
|
|
},
|
|
get formatter() {
|
|
return {
|
|
interpolate() {
|
|
return [];
|
|
}
|
|
};
|
|
},
|
|
set formatter(val) {
|
|
},
|
|
get missing() {
|
|
return composer.getMissingHandler();
|
|
},
|
|
set missing(handler) {
|
|
composer.setMissingHandler(handler);
|
|
},
|
|
get silentTranslationWarn() {
|
|
return isBoolean(composer.missingWarn) ? !composer.missingWarn : composer.missingWarn;
|
|
},
|
|
set silentTranslationWarn(val) {
|
|
composer.missingWarn = isBoolean(val) ? !val : val;
|
|
},
|
|
get silentFallbackWarn() {
|
|
return isBoolean(composer.fallbackWarn) ? !composer.fallbackWarn : composer.fallbackWarn;
|
|
},
|
|
set silentFallbackWarn(val) {
|
|
composer.fallbackWarn = isBoolean(val) ? !val : val;
|
|
},
|
|
get modifiers() {
|
|
return composer.modifiers;
|
|
},
|
|
get formatFallbackMessages() {
|
|
return composer.fallbackFormat;
|
|
},
|
|
set formatFallbackMessages(val) {
|
|
composer.fallbackFormat = val;
|
|
},
|
|
get postTranslation() {
|
|
return composer.getPostTranslationHandler();
|
|
},
|
|
set postTranslation(handler) {
|
|
composer.setPostTranslationHandler(handler);
|
|
},
|
|
get sync() {
|
|
return composer.inheritLocale;
|
|
},
|
|
set sync(val) {
|
|
composer.inheritLocale = val;
|
|
},
|
|
get warnHtmlInMessage() {
|
|
return composer.warnHtmlMessage ? "warn" : "off";
|
|
},
|
|
set warnHtmlInMessage(val) {
|
|
composer.warnHtmlMessage = val !== "off";
|
|
},
|
|
get escapeParameterHtml() {
|
|
return composer.escapeParameter;
|
|
},
|
|
set escapeParameterHtml(val) {
|
|
composer.escapeParameter = val;
|
|
},
|
|
get preserveDirectiveContent() {
|
|
return true;
|
|
},
|
|
set preserveDirectiveContent(val) {
|
|
},
|
|
get pluralizationRules() {
|
|
return composer.pluralRules || {};
|
|
},
|
|
__composer: composer,
|
|
t(...args) {
|
|
const [arg1, arg2, arg3] = args;
|
|
const options2 = {};
|
|
let list = null;
|
|
let named = null;
|
|
if (!isString$1(arg1)) {
|
|
throw createI18nError(15);
|
|
}
|
|
const key = arg1;
|
|
if (isString$1(arg2)) {
|
|
options2.locale = arg2;
|
|
} else if (isArray$1(arg2)) {
|
|
list = arg2;
|
|
} else if (isPlainObject$1(arg2)) {
|
|
named = arg2;
|
|
}
|
|
if (isArray$1(arg3)) {
|
|
list = arg3;
|
|
} else if (isPlainObject$1(arg3)) {
|
|
named = arg3;
|
|
}
|
|
return composer.t(key, list || named || {}, options2);
|
|
},
|
|
rt(...args) {
|
|
return composer.rt(...args);
|
|
},
|
|
tc(...args) {
|
|
const [arg1, arg2, arg3] = args;
|
|
const options2 = { plural: 1 };
|
|
let list = null;
|
|
let named = null;
|
|
if (!isString$1(arg1)) {
|
|
throw createI18nError(15);
|
|
}
|
|
const key = arg1;
|
|
if (isString$1(arg2)) {
|
|
options2.locale = arg2;
|
|
} else if (isNumber$2(arg2)) {
|
|
options2.plural = arg2;
|
|
} else if (isArray$1(arg2)) {
|
|
list = arg2;
|
|
} else if (isPlainObject$1(arg2)) {
|
|
named = arg2;
|
|
}
|
|
if (isString$1(arg3)) {
|
|
options2.locale = arg3;
|
|
} else if (isArray$1(arg3)) {
|
|
list = arg3;
|
|
} else if (isPlainObject$1(arg3)) {
|
|
named = arg3;
|
|
}
|
|
return composer.t(key, list || named || {}, options2);
|
|
},
|
|
te(key, locale) {
|
|
return composer.te(key, locale);
|
|
},
|
|
tm(key) {
|
|
return composer.tm(key);
|
|
},
|
|
getLocaleMessage(locale) {
|
|
return composer.getLocaleMessage(locale);
|
|
},
|
|
setLocaleMessage(locale, message) {
|
|
composer.setLocaleMessage(locale, message);
|
|
},
|
|
mergeLocaleMessage(locale, message) {
|
|
composer.mergeLocaleMessage(locale, message);
|
|
},
|
|
d(...args) {
|
|
return composer.d(...args);
|
|
},
|
|
getDateTimeFormat(locale) {
|
|
return composer.getDateTimeFormat(locale);
|
|
},
|
|
setDateTimeFormat(locale, format2) {
|
|
composer.setDateTimeFormat(locale, format2);
|
|
},
|
|
mergeDateTimeFormat(locale, format2) {
|
|
composer.mergeDateTimeFormat(locale, format2);
|
|
},
|
|
n(...args) {
|
|
return composer.n(...args);
|
|
},
|
|
getNumberFormat(locale) {
|
|
return composer.getNumberFormat(locale);
|
|
},
|
|
setNumberFormat(locale, format2) {
|
|
composer.setNumberFormat(locale, format2);
|
|
},
|
|
mergeNumberFormat(locale, format2) {
|
|
composer.mergeNumberFormat(locale, format2);
|
|
},
|
|
getChoiceIndex(choice, choicesLength) {
|
|
return -1;
|
|
},
|
|
__onComponentInstanceCreated(target) {
|
|
const { componentInstanceCreatedListener } = options;
|
|
if (componentInstanceCreatedListener) {
|
|
componentInstanceCreatedListener(target, vueI18n);
|
|
}
|
|
}
|
|
};
|
|
return vueI18n;
|
|
}
|
|
const baseFormatProps = {
|
|
tag: {
|
|
type: [String, Object]
|
|
},
|
|
locale: {
|
|
type: String
|
|
},
|
|
scope: {
|
|
type: String,
|
|
validator: (val) => val === "parent" || val === "global",
|
|
default: "parent"
|
|
},
|
|
i18n: {
|
|
type: Object
|
|
}
|
|
};
|
|
const Translation = {
|
|
name: "i18n-t",
|
|
props: assign$1({
|
|
keypath: {
|
|
type: String,
|
|
required: true
|
|
},
|
|
plural: {
|
|
type: [Number, String],
|
|
validator: (val) => isNumber$2(val) || !isNaN(val)
|
|
}
|
|
}, baseFormatProps),
|
|
setup(props, context) {
|
|
const { slots, attrs } = context;
|
|
const i18n2 = props.i18n || useI18n$1({
|
|
useScope: props.scope,
|
|
__useComponent: true
|
|
});
|
|
const keys = Object.keys(slots).filter((key) => key !== "_");
|
|
return () => {
|
|
const options = {};
|
|
if (props.locale) {
|
|
options.locale = props.locale;
|
|
}
|
|
if (props.plural !== void 0) {
|
|
options.plural = isString$1(props.plural) ? +props.plural : props.plural;
|
|
}
|
|
const arg = getInterpolateArg(context, keys);
|
|
const children = i18n2[TransrateVNodeSymbol](props.keypath, arg, options);
|
|
const assignedAttrs = assign$1({}, attrs);
|
|
return isString$1(props.tag) ? h(props.tag, assignedAttrs, children) : isObject$3(props.tag) ? h(props.tag, assignedAttrs, children) : h(Fragment, assignedAttrs, children);
|
|
};
|
|
}
|
|
};
|
|
function getInterpolateArg({ slots }, keys) {
|
|
if (keys.length === 1 && keys[0] === "default") {
|
|
return slots.default ? slots.default() : [];
|
|
} else {
|
|
return keys.reduce((arg, key) => {
|
|
const slot = slots[key];
|
|
if (slot) {
|
|
arg[key] = slot();
|
|
}
|
|
return arg;
|
|
}, {});
|
|
}
|
|
}
|
|
function renderFormatter(props, context, slotKeys, partFormatter) {
|
|
const { slots, attrs } = context;
|
|
return () => {
|
|
const options = { part: true };
|
|
let overrides = {};
|
|
if (props.locale) {
|
|
options.locale = props.locale;
|
|
}
|
|
if (isString$1(props.format)) {
|
|
options.key = props.format;
|
|
} else if (isObject$3(props.format)) {
|
|
if (isString$1(props.format.key)) {
|
|
options.key = props.format.key;
|
|
}
|
|
overrides = Object.keys(props.format).reduce((options2, prop) => {
|
|
return slotKeys.includes(prop) ? assign$1({}, options2, { [prop]: props.format[prop] }) : options2;
|
|
}, {});
|
|
}
|
|
const parts = partFormatter(...[props.value, options, overrides]);
|
|
let children = [options.key];
|
|
if (isArray$1(parts)) {
|
|
children = parts.map((part, index2) => {
|
|
const slot = slots[part.type];
|
|
return slot ? slot({ [part.type]: part.value, index: index2, parts }) : [part.value];
|
|
});
|
|
} else if (isString$1(parts)) {
|
|
children = [parts];
|
|
}
|
|
const assignedAttrs = assign$1({}, attrs);
|
|
return isString$1(props.tag) ? h(props.tag, assignedAttrs, children) : isObject$3(props.tag) ? h(props.tag, assignedAttrs, children) : h(Fragment, assignedAttrs, children);
|
|
};
|
|
}
|
|
const NUMBER_FORMAT_KEYS = [
|
|
"localeMatcher",
|
|
"style",
|
|
"unit",
|
|
"unitDisplay",
|
|
"currency",
|
|
"currencyDisplay",
|
|
"useGrouping",
|
|
"numberingSystem",
|
|
"minimumIntegerDigits",
|
|
"minimumFractionDigits",
|
|
"maximumFractionDigits",
|
|
"minimumSignificantDigits",
|
|
"maximumSignificantDigits",
|
|
"notation",
|
|
"formatMatcher"
|
|
];
|
|
const NumberFormat = {
|
|
name: "i18n-n",
|
|
props: assign$1({
|
|
value: {
|
|
type: Number,
|
|
required: true
|
|
},
|
|
format: {
|
|
type: [String, Object]
|
|
}
|
|
}, baseFormatProps),
|
|
setup(props, context) {
|
|
const i18n2 = props.i18n || useI18n$1({ useScope: "parent", __useComponent: true });
|
|
return renderFormatter(props, context, NUMBER_FORMAT_KEYS, (...args) => i18n2[NumberPartsSymbol](...args));
|
|
}
|
|
};
|
|
const DATETIME_FORMAT_KEYS = [
|
|
"dateStyle",
|
|
"timeStyle",
|
|
"fractionalSecondDigits",
|
|
"calendar",
|
|
"dayPeriod",
|
|
"numberingSystem",
|
|
"localeMatcher",
|
|
"timeZone",
|
|
"hour12",
|
|
"hourCycle",
|
|
"formatMatcher",
|
|
"weekday",
|
|
"era",
|
|
"year",
|
|
"month",
|
|
"day",
|
|
"hour",
|
|
"minute",
|
|
"second",
|
|
"timeZoneName"
|
|
];
|
|
const DatetimeFormat = {
|
|
name: "i18n-d",
|
|
props: assign$1({
|
|
value: {
|
|
type: [Number, Date],
|
|
required: true
|
|
},
|
|
format: {
|
|
type: [String, Object]
|
|
}
|
|
}, baseFormatProps),
|
|
setup(props, context) {
|
|
const i18n2 = props.i18n || useI18n$1({ useScope: "parent", __useComponent: true });
|
|
return renderFormatter(props, context, DATETIME_FORMAT_KEYS, (...args) => i18n2[DatetimePartsSymbol](...args));
|
|
}
|
|
};
|
|
function getComposer$2(i18n2, instance) {
|
|
const i18nInternal = i18n2;
|
|
if (i18n2.mode === "composition") {
|
|
return i18nInternal.__getInstance(instance) || i18n2.global;
|
|
} else {
|
|
const vueI18n = i18nInternal.__getInstance(instance);
|
|
return vueI18n != null ? vueI18n.__composer : i18n2.global.__composer;
|
|
}
|
|
}
|
|
function vTDirective(i18n2) {
|
|
const bind2 = (el, { instance, value, modifiers }) => {
|
|
if (!instance || !instance.$) {
|
|
throw createI18nError(22);
|
|
}
|
|
const composer = getComposer$2(i18n2, instance.$);
|
|
const parsedValue = parseValue(value);
|
|
el.textContent = composer.t(...makeParams(parsedValue));
|
|
};
|
|
return {
|
|
beforeMount: bind2,
|
|
beforeUpdate: bind2
|
|
};
|
|
}
|
|
function parseValue(value) {
|
|
if (isString$1(value)) {
|
|
return { path: value };
|
|
} else if (isPlainObject$1(value)) {
|
|
if (!("path" in value)) {
|
|
throw createI18nError(19, "path");
|
|
}
|
|
return value;
|
|
} else {
|
|
throw createI18nError(20);
|
|
}
|
|
}
|
|
function makeParams(value) {
|
|
const { path, locale, args, choice, plural } = value;
|
|
const options = {};
|
|
const named = args || {};
|
|
if (isString$1(locale)) {
|
|
options.locale = locale;
|
|
}
|
|
if (isNumber$2(choice)) {
|
|
options.plural = choice;
|
|
}
|
|
if (isNumber$2(plural)) {
|
|
options.plural = plural;
|
|
}
|
|
return [path, named, options];
|
|
}
|
|
function apply(app, i18n2, ...options) {
|
|
const pluginOptions = isPlainObject$1(options[0]) ? options[0] : {};
|
|
const useI18nComponentName = !!pluginOptions.useI18nComponentName;
|
|
const globalInstall = isBoolean(pluginOptions.globalInstall) ? pluginOptions.globalInstall : true;
|
|
if (globalInstall) {
|
|
app.component(!useI18nComponentName ? Translation.name : "i18n", Translation);
|
|
app.component(NumberFormat.name, NumberFormat);
|
|
app.component(DatetimeFormat.name, DatetimeFormat);
|
|
}
|
|
app.directive("t", vTDirective(i18n2));
|
|
}
|
|
function defineMixin(vuei18n, composer, i18n2) {
|
|
return {
|
|
beforeCreate() {
|
|
const instance = getCurrentInstance();
|
|
if (!instance) {
|
|
throw createI18nError(22);
|
|
}
|
|
const options = this.$options;
|
|
if (options.i18n) {
|
|
const optionsI18n = options.i18n;
|
|
if (options.__i18n) {
|
|
optionsI18n.__i18n = options.__i18n;
|
|
}
|
|
optionsI18n.__root = composer;
|
|
if (this === this.$root) {
|
|
this.$i18n = mergeToRoot(vuei18n, optionsI18n);
|
|
} else {
|
|
optionsI18n.__injectWithOption = true;
|
|
this.$i18n = createVueI18n(optionsI18n);
|
|
}
|
|
} else if (options.__i18n) {
|
|
if (this === this.$root) {
|
|
this.$i18n = mergeToRoot(vuei18n, options);
|
|
} else {
|
|
this.$i18n = createVueI18n({
|
|
__i18n: options.__i18n,
|
|
__injectWithOption: true,
|
|
__root: composer
|
|
});
|
|
}
|
|
} else {
|
|
this.$i18n = vuei18n;
|
|
}
|
|
vuei18n.__onComponentInstanceCreated(this.$i18n);
|
|
i18n2.__setInstance(instance, this.$i18n);
|
|
this.$t = (...args) => this.$i18n.t(...args);
|
|
this.$rt = (...args) => this.$i18n.rt(...args);
|
|
this.$tc = (...args) => this.$i18n.tc(...args);
|
|
this.$te = (key, locale) => this.$i18n.te(key, locale);
|
|
this.$d = (...args) => this.$i18n.d(...args);
|
|
this.$n = (...args) => this.$i18n.n(...args);
|
|
this.$tm = (key) => this.$i18n.tm(key);
|
|
},
|
|
mounted() {
|
|
},
|
|
beforeUnmount() {
|
|
const instance = getCurrentInstance();
|
|
if (!instance) {
|
|
throw createI18nError(22);
|
|
}
|
|
delete this.$t;
|
|
delete this.$rt;
|
|
delete this.$tc;
|
|
delete this.$te;
|
|
delete this.$d;
|
|
delete this.$n;
|
|
delete this.$tm;
|
|
i18n2.__deleteInstance(instance);
|
|
delete this.$i18n;
|
|
}
|
|
};
|
|
}
|
|
function mergeToRoot(root, options) {
|
|
root.locale = options.locale || root.locale;
|
|
root.fallbackLocale = options.fallbackLocale || root.fallbackLocale;
|
|
root.missing = options.missing || root.missing;
|
|
root.silentTranslationWarn = options.silentTranslationWarn || root.silentFallbackWarn;
|
|
root.silentFallbackWarn = options.silentFallbackWarn || root.silentFallbackWarn;
|
|
root.formatFallbackMessages = options.formatFallbackMessages || root.formatFallbackMessages;
|
|
root.postTranslation = options.postTranslation || root.postTranslation;
|
|
root.warnHtmlInMessage = options.warnHtmlInMessage || root.warnHtmlInMessage;
|
|
root.escapeParameterHtml = options.escapeParameterHtml || root.escapeParameterHtml;
|
|
root.sync = options.sync || root.sync;
|
|
root.__composer[SetPluralRulesSymbol](options.pluralizationRules || root.pluralizationRules);
|
|
const messages2 = getLocaleMessages(root.locale, {
|
|
messages: options.messages,
|
|
__i18n: options.__i18n
|
|
});
|
|
Object.keys(messages2).forEach((locale) => root.mergeLocaleMessage(locale, messages2[locale]));
|
|
if (options.datetimeFormats) {
|
|
Object.keys(options.datetimeFormats).forEach((locale) => root.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));
|
|
}
|
|
if (options.numberFormats) {
|
|
Object.keys(options.numberFormats).forEach((locale) => root.mergeNumberFormat(locale, options.numberFormats[locale]));
|
|
}
|
|
return root;
|
|
}
|
|
function createI18n(options = {}) {
|
|
const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy) ? options.legacy : __VUE_I18N_LEGACY_API__;
|
|
const __globalInjection = !!options.globalInjection;
|
|
const __instances = /* @__PURE__ */ new Map();
|
|
const __global = __VUE_I18N_LEGACY_API__ && __legacyMode ? createVueI18n(options) : createComposer(options);
|
|
const symbol = makeSymbol("");
|
|
const i18n2 = {
|
|
get mode() {
|
|
return __VUE_I18N_LEGACY_API__ ? __legacyMode ? "legacy" : "composition" : "composition";
|
|
},
|
|
async install(app, ...options2) {
|
|
app.__VUE_I18N_SYMBOL__ = symbol;
|
|
app.provide(app.__VUE_I18N_SYMBOL__, i18n2);
|
|
if (!__legacyMode && __globalInjection) {
|
|
injectGlobalFields(app, i18n2.global);
|
|
}
|
|
if (__VUE_I18N_FULL_INSTALL__) {
|
|
apply(app, i18n2, ...options2);
|
|
}
|
|
if (__VUE_I18N_LEGACY_API__ && __legacyMode) {
|
|
app.mixin(defineMixin(__global, __global.__composer, i18n2));
|
|
}
|
|
},
|
|
get global() {
|
|
return __global;
|
|
},
|
|
__instances,
|
|
__getInstance(component2) {
|
|
return __instances.get(component2) || null;
|
|
},
|
|
__setInstance(component2, instance) {
|
|
__instances.set(component2, instance);
|
|
},
|
|
__deleteInstance(component2) {
|
|
__instances.delete(component2);
|
|
}
|
|
};
|
|
return i18n2;
|
|
}
|
|
function useI18n$1(options = {}) {
|
|
const instance = getCurrentInstance();
|
|
if (instance == null) {
|
|
throw createI18nError(16);
|
|
}
|
|
if (!instance.appContext.app.__VUE_I18N_SYMBOL__) {
|
|
throw createI18nError(17);
|
|
}
|
|
const i18n2 = inject(instance.appContext.app.__VUE_I18N_SYMBOL__);
|
|
if (!i18n2) {
|
|
throw createI18nError(22);
|
|
}
|
|
const global2 = i18n2.mode === "composition" ? i18n2.global : i18n2.global.__composer;
|
|
const scope = isEmptyObject(options) ? "__i18n" in instance.type ? "local" : "global" : !options.useScope ? "local" : options.useScope;
|
|
if (scope === "global") {
|
|
let messages2 = isObject$3(options.messages) ? options.messages : {};
|
|
if ("__i18nGlobal" in instance.type) {
|
|
messages2 = getLocaleMessages(global2.locale.value, {
|
|
messages: messages2,
|
|
__i18n: instance.type.__i18nGlobal
|
|
});
|
|
}
|
|
const locales = Object.keys(messages2);
|
|
if (locales.length) {
|
|
locales.forEach((locale) => {
|
|
global2.mergeLocaleMessage(locale, messages2[locale]);
|
|
});
|
|
}
|
|
if (isObject$3(options.datetimeFormats)) {
|
|
const locales2 = Object.keys(options.datetimeFormats);
|
|
if (locales2.length) {
|
|
locales2.forEach((locale) => {
|
|
global2.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);
|
|
});
|
|
}
|
|
}
|
|
if (isObject$3(options.numberFormats)) {
|
|
const locales2 = Object.keys(options.numberFormats);
|
|
if (locales2.length) {
|
|
locales2.forEach((locale) => {
|
|
global2.mergeNumberFormat(locale, options.numberFormats[locale]);
|
|
});
|
|
}
|
|
}
|
|
return global2;
|
|
}
|
|
if (scope === "parent") {
|
|
let composer2 = getComposer(i18n2, instance, options.__useComponent);
|
|
if (composer2 == null) {
|
|
composer2 = global2;
|
|
}
|
|
return composer2;
|
|
}
|
|
if (i18n2.mode === "legacy") {
|
|
throw createI18nError(18);
|
|
}
|
|
const i18nInternal = i18n2;
|
|
let composer = i18nInternal.__getInstance(instance);
|
|
if (composer == null) {
|
|
const type4 = instance.type;
|
|
const composerOptions = assign$1({}, options);
|
|
if (type4.__i18n) {
|
|
composerOptions.__i18n = type4.__i18n;
|
|
}
|
|
if (global2) {
|
|
composerOptions.__root = global2;
|
|
}
|
|
composer = createComposer(composerOptions);
|
|
setupLifeCycle(i18nInternal, instance);
|
|
i18nInternal.__setInstance(instance, composer);
|
|
}
|
|
return composer;
|
|
}
|
|
function getComposer(i18n2, target, useComponent = false) {
|
|
let composer = null;
|
|
const root = target.root;
|
|
let current = target.parent;
|
|
while (current != null) {
|
|
const i18nInternal = i18n2;
|
|
if (i18n2.mode === "composition") {
|
|
composer = i18nInternal.__getInstance(current);
|
|
} else {
|
|
const vueI18n = i18nInternal.__getInstance(current);
|
|
if (vueI18n != null) {
|
|
composer = vueI18n.__composer;
|
|
}
|
|
if (useComponent && composer && !composer[InejctWithOption]) {
|
|
composer = null;
|
|
}
|
|
}
|
|
if (composer != null) {
|
|
break;
|
|
}
|
|
if (root === current) {
|
|
break;
|
|
}
|
|
current = current.parent;
|
|
}
|
|
return composer;
|
|
}
|
|
function setupLifeCycle(i18n2, target, composer) {
|
|
onMounted(() => {
|
|
}, target);
|
|
onUnmounted(() => {
|
|
i18n2.__deleteInstance(target);
|
|
}, target);
|
|
}
|
|
const globalExportProps = [
|
|
"locale",
|
|
"fallbackLocale",
|
|
"availableLocales"
|
|
];
|
|
const globalExportMethods = ["t", "rt", "d", "n", "tm"];
|
|
function injectGlobalFields(app, composer) {
|
|
const i18n2 = /* @__PURE__ */ Object.create(null);
|
|
globalExportProps.forEach((prop) => {
|
|
const desc = Object.getOwnPropertyDescriptor(composer, prop);
|
|
if (!desc) {
|
|
throw createI18nError(22);
|
|
}
|
|
const wrap = isRef(desc.value) ? {
|
|
get() {
|
|
return desc.value.value;
|
|
},
|
|
set(val) {
|
|
desc.value.value = val;
|
|
}
|
|
} : {
|
|
get() {
|
|
return desc.get && desc.get();
|
|
}
|
|
};
|
|
Object.defineProperty(i18n2, prop, wrap);
|
|
});
|
|
app.config.globalProperties.$i18n = i18n2;
|
|
globalExportMethods.forEach((method4) => {
|
|
const desc = Object.getOwnPropertyDescriptor(composer, method4);
|
|
if (!desc || !desc.value) {
|
|
throw createI18nError(22);
|
|
}
|
|
Object.defineProperty(app.config.globalProperties, `$${method4}`, desc);
|
|
});
|
|
}
|
|
registerMessageCompiler(compileToFunction);
|
|
{
|
|
initFeatureFlags();
|
|
}
|
|
if (__INTLIFY_PROD_DEVTOOLS__) {
|
|
const target = getGlobalThis();
|
|
target.__INTLIFY__ = true;
|
|
setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);
|
|
}
|
|
var zh_CN = {
|
|
input: {
|
|
placeholder: "\u8BF7\u8F93\u5165"
|
|
},
|
|
page: {
|
|
previous: "\u4E0A\u4E00\u9875",
|
|
next: "\u4E0B\u4E00\u9875",
|
|
goTo: "\u5230\u7B2C",
|
|
confirm: "\u786E\u8BA4",
|
|
page: "\u9875",
|
|
item: "\u6761",
|
|
total: "\u5171"
|
|
},
|
|
datePicker: {
|
|
year: "\u5E74",
|
|
month: "\u6708",
|
|
sunday: "\u65E5",
|
|
monday: "\u4E00",
|
|
tuesday: "\u4E8C",
|
|
wednesday: "\u4E09",
|
|
thursday: "\u56DB",
|
|
friday: "\u4E94",
|
|
saturday: "\u516D",
|
|
january: "1\u6708",
|
|
february: "2\u6708",
|
|
march: "3\u6708",
|
|
april: "4\u6708",
|
|
may: "5\u6708",
|
|
june: "6\u6708",
|
|
july: "7\u6708",
|
|
august: "8\u6708",
|
|
september: "9\u6708",
|
|
october: "10\u6708",
|
|
november: "11\u6708",
|
|
december: "12\u6708",
|
|
selectDate: "\u9009\u62E9\u65E5\u671F",
|
|
selectTime: "\u9009\u62E9\u65F6\u95F4",
|
|
selectYear: "\u9009\u62E9\u5E74\u4EFD",
|
|
selectMonth: "\u9009\u62E9\u6708\u4EFD",
|
|
clear: "\u6E05\u7A7A",
|
|
confirm: "\u786E\u8BA4",
|
|
cancel: "\u53D6\u6D88",
|
|
now: "\u73B0\u5728"
|
|
},
|
|
empty: {
|
|
description: "\u65E0\u6570\u636E"
|
|
},
|
|
upload: {
|
|
text: "\u4E0A\u4F20\u6587\u4EF6",
|
|
dragText: "\u70B9\u51FB\u4E0A\u4F20\uFF0C\u6216\u5C06\u6587\u4EF6\u62D6\u62FD\u5230\u6B64\u5904",
|
|
defaultErrorMsg: "\u4E0A\u4F20\u5931\u8D25",
|
|
urlErrorMsg: "\u4E0A\u4F20\u5730\u5740\u683C\u5F0F\u4E0D\u5408\u6CD5",
|
|
numberErrorMsg: "\u6587\u4EF6\u4E0A\u4F20\u8D85\u8FC7\u89C4\u5B9A\u7684\u4E2A\u6570",
|
|
cutInitErrorMsg: "\u526A\u88C1\u63D2\u4EF6\u521D\u59CB\u5316\u5931\u8D25",
|
|
uploadSuccess: "\u4E0A\u4F20\u6210\u529F",
|
|
cannotSupportCutMsg: "\u5F53\u524D\u7248\u672C\u6682\u4E0D\u652F\u6301\u5355\u6B21\u591A\u6587\u4EF6\u526A\u88C1,\u5C1D\u8BD5\u8BBE\u7F6E multiple \u4E3A false, \u901A\u8FC7 @done \u83B7\u53D6\u8FD4\u56DE\u6587\u4EF6\u5BF9\u8C61",
|
|
occurFileSizeErrorMsg: "\u6587\u4EF6\u5927\u5C0F\u8D85\u8FC7\u9650\u5236,\u6587\u4EF6\u6700\u5927\u4E0D\u53EF\u8D85\u8FC7\u4F20\u5165\u7684\u6307\u5B9Asize\u5C5E\u6027\u7684KB\u6570",
|
|
startUploadMsg: "\u5F00\u59CB\u4E0A\u4F20",
|
|
confirmBtn: "\u786E\u8BA4",
|
|
cancelBtn: "\u53D6\u6D88",
|
|
title: "\u6807\u9898"
|
|
}
|
|
};
|
|
var en_US = {
|
|
input: {
|
|
placeholder: "please input"
|
|
},
|
|
page: {
|
|
previous: "previous",
|
|
next: "next",
|
|
goTo: "Go to",
|
|
confirm: "confirm",
|
|
page: "page",
|
|
item: "item",
|
|
total: "total"
|
|
},
|
|
datePicker: {
|
|
year: "",
|
|
month: "month",
|
|
sunday: "SU",
|
|
monday: "MO",
|
|
tuesday: "TU",
|
|
wednesday: "WE",
|
|
thursday: "TH",
|
|
friday: "FR",
|
|
saturday: "SA",
|
|
january: "January",
|
|
february: "February",
|
|
march: "March",
|
|
april: "April",
|
|
may: "May",
|
|
june: "June",
|
|
july: "July",
|
|
august: "August",
|
|
september: "September",
|
|
october: "October",
|
|
november: "November",
|
|
december: "December",
|
|
selectDate: "select date",
|
|
selectTime: "select time",
|
|
selectYear: "select year",
|
|
selectMonth: "select month",
|
|
clear: "clear",
|
|
confirm: "confirm",
|
|
cancel: "cancel",
|
|
now: "now"
|
|
},
|
|
empty: {
|
|
description: "No data"
|
|
},
|
|
upload: {
|
|
text: "Upload files",
|
|
dragText: "Click Upload or drag the file here",
|
|
defaultErrorMsg: "Upload failed",
|
|
urlErrorMsg: "The upload address format is illegal",
|
|
numberErrorMsg: "The number of files uploaded exceeds the specified number",
|
|
cutInitErrorMsg: "Clipping plug-in initialization failed",
|
|
uploadSuccess: "Upload succeeded",
|
|
cannotSupportCutMsg: "The current version does not support single multiple file clipping. Try to set multiple to false, and get the returned file object through @ done",
|
|
occurFileSizeErrorMsg: "File size warning,The maximum file size cannot exceed target KB",
|
|
startUploadMsg: "Upload Start",
|
|
confirmBtn: "confirm",
|
|
cancelBtn: "cancel",
|
|
title: "title"
|
|
}
|
|
};
|
|
const i18n = createI18n({
|
|
legacy: false,
|
|
locale: "zh_CN",
|
|
messages: {
|
|
zh_CN,
|
|
en_US
|
|
}
|
|
});
|
|
function useI18n() {
|
|
var _a2;
|
|
let i18nInstance;
|
|
const app = (_a2 = getCurrentInstance()) == null ? void 0 : _a2.appContext.app;
|
|
try {
|
|
i18nInstance = useI18n$1();
|
|
} catch (e) {
|
|
app == null ? void 0 : app.use(i18n);
|
|
i18nInstance = useI18n$1();
|
|
}
|
|
return i18nInstance;
|
|
}
|
|
const withInstall = (comp) => {
|
|
const component2 = comp;
|
|
component2.install = (app) => {
|
|
app.component(component2.name, comp);
|
|
};
|
|
return component2;
|
|
};
|
|
var iconfont = [{
|
|
name: "\u5B9E\u5FC3",
|
|
class: "layui-icon-heart-fill"
|
|
}, {
|
|
name: "\u7A7A\u5FC3",
|
|
class: "layui-icon-heart"
|
|
}, {
|
|
name: "\u4EAE\u5EA6/\u6674",
|
|
class: "layui-icon-light"
|
|
}, {
|
|
name: "\u65F6\u95F4/\u5386\u53F2",
|
|
class: "layui-icon-time"
|
|
}, {
|
|
name: "\u84DD\u7259",
|
|
class: "layui-icon-bluetooth"
|
|
}, {
|
|
name: "@\u827E\u7279",
|
|
class: "layui-icon-at"
|
|
}, {
|
|
name: "\u9759\u97F3",
|
|
class: "layui-icon-mute"
|
|
}, {
|
|
name: "\u5F55\u97F3/\u9EA6\u514B\u98CE",
|
|
class: "layui-icon-mike"
|
|
}, {
|
|
name: "\u5BC6\u94A5/\u94A5\u5319",
|
|
class: "layui-icon-key"
|
|
}, {
|
|
name: "\u793C\u7269/\u6D3B\u52A8",
|
|
class: "layui-icon-gift"
|
|
}, {
|
|
name: "\u90AE\u7BB1",
|
|
class: "layui-icon-email"
|
|
}, {
|
|
name: "RSS",
|
|
class: "layui-icon-rss"
|
|
}, {
|
|
name: "WiFi",
|
|
class: "layui-icon-wifi"
|
|
}, {
|
|
name: "\u9000\u51FA/\u6CE8\u9500",
|
|
class: "layui-icon-logout"
|
|
}, {
|
|
name: "Android \u5B89\u5353",
|
|
class: "layui-icon-android"
|
|
}, {
|
|
name: "Apple IOS \u82F9\u679C",
|
|
class: "layui-icon-ios"
|
|
}, {
|
|
name: "Windows",
|
|
class: "layui-icon-windows"
|
|
}, {
|
|
name: "\u7A7F\u68AD\u6846",
|
|
class: "layui-icon-transfer"
|
|
}, {
|
|
name: "\u5BA2\u670D",
|
|
class: "layui-icon-service"
|
|
}, {
|
|
name: "\u51CF",
|
|
class: "layui-icon-subtraction"
|
|
}, {
|
|
name: "\u52A0",
|
|
class: "layui-icon-addition"
|
|
}, {
|
|
name: "\u6ED1\u5757",
|
|
class: "layui-icon-slider"
|
|
}, {
|
|
name: "\u6253\u5370",
|
|
class: "layui-icon-print"
|
|
}, {
|
|
name: "\u5BFC\u51FA",
|
|
class: "layui-icon-export"
|
|
}, {
|
|
name: "\u5217",
|
|
class: "layui-icon-cols"
|
|
}, {
|
|
name: "\u9000\u51FA\u5168\u5C4F",
|
|
class: "layui-icon-screen-restore"
|
|
}, {
|
|
name: "\u5168\u5C4F",
|
|
class: "layui-icon-screen-full"
|
|
}, {
|
|
name: "\u534A\u661F",
|
|
class: "layui-icon-rate-half"
|
|
}, {
|
|
name: "\u661F\u661F-\u7A7A\u5FC3",
|
|
class: "layui-icon-rate"
|
|
}, {
|
|
name: "\u661F\u661F-\u5B9E\u5FC3",
|
|
class: "layui-icon-rate-solid"
|
|
}, {
|
|
name: "\u624B\u673A",
|
|
class: "layui-icon-cellphone"
|
|
}, {
|
|
name: "\u9A8C\u8BC1\u7801",
|
|
class: "layui-icon-vercode"
|
|
}, {
|
|
name: "\u5FAE\u4FE1",
|
|
class: "layui-icon-login-wechat"
|
|
}, {
|
|
name: "QQ",
|
|
class: "layui-icon-login-qq"
|
|
}, {
|
|
name: "\u5FAE\u535A",
|
|
class: "layui-icon-login-weibo"
|
|
}, {
|
|
name: "\u5BC6\u7801",
|
|
class: "layui-icon-password"
|
|
}, {
|
|
name: "\u7528\u6237\u540D",
|
|
class: "layui-icon-username"
|
|
}, {
|
|
name: "\u5237\u65B0-\u7C97",
|
|
class: "layui-icon-refresh-three"
|
|
}, {
|
|
name: "\u6388\u6743",
|
|
class: "layui-icon-auz"
|
|
}, {
|
|
name: "\u5DE6\u5411\u53F3\u4F38\u7F29\u83DC\u5355",
|
|
class: "layui-icon-spread-left"
|
|
}, {
|
|
name: "\u53F3\u5411\u5DE6\u4F38\u7F29\u83DC\u5355",
|
|
class: "layui-icon-shrink-right"
|
|
}, {
|
|
name: "\u96EA\u82B1",
|
|
class: "layui-icon-snowflake"
|
|
}, {
|
|
name: "\u63D0\u793A\u8BF4\u660E",
|
|
class: "layui-icon-tips"
|
|
}, {
|
|
name: "\u4FBF\u7B7E",
|
|
class: "layui-icon-note"
|
|
}, {
|
|
name: "\u4E3B\u9875",
|
|
class: "layui-icon-home"
|
|
}, {
|
|
name: "\u9AD8\u7EA7",
|
|
class: "layui-icon-senior"
|
|
}, {
|
|
name: "\u5237\u65B0",
|
|
class: "layui-icon-refresh"
|
|
}, {
|
|
name: "\u5237\u65B0",
|
|
class: "layui-icon-refresh-one"
|
|
}, {
|
|
name: "\u65D7\u5E1C",
|
|
class: "layui-icon-flag"
|
|
}, {
|
|
name: "\u4E3B\u9898",
|
|
class: "layui-icon-theme"
|
|
}, {
|
|
name: "\u6D88\u606F-\u901A\u77E5",
|
|
class: "layui-icon-notice"
|
|
}, {
|
|
name: "\u7F51\u7AD9",
|
|
class: "layui-icon-website"
|
|
}, {
|
|
name: "\u63A7\u5236\u53F0",
|
|
class: "layui-icon-console"
|
|
}, {
|
|
name: "\u8868\u60C5-\u60CA\u8BB6",
|
|
class: "layui-icon-face-surprised"
|
|
}, {
|
|
name: "\u8BBE\u7F6E-\u7A7A\u5FC3",
|
|
class: "layui-icon-set"
|
|
}, {
|
|
name: "\u6A21\u677F",
|
|
class: "layui-icon-template-one"
|
|
}, {
|
|
name: "\u5E94\u7528",
|
|
class: "layui-icon-app"
|
|
}, {
|
|
name: "\u6A21\u677F",
|
|
class: "layui-icon-template"
|
|
}, {
|
|
name: "\u8D5E",
|
|
class: "layui-icon-praise"
|
|
}, {
|
|
name: "\u8E29",
|
|
class: "layui-icon-tread"
|
|
}, {
|
|
name: "\u7537",
|
|
class: "layui-icon-male"
|
|
}, {
|
|
name: "\u5973",
|
|
class: "layui-icon-female"
|
|
}, {
|
|
name: "\u76F8\u673A-\u7A7A\u5FC3",
|
|
class: "layui-icon-camera"
|
|
}, {
|
|
name: "\u76F8\u673A-\u5B9E\u5FC3",
|
|
class: "layui-icon-camera-fill"
|
|
}, {
|
|
name: "\u83DC\u5355-\u6C34\u5E73",
|
|
class: "layui-icon-more"
|
|
}, {
|
|
name: "\u83DC\u5355-\u5782\u76F4",
|
|
class: "layui-icon-more-vertical"
|
|
}, {
|
|
name: "\u91D1\u989D-\u4EBA\u6C11\u5E01",
|
|
class: "layui-icon-rmb"
|
|
}, {
|
|
name: "\u91D1\u989D-\u7F8E\u5143",
|
|
class: "layui-icon-dollar"
|
|
}, {
|
|
name: "\u94BB\u77F3-\u7B49\u7EA7",
|
|
class: "layui-icon-diamond"
|
|
}, {
|
|
name: "\u706B",
|
|
class: "layui-icon-fire"
|
|
}, {
|
|
name: "\u8FD4\u56DE",
|
|
class: "layui-icon-return"
|
|
}, {
|
|
name: "\u4F4D\u7F6E-\u5730\u56FE",
|
|
class: "layui-icon-location"
|
|
}, {
|
|
name: "\u529E\u516C-\u9605\u8BFB",
|
|
class: "layui-icon-read"
|
|
}, {
|
|
name: "\u8C03\u67E5",
|
|
class: "layui-icon-survey"
|
|
}, {
|
|
name: "\u8868\u60C5-\u5FAE\u7B11",
|
|
class: "layui-icon-face-smile"
|
|
}, {
|
|
name: "\u8868\u60C5-\u54ED\u6CE3",
|
|
class: "layui-icon-face-cry"
|
|
}, {
|
|
name: "\u8D2D\u7269\u8F66",
|
|
class: "layui-icon-cart-simple"
|
|
}, {
|
|
name: "\u8D2D\u7269\u8F66",
|
|
class: "layui-icon-cart"
|
|
}, {
|
|
name: "\u4E0B\u4E00\u9875",
|
|
class: "layui-icon-next"
|
|
}, {
|
|
name: "\u4E0A\u4E00\u9875",
|
|
class: "layui-icon-prev"
|
|
}, {
|
|
name: "\u4E0A\u4F20-\u7A7A\u5FC3-\u62D6\u62FD",
|
|
class: "layui-icon-upload-drag"
|
|
}, {
|
|
name: "\u4E0A\u4F20-\u5B9E\u5FC3",
|
|
class: "layui-icon-upload"
|
|
}, {
|
|
name: "\u4E0B\u8F7D-\u5706\u5708",
|
|
class: "layui-icon-download-circle"
|
|
}, {
|
|
name: "\u7EC4\u4EF6",
|
|
class: "layui-icon-component"
|
|
}, {
|
|
name: "\u6587\u4EF6-\u7C97",
|
|
class: "layui-icon-file-b"
|
|
}, {
|
|
name: "\u7528\u6237",
|
|
class: "layui-icon-user"
|
|
}, {
|
|
name: "\u53D1\u73B0-\u5B9E\u5FC3",
|
|
class: "layui-icon-find-fill"
|
|
}, {
|
|
name: "loading",
|
|
class: "layui-icon-loading"
|
|
}, {
|
|
name: "loading",
|
|
class: "layui-icon-loading-one"
|
|
}, {
|
|
name: "\u6DFB\u52A0",
|
|
class: "layui-icon-add-one"
|
|
}, {
|
|
name: "\u64AD\u653E",
|
|
class: "layui-icon-play"
|
|
}, {
|
|
name: "\u6682\u505C",
|
|
class: "layui-icon-pause"
|
|
}, {
|
|
name: "\u97F3\u9891-\u8033\u673A",
|
|
class: "layui-icon-headset"
|
|
}, {
|
|
name: "\u89C6\u9891",
|
|
class: "layui-icon-video"
|
|
}, {
|
|
name: "\u8BED\u97F3-\u58F0\u97F3",
|
|
class: "layui-icon-voice"
|
|
}, {
|
|
name: "\u6D88\u606F-\u901A\u77E5-\u5587\u53ED",
|
|
class: "layui-icon-speaker"
|
|
}, {
|
|
name: "\u5220\u9664\u7EBF",
|
|
class: "layui-icon-fonts-del"
|
|
}, {
|
|
name: "\u4EE3\u7801",
|
|
class: "layui-icon-fonts-code"
|
|
}, {
|
|
name: "HTML",
|
|
class: "layui-icon-fonts-html"
|
|
}, {
|
|
name: "\u5B57\u4F53\u52A0\u7C97",
|
|
class: "layui-icon-fonts-strong"
|
|
}, {
|
|
name: "\u5220\u9664\u94FE\u63A5",
|
|
class: "layui-icon-unlink"
|
|
}, {
|
|
name: "\u56FE\u7247",
|
|
class: "layui-icon-picture"
|
|
}, {
|
|
name: "\u94FE\u63A5",
|
|
class: "layui-icon-link"
|
|
}, {
|
|
name: "\u8868\u60C5-\u7B11-\u7C97",
|
|
class: "layui-icon-face-smile-b"
|
|
}, {
|
|
name: "\u5DE6\u5BF9\u9F50",
|
|
class: "layui-icon-align-left"
|
|
}, {
|
|
name: "\u53F3\u5BF9\u9F50",
|
|
class: "layui-icon-align-right"
|
|
}, {
|
|
name: "\u5C45\u4E2D\u5BF9\u9F50",
|
|
class: "layui-icon-align-center"
|
|
}, {
|
|
name: "\u5B57\u4F53-\u4E0B\u5212\u7EBF",
|
|
class: "layui-icon-fonts-u"
|
|
}, {
|
|
name: "\u5B57\u4F53-\u659C\u4F53",
|
|
class: "layui-icon-fonts-i"
|
|
}, {
|
|
name: "Tabs \u9009\u9879\u5361",
|
|
class: "layui-icon-tabs"
|
|
}, {
|
|
name: "\u5355\u9009\u6846-\u9009\u4E2D",
|
|
class: "layui-icon-radio"
|
|
}, {
|
|
name: "\u5355\u9009\u6846-\u5019\u9009",
|
|
class: "layui-icon-circle"
|
|
}, {
|
|
name: "\u7F16\u8F91",
|
|
class: "layui-icon-edit"
|
|
}, {
|
|
name: "\u5206\u4EAB",
|
|
class: "layui-icon-share"
|
|
}, {
|
|
name: "\u5220\u9664",
|
|
class: "layui-icon-delete"
|
|
}, {
|
|
name: "\u8868\u5355",
|
|
class: "layui-icon-form"
|
|
}, {
|
|
name: "\u624B\u673A-\u7EC6\u4F53",
|
|
class: "layui-icon-cellphone-fine"
|
|
}, {
|
|
name: "\u804A\u5929 \u5BF9\u8BDD \u6C9F\u901A",
|
|
class: "layui-icon-dialogue"
|
|
}, {
|
|
name: "\u6587\u5B57\u683C\u5F0F\u5316",
|
|
class: "layui-icon-fonts-clear"
|
|
}, {
|
|
name: "\u7A97\u53E3",
|
|
class: "layui-icon-layer"
|
|
}, {
|
|
name: "\u65E5\u671F",
|
|
class: "layui-icon-date"
|
|
}, {
|
|
name: "\u6C34 \u4E0B\u96E8",
|
|
class: "layui-icon-water"
|
|
}, {
|
|
name: "\u4EE3\u7801-\u5706\u5708",
|
|
class: "layui-icon-code-circle"
|
|
}, {
|
|
name: "\u8F6E\u64AD\u7EC4\u56FE",
|
|
class: "layui-icon-carousel"
|
|
}, {
|
|
name: "\u7FFB\u9875",
|
|
class: "layui-icon-prev-circle"
|
|
}, {
|
|
name: "\u5E03\u5C40",
|
|
class: "layui-icon-layouts"
|
|
}, {
|
|
name: "\u5DE5\u5177",
|
|
class: "layui-icon-util"
|
|
}, {
|
|
name: "\u9009\u62E9\u6A21\u677F",
|
|
class: "layui-icon-templeate-one"
|
|
}, {
|
|
name: "\u4E0A\u4F20-\u5706\u5708",
|
|
class: "layui-icon-upload-circle"
|
|
}, {
|
|
name: "\u6811",
|
|
class: "layui-icon-tree"
|
|
}, {
|
|
name: "\u8868\u683C",
|
|
class: "layui-icon-table"
|
|
}, {
|
|
name: "\u56FE\u8868",
|
|
class: "layui-icon-chart"
|
|
}, {
|
|
name: "\u56FE\u6807 \u62A5\u8868 \u5C4F\u5E55",
|
|
class: "layui-icon-chart-screen"
|
|
}, {
|
|
name: "\u5F15\u64CE",
|
|
class: "layui-icon-engine"
|
|
}, {
|
|
name: "\u4E0B\u4E09\u89D2",
|
|
class: "layui-icon-triangle-d"
|
|
}, {
|
|
name: "\u53F3\u4E09\u89D2",
|
|
class: "layui-icon-triangle-r"
|
|
}, {
|
|
name: "\u6587\u4EF6",
|
|
class: "layui-icon-file"
|
|
}, {
|
|
name: "\u8BBE\u7F6E-\u5C0F\u578B",
|
|
class: "layui-icon-set-sm"
|
|
}, {
|
|
name: "\u51CF\u5C11-\u5706\u5708",
|
|
class: "layui-icon-reduce-circle"
|
|
}, {
|
|
name: "\u6DFB\u52A0-\u5706\u5708",
|
|
class: "layui-icon-add-circle"
|
|
}, {
|
|
name: "404",
|
|
class: "layui-icon-not-found"
|
|
}, {
|
|
name: "\u5173\u4E8E",
|
|
class: "layui-icon-about"
|
|
}, {
|
|
name: "\u7BAD\u5934 \u5411\u4E0A",
|
|
class: "layui-icon-up"
|
|
}, {
|
|
name: "\u7BAD\u5934 \u5411\u4E0B",
|
|
class: "layui-icon-down"
|
|
}, {
|
|
name: "\u7BAD\u5934 \u5411\u5DE6",
|
|
class: "layui-icon-left"
|
|
}, {
|
|
name: "\u7BAD\u5934 \u5411\u53F3",
|
|
class: "layui-icon-right"
|
|
}, {
|
|
name: "\u5706\u70B9",
|
|
class: "layui-icon-circle-dot"
|
|
}, {
|
|
name: "\u641C\u7D22",
|
|
class: "layui-icon-search"
|
|
}, {
|
|
name: "\u8BBE\u7F6E-\u5B9E\u5FC3",
|
|
class: "layui-icon-set-fill"
|
|
}, {
|
|
name: "\u7FA4\u7EC4",
|
|
class: "layui-icon-group"
|
|
}, {
|
|
name: "\u597D\u53CB",
|
|
class: "layui-icon-friends"
|
|
}, {
|
|
name: "\u56DE\u590D \u8BC4\u8BBA \u5B9E\u5FC3",
|
|
class: "layui-icon-reply-fill"
|
|
}, {
|
|
name: "\u83DC\u5355 \u9690\u8EAB \u5B9E\u5FC3",
|
|
class: "layui-icon-menu-fill"
|
|
}, {
|
|
name: "\u8BB0\u5F55",
|
|
class: "layui-icon-log"
|
|
}, {
|
|
name: "\u56FE\u7247-\u7EC6\u4F53",
|
|
class: "layui-icon-picture-fine"
|
|
}, {
|
|
name: "\u8868\u60C5-\u7B11-\u7EC6\u4F53",
|
|
class: "layui-icon-face-smile-fine"
|
|
}, {
|
|
name: "\u5217\u8868",
|
|
class: "layui-icon-list"
|
|
}, {
|
|
name: "\u53D1\u5E03 \u7EB8\u98DE\u673A",
|
|
class: "layui-icon-release"
|
|
}, {
|
|
name: "\u5BF9 OK",
|
|
class: "layui-icon-ok"
|
|
}, {
|
|
name: "\u5E2E\u52A9",
|
|
class: "layui-icon-help"
|
|
}, {
|
|
name: "\u5BA2\u670D",
|
|
class: "layui-icon-chat"
|
|
}, {
|
|
name: "top \u7F6E\u9876",
|
|
class: "layui-icon-top"
|
|
}, {
|
|
name: "\u6536\u85CF-\u7A7A\u5FC3",
|
|
class: "layui-icon-star"
|
|
}, {
|
|
name: "\u6536\u85CF-\u5B9E\u5FC3",
|
|
class: "layui-icon-star-fill"
|
|
}, {
|
|
name: "\u5173\u95ED-\u5B9E\u5FC3",
|
|
class: "layui-icon-close-fill"
|
|
}, {
|
|
name: "\u5173\u95ED-\u7A7A\u5FC3",
|
|
class: "layui-icon-close"
|
|
}, {
|
|
name: "\u6B63\u786E",
|
|
class: "layui-icon-ok-circle"
|
|
}, {
|
|
name: "\u6DFB\u52A0-\u5706\u5708-\u7EC6\u4F53",
|
|
class: "layui-icon-add-circle-fine"
|
|
}];
|
|
function ownKeys$1(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
enumerableOnly && (symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
})), keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread2$1(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
i % 2 ? ownKeys$1(Object(source), true).forEach(function(key) {
|
|
_defineProperty$1(target, key, source[key]);
|
|
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
return target;
|
|
}
|
|
function _defineProperty$1(obj, key, value) {
|
|
if (key in obj) {
|
|
Object.defineProperty(obj, key, {
|
|
value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
} else {
|
|
obj[key] = value;
|
|
}
|
|
return obj;
|
|
}
|
|
var __default__$2E = {
|
|
name: "LayIcon"
|
|
};
|
|
var _sfc_main$2E = defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2E), {}, {
|
|
props: {
|
|
size: null,
|
|
type: null,
|
|
color: null,
|
|
prefix: {
|
|
default: "layui-icon"
|
|
}
|
|
},
|
|
setup: function setup8(__props) {
|
|
var props = __props;
|
|
var styles = computed$1(function() {
|
|
return {
|
|
color: props.color,
|
|
fontSize: props.size
|
|
};
|
|
});
|
|
computed$1(function() {
|
|
return {
|
|
type: props.type,
|
|
prefix: props.prefix
|
|
};
|
|
});
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("i", {
|
|
class: normalizeClass([__props.prefix, __props.type]),
|
|
style: normalizeStyle(unref(styles))
|
|
}, null, 6);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2D = {
|
|
name: "HeartFillIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2D), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup22(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-heart-fill"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2C = {
|
|
name: "HeartIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2C), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup32(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-heart"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2B = {
|
|
name: "LightIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2B), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup42(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-light"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2A = {
|
|
name: "TimeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2A), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup52(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-time"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2z = {
|
|
name: "BluetoothIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2z), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup62(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-bluetooth"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2y = {
|
|
name: "AtIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2y), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup72(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-at"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2x = {
|
|
name: "MuteIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2x), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup82(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-mute"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2w = {
|
|
name: "MikeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2w), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup9(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-mike"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2v = {
|
|
name: "KeyIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2v), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup10(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-key"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2u = {
|
|
name: "GiftIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2u), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup11(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-gift"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2t = {
|
|
name: "EmailIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2t), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup12(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-email"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2s = {
|
|
name: "RssIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2s), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup13(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-rss"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2r = {
|
|
name: "WifiIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2r), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup14(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-wifi"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2q = {
|
|
name: "LogoutIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2q), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup15(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-logout"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2p = {
|
|
name: "AndroidIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2p), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup16(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-android"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2o = {
|
|
name: "IosIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2o), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup17(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-ios"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2n = {
|
|
name: "WindowsIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2n), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup18(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-windows"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2m = {
|
|
name: "TransferIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2m), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup19(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-transfer"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2l = {
|
|
name: "ServiceIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2l), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup20(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-service"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2k = {
|
|
name: "SubtractionIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2k), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup21(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-subtraction"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2j = {
|
|
name: "AdditionIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2j), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup222(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-addition"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2i = {
|
|
name: "SliderIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2i), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup23(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-slider"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2h = {
|
|
name: "PrintIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2h), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup24(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-print"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2g = {
|
|
name: "ExportIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2g), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup25(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-export"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2f = {
|
|
name: "ColsIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2f), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup26(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-cols"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2e = {
|
|
name: "ScreenRestoreIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2e), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup27(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-screen-restore"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2d = {
|
|
name: "ScreenFullIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2d), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup28(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-screen-full"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2c = {
|
|
name: "RateHalfIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2c), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup29(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-rate-half"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2b = {
|
|
name: "RateIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2b), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup30(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-rate"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2a = {
|
|
name: "RateSolidIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2a), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup31(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-rate-solid"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$29 = {
|
|
name: "CellphoneIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$29), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup322(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-cellphone"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$28 = {
|
|
name: "VercodeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$28), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup33(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-vercode"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$27 = {
|
|
name: "LoginWechatIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$27), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup34(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-login-wechat"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$26 = {
|
|
name: "LoginQqIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$26), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup35(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-login-qq"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$25 = {
|
|
name: "LoginWeiboIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$25), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup36(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-login-weibo"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$24 = {
|
|
name: "PasswordIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$24), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup37(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-password"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$23 = {
|
|
name: "UsernameIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$23), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup38(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-username"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$22 = {
|
|
name: "RefreshThreeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$22), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup39(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-refresh-three"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$21 = {
|
|
name: "AuzIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$21), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup40(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-auz"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$20 = {
|
|
name: "SpreadLeftIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$20), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup41(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-spread-left"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1$ = {
|
|
name: "ShrinkRightIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1$), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup422(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-shrink-right"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1_ = {
|
|
name: "SnowflakeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1_), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup43(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-snowflake"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1Z = {
|
|
name: "TipsIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1Z), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup44(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-tips"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1Y = {
|
|
name: "NoteIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1Y), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup45(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-note"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1X = {
|
|
name: "HomeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1X), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup46(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-home"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1W = {
|
|
name: "SeniorIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1W), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup47(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-senior"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1V = {
|
|
name: "RefreshIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1V), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup48(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-refresh"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1U = {
|
|
name: "RefreshOneIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1U), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup49(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-refresh-one"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1T = {
|
|
name: "FlagIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1T), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup50(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-flag"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1S = {
|
|
name: "ThemeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1S), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup51(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-theme"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1R = {
|
|
name: "NoticeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1R), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup522(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-notice"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1Q = {
|
|
name: "WebsiteIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1Q), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup53(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-website"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1P = {
|
|
name: "ConsoleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1P), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup54(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-console"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1O = {
|
|
name: "FaceSurprisedIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1O), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup55(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-face-surprised"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1N = {
|
|
name: "SetIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1N), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup56(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-set"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1M = {
|
|
name: "TemplateOneIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1M), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup57(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-template-one"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1L = {
|
|
name: "AppIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1L), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup58(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-app"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1K = {
|
|
name: "TemplateIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1K), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup59(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-template"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1J = {
|
|
name: "PraiseIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1J), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup60(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-praise"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1I = {
|
|
name: "TreadIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1I), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup61(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-tread"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1H = {
|
|
name: "MaleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1H), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup622(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-male"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1G = {
|
|
name: "FemaleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1G), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup63(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-female"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1F = {
|
|
name: "CameraIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1F), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup64(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-camera"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1E = {
|
|
name: "CameraFillIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1E), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup65(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-camera-fill"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1D = {
|
|
name: "MoreIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1D), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup66(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-more"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1C = {
|
|
name: "MoreVerticalIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1C), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup67(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-more-vertical"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1B = {
|
|
name: "RmbIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1B), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup68(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-rmb"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1A$1 = {
|
|
name: "DollarIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1A$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup69(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-dollar"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1z$1 = {
|
|
name: "DiamondIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1z$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup70(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-diamond"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1y$1 = {
|
|
name: "FireIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1y$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup71(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-fire"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1x$1 = {
|
|
name: "ReturnIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1x$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup722(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-return"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1w$1 = {
|
|
name: "LocationIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1w$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup73(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-location"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1v$1 = {
|
|
name: "ReadIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1v$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup74(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-read"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1u$1 = {
|
|
name: "SurveyIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1u$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup75(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-survey"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1t$1 = {
|
|
name: "FaceSmileIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1t$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup76(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-face-smile"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1s$1 = {
|
|
name: "FaceCryIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1s$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup77(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-face-cry"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1r$1 = {
|
|
name: "CartSimpleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1r$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup78(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-cart-simple"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1q$1 = {
|
|
name: "CartIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1q$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup79(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-cart"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1p$1 = {
|
|
name: "NextIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1p$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup80(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-next"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1o$1 = {
|
|
name: "PrevIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1o$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup81(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-prev"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1n$1 = {
|
|
name: "UploadDragIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1n$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup822(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-upload-drag"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1m$1 = {
|
|
name: "UploadIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1m$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup83(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-upload"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1l$1 = {
|
|
name: "DownloadCircleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1l$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup84(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-download-circle"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1k$1 = {
|
|
name: "ComponentIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1k$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup85(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-component"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1j$1 = {
|
|
name: "FileBIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1j$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup86(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-file-b"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1i$1 = {
|
|
name: "UserIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1i$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup87(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-user"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1h$1 = {
|
|
name: "FindFillIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1h$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup88(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-find-fill"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1g$1 = {
|
|
name: "LoadingIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1g$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup89(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-loading"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1f$1 = {
|
|
name: "LoadingOneIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1f$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup90(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-loading-one"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1e$1 = {
|
|
name: "AddOneIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1e$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup91(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-add-one"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1d$1 = {
|
|
name: "PlayIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1d$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup92(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-play"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1c$1 = {
|
|
name: "PauseIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1c$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup93(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-pause"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1b$1 = {
|
|
name: "HeadsetIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1b$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup94(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-headset"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1a$1 = {
|
|
name: "VideoIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1a$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup95(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-video"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$19$1 = {
|
|
name: "VoiceIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$19$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup96(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-voice"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$18$1 = {
|
|
name: "SpeakerIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$18$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup97(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-speaker"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$17$1 = {
|
|
name: "FontsDelIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$17$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup98(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-fonts-del"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$16$1 = {
|
|
name: "FontsCodeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$16$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup99(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-fonts-code"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$15$1 = {
|
|
name: "FontsHtmlIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$15$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup100(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-fonts-html"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$14$1 = {
|
|
name: "FontsStrongIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$14$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup101(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-fonts-strong"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$13$1 = {
|
|
name: "UnlinkIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$13$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup102(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-unlink"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$12$1 = {
|
|
name: "PictureIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$12$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup103(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-picture"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$11$1 = {
|
|
name: "LinkIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$11$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup104(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-link"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$10$1 = {
|
|
name: "FaceSmileBIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$10$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup105(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-face-smile-b"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$$$1 = {
|
|
name: "AlignLeftIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$$$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup106(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-align-left"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$_$1 = {
|
|
name: "AlignRightIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$_$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup107(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-align-right"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$Z$1 = {
|
|
name: "AlignCenterIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$Z$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup108(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-align-center"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$Y$1 = {
|
|
name: "FontsUIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$Y$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup109(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-fonts-u"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$X$1 = {
|
|
name: "FontsIIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$X$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup110(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-fonts-i"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$W$1 = {
|
|
name: "TabsIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$W$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup111(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-tabs"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$V$1 = {
|
|
name: "RadioIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$V$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup112(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-radio"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$U$1 = {
|
|
name: "CircleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$U$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup113(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-circle"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$T$1 = {
|
|
name: "EditIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$T$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup114(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-edit"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$S$1 = {
|
|
name: "ShareIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$S$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup115(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-share"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$R$1 = {
|
|
name: "DeleteIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$R$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup116(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-delete"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$Q$1 = {
|
|
name: "FormIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$Q$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup117(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-form"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$P$1 = {
|
|
name: "CellphoneFineIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$P$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup118(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-cellphone-fine"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$O$1 = {
|
|
name: "DialogueIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$O$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup119(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-dialogue"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$N$1 = {
|
|
name: "FontsClearIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$N$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup120(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-fonts-clear"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$M$1 = {
|
|
name: "LayerIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$M$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup121(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-layer"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$L$1 = {
|
|
name: "DateIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$L$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup122(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-date"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$K$1 = {
|
|
name: "WaterIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$K$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup123(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-water"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$J$1 = {
|
|
name: "CodeCircleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$J$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup124(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-code-circle"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$I$1 = {
|
|
name: "CarouselIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$I$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup125(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-carousel"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$H$1 = {
|
|
name: "PrevCircleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$H$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup126(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-prev-circle"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$G$1 = {
|
|
name: "LayoutsIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$G$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup127(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-layouts"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$F$1 = {
|
|
name: "UtilIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$F$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup128(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-util"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$E$1 = {
|
|
name: "TempleateOneIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$E$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup129(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-templeate-one"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$D$1 = {
|
|
name: "UploadCircleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$D$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup130(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-upload-circle"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$C$1 = {
|
|
name: "TreeIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$C$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup131(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-tree"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$B$1 = {
|
|
name: "TableIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$B$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup132(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-table"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$A$1 = {
|
|
name: "ChartIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$A$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup133(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-chart"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$z$1 = {
|
|
name: "ChartScreenIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$z$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup134(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-chart-screen"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$y$1 = {
|
|
name: "EngineIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$y$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup135(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-engine"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$x$1 = {
|
|
name: "TriangleDIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$x$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup136(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-triangle-d"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$w$1 = {
|
|
name: "TriangleRIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$w$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup137(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-triangle-r"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$v$1 = {
|
|
name: "FileIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$v$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup138(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-file"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$u$1 = {
|
|
name: "SetSmIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$u$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup139(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-set-sm"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$t$1 = {
|
|
name: "ReduceCircleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$t$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup140(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-reduce-circle"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$s$1 = {
|
|
name: "AddCircleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$s$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup141(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-add-circle"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$r$1 = {
|
|
name: "NotFoundIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$r$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup142(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-not-found"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$q$1 = {
|
|
name: "AboutIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$q$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup143(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-about"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$p$1 = {
|
|
name: "UpIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$p$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup144(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-up"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$o$1 = {
|
|
name: "DownIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$o$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup145(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-down"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$n$1 = {
|
|
name: "LeftIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$n$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup146(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-left"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$m$1 = {
|
|
name: "RightIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$m$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup147(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-right"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$l$1 = {
|
|
name: "CircleDotIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$l$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup148(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-circle-dot"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$k$1 = {
|
|
name: "SearchIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$k$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup149(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-search"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$j$1 = {
|
|
name: "SetFillIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$j$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup150(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-set-fill"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$i$1 = {
|
|
name: "GroupIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$i$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup151(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-group"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$h$1 = {
|
|
name: "FriendsIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$h$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup152(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-friends"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$g$1 = {
|
|
name: "ReplyFillIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$g$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup153(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-reply-fill"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$f$1 = {
|
|
name: "MenuFillIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$f$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup154(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-menu-fill"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$e$1 = {
|
|
name: "LogIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$e$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup155(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-log"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$d$1 = {
|
|
name: "PictureFineIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$d$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup156(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-picture-fine"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$c$1 = {
|
|
name: "FaceSmileFineIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$c$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup157(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-face-smile-fine"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$b$1 = {
|
|
name: "ListIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$b$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup158(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-list"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$a$1 = {
|
|
name: "ReleaseIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$a$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup159(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-release"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$9$1 = {
|
|
name: "OkIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$9$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup160(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-ok"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$8$1 = {
|
|
name: "HelpIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$8$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup161(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-help"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$7$1 = {
|
|
name: "ChatIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$7$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup162(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-chat"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$6$1 = {
|
|
name: "TopIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$6$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup163(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-top"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$5$1 = {
|
|
name: "StarIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$5$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup164(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-star"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$4$1 = {
|
|
name: "StarFillIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$4$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup165(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-star-fill"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$3$1 = {
|
|
name: "CloseFillIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$3$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup166(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-close-fill"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2$1 = {
|
|
name: "CloseIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup167(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-close"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$1$1 = {
|
|
name: "OkCircleIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$1$1), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup168(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-ok-circle"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var __default__$2F = {
|
|
name: "AddCircleFineIcon"
|
|
};
|
|
/* @__PURE__ */ defineComponent(_objectSpread2$1(_objectSpread2$1({}, __default__$2F), {}, {
|
|
props: {
|
|
color: null,
|
|
size: null
|
|
},
|
|
setup: function setup169(__props) {
|
|
var props = __props;
|
|
return function(_ctx, _cache) {
|
|
return openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
color: props.color,
|
|
size: props.size,
|
|
type: "layui-icon-add-circle-fine"
|
|
}, null, 8, ["color", "size"]);
|
|
};
|
|
}
|
|
}));
|
|
var index$$ = /* @__PURE__ */ (() => ".layui-backtop{position:fixed;right:30px;bottom:40px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:40px;background-color:#9f9f9f;color:#fff;border-radius:var(--global-border-radius);opacity:.95;z-index:999999}.layui-backtop :hover{opacity:.85}.layui-backtop-medium{width:40px;height:40px;font-size:30px}.layui-backtop-small{width:30px;height:30px;font-size:20px}\n")();
|
|
const _hoisted_1$18 = ["onClick"];
|
|
const __default__$1A = {
|
|
name: "LayBacktop"
|
|
};
|
|
const _sfc_main$1H = defineComponent({
|
|
...__default__$1A,
|
|
props: {
|
|
target: { default: "window" },
|
|
showHeight: { default: 200 },
|
|
disabled: { type: Boolean, default: false },
|
|
position: null,
|
|
right: null,
|
|
bottom: null,
|
|
size: null,
|
|
bgcolor: null,
|
|
opacity: null,
|
|
color: null,
|
|
borderRadius: null,
|
|
circle: { type: Boolean, default: false },
|
|
icon: { default: "layui-icon-top" },
|
|
iconSize: { default: 30 },
|
|
iconColor: null
|
|
},
|
|
emits: ["click"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const backtopRef = ref(null);
|
|
const scrollTarget = shallowRef(void 0);
|
|
let visible = ref(props.showHeight === 0);
|
|
const classBacktop = computed$1(() => {
|
|
return {
|
|
"layui-backtop-medium": props.size === "medium",
|
|
"layui-backtop-small": props.size === "small"
|
|
};
|
|
});
|
|
const borderRadius = computed$1(() => {
|
|
if (props.circle) {
|
|
return "50%";
|
|
}
|
|
return typeof props.borderRadius === "number" ? `${props.borderRadius}px` : props.borderRadius;
|
|
});
|
|
const styleBacktop = computed$1(() => {
|
|
return {
|
|
position: props.position,
|
|
right: `${props.right}px`,
|
|
bottom: `${props.bottom}px`,
|
|
backgroundColor: props.bgcolor,
|
|
opacity: props.opacity,
|
|
color: props.color,
|
|
borderRadius: borderRadius.value
|
|
};
|
|
});
|
|
const easeInOut = (value) => {
|
|
return value < 0.5 ? 2 * value * value : 1 - 2 * (value - 1) * (value - 1);
|
|
};
|
|
const scrollToTop = () => {
|
|
if (!scrollTarget.value)
|
|
return;
|
|
if (scrollTarget.value instanceof Window) {
|
|
window.scrollTo({ top: 0, left: 0, behavior: "smooth" });
|
|
} else {
|
|
const previous = Date.now();
|
|
const scrollHeight = scrollTarget.value.scrollTop;
|
|
const animationFunc = () => {
|
|
if (!scrollTarget.value || scrollTarget.value instanceof Window)
|
|
return;
|
|
const elapsed = (Date.now() - previous) / 450;
|
|
if (elapsed < 1) {
|
|
scrollTarget.value.scrollTop = scrollHeight * (1 - easeInOut(elapsed));
|
|
window.requestAnimationFrame(animationFunc);
|
|
} else {
|
|
scrollTarget.value.scrollTop = 0;
|
|
}
|
|
};
|
|
window.requestAnimationFrame(animationFunc);
|
|
}
|
|
};
|
|
const handleScroll = () => {
|
|
if (!scrollTarget.value)
|
|
return;
|
|
const scrollTop = scrollTarget.value instanceof Window ? window.pageYOffset : scrollTarget.value.scrollTop;
|
|
visible.value = scrollTop >= props.showHeight;
|
|
};
|
|
const handleClick = (event) => {
|
|
if (!props.disabled) {
|
|
scrollToTop();
|
|
}
|
|
emit("click", event);
|
|
};
|
|
const handlerMousedown = () => {
|
|
backtopRef.value.style.opacity = "1";
|
|
};
|
|
const handlerMouseup = () => {
|
|
backtopRef.value.style.opacity = "0.95";
|
|
};
|
|
const getScrollTarget = () => {
|
|
if (props.target === "window") {
|
|
return getScrollParent(backtopRef.value, false);
|
|
} else {
|
|
const targetElement = document.querySelector(props.target);
|
|
if (!targetElement) {
|
|
throw new Error(`target is not existed: ${props.target}`);
|
|
}
|
|
if (props.position === "absolute") {
|
|
if (!targetElement.parentElement) {
|
|
throw new Error(`target parent element is not existed: ${props.target}`);
|
|
}
|
|
targetElement.parentElement.style.position = "relative";
|
|
}
|
|
return targetElement;
|
|
}
|
|
};
|
|
const getScrollParent = (element, includeHidden) => {
|
|
let style = getComputedStyle(element);
|
|
let excludeStaticParent = style.position === "absolute";
|
|
let overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/;
|
|
for (let parent = element; parent = parent.parentElement; ) {
|
|
style = getComputedStyle(parent);
|
|
if (excludeStaticParent && style.position === "static") {
|
|
continue;
|
|
}
|
|
if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) {
|
|
return parent;
|
|
}
|
|
}
|
|
return window;
|
|
};
|
|
const throttle2 = (func, wait) => {
|
|
var timer = null;
|
|
return (...args) => {
|
|
if (!timer) {
|
|
timer = setTimeout(() => {
|
|
timer = null;
|
|
func.apply(this, args);
|
|
}, wait);
|
|
}
|
|
};
|
|
};
|
|
const callback = throttle2(handleScroll, 300);
|
|
onMounted(() => {
|
|
if (!props.target)
|
|
return;
|
|
scrollTarget.value = getScrollTarget();
|
|
scrollTarget.value.addEventListener("scroll", callback);
|
|
});
|
|
onBeforeUnmount(() => {
|
|
var _a2;
|
|
(_a2 = scrollTarget.value) == null ? void 0 : _a2.removeEventListener("scroll", callback);
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
ref_key: "backtopRef",
|
|
ref: backtopRef,
|
|
class: normalizeClass(["layui-backtop", unref(classBacktop)]),
|
|
style: normalizeStyle({ ...unref(styleBacktop) }),
|
|
onClick: withModifiers(handleClick, ["stop"]),
|
|
onMousedown: handlerMousedown,
|
|
onMouseup: handlerMouseup
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: props.icon,
|
|
size: `${props.iconSize}px`,
|
|
color: props.iconColor
|
|
}, null, 8, ["type", "size", "color"])
|
|
])
|
|
], 46, _hoisted_1$18)), [
|
|
[vShow, unref(visible)]
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$1l = withInstall(_sfc_main$1H);
|
|
var index$_ = /* @__PURE__ */ (() => ".layui-avatar{font-size:14px;font-variant:tabular-nums;border-radius:var(--global-border-radius);box-sizing:border-box;color:#fff;list-style:none;position:relative;display:inline-block;background:#eeeeee;overflow:hidden;white-space:nowrap;text-align:center;width:32px;height:32px;line-height:32px;vertical-align:middle}.layui-avatar.layui-avatar-radius{border-radius:50%}.layui-avatar.layui-avatar-sm{height:30px;width:30px}.layui-avatar.layui-avatar-lg{height:36px;width:36px}.layui-avatar.layui-avatar-xs{height:28px;width:28px}.layui-avatar-list .layui-avatar{margin-left:-10px;display:inline-block}.layui-avatar>img{width:100%;height:100%;display:block;object-fit:cover}\n")();
|
|
const _hoisted_1$17 = ["src", "alt"];
|
|
const __default__$1z = {
|
|
name: "LayAvatar"
|
|
};
|
|
const _sfc_main$1G = defineComponent({
|
|
...__default__$1z,
|
|
props: {
|
|
src: null,
|
|
size: { default: "md" },
|
|
radius: { type: Boolean, default: false },
|
|
icon: { default: "layui-icon-username" },
|
|
alt: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const slot = useSlots();
|
|
const classes = computed$1(() => {
|
|
return [
|
|
"layui-avatar",
|
|
props.radius ? "layui-avatar-radius" : "",
|
|
props.size ? `layui-avatar-${props.size}` : ""
|
|
];
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return unref(slot).default ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
class: normalizeClass(unref(classes))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2)) : (openBlock(), createElementBlock("span", {
|
|
key: 1,
|
|
class: normalizeClass(unref(classes))
|
|
}, [
|
|
__props.src ? (openBlock(), createElementBlock("img", {
|
|
key: 0,
|
|
src: __props.src,
|
|
alt: __props.alt
|
|
}, null, 8, _hoisted_1$17)) : (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 1,
|
|
type: __props.icon
|
|
}, null, 8, ["type"]))
|
|
], 2));
|
|
};
|
|
}
|
|
});
|
|
const component$1k = withInstall(_sfc_main$1G);
|
|
var _export_sfc = (sfc, props) => {
|
|
const target = sfc.__vccOpts || sfc;
|
|
for (const [key, val] of props) {
|
|
target[key] = val;
|
|
}
|
|
return target;
|
|
};
|
|
const _sfc_main$1F = {
|
|
name: "LayAvatarList"
|
|
};
|
|
const _hoisted_1$16 = { class: "layui-avatar-list" };
|
|
function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$16, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
}
|
|
var Component = /* @__PURE__ */ _export_sfc(_sfc_main$1F, [["render", _sfc_render$4]]);
|
|
const component$1j = withInstall(Component);
|
|
var index$Z = /* @__PURE__ */ (() => ".layui-radio[size=lg] .layui-form-radio>i{font-size:24px}.layui-radio[size=md] .layui-form-radio>i{font-size:22px}.layui-radio[size=sm] .layui-form-radio>i{font-size:20px}.layui-radio[size=xs] .layui-form-radio>i{font-size:18px}.layui-radio input[type=radio]{display:none}.layui-form-radio,.layui-form-radio *{display:inline-block;vertical-align:middle}.layui-form-radio{line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:var(--global-neutral-color-8)}.layui-form-radio:hover *,.layui-form-radioed,.layui-form-radioed>i{color:var(--global-checked-color)}.layui-radio-disabled>i{color:var(--global-neutral-color-3)!important}.layui-radio-disabled *{color:var(--global-neutral-color-8)!important}\n")();
|
|
const _hoisted_1$15 = ["size"];
|
|
const _hoisted_2$R = ["value", "name"];
|
|
const _hoisted_3$K = ["onClick"];
|
|
const _hoisted_4$z = {
|
|
key: 0,
|
|
class: "layui-anim layui-icon layui-anim-scaleSpring"
|
|
};
|
|
const _hoisted_5$p = {
|
|
key: 1,
|
|
class: "layui-icon layui-form-radioed"
|
|
};
|
|
const __default__$1y = {
|
|
name: "LayRadio"
|
|
};
|
|
const _sfc_main$1E = defineComponent({
|
|
...__default__$1y,
|
|
props: {
|
|
name: null,
|
|
size: { default: "md" },
|
|
disabled: { type: Boolean },
|
|
modelValue: { type: [String, Boolean, Number] },
|
|
value: { type: [String, Boolean, Number] },
|
|
label: null
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const radioGroup = inject("radioGroup", {});
|
|
const isGroup = computed$1(() => {
|
|
return radioGroup != void 0 && (radioGroup == null ? void 0 : radioGroup.name) === "LayRadioGroup";
|
|
});
|
|
const naiveName = computed$1(() => {
|
|
if (radioGroup.naiveName) {
|
|
return radioGroup.naiveName;
|
|
} else {
|
|
return props.name;
|
|
}
|
|
});
|
|
const isChecked = computed$1({
|
|
get() {
|
|
if (isGroup.value) {
|
|
return radioGroup.modelValue.value === props.value;
|
|
} else {
|
|
return props.modelValue === props.value;
|
|
}
|
|
},
|
|
set(val) {
|
|
if (isGroup.value) {
|
|
radioGroup.modelValue.value = props.value;
|
|
} else {
|
|
if (val) {
|
|
emit("change", props.value);
|
|
emit("update:modelValue", props.value);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
const handleClick = function() {
|
|
if (!ifDisabled.value) {
|
|
isChecked.value = !isChecked.value;
|
|
}
|
|
};
|
|
const ifDisabled = computed$1(() => {
|
|
if (props.disabled) {
|
|
return true;
|
|
}
|
|
if (radioGroup.hasOwnProperty("disabled") && radioGroup.disabled.value) {
|
|
return true;
|
|
}
|
|
return false;
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("span", {
|
|
class: "layui-radio",
|
|
size: __props.size
|
|
}, [
|
|
createElementVNode("input", {
|
|
type: "radio",
|
|
value: __props.value,
|
|
name: unref(naiveName)
|
|
}, null, 8, _hoisted_2$R),
|
|
createElementVNode("div", {
|
|
class: normalizeClass(["layui-unselect layui-form-radio", {
|
|
"layui-form-radioed": unref(isChecked),
|
|
"layui-radio-disabled layui-disabled": unref(ifDisabled)
|
|
}]),
|
|
onClick: withModifiers(handleClick, ["stop"])
|
|
}, [
|
|
unref(isChecked) ? (openBlock(), createElementBlock("i", _hoisted_4$z, "\uE643")) : (openBlock(), createElementBlock("i", _hoisted_5$p, "\uE63F")),
|
|
createElementVNode("span", null, [
|
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
createTextVNode(toDisplayString$1(__props.label), 1)
|
|
])
|
|
])
|
|
], 10, _hoisted_3$K)
|
|
], 8, _hoisted_1$15);
|
|
};
|
|
}
|
|
});
|
|
const component$1i = withInstall(_sfc_main$1E);
|
|
const _hoisted_1$14 = { class: "layui-radio-group" };
|
|
const __default__$1x = {
|
|
name: "LayRadioGroup"
|
|
};
|
|
const _sfc_main$1D = defineComponent({
|
|
...__default__$1x,
|
|
props: {
|
|
modelValue: { type: [String, Boolean, Number] },
|
|
name: null,
|
|
disabled: { type: Boolean, default: false }
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const modelValue = ref(props.modelValue);
|
|
const disabled = ref(props.disabled);
|
|
provide("radioGroup", {
|
|
name: "LayRadioGroup",
|
|
modelValue,
|
|
naiveName: props.name,
|
|
disabled
|
|
});
|
|
watch(() => modelValue, (val) => {
|
|
emit("change", modelValue.value);
|
|
emit("update:modelValue", modelValue.value);
|
|
}, { deep: true });
|
|
watch(() => props.modelValue, (val) => modelValue.value = val);
|
|
watch(() => props.disabled, (val) => disabled.value = val);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$14, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$1h = withInstall(_sfc_main$1D);
|
|
var index$Y = /* @__PURE__ */ (() => ":root{--button-primary-text-color: #fff;--button-primary-background-color: var(--global-primary-color);--button-primary-border-color: var(--global-primary-color);--button-normal-text-color: #fff;--button-normal-background-color: var(--global-normal-color);--button-normal-border-color: var(--global-normal-color);--button-warm-text-color: #fff;--button-warm-background-color: var(--global-warm-color);--button-warm-border-color: var(--global-warm-color);--button-danger-text-color: #fff;--button-danger-background-color: var(--global-danger-color);--button-danger-border-color: var(--global-danger-color);--button-border-radius: var(--global-border-radius);--button-border-color: var(--global-neutral-color-6);--button-background-color: 0 0;--button-text-color: #666}.layui-btn{height:38px;line-height:36px;padding:0 18px;font-size:14px;text-align:center;white-space:nowrap;color:var(--button-text-color);background:var(--button-background-color);border-radius:var(--button-border-radius);border-color:var(--button-border-color);border-width:1px;border-style:solid;cursor:pointer}.layui-btn-primary{color:var(--button-primary-text-color);background-color:var(--button-primary-background-color);border-color:var(--button-primary-border-color)}.layui-btn-normal{color:var(--button-normal-text-color);background-color:var(--button-normal-background-color);border-color:var(--button-normal-border-color)}.layui-btn-warm{color:var(--button-warm-text-color);background-color:var(--button-warm-background-color);border-color:var(--button-warm-border-color)}.layui-btn-danger{color:var(--button-danger-text-color);background-color:var(--button-danger-background-color);border-color:var(--button-danger-border-color)}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80)}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:12px!important}.layui-btn-fluid{width:100%}.layui-btn-radius{border-radius:100px}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border-color:#eee!important;background-color:#fbfbfb!important;color:#d2d2d2!important;cursor:not-allowed!important;opacity:1}.layui-btn+.layui-btn{margin-left:10px}.layui-btn .layui-icon{padding:0 2px;vertical-align:middle\\ ;vertical-align:bottom}\n")();
|
|
const ButtonEmits = {
|
|
click: (evt) => evt instanceof MouseEvent
|
|
};
|
|
const _hoisted_1$13 = ["type"];
|
|
const __default__$1w = {
|
|
name: "LayButton"
|
|
};
|
|
const _sfc_main$1C = defineComponent({
|
|
...__default__$1w,
|
|
props: {
|
|
type: null,
|
|
size: null,
|
|
prefixIcon: null,
|
|
suffixIcon: null,
|
|
loadingIcon: { default: "layui-icon-loading-one" },
|
|
borderStyle: { default: "soild" },
|
|
border: null,
|
|
fluid: { type: Boolean, default: false },
|
|
radius: { type: Boolean, default: false },
|
|
loading: { type: Boolean, default: false },
|
|
disabled: { type: Boolean },
|
|
nativeType: { default: "button" }
|
|
},
|
|
emits: ButtonEmits,
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const onClick = (event) => {
|
|
if (!props.disabled) {
|
|
emits("click", event);
|
|
}
|
|
};
|
|
const styles = computed$1(() => {
|
|
return {
|
|
border: `1px ${props.borderStyle}`
|
|
};
|
|
});
|
|
const classes = computed$1(() => {
|
|
return [
|
|
{
|
|
"layui-btn-fluid": props.fluid,
|
|
"layui-btn-radius": props.radius,
|
|
"layui-btn-disabled": props.disabled
|
|
},
|
|
props.type ? `layui-btn-${props.type}` : "",
|
|
props.size ? `layui-btn-${props.size}` : "",
|
|
props.border ? `layui-border-${props.border}` : ""
|
|
];
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("button", {
|
|
class: normalizeClass(["layui-btn", unref(classes)]),
|
|
style: normalizeStyle(unref(styles)),
|
|
type: __props.nativeType,
|
|
onClick
|
|
}, [
|
|
__props.prefixIcon ? (openBlock(), createElementBlock("i", {
|
|
key: 0,
|
|
class: normalizeClass(`layui-icon ${__props.prefixIcon}`)
|
|
}, null, 2)) : createCommentVNode("", true),
|
|
__props.loading ? (openBlock(), createElementBlock("i", {
|
|
key: 1,
|
|
class: normalizeClass([__props.loadingIcon, "layui-icon layui-anim layui-anim-rotate layui-anim-loop"])
|
|
}, null, 2)) : renderSlot(_ctx.$slots, "default", { key: 2 }),
|
|
__props.suffixIcon ? (openBlock(), createElementBlock("i", {
|
|
key: 3,
|
|
class: normalizeClass(`layui-icon ${__props.suffixIcon}`)
|
|
}, null, 2)) : createCommentVNode("", true)
|
|
], 14, _hoisted_1$13);
|
|
};
|
|
}
|
|
});
|
|
const component$1g = withInstall(_sfc_main$1C);
|
|
var index$X = /* @__PURE__ */ (() => ".layui-btn-container{font-size:0}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}\n")();
|
|
const _hoisted_1$12 = { class: "layui-btn-container" };
|
|
const __default__$1v = {
|
|
name: "LayButtonContainer"
|
|
};
|
|
const _sfc_main$1B = /* @__PURE__ */ defineComponent({
|
|
...__default__$1v,
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$12, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$1f = withInstall(_sfc_main$1B);
|
|
var index$W = /* @__PURE__ */ (() => ":root{--button-primary-color: var(--global-primary-color);--button-border-radius: var(--global-border-radius)}.layui-btn-group{vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-radius:0}.layui-btn-group .layui-btn:not(:last-child){border-right:none!important}.layui-btn-group .layui-btn.layui-btn-primary:not(:first-child),.layui-btn-group .layui-btn.layui-btn-normal:not(:first-child),.layui-btn-group .layui-btn.layui-btn-warm:not(:first-child),.layui-btn-group .layui-btn.layui-btn-danger:not(:first-child){border-left:1px solid rgba(255,255,255,.5)}.layui-btn-group .layui-btn:first-child{border-radius:var(--button-border-radius) 0 0 var(--button-border-radius)}.layui-btn-group .layui-btn:last-child{border-radius:0 var(--button-border-radius) var(--button-border-radius) 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}\n")();
|
|
const _hoisted_1$11 = { class: "layui-btn-group" };
|
|
const __default__$1u = {
|
|
name: "LayButtonGroup"
|
|
};
|
|
const _sfc_main$1A = /* @__PURE__ */ defineComponent({
|
|
...__default__$1u,
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$11, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$1e = withInstall(_sfc_main$1A);
|
|
const component$1d = withInstall(_sfc_main$2E);
|
|
var index$V = /* @__PURE__ */ (() => ".layui-dropdown{position:relative;display:inline-block}.layui-dropdown-content{position:absolute;z-index:99999;background-color:#fff;box-sizing:border-box;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px #0000001a}.layui-dropdown-content>.layui-dropdown-menu{border-radius:var(--global-border-radius);margin:5px 0}.layui-dropdown-content .layui-menu{position:relative;background-color:#fff}.layui-dropdown-content .layui-menu li,.layui-dropdown-content .layui-menu-body-title a{padding:5px 15px}.layui-dropdown-content .layui-menu li{position:relative;display:flex;margin:1px 0;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;cursor:pointer}.layui-dropdown-content .layui-menu li:hover{background-color:var(--global-neutral-color-2)}.layui-dropdown-content .layui-menu-body-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-dropdown-menu-prefix{margin-right:8px}.layui-dropdown-menu-suffix{margin-left:15px}.layui-dropdown-content .layui-menu li.layui-disabled:hover{background-color:inherit}:root{--icon-picker-border-radius: var(--global-border-radius);--icon-picker-checked-color: var(--global-checked-color)}.layui-iconpicker{position:relative;height:38px;line-height:38px;border-width:1px;border-style:solid;border-radius:var(--icon-picker-border-radius);cursor:pointer}.layui-iconpicker .layui-inline{height:36px;line-height:36px;vertical-align:top}.layui-iconpicker-title{padding-left:5px}.layui-iconpicker-main{padding:0 10px}.layui-iconpicker-main .layui-icon{font-size:20px}.layui-iconpicker-main .layui-inline{vertical-align:top}.layui-iconpicker-split .layui-iconpicker-main{padding:0 15px;border-right-width:1px;border-right-style:solid}.layui-iconpicker-suffix{position:relative;width:35px;text-align:center}.layui-iconpicker-suffix .layui-icon{font-size:14px;color:#00000080;transition:all .3s}.layui-iconpicker-down .layui-iconpicker-suffix .layui-icon-down{transform:rotate(180deg)}.layui-iconpicker-search{padding:10px;box-shadow:0 2px 8px #f0f1f2;border-bottom:1px solid whitesmoke}.layui-iconpicker-list{width:321px}.layui-iconpicker-list ul{margin:6px}.layui-iconpicker-list li{vertical-align:top;display:inline-block;width:60px;margin:2.5px;padding:5px;overflow:hidden;border:1px solid #eee;border-radius:2px;cursor:pointer;text-align:center}.layui-iconpicker-list li:hover{background-color:var(--global-neutral-color-1);color:#00000080}.layui-iconpicker-list li.layui-this{border-color:var(--icon-picker-checked-color);color:var(--icon-picker-checked-color)}.layui-iconpicker-list li .layui-icon{font-size:20px}.layui-iconpicker-list li .layui-elip{margin-top:2px;line-height:20px;font-size:12px}.layui-iconpicker-list .layui-none{margin:30px 0 35px}.layui-iconpicker-scroll .layui-iconpicker-list{max-height:200px}.layui-iconpicker-page{position:relative;padding:10px 10px 5px;border-top:1px solid #eee;text-align:right}.layui-iconpicker-page .layui-laypage{margin:0}.layui-iconpicker-page .layui-laypage a,.layui-iconpicker-page .layui-laypage span{padding:0 10px;color:#666}.layui-iconpicker-page .layui-laypage-count{position:absolute;left:10px}.layui-iconpicker-page .layui-laypage-curr .layui-laypage-em{background:0 0}.layui-iconpicker-page .layui-laypage-curr em{color:#666;color:#0009}.layui-iconpicker-page .layui-laypage-first,.layui-iconpicker-page .layui-laypage-last,.layui-iconpicker-page .layui-laypage-spr{display:none}.layui-colorpicker-disabled{opacity:.6}.layui-colorpicker-disabled,.layui-colorpicker-disabled *{cursor:not-allowed!important}\n")();
|
|
var index$U = /* @__PURE__ */ (() => ".layui-dropdown{position:relative;display:inline-block}.layui-dropdown-content{position:absolute;z-index:99999;background-color:#fff;box-sizing:border-box;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px #0000001a}.layui-dropdown-content>.layui-dropdown-menu{border-radius:var(--global-border-radius);margin:5px 0}.layui-dropdown-content .layui-menu{position:relative;background-color:#fff}.layui-dropdown-content .layui-menu li,.layui-dropdown-content .layui-menu-body-title a{padding:5px 15px}.layui-dropdown-content .layui-menu li{position:relative;display:flex;margin:1px 0;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;cursor:pointer}.layui-dropdown-content .layui-menu li:hover{background-color:var(--global-neutral-color-2)}.layui-dropdown-content .layui-menu-body-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-dropdown-menu-prefix{margin-right:8px}.layui-dropdown-menu-suffix{margin-left:15px}.layui-dropdown-content .layui-menu li.layui-disabled:hover{background-color:inherit}\n")();
|
|
var _a;
|
|
const isClient = typeof window !== "undefined";
|
|
const toString = Object.prototype.toString;
|
|
const isFunction$2 = (val) => typeof val === "function";
|
|
const isNumber$1 = (val) => typeof val === "number";
|
|
const isString = (val) => typeof val === "string";
|
|
const isObject$1 = (val) => toString.call(val) === "[object Object]";
|
|
const clamp = (n, min, max) => Math.min(max, Math.max(min, n));
|
|
const noop = () => {
|
|
};
|
|
isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
|
|
function resolveUnref(r) {
|
|
return typeof r === "function" ? r() : unref(r);
|
|
}
|
|
function createFilterWrapper(filter, fn) {
|
|
function wrapper(...args) {
|
|
filter(() => fn.apply(this, args), { fn, thisArg: this, args });
|
|
}
|
|
return wrapper;
|
|
}
|
|
function throttleFilter(ms, trailing = true, leading = true) {
|
|
let lastExec = 0;
|
|
let timer;
|
|
let isLeading = true;
|
|
const clear2 = () => {
|
|
if (timer) {
|
|
clearTimeout(timer);
|
|
timer = void 0;
|
|
}
|
|
};
|
|
const filter = (invoke) => {
|
|
const duration = resolveUnref(ms);
|
|
const elapsed = Date.now() - lastExec;
|
|
clear2();
|
|
if (duration <= 0) {
|
|
lastExec = Date.now();
|
|
return invoke();
|
|
}
|
|
if (elapsed > duration && (leading || !isLeading)) {
|
|
lastExec = Date.now();
|
|
invoke();
|
|
} else if (trailing) {
|
|
timer = setTimeout(() => {
|
|
lastExec = Date.now();
|
|
isLeading = true;
|
|
clear2();
|
|
invoke();
|
|
}, duration);
|
|
}
|
|
if (!leading && !timer)
|
|
timer = setTimeout(() => isLeading = true, duration);
|
|
isLeading = false;
|
|
};
|
|
return filter;
|
|
}
|
|
function identity(arg) {
|
|
return arg;
|
|
}
|
|
function tryOnScopeDispose(fn) {
|
|
if (getCurrentScope()) {
|
|
onScopeDispose(fn);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function toReactive(objectRef) {
|
|
if (!isRef(objectRef))
|
|
return reactive(objectRef);
|
|
const proxy = new Proxy({}, {
|
|
get(_, p, receiver) {
|
|
return unref(Reflect.get(objectRef.value, p, receiver));
|
|
},
|
|
set(_, p, value) {
|
|
if (isRef(objectRef.value[p]) && !isRef(value))
|
|
objectRef.value[p].value = value;
|
|
else
|
|
objectRef.value[p] = value;
|
|
return true;
|
|
},
|
|
deleteProperty(_, p) {
|
|
return Reflect.deleteProperty(objectRef.value, p);
|
|
},
|
|
has(_, p) {
|
|
return Reflect.has(objectRef.value, p);
|
|
},
|
|
ownKeys() {
|
|
return Object.keys(objectRef.value);
|
|
},
|
|
getOwnPropertyDescriptor() {
|
|
return {
|
|
enumerable: true,
|
|
configurable: true
|
|
};
|
|
}
|
|
});
|
|
return reactive(proxy);
|
|
}
|
|
function reactiveComputed(fn) {
|
|
return toReactive(computed$1(fn));
|
|
}
|
|
function reactiveOmit(obj, ...keys) {
|
|
const flatKeys = keys.flat();
|
|
return reactiveComputed(() => Object.fromEntries(Object.entries(toRefs(obj)).filter((e) => !flatKeys.includes(e[0]))));
|
|
}
|
|
function useThrottleFn(fn, ms = 200, trailing = false, leading = true) {
|
|
return createFilterWrapper(throttleFilter(ms, trailing, leading), fn);
|
|
}
|
|
function tryOnMounted(fn, sync = true) {
|
|
if (getCurrentInstance())
|
|
onMounted(fn);
|
|
else if (sync)
|
|
fn();
|
|
else
|
|
nextTick(fn);
|
|
}
|
|
function useTimeoutFn(cb, interval, options = {}) {
|
|
const {
|
|
immediate = true
|
|
} = options;
|
|
const isPending = ref(false);
|
|
let timer = null;
|
|
function clear2() {
|
|
if (timer) {
|
|
clearTimeout(timer);
|
|
timer = null;
|
|
}
|
|
}
|
|
function stop() {
|
|
isPending.value = false;
|
|
clear2();
|
|
}
|
|
function start(...args) {
|
|
clear2();
|
|
isPending.value = true;
|
|
timer = setTimeout(() => {
|
|
isPending.value = false;
|
|
timer = null;
|
|
cb(...args);
|
|
}, resolveUnref(interval));
|
|
}
|
|
if (immediate) {
|
|
isPending.value = true;
|
|
if (isClient)
|
|
start();
|
|
}
|
|
tryOnScopeDispose(stop);
|
|
return {
|
|
isPending,
|
|
start,
|
|
stop
|
|
};
|
|
}
|
|
function unrefElement(elRef) {
|
|
var _a2;
|
|
const plain = resolveUnref(elRef);
|
|
return (_a2 = plain == null ? void 0 : plain.$el) != null ? _a2 : plain;
|
|
}
|
|
const defaultWindow = isClient ? window : void 0;
|
|
function useEventListener(...args) {
|
|
let target;
|
|
let event;
|
|
let listener;
|
|
let options;
|
|
if (isString(args[0])) {
|
|
[event, listener, options] = args;
|
|
target = defaultWindow;
|
|
} else {
|
|
[target, event, listener, options] = args;
|
|
}
|
|
if (!target)
|
|
return noop;
|
|
let cleanup = noop;
|
|
const stopWatch = watch(() => unrefElement(target), (el) => {
|
|
cleanup();
|
|
if (!el)
|
|
return;
|
|
el.addEventListener(event, listener, options);
|
|
cleanup = () => {
|
|
el.removeEventListener(event, listener, options);
|
|
cleanup = noop;
|
|
};
|
|
}, { immediate: true, flush: "post" });
|
|
const stop = () => {
|
|
stopWatch();
|
|
cleanup();
|
|
};
|
|
tryOnScopeDispose(stop);
|
|
return stop;
|
|
}
|
|
function onClickOutside(target, handler, options = {}) {
|
|
const { window: window2 = defaultWindow, ignore, capture = true, detectIframe = false } = options;
|
|
if (!window2)
|
|
return;
|
|
const shouldListen = ref(true);
|
|
let fallback;
|
|
const listener = (event) => {
|
|
window2.clearTimeout(fallback);
|
|
const el = unrefElement(target);
|
|
const composedPath = event.composedPath();
|
|
if (!el || el === event.target || composedPath.includes(el) || !shouldListen.value)
|
|
return;
|
|
if (ignore && ignore.length > 0) {
|
|
if (ignore.some((target2) => {
|
|
const el2 = unrefElement(target2);
|
|
return el2 && (event.target === el2 || composedPath.includes(el2));
|
|
}))
|
|
return;
|
|
}
|
|
handler(event);
|
|
};
|
|
const cleanup = [
|
|
useEventListener(window2, "click", listener, { passive: true, capture }),
|
|
useEventListener(window2, "pointerdown", (e) => {
|
|
const el = unrefElement(target);
|
|
shouldListen.value = !!el && !e.composedPath().includes(el);
|
|
}, { passive: true }),
|
|
useEventListener(window2, "pointerup", (e) => {
|
|
if (e.button === 0) {
|
|
const path = e.composedPath();
|
|
e.composedPath = () => path;
|
|
fallback = window2.setTimeout(() => listener(e), 50);
|
|
}
|
|
}, { passive: true }),
|
|
detectIframe && useEventListener(window2, "blur", (event) => {
|
|
var _a2;
|
|
const el = unrefElement(target);
|
|
if (((_a2 = document.activeElement) == null ? void 0 : _a2.tagName) === "IFRAME" && !(el == null ? void 0 : el.contains(document.activeElement)))
|
|
handler(event);
|
|
})
|
|
].filter(Boolean);
|
|
const stop = () => cleanup.forEach((fn) => fn());
|
|
return stop;
|
|
}
|
|
function templateRef(key, initialValue = null) {
|
|
const instance = getCurrentInstance();
|
|
let _trigger = () => {
|
|
};
|
|
const element = customRef((track, trigger) => {
|
|
_trigger = trigger;
|
|
return {
|
|
get() {
|
|
var _a2, _b;
|
|
track();
|
|
return (_b = (_a2 = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a2.$refs[key]) != null ? _b : initialValue;
|
|
},
|
|
set() {
|
|
}
|
|
};
|
|
});
|
|
tryOnMounted(_trigger);
|
|
onUpdated(_trigger);
|
|
return element;
|
|
}
|
|
function useSupported(callback, sync = false) {
|
|
const isSupported = ref();
|
|
const update = () => isSupported.value = Boolean(callback());
|
|
update();
|
|
tryOnMounted(update, sync);
|
|
return isSupported;
|
|
}
|
|
const _global = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
const globalKey = "__vueuse_ssr_handlers__";
|
|
_global[globalKey] = _global[globalKey] || {};
|
|
_global[globalKey];
|
|
var __getOwnPropSymbols$f = Object.getOwnPropertySymbols;
|
|
var __hasOwnProp$f = Object.prototype.hasOwnProperty;
|
|
var __propIsEnum$f = Object.prototype.propertyIsEnumerable;
|
|
var __objRest$2 = (source, exclude) => {
|
|
var target = {};
|
|
for (var prop in source)
|
|
if (__hasOwnProp$f.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
target[prop] = source[prop];
|
|
if (source != null && __getOwnPropSymbols$f)
|
|
for (var prop of __getOwnPropSymbols$f(source)) {
|
|
if (exclude.indexOf(prop) < 0 && __propIsEnum$f.call(source, prop))
|
|
target[prop] = source[prop];
|
|
}
|
|
return target;
|
|
};
|
|
function useResizeObserver(target, callback, options = {}) {
|
|
const _a2 = options, { window: window2 = defaultWindow } = _a2, observerOptions = __objRest$2(_a2, ["window"]);
|
|
let observer;
|
|
const isSupported = useSupported(() => window2 && "ResizeObserver" in window2);
|
|
const cleanup = () => {
|
|
if (observer) {
|
|
observer.disconnect();
|
|
observer = void 0;
|
|
}
|
|
};
|
|
const stopWatch = watch(() => unrefElement(target), (el) => {
|
|
cleanup();
|
|
if (isSupported.value && window2 && el) {
|
|
observer = new ResizeObserver(callback);
|
|
observer.observe(el, observerOptions);
|
|
}
|
|
}, { immediate: true, flush: "post" });
|
|
const stop = () => {
|
|
cleanup();
|
|
stopWatch();
|
|
};
|
|
tryOnScopeDispose(stop);
|
|
return {
|
|
isSupported,
|
|
stop
|
|
};
|
|
}
|
|
function useRafFn(fn, options = {}) {
|
|
const {
|
|
immediate = true,
|
|
window: window2 = defaultWindow
|
|
} = options;
|
|
const isActive = ref(false);
|
|
let rafId = null;
|
|
function loop() {
|
|
if (!isActive.value || !window2)
|
|
return;
|
|
fn();
|
|
rafId = window2.requestAnimationFrame(loop);
|
|
}
|
|
function resume() {
|
|
if (!isActive.value && window2) {
|
|
isActive.value = true;
|
|
loop();
|
|
}
|
|
}
|
|
function pause() {
|
|
isActive.value = false;
|
|
if (rafId != null && window2) {
|
|
window2.cancelAnimationFrame(rafId);
|
|
rafId = null;
|
|
}
|
|
}
|
|
if (immediate)
|
|
resume();
|
|
tryOnScopeDispose(pause);
|
|
return {
|
|
isActive,
|
|
pause,
|
|
resume
|
|
};
|
|
}
|
|
function useEyeDropper(options = {}) {
|
|
const { initialValue = "" } = options;
|
|
const isSupported = useSupported(() => typeof window !== "undefined" && "EyeDropper" in window);
|
|
const sRGBHex = ref(initialValue);
|
|
async function open2(openOptions) {
|
|
if (!isSupported.value)
|
|
return;
|
|
const eyeDropper = new window.EyeDropper();
|
|
const result = await eyeDropper.open(openOptions);
|
|
sRGBHex.value = result.sRGBHex;
|
|
return result;
|
|
}
|
|
return { isSupported, sRGBHex, open: open2 };
|
|
}
|
|
function useMousePressed(options = {}) {
|
|
const {
|
|
touch = true,
|
|
drag = true,
|
|
initialValue = false,
|
|
window: window2 = defaultWindow
|
|
} = options;
|
|
const pressed = ref(initialValue);
|
|
const sourceType = ref(null);
|
|
if (!window2) {
|
|
return {
|
|
pressed,
|
|
sourceType
|
|
};
|
|
}
|
|
const onPressed = (srcType) => () => {
|
|
pressed.value = true;
|
|
sourceType.value = srcType;
|
|
};
|
|
const onReleased = () => {
|
|
pressed.value = false;
|
|
sourceType.value = null;
|
|
};
|
|
const target = computed$1(() => unrefElement(options.target) || window2);
|
|
useEventListener(target, "mousedown", onPressed("mouse"), { passive: true });
|
|
useEventListener(window2, "mouseleave", onReleased, { passive: true });
|
|
useEventListener(window2, "mouseup", onReleased, { passive: true });
|
|
if (drag) {
|
|
useEventListener(target, "dragstart", onPressed("mouse"), { passive: true });
|
|
useEventListener(window2, "drop", onReleased, { passive: true });
|
|
useEventListener(window2, "dragend", onReleased, { passive: true });
|
|
}
|
|
if (touch) {
|
|
useEventListener(target, "touchstart", onPressed("touch"), { passive: true });
|
|
useEventListener(window2, "touchend", onReleased, { passive: true });
|
|
useEventListener(window2, "touchcancel", onReleased, { passive: true });
|
|
}
|
|
return {
|
|
pressed,
|
|
sourceType
|
|
};
|
|
}
|
|
var SwipeDirection;
|
|
(function(SwipeDirection2) {
|
|
SwipeDirection2["UP"] = "UP";
|
|
SwipeDirection2["RIGHT"] = "RIGHT";
|
|
SwipeDirection2["DOWN"] = "DOWN";
|
|
SwipeDirection2["LEFT"] = "LEFT";
|
|
SwipeDirection2["NONE"] = "NONE";
|
|
})(SwipeDirection || (SwipeDirection = {}));
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
var __spreadValues = (a, b) => {
|
|
for (var prop in b || (b = {}))
|
|
if (__hasOwnProp.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
if (__getOwnPropSymbols)
|
|
for (var prop of __getOwnPropSymbols(b)) {
|
|
if (__propIsEnum.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
}
|
|
return a;
|
|
};
|
|
const _TransitionPresets = {
|
|
easeInSine: [0.12, 0, 0.39, 0],
|
|
easeOutSine: [0.61, 1, 0.88, 1],
|
|
easeInOutSine: [0.37, 0, 0.63, 1],
|
|
easeInQuad: [0.11, 0, 0.5, 0],
|
|
easeOutQuad: [0.5, 1, 0.89, 1],
|
|
easeInOutQuad: [0.45, 0, 0.55, 1],
|
|
easeInCubic: [0.32, 0, 0.67, 0],
|
|
easeOutCubic: [0.33, 1, 0.68, 1],
|
|
easeInOutCubic: [0.65, 0, 0.35, 1],
|
|
easeInQuart: [0.5, 0, 0.75, 0],
|
|
easeOutQuart: [0.25, 1, 0.5, 1],
|
|
easeInOutQuart: [0.76, 0, 0.24, 1],
|
|
easeInQuint: [0.64, 0, 0.78, 0],
|
|
easeOutQuint: [0.22, 1, 0.36, 1],
|
|
easeInOutQuint: [0.83, 0, 0.17, 1],
|
|
easeInExpo: [0.7, 0, 0.84, 0],
|
|
easeOutExpo: [0.16, 1, 0.3, 1],
|
|
easeInOutExpo: [0.87, 0, 0.13, 1],
|
|
easeInCirc: [0.55, 0, 1, 0.45],
|
|
easeOutCirc: [0, 0.55, 0.45, 1],
|
|
easeInOutCirc: [0.85, 0, 0.15, 1],
|
|
easeInBack: [0.36, 0, 0.66, -0.56],
|
|
easeOutBack: [0.34, 1.56, 0.64, 1],
|
|
easeInOutBack: [0.68, -0.6, 0.32, 1.6]
|
|
};
|
|
const TransitionPresets = __spreadValues({
|
|
linear: identity
|
|
}, _TransitionPresets);
|
|
function createEasingFunction([p0, p1, p2, p3]) {
|
|
const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;
|
|
const b = (a1, a2) => 3 * a2 - 6 * a1;
|
|
const c = (a1) => 3 * a1;
|
|
const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;
|
|
const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);
|
|
const getTforX = (x) => {
|
|
let aGuessT = x;
|
|
for (let i = 0; i < 4; ++i) {
|
|
const currentSlope = getSlope(aGuessT, p0, p2);
|
|
if (currentSlope === 0)
|
|
return aGuessT;
|
|
const currentX = calcBezier(aGuessT, p0, p2) - x;
|
|
aGuessT -= currentX / currentSlope;
|
|
}
|
|
return aGuessT;
|
|
};
|
|
return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);
|
|
}
|
|
function useTransition(source, options = {}) {
|
|
const {
|
|
delay = 0,
|
|
disabled = false,
|
|
duration = 1e3,
|
|
onFinished = noop,
|
|
onStarted = noop,
|
|
transition = identity
|
|
} = options;
|
|
const currentTransition = computed$1(() => {
|
|
const t = unref(transition);
|
|
return isFunction$2(t) ? t : createEasingFunction(t);
|
|
});
|
|
const sourceValue = computed$1(() => {
|
|
const s = unref(source);
|
|
return isNumber$1(s) ? s : s.map(unref);
|
|
});
|
|
const sourceVector = computed$1(() => isNumber$1(sourceValue.value) ? [sourceValue.value] : sourceValue.value);
|
|
const outputVector = ref(sourceVector.value.slice(0));
|
|
let currentDuration;
|
|
let diffVector;
|
|
let endAt;
|
|
let startAt;
|
|
let startVector;
|
|
const { resume, pause } = useRafFn(() => {
|
|
const now = Date.now();
|
|
const progress = clamp(1 - (endAt - now) / currentDuration, 0, 1);
|
|
outputVector.value = startVector.map((val, i) => {
|
|
var _a2;
|
|
return val + ((_a2 = diffVector[i]) != null ? _a2 : 0) * currentTransition.value(progress);
|
|
});
|
|
if (progress >= 1) {
|
|
pause();
|
|
onFinished();
|
|
}
|
|
}, { immediate: false });
|
|
const start = () => {
|
|
pause();
|
|
currentDuration = unref(duration);
|
|
diffVector = outputVector.value.map((n, i) => {
|
|
var _a2, _b;
|
|
return ((_a2 = sourceVector.value[i]) != null ? _a2 : 0) - ((_b = outputVector.value[i]) != null ? _b : 0);
|
|
});
|
|
startVector = outputVector.value.slice(0);
|
|
startAt = Date.now();
|
|
endAt = startAt + currentDuration;
|
|
resume();
|
|
onStarted();
|
|
};
|
|
const timeout = useTimeoutFn(start, delay, { immediate: false });
|
|
watch(sourceVector, () => {
|
|
if (unref(disabled)) {
|
|
outputVector.value = sourceVector.value.slice(0);
|
|
} else {
|
|
if (unref(delay) <= 0)
|
|
start();
|
|
else
|
|
timeout.start();
|
|
}
|
|
}, { deep: true });
|
|
return computed$1(() => {
|
|
const targetVector = unref(disabled) ? sourceVector : outputVector;
|
|
return isNumber$1(sourceValue.value) ? targetVector.value[0] : targetVector.value;
|
|
});
|
|
}
|
|
function useWindowSize(options = {}) {
|
|
const {
|
|
window: window2 = defaultWindow,
|
|
initialWidth = Infinity,
|
|
initialHeight = Infinity,
|
|
listenOrientation = true,
|
|
includeScrollbar = true
|
|
} = options;
|
|
const width = ref(initialWidth);
|
|
const height = ref(initialHeight);
|
|
const update = () => {
|
|
if (window2) {
|
|
if (includeScrollbar) {
|
|
width.value = window2.innerWidth;
|
|
height.value = window2.innerHeight;
|
|
} else {
|
|
width.value = window2.document.documentElement.clientWidth;
|
|
height.value = window2.document.documentElement.clientHeight;
|
|
}
|
|
}
|
|
};
|
|
update();
|
|
tryOnMounted(update);
|
|
useEventListener("resize", update, { passive: true });
|
|
if (listenOrientation)
|
|
useEventListener("orientationchange", update, { passive: true });
|
|
return { width, height };
|
|
}
|
|
const dropdownInjectionKey = Symbol("dropdownInjectKey");
|
|
const __default__$1t = {
|
|
name: "TeleportWrapper"
|
|
};
|
|
const _sfc_main$1z = defineComponent({
|
|
...__default__$1t,
|
|
props: {
|
|
to: { default: "" },
|
|
disabled: { type: Boolean, default: false }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const target = ref(null);
|
|
onMounted(() => {
|
|
const observer = new MutationObserver((mutationList, observer2) => {
|
|
for (const mutation of mutationList) {
|
|
if (mutation.type !== "childList")
|
|
continue;
|
|
const el = document.querySelector(props.to);
|
|
if (!el)
|
|
continue;
|
|
target.value = el;
|
|
observer2.disconnect();
|
|
break;
|
|
}
|
|
});
|
|
observer.observe(document, { childList: true, subtree: true });
|
|
return () => observer.disconnect();
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createBlock(Teleport, {
|
|
to: target.value,
|
|
disabled: !target.value || __props.disabled
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 8, ["to", "disabled"]);
|
|
};
|
|
}
|
|
});
|
|
const isScrollElement = (element) => {
|
|
return element.scrollHeight > element.offsetHeight || element.scrollWidth > element.offsetWidth;
|
|
};
|
|
const getScrollElements = (container) => {
|
|
var _a2;
|
|
const scrollElements = [];
|
|
let element = container;
|
|
while (element && element !== document.documentElement) {
|
|
if (isScrollElement(element)) {
|
|
scrollElements.push(element);
|
|
}
|
|
element = (_a2 = element.parentElement) != null ? _a2 : void 0;
|
|
}
|
|
return scrollElements;
|
|
};
|
|
const isElement = (vn) => {
|
|
return Boolean(vn && vn.shapeFlag & 1);
|
|
};
|
|
const isComponent = (vn, type4) => {
|
|
return Boolean(vn && vn.shapeFlag & 6);
|
|
};
|
|
const isArrayChildren = (vn, children) => {
|
|
return Boolean(vn && vn.shapeFlag & 16);
|
|
};
|
|
const getChildrenArray = (vn) => {
|
|
if (isArrayChildren(vn, vn.children)) {
|
|
return vn.children;
|
|
}
|
|
if (Array.isArray(vn)) {
|
|
return vn;
|
|
}
|
|
return void 0;
|
|
};
|
|
const getFirstElementFromVNode = (vn) => {
|
|
var _a2, _b;
|
|
if (isElement(vn)) {
|
|
return vn.el;
|
|
}
|
|
if (isComponent(vn)) {
|
|
if (((_a2 = vn.el) == null ? void 0 : _a2.nodeType) === 1) {
|
|
return vn.el;
|
|
}
|
|
if ((_b = vn.component) == null ? void 0 : _b.subTree) {
|
|
const ele = getFirstElementFromVNode(vn.component.subTree);
|
|
if (ele)
|
|
return ele;
|
|
}
|
|
} else {
|
|
const children = getChildrenArray(vn);
|
|
return getFirstElementFromChildren(children);
|
|
}
|
|
return void 0;
|
|
};
|
|
const getFirstElementFromChildren = (children) => {
|
|
if (children && children.length > 0) {
|
|
for (const child of children) {
|
|
const element = getFirstElementFromVNode(child);
|
|
if (element)
|
|
return element;
|
|
}
|
|
}
|
|
return void 0;
|
|
};
|
|
const useFirstElement = () => {
|
|
const children = {};
|
|
const firstElement = ref();
|
|
const getFirstElement = () => {
|
|
const element = getFirstElementFromChildren(children.value);
|
|
if (element !== firstElement.value) {
|
|
firstElement.value = element;
|
|
}
|
|
};
|
|
onMounted(() => getFirstElement());
|
|
onUpdated(() => getFirstElement());
|
|
return {
|
|
children,
|
|
firstElement
|
|
};
|
|
};
|
|
const transformPlacement = (placement) => {
|
|
const shouldTransform = placement.includes("-");
|
|
const placementMap = {
|
|
top: "start",
|
|
left: "start",
|
|
bottom: "end",
|
|
right: "end"
|
|
};
|
|
if (shouldTransform) {
|
|
const separated = placement.split("-");
|
|
return `${separated[0]}-${placementMap[separated[1]] || separated[1]}`;
|
|
}
|
|
return placement;
|
|
};
|
|
var RenderFunction = defineComponent({
|
|
name: "RenderFunction",
|
|
props: {
|
|
renderFunc: {
|
|
type: Function,
|
|
default: null
|
|
}
|
|
},
|
|
setup(props, ctx) {
|
|
return () => {
|
|
if (typeof props.renderFunc !== "function") {
|
|
return null;
|
|
}
|
|
return props.renderFunc(ctx.attrs);
|
|
};
|
|
}
|
|
});
|
|
const __default__$1s = {
|
|
name: "LayDropdown",
|
|
inheritAttrs: false
|
|
};
|
|
const _sfc_main$1y = defineComponent({
|
|
...__default__$1s,
|
|
props: {
|
|
visible: { type: Boolean, default: false },
|
|
trigger: { default: "click" },
|
|
placement: { default: "bottom-start" },
|
|
disabled: { type: Boolean, default: false },
|
|
autoFitPosition: { type: Boolean, default: true },
|
|
autoFitWidth: { type: Boolean, default: false },
|
|
autoFitMinWidth: { type: Boolean, default: true },
|
|
updateAtScroll: { type: Boolean, default: false },
|
|
autoFixPosition: { type: Boolean, default: true },
|
|
clickToClose: { type: Boolean, default: true },
|
|
blurToClose: { type: Boolean, default: true },
|
|
clickOutsideToClose: { type: Boolean, default: true },
|
|
contentOffset: { default: 2 },
|
|
mouseEnterDelay: { default: 150 },
|
|
mouseLeaveDelay: { default: 150 },
|
|
focusDelay: { default: 150 },
|
|
alignPoint: { type: Boolean, default: false },
|
|
contentClass: null,
|
|
contentStyle: null,
|
|
popupContainer: { default: "body" }
|
|
},
|
|
emits: ["show", "hide"],
|
|
setup(__props, { expose, emit }) {
|
|
const props = __props;
|
|
const slots = useSlots();
|
|
const attrs = useAttrs();
|
|
const childrenRefs = /* @__PURE__ */ new Set();
|
|
const dropdownCtx = inject(dropdownInjectionKey, void 0);
|
|
const { children, firstElement: dropdownRef } = useFirstElement();
|
|
const contentRef = shallowRef();
|
|
const contentStyle = ref({});
|
|
const { width: windowWidth, height: windowHeight } = useWindowSize();
|
|
const mousePosition = reactive({
|
|
x: 0,
|
|
y: 0
|
|
});
|
|
const { x: mouseLeft, y: mouseTop } = toRefs(mousePosition);
|
|
const openState = ref(false);
|
|
let scrollElements;
|
|
const containerRef = computed$1(() => {
|
|
var _a2;
|
|
return props.popupContainer ? (_a2 = document.querySelector(props.popupContainer)) != null ? _a2 : document.body : dropdownRef.value;
|
|
});
|
|
const triggerMethods = computed$1(() => [].concat(props.trigger));
|
|
const computedPlacement = computed$1(() => {
|
|
return transformPlacement(props.placement);
|
|
});
|
|
let delayTimer = 0;
|
|
const cleanDelayTimer = () => {
|
|
if (delayTimer) {
|
|
window.clearTimeout(delayTimer);
|
|
delayTimer = 0;
|
|
}
|
|
};
|
|
const show = (delay) => {
|
|
if (props.disabled == false) {
|
|
changeVisible(true, delay);
|
|
emit("show");
|
|
}
|
|
};
|
|
const hide = (delay) => {
|
|
changeVisible(false, delay);
|
|
emit("hide");
|
|
};
|
|
const toggle = () => {
|
|
if (props.disabled == false)
|
|
if (openState.value) {
|
|
hide();
|
|
} else {
|
|
show();
|
|
}
|
|
};
|
|
const changeVisible = (visible, delay) => {
|
|
if (visible === openState.value && delayTimer === 0) {
|
|
return;
|
|
}
|
|
const update = () => {
|
|
openState.value = visible;
|
|
nextTick(() => {
|
|
updateContentStyle();
|
|
});
|
|
};
|
|
if (delay) {
|
|
cleanDelayTimer();
|
|
if (visible !== openState.value) {
|
|
delayTimer = window.setTimeout(update, delay);
|
|
}
|
|
} else {
|
|
update();
|
|
}
|
|
};
|
|
const getElementScrollRect = (element, containerRect) => {
|
|
const rect = element.getBoundingClientRect();
|
|
return {
|
|
top: rect.top,
|
|
bottom: rect.bottom,
|
|
left: rect.left,
|
|
right: rect.right,
|
|
width: rect.width,
|
|
height: rect.height,
|
|
scrollTop: rect.top - containerRect.top,
|
|
scrollBottom: rect.bottom - containerRect.top,
|
|
scrollLeft: rect.left - containerRect.left,
|
|
scrollRight: rect.right - containerRect.left
|
|
};
|
|
};
|
|
const getTriggerRect = () => {
|
|
return {
|
|
top: mouseTop.value,
|
|
bottom: mouseTop.value,
|
|
left: mouseLeft.value,
|
|
right: mouseLeft.value,
|
|
scrollTop: mouseTop.value,
|
|
scrollBottom: mouseTop.value,
|
|
scrollLeft: mouseLeft.value,
|
|
scrollRight: mouseLeft.value,
|
|
width: 0,
|
|
height: 0
|
|
};
|
|
};
|
|
const updateContentStyle = () => {
|
|
if (!containerRef.value || !dropdownRef.value || !contentRef.value) {
|
|
return;
|
|
}
|
|
const containerRect = containerRef.value.getBoundingClientRect();
|
|
const triggerRect = props.alignPoint ? getTriggerRect() : getElementScrollRect(dropdownRef.value, containerRect);
|
|
const contentRect = getElementScrollRect(contentRef.value, containerRect);
|
|
const { style } = getContentStyle(computedPlacement.value, triggerRect, contentRect);
|
|
if (props.autoFitMinWidth) {
|
|
style.minWidth = `${triggerRect.width}px`;
|
|
}
|
|
if (props.autoFitWidth) {
|
|
style.width = `${triggerRect.width}px`;
|
|
}
|
|
contentStyle.value = style;
|
|
if (props.autoFitPosition) {
|
|
nextTick(() => {
|
|
const triggerRect2 = props.alignPoint ? getTriggerRect() : getElementScrollRect(dropdownRef.value, containerRect);
|
|
const contentRect2 = getElementScrollRect(contentRef.value, containerRect);
|
|
let { top, left } = style;
|
|
top = Number(top.toString().replace("px", ""));
|
|
left = Number(left.toString().replace("px", ""));
|
|
const { top: fitTop, left: fitLeft } = getFitPlacement(top, left, computedPlacement.value, triggerRect2, contentRect2);
|
|
style.top = `${fitTop}px`;
|
|
style.left = `${fitLeft}px`;
|
|
contentStyle.value = {
|
|
...style
|
|
};
|
|
});
|
|
}
|
|
};
|
|
const updateMousePosition = (e) => {
|
|
if (props.alignPoint) {
|
|
const { pageX, pageY } = e;
|
|
mousePosition.x = pageX;
|
|
mousePosition.y = pageY;
|
|
}
|
|
};
|
|
const getContentStyle = (placement, triggerRect, contentRect, {
|
|
customStyle = {}
|
|
} = {}) => {
|
|
let { top, left } = getContentOffset(placement, triggerRect, contentRect);
|
|
const style = {
|
|
top: `${top}px`,
|
|
left: `${left}px`,
|
|
...customStyle
|
|
};
|
|
return {
|
|
style
|
|
};
|
|
};
|
|
const getPosition = (placement) => {
|
|
if (["top", "top-start", "top-end"].includes(placement)) {
|
|
return "top";
|
|
}
|
|
if (["bottom", "bottom-start", "bottom-end"].includes(placement)) {
|
|
return "bottom";
|
|
}
|
|
if (["left", "left-start", "left-end"].includes(placement)) {
|
|
return "left";
|
|
}
|
|
if (["right", "right-start", "right-end"].includes(placement)) {
|
|
return "right";
|
|
}
|
|
return "bottom";
|
|
};
|
|
const getFitPlacement = (top, left, placement, triggerRect, contentRect) => {
|
|
const position = getPosition(placement);
|
|
if (["top", "bottom"].includes(position)) {
|
|
if (contentRect.bottom > windowHeight.value) {
|
|
top = triggerRect.scrollTop - contentRect.height - props.contentOffset;
|
|
}
|
|
if (contentRect.top < 0) {
|
|
top = triggerRect.scrollBottom + props.contentOffset;
|
|
}
|
|
if (contentRect.left < 0) {
|
|
left = left + (0 - contentRect.left);
|
|
}
|
|
if (contentRect.right > windowWidth.value) {
|
|
left = left - (contentRect.right - windowWidth.value);
|
|
}
|
|
}
|
|
if (["left", "right"].includes(position)) {
|
|
if (contentRect.bottom > windowHeight.value) {
|
|
top = top - (contentRect.bottom - windowHeight.value);
|
|
}
|
|
if (contentRect.top < 0) {
|
|
top = top + (0 - contentRect.top);
|
|
}
|
|
if (contentRect.left < 0) {
|
|
left = triggerRect.scrollRight + props.contentOffset;
|
|
}
|
|
if (contentRect.right > windowWidth.value) {
|
|
left = triggerRect.scrollLeft - contentRect.width - props.contentOffset;
|
|
}
|
|
}
|
|
return {
|
|
top,
|
|
left
|
|
};
|
|
};
|
|
const getContentOffset = (placement, triggerRect, contentRect) => {
|
|
switch (placement) {
|
|
case "top":
|
|
return {
|
|
top: triggerRect.scrollTop - contentRect.height - props.contentOffset,
|
|
left: triggerRect.scrollLeft + Math.round((triggerRect.width - contentRect.width) / 2)
|
|
};
|
|
case "top-start":
|
|
return {
|
|
top: triggerRect.scrollTop - contentRect.height - props.contentOffset,
|
|
left: triggerRect.scrollLeft
|
|
};
|
|
case "top-end":
|
|
return {
|
|
top: triggerRect.scrollTop - contentRect.height - props.contentOffset,
|
|
left: triggerRect.scrollRight - contentRect.width
|
|
};
|
|
case "bottom":
|
|
return {
|
|
top: triggerRect.scrollBottom + props.contentOffset,
|
|
left: triggerRect.scrollLeft + Math.round((triggerRect.width - contentRect.width) / 2)
|
|
};
|
|
case "bottom-start":
|
|
return {
|
|
top: triggerRect.scrollBottom + props.contentOffset,
|
|
left: triggerRect.scrollLeft
|
|
};
|
|
case "bottom-end":
|
|
return {
|
|
top: triggerRect.scrollBottom + props.contentOffset,
|
|
left: triggerRect.scrollRight - contentRect.width
|
|
};
|
|
case "right":
|
|
return {
|
|
top: triggerRect.scrollTop + Math.round((triggerRect.height - contentRect.height) / 2),
|
|
left: triggerRect.scrollRight + props.contentOffset
|
|
};
|
|
case "right-start":
|
|
return {
|
|
top: triggerRect.scrollTop,
|
|
left: triggerRect.scrollRight + props.contentOffset
|
|
};
|
|
case "right-end":
|
|
return {
|
|
top: triggerRect.scrollBottom - contentRect.height,
|
|
left: triggerRect.scrollRight + props.contentOffset
|
|
};
|
|
case "left":
|
|
return {
|
|
top: triggerRect.scrollTop + Math.round((triggerRect.height - contentRect.height) / 2),
|
|
left: triggerRect.scrollLeft - contentRect.width - props.contentOffset
|
|
};
|
|
case "left-start":
|
|
return {
|
|
top: triggerRect.scrollTop,
|
|
left: triggerRect.scrollLeft - contentRect.width - props.contentOffset
|
|
};
|
|
case "left-end":
|
|
return {
|
|
top: triggerRect.scrollBottom - contentRect.height,
|
|
left: triggerRect.scrollLeft - contentRect.width - props.contentOffset
|
|
};
|
|
default:
|
|
return {
|
|
left: 0,
|
|
top: 0
|
|
};
|
|
}
|
|
};
|
|
const handleScroll = useThrottleFn(() => {
|
|
if (openState.value) {
|
|
updateContentStyle();
|
|
}
|
|
}, 10);
|
|
const handleClick = (e) => {
|
|
if (props.disabled || openState.value && !props.clickToClose) {
|
|
return;
|
|
}
|
|
if (triggerMethods.value.includes("click")) {
|
|
updateMousePosition(e);
|
|
toggle();
|
|
}
|
|
};
|
|
const handleContextMenuClick = (e) => {
|
|
if (props.disabled || openState.value && !props.clickToClose) {
|
|
return;
|
|
}
|
|
if (triggerMethods.value.includes("contextMenu")) {
|
|
e.preventDefault();
|
|
if (props.alignPoint) {
|
|
hide();
|
|
}
|
|
updateMousePosition(e);
|
|
toggle();
|
|
}
|
|
};
|
|
const handleMouseEnter = (e) => {
|
|
if (props.disabled || !triggerMethods.value.includes("hover")) {
|
|
return;
|
|
}
|
|
show(props.mouseEnterDelay);
|
|
};
|
|
const handleMouseEnterWithContext = (e) => {
|
|
if (!props.popupContainer) {
|
|
return;
|
|
}
|
|
dropdownCtx == null ? void 0 : dropdownCtx.onMouseenter(e);
|
|
handleMouseEnter();
|
|
};
|
|
const handleMouseLeave = (e) => {
|
|
if (props.disabled || !triggerMethods.value.includes("hover")) {
|
|
return;
|
|
}
|
|
hide(props.mouseLeaveDelay);
|
|
};
|
|
const handleMouseLeaveWithContext = (e) => {
|
|
if (!props.popupContainer) {
|
|
return;
|
|
}
|
|
dropdownCtx == null ? void 0 : dropdownCtx.onMouseleave(e);
|
|
handleMouseLeave();
|
|
};
|
|
const handleFocusin = () => {
|
|
if (props.disabled || !triggerMethods.value.includes("focus")) {
|
|
return;
|
|
}
|
|
show(props.focusDelay);
|
|
};
|
|
const handleFocusout = () => {
|
|
if (props.disabled || !triggerMethods.value.includes("focus")) {
|
|
return;
|
|
}
|
|
if (!props.blurToClose) {
|
|
return;
|
|
}
|
|
hide();
|
|
};
|
|
const handleContextHide = () => {
|
|
hide();
|
|
dropdownCtx == null ? void 0 : dropdownCtx.hide();
|
|
};
|
|
const addChildRef = (ref2) => {
|
|
childrenRefs.add(ref2);
|
|
dropdownCtx == null ? void 0 : dropdownCtx.addChildRef(ref2);
|
|
};
|
|
const removeChildRef = (ref2) => {
|
|
childrenRefs.delete(ref2);
|
|
dropdownCtx == null ? void 0 : dropdownCtx.removeChildRef(ref2);
|
|
};
|
|
dropdownCtx == null ? void 0 : dropdownCtx.addChildRef(contentRef);
|
|
const { stop: removeContentResizeObserver } = useResizeObserver(contentRef, () => {
|
|
if (openState.value && props.autoFixPosition) {
|
|
updateContentStyle();
|
|
}
|
|
});
|
|
const { stop: removeTriggerResizeObserver } = useResizeObserver(dropdownRef, () => {
|
|
if (openState.value && props.autoFixPosition) {
|
|
updateContentStyle();
|
|
}
|
|
});
|
|
onClickOutside(dropdownRef, (e) => {
|
|
var _a2, _b, _c;
|
|
if (!props.clickOutsideToClose || !openState.value || ((_a2 = dropdownRef.value) == null ? void 0 : _a2.contains(e.target)) || ((_b = contentRef.value) == null ? void 0 : _b.contains(e.target))) {
|
|
return;
|
|
}
|
|
for (const item of childrenRefs) {
|
|
if ((_c = item.value) == null ? void 0 : _c.contains(e.target)) {
|
|
return;
|
|
}
|
|
}
|
|
hide();
|
|
});
|
|
const onlyChildRenderFunc = () => {
|
|
const slotContent = slots.default ? slots.default() : [];
|
|
const transformedSlotContent = slotContent.map((vnode) => cloneVNode(vnode, {
|
|
onClick: handleClick,
|
|
onContextmenu: handleContextMenuClick,
|
|
onMouseenter: handleMouseEnter,
|
|
onMouseleave: handleMouseLeave,
|
|
onFocusin: handleFocusin,
|
|
onFocusout: handleFocusout,
|
|
...attrs
|
|
}, true));
|
|
children.value = transformedSlotContent;
|
|
return h(Fragment, children.value);
|
|
};
|
|
onMounted(() => {
|
|
if (props.updateAtScroll) {
|
|
scrollElements = getScrollElements(dropdownRef.value);
|
|
for (const item of scrollElements) {
|
|
item.addEventListener("scroll", handleScroll);
|
|
}
|
|
}
|
|
window.addEventListener("resize", handleScroll);
|
|
});
|
|
onBeforeUnmount(() => {
|
|
dropdownCtx == null ? void 0 : dropdownCtx.removeChildRef(contentRef);
|
|
if (scrollElements) {
|
|
for (const item of scrollElements) {
|
|
item.removeEventListener("scroll", handleScroll);
|
|
}
|
|
scrollElements = void 0;
|
|
}
|
|
removeContentResizeObserver();
|
|
removeTriggerResizeObserver();
|
|
window.removeEventListener("resize", handleScroll);
|
|
});
|
|
watch(() => props.visible, (newVal, oldVal) => {
|
|
openState.value = newVal;
|
|
}, { immediate: true });
|
|
provide(dropdownInjectionKey, reactive({
|
|
onMouseenter: handleMouseEnterWithContext,
|
|
onMouseleave: handleMouseLeaveWithContext,
|
|
addChildRef,
|
|
removeChildRef,
|
|
hide: handleContextHide
|
|
}));
|
|
provide("openState", openState);
|
|
expose({ show, hide, toggle });
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
createVNode(unref(RenderFunction), mergeProps({ renderFunc: onlyChildRenderFunc }, _ctx.$attrs), null, 16),
|
|
createVNode(_sfc_main$1z, {
|
|
to: __props.popupContainer,
|
|
disabled: __props.disabled
|
|
}, {
|
|
default: withCtx(() => {
|
|
var _a2;
|
|
return [
|
|
openState.value ? (openBlock(), createElementBlock("div", {
|
|
key: 0,
|
|
ref_key: "contentRef",
|
|
ref: contentRef,
|
|
class: normalizeClass([
|
|
"layui-dropdown-content",
|
|
"layui-anim",
|
|
"layui-anim-upbit",
|
|
props.contentClass
|
|
]),
|
|
style: normalizeStyle([contentStyle.value, (_a2 = props.contentStyle) != null ? _a2 : ""]),
|
|
onMouseenter: handleMouseEnterWithContext,
|
|
onMouseleave: handleMouseLeaveWithContext
|
|
}, [
|
|
renderSlot(_ctx.$slots, "content")
|
|
], 38)) : createCommentVNode("", true)
|
|
];
|
|
}),
|
|
_: 3
|
|
}, 8, ["to", "disabled"])
|
|
], 64);
|
|
};
|
|
}
|
|
});
|
|
var index$T = /* @__PURE__ */ (() => ":root{--input-border-radius: var(--global-border-radius);--input-border-color: var(--global-neutral-color-3)}.layui-input{width:100%;height:38px;line-height:38px;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);display:inline-flex}.layui-input input{height:38px;line-height:38px;background-color:#fff;color:#000000d9;padding-left:10px;display:inline-block;border:none;height:100%;width:100%}.layui-input-append{background-color:#fafafa;border-left:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-prepend{background-color:#fafafa;border-right:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-wrapper{width:100%;display:inline-flex;border:none}.layui-input:hover,.layui-input:focus-within{border-color:#d2d2d2}.layui-input-clear,.layui-input-prefix,.layui-input-suffix,.layui-input-password{background-color:#fff}.layui-input-clear,.layui-input-password,.layui-input-prefix,.layui-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-input-has-prefix input{padding:0}.layui-input-clear,.layui-input-password{color:#00000073}.layui-input-clear:hover{opacity:.6}.layui-input input::-webkit-input-placeholder{line-height:1.3}.layui-input input::-ms-reveal{display:none}.layui-input-disabled{border-color:var(--input-border-color)!important}.layui-input-disabled{opacity:.6}.layui-input-disabled,.layui-input-disabled *{cursor:not-allowed!important}.layui-input[size=lg]{height:44px}.layui-input[size=lg] .layui-input{height:44px;line-height:44px}.layui-input[size=md]{height:38px}.layui-input[size=md] .layui-input{height:38px;line-height:38px}.layui-input[size=sm]{height:32px}.layui-input[size=sm] .layui-input{height:32px;line-height:32px}.layui-input[size=xs]{height:26px}.layui-input[size=xs] .layui-input{height:26px;line-height:26px}\n")();
|
|
const _sfc_main$1x = {};
|
|
const _hoisted_1$10 = {
|
|
focusable: "false",
|
|
class: "",
|
|
"data-icon": "eye-invisible",
|
|
width: "1em",
|
|
height: "1em",
|
|
fill: "currentColor",
|
|
"aria-hidden": "true",
|
|
viewBox: "64 64 896 896"
|
|
};
|
|
const _hoisted_2$Q = /* @__PURE__ */ createElementVNode("path", { d: "M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z" }, null, -1);
|
|
const _hoisted_3$J = /* @__PURE__ */ createElementVNode("path", { d: "M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z" }, null, -1);
|
|
const _hoisted_4$y = [
|
|
_hoisted_2$Q,
|
|
_hoisted_3$J
|
|
];
|
|
function _sfc_render$3(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("svg", _hoisted_1$10, _hoisted_4$y);
|
|
}
|
|
var PasswordIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1x, [["render", _sfc_render$3]]);
|
|
const _sfc_main$1w = {};
|
|
const _hoisted_1$$ = {
|
|
focusable: "false",
|
|
class: "",
|
|
"data-icon": "eye",
|
|
width: "1em",
|
|
height: "1em",
|
|
fill: "currentColor",
|
|
"aria-hidden": "true",
|
|
viewBox: "64 64 896 896"
|
|
};
|
|
const _hoisted_2$P = /* @__PURE__ */ createElementVNode("path", { d: "M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z" }, null, -1);
|
|
const _hoisted_3$I = [
|
|
_hoisted_2$P
|
|
];
|
|
function _sfc_render$2(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("svg", _hoisted_1$$, _hoisted_3$I);
|
|
}
|
|
var UnPasswordIcon = /* @__PURE__ */ _export_sfc(_sfc_main$1w, [["render", _sfc_render$2]]);
|
|
const _hoisted_1$_ = ["size"];
|
|
const _hoisted_2$O = {
|
|
key: 0,
|
|
class: "layui-input-prepend"
|
|
};
|
|
const _hoisted_3$H = { class: "layui-input-wrapper" };
|
|
const _hoisted_4$x = {
|
|
key: 0,
|
|
class: "layui-input-prefix"
|
|
};
|
|
const _hoisted_5$o = ["type", "name", "disabled", "placeholder", "autofocus", "autocomplete", "maxlength", "max", "min", "readonly", "value"];
|
|
const _hoisted_6$j = {
|
|
key: 2,
|
|
class: "layui-input-clear"
|
|
};
|
|
const _hoisted_7$g = {
|
|
key: 3,
|
|
class: "layui-input-suffix"
|
|
};
|
|
const _hoisted_8$c = {
|
|
key: 1,
|
|
class: "layui-input-append"
|
|
};
|
|
const __default__$1r = {
|
|
name: "LayInput"
|
|
};
|
|
const _sfc_main$1v = defineComponent({
|
|
...__default__$1r,
|
|
props: {
|
|
name: null,
|
|
type: null,
|
|
prefixIcon: null,
|
|
suffixIcon: null,
|
|
modelValue: { default: "" },
|
|
allowClear: { type: Boolean, default: false },
|
|
autocomplete: null,
|
|
placeholder: null,
|
|
autofocus: { type: Boolean, default: false },
|
|
disabled: { type: Boolean, default: false },
|
|
readonly: { type: Boolean, default: false },
|
|
password: { type: Boolean, default: false },
|
|
size: { default: "md" },
|
|
maxlength: null,
|
|
max: null,
|
|
min: null
|
|
},
|
|
emits: ["blur", "input", "update:modelValue", "change", "focus", "clear"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const slots = useSlots();
|
|
const type4 = ref(props.type);
|
|
const currentValue = ref(String(props.modelValue == null ? "" : props.modelValue));
|
|
const hasContent = computed$1(() => {
|
|
var _a2;
|
|
return ((_a2 = props.modelValue) == null ? void 0 : _a2.length) > 0;
|
|
});
|
|
const isPassword = computed$1(() => type4.value == "password");
|
|
const composing = ref(false);
|
|
watch(() => props.type, () => {
|
|
type4.value = props.type;
|
|
});
|
|
watch(() => props.modelValue, () => {
|
|
currentValue.value = String(props.modelValue == null ? "" : props.modelValue);
|
|
});
|
|
const onInput = function(event) {
|
|
const inputElement = event.target;
|
|
const value = inputElement.value;
|
|
emit("input", value);
|
|
if (composing.value)
|
|
return;
|
|
emit("update:modelValue", value);
|
|
};
|
|
const onClear = () => {
|
|
emit("update:modelValue", "");
|
|
emit("clear");
|
|
};
|
|
const onFocus = (event) => {
|
|
emit("focus", event);
|
|
};
|
|
const onChange = (event) => {
|
|
const inputElement = event.target;
|
|
const value = inputElement.value;
|
|
emit("change", value);
|
|
};
|
|
const onBlur = (event) => {
|
|
if (props.type === "number") {
|
|
onNumberBlur(event);
|
|
}
|
|
emit("blur", event);
|
|
};
|
|
const onNumberBlur = (event) => {
|
|
let value = event.target.value;
|
|
if (value === "") {
|
|
value = props.min ? String(props.min) : "0";
|
|
} else {
|
|
if (props.max && props.max < Number(value))
|
|
value = props.max.toString();
|
|
if (props.min && props.min > Number(value))
|
|
value = props.min.toString();
|
|
}
|
|
emit("update:modelValue", value);
|
|
};
|
|
const onCompositionstart = () => {
|
|
composing.value = true;
|
|
};
|
|
const onCompositionend = (event) => {
|
|
composing.value = false;
|
|
onInput(event);
|
|
};
|
|
const classes = computed$1(() => {
|
|
return {
|
|
"layui-input-disabled": props.disabled,
|
|
"layui-input-has-prefix": slots.prefix || props.prefixIcon
|
|
};
|
|
});
|
|
const showPassword = () => {
|
|
if (isPassword.value) {
|
|
type4.value = "text";
|
|
} else {
|
|
type4.value = "password";
|
|
}
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-input", unref(classes)]),
|
|
size: __props.size
|
|
}, [
|
|
unref(slots).prepend ? (openBlock(), createElementBlock("div", _hoisted_2$O, [
|
|
renderSlot(_ctx.$slots, "prepend")
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("div", _hoisted_3$H, [
|
|
unref(slots).prefix || props.prefixIcon ? (openBlock(), createElementBlock("span", _hoisted_4$x, [
|
|
unref(slots).prefix ? renderSlot(_ctx.$slots, "prefix", { key: 0 }) : (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 1,
|
|
type: props.prefixIcon,
|
|
class: "layui-input-prefix-icon"
|
|
}, null, 8, ["type"]))
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("input", {
|
|
type: type4.value,
|
|
name: __props.name,
|
|
disabled: __props.disabled,
|
|
placeholder: __props.placeholder,
|
|
autofocus: __props.autofocus,
|
|
autocomplete: __props.autocomplete,
|
|
maxlength: __props.maxlength,
|
|
max: __props.max,
|
|
min: __props.min,
|
|
readonly: __props.readonly,
|
|
value: currentValue.value,
|
|
onInput,
|
|
onChange,
|
|
onFocus,
|
|
onBlur,
|
|
onCompositionstart,
|
|
onCompositionend
|
|
}, null, 40, _hoisted_5$o),
|
|
__props.password && unref(hasContent) ? (openBlock(), createElementBlock("span", {
|
|
key: 1,
|
|
class: "layui-input-password",
|
|
onClick: showPassword
|
|
}, [
|
|
unref(isPassword) ? (openBlock(), createBlock(PasswordIcon, { key: 0 })) : (openBlock(), createBlock(UnPasswordIcon, { key: 1 }))
|
|
])) : createCommentVNode("", true),
|
|
__props.allowClear && unref(hasContent) && !__props.disabled ? (openBlock(), createElementBlock("span", _hoisted_6$j, [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: "layui-icon-close-fill",
|
|
onClick: withModifiers(onClear, ["stop"])
|
|
}, null, 8, ["onClick"])
|
|
])) : createCommentVNode("", true),
|
|
unref(slots).suffix || props.suffixIcon ? (openBlock(), createElementBlock("span", _hoisted_7$g, [
|
|
unref(slots).suffix ? renderSlot(_ctx.$slots, "suffix", { key: 0 }) : (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 1,
|
|
type: props.suffixIcon,
|
|
class: "layui-input-suffix-icon"
|
|
}, null, 8, ["type"]))
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
unref(slots).append ? (openBlock(), createElementBlock("div", _hoisted_8$c, [
|
|
renderSlot(_ctx.$slots, "append")
|
|
])) : createCommentVNode("", true)
|
|
], 10, _hoisted_1$_);
|
|
};
|
|
}
|
|
});
|
|
var index$S = /* @__PURE__ */ (() => ".layui-scroll{height:100%;overflow:hidden!important}.layui-scroll-y{position:relative;height:100%}.layui-scroll-y .layui-scroll-wrap{height:100%;overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none}.layui-scroll-y .layui-scroll-track{position:absolute;top:0;right:0;bottom:0;border-radius:8px;z-index:20}.layui-scroll-y .layui-scroll-track .layui-scroll-thumb{margin:0 auto;border-radius:6px;cursor:default}.layui-scroll-y ::-webkit-scrollbar{display:none}\n")();
|
|
const _hoisted_1$Z = { class: "layui-scroll-y" };
|
|
const _hoisted_2$N = ["onMousedown"];
|
|
const __default__$1q = {
|
|
name: "LayScroll"
|
|
};
|
|
const _sfc_main$1u = defineComponent({
|
|
...__default__$1q,
|
|
props: {
|
|
height: { default: "100%" },
|
|
trackColor: { default: "rgba(0,0,0,0)" },
|
|
thumbColor: { default: "#eeeeee" },
|
|
thumbWidth: { default: 6 }
|
|
},
|
|
emits: ["arrive"],
|
|
setup(__props, { emit }) {
|
|
const scrollRef = ref();
|
|
const barRef = ref();
|
|
const data = reactive({
|
|
translateY: 0,
|
|
heightPre: 0,
|
|
barHeight: 0,
|
|
winWidth: document.body.clientWidth
|
|
});
|
|
let time;
|
|
let isMove = false;
|
|
let moveClientY = 0;
|
|
let trackHeight = 0;
|
|
let wrapHeight = 0;
|
|
let wrapContentHeight = 0;
|
|
onMounted(() => {
|
|
monitorWindow();
|
|
monitorScrollBar();
|
|
nextTick(() => {
|
|
calculationLength();
|
|
});
|
|
});
|
|
onUnmounted(() => {
|
|
window.clearInterval(time);
|
|
});
|
|
const monitorWindow = function() {
|
|
let time2;
|
|
window.addEventListener("resize", () => {
|
|
data.winWidth = document.body.clientWidth;
|
|
clearTimeout(time2);
|
|
time2 = setTimeout(() => {
|
|
initScrollListner();
|
|
}, 500);
|
|
});
|
|
};
|
|
const monitorScrollBar = function() {
|
|
let MutationObserver2 = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
|
|
const observer = new MutationObserver2((mutations) => {
|
|
initScrollListner();
|
|
});
|
|
observer.observe(scrollRef.value, {
|
|
attributes: true,
|
|
childList: true,
|
|
subtree: true
|
|
});
|
|
};
|
|
const calculationLength = function() {
|
|
time = setInterval(() => {
|
|
initScrollListner();
|
|
}, 50);
|
|
setTimeout(() => {
|
|
window.clearInterval(time);
|
|
}, 2e3);
|
|
};
|
|
const initScrollListner = function() {
|
|
let scroll = scrollRef.value;
|
|
let bar = barRef.value;
|
|
if (scroll && bar) {
|
|
wrapContentHeight = scroll.scrollHeight;
|
|
wrapHeight = scroll.clientHeight;
|
|
trackHeight = bar.clientHeight;
|
|
data.heightPre = wrapHeight / wrapContentHeight;
|
|
data.barHeight = data.heightPre * trackHeight;
|
|
}
|
|
};
|
|
const onMosewheel = (e) => {
|
|
data.translateY = e.target.scrollTop * data.heightPre;
|
|
if (data.translateY == 0) {
|
|
arrive("top");
|
|
} else if (e.target.scrollTop + e.target.offsetHeight == e.target.scrollHeight) {
|
|
arrive("bottom");
|
|
}
|
|
};
|
|
const arrive = (tb) => {
|
|
emit("arrive", tb);
|
|
};
|
|
const moveStart = (e) => {
|
|
isMove = true;
|
|
moveClientY = e.clientY - data.translateY;
|
|
moveTo2();
|
|
moveEnd();
|
|
};
|
|
const moveTo2 = () => {
|
|
document.onmousemove = (e) => {
|
|
if (isMove) {
|
|
if (e.clientY - moveClientY > trackHeight - data.barHeight) {
|
|
data.translateY = trackHeight - data.barHeight;
|
|
} else if (e.clientY - moveClientY < 0) {
|
|
data.translateY = 0;
|
|
} else {
|
|
data.translateY = e.clientY - moveClientY;
|
|
}
|
|
if (scrollRef.value) {
|
|
scrollRef.value.scrollTop = data.translateY / data.heightPre;
|
|
}
|
|
}
|
|
};
|
|
};
|
|
const moveEnd = function() {
|
|
document.onmouseup = (e) => {
|
|
if (isMove) {
|
|
isMove = false;
|
|
}
|
|
};
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-scroll", { hide: data.winWidth < 500 }]),
|
|
style: normalizeStyle({ height: __props.height })
|
|
}, [
|
|
createElementVNode("div", _hoisted_1$Z, [
|
|
createElementVNode("div", {
|
|
ref_key: "scrollRef",
|
|
ref: scrollRef,
|
|
class: "layui-scroll-wrap",
|
|
onScroll: onMosewheel
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 544),
|
|
createElementVNode("div", {
|
|
ref_key: "barRef",
|
|
ref: barRef,
|
|
class: "layui-scroll-track",
|
|
style: normalizeStyle({
|
|
backgroundColor: data.heightPre == 1 ? "transparent" : __props.trackColor
|
|
})
|
|
}, [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({
|
|
height: data.barHeight + "px",
|
|
width: __props.thumbWidth + "px",
|
|
transform: "translateY(" + data.translateY + "px)",
|
|
backgroundColor: data.heightPre == 1 ? "transparent" : __props.thumbColor
|
|
}),
|
|
class: "layui-scroll-thumb",
|
|
onMousedown: withModifiers(moveStart, ["stop", "prevent"])
|
|
}, null, 44, _hoisted_2$N)
|
|
], 4)
|
|
])
|
|
], 6);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$Y = { class: "layui-inline layui-iconpicker-main" };
|
|
const _hoisted_2$M = /* @__PURE__ */ createElementVNode("span", { class: "layui-inline layui-iconpicker-suffix" }, [
|
|
/* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-down layui-anim" })
|
|
], -1);
|
|
const _hoisted_3$G = { class: "layui-iconpicker-view layui-iconpicker-scroll" };
|
|
const _hoisted_4$w = {
|
|
key: 0,
|
|
class: "layui-iconpicker-search"
|
|
};
|
|
const _hoisted_5$n = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-search" }, null, -1);
|
|
const _hoisted_6$i = { class: "layui-iconpicker-list" };
|
|
const _hoisted_7$f = ["onClick"];
|
|
const _hoisted_8$b = { class: "layui-elip" };
|
|
const _hoisted_9$9 = {
|
|
key: 1,
|
|
class: "layui-iconpicker-page"
|
|
};
|
|
const _hoisted_10$9 = {
|
|
id: "layui-laypage-1",
|
|
class: "layui-laypage layui-laypage-default"
|
|
};
|
|
const _hoisted_11$8 = { class: "layui-laypage-count" };
|
|
const _hoisted_12$7 = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-left" }, null, -1);
|
|
const _hoisted_13$7 = [
|
|
_hoisted_12$7
|
|
];
|
|
const _hoisted_14$4 = { class: "layui-laypage-curr" };
|
|
const _hoisted_15$3 = /* @__PURE__ */ createElementVNode("em", { class: "layui-laypage-em" }, null, -1);
|
|
const _hoisted_16$3 = /* @__PURE__ */ createElementVNode("span", { class: "layui-laypage-spr" }, "\u2026", -1);
|
|
const _hoisted_17$3 = /* @__PURE__ */ createElementVNode("a", {
|
|
href: "javascript:;",
|
|
class: "layui-laypage-last",
|
|
title: "\u5C3E\u9875"
|
|
}, "14", -1);
|
|
const _hoisted_18$2 = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-right" }, null, -1);
|
|
const _hoisted_19$2 = [
|
|
_hoisted_18$2
|
|
];
|
|
const __default__$1p = {
|
|
name: "LayIconPicker"
|
|
};
|
|
const _sfc_main$1t = defineComponent({
|
|
...__default__$1p,
|
|
props: {
|
|
page: { type: Boolean, default: false },
|
|
modelValue: { default: "layui-icon-face-smile" },
|
|
disabled: { type: Boolean, default: false },
|
|
showSearch: { type: Boolean },
|
|
contentClass: null,
|
|
contentStyle: null
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const selectedIcon = computed$1(() => props.modelValue);
|
|
const dropdownRef = ref(null);
|
|
const selectIcon = function(icon) {
|
|
var _a2;
|
|
emit("update:modelValue", icon);
|
|
emit("change", icon);
|
|
(_a2 = dropdownRef.value) == null ? void 0 : _a2.hide();
|
|
};
|
|
const icones = ref([]);
|
|
const total = ref(iconfont.length);
|
|
const totalPage = ref(total.value / 12);
|
|
const currentPage = ref(1);
|
|
if (props.page) {
|
|
icones.value = iconfont.slice(0, 12);
|
|
} else {
|
|
icones.value = iconfont;
|
|
}
|
|
const next = () => {
|
|
if (currentPage.value === totalPage.value) {
|
|
return;
|
|
}
|
|
currentPage.value = currentPage.value + 1;
|
|
const start = (currentPage.value - 1) * 12;
|
|
const end = start + 12;
|
|
icones.value = iconfont.slice(start, end);
|
|
};
|
|
const prev = () => {
|
|
if (currentPage.value === 1) {
|
|
return;
|
|
}
|
|
currentPage.value = currentPage.value - 1;
|
|
const start = (currentPage.value - 1) * 12;
|
|
const end = start + 12;
|
|
icones.value = iconfont.slice(start, end);
|
|
};
|
|
const clear2 = () => {
|
|
const start = (currentPage.value - 1) * 12;
|
|
const end = start + 12;
|
|
if (props.page) {
|
|
icones.value = iconfont.slice(start, end);
|
|
total.value = iconfont.length;
|
|
totalPage.value = Math.ceil(iconfont.length / 12);
|
|
} else {
|
|
icones.value = iconfont;
|
|
}
|
|
};
|
|
const search = (e) => {
|
|
currentPage.value = 1;
|
|
const start = (currentPage.value - 1) * 12;
|
|
const end = start + 12;
|
|
const text = e;
|
|
if (text) {
|
|
if (props.page) {
|
|
icones.value = searchList(text, iconfont).slice(start, end);
|
|
total.value = searchList(text, iconfont).length;
|
|
totalPage.value = Math.ceil(searchList(text, iconfont).length / 12);
|
|
} else {
|
|
icones.value = searchList(text, iconfont);
|
|
}
|
|
} else {
|
|
if (props.page) {
|
|
icones.value = iconfont.slice(start, end);
|
|
total.value = iconfont.length;
|
|
totalPage.value = Math.ceil(iconfont.length / 12);
|
|
} else {
|
|
icones.value = iconfont;
|
|
}
|
|
}
|
|
};
|
|
const searchList = (str, container) => {
|
|
var newList = [];
|
|
var startChar = str.charAt(0);
|
|
var strLen = str.length;
|
|
for (var i = 0; i < container.length; i++) {
|
|
var obj = container[i];
|
|
var isMatch = false;
|
|
for (var p in obj) {
|
|
if (typeof obj[p] == "function") {
|
|
obj[p]();
|
|
} else {
|
|
var curItem = "";
|
|
if (obj[p] != null) {
|
|
curItem = obj[p];
|
|
}
|
|
for (var j = 0; j < curItem.length; j++) {
|
|
if (curItem.charAt(j) == startChar) {
|
|
if (curItem.substring(j).substring(0, strLen) == str) {
|
|
isMatch = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (isMatch) {
|
|
newList.push(obj);
|
|
}
|
|
}
|
|
return newList;
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createBlock(_sfc_main$1y, {
|
|
ref_key: "dropdownRef",
|
|
ref: dropdownRef,
|
|
disabled: __props.disabled,
|
|
contentClass: __props.contentClass,
|
|
contentStyle: __props.contentStyle,
|
|
updateAtScroll: ""
|
|
}, {
|
|
content: withCtx(() => [
|
|
createElementVNode("div", _hoisted_3$G, [
|
|
__props.showSearch ? (openBlock(), createElementBlock("div", _hoisted_4$w, [
|
|
createVNode(_sfc_main$1v, {
|
|
onInput: search,
|
|
onClear: clear2,
|
|
autocomplete: "true",
|
|
"allow-clear": true
|
|
}, {
|
|
prefix: withCtx(() => [
|
|
_hoisted_5$n
|
|
]),
|
|
_: 1
|
|
})
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("div", _hoisted_6$i, [
|
|
createVNode(_sfc_main$1u, {
|
|
style: { "height": "200px" },
|
|
thumbColor: "rgb(238, 238, 238)"
|
|
}, {
|
|
default: withCtx(() => [
|
|
createElementVNode("ul", null, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(icones.value, (icon) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
key: icon,
|
|
class: normalizeClass([unref(selectedIcon) === icon.class ? "layui-this" : ""]),
|
|
onClick: ($event) => selectIcon(icon.class)
|
|
}, [
|
|
createElementVNode("i", {
|
|
class: normalizeClass(["layui-icon", [icon.class]])
|
|
}, null, 2),
|
|
createElementVNode("p", _hoisted_8$b, toDisplayString$1(icon.name), 1)
|
|
], 10, _hoisted_7$f);
|
|
}), 128))
|
|
])
|
|
]),
|
|
_: 1
|
|
})
|
|
]),
|
|
__props.page ? (openBlock(), createElementBlock("div", _hoisted_9$9, [
|
|
createElementVNode("div", _hoisted_10$9, [
|
|
createElementVNode("span", _hoisted_11$8, "\u5171 " + toDisplayString$1(total.value) + " \u4E2A", 1),
|
|
createElementVNode("a", {
|
|
href: "javascript:;",
|
|
class: normalizeClass(["layui-laypage-prev", [currentPage.value === 1 ? "layui-disabled" : ""]]),
|
|
onClick: _cache[0] || (_cache[0] = ($event) => prev())
|
|
}, _hoisted_13$7, 2),
|
|
createElementVNode("span", _hoisted_14$4, [
|
|
_hoisted_15$3,
|
|
createElementVNode("em", null, toDisplayString$1(currentPage.value) + " / " + toDisplayString$1(totalPage.value), 1)
|
|
]),
|
|
_hoisted_16$3,
|
|
_hoisted_17$3,
|
|
createElementVNode("a", {
|
|
href: "javascript:;",
|
|
class: normalizeClass([[currentPage.value === totalPage.value ? "layui-disabled" : ""], "layui-laypage-next"]),
|
|
onClick: _cache[1] || (_cache[1] = ($event) => next())
|
|
}, _hoisted_19$2, 2)
|
|
])
|
|
])) : createCommentVNode("", true)
|
|
])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("div", {
|
|
class: normalizeClass(["layui-inline layui-border-box layui-iconpicker layui-iconpicker-split", [{ "layui-colorpicker-disabled": __props.disabled }]])
|
|
}, [
|
|
createElementVNode("div", _hoisted_1$Y, [
|
|
createElementVNode("i", {
|
|
class: normalizeClass(["layui-inline layui-icon", [unref(selectedIcon)]])
|
|
}, null, 2)
|
|
]),
|
|
_hoisted_2$M
|
|
], 2)
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled", "contentClass", "contentStyle"]);
|
|
};
|
|
}
|
|
});
|
|
const component$1c = withInstall(_sfc_main$1t);
|
|
var index$R = /* @__PURE__ */ (() => ":root{--card-border-radius: var(--global-border-radius)}.layui-card{margin-bottom:15px;background-color:#fff;border-radius:var(--card-border-radius)}.layui-card .layui-card-header{height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f6f6f6;font-size:14px}.layui-card .layui-card-footer{height:42px;line-height:42px;padding:0 15px;border-top:1px solid #f6f6f6;font-size:14px}.layui-card .layui-card-header .layui-card-header-extra{float:right}.layui-card .layui-card-body{padding:10px 15px;line-height:24px}.layui-card:last-child{margin-bottom:0}.layui-card.is-hover-shadow:hover,.layui-card.shadow{box-shadow:0 1px 2px #0000000d}\n")();
|
|
const _hoisted_1$X = {
|
|
key: 0,
|
|
class: "layui-card-header"
|
|
};
|
|
const _hoisted_2$L = { class: "layui-card-header-title" };
|
|
const _hoisted_3$F = {
|
|
key: 0,
|
|
class: "layui-card-header-extra"
|
|
};
|
|
const _hoisted_4$v = { class: "layui-card-body" };
|
|
const _hoisted_5$m = {
|
|
key: 1,
|
|
class: "layui-card-footer"
|
|
};
|
|
const __default__$1o = {
|
|
name: "LayCard"
|
|
};
|
|
const _sfc_main$1s = defineComponent({
|
|
...__default__$1o,
|
|
props: {
|
|
title: null,
|
|
shadow: { default: "always" }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const slots = useSlots();
|
|
const classes = computed$1(() => {
|
|
return {
|
|
shadow: props.shadow === "always",
|
|
"is-hover-shadow": props.shadow === "hover"
|
|
};
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-card", unref(classes)])
|
|
}, [
|
|
unref(slots).title || __props.title || unref(slots).extra ? (openBlock(), createElementBlock("div", _hoisted_1$X, [
|
|
createElementVNode("span", _hoisted_2$L, [
|
|
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
createTextVNode(toDisplayString$1(__props.title), 1)
|
|
])
|
|
]),
|
|
unref(slots).extra ? (openBlock(), createElementBlock("span", _hoisted_3$F, [
|
|
renderSlot(_ctx.$slots, "extra")
|
|
])) : createCommentVNode("", true)
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("div", _hoisted_4$v, [
|
|
unref(slots).body ? renderSlot(_ctx.$slots, "body", { key: 0 }) : renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
]),
|
|
unref(slots).footer ? (openBlock(), createElementBlock("div", _hoisted_5$m, [
|
|
renderSlot(_ctx.$slots, "footer")
|
|
])) : createCommentVNode("", true)
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$1b = withInstall(_sfc_main$1s);
|
|
var index$Q = /* @__PURE__ */ (() => ".layui-header{box-sizing:border-box;height:60px}\n")();
|
|
const _hoisted_1$W = { class: "layui-header" };
|
|
const __default__$1n = {
|
|
name: "LayHeader"
|
|
};
|
|
const _sfc_main$1r = /* @__PURE__ */ defineComponent({
|
|
...__default__$1n,
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$W, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
var index$P = /* @__PURE__ */ (() => ".layui-footer{box-sizing:border-box}\n")();
|
|
const _hoisted_1$V = { class: "layui-footer" };
|
|
const __default__$1m = {
|
|
name: "LayFooter"
|
|
};
|
|
const _sfc_main$1q = /* @__PURE__ */ defineComponent({
|
|
...__default__$1m,
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$V, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
var index$O = /* @__PURE__ */ (() => ".layui-header{box-sizing:border-box;height:60px}.layui-layout{flex:1;display:flex;flex-basis:auto;box-sizing:border-box}.layui-layout-vertical{flex-direction:column}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}\n")();
|
|
const __default__$1l = {
|
|
name: "LayLayout"
|
|
};
|
|
const _sfc_main$1p = defineComponent({
|
|
...__default__$1l,
|
|
props: {
|
|
isVertical: { type: Boolean, default: false }
|
|
},
|
|
setup(__props) {
|
|
const slots = useSlots();
|
|
const isVertical = computed$1(() => {
|
|
if (!slots.default)
|
|
return false;
|
|
const vNodes = slots.default();
|
|
return vNodes.some((vNode) => {
|
|
const componentName = vNode.type.name;
|
|
if (!componentName)
|
|
return false;
|
|
return [_sfc_main$1r.name].includes(componentName) || [_sfc_main$1q.name].includes(componentName);
|
|
});
|
|
});
|
|
const classes = computed$1(() => {
|
|
return ["layui-layout", { "layui-layout-vertical": isVertical.value }];
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("section", {
|
|
class: normalizeClass(unref(classes))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$1a = withInstall(_sfc_main$1p);
|
|
var index$N = /* @__PURE__ */ (() => ".layui-side{overflow:auto;overflow-x:hidden;box-sizing:border-box;min-height:300px}\n")();
|
|
const __default__$1k = {
|
|
name: "LaySide"
|
|
};
|
|
const _sfc_main$1o = defineComponent({
|
|
...__default__$1k,
|
|
props: {
|
|
width: { default: "200px" }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const styles = computed$1(() => {
|
|
return {
|
|
flex: `0 0 ${props.width}`,
|
|
width: `${props.width}`
|
|
};
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: "layui-side",
|
|
style: normalizeStyle(unref(styles))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 4);
|
|
};
|
|
}
|
|
});
|
|
const component$19 = withInstall(_sfc_main$1o);
|
|
var index$M = /* @__PURE__ */ (() => ".layui-body{display:block;flex:1;overflow:auto;height:100%;box-sizing:border-box;min-height:300px}\n")();
|
|
const _hoisted_1$U = { class: "layui-body" };
|
|
const __default__$1j = {
|
|
name: "LayBody"
|
|
};
|
|
const _sfc_main$1n = /* @__PURE__ */ defineComponent({
|
|
...__default__$1j,
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$U, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$18 = withInstall(_sfc_main$1n);
|
|
const component$17 = withInstall(_sfc_main$1r);
|
|
const component$16 = withInstall(_sfc_main$1q);
|
|
var index$L = /* @__PURE__ */ (() => ".layui-logo{left:0;top:0;width:200px;height:60px;line-height:60px;text-align:center;color:var(--global-primary-color);font-size:16px}\n")();
|
|
const _hoisted_1$T = { class: "layui-logo" };
|
|
const __default__$1i = {
|
|
name: "LayLogo"
|
|
};
|
|
const _sfc_main$1m = /* @__PURE__ */ defineComponent({
|
|
...__default__$1i,
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$T, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$15 = withInstall(_sfc_main$1m);
|
|
var index$K = /* @__PURE__ */ (() => ":root{--panel-border-color: var(--global-neutral-color-3);--panel-border-radius: var(--global-border-radius)}.layui-panel{border-width:1px;border-style:solid;margin-bottom:15px;border-radius:var(--panel-border-radius);border-color:var(--panel-border-color);background-color:#fff;padding:20px}.layui-panel.is-hover-shadow:hover,.layui-panel.shadow{box-shadow:1px 1px 4px #00000014}\n")();
|
|
const __default__$1h = {
|
|
name: "LayPanel"
|
|
};
|
|
const _sfc_main$1l = defineComponent({
|
|
...__default__$1h,
|
|
props: {
|
|
shadow: { default: "always" }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const classes = computed$1(() => {
|
|
return {
|
|
shadow: props.shadow === "always",
|
|
"is-hover-shadow": props.shadow === "hover"
|
|
};
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-panel", unref(classes)])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$14 = withInstall(_sfc_main$1l);
|
|
var index$J = /* @__PURE__ */ (() => ".layui-progress{position:relative;height:6px;border-radius:20px;background-color:var(--global-neutral-color-3)}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:var(--global-checked-color);transition:all .3s;-webkit-transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#666}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.lay-progress-circle-container{position:relative;display:inline-block}.lay-progress-circle{position:relative;border-radius:50%;display:inline-block}.lay-progress-circle__text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n")();
|
|
const _hoisted_1$S = {
|
|
key: 0,
|
|
class: "lay-progress-circle"
|
|
};
|
|
const _hoisted_2$K = ["viewBox", "width", "height"];
|
|
const _hoisted_3$E = ["d"];
|
|
const _hoisted_4$u = ["d"];
|
|
const _hoisted_5$l = {
|
|
key: 0,
|
|
class: "layui-progress-text lay-progress-circle__text"
|
|
};
|
|
const _hoisted_6$h = {
|
|
key: 0,
|
|
class: "layui-progress-text"
|
|
};
|
|
const __default__$1g = {
|
|
name: "LayProgress"
|
|
};
|
|
const _sfc_main$1k = defineComponent({
|
|
...__default__$1g,
|
|
props: {
|
|
percent: null,
|
|
theme: null,
|
|
color: null,
|
|
size: null,
|
|
showText: { type: Boolean },
|
|
text: null,
|
|
circle: { type: Boolean, default: false },
|
|
circleSize: { default: 150 },
|
|
circleWidth: { default: 6 }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const styles = computed$1(() => {
|
|
return [
|
|
props.color ? "background-color: " + props.color : "",
|
|
{
|
|
width: props.percent + "%"
|
|
}
|
|
];
|
|
});
|
|
const getCircleColor = computed$1(() => {
|
|
let color;
|
|
switch (props.theme) {
|
|
case "red":
|
|
color = "#ff5722";
|
|
break;
|
|
case "orange":
|
|
color = "#ffb800";
|
|
break;
|
|
case "green":
|
|
color = "#009688";
|
|
break;
|
|
case "cyan":
|
|
color = "#2f4056";
|
|
break;
|
|
case "blue":
|
|
color = "#1e9fff";
|
|
break;
|
|
case "black":
|
|
color = "#393d49";
|
|
break;
|
|
case "gray":
|
|
color = "#fafafa";
|
|
break;
|
|
default:
|
|
color = "#5FB878";
|
|
break;
|
|
}
|
|
color = props.color ? props.color : color;
|
|
return color;
|
|
});
|
|
computed$1(() => {
|
|
let percent;
|
|
if (typeof props.percent == "string") {
|
|
percent = parseInt(props.percent);
|
|
} else {
|
|
percent = props.percent;
|
|
}
|
|
return percent / 100 * 360;
|
|
});
|
|
const getStrokeDasharray = computed$1(() => {
|
|
let percent;
|
|
if (typeof props.percent == "string") {
|
|
percent = parseInt(props.percent);
|
|
} else {
|
|
percent = props.percent;
|
|
}
|
|
let radii = props.circleSize / 2 - props.circleWidth / 2;
|
|
let perimeter = Math.PI * 2 * radii;
|
|
return `${percent / 100 * perimeter}px ${perimeter}px`;
|
|
});
|
|
const getPathD = computed$1(() => {
|
|
let circleSize = props.circleSize;
|
|
let circleWidth = props.circleWidth;
|
|
return `M ${circleSize / 2} ${circleSize / 2} m 0, -${(circleSize - circleWidth) / 2} a ${(circleSize - circleWidth) / 2}, ${(circleSize - circleWidth) / 2} 0 1, 1 0, ${circleSize - circleWidth} a ${(circleSize - circleWidth) / 2}, ${(circleSize - circleWidth) / 2} 0 1, 1 0, -${circleSize - circleWidth}`;
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return __props.circle ? (openBlock(), createElementBlock("div", _hoisted_1$S, [
|
|
(openBlock(), createElementBlock("svg", {
|
|
viewBox: `0 0 ${__props.circleSize} ${__props.circleSize}`,
|
|
width: __props.circleSize,
|
|
height: __props.circleSize
|
|
}, [
|
|
createElementVNode("path", {
|
|
d: unref(getPathD),
|
|
style: normalizeStyle([{ "fill": "none", "stroke": "var(--global-neutral-color-3)" }, { strokeWidth: `${__props.circleWidth}px` }])
|
|
}, null, 12, _hoisted_3$E),
|
|
createElementVNode("path", {
|
|
d: unref(getPathD),
|
|
style: normalizeStyle([{ "fill": "none", "stroke-linecap": "round" }, {
|
|
strokeDasharray: unref(getStrokeDasharray),
|
|
stroke: unref(getCircleColor),
|
|
strokeWidth: `${__props.circleWidth}px`
|
|
}])
|
|
}, null, 12, _hoisted_4$u)
|
|
], 8, _hoisted_2$K)),
|
|
__props.showText ? (openBlock(), createElementBlock("div", _hoisted_5$l, toDisplayString$1(__props.text ? __props.text : __props.percent + "%"), 1)) : createCommentVNode("", true)
|
|
])) : (openBlock(), createElementBlock("div", {
|
|
key: 1,
|
|
class: normalizeClass(["layui-progress", "layui-progress-" + __props.size])
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: normalizeClass(["layui-progress-bar", "layui-bg-" + __props.theme]),
|
|
style: normalizeStyle(unref(styles))
|
|
}, [
|
|
__props.showText ? (openBlock(), createElementBlock("span", _hoisted_6$h, toDisplayString$1(__props.text ? __props.text : __props.percent + "%"), 1)) : createCommentVNode("", true)
|
|
], 6)
|
|
], 2));
|
|
};
|
|
}
|
|
});
|
|
const component$13 = withInstall(_sfc_main$1k);
|
|
const __default__$1f = {
|
|
name: "LayCol"
|
|
};
|
|
const _sfc_main$1j = defineComponent({
|
|
...__default__$1f,
|
|
props: {
|
|
md: null,
|
|
xs: null,
|
|
sm: null,
|
|
lg: null,
|
|
mdOffset: null,
|
|
xsOffset: null,
|
|
smOffset: null,
|
|
lgOffset: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const classes = computed$1(() => {
|
|
return [
|
|
props.md ? `layui-col-md${props.md}` : "",
|
|
props.xs ? `layui-col-xs${props.xs}` : "",
|
|
props.sm ? `layui-col-sm${props.sm}` : "",
|
|
props.lg ? `layui-col-lg${props.lg}` : "",
|
|
props.mdOffset ? `layui-col-md-offset${props.mdOffset}` : "",
|
|
props.xsOffset ? `layui-col-xs-offset${props.xsOffset}` : "",
|
|
props.smOffset ? `layui-col-sm-offset${props.smOffset}` : "",
|
|
props.lgOffset ? `layui-col-lg-offset${props.lgOffset}` : ""
|
|
];
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-col", unref(classes)])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$12 = withInstall(_sfc_main$1j);
|
|
var index$I = /* @__PURE__ */ (() => '.layui-row:after,.layui-row:before{content:"";display:block;clear:both}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space2{margin:-1px}.layui-col-space2>*{padding:1px}.layui-col-space3{margin:-1.5px}.layui-col-space3>*{padding:1.5px}.layui-col-space4{margin:-2px}.layui-col-space4>*{padding:2px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space6{margin:-3px}.layui-col-space6>*{padding:3px}.layui-col-space7{margin:-3.5px}.layui-col-space7>*{padding:3.5px}.layui-col-space8{margin:-4px}.layui-col-space8>*{padding:4px}.layui-col-space9{margin:-4.5px}.layui-col-space9>*{padding:4.5px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space11{margin:-5.5px}.layui-col-space11>*{padding:5.5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space13{margin:-6.5px}.layui-col-space13>*{padding:6.5px}.layui-col-space14{margin:-7px}.layui-col-space14>*{padding:7px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space16{margin:-8px}.layui-col-space16>*{padding:8px}.layui-col-space17{margin:-8.5px}.layui-col-space17>*{padding:8.5px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space19{margin:-9.5px}.layui-col-space19>*{padding:9.5px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space21{margin:-10.5px}.layui-col-space21>*{padding:10.5px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space23{margin:-11.5px}.layui-col-space23>*{padding:11.5px}.layui-col-space24{margin:-12px}.layui-col-space24>*{padding:12px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space26{margin:-13px}.layui-col-space26>*{padding:13px}.layui-col-space27{margin:-13.5px}.layui-col-space27>*{padding:13.5px}.layui-col-space28{margin:-14px}.layui-col-space28>*{padding:14px}.layui-col-space29{margin:-14.5px}.layui-col-space29>*{padding:14.5px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}@media screen and (max-width: 768px){.layui-col-xs1{float:left;display:block;position:relative;box-sizing:border-box;width:4.16666667%}.layui-col-xs-offset1{margin-left:4.16666667%}.layui-col-xs2{float:left;display:block;position:relative;box-sizing:border-box;width:8.33333333%}.layui-col-xs-offset2{margin-left:8.33333333%}.layui-col-xs3{float:left;display:block;position:relative;box-sizing:border-box;width:12.5%}.layui-col-xs-offset3{margin-left:12.5%}.layui-col-xs4{float:left;display:block;position:relative;box-sizing:border-box;width:16.66666667%}.layui-col-xs-offset4{margin-left:16.66666667%}.layui-col-xs5{float:left;display:block;position:relative;box-sizing:border-box;width:20.83333333%}.layui-col-xs-offset5{margin-left:20.83333333%}.layui-col-xs6{float:left;display:block;position:relative;box-sizing:border-box;width:25%}.layui-col-xs-offset6{margin-left:25%}.layui-col-xs7{float:left;display:block;position:relative;box-sizing:border-box;width:29.16666667%}.layui-col-xs-offset7{margin-left:29.16666667%}.layui-col-xs8{float:left;display:block;position:relative;box-sizing:border-box;width:33.33333333%}.layui-col-xs-offset8{margin-left:33.33333333%}.layui-col-xs9{float:left;display:block;position:relative;box-sizing:border-box;width:37.5%}.layui-col-xs-offset9{margin-left:37.5%}.layui-col-xs10{float:left;display:block;position:relative;box-sizing:border-box;width:41.66666667%}.layui-col-xs-offset10{margin-left:41.66666667%}.layui-col-xs11{float:left;display:block;position:relative;box-sizing:border-box;width:45.83333333%}.layui-col-xs-offset11{margin-left:45.83333333%}.layui-col-xs12{float:left;display:block;position:relative;box-sizing:border-box;width:50%}.layui-col-xs-offset12{margin-left:50%}.layui-col-xs13{float:left;display:block;position:relative;box-sizing:border-box;width:54.16666667%}.layui-col-xs-offset13{margin-left:54.16666667%}.layui-col-xs14{float:left;display:block;position:relative;box-sizing:border-box;width:58.33333333%}.layui-col-xs-offset14{margin-left:58.33333333%}.layui-col-xs15{float:left;display:block;position:relative;box-sizing:border-box;width:62.5%}.layui-col-xs-offset15{margin-left:62.5%}.layui-col-xs16{float:left;display:block;position:relative;box-sizing:border-box;width:66.66666667%}.layui-col-xs-offset16{margin-left:66.66666667%}.layui-col-xs17{float:left;display:block;position:relative;box-sizing:border-box;width:70.83333333%}.layui-col-xs-offset17{margin-left:70.83333333%}.layui-col-xs18{float:left;display:block;position:relative;box-sizing:border-box;width:75%}.layui-col-xs-offset18{margin-left:75%}.layui-col-xs19{float:left;display:block;position:relative;box-sizing:border-box;width:79.16666667%}.layui-col-xs-offset19{margin-left:79.16666667%}.layui-col-xs20{float:left;display:block;position:relative;box-sizing:border-box;width:83.33333333%}.layui-col-xs-offset20{margin-left:83.33333333%}.layui-col-xs21{float:left;display:block;position:relative;box-sizing:border-box;width:87.5%}.layui-col-xs-offset21{margin-left:87.5%}.layui-col-xs22{float:left;display:block;position:relative;box-sizing:border-box;width:91.66666667%}.layui-col-xs-offset22{margin-left:91.66666667%}.layui-col-xs23{float:left;display:block;position:relative;box-sizing:border-box;width:95.83333333%}.layui-col-xs-offset23{margin-left:95.83333333%}.layui-col-xs24{float:left;display:block;position:relative;box-sizing:border-box;width:100%}.layui-col-xs-offset24{margin-left:100%}}@media screen and (min-width: 768px){.layui-col-sm1{float:left;display:block;position:relative;box-sizing:border-box;width:4.16666667%}.layui-col-sm-offset1{margin-left:4.16666667%}.layui-col-sm2{float:left;display:block;position:relative;box-sizing:border-box;width:8.33333333%}.layui-col-sm-offset2{margin-left:8.33333333%}.layui-col-sm3{float:left;display:block;position:relative;box-sizing:border-box;width:12.5%}.layui-col-sm-offset3{margin-left:12.5%}.layui-col-sm4{float:left;display:block;position:relative;box-sizing:border-box;width:16.66666667%}.layui-col-sm-offset4{margin-left:16.66666667%}.layui-col-sm5{float:left;display:block;position:relative;box-sizing:border-box;width:20.83333333%}.layui-col-sm-offset5{margin-left:20.83333333%}.layui-col-sm6{float:left;display:block;position:relative;box-sizing:border-box;width:25%}.layui-col-sm-offset6{margin-left:25%}.layui-col-sm7{float:left;display:block;position:relative;box-sizing:border-box;width:29.16666667%}.layui-col-sm-offset7{margin-left:29.16666667%}.layui-col-sm8{float:left;display:block;position:relative;box-sizing:border-box;width:33.33333333%}.layui-col-sm-offset8{margin-left:33.33333333%}.layui-col-sm9{float:left;display:block;position:relative;box-sizing:border-box;width:37.5%}.layui-col-sm-offset9{margin-left:37.5%}.layui-col-sm10{float:left;display:block;position:relative;box-sizing:border-box;width:41.66666667%}.layui-col-sm-offset10{margin-left:41.66666667%}.layui-col-sm11{float:left;display:block;position:relative;box-sizing:border-box;width:45.83333333%}.layui-col-sm-offset11{margin-left:45.83333333%}.layui-col-sm12{float:left;display:block;position:relative;box-sizing:border-box;width:50%}.layui-col-sm-offset12{margin-left:50%}.layui-col-sm13{float:left;display:block;position:relative;box-sizing:border-box;width:54.16666667%}.layui-col-sm-offset13{margin-left:54.16666667%}.layui-col-sm14{float:left;display:block;position:relative;box-sizing:border-box;width:58.33333333%}.layui-col-sm-offset14{margin-left:58.33333333%}.layui-col-sm15{float:left;display:block;position:relative;box-sizing:border-box;width:62.5%}.layui-col-sm-offset15{margin-left:62.5%}.layui-col-sm16{float:left;display:block;position:relative;box-sizing:border-box;width:66.66666667%}.layui-col-sm-offset16{margin-left:66.66666667%}.layui-col-sm17{float:left;display:block;position:relative;box-sizing:border-box;width:70.83333333%}.layui-col-sm-offset17{margin-left:70.83333333%}.layui-col-sm18{float:left;display:block;position:relative;box-sizing:border-box;width:75%}.layui-col-sm-offset18{margin-left:75%}.layui-col-sm19{float:left;display:block;position:relative;box-sizing:border-box;width:79.16666667%}.layui-col-sm-offset19{margin-left:79.16666667%}.layui-col-sm20{float:left;display:block;position:relative;box-sizing:border-box;width:83.33333333%}.layui-col-sm-offset20{margin-left:83.33333333%}.layui-col-sm21{float:left;display:block;position:relative;box-sizing:border-box;width:87.5%}.layui-col-sm-offset21{margin-left:87.5%}.layui-col-sm22{float:left;display:block;position:relative;box-sizing:border-box;width:91.66666667%}.layui-col-sm-offset22{margin-left:91.66666667%}.layui-col-sm23{float:left;display:block;position:relative;box-sizing:border-box;width:95.83333333%}.layui-col-sm-offset23{margin-left:95.83333333%}.layui-col-sm24{float:left;display:block;position:relative;box-sizing:border-box;width:100%}.layui-col-sm-offset24{margin-left:100%}}@media screen and (min-width: 992px){.layui-col-md1{float:left;display:block;position:relative;box-sizing:border-box;width:4.16666667%}.layui-col-md-offset1{margin-left:4.16666667%}.layui-col-md2{float:left;display:block;position:relative;box-sizing:border-box;width:8.33333333%}.layui-col-md-offset2{margin-left:8.33333333%}.layui-col-md3{float:left;display:block;position:relative;box-sizing:border-box;width:12.5%}.layui-col-md-offset3{margin-left:12.5%}.layui-col-md4{float:left;display:block;position:relative;box-sizing:border-box;width:16.66666667%}.layui-col-md-offset4{margin-left:16.66666667%}.layui-col-md5{float:left;display:block;position:relative;box-sizing:border-box;width:20.83333333%}.layui-col-md-offset5{margin-left:20.83333333%}.layui-col-md6{float:left;display:block;position:relative;box-sizing:border-box;width:25%}.layui-col-md-offset6{margin-left:25%}.layui-col-md7{float:left;display:block;position:relative;box-sizing:border-box;width:29.16666667%}.layui-col-md-offset7{margin-left:29.16666667%}.layui-col-md8{float:left;display:block;position:relative;box-sizing:border-box;width:33.33333333%}.layui-col-md-offset8{margin-left:33.33333333%}.layui-col-md9{float:left;display:block;position:relative;box-sizing:border-box;width:37.5%}.layui-col-md-offset9{margin-left:37.5%}.layui-col-md10{float:left;display:block;position:relative;box-sizing:border-box;width:41.66666667%}.layui-col-md-offset10{margin-left:41.66666667%}.layui-col-md11{float:left;display:block;position:relative;box-sizing:border-box;width:45.83333333%}.layui-col-md-offset11{margin-left:45.83333333%}.layui-col-md12{float:left;display:block;position:relative;box-sizing:border-box;width:50%}.layui-col-md-offset12{margin-left:50%}.layui-col-md13{float:left;display:block;position:relative;box-sizing:border-box;width:54.16666667%}.layui-col-md-offset13{margin-left:54.16666667%}.layui-col-md14{float:left;display:block;position:relative;box-sizing:border-box;width:58.33333333%}.layui-col-md-offset14{margin-left:58.33333333%}.layui-col-md15{float:left;display:block;position:relative;box-sizing:border-box;width:62.5%}.layui-col-md-offset15{margin-left:62.5%}.layui-col-md16{float:left;display:block;position:relative;box-sizing:border-box;width:66.66666667%}.layui-col-md-offset16{margin-left:66.66666667%}.layui-col-md17{float:left;display:block;position:relative;box-sizing:border-box;width:70.83333333%}.layui-col-md-offset17{margin-left:70.83333333%}.layui-col-md18{float:left;display:block;position:relative;box-sizing:border-box;width:75%}.layui-col-md-offset18{margin-left:75%}.layui-col-md19{float:left;display:block;position:relative;box-sizing:border-box;width:79.16666667%}.layui-col-md-offset19{margin-left:79.16666667%}.layui-col-md20{float:left;display:block;position:relative;box-sizing:border-box;width:83.33333333%}.layui-col-md-offset20{margin-left:83.33333333%}.layui-col-md21{float:left;display:block;position:relative;box-sizing:border-box;width:87.5%}.layui-col-md-offset21{margin-left:87.5%}.layui-col-md22{float:left;display:block;position:relative;box-sizing:border-box;width:91.66666667%}.layui-col-md-offset22{margin-left:91.66666667%}.layui-col-md23{float:left;display:block;position:relative;box-sizing:border-box;width:95.83333333%}.layui-col-md-offset23{margin-left:95.83333333%}.layui-col-md24{float:left;display:block;position:relative;box-sizing:border-box;width:100%}.layui-col-md-offset24{margin-left:100%}}@media screen and (min-width: 1200px){.layui-col-lg1{float:left;display:block;position:relative;box-sizing:border-box;width:4.16666667%}.layui-col-lg-offset1{margin-left:4.16666667%}.layui-col-lg2{float:left;display:block;position:relative;box-sizing:border-box;width:8.33333333%}.layui-col-lg-offset2{margin-left:8.33333333%}.layui-col-lg3{float:left;display:block;position:relative;box-sizing:border-box;width:12.5%}.layui-col-lg-offset3{margin-left:12.5%}.layui-col-lg4{float:left;display:block;position:relative;box-sizing:border-box;width:16.66666667%}.layui-col-lg-offset4{margin-left:16.66666667%}.layui-col-lg5{float:left;display:block;position:relative;box-sizing:border-box;width:20.83333333%}.layui-col-lg-offset5{margin-left:20.83333333%}.layui-col-lg6{float:left;display:block;position:relative;box-sizing:border-box;width:25%}.layui-col-lg-offset6{margin-left:25%}.layui-col-lg7{float:left;display:block;position:relative;box-sizing:border-box;width:29.16666667%}.layui-col-lg-offset7{margin-left:29.16666667%}.layui-col-lg8{float:left;display:block;position:relative;box-sizing:border-box;width:33.33333333%}.layui-col-lg-offset8{margin-left:33.33333333%}.layui-col-lg9{float:left;display:block;position:relative;box-sizing:border-box;width:37.5%}.layui-col-lg-offset9{margin-left:37.5%}.layui-col-lg10{float:left;display:block;position:relative;box-sizing:border-box;width:41.66666667%}.layui-col-lg-offset10{margin-left:41.66666667%}.layui-col-lg11{float:left;display:block;position:relative;box-sizing:border-box;width:45.83333333%}.layui-col-lg-offset11{margin-left:45.83333333%}.layui-col-lg12{float:left;display:block;position:relative;box-sizing:border-box;width:50%}.layui-col-lg-offset12{margin-left:50%}.layui-col-lg13{float:left;display:block;position:relative;box-sizing:border-box;width:54.16666667%}.layui-col-lg-offset13{margin-left:54.16666667%}.layui-col-lg14{float:left;display:block;position:relative;box-sizing:border-box;width:58.33333333%}.layui-col-lg-offset14{margin-left:58.33333333%}.layui-col-lg15{float:left;display:block;position:relative;box-sizing:border-box;width:62.5%}.layui-col-lg-offset15{margin-left:62.5%}.layui-col-lg16{float:left;display:block;position:relative;box-sizing:border-box;width:66.66666667%}.layui-col-lg-offset16{margin-left:66.66666667%}.layui-col-lg17{float:left;display:block;position:relative;box-sizing:border-box;width:70.83333333%}.layui-col-lg-offset17{margin-left:70.83333333%}.layui-col-lg18{float:left;display:block;position:relative;box-sizing:border-box;width:75%}.layui-col-lg-offset18{margin-left:75%}.layui-col-lg19{float:left;display:block;position:relative;box-sizing:border-box;width:79.16666667%}.layui-col-lg-offset19{margin-left:79.16666667%}.layui-col-lg20{float:left;display:block;position:relative;box-sizing:border-box;width:83.33333333%}.layui-col-lg-offset20{margin-left:83.33333333%}.layui-col-lg21{float:left;display:block;position:relative;box-sizing:border-box;width:87.5%}.layui-col-lg-offset21{margin-left:87.5%}.layui-col-lg22{float:left;display:block;position:relative;box-sizing:border-box;width:91.66666667%}.layui-col-lg-offset22{margin-left:91.66666667%}.layui-col-lg23{float:left;display:block;position:relative;box-sizing:border-box;width:95.83333333%}.layui-col-lg-offset23{margin-left:95.83333333%}.layui-col-lg24{float:left;display:block;position:relative;box-sizing:border-box;width:100%}.layui-col-lg-offset24{margin-left:100%}}\n')();
|
|
const __default__$1e = {
|
|
name: "LayRow"
|
|
};
|
|
const _sfc_main$1i = defineComponent({
|
|
...__default__$1e,
|
|
props: {
|
|
space: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const classes = computed$1(() => {
|
|
return [props.space ? `layui-col-space${props.space}` : ""];
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-row", unref(classes)])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$11 = withInstall(_sfc_main$1i);
|
|
const component$10 = withInstall(_sfc_main$1v);
|
|
var index$H = /* @__PURE__ */ (() => ".layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#ff5722;color:#fff;border-radius:var(--global-border-radius)}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;border-color:var(--global-neutral-color-3);color:#666}.layui-badge-dot-ripple>span{position:absolute;top:0;left:0;width:100%;height:100%;display:block;border-radius:50%;box-sizing:border-box;animation:layui-badge-dot-anim-ripple 1.2s ease-in-out infinite}@keyframes layui-badge-dot-anim-ripple{0%{transform:scale(.8);opacity:.6}to{transform:scale(2.4);opacity:0}}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-5px 6px 0}.layui-nav .layui-badge{margin-top:-10px}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}\n")();
|
|
const __default__$1d = {
|
|
name: "LayBadge"
|
|
};
|
|
const _sfc_main$1h = defineComponent({
|
|
...__default__$1d,
|
|
props: {
|
|
type: null,
|
|
theme: null,
|
|
color: null,
|
|
ripple: { type: Boolean }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const classes = computed$1(() => {
|
|
return [
|
|
{
|
|
"layui-badge": !props.type,
|
|
"layui-badge-dot": props.type == "dot",
|
|
"layui-badge-rim": props.type == "rim",
|
|
"layui-badge-dot-ripple": props.ripple
|
|
},
|
|
`layui-bg-${props.theme}`
|
|
];
|
|
});
|
|
const styles = computed$1(() => {
|
|
return [props.color ? `background-color: ${props.color}` : ""];
|
|
});
|
|
return (_ctx, _cache) => {
|
|
var _a2;
|
|
return openBlock(), createElementBlock("span", {
|
|
class: normalizeClass(unref(classes)),
|
|
style: normalizeStyle(unref(styles))
|
|
}, [
|
|
__props.type === "dot" ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
class: normalizeClass(props.theme ? `layui-bg-${props.theme}` : ``),
|
|
style: normalizeStyle((_a2 = unref(styles)) != null ? _a2 : `background-color: #ff5722;`)
|
|
}, null, 6)) : createCommentVNode("", true),
|
|
__props.type != "dot" ? renderSlot(_ctx.$slots, "default", { key: 1 }) : createCommentVNode("", true)
|
|
], 6);
|
|
};
|
|
}
|
|
});
|
|
const component$$ = withInstall(_sfc_main$1h);
|
|
var index$G = /* @__PURE__ */ (() => ":root{--block-default-color: var(--global-checked-color);--block-border-radius: var(--global-border-radius)}.layui-quote{padding:15px;line-height:1.6;margin-bottom:10px;border-left:5px solid var(--block-default-color);border-radius:var(--block-border-radius);background-color:var(--global-neutral-color-1)}.layui-quote-nm{border-left:5px solid #eee}\n")();
|
|
const __default__$1c = {
|
|
name: "LayQuote"
|
|
};
|
|
const _sfc_main$1g = defineComponent({
|
|
...__default__$1c,
|
|
props: {
|
|
type: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-quote", [__props.type ? `layui-quote-${props.type}` : ""]])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$_ = withInstall(_sfc_main$1g);
|
|
var index$F = /* @__PURE__ */ (() => ".layui-line-horizontal{position:relative;clear:both;width:100%;min-width:100%;max-width:100%;margin:var(--layui-line-margin) 0;border-bottom:var(--layui-line-border-width) var(--layui-line-border-style) var(--global-neutral-color-5);border-top-style:none;border-left-style:none;border-right-style:none}.layui-line-horizontal.layui-line-with-text{margin:14px 0}.layui-line-vertical{display:inline-block;min-width:1px;max-width:1px;height:1em;margin:0 var(--layui-line-margin);vertical-align:middle;border-left:var(--layui-line-border-width) var(--layui-line-border-style) var(--global-neutral-color-5);border-top-style:none;border-bottom-style:none;border-right-style:none}.layui-line-text{position:absolute;top:50%;box-sizing:border-box;padding:0 10px;color:currentColor;line-height:2;background-color:#fff;transform:translateY(-50%)}.layui-line-text-center{left:var(--layui-line-text-offset);transform:translate(-50%,-50%)}.layui-line-text-left{left:var(--layui-line-text-offset)}.layui-line-text-right{right:var(--layui-line-text-offset)}\n")();
|
|
const __default__$1b = {
|
|
name: "LayLine"
|
|
};
|
|
const _sfc_main$1f = defineComponent({
|
|
...__default__$1b,
|
|
props: {
|
|
direction: { default: "horizontal" },
|
|
contentPosition: { default: "center" },
|
|
borderWidth: { default: "1px" },
|
|
borderStyle: { default: "solid" },
|
|
offset: { default: "25px" },
|
|
theme: null,
|
|
margin: { default: "8px" }
|
|
},
|
|
setup(__props) {
|
|
var _a2;
|
|
const props = __props;
|
|
const slots = useSlots();
|
|
const lineTheme = [
|
|
"red",
|
|
"orange",
|
|
"green",
|
|
"cyan",
|
|
"blue",
|
|
"black",
|
|
"gray"
|
|
];
|
|
const isBuiltInColor = lineTheme.includes((_a2 = props.theme) != null ? _a2 : "");
|
|
const lineClass = computed$1(() => [
|
|
`layui-line-${props.direction}`,
|
|
{
|
|
[`layui-border-${props.theme}`]: isBuiltInColor,
|
|
[`layui-line-with-text`]: Boolean(slots.default)
|
|
}
|
|
]);
|
|
const lineStyle = computed$1(() => ({
|
|
"border-color": !isBuiltInColor ? props.theme : void 0,
|
|
"--layui-line-border-width": props.borderWidth,
|
|
"--layui-line-border-style": props.borderStyle,
|
|
"--layui-line-margin": props.margin
|
|
}));
|
|
const lineTextStyle = computed$1(() => ({
|
|
"--layui-line-text-offset": props.contentPosition != "center" ? props.offset : "50%",
|
|
transform: calcTranslate()
|
|
}));
|
|
function calcTranslate() {
|
|
if (props.offset.includes("%")) {
|
|
return props.contentPosition === "right" ? "translate(50%, -50%)" : "translate(-50%, -50%)";
|
|
}
|
|
return void 0;
|
|
}
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(unref(lineClass)),
|
|
style: normalizeStyle(unref(lineStyle))
|
|
}, [
|
|
_ctx.$slots.default && __props.direction === "horizontal" ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
class: normalizeClass([`layui-line-text layui-line-text-${__props.contentPosition}`]),
|
|
style: normalizeStyle(unref(lineTextStyle))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 6)) : createCommentVNode("", true)
|
|
], 6);
|
|
};
|
|
}
|
|
});
|
|
const component$Z = withInstall(_sfc_main$1f);
|
|
var index$E = /* @__PURE__ */ (() => '.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:var(--global-checked-color);border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#ff5722}.layui-timeline-item:before{content:"";position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:first-child:before{display:block}.layui-timeline-item:last-child:before{display:none}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px;line-height:22px}.layui-timeline-item:before{background-color:#eee}.layui-timeline-horizontal .layui-timeline-item{display:inline-block;width:25%;text-align:center;padding-top:10px;vertical-align:top}.layui-timeline-horizontal .layui-timeline-axis{left:47%;top:-4px}.layui-timeline-horizontal .layui-timeline-item:before{left:0px;top:5px;width:100%;height:1px}.layui-timeline-horizontal .layui-timeline-item:first-child:before{display:block}.layui-timeline-horizontal .layui-timeline-item:last-child:before{display:block}.layui-timeline-horizontal .layui-timeline-content{padding:15px}.layui-timeline-horizontal .layui-timeline-title{text-align:center;position:relative;margin-bottom:10px;line-height:22px}\n')();
|
|
const __default__$1a = {
|
|
name: "LayTimeline"
|
|
};
|
|
const _sfc_main$1e = defineComponent({
|
|
...__default__$1a,
|
|
props: {
|
|
direction: { default: "vertical" }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const timeLineClass = computed$1(() => [
|
|
"layui-timeline",
|
|
props.direction === "horizontal" ? "layui-timeline-horizontal" : ""
|
|
]);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("ul", {
|
|
class: normalizeClass(unref(timeLineClass))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$Y = withInstall(_sfc_main$1e);
|
|
const _hoisted_1$R = { class: "layui-timeline-item" };
|
|
const _hoisted_2$J = { class: "layui-icon layui-timeline-axis" };
|
|
const _hoisted_3$D = { class: "layui-timeline-content layui-text" };
|
|
const _hoisted_4$t = {
|
|
key: 0,
|
|
class: "layui-timeline-title"
|
|
};
|
|
const _hoisted_5$k = {
|
|
key: 1,
|
|
class: "layui-timeline-title"
|
|
};
|
|
const __default__$19 = {
|
|
name: "LayTimelineItem"
|
|
};
|
|
const _sfc_main$1d = defineComponent({
|
|
...__default__$19,
|
|
props: {
|
|
title: null,
|
|
simple: { type: Boolean }
|
|
},
|
|
setup(__props) {
|
|
useSlots();
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("li", _hoisted_1$R, [
|
|
createElementVNode("i", _hoisted_2$J, [
|
|
renderSlot(_ctx.$slots, "dot", {}, () => [
|
|
createTextVNode("\uE63F")
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_3$D, [
|
|
__props.simple ? (openBlock(), createElementBlock("div", _hoisted_4$t, [
|
|
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
createTextVNode(toDisplayString$1(__props.title), 1)
|
|
])
|
|
])) : (openBlock(), createElementBlock("h3", _hoisted_5$k, [
|
|
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
createTextVNode(toDisplayString$1(__props.title), 1)
|
|
])
|
|
])),
|
|
renderSlot(_ctx.$slots, "default")
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$X = withInstall(_sfc_main$1d);
|
|
var index$D = /* @__PURE__ */ (() => ":root{--textarea-border-radius: var(--global-border-radius);--textarea-border-color: var(--global-neutral-color-3)}.layui-textarea{border-width:1px;border-style:solid;background-color:#fff;color:#000000d9;border-radius:var(--textarea-border-radius);border-color:var(--textarea-border-color);display:block;width:100%;height:auto;line-height:20px;min-height:100px;padding:6px 10px;resize:vertical;position:relative}.layui-textarea-wrapper{position:relative}.layui-textarea:hover,.layui-textarea:focus{border-color:#d2d2d2!important}.layui-textarea-clear{position:absolute;color:#00000073;right:10px;top:10px}.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-texterea-count{color:inherit;white-space:nowrap;pointer-events:none;text-align:right;margin-top:4px}.layui-textarea-disabled{cursor:not-allowed!important;opacity:.6}\n")();
|
|
const _hoisted_1$Q = { class: "layui-textarea-wrapper" };
|
|
const _hoisted_2$I = ["value", "placeholder", "name", "disabled", "maxlength"];
|
|
const _hoisted_3$C = {
|
|
key: 0,
|
|
class: "layui-textarea-clear"
|
|
};
|
|
const _hoisted_4$s = {
|
|
key: 1,
|
|
class: "layui-texterea-count"
|
|
};
|
|
const __default__$18 = {
|
|
name: "LayTextarea"
|
|
};
|
|
const _sfc_main$1c = defineComponent({
|
|
...__default__$18,
|
|
props: {
|
|
name: null,
|
|
modelValue: null,
|
|
placeholder: null,
|
|
disabled: { type: Boolean },
|
|
showCount: { type: Boolean },
|
|
allowClear: { type: Boolean },
|
|
maxlength: null
|
|
},
|
|
emits: ["blur", "input", "update:modelValue", "change", "focus", "clear"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const composing = ref(false);
|
|
const onInput = function(event) {
|
|
const inputElement = event.target;
|
|
emit("input", inputElement.value);
|
|
if (composing.value) {
|
|
return;
|
|
}
|
|
emit("update:modelValue", inputElement.value);
|
|
};
|
|
const onFocus = function(event) {
|
|
emit("focus", event);
|
|
};
|
|
const onBlur = function(event) {
|
|
emit("blur", event);
|
|
};
|
|
const onChange = (event) => {
|
|
const inputElement = event.target;
|
|
emit("change", inputElement.value);
|
|
};
|
|
const onClear = function() {
|
|
emit("update:modelValue", "");
|
|
emit("clear");
|
|
};
|
|
const onCompositionstart = () => {
|
|
composing.value = true;
|
|
};
|
|
const onCompositionend = (event) => {
|
|
composing.value = false;
|
|
onInput(event);
|
|
};
|
|
const hasContent = computed$1(() => {
|
|
var _a2;
|
|
return ((_a2 = props.modelValue) == null ? void 0 : _a2.length) > 0;
|
|
});
|
|
const wordCount = computed$1(() => {
|
|
var _a2, _b;
|
|
let count = String((_b = (_a2 = props.modelValue) == null ? void 0 : _a2.length) != null ? _b : 0);
|
|
if (props.maxlength) {
|
|
count += "/" + props.maxlength;
|
|
}
|
|
return count;
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$Q, [
|
|
createElementVNode("textarea", {
|
|
class: normalizeClass(["layui-textarea", { "layui-textarea-disabled": __props.disabled }]),
|
|
value: __props.modelValue,
|
|
placeholder: __props.placeholder,
|
|
name: __props.name,
|
|
disabled: __props.disabled,
|
|
maxlength: __props.maxlength,
|
|
onCompositionstart,
|
|
onCompositionend,
|
|
onInput,
|
|
onFocus,
|
|
onChange,
|
|
onBlur
|
|
}, null, 42, _hoisted_2$I),
|
|
__props.allowClear && unref(hasContent) ? (openBlock(), createElementBlock("span", _hoisted_3$C, [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: "layui-icon-close-fill",
|
|
onClick: onClear
|
|
})
|
|
])) : createCommentVNode("", true),
|
|
__props.showCount ? (openBlock(), createElementBlock("div", _hoisted_4$s, toDisplayString$1(unref(wordCount)), 1)) : createCommentVNode("", true)
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$W = withInstall(_sfc_main$1c);
|
|
var index$C = /* @__PURE__ */ (() => ".layui-switch-container[size=lg] .layui-form-switch{height:24px;min-width:42px}.layui-switch-container[size=lg] .layui-form-switch span{width:20px;height:20px;transition:all .1s linear}.layui-switch-container[size=lg] .layui-form-switch em{margin-left:21px}.layui-switch-container[size=lg] .layui-form-onswitch span{left:calc(100% - 23px)}.layui-switch-container[size=lg] .layui-form-onswitch em{margin-right:21px;margin-left:0}.layui-switch-container[size=md] .layui-form-switch{height:22px;min-width:37px}.layui-switch-container[size=md] .layui-form-switch span{width:18px;height:18px;transition:all .1s linear}.layui-switch-container[size=md] .layui-form-switch em{margin-left:19px}.layui-switch-container[size=md] .layui-form-onswitch span{left:calc(100% - 21px)}.layui-switch-container[size=md] .layui-form-onswitch em{margin-right:19px;margin-left:0}.layui-switch-container[size=sm] .layui-form-switch{height:20px;min-width:32px}.layui-switch-container[size=sm] .layui-form-switch span{width:16px;height:16px;transition:all .1s linear}.layui-switch-container[size=sm] .layui-form-switch em{margin-left:17px}.layui-switch-container[size=sm] .layui-form-onswitch span{left:calc(100% - 19px)}.layui-switch-container[size=sm] .layui-form-onswitch em{margin-right:17px;margin-left:0}.layui-switch-container[size=xs] .layui-form-switch{height:18px;min-width:27px}.layui-switch-container[size=xs] .layui-form-switch span{width:14px;height:14px;transition:all .1s linear}.layui-switch-container[size=xs] .layui-form-switch em{margin-left:15px}.layui-switch-container[size=xs] .layui-form-onswitch span{left:calc(100% - 17px)}.layui-switch-container[size=xs] .layui-form-onswitch em{margin-right:15px;margin-left:0}.layui-switch-container .layui-switch-input{display:none}.layui-form-switch{position:relative;height:22px;line-height:22px;min-width:35px;padding:0 4px;border-radius:20px;cursor:pointer;background-color:var(--global-neutral-color-6);-webkit-transition:all .1s linear;transition:all .1s linear}.layui-form-switch span{position:absolute;display:flex;align-items:center;justify-content:center;left:3px;top:2px;width:18px;height:18px;line-height:18px;border-radius:20px;background-color:#fff;box-shadow:0 2px 4px #00230b33;-webkit-transition:all .1s linear;transition:all .1s linear}.layui-form-switch em{position:relative;padding:0 2px;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px;width:25px;top:0}.layui-form-onswitch{border-color:var(--global-checked-color);background-color:var(--global-checked-color)}.layui-form-onswitch span{background-color:#fff}.layui-form-onswitch em{color:#fff!important}.layui-switch-disabled{opacity:.6}.layui-switch-disabled,.layui-switch-disabled *{cursor:not-allowed!important}\n")();
|
|
const _hoisted_1$P = ["onClick", "size"];
|
|
const _hoisted_2$H = ["name", "value"];
|
|
const _hoisted_3$B = { key: 0 };
|
|
const __default__$17 = {
|
|
name: "LaySwitch"
|
|
};
|
|
const _sfc_main$1b = defineComponent({
|
|
...__default__$17,
|
|
props: {
|
|
name: null,
|
|
disabled: { type: Boolean, default: false },
|
|
modelValue: { type: [String, Number, Boolean] },
|
|
onswitchText: null,
|
|
unswitchText: null,
|
|
onswitchColor: null,
|
|
unswitchColor: null,
|
|
onswitchValue: { type: [String, Number, Boolean], default: true },
|
|
unswitchValue: { type: [String, Number, Boolean], default: false },
|
|
size: { default: "md" },
|
|
loadingIcon: { default: "layui-icon-loading-one" },
|
|
loading: { type: Boolean }
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const isActive = computed$1({
|
|
get() {
|
|
return props.modelValue === props.onswitchValue;
|
|
},
|
|
set(val) {
|
|
if (val) {
|
|
emit("change", props.onswitchValue);
|
|
emit("update:modelValue", props.onswitchValue);
|
|
} else {
|
|
emit("change", props.unswitchValue);
|
|
emit("update:modelValue", props.unswitchValue);
|
|
}
|
|
}
|
|
});
|
|
const handleClick = () => {
|
|
if (!props.disabled) {
|
|
isActive.value = !isActive.value;
|
|
}
|
|
};
|
|
const styles = computed$1(() => {
|
|
return {
|
|
"background-color": isActive.value ? props.onswitchColor : props.unswitchColor
|
|
};
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("span", {
|
|
onClick: withModifiers(handleClick, ["stop"]),
|
|
class: "layui-switch-container",
|
|
size: __props.size
|
|
}, [
|
|
createElementVNode("input", {
|
|
class: "layui-switch-input",
|
|
name: __props.name,
|
|
value: __props.modelValue
|
|
}, null, 8, _hoisted_2$H),
|
|
createElementVNode("div", {
|
|
class: normalizeClass(["layui-unselect layui-form-switch", {
|
|
"layui-form-onswitch": unref(isActive),
|
|
"layui-switch-disabled": __props.disabled
|
|
}]),
|
|
style: normalizeStyle(unref(styles))
|
|
}, [
|
|
__props.onswitchText || __props.unswitchText ? (openBlock(), createElementBlock("em", _hoisted_3$B, toDisplayString$1(unref(isActive) == true ? __props.onswitchText : __props.unswitchText), 1)) : createCommentVNode("", true),
|
|
createElementVNode("span", null, [
|
|
createElementVNode("div", null, [
|
|
__props.loading ? (openBlock(), createElementBlock("i", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-icon layui-anim layui-anim-rotate layui-anim-loop", __props.loadingIcon])
|
|
}, null, 2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
unref(isActive) ? renderSlot(_ctx.$slots, "onswitch-icon", { key: 0 }) : renderSlot(_ctx.$slots, "unswitch-icon", { key: 1 })
|
|
], 64))
|
|
])
|
|
])
|
|
], 6)
|
|
], 8, _hoisted_1$P);
|
|
};
|
|
}
|
|
});
|
|
const component$V = withInstall(_sfc_main$1b);
|
|
var index$B = /* @__PURE__ */ (() => ".layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:var(--global-neutral-color-1);cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{padding:10px 15px;line-height:1.6;color:#666}.layui-colla-icon{left:15px;top:0;font-size:14px;position:absolute}\n")();
|
|
const _hoisted_1$O = { class: "layui-collapse" };
|
|
const __default__$16 = {
|
|
name: "LayCollapse"
|
|
};
|
|
const _sfc_main$1a = defineComponent({
|
|
...__default__$16,
|
|
props: {
|
|
accordion: { type: Boolean, default: false },
|
|
modelValue: { default: () => [] },
|
|
collapseTransition: { type: Boolean, default: true }
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
watch(() => props.modelValue, (val) => {
|
|
activeValues.value = [].concat(val);
|
|
});
|
|
const activeValues = ref([].concat(props.modelValue));
|
|
provide("layCollapse", {
|
|
accordion: props.accordion,
|
|
collapseTransition: props.collapseTransition,
|
|
activeValues,
|
|
emit
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$O, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$U = withInstall(_sfc_main$1a);
|
|
const __default__$15 = {
|
|
name: "LayCollapseTransition"
|
|
};
|
|
const _sfc_main$19 = /* @__PURE__ */ defineComponent({
|
|
...__default__$15,
|
|
setup(__props) {
|
|
const time = inject("time");
|
|
const elTransition = `${time}s height ease-in-out, ${time}s padding-top ease-in-out, ${time}s padding-bottom ease-in-out`;
|
|
const beforeEnter = (el) => {
|
|
el.style.transition = elTransition;
|
|
if (!el.dataset)
|
|
el.dataset = {};
|
|
el.dataset.oldPaddingTop = el.style.paddingTop;
|
|
el.dataset.oldPaddingBottom = el.style.paddingBottom;
|
|
el.style.height = 0;
|
|
el.style.paddingTop = 0;
|
|
el.style.paddingBottom = 0;
|
|
};
|
|
const enter = (el) => {
|
|
el.dataset.oldOverflow = el.style.overflow;
|
|
if (el.scrollHeight !== 0) {
|
|
el.style.height = el.scrollHeight + "px";
|
|
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
} else {
|
|
el.style.height = "";
|
|
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
}
|
|
el.style.overflow = "hidden";
|
|
};
|
|
const afterEnter = (el) => {
|
|
el.style.transition = "";
|
|
el.style.height = "";
|
|
el.style.overflow = el.dataset.oldOverflow;
|
|
};
|
|
const beforeLeave = (el) => {
|
|
if (!el.dataset)
|
|
el.dataset = {};
|
|
el.dataset.oldPaddingTop = el.style.paddingTop;
|
|
el.dataset.oldPaddingBottom = el.style.paddingBottom;
|
|
el.dataset.oldOverflow = el.style.overflow;
|
|
var computedStyle = getComputedStyle(el, null);
|
|
el.style.height = el.scrollHeight - parseInt(computedStyle.paddingTop) - parseInt(computedStyle.paddingBottom) + "px";
|
|
el.style.overflow = "hidden";
|
|
};
|
|
const leave = (el) => {
|
|
if (el.scrollHeight !== 0) {
|
|
el.style.transition = elTransition;
|
|
el.style.height = 0;
|
|
el.style.paddingTop = 0;
|
|
el.style.paddingBottom = 0;
|
|
}
|
|
};
|
|
const afterLeave = (el) => {
|
|
el.style.transition = "";
|
|
el.style.height = "";
|
|
el.style.overflow = el.dataset.oldOverflow;
|
|
el.style.paddingTop = el.dataset.oldPaddingTop;
|
|
el.style.paddingBottom = el.dataset.oldPaddingBottom;
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createBlock(Transition, {
|
|
onBeforeEnter: beforeEnter,
|
|
onEnter: enter,
|
|
onAfterEnter: afterEnter,
|
|
onBeforeLeave: beforeLeave,
|
|
onLeave: leave,
|
|
onAfterLeave: afterLeave
|
|
}, {
|
|
default: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]),
|
|
_: 3
|
|
});
|
|
};
|
|
}
|
|
});
|
|
var fadeTransition_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => ".fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-to,.fade-leave-from{opacity:1}.fade-enter-active,.fade-leave-active{transition:var(--7470bb1c)}\n")();
|
|
const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
__name: "fadeTransition",
|
|
setup(__props) {
|
|
useCssVars((_ctx) => ({
|
|
"7470bb1c": transition.value
|
|
}));
|
|
const time = inject("time");
|
|
const transition = ref(`opacity ${time}s ease`);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createBlock(Transition, { name: "fade" }, {
|
|
default: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]),
|
|
_: 3
|
|
});
|
|
};
|
|
}
|
|
});
|
|
const __default__$14 = {
|
|
name: "LayTransition"
|
|
};
|
|
const _sfc_main$17 = defineComponent({
|
|
...__default__$14,
|
|
props: {
|
|
type: { default: "collapse" },
|
|
enable: { type: Boolean, default: true },
|
|
time: { default: 0.3 }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
provide("time", props.time);
|
|
return (_ctx, _cache) => {
|
|
return __props.enable ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
__props.type === "collapse" ? (openBlock(), createBlock(_sfc_main$19, { key: 0 }, {
|
|
default: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]),
|
|
_: 3
|
|
})) : createCommentVNode("", true),
|
|
__props.type === "fade" ? (openBlock(), createBlock(_sfc_main$18, { key: 1 }, {
|
|
default: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]),
|
|
_: 3
|
|
})) : createCommentVNode("", true)
|
|
], 64)) : renderSlot(_ctx.$slots, "default", { key: 1 });
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$N = { class: "layui-colla-item" };
|
|
const _hoisted_2$G = { key: 0 };
|
|
const _hoisted_3$A = { class: "layui-colla-content" };
|
|
const __default__$13 = {
|
|
name: "LayCollapseItem"
|
|
};
|
|
const _sfc_main$16 = defineComponent({
|
|
...__default__$13,
|
|
props: {
|
|
id: null,
|
|
title: null,
|
|
disabled: { type: Boolean, default: false }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const { accordion, activeValues, emit, collapseTransition } = inject("layCollapse");
|
|
let isShow = computed$1(() => {
|
|
return activeValues.value.includes(props.id);
|
|
});
|
|
const showHandle = function() {
|
|
if (props.disabled) {
|
|
return;
|
|
}
|
|
const _isShow = isShow.value;
|
|
if (accordion) {
|
|
activeValues.value = !_isShow ? [props.id] : [];
|
|
} else if (_isShow) {
|
|
activeValues.value.splice(activeValues.value.indexOf(props.id), 1);
|
|
} else {
|
|
activeValues.value.push(props.id);
|
|
}
|
|
emit("update:modelValue", accordion ? activeValues.value[0] || null : activeValues.value);
|
|
emit("change", props.id, !_isShow, activeValues.value);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$N, [
|
|
createElementVNode("h2", {
|
|
class: normalizeClass(["layui-colla-title", { "layui-disabled": __props.disabled }]),
|
|
onClick: showHandle
|
|
}, [
|
|
renderSlot(_ctx.$slots, "title", { props }, () => [
|
|
createTextVNode(toDisplayString$1(__props.title), 1)
|
|
]),
|
|
createElementVNode("i", {
|
|
class: "layui-icon layui-colla-icon layui-icon-right",
|
|
style: normalizeStyle({
|
|
transform: unref(isShow) ? "rotate(90deg)" : "none",
|
|
transition: unref(collapseTransition) ? "all 0.2s ease 0s" : ""
|
|
})
|
|
}, null, 4)
|
|
], 2),
|
|
createVNode(_sfc_main$17, { enable: unref(collapseTransition) }, {
|
|
default: withCtx(() => [
|
|
unref(isShow) ? (openBlock(), createElementBlock("div", _hoisted_2$G, [
|
|
createElementVNode("div", _hoisted_3$A, [
|
|
createElementVNode("p", null, [
|
|
renderSlot(_ctx.$slots, "default", { props })
|
|
])
|
|
])
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
_: 3
|
|
}, 8, ["enable"])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$T = withInstall(_sfc_main$16);
|
|
var index$A = /* @__PURE__ */ (() => ".layui-container{position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}\n")();
|
|
const __default__$12 = {
|
|
name: "LayContainer"
|
|
};
|
|
const _sfc_main$15 = defineComponent({
|
|
...__default__$12,
|
|
props: {
|
|
fluid: { default: false }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const classes = computed$1(() => props.fluid ? "layui-fluid" : "layui-container");
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(unref(classes))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$S = withInstall(_sfc_main$15);
|
|
const __default__$11 = {
|
|
name: "LayCountUp"
|
|
};
|
|
const _sfc_main$14 = defineComponent({
|
|
...__default__$11,
|
|
props: {
|
|
startVal: { default: 0 },
|
|
endVal: { default: 0 },
|
|
decimal: { default: "." },
|
|
decimalPlaces: { default: 0 },
|
|
useGrouping: { type: Boolean, default: true },
|
|
separator: { default: "," },
|
|
autoplay: { type: Boolean, default: true },
|
|
useEasing: { type: Boolean, default: true },
|
|
easingFn: { default: TransitionPresets.easeInOutCubic },
|
|
duration: { default: 2e3 },
|
|
prefix: { default: "" },
|
|
suffix: { default: "" }
|
|
},
|
|
setup(__props, { expose }) {
|
|
const props = __props;
|
|
let localStartVal = ref(props.startVal);
|
|
const isNumber2 = (val) => !isNaN(parseFloat(val));
|
|
const formatNumber = (num) => {
|
|
if (typeof num != "number")
|
|
return "0";
|
|
num = num.toFixed(props.decimalPlaces);
|
|
num += "";
|
|
const x = num.split(".");
|
|
let x1 = x[0];
|
|
const x2 = x.length > 1 ? props.decimal + x[1] : "";
|
|
const rgx = /(\d+)(\d{3})/;
|
|
if (props.useGrouping && props.separator && !isNumber2(props.separator)) {
|
|
while (rgx.test(x1)) {
|
|
x1 = x1.replace(rgx, "$1" + props.separator + "$2");
|
|
}
|
|
}
|
|
return props.prefix + x1 + x2 + props.suffix;
|
|
};
|
|
const printVal = useTransition(localStartVal, {
|
|
delay: 0,
|
|
duration: props.duration,
|
|
disabled: !props.useEasing,
|
|
transition: typeof props.easingFn === "string" ? TransitionPresets[props.easingFn] : props.easingFn
|
|
});
|
|
const displayValue = computed$1(() => formatNumber(printVal.value));
|
|
const start = function() {
|
|
localStartVal.value = props.endVal;
|
|
};
|
|
watch(() => props.endVal, () => {
|
|
if (props.autoplay) {
|
|
localStartVal.value = props.endVal;
|
|
}
|
|
});
|
|
onMounted(() => {
|
|
if (props.autoplay) {
|
|
start();
|
|
}
|
|
});
|
|
expose({
|
|
start
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
renderSlot(_ctx.$slots, "prefix"),
|
|
createElementVNode("span", null, toDisplayString$1(unref(displayValue)), 1),
|
|
renderSlot(_ctx.$slots, "suffix")
|
|
], 64);
|
|
};
|
|
}
|
|
});
|
|
const component$R = withInstall(_sfc_main$14);
|
|
const LevelInjectionKey = Symbol("menuLevelKey");
|
|
function provideLevel(level) {
|
|
const computedLevel = computed$1(() => isRef(level) ? level.value : level);
|
|
provide(LevelInjectionKey, reactive({
|
|
level: computedLevel
|
|
}));
|
|
}
|
|
function useLevel(props) {
|
|
const { provideNextLevel } = props || {};
|
|
const levelContext = inject(LevelInjectionKey);
|
|
const level = computed$1(() => levelContext.level || 1);
|
|
if (provideNextLevel) {
|
|
const nextLevel = computed$1(() => level.value + 1);
|
|
provideLevel(nextLevel);
|
|
}
|
|
return {
|
|
level
|
|
};
|
|
}
|
|
var index$z = /* @__PURE__ */ (() => '.layui-dropdown{position:relative;display:inline-block}.layui-dropdown-content{position:absolute;z-index:99999;background-color:#fff;box-sizing:border-box;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px #0000001a}.layui-dropdown-content>.layui-dropdown-menu{border-radius:var(--global-border-radius);margin:5px 0}.layui-dropdown-content .layui-menu{position:relative;background-color:#fff}.layui-dropdown-content .layui-menu li,.layui-dropdown-content .layui-menu-body-title a{padding:5px 15px}.layui-dropdown-content .layui-menu li{position:relative;display:flex;margin:1px 0;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;cursor:pointer}.layui-dropdown-content .layui-menu li:hover{background-color:var(--global-neutral-color-2)}.layui-dropdown-content .layui-menu-body-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-dropdown-menu-prefix{margin-right:8px}.layui-dropdown-menu-suffix{margin-left:15px}.layui-dropdown-content .layui-menu li.layui-disabled:hover{background-color:inherit}.layui-popper{position:fixed;padding:10px;border-radius:3px;word-wrap:break-word;min-width:12px;min-height:12px;font-size:14px;box-sizing:border-box;box-shadow:0 2px 12px #00000026;background-color:#fff;color:#3a3a3a;border:1px solid #cecece;max-width:300px;z-index:99999}.layui-popper[position=top]{margin-bottom:6px}.layui-popper[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#cecece}.layui-popper[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#fff}.layui-popper[position=bottom]{margin-top:6px}.layui-popper[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#cecece}.layui-popper[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#fff}.layui-popper[position=right]{margin-left:6px}.layui-popper[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#cecece}.layui-popper[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#fff}.layui-popper[position=left]{margin-right:6px}.layui-popper[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#cecece}.layui-popper[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#fff}.layui-popper[position=top] .layui-popper-arrow,.layui-popper[position=bottom] .layui-popper-arrow{left:-moz-calc(44%);left:-webkit-calc(44%);left:calc(50% - 6px)}.layui-popper[position=left] .layui-popper-arrow,.layui-popper[position=right] .layui-popper-arrow{top:-moz-calc(44%);top:-webkit-calc(44%);top:calc(50% - 6px)}.layui-popper:after{content:" ";position:absolute;display:block}.layui-popper[position=top]:after{bottom:-7px;left:0;width:100%;height:7px}.layui-popper[position=bottom]:after{top:-7px;left:0;width:100%;height:7px}.layui-popper[position=left]:after{right:-7px;bottom:0;height:100%;width:7px}.layui-popper[position=right]:after{left:-7px;bottom:0;height:100%;width:7px}.layui-popper .layui-popper-arrow,.layui-popper .layui-popper-arrow:after{position:absolute;display:block;width:0;height:0;border-width:6px;border-style:solid;border-color:transparent}.layui-popper .layui-popper-arrow:after{content:" "}.layui-popper.layui-dark{background-color:#353535;color:#fff;border:1px solid #353535}.layui-popper.layui-dark[position=top]{margin-bottom:6px}.layui-popper.layui-dark[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#353535}.layui-popper.layui-dark[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#353535}.layui-popper.layui-dark[position=bottom]{margin-top:6px}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#353535}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#353535}.layui-popper.layui-dark[position=right]{margin-left:6px}.layui-popper.layui-dark[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#353535}.layui-popper.layui-dark[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#353535}.layui-popper.layui-dark[position=left]{margin-right:6px}.layui-popper.layui-dark[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#353535}.layui-popper.layui-dark[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#353535}.layui-nav .layui-show.layui-anim-upbit .layui-show.layui-anim-upbit{top:0px;left:calc(100% + 5px)}.layui-nav .layui-show.layui-anim-upbit .left-nav.layui-show.layui-anim-upbit,.layui-nav .layui-show.layui-anim-upbit .left-nav .layui-show.layui-anim-upbit{top:0px;left:calc(-100% - 20px)}.layui-nav .layui-show.layui-anim-upbit .layui-nav-item{height:40px;display:block;line-height:40px}.layui-nav .layui-show.layui-anim-upbit .layui-nav-item.layui-this{background-color:#f5f5f5}.layui-nav .layui-show.layui-anim-upbit .layui-nav-item.layui-this:after{display:none}.layui-nav{position:relative;padding:0 20px;background-color:#393d49;color:#fff;border-radius:2px;font-size:0}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item>a{display:block;padding:0 30px}.layui-nav .layui-nav-item>a *{color:#ffffffb3}.layui-nav .layui-nav-item.layui-this>a *{color:#fff}.layui-nav .layui-this:after,.layui-nav-bar{content:"";position:absolute;left:0;top:0;width:0;height:3px;background-color:var(--global-checked-color);transition:all .2s;-webkit-transition:all .2s;pointer-events:none}.layui-nav-bar{z-index:1000}.layui-nav[lay-bar=disabled] .layui-nav-bar{display:none}.layui-nav .layui-this:after{top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:5px;border-radius:50%}.layui-nav .layui-nav-more{position:absolute;top:0;right:8px;left:auto!important;margin-top:0;font-size:12.5px!important;cursor:pointer;transition:all .2s;-webkit-transition:all .2s}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{transform:rotate(180deg)}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px #0000001f;border:1px solid #eee;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap}.layui-nav .layui-nav-child a{color:#666;color:#000c}.layui-nav .layui-nav-child a:hover{background-color:#f6f6f6;color:#000c}.layui-nav-child dd{margin:1px 0;position:relative}.layui-nav-child dd.layui-this{background-color:#f6f6f6;color:#000}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-child-r{left:auto;right:0}.layui-nav-child-c{text-align:center}.layui-nav.layui-nav-collapse{width:60px}.layui-nav.layui-nav-collapse span{display:none}.layui-nav.layui-nav-collapse .layui-nav-item>a{text-overflow:clip}.layui-nav.layui-nav-collapse .layui-nav-more{display:none}.layui-nav-tree{padding:0;width:200px;transition:all .3s}.layui-nav-tree .layui-nav-item{width:100%;display:block;box-sizing:border-box;line-height:42px}.layui-nav-tree .layui-nav-item>a{height:40px;line-height:40px;position:relative;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;padding:5px 23px}.layui-nav-tree .layui-nav-item *{color:#ffffffb3}.layui-nav-tree .layui-nav-more{right:15px}.layui-nav-tree .layui-nav-item>a .layui-nav-more{padding:5px 0}.layui-nav-tree .layui-nav-item span{margin-left:3px}.layui-nav-tree .layui-nav-bar{width:5px;height:0;background-color:var(--global-primary-color)}.layui-nav-tree .layui-this,.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-this>a:hover{background-color:var(--global-primary-color);color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-child{top:0;z-index:0;border:none;box-shadow:none;position:relative}.layui-nav-tree .layui-nav-child dd{margin:0}.layui-nav-tree .layui-nav-child a{color:#fff;color:#ffffffb3}.layui-nav-tree .layui-nav-child,.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-tree .layui-nav-child{display:block;background-color:#0003}.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-nav-light{background-color:#fff}.layui-nav-light *{color:gray!important}.layui-nav-light .layui-nav-child{background-color:#00000005}.layui-nav-tree{padding-top:5px;padding-bottom:5px}.layui-nav-tree .layui-this *{color:#fff!important}.layui-nav-tree.inverted .layui-this,.layui-nav-tree.inverted .layui-this:hover{border-radius:var(--global-border-radius);margin:0 6px;width:auto}.layui-nav-tree.inverted .layui-this>a,.layui-nav-tree.inverted .layui-this:hover>a{border-radius:var(--global-border-radius)}.layui-nav-tree.inverted .layui-this>a{padding:5px 17px}.layui-nav-tree.not-level .layui-nav-child{background-color:transparent}.layui-sub-menu-popup-content{border:unset;border-radius:2px;background-color:#393d49}.layui-sub-menu-popup-content .layui-nav-item{width:100%}.layui-sub-menu-popup-content .layui-nav-item *{color:#ffffffb3}.layui-sub-menu-popup-content .layui-nav-item>a{display:flex;align-items:center;text-overflow:ellipsis;padding:5px 15px;font-size:13.5px;min-height:30px;min-width:60px}.layui-sub-menu-popup-content .layui-nav-item>a .layui-sub-menu-icon{margin-top:2px;margin-right:8px}.layui-sub-menu-popup-content .layui-nav-item>a .layui-sub-menu-icon .layui-icon{font-size:14px}.layui-sub-menu-popup-content .layui-nav-item span{display:inline-block;margin-left:0}.layui-sub-menu-popup-content .layui-nav-item .layui-nav-more{position:relative;display:inline-block;font-size:12.5px!important;margin-top:0;margin-left:25px;padding:0;right:-8px}.layui-sub-menu-popup-content .layui-nav-item .layui-nav-more .layui-icon{font-size:14px}.layui-sub-menu-popup-content .layui-this{background-color:var(--global-primary-color)}.layui-sub-menu-popup-content .layui-dropdown{display:block;width:-moz-available;width:-webkit-fill-available;width:fill-available;width:100%}.layui-sub-menu-popup-theme-light{background-color:#fff}.layui-sub-menu-popup-theme-light .layui-this *{color:#f5f5f5!important}.layui-sub-menu-popup-theme-light .layui-nav-item *{color:gray}\n')();
|
|
const __default__$10 = {
|
|
name: "LayMenu"
|
|
};
|
|
const _sfc_main$13 = defineComponent({
|
|
...__default__$10,
|
|
props: {
|
|
selectedKey: { default: "" },
|
|
openKeys: { default: () => [] },
|
|
tree: { type: Boolean, default: false },
|
|
theme: { default: "dark" },
|
|
inverted: { type: [Boolean, String], default: false },
|
|
level: { type: [Boolean, String], default: true },
|
|
collapse: { type: [Boolean, String], default: false },
|
|
collapseTransition: { type: [Boolean, String], default: true },
|
|
indent: { type: [Boolean, String], default: false }
|
|
},
|
|
emits: [
|
|
"update:selectedKey",
|
|
"update:openKeys",
|
|
"changeSelectedKey",
|
|
"changeOpenKeys"
|
|
],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const isTree = computed$1(() => props.tree);
|
|
const isCollapse = computed$1(() => props.collapse);
|
|
const isCollapseTransition = computed$1(() => props.collapseTransition);
|
|
const oldOpenKeys = ref(props.openKeys);
|
|
const menuTheme = computed$1(() => props.theme);
|
|
const openKeys = computed$1({
|
|
get() {
|
|
return props.collapse ? [] : props.openKeys;
|
|
},
|
|
set(val) {
|
|
emit("update:openKeys", val);
|
|
emit("changeOpenKeys", val);
|
|
}
|
|
});
|
|
const selectedKey = computed$1({
|
|
get() {
|
|
return props.selectedKey;
|
|
},
|
|
set(val) {
|
|
emit("update:selectedKey", val);
|
|
emit("changeSelectedKey", val);
|
|
}
|
|
});
|
|
const indent = computed$1(() => {
|
|
return props.indent;
|
|
});
|
|
watch(() => props.collapse, () => {
|
|
if (props.collapse) {
|
|
oldOpenKeys.value = props.openKeys;
|
|
openKeys.value = [];
|
|
} else {
|
|
openKeys.value = oldOpenKeys.value;
|
|
}
|
|
});
|
|
provideLevel(1);
|
|
provide("isTree", isTree);
|
|
provide("selectedKey", selectedKey);
|
|
provide("openKeys", openKeys);
|
|
provide("isCollapse", isCollapse);
|
|
provide("isCollapseTransition", isCollapseTransition);
|
|
provide("menuTheme", menuTheme);
|
|
provide("indent", indent);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("ul", {
|
|
class: normalizeClass(["layui-nav", [
|
|
__props.level ? "" : "not-level",
|
|
__props.inverted ? "inverted" : "",
|
|
__props.tree ? "layui-nav-tree" : "",
|
|
__props.theme === "dark" ? "layui-nav-dark" : "layui-nav-light",
|
|
__props.collapse ? "layui-nav-collapse" : ""
|
|
]])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$Q = withInstall(_sfc_main$13);
|
|
function indentHandle(obj) {
|
|
const { indent, level, basePadding = 0, isTree } = obj;
|
|
const least = level - 1;
|
|
if (isTree && indent && least > 0) {
|
|
const px = typeof indent === "boolean" ? `${basePadding + 10 * least}px` : indent.replace(/\d+/g, (s) => (basePadding + least * +s).toString());
|
|
return `padding-left: ${px}`;
|
|
}
|
|
return "";
|
|
}
|
|
var index$y = /* @__PURE__ */ (() => ".lay-tooltip-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}\n")();
|
|
var index$x = /* @__PURE__ */ (() => '.layui-popper{position:fixed;padding:10px;border-radius:3px;word-wrap:break-word;min-width:12px;min-height:12px;font-size:14px;box-sizing:border-box;box-shadow:0 2px 12px #00000026;background-color:#fff;color:#3a3a3a;border:1px solid #cecece;max-width:300px;z-index:99999}.layui-popper[position=top]{margin-bottom:6px}.layui-popper[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#cecece}.layui-popper[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#fff}.layui-popper[position=bottom]{margin-top:6px}.layui-popper[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#cecece}.layui-popper[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#fff}.layui-popper[position=right]{margin-left:6px}.layui-popper[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#cecece}.layui-popper[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#fff}.layui-popper[position=left]{margin-right:6px}.layui-popper[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#cecece}.layui-popper[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#fff}.layui-popper[position=top] .layui-popper-arrow,.layui-popper[position=bottom] .layui-popper-arrow{left:-moz-calc(44%);left:-webkit-calc(44%);left:calc(50% - 6px)}.layui-popper[position=left] .layui-popper-arrow,.layui-popper[position=right] .layui-popper-arrow{top:-moz-calc(44%);top:-webkit-calc(44%);top:calc(50% - 6px)}.layui-popper:after{content:" ";position:absolute;display:block}.layui-popper[position=top]:after{bottom:-7px;left:0;width:100%;height:7px}.layui-popper[position=bottom]:after{top:-7px;left:0;width:100%;height:7px}.layui-popper[position=left]:after{right:-7px;bottom:0;height:100%;width:7px}.layui-popper[position=right]:after{left:-7px;bottom:0;height:100%;width:7px}.layui-popper .layui-popper-arrow,.layui-popper .layui-popper-arrow:after{position:absolute;display:block;width:0;height:0;border-width:6px;border-style:solid;border-color:transparent}.layui-popper .layui-popper-arrow:after{content:" "}.layui-popper.layui-dark{background-color:#353535;color:#fff;border:1px solid #353535}.layui-popper.layui-dark[position=top]{margin-bottom:6px}.layui-popper.layui-dark[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#353535}.layui-popper.layui-dark[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#353535}.layui-popper.layui-dark[position=bottom]{margin-top:6px}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#353535}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#353535}.layui-popper.layui-dark[position=right]{margin-left:6px}.layui-popper.layui-dark[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#353535}.layui-popper.layui-dark[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#353535}.layui-popper.layui-dark[position=left]{margin-right:6px}.layui-popper.layui-dark[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#353535}.layui-popper.layui-dark[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#353535}\n')();
|
|
const postionFns = {
|
|
top(el, popper, innnerPosition, called) {
|
|
let { top, left, bottom } = el.getBoundingClientRect();
|
|
if ((top = top - popper.offsetHeight - 6) < 0 && bottom > popper.offsetHeight) {
|
|
innnerPosition.value = "bottom";
|
|
top = bottom;
|
|
} else {
|
|
innnerPosition.value = "top";
|
|
}
|
|
return {
|
|
top: `${top}px`,
|
|
left: `${left - (popper.offsetWidth - el.offsetWidth) / 2}px`
|
|
};
|
|
},
|
|
bottom(el, popper, innnerPosition, called) {
|
|
let { top, left, bottom } = el.getBoundingClientRect();
|
|
if (window.innerHeight - bottom < popper.offsetHeight + 6) {
|
|
innnerPosition.value = "top";
|
|
bottom = top - popper.offsetHeight - 6;
|
|
} else {
|
|
innnerPosition.value = "bottom";
|
|
}
|
|
return {
|
|
top: `${bottom}px`,
|
|
left: `${left - (popper.offsetWidth - el.offsetWidth) / 2}px`
|
|
};
|
|
},
|
|
left(el, popper, innnerPosition, called) {
|
|
let { top, left, right } = el.getBoundingClientRect();
|
|
left = left - popper.offsetWidth - 6;
|
|
if (left < 0) {
|
|
innnerPosition.value = "right";
|
|
left = right;
|
|
} else {
|
|
innnerPosition.value = "left";
|
|
}
|
|
return {
|
|
top: `${top - (popper.offsetHeight - el.offsetHeight) / 2}px`,
|
|
left: `${left}px`
|
|
};
|
|
},
|
|
right(el, popper, innnerPosition, called) {
|
|
let { top, left, right } = el.getBoundingClientRect();
|
|
if (window.innerWidth < right + popper.offsetWidth + 6) {
|
|
innnerPosition.value = "left";
|
|
right = left - popper.offsetWidth - 6;
|
|
} else {
|
|
innnerPosition.value = "right";
|
|
}
|
|
return {
|
|
top: `${top - (popper.offsetHeight - el.offsetHeight) / 2}px`,
|
|
left: `${right}px`
|
|
};
|
|
}
|
|
};
|
|
const _hoisted_1$M = ["position"];
|
|
const _hoisted_2$F = /* @__PURE__ */ createElementVNode("div", { class: "layui-popper-arrow" }, null, -1);
|
|
const NAME = "LayPopper";
|
|
const __default__$$ = {
|
|
name: NAME
|
|
};
|
|
const _sfc_main$12 = defineComponent({
|
|
...__default__$$,
|
|
props: {
|
|
el: null,
|
|
position: { default: "top" },
|
|
enterable: { type: Boolean, default: true },
|
|
isDark: { type: Boolean, default: true },
|
|
disabled: { type: Boolean, default: false },
|
|
isCanHide: { type: Boolean, default: true },
|
|
isAutoShow: { type: Boolean, default: false },
|
|
visible: { type: Boolean, default: false },
|
|
content: null,
|
|
trigger: { default: "hover" },
|
|
popperClass: null,
|
|
popperStyle: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
useSlots();
|
|
const style = ref({ top: -window.innerHeight + "px", left: 0 });
|
|
const triggerRefEl = toRef(props, "el");
|
|
const popperRefEl = shallowRef({});
|
|
const innnerPosition = ref(props.position);
|
|
const innerVisible = ref(props.visible);
|
|
const isExist3 = ref(props.visible);
|
|
let scrollElements;
|
|
const triggerMethods = computed$1(() => [].concat(props.trigger));
|
|
const doShow = function() {
|
|
if (!props.disabled) {
|
|
if (!isExist3.value) {
|
|
isExist3.value = true;
|
|
nextTick(() => {
|
|
innerVisible.value = true;
|
|
});
|
|
} else {
|
|
innerVisible.value = true;
|
|
}
|
|
}
|
|
};
|
|
const doHidden = function(e) {
|
|
if (props.isCanHide === false) {
|
|
return;
|
|
}
|
|
innerVisible.value = false;
|
|
innnerPosition.value = props.position;
|
|
style.value = { top: -window.innerHeight + "px", left: 0 };
|
|
};
|
|
const calcPosistion = function() {
|
|
postionFns[props.position] && (style.value = postionFns[props.position](triggerRefEl.value, popperRefEl.value, innnerPosition));
|
|
};
|
|
const updatePosistion = function() {
|
|
if (innerVisible.value) {
|
|
popperRefEl.value.offsetWidth === 0 ? nextTick(() => calcPosistion()) : calcPosistion();
|
|
nextTick(() => {
|
|
calcPosistion();
|
|
});
|
|
}
|
|
};
|
|
const handlerPopperMouseEnter = function() {
|
|
if (triggerMethods.value.includes("hover") && props.enterable) {
|
|
doShow();
|
|
}
|
|
};
|
|
const handlerPopperMouseLeave = function() {
|
|
if (triggerMethods.value.includes("hover") && props.enterable) {
|
|
doHidden();
|
|
}
|
|
};
|
|
const handlerTriggerClick = function() {
|
|
if (!triggerMethods.value.includes("click"))
|
|
return;
|
|
if (innerVisible.value) {
|
|
doHidden();
|
|
} else {
|
|
doShow();
|
|
}
|
|
};
|
|
const handleTriggerContextMenu = function(e) {
|
|
if (!triggerMethods.value.includes("contextMenu"))
|
|
return;
|
|
e.preventDefault();
|
|
if (innerVisible.value) {
|
|
doHidden();
|
|
} else {
|
|
doShow();
|
|
}
|
|
};
|
|
const handlerTriggerMouseEnter = function() {
|
|
if (!triggerMethods.value.includes("hover"))
|
|
return;
|
|
doShow();
|
|
};
|
|
const handlerTriggerMouseLeave = function() {
|
|
if (!triggerMethods.value.includes("hover"))
|
|
return;
|
|
doHidden();
|
|
};
|
|
const handleTriggerFocusin = function() {
|
|
if (triggerMethods.value.includes("focus") && props.enterable) {
|
|
doShow();
|
|
}
|
|
};
|
|
const handleTriggerFocusout = function() {
|
|
if (triggerMethods.value.includes("focus") && props.enterable) {
|
|
doHidden();
|
|
}
|
|
};
|
|
const handlerTriggerEventRegist = function() {
|
|
useEventListener(triggerRefEl.value, "click", handlerTriggerClick);
|
|
useEventListener(triggerRefEl.value, "contextmenu", handleTriggerContextMenu);
|
|
useEventListener(triggerRefEl.value, "mouseenter", handlerTriggerMouseEnter);
|
|
useEventListener(triggerRefEl.value, "mouseleave", handlerTriggerMouseLeave);
|
|
useEventListener(triggerRefEl.value, "focusin", handleTriggerFocusin);
|
|
useEventListener(triggerRefEl.value, "focusout", handleTriggerFocusout);
|
|
};
|
|
const handleScroll = useThrottleFn(() => {
|
|
if (innerVisible.value) {
|
|
updatePosistion();
|
|
}
|
|
}, 15);
|
|
onClickOutside(triggerRefEl.value, (e) => {
|
|
if (!innerVisible.value || triggerRefEl.value.contains(e.target) || popperRefEl.value.contains(e.target)) {
|
|
return;
|
|
}
|
|
doHidden();
|
|
}, {
|
|
ignore: [popperRefEl.value]
|
|
});
|
|
useResizeObserver(triggerRefEl, () => {
|
|
updatePosistion();
|
|
});
|
|
let popperObserver = void 0;
|
|
watch(innerVisible, (isShow) => {
|
|
updatePosistion();
|
|
if (isShow) {
|
|
popperObserver = useResizeObserver(popperRefEl, () => {
|
|
updatePosistion();
|
|
});
|
|
} else {
|
|
popperObserver && popperObserver.stop();
|
|
}
|
|
});
|
|
watch(() => props.visible, (isShow) => isShow ? doShow() : doHidden());
|
|
watch(() => props.content, () => {
|
|
updatePosistion();
|
|
});
|
|
const isScrollElement2 = function(element) {
|
|
return element.scrollHeight > element.offsetHeight || element.scrollWidth > element.offsetWidth;
|
|
};
|
|
const getScrollElements2 = function(container) {
|
|
var _a2;
|
|
const scrollElements2 = [];
|
|
let element = container;
|
|
while (element && element !== document.documentElement) {
|
|
if (isScrollElement2(element)) {
|
|
scrollElements2.push(element);
|
|
}
|
|
element = (_a2 = element.parentElement) != null ? _a2 : void 0;
|
|
}
|
|
return scrollElements2;
|
|
};
|
|
onMounted(() => {
|
|
updatePosistion();
|
|
scrollElements = getScrollElements2(triggerRefEl.value);
|
|
for (const item of scrollElements) {
|
|
useEventListener(item, "scroll", handleScroll);
|
|
}
|
|
useEventListener("resize", handleScroll);
|
|
handlerTriggerEventRegist();
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return isExist3.value ? (openBlock(), createBlock(Teleport, {
|
|
key: 0,
|
|
to: "body"
|
|
}, [
|
|
withDirectives(createVNode(Transition, null, {
|
|
default: withCtx(() => {
|
|
var _a2;
|
|
return [
|
|
createElementVNode("div", {
|
|
ref_key: "popperRefEl",
|
|
ref: popperRefEl,
|
|
class: normalizeClass(["layui-popper", { "layui-dark": __props.isDark }, props.popperClass]),
|
|
style: normalizeStyle([style.value, (_a2 = props.popperStyle) != null ? _a2 : ""]),
|
|
position: innnerPosition.value,
|
|
onMouseenter: handlerPopperMouseEnter,
|
|
onMouseleave: handlerPopperMouseLeave
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
createTextVNode(toDisplayString$1(__props.content), 1)
|
|
]),
|
|
_hoisted_2$F
|
|
], 46, _hoisted_1$M)
|
|
];
|
|
}),
|
|
_: 3
|
|
}, 512), [
|
|
[vShow, innerVisible.value]
|
|
])
|
|
])) : createCommentVNode("", true);
|
|
};
|
|
}
|
|
});
|
|
const __default__$_ = {
|
|
name: "LayTooltip",
|
|
inheritAttrs: false
|
|
};
|
|
const _sfc_main$11 = defineComponent({
|
|
...__default__$_,
|
|
props: {
|
|
content: {
|
|
type: [Number, String],
|
|
required: false
|
|
},
|
|
position: {
|
|
type: String,
|
|
default: "top"
|
|
},
|
|
isDark: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
disabled: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
isCanHide: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
isAutoShow: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
visible: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
trigger: {
|
|
type: String,
|
|
default: "hover"
|
|
},
|
|
enterable: {
|
|
type: Boolean,
|
|
default: true
|
|
},
|
|
popperClass: {
|
|
type: [String, Array, Object]
|
|
},
|
|
popperStyle: {
|
|
type: [String, Object]
|
|
}
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const vm = getCurrentInstance();
|
|
const isMounted = ref(false);
|
|
const tooltipRefEl = shallowRef(void 0);
|
|
const innerProps = computed$1(() => {
|
|
return { el: vm.proxy.$el.nextElementSibling, ...vm.proxy.$props };
|
|
});
|
|
const setEllipsis = function() {
|
|
var _a2;
|
|
if (tooltipRefEl.value) {
|
|
let tooltipHtml = tooltipRefEl.value;
|
|
if (tooltipHtml.offsetWidth >= ((_a2 = tooltipHtml.firstChild) == null ? void 0 : _a2.offsetWidth)) {
|
|
isMounted.value = false;
|
|
} else {
|
|
isMounted.value = true;
|
|
}
|
|
} else {
|
|
isMounted.value = true;
|
|
}
|
|
};
|
|
onMounted(() => {
|
|
if (props.isAutoShow) {
|
|
useEventListener("resize", () => {
|
|
setEllipsis();
|
|
});
|
|
}
|
|
nextTick(() => {
|
|
setEllipsis();
|
|
});
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
__props.isAutoShow ? (openBlock(), createElementBlock("div", {
|
|
key: 0,
|
|
ref_key: "tooltipRefEl",
|
|
ref: tooltipRefEl,
|
|
class: "lay-tooltip-content"
|
|
}, [
|
|
createElementVNode("span", null, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
])
|
|
], 512)) : renderSlot(_ctx.$slots, "default", { key: 1 }),
|
|
isMounted.value ? (openBlock(), createBlock(_sfc_main$12, normalizeProps(mergeProps({ key: 2 }, unref(innerProps))), {
|
|
default: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "content")
|
|
]),
|
|
_: 3
|
|
}, 16)) : createCommentVNode("", true)
|
|
], 64);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$L = { href: "javascript:void(0)" };
|
|
const _hoisted_2$E = { key: 0 };
|
|
const _hoisted_3$z = { key: 0 };
|
|
const _hoisted_4$r = {
|
|
key: 1,
|
|
href: "javascript:void(0)"
|
|
};
|
|
const _hoisted_5$j = {
|
|
key: 0,
|
|
class: "layui-sub-menu-icon"
|
|
};
|
|
const _hoisted_6$g = { key: 1 };
|
|
const _hoisted_7$e = { key: 2 };
|
|
const __default__$Z = {
|
|
name: "LayMenuItem"
|
|
};
|
|
const _sfc_main$10 = defineComponent({
|
|
...__default__$Z,
|
|
props: {
|
|
id: null,
|
|
title: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const slots = useSlots();
|
|
const { level } = useLevel();
|
|
const selectedKey = inject("selectedKey");
|
|
const isTree = inject("isTree");
|
|
const isCollapse = inject("isCollapse");
|
|
const theme = inject("menuTheme");
|
|
const indent = inject("indent");
|
|
const dropdownCtx = inject(dropdownInjectionKey, void 0);
|
|
const selectHandle = function() {
|
|
selectedKey.value = props.id;
|
|
dropdownCtx == null ? void 0 : dropdownCtx.hide();
|
|
};
|
|
const needTooltip = computed$1(() => isTree.value && (isCollapse.value === true || isCollapse.value === "true") && level.value === 1);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
class: normalizeClass(["layui-nav-item", { "layui-this": unref(selectedKey) === __props.id }]),
|
|
style: normalizeStyle(unref(indentHandle)({ indent: unref(indent), level: unref(level), isTree: unref(isTree) })),
|
|
onClick: _cache[0] || (_cache[0] = ($event) => selectHandle())
|
|
}, [
|
|
unref(needTooltip) ? (openBlock(), createBlock(_sfc_main$11, {
|
|
key: 0,
|
|
position: "right",
|
|
isDark: unref(theme) !== "light"
|
|
}, {
|
|
content: withCtx(() => [
|
|
unref(slots).title ? (openBlock(), createElementBlock("span", _hoisted_3$z, [
|
|
renderSlot(_ctx.$slots, "title")
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("a", _hoisted_1$L, [
|
|
unref(slots).icon ? (openBlock(), createElementBlock("i", _hoisted_2$E, [
|
|
renderSlot(_ctx.$slots, "icon")
|
|
])) : createCommentVNode("", true)
|
|
])
|
|
]),
|
|
_: 3
|
|
}, 8, ["isDark"])) : (openBlock(), createElementBlock("a", _hoisted_4$r, [
|
|
unref(slots).icon ? (openBlock(), createElementBlock("i", _hoisted_5$j, [
|
|
renderSlot(_ctx.$slots, "icon")
|
|
])) : createCommentVNode("", true),
|
|
unref(slots).title ? (openBlock(), createElementBlock("span", _hoisted_6$g, [
|
|
renderSlot(_ctx.$slots, "title")
|
|
])) : (openBlock(), createElementBlock("span", _hoisted_7$e, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]))
|
|
]))
|
|
], 6);
|
|
};
|
|
}
|
|
});
|
|
const component$P = withInstall(_sfc_main$10);
|
|
var index$w = /* @__PURE__ */ (() => ".layui-checkbox[size=lg]{height:18px;line-height:18px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:18px;height:18px;font-size:16px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:18px;line-height:18px;font-size:16px}.layui-checkbox[size=md]{height:16px;line-height:16px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:16px;height:16px;font-size:14px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:16px;line-height:16px;font-size:14px}.layui-checkbox[size=sm]{height:14px;line-height:14px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:14px;height:14px;font-size:12px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:14px;line-height:14px;font-size:12px}.layui-checkbox[size=xs]{height:12px;line-height:12px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:12px;height:12px;font-size:10px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:12px;line-height:12px;font-size:10px}.layui-checkbox input[type=checkbox]{display:none}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:var(--global-neutral-color-6);color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:var(--global-neutral-color-8)}.layui-form-checkbox i{top:0;right:0;width:29px;height:28px;position:absolute;border:1px solid var(--global-neutral-color-6);border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:var(--global-neutral-color-8);color:var(--global-neutral-color-8)}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid var(--global-neutral-color-6);font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:var(--global-checked-color);color:#fff}.layui-form-checked,.layui-form-checked:hover{border-color:var(--global-checked-color)}.layui-form-checked i,.layui-form-checked:hover i{color:var(--global-checked-color)}.layui-form-checked span,.layui-form-checked:hover span{background-color:var(--global-checked-color)}.layui-form-checked[lay-skin=primary] i{border-color:var(--global-checked-color);background-color:var(--global-checked-color);color:#fff}.layui-form-checked[lay-skin=primary] span{background:0 0!important}.layui-checkbox-disabled[lay-skin=primary] span{background:0 0!important;color:var(--global-neutral-color-8)!important}.layui-checkbox-disabled[lay-skin=primary]:hover i{border-color:var(--global-neutral-color-6)}.layui-checkbox-disabled,.layui-checkbox-disabled i{border-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled span{background-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled em{color:var(--global-neutral-color-6)!important}.layui-checkbox-disabled:hover i{color:#fff!important}.layui-checkbox-disabled .layui-icon-ok,.layui-checkbox-disabled .layui-icon-subtraction{background-color:var(--global-neutral-color-3)!important;border-color:var(--global-neutral-color-3)!important}\n")();
|
|
const _hoisted_1$K = ["onClick", "size"];
|
|
const _hoisted_2$D = ["name", "value"];
|
|
const _hoisted_3$y = ["lay-skin"];
|
|
const _hoisted_4$q = {
|
|
key: 0,
|
|
class: "layui-checkbox-label"
|
|
};
|
|
const __default__$Y = {
|
|
name: "LayCheckbox"
|
|
};
|
|
const _sfc_main$$ = defineComponent({
|
|
...__default__$Y,
|
|
props: {
|
|
name: null,
|
|
skin: null,
|
|
label: { default: "" },
|
|
value: null,
|
|
modelValue: { type: [Boolean, Array], default: false },
|
|
isIndeterminate: { type: Boolean, default: false },
|
|
size: { default: "md" },
|
|
disabled: { type: Boolean, default: false }
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { expose, emit }) {
|
|
const props = __props;
|
|
const checkboxGroup = inject("checkboxGroup", {});
|
|
const isGroup = computed$1(() => {
|
|
return checkboxGroup != void 0 && (checkboxGroup == null ? void 0 : checkboxGroup.name) === "LayCheckboxGroup";
|
|
});
|
|
const slots = useSlots();
|
|
const isChecked = computed$1({
|
|
get() {
|
|
if (isGroup.value) {
|
|
return checkboxGroup.modelValue.value.includes(props.value);
|
|
} else {
|
|
if (Array.isArray(props.modelValue)) {
|
|
return props.modelValue.includes(props.value);
|
|
} else {
|
|
return props.modelValue;
|
|
}
|
|
}
|
|
},
|
|
set(val) {
|
|
if (isGroup.value) {
|
|
setGroupModelValue(val);
|
|
} else {
|
|
if (Array.isArray(props.modelValue)) {
|
|
setArrayModelValue(val);
|
|
} else {
|
|
emit("change", val);
|
|
emit("update:modelValue", val);
|
|
}
|
|
}
|
|
}
|
|
});
|
|
const arrayModelValue = computed$1(() => {
|
|
if (Array.isArray(props.modelValue)) {
|
|
return [...props.modelValue];
|
|
} else {
|
|
return [];
|
|
}
|
|
});
|
|
const setGroupModelValue = function(checked) {
|
|
let groupModelValue = [...checkboxGroup.modelValue.value];
|
|
if (!checked) {
|
|
groupModelValue.splice(groupModelValue.indexOf(props.value), 1);
|
|
} else {
|
|
groupModelValue.push(props.value);
|
|
}
|
|
checkboxGroup.modelValue.value = groupModelValue;
|
|
};
|
|
const setArrayModelValue = function(checked) {
|
|
let arr = [...arrayModelValue.value];
|
|
if (!checked) {
|
|
arr.splice(arr.indexOf(props.value), 1);
|
|
} else {
|
|
arr.push(props.value);
|
|
}
|
|
emit("change", arr);
|
|
emit("update:modelValue", arr);
|
|
};
|
|
const handleClick = function() {
|
|
if (!isDisabled.value) {
|
|
isChecked.value = !isChecked.value;
|
|
}
|
|
};
|
|
const isDisabled = computed$1(() => {
|
|
if (props.disabled) {
|
|
return true;
|
|
}
|
|
if (checkboxGroup.hasOwnProperty("disabled") && checkboxGroup.disabled.value) {
|
|
return true;
|
|
}
|
|
return false;
|
|
});
|
|
expose({ toggle: handleClick });
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("span", {
|
|
onClick: withModifiers(handleClick, ["stop"]),
|
|
class: "layui-checkbox",
|
|
size: __props.size
|
|
}, [
|
|
createElementVNode("input", {
|
|
type: "checkbox",
|
|
name: __props.name,
|
|
value: __props.value
|
|
}, null, 8, _hoisted_2$D),
|
|
createElementVNode("div", {
|
|
class: normalizeClass(["layui-form-checkbox", {
|
|
"layui-form-checked": unref(isChecked),
|
|
"layui-checkbox-disabled layui-disabled": unref(isDisabled)
|
|
}]),
|
|
"lay-skin": __props.skin
|
|
}, [
|
|
unref(slots).default || __props.label ? (openBlock(), createElementBlock("span", _hoisted_4$q, [
|
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
createTextVNode(toDisplayString$1(__props.label), 1)
|
|
])
|
|
])) : createCommentVNode("", true),
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: props.isIndeterminate && unref(isChecked) ? "layui-icon-subtraction" : unref(isChecked) ? "layui-icon-ok" : ""
|
|
}, null, 8, ["type"])
|
|
], 10, _hoisted_3$y)
|
|
], 8, _hoisted_1$K);
|
|
};
|
|
}
|
|
});
|
|
const component$O = withInstall(_sfc_main$$);
|
|
const __default__$X = {
|
|
name: "LayCheckboxGroup"
|
|
};
|
|
const _sfc_main$_ = defineComponent({
|
|
...__default__$X,
|
|
props: {
|
|
modelValue: { default: () => [] },
|
|
disabled: { type: Boolean, default: false }
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const modelValue = ref(props.modelValue);
|
|
const disabled = ref(props.disabled);
|
|
provide("checkboxGroup", {
|
|
name: "LayCheckboxGroup",
|
|
modelValue,
|
|
disabled
|
|
});
|
|
watch(() => modelValue, (val) => {
|
|
emit("change", modelValue.value);
|
|
emit("update:modelValue", modelValue.value);
|
|
}, { deep: true });
|
|
watch(() => props.modelValue, (val) => modelValue.value = val);
|
|
watch(() => props.disabled, (val) => disabled.value = val);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-checkbox-group", { "layui-checkbox-group-disabled": disabled.value }])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$N = withInstall(_sfc_main$_);
|
|
var index$v = /* @__PURE__ */ (() => '.layui-form-item{margin-bottom:20px;clear:both}.layui-form-item-right .layui-form-label{text-align:right}.layui-form-item-left .layui-form-label{text-align:left}.layui-form-item-top .layui-form-label{text-align:left;float:none}.layui-form-item-top>div{margin-left:0}.layui-form-item:after{content:" ";clear:both;display:block;height:0}.layui-form-label{float:left;display:block;width:95px;padding-right:15px;line-height:38px;font-weight:400}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#ff5722!important}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-required{color:#ff5722;font-size:12px;line-height:1}.layui-form .layui-form-item .layui-input-block .layui-form-danger,.layui-form .layui-form-item .layui-input-inline .layui-form-danger,.layui-form .layui-form-item .layui-input-block .layui-form-danger .layui-textarea,.layui-form .layui-form-item .layui-input-inline .layui-form-danger .layui-textarea,.layui-form .layui-form-item .layui-input-block .layui-form-danger .layui-tag-input,.layui-form .layui-form-item .layui-input-inline .layui-form-danger .layui-tag-input,.layui-form .layui-form-item .layui-input-block .layui-form-danger .layui-input,.layui-form .layui-form-item .layui-input-inline .layui-form-danger .layui-input{border-color:#ff5722!important}.layui-error-message{color:#ff5722;font-size:12px;line-height:1;padding-top:5px;position:absolute;top:100%;left:0}.layui-error-message-anim{-ms-transform-origin:0 0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-animation:layui-top-show-anim .3s ease 1;animation:layui-top-show-anim .3s ease 1}@keyframes layui-top-show-anim{0%{opacity:.3;transform:rotateX(45deg)}to{opacity:1;transform:rotateX(0)}}\n')();
|
|
const __default__$W = {
|
|
name: "LayForm"
|
|
};
|
|
const _sfc_main$Z = defineComponent({
|
|
...__default__$W,
|
|
props: {
|
|
model: { default: function() {
|
|
return {};
|
|
} },
|
|
required: { type: Boolean },
|
|
rules: null,
|
|
initValidate: { type: Boolean, default: false },
|
|
requiredIcons: { default: "" },
|
|
requiredErrorMessage: null,
|
|
validateMessage: null,
|
|
useCN: { type: Boolean, default: true }
|
|
},
|
|
emits: ["submit"],
|
|
setup(__props, { expose, emit }) {
|
|
const props = __props;
|
|
const formItems = [];
|
|
const formItemMap = {};
|
|
onMounted(() => {
|
|
var _a2;
|
|
props.initValidate && ((_a2 = validate()) == null ? void 0 : _a2.catch((err) => {
|
|
}));
|
|
});
|
|
const submit = function() {
|
|
let _isValidate = false;
|
|
validate((isValidate, model, errors) => {
|
|
_isValidate = isValidate;
|
|
emit("submit", isValidate, model, errors);
|
|
});
|
|
return _isValidate;
|
|
};
|
|
const validate = function(fields, callback) {
|
|
let validateItems = formItems;
|
|
if (typeof fields === "function") {
|
|
callback = fields;
|
|
} else if (typeof fields === "string" || Array.isArray(fields) && fields.length > 0) {
|
|
validateItems = [];
|
|
const validateFields = !fields ? [] : [].concat(fields);
|
|
validateFields.forEach((field) => formItemMap[field] && validateItems.push(formItemMap[field]));
|
|
}
|
|
let errorsArrs = [];
|
|
validateItems.forEach((filed) => {
|
|
filed.validate((errors, _fields) => {
|
|
errorsArrs = errorsArrs.concat(errors);
|
|
});
|
|
});
|
|
const isValidate = errorsArrs.length === 0;
|
|
if (typeof callback === "function") {
|
|
isValidate ? callback(true, props.model, null) : callback(false, props.model, errorsArrs);
|
|
return null;
|
|
}
|
|
return new Promise((resolve, reject) => {
|
|
const callbackParams = {
|
|
isValidate,
|
|
model: props.model,
|
|
errors: isValidate ? null : errorsArrs
|
|
};
|
|
callbackParams.isValidate ? resolve(callbackParams) : reject(callbackParams);
|
|
});
|
|
};
|
|
const clearValidate = function(fields) {
|
|
const clearFields = !fields ? [] : [].concat(fields);
|
|
if (clearFields.length === 0) {
|
|
formItems.forEach((filed) => filed.clearValidate());
|
|
} else {
|
|
clearFields.forEach((field) => formItemMap[field] && formItemMap[field].clearValidate());
|
|
}
|
|
};
|
|
const reset3 = function() {
|
|
for (const key in props.model) {
|
|
props.model[key] = null;
|
|
}
|
|
setTimeout(() => {
|
|
var _a2;
|
|
return (_a2 = validate()) == null ? void 0 : _a2.catch((err) => {
|
|
});
|
|
}, 0);
|
|
};
|
|
const addField = function(item) {
|
|
formItems.push(item);
|
|
formItemMap[item.prop] = item;
|
|
};
|
|
expose({ validate, clearValidate, reset: reset3 });
|
|
provide("LayForm", reactive({
|
|
formItems,
|
|
addField,
|
|
clearValidate,
|
|
validate,
|
|
...toRefs(props)
|
|
}));
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("form", {
|
|
class: "layui-form",
|
|
onsubmit: submit
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$M = withInstall(_sfc_main$Z);
|
|
var index$u = /* @__PURE__ */ (() => ".layui-breadcrumb{font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999}.layui-breadcrumb a:hover{color:var(--global-checked-color)!important}.layui-breadcrumb a:nth-last-child(2){color:#666;font-style:normal}.layui-breadcrumb span:last-child{display:none}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:var(--global-neutral-color-7)}\n")();
|
|
const _hoisted_1$J = { class: "layui-breadcrumb" };
|
|
const __default__$V = {
|
|
name: "LayBreadcrumb"
|
|
};
|
|
const _sfc_main$Y = defineComponent({
|
|
...__default__$V,
|
|
props: {
|
|
separator: { default: "/" }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
provide("separator", props.separator);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("span", _hoisted_1$J, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$L = withInstall(_sfc_main$Y);
|
|
const _hoisted_1$I = { "lay-separator": "" };
|
|
const __default__$U = {
|
|
name: "LayBreadcrumbItem"
|
|
};
|
|
const _sfc_main$X = defineComponent({
|
|
...__default__$U,
|
|
props: {
|
|
title: null
|
|
},
|
|
setup(__props) {
|
|
const separator = inject("separator");
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
createElementVNode("a", mergeProps({ href: "javascript:void(0);" }, _ctx.$attrs), [
|
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
createTextVNode(toDisplayString$1(__props.title), 1)
|
|
])
|
|
], 16),
|
|
createElementVNode("span", _hoisted_1$I, toDisplayString$1(unref(separator)), 1)
|
|
], 64);
|
|
};
|
|
}
|
|
});
|
|
const component$K = withInstall(_sfc_main$X);
|
|
var index$t = /* @__PURE__ */ (() => ":root{--field-border-color: var(--global-neutral-color-3);--field-border-radius: var(--global-border-radius)}.layui-field{margin-bottom:10px;padding:0;border-width:1px;border-color:var(--field-border-color);border-style:solid}.layui-field legend{margin-left:20px;padding:0 10px;font-size:20px;font-weight:300}.layui-field-title{margin:10px 0 20px;border-width:1px 0 0}.layui-field-box{padding:15px}.layui-field-title .layui-field-box{padding:10px 0}\n")();
|
|
const _hoisted_1$H = {
|
|
key: 0,
|
|
class: "layui-field"
|
|
};
|
|
const _hoisted_2$C = { class: "layui-field-box" };
|
|
const _hoisted_3$x = {
|
|
key: 1,
|
|
class: "layui-field layui-field-title"
|
|
};
|
|
const _hoisted_4$p = { name: "docend" };
|
|
const __default__$T = {
|
|
name: "LayField"
|
|
};
|
|
const _sfc_main$W = defineComponent({
|
|
...__default__$T,
|
|
props: {
|
|
title: null
|
|
},
|
|
setup(__props) {
|
|
const slot = useSlots();
|
|
return (_ctx, _cache) => {
|
|
return unref(slot).default ? (openBlock(), createElementBlock("fieldset", _hoisted_1$H, [
|
|
createElementVNode("legend", null, toDisplayString$1(__props.title), 1),
|
|
createElementVNode("div", _hoisted_2$C, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
])
|
|
])) : (openBlock(), createElementBlock("fieldset", _hoisted_3$x, [
|
|
createElementVNode("legend", null, [
|
|
createElementVNode("a", _hoisted_4$p, toDisplayString$1(__props.title), 1)
|
|
])
|
|
]));
|
|
};
|
|
}
|
|
});
|
|
const component$J = withInstall(_sfc_main$W);
|
|
var index$s = /* @__PURE__ */ (() => '.layui-checkbox[size=lg]{height:18px;line-height:18px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:18px;height:18px;font-size:16px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:18px;line-height:18px;font-size:16px}.layui-checkbox[size=md]{height:16px;line-height:16px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:16px;height:16px;font-size:14px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:16px;line-height:16px;font-size:14px}.layui-checkbox[size=sm]{height:14px;line-height:14px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:14px;height:14px;font-size:12px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:14px;line-height:14px;font-size:12px}.layui-checkbox[size=xs]{height:12px;line-height:12px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:12px;height:12px;font-size:10px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:12px;line-height:12px;font-size:10px}.layui-checkbox input[type=checkbox]{display:none}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:var(--global-neutral-color-6);color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:var(--global-neutral-color-8)}.layui-form-checkbox i{top:0;right:0;width:29px;height:28px;position:absolute;border:1px solid var(--global-neutral-color-6);border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:var(--global-neutral-color-8);color:var(--global-neutral-color-8)}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid var(--global-neutral-color-6);font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:var(--global-checked-color);color:#fff}.layui-form-checked,.layui-form-checked:hover{border-color:var(--global-checked-color)}.layui-form-checked i,.layui-form-checked:hover i{color:var(--global-checked-color)}.layui-form-checked span,.layui-form-checked:hover span{background-color:var(--global-checked-color)}.layui-form-checked[lay-skin=primary] i{border-color:var(--global-checked-color);background-color:var(--global-checked-color);color:#fff}.layui-form-checked[lay-skin=primary] span{background:0 0!important}.layui-checkbox-disabled[lay-skin=primary] span{background:0 0!important;color:var(--global-neutral-color-8)!important}.layui-checkbox-disabled[lay-skin=primary]:hover i{border-color:var(--global-neutral-color-6)}.layui-checkbox-disabled,.layui-checkbox-disabled i{border-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled span{background-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled em{color:var(--global-neutral-color-6)!important}.layui-checkbox-disabled:hover i{color:#fff!important}.layui-checkbox-disabled .layui-icon-ok,.layui-checkbox-disabled .layui-icon-subtraction{background-color:var(--global-neutral-color-3)!important;border-color:var(--global-neutral-color-3)!important}:root{--input-border-radius: var(--global-border-radius);--input-border-color: var(--global-neutral-color-3)}.layui-input{width:100%;height:38px;line-height:38px;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);display:inline-flex}.layui-input input{height:38px;line-height:38px;background-color:#fff;color:#000000d9;padding-left:10px;display:inline-block;border:none;height:100%;width:100%}.layui-input-append{background-color:#fafafa;border-left:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-prepend{background-color:#fafafa;border-right:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-wrapper{width:100%;display:inline-flex;border:none}.layui-input:hover,.layui-input:focus-within{border-color:#d2d2d2}.layui-input-clear,.layui-input-prefix,.layui-input-suffix,.layui-input-password{background-color:#fff}.layui-input-clear,.layui-input-password,.layui-input-prefix,.layui-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-input-has-prefix input{padding:0}.layui-input-clear,.layui-input-password{color:#00000073}.layui-input-clear:hover{opacity:.6}.layui-input input::-webkit-input-placeholder{line-height:1.3}.layui-input input::-ms-reveal{display:none}.layui-input-disabled{border-color:var(--input-border-color)!important}.layui-input-disabled{opacity:.6}.layui-input-disabled,.layui-input-disabled *{cursor:not-allowed!important}.layui-input[size=lg]{height:44px}.layui-input[size=lg] .layui-input{height:44px;line-height:44px}.layui-input[size=md]{height:38px}.layui-input[size=md] .layui-input{height:38px;line-height:38px}.layui-input[size=sm]{height:32px}.layui-input[size=sm] .layui-input{height:32px;line-height:32px}.layui-input[size=xs]{height:26px}.layui-input[size=xs] .layui-input{height:26px;line-height:26px}.layui-dropdown{position:relative;display:inline-block}.layui-dropdown-content{position:absolute;z-index:99999;background-color:#fff;box-sizing:border-box;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px #0000001a}.layui-dropdown-content>.layui-dropdown-menu{border-radius:var(--global-border-radius);margin:5px 0}.layui-dropdown-content .layui-menu{position:relative;background-color:#fff}.layui-dropdown-content .layui-menu li,.layui-dropdown-content .layui-menu-body-title a{padding:5px 15px}.layui-dropdown-content .layui-menu li{position:relative;display:flex;margin:1px 0;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;cursor:pointer}.layui-dropdown-content .layui-menu li:hover{background-color:var(--global-neutral-color-2)}.layui-dropdown-content .layui-menu-body-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-dropdown-menu-prefix{margin-right:8px}.layui-dropdown-menu-suffix{margin-left:15px}.layui-dropdown-content .layui-menu li.layui-disabled:hover{background-color:inherit}.layui-tag{--layui-tag-bg-color: #fafafa;--layui-tag-border-color: #f0f0f0;--layui-tag-hover-color: #FFF;--layui-tag-text-color: currentColor;display:inline-flex;align-items:baseline;vertical-align:middle;box-sizing:border-box;height:26px;line-height:26px;padding:0 8px;font-size:14px;font-weight:500;color:var(--layui-tag-text-color);background-color:var(--layui-tag-bg-color);border-width:1px;border-style:solid;border-color:transparent;border-radius:var(--global-border-radius)}.layui-tag-icon{margin-right:4px}.layui-tag-bordered{border-color:var(--layui-tag-border-color)}.layui-tag-disabled{opacity:.4;cursor:not-allowed}.layui-tag-disabled .layui-tag-close-icon .layui-icon:hover{cursor:not-allowed!important;opacity:1}.layui-tag-shap-square{border-radius:var(--global-border-radius)}.layui-tag-shap-round{border-radius:12px}.layui-tag-ellipsis .layui-tag-text{display:inline-block;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.layui-tag .layui-tag-close-icon{margin-left:4px;font-size:14px}.layui-tag .layui-tag-close-icon .layui-icon:hover{cursor:pointer;opacity:.5}.layui-tag-size-lg{height:30px;font-size:14px;line-height:30px}.layui-tag-size-md{height:26px;font-size:14px;line-height:26px}.layui-tag .layui-icon{font-size:14px}.layui-tag-size-sm{height:22px;font-size:12px;line-height:22px}.layui-tag-size-xs{height:18px;font-size:12px;line-height:18px}.layui-tag .layui-icon{font-size:12px}.layui-tag-primary{--layui-tag-bg-color: #009688;--layui-tag-border-color: transparent;--layui-tag-hover-color: #009688;--layui-tag-text-color: #FFF}.layui-tag-primary-bordered{--layui-tag-border-color: #009688}.layui-tag-primary.layui-tag-variant-light{--layui-tag-bg-color: #e6f5f3;--layui-tag-border-color: transparent;--layui-tag-hover-color: #e6f5f3;--layui-tag-text-color: #009688}.layui-tag-primary.layui-tag-variant-light-bordered{--layui-tag-border-color: #80cbc4}.layui-tag-primary.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #009688;--layui-tag-border-color: transparent}.layui-tag-primary.layui-tag-variant-plain-bordered{--layui-tag-border-color: #009688}.layui-tag-normal{--layui-tag-bg-color: #1e9fff;--layui-tag-border-color: transparent;--layui-tag-hover-color: #1e9fff;--layui-tag-text-color: #FFF}.layui-tag-normal-bordered{--layui-tag-border-color: #1e9fff}.layui-tag-normal.layui-tag-variant-light{--layui-tag-bg-color: #e9f5ff;--layui-tag-border-color: transparent;--layui-tag-hover-color: #e9f5ff;--layui-tag-text-color: #1e9fff}.layui-tag-normal.layui-tag-variant-light-bordered{--layui-tag-border-color: #8fcfff}.layui-tag-normal.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #1e9fff;--layui-tag-border-color: transparent}.layui-tag-normal.layui-tag-variant-plain-bordered{--layui-tag-border-color: #1e9fff}.layui-tag-warm{--layui-tag-bg-color: #ffb800;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ffb800;--layui-tag-text-color: #FFF}.layui-tag-warm-bordered{--layui-tag-border-color: #ffb800}.layui-tag-warm.layui-tag-variant-light{--layui-tag-bg-color: #fff8e6;--layui-tag-border-color: transparent;--layui-tag-hover-color: #fff8e6;--layui-tag-text-color: #ffb800}.layui-tag-warm.layui-tag-variant-light-bordered{--layui-tag-border-color: #ffdc80}.layui-tag-warm.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #ffb800;--layui-tag-border-color: transparent}.layui-tag-warm.layui-tag-variant-plain-bordered{--layui-tag-border-color: #ffb800}.layui-tag-danger{--layui-tag-bg-color: #ff5722;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ff5722;--layui-tag-text-color: #FFF}.layui-tag-danger-bordered{--layui-tag-border-color: #ff5722}.layui-tag-danger.layui-tag-variant-light{--layui-tag-bg-color: #ffeee9;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ffeee9;--layui-tag-text-color: #ff5722}.layui-tag-danger.layui-tag-variant-light-bordered{--layui-tag-border-color: #ffab91}.layui-tag-danger.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #ff5722;--layui-tag-border-color: transparent}.layui-tag-danger.layui-tag-variant-plain-bordered{--layui-tag-border-color: #ff5722}.layui-popper{position:fixed;padding:10px;border-radius:3px;word-wrap:break-word;min-width:12px;min-height:12px;font-size:14px;box-sizing:border-box;box-shadow:0 2px 12px #00000026;background-color:#fff;color:#3a3a3a;border:1px solid #cecece;max-width:300px;z-index:99999}.layui-popper[position=top]{margin-bottom:6px}.layui-popper[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#cecece}.layui-popper[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#fff}.layui-popper[position=bottom]{margin-top:6px}.layui-popper[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#cecece}.layui-popper[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#fff}.layui-popper[position=right]{margin-left:6px}.layui-popper[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#cecece}.layui-popper[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#fff}.layui-popper[position=left]{margin-right:6px}.layui-popper[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#cecece}.layui-popper[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#fff}.layui-popper[position=top] .layui-popper-arrow,.layui-popper[position=bottom] .layui-popper-arrow{left:-moz-calc(44%);left:-webkit-calc(44%);left:calc(50% - 6px)}.layui-popper[position=left] .layui-popper-arrow,.layui-popper[position=right] .layui-popper-arrow{top:-moz-calc(44%);top:-webkit-calc(44%);top:calc(50% - 6px)}.layui-popper:after{content:" ";position:absolute;display:block}.layui-popper[position=top]:after{bottom:-7px;left:0;width:100%;height:7px}.layui-popper[position=bottom]:after{top:-7px;left:0;width:100%;height:7px}.layui-popper[position=left]:after{right:-7px;bottom:0;height:100%;width:7px}.layui-popper[position=right]:after{left:-7px;bottom:0;height:100%;width:7px}.layui-popper .layui-popper-arrow,.layui-popper .layui-popper-arrow:after{position:absolute;display:block;width:0;height:0;border-width:6px;border-style:solid;border-color:transparent}.layui-popper .layui-popper-arrow:after{content:" "}.layui-popper.layui-dark{background-color:#353535;color:#fff;border:1px solid #353535}.layui-popper.layui-dark[position=top]{margin-bottom:6px}.layui-popper.layui-dark[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#353535}.layui-popper.layui-dark[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#353535}.layui-popper.layui-dark[position=bottom]{margin-top:6px}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#353535}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#353535}.layui-popper.layui-dark[position=right]{margin-left:6px}.layui-popper.layui-dark[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#353535}.layui-popper.layui-dark[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#353535}.layui-popper.layui-dark[position=left]{margin-right:6px}.layui-popper.layui-dark[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#353535}.layui-popper.layui-dark[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#353535}.lay-tooltip-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.layui-tag-input{display:inline-flex;box-sizing:border-box;width:100%;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);cursor:text}.layui-tag-input-inner{flex:1;overflow:hidden;line-height:0;padding:2px 0}.layui-tag-input-mirror{position:absolute;top:0;left:0;white-space:pre;visibility:hidden;pointer-events:none}.layui-tag-input-clear{flex:none;display:flex;align-items:center;padding:0 10px;color:#00000073;cursor:pointer;visibility:hidden}.layui-tag-input-clear:hover{opacity:.8}.layui-tag-input .layui-tag-input-inner-input{box-sizing:border-box;border:none}.layui-tag-input-disabled{cursor:not-allowed;opacity:.6}.layui-tag-input-disabled *{cursor:not-allowed}.layui-tag-input .layui-tag{margin-right:5px;margin-top:2px;margin-bottom:2px;white-space:pre-wrap}.layui-tag-input-collapsed-panel{white-space:normal;display:flex;align-items:center;flex-wrap:wrap;width:fit-content;height:auto;overflow:hidden}.layui-tag-input-collapsed-panel .layui-tag{margin-right:5px;margin-bottom:4px}.layui-tag-input.layui-tag-input-lg{min-height:44px}.layui-tag-input.layui-tag-input-lg .layui-tag-input-inner-input{height:38px;vertical-align:middle}.layui-tag-input.layui-tag-input-lg .layui-tag-input-inner{padding:2px 5px}.layui-tag-input.layui-tag-input-lg .layui-tag{margin-top:2px;margin-bottom:2px}.layui-tag-input.layui-tag-input-md{min-height:38px}.layui-tag-input.layui-tag-input-md .layui-tag-input-inner-input{height:32px;vertical-align:middle}.layui-tag-input.layui-tag-input-md .layui-tag-input-inner{padding:2px 5px}.layui-tag-input.layui-tag-input-md .layui-tag{margin-top:2px;margin-bottom:2px}.layui-tag-input.layui-tag-input-sm{min-height:32px}.layui-tag-input.layui-tag-input-sm .layui-tag-input-inner-input{height:28px;vertical-align:middle}.layui-tag-input.layui-tag-input-sm .layui-tag-input-inner{padding:1px 5px}.layui-tag-input.layui-tag-input-sm .layui-tag{margin-top:1px;margin-bottom:1px}.layui-tag-input.layui-tag-input-xs{min-height:26px}.layui-tag-input.layui-tag-input-xs .layui-tag-input-inner-input{height:22px;vertical-align:middle}.layui-tag-input.layui-tag-input-xs .layui-tag-input-inner{padding:1px 5px}.layui-tag-input.layui-tag-input-xs .layui-tag{margin-top:1px;margin-bottom:1px}.layui-tag-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-tag-input:not(.layui-tag-input-disabled):hover,.layui-tag-input:not(.layui-tag-input-disabled):focus-within{border-color:#d2d2d2!important}.layui-tag-input:not(.layui-tag-input-disabled):hover .layui-tag-input-clear,.layui-tag-input:not(.layui-tag-input-disabled):focus-within .layui-tag-input-clear{visibility:visible}.layui-select{width:220px;cursor:pointer}.layui-select .layui-tag-input{width:220px}.layui-select .layui-tag-input-clear{visibility:unset}.layui-unselect *{cursor:pointer}.layui-select-content{max-height:300px;padding:5px 0;overflow:auto}.layui-select .layui-icon-triangle-d{transition:all .3s;-webkit-transition:all .3s;color:var(--global-neutral-color-8)}.layui-select .layui-icon-triangle-d.triangle{transform:rotate(180deg)}.layui-select-content .layui-select-option{padding:0 10px;line-height:36px;height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.layui-select-content .layui-select-option.layui-disabled{color:var(--global-neutral-color-6)!important;cursor:not-allowed!important}.layui-select-content .layui-select-option .layui-form-checkbox[lay-skin=primary]{padding-left:12px}.layui-select-content .layui-select-option.layui-this{background-color:var(--global-neutral-color-2);color:var(--global-checked-color);font-weight:700}.layui-select-content .layui-select-option:hover{background-color:var(--global-neutral-color-2)}.layui-select-content .layui-select-option .layui-checkbox{margin-right:10px}.layui-select-search{padding:5px 10px}\n')();
|
|
var index$r = /* @__PURE__ */ (() => '.layui-tag{--layui-tag-bg-color: #fafafa;--layui-tag-border-color: #f0f0f0;--layui-tag-hover-color: #FFF;--layui-tag-text-color: currentColor;display:inline-flex;align-items:baseline;vertical-align:middle;box-sizing:border-box;height:26px;line-height:26px;padding:0 8px;font-size:14px;font-weight:500;color:var(--layui-tag-text-color);background-color:var(--layui-tag-bg-color);border-width:1px;border-style:solid;border-color:transparent;border-radius:var(--global-border-radius)}.layui-tag-icon{margin-right:4px}.layui-tag-bordered{border-color:var(--layui-tag-border-color)}.layui-tag-disabled{opacity:.4;cursor:not-allowed}.layui-tag-disabled .layui-tag-close-icon .layui-icon:hover{cursor:not-allowed!important;opacity:1}.layui-tag-shap-square{border-radius:var(--global-border-radius)}.layui-tag-shap-round{border-radius:12px}.layui-tag-ellipsis .layui-tag-text{display:inline-block;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.layui-tag .layui-tag-close-icon{margin-left:4px;font-size:14px}.layui-tag .layui-tag-close-icon .layui-icon:hover{cursor:pointer;opacity:.5}.layui-tag-size-lg{height:30px;font-size:14px;line-height:30px}.layui-tag-size-md{height:26px;font-size:14px;line-height:26px}.layui-tag .layui-icon{font-size:14px}.layui-tag-size-sm{height:22px;font-size:12px;line-height:22px}.layui-tag-size-xs{height:18px;font-size:12px;line-height:18px}.layui-tag .layui-icon{font-size:12px}.layui-tag-primary{--layui-tag-bg-color: #009688;--layui-tag-border-color: transparent;--layui-tag-hover-color: #009688;--layui-tag-text-color: #FFF}.layui-tag-primary-bordered{--layui-tag-border-color: #009688}.layui-tag-primary.layui-tag-variant-light{--layui-tag-bg-color: #e6f5f3;--layui-tag-border-color: transparent;--layui-tag-hover-color: #e6f5f3;--layui-tag-text-color: #009688}.layui-tag-primary.layui-tag-variant-light-bordered{--layui-tag-border-color: #80cbc4}.layui-tag-primary.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #009688;--layui-tag-border-color: transparent}.layui-tag-primary.layui-tag-variant-plain-bordered{--layui-tag-border-color: #009688}.layui-tag-normal{--layui-tag-bg-color: #1e9fff;--layui-tag-border-color: transparent;--layui-tag-hover-color: #1e9fff;--layui-tag-text-color: #FFF}.layui-tag-normal-bordered{--layui-tag-border-color: #1e9fff}.layui-tag-normal.layui-tag-variant-light{--layui-tag-bg-color: #e9f5ff;--layui-tag-border-color: transparent;--layui-tag-hover-color: #e9f5ff;--layui-tag-text-color: #1e9fff}.layui-tag-normal.layui-tag-variant-light-bordered{--layui-tag-border-color: #8fcfff}.layui-tag-normal.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #1e9fff;--layui-tag-border-color: transparent}.layui-tag-normal.layui-tag-variant-plain-bordered{--layui-tag-border-color: #1e9fff}.layui-tag-warm{--layui-tag-bg-color: #ffb800;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ffb800;--layui-tag-text-color: #FFF}.layui-tag-warm-bordered{--layui-tag-border-color: #ffb800}.layui-tag-warm.layui-tag-variant-light{--layui-tag-bg-color: #fff8e6;--layui-tag-border-color: transparent;--layui-tag-hover-color: #fff8e6;--layui-tag-text-color: #ffb800}.layui-tag-warm.layui-tag-variant-light-bordered{--layui-tag-border-color: #ffdc80}.layui-tag-warm.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #ffb800;--layui-tag-border-color: transparent}.layui-tag-warm.layui-tag-variant-plain-bordered{--layui-tag-border-color: #ffb800}.layui-tag-danger{--layui-tag-bg-color: #ff5722;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ff5722;--layui-tag-text-color: #FFF}.layui-tag-danger-bordered{--layui-tag-border-color: #ff5722}.layui-tag-danger.layui-tag-variant-light{--layui-tag-bg-color: #ffeee9;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ffeee9;--layui-tag-text-color: #ff5722}.layui-tag-danger.layui-tag-variant-light-bordered{--layui-tag-border-color: #ffab91}.layui-tag-danger.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #ff5722;--layui-tag-border-color: transparent}.layui-tag-danger.layui-tag-variant-plain-bordered{--layui-tag-border-color: #ff5722}.layui-popper{position:fixed;padding:10px;border-radius:3px;word-wrap:break-word;min-width:12px;min-height:12px;font-size:14px;box-sizing:border-box;box-shadow:0 2px 12px #00000026;background-color:#fff;color:#3a3a3a;border:1px solid #cecece;max-width:300px;z-index:99999}.layui-popper[position=top]{margin-bottom:6px}.layui-popper[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#cecece}.layui-popper[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#fff}.layui-popper[position=bottom]{margin-top:6px}.layui-popper[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#cecece}.layui-popper[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#fff}.layui-popper[position=right]{margin-left:6px}.layui-popper[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#cecece}.layui-popper[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#fff}.layui-popper[position=left]{margin-right:6px}.layui-popper[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#cecece}.layui-popper[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#fff}.layui-popper[position=top] .layui-popper-arrow,.layui-popper[position=bottom] .layui-popper-arrow{left:-moz-calc(44%);left:-webkit-calc(44%);left:calc(50% - 6px)}.layui-popper[position=left] .layui-popper-arrow,.layui-popper[position=right] .layui-popper-arrow{top:-moz-calc(44%);top:-webkit-calc(44%);top:calc(50% - 6px)}.layui-popper:after{content:" ";position:absolute;display:block}.layui-popper[position=top]:after{bottom:-7px;left:0;width:100%;height:7px}.layui-popper[position=bottom]:after{top:-7px;left:0;width:100%;height:7px}.layui-popper[position=left]:after{right:-7px;bottom:0;height:100%;width:7px}.layui-popper[position=right]:after{left:-7px;bottom:0;height:100%;width:7px}.layui-popper .layui-popper-arrow,.layui-popper .layui-popper-arrow:after{position:absolute;display:block;width:0;height:0;border-width:6px;border-style:solid;border-color:transparent}.layui-popper .layui-popper-arrow:after{content:" "}.layui-popper.layui-dark{background-color:#353535;color:#fff;border:1px solid #353535}.layui-popper.layui-dark[position=top]{margin-bottom:6px}.layui-popper.layui-dark[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#353535}.layui-popper.layui-dark[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#353535}.layui-popper.layui-dark[position=bottom]{margin-top:6px}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#353535}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#353535}.layui-popper.layui-dark[position=right]{margin-left:6px}.layui-popper.layui-dark[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#353535}.layui-popper.layui-dark[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#353535}.layui-popper.layui-dark[position=left]{margin-right:6px}.layui-popper.layui-dark[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#353535}.layui-popper.layui-dark[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#353535}.lay-tooltip-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.layui-tag-input{display:inline-flex;box-sizing:border-box;width:100%;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);cursor:text}.layui-tag-input-inner{flex:1;overflow:hidden;line-height:0;padding:2px 0}.layui-tag-input-mirror{position:absolute;top:0;left:0;white-space:pre;visibility:hidden;pointer-events:none}.layui-tag-input-clear{flex:none;display:flex;align-items:center;padding:0 10px;color:#00000073;cursor:pointer;visibility:hidden}.layui-tag-input-clear:hover{opacity:.8}.layui-tag-input .layui-tag-input-inner-input{box-sizing:border-box;border:none}.layui-tag-input-disabled{cursor:not-allowed;opacity:.6}.layui-tag-input-disabled *{cursor:not-allowed}.layui-tag-input .layui-tag{margin-right:5px;margin-top:2px;margin-bottom:2px;white-space:pre-wrap}.layui-tag-input-collapsed-panel{white-space:normal;display:flex;align-items:center;flex-wrap:wrap;width:fit-content;height:auto;overflow:hidden}.layui-tag-input-collapsed-panel .layui-tag{margin-right:5px;margin-bottom:4px}.layui-tag-input.layui-tag-input-lg{min-height:44px}.layui-tag-input.layui-tag-input-lg .layui-tag-input-inner-input{height:38px;vertical-align:middle}.layui-tag-input.layui-tag-input-lg .layui-tag-input-inner{padding:2px 5px}.layui-tag-input.layui-tag-input-lg .layui-tag{margin-top:2px;margin-bottom:2px}.layui-tag-input.layui-tag-input-md{min-height:38px}.layui-tag-input.layui-tag-input-md .layui-tag-input-inner-input{height:32px;vertical-align:middle}.layui-tag-input.layui-tag-input-md .layui-tag-input-inner{padding:2px 5px}.layui-tag-input.layui-tag-input-md .layui-tag{margin-top:2px;margin-bottom:2px}.layui-tag-input.layui-tag-input-sm{min-height:32px}.layui-tag-input.layui-tag-input-sm .layui-tag-input-inner-input{height:28px;vertical-align:middle}.layui-tag-input.layui-tag-input-sm .layui-tag-input-inner{padding:1px 5px}.layui-tag-input.layui-tag-input-sm .layui-tag{margin-top:1px;margin-bottom:1px}.layui-tag-input.layui-tag-input-xs{min-height:26px}.layui-tag-input.layui-tag-input-xs .layui-tag-input-inner-input{height:22px;vertical-align:middle}.layui-tag-input.layui-tag-input-xs .layui-tag-input-inner{padding:1px 5px}.layui-tag-input.layui-tag-input-xs .layui-tag{margin-top:1px;margin-bottom:1px}.layui-tag-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-tag-input:not(.layui-tag-input-disabled):hover,.layui-tag-input:not(.layui-tag-input-disabled):focus-within{border-color:#d2d2d2!important}.layui-tag-input:not(.layui-tag-input-disabled):hover .layui-tag-input-clear,.layui-tag-input:not(.layui-tag-input-disabled):focus-within .layui-tag-input-clear{visibility:visible}\n')();
|
|
var index$q = /* @__PURE__ */ (() => ".layui-tag{--layui-tag-bg-color: #fafafa;--layui-tag-border-color: #f0f0f0;--layui-tag-hover-color: #FFF;--layui-tag-text-color: currentColor;display:inline-flex;align-items:baseline;vertical-align:middle;box-sizing:border-box;height:26px;line-height:26px;padding:0 8px;font-size:14px;font-weight:500;color:var(--layui-tag-text-color);background-color:var(--layui-tag-bg-color);border-width:1px;border-style:solid;border-color:transparent;border-radius:var(--global-border-radius)}.layui-tag-icon{margin-right:4px}.layui-tag-bordered{border-color:var(--layui-tag-border-color)}.layui-tag-disabled{opacity:.4;cursor:not-allowed}.layui-tag-disabled .layui-tag-close-icon .layui-icon:hover{cursor:not-allowed!important;opacity:1}.layui-tag-shap-square{border-radius:var(--global-border-radius)}.layui-tag-shap-round{border-radius:12px}.layui-tag-ellipsis .layui-tag-text{display:inline-block;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.layui-tag .layui-tag-close-icon{margin-left:4px;font-size:14px}.layui-tag .layui-tag-close-icon .layui-icon:hover{cursor:pointer;opacity:.5}.layui-tag-size-lg{height:30px;font-size:14px;line-height:30px}.layui-tag .layui-icon{font-size:14px}.layui-tag-size-md{height:26px;font-size:14px;line-height:26px}.layui-tag .layui-icon{font-size:14px}.layui-tag-size-sm{height:22px;font-size:12px;line-height:22px}.layui-tag-size-xs{height:18px;font-size:12px;line-height:18px}.layui-tag .layui-icon{font-size:12px}.layui-tag-primary{--layui-tag-bg-color: #009688;--layui-tag-border-color: transparent;--layui-tag-hover-color: #009688;--layui-tag-text-color: #FFF}.layui-tag-primary-bordered{--layui-tag-border-color: #009688}.layui-tag-primary.layui-tag-variant-light{--layui-tag-bg-color: #e6f5f3;--layui-tag-border-color: transparent;--layui-tag-hover-color: #e6f5f3;--layui-tag-text-color: #009688}.layui-tag-primary.layui-tag-variant-light-bordered{--layui-tag-border-color: #80cbc4}.layui-tag-primary.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #009688;--layui-tag-border-color: transparent}.layui-tag-primary.layui-tag-variant-plain-bordered{--layui-tag-border-color: #009688}.layui-tag-normal{--layui-tag-bg-color: #1e9fff;--layui-tag-border-color: transparent;--layui-tag-hover-color: #1e9fff;--layui-tag-text-color: #FFF}.layui-tag-normal-bordered{--layui-tag-border-color: #1e9fff}.layui-tag-normal.layui-tag-variant-light{--layui-tag-bg-color: #e9f5ff;--layui-tag-border-color: transparent;--layui-tag-hover-color: #e9f5ff;--layui-tag-text-color: #1e9fff}.layui-tag-normal.layui-tag-variant-light-bordered{--layui-tag-border-color: #8fcfff}.layui-tag-normal.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #1e9fff;--layui-tag-border-color: transparent}.layui-tag-normal.layui-tag-variant-plain-bordered{--layui-tag-border-color: #1e9fff}.layui-tag-warm{--layui-tag-bg-color: #ffb800;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ffb800;--layui-tag-text-color: #FFF}.layui-tag-warm-bordered{--layui-tag-border-color: #ffb800}.layui-tag-warm.layui-tag-variant-light{--layui-tag-bg-color: #fff8e6;--layui-tag-border-color: transparent;--layui-tag-hover-color: #fff8e6;--layui-tag-text-color: #ffb800}.layui-tag-warm.layui-tag-variant-light-bordered{--layui-tag-border-color: #ffdc80}.layui-tag-warm.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #ffb800;--layui-tag-border-color: transparent}.layui-tag-warm.layui-tag-variant-plain-bordered{--layui-tag-border-color: #ffb800}.layui-tag-danger{--layui-tag-bg-color: #ff5722;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ff5722;--layui-tag-text-color: #FFF}.layui-tag-danger-bordered{--layui-tag-border-color: #ff5722}.layui-tag-danger.layui-tag-variant-light{--layui-tag-bg-color: #ffeee9;--layui-tag-border-color: transparent;--layui-tag-hover-color: #ffeee9;--layui-tag-text-color: #ff5722}.layui-tag-danger.layui-tag-variant-light-bordered{--layui-tag-border-color: #ffab91}.layui-tag-danger.layui-tag-variant-plain{--layui-tag-bg-color: transparent;--layui-tag-hover-color: transparent;--layui-tag-text-color: #ff5722;--layui-tag-border-color: transparent}.layui-tag-danger.layui-tag-variant-plain-bordered{--layui-tag-border-color: #ff5722}\n")();
|
|
function bound01(n, max) {
|
|
if (isOnePointZero(n)) {
|
|
n = "100%";
|
|
}
|
|
var isPercent = isPercentage(n);
|
|
n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));
|
|
if (isPercent) {
|
|
n = parseInt(String(n * max), 10) / 100;
|
|
}
|
|
if (Math.abs(n - max) < 1e-6) {
|
|
return 1;
|
|
}
|
|
if (max === 360) {
|
|
n = (n < 0 ? n % max + max : n % max) / parseFloat(String(max));
|
|
} else {
|
|
n = n % max / parseFloat(String(max));
|
|
}
|
|
return n;
|
|
}
|
|
function clamp01(val) {
|
|
return Math.min(1, Math.max(0, val));
|
|
}
|
|
function isOnePointZero(n) {
|
|
return typeof n === "string" && n.indexOf(".") !== -1 && parseFloat(n) === 1;
|
|
}
|
|
function isPercentage(n) {
|
|
return typeof n === "string" && n.indexOf("%") !== -1;
|
|
}
|
|
function boundAlpha(a) {
|
|
a = parseFloat(a);
|
|
if (isNaN(a) || a < 0 || a > 1) {
|
|
a = 1;
|
|
}
|
|
return a;
|
|
}
|
|
function convertToPercentage(n) {
|
|
if (n <= 1) {
|
|
return "".concat(Number(n) * 100, "%");
|
|
}
|
|
return n;
|
|
}
|
|
function pad2(c) {
|
|
return c.length === 1 ? "0" + c : String(c);
|
|
}
|
|
function rgbToRgb(r, g, b) {
|
|
return {
|
|
r: bound01(r, 255) * 255,
|
|
g: bound01(g, 255) * 255,
|
|
b: bound01(b, 255) * 255
|
|
};
|
|
}
|
|
function rgbToHsl(r, g, b) {
|
|
r = bound01(r, 255);
|
|
g = bound01(g, 255);
|
|
b = bound01(b, 255);
|
|
var max = Math.max(r, g, b);
|
|
var min = Math.min(r, g, b);
|
|
var h2 = 0;
|
|
var s = 0;
|
|
var l = (max + min) / 2;
|
|
if (max === min) {
|
|
s = 0;
|
|
h2 = 0;
|
|
} else {
|
|
var d = max - min;
|
|
s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
|
|
switch (max) {
|
|
case r:
|
|
h2 = (g - b) / d + (g < b ? 6 : 0);
|
|
break;
|
|
case g:
|
|
h2 = (b - r) / d + 2;
|
|
break;
|
|
case b:
|
|
h2 = (r - g) / d + 4;
|
|
break;
|
|
}
|
|
h2 /= 6;
|
|
}
|
|
return { h: h2, s, l };
|
|
}
|
|
function hue2rgb(p, q, t) {
|
|
if (t < 0) {
|
|
t += 1;
|
|
}
|
|
if (t > 1) {
|
|
t -= 1;
|
|
}
|
|
if (t < 1 / 6) {
|
|
return p + (q - p) * (6 * t);
|
|
}
|
|
if (t < 1 / 2) {
|
|
return q;
|
|
}
|
|
if (t < 2 / 3) {
|
|
return p + (q - p) * (2 / 3 - t) * 6;
|
|
}
|
|
return p;
|
|
}
|
|
function hslToRgb(h2, s, l) {
|
|
var r;
|
|
var g;
|
|
var b;
|
|
h2 = bound01(h2, 360);
|
|
s = bound01(s, 100);
|
|
l = bound01(l, 100);
|
|
if (s === 0) {
|
|
g = l;
|
|
b = l;
|
|
r = l;
|
|
} else {
|
|
var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
var p = 2 * l - q;
|
|
r = hue2rgb(p, q, h2 + 1 / 3);
|
|
g = hue2rgb(p, q, h2);
|
|
b = hue2rgb(p, q, h2 - 1 / 3);
|
|
}
|
|
return { r: r * 255, g: g * 255, b: b * 255 };
|
|
}
|
|
function rgbToHsv(r, g, b) {
|
|
r = bound01(r, 255);
|
|
g = bound01(g, 255);
|
|
b = bound01(b, 255);
|
|
var max = Math.max(r, g, b);
|
|
var min = Math.min(r, g, b);
|
|
var h2 = 0;
|
|
var v = max;
|
|
var d = max - min;
|
|
var s = max === 0 ? 0 : d / max;
|
|
if (max === min) {
|
|
h2 = 0;
|
|
} else {
|
|
switch (max) {
|
|
case r:
|
|
h2 = (g - b) / d + (g < b ? 6 : 0);
|
|
break;
|
|
case g:
|
|
h2 = (b - r) / d + 2;
|
|
break;
|
|
case b:
|
|
h2 = (r - g) / d + 4;
|
|
break;
|
|
}
|
|
h2 /= 6;
|
|
}
|
|
return { h: h2, s, v };
|
|
}
|
|
function hsvToRgb(h2, s, v) {
|
|
h2 = bound01(h2, 360) * 6;
|
|
s = bound01(s, 100);
|
|
v = bound01(v, 100);
|
|
var i = Math.floor(h2);
|
|
var f = h2 - i;
|
|
var p = v * (1 - s);
|
|
var q = v * (1 - f * s);
|
|
var t = v * (1 - (1 - f) * s);
|
|
var mod = i % 6;
|
|
var r = [v, q, p, p, t, v][mod];
|
|
var g = [t, v, v, q, p, p][mod];
|
|
var b = [p, p, t, v, v, q][mod];
|
|
return { r: r * 255, g: g * 255, b: b * 255 };
|
|
}
|
|
function rgbToHex(r, g, b, allow3Char) {
|
|
var hex2 = [
|
|
pad2(Math.round(r).toString(16)),
|
|
pad2(Math.round(g).toString(16)),
|
|
pad2(Math.round(b).toString(16))
|
|
];
|
|
if (allow3Char && hex2[0].startsWith(hex2[0].charAt(1)) && hex2[1].startsWith(hex2[1].charAt(1)) && hex2[2].startsWith(hex2[2].charAt(1))) {
|
|
return hex2[0].charAt(0) + hex2[1].charAt(0) + hex2[2].charAt(0);
|
|
}
|
|
return hex2.join("");
|
|
}
|
|
function rgbaToHex(r, g, b, a, allow4Char) {
|
|
var hex2 = [
|
|
pad2(Math.round(r).toString(16)),
|
|
pad2(Math.round(g).toString(16)),
|
|
pad2(Math.round(b).toString(16)),
|
|
pad2(convertDecimalToHex(a))
|
|
];
|
|
if (allow4Char && hex2[0].startsWith(hex2[0].charAt(1)) && hex2[1].startsWith(hex2[1].charAt(1)) && hex2[2].startsWith(hex2[2].charAt(1)) && hex2[3].startsWith(hex2[3].charAt(1))) {
|
|
return hex2[0].charAt(0) + hex2[1].charAt(0) + hex2[2].charAt(0) + hex2[3].charAt(0);
|
|
}
|
|
return hex2.join("");
|
|
}
|
|
function convertDecimalToHex(d) {
|
|
return Math.round(parseFloat(d) * 255).toString(16);
|
|
}
|
|
function convertHexToDecimal(h2) {
|
|
return parseIntFromHex(h2) / 255;
|
|
}
|
|
function parseIntFromHex(val) {
|
|
return parseInt(val, 16);
|
|
}
|
|
function numberInputToObject(color) {
|
|
return {
|
|
r: color >> 16,
|
|
g: (color & 65280) >> 8,
|
|
b: color & 255
|
|
};
|
|
}
|
|
var names = {
|
|
aliceblue: "#f0f8ff",
|
|
antiquewhite: "#faebd7",
|
|
aqua: "#00ffff",
|
|
aquamarine: "#7fffd4",
|
|
azure: "#f0ffff",
|
|
beige: "#f5f5dc",
|
|
bisque: "#ffe4c4",
|
|
black: "#000000",
|
|
blanchedalmond: "#ffebcd",
|
|
blue: "#0000ff",
|
|
blueviolet: "#8a2be2",
|
|
brown: "#a52a2a",
|
|
burlywood: "#deb887",
|
|
cadetblue: "#5f9ea0",
|
|
chartreuse: "#7fff00",
|
|
chocolate: "#d2691e",
|
|
coral: "#ff7f50",
|
|
cornflowerblue: "#6495ed",
|
|
cornsilk: "#fff8dc",
|
|
crimson: "#dc143c",
|
|
cyan: "#00ffff",
|
|
darkblue: "#00008b",
|
|
darkcyan: "#008b8b",
|
|
darkgoldenrod: "#b8860b",
|
|
darkgray: "#a9a9a9",
|
|
darkgreen: "#006400",
|
|
darkgrey: "#a9a9a9",
|
|
darkkhaki: "#bdb76b",
|
|
darkmagenta: "#8b008b",
|
|
darkolivegreen: "#556b2f",
|
|
darkorange: "#ff8c00",
|
|
darkorchid: "#9932cc",
|
|
darkred: "#8b0000",
|
|
darksalmon: "#e9967a",
|
|
darkseagreen: "#8fbc8f",
|
|
darkslateblue: "#483d8b",
|
|
darkslategray: "#2f4f4f",
|
|
darkslategrey: "#2f4f4f",
|
|
darkturquoise: "#00ced1",
|
|
darkviolet: "#9400d3",
|
|
deeppink: "#ff1493",
|
|
deepskyblue: "#00bfff",
|
|
dimgray: "#696969",
|
|
dimgrey: "#696969",
|
|
dodgerblue: "#1e90ff",
|
|
firebrick: "#b22222",
|
|
floralwhite: "#fffaf0",
|
|
forestgreen: "#228b22",
|
|
fuchsia: "#ff00ff",
|
|
gainsboro: "#dcdcdc",
|
|
ghostwhite: "#f8f8ff",
|
|
goldenrod: "#daa520",
|
|
gold: "#ffd700",
|
|
gray: "#808080",
|
|
green: "#008000",
|
|
greenyellow: "#adff2f",
|
|
grey: "#808080",
|
|
honeydew: "#f0fff0",
|
|
hotpink: "#ff69b4",
|
|
indianred: "#cd5c5c",
|
|
indigo: "#4b0082",
|
|
ivory: "#fffff0",
|
|
khaki: "#f0e68c",
|
|
lavenderblush: "#fff0f5",
|
|
lavender: "#e6e6fa",
|
|
lawngreen: "#7cfc00",
|
|
lemonchiffon: "#fffacd",
|
|
lightblue: "#add8e6",
|
|
lightcoral: "#f08080",
|
|
lightcyan: "#e0ffff",
|
|
lightgoldenrodyellow: "#fafad2",
|
|
lightgray: "#d3d3d3",
|
|
lightgreen: "#90ee90",
|
|
lightgrey: "#d3d3d3",
|
|
lightpink: "#ffb6c1",
|
|
lightsalmon: "#ffa07a",
|
|
lightseagreen: "#20b2aa",
|
|
lightskyblue: "#87cefa",
|
|
lightslategray: "#778899",
|
|
lightslategrey: "#778899",
|
|
lightsteelblue: "#b0c4de",
|
|
lightyellow: "#ffffe0",
|
|
lime: "#00ff00",
|
|
limegreen: "#32cd32",
|
|
linen: "#faf0e6",
|
|
magenta: "#ff00ff",
|
|
maroon: "#800000",
|
|
mediumaquamarine: "#66cdaa",
|
|
mediumblue: "#0000cd",
|
|
mediumorchid: "#ba55d3",
|
|
mediumpurple: "#9370db",
|
|
mediumseagreen: "#3cb371",
|
|
mediumslateblue: "#7b68ee",
|
|
mediumspringgreen: "#00fa9a",
|
|
mediumturquoise: "#48d1cc",
|
|
mediumvioletred: "#c71585",
|
|
midnightblue: "#191970",
|
|
mintcream: "#f5fffa",
|
|
mistyrose: "#ffe4e1",
|
|
moccasin: "#ffe4b5",
|
|
navajowhite: "#ffdead",
|
|
navy: "#000080",
|
|
oldlace: "#fdf5e6",
|
|
olive: "#808000",
|
|
olivedrab: "#6b8e23",
|
|
orange: "#ffa500",
|
|
orangered: "#ff4500",
|
|
orchid: "#da70d6",
|
|
palegoldenrod: "#eee8aa",
|
|
palegreen: "#98fb98",
|
|
paleturquoise: "#afeeee",
|
|
palevioletred: "#db7093",
|
|
papayawhip: "#ffefd5",
|
|
peachpuff: "#ffdab9",
|
|
peru: "#cd853f",
|
|
pink: "#ffc0cb",
|
|
plum: "#dda0dd",
|
|
powderblue: "#b0e0e6",
|
|
purple: "#800080",
|
|
rebeccapurple: "#663399",
|
|
red: "#ff0000",
|
|
rosybrown: "#bc8f8f",
|
|
royalblue: "#4169e1",
|
|
saddlebrown: "#8b4513",
|
|
salmon: "#fa8072",
|
|
sandybrown: "#f4a460",
|
|
seagreen: "#2e8b57",
|
|
seashell: "#fff5ee",
|
|
sienna: "#a0522d",
|
|
silver: "#c0c0c0",
|
|
skyblue: "#87ceeb",
|
|
slateblue: "#6a5acd",
|
|
slategray: "#708090",
|
|
slategrey: "#708090",
|
|
snow: "#fffafa",
|
|
springgreen: "#00ff7f",
|
|
steelblue: "#4682b4",
|
|
tan: "#d2b48c",
|
|
teal: "#008080",
|
|
thistle: "#d8bfd8",
|
|
tomato: "#ff6347",
|
|
turquoise: "#40e0d0",
|
|
violet: "#ee82ee",
|
|
wheat: "#f5deb3",
|
|
white: "#ffffff",
|
|
whitesmoke: "#f5f5f5",
|
|
yellow: "#ffff00",
|
|
yellowgreen: "#9acd32"
|
|
};
|
|
function inputToRGB(color) {
|
|
var rgb = { r: 0, g: 0, b: 0 };
|
|
var a = 1;
|
|
var s = null;
|
|
var v = null;
|
|
var l = null;
|
|
var ok = false;
|
|
var format2 = false;
|
|
if (typeof color === "string") {
|
|
color = stringInputToObject(color);
|
|
}
|
|
if (typeof color === "object") {
|
|
if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {
|
|
rgb = rgbToRgb(color.r, color.g, color.b);
|
|
ok = true;
|
|
format2 = String(color.r).substr(-1) === "%" ? "prgb" : "rgb";
|
|
} else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {
|
|
s = convertToPercentage(color.s);
|
|
v = convertToPercentage(color.v);
|
|
rgb = hsvToRgb(color.h, s, v);
|
|
ok = true;
|
|
format2 = "hsv";
|
|
} else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {
|
|
s = convertToPercentage(color.s);
|
|
l = convertToPercentage(color.l);
|
|
rgb = hslToRgb(color.h, s, l);
|
|
ok = true;
|
|
format2 = "hsl";
|
|
}
|
|
if (Object.prototype.hasOwnProperty.call(color, "a")) {
|
|
a = color.a;
|
|
}
|
|
}
|
|
a = boundAlpha(a);
|
|
return {
|
|
ok,
|
|
format: color.format || format2,
|
|
r: Math.min(255, Math.max(rgb.r, 0)),
|
|
g: Math.min(255, Math.max(rgb.g, 0)),
|
|
b: Math.min(255, Math.max(rgb.b, 0)),
|
|
a
|
|
};
|
|
}
|
|
var CSS_INTEGER = "[-\\+]?\\d+%?";
|
|
var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?";
|
|
var CSS_UNIT = "(?:".concat(CSS_NUMBER, ")|(?:").concat(CSS_INTEGER, ")");
|
|
var PERMISSIVE_MATCH3 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?");
|
|
var PERMISSIVE_MATCH4 = "[\\s|\\(]+(".concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")[,|\\s]+(").concat(CSS_UNIT, ")\\s*\\)?");
|
|
var matchers = {
|
|
CSS_UNIT: new RegExp(CSS_UNIT),
|
|
rgb: new RegExp("rgb" + PERMISSIVE_MATCH3),
|
|
rgba: new RegExp("rgba" + PERMISSIVE_MATCH4),
|
|
hsl: new RegExp("hsl" + PERMISSIVE_MATCH3),
|
|
hsla: new RegExp("hsla" + PERMISSIVE_MATCH4),
|
|
hsv: new RegExp("hsv" + PERMISSIVE_MATCH3),
|
|
hsva: new RegExp("hsva" + PERMISSIVE_MATCH4),
|
|
hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
|
|
hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,
|
|
hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,
|
|
hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/
|
|
};
|
|
function stringInputToObject(color) {
|
|
color = color.trim().toLowerCase();
|
|
if (color.length === 0) {
|
|
return false;
|
|
}
|
|
var named = false;
|
|
if (names[color]) {
|
|
color = names[color];
|
|
named = true;
|
|
} else if (color === "transparent") {
|
|
return { r: 0, g: 0, b: 0, a: 0, format: "name" };
|
|
}
|
|
var match = matchers.rgb.exec(color);
|
|
if (match) {
|
|
return { r: match[1], g: match[2], b: match[3] };
|
|
}
|
|
match = matchers.rgba.exec(color);
|
|
if (match) {
|
|
return { r: match[1], g: match[2], b: match[3], a: match[4] };
|
|
}
|
|
match = matchers.hsl.exec(color);
|
|
if (match) {
|
|
return { h: match[1], s: match[2], l: match[3] };
|
|
}
|
|
match = matchers.hsla.exec(color);
|
|
if (match) {
|
|
return { h: match[1], s: match[2], l: match[3], a: match[4] };
|
|
}
|
|
match = matchers.hsv.exec(color);
|
|
if (match) {
|
|
return { h: match[1], s: match[2], v: match[3] };
|
|
}
|
|
match = matchers.hsva.exec(color);
|
|
if (match) {
|
|
return { h: match[1], s: match[2], v: match[3], a: match[4] };
|
|
}
|
|
match = matchers.hex8.exec(color);
|
|
if (match) {
|
|
return {
|
|
r: parseIntFromHex(match[1]),
|
|
g: parseIntFromHex(match[2]),
|
|
b: parseIntFromHex(match[3]),
|
|
a: convertHexToDecimal(match[4]),
|
|
format: named ? "name" : "hex8"
|
|
};
|
|
}
|
|
match = matchers.hex6.exec(color);
|
|
if (match) {
|
|
return {
|
|
r: parseIntFromHex(match[1]),
|
|
g: parseIntFromHex(match[2]),
|
|
b: parseIntFromHex(match[3]),
|
|
format: named ? "name" : "hex"
|
|
};
|
|
}
|
|
match = matchers.hex4.exec(color);
|
|
if (match) {
|
|
return {
|
|
r: parseIntFromHex(match[1] + match[1]),
|
|
g: parseIntFromHex(match[2] + match[2]),
|
|
b: parseIntFromHex(match[3] + match[3]),
|
|
a: convertHexToDecimal(match[4] + match[4]),
|
|
format: named ? "name" : "hex8"
|
|
};
|
|
}
|
|
match = matchers.hex3.exec(color);
|
|
if (match) {
|
|
return {
|
|
r: parseIntFromHex(match[1] + match[1]),
|
|
g: parseIntFromHex(match[2] + match[2]),
|
|
b: parseIntFromHex(match[3] + match[3]),
|
|
format: named ? "name" : "hex"
|
|
};
|
|
}
|
|
return false;
|
|
}
|
|
function isValidCSSUnit(color) {
|
|
return Boolean(matchers.CSS_UNIT.exec(String(color)));
|
|
}
|
|
var TinyColor = function() {
|
|
function TinyColor2(color, opts) {
|
|
if (color === void 0) {
|
|
color = "";
|
|
}
|
|
if (opts === void 0) {
|
|
opts = {};
|
|
}
|
|
var _a2;
|
|
if (color instanceof TinyColor2) {
|
|
return color;
|
|
}
|
|
if (typeof color === "number") {
|
|
color = numberInputToObject(color);
|
|
}
|
|
this.originalInput = color;
|
|
var rgb = inputToRGB(color);
|
|
this.originalInput = color;
|
|
this.r = rgb.r;
|
|
this.g = rgb.g;
|
|
this.b = rgb.b;
|
|
this.a = rgb.a;
|
|
this.roundA = Math.round(100 * this.a) / 100;
|
|
this.format = (_a2 = opts.format) !== null && _a2 !== void 0 ? _a2 : rgb.format;
|
|
this.gradientType = opts.gradientType;
|
|
if (this.r < 1) {
|
|
this.r = Math.round(this.r);
|
|
}
|
|
if (this.g < 1) {
|
|
this.g = Math.round(this.g);
|
|
}
|
|
if (this.b < 1) {
|
|
this.b = Math.round(this.b);
|
|
}
|
|
this.isValid = rgb.ok;
|
|
}
|
|
TinyColor2.prototype.isDark = function() {
|
|
return this.getBrightness() < 128;
|
|
};
|
|
TinyColor2.prototype.isLight = function() {
|
|
return !this.isDark();
|
|
};
|
|
TinyColor2.prototype.getBrightness = function() {
|
|
var rgb = this.toRgb();
|
|
return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1e3;
|
|
};
|
|
TinyColor2.prototype.getLuminance = function() {
|
|
var rgb = this.toRgb();
|
|
var R;
|
|
var G;
|
|
var B;
|
|
var RsRGB = rgb.r / 255;
|
|
var GsRGB = rgb.g / 255;
|
|
var BsRGB = rgb.b / 255;
|
|
if (RsRGB <= 0.03928) {
|
|
R = RsRGB / 12.92;
|
|
} else {
|
|
R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);
|
|
}
|
|
if (GsRGB <= 0.03928) {
|
|
G = GsRGB / 12.92;
|
|
} else {
|
|
G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);
|
|
}
|
|
if (BsRGB <= 0.03928) {
|
|
B = BsRGB / 12.92;
|
|
} else {
|
|
B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);
|
|
}
|
|
return 0.2126 * R + 0.7152 * G + 0.0722 * B;
|
|
};
|
|
TinyColor2.prototype.getAlpha = function() {
|
|
return this.a;
|
|
};
|
|
TinyColor2.prototype.setAlpha = function(alpha) {
|
|
this.a = boundAlpha(alpha);
|
|
this.roundA = Math.round(100 * this.a) / 100;
|
|
return this;
|
|
};
|
|
TinyColor2.prototype.toHsv = function() {
|
|
var hsv = rgbToHsv(this.r, this.g, this.b);
|
|
return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };
|
|
};
|
|
TinyColor2.prototype.toHsvString = function() {
|
|
var hsv = rgbToHsv(this.r, this.g, this.b);
|
|
var h2 = Math.round(hsv.h * 360);
|
|
var s = Math.round(hsv.s * 100);
|
|
var v = Math.round(hsv.v * 100);
|
|
return this.a === 1 ? "hsv(".concat(h2, ", ").concat(s, "%, ").concat(v, "%)") : "hsva(".concat(h2, ", ").concat(s, "%, ").concat(v, "%, ").concat(this.roundA, ")");
|
|
};
|
|
TinyColor2.prototype.toHsl = function() {
|
|
var hsl = rgbToHsl(this.r, this.g, this.b);
|
|
return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };
|
|
};
|
|
TinyColor2.prototype.toHslString = function() {
|
|
var hsl = rgbToHsl(this.r, this.g, this.b);
|
|
var h2 = Math.round(hsl.h * 360);
|
|
var s = Math.round(hsl.s * 100);
|
|
var l = Math.round(hsl.l * 100);
|
|
return this.a === 1 ? "hsl(".concat(h2, ", ").concat(s, "%, ").concat(l, "%)") : "hsla(".concat(h2, ", ").concat(s, "%, ").concat(l, "%, ").concat(this.roundA, ")");
|
|
};
|
|
TinyColor2.prototype.toHex = function(allow3Char) {
|
|
if (allow3Char === void 0) {
|
|
allow3Char = false;
|
|
}
|
|
return rgbToHex(this.r, this.g, this.b, allow3Char);
|
|
};
|
|
TinyColor2.prototype.toHexString = function(allow3Char) {
|
|
if (allow3Char === void 0) {
|
|
allow3Char = false;
|
|
}
|
|
return "#" + this.toHex(allow3Char);
|
|
};
|
|
TinyColor2.prototype.toHex8 = function(allow4Char) {
|
|
if (allow4Char === void 0) {
|
|
allow4Char = false;
|
|
}
|
|
return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);
|
|
};
|
|
TinyColor2.prototype.toHex8String = function(allow4Char) {
|
|
if (allow4Char === void 0) {
|
|
allow4Char = false;
|
|
}
|
|
return "#" + this.toHex8(allow4Char);
|
|
};
|
|
TinyColor2.prototype.toRgb = function() {
|
|
return {
|
|
r: Math.round(this.r),
|
|
g: Math.round(this.g),
|
|
b: Math.round(this.b),
|
|
a: this.a
|
|
};
|
|
};
|
|
TinyColor2.prototype.toRgbString = function() {
|
|
var r = Math.round(this.r);
|
|
var g = Math.round(this.g);
|
|
var b = Math.round(this.b);
|
|
return this.a === 1 ? "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")") : "rgba(".concat(r, ", ").concat(g, ", ").concat(b, ", ").concat(this.roundA, ")");
|
|
};
|
|
TinyColor2.prototype.toPercentageRgb = function() {
|
|
var fmt = function(x) {
|
|
return "".concat(Math.round(bound01(x, 255) * 100), "%");
|
|
};
|
|
return {
|
|
r: fmt(this.r),
|
|
g: fmt(this.g),
|
|
b: fmt(this.b),
|
|
a: this.a
|
|
};
|
|
};
|
|
TinyColor2.prototype.toPercentageRgbString = function() {
|
|
var rnd = function(x) {
|
|
return Math.round(bound01(x, 255) * 100);
|
|
};
|
|
return this.a === 1 ? "rgb(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%)") : "rgba(".concat(rnd(this.r), "%, ").concat(rnd(this.g), "%, ").concat(rnd(this.b), "%, ").concat(this.roundA, ")");
|
|
};
|
|
TinyColor2.prototype.toName = function() {
|
|
if (this.a === 0) {
|
|
return "transparent";
|
|
}
|
|
if (this.a < 1) {
|
|
return false;
|
|
}
|
|
var hex2 = "#" + rgbToHex(this.r, this.g, this.b, false);
|
|
for (var _i = 0, _a2 = Object.entries(names); _i < _a2.length; _i++) {
|
|
var _b = _a2[_i], key = _b[0], value = _b[1];
|
|
if (hex2 === value) {
|
|
return key;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
TinyColor2.prototype.toString = function(format2) {
|
|
var formatSet = Boolean(format2);
|
|
format2 = format2 !== null && format2 !== void 0 ? format2 : this.format;
|
|
var formattedString = false;
|
|
var hasAlpha = this.a < 1 && this.a >= 0;
|
|
var needsAlphaFormat = !formatSet && hasAlpha && (format2.startsWith("hex") || format2 === "name");
|
|
if (needsAlphaFormat) {
|
|
if (format2 === "name" && this.a === 0) {
|
|
return this.toName();
|
|
}
|
|
return this.toRgbString();
|
|
}
|
|
if (format2 === "rgb") {
|
|
formattedString = this.toRgbString();
|
|
}
|
|
if (format2 === "prgb") {
|
|
formattedString = this.toPercentageRgbString();
|
|
}
|
|
if (format2 === "hex" || format2 === "hex6") {
|
|
formattedString = this.toHexString();
|
|
}
|
|
if (format2 === "hex3") {
|
|
formattedString = this.toHexString(true);
|
|
}
|
|
if (format2 === "hex4") {
|
|
formattedString = this.toHex8String(true);
|
|
}
|
|
if (format2 === "hex8") {
|
|
formattedString = this.toHex8String();
|
|
}
|
|
if (format2 === "name") {
|
|
formattedString = this.toName();
|
|
}
|
|
if (format2 === "hsl") {
|
|
formattedString = this.toHslString();
|
|
}
|
|
if (format2 === "hsv") {
|
|
formattedString = this.toHsvString();
|
|
}
|
|
return formattedString || this.toHexString();
|
|
};
|
|
TinyColor2.prototype.toNumber = function() {
|
|
return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);
|
|
};
|
|
TinyColor2.prototype.clone = function() {
|
|
return new TinyColor2(this.toString());
|
|
};
|
|
TinyColor2.prototype.lighten = function(amount) {
|
|
if (amount === void 0) {
|
|
amount = 10;
|
|
}
|
|
var hsl = this.toHsl();
|
|
hsl.l += amount / 100;
|
|
hsl.l = clamp01(hsl.l);
|
|
return new TinyColor2(hsl);
|
|
};
|
|
TinyColor2.prototype.brighten = function(amount) {
|
|
if (amount === void 0) {
|
|
amount = 10;
|
|
}
|
|
var rgb = this.toRgb();
|
|
rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));
|
|
rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));
|
|
rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));
|
|
return new TinyColor2(rgb);
|
|
};
|
|
TinyColor2.prototype.darken = function(amount) {
|
|
if (amount === void 0) {
|
|
amount = 10;
|
|
}
|
|
var hsl = this.toHsl();
|
|
hsl.l -= amount / 100;
|
|
hsl.l = clamp01(hsl.l);
|
|
return new TinyColor2(hsl);
|
|
};
|
|
TinyColor2.prototype.tint = function(amount) {
|
|
if (amount === void 0) {
|
|
amount = 10;
|
|
}
|
|
return this.mix("white", amount);
|
|
};
|
|
TinyColor2.prototype.shade = function(amount) {
|
|
if (amount === void 0) {
|
|
amount = 10;
|
|
}
|
|
return this.mix("black", amount);
|
|
};
|
|
TinyColor2.prototype.desaturate = function(amount) {
|
|
if (amount === void 0) {
|
|
amount = 10;
|
|
}
|
|
var hsl = this.toHsl();
|
|
hsl.s -= amount / 100;
|
|
hsl.s = clamp01(hsl.s);
|
|
return new TinyColor2(hsl);
|
|
};
|
|
TinyColor2.prototype.saturate = function(amount) {
|
|
if (amount === void 0) {
|
|
amount = 10;
|
|
}
|
|
var hsl = this.toHsl();
|
|
hsl.s += amount / 100;
|
|
hsl.s = clamp01(hsl.s);
|
|
return new TinyColor2(hsl);
|
|
};
|
|
TinyColor2.prototype.greyscale = function() {
|
|
return this.desaturate(100);
|
|
};
|
|
TinyColor2.prototype.spin = function(amount) {
|
|
var hsl = this.toHsl();
|
|
var hue = (hsl.h + amount) % 360;
|
|
hsl.h = hue < 0 ? 360 + hue : hue;
|
|
return new TinyColor2(hsl);
|
|
};
|
|
TinyColor2.prototype.mix = function(color, amount) {
|
|
if (amount === void 0) {
|
|
amount = 50;
|
|
}
|
|
var rgb1 = this.toRgb();
|
|
var rgb2 = new TinyColor2(color).toRgb();
|
|
var p = amount / 100;
|
|
var rgba = {
|
|
r: (rgb2.r - rgb1.r) * p + rgb1.r,
|
|
g: (rgb2.g - rgb1.g) * p + rgb1.g,
|
|
b: (rgb2.b - rgb1.b) * p + rgb1.b,
|
|
a: (rgb2.a - rgb1.a) * p + rgb1.a
|
|
};
|
|
return new TinyColor2(rgba);
|
|
};
|
|
TinyColor2.prototype.analogous = function(results, slices) {
|
|
if (results === void 0) {
|
|
results = 6;
|
|
}
|
|
if (slices === void 0) {
|
|
slices = 30;
|
|
}
|
|
var hsl = this.toHsl();
|
|
var part = 360 / slices;
|
|
var ret = [this];
|
|
for (hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results; ) {
|
|
hsl.h = (hsl.h + part) % 360;
|
|
ret.push(new TinyColor2(hsl));
|
|
}
|
|
return ret;
|
|
};
|
|
TinyColor2.prototype.complement = function() {
|
|
var hsl = this.toHsl();
|
|
hsl.h = (hsl.h + 180) % 360;
|
|
return new TinyColor2(hsl);
|
|
};
|
|
TinyColor2.prototype.monochromatic = function(results) {
|
|
if (results === void 0) {
|
|
results = 6;
|
|
}
|
|
var hsv = this.toHsv();
|
|
var h2 = hsv.h;
|
|
var s = hsv.s;
|
|
var v = hsv.v;
|
|
var res = [];
|
|
var modification = 1 / results;
|
|
while (results--) {
|
|
res.push(new TinyColor2({ h: h2, s, v }));
|
|
v = (v + modification) % 1;
|
|
}
|
|
return res;
|
|
};
|
|
TinyColor2.prototype.splitcomplement = function() {
|
|
var hsl = this.toHsl();
|
|
var h2 = hsl.h;
|
|
return [
|
|
this,
|
|
new TinyColor2({ h: (h2 + 72) % 360, s: hsl.s, l: hsl.l }),
|
|
new TinyColor2({ h: (h2 + 216) % 360, s: hsl.s, l: hsl.l })
|
|
];
|
|
};
|
|
TinyColor2.prototype.onBackground = function(background) {
|
|
var fg = this.toRgb();
|
|
var bg = new TinyColor2(background).toRgb();
|
|
return new TinyColor2({
|
|
r: bg.r + (fg.r - bg.r) * fg.a,
|
|
g: bg.g + (fg.g - bg.g) * fg.a,
|
|
b: bg.b + (fg.b - bg.b) * fg.a
|
|
});
|
|
};
|
|
TinyColor2.prototype.triad = function() {
|
|
return this.polyad(3);
|
|
};
|
|
TinyColor2.prototype.tetrad = function() {
|
|
return this.polyad(4);
|
|
};
|
|
TinyColor2.prototype.polyad = function(n) {
|
|
var hsl = this.toHsl();
|
|
var h2 = hsl.h;
|
|
var result = [this];
|
|
var increment = 360 / n;
|
|
for (var i = 1; i < n; i++) {
|
|
result.push(new TinyColor2({ h: (h2 + i * increment) % 360, s: hsl.s, l: hsl.l }));
|
|
}
|
|
return result;
|
|
};
|
|
TinyColor2.prototype.equals = function(color) {
|
|
return this.toRgbString() === new TinyColor2(color).toRgbString();
|
|
};
|
|
return TinyColor2;
|
|
}();
|
|
const _hoisted_1$G = {
|
|
key: 0,
|
|
class: "layui-tag-icon"
|
|
};
|
|
const _hoisted_2$B = ["onClick"];
|
|
const __default__$S = {
|
|
name: "LayTag"
|
|
};
|
|
const _sfc_main$V = defineComponent({
|
|
...__default__$S,
|
|
props: {
|
|
type: null,
|
|
color: null,
|
|
closable: { type: Boolean },
|
|
size: { default: "md" },
|
|
bordered: { type: Boolean, default: true },
|
|
disabled: { type: Boolean },
|
|
shape: { default: "square" },
|
|
maxWidth: null,
|
|
variant: { default: "dark" }
|
|
},
|
|
emits: ["close", "check", "update:checked"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const visible = ref(true);
|
|
const handleClose = (e) => {
|
|
if (props.disabled)
|
|
return;
|
|
emit("close", e);
|
|
};
|
|
const classTag = computed$1(() => [
|
|
"layui-tag",
|
|
`layui-tag-size-${props.size}`,
|
|
`layui-tag-shap-${props.shape}`,
|
|
{
|
|
[`layui-tag-variant-${props.variant}`]: props.variant,
|
|
[`layui-tag-variant-${props.variant}-bordered`]: props.bordered,
|
|
[`layui-tag-${props.type}-bordered`]: props.bordered,
|
|
[`layui-tag-${props.type}`]: props.type,
|
|
"layui-tag-bordered": props.bordered,
|
|
"layui-tag-disabled": props.disabled,
|
|
"layui-tag-ellipsis": props.maxWidth
|
|
}
|
|
]);
|
|
const styleTag = computed$1(() => {
|
|
var _a2;
|
|
return [
|
|
{
|
|
"max-width": (_a2 = props.maxWidth) != null ? _a2 : "unset",
|
|
...useTagCustomStyle(props).value
|
|
}
|
|
];
|
|
});
|
|
function useTagCustomStyle(props2) {
|
|
return computed$1(() => {
|
|
let styles = {};
|
|
const tagColor = props2.color;
|
|
if (tagColor) {
|
|
const color = new TinyColor(tagColor);
|
|
if (props2.variant === "dark") {
|
|
const isDark = color.getBrightness() < 190;
|
|
const textColor = isDark ? "#FFF" : "#000000";
|
|
styles = {
|
|
"--layui-tag-bg-color": tagColor,
|
|
"--layui-tag-border-color": props2.bordered ? tagColor : "transparent",
|
|
"--layui-tag-hover-color": tagColor,
|
|
"--layui-tag-text-color": textColor
|
|
};
|
|
} else if (props2.variant === "light") {
|
|
styles = {
|
|
"--layui-tag-bg-color": color.tint(90).toString(),
|
|
"--layui-tag-border-color": props2.bordered ? color.tint(50).toString() : "transparent",
|
|
"--layui-tag-hover-color": color.tint(90).toString(),
|
|
"--layui-tag-text-color": tagColor
|
|
};
|
|
} else if (props2.variant === "plain") {
|
|
styles = {
|
|
"--layui-tag-bg-color": "transparent",
|
|
"--layui-tag-border-color": props2.bordered ? tagColor : "transparent",
|
|
"--layui-tag-hover-color": "transparent",
|
|
"--layui-tag-text-color": tagColor
|
|
};
|
|
}
|
|
}
|
|
return styles;
|
|
});
|
|
}
|
|
return (_ctx, _cache) => {
|
|
return visible.value ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
class: normalizeClass(unref(classTag)),
|
|
style: normalizeStyle(unref(styleTag))
|
|
}, [
|
|
_ctx.$slots.icon ? (openBlock(), createElementBlock("span", _hoisted_1$G, [
|
|
renderSlot(_ctx.$slots, "icon")
|
|
])) : createCommentVNode("", true),
|
|
__props.maxWidth ? (openBlock(), createElementBlock("span", {
|
|
key: 1,
|
|
style: normalizeStyle(unref(styleTag)),
|
|
class: "layui-tag-text"
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 4)) : renderSlot(_ctx.$slots, "default", { key: 2 }),
|
|
__props.closable ? (openBlock(), createElementBlock("span", {
|
|
key: 3,
|
|
class: "layui-tag-close-icon",
|
|
onClick: withModifiers(handleClose, ["stop"])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "close-icon", {}, () => [
|
|
createVNode(unref(_sfc_main$2E), { type: "layui-icon-close" })
|
|
])
|
|
], 8, _hoisted_2$B)) : createCommentVNode("", true)
|
|
], 6)) : createCommentVNode("", true);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$F = { key: 0 };
|
|
const _hoisted_2$A = { class: "layui-tag-input-inner" };
|
|
const _hoisted_3$w = { class: "layui-tag-input-collapsed-panel" };
|
|
const _hoisted_4$o = ["disabled", "placeholder", "readonly", "onKeydown"];
|
|
const _hoisted_5$i = {
|
|
key: 1,
|
|
class: "layui-tag-input-clear"
|
|
};
|
|
const _hoisted_6$f = {
|
|
key: 2,
|
|
class: "layui-tag-input-suffix"
|
|
};
|
|
const __default__$R = {
|
|
name: "LayTagInput"
|
|
};
|
|
const _sfc_main$U = defineComponent({
|
|
...__default__$R,
|
|
props: {
|
|
modelValue: null,
|
|
inputValue: null,
|
|
disabled: { type: Boolean },
|
|
placeholder: { default: void 0 },
|
|
readonly: { type: Boolean },
|
|
allowClear: { type: Boolean },
|
|
max: null,
|
|
minCollapsedNum: { default: 0 },
|
|
collapseTagsTooltip: { type: Boolean },
|
|
size: { default: "md" },
|
|
tagProps: null,
|
|
disabledInput: { type: Boolean }
|
|
},
|
|
emits: [
|
|
"update:modelValue",
|
|
"update:inputValue",
|
|
"change",
|
|
"inputValueChange",
|
|
"remove",
|
|
"clear",
|
|
"focus",
|
|
"blur",
|
|
"pressEnter"
|
|
],
|
|
setup(__props, { expose, emit }) {
|
|
var _a2;
|
|
const props = __props;
|
|
const mirrorRefEl = shallowRef(void 0);
|
|
const inputRefEl = shallowRef(void 0);
|
|
const oldInputValue = ref("");
|
|
const compositionValue = ref("");
|
|
const isComposing = ref(false);
|
|
const inputStyle = reactive({ width: "15px" });
|
|
const _tagProps = reactive((_a2 = props.tagProps) != null ? _a2 : {});
|
|
const tagProps = reactiveOmit(_tagProps, "closable", "size", "disabled");
|
|
const inputValue = computed$1({
|
|
get() {
|
|
return props.inputValue;
|
|
},
|
|
set(val) {
|
|
emit("update:inputValue", val);
|
|
emit("inputValueChange", val);
|
|
}
|
|
});
|
|
const tagData = computed$1({
|
|
get() {
|
|
return props.modelValue;
|
|
},
|
|
set(val) {
|
|
emit("update:modelValue", val);
|
|
emit("change", val);
|
|
}
|
|
});
|
|
const normalizedTags = computed$1(() => {
|
|
var _a3;
|
|
return normalizedTagData((_a3 = tagData.value) != null ? _a3 : []);
|
|
});
|
|
const computedTagData = computed$1(() => {
|
|
var _a3;
|
|
if (!normalizedTags.value)
|
|
return;
|
|
return props.minCollapsedNum ? (_a3 = normalizedTags.value) == null ? void 0 : _a3.slice(0, props.minCollapsedNum) : normalizedTags.value;
|
|
});
|
|
const collapsedTagData = computed$1(() => {
|
|
var _a3, _b;
|
|
if (!normalizedTags.value)
|
|
return;
|
|
return props.minCollapsedNum && ((_a3 = normalizedTags.value) == null ? void 0 : _a3.length) > props.minCollapsedNum ? (_b = normalizedTags.value) == null ? void 0 : _b.slice(props.minCollapsedNum) : [];
|
|
});
|
|
const handleInput = function(e) {
|
|
if (isComposing.value) {
|
|
return;
|
|
}
|
|
inputValue.value = e.target.value;
|
|
};
|
|
const handleComposition = (e) => {
|
|
var _a3;
|
|
if (e.type === "compositionend") {
|
|
isComposing.value = false;
|
|
compositionValue.value = "";
|
|
handleInput(e);
|
|
} else {
|
|
isComposing.value = true;
|
|
compositionValue.value = inputValue.value + ((_a3 = e.data) != null ? _a3 : "");
|
|
}
|
|
};
|
|
const handleEnter = (e) => {
|
|
var _a3;
|
|
e.preventDefault();
|
|
const valueStr = inputValue.value ? String(inputValue.value).trim() : "";
|
|
if (!valueStr || !tagData.value)
|
|
return;
|
|
const isLimit = props.max && ((_a3 = tagData.value) == null ? void 0 : _a3.length) >= props.max;
|
|
if (!isLimit) {
|
|
tagData.value = tagData.value instanceof Array ? tagData.value.concat(String(valueStr)) : [valueStr];
|
|
inputValue.value = "";
|
|
}
|
|
emit("pressEnter", inputValue.value, e);
|
|
};
|
|
const handleBackspaceKeyUp = (e) => {
|
|
var _a3;
|
|
if (!tagData.value || !tagData.value.length)
|
|
return;
|
|
if (!oldInputValue.value && ["Backspace", "Delete"].includes(e.code)) {
|
|
const lastIndex = normalizedTags.value.length - 1;
|
|
handleClose(normalizedTags.value[lastIndex].value, lastIndex, e);
|
|
}
|
|
oldInputValue.value = (_a3 = inputValue.value) != null ? _a3 : "";
|
|
};
|
|
const handleFocus = (e) => {
|
|
var _a3;
|
|
emit("focus", e);
|
|
(_a3 = inputRefEl.value) == null ? void 0 : _a3.focus();
|
|
};
|
|
const handleBlur = (e) => {
|
|
var _a3;
|
|
emit("blur", e);
|
|
(_a3 = inputRefEl.value) == null ? void 0 : _a3.blur();
|
|
};
|
|
const handleClearClick = (e) => {
|
|
if (props.disabled || props.readonly || !props.allowClear) {
|
|
return;
|
|
}
|
|
tagData.value = [];
|
|
emit("clear", e);
|
|
};
|
|
const handleClose = (value, index2, e) => {
|
|
if (!tagData.value)
|
|
return;
|
|
const arr = [...tagData.value];
|
|
arr.splice(index2, 1);
|
|
tagData.value = arr;
|
|
emit("remove", value, e);
|
|
};
|
|
const handleMouseDown = (e) => {
|
|
if (inputRefEl.value) {
|
|
e.preventDefault();
|
|
inputRefEl.value.focus();
|
|
}
|
|
};
|
|
const setInputWidth = (width) => {
|
|
if (width > 15) {
|
|
inputStyle.width = `${width}px`;
|
|
} else {
|
|
inputStyle.width = "15px";
|
|
}
|
|
};
|
|
const handleResize = () => {
|
|
if (mirrorRefEl.value) {
|
|
setInputWidth(mirrorRefEl.value.offsetWidth);
|
|
}
|
|
};
|
|
const cls = computed$1(() => [
|
|
`layui-tag-input`,
|
|
`layui-tag-input-${props.size}`,
|
|
{
|
|
"layui-tag-input-disabled": props.disabled
|
|
}
|
|
]);
|
|
const normalizedTagData = (value) => value.map((item) => {
|
|
if (isObject$1(item))
|
|
return item;
|
|
return {
|
|
value: item,
|
|
label: String(item),
|
|
closable: true
|
|
};
|
|
});
|
|
useResizeObserver(mirrorRefEl, () => {
|
|
handleResize();
|
|
});
|
|
watch(() => inputValue.value, (val) => {
|
|
if (inputRefEl.value && !isComposing.value) {
|
|
nextTick(() => {
|
|
inputRefEl.value.value = val != null ? val : "";
|
|
});
|
|
}
|
|
});
|
|
const moreCount = computed$1(() => {
|
|
if (tagData.value && computedTagData.value) {
|
|
return tagData.value.length - computedTagData.value.length;
|
|
}
|
|
});
|
|
onMounted(() => {
|
|
handleResize();
|
|
});
|
|
expose({
|
|
focus: handleFocus,
|
|
blur: handleBlur
|
|
});
|
|
return (_ctx, _cache) => {
|
|
var _a3, _b, _c;
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(unref(cls)),
|
|
onMousedown: handleMouseDown
|
|
}, [
|
|
createElementVNode("span", {
|
|
ref_key: "mirrorRefEl",
|
|
ref: mirrorRefEl,
|
|
class: "layui-tag-input-mirror"
|
|
}, toDisplayString$1(compositionValue.value || unref(inputValue) || __props.placeholder), 513),
|
|
_ctx.$slots.prefix ? (openBlock(), createElementBlock("span", _hoisted_1$F, [
|
|
renderSlot(_ctx.$slots, "prefix")
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("span", _hoisted_2$A, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(computedTagData), (item, index2) => {
|
|
return openBlock(), createBlock(_sfc_main$V, mergeProps({
|
|
key: `${item}-${index2}`
|
|
}, unref(tagProps), {
|
|
closable: !__props.readonly && !__props.disabled && item.closable,
|
|
size: __props.size,
|
|
onClose: ($event) => handleClose(item.value, index2, $event)
|
|
}), {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString$1(item.label), 1)
|
|
]),
|
|
_: 2
|
|
}, 1040, ["closable", "size", "onClose"]);
|
|
}), 128)),
|
|
((_a3 = unref(computedTagData)) == null ? void 0 : _a3.length) != ((_b = unref(tagData)) == null ? void 0 : _b.length) ? (openBlock(), createBlock(_sfc_main$11, {
|
|
key: 0,
|
|
isDark: false,
|
|
trigger: "hover",
|
|
popperStyle: "padding:6px",
|
|
disabled: !__props.collapseTagsTooltip
|
|
}, {
|
|
content: withCtx(() => [
|
|
createElementVNode("div", _hoisted_3$w, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(collapsedTagData), (item, index2) => {
|
|
return openBlock(), createBlock(_sfc_main$V, mergeProps({
|
|
key: `${item}-${index2}`
|
|
}, unref(tagProps), {
|
|
closable: !__props.readonly && !__props.disabled && item.closable,
|
|
size: __props.size,
|
|
onClose: ($event) => {
|
|
var _a4;
|
|
return handleClose(item.value, index2 + ((_a4 = __props.minCollapsedNum) != null ? _a4 : 0), $event);
|
|
}
|
|
}), {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString$1(item.label), 1)
|
|
]),
|
|
_: 2
|
|
}, 1040, ["closable", "size", "onClose"]);
|
|
}), 128))
|
|
])
|
|
]),
|
|
default: withCtx(() => [
|
|
createVNode(_sfc_main$V, mergeProps(unref(tagProps), {
|
|
key: "more",
|
|
closable: false,
|
|
size: __props.size
|
|
}), {
|
|
default: withCtx(() => [
|
|
createTextVNode(" +" + toDisplayString$1(unref(moreCount)) + "... ", 1)
|
|
]),
|
|
_: 1
|
|
}, 16, ["size"])
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled"])) : createCommentVNode("", true),
|
|
!__props.disabledInput ? (openBlock(), createElementBlock("input", {
|
|
key: 1,
|
|
ref_key: "inputRefEl",
|
|
ref: inputRefEl,
|
|
class: "layui-tag-input-inner-input",
|
|
style: normalizeStyle(inputStyle),
|
|
disabled: __props.disabled,
|
|
placeholder: __props.placeholder,
|
|
readonly: __props.readonly,
|
|
onKeydown: withKeys(handleEnter, ["enter"]),
|
|
onKeyup: handleBackspaceKeyUp,
|
|
onInput: handleInput,
|
|
onFocus: handleFocus,
|
|
onBlur: handleBlur,
|
|
onCompositionstart: handleComposition,
|
|
onCompositionupdate: handleComposition,
|
|
onCompositionend: handleComposition
|
|
}, null, 44, _hoisted_4$o)) : createCommentVNode("", true)
|
|
]),
|
|
__props.allowClear && ((_c = unref(tagData)) == null ? void 0 : _c.length) && !__props.disabled ? (openBlock(), createElementBlock("span", _hoisted_5$i, [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: "layui-icon-close-fill",
|
|
onClick: withModifiers(handleClearClick, ["stop"])
|
|
}, null, 8, ["onClick"])
|
|
])) : createCommentVNode("", true),
|
|
_ctx.$slots.suffix ? (openBlock(), createElementBlock("span", _hoisted_6$f, [
|
|
renderSlot(_ctx.$slots, "suffix")
|
|
])) : createCommentVNode("", true)
|
|
], 34);
|
|
};
|
|
}
|
|
});
|
|
const __default__$Q = {
|
|
name: "LaySelectOption"
|
|
};
|
|
const _sfc_main$T = defineComponent({
|
|
...__default__$Q,
|
|
props: {
|
|
label: { default: "" },
|
|
value: null,
|
|
disabled: { type: Boolean, default: false },
|
|
keyword: { default: "" }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const searchValue = inject("searchValue");
|
|
const selectRef = inject("selectRef");
|
|
const selectedValue = inject("selectedValue");
|
|
const multiple = inject("multiple");
|
|
const checkboxRef = ref();
|
|
const handleSelect = () => {
|
|
var _a2;
|
|
if (multiple.value) {
|
|
if (!props.disabled) {
|
|
(_a2 = checkboxRef.value) == null ? void 0 : _a2.toggle();
|
|
}
|
|
} else {
|
|
if (!props.disabled) {
|
|
selectRef.value.hide();
|
|
selectedValue.value = props.value;
|
|
}
|
|
}
|
|
};
|
|
const selected = computed$1(() => {
|
|
if (multiple.value) {
|
|
return selectedValue.value.indexOf(props.value) != -1;
|
|
} else {
|
|
return selectedValue.value === props.value;
|
|
}
|
|
});
|
|
const display = computed$1(() => {
|
|
var _a2, _b;
|
|
return ((_a2 = props.keyword) == null ? void 0 : _a2.toString().indexOf(searchValue.value)) > -1 || ((_b = props.label) == null ? void 0 : _b.toString().indexOf(searchValue.value)) > -1;
|
|
});
|
|
const classes = computed$1(() => {
|
|
return [
|
|
"layui-select-option",
|
|
{
|
|
"layui-this": selected.value,
|
|
"layui-disabled": props.disabled
|
|
}
|
|
];
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return withDirectives((openBlock(), createElementBlock("dd", {
|
|
class: normalizeClass(unref(classes)),
|
|
onClick: handleSelect
|
|
}, [
|
|
unref(multiple) ? (openBlock(), createBlock(_sfc_main$$, {
|
|
key: 0,
|
|
skin: "primary",
|
|
ref_key: "checkboxRef",
|
|
ref: checkboxRef,
|
|
modelValue: unref(selectedValue),
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(selectedValue) ? selectedValue.value = $event : null),
|
|
disabled: __props.disabled,
|
|
value: __props.value
|
|
}, null, 8, ["modelValue", "disabled", "value"])) : createCommentVNode("", true),
|
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
createTextVNode(toDisplayString$1(__props.label), 1)
|
|
])
|
|
], 2)), [
|
|
[vShow, unref(display)]
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$E = { class: "layui-select" };
|
|
const _hoisted_2$z = { class: "layui-select-content" };
|
|
const _hoisted_3$v = {
|
|
key: 0,
|
|
class: "layui-select-search"
|
|
};
|
|
const __default__$P = {
|
|
name: "LaySelect"
|
|
};
|
|
const _sfc_main$S = defineComponent({
|
|
...__default__$P,
|
|
props: {
|
|
name: null,
|
|
disabled: { type: Boolean, default: false },
|
|
placeholder: null,
|
|
searchPlaceholder: null,
|
|
modelValue: { default: null },
|
|
multiple: { type: Boolean, default: false },
|
|
items: null,
|
|
size: { default: "md" },
|
|
collapseTagsTooltip: { type: Boolean, default: true },
|
|
minCollapsedNum: { default: 3 },
|
|
allowClear: { type: Boolean, default: false },
|
|
showSearch: { type: Boolean, default: false },
|
|
contentClass: null,
|
|
contentStyle: null
|
|
},
|
|
emits: ["update:modelValue", "change", "search"],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const slots = useSlots();
|
|
const selectRef = ref();
|
|
const searchValue = ref("");
|
|
const singleValue = ref("");
|
|
const multipleValue = ref([]);
|
|
const openState = ref(false);
|
|
const options = ref([]);
|
|
const composing = ref(false);
|
|
var timer;
|
|
const getOption = (nodes, newOptions) => {
|
|
nodes == null ? void 0 : nodes.map((item) => {
|
|
let component2 = item.type;
|
|
if (item.type.toString() == "Symbol(Fragment)") {
|
|
getOption(item.children, newOptions);
|
|
} else {
|
|
if (component2.name == _sfc_main$T.name) {
|
|
if (item.children) {
|
|
const label = item.children.default()[0].children;
|
|
if (typeof label == "string") {
|
|
item.props.label = label;
|
|
}
|
|
}
|
|
newOptions.push(item.props);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
const intOption = () => {
|
|
const newOptions = [];
|
|
if (slots.default) {
|
|
getOption(slots.default(), newOptions);
|
|
}
|
|
Object.assign(newOptions, props.items);
|
|
if (JSON.stringify(newOptions) != JSON.stringify(options.value)) {
|
|
options.value = newOptions;
|
|
}
|
|
};
|
|
const handleRemove = (value) => {
|
|
if (Array.isArray(selectedValue.value)) {
|
|
selectedValue.value = selectedValue.value.filter((item) => item != value);
|
|
}
|
|
};
|
|
const onCompositionstart = () => {
|
|
composing.value = true;
|
|
};
|
|
const onCompositionend = (event) => {
|
|
composing.value = false;
|
|
handleSearch(event.target.value);
|
|
};
|
|
onMounted(() => {
|
|
intOption();
|
|
timer = setInterval(intOption, 500);
|
|
watch([selectedValue, options], () => {
|
|
var _a2, _b;
|
|
if (multiple.value) {
|
|
multipleValue.value = (_a2 = selectedValue.value) == null ? void 0 : _a2.map((value) => {
|
|
return options.value.find((item) => {
|
|
item.disabled == "" || item.disabled == true ? item.closable = false : item.closable = true;
|
|
return item.value === value;
|
|
});
|
|
});
|
|
} else {
|
|
searchValue.value = "";
|
|
singleValue.value = (_b = options.value.find((item) => {
|
|
return item.value === selectedValue.value;
|
|
})) == null ? void 0 : _b.label;
|
|
}
|
|
}, { immediate: true, deep: true });
|
|
});
|
|
onUnmounted(() => {
|
|
clearInterval(timer);
|
|
});
|
|
const selectedValue = computed$1({
|
|
get() {
|
|
return props.modelValue;
|
|
},
|
|
set(value) {
|
|
emits("update:modelValue", value);
|
|
emits("change", value);
|
|
}
|
|
});
|
|
const multiple = computed$1(() => {
|
|
return props.multiple;
|
|
});
|
|
const handleSearch = (value) => {
|
|
if (composing.value)
|
|
return;
|
|
emits("search", value);
|
|
searchValue.value = value;
|
|
};
|
|
const handleClear = () => {
|
|
if (multiple.value) {
|
|
selectedValue.value = [];
|
|
} else {
|
|
selectedValue.value = "";
|
|
}
|
|
};
|
|
provide("selectRef", selectRef);
|
|
provide("openState", openState);
|
|
provide("selectedValue", selectedValue);
|
|
provide("searchValue", searchValue);
|
|
provide("multiple", multiple);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$E, [
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "selectRef",
|
|
ref: selectRef,
|
|
disabled: __props.disabled,
|
|
contentClass: __props.contentClass,
|
|
contentStyle: __props.contentStyle,
|
|
"update-at-scroll": true,
|
|
autoFitWidth: true,
|
|
onHide: _cache[1] || (_cache[1] = ($event) => openState.value = false),
|
|
onShow: _cache[2] || (_cache[2] = ($event) => openState.value = true)
|
|
}, {
|
|
content: withCtx(() => [
|
|
createElementVNode("dl", _hoisted_2$z, [
|
|
unref(multiple) && __props.showSearch ? (openBlock(), createElementBlock("div", _hoisted_3$v, [
|
|
createVNode(_sfc_main$1v, {
|
|
modelValue: searchValue.value,
|
|
placeholder: __props.searchPlaceholder,
|
|
onInput: handleSearch,
|
|
onCompositionstart,
|
|
onCompositionend,
|
|
"prefix-icon": "layui-icon-search",
|
|
size: "sm"
|
|
}, null, 8, ["modelValue", "placeholder"])
|
|
])) : createCommentVNode("", true),
|
|
__props.items ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(__props.items, (item, index2) => {
|
|
return openBlock(), createBlock(_sfc_main$T, mergeProps(item, { key: index2 }), null, 16);
|
|
}), 128)) : createCommentVNode("", true),
|
|
renderSlot(_ctx.$slots, "default")
|
|
])
|
|
]),
|
|
default: withCtx(() => [
|
|
unref(multiple) ? (openBlock(), createBlock(_sfc_main$U, {
|
|
key: 0,
|
|
modelValue: multipleValue.value,
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => multipleValue.value = $event),
|
|
"allow-clear": __props.allowClear,
|
|
placeholder: __props.placeholder,
|
|
collapseTagsTooltip: __props.collapseTagsTooltip,
|
|
minCollapsedNum: __props.minCollapsedNum,
|
|
disabledInput: true,
|
|
disabled: __props.disabled,
|
|
size: __props.size,
|
|
class: normalizeClass({ "layui-unselect": true }),
|
|
onRemove: handleRemove,
|
|
onClear: handleClear
|
|
}, {
|
|
suffix: withCtx(() => [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: "layui-icon-triangle-d",
|
|
class: normalizeClass({ triangle: openState.value })
|
|
}, null, 8, ["class"])
|
|
]),
|
|
_: 1
|
|
}, 8, ["modelValue", "allow-clear", "placeholder", "collapseTagsTooltip", "minCollapsedNum", "disabled", "size"])) : (openBlock(), createBlock(_sfc_main$1v, {
|
|
key: 1,
|
|
modelValue: singleValue.value,
|
|
placeholder: __props.placeholder,
|
|
"allow-clear": __props.allowClear,
|
|
readonly: !__props.showSearch,
|
|
disabled: __props.disabled,
|
|
class: normalizeClass({ "layui-unselect": !__props.showSearch }),
|
|
size: __props.size,
|
|
onCompositionstart,
|
|
onCompositionend,
|
|
onInput: handleSearch,
|
|
onClear: handleClear
|
|
}, {
|
|
suffix: withCtx(() => [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: "layui-icon-triangle-d",
|
|
class: normalizeClass({ triangle: openState.value })
|
|
}, null, 8, ["class"])
|
|
]),
|
|
_: 1
|
|
}, 8, ["modelValue", "placeholder", "allow-clear", "readonly", "disabled", "class", "size"]))
|
|
]),
|
|
_: 3
|
|
}, 8, ["disabled", "contentClass", "contentStyle"])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$I = withInstall(_sfc_main$S);
|
|
const component$H = withInstall(_sfc_main$T);
|
|
const component$G = withInstall(_sfc_main$1u);
|
|
var _imports_0 = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjYyMHB4IiBoZWlnaHQ9IjIwMHB4IiB2aWV3Qm94PSIwIDAgNjIwIDIwMCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8dGl0bGU+R3JvdXAgMzU8L3RpdGxlPg0KICAgIDxkZWZzPg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjEwMCUiIHkxPSIyOC4zODU1MzY1JSIgeDI9IjUwJSIgeTI9IjYwLjEyODI3NjglIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjQTNCMUJGIiBzdG9wLW9wYWNpdHk9IjAiIG9mZnNldD0iMCUiPjwvc3RvcD4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNBM0IxQkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9Ii0xLjExMDIyMzAyZS0xNCUiIHkxPSI1MCUiIHgyPSIxMDAlIiB5Mj0iNTAlIiBpZD0ibGluZWFyR3JhZGllbnQtMiI+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjQTNCMUJGIiBzdG9wLW9wYWNpdHk9IjAiIG9mZnNldD0iMCUiPjwvc3RvcD4NCiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiNBM0IxQkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPg0KICAgICAgICA8L2xpbmVhckdyYWRpZW50Pg0KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjEwMCUiIHkxPSI1MCUiIHgyPSIyLjc3MDUwMjE3JSIgeTI9IjUwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTMiPg0KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI0EzQjFCRiIgc3RvcC1vcGFjaXR5PSIwIiBvZmZzZXQ9IjAlIj48L3N0b3A+DQogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjQTNCMUJGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4NCiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4NCiAgICA8L2RlZnM+DQogICAgPGcgaWQ9IuahhuaetuiuvuiuoS3ov4fnqIvniYgiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPg0KICAgICAgICA8ZyBpZD0i57y655yB5Zu+IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTU0My4wMDAwMDAsIC0xNTQuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMzUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1NDMuMDAwMDAwLCAxNTQuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgPGcgaWQ9IuaaguaXoOaVsOaNriIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTcuMDAwMDAwLCAzLjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTI3LjQyNDAyMSw1OS41Mzg4MTI4IEMxMjYuNjA2NTk5LDU4LjQwNjM5MjcgMTI1LjQzODI2Myw1Ny40MjgwMTE0IDEyMy45NTg3ODUsNTcuNDI4MDExNCBDMTIzLjM0NDI5MSw1Ny40MjgwMTE0IDEyMi41NDA3NzQsNTcuNTYzMzQwNyAxMjEuOTc2Mzc4LDU3LjgwMDE3NDggTDEyMS4yODY2NDksNTguMTUzMTI1NiBMMTIxLjEyMDUwMSw1Ny40MjgwMTE0IEMxMjAuNjQyMzM3LDU1LjU3MDcyODcgMTE4LjU1NDY4Niw1My44NTc4MDU0IDExNi4zMzk1OTEsNTMuODU3ODA1NCBDMTE0LjQ0MDMwNCw1My44NTc4MDU0IDExMi42NDcyODIsNTQuNzgwNjg2NCAxMTEuODkzMjc0LDU2LjQ1Njc4OTkgTDExMS42ODU5MDcsNTYuOTE4ODkwMyBDMTEwLjg3OTQ4NCw1Ni44MzkwMjEzIDExMC40MDg4NDIsNTYuNzk5MDg2OCAxMTAuMjczOTc5LDU2Ljc5OTA4NjggQzEwOC44MDcxODQsNTYuNzk5MDg2OCAxMDcuOTE4MjM3LDU4LjE3MDc3NjMgMTA3Ljc2MDMzMyw1OS41Mzg4MTI4IEwxMjcuNDI0MDIxLDU5LjUzODgxMjggWiBNMTE2LjI1NjMxNyw1MS42MjQwNDg3IEMxMTguODM4MzU2LDUxLjYyNDA0ODcgMTIxLjIxMjE3Nyw1My4wNjMzMTgxIDEyMi40MjgwMDYsNTUuMzI4MTU4MyBDMTIyLjcwMjU4OCw1NS4yOTQwNjM5IDEyMi45ODAyMTMsNTUuMjc3MDE2NyAxMjMuMjU3ODM5LDU1LjI3NzAxNjcgQzEyNi4xOTQ4MjUsNTUuMjc3MDE2NyAxMjguNzYyMjUzLDU3LjE2MDczMDYgMTI5LjY0NjI3MSw1OS45NjQzODM2IEwxMjkuNjc0Mjc3LDYwLjA1Mzg4MTMgTDEyOS42NzQyNzcsNjEuNjM3MTU4NyBMOTEuOTMwODA1Myw2MS42MzcxNTg3IEw5MS45MzA4MDUzLDU5LjUzODgxMjggTDEwNS42MTA5NTksNTkuNTM4ODEyOCBDMTA1Ljc2MzE2Niw1Ni45MjYzMzE4IDEwNy44NjE3OTYsNTQuODI4MzEwNSAxMTAuNDc0Mjc3LDU0LjY3NjcxMjMgQzExMS43Nzk2MDQsNTIuNzU4OTA0MSAxMTMuOTE3MTk5LDUxLjYyNDA0ODcgMTE2LjI1NjMxNyw1MS42MjQwNDg3IFogTTk4LjAxNTIyMDcsNTUuMjc3MDE2NyBMOTguMDE1MjIwNyw1Ny4zMzg5NDYgTDg1LjgzODY2MDYsNTcuMzM4OTQ2IEw4NS44Mzg2NjA2LDU1LjI3NzAxNjcgTDk4LjAxNTIyMDcsNTUuMjc3MDE2NyBaIiBpZD0iY2xvdWQ0LWNvcHkiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQxLjU4NTM2MDgsMTI4LjkxNDc2NCBDNDAuNzY3OTM4MSwxMjcuNzgyMzQ0IDM5LjU5OTYwMjcsMTI2LjgwMzk2MyAzOC4xMjAxMjQ2LDEyNi44MDM5NjMgQzM3LjUwNTYzMDcsMTI2LjgwMzk2MyAzNi43MDIxMTM0LDEyNi45MzkyOTIgMzYuMTM3NzE3NiwxMjcuMTc2MTI2IEwzNS40NDc5ODg3LDEyNy41MjkwNzcgTDM1LjI4MTg0MDcsMTI2LjgwMzk2MyBDMzQuODAzNjc2OCwxMjQuOTQ2NjggMzIuNzE2MDI1NiwxMjMuMjMzNzU3IDMwLjUwMDkzMDUsMTIzLjIzMzc1NyBDMjguNjAxNjQzNCwxMjMuMjMzNzU3IDI2LjgwODYyMTQsMTI0LjE1NjYzOCAyNi4wNTQ2MTM5LDEyNS44MzI3NDEgTDI1Ljg0NzI0NiwxMjYuMjk0ODQyIEMyNS4wNDA4MjM4LDEyNi4yMTQ5NzMgMjQuNTcwMTgxMSwxMjYuMTc1MDM4IDI0LjQzNTMxOCwxMjYuMTc1MDM4IEMyMi45Njg1MjMsMTI2LjE3NTAzOCAyMi4wNzk1NzY4LDEyNy41NDY3MjggMjEuOTIxNjcyOSwxMjguOTE0NzY0IEw0MS41ODUzNjA4LDEyOC45MTQ3NjQgWiBNMzAuNDE3NjU2LDEyMSBDMzIuOTk5Njk1NiwxMjEgMzUuMzczNTE2LDEyMi40MzkyNjkgMzYuNTg5MzQ1NSwxMjQuNzA0MTEgQzM2Ljg2MzkyNjksMTI0LjY3MDAxNSAzNy4xNDE1NTI1LDEyNC42NTI5NjggMzcuNDE5MTc4MSwxMjQuNjUyOTY4IEM0MC4zNTYxNjQ0LDEyNC42NTI5NjggNDIuOTIzNTkyMSwxMjYuNTM2NjgyIDQzLjgwNzYxMDQsMTI5LjM0MDMzNSBMNDMuODM1NjE2NCwxMjkuNDI5ODMzIEw0My44MzU2MTY0LDEzMS4wMTMxMSBMNi4wOTIxNDQ2OSwxMzEuMDEzMTEgTDYuMDkyMTQ0NjksMTI4LjkxNDc2NCBMMTkuNzcyMjk4MywxMjguOTE0NzY0IEMxOS45MjQ1MDUzLDEyNi4zMDIyODMgMjIuMDIzMTM1NSwxMjQuMjA0MjYyIDI0LjYzNTYxNjQsMTI0LjA1MjY2NCBDMjUuOTQwOTQzNywxMjIuMTM0ODU1IDI4LjA3ODUzODgsMTIxIDMwLjQxNzY1NiwxMjEgWiBNMTIuMTc2NTYwMSwxMjQuNjUyOTY4IEwxMi4xNzY1NjAxLDEyNi43MTQ4OTcgTDEuMTk3MjY0NTFlLTEyLDEyNi43MTQ4OTcgTDEuMTk3MjY0NTFlLTEyLDEyNC42NTI5NjggTDEyLjE3NjU2MDEsMTI0LjY1Mjk2OCBaIiBpZD0iY2xvdWQzIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01MDMuNTg1MzYxLDEyOC45MTQ3NjQgQzUwMi43Njc5MzgsMTI3Ljc4MjM0NCA1MDEuNTk5NjAzLDEyNi44MDM5NjMgNTAwLjEyMDEyNSwxMjYuODAzOTYzIEM0OTkuNTA1NjMxLDEyNi44MDM5NjMgNDk4LjcwMjExMywxMjYuOTM5MjkyIDQ5OC4xMzc3MTgsMTI3LjE3NjEyNiBMNDk3LjQ0Nzk4OSwxMjcuNTI5MDc3IEw0OTcuMjgxODQxLDEyNi44MDM5NjMgQzQ5Ni44MDM2NzcsMTI0Ljk0NjY4IDQ5NC43MTYwMjYsMTIzLjIzMzc1NyA0OTIuNTAwOTMsMTIzLjIzMzc1NyBDNDkwLjYwMTY0MywxMjMuMjMzNzU3IDQ4OC44MDg2MjEsMTI0LjE1NjYzOCA0ODguMDU0NjE0LDEyNS44MzI3NDEgTDQ4Ny44NDcyNDYsMTI2LjI5NDg0MiBDNDg3LjA0MDgyNCwxMjYuMjE0OTczIDQ4Ni41NzAxODEsMTI2LjE3NTAzOCA0ODYuNDM1MzE4LDEyNi4xNzUwMzggQzQ4NC45Njg1MjMsMTI2LjE3NTAzOCA0ODQuMDc5NTc3LDEyNy41NDY3MjggNDgzLjkyMTY3MywxMjguOTE0NzY0IEw1MDMuNTg1MzYxLDEyOC45MTQ3NjQgWiBNNDkyLjQxNzY1NiwxMjEgQzQ5NC45OTk2OTYsMTIxIDQ5Ny4zNzM1MTYsMTIyLjQzOTI2OSA0OTguNTg5MzQ2LDEyNC43MDQxMSBDNDk4Ljg2MzkyNywxMjQuNjcwMDE1IDQ5OS4xNDE1NTMsMTI0LjY1Mjk2OCA0OTkuNDE5MTc4LDEyNC42NTI5NjggQzUwMi4zNTYxNjQsMTI0LjY1Mjk2OCA1MDQuOTIzNTkyLDEyNi41MzY2ODIgNTA1LjgwNzYxLDEyOS4zNDAzMzUgTDUwNS44MzU2MTYsMTI5LjQyOTgzMyBMNTA1LjgzNTYxNiwxMzEuMDEzMTEgTDQ2OC4wOTIxNDUsMTMxLjAxMzExIEw0NjguMDkyMTQ1LDEyOC45MTQ3NjQgTDQ4MS43NzIyOTgsMTI4LjkxNDc2NCBDNDgxLjkyNDUwNSwxMjYuMzAyMjgzIDQ4NC4wMjMxMzUsMTI0LjIwNDI2MiA0ODYuNjM1NjE2LDEyNC4wNTI2NjQgQzQ4Ny45NDA5NDQsMTIyLjEzNDg1NSA0OTAuMDc4NTM5LDEyMSA0OTIuNDE3NjU2LDEyMSBaIE00NzQuMTc2NTYsMTI0LjY1Mjk2OCBMNDc0LjE3NjU2LDEyNi43MTQ4OTcgTDQ2MiwxMjYuNzE0ODk3IEw0NjIsMTI0LjY1Mjk2OCBMNDc0LjE3NjU2LDEyNC42NTI5NjggWiIgaWQ9ImNsb3VkMyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDA0LjU0Mjg1NywxMi43NzI0MTkxIEMzOTMuODQ5NTU5LDQ1LjQ4MzkzNTIgMzcyLjE1NDk3OSw1OC4yMDk4OTM1IDMzOS40NTkxMTcsNTAuOTUwMjk0IEMyNzcuMTE2Mzk3LDM1Ljc2MzcxNDkgMzYyLjQ0NzE2LC0yMy41OTg1NDQyIDM0Ny42NjI3LDUzLjg4MDc5MzIgQzM0Mi41NDI2MjEsODAuNzEzMDQxNSAzMTcuNDc5MTQ3LDk5LjY4MDE2MTYgMjcyLjQwMjcyLDk5LjY1Mjg1MjciIGlkPSJQYXRoLTQiIHN0cm9rZT0idXJsKCNsaW5lYXJHcmFkaWVudC0xKSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIGZpbGwtcnVsZT0ibm9uemVybyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzM4LjQ3Mjc4OSwgNTYuMjEyNjM2KSByb3RhdGUoMTEuMDAwMDAwKSB0cmFuc2xhdGUoLTMzOC40NzI3ODksIC01Ni4yMTI2MzYpICI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzYyLjAwMDExMiw3My45NDk3NzIzIEMzNjIuNjcwNjcxLDczLjk0OTc3MjMgMzYzLjIxNDA3Niw3My40MDYzNDU3IDM2My4yMTQwNzYsNzIuNzM1ODA4NCBMMzYzLjIxNDA3Niw3MS4yMTM5NjM5IEMzNjMuMjE0MDc2LDcwLjU0MzQyNjUgMzYyLjY3MDY0OSw3MCAzNjIuMDAwMTM0LDcwIEMzNjEuMzI5NjE5LDcwIDM2MC43ODYxMjUsNzAuNTQzNDQ4OSAzNjAuNzg2MTI1LDcxLjIxMzk2MzkgTDM2MC43ODYxMjUsNzIuNzM1ODA4NCBDMzYwLjc4NjEyNSw3My40MDYzMjM0IDM2MS4zMjk1NzQsNzMuOTQ5NzcyMyAzNjIuMDAwMTM0LDczLjk0OTc3MjMgTDM2Mi4wMDAxMTIsNzMuOTQ5NzcyMyBaIE0zNjIuMDAwMTEyLDg2LjA1MDIwNTQgQzM2MS4zMjk1NzQsODYuMDUwMjA1NCAzNjAuNzg2MTQ4LDg2LjU5MzY1NDMgMzYwLjc4NjE0OCw4Ny4yNjQxNjkzIEwzNjAuNzg2MTQ4LDg4Ljc4NTk5MTUgQzM2MC43ODYxNDgsODkuNDU2NTUxMSAzNjEuMzI5NTk3LDg5Ljk5OTk3NzcgMzYyLjAwMDEzNCw4OS45OTk5Nzc3IEMzNjIuNjcwNjcxLDg5Ljk5OTk3NzcgMzYzLjIxNDA3Niw4OS40NTY1Mjg4IDM2My4yMTQwNzYsODguNzg1OTkxNSBMMzYzLjIxNDA3Niw4Ny4yNjQxOTE2IEMzNjMuMjE0MDc2LDg2LjU5MzY1NDMgMzYyLjY3MDY0OSw4Ni4wNTAyMDU0IDM2Mi4wMDAxMzQsODYuMDUwMjA1NCBMMzYyLjAwMDExMiw4Ni4wNTAyMDU0IFogTTM3MC43ODYwNTgsNzguNzg2MTI1NSBMMzY5LjI2NDIzNiw3OC43ODYxMjU1IEMzNjguNTkzNjc3LDc4Ljc4NjEyNTUgMzY4LjA1MDQyOSw3OS4zMjkzNzMzIDM2OC4wNTA0MjksODAuMDAwMDg5NCBDMzY4LjA1MDQyOSw4MC42NzA0NDggMzY4LjU5MzY3Nyw4MS4yMTM4OTY5IDM2OS4yNjQyMzYsODEuMjEzODk2OSBMMzcwLjc4NjA1OCw4MS4yMTM4OTY5IEMzNzEuNDU2NTk2LDgxLjIxMzg5NjkgMzcyLDgwLjY3MDQ0OCAzNzIsODAuMDAwMDg5NCBDMzcyLDc5LjMyOTM3MzMgMzcxLjQ1NjU3Myw3OC43ODYxMjU1IDM3MC43ODYwNTgsNzguNzg2MTI1NSBMMzcwLjc4NjA1OCw3OC43ODYxMjU1IFogTTM1NS45NDk3OTUsODAuMDAwMDg5NCBDMzU1Ljk0OTc5NSw3OS4zMjkzNzMzIDM1NS40MDYzNDYsNzguNzg2MTI1NSAzNTQuNzM1ODA4LDc4Ljc4NjEyNTUgTDM1My4yMTM5ODYsNzguNzg2MTI1NSBDMzUyLjU0NDAzLDc4Ljc4NjEyNTUgMzUyLDc5LjMyOTM3MzMgMzUyLDgwLjAwMDA4OTQgQzM1Miw4MC42NzA0NDggMzUyLjU0NDAzLDgxLjIxMzg5NjkgMzUzLjIxMzk4Niw4MS4yMTM4OTY5IEwzNTQuNzM1ODA4LDgxLjIxMzg5NjkgQzM1NS40MDYzNjgsODEuMjEzODk2OSAzNTUuOTQ5Nzk1LDgwLjY3MDQ0OCAzNTUuOTQ5Nzk1LDgwLjAwMDA4OTQgWiBNMzY3Ljk5NTQyOSw4NC4yNzg0NTA4IEMzNjcuNTIxMTY1LDgzLjgwNDM2NTYgMzY2Ljc1MzEzOSw4My44MDQzNjU2IDM2Ni4yNzg0NzMsODQuMjc4NDUwOCBDMzY1LjgwNDM4OCw4NC43NTI3MTQ4IDM2NS44MDQzODgsODUuNTIxMDk4NCAzNjYuMjc4NDczLDg1Ljk5NTE4MzYgTDM2Ny4zNTQ3MTUsODcuMDcxMDIzNCBDMzY3LjU5MTQ2Nyw4Ny4zMDgxNTU0IDM2Ny45MDIwMjksODcuNDI2OTMzNiAzNjguMjEzMTcxLDg3LjQyNjkzMzYgQzM2OC41MjM3MzIsODcuNDI2OTMzNiAzNjguODM0MTE1LDg3LjMwODE3NzggMzY5LjA3MTA0Niw4Ny4wNzEwMjM0IEMzNjkuNTQ1NTMzLDg2LjU5Njc1OTUgMzY5LjU0NTUzMyw4NS44Mjg1NzY5IDM2OS4wNzEwNDYsODUuMzU0NDY5MyBMMzY3Ljk5NTQwNyw4NC4yNzg0NTA4IEwzNjcuOTk1NDI5LDg0LjI3ODQ1MDggWiBNMzU2LjAwNDIzNiw3NS43MjE5MjkgQzM1Ni4yNDE1NjksNzUuOTU5MjYyIDM1Ni41NTI3MzMsNzYuMDc3NDM3MSAzNTYuODYzMjcyLDc2LjA3NzQzNzEgQzM1Ny4xNzQwMTIsNzYuMDc3NDM3MSAzNTcuNDg0Mzk1LDc1Ljk1OTI2MiAzNTcuNzIxNzI4LDc1LjcyMjQ4NzQgQzM1OC4xOTU4MTMsNzUuMjQ4NDAyMiAzNTguMTk1ODEzLDc0LjQ3OTgzOTkgMzU3LjcyMjEwOCw3NC4wMDUxOTYxIEwzNTYuNjQ2MDg5LDcyLjkyODk1NDIgQzM1Ni4xNzIzODQsNzIuNDU1NDcyMSAzNTUuNDAzNjIsNzIuNDU1NDcyMSAzNTQuOTI4OTU0LDcyLjkyNzk5MzYgQzM1NC40NTQ2OSw3My40MDI2NTk3IDM1NC40NTQ2OSw3NC4xNzEyNDQ0IDM1NC45Mjg1NzQsNzQuNjQ1MzA3MyBMMzU2LjAwNDIzNiw3NS43MjE5MjkgWiBNMzU2LjAwNDgzOSw4NC4yNzg0NTA4IEwzNTQuOTI4OTk5LDg1LjM1NDQ5MTcgQzM1NC40NTQ3MzUsODUuODI4NTc2OSAzNTQuNDU0NzM1LDg2LjU5Njc4MTggMzU0LjkyODk5OSw4Ny4wNzEwMjM0IEMzNTUuMTY1NTcyLDg3LjMwODE1NTQgMzU1LjQ3NjcxNSw4Ny40MjY5MzM2IDM1NS43ODc2NTYsODcuNDI2OTMzNiBDMzU2LjA5NzgzNyw4Ny40MjY5MzM2IDM1Ni40MDg4MDEsODcuMzA4MTc3OCAzNTYuNjQ1NTMxLDg3LjA3MTAyMzQgTDM1Ny43MjE3NSw4NS45OTUxODM2IEMzNTguMTk1ODM2LDg1LjUyMTA5ODQgMzU4LjE5NTgzNiw4NC43NTI3NTk1IDM1Ny43MjE3NSw4NC4yNzg0NTA4IEMzNTcuMjQ3NjY1LDgzLjgwNDM4NzkgMzU2LjQ3ODM0Myw4My44MDQzODc5IDM1Ni4wMDQ4MzksODQuMjc4NDUwOCBMMzU2LjAwNDgzOSw4NC4yNzg0NTA4IFogTTM2Ny4xMzcxMyw3Ni4wNzc0MzcxIEMzNjcuNDQ3NTEzLDc2LjA3NzQzNzEgMzY3Ljc1OTA1Nyw3NS45NTkyNjIgMzY3Ljk5NTc4Nyw3NS43MjE5MjkgTDM2OS4wNzE4MjgsNzQuNjQ1MzA3MyBDMzY5LjU0NTUxMSw3NC4xNzEyNDQ0IDM2OS41NDU1MTEsNzMuNDAyNjU5NyAzNjkuMDcxMDQ2LDcyLjkyNzk5MzYgQzM2OC41OTY3ODIsNzIuNDU1NDcyMSAzNjcuODI4NDIxLDcyLjQ1NDUxMTUgMzY3LjM1Mzc1NCw3Mi45Mjg5NTQyIEwzNjYuMjc4MTE2LDc0LjAwNTE5NjEgQzM2NS44MDQ0MSw3NC40Nzk4NjIyIDM2NS44MDQ0MSw3NS4yNDg0MjQ1IDM2Ni4yNzg0OTUsNzUuNzIyNDg3NCBDMzY2LjUxNTgwNiw3NS45NTkyNjIgMzY2LjgyNjM2OCw3Ni4wNzc0MzcxIDM2Ny4xMzcxMyw3Ni4wNzc0MzcxIFoiIGlkPSJTaGFwZSIgc3Ryb2tlPSIjQTNCMUJGIiBmaWxsPSIjQTNCMUJGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuNDAzMjczODEiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQwMS44MDE4MjksMjIuMDIzNjU0MSBDNDAyLjM4NzYxNSwyMi42MDk0NDA2IDQwMi4zODc2MTUsMjMuNTU5MTg4IDQwMS44MDE4MjksMjQuMTQ0OTc0NSBMNDAwLjAzMzMxNCwyNS45MTIzMTQzIEw0MDEuODAxODI5LDI3LjY4MDUwODQgQzQwMi4zODc2MTUsMjguMjY2Mjk0OCA0MDIuMzg3NjE1LDI5LjIxNjA0MjMgNDAxLjgwMTgyOSwyOS44MDE4Mjg3IEM0MDEuMjE2MDQyLDMwLjM4NzYxNTEgNDAwLjI2NjI5NSwzMC4zODc2MTUxIDM5OS42ODA1MDgsMjkuODAxODI4NyBMMzk3LjkxMjMxNCwyOC4wMzMzMTQzIEwzOTYuMTQ0OTc0LDI5LjgwMTgyODcgQzM5NS41NTkxODgsMzAuMzg3NjE1MSAzOTQuNjA5NDQxLDMwLjM4NzYxNTEgMzk0LjAyMzY1NCwyOS44MDE4Mjg3IEMzOTMuNDM3ODY4LDI5LjIxNjA0MjMgMzkzLjQzNzg2OCwyOC4yNjYyOTQ4IDM5NC4wMjM2NTQsMjcuNjgwNTA4NCBMMzk1Ljc5MTMxNCwyNS45MTIzMTQzIEwzOTQuMDIzNjU0LDI0LjE0NDk3NDUgQzM5My40Mzc4NjgsMjMuNTU5MTg4IDM5My40Mzc4NjgsMjIuNjA5NDQwNiAzOTQuMDIzNjU0LDIyLjAyMzY1NDEgQzM5NC42MDk0NDEsMjEuNDM3ODY3NyAzOTUuNTU5MTg4LDIxLjQzNzg2NzcgMzk2LjE0NDk3NCwyMi4wMjM2NTQxIEwzOTcuOTEyMzE0LDIzLjc5MTMxNDMgTDM5OS42ODA1MDgsMjIuMDIzNjU0MSBDNDAwLjI2NjI5NSwyMS40Mzc4Njc3IDQwMS4yMTYwNDIsMjEuNDM3ODY3NyA0MDEuODAxODI5LDIyLjAyMzY1NDEgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlLUNvcHktOCIgZmlsbD0iI0EzQjFCRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjQwMzI3MzgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTcuOTEyNzQxLCAyNS45MTI3NDEpIHJvdGF0ZSgzMC4wMDAwMDApIHRyYW5zbGF0ZSgtMzk3LjkxMjc0MSwgLTI1LjkxMjc0MSkgIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODIuNDgxMTkyLDExMi43MDMwMTcgQzE4My4wNjY5NzgsMTEzLjI4ODgwNCAxODMuMDY2OTc4LDExNC4yMzg1NTEgMTgyLjQ4MTE5MiwxMTQuODI0MzM3IEwxODAuNzEyNjc3LDExNi41OTE2NzcgTDE4Mi40ODExOTIsMTE4LjM1OTg3MSBDMTgzLjA2Njk3OCwxMTguOTQ1NjU4IDE4My4wNjY5NzgsMTE5Ljg5NTQwNSAxODIuNDgxMTkyLDEyMC40ODExOTIgQzE4MS44OTU0MDUsMTIxLjA2Njk3OCAxODAuOTQ1NjU4LDEyMS4wNjY5NzggMTgwLjM1OTg3MSwxMjAuNDgxMTkyIEwxNzguNTkxNjc3LDExOC43MTI2NzcgTDE3Ni44MjQzMzcsMTIwLjQ4MTE5MiBDMTc2LjIzODU1MSwxMjEuMDY2OTc4IDE3NS4yODg4MDQsMTIxLjA2Njk3OCAxNzQuNzAzMDE3LDEyMC40ODExOTIgQzE3NC4xMTcyMzEsMTE5Ljg5NTQwNSAxNzQuMTE3MjMxLDExOC45NDU2NTggMTc0LjcwMzAxNywxMTguMzU5ODcxIEwxNzYuNDcwNjc3LDExNi41OTE2NzcgTDE3NC43MDMwMTcsMTE0LjgyNDMzNyBDMTc0LjExNzIzMSwxMTQuMjM4NTUxIDE3NC4xMTcyMzEsMTEzLjI4ODgwNCAxNzQuNzAzMDE3LDExMi43MDMwMTcgQzE3NS4yODg4MDQsMTEyLjExNzIzMSAxNzYuMjM4NTUxLDExMi4xMTcyMzEgMTc2LjgyNDMzNywxMTIuNzAzMDE3IEwxNzguNTkxNjc3LDExNC40NzA2NzcgTDE4MC4zNTk4NzEsMTEyLjcwMzAxNyBDMTgwLjk0NTY1OCwxMTIuMTE3MjMxIDE4MS44OTU0MDUsMTEyLjExNzIzMSAxODIuNDgxMTkyLDExMi43MDMwMTcgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlLUNvcHktOSIgZmlsbD0iI0EzQjFCRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjQwMzI3MzgxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzguNTkyMTA0LCAxMTYuNTkyMTA0KSByb3RhdGUoMjEuMDAwMDAwKSB0cmFuc2xhdGUoLTE3OC41OTIxMDQsIC0xMTYuNTkyMTA0KSAiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI1NS43NTY1MjMsODcuNjc3NDUyNiBDMjUyLjY0NjM1Nyw4Ny4yMTkxMDQzIDI1Mi40MDkzOTIsODYuNzc3OTQ0IDI1Mi40MDkzOTIsODYuNzc3OTQ0IEMyNTMuMDQ5MTk3LDgzLjA1OTU5MzEgMjUxLjA2NDYxNSw3OC4zNTAwNjM5IDI0Ny44MjQxMTgsNzUuODAwNTAxMyBDMjQzLjUxMTM1Myw3Mi40MDg3MjM2IDIzNi45NTMzNDUsNzQuODcyMzQ1OSAyMzEuODQ2NzQ4LDY5LjcxNTkyNzEgQzIzMC42NTU5OTksNjguNTEyNzYyNyAyMzEuMzQ5MTIyLDgzLjIwODU1NjMgMjM3Ljc0MTI1NCw4OC43Nzc0ODg2IEMyNDIuNDE1MzksOTIuODQ1MzMwMSAyNDcuOTE4OTA0LDkxLjU5NjMzMDkgMjQ5LjQyOTU1Niw5MC45MzE3MjU4IEMyNTAuNzk4MDI5LDkwLjMyNDQxNDMgMjUxLjc1NzczOCw4OS4yMTg2NDg5IDI1MS43NTc3MzgsODkuMjE4NjQ4OSBDMjU0LjI1MTc5NSw4OS45NjM0NjUgMjU1LjQ4NDAxMyw4OS45MTc2MzAxIDI1NS40ODQwMTMsODkuOTE3NjMwMSBDMjU2LjM2MDc4NCw5MC4wMjA3NTg1IDI1Ni44MDUwOTMsODcuODMyMTQ1MiAyNTUuNzU2NTIzLDg3LjY3NzQ1MjYgWiBNMjUwLjIzOTc2LDg4LjQzODczNjkgQzI0MS41NzI0NDMsODYuNjU0ODk3NSAyMzUuODYwMjE2LDc2Ljg3NjQ0NTEgMjM1Ljg2MDIxNiw3Ni44NzY0NDUxIEMyMzUuODYwMjE2LDc2Ljg3NjQ0NTEgMjQxLjM5MzQ3OSw4My41NTkwNzcgMjUwLjg0MDU3MSw4Ni4zOTY1MzYyIEMyNTAuODUyNDc1LDg2Ljg3OTQ2MzEgMjUwLjU1NTIyOSw4OC4xNjQ0ODIyIDI1MC4yMzk3Niw4OC40Mzg3MzY5IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0EzQjFCRiIgZmlsbC1ydWxlPSJub256ZXJvIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDMuODY2NDk1LCA4MC42NDYyMTkpIHJvdGF0ZSgtNTAuMDAwMDAwKSB0cmFuc2xhdGUoLTI0My44NjY0OTUsIC04MC42NDYyMTkpICI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjg0LjAzNjU3NSwxMDguMTg2MTA0IEMyODMuOTQxMTc3LDEwOC4wNjAxMTkgMjgzLjc5MDE2NSwxMDcuOTkwOTk5IDI4My42MzIwODIsMTA4LjAwMDk0NCBDMjgzLjQ3NTIxNiwxMDguMDEwODg5IDI4My4zMzM1NjIsMTA4LjA5OTk2MSAyODMuMjU1MTUsMTA4LjIzNjUxIEMyODEuODkwMDg0LDExMC42MjcwNiAyODAuMTIyMzE5LDExMS40NTA4NSAyNzguNTYyODkxLDExMi4xNzc0MTcgQzI3Ny41NDIwMjMsMTEyLjY1MzE5MiAyNzYuNTc3OTA0LDExMy4xMDI1NTYgMjc1Ljg1OTcsMTEzLjkxNzU3NyBDMjc1LjA1ODg5OSwxMTQuODI3NTMgMjc0LjY4NTQ3LDExNi4wNTYxOTkgMjc0LjY4NTQ3LDExNy43ODExMzEgQzI3NC42ODU0NywxMTguNDQyMDY2IDI3NC43NDA0NjYsMTE5LjE3NDQ5MyAyNzQuODUwNDc5LDExOS45OTQ3NzUgQzI3Mi43OTAwMDcsMTIwLjQ5MDQ4MSAyNzEsMTIwLjIwNTA4NiAyNzEsMTIwLjIwNTA4NiBMMjcxLDEyMi4wODI5NzEgQzI3My4yOTgxNDIsMTIyLjA4Mjk3MSAyNzUuMjA1MjczLDEyMS41NDE1ODMgMjc2LjU5NTQ2NiwxMjAuOTU2ODA1IEMyNzcuNTA2MjgsMTIwLjYxMTE0MiAyNzguMzA5OTY3LDEyMC4xNDk5OTYgMjc5LjAxODI1NiwxMTkuNjIwMzI5IEMyNzkuMDk5NjU4LDExOS41NTk0NDEgMjc5LjE0MzUyMywxMTkuNTI0ODE5IDI3OS4xNDUyNzUsMTE5LjUyMzA4NiBDMjgyLjU1OTcyMywxMTYuODg3MDY2IDI4My42NjI1OSwxMTIuNjk0MTg5IDI4My42NjI1OSwxMTIuNjk0MTg5IEMyODMuNjYyNTksMTE3LjE3NTI2NyAyODAuMzk3NDQzLDEyMS4wNjE3MDMgMjc2LjIyOTY2NSwxMjIuNDUzMjkgQzI3Ny41MTE2NCwxMjIuODYxNjk4IDI3OC43MDIyNTYsMTIzLjA0MjEzMyAyNzkuNzc5MzE1LDEyMi45OTE3NDcgQzI4MC45ODg2NywxMjIuOTM0MzQ3IDI4Mi4wNjEwNDksMTIyLjU4ODY0MiAyODIuOTY2NjA3LDEyMS45NjExMTMgQzI4NC44OTQyMDYsMTIwLjYyODEyMyAyODYsMTE4LjA0NDIyMiAyODYsMTE0Ljg3MzgwOSBDMjg2LDExMi4zMTAzOTYgMjg1LjI2NTM2NywxMDkuODEwMjQ0IDI4NC4wMzYxMjEsMTA4LjE4NTQ4NSBMMjg0LjAzNjU5NSwxMDguMTg2MDYyIEwyODQuMDM2NTc1LDEwOC4xODYxMDQgWiIgaWQ9IlBhdGgiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1OC45ODQ1NDAsIDg4LjcxMzY4OSkgcm90YXRlKC0yMC4wMDAwMDApIHRyYW5zbGF0ZSgtMjU4Ljk4NDU0MCwgLTg4LjcxMzY4OSkgdHJhbnNsYXRlKDE5MC40ODQ1NDAsIDIwLjIxMzY4OSkiIGZpbGw9IiNBM0IxQkYiPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwOC43Njg4ODEsMTA4LjgwNzI1NyBMMTA4LjYzODM2NCwxMzMuMjM1ODQxIEwxMDAuOTAyNDE4LDEzMC40MjAxODcgTDEwOC43Njg4ODEsMTA4LjgwNzI1NyBaIE0zMi45NzY4NDU5LDE0IEw1LjM1OTU4MjE0LDg2Ljk1NDAwNDMgTDUsMTUuMDMyNDMxMSBMMzIuOTc2ODQ1OSwxNCBaIE0xMDkuMjkyMzE1LDE0LjEwNzkzNzEgTDEwOS40OTM5NzMsMjkuMDc5ODIzMiBMNjguODcxOTg3NCwxNC4yOTQ2Mjk4IEwxMDkuMjkyMzE1LDE0LjEwNzkzNzEgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTQ5OTcyMDk4Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzUuODAwMjY5MSwwLjUwMTUzNTQ5OSBMNjYuNjQxMjE0NCwxMS43MjY1MzU1IEwxMTEuMDMyODM4LDExLjcyNjkxNDIgTDExMS4wMTAyMTQsMjcuODc1NTM1NSBMMTM2LjM0NzM3OSwzNy4wOTc2OTA4IEwxMTAuOTA4MjE0LDEwNi45ODk1MzUgTDExMC44NzE0MTYsMTM2LjM3MTMzMSBMMTAxLjMxMzIxNCwxMzIuODkxNTM1IEw5OC42NDI1ODksMTMxLjkxOTMzOCBMMTMyLjUwMjI0MSwzOC44OTA3MDgzIEwzNy41OTMyODY1LDQuMzQ2NjczNzkgTDMuNzMzNjM0MzEsOTcuMzc1MzAzNiBMMC45MTQyMTQ0MzIsOTYuMzUwMTgyOCBMMy43NTIyMTQ0Myw4OC41NTI1MzU1IEwzLjg3OTEwODY4LDExLjcyNjkxNDIgTDMxLjcxNDIxNDQsMTEuNzI2NTM1NSBMMzUuODAwMjY5MSwwLjUwMTUzNTQ5OSBaIE0xMDguNDEyMjE0LDExMy44NDc1MzUgTDEwMi44MjkyMTQsMTI5LjE4NzUzNSBMMTA4LjQ4Nzg2NSwxMzEuMjQ3MDc4IEwxMDguNDEyMjE0LDExMy44NDc1MzUgWiBNMzAuNTY4MjE0NCwxNC44NzU1MzU1IEw3LjA2MzI3MzQxLDE0Ljg3NTk5NDkgTDcuMDkwMjE0NDMsNzkuMzgxNTM1NSBMMzAuNTY4MjE0NCwxNC44NzU1MzU1IFogTTEwOC4wMzkyMTQsMjYuNzk0NTM1NSBMMTA3Ljk4OTY0OCwxNC44NzU5OTQ5IEw3NS4yOTIyMTQ0LDE0Ljg3NTUzNTUgTDEwOC4wMzkyMTQsMjYuNzk0NTM1NSBaIiBpZD0iQ29tYmluZWQtU2hhcGUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMy44NDc3OTMsNjQuMzU5MjA4NSBMMTMuODQ3NzkzLDY2Ljc5NDUyMDUgTDExLjMwNTkzNjEsNjYuNzk0NTIwNSBMMTEuMzA1OTM2MSw2NC4zNTkyMDg1IEwxMy44NDc3OTMsNjQuMzU5MjA4NSBaIE0xOC44NDc3OTMsNTIuMTgyNjQ4NCBMMTguODQ3NzkzLDU0LjYxNzk2MDQgTDExLjMwNTkzNjEsNTQuNjE3OTYwNCBMMTEuMzA1OTM2MSw1Mi4xODI2NDg0IEwxOC44NDc3OTMsNTIuMTgyNjQ4NCBaIE0yMS44NDc3OTMsNDAuMDA2MDg4MyBMMjEuODQ3NzkzLDQyLjQ0MTQwMDMgTDExLjMwNTkzNjEsNDIuNDQxNDAwMyBMMTEuMzA1OTM2MSw0MC4wMDYwODgzIEwyMS44NDc3OTMsNDAuMDA2MDg4MyBaIE0xOC4wODUyNTg4LDI1LjMzNjY0ODggQzIwLjEwMjczNzMsMjUuMzM2NjQ4OCAyMS43MzgyMjY4LDI2Ljk3MjEzODMgMjEuNzM4MjI2OCwyOC45ODk2MTY4IEMyMS43MzgyMjY4LDMxLjAwNzA5NTQgMjAuMTAyNzM3MywzMi42NDI1ODQ5IDE4LjA4NTI1ODgsMzIuNjQyNTg0OSBDMTYuMDY3NzgwMywzMi42NDI1ODQ5IDE0LjQzMjI5MDgsMzEuMDA3MDk1NCAxNC40MzIyOTA4LDI4Ljk4OTYxNjggQzE0LjQzMjI5MDgsMjYuOTcyMTM4MyAxNi4wNjc3ODAzLDI1LjMzNjY0ODggMTguMDg1MjU4OCwyNS4zMzY2NDg4IFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgb3BhY2l0eT0iMC40NzY1NjI1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTMtQ29weSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjA4LjAwMDAwMCwgMzkuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMyw5OSBMMS44MTg4NzgzOGUtMTIsOTkgTDEuODE4ODc4MzhlLTEyLC0yLjc3NTU1NzU2ZS0xNyBMMTAxLC0yLjc3NTU1NzU2ZS0xNyBMMTAxLDk5IEw5OCw5OSBMOTgsMyBMMywzIEwzLDk5IFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0EzQjFCRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjI0ODA3MDEyNiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI1LDg5IEw5MSw4OSBMOTEsOTIgTDExLDkyIEwxMSw4OSBMMjIsODkgTDIyLDY4IEwxMSw2OCBMMTEsNjUgTDIyLDY1IEwyMiw1NiBMMTEsNTYgTDExLDUzIEwyMiw1MyBMMjIsNDQgTDExLDQ0IEwxMSw0MSBMMjIsNDEgTDIyLDMyIEwxMSwzMiBMMTEsMjkgTDIyLDI5IEwyMiwxMCBMMjUsMTAgTDI1LDE3IEw5MSwxNyBMOTEsMjAgTDI1LDIwIEwyNSwyOSBMOTEsMjkgTDkxLDMyIEwyNSwzMiBMMjUsNDEgTDMwLDQxIEwzMCw0NCBMMjUsNDQgTDI1LDUzIEw5MSw1MyBMOTEsNTYgTDI1LDU2IEwyNSw2NSBMOTEsNjUgTDkxLDY4IEwyNSw2OCBMMjUsNzcgTDY4LDc3IEw2OCw4MCBMMjUsODAgTDI1LDg5IFogTTkxLDc3IEw5MSw4MCBMNzcsODAgTDc3LDc3IEw5MSw3NyBaIE05MSw0MSBMOTEsNDQgTDQ3LDQ0IEw0Nyw0MSBMOTEsNDEgWiIgaWQ9IkNvbWJpbmVkLVNoYXBlIiBmaWxsPSIjQTNCMUJGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMjQ4MDcwMTI2Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTYiIHN0cm9rZT0iI0EzQjFCRiIgc3Ryb2tlLXdpZHRoPSIzIiBvcGFjaXR5PSIwLjMiIGN4PSIxNSIgY3k9IjE4IiByPSIyLjUiPjwvY2lyY2xlPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC02LUNvcHkiIHN0cm9rZT0iI0EzQjFCRiIgc3Ryb2tlLXdpZHRoPSIzIiBvcGFjaXR5PSIwLjMiIGN4PSIxNSIgY3k9Ijc5IiByPSIyLjUiPjwvY2lyY2xlPg0KICAgICAgICAgICAgICAgICAgICA8L2c+DQogICAgICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGUtMzQiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMikiIHg9IjE1NCIgeT0iMTM0IiB3aWR0aD0iNTEiIGhlaWdodD0iNCI+PC9yZWN0Pg0KICAgICAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlLTM0LUNvcHkiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMykiIHg9IjMxOSIgeT0iMTM0IiB3aWR0aD0iNDUiIGhlaWdodD0iNCI+PC9yZWN0Pg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==";
|
|
var index$p = /* @__PURE__ */ (() => ".layui-empty{margin:0 8px;font-size:14px;line-height:22px;text-align:center}.layui-empty-image{margin-bottom:8px}.layui-empty-image img{height:100px;margin:auto}.layui-empty-description{margin:0}.layui-empty-extra{margin-top:30px}\n")();
|
|
const NOOP = () => {
|
|
};
|
|
const isArray = Array.isArray;
|
|
const isFunction$1 = (val) => typeof val === "function";
|
|
const isSymbol = (val) => typeof val === "symbol";
|
|
let activeEffectScope;
|
|
function recordEffectScope(effect, scope = activeEffectScope) {
|
|
if (scope && scope.active) {
|
|
scope.effects.push(effect);
|
|
}
|
|
}
|
|
const createDep = (effects) => {
|
|
const dep = new Set(effects);
|
|
dep.w = 0;
|
|
dep.n = 0;
|
|
return dep;
|
|
};
|
|
const wasTracked = (dep) => (dep.w & trackOpBit) > 0;
|
|
const newTracked = (dep) => (dep.n & trackOpBit) > 0;
|
|
const initDepMarkers = ({ deps }) => {
|
|
if (deps.length) {
|
|
for (let i = 0; i < deps.length; i++) {
|
|
deps[i].w |= trackOpBit;
|
|
}
|
|
}
|
|
};
|
|
const finalizeDepMarkers = (effect) => {
|
|
const { deps } = effect;
|
|
if (deps.length) {
|
|
let ptr = 0;
|
|
for (let i = 0; i < deps.length; i++) {
|
|
const dep = deps[i];
|
|
if (wasTracked(dep) && !newTracked(dep)) {
|
|
dep.delete(effect);
|
|
} else {
|
|
deps[ptr++] = dep;
|
|
}
|
|
dep.w &= ~trackOpBit;
|
|
dep.n &= ~trackOpBit;
|
|
}
|
|
deps.length = ptr;
|
|
}
|
|
};
|
|
let effectTrackDepth = 0;
|
|
let trackOpBit = 1;
|
|
const maxMarkerBits = 30;
|
|
let activeEffect;
|
|
class ReactiveEffect {
|
|
constructor(fn, scheduler = null, scope) {
|
|
this.fn = fn;
|
|
this.scheduler = scheduler;
|
|
this.active = true;
|
|
this.deps = [];
|
|
this.parent = void 0;
|
|
recordEffectScope(this, scope);
|
|
}
|
|
run() {
|
|
if (!this.active) {
|
|
return this.fn();
|
|
}
|
|
let parent = activeEffect;
|
|
let lastShouldTrack = shouldTrack;
|
|
while (parent) {
|
|
if (parent === this) {
|
|
return;
|
|
}
|
|
parent = parent.parent;
|
|
}
|
|
try {
|
|
this.parent = activeEffect;
|
|
activeEffect = this;
|
|
shouldTrack = true;
|
|
trackOpBit = 1 << ++effectTrackDepth;
|
|
if (effectTrackDepth <= maxMarkerBits) {
|
|
initDepMarkers(this);
|
|
} else {
|
|
cleanupEffect(this);
|
|
}
|
|
return this.fn();
|
|
} finally {
|
|
if (effectTrackDepth <= maxMarkerBits) {
|
|
finalizeDepMarkers(this);
|
|
}
|
|
trackOpBit = 1 << --effectTrackDepth;
|
|
activeEffect = this.parent;
|
|
shouldTrack = lastShouldTrack;
|
|
this.parent = void 0;
|
|
if (this.deferStop) {
|
|
this.stop();
|
|
}
|
|
}
|
|
}
|
|
stop() {
|
|
if (activeEffect === this) {
|
|
this.deferStop = true;
|
|
} else if (this.active) {
|
|
cleanupEffect(this);
|
|
if (this.onStop) {
|
|
this.onStop();
|
|
}
|
|
this.active = false;
|
|
}
|
|
}
|
|
}
|
|
function cleanupEffect(effect) {
|
|
const { deps } = effect;
|
|
if (deps.length) {
|
|
for (let i = 0; i < deps.length; i++) {
|
|
deps[i].delete(effect);
|
|
}
|
|
deps.length = 0;
|
|
}
|
|
}
|
|
let shouldTrack = true;
|
|
function trackEffects(dep, debuggerEventExtraInfo) {
|
|
let shouldTrack2 = false;
|
|
if (effectTrackDepth <= maxMarkerBits) {
|
|
if (!newTracked(dep)) {
|
|
dep.n |= trackOpBit;
|
|
shouldTrack2 = !wasTracked(dep);
|
|
}
|
|
} else {
|
|
shouldTrack2 = !dep.has(activeEffect);
|
|
}
|
|
if (shouldTrack2) {
|
|
dep.add(activeEffect);
|
|
activeEffect.deps.push(dep);
|
|
}
|
|
}
|
|
function triggerEffects(dep, debuggerEventExtraInfo) {
|
|
const effects = isArray(dep) ? dep : [...dep];
|
|
for (const effect of effects) {
|
|
if (effect.computed) {
|
|
triggerEffect(effect);
|
|
}
|
|
}
|
|
for (const effect of effects) {
|
|
if (!effect.computed) {
|
|
triggerEffect(effect);
|
|
}
|
|
}
|
|
}
|
|
function triggerEffect(effect, debuggerEventExtraInfo) {
|
|
if (effect !== activeEffect || effect.allowRecurse) {
|
|
if (effect.scheduler) {
|
|
effect.scheduler();
|
|
} else {
|
|
effect.run();
|
|
}
|
|
}
|
|
}
|
|
new Set(/* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol));
|
|
function toRaw(observed) {
|
|
const raw = observed && observed["__v_raw"];
|
|
return raw ? toRaw(raw) : observed;
|
|
}
|
|
function trackRefValue(ref2) {
|
|
if (shouldTrack && activeEffect) {
|
|
ref2 = toRaw(ref2);
|
|
{
|
|
trackEffects(ref2.dep || (ref2.dep = createDep()));
|
|
}
|
|
}
|
|
}
|
|
function triggerRefValue(ref2, newVal) {
|
|
ref2 = toRaw(ref2);
|
|
if (ref2.dep) {
|
|
{
|
|
triggerEffects(ref2.dep);
|
|
}
|
|
}
|
|
}
|
|
class ComputedRefImpl {
|
|
constructor(getter, _setter, isReadonly, isSSR) {
|
|
this._setter = _setter;
|
|
this.dep = void 0;
|
|
this.__v_isRef = true;
|
|
this._dirty = true;
|
|
this.effect = new ReactiveEffect(getter, () => {
|
|
if (!this._dirty) {
|
|
this._dirty = true;
|
|
triggerRefValue(this);
|
|
}
|
|
});
|
|
this.effect.computed = this;
|
|
this.effect.active = this._cacheable = !isSSR;
|
|
this["__v_isReadonly"] = isReadonly;
|
|
}
|
|
get value() {
|
|
const self2 = toRaw(this);
|
|
trackRefValue(self2);
|
|
if (self2._dirty || !self2._cacheable) {
|
|
self2._dirty = false;
|
|
self2._value = self2.effect.run();
|
|
}
|
|
return self2._value;
|
|
}
|
|
set value(newValue) {
|
|
this._setter(newValue);
|
|
}
|
|
}
|
|
function computed(getterOrOptions, debugOptions, isSSR = false) {
|
|
let getter;
|
|
let setter;
|
|
const onlyGetter = isFunction$1(getterOrOptions);
|
|
if (onlyGetter) {
|
|
getter = getterOrOptions;
|
|
setter = NOOP;
|
|
} else {
|
|
getter = getterOrOptions.get;
|
|
setter = getterOrOptions.set;
|
|
}
|
|
const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);
|
|
return cRef;
|
|
}
|
|
const _hoisted_1$D = { class: "layui-empty" };
|
|
const _hoisted_2$y = { class: "layui-empty-image" };
|
|
const _hoisted_3$u = {
|
|
key: 1,
|
|
class: "layui-empty-image-default",
|
|
src: _imports_0
|
|
};
|
|
const _hoisted_4$n = { class: "layui-empty-description" };
|
|
const _hoisted_5$h = { class: "layui-empty-extra" };
|
|
const __default__$O = {
|
|
name: "LayEmpty"
|
|
};
|
|
const _sfc_main$R = defineComponent({
|
|
...__default__$O,
|
|
props: {
|
|
description: null,
|
|
image: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const { t } = useI18n();
|
|
const slots = useSlots();
|
|
const description = computed(() => props.description ? props.description : t("empty.description"));
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$D, [
|
|
createElementVNode("div", _hoisted_2$y, [
|
|
unref(slots).image ? renderSlot(_ctx.$slots, "image", { key: 0 }) : (openBlock(), createElementBlock("img", _hoisted_3$u))
|
|
]),
|
|
createElementVNode("div", _hoisted_4$n, toDisplayString$1(unref(description)), 1),
|
|
createElementVNode("div", _hoisted_5$h, [
|
|
renderSlot(_ctx.$slots, "extra")
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$F = withInstall(_sfc_main$R);
|
|
function _extends() {
|
|
_extends = Object.assign || function(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i];
|
|
for (var key in source) {
|
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
target[key] = source[key];
|
|
}
|
|
}
|
|
}
|
|
return target;
|
|
};
|
|
return _extends.apply(this, arguments);
|
|
}
|
|
function _inheritsLoose(subClass, superClass) {
|
|
subClass.prototype = Object.create(superClass.prototype);
|
|
subClass.prototype.constructor = subClass;
|
|
_setPrototypeOf(subClass, superClass);
|
|
}
|
|
function _getPrototypeOf(o) {
|
|
_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) {
|
|
return o2.__proto__ || Object.getPrototypeOf(o2);
|
|
};
|
|
return _getPrototypeOf(o);
|
|
}
|
|
function _setPrototypeOf(o, p) {
|
|
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {
|
|
o2.__proto__ = p2;
|
|
return o2;
|
|
};
|
|
return _setPrototypeOf(o, p);
|
|
}
|
|
function _isNativeReflectConstruct() {
|
|
if (typeof Reflect === "undefined" || !Reflect.construct)
|
|
return false;
|
|
if (Reflect.construct.sham)
|
|
return false;
|
|
if (typeof Proxy === "function")
|
|
return true;
|
|
try {
|
|
Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
|
|
}));
|
|
return true;
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
}
|
|
function _construct(Parent, args, Class) {
|
|
if (_isNativeReflectConstruct()) {
|
|
_construct = Reflect.construct;
|
|
} else {
|
|
_construct = function _construct2(Parent2, args2, Class2) {
|
|
var a = [null];
|
|
a.push.apply(a, args2);
|
|
var Constructor = Function.bind.apply(Parent2, a);
|
|
var instance = new Constructor();
|
|
if (Class2)
|
|
_setPrototypeOf(instance, Class2.prototype);
|
|
return instance;
|
|
};
|
|
}
|
|
return _construct.apply(null, arguments);
|
|
}
|
|
function _isNativeFunction(fn) {
|
|
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
|
}
|
|
function _wrapNativeSuper(Class) {
|
|
var _cache = typeof Map === "function" ? /* @__PURE__ */ new Map() : void 0;
|
|
_wrapNativeSuper = function _wrapNativeSuper2(Class2) {
|
|
if (Class2 === null || !_isNativeFunction(Class2))
|
|
return Class2;
|
|
if (typeof Class2 !== "function") {
|
|
throw new TypeError("Super expression must either be null or a function");
|
|
}
|
|
if (typeof _cache !== "undefined") {
|
|
if (_cache.has(Class2))
|
|
return _cache.get(Class2);
|
|
_cache.set(Class2, Wrapper);
|
|
}
|
|
function Wrapper() {
|
|
return _construct(Class2, arguments, _getPrototypeOf(this).constructor);
|
|
}
|
|
Wrapper.prototype = Object.create(Class2.prototype, {
|
|
constructor: {
|
|
value: Wrapper,
|
|
enumerable: false,
|
|
writable: true,
|
|
configurable: true
|
|
}
|
|
});
|
|
return _setPrototypeOf(Wrapper, Class2);
|
|
};
|
|
return _wrapNativeSuper(Class);
|
|
}
|
|
var formatRegExp = /%[sdj%]/g;
|
|
var warning = function warning2() {
|
|
};
|
|
if (typeof process !== "undefined" && process.env && false) {
|
|
warning = function warning3(type4, errors) {
|
|
if (typeof console !== "undefined" && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === "undefined") {
|
|
if (errors.every(function(e) {
|
|
return typeof e === "string";
|
|
})) {
|
|
console.warn(type4, errors);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function convertFieldsError(errors) {
|
|
if (!errors || !errors.length)
|
|
return null;
|
|
var fields = {};
|
|
errors.forEach(function(error) {
|
|
var field = error.field;
|
|
fields[field] = fields[field] || [];
|
|
fields[field].push(error);
|
|
});
|
|
return fields;
|
|
}
|
|
function format(template) {
|
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
args[_key - 1] = arguments[_key];
|
|
}
|
|
var i = 0;
|
|
var len = args.length;
|
|
if (typeof template === "function") {
|
|
return template.apply(null, args);
|
|
}
|
|
if (typeof template === "string") {
|
|
var str = template.replace(formatRegExp, function(x) {
|
|
if (x === "%%") {
|
|
return "%";
|
|
}
|
|
if (i >= len) {
|
|
return x;
|
|
}
|
|
switch (x) {
|
|
case "%s":
|
|
return String(args[i++]);
|
|
case "%d":
|
|
return Number(args[i++]);
|
|
case "%j":
|
|
try {
|
|
return JSON.stringify(args[i++]);
|
|
} catch (_) {
|
|
return "[Circular]";
|
|
}
|
|
break;
|
|
default:
|
|
return x;
|
|
}
|
|
});
|
|
return str;
|
|
}
|
|
return template;
|
|
}
|
|
function isNativeStringType(type4) {
|
|
return type4 === "string" || type4 === "url" || type4 === "hex" || type4 === "email" || type4 === "date" || type4 === "pattern";
|
|
}
|
|
function isEmptyValue(value, type4) {
|
|
if (value === void 0 || value === null) {
|
|
return true;
|
|
}
|
|
if (type4 === "array" && Array.isArray(value) && !value.length) {
|
|
return true;
|
|
}
|
|
if (isNativeStringType(type4) && typeof value === "string" && !value) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function asyncParallelArray(arr, func, callback) {
|
|
var results = [];
|
|
var total = 0;
|
|
var arrLength = arr.length;
|
|
function count(errors) {
|
|
results.push.apply(results, errors || []);
|
|
total++;
|
|
if (total === arrLength) {
|
|
callback(results);
|
|
}
|
|
}
|
|
arr.forEach(function(a) {
|
|
func(a, count);
|
|
});
|
|
}
|
|
function asyncSerialArray(arr, func, callback) {
|
|
var index2 = 0;
|
|
var arrLength = arr.length;
|
|
function next(errors) {
|
|
if (errors && errors.length) {
|
|
callback(errors);
|
|
return;
|
|
}
|
|
var original = index2;
|
|
index2 = index2 + 1;
|
|
if (original < arrLength) {
|
|
func(arr[original], next);
|
|
} else {
|
|
callback([]);
|
|
}
|
|
}
|
|
next([]);
|
|
}
|
|
function flattenObjArr(objArr) {
|
|
var ret = [];
|
|
Object.keys(objArr).forEach(function(k) {
|
|
ret.push.apply(ret, objArr[k] || []);
|
|
});
|
|
return ret;
|
|
}
|
|
var AsyncValidationError = /* @__PURE__ */ function(_Error) {
|
|
_inheritsLoose(AsyncValidationError2, _Error);
|
|
function AsyncValidationError2(errors, fields) {
|
|
var _this;
|
|
_this = _Error.call(this, "Async Validation Error") || this;
|
|
_this.errors = errors;
|
|
_this.fields = fields;
|
|
return _this;
|
|
}
|
|
return AsyncValidationError2;
|
|
}(/* @__PURE__ */ _wrapNativeSuper(Error));
|
|
function asyncMap(objArr, option, func, callback, source) {
|
|
if (option.first) {
|
|
var _pending = new Promise(function(resolve, reject) {
|
|
var next = function next2(errors) {
|
|
callback(errors);
|
|
return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve(source);
|
|
};
|
|
var flattenArr = flattenObjArr(objArr);
|
|
asyncSerialArray(flattenArr, func, next);
|
|
});
|
|
_pending["catch"](function(e) {
|
|
return e;
|
|
});
|
|
return _pending;
|
|
}
|
|
var firstFields = option.firstFields === true ? Object.keys(objArr) : option.firstFields || [];
|
|
var objArrKeys = Object.keys(objArr);
|
|
var objArrLength = objArrKeys.length;
|
|
var total = 0;
|
|
var results = [];
|
|
var pending = new Promise(function(resolve, reject) {
|
|
var next = function next2(errors) {
|
|
results.push.apply(results, errors);
|
|
total++;
|
|
if (total === objArrLength) {
|
|
callback(results);
|
|
return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve(source);
|
|
}
|
|
};
|
|
if (!objArrKeys.length) {
|
|
callback(results);
|
|
resolve(source);
|
|
}
|
|
objArrKeys.forEach(function(key) {
|
|
var arr = objArr[key];
|
|
if (firstFields.indexOf(key) !== -1) {
|
|
asyncSerialArray(arr, func, next);
|
|
} else {
|
|
asyncParallelArray(arr, func, next);
|
|
}
|
|
});
|
|
});
|
|
pending["catch"](function(e) {
|
|
return e;
|
|
});
|
|
return pending;
|
|
}
|
|
function isErrorObj(obj) {
|
|
return !!(obj && obj.message !== void 0);
|
|
}
|
|
function getValue(value, path) {
|
|
var v = value;
|
|
for (var i = 0; i < path.length; i++) {
|
|
if (v == void 0) {
|
|
return v;
|
|
}
|
|
v = v[path[i]];
|
|
}
|
|
return v;
|
|
}
|
|
function complementError(rule, source) {
|
|
return function(oe) {
|
|
var fieldValue;
|
|
if (rule.fullFields) {
|
|
fieldValue = getValue(source, rule.fullFields);
|
|
} else {
|
|
fieldValue = source[oe.field || rule.fullField];
|
|
}
|
|
if (isErrorObj(oe)) {
|
|
oe.field = oe.field || rule.fullField;
|
|
oe.fieldValue = fieldValue;
|
|
return oe;
|
|
}
|
|
return {
|
|
message: typeof oe === "function" ? oe() : oe,
|
|
fieldValue,
|
|
field: oe.field || rule.fullField
|
|
};
|
|
};
|
|
}
|
|
function deepMerge(target, source) {
|
|
if (source) {
|
|
for (var s in source) {
|
|
if (source.hasOwnProperty(s)) {
|
|
var value = source[s];
|
|
if (typeof value === "object" && typeof target[s] === "object") {
|
|
target[s] = _extends({}, target[s], value);
|
|
} else {
|
|
target[s] = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return target;
|
|
}
|
|
var required$1 = function required(rule, value, source, errors, options, type4) {
|
|
if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type4 || rule.type))) {
|
|
errors.push(format(options.messages.required, rule.fullField));
|
|
}
|
|
};
|
|
var whitespace = function whitespace2(rule, value, source, errors, options) {
|
|
if (/^\s+$/.test(value) || value === "") {
|
|
errors.push(format(options.messages.whitespace, rule.fullField));
|
|
}
|
|
};
|
|
var pattern$2 = {
|
|
email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,
|
|
url: new RegExp("^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$", "i"),
|
|
hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i
|
|
};
|
|
var types = {
|
|
integer: function integer(value) {
|
|
return types.number(value) && parseInt(value, 10) === value;
|
|
},
|
|
"float": function float(value) {
|
|
return types.number(value) && !types.integer(value);
|
|
},
|
|
array: function array(value) {
|
|
return Array.isArray(value);
|
|
},
|
|
regexp: function regexp(value) {
|
|
if (value instanceof RegExp) {
|
|
return true;
|
|
}
|
|
try {
|
|
return !!new RegExp(value);
|
|
} catch (e) {
|
|
return false;
|
|
}
|
|
},
|
|
date: function date(value) {
|
|
return typeof value.getTime === "function" && typeof value.getMonth === "function" && typeof value.getYear === "function" && !isNaN(value.getTime());
|
|
},
|
|
number: function number(value) {
|
|
if (isNaN(value)) {
|
|
return false;
|
|
}
|
|
return typeof value === "number";
|
|
},
|
|
object: function object(value) {
|
|
return typeof value === "object" && !types.array(value);
|
|
},
|
|
method: function method(value) {
|
|
return typeof value === "function";
|
|
},
|
|
email: function email(value) {
|
|
return typeof value === "string" && value.length <= 320 && !!value.match(pattern$2.email);
|
|
},
|
|
url: function url(value) {
|
|
return typeof value === "string" && value.length <= 2048 && !!value.match(pattern$2.url);
|
|
},
|
|
hex: function hex(value) {
|
|
return typeof value === "string" && !!value.match(pattern$2.hex);
|
|
}
|
|
};
|
|
var type$1 = function type(rule, value, source, errors, options) {
|
|
if (rule.required && value === void 0) {
|
|
required$1(rule, value, source, errors, options);
|
|
return;
|
|
}
|
|
var custom = ["integer", "float", "array", "regexp", "object", "method", "email", "number", "date", "url", "hex"];
|
|
var ruleType = rule.type;
|
|
if (custom.indexOf(ruleType) > -1) {
|
|
if (!types[ruleType](value)) {
|
|
errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));
|
|
}
|
|
} else if (ruleType && typeof value !== rule.type) {
|
|
errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));
|
|
}
|
|
};
|
|
var range = function range2(rule, value, source, errors, options) {
|
|
var len = typeof rule.len === "number";
|
|
var min = typeof rule.min === "number";
|
|
var max = typeof rule.max === "number";
|
|
var spRegexp = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
|
|
var val = value;
|
|
var key = null;
|
|
var num = typeof value === "number";
|
|
var str = typeof value === "string";
|
|
var arr = Array.isArray(value);
|
|
if (num) {
|
|
key = "number";
|
|
} else if (str) {
|
|
key = "string";
|
|
} else if (arr) {
|
|
key = "array";
|
|
}
|
|
if (!key) {
|
|
return false;
|
|
}
|
|
if (arr) {
|
|
val = value.length;
|
|
}
|
|
if (str) {
|
|
val = value.replace(spRegexp, "_").length;
|
|
}
|
|
if (len) {
|
|
if (val !== rule.len) {
|
|
errors.push(format(options.messages[key].len, rule.fullField, rule.len));
|
|
}
|
|
} else if (min && !max && val < rule.min) {
|
|
errors.push(format(options.messages[key].min, rule.fullField, rule.min));
|
|
} else if (max && !min && val > rule.max) {
|
|
errors.push(format(options.messages[key].max, rule.fullField, rule.max));
|
|
} else if (min && max && (val < rule.min || val > rule.max)) {
|
|
errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));
|
|
}
|
|
};
|
|
var ENUM$1 = "enum";
|
|
var enumerable$1 = function enumerable(rule, value, source, errors, options) {
|
|
rule[ENUM$1] = Array.isArray(rule[ENUM$1]) ? rule[ENUM$1] : [];
|
|
if (rule[ENUM$1].indexOf(value) === -1) {
|
|
errors.push(format(options.messages[ENUM$1], rule.fullField, rule[ENUM$1].join(", ")));
|
|
}
|
|
};
|
|
var pattern$1 = function pattern(rule, value, source, errors, options) {
|
|
if (rule.pattern) {
|
|
if (rule.pattern instanceof RegExp) {
|
|
rule.pattern.lastIndex = 0;
|
|
if (!rule.pattern.test(value)) {
|
|
errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
|
|
}
|
|
} else if (typeof rule.pattern === "string") {
|
|
var _pattern = new RegExp(rule.pattern);
|
|
if (!_pattern.test(value)) {
|
|
errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));
|
|
}
|
|
}
|
|
}
|
|
};
|
|
var rules = {
|
|
required: required$1,
|
|
whitespace,
|
|
type: type$1,
|
|
range,
|
|
"enum": enumerable$1,
|
|
pattern: pattern$1
|
|
};
|
|
var string = function string2(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value, "string") && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options, "string");
|
|
if (!isEmptyValue(value, "string")) {
|
|
rules.type(rule, value, source, errors, options);
|
|
rules.range(rule, value, source, errors, options);
|
|
rules.pattern(rule, value, source, errors, options);
|
|
if (rule.whitespace === true) {
|
|
rules.whitespace(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var method2 = function method3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (value !== void 0) {
|
|
rules.type(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var number2 = function number3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (value === "") {
|
|
value = void 0;
|
|
}
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (value !== void 0) {
|
|
rules.type(rule, value, source, errors, options);
|
|
rules.range(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var _boolean = function _boolean2(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (value !== void 0) {
|
|
rules.type(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var regexp2 = function regexp3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (!isEmptyValue(value)) {
|
|
rules.type(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var integer2 = function integer3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (value !== void 0) {
|
|
rules.type(rule, value, source, errors, options);
|
|
rules.range(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var floatFn = function floatFn2(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (value !== void 0) {
|
|
rules.type(rule, value, source, errors, options);
|
|
rules.range(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var array2 = function array3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if ((value === void 0 || value === null) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options, "array");
|
|
if (value !== void 0 && value !== null) {
|
|
rules.type(rule, value, source, errors, options);
|
|
rules.range(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var object2 = function object3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (value !== void 0) {
|
|
rules.type(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var ENUM = "enum";
|
|
var enumerable2 = function enumerable3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (value !== void 0) {
|
|
rules[ENUM](rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var pattern2 = function pattern3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value, "string") && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (!isEmptyValue(value, "string")) {
|
|
rules.pattern(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var date2 = function date3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value, "date") && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
if (!isEmptyValue(value, "date")) {
|
|
var dateObject;
|
|
if (value instanceof Date) {
|
|
dateObject = value;
|
|
} else {
|
|
dateObject = new Date(value);
|
|
}
|
|
rules.type(rule, dateObject, source, errors, options);
|
|
if (dateObject) {
|
|
rules.range(rule, dateObject.getTime(), source, errors, options);
|
|
}
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var required2 = function required3(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var type4 = Array.isArray(value) ? "array" : typeof value;
|
|
rules.required(rule, value, source, errors, options, type4);
|
|
callback(errors);
|
|
};
|
|
var type2 = function type3(rule, value, callback, source, options) {
|
|
var ruleType = rule.type;
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value, ruleType) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options, ruleType);
|
|
if (!isEmptyValue(value, ruleType)) {
|
|
rules.type(rule, value, source, errors, options);
|
|
}
|
|
}
|
|
callback(errors);
|
|
};
|
|
var any = function any2(rule, value, callback, source, options) {
|
|
var errors = [];
|
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
if (validate) {
|
|
if (isEmptyValue(value) && !rule.required) {
|
|
return callback();
|
|
}
|
|
rules.required(rule, value, source, errors, options);
|
|
}
|
|
callback(errors);
|
|
};
|
|
var validators = {
|
|
string,
|
|
method: method2,
|
|
number: number2,
|
|
"boolean": _boolean,
|
|
regexp: regexp2,
|
|
integer: integer2,
|
|
"float": floatFn,
|
|
array: array2,
|
|
object: object2,
|
|
"enum": enumerable2,
|
|
pattern: pattern2,
|
|
date: date2,
|
|
url: type2,
|
|
hex: type2,
|
|
email: type2,
|
|
required: required2,
|
|
any
|
|
};
|
|
function newMessages() {
|
|
return {
|
|
"default": "Validation error on field %s",
|
|
required: "%s is required",
|
|
"enum": "%s must be one of %s",
|
|
whitespace: "%s cannot be empty",
|
|
date: {
|
|
format: "%s date %s is invalid for format %s",
|
|
parse: "%s date could not be parsed, %s is invalid ",
|
|
invalid: "%s date %s is invalid"
|
|
},
|
|
types: {
|
|
string: "%s is not a %s",
|
|
method: "%s is not a %s (function)",
|
|
array: "%s is not an %s",
|
|
object: "%s is not an %s",
|
|
number: "%s is not a %s",
|
|
date: "%s is not a %s",
|
|
"boolean": "%s is not a %s",
|
|
integer: "%s is not an %s",
|
|
"float": "%s is not a %s",
|
|
regexp: "%s is not a valid %s",
|
|
email: "%s is not a valid %s",
|
|
url: "%s is not a valid %s",
|
|
hex: "%s is not a valid %s"
|
|
},
|
|
string: {
|
|
len: "%s must be exactly %s characters",
|
|
min: "%s must be at least %s characters",
|
|
max: "%s cannot be longer than %s characters",
|
|
range: "%s must be between %s and %s characters"
|
|
},
|
|
number: {
|
|
len: "%s must equal %s",
|
|
min: "%s cannot be less than %s",
|
|
max: "%s cannot be greater than %s",
|
|
range: "%s must be between %s and %s"
|
|
},
|
|
array: {
|
|
len: "%s must be exactly %s in length",
|
|
min: "%s cannot be less than %s in length",
|
|
max: "%s cannot be greater than %s in length",
|
|
range: "%s must be between %s and %s in length"
|
|
},
|
|
pattern: {
|
|
mismatch: "%s value %s does not match pattern %s"
|
|
},
|
|
clone: function clone() {
|
|
var cloned = JSON.parse(JSON.stringify(this));
|
|
cloned.clone = this.clone;
|
|
return cloned;
|
|
}
|
|
};
|
|
}
|
|
var messages = newMessages();
|
|
var Schema = /* @__PURE__ */ function() {
|
|
function Schema2(descriptor) {
|
|
this.rules = null;
|
|
this._messages = messages;
|
|
this.define(descriptor);
|
|
}
|
|
var _proto = Schema2.prototype;
|
|
_proto.define = function define(rules2) {
|
|
var _this = this;
|
|
if (!rules2) {
|
|
throw new Error("Cannot configure a schema with no rules");
|
|
}
|
|
if (typeof rules2 !== "object" || Array.isArray(rules2)) {
|
|
throw new Error("Rules must be an object");
|
|
}
|
|
this.rules = {};
|
|
Object.keys(rules2).forEach(function(name) {
|
|
var item = rules2[name];
|
|
_this.rules[name] = Array.isArray(item) ? item : [item];
|
|
});
|
|
};
|
|
_proto.messages = function messages2(_messages) {
|
|
if (_messages) {
|
|
this._messages = deepMerge(newMessages(), _messages);
|
|
}
|
|
return this._messages;
|
|
};
|
|
_proto.validate = function validate(source_, o, oc) {
|
|
var _this2 = this;
|
|
if (o === void 0) {
|
|
o = {};
|
|
}
|
|
if (oc === void 0) {
|
|
oc = function oc2() {
|
|
};
|
|
}
|
|
var source = source_;
|
|
var options = o;
|
|
var callback = oc;
|
|
if (typeof options === "function") {
|
|
callback = options;
|
|
options = {};
|
|
}
|
|
if (!this.rules || Object.keys(this.rules).length === 0) {
|
|
if (callback) {
|
|
callback(null, source);
|
|
}
|
|
return Promise.resolve(source);
|
|
}
|
|
function complete(results) {
|
|
var errors = [];
|
|
var fields = {};
|
|
function add2(e) {
|
|
if (Array.isArray(e)) {
|
|
var _errors;
|
|
errors = (_errors = errors).concat.apply(_errors, e);
|
|
} else {
|
|
errors.push(e);
|
|
}
|
|
}
|
|
for (var i = 0; i < results.length; i++) {
|
|
add2(results[i]);
|
|
}
|
|
if (!errors.length) {
|
|
callback(null, source);
|
|
} else {
|
|
fields = convertFieldsError(errors);
|
|
callback(errors, fields);
|
|
}
|
|
}
|
|
if (options.messages) {
|
|
var messages$1 = this.messages();
|
|
if (messages$1 === messages) {
|
|
messages$1 = newMessages();
|
|
}
|
|
deepMerge(messages$1, options.messages);
|
|
options.messages = messages$1;
|
|
} else {
|
|
options.messages = this.messages();
|
|
}
|
|
var series = {};
|
|
var keys = options.keys || Object.keys(this.rules);
|
|
keys.forEach(function(z) {
|
|
var arr = _this2.rules[z];
|
|
var value = source[z];
|
|
arr.forEach(function(r) {
|
|
var rule = r;
|
|
if (typeof rule.transform === "function") {
|
|
if (source === source_) {
|
|
source = _extends({}, source);
|
|
}
|
|
value = source[z] = rule.transform(value);
|
|
}
|
|
if (typeof rule === "function") {
|
|
rule = {
|
|
validator: rule
|
|
};
|
|
} else {
|
|
rule = _extends({}, rule);
|
|
}
|
|
rule.validator = _this2.getValidationMethod(rule);
|
|
if (!rule.validator) {
|
|
return;
|
|
}
|
|
rule.field = z;
|
|
rule.fullField = rule.fullField || z;
|
|
rule.type = _this2.getType(rule);
|
|
series[z] = series[z] || [];
|
|
series[z].push({
|
|
rule,
|
|
value,
|
|
source,
|
|
field: z
|
|
});
|
|
});
|
|
});
|
|
var errorFields = {};
|
|
return asyncMap(series, options, function(data, doIt) {
|
|
var rule = data.rule;
|
|
var deep = (rule.type === "object" || rule.type === "array") && (typeof rule.fields === "object" || typeof rule.defaultField === "object");
|
|
deep = deep && (rule.required || !rule.required && data.value);
|
|
rule.field = data.field;
|
|
function addFullField(key, schema) {
|
|
return _extends({}, schema, {
|
|
fullField: rule.fullField + "." + key,
|
|
fullFields: rule.fullFields ? [].concat(rule.fullFields, [key]) : [key]
|
|
});
|
|
}
|
|
function cb(e) {
|
|
if (e === void 0) {
|
|
e = [];
|
|
}
|
|
var errorList = Array.isArray(e) ? e : [e];
|
|
if (!options.suppressWarning && errorList.length) {
|
|
Schema2.warning("async-validator:", errorList);
|
|
}
|
|
if (errorList.length && rule.message !== void 0) {
|
|
errorList = [].concat(rule.message);
|
|
}
|
|
var filledErrors = errorList.map(complementError(rule, source));
|
|
if (options.first && filledErrors.length) {
|
|
errorFields[rule.field] = 1;
|
|
return doIt(filledErrors);
|
|
}
|
|
if (!deep) {
|
|
doIt(filledErrors);
|
|
} else {
|
|
if (rule.required && !data.value) {
|
|
if (rule.message !== void 0) {
|
|
filledErrors = [].concat(rule.message).map(complementError(rule, source));
|
|
} else if (options.error) {
|
|
filledErrors = [options.error(rule, format(options.messages.required, rule.field))];
|
|
}
|
|
return doIt(filledErrors);
|
|
}
|
|
var fieldsSchema = {};
|
|
if (rule.defaultField) {
|
|
Object.keys(data.value).map(function(key) {
|
|
fieldsSchema[key] = rule.defaultField;
|
|
});
|
|
}
|
|
fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);
|
|
var paredFieldsSchema = {};
|
|
Object.keys(fieldsSchema).forEach(function(field) {
|
|
var fieldSchema = fieldsSchema[field];
|
|
var fieldSchemaList = Array.isArray(fieldSchema) ? fieldSchema : [fieldSchema];
|
|
paredFieldsSchema[field] = fieldSchemaList.map(addFullField.bind(null, field));
|
|
});
|
|
var schema = new Schema2(paredFieldsSchema);
|
|
schema.messages(options.messages);
|
|
if (data.rule.options) {
|
|
data.rule.options.messages = options.messages;
|
|
data.rule.options.error = options.error;
|
|
}
|
|
schema.validate(data.value, data.rule.options || options, function(errs) {
|
|
var finalErrors = [];
|
|
if (filledErrors && filledErrors.length) {
|
|
finalErrors.push.apply(finalErrors, filledErrors);
|
|
}
|
|
if (errs && errs.length) {
|
|
finalErrors.push.apply(finalErrors, errs);
|
|
}
|
|
doIt(finalErrors.length ? finalErrors : null);
|
|
});
|
|
}
|
|
}
|
|
var res;
|
|
if (rule.asyncValidator) {
|
|
res = rule.asyncValidator(rule, data.value, cb, data.source, options);
|
|
} else if (rule.validator) {
|
|
try {
|
|
res = rule.validator(rule, data.value, cb, data.source, options);
|
|
} catch (error) {
|
|
console.error == null ? void 0 : console.error(error);
|
|
setTimeout(function() {
|
|
throw error;
|
|
}, 0);
|
|
cb(error.message);
|
|
}
|
|
if (res === true) {
|
|
cb();
|
|
} else if (res === false) {
|
|
cb(typeof rule.message === "function" ? rule.message(rule.fullField || rule.field) : rule.message || (rule.fullField || rule.field) + " fails");
|
|
} else if (res instanceof Array) {
|
|
cb(res);
|
|
} else if (res instanceof Error) {
|
|
cb(res.message);
|
|
}
|
|
}
|
|
if (res && res.then) {
|
|
res.then(function() {
|
|
return cb();
|
|
}, function(e) {
|
|
return cb(e);
|
|
});
|
|
}
|
|
}, function(results) {
|
|
complete(results);
|
|
}, source);
|
|
};
|
|
_proto.getType = function getType(rule) {
|
|
if (rule.type === void 0 && rule.pattern instanceof RegExp) {
|
|
rule.type = "pattern";
|
|
}
|
|
if (typeof rule.validator !== "function" && rule.type && !validators.hasOwnProperty(rule.type)) {
|
|
throw new Error(format("Unknown rule type %s", rule.type));
|
|
}
|
|
return rule.type || "string";
|
|
};
|
|
_proto.getValidationMethod = function getValidationMethod(rule) {
|
|
if (typeof rule.validator === "function") {
|
|
return rule.validator;
|
|
}
|
|
var keys = Object.keys(rule);
|
|
var messageIndex = keys.indexOf("message");
|
|
if (messageIndex !== -1) {
|
|
keys.splice(messageIndex, 1);
|
|
}
|
|
if (keys.length === 1 && keys[0] === "required") {
|
|
return validators.required;
|
|
}
|
|
return validators[this.getType(rule)] || void 0;
|
|
};
|
|
return Schema2;
|
|
}();
|
|
Schema.register = function register(type4, validator) {
|
|
if (typeof validator !== "function") {
|
|
throw new Error("Cannot register a validator by type, validator is not a function");
|
|
}
|
|
validators[type4] = validator;
|
|
};
|
|
Schema.warning = warning;
|
|
Schema.messages = messages;
|
|
Schema.validators = validators;
|
|
var cnValidateMessage = {
|
|
default: "%s\u9A8C\u8BC1\u5931\u8D25",
|
|
required: "%s\u4E0D\u80FD\u4E3A\u7A7A",
|
|
enum: "%s\u4E0D\u5728\u679A\u4E3E%s\u91CC\u9762",
|
|
whitespace: "%s\u4E0D\u80FD\u4E3A\u7A7A",
|
|
date: {
|
|
format: "%s\u65E5\u671F%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u683C\u5F0F\u7684\u65E5\u671F%s",
|
|
parse: "%s\u65E0\u6CD5\u89E3\u6790\u4E3A\u65E5\u671F,%s\u662F\u65E0\u6548\u7684",
|
|
invalid: "%s\u65E5\u671F%s\u662F\u65E0\u6548\u7684"
|
|
},
|
|
types: {
|
|
number: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u6570\u5B57",
|
|
boolean: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u5E03\u5C14\u7C7B\u578B",
|
|
method: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u65B9\u6CD5",
|
|
regexp: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u6B63\u5219\u8868\u8FBE\u5F0F",
|
|
integer: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u6574\u578B\u6570\u5B57",
|
|
float: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u6D6E\u70B9\u5C0F\u6570",
|
|
array: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u6570\u7EC4",
|
|
object: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u5BF9\u8C61",
|
|
enum: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u679A\u4E3E",
|
|
date: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u65E5\u671F",
|
|
url: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684url",
|
|
hex: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u5341\u516D\u8FDB\u5236",
|
|
email: "%s\u4E0D\u662F\u4E00\u4E2A\u6709\u6548\u7684\u90AE\u7BB1"
|
|
},
|
|
string: {
|
|
len: "%s\u5FC5\u987B\u662F\u957F\u5EA6\u4E3A%s\u4E2A\u5B57\u7B26",
|
|
min: "%s\u6700\u5C0F\u957F\u5EA6\u4E3A%s\u4E2A\u5B57\u7B26",
|
|
max: "%s\u6700\u957F%s\u4E2A\u5B57\u7B26",
|
|
range: "%s\u5B57\u7B26\u957F\u5EA6\u9700\u8981\u5728%s\u548C%s\u4E4B\u95F4"
|
|
},
|
|
number: {
|
|
len: "%s\u957F\u5EA6\u5FC5\u987B\u4E3A%s",
|
|
min: "%s\u5FC5\u987B\u5C0F\u4E8E%s",
|
|
max: "%s\u5FC5\u987B\u5927\u4E8E%s",
|
|
range: "%s\u9700\u8981\u5728%s\u548C%s\u4E4B\u95F4"
|
|
},
|
|
array: {
|
|
len: "%s\u957F\u5EA6\u5FC5\u987B\u4E3A%s",
|
|
min: "%s\u957F\u5EA6\u5FC5\u987B\u5C0F\u4E8E%s",
|
|
max: "%s\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E%s",
|
|
range: "%s\u957F\u5EA6\u9700\u8981\u5728%s\u548C%s\u4E4B\u95F4"
|
|
},
|
|
pattern: {
|
|
mismatch: "%s\u503C%s\u4E0D\u80FD\u5339\u914D%s"
|
|
}
|
|
};
|
|
const __default__$N = {
|
|
name: "LayFormItem"
|
|
};
|
|
const _sfc_main$Q = defineComponent({
|
|
...__default__$N,
|
|
props: {
|
|
prop: null,
|
|
mode: { default: "block" },
|
|
label: null,
|
|
labelPosition: { default: "right" },
|
|
labelWidth: { default: 95 },
|
|
errorMessage: null,
|
|
rules: null,
|
|
required: { type: Boolean },
|
|
requiredErrorMessage: null
|
|
},
|
|
setup(__props, { expose }) {
|
|
const props = __props;
|
|
const layForm = inject("LayForm", {});
|
|
const formItemRef = ref();
|
|
const slotParent = ref();
|
|
const isRequired = computed$1(() => {
|
|
return props.required || layForm.required;
|
|
});
|
|
const ruleItems = computed$1(() => {
|
|
const prop = props.prop;
|
|
if (!prop) {
|
|
return {};
|
|
}
|
|
let rulesArrs = [];
|
|
if (isRequired.value) {
|
|
rulesArrs.push({ required: true });
|
|
}
|
|
if (props.rules) {
|
|
rulesArrs = rulesArrs.concat(props.rules);
|
|
}
|
|
if (layForm.rules && layForm.rules[prop]) {
|
|
rulesArrs = rulesArrs.concat(layForm.rules[prop]);
|
|
}
|
|
return rulesArrs;
|
|
});
|
|
const filedValue = computed$1(() => props.prop ? layForm.model[props.prop] : void 0);
|
|
watch(() => filedValue.value, (val) => validate(), { deep: true });
|
|
const errorMsg = ref();
|
|
const errorStatus = ref(false);
|
|
const validate = (callback) => {
|
|
if (props.prop && ruleItems.value.length > 0) {
|
|
const descriptor = {};
|
|
descriptor[layForm.useCN ? props.label || props.prop : props.prop] = ruleItems.value;
|
|
const validator = new Schema(descriptor);
|
|
let model = {};
|
|
let validateMessage = null;
|
|
if (layForm.useCN) {
|
|
validateMessage = Object.assign({}, cnValidateMessage, layForm.validateMessage);
|
|
model[props.label || props.prop] = filedValue.value;
|
|
} else {
|
|
layForm.validateMessage && (validateMessage = layForm.validateMessage);
|
|
model[props.prop] = filedValue.value;
|
|
}
|
|
layForm.requiredErrorMessage && (validateMessage = Object.assign(validateMessage, {
|
|
required: layForm.requiredErrorMessage
|
|
}));
|
|
props.requiredErrorMessage && (validateMessage = Object.assign(validateMessage, {
|
|
required: props.requiredErrorMessage
|
|
}));
|
|
validateMessage && validator.messages(validateMessage);
|
|
validator.validate(model, (errors, fields) => {
|
|
var _a2, _b;
|
|
errorStatus.value = errors !== null && errors.length > 0;
|
|
const slotParentDiv = slotParent.value;
|
|
if (errorStatus.value) {
|
|
const _errors = errors;
|
|
layForm.useCN && _errors.forEach((error) => {
|
|
error.label = props.label;
|
|
error.field = props.prop;
|
|
});
|
|
errorMsg.value = (_a2 = props.errorMessage) != null ? _a2 : _errors[0].message;
|
|
(slotParentDiv == null ? void 0 : slotParentDiv.childElementCount) > 0 && ((_b = slotParentDiv == null ? void 0 : slotParentDiv.firstElementChild) == null ? void 0 : _b.classList.add("layui-form-danger"));
|
|
callback && callback(_errors, fields);
|
|
} else {
|
|
clearValidate();
|
|
}
|
|
});
|
|
}
|
|
};
|
|
const clearValidate = () => {
|
|
var _a2;
|
|
errorStatus.value = false;
|
|
errorMsg.value = "";
|
|
const slotParentDiv = slotParent.value;
|
|
(slotParentDiv == null ? void 0 : slotParentDiv.childElementCount) > 0 && ((_a2 = slotParentDiv == null ? void 0 : slotParentDiv.firstElementChild) == null ? void 0 : _a2.classList.remove("layui-form-danger"));
|
|
};
|
|
expose({ validate, clearValidate });
|
|
onMounted(() => {
|
|
if (props.prop) {
|
|
layForm.addField(reactive({
|
|
...toRefs(props),
|
|
$el: formItemRef,
|
|
validate,
|
|
clearValidate
|
|
}));
|
|
}
|
|
});
|
|
const getMarginLeft = computed$1(() => {
|
|
if (props.mode == "block") {
|
|
if (props.labelPosition != "top") {
|
|
let labelWidth = typeof props.labelWidth === "string" ? parseFloat(props.labelWidth) : props.labelWidth;
|
|
labelWidth += 15;
|
|
return {
|
|
"margin-left": `${labelWidth}px`
|
|
};
|
|
} else {
|
|
return {
|
|
"margin-left": "0px"
|
|
};
|
|
}
|
|
}
|
|
});
|
|
return (_ctx, _cache) => {
|
|
var _a2;
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-form-item", [`layui-form-item-${__props.labelPosition}`]]),
|
|
ref_key: "formItemRef",
|
|
ref: formItemRef
|
|
}, [
|
|
createElementVNode("label", {
|
|
class: "layui-form-label",
|
|
style: normalizeStyle({ width: __props.labelWidth + "px" })
|
|
}, [
|
|
props.prop && unref(isRequired) ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-required", "layui-icon"].concat((_a2 = unref(layForm).requiredIcons) != null ? _a2 : ""))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "required", {
|
|
props: { ...props, model: unref(layForm).model }
|
|
}, () => [
|
|
createTextVNode(toDisplayString$1(unref(layForm).requiredIcons ? "" : "*"), 1)
|
|
])
|
|
], 2)) : createCommentVNode("", true),
|
|
renderSlot(_ctx.$slots, "label", {
|
|
props: { ...props, model: unref(layForm).model }
|
|
}, () => [
|
|
createTextVNode(toDisplayString$1(__props.label), 1)
|
|
])
|
|
], 4),
|
|
createElementVNode("div", {
|
|
class: normalizeClass([__props.mode ? "layui-input-" + __props.mode : ""]),
|
|
style: normalizeStyle(unref(getMarginLeft))
|
|
}, [
|
|
createElementVNode("div", {
|
|
ref_key: "slotParent",
|
|
ref: slotParent
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default", {
|
|
props: { ...props, model: unref(layForm).model }
|
|
})
|
|
], 512),
|
|
errorStatus.value ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
class: normalizeClass([
|
|
"layui-error-message",
|
|
{ "layui-error-message-anim": errorStatus.value }
|
|
])
|
|
}, toDisplayString$1(errorMsg.value), 3)) : createCommentVNode("", true)
|
|
], 6)
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$E = withInstall(_sfc_main$Q);
|
|
var index$o = /* @__PURE__ */ (() => ".layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:10px 5px 10px 0;font-size:0}.layui-rate li i.layui-icon{font-size:20px;color:#ffb800;margin-right:5px;transition:all .3s;-webkit-transition:all .3s}.layui-rate li i:hover{cursor:pointer;transform:scale(1.12);-webkit-transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-rate-clear-icon{display:inline-block;color:#c6c6c6;padding-top:3px;font-size:18px;vertical-align:middle}.layui-rate-clear-icon:hover{cursor:pointer;color:#ff4949}\n")();
|
|
const _hoisted_1$C = ["onMousemove", "onClick"];
|
|
const _hoisted_2$x = {
|
|
key: 0,
|
|
class: "layui-inline"
|
|
};
|
|
const __default__$M = {
|
|
name: "LayRate"
|
|
};
|
|
const _sfc_main$P = defineComponent({
|
|
...__default__$M,
|
|
props: {
|
|
theme: null,
|
|
length: { default: 5 },
|
|
modelValue: { default: 0 },
|
|
readonly: { type: [Boolean, String], default: false },
|
|
half: { type: Boolean, default: false },
|
|
text: { type: Boolean, default: false },
|
|
isBlock: { type: Boolean, default: false },
|
|
allowClear: { type: Boolean, default: false },
|
|
clearIcon: { default: "layui-icon-close-fill" },
|
|
icons: { default: () => [
|
|
"layui-icon-rate",
|
|
"layui-icon-rate-half",
|
|
"layui-icon-rate-solid"
|
|
] }
|
|
},
|
|
emits: ["update:modelValue", "select", "clear"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const currentValue = ref(props.modelValue);
|
|
const tempValue = ref(currentValue.value);
|
|
const isHalf = computed$1(() => props.half && Math.round(currentValue.value) !== currentValue.value);
|
|
watch(() => props.modelValue, () => {
|
|
currentValue.value = props.modelValue;
|
|
tempValue.value = props.modelValue;
|
|
});
|
|
const getValue2 = function(index2, event) {
|
|
if (!props.half) {
|
|
return index2;
|
|
}
|
|
return index2 - (event.offsetX <= event.target.offsetWidth / 2 ? 0.5 : 0);
|
|
};
|
|
const mousemove = function(index2, event) {
|
|
if (props.readonly) {
|
|
return false;
|
|
}
|
|
currentValue.value = getValue2(index2, event);
|
|
};
|
|
const mouseleave = function() {
|
|
if (props.readonly) {
|
|
return false;
|
|
}
|
|
currentValue.value = tempValue.value;
|
|
};
|
|
const action = function(index2, event) {
|
|
if (props.readonly) {
|
|
return false;
|
|
}
|
|
currentValue.value = getValue2(index2, event);
|
|
tempValue.value = currentValue.value;
|
|
emit("update:modelValue", currentValue.value);
|
|
emit("select", currentValue.value);
|
|
};
|
|
const showClearIcon = computed$1(() => !props.readonly && props.allowClear);
|
|
const clearRate = function() {
|
|
tempValue.value = 0;
|
|
currentValue.value = 0;
|
|
emit("clear", currentValue.value);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(__props.isBlock ? "layui-block" : "layui-inline")
|
|
}, [
|
|
createElementVNode("ul", {
|
|
class: "layui-rate",
|
|
onMouseleave: mouseleave
|
|
}, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.length, (index2) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
key: index2,
|
|
class: "layui-inline",
|
|
onMousemove: ($event) => mousemove(index2, $event),
|
|
onClick: ($event) => action(index2, $event)
|
|
}, [
|
|
index2 <= Math.ceil(currentValue.value) ? (openBlock(), createElementBlock("i", {
|
|
key: 0,
|
|
class: normalizeClass([
|
|
"layui-icon",
|
|
`${__props.icons[__props.icons.length - (unref(isHalf) && index2 === Math.ceil(currentValue.value) ? 2 : 1)]}`
|
|
]),
|
|
style: normalizeStyle({ color: __props.theme })
|
|
}, null, 6)) : (openBlock(), createElementBlock("i", {
|
|
key: 1,
|
|
class: normalizeClass(["layui-icon"].concat(__props.icons[0])),
|
|
style: normalizeStyle({ color: __props.theme })
|
|
}, null, 6))
|
|
], 40, _hoisted_1$C);
|
|
}), 128))
|
|
], 32),
|
|
__props.text ? (openBlock(), createElementBlock("span", _hoisted_2$x, [
|
|
renderSlot(_ctx.$slots, "default", { value: currentValue.value }, () => [
|
|
createTextVNode(toDisplayString$1(currentValue.value + "\u661F"), 1)
|
|
])
|
|
])) : createCommentVNode("", true),
|
|
unref(showClearIcon) ? (openBlock(), createElementBlock("i", {
|
|
key: 1,
|
|
class: normalizeClass(["layui-icon", "layui-rate-clear-icon", __props.clearIcon]),
|
|
onClick: clearRate,
|
|
title: "\u6E05\u9664\u8BC4\u5206"
|
|
}, null, 2)) : createCommentVNode("", true)
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$D = withInstall(_sfc_main$P);
|
|
const component$C = withInstall(_sfc_main$1y);
|
|
const _sfc_main$O = {
|
|
name: "LayDropdownMenu"
|
|
};
|
|
const _hoisted_1$B = { class: "layui-menu layui-dropdown-menu" };
|
|
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
return openBlock(), createElementBlock("ul", _hoisted_1$B, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]);
|
|
}
|
|
var LayDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$1]]);
|
|
const component$B = withInstall(LayDropdownMenu);
|
|
const _hoisted_1$A = { class: "layui-menu-body-title" };
|
|
const _hoisted_2$w = {
|
|
key: 0,
|
|
class: "layui-dropdown-menu-prefix"
|
|
};
|
|
const _hoisted_3$t = {
|
|
key: 0,
|
|
class: "layui-dropdown-menu-suffix"
|
|
};
|
|
const __default__$L = {
|
|
name: "LayDropdownMenuItem"
|
|
};
|
|
const _sfc_main$N = defineComponent({
|
|
...__default__$L,
|
|
props: {
|
|
disabled: { type: Boolean, default: false }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
inject("openState");
|
|
const dropdownCtx = inject(dropdownInjectionKey, void 0);
|
|
const handleClick = () => {
|
|
if (props.disabled) {
|
|
return;
|
|
}
|
|
dropdownCtx == null ? void 0 : dropdownCtx.hide();
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
onClick: handleClick,
|
|
class: normalizeClass({ "layui-disabled": __props.disabled }),
|
|
style: normalizeStyle(_ctx.$slots.suffix ? `justify-content: space-between;` : "")
|
|
}, [
|
|
createElementVNode("span", _hoisted_1$A, [
|
|
_ctx.$slots.prefix ? (openBlock(), createElementBlock("span", _hoisted_2$w, [
|
|
renderSlot(_ctx.$slots, "prefix")
|
|
])) : createCommentVNode("", true),
|
|
renderSlot(_ctx.$slots, "default")
|
|
]),
|
|
_ctx.$slots.suffix ? (openBlock(), createElementBlock("span", _hoisted_3$t, [
|
|
renderSlot(_ctx.$slots, "suffix")
|
|
])) : createCommentVNode("", true)
|
|
], 6);
|
|
};
|
|
}
|
|
});
|
|
const component$A = withInstall(_sfc_main$N);
|
|
const __default__$K = {
|
|
name: "LayDropdownSubMenu"
|
|
};
|
|
const _sfc_main$M = defineComponent({
|
|
...__default__$K,
|
|
props: {
|
|
trigger: { default: "hover" },
|
|
placement: { default: "right-start" },
|
|
disabled: { type: Boolean, default: false },
|
|
contentOffset: { default: 2 }
|
|
},
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createBlock(_sfc_main$1y, {
|
|
trigger: __props.trigger,
|
|
placement: __props.placement,
|
|
"auto-fit-min-width": false,
|
|
contentOffset: __props.contentOffset,
|
|
disabled: __props.disabled,
|
|
updateAtScroll: ""
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(LayDropdownMenu, null, {
|
|
default: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "content")
|
|
]),
|
|
_: 3
|
|
})
|
|
]),
|
|
default: withCtx(() => [
|
|
createVNode(_sfc_main$N, { disabled: __props.disabled }, createSlots({
|
|
suffix: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "suffix", {}, () => [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: "layui-icon-right",
|
|
size: "14px"
|
|
})
|
|
])
|
|
]),
|
|
_: 2
|
|
}, [
|
|
_ctx.$slots.prefix ? {
|
|
name: "prefix",
|
|
fn: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "prefix")
|
|
]),
|
|
key: "0"
|
|
} : void 0,
|
|
_ctx.$slots.default ? {
|
|
name: "default",
|
|
fn: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]),
|
|
key: "1"
|
|
} : void 0
|
|
]), 1032, ["disabled"])
|
|
]),
|
|
_: 3
|
|
}, 8, ["trigger", "placement", "contentOffset", "disabled"]);
|
|
};
|
|
}
|
|
});
|
|
const component$z = withInstall(_sfc_main$M);
|
|
var index$n = /* @__PURE__ */ (() => '.layui-tab{display:flex;margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-head>.layui-tab-title{overflow:hidden}.layui-tab.is-left{flex-direction:row}.layui-tab.is-right{flex-direction:row-reverse;justify-content:space-between}.layui-tab.is-top{flex-direction:column}.layui-tab.is-bottom{flex-direction:column-reverse}.layui-tab-head{display:inline-block;overflow:hidden}.layui-tab-card .layui-tab-head{background-color:var(--global-neutral-color-1)}.layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li{display:inline-block;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s;position:relative;line-height:40px;min-width:65px;padding:0 15px;text-align:center;cursor:pointer;user-select:none}.layui-tab-title li a{display:block;padding:0 15px;margin:0 -15px}.layui-tab-head.is-top,.layui-tab-head.is-bottom,.layui-tab-title.is-top,.layui-tab-title.is-bottom{width:100%;position:relative}.layui-tab-title.is-right,.layui-tab-title.is-left{height:100%;min-width:60px;border-bottom-width:0px;border-bottom-style:none}.layui-tab-title.is-left li{display:list-item;margin-right:-1px}.layui-tab-title.is-right li{display:list-item;margin-left:-1px}.layui-tab-title.is-top li,.layui-tab-title.is-bottom li{border-bottom:1px solid #eeeeee}.layui-tab-title.is-right{border-left:1px solid var(--global-neutral-color-3)}.layui-tab-title.is-left{border-right:1px solid var(--global-neutral-color-3)}.layui-tab-title .layui-this{color:#000;background-color:#fff}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:"";width:100%;height:41px;border-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-title.is-left .layui-this:after{border:1px solid var(--global-neutral-color-3);border-right-color:#fff}.layui-tab-title.is-right .layui-this:after{border:1px solid var(--global-neutral-color-3);border-left-color:#fff}.layui-tab-brief>.layui-tab-head{background-color:transparent}.layui-tab-brief>.layui-tab-head>.layui-tab-title .layui-this{color:var(--global-primary-color)}.layui-tab-brief>.layui-tab-head>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-head>.layui-tab-title .layui-this:after{border:none;border-radius:0}.layui-tab-brief>.layui-tab-head.is-right>.layui-tab-title{border-left:1px solid var(--global-neutral-color-3)}.layui-tab-brief>.layui-tab-head.is-left>.layui-tab-title{border-right:1px solid var(--global-neutral-color-3)}.layui-tab-brief[overflow]>.layui-tab-head>.layui-tab-title .layui-this:after{top:-1px}.layui-tab-brief>.layui-tab-head.is-right>.layui-tab-title li,.layui-tab-brief>.layui-tab-head.is-left>.layui-tab-title li{margin-right:0}.layui-tab-brief>.layui-tab-head.is-top>.layui-tab-title li,.layui-tab-brief>.layui-tab-head.is-top>.layui-tab-title li{margin-top:0;margin-bottom:0}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px #0000001a}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-top{margin-top:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-right,.layui-tab-card>.layui-tab-head>.layui-tab-title.is-left{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-bottom li{margin-top:-1px}.layui-tab-card>.layui-tab-head>.layui-tab-title .layui-this:after{border-radius:0}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-bottom{border-top:1px solid var(--global-neutral-color-3);margin-bottom:-2px;margin-left:-1px}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-left li,.layui-tab-card>.layui-tab-head>.layui-tab-title.is-right li{margin-top:-1px;margin-bottom:-1px}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-top .layui-this:after{border:1px solid var(--global-neutral-color-3);border-bottom-color:#fff}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-bottom .layui-this:after{border:1px solid var(--global-neutral-color-3);border-top-color:#fff}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-left .layui-this:after{border:1px solid var(--global-neutral-color-3);border-right-color:#fff}.layui-tab-card>.layui-tab-head>.layui-tab-title.is-right .layui-this:after{border:1px solid var(--global-neutral-color-3);border-left-color:#fff}.layui-tab-card>.layui-tab-head .layui-tab-bar{width:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:var(--global-checked-color)}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar.prev{left:0;right:auto;border-right:1px solid var(--global-neutral-color-3)!important;border-left:none!important}.layui-tab-bar .layui-icon{top:3px;font-size:13.6px;display:inline-block;transition:all .3s;-webkit-transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:var(--global-neutral-color-3);border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:var(--global-neutral-color-8);transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#ff5722;color:#fff}.layui-tab-content{padding:15px 0;flex:1}.layui-tab.is-right>.layui-tab-content,.layui-tab.is-left>.layui-tab-content{height:100%;padding:0 10px;display:inline-block;vertical-align:top}.layui-tab-active-bar{position:absolute;bottom:0px;left:0;height:1.5px;background-color:var(--global-checked-color);z-index:2;list-style:none;box-sizing:border-box;pointer-events:none}.is-top .layui-tab-active-bar{bottom:-1px;height:1.5px}.is-left .layui-tab-active-bar{left:auto;right:-1px;top:0;bottom:auto;width:1.5px}.is-right .layui-tab-active-bar{left:-1px;right:auto;top:0;bottom:auto;width:1.5px}\n')();
|
|
const TabInjectKey = Symbol("layuiTab");
|
|
const __default__$J = {
|
|
name: "LayTabItem"
|
|
};
|
|
const _sfc_main$L = defineComponent({
|
|
...__default__$J,
|
|
props: {
|
|
id: null,
|
|
title: null,
|
|
icon: null,
|
|
closable: { type: [Boolean, String], default: true }
|
|
},
|
|
setup(__props) {
|
|
var _a2;
|
|
const props = __props;
|
|
const instance = getCurrentInstance();
|
|
const slots = useSlots();
|
|
const active = inject("active");
|
|
const tabsCtx = inject(TabInjectKey, {});
|
|
const data = reactive({
|
|
id: props.id,
|
|
title: props.title,
|
|
icon: props.icon,
|
|
closable: props.closable,
|
|
slots
|
|
});
|
|
if (instance == null ? void 0 : instance.uid) {
|
|
(_a2 = tabsCtx.addItem) == null ? void 0 : _a2.call(tabsCtx, props.id, data);
|
|
}
|
|
onBeforeUnmount(() => {
|
|
var _a3;
|
|
if (instance == null ? void 0 : instance.uid) {
|
|
(_a3 = tabsCtx.removeItem) == null ? void 0 : _a3.call(tabsCtx, props.id);
|
|
}
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-tab-item", [unref(active) === __props.id ? "layui-show" : ""]])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$z = ["onClick"];
|
|
const _hoisted_2$v = ["onClick"];
|
|
const _hoisted_3$s = { class: "layui-tab-content" };
|
|
const __default__$I = {
|
|
name: "LayTab"
|
|
};
|
|
const _sfc_main$K = defineComponent({
|
|
...__default__$I,
|
|
props: {
|
|
type: null,
|
|
modelValue: null,
|
|
allowClose: { type: Boolean },
|
|
tabPosition: { default: "top" },
|
|
beforeClose: null,
|
|
beforeLeave: null,
|
|
activeBarTransition: { type: Boolean }
|
|
},
|
|
emits: ["update:modelValue", "change", "close"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const slot = useSlots();
|
|
const childrens = ref([]);
|
|
const tabMap = reactive(/* @__PURE__ */ new Map());
|
|
const setItemInstanceBySlot = function(nodes) {
|
|
nodes == null ? void 0 : nodes.map((item) => {
|
|
let component2 = item.type;
|
|
if (item.type.toString() == "Symbol(Fragment)") {
|
|
setItemInstanceBySlot(item.children);
|
|
} else {
|
|
if (component2.name == _sfc_main$L.name) {
|
|
childrens.value.push(item);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
const active = computed$1({
|
|
get() {
|
|
return props.modelValue;
|
|
},
|
|
set(val) {
|
|
emit("update:modelValue", val);
|
|
}
|
|
});
|
|
const tabItems = computed$1(() => {
|
|
const tabData = [];
|
|
childrens.value.forEach((item) => {
|
|
var _a2;
|
|
const tab = tabMap.get((_a2 = item.props) == null ? void 0 : _a2.id);
|
|
if (tab)
|
|
tabData.push(tab);
|
|
});
|
|
return tabData;
|
|
});
|
|
const addItem = (id, data) => {
|
|
tabMap.set(id, data);
|
|
};
|
|
const removeItem = (id) => {
|
|
tabMap.delete(id);
|
|
};
|
|
provide(TabInjectKey, reactive({
|
|
active,
|
|
addItem,
|
|
removeItem
|
|
}));
|
|
const change3 = function(id) {
|
|
if (props.beforeLeave && props.beforeLeave(id) === false) {
|
|
return;
|
|
}
|
|
emit("update:modelValue", id);
|
|
emit("change", id);
|
|
};
|
|
const close2 = function(index2, id) {
|
|
if (props.beforeClose && props.beforeClose(id) === false) {
|
|
return;
|
|
}
|
|
childrens.value.splice(index2, 1);
|
|
if (active.value === id) {
|
|
const nextChildren = childrens.value[index2 === childrens.value.length ? 0 : index2];
|
|
change3(nextChildren && nextChildren.props ? nextChildren.props.id : "");
|
|
}
|
|
emit("close", id);
|
|
};
|
|
const activeBarRef = shallowRef(void 0);
|
|
const activeEl = shallowRef(void 0);
|
|
const tabBarStyle = ref();
|
|
const getBarStyle = () => {
|
|
let offset = 0;
|
|
let tabSize = 0;
|
|
const sizeName2 = props.tabPosition === "top" || props.tabPosition === "bottom" ? "width" : "height";
|
|
const axis = sizeName2 === "width" ? "X" : "Y";
|
|
const position = axis === "X" ? "left" : "top";
|
|
const el = activeEl.value;
|
|
const activeElParentElement = navRef.value;
|
|
if (!el || !activeElParentElement)
|
|
return;
|
|
const rect = el == null ? void 0 : el.getBoundingClientRect();
|
|
const parentRect = activeElParentElement == null ? void 0 : activeElParentElement.getBoundingClientRect();
|
|
offset = rect[position] - parentRect[position];
|
|
tabSize = el.getBoundingClientRect()[sizeName2];
|
|
return {
|
|
[sizeName2]: `${tabSize}px`,
|
|
transform: `translate${axis}(${offset}px)`,
|
|
transition: props.activeBarTransition ? `transform .3s` : ""
|
|
};
|
|
};
|
|
const navRef = shallowRef(void 0);
|
|
const scrollable = ref(false);
|
|
const navOffset = ref(0);
|
|
const navStyle = computed$1(() => {
|
|
var _a2, _b;
|
|
const axis = props.tabPosition === "top" || props.tabPosition === "bottom" ? "X" : "Y";
|
|
const position = axis === "X" ? "left" : "top";
|
|
const scrollPrevSize = (_b = (_a2 = scrollPrevRef.value) == null ? void 0 : _a2[`offset${sizeName.value}`]) != null ? _b : 0;
|
|
return {
|
|
transform: `translate${axis}(-${navOffset.value}px)`,
|
|
[position]: scrollable.value ? `${scrollPrevSize}px` : 0
|
|
};
|
|
});
|
|
const sizeName = computed$1(() => {
|
|
return props.tabPosition === "top" || props.tabPosition === "bottom" ? "Width" : "Height";
|
|
});
|
|
const getNavSize = function() {
|
|
var _a2;
|
|
let size = 0;
|
|
const nodeList = (_a2 = navRef.value) == null ? void 0 : _a2.querySelectorAll("li");
|
|
nodeList == null ? void 0 : nodeList.forEach((item) => {
|
|
size += item[`offset${sizeName.value}`];
|
|
});
|
|
return size;
|
|
};
|
|
const scrollPrev = function() {
|
|
if (!navRef.value)
|
|
return;
|
|
const containerSize = navRef.value[`offset${sizeName.value}`];
|
|
const currentOffset = navOffset.value;
|
|
if (!currentOffset)
|
|
return;
|
|
let newOffset = currentOffset > containerSize ? currentOffset - containerSize : 0;
|
|
navOffset.value = newOffset;
|
|
};
|
|
const scrollNextRef = shallowRef(void 0);
|
|
const scrollPrevRef = shallowRef(void 0);
|
|
const scrollNext = function() {
|
|
var _a2, _b, _c, _d;
|
|
if (!navRef.value)
|
|
return;
|
|
const navSize = getNavSize();
|
|
const containerSize = navRef.value[`offset${sizeName.value}`];
|
|
const currentOffset = navOffset.value;
|
|
const scrollNextSize = (_b = (_a2 = scrollNextRef.value) == null ? void 0 : _a2[`offset${sizeName.value}`]) != null ? _b : 0;
|
|
const scrollPrevSize = (_d = (_c = scrollPrevRef.value) == null ? void 0 : _c[`offset${sizeName.value}`]) != null ? _d : 0;
|
|
if (navSize - currentOffset <= containerSize)
|
|
return;
|
|
let newOffset = navSize - currentOffset > containerSize * 2 ? currentOffset + containerSize : navSize - containerSize + scrollNextSize + scrollPrevSize;
|
|
navOffset.value = newOffset;
|
|
};
|
|
const headRef = shallowRef(void 0);
|
|
const scrollToActiveTab = function() {
|
|
var _a2, _b, _c, _d;
|
|
if (!scrollable.value)
|
|
return;
|
|
const activeTab = activeEl.value;
|
|
const container = headRef.value;
|
|
if (!activeTab || !container)
|
|
return;
|
|
const activeTabRect = activeTab == null ? void 0 : activeTab.getBoundingClientRect();
|
|
const containerRect = container == null ? void 0 : container.getBoundingClientRect();
|
|
const isHorizontal = ["top", "bottom"].includes(props.tabPosition);
|
|
const currentOffset = navOffset.value;
|
|
let newOffset = currentOffset;
|
|
const navSize = getNavSize();
|
|
const scrollNextSize = (_b = (_a2 = scrollNextRef.value) == null ? void 0 : _a2[`offset${sizeName.value}`]) != null ? _b : 0;
|
|
const scrollPrevSize = (_d = (_c = scrollPrevRef.value) == null ? void 0 : _c[`offset${sizeName.value}`]) != null ? _d : 0;
|
|
const maxOffset2 = isHorizontal ? navSize - containerRect.width + scrollNextSize + scrollPrevSize : navSize - containerRect.height + scrollNextSize + scrollPrevSize;
|
|
if (isHorizontal) {
|
|
if (activeTabRect.left < containerRect.left) {
|
|
newOffset = currentOffset - (containerRect.left - activeTabRect.left);
|
|
newOffset -= scrollPrevSize;
|
|
}
|
|
if (activeTabRect.right > containerRect.right) {
|
|
newOffset = currentOffset + activeTabRect.right - containerRect.right;
|
|
newOffset += scrollNextSize;
|
|
}
|
|
} else {
|
|
if (activeTabRect.top < containerRect.top) {
|
|
newOffset = currentOffset - (containerRect.top - activeTabRect.top);
|
|
}
|
|
if (activeTabRect.bottom > containerRect.bottom) {
|
|
newOffset = currentOffset + (activeTabRect.bottom - containerRect.bottom);
|
|
}
|
|
}
|
|
newOffset = Math.max(newOffset, 0);
|
|
navOffset.value = Math.min(newOffset, maxOffset2);
|
|
};
|
|
const update = () => {
|
|
var _a2, _b, _c, _d, _e;
|
|
if (!navRef.value)
|
|
return;
|
|
activeEl.value = (_a2 = navRef.value) == null ? void 0 : _a2.querySelector(".layui-this");
|
|
tabBarStyle.value = getBarStyle();
|
|
if (props.tabPosition !== "top" && props.tabPosition !== "bottom")
|
|
return;
|
|
const navSize = getNavSize();
|
|
const containerSize = navRef.value[`offset${sizeName.value}`];
|
|
const currentOffset = navOffset.value;
|
|
const scrollNextSize = (_c = (_b = scrollNextRef.value) == null ? void 0 : _b[`offset${sizeName.value}`]) != null ? _c : 0;
|
|
const scrollPrevSize = (_e = (_d = scrollPrevRef.value) == null ? void 0 : _d[`offset${sizeName.value}`]) != null ? _e : 0;
|
|
if (containerSize < navSize) {
|
|
const currentOffset2 = navOffset.value;
|
|
scrollable.value = true;
|
|
if (navSize - currentOffset2 < containerSize) {
|
|
navOffset.value = navSize - containerSize + scrollNextSize + scrollPrevSize;
|
|
}
|
|
scrollToActiveTab();
|
|
} else {
|
|
scrollable.value = false;
|
|
if (currentOffset > 0) {
|
|
navOffset.value = 0;
|
|
}
|
|
}
|
|
};
|
|
const renderTabIcon = (attrs) => {
|
|
const tab = attrs.tabData;
|
|
if (typeof tab.icon === "function") {
|
|
return tab.icon();
|
|
} else if (typeof tab.icon === "string") {
|
|
return h(_sfc_main$2E, {
|
|
type: tab.icon,
|
|
style: "margin-right: 8px;"
|
|
});
|
|
}
|
|
};
|
|
const renderTabTitle = (attrs) => {
|
|
var _a2, _b;
|
|
const tab = attrs.tabData;
|
|
if ((_a2 = tab.slots) == null ? void 0 : _a2.title) {
|
|
return h(Fragment, ((_b = tab.slots) == null ? void 0 : _b.title) && tab.slots.title());
|
|
}
|
|
if (typeof tab.title === "function") {
|
|
return tab.title();
|
|
} else if (typeof tab.title === "string") {
|
|
return createTextVNode(tab.title);
|
|
}
|
|
};
|
|
useResizeObserver(navRef, update);
|
|
watch(tabMap, function() {
|
|
childrens.value = [];
|
|
setItemInstanceBySlot(slot.default && slot.default());
|
|
}, { immediate: true });
|
|
watch(() => [
|
|
props.modelValue,
|
|
props.tabPosition,
|
|
props.type,
|
|
childrens.value.length
|
|
], async () => {
|
|
await nextTick();
|
|
update();
|
|
});
|
|
onMounted(() => {
|
|
update();
|
|
scrollToActiveTab();
|
|
});
|
|
provide("active", active);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-tab", [
|
|
__props.type ? "layui-tab-" + __props.type : "",
|
|
props.tabPosition ? `is-${__props.tabPosition}` : ""
|
|
]])
|
|
}, [
|
|
createElementVNode("div", {
|
|
ref_key: "headRef",
|
|
ref: headRef,
|
|
class: normalizeClass(["layui-tab-head", props.tabPosition ? `is-${__props.tabPosition}` : ""])
|
|
}, [
|
|
createElementVNode("ul", {
|
|
ref_key: "navRef",
|
|
ref: navRef,
|
|
class: normalizeClass([
|
|
"layui-tab-title",
|
|
props.tabPosition ? `is-${__props.tabPosition}` : ""
|
|
]),
|
|
style: normalizeStyle(unref(navStyle))
|
|
}, [
|
|
__props.type === "brief" ? (openBlock(), createElementBlock("div", {
|
|
key: 0,
|
|
ref_key: "activeBarRef",
|
|
ref: activeBarRef,
|
|
class: "layui-tab-active-bar",
|
|
style: normalizeStyle(tabBarStyle.value)
|
|
}, null, 4)) : createCommentVNode("", true),
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(tabItems), (child, index2) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
key: child.id,
|
|
class: normalizeClass([child.id === unref(active) ? "layui-this" : ""]),
|
|
onClick: withModifiers(($event) => change3(child.id), ["stop"])
|
|
}, [
|
|
createElementVNode("span", null, [
|
|
child["icon"] ? (openBlock(), createBlock(unref(RenderFunction), {
|
|
key: 0,
|
|
renderFunc: renderTabIcon,
|
|
tabData: child
|
|
}, null, 8, ["tabData"])) : createCommentVNode("", true),
|
|
createVNode(unref(RenderFunction), {
|
|
renderFunc: renderTabTitle,
|
|
tabData: child
|
|
}, null, 8, ["tabData"])
|
|
]),
|
|
__props.allowClose && child.closable != false ? (openBlock(), createElementBlock("i", {
|
|
key: 0,
|
|
class: "layui-icon layui-icon-close layui-unselect layui-tab-close",
|
|
onClick: withModifiers(($event) => close2(index2, child.id), ["stop"])
|
|
}, null, 8, _hoisted_2$v)) : createCommentVNode("", true)
|
|
], 10, _hoisted_1$z);
|
|
}), 128))
|
|
], 6),
|
|
scrollable.value ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
ref_key: "scrollPrevRef",
|
|
ref: scrollPrevRef,
|
|
class: "layui-unselect layui-tab-bar prev",
|
|
onClick: scrollPrev
|
|
}, [
|
|
createVNode(unref(_sfc_main$2E), { type: "layui-icon-left" })
|
|
], 512)) : createCommentVNode("", true),
|
|
scrollable.value ? (openBlock(), createElementBlock("span", {
|
|
key: 1,
|
|
ref_key: "scrollNextRef",
|
|
ref: scrollNextRef,
|
|
class: "layui-unselect layui-tab-bar",
|
|
onClick: scrollNext
|
|
}, [
|
|
createVNode(unref(_sfc_main$2E), { type: "layui-icon-right" })
|
|
], 512)) : createCommentVNode("", true)
|
|
], 2),
|
|
createElementVNode("div", _hoisted_3$s, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
])
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$y = withInstall(_sfc_main$K);
|
|
const component$x = withInstall(_sfc_main$L);
|
|
const _hoisted_1$y = ["onClick"];
|
|
const _hoisted_2$u = { class: "layui-tree-main" };
|
|
const _hoisted_3$r = ["onClick"];
|
|
const _hoisted_4$m = {
|
|
key: 0,
|
|
class: "layui-tree-pack layui-tree-showLine",
|
|
style: { "display": "block" }
|
|
};
|
|
const __default__$H = {
|
|
name: "TreeNode"
|
|
};
|
|
const _sfc_main$J = defineComponent({
|
|
...__default__$H,
|
|
props: {
|
|
tree: null,
|
|
nodeList: null,
|
|
showCheckbox: { type: Boolean },
|
|
showLine: { type: Boolean },
|
|
selectedKey: null,
|
|
checkStrictly: { type: [Boolean, String] },
|
|
collapseTransition: { type: Boolean },
|
|
onlyIconControl: { type: Boolean }
|
|
},
|
|
emits: ["node-click"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
useSlots();
|
|
function renderLineShort(node) {
|
|
return !node.hasNextSibling && node.parentNode && (!node.parentNode.hasNextSibling || node.parentNode.hasNextSibling && !node.parentNode.children);
|
|
}
|
|
const nodeIconType = (node) => {
|
|
if (!props.showLine) {
|
|
if (node.children.length > 0) {
|
|
return "layui-tree-iconArrow ";
|
|
}
|
|
return "";
|
|
}
|
|
if (node.children.length !== 0) {
|
|
return !node.isLeaf ? "layui-icon-addition" : "layui-icon-subtraction";
|
|
}
|
|
return "layui-icon-file";
|
|
};
|
|
function recursiveNodeClick(node) {
|
|
emit("node-click", node);
|
|
}
|
|
function handleChange(checked, node) {
|
|
props.tree.setCheckedKeys(checked, props.checkStrictly, node);
|
|
}
|
|
function handleIconClick(node) {
|
|
node.isLeaf = !node.isLeaf;
|
|
}
|
|
function handleTitleClick(node) {
|
|
if (!props.onlyIconControl) {
|
|
handleIconClick(node);
|
|
}
|
|
if (!node.isDisabled) {
|
|
emit("node-click", node);
|
|
}
|
|
}
|
|
function handleRowClick(node) {
|
|
if (!props.showLine) {
|
|
handleTitleClick(node);
|
|
}
|
|
}
|
|
const isChildAllSelected = computed$1(() => {
|
|
function _isChildAllSelected(node) {
|
|
if (!props.showCheckbox) {
|
|
return false;
|
|
}
|
|
let childSelectNum = 0;
|
|
let res = false;
|
|
for (const item of node.children) {
|
|
if (item.isChecked)
|
|
childSelectNum++;
|
|
}
|
|
if (childSelectNum > 0)
|
|
node.isChecked = true;
|
|
if (childSelectNum == node.children.length) {
|
|
for (const item of node.children) {
|
|
res = _isChildAllSelected(item);
|
|
if (res)
|
|
break;
|
|
}
|
|
} else {
|
|
res = true;
|
|
}
|
|
return res;
|
|
}
|
|
return (node) => {
|
|
if (props.checkStrictly) {
|
|
return false;
|
|
} else {
|
|
let res = _isChildAllSelected(node);
|
|
return res;
|
|
}
|
|
};
|
|
});
|
|
return (_ctx, _cache) => {
|
|
const _component_tree_node = resolveComponent("tree-node", true);
|
|
return openBlock(true), createElementBlock(Fragment, null, renderList(__props.nodeList, (node, nodeIndex) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
key: nodeIndex,
|
|
class: normalizeClass({
|
|
"layui-tree-set": true,
|
|
"layui-tree-setLineShort": renderLineShort(node),
|
|
"layui-tree-setHide": node.isRoot
|
|
})
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: "layui-tree-entry",
|
|
onClick: ($event) => handleRowClick(node)
|
|
}, [
|
|
createElementVNode("div", _hoisted_2$u, [
|
|
createElementVNode("span", {
|
|
class: normalizeClass([
|
|
__props.showLine && node.children.length > 0 ? "layui-tree-icon" : "",
|
|
{ "layui-tree-iconClick": true }
|
|
])
|
|
}, [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: nodeIconType(node),
|
|
onClick: withModifiers(($event) => handleIconClick(node), ["stop"])
|
|
}, null, 8, ["type", "onClick"])
|
|
], 2),
|
|
__props.showCheckbox ? (openBlock(), createBlock(_sfc_main$$, {
|
|
key: 0,
|
|
value: "",
|
|
skin: "primary",
|
|
modelValue: node.isChecked,
|
|
disabled: node.isDisabled,
|
|
isIndeterminate: unref(isChildAllSelected)(node),
|
|
onChange: (checked) => handleChange(checked, node)
|
|
}, null, 8, ["modelValue", "disabled", "isIndeterminate", "onChange"])) : createCommentVNode("", true),
|
|
createElementVNode("span", {
|
|
class: normalizeClass({
|
|
"layui-tree-txt": true,
|
|
"layui-disabled": node.isDisabled,
|
|
"layui-this": __props.selectedKey === node.id
|
|
}),
|
|
onClick: withModifiers(($event) => handleTitleClick(node), ["stop"])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "title", { data: node }, () => [
|
|
createTextVNode(toDisplayString$1(node.title), 1)
|
|
])
|
|
], 10, _hoisted_3$r)
|
|
])
|
|
], 8, _hoisted_1$y),
|
|
createVNode(_sfc_main$17, { enable: __props.collapseTransition }, {
|
|
default: withCtx(() => [
|
|
node.isLeaf ? (openBlock(), createElementBlock("div", _hoisted_4$m, [
|
|
createVNode(_component_tree_node, {
|
|
tree: __props.tree,
|
|
"node-list": node.children,
|
|
"show-checkbox": __props.showCheckbox,
|
|
"show-line": __props.showLine,
|
|
"selected-key": __props.selectedKey,
|
|
"collapse-transition": __props.collapseTransition,
|
|
checkStrictly: __props.checkStrictly,
|
|
"only-icon-control": __props.onlyIconControl,
|
|
onNodeClick: recursiveNodeClick
|
|
}, createSlots({ _: 2 }, [
|
|
_ctx.$slots.title ? {
|
|
name: "title",
|
|
fn: withCtx((slotProp) => [
|
|
renderSlot(_ctx.$slots, "title", {
|
|
data: slotProp.data
|
|
})
|
|
]),
|
|
key: "0"
|
|
} : void 0
|
|
]), 1032, ["tree", "node-list", "show-checkbox", "show-line", "selected-key", "collapse-transition", "checkStrictly", "only-icon-control"])
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
_: 2
|
|
}, 1032, ["enable"])
|
|
], 2);
|
|
}), 128);
|
|
};
|
|
}
|
|
});
|
|
class Tree {
|
|
constructor(config, origin) {
|
|
this.config = config;
|
|
this.treeData = [];
|
|
this.init(origin);
|
|
}
|
|
init(origin) {
|
|
const tree = this.createTree(origin);
|
|
this.treeData = tree;
|
|
}
|
|
createTree(origin, parentKey = "") {
|
|
let data;
|
|
if (!Array.isArray(origin)) {
|
|
data = Array.of(Object.assign({}, origin));
|
|
} else {
|
|
data = origin;
|
|
}
|
|
const nodeList = [];
|
|
const { children } = this.config.replaceFields;
|
|
const len = data.length;
|
|
for (let i = 0; i < len; i++) {
|
|
const node = this.getNode(data[i], parentKey, i < len - 1);
|
|
const nodeChildren = Reflect.get(node, children);
|
|
const nodeHasChildren = !!Reflect.get(node, children);
|
|
if (nodeHasChildren) {
|
|
Reflect.set(node, children, this.createTree(nodeChildren, node.id));
|
|
}
|
|
nodeList.push(node);
|
|
}
|
|
return nodeList;
|
|
}
|
|
getNode(origin, parentKey, hasNextSibling) {
|
|
const {
|
|
nodeMap,
|
|
originMap,
|
|
checkedKeys,
|
|
expandKeys,
|
|
checkStrictly,
|
|
replaceFields: { children, id, title }
|
|
} = this.config;
|
|
const nodeKey = Reflect.get(origin, id);
|
|
const nodeTitle = Reflect.get(origin, title);
|
|
const nodeChildren = Reflect.get(origin, children);
|
|
const nodeDisabled = !!Reflect.get(origin, "disabled");
|
|
const nodeIsLeaf = !!Reflect.get(origin, "spread");
|
|
const parentNode = nodeMap.get(parentKey);
|
|
const node = Object.assign({}, origin, {
|
|
id: nodeKey,
|
|
title: nodeTitle,
|
|
children: nodeChildren ? nodeChildren : [],
|
|
parentKey,
|
|
isRoot: parentKey === "",
|
|
isDisabled: false,
|
|
isChecked: false,
|
|
isLeaf: false,
|
|
hasNextSibling,
|
|
parentNode: parentNode || null
|
|
});
|
|
node.isDisabled = nodeDisabled;
|
|
node.isChecked = checkedKeys.includes(nodeKey);
|
|
node.isLeaf = parentNode ? parentNode.isLeaf : expandKeys.includes(nodeKey);
|
|
node.isLeaf = nodeIsLeaf;
|
|
if (!nodeMap.has(nodeKey)) {
|
|
nodeMap.set(nodeKey, node);
|
|
}
|
|
if (!originMap.has(nodeKey)) {
|
|
originMap.set(nodeKey, origin);
|
|
}
|
|
return node;
|
|
}
|
|
treeForeach(tree, func) {
|
|
tree.forEach((data) => {
|
|
data.children && this.treeForeach(data.children, func);
|
|
func(data);
|
|
});
|
|
}
|
|
setChildrenChecked(checked, nodes) {
|
|
var ableCount = 0;
|
|
var checkCount = 0;
|
|
const len = nodes.length;
|
|
this.treeForeach(nodes, (node) => {
|
|
if (!node.isDisabled) {
|
|
ableCount = ableCount + 1;
|
|
if (node.isChecked) {
|
|
checkCount = checkCount + 1;
|
|
}
|
|
}
|
|
});
|
|
checkCount < ableCount ? checked = true : checked = false;
|
|
for (let i = 0; i < len; i++) {
|
|
if (!nodes[i].isDisabled || nodes[i].isDisabled && nodes[i].children.length > 0) {
|
|
nodes[i].isChecked = checked;
|
|
}
|
|
nodes[i].children && nodes[i].children.length > 0 && this.setChildrenChecked(checked, nodes[i].children);
|
|
}
|
|
}
|
|
setParentChecked(checked, parent) {
|
|
if (!parent) {
|
|
return;
|
|
}
|
|
parent.isChecked = checked;
|
|
const pChild = parent.children;
|
|
const pChildChecked = pChild.some((c) => c.isChecked);
|
|
if (pChildChecked) {
|
|
parent.isChecked = true;
|
|
}
|
|
if (parent.parentNode) {
|
|
this.setParentChecked(checked, parent.parentNode);
|
|
}
|
|
}
|
|
setCheckedKeys(checked, checkStrictly, node) {
|
|
node.isChecked = checked;
|
|
if (!checkStrictly) {
|
|
if (node.parentNode) {
|
|
this.setParentChecked(checked, node.parentNode);
|
|
}
|
|
if (node.children) {
|
|
this.setChildrenChecked(checked, node.children);
|
|
}
|
|
}
|
|
}
|
|
getData() {
|
|
return this.treeData;
|
|
}
|
|
getKeys() {
|
|
const checkedKeys = [];
|
|
const expandKeys = [];
|
|
const iterator = this.config.nodeMap[Symbol.iterator]();
|
|
let next = iterator.next();
|
|
while (!next.done) {
|
|
const [, node] = next.value;
|
|
const id = Reflect.get(node, this.config.replaceFields.id);
|
|
if (node.isChecked) {
|
|
checkedKeys.push(id);
|
|
}
|
|
if (node.isLeaf) {
|
|
expandKeys.push(id);
|
|
}
|
|
next = iterator.next();
|
|
}
|
|
return { checkedKeys, expandKeys };
|
|
}
|
|
getOriginData(key) {
|
|
return this.config.originMap.get(key);
|
|
}
|
|
}
|
|
const useTree = (props, emit) => {
|
|
var _a2, _b, _c, _d;
|
|
const tree = new Tree({
|
|
nodeMap: /* @__PURE__ */ new Map(),
|
|
originMap: /* @__PURE__ */ new Map(),
|
|
replaceFields: {
|
|
id: "id",
|
|
title: "title",
|
|
children: "children"
|
|
},
|
|
showCheckbox: (_a2 = props.showCheckbox) != null ? _a2 : false,
|
|
checkedKeys: (_b = props.checkedKeys) != null ? _b : [],
|
|
expandKeys: (_c = props.expandKeys) != null ? _c : [],
|
|
checkStrictly: (_d = props.checkStrictly) != null ? _d : false
|
|
}, props.data);
|
|
const nodeList = computed$1(() => {
|
|
const nodes = tree.getData();
|
|
return nodes;
|
|
});
|
|
return {
|
|
tree,
|
|
nodeList
|
|
};
|
|
};
|
|
var index$m = /* @__PURE__ */ (() => '.layui-checkbox[size=lg]{height:18px;line-height:18px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:18px;height:18px;font-size:16px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:18px;line-height:18px;font-size:16px}.layui-checkbox[size=md]{height:16px;line-height:16px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:16px;height:16px;font-size:14px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:16px;line-height:16px;font-size:14px}.layui-checkbox[size=sm]{height:14px;line-height:14px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:14px;height:14px;font-size:12px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:14px;line-height:14px;font-size:12px}.layui-checkbox[size=xs]{height:12px;line-height:12px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:12px;height:12px;font-size:10px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:12px;line-height:12px;font-size:10px}.layui-checkbox input[type=checkbox]{display:none}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:var(--global-neutral-color-6);color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:var(--global-neutral-color-8)}.layui-form-checkbox i{top:0;right:0;width:29px;height:28px;position:absolute;border:1px solid var(--global-neutral-color-6);border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:var(--global-neutral-color-8);color:var(--global-neutral-color-8)}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid var(--global-neutral-color-6);font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:var(--global-checked-color);color:#fff}.layui-form-checked,.layui-form-checked:hover{border-color:var(--global-checked-color)}.layui-form-checked i,.layui-form-checked:hover i{color:var(--global-checked-color)}.layui-form-checked span,.layui-form-checked:hover span{background-color:var(--global-checked-color)}.layui-form-checked[lay-skin=primary] i{border-color:var(--global-checked-color);background-color:var(--global-checked-color);color:#fff}.layui-form-checked[lay-skin=primary] span{background:0 0!important}.layui-checkbox-disabled[lay-skin=primary] span{background:0 0!important;color:var(--global-neutral-color-8)!important}.layui-checkbox-disabled[lay-skin=primary]:hover i{border-color:var(--global-neutral-color-6)}.layui-checkbox-disabled,.layui-checkbox-disabled i{border-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled span{background-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled em{color:var(--global-neutral-color-6)!important}.layui-checkbox-disabled:hover i{color:#fff!important}.layui-checkbox-disabled .layui-icon-ok,.layui-checkbox-disabled .layui-icon-subtraction{background-color:var(--global-neutral-color-3)!important;border-color:var(--global-neutral-color-3)!important}.layui-tree{line-height:22px}.layui-tree .layui-form-checkbox{margin:0!important}.layui-tree-set{width:100%;position:relative}.layui-tree-txt.layui-this{color:var(--global-checked-color)!important}.layui-tree-pack{display:none;padding-left:20px;position:relative}.layui-tree-iconClick,.layui-tree-main{display:inline-block;vertical-align:middle}.layui-tree-line .layui-tree-pack{padding-left:27px}.layui-tree-line .layui-tree-set .layui-tree-set:after{content:"";position:absolute;top:14px;left:-9px;width:17px;height:0;border-top:1px dotted #c0c4cc}.layui-tree-entry{position:relative;padding:3px 0;height:20px;white-space:nowrap}.layui-tree-entry:hover{background-color:#eee}.layui-tree-line .layui-tree-entry:hover{background-color:#0000}.layui-tree-line .layui-tree-entry:hover .layui-tree-txt{color:#999;text-decoration:underline;transition:.3s}.layui-tree-main{cursor:pointer;padding-right:10px}.layui-tree-line .layui-tree-set:before{content:"";position:absolute;top:0;left:-9px;width:0;height:100%;border-left:1px dotted #c0c4cc}.layui-tree-line .layui-tree-set.layui-tree-setLineShort:before{height:13px}.layui-tree-line .layui-tree-set.layui-tree-setHide:before{height:0}.layui-tree-iconClick{position:relative;height:20px;line-height:20px;margin:0 10px;color:#c0c4cc}.layui-tree-icon{height:12px;line-height:12px;width:12px;text-align:center;border:1px solid #c0c4cc}.layui-tree-iconClick .layui-icon{font-size:18px}.layui-tree-icon .layui-icon{font-size:12px;color:#666}.layui-tree-iconArrow{padding:0 5px}.layui-tree-iconArrow:after{content:"";position:absolute;left:4px;top:3px;z-index:100;width:0;height:0;border-width:5px;border-style:solid;border-color:transparent transparent transparent #c0c4cc;transition:.5s}.layui-tree-btnGroup,.layui-tree-editInput{position:relative;vertical-align:middle;display:inline-block}.layui-tree-spread>.layui-tree-entry>.layui-tree-iconClick>.layui-tree-iconArrow:after{transform:rotate(90deg) translate(3px,4px)}.layui-tree-txt{display:inline-block;vertical-align:middle;color:#555}.layui-tree-search{margin-bottom:15px;color:#666}.layui-tree-btnGroup .layui-icon{display:inline-block;vertical-align:middle;padding:0 2px;cursor:pointer}.layui-tree-btnGroup .layui-icon:hover{color:#999;transition:.3s}.layui-tree-entry:hover .layui-tree-btnGroup{visibility:visible}.layui-tree-editInput{height:20px;line-height:20px;padding:0 3px;border:none;background-color:#0000000d}.layui-tree-emptyText{text-align:center;color:#999}\n')();
|
|
const __default__$G = {
|
|
name: "LayTree"
|
|
};
|
|
const _sfc_main$I = defineComponent({
|
|
...__default__$G,
|
|
props: {
|
|
data: null,
|
|
disabled: { type: Boolean, default: false },
|
|
edit: { default: false },
|
|
checkedKeys: { default: () => {
|
|
return [];
|
|
} },
|
|
checkStrictly: { type: [Boolean, String], default: false },
|
|
collapseTransition: { type: Boolean, default: true },
|
|
onlyIconControl: { type: Boolean, default: false },
|
|
selectedKey: null,
|
|
showLine: { type: Boolean, default: true },
|
|
showCheckbox: { type: Boolean, default: false },
|
|
replaceFields: { default: () => {
|
|
return {
|
|
id: "id",
|
|
children: "children",
|
|
title: "title"
|
|
};
|
|
} }
|
|
},
|
|
emits: ["update:checkedKeys", "update:expandKeys", "node-click"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
useSlots();
|
|
const className = computed$1(() => {
|
|
return {
|
|
"layui-tree": true,
|
|
"layui-form": props.showCheckbox,
|
|
"layui-tree-line": props.showLine
|
|
};
|
|
});
|
|
let tree = ref();
|
|
let nodeList = ref();
|
|
const unWatch = ref(false);
|
|
const initStatus = ref(false);
|
|
const loadNodeList = () => {
|
|
let { tree: _tree, nodeList: _nodeList } = useTree(props);
|
|
tree.value = _tree;
|
|
nodeList.value = _nodeList.value;
|
|
};
|
|
watch(() => props.data, () => {
|
|
loadNodeList();
|
|
}, { deep: true, immediate: true });
|
|
watch(() => props.checkedKeys, () => {
|
|
if (!unWatch.value) {
|
|
loadNodeList();
|
|
}
|
|
});
|
|
watch(tree, () => {
|
|
if (initStatus.value) {
|
|
const { checkedKeys } = tree.value.getKeys();
|
|
unWatch.value = true;
|
|
emit("update:checkedKeys", checkedKeys);
|
|
setTimeout(() => {
|
|
unWatch.value = false;
|
|
}, 0);
|
|
}
|
|
}, { deep: true });
|
|
onMounted(() => {
|
|
nextTick(() => {
|
|
initStatus.value = true;
|
|
});
|
|
});
|
|
function handleClick(node) {
|
|
const originNode = tree.value.getOriginData(node.id);
|
|
emit("node-click", originNode);
|
|
}
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(unref(className))
|
|
}, [
|
|
createVNode(_sfc_main$J, {
|
|
tree: unref(tree),
|
|
"node-list": unref(nodeList),
|
|
"show-checkbox": __props.showCheckbox,
|
|
"show-line": __props.showLine,
|
|
selectedKey: __props.selectedKey,
|
|
"check-strictly": __props.checkStrictly,
|
|
"collapse-transition": __props.collapseTransition,
|
|
"only-icon-control": __props.onlyIconControl,
|
|
onNodeClick: handleClick
|
|
}, createSlots({ _: 2 }, [
|
|
_ctx.$slots.title ? {
|
|
name: "title",
|
|
fn: withCtx(({ data }) => [
|
|
renderSlot(_ctx.$slots, "title", { data })
|
|
]),
|
|
key: "0"
|
|
} : void 0
|
|
]), 1032, ["tree", "node-list", "show-checkbox", "show-line", "selectedKey", "check-strictly", "collapse-transition", "only-icon-control"])
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$w = withInstall(_sfc_main$I);
|
|
var index$l = /* @__PURE__ */ (() => ".layui-tree-select{width:220px}.layui-tree-select-content{padding:10px}.layui-tree-select .layui-icon-triangle-d{transition:all .3s;-webkit-transition:all .3s;color:var(--global-neutral-color-8)}.layui-tree-select .layui-icon-triangle-d.triangle{transform:rotate(180deg)}\n")();
|
|
function getNode(root, id) {
|
|
let resultNode = null;
|
|
findNode(root, id);
|
|
function findNode(root2, id2) {
|
|
if (!!root2) {
|
|
let type4 = Object.prototype.toString.call(root2);
|
|
if (type4 === "[object Object]") {
|
|
if (root2.id && root2.id === id2) {
|
|
resultNode = root2;
|
|
} else {
|
|
let node = root2.children || null;
|
|
findNode(node, id2);
|
|
}
|
|
} else if (type4 === "[object Array]") {
|
|
let needNode = root2.find((i) => !!i === true && i.id === id2);
|
|
if (!!needNode) {
|
|
resultNode = needNode;
|
|
} else {
|
|
if (root2.length) {
|
|
root2.forEach((item) => {
|
|
if (item && item.children) {
|
|
let node = item.children;
|
|
if (node && node.length) {
|
|
findNode(node, id2);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return resultNode;
|
|
}
|
|
const _hoisted_1$x = { class: "layui-tree-select-content" };
|
|
const __default__$F = {
|
|
name: "LayTreeSelect"
|
|
};
|
|
const _sfc_main$H = defineComponent({
|
|
...__default__$F,
|
|
props: {
|
|
data: null,
|
|
modelValue: null,
|
|
disabled: { type: Boolean, default: false },
|
|
placeholder: { default: "\u8BF7\u9009\u62E9" },
|
|
multiple: { type: Boolean, default: false },
|
|
allowClear: { type: Boolean, default: false },
|
|
collapseTagsTooltip: { type: Boolean, default: true },
|
|
minCollapsedNum: { default: 3 },
|
|
size: { default: "md" },
|
|
checkStrictly: { type: Boolean, default: true }
|
|
},
|
|
emits: ["update:modelValue", "change", "search"],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const singleValue = ref();
|
|
const multipleValue = ref(["1"]);
|
|
const openState = ref(false);
|
|
const dropdownRef = ref();
|
|
const selectedValue = computed$1({
|
|
get() {
|
|
return props.modelValue;
|
|
},
|
|
set(value) {
|
|
emits("update:modelValue", value);
|
|
emits("change", value);
|
|
}
|
|
});
|
|
const checkedKeys = computed$1({
|
|
get() {
|
|
return props.multiple ? props.modelValue : [];
|
|
},
|
|
set(value) {
|
|
if (props.multiple) {
|
|
emits("update:modelValue", value);
|
|
emits("change", value);
|
|
}
|
|
}
|
|
});
|
|
watch(selectedValue, () => {
|
|
if (props.multiple) {
|
|
multipleValue.value = selectedValue.value.map((value) => {
|
|
const node = getNode(props.data, value);
|
|
node.label = node.title;
|
|
node.closable = !node.disabled;
|
|
return node;
|
|
});
|
|
} else {
|
|
const node = getNode(props.data, selectedValue.value);
|
|
if (node) {
|
|
singleValue.value = node.title;
|
|
}
|
|
}
|
|
}, { immediate: true, deep: true });
|
|
const handleClick = (node) => {
|
|
dropdownRef.value.hide();
|
|
selectedValue.value = node.id;
|
|
};
|
|
return (_ctx, _cache) => {
|
|
const _component_lay_icon = resolveComponent("lay-icon");
|
|
const _component_lay_tag_input = resolveComponent("lay-tag-input");
|
|
const _component_lay_input = resolveComponent("lay-input");
|
|
const _component_lay_tree = resolveComponent("lay-tree");
|
|
const _component_lay_dropdown = resolveComponent("lay-dropdown");
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-tree-select", { "layui-disabled": __props.disabled }])
|
|
}, [
|
|
createVNode(_component_lay_dropdown, {
|
|
ref_key: "dropdownRef",
|
|
ref: dropdownRef,
|
|
disabled: __props.disabled,
|
|
"update-at-scroll": true,
|
|
onShow: _cache[4] || (_cache[4] = ($event) => openState.value = true),
|
|
onHide: _cache[5] || (_cache[5] = ($event) => openState.value = false)
|
|
}, {
|
|
content: withCtx(() => [
|
|
createElementVNode("div", _hoisted_1$x, [
|
|
createVNode(_component_lay_tree, {
|
|
data: __props.data,
|
|
onlyIconControl: true,
|
|
"show-checkbox": __props.multiple,
|
|
"check-strictly": __props.checkStrictly,
|
|
selectedKey: unref(selectedValue),
|
|
"onUpdate:selectedKey": _cache[2] || (_cache[2] = ($event) => isRef(selectedValue) ? selectedValue.value = $event : null),
|
|
checkedKeys: unref(checkedKeys),
|
|
"onUpdate:checkedKeys": _cache[3] || (_cache[3] = ($event) => isRef(checkedKeys) ? checkedKeys.value = $event : null),
|
|
onNodeClick: handleClick
|
|
}, null, 8, ["data", "show-checkbox", "check-strictly", "selectedKey", "checkedKeys"])
|
|
])
|
|
]),
|
|
default: withCtx(() => [
|
|
__props.multiple ? (openBlock(), createBlock(_component_lay_tag_input, {
|
|
key: 0,
|
|
size: __props.size,
|
|
"allow-clear": __props.allowClear,
|
|
placeholder: __props.placeholder,
|
|
collapseTagsTooltip: __props.collapseTagsTooltip,
|
|
minCollapsedNum: __props.minCollapsedNum,
|
|
disabledInput: true,
|
|
modelValue: multipleValue.value,
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => multipleValue.value = $event)
|
|
}, {
|
|
suffix: withCtx(() => [
|
|
createVNode(_component_lay_icon, {
|
|
type: "layui-icon-triangle-d",
|
|
class: normalizeClass({ triangle: openState.value })
|
|
}, null, 8, ["class"])
|
|
]),
|
|
_: 1
|
|
}, 8, ["size", "allow-clear", "placeholder", "collapseTagsTooltip", "minCollapsedNum", "modelValue"])) : (openBlock(), createBlock(_component_lay_input, {
|
|
key: 1,
|
|
modelValue: singleValue.value,
|
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => singleValue.value = $event),
|
|
placeholder: __props.placeholder,
|
|
disabled: __props.disabled,
|
|
readonly: true,
|
|
size: __props.size
|
|
}, {
|
|
suffix: withCtx(() => [
|
|
createVNode(_component_lay_icon, {
|
|
type: "layui-icon-triangle-d",
|
|
class: normalizeClass({ triangle: openState.value })
|
|
}, null, 8, ["class"])
|
|
]),
|
|
_: 1
|
|
}, 8, ["modelValue", "placeholder", "disabled", "size"]))
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled"])
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$v = withInstall(_sfc_main$H);
|
|
var index$k = /* @__PURE__ */ (() => '.layui-checkbox[size=lg]{height:18px;line-height:18px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:18px;height:18px;font-size:16px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:18px;line-height:18px;font-size:16px}.layui-checkbox[size=md]{height:16px;line-height:16px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:16px;height:16px;font-size:14px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:16px;line-height:16px;font-size:14px}.layui-checkbox[size=sm]{height:14px;line-height:14px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:14px;height:14px;font-size:12px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:14px;line-height:14px;font-size:12px}.layui-checkbox[size=xs]{height:12px;line-height:12px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:12px;height:12px;font-size:10px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:12px;line-height:12px;font-size:10px}.layui-checkbox input[type=checkbox]{display:none}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:var(--global-neutral-color-6);color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:var(--global-neutral-color-8)}.layui-form-checkbox i{top:0;right:0;width:29px;height:28px;position:absolute;border:1px solid var(--global-neutral-color-6);border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:var(--global-neutral-color-8);color:var(--global-neutral-color-8)}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid var(--global-neutral-color-6);font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:var(--global-checked-color);color:#fff}.layui-form-checked,.layui-form-checked:hover{border-color:var(--global-checked-color)}.layui-form-checked i,.layui-form-checked:hover i{color:var(--global-checked-color)}.layui-form-checked span,.layui-form-checked:hover span{background-color:var(--global-checked-color)}.layui-form-checked[lay-skin=primary] i{border-color:var(--global-checked-color);background-color:var(--global-checked-color);color:#fff}.layui-form-checked[lay-skin=primary] span{background:0 0!important}.layui-checkbox-disabled[lay-skin=primary] span{background:0 0!important;color:var(--global-neutral-color-8)!important}.layui-checkbox-disabled[lay-skin=primary]:hover i{border-color:var(--global-neutral-color-6)}.layui-checkbox-disabled,.layui-checkbox-disabled i{border-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled span{background-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled em{color:var(--global-neutral-color-6)!important}.layui-checkbox-disabled:hover i{color:#fff!important}.layui-checkbox-disabled .layui-icon-ok,.layui-checkbox-disabled .layui-icon-subtraction{background-color:var(--global-neutral-color-3)!important;border-color:var(--global-neutral-color-3)!important}.layui-radio[size=lg] .layui-form-radio>i{font-size:24px}.layui-radio[size=md] .layui-form-radio>i{font-size:22px}.layui-radio[size=sm] .layui-form-radio>i{font-size:20px}.layui-radio[size=xs] .layui-form-radio>i{font-size:18px}.layui-radio input[type=radio]{display:none}.layui-form-radio,.layui-form-radio *{display:inline-block;vertical-align:middle}.layui-form-radio{line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:var(--global-neutral-color-8)}.layui-form-radio:hover *,.layui-form-radioed,.layui-form-radioed>i{color:var(--global-checked-color)}.layui-radio-disabled>i{color:var(--global-neutral-color-3)!important}.layui-radio-disabled *{color:var(--global-neutral-color-8)!important}.layui-dropdown{position:relative;display:inline-block}.layui-dropdown-content{position:absolute;z-index:99999;background-color:#fff;box-sizing:border-box;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px #0000001a}.layui-dropdown-content>.layui-dropdown-menu{border-radius:var(--global-border-radius);margin:5px 0}.layui-dropdown-content .layui-menu{position:relative;background-color:#fff}.layui-dropdown-content .layui-menu li,.layui-dropdown-content .layui-menu-body-title a{padding:5px 15px}.layui-dropdown-content .layui-menu li{position:relative;display:flex;margin:1px 0;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;cursor:pointer}.layui-dropdown-content .layui-menu li:hover{background-color:var(--global-neutral-color-2)}.layui-dropdown-content .layui-menu-body-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-dropdown-menu-prefix{margin-right:8px}.layui-dropdown-menu-suffix{margin-left:15px}.layui-dropdown-content .layui-menu li.layui-disabled:hover{background-color:inherit}.layui-laypage{display:inline-block;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid var(--global-neutral-color-3)}.layui-laypage a,.layui-laypage span{display:inline-block;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-laypage a:hover{color:var(--global-primary-color)}.layui-laypage-a-red:hover{color:#ff5722!important}.layui-laypage-a-orange:hover{color:#ffb800!important}.layui-laypage-a-green:hover{color:#009688!important}.layui-laypage-a-cyan:hover{color:#2f4056!important}.layui-laypage-a-blue:hover{color:#01aaed!important}.layui-laypage-a-black:hover{color:#000!important}.layui-laypage-a-gray:hover{color:#c2c2c2!important}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage a{text-decoration:none}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:var(--global-primary-color)}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;margin-top:4px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{display:inline-block;width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input::-webkit-outer-spin-button,.layui-laypage input::-webkit-inner-spin-button{-webkit-appearance:none}.layui-laypage input:focus,.layui-laypage select:focus{border-color:var(--global-primary-color)!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-empty{margin:0 8px;font-size:14px;line-height:22px;text-align:center}.layui-empty-image{margin-bottom:8px}.layui-empty-image img{height:100px;margin:auto}.layui-empty-description{margin:0}.layui-empty-extra{margin-top:30px}.layui-table-col-special{width:34px}.layui-table{width:100%;background-color:#fff;color:#666;table-layout:fixed}.layui-table-body .layui-empty{left:0px;position:sticky;margin:0;padding:20px}.layui-table th{text-align:left;font-weight:400}.layui-table-box-header{min-height:50px;line-height:30px;background-color:#fafafa;padding:10px 15px;border-bottom:1px solid #eee}.layui-table-footer{min-height:50px;line-height:30px;background-color:#fafafa;padding:10px 15px}.layui-table-mend,.layui-table-tool,.layui-table-total,.layui-table-patch,.layui-table-click,.layui-table-hover,.layui-table-header,.layui-table-total tr,.layui-table thead tr,.layui-table tbody tr:hover td,.layui-table.layui-table-even tr:nth-child(even) td{background-color:var(--global-neutral-color-1)!important}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#eee}.layui-table td,.layui-table th{position:relative;padding:9px 8px;min-height:20px;height:40px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0 0 1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0 1px 0 0}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding:15px 30px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{font-size:12px;padding:5px 10px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th,.layui-table[lay-size=sm] .layui-table-cell{height:30px;line-height:20px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th,.layui-table[lay-size=lg] .layui-table-cell{height:50px;line-height:25px}.layui-table-box{position:relative;overflow:hidden}.layui-table-view .layui-table{position:relative;margin:0;border-collapse:separate}.layui-table-view .layui-table[lay-skin=line]{border-width:0 1px 0 0}.layui-table-view .layui-table[lay-skin=row]{border:none}.layui-table-view .layui-table td,.layui-table-view .layui-table th{border-top:none;border-left:none}.layui-table-view .layui-table td.layui-table-col-special,.layui-table-view .layui-table th.layui-table-col-special{padding:5px}.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td{cursor:default}.layui-table-view .layui-table td[data-edit=text]{cursor:text}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;width:100%;height:100%;text-align:center;z-index:110}.layui-table-init .layui-icon{position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0 0 1px;overflow:hidden}.layui-table-header-wrapper{width:100%;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-tool .layui-table-tool-temp{flex:auto}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;line-height:26px;border-radius:2px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer}.layui-table-tool .layui-inline[lay-event] .layui-icon{font-size:15px}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;padding:5px 0;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px #0000001f}.layui-table-cell,.layui-table-tool-panel li{overflow:hidden;text-overflow:ellipsis}.layui-table-call-ellipsis{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.layui-table-tool-panel li{padding:0 10px;line-height:30px;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%;padding-left:28px}.layui-table-tool-panel li:hover{background-color:#f6f6f6}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0 0 0 1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;margin-right:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#666}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#666}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:28px;line-height:28px;position:relative;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-table-link{color:#01aaed}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{padding:0;text-align:center;-webkit-box-pack:center}.layui-table-cell-expand-icon{border:1px solid #eee;margin-right:8px;border-radius:2px}.layui-table-cell-expand-icon-spaced{width:26px;visibility:hidden;display:inline-block}.layui-table-body{position:relative;overflow:auto;margin-bottom:-1px;transition:all .1s ease-in-out}.layui-table-body .layui-none{line-height:26px;padding:30px 15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-header .layui-table-cell{background-color:#fafafa}.layui-table-fixed-left{left:0;z-index:2;background:white;position:sticky!important}.layui-table-fixed-right{right:0;z-index:2;background:white;position:sticky!important;border-left:1px solid #eee!important;border-right:none!important}.layui-table-tool-checkbox{padding:10px}.layui-table-tool-checkbox>*{display:block;margin-bottom:12px}.layui-table-tool-checkbox>*:last-child{margin-bottom:0}.layui-table-has-fixed-left .layui-table-fixed-left-last{overflow:initial!important;border-right:none!important}.layui-table-has-fixed-right .layui-table-fixed-right-first{overflow:initial!important;border-left:1px solid transparent!important}.layui-table-fixed-left-last:after{position:absolute;top:0;right:0;bottom:-1px;width:30px;transform:translate(100%);transition:box-shadow .3s;content:"";pointer-events:none;box-shadow:inset 10px 0 8px -8px #00000026}.layui-table-fixed-right-first:after{position:absolute;top:0;bottom:-1px;left:0;width:30px;transform:translate(-100%);transition:box-shadow .3s;content:"";pointer-events:none;box-shadow:inset -10px 0 8px -8px #00000026}.layui-table-tool{position:relative;display:flex;z-index:890;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0 0 1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-page,.layui-table-total{border-width:1px 0 0;margin-bottom:-1px;overflow:hidden}.layui-table-page{position:relative;width:100%;padding:7px 7px 0;height:41px;font-size:12px;white-space:nowrap}.layui-table-page .layui-laypage select{margin-top:0}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-7px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-pagebar{float:right;line-height:26px}.layui-table-view select[lay-ignore]{display:inline-block}.layui-table-view .layui-form-radio,.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-switch{top:0;margin:0;box-sizing:content-box}.layui-table-view .layui-table-cell-number,.layui-table-view .layui-table-cell-radio,.layui-table-view .layui-table-cell-checkbox{width:30px;text-align:center}.layui-table-cell-expand{word-break:break-all}.layui-table-loading{height:80px;text-align:center;line-height:70px}.layui-table-loading .layui-icon{font-size:26px}\n')();
|
|
const _hoisted_1$w = ["colspan", "rowspan"];
|
|
const _hoisted_2$t = {
|
|
key: 1,
|
|
class: "layui-table-cell-expand-icon-spaced"
|
|
};
|
|
const _hoisted_3$q = ["colspan", "rowspan"];
|
|
const _hoisted_4$l = {
|
|
key: 1,
|
|
class: "layui-table-cell-expand-icon-spaced"
|
|
};
|
|
const _hoisted_5$g = ["colspan", "rowspan"];
|
|
const _hoisted_6$e = {
|
|
key: 1,
|
|
class: "layui-table-cell-expand-icon-spaced"
|
|
};
|
|
const _hoisted_7$d = ["colspan", "rowspan"];
|
|
const _hoisted_8$a = {
|
|
key: 1,
|
|
class: "layui-table-cell-expand-icon-spaced"
|
|
};
|
|
const _hoisted_9$8 = ["colspan", "rowspan"];
|
|
const _hoisted_10$8 = {
|
|
key: 1,
|
|
class: "layui-table-cell-expand-icon-spaced"
|
|
};
|
|
const _hoisted_11$7 = { key: 4 };
|
|
const _hoisted_12$6 = {
|
|
key: 0,
|
|
class: "layui-table-cell-expand"
|
|
};
|
|
const _hoisted_13$6 = ["colspan"];
|
|
const __default__$E = {
|
|
name: "TableRow"
|
|
};
|
|
const _sfc_main$G = defineComponent({
|
|
...__default__$E,
|
|
props: {
|
|
index: null,
|
|
indentSize: null,
|
|
currentIndentSize: null,
|
|
expandSpace: { type: Boolean },
|
|
expandIndex: null,
|
|
selectedKeys: null,
|
|
selectedKey: null,
|
|
tableColumnKeys: null,
|
|
childrenColumnName: { default: "children" },
|
|
columns: null,
|
|
checkbox: { type: Boolean, default: false },
|
|
cellClassName: { type: [String, Function], default: "" },
|
|
cellStyle: { type: [String, Function], default: "" },
|
|
rowClassName: null,
|
|
rowStyle: null,
|
|
id: null,
|
|
data: null,
|
|
spanMethod: null,
|
|
defaultExpandAll: { type: Boolean },
|
|
expandKeys: null,
|
|
getCheckboxProps: null,
|
|
getRadioProps: null
|
|
},
|
|
emits: [
|
|
"row",
|
|
"row-double",
|
|
"row-contextmenu",
|
|
"update:expandKeys",
|
|
"update:selectedKeys",
|
|
"update:selectedKey"
|
|
],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const slot = useSlots();
|
|
const tableExpandAll = ref(props.defaultExpandAll);
|
|
const tableExpandKeys = computed$1({
|
|
get() {
|
|
return [...props.expandKeys];
|
|
},
|
|
set(val) {
|
|
emit("update:expandKeys", val);
|
|
}
|
|
});
|
|
const tableSelectedKeys = computed$1({
|
|
get() {
|
|
return [...props.selectedKeys];
|
|
},
|
|
set(val) {
|
|
emit("update:selectedKeys", val);
|
|
}
|
|
});
|
|
const tableSelectedKey = computed$1({
|
|
get() {
|
|
return props.selectedKey;
|
|
},
|
|
set(val) {
|
|
emit("update:selectedKey", val);
|
|
}
|
|
});
|
|
const isExpand = computed$1({
|
|
get() {
|
|
return tableExpandAll.value ? true : tableExpandKeys.value.includes(props.data[props.id]);
|
|
},
|
|
set(val) {
|
|
let newTableExpandKeys = [...tableExpandKeys.value];
|
|
if (!val) {
|
|
newTableExpandKeys.splice(newTableExpandKeys.indexOf(props.data[props.id]), 1);
|
|
} else {
|
|
newTableExpandKeys.push(props.data[props.id]);
|
|
}
|
|
tableExpandAll.value = false;
|
|
tableExpandKeys.value = newTableExpandKeys;
|
|
}
|
|
});
|
|
const slotsData = ref([]);
|
|
props.columns.map((value) => {
|
|
if (value.customSlot) {
|
|
slotsData.value.push(value.customSlot);
|
|
}
|
|
});
|
|
const rowClick = function(data, evt) {
|
|
emit("row", data, evt);
|
|
};
|
|
const rowDoubleClick = function(data, evt) {
|
|
emit("row-double", data, evt);
|
|
};
|
|
const rowContextmenu = function(data, evt) {
|
|
emit("row-contextmenu", data, evt);
|
|
};
|
|
const expandIconType = computed$1(() => {
|
|
return isExpand.value ? "layui-icon-subtraction" : "layui-icon-addition";
|
|
});
|
|
const handleExpand = () => {
|
|
isExpand.value = !isExpand.value;
|
|
};
|
|
const renderCellStyle = (row, column, rowIndex, columnIndex) => {
|
|
if (typeof props.cellStyle === "string") {
|
|
return props.cellStyle;
|
|
}
|
|
return props.cellStyle(row, column, rowIndex, columnIndex);
|
|
};
|
|
const renderCellClassName = (row, column, rowIndex, columnIndex) => {
|
|
if (typeof props.cellClassName === "string") {
|
|
return props.cellClassName;
|
|
}
|
|
return props.cellClassName(row, column, rowIndex, columnIndex);
|
|
};
|
|
const renderRowStyle = (data, index2) => {
|
|
if (typeof props.rowStyle === "string") {
|
|
return props.rowStyle;
|
|
}
|
|
return props.rowStyle(data, index2);
|
|
};
|
|
const renderRowClassName = (data, index2) => {
|
|
if (typeof props.rowClassName === "string") {
|
|
return props.rowClassName;
|
|
}
|
|
return props.rowClassName(data, index2);
|
|
};
|
|
const childrenIndentSize = computed$1(() => props.currentIndentSize + props.indentSize);
|
|
const renderFixedStyle = (column, columnIndex) => {
|
|
var _a2, _b, _c, _d;
|
|
if (column.fixed) {
|
|
if (column.fixed == "left") {
|
|
var left = 0;
|
|
for (var i = 0; i < columnIndex; i++) {
|
|
if (props.columns[i].fixed && props.columns[i].fixed == "left" && props.tableColumnKeys.includes(props.columns[i].key)) {
|
|
left = left + Number((_b = (_a2 = props.columns[i]) == null ? void 0 : _a2.width) == null ? void 0 : _b.replace("px", ""));
|
|
}
|
|
}
|
|
return { left: `${left}px` };
|
|
} else {
|
|
var right = 0;
|
|
for (var i = columnIndex + 1; i < props.columns.length; i++) {
|
|
if (props.columns[i].fixed && props.columns[i].fixed == "right" && props.tableColumnKeys.includes(props.columns[i].key)) {
|
|
right = right + Number((_d = (_c = props.columns[i]) == null ? void 0 : _c.width) == null ? void 0 : _d.replace("px", ""));
|
|
}
|
|
}
|
|
return { right: `${right}px` };
|
|
}
|
|
} else {
|
|
var isLast = true;
|
|
for (var i = columnIndex + 1; i < props.columns.length; i++) {
|
|
if (props.columns[i].fixed == void 0 && props.tableColumnKeys.includes(props.columns[i].key)) {
|
|
isLast = false;
|
|
}
|
|
}
|
|
return isLast ? { "border-right": "none" } : {};
|
|
}
|
|
};
|
|
const renderFixedClassName = (column, columnIndex) => {
|
|
if (column.fixed) {
|
|
if (column.fixed == "left") {
|
|
var left = true;
|
|
for (var i = columnIndex + 1; i < props.columns.length; i++) {
|
|
if (props.columns[i].fixed && props.columns[i].fixed == "left" && props.tableColumnKeys.includes(props.columns[i].key)) {
|
|
left = false;
|
|
}
|
|
}
|
|
return left ? `layui-table-fixed-left-last` : "";
|
|
} else {
|
|
var right = true;
|
|
for (var i = 0; i < columnIndex; i++) {
|
|
if (props.columns[i].fixed && props.columns[i].fixed == "right" && props.tableColumnKeys.includes(props.columns[i].key)) {
|
|
right = false;
|
|
}
|
|
}
|
|
return right ? `layui-table-fixed-right-first` : "";
|
|
}
|
|
}
|
|
};
|
|
const spanMethodAttr = (row, column, rowIndex, columnIndex) => {
|
|
const attrs = props.spanMethod(row, column, rowIndex, columnIndex);
|
|
if (attrs instanceof Array) {
|
|
return { rowspan: attrs[0], colspan: attrs[1] };
|
|
} else if (attrs instanceof Object) {
|
|
return attrs;
|
|
} else {
|
|
return { rowspan: 1, colspan: 1 };
|
|
}
|
|
};
|
|
const isAutoShow = (row, column, rowIndex, columnIndex) => {
|
|
const attrs = spanMethodAttr(row, column, rowIndex, columnIndex);
|
|
if (attrs.colspan == 0 && attrs.rowspan == 0) {
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
const checkboxProps = props.getCheckboxProps(props.data, props.index);
|
|
const radioProps = props.getRadioProps(props.data, props.index);
|
|
return (_ctx, _cache) => {
|
|
const _component_table_row = resolveComponent("table-row", true);
|
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
createElementVNode("tr", {
|
|
style: normalizeStyle([renderRowStyle(__props.data, __props.index)]),
|
|
class: normalizeClass([renderRowClassName(__props.data, __props.index)]),
|
|
onClick: _cache[2] || (_cache[2] = withModifiers(($event) => rowClick(__props.data, $event), ["stop"])),
|
|
onDblclick: _cache[3] || (_cache[3] = withModifiers(($event) => rowDoubleClick(__props.data, $event), ["stop"])),
|
|
onContextmenu: _cache[4] || (_cache[4] = withModifiers(($event) => rowContextmenu(__props.data, $event), ["stop"]))
|
|
}, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column, columnIndex) => {
|
|
return openBlock(), createElementBlock(Fragment, { key: columnIndex }, [
|
|
__props.tableColumnKeys.includes(column.key) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
column.type ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
column.type == "radio" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
isAutoShow(__props.data, column, __props.index, columnIndex) ? (openBlock(), createElementBlock("td", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-table-cell layui-table-cell-radio", [
|
|
renderFixedClassName(column, columnIndex),
|
|
renderCellClassName(__props.data, column, __props.index, columnIndex),
|
|
column.fixed ? `layui-table-fixed-${column.fixed}` : ""
|
|
]]),
|
|
colspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).colspan,
|
|
rowspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).rowspan,
|
|
style: normalizeStyle([
|
|
{
|
|
textAlign: column.align,
|
|
whiteSpace: column.ellipsisTooltip ? "nowrap" : "normal"
|
|
},
|
|
renderFixedStyle(column, columnIndex),
|
|
renderCellStyle(__props.data, column, __props.index, columnIndex)
|
|
])
|
|
}, [
|
|
__props.expandSpace && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
style: normalizeStyle({ "margin-right": __props.currentIndentSize + "px" })
|
|
}, null, 4)) : createCommentVNode("", true),
|
|
__props.expandSpace && !__props.data[__props.childrenColumnName] && !unref(slot).expand && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", _hoisted_2$t)) : createCommentVNode("", true),
|
|
(unref(slot).expand || __props.data[__props.childrenColumnName]) && columnIndex === __props.expandIndex ? (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 2,
|
|
class: "layui-table-cell-expand-icon",
|
|
type: unref(expandIconType),
|
|
onClick: handleExpand
|
|
}, null, 8, ["type"])) : createCommentVNode("", true),
|
|
createVNode(_sfc_main$1E, mergeProps({
|
|
modelValue: unref(tableSelectedKey),
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(tableSelectedKey) ? tableSelectedKey.value = $event : null)
|
|
}, unref(radioProps), {
|
|
value: __props.data[__props.id]
|
|
}), null, 16, ["modelValue", "value"])
|
|
], 14, _hoisted_1$w)) : createCommentVNode("", true)
|
|
], 64)) : createCommentVNode("", true),
|
|
column.type == "checkbox" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
isAutoShow(__props.data, column, __props.index, columnIndex) ? (openBlock(), createElementBlock("td", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-table-cell layui-table-cell-checkbox", [
|
|
renderFixedClassName(column, columnIndex),
|
|
renderCellClassName(__props.data, column, __props.index, columnIndex),
|
|
column.fixed ? `layui-table-fixed-${column.fixed}` : ""
|
|
]]),
|
|
colspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).colspan,
|
|
rowspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).rowspan,
|
|
style: normalizeStyle([
|
|
{
|
|
textAlign: column.align,
|
|
whiteSpace: column.ellipsisTooltip ? "nowrap" : "normal"
|
|
},
|
|
renderFixedStyle(column, columnIndex),
|
|
renderCellStyle(__props.data, column, __props.index, columnIndex)
|
|
])
|
|
}, [
|
|
__props.expandSpace && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
style: normalizeStyle({ "margin-right": __props.currentIndentSize + "px" })
|
|
}, null, 4)) : createCommentVNode("", true),
|
|
__props.expandSpace && !__props.data[__props.childrenColumnName] && !unref(slot).expand && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", _hoisted_4$l)) : createCommentVNode("", true),
|
|
(unref(slot).expand || __props.data[__props.childrenColumnName]) && columnIndex === __props.expandIndex ? (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 2,
|
|
class: "layui-table-cell-expand-icon",
|
|
type: unref(expandIconType),
|
|
onClick: handleExpand
|
|
}, null, 8, ["type"])) : createCommentVNode("", true),
|
|
createVNode(_sfc_main$$, mergeProps({
|
|
modelValue: unref(tableSelectedKeys),
|
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(tableSelectedKeys) ? tableSelectedKeys.value = $event : null)
|
|
}, unref(checkboxProps), {
|
|
value: __props.data[__props.id],
|
|
skin: "primary"
|
|
}), null, 16, ["modelValue", "value"])
|
|
], 14, _hoisted_3$q)) : createCommentVNode("", true)
|
|
], 64)) : createCommentVNode("", true),
|
|
column.type == "number" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
|
|
isAutoShow(__props.data, column, __props.index, columnIndex) ? (openBlock(), createElementBlock("td", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-table-cell layui-table-cell-number", [
|
|
renderFixedClassName(column, columnIndex),
|
|
renderCellClassName(__props.data, column, __props.index, columnIndex),
|
|
column.fixed ? `layui-table-fixed-${column.fixed}` : ""
|
|
]]),
|
|
colspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).colspan,
|
|
rowspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).rowspan,
|
|
style: normalizeStyle([
|
|
{
|
|
textAlign: column.align,
|
|
whiteSpace: column.ellipsisTooltip ? "nowrap" : "normal"
|
|
},
|
|
renderFixedStyle(column, columnIndex),
|
|
renderCellStyle(__props.data, column, __props.index, columnIndex)
|
|
])
|
|
}, [
|
|
__props.expandSpace && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
style: normalizeStyle({ "margin-right": __props.currentIndentSize + "px" })
|
|
}, null, 4)) : createCommentVNode("", true),
|
|
__props.expandSpace && !__props.data[__props.childrenColumnName] && !unref(slot).expand && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", _hoisted_6$e)) : createCommentVNode("", true),
|
|
(unref(slot).expand || __props.data[__props.childrenColumnName]) && columnIndex === __props.expandIndex ? (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 2,
|
|
class: "layui-table-cell-expand-icon",
|
|
type: unref(expandIconType),
|
|
onClick: handleExpand
|
|
}, null, 8, ["type"])) : createCommentVNode("", true),
|
|
createTextVNode(" " + toDisplayString$1(__props.index + 1), 1)
|
|
], 14, _hoisted_5$g)) : createCommentVNode("", true)
|
|
], 64)) : createCommentVNode("", true)
|
|
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
column.customSlot ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
isAutoShow(__props.data, column, __props.index, columnIndex) ? (openBlock(), createElementBlock("td", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-table-cell", [
|
|
renderFixedClassName(column, columnIndex),
|
|
renderCellClassName(__props.data, column, __props.index, columnIndex),
|
|
column.fixed ? `layui-table-fixed-${column.fixed}` : ""
|
|
]]),
|
|
colspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).colspan,
|
|
rowspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).rowspan,
|
|
style: normalizeStyle([
|
|
{
|
|
textAlign: column.align,
|
|
whiteSpace: column.ellipsisTooltip ? "nowrap" : "normal"
|
|
},
|
|
renderFixedStyle(column, columnIndex),
|
|
renderCellStyle(__props.data, column, __props.index, columnIndex)
|
|
])
|
|
}, [
|
|
__props.expandSpace && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
style: normalizeStyle({ "margin-right": __props.currentIndentSize + "px" })
|
|
}, null, 4)) : createCommentVNode("", true),
|
|
__props.expandSpace && !__props.data[__props.childrenColumnName] && !unref(slot).expand && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", _hoisted_8$a)) : createCommentVNode("", true),
|
|
(unref(slot).expand || __props.data[__props.childrenColumnName]) && columnIndex === __props.expandIndex ? (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 2,
|
|
class: "layui-table-cell-expand-icon",
|
|
type: unref(expandIconType),
|
|
onClick: handleExpand
|
|
}, null, 8, ["type"])) : createCommentVNode("", true),
|
|
column.ellipsisTooltip ? (openBlock(), createBlock(_sfc_main$11, {
|
|
key: 3,
|
|
isAutoShow: true
|
|
}, {
|
|
content: withCtx(() => [
|
|
renderSlot(_ctx.$slots, column.customSlot, {
|
|
data: __props.data,
|
|
column
|
|
})
|
|
]),
|
|
default: withCtx(() => [
|
|
renderSlot(_ctx.$slots, column.customSlot, {
|
|
data: __props.data,
|
|
column
|
|
})
|
|
]),
|
|
_: 2
|
|
}, 1024)) : renderSlot(_ctx.$slots, column.customSlot, {
|
|
key: 4,
|
|
data: __props.data,
|
|
column
|
|
})
|
|
], 14, _hoisted_7$d)) : createCommentVNode("", true)
|
|
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
isAutoShow(__props.data, column, __props.index, columnIndex) ? (openBlock(), createElementBlock("td", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-table-cell", [
|
|
renderFixedClassName(column, columnIndex),
|
|
renderCellClassName(__props.data, column, __props.index, columnIndex),
|
|
column.fixed ? `layui-table-fixed-${column.fixed}` : ""
|
|
]]),
|
|
colspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).colspan,
|
|
rowspan: spanMethodAttr(__props.data, column, __props.index, columnIndex).rowspan,
|
|
style: normalizeStyle([
|
|
{
|
|
textAlign: column.align,
|
|
whiteSpace: column.ellipsisTooltip ? "nowrap" : "normal"
|
|
},
|
|
renderFixedStyle(column, columnIndex),
|
|
renderCellStyle(__props.data, column, __props.index, columnIndex)
|
|
])
|
|
}, [
|
|
__props.expandSpace && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
style: normalizeStyle({ "margin-right": __props.currentIndentSize + "px" })
|
|
}, null, 4)) : createCommentVNode("", true),
|
|
__props.expandSpace && !__props.data[__props.childrenColumnName] && !unref(slot).expand && columnIndex === __props.expandIndex ? (openBlock(), createElementBlock("span", _hoisted_10$8)) : createCommentVNode("", true),
|
|
(unref(slot).expand || __props.data[__props.childrenColumnName]) && columnIndex === __props.expandIndex ? (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 2,
|
|
class: "layui-table-cell-expand-icon",
|
|
type: unref(expandIconType),
|
|
onClick: handleExpand
|
|
}, null, 8, ["type"])) : createCommentVNode("", true),
|
|
column.ellipsisTooltip ? (openBlock(), createBlock(_sfc_main$11, {
|
|
key: 3,
|
|
content: __props.data[column.key],
|
|
isAutoShow: true
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString$1(__props.data[column.key]), 1)
|
|
]),
|
|
_: 2
|
|
}, 1032, ["content"])) : (openBlock(), createElementBlock("span", _hoisted_11$7, toDisplayString$1(__props.data[column.key]), 1))
|
|
], 14, _hoisted_9$8)) : createCommentVNode("", true)
|
|
], 64))
|
|
], 64))
|
|
], 64)) : createCommentVNode("", true)
|
|
], 64);
|
|
}), 128))
|
|
], 38),
|
|
unref(slot).expand && unref(isExpand) ? (openBlock(), createElementBlock("tr", _hoisted_12$6, [
|
|
createElementVNode("td", {
|
|
class: "layui-table-cell",
|
|
colspan: __props.columns.length
|
|
}, [
|
|
renderSlot(_ctx.$slots, "expand", { data: __props.data })
|
|
], 8, _hoisted_13$6)
|
|
])) : createCommentVNode("", true),
|
|
__props.data[__props.childrenColumnName] && unref(isExpand) ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(__props.data[__props.childrenColumnName], (children, childrenIndex) => {
|
|
return openBlock(), createBlock(_component_table_row, {
|
|
key: childrenIndex,
|
|
id: __props.id,
|
|
data: children,
|
|
index: childrenIndex,
|
|
columns: __props.columns,
|
|
"indent-size": __props.indentSize,
|
|
"current-indent-size": unref(childrenIndentSize),
|
|
checkbox: __props.checkbox,
|
|
tableColumnKeys: __props.tableColumnKeys,
|
|
expandSpace: __props.expandSpace,
|
|
expandIndex: __props.expandIndex,
|
|
cellStyle: __props.cellStyle,
|
|
cellClassName: __props.cellClassName,
|
|
rowStyle: __props.rowStyle,
|
|
rowClassName: __props.rowClassName,
|
|
spanMethod: __props.spanMethod,
|
|
defaultExpandAll: __props.defaultExpandAll,
|
|
getCheckboxProps: __props.getCheckboxProps,
|
|
getRadioProps: __props.getRadioProps,
|
|
onRow: rowClick,
|
|
onRowDouble: rowDoubleClick,
|
|
onRowContextmenu: rowContextmenu,
|
|
expandKeys: unref(tableExpandKeys),
|
|
"onUpdate:expandKeys": _cache[5] || (_cache[5] = ($event) => isRef(tableExpandKeys) ? tableExpandKeys.value = $event : null),
|
|
selectedKeys: unref(tableSelectedKeys),
|
|
"onUpdate:selectedKeys": _cache[6] || (_cache[6] = ($event) => isRef(tableSelectedKeys) ? tableSelectedKeys.value = $event : null),
|
|
selectedKey: unref(tableSelectedKey),
|
|
"onUpdate:selectedKey": _cache[7] || (_cache[7] = ($event) => isRef(tableSelectedKey) ? tableSelectedKey.value = $event : null)
|
|
}, createSlots({ _: 2 }, [
|
|
renderList(slotsData.value, (name) => {
|
|
return {
|
|
name,
|
|
fn: withCtx((slotProp) => [
|
|
renderSlot(_ctx.$slots, name, {
|
|
data: slotProp.data,
|
|
column: slotProp.column
|
|
})
|
|
])
|
|
};
|
|
}),
|
|
unref(slot).expand ? {
|
|
name: "expand",
|
|
fn: withCtx((slotProp) => [
|
|
renderSlot(_ctx.$slots, "expand", {
|
|
data: slotProp.data,
|
|
column: slotProp.column
|
|
})
|
|
]),
|
|
key: "0"
|
|
} : void 0
|
|
]), 1032, ["id", "data", "index", "columns", "indent-size", "current-indent-size", "checkbox", "tableColumnKeys", "expandSpace", "expandIndex", "cellStyle", "cellClassName", "rowStyle", "rowClassName", "spanMethod", "defaultExpandAll", "getCheckboxProps", "getRadioProps", "expandKeys", "selectedKeys", "selectedKey"]);
|
|
}), 128)) : createCommentVNode("", true)
|
|
], 64);
|
|
};
|
|
}
|
|
});
|
|
var index$j = /* @__PURE__ */ (() => ".layui-laypage{display:inline-block;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid var(--global-neutral-color-3)}.layui-laypage a,.layui-laypage span{display:inline-block;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-laypage a:hover{color:var(--global-primary-color)}.layui-laypage-a-red:hover{color:#ff5722!important}.layui-laypage-a-orange:hover{color:#ffb800!important}.layui-laypage-a-green:hover{color:#009688!important}.layui-laypage-a-cyan:hover{color:#2f4056!important}.layui-laypage-a-blue:hover{color:#01aaed!important}.layui-laypage-a-black:hover{color:#000!important}.layui-laypage-a-gray:hover{color:#c2c2c2!important}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage a{text-decoration:none}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:var(--global-primary-color)}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;margin-top:4px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{display:inline-block;width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input::-webkit-outer-spin-button,.layui-laypage input::-webkit-inner-spin-button{-webkit-appearance:none}.layui-laypage input:focus,.layui-laypage select:focus{border-color:var(--global-primary-color)!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}\n")();
|
|
const _hoisted_1$v = { class: "layui-laypage layui-laypage-default" };
|
|
const _hoisted_2$s = {
|
|
key: 0,
|
|
class: "layui-laypage-count"
|
|
};
|
|
const _hoisted_3$p = {
|
|
key: 0,
|
|
class: "layui-laypage-curr"
|
|
};
|
|
const _hoisted_4$k = ["onClick"];
|
|
const _hoisted_5$f = {
|
|
key: 2,
|
|
class: "layui-laypage-limits"
|
|
};
|
|
const _hoisted_6$d = ["value"];
|
|
const _hoisted_7$c = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-refresh" }, null, -1);
|
|
const _hoisted_8$9 = [
|
|
_hoisted_7$c
|
|
];
|
|
const _hoisted_9$7 = {
|
|
key: 4,
|
|
class: "layui-laypage-skip"
|
|
};
|
|
const _hoisted_10$7 = ["disabled"];
|
|
const __default__$D = {
|
|
name: "LayPage"
|
|
};
|
|
const _sfc_main$F = defineComponent({
|
|
...__default__$D,
|
|
props: {
|
|
total: null,
|
|
limit: { default: 10 },
|
|
theme: { default: "green" },
|
|
showPage: { type: Boolean, default: false },
|
|
showSkip: { type: Boolean, default: false },
|
|
showCount: { type: Boolean, default: false },
|
|
showLimit: { type: Boolean, default: true },
|
|
showInput: { type: Boolean, default: false },
|
|
showRefresh: { type: Boolean, default: false },
|
|
pages: { default: 10 },
|
|
limits: { default: () => [10, 20, 30, 40, 50] },
|
|
modelValue: { default: 1 }
|
|
},
|
|
emits: ["update:modelValue", "update:limit", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const { t } = useI18n();
|
|
const slots = useSlots();
|
|
const maxPage = ref(0);
|
|
const limits = ref(props.limits);
|
|
const pages = computed$1(() => Math.floor(props.pages / 2));
|
|
const currentPage = ref(props.modelValue);
|
|
const currentPageShow = ref(currentPage.value);
|
|
const inlimit = ref(props.limit);
|
|
watch(() => props.limit, () => {
|
|
inlimit.value = props.limit;
|
|
});
|
|
const totalPage = computed$1(() => {
|
|
maxPage.value = Math.ceil(props.total / inlimit.value);
|
|
let r = [];
|
|
let start = maxPage.value <= props.pages ? 1 : currentPage.value > pages.value ? maxPage.value - currentPage.value + 1 < pages.value ? currentPage.value - (pages.value + (pages.value - (maxPage.value - currentPage.value + 1))) : currentPage.value - pages.value : 1;
|
|
for (let i = start; ; i++) {
|
|
if (r.length >= props.pages || i > maxPage.value) {
|
|
break;
|
|
}
|
|
r.push(i);
|
|
}
|
|
return r;
|
|
});
|
|
const prev = () => {
|
|
if (currentPage.value === 1) {
|
|
return;
|
|
}
|
|
currentPage.value--;
|
|
emit("change", { current: currentPage.value, limit: inlimit.value });
|
|
};
|
|
const next = () => {
|
|
if (currentPage.value === maxPage.value || maxPage.value === 0) {
|
|
return;
|
|
}
|
|
currentPage.value++;
|
|
emit("change", { current: currentPage.value, limit: inlimit.value });
|
|
};
|
|
const jump = (page) => {
|
|
currentPage.value = page;
|
|
emit("change", { current: currentPage.value, limit: inlimit.value });
|
|
};
|
|
const jumpPage = () => {
|
|
currentPage.value = currentPageShow.value;
|
|
emit("change", { current: currentPage.value, limit: inlimit.value });
|
|
};
|
|
const changelimit = () => {
|
|
const maxPage2 = Math.ceil(props.total / inlimit.value);
|
|
if (currentPage.value > maxPage2) {
|
|
currentPage.value = maxPage2;
|
|
}
|
|
emit("change", { current: currentPage.value, limit: inlimit.value });
|
|
};
|
|
const refresh = () => {
|
|
emit("change", { current: currentPage.value, limit: inlimit.value });
|
|
};
|
|
watch(inlimit, () => {
|
|
emit("update:limit", inlimit.value);
|
|
});
|
|
watch(currentPage, () => {
|
|
const min = totalPage.value[0];
|
|
const max = totalPage.value[totalPage.value.length - 1];
|
|
if (currentPage.value > max)
|
|
currentPage.value = max;
|
|
if (currentPage.value < min)
|
|
currentPage.value = min;
|
|
currentPageShow.value = currentPage.value;
|
|
emit("update:modelValue", currentPage.value);
|
|
});
|
|
watch(() => props.modelValue, () => {
|
|
currentPage.value = props.modelValue;
|
|
currentPageShow.value = currentPage.value;
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$v, [
|
|
__props.showCount ? (openBlock(), createElementBlock("span", _hoisted_2$s, toDisplayString$1(unref(t)("page.total")) + " " + toDisplayString$1(__props.total) + " " + toDisplayString$1(unref(t)("page.item")) + " " + toDisplayString$1(maxPage.value) + " " + toDisplayString$1(unref(t)("page.page")), 1)) : createCommentVNode("", true),
|
|
createElementVNode("a", {
|
|
href: "javascript:;",
|
|
class: normalizeClass(["layui-laypage-prev", [
|
|
currentPage.value === 1 ? "layui-disabled" : "",
|
|
__props.theme && currentPage.value !== 1 ? "layui-laypage-a-" + __props.theme : ""
|
|
]]),
|
|
onClick: _cache[0] || (_cache[0] = ($event) => prev())
|
|
}, [
|
|
unref(slots).prev ? renderSlot(_ctx.$slots, "prev", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(unref(t)("page.previous")), 1)
|
|
], 64))
|
|
], 2),
|
|
__props.showPage ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(unref(totalPage), (index2) => {
|
|
return openBlock(), createElementBlock(Fragment, { key: index2 }, [
|
|
index2 === currentPage.value ? (openBlock(), createElementBlock("span", _hoisted_3$p, [
|
|
createElementVNode("em", {
|
|
class: normalizeClass(["layui-laypage-em", [__props.theme ? "layui-bg-" + __props.theme : ""]])
|
|
}, null, 2),
|
|
createElementVNode("em", null, toDisplayString$1(index2), 1)
|
|
])) : (openBlock(), createElementBlock("a", {
|
|
key: 1,
|
|
href: "javascript:;",
|
|
onClick: ($event) => jump(index2),
|
|
class: normalizeClass([__props.theme ? "layui-laypage-a-" + __props.theme : ""])
|
|
}, toDisplayString$1(index2), 11, _hoisted_4$k))
|
|
], 64);
|
|
}), 128)) : createCommentVNode("", true),
|
|
createElementVNode("a", {
|
|
href: "javascript:;",
|
|
class: normalizeClass(["layui-laypage-next", [
|
|
currentPage.value === maxPage.value || maxPage.value === 0 ? "layui-disabled" : "",
|
|
__props.theme && currentPage.value !== maxPage.value && maxPage.value !== 0 ? "layui-laypage-a-" + __props.theme : ""
|
|
]]),
|
|
onClick: _cache[1] || (_cache[1] = ($event) => next())
|
|
}, [
|
|
unref(slots).next ? renderSlot(_ctx.$slots, "next", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(unref(t)("page.next")), 1)
|
|
], 64))
|
|
], 2),
|
|
__props.showLimit ? (openBlock(), createElementBlock("span", _hoisted_5$f, [
|
|
withDirectives(createElementVNode("select", {
|
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => inlimit.value = $event),
|
|
onChange: changelimit
|
|
}, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(limits.value, (val) => {
|
|
return openBlock(), createElementBlock("option", {
|
|
key: val,
|
|
value: val
|
|
}, toDisplayString$1(val) + " " + toDisplayString$1(unref(t)("page.item")) + "/" + toDisplayString$1(unref(t)("page.page")), 9, _hoisted_6$d);
|
|
}), 128))
|
|
], 544), [
|
|
[vModelSelect, inlimit.value]
|
|
])
|
|
])) : createCommentVNode("", true),
|
|
__props.showRefresh ? (openBlock(), createElementBlock("a", {
|
|
key: 3,
|
|
href: "javascript:;",
|
|
onClick: refresh,
|
|
class: "layui-laypage-refresh"
|
|
}, _hoisted_8$9)) : createCommentVNode("", true),
|
|
props.showSkip ? (openBlock(), createElementBlock("span", _hoisted_9$7, [
|
|
createTextVNode(toDisplayString$1(unref(t)("page.goTo")) + " ", 1),
|
|
withDirectives(createElementVNode("input", {
|
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => currentPageShow.value = $event),
|
|
onKeypress: _cache[4] || (_cache[4] = withKeys(($event) => jumpPage(), ["enter"])),
|
|
type: "number",
|
|
class: "layui-input layui-input-number"
|
|
}, null, 544), [
|
|
[vModelText, currentPageShow.value]
|
|
]),
|
|
createTextVNode(toDisplayString$1(unref(t)("page.page")) + " ", 1),
|
|
createElementVNode("button", {
|
|
type: "button",
|
|
class: "layui-laypage-btn",
|
|
onClick: _cache[5] || (_cache[5] = ($event) => jumpPage()),
|
|
disabled: currentPageShow.value > maxPage.value || currentPageShow.value == currentPage.value
|
|
}, toDisplayString$1(unref(t)("page.confirm")), 9, _hoisted_10$7)
|
|
])) : createCommentVNode("", true)
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const __default__$C = {
|
|
name: "TablePage"
|
|
};
|
|
const _sfc_main$E = defineComponent({
|
|
...__default__$C,
|
|
props: {
|
|
showPage: { type: Boolean, default: true },
|
|
showSkip: { type: Boolean, default: true },
|
|
showLimit: { type: Boolean, default: true },
|
|
showCount: { type: Boolean },
|
|
showRefresh: { type: Boolean },
|
|
current: null,
|
|
limits: null,
|
|
pages: null,
|
|
total: null,
|
|
limit: null,
|
|
theme: null
|
|
},
|
|
emits: ["update:current", "update:limit", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const current = computed$1({
|
|
get() {
|
|
return props.current;
|
|
},
|
|
set(val) {
|
|
emit("update:current", val);
|
|
}
|
|
});
|
|
const limit = computed$1({
|
|
get() {
|
|
return props.limit;
|
|
},
|
|
set(val) {
|
|
emit("update:limit", val);
|
|
}
|
|
});
|
|
const change3 = (pageData) => {
|
|
emit("change", pageData);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createBlock(_sfc_main$F, {
|
|
total: __props.total,
|
|
"show-page": __props.showPage,
|
|
"show-skip": __props.showSkip,
|
|
"show-limit": __props.showLimit,
|
|
"show-count": __props.showCount,
|
|
"show-refresh": __props.showRefresh,
|
|
limits: __props.limits,
|
|
theme: __props.theme,
|
|
pages: __props.pages,
|
|
modelValue: unref(current),
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(current) ? current.value = $event : null),
|
|
limit: unref(limit),
|
|
"onUpdate:limit": _cache[1] || (_cache[1] = ($event) => isRef(limit) ? limit.value = $event : null),
|
|
onChange: change3
|
|
}, {
|
|
prev: withCtx(() => [
|
|
createVNode(unref(_sfc_main$2E), { type: "layui-icon-left" })
|
|
]),
|
|
next: withCtx(() => [
|
|
createVNode(unref(_sfc_main$2E), { type: "layui-icon-right" })
|
|
]),
|
|
_: 1
|
|
}, 8, ["total", "show-page", "show-skip", "show-limit", "show-count", "show-refresh", "limits", "theme", "pages", "modelValue", "limit"]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$u = /* @__PURE__ */ createElementVNode("table", {
|
|
class: "layui-hide",
|
|
"lay-filter": "test"
|
|
}, null, -1);
|
|
const _hoisted_2$r = {
|
|
key: 0,
|
|
class: "layui-table-tool"
|
|
};
|
|
const _hoisted_3$o = { class: "layui-table-tool-temp" };
|
|
const _hoisted_4$j = {
|
|
key: 0,
|
|
class: "layui-table-tool-self"
|
|
};
|
|
const _hoisted_5$e = /* @__PURE__ */ createElementVNode("div", {
|
|
class: "layui-inline",
|
|
title: "\u7B5B\u9009",
|
|
"lay-event": ""
|
|
}, [
|
|
/* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-slider" })
|
|
], -1);
|
|
const _hoisted_6$c = { class: "layui-table-tool-checkbox" };
|
|
const _hoisted_7$b = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-export" }, null, -1);
|
|
const _hoisted_8$8 = [
|
|
_hoisted_7$b
|
|
];
|
|
const _hoisted_9$6 = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-print" }, null, -1);
|
|
const _hoisted_10$6 = [
|
|
_hoisted_9$6
|
|
];
|
|
const _hoisted_11$6 = {
|
|
key: 1,
|
|
class: "layui-table-box-header"
|
|
};
|
|
const _hoisted_12$5 = { class: "layui-table-box" };
|
|
const _hoisted_13$5 = ["lay-size", "lay-skin"];
|
|
const _hoisted_14$3 = ["width"];
|
|
const _hoisted_15$2 = ["colspan", "rowspan"];
|
|
const _hoisted_16$2 = {
|
|
key: 0,
|
|
class: "layui-table-sort layui-inline",
|
|
"lay-sort": ""
|
|
};
|
|
const _hoisted_17$2 = ["onClick"];
|
|
const _hoisted_18$1 = ["onClick"];
|
|
const _hoisted_19$1 = ["lay-size", "lay-skin"];
|
|
const _hoisted_20$1 = ["width"];
|
|
const _hoisted_21$1 = {
|
|
key: 0,
|
|
class: "layui-table-total"
|
|
};
|
|
const _hoisted_22 = ["innerHTML"];
|
|
const _hoisted_23 = {
|
|
key: 2,
|
|
class: "layui-table-loading"
|
|
};
|
|
const _hoisted_24 = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon-loading layui-icon layui-anim layui-anim-rotate layui-anim-loop" }, null, -1);
|
|
const _hoisted_25 = [
|
|
_hoisted_24
|
|
];
|
|
const _hoisted_26 = {
|
|
key: 0,
|
|
class: "layui-table-footer"
|
|
};
|
|
const _hoisted_27 = {
|
|
key: 2,
|
|
class: "layui-table-page"
|
|
};
|
|
const __default__$B = {
|
|
name: "LayTable"
|
|
};
|
|
const _sfc_main$D = defineComponent({
|
|
...__default__$B,
|
|
props: {
|
|
id: { default: "id" },
|
|
skin: null,
|
|
size: { default: "md" },
|
|
page: null,
|
|
columns: null,
|
|
dataSource: { default: () => [] },
|
|
defaultToolbar: { type: [Boolean, Array] },
|
|
selectedKey: { default: "" },
|
|
selectedKeys: { default: () => [] },
|
|
indentSize: { default: 30 },
|
|
childrenColumnName: { default: "children" },
|
|
height: null,
|
|
maxHeight: { default: "auto" },
|
|
even: { type: Boolean, default: false },
|
|
expandIndex: { default: 0 },
|
|
rowClassName: { type: [String, Function], default: "" },
|
|
cellClassName: { type: [String, Function], default: "" },
|
|
rowStyle: { type: [String, Function], default: "" },
|
|
cellStyle: { type: [String, Function], default: "" },
|
|
spanMethod: { type: Function, default: () => {
|
|
} },
|
|
defaultExpandAll: { type: Boolean, default: false },
|
|
expandKeys: { default: () => [] },
|
|
loading: { type: Boolean, default: false },
|
|
getCheckboxProps: { type: Function, default: () => {
|
|
} },
|
|
getRadioProps: { type: Function, default: () => {
|
|
} }
|
|
},
|
|
emits: [
|
|
"change",
|
|
"update:expandKeys",
|
|
"update:selectedKeys",
|
|
"update:selectedKey",
|
|
"row-contextmenu",
|
|
"row-double",
|
|
"row"
|
|
],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const slot = useSlots();
|
|
slot.default && slot.default();
|
|
const tableRef = ref();
|
|
const s = "";
|
|
const allChecked = ref(false);
|
|
const hasChecked = ref(false);
|
|
const tableDataSource = ref([...props.dataSource]);
|
|
const tableColumns = computed$1(() => {
|
|
return [...props.columns];
|
|
});
|
|
const tableHeadColumns = ref([]);
|
|
const tableBodyColumns = ref([]);
|
|
const getLevel = (arr) => {
|
|
let maxLevel = 0;
|
|
(function callBack(arr2, level) {
|
|
++level;
|
|
maxLevel = Math.max(level, maxLevel);
|
|
for (let i = 0; i < arr2.length; i++) {
|
|
let item = arr2[i];
|
|
if (item.children && item.children.length > 0) {
|
|
callBack(item.children, level);
|
|
} else {
|
|
delete item.children;
|
|
}
|
|
}
|
|
})(arr, 0);
|
|
return maxLevel;
|
|
};
|
|
function getLeafCountTree(json) {
|
|
if (!json.children || json.children.length == 0) {
|
|
json.colspan = 1;
|
|
return 1;
|
|
} else {
|
|
var leafCount = 0;
|
|
for (var i = 0; i < json.children.length; i++) {
|
|
leafCount = leafCount + getLeafCountTree(json.children[i]);
|
|
}
|
|
json.colspan = leafCount;
|
|
return leafCount;
|
|
}
|
|
}
|
|
const findFindNode = (columns) => {
|
|
columns.forEach((column) => {
|
|
if (column.children) {
|
|
findFindNode(column.children);
|
|
} else {
|
|
tableBodyColumns.value.push(column);
|
|
}
|
|
});
|
|
};
|
|
findFindNode(tableColumns.value);
|
|
const tableColumnKeys = ref([]);
|
|
const findFindNodes = (columns) => {
|
|
columns.forEach((column) => {
|
|
if (column.children) {
|
|
tableColumnKeys.value.push(column.key);
|
|
findFindNodes(column.children);
|
|
} else {
|
|
if (!column.hide) {
|
|
tableColumnKeys.value.push(column.key);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
findFindNodes(tableColumns.value);
|
|
const findFinalNode = (level, columns) => {
|
|
columns.forEach((column) => {
|
|
if (column.children) {
|
|
const colSpan = getLeafCountTree(column);
|
|
column.colspan = colSpan;
|
|
if (!tableHeadColumns.value[level]) {
|
|
tableHeadColumns.value[level] = [];
|
|
}
|
|
if (column.fixed && !column.width) {
|
|
column.type ? column.width = "50px" : column.width = "100px";
|
|
}
|
|
tableHeadColumns.value[level].push(column);
|
|
findFinalNode(level + 1, column.children);
|
|
} else {
|
|
const rowSpan = getLevel(columns);
|
|
column.rowspan = rowSpan;
|
|
if (!tableHeadColumns.value[level]) {
|
|
tableHeadColumns.value[level] = [];
|
|
}
|
|
if (column.fixed && !column.width) {
|
|
column.type ? column.width = "50px" : column.width = "100px";
|
|
}
|
|
tableHeadColumns.value[level].push(column);
|
|
}
|
|
});
|
|
};
|
|
findFinalNode(0, tableColumns.value);
|
|
const tableSelectedKeys = ref([...props.selectedKeys]);
|
|
const tableExpandKeys = ref([...props.expandKeys]);
|
|
watch(() => props.selectedKeys, () => {
|
|
tableSelectedKeys.value = props.selectedKeys;
|
|
}, { deep: true });
|
|
watch(() => props.expandKeys, () => {
|
|
tableExpandKeys.value = props.expandKeys;
|
|
}, { deep: true });
|
|
const tableSelectedKey = computed$1({
|
|
get() {
|
|
return props.selectedKey;
|
|
},
|
|
set(val) {
|
|
emit("update:selectedKey", val);
|
|
}
|
|
});
|
|
watch(() => props.dataSource, () => {
|
|
tableDataSource.value = [...props.dataSource];
|
|
tableSelectedKeys.value = [];
|
|
tableSelectedKey.value = s;
|
|
}, { deep: true });
|
|
const changeAll = (isChecked) => {
|
|
if (isChecked) {
|
|
const datasources = props.dataSource.filter((item, index2) => {
|
|
var _a2;
|
|
return !((_a2 = props.getCheckboxProps(item, index2)) == null ? void 0 : _a2.disabled);
|
|
});
|
|
const ids = datasources.map((item) => {
|
|
return item[props.id];
|
|
});
|
|
tableSelectedKeys.value = [...ids];
|
|
} else {
|
|
tableSelectedKeys.value = [];
|
|
}
|
|
};
|
|
watch(tableSelectedKeys, () => {
|
|
if (tableSelectedKeys.value.length === props.dataSource.length) {
|
|
allChecked.value = true;
|
|
} else {
|
|
allChecked.value = false;
|
|
}
|
|
if (tableSelectedKeys.value.length > 0) {
|
|
hasChecked.value = true;
|
|
} else {
|
|
hasChecked.value = false;
|
|
}
|
|
emit("update:selectedKeys", tableSelectedKeys.value);
|
|
}, { deep: true, immediate: true });
|
|
watch(tableExpandKeys, () => {
|
|
emit("update:expandKeys", tableExpandKeys.value);
|
|
}, { deep: true, immediate: true });
|
|
const change3 = function(page) {
|
|
emit("change", page);
|
|
};
|
|
const rowClick = function(data, evt) {
|
|
emit("row", data, evt);
|
|
};
|
|
const rowDoubleClick = function(data, evt) {
|
|
emit("row-double", data, evt);
|
|
};
|
|
const rowContextmenu = (data, evt) => {
|
|
emit("row-contextmenu", data, evt);
|
|
};
|
|
const print = () => {
|
|
let subOutputRankPrint = tableRef.value;
|
|
let newContent = subOutputRankPrint.innerHTML;
|
|
let oldContent = document.body.innerHTML;
|
|
document.body.innerHTML = newContent;
|
|
window.print();
|
|
window.location.reload();
|
|
document.body.innerHTML = oldContent;
|
|
};
|
|
const exportData = () => {
|
|
var tableStr = ``;
|
|
for (let tableHeadColumn of tableHeadColumns.value) {
|
|
tableStr += "<tr>";
|
|
for (let column of tableHeadColumn) {
|
|
tableStr += `<td colspan=${column.colspan} rowspan=${column.rowspan}>${column.title}</td>`;
|
|
}
|
|
tableStr += "</tr>";
|
|
}
|
|
tableDataSource.value.forEach((item, rowIndex) => {
|
|
tableStr += "<tr>";
|
|
tableBodyColumns.value.forEach((tableColumn, columnIndex) => {
|
|
Object.keys(item).forEach((name) => {
|
|
if (tableColumn.key === name) {
|
|
const rowColSpan = props.spanMethod(item, tableColumn, rowIndex, columnIndex);
|
|
const rowspan = rowColSpan ? rowColSpan[0] : 1;
|
|
const colspan = rowColSpan ? rowColSpan[1] : 1;
|
|
if (rowspan != 0 && colspan != 0) {
|
|
tableStr += `<td colspan=${colspan} rowspan=${rowspan}>${item[name]}</td>`;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
tableStr += "</tr>";
|
|
});
|
|
var worksheet = "Sheet1";
|
|
var uri = "data:application/vnd.ms-excel;base64,";
|
|
var exportTemplate = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"
|
|
xmlns="http://www.w3.org/TR/REC-html40">
|
|
<head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>
|
|
<x:Name>${worksheet}</x:Name>
|
|
<x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>
|
|
</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]-->
|
|
</head>
|
|
<body>
|
|
<table syle="table-layout: fixed;word-wrap: break-word; word-break: break-all;">${tableStr}</table>
|
|
</body>
|
|
</html>`;
|
|
window.location.href = uri + base64(exportTemplate);
|
|
return;
|
|
};
|
|
function base64(s2) {
|
|
return window.btoa(unescape(encodeURIComponent(s2)));
|
|
}
|
|
const sortTable = (e, key, sort) => {
|
|
let currentSort = e.target.parentNode.getAttribute("lay-sort");
|
|
if (sort === "desc") {
|
|
if (currentSort === sort) {
|
|
e.target.parentNode.setAttribute("lay-sort", "");
|
|
tableDataSource.value = [...props.dataSource];
|
|
} else {
|
|
e.target.parentNode.setAttribute("lay-sort", "desc");
|
|
tableDataSource.value.sort((x, y) => {
|
|
if (x[key] < y[key])
|
|
return 1;
|
|
else if (x[key] > y[key])
|
|
return -1;
|
|
else
|
|
return 0;
|
|
});
|
|
}
|
|
} else {
|
|
if (currentSort === sort) {
|
|
e.target.parentNode.setAttribute("lay-sort", "");
|
|
tableDataSource.value = [...props.dataSource];
|
|
} else {
|
|
e.target.parentNode.setAttribute("lay-sort", "asc");
|
|
tableDataSource.value.sort((x, y) => {
|
|
if (x[key] < y[key])
|
|
return -1;
|
|
else if (x[key] > y[key])
|
|
return 1;
|
|
else
|
|
return 0;
|
|
});
|
|
}
|
|
}
|
|
};
|
|
let tableBody = ref(null);
|
|
let tableHeader = ref(null);
|
|
let tableHeaderTable = ref(null);
|
|
const tableBodyEmptyWidth = ref();
|
|
let scrollWidthCell = ref(0);
|
|
const getScrollWidth = () => {
|
|
var _a2, _b, _c;
|
|
const clientWidth = ((_a2 = tableBody.value) == null ? void 0 : _a2.clientWidth) || 0;
|
|
const offsetWidth = ((_b = tableBody.value) == null ? void 0 : _b.offsetWidth) || 0;
|
|
if (clientWidth < offsetWidth) {
|
|
scrollWidthCell.value = offsetWidth - clientWidth;
|
|
} else {
|
|
scrollWidthCell.value = 0;
|
|
}
|
|
tableBodyEmptyWidth.value = ((_c = tableHeaderTable.value) == null ? void 0 : _c.offsetWidth) + "px";
|
|
};
|
|
const hasl = ref(false);
|
|
const hasr = ref(false);
|
|
const classes = computed$1(() => {
|
|
return [
|
|
hasl.value ? "layui-table-has-fixed-left" : "",
|
|
hasr.value ? "layui-table-has-fixed-right" : ""
|
|
];
|
|
});
|
|
watch(() => [props.height, props.maxHeight, props.dataSource], () => {
|
|
nextTick(() => {
|
|
getScrollWidth();
|
|
});
|
|
});
|
|
onMounted(() => {
|
|
var _a2, _b;
|
|
getScrollWidth();
|
|
getFixedColumn();
|
|
(_a2 = tableBody.value) == null ? void 0 : _a2.addEventListener("scroll", () => {
|
|
getFixedColumn();
|
|
});
|
|
(_b = tableBody.value) == null ? void 0 : _b.addEventListener("transitionend", () => {
|
|
getScrollWidth();
|
|
});
|
|
window.onresize = () => {
|
|
getScrollWidth();
|
|
getFixedColumn();
|
|
};
|
|
});
|
|
const getFixedColumn = () => {
|
|
var _a2, _b, _c, _d, _e, _f, _g;
|
|
tableHeader.value.scrollLeft = ((_a2 = tableBody.value) == null ? void 0 : _a2.scrollLeft) || 0;
|
|
if (((_b = tableBody.value) == null ? void 0 : _b.scrollWidth) > ((_c = tableBody.value) == null ? void 0 : _c.clientWidth)) {
|
|
if (((_d = tableBody.value) == null ? void 0 : _d.scrollLeft) == 0) {
|
|
hasl.value = false;
|
|
hasr.value = true;
|
|
} else {
|
|
const t = ((_e = tableBody.value) == null ? void 0 : _e.scrollLeft) + ((_f = tableBody.value) == null ? void 0 : _f.offsetWidth) + 2;
|
|
const s2 = (_g = tableBody.value) == null ? void 0 : _g.scrollWidth;
|
|
if (t > s2) {
|
|
hasl.value = true;
|
|
hasr.value = false;
|
|
} else {
|
|
hasl.value = true;
|
|
hasr.value = true;
|
|
}
|
|
}
|
|
} else {
|
|
hasl.value = false;
|
|
hasr.value = false;
|
|
}
|
|
};
|
|
const slotsData = ref([]);
|
|
props.columns.map((value) => {
|
|
if (value.customSlot) {
|
|
slotsData.value.push(value.customSlot);
|
|
}
|
|
});
|
|
const currentIndentSize = ref(0);
|
|
const childrenExpandSpace = computed$1(() => {
|
|
return props.dataSource.find((value) => {
|
|
if (value[props.childrenColumnName]) {
|
|
return true;
|
|
}
|
|
}) != void 0;
|
|
});
|
|
const renderFixedStyle = (column, columnIndex) => {
|
|
var _a2, _b, _c, _d;
|
|
if (column.fixed) {
|
|
if (column.fixed == "left") {
|
|
var left = 0;
|
|
for (var i = 0; i < columnIndex; i++) {
|
|
if (props.columns[i].fixed && props.columns[i].fixed == "left" && tableColumnKeys.value.includes(props.columns[i].key)) {
|
|
left = left + Number((_b = (_a2 = props.columns[i]) == null ? void 0 : _a2.width) == null ? void 0 : _b.replace("px", ""));
|
|
}
|
|
}
|
|
return { left: `${left}px` };
|
|
} else {
|
|
var right = 0;
|
|
for (var i = columnIndex + 1; i < props.columns.length; i++) {
|
|
if (props.columns[i].fixed && props.columns[i].fixed == "right" && tableColumnKeys.value.includes(props.columns[i].key)) {
|
|
right = right + Number((_d = (_c = props.columns[i]) == null ? void 0 : _c.width) == null ? void 0 : _d.replace("px", ""));
|
|
}
|
|
}
|
|
return { right: `${right}px` };
|
|
}
|
|
} else {
|
|
var isLast = true;
|
|
for (var i = columnIndex + 1; i < props.columns.length; i++) {
|
|
if (props.columns[i].fixed == void 0 && tableColumnKeys.value.includes(props.columns[i].key)) {
|
|
isLast = false;
|
|
}
|
|
}
|
|
return isLast ? { "border-right": "none" } : {};
|
|
}
|
|
};
|
|
const renderFixedClassName = (column, columnIndex) => {
|
|
if (column.fixed) {
|
|
if (column.fixed == "left") {
|
|
var left = true;
|
|
for (var i = columnIndex + 1; i < props.columns.length; i++) {
|
|
if (props.columns[i].fixed && props.columns[i].fixed == "left" && tableColumnKeys.value.includes(props.columns[i].key)) {
|
|
left = false;
|
|
}
|
|
}
|
|
return left ? `layui-table-fixed-left-last` : "";
|
|
} else {
|
|
var right = true;
|
|
for (var i = 0; i < columnIndex; i++) {
|
|
if (props.columns[i].fixed && props.columns[i].fixed == "right" && tableColumnKeys.value.includes(props.columns[i].key)) {
|
|
right = false;
|
|
}
|
|
}
|
|
return right ? `layui-table-fixed-right-first` : "";
|
|
}
|
|
}
|
|
};
|
|
const hasTotalRow = computed$1(() => {
|
|
let b = false;
|
|
props.columns.forEach((item) => {
|
|
if (item.totalRow) {
|
|
b = true;
|
|
}
|
|
});
|
|
return b;
|
|
});
|
|
const renderTotalRowCell = (column) => {
|
|
if (column.totalRow) {
|
|
if (column.totalRow != true) {
|
|
return column.totalRow;
|
|
} else {
|
|
if (column.totalRowMethod) {
|
|
return column.totalRowMethod(column, tableDataSource.value);
|
|
} else {
|
|
return totalRowMethod(column, tableDataSource.value);
|
|
}
|
|
}
|
|
}
|
|
};
|
|
const totalRowMethod = (column, dataSource) => {
|
|
let total = 0;
|
|
dataSource.forEach((item) => {
|
|
total = total + Number(item[column.key]);
|
|
});
|
|
return total;
|
|
};
|
|
onBeforeUnmount(() => {
|
|
window.onresize = null;
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
ref_key: "tableRef",
|
|
ref: tableRef
|
|
}, [
|
|
_hoisted_1$u,
|
|
createElementVNode("div", {
|
|
class: normalizeClass(["layui-form layui-border-box layui-table-view", unref(classes)])
|
|
}, [
|
|
__props.defaultToolbar || unref(slot).toolbar ? (openBlock(), createElementBlock("div", _hoisted_2$r, [
|
|
createElementVNode("div", _hoisted_3$o, [
|
|
renderSlot(_ctx.$slots, "toolbar")
|
|
]),
|
|
__props.defaultToolbar ? (openBlock(), createElementBlock("div", _hoisted_4$j, [
|
|
createVNode(_sfc_main$1y, { updateAtScroll: "" }, {
|
|
content: withCtx(() => [
|
|
createElementVNode("div", _hoisted_6$c, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tableHeadColumns.value[0], (column) => {
|
|
return openBlock(), createBlock(_sfc_main$$, {
|
|
modelValue: tableColumnKeys.value,
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => tableColumnKeys.value = $event),
|
|
skin: "primary",
|
|
disabled: column.children,
|
|
key: column.key,
|
|
value: column.key
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString$1(column.title), 1)
|
|
]),
|
|
_: 2
|
|
}, 1032, ["modelValue", "disabled", "value"]);
|
|
}), 128))
|
|
])
|
|
]),
|
|
default: withCtx(() => [
|
|
_hoisted_5$e
|
|
]),
|
|
_: 1
|
|
}),
|
|
createElementVNode("div", {
|
|
class: "layui-inline",
|
|
title: "\u5BFC\u51FA",
|
|
"lay-event": "",
|
|
onClick: _cache[1] || (_cache[1] = ($event) => exportData())
|
|
}, _hoisted_8$8),
|
|
createElementVNode("div", {
|
|
class: "layui-inline",
|
|
title: "\u6253\u5370",
|
|
"lay-event": "",
|
|
onClick: _cache[2] || (_cache[2] = ($event) => print())
|
|
}, _hoisted_10$6)
|
|
])) : createCommentVNode("", true)
|
|
])) : createCommentVNode("", true),
|
|
unref(slot).header ? (openBlock(), createElementBlock("div", _hoisted_11$6, [
|
|
renderSlot(_ctx.$slots, "header")
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("div", _hoisted_12$5, [
|
|
createElementVNode("div", {
|
|
class: "layui-table-header",
|
|
style: normalizeStyle([{ "padding-right": `${unref(scrollWidthCell)}px` }])
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: "layui-table-header-wrapper",
|
|
ref_key: "tableHeader",
|
|
ref: tableHeader
|
|
}, [
|
|
createElementVNode("table", {
|
|
class: "layui-table",
|
|
"lay-size": __props.size,
|
|
"lay-skin": __props.skin,
|
|
ref_key: "tableHeaderTable",
|
|
ref: tableHeaderTable
|
|
}, [
|
|
createElementVNode("colgroup", null, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tableBodyColumns.value, (column) => {
|
|
return openBlock(), createElementBlock(Fragment, { key: column }, [
|
|
tableColumnKeys.value.includes(column.key) ? (openBlock(), createElementBlock("col", {
|
|
key: 0,
|
|
width: column.width,
|
|
style: normalizeStyle({
|
|
minWidth: column.minWidth ? column.minWidth : "50px"
|
|
})
|
|
}, null, 12, _hoisted_14$3)) : createCommentVNode("", true)
|
|
], 64);
|
|
}), 128))
|
|
]),
|
|
createElementVNode("thead", null, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tableHeadColumns.value, (tableHeadColumn, tableHeadColumnIndex) => {
|
|
return openBlock(), createElementBlock("tr", { key: tableHeadColumnIndex }, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tableHeadColumn, (column, columnIndex) => {
|
|
return openBlock(), createElementBlock(Fragment, { key: column }, [
|
|
tableColumnKeys.value.includes(column.key) ? (openBlock(), createElementBlock("th", {
|
|
key: 0,
|
|
colspan: column.colspan,
|
|
rowspan: column.rowspan,
|
|
class: normalizeClass(["layui-table-cell", [
|
|
renderFixedClassName(column, columnIndex),
|
|
column.fixed ? `layui-table-fixed-${column.fixed}` : "",
|
|
column.type == "checkbox" ? "layui-table-cell-checkbox" : "",
|
|
column.type == "radio" ? "layui-table-cell-radio" : "",
|
|
column.type == "number" ? "layui-table-cell-number" : ""
|
|
]]),
|
|
style: normalizeStyle([
|
|
{
|
|
textAlign: column.align
|
|
},
|
|
renderFixedStyle(column, columnIndex)
|
|
])
|
|
}, [
|
|
column.type == "checkbox" ? (openBlock(), createBlock(_sfc_main$$, {
|
|
key: 0,
|
|
modelValue: hasChecked.value,
|
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => hasChecked.value = $event),
|
|
"is-indeterminate": !allChecked.value,
|
|
skin: "primary",
|
|
value: "all",
|
|
onChange: changeAll
|
|
}, null, 8, ["modelValue", "is-indeterminate"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createElementVNode("span", null, [
|
|
column.titleSlot ? renderSlot(_ctx.$slots, column.titleSlot, { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(column.title), 1)
|
|
], 64))
|
|
]),
|
|
column.sort ? (openBlock(), createElementBlock("span", _hoisted_16$2, [
|
|
createElementVNode("i", {
|
|
onClick: withModifiers(($event) => sortTable($event, column.key, "asc"), ["stop"]),
|
|
class: "layui-edge layui-table-sort-asc",
|
|
title: "\u5347\u5E8F"
|
|
}, null, 8, _hoisted_17$2),
|
|
createElementVNode("i", {
|
|
onClick: withModifiers(($event) => sortTable($event, column.key, "desc"), ["stop"]),
|
|
class: "layui-edge layui-table-sort-desc",
|
|
title: "\u964D\u5E8F"
|
|
}, null, 8, _hoisted_18$1)
|
|
])) : createCommentVNode("", true)
|
|
], 64))
|
|
], 14, _hoisted_15$2)) : createCommentVNode("", true)
|
|
], 64);
|
|
}), 128))
|
|
]);
|
|
}), 128))
|
|
])
|
|
], 8, _hoisted_13$5)
|
|
], 512)
|
|
], 4),
|
|
createElementVNode("div", {
|
|
class: "layui-table-body layui-table-main",
|
|
style: normalizeStyle({ height: __props.height, maxHeight: __props.maxHeight }),
|
|
ref_key: "tableBody",
|
|
ref: tableBody
|
|
}, [
|
|
tableDataSource.value.length > 0 && __props.loading == false ? (openBlock(), createElementBlock("table", {
|
|
key: 0,
|
|
class: normalizeClass(["layui-table", { "layui-table-even": props.even }]),
|
|
"lay-size": __props.size,
|
|
"lay-skin": __props.skin
|
|
}, [
|
|
createElementVNode("colgroup", null, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tableBodyColumns.value, (column, columnIndex) => {
|
|
return openBlock(), createElementBlock(Fragment, { key: columnIndex }, [
|
|
tableColumnKeys.value.includes(column.key) ? (openBlock(), createElementBlock("col", {
|
|
key: 0,
|
|
width: column.width,
|
|
style: normalizeStyle({
|
|
minWidth: column.minWidth ? column.minWidth : "50px"
|
|
})
|
|
}, null, 12, _hoisted_20$1)) : createCommentVNode("", true)
|
|
], 64);
|
|
}), 128))
|
|
]),
|
|
createElementVNode("tbody", null, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(tableDataSource.value, (children, index2) => {
|
|
return openBlock(), createBlock(_sfc_main$G, {
|
|
key: index2,
|
|
id: __props.id,
|
|
index: index2,
|
|
data: children,
|
|
columns: tableBodyColumns.value,
|
|
"indent-size": __props.indentSize,
|
|
currentIndentSize: currentIndentSize.value,
|
|
tableColumnKeys: tableColumnKeys.value,
|
|
expandSpace: unref(childrenExpandSpace),
|
|
expandIndex: __props.expandIndex,
|
|
cellStyle: __props.cellStyle,
|
|
cellClassName: __props.cellClassName,
|
|
rowStyle: __props.rowStyle,
|
|
rowClassName: __props.rowClassName,
|
|
spanMethod: __props.spanMethod,
|
|
defaultExpandAll: __props.defaultExpandAll,
|
|
getCheckboxProps: __props.getCheckboxProps,
|
|
getRadioProps: __props.getRadioProps,
|
|
expandKeys: tableExpandKeys.value,
|
|
"onUpdate:expandKeys": _cache[4] || (_cache[4] = ($event) => tableExpandKeys.value = $event),
|
|
selectedKeys: tableSelectedKeys.value,
|
|
"onUpdate:selectedKeys": _cache[5] || (_cache[5] = ($event) => tableSelectedKeys.value = $event),
|
|
selectedKey: unref(tableSelectedKey),
|
|
"onUpdate:selectedKey": _cache[6] || (_cache[6] = ($event) => isRef(tableSelectedKey) ? tableSelectedKey.value = $event : null),
|
|
onRow: rowClick,
|
|
onRowDouble: rowDoubleClick,
|
|
onRowContextmenu: rowContextmenu
|
|
}, createSlots({ _: 2 }, [
|
|
renderList(slotsData.value, (name) => {
|
|
return {
|
|
name,
|
|
fn: withCtx(({ data }) => [
|
|
renderSlot(_ctx.$slots, name, { data })
|
|
])
|
|
};
|
|
}),
|
|
unref(slot).expand ? {
|
|
name: "expand",
|
|
fn: withCtx(({ data }) => [
|
|
renderSlot(_ctx.$slots, "expand", { data })
|
|
]),
|
|
key: "0"
|
|
} : void 0
|
|
]), 1032, ["id", "index", "data", "columns", "indent-size", "currentIndentSize", "tableColumnKeys", "expandSpace", "expandIndex", "cellStyle", "cellClassName", "rowStyle", "rowClassName", "spanMethod", "defaultExpandAll", "getCheckboxProps", "getRadioProps", "expandKeys", "selectedKeys", "selectedKey"]);
|
|
}), 128)),
|
|
unref(hasTotalRow) ? (openBlock(), createElementBlock("tr", _hoisted_21$1, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (column, columnIndex) => {
|
|
return openBlock(), createElementBlock(Fragment, { key: columnIndex }, [
|
|
tableColumnKeys.value.includes(column.key) ? (openBlock(), createElementBlock("td", {
|
|
key: 0,
|
|
style: normalizeStyle([
|
|
{
|
|
textAlign: column.align,
|
|
whiteSpace: column.ellipsisTooltip ? "nowrap" : "normal"
|
|
},
|
|
renderFixedStyle(column, columnIndex)
|
|
]),
|
|
class: normalizeClass([
|
|
"layui-table-cell",
|
|
renderFixedClassName(column, columnIndex),
|
|
column.fixed ? `layui-table-fixed-${column.fixed}` : ""
|
|
]),
|
|
innerHTML: renderTotalRowCell(column)
|
|
}, null, 14, _hoisted_22)) : createCommentVNode("", true)
|
|
], 64);
|
|
}), 128))
|
|
])) : createCommentVNode("", true)
|
|
])
|
|
], 10, _hoisted_19$1)) : createCommentVNode("", true),
|
|
tableDataSource.value.length == 0 && __props.loading == false ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createVNode(_sfc_main$R),
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ width: tableBodyEmptyWidth.value })
|
|
}, null, 4)
|
|
], 64)) : createCommentVNode("", true),
|
|
__props.loading == true ? (openBlock(), createElementBlock("div", _hoisted_23, _hoisted_25)) : createCommentVNode("", true)
|
|
], 4),
|
|
unref(slot).footer ? (openBlock(), createElementBlock("div", _hoisted_26, [
|
|
renderSlot(_ctx.$slots, "footer")
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
__props.page && __props.page.total > 0 ? (openBlock(), createElementBlock("div", _hoisted_27, [
|
|
createVNode(_sfc_main$E, {
|
|
total: __props.page.total,
|
|
pages: __props.page.pages,
|
|
theme: __props.page.theme,
|
|
limits: __props.page.limits,
|
|
showSkip: __props.page.showSkip,
|
|
"show-page": __props.page.showPage,
|
|
showRefresh: __props.page.showRefresh,
|
|
showLimit: __props.page.showLimit,
|
|
showCount: __props.page.showCount,
|
|
current: __props.page.current,
|
|
"onUpdate:current": _cache[7] || (_cache[7] = ($event) => __props.page.current = $event),
|
|
limit: __props.page.limit,
|
|
"onUpdate:limit": _cache[8] || (_cache[8] = ($event) => __props.page.limit = $event),
|
|
onChange: change3
|
|
}, null, 8, ["total", "pages", "theme", "limits", "showSkip", "show-page", "showRefresh", "showLimit", "showCount", "current", "limit"])
|
|
])) : createCommentVNode("", true)
|
|
], 2)
|
|
], 512);
|
|
};
|
|
}
|
|
});
|
|
const component$u = withInstall(_sfc_main$D);
|
|
const component$t = withInstall(_sfc_main$F);
|
|
var index$i = /* @__PURE__ */ (() => ":root{--button-primary-text-color: #fff;--button-primary-background-color: var(--global-primary-color);--button-primary-border-color: var(--global-primary-color);--button-normal-text-color: #fff;--button-normal-background-color: var(--global-normal-color);--button-normal-border-color: var(--global-normal-color);--button-warm-text-color: #fff;--button-warm-background-color: var(--global-warm-color);--button-warm-border-color: var(--global-warm-color);--button-danger-text-color: #fff;--button-danger-background-color: var(--global-danger-color);--button-danger-border-color: var(--global-danger-color);--button-border-radius: var(--global-border-radius);--button-border-color: var(--global-neutral-color-6);--button-background-color: 0 0;--button-text-color: #666}.layui-btn{height:38px;line-height:36px;padding:0 18px;font-size:14px;text-align:center;white-space:nowrap;color:var(--button-text-color);background:var(--button-background-color);border-radius:var(--button-border-radius);border-color:var(--button-border-color);border-width:1px;border-style:solid;cursor:pointer}.layui-btn-primary{color:var(--button-primary-text-color);background-color:var(--button-primary-background-color);border-color:var(--button-primary-border-color)}.layui-btn-normal{color:var(--button-normal-text-color);background-color:var(--button-normal-background-color);border-color:var(--button-normal-border-color)}.layui-btn-warm{color:var(--button-warm-text-color);background-color:var(--button-warm-background-color);border-color:var(--button-warm-border-color)}.layui-btn-danger{color:var(--button-danger-text-color);background-color:var(--button-danger-background-color);border-color:var(--button-danger-border-color)}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80)}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:12px!important}.layui-btn-fluid{width:100%}.layui-btn-radius{border-radius:100px}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border-color:#eee!important;background-color:#fbfbfb!important;color:#d2d2d2!important;cursor:not-allowed!important;opacity:1}.layui-btn+.layui-btn{margin-left:10px}.layui-btn .layui-icon{padding:0 2px;vertical-align:middle\\ ;vertical-align:bottom}.layui-checkbox[size=lg]{height:18px;line-height:18px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:18px;height:18px;font-size:16px}.layui-checkbox[size=lg] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:18px;line-height:18px;font-size:16px}.layui-checkbox[size=md]{height:16px;line-height:16px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:16px;height:16px;font-size:14px}.layui-checkbox[size=md] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:16px;line-height:16px;font-size:14px}.layui-checkbox[size=sm]{height:14px;line-height:14px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:14px;height:14px;font-size:12px}.layui-checkbox[size=sm] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:14px;line-height:14px;font-size:12px}.layui-checkbox[size=xs]{height:12px;line-height:12px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-icon{width:12px;height:12px;font-size:10px}.layui-checkbox[size=xs] .layui-form-checkbox[lay-skin=primary] .layui-checkbox-label{height:12px;line-height:12px;font-size:10px}.layui-checkbox input[type=checkbox]{display:none}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:var(--global-neutral-color-6);color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:var(--global-neutral-color-8)}.layui-form-checkbox i{top:0;right:0;width:29px;height:28px;position:absolute;border:1px solid var(--global-neutral-color-6);border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:var(--global-neutral-color-8);color:var(--global-neutral-color-8)}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid var(--global-neutral-color-6);font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:var(--global-checked-color);color:#fff}.layui-form-checked,.layui-form-checked:hover{border-color:var(--global-checked-color)}.layui-form-checked i,.layui-form-checked:hover i{color:var(--global-checked-color)}.layui-form-checked span,.layui-form-checked:hover span{background-color:var(--global-checked-color)}.layui-form-checked[lay-skin=primary] i{border-color:var(--global-checked-color);background-color:var(--global-checked-color);color:#fff}.layui-form-checked[lay-skin=primary] span{background:0 0!important}.layui-checkbox-disabled[lay-skin=primary] span{background:0 0!important;color:var(--global-neutral-color-8)!important}.layui-checkbox-disabled[lay-skin=primary]:hover i{border-color:var(--global-neutral-color-6)}.layui-checkbox-disabled,.layui-checkbox-disabled i{border-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled span{background-color:var(--global-neutral-color-3)!important}.layui-checkbox-disabled em{color:var(--global-neutral-color-6)!important}.layui-checkbox-disabled:hover i{color:#fff!important}.layui-checkbox-disabled .layui-icon-ok,.layui-checkbox-disabled .layui-icon-subtraction{background-color:var(--global-neutral-color-3)!important;border-color:var(--global-neutral-color-3)!important}:root{--transfer-box-border-radius: var(--global-border-radius)}.layui-transfer{display:flex}.layui-transfer .layui-btn+.layui-btn{margin-left:0}.layui-transfer-box,.layui-transfer-header,.layui-transfer-search{border-width:0;border-style:solid;border-color:#eee}.layui-transfer-box{position:relative;border-width:1px;display:flex;flex-direction:column;border-radius:var(--transfer-box-border-radius);background-color:#fff}.layui-transfer-box .layui-form-checkbox{width:100%;margin:0!important}.layui-transfer-header{height:38px;line-height:38px;padding:0 10px;border-bottom-width:1px;flex:0}.layui-transfer-search{position:relative;padding:10px;border-bottom-width:1px;flex:0}.layui-transfer-search .layui-input{height:35px;padding-left:2px;font-size:13px;letter-spacing:1px}.layui-transfer-search .layui-icon-search{color:#666}.layui-transfer-active{margin:0 15px}.layui-transfer-active .layui-btn{display:block;margin:0;padding:0 15px;background-color:#5fb878;border-color:#5fb878;color:#fff}.layui-transfer-active .layui-btn-disabled{background-color:#fbfbfb;border-color:#eee;color:#d2d2d2}.layui-transfer-active .layui-btn:first-child{margin-bottom:15px}.layui-transfer-active .layui-btn .layui-icon{margin:0;font-size:14px!important}.layui-transfer-data{padding:5px 0;overflow:auto;flex:1}.layui-transfer-data li{height:32px;line-height:32px;padding:0 10px}.layui-transfer-data li:hover{background-color:#f6f6f6;transition:.5s all}.layui-transfer-data .layui-none{padding:15px 10px;text-align:center;color:#999}.layui-transfer-active{display:flex;align-items:center;justify-items:center}.layui-transfer-footer{flex:0;height:38px;line-height:38px;border-top:1px solid #eee;padding:0 10px}\n")();
|
|
const _hoisted_1$t = { class: "layui-transfer layui-form layui-border-box" };
|
|
const _hoisted_2$q = { class: "layui-transfer-header" };
|
|
const _hoisted_3$n = {
|
|
key: 0,
|
|
class: "layui-transfer-search"
|
|
};
|
|
const _hoisted_4$i = { class: "layui-transfer-data" };
|
|
const _hoisted_5$d = {
|
|
key: 1,
|
|
class: "layui-transfer-footer"
|
|
};
|
|
const _hoisted_6$b = { class: "layui-transfer-active" };
|
|
const _hoisted_7$a = { class: "layui-transfer-button-group" };
|
|
const _hoisted_8$7 = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-next" }, null, -1);
|
|
const _hoisted_9$5 = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-icon-prev" }, null, -1);
|
|
const _hoisted_10$5 = { class: "layui-transfer-header" };
|
|
const _hoisted_11$5 = {
|
|
key: 0,
|
|
class: "layui-transfer-search"
|
|
};
|
|
const _hoisted_12$4 = { class: "layui-transfer-data" };
|
|
const _hoisted_13$4 = {
|
|
key: 1,
|
|
class: "layui-transfer-footer"
|
|
};
|
|
const __default__$A = {
|
|
name: "LayTransfer"
|
|
};
|
|
const _sfc_main$C = defineComponent({
|
|
...__default__$A,
|
|
props: {
|
|
id: { default: "id" },
|
|
title: { default: () => ["\u4E3B\u5217\u8868", "\u526F\u5217\u8868"] },
|
|
width: { default: "200px" },
|
|
height: { default: "360px" },
|
|
showSearch: { default: false },
|
|
dataSource: { default: () => [] },
|
|
modelValue: { default: () => [] }
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const slots = useSlots();
|
|
const leftDataSource = ref([]);
|
|
const rightDataSource = ref([]);
|
|
const _leftDataSource = ref([]);
|
|
const _rightDataSource = ref([]);
|
|
const leftSelectedKeys = ref([]);
|
|
const rightSelectedKeys = ref([]);
|
|
const allLeftChecked = ref(false);
|
|
const allRightChecked = ref(false);
|
|
const hasLeftChecked = ref(false);
|
|
const hasRightChecked = ref(false);
|
|
const allLeftChange = (isChecked) => {
|
|
if (isChecked) {
|
|
const datasources = leftDataSource.value.filter((item) => {
|
|
return !item.disabled;
|
|
});
|
|
const ids = datasources.map((item) => {
|
|
return item[props.id];
|
|
});
|
|
leftSelectedKeys.value = [...ids];
|
|
} else {
|
|
leftSelectedKeys.value = [];
|
|
}
|
|
};
|
|
watch(() => [props.modelValue, props.dataSource], () => {
|
|
let targetDataSource = [];
|
|
props.dataSource.forEach((ds) => {
|
|
if (props.modelValue.includes(ds[props.id])) {
|
|
targetDataSource.push(ds);
|
|
}
|
|
});
|
|
leftDataSource.value = props.dataSource.filter((item) => !props.modelValue.includes(item[props.id]));
|
|
_leftDataSource.value = props.dataSource.filter((item) => !props.modelValue.includes(item[props.id]));
|
|
rightDataSource.value = [...targetDataSource];
|
|
_rightDataSource.value = [...targetDataSource];
|
|
}, { immediate: true });
|
|
watch(leftSelectedKeys, () => {
|
|
if (leftDataSource.value.length === leftSelectedKeys.value.length && leftDataSource.value.length != 0) {
|
|
allLeftChecked.value = true;
|
|
} else {
|
|
allLeftChecked.value = false;
|
|
}
|
|
if (leftSelectedKeys.value.length > 0 && leftDataSource.value.length != 0) {
|
|
hasLeftChecked.value = true;
|
|
} else {
|
|
hasLeftChecked.value = false;
|
|
}
|
|
}, { deep: true });
|
|
const allRightChange = (checked) => {
|
|
if (checked) {
|
|
const datasources = rightDataSource.value.filter((item) => {
|
|
return !item.disabled;
|
|
});
|
|
const ids = datasources.map((item) => {
|
|
return item[props.id];
|
|
});
|
|
rightSelectedKeys.value = [...ids];
|
|
} else {
|
|
rightSelectedKeys.value = [];
|
|
}
|
|
};
|
|
watch(rightSelectedKeys, () => {
|
|
if (rightDataSource.value.length === rightSelectedKeys.value.length && rightDataSource.value.length > 0) {
|
|
allRightChecked.value = true;
|
|
} else {
|
|
allRightChecked.value = false;
|
|
}
|
|
if (rightSelectedKeys.value.length > 0 && rightDataSource.value.length != 0) {
|
|
hasRightChecked.value = true;
|
|
} else {
|
|
hasRightChecked.value = false;
|
|
}
|
|
}, { deep: true });
|
|
const add2 = () => {
|
|
if (leftSelectedKeys.value.length === 0) {
|
|
return;
|
|
}
|
|
let targetKeys = [];
|
|
leftDataSource.value.forEach((item) => {
|
|
if (leftSelectedKeys.value.indexOf(item[props.id]) != -1) {
|
|
targetKeys.push(item[props.id]);
|
|
}
|
|
});
|
|
rightDataSource.value.forEach((item) => {
|
|
targetKeys.push(item[props.id]);
|
|
});
|
|
emits("change", targetKeys);
|
|
emits("update:modelValue", targetKeys);
|
|
leftSelectedKeys.value = [];
|
|
};
|
|
const remove = () => {
|
|
if (rightSelectedKeys.value.length === 0) {
|
|
return;
|
|
}
|
|
let targetKeys = [];
|
|
rightDataSource.value.forEach((item) => {
|
|
if (rightSelectedKeys.value.indexOf(item[props.id]) == -1) {
|
|
targetKeys.push(item[props.id]);
|
|
}
|
|
});
|
|
emits("change", targetKeys);
|
|
emits("update:modelValue", targetKeys);
|
|
rightSelectedKeys.value = [];
|
|
};
|
|
const searchLeft = (e) => {
|
|
if (e === "") {
|
|
leftDataSource.value = _leftDataSource.value;
|
|
}
|
|
leftDataSource.value = _leftDataSource.value.filter((item) => {
|
|
if (item.title.indexOf(e) != -1) {
|
|
return item;
|
|
}
|
|
});
|
|
};
|
|
const searchRight = (e) => {
|
|
if (e === "") {
|
|
rightDataSource.value = _rightDataSource.value;
|
|
}
|
|
rightDataSource.value = _rightDataSource.value.filter((item) => {
|
|
if (item.title.indexOf(e) != -1) {
|
|
return item;
|
|
}
|
|
});
|
|
};
|
|
const boxStyle = computed$1(() => {
|
|
return {
|
|
width: props.width,
|
|
height: props.height
|
|
};
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", null, [
|
|
createElementVNode("div", _hoisted_1$t, [
|
|
createElementVNode("div", {
|
|
class: "layui-transfer-box",
|
|
style: normalizeStyle(unref(boxStyle))
|
|
}, [
|
|
createElementVNode("div", _hoisted_2$q, [
|
|
createVNode(_sfc_main$$, {
|
|
modelValue: hasLeftChecked.value,
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => hasLeftChecked.value = $event),
|
|
"is-indeterminate": !allLeftChecked.value,
|
|
skin: "primary",
|
|
value: "all",
|
|
onChange: allLeftChange
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString$1(__props.title[0]), 1)
|
|
]),
|
|
_: 1
|
|
}, 8, ["modelValue", "is-indeterminate"])
|
|
]),
|
|
__props.showSearch ? (openBlock(), createElementBlock("div", _hoisted_3$n, [
|
|
createVNode(_sfc_main$1v, {
|
|
"prefix-icon": "layui-icon-search",
|
|
onInput: searchLeft,
|
|
placeholder: "\u5173\u952E\u8BCD\u641C\u7D22"
|
|
})
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("ul", _hoisted_4$i, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(leftDataSource.value, (dataSource) => {
|
|
return openBlock(), createElementBlock("li", { key: dataSource }, [
|
|
createVNode(_sfc_main$$, {
|
|
modelValue: leftSelectedKeys.value,
|
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => leftSelectedKeys.value = $event),
|
|
skin: "primary",
|
|
disabled: dataSource.disabled,
|
|
value: dataSource[__props.id]
|
|
}, {
|
|
default: withCtx(() => [
|
|
unref(slots).item ? renderSlot(_ctx.$slots, "item", {
|
|
key: 0,
|
|
data: dataSource
|
|
}) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(dataSource.title), 1)
|
|
], 64))
|
|
]),
|
|
_: 2
|
|
}, 1032, ["modelValue", "disabled", "value"])
|
|
]);
|
|
}), 128))
|
|
]),
|
|
unref(slots).leftFooter ? (openBlock(), createElementBlock("div", _hoisted_5$d, [
|
|
renderSlot(_ctx.$slots, "leftFooter")
|
|
])) : createCommentVNode("", true)
|
|
], 4),
|
|
createElementVNode("div", _hoisted_6$b, [
|
|
createElementVNode("div", _hoisted_7$a, [
|
|
createVNode(_sfc_main$1C, {
|
|
type: "primary",
|
|
disabled: leftSelectedKeys.value.length == 0,
|
|
onClick: add2
|
|
}, {
|
|
default: withCtx(() => [
|
|
_hoisted_8$7
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled"]),
|
|
createVNode(_sfc_main$1C, {
|
|
type: "primary",
|
|
disabled: rightSelectedKeys.value.length == 0,
|
|
onClick: remove
|
|
}, {
|
|
default: withCtx(() => [
|
|
_hoisted_9$5
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled"])
|
|
])
|
|
]),
|
|
createElementVNode("div", {
|
|
class: "layui-transfer-box",
|
|
style: normalizeStyle(unref(boxStyle))
|
|
}, [
|
|
createElementVNode("div", _hoisted_10$5, [
|
|
createVNode(_sfc_main$$, {
|
|
modelValue: hasRightChecked.value,
|
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => hasRightChecked.value = $event),
|
|
"is-indeterminate": !allRightChecked.value,
|
|
skin: "primary",
|
|
value: "all",
|
|
onChange: allRightChange
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString$1(__props.title[1]), 1)
|
|
]),
|
|
_: 1
|
|
}, 8, ["modelValue", "is-indeterminate"])
|
|
]),
|
|
__props.showSearch ? (openBlock(), createElementBlock("div", _hoisted_11$5, [
|
|
createVNode(_sfc_main$1v, {
|
|
"prefix-icon": "layui-icon-search",
|
|
onInput: searchRight,
|
|
placeholder: "\u5173\u952E\u8BCD\u641C\u7D22"
|
|
})
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("ul", _hoisted_12$4, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(rightDataSource.value, (dataSource) => {
|
|
return openBlock(), createElementBlock("li", { key: dataSource }, [
|
|
createVNode(_sfc_main$$, {
|
|
skin: "primary",
|
|
modelValue: rightSelectedKeys.value,
|
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => rightSelectedKeys.value = $event),
|
|
disabled: dataSource.disabled,
|
|
value: dataSource[__props.id]
|
|
}, {
|
|
default: withCtx(() => [
|
|
unref(slots).item ? renderSlot(_ctx.$slots, "item", {
|
|
key: 0,
|
|
data: dataSource
|
|
}) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(dataSource.title), 1)
|
|
], 64))
|
|
]),
|
|
_: 2
|
|
}, 1032, ["modelValue", "disabled", "value"])
|
|
]);
|
|
}), 128))
|
|
]),
|
|
unref(slots).rightFooter ? (openBlock(), createElementBlock("div", _hoisted_13$4, [
|
|
renderSlot(_ctx.$slots, "rightFooter")
|
|
])) : createCommentVNode("", true)
|
|
], 4)
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$s = withInstall(_sfc_main$C);
|
|
var index$h = /* @__PURE__ */ (() => '.layui-popper{position:fixed;padding:10px;border-radius:3px;word-wrap:break-word;min-width:12px;min-height:12px;font-size:14px;box-sizing:border-box;box-shadow:0 2px 12px #00000026;background-color:#fff;color:#3a3a3a;border:1px solid #cecece;max-width:300px;z-index:99999}.layui-popper[position=top]{margin-bottom:6px}.layui-popper[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#cecece}.layui-popper[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#fff}.layui-popper[position=bottom]{margin-top:6px}.layui-popper[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#cecece}.layui-popper[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#fff}.layui-popper[position=right]{margin-left:6px}.layui-popper[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#cecece}.layui-popper[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#fff}.layui-popper[position=left]{margin-right:6px}.layui-popper[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#cecece}.layui-popper[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#fff}.layui-popper[position=top] .layui-popper-arrow,.layui-popper[position=bottom] .layui-popper-arrow{left:-moz-calc(44%);left:-webkit-calc(44%);left:calc(50% - 6px)}.layui-popper[position=left] .layui-popper-arrow,.layui-popper[position=right] .layui-popper-arrow{top:-moz-calc(44%);top:-webkit-calc(44%);top:calc(50% - 6px)}.layui-popper:after{content:" ";position:absolute;display:block}.layui-popper[position=top]:after{bottom:-7px;left:0;width:100%;height:7px}.layui-popper[position=bottom]:after{top:-7px;left:0;width:100%;height:7px}.layui-popper[position=left]:after{right:-7px;bottom:0;height:100%;width:7px}.layui-popper[position=right]:after{left:-7px;bottom:0;height:100%;width:7px}.layui-popper .layui-popper-arrow,.layui-popper .layui-popper-arrow:after{position:absolute;display:block;width:0;height:0;border-width:6px;border-style:solid;border-color:transparent}.layui-popper .layui-popper-arrow:after{content:" "}.layui-popper.layui-dark{background-color:#353535;color:#fff;border:1px solid #353535}.layui-popper.layui-dark[position=top]{margin-bottom:6px}.layui-popper.layui-dark[position=top] .layui-popper-arrow{bottom:-6px;border-bottom-width:0;border-top-color:#353535}.layui-popper.layui-dark[position=top] .layui-popper-arrow:after{bottom:1px;border-bottom-width:0;margin-left:-6px;border-top-color:#353535}.layui-popper.layui-dark[position=bottom]{margin-top:6px}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow{top:-6px;border-top-width:0;border-bottom-color:#353535}.layui-popper.layui-dark[position=bottom] .layui-popper-arrow:after{top:1px;border-top-width:0;margin-left:-6px;border-bottom-color:#353535}.layui-popper.layui-dark[position=right]{margin-left:6px}.layui-popper.layui-dark[position=right] .layui-popper-arrow{left:-6px;border-left-width:0;border-right-color:#353535}.layui-popper.layui-dark[position=right] .layui-popper-arrow:after{left:1px;border-left-width:0;margin-top:-6px;border-right-color:#353535}.layui-popper.layui-dark[position=left]{margin-right:6px}.layui-popper.layui-dark[position=left] .layui-popper-arrow{right:-6px;border-right-width:0;border-left-color:#353535}.layui-popper.layui-dark[position=left] .layui-popper-arrow:after{right:1px;border-right-width:0;margin-top:-6px;border-left-color:#353535}.layui-slider-v{width:100%;height:18px;margin-bottom:8px}.layui-slider-track-v{width:100%;height:16px;position:relative;cursor:pointer;z-index:30}.layui-slider-btn-v{width:12px;height:12px;background-color:#fff;position:absolute;border:2px solid var(--global-primary-color);border-radius:50%;cursor:pointer;left:0%;z-index:2}.layui-slider-rate-v{width:0%;height:4px;position:absolute;top:6px;left:0;background-color:var(--global-primary-color);z-index:1}.layui-slider-line-v{width:100%;height:4px;background-color:#ccc;position:absolute;top:6px}.layui-slider-disabled{cursor:not-allowed!important}.layui-slider-disabled .disable-line{background-color:#c2c2c2!important}.layui-slider-disabled .disable-btn{border:2px solid #333333}.layui-slider-disabled-rate{background-color:var(--global-primary-color)!important}.layui-slider-vertical{width:18px;height:200px}.layui-slider-vertical-track{width:100%;height:100%;position:relative}.layui-slider-vertical-btn{width:12px;height:12px;background-color:#fff;position:absolute;border:2px solid var(--global-primary-color);border-radius:50%;cursor:pointer;bottom:0%;left:1px;z-index:2}.layui-slider-vertical-rate{width:4px;height:30%;position:absolute;bottom:0;left:7px;background-color:var(--global-primary-color);z-index:1}.layui-slider-vertical-line{width:4px;height:100%;position:absolute;left:7px;background-color:#eee}.layui-slider-srange,.layui-slider-vrange{width:100%;height:100%;position:relative;cursor:pointer}.layui-slider-dots{margin-top:4px;width:8px;height:8px;background-color:#fff;border-radius:5px;position:absolute;top:0;z-index:1}.layui-slider-vertical-dots{width:8px;height:8px;background-color:#fff;border-radius:5px;position:absolute;z-index:1;margin-left:5px}\n')();
|
|
const traps = {
|
|
mousemoveoutside: /* @__PURE__ */ new WeakMap(),
|
|
clickoutside: /* @__PURE__ */ new WeakMap()
|
|
};
|
|
function createTrapHandler(name, el, originalHandler) {
|
|
if (name === "mousemoveoutside") {
|
|
const moveHandler = (e) => {
|
|
if (el.contains(e.target))
|
|
return;
|
|
originalHandler(e);
|
|
};
|
|
return {
|
|
mousemove: moveHandler,
|
|
touchstart: moveHandler
|
|
};
|
|
} else if (name === "clickoutside") {
|
|
let mouseDownOutside = false;
|
|
const downHandler = (e) => {
|
|
mouseDownOutside = !el.contains(e.target);
|
|
};
|
|
const upHanlder = (e) => {
|
|
if (!mouseDownOutside)
|
|
return;
|
|
if (el.contains(e.target))
|
|
return;
|
|
originalHandler(e);
|
|
};
|
|
return {
|
|
mousedown: downHandler,
|
|
mouseup: upHanlder,
|
|
touchstart: downHandler,
|
|
touchend: upHanlder
|
|
};
|
|
}
|
|
console.error(`[evtd/create-trap-handler]: name \`${name}\` is invalid. This could be a bug of evtd.`);
|
|
return {};
|
|
}
|
|
function ensureTrapHandlers(name, el, handler) {
|
|
const handlers2 = traps[name];
|
|
let elHandlers = handlers2.get(el);
|
|
if (elHandlers === void 0) {
|
|
handlers2.set(el, elHandlers = /* @__PURE__ */ new WeakMap());
|
|
}
|
|
let trapHandler = elHandlers.get(handler);
|
|
if (trapHandler === void 0) {
|
|
elHandlers.set(handler, trapHandler = createTrapHandler(name, el, handler));
|
|
}
|
|
return trapHandler;
|
|
}
|
|
function trapOn(name, el, handler, options) {
|
|
if (name === "mousemoveoutside" || name === "clickoutside") {
|
|
const trapHandlers = ensureTrapHandlers(name, el, handler);
|
|
Object.keys(trapHandlers).forEach((key) => {
|
|
on(key, document, trapHandlers[key], options);
|
|
});
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function trapOff(name, el, handler, options) {
|
|
if (name === "mousemoveoutside" || name === "clickoutside") {
|
|
const trapHandlers = ensureTrapHandlers(name, el, handler);
|
|
Object.keys(trapHandlers).forEach((key) => {
|
|
off(key, document, trapHandlers[key], options);
|
|
});
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
function createDelegate() {
|
|
if (typeof window === "undefined") {
|
|
return {
|
|
on: () => {
|
|
},
|
|
off: () => {
|
|
}
|
|
};
|
|
}
|
|
const propagationStopped = /* @__PURE__ */ new WeakMap();
|
|
const immediatePropagationStopped = /* @__PURE__ */ new WeakMap();
|
|
function trackPropagation() {
|
|
propagationStopped.set(this, true);
|
|
}
|
|
function trackImmediate() {
|
|
propagationStopped.set(this, true);
|
|
immediatePropagationStopped.set(this, true);
|
|
}
|
|
function spy(event, propName, fn) {
|
|
const source = event[propName];
|
|
event[propName] = function() {
|
|
fn.apply(event, arguments);
|
|
return source.apply(event, arguments);
|
|
};
|
|
return event;
|
|
}
|
|
function unspy(event, propName) {
|
|
event[propName] = Event.prototype[propName];
|
|
}
|
|
const currentTargets = /* @__PURE__ */ new WeakMap();
|
|
const currentTargetDescriptor = Object.getOwnPropertyDescriptor(Event.prototype, "currentTarget");
|
|
function getCurrentTarget() {
|
|
var _a2;
|
|
return (_a2 = currentTargets.get(this)) !== null && _a2 !== void 0 ? _a2 : null;
|
|
}
|
|
function defineCurrentTarget(event, getter) {
|
|
if (currentTargetDescriptor === void 0)
|
|
return;
|
|
Object.defineProperty(event, "currentTarget", {
|
|
configurable: true,
|
|
enumerable: true,
|
|
get: getter !== null && getter !== void 0 ? getter : currentTargetDescriptor.get
|
|
});
|
|
}
|
|
const phaseToTypeToElToHandlers = {
|
|
bubble: {},
|
|
capture: {}
|
|
};
|
|
const typeToWindowEventHandlers = {};
|
|
function createUnifiedHandler() {
|
|
const delegeteHandler = function(e) {
|
|
const { type: type4, eventPhase, target, bubbles } = e;
|
|
if (eventPhase === 2)
|
|
return;
|
|
const phase = eventPhase === 1 ? "capture" : "bubble";
|
|
let cursor = target;
|
|
const path = [];
|
|
while (true) {
|
|
if (cursor === null)
|
|
cursor = window;
|
|
path.push(cursor);
|
|
if (cursor === window) {
|
|
break;
|
|
}
|
|
cursor = cursor.parentNode || null;
|
|
}
|
|
const captureElToHandlers = phaseToTypeToElToHandlers.capture[type4];
|
|
const bubbleElToHandlers = phaseToTypeToElToHandlers.bubble[type4];
|
|
spy(e, "stopPropagation", trackPropagation);
|
|
spy(e, "stopImmediatePropagation", trackImmediate);
|
|
defineCurrentTarget(e, getCurrentTarget);
|
|
if (phase === "capture") {
|
|
if (captureElToHandlers === void 0)
|
|
return;
|
|
for (let i = path.length - 1; i >= 0; --i) {
|
|
if (propagationStopped.has(e))
|
|
break;
|
|
const target2 = path[i];
|
|
const handlers2 = captureElToHandlers.get(target2);
|
|
if (handlers2 !== void 0) {
|
|
currentTargets.set(e, target2);
|
|
for (const handler of handlers2) {
|
|
if (immediatePropagationStopped.has(e))
|
|
break;
|
|
handler(e);
|
|
}
|
|
}
|
|
if (i === 0 && !bubbles && bubbleElToHandlers !== void 0) {
|
|
const bubbleHandlers = bubbleElToHandlers.get(target2);
|
|
if (bubbleHandlers !== void 0) {
|
|
for (const handler of bubbleHandlers) {
|
|
if (immediatePropagationStopped.has(e))
|
|
break;
|
|
handler(e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else if (phase === "bubble") {
|
|
if (bubbleElToHandlers === void 0)
|
|
return;
|
|
for (let i = 0; i < path.length; ++i) {
|
|
if (propagationStopped.has(e))
|
|
break;
|
|
const target2 = path[i];
|
|
const handlers2 = bubbleElToHandlers.get(target2);
|
|
if (handlers2 !== void 0) {
|
|
currentTargets.set(e, target2);
|
|
for (const handler of handlers2) {
|
|
if (immediatePropagationStopped.has(e))
|
|
break;
|
|
handler(e);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
unspy(e, "stopPropagation");
|
|
unspy(e, "stopImmediatePropagation");
|
|
defineCurrentTarget(e);
|
|
};
|
|
delegeteHandler.displayName = "evtdUnifiedHandler";
|
|
return delegeteHandler;
|
|
}
|
|
function createUnifiedWindowEventHandler() {
|
|
const delegateHandler = function(e) {
|
|
const { type: type4, eventPhase } = e;
|
|
if (eventPhase !== 2)
|
|
return;
|
|
const handlers2 = typeToWindowEventHandlers[type4];
|
|
if (handlers2 === void 0)
|
|
return;
|
|
handlers2.forEach((handler) => handler(e));
|
|
};
|
|
delegateHandler.displayName = "evtdUnifiedWindowEventHandler";
|
|
return delegateHandler;
|
|
}
|
|
const unifiedHandler = createUnifiedHandler();
|
|
const unfiendWindowEventHandler = createUnifiedWindowEventHandler();
|
|
function ensureElToHandlers(phase, type4) {
|
|
const phaseHandlers = phaseToTypeToElToHandlers[phase];
|
|
if (phaseHandlers[type4] === void 0) {
|
|
phaseHandlers[type4] = /* @__PURE__ */ new Map();
|
|
window.addEventListener(type4, unifiedHandler, phase === "capture");
|
|
}
|
|
return phaseHandlers[type4];
|
|
}
|
|
function ensureWindowEventHandlers(type4) {
|
|
const windowEventHandlers = typeToWindowEventHandlers[type4];
|
|
if (windowEventHandlers === void 0) {
|
|
typeToWindowEventHandlers[type4] = /* @__PURE__ */ new Set();
|
|
window.addEventListener(type4, unfiendWindowEventHandler);
|
|
}
|
|
return typeToWindowEventHandlers[type4];
|
|
}
|
|
function ensureHandlers(elToHandlers, el) {
|
|
let elHandlers = elToHandlers.get(el);
|
|
if (elHandlers === void 0) {
|
|
elToHandlers.set(el, elHandlers = /* @__PURE__ */ new Set());
|
|
}
|
|
return elHandlers;
|
|
}
|
|
function handlerExist(el, phase, type4, handler) {
|
|
const elToHandlers = phaseToTypeToElToHandlers[phase][type4];
|
|
if (elToHandlers !== void 0) {
|
|
const handlers2 = elToHandlers.get(el);
|
|
if (handlers2 !== void 0) {
|
|
if (handlers2.has(handler))
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function windowEventHandlerExist(type4, handler) {
|
|
const handlers2 = typeToWindowEventHandlers[type4];
|
|
if (handlers2 !== void 0) {
|
|
if (handlers2.has(handler)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function on2(type4, el, handler, options) {
|
|
let mergedHandler;
|
|
if (typeof options === "object" && options.once === true) {
|
|
mergedHandler = (e) => {
|
|
off2(type4, el, mergedHandler, options);
|
|
handler(e);
|
|
};
|
|
} else {
|
|
mergedHandler = handler;
|
|
}
|
|
const trapped = trapOn(type4, el, mergedHandler, options);
|
|
if (trapped)
|
|
return;
|
|
const phase = options === true || typeof options === "object" && options.capture === true ? "capture" : "bubble";
|
|
const elToHandlers = ensureElToHandlers(phase, type4);
|
|
const handlers2 = ensureHandlers(elToHandlers, el);
|
|
if (!handlers2.has(mergedHandler))
|
|
handlers2.add(mergedHandler);
|
|
if (el === window) {
|
|
const windowEventHandlers = ensureWindowEventHandlers(type4);
|
|
if (!windowEventHandlers.has(mergedHandler)) {
|
|
windowEventHandlers.add(mergedHandler);
|
|
}
|
|
}
|
|
}
|
|
function off2(type4, el, handler, options) {
|
|
const trapped = trapOff(type4, el, handler, options);
|
|
if (trapped)
|
|
return;
|
|
const capture = options === true || typeof options === "object" && options.capture === true;
|
|
const phase = capture ? "capture" : "bubble";
|
|
const elToHandlers = ensureElToHandlers(phase, type4);
|
|
const handlers2 = ensureHandlers(elToHandlers, el);
|
|
if (el === window) {
|
|
const mirrorPhase = capture ? "bubble" : "capture";
|
|
if (!handlerExist(el, mirrorPhase, type4, handler) && windowEventHandlerExist(type4, handler)) {
|
|
const windowEventHandlers = typeToWindowEventHandlers[type4];
|
|
windowEventHandlers.delete(handler);
|
|
if (windowEventHandlers.size === 0) {
|
|
window.removeEventListener(type4, unfiendWindowEventHandler);
|
|
typeToWindowEventHandlers[type4] = void 0;
|
|
}
|
|
}
|
|
}
|
|
if (handlers2.has(handler))
|
|
handlers2.delete(handler);
|
|
if (handlers2.size === 0) {
|
|
elToHandlers.delete(el);
|
|
}
|
|
if (elToHandlers.size === 0) {
|
|
window.removeEventListener(type4, unifiedHandler, phase === "capture");
|
|
phaseToTypeToElToHandlers[phase][type4] = void 0;
|
|
}
|
|
}
|
|
return {
|
|
on: on2,
|
|
off: off2
|
|
};
|
|
}
|
|
const { on, off } = createDelegate();
|
|
function throttle(func) {
|
|
let timer = null;
|
|
return function(args) {
|
|
if (!timer) {
|
|
timer = setTimeout(() => {
|
|
timer = null;
|
|
func(args);
|
|
}, 30);
|
|
}
|
|
};
|
|
}
|
|
function handle_select(e) {
|
|
e.preventDefault();
|
|
}
|
|
function makeDots(props) {
|
|
if (props.step === 0)
|
|
return [];
|
|
let val = 0;
|
|
let dots = [0];
|
|
let count = Math.floor(100 / props.step) - 1;
|
|
for (let i = 0; i < count; i++) {
|
|
val += props.step;
|
|
dots.push(val);
|
|
}
|
|
dots.push(100);
|
|
return dots;
|
|
}
|
|
const _hoisted_1$s = ["onMousedown"];
|
|
const _hoisted_2$p = /* @__PURE__ */ createElementVNode("div", { class: "layui-slider-line-v" }, null, -1);
|
|
const _hoisted_3$m = ["onClick"];
|
|
const __default__$z = {
|
|
name: "StandardVue"
|
|
};
|
|
const _sfc_main$B = defineComponent({
|
|
...__default__$z,
|
|
props: {
|
|
val: { default: 0 },
|
|
disabled: { type: Boolean, default: false },
|
|
step: { default: 0 },
|
|
min: { default: 0 },
|
|
max: { default: 100 },
|
|
showDots: { type: Boolean, default: false }
|
|
},
|
|
emits: ["link-val-hook"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const moveAction = throttle(standardMove);
|
|
function handle_mouseup() {
|
|
off("selectstart", document, handle_select);
|
|
off("mouseup", window, handle_mouseup);
|
|
off("mousemove", window, moveAction);
|
|
tooptipHide.value = true;
|
|
}
|
|
function handle_mousedown() {
|
|
on("selectstart", window, handle_select, { once: true });
|
|
on("mouseup", window, handle_mouseup);
|
|
on("mousemove", window, moveAction);
|
|
}
|
|
const tracker = ref(null);
|
|
let standard_style = ref(props.val);
|
|
const tooptipHide = ref(true);
|
|
function standardMove(e) {
|
|
tooptipHide.value = false;
|
|
if (!tracker.value) {
|
|
return;
|
|
}
|
|
let tracker_rect = tracker.value.getBoundingClientRect();
|
|
let origin_left = tracker_rect.left;
|
|
let point_left = e.clientX;
|
|
let distance = point_left - origin_left;
|
|
if (distance < props.min) {
|
|
standard_style.value = props.min;
|
|
} else {
|
|
let rate = distance / tracker_rect.width * 100;
|
|
calcWithStep(rate, standard_style);
|
|
if (standard_style.value > props.max) {
|
|
standard_style.value = props.max;
|
|
}
|
|
}
|
|
emit("link-val-hook", standard_style.value);
|
|
}
|
|
function calcWithStep(rate, val) {
|
|
if (typeof rate === "undefined")
|
|
return false;
|
|
if (typeof val.value === "number") {
|
|
let r = rate - val.value;
|
|
if (Math.abs(r) < props.step) {
|
|
return false;
|
|
}
|
|
if (props.step === 0)
|
|
val.value = Math.floor(rate);
|
|
if (r < 0 && props.step !== 0) {
|
|
val.value -= props.step;
|
|
} else {
|
|
val.value += props.step;
|
|
}
|
|
}
|
|
}
|
|
const dots = makeDots(props);
|
|
const focusDot = (val) => {
|
|
emit("link-val-hook", val);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
ref_key: "tracker",
|
|
ref: tracker,
|
|
onMousedown: withModifiers(handle_mousedown, ["stop"]),
|
|
class: normalizeClass(["layui-slider-track-v", [__props.disabled ? "layui-slider-disabled" : ""]])
|
|
}, [
|
|
createVNode(_sfc_main$11, {
|
|
content: "" + __props.val,
|
|
"is-can-hide": tooptipHide.value
|
|
}, {
|
|
default: withCtx(() => [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ left: __props.val + "%" }),
|
|
class: normalizeClass(["layui-slider-btn-v", [__props.disabled ? "layui-slider-disabled disable-btn" : ""]])
|
|
}, null, 6)
|
|
]),
|
|
_: 1
|
|
}, 8, ["content", "is-can-hide"]),
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ width: __props.val + "%" }),
|
|
class: normalizeClass(["layui-slider-rate-v", [__props.disabled ? "layui-slider-disabled disable-line" : ""]])
|
|
}, null, 6),
|
|
_hoisted_2$p,
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(dots), (item, index2) => {
|
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
onClick: ($event) => focusDot(item),
|
|
class: "layui-slider-dots",
|
|
key: index2,
|
|
style: normalizeStyle({ left: item + "%" })
|
|
}, null, 12, _hoisted_3$m)), [
|
|
[vShow, __props.showDots]
|
|
]);
|
|
}), 128))
|
|
], 42, _hoisted_1$s);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$r = ["onMousedown"];
|
|
const _hoisted_2$o = /* @__PURE__ */ createElementVNode("div", { class: "layui-slider-line-v" }, null, -1);
|
|
const _hoisted_3$l = ["onClick"];
|
|
const __default__$y = {
|
|
name: "StandardRange"
|
|
};
|
|
const _sfc_main$A = defineComponent({
|
|
...__default__$y,
|
|
props: {
|
|
rangeValue: null,
|
|
disabled: { type: Boolean, default: false },
|
|
step: { default: 0 },
|
|
min: { default: 0 },
|
|
max: { default: 100 },
|
|
showDots: { type: Boolean, default: true }
|
|
},
|
|
emits: ["link-val-hook"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
let rv = toRef(props, "rangeValue");
|
|
const moveAction = throttle(rangeMove);
|
|
let currbtn = -1;
|
|
function handle_mousedown() {
|
|
currbtn = -1;
|
|
tooptipHide.value = false;
|
|
on("selectstart", window, handle_select2, { once: true });
|
|
on("mouseup", window, handle_mouseup);
|
|
on("mousemove", window, moveAction);
|
|
}
|
|
function handle_mouseup() {
|
|
tooptipHide.value = true;
|
|
off("selectstart", document, handle_select2);
|
|
off("mouseup", window, handle_mouseup);
|
|
off("mousemove", window, moveAction);
|
|
}
|
|
function handle_select2(e) {
|
|
e.preventDefault();
|
|
}
|
|
const tracker = ref(null);
|
|
const tooptipHide = ref(true);
|
|
function rangeMove(e) {
|
|
if (!tracker.value) {
|
|
return;
|
|
}
|
|
let tracker_rect = tracker.value.getBoundingClientRect();
|
|
let origin_left = tracker_rect.left;
|
|
let point_left = e.clientX;
|
|
let distance = point_left - origin_left;
|
|
if (distance < props.min) {
|
|
rv.value[0] = props.min;
|
|
} else {
|
|
let rate = distance / tracker_rect.width * 100;
|
|
let idx = -1;
|
|
if (currbtn === -1) {
|
|
currbtn = moveNeighbors(Math.floor(rate), rv);
|
|
idx = currbtn;
|
|
} else {
|
|
idx = currbtn;
|
|
}
|
|
calcWithStep(rate, rv, idx);
|
|
if (rv.value[1] > props.max) {
|
|
rv.value[1] = props.max;
|
|
}
|
|
if (rv.value[0] < props.min) {
|
|
rv.value[0] = props.min;
|
|
}
|
|
}
|
|
emit("link-val-hook", rv.value);
|
|
}
|
|
function moveNeighbors(rate, rangeValues) {
|
|
let d1 = Math.abs(rate - rangeValues.value[0]);
|
|
let d2 = Math.abs(rate - rangeValues.value[1]);
|
|
if (d1 > d2) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
function calcWithStep(rate, val, idx = -1) {
|
|
if (typeof rate === "undefined")
|
|
return false;
|
|
if (typeof val.value === "object") {
|
|
let r = rate - val.value[idx];
|
|
if (Math.abs(r) < props.step) {
|
|
return false;
|
|
}
|
|
if (props.step === 0)
|
|
val.value[idx] = Math.floor(rate);
|
|
if (Array.isArray(val.value)) {
|
|
if (r < 0 && props.step !== 0) {
|
|
val.value[idx] -= props.step;
|
|
} else {
|
|
val.value[idx] += props.step;
|
|
}
|
|
cross(val);
|
|
}
|
|
}
|
|
}
|
|
function cross(val) {
|
|
if (val.value[0] > val.value[1]) {
|
|
let tmp = val.value[0];
|
|
val.value[0] = val.value[1];
|
|
val.value[1] = tmp;
|
|
currbtn = currbtn === 0 ? 1 : 0;
|
|
}
|
|
}
|
|
const dots = makeDots(props);
|
|
const focusDot = (item) => {
|
|
let currbtn2 = moveNeighbors(item, rv);
|
|
rv.value[currbtn2] = item;
|
|
emit("link-val-hook", rv.value);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
ref_key: "tracker",
|
|
ref: tracker,
|
|
onMousedown: withModifiers(handle_mousedown, ["stop"]),
|
|
class: normalizeClass(["layui-slider-srange", [__props.disabled ? "layui-slider-disabled" : ""]])
|
|
}, [
|
|
createVNode(_sfc_main$11, {
|
|
content: "" + unref(rv)[0],
|
|
"is-can-hide": tooptipHide.value
|
|
}, {
|
|
default: withCtx(() => [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ left: unref(rv)[0] + "%" }),
|
|
class: normalizeClass(["layui-slider-btn-v", [props.disabled ? "layui-slider-disabled disable-btn" : ""]])
|
|
}, null, 6)
|
|
]),
|
|
_: 1
|
|
}, 8, ["content", "is-can-hide"]),
|
|
createVNode(_sfc_main$11, {
|
|
content: "" + unref(rv)[1],
|
|
"is-can-hide": tooptipHide.value
|
|
}, {
|
|
default: withCtx(() => [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ left: unref(rv)[1] + "%" }),
|
|
class: normalizeClass(["layui-slider-btn-v", [props.disabled ? "layui-slider-disabled disable-btn" : ""]])
|
|
}, null, 6)
|
|
]),
|
|
_: 1
|
|
}, 8, ["content", "is-can-hide"]),
|
|
_hoisted_2$o,
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({
|
|
width: unref(rv)[1] - unref(rv)[0] + "%",
|
|
left: unref(rv)[0] + "%"
|
|
}),
|
|
class: normalizeClass(["layui-slider-rate-v", [props.disabled ? "layui-slider-disabled disable-line" : ""]])
|
|
}, null, 6),
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(dots), (item, index2) => {
|
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
onClick: ($event) => focusDot(item),
|
|
class: "layui-slider-dots",
|
|
key: index2,
|
|
style: normalizeStyle({ left: item + "%" })
|
|
}, null, 12, _hoisted_3$l)), [
|
|
[vShow, __props.showDots]
|
|
]);
|
|
}), 128))
|
|
], 42, _hoisted_1$r);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$q = { class: "layui-slider-vertical" };
|
|
const _hoisted_2$n = ["onMousedown"];
|
|
const _hoisted_3$k = /* @__PURE__ */ createElementVNode("div", { class: "layui-slider-vertical-line" }, null, -1);
|
|
const _hoisted_4$h = ["onClick"];
|
|
const __default__$x = {
|
|
name: "Vertical"
|
|
};
|
|
const _sfc_main$z = defineComponent({
|
|
...__default__$x,
|
|
props: {
|
|
val: { default: 0 },
|
|
disabled: { type: Boolean, default: true },
|
|
step: { default: 0 },
|
|
min: { default: 0 },
|
|
max: { default: 100 },
|
|
showDots: { type: Boolean, default: false }
|
|
},
|
|
emits: ["link-val-hook"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const moveAction = throttle(verticalMove);
|
|
function handle_mouseup() {
|
|
off("selectstart", document, handle_select2);
|
|
off("mouseup", window, handle_mouseup);
|
|
off("mousemove", window, moveAction);
|
|
tooptipHide.value = true;
|
|
}
|
|
function handle_select2(e) {
|
|
e.preventDefault();
|
|
}
|
|
function handle_mousedown() {
|
|
on("selectstart", window, handle_select2, { once: true });
|
|
on("mouseup", window, handle_mouseup);
|
|
on("mousemove", window, moveAction);
|
|
}
|
|
const tracker = ref(null);
|
|
let vertical_style = ref(props.val);
|
|
const tooptipHide = ref(true);
|
|
function verticalMove(e) {
|
|
tooptipHide.value = false;
|
|
if (!tracker.value) {
|
|
return;
|
|
}
|
|
let tracker_rect = tracker.value.getBoundingClientRect();
|
|
let origin_bottom = tracker_rect.bottom;
|
|
let point_bottom = e.clientY;
|
|
let distance = (point_bottom - origin_bottom) * -1;
|
|
if (distance < props.min) {
|
|
vertical_style.value = props.min;
|
|
} else {
|
|
let rate = distance / tracker_rect.height * 100;
|
|
calcWithStep(rate, vertical_style);
|
|
if (vertical_style.value > props.max) {
|
|
vertical_style.value = props.max;
|
|
}
|
|
}
|
|
emit("link-val-hook", vertical_style.value);
|
|
}
|
|
function calcWithStep(rate, val) {
|
|
if (typeof rate === "undefined")
|
|
return false;
|
|
if (typeof val.value === "number") {
|
|
let r = rate - val.value;
|
|
if (Math.abs(r) < props.step) {
|
|
return false;
|
|
}
|
|
if (props.step === 0)
|
|
val.value = Math.floor(rate);
|
|
if (r < 0 && props.step !== 0) {
|
|
val.value -= props.step;
|
|
} else {
|
|
val.value += props.step;
|
|
}
|
|
}
|
|
}
|
|
const makeDots2 = () => {
|
|
if (props.step === 0)
|
|
return [];
|
|
let val = 0;
|
|
let dots2 = [];
|
|
let count = Math.floor(100 / props.step) - 1;
|
|
for (let i = 0; i < count; i++) {
|
|
val += props.step;
|
|
dots2.push(val);
|
|
}
|
|
return dots2;
|
|
};
|
|
const dots = makeDots2();
|
|
const focusDot = (val) => {
|
|
emit("link-val-hook", val);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$q, [
|
|
createElementVNode("div", {
|
|
onMousedown: withModifiers(handle_mousedown, ["stop"]),
|
|
ref_key: "tracker",
|
|
ref: tracker,
|
|
class: normalizeClass([[__props.disabled ? "layui-slider-disabled" : ""], "layui-slider-vertical-track"])
|
|
}, [
|
|
createVNode(_sfc_main$11, {
|
|
content: "" + __props.val,
|
|
"is-can-hide": tooptipHide.value
|
|
}, {
|
|
default: withCtx(() => [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ bottom: __props.val + "%" }),
|
|
class: normalizeClass([[props.disabled ? "layui-slider-disabled disable-btn" : ""], "layui-slider-vertical-btn"])
|
|
}, null, 6)
|
|
]),
|
|
_: 1
|
|
}, 8, ["content", "is-can-hide"]),
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ height: __props.val + "%" }),
|
|
class: normalizeClass([[props.disabled ? "layui-slider-disabled disable-line" : ""], "layui-slider-vertical-rate"])
|
|
}, null, 6),
|
|
_hoisted_3$k,
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(dots), (item, index2) => {
|
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
onClick: ($event) => focusDot(item),
|
|
class: "layui-slider-vertical-dots",
|
|
key: index2,
|
|
style: normalizeStyle({ bottom: item + "%" })
|
|
}, null, 12, _hoisted_4$h)), [
|
|
[vShow, __props.showDots]
|
|
]);
|
|
}), 128))
|
|
], 42, _hoisted_2$n)
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$p = { class: "layui-slider-vertical" };
|
|
const _hoisted_2$m = ["onMousedown"];
|
|
const _hoisted_3$j = /* @__PURE__ */ createElementVNode("div", { class: "layui-slider-vertical-line" }, null, -1);
|
|
const _hoisted_4$g = ["onClick"];
|
|
const __default__$w = {
|
|
name: "VerticalRange"
|
|
};
|
|
const _sfc_main$y = defineComponent({
|
|
...__default__$w,
|
|
props: {
|
|
rangeValue: null,
|
|
disabled: { type: Boolean, default: false },
|
|
step: { default: 0 },
|
|
min: { default: 0 },
|
|
max: { default: 100 },
|
|
showDots: { type: Boolean, default: false }
|
|
},
|
|
emits: ["link-val-hook"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
let rv = toRef(props, "rangeValue");
|
|
const moveAction = throttle(rangeMove);
|
|
let currbtn = -1;
|
|
function handle_mousedown() {
|
|
currbtn = -1;
|
|
tooptipHide.value = false;
|
|
on("selectstart", window, handle_select2, { once: true });
|
|
on("mouseup", window, handle_mouseup);
|
|
on("mousemove", window, moveAction);
|
|
}
|
|
function handle_mouseup() {
|
|
tooptipHide.value = true;
|
|
off("selectstart", document, handle_select2);
|
|
off("mouseup", window, handle_mouseup);
|
|
off("mousemove", window, moveAction);
|
|
}
|
|
function handle_select2(e) {
|
|
e.preventDefault();
|
|
}
|
|
const tracker = ref(null);
|
|
const tooptipHide = ref(true);
|
|
function rangeMove(e) {
|
|
if (!tracker.value) {
|
|
return;
|
|
}
|
|
let tracker_rect = tracker.value.getBoundingClientRect();
|
|
let origin_bottom = tracker_rect.bottom;
|
|
let point_bottom = e.clientY;
|
|
let distance = (point_bottom - origin_bottom) * -1;
|
|
if (distance < props.min) {
|
|
rv.value[0] = props.min;
|
|
} else {
|
|
let rate = distance / tracker_rect.height * 100;
|
|
let idx = -1;
|
|
if (currbtn === -1) {
|
|
currbtn = moveNeighbors(Math.floor(rate), rv);
|
|
idx = currbtn;
|
|
} else {
|
|
idx = currbtn;
|
|
}
|
|
calcWithStep(rate, rv, idx);
|
|
if (rv.value[1] > props.max) {
|
|
rv.value[1] = props.max;
|
|
}
|
|
if (rv.value[0] < props.min) {
|
|
rv.value[0] = props.min;
|
|
}
|
|
}
|
|
emit("link-val-hook", rv.value);
|
|
}
|
|
function moveNeighbors(rate, rangeValues) {
|
|
let d1 = Math.abs(rate - rangeValues.value[0]);
|
|
let d2 = Math.abs(rate - rangeValues.value[1]);
|
|
if (d1 > d2) {
|
|
return 1;
|
|
} else {
|
|
return 0;
|
|
}
|
|
}
|
|
function calcWithStep(rate, val, idx = -1) {
|
|
if (typeof rate === "undefined")
|
|
return false;
|
|
if (typeof val.value === "object") {
|
|
let r = rate - val.value[idx];
|
|
if (Math.abs(r) < props.step) {
|
|
return false;
|
|
}
|
|
if (props.step === 0)
|
|
val.value[idx] = Math.floor(rate);
|
|
if (Array.isArray(val.value)) {
|
|
if (r < 0 && props.step !== 0) {
|
|
val.value[idx] -= props.step;
|
|
} else {
|
|
val.value[idx] += props.step;
|
|
}
|
|
cross(val);
|
|
}
|
|
}
|
|
}
|
|
function cross(val) {
|
|
if (val.value[0] > val.value[1]) {
|
|
let tmp = val.value[0];
|
|
val.value[0] = val.value[1];
|
|
val.value[1] = tmp;
|
|
currbtn = currbtn === 0 ? 1 : 0;
|
|
}
|
|
}
|
|
const dots = makeDots(props);
|
|
const focusDot = (item) => {
|
|
let currbtn2 = moveNeighbors(item, rv);
|
|
rv.value[currbtn2] = item;
|
|
emit("link-val-hook", rv.value);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$p, [
|
|
createElementVNode("div", {
|
|
ref_key: "tracker",
|
|
ref: tracker,
|
|
onMousedown: withModifiers(handle_mousedown, ["stop"]),
|
|
class: normalizeClass(["layui-slider-vrange", [__props.disabled ? "layui-slider-disabled" : ""]])
|
|
}, [
|
|
createVNode(_sfc_main$11, {
|
|
content: "" + unref(rv)[1],
|
|
"is-can-hide": tooptipHide.value
|
|
}, {
|
|
default: withCtx(() => [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ bottom: unref(rv)[1] + "%" }),
|
|
class: normalizeClass(["layui-slider-vertical-btn", [props.disabled ? "layui-slider-disabled disable-btn" : ""]])
|
|
}, null, 6)
|
|
]),
|
|
_: 1
|
|
}, 8, ["content", "is-can-hide"]),
|
|
createVNode(_sfc_main$11, {
|
|
content: "" + unref(rv)[0],
|
|
"is-can-hide": tooptipHide.value
|
|
}, {
|
|
default: withCtx(() => [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({ bottom: unref(rv)[0] + "%" }),
|
|
class: normalizeClass(["layui-slider-vertical-btn", [props.disabled ? "layui-slider-disabled disable-btn" : ""]])
|
|
}, null, 6)
|
|
]),
|
|
_: 1
|
|
}, 8, ["content", "is-can-hide"]),
|
|
_hoisted_3$j,
|
|
createElementVNode("div", {
|
|
style: normalizeStyle({
|
|
height: unref(rv)[1] - unref(rv)[0] + "%",
|
|
bottom: unref(rv)[0] + "%"
|
|
}),
|
|
class: normalizeClass(["layui-slider-vertical-rate", [props.disabled ? "layui-slider-disabled disable-line" : ""]])
|
|
}, null, 6),
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(dots), (item, index2) => {
|
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
onClick: ($event) => focusDot(item),
|
|
class: "layui-slider-vertical-dots",
|
|
key: index2,
|
|
style: normalizeStyle({ bottom: item + "%" })
|
|
}, null, 12, _hoisted_4$g)), [
|
|
[vShow, __props.showDots]
|
|
]);
|
|
}), 128))
|
|
], 42, _hoisted_2$m)
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$o = { key: 0 };
|
|
const _hoisted_2$l = { key: 0 };
|
|
const _hoisted_3$i = { key: 1 };
|
|
const _hoisted_4$f = { key: 1 };
|
|
const _hoisted_5$c = { key: 0 };
|
|
const _hoisted_6$a = { key: 1 };
|
|
const __default__$v = {
|
|
name: "LaySlider"
|
|
};
|
|
const _sfc_main$x = defineComponent({
|
|
...__default__$v,
|
|
props: {
|
|
vertical: { type: Boolean, default: false },
|
|
modelValue: { default: 0 },
|
|
min: { default: 0 },
|
|
max: { default: 100 },
|
|
step: { default: 0 },
|
|
disabled: { type: Boolean, default: false },
|
|
range: { type: Boolean },
|
|
rangeValue: null,
|
|
showDots: { type: Boolean, default: false }
|
|
},
|
|
emits: ["update:modelValue"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
let rangeValues = toRef(props, "rangeValue");
|
|
function valHook(val) {
|
|
emit("update:modelValue", val);
|
|
}
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", null, [
|
|
__props.vertical ? (openBlock(), createElementBlock("div", _hoisted_1$o, [
|
|
__props.range ? (openBlock(), createElementBlock("div", _hoisted_2$l, [
|
|
createVNode(_sfc_main$y, {
|
|
step: __props.step,
|
|
onLinkValHook: valHook,
|
|
disabled: __props.disabled,
|
|
rangeValue: unref(rangeValues),
|
|
min: __props.min,
|
|
max: __props.max,
|
|
showDots: __props.showDots
|
|
}, null, 8, ["step", "disabled", "rangeValue", "min", "max", "showDots"])
|
|
])) : (openBlock(), createElementBlock("div", _hoisted_3$i, [
|
|
createVNode(_sfc_main$z, {
|
|
step: __props.step,
|
|
onLinkValHook: valHook,
|
|
disabled: __props.disabled,
|
|
val: __props.modelValue,
|
|
min: __props.min,
|
|
max: __props.max,
|
|
showDots: __props.showDots
|
|
}, null, 8, ["step", "disabled", "val", "min", "max", "showDots"])
|
|
]))
|
|
])) : (openBlock(), createElementBlock("div", _hoisted_4$f, [
|
|
__props.range ? (openBlock(), createElementBlock("div", _hoisted_5$c, [
|
|
createVNode(_sfc_main$A, {
|
|
step: __props.step,
|
|
onLinkValHook: valHook,
|
|
disabled: __props.disabled,
|
|
rangeValue: unref(rangeValues),
|
|
min: __props.min,
|
|
max: __props.max,
|
|
showDots: __props.showDots
|
|
}, null, 8, ["step", "disabled", "rangeValue", "min", "max", "showDots"])
|
|
])) : (openBlock(), createElementBlock("div", _hoisted_6$a, [
|
|
createVNode(_sfc_main$B, {
|
|
val: __props.modelValue,
|
|
onLinkValHook: valHook,
|
|
disabled: __props.disabled,
|
|
step: __props.step,
|
|
min: __props.min,
|
|
max: __props.max,
|
|
showDots: __props.showDots
|
|
}, null, 8, ["val", "disabled", "step", "min", "max", "showDots"])
|
|
]))
|
|
]))
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$r = withInstall(_sfc_main$x);
|
|
var index$g = /* @__PURE__ */ (() => '.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:"\\e63d";left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:var(--global-neutral-color-8);font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s;overflow:hidden;visibility:hidden}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\\ ;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:0;border-radius:50%;background-color:#0003;color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add],.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:#00000059}.layui-carousel:hover .layui-carousel-arrow{display:block\\ ;opacity:1;left:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:#00000080}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:#0003;border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:var(--global-neutral-color-3);background-color:#ffffff80;border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li:hover{background-color:#ffffffb3}.layui-carousel-ind li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown]>[carousel-item]>*,.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto;transform:translateY(-50%)}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}\n')();
|
|
const _hoisted_1$n = ["data-id"];
|
|
const __default__$u = {
|
|
name: "LayCarouselItem"
|
|
};
|
|
const _sfc_main$w = defineComponent({
|
|
...__default__$u,
|
|
props: {
|
|
id: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const active = inject("active");
|
|
const slotsChange = inject("slotsChange");
|
|
slotsChange.value = !slotsChange.value;
|
|
const anim = inject("anim");
|
|
const item = ref();
|
|
const getStyle = computed$1(() => {
|
|
if (item.value) {
|
|
let allChild = item.value.parentNode.children;
|
|
let allChildNum = allChild.length;
|
|
let activeIndex = 0;
|
|
let currentIndex = 0;
|
|
for (let index2 = 0; index2 < allChild.length; index2++) {
|
|
const element = allChild[index2];
|
|
if (element.getAttribute("data-id") === active.value) {
|
|
activeIndex = index2;
|
|
}
|
|
if (element.getAttribute("data-id") === props.id) {
|
|
currentIndex = index2;
|
|
}
|
|
}
|
|
let prevIndex = activeIndex > 0 ? activeIndex - 1 : allChildNum - 1;
|
|
let nextIndex = activeIndex + 1 < allChildNum ? activeIndex + 1 : 0;
|
|
let animation = anim.value;
|
|
if (activeIndex === currentIndex) {
|
|
if (animation === "updown") {
|
|
return {
|
|
transform: "translateY(0)",
|
|
visibility: "inherit"
|
|
};
|
|
} else if (animation.includes("fade")) {
|
|
return {
|
|
opacity: 1,
|
|
visibility: "inherit"
|
|
};
|
|
} else {
|
|
return {
|
|
transform: "translateX(0)",
|
|
visibility: "inherit"
|
|
};
|
|
}
|
|
}
|
|
if (prevIndex === currentIndex) {
|
|
if (animation === "updown") {
|
|
return {
|
|
transform: "translateY(-100%)"
|
|
};
|
|
} else if (animation.includes("fade")) {
|
|
return {
|
|
opacity: 0
|
|
};
|
|
} else {
|
|
return {
|
|
transform: "translateX(-100%)"
|
|
};
|
|
}
|
|
}
|
|
if (nextIndex === currentIndex) {
|
|
if (animation === "updown") {
|
|
return {
|
|
transform: "translateY(100%)"
|
|
};
|
|
} else if (animation.includes("fade")) {
|
|
return {
|
|
opacity: 0
|
|
};
|
|
} else {
|
|
return {
|
|
transform: "translateX(100%)"
|
|
};
|
|
}
|
|
}
|
|
return {
|
|
display: "none"
|
|
};
|
|
}
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
ref_key: "item",
|
|
ref: item,
|
|
style: normalizeStyle(unref(getStyle)),
|
|
"data-id": __props.id
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 12, _hoisted_1$n);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$m = ["lay-anim", "lay-indicator", "lay-arrow"];
|
|
const _hoisted_2$k = { "carousel-item": "" };
|
|
const _hoisted_3$h = { class: "layui-carousel-ind" };
|
|
const _hoisted_4$e = ["onClick"];
|
|
const __default__$t = {
|
|
name: "LayCarousel"
|
|
};
|
|
const _sfc_main$v = defineComponent({
|
|
...__default__$t,
|
|
props: {
|
|
width: { default: "100%" },
|
|
height: { default: "280px" },
|
|
modelValue: null,
|
|
autoplay: { type: Boolean, default: true },
|
|
arrow: { default: "hover" },
|
|
anim: { default: "default" },
|
|
indicator: { default: "inside" },
|
|
pauseOnHover: { type: Boolean, default: true },
|
|
interval: { default: 3e3 }
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const slot = useSlots();
|
|
const slots = slot.default && slot.default();
|
|
const active = computed$1({
|
|
get() {
|
|
return props.modelValue;
|
|
},
|
|
set(val) {
|
|
emit("update:modelValue", val);
|
|
}
|
|
});
|
|
const anim = computed$1(() => props.anim);
|
|
const change3 = function(id) {
|
|
emit("change", id);
|
|
active.value = id;
|
|
};
|
|
const childrens = ref([]);
|
|
const slotsChange = ref(true);
|
|
const setItemInstanceBySlot = function(nodes) {
|
|
const showNodes = nodes == null ? void 0 : nodes.filter((item) => {
|
|
return item.children != "v-if";
|
|
});
|
|
showNodes == null ? void 0 : showNodes.map((item) => {
|
|
let component2 = item.type;
|
|
if (component2.name != _sfc_main$w.name) {
|
|
setItemInstanceBySlot(item.children);
|
|
} else {
|
|
childrens.value.push(item);
|
|
}
|
|
});
|
|
};
|
|
watch(slotsChange, () => {
|
|
childrens.value = [];
|
|
setItemInstanceBySlot(slot.default && slot.default());
|
|
}, { immediate: true, deep: true });
|
|
const sub2 = () => {
|
|
var _a2, _b, _c;
|
|
for (var i = 0; i < childrens.value.length; i++) {
|
|
if (((_a2 = childrens.value[i].props) == null ? void 0 : _a2.id) === active.value) {
|
|
if (i === 0) {
|
|
active.value = (_b = childrens.value[slots.length - 1].props) == null ? void 0 : _b.id;
|
|
} else {
|
|
active.value = (_c = childrens.value[i - 1].props) == null ? void 0 : _c.id;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
const add2 = () => {
|
|
var _a2, _b, _c;
|
|
for (var i = 0; i < childrens.value.length; i++) {
|
|
if (((_a2 = childrens.value[i].props) == null ? void 0 : _a2.id) === active.value) {
|
|
if (i === childrens.value.length - 1) {
|
|
active.value = (_b = childrens.value[0].props) == null ? void 0 : _b.id;
|
|
} else {
|
|
active.value = (_c = childrens.value[i + 1].props) == null ? void 0 : _c.id;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
const autoplay = () => {
|
|
var _a2, _b, _c;
|
|
for (var i = 0; i < childrens.value.length; i++) {
|
|
if (((_a2 = childrens.value[i].props) == null ? void 0 : _a2.id) === active.value) {
|
|
if (i === childrens.value.length - 1) {
|
|
active.value = (_b = childrens.value[0].props) == null ? void 0 : _b.id;
|
|
} else {
|
|
active.value = (_c = childrens.value[i + 1].props) == null ? void 0 : _c.id;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
let intervalTimer = 0;
|
|
const cleanIntervalTimer = () => {
|
|
if (intervalTimer) {
|
|
window.clearInterval(intervalTimer);
|
|
intervalTimer = 0;
|
|
}
|
|
};
|
|
const handleMouseEnter = () => {
|
|
if (props.autoplay && props.pauseOnHover) {
|
|
cleanIntervalTimer();
|
|
}
|
|
};
|
|
const handleMouseLeave = () => {
|
|
if (props.autoplay && props.pauseOnHover) {
|
|
intervalTimer = window.setInterval(autoplay, props.interval);
|
|
}
|
|
};
|
|
watch(() => props.autoplay, () => {
|
|
if (props.autoplay) {
|
|
intervalTimer = window.setInterval(autoplay, props.interval);
|
|
}
|
|
}, { immediate: true });
|
|
provide("active", active);
|
|
provide("slotsChange", slotsChange);
|
|
provide("anim", anim);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: "layui-carousel",
|
|
"lay-anim": unref(anim),
|
|
"lay-indicator": __props.indicator,
|
|
"lay-arrow": __props.arrow,
|
|
style: normalizeStyle({ width: __props.width, height: __props.height }),
|
|
onMouseenter: handleMouseEnter,
|
|
onMouseleave: handleMouseLeave
|
|
}, [
|
|
createElementVNode("div", _hoisted_2$k, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]),
|
|
createElementVNode("div", _hoisted_3$h, [
|
|
createElementVNode("ul", null, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(childrens.value, (ss, index2) => {
|
|
var _a2;
|
|
return openBlock(), createElementBlock("li", {
|
|
key: index2,
|
|
class: normalizeClass([((_a2 = ss.props) == null ? void 0 : _a2.id) === unref(active) ? "layui-this" : ""]),
|
|
onClick: withModifiers(($event) => {
|
|
var _a3;
|
|
return change3((_a3 = ss.props) == null ? void 0 : _a3.id);
|
|
}, ["stop"])
|
|
}, null, 10, _hoisted_4$e);
|
|
}), 128))
|
|
])
|
|
]),
|
|
createElementVNode("button", {
|
|
class: "layui-icon layui-carousel-arrow",
|
|
"lay-type": "sub",
|
|
onClick: sub2
|
|
}, toDisplayString$1(unref(anim) === "updown" ? "\uE619" : "\uE603"), 1),
|
|
createElementVNode("button", {
|
|
class: "layui-icon layui-carousel-arrow",
|
|
"lay-type": "add",
|
|
onClick: add2
|
|
}, toDisplayString$1(unref(anim) === "updown" ? "\uE61A" : "\uE602"), 1)
|
|
], 44, _hoisted_1$m);
|
|
};
|
|
}
|
|
});
|
|
const component$q = withInstall(_sfc_main$v);
|
|
const component$p = withInstall(_sfc_main$w);
|
|
var index$f = /* @__PURE__ */ (() => ".layui-dropdown{position:relative;display:inline-block}.layui-dropdown-content{position:absolute;z-index:99999;background-color:#fff;box-sizing:border-box;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px #0000001a}.layui-dropdown-content>.layui-dropdown-menu{border-radius:var(--global-border-radius);margin:5px 0}.layui-dropdown-content .layui-menu{position:relative;background-color:#fff}.layui-dropdown-content .layui-menu li,.layui-dropdown-content .layui-menu-body-title a{padding:5px 15px}.layui-dropdown-content .layui-menu li{position:relative;display:flex;margin:1px 0;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;cursor:pointer}.layui-dropdown-content .layui-menu li:hover{background-color:var(--global-neutral-color-2)}.layui-dropdown-content .layui-menu-body-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-dropdown-menu-prefix{margin-right:8px}.layui-dropdown-menu-suffix{margin-left:15px}.layui-dropdown-content .layui-menu li.layui-disabled:hover{background-color:inherit}.layui-color-picker{position:relative;user-select:none;width:320px;background:#fff;padding:8px}.saturation-value{cursor:pointer;width:100%;height:200px;position:relative;margin-bottom:10px;box-shadow:1px 1px 1px #0000001a}.saturation-value>div{position:absolute;top:0;left:0;width:100%;height:100%}.point{box-sizing:border-box;width:6px;height:6px;background-color:transparent;border:2px solid #ccc;border-radius:50%;transform:translate(-50%,-50%);position:absolute;z-index:9}.saturation-value-2{background:linear-gradient(to right,white,#ffffff00)}.saturation-value-3{background:linear-gradient(to top,black,#ffffff00)}.layui-color-picker-middle{width:100%;display:flex;margin-bottom:10px}.hue-slider{position:relative;margin-bottom:6px;height:10px;background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);box-shadow:1px 1px 1px #0000001a}.alpha-slider{position:relative;height:10px;box-shadow:1px 1px 1px #0000001a;background:#fff url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAWElEQVRIiWM8fubkfwYygKWJOSM5+mCAhRLNoxaPWjxq8ajFoxbTyeL/DAfJ0Xjs3Cl7Siwmu4Yht1aDgZEYx6MWj1o8avGoxaMWD3qLya5X//4nqx6HAQC7RBGFzolqTAAAAABJRU5ErkJggg==);background-size:10px 10px}.slider{position:absolute;box-shadow:0 0 2px #0009;box-sizing:border-box;width:6px;height:100%;background-color:#fff}.color-diamond{position:relative;margin-left:5px;width:26px;height:26px;border-radius:2px;overflow:hidden;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAWElEQVRIiWM8fubkfwYygKWJOSM5+mCAhRLNoxaPWjxq8ajFoxbTyeL/DAfJ0Xjs3Cl7Siwmu4Yht1aDgZEYx6MWj1o8avGoxaMWD3qLya5X//4nqx6HAQC7RBGFzolqTAAAAABJRU5ErkJggg==);background-size:10px 10px}.layui-colorpicker>span{width:26px;height:26px;display:block;border-radius:var(--global-border-radius);background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAWElEQVRIiWM8fubkfwYygKWJOSM5+mCAhRLNoxaPWjxq8ajFoxbTyeL/DAfJ0Xjs3Cl7Siwmu4Yht1aDgZEYx6MWj1o8avGoxaMWD3qLya5X//4nqx6HAQC7RBGFzolqTAAAAABJRU5ErkJggg==);background-size:10px 10px}.color-value{width:100%;display:flex;justify-content:space-between}.color-value div{padding:0 3px;text-align:center}.color-value input{font-size:12px;box-sizing:border-box;width:34px;height:24px;padding:0;margin:0;outline:none;text-align:center;border-radius:2px;border:1px solid #eee}.color-value p{font-size:12px;margin:3px 0 0}.color-value .rgba-a{padding-right:0}.color-value .hex{flex:1;padding-left:0}.color-value .hex input{width:100%;height:24px}.preset{width:100%;padding:0;margin:10px 0 0;list-style:none;display:flex;flex-wrap:wrap;justify-content:flex-start}.preset li{width:20px;height:20px;padding:0;margin-right:6px;margin-bottom:6px;border:1px solid #eee;border-radius:2px}.layui-colorpicker{border:1px solid var(--global-neutral-color-3);padding:5px;border-radius:var(--global-border-radius);line-height:24px;display:inline-block;cursor:pointer;transition:all .3s;-webkit-transition:all .3s}.layui-colorpicker:hover{border-color:var(--global-neutral-color-6)}.layui-colorpicker.layui-colorpicker-lg{width:34px;height:34px;line-height:32px}.layui-colorpicker.layui-colorpicker-sm{width:24px;height:24px;line-height:22px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:20px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:var(--global-border-radius);text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#fff;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;left:-999999px;top:-999999px;z-index:66666666;width:280px;margin:5px 0;padding:7px;background:#fff;border:1px solid var(--global-neutral-color-6);border-radius:2px;box-shadow:0 2px 4px #0000001f}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #fff;border-radius:50%;position:absolute;top:-3px;right:-3px;cursor:pointer}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;background:#fff;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;background:#fff;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n + 1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px #00000026}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;margin-right:10px;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:150px;height:30px;color:#666}.layui-colorpicker-disabled{opacity:.6}.layui-colorpicker-disabled,.layui-colorpicker-disabled *{cursor:not-allowed!important}\n")();
|
|
const _sfc_main$u = {};
|
|
const _hoisted_1$l = {
|
|
t: "1651169382813",
|
|
class: "icon",
|
|
viewBox: "0 0 1024 1024",
|
|
version: "1.1",
|
|
xmlns: "http://www.w3.org/2000/svg",
|
|
"p-id": "2529",
|
|
width: "27",
|
|
height: "27"
|
|
};
|
|
const _hoisted_2$j = /* @__PURE__ */ createElementVNode("path", {
|
|
d: "M769.3 409.1c-4.3-16.2-14.7-29.7-29.2-38l-51.3-29.6-10 17.3c-3.7 6.4-10.4 10-17.3 10-3.4 0-6.8-0.9-10-2.7l68.6 39.6c5.2 3 9 7.9 10.5 13.7 1.6 5.8 0.8 11.9-2.3 17.2l-6.6 11.5c-6.2 10.8-20.1 14.5-30.9 8.3L441 312.2c-5.2-3-9-7.9-10.5-13.7-1.6-5.8-0.8-11.9 2.3-17.2l6.6-11.5c3-5.2 7.9-9 13.7-10.5 1.9-0.5 3.9-0.8 5.9-0.8 3.9 0 7.8 1 11.3 3l69.3 40c-9.6-5.5-12.8-17.8-7.3-27.3l10-17.3-52-30c-14.5-8.4-31.4-10.6-47.5-6.3-16.2 4.3-29.7 14.7-38 29.2l-6.6 11.5c-8.4 14.5-10.6 31.4-6.3 47.5 4.3 16.2 14.7 29.7 29.2 38l52 30 10-17.3c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-10 17.3 77.2 44.6 10-17.3c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-10 17.3 51.3 29.6c9.8 5.7 20.6 8.4 31.2 8.4 21.7 0 42.7-11.2 54.3-31.3l6.6-11.5c8.5-14.5 10.7-31.4 6.4-47.5z",
|
|
fill: "#515151",
|
|
"p-id": "2530"
|
|
}, null, -1);
|
|
const _hoisted_3$g = /* @__PURE__ */ createElementVNode("path", {
|
|
d: "M644.2 338.8l10-17.3-77.2-44.6-10 17.3c-5.5 9.6-17.8 12.8-27.3 7.3l111.8 64.6c-9.6-5.5-12.9-17.8-7.3-27.3zM539.6 301.5zM651.5 366.1z",
|
|
fill: "#515151",
|
|
"p-id": "2531"
|
|
}, null, -1);
|
|
const _hoisted_4$d = /* @__PURE__ */ createElementVNode("path", {
|
|
d: "M624.1 195.2c12.3-21.3 39.6-28.6 60.9-16.3 10.3 6 17.7 15.6 20.8 27.1s1.5 23.5-4.5 33.8l-47.2 81.7 34.6 20 47.2-81.7c11.3-19.6 14.3-42.4 8.5-64.2-5.8-21.8-19.8-40.1-39.4-51.4-40.4-23.3-92.2-9.4-115.5 31l-47.2 81.7 34.6 20 47.2-81.7z",
|
|
fill: "#515151",
|
|
"p-id": "2532"
|
|
}, null, -1);
|
|
const _hoisted_5$b = /* @__PURE__ */ createElementVNode("path", {
|
|
d: "M644.2 338.8c-5.5 9.6-2.2 21.8 7.3 27.3 3.1 1.8 6.6 2.7 10 2.7 6.9 0 13.6-3.6 17.3-10l10-17.3-34.6-20-10 17.3zM539.6 301.5c9.6 5.5 21.8 2.2 27.3-7.3l10-17.3-34.6-20-10 17.3c-5.5 9.6-2.2 21.8 7.3 27.3z",
|
|
fill: "#515151",
|
|
"p-id": "2533"
|
|
}, null, -1);
|
|
const _hoisted_6$9 = /* @__PURE__ */ createElementVNode("path", {
|
|
d: "M395.4 769.6c-2.6 4.4-6.5 7.6-11 9-2.3 0.7-6.9 1.5-11.3-1-9.6-5.5-21.8-2.2-27.3 7.3l-23.1 40c-1.7 2.9-4.2 5-7.1 5.8-1.7 0.5-4.1 0.8-6.5-0.5-2.4-1.4-3.3-3.7-3.7-5.4-0.7-2.9-0.1-6.2 1.5-9l22.9-39.7c5.6-9.7 2.3-22.2-7.4-27.8-7.3-4.2-9.2-14.7-4.2-23.3l189.5-328.2-34.6-20L283.6 705c-12.4 21.4-10.1 47.2 3.7 64.8l-15 26c-6.7 11.6-8.8 25.1-5.9 37.9 3 13.4 11.1 24.4 22.7 31.1 7.3 4.2 15.4 6.4 23.7 6.4 4.9 0 9.8-0.7 14.6-2.2 12.6-3.9 23.2-12.4 29.9-24.1l15-26c7.8 1.1 15.9 0.4 23.8-2 14.2-4.4 26.2-14.1 33.8-27.3l189.5-328.2-34.6-20-189.4 328.2z",
|
|
fill: "#515151",
|
|
"p-id": "2534"
|
|
}, null, -1);
|
|
const _hoisted_7$9 = /* @__PURE__ */ createElementVNode("path", {
|
|
d: "M622.2 416.8c-9.6-5.5-21.8-2.2-27.3 7.3l-10 17.3 34.6 20 10-17.3c5.6-9.6 2.3-21.8-7.3-27.3zM517.7 379.5c5.5-9.6 2.2-21.8-7.3-27.3-9.6-5.5-21.8-2.2-27.3 7.3l-10 17.3 34.6 20 10-17.3z",
|
|
fill: "#515151",
|
|
"p-id": "2535"
|
|
}, null, -1);
|
|
const _hoisted_8$6 = [
|
|
_hoisted_2$j,
|
|
_hoisted_3$g,
|
|
_hoisted_4$d,
|
|
_hoisted_5$b,
|
|
_hoisted_6$9,
|
|
_hoisted_7$9
|
|
];
|
|
function _sfc_render(_ctx, _cache) {
|
|
return openBlock(), createElementBlock("svg", _hoisted_1$l, _hoisted_8$6);
|
|
}
|
|
var EyeDropper = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["render", _sfc_render]]);
|
|
const _hoisted_1$k = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon layui-colorpicker-trigger-i layui-icon-down" }, null, -1);
|
|
const _hoisted_2$i = [
|
|
_hoisted_1$k
|
|
];
|
|
const _hoisted_3$f = { class: "layui-color-picker" };
|
|
const _hoisted_4$c = /* @__PURE__ */ createElementVNode("div", { class: "saturation-value-2" }, null, -1);
|
|
const _hoisted_5$a = /* @__PURE__ */ createElementVNode("div", { class: "saturation-value-3" }, null, -1);
|
|
const _hoisted_6$8 = { class: "layui-color-picker-middle" };
|
|
const _hoisted_7$8 = { style: { "flex": "auto" } };
|
|
const _hoisted_8$5 = { class: "color-diamond" };
|
|
const _hoisted_9$4 = { class: "color-value" };
|
|
const _hoisted_10$4 = { class: "hex" };
|
|
const _hoisted_11$4 = ["value"];
|
|
const _hoisted_12$3 = { class: "rgba-r" };
|
|
const _hoisted_13$3 = ["value"];
|
|
const _hoisted_14$2 = { class: "rgba-g" };
|
|
const _hoisted_15$1 = ["value"];
|
|
const _hoisted_16$1 = { class: "rgba-b" };
|
|
const _hoisted_17$1 = ["value"];
|
|
const _hoisted_18 = { class: "rgba-a" };
|
|
const _hoisted_19 = ["value"];
|
|
const _hoisted_20 = { class: "preset" };
|
|
const _hoisted_21 = ["onClick"];
|
|
const __default__$s = {
|
|
name: "LayColorPicker"
|
|
};
|
|
const _sfc_main$t = defineComponent({
|
|
...__default__$s,
|
|
props: {
|
|
modelValue: { default: { r: 255, g: 255, b: 255, a: 1 } },
|
|
preset: { default: ["#009688", "#1e9fff", "#ffb800", "#ff5722", "#5fb878"] },
|
|
disabled: { type: Boolean, default: false },
|
|
eyeDropper: { type: Boolean },
|
|
contentClass: null,
|
|
contentStyle: null
|
|
},
|
|
emits: ["update:modelValue"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const saturationValue = ref(null);
|
|
const hueSlider = ref(null);
|
|
const alphaSlider = ref(null);
|
|
const { isSupported, open: open2, sRGBHex } = useEyeDropper();
|
|
let pointStyle = ref("top: 25%;left: 80%;");
|
|
let hueSliderStyle = ref("left: 0;");
|
|
let alphaSliderStyle = ref("left: calc(100% - 6px);");
|
|
let hue = ref(0);
|
|
let saturation = ref(1);
|
|
let value = ref(1);
|
|
let red = ref(255);
|
|
let green = ref(0);
|
|
let blue = ref(0);
|
|
let alpha = ref(1);
|
|
const openEyeDropper = function() {
|
|
if (isSupported) {
|
|
open2();
|
|
} else {
|
|
console.warn("LayColorPicker: Eye dropper not supported by your browser!");
|
|
}
|
|
};
|
|
onMounted(() => {
|
|
let { r, g, b, a } = parseColor(props.modelValue);
|
|
red.value = r;
|
|
green.value = g;
|
|
blue.value = b;
|
|
alpha.value = a;
|
|
});
|
|
watch(sRGBHex, (sRGBHex2) => {
|
|
let { r, g, b, a } = hex2rgba(sRGBHex2);
|
|
red.value = r;
|
|
green.value = g;
|
|
blue.value = b;
|
|
alpha.value = a;
|
|
});
|
|
watch([red, green, blue], (newValue) => {
|
|
emit("update:modelValue", rgba2hex(red.value, green.value, blue.value, alpha.value));
|
|
let { h: h2, s, v } = rgb2hsv(red.value, green.value, blue.value);
|
|
hue.value = h2;
|
|
saturation.value = s;
|
|
value.value = v;
|
|
pointStyle.value = `top: ${100 - v * 100}%;left: ${s * 100}%;`;
|
|
hueSliderStyle.value = `left: ${hue.value / 360 * 100}%;`;
|
|
});
|
|
watch(alpha, () => {
|
|
emit("update:modelValue", rgba2hex(red.value, green.value, blue.value, alpha.value));
|
|
alphaSliderStyle.value = `left: ${alpha.value >= 1 ? "calc(100% - 6px)" : alpha.value * 100 + "%"};`;
|
|
});
|
|
let colorObj = computed$1(() => {
|
|
let r = red.value;
|
|
let g = green.value;
|
|
let b = blue.value;
|
|
let a = alpha.value;
|
|
let h2 = hue.value;
|
|
let s = saturation.value;
|
|
let v = value.value;
|
|
return {
|
|
rgb: `rgba(${r},${g},${b})`,
|
|
rgba: `rgba(${r},${g},${b},${a})`,
|
|
hex6: rgba2hex(r, g, b),
|
|
hex8: rgba2hex(r, g, b, a),
|
|
hsv: `hsv(${h2},${s},${v})`,
|
|
hsl: ``
|
|
};
|
|
});
|
|
function hexChange(e) {
|
|
let v = e.target.value;
|
|
if (/^#?([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(v)) {
|
|
let { r, g, b, a } = hex2rgba(v);
|
|
red.value = r;
|
|
green.value = g;
|
|
blue.value = b;
|
|
alpha.value = a;
|
|
}
|
|
}
|
|
function redChange(e) {
|
|
let v = e.target.value;
|
|
if (v !== "") {
|
|
v > 255 && (red.value = 255);
|
|
v < 0 && (red.value = 0);
|
|
v >= 0 && v <= 255 && (red.value = parseInt(v));
|
|
}
|
|
}
|
|
function greenChange(e) {
|
|
let v = e.target.value;
|
|
if (v !== "") {
|
|
v > 255 && (green.value = 255);
|
|
v < 0 && (green.value = 0);
|
|
v >= 0 && v <= 255 && (green.value = parseInt(v));
|
|
}
|
|
}
|
|
function blueChange(e) {
|
|
let v = e.target.value;
|
|
if (v !== "") {
|
|
v > 255 && (blue.value = 255);
|
|
v < 0 && (blue.value = 0);
|
|
v >= 0 && v <= 255 && (blue.value = parseInt(v));
|
|
}
|
|
}
|
|
function alphaChange(e) {
|
|
let v = e.target.value;
|
|
if (v !== "") {
|
|
v = parseFloat(v);
|
|
alpha.value = v;
|
|
v > 1 && (alpha.value = 1);
|
|
v < 0 && (alpha.value = 0);
|
|
v >= 0 && v <= 1 && (alpha.value = v);
|
|
}
|
|
}
|
|
function presetChange(item) {
|
|
if (/^#?([0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(item)) {
|
|
let { r, g, b, a } = hex2rgba(item);
|
|
red.value = r;
|
|
green.value = g;
|
|
blue.value = b;
|
|
alpha.value = a;
|
|
}
|
|
}
|
|
function handleChangeSV(e) {
|
|
let w = saturationValue.value.clientWidth;
|
|
let h2 = saturationValue.value.clientHeight;
|
|
let x = e.pageX - saturationValue.value.getBoundingClientRect().left;
|
|
let y = e.pageY - saturationValue.value.getBoundingClientRect().top;
|
|
x = x < w && x > 0 ? x : x > w ? w : 0;
|
|
y = y < h2 && y > 0 ? y : y > h2 ? h2 : 0;
|
|
saturation.value = Math.floor(x / w * 100 + 0.5) / 100;
|
|
value.value = Math.floor((1 - y / h2) * 100 + 0.5) / 100;
|
|
let { r, g, b } = hsv2rgb(hue.value, saturation.value, value.value);
|
|
red.value = r;
|
|
green.value = g;
|
|
blue.value = b;
|
|
pointStyle.value = `top: ${y}px;left: ${x}px;`;
|
|
}
|
|
function mousedownSV(e) {
|
|
handleChangeSV(e);
|
|
window.addEventListener("mousemove", handleChangeSV);
|
|
window.addEventListener("mouseup", mouseupSV);
|
|
}
|
|
function mouseupSV(e) {
|
|
window.removeEventListener("mousemove", handleChangeSV);
|
|
window.removeEventListener("mouseup", mouseupSV);
|
|
}
|
|
function handleChangeHue(e) {
|
|
let w = hueSlider.value.clientWidth;
|
|
let x = e.pageX - saturationValue.value.getBoundingClientRect().left;
|
|
x = x < w && x > 0 ? x : x > w ? w : 0;
|
|
hue.value = Math.floor(x / w * 360 + 0.5);
|
|
let { r, g, b } = hsv2rgb(hue.value, saturation.value, value.value);
|
|
red.value = r;
|
|
green.value = g;
|
|
blue.value = b;
|
|
hueSliderStyle.value = `left: ${x >= w - 6 ? w - 6 : x}px;`;
|
|
}
|
|
function mousedownHue(e) {
|
|
handleChangeHue(e);
|
|
window.addEventListener("mousemove", handleChangeHue);
|
|
window.addEventListener("mouseup", mouseupHue);
|
|
}
|
|
function mouseupHue(e) {
|
|
window.removeEventListener("mousemove", handleChangeHue);
|
|
window.removeEventListener("mouseup", mouseupHue);
|
|
}
|
|
function handleChangeAlpha(e) {
|
|
let w = alphaSlider.value.clientWidth;
|
|
let x = e.pageX - saturationValue.value.getBoundingClientRect().left;
|
|
x = x < w && x > 0 ? x : x > w ? w : 0;
|
|
alpha.value = Math.floor(x / w * 100 + 0.5) / 100;
|
|
alphaSliderStyle.value = `left: ${x >= w - 6 ? w - 6 : x}px;`;
|
|
}
|
|
function mousedownAlpha(e) {
|
|
handleChangeAlpha(e);
|
|
window.addEventListener("mousemove", handleChangeAlpha);
|
|
window.addEventListener("mouseup", mouseupAlpha);
|
|
}
|
|
function mouseupAlpha(e) {
|
|
window.removeEventListener("mousemove", handleChangeAlpha);
|
|
window.removeEventListener("mouseup", mouseupAlpha);
|
|
}
|
|
function parseColor(color) {
|
|
if (color) {
|
|
let r, g, b, a;
|
|
if (typeof color === "string") {
|
|
if (/^#?([0-9a-fA-F]{6}|[0-9a-fA-F]{8}|[0-9a-fA-F]{3}|[0-9a-fA-F]{4})$/.test(color)) {
|
|
return hex2rgba(color);
|
|
}
|
|
} else {
|
|
r = color.r > 255 ? 255 : color.r < 0 ? 0 : color.r;
|
|
g = color.g > 255 ? 255 : color.g < 0 ? 0 : color.g;
|
|
b = color.b > 255 ? 255 : color.b < 0 ? 0 : color.b;
|
|
a = color.a > 1 ? 1 : color.a < 0 ? 0 : color.a;
|
|
return { r, g, b, a };
|
|
}
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
function hsv2rgb(h2, s, v) {
|
|
h2 === 360 && (h2 = 0);
|
|
let i = Math.floor(h2 / 60) % 6;
|
|
let f = h2 / 60 - i;
|
|
let p = v * (1 - s);
|
|
let q = v * (1 - s * f);
|
|
let t = v * (1 - s * (1 - f));
|
|
let r, g, b;
|
|
if (i === 0) {
|
|
r = v;
|
|
g = t;
|
|
b = p;
|
|
} else if (i === 1) {
|
|
r = q;
|
|
g = v;
|
|
b = p;
|
|
} else if (i === 2) {
|
|
r = p;
|
|
g = v;
|
|
b = t;
|
|
} else if (i === 3) {
|
|
r = p;
|
|
g = q;
|
|
b = v;
|
|
} else if (i === 4) {
|
|
r = t;
|
|
g = p;
|
|
b = v;
|
|
} else if (i === 5) {
|
|
r = v;
|
|
g = p;
|
|
b = q;
|
|
}
|
|
r = Math.floor(r * 255 + 0.5);
|
|
g = Math.floor(g * 255 + 0.5);
|
|
b = Math.floor(b * 255 + 0.5);
|
|
return { r, g, b };
|
|
}
|
|
function rgb2hsv(r, g, b) {
|
|
let r1 = r / 255;
|
|
let g1 = g / 255;
|
|
let b1 = b / 255;
|
|
let cmax = Math.max(r1, g1, b1);
|
|
let cmin = Math.min(r1, g1, b1);
|
|
let d = cmax - cmin;
|
|
let h2, s, v;
|
|
if (d === 0) {
|
|
h2 = 0;
|
|
} else if (cmax === r1) {
|
|
h2 = (60 * (g1 - b1) / d + 360) % 360;
|
|
} else if (cmax === g1) {
|
|
h2 = 60 * ((b1 - r1) / d + 2);
|
|
} else if (cmax === b1) {
|
|
h2 = 60 * ((r1 - g1) / d + 4);
|
|
}
|
|
if (cmax === 0) {
|
|
s = 0;
|
|
} else {
|
|
s = d / cmax;
|
|
}
|
|
v = cmax;
|
|
h2 = Math.floor(h2 + 0.5);
|
|
s = Math.floor(s * 100 + 0.5) / 100;
|
|
v = Math.floor(v * 100 + 0.5) / 100;
|
|
return { h: h2, s, v };
|
|
}
|
|
function rgba2hex(r, g, b, a = 1) {
|
|
r = parseInt(r);
|
|
let r1 = r.toString(16).length !== 2 ? "0" + r.toString(16) : r.toString(16);
|
|
g = parseInt(g);
|
|
let g1 = g.toString(16).length !== 2 ? "0" + g.toString(16) : g.toString(16);
|
|
b = parseInt(b);
|
|
let b1 = b.toString(16).length !== 2 ? "0" + b.toString(16) : b.toString(16);
|
|
a = parseFloat(a);
|
|
let a1 = "";
|
|
if (a !== 1) {
|
|
let temp = Math.floor(256 * a);
|
|
a1 = temp.toString(16).length !== 2 ? "0" + temp.toString(16) : temp.toString(16);
|
|
}
|
|
return `#${r1}${g1}${b1}${a1}`.toUpperCase();
|
|
}
|
|
function hex2rgba(s) {
|
|
if (/^#?[0-9a-fA-F]{3}$/.test(s)) {
|
|
let b = s.substring(s.length - 1, s.length);
|
|
let g = s.substring(s.length - 2, s.length - 1);
|
|
let r = s.substring(s.length - 3, s.length - 2);
|
|
return hex2rgba(`${r + r}${g + g}${b + b}`);
|
|
}
|
|
if (/^#?[0-9a-fA-F]{4}$/.test(s)) {
|
|
let a = s.substring(s.length - 1, s.length);
|
|
let b = s.substring(s.length - 2, s.length - 1);
|
|
let g = s.substring(s.length - 3, s.length - 2);
|
|
let r = s.substring(s.length - 4, s.length - 3);
|
|
return hex2rgba(`${r + r}${g + g}${b + b}${a + a}`);
|
|
}
|
|
if (/^#?[0-9a-fA-F]{6}$/.test(s)) {
|
|
let b = parseInt("0x" + s.substring(s.length - 2, s.length));
|
|
let g = parseInt("0x" + s.substring(s.length - 4, s.length - 2));
|
|
let r = parseInt("0x" + s.substring(s.length - 6, s.length - 4));
|
|
return { r, g, b, a: 1 };
|
|
}
|
|
if (/^#?[0-9a-fA-F]{8}$/.test(s)) {
|
|
let a = parseInt("0x" + s.substring(s.length - 2, s.length));
|
|
a = a / 255;
|
|
let b = parseInt("0x" + s.substring(s.length - 4, s.length - 2));
|
|
let g = parseInt("0x" + s.substring(s.length - 6, s.length - 4));
|
|
let r = parseInt("0x" + s.substring(s.length - 8, s.length - 6));
|
|
return { r, g, b, a };
|
|
}
|
|
}
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createBlock(_sfc_main$1y, {
|
|
disabled: __props.disabled,
|
|
contentClass: __props.contentClass,
|
|
contentStyle: __props.contentStyle,
|
|
updateAtScroll: ""
|
|
}, {
|
|
content: withCtx(() => [
|
|
createElementVNode("div", _hoisted_3$f, [
|
|
createElementVNode("div", {
|
|
class: "saturation-value",
|
|
ref_key: "saturationValue",
|
|
ref: saturationValue,
|
|
onMousedown: mousedownSV
|
|
}, [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle(`background-color: hsl(${unref(hue)}, 100%, 50%);`)
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: "point",
|
|
style: normalizeStyle(unref(pointStyle))
|
|
}, null, 4)
|
|
], 4),
|
|
_hoisted_4$c,
|
|
_hoisted_5$a
|
|
], 544),
|
|
createElementVNode("div", _hoisted_6$8, [
|
|
createElementVNode("div", _hoisted_7$8, [
|
|
createElementVNode("div", {
|
|
class: "hue-slider",
|
|
ref_key: "hueSlider",
|
|
ref: hueSlider,
|
|
onMousedown: mousedownHue
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: "slider",
|
|
style: normalizeStyle(unref(hueSliderStyle))
|
|
}, null, 4)
|
|
], 544),
|
|
createElementVNode("div", {
|
|
class: "alpha-slider",
|
|
ref_key: "alphaSlider",
|
|
ref: alphaSlider,
|
|
onMousedown: mousedownAlpha
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: "slider",
|
|
style: normalizeStyle(unref(alphaSliderStyle))
|
|
}, null, 4),
|
|
createElementVNode("div", {
|
|
style: normalizeStyle(`background: linear-gradient(to right, rgba(0,0,0,0), ${unref(colorObj).rgb});width: 100%;height: 100%`)
|
|
}, null, 4)
|
|
], 544)
|
|
]),
|
|
__props.eyeDropper ? (openBlock(), createElementBlock("div", {
|
|
key: 0,
|
|
onClick: openEyeDropper,
|
|
style: { "margin-left": "5px" }
|
|
}, [
|
|
createVNode(EyeDropper)
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("div", _hoisted_8$5, [
|
|
createElementVNode("div", {
|
|
style: normalizeStyle(`background-color: ${unref(colorObj).rgba};width: 100%;height: 100%;box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .15), inset 0 0 4px rgba(0, 0, 0, .25);`)
|
|
}, null, 4)
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_9$4, [
|
|
createElementVNode("div", _hoisted_10$4, [
|
|
createElementVNode("label", null, [
|
|
createElementVNode("input", {
|
|
value: unref(colorObj).hex8,
|
|
onInput: hexChange,
|
|
spellcheck: "false"
|
|
}, null, 40, _hoisted_11$4)
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_12$3, [
|
|
createElementVNode("label", null, [
|
|
createElementVNode("input", {
|
|
value: unref(red),
|
|
onInput: redChange
|
|
}, null, 40, _hoisted_13$3)
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_14$2, [
|
|
createElementVNode("label", null, [
|
|
createElementVNode("input", {
|
|
value: unref(green),
|
|
onInput: greenChange
|
|
}, null, 40, _hoisted_15$1)
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_16$1, [
|
|
createElementVNode("label", null, [
|
|
createElementVNode("input", {
|
|
value: unref(blue),
|
|
onInput: blueChange
|
|
}, null, 40, _hoisted_17$1)
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_18, [
|
|
createElementVNode("label", null, [
|
|
createElementVNode("input", {
|
|
value: unref(alpha),
|
|
onInput: alphaChange
|
|
}, null, 40, _hoisted_19)
|
|
])
|
|
])
|
|
]),
|
|
createElementVNode("ul", _hoisted_20, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.preset, (item) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
key: item,
|
|
style: normalizeStyle(`background-color: ${item}`),
|
|
onClick: ($event) => presetChange(item)
|
|
}, null, 12, _hoisted_21);
|
|
}), 128))
|
|
])
|
|
])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("div", {
|
|
class: normalizeClass(["layui-unselect layui-colorpicker", [{ "layui-colorpicker-disabled": __props.disabled }]])
|
|
}, [
|
|
createElementVNode("span", null, [
|
|
createElementVNode("span", {
|
|
class: "layui-colorpicker-trigger-span",
|
|
"lay-type": "",
|
|
style: normalizeStyle(`background-color: ${unref(colorObj).rgba}`)
|
|
}, _hoisted_2$i, 4)
|
|
])
|
|
], 2)
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled", "contentClass", "contentStyle"]);
|
|
};
|
|
}
|
|
});
|
|
const component$o = withInstall(_sfc_main$t);
|
|
const component$n = withInstall(_sfc_main$11);
|
|
var index$e = /* @__PURE__ */ (() => ":root{--button-primary-text-color: #fff;--button-primary-background-color: var(--global-primary-color);--button-primary-border-color: var(--global-primary-color);--button-normal-text-color: #fff;--button-normal-background-color: var(--global-normal-color);--button-normal-border-color: var(--global-normal-color);--button-warm-text-color: #fff;--button-warm-background-color: var(--global-warm-color);--button-warm-border-color: var(--global-warm-color);--button-danger-text-color: #fff;--button-danger-background-color: var(--global-danger-color);--button-danger-border-color: var(--global-danger-color);--button-border-radius: var(--global-border-radius);--button-border-color: var(--global-neutral-color-6);--button-background-color: 0 0;--button-text-color: #666}.layui-btn{height:38px;line-height:36px;padding:0 18px;font-size:14px;text-align:center;white-space:nowrap;color:var(--button-text-color);background:var(--button-background-color);border-radius:var(--button-border-radius);border-color:var(--button-border-color);border-width:1px;border-style:solid;cursor:pointer}.layui-btn-primary{color:var(--button-primary-text-color);background-color:var(--button-primary-background-color);border-color:var(--button-primary-border-color)}.layui-btn-normal{color:var(--button-normal-text-color);background-color:var(--button-normal-background-color);border-color:var(--button-normal-border-color)}.layui-btn-warm{color:var(--button-warm-text-color);background-color:var(--button-warm-background-color);border-color:var(--button-warm-border-color)}.layui-btn-danger{color:var(--button-danger-text-color);background-color:var(--button-danger-background-color);border-color:var(--button-danger-border-color)}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80)}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:12px!important}.layui-btn-fluid{width:100%}.layui-btn-radius{border-radius:100px}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border-color:#eee!important;background-color:#fbfbfb!important;color:#d2d2d2!important;cursor:not-allowed!important;opacity:1}.layui-btn+.layui-btn{margin-left:10px}.layui-btn .layui-icon{padding:0 2px;vertical-align:middle\\ ;vertical-align:bottom}:root{--input-border-radius: var(--global-border-radius);--input-border-color: var(--global-neutral-color-3)}.layui-input{width:100%;height:38px;line-height:38px;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);display:inline-flex}.layui-input input{height:38px;line-height:38px;background-color:#fff;color:#000000d9;padding-left:10px;display:inline-block;border:none;height:100%;width:100%}.layui-input-append{background-color:#fafafa;border-left:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-prepend{background-color:#fafafa;border-right:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-wrapper{width:100%;display:inline-flex;border:none}.layui-input:hover,.layui-input:focus-within{border-color:#d2d2d2}.layui-input-clear,.layui-input-prefix,.layui-input-suffix,.layui-input-password{background-color:#fff}.layui-input-clear,.layui-input-password,.layui-input-prefix,.layui-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-input-has-prefix input{padding:0}.layui-input-clear,.layui-input-password{color:#00000073}.layui-input-clear:hover{opacity:.6}.layui-input input::-webkit-input-placeholder{line-height:1.3}.layui-input input::-ms-reveal{display:none}.layui-input-disabled{border-color:var(--input-border-color)!important}.layui-input-disabled{opacity:.6}.layui-input-disabled,.layui-input-disabled *{cursor:not-allowed!important}.layui-input[size=lg]{height:44px}.layui-input[size=lg] .layui-input{height:44px;line-height:44px}.layui-input[size=md]{height:38px}.layui-input[size=md] .layui-input{height:38px;line-height:38px}.layui-input[size=sm]{height:32px}.layui-input[size=sm] .layui-input{height:32px;line-height:32px}.layui-input[size=xs]{height:26px}.layui-input[size=xs] .layui-input{height:26px;line-height:26px}.layui-input-number+.layui-input-number{margin-left:10px}.layui-input-number{position:relative;display:inline-block;box-sizing:border-box;border:1px solid #eee;border-color:#eee;border-radius:var(--global-border-radius);overflow:hidden}.layui-input-number .layui-input{border:0}.layui-input-number .layui-input input{text-align:center;padding-left:0}.layui-input-number .layui-control-btn{position:absolute;box-sizing:border-box;border:0;border-color:#eee;border-style:solid;border-radius:0;padding:0;text-align:center;top:0}.layui-input-number .layui-control-btn:hover{color:var(--global-primary-color)}.layui-input-number .layui-control-btn.layui-subtraction-btn{border-right-width:1px}.layui-input-number .layui-control-btn.layui-addition-btn{border-left-width:1px;right:0}.layui-input-number .layui-control-btn .layui-icon{padding:0}.layui-input-number .layui-input input::-webkit-outer-spin-button,.layui-input-number .layui-input input::-webkit-inner-spin-button{-webkit-appearance:none}.layui-input-number .layui-input input[type=number]{-moz-appearance:textfield}.layui-input-number[position=right] .layui-subtraction-btn{right:0;border-right-width:0px;border-left-width:1px}.layui-input-number[position=right] .layui-addition-btn{border-bottom-width:1px}.layui-input-number[size=lg]{height:44px;width:200px}.layui-input-number[size=lg] .layui-input{height:44px;line-height:44px;padding:0 44px}.layui-input-number[size=lg] .layui-control-btn{width:44px;height:44px;line-height:44px;z-index:1}.layui-input-number[size=lg][position=right] .layui-input{padding:0 44px 0 0}.layui-input-number[size=lg][position=right] .layui-control-btn{height:22px;line-height:22px}.layui-input-number[size=lg][position=right] .layui-subtraction-btn{top:21px}.layui-input-number[size=md]{height:38px;width:160px}.layui-input-number[size=md] .layui-input{height:38px;line-height:38px;padding:0 38px}.layui-input-number[size=md] .layui-control-btn{width:38px;height:38px;line-height:38px;z-index:1}.layui-input-number[size=md][position=right] .layui-input{padding:0 38px 0 0}.layui-input-number[size=md][position=right] .layui-control-btn{height:19px;line-height:19px}.layui-input-number[size=md][position=right] .layui-subtraction-btn{top:18px}.layui-input-number[size=sm]{height:32px;width:140px}.layui-input-number[size=sm] .layui-input{height:32px;line-height:32px;padding:0 32px}.layui-input-number[size=sm] .layui-control-btn{width:32px;height:32px;line-height:32px;z-index:1}.layui-input-number[size=sm][position=right] .layui-input{padding:0 32px 0 0}.layui-input-number[size=sm][position=right] .layui-control-btn{height:16px;line-height:16px}.layui-input-number[size=sm][position=right] .layui-subtraction-btn{top:15px}.layui-input-number[size=xs]{height:26px;width:120px}.layui-input-number[size=xs] .layui-input{height:26px;line-height:26px;padding:0 26px}.layui-input-number[size=xs] .layui-control-btn{width:26px;height:26px;line-height:26px;z-index:1}.layui-input-number[size=xs][position=right] .layui-input{padding:0 26px 0 0}.layui-input-number[size=xs][position=right] .layui-control-btn{height:13px;line-height:13px}.layui-input-number[size=xs][position=right] .layui-subtraction-btn{top:12px}\n")();
|
|
function add(arg1, arg2) {
|
|
var r1, r2, m, c;
|
|
try {
|
|
r1 = arg1.toString().split(".")[1].length;
|
|
} catch (e) {
|
|
r1 = 0;
|
|
}
|
|
try {
|
|
r2 = arg2.toString().split(".")[1].length;
|
|
} catch (e) {
|
|
r2 = 0;
|
|
}
|
|
c = Math.abs(r1 - r2);
|
|
m = Math.pow(10, Math.max(r1, r2));
|
|
if (c > 0) {
|
|
var cm = Math.pow(10, c);
|
|
if (r1 > r2) {
|
|
arg1 = Number(arg1.toString().replace(".", ""));
|
|
arg2 = Number(arg2.toString().replace(".", "")) * cm;
|
|
} else {
|
|
arg1 = Number(arg1.toString().replace(".", "")) * cm;
|
|
arg2 = Number(arg2.toString().replace(".", ""));
|
|
}
|
|
} else {
|
|
arg1 = Number(arg1.toString().replace(".", ""));
|
|
arg2 = Number(arg2.toString().replace(".", ""));
|
|
}
|
|
return (arg1 + arg2) / m;
|
|
}
|
|
function sub(arg1, arg2) {
|
|
var r1, r2, m, c;
|
|
try {
|
|
r1 = arg1.toString().split(".")[1].length;
|
|
} catch (e) {
|
|
r1 = 0;
|
|
}
|
|
try {
|
|
r2 = arg2.toString().split(".")[1].length;
|
|
} catch (e) {
|
|
r2 = 0;
|
|
}
|
|
c = Math.abs(r1 - r2);
|
|
m = Math.pow(10, Math.max(r1, r2));
|
|
if (c > 0) {
|
|
var cm = Math.pow(10, c);
|
|
if (r1 > r2) {
|
|
arg1 = Number(arg1.toString().replace(".", ""));
|
|
arg2 = Number(arg2.toString().replace(".", "")) * cm;
|
|
} else {
|
|
arg1 = Number(arg1.toString().replace(".", "")) * cm;
|
|
arg2 = Number(arg2.toString().replace(".", ""));
|
|
}
|
|
} else {
|
|
arg1 = Number(arg1.toString().replace(".", ""));
|
|
arg2 = Number(arg2.toString().replace(".", ""));
|
|
}
|
|
return (arg1 - arg2) / m;
|
|
}
|
|
const _hoisted_1$j = ["position", "size"];
|
|
const _hoisted_2$h = { class: "layui-input-number-input" };
|
|
const __default__$r = {
|
|
name: "LayInputNumber"
|
|
};
|
|
const _sfc_main$s = defineComponent({
|
|
...__default__$r,
|
|
props: {
|
|
modelValue: { default: 0 },
|
|
name: null,
|
|
disabled: { type: Boolean, default: false },
|
|
disabledInput: { type: Boolean, default: false },
|
|
size: { default: "md" },
|
|
step: { default: 1 },
|
|
position: null,
|
|
min: { default: -Infinity },
|
|
max: { default: Infinity }
|
|
},
|
|
emits: ["update:modelValue", "change"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
let num = ref(props.modelValue);
|
|
watch(num, (val) => {
|
|
if (props.max !== Infinity && val > props.max) {
|
|
num.value = props.max;
|
|
return;
|
|
}
|
|
if (props.min !== -Infinity && val < props.min) {
|
|
num.value = props.min;
|
|
return;
|
|
}
|
|
if (isNumber2(num.value)) {
|
|
tempValue.value = Number(num.value);
|
|
emit("update:modelValue", tempValue.value);
|
|
emit("change", tempValue.value);
|
|
}
|
|
});
|
|
watch(() => props.modelValue, (val) => {
|
|
if (val !== num.value) {
|
|
num.value = props.modelValue;
|
|
}
|
|
});
|
|
let timer = 0;
|
|
const tempValue = ref(0);
|
|
const minControl = computed$1(() => {
|
|
if (props.disabled) {
|
|
return true;
|
|
}
|
|
if (props.min !== -Infinity) {
|
|
return Number(props.min) >= num.value;
|
|
}
|
|
});
|
|
const maxControl = computed$1(() => {
|
|
if (props.disabled) {
|
|
return true;
|
|
}
|
|
if (props.max !== Infinity) {
|
|
return Number(props.max) <= num.value;
|
|
}
|
|
});
|
|
const addition = function() {
|
|
num.value = add(num.value, props.step);
|
|
};
|
|
const subtraction = function() {
|
|
num.value = sub(num.value, props.step);
|
|
};
|
|
const longDown = function(fn) {
|
|
cancelLongDown();
|
|
if (props.disabled) {
|
|
return;
|
|
}
|
|
timer = setInterval(() => fn.call(timer), 150);
|
|
fn.call(timer);
|
|
};
|
|
const cancelLongDown = function() {
|
|
clearInterval(timer);
|
|
};
|
|
const inputChange = function() {
|
|
if (isNumber2(num.value)) {
|
|
tempValue.value = Number(num.value);
|
|
return;
|
|
}
|
|
num.value = tempValue.value;
|
|
};
|
|
const isNumber2 = function(num2) {
|
|
return !isNaN(num2);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: "layui-input-number",
|
|
position: __props.position,
|
|
size: __props.size
|
|
}, [
|
|
createVNode(_sfc_main$1C, {
|
|
size: "lg",
|
|
onMouseup: cancelLongDown,
|
|
onMousedown: _cache[0] || (_cache[0] = ($event) => longDown(subtraction)),
|
|
onBlur: cancelLongDown,
|
|
disabled: unref(minControl),
|
|
class: "layui-control-btn layui-subtraction-btn"
|
|
}, {
|
|
default: withCtx(() => [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: __props.position === "right" ? "layui-icon-down" : "layui-icon-subtraction"
|
|
}, null, 8, ["type"])
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled"]),
|
|
createElementVNode("div", _hoisted_2$h, [
|
|
createVNode(_sfc_main$1v, {
|
|
max: __props.max,
|
|
min: __props.min,
|
|
name: __props.name,
|
|
modelValue: unref(num),
|
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(num) ? num.value = $event : num = $event),
|
|
readonly: __props.disabledInput || __props.disabled,
|
|
disabled: __props.disabledInput || __props.disabled,
|
|
onInput: inputChange,
|
|
type: "number"
|
|
}, null, 8, ["max", "min", "name", "modelValue", "readonly", "disabled"])
|
|
]),
|
|
createVNode(_sfc_main$1C, {
|
|
size: "lg",
|
|
onMouseup: cancelLongDown,
|
|
onMousedown: _cache[2] || (_cache[2] = ($event) => longDown(addition)),
|
|
onBlur: cancelLongDown,
|
|
disabled: unref(maxControl),
|
|
class: "layui-control-btn layui-addition-btn"
|
|
}, {
|
|
default: withCtx(() => [
|
|
createVNode(unref(_sfc_main$2E), {
|
|
type: __props.position === "right" ? "layui-icon-up" : "layui-icon-addition"
|
|
}, null, 8, ["type"])
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled"])
|
|
], 8, _hoisted_1$j);
|
|
};
|
|
}
|
|
});
|
|
const component$m = withInstall(_sfc_main$s);
|
|
var index$d = /* @__PURE__ */ (() => ".lay-skeleton .lay-skeleton-item,.lay-skeleton .lay-skeleton-type--p{height:16px;border-radius:5px;margin-bottom:16px;background:#eeeeee}.lay-skeleton .lay-skeleton-type--image{width:240px;height:240px;background:#eeeeee;display:flex;justify-content:center;align-items:center}.lay-skeleton .lay-skeleton-type--image i{font-size:40px}.lay-skeleton-animated .lay-skeleton-type--image{width:240px;height:240px!important;display:flex;justify-content:center;align-items:center}.lay-skeleton-animated .lay-skeleton-type--image i{font-size:40px}.lay-skeleton-animated .lay-skeleton-item{height:16px;border-radius:5px;margin-bottom:16px;background:#eeeeee;background:linear-gradient(90deg,#f2f2f2 25%,#ececec 37%,#f2f2f2 63%);background-size:400% 100%;animation:lay-skeleton-loading 1.2s ease infinite}.lay-skeleton-first{width:30%}.lay-skeleton-last{width:62.8%}@keyframes lay-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}\n")();
|
|
const _hoisted_1$i = { key: 0 };
|
|
const __default__$q = {
|
|
name: "LaySkeletonItem"
|
|
};
|
|
const _sfc_main$r = defineComponent({
|
|
...__default__$q,
|
|
props: {
|
|
type: { default: "p" }
|
|
},
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
class: ["lay-skeleton-item", `lay-skeleton-type--${__props.type}`]
|
|
}, _ctx.$attrs), [
|
|
__props.type === "image" ? (openBlock(), createElementBlock("div", _hoisted_1$i, [
|
|
createVNode(unref(_sfc_main$2E), { type: "layui-icon-picture" })
|
|
])) : createCommentVNode("", true)
|
|
], 16);
|
|
};
|
|
}
|
|
});
|
|
const __default__$p = {
|
|
name: "LaySkeleton"
|
|
};
|
|
const _sfc_main$q = defineComponent({
|
|
...__default__$p,
|
|
props: {
|
|
rows: { default: 4 },
|
|
loading: { type: Boolean, default: false },
|
|
animated: { type: Boolean, default: false }
|
|
},
|
|
setup(__props) {
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
class: ["lay-skeleton", __props.animated ? "lay-skeleton-animated" : ""]
|
|
}, _ctx.$attrs), [
|
|
__props.loading ? renderSlot(_ctx.$slots, "skeleton", { key: 0 }, () => [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (item) => {
|
|
return openBlock(), createBlock(_sfc_main$r, {
|
|
key: item,
|
|
class: normalizeClass([
|
|
item === 1 ? "lay-skeleton-first" : "",
|
|
item === __props.rows ? "lay-skeleton-last" : ""
|
|
]),
|
|
type: "p"
|
|
}, null, 8, ["class"]);
|
|
}), 128))
|
|
]) : renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
], 16);
|
|
};
|
|
}
|
|
});
|
|
const component$l = withInstall(_sfc_main$q);
|
|
const component$k = withInstall(_sfc_main$r);
|
|
var index$c = /* @__PURE__ */ (() => '.lay-step{display:flex;flex-wrap:nowrap}.lay-step .lay-step-item{flex-grow:1;position:relative}.lay-step .is-item-center{text-align:center}.lay-step .lay-step-item-last{flex-grow:0!important}.lay-step .lay-step-item-pace{position:relative;z-index:10;cursor:pointer;width:24px;height:24px;border:1px #8d8d8d solid;border-radius:50%;text-align:center;line-height:24px;background:#ffffff}.lay-step .is-center{margin:0 auto}.lay-step .lay-step-item-active{border:1px #5fb878 solid;color:#5fb878}.lay-step .lay-step-item-wait{border:1px #000000 solid;color:#000}.lay-step .lay-step-item--success{border:1px #5fb878 solid;color:#fff;background:#5fb878}.lay-step .lay-step-item--fail{border:1px #ff5722 solid;color:#fff;background:#ff5722}.lay-step .lay-step-item--warning{border:1px #ffb800 solid;color:#fff;background:#ffb800}.lay-step .lay-step-item--primary{border:1px #1e9fff solid;color:#fff;background:#1e9fff}.lay-step .lay-step-item-success{border:1px #5fb878 solid;color:#fff;background:#5fb878}.lay-step .lay-step-item-fail{border:1px #ff5722 solid;color:#fff;background:#ff5722}.lay-step .lay-step-item-warning{border:1px #ffb800 solid;color:#fff;background:#ffb800}.lay-step .lay-step-item-primary{border:1px #1e9fff solid;color:#fff;background:#1e9fff}.lay-step .lay-step-item-content{color:#8d8d8d;cursor:pointer}.lay-step .lay-step-item-content .lay-step-item-content-title{font-weight:700;font-size:16px}.lay-step .lay-step-item-content-row{color:#8d8d8d;position:absolute;top:5px;left:24px;width:calc(100% - 26px)}.lay-step .lay-step-item-content-row .lay-step-item-content-title{word-wrap:break-word;max-width:calc(100% - 8px);font-weight:700;display:inline-block;margin-left:2px;background:#ffffff;padding:0 8px;font-size:16px}.lay-step .lay-step-item-content-active,.lay-step .lay-step-item-content--success{color:#5fb878}.lay-step .lay-step-item-content--fail{color:#ff5722}.lay-step .lay-step-item-content--warning{color:#ffb800}.lay-step .lay-step-item-content--primary{color:#1e9fff}.lay-step .lay-step-item-content-wait{color:#000}.lay-step .lay-step-item-content-success{color:#5fb878}.lay-step .lay-step-item-content-fail{color:#ff5722}.lay-step .lay-step-item-content-warning{color:#ffb800}.lay-step .lay-step-item-content-primary{color:#1e9fff}.lay-step .lay-step-item-line{position:relative}.lay-step .lay-step-item-line:before{content:"";position:absolute;top:50%;display:block;height:1px;width:100%;background:#c9c5c5}.lay-step .is-line-center:before{left:50%}.lay-step .lay-step-item-line-active:before{transition:background .15s;background:#5fb878!important}.lay-step .lay-step-item-line-fail:before{transition:background .15s;background:#ff5722!important}.lay-step .lay-step-item-line-warning:before{transition:background .15s;background:#ffb800!important}.lay-step .lay-step-item-line-primary:before{transition:background .15s;background:#1e9fff!important}.lay-step .lay-step-simple{height:30px;padding:0 8px;line-height:30px;color:#fff;background-color:#cecece;cursor:pointer}.lay-step .lay-step-item-simple{padding:0 18px}.lay-step .lay-step-item-simple:after{content:"";position:absolute;top:0;left:0;right:auto;bottom:auto;border:15px solid;border-color:transparent transparent transparent #cecece;background-color:transparent;border-radius:0;display:block;height:auto;width:auto}.lay-step .lay-step-item-simple:before{content:"";position:absolute;top:0;left:0;right:auto;bottom:auto;border:15px solid;border-color:transparent transparent transparent #cecece;background-color:transparent;border-radius:0;display:block;height:auto;width:auto}.lay-step .lay-step-item-simple-border:before{left:1px;border-color:transparent transparent transparent #ffffff}.lay-step .lay-step-item-simple-active{background-color:#9fd4ae}.lay-step .lay-step-item-simple-success{background-color:#5fb878}.lay-step .lay-step-item-simple-fail{background-color:#ff5722}.lay-step .lay-step-item-simple-warning{background-color:#ffb800}.lay-step .lay-step-item-simple-primary{background-color:#1e9fff}.lay-step .lay-step-item-simple-active-border:after{border-color:transparent transparent transparent #9fd4ae!important}.lay-step .lay-step-item-simple-success-border:after{border-color:transparent transparent transparent #5fb878!important}.lay-step .lay-step-item-simple-fail-border:after{border-color:transparent transparent transparent #ff5722!important}.lay-step .lay-step-item-simple-warning-border:after{border-color:transparent transparent transparent #ffb800!important}.lay-step .lay-step-item-simple-primary-border:after{border-color:transparent transparent transparent #1e9fff!important}.lay-step-column{height:100%;flex-flow:column}.lay-step-column .lay-step-item-line{position:relative;height:100%;width:24px}.lay-step-column .lay-step-item-line:before{content:"";position:absolute;top:0;left:50%;display:block;width:1px;height:100%;background:#c9c5c5}.lay-step-column .lay-step-item-content{margin-left:8px}.lay-step-column .is-vertical{display:flex}\n')();
|
|
const __default__$o = {
|
|
name: "LayStep"
|
|
};
|
|
const _sfc_main$p = defineComponent({
|
|
...__default__$o,
|
|
props: {
|
|
active: { default: 0 },
|
|
center: { type: Boolean, default: false },
|
|
direction: { default: "horizontal" },
|
|
space: { default: "auto" },
|
|
currentStatus: { default: "success" },
|
|
composition: { default: "default" },
|
|
simple: { type: Boolean, default: false }
|
|
},
|
|
emits: ["onChange"],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const steps = ref([]);
|
|
const change3 = (index2) => {
|
|
emits("onChange", index2 - 1);
|
|
};
|
|
watch(steps, () => {
|
|
steps.value.forEach((instance, index2) => {
|
|
instance.setIndex(index2);
|
|
});
|
|
});
|
|
provide("LayStep", {
|
|
props,
|
|
steps,
|
|
change: change3
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["lay-step", __props.direction !== "vertical" ? "" : "lay-step-column"])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$j = withInstall(_sfc_main$p);
|
|
const _hoisted_1$h = { key: 0 };
|
|
const _hoisted_2$g = { class: "lay-step-item-content-title" };
|
|
const __default__$n = {
|
|
name: "LayStepItem"
|
|
};
|
|
const _sfc_main$o = defineComponent({
|
|
...__default__$n,
|
|
props: {
|
|
title: { default: "" },
|
|
content: { default: "" },
|
|
icon: { default: "" },
|
|
status: { default: "" }
|
|
},
|
|
setup(__props) {
|
|
const index2 = ref(-1);
|
|
const parents = inject("LayStep");
|
|
const currentInstance = getCurrentInstance();
|
|
const setIndex = (val) => {
|
|
index2.value = val;
|
|
};
|
|
const onChange = (index22) => {
|
|
parents.change(index22);
|
|
};
|
|
const stepsCount = computed$1(() => {
|
|
return parents.steps.value.length;
|
|
});
|
|
const currentStatus = computed$1(() => {
|
|
return parents.props.currentStatus;
|
|
});
|
|
const simple = computed$1(() => {
|
|
return parents.props.simple;
|
|
});
|
|
const composition = computed$1(() => {
|
|
return parents.props.composition;
|
|
});
|
|
const isCurrent = computed$1(() => {
|
|
return parents.props.active;
|
|
});
|
|
const isCurrentBorder = computed$1(() => {
|
|
return parents.props.active + 1;
|
|
});
|
|
const space = computed$1(() => {
|
|
return parents.props.space;
|
|
});
|
|
const isVertical = computed$1(() => {
|
|
return parents.props.direction === "vertical";
|
|
});
|
|
const isCenter = computed$1(() => {
|
|
return parents.props.center;
|
|
});
|
|
const isLineActive = computed$1(() => {
|
|
return index2.value <= parents.props.active - 1;
|
|
});
|
|
const isWait = computed$1(() => {
|
|
return index2.value === parents.props.active + 1;
|
|
});
|
|
const isSimpleActive = computed$1(() => {
|
|
return index2.value - 1 <= parents.props.active;
|
|
});
|
|
const isActive = computed$1(() => {
|
|
return index2.value <= parents.props.active;
|
|
});
|
|
const isLast = computed$1(() => {
|
|
var _a2;
|
|
return ((_a2 = parents.steps.value[stepsCount.value - 1]) == null ? void 0 : _a2.itemId) === currentInstance.uid;
|
|
});
|
|
const isStart = computed$1(() => {
|
|
var _a2;
|
|
return ((_a2 = parents.steps.value[0]) == null ? void 0 : _a2.itemId) === currentInstance.uid;
|
|
});
|
|
const stepItemState = reactive({
|
|
itemId: computed$1(() => currentInstance == null ? void 0 : currentInstance.uid),
|
|
setIndex
|
|
});
|
|
parents.steps.value = [...parents.steps.value, stepItemState];
|
|
onMounted(() => {
|
|
});
|
|
onBeforeUnmount(() => {
|
|
parents.steps.value = parents.steps.value.filter((instance) => instance.itemId !== currentInstance.uid);
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return !unref(simple) ? (openBlock(), createElementBlock("div", {
|
|
key: 0,
|
|
class: normalizeClass([
|
|
"lay-step-item",
|
|
unref(isLast) && !unref(isCenter) && unref(composition) !== "row" ? "lay-step-item-last" : "",
|
|
unref(isCenter) ? "is-item-center" : "",
|
|
unref(isVertical) ? "is-vertical" : ""
|
|
]),
|
|
style: normalizeStyle({ flexBasis: unref(space), flexGrow: unref(space) === "auto" ? 1 : 0 })
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: normalizeClass([
|
|
!unref(isLast) ? unref(isLineActive) ? `lay-step-item-line lay-step-item-line-${__props.status || "active"}` : "lay-step-item-line" : "",
|
|
unref(isCenter) ? "is-line-center" : ""
|
|
])
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: normalizeClass([
|
|
"lay-step-item-pace",
|
|
unref(isActive) ? `lay-step-item-active` : "",
|
|
unref(isCurrent) === index2.value ? `lay-step-item--${unref(currentStatus)}` : "",
|
|
__props.status ? `lay-step-item-${__props.status}` : "",
|
|
unref(isWait) ? "lay-step-item-wait" : "",
|
|
unref(isCenter) ? "is-center" : ""
|
|
]),
|
|
onClick: _cache[0] || (_cache[0] = ($event) => onChange(index2.value + 1))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "pace", {}, () => [
|
|
__props.icon ? (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 0,
|
|
type: __props.icon
|
|
}, null, 8, ["type"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
!unref(isActive) ? (openBlock(), createElementBlock("span", _hoisted_1$h, toDisplayString$1(index2.value + 1), 1)) : (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 1,
|
|
type: __props.status === "fail" ? "layui-icon-close" : "layui-icon-ok"
|
|
}, null, 8, ["type"]))
|
|
], 64))
|
|
])
|
|
], 2)
|
|
], 2),
|
|
createElementVNode("div", {
|
|
class: normalizeClass([
|
|
"lay-step-item-content",
|
|
unref(composition) === "row" ? "lay-step-item-content-row" : "",
|
|
unref(isActive) ? `lay-step-item-content-active` : "",
|
|
unref(isCurrent) === index2.value ? `lay-step-item-content--${unref(currentStatus)}` : "",
|
|
__props.status ? `lay-step-item-content-${__props.status}` : "",
|
|
unref(isWait) ? "lay-step-item-content-wait" : ""
|
|
]),
|
|
onClick: _cache[1] || (_cache[1] = ($event) => onChange(index2.value + 1))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
createElementVNode("div", _hoisted_2$g, toDisplayString$1(__props.title), 1),
|
|
createElementVNode("p", null, toDisplayString$1(__props.content), 1)
|
|
])
|
|
], 2)
|
|
], 6)) : (openBlock(), createElementBlock("div", {
|
|
key: 1,
|
|
class: normalizeClass([
|
|
"lay-step-item",
|
|
"lay-step-simple",
|
|
!unref(isStart) ? "lay-step-item-simple" : "",
|
|
"lay-step-item-simple-border",
|
|
unref(isActive) ? "lay-step-item-simple-active" : "",
|
|
unref(isCurrent) === index2.value ? `lay-step-item-simple-${unref(currentStatus)}` : "",
|
|
unref(isCurrentBorder) === index2.value ? `lay-step-item-simple-${unref(currentStatus)}-border` : "",
|
|
unref(isSimpleActive) ? "lay-step-item-simple-active-border" : ""
|
|
]),
|
|
onClick: _cache[2] || (_cache[2] = ($event) => onChange(index2.value + 1))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
createTextVNode(toDisplayString$1(index2.value + 1) + "." + toDisplayString$1(__props.title), 1)
|
|
])
|
|
], 2));
|
|
};
|
|
}
|
|
});
|
|
const component$i = withInstall(_sfc_main$o);
|
|
const _hoisted_1$g = { class: "layui-nav-item" };
|
|
const _hoisted_2$f = {
|
|
href: "javascript:void(0)",
|
|
style: { "justify-content": "space-between" }
|
|
};
|
|
const _hoisted_3$e = {
|
|
key: 0,
|
|
class: "layui-sub-menu-icon"
|
|
};
|
|
const _hoisted_4$b = { key: 1 };
|
|
const _hoisted_5$9 = {
|
|
key: 0,
|
|
class: "layui-nav-more"
|
|
};
|
|
const __default__$m = {
|
|
name: "SubMenuPopup"
|
|
};
|
|
const _sfc_main$n = defineComponent({
|
|
...__default__$m,
|
|
props: {
|
|
id: null,
|
|
title: null
|
|
},
|
|
setup(__props) {
|
|
const { level } = useLevel();
|
|
const isTree = inject("isTree");
|
|
const theme = inject("menuTheme");
|
|
const computedTheme = computed$1(() => {
|
|
return theme.value === "light" ? "-light" : "";
|
|
});
|
|
const computedExpandIcon = computed$1(() => {
|
|
if (isTree.value)
|
|
return "layui-icon-right";
|
|
return level.value === 2 ? "layui-icon-down" : "layui-icon-right";
|
|
});
|
|
const computedPlacement = computed$1(() => {
|
|
return !isTree.value && level.value === 2 ? "bottom" : "right-start";
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createBlock(_sfc_main$1y, {
|
|
trigger: "hover",
|
|
class: "layui-sub-menu-popup",
|
|
placement: unref(computedPlacement),
|
|
autoFitMinWidth: false,
|
|
updateAtScroll: true,
|
|
contentOffset: 3
|
|
}, {
|
|
content: withCtx(() => [
|
|
createElementVNode("div", {
|
|
class: normalizeClass([
|
|
"layui-sub-menu-popup-content",
|
|
`layui-sub-menu-popup-theme${unref(computedTheme)}`
|
|
])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 2)
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("li", _hoisted_1$g, [
|
|
createElementVNode("a", _hoisted_2$f, [
|
|
createElementVNode("div", null, [
|
|
_ctx.$slots.icon ? (openBlock(), createElementBlock("i", _hoisted_3$e, [
|
|
renderSlot(_ctx.$slots, "icon")
|
|
])) : createCommentVNode("", true),
|
|
_ctx.$slots.title ? (openBlock(), createElementBlock("span", _hoisted_4$b, [
|
|
renderSlot(_ctx.$slots, "title")
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
_ctx.$slots.expandIcon ? (openBlock(), createElementBlock("span", _hoisted_5$9, [
|
|
renderSlot(_ctx.$slots, "expandIcon", {}, () => [
|
|
createVNode(unref(_sfc_main$2E), { type: unref(computedExpandIcon) }, null, 8, ["type"])
|
|
])
|
|
])) : createCommentVNode("", true)
|
|
])
|
|
])
|
|
]),
|
|
_: 3
|
|
}, 8, ["placement"]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$f = {
|
|
key: 0,
|
|
class: "layui-nav-item"
|
|
};
|
|
const _hoisted_2$e = {
|
|
key: 0,
|
|
class: "layui-sub-menu-icon"
|
|
};
|
|
const _hoisted_3$d = {
|
|
key: 1,
|
|
class: "layui-nav-more"
|
|
};
|
|
const _hoisted_4$a = { key: 0 };
|
|
const _hoisted_5$8 = { class: "layui-nav-child" };
|
|
const __default__$l = {
|
|
name: "LaySubMenu"
|
|
};
|
|
const _sfc_main$m = defineComponent({
|
|
...__default__$l,
|
|
props: {
|
|
id: null,
|
|
title: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const slots = useSlots();
|
|
const { level } = useLevel();
|
|
const isTree = inject("isTree");
|
|
inject("selectedKey");
|
|
const openKeys = inject("openKeys");
|
|
const indent = inject("indent");
|
|
const isCollapse = inject("isCollapse");
|
|
const isCollapseTransition = inject("isCollapseTransition");
|
|
const isOpen = computed$1(() => {
|
|
return openKeys.value.includes(props.id);
|
|
});
|
|
const nextLevel = computed$1(() => level.value + 1);
|
|
provideLevel(nextLevel);
|
|
const needPopup = ref(false);
|
|
watchEffect(() => {
|
|
if (isTree.value) {
|
|
const _isCollapse = isCollapse.value === true || isCollapse.value === "true";
|
|
if (_isCollapse && level.value === 1) {
|
|
setTimeout(() => {
|
|
needPopup.value = isTree.value && _isCollapse;
|
|
}, 200);
|
|
} else {
|
|
needPopup.value = isTree.value && _isCollapse;
|
|
}
|
|
} else if (slots.default && slots.default().length > 0) {
|
|
needPopup.value = true;
|
|
}
|
|
});
|
|
const openHandle = function() {
|
|
if (!isCollapse.value) {
|
|
let newOpenKeys = [...openKeys.value];
|
|
if (openKeys.value.includes(props.id)) {
|
|
newOpenKeys.splice(newOpenKeys.indexOf(props.id), 1);
|
|
} else {
|
|
newOpenKeys.push(props.id);
|
|
}
|
|
openKeys.value = newOpenKeys;
|
|
}
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return !needPopup.value ? (openBlock(), createElementBlock("li", _hoisted_1$f, [
|
|
createElementVNode("a", {
|
|
href: "javascript:void(0)",
|
|
onClick: _cache[0] || (_cache[0] = ($event) => openHandle()),
|
|
style: normalizeStyle(unref(indentHandle)({ indent: unref(indent), level: unref(level), basePadding: 23, isTree: unref(isTree) }))
|
|
}, [
|
|
unref(slots).icon ? (openBlock(), createElementBlock("i", _hoisted_2$e, [
|
|
renderSlot(_ctx.$slots, "icon")
|
|
])) : createCommentVNode("", true),
|
|
createElementVNode("span", null, [
|
|
unref(slots).title ? renderSlot(_ctx.$slots, "title", { key: 0 }) : createCommentVNode("", true)
|
|
]),
|
|
unref(slots).expandIcon ? (openBlock(), createElementBlock("i", _hoisted_3$d, [
|
|
renderSlot(_ctx.$slots, "expandIcon", { isExpand: unref(isOpen) })
|
|
])) : (openBlock(), createElementBlock("i", {
|
|
key: 2,
|
|
class: normalizeClass([
|
|
unref(isOpen) ? "layui-nav-mored" : "",
|
|
"layui-icon layui-icon-down",
|
|
"layui-nav-more"
|
|
])
|
|
}, null, 2))
|
|
], 4),
|
|
unref(isTree) ? (openBlock(), createBlock(_sfc_main$17, {
|
|
key: 0,
|
|
enable: unref(isCollapseTransition)
|
|
}, {
|
|
default: withCtx(() => [
|
|
unref(isOpen) ? (openBlock(), createElementBlock("div", _hoisted_4$a, [
|
|
createElementVNode("dl", _hoisted_5$8, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
])
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
_: 3
|
|
}, 8, ["enable"])) : createCommentVNode("", true)
|
|
])) : (openBlock(), createBlock(_sfc_main$n, {
|
|
key: 1,
|
|
id: __props.id
|
|
}, createSlots({
|
|
expandIcon: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "expandIcon")
|
|
]),
|
|
default: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "default")
|
|
]),
|
|
_: 2
|
|
}, [
|
|
unref(slots).icon ? {
|
|
name: "icon",
|
|
fn: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "icon")
|
|
]),
|
|
key: "0"
|
|
} : void 0,
|
|
unref(slots).title ? {
|
|
name: "title",
|
|
fn: withCtx(() => [
|
|
renderSlot(_ctx.$slots, "title")
|
|
]),
|
|
key: "1"
|
|
} : void 0
|
|
]), 1032, ["id"]));
|
|
};
|
|
}
|
|
});
|
|
const component$h = withInstall(_sfc_main$m);
|
|
var index$b = /* @__PURE__ */ (() => '.lay-split-panel{height:100%;display:flex;position:relative}.lay-split-panel .lay-split-panel-item{height:100%;border:1px #eeeeee solid}.lay-split-panel .lay-split-panel-item-move{user-select:none;pointer-events:none;cursor:col-resize}.lay-split-panel .lay-split-panel-line{height:100%;width:3px;border:1px #eeeeee solid;background-color:var(--global-neutral-color-1);border-left:none;border-right:none;cursor:col-resize;display:flex;align-items:center}.lay-split-panel .lay-split-panel-line:before{content:"";height:6px;width:100%;border:2px solid #dcdee2;border-left:0;border-right:0}.lay-split-panel-vertical{flex-direction:column;position:relative}.lay-split-panel-vertical .lay-split-panel-item-move{user-select:none;pointer-events:none;cursor:row-resize}.lay-split-panel-vertical .lay-split-panel-line{display:flex;justify-content:center;width:100%;height:3px;cursor:row-resize;border:1px #eeeeee solid;background-color:var(--global-neutral-color-1);border-top:none;border-bottom:none}.lay-split-panel-vertical .lay-split-panel-line:before{content:"";height:100%;width:6px;border:2px solid #dcdee2;border-top:none;border-bottom:none}\n')();
|
|
const __default__$k = {
|
|
name: "LaySplitPanel"
|
|
};
|
|
const _sfc_main$l = defineComponent({
|
|
...__default__$k,
|
|
props: {
|
|
vertical: { type: Boolean, default: false },
|
|
minSize: { default: 50 }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const target = ref();
|
|
const { pressed } = useMousePressed({ target });
|
|
let domEvent = ref();
|
|
let domStatus = ref(pressed);
|
|
let parentVertical = ref();
|
|
onMounted(() => {
|
|
const boxWidth = target.value.offsetWidth;
|
|
const boxHeight = target.value.offsetHeight;
|
|
target.value.addEventListener("mousemove", (event) => {
|
|
if (domStatus.value && domEvent.value) {
|
|
const prevDom = domEvent.value.target.previousElementSibling;
|
|
const nextDom = domEvent.value.target.nextElementSibling;
|
|
if (!props.vertical) {
|
|
const prevDomLeft = domEvent.value.target.previousElementSibling.offsetLeft;
|
|
const prevDomWidth = domEvent.value.target.previousElementSibling.offsetWidth;
|
|
const nextDomWidth = domEvent.value.target.nextElementSibling.offsetWidth;
|
|
const otherWidth = boxWidth - (prevDomWidth + nextDomWidth + 5);
|
|
const otherWidthPercentage = (prevDomWidth + nextDomWidth + 5) / boxWidth * 100;
|
|
if (event.layerX - prevDomLeft < props.minSize || boxWidth - (event.layerX - prevDomLeft) - otherWidth < props.minSize) {
|
|
return false;
|
|
}
|
|
prevDom.style.flexBasis = (event.layerX - prevDomLeft) / (prevDomWidth + nextDomWidth + 5) * otherWidthPercentage + "%";
|
|
nextDom.style.flexBasis = (boxWidth - (event.layerX - prevDomLeft) - otherWidth) / (prevDomWidth + nextDomWidth + 5) * otherWidthPercentage + "%";
|
|
} else {
|
|
const prevDomTop = domEvent.value.target.previousElementSibling.offsetTop;
|
|
const prevDomHeight = domEvent.value.target.previousElementSibling.offsetHeight;
|
|
const nextDomHeight = domEvent.value.target.nextElementSibling.offsetHeight;
|
|
const otherHeight = boxHeight - (prevDomHeight + nextDomHeight + 5);
|
|
const otherHeightPercentage = (prevDomHeight + nextDomHeight + 5) / boxHeight * 100;
|
|
if (event.layerY - prevDomTop < props.minSize || boxHeight - (event.layerY - prevDomTop) - otherHeight < props.minSize) {
|
|
return false;
|
|
}
|
|
prevDom.style.flexBasis = (event.layerY - prevDomTop) / (prevDomHeight + nextDomHeight + 5) * otherHeightPercentage + "%";
|
|
nextDom.style.flexBasis = (boxHeight - (event.layerY - prevDomTop) - otherHeight) / (prevDomHeight + nextDomHeight + 5) * otherHeightPercentage + "%";
|
|
}
|
|
}
|
|
});
|
|
});
|
|
const moveChange = (event, status, isVertical) => {
|
|
domEvent.value = event;
|
|
domStatus.value = status;
|
|
parentVertical.value = isVertical;
|
|
};
|
|
const mouseup = () => {
|
|
domStatus.value = false;
|
|
domEvent.value = null;
|
|
parentVertical.value = false;
|
|
};
|
|
const steps = ref([]);
|
|
watch(steps, () => {
|
|
steps.value.forEach((instance, index2) => {
|
|
instance.setIndex(index2);
|
|
});
|
|
});
|
|
provide("laySplitPanel", {
|
|
props,
|
|
steps,
|
|
target,
|
|
moveChange
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
ref_key: "target",
|
|
ref: target,
|
|
class: ["lay-split-panel", __props.vertical ? "lay-split-panel-vertical" : ""],
|
|
style: {
|
|
cursor: unref(domStatus) ? !__props.vertical ? "col-resize" : "row-resize" : ""
|
|
}
|
|
}, toHandlers({ mouseup }, true)), [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 16);
|
|
};
|
|
}
|
|
});
|
|
const component$g = withInstall(_sfc_main$l);
|
|
const __default__$j = {
|
|
name: "LaySplitPanelItem"
|
|
};
|
|
const _sfc_main$k = defineComponent({
|
|
...__default__$j,
|
|
props: {
|
|
space: { default: 0 }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const index2 = ref(-1);
|
|
const parents = inject("laySplitPanel");
|
|
const currentInstance = getCurrentInstance();
|
|
const moveStatus = ref(false);
|
|
const setIndex = (val) => {
|
|
index2.value = val;
|
|
};
|
|
const mouseup = (event) => {
|
|
moveStatus.value = false;
|
|
};
|
|
const stepsCount = computed$1(() => {
|
|
return parents.steps.value.length;
|
|
});
|
|
const initSpace = (parentSpace, key) => {
|
|
const childList = Array.from(parentElement.value.children);
|
|
childList.forEach((item, index22) => {
|
|
if (index22 === 0 || index22 % 2 === 0) {
|
|
item.style.flexBasis = item[key] / parentSpace * 100 + "%";
|
|
item.style.flexGrow = 0;
|
|
}
|
|
});
|
|
};
|
|
const mousedown = (event) => {
|
|
let parentSpace = 0;
|
|
if (!isVertical.value) {
|
|
parentSpace = parentElement.value.offsetWidth;
|
|
initSpace(parentSpace, "offsetWidth");
|
|
} else {
|
|
parentSpace = parentElement.value.offsetHeight;
|
|
initSpace(parentSpace, "offsetHeight");
|
|
}
|
|
moveStatus.value = true;
|
|
parents.moveChange(event, true, isVertical.value);
|
|
};
|
|
const parentElement = computed$1(() => {
|
|
return parents.target.value;
|
|
});
|
|
const isVertical = computed$1(() => {
|
|
return parents.props.vertical;
|
|
});
|
|
computed$1(() => {
|
|
var _a2;
|
|
return ((_a2 = parents.steps.value[stepsCount.value - 1]) == null ? void 0 : _a2.itemId) === currentInstance.uid;
|
|
});
|
|
const isStart = computed$1(() => {
|
|
var _a2;
|
|
return ((_a2 = parents.steps.value[0]) == null ? void 0 : _a2.itemId) === currentInstance.uid;
|
|
});
|
|
const stepItemState = reactive({
|
|
itemId: computed$1(() => currentInstance == null ? void 0 : currentInstance.uid),
|
|
setIndex,
|
|
space: props.space
|
|
});
|
|
parents.steps.value = [...parents.steps.value, stepItemState];
|
|
onMounted(() => {
|
|
});
|
|
onBeforeUnmount(() => {
|
|
parents.steps.value = parents.steps.value.filter((instance) => instance.itemId !== currentInstance.uid);
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
!unref(isStart) ? (openBlock(), createElementBlock("div", mergeProps({
|
|
key: 0,
|
|
class: [!unref(isStart) ? "lay-split-panel-line" : ""],
|
|
ref: "el"
|
|
}, toHandlers({ mousedown, mouseup }, true)), null, 16)) : createCommentVNode("", true),
|
|
unref(isVertical) ? (openBlock(), createElementBlock("div", {
|
|
key: 1,
|
|
ref: "laySplitPanelItem",
|
|
class: normalizeClass(["lay-split-panel-item"]),
|
|
style: normalizeStyle({ flexBasis: `${__props.space}px`, flexGrow: __props.space ? 0 : 1 })
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 4)) : (openBlock(), createElementBlock("div", {
|
|
key: 2,
|
|
class: normalizeClass(["lay-split-panel-item"]),
|
|
style: normalizeStyle({ flexBasis: `${__props.space}px`, flexGrow: __props.space ? 0 : 1 })
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 4))
|
|
], 64);
|
|
};
|
|
}
|
|
});
|
|
const component$f = withInstall(_sfc_main$k);
|
|
var index$a = /* @__PURE__ */ (() => ".layui-exception .layui-exception-image{width:50%;display:inline-block;vertical-align:top}.layui-exception .layui-exception-image>div{height:200px;background-size:100% 100%;background-repeat:no-repeat}.layui-exception .layui-exception-image .error-401{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjgzMnB4IiBoZWlnaHQ9IjgyMXB4IiB2aWV3Qm94PSIwIDAgODMyIDgyMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8dGl0bGU+NDAxPC90aXRsZT4NCiAgICA8ZyBpZD0i5qGG5p626K6+6K6hLei/h+eoi+eJiCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLnvLrnnIHlm74iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMzM3LjAwMDAwMCwgLTMwMDAuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0iNDAxIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzM3LjAwMDAwMCwgMzAwMC4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDI1LjI0MDcsMjU0LjA2NTQgQzQyNS4yMjU3LDI1NC4wNjU0IDQyNS4yMTE3LDI1NC4wNjU0IDQyNS4xOTY3LDI1NC4wNjQ0IEM0MjMuMjI0NywyNTQuMDA4NCA0MjEuMjM3NywyNTMuOTg1NCA0MTkuMjU2NywyNTQuMDA2NCBMNDE5LjI0MDcsMjU0LjAwNjQgQzQxOC40MTk3LDI1NC4wMDY0IDQxNy43NDk3LDI1My4zNDU0IDQxNy43NDA3LDI1Mi41MjI0IEM0MTcuNzMxNywyNTEuNjkzNCA0MTguMzk2NywyNTEuMDE1NCA0MTkuMjI0NywyNTEuMDA2NCBDNDIxLjI1MTcsMjUwLjk4NjQgNDIzLjI3MDcsMjUxLjAwODQgNDI1LjI4MjcsMjUxLjA2NjQgQzQyNi4xMTA3LDI1MS4wODk0IDQyNi43NjE3LDI1MS43ODA0IDQyNi43Mzg3LDI1Mi42MDg0IEM0MjYuNzE2NywyNTMuNDIxNCA0MjYuMDQ5NywyNTQuMDY1NCA0MjUuMjQwNywyNTQuMDY1NCBMNDI1LjI0MDcsMjU0LjA2NTQgWiBNNDA3LjI1ODcsMjU0LjU2MTQgQzQwNi40ODY3LDI1NC41NjE0IDQwNS44MzE3LDI1My45Njk0IDQwNS43NjQ3LDI1My4xODc0IEM0MDUuNjk1NywyNTIuMzYyNCA0MDYuMzA4NywyNTEuNjM2NCA0MDcuMTM0NywyNTEuNTY2NCBDNDA5LjEyNzcsMjUxLjM5OTQgNDExLjE2MDcsMjUxLjI2NjQgNDEzLjE3NTcsMjUxLjE3MzQgQzQxMy45OTI3LDI1MS4xNTU0IDQxNC43MDQ3LDI1MS43NzU0IDQxNC43NDI3LDI1Mi42MDI0IEM0MTQuNzgxNywyNTMuNDI5NCA0MTQuMTQwNywyNTQuMTMxNCA0MTMuMzEzNywyNTQuMTY5NCBDNDExLjMzNjcsMjU0LjI2MTQgNDA5LjM0MjcsMjU0LjM5MTQgNDA3LjM4NjcsMjU0LjU1NjQgQzQwNy4zNDM3LDI1NC41NTk0IDQwNy4zMDA3LDI1NC41NjE0IDQwNy4yNTg3LDI1NC41NjE0IEw0MDcuMjU4NywyNTQuNTYxNCBaIE00MzcuMjA5NywyNTQuODUzNCBDNDM3LjE1NzcsMjU0Ljg1MzQgNDM3LjEwNDcsMjU0Ljg1MDQgNDM3LjA1MjcsMjU0Ljg0NTQgQzQzNS4xMDc3LDI1NC42NDM0IDQzMy4xMTU3LDI1NC40NzM0IDQzMS4xMzI3LDI1NC4zNDI0IEM0MzAuMzA1NywyNTQuMjg3NCA0MjkuNjc5NywyNTMuNTczNCA0MjkuNzM0NywyNTIuNzQ2NCBDNDI5Ljc4OTcsMjUxLjkxOTQgNDMwLjUyMDcsMjUxLjI5MTQgNDMxLjMzMTcsMjUxLjM0ODQgQzQzMy4zNTE3LDI1MS40ODM0IDQzNS4zODE3LDI1MS42NTU0IDQzNy4zNjI3LDI1MS44NjE0IEM0MzguMTg2NywyNTEuOTQ3NCA0MzguNzg1NywyNTIuNjg0NCA0MzguNjk5NywyNTMuNTA4NCBDNDM4LjYxOTcsMjU0LjI4MDQgNDM3Ljk2ODcsMjU0Ljg1MzQgNDM3LjIwOTcsMjU0Ljg1MzQgTDQzNy4yMDk3LDI1NC44NTM0IFogTTM5NS4zNTM3LDI1Ni4wMTg0IEMzOTQuNjMwNywyNTYuMDE4NCAzOTMuOTkzNywyNTUuNDk0NCAzOTMuODc1NywyNTQuNzU3NCBDMzkzLjc0MzcsMjUzLjkzOTQgMzk0LjI5OTcsMjUzLjE2OTQgMzk1LjExNjcsMjUzLjAzODQgQzM5Ny4wOTQ3LDI1Mi43MTg0IDM5OS4xMTE3LDI1Mi40MzM0IDQwMS4xMTI3LDI1Mi4xODg0IEM0MDEuOTI4NywyNTIuMTAwNCA0MDIuNjgyNywyNTIuNjczNCA0MDIuNzgzNywyNTMuNDk2NCBDNDAyLjg4NDcsMjU0LjMxODQgNDAyLjI5ODcsMjU1LjA2NjQgNDAxLjQ3NTcsMjU1LjE2NzQgQzM5OS41MTI3LDI1NS40MDY0IDM5Ny41MzQ3LDI1NS42ODY0IDM5NS41OTQ3LDI1NS45OTk0IEMzOTUuNTEzNywyNTYuMDEyNCAzOTUuNDMyNywyNTYuMDE4NCAzOTUuMzUzNywyNTYuMDE4NCBMMzk1LjM1MzcsMjU2LjAxODQgWiBNNDQ5LjA4MjcsMjU2LjU0NDQgQzQ0OC45OTM3LDI1Ni41NDQ0IDQ0OC45MDM3LDI1Ni41Mzc0IDQ0OC44MTI3LDI1Ni41MjA0IEM0NDYuODc5NywyNTYuMTY5NCA0NDQuOTA2NywyNTUuODUxNCA0NDIuOTQ3NywyNTUuNTcyNCBDNDQyLjEyNzcsMjU1LjQ1NTQgNDQxLjU1NzcsMjU0LjY5NTQgNDQxLjY3NDcsMjUzLjg3NTQgQzQ0MS43OTI3LDI1My4wNTQ0IDQ0Mi41NDM3LDI1Mi40OTE0IDQ0My4zNzE3LDI1Mi42MDE0IEM0NDUuMzY2NywyNTIuODg2NCA0NDcuMzc3NywyNTMuMjExNCA0NDkuMzQ3NywyNTMuNTY5NCBDNDUwLjE2MzcsMjUzLjcxNjQgNDUwLjcwNDcsMjU0LjQ5NzQgNDUwLjU1NTcsMjU1LjMxMjQgQzQ1MC40MjU3LDI1Ni4wMzc0IDQ0OS43OTM3LDI1Ni41NDQ0IDQ0OS4wODI3LDI1Ni41NDQ0IEw0NDkuMDgyNywyNTYuNTQ0NCBaIE0zODMuNTk1NywyNTguMzc3NCBDMzgyLjkxODcsMjU4LjM3NzQgMzgyLjMwMzcsMjU3LjkxNTQgMzgyLjEzODcsMjU3LjIyNzQgQzM4MS45NDQ3LDI1Ni40MjE0IDM4Mi40NDA3LDI1NS42MTI0IDM4My4yNDY3LDI1NS40MTk0IEMzODUuMTk2NywyNTQuOTQ5NCAzODcuMTg1NywyNTQuNTEwNCAzODkuMTU4NywyNTQuMTE1NCBDMzg5Ljk2NTcsMjUzLjk1NTQgMzkwLjc2MTcsMjU0LjQ3NzQgMzkwLjkyNDcsMjU1LjI5MTQgQzM5MS4wODc3LDI1Ni4xMDI0IDM5MC41NjA3LDI1Ni44OTM0IDM4OS43NDg3LDI1Ny4wNTY0IEMzODcuODEyNywyNTcuNDQ1NCAzODUuODYwNywyNTcuODc1NCAzODMuOTQ3NywyNTguMzM1NCBDMzgzLjgyOTcsMjU4LjM2MzQgMzgzLjcxMjcsMjU4LjM3NzQgMzgzLjU5NTcsMjU4LjM3NzQgTDM4My41OTU3LDI1OC4zNzc0IFogTTQ2MC43OTI3LDI1OS4xMzU0IEM0NjAuNjY2NywyNTkuMTM1NCA0NjAuNTM5NywyNTkuMTIwNCA0NjAuNDExNywyNTkuMDg2NCBDNDU4LjQ5MzcsMjU4LjU4NTQgNDU2LjU1MTcsMjU4LjExNjQgNDU0LjYzNjcsMjU3LjY5MzQgQzQ1My44Mjg3LDI1Ny41MTQ0IDQ1My4zMTc3LDI1Ni43MTM0IDQ1My40OTY3LDI1NS45MDQ0IEM0NTMuNjc2NywyNTUuMDk3NCA0NTQuNDczNywyNTQuNTkxNCA0NTUuMjg1NywyNTQuNzYzNCBDNDU3LjIzNTcsMjU1LjE5NTQgNDU5LjIxNjcsMjU1LjY3MjQgNDYxLjE3MTcsMjU2LjE4NDQgQzQ2MS45NzE3LDI1Ni4zOTQ0IDQ2Mi40NTI3LDI1Ny4yMTM0IDQ2Mi4yNDI3LDI1OC4wMTU0IEM0NjIuMDY1NywyNTguNjg5NCA0NjEuNDU4NywyNTkuMTM1NCA0NjAuNzkyNywyNTkuMTM1NCBMNDYwLjc5MjcsMjU5LjEzNTQgWiBNMzcyLjA1MTcsMjYxLjYyNjQgQzM3MS40MTc3LDI2MS42MjY0IDM3MC44Mjk3LDI2MS4yMjI0IDM3MC42MjQ3LDI2MC41ODc0IEMzNzAuMzY4NywyNTkuNzk5NCAzNzAuODAxNywyNTguOTU0NCAzNzEuNTg5NywyNTguNjk5NCBDMzczLjQ4NzcsMjU4LjA4NTQgMzc1LjQzNzcsMjU3LjQ5NTQgMzc3LjM4NjcsMjU2Ljk0NjQgQzM3OC4xODM3LDI1Ni43MjQ0IDM3OS4wMTE3LDI1Ny4xODY0IDM3OS4yMzY3LDI1Ny45ODQ0IEMzNzkuNDYwNywyNTguNzgxNCAzNzguOTk2NywyNTkuNjEwNCAzNzguMTk4NywyNTkuODM1NCBDMzc2LjI4NzcsMjYwLjM3MzQgMzc0LjM3NDcsMjYwLjk1MTQgMzcyLjUxMjcsMjYxLjU1MjQgQzM3Mi4zNTk3LDI2MS42MDI0IDM3Mi4yMDM3LDI2MS42MjY0IDM3Mi4wNTE3LDI2MS42MjY0IEwzNzIuMDUxNywyNjEuNjI2NCBaIE00NzIuMjY5NywyNjIuNjEzNCBDNDcyLjEwNzcsMjYyLjYxMzQgNDcxLjk0MjcsMjYyLjU4NjQgNDcxLjc4MDcsMjYyLjUzMTQgQzQ2OS45MjM3LDI2MS44ODk0IDQ2OC4wMjE3LDI2MS4yNzM0IDQ2Ni4xMjk3LDI2MC43MDA0IEM0NjUuMzM2NywyNjAuNDYwNCA0NjQuODg3NywyNTkuNjIzNCA0NjUuMTI4NywyNTguODMwNCBDNDY1LjM2ODcsMjU4LjAzNjQgNDY2LjIwOTcsMjU3LjU4OTQgNDY2Ljk5ODcsMjU3LjgyOTQgQzQ2OC45Mjg3LDI1OC40MTQ0IDQ3MC44NjY3LDI1OS4wNDI0IDQ3Mi43NTk3LDI1OS42OTU0IEM0NzMuNTQyNywyNTkuOTY1NCA0NzMuOTU4NywyNjAuODIwNCA0NzMuNjg3NywyNjEuNjAyNCBDNDczLjQ3MjcsMjYyLjIyMzQgNDcyLjg5MTcsMjYyLjYxMzQgNDcyLjI2OTcsMjYyLjYxMzQgTDQ3Mi4yNjk3LDI2Mi42MTM0IFogTTM2MC43NTg3LDI2NS43NTk0IEMzNjAuMTY3NywyNjUuNzU5NCAzNTkuNjA2NywyNjUuNDA5NCAzNTkuMzY5NywyNjQuODI5NCBDMzU5LjA1NDcsMjY0LjA2MjQgMzU5LjQyMTcsMjYzLjE4NjQgMzYwLjE4NzcsMjYyLjg3MjQgQzM2Mi4wNTY3LDI2Mi4xMDU0IDM2My45NjE3LDI2MS4zNjc0IDM2NS44NDY3LDI2MC42NzY0IEMzNjYuNjI0NywyNjAuMzkwNCAzNjcuNDg1NywyNjAuNzkyNCAzNjcuNzcwNywyNjEuNTY5NCBDMzY4LjA1NTcsMjYyLjM0NzQgMzY3LjY1NjcsMjYzLjIwOTQgMzY2Ljg3ODcsMjYzLjQ5MzQgQzM2NS4wMjc3LDI2NC4xNzA0IDM2My4xNTk3LDI2NC44OTU0IDM2MS4zMjY3LDI2NS42NDc0IEMzNjEuMTM5NywyNjUuNzIzNCAzNjAuOTQ3NywyNjUuNzU5NCAzNjAuNzU4NywyNjUuNzU5NCBMMzYwLjc1ODcsMjY1Ljc1OTQgWiBNNDgzLjQzMTcsMjY2Ljk1MTQgQzQ4My4yMzI3LDI2Ni45NTE0IDQ4My4wMzA3LDI2Ni45MTI0IDQ4Mi44MzY3LDI2Ni44Mjc0IEM0ODEuMDM0NywyNjYuMDQ2NCA0NzkuMTkwNywyNjUuMjkwNCA0NzcuMzU2NywyNjQuNTc3NCBDNDc2LjU4NTcsMjY0LjI3NjQgNDc2LjIwMjcsMjYzLjQwNzQgNDc2LjUwMjcsMjYyLjYzNDQgQzQ3Ni44MDM3LDI2MS44NjM0IDQ3Ny42NzA3LDI2MS40Nzg0IDQ3OC40NDQ3LDI2MS43ODA0IEM0ODAuMzEzNywyNjIuNTA3NCA0ODIuMTkyNywyNjMuMjc5NCA0ODQuMDI4NywyNjQuMDc1NCBDNDg0Ljc4OTcsMjY0LjQwNDQgNDg1LjEzODcsMjY1LjI4NzQgNDg0LjgwODcsMjY2LjA0NzQgQzQ4NC41NjM3LDI2Ni42MTM0IDQ4NC4wMTE3LDI2Ni45NTE0IDQ4My40MzE3LDI2Ni45NTE0IEw0ODMuNDMxNywyNjYuOTUxNCBaIE0zNDkuODIwNywyNzAuNzQ1NCBDMzQ5LjI3MTcsMjcwLjc0NTQgMzQ4Ljc0MzcsMjcwLjQ0MzQgMzQ4LjQ3OTcsMjY5LjkxOTQgQzM0OC4xMDc3LDI2OS4xNzg0IDM0OC40MDU3LDI2OC4yNzc0IDM0OS4xNDU3LDI2Ny45MDU0IEMzNTAuOTM1NywyNjcuMDA0NCAzNTIuNzc2NywyNjYuMTIzNCAzNTQuNjE3NywyNjUuMjgzNCBDMzU1LjM2OTcsMjY0Ljk0MTQgMzU2LjI2MTcsMjY1LjI3MzQgMzU2LjYwNDcsMjY2LjAyNjQgQzM1Ni45NDg3LDI2Ni43ODA0IDM1Ni42MTU3LDI2Ny42Njk0IDM1NS44NjE3LDI2OC4wMTM0IEMzNTQuMDU1NywyNjguODM2NCAzNTIuMjQ5NywyNjkuNzAyNCAzNTAuNDkzNywyNzAuNTg1NCBDMzUwLjI3NzcsMjcwLjY5NDQgMzUwLjA0NzcsMjcwLjc0NTQgMzQ5LjgyMDcsMjcwLjc0NTQgTDM0OS44MjA3LDI3MC43NDU0IFogTTQ5NC4yMjM3LDI3Mi4xMjM0IEM0OTMuOTg3NywyNzIuMTIzNCA0OTMuNzQ4NywyNzIuMDY3NCA0OTMuNTI1NywyNzEuOTUwNCBDNDkxLjc3ODcsMjcxLjAyOTQgNDg5Ljk5NjcsMjcwLjEzMzQgNDg4LjIyOTcsMjY5LjI4NzQgQzQ4Ny40ODI3LDI2OC45Mjk0IDQ4Ny4xNjY3LDI2OC4wMzQ0IDQ4Ny41MjQ3LDI2Ny4yODc0IEM0ODcuODgzNywyNjYuNTM5NCA0ODguNzc4NywyNjYuMjIyNCA0ODkuNTI0NywyNjYuNTgyNCBDNDkxLjMyNjcsMjY3LjQ0NDQgNDkzLjE0MjcsMjY4LjM1NzQgNDk0LjkyNDcsMjY5LjI5NTQgQzQ5NS42NTY3LDI2OS42ODI0IDQ5NS45Mzc3LDI3MC41ODg0IDQ5NS41NTI3LDI3MS4zMjI0IEM0OTUuMjgzNywyNzEuODMyNCA0OTQuNzYxNywyNzIuMTIzNCA0OTQuMjIzNywyNzIuMTIzNCBMNDk0LjIyMzcsMjcyLjEyMzQgWiBNMzM5LjMwMTcsMjc2LjU0NDQgQzMzOC43OTM3LDI3Ni41NDQ0IDMzOC4yOTc3LDI3Ni4yODY0IDMzOC4wMTQ3LDI3NS44MTk0IEMzMzcuNTg4NywyNzUuMTA5NCAzMzcuODE2NywyNzQuMTg3NCAzMzguNTI1NywyNzMuNzU5NCBDMzQwLjIzNjcsMjcyLjcyOTQgMzQyLjAwNDcsMjcxLjcxMDQgMzQzLjc3ODcsMjcwLjczMTQgQzM0NC41MDI3LDI3MC4zMzA0IDM0NS40MTY3LDI3MC41OTQ0IDM0NS44MTY3LDI3MS4zMjA0IEMzNDYuMjE3NywyNzIuMDQ1NCAzNDUuOTUzNywyNzIuOTU4NCAzNDUuMjI3NywyNzMuMzU4NCBDMzQzLjQ4NjcsMjc0LjMxODQgMzQxLjc1MjcsMjc1LjMxODQgMzQwLjA3NDcsMjc2LjMzMDQgQzMzOS44MzI3LDI3Ni40NzU0IDMzOS41NjQ3LDI3Ni41NDQ0IDMzOS4zMDE3LDI3Ni41NDQ0IEwzMzkuMzAxNywyNzYuNTQ0NCBaIE01MDQuNTk3NywyNzguMTAyNCBDNTA0LjMyNTcsMjc4LjEwMjQgNTA0LjA0OTcsMjc4LjAyODQgNTAzLjgwMTcsMjc3Ljg3MzQgQzUwMi4xNDk3LDI3Ni44MzY0IDUwMC40Mzg3LDI3NS44MDY0IDQ5OC43MTg3LDI3NC44MTI0IEM0OTguMDAwNywyNzQuMzk4NCA0OTcuNzU1NywyNzMuNDgxNCA0OTguMTY5NywyNzIuNzYzNCBDNDk4LjU4MjcsMjcyLjA0NDQgNDk5LjUwMjcsMjcxLjgwMDQgNTAwLjIxODcsMjcyLjIxNDQgQzUwMS45NzA3LDI3My4yMjY0IDUwMy43MTM3LDI3NC4yNzU0IDUwNS4zOTY3LDI3NS4zMzI0IEM1MDYuMDk3NywyNzUuNzcyNCA1MDYuMzA5NywyNzYuNjk4NCA1MDUuODY5NywyNzcuNDAwNCBDNTA1LjU4NDcsMjc3Ljg1MzQgNTA1LjA5NjcsMjc4LjEwMjQgNTA0LjU5NzcsMjc4LjEwMjQgTDUwNC41OTc3LDI3OC4xMDI0IFogTTMyOS4yNTU3LDI4My4xMjQ0IEMzMjguNzg2NywyODMuMTI0NCAzMjguMzIzNywyODIuOTA0NCAzMjguMDMxNywyODIuNDkzNCBDMzI3LjU1MjcsMjgxLjgxNzQgMzI3LjcxMDcsMjgwLjg4MDQgMzI4LjM4NTcsMjgwLjQwMTQgQzMzMC4wMzA3LDI3OS4yMzI0IDMzMS43MTU3LDI3OC4wODI0IDMzMy4zOTA3LDI3Ni45ODQ0IEMzMzQuMDg0NywyNzYuNTMxNCAzMzUuMDEzNywyNzYuNzIzNCAzMzUuNDY4NywyNzcuNDE3NCBDMzM1LjkyMjcsMjc4LjExMDQgMzM1LjcyNzcsMjc5LjA0MDQgMzM1LjAzNTcsMjc5LjQ5NDQgQzMzMy4zODk3LDI4MC41NzE0IDMzMS43Mzc3LDI4MS42OTk0IDMzMC4xMjM3LDI4Mi44NDY0IEMzMjkuODU5NywyODMuMDM0NCAzMjkuNTU1NywyODMuMTI0NCAzMjkuMjU1NywyODMuMTI0NCBMMzI5LjI1NTcsMjgzLjEyNDQgWiBNNTE0LjQ5NTcsMjg0Ljg1MzQgQzUxNC4xODU3LDI4NC44NTM0IDUxMy44NzM3LDI4NC43NTc0IDUxMy42MDQ3LDI4NC41NTk0IEM1MTIuMDE4NywyODMuMzg3NCA1MTAuMzg5NywyODIuMjMxNCA1MDguNzY1NywyODEuMTIzNCBDNTA4LjA4MjcsMjgwLjY1NjQgNTA3LjkwNTcsMjc5LjcyMjQgNTA4LjM3MjcsMjc5LjAzODQgQzUwOC44NDE3LDI3OC4zNTI0IDUwOS43NzQ3LDI3OC4xNzc0IDUxMC40NTc3LDI3OC42NDQ0IEM1MTIuMTEyNywyNzkuNzc0NCA1MTMuNzcwNywyODAuOTUyNCA1MTUuMzg3NywyODIuMTQ3NCBDNTE2LjA1MzcsMjgyLjYzOTQgNTE2LjE5NDcsMjgzLjU3OTQgNTE1LjcwMjcsMjg0LjI0NTQgQzUxNS40MDg3LDI4NC42NDI0IDUxNC45NTQ3LDI4NC44NTM0IDUxNC40OTU3LDI4NC44NTM0IEw1MTQuNDk1NywyODQuODUzNCBaIE0zMTkuNzQzNywyOTAuNDQyNCBDMzE5LjMxMjcsMjkwLjQ0MjQgMzE4Ljg4NTcsMjkwLjI1NzQgMzE4LjU4ODcsMjg5LjkwMDQgQzMxOC4wNTg3LDI4OS4yNjM0IDMxOC4xNDY3LDI4OC4zMTc0IDMxOC43ODQ3LDI4Ny43ODg0IEMzMjAuMzM2NywyODYuNTAwNCAzMjEuOTI3NywyODUuMjI3NCAzMjMuNTEzNywyODQuMDA1NCBDMzI0LjE3MDcsMjgzLjUwMTQgMzI1LjExMjcsMjgzLjYyMzQgMzI1LjYxNzcsMjg0LjI3OTQgQzMyNi4xMjM3LDI4NC45MzU0IDMyNi4wMDA3LDI4NS44Nzc0IDMyNS4zNDQ3LDI4Ni4zODI0IEMzMjMuNzg2NywyODcuNTgyNCAzMjIuMjIzNywyODguODMxNCAzMjAuNzAwNywyOTAuMDk2NCBDMzIwLjQyMTcsMjkwLjMyOTQgMzIwLjA4MTcsMjkwLjQ0MjQgMzE5Ljc0MzcsMjkwLjQ0MjQgTDMxOS43NDM3LDI5MC40NDI0IFogTTMxMC44MTI3LDI5OC40NTU0IEMzMTAuNDIwNywyOTguNDU1NCAzMTAuMDI4NywyOTguMzAxNCAzMDkuNzM0NywyOTcuOTk4NCBDMzA5LjE1ODcsMjk3LjQwMjQgMzA5LjE3NDcsMjk2LjQ1MzQgMzA5Ljc2OTcsMjk1Ljg3NzQgQzMxMS4yMTQ3LDI5NC40Nzk0IDMxMi43MDQ3LDI5My4wOTA0IDMxNC4xOTk3LDI5MS43NDk0IEMzMTQuODE1NywyOTEuMTk1NCAzMTUuNzY1NywyOTEuMjQ3NCAzMTYuMzE3NywyOTEuODYzNCBDMzE2Ljg3MTcsMjkyLjQ3OTQgMzE2LjgxOTcsMjkzLjQyNzQgMzE2LjIwMzcsMjkzLjk4MTQgQzMxNC43MzU3LDI5NS4yOTg0IDMxMy4yNzI3LDI5Ni42NjI0IDMxMS44NTU3LDI5OC4wMzM0IEMzMTEuNTY0NywyOTguMzE0NCAzMTEuMTg4NywyOTguNDU1NCAzMTAuODEyNywyOTguNDU1NCBMMzEwLjgxMjcsMjk4LjQ1NTQgWiBNMzAyLjUxNDcsMzA3LjExNDQgQzMwMi4xNjA3LDMwNy4xMTQ0IDMwMS44MDQ3LDMwNi45ODk0IDMwMS41MTk3LDMwNi43MzU0IEMzMDAuODk5NywzMDYuMTg0NCAzMDAuODQ0NywzMDUuMjM3NCAzMDEuMzk0NywzMDQuNjE4NCBDMzAyLjczNjcsMzAzLjEwNzQgMzA0LjExNzcsMzAxLjYxMTQgMzA1LjQ5OTcsMzAwLjE2OTQgQzMwNi4wNzA3LDI5OS41NzE0IDMwNy4wMjA3LDI5OS41NTA0IDMwNy42MjA3LDMwMC4xMjQ0IEMzMDguMjE4NywzMDAuNjk3NCAzMDguMjM4NywzMDEuNjQ2NCAzMDcuNjY1NywzMDIuMjQ1NCBDMzA2LjMwOTcsMzAzLjY1OTQgMzA0Ljk1NDcsMzA1LjEyODQgMzAzLjYzNjcsMzA2LjYxMDQgQzMwMy4zNDE3LDMwNi45NDQ0IDMwMi45Mjg3LDMwNy4xMTQ0IDMwMi41MTQ3LDMwNy4xMTQ0IEwzMDIuNTE0NywzMDcuMTE0NCBaIE0yOTQuODk3NywzMTYuMzcwNCBDMjk0LjU4MTcsMzE2LjM3MDQgMjk0LjI2MTcsMzE2LjI3MDQgMjkzLjk5MDcsMzE2LjA2MzQgQzI5My4zMzE3LDMxNS41NjE0IDI5My4yMDM3LDMxNC42MjE0IDI5My43MDU3LDMxMy45NjE0IEMyOTQuOTIyNywzMTIuMzYzNCAyOTYuMTg1NywzMTAuNzY2NCAyOTcuNDYxNywzMDkuMjE3NCBDMjk3Ljk4ODcsMzA4LjU3NzQgMjk4LjkzMjcsMzA4LjQ4NzQgMjk5LjU3MjcsMzA5LjAxMjQgQzMwMC4yMTI3LDMwOS41Mzk0IDMwMC4zMDM3LDMxMC40ODQ0IDI5OS43Nzc3LDMxMS4xMjQ0IEMyOTguNTI1NywzMTIuNjQ0NCAyOTcuMjg2NywzMTQuMjEwNCAyOTYuMDkyNywzMTUuNzc4NCBDMjk1Ljc5NzcsMzE2LjE2NjQgMjk1LjM0OTcsMzE2LjM3MDQgMjk0Ljg5NzcsMzE2LjM3MDQgTDI5NC44OTc3LDMxNi4zNzA0IFogTTI4OC4wMDY3LDMyNi4xNzA0IEMyODcuNzI1NywzMjYuMTcwNCAyODcuNDQzNywzMjYuMDkyNCAyODcuMTkxNywzMjUuOTI5NCBDMjg2LjQ5NjcsMzI1LjQ3OTQgMjg2LjI5ODcsMzI0LjU1MDQgMjg2Ljc0ODcsMzIzLjg1NTQgQzI4Ny44MzQ3LDMyMi4xNzc0IDI4OC45NzI3LDMyMC40OTI0IDI5MC4xMzM3LDMxOC44NDI0IEMyOTAuNjA5NywzMTguMTY1NCAyOTEuNTQ2NywzMTguMDAzNCAyOTIuMjIyNywzMTguNDc5NCBDMjkyLjkwMDcsMzE4Ljk1NjQgMjkzLjA2MjcsMzE5Ljg5MTQgMjkyLjU4NjcsMzIwLjU2OTQgQzI5MS40NDg3LDMyMi4xODY0IDI5MC4zMzE3LDMyMy44NDA0IDI4OS4yNjU3LDMyNS40ODY0IEMyODguOTc4NywzMjUuOTI5NCAyODguNDk3NywzMjYuMTcwNCAyODguMDA2NywzMjYuMTcwNCBMMjg4LjAwNjcsMzI2LjE3MDQgWiBNMjgxLjg3NjcsMzM2LjQ1OTQgQzI4MS42MzM3LDMzNi40NTk0IDI4MS4zODY3LDMzNi40MDA0IDI4MS4xNTk3LDMzNi4yNzY0IEMyODAuNDMxNywzMzUuODc5NCAyODAuMTYzNywzMzQuOTY4NCAyODAuNTU5NywzMzQuMjQxNCBDMjgxLjUxNzcsMzMyLjQ4MzQgMjgyLjUyNTcsMzMwLjcxNjQgMjgzLjU1MzcsMzI4Ljk5MDQgQzI4My45Nzg3LDMyOC4yNzc0IDI4NC45MDE3LDMyOC4wNDc0IDI4NS42MTA3LDMyOC40Njg0IEMyODYuMzIyNywzMjguODkzNCAyODYuNTU1NywzMjkuODEzNCAyODYuMTMyNywzMzAuNTI1NCBDMjg1LjEyMjcsMzMyLjIxOTQgMjg0LjEzNDcsMzMzLjk1MzQgMjgzLjE5NDcsMzM1LjY3NjQgQzI4Mi45MjI3LDMzNi4xNzU0IDI4Mi40MDc3LDMzNi40NTk0IDI4MS44NzY3LDMzNi40NTk0IEwyODEuODc2NywzMzYuNDU5NCBaIE0yNzYuNTUwNywzNDcuMTc1NCBDMjc2LjM0NDcsMzQ3LjE3NTQgMjc2LjEzNTcsMzQ3LjEzMzQgMjc1LjkzNDcsMzQ3LjA0MzQgQzI3NS4xNzk3LDM0Ni43MDM0IDI3NC44NDM3LDM0NS44MTU0IDI3NS4xODM3LDM0NS4wNTk0IEMyNzYuMDA4NywzNDMuMjI5NCAyNzYuODc3NywzNDEuMzkyNCAyNzcuNzY4NywzMzkuNTk5NCBDMjc4LjEzNjcsMzM4Ljg1NzQgMjc5LjAzNzcsMzM4LjU1MzQgMjc5Ljc3OTcsMzM4LjkyNDQgQzI4MC41MjA3LDMzOS4yOTM0IDI4MC44MjM3LDM0MC4xOTM0IDI4MC40NTQ3LDM0MC45MzU0IEMyNzkuNTgwNywzNDIuNjk0NCAyNzguNzI3NywzNDQuNDk2NCAyNzcuOTE4NywzNDYuMjkyNCBDMjc3LjY2ODcsMzQ2Ljg0NjQgMjc3LjEyMjcsMzQ3LjE3NTQgMjc2LjU1MDcsMzQ3LjE3NTQgTDI3Ni41NTA3LDM0Ny4xNzU0IFogTTI2Mi44MzA3LDQwNS4xNzc0IEMyNjIuODA4Nyw0MDUuMTc3NCAyNjIuNzg4Nyw0MDUuMTc3NCAyNjIuNzY2Nyw0MDUuMTc2NCBDMjYxLjkzODcsNDA1LjE0MTQgMjYxLjI5NjcsNDA0LjQ0MjQgMjYxLjMzMDcsNDAzLjYxNTQgQzI2MS40MTQ3LDQwMS42MjQ0IDI2MS41Mzg3LDM5OS41OTA0IDI2MS43MDA3LDM5Ny41NzE0IEMyNjEuNzY2NywzOTYuNzQ1NCAyNjIuNTA3NywzOTYuMTI5NCAyNjMuMzE1NywzOTYuMTk2NCBDMjY0LjE0MDcsMzk2LjI2MjQgMjY0Ljc1NzcsMzk2Ljk4NTQgMjY0LjY5MDcsMzk3LjgxMTQgQzI2NC41MzE3LDM5OS43OTM0IDI2NC40MDk3LDQwMS43ODg0IDI2NC4zMjg3LDQwMy43NDA0IEMyNjQuMjk0Nyw0MDQuNTQ2NCAyNjMuNjMwNyw0MDUuMTc3NCAyNjIuODMwNyw0MDUuMTc3NCBMMjYyLjgzMDcsNDA1LjE3NzQgWiBNNTc4LjYzODcsNDA4LjI3NzQgQzU3Ny44Mjc3LDQwOC4yNzc0IDU3Ny4xNTk3LDQwNy42Mjg0IDU3Ny4xMzk3LDQwNi44MTI0IEM1NzcuMDk0Nyw0MDQuODQwNCA1NzcuMDExNyw0MDIuODQzNCA1NzYuODkxNyw0MDAuODc2NCBDNTc2Ljg0MjcsNDAwLjA0ODQgNTc3LjQ3MTcsMzk5LjMzNzQgNTc4LjI5ODcsMzk5LjI4ODQgQzU3OS4xMzc3LDM5OS4yMzE0IDU3OS44MzY3LDM5OS44Njg0IDU3OS44ODY3LDQwMC42OTQ0IEM1ODAuMDA3Nyw0MDIuNjk5NCA1ODAuMDkzNyw0MDQuNzM0NCA1ODAuMTM5Nyw0MDYuNzQyNCBDNTgwLjE1ODcsNDA3LjU3MDQgNTc5LjUwMzcsNDA4LjI1NzQgNTc4LjY3NTcsNDA4LjI3NzQgTDU3OC42Mzg3LDQwOC4yNzc0IFogTTI2Mi43NjQ3LDQxNy4xNjk0IEMyNjEuOTU5Nyw0MTcuMTY5NCAyNjEuMjkzNyw0MTYuNTMwNCAyNjEuMjY2Nyw0MTUuNzE4NCBDMjYxLjIxMTcsNDE0LjAwMzQgMjYxLjE4MjcsNDEyLjI0ODQgMjYxLjE4MjcsNDEwLjUwMDQgTDI2MS4xODQ3LDQwOS42Njc0IEMyNjEuMTg3Nyw0MDguODM5NCAyNjEuODU4Nyw0MDguMTcxNCAyNjIuNjg0Nyw0MDguMTcxNCBMMjYyLjY4OTcsNDA4LjE3MTQgQzI2My41MTg3LDQwOC4xNzQ0IDI2NC4xODc3LDQwOC44NDg0IDI2NC4xODQ3LDQwOS42NzY0IEwyNjQuMTgyNyw0MTAuNTAwNCBDMjY0LjE4MjcsNDEyLjIxNTQgMjY0LjIxMDcsNDEzLjkzODQgMjY0LjI2NDcsNDE1LjYyMTQgQzI2NC4yOTI3LDQxNi40NDk0IDI2My42NDI3LDQxNy4xNDI0IDI2Mi44MTQ3LDQxNy4xNjk0IEMyNjIuNzk4Nyw0MTcuMTY5NCAyNjIuNzgxNyw0MTcuMTY5NCAyNjIuNzY0Nyw0MTcuMTY5NCBMMjYyLjc2NDcsNDE3LjE2OTQgWiBNNTc4LjQ3MDcsNDIwLjI3MjQgQzU3OC40NDU3LDQyMC4yNzI0IDU3OC40MTk3LDQyMC4yNzE0IDU3OC4zOTI3LDQyMC4yNzA0IEM1NzcuNTY1Nyw0MjAuMjI3NCA1NzYuOTI4Nyw0MTkuNTIyNCA1NzYuOTcxNyw0MTguNjk1NCBDNTc3LjA3MzcsNDE2LjczNDQgNTc3LjEzODcsNDE0LjczNjQgNTc3LjE2NjcsNDEyLjc1NTQgQzU3Ny4xNzc3LDQxMS45MzQ0IDU3Ny44NDY3LDQxMS4yNzc0IDU3OC42NjY3LDQxMS4yNzc0IEw1NzguNjg3Nyw0MTEuMjc3NCBDNTc5LjUxNTcsNDExLjI4OTQgNTgwLjE3NzcsNDExLjk2OTQgNTgwLjE2NjcsNDEyLjc5ODQgQzU4MC4xMzc3LDQxNC44MTU0IDU4MC4wNzA3LDQxNi44NTE0IDU3OS45Njg3LDQxOC44NDk0IEM1NzkuOTI3Nyw0MTkuNjUwNCA1NzkuMjYzNyw0MjAuMjcyNCA1NzguNDcwNyw0MjAuMjcyNCBMNTc4LjQ3MDcsNDIwLjI3MjQgWiBNNTc3LjQwMjcsNDMyLjIxODQgQzU3Ny4zMzk3LDQzMi4yMTg0IDU3Ny4yNzU3LDQzMi4yMTQ0IDU3Ny4yMTE3LDQzMi4yMDc0IEM1NzYuMzg4Nyw0MzIuMTAxNCA1NzUuODA3Nyw0MzEuMzUwNCA1NzUuOTEyNyw0MzAuNTI5NCBDNTc2LjE2MjcsNDI4LjU3MTQgNTc2LjM3NzcsNDI2LjU4NTQgNTc2LjU1MjcsNDI0LjYyMzQgQzU3Ni42MjY3LDQyMy43OTc0IDU3Ny4zNTE3LDQyMy4xOTM0IDU3OC4xODA3LDQyMy4yNjI0IEM1NzkuMDA2Nyw0MjMuMzM2NCA1NzkuNjE0Nyw0MjQuMDY1NCA1NzkuNTQxNyw0MjQuODkwNCBDNTc5LjM2MjcsNDI2Ljg4OTQgNTc5LjE0MjcsNDI4LjkxNDQgNTc4Ljg4ODcsNDMwLjkwODQgQzU3OC43OTI3LDQzMS42NjY0IDU3OC4xNDY3LDQzMi4yMTg0IDU3Ny40MDI3LDQzMi4yMTg0IEw1NzcuNDAyNyw0MzIuMjE4NCBaIE01NzUuNDMyNyw0NDQuMDQ3NCBDNTc1LjMzMjcsNDQ0LjA0NzQgNTc1LjIzMDcsNDQ0LjAzODQgNTc1LjEyODcsNDQ0LjAxNjQgQzU3NC4zMTY3LDQ0My44NDk0IDU3My43OTQ3LDQ0My4wNTY0IDU3My45NjI3LDQ0Mi4yNDU0IEM1NzQuMzU5Nyw0NDAuMzE1NCA1NzQuNzI0Nyw0MzguMzUwNCA1NzUuMDQ5Nyw0MzYuNDA2NCBDNTc1LjE4NDcsNDM1LjU4NzQgNTc1Ljk2MzcsNDM1LjAzOTQgNTc2Ljc3NDcsNDM1LjE3MjQgQzU3Ny41OTI3LDQzNS4zMDg0IDU3OC4xNDM3LDQzNi4wODE0IDU3OC4wMDg3LDQzNi44OTg0IEM1NzcuNjc3Nyw0MzguODgwNCA1NzcuMzA1Nyw0NDAuODgzNCA1NzYuODk5Nyw0NDIuODUwNCBDNTc2Ljc1NDcsNDQzLjU1OTQgNTc2LjEyOTcsNDQ0LjA0NzQgNTc1LjQzMjcsNDQ0LjA0NzQgTDU3NS40MzI3LDQ0NC4wNDc0IFogTTU3Mi41NjQ3LDQ1NS42OTQ0IEM1NzIuNDI3Nyw0NTUuNjk0NCA1NzIuMjg4Nyw0NTUuNjc1NCA1NzIuMTQ5Nyw0NTUuNjM1NCBDNTcxLjM1MzcsNDU1LjQwNzQgNTcwLjg5MjcsNDU0LjU3NjQgNTcxLjEyMjcsNDUzLjc4MDQgQzU3MS42NzA3LDQ1MS44NzM0IDU3Mi4xODQ3LDQ0OS45NDI0IDU3Mi42NTE3LDQ0OC4wNDA0IEM1NzIuODQ5Nyw0NDcuMjM2NCA1NzMuNjU3Nyw0NDYuNzQ0NCA1NzQuNDY3Nyw0NDYuOTQxNCBDNTc1LjI3MDcsNDQ3LjEzOTQgNTc1Ljc2MjcsNDQ3Ljk1MjQgNTc1LjU2NTcsNDQ4Ljc1NjQgQzU3NS4wODk3LDQ1MC42OTU0IDU3NC41NjM3LDQ1Mi42NjQ0IDU3NC4wMDU3LDQ1NC42MDg0IEM1NzMuODE2Nyw0NTUuMjY2NCA1NzMuMjE2Nyw0NTUuNjk0NCA1NzIuNTY0Nyw0NTUuNjk0NCBMNTcyLjU2NDcsNDU1LjY5NDQgWiBNNTY4LjgxNDcsNDY3LjA4NjQgQzU2OC42NDA3LDQ2Ny4wODY0IDU2OC40NjQ3LDQ2Ny4wNTY0IDU2OC4yOTE3LDQ2Ni45OTI0IEM1NjcuNTE0Nyw0NjYuNzAzNCA1NjcuMTIwNyw0NjUuODM5NCA1NjcuNDA5Nyw0NjUuMDYzNCBDNTY4LjA5NDcsNDYzLjIxOTQgNTY4Ljc1NjcsNDYxLjMzNDQgNTY5LjM3MzcsNDU5LjQ1ODQgQzU2OS42MzI3LDQ1OC42NzE0IDU3MC40ODM3LDQ1OC4yNDE0IDU3MS4yNjY3LDQ1OC41MDI0IEM1NzIuMDUzNyw0NTguNzYwNCA1NzIuNDgxNyw0NTkuNjA4NCA1NzIuMjIyNyw0NjAuMzk1NCBDNTcxLjU5NDcsNDYyLjMwNzQgNTcwLjkyMDcsNDY0LjIzMDQgNTcwLjIxOTcsNDY2LjExMDQgQzU2OS45OTU3LDQ2Ni43MTM0IDU2OS40MjM3LDQ2Ny4wODY0IDU2OC44MTQ3LDQ2Ny4wODY0IEw1NjguODE0Nyw0NjcuMDg2NCBaIE0yNzUuOTA2Nyw0NzUuMzczNCBDMjc1LjMyODcsNDc1LjM3MzQgMjc0Ljc3NzcsNDc1LjAzODQgMjc0LjUzMTcsNDc0LjQ3NDQgQzI3My43MjE3LDQ3Mi42MjY0IDI3Mi45Mzc3LDQ3MC43NDA0IDI3Mi4yMDI3LDQ2OC44NzE0IEMyNzEuODk4Nyw0NjguMDk5NCAyNzIuMjc3Nyw0NjcuMjI4NCAyNzMuMDQ4Nyw0NjYuOTI1NCBDMjczLjgxNzcsNDY2LjYyMjQgMjc0LjY4OTcsNDY3LjAwMTQgMjc0Ljk5MzcsNDY3Ljc3MTQgQzI3NS43MTY3LDQ2OS42MDY0IDI3Ni40ODQ3LDQ3MS40NTc0IDI3Ny4yNzk3LDQ3My4yNzE0IEMyNzcuNjExNyw0NzQuMDMwNCAyNzcuMjY1Nyw0NzQuOTE1NCAyNzYuNTA3Nyw0NzUuMjQ3NCBDMjc2LjMxMTcsNDc1LjMzMzQgMjc2LjEwNzcsNDc1LjM3MzQgMjc1LjkwNjcsNDc1LjM3MzQgTDI3NS45MDY3LDQ3NS4zNzM0IFogTTU2NC4yMTk3LDQ3OC4xMzA0IEM1NjQuMDA5Nyw0NzguMTMwNCA1NjMuNzk1Nyw0NzguMDg2NCA1NjMuNTkxNyw0NzcuOTkzNCBDNTYyLjgzOTcsNDc3LjY0NTQgNTYyLjUxMTcsNDc2Ljc1NDQgNTYyLjg1NzcsNDc2LjAwMjQgQzU2My42Nzk3LDQ3NC4yMjA0IDU2NC40ODA3LDQ3Mi4zOTQ0IDU2NS4yMzc3LDQ3MC41NzY0IEM1NjUuNTU0Nyw0NjkuODEyNCA1NjYuNDMwNyw0NjkuNDQ5NCA1NjcuMTk4Nyw0NjkuNzY3NCBDNTY3Ljk2MzcsNDcwLjA4NjQgNTY4LjMyNTcsNDcwLjk2MzQgNTY4LjAwNzcsNDcxLjcyODQgQzU2Ny4yMzU3LDQ3My41ODI0IDU2Ni40MjA3LDQ3NS40NDM0IDU2NS41ODI3LDQ3Ny4yNTg0IEM1NjUuMzI5Nyw0NzcuODA3NCA1NjQuNzg2Nyw0NzguMTMwNCA1NjQuMjE5Nyw0NzguMTMwNCBMNTY0LjIxOTcsNDc4LjEzMDQgWiBNMjgxLjE0NzcsNDg2LjE4NjQgQzI4MC42MTE3LDQ4Ni4xODY0IDI4MC4wOTM3LDQ4NS44OTg0IDI3OS44MjI3LDQ4NS4zOTE0IEMyNzguODgwNyw0ODMuNjIyNCAyNzcuOTU0Nyw0ODEuODAyNCAyNzcuMDczNyw0NzkuOTg1NCBDMjc2LjcxMjcsNDc5LjI0MDQgMjc3LjAyMzcsNDc4LjM0MjQgMjc3Ljc2ODcsNDc3Ljk4MTQgQzI3OC41MTU3LDQ3Ny42MjA0IDI3OS40MTI3LDQ3Ny45MzA0IDI3OS43NzI3LDQ3OC42NzY0IEMyODAuNjM2Nyw0ODAuNDYwNCAyODEuNTQ1Nyw0ODIuMjQ0NCAyODIuNDcwNyw0ODMuOTgxNCBDMjgyLjg1OTcsNDg0LjcxMTQgMjgyLjU4MzcsNDg1LjYyMTQgMjgxLjg1MTcsNDg2LjAxMDQgQzI4MS42Mjc3LDQ4Ni4xMjk0IDI4MS4zODY3LDQ4Ni4xODY0IDI4MS4xNDc3LDQ4Ni4xODY0IEwyODEuMTQ3Nyw0ODYuMTg2NCBaIE01NTguNzk1Nyw0ODguNzk3NCBDNTU4LjU0NzcsNDg4Ljc5NzQgNTU4LjI5NzcsNDg4LjczNzQgNTU4LjA2NTcsNDg4LjYwODQgQzU1Ny4zNDI3LDQ4OC4yMDU0IDU1Ny4wODI3LDQ4Ny4yOTE0IDU1Ny40ODU3LDQ4Ni41Njc0IEM1NTguNDQyNyw0ODQuODUxNCA1NTkuMzgxNyw0ODMuMDkwNCA1NjAuMjczNyw0ODEuMzM1NCBDNTYwLjY0OTcsNDgwLjU5NjQgNTYxLjU1MjcsNDgwLjMwMDQgNTYyLjI5MDcsNDgwLjY3NzQgQzU2My4wMjg3LDQ4MS4wNTI0IDU2My4zMjM3LDQ4MS45NTY0IDU2Mi45NDc3LDQ4Mi42OTQ0IEM1NjIuMDM3Nyw0ODQuNDg0NCA1NjEuMDgxNyw0ODYuMjc4NCA1NjAuMTA2Nyw0ODguMDI4NCBDNTU5LjgzMjcsNDg4LjUyMDQgNTU5LjMyMTcsNDg4Ljc5NzQgNTU4Ljc5NTcsNDg4Ljc5NzQgTDU1OC43OTU3LDQ4OC43OTc0IFogTTU1Mi41NzI3LDQ5OS4wMzE0IEM1NTIuMjg4Nyw0OTkuMDMxNCA1NTIuMDAxNyw0OTguOTUxNCA1NTEuNzQ2Nyw0OTguNzgyNCBDNTUxLjA1NDcsNDk4LjMyNTQgNTUwLjg2NTcsNDk3LjM5NDQgNTUxLjMyMjcsNDk2LjcwNDQgQzU1Mi40MDQ3LDQ5NS4wNjc0IDU1My40NzM3LDQ5My4zODE0IDU1NC40OTk3LDQ5MS42OTM0IEM1NTQuOTMwNyw0OTAuOTg2NCA1NTUuODUxNyw0OTAuNzYyNCA1NTYuNTYwNyw0OTEuMTkwNCBDNTU3LjI2ODcsNDkxLjYyMTQgNTU3LjQ5MzcsNDkyLjU0NDQgNTU3LjA2MzcsNDkzLjI1MjQgQzU1Ni4wMTc3LDQ5NC45NzE0IDU1NC45Mjc3LDQ5Ni42OTA0IDU1My44MjQ3LDQ5OC4zNTg0IEM1NTMuNTM2Nyw0OTguNzk0NCA1NTMuMDU4Nyw0OTkuMDMxNCA1NTIuNTcyNyw0OTkuMDMxNCBMNTUyLjU3MjcsNDk5LjAzMTQgWiBNNTQ1LjU4OTcsNTA4Ljc2OTQgQzU0NS4yNjc3LDUwOC43Njk0IDU0NC45NDQ3LDUwOC42Njc0IDU0NC42NzA3LDUwOC40NTU0IEM1NDQuMDE1Nyw1MDcuOTQ3NCA1NDMuODk2Nyw1MDcuMDA0NCA1NDQuNDA0Nyw1MDYuMzQ5NCBDNTQ1LjYwNTcsNTA0LjgwMjQgNTQ2Ljc5OTcsNTAzLjIwMjQgNTQ3Ljk1NDcsNTAxLjU5MjQgQzU0OC40MzY3LDUwMC45MTk0IDU0OS4zNzQ3LDUwMC43NjM0IDU1MC4wNDc3LDUwMS4yNDg0IEM1NTAuNzIwNyw1MDEuNzMwNCA1NTAuODc1Nyw1MDIuNjY4NCA1NTAuMzkxNyw1MDMuMzQwNCBDNTQ5LjIxNTcsNTA0Ljk4MTQgNTQ3Ljk5ODcsNTA2LjYxMjQgNTQ2Ljc3NTcsNTA4LjE4OTQgQzU0Ni40Nzk3LDUwOC41NzA0IDU0Ni4wMzY3LDUwOC43Njk0IDU0NS41ODk3LDUwOC43Njk0IEw1NDUuNTg5Nyw1MDguNzY5NCBaIE01MzcuODkwNzAyLDUxNy45NTc0IEM1MzcuNTMxNyw1MTcuOTU3NCA1MzcuMTcxNyw1MTcuODI5NCA1MzYuODg0Nyw1MTcuNTY5NCBDNTM2LjI2OTcsNTE3LjAxMzQgNTM2LjIyMjcsNTE2LjA2NDQgNTM2Ljc3ODcsNTE1LjQ1MDQgQzUzOC4wODk3LDUxNC4wMDI0IDUzOS40MDE3LDUxMi40OTU0IDU0MC42Nzg3LDUxMC45NzI0IEM1NDEuMjExNyw1MTAuMzM4NCA1NDIuMTU2Nyw1MTAuMjU0NCA1NDIuNzkyNyw1MTAuNzg3NCBDNTQzLjQyNzcsNTExLjMxOTQgNTQzLjUxMDcsNTEyLjI2NTQgNTQyLjk3NzcsNTEyLjkwMDQgQzU0MS42NzY3LDUxNC40NTI0IDU0MC4zMzk3LDUxNS45ODc0IDUzOS4wMDM3LDUxNy40NjM0IEM1MzguNzA3Nyw1MTcuNzkxNCA1MzguMjk5Nyw1MTcuOTU3NCA1MzcuODkwNzAyLDUxNy45NTc0IEw1MzcuODkwNzAyLDUxNy45NTc0IFogTTUyOS41MTU3LDUyNi41NDE0IEM1MjkuMTE5Nyw1MjYuNTQxNCA1MjguNzIzNyw1MjYuMzg0NCA1MjguNDI4Nyw1MjYuMDc0NCBDNTI3Ljg1NzcsNTI1LjQ3NDQgNTI3Ljg4MjcsNTI0LjUyNDQgNTI4LjQ4MjcsNTIzLjk1NDQgQzUyOS45MDI3LDUyMi42MDM0IDUzMS4zMjU3LDUyMS4xOTk0IDUzMi43MTE3LDUxOS43Nzk0IEM1MzMuMjkwNyw1MTkuMTg3NCA1MzQuMjM5Nyw1MTkuMTc1NCA1MzQuODMyNyw1MTkuNzUzNCBDNTM1LjQyNTcsNTIwLjMzMjQgNTM1LjQzNjcsNTIxLjI4MjQgNTM0Ljg1NzcsNTIxLjg3NTQgQzUzMy40NDY3LDUyMy4zMjE0IDUzMS45OTY3LDUyNC43NTI0IDUzMC41NDk3LDUyNi4xMjc0IEM1MzAuMjU5Nyw1MjYuNDA0NCA1MjkuODg2Nyw1MjYuNTQxNCA1MjkuNTE1Nyw1MjYuNTQxNCBMNTI5LjUxNTcsNTI2LjU0MTQgWiBNMzE4LjYxNTcsNTMyLjYxNDQgQzMxOC4yNzI3LDUzMi42MTQ0IDMxNy45Mjg3LDUzMi40OTg0IDMxNy42NDY3LDUzMi4yNTg0IEMzMTYuMTA1Nyw1MzAuOTUzNCAzMTQuNTc2Nyw1MjkuNjA3NCAzMTMuMTAyNyw1MjguMjU5NCBDMzEyLjQ5MTcsNTI3LjcwMTQgMzEyLjQ0OTcsNTI2Ljc1MjQgMzEzLjAwOTcsNTI2LjE0MDQgQzMxMy41Njk3LDUyNS41Mjk0IDMxNC41MTY3LDUyNS40ODg0IDMxNS4xMjg3LDUyNi4wNDY0IEMzMTYuNTczNyw1MjcuMzY4NCAzMTguMDczNyw1MjguNjg4NCAzMTkuNTg2Nyw1MjkuOTY5NCBDMzIwLjIxODcsNTMwLjUwNDQgMzIwLjI5NjcsNTMxLjQ1MTQgMzE5Ljc2MTcsNTMyLjA4NDQgQzMxOS40NjQ3LDUzMi40MzM0IDMxOS4wNDE3LDUzMi42MTQ0IDMxOC42MTU3LDUzMi42MTQ0IEwzMTguNjE1Nyw1MzIuNjE0NCBaIE01MjAuNTEzNyw1MzQuNDcyNCBDNTIwLjA3OTcsNTM0LjQ3MjQgNTE5LjY0NzcsNTM0LjI4NDQgNTE5LjM1MDcsNTMzLjkyMTQgQzUxOC44Mjc3LDUzMy4yNzk0IDUxOC45MjI3LDUzMi4zMzU0IDUxOS41NjM3LDUzMS44MTA0IEM1MjEuMDkyNyw1MzAuNTYyNCA1MjIuNjE3Nyw1MjkuMjY5NCA1MjQuMDk3Nyw1MjcuOTY0NCBDNTI0LjcxOTcsNTI3LjQxNzQgNTI1LjY2NzcsNTI3LjQ3ODQgNTI2LjIxNTcsNTI4LjA5OTQgQzUyNi43NjE3LDUyOC43MjA0IDUyNi43MDI3LDUyOS42Njk0IDUyNi4wODA3LDUzMC4yMTY0IEM1MjQuNTcyNyw1MzEuNTQ0NCA1MjMuMDE4Nyw1MzIuODYzNCA1MjEuNDYyNyw1MzQuMTM0NCBDNTIxLjE4MjcsNTM0LjM2MjQgNTIwLjg0NjcsNTM0LjQ3MjQgNTIwLjUxMzcsNTM0LjQ3MjQgTDUyMC41MTM3LDUzNC40NzI0IFogTTMyOC4wNDg3LDU0MC4wMDk0IEMzMjcuNzQyNyw1NDAuMDA5NCAzMjcuNDM0Nyw1MzkuOTE3NCAzMjcuMTY5Nyw1MzkuNzI0NCBDMzI1LjUzOTcsNTM4LjU0NDQgMzIzLjkxNDcsNTM3LjMxODQgMzIyLjMzODcsNTM2LjA4MjQgQzMyMS42ODY3LDUzNS41NzA0IDMyMS41NzI3LDUzNC42Mjc0IDMyMi4wODM3LDUzMy45NzU0IEMzMjIuNTk0Nyw1MzMuMzI1NCAzMjMuNTM4Nyw1MzMuMjExNCAzMjQuMTg5Nyw1MzMuNzIwNCBDMzI1LjczNjcsNTM0LjkzNDQgMzI3LjMzMTcsNTM2LjEzNjQgMzI4LjkyODcsNTM3LjI5NDQgQzMyOS41OTk3LDUzNy43ODE0IDMyOS43NTA3LDUzOC43MTk0IDMyOS4yNjM3LDUzOS4zODk0IEMzMjguOTY5Nyw1MzkuNzk0NCAzMjguNTExNyw1NDAuMDA5NCAzMjguMDQ4Nyw1NDAuMDA5NCBMMzI4LjA0ODcsNTQwLjAwOTQgWiBNNTEwLjkzNDcsNTQxLjcwNDQgQzUxMC40NjE3LDU0MS43MDQ0IDUwOS45OTU3LDU0MS40ODA0IDUwOS43MDM3LDU0MS4wNjI0IEM1MDkuMjI5Nyw1NDAuMzgyNCA1MDkuMzk2Nyw1MzkuNDQ3NCA1MTAuMDc1Nyw1MzguOTczNCBDNTExLjY5MjcsNTM3Ljg0NTQgNTEzLjMxMTcsNTM2LjY3MDQgNTE0Ljg4ODcsNTM1LjQ4MTQgQzUxNS41NTA3LDUzNC45ODI0IDUxNi40OTA3LDUzNS4xMTM0IDUxNi45ODk3LDUzNS43NzU0IEM1MTcuNDg4Nyw1MzYuNDM2NCA1MTcuMzU2Nyw1MzcuMzc3NCA1MTYuNjk1Nyw1MzcuODc2NCBDNTE1LjA4OTcsNTM5LjA4NzQgNTEzLjQzOTcsNTQwLjI4NTQgNTExLjc5MjcsNTQxLjQzNDQgQzUxMS41MzA3LDU0MS42MTY0IDUxMS4yMzE3LDU0MS43MDQ0IDUxMC45MzQ3LDU0MS43MDQ0IEw1MTAuOTM0Nyw1NDEuNzA0NCBaIE0zMzguMDA1Nyw1NDYuNjY4NCBDMzM3LjczNjcsNTQ2LjY2ODQgMzM3LjQ2NTcsNTQ2LjU5NjQgMzM3LjIxOTcsNTQ2LjQ0NTQgQzMzNS41MDY3LDU0NS4zOTE0IDMzMy43OTM3LDU0NC4yOTM0IDMzMi4xMzE3LDU0My4xODA0IEMzMzEuNDQyNyw1NDIuNzE5NCAzMzEuMjU4Nyw1NDEuNzg4NCAzMzEuNzE4Nyw1NDEuMDk5NCBDMzMyLjE4MDcsNTQwLjQxMDQgMzMzLjExMTcsNTQwLjIyNzQgMzMzLjc5OTcsNTQwLjY4NjQgQzMzNS40Mjk3LDU0MS43Nzg0IDMzNy4xMDk3LDU0Mi44NTU0IDMzOC43OTI3LDU0My44OTA0IEMzMzkuNDk3Nyw1NDQuMzI0NCAzMzkuNzE4Nyw1NDUuMjQ4NCAzMzkuMjgzNyw1NDUuOTU0NCBDMzM5LjAwMDcsNTQ2LjQxNDQgMzM4LjUwODcsNTQ2LjY2ODQgMzM4LjAwNTcsNTQ2LjY2ODQgTDMzOC4wMDU3LDU0Ni42Njg0IFogTTUwMC44MzA3LDU0OC4xOTM0IEM1MDAuMzE3Nyw1NDguMTkzNCA0OTkuODE2Nyw1NDcuOTI5NCA0OTkuNTM3Nyw1NDcuNDU1NCBDNDk5LjExNjcsNTQ2Ljc0MTQgNDk5LjM1MzcsNTQ1LjgyMjQgNTAwLjA2NzcsNTQ1LjQwMTQgQzUwMS43NzA3LDU0NC4zOTc0IDUwMy40NzM3LDU0My4zNDc0IDUwNS4xMzI3LDU0Mi4yODM0IEM1MDUuODI4Nyw1NDEuODM2NCA1MDYuNzU3Nyw1NDIuMDM2NCA1MDcuMjA0Nyw1NDIuNzM0NCBDNTA3LjY1MjcsNTQzLjQzMDQgNTA3LjQ1MDcsNTQ0LjM1OTQgNTA2Ljc1MzcsNTQ0LjgwNjQgQzUwNS4wNjM3LDU0NS44OTI0IDUwMy4zMjc3LDU0Ni45NjE0IDUwMS41OTE3LDU0Ny45ODU0IEM1MDEuMzUxNyw1NDguMTI3NCA1MDEuMDkwNyw1NDguMTkzNCA1MDAuODMwNyw1NDguMTkzNCBMNTAwLjgzMDcsNTQ4LjE5MzQgWiBNMzQ4LjQzMzcsNTUyLjU1MDQgQzM0OC4yMDI3LDU1Mi41NTA0IDM0Ny45Njg3LDU1Mi40OTc0IDM0Ny43NDg3LDU1Mi4zODM0IEMzNDUuOTU5Nyw1NTEuNDYyNCAzNDQuMTY5Nyw1NTAuNDk4NCAzNDIuNDI3Nyw1NDkuNTE1NCBDMzQxLjcwNjcsNTQ5LjEwODQgMzQxLjQ1MTcsNTQ4LjE5MzQgMzQxLjg1ODcsNTQ3LjQ3MTQgQzM0Mi4yNjU3LDU0Ni43NTA0IDM0My4xODA3LDU0Ni40OTg0IDM0My45MDI3LDU0Ni45MDI0IEMzNDUuNjEwNyw1NDcuODY2NCAzNDcuMzY2Nyw1NDguODEzNCAzNDkuMTIxNyw1NDkuNzE3NCBDMzQ5Ljg1ODcsNTUwLjA5NjQgMzUwLjE0NzcsNTUxLjAwMTQgMzQ5Ljc2NzcsNTUxLjczNzQgQzM0OS41MDI3LDU1Mi4yNTM0IDM0OC45Nzc3LDU1Mi41NTA0IDM0OC40MzM3LDU1Mi41NTA0IEwzNDguNDMzNyw1NTIuNTUwNCBaIE00OTAuMjU4Nyw1NTMuODk2NCBDNDg5LjcwNDcsNTUzLjg5NjQgNDg5LjE3MTcsNTUzLjU4ODQgNDg4LjkxMDcsNTUzLjA1NzQgQzQ4OC41NDU3LDU1Mi4zMTQ0IDQ4OC44NTI3LDU1MS40MTU0IDQ4OS41OTU3LDU1MS4wNDk0IEM0OTEuMzU3Nyw1NTAuMTg1NCA0OTMuMTM3Nyw1NDkuMjY4NCA0OTQuODg2Nyw1NDguMzI1NCBDNDk1LjYxNjcsNTQ3LjkzMjQgNDk2LjUyNTcsNTQ4LjIwNDQgNDk2LjkxOTcsNTQ4LjkzMzQgQzQ5Ny4zMTI3LDU0OS42NjM0IDQ5Ny4wNDA3LDU1MC41NzI0IDQ5Ni4zMTA3LDU1MC45NjU0IEM0OTQuNTI3Nyw1NTEuOTI2NCA0OTIuNzE0Nyw1NTIuODYxNCA0OTAuOTE4Nyw1NTMuNzQzNCBDNDkwLjcwNTcsNTUzLjg0NzQgNDkwLjQ3OTcsNTUzLjg5NjQgNDkwLjI1ODcsNTUzLjg5NjQgTDQ5MC4yNTg3LDU1My44OTY0IFogTTM1OS4yNzE3LDU1Ny42MjA0IEMzNTkuMDc3Nyw1NTcuNjIwNCAzNTguODgwNyw1NTcuNTgyNCAzNTguNjg5Nyw1NTcuNTAyNCBDMzU2Ljg0NDcsNTU2LjcyMzQgMzU0Ljk4NzcsNTU1Ljg5NzQgMzUzLjE3MTcsNTU1LjA0NzQgQzM1Mi40MjE3LDU1NC42OTc0IDM1Mi4wOTY3LDU1My44MDQ0IDM1Mi40NDg3LDU1My4wNTM0IEMzNTIuNzk5Nyw1NTIuMzAyNCAzNTMuNjkwNyw1NTEuOTc4NCAzNTQuNDQyNyw1NTIuMzMxNCBDMzU2LjIyNDcsNTUzLjE2NDQgMzU4LjA0NjcsNTUzLjk3NDQgMzU5Ljg1NTcsNTU0LjczODQgQzM2MC42MTk3LDU1NS4wNjA0IDM2MC45NzY3LDU1NS45NDA0IDM2MC42NTQ3LDU1Ni43MDM0IEMzNjAuNDEzNyw1NTcuMjc2NCAzNTkuODU2Nyw1NTcuNjIwNCAzNTkuMjcxNyw1NTcuNjIwNCBMMzU5LjI3MTcsNTU3LjYyMDQgWiBNNDc5LjI3MzcsNTU4Ljc4MDQgQzQ3OC42Nzg3LDU1OC43ODA0IDQ3OC4xMTU3LDU1OC40MjM0IDQ3Ny44ODE3LDU1Ny44MzY0IEM0NzcuNTczNyw1NTcuMDY3NCA0NzcuOTQ3Nyw1NTYuMTk1NCA0NzguNzE3Nyw1NTUuODg3NCBDNDgwLjU1MTcsNTU1LjE1NDQgNDgyLjM5NjcsNTU0LjM3NjQgNDg0LjIwMzcsNTUzLjU3MjQgQzQ4NC45NjE3LDU1My4yMzM0IDQ4NS44NDU3LDU1My41Nzg0IDQ4Ni4xODM3LDU1NC4zMzQ0IEM0ODYuNTE5Nyw1NTUuMDkwNCA0ODYuMTc4Nyw1NTUuOTc3NCA0ODUuNDIyNyw1NTYuMzE0NCBDNDgzLjU4MDcsNTU3LjEzMjQgNDgxLjY5OTcsNTU3LjkyNTQgNDc5LjgzMDcsNTU4LjY3MjQgQzQ3OS42NDc3LDU1OC43NDY0IDQ3OS40NTk3LDU1OC43ODA0IDQ3OS4yNzM3LDU1OC43ODA0IEw0NzkuMjczNyw1NTguNzgwNCBaIE0zNzAuNDc2Nyw1NjEuODU1NCBDMzcwLjMxOTcsNTYxLjg1NTQgMzcwLjE1ODcsNTYxLjgzMTQgMzcwLjAwMDcsNTYxLjc3ODQgQzM2OC4wODk3LDU2MS4xMzc0IDM2Ni4xNzA3LDU2MC40NTQ0IDM2NC4yOTY3LDU1OS43NDY0IEMzNjMuNTIwNyw1NTkuNDUzNCAzNjMuMTMwNyw1NTguNTg2NCAzNjMuNDIzNyw1NTcuODEyNCBDMzYzLjcxNzcsNTU3LjAzNzQgMzY0LjU4NTcsNTU2LjY1MTQgMzY1LjM1NjcsNTU2LjkzOTQgQzM2Ny4xOTQ3LDU1Ny42MzQ0IDM2OS4wNzc3LDU1OC4zMDU0IDM3MC45NTM3LDU1OC45MzI0IEMzNzEuNzM4Nyw1NTkuMTk2NCAzNzIuMTYyNyw1NjAuMDQ1NCAzNzEuODk5Nyw1NjAuODMyNCBDMzcxLjY4ODcsNTYxLjQ1OTQgMzcxLjEwNDcsNTYxLjg1NTQgMzcwLjQ3NjcsNTYxLjg1NTQgTDM3MC40NzY3LDU2MS44NTU0IFogTTQ2Ny45NDA3LDU2Mi44MTE0IEM0NjcuMzAyNyw1NjIuODExNCA0NjYuNzEwNyw1NjIuNDAxNCA0NjYuNTA5Nyw1NjEuNzU5NCBDNDY2LjI2MTcsNTYwLjk2ODQgNDY2LjcwMTcsNTYwLjEyNzQgNDY3LjQ5MjcsNTU5Ljg3OTQgQzQ2OS4zNzg3LDU1OS4yODk0IDQ3MS4yODA3LDU1OC42NTQ0IDQ3My4xNDQ3LDU1Ny45OTI0IEM0NzMuOTI0Nyw1NTcuNzExNCA0NzQuNzgzNyw1NTguMTIxNCA0NzUuMDU5Nyw1NTguOTAzNCBDNDc1LjMzNzcsNTU5LjY4MzQgNDc0LjkyOTcsNTYwLjU0MTQgNDc0LjE0ODcsNTYwLjgxODQgQzQ3Mi4yNDk3LDU2MS40OTQ0IDQ3MC4zMTA3LDU2Mi4xNDE0IDQ2OC4zODg3LDU2Mi43NDM0IEM0NjguMjM5Nyw1NjIuNzkwNCA0NjguMDg5Nyw1NjIuODExNCA0NjcuOTQwNyw1NjIuODExNCBMNDY3Ljk0MDcsNTYyLjgxMTQgWiBNMzgxLjk4NjcsNTY1LjIyNjQgQzM4MS44NjU3LDU2NS4yMjY0IDM4MS43NDI3LDU2NS4yMTE0IDM4MS42MTk3LDU2NS4xODE0IEMzNzkuNjcwNyw1NjQuNjkwNCAzNzcuNzA0Nyw1NjQuMTU1NCAzNzUuNzc2Nyw1NjMuNTkwNCBDMzc0Ljk4MTcsNTYzLjM1ODQgMzc0LjUyNTcsNTYyLjUyNDQgMzc0Ljc1OTcsNTYxLjcyOTQgQzM3NC45OTE3LDU2MC45MzQ0IDM3NS44Mjg3LDU2MC40ODE0IDM3Ni42MjA3LDU2MC43MTE0IEMzNzguNTExNyw1NjEuMjY1NCAzODAuNDM5Nyw1NjEuNzkwNCAzODIuMzUxNyw1NjIuMjcxNCBDMzgzLjE1NTcsNTYyLjQ3NDQgMzgzLjY0MjcsNTYzLjI4OTQgMzgzLjQzOTcsNTY0LjA5MjQgQzM4My4yNjg3LDU2NC43NzM0IDM4Mi42NTc3LDU2NS4yMjY0IDM4MS45ODY3LDU2NS4yMjY0IEwzODEuOTg2Nyw1NjUuMjI2NCBaIE00NTYuMzY0Nyw1NjUuOTU0NCBDNDU1LjY4MTcsNTY1Ljk1NDQgNDU1LjA2MzcsNTY1LjQ4NTQgNDU0LjkwMzcsNTY0Ljc5MjQgQzQ1NC43MTc3LDU2My45ODQ0IDQ1NS4yMjA3LDU2My4xNzg0IDQ1Ni4wMjc3LDU2Mi45OTI0IEM0NTcuOTQxNyw1NjIuNTUwNCA0NTkuODgwNyw1NjIuMDYzNCA0NjEuNzg5Nyw1NjEuNTQ1NCBDNDYyLjU5MDcsNTYxLjMzNDQgNDYzLjQxMzcsNTYxLjgwMjQgNDYzLjYzMDcsNTYyLjYwMTQgQzQ2My44NDU3LDU2My40MDE0IDQ2My4zNzQ3LDU2NC4yMjU0IDQ2Mi41NzQ3LDU2NC40NDI0IEM0NjAuNjI5Nyw1NjQuOTY4NCA0NTguNjUzNyw1NjUuNDY0NCA0NTYuNzAzNyw1NjUuOTE2NCBDNDU2LjU4OTcsNTY1Ljk0MTQgNDU2LjQ3NTcsNTY1Ljk1NDQgNDU2LjM2NDcsNTY1Ljk1NDQgTDQ1Ni4zNjQ3LDU2NS45NTQ0IFogTTM5My43MjI3LDU2Ny43MDg0IEMzOTMuNjM4Nyw1NjcuNzA4NCAzOTMuNTUzNyw1NjcuNzAxNCAzOTMuNDY3Nyw1NjcuNjg2NCBDMzkxLjUwNDcsNTY3LjM0OTQgMzg5LjUwMzcsNTY2Ljk2NjQgMzg3LjUxOTcsNTY2LjU0NzQgQzM4Ni43MDk3LDU2Ni4zNzY0IDM4Ni4xOTE3LDU2NS41ODA0IDM4Ni4zNjI3LDU2NC43Njk0IEMzODYuNTMzNyw1NjMuOTU5NCAzODcuMzI2Nyw1NjMuNDQ2NCAzODguMTQwNyw1NjMuNjEyNCBDMzkwLjA4NjcsNTY0LjAyMzQgMzkyLjA0OTcsNTY0LjM5OTQgMzkzLjk3NDcsNTY0LjcyOTQgQzM5NC43OTE3LDU2NC44Njk0IDM5NS4zMzk3LDU2NS42NDQ0IDM5NS4xOTk3LDU2Ni40NjE0IEMzOTUuMDc0Nyw1NjcuMTkyNCAzOTQuNDM5Nyw1NjcuNzA4NCAzOTMuNzIyNyw1NjcuNzA4NCBMMzkzLjcyMjcsNTY3LjcwODQgWiBNNDQ0LjU4MzcsNTY4LjIwNDQgQzQ0My44NTM3LDU2OC4yMDQ0IDQ0My4yMTU3LDU2Ny42NzE0IDQ0My4xMDE3LDU2Ni45Mjg0IEM0NDIuOTc3Nyw1NjYuMTEwNCA0NDMuNTQxNyw1NjUuMzQ1NCA0NDQuMzYwNyw1NjUuMjIwNCBDNDQ2LjI5OTcsNTY0LjkyNjQgNDQ4LjI2OTcsNTY0LjU4OTQgNDUwLjIxNzcsNTY0LjIxODQgQzQ1MS4wMjE3LDU2NC4wNzI0IDQ1MS44MTU3LDU2NC41OTY0IDQ1MS45NzA3LDU2NS40MTI0IEM0NTIuMTI2Nyw1NjYuMjI1NCA0NTEuNTkyNyw1NjcuMDEwNCA0NTAuNzc3Nyw1NjcuMTY2NCBDNDQ4Ljc5NDcsNTY3LjU0NDQgNDQ2Ljc4NjcsNTY3Ljg4NzQgNDQ0LjgwOTcsNTY4LjE4NzQgQzQ0NC43MzM3LDU2OC4xOTg0IDQ0NC42NTg3LDU2OC4yMDQ0IDQ0NC41ODM3LDU2OC4yMDQ0IEw0NDQuNTgzNyw1NjguMjA0NCBaIE00MDUuNjA5Nyw1NjkuMjkwNCBDNDA1LjU2MTcsNTY5LjI5MDQgNDA1LjUxNDcsNTY5LjI4ODQgNDA1LjQ2NzcsNTY5LjI4MzQgQzQwMy40NzU3LDU2OS4wOTU0IDQwMS40NTI3LDU2OC44NjU0IDM5OS40NTE3LDU2OC41OTk0IEMzOTguNjMxNyw1NjguNDkwNCAzOTguMDUzNyw1NjcuNzM1NCAzOTguMTYyNyw1NjYuOTE0NCBDMzk4LjI3MTcsNTY2LjA5MTQgMzk5LjAyNTcsNTY1LjUxODQgMzk5Ljg0NzcsNTY1LjYyNTQgQzQwMS44MDk3LDU2NS44ODY0IDQwMy43OTU3LDU2Ni4xMTI0IDQwNS43NDg3LDU2Ni4yOTY0IEM0MDYuNTczNyw1NjYuMzc0NCA0MDcuMTc4Nyw1NjcuMTA2NCA0MDcuMTAwNyw1NjcuOTMwNCBDNDA3LjAyNzcsNTY4LjcwODQgNDA2LjM3NDcsNTY5LjI5MDQgNDA1LjYwOTcsNTY5LjI5MDQgTDQwNS42MDk3LDU2OS4yOTA0IFogTTQzMi42NjY3LDU2OS41NTE0IEM0MzEuODg4Nyw1NjkuNTUxNCA0MzEuMjMxNyw1NjguOTUyNCA0MzEuMTcyNyw1NjguMTY0NCBDNDMxLjExMDcsNTY3LjMzNzQgNDMxLjcyOTcsNTY2LjYxODQgNDMyLjU1NTcsNTY2LjU1NTQgQzQzNC41MTk3LDU2Ni40MDg0IDQzNi41MTA3LDU2Ni4yMjA0IDQzOC40NzA3LDU2Ni4wMDA0IEM0MzkuMjc4Nyw1NjUuOTAxNCA0NDAuMDM2Nyw1NjYuNDk4NCA0NDAuMTI5Nyw1NjcuMzIyNCBDNDQwLjIyMjcsNTY4LjE0NTQgNDM5LjYzMDcsNTY4Ljg4NzQgNDM4LjgwNjcsNTY4Ljk4MDQgQzQzNi44MDk3LDU2OS4yMDY0IDQzNC43ODI3LDU2OS4zOTc0IDQzMi43ODA3LDU2OS41NDc0IEM0MzIuNzQyNyw1NjkuNTUwNCA0MzIuNzA0Nyw1NjkuNTUxNCA0MzIuNjY2Nyw1NjkuNTUxNCBMNDMyLjY2NjcsNTY5LjU1MTQgWiBNNDE3LjU4NDcsNTY5Ljk3MDQgTDQxNy41NTQ3LDU2OS45NzA0IEM0MTUuNTQ2Nyw1NjkuOTMyNCA0MTMuNTEwNyw1NjkuODU1NCA0MTEuNTA0Nyw1NjkuNzQxNCBDNDEwLjY3NzcsNTY5LjY5MzQgNDEwLjA0NDcsNTY4Ljk4NTQgNDEwLjA5MTcsNTY4LjE1ODQgQzQxMC4xMzg3LDU2Ny4zMzE0IDQxMC44NTE3LDU2Ni43MjA0IDQxMS42NzQ3LDU2Ni43NDU0IEM0MTMuNjQyNyw1NjYuODU3NCA0MTUuNjQwNyw1NjYuOTMzNCA0MTcuNjExNyw1NjYuOTcwNCBDNDE4LjQzOTcsNTY2Ljk4NjQgNDE5LjA5ODcsNTY3LjY3MDQgNDE5LjA4MzcsNTY4LjQ5OTQgQzQxOS4wNjc3LDU2OS4zMTc0IDQxOC4zOTg3LDU2OS45NzA0IDQxNy41ODQ3LDU2OS45NzA0IEw0MTcuNTg0Nyw1NjkuOTcwNCBaIE00MjAuNjgyNyw1NzAuMDAwNCBDNDE5Ljg1NDcsNTcwLjAwMDQgNDE5LjE4MjcsNTY5LjMyODQgNDE5LjE4MjcsNTY4LjUwMDQgQzQxOS4xODI3LDU2Ny42NzE0IDQxOS44NTQ3LDU2Ny4wMDA0IDQyMC42ODI3LDU2Ny4wMDA0IEM0MjIuNjYzNyw1NjcuMDAwNCA0MjQuNjYxNyw1NjYuOTYyNCA0MjYuNjIzNyw1NjYuODg5NCBDNDI3LjQzNjcsNTY2Ljg1NjQgNDI4LjE0NjcsNTY3LjUwNTQgNDI4LjE3ODcsNTY4LjMzMzQgQzQyOC4yMDk3LDU2OS4xNjA0IDQyNy41NjI3LDU2OS44NTY0IDQyNi43MzQ3LDU2OS44ODc0IEM0MjQuNzM2Nyw1NjkuOTYxNCA0MjIuNzAwNyw1NzAuMDAwNCA0MjAuNjgyNyw1NzAuMDAwNCBMNDIwLjY4MjcsNTcwLjAwMDQgWiIgaWQ9IkZpbGwtMSIgZmlsbD0iI0EzQjFCRiIgb3BhY2l0eT0iMC4zOTU2NzA1NzMiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDE3LjQ0NTgsMTQwLjAxODYgQzQxNi42MjU4LDE0MC4wMTg2IDQxNS45NTU4LDEzOS4zNTg2IDQxNS45NDU4LDEzOC41MzY2IEM0MTUuOTM1OCwxMzcuNzA3NiA0MTYuNTk5OCwxMzcuMDI4NiA0MTcuNDI3OCwxMzcuMDE4NiBDNDE5LjQzNDgsMTM2Ljk5NTYgNDIxLjQ1MjgsMTM2Ljk5NTYgNDIzLjQ1OTgsMTM3LjAxMzYgQzQyNC4yODc4LDEzNy4wMjE2IDQyNC45NTI4LDEzNy42OTk2IDQyNC45NDQ4NzEsMTM4LjUyODYgQzQyNC45MzY4LDEzOS4zNTE2IDQyNC4yNjY4LDE0MC4wMTM2IDQyMy40NDQ4LDE0MC4wMTM2IEw0MjMuNDI5OCwxNDAuMDEzNiBDNDIxLjQ0NDgsMTM5Ljk5NDYgNDE5LjQ0NzgsMTM5Ljk5NTYgNDE3LjQ2MzgsMTQwLjAxODYgTDQxNy40NDU4LDE0MC4wMTg2IFogTTQzNS40MzA4LDE0MC4zOTI2IEM0MzUuNDA0OCwxNDAuMzkyNiA0MzUuMzc3OCwxNDAuMzkxNiA0MzUuMzQ5OCwxNDAuMzkwNiBDNDMzLjM2ODgsMTQwLjI4NDYgNDMxLjM4MTgsMTQwLjIwMDYgNDI5LjM4ODgsMTQwLjEzNjYgQzQyOC41NjA4LDE0MC4xMTA2IDQyNy45MTE4LDEzOS40MTc2IDQyNy45Mzc4LDEzOC41ODk2IEM0MjcuOTY0OCwxMzcuNzYxNiA0MjguNjQzOCwxMzcuMDc3NiA0MjkuNDg0OCwxMzcuMTM4NiBDNDMxLjQ5ODgsMTM3LjIwMjYgNDMzLjUwNzgsMTM3LjI4ODYgNDM1LjUwOTgsMTM3LjM5NDYgQzQzNi4zMzc4LDEzNy40Mzg2IDQzNi45NzE4LDEzOC4xNDU2IDQzNi45Mjc4LDEzOC45NzI2IEM0MzYuODg0OCwxMzkuNzcyNiA0MzYuMjIyOCwxNDAuMzkyNiA0MzUuNDMwOCwxNDAuMzkyNiBMNDM1LjQzMDgsMTQwLjM5MjYgWiBNNDQ3LjM5NDgsMTQxLjI5NDYgQzQ0Ny4zNDU4LDE0MS4yOTQ2IDQ0Ny4yOTc4LDE0MS4yOTI2IDQ0Ny4yNDc4LDE0MS4yODg2IEM0NDUuMjcxOCwxNDEuMDk1NiA0NDMuMjkwOCwxNDAuOTI0NiA0NDEuMzAyOCwxNDAuNzc0NiBDNDQwLjQ3NjgsMTQwLjcxMTYgNDM5Ljg1NzgsMTM5Ljk5MTYgNDM5LjkyMDgsMTM5LjE2NDYgQzQzOS45ODI4LDEzOC4zMzk2IDQ0MC43MTU4LDEzNy43MTU2IDQ0MS41Mjk4LDEzNy43ODI2IEM0NDMuNTM4OCwxMzcuOTM0NiA0NDUuNTQxOCwxMzguMTA3NiA0NDcuNTM4OCwxMzguMzAxNiBDNDQ4LjM2MjgsMTM4LjM4MTYgNDQ4Ljk2NjgsMTM5LjExNTYgNDQ4Ljg4NTgsMTM5Ljk0MDYgQzQ0OC44MDk4LDE0MC43MTU2IDQ0OC4xNTc4LDE0MS4yOTQ2IDQ0Ny4zOTQ4LDE0MS4yOTQ2IEw0NDcuMzk0OCwxNDEuMjk0NiBaIE00NTkuMzA1OCwxNDIuNzIwNiBDNDU5LjIzNTgsMTQyLjcyMDYgNDU5LjE2NDgsMTQyLjcxNTYgNDU5LjA5MjgsMTQyLjcwNjYgQzQ1Ny4xMzQ4LDE0Mi40MjY2IDQ1NS4xNDU4LDE0Mi4xNjU2IDQ1My4xNzY4LDE0MS45MzA2IEM0NTIuMzU0OCwxNDEuODMxNiA0NTEuNzY3OCwxNDEuMDg1NiA0NTEuODY2OCwxNDAuMjYyNiBDNDUxLjk2NTgsMTM5LjQ0MDYgNDUyLjcxMTgsMTM4Ljg0ODYgNDUzLjUzNDgsMTM4Ljk1MjYgQzQ1NS41MjM4LDEzOS4xOTA2IDQ1Ny41MzY4LDEzOS40NTQ2IDQ1OS41MTQ4LDEzOS43MzU2IEM0NjAuMzM1OCwxMzkuODUyNiA0NjAuOTA1OCwxNDAuNjEyNiA0NjAuNzg5OCwxNDEuNDMyNiBDNDYwLjY4MjgsMTQyLjE4MDYgNDYwLjA0MDgsMTQyLjcyMDYgNDU5LjMwNTgsMTQyLjcyMDYgTDQ1OS4zMDU4LDE0Mi43MjA2IFogTTQ3MS4xNDI4LDE0NC42NzA2IEM0NzEuMDUwOCwxNDQuNjcwNiA0NzAuOTU3OCwxNDQuNjYzNiA0NzAuODY0OCwxNDQuNjQ1NiBDNDY4LjkxMzgsMTQ0LjI3OTYgNDY2Ljk1NDgsMTQzLjkzNDYgNDY0Ljk4ODgsMTQzLjYwOTYgQzQ2NC4xNzE4LDE0My40NzQ2IDQ2My42MTc4LDE0Mi43MDM2IDQ2My43NTM4LDE0MS44ODU2IEM0NjMuODg3OCwxNDEuMDY4NiA0NjQuNjUyOCwxNDAuNTE0NiA0NjUuNDc2OCwxNDAuNjUwNiBDNDY3LjQ2NDgsMTQwLjk3NzYgNDY5LjQ0NDgsMTQxLjMyNjYgNDcxLjQxNzgsMTQxLjY5NjYgQzQ3Mi4yMzE4LDE0MS44NDk2IDQ3Mi43Njc4LDE0Mi42MzM2IDQ3Mi42MTU4LDE0My40NDc2IEM0NzIuNDc5OCwxNDQuMTY3NiA0NzEuODQ5OCwxNDQuNjcwNiA0NzEuMTQyOCwxNDQuNjcwNiBMNDcxLjE0MjgsMTQ0LjY3MDYgWiBNNDgyLjg4MTgsMTQ3LjE0NDYgQzQ4Mi43Njc4LDE0Ny4xNDQ2IDQ4Mi42NTM4LDE0Ny4xMzE2IDQ4Mi41Mzg4LDE0Ny4xMDU2IEM0ODAuNjA0OCwxNDYuNjUyNiA0NzguNjYzOCwxNDYuMjIxNiA0NzYuNzE0OCwxNDUuODEwNiBDNDc1LjkwMzgsMTQ1LjYzOTYgNDc1LjM4NDgsMTQ0Ljg0MzYgNDc1LjU1NTgsMTQ0LjAzMzYgQzQ3NS43MjY4LDE0My4yMjI2IDQ3Ni41MjI4LDE0Mi42OTk2IDQ3Ny4zMzM4LDE0Mi44NzQ2IEM0NzkuMzA4OCwxNDMuMjkwNiA0ODEuMjkwOCwxNDMuNzMxNiA0ODMuMjIxOCwxNDQuMTgzNiBDNDg0LjAyODgsMTQ0LjM3MjYgNDg0LjUyOTgsMTQ1LjE3OTYgNDg0LjM0MTgsMTQ1Ljk4NjYgQzQ4NC4xNzg4LDE0Ni42Nzc2IDQ4My41NjI4LDE0Ny4xNDQ2IDQ4Mi44ODE4LDE0Ny4xNDQ2IEw0ODIuODgxOCwxNDcuMTQ0NiBaIE00OTQuNDk4OCwxNTAuMTM0NiBDNDk0LjM2MzgsMTUwLjEzNDYgNDk0LjIyNjgsMTUwLjExNzYgNDk0LjA5MTgsMTUwLjA3OTYgQzQ5Mi4xNzQ4LDE0OS41Mzk2IDQ5MC4yMzc4LDE0OS4wMTc2IDQ4OC4zMzE4LDE0OC41Mjc2IEM0ODcuNTI5OCwxNDguMzIwNiA0ODcuMDQ2OCwxNDcuNTAyNiA0ODcuMjUyOCwxNDYuNzAwNiBDNDg3LjQ1OTgsMTQ1Ljg5NzYgNDg4LjI3NTgsMTQ1LjQxNDYgNDg5LjA3OTgsMTQ1LjYyMTYgQzQ5MS4wMDc4LDE0Ni4xMTc2IDQ5Mi45NjY4LDE0Ni42NDU2IDQ5NC45MDM4LDE0Ny4xOTA2IEM0OTUuNzAxOCwxNDcuNDE0NiA0OTYuMTY1OCwxNDguMjQ0NiA0OTUuOTQxOCwxNDkuMDQwNiBDNDk1Ljc1NTgsMTQ5LjcwMzYgNDk1LjE1MjgsMTUwLjEzNDYgNDk0LjQ5ODgsMTUwLjEzNDYgTDQ5NC40OTg4LDE1MC4xMzQ2IFogTTUwNS45NzA4LDE1My42Mzk2IEM1MDUuODE1OCwxNTMuNjM5NiA1MDUuNjU2OCwxNTMuNjE1NiA1MDUuNTAxOCwxNTMuNTY0NiBDNTAzLjYxNDgsMTUyLjk0MTYgNTAxLjcxODgsMTUyLjMzOTYgNDk5LjgxNTgsMTUxLjc1NzYgQzQ5OS4wMjM4LDE1MS41MTU2IDQ5OC41Nzc4LDE1MC42NzY2IDQ5OC44MTk4LDE0OS44ODQ2IEM0OTkuMDYxOCwxNDkuMDkxNiA0OTkuODk2OCwxNDguNjQzNiA1MDAuNjkyOCwxNDguODg4NiBDNTAyLjYxNzgsMTQ5LjQ3NjYgNTA0LjU1MDgsMTUwLjA5MTYgNTA2LjQ0MDgsMTUwLjcxNDYgQzUwNy4yMjc4LDE1MC45NzQ2IDUwNy42NTU4LDE1MS44MjM2IDUwNy4zOTU4LDE1Mi42MDk2IEM1MDcuMTg2OCwxNTMuMjQwNiA1MDYuNjAwOCwxNTMuNjM5NiA1MDUuOTcwOCwxNTMuNjM5NiBMNTA1Ljk3MDgsMTUzLjYzOTYgWiBNMzM0LjkxNDgsMTUzLjc5ODYgQzMzNC4yODU4LDE1My43OTg2IDMzMy42OTk4LDE1My40MDA2IDMzMy40OTA4LDE1Mi43NzE2IEMzMzMuMjI5OCwxNTEuOTg1NiAzMzMuNjU1OCwxNTEuMTM1NiAzMzQuNDQxOCwxNTAuODc0NiBDMzM2LjM0NjgsMTUwLjI0MzYgMzM4LjI4NzgsMTQ5LjYyMjYgMzQwLjIwOTgsMTQ5LjAzMTYgQzM0MS4wMDA4LDE0OC43ODk2IDM0MS44NDA4LDE0OS4yMzE2IDM0Mi4wODQ4LDE1MC4wMjM2IEMzNDIuMzI4OCwxNTAuODE1NiAzNDEuODgyOCwxNTEuNjU1NiAzNDEuMDkxOCwxNTEuODk4NiBDMzM5LjE4MDgsMTUyLjQ4NjYgMzM3LjI3OTgsMTUzLjA5MzYgMzM1LjM4NjgsMTUzLjcyMjYgQzMzNS4yMjk4LDE1My43NzQ2IDMzNS4wNzA4LDE1My43OTg2IDMzNC45MTQ4LDE1My43OTg2IEwzMzQuOTE0OCwxNTMuNzk4NiBaIE01MTcuMjc3OCwxNTcuNjUxNiBDNTE3LjA5OTgsMTU3LjY1MTYgNTE2LjkyMDgsMTU3LjYyMDYgNTE2Ljc0NDgsMTU3LjU1MzYgQzUxNC44ODc4LDE1Ni44NDc2IDUxMy4wMjA4LDE1Ni4xNjI2IDUxMS4xNDQ4LDE1NS40OTU2IEM1MTAuMzY0OCwxNTUuMjE4NiA1MDkuOTU2OCwxNTQuMzYwNiA1MTAuMjMzOCwxNTMuNTgwNiBDNTEwLjUwOTgsMTUyLjc5OTYgNTExLjM2NzgsMTUyLjM4OTYgNTEyLjE0ODgsMTUyLjY2ODYgQzUxNC4wNDk4LDE1My4zNDM2IDUxNS45NTU4LDE1NC4wNDM2IDUxNy44MTA4LDE1NC43NDg2IEM1MTguNTg1OCwxNTUuMDQzNiA1MTguOTczOCwxNTUuOTEwNiA1MTguNjc5OCwxNTYuNjg0NiBDNTE4LjQ1MjgsMTU3LjI4MzYgNTE3Ljg4MjgsMTU3LjY1MTYgNTE3LjI3NzgsMTU3LjY1MTYgTDUxNy4yNzc4LDE1Ny42NTE2IFogTTMyMy41Nzc4LDE1Ny44NDY2IEMzMjIuOTczOCwxNTcuODQ2NiAzMjIuNDA1OCwxNTcuNDgwNiAzMjIuMTc2OCwxNTYuODgyNiBDMzIxLjg4MDgsMTU2LjEwOTYgMzIyLjI2NzgsMTU1LjI0MjYgMzIzLjA0MTgsMTU0Ljk0NjYgQzMyNC45MDI4LDE1NC4yMzM2IDMyNi44MTI4LDE1My41Mjc2IDMyOC43MTg4LDE1Mi44NDY2IEMzMjkuNDk2OCwxNTIuNTY3NiAzMzAuMzU4OCwxNTIuOTc1NiAzMzAuNjM1OCwxNTMuNzU1NiBDMzMwLjkxNDgsMTU0LjUzNjYgMzMwLjUwNzgsMTU1LjM5NDYgMzI5LjcyNjgsMTU1LjY3MjYgQzMyNy44NDI4LDE1Ni4zNDQ2IDMyNS45NTQ4LDE1Ny4wNDI2IDMyNC4xMTM4LDE1Ny43NDc2IEMzMjMuOTM3OCwxNTcuODE1NiAzMjMuNzU2OCwxNTcuODQ2NiAzMjMuNTc3OCwxNTcuODQ2NiBMMzIzLjU3NzgsMTU3Ljg0NjYgWiBNNTI4LjM3MzgsMTYyLjE1MTYgQzUyOC4xNzQ4LDE2Mi4xNTE2IDUyNy45NzI4LDE2Mi4xMTI2IDUyNy43Nzk4LDE2Mi4wMjg2IEM1MjUuOTU5OCwxNjEuMjQyNiA1MjQuMTE0OCwxNjAuNDcwNiA1MjIuMjk3OCwxNTkuNzM0NiBDNTIxLjUyOTgsMTU5LjQyMjYgNTIxLjE1OTgsMTU4LjU0NzYgNTIxLjQ2OTgsMTU3Ljc4MDYgQzUyMS43ODE4LDE1Ny4wMTM2IDUyMi42NTY4LDE1Ni42NDU2IDUyMy40MjQ4LDE1Ni45NTM2IEM1MjUuMjYxOCwxNTcuNjk4NiA1MjcuMTI4OCwxNTguNDc5NiA1MjguOTY4OCwxNTkuMjc0NiBDNTI5LjcyOTgsMTU5LjYwMjYgNTMwLjA3OTgsMTYwLjQ4NTYgNTI5Ljc1MTgsMTYxLjI0NjYgQzUyOS41MDc4LDE2MS44MTI2IDUyOC45NTQ4LDE2Mi4xNTE2IDUyOC4zNzM4LDE2Mi4xNTE2IEw1MjguMzczOCwxNjIuMTUxNiBaIE0zMTIuNDM3OCwxNjIuMzkxNiBDMzExLjg1ODgsMTYyLjM5MTYgMzExLjMwNjgsMTYyLjA1NDYgMzExLjA2MDgsMTYxLjQ4OTYgQzMxMC43MzA4LDE2MC43Mjk2IDMxMS4wNzk4LDE1OS44NDU2IDMxMS44Mzk4LDE1OS41MTU2IEMzMTMuNjY3OCwxNTguNzIxNiAzMTUuNTQzOCwxNTcuOTMxNiAzMTcuNDEzOCwxNTcuMTY3NiBDMzE4LjE4MTgsMTU2Ljg1MjYgMzE5LjA1NTgsMTU3LjIyMjYgMzE5LjM2OTgsMTU3Ljk4OTYgQzMxOS42ODI4LDE1OC43NTY2IDMxOS4zMTQ4LDE1OS42MzE2IDMxOC41NDg4LDE1OS45NDU2IEMzMTYuNjk5OCwxNjAuNzAwNiAzMTQuODYxOCwxNjEuNDczNiAzMTMuMDM0OCwxNjIuMjY3NiBDMzEyLjg0MDgsMTYyLjM1MTYgMzEyLjYzNjgsMTYyLjM5MTYgMzEyLjQzNzgsMTYyLjM5MTYgTDMxMi40Mzc4LDE2Mi4zOTE2IFogTTUzOS4yNDU4LDE2Ny4xMzE2IEM1MzkuMDI1OCwxNjcuMTMxNiA1MzguODAyOCwxNjcuMDgzNiA1MzguNTkxOCwxNjYuOTgxNiBDNTM2LjgwOTgsMTY2LjExNzYgNTM1LjAxNjgsMTY1LjI3MTYgNTMzLjIxMjgsMTY0LjQ0NDYgQzUzMi40NTk4LDE2NC4wOTk2IDUzMi4xMjg4LDE2My4yMDk2IDUzMi40NzM4LDE2Mi40NTU2IEM1MzIuODE4OCwxNjEuNzAyNiA1MzMuNzA3OCwxNjEuMzcyNiA1MzQuNDYyOCwxNjEuNzE3NiBDNTM2LjI4NjgsMTYyLjU1MjYgNTM4LjA5ODgsMTYzLjQwODYgNTM5LjkwMDgsMTY0LjI4MjYgQzU0MC42NDY4LDE2NC42NDM2IDU0MC45NTc4LDE2NS41NDA2IDU0MC41OTU4LDE2Ni4yODY2IEM1NDAuMzM3OCwxNjYuODIxNiA1MzkuODAxOCwxNjcuMTMxNiA1MzkuMjQ1OCwxNjcuMTMxNiBMNTM5LjI0NTgsMTY3LjEzMTYgWiBNMzAxLjUxMzgsMTY3LjQyNjYgQzMwMC45NTk4LDE2Ny40MjY2IDMwMC40MjQ4LDE2Ny4xMTc2IDMwMC4xNjU4LDE2Ni41ODQ2IEMyOTkuODAxOCwxNjUuODQwNiAzMDAuMTEwOCwxNjQuOTQyNiAzMDAuODU0OCwxNjQuNTc5NiBDMzAyLjY1MDgsMTYzLjcwMjYgMzA0LjQ4OTgsMTYyLjgyOTYgMzA2LjMxODgsMTYxLjk4NjYgQzMwNy4wNjg4LDE2MS42Mzc2IDMwNy45NjI4LDE2MS45Njg2IDMwOC4zMDg4LDE2Mi43MjA2IEMzMDguNjU1OCwxNjMuNDcyNiAzMDguMzI2OCwxNjQuMzY0NiAzMDcuNTc0OCwxNjQuNzEwNiBDMzA1Ljc2NDgsMTY1LjU0NDYgMzAzLjk0NzgsMTY2LjQwNzYgMzAyLjE3MTgsMTY3LjI3NDYgQzMwMS45NTk4LDE2Ny4zNzc2IDMwMS43MzQ4LDE2Ny40MjY2IDMwMS41MTM4LDE2Ny40MjY2IEwzMDEuNTEzOCwxNjcuNDI2NiBaIE01NDkuODkxOCwxNzIuNTg4NiBDNTQ5LjY1MDgsMTcyLjU4ODYgNTQ5LjQwNjgsMTcyLjUzMTYgNTQ5LjE3ODgsMTcyLjQwODYgQzU0Ny40MzU4LDE3MS40NjQ2IDU0NS42ODA4LDE3MC41NDA2IDU0My45MTQ4LDE2OS42MzQ2IEM1NDMuMTc2OCwxNjkuMjU2NiA1NDIuODg1OCwxNjguMzUyNiA1NDMuMjYzOCwxNjcuNjE1NiBDNTQzLjY0MTgsMTY2Ljg3ODYgNTQ0LjU0NzgsMTY2LjU4NjYgNTQ1LjI4MzgsMTY2Ljk2NDYgQzU0Ny4wNjk4LDE2Ny44ODA2IDU0OC44NDM4LDE2OC44MTY2IDU1MC42MDY4LDE2OS43Njk2IEM1NTEuMzM1OCwxNzAuMTY0NiA1NTEuNjA2OCwxNzEuMDc0NiA1NTEuMjEyOCwxNzEuODAyNiBDNTUwLjk0MDgsMTcyLjMwNDYgNTUwLjQyNDgsMTcyLjU4ODYgNTQ5Ljg5MTgsMTcyLjU4ODYgTDU0OS44OTE4LDE3Mi41ODg2IFogTTI5MC44Mjk4LDE3Mi45Mzk2IEMyOTAuMjk4OCwxNzIuOTM5NiAyODkuNzgzOCwxNzIuNjU2NiAyODkuNTEwOCwxNzIuMTU3NiBDMjg5LjExNDgsMTcxLjQyOTYgMjg5LjM4MzgsMTcwLjUxODYgMjkwLjExMDgsMTcwLjEyMjYgQzI5MS44NzE4LDE2OS4xNjM2IDI5My42Njg4LDE2OC4yMTA2IDI5NS40NTI4LDE2Ny4yOTA2IEMyOTYuMTg4OCwxNjYuOTEyNiAyOTcuMDkzOCwxNjcuMjAwNiAyOTcuNDcyOCwxNjcuOTM2NiBDMjk3Ljg1MjgsMTY4LjY3MjYgMjk3LjU2MzgsMTY5LjU3NzYgMjk2LjgyNzgsMTY5Ljk1NjYgQzI5NS4wNjM4LDE3MC44Njc2IDI5My4yODY4LDE3MS44MDg2IDI5MS41NDY4LDE3Mi43NTY2IEMyOTEuMzE3OCwxNzIuODgwNiAyOTEuMDcyOCwxNzIuOTM5NiAyOTAuODI5OCwxNzIuOTM5NiBMMjkwLjgyOTgsMTcyLjkzOTYgWiBNNTYwLjI5MTgsMTc4LjUxMzYgQzU2MC4wMjg4LDE3OC41MTM2IDU1OS43NjI4LDE3OC40NDU2IDU1OS41MjA4LDE3OC4yOTk2IEM1NTcuODE5OCwxNzcuMjgwNiA1NTYuMTA2OCwxNzYuMjc5NiA1NTQuMzgyOCwxNzUuMjk2NiBDNTUzLjY2MTgsMTc0Ljg4NjYgNTUzLjQxMDgsMTczLjk3MDYgNTUzLjgyMDgsMTczLjI1MDYgQzU1NC4yMzE4LDE3Mi41MzA2IDU1NS4xNDY4LDE3Mi4yODE2IDU1NS44NjY4LDE3Mi42ODk2IEM1NTcuNjEwOCwxNzMuNjgzNiA1NTkuMzQyOCwxNzQuNjk2NiA1NjEuMDYzOCwxNzUuNzI3NiBDNTYxLjc3MzgsMTc2LjE1MzYgNTYyLjAwNTgsMTc3LjA3NDYgNTYxLjU3ODgsMTc3Ljc4NTYgQzU2MS4yOTg4LDE3OC4yNTM2IDU2MC44MDA4LDE3OC41MTM2IDU2MC4yOTE4LDE3OC41MTM2IEw1NjAuMjkxOCwxNzguNTEzNiBaIE0yODAuNDA0OCwxNzguOTE1NiBDMjc5Ljg5NjgsMTc4LjkxNTYgMjc5LjQwMDgsMTc4LjY1NzYgMjc5LjExODgsMTc4LjE5MDYgQzI3OC42OTE4LDE3Ny40ODA2IDI3OC45MjA4LDE3Ni41NTg2IDI3OS42Mjk4LDE3Ni4xMzA2IEMyODEuMzUzOCwxNzUuMDkyNiAyODMuMDg5OCwxNzQuMDcxNiAyODQuODM3OCwxNzMuMDY5NiBDMjg1LjU1MzgsMTcyLjY1NTYgMjg2LjQ3MTgsMTcyLjkwNDYgMjg2Ljg4MzgsMTczLjYyMzYgQzI4Ny4yOTY4LDE3NC4zNDI2IDI4Ny4wNDg4LDE3NS4yNTg2IDI4Ni4zMjk4LDE3NS42NzA2IEMyODQuNjAwOCwxNzYuNjYzNiAyODIuODgzOCwxNzcuNjcyNiAyODEuMTc3OCwxNzguNzAxNiBDMjgwLjkzNTgsMTc4Ljg0NjYgMjgwLjY2ODgsMTc4LjkxNTYgMjgwLjQwNDgsMTc4LjkxNTYgTDI4MC40MDQ4LDE3OC45MTU2IFogTTU3MC40MjQ4LDE4NC44OTM2IEM1NzAuMTQwOCwxODQuODkzNiA1NjkuODUzOCwxODQuODEzNiA1NjkuNTk5OCwxODQuNjQ1NiBDNTY3Ljk0MzgsMTgzLjU1MTYgNTY2LjI3NDgsMTgyLjQ3NTYgNTY0LjU5MzgsMTgxLjQxNjYgQzU2My44OTI4LDE4MC45NzQ2IDU2My42ODI4LDE4MC4wNDg2IDU2NC4xMjQ4LDE3OS4zNDc2IEM1NjQuNTY2OCwxNzguNjQ3NiA1NjUuNDkwOCwxNzguNDM2NiA1NjYuMTkzOCwxNzguODc3NiBDNTY3Ljg5MTgsMTc5Ljk0ODYgNTY5LjU3ODgsMTgxLjAzNjYgNTcxLjI1MjgsMTgyLjE0MTYgQzU3MS45NDM4LDE4Mi41OTg2IDU3Mi4xMzM4LDE4My41Mjk2IDU3MS42Nzc4LDE4NC4yMTk2IEM1NzEuMzg4OCwxODQuNjU3NiA1NzAuOTExOCwxODQuODkzNiA1NzAuNDI0OCwxODQuODkzNiBMNTcwLjQyNDgsMTg0Ljg5MzYgWiBNMjcwLjI1NzgsMTg1LjM0NzYgQzI2OS43NzI4LDE4NS4zNDc2IDI2OS4yOTY4LDE4NS4xMTM2IDI2OS4wMDc4LDE4NC42Nzg2IEMyNjguNTQ4OCwxODMuOTg5NiAyNjguNzM1OCwxODMuMDU3NiAyNjkuNDI0OCwxODIuNTk4NiBDMjcxLjA5NjgsMTgxLjQ4NzYgMjcyLjgwMDgsMTgwLjM3OTYgMjc0LjQ5MTgsMTc5LjMwODYgQzI3NS4xODk4LDE3OC44Njg2IDI3Ni4xMTY4LDE3OS4wNzI2IDI3Ni41NjA4LDE3OS43NzM2IEMyNzcuMDA0OCwxODAuNDcyNiAyNzYuNzk3OCwxODEuMzk5NiAyNzYuMDk2OCwxODEuODQzNiBDMjc0LjQyNDgsMTgyLjkwMjYgMjcyLjczOTgsMTgzLjk5NzYgMjcxLjA4NzgsMTg1LjA5NjYgQzI3MC44MzE4LDE4NS4yNjY2IDI3MC41NDM4LDE4NS4zNDc2IDI3MC4yNTc4LDE4NS4zNDc2IEwyNzAuMjU3OCwxODUuMzQ3NiBaIE01ODAuMjcxOCwxOTEuNzEzNiBDNTc5Ljk2NjgsMTkxLjcxMzYgNTc5LjY1NzgsMTkxLjYyMTYgNTc5LjM5MDgsMTkxLjQyNzYgQzU3Ny43OTI4LDE5MC4yNjY2IDU3Ni4xNTc4LDE4OS4xMDc2IDU3NC41MzE4LDE4Ny45ODE2IEM1NzMuODUwOCwxODcuNTA5NiA1NzMuNjgwOCwxODYuNTc1NiA1NzQuMTUyOCwxODUuODkzNiBDNTc0LjYyNjgsMTg1LjIxMzYgNTc1LjU1ODgsMTg1LjA0MTYgNTc2LjI0MDgsMTg1LjUxNDYgQzU3Ny44ODM4LDE4Ni42NTM2IDU3OS41Mzc4LDE4Ny44MjY2IDU4MS4xNTM4LDE4OC45OTk2IEM1ODEuODI0OCwxODkuNDg3NiA1ODEuOTcyOCwxOTAuNDI0NiA1ODEuNDg2OCwxOTEuMDk0NiBDNTgxLjE5MjgsMTkxLjQ5ODYgNTgwLjczNTgsMTkxLjcxMzYgNTgwLjI3MTgsMTkxLjcxMzYgTDU4MC4yNzE4LDE5MS43MTM2IFogTTI2MC40MDU4LDE5Mi4yMTU2IEMyNTkuOTQyOCwxOTIuMjE1NiAyNTkuNDg2OCwxOTIuMDAyNiAyNTkuMTkyOCwxOTEuNjAwNiBDMjU4LjcwNDgsMTkwLjkzMDYgMjU4Ljg1MDgsMTg5Ljk5MjYgMjU5LjUxOTgsMTg5LjUwMzYgQzI2MS4xNDQ4LDE4OC4zMTg2IDI2Mi43ODI4LDE4Ny4xNDg2IDI2NC40MzM4LDE4NS45OTc2IEMyNjUuMTEzOCwxODUuNTIyNiAyNjYuMDQ4OCwxODUuNjg5NiAyNjYuNTIyOCwxODYuMzY5NiBDMjY2Ljk5NjgsMTg3LjA0ODYgMjY2LjgyOTgsMTg3Ljk4NDYgMjY2LjE1MDgsMTg4LjQ1NzYgQzI2NC41MTY4LDE4OS41OTc2IDI2Mi44OTY4LDE5MC43NTM2IDI2MS4yODk4LDE5MS45Mjc2IEMyNjEuMDIxOCwxOTIuMTIyNiAyNjAuNzEyOCwxOTIuMjE1NiAyNjAuNDA1OCwxOTIuMjE1NiBMMjYwLjQwNTgsMTkyLjIxNTYgWiBNNTg5LjgxMzgsMTk4Ljk2MzYgQzU4OS40ODY4LDE5OC45NjM2IDU4OS4xNTc4LDE5OC44NTc2IDU4OC44ODE4LDE5OC42Mzc2IEM1ODcuMzI2OCwxOTcuNDAxNiA1ODUuNzU3OCwxOTYuMTgyNiA1ODQuMTc1OCwxOTQuOTgwNiBDNTgzLjUxNTgsMTk0LjQ3OTYgNTgzLjM4NzgsMTkzLjUzODYgNTgzLjg4ODgsMTkyLjg3ODYgQzU4NC4zODk4LDE5Mi4yMTc2IDU4NS4zMzI4LDE5Mi4wOTA2IDU4NS45OTA4LDE5Mi41OTE2IEM1ODcuNTkwOCwxOTMuODA3NiA1ODkuMTc1OCwxOTUuMDM5NiA1OTAuNzQ4OCwxOTYuMjg5NiBDNTkxLjM5NjgsMTk2LjgwNTYgNTkxLjUwNDgsMTk3Ljc0ODYgNTkwLjk4ODgsMTk4LjM5NzYgQzU5MC42OTI4LDE5OC43Njk2IDU5MC4yNTU4LDE5OC45NjM2IDU4OS44MTM4LDE5OC45NjM2IEw1ODkuODEzOCwxOTguOTYzNiBaIE0yNTAuODY3OCwxOTkuNTA5NiBDMjUwLjQyNjgsMTk5LjUwOTYgMjQ5Ljk5MTgsMTk5LjMxNzYgMjQ5LjY5NTgsMTk4Ljk0NzYgQzI0OS4xNzc4LDE5OC4yOTk2IDI0OS4yODI4LDE5Ny4zNTY2IDI0OS45Mjg4LDE5Ni44Mzg2IEMyNTEuNTAwOCwxOTUuNTgxNiAyNTMuMDg1OCwxOTQuMzQxNiAyNTQuNjgzOCwxOTMuMTE5NiBDMjU1LjM0MDgsMTkyLjYxNjYgMjU2LjI4MzgsMTkyLjc0MTYgMjU2Ljc4NjgsMTkzLjM5OTYgQzI1Ny4yODk4LDE5NC4wNTc2IDI1Ny4xNjQ4LDE5NC45OTg2IDI1Ni41MDY4LDE5NS41MDE2IEMyNTQuOTI0OCwxOTYuNzEwNiAyNTMuMzU3OCwxOTcuOTM3NiAyNTEuODAzOCwxOTkuMTgwNiBDMjUxLjUyNjgsMTk5LjQwMjYgMjUxLjE5NTgsMTk5LjUwOTYgMjUwLjg2NzgsMTk5LjUwOTYgTDI1MC44Njc4LDE5OS41MDk2IFogTTU5OS4wMzA4LDIwNi42MjY2IEM1OTguNjgxOCwyMDYuNjI2NiA1OTguMzMxOCwyMDYuNTA1NiA1OTguMDQ3OCwyMDYuMjU4NiBDNTk2LjU0ODgsMjA0Ljk1NjYgNTk1LjAzMzgsMjAzLjY2ODYgNTkzLjUwNTgsMjAyLjM5NzYgQzU5Mi44Njg4LDIwMS44Njg2IDU5Mi43ODE4LDIwMC45MjE2IDU5My4zMTA4LDIwMC4yODU2IEM1OTMuODQwOCwxOTkuNjQ5NiA1OTQuNzg2OCwxOTkuNTU5NiA1OTUuNDIzOCwyMDAuMDkwNiBDNTk2Ljk2ODgsMjAxLjM3NTYgNTk4LjQ5OTgsMjAyLjY3NjYgNjAwLjAxNTgsMjAzLjk5NTYgQzYwMC42NDA4LDIwNC41Mzg2IDYwMC43MDc4LDIwNS40ODU2IDYwMC4xNjM4LDIwNi4xMTE2IEM1OTkuODY3OCwyMDYuNDUyNiA1OTkuNDUwOCwyMDYuNjI2NiA1OTkuMDMwOCwyMDYuNjI2NiBMNTk5LjAzMDgsMjA2LjYyNjYgWiBNMjQxLjY2NDgsMjA3LjIxMjYgQzI0MS4yNDY4LDIwNy4yMTI2IDI0MC44MzE4LDIwNy4wMzk2IDI0MC41MzQ4LDIwNi43MDA2IEMyMzkuOTg4OCwyMDYuMDc3NiAyNDAuMDUxOCwyMDUuMTI5NiAyNDAuNjc1OCwyMDQuNTgzNiBDMjQyLjE4OTgsMjAzLjI1OTYgMjQzLjcxNzgsMjAxLjk1MTYgMjQ1LjI1OTgsMjAwLjY2MDYgQzI0NS44OTY4LDIwMC4xMjc2IDI0Ni44NDE4LDIwMC4yMTE2IDI0Ny4zNzM4LDIwMC44NDc2IEMyNDcuOTA0OCwyMDEuNDgzNiAyNDcuODIwOCwyMDIuNDI4NiAyNDcuMTg1OCwyMDIuOTYwNiBDMjQ1LjY1OTgsMjA0LjIzODYgMjQ0LjE0ODgsMjA1LjUzMTYgMjQyLjY1MDgsMjA2Ljg0MTYgQzI0Mi4zNjY4LDIwNy4wOTA2IDI0Mi4wMTM4LDIwNy4yMTI2IDI0MS42NjQ4LDIwNy4yMTI2IEwyNDEuNjY0OCwyMDcuMjEyNiBaIE02MDcuOTA3OCwyMTQuNjg5NiBDNjA3LjUzNjgsMjE0LjY4OTYgNjA3LjE2NTgsMjE0LjU1MjYgNjA2Ljg3NDgsMjE0LjI3NzYgQzYwNS40MzI4LDIxMi45MDg2IDYwMy45NjI4LDIxMS41NDI2IDYwMi41MDU4LDIxMC4yMTk2IEM2MDEuODkxOCwyMDkuNjYzNiA2MDEuODQ1OCwyMDguNzE0NiA2MDIuNDAyOCwyMDguMTAxNiBDNjAyLjk1OTgsMjA3LjQ4NzYgNjAzLjkwNzgsMjA3LjQ0MjYgNjA0LjUyMDgsMjA3Ljk5ODYgQzYwNS45OTU4LDIwOS4zMzY2IDYwNy40ODE4LDIxMC43MTY2IDYwOC45NDA4LDIxMi4xMDE2IEM2MDkuNTQxOCwyMTIuNjcxNiA2MDkuNTY1OCwyMTMuNjIxNiA2MDguOTk1OCwyMTQuMjIyNiBDNjA4LjcwMDgsMjE0LjUzMzYgNjA4LjMwMzgsMjE0LjY4OTYgNjA3LjkwNzgsMjE0LjY4OTYgTDYwNy45MDc4LDIxNC42ODk2IFogTTIzMi44MDc4LDIxNS4zMDg2IEMyMzIuNDEyOCwyMTUuMzA4NiAyMzIuMDE3OCwyMTUuMTUzNiAyMzEuNzIyOCwyMTQuODQ0NiBDMjMxLjE1MDgsMjE0LjI0NjYgMjMxLjE3MzgsMjEzLjI5NTYgMjMxLjc3MTgsMjEyLjcyMzYgQzIzMy4yMjU4LDIxMS4zMzQ2IDIzNC42OTQ4LDIwOS45NjE2IDIzNi4xNzc4LDIwOC42MDU2IEMyMzYuNzg4OCwyMDguMDQ0NiAyMzcuNzM3OCwyMDguMDg3NiAyMzguMjk3OCwyMDguNjk5NiBDMjM4Ljg1NjgsMjA5LjMxMDYgMjM4LjgxNDgsMjEwLjI1OTYgMjM4LjIwMzgsMjEwLjgxODYgQzIzNi43MzU4LDIxMi4xNjE2IDIzNS4yODI4LDIxMy41MTg2IDIzMy44NDM4LDIxNC44OTM2IEMyMzMuNTUzOCwyMTUuMTcwNiAyMzMuMTgwOCwyMTUuMzA4NiAyMzIuODA3OCwyMTUuMzA4NiBMMjMyLjgwNzgsMjE1LjMwODYgWiBNNjE2LjQyNDgsMjIzLjEzNTYgQzYxNi4wMzE4LDIyMy4xMzU2IDYxNS42Mzg4LDIyMi45ODI2IDYxNS4zNDQ4LDIyMi42Nzc2IEM2MTMuOTY0OCwyMjEuMjQ3NiA2MTIuNTY2OCwyMTkuODMxNiA2MTEuMTU1OCwyMTguNDI5NiBDNjEwLjU2NzgsMjE3Ljg0NjYgNjEwLjU2MzgsMjE2Ljg5NjYgNjExLjE0NzgsMjE2LjMwODYgQzYxMS43MzA4LDIxNS43MTk2IDYxMi42Nzk4LDIxNS43MTU2IDYxMy4yNjg4LDIxNi4zMDA2IEM2MTQuNjk1OCwyMTcuNzE1NiA2MTYuMTA2OCwyMTkuMTQ3NiA2MTcuNTAzOCwyMjAuNTkzNiBDNjE4LjA3ODgsMjIxLjE4OTYgNjE4LjA2MTgsMjIyLjEzOTYgNjE3LjQ2NjgsMjIyLjcxNDYgQzYxNy4xNzQ4LDIyMi45OTY2IDYxNi43OTk4LDIyMy4xMzU2IDYxNi40MjQ4LDIyMy4xMzU2IEw2MTYuNDI0OCwyMjMuMTM1NiBaIE0yMjQuMzE5OCwyMjMuNzg0NiBDMjIzLjk0NjgsMjIzLjc4NDYgMjIzLjU3MjgsMjIzLjY0NTYgMjIzLjI4MjgsMjIzLjM2NzYgQzIyMi42ODM4LDIyMi43OTQ2IDIyMi42NjM4LDIyMS44NDQ2IDIyMy4yMzY4LDIyMS4yNDc2IEMyMjQuNjA2OCwyMTkuODE1NiAyMjYuMDI2OCwyMTguMzY2NiAyMjcuNDU3OCwyMTYuOTM4NiBDMjI4LjA0MzgsMjE2LjM1NDYgMjI4Ljk5MjgsMjE2LjM1MjYgMjI5LjU3ODgsMjE2Ljk0MDYgQzIzMC4xNjM4LDIxNy41Mjc2IDIzMC4xNjI4LDIxOC40NzY2IDIyOS41NzY4LDIxOS4wNjE2IEMyMjguMTYxOCwyMjAuNDczNiAyMjYuNzU4OCwyMjEuOTA2NiAyMjUuNDAyOCwyMjMuMzIxNiBDMjI1LjEwODgsMjIzLjYyODYgMjI0LjcxNDgsMjIzLjc4NDYgMjI0LjMxOTgsMjIzLjc4NDYgTDIyNC4zMTk4LDIyMy43ODQ2IFogTTYyNC41NjU4LDIzMS45NTA2IEM2MjQuMTQ5OCwyMzEuOTUwNiA2MjMuNzM2OCwyMzEuNzc5NiA2MjMuNDQwOCwyMzEuNDQzNiBDNjIyLjEyMzgsMjI5Ljk1MjYgNjIwLjc3NzgsMjI4LjQ2MjYgNjE5LjQ0MDgsMjI3LjAxNjYgQzYxOC44Nzg4LDIyNi40MDc2IDYxOC45MTU4LDIyNS40NTg2IDYxOS41MjM4LDIyNC44OTY2IEM2MjAuMTMyOCwyMjQuMzMzNiA2MjEuMDgwOCwyMjQuMzcyNiA2MjEuNjQzOCwyMjQuOTc5NiBDNjIyLjk5NjgsMjI2LjQ0MzYgNjI0LjM1NjgsMjI3Ljk0OTYgNjI1LjY4ODgsMjI5LjQ1NjYgQzYyNi4yMzc4LDIzMC4wNzg2IDYyNi4xNzg4LDIzMS4wMjY2IDYyNS41NTc4LDIzMS41NzQ2IEM2MjUuMjcyOCwyMzEuODI2NiA2MjQuOTE4OCwyMzEuOTUwNiA2MjQuNTY1OCwyMzEuOTUwNiBMNjI0LjU2NTgsMjMxLjk1MDYgWiBNMjE2LjIxMDgsMjMyLjYxOTYgQzIxNS44NTg4LDIzMi42MTk2IDIxNS41MDY4LDIzMi40OTY2IDIxNS4yMjA4LDIzMi4yNDY2IEMyMTQuNTk4OCwyMzEuNjk5NiAyMTQuNTM3OCwyMzAuNzUxNiAyMTUuMDg0OCwyMzAuMTI4NiBDMjE2LjQxMDgsMjI4LjYxOTYgMjE3Ljc1MzgsMjI3LjEyMzYgMjE5LjExMDgsMjI1LjY0MzYgQzIxOS42NzE4LDIyNS4wMzM2IDIyMC42MTk4LDIyNC45OTM2IDIyMS4yMjk4LDIyNS41NTE2IEMyMjEuODQwOCwyMjYuMTExNiAyMjEuODgxOCwyMjcuMDYwNiAyMjEuMzIxOCwyMjcuNjcwNiBDMjE5Ljk3NzgsMjI5LjEzNTYgMjE4LjY1MDgsMjMwLjYxNTYgMjE3LjMzODgsMjMyLjEwOTYgQzIxNy4wNDE4LDIzMi40NDY2IDIxNi42Mjc4LDIzMi42MTk2IDIxNi4yMTA4LDIzMi42MTk2IEwyMTYuMjEwOCwyMzIuNjE5NiBaIE02MzIuMzE0OCwyNDEuMTE1NiBDNjMxLjg3NzgsMjQxLjExNTYgNjMxLjQ0MzgsMjQwLjkyNDYgNjMxLjE0NzgsMjQwLjU1ODYgQzYyOS44ODc4LDIzOS4wMDA2IDYyOC42MDg4LDIzNy40NTM2IDYyNy4zNDI4LDIzNS45NTc2IEM2MjYuODA3OCwyMzUuMzI1NiA2MjYuODg2OCwyMzQuMzc4NiA2MjcuNTE5OCwyMzMuODQzNiBDNjI4LjE1MTgsMjMzLjMwODYgNjI5LjA5ODgsMjMzLjM4ODYgNjI5LjYzMzgsMjM0LjAyMDYgQzYzMC45MTM4LDIzNS41MzM2IDYzMi4yMDc4LDIzNy4wOTc2IDYzMy40Nzk4LDIzOC42NzE2IEM2MzQuMDAxOCwyMzkuMzE2NiA2MzMuOTAwOCwyNDAuMjYwNiA2MzMuMjU3OCwyNDAuNzgxNiBDNjMyLjk3ODgsMjQxLjAwNTYgNjMyLjY0NTgsMjQxLjExNTYgNjMyLjMxNDgsMjQxLjExNTYgTDYzMi4zMTQ4LDI0MS4xMTU2IFogTTIwOC41MDE4LDI0MS43OTc2IEMyMDguMTcyOCwyNDEuNzk3NiAyMDcuODQwOCwyNDEuNjg5NiAyMDcuNTYzOCwyNDEuNDY3NiBDMjA2LjkxNzgsMjQwLjk0OTYgMjA2LjgxMzgsMjQwLjAwNDYgMjA3LjMzMjgsMjM5LjM1OTYgQzIwOC41Nzc4LDIzNy44MDc2IDIwOS44NjQ4LDIzNi4yNDA2IDIxMS4xNTg4LDIzNC43MDE2IEMyMTEuNjkyOCwyMzQuMDY2NiAyMTIuNjM3OCwyMzMuOTg1NiAyMTMuMjcxOCwyMzQuNTE3NiBDMjEzLjkwNjgsMjM1LjA1MDYgMjEzLjk4ODgsMjM1Ljk5NzYgMjEzLjQ1NTgsMjM2LjYzMDYgQzIxMi4xNzU4LDIzOC4xNTM2IDIxMC45MDM4LDIzOS43MDM2IDIwOS42NzI4LDI0MS4yMzY2IEMyMDkuMzc2OCwyNDEuNjA1NiAyMDguOTQwOCwyNDEuNzk3NiAyMDguNTAxOCwyNDEuNzk3NiBMMjA4LjUwMTgsMjQxLjc5NzYgWiBNNjM5LjY1NjgsMjUwLjYxNTYgQzYzOS4xOTY4LDI1MC42MTU2IDYzOC43NDI4LDI1MC40MDQ2IDYzOC40NDg4LDI1MC4wMDU2IEM2MzcuMjcyOCwyNDguNDEyNiA2MzYuMDYxOCwyNDYuODA5NiA2MzQuODUwOCwyNDUuMjQyNiBDNjM0LjM0MzgsMjQ0LjU4NjYgNjM0LjQ2NDgsMjQzLjY0NTYgNjM1LjEyMDgsMjQzLjEzODYgQzYzNS43NzQ4LDI0Mi42MzI2IDYzNi43MTc4LDI0Mi43NTE2IDYzNy4yMjM4LDI0My40MDg2IEM2MzguNDQ4OCwyNDQuOTkyNiA2MzkuNjczOCwyNDYuNjEyNiA2NDAuODYyOCwyNDguMjI0NiBDNjQxLjM1NDgsMjQ4Ljg5MDYgNjQxLjIxMzgsMjQ5LjgzMDYgNjQwLjU0NjgsMjUwLjMyMjYgQzY0MC4yNzg4LDI1MC41MTk2IDYzOS45NjY4LDI1MC42MTU2IDYzOS42NTY4LDI1MC42MTU2IEw2MzkuNjU2OCwyNTAuNjE1NiBaIE0yMDEuMjAzOCwyNTEuMzAyNiBDMjAwLjg5NDgsMjUxLjMwMjYgMjAwLjU4NDgsMjUxLjIwNzYgMjAwLjMxNjgsMjUxLjAxMTYgQzE5OS42NDg4LDI1MC41MjI2IDE5OS41MDU4LDI0OS41ODI2IDE5OS45OTU4LDI0OC45MTQ2IEMyMDEuMTgyOCwyNDcuMjk1NiAyMDIuMzg4OCwyNDUuNjkwNiAyMDMuNjExOCwyNDQuMDk3NiBDMjA0LjExNDgsMjQzLjQzOTYgMjA1LjA1NTgsMjQzLjMxMzYgMjA1LjcxNDgsMjQzLjgyMTYgQzIwNi4zNzE4LDI0NC4zMjU2IDIwNi40OTU4LDI0NS4yNjY2IDIwNS45OTA4LDI0NS45MjM2IEMyMDQuNzgxOCwyNDcuNDk4NiAyMDMuNTg5OCwyNDkuMDg4NiAyMDIuNDEzOCwyNTAuNjkwNiBDMjAyLjExOTgsMjUxLjA5MDYgMjAxLjY2NDgsMjUxLjMwMjYgMjAxLjIwMzgsMjUxLjMwMjYgTDIwMS4yMDM4LDI1MS4zMDI2IFogTTY0Ni41NzM4LDI2MC40MzE2IEM2NDYuMDkxOCwyNjAuNDMxNiA2NDUuNjE3OCwyNjAuMTk5NiA2NDUuMzI3OCwyNTkuNzY4NiBDNjQ0LjIwNDgsMjU4LjA5NzYgNjQzLjA2NDgsMjU2LjQ0MjYgNjQxLjk0MDgsMjU0Ljg0OTYgQzY0MS40NjM4LDI1NC4xNzE2IDY0MS42MjQ4LDI1My4yMzY2IDY0Mi4zMDA4LDI1Mi43NTg2IEM2NDIuOTc3OCwyNTIuMjgxNiA2NDMuOTE0OCwyNTIuNDQyNiA2NDQuMzkxOCwyNTMuMTE5NiBDNjQ1LjUyODgsMjU0LjczMTYgNjQ2LjY4MTgsMjU2LjQwNTYgNjQ3LjgxNzgsMjU4LjA5NDYgQzY0OC4yNzk4LDI1OC43ODI2IDY0OC4wOTY4LDI1OS43MTQ2IDY0Ny40MDk4LDI2MC4xNzY2IEM2NDcuMTUyOCwyNjAuMzQ5NiA2NDYuODYxOCwyNjAuNDMxNiA2NDYuNTczOCwyNjAuNDMxNiBMNjQ2LjU3MzgsMjYwLjQzMTYgWiBNMTk0LjMzMjgsMjYxLjExNjYgQzE5NC4wNDU4LDI2MS4xMTY2IDE5My43NTY4LDI2MS4wMzQ2IDE5My41MDA4LDI2MC44NjM2IEMxOTIuODEwOCwyNjAuNDAzNiAxOTIuNjI2OCwyNTkuNDcxNiAxOTMuMDg2OCwyNTguNzgzNiBDMTk0LjIwMTgsMjU3LjExMzYgMTk1LjMzNDgsMjU1LjQ1NjYgMTk2LjQ4NTgsMjUzLjgxMjYgQzE5Ni45NjE4LDI1My4xMzI2IDE5Ny44OTc4LDI1Mi45Njg2IDE5OC41NzQ4LDI1My40NDQ2IEMxOTkuMjUzOCwyNTMuOTE4NiAxOTkuNDE4OCwyNTQuODU0NiAxOTguOTQyOCwyNTUuNTMzNiBDMTk3LjgwNDgsMjU3LjE1OTYgMTk2LjY4MzgsMjU4Ljc5ODYgMTk1LjU4MDgsMjYwLjQ0OTYgQzE5NS4yOTE4LDI2MC44ODI2IDE5NC44MTU4LDI2MS4xMTY2IDE5NC4zMzI4LDI2MS4xMTY2IEwxOTQuMzMyOCwyNjEuMTE2NiBaIE0xODcuOTAxOCwyNzEuMjE4NiBDMTg3LjYzNTgsMjcxLjIxODYgMTg3LjM2NzgsMjcxLjE0ODYgMTg3LjEyNDgsMjcxLjAwMDYgQzE4Ni40MTY4LDI3MC41NzE2IDE4Ni4xOTA4LDI2OS42NDk2IDE4Ni42MjA4LDI2OC45NDA2IEMxODcuNjYyOCwyNjcuMjIzNiAxODguNzE5OCwyNjUuNTE4NiAxODkuNzk3OCwyNjMuODI3NiBDMTkwLjI0MzgsMjYzLjEyNjYgMTkxLjE3MTgsMjYyLjkyNTYgMTkxLjg2ODgsMjYzLjM2NzYgQzE5Mi41NjY4LDI2My44MTI2IDE5Mi43NzI4LDI2NC43Mzk2IDE5Mi4zMjg4LDI2NS40Mzg2IEMxOTEuMjYyOCwyNjcuMTEyNiAxOTAuMjE1OCwyNjguNzk3NiAxODkuMTg0OCwyNzAuNDk3NiBDMTg4LjkwMjgsMjcwLjk2MTYgMTg4LjQwODgsMjcxLjIxODYgMTg3LjkwMTgsMjcxLjIxODYgTDE4Ny45MDE4LDI3MS4yMTg2IFogTTE4MS45MjU4LDI4MS41ODg2IEMxODEuNjgxOCwyODEuNTg4NiAxODEuNDM1OCwyODEuNTMwNiAxODEuMjA3OCwyODEuNDA1NiBDMTgwLjQ4MDgsMjgxLjAwNjYgMTgwLjIxMzgsMjgwLjA5NTYgMTgwLjYxMDgsMjc5LjM2OTYgQzE4MS41NzQ4LDI3Ny42MDg2IDE4Mi41NTY4LDI3NS44NTk2IDE4My41NTc4LDI3NC4xMjI2IEMxODMuOTcwOCwyNzMuNDA0NiAxODQuODg3OCwyNzMuMTU4NiAxODUuNjA2OCwyNzMuNTcxNiBDMTg2LjMyNDgsMjczLjk4NDYgMTg2LjU3MDgsMjc0LjkwMjYgMTg2LjE1NzgsMjc1LjYyMDYgQzE4NS4xNjg4LDI3Ny4zMzc2IDE4NC4xOTU4LDI3OS4wNjc2IDE4My4yNDI4LDI4MC44MDg2IEMxODIuOTY5OCwyODEuMzA2NiAxODIuNDU2OCwyODEuNTg4NiAxODEuOTI1OCwyODEuNTg4NiBMMTgxLjkyNTgsMjgxLjU4ODYgWiBNMTc2LjQxMzgsMjkyLjIwNzYgQzE3Ni4xOTA4LDI5Mi4yMDc2IDE3NS45NjY4LDI5Mi4xNTk2IDE3NS43NTM4LDI5Mi4wNTQ2IEMxNzUuMDA4OCwyOTEuNjg5NiAxNzQuNzAyOCwyOTAuNzg5NiAxNzUuMDY3OCwyOTAuMDQ2NiBDMTc1Ljk1MjgsMjg4LjI0NjYgMTc2Ljg1NzgsMjg2LjQ1NTYgMTc3Ljc4MDgsMjg0LjY3NjYgQzE3OC4xNjI4LDI4My45NDI2IDE3OS4wNjc4LDI4My42NTU2IDE3OS44MDI4LDI4NC4wMzc2IEMxODAuNTM4OCwyODQuNDE4NiAxODAuODI0OCwyODUuMzI0NiAxODAuNDQyOCwyODYuMDU5NiBDMTc5LjUzMDgsMjg3LjgxODYgMTc4LjYzNTgsMjg5LjU4NzYgMTc3Ljc2MDgsMjkxLjM2OTYgQzE3Ny41MDA4LDI5MS45MDA2IDE3Ni45NjY4LDI5Mi4yMDc2IDE3Ni40MTM4LDI5Mi4yMDc2IEwxNzYuNDEzOCwyOTIuMjA3NiBaIE0xNzEuMzc3OCwzMDMuMDU1NiBDMTcxLjE3NjgsMzAzLjA1NTYgMTcwLjk3MjgsMzAzLjAxNTYgMTcwLjc3NjgsMzAyLjkyOTYgQzE3MC4wMTc4LDMwMi41OTc2IDE2OS42NzI4LDMwMS43MTI2IDE3MC4wMDQ4LDMwMC45NTQ2IEMxNzAuODA3OCwyOTkuMTE3NiAxNzEuNjMyOCwyOTcuMjg5NiAxNzIuNDc1OCwyOTUuNDcyNiBDMTcyLjgyNDgsMjk0LjcyMTYgMTczLjcxOTgsMjk0LjM5NjYgMTc0LjQ2NzgsMjk0Ljc0NDYgQzE3NS4yMTg4LDI5NS4wOTI2IDE3NS41NDU4LDI5NS45ODQ2IDE3NS4xOTY4LDI5Ni43MzY2IEMxNzQuMzYyOCwyOTguNTMzNiAxNzMuNTQ4OCwzMDAuMzM5NiAxNzIuNzUyOCwzMDIuMTU3NiBDMTcyLjUwNjgsMzAyLjcyMDYgMTcxLjk1NTgsMzAzLjA1NTYgMTcxLjM3NzgsMzAzLjA1NTYgTDE3MS4zNzc4LDMwMy4wNTU2IFogTTE2Ni44MjM4LDMxNC4xMjg2IEMxNjYuNjQzOCwzMTQuMTI4NiAxNjYuNDYxOCwzMTQuMDk2NiAxNjYuMjgzOCwzMTQuMDI4NiBDMTY1LjUwOTgsMzEzLjczMDYgMTY1LjEyNjgsMzEyLjg2MTYgMTY1LjQyNDgsMzEyLjA4ODYgQzE2Ni4xNDg4LDMxMC4yMTE2IDE2Ni44OTI4LDMwOC4zNDM2IDE2Ny42NTY4LDMwNi40ODY2IEMxNjcuOTcwOCwzMDUuNzIwNiAxNjguODQ3OCwzMDUuMzU1NiAxNjkuNjE0OCwzMDUuNjY4NiBDMTcwLjM4MTgsMzA1Ljk4NDYgMTcwLjc0NjgsMzA2Ljg2MTYgMTcwLjQzMTgsMzA3LjYyNjYgQzE2OS42NzU4LDMwOS40NjQ2IDE2OC45Mzk4LDMxMS4zMTE2IDE2OC4yMjI4LDMxMy4xNjg2IEMxNjcuOTkzOCwzMTMuNzY0NiAxNjcuNDI0OCwzMTQuMTI4NiAxNjYuODIzOCwzMTQuMTI4NiBMMTY2LjgyMzgsMzE0LjEyODYgWiBNNjc4LjQ0NzgsMzI0LjkyNjYgQzY3Ny44MjE4LDMyNC45MjY2IDY3Ny4yMzc4LDMyNC41MzI2IDY3Ny4wMjY4LDMyMy45MDY2IEM2NzYuMzg3OCwzMjIuMDE0NiA2NzUuNzIxOCwzMjAuMTE0NiA2NzUuMDQ3OCwzMTguMjU2NiBDNjc0Ljc2NDgsMzE3LjQ3ODYgNjc1LjE2NjgsMzE2LjYxODYgNjc1Ljk0NTgsMzE2LjMzNDYgQzY3Ni43MjM4LDMxNi4wNTI2IDY3Ny41ODQ4LDMxNi40NTQ2IDY3Ny44Njc4LDMxNy4yMzM2IEM2NzguNTQ5OCwzMTkuMTExNiA2NzkuMjIyOCwzMjEuMDM0NiA2NzkuODY4OCwzMjIuOTQ3NiBDNjgwLjEzMzgsMzIzLjczMTYgNjc5LjcxMjgsMzI0LjU4MjYgNjc4LjkyNjgsMzI0Ljg0NzYgQzY3OC43Njc4LDMyNC45MDE2IDY3OC42MDY4LDMyNC45MjY2IDY3OC40NDc4LDMyNC45MjY2IEw2NzguNDQ3OCwzMjQuOTI2NiBaIE0xNjIuNzUzOCwzMjUuNDE1NiBDMTYyLjU5NDgsMzI1LjQxNTYgMTYyLjQzNDgsMzI1LjM5MTYgMTYyLjI3NjgsMzI1LjMzNzYgQzE2MS40OTA4LDMyNS4wNzU2IDE2MS4wNjc4LDMyNC4yMjQ2IDE2MS4zMzE4LDMyMy40Mzk2IEMxNjEuOTY3OCwzMjEuNTM5NiAxNjIuNjM0OCwzMTkuNjIyNiAxNjMuMzEzOCwzMTcuNzQxNiBDMTYzLjU5NDgsMzE2Ljk2MDYgMTY0LjQ1NDgsMzE2LjU1NzYgMTY1LjIzMzgsMzE2LjgzODYgQzE2Ni4wMTI4LDMxNy4xMjA2IDE2Ni40MTc4LDMxNy45Nzk2IDE2Ni4xMzU4LDMxOC43NTg2IEMxNjUuNDY1OCwzMjAuNjE4NiAxNjQuODA1OCwzMjIuNTEzNiAxNjQuMTc0OCwzMjQuMzkyNiBDMTYzLjk2NTgsMzI1LjAyMDYgMTYzLjM4MDgsMzI1LjQxNTYgMTYyLjc1MzgsMzI1LjQxNTYgTDE2Mi43NTM4LDMyNS40MTU2IFogTTY4Mi4wMzc4LDMzNi4zOTg2IEM2ODEuMzg2OCwzMzYuMzk4NiA2ODAuNzg3OCwzMzUuOTcxNiA2ODAuNTk2OCwzMzUuMzE0NiBDNjgwLjA0NDgsMzMzLjQwMTYgNjc5LjQ3MTgsMzMxLjQ5NzYgNjc4Ljg3OTgsMzI5LjYwMDYgQzY3OC42MzI4LDMyOC44MDk2IDY3OS4wNzI4LDMyNy45Njg2IDY3OS44NjM4LDMyNy43MjE2IEM2ODAuNjU3OCwzMjcuNDczNiA2ODEuNDk3OCwzMjcuOTE2NiA2ODEuNzQyOCwzMjguNzA1NiBDNjgyLjM0MTgsMzMwLjYyMjYgNjgyLjkyMTgsMzMyLjU0NzYgNjgzLjQ3OTgsMzM0LjQ4MjYgQzY4My43MDk4LDMzNS4yNzg2IDY4My4yNTA4LDMzNi4xMDk2IDY4Mi40NTQ4LDMzNi4zMzk2IEM2ODIuMzE1OCwzMzYuMzc5NiA2ODIuMTc0OCwzMzYuMzk4NiA2ODIuMDM3OCwzMzYuMzk4NiBMNjgyLjAzNzgsMzM2LjM5ODYgWiBNNjg1LjEwODgsMzQ3Ljk5NTYgQzY4NC40MzE4LDM0Ny45OTU2IDY4My44MTc4LDM0Ny41MzQ2IDY4My42NTE4LDM0Ni44NDY2IEM2ODMuMTgzOCwzNDQuOTEwNiA2ODIuNjk2OCwzNDIuOTgyNiA2ODIuMTg4OCwzNDEuMDYyNiBDNjgxLjk3NjgsMzQwLjI2MTYgNjgyLjQ1NDgsMzM5LjQ0MDYgNjgzLjI1NTgsMzM5LjIyODYgQzY4NC4wNTc4LDMzOS4wMTc2IDY4NC44Nzg4LDMzOS40OTU2IDY4NS4wODk4LDM0MC4yOTQ2IEM2ODUuNjAyOCwzNDIuMjM2NiA2ODYuMDk1OCwzNDQuMTg1NiA2ODYuNTY3OCwzNDYuMTQzNiBDNjg2Ljc2MTgsMzQ2Ljk0ODYgNjg2LjI2NjgsMzQ3Ljc1ODYgNjg1LjQ2MTgsMzQ3Ljk1MzYgQzY4NS4zNDI4LDM0Ny45ODE2IDY4NS4yMjQ4LDM0Ny45OTU2IDY4NS4xMDg4LDM0Ny45OTU2IEw2ODUuMTA4OCwzNDcuOTk1NiBaIE0xNTMuNjEwOCwzNjAuMjAxNiBDMTUzLjUxNTgsMzYwLjIwMTYgMTUzLjQyMDgsMzYwLjE5MjYgMTUzLjMyNDgsMzYwLjE3MzYgQzE1Mi41MTA4LDM2MC4wMTY2IDE1MS45Nzg4LDM1OS4yMzA2IDE1Mi4xMzU4LDM1OC40MTY2IEMxNTIuNTE3OCwzNTYuNDM4NiAxNTIuOTIwOCwzNTQuNDY4NiAxNTMuMzQzOCwzNTIuNTA2NiBDMTUzLjUxODgsMzUxLjY5NjYgMTU0LjMyMzgsMzUxLjE4NDYgMTU1LjEyNjgsMzUxLjM1NzYgQzE1NS45MzU4LDM1MS41MzE2IDE1Ni40NTA4LDM1Mi4zMzA2IDE1Ni4yNzU4LDM1My4xMzk2IEMxNTUuODU3OCwzNTUuMDgwNiAxNTUuNDU5OCwzNTcuMDI4NiAxNTUuMDgxOCwzNTguOTg1NiBDMTU0Ljk0MjgsMzU5LjcwMzYgMTU0LjMxNDgsMzYwLjIwMTYgMTUzLjYxMDgsMzYwLjIwMTYgTDE1My42MTA4LDM2MC4yMDE2IFogTTY5Mi42NDQ4LDQwNy4zODU2IEM2OTEuODI3OCw0MDcuMzg1NiA2OTEuMTU4OCw0MDYuNzMwNiA2OTEuMTQ0OCw0MDUuOTEwNiBDNjkxLjExMTgsNDAzLjkxNzYgNjkxLjA1NzgsNDAxLjkyOTYgNjkwLjk4MDgsMzk5Ljk0NjYgQzY5MC45NDg4LDM5OS4xMTk2IDY5MS41OTM4LDM5OC40MjE2IDY5Mi40MjI4LDM5OC4zODk2IEM2OTMuMjY3OCwzOTguMzY0NiA2OTMuOTQ3OCwzOTkuMDAyNiA2OTMuOTc4OCwzOTkuODMwNiBDNjk0LjA1NTgsNDAxLjgzNTYgNjk0LjExMTgsNDAzLjg0NTYgNjk0LjE0NDgsNDA1Ljg2MTYgQzY5NC4xNTg4LDQwNi42ODk2IDY5My40OTg4LDQwNy4zNzI2IDY5Mi42Njk4LDQwNy4zODU2IEw2OTIuNjQ0OCw0MDcuMzg1NiBaIE02OTIuNTg1OCw0MTkuMzgwNiBDNjkyLjU3MTgsNDE5LjM4MDYgNjkyLjU1NzgsNDE5LjM4MDYgNjkyLjU0NDgsNDE5LjM3OTYgQzY5MS43MTY4LDQxOS4zNTg2IDY5MS4wNjI4LDQxOC42Njg2IDY5MS4wODU4LDQxNy44NDA2IEM2OTEuMTM2OCw0MTUuODU4NiA2OTEuMTY4OCw0MTMuODcwNiA2OTEuMTc4OCw0MTEuODc3NiBDNjkxLjE4MjgsNDExLjA0ODYgNjkxLjg1MjgsNDEwLjQxNzYgNjkyLjY4NjgsNDEwLjM4NTYgQzY5My41MTU4LDQxMC4zOTA2IDY5NC4xODM4LDQxMS4wNjU2IDY5NC4xNzg4MjgsNDExLjg5MzYgQzY5NC4xNjg4LDQxMy45MDc2IDY5NC4xMzY4LDQxNS45MTY2IDY5NC4wODM4LDQxNy45MjA2IEM2OTQuMDYxOCw0MTguNzM1NiA2OTMuMzk0OCw0MTkuMzgwNiA2OTIuNTg1OCw0MTkuMzgwNiBMNjkyLjU4NTgsNDE5LjM4MDYgWiBNNjkyLjAwNzgsNDMxLjM2MzYgQzY5MS45NzA4LDQzMS4zNjM2IDY5MS45MzU4LDQzMS4zNjI2IDY5MS44OTk4LDQzMS4zNTk2IEM2OTEuMDczOCw0MzEuMzAxNiA2OTAuNDUwOCw0MzAuNTg0NiA2OTAuNTA4OCw0MjkuNzU3NiBDNjkwLjY0NzgsNDI3Ljc3ODYgNjkwLjc2NDgsNDI1Ljc5MjYgNjkwLjg2MjgsNDIzLjgwMTYgQzY5MC45MDI4LDQyMi45NzM2IDY5MS41NzU4LDQyMi4zNDA2IDY5Mi40MzM4LDQyMi4zNzY2IEM2OTMuMjYwOCw0MjIuNDE2NiA2OTMuODk5OCw0MjMuMTIxNiA2OTMuODU4OCw0MjMuOTQ4NiBDNjkzLjc2MDgsNDI1Ljk2MDYgNjkzLjY0MTgsNDI3Ljk2NzYgNjkzLjUwMTgsNDI5Ljk2ODYgQzY5My40NDU4LDQzMC43NTg2IDY5Mi43ODc4LDQzMS4zNjM2IDY5Mi4wMDc4LDQzMS4zNjM2IEw2OTIuMDA3OCw0MzEuMzYzNiBaIE02OTAuOTAyOCw0NDMuMzA5NiBDNjkwLjg0NDgsNDQzLjMwOTYgNjkwLjc4NzgsNDQzLjMwNjYgNjkwLjcyOTgsNDQzLjI5OTYgQzY4OS45MDY4LDQ0My4yMDU2IDY4OS4zMTU4LDQ0Mi40NjE2IDY4OS40MTA4LDQ0MS42Mzg2IEM2ODkuNjM2OCw0MzkuNjY2NiA2ODkuODQxOCw0MzcuNjg4NiA2OTAuMDI1OCw0MzUuNzA0NiBDNjkwLjEwMDgsNDM0Ljg3ODYgNjkwLjg0NDgsNDM0LjI3MDYgNjkxLjY1NjgsNDM0LjM0OTYgQzY5Mi40ODE4LDQzNC40MjU2IDY5My4wODk4LDQzNS4xNTY2IDY5My4wMTE4LDQzNS45ODA2IEM2OTIuODI2OCw0MzcuOTg3NiA2OTIuNjE5OCw0MzkuOTg3NiA2OTIuMzkwOCw0NDEuOTgwNiBDNjkyLjMwMjgsNDQyLjc0NTYgNjkxLjY1NDgsNDQzLjMwOTYgNjkwLjkwMjgsNDQzLjMwOTYgTDY5MC45MDI4LDQ0My4zMDk2IFogTTY4OS4yNzQ4LDQ1NS4xOTQ2IEM2ODkuMTk1OCw0NTUuMTk0NiA2ODkuMTE2OCw0NTUuMTg4NiA2ODkuMDM2OCw0NTUuMTc1NiBDNjg4LjIxNzgsNDU1LjA0NDYgNjg3LjY2MTgsNDU0LjI3NjYgNjg3Ljc5MTgsNDUzLjQ1NzYgQzY4OC4xMDM4LDQ1MS40OTc2IDY4OC4zOTU4LDQ0OS41MzE2IDY4OC42NjY4LDQ0Ny41NTU2IEM2ODguNzc5OCw0NDYuNzM1NiA2ODkuNTM4OCw0NDYuMTY5NiA2OTAuMzU2OCw0NDYuMjczNiBDNjkxLjE3NjgsNDQ2LjM4NjYgNjkxLjc1MTgsNDQ3LjE0MjYgNjkxLjYzODgsNDQ3Ljk2MzYgQzY5MS4zNjQ4LDQ0OS45NjA2IDY5MS4wNzA4LDQ1MS45NDk2IDY5MC43NTQ4LDQ1My45MzA2IEM2OTAuNjM1OCw0NTQuNjY4NiA2ODkuOTk5OCw0NTUuMTk0NiA2ODkuMjc0OCw0NTUuMTk0NiBMNjg5LjI3NDgsNDU1LjE5NDYgWiBNNjg3LjEyMzgsNDY2Ljk5NjYgQzY4Ny4wMjI4LDQ2Ni45OTY2IDY4Ni45MjE4LDQ2Ni45ODY2IDY4Ni44MTk4LDQ2Ni45NjU2IEM2ODYuMDA3OCw0NjYuNzk4NiA2ODUuNDg1OCw0NjYuMDA1NiA2ODUuNjUxOCw0NjUuMTk0NiBDNjg2LjA1MDgsNDYzLjI0OTYgNjg2LjQyOTgsNDYxLjI5NzYgNjg2Ljc4NzgsNDU5LjMzNzYgQzY4Ni45MzU4LDQ1OC41MjE2IDY4Ny43MjE4LDQ1Ny45ODM2IDY4OC41MzE4LDQ1OC4xMzA2IEM2ODkuMzQ2OCw0NTguMjc5NiA2ODkuODg2OCw0NTkuMDYwNiA2ODkuNzM4OCw0NTkuODc0NiBDNjg5LjM4MjgsNDYxLjgzMTYgNjg4Ljk5NTgsNDYzLjgyNDYgNjg4LjU5MTgsNDY1Ljc5NzYgQzY4OC40NDQ4LDQ2Ni41MDc2IDY4Ny44MjA4LDQ2Ni45OTY2IDY4Ny4xMjM4LDQ2Ni45OTY2IEw2ODcuMTIzOCw0NjYuOTk2NiBaIE02ODQuNDQ3OCw0NzguNjkyNiBDNjg0LjMyNjgsNDc4LjY5MjYgNjg0LjIwMjgsNDc4LjY3NzYgNjg0LjA3OTgsNDc4LjY0NjYgQzY4My4yNzY4LDQ3OC40NDQ2IDY4Mi43ODk4LDQ3Ny42Mjg2IDY4Mi45OTI4LDQ3Ni44MjU2IEM2ODMuNDcxOCw0NzQuOTIyNiA2ODMuOTQwOCw0NzIuOTcwNiA2ODQuMzg1OCw0NzEuMDI1NiBDNjg0LjU2OTgsNDcwLjIxODYgNjg1LjM3MTgsNDY5LjcwNzYgNjg2LjE4MTgsNDY5Ljg5NzYgQzY4Ni45ODk4LDQ3MC4wODE2IDY4Ny40OTQ4LDQ3MC44ODU2IDY4Ny4zMDk4LDQ3MS42OTM2IEM2ODYuODYwOCw0NzMuNjYxNiA2ODYuMzg1OCw0NzUuNjM0NiA2ODUuOTAwOCw0NzcuNTU5NiBDNjg1LjcyOTgsNDc4LjIzOTYgNjg1LjExODgsNDc4LjY5MjYgNjg0LjQ0NzgsNDc4LjY5MjYgTDY4NC40NDc4LDQ3OC42OTI2IFogTTY4MS4yNTc4LDQ5MC4yNTU2IEM2ODEuMTE1OCw0OTAuMjU1NiA2ODAuOTY5OCw0OTAuMjM1NiA2ODAuODI2OCw0OTAuMTkyNiBDNjgwLjAzMzgsNDg5Ljk1NTYgNjc5LjU4MjgsNDg5LjExOTYgNjc5LjgyMDgsNDg4LjMyNTYgQzY4MC4zODk4LDQ4Ni40MjI2IDY4MC45Mzk4LDQ4NC41MTA2IDY4MS40Njk4LDQ4Mi41OTE2IEM2ODEuNjkxOCw0ODEuNzkxNiA2ODIuNTIwOCw0ODEuMzI4NiA2ODMuMzE1OCw0ODEuNTQ0NiBDNjg0LjExNDgsNDgxLjc2NTYgNjg0LjU4MjgsNDgyLjU5MTYgNjg0LjM2MTgsNDgzLjM5MDYgQzY4My44MjY4LDQ4NS4zMzA2IDY4My4yNzA4LDQ4Ny4yNjI2IDY4Mi42OTM4LDQ4OS4xODY2IEM2ODIuNDk5OCw0ODkuODM1NiA2ODEuOTAzOCw0OTAuMjU1NiA2ODEuMjU3OCw0OTAuMjU1NiBMNjgxLjI1NzgsNDkwLjI1NTYgWiBNNjc3LjU1NTgsNTAxLjY2NzYgQzY3Ny4zOTE4LDUwMS42Njc2IDY3Ny4yMjQ4LDUwMS42NDE2IDY3Ny4wNjE4LDUwMS41ODM2IEM2NzYuMjc5OCw1MDEuMzExNiA2NzUuODY2OCw1MDAuNDU1NiA2NzYuMTM5OCw0OTkuNjczNiBDNjc2Ljc5NDgsNDk3Ljc5NzYgNjc3LjQyODgsNDk1LjkxMzYgNjc4LjA0MzgsNDk0LjAxOTYgQzY3OC4yOTk4LDQ5My4yMzE2IDY3OS4xNDc4LDQ5Mi44MDA2IDY3OS45MzI4LDQ5My4wNTU2IEM2ODAuNzIwOCw0OTMuMzExNiA2ODEuMTUyOCw0OTQuMTU3NiA2ODAuODk2OCw0OTQuOTQ1NiBDNjgwLjI3NDgsNDk2Ljg2MDYgNjc5LjYzMzgsNDk4Ljc2NjYgNjc4Ljk3MTgsNTAwLjY2MjYgQzY3OC43NTY4LDUwMS4yODE2IDY3OC4xNzU4LDUwMS42Njc2IDY3Ny41NTU4LDUwMS42Njc2IEw2NzcuNTU1OCw1MDEuNjY3NiBaIE02NzMuMzUxOCw1MTIuOTA0NiBDNjczLjE2NjgsNTEyLjkwNDYgNjcyLjk3NzgsNTEyLjg3MDYgNjcyLjc5NTgsNTEyLjc5NjYgQzY3Mi4wMjU4LDUxMi40OTA2IDY3MS42NTE4LDUxMS42MTc2IDY3MS45NTk4LDUxMC44NDc2IEM2NzIuNjk2OCw1MDkuMDAxNiA2NzMuNDEzOCw1MDcuMTQ3NiA2NzQuMTEyOCw1MDUuMjgyNiBDNjc0LjQwMjgsNTA0LjUwNTYgNjc1LjI2MzgsNTA0LjExMDYgNjc2LjA0MzgsNTA0LjQwNDYgQzY3Ni44MTg4LDUwNC42OTQ2IDY3Ny4yMTI4LDUwNS41NTg2IDY3Ni45MjE4LDUwNi4zMzQ2IEM2NzYuMjE2OCw1MDguMjE5NiA2NzUuNDg5OCw1MTAuMDk0NiA2NzQuNzQ0OCw1MTEuOTYwNiBDNjc0LjUwOTgsNTEyLjU0NzYgNjczLjk0NjgsNTEyLjkwNDYgNjczLjM1MTgsNTEyLjkwNDYgTDY3My4zNTE4LDUxMi45MDQ2IFogTTY2OC42NzA4LDUyMy45MDQ2IEM2NjguNDY0OCw1MjMuOTA0NiA2NjguMjU0OCw1MjMuODYxNiA2NjguMDUyOCw1MjMuNzcxNiBDNjY3LjI5ODgsNTIzLjQyOTYgNjY2Ljk2MzgsNTIyLjU0MDYgNjY3LjMwMzgsNTIxLjc4NjYgQzY2OC4xMjA4LDUxOS45ODI2IDY2OC45MTY4LDUxOC4xNjY2IDY2OS42OTM4LDUxNi4zNDE2IEM2NzAuMDE3OCw1MTUuNTc5NiA2NzAuODk4OCw1MTUuMjIyNiA2NzEuNjYwOCw1MTUuNTQ4NiBDNjcyLjQyMzgsNTE1Ljg3MjYgNjcyLjc3ODgsNTE2Ljc1MzYgNjcyLjQ1MzgsNTE3LjUxNTYgQzY3MS42NzI4LDUxOS4zNTM2IDY3MC44NTg4LDUyMS4yMDU2IDY3MC4wMzg4LDUyMy4wMjI2IEM2NjkuNzg3OCw1MjMuNTc2NiA2NjkuMjQxOCw1MjMuOTA0NiA2NjguNjcwOCw1MjMuOTA0NiBMNjY4LjY3MDgsNTIzLjkwNDYgWiBNNjYzLjUwNDgsNTM0LjY5MTYgQzY2My4yNzY4LDUzNC42OTE2IDY2My4wNDU4LDUzNC42Mzk2IDY2Mi44Mjc4LDUzNC41MzA2IEM2NjIuMDg5OCw1MzQuMTU1NiA2NjEuNzkyOCw1MzMuMjUyNiA2NjIuMTY3OCw1MzIuNTEzNiBDNjYzLjA2MTgsNTMwLjc0NjYgNjYzLjkzNzgsNTI4Ljk2NjYgNjY0Ljc5NTgsNTI3LjE3NzYgQzY2NS4xNTM4LDUyNi40MzA2IDY2Ni4wNTA4LDUyNi4xMTU2IDY2Ni43OTY4LDUyNi40NzM2IEM2NjcuNTQzOCw1MjYuODMxNiA2NjcuODU4OCw1MjcuNzI3NiA2NjcuNTAwOCw1MjguNDc0NiBDNjY2LjYzMjgsNTMwLjI4MzYgNjY1Ljc0NzgsNTMyLjA4MTYgNjY0Ljg0MzgsNTMzLjg2OTYgQzY2NC41Nzk4LDUzNC4zOTA2IDY2NC4wNTE4LDUzNC42OTE2IDY2My41MDQ4LDUzNC42OTE2IEw2NjMuNTA0OCw1MzQuNjkxNiBaIE02NTcuODY0OCw1NDUuMjQ1NiBDNjU3LjYxNTgsNTQ1LjI0NTYgNjU3LjM2MjgsNTQ1LjE4MzYgNjU3LjEzMDgsNTQ1LjA1MjYgQzY1Ni40MDc4LDU0NC42NDY2IDY1Ni4xNTE4LDU0My43MzE2IDY1Ni41NTc4LDU0My4wMDk2IEM2NTcuNTMwOCw1NDEuMjgxNiA2NTguNDg0OCw1MzkuNTQxNiA2NTkuNDIxOCw1MzcuNzkwNiBDNjU5LjgxMDgsNTM3LjA2MDYgNjYwLjcyMTgsNTM2Ljc4NTYgNjYxLjQ1MTgsNTM3LjE3NjYgQzY2Mi4xODE4LDUzNy41Njc2IDY2Mi40NTc4LDUzOC40NzY2IDY2Mi4wNjU4LDUzOS4yMDY2IEM2NjEuMTE5OCw1NDAuOTc1NiA2NjAuMTU1OCw1NDIuNzM0NiA2NTkuMTczOCw1NDQuNDgwNiBDNjU4Ljg5NzgsNTQ0Ljk2OTYgNjU4LjM4NzgsNTQ1LjI0NTYgNjU3Ljg2NDgsNTQ1LjI0NTYgTDY1Ny44NjQ4LDU0NS4yNDU2IFogTTE4My44Nzc4LDU0NS45MTM2IEMxODMuMzU0OCw1NDUuOTEzNiAxODIuODQ2OCw1NDUuNjM5NiAxODIuNTcxOCw1NDUuMTUyNiBDMTgxLjU3NjgsNTQzLjM5NzYgMTgwLjU5MzgsNTQxLjYxNzYgMTc5LjY0OTgsNTM5Ljg2MTYgQzE3OS4yNTc4LDUzOS4xMzE2IDE3OS41MzA4LDUzOC4yMjI2IDE4MC4yNjA4LDUzNy44MzA2IEMxODAuOTg4OCw1MzcuNDQwNiAxODEuOTAwOCw1MzcuNzEwNiAxODIuMjkyOCw1MzguNDQxNiBDMTgzLjIyNTgsNTQwLjE3NzYgMTg0LjE5NzgsNTQxLjkzODYgMTg1LjE4MDgsNTQzLjY3MzYgQzE4NS41OTA4LDU0NC4zOTQ2IDE4NS4zMzY4LDU0NS4zMDk2IDE4NC42MTU4LDU0NS43MTc2IEMxODQuMzgyOCw1NDUuODUwNiAxODQuMTI4OCw1NDUuOTEzNiAxODMuODc3OCw1NDUuOTEzNiBMMTgzLjg3NzgsNTQ1LjkxMzYgWiBNNjUxLjc2NDgsNTU1LjU0NDYgQzY1MS40OTM4LDU1NS41NDQ2IDY1MS4yMTk4LDU1NS40NzE2IDY1MC45NzM4LDU1NS4zMTg2IEM2NTAuMjY5OCw1NTQuODgwNiA2NTAuMDU0OCw1NTMuOTU1NiA2NTAuNDkyOCw1NTMuMjUxNiBDNjUxLjU0MDgsNTUxLjU2ODYgNjUyLjU3MDgsNTQ5Ljg3MjYgNjUzLjU4MzgsNTQ4LjE2MzYgQzY1NC4wMDU4LDU0Ny40NDk2IDY1NC45MjU4LDU0Ny4yMTY2IDY1NS42Mzc4LDU0Ny42MzY2IEM2NTYuMzUwOCw1NDguMDU5NiA2NTYuNTg2OCw1NDguOTc5NiA2NTYuMTY0OCw1NDkuNjkyNiBDNjU1LjE0MDgsNTUxLjQxODYgNjU0LjA5ODgsNTUzLjEzNDYgNjUzLjAzOTgsNTU0LjgzNzYgQzY1Mi43NTU4LDU1NS4yOTM2IDY1Mi4yNjU4LDU1NS41NDQ2IDY1MS43NjQ4LDU1NS41NDQ2IEw2NTEuNzY0OCw1NTUuNTQ0NiBaIE0xOTAuMDMyOCw1NTYuMjMyNiBDMTg5LjUzMzgsNTU2LjIzMjYgMTg5LjA0NTgsNTU1Ljk4MzYgMTg4Ljc2MDgsNTU1LjUyOTYgQzE4Ny43MDA4LDU1My44Mzc2IDE4Ni42Mzk4LDU1Mi4xMDM2IDE4NS42MDg4LDU1MC4zNzQ2IEMxODUuMTgzOCw1NDkuNjYzNiAxODUuNDE3OCw1NDguNzQyNiAxODYuMTI4OCw1NDguMzE4NiBDMTg2Ljg0MDgsNTQ3Ljg5MzYgMTg3Ljc2MDgsNTQ4LjEyNTYgMTg4LjE4NDgsNTQ4LjgzNzYgQzE4OS4yMDU4LDU1MC41NDg2IDE5MC4yNDQ4LDU1Mi4yNDg2IDE5MS4zMDE4LDU1My45MzU2IEMxOTEuNzQyOCw1NTQuNjM3NiAxOTEuNTMwOCw1NTUuNTYzNiAxOTAuODI4OCw1NTYuMDAyNiBDMTkwLjU4MDgsNTU2LjE1ODYgMTkwLjMwNDgsNTU2LjIzMjYgMTkwLjAzMjgsNTU2LjIzMjYgTDE5MC4wMzI4LDU1Ni4yMzI2IFogTTY0NS4yMTM4LDU2NS41NzA2IEM2NDQuOTIxOCw1NjUuNTcwNiA2NDQuNjI1OCw1NjUuNDg1NiA2NDQuMzY2OCw1NjUuMzA3NiBDNjQzLjY4MjgsNTY0LjgzOTYgNjQzLjUwNzgsNTYzLjkwNjYgNjQzLjk3NjgsNTYzLjIyMjYgQzY0NS4wOTg4LDU2MS41ODQ2IDY0Ni4yMDI4LDU1OS45MzQ2IDY0Ny4yODk4LDU1OC4yNzI2IEM2NDcuNzQzOCw1NTcuNTc4NiA2NDguNjc0OCw1NTcuMzg1NiA2NDkuMzY1OCw1NTcuODM2NiBDNjUwLjA1ODgsNTU4LjI4OTYgNjUwLjI1NDgsNTU5LjIxOTYgNjQ5LjgwMDgsNTU5LjkxMzYgQzY0OC43MDI4LDU2MS41OTQ2IDY0Ny41ODU4LDU2My4yNjI2IDY0Ni40NTE4LDU2NC45MTc2IEM2NDYuMTYxOCw1NjUuMzQyNiA2NDUuNjkwOCw1NjUuNTcwNiA2NDUuMjEzOCw1NjUuNTcwNiBMNjQ1LjIxMzgsNTY1LjU3MDYgWiBNMTk2LjYzMzgsNTY2LjI2ODYgQzE5Ni4xNTY4LDU2Ni4yNjg2IDE5NS42ODc4LDU2Ni4wNDE2IDE5NS4zOTY4LDU2NS42MjA2IEMxOTQuMjU1OCw1NjMuOTYzNiAxOTMuMTMwOCw1NjIuMjkzNiAxOTIuMDIzOCw1NjAuNjEyNiBDMTkxLjU2ODgsNTU5LjkyMDYgMTkxLjc1OTgsNTU4Ljk5MDYgMTkyLjQ1MjgsNTU4LjUzNTYgQzE5My4xNDQ4LDU1OC4wODA2IDE5NC4wNzU4LDU1OC4yNzE2IDE5NC41Mjk4LDU1OC45NjM2IEMxOTUuNjI0OCw1NjAuNjI2NiAxOTYuNzM3OCw1NjIuMjc4NiAxOTcuODY3OCw1NjMuOTE2NiBDMTk4LjMzNzgsNTY0LjU5OTYgMTk4LjE2NTgsNTY1LjUzMzYgMTk3LjQ4MzgsNTY2LjAwMzYgQzE5Ny4yMjM4LDU2Ni4xODI2IDE5Ni45MjY4LDU2Ni4yNjg2IDE5Ni42MzM4LDU2Ni4yNjg2IEwxOTYuNjMzOCw1NjYuMjY4NiBaIE02MzguMjI1OCw1NzUuMzAxNiBDNjM3LjkxMTgsNTc1LjMwMTYgNjM3LjU5NDgsNTc1LjIwNDYgNjM3LjMyNTgsNTc1LjAwMDYgQzYzNi42NjM4LDU3NC41MDI2IDYzNi41MzA4LDU3My41NjI2IDYzNy4wMjc4LDU3Mi45MDA2IEM2MzguMjE2OCw1NzEuMzIwNiA2MzkuNDAyOCw1NjkuNzA1NiA2NDAuNTU1OCw1NjguMDk4NiBDNjQxLjAzODgsNTY3LjQyNTYgNjQxLjk3MzgsNTY3LjI3MzYgNjQyLjY0OTgsNTY3Ljc1NDYgQzY0My4zMjI4LDU2OC4yMzg2IDY0My40NzY4LDU2OS4xNzU2IDY0Mi45OTM4LDU2OS44NDg2IEM2NDEuODI3OCw1NzEuNDcyNiA2NDAuNjI3OCw1NzMuMTA2NiA2MzkuNDI1OCw1NzQuNzAzNiBDNjM5LjEzMTgsNTc1LjA5NTYgNjM4LjY4MDgsNTc1LjMwMTYgNjM4LjIyNTgsNTc1LjMwMTYgTDYzOC4yMjU4LDU3NS4zMDE2IFogTTIwMy42Njg4LDU3Ni4wMDE2IEMyMDMuMjE1OCw1NzYuMDAxNiAyMDIuNzY1OCw1NzUuNzk2NiAyMDIuNDcwOCw1NzUuNDA3NiBDMjAxLjI1NzgsNTczLjgwMjYgMjAwLjA1OTgsNTcyLjE4NDYgMTk4Ljg4MDgsNTcwLjU1MzYgQzE5OC4zOTQ4LDU2OS44ODI2IDE5OC41NDY4LDU2OC45NDQ2IDE5OS4yMTY4LDU2OC40NTg2IEMxOTkuODg2OCw1NjcuOTc0NiAyMDAuODI1OCw1NjguMTI0NiAyMDEuMzExOCw1NjguNzk1NiBDMjAyLjQ3NzgsNTcwLjQwOTYgMjAzLjY2MTgsNTcyLjAwOTYgMjA0Ljg2MzgsNTczLjU5NjYgQzIwNS4zNjM4LDU3NC4yNTY2IDIwNS4yMzI4LDU3NS4xOTg2IDIwNC41NzI4LDU3NS42OTg2IEMyMDQuMzAxOCw1NzUuOTAzNiAyMDMuOTgzOCw1NzYuMDAxNiAyMDMuNjY4OCw1NzYuMDAxNiBMMjAzLjY2ODgsNTc2LjAwMTYgWiBNNjMwLjgxNTgsNTg0LjcyMDYgQzYzMC40Nzk4LDU4NC43MjA2IDYzMC4xNDI4LDU4NC42MDg2IDYyOS44NjM4LDU4NC4zNzg2IEM2MjkuMjIzOCw1ODMuODUyNiA2MjkuMTMyOCw1ODIuOTA3NiA2MjkuNjU4OCw1ODIuMjY3NiBDNjMwLjkyMjgsNTgwLjczMjYgNjMyLjE3OTgsNTc5LjE2OTYgNjMzLjM5NTgsNTc3LjYyMzYgQzYzMy45MDc4LDU3Ni45NzE2IDYzNC44NTA4LDU3Ni44NTk2IDYzNS41MDE4LDU3Ny4zNzE2IEM2MzYuMTUyOCw1NzcuODgzNiA2MzYuMjY1OCw1NzguODI2NiA2MzUuNzU0OCw1NzkuNDc3NiBDNjM0LjUyMzgsNTgxLjA0MTYgNjMzLjI1MjgsNTgyLjYyMjYgNjMxLjk3NDgsNTg0LjE3MzYgQzYzMS42Nzc4LDU4NC41MzQ2IDYzMS4yNDg4LDU4NC43MjA2IDYzMC44MTU4LDU4NC43MjA2IEw2MzAuODE1OCw1ODQuNzIwNiBaIE0yMTEuMTIxOCw1ODUuNDExNiBDMjEwLjY4OTgsNTg1LjQxMTYgMjEwLjI2MTgsNTg1LjIyNjYgMjA5Ljk2NTgsNTg0Ljg2ODYgQzIwOC42ODE4LDU4My4zMTg2IDIwNy40MTU4LDU4MS43NTQ2IDIwNi4xNjY4LDU4MC4xNzg2IEMyMDUuNjUxOCw1NzkuNTI5NiAyMDUuNzYwOCw1NzguNTg1NiAyMDYuNDEwOCw1NzguMDcxNiBDMjA3LjA1ODgsNTc3LjU1NjYgMjA4LjAwMzgsNTc3LjY2NzYgMjA4LjUxNzgsNTc4LjMxNTYgQzIwOS43NTM4LDU3OS44NzU2IDIxMS4wMDY4LDU4MS40MjE2IDIxMi4yNzU4LDU4Mi45NTQ2IEMyMTIuODAzOCw1ODMuNTkyNiAyMTIuNzE1OCw1ODQuNTM4NiAyMTIuMDc3OCw1ODUuMDY2NiBDMjExLjc5NzgsNTg1LjI5NzYgMjExLjQ1ODgsNTg1LjQxMTYgMjExLjEyMTgsNTg1LjQxMTYgTDIxMS4xMjE4LDU4NS40MTE2IFogTTYyMi45OTc4LDU5My44MDg2IEM2MjIuNjM5OCw1OTMuODA4NiA2MjIuMjgwOCw1OTMuNjgxNiA2MjEuOTk0OCw1OTMuNDIzNiBDNjIxLjM3ODgsNTkyLjg3MDYgNjIxLjMyODgsNTkxLjkyMTYgNjIxLjg4MjgsNTkxLjMwNTYgQzYyMy4yMTA4LDU4OS44Mjg2IDYyNC41MjM4LDU4OC4zMzU2IDYyNS44MTg4LDU4Ni44Mjk2IEM2MjYuMzU5OCw1ODYuMjAyNiA2MjcuMzA2OCw1ODYuMTMwNiA2MjcuOTM0OCw1ODYuNjY5NiBDNjI4LjU2MjgsNTg3LjIxMDYgNjI4LjYzMzgsNTg4LjE1NzYgNjI4LjA5MzgsNTg4Ljc4NjYgQzYyNi43OTE4LDU5MC4yOTk2IDYyNS40NTE4LDU5MS44MjM2IDYyNC4xMTI4LDU5My4zMTE2IEM2MjMuODE2OCw1OTMuNjQwNiA2MjMuNDA3OCw1OTMuODA4NiA2MjIuOTk3OCw1OTMuODA4NiBMNjIyLjk5NzgsNTkzLjgwODYgWiBNMjE4Ljk3NzgsNTk0LjQ4MzYgQzIxOC41Njg4LDU5NC40ODM2IDIxOC4xNjA4LDU5NC4zMTc2IDIxNy44NjQ4LDU5My45ODk2IEMyMTYuNTE1OCw1OTIuNDk3NiAyMTUuMTgxOCw1OTAuOTkzNiAyMTMuODY1OCw1ODkuNDczNiBDMjEzLjMyMzgsNTg4Ljg0NzYgMjEzLjM5MDgsNTg3Ljg5OTYgMjE0LjAxNjgsNTg3LjM1NzYgQzIxNC42NDQ4LDU4Ni44MTM2IDIxNS41OTA4LDU4Ni44ODM2IDIxNi4xMzM4LDU4Ny41MDg2IEMyMTcuNDM1OCw1ODkuMDEyNiAyMTguNzU0OCw1OTAuNTAxNiAyMjAuMDg5OCw1OTEuOTc3NiBDMjIwLjY0NDgsNTkyLjU5MTYgMjIwLjU5NjgsNTkzLjUzOTYgMjE5Ljk4MjgsNTk0LjA5NTYgQzIxOS42OTY4LDU5NC4zNTU2IDIxOS4zMzY4LDU5NC40ODM2IDIxOC45Nzc4LDU5NC40ODM2IEwyMTguOTc3OCw1OTQuNDgzNiBaIE02MTQuNzg1OCw2MDIuNTQ3NiBDNjE0LjQwNjgsNjAyLjU0NzYgNjE0LjAyNjgsNjAyLjQwNTYgNjEzLjczNDgsNjAyLjExODYgQzYxMy4xNDM4LDYwMS41Mzg2IDYxMy4xMzQ4LDYwMC41ODc2IDYxMy43MTU4LDU5OS45OTc2IEM2MTUuMTA3OCw1OTguNTc4NiA2MTYuNDg0OCw1OTcuMTQ0NiA2MTcuODQ2OCw1OTUuNjk1NiBDNjE4LjQxNDgsNTk1LjA5MjYgNjE5LjM2MjgsNTk1LjA2MTYgNjE5Ljk2NjgsNTk1LjYyOTYgQzYyMC41NzA4LDU5Ni4xOTc2IDYyMC41OTk4LDU5Ny4xNDY2IDYyMC4wMzI4LDU5Ny43NDk2IEM2MTguNjU2OCw1OTkuMjE0NiA2MTcuMjYzOCw2MDAuNjY0NiA2MTUuODU1OCw2MDIuMDk4NiBDNjE1LjU2MTgsNjAyLjM5NzYgNjE1LjE3NDgsNjAyLjU0NzYgNjE0Ljc4NTgsNjAyLjU0NzYgTDYxNC43ODU4LDYwMi41NDc2IFogTTIyNy4yMjA4LDYwMy4xOTg2IEMyMjYuODM0OCw2MDMuMTk4NiAyMjYuNDQ3OCw2MDMuMDQ5NiAyMjYuMTU0OCw2MDIuNzUyNiBDMjI0Ljc1NDgsNjAxLjMzNjYgMjIzLjM0MjgsNTk5Ljg3NzYgMjIxLjk2MTgsNTk4LjQxNTYgQzIyMS4zOTE4LDU5Ny44MTQ2IDIyMS40MTg4LDU5Ni44NjU2IDIyMi4wMjA4LDU5Ni4yOTU2IEMyMjIuNjIxOCw1OTUuNzI2NiAyMjMuNTcxOCw1OTUuNzUxNiAyMjQuMTQwOCw1OTYuMzU1NiBDMjI1LjUwODgsNTk3LjgwMDYgMjI2LjkwMjgsNTk5LjI0MzYgMjI4LjI4NzgsNjAwLjY0MzYgQzIyOC44NzA4LDYwMS4yMzI2IDIyOC44NjQ4LDYwMi4xODI2IDIyOC4yNzU4LDYwMi43NjQ2IEMyMjcuOTgzOCw2MDMuMDUzNiAyMjcuNjAxOCw2MDMuMTk4NiAyMjcuMjIwOCw2MDMuMTk4NiBMMjI3LjIyMDgsNjAzLjE5ODYgWiBNNjA2LjE5NDgsNjEwLjkyMTYgQzYwNS43OTM4LDYxMC45MjE2IDYwNS4zOTM4LDYxMC43NjE2IDYwNS4wOTc4LDYxMC40NDU2IEM2MDQuNTMyOCw2MDkuODM5NiA2MDQuNTY1OCw2MDguODkwNiA2MDUuMTcxOCw2MDguMzI1NiBDNjA2LjYyNTgsNjA2Ljk2ODYgNjA4LjA2NDgsNjA1LjU5NTYgNjA5LjQ4OTgsNjA0LjIwNjYgQzYxMC4wODE4LDYwMy42Mjg2IDYxMS4wMzE4LDYwMy42Mzk2IDYxMS42MTA4LDYwNC4yMzQ2IEM2MTIuMTg4OCw2MDQuODI3NiA2MTIuMTc2OCw2MDUuNzc3NiA2MTEuNTgzOCw2MDYuMzU1NiBDNjEwLjE0MjgsNjA3Ljc1OTYgNjA4LjY4NzgsNjA5LjE0NjYgNjA3LjIxNzgsNjEwLjUxODYgQzYwNi45Mjg4LDYxMC43ODg2IDYwNi41NjE4LDYxMC45MjE2IDYwNi4xOTQ4LDYxMC45MjE2IEw2MDYuMTk0OCw2MTAuOTIxNiBaIE0yMzUuODM3OCw2MTEuNTQxNiBDMjM1LjQ3MTgsNjExLjU0MTYgMjM1LjEwNjgsNjExLjQxMDYgMjM0LjgxNzgsNjExLjE0MjYgQzIzMy4zNDI4LDYwOS43NzU2IDIzMS44ODM4LDYwOC4zOTI2IDIzMC40Mzk4LDYwNi45OTQ2IEMyMjkuODQ0OCw2MDYuNDE3NiAyMjkuODMwOCw2MDUuNDY4NiAyMzAuNDA2OCw2MDQuODcyNiBDMjMwLjk4MjgsNjA0LjI3ODYgMjMxLjkzMTgsNjA0LjI2NDYgMjMyLjUyNzgsNjA0LjgzOTYgQzIzMy45NTU4LDYwNi4yMjI2IDIzNS4zOTc4LDYwNy41ODk2IDIzNi44NTY4LDYwOC45NDE2IEMyMzcuNDY0OCw2MDkuNTA0NiAyMzcuNTAwOCw2MTAuNDU0NiAyMzYuOTM3OCw2MTEuMDYxNiBDMjM2LjY0MTgsNjExLjM4MDYgMjM2LjIzOTgsNjExLjU0MTYgMjM1LjgzNzgsNjExLjU0MTYgTDIzNS44Mzc4LDYxMS41NDE2IFogTTU5Ny4yNDQ4LDYxOC45MTQ2IEM1OTYuODIwOCw2MTguOTE0NiA1OTYuMzk5OCw2MTguNzM1NiA1OTYuMTAyOCw2MTguMzg3NiBDNTk1LjU2NDgsNjE3Ljc1NzYgNTk1LjYzOTgsNjE2LjgxMTYgNTk2LjI2OTgsNjE2LjI3MzYgQzU5Ny43OTA4LDYxNC45NzQ2IDU5OS4zMDE4LDYxMy42NTQ2IDYwMC43NjI4LDYxMi4zNDg2IEM2MDEuMzgxOCw2MTEuNzk1NiA2MDIuMzMwOCw2MTEuODUwNiA2MDIuODgxOCw2MTIuNDY2NiBDNjAzLjQzMjgsNjEzLjA4NDYgNjAzLjM4MDgsNjE0LjAzMzYgNjAyLjc2MjgsNjE0LjU4NDYgQzYwMS4yODQ4LDYxNS45MDY2IDU5OS43NTU4LDYxNy4yNDI2IDU5OC4yMTY4LDYxOC41NTQ2IEM1OTcuOTM0OCw2MTguNzk1NiA1OTcuNTg4OCw2MTguOTE0NiA1OTcuMjQ0OCw2MTguOTE0NiBMNTk3LjI0NDgsNjE4LjkxNDYgWiBNMjQ0LjgwNjgsNjE5LjQ5NzYgQzI0NC40NjQ4LDYxOS40OTc2IDI0NC4xMTk4LDYxOS4zNzk2IDI0My44Mzc4LDYxOS4xNDA2IEMyNDIuMzA1OCw2MTcuODQwNiAyNDAuNzg3OCw2MTYuNTI0NiAyMzkuMjg0OCw2MTUuMTkwNiBDMjM4LjY2NDgsNjE0LjY0MDYgMjM4LjYwNzgsNjEzLjY5MjYgMjM5LjE1NzgsNjEzLjA3MzYgQzIzOS43MDY4LDYxMi40NTQ2IDI0MC42NTU4LDYxMi4zOTU2IDI0MS4yNzQ4LDYxMi45NDY2IEMyNDIuNzYxOCw2MTQuMjY1NiAyNDQuMjYyOCw2MTUuNTY3NiAyNDUuNzc4OCw2MTYuODUzNiBDMjQ2LjQxMDgsNjE3LjM4OTYgMjQ2LjQ4NzgsNjE4LjMzNTYgMjQ1Ljk1MTgsNjE4Ljk2NzYgQzI0NS42NTQ4LDYxOS4zMTc2IDI0NS4yMzI4LDYxOS40OTc2IDI0NC44MDY4LDYxOS40OTc2IEwyNDQuODA2OCw2MTkuNDk3NiBaIE01ODcuOTQ4OCw2MjYuNTA2NiBDNTg3LjUwMjgsNjI2LjUwNjYgNTg3LjA2MDgsNjI2LjMwODYgNTg2Ljc2NDgsNjI1LjkyOTYgQzU4Ni4yNTU4LDYyNS4yNzc2IDU4Ni4zNzE4LDYyNC4zMzM2IDU4Ny4wMjQ4LDYyMy44MjQ2IEM1ODguNTkyOCw2MjIuNTk5NiA1OTAuMTQ3OCw2MjEuMzU3NiA1OTEuNjg4OCw2MjAuMDk4NiBDNTkyLjMzMzgsNjE5LjU3NDYgNTkzLjI3NTgsNjE5LjY3MTYgNTkzLjc5OTgsNjIwLjMxMTYgQzU5NC4zMjM4LDYyMC45NTQ2IDU5NC4yMjg4LDYyMS44OTg2IDU5My41ODc4LDYyMi40MjI2IEM1OTIuMDI4OCw2MjMuNjk1NiA1OTAuNDU2OCw2MjQuOTUxNiA1ODguODcwOCw2MjYuMTg5NiBDNTg4LjU5NjgsNjI2LjQwMzYgNTg4LjI3MTgsNjI2LjUwNjYgNTg3Ljk0ODgsNjI2LjUwNjYgTDU4Ny45NDg4LDYyNi41MDY2IFogTTI1NC4xMTQ4LDYyNy4wNDk2IEMyNTMuNzkzOCw2MjcuMDQ5NiAyNTMuNDY4OCw2MjYuOTQ3NiAyNTMuMTk1OCw2MjYuNzM0NiBDMjUxLjYwODgsNjI1LjUwMTYgMjUwLjAzNDgsNjI0LjI1NDYgMjQ4LjQ3NTgsNjIyLjk4OTYgQzI0Ny44MzI4LDYyMi40NjY2IDI0Ny43MzQ4LDYyMS41MjI2IDI0OC4yNTY4LDYyMC44Nzg2IEMyNDguNzc3OCw2MjAuMjM1NiAyNDkuNzIwOCw2MjAuMTM1NiAyNTAuMzY2OCw2MjAuNjU5NiBDMjUxLjkwODgsNjIxLjkxMTYgMjUzLjQ2NjgsNjIzLjE0NjYgMjU1LjAzNTgsNjI0LjM2NTYgQzI1NS42ODk4LDYyNC44NzI2IDI1NS44MDc4LDYyNS44MTU2IDI1NS4yOTk4LDYyNi40Njk2IEMyNTUuMDA0OCw2MjYuODUwNiAyNTQuNTYxOCw2MjcuMDQ5NiAyNTQuMTE0OCw2MjcuMDQ5NiBMMjU0LjExNDgsNjI3LjA0OTYgWiBNNTc4LjMyNDgsNjMzLjY4NjYgQzU3Ny44NTU4LDYzMy42ODY2IDU3Ny4zOTQ4LDYzMy40Njc2IDU3Ny4xMDE4LDYzMy4wNTY2IEM1NzYuNjIxOCw2MzIuMzgyNiA1NzYuNzc4OCw2MzEuNDQ1NiA1NzcuNDUzOCw2MzAuOTY0NiBDNTc5LjA3NTgsNjI5LjgwOTYgNTgwLjY4MjgsNjI4LjYzNTYgNTgyLjI3ODgsNjI3LjQ0NjYgQzU4Mi45NDA4LDYyNi45NTE2IDU4My44ODI4LDYyNy4wODY2IDU4NC4zNzc4LDYyNy43NTE2IEM1ODQuODcyOCw2MjguNDE0NiA1ODQuNzM1OCw2MjkuMzU1NiA1ODQuMDcxOCw2MjkuODUwNiBDNTgyLjQ2MDgsNjMxLjA1MzYgNTgwLjgzMzgsNjMyLjIzOTYgNTc5LjE5MzgsNjMzLjQwODYgQzU3OC45Mjk4LDYzMy41OTU2IDU3OC42MjY4LDYzMy42ODY2IDU3OC4zMjQ4LDYzMy42ODY2IEw1NzguMzI0OCw2MzMuNjg2NiBaIE0yNjMuNzQxOCw2MzQuMTg0NiBDMjYzLjQ0MTgsNjM0LjE4NDYgMjYzLjEzODgsNjM0LjA5NTYgMjYyLjg3NjgsNjMzLjkwOTYgQzI2MS4yNTk4LDYzMi43NjU2IDI1OS42MTg4LDYzMS41NzY2IDI1Ny45OTY4LDYzMC4zNzQ2IEMyNTcuMzMxOCw2MjkuODgxNiAyNTcuMTkxOCw2MjguOTQyNiAyNTcuNjg0OCw2MjguMjc2NiBDMjU4LjE3NjgsNjI3LjYxMTYgMjU5LjExNzgsNjI3LjQ3MDYgMjU5Ljc4MzgsNjI3Ljk2NDYgQzI2MS4zNzg4LDYyOS4xNDY2IDI2Mi45ODU4LDYzMC4zMTI2IDI2NC42MDg4LDYzMS40NTk2IEMyNjUuMjg1OCw2MzEuOTM4NiAyNjUuNDQ1OCw2MzIuODczNiAyNjQuOTY2OCw2MzMuNTUwNiBDMjY0LjY3NDgsNjMzLjk2MzYgMjY0LjIxMTgsNjM0LjE4NDYgMjYzLjc0MTgsNjM0LjE4NDYgTDI2My43NDE4LDYzNC4xODQ2IFogTTU2OC4zOTA4LDY0MC40Mzg2IEM1NjcuODk5OCw2NDAuNDM4NiA1NjcuNDE4OCw2NDAuMTk3NiA1NjcuMTMxOCw2MzkuNzUzNiBDNTY2LjY4MDgsNjM5LjA1ODYgNTY2Ljg3OTgsNjM4LjEyOTYgNTY3LjU3NDgsNjM3LjY3OTYgQzU2OS4yNDU4LDYzNi41OTY2IDU3MC45MDQ4LDYzNS40OTU2IDU3Mi41NTE4LDYzNC4zNzU2IEM1NzMuMjM0OCw2MzMuOTExNiA1NzQuMTY4OCw2MzQuMDg3NiA1NzQuNjM1OCw2MzQuNzc0NiBDNTc1LjEwMDgsNjM1LjQ1OTYgNTc0LjkyMzgsNjM2LjM5MjYgNTc0LjIzNzgsNjM2Ljg1ODYgQzU3Mi41NzI4LDYzNy45ODk2IDU3MC44OTU4LDYzOS4xMDI2IDU2OS4yMDU4LDY0MC4xOTc2IEM1NjguOTUzOCw2NDAuMzYwNiA1NjguNjcxOCw2NDAuNDM4NiA1NjguMzkwOCw2NDAuNDM4NiBMNTY4LjM5MDgsNjQwLjQzODYgWiBNMjczLjY2ODgsNjQwLjg4NjYgQzI3My4zODk4LDY0MC44ODY2IDI3My4xMDc4LDY0MC44MDk2IDI3Mi44NTY4LDY0MC42NDc2IEMyNzEuMTY4OCw2MzkuNTU5NiAyNjkuNDkyOCw2MzguNDU1NiAyNjcuODMwOCw2MzcuMzMyNiBDMjY3LjE0MjgsNjM2Ljg2OTYgMjY2Ljk2MjgsNjM1LjkzNzYgMjY3LjQyNTgsNjM1LjI1MDYgQzI2Ny44ODk4LDYzNC41NjI2IDI2OC44MjM4LDYzNC4zODM2IDI2OS41MDg4LDYzNC44NDY2IEMyNzEuMTUyOCw2MzUuOTU2NiAyNzIuODEwOCw2MzcuMDQ5NiAyNzQuNDgxOCw2MzguMTI1NiBDMjc1LjE3NzgsNjM4LjU3NDYgMjc1LjM3OTgsNjM5LjUwMjYgMjc0LjkyOTgsNjQwLjE5OTYgQzI3NC42NDM4LDY0MC42NDQ2IDI3NC4xNjA4LDY0MC44ODY2IDI3My42Njg4LDY0MC44ODY2IEwyNzMuNjY4OCw2NDAuODg2NiBaIE01NTguMTY2OCw2NDYuNzQ3NiBDNTU3LjY1MTgsNjQ2Ljc0NzYgNTU3LjE1MDgsNjQ2LjQ4MjYgNTU2Ljg3MTgsNjQ2LjAwNjYgQzU1Ni40NTI4LDY0NS4yOTE2IDU1Ni42OTE4LDY0NC4zNzI2IDU1Ny40MDU4LDY0My45NTM2IEM1NTkuMTI1OCw2NDIuOTQ0NiA1NjAuODMxOCw2NDEuOTE2NiA1NjIuNTI2OCw2NDAuODcyNiBDNTYzLjIzMDgsNjQwLjQzNjYgNTY0LjE1NTgsNjQwLjY1NjYgNTY0LjU5MDgsNjQxLjM2MTYgQzU2NS4wMjU4LDY0Mi4wNjY2IDU2NC44MDU4LDY0Mi45OTA2IDU2NC4xMDA4LDY0My40MjQ2IEM1NjIuMzg3OCw2NDQuNDgxNiA1NjAuNjYyOCw2NDUuNTIwNiA1NTguOTI0OCw2NDYuNTQwNiBDNTU4LjY4NTgsNjQ2LjY4MDYgNTU4LjQyNDgsNjQ2Ljc0NzYgNTU4LjE2NjgsNjQ2Ljc0NzYgTDU1OC4xNjY4LDY0Ni43NDc2IFogTTI4My44NzY4LDY0Ny4xNDM2IEMyODMuNjE5OCw2NDcuMTQzNiAyODMuMzU5OCw2NDcuMDc4NiAyODMuMTIxOCw2NDYuOTM5NiBDMjgxLjM4NjgsNjQ1LjkyNzYgMjc5LjY2NDgsNjQ0Ljg5ODYgMjc3Ljk1NDgsNjQzLjg1MDYgQzI3Ny4yNDg4LDY0My40MTY2IDI3Ny4wMjY4LDY0Mi40OTQ2IDI3Ny40NTk4LDY0MS43ODc2IEMyNzcuODkyOCw2NDEuMDgxNiAyNzguODE1OCw2NDAuODYxNiAyNzkuNTIyOCw2NDEuMjkxNiBDMjgxLjIxMzgsNjQyLjMyODYgMjgyLjkxNjgsNjQzLjM0NzYgMjg0LjYzMzgsNjQ0LjM0NzYgQzI4NS4zNDc4LDY0NC43NjQ2IDI4NS41OTA4LDY0NS42ODM2IDI4NS4xNzM4LDY0Ni4zOTk2IEMyODQuODk0OCw2NDYuODc2NiAyODQuMzkxOCw2NDcuMTQzNiAyODMuODc2OCw2NDcuMTQzNiBMMjgzLjg3NjgsNjQ3LjE0MzYgWiBNNTQ3LjY2OTgsNjUyLjYwMDYgQzU0Ny4xMzE4LDY1Mi42MDA2IDU0Ni42MTE4LDY1Mi4zMTA2IDU0Ni4zNDE4LDY1MS44MDE2IEM1NDUuOTU1OCw2NTEuMDY5NiA1NDYuMjM0OCw2NTAuMTYyNiA1NDYuOTY2OCw2NDkuNzc0NiBDNTQ4LjcyOTgsNjQ4Ljg0MjYgNTUwLjQ4MDgsNjQ3Ljg5MTYgNTUyLjIxODgsNjQ2LjkyMTYgQzU1Mi45NDM4LDY0Ni41MTk2IDU1My44NTQ4LDY0Ni43Nzg2IDU1NC4yNTk4LDY0Ny41MDE2IEM1NTQuNjYzOCw2NDguMjI1NiA1NTQuNDAzOCw2NDkuMTM4NiA1NTMuNjc5OCw2NDkuNTQyNiBDNTUxLjkzNjgsNjUwLjUxNDYgNTUwLjE0OTgsNjUxLjQ4NTYgNTQ4LjM2OTgsNjUyLjQyNjYgQzU0OC4xNDU4LDY1Mi41NDQ2IDU0Ny45MDU4LDY1Mi42MDA2IDU0Ny42Njk4LDY1Mi42MDA2IEw1NDcuNjY5OCw2NTIuNjAwNiBaIE0yOTQuMzQzOCw2NTIuOTQyNiBDMjk0LjEwODgsNjUyLjk0MjYgMjkzLjg2OTgsNjUyLjg4NjYgMjkzLjY0NjgsNjUyLjc3MDYgQzI5MS44NzA4LDY1MS44MzU2IDI5MC4xMDQ4LDY1MC44ODM2IDI4OC4zNTI4LDY0OS45MTM2IEMyODcuNjI4OCw2NDkuNTEwNiAyODcuMzY1OCw2NDguNTk4NiAyODcuNzY2OCw2NDcuODczNiBDMjg4LjE2OTgsNjQ3LjE0ODYgMjg5LjA4NDgsNjQ2Ljg4OTYgMjg5LjgwNTgsNjQ3LjI4ODYgQzI5MS41NDA4LDY0OC4yNDg2IDI5My4yODY4LDY0OS4xOTE2IDI5NS4wNDM4LDY1MC4xMTQ2IEMyOTUuNzc2OCw2NTAuNDk5NiAyOTYuMDU3OCw2NTEuNDA3NiAyOTUuNjczOCw2NTIuMTQwNiBDMjk1LjQwNDgsNjUyLjY1MTYgMjk0Ljg4MjgsNjUyLjk0MjYgMjk0LjM0MzgsNjUyLjk0MjYgTDI5NC4zNDM4LDY1Mi45NDI2IFogTTUzNi45MTg4LDY1Ny45ODQ2IEM1MzYuMzU2OCw2NTcuOTg0NiA1MzUuODE3OCw2NTcuNjY3NiA1MzUuNTYxOCw2NTcuMTI1NiBDNTM1LjIwNzgsNjU2LjM3NjYgNTM1LjUyNjgsNjU1LjQ4MzYgNTM2LjI3NTgsNjU1LjEyODYgQzUzOC4wNzk4LDY1NC4yNzU2IDUzOS44NzE4LDY1My40MDE2IDU0MS42NTE4LDY1Mi41MDk2IEM1NDIuMzk1OCw2NTIuMTQwNiA1NDMuMjkzOCw2NTIuNDQwNiA1NDMuNjY1OCw2NTMuMTc5NiBDNTQ0LjAzNTgsNjUzLjkyMDYgNTQzLjczNTgsNjU0LjgyMjYgNTQyLjk5NTgsNjU1LjE5MzYgQzU0MS4xOTM4LDY1Ni4wOTQ2IDUzOS4zODI4LDY1Ni45Nzc2IDUzNy41NTg4LDY1Ny44Mzk2IEM1MzcuMzUxOCw2NTcuOTM4NiA1MzcuMTMzOCw2NTcuOTg0NiA1MzYuOTE4OCw2NTcuOTg0NiBMNTM2LjkxODgsNjU3Ljk4NDYgWiBNMzA1LjA1MzgsNjU4LjI3MTYgQzMwNC44NDA4LDY1OC4yNzE2IDMwNC42MjI4LDY1OC4yMjU2IDMwNC40MTY4LDY1OC4xMjg2IEMzMDIuNjAwOCw2NTcuMjc0NiAzMDAuNzk2OCw2NTYuNDAxNiAyOTkuMDAzOCw2NTUuNTA4NiBDMjk4LjI2MDgsNjU1LjEzOTYgMjk3Ljk1OTgsNjU0LjIzOTYgMjk4LjMyODgsNjUzLjQ5NzYgQzI5OC42OTg4LDY1Mi43NTU2IDI5OS41OTk4LDY1Mi40NTQ2IDMwMC4zNDA4LDY1Mi44MjM2IEMzMDIuMTEyOCw2NTMuNzA1NiAzMDMuODk3OCw2NTQuNTY5NiAzMDUuNjkzOCw2NTUuNDE0NiBDMzA2LjQ0MzgsNjU1Ljc2NjYgMzA2Ljc2NDgsNjU2LjY2MDYgMzA2LjQxMjgsNjU3LjQxMDYgQzMwNi4xNTY4LDY1Ny45NTM2IDMwNS42MTc4LDY1OC4yNzE2IDMwNS4wNTM4LDY1OC4yNzE2IEwzMDUuMDUzOCw2NTguMjcxNiBaIE01MjUuOTMzOCw2NjIuODg4NiBDNTI1LjM0NzgsNjYyLjg4ODYgNTI0Ljc5MTgsNjYyLjU0MzYgNTI0LjU0OTgsNjYxLjk2OTYgQzUyNC4yMjg4LDY2MS4yMDU2IDUyNC41ODg4LDY2MC4zMjY2IDUyNS4zNTE4LDY2MC4wMDU2IEM1MjcuMTkwOCw2NTkuMjMzNiA1MjkuMDM3OCw2NTguNDMzNiA1MzAuODQxOCw2NTcuNjI3NiBDNTMxLjU5ODgsNjU3LjI4ODYgNTMyLjQ4NTgsNjU3LjYyOTYgNTMyLjgyMjgsNjU4LjM4NTYgQzUzMy4xNjA4LDY1OS4xNDE2IDUzMi44MjE4LDY2MC4wMjk2IDUzMi4wNjQ4LDY2MC4zNjY2IEM1MzAuMjQwOCw2NjEuMTgxNiA1MjguMzcyOCw2NjEuOTkxNiA1MjYuNTEzOCw2NjIuNzcxNiBDNTI2LjMyNDgsNjYyLjg1MTYgNTI2LjEyNzgsNjYyLjg4ODYgNTI1LjkzMzgsNjYyLjg4ODYgTDUyNS45MzM4LDY2Mi44ODg2IFogTTUxNC43MzY4LDY2Ny4yOTk2IEM1MTQuMTI2OCw2NjcuMjk5NiA1MTMuNTUxOCw2NjYuOTI0NiA1MTMuMzI5OCw2NjYuMzE4NiBDNTEzLjA0MjgsNjY1LjU0MDYgNTEzLjQ0MDgsNjY0LjY3ODYgNTE0LjIxNzgsNjY0LjM5MjYgQzUxNi4wNzU4LDY2My43MDc2IDUxNy45NTc4LDY2Mi45OTA2IDUxOS44MTA4LDY2Mi4yNjA2IEM1MjAuNTgxOCw2NjEuOTU2NiA1MjEuNDUyOCw2NjIuMzM1NiA1MjEuNzU2OCw2NjMuMTA2NiBDNTIyLjA1OTgsNjYzLjg3NjYgNTIxLjY4MDgsNjY0Ljc0NzYgNTIwLjkxMDgsNjY1LjA1MTYgQzUxOS4wMzY4LDY2NS43ODk2IDUxNy4xMzM4LDY2Ni41MTU2IDUxNS4yNTU4LDY2Ny4yMDY2IEM1MTUuMDg0OCw2NjcuMjcwNiA1MTQuOTA5OCw2NjcuMjk5NiA1MTQuNzM2OCw2NjcuMjk5NiBMNTE0LjczNjgsNjY3LjI5OTYgWiBNNTAzLjM0ODgsNjcxLjIwOTYgQzUwMi43MTM4LDY3MS4yMDk2IDUwMi4xMjM4LDY3MC44MDM2IDUwMS45MjA4LDY3MC4xNjQ2IEM1MDEuNjY4OCw2NjkuMzc1NiA1MDIuMTAzOCw2NjguNTMyNiA1MDIuODkzOCw2NjguMjgxNiBDNTA0Ljc5ODgsNjY3LjY3MzYgNTA2LjY5MjgsNjY3LjA0NTYgNTA4LjU3OTgsNjY2LjM5OTYgQzUwOS4zNjE4LDY2Ni4xMjg2IDUxMC4yMTY4LDY2Ni41NDc2IDUxMC40ODQ4LDY2Ny4zMzE2IEM1MTAuNzUzOCw2NjguMTE1NiA1MTAuMzM2OCw2NjguOTY4NiA1MDkuNTUxOCw2NjkuMjM3NiBDNTA3LjY0NTgsNjY5Ljg5MTYgNTA1LjcyOTgsNjcwLjUyNTYgNTAzLjgwMzgsNjcxLjEzODYgQzUwMy42NTI4LDY3MS4xODc2IDUwMy40OTk4LDY3MS4yMDk2IDUwMy4zNDg4LDY3MS4yMDk2IEw1MDMuMzQ4OCw2NzEuMjA5NiBaIE0zMzguNDg4OCw2NzEuMzYxNiBDMzM4LjMzOTgsNjcxLjM2MTYgMzM4LjE4NjgsNjcxLjMzODYgMzM4LjAzNTgsNjcxLjI5MDYgQzMzNi4xMjk4LDY3MC42ODc2IDMzNC4yMDE4LDY3MC4wNTM2IDMzMi4zMDQ4LDY2OS40MDY2IEMzMzEuNTIwOCw2NjkuMTM4NiAzMzEuMTAxOCw2NjguMjg1NiAzMzEuMzY5OCw2NjcuNTAxNiBDMzMxLjYzNjgsNjY2LjcxNjYgMzMyLjQ5MjgsNjY2LjI5OTYgMzMzLjI3MzgsNjY2LjU2NjYgQzMzNS4xNDk4LDY2Ny4yMDY2IDMzNy4wNTU4LDY2Ny44MzM2IDMzOC45NDE4LDY2OC40MzE2IEMzMzkuNzMwOCw2NjguNjgxNiAzNDAuMTY4OCw2NjkuNTI0NiAzMzkuOTE4OCw2NzAuMzE0NiBDMzM5LjcxNjgsNjcwLjk1MzYgMzM5LjEyNTgsNjcxLjM2MTYgMzM4LjQ4ODgsNjcxLjM2MTYgTDMzOC40ODg4LDY3MS4zNjE2IFogTTQ5MS44Mzk4LDY3NC41OTc2IEM0OTEuMTc3OCw2NzQuNTk3NiA0OTAuNTcyOCw2NzQuMTU4NiA0OTAuMzkxOCw2NzMuNDg5NiBDNDkwLjE3NTgsNjcyLjY4OTYgNDkwLjY0ODgsNjcxLjg2NjYgNDkxLjQ0ODgsNjcxLjY0OTYgQzQ5My4zNzk4LDY3MS4xMjc2IDQ5NS4zMDk4LDY3MC41ODI2IDQ5Ny4xODk4LDY3MC4wMjk2IEM0OTcuOTg1OCw2NjkuNzk0NiA0OTguODE3OCw2NzAuMjQ4NiA0OTkuMDUxOCw2NzEuMDQzNiBDNDk5LjI4NjgsNjcxLjgzODYgNDk4LjgzMjgsNjcyLjY3MjYgNDk4LjAzNzgsNjcyLjkwNjYgQzQ5Ni4xMzY4LDY3My40NjY2IDQ5NC4xODI4LDY3NC4wMTg2IDQ5Mi4yMzE4LDY3NC41NDU2IEM0OTIuMTAwOCw2NzQuNTgwNiA0OTEuOTY4OCw2NzQuNTk3NiA0OTEuODM5OCw2NzQuNTk3NiBMNDkxLjgzOTgsNjc0LjU5NzYgWiBNMzUwLjAwNDgsNjc0LjcyNjYgQzM0OS44NzU4LDY3NC43MjY2IDM0OS43NDQ4LDY3NC43MDk2IDM0OS42MTQ4LDY3NC42NzU2IEMzNDcuNjg4OCw2NzQuMTU5NiAzNDUuNzM0OCw2NzMuNjExNiAzNDMuODA1OCw2NzMuMDQ2NiBDMzQzLjAxMDgsNjcyLjgxNDYgMzQyLjU1NDgsNjcxLjk4MTYgMzQyLjc4NzgsNjcxLjE4NjYgQzM0My4wMTk4LDY3MC4zOTE2IDM0My44NTM4LDY2OS45Mzc2IDM0NC42NDc4LDY3MC4xNjc2IEMzNDYuNTU0OCw2NzAuNzI1NiAzNDguNDg3OCw2NzEuMjY2NiAzNTAuMzkxOCw2NzEuNzc3NiBDMzUxLjE5MTgsNjcxLjk5MjYgMzUxLjY2NjgsNjcyLjgxNDYgMzUxLjQ1MjgsNjczLjYxNTYgQzM1MS4yNzI4LDY3NC4yODU2IDM1MC42NjY4LDY3NC43MjY2IDM1MC4wMDQ4LDY3NC43MjY2IEwzNTAuMDA0OCw2NzQuNzI2NiBaIE00ODAuMTkxOCw2NzcuNDcwNiBDNDc5LjUwNDgsNjc3LjQ3MDYgNDc4Ljg4NDgsNjc2Ljk5NjYgNDc4LjcyODgsNjc2LjI5NzYgQzQ3OC41NDg4LDY3NS40ODk2IDQ3OS4wNTY4LDY3NC42ODc2IDQ3OS44NjU4LDY3NC41MDY2IEM0ODEuODA5OCw2NzQuMDcyNiA0ODMuNzQ1OCw2NzMuNjE4NiA0ODUuNjc0OCw2NzMuMTQyNiBDNDg2LjQ4MTgsNjcyLjk0MTYgNDg3LjI5MjgsNjczLjQzNTYgNDg3LjQ4OTgsNjc0LjIzOTYgQzQ4Ny42ODc4LDY3NS4wNDM2IDQ4Ny4xOTc4LDY3NS44NTY2IDQ4Ni4zOTI4LDY3Ni4wNTQ2IEM0ODQuNDU5OCw2NzYuNTMyNiA0ODIuNDgzOCw2NzYuOTk2NiA0ODAuNTE5OCw2NzcuNDM0NiBDNDgwLjQwOTgsNjc3LjQ1ODYgNDgwLjI5OTgsNjc3LjQ3MDYgNDgwLjE5MTgsNjc3LjQ3MDYgTDQ4MC4xOTE4LDY3Ny40NzA2IFogTTM2MS42NTc4LDY3Ny41Nzk2IEMzNjEuNTUwOCw2NzcuNTc5NiAzNjEuNDQxOCw2NzcuNTY3NiAzNjEuMzMyOCw2NzcuNTQzNiBDMzU5LjM5MTgsNjc3LjExNDYgMzU3LjQxNTgsNjc2LjY1NDYgMzU1LjQ1NzgsNjc2LjE3NDYgQzM1NC42NTI4LDY3NS45Nzc2IDM1NC4xNTk4LDY3NS4xNjU2IDM1NC4zNTY4LDY3NC4zNjE2IEMzNTQuNTUzOCw2NzMuNTU2NiAzNTUuMzYxOCw2NzMuMDY0NiAzNTYuMTcwOCw2NzMuMjYwNiBDMzU4LjEwNjgsNjczLjczNDYgMzYwLjA2MTgsNjc0LjE5MDYgMzYxLjk4MDgsNjc0LjYxNDYgQzM2Mi43ODk4LDY3NC43OTI2IDM2My4yOTk4LDY3NS41OTM2IDM2My4xMjE4LDY3Ni40MDM2IEMzNjIuOTY2OCw2NzcuMTAyNiAzNjIuMzQ1OCw2NzcuNTc5NiAzNjEuNjU3OCw2NzcuNTc5NiBMMzYxLjY1NzgsNjc3LjU3OTYgWiBNNDY4LjQyNjgsNjc5LjgyMzYgQzQ2Ny43MTM4LDY3OS44MjM2IDQ2Ny4wODE4LDY3OS4zMTI2IDQ2Ni45NTI4LDY3OC41ODQ2IEM0NjYuODA3OCw2NzcuNzY5NiA0NjcuMzUxOCw2NzYuOTkxNiA0NjguMTY3OCw2NzYuODQ2NiBDNDcwLjEyOTgsNjc2LjQ5ODYgNDcyLjA4MzgsNjc2LjEzMDYgNDc0LjAyOTgsNjc1Ljc0MTYgQzQ3NC44Mzc4LDY3NS41ODA2IDQ3NS42MzI4LDY3Ni4xMDU2IDQ3NS43OTQ4LDY3Ni45MTc2IEM0NzUuOTU3OCw2NzcuNzI5NiA0NzUuNDI5OCw2NzguNTIwNiA0NzQuNjE3OCw2NzguNjgyNiBDNDcyLjY0OTgsNjc5LjA3NjYgNDcwLjY3NDgsNjc5LjQ0ODYgNDY4LjY5MDgsNjc5Ljc5OTYgQzQ2OC42MDE4LDY3OS44MTU2IDQ2OC41MTM4LDY3OS44MjM2IDQ2OC40MjY4LDY3OS44MjM2IEw0NjguNDI2OCw2NzkuODIzNiBaIE0zNzMuNDI0OCw2NzkuOTA5NiBDMzczLjMzOTgsNjc5LjkwOTYgMzczLjI1MjgsNjc5LjkwMjYgMzczLjE2NDgsNjc5Ljg4NjYgQzM3MS4xODA4LDY3OS41Mzk2IDM2OS4yMDQ4LDY3OS4xNjk2IDM2Ny4yMzU4LDY3OC43ODA2IEMzNjYuNDIzOCw2NzguNjE5NiAzNjUuODkzOCw2NzcuODMwNiAzNjYuMDU0OCw2NzcuMDE3NiBDMzY2LjIxNjgsNjc2LjIwNDYgMzY3LjAxMjgsNjc1LjY4MDYgMzY3LjgxNzgsNjc1LjgzNjYgQzM2OS43NjQ4LDY3Ni4yMjI2IDM3MS43MTk4LDY3Ni41ODc2IDM3My42ODE4LDY3Ni45MzE2IEMzNzQuNDk4OCw2NzcuMDc1NiAzNzUuMDQzOCw2NzcuODUyNiAzNzQuOTAwOCw2NzguNjY3NiBDMzc0Ljc3MjgsNjc5LjM5NjYgMzc0LjEzOTgsNjc5LjkwOTYgMzczLjQyNDgsNjc5LjkwOTYgTDM3My40MjQ4LDY3OS45MDk2IFogTTQ1Ni41NzA4LDY4MS42NTM2IEM0NTUuODI5OCw2ODEuNjUzNiA0NTUuMTg0OCw2ODEuMTA0NiA0NTUuMDg1OCw2ODAuMzQ5NiBDNDU0Ljk3NjgsNjc5LjUyODYgNDU1LjU1NDgsNjc4Ljc3NDYgNDU2LjM3NjgsNjc4LjY2NTYgQzQ1OC4zNDI4LDY3OC40MDc2IDQ2MC4zMjk4LDY3OC4xMjI2IDQ2Mi4yODI4LDY3Ny44MjE2IEM0NjMuMDk1OCw2NzcuNjk2NiA0NjMuODY3OCw2NzguMjU1NiA0NjMuOTkzOCw2NzkuMDc1NiBDNDY0LjExOTgsNjc5Ljg5MzYgNDYzLjU1ODgsNjgwLjY1OTYgNDYyLjczOTgsNjgwLjc4NjYgQzQ2MC43NjU4LDY4MS4wOTA2IDQ1OC43NTY4LDY4MS4zNzg2IDQ1Ni43Njg4LDY4MS42NDA2IEM0NTYuNzAyOCw2ODEuNjQ5NiA0NTYuNjM1OCw2ODEuNjUzNiA0NTYuNTcwOCw2ODEuNjUzNiBMNDU2LjU3MDgsNjgxLjY1MzYgWiBNMzg1LjI4NTgsNjgxLjcxNzYgQzM4NS4yMjA4LDY4MS43MTc2IDM4NS4xNTU4LDY4MS43MTM2IDM4NS4wOTA4LDY4MS43MDU2IEMzODMuMDkxOCw2ODEuNDQ1NiAzODEuMTAxOCw2ODEuMTY0NiAzNzkuMTE3OCw2ODAuODYxNiBDMzc4LjI5OTgsNjgwLjczNzYgMzc3LjczNjgsNjc5Ljk3MTYgMzc3Ljg2MTgsNjc5LjE1MjYgQzM3Ny45ODU4LDY3OC4zMzI2IDM3OC43NTA4LDY3Ny43Njg2IDM3OS41NzA4LDY3Ny44OTY2IEMzODEuNTMxOCw2NzguMTk1NiAzODMuNTAwOCw2NzguNDcyNiAzODUuNDc2OCw2NzguNzMwNiBDMzg2LjI5OTgsNjc4LjgzNjYgMzg2Ljg3ODgsNjc5LjU4OTYgMzg2Ljc3MDgsNjgwLjQxMTYgQzM4Ni42NzI4LDY4MS4xNjY2IDM4Ni4wMjc4LDY4MS43MTc2IDM4NS4yODU4LDY4MS43MTc2IEwzODUuMjg1OCw2ODEuNzE3NiBaIE00NDQuNjQ1OCw2ODIuOTU4NiBDNDQzLjg3NjgsNjgyLjk1ODYgNDQzLjIyMDgsNjgyLjM3MDYgNDQzLjE1MzgsNjgxLjU4ODYgQzQ0My4wODE4LDY4MC43NjM2IDQ0My42OTI4LDY4MC4wMzY2IDQ0NC41MTc4LDY3OS45NjQ2IEM0NDYuNTAzOCw2NzkuNzkxNiA0NDguNDgxOCw2NzkuNTk2NiA0NTAuNDU0OCw2NzkuMzgwNiBDNDUxLjI3NTgsNjc5LjI4NjYgNDUyLjAxNzgsNjc5Ljg4NDYgNDUyLjEwODgsNjgwLjcwODYgQzQ1Mi4xOTg4LDY4MS41MzI2IDQ1MS42MDM4LDY4Mi4yNzM2IDQ1MC43ODA4LDY4Mi4zNjM2IEM0NDguNzg2OCw2ODIuNTgwNiA0NDYuNzg0OCw2ODIuNzc4NiA0NDQuNzc3OCw2ODIuOTUzNiBDNDQ0LjczMzgsNjgyLjk1NjYgNDQ0LjY4OTgsNjgyLjk1ODYgNDQ0LjY0NTgsNjgyLjk1ODYgTDQ0NC42NDU4LDY4Mi45NTg2IFogTTM5Ny4yMTM4LDY4My4wMDA2IEMzOTcuMTcwOCw2ODMuMDAwNiAzOTcuMTI3OCw2ODIuOTk4NiAzOTcuMDg0OCw2ODIuOTk1NiBDMzk1LjEwMDgsNjgyLjgyNzYgMzkzLjA4MDgsNjgyLjYzMTYgMzkxLjA3ODgsNjgyLjQxNTYgQzM5MC4yNTU4LDY4Mi4zMjc2IDM4OS42NTk4LDY4MS41ODc2IDM4OS43NDg4LDY4MC43NjM2IEMzODkuODM3OCw2NzkuOTQwNiAzOTAuNTcwOCw2NzkuMzM5NiAzOTEuNDAwOCw2NzkuNDMzNiBDMzkzLjM4MDgsNjc5LjY0NjYgMzk1LjM3NzgsNjc5LjgzOTYgMzk3LjMzODgsNjgwLjAwNjYgQzM5OC4xNjM4LDY4MC4wNzY2IDM5OC43NzU4LDY4MC44MDI2IDM5OC43MDU4LDY4MS42Mjc2IEMzOTguNjM4OCw2ODIuNDEwNiAzOTcuOTgzOCw2ODMuMDAwNiAzOTcuMjEzOCw2ODMuMDAwNiBMMzk3LjIxMzgsNjgzLjAwMDYgWiBNNDMyLjY3NDgsNjgzLjc0MDYgQzQzMS44NzY4LDY4My43NDA2IDQzMS4yMTI4LDY4My4xMTA2IDQzMS4xNzY4LDY4Mi4zMDU2IEM0MzEuMTQxOCw2ODEuNDc3NiA0MzEuNzgzOCw2ODAuNzc3NiA0MzIuNjEwOCw2ODAuNzQxNiBDNDM0LjYwMTgsNjgwLjY1NTYgNDM2LjU4ODgsNjgwLjU0NzYgNDM4LjU2ODgsNjgwLjQxNzYgQzQzOS4zNzg4LDY4MC4zNzI2IDQ0MC4xMDg4LDY4MC45OTA2IDQ0MC4xNjM4LDY4MS44MTc2IEM0NDAuMjE2OCw2ODIuNjQ0NiA0MzkuNTkwOCw2ODMuMzU4NiA0MzguNzYzOCw2ODMuNDEyNiBDNDM2Ljc2MTgsNjgzLjU0MTYgNDM0Ljc1NDgsNjgzLjY1MTYgNDMyLjc0MTgsNjgzLjczOTYgQzQzMi43MTg4LDY4My43NDA2IDQzMi42OTY4LDY4My43NDA2IDQzMi42NzQ4LDY4My43NDA2IEw0MzIuNjc0OCw2ODMuNzQwNiBaIE00MDkuMTg0OCw2ODMuNzYxNiBDNDA5LjE2MzgsNjgzLjc2MTYgNDA5LjE0MjgsNjgzLjc2MTYgNDA5LjEyMTgsNjgzLjc2MDYgQzQwNy4xMDc4LDY4My42NzU2IDQwNS4wOTk4LDY4My41NzE2IDQwMy4wOTc4LDY4My40NDQ2IEM0MDIuMjcwOCw2ODMuMzkxNiA0MDEuNjQzOCw2ODIuNjc5NiA0MDEuNjk1OCw2ODEuODUyNiBDNDAxLjc0ODgsNjgxLjAyNDYgNDAyLjQ3MTgsNjgwLjM5MzYgNDAzLjI4NzgsNjgwLjQ1MDYgQzQwNS4yNjc4LDY4MC41NzU2IDQwNy4yNTQ4LDY4MC42Nzk2IDQwOS4yNDY4LDY4MC43NjI2IEM0MTAuMDc0OCw2ODAuNzk3NiA0MTAuNzE2OCw2ODEuNDk3NiA0MTAuNjgyOCw2ODIuMzI0NiBDNDEwLjY0ODgsNjgzLjEzMDYgNDA5Ljk4NDgsNjgzLjc2MTYgNDA5LjE4NDgsNjgzLjc2MTYgTDQwOS4xODQ4LDY4My43NjE2IFogTTQyMC42ODI4LDY4My45OTk2IEM0MTguODI5OCw2ODMuOTk5NiA0MTYuOTgwOCw2ODMuOTgxNiA0MTUuMTM2OCw2ODMuOTQ1NiBDNDE0LjMwODgsNjgzLjkyODYgNDEzLjY1MDgsNjgzLjI0NDYgNDEzLjY2NjgsNjgyLjQxNTYgQzQxMy42ODI4LDY4MS41OTc2IDQxNC4zNTA4LDY4MC45NDU2IDQxNS4xNjU4LDY4MC45NDU2IEw0MTUuMTk1OCw2ODAuOTQ1NiBDNDE5LjAwMzgsNjgxLjAyMDYgNDIyLjg0MDgsNjgxLjAxOTYgNDI2LjY0NzgsNjgwLjkzNDYgQzQyNy41MTk4LDY4MC45MzQ2IDQyOC4xNjI4LDY4MS41NzQ2IDQyOC4xODA4LDY4Mi40MDE2IEM0MjguMTk4OCw2ODMuMjI5NiA0MjcuNTQyOCw2ODMuOTE1NiA0MjYuNzE0OCw2ODMuOTM0NiBDNDI0LjcwOTgsNjgzLjk3ODYgNDIyLjY5ODgsNjgzLjk5OTYgNDIwLjY4MjgsNjgzLjk5OTYgTDQyMC42ODI4LDY4My45OTk2IFoiIGlkPSJGaWxsLTMiIGZpbGw9IiNBM0IxQkYiIG9wYWNpdHk9IjAuMzk1NjcwNTczIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQxNS45MDE5LDMuMDI3MyBDNDE1LjA4MTksMy4wMjczIDQxNC40MTE5LDIuMzY3MyA0MTQuNDAxOSwxLjU0NTMgQzQxNC4zOTE5LDAuNzE2MyA0MTUuMDU1OSwwLjAzNzMgNDE1Ljg4MzksMC4wMjczIEM0MTcuNDgxOSwwLjAwODMgNDE5LjA4MTksMC4wMDAzIDQyMC42ODI5LDAuMDAwMyBMNDIxLjkwNDksMC4wMDIzIEM0MjIuNzMyOSwwLjAwNDMgNDIzLjQwMjksMC42NzYzIDQyMy40MDA5MDQsMS41MDYzIEM0MjMuMzk4OSwyLjMzMzMgNDIyLjcyNzksMy4wMDIzIDQyMS45MDA5LDMuMDAyMyBMNDIxLjg5NjksMy4wMDIzIEw0MjAuNjgyOSwzLjAwMDMgQzQxOS4wOTI5LDMuMDAwMyA0MTcuNTA1OSwzLjAwODMgNDE1LjkxOTksMy4wMjczIEw0MTUuOTAxOSwzLjAyNzMgWiBNNDMzLjg4NDksMy4yMDkzIEM0MzMuODY4OSwzLjIwOTMgNDMzLjg1MjksMy4yMDkzIDQzMy44MzY5LDMuMjA4MyBDNDMxLjg1MTksMy4xNDQzIDQyOS44NjM5LDMuMDk2MyA0MjcuODcyOSwzLjA2MjMgQzQyNy4wNDQ5LDMuMDQ4MyA0MjYuMzgzOSwyLjM2NTMgNDI2LjM5NzksMS41MzczIEM0MjYuNDEyOSwwLjcxNzMgNDI3LjA4MTksMC4wNjIzIDQyNy44OTc5LDAuMDYyMyBMNDI3LjkyMjksMC4wNjIzIEM0MjkuOTI5OSwwLjA5NjMgNDMxLjkzMTksMC4xNDYzIDQzMy45MzE5LDAuMjEwMyBDNDM0Ljc1OTksMC4yMzYzIDQzNS40MDk5LDAuOTI4MyA0MzUuMzgyOSwxLjc1NjMgQzQzNS4zNTc5LDIuNTY4MyA0MzQuNjkwOSwzLjIwOTMgNDMzLjg4NDksMy4yMDkzIEw0MzMuODg0OSwzLjIwOTMgWiBNNDAzLjkwNTksMy4zMzczIEM0MDMuMTA0OSwzLjMzNzMgNDAyLjQzOTksMi43MDQzIDQwMi40MDc5LDEuODk3MyBDNDAyLjM3NDksMS4wNjkzIDQwMy4wMTg5LDAuMzcxMyA0MDMuODQ1OSwwLjMzODMgQzQwNS44NDg5LDAuMjU3MyA0MDcuODU0OSwwLjE5MTMgNDA5Ljg2MzksMC4xMzkzIEM0MDkuODc3OSwwLjEzODMgNDA5Ljg4OTksMC4xMzgzIDQwOS45MDM5LDAuMTM4MyBDNDEwLjcxNDksMC4xMzgzIDQxMS4zODA5LDAuNzg1MyA0MTEuNDAxOSwxLjU5OTMgQzQxMS40MjI5LDIuNDI3MyA0MTAuNzY5OSwzLjExNzMgNDA5Ljk0MTksMy4xMzgzIEM0MDcuOTQ2OSwzLjE4OTMgNDA1Ljk1NDksMy4yNTYzIDQwMy45NjY5LDMuMzM2MyBDNDAzLjk0NjksMy4zMzczIDQwMy45MjU5LDMuMzM3MyA0MDMuOTA1OSwzLjMzNzMgTDQwMy45MDU5LDMuMzM3MyBaIE00NDUuODcxOSwzLjc2MjMgQzQ0NS44Mzk5LDMuNzYyMyA0NDUuODA5OSwzLjc2MTMgNDQ1Ljc3ODksMy43NTkzIEM0NDMuNzkyOSwzLjYzOTMgNDQxLjgwMTksMy41MzMzIDQzOS44MDg5LDMuNDQwMyBDNDM4Ljk4MDksMy40MDIzIDQzOC4zNDA5LDIuNzAwMyA0MzguMzgwOSwxLjg3MzMgQzQzOC40MTk5LDEuMDQ1MyA0MzkuMTE4OSwwLjQxNjMgNDM5Ljk0NzksMC40NDQzIEM0NDEuOTU2OSwwLjUzNzMgNDQzLjk2MDksMC42NDMzIDQ0NS45NjA5LDAuNzY1MyBDNDQ2Ljc4NzksMC44MTUzIDQ0Ny40MTc5LDEuNTI2MyA0NDcuMzY2OSwyLjM1MzMgQzQ0Ny4zMTg5LDMuMTQ5MyA0NDYuNjU3OSwzLjc2MjMgNDQ1Ljg3MTksMy43NjIzIEw0NDUuODcxOSwzLjc2MjMgWiBNMzkxLjkyNTksMy45OTUzIEMzOTEuMTQ1OSwzLjk5NTMgMzkwLjQ4NjksMy4zOTAzIDM5MC40MzE5LDIuNTk5MyBDMzkwLjM3NDksMS43NzIzIDM5MC45OTc5LDEuMDU2MyAzOTEuODIzOSwwLjk5OTMgQzM5My44MjI5LDAuODU5MyAzOTUuODI1OSwwLjczNTMgMzk3LjgzMzksMC42MjUzIEMzOTguNjU4OSwwLjYxMTMgMzk5LjM2NzksMS4yMTMzIDM5OS40MTM5LDIuMDQxMyBDMzk5LjQ1ODksMi44NjgzIDM5OC44MjQ5LDMuNTc1MyAzOTcuOTk3OSwzLjYyMTMgQzM5Ni4wMDQ5LDMuNzI5MyAzOTQuMDE1OSwzLjg1MzMgMzkyLjAzMjksMy45OTEzIEMzOTEuOTk2OSwzLjk5NDMgMzkxLjk2MTksMy45OTUzIDM5MS45MjU5LDMuOTk1MyBMMzkxLjkyNTksMy45OTUzIFogTTQ1Ny44MzY5LDQuNjY0MyBDNDU3Ljc5MTksNC42NjQzIDQ1Ny43NDU5LDQuNjYyMyA0NTcuNzAwOSw0LjY1ODMgQzQ1NS43MTc5LDQuNDgwMyA0NTMuNzMxOSw0LjMxNTMgNDUxLjc0MjksNC4xNjYzIEM0NTAuOTE2OSw0LjEwMzMgNDUwLjI5NzksMy4zODMzIDQ1MC4zNTg5LDIuNTU3MyBDNDUwLjQyMTksMS43MzIzIDQ1MS4xNDU5LDEuMTE2MyA0NTEuOTY2OSwxLjE3MzMgQzQ1My45NzE5LDEuMzI1MyA0NTUuOTcxOSwxLjQ5MTMgNDU3Ljk2NzksMS42NzAzIEM0NTguNzkzOSwxLjc0NDMgNDU5LjQwMjksMi40NzMzIDQ1OS4zMjg5LDMuMjk4MyBDNDU5LjI1NzksNC4wNzczIDQ1OC42MDM5LDQuNjY0MyA0NTcuODM2OSw0LjY2NDMgTDQ1Ny44MzY5LDQuNjY0MyBaIE0zNzkuOTY5OSw1LjAwMTMgQzM3OS4yMDg5LDUuMDAxMyAzNzguNTU1OSw0LjQyMzMgMzc4LjQ3ODksMy42NDgzIEMzNzguMzk3OSwyLjgyNDMgMzc5LjAwMDksMi4wOTAzIDM3OS44MjQ5LDIuMDA3MyBDMzgxLjgxODksMS44MTEzIDM4My44MTc5LDEuNjI4MyAzODUuODE5OSwxLjQ1OTMgQzM4Ni42NTM5LDEuNDAyMyAzODcuMzcwOSwyLjAwNDMgMzg3LjQ0MDksMi44MjgzIEMzODcuNTA5OSwzLjY1MzMgMzg2Ljg5NjksNC4zNzkzIDM4Ni4wNzE5LDQuNDQ5MyBDMzg0LjA4MzksNC42MTYzIDM4Mi4wOTk5LDQuNzk4MyAzODAuMTE5OSw0Ljk5NDMgQzM4MC4wNjk5LDQuOTk5MyAzODAuMDE5OSw1LjAwMTMgMzc5Ljk2OTksNS4wMDEzIEwzNzkuOTY5OSw1LjAwMTMgWiBNNDY5Ljc2ODksNS45MTQzIEM0NjkuNzA5OSw1LjkxNDMgNDY5LjY0ODksNS45MTEzIDQ2OS41ODg5LDUuOTAzMyBDNDY3LjYxMzksNS42NjczIDQ2NS42MzI5LDUuNDQ1MyA0NjMuNjQ5OSw1LjIzNzMgQzQ2Mi44MjU5LDUuMTUwMyA0NjIuMjI3OSw0LjQxMjMgNDYyLjMxMzksMy41ODkzIEM0NjIuNDAwOSwyLjc2MzMgNDYzLjE1MDksMi4xNzkzIDQ2My45NjI5LDIuMjUzMyBDNDY1Ljk2MTksMi40NjMzIDQ2Ny45NTU5LDIuNjg2MyA0NjkuOTQ1OSwyLjkyNDMgQzQ3MC43Njc5LDMuMDIzMyA0NzEuMzU0OSwzLjc2OTMgNDcxLjI1NTksNC41OTIzIEM0NzEuMTY1OSw1LjM1NDMgNDcwLjUxNzksNS45MTQzIDQ2OS43Njg5LDUuOTE0MyBMNDY5Ljc2ODksNS45MTQzIFogTTM2OC4wNDc5LDYuMzU0MyBDMzY3LjMwNDksNi4zNTQzIDM2Ni42NTk5LDUuODAyMyAzNjYuNTYyOSw1LjA0NjMgQzM2Ni40NTY5LDQuMjI0MyAzNjcuMDM3OSwzLjQ3MjMgMzY3Ljg1ODksMy4zNjczIEMzNjkuODQ3OSwzLjExMTMgMzcxLjgzOTksMi44NzAzIDM3My44Mzc5LDIuNjQzMyBDMzc0LjY2NjksMi41NDUzIDM3NS40MDM5LDMuMTQxMyAzNzUuNDk2OSwzLjk2NDMgQzM3NS41ODk5LDQuNzg4MyAzNzQuOTk4OSw1LjUzMTMgMzc0LjE3NDksNS42MjQzIEMzNzIuMTkzOSw1Ljg0ODMgMzcwLjIxNDksNi4wODgzIDM2OC4yNDE5LDYuMzQxMyBDMzY4LjE3NTksNi4zNTAzIDM2OC4xMTE5LDYuMzU0MyAzNjguMDQ3OSw2LjM1NDMgTDM2OC4wNDc5LDYuMzU0MyBaIE00ODEuNjU5OSw3LjUxNDMgQzQ4MS41ODU5LDcuNTE0MyA0ODEuNTEwOSw3LjUwOTMgNDgxLjQzNTksNy40OTgzIEM0NzkuNDY2OSw3LjIwNDMgNDc3LjQ5NTksNi45MjMzIDQ3NS41MTc5LDYuNjU3MyBDNDc0LjY5NjksNi41NDczIDQ3NC4xMjA5LDUuNzkxMyA0NzQuMjMxOSw0Ljk3MDMgQzQ3NC4zNDI5LDQuMTQ5MyA0NzUuMTE3OSwzLjU3MTMgNDc1LjkxODksMy42ODQzIEM0NzcuOTA5OSwzLjk1MzMgNDc5Ljg5NjksNC4yMzUzIDQ4MS44Nzk5LDQuNTMxMyBDNDgyLjY5ODksNC42NTMzIDQ4My4yNjI5LDUuNDE3MyA0ODMuMTQwOSw2LjIzNjMgQzQ4My4wMjk5LDYuOTgwMyA0ODIuMzg5OSw3LjUxNDMgNDgxLjY1OTksNy41MTQzIEw0ODEuNjU5OSw3LjUxNDMgWiBNMzU2LjE3MjksOC4wNTgzIEMzNTUuNDQ4OSw4LjA1ODMgMzU0LjgxMDksNy41MzIzIDM1NC42OTM5LDYuNzkzMyBDMzU0LjU2MzksNS45NzUzIDM1NS4xMjI5LDUuMjA3MyAzNTUuOTQwOSw1LjA3NzMgQzM1Ny45MjA5LDQuNzYzMyAzNTkuOTA1OSw0LjQ2NDMgMzYxLjg5MzksNC4xNzgzIEMzNjIuNzA0OSw0LjA1MzMgMzYzLjQ3NDksNC42MjkzIDM2My41OTA5LDUuNDUwMyBDMzYzLjcwOTksNi4yNzAzIDM2My4xMzk5LDcuMDMwMyAzNjIuMzE5OSw3LjE0NzMgQzM2MC4zNDU5LDcuNDMwMyAzNTguMzc1OSw3LjcyODMgMzU2LjQwOTksOC4wNDAzIEMzNTYuMzMwOSw4LjA1MjMgMzU2LjI1MTksOC4wNTgzIDM1Ni4xNzI5LDguMDU4MyBMMzU2LjE3MjksOC4wNTgzIFogTTQ5My40OTc5LDkuNDYzMyBDNDkzLjQwOTksOS40NjMzIDQ5My4zMTk5LDkuNDU1MyA0OTMuMjI5OSw5LjQzOTMgQzQ5MS4yNzE5LDkuMDg3MyA0ODkuMzA3OSw4Ljc0OTMgNDg3LjMzOTksOC40MjUzIEM0ODYuNTIxOSw4LjI5MTMgNDg1Ljk2ODksNy41MTkzIDQ4Ni4xMDI5LDYuNzAyMyBDNDg2LjIzNjksNS44ODMzIDQ4Ny4wMDU5LDUuMzI3MyA0ODcuODI3OSw1LjQ2NTMgQzQ4OS44MDk5LDUuNzkyMyA0OTEuNzg3OSw2LjEzMTMgNDkzLjc2MDksNi40ODYzIEM0OTQuNTc2OSw2LjYzMjMgNDk1LjExODksNy40MTMzIDQ5NC45NzE5LDguMjI4MyBDNDk0Ljg0MDksOC45NTQzIDQ5NC4yMDk5LDkuNDYzMyA0OTMuNDk3OSw5LjQ2MzMgTDQ5My40OTc5LDkuNDYzMyBaIE0zNDQuMzUxOSwxMC4xMDkzIEMzNDMuNjQ0OSwxMC4xMDkzIDM0My4wMTU5LDkuNjA3MyAzNDIuODgwOSw4Ljg4NzMgQzM0Mi43MjU5LDguMDczMyAzNDMuMjYxOSw3LjI4OTMgMzQ0LjA3NTksNy4xMzUzIEMzNDYuMDQ2OSw2Ljc2MzMgMzQ4LjAyMDksNi40MDYzIDM1MC4wMDA5LDYuMDYyMyBDMzUwLjgyNTksNS45MTYzIDM1MS41OTM5LDYuNDY3MyAzNTEuNzM0OSw3LjI4MzMgQzM1MS44Nzc5LDguMDk5MyAzNTEuMzMwOSw4Ljg3NjMgMzUwLjUxMzksOS4wMTczIEMzNDguNTQ3OSw5LjM1OTMgMzQ2LjU4NzksOS43MTQzIDM0NC42MzE5LDEwLjA4MzMgQzM0NC41Mzc5LDEwLjEwMTMgMzQ0LjQ0NDksMTAuMTA5MyAzNDQuMzUxOSwxMC4xMDkzIEwzNDQuMzUxOSwxMC4xMDkzIFogTTUwNS4yNzM5LDExLjc1NzMgQzUwNS4xNzE5LDExLjc1NzMgNTA1LjA2NzksMTEuNzQ4MyA1MDQuOTYzOSwxMS43MjUzIEM1MDMuMDE0OSwxMS4zMTYzIDUwMS4wNjI5LDEwLjkyMDMgNDk5LjEwNDksMTAuNTM5MyBDNDk4LjI5MjksMTAuMzgwMyA0OTcuNzYwOSw5LjU5MjMgNDk3LjkxOTksOC43NzkzIEM0OTguMDc4OSw3Ljk2NjMgNDk4Ljg3MTksNy40NDEzIDQ5OS42Nzg5LDcuNTkzMyBDNTAxLjY1MDksNy45NzgzIDUwMy42MTg5LDguMzc3MyA1MDUuNTgwOSw4Ljc5MDMgQzUwNi4zOTA5LDguOTYwMyA1MDYuOTEwOSw5Ljc1NjMgNTA2LjczOTksMTAuNTY2MyBDNTA2LjU5MDksMTEuMjczMyA1MDUuOTY3OSwxMS43NTczIDUwNS4yNzM5LDExLjc1NzMgTDUwNS4yNzM5LDExLjc1NzMgWiBNMzMyLjU5NTksMTIuNTA5MyBDMzMxLjkwNjksMTIuNTA5MyAzMzEuMjg1OSwxMi4wMzIzIDMzMS4xMzE5LDExLjMzMjMgQzMzMC45NTQ5LDEwLjUyMjMgMzMxLjQ2NTksOS43MjIzIDMzMi4yNzQ5LDkuNTQ1MyBDMzM0LjIzMzksOS4xMTQzIDMzNi4xOTY5LDguNjk5MyAzMzguMTY2OSw4LjI5NzMgQzMzOC45NzE5LDguMTMxMyAzMzkuNzcwOSw4LjY1NDMgMzM5LjkzNTksOS40NjYzIEMzNDAuMTAxOSwxMC4yNzgzIDMzOS41Nzc5LDExLjA3MDMgMzM4Ljc2NTksMTEuMjM2MyBDMzM2LjgxMTksMTEuNjM0MyAzMzQuODYyOSwxMi4wNDgzIDMzMi45MTk5LDEyLjQ3NDMgQzMzMi44MTA5LDEyLjQ5OTMgMzMyLjcwMjksMTIuNTA5MyAzMzIuNTk1OSwxMi41MDkzIEwzMzIuNTk1OSwxMi41MDkzIFogTTUxNi45NzU5LDE0LjQwMDMgQzUxNi44NTk5LDE0LjQwMDMgNTE2Ljc0MTksMTQuMzg2MyA1MTYuNjIzOSwxNC4zNTgzIEM1MTQuNjg3OSwxMy44OTEzIDUxMi43NDg5LDEzLjQzODMgNTEwLjgwMTksMTIuOTk5MyBDNTA5Ljk5NDksMTIuODE3MyA1MDkuNDg2OSwxMi4wMTQzIDUwOS42Njk5LDExLjIwNjMgQzUwOS44NTE5LDEwLjM5NzMgNTEwLjY1NDksOS44ODkzIDUxMS40NjI5LDEwLjA3MzMgQzUxMy40MjI5LDEwLjUxNDMgNTE1LjM3NzksMTAuOTcxMyA1MTcuMzI2OSwxMS40NDIzIEM1MTguMTMxOSwxMS42MzYzIDUxOC42Mjc5LDEyLjQ0NzMgNTE4LjQzMjksMTMuMjUyMyBDNTE4LjI2NjksMTMuOTM5MyA1MTcuNjUyOSwxNC40MDAzIDUxNi45NzU5LDE0LjQwMDMgTDUxNi45NzU5LDE0LjQwMDMgWiBNMzIwLjkxODksMTUuMjU1MyBDMzIwLjI0NjksMTUuMjU1MyAzMTkuNjM0OSwxNC44MDAzIDMxOS40NjM5LDE0LjEyMDMgQzMxOS4yNjI5LDEzLjMxNjMgMzE5Ljc1MDksMTIuNTAyMyAzMjAuNTUzOSwxMi4yOTkzIEMzMjIuNDk5OSwxMS44MTEzIDMyNC40NDk5LDExLjMzOTMgMzI2LjQwNTksMTAuODc5MyBDMzI3LjIxMjksMTAuNjg2MyAzMjguMDE4OSwxMS4xOTAzIDMyOC4yMDg5LDExLjk5NTMgQzMyOC4zOTc5LDEyLjgwMTMgMzI3Ljg5NzksMTMuNjA5MyAzMjcuMDkxOSwxMy43OTgzIEMzMjUuMTUwOSwxNC4yNTUzIDMyMy4yMTM5LDE0LjcyNTMgMzIxLjI4NDksMTUuMjEwMyBDMzIxLjE2MTksMTUuMjQwMyAzMjEuMDM5OSwxNS4yNTUzIDMyMC45MTg5LDE1LjI1NTMgTDMyMC45MTg5LDE1LjI1NTMgWiBNNTI4LjU5NjksMTcuMzg2MyBDNTI4LjQ2NTksMTcuMzg2MyA1MjguMzMzOSwxNy4zNzAzIDUyOC4yMDE5LDE3LjMzNDMgQzUyNi4yODA5LDE2LjgxMDMgNTI0LjM1MzksMTYuMzAwMyA1MjIuNDIyOSwxNS44MDIzIEM1MjEuNjIwOSwxNS41OTYzIDUyMS4xMzc5LDE0Ljc3ODMgNTIxLjM0MzksMTMuOTc2MyBDNTIxLjU1MDksMTMuMTc0MyA1MjIuMzc0OSwxMi42ODczIDUyMy4xNzE5LDEyLjg5ODMgQzUyNS4xMTU5LDEzLjM5ODMgNTI3LjA1NTksMTMuOTEyMyA1MjguOTkwOSwxNC40MzkzIEM1MjkuNzg5OSwxNC42NTczIDUzMC4yNjA5LDE1LjQ4MTMgNTMwLjA0MzksMTYuMjgxMyBDNTI5Ljg2MTksMTYuOTQ4MyA1MjkuMjU2OSwxNy4zODYzIDUyOC41OTY5LDE3LjM4NjMgTDUyOC41OTY5LDE3LjM4NjMgWiBNMzA5LjMyMzksMTguMzQxMyBDMzA4LjY2OTksMTguMzQxMyAzMDguMDY2OSwxNy45MTAzIDMwNy44ODA5LDE3LjI0OTMgQzMwNy42NTU5LDE2LjQ1MTMgMzA4LjEyMDksMTUuNjIzMyAzMDguOTE3OSwxNS4zOTgzIEMzMTAuODQ2OSwxNC44NTQzIDMxMi43ODI5LDE0LjMyMzMgMzE0LjcyMzksMTMuODA1MyBDMzE1LjUyNzksMTMuNTg3MyAzMTYuMzQ1OSwxNC4wNjczIDMxNi41NTk5LDE0Ljg2ODMgQzMxNi43NzM5LDE1LjY2OTMgMzE2LjI5NzksMTYuNDkxMyAzMTUuNDk3OSwxNi43MDQzIEMzMTMuNTY5OSwxNy4yMTczIDMxMS42NDc5LDE3Ljc0NTMgMzA5LjczMTksMTguMjg1MyBDMzA5LjU5NDksMTguMzI0MyAzMDkuNDU4OSwxOC4zNDEzIDMwOS4zMjM5LDE4LjM0MTMgTDMwOS4zMjM5LDE4LjM0MTMgWiBNNTQwLjEyMzksMjAuNzE0MyBDNTM5Ljk3NzksMjAuNzE0MyA1MzkuODMwOSwyMC42OTQzIDUzOS42ODQ5LDIwLjY0OTMgQzUzNy43ODA5LDIwLjA2ODMgNTM1Ljg3MTksMTkuNTAyMyA1MzMuOTU1OSwxOC45NDkzIEM1MzMuMTU5OSwxOC43MTkzIDUzMi43MDA5LDE3Ljg4NzMgNTMyLjkyOTksMTcuMDkxMyBDNTMzLjE1ODksMTYuMjk1MyA1MzMuOTkwOSwxNS44MzYzIDUzNC43ODc5LDE2LjA2NjMgQzUzNi43MTY5LDE2LjYyMzMgNTM4LjY0MTksMTcuMTk1MyA1NDAuNTU5OSwxNy43ODAzIEM1NDEuMzUyOSwxOC4wMjEzIDU0MS43OTg5LDE4Ljg2MDMgNTQxLjU1NjksMTkuNjUyMyBDNTQxLjM1OTksMjAuMjk4MyA1NDAuNzY1OSwyMC43MTQzIDU0MC4xMjM5LDIwLjcxNDMgTDU0MC4xMjM5LDIwLjcxNDMgWiBNMjk3LjgyNjksMjEuNzczMyBDMjk3LjE4ODksMjEuNzczMyAyOTYuNTk2OSwyMS4zNjQzIDI5Ni4zOTU5LDIwLjcyMzMgQzI5Ni4xNDY5LDE5LjkzMzMgMjk2LjU4NjksMTkuMDkwMyAyOTcuMzc2OSwxOC44NDIzIEMyOTkuMjg5OSwxOC4yNDEzIDMwMS4yMDk5LDE3LjY1MjMgMzAzLjEzMzksMTcuMDc4MyBDMzAzLjkyMzksMTYuODM5MyAzMDQuNzYyOSwxNy4yOTIzIDMwNS4wMDA5LDE4LjA4NzMgQzMwNS4yMzY5LDE4Ljg4MTMgMzA0Ljc4NTksMTkuNzE1MyAzMDMuOTkxOSwxOS45NTMzIEMzMDIuMDgwOSwyMC41MjMzIDMwMC4xNzU5LDIxLjEwNjMgMjk4LjI3NjksMjEuNzA0MyBDMjk4LjEyNzksMjEuNzUxMyAyOTcuOTc0OSwyMS43NzMzIDI5Ny44MjY5LDIxLjc3MzMgTDI5Ny44MjY5LDIxLjc3MzMgWiBNNTUxLjU0NjksMjQuMzgzMyBDNTUxLjM4NjksMjQuMzgzMyA1NTEuMjI1OSwyNC4zNTgzIDU1MS4wNjY5LDI0LjMwNDMgQzU0OS4xNzk5LDIzLjY2OTMgNTQ3LjI4NzksMjMuMDQ2MyA1NDUuMzg3OSwyMi40MzQzIEM1NDQuNTk5OSwyMi4xODAzIDU0NC4xNjY5LDIxLjMzNjMgNTQ0LjQyMDksMjAuNTQ3MyBDNTQ0LjY3MjksMTkuNzU4MyA1NDUuNTE1OSwxOS4zMjkzIDU0Ni4zMDc5LDE5LjU3OTMgQzU0OC4yMTg5LDIwLjE5NDMgNTUwLjEyNTksMjAuODIxMyA1NTIuMDI1OSwyMS40NjMzIEM1NTIuODEwOSwyMS43MjczIDU1My4yMzI5LDIyLjU3ODMgNTUyLjk2NjksMjMuMzYzMyBDNTUyLjc1NTksMjMuOTg5MyA1NTIuMTcyOSwyNC4zODMzIDU1MS41NDY5LDI0LjM4MzMgTDU1MS41NDY5LDI0LjM4MzMgWiBNMjg2LjM4OTksMjUuNTU4MyBDMjg1Ljc2ODksMjUuNTU4MyAyODUuMTg4OSwyNS4xNzEzIDI4NC45NzI5LDI0LjU1MTMgQzI4NC43MDE5LDIzLjc2ODMgMjg1LjExNDksMjIuOTE0MyAyODUuODk2OSwyMi42NDEzIEMyODcuNzk5OSwyMS45ODAzIDI4OS43MDg5LDIxLjMzMzMgMjkxLjYyMzksMjAuNzAwMyBDMjkyLjQwOTksMjAuNDQwMyAyOTMuMjU3OSwyMC44NjUzIDI5My41MTc5LDIxLjY1MzMgQzI5My43Nzg5LDIyLjQzOTMgMjkzLjM1MTksMjMuMjg4MyAyOTIuNTY0OSwyMy41NDgzIEMyOTAuNjY1OSwyNC4xNzYzIDI4OC43NzA5LDI0LjgxODMgMjg2Ljg4MjksMjUuNDc1MyBDMjg2LjcxOTksMjUuNTMyMyAyODYuNTUyOSwyNS41NTgzIDI4Ni4zODk5LDI1LjU1ODMgTDI4Ni4zODk5LDI1LjU1ODMgWiBNNTYyLjg1NjksMjguMzg3MyBDNTYyLjY4MzksMjguMzg3MyA1NjIuNTA2OSwyOC4zNTgzIDU2Mi4zMzU5LDI4LjI5NDMgQzU2MC40Njc5LDI3LjYwMjMgNTU4LjU5NDksMjYuOTIzMyA1NTYuNzE0OSwyNi4yNTczIEM1NTUuOTM0OSwyNS45ODEzIDU1NS41MjU5LDI1LjEyNDMgNTU1LjgwMTksMjQuMzQyMyBDNTU2LjA3ODksMjMuNTYyMyA1NTYuOTMzOSwyMy4xNTMzIDU1Ny43MTY5LDIzLjQyOTMgQzU1OS42MTA5LDI0LjEwMDMgNTYxLjQ5NzksMjQuNzg0MyA1NjMuMzc4OSwyNS40ODEzIEM1NjQuMTU0OSwyNS43NjgzIDU2NC41NTA5LDI2LjYzMTMgNTY0LjI2MjksMjcuNDA5MyBDNTY0LjAzOTksMjguMDEzMyA1NjMuNDY1OSwyOC4zODczIDU2Mi44NTY5LDI4LjM4NzMgTDU2Mi44NTY5LDI4LjM4NzMgWiBNMjc1LjA3NTksMjkuNjc3MyBDMjc0LjQ3MDksMjkuNjc3MyAyNzMuOTAxOSwyOS4zMDkzIDI3My42NzI5LDI4LjcxMTMgQzI3My4zNzk5LDI3LjkzNjMgMjczLjc2NzksMjcuMDcwMyAyNzQuNTQyOSwyNi43NzUzIEMyNzYuNDIyOSwyNi4wNjAzIDI3OC4zMDk5LDI1LjM1NjMgMjgwLjIwMzksMjQuNjY3MyBDMjgwLjk4MTksMjQuMzg1MyAyODEuODQyOSwyNC43ODQzIDI4Mi4xMjY5LDI1LjU2MjMgQzI4Mi40MTA5LDI2LjM0MDMgMjgyLjAwODksMjcuMjAyMyAyODEuMjMwOSwyNy40ODUzIEMyNzkuMzUwOSwyOC4xNzEzIDI3Ny40NzU5LDI4Ljg2OTMgMjc1LjYwODksMjkuNTgwMyBDMjc1LjQzMjksMjkuNjQ2MyAyNzUuMjUzOSwyOS42NzczIDI3NS4wNzU5LDI5LjY3NzMgTDI3NS4wNzU5LDI5LjY3NzMgWiBNNTc0LjA0MzksMzIuNzI0MyBDNTczLjg1NTksMzIuNzI0MyA1NzMuNjY1OSwzMi42ODkzIDU3My40ODE5LDMyLjYxNTMgQzU3MS42MzU5LDMxLjg2ODMgNTY5Ljc4MzksMzEuMTMzMyA1NjcuOTIzOSwzMC40MTMzIEM1NjcuMTUxOSwzMC4xMTMzIDU2Ni43Njc5LDI5LjI0NTMgNTY3LjA2NzksMjguNDcyMyBDNTY3LjM2NzksMjcuNjk5MyA1NjguMjM4OSwyNy4zMTQzIDU2OS4wMDc5LDI3LjYxNjMgQzU3MC44ODA5LDI4LjM0MjMgNTcyLjc0NzksMjkuMDgxMyA1NzQuNjA2OSwyOS44MzQzIEM1NzUuMzc1OSwzMC4xNDUzIDU3NS43NDU5LDMxLjAxOTMgNTc1LjQzNDksMzEuNzg3MyBDNTc1LjE5ODksMzIuMzcxMyA1NzQuNjM2OSwzMi43MjQzIDU3NC4wNDM5LDMyLjcyNDMgTDU3NC4wNDM5LDMyLjcyNDMgWiBNMjYzLjg5MDksMzQuMTMxMyBDMjYzLjMwMjksMzQuMTMxMyAyNjIuNzQ0OSwzMy43ODQzIDI2Mi41MDU5LDMzLjIwODMgQzI2Mi4xODY5LDMyLjQ0MjMgMjYyLjU0ODksMzEuNTY0MyAyNjMuMzE0OSwzMS4yNDczIEMyNjUuMTcyOSwzMC40NzQzIDI2Ny4wMzg5LDI5LjcxNTMgMjY4LjkxMDksMjguOTcwMyBDMjY5LjY3NzksMjguNjY1MyAyNzAuNTUyOSwyOS4wMzkzIDI3MC44NTg5LDI5LjgwOTMgQzI3MS4xNjU5LDMwLjU3OTMgMjcwLjc4OTksMzEuNDUyMyAyNzAuMDE5OSwzMS43NTczIEMyNjguMTYxOSwzMi40OTczIDI2Ni4zMDk5LDMzLjI1MDMgMjY0LjQ2NTksMzQuMDE2MyBDMjY0LjI3NzksMzQuMDk0MyAyNjQuMDgyOSwzNC4xMzEzIDI2My44OTA5LDM0LjEzMTMgTDI2My44OTA5LDM0LjEzMTMgWiBNNTg1LjA1MjksMzcuMzcwMyBDNTg0Ljg1MTksMzcuMzcwMyA1ODQuNjQ2OSwzNy4zMzAzIDU4NC40NTA5LDM3LjI0MzMgQzU4Mi42MzQ5LDM2LjQ0NTMgNTgwLjgxMjksMzUuNjYwMyA1NzguOTgyOSwzNC44ODgzIEM1NzguMjE5OSwzNC41NjczIDU3Ny44NjE5LDMzLjY4NzMgNTc4LjE4MzksMzIuOTIzMyBDNTc4LjUwNTksMzIuMTYxMyA1NzkuMzg0OSwzMS43OTkzIDU4MC4xNDg5LDMyLjEyNTMgQzU4MS45OTI5LDMyLjkwMjMgNTgzLjgyODksMzMuNjkzMyA1ODUuNjU3OSwzNC40OTczIEM1ODYuNDE2OSwzNC44MzAzIDU4Ni43NTk5LDM1LjcxNTMgNTg2LjQyNjksMzYuNDczMyBDNTg2LjE3OTksMzcuMDM1MyA1ODUuNjMwOSwzNy4zNzAzIDU4NS4wNTI5LDM3LjM3MDMgTDU4NS4wNTI5LDM3LjM3MDMgWiBNMjUyLjg0ODksMzguOTExMyBDMjUyLjI3NjksMzguOTExMyAyNTEuNzMwOSwzOC41ODMzIDI1MS40ODA5LDM4LjAyNzMgQzI1MS4xMzk5LDM3LjI3MjMgMjUxLjQ3NTksMzYuMzgzMyAyNTIuMjMxOSwzNi4wNDQzIEMyNTQuMDY0OSwzNS4yMTczIDI1NS45MDY5LDM0LjQwMzMgMjU3Ljc1NTksMzMuNjAzMyBDMjU4LjUxODksMzMuMjc0MyAyNTkuMzk5OSwzMy42MjUzIDI1OS43Mjc5LDM0LjM4NDMgQzI2MC4wNTY5LDM1LjE0NTMgMjU5LjcwNzksMzYuMDI4MyAyNTguOTQ2OSwzNi4zNTczIEMyNTcuMTExOSwzNy4xNTEzIDI1NS4yODM5LDM3Ljk1ODMgMjUzLjQ2NDksMzguNzc4MyBDMjUzLjI2MzksMzguODY5MyAyNTMuMDU0OSwzOC45MTEzIDI1Mi44NDg5LDM4LjkxMTMgTDI1Mi44NDg5LDM4LjkxMTMgWiBNNTk1LjkyNDksNDIuMzQwMyBDNTk1LjcwOTksNDIuMzQwMyA1OTUuNDkwOSw0Mi4yOTQzIDU5NS4yODI5LDQyLjE5NDMgQzU5My40OTA5LDQxLjM0MzMgNTkxLjY4OTksNDAuNTA1MyA1ODkuODgyOSwzOS42NzgzIEM1ODkuMTMwOSwzOS4zMzQzIDU4OC43OTc5LDM4LjQ0NDMgNTg5LjE0MjksMzcuNjkwMyBDNTg5LjQ4NzksMzYuOTM3MyA1OTAuMzc4OSwzNi42MDUzIDU5MS4xMzA5LDM2Ljk1MDMgQzU5Mi45NTA5LDM3Ljc4MjMgNTk0Ljc2MzksMzguNjI3MyA1OTYuNTY5OSwzOS40ODUzIEM1OTcuMzE3OSwzOS44NDAzIDU5Ny42MzU5LDQwLjczNTMgNTk3LjI4MDksNDEuNDgzMyBDNTk3LjAyNDksNDIuMDI0MyA1OTYuNDg1OSw0Mi4zNDAzIDU5NS45MjQ5LDQyLjM0MDMgTDU5NS45MjQ5LDQyLjM0MDMgWiBNMjQxLjk1NDksNDQuMDE1MyBDMjQxLjM5ODksNDQuMDE1MyAyNDAuODY0OSw0My43MDYzIDI0MC42MDQ5LDQzLjE3MjMgQzI0MC4yNDI5LDQyLjQyNjMgMjQwLjU1MTksNDEuNTI5MyAyNDEuMjk3OSw0MS4xNjczIEMyNDMuMTA1OSw0MC4yODczIDI0NC45MjI5LDM5LjQxOTMgMjQ2Ljc0NTksMzguNTY1MyBDMjQ3LjQ5MzksMzguMjExMyAyNDguMzg3OSwzOC41MzczIDI0OC43Mzk5LDM5LjI4ODMgQzI0OS4wOTA5LDQwLjAzODMgMjQ4Ljc2NzksNDAuOTMwMyAyNDguMDE2OSw0MS4yODIzIEMyNDYuMjA3OSw0Mi4xMzAzIDI0NC40MDQ5LDQyLjk5MDMgMjQyLjYwOTksNDMuODY0MyBDMjQyLjM5ODksNDMuOTY2MyAyNDIuMTc0OSw0NC4wMTUzIDI0MS45NTQ5LDQ0LjAxNTMgTDI0MS45NTQ5LDQ0LjAxNTMgWiBNNjA2LjY1MTksNDcuNjI4MyBDNjA2LjQyMTksNDcuNjI4MyA2MDYuMTg3OSw0Ny41NzUzIDYwNS45Njg5LDQ3LjQ2MzMgQzYwNC4yMDI5LDQ2LjU1OTMgNjAyLjQyNzksNDUuNjY4MyA2MDAuNjQ1OSw0NC43OTAzIEM1OTkuOTAyOSw0NC40MjMzIDU5OS41OTY5LDQzLjUyNDMgNTk5Ljk2MzksNDIuNzgxMyBDNjAwLjMzMDksNDIuMDM3MyA2MDEuMjI5OSw0MS43MzQzIDYwMS45NzE5LDQyLjA5ODMgQzYwMy43Njc5LDQyLjk4NDMgNjA1LjU1NTksNDMuODgxMyA2MDcuMzM2OSw0NC43OTMzIEM2MDguMDczOSw0NS4xNzAzIDYwOC4zNjU5LDQ2LjA3MzMgNjA3Ljk4NzksNDYuODExMyBDNjA3LjcyMjksNDcuMzMwMyA2MDcuMTk2OSw0Ny42MjgzIDYwNi42NTE5LDQ3LjYyODMgTDYwNi42NTE5LDQ3LjYyODMgWiBNMjMxLjIxODksNDkuNDM2MyBDMjMwLjY3ODksNDkuNDM2MyAyMzAuMTU2OSw0OS4xNDMzIDIyOS44ODg5LDQ4LjYzMTMgQzIyOS41MDU5LDQ3Ljg5NzMgMjI5Ljc4ODksNDYuOTkxMyAyMzAuNTIyOSw0Ni42MDczIEMyMzIuMzAzOSw0NS42NzUzIDIzNC4wOTI5LDQ0Ljc1NTMgMjM1Ljg4ODksNDMuODQ3MyBDMjM2LjYyNzksNDMuNDczMyAyMzcuNTMxOSw0My43NjkzIDIzNy45MDQ5LDQ0LjUwOTMgQzIzOC4yNzc5LDQ1LjI1MDMgMjM3Ljk4MTksNDYuMTUxMyAyMzcuMjQyOSw0Ni41MjUzIEMyMzUuNDU4OSw0Ny40MjYzIDIzMy42ODE5LDQ4LjM0MDMgMjMxLjkxMzksNDkuMjY1MyBDMjMxLjY5MTksNDkuMzgxMyAyMzEuNDUzOSw0OS40MzYzIDIzMS4yMTg5LDQ5LjQzNjMgTDIzMS4yMTg5LDQ5LjQzNjMgWiBNNjE3LjIyMDksNTMuMjI5MyBDNjE2Ljk3NjksNTMuMjI5MyA2MTYuNzI4OSw1My4xNzAzIDYxNi41MDA5LDUzLjA0NTMgQzYxNC43NTg5LDUyLjA4OTMgNjEzLjAxMDksNTEuMTQ1MyA2MTEuMjU0OSw1MC4yMTQzIEM2MTAuNTIyOSw0OS44MjYzIDYxMC4yNDQ5LDQ4LjkxODMgNjEwLjYzMTksNDguMTg1MyBDNjExLjAyMDksNDcuNDU0MyA2MTEuOTI4OSw0Ny4xNzUzIDYxMi42NjA5LDQ3LjU2MzMgQzYxNC40Mjg5LDQ4LjUwMTMgNjE2LjE5MDksNDkuNDUyMyA2MTcuOTQzOSw1MC40MTUzIEM2MTguNjcwOSw1MC44MTMzIDYxOC45MzU5LDUxLjcyNDMgNjE4LjUzNjksNTIuNDUxMyBDNjE4LjI2MzksNTIuOTQ4MyA2MTcuNzUwOSw1My4yMjkzIDYxNy4yMjA5LDUzLjIyOTMgTDYxNy4yMjA5LDUzLjIyOTMgWiBNMjIwLjY1MTksNTUuMTcxMyBDMjIwLjEyNzksNTUuMTcxMyAyMTkuNjE4OSw1NC44OTUzIDIxOS4zNDI5LDU0LjQwNTMgQzIxOC45MzY5LDUzLjY4MzMgMjE5LjE5MzksNTIuNzY4MyAyMTkuOTE2OSw1Mi4zNjMzIEMyMjEuNjY5OSw1MS4zNzgzIDIyMy40Mjk5LDUwLjQwNjMgMjI1LjE5NzksNDkuNDQ2MyBDMjI1LjkyNDksNDkuMDUyMyAyMjYuODM3OSw0OS4zMjEzIDIyNy4yMzE5LDUwLjA0ODMgQzIyNy42Mjc5LDUwLjc3NzMgMjI3LjM1NjksNTEuNjg3MyAyMjYuNjI5OSw1Mi4wODMzIEMyMjQuODczOSw1My4wMzUzIDIyMy4xMjY5LDU0LjAwMTMgMjIxLjM4NDksNTQuOTc4MyBDMjIxLjE1MjksNTUuMTA5MyAyMjAuOTAwOSw1NS4xNzEzIDIyMC42NTE5LDU1LjE3MTMgTDIyMC42NTE5LDU1LjE3MTMgWiBNNjI3LjYyNTksNTkuMTQxMyBDNjI3LjM2NjksNTkuMTQxMyA2MjcuMTA0OSw1OS4wNzUzIDYyNi44NjU5LDU4LjkzNDMgQzYyNS4xNTM5LDU3LjkyNzMgNjIzLjQzMzksNTYuOTMzMyA2MjEuNzAzOSw1NS45NTEzIEM2MjAuOTgzOSw1NS41NDIzIDYyMC43MzA5LDU0LjYyNjMgNjIxLjEzOTksNTMuOTA1MyBDNjIxLjU0ODksNTMuMTgzMyA2MjIuNDY1OSw1Mi45MzMzIDYyMy4xODU5LDUzLjM0MTMgQzYyNC45Mjc5LDU0LjMzMjMgNjI2LjY2MTksNTUuMzM0MyA2MjguMzg2OSw1Ni4zNDgzIEM2MjkuMTAwOSw1Ni43NjgzIDYyOS4zMzg5LDU3LjY4NzMgNjI4LjkxOTksNTguNDAyMyBDNjI4LjYzOTksNTguODc3MyA2MjguMTM4OSw1OS4xNDEzIDYyNy42MjU5LDU5LjE0MTMgTDYyNy42MjU5LDU5LjE0MTMgWiBNMjEwLjI2MDksNjEuMjExMyBDMjA5Ljc1MjksNjEuMjExMyAyMDkuMjU1OSw2MC45NTIzIDIwOC45NzQ5LDYwLjQ4NDMgQzIwOC41NDc5LDU5Ljc3NDMgMjA4Ljc3NjksNTguODUyMyAyMDkuNDg2OSw1OC40MjUzIEMyMTEuMjA5OSw1Ny4zODkzIDIxMi45Mzk5LDU2LjM2NjMgMjE0LjY3ODksNTUuMzU1MyBDMjE1LjM5NTksNTQuOTM5MyAyMTYuMzEzOSw1NS4xODMzIDIxNi43Mjk5LDU1Ljg5ODMgQzIxNy4xNDU5LDU2LjYxNTMgMjE2LjkwMjksNTcuNTMzMyAyMTYuMTg2OSw1Ny45NDkzIEMyMTQuNDYxOSw1OC45NTIzIDIxMi43NDI5LDU5Ljk2NzMgMjExLjAzMzksNjAuOTk2MyBDMjEwLjc5MTksNjEuMTQxMyAyMTAuNTI0OSw2MS4yMTEzIDIxMC4yNjA5LDYxLjIxMTMgTDIxMC4yNjA5LDYxLjIxMTMgWiBNNjM3Ljg1NDksNjUuMzU4MyBDNjM3LjU4MjksNjUuMzU4MyA2MzcuMzA1OSw2NS4yODQzIDYzNy4wNTc5LDY1LjEyOTMgQzYzNS4zNzU5LDY0LjA3MjMgNjMzLjY4MzksNjMuMDI3MyA2MzEuOTg0OSw2MS45OTUzIEM2MzEuMjc2OSw2MS41NjQzIDYzMS4wNTA5LDYwLjY0MjMgNjMxLjQ4MDksNTkuOTM0MyBDNjMxLjkwOTksNTkuMjI2MyA2MzIuODMyOSw1OS4wMDEzIDYzMy41NDE5LDU5LjQzMDMgQzYzNS4yNTQ5LDYwLjQ3MDMgNjM2Ljk1NzksNjEuNTIzMyA2MzguNjUzOSw2Mi41ODgzIEM2MzkuMzU0OSw2My4wMjgzIDYzOS41NjY5LDYzLjk1NDMgNjM5LjEyNjksNjQuNjU2MyBDNjM4Ljg0MDksNjUuMTA5MyA2MzguMzUzOSw2NS4zNTgzIDYzNy44NTQ5LDY1LjM1ODMgTDYzNy44NTQ5LDY1LjM1ODMgWiBNMjAwLjA1MTksNjcuNTUyMyBDMTk5LjU1ODksNjcuNTUyMyAxOTkuMDc1OSw2Ny4zMDkzIDE5OC43ODg5LDY2Ljg2MzMgQzE5OC4zNDA5LDY2LjE2NjMgMTk4LjU0NDksNjUuMjM3MyAxOTkuMjQwOSw2NC43OTAzIEMyMDAuOTMxOSw2My43MDUzIDIwMi42MzA5LDYyLjYzMTMgMjA0LjMzOTksNjEuNTcwMyBDMjA1LjA0NDksNjEuMTM1MyAyMDUuOTY3OSw2MS4zNDgzIDIwNi40MDU5LDYyLjA1MjMgQzIwNi44NDE5LDYyLjc1NjMgMjA2LjYyNjksNjMuNjgxMyAyMDUuOTIyOSw2NC4xMTkzIEMyMDQuMjI2OSw2NS4xNzMzIDIwMi41Mzk5LDY2LjIzODMgMjAwLjg2MTksNjcuMzE1MyBDMjAwLjYxMDksNjcuNDc1MyAyMDAuMzI5OSw2Ny41NTIzIDIwMC4wNTE5LDY3LjU1MjMgTDIwMC4wNTE5LDY3LjU1MjMgWiBNMTkwLjAzOTksNzQuMTkwMyBDMTg5LjU2MDksNzQuMTkwMyAxODkuMDkwOSw3My45NjIzIDE4OC43OTk5LDczLjUzODMgQzE4OC4zMzI5LDcyLjg1MzMgMTg4LjUwNjksNzEuOTIxMyAxODkuMTkwOSw3MS40NTIzIEMxOTAuODQ5OSw3MC4zMTczIDE5Mi41MTY5LDY5LjE5NTMgMTk0LjE5MTksNjguMDg1MyBDMTk0Ljg4MDksNjcuNjI4MyAxOTUuODEyOSw2Ny44MTMzIDE5Ni4yNzA5LDY4LjUwNjMgQzE5Ni43Mjg5LDY5LjE5NjMgMTk2LjU0MDksNzAuMTI4MyAxOTUuODQ5OSw3MC41ODUzIEMxOTQuMTg2OSw3MS42ODczIDE5Mi41MzE5LDcyLjgwMTMgMTkwLjg4NDksNzMuOTI4MyBDMTkwLjYyNjksNzQuMTA1MyAxOTAuMzMxOSw3NC4xOTAzIDE5MC4wMzk5LDc0LjE5MDMgTDE5MC4wMzk5LDc0LjE5MDMgWiBNMTgwLjIyNjksODEuMTE1MyBDMTc5Ljc2MzksODEuMTE1MyAxNzkuMzA2OSw4MC45MDEzIDE3OS4wMTI5LDgwLjQ5ODMgQzE3OC41MjU5LDc5LjgyOTMgMTc4LjY3MjksNzguODkwMyAxNzkuMzQyOSw3OC40MDIzIEMxODAuOTY2OSw3Ny4yMTkzIDE4Mi41OTk5LDc2LjA0ODMgMTg0LjI0MTksNzQuODkwMyBDMTg0LjkxNzksNzQuNDEyMyAxODUuODU0OSw3NC41NzQzIDE4Ni4zMzI5LDc1LjI1MTMgQzE4Ni44MDk5LDc1LjkyNzMgMTg2LjY0ODksNzYuODY0MyAxODUuOTcxOSw3Ny4zNDEzIEMxODQuMzQxOSw3OC40OTIzIDE4Mi43MjA5LDc5LjY1MzMgMTgxLjEwODksODAuODI4MyBDMTgwLjg0MTksODEuMDIxMyAxODAuNTMzOSw4MS4xMTUzIDE4MC4yMjY5LDgxLjExNTMgTDE4MC4yMjY5LDgxLjExNTMgWiBNMTcwLjYyMjksODguMzIzMyBDMTcwLjE3MzksODguMzIzMyAxNjkuNzMwOSw4OC4xMjMzIDE2OS40MzQ5LDg3Ljc0MTMgQzE2OC45Mjc5LDg3LjA4NjMgMTY5LjA0NzksODYuMTQzMyAxNjkuNzAzOSw4NS42MzYzIEMxNzEuMjkyOSw4NC40MDgzIDE3Mi44ODk5LDgzLjE5MDMgMTc0LjQ5NjksODEuOTg1MyBDMTc1LjE1ODksODEuNDg3MyAxNzYuMDk5OSw4MS42MjIzIDE3Ni41OTY5LDgyLjI4NDMgQzE3Ny4wOTM5LDgyLjk0NzMgMTc2Ljk1OTksODMuODg2MyAxNzYuMjk3OSw4NC4zODQzIEMxNzQuNzAyOSw4NS41ODEzIDE3My4xMTY5LDg2Ljc5MDMgMTcxLjUzOTksODguMDA5MyBDMTcxLjI2NTksODguMjIwMyAxNzAuOTQyOSw4OC4zMjMzIDE3MC42MjI5LDg4LjMyMzMgTDE3MC42MjI5LDg4LjMyMzMgWiBNMTYxLjIzNTksOTUuODA4MyBDMTYwLjgwMTksOTUuODA4MyAxNjAuMzcyOSw5NS42MjIzIDE2MC4wNzU5LDk1LjI2MDMgQzE1OS41NDk5LDk0LjYyMTMgMTU5LjY0MTksOTMuNjc1MyAxNjAuMjgyOSw5My4xNDkzIEMxNjEuODM0OSw5MS44NzQzIDE2My4zOTU5LDkwLjYxMTMgMTY0Ljk2NTksODkuMzU5MyBDMTY1LjYxMjksODguODQxMyAxNjYuNTU3OSw4OC45NDkzIDE2Ny4wNzM5LDg5LjU5NzMgQzE2Ny41ODk5LDkwLjI0NTMgMTY3LjQ4MzksOTEuMTg4MyAxNjYuODM1OSw5MS43MDUzIEMxNjUuMjc2OSw5Mi45NDczIDE2My43MjY5LDk0LjIwMjMgMTYyLjE4NjksOTUuNDY3MyBDMTYxLjkwNzksOTUuNjk3MyAxNjEuNTcwOSw5NS44MDgzIDE2MS4yMzU5LDk1LjgwODMgTDE2MS4yMzU5LDk1LjgwODMgWiBNMTUyLjA3MzksMTAzLjU2MTMgQzE1MS42NTQ5LDEwMy41NjEzIDE1MS4yMzg5LDEwMy4zODczIDE1MC45NDE5LDEwMy4wNDczIEMxNTAuMzk3OSwxMDIuNDIzMyAxNTAuNDYyOSwxMDEuNDc1MyAxNTEuMDg3OSwxMDAuOTMwMyBDMTUyLjU5OTksOTkuNjExMyAxNTQuMTIzOSw5OC4zMDIzIDE1NS42NTY5LDk3LjAwNjMgQzE1Ni4yOTA5LDk2LjQ3MDMgMTU3LjIzNjksOTYuNTUxMyAxNTcuNzcwOSw5Ny4xODIzIEMxNTguMzA1OSw5Ny44MTUzIDE1OC4yMjY5LDk4Ljc2MTMgMTU3LjU5MzksOTkuMjk3MyBDMTU2LjA3MjksMTAwLjU4NDMgMTU0LjU2MDksMTAxLjg4MjMgMTUzLjA1NzksMTAzLjE5MjMgQzE1Mi43NzM5LDEwMy40NDAzIDE1Mi40MjI5LDEwMy41NjEzIDE1Mi4wNzM5LDEwMy41NjEzIEwxNTIuMDczOSwxMDMuNTYxMyBaIE03MDMuODYzOSwxMTYuODg4MyBDNzAzLjQ4OTksMTE2Ljg4ODMgNzAzLjExNTksMTE2Ljc1MDMgNzAyLjgyNTksMTE2LjQ3MDMgQzcwMS4zODc5LDExNS4wOTEzIDY5OS45NDA5LDExMy43MjIzIDY5OC40ODM5LDExMi4zNjQzIEM2OTcuODc4OSwxMTEuNzk5MyA2OTcuODQ0OSwxMTAuODUwMyA2OTguNDEwOSwxMTAuMjQ0MyBDNjk4Ljk3NDksMTA5LjYzODMgNjk5LjkyNDksMTA5LjYwNjMgNzAwLjUzMDksMTEwLjE3MTMgQzcwMS45OTc5LDExMS41MzkzIDcwMy40NTQ5LDExMi45MTgzIDcwNC45MDE5LDExNC4zMDYzIEM3MDUuNTAwOSwxMTQuODgwMyA3MDUuNTE5OSwxMTUuODI5MyA3MDQuOTQ1OSwxMTYuNDI2MyBDNzA0LjY1MTksMTE2LjczNDMgNzA0LjI1NzksMTE2Ljg4ODMgNzAzLjg2MzksMTE2Ljg4ODMgTDcwMy44NjM5LDExNi44ODgzIFogTTcxMi4zOTQ5LDEyNS4zMTkzIEM3MTIuMDA1OSwxMjUuMzE5MyA3MTEuNjE4OSwxMjUuMTcwMyA3MTEuMzI1OSwxMjQuODcxMyBDNzA5LjkyODksMTIzLjQ1MDMgNzA4LjUyMTksMTIyLjAzOTMgNzA3LjEwNDksMTIwLjYzODMgQzcwNi41MTU5LDEyMC4wNTYzIDcwNi41MDk5LDExOS4xMDczIDcwNy4wOTI5LDExOC41MTczIEM3MDcuNjczOSwxMTcuOTI3MyA3MDguNjIzOSwxMTcuOTIzMyA3MDkuMjEzOSwxMTguNTA2MyBDNzEwLjY0MDksMTE5LjkxNjMgNzEyLjA1NzksMTIxLjMzNzMgNzEzLjQ2MzksMTIyLjc2NzMgQzcxNC4wNDU5LDEyMy4zNTgzIDcxNC4wMzc5LDEyNC4zMDgzIDcxMy40NDY5LDEyNC44ODgzIEM3MTMuMTU0OSwxMjUuMTc1MyA3MTIuNzc0OSwxMjUuMzE5MyA3MTIuMzk0OSwxMjUuMzE5MyBMNzEyLjM5NDksMTI1LjMxOTMgWiBNNzIwLjY3ODksMTMzLjk5ODMgQzcyMC4yNzY5LDEzMy45OTgzIDcxOS44NzQ5LDEzMy44MzczIDcxOS41Nzg5LDEzMy41MTczIEM3MTguMjI0OSwxMzIuMDU2MyA3MTYuODU5OSwxMzAuNjA1MyA3MTUuNDgyOSwxMjkuMTY1MyBDNzE0LjkxMDksMTI4LjU2NjMgNzE0LjkzMjksMTI3LjYxNjMgNzE1LjUzMTksMTI3LjA0NDMgQzcxNi4xMjk5LDEyNi40NzMzIDcxNy4wODA5LDEyNi40OTMzIDcxNy42NTI5LDEyNy4wOTIzIEM3MTkuMDM5OSwxMjguNTQ1MyA3MjAuNDE0OSwxMzAuMDA2MyA3MjEuNzc5OSwxMzEuNDc4MyBDNzIyLjM0MTksMTMyLjA4NjMgNzIyLjMwNTksMTMzLjAzNTMgNzIxLjY5ODksMTMzLjU5ODMgQzcyMS40MDk5LDEzMy44NjYzIDcyMS4wNDQ5LDEzMy45OTgzIDcyMC42Nzg5LDEzMy45OTgzIEw3MjAuNjc4OSwxMzMuOTk4MyBaIE03MjguNzA4OSwxNDIuOTE3MyBDNzI4LjI5MDksMTQyLjkxNzMgNzI3Ljg3NDksMTQyLjc0MzMgNzI3LjU3ODksMTQyLjQwNDMgQzcyNi4yNjY5LDE0MC45MDQzIDcyNC45NDQ5LDEzOS40MTMzIDcyMy42MTA5LDEzNy45MzIzIEM3MjMuMDU1OSwxMzcuMzE3MyA3MjMuMTA1OSwxMzYuMzY5MyA3MjMuNzIwOSwxMzUuODE0MyBDNzI0LjMzODksMTM1LjI2MDMgNzI1LjI4NTksMTM1LjMwODMgNzI1LjgzODksMTM1LjkyNDMgQzcyNy4xODI5LDEzNy40MTczIDcyOC41MTQ5LDEzOC45MTgzIDcyOS44MzY5LDE0MC40MjkzIEM3MzAuMzgxOSwxNDEuMDUzMyA3MzAuMzE4OSwxNDIuMDAxMyA3MjkuNjk0OSwxNDIuNTQ2MyBDNzI5LjQxMDksMTQyLjc5NTMgNzI5LjA1NzksMTQyLjkxNzMgNzI4LjcwODksMTQyLjkxNzMgTDcyOC43MDg5LDE0Mi45MTczIFogTTczNi40NzY5LDE1Mi4wNjUzIEM3MzYuMDQ0OSwxNTIuMDY1MyA3MzUuNjE0OSwxNTEuODc5MyA3MzUuMzE4OSwxNTEuNTE5MyBDNzM0LjA0OTksMTQ5Ljk4MTMgNzMyLjc3MTksMTQ4LjQ1MjMgNzMxLjQ4MTksMTQ2LjkzMTMgQzczMC45NDU5LDE0Ni4yOTkzIDczMS4wMjI5LDE0NS4zNTIzIDczMS42NTQ5LDE0NC44MTczIEM3MzIuMjg3OSwxNDQuMjgxMyA3MzMuMjMyOSwxNDQuMzU4MyA3MzMuNzY4OSwxNDQuOTkwMyBDNzM1LjA2ODksMTQ2LjUyMjMgNzM2LjM1NjksMTQ4LjA2MTMgNzM3LjYzMjksMTQ5LjYxMTMgQzczOC4xNjA5LDE1MC4yNTEzIDczOC4wNjk5LDE1MS4xOTYzIDczNy40Mjk5LDE1MS43MjIzIEM3MzcuMTUwOSwxNTEuOTUzMyA3MzYuODEyOSwxNTIuMDY1MyA3MzYuNDc2OSwxNTIuMDY1MyBMNzM2LjQ3NjksMTUyLjA2NTMgWiBNNzQzLjk3NDksMTYxLjQ0MTMgQzc0My41Mjc5LDE2MS40NDEzIDc0My4wODU5LDE2MS4yNDIzIDc0Mi43ODk5LDE2MC44NjEzIEM3NDEuNTY1OSwxNTkuMjg2MyA3NDAuMzMyOSwxNTcuNzE5MyA3MzkuMDg3OSwxNTYuMTYzMyBDNzM4LjU2OTksMTU1LjUxNTMgNzM4LjY3MzksMTU0LjU3MjMgNzM5LjMyMDksMTU0LjA1NDMgQzczOS45NzA5LDE1My41MzUzIDc0MC45MTI5LDE1My42NDIzIDc0MS40Mjg5LDE1NC4yODgzIEM3NDIuNjgzOSwxNTUuODU2MyA3NDMuOTI2OSwxNTcuNDM0MyA3NDUuMTU4OSwxNTkuMDIxMyBDNzQ1LjY2NjksMTU5LjY3NTMgNzQ1LjU0NzksMTYwLjYxODMgNzQ0Ljg5MzksMTYxLjEyNjMgQzc0NC42MjA5LDE2MS4zMzkzIDc0NC4yOTY5LDE2MS40NDEzIDc0My45NzQ5LDE2MS40NDEzIEw3NDMuOTc0OSwxNjEuNDQxMyBaIE03NTEuMTk4OSwxNzEuMDM0MyBDNzUwLjczNjksMTcxLjAzNDMgNzUwLjI3OTksMTcwLjgyMTMgNzQ5Ljk4NjksMTcwLjQxOTMgQzc0OC44MDk5LDE2OC44MDgzIDc0Ny42MjI5LDE2Ny4yMDczIDc0Ni40MjI5LDE2NS42MTQzIEM3NDUuOTIzOSwxNjQuOTUzMyA3NDYuMDU1OSwxNjQuMDEyMyA3NDYuNzE3OSwxNjMuNTEzMyBDNzQ3LjM3OTksMTYzLjAxNTMgNzQ4LjMxOTksMTYzLjE0NjMgNzQ4LjgxODksMTYzLjgwOTMgQzc1MC4wMjY5LDE2NS40MTQzIDc1MS4yMjM5LDE2Ny4wMjczIDc1Mi40MDg5LDE2OC42NDkzIEM3NTIuODk3OSwxNjkuMzE4MyA3NTIuNzUxOSwxNzAuMjU2MyA3NTIuMDgyOSwxNzAuNzQ1MyBDNzUxLjgxNTksMTcwLjk0MDMgNzUxLjUwNTksMTcxLjAzNDMgNzUxLjE5ODksMTcxLjAzNDMgTDc1MS4xOTg5LDE3MS4wMzQzIFogTTc1OC4xMzg5LDE4MC44MzYzIEM3NTcuNjYxOSwxODAuODM2MyA3NTcuMTkxOSwxODAuNjA4MyA3NTYuOTAwOSwxODAuMTg0MyBDNzU1Ljc3MjksMTc4LjUzOTMgNzU0LjYzMTksMTc2LjkwMzMgNzUzLjQ3OTksMTc1LjI3NjMgQzc1My4wMDA5LDE3NC42MDAzIDc1My4xNjA5LDE3My42NjQzIDc1My44MzY5LDE3My4xODUzIEM3NTQuNTEwOSwxNzIuNzA2MyA3NTUuNDQ4OSwxNzIuODY1MyA3NTUuOTI2OSwxNzMuNTQyMyBDNzU3LjA4ODksMTc1LjE4MDMgNzU4LjIzNzksMTc2LjgzMDMgNzU5LjM3NTksMTc4LjQ4NzMgQzc1OS44NDI5LDE3OS4xNzEzIDc1OS42Njk5LDE4MC4xMDQzIDc1OC45ODY5LDE4MC41NzMzIEM3NTguNzI2OSwxODAuNzUxMyA3NTguNDMxOSwxODAuODM2MyA3NTguMTM4OSwxODAuODM2MyBMNzU4LjEzODksMTgwLjgzNjMgWiBNNzY0Ljc5MDksMTkwLjgzOTMgQzc2NC4yOTc5LDE5MC44MzkzIDc2My44MTU5LDE5MC41OTczIDc2My41Mjg5LDE5MC4xNTIzIEM3NjIuNDQ3OSwxODguNDc0MyA3NjEuMzU0OSwxODYuODA0MyA3NjAuMjUwOSwxODUuMTQzMyBDNzU5Ljc5MTksMTg0LjQ1NDMgNzU5Ljk3ODksMTgzLjUyMzMgNzYwLjY2OTksMTgzLjA2NDMgQzc2MS4zNTc5LDE4Mi42MDYzIDc2Mi4yOTA5LDE4Mi43OTMzIDc2Mi43NDg5LDE4My40ODMzIEM3NjMuODYwOSwxODUuMTU2MyA3NjQuOTYxOSwxODYuODM4MyA3NjYuMDQ5OSwxODguNTI3MyBDNzY2LjQ5OTksMTg5LjIyMzMgNzY2LjI5NzksMTkwLjE1MjMgNzY1LjYwMTksMTkwLjYwMDMgQzc2NS4zNTA5LDE5MC43NjIzIDc2NS4wNjg5LDE5MC44MzkzIDc2NC43OTA5LDE5MC44MzkzIEw3NjQuNzkwOSwxOTAuODM5MyBaIE03NzEuMTQ4OSwyMDEuMDM3MyBDNzcwLjY0MDksMjAxLjAzNzMgNzcwLjE0NDksMjAwLjc3OTMgNzY5Ljg2MzksMjAwLjMxMTMgQzc2OC44MzI5LDE5OC42MDIzIDc2Ny43ODk5LDE5Ni45MDEzIDc2Ni43MzM5LDE5NS4yMDkzIEM3NjYuMjk1OSwxOTQuNTA2MyA3NjYuNTA4OSwxOTMuNTgwMyA3NjcuMjEyOSwxOTMuMTQyMyBDNzY3LjkxNTksMTkyLjcwNDMgNzY4LjgzOTksMTkyLjkxODMgNzY5LjI3ODksMTkzLjYyMTMgQzc3MC4zNDE5LDE5NS4zMjczIDc3MS4zOTI5LDE5Ny4wNDAzIDc3Mi40MzE5LDE5OC43NjIzIEM3NzIuODU5OSwxOTkuNDcxMyA3NzIuNjMxOSwyMDAuMzkzMyA3NzEuOTIyOSwyMDAuODIxMyBDNzcxLjY3OTksMjAwLjk2NzMgNzcxLjQxMzksMjAxLjAzNzMgNzcxLjE0ODksMjAxLjAzNzMgTDc3MS4xNDg5LDIwMS4wMzczIFogTTc3Ny4yMDU5LDIxMS40MTkzIEM3NzYuNjgxOSwyMTEuNDE5MyA3NzYuMTcyOSwyMTEuMTQ0MyA3NzUuODk3OSwyMTAuNjU1MyBDNzc0LjkxNzksMjA4LjkxNjMgNzczLjkyMjksMjA3LjE4MzMgNzcyLjkxODksMjA1LjQ2MTMgQzc3Mi41MDE5LDIwNC43NDUzIDc3Mi43NDI5LDIwMy44MjczIDc3My40NTg5LDIwMy40MDkzIEM3NzQuMTczOSwyMDIuOTkxMyA3NzUuMDkxOSwyMDMuMjM1MyA3NzUuNTA5OSwyMDMuOTQ5MyBDNzc2LjUyMjksMjA1LjY4NTMgNzc3LjUyMjksMjA3LjQyOTMgNzc4LjUxMDksMjA5LjE4MjMgQzc3OC45MTg5LDIwOS45MDQzIDc3OC42NjI5LDIxMC44MTgzIDc3Ny45NDA5LDIxMS4yMjUzIEM3NzcuNzA4OSwyMTEuMzU2MyA3NzcuNDU1OSwyMTEuNDE5MyA3NzcuMjA1OSwyMTEuNDE5MyBMNzc3LjIwNTksMjExLjQxOTMgWiBNNzgyLjk1NTksMjIxLjk3ODMgQzc4Mi40MTY5LDIyMS45NzgzIDc4MS44OTQ5LDIyMS42ODczIDc4MS42MjY5LDIyMS4xNzYzIEM3ODAuNjk3OSwyMTkuNDA4MyA3NzkuNzU1OSwyMTcuNjQ4MyA3NzguNzk5OSwyMTUuODk1MyBDNzc4LjQwMzksMjE1LjE2ODMgNzc4LjY3MjksMjE0LjI1NjMgNzc5LjM5OTksMjEzLjg2MDMgQzc4MC4xMjU5LDIxMy40NjUzIDc4MS4wMzg5LDIxMy43MzMzIDc4MS40MzQ5LDIxNC40NjAzIEM3ODIuMzk2OSwyMTYuMjI2MyA3ODMuMzQ1OSwyMTguMDAwMyA3ODQuMjgyOSwyMTkuNzgwMyBDNzg0LjY2NzksMjIwLjUxMzMgNzg0LjM4NDksMjIxLjQyMTMgNzgzLjY1MjksMjIxLjgwNjMgQzc4My40Mjk5LDIyMS45MjMzIDc4My4xOTA5LDIyMS45NzgzIDc4Mi45NTU5LDIyMS45NzgzIEw3ODIuOTU1OSwyMjEuOTc4MyBaIE03ODguMzkyOSwyMzIuNzA1MyBDNzg3LjgzODksMjMyLjcwNTMgNzg3LjMwMzksMjMyLjM5NTMgNzg3LjA0NDksMjMxLjg2MzMgQzc4Ni4xNjc5LDIzMC4wNjgzIDc4NS4yNzY5LDIyOC4yNzkzIDc4NC4zNzU5LDIyNi40OTkzIEM3ODQuMDAwOSwyMjUuNzU5MyA3ODQuMjk2OSwyMjQuODU3MyA3ODUuMDM1OSwyMjQuNDgzMyBDNzg1Ljc3MTksMjI0LjEwOTMgNzg2LjY3NjksMjI0LjQwMzMgNzg3LjA1MDksMjI1LjE0MzMgQzc4Ny45NjA5LDIyNi45MzczIDc4OC44NTY5LDIyOC43MzgzIDc4OS43Mzk5LDIzMC41NDczIEM3OTAuMTAyOSwyMzEuMjkxMyA3ODkuNzk0OSwyMzIuMTg5MyA3ODkuMDQ5OSwyMzIuNTUyMyBDNzg4LjgzODksMjMyLjY1NjMgNzg4LjYxMzksMjMyLjcwNTMgNzg4LjM5MjksMjMyLjcwNTMgTDc4OC4zOTI5LDIzMi43MDUzIFogTTc5My41MTI5LDI0My41ODkzIEM3OTIuOTQxOSwyNDMuNTg5MyA3OTIuMzk1OSwyNDMuMjYyMyA3OTIuMTQ1OSwyNDIuNzA4MyBDNzkxLjMyMTksMjQwLjg4NjMgNzkwLjQ4NDksMjM5LjA3MzMgNzg5LjYzMzksMjM3LjI2NjMgQzc4OS4yODE5LDIzNi41MTczIDc4OS42MDI5LDIzNS42MjQzIDc5MC4zNTI5LDIzNS4yNzAzIEM3OTEuMTAxOSwyMzQuOTE4MyA3OTEuOTk1OSwyMzUuMjQwMyA3OTIuMzQ4OSwyMzUuOTg5MyBDNzkzLjIwNTksMjM3LjgwOTMgNzk0LjA0NzksMjM5LjYzNjMgNzk0Ljg3ODksMjQxLjQ3MTMgQzc5NS4yMTk5LDI0Mi4yMjYzIDc5NC44ODQ5LDI0My4xMTUzIDc5NC4xMzA5LDI0My40NTYzIEM3OTMuOTI5OSwyNDMuNTQ3MyA3OTMuNzE5OSwyNDMuNTg5MyA3OTMuNTEyOSwyNDMuNTg5MyBMNzkzLjUxMjksMjQzLjU4OTMgWiBNNzk4LjMxMDksMjU0LjYyNjMgQzc5Ny43MjI5LDI1NC42MjYzIDc5Ny4xNjU5LDI1NC4yNzkzIDc5Ni45MjQ5LDI1My43MDMzIEM3OTYuMTU1OSwyNTEuODU3MyA3OTUuMzcyOSwyNTAuMDE5MyA3OTQuNTc2OSwyNDguMTg4MyBDNzk0LjI0NTksMjQ3LjQyODMgNzk0LjU5MjksMjQ2LjU0NTMgNzk1LjM1MjksMjQ2LjIxNDMgQzc5Ni4xMTg5LDI0NS44ODMzIDc5Ni45OTc5LDI0Ni4yMzIzIDc5Ny4zMjY5LDI0Ni45OTEzIEM3OTguMTMwOSwyNDguODM2MyA3OTguOTE5OSwyNTAuNjg5MyA3OTkuNjk0OSwyNTIuNTQ4MyBDODAwLjAxMjksMjUzLjMxMzMgNzk5LjY1MTksMjU0LjE5MTMgNzk4Ljg4NjksMjU0LjUxMDMgQzc5OC42OTg5LDI1NC41ODkzIDc5OC41MDM5LDI1NC42MjYzIDc5OC4zMTA5LDI1NC42MjYzIEw3OTguMzEwOSwyNTQuNjI2MyBaIE04MDIuNzc4OSwyNjUuODAyMyBDODAyLjE3NDksMjY1LjgwMjMgODAxLjYwNjksMjY1LjQzNjMgODAxLjM3ODksMjY0LjgzOTMgQzgwMC42NjI5LDI2Mi45NzAzIDc5OS45MzM5LDI2MS4xMDkzIDc5OS4xOTI5LDI1OS4yNTQzIEM3OTguODg0OSwyNTguNDg0MyA3OTkuMjU4OSwyNTcuNjExMyA4MDAuMDI4OSwyNTcuMzA0MyBDODAwLjc5OTksMjU2Ljk5NjMgODAxLjY3MDksMjU3LjM3MjMgODAxLjk3NzksMjU4LjE0MDMgQzgwMi43MjQ5LDI2MC4wMDkzIDgwMy40NTk5LDI2MS44ODQzIDgwNC4xNzk5LDI2My43NjYzIEM4MDQuNDc1OSwyNjQuNTQwMyA4MDQuMDg4OSwyNjUuNDA3MyA4MDMuMzE0OSwyNjUuNzAzMyBDODAzLjEzNzksMjY1Ljc3MTMgODAyLjk1NzksMjY1LjgwMjMgODAyLjc3ODksMjY1LjgwMjMgTDgwMi43Nzg5LDI2NS44MDIzIFogTTM3LjI4ODksMjY5LjIzOTMgQzM3LjExNDksMjY5LjIzOTMgMzYuOTM3OSwyNjkuMjA5MyAzNi43NjQ5LDI2OS4xNDQzIEMzNS45ODg5LDI2OC44NTUzIDM1LjU5MjksMjY3Ljk5MjMgMzUuODgyOSwyNjcuMjE1MyBDMzYuNTgzOSwyNjUuMzM0MyAzNy4yOTc5LDI2My40NTgzIDM4LjAyNjksMjYxLjU4ODMgQzM4LjMyNzksMjYwLjgxNTMgMzkuMTk2OSwyNjAuNDMyMyAzOS45Njg5LDI2MC43MzUzIEM0MC43NDA5LDI2MS4wMzYzIDQxLjEyMjksMjYxLjkwNTMgNDAuODIxOSwyNjIuNjc3MyBDNDAuMDk4OSwyNjQuNTMyMyAzOS4zODk5LDI2Ni4zOTQzIDM4LjY5MzksMjY4LjI2MjMgQzM4LjQ2ODksMjY4Ljg2NjMgMzcuODk2OSwyNjkuMjM5MyAzNy4yODg5LDI2OS4yMzkzIEwzNy4yODg5LDI2OS4yMzkzIFogTTgwNi45MTg5LDI3Ny4xMTEzIEM4MDYuMjk3OSwyNzcuMTExMyA4MDUuNzE3OSwyNzYuNzI0MyA4MDUuNTAyOSwyNzYuMTA1MyBDODA0Ljg0MTksMjc0LjIxNjMgODA0LjE2OTksMjcyLjMzNDMgODAzLjQ4MjksMjcwLjQ1NzMgQzgwMy4xOTc5LDI2OS42NzgzIDgwMy41OTY5LDI2OC44MTczIDgwNC4zNzU5LDI2OC41MzMzIEM4MDUuMTUxOSwyNjguMjQ2MyA4MDYuMDE0OSwyNjguNjQ4MyA4MDYuMjk4OSwyNjkuNDI1MyBDODA2Ljk5MTksMjcxLjMxNjMgODA3LjY3MDksMjczLjIxMzMgODA4LjMzNDksMjc1LjExNzMgQzgwOC42MDc5LDI3NS44OTkzIDgwOC4xOTQ5LDI3Ni43NTUzIDgwNy40MTI5LDI3Ny4wMjczIEM4MDcuMjQ5OSwyNzcuMDg1MyA4MDcuMDgyOSwyNzcuMTExMyA4MDYuOTE4OSwyNzcuMTExMyBMODA2LjkxODksMjc3LjExMTMgWiBNMzMuMjY1OSwyODAuNTQ2MyBDMzMuMTA1OSwyODAuNTQ2MyAzMi45NDM5LDI4MC41MjAzIDMyLjc4MzksMjgwLjQ2NjMgQzMxLjk5OTksMjgwLjIwMDMgMzEuNTc5OSwyNzkuMzQ4MyAzMS44NDQ5LDI3OC41NjMzIEMzMi40OTE5LDI3Ni42NjAzIDMzLjE0OTksMjc0Ljc2NDMgMzMuODIyOSwyNzIuODc1MyBDMzQuMDk5OSwyNzIuMDkzMyAzNC45NTk5LDI3MS42ODQzIDM1LjczODksMjcxLjk2NDMgQzM2LjUxODksMjcyLjI0MjMgMzYuOTI1OSwyNzMuMTAwMyAzNi42NDg5LDI3My44ODEzIEMzNS45ODE5LDI3NS43NTYzIDM1LjMyNzksMjc3LjYzODMgMzQuNjg1OSwyNzkuNTI4MyBDMzQuNDczOSwyODAuMTUyMyAzMy44OTA5LDI4MC41NDYzIDMzLjI2NTksMjgwLjU0NjMgTDMzLjI2NTksMjgwLjU0NjMgWiBNODEwLjcxODksMjg4LjU0MTMgQzgxMC4wODE5LDI4OC41NDEzIDgwOS40OTA5LDI4OC4xMzIzIDgwOS4yODg5LDI4Ny40OTMzIEM4MDguNjg1OSwyODUuNTg0MyA4MDguMDY3OSwyODMuNjgwMyA4MDcuNDM3OSwyODEuNzg1MyBDODA3LjE3NTksMjgwLjk5OTMgODA3LjYwMDksMjgwLjE0OTMgODA4LjM4NjksMjc5Ljg4NzMgQzgwOS4xNzU5LDI3OS42MjYzIDgxMC4wMjE5LDI4MC4wNTIzIDgxMC4yODQ5LDI4MC44MzgzIEM4MTAuOTE5OSwyODIuNzQ5MyA4MTEuNTQxOSwyODQuNjY2MyA4MTIuMTQ5OSwyODYuNTg5MyBDODEyLjM5ODksMjg3LjM3OTMgODExLjk2MTksMjg4LjIyMTMgODExLjE3MTksMjg4LjQ3MTMgQzgxMS4wMjA5LDI4OC41MTgzIDgxMC44Njg5LDI4OC41NDEzIDgxMC43MTg5LDI4OC41NDEzIEw4MTAuNzE4OSwyODguNTQxMyBaIE0yOS41ODI5LDI5MS45NjMzIEMyOS40MzY5LDI5MS45NjMzIDI5LjI4ODksMjkxLjk0MjMgMjkuMTQyOSwyOTEuODk3MyBDMjguMzQ5OSwyOTEuNjU1MyAyNy45MDQ5LDI5MC44MTYzIDI4LjE0NjksMjkwLjAyNDMgQzI4LjczNTksMjg4LjEwMTMgMjkuMzM4OSwyODYuMTg2MyAyOS45NTQ5LDI4NC4yNzgzIEMzMC4yMDk5LDI4My40OTEzIDMxLjA1MjksMjgzLjA2MTMgMzEuODQyOSwyODMuMzExMyBDMzIuNjMwOSwyODMuNTY2MyAzMy4wNjM5LDI4NC40MTIzIDMyLjgwOTksMjg1LjIwMDMgQzMyLjE5NzksMjg3LjA5NDMgMzEuNTk5OSwyODguOTk0MyAzMS4wMTU5LDI5MC45MDEzIEMzMC44MTc5LDI5MS41NDgzIDMwLjIyMzksMjkxLjk2MzMgMjkuNTgyOSwyOTEuOTYzMyBMMjkuNTgyOSwyOTEuOTYzMyBaIE04MTQuMTczOSwzMDAuMDU4MyBDODEzLjUyMDksMzAwLjA1ODMgODEyLjkxOTksMjk5LjYyODMgODEyLjczMTksMjk4Ljk2ODMgQzgxMi4xODc5LDI5Ny4wNDkzIDgxMS42Mjk5LDI5NS4xMzYzIDgxMS4wNTY5LDI5My4yMzEzIEM4MTAuODE4OSwyOTIuNDM3MyA4MTEuMjY4OSwyOTEuNjAxMyA4MTIuMDYxOSwyOTEuMzYzMyBDODEyLjg1NDksMjkxLjEyODMgODEzLjY5MDksMjkxLjU3NDMgODEzLjkyOTksMjkyLjM2ODMgQzgxNC41MDU5LDI5NC4yODkzIDgxNS4wNjg5LDI5Ni4yMTUzIDgxNS42MTg5LDI5OC4xNDgzIEM4MTUuODQzOSwyOTguOTQ1MyA4MTUuMzgxOSwyOTkuNzc1MyA4MTQuNTg1OSwzMDAuMDAyMyBDODE0LjQ0NzksMzAwLjA0MDMgODE0LjMwOTksMzAwLjA1ODMgODE0LjE3MzksMzAwLjA1ODMgTDgxNC4xNzM5LDMwMC4wNTgzIFogTTI2LjIzNTksMzAzLjQ4NDMgQzI2LjEwMzksMzAzLjQ4NDMgMjUuOTcwOSwzMDMuNDY3MyAyNS44Mzg5LDMwMy40MzAzIEMyNS4wMzk5LDMwMy4yMTIzIDI0LjU2ODksMzAyLjM4NjMgMjQuNzg4OSwzMDEuNTg4MyBDMjUuMzE5OSwyOTkuNjUwMyAyNS44NjU5LDI5Ny43MTgzIDI2LjQyNDksMjk1Ljc5MjMgQzI2LjY1NjksMjk0Ljk5NzMgMjcuNDgzOSwyOTQuNTM3MyAyOC4yODQ5LDI5NC43NzAzIEMyOS4wNzk5LDI5NS4wMDIzIDI5LjUzNzksMjk1LjgzNDMgMjkuMzA1OSwyOTYuNjMwMyBDMjguNzUwOSwyOTguNTQxMyAyOC4yMDg5LDMwMC40NTkzIDI3LjY4MDksMzAyLjM4MTMgQzI3LjQ5ODksMzAzLjA0NzMgMjYuODk0OSwzMDMuNDg0MyAyNi4yMzU5LDMwMy40ODQzIEwyNi4yMzU5LDMwMy40ODQzIFogTTgxNy4yODA5LDMxMS42NDgzIEM4MTYuNjA5OSwzMTEuNjQ4MyA4MTUuOTk4OSwzMTEuMTk1MyA4MTUuODI3OSwzMTAuNTE1MyBDODE1LjMzODksMzA4LjU4MjMgODE0LjgzNzksMzA2LjY1MzMgODE0LjMyMTksMzA0LjczMTMgQzgxNC4xMDc5LDMwMy45MzEzIDgxNC41ODI5LDMwMy4xMDgzIDgxNS4zODE5LDMwMi44OTMzIEM4MTYuMTgwOSwzMDIuNjg1MyA4MTcuMDA1OSwzMDMuMTU0MyA4MTcuMjE5OSwzMDMuOTU0MyBDODE3LjczOTksMzA1Ljg5MDMgODE4LjI0NTksMzA3LjgzNDMgODE4LjczNTksMzA5Ljc4MTMgQzgxOC45Mzg5LDMxMC41ODUzIDgxOC40NTE5LDMxMS40MDAzIDgxNy42NDg5LDMxMS42MDIzIEM4MTcuNTI1OSwzMTEuNjMzMyA4MTcuNDAxOSwzMTEuNjQ4MyA4MTcuMjgwOSwzMTEuNjQ4MyBMODE3LjI4MDksMzExLjY0ODMgWiBNMjMuMjI5OSwzMTUuMTAwMyBDMjMuMTEyOSwzMTUuMTAwMyAyMi45OTM5LDMxNS4wODczIDIyLjg3NDksMzE1LjA1NzMgQzIyLjA2ODksMzE0Ljg2MjMgMjEuNTc1OSwzMTQuMDUwMyAyMS43NzE5LDMxMy4yNDYzIEMyMi4yNDY5LDMxMS4yOTQzIDIyLjczNDksMzA5LjM0NzMgMjMuMjM2OSwzMDcuNDA2MyBDMjMuNDQzOSwzMDYuNjAzMyAyNC4yNjA5LDMwNi4xMjQzIDI1LjA2MzksMzA2LjMyOTMgQzI1Ljg2NjksMzA2LjUzNjMgMjYuMzQ3OSwzMDcuMzU0MyAyNi4xNDA5LDMwOC4xNTYzIEMyNS42NDI5LDMxMC4wODQzIDI1LjE1ODksMzEyLjAxNjMgMjQuNjg1OSwzMTMuOTU1MyBDMjQuNTE4OSwzMTQuNjQwMyAyMy45MDU5LDMxNS4xMDAzIDIzLjIyOTksMzE1LjEwMDMgTDIzLjIyOTksMzE1LjEwMDMgWiBNODIwLjA0MjksMzIzLjMyNDMgQzgxOS4zNTM5LDMyMy4zMjQzIDgxOC43MzI5LDMyMi44NDczIDgxOC41Nzg5LDMyMi4xNDczIEM4MTguMTQ4OSwzMjAuMjAwMyA4MTcuNzAzOSwzMTguMjU3MyA4MTcuMjQ1OSwzMTYuMzIxMyBDODE3LjA1NDksMzE1LjUxNDMgODE3LjU1MzksMzE0LjcwNzMgODE4LjM1OTksMzE0LjUxNTMgQzgxOS4xNjI5LDMxNC4zMjQzIDgxOS45NzM5LDMxNC44MjQzIDgyMC4xNjU5LDMxNS42MzAzIEM4MjAuNjI2OSwzMTcuNTgyMyA4MjEuMDc0OSwzMTkuNTM4MyA4MjEuNTA3OSwzMjEuNTAxMyBDODIxLjY4NjksMzIyLjMwOTMgODIxLjE3NTksMzIzLjExMDMgODIwLjM2NjksMzIzLjI4OTMgQzgyMC4yNTc5LDMyMy4zMTMzIDgyMC4xNDg5LDMyMy4zMjQzIDgyMC4wNDI5LDMyMy4zMjQzIEw4MjAuMDQyOSwzMjMuMzI0MyBaIE0yMC41NzA5LDMyNi43OTkzIEMyMC40Njc5LDMyNi43OTkzIDIwLjM2MzksMzI2Ljc4OTMgMjAuMjU3OSwzMjYuNzY3MyBDMTkuNDQ4OSwzMjYuNTk1MyAxOC45Mjk5LDMyNS43OTgzIDE5LjEwMTksMzI0Ljk4OTMgQzE5LjUxODksMzIzLjAyMzMgMTkuOTQ5OSwzMjEuMDYzMyAyMC4zOTM5LDMxOS4xMDczIEMyMC41NzY5LDMxOC4zMDAzIDIxLjM3NTksMzE3Ljc5NDMgMjIuMTg5OSwzMTcuOTc3MyBDMjIuOTk3OSwzMTguMTYyMyAyMy41MDM5LDMxOC45NjUzIDIzLjMxOTksMzE5Ljc3MzMgQzIyLjg3NzksMzIxLjcxNDMgMjIuNDUwOSwzMjMuNjYwMyAyMi4wMzc5LDMyNS42MTEzIEMyMS44ODY5LDMyNi4zMTYzIDIxLjI2NDksMzI2Ljc5OTMgMjAuNTcwOSwzMjYuNzk5MyBMMjAuNTcwOSwzMjYuNzk5MyBaIE04MjIuNDU4OSwzMzUuMDc1MyBDODIxLjc1MjksMzM1LjA3NTMgODIxLjEyMzksMzM0LjU3NDMgODIwLjk4NjksMzMzLjg1NTMgQzgyMC42MTM5LDMzMS44OTUzIDgyMC4yMjY5LDMyOS45NDEzIDgxOS44MjU5LDMyNy45OTEzIEM4MTkuNjU5OSwzMjcuMTc5MyA4MjAuMTgxOSwzMjYuMzg2MyA4MjAuOTkzOSwzMjYuMjIwMyBDODIxLjc5NzksMzI2LjA0ODMgODIyLjU5NjksMzI2LjU3NTMgODIyLjc2NDksMzI3LjM4NzMgQzgyMy4xNjg5LDMyOS4zNTEzIDgyMy41NTg5LDMzMS4zMjEzIDgyMy45MzM5LDMzMy4yOTUzIEM4MjQuMDg4OSwzMzQuMTA4MyA4MjMuNTUzOSwzMzQuODkzMyA4MjIuNzQwOSwzMzUuMDQ4MyBDODIyLjY0NTksMzM1LjA2NjMgODIyLjU1MDksMzM1LjA3NTMgODIyLjQ1ODksMzM1LjA3NTMgTDgyMi40NTg5LDMzNS4wNzUzIFogTTE4LjI1ODksMzM4LjU3MTMgQzE4LjE3MDksMzM4LjU3MTMgMTguMDc5OSwzMzguNTYzMyAxNy45ODk5LDMzOC41NDczIEMxNy4xNzM5LDMzOC4zOTkzIDE2LjYzMjksMzM3LjYxODMgMTYuNzgxOSwzMzYuODAzMyBDMTcuMTM5OSwzMzQuODI3MyAxNy41MTE5LDMzMi44NTQzIDE3Ljg5ODksMzMwLjg4NzMgQzE4LjA1ODksMzMwLjA3NTMgMTguODM5OSwzMjkuNTQyMyAxOS42NTk5LDMyOS43MDUzIEMyMC40NzE5LDMyOS44NjQzIDIxLjAwMjksMzMwLjY1MjMgMjAuODQxOSwzMzEuNDY1MyBDMjAuNDU5OSwzMzMuNDE5MyAyMC4wODk5LDMzNS4zNzYzIDE5LjczMjksMzM3LjMzOTMgQzE5LjYwMTksMzM4LjA2MzMgMTguOTY5OSwzMzguNTcxMyAxOC4yNTg5LDMzOC41NzEzIEwxOC4yNTg5LDMzOC41NzEzIFogTTgyNC41Mjc5LDM0Ni44OTMzIEM4MjMuODAzOSwzNDYuODkzMyA4MjMuMTY2OSwzNDYuMzY4MyA4MjMuMDQ3OSwzNDUuNjMxMyBDODIyLjczMjksMzQzLjY2MTMgODIyLjQwNDksMzQxLjY5NjMgODIyLjA2MDksMzM5LjczNjMgQzgyMS45MTg5LDMzOC45MjEzIDgyMi40NjM5LDMzOC4xNDMzIDgyMy4yNzk5LDMzOC4wMDAzIEM4MjQuMDk3OSwzMzcuODU0MyA4MjQuODcyOSwzMzguNDAyMyA4MjUuMDE1OSwzMzkuMjE4MyBDODI1LjM2MTksMzQxLjE5MjMgODI1LjY5MzksMzQzLjE3MzMgODI2LjAxMDksMzQ1LjE1NjMgQzgyNi4xNDE5LDM0NS45NzQzIDgyNS41ODQ5LDM0Ni43NDQzIDgyNC43NjY5LDM0Ni44NzUzIEM4MjQuNjg2OSwzNDYuODg3MyA4MjQuNjA2OSwzNDYuODkzMyA4MjQuNTI3OSwzNDYuODkzMyBMODI0LjUyNzksMzQ2Ljg5MzMgWiBNMTYuMjkyOSwzNTAuNDA4MyBDMTYuMjE3OSwzNTAuNDA4MyAxNi4xNDE5LDM1MC40MDMzIDE2LjA2NjksMzUwLjM5MTMgQzE1LjI0NzksMzUwLjI2NzMgMTQuNjgzOSwzNDkuNTA0MyAxNC44MDY5LDM0OC42ODQzIEMxNS4xMDY5LDM0Ni42OTYzIDE1LjQyMTksMzQ0LjcxNDMgMTUuNzUwOSwzNDIuNzM2MyBDMTUuODg1OSwzNDEuOTE5MyAxNi42NTA5LDM0MS4zNjczIDE3LjQ3NTksMzQxLjUwMzMgQzE4LjI5MjksMzQxLjYzODMgMTguODQ0OSwzNDIuNDExMyAxOC43MDk5LDM0My4yMjgzIEMxOC4zODM5LDM0NS4xOTEzIDE4LjA3MTksMzQ3LjE1OTMgMTcuNzczOSwzNDkuMTMxMyBDMTcuNjYxOSwzNDkuODc1MyAxNy4wMjE5LDM1MC40MDgzIDE2LjI5MjksMzUwLjQwODMgTDE2LjI5MjksMzUwLjQwODMgWiBNODI2LjI0ODksMzU4Ljc2NjMgQzgyNS41MDU5LDM1OC43NjYzIDgyNC44NjA5LDM1OC4yMTUzIDgyNC43NjI5LDM1Ny40NjAzIEM4MjQuNTA1OSwzNTUuNDgxMyA4MjQuMjM0OSwzNTMuNTA3MyA4MjMuOTQ4OSwzNTEuNTM5MyBDODIzLjgyOTksMzUwLjcxODMgODI0LjM5NzksMzQ5Ljk1ODMgODI1LjIxNjksMzQ5LjgzOTMgQzgyNi4wMzA5LDM0OS43MjQzIDgyNi43OTc5LDM1MC4yODczIDgyNi45MTc5LDM1MS4xMDczIEM4MjcuMjA1OSwzNTMuMDkxMyA4MjcuNDc4OSwzNTUuMDgwMyA4MjcuNzM3OSwzNTcuMDczMyBDODI3Ljg0MzksMzU3Ljg5NDMgODI3LjI2NDksMzU4LjY0NzMgODI2LjQ0MzksMzU4Ljc1NDMgQzgyNi4zNzg5LDM1OC43NjIzIDgyNi4zMTI5LDM1OC43NjYzIDgyNi4yNDg5LDM1OC43NjYzIEw4MjYuMjQ4OSwzNTguNzY2MyBaIE0xNC42NzM5LDM2Mi4yOTYzIEMxNC42MTM5LDM2Mi4yOTYzIDE0LjU1MjksMzYyLjI5MjMgMTQuNDkxOSwzNjIuMjg1MyBDMTMuNjY5OSwzNjIuMTg1MyAxMy4wODM5LDM2MS40MzczIDEzLjE4MjksMzYwLjYxNTMgQzEzLjQyNDksMzU4LjYyMDMgMTMuNjgwOSwzNTYuNjI5MyAxMy45NTE5LDM1NC42NDMzIEMxNC4wNjI5LDM1My44MjIzIDE0LjgxODksMzUzLjI0MTMgMTUuNjM5OSwzNTMuMzU5MyBDMTYuNDYxOSwzNTMuNDcxMyAxNy4wMzU5LDM1NC4yMjczIDE2LjkyMzksMzU1LjA0ODMgQzE2LjY1NTksMzU3LjAxOTMgMTYuNDAxOSwzNTguOTk1MyAxNi4xNjE5LDM2MC45NzYzIEMxNi4wNjg5LDM2MS43MzczIDE1LjQyMjksMzYyLjI5NjMgMTQuNjczOSwzNjIuMjk2MyBMMTQuNjczOSwzNjIuMjk2MyBaIE04MjcuNjIwOSwzNzAuNjg2MyBDODI2Ljg1OTksMzcwLjY4NjMgODI2LjIwNzksMzcwLjEwOTMgODI2LjEzMDksMzY5LjMzNzMgQzgyNS45Mjk5LDM2Ny4zNTEzIDgyNS43MTY5LDM2NS4zNzAzIDgyNS40ODk5LDM2My4zOTMzIEM4MjUuMzk0OSwzNjIuNTcwMyA4MjUuOTg1OSwzNjEuODI2MyA4MjYuODA3OSwzNjEuNzMxMyBDODI3LjYyNjksMzYxLjYzNDMgODI4LjM3NTksMzYyLjIyNjMgODI4LjQ2OTksMzYzLjA0OTMgQzgyOC42OTk5LDM2NS4wNDIzIDgyOC45MTQ5LDM2Ny4wMzczIDgyOS4xMTQ5LDM2OS4wMzYzIEM4MjkuMTk3OSwzNjkuODYwMyA4MjguNTk2OSwzNzAuNTk2MyA4MjcuNzcyOSwzNzAuNjc4MyBDODI3LjcyMDksMzcwLjY4NDMgODI3LjY3MDksMzcwLjY4NjMgODI3LjYyMDksMzcwLjY4NjMgTDgyNy42MjA5LDM3MC42ODYzIFogTTEzLjQwNDksMzc0LjIyNTMgQzEzLjM1ODksMzc0LjIyNTMgMTMuMzEyOSwzNzQuMjIzMyAxMy4yNjU5LDM3NC4yMTkzIEMxMi40NDA5LDM3NC4xNDMzIDExLjgzMzksMzczLjQxNDMgMTEuOTA4OSwzNzIuNTg5MyBDMTIuMDkxOSwzNzAuNTg4MyAxMi4yOTA5LDM2OC41ODkzIDEyLjUwMjksMzY2LjU5NzMgQzEyLjU4OTksMzY1Ljc3MjMgMTMuMzM3OSwzNjUuMTY4MyAxNC4xNTE5LDM2NS4yNjQzIEMxNC45NzU5LDM2NS4zNTEzIDE1LjU3MjksMzY2LjA5MDMgMTUuNDg0OSwzNjYuOTE0MyBDMTUuMjc0OSwzNjguODkyMyAxNS4wNzg5LDM3MC44NzUzIDE0Ljg5NjksMzcyLjg2MjMgQzE0LjgyNTksMzczLjY0MDMgMTQuMTcxOSwzNzQuMjI1MyAxMy40MDQ5LDM3NC4yMjUzIEwxMy40MDQ5LDM3NC4yMjUzIFogTTgyOC42NDM5LDM4Mi42NDAzIEM4MjcuODY0OSwzODIuNjQwMyA4MjcuMjA1OSwzODIuMDM3MyA4MjcuMTQ5OSwzODEuMjQ3MyBDODI3LjAwNzksMzc5LjI1NjMgODI2Ljg1MjksMzc3LjI2OTMgODI2LjY4MzksMzc1LjI4NzMgQzgyNi42MTI5LDM3NC40NjEzIDgyNy4yMjQ5LDM3My43MzUzIDgyOC4wNDk5LDM3My42NjUzIEM4MjguODgyOSwzNzMuNTgyMyA4MjkuNjAxOSwzNzQuMjA3MyA4MjkuNjcyOSwzNzUuMDMxMyBDODI5Ljg0MjksMzc3LjAyOTMgODMwLjAwMDksMzc5LjAyOTMgODMwLjE0MTksMzgxLjAzNDMgQzgzMC4yMDA5LDM4MS44NjEzIDgyOS41Nzg5LDM4Mi41NzgzIDgyOC43NTI5LDM4Mi42MzYzIEM4MjguNzE1OSwzODIuNjM5MyA4MjguNjc5OSwzODIuNjQwMyA4MjguNjQzOSwzODIuNjQwMyBMODI4LjY0MzksMzgyLjY0MDMgWiBNMTIuNDg3OSwzODYuMTg4MyBDMTIuNDU1OSwzODYuMTg4MyAxMi40MjM5LDM4Ni4xODczIDEyLjM5MjksMzg2LjE4NTMgQzExLjU2NTksMzg2LjEzMzMgMTAuOTM2OSwzODUuNDIyMyAxMC45ODg5LDM4NC41OTUzIEMxMS4xMTI5LDM4Mi41ODkzIDExLjI1MjksMzgwLjU4ODMgMTEuNDA2OSwzNzguNTg5MyBDMTEuNDY5OSwzNzcuNzYyMyAxMi4yMDI5LDM3Ny4xMTQzIDEzLjAxNjksMzc3LjIwOTMgQzEzLjg0MjksMzc3LjI3MjMgMTQuNDYxOSwzNzcuOTkzMyAxNC4zOTY5LDM3OC44MTkzIEMxNC4yNDQ5LDM4MC44MDIzIDE0LjEwNjksMzgyLjc5MTMgMTMuOTgyOSwzODQuNzgxMyBDMTMuOTMyOSwzODUuNTc2MyAxMy4yNzI5LDM4Ni4xODgzIDEyLjQ4NzksMzg2LjE4ODMgTDEyLjQ4NzksMzg2LjE4ODMgWiBNODI5LjMxODksMzk0LjYxODMgQzgyOC41MTg5LDM5NC42MTgzIDgyNy44NTQ5LDM5My45ODczIDgyNy44MjA5LDM5My4xODAzIEM4MjcuNzM3OSwzOTEuMTg3MyA4MjcuNjM5OSwzODkuMTk3MyA4MjcuNTI3OSwzODcuMjEwMyBDODI3LjQ4MTksMzg2LjM4MjMgODI4LjExNDksMzg1LjY3NDMgODI4Ljk0MTksMzg1LjYyODMgQzgyOS43NjQ5LDM4NS42MDYzIDgzMC40NzY5LDM4Ni4yMTQzIDgzMC41MjM5LDM4Ny4wNDIzIEM4MzAuNjM1OSwzODkuMDQzMyA4MzAuNzMzOSwzOTEuMDQ3MyA4MzAuODE4OSwzOTMuMDU1MyBDODMwLjg1MjksMzkzLjg4MjMgODMwLjIxMDksMzk0LjU4MjMgODI5LjM4MTksMzk0LjYxNzMgQzgyOS4zNjE5LDM5NC42MTgzIDgyOS4zMzk5LDM5NC42MTgzIDgyOS4zMTg5LDM5NC42MTgzIEw4MjkuMzE4OSwzOTQuNjE4MyBaIE0xMS45MTM5LDM5OC4xNzMzIEMxMS44OTY5LDM5OC4xNzMzIDExLjg3OTksMzk4LjE3MzMgMTEuODYyOSwzOTguMTcyMyBDMTEuMDM0OSwzOTguMTQ0MyAxMC4zODU5LDM5Ny40NTEzIDEwLjQxMzksMzk2LjYyMzMgQzEwLjQ3OTksMzk0LjYxNDMgMTAuNTYwOSwzOTIuNjA4MyAxMC42NTY5LDM5MC42MDczIEMxMC42OTU5LDM4OS43ODEzIDExLjM4MzksMzg5LjE1ODMgMTIuMjI1OSwzODkuMTgwMyBDMTMuMDUyOSwzODkuMjE5MyAxMy42OTI5LDM4OS45MjMzIDEzLjY1MjksMzkwLjc1MDMgQzEzLjU1ODksMzkyLjczNzMgMTMuNDc3OSwzOTQuNzI3MyAxMy40MTE5LDM5Ni43MjIzIEMxMy4zODQ5LDM5Ny41MzMzIDEyLjcxODksMzk4LjE3MzMgMTEuOTEzOSwzOTguMTczMyBMMTEuOTEzOSwzOTguMTczMyBaIE04MjkuNjQ3OSw0MDYuNjExMyBDODI4LjgyNzksNDA2LjYxMTMgODI4LjE1ODksNDA1Ljk1MjMgODI4LjE0NzksNDA1LjEzMDMgQzgyOC4xMjI5LDQwMy4xMzQzIDgyOC4wODI5LDQwMS4xNDMzIDgyOC4wMjg5LDM5OS4xNTQzIEM4MjguMDA1OSwzOTguMzI2MyA4MjguNjU4OSwzOTcuNjM2MyA4MjkuNDg2OSwzOTcuNjE0MyBDODI5LjUwMDksMzk3LjYxMzMgODI5LjUxNDksMzk3LjYxMzMgODI5LjUyODksMzk3LjYxMzMgQzgzMC4zMzg5LDM5Ny42MTMzIDgzMS4wMDU5LDM5OC4yNTczIDgzMS4wMjY5LDM5OS4wNzIzIEM4MzEuMDgyOSw0MDEuMDc1MyA4MzEuMTIyOSw0MDMuMDgyMyA4MzEuMTQ3OSw0MDUuMDkyMyBDODMxLjE1ODksNDA1LjkyMTMgODMwLjQ5NTksNDA2LjYwMDMgODI5LjY2NjksNDA2LjYxMTMgTDgyOS42NDc5LDQwNi42MTEzIFogTTExLjY4NzksNDEwLjE1NjMgTDExLjY4MDksNDEwLjE1NjMgQzEwLjg1MjksNDEwLjE1MjMgMTAuMTgzOSw0MDkuNDc4MyAxMC4xODc4ODIyLDQwOC42NDkzIEMxMC4xOTY5LDQwNi42MzkzIDEwLjIxOTksNDA0LjYzMzMgMTAuMjU2OSw0MDIuNjMxMyBDMTAuMjcyOSw0MDEuODEyMyAxMC45NDA5LDQwMS4xNTkzIDExLjc1NTksNDAxLjE1OTMgTDExLjc4NTksNDAxLjE1OTMgQzEyLjYxMzksNDAxLjE3NDMgMTMuMjcyOSw0MDEuODU4MyAxMy4yNTY5LDQwMi42ODczIEMxMy4yMTk5LDQwNC42NzQzIDEzLjE5NjksNDA2LjY2NzMgMTMuMTg3OSw0MDguNjYzMyBDMTMuMTgzOSw0MDkuNDg5MyAxMi41MTI5LDQxMC4xNTYzIDExLjY4NzksNDEwLjE1NjMgTDExLjY4NzksNDEwLjE1NjMgWiBNODI5LjYzMDksNDE4LjYwOTMgTDgyOS42MDY5LDQxOC42MDkzIEM4MjguNzc4OSw0MTguNTk2MyA4MjguMTE3OSw0MTcuOTE0MyA4MjguMTMwOSw0MTcuMDg2MyBDODI4LjE2MTksNDE1LjA5NjMgODI4LjE3ODksNDEzLjEwMzMgODI4LjE4MTksNDExLjEwODMgQzgyOC4xODI5LDQxMC4yODAzIDgyOC44NTQ5LDQwOS42MTAzIDgyOS42ODE5LDQwOS42MTAzIEw4MjkuNjgzOSw0MDkuNjEwMyBDODMwLjUxMjksNDA5LjYxMTMgODMxLjE4MjksNDEwLjI4NDMgODMxLjE4MTkwMSw0MTEuMTEyMyBDODMxLjE3ODksNDEzLjEyMjMgODMxLjE2MTksNDE1LjEzMDMgODMxLjEzMDksNDE3LjEzMjMgQzgzMS4xMTc5LDQxNy45NTMzIDgzMC40NDc5LDQxOC42MDkzIDgyOS42MzA5LDQxOC42MDkzIEw4MjkuNjMwOSw0MTguNjA5MyBaIE0xMS44MDQ5LDQyMi4xNTIzIEMxMC45OTM5LDQyMi4xNTIzIDEwLjMyNjksNDIxLjUwNTMgMTAuMzA1OSw0MjAuNjg5MyBDMTAuMjU2OSw0MTguNjg1MyAxMC4yMjI5LDQxNi42NzkzIDEwLjIwMzksNDE0LjY2OTMgQzEwLjE5NTksNDEzLjg0MDMgMTAuODYwOSw0MTMuMTYyMyAxMS42ODg5LDQxMy4xNTQzIEwxMS43MDM5LDQxMy4xNTQzIEMxMi41MjU5LDQxMy4xNTQzIDEzLjE5NTksNDEzLjgxNjMgMTMuMjAzOSw0MTQuNjM5MyBDMTMuMjIyOSw0MTYuNjM0MyAxMy4yNTY5LDQxOC42MjczIDEzLjMwNTksNDIwLjYxNTMgQzEzLjMyNTksNDIxLjQ0NDMgMTIuNjcxOSw0MjIuMTMxMyAxMS44NDI5LDQyMi4xNTIzIEwxMS44MDQ5LDQyMi4xNTIzIFogTTgyOS4yNjg5LDQzMC41OTIzIEM4MjkuMjQ2OSw0MzAuNTkyMyA4MjkuMjIzOSw0MzAuNTkyMyA4MjkuMjAxOSw0MzAuNTkxMyBDODI4LjM3MzksNDMwLjU1NDMgODI3LjczMjksNDI5Ljg1MzMgODI3Ljc2ODksNDI5LjAyNjMgQzgyNy44NTc5LDQyNy4wMzgzIDgyNy45MzI5LDQyNS4wNDczIDgyNy45OTM5LDQyMy4wNTIzIEM4MjguMDE4OSw0MjIuMjIzMyA4MjguNzQ2OSw0MjEuNTU0MyA4MjkuNTM3OSw0MjEuNTk4MyBDODMwLjM2NTksNDIxLjYyMzMgODMxLjAxNjksNDIyLjMxNTMgODMwLjk5MTksNDIzLjE0MjMgQzgzMC45MzA5LDQyNS4xNTIzIDgzMC44NTU5LDQyNy4xNTczIDgzMC43NjY5LDQyOS4xNTkzIEM4MzAuNzMwOSw0MjkuOTY0MyA4MzAuMDY2OSw0MzAuNTkyMyA4MjkuMjY4OSw0MzAuNTkyMyBMODI5LjI2ODksNDMwLjU5MjMgWiBNMTIuMjcwOSw0MzQuMTQxMyBDMTEuNDc4OSw0MzQuMTQxMyAxMC44MTY5LDQzMy41MjEzIDEwLjc3MzksNDMyLjcyMTMgQzEwLjY2NzksNDMwLjcyMDMgMTAuNTc0OSw0MjguNzE0MyAxMC40OTY5LDQyNi43MDczIEMxMC40NjQ5LDQyNS44NzkzIDExLjEwODksNDI1LjE4MTMgMTEuOTM2OSw0MjUuMTQ5MyBDMTIuNzg4OSw0MjUuMTM3MyAxMy40NjM5LDQyNS43NjIzIDEzLjQ5NDksNDI2LjU4OTMgQzEzLjU3MjksNDI4LjU4NDMgMTMuNjYzOSw0MzAuNTc0MyAxMy43Njk5LDQzMi41NjEzIEMxMy44MTM5LDQzMy4zODgzIDEzLjE3ODksNDM0LjA5NTMgMTIuMzUxOSw0MzQuMTM5MyBDMTIuMzI0OSw0MzQuMTQwMyAxMi4yOTc5LDQzNC4xNDEzIDEyLjI3MDksNDM0LjE0MTMgTDEyLjI3MDksNDM0LjE0MTMgWiBNODI4LjU1OTksNDQyLjU2OTMgQzgyOC41MjE5LDQ0Mi41NjkzIDgyOC40ODQ5LDQ0Mi41NjgzIDgyOC40NDc5LDQ0Mi41NjUzIEM4MjcuNjIxOSw0NDIuNTA0MyA4MjcuMDAxOSw0NDEuNzg0MyA4MjcuMDYxOSw0NDAuOTU5MyBDODI3LjIwOTksNDM4Ljk3NDMgODI3LjM0MDksNDM2Ljk4NzMgODI3LjQ1OTksNDM0Ljk5NDMgQzgyNy41MDc5LDQzNC4xNjgzIDgyOC4yMTI5LDQzMy41NDEzIDgyOS4wNDU5LDQzMy41ODYzIEM4MjkuODcxOSw0MzMuNjM0MyA4MzAuNTAyOSw0MzQuMzQ0MyA4MzAuNDUzOSw0MzUuMTcyMyBDODMwLjMzNTksNDM3LjE3ODMgODMwLjIwMTksNDM5LjE4MTMgODMwLjA1MzksNDQxLjE3OTMgQzgyOS45OTU5LDQ0MS45NjgzIDgyOS4zMzc5LDQ0Mi41NjkzIDgyOC41NTk5LDQ0Mi41NjkzIEw4MjguNTU5OSw0NDIuNTY5MyBaIE0xMy4wODM5LDQ0Ni4xMTEzIEMxMi4zMTA5LDQ0Ni4xMTEzIDExLjY1NDksNDQ1LjUxODMgMTEuNTg5OSw0NDQuNzM0MyBDMTEuNDI1OSw0NDIuNzM3MyAxMS4yNzQ5LDQ0MC43MzUzIDExLjEzODksNDM4LjczMDMgQzExLjA4MjksNDM3LjkwNDMgMTEuNzA3OSw0MzcuMTg4MyAxMi41MzM5LDQzNy4xMzIzIEMxMy4zNDU5LDQzNy4wNTczIDE0LjA3NTksNDM3LjcwMTMgMTQuMTMxOSw0MzguNTI3MyBDMTQuMjY2OSw0NDAuNTE4MyAxNC40MTY5LDQ0Mi41MDUzIDE0LjU4MDksNDQ0LjQ4ODMgQzE0LjY0NzksNDQ1LjMxMzMgMTQuMDM0OSw0NDYuMDM4MyAxMy4yMDg5LDQ0Ni4xMDYzIEMxMy4xNjY5LDQ0Ni4xMDkzIDEzLjEyNTksNDQ2LjExMTMgMTMuMDgzOSw0NDYuMTExMyBMMTMuMDgzOSw0NDYuMTExMyBaIE04MjcuNTAwOSw0NTQuNTIwMyBDODI3LjQ0ODksNDU0LjUyMDMgODI3LjM5NjksNDU0LjUxNzMgODI3LjM0MzksNDU0LjUxMjMgQzgyNi41MTk5LDQ1NC40MjczIDgyNS45MjE5LDQ1My42OTAzIDgyNi4wMDU5LDQ1Mi44NjYzIEM4MjYuMjEwOSw0NTAuODg3MyA4MjYuNDAxOSw0NDguOTA0MyA4MjYuNTc2OSw0NDYuOTE3MyBDODI2LjY0ODksNDQ2LjA5MTMgODI3LjM2ODksNDQ1LjQ3ODMgODI4LjIwMjksNDQ1LjU1NDMgQzgyOS4wMjc5LDQ0NS42MjczIDgyOS42Mzc5LDQ0Ni4zNTUzIDgyOS41NjQ5LDQ0Ny4xODAzIEM4MjkuMzg3OSw0NDkuMTgzMyA4MjkuMTk2OSw0NTEuMTgwMyA4MjguOTkwOSw0NTMuMTc0MyBDODI4LjkxMDksNDUzLjk0NjMgODI4LjI1ODksNDU0LjUyMDMgODI3LjUwMDksNDU0LjUyMDMgTDgyNy41MDA5LDQ1NC41MjAzIFogTTE0LjI0NTksNDU4LjA1MjMgQzEzLjQ5MTksNDU4LjA1MjMgMTIuODQyOSw0NTcuNDg2MyAxMi43NTY5LDQ1Ni43MTkzIEMxMi41MzM5LDQ1NC43MjgzIDEyLjMyNDksNDUyLjczMTMgMTIuMTI5OSw0NTAuNzMxMyBDMTIuMDQ4OSw0NDkuOTA3MyAxMi42NTI5LDQ0OS4xNzMzIDEzLjQ3NjksNDQ5LjA5MjMgQzE0LjI5MjksNDQ5LjAwODMgMTUuMDMzOSw0NDkuNjE1MyAxNS4xMTU5LDQ1MC40NDAzIEMxNS4zMDg5LDQ1Mi40MjYzIDE1LjUxNTksNDU0LjQwODMgMTUuNzM3OSw0NTYuMzg1MyBDMTUuODMwOSw0NTcuMjA5MyAxNS4yMzc5LDQ1Ny45NTEzIDE0LjQxNDksNDU4LjA0MzMgQzE0LjM1NzksNDU4LjA0OTMgMTQuMzAwOSw0NTguMDUyMyAxNC4yNDU5LDQ1OC4wNTIzIEwxNC4yNDU5LDQ1OC4wNTIzIFogTTgyNi4wOTM5LDQ2Ni40MzUzIEM4MjYuMDI3OSw0NjYuNDM1MyA4MjUuOTYxOSw0NjYuNDMxMyA4MjUuODkzOSw0NjYuNDIzMyBDODI1LjA3MjksNDY2LjMxMzMgODI0LjQ5NTksNDY1LjU1ODMgODI0LjYwNDksNDY0LjczNzMgQzgyNC44Njg5LDQ2Mi43NjUzIDgyNS4xMTY5LDQ2MC43ODgzIDgyNS4zNTA5LDQ1OC44MDYzIEM4MjUuNDQ3OSw0NTcuOTg0MyA4MjYuMTc0OSw0NTcuMzg3MyA4MjcuMDE2OSw0NTcuNDk0MyBDODI3LjgzODksNDU3LjU5MDMgODI4LjQyNjksNDU4LjMzNzMgODI4LjMyOTksNDU5LjE1OTMgQzgyOC4wOTI5LDQ2MS4xNTUzIDgyNy44NDM5LDQ2My4xNDYzIDgyNy41Nzk5LDQ2NS4xMzMzIEM4MjcuNDc4OSw0NjUuODg3MyA4MjYuODM0OSw0NjYuNDM1MyA4MjYuMDkzOSw0NjYuNDM1MyBMODI2LjA5MzksNDY2LjQzNTMgWiBNMTUuNzU1OSw0NjkuOTU1MyBDMTUuMDE5OSw0NjkuOTU1MyAxNC4zNzg5LDQ2OS40MTQzIDE0LjI3MTksNDY4LjY2NjMgQzEzLjk5MDksNDY2LjY4MDMgMTMuNzIyOSw0NjQuNjkyMyAxMy40Njk5LDQ2Mi42OTgzIEMxMy4zNjU5LDQ2MS44NzczIDEzLjk0NzksNDYxLjEyNjMgMTQuNzY5OSw0NjEuMDIxMyBDMTUuNTg3OSw0NjAuOTI3MyAxNi4zNDE5LDQ2MS40OTkzIDE2LjQ0NjksNDYyLjMyMTMgQzE2LjY5NzksNDY0LjI5OTMgMTYuOTYzOSw0NjYuMjc0MyAxNy4yNDI5LDQ2OC4yNDQzIEMxNy4zNTg5LDQ2OS4wNjQzIDE2Ljc4NzksNDY5LjgyNDMgMTUuOTY3OSw0NjkuOTQwMyBDMTUuODk2OSw0NjkuOTUwMyAxNS44MjU5LDQ2OS45NTUzIDE1Ljc1NTksNDY5Ljk1NTMgTDE1Ljc1NTksNDY5Ljk1NTMgWiBNODI0LjMzODksNDc4LjMwMzMgQzgyNC4yNTc5LDQ3OC4zMDMzIDgyNC4xNzY5LDQ3OC4yOTgzIDgyNC4wOTQ5LDQ3OC4yODQzIEM4MjMuMjc3OSw0NzguMTUxMyA4MjIuNzIyOSw0NzcuMzgwMyA4MjIuODU1OSw0NzYuNTYyMyBDODIzLjE3NTksNDc0LjU5NzMgODIzLjQ4MjksNDcyLjYzMDMgODIzLjc3MzksNDcwLjY1NTMgQzgyMy44OTQ5LDQ2OS44MzUzIDgyNC42NjI5LDQ2OS4yNzEzIDgyNS40Nzc5LDQ2OS4zOTAzIEM4MjYuMjk3OSw0NjkuNTEyMyA4MjYuODYzOSw0NzAuMjc0MyA4MjYuNzQxOSw0NzEuMDk0MyBDODI2LjQ0NzksNDczLjA4MzMgODI2LjEzODksNDc1LjA2NjMgODI1LjgxNjksNDc3LjA0NTMgQzgyNS42OTY5LDQ3Ny43ODEzIDgyNS4wNTk5LDQ3OC4zMDMzIDgyNC4zMzg5LDQ3OC4zMDMzIEw4MjQuMzM4OSw0NzguMzAzMyBaIE0xNy42MTU5LDQ4MS44MDgzIEMxNi44OTg5LDQ4MS44MDgzIDE2LjI2NDksNDgxLjI5MzMgMTYuMTM4OSw0ODAuNTYzMyBDMTUuNzk4OSw0NzguNTg3MyAxNS40NzM5LDQ3Ni42MDYzIDE1LjE2MjksNDc0LjYyMTMgQzE1LjAzMzksNDczLjgwMjMgMTUuNTkyOSw0NzMuMDM1MyAxNi40MTE5LDQ3Mi45MDczIEMxNy4yMjk5LDQ3Mi43NzUzIDE3Ljk5NzksNDczLjMzNzMgMTguMTI1OSw0NzQuMTU2MyBDMTguNDM0OSw0NzYuMTI2MyAxOC43NTc5LDQ3OC4wOTIzIDE5LjA5NTksNDgwLjA1MzMgQzE5LjIzNjksNDgwLjg3MDMgMTguNjg4OSw0ODEuNjQ2MyAxNy44NzI5LDQ4MS43ODczIEMxNy43ODY5LDQ4MS44MDEzIDE3LjcwMDksNDgxLjgwODMgMTcuNjE1OSw0ODEuODA4MyBMMTcuNjE1OSw0ODEuODA4MyBaIE04MjIuMjMyOSw0OTAuMTE2MyBDODIyLjEzNzksNDkwLjExNjMgODIyLjA0MjksNDkwLjEwNzMgODIxLjk0NjksNDkwLjA4OTMgQzgyMS4xMzI5LDQ4OS45MzEzIDgyMC42MDA5LDQ4OS4xNDQzIDgyMC43NTc5LDQ4OC4zMzIzIEM4MjEuMTM0OSw0ODYuMzc4MyA4MjEuNDk5OSw0ODQuNDE5MyA4MjEuODQ5OSw0ODIuNDU0MyBDODIxLjk5NTksNDgxLjYzODMgODIyLjc3ODksNDgxLjA5ODMgODIzLjU4OTksNDgxLjI0MTMgQzgyNC40MDU5LDQ4MS4zODYzIDgyNC45NDg5LDQ4Mi4xNjYzIDgyNC44MDI5LDQ4Mi45ODEzIEM4MjQuNDUwOSw0ODQuOTYwMyA4MjQuMDgzOSw0ODYuOTMyMyA4MjMuNzAzOSw0ODguOTAwMyBDODIzLjU2NDksNDg5LjYxODMgODIyLjkzNjksNDkwLjExNjMgODIyLjIzMjksNDkwLjExNjMgTDgyMi4yMzI5LDQ5MC4xMTYzIFogTTE5LjgyMTksNDkzLjYwMTMgQzE5LjEyMjksNDkzLjYwMTMgMTguNDk3OSw0OTMuMTEwMyAxOC4zNTI5LDQ5Mi4zOTgzIEMxNy45NTY5LDQ5MC40MzMzIDE3LjU3MjksNDg4LjQ2NDMgMTcuMjAyOSw0ODYuNDg5MyBDMTcuMDQ5OSw0ODUuNjc0MyAxNy41ODc5LDQ4NC44OTAzIDE4LjQwMTksNDg0LjczODMgQzE5LjIxMzksNDg0LjU4ODMgMTkuOTk5OSw0ODUuMTIzMyAyMC4xNTE5LDQ4NS45MzYzIEMyMC41MTc5LDQ4Ny44OTczIDIwLjg5OTksNDg5Ljg1MzMgMjEuMjk0OSw0OTEuODA0MyBDMjEuNDU4OSw0OTIuNjE2MyAyMC45MzI5LDQ5My40MDgzIDIwLjEyMDksNDkzLjU3MjMgQzIwLjAyMDksNDkzLjU5MTMgMTkuOTIwOSw0OTMuNjAxMyAxOS44MjE5LDQ5My42MDEzIEwxOS44MjE5LDQ5My42MDEzIFogTTgxOS43ODA5LDUwMS44NjAzIEM4MTkuNjcyOSw1MDEuODYwMyA4MTkuNTYxOSw1MDEuODQ4MyA4MTkuNDUxOSw1MDEuODI0MyBDODE4LjY0MzksNTAxLjY0MjMgODE4LjEzNDksNTAwLjg0MDMgODE4LjMxNTksNTAwLjAzMjMgQzgxOC43NTA5LDQ5OC4wOTAzIDgxOS4xNzI5LDQ5Ni4xNDMzIDgxOS41Nzk5LDQ5NC4xOTAzIEM4MTkuNzQ5OSw0OTMuMzgwMyA4MjAuNTQyOSw0OTIuODU4MyA4MjEuMzU0OSw0OTMuMDI4MyBDODIyLjE2NTksNDkzLjE5ODMgODIyLjY4NTksNDkzLjk5MjMgODIyLjUxNjksNDk0LjgwMzMgQzgyMi4xMDU5LDQ5Ni43NzAzIDgyMS42ODA5LDQ5OC43MzEzIDgyMS4yNDM5LDUwMC42ODgzIEM4MjEuMDg3OSw1MDEuMzg1MyA4MjAuNDY3OSw1MDEuODYwMyA4MTkuNzgwOSw1MDEuODYwMyBMODE5Ljc4MDksNTAxLjg2MDMgWiBNMjIuMzc3OSw1MDUuMzI1MyBDMjEuNjk1OSw1MDUuMzI1MyAyMS4wNzk5LDUwNC44NTgzIDIwLjkxNzksNTA0LjE2NjMgQzIwLjQ2MTksNTAyLjIxNDMgMjAuMDE5OSw1MDAuMjU1MyAxOS41OTE5LDQ5OC4yOTIzIEMxOS40MTY5LDQ5Ny40ODIzIDE5LjkyODksNDk2LjY4MzMgMjAuNzM4OSw0OTYuNTA2MyBDMjEuNTQxOSw0OTYuMzMwMyAyMi4zNDU5LDQ5Ni44NDIzIDIyLjUyMzksNDk3LjY1MzMgQzIyLjk0NzksNDk5LjYwMjMgMjMuMzg2OSw1MDEuNTQ2MyAyMy44Mzk5LDUwMy40ODQzIEMyNC4wMjc5LDUwNC4yOTEzIDIzLjUyNTksNTA1LjA5NzMgMjIuNzE4OSw1MDUuMjg2MyBDMjIuNjA0OSw1MDUuMzEyMyAyMi40ODk5LDUwNS4zMjUzIDIyLjM3NzksNTA1LjMyNTMgTDIyLjM3NzksNTA1LjMyNTMgWiBNODE2Ljk4MzksNTEzLjUyNzMgQzgxNi44NjA5LDUxMy41MjczIDgxNi43MzU5LDUxMy41MTIzIDgxNi42MTE5LDUxMy40ODAzIEM4MTUuODA4OSw1MTMuMjc1MyA4MTUuMzI0OSw1MTIuNDU5MyA4MTUuNTI5OSw1MTEuNjU2MyBDODE2LjAyMTksNTA5LjcyNzMgODE2LjUwMDksNTA3Ljc5MzMgODE2Ljk2NjksNTA1Ljg1MzMgQzgxNy4xNjE5LDUwNS4wNDgzIDgxNy45NzM5LDUwNC41NTMzIDgxOC43NzU5LDUwNC43NDYzIEM4MTkuNTgxOSw1MDQuOTM5MyA4MjAuMDc3OSw1MDUuNzQ5MyA4MTkuODgyOSw1MDYuNTU0MyBDODE5LjQxNDksNTA4LjUwNzMgODE4LjkzMTksNTEwLjQ1NjMgODE4LjQzNTksNTEyLjM5ODMgQzgxOC4yNjI5LDUxMy4wNzYzIDgxNy42NTI5LDUxMy41MjczIDgxNi45ODM5LDUxMy41MjczIEw4MTYuOTgzOSw1MTMuNTI3MyBaIE0yNS4yNzY5LDUxNi45NjUzIEMyNC42MTI5LDUxNi45NjUzIDI0LjAwNTksNTE2LjUyMjMgMjMuODI3OSw1MTUuODQ5MyBDMjMuMzEzOSw1MTMuOTExMyAyMi44MTM5LDUxMS45NjYzIDIyLjMyODksNTEwLjAxNzMgQzIyLjEyOTksNTA5LjIxNDMgMjIuNjE4OSw1MDguMzk5MyAyMy40MjI5LDUwOC4xOTkzIEMyNC4yMjU5LDUwNy45OTczIDI1LjA0MDksNTA4LjQ4ODMgMjUuMjQwOSw1MDkuMjkzMyBDMjUuNzIxOSw1MTEuMjI4MyAyNi4yMTc5LDUxMy4xNTczIDI2LjcyNzksNTE1LjA4MjMgQzI2LjkzOTksNTE1Ljg4MjMgMjYuNDYyOSw1MTYuNzA0MyAyNS42NjE5LDUxNi45MTYzIEMyNS41MzM5LDUxNi45NTAzIDI1LjQwMzksNTE2Ljk2NTMgMjUuMjc2OSw1MTYuOTY1MyBMMjUuMjc2OSw1MTYuOTY1MyBaIE04MTMuODQzOSw1MjUuMTA2MyBDODEzLjcwNjksNTI1LjEwNjMgODEzLjU2NzksNTI1LjA4ODMgODEzLjQyODksNTI1LjA0ODMgQzgxMi42MzE5LDUyNC44MTkzIDgxMi4xNzI5LDUyMy45ODgzIDgxMi40MDE5LDUyMy4xOTIzIEM4MTIuOTUxOSw1MjEuMjc5MyA4MTMuNDg2OSw1MTkuMzYxMyA4MTQuMDA3OSw1MTcuNDM1MyBDODE0LjIyNDksNTE2LjYzNTMgODE1LjA0NDksNTE2LjE2NjMgODE1Ljg0ODksNTE2LjM4MDMgQzgxNi42NDc5LDUxNi41OTYzIDgxNy4xMjA5LDUxNy40MjEzIDgxNi45MDQ5LDUxOC4yMjAzIEM4MTYuMzc5OSw1MjAuMTYwMyA4MTUuODM4OSw1MjIuMDkzMyA4MTUuMjg0OSw1MjQuMDIwMyBDODE1LjA5NTksNTI0LjY3ODMgODE0LjQ5NTksNTI1LjEwNjMgODEzLjg0MzksNTI1LjEwNjMgTDgxMy44NDM5LDUyNS4xMDYzIFogTTI4LjUxNzksNTI4LjUxNzMgQzI3Ljg3MTksNTI4LjUxNzMgMjcuMjczOSw1MjguMDk1MyAyNy4wODA5LDUyNy40NDMzIEMyNi41MTA5LDUyNS41MjAzIDI1Ljk1NDksNTIzLjU5MjMgMjUuNDExOSw1MjEuNjU5MyBDMjUuMTg3OSw1MjAuODYxMyAyNS42NTI5LDUyMC4wMzMzIDI2LjQ1MDksNTE5LjgwOTMgQzI3LjI0NjksNTE5LjU4NzMgMjguMDc1OSw1MjAuMDUwMyAyOC4yOTk5LDUyMC44NDgzIEMyOC44Mzk5LDUyMi43NjgzIDI5LjM5MTksNTI0LjY4MjMgMjkuOTU3OSw1MjYuNTkxMyBDMzAuMTkyOSw1MjcuMzg1MyAyOS43Mzk5LDUyOC4yMjAzIDI4Ljk0NDksNTI4LjQ1NjMgQzI4LjgwMjksNTI4LjQ5ODMgMjguNjU5OSw1MjguNTE3MyAyOC41MTc5LDUyOC41MTczIEwyOC41MTc5LDUyOC41MTczIFogTTgxMC4zNjA5LDUzNi41ODkzIEM4MTAuMjA5OSw1MzYuNTg5MyA4MTAuMDU1OSw1MzYuNTY2MyA4MDkuOTAzOSw1MzYuNTE3MyBDODA5LjExNDksNTM2LjI2NTMgODA4LjY3OTksNTM1LjQyMTMgODA4LjkzMTksNTM0LjYzMTMgQzgwOS41Mzc5LDUzMi43MzYzIDgxMC4xMzA5LDUzMC44MzQzIDgxMC43MDg5LDUyOC45MjUzIEM4MTAuOTQ4OSw1MjguMTMxMyA4MTEuNzkwOSw1MjcuNjg3MyA4MTIuNTc4OSw1MjcuOTI0MyBDODEzLjM3MTksNTI4LjE2NTMgODEzLjgxOTksNTI5LjAwMjMgODEzLjU3OTksNTI5Ljc5NTMgQzgxMi45OTc5LDUzMS43MTgzIDgxMi40MDA5LDUzMy42MzQzIDgxMS43ODk5LDUzNS41NDYzIEM4MTEuNTg1OSw1MzYuMTgyMyA4MTAuOTk2OSw1MzYuNTg5MyA4MTAuMzYwOSw1MzYuNTg5MyBMODEwLjM2MDksNTM2LjU4OTMgWiBNMzIuMTA4OSw1MzkuOTkyMyBDMzEuNDc4OSw1MzkuOTkyMyAzMC44OTE5LDUzOS41OTIzIDMwLjY4MzksNTM4Ljk2MjMgQzMwLjA1MzksNTM3LjA0ODMgMjkuNDM3OSw1MzUuMTMwMyAyOC44MzY5LDUzMy4yMDQzIEMyOC41ODk5LDUzMi40MTQzIDI5LjAyOTksNTMxLjU3MjMgMjkuODIwOSw1MzEuMzI1MyBDMzAuNjA2OSw1MzEuMDc4MyAzMS40NTI5LDUzMS41MTgzIDMxLjY5OTksNTMyLjMwOTMgQzMyLjI5NzksNTM0LjIxOTMgMzIuOTA3OSw1MzYuMTI1MyAzMy41MzM5LDUzOC4wMjIzIEMzMy43OTI5LDUzOC44MDkzIDMzLjM2NDksNTM5LjY1NzMgMzIuNTc4OSw1MzkuOTE3MyBDMzIuNDIyOSw1MzkuOTY3MyAzMi4yNjM5LDUzOS45OTIzIDMyLjEwODksNTM5Ljk5MjMgTDMyLjEwODksNTM5Ljk5MjMgWiBNODA2LjU0MTksNTQ3Ljk2MzMgQzgwNi4zNzY5LDU0Ny45NjMzIDgwNi4yMDc5LDU0Ny45MzUzIDgwNi4wNDM5LDU0Ny44NzgzIEM4MDUuMjYxOSw1NDcuNjAyMyA4MDQuODUwOSw1NDYuNzQ2MyA4MDUuMTI2OSw1NDUuOTY0MyBDODA1Ljc4ODksNTQ0LjA4NzMgODA2LjQzNTksNTQyLjIwMjMgODA3LjA3MTksNTQwLjMxMjMgQzgwNy4zMzY5LDUzOS41MjgzIDgwOC4xODI5LDUzOS4xMDQzIDgwOC45NzE5LDUzOS4zNjkzIEM4MDkuNzU2OSw1MzkuNjMyMyA4MTAuMTc4OSw1NDAuNDg0MyA4MDkuOTE1OSw1NDEuMjY5MyBDODA5LjI3NTksNTQzLjE3MzMgODA4LjYyMjksNTQ1LjA2OTMgODA3Ljk1NjksNTQ2Ljk2MTMgQzgwNy43Mzg5LDU0Ny41NzgzIDgwNy4xNTk5LDU0Ny45NjMzIDgwNi41NDE5LDU0Ny45NjMzIEw4MDYuNTQxOSw1NDcuOTYzMyBaIE0zNi4wNDQ5LDU1MS4zNzYzIEMzNS40MzA5LDU1MS4zNzYzIDM0Ljg1NDksNTUwLjk5NzMgMzQuNjMzOSw1NTAuMzg3MyBDMzMuOTQ3OSw1NDguNDk0MyAzMy4yNzU5LDU0Ni41OTQzIDMyLjYxNjksNTQ0LjY4OTMgQzMyLjM0NTksNTQzLjkwNjMgMzIuNzYwOSw1NDMuMDUxMyAzMy41NDQ5LDU0Mi43ODEzIEMzNC4zMjc5LDU0Mi41MTEzIDM1LjE4MTksNTQyLjkyNjMgMzUuNDUyOSw1NDMuNzA5MyBDMzYuMTA1OSw1NDUuNjAwMyAzNi43NzM5LDU0Ny40ODYzIDM3LjQ1NDksNTQ5LjM2NTMgQzM3LjczNjksNTUwLjE0MzMgMzcuMzM0OSw1NTEuMDA0MyAzNi41NTQ5LDU1MS4yODYzIEMzNi4zODY5LDU1MS4zNDczIDM2LjIxNDksNTUxLjM3NjMgMzYuMDQ0OSw1NTEuMzc2MyBMMzYuMDQ0OSw1NTEuMzc2MyBaIE04MDIuMzg2OSw1NTkuMjE4MyBDODAyLjIwNzksNTU5LjIxODMgODAyLjAyNDksNTU5LjE4NjMgODAxLjg0NjksNTU5LjExODMgQzgwMS4wNzM5LDU1OC44MTkzIDgwMC42ODk5LDU1Ny45NTEzIDgwMC45ODc5LDU1Ny4xNzgzIEM4MDEuNzA0OSw1NTUuMzIxMyA4MDIuNDA4OSw1NTMuNDU3MyA4MDMuMDk3OSw1NTEuNTg3MyBDODAzLjM4NDksNTUwLjgxMDMgODA0LjI0OTksNTUwLjQxNDMgODA1LjAyNDksNTUwLjY5OTMgQzgwNS44MDA5LDU1MC45ODYzIDgwNi4xOTk5LDU1MS44NDgzIDgwNS45MTI5LDU1Mi42MjYzIEM4MDUuMjE2OSw1NTQuNTA5MyA4MDQuNTA4OSw1NTYuMzg3MyA4MDMuNzg2OSw1NTguMjU4MyBDODAzLjU1NjksNTU4Ljg1NDMgODAyLjk4ODksNTU5LjIxODMgODAyLjM4NjksNTU5LjIxODMgTDgwMi4zODY5LDU1OS4yMTgzIFogTTQwLjMxNDksNTYyLjYzMjMgQzM5LjcxNzksNTYyLjYzMjMgMzkuMTUzOSw1NjIuMjc0MyAzOC45MjA5LDU2MS42ODUzIEMzOC4xNzc5LDU1OS44MTQzIDM3LjQ1MDksNTU3LjkzNjMgMzYuNzM1OSw1NTYuMDUyMyBDMzYuNDQxOSw1NTUuMjc4MyAzNi44MzE5LDU1NC40MTIzIDM3LjYwNTksNTU0LjExODMgQzM4LjM4MTksNTUzLjgyMzMgMzkuMjQ2OSw1NTQuMjE0MyAzOS41NDA5LDU1NC45ODgzIEM0MC4yNDk5LDU1Ni44NTgzIDQwLjk3MjksNTU4LjcyMjMgNDEuNzA5OSw1NjAuNTgwMyBDNDIuMDE0OSw1NjEuMzQ5MyA0MS42Mzc5LDU2Mi4yMjEzIDQwLjg2NzksNTYyLjUyNzMgQzQwLjY4NTksNTYyLjU5OTMgNDAuNDk5OSw1NjIuNjMyMyA0MC4zMTQ5LDU2Mi42MzIzIEw0MC4zMTQ5LDU2Mi42MzIzIFogTTQ0LjkxNzksNTczLjc1NjMgQzQ0LjMzNjksNTczLjc1NjMgNDMuNzgzOSw1NzMuNDE4MyA0My41Mzg5LDU3Mi44NTAzIEM0Mi43NDE5LDU3MS4wMDIzIDQxLjk1OTksNTY5LjE0NzMgNDEuMTg4OSw1NjcuMjg2MyBDNDAuODcxOSw1NjYuNTIxMyA0MS4yMzU5LDU2NS42NDMzIDQyLjAwMTksNTY1LjMyNzMgQzQyLjc3MDksNTY1LjAwOTMgNDMuNjQzOSw1NjUuMzc1MyA0My45NjA5LDU2Ni4xMzkzIEM0NC43MjQ5LDU2Ny45ODczIDQ1LjUwMzksNTY5LjgyODMgNDYuMjk0OSw1NzEuNjYzMyBDNDYuNjIxOSw1NzIuNDIzMyA0Ni4yNzA5LDU3My4zMDYzIDQ1LjUwOTksNTczLjYzNDMgQzQ1LjMxNjksNTczLjcxNzMgNDUuMTE1OSw1NzMuNzU2MyA0NC45MTc5LDU3My43NTYzIEw0NC45MTc5LDU3My43NTYzIFogTTQ5Ljg0MDksNTg0LjczNDMgQzQ5LjI3NjksNTg0LjczNDMgNDguNzM1OSw1ODQuNDE0MyA0OC40ODA5LDU4My44NjkzIEM0Ny42MzA5LDU4Mi4wNDYzIDQ2Ljc5MzksNTgwLjIxNTMgNDUuOTY3OSw1NzguMzc4MyBDNDUuNjI5OSw1NzcuNjIyMyA0NS45NjY5LDU3Ni43MzQzIDQ2LjcyMjksNTc2LjM5NDMgQzQ3LjQ3NzksNTc2LjA1NjMgNDguMzY2OSw1NzYuMzkyMyA0OC43MDY5LDU3Ny4xNDkzIEM0OS41MjM5LDU3OC45NzMzIDUwLjM1NDksNTgwLjc5MDMgNTEuMTk5OSw1ODIuNTk5MyBDNTEuNTQ5OSw1ODMuMzUwMyA1MS4yMjQ5LDU4NC4yNDMzIDUwLjQ3NDksNTg0LjU5MzMgQzUwLjI2ODksNTg0LjY4OTMgNTAuMDUyOSw1ODQuNzM0MyA0OS44NDA5LDU4NC43MzQzIEw0OS44NDA5LDU4NC43MzQzIFogTTU1LjA4ODksNTk1LjU1NjMgQzU0LjUzOTksNTk1LjU1NjMgNTQuMDEwOSw1OTUuMjU1MyA1My43NDc5LDU5NC43MzEzIEM1Mi44NDM5LDU5Mi45MzUzIDUxLjk1MjksNTkxLjEzMTMgNTEuMDc0OSw1ODkuMzE5MyBDNTAuNzEzOSw1ODguNTc0MyA1MS4wMjQ5LDU4Ny42NzYzIDUxLjc2OTksNTg3LjMxNTMgQzUyLjUxNjksNTg2Ljk1MzMgNTMuNDEyOSw1ODcuMjY0MyA1My43NzM5LDU4OC4wMTAzIEM1NC42NDU5LDU4OS44MDgzIDU1LjUyOTksNTkxLjU5OTMgNTYuNDI2OSw1OTMuMzgyMyBDNTYuNzk4OSw1OTQuMTIyMyA1Ni41MDE5LDU5NS4wMjQzIDU1Ljc2MTksNTk1LjM5NjMgQzU1LjU0NTksNTk1LjUwNjMgNTUuMzE0OSw1OTUuNTU2MyA1NS4wODg5LDU5NS41NTYzIEw1NS4wODg5LDU5NS41NTYzIFogTTYwLjY0OTksNjA2LjIxODMgQzYwLjExNjksNjA2LjIxODMgNTkuNTk5OSw2MDUuOTMzMyA1OS4zMjk5LDYwNS40MzEzIEM1OC4zNzM5LDYwMy42NjMzIDU3LjQyOTksNjAxLjg4NjMgNTYuNDk4OSw2MDAuMTAzMyBDNTYuMTE1OSw1OTkuMzY5MyA1Ni4zOTk5LDU5OC40NjMzIDU3LjEzMzksNTk4LjA3OTMgQzU3Ljg2ODksNTk3LjY5OTMgNTguNzc0OSw1OTcuOTgwMyA1OS4xNTg5LDU5OC43MTQzIEM2MC4wODI5LDYwMC40ODYzIDYxLjAxOTksNjAyLjI0OTMgNjEuOTY3OSw2MDQuMDA2MyBDNjIuMzYyOSw2MDQuNzM0MyA2Mi4wODk5LDYwNS42NDQzIDYxLjM2MTksNjA2LjAzODMgQzYxLjEzNDksNjA2LjE2MTMgNjAuODkwOSw2MDYuMjE4MyA2MC42NDk5LDYwNi4yMTgzIEw2MC42NDk5LDYwNi4yMTgzIFogTTY2LjUyMTksNjE2LjcxMDMgQzY2LjAwNDksNjE2LjcxMDMgNjUuNTAxOSw2MTYuNDQyMyA2NS4yMjI5LDYxNS45NjIzIEM2NC4yMTQ5LDYxNC4yMjEzIDYzLjIxOTksNjEyLjQ3NDMgNjIuMjM3OSw2MTAuNzE4MyBDNjEuODMyOSw2MDkuOTk2MyA2Mi4wODk5LDYwOS4wODIzIDYyLjgxMzksNjA4LjY3NzMgQzYzLjUzNjksNjA4LjI3NDMgNjQuNDUxOSw2MDguNTMxMyA2NC44NTQ5LDYwOS4yNTQzIEM2NS44MzE5LDYxMC45OTYzIDY2LjgxODksNjEyLjczMTMgNjcuODE4OSw2MTQuNDU4MyBDNjguMjMzOSw2MTUuMTc0MyA2Ny45ODk5LDYxNi4wOTIzIDY3LjI3MjksNjE2LjUwNzMgQzY3LjAzNTksNjE2LjY0NTMgNjYuNzc3OSw2MTYuNzEwMyA2Ni41MjE5LDYxNi43MTAzIEw2Ni41MjE5LDYxNi43MTAzIFogTTcyLjY5ODksNjI3LjAxODMgQzcyLjE5NTksNjI3LjAxODMgNzEuNzA1OSw2MjYuNzY2MyA3MS40MjE5LDYyNi4zMDgzIEM3MC4zNjI5LDYyNC41OTkzIDY5LjMxNjksNjIyLjg4MjMgNjguMjgzOSw2MjEuMTU3MyBDNjcuODU3OSw2MjAuNDQ2MyA2OC4wODk5LDYxOS41MjUzIDY4Ljc5OTksNjE5LjA5OTMgQzY5LjUwODksNjE4LjY3NDMgNzAuNDMwOSw2MTguOTA1MyA3MC44NTc5LDYxOS42MTYzIEM3MS44ODI5LDYyMS4zMjgzIDcyLjkyMTksNjIzLjAzMzMgNzMuOTcxOSw2MjQuNzI4MyBDNzQuNDA3OSw2MjUuNDMyMyA3NC4xOTA5LDYyNi4zNTczIDczLjQ4NjksNjI2Ljc5NDMgQzczLjI0MDksNjI2Ljk0NjMgNzIuOTY3OSw2MjcuMDE4MyA3Mi42OTg5LDYyNy4wMTgzIEw3Mi42OTg5LDYyNy4wMTgzIFogTTc5LjE3MjksNjM3LjE0MDMgQzc4LjY4NjksNjM3LjE0MDMgNzguMjA5OSw2MzYuOTA0MyA3Ny45MjA5LDYzNi40NjYzIEM3Ni44MTI5LDYzNC43OTAzIDc1LjcxNjksNjMzLjEwNTMgNzQuNjMzOSw2MzEuNDEyMyBDNzQuMTg3OSw2MzAuNzE0MyA3NC4zOTE5LDYyOS43ODYzIDc1LjA4OTksNjI5LjMzOTMgQzc1Ljc4NzksNjI4Ljg5NDMgNzYuNzE0OSw2MjkuMDk2MyA3Ny4xNjE5LDYyOS43OTYzIEM3OC4yMzY5LDYzMS40NzYzIDc5LjMyNDksNjMzLjE0OTMgODAuNDIzOSw2MzQuODE0MyBDODAuODgwOSw2MzUuNTA1MyA4MC42ODk5LDYzNi40MzUzIDc5Ljk5OTksNjM2Ljg5MjMgQzc5Ljc0NDksNjM3LjA2MDMgNzkuNDU3OSw2MzcuMTQwMyA3OS4xNzI5LDYzNy4xNDAzIEw3OS4xNzI5LDYzNy4xNDAzIFogTTg1LjkzOTksNjQ3LjA2NDMgQzg1LjQ2NzksNjQ3LjA2NDMgODUuMDA0OSw2NDYuODQyMyA4NC43MTI5LDY0Ni40MjczIEM4My41NTQ5LDY0NC43ODQzIDgyLjQxMTksNjQzLjEzMjMgODEuMjc5OSw2NDEuNDcxMyBDODAuODEyOSw2NDAuNzg3MyA4MC45ODk5LDYzOS44NTQzIDgxLjY3MzksNjM5LjM4NzMgQzgyLjM1NzksNjM4LjkyMDMgODMuMjkzOSw2MzkuMDk4MyA4My43NTc5LDYzOS43ODIzIEM4NC44ODE5LDY0MS40MjkzIDg2LjAxNzksNjQzLjA2OTMgODcuMTY1OSw2NDQuNzAxMyBDODcuNjQxOSw2NDUuMzc5MyA4Ny40Nzk5LDY0Ni4zMTQzIDg2LjgwMTksNjQ2Ljc5MTMgQzg2LjUzOTksNjQ2Ljk3NTMgODYuMjM4OSw2NDcuMDY0MyA4NS45Mzk5LDY0Ny4wNjQzIEw4NS45Mzk5LDY0Ny4wNjQzIFogTTc1MC44NDk5LDY1My40MzgzIEM3NTAuNTQyOSw2NTMuNDM4MyA3NTAuMjMxOSw2NTMuMzQ0MyA3NDkuOTYzOSw2NTMuMTQ4MyBDNzQ5LjI5NjksNjUyLjY1OTMgNzQ5LjE1MTksNjUxLjcyMDMgNzQ5LjY0MDksNjUxLjA1MTMgQzc1MC44MTY5LDY0OS40NDczIDc1MS45Nzk5LDY0Ny44MzQzIDc1My4xMzI5LDY0Ni4yMTIzIEM3NTMuNjEzOSw2NDUuNTM3MyA3NTQuNTQ5OSw2NDUuMzc5MyA3NTUuMjI0OSw2NDUuODU4MyBDNzU1Ljg5OTksNjQ2LjMzOTMgNzU2LjA1NzksNjQ3LjI3NDMgNzU1LjU3ODksNjQ3Ljk1MDMgQzc1NC40MTc5LDY0OS41ODQzIDc1My4yNDQ5LDY1MS4yMDkzIDc1Mi4wNjA5LDY1Mi44MjUzIEM3NTEuNzY2OSw2NTMuMjI1MyA3NTEuMzExOSw2NTMuNDM4MyA3NTAuODQ5OSw2NTMuNDM4MyBMNzUwLjg0OTksNjUzLjQzODMgWiBNOTIuOTkyOSw2NTYuNzg0MyBDOTIuNTM2OSw2NTYuNzg0MyA5Mi4wODU5LDY1Ni41NzYzIDkxLjc5MDksNjU2LjE4MjMgQzkwLjU4NzksNjU0LjU3NDMgODkuMzk0OSw2NTIuOTU3MyA4OC4yMTQ5LDY1MS4zMzEzIEM4Ny43Mjg5LDY1MC42NjEzIDg3Ljg3NzksNjQ5LjcyMjMgODguNTQ3OSw2NDkuMjM2MyBDODkuMjE3OSw2NDguNzUwMyA5MC4xNTc5LDY0OC44OTkzIDkwLjY0MjksNjQ5LjU2OTMgQzkxLjgxNDksNjUxLjE4MzMgOTIuOTk3OSw2NTIuNzg5MyA5NC4xOTI5LDY1NC4zODUzIEM5NC42ODg5LDY1NS4wNDgzIDk0LjU1MzksNjU1Ljk4OTMgOTMuODg5OSw2NTYuNDg1MyBDOTMuNjIwOSw2NTYuNjg2MyA5My4zMDQ5LDY1Ni43ODQzIDkyLjk5MjksNjU2Ljc4NDMgTDkyLjk5MjksNjU2Ljc4NDMgWiBNNzQzLjYzMDksNjYyLjk5OTMgQzc0My4zMDg5LDY2Mi45OTkzIDc0Mi45ODQ5LDY2Mi44OTUzIDc0Mi43MTE5LDY2Mi42ODIzIEM3NDIuMDU2OSw2NjIuMTczMyA3NDEuOTM5OSw2NjEuMjMxMyA3NDIuNDQ4OSw2NjAuNTc4MyBDNzQzLjY3MDksNjU5LjAwNjMgNzQ0Ljg4MDksNjU3LjQyNzMgNzQ2LjA4MTksNjU1LjgzOTMgQzc0Ni41Nzk5LDY1NS4xNzczIDc0Ny41MjI5LDY1NS4wNDgzIDc0OC4xODE5LDY1NS41NDczIEM3NDguODQyOSw2NTYuMDQ3MyA3NDguOTczOSw2NTYuOTg3MyA3NDguNDc0OSw2NTcuNjQ4MyBDNzQ3LjI2NTksNjU5LjI0ODMgNzQ2LjA0NzksNjYwLjgzOTMgNzQ0LjgxNTksNjYyLjQyMDMgQzc0NC41MTk5LDY2Mi43OTkzIDc0NC4wNzg5LDY2Mi45OTkzIDc0My42MzA5LDY2Mi45OTkzIEw3NDMuNjMwOSw2NjIuOTk5MyBaIE0xMDAuMzI1OSw2NjYuMjkzMyBDOTkuODgzOSw2NjYuMjkzMyA5OS40NDY5LDY2Ni4wOTgzIDk5LjE0OTksNjY1LjcyNTMgQzk3LjkwMDksNjY0LjE1MzMgOTYuNjYyOSw2NjIuNTcyMyA5NS40MzU5LDY2MC45ODEzIEM5NC45Mjk5LDY2MC4zMjUzIDk1LjA1MDksNjU5LjM4MzMgOTUuNzA3OSw2NTguODc4MyBDOTYuMzYyOSw2NTguMzcxMyA5Ny4zMDU5LDY1OC40OTQzIDk3LjgxMDksNjU5LjE0OTMgQzk5LjAyOTksNjYwLjcyODMgMTAwLjI1NzksNjYyLjI5ODMgMTAxLjQ5OTksNjYzLjg2MDMgQzEwMi4wMTM5LDY2NC41MDgzIDEwMS45MDY5LDY2NS40NTIzIDEwMS4yNTY5LDY2NS45NjczIEMxMDAuOTgxOSw2NjYuMTg2MyAxMDAuNjUyOSw2NjYuMjkzMyAxMDAuMzI1OSw2NjYuMjkzMyBMMTAwLjMyNTksNjY2LjI5MzMgWiBNNzM2LjEzMTksNjcyLjM0ODMgQzczNS43OTY5LDY3Mi4zNDgzIDczNS40NTc5LDY3Mi4yMzYzIDczNS4xNzc5LDY3Mi4wMDUzIEM3MzQuNTM5OSw2NzEuNDc3MyA3MzQuNDQ5OSw2NzAuNTMyMyA3MzQuOTc2OSw2NjkuODkzMyBDNzM2LjI0NDksNjY4LjM1ODMgNzM3LjUwMDksNjY2LjgxNTMgNzM4Ljc0NjksNjY1LjI2MjMgQzczOS4yNjI5LDY2NC42MTYzIDc0MC4yMDg5LDY2NC41MTAzIDc0MC44NTQ5LDY2NS4wMzEzIEM3NDEuNTAxOSw2NjUuNTQ5MyA3NDEuNjA0OSw2NjYuNDkzMyA3NDEuMDg2OSw2NjcuMTM5MyBDNzM5LjgzMjksNjY4LjcwNDMgNzM4LjU2NjksNjcwLjI1ODMgNzM3LjI4OTksNjcxLjgwMzMgQzczNi45OTI5LDY3Mi4xNjMzIDczNi41NjM5LDY3Mi4zNDgzIDczNi4xMzE5LDY3Mi4zNDgzIEw3MzYuMTMxOSw2NzIuMzQ4MyBaIE0xMDcuOTMxOSw2NzUuNTgxMyBDMTA3LjUwNTksNjc1LjU4MTMgMTA3LjA4MDksNjc1LjM5OTMgMTA2Ljc4NDksNjc1LjA0ODMgQzEwNS40ODk5LDY3My41MTEzIDEwNC4yMDU5LDY3MS45NjgzIDEwMi45MzM5LDY3MC40MTUzIEMxMDIuNDA4OSw2NjkuNzc0MyAxMDIuNTAzOSw2NjguODI5MyAxMDMuMTQzOSw2NjguMzA0MyBDMTAzLjc4NDksNjY3Ljc3ODMgMTA0LjczMDksNjY3Ljg3NDMgMTA1LjI1NDksNjY4LjUxNDMgQzEwNi41MTc5LDY3MC4wNTYzIDEwNy43OTI5LDY3MS41ODkzIDEwOS4wNzc5LDY3My4xMTQzIEMxMDkuNjExOSw2NzMuNzQ4MyAxMDkuNTMxOSw2NzQuNjk0MyAxMDguODk3OSw2NzUuMjI3MyBDMTA4LjYxNjksNjc1LjQ2NDMgMTA4LjI3MjksNjc1LjU4MTMgMTA3LjkzMTksNjc1LjU4MTMgTDEwNy45MzE5LDY3NS41ODEzIFogTTcyOC4zNjI5LDY4MS40NzczIEM3MjguMDExOSw2ODEuNDc3MyA3MjcuNjU5OSw2ODEuMzU1MyA3MjcuMzc1OSw2ODEuMTA1MyBDNzI2Ljc1MjksNjgwLjU1OTMgNzI2LjY4OTksNjc5LjYxMTMgNzI3LjIzNTksNjc4Ljk4OTMgQzcyOC41NDc5LDY3Ny40OTEzIDcyOS44NDg5LDY3NS45ODUzIDczMS4xMzk5LDY3NC40NjczIEM3MzEuNjc3OSw2NzMuODM5MyA3MzIuNjI0OSw2NzMuNzYwMyA3MzMuMjU1OSw2NzQuMjk4MyBDNzMzLjg4NTksNjc0LjgzNTMgNzMzLjk2MjksNjc1Ljc4MjMgNzMzLjQyNDksNjc2LjQxMzMgQzczMi4xMjQ5LDY3Ny45NDAzIDczMC44MTM5LDY3OS40NTgzIDcyOS40OTE5LDY4MC45NjYzIEM3MjkuMTk0OSw2ODEuMzA0MyA3MjguNzgwOSw2ODEuNDc3MyA3MjguMzYyOSw2ODEuNDc3MyBMNzI4LjM2MjksNjgxLjQ3NzMgWiBNMTE1LjgwMjksNjg0LjYzOTMgQzExNS4zODk5LDY4NC42MzkzIDExNC45Nzk5LDY4NC40NzAzIDExNC42ODM5LDY4NC4xMzkzIEMxMTMuMzQ1OSw2ODIuNjQyMyAxMTIuMDE3OSw2ODEuMTM3MyAxMTAuNzAxOSw2NzkuNjIzMyBDMTEwLjE1NzksNjc4Ljk5NzMgMTEwLjIyMzksNjc4LjA0OTMgMTEwLjg0ODksNjc3LjUwNjMgQzExMS40NzQ5LDY3Ni45NjEzIDExMi40MjE5LDY3Ny4wMzAzIDExMi45NjQ5LDY3Ny42NTQzIEMxMTQuMjczOSw2NzkuMTU5MyAxMTUuNTkxOSw2ODAuNjU0MyAxMTYuOTIwOSw2ODIuMTM5MyBDMTE3LjQ3MjksNjgyLjc1NzMgMTE3LjQxOTksNjgzLjcwNjMgMTE2LjgwMTksNjg0LjI1NzMgQzExNi41MTU5LDY4NC41MTMzIDExNi4xNTg5LDY4NC42MzkzIDExNS44MDI5LDY4NC42MzkzIEwxMTUuODAyOSw2ODQuNjM5MyBaIE03MjAuMzI5OSw2OTAuMzc4MyBDNzE5Ljk2MzksNjkwLjM3ODMgNzE5LjU5NjksNjkwLjI0NTMgNzE5LjMwNzksNjg5Ljk3NjMgQzcxOC43MDE5LDY4OS40MTMzIDcxOC42NjY5LDY4OC40NjQzIDcxOS4yMzA5LDY4Ny44NTYzIEM3MjAuNTg2OSw2ODYuMzk4MyA3MjEuOTMwOSw2ODQuOTI5MyA3MjMuMjY1OSw2ODMuNDUxMyBDNzIzLjgxOTksNjgyLjgzNTMgNzI0Ljc2NzksNjgyLjc4ODMgNzI1LjM4MzksNjgzLjM0MjMgQzcyNS45OTk5LDY4My44OTczIDcyNi4wNDc5LDY4NC44NDUzIDcyNS40OTI5LDY4NS40NjEzIEM3MjQuMTQ3OSw2ODYuOTUxMyA3MjIuNzkzOSw2ODguNDI5MyA3MjEuNDI3OSw2ODkuODk5MyBDNzIxLjEzMjksNjkwLjIxNjMgNzIwLjczMTksNjkwLjM3ODMgNzIwLjMyOTksNjkwLjM3ODMgTDcyMC4zMjk5LDY5MC4zNzgzIFogTTEyMy45MzM5LDY5My40NjMzIEMxMjMuNTM3OSw2OTMuNDYzMyAxMjMuMTQwOSw2OTMuMzA2MyAxMjIuODQ1OSw2OTIuOTk1MyBDMTIxLjQ2NDksNjkxLjU0MDMgMTIwLjA5MzksNjkwLjA3MzMgMTE4LjczMjksNjg4LjU5NzMgQzExOC4xNzI5LDY4Ny45ODgzIDExOC4yMTA5LDY4Ny4wMzkzIDExOC44MTk5LDY4Ni40NzgzIEMxMTkuNDI4OSw2ODUuOTE2MyAxMjAuMzc5OSw2ODUuOTU1MyAxMjAuOTM4OSw2ODYuNTY0MyBDMTIyLjI4OTksNjg4LjAzMDMgMTIzLjY1MDksNjg5LjQ4NTMgMTI1LjAyMTksNjkwLjkzMDMgQzEyNS41OTE5LDY5MS41MzEzIDEyNS41Njc5LDY5Mi40ODAzIDEyNC45NjU5LDY5My4wNTAzIEMxMjQuNjc1OSw2OTMuMzI2MyAxMjQuMzA0OSw2OTMuNDYzMyAxMjMuOTMzOSw2OTMuNDYzMyBMMTIzLjkzMzksNjkzLjQ2MzMgWiBNNzEyLjAzNjksNjk5LjA0NDMgQzcxMS42NTY5LDY5OS4wNDQzIDcxMS4yNzU5LDY5OC45MDAzIDcxMC45ODM5LDY5OC42MTIzIEM3MTAuMzkzOSw2OTguMDMxMyA3MTAuMzg2OSw2OTcuMDgxMyA3MTAuOTY3OSw2OTYuNDkxMyBDNzEyLjM2NjksNjk1LjA3MjMgNzEzLjc1NDksNjkzLjY0MjMgNzE1LjEzMDksNjkyLjIwNTMgQzcxNS43MDM5LDY5MS42MDYzIDcxNi42NTQ5LDY5MS41ODUzIDcxNy4yNTE5LDY5Mi4xNTgzIEM3MTcuODQ5OSw2OTIuNzMxMyA3MTcuODcwOSw2OTMuNjgwMyA3MTcuMjk3OSw2OTQuMjc5MyBDNzE1LjkxMDksNjk1LjcyODMgNzE0LjUxMjksNjk3LjE2ODMgNzEzLjEwNDksNjk4LjU5NjMgQzcxMi44MTA5LDY5OC44OTQzIDcxMi40MjM5LDY5OS4wNDQzIDcxMi4wMzY5LDY5OS4wNDQzIEw3MTIuMDM2OSw2OTkuMDQ0MyBaIE0xMzIuMzE2OSw3MDIuMDQ2MyBDMTMxLjkzMzksNzAyLjA0NjMgMTMxLjU1MTksNzAxLjkwMDMgMTMxLjI1ODksNzAxLjYwOTMgQzEyOS44MzY5LDcwMC4xOTQzIDEyOC40MjI5LDY5OC43NjkzIDEyNy4wMjA5LDY5Ny4zMzMzIEMxMjYuNDQxOSw2OTYuNzQwMyAxMjYuNDUzOSw2OTUuNzkxMyAxMjcuMDQ2OSw2OTUuMjEyMyBDMTI3LjYzNzksNjk0LjYzMzMgMTI4LjU4OTksNjk0LjY0NTMgMTI5LjE2NzksNjk1LjIzNzMgQzEzMC41NTk5LDY5Ni42NjIzIDEzMS45NjE5LDY5OC4wNzczIDEzMy4zNzQ5LDY5OS40ODIzIEMxMzMuOTYyOSw3MDAuMDY2MyAxMzMuOTY0OSw3MDEuMDE2MyAxMzMuMzgwOSw3MDEuNjAzMyBDMTMzLjA4NzksNzAxLjg5ODMgMTMyLjcwMTksNzAyLjA0NjMgMTMyLjMxNjksNzAyLjA0NjMgTDEzMi4zMTY5LDcwMi4wNDYzIFogTTcwMy40OTM5LDcwNy40NjQzIEM3MDMuMDk4OSw3MDcuNDY0MyA3MDIuNzA0OSw3MDcuMzA5MyA3MDIuNDEwOSw3MDcuMDAyMyBDNzAxLjgzNzksNzA2LjQwMzMgNzAxLjg1NzksNzA1LjQ1NDMgNzAyLjQ1NjksNzA0Ljg4MTMgQzcwMy44OTQ5LDcwMy41MDQzIDcwNS4zMjQ5LDcwMi4xMTUzIDcwNi43NDM5LDcwMC43MTYzIEM3MDcuMzM0OSw3MDAuMTM0MyA3MDguMjgzOSw3MDAuMTQzMyA3MDguODY0OSw3MDAuNzMyMyBDNzA5LjQ0NTksNzAxLjMyMjMgNzA5LjQzODksNzAyLjI3MjMgNzA4Ljg0ODksNzAyLjg1MzMgQzcwNy40MjA5LDcwNC4yNjEzIDcwNS45ODA5LDcwNS42NjAzIDcwNC41MzA5LDcwNy4wNDgzIEM3MDQuMjQwOSw3MDcuMzI2MyA3MDMuODY2OSw3MDcuNDY0MyA3MDMuNDkzOSw3MDcuNDY0MyBMNzAzLjQ5MzksNzA3LjQ2NDMgWiBNMTQwLjk0MzksNzEwLjM3NTMgQzE0MC41NzU5LDcxMC4zNzUzIDE0MC4yMDc5LDcxMC4yNDAzIDEzOS45MTc5LDcwOS45NjgzIEMxMzguNDU0OSw3MDguNTk2MyAxMzcuMDAwOSw3MDcuMjE0MyAxMzUuNTU3OSw3MDUuODIwMyBDMTM0Ljk2MjksNzA1LjI0NDMgMTM0Ljk0NTksNzA0LjI5NTMgMTM1LjUyMDksNzAzLjY5OTMgQzEzNi4wOTc5LDcwMy4xMDMzIDEzNy4wNDc5LDcwMy4wODczIDEzNy42NDE5LDcwMy42NjIzIEMxMzkuMDc0OSw3MDUuMDQ2MyAxNDAuNTE2OSw3MDYuNDE5MyAxNDEuOTY5OSw3MDcuNzgxMyBDMTQyLjU3MzksNzA4LjM0NzMgMTQyLjYwNDksNzA5LjI5NzMgMTQyLjAzNzksNzA5LjkwMTMgQzE0MS43NDI5LDcxMC4yMTUzIDE0MS4zNDI5LDcxMC4zNzUzIDE0MC45NDM5LDcxMC4zNzUzIEwxNDAuOTQzOSw3MTAuMzc1MyBaIE02OTQuNzA4OSw3MTUuNjM0MyBDNjk0LjI5NzksNzE1LjYzNDMgNjkzLjg4OTksNzE1LjQ2NzMgNjkzLjU5MzksNzE1LjE0MDMgQzY5My4wMzg5LDcxNC41MjUzIDY5My4wODc5LDcxMy41NzczIDY5My43MDE5LDcxMy4wMjEzIEM2OTUuMTgwOSw3MTEuNjg1MyA2OTYuNjUwOSw3MTAuMzM5MyA2OTguMTA5OSw3MDguOTgyMyBDNjk4LjcxNTksNzA4LjQxOTMgNjk5LjY2NjksNzA4LjQ1MzMgNzAwLjIyOTksNzA5LjA1OTMgQzcwMC43OTQ5LDcwOS42NjczIDcwMC43NTg5LDcxMC42MTYzIDcwMC4xNTI5LDcxMS4xNzkzIEM2OTguNjgxOSw3MTIuNTQ2MyA2OTcuMjAyOSw3MTMuOTAyMyA2OTUuNzEzOSw3MTUuMjQ4MyBDNjk1LjQyNTksNzE1LjUwNjMgNjk1LjA2NjksNzE1LjYzNDMgNjk0LjcwODksNzE1LjYzNDMgTDY5NC43MDg5LDcxNS42MzQzIFogTTE0OS44MDY5LDcxOC40NTEzIEMxNDkuNDU0OSw3MTguNDUxMyAxNDkuMDk4OSw3MTguMzI3MyAxNDguODEzOSw3MTguMDc0MyBDMTQ3LjMxMjksNzE2Ljc0NTMgMTQ1LjgxOTksNzE1LjQwNjMgMTQ0LjMzNzksNzE0LjA1NTMgQzE0My43MjQ5LDcxMy40OTczIDE0My42Nzk5LDcxMi41NDgzIDE0NC4yMzc5LDcxMS45MzYzIEMxNDQuNzk3OSw3MTEuMzIzMyAxNDUuNzQ2OSw3MTEuMjgwMyAxNDYuMzU2OSw3MTEuODM3MyBDMTQ3LjgyOTksNzEzLjE3NzMgMTQ5LjMxMDksNzE0LjUwODMgMTUwLjgwMTksNzE1LjgyODMgQzE1MS40MjI5LDcxNi4zNzczIDE1MS40Nzk5LDcxNy4zMjUzIDE1MC45MzA5LDcxNy45NDUzIEMxNTAuNjM0OSw3MTguMjgwMyAxNTAuMjIxOSw3MTguNDUxMyAxNDkuODA2OSw3MTguNDUxMyBMMTQ5LjgwNjksNzE4LjQ1MTMgWiBNNjg1LjY4NDksNzIzLjU0ODMgQzY4NS4yNTk5LDcyMy41NDgzIDY4NC44Mzg5LDcyMy4zNjkzIDY4NC41NDE5LDcyMy4wMjAzIEM2ODQuMDA1OSw3MjIuMzg5MyA2ODQuMDgwOSw3MjEuNDQyMyA2ODQuNzExOSw3MjAuOTA1MyBDNjg2LjIyODksNzE5LjYxMzMgNjg3LjczNjksNzE4LjMxMTMgNjg5LjIzNDksNzE2Ljk5NzMgQzY4OS44NTc5LDcxNi40NTAzIDY5MC44MDU5LDcxNi41MTIzIDY5MS4zNTA5LDcxNy4xMzQzIEM2OTEuODk3OSw3MTcuNzU2MyA2OTEuODM2OSw3MTguNzA1MyA2OTEuMjEzOSw3MTkuMjUxMyBDNjg5LjcwNDksNzIwLjU3NTMgNjg4LjE4NTksNzIxLjg4ODMgNjg2LjY1NjksNzIzLjE5MDMgQzY4Ni4zNzQ5LDcyMy40MzAzIDY4Ni4wMjg5LDcyMy41NDgzIDY4NS42ODQ5LDcyMy41NDgzIEw2ODUuNjg0OSw3MjMuNTQ4MyBaIE0xNTguOTAyOSw3MjYuMjYyMyBDMTU4LjU2MzksNzI2LjI2MjMgMTU4LjIyMzksNzI2LjE0ODMgMTU3Ljk0MzksNzI1LjkxNTMgQzE1Ni40MDI5LDcyNC42MzEzIDE1NC44NzE5LDcyMy4zMzUzIDE1My4zNDk5LDcyMi4wMjgzIEMxNTIuNzIxOSw3MjEuNDg5MyAxNTIuNjQ5OSw3MjAuNTQyMyAxNTMuMTg5OSw3MTkuOTEzMyBDMTUzLjcyODksNzE5LjI4NTMgMTU0LjY3MzksNzE5LjIxMTMgMTU1LjMwNDksNzE5Ljc1MzMgQzE1Ni44MTQ5LDcyMS4wNDkzIDE1OC4zMzQ5LDcyMi4zMzYzIDE1OS44NjM5LDcyMy42MTAzIEMxNjAuNTAwOSw3MjQuMTQwMyAxNjAuNTg2OSw3MjUuMDg3MyAxNjAuMDU1OSw3MjUuNzIyMyBDMTU5Ljc1ODksNzI2LjA3OTMgMTU5LjMzMjksNzI2LjI2MjMgMTU4LjkwMjksNzI2LjI2MjMgTDE1OC45MDI5LDcyNi4yNjIzIFogTTY3Ni40MzI5LDczMS4xOTUzIEM2NzUuOTkzOSw3MzEuMTk1MyA2NzUuNTU3OSw3MzEuMDAzMyA2NzUuMjYxOSw3MzAuNjMzMyBDNjc0Ljc0MzksNzI5Ljk4NzMgNjc0Ljg0NjksNzI5LjA0NDMgNjc1LjQ5MzksNzI4LjUyNTMgQzY3Ny4wNDc5LDcyNy4yNzgzIDY3OC41OTM5LDcyNi4wMTgzIDY4MC4xMzA5LDcyNC43NDkzIEM2ODAuNzcwOSw3MjQuMjIwMyA2ODEuNzE0OSw3MjQuMzExMyA2ODIuMjQyOSw3MjQuOTQ5MyBDNjgyLjc2OTksNzI1LjU4ODMgNjgyLjY3OTksNzI2LjUzNDMgNjgyLjA0MjksNzI3LjA2MTMgQzY4MC40OTQ5LDcyOC4zNDAzIDY3OC45MzY5LDcyOS42MDgzIDY3Ny4zNzA5LDczMC44NjUzIEM2NzcuMDkzOSw3MzEuMDg4MyA2NzYuNzYxOSw3MzEuMTk1MyA2NzYuNDMyOSw3MzEuMTk1MyBMNjc2LjQzMjksNzMxLjE5NTMgWiBNMTY4LjIxNjksNzMzLjgwMTMgQzE2Ny44OTI5LDczMy44MDEzIDE2Ny41NjU5LDczMy42OTczIDE2Ny4yOTE5LDczMy40ODEzIEMxNjUuNzE0OSw3MzIuMjQyMyAxNjQuMTQ2OSw3MzAuOTkzMyAxNjIuNTg5OSw3MjkuNzMxMyBDMTYxLjk0NDksNzI5LjIxMDMgMTYxLjg0NDksNzI4LjI2NTMgMTYyLjM2NjksNzI3LjYyMjMgQzE2Mi44ODY5LDcyNi45NzczIDE2My44MzE5LDcyNi44NzgzIDE2NC40NzU5LDcyNy4zOTkzIEMxNjYuMDIzOSw3MjguNjUxMyAxNjcuNTc5OSw3MjkuODkyMyAxNjkuMTQ0OSw3MzEuMTIyMyBDMTY5Ljc5NjksNzMxLjYzMzMgMTY5LjkwOTksNzMyLjU3NzMgMTY5LjM5NzksNzMzLjIyODMgQzE2OS4xMDE5LDczMy42MDUzIDE2OC42NjE5LDczMy44MDEzIDE2OC4yMTY5LDczMy44MDEzIEwxNjguMjE2OSw3MzMuODAxMyBaIE02NjYuOTU5OSw3MzguNTcxMyBDNjY2LjUwNTksNzM4LjU3MTMgNjY2LjA1NTksNzM4LjM2NTMgNjY1Ljc2MDksNzM3Ljk3NDMgQzY2NS4yNjE5LDczNy4zMTMzIDY2NS4zOTM5LDczNi4zNzMzIDY2Ni4wNTQ5LDczNS44NzQzIEM2NjcuNjQ2OSw3MzQuNjczMyA2NjkuMjI3OSw3MzMuNDU5MyA2NzAuODAwOSw3MzIuMjM0MyBDNjcxLjQ1NTksNzMxLjcyNjMgNjcyLjM5NjksNzMxLjg0MTMgNjcyLjkwNjksNzMyLjQ5NjMgQzY3My40MTU5LDczMy4xNTAzIDY3My4yOTc5LDczNC4wOTIzIDY3Mi42NDQ5LDczNC42MDEzIEM2NzEuMDU5OSw3MzUuODM2MyA2NjkuNDY1OSw3MzcuMDU3MyA2NjcuODYxOSw3MzguMjY4MyBDNjY3LjU5MDksNzM4LjQ3MjMgNjY3LjI3MzksNzM4LjU3MTMgNjY2Ljk1OTksNzM4LjU3MTMgTDY2Ni45NTk5LDczOC41NzEzIFogTTE3Ny43NDY5LDc0MS4wNjYzIEMxNzcuNDM1OSw3NDEuMDY2MyAxNzcuMTI0OSw3NDAuOTcwMyAxNzYuODU1OSw3NDAuNzcyMyBDMTc1LjI0MzksNzM5LjU4MTMgMTczLjY0MDksNzM4LjM3NzMgMTcyLjA0NzksNzM3LjE2MzMgQzE3MS4zODc5LDczNi42NjEzIDE3MS4yNjA5LDczNS43MTkzIDE3MS43NjI5LDczNS4wNjAzIEMxNzIuMjY0OSw3MzQuNDAwMyAxNzMuMjA2OSw3MzQuMjc0MyAxNzMuODY1OSw3MzQuNzc2MyBDMTc1LjQ0NzksNzM1Ljk4MjMgMTc3LjAzODksNzM3LjE3NjMgMTc4LjYzODksNzM4LjM2MDMgQzE3OS4zMDQ5LDczOC44NTIzIDE3OS40NDU5LDczOS43OTIzIDE3OC45NTM5LDc0MC40NTgzIEMxNzguNjU5OSw3NDAuODU2MyAxNzguMjA1OSw3NDEuMDY2MyAxNzcuNzQ2OSw3NDEuMDY2MyBMMTc3Ljc0NjksNzQxLjA2NjMgWiBNNjU3LjI3MDksNzQ1LjY2ODMgQzY1Ni44MDE5LDc0NS42NjgzIDY1Ni4zMzg5LDc0NS40NDgzIDY1Ni4wNDc5LDc0NS4wMzczIEM2NTUuNTY3OSw3NDQuMzYxMyA2NTUuNzI1OSw3NDMuNDI0MyA2NTYuNDAxOSw3NDIuOTQ1MyBDNjU4LjAyNjksNzQxLjc5MDMgNjU5LjY0MzksNzQwLjYyNDMgNjYxLjI1MzksNzM5LjQ0NDMgQzY2MS45MjI5LDczOC45NTYzIDY2Mi44NjA5LDczOS4wOTgzIDY2My4zNDk5LDczOS43NjczIEM2NjMuODM4OSw3NDAuNDM1MyA2NjMuNjk0OSw3NDEuMzc1MyA2NjMuMDI2OSw3NDEuODY0MyBDNjYxLjQwNTksNzQzLjA1MTMgNjU5Ljc3NjksNzQ0LjIyNzMgNjU4LjEzODksNzQ1LjM5MDMgQzY1Ny44NzU5LDc0NS41NzgzIDY1Ny41NzE5LDc0NS42NjgzIDY1Ny4yNzA5LDc0NS42NjgzIEw2NTcuMjcwOSw3NDUuNjY4MyBaIE0xODcuNDgwOSw3NDguMDQ3MyBDMTg3LjE4NDksNzQ4LjA0NzMgMTg2Ljg4NjksNzQ3Ljk2MDMgMTg2LjYyNTksNzQ3Ljc3ODMgQzE4NC45Nzk5LDc0Ni42MzQzIDE4My4zNDI5LDc0NS40NzkzIDE4MS43MTQ5LDc0NC4zMTEzIEMxODEuMDQyOSw3NDMuODI5MyAxODAuODg2OSw3NDIuODkxMyAxODEuMzcwOSw3NDIuMjE4MyBDMTgxLjg1MzksNzQxLjU0NjMgMTgyLjc5MTksNzQxLjM4OTMgMTgzLjQ2MzksNzQxLjg3NDMgQzE4NS4wNzk5LDc0My4wMzIzIDE4Ni43MDQ5LDc0NC4xNzkzIDE4OC4zMzg5LDc0NS4zMTUzIEMxODkuMDE3OSw3NDUuNzg4MyAxODkuMTg1OSw3NDYuNzIyMyAxODguNzEzOSw3NDcuNDAzMyBDMTg4LjQyMjksNzQ3LjgyMjMgMTg3Ljk1NTksNzQ4LjA0NzMgMTg3LjQ4MDksNzQ4LjA0NzMgTDE4Ny40ODA5LDc0OC4wNDczIFogTTY0Ny4zNzg5LDc1Mi40NzkzIEM2NDYuODkzOSw3NTIuNDc5MyA2NDYuNDE4OSw3NTIuMjQ1MyA2NDYuMTI5OSw3NTEuODExMyBDNjQ1LjY2OTksNzUxLjEyMzMgNjQ1Ljg1NTksNzUwLjE5MTMgNjQ2LjU0NTksNzQ5LjczMTMgQzY0OC4yMDQ5LDc0OC42MjQzIDY0OS44NTU5LDc0Ny41MDYzIDY1MS40OTk5LDc0Ni4zNzQzIEM2NTIuMTgwOSw3NDUuOTA2MyA2NTMuMTE0OSw3NDYuMDc1MyA2NTMuNTg1OSw3NDYuNzU4MyBDNjU0LjA1NDksNzQ3LjQ0MTMgNjUzLjg4MjksNzQ4LjM3NTMgNjUzLjIwMDksNzQ4Ljg0NDMgQzY1MS41NDU5LDc0OS45ODQzIDY0OS44ODE5LDc1MS4xMTIzIDY0OC4yMDk5LDc1Mi4yMjczIEM2NDcuOTUzOSw3NTIuMzk4MyA2NDcuNjY0OSw3NTIuNDc5MyA2NDcuMzc4OSw3NTIuNDc5MyBMNjQ3LjM3ODksNzUyLjQ3OTMgWiBNMTk3LjQxMTksNzU0LjczOTMgQzE5Ny4xMzA5LDc1NC43MzkzIDE5Ni44NDY5LDc1NC42NjAzIDE5Ni41OTM5LDc1NC40OTUzIEMxOTQuOTE1OSw3NTMuNDAwMyAxOTMuMjQ2OSw3NTIuMjkzMyAxOTEuNTg1OSw3NTEuMTczMyBDMTkwLjg5ODksNzUwLjcxMDMgMTkwLjcxNjksNzQ5Ljc3ODMgMTkxLjE3OTksNzQ5LjA5MDMgQzE5MS42NDQ5LDc0OC40MDIzIDE5Mi41NzY5LDc0OC4yMjQzIDE5My4yNjI5LDc0OC42ODUzIEMxOTQuOTEwOSw3NDkuNzk3MyAxOTYuNTY3OSw3NTAuODk2MyAxOTguMjMyOSw3NTEuOTgzMyBDMTk4LjkyNjksNzUyLjQzNTMgMTk5LjEyMjksNzUzLjM2NTMgMTk4LjY2OTksNzU0LjA1ODMgQzE5OC4zODE5LDc1NC41MDAzIDE5Ny45MDE5LDc1NC43MzkzIDE5Ny40MTE5LDc1NC43MzkzIEwxOTcuNDExOSw3NTQuNzM5MyBaIE02MzcuMjg1OSw3NTkuMDAxMyBDNjM2Ljc4NjksNzU5LjAwMTMgNjM2LjI5NzksNzU4Ljc1MjMgNjM2LjAxMjksNzU4LjI5NzMgQzYzNS41NzM5LDc1Ny41OTMzIDYzNS43ODY5LDc1Ni42NjkzIDYzNi40ODg5LDc1Ni4yMjkzIEM2MzguMTgwOSw3NTUuMTcxMyA2MzkuODY1OSw3NTQuMTAwMyA2NDEuNTQwOSw3NTMuMDE3MyBDNjQyLjIzNDksNzUyLjU2ODMgNjQzLjE2NDksNzUyLjc2NTMgNjQzLjYxNDksNzUzLjQ2MzMgQzY0NC4wNjM5LDc1NC4xNTkzIDY0My44NjQ5LDc1NS4wODgzIDY0My4xNjk5LDc1NS41MzczIEM2NDEuNDgwOSw3NTYuNjI4MyA2MzkuNzg0OSw3NTcuNzA2MyA2MzguMDgwOSw3NTguNzcyMyBDNjM3LjgzMjksNzU4LjkyNzMgNjM3LjU1NzksNzU5LjAwMTMgNjM3LjI4NTksNzU5LjAwMTMgTDYzNy4yODU5LDc1OS4wMDEzIFogTTIwNy41MzQ5LDc2MS4xMzYzIEMyMDcuMjY2OSw3NjEuMTM2MyAyMDYuOTk3OSw3NjEuMDY1MyAyMDYuNzUyOSw3NjAuOTE2MyBDMjA1LjA0MzksNzU5Ljg3MDMgMjAzLjM0MjksNzU4LjgxMzMgMjAxLjY1MDksNzU3Ljc0NDMgQzIwMC45NDk5LDc1Ny4zMDEzIDIwMC43NDA5LDc1Ni4zNzUzIDIwMS4xODI5LDc1NS42NzQzIEMyMDEuNjI3OSw3NTQuOTczMyAyMDIuNTU0OSw3NTQuNzY2MyAyMDMuMjUyOSw3NTUuMjA3MyBDMjA0LjkzMjksNzU2LjI2ODMgMjA2LjYyMTksNzU3LjMxOTMgMjA4LjMxODksNzU4LjM1NzMgQzIwOS4wMjQ5LDc1OC43OTAzIDIwOS4yNDc5LDc1OS43MTMzIDIwOC44MTQ5LDc2MC40MjAzIEMyMDguNTMyOSw3NjAuODgxMyAyMDguMDM5OSw3NjEuMTM2MyAyMDcuNTM0OSw3NjEuMTM2MyBMMjA3LjUzNDksNzYxLjEzNjMgWiBNNjI3LjAwNTksNzY1LjIyMzMgQzYyNi40OTA5LDc2NS4yMjMzIDYyNS45ODg5LDc2NC45NTgzIDYyNS43MDk5LDc2NC40ODEzIEM2MjUuMjkxOSw3NjMuNzY2MyA2MjUuNTMxOSw3NjIuODQ3MyA2MjYuMjQ2OSw3NjIuNDI5MyBDNjI3Ljk2ODksNzYxLjQyMDMgNjI5LjY4NDksNzYwLjM5OTMgNjMxLjM5MDksNzU5LjM2NjMgQzYzMi4wOTg5LDc1OC45MzkzIDYzMy4wMjE5LDc1OS4xNjUzIDYzMy40NTE5LDc1OS44NzIzIEM2MzMuODgwOSw3NjAuNTgxMyA2MzMuNjUzOSw3NjEuNTA0MyA2MzIuOTQ1OSw3NjEuOTMyMyBDNjMxLjIyNTksNzYyLjk3MzMgNjI5LjQ5ODksNzY0LjAwMjMgNjI3Ljc2MTksNzY1LjAxNzMgQzYyNy41MjM5LDc2NS4xNTczIDYyNy4yNjI5LDc2NS4yMjMzIDYyNy4wMDU5LDc2NS4yMjMzIEw2MjcuMDA1OSw3NjUuMjIzMyBaIE0yMTcuODMyOSw3NjcuMjMzMyBDMjE3LjU3OTksNzY3LjIzMzMgMjE3LjMyMzksNzY3LjE3MDMgMjE3LjA4ODksNzY3LjAzNTMgQzIxNS4zNDk5LDc2Ni4wNDAzIDIxMy42MTk5LDc2NS4wMzMzIDIxMS44OTc5LDc2NC4wMTMzIEMyMTEuMTg0OSw3NjMuNTkxMyAyMTAuOTQ4OSw3NjIuNjcyMyAyMTEuMzcwOSw3NjEuOTU5MyBDMjExLjc5MzksNzYxLjI0NjMgMjEyLjcxNDksNzYxLjAxMDMgMjEzLjQyNDksNzYxLjQzMTMgQzIxNS4xMzQ5LDc2Mi40NDMzIDIxNi44NTE5LDc2My40NDQzIDIxOC41Nzg5LDc2NC40MzEzIEMyMTkuMjk3OSw3NjQuODQyMyAyMTkuNTQ2OSw3NjUuNzU4MyAyMTkuMTM0OSw3NjYuNDc4MyBDMjE4Ljg1ODksNzY2Ljk2MjMgMjE4LjM1MTksNzY3LjIzMzMgMjE3LjgzMjksNzY3LjIzMzMgTDIxNy44MzI5LDc2Ny4yMzMzIFogTTYxNi41NDE5LDc3MS4xNDMzIEM2MTYuMDEwOSw3NzEuMTQzMyA2MTUuNDk2OSw3NzAuODYxMyA2MTUuMjIzOSw3NzAuMzYyMyBDNjE0LjgyNjksNzY5LjYzNTMgNjE1LjA5MzksNzY4LjcyNDMgNjE1LjgyMDksNzY4LjMyNzMgQzYxNy41NzM5LDc2Ny4zNzAzIDYxOS4zMTc5LDc2Ni4zOTkzIDYyMS4wNTQ5LDc2NS40MTYzIEM2MjEuNzc0OSw3NjUuMDA5MyA2MjIuNjkwOSw3NjUuMjYwMyA2MjMuMDk5OSw3NjUuOTgyMyBDNjIzLjUwNzksNzY2LjcwNDMgNjIzLjI1NDksNzY3LjYxOTMgNjIyLjUzMzksNzY4LjAyNzMgQzYyMC43ODI5LDc2OS4wMTgzIDYxOS4wMjQ5LDc2OS45OTUzIDYxNy4yNTg5LDc3MC45NjAzIEM2MTcuMDMxOSw3NzEuMDg1MyA2MTYuNzg0OSw3NzEuMTQzMyA2MTYuNTQxOSw3NzEuMTQzMyBMNjE2LjU0MTksNzcxLjE0MzMgWiBNMjI4LjMwMzksNzczLjAyMzMgQzIyOC4wNjU5LDc3My4wMjMzIDIyNy44MjM5LDc3Mi45NjYzIDIyNy41OTg5LDc3Mi44NDYzIEMyMjUuODMxOSw3NzEuOTAzMyAyMjQuMDcyOSw3NzAuOTQ4MyAyMjIuMzIyOSw3NjkuOTc5MyBDMjIxLjU5NjksNzY5LjU3ODMgMjIxLjMzNDksNzY4LjY2NjMgMjIxLjczNTksNzY3Ljk0MDMgQzIyMi4xMzY5LDc2Ny4yMTUzIDIyMy4wNTE5LDc2Ni45NTUzIDIyMy43NzM5LDc2Ny4zNTQzIEMyMjUuNTExOSw3NjguMzE1MyAyMjcuMjU2OSw3NjkuMjYzMyAyMjkuMDEwOSw3NzAuMjAwMyBDMjI5Ljc0MTksNzcwLjU4OTMgMjMwLjAxNzksNzcxLjQ5OTMgMjI5LjYyODksNzcyLjIyOTMgQzIyOS4zNTg5LDc3Mi43MzUzIDIyOC44Mzk5LDc3My4wMjMzIDIyOC4zMDM5LDc3My4wMjMzIEwyMjguMzAzOSw3NzMuMDIzMyBaIE02MDUuOTA2OSw3NzYuNzUzMyBDNjA1LjM2MDksNzc2Ljc1MzMgNjA0LjgzMzksNzc2LjQ1MzMgNjA0LjU2ODksNzc1LjkzMzMgQzYwNC4xOTI5LDc3NS4xOTQzIDYwNC40ODY5LDc3NC4yOTIzIDYwNS4yMjU5LDc3My45MTYzIEM2MDcuMDA1OSw3NzMuMDA5MyA2MDguNzc4OSw3NzIuMDkxMyA2MTAuNTQ1OSw3NzEuMTYwMyBDNjExLjI3NDksNzcwLjc3NTMgNjEyLjE4MzksNzcxLjA1NDMgNjEyLjU3MTksNzcxLjc4ODMgQzYxMi45NTc5LDc3Mi41MjAzIDYxMi42NzY5LDc3My40MjczIDYxMS45NDM5LDc3My44MTQzIEM2MTAuMTY1OSw3NzQuNzUyMyA2MDguMzc5OSw3NzUuNjc3MyA2MDYuNTg2OSw3NzYuNTg5MyBDNjA2LjM2NzksNzc2LjcwMTMgNjA2LjEzNTksNzc2Ljc1MzMgNjA1LjkwNjksNzc2Ljc1MzMgTDYwNS45MDY5LDc3Ni43NTMzIFogTTIzOC45MzY5LDc3OC41MDIzIEMyMzguNzEyOSw3NzguNTAyMyAyMzguNDg0OSw3NzguNDUyMyAyMzguMjcwOSw3NzguMzQ1MyBDMjM2LjQ3NzksNzc3LjQ1NTMgMjM0LjY5MjksNzc2LjU1MTMgMjMyLjkxNDksNzc1LjYzNDMgQzIzMi4xNzc5LDc3NS4yNTYzIDIzMS44ODg5LDc3NC4zNTAzIDIzMi4yNjg5LDc3My42MTQzIEMyMzIuNjQ3OSw3NzIuODc4MyAyMzMuNTU0OSw3NzIuNTkwMyAyMzQuMjg5OSw3NzIuOTY4MyBDMjM2LjA1MzksNzczLjg3ODMgMjM3LjgyNTksNzc0Ljc3NTMgMjM5LjYwNDksNzc1LjY1ODMgQzI0MC4zNDY5LDc3Ni4wMjYzIDI0MC42NDk5LDc3Ni45MjYzIDI0MC4yODE5LDc3Ny42NjkzIEMyNDAuMDE5OSw3NzguMTk2MyAyMzkuNDg4OSw3NzguNTAyMyAyMzguOTM2OSw3NzguNTAyMyBMMjM4LjkzNjksNzc4LjUwMjMgWiBNNTk1LjEwNzksNzgyLjA0ODMgQzU5NC41NDU5LDc4Mi4wNDgzIDU5NC4wMDU5LDc4MS43MzEzIDU5My43NTA5LDc4MS4xODkzIEM1OTMuMzk2OSw3ODAuNDQwMyA1OTMuNzE2OSw3NzkuNTQ2MyA1OTQuNDY1OSw3NzkuMTkyMyBDNTk2LjI3MjksNzc4LjMzOTMgNTk4LjA3MjksNzc3LjQ3MzMgNTk5Ljg2NjksNzc2LjU5MzMgQzYwMC42MDY5LDc3Ni4yMjgzIDYwMS41MDc5LDc3Ni41MzYzIDYwMS44NzM5LDc3Ny4yODAzIEM2MDIuMjM4OSw3NzguMDIzMyA2MDEuOTMwOSw3NzguOTIyMyA2MDEuMTg2OSw3NzkuMjg3MyBDNTk5LjM4MDksNzgwLjE3MzMgNTk3LjU2NzksNzgxLjA0NjMgNTk1Ljc0NzksNzgxLjkwNTMgQzU5NS41NDA5LDc4Mi4wMDMzIDU5NS4zMjI5LDc4Mi4wNDgzIDU5NS4xMDc5LDc4Mi4wNDgzIEw1OTUuMTA3OSw3ODIuMDQ4MyBaIE0yNDkuNzIxOSw3ODMuNjY2MyBDMjQ5LjUxMTksNzgzLjY2NjMgMjQ5LjI5ODksNzgzLjYyMjMgMjQ5LjA5NDksNzgzLjUyODMgQzI0Ny4yNzc5LDc4Mi42OTEzIDI0NS40Njc5LDc4MS44NDAzIDI0My42NjQ5LDc4MC45NzYzIEMyNDIuOTE3OSw3ODAuNjE5MyAyNDIuNjAwOSw3NzkuNzIzMyAyNDIuOTU5OSw3NzguOTc2MyBDMjQzLjMxNTksNzc4LjIyOTMgMjQ0LjIxNDksNzc3LjkxMjMgMjQ0Ljk1OTksNzc4LjI3MTMgQzI0Ni43NDk5LDc3OS4xMjgzIDI0OC41NDc5LDc3OS45NzIzIDI1MC4zNTA5LDc4MC44MDMzIEMyNTEuMTAyOSw3ODEuMTUwMyAyNTEuNDMxOSw3ODIuMDQxMyAyNTEuMDg1OSw3ODIuNzk0MyBDMjUwLjgzMjksNzgzLjM0MjMgMjUwLjI4OTksNzgzLjY2NjMgMjQ5LjcyMTksNzgzLjY2NjMgTDI0OS43MjE5LDc4My42NjYzIFogTTU4NC4xNTI5LDc4Ny4wMjUzIEM1ODMuNTc0OSw3ODcuMDI1MyA1ODMuMDIyOSw3ODYuNjg5MyA1ODIuNzc2OSw3ODYuMTI2MyBDNTgyLjQ0NTksNzg1LjM2NjMgNTgyLjc5MjksNzg0LjQ4MjMgNTgzLjU1MDksNzg0LjE1MDMgQzU4NS4zODM5LDc4My4zNTAzIDU4Ny4yMDk5LDc4Mi41MzgzIDU4OS4wMjc5LDc4MS43MTMzIEM1ODkuNzgyOSw3ODEuMzY5MyA1OTAuNjcxOSw3ODEuNzAzMyA1OTEuMDEyOSw3ODIuNDU4MyBDNTkxLjM1NTksNzgzLjIxMjMgNTkxLjAyMjksNzg0LjEwMTMgNTkwLjI2NzksNzg0LjQ0MzMgQzU4OC40MzU5LDc4NS4yNzYzIDU4Ni41OTY5LDc4Ni4wOTQzIDU4NC43NTE5LDc4Ni45MDAzIEM1ODQuNTU1OSw3ODYuOTg1MyA1ODQuMzUyOSw3ODcuMDI1MyA1ODQuMTUyOSw3ODcuMDI1MyBMNTg0LjE1MjksNzg3LjAyNTMgWiBNMjYwLjY0OTksNzg4LjUwNjMgQzI2MC40NTQ5LDc4OC41MDYzIDI2MC4yNTU5LDc4OC40NjczIDI2MC4wNjM5LDc4OC4zODYzIEMyNTguMjIzOSw3ODcuNjAzMyAyNTYuMzg5OSw3ODYuODA2MyAyNTQuNTYyOSw3ODUuOTk3MyBDMjUzLjgwNDksNzg1LjY2MjMgMjUzLjQ2MzksNzg0Ljc3NTMgMjUzLjc5ODksNzg0LjAxODMgQzI1NC4xMzM5LDc4My4yNTkzIDI1NS4wMTk5LDc4Mi45MTczIDI1NS43Nzc5LDc4My4yNTUzIEMyNTcuNTkwOSw3ODQuMDU4MyAyNTkuNDExOSw3ODQuODQ4MyAyNjEuMjM3OSw3ODUuNjI1MyBDMjYyLjAwMDksNzg1Ljk0OTMgMjYyLjM1NDksNzg2LjgzMDMgMjYyLjAzMTksNzg3LjU5MjMgQzI2MS43ODg5LDc4OC4xNjQzIDI2MS4yMzM5LDc4OC41MDYzIDI2MC42NDk5LDc4OC41MDYzIEwyNjAuNjQ5OSw3ODguNTA2MyBaIE01NzMuMDUyOSw3OTEuNjc1MyBDNTcyLjQ1ODksNzkxLjY3NTMgNTcxLjg5NTksNzkxLjMyMDMgNTcxLjY2MDksNzkwLjczNTMgQzU3MS4zNTA5LDc4OS45NjUzIDU3MS43MjM5LDc4OS4wOTIzIDU3Mi40OTM5LDc4OC43ODQzIEM1NzQuMzQ3OSw3ODguMDM5MyA1NzYuMTk3OSw3ODcuMjc5MyA1NzguMDM5OSw3ODYuNTA3MyBDNTc4LjgwMjksNzg2LjE4NDMgNTc5LjY4MjksNzg2LjU0NzMgNTgwLjAwMjksNzg3LjMxMDMgQzU4MC4zMjM5LDc4OC4wNzQzIDU3OS45NjM5LDc4OC45NTMzIDU3OS4xOTk5LDc4OS4yNzMzIEM1NzcuMzQzOSw3OTAuMDUxMyA1NzUuNDgwOSw3OTAuODE2MyA1NzMuNjExOSw3OTEuNTY3MyBDNTczLjQyNzksNzkxLjY0MTMgNTczLjIzODksNzkxLjY3NTMgNTczLjA1MjksNzkxLjY3NTMgTDU3My4wNTI5LDc5MS42NzUzIFogTTI3MS43MzY5LDc5My4wMzMzIEMyNzEuNTUzOSw3OTMuMDMzMyAyNzEuMzY5OSw3OTMuMDAwMyAyNzEuMTg5OSw3OTIuOTI5MyBDMjY5LjMxODksNzkyLjE5ODMgMjY3LjQ1NTksNzkxLjQ1MzMgMjY1LjU5NzksNzkwLjY5NDMgQzI2NC44MzE5LDc5MC4zODEzIDI2NC40NjM5LDc4OS41MDYzIDI2NC43NzY5LDc4OC43MzgzIEMyNjUuMDg5OSw3ODcuOTcyMyAyNjUuOTY0OSw3ODcuNjAyMyAyNjYuNzMyOSw3ODcuOTE3MyBDMjY4LjU3NjksNzg4LjY3MDMgMjcwLjQyNTksNzg5LjQwOTMgMjcyLjI4MzksNzkwLjEzNjMgQzI3My4wNTQ5LDc5MC40MzgzIDI3My40MzU5LDc5MS4zMDgzIDI3My4xMzI5LDc5Mi4wODAzIEMyNzIuOTAxOSw3OTIuNjcyMyAyNzIuMzM1OSw3OTMuMDMzMyAyNzEuNzM2OSw3OTMuMDMzMyBMMjcxLjczNjksNzkzLjAzMzMgWiBNNTYxLjgxNDksNzk1Ljk5NzMgQzU2MS4yMDQ5LDc5NS45OTczIDU2MC42MzA5LDc5NS42MjIzIDU2MC40MDY5LDc5NS4wMTQzIEM1NjAuMTIxOSw3OTQuMjM3MyA1NjAuNTE5OSw3OTMuMzc1MyA1NjEuMjk3OSw3OTMuMDg5MyBDNTYzLjE3NDksNzkyLjM5ODMgNTY1LjA0NjksNzkxLjY5NTMgNTY2LjkxMTksNzkwLjk3NzMgQzU2Ny42Nzk5LDc5MC42ODMzIDU2OC41NTA5LDc5MS4wNjUzIDU2OC44NDk5LDc5MS44MzkzIEM1NjkuMTQ2OSw3OTIuNjEzMyA1NjguNzYwOSw3OTMuNDgwMyA1NjcuOTg3OSw3OTMuNzc4MyBDNTY2LjEwODksNzk0LjUwMDMgNTY0LjIyMzksNzk1LjIwOTMgNTYyLjMzMjksNzk1LjkwNTMgQzU2Mi4xNjE5LDc5NS45NjczIDU2MS45ODY5LDc5NS45OTczIDU2MS44MTQ5LDc5NS45OTczIEw1NjEuODE0OSw3OTUuOTk3MyBaIE0yODIuOTcyOSw3OTcuMjM3MyBDMjgyLjgwNDksNzk3LjIzNzMgMjgyLjYzNDksNzk3LjIwOTMgMjgyLjQ2NzksNzk3LjE0OTMgQzI4MC41NzY5LDc5Ni40NzMzIDI3OC42OTE5LDc5NS43ODMzIDI3Ni44MTI5LDc5NS4wODEzIEMyNzYuMDM2OSw3OTQuNzkxMyAyNzUuNjQyOSw3OTMuOTI1MyAyNzUuOTMyOSw3OTMuMTUwMyBDMjc2LjIyMjksNzkyLjM3NDMgMjc3LjA4OTksNzkxLjk4MDMgMjc3Ljg2MzksNzkyLjI3MDMgQzI3OS43Mjg5LDc5Mi45NjgzIDI4MS41OTk5LDc5My42NTMzIDI4My40Nzc5LDc5NC4zMjUzIEMyODQuMjU3OSw3OTQuNjAzMyAyODQuNjY0OSw3OTUuNDYyMyAyODQuMzg0OSw3OTYuMjQyMyBDMjg0LjE2NjksNzk2Ljg1NTMgMjgzLjU4OTksNzk3LjIzNzMgMjgyLjk3MjksNzk3LjIzNzMgTDI4Mi45NzI5LDc5Ny4yMzczIFogTTU1MC40NTA5LDc5OS45ODUzIEM1NDkuODIyOSw3OTkuOTg1MyA1NDkuMjM3OSw3OTkuNTg5MyA1NDkuMDI3OSw3OTguOTYxMyBDNTQ4Ljc2NDksNzk4LjE3NDMgNTQ5LjE4OTksNzk3LjMyNTMgNTQ5Ljk3NDksNzk3LjA2MjMgQzU1MS44NzM5LDc5Ni40MjgzIDU1My43NjQ5LDc5NS43ODAzIDU1NS42NTE5LDc5NS4xMTgzIEM1NTYuNDMyOSw3OTQuODQ0MyA1NTcuMjg5OSw3OTUuMjU1MyA1NTcuNTYzOSw3OTYuMDM2MyBDNTU3LjgzODksNzk2LjgxNzMgNTU3LjQyNjksNzk3LjY3MzMgNTU2LjY0NTksNzk3Ljk0ODMgQzU1NC43NDU5LDc5OC42MTYzIDU1Mi44Mzg5LDc5OS4yNjgzIDU1MC45MjU5LDc5OS45MDgzIEM1NTAuNzY3OSw3OTkuOTYxMyA1NTAuNjA3OSw3OTkuOTg1MyA1NTAuNDUwOSw3OTkuOTg1MyBMNTUwLjQ1MDksNzk5Ljk4NTMgWiBNMjk0LjMyOTksODAxLjExMDMgQzI5NC4xNzU5LDgwMS4xMTAzIDI5NC4wMTk5LDgwMS4wODczIDI5My44NjU5LDgwMS4wMzczIEMyOTEuOTU1OSw4MDAuNDE1MyAyOTAuMDUwOSw3OTkuNzgyMyAyODguMTUzOSw3OTkuMTM1MyBDMjg3LjM2OTksNzk4Ljg2ODMgMjg2Ljk0OTksNzk4LjAxNjMgMjg3LjIxNjksNzk3LjIzMjMgQzI4Ny40ODQ5LDc5Ni40NDgzIDI4OC4zMzY5LDc5Ni4wMjczIDI4OS4xMjA5LDc5Ni4yOTYzIEMyOTEuMDA1OSw3OTYuOTM4MyAyOTIuODk2OSw3OTcuNTY2MyAyOTQuNzkzOSw3OTguMTgzMyBDMjk1LjU4MTksNzk4LjQ0MDMgMjk2LjAxMTksNzk5LjI4NjMgMjk1Ljc1NTksODAwLjA3NDMgQzI5NS41NDk5LDgwMC43MDgzIDI5NC45NjI5LDgwMS4xMTAzIDI5NC4zMjk5LDgwMS4xMTAzIEwyOTQuMzI5OSw4MDEuMTEwMyBaIE01MzguOTY2OSw4MDMuNjM1MyBDNTM4LjMyMjksODAzLjYzNTMgNTM3LjcyNzksODAzLjIxNzMgNTM3LjUzMTksODAyLjU2ODMgQzUzNy4yOTM5LDgwMS43NzUzIDUzNy43NDI5LDgwMC45MzgzIDUzOC41MzU5LDgwMC42OTkzIEM1NDAuNDUyOSw4MDAuMTIyMyA1NDIuMzYzOSw3OTkuNTMwMyA1NDQuMjY4OSw3OTguOTIzMyBDNTQ1LjA2MjksNzk4LjY3MzMgNTQ1LjkwMjksNzk5LjExMDMgNTQ2LjE1MzksNzk5Ljg5ODMgQzU0Ni40MDQ5LDgwMC42ODgzIDU0NS45Njc5LDgwMS41MzIzIDU0NS4xNzg5LDgwMS43ODMzIEM1NDMuMjU3OSw4MDIuMzkzMyA1NDEuMzMzOSw4MDIuOTg5MyA1MzkuNDAwOSw4MDMuNTcyMyBDNTM5LjI1NTksODAzLjYxNTMgNTM5LjExMDksODAzLjYzNTMgNTM4Ljk2NjksODAzLjYzNTMgTDUzOC45NjY5LDgwMy42MzUzIFogTTMwNS43OTY5LDgwNC42NDMzIEMzMDUuNjU2OSw4MDQuNjQzMyAzMDUuNTE1OSw4MDQuNjI0MyAzMDUuMzc1OSw4MDQuNTg0MyBDMzAzLjQ0NTksODA0LjAyMDMgMzAxLjUyMzksODAzLjQ0MzMgMjk5LjYwNjksODAyLjg1MjMgQzI5OC44MTU5LDgwMi42MDgzIDI5OC4zNzE5LDgwMS43NjgzIDI5OC42MTU5LDgwMC45NzYzIEMyOTguODU5OSw4MDAuMTg0MyAyOTkuNjk3OSw3OTkuNzQyMyAzMDAuNDkxOSw3OTkuOTg1MyBDMzAyLjM5MjksODAwLjU3MjMgMzA0LjMwMDksODAxLjE0NTMgMzA2LjIxNDksODAxLjcwMzMgQzMwNy4wMDk5LDgwMS45MzUzIDMwNy40NjY5LDgwMi43NjgzIDMwNy4yMzU5LDgwMy41NjMzIEMzMDcuMDQ0OSw4MDQuMjE4MyAzMDYuNDQ1OSw4MDQuNjQzMyAzMDUuNzk2OSw4MDQuNjQzMyBMMzA1Ljc5NjksODA0LjY0MzMgWiBNNTI3LjQzMDksODA2LjkyOTMgQzUyNi43Njk5LDgwNi45MjkzIDUyNi4xNjQ5LDgwNi40ODkzIDUyNS45ODM5LDgwNS44MjAzIEM1MjUuNzY3OSw4MDUuMDIwMyA1MjYuMjQxOSw4MDQuMTk3MyA1MjcuMDQxOSw4MDMuOTgxMyBDNTI4Ljk2NjksODAzLjQ2MjMgNTMwLjg4NjksODAyLjkyODMgNTMyLjgwMTksODAyLjM4MjMgQzUzMy41OTg5LDgwMi4xNTczIDUzNC40Mjg5LDgwMi42MTczIDUzNC42NTU5LDgwMy40MTQzIEM1MzQuODgyOSw4MDQuMjExMyA1MzQuNDIxOSw4MDUuMDQxMyA1MzMuNjI0OSw4MDUuMjY3MyBDNTMxLjY5NTksODA1LjgxNzMgNTI5Ljc2MTksODA2LjM1NDMgNTI3LjgyMjksODA2Ljg3ODMgQzUyNy42OTE5LDgwNi45MTMzIDUyNy41NjA5LDgwNi45MjkzIDUyNy40MzA5LDgwNi45MjkzIEw1MjcuNDMwOSw4MDYuOTI5MyBaIE0zMTcuMzYyOSw4MDcuODM5MyBDMzE3LjIzNzksODA3LjgzOTMgMzE3LjExMDksODA3LjgyMzMgMzE2Ljk4MzksODA3Ljc5MDMgQzMxNS4wMzg5LDgwNy4yODMzIDMxMy4wOTk5LDgwNi43NjMzIDMxMS4xNjc5LDgwNi4yMzAzIEMzMTAuMzY4OSw4MDYuMDA5MyAzMDkuOTAwOSw4MDUuMTgzMyAzMTAuMTIwOSw4MDQuMzg0MyBDMzEwLjM0MTksODAzLjU4NTMgMzExLjE2ODksODAzLjEyMTMgMzExLjk2NTksODAzLjMzODMgQzMxMy44ODQ5LDgwMy44NjkzIDMxNS44MDk5LDgwNC4zODQzIDMxNy43Mzk5LDgwNC44ODczIEMzMTguNTQxOSw4MDUuMDk2MyAzMTkuMDIxOSw4MDUuOTE1MyAzMTguODEyOSw4MDYuNzE2MyBDMzE4LjYzNjksODA3LjM5MTMgMzE4LjAyODksODA3LjgzOTMgMzE3LjM2MjksODA3LjgzOTMgTDMxNy4zNjI5LDgwNy44MzkzIFogTTUxNS44MDA5LDgwOS44ODEzIEM1MTUuMTIyOSw4MDkuODgxMyA1MTQuNTA2OSw4MDkuNDE5MyA1MTQuMzQyOSw4MDguNzI5MyBDNTE0LjE1MDksODA3LjkyMzMgNTE0LjY0ODksODA3LjExNDMgNTE1LjQ1NDksODA2LjkyMzMgQzUxNy4zOTQ5LDgwNi40NjEzIDUxOS4zMjg5LDgwNS45ODQzIDUyMS4yNTc5LDgwNS40OTQzIEM1MjIuMDYzOSw4MDUuMjkzMyA1MjIuODc2OSw4MDUuNzc1MyA1MjMuMDgxOSw4MDYuNTc5MyBDNTIzLjI4NTksODA3LjM4MTMgNTIyLjc5OTksODA4LjE5ODMgNTIxLjk5NjksODA4LjQwMjMgQzUyMC4wNTI5LDgwOC44OTYzIDUxOC4xMDM5LDgwOS4zNzUzIDUxNi4xNDk5LDgwOS44NDAzIEM1MTYuMDMyOSw4MDkuODY5MyA1MTUuOTE1OSw4MDkuODgxMyA1MTUuODAwOSw4MDkuODgxMyBMNTE1LjgwMDksODA5Ljg4MTMgWiBNMzI5LjAxNTksODEwLjY4NzMgQzMyOC45MDU5LDgxMC42ODczIDMyOC43OTM5LDgxMC42NzUzIDMyOC42ODA5LDgxMC42NDkzIEMzMjYuNzIxOSw4MTAuMjAyMyAzMjQuNzY4OSw4MDkuNzM5MyAzMjIuODIwOSw4MDkuMjYyMyBDMzIyLjAxNTksODA5LjA2NTMgMzIxLjUyMjksODA4LjI1NDMgMzIxLjcxOTksODA3LjQ0OTMgQzMyMS45MTg5LDgwNi42NDQzIDMyMi43MjU5LDgwNi4xNTIzIDMyMy41MzM5LDgwNi4zNDgzIEMzMjUuNDY1OSw4MDYuODIxMyAzMjcuNDA1OSw4MDcuMjgwMyAzMjkuMzQ5OSw4MDcuNzI1MyBDMzMwLjE1NjksODA3LjkxMDMgMzMwLjY2MTksODA4LjcxNDMgMzMwLjQ3NjksODA5LjUyMjMgQzMzMC4zMTg5LDgxMC4yMTYzIDMyOS43MDA5LDgxMC42ODczIDMyOS4wMTU5LDgxMC42ODczIEwzMjkuMDE1OSw4MTAuNjg3MyBaIE01MDQuMDg5OSw4MTIuNDg4MyBDNTAzLjM5MzksODEyLjQ4ODMgNTAyLjc2ODksODEyLjAwMTMgNTAyLjYyMjksODExLjI5MzMgQzUwMi40NTQ5LDgxMC40ODEzIDUwMi45NzU5LDgwOS42ODczIDUwMy43ODY5LDgwOS41MTkzIEM1MDUuNzM5OSw4MDkuMTE1MyA1MDcuNjg2OSw4MDguNjk2MyA1MDkuNjMwOSw4MDguMjYzMyBDNTEwLjQzNjksODA4LjA4MDMgNTExLjI0MDksODA4LjU5MjMgNTExLjQyMDksODA5LjQwMTMgQzUxMS42MDA5LDgxMC4yMTAzIDUxMS4wOTA5LDgxMS4wMTEzIDUxMC4yODI5LDgxMS4xOTEzIEM1MDguMzI1OSw4MTEuNjI4MyA1MDYuMzYyOSw4MTIuMDQ5MyA1MDQuMzk1OSw4MTIuNDU3MyBDNTA0LjI5MzksODEyLjQ3ODMgNTA0LjE5MDksODEyLjQ4ODMgNTA0LjA4OTksODEyLjQ4ODMgTDUwNC4wODk5LDgxMi40ODgzIFogTTM0MC43NTA5LDgxMy4xOTEzIEMzNDAuNjUzOSw4MTMuMTkxMyAzNDAuNTU0OSw4MTMuMTgyMyAzNDAuNDU3OSw4MTMuMTYzMyBDMzM4LjQ4NTksODEyLjc3MjMgMzM2LjUxOTksODEyLjM2ODMgMzM0LjU1ODksODExLjk0OTMgQzMzMy43NDk5LDgxMS43NzYzIDMzMy4yMzI5LDgxMC45NzkzIDMzMy40MDU5LDgxMC4xNjkzIEMzMzMuNTc3OSw4MDkuMzYwMyAzMzQuMzcyOSw4MDguODQxMyAzMzUuMTg1OSw4MDkuMDE1MyBDMzM3LjEzMDksODA5LjQzMDMgMzM5LjA4MzksODA5LjgzMzMgMzQxLjAzOTksODEwLjIxOTMgQzM0MS44NTE5LDgxMC4zODEzIDM0Mi4zODA5LDgxMS4xNzAzIDM0Mi4yMTk5LDgxMS45ODIzIEMzNDIuMDc4OSw4MTIuNjk3MyAzNDEuNDUxOSw4MTMuMTkxMyAzNDAuNzUwOSw4MTMuMTkxMyBMMzQwLjc1MDksODEzLjE5MTMgWiBNNDkyLjMwNjksODE0Ljc1MDMgQzQ5MS41OTI5LDgxNC43NTAzIDQ5MC45NjA5LDgxNC4yMzgzIDQ5MC44MzE5LDgxMy41MTAzIEM0OTAuNjg3OSw4MTIuNjk1MyA0OTEuMjMxOSw4MTEuOTE3MyA0OTIuMDQ3OSw4MTEuNzcyMyBDNDk0LjAxMTksODExLjQyNTMgNDk1Ljk3MTksODExLjA2NDMgNDk3LjkyNTksODEwLjY4OTMgQzQ5OC43MzM5LDgxMC41NDEzIDQ5OS41MjQ5LDgxMS4wNjYzIDQ5OS42ODA5LDgxMS44ODEzIEM0OTkuODM3OSw4MTIuNjk0MyA0OTkuMzAzOSw4MTMuNDgwMyA0OTguNDkwOSw4MTMuNjM1MyBDNDk2LjUyMjksODE0LjAxMzMgNDk0LjU0ODksODE0LjM3NzMgNDkyLjU2OTksODE0LjcyNzMgQzQ5Mi40ODE5LDgxNC43NDMzIDQ5Mi4zOTM5LDgxNC43NTAzIDQ5Mi4zMDY5LDgxNC43NTAzIEw0OTIuMzA2OSw4MTQuNzUwMyBaIE0zNTIuNTUyOSw4MTUuMzUxMyBDMzUyLjQ3MDksODE1LjM1MTMgMzUyLjM4NjksODE1LjM0NDMgMzUyLjMwMjksODE1LjMzMTMgQzM1MC4zMjA5LDgxNC45OTkzIDM0OC4zNDM5LDgxNC42NTEzIDM0Ni4zNzI5LDgxNC4yOTEzIEMzNDUuNTU2OSw4MTQuMTQxMyAzNDUuMDE2OSw4MTMuMzYwMyAzNDUuMTY2OSw4MTIuNTQ2MyBDMzQ1LjMxNjksODExLjczMDMgMzQ2LjEwMDksODExLjE5MDMgMzQ2LjkxMTksODExLjMzOTMgQzM0OC44Njk5LDgxMS42OTgzIDM1MC44MzE5LDgxMi4wNDIzIDM1Mi43OTg5LDgxMi4zNzIzIEMzNTMuNjE2OSw4MTIuNTA4MyAzNTQuMTY3OSw4MTMuMjgyMyAzNTQuMDMwOSw4MTQuMDk5MyBDMzUzLjkwNzksODE0LjgzMzMgMzUzLjI3MjksODE1LjM1MTMgMzUyLjU1MjksODE1LjM1MTMgTDM1Mi41NTI5LDgxNS4zNTEzIFogTTQ4MC40NjI5LDgxNi42NjIzIEM0NzkuNzI5OSw4MTYuNjYyMyA0NzkuMDg5OSw4MTYuMTI1MyA0NzguOTc5OSw4MTUuMzc5MyBDNDc4Ljg1OTksODE0LjU1OTMgNDc5LjQyNjksODEzLjc5ODMgNDgwLjI0NjksODEzLjY3NzMgQzQ4Mi4yMjA5LDgxMy4zODgzIDQ4NC4xOTA5LDgxMy4wODUzIDQ4Ni4xNTQ5LDgxMi43NjgzIEM0ODYuOTc4OSw4MTIuNjMwMyA0ODcuNzQzOSw4MTMuMTkzMyA0ODcuODc0OSw4MTQuMDA5MyBDNDg4LjAwNjksODE0LjgyODMgNDg3LjQ1MDksODE1LjU5NzMgNDg2LjYzMjksODE1LjcyOTMgQzQ4NC42NTM5LDgxNi4wNDkzIDQ4Mi42NzA5LDgxNi4zNTUzIDQ4MC42ODA5LDgxNi42NDYzIEM0ODAuNjA3OSw4MTYuNjU3MyA0ODAuNTM0OSw4MTYuNjYyMyA0ODAuNDYyOSw4MTYuNjYyMyBMNDgwLjQ2MjksODE2LjY2MjMgWiBNMzY0LjQxMjksODE3LjE2MTMgQzM2NC4zNDM5LDgxNy4xNjEzIDM2NC4yNzQ5LDgxNy4xNTYzIDM2NC4yMDU5LDgxNy4xNDczIEMzNjIuMjE0OSw4MTYuODczMyAzNjAuMjI4OSw4MTYuNTg0MyAzNTguMjQ3OSw4MTYuMjgxMyBDMzU3LjQyNzksODE2LjE1NjMgMzU2Ljg2NTksODE1LjM5MDMgMzU2Ljk5MTksODE0LjU3MjMgQzM1Ny4xMTc5LDgxMy43NTMzIDM1Ny44NzQ5LDgxMy4xODgzIDM1OC43MDA5LDgxMy4zMTYzIEMzNjAuNjY4OSw4MTMuNjE2MyAzNjIuNjM4OSw4MTMuOTAyMyAzNjQuNjE1OSw4MTQuMTc0MyBDMzY1LjQzNTksODE0LjI4ODMgMzY2LjAwODksODE1LjA0NTMgMzY1Ljg5NjksODE1Ljg2NjMgQzM2NS43OTM5LDgxNi42MTczIDM2NS4xNDk5LDgxNy4xNjEzIDM2NC40MTI5LDgxNy4xNjEzIEwzNjQuNDEyOSw4MTcuMTYxMyBaIE00NjguNTY1OSw4MTguMjI2MyBDNDY3LjgxNTksODE4LjIyNjMgNDY3LjE2NzksODE3LjY2NDMgNDY3LjA3NzksODE2LjkwMDMgQzQ2Ni45ODE5LDgxNi4wNzgzIDQ2Ny41NzA5LDgxNS4zMzMzIDQ2OC4zOTM5LDgxNS4yMzYzIEM0NzAuMzc1OSw4MTUuMDA1MyA0NzIuMzUyOSw4MTQuNzU5MyA0NzQuMzI1OSw4MTQuNTAwMyBDNDc1LjE1MjksODE0LjM5ODMgNDc1LjkwMDksODE0Ljk3MDMgNDc2LjAwODksODE1Ljc5MjMgQzQ3Ni4xMTc5LDgxNi42MTMzIDQ3NS41Mzg5LDgxNy4zNjYzIDQ3NC43MTY5LDgxNy40NzQzIEM0NzIuNzI5OSw4MTcuNzM2MyA0NzAuNzM4OSw4MTcuOTgzMyA0NjguNzQxOSw4MTguMjE2MyBDNDY4LjY4MjksODE4LjIyMzMgNDY4LjYyNDksODE4LjIyNjMgNDY4LjU2NTksODE4LjIyNjMgTDQ2OC41NjU5LDgxOC4yMjYzIFogTTM3Ni4zMjA5LDgxOC42MjIzIEMzNzYuMjY2OSw4MTguNjIyMyAzNzYuMjEzOSw4MTguNjE5MyAzNzYuMTU4OSw4MTguNjEzMyBDMzc0LjE2MDksODE4LjM5ODMgMzcyLjE2NzksODE4LjE2ODMgMzcwLjE3NjksODE3LjkyNDMgQzM2OS4zNTQ5LDgxNy44MjMzIDM2OC43Njk5LDgxNy4wNzUzIDM2OC44NzA5LDgxNi4yNTMzIEMzNjguOTcxOSw4MTUuNDMwMyAzNjkuNzM1OSw4MTQuODYwMyAzNzAuNTQyOSw4MTQuOTQ2MyBDMzcyLjUxNjksODE1LjE4OTMgMzc0LjQ5NjksODE1LjQxODMgMzc2LjQ3ODksODE1LjYzMTMgQzM3Ny4zMDI5LDgxNS43MTgzIDM3Ny44OTg5LDgxNi40NTkzIDM3Ny44MDk5LDgxNy4yODIzIEMzNzcuNzI3OSw4MTguMDUxMyAzNzcuMDc3OSw4MTguNjIyMyAzNzYuMzIwOSw4MTguNjIyMyBMMzc2LjMyMDksODE4LjYyMjMgWiBNNDU2LjYzMDksODE5LjQ0MTMgQzQ1NS44NjA5LDgxOS40NDEzIDQ1NS4yMDU5LDgxOC44NTIzIDQ1NS4xMzc5LDgxOC4wNzEzIEM0NTUuMDY1OSw4MTcuMjQ2MyA0NTUuNjc2OSw4MTYuNTE4MyA0NTYuNTAyOSw4MTYuNDQ3MyBDNDU4LjQ4OTksODE2LjI3MzMgNDYwLjQ3MzksODE2LjA4NjMgNDYyLjQ1MjksODE1Ljg4NDMgQzQ2My4yNzc5LDgxNS44MDEzIDQ2NC4wMTI5LDgxNi40MDEzIDQ2NC4wOTY5LDgxNy4yMjUzIEM0NjQuMTgwOSw4MTguMDQ4MyA0NjMuNTgxOSw4MTguNzg1MyA0NjIuNzU2OSw4MTguODY5MyBDNDYwLjc2MjksODE5LjA3MjMgNDU4Ljc2NDksODE5LjI2MTMgNDU2Ljc2MTksODE5LjQzNTMgQzQ1Ni43MTc5LDgxOS40MzkzIDQ1Ni42NzM5LDgxOS40NDEzIDQ1Ni42MzA5LDgxOS40NDEzIEw0NTYuNjMwOSw4MTkuNDQxMyBaIE0zODguMjY2OSw4MTkuNzMzMyBDMzg4LjIyNzksODE5LjczMzMgMzg4LjE4NzksODE5LjczMTMgMzg4LjE0NzksODE5LjcyODMgQzM4Ni4xNDM5LDgxOS41NzIzIDM4NC4xNDM5LDgxOS40MDAzIDM4Mi4xNDc5LDgxOS4yMTQzIEMzODEuMzIzOSw4MTkuMTM3MyAzODAuNzE2OSw4MTguNDA2MyAzODAuNzk0OSw4MTcuNTgxMyBDMzgwLjg3MTksODE2Ljc1NjMgMzgxLjYwMzksODE2LjE0NTMgMzgyLjQyNjksODE2LjIyNzMgQzM4NC40MDc5LDgxNi40MTIzIDM4Ni4zOTE5LDgxNi41ODIzIDM4OC4zODE5LDgxNi43MzgzIEMzODkuMjA4OSw4MTYuODAyMyAzODkuODI0OSw4MTcuNTI0MyAzODkuNzU5OSw4MTguMzUwMyBDMzg5LjY5ODksODE5LjEzNjMgMzg5LjA0MjksODE5LjczMzMgMzg4LjI2NjksODE5LjczMzMgTDM4OC4yNjY5LDgxOS43MzMzIFogTTQ0NC42NjQ5LDgyMC4zMDgzIEM0NDMuODc1OSw4MjAuMzA4MyA0NDMuMjEzOSw4MTkuNjkyMyA0NDMuMTY4OSw4MTguODk0MyBDNDQzLjEyMDksODE4LjA2ODMgNDQzLjc1MjksODE3LjM1ODMgNDQ0LjU3OTksODE3LjMxMTMgQzQ0Ni41NzA5LDgxNy4xOTYzIDQ0OC41NTc5LDgxNy4wNjYzIDQ1MC41NDM5LDgxNi45MjMzIEM0NTEuMzYxOSw4MTYuODcwMyA0NTIuMDg3OSw4MTcuNDg0MyA0NTIuMTQ3OSw4MTguMzEwMyBDNDUyLjIwNzksODE5LjEzNjMgNDUxLjU4NjksODE5Ljg1NTMgNDUwLjc1OTksODE5LjkxNTMgQzQ0OC43NjA5LDgyMC4wNjAzIDQ0Ni43NTc5LDgyMC4xOTAzIDQ0NC43NTE5LDgyMC4zMDUzIEM0NDQuNzIxOSw4MjAuMzA3MyA0NDQuNjkyOSw4MjAuMzA4MyA0NDQuNjY0OSw4MjAuMzA4MyBMNDQ0LjY2NDksODIwLjMwODMgWiBNNDAwLjI0MDksODIwLjQ5ODMgQzQwMC4yMTU5LDgyMC40OTgzIDQwMC4xOTA5LDgyMC40OTczIDQwMC4xNjU5LDgyMC40OTYzIEMzOTguMTU4OSw4MjAuMzk3MyAzOTYuMTU0OSw4MjAuMjgzMyAzOTQuMTUzOSw4MjAuMTU2MyBDMzkzLjMyNzksODIwLjEwMzMgMzkyLjY5OTksODE5LjM5MDMgMzkyLjc1MjksODE4LjU2MzMgQzM5Mi44MDQ5LDgxNy43MzYzIDM5My41MDg5LDgxNy4xMTUzIDM5NC4zNDQ5LDgxNy4xNjIzIEMzOTYuMzMwOSw4MTcuMjg5MyAzOTguMzIwOSw4MTcuNDAxMyA0MDAuMzEzOSw4MTcuNTAwMyBDNDAxLjE0MDksODE3LjU0MTMgNDAxLjc3ODksODE4LjI0NDMgNDAxLjczNzksODE5LjA3MjMgQzQwMS42OTg5LDgxOS44NzQzIDQwMS4wMzU5LDgyMC40OTgzIDQwMC4yNDA5LDgyMC40OTgzIEw0MDAuMjQwOSw4MjAuNDk4MyBaIE00MzIuNjc3OSw4MjAuODI3MyBDNDMxLjg2OTksODIwLjgyNzMgNDMxLjIwMzksODIwLjE4MzMgNDMxLjE3OTksODE5LjM3MDMgQzQzMS4xNTU5LDgxOC41NDIzIDQzMS44MDc5LDgxNy44NTEzIDQzMi42MzU5LDgxNy44MjgzIEM0MzQuNjMwOSw4MTcuNzcwMyA0MzYuNjIxOSw4MTcuNjk4MyA0MzguNjA5OSw4MTcuNjEyMyBDNDM5LjQxOTksODE3LjU2NTMgNDQwLjEzNjksODE4LjIxODMgNDQwLjE3MjksODE5LjA0NzMgQzQ0MC4yMDg5LDgxOS44NzQzIDQzOS41NjY5LDgyMC41NzQzIDQzOC43Mzg5LDgyMC42MTAzIEM0MzYuNzM2OSw4MjAuNjk2MyA0MzQuNzMxOSw4MjAuNzY4MyA0MzIuNzIxOSw4MjAuODI2MyBDNDMyLjcwNzksODIwLjgyNzMgNDMyLjY5MjksODIwLjgyNzMgNDMyLjY3NzksODIwLjgyNzMgTDQzMi42Nzc5LDgyMC44MjczIFogTTQxMi4yMTY5LDgyMC45MTMzIEw0MTIuMTg1OSw4MjAuOTEzMyBDNDEwLjE4MDksODIwLjg3MjMgNDA4LjE3ODksODIwLjgxNzMgNDA2LjE4MDksODIwLjc0ODMgQzQwNS4zNTI5LDgyMC43MTkzIDQwNC43MDQ5LDgyMC4wMjQzIDQwNC43MzM5LDgxOS4xOTczIEM0MDQuNzYxOSw4MTguMzY5MyA0MDUuNDY2OSw4MTcuNzE5MyA0MDYuMjg0OSw4MTcuNzUwMyBDNDA4LjI2ODksODE3LjgxOTMgNDEwLjI1NTksODE3Ljg3MzMgNDEyLjI0NjksODE3LjkxMzMgQzQxMy4wNzQ5LDgxNy45MjkzIDQxMy43MzI5LDgxOC42MTUzIDQxMy43MTU5LDgxOS40NDMzIEM0MTMuNjk5OSw4MjAuMjYwMyA0MTMuMDMwOSw4MjAuOTEzMyA0MTIuMjE2OSw4MjAuOTEzMyBMNDEyLjIxNjksODIwLjkxMzMgWiBNNDIwLjY4MjksODIxLjAwMDMgQzQxOS44NTQ5LDgyMC45OTkzIDQxOS4wMjg5LDgyMC45OTczIDQxOC4yMDM5LDgyMC45OTIzIEM0MTcuMzc1OSw4MjAuOTg3MyA0MTYuNzA3OSw4MjAuMzExMyA0MTYuNzEyODcyLDgxOS40ODMzIEM0MTYuNzE2OSw4MTguNjU4MyA0MTcuMzg3OSw4MTcuOTkyMyA0MTguMjEyOSw4MTcuOTkyMyBMNDE4LjIyMDksODE3Ljk5MjMgQzQyMS4wMzQ5LDgxOC4wMDkzIDQyMy44NTA5LDgxNy45OTczIDQyNi42NjA5LDgxNy45NTczIEw0MjYuNjgxOSw4MTcuOTU3MyBDNDI3LjUwMTksODE3Ljk1NzMgNDI4LjE3MDksODE4LjYxNDMgNDI4LjE4MTksODE5LjQzNTMgQzQyOC4xOTM5LDgyMC4yNjMzIDQyNy41MzE5LDgyMC45NDUzIDQyNi43MDM5LDgyMC45NTczIEM0MjQuNzAwOSw4MjAuOTg1MyA0MjIuNjkyOSw4MjEuMDAwMyA0MjAuNjgyOSw4MjEuMDAwMyBMNDIwLjY4MjksODIxLjAwMDMgWiIgaWQ9IkZpbGwtNSIgZmlsbD0iI0EzQjFCRiIgb3BhY2l0eT0iMC4zOTU2NzA1NzMiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTEuNjgzMSw2NDYgQzQ3LjU0NzEsNjQ2IDQ0LjE4MzEsNjQ5LjM2NCA0NC4xODMxLDY1My41IEM0NC4xODMxLDY1Ny42MzYgNDcuNTQ3MSw2NjEgNTEuNjgzMSw2NjEgQzU1LjgxOTEsNjYxIDU5LjE4MzEsNjU3LjYzNiA1OS4xODMxLDY1My41IEM1OS4xODMxLDY0OS4zNjQgNTUuODE5MSw2NDYgNTEuNjgzMSw2NDYgTTUxLjY4MzEsNjY0IEM0NS44OTMxLDY2NCA0MS4xODMxLDY1OS4yOSA0MS4xODMxLDY1My41IEM0MS4xODMxLDY0Ny43MSA0NS44OTMxLDY0MyA1MS42ODMxLDY0MyBDNTcuNDczMSw2NDMgNjIuMTgzMSw2NDcuNzEgNjIuMTgzMSw2NTMuNSBDNjIuMTgzMSw2NTkuMjkgNTcuNDczMSw2NjQgNTEuNjgzMSw2NjQiIGlkPSJGaWxsLTciIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjg1LjE4MzEsNTUzLjUgQzI3Ni42MjIxLDU1My41IDI2OS42ODMxLDU2MC40MzkgMjY5LjY4MzEsNTY5IEMyNjkuNjgzMSw1NzcuNTYxIDI3Ni42MjIxLDU4NC41IDI4NS4xODMxLDU4NC41IEMyOTMuNzQ0MSw1ODQuNSAzMDAuNjgzMSw1NzcuNTYxIDMwMC42ODMxLDU2OSBDMzAwLjY4MzEsNTYwLjQzOSAyOTMuNzQ0MSw1NTMuNSAyODUuMTgzMSw1NTMuNSBNMjg1LjE4MzEsNTU2LjUgQzI5Mi4wNzYxLDU1Ni41IDI5Ny42ODMxLDU2Mi4xMDcgMjk3LjY4MzEsNTY5IEMyOTcuNjgzMSw1NzUuODkzIDI5Mi4wNzYxLDU4MS41IDI4NS4xODMxLDU4MS41IEMyNzguMjkwMSw1ODEuNSAyNzIuNjgzMSw1NzUuODkzIDI3Mi42ODMxLDU2OSBDMjcyLjY4MzEsNTYyLjEwNyAyNzguMjkwMSw1NTYuNSAyODUuMTgzMSw1NTYuNSIgaWQ9IkZpbGwtOSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODUuMTgzMSw1NTYuNSBDMjc4LjI5MDEsNTU2LjUgMjcyLjY4MzEsNTYyLjEwNyAyNzIuNjgzMSw1NjkgQzI3Mi42ODMxLDU3NS44OTMgMjc4LjI5MDEsNTgxLjUgMjg1LjE4MzEsNTgxLjUgQzI5Mi4wNzYxLDU4MS41IDI5Ny42ODMxLDU3NS44OTMgMjk3LjY4MzEsNTY5IEMyOTcuNjgzMSw1NjIuMTA3IDI5Mi4wNzYxLDU1Ni41IDI4NS4xODMxLDU1Ni41IiBpZD0i6Lev5b6EIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTUzMS42ODMxLDI0My41IEM1MjYuNzEyMSwyNDMuNSA1MjIuNjgzMSwyNDcuNTI5IDUyMi42ODMxLDI1Mi41IEM1MjIuNjgzMSwyNTcuNDcxIDUyNi43MTIxLDI2MS41IDUzMS42ODMxLDI2MS41IEM1MzYuNjU0MSwyNjEuNSA1NDAuNjgzMSwyNTcuNDcxIDU0MC42ODMxLDI1Mi41IEM1NDAuNjgzMSwyNDcuNTI5IDUzNi42NTQxLDI0My41IDUzMS42ODMxLDI0My41IE01MzEuNjgzMSwyNDYuNSBDNTM0Ljk5MjEsMjQ2LjUgNTM3LjY4MzEsMjQ5LjE5MSA1MzcuNjgzMSwyNTIuNSBDNTM3LjY4MzEsMjU1LjgwOSA1MzQuOTkyMSwyNTguNSA1MzEuNjgzMSwyNTguNSBDNTI4LjM3NDEsMjU4LjUgNTI1LjY4MzEsMjU1LjgwOSA1MjUuNjgzMSwyNTIuNSBDNTI1LjY4MzEsMjQ5LjE5MSA1MjguMzc0MSwyNDYuNSA1MzEuNjgzMSwyNDYuNSIgaWQ9IkZpbGwtMTMiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTMxLjY4MzEsMjQ2LjUgQzUzNC45OTIxLDI0Ni41IDUzNy42ODMxLDI0OS4xOTEgNTM3LjY4MzEsMjUyLjUgQzUzNy42ODMxLDI1NS44MDkgNTM0Ljk5MjEsMjU4LjUgNTMxLjY4MzEsMjU4LjUgQzUyOC4zNzQxLDI1OC41IDUyNS42ODMxLDI1NS44MDkgNTI1LjY4MzEsMjUyLjUgQzUyNS42ODMxLDI0OS4xOTEgNTI4LjM3NDEsMjQ2LjUgNTMxLjY4MzEsMjQ2LjUiIGlkPSJGaWxsLTE1IiBmaWxsPSIjRjNGOEZGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMyMS42ODMxLDY3MC41IEMzMjQuNDQ1MSw2NzAuNSAzMjYuNjgzMSw2NjguMjYyIDMyNi42ODMxLDY2NS41IEMzMjYuNjgzMSw2NjIuNzM5IDMyNC40NDUxLDY2MC41IDMyMS42ODMxLDY2MC41IEMzMTguOTIxMSw2NjAuNSAzMTYuNjgzMSw2NjIuNzM5IDMxNi42ODMxLDY2NS41IEMzMTYuNjgzMSw2NjguMjYyIDMxOC45MjExLDY3MC41IDMyMS42ODMxLDY3MC41IiBpZD0iRmlsbC0xNyIgZmlsbD0iI0YzRjhGRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDUuNjgzMSw1NzkuNSBDMTA3LjA2NDEsNTc5LjUgMTA4LjE4MzEsNTgwLjYxOSAxMDguMTgzMSw1ODIgTDEwOC4xODMxLDU5MiBDMTA4LjE4MzEsNTkzLjM4MSAxMDcuMDY0MSw1OTQuNSAxMDUuNjgzMSw1OTQuNSBDMTA0LjMwMjEsNTk0LjUgMTAzLjE4MzEsNTkzLjM4MSAxMDMuMTgzMSw1OTIgTDEwMy4xODMxLDU4MiBDMTAzLjE4MzEsNTgwLjYxOSAxMDQuMzAyMSw1NzkuNSAxMDUuNjgzMSw1NzkuNSBMMTA1LjY4MzEsNTc5LjUgWiBNOTUuMTgzMSw1NjkgQzk2LjU2NDEsNTY5IDk3LjY4MzEsNTcwLjExOSA5Ny42ODMxLDU3MS41IEM5Ny42ODMxLDU3Mi44ODEgOTYuNTY0MSw1NzQgOTUuMTgzMSw1NzQgTDg1LjE4MzEsNTc0IEM4My44MDIxLDU3NCA4Mi42ODMxLDU3Mi44ODEgODIuNjgzMSw1NzEuNSBDODIuNjgzMSw1NzAuMTE5IDgzLjgwMjEsNTY5IDg1LjE4MzEsNTY5IEw5NS4xODMxLDU2OSBaIE0xMjYuMTgzMSw1NjkgQzEyNy41NjQxLDU2OSAxMjguNjgzMSw1NzAuMTE5IDEyOC42ODMxLDU3MS41IEMxMjguNjgzMSw1NzIuODgxIDEyNy41NjQxLDU3NCAxMjYuMTgzMSw1NzQgTDExNi4xODMxLDU3NCBDMTE0LjgwMjEsNTc0IDExMy42ODMxLDU3Mi44ODEgMTEzLjY4MzEsNTcxLjUgQzExMy42ODMxLDU3MC4xMTkgMTE0LjgwMjEsNTY5IDExNi4xODMxLDU2OSBMMTI2LjE4MzEsNTY5IFogTTEwNS42ODMxLDU0OC41IEMxMDcuMDY0MSw1NDguNSAxMDguMTgzMSw1NDkuNjE5IDEwOC4xODMxLDU1MSBMMTA4LjE4MzEsNTYxIEMxMDguMTgzMSw1NjIuMzgxIDEwNy4wNjQxLDU2My41IDEwNS42ODMxLDU2My41IEMxMDQuMzAyMSw1NjMuNSAxMDMuMTgzMSw1NjIuMzgxIDEwMy4xODMxLDU2MSBMMTAzLjE4MzEsNTUxIEMxMDMuMTgzMSw1NDkuNjE5IDEwNC4zMDIxLDU0OC41IDEwNS42ODMxLDU0OC41IEwxMDUuNjgzMSw1NDguNSBaIiBpZD0iRmlsbC0xOSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NzkuNjgzMSw0ODIuNSBDNzgxLjA2NDEsNDgyLjUgNzgyLjE4MzEsNDgzLjYxOSA3ODIuMTgzMSw0ODUgTDc4Mi4xODMxLDQ5NSBDNzgyLjE4MzEsNDk2LjM4MSA3ODEuMDY0MSw0OTcuNSA3NzkuNjgzMSw0OTcuNSBDNzc4LjMwMjEsNDk3LjUgNzc3LjE4MzEsNDk2LjM4MSA3NzcuMTgzMSw0OTUgTDc3Ny4xODMxLDQ4NSBDNzc3LjE4MzEsNDgzLjYxOSA3NzguMzAyMSw0ODIuNSA3NzkuNjgzMSw0ODIuNSBMNzc5LjY4MzEsNDgyLjUgWiBNNzY5LjE4MzEsNDcyIEM3NzAuNTY0MSw0NzIgNzcxLjY4MzEsNDczLjExOSA3NzEuNjgzMSw0NzQuNSBDNzcxLjY4MzEsNDc1Ljg4MSA3NzAuNTY0MSw0NzcgNzY5LjE4MzEsNDc3IEw3NTkuMTgzMSw0NzcgQzc1Ny44MDIxLDQ3NyA3NTYuNjgzMSw0NzUuODgxIDc1Ni42ODMxLDQ3NC41IEM3NTYuNjgzMSw0NzMuMTE5IDc1Ny44MDIxLDQ3MiA3NTkuMTgzMSw0NzIgTDc2OS4xODMxLDQ3MiBaIE04MDAuMTgzMSw0NzIgQzgwMS41NjQxLDQ3MiA4MDIuNjgzMSw0NzMuMTE5IDgwMi42ODMxLDQ3NC41IEM4MDIuNjgzMSw0NzUuODgxIDgwMS41NjQxLDQ3NyA4MDAuMTgzMSw0NzcgTDc5MC4xODMxLDQ3NyBDNzg4LjgwMjEsNDc3IDc4Ny42ODMxLDQ3NS44ODEgNzg3LjY4MzEsNDc0LjUgQzc4Ny42ODMxLDQ3My4xMTkgNzg4LjgwMjEsNDcyIDc5MC4xODMxLDQ3MiBMODAwLjE4MzEsNDcyIFogTTc3OS42ODMxLDQ1MS41IEM3ODEuMDY0MSw0NTEuNSA3ODIuMTgzMSw0NTIuNjE5IDc4Mi4xODMxLDQ1NCBMNzgyLjE4MzEsNDY0IEM3ODIuMTgzMSw0NjUuMzgxIDc4MS4wNjQxLDQ2Ni41IDc3OS42ODMxLDQ2Ni41IEM3NzguMzAyMSw0NjYuNSA3NzcuMTgzMSw0NjUuMzgxIDc3Ny4xODMxLDQ2NCBMNzc3LjE4MzEsNDU0IEM3NzcuMTgzMSw0NTIuNjE5IDc3OC4zMDIxLDQ1MS41IDc3OS42ODMxLDQ1MS41IEw3NzkuNjgzMSw0NTEuNSBaIiBpZD0iRmlsbC0yMSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00OTkuNjgzMSwyODguNSBMMzQ1LjY4MzEsMjg4LjUgQzMzNC4xMDQxLDI4OC41IDMyNC42ODMxLDI5Ny45MjEgMzI0LjY4MzEsMzA5LjUgTDMyNC42ODMxLDUwNS41IEMzMjQuNjgzMSw1MTcuMDc5IDMzNC4xMDQxLDUyNi41IDM0NS42ODMxLDUyNi41IEw0OTkuNjgzMSw1MjYuNSBDNTExLjI2MjEsNTI2LjUgNTIwLjY4MzEsNTE3LjA3OSA1MjAuNjgzMSw1MDUuNSBMNTIwLjY4MzEsMzA5LjUgQzUyMC42ODMxLDI5Ny45MjEgNTExLjI2MjEsMjg4LjUgNDk5LjY4MzEsMjg4LjUgTTQ5OS42ODMxLDI5MS41IEM1MDkuNjA4MSwyOTEuNSA1MTcuNjgzMSwyOTkuNTc1IDUxNy42ODMxLDMwOS41IEw1MTcuNjgzMSw1MDUuNSBDNTE3LjY4MzEsNTE1LjQyNSA1MDkuNjA4MSw1MjMuNSA0OTkuNjgzMSw1MjMuNSBMMzQ1LjY4MzEsNTIzLjUgQzMzNS43NTgxLDUyMy41IDMyNy42ODMxLDUxNS40MjUgMzI3LjY4MzEsNTA1LjUgTDMyNy42ODMxLDMwOS41IEMzMjcuNjgzMSwyOTkuNTc1IDMzNS43NTgxLDI5MS41IDM0NS42ODMxLDI5MS41IEw0OTkuNjgzMSwyOTEuNSIgaWQ9IkZpbGwtMjMiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzI0LjY4MzMsMzU5LjA3MTcgTDMyNC42ODMzLDQ1OC45Mjg3IEwyNjkuMDkwMyw0NTguOTI4NyBDMjU5LjkyMDMsNDU4LjkyODcgMjUyLjQ4NjMsNDY2LjM3OTcgMjUyLjQ4NjMsNDc1LjU3MTcgQzI1Mi40ODYzLDQ4NC43NjM3IDI1OS45MjAzLDQ5Mi4yMTQ3IDI2OS4wOTAzLDQ5Mi4yMTQ3IEwyNjkuMDkwMyw0OTIuMjE0NyBMMjg5LjU1NjMsNDkyLjIxNDcgQzI5OC43MjYzLDQ5Mi4yMTQ3IDMwNi4xNTkzLDQ5OS42NjU3IDMwNi4xNTkzLDUwOC44NTc3IEMzMDYuMTU5Myw1MTguMDQ4NyAyOTguNzI2Myw1MjUuNDk5NyAyODkuNTU2Myw1MjUuNDk5NyBMMjg5LjU1NjMsNTI1LjQ5OTcgTDkxLjY4MzMsNTI1LjQ5OTcgQzgyLjUxMzMsNTI1LjQ5OTcgNzUuMDc5Myw1MTguMDQ4NyA3NS4wNzkzLDUwOC44NTc3IEM3NS4wNzkzLDQ5OS42NjU3IDgyLjUxMzMsNDkyLjIxNDcgOTEuNjgzMyw0OTIuMjE0NyBMOTEuNjgzMyw0OTIuMjE0NyBMMTk1Ljg4MDMsNDkyLjIxNDcgQzE5Ny41OTMzLDQ5Mi4yMTQ3IDE5OS4yNDUzLDQ5MS45NTI3IDIwMC44MDAzLDQ5MS40NzA3IEMyMDMuNzkyMyw0OTMuOTgwNyAyMDcuNjQxMyw0OTUuNDk5NyAyMTEuODMxMyw0OTUuNDk5NyBDMjIxLjI5MTMsNDk1LjQ5OTcgMjI5LjAzMjMsNDg3Ljc3MzcgMjI5LjAzMjMsNDc4LjMyOTcgTDIyOS4wMzIzLDQ3OC4zMjk3IEwyMjkuMDMyMyw0NTcuMjk2NyBMMjM4LjE2OTMsNDU3LjI5NjcgQzI0Ni4xNTIzLDQ1Ny4yOTY3IDI1Mi42ODMzLDQ1MC43Nzc3IDI1Mi42ODMzLDQ0Mi44MDg3IEMyNTIuNjgzMyw0MzQuODM5NyAyNDYuMTUyMyw0MjguMzIwNyAyMzguMTY5Myw0MjguMzIwNyBMMjM4LjE2OTMsNDI4LjMyMDcgTDIyOS4wMzIzLDQyOC4zMjA3IEwyMjkuMDMyMyw0MjUuNjQyNyBMMjg2LjA3OTMsNDI1LjY0MjcgQzI5NS4yNDkzLDQyNS42NDI3IDMwMi42ODMzLDQxOC4xOTE3IDMwMi42ODMzLDQwOC45OTk3IEMzMDIuNjgzMywzOTkuODA4NyAyOTUuMjQ5MywzOTIuMzU3NyAyODYuMDc5MywzOTIuMzU3NyBMMjg2LjA3OTMsMzkyLjM1NzcgTDI2Ni4xNDAzLDM5Mi4zNTc3IEMyNTYuOTcwMywzOTIuMzU3NyAyNDkuNTM2MywzODQuOTA2NyAyNDkuNTM2MywzNzUuNzE0NyBDMjQ5LjUzNjMsMzY2LjUyMzcgMjU2Ljk3MDMsMzU5LjA3MTcgMjY2LjE0MDMsMzU5LjA3MTcgTDI2Ni4xNDAzLDM1OS4wNzE3IEwzMjQuNjgzMywzNTkuMDcxNyBaIE02NjEuNjQ3MSwyOTIuNTAwNCBDNjcwLjgxNzEsMjkyLjUwMDQgNjc4LjI0OTEsMjk5Ljk1MTQgNjc4LjI0OTEsMzA5LjE0MjQgQzY3OC4yNDkxLDMxOC4zMzU0IDY3MC44MTcxLDMyNS43ODY0IDY2MS42NDcxLDMyNS43ODY0IEw2NjEuNjQ3MSwzMjUuNzg2NCBMNjM2LjA2NDEsMzI1Ljc4NjQgQzYzMS4xMzgxLDMyMS4yNTc0IDYyNC42NzMxLDMxOC41MDA0IDYxNy41OTcxLDMxOC41MDA0IEM2MTAuNTIxMSwzMTguNTAwNCA2MDQuMDU1MSwzMjEuMjU3NCA1OTkuMTMwMSwzMjUuNzg2NCBMNTk5LjEzMDEsMzI1Ljc4NjQgTDU4Ny40MjQxLDMyNS43ODY0IEM1NzguMjU1MSwzMjUuNzg2NCA1NzAuODIyMSwzMzMuMjM3NCA1NzAuODIyMSwzNDIuNDI4NCBDNTcwLjgyMjEsMzUxLjYyMDQgNTc4LjI1NTEsMzU5LjA3MTQgNTg3LjQyNDEsMzU5LjA3MTQgTDU4Ny40MjQxLDM1OS4wNzE0IEw1OTAuNTgxMSwzNTkuMDcxNCBDNTkxLjY2NTEsMzY4LjMyMTQgNTkzLjY2MjEsMzgwLjY5NTQgNTk2LjE5MTEsMzkyLjM1NzQgTDU5Ni4xOTExLDM5Mi4zNTc0IEw1MjAuNjgzMSwzOTIuMzU3NCBMNTIwLjY4MzEsMzYwLjMxNjQgQzUyOC41ODgxLDM1OS4xNDI0IDUzNC42ODMxLDM1MS44NDc0IDUzNC42ODMxLDM0My4wMDA0IEM1MzQuNjgzMSwzMzQuMTUyNCA1MjguNTg4MSwzMjYuODU3NCA1MjAuNjgzMSwzMjUuNjgzNCBMNTIwLjY4MzEsMzI1LjY4MzQgTDUyMC42ODMxLDMwOS41MDA0IEM1MjAuNjgzMSwzMDIuNTA3NCA1MTcuMjM0MSwyOTYuMzE5NCA1MTEuOTYyMSwyOTIuNTAwNCBMNTExLjk2MjEsMjkyLjUwMDQgWiBNNjk2LjA3OTYsMzU5LjA3MTMgQzcwNS4yNDk2LDM1OS4wNzEzIDcxMi42ODM2LDM2Ni41MjMzIDcxMi42ODM2LDM3NS43MTUzIEM3MTIuNjgzNiwzODQuOTA2MyA3MDUuMjQ5NiwzOTIuMzU3MyA2OTYuMDc5NiwzOTIuMzU3MyBMNjk2LjA3OTYsMzkyLjM1NzMgTDYzOS4wMDU2LDM5Mi4zNTczIEM2NDEuNTMzNiwzODAuNjk3MyA2NDMuNTMwNiwzNjguMzIzMyA2NDQuNjEzNiwzNTkuMDcxMyBMNjQ0LjYxMzYsMzU5LjA3MTMgWiIgaWQ9IuW9oueKtue7k+WQiCIgZmlsbD0iI0FDQzBEQyIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE5NjM1ODgxNyI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00OTkuNjgzMSwzMDcuNSBMMzQ1LjY4MzEsMzA3LjUgQzM0NC41NzkxLDMwNy41IDM0My42ODMxLDMwOC4zOTYgMzQzLjY4MzEsMzA5LjUgTDM0My42ODMxLDUwNS41IEMzNDMuNjgzMSw1MDYuNjA0IDM0NC41NzkxLDUwNy41IDM0NS42ODMxLDUwNy41IEwzODcuNzU1MSw1MDcuNSBMMzg3Ljc1NTEsNDk2LjUgTDM4Ny41NjYxLDQ5Ni41IEwzODcuNTI3MSw1MDQuMjEzIEMzODUuNDU0MSw1MDkuMTQ0IDM4MC43MTAxLDUwNS40NDUgMzgwLjcxMDEsNTA1LjQ0NSBDMzgwLjcxMDEsNTA1LjQ0NSAzNzQuOTYyMSw1MDAuMTQyIDM2OS4wODkxLDQ5MS44NTQgQzM2Ni4wODkxLDQ4OS4zMiAzNjMuOTI1MSw0ODUuOTMgMzYzLjA4MDEsNDgyLjA4IEMzNTcuMDkyMSw0NzAuNTgyIDM1My41MDUxLDQ1Ni4yNzYgMzYwLjYwNzEsNDQyLjU2OSBDMzYxLjI4ODEsNDQxLjI4OCAzNjEuOTgyMSw0NDAuMDYgMzYyLjY4MzEsNDM4Ljg3IEwzNjIuNjgzMSw0MTUuNTgxIEMzNjIuNjgzMSw0MDcuNTU5IDM2OC4yNzQxLDQwMC43NDggMzc1Ljk4MjEsMzk4LjM5MSBDMzc0Ljk4NDEsMzk1LjYwOSAzNzQuMDAyMSwzOTIuNjEyIDM3My4wOTAxLDM4OS40MjggQzM3MC40NDgxLDM4Ny41MzMgMzYzLjczODEsMzgxLjg4NyAzNjMuMzI4MSwzNzMuMTM2IEMzNjIuOTAyMSwzNjQuMDU1IDM2OS4yMjYxLDM1OS4xODEgMzczLjc4MzEsMzU3LjM1NSBDMzc0LjY2NzEsMzU0LjExOSAzNzcuMDkzMSwzNDYuODc0IDM4Mi41NTcxLDMzOS41OTYgQzM4OS4yMjcxLDMzMC43MTEgNDAxLjgzMzEsMzIwLjEyIDQyNC4wMTMxLDMyMC4xMiBDNDQ2LjMxNDEsMzIwLjEyIDQ1OC45MTQxLDMzMC43MTQgNDY1LjU1ODEsMzM5LjYwMSBDNDcwLjg4NDEsMzQ2LjcyNiA0NzMuMjg1MSwzNTMuODIgNDc0LjE5ODEsMzU3LjE1NiBDNDc4LjQ5MDEsMzU4LjUzIDQ4NC4xNDkxLDM2Mi45MjIgNDg0LjA3ODEsMzczLjAxNyBDNDg0LjAxMTEsMzgyLjQgNDc4LjI1MTEsMzg3LjU2NiA0NzMuOTc2MSwzODkuNjM3IEM0NzMuNzgxMSwzOTEuNjc5IDQ3My4yNzQxLDM5NS4xMDEgNDcxLjk3NDEsMzk5LjM5NiBDNDc4LjMwOTEsNDAyLjM1OCA0ODIuNjgzMSw0MDguNDkxIDQ4Mi42ODMxLDQxNS41ODEgTDQ4Mi42ODMxLDQzOC44NyBDNDgzLjM4NDEsNDQwLjA2IDQ4NC4wNzgxLDQ0MS4yODggNDg0Ljc1OTEsNDQyLjU2OSBDNDkxLjg2MTEsNDU2LjI3NiA0ODguMjc0MSw0NzAuNTgyIDQ4Mi4yODYxLDQ4Mi4wOCBDNDgxLjQ0MTEsNDg1LjkzIDQ3OS4yNzcxLDQ4OS4zMiA0NzYuMjc3MSw0OTEuODU0IEM0NzAuNDA0MSw1MDAuMTQyIDQ2NC42NTYxLDUwNS40NDUgNDY0LjY1NjEsNTA1LjQ0NSBDNDY0LjY1NjEsNTA1LjQ0NSA0NTkuNjgzMSw1MDkuMTQ0IDQ1Ny42MTExLDUwNC4yMTMgTDQ1Ny42MTExLDUwNy41IEw0OTkuNjgzMSw1MDcuNSBDNTAwLjc4NzEsNTA3LjUgNTAxLjY4MzEsNTA2LjYwNCA1MDEuNjgzMSw1MDUuNSBMNTAxLjY4MzEsMzA5LjUgQzUwMS42ODMxLDMwOC4zOTYgNTAwLjc4NzEsMzA3LjUgNDk5LjY4MzEsMzA3LjUiIGlkPSJGaWxsLTMzIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTYxNy43MTI0LDQ0OC41IEM2MDUuMDEzNCw0NDguNSA1OTQuNjgzNCw0NTguODMxIDU5NC42ODM0LDQ3MS41MjkgQzU5NC42ODM0LDQ4NC4yMjcgNjA1LjAxMzQsNDk0LjU1OCA2MTcuNzEyNCw0OTQuNTU4IEM2MzAuNDA5NCw0OTQuNTU4IDY0MC43NDA0LDQ4NC4yMjcgNjQwLjc0MDQsNDcxLjUyOSBDNjQwLjc0MDQsNDU4LjgzMSA2MzAuNDA5NCw0NDguNSA2MTcuNzEyNCw0NDguNSBNNjE3LjcxMjQsNDUxLjUgQzYyOC43NzM0LDQ1MS41IDYzNy43NDA0LDQ2MC40NjggNjM3Ljc0MDQsNDcxLjUyOSBDNjM3Ljc0MDQsNDgyLjU5MSA2MjguNzczNCw0OTEuNTU4IDYxNy43MTI0LDQ5MS41NTggQzYwNi42NDk0LDQ5MS41NTggNTk3LjY4MzQsNDgyLjU5MSA1OTcuNjgzNCw0NzEuNTI5IEM1OTcuNjgzNCw0NjAuNDY4IDYwNi42NDk0LDQ1MS41IDYxNy43MTI0LDQ1MS41IiBpZD0iRmlsbC0zNSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MTcuNzEyNCw0NTEuNSBDNjI4Ljc3MzQsNDUxLjUgNjM3Ljc0MDQsNDYwLjQ2OCA2MzcuNzQwNCw0NzEuNTI5IEM2MzcuNzQwNCw0ODIuNTkxIDYyOC43NzM0LDQ5MS41NTggNjE3LjcxMjQsNDkxLjU1OCBDNjA2LjY0OTQsNDkxLjU1OCA1OTcuNjgzNCw0ODIuNTkxIDU5Ny42ODM0LDQ3MS41MjkgQzU5Ny42ODM0LDQ2MC40NjggNjA2LjY0OTQsNDUxLjUgNjE3LjcxMjQsNDUxLjUiIGlkPSLot6/lvoQiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQ0LjY4MzEsNDI4LjUgTDE5NC42ODMxLDM3My41IEwxOTQuNjgzMSw0MjguNSBMMTQ0LjY4MzEsNDI4LjUgWiBNMjExLjgzMTEsMzE5LjUgQzIxMS43MDExLDMxOS41IDIxMS41NzQxLDMxOS41MTggMjExLjQ0MjEsMzE5LjUyIEMyMTEuMjA0MSwzMTkuNTA4IDIxMC45NjUxLDMxOS41MDIgMjEwLjcyNzEsMzE5LjUwMiBDMjA2Ljc2MzEsMzE5LjUwMiAyMDIuODExMSwzMjEuMSAxOTkuOTU3MSwzMjQuMjQ2IEwxOTkuNzAyMSwzMjQuNTI4IEMxOTkuMjkwMSwzMjQuOTM3IDE5OC45MDIxLDMyNS4zNjcgMTk4LjUzMzEsMzI1LjgxNSBMMTk2LjA4MzEsMzI4LjUxNiBMMTU1LjgzMTEsMzI4LjUxNiBDMTUxLjEwMjEsMzI4LjUxNiAxNDcuMjMyMSwzMzIuMzc5IDE0Ny4yMzIxLDMzNy4xMDIgQzE0Ny4yMzIxLDM0MS44MjMgMTUxLjEwMjEsMzQ1LjY4NyAxNTUuODMxMSwzNDUuNjg3IEwxNzIuOTg0MSwzNDUuNjg3IEwxNzQuMTA4MSwzNDUuNjg3IEMxNzguODM4MSwzNDUuNjg3IDE4Mi43MDgxLDM0OS41NSAxODIuNzA4MSwzNTQuMjcyIEMxODIuNzA4MSwzNTguOTk0IDE3OC44MzgxLDM2Mi44NTcgMTc0LjEwODEsMzYyLjg1NyBMMTY0LjkzMzEsMzYyLjg1NyBMMTY0LjkxMTEsMzYyLjg4MSBDMTY0Ljc1MzEsMzYyLjg3MyAxNjQuNTk1MSwzNjIuODU3IDE2NC40MzMxLDM2Mi44NTcgTDE1MC40NTYxLDM2Mi44NTcgTDEyMy41ODAxLDM2Mi44NTcgQzExOC44NTExLDM2Mi44NTcgMTE0Ljk4MDEsMzY2LjcyMSAxMTQuOTgwMSwzNzEuNDQyIEMxMTQuOTgwMSwzNzYuMTY1IDExOC44NTExLDM4MC4wMjggMTIzLjU4MDEsMzgwLjAyOCBMMTQ5LjM1ODEsMzgwLjAyOCBMMTAxLjQyMTEsNDMyLjg3OCBDOTYuMDYzMSw0MzguNzgzIDk2LjUyMTEsNDQ3Ljk5MiAxMDIuNDM4MSw0NTMuMzQxIEMxMDQuNzIwMSw0NTUuNDA0IDEwNy40OTcxLDQ1Ni41OTUgMTEwLjM1MjEsNDU2Ljk1IEMxMTEuMzU3MSw0NTcuMTcyIDExMi4zOTYxLDQ1Ny4yOTcgMTEzLjQ2NDEsNDU3LjI5NyBMMTk0LjYzMDEsNDU3LjI5NyBMMTk0LjYzMDEsNDc4LjMzIEMxOTQuNjMwMSw0ODcuNzczIDIwMi4zNzExLDQ5NS41IDIxMS44MzExLDQ5NS41IEMyMjEuMjkxMSw0OTUuNSAyMjkuMDMzMSw0ODcuNzczIDIyOS4wMzMxLDQ3OC4zMyBMMjI5LjAzMzEsNDU3LjI5NyBMMjM4LjE2OTEsNDU3LjI5NyBDMjQ2LjE1MjEsNDU3LjI5NyAyNTIuNjgzMSw0NTAuNzc3IDI1Mi42ODMxLDQ0Mi44MDkgQzI1Mi42ODMxLDQzNC44NCAyNDYuMTUyMSw0MjguMzIgMjM4LjE2OTEsNDI4LjMyIEwyMjkuMDMzMSw0MjguMzIgTDIyOS4wMzMxLDMzNi42NzEgQzIyOS4wMzMxLDMyNy4yMjcgMjIxLjI5MTEsMzE5LjUgMjExLjgzMTEsMzE5LjUgTDIxMS44MzExLDMxOS41IFogTTEzNy45MDIxLDQzMS41IEwxNDQuNjgzMSw0MzEuNSBMMTk0LjY4MzEsNDMxLjUgTDE5Ny42ODMxLDQzMS41IEwxOTcuNjgzMSw0MjguNSBMMTk3LjY4MzEsMzczLjUgTDE5Ny42ODMxLDM2NS43NCBMMTkyLjQ2MzEsMzcxLjQ4MiBMMTQyLjQ2MzEsNDI2LjQ4MiBMMTM3LjkwMjEsNDMxLjUgTDEzNy45MDIxLDQzMS41IFogTTIxMS44NjkxLDMyMi41IEMyMTkuNjgyMSwzMjIuNTIxIDIyNi4wMzMxLDMyOC44NjkgMjI2LjAzMzEsMzM2LjY3MSBMMjI2LjAzMzEsNDI4LjMyIEwyMjYuMDMzMSw0MzEuMzIgTDIyOS4wMzMxLDQzMS4zMiBMMjM4LjE2OTEsNDMxLjMyIEMyNDQuNTE4MSw0MzEuMzIgMjQ5LjY4MzEsNDM2LjQ3NSAyNDkuNjgzMSw0NDIuODA5IEMyNDkuNjgzMSw0NDkuMTQzIDI0NC41MTgxLDQ1NC4yOTcgMjM4LjE2OTEsNDU0LjI5NyBMMjI5LjAzMzEsNDU0LjI5NyBMMjI2LjAzMzEsNDU0LjI5NyBMMjI2LjAzMzEsNDU3LjI5NyBMMjI2LjAzMzEsNDc4LjMzIEMyMjYuMDMzMSw0ODYuMTQ0IDIxOS42NjIxLDQ5Mi41IDIxMS44MzExLDQ5Mi41IEMyMDQuMDAxMSw0OTIuNSAxOTcuNjMwMSw0ODYuMTQ0IDE5Ny42MzAxLDQ3OC4zMyBMMTk3LjYzMDEsNDU3LjI5NyBMMTk3LjYzMDEsNDU0LjI5NyBMMTk0LjYzMDEsNDU0LjI5NyBMMTEzLjQ2NDEsNDU0LjI5NyBDMTEyLjY1NzEsNDU0LjI5NyAxMTEuODI4MSw0NTQuMjAzIDExMS4wMDAxLDQ1NC4wMjEgTDExMC44NjMxLDQ1My45OSBMMTEwLjcyMzEsNDUzLjk3MyBDMTA4LjM2MTEsNDUzLjY3OSAxMDYuMTkyMSw0NTIuNjkgMTA0LjQ1MDEsNDUxLjExNSBDMTAyLjE4MjEsNDQ5LjA2NSAxMDAuODQ5MSw0NDYuMjQzIDEwMC42OTcxLDQ0My4xNjcgQzEwMC41NDUxLDQ0MC4wOTMgMTAxLjU5MTEsNDM3LjE1NCAxMDMuNjQzMSw0MzQuODkzIEwxNTEuNTgwMSwzODIuMDQ0IEwxNTYuMTI5MSwzNzcuMDI4IEwxNDkuMzU4MSwzNzcuMDI4IEwxMjMuNTgwMSwzNzcuMDI4IEMxMjAuNDkzMSwzNzcuMDI4IDExNy45ODAxLDM3NC41MjIgMTE3Ljk4MDEsMzcxLjQ0MiBDMTE3Ljk4MDEsMzY4LjM2MyAxMjAuNDkzMSwzNjUuODU3IDEyMy41ODAxLDM2NS44NTcgTDE1MC40NTYxLDM2NS44NTcgTDE2NC40MjUxLDM2NS44NTcgQzE2NC40NjcxLDM2NS44NTggMTY0LjUwODEsMzY1Ljg2MiAxNjQuNTQ4MSwzNjUuODY0IEwxNjQuNzcwMSwzNjUuODc4IEwxNjYuMTUwMSwzNjUuOTE4IEwxNjYuMjA4MSwzNjUuODU3IEwxNzQuMTA4MSwzNjUuODU3IEMxODAuNTA0MSwzNjUuODU3IDE4NS43MDgxLDM2MC42NiAxODUuNzA4MSwzNTQuMjcyIEMxODUuNzA4MSwzNDcuODg0IDE4MC41MDQxLDM0Mi42ODcgMTc0LjEwODEsMzQyLjY4NyBMMTcyLjk4NDEsMzQyLjY4NyBMMTU1LjgzMTEsMzQyLjY4NyBDMTUyLjc0NDEsMzQyLjY4NyAxNTAuMjMyMSwzNDAuMTgxIDE1MC4yMzIxLDMzNy4xMDIgQzE1MC4yMzIxLDMzNC4wMjEgMTUyLjc0NDEsMzMxLjUxNiAxNTUuODMxMSwzMzEuNTE2IEwxOTYuMDgzMSwzMzEuNTE2IEwxOTcuNDEzMSwzMzEuNTE2IEwxOTguMzA2MSwzMzAuNTMxIEwyMDAuNzU1MSwzMjcuODMxIEwyMDAuODA0MSwzMjcuNzc3IEwyMDAuODUwMSwzMjcuNzIyIEMyMDEuMTYyMSwzMjcuMzQzIDIwMS40ODcxLDMyNi45ODMgMjAxLjgxODEsMzI2LjY1NCBMMjAxLjg3MjEsMzI2LjYgTDIwMS45MjQxLDMyNi41NDMgTDIwMi4xNzkxLDMyNi4yNjIgQzIwNC4zNDYxLDMyMy44NzIgMjA3LjQ2MjEsMzIyLjUwMiAyMTAuNzI3MSwzMjIuNTAyIEMyMTAuOTE2MSwzMjIuNTAyIDIxMS4xMDcxLDMyMi41MDcgMjExLjI5NjEsMzIyLjUxNiBMMjExLjM5MzEsMzIyLjUyMSBMMjExLjQ5MDEsMzIyLjUyIEMyMTEuNjAyMSwzMjIuNTE4IDIxMS43MTMxLDMyMi41MTEgMjExLjg2OTEsMzIyLjUgTDIxMS44NjkxLDMyMi41IFoiIGlkPSJGaWxsLTM3IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxNi42ODMxLDMzMi41IEMyMjEuNjU0MSwzMzIuNSAyMjUuNjgzMSwzMzYuNTI5IDIyNS42ODMxLDM0MS41IEwyMjUuNjgzMSw0MjIuNSBDMjI1LjY4MzEsNDI3LjQ3MSAyMjEuNjU0MSw0MzEuNSAyMTYuNjgzMSw0MzEuNSBDMjExLjcxMjEsNDMxLjUgMjA3LjY4MzEsNDI3LjQ3MSAyMDcuNjgzMSw0MjIuNSBMMjA3LjY4MzEsMzQxLjUgQzIwNy42ODMxLDMzNi41MjkgMjExLjcxMjEsMzMyLjUgMjE2LjY4MzEsMzMyLjUiIGlkPSJGaWxsLTM5IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTI5OC42ODMxLDEyNC41IEMyOTAuOTUxMSwxMjQuNSAyODQuNjgzMSwxMzAuNzY5IDI4NC42ODMxLDEzOC41IEMyODQuNjgzMSwxNDYuMjMyIDI5MC45NTExLDE1Mi41IDI5OC42ODMxLDE1Mi41IEMzMDYuNDE1MSwxNTIuNSAzMTIuNjgzMSwxNDYuMjMyIDMxMi42ODMxLDEzOC41IEMzMTIuNjgzMSwxMzAuNzY5IDMwNi40MTUxLDEyNC41IDI5OC42ODMxLDEyNC41IE0yOTguNjgzMSwxMjcuNSBDMzA0Ljc0ODEsMTI3LjUgMzA5LjY4MzEsMTMyLjQzNSAzMDkuNjgzMSwxMzguNSBDMzA5LjY4MzEsMTQ0LjU2NSAzMDQuNzQ4MSwxNDkuNSAyOTguNjgzMSwxNDkuNSBDMjkyLjYxODEsMTQ5LjUgMjg3LjY4MzEsMTQ0LjU2NSAyODcuNjgzMSwxMzguNSBDMjg3LjY4MzEsMTMyLjQzNSAyOTIuNjE4MSwxMjcuNSAyOTguNjgzMSwxMjcuNSIgaWQ9IkZpbGwtNDEiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjk4LjY4MzEsMTQ5LjUgQzI5Mi42MTgxLDE0OS41IDI4Ny42ODMxLDE0NC41NjUgMjg3LjY4MzEsMTM4LjUgQzI4Ny42ODMxLDEzMi40MzUgMjkyLjYxODEsMTI3LjUgMjk4LjY4MzEsMTI3LjUgQzMwNC43NDgxLDEyNy41IDMwOS42ODMxLDEzMi40MzUgMzA5LjY4MzEsMTM4LjUgQzMwOS42ODMxLDE0NC41NjUgMzA0Ljc0ODEsMTQ5LjUgMjk4LjY4MzEsMTQ5LjUiIGlkPSJGaWxsLTQzIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTY0Ny42ODMxLDE1Ny41IEM2NTAuNDQ1MSwxNTcuNSA2NTIuNjgzMSwxNTUuMjYyIDY1Mi42ODMxLDE1Mi41IEM2NTIuNjgzMSwxNDkuNzM5IDY1MC40NDUxLDE0Ny41IDY0Ny42ODMxLDE0Ny41IEM2NDQuOTIxMSwxNDcuNSA2NDIuNjgzMSwxNDkuNzM5IDY0Mi42ODMxLDE1Mi41IEM2NDIuNjgzMSwxNTUuMjYyIDY0NC45MjExLDE1Ny41IDY0Ny42ODMxLDE1Ny41IiBpZD0iRmlsbC00NSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03MzQuNjgzMSwzODIuNSBDNzM3LjQ0NTEsMzgyLjUgNzM5LjY4MzEsMzgwLjI2MiA3MzkuNjgzMSwzNzcuNSBDNzM5LjY4MzEsMzc0LjczOSA3MzcuNDQ1MSwzNzIuNSA3MzQuNjgzMSwzNzIuNSBDNzMxLjkyMTEsMzcyLjUgNzI5LjY4MzEsMzc0LjczOSA3MjkuNjgzMSwzNzcuNSBDNzI5LjY4MzEsMzgwLjI2MiA3MzEuOTIxMSwzODIuNSA3MzQuNjgzMSwzODIuNSIgaWQ9IkZpbGwtNDciIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjU3LjY4MzEsMzYuNSBDNjU0LjkyMTEsMzYuNSA2NTIuNjgzMSwzOC43MzkgNjUyLjY4MzEsNDEuNSBDNjUyLjY4MzEsNDQuMjYyIDY1NC45MjExLDQ2LjUgNjU3LjY4MzEsNDYuNSBDNjYwLjQ0NTEsNDYuNSA2NjIuNjgzMSw0NC4yNjIgNjYyLjY4MzEsNDEuNSBDNjYyLjY4MzEsMzguNzM5IDY2MC40NDUxLDM2LjUgNjU3LjY4MzEsMzYuNSBNNjU3LjY4MzEsMzkuNSBDNjU4Ljc4NjEsMzkuNSA2NTkuNjgzMSw0MC4zOTcgNjU5LjY4MzEsNDEuNSBDNjU5LjY4MzEsNDIuNjA0IDY1OC43ODYxLDQzLjUgNjU3LjY4MzEsNDMuNSBDNjU2LjU4MDEsNDMuNSA2NTUuNjgzMSw0Mi42MDQgNjU1LjY4MzEsNDEuNSBDNjU1LjY4MzEsNDAuMzk3IDY1Ni41ODAxLDM5LjUgNjU3LjY4MzEsMzkuNSIgaWQ9IkZpbGwtNDkiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzc3LjE4MzEsNTcxLjUgQzc2MS4yMDExLDU3MS41IDc0OC4wODkxLDU4Mi43ODYgNzQ2Ljc4OTEsNTk3LjE0OSBDNzQ0LjA0MzEsNTk2LjcyNyA3NDEuMTU5MSw1OTYuNSA3MzguMTgzMSw1OTYuNSBDNzE5LjY4MTEsNTk2LjUgNzA0LjY4MzEsNjA1LjIzIDcwNC42ODMxLDYxNiBDNzA0LjY4MzEsNjI2Ljc3IDcxOS42ODExLDYzNS41IDczOC4xODMxLDYzNS41IEM3NDguMDA5MSw2MzUuNSA3NTYuODQ4MSw2MzMuMDM3IDc2Mi45NzQxLDYyOS4xMTQgQzc2Ni4xNjMxLDYzMi44MzEgNzc0LjkwMjEsNjM1LjUgNzg1LjE4MzEsNjM1LjUgQzc5Ni45MDExLDYzNS41IDgwNi42MTYxLDYzMi4wMzMgODA4LjM5MjEsNjI3LjQ5OCBMODA4LjY4MzEsNjI3LjUgQzgyMC4yODExLDYyNy41IDgyOS42ODMxLDYyMS40NTYgODI5LjY4MzEsNjE0IEM4MjkuNjgzMSw2MDYuNTQ1IDgyMC4yODExLDYwMC41IDgwOC42ODMxLDYwMC41IEM4MDguMzQxMSw2MDAuNSA4MDguMDAwMSw2MDAuNTA2IDgwNy42NjMxLDYwMC41MTcgQzgwNy42NzYxLDYwMC4xOCA4MDcuNjgzMSw1OTkuODQxIDgwNy42ODMxLDU5OS41IEM4MDcuNjgzMSw1ODQuMDM2IDc5NC4wMjgxLDU3MS41IDc3Ny4xODMxLDU3MS41IE03NzcuMTgzMSw1NzQuNSBDNzkyLjM0NzEsNTc0LjUgODA0LjY4MzEsNTg1LjcxNSA4MDQuNjgzMSw1OTkuNSBDODA0LjY4MzEsNTk5LjgwMiA4MDQuNjc3MSw2MDAuMTAyIDgwNC42NjUxLDYwMC4zOTkgTDgwNC41MzkxLDYwMy42MjIgTDgwNy43NjMxLDYwMy41MTUgQzgwOC4wNjgxLDYwMy41MDUgODA4LjM3NDEsNjAzLjUgODA4LjY4MzEsNjAzLjUgQzgxOC40NDAxLDYwMy41IDgyNi42ODMxLDYwOC4zMDkgODI2LjY4MzEsNjE0IEM4MjYuNjgzMSw2MTkuNjkxIDgxOC40NDAxLDYyNC41IDgwOC43MDUxLDYyNC41IEw4MDguNDE1MSw2MjQuNDk4IEw4MDYuMzUyMSw2MjQuNDgyIEw4MDUuNTk5MSw2MjYuNDA0IEM4MDQuNTk4MSw2MjguOTYgNzk2Ljk0NjEsNjMyLjUgNzg1LjE4MzEsNjMyLjUgQzc3NS4xMDUxLDYzMi41IDc2Ny41MjgxLDYyOS44MTQgNzY1LjI1MTEsNjI3LjE2MSBMNzYzLjU1MzEsNjI1LjE4MSBMNzYxLjM1NzEsNjI2LjU4OCBDNzU1LjQ5MDEsNjMwLjM0NiA3NDcuMDQyMSw2MzIuNSA3MzguMTgzMSw2MzIuNSBDNzIxLjY1MDEsNjMyLjUgNzA3LjY4MzEsNjI0Ljk0NCA3MDcuNjgzMSw2MTYgQzcwNy42ODMxLDYwNy4wNTcgNzIxLjY1MDEsNTk5LjUgNzM4LjE4MzEsNTk5LjUgQzc0MC45NDgxLDU5OS41IDc0My42ODkxLDU5OS43MDcgNzQ2LjMzMjEsNjAwLjExNSBMNzQ5LjQ5MDEsNjAwLjYwMiBMNzQ5Ljc3ODEsNTk3LjQyIEM3NTAuOTQwMSw1ODQuNTY4IDc2Mi45NzgxLDU3NC41IDc3Ny4xODMxLDU3NC41IiBpZD0iRmlsbC01MSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NzcuMTgzMSw1NzQuNSBDNzYyLjk3ODEsNTc0LjUgNzUwLjk0MDEsNTg0LjU2NyA3NDkuNzc3MSw1OTcuNDIgTDc0OS40OTAxLDYwMC42MDIgTDc0Ni4zMzExLDYwMC4xMTQgQzc0My42OTExLDU5OS43MDcgNzQwLjk0OTEsNTk5LjUgNzM4LjE4MzEsNTk5LjUgQzcyMS42NTExLDU5OS41IDcwNy42ODMxLDYwNy4wNTYgNzA3LjY4MzEsNjE2IEM3MDcuNjgzMSw2MjQuOTQ0IDcyMS42NTExLDYzMi41IDczOC4xODMxLDYzMi41IEM3NDcuMDQyMSw2MzIuNSA3NTUuNDg5MSw2MzAuMzQ1IDc2MS4zNTYxLDYyNi41ODggTDc2My41NTIxLDYyNS4xODIgTDc2NS4yNTAxLDYyNy4xNiBDNzY3LjUyODEsNjI5LjgxMyA3NzUuMTA1MSw2MzIuNSA3ODUuMTgzMSw2MzIuNSBDNzk2Ljk0NjEsNjMyLjUgODA0LjU5ODEsNjI4Ljk1OSA4MDUuNjAwMSw2MjYuNDAzIEw4MDYuMzUyMSw2MjQuNDg0IEw4MDguNjgzMSw2MjQuNSBDODE4LjQ0MDEsNjI0LjUgODI2LjY4MzEsNjE5LjY5MSA4MjYuNjgzMSw2MTQgQzgyNi42ODMxLDYwOC4zMDkgODE4LjQ0MDEsNjAzLjUgODA4LjY4MzEsNjAzLjUgQzgwOC4zNzMxLDYwMy41IDgwOC4wNjUxLDYwMy41MDUgODA3Ljc1OTEsNjAzLjUxNSBMODA0LjU0NDEsNjAzLjYxNyBMODA0LjY2NTEsNjAwLjQwMyBDODA0LjY3NzEsNjAwLjEwNCA4MDQuNjgzMSw1OTkuODAzIDgwNC42ODMxLDU5OS41IEM4MDQuNjgzMSw1ODUuNzE1IDc5Mi4zNDYxLDU3NC41IDc3Ny4xODMxLDU3NC41IE03NzcuMTgzMSw1NzcuNSBDNzkwLjY5MzEsNTc3LjUgODAxLjY4MzEsNTg3LjM2OSA4MDEuNjgzMSw1OTkuNSBDODAxLjY4MzEsNTk5Ljc2NCA4MDEuNjc4MSw2MDAuMDI1IDgwMS42NjcxLDYwMC4yOSBMODAxLjU0NjEsNjAzLjUwNCBMODAxLjQyNTEsNjA2LjcxOCBMODA0LjY0MDEsNjA2LjYxNSBMODA3Ljg1NTEsNjA2LjUxNCBDODA4LjEyODEsNjA2LjUwNCA4MDguNDA2MSw2MDYuNSA4MDguNjgzMSw2MDYuNSBDODE3LjEzMDEsNjA2LjUgODIzLjY4MzEsNjEwLjUzMSA4MjMuNjgzMSw2MTQgQzgyMy42ODMxLDYxNy40NjkgODE3LjEzMDEsNjIxLjUgODA4LjcwMzEsNjIxLjUgTDgwNi4zNzIxLDYyMS40ODQgTDgwNC4zMTExLDYyMS40NzEgTDgwMy41NTkxLDYyMy4zOSBMODAyLjgzNzEsNjI1LjIyOSBDODAxLjkxOTEsNjI2LjUxNiA3OTUuNjY3MSw2MjkuNSA3ODUuMTgzMSw2MjkuNSBDNzc1LjY1MzEsNjI5LjUgNzY5LjAxMzEsNjI2LjkzOCA3NjcuNTI3MSw2MjUuMjA2IEw3NjUuODI5MSw2MjMuMjI4IEw3NjQuMTMwMSw2MjEuMjQ5IEw3NjEuOTM1MSw2MjIuNjU1IEw3NTkuNzM4MSw2MjQuMDYyIEM3NTQuMzQwMSw2MjcuNTE4IDc0Ni40ODQxLDYyOS41IDczOC4xODMxLDYyOS41IEM3MjIuNDQ0MSw2MjkuNSA3MTAuNjgzMSw2MjIuMzczIDcxMC42ODMxLDYxNiBDNzEwLjY4MzEsNjEyLjg3MyA3MTMuNDA5MSw2MDkuNjA1IDcxOC4xNjExLDYwNy4wMzQgQzcyMy40ODgxLDYwNC4xNTIgNzMwLjc4NjEsNjAyLjUgNzM4LjE4MzEsNjAyLjUgQzc0MC43OTQxLDYwMi41IDc0My4zODIxLDYwMi42OTUgNzQ1Ljg3NDEsNjAzLjA3OSBMNzQ5LjAzMzEsNjAzLjU2NiBMNzUyLjE5MTEsNjA0LjA1NCBMNzUyLjQ3ODEsNjAwLjg3MSBMNzUyLjc2NTEsNTk3LjY5IEM3NTMuNzg5MSw1ODYuMzY5IDc2NC41MTUxLDU3Ny41IDc3Ny4xODMxLDU3Ny41IiBpZD0iRmlsbC01MyIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zODMuNjgzMSwxMzcuNSBDMzYzLjI0ODEsMTM3LjUgMzQ2LjY4MzEsMTQ5LjM2NSAzNDYuNjgzMSwxNjQgQzM0Ni42ODMxLDE2NC41NjQgMzQ2LjcwNzEsMTY1LjEyNSAzNDYuNzU2MSwxNjUuNjgxIEMzNDUuNTg4MSwxNjUuNTYyIDM0NC4zOTUxLDE2NS41IDM0My4xODMxLDE2NS41IEMzMjguNTQ3MSwxNjUuNSAzMTYuNjgzMSwxNzQuNDU0IDMxNi42ODMxLDE4NS41IEMzMTYuNjgzMSwxOTYuNTQ2IDMyOC41NDcxLDIwNS41IDM0My4xODMxLDIwNS41IEMzNTAuNzE2MSwyMDUuNSAzNTcuNTE1MSwyMDMuMTI4IDM2Mi4zNDAxLDE5OS4zMTkgQzM2NC43NjcxLDIwOC4wMzcgMzczLjYyNjEsMjE0LjUgMzg0LjE4MzEsMjE0LjUgQzM5NS4yNTAxLDIxNC41IDQwNC40NTIxLDIwNy4zOTcgNDA2LjMzMTEsMTk4LjA0IEM0MDguMzY5MSwxOTguMzQxIDQxMC40OTUxLDE5OC41IDQxMi42ODMxLDE5OC41IEM0MjcuNTk1MSwxOTguNSA0MzkuNjgzMSwxOTEuMTEzIDQzOS42ODMxLDE4MiBDNDM5LjY4MzEsMTc0LjU2MiA0MzEuNjI3MSwxNjguMjcxIDQyMC41NTYxLDE2Ni4yMTMgQzQyMC42NDAxLDE2NS40ODQgNDIwLjY4MzEsMTY0Ljc0NiA0MjAuNjgzMSwxNjQgQzQyMC42ODMxLDE0OS4zNjUgNDA0LjExODEsMTM3LjUgMzgzLjY4MzEsMTM3LjUgTTM4My42ODMxLDE0MC41IEM0MDIuNDMxMSwxNDAuNSA0MTcuNjgzMSwxNTEuMDQyIDQxNy42ODMxLDE2NCBDNDE3LjY4MzEsMTY0LjYyMyA0MTcuNjQ3MSwxNjUuMjUyIDQxNy41NzYxLDE2NS44NjkgTDQxNy4yNTUxLDE2OC42NSBMNDIwLjAwNzEsMTY5LjE2MiBDNDI5LjgyNjEsMTcwLjk4OCA0MzYuNjgzMSwxNzYuMjY4IDQzNi42ODMxLDE4MiBDNDM2LjY4MzEsMTg5LjMxOCA0MjUuNjkzMSwxOTUuNSA0MTIuNjgzMSwxOTUuNSBDNDEwLjY4MTEsMTk1LjUgNDA4LjY5MjEsMTk1LjM1NiA0MDYuNzcwMSwxOTUuMDcyIEw0MDMuOTUyMSwxOTQuNjU2IEw0MDMuMzkwMSwxOTcuNDQ5IEM0MDEuNzU0MSwyMDUuNTkxIDM5My42NzYxLDIxMS41IDM4NC4xODMxLDIxMS41IEMzNzUuMTUyMSwyMTEuNSAzNjcuMzU5MSwyMDYuMTYgMzY1LjIzMDEsMTk4LjUxNSBMMzY0LjAyMTEsMTk0LjE3IEwzNjAuNDgyMSwxOTYuOTY0IEMzNTYuMDI1MSwyMDAuNDgyIDM0OS43MjAxLDIwMi41IDM0My4xODMxLDIwMi41IEMzMzAuMjI1MSwyMDIuNSAzMTkuNjgzMSwxOTQuODc0IDMxOS42ODMxLDE4NS41IEMzMTkuNjgzMSwxNzYuMTI2IDMzMC4yMjUxLDE2OC41IDM0My4xODMxLDE2OC41IEMzNDQuMjc4MSwxNjguNSAzNDUuMzc3MSwxNjguNTU2IDM0Ni40NTMxLDE2OC42NjUgTDM1MC4wNjExLDE2OS4wMzMgTDM0OS43NDUxLDE2NS40MTkgQzM0OS43MDQxLDE2NC45NSAzNDkuNjgzMSwxNjQuNDczIDM0OS42ODMxLDE2NCBDMzQ5LjY4MzEsMTUxLjA0MiAzNjQuOTM1MSwxNDAuNSAzODMuNjgzMSwxNDAuNSIgaWQ9IkZpbGwtNTUiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzgzLjY4MzEsMTQwLjUgQzM2NC45MzUxLDE0MC41IDM0OS42ODMxLDE1MS4wNDIgMzQ5LjY4MzEsMTY0IEMzNDkuNjgzMSwxNjQuNDc1IDM0OS43MDQxLDE2NC45NTIgMzQ5Ljc0NTEsMTY1LjQxOCBMMzUwLjA2MjEsMTY5LjAzMyBMMzQ2LjQ1MjEsMTY4LjY2NSBDMzQ1LjM3NzEsMTY4LjU1NiAzNDQuMjc4MSwxNjguNSAzNDMuMTgzMSwxNjguNSBDMzMwLjIyNTEsMTY4LjUgMzE5LjY4MzEsMTc2LjEyNiAzMTkuNjgzMSwxODUuNSBDMzE5LjY4MzEsMTk0Ljg3NCAzMzAuMjI1MSwyMDIuNSAzNDMuMTgzMSwyMDIuNSBDMzQ5LjcxOTEsMjAyLjUgMzU2LjAyNTEsMjAwLjQ4MiAzNjAuNDgyMSwxOTYuOTY1IEwzNjQuMDIxMSwxOTQuMTcxIEwzNjUuMjMwMSwxOTguNTE1IEMzNjcuMzU5MSwyMDYuMTYgMzc1LjE1MjEsMjExLjUgMzg0LjE4MzEsMjExLjUgQzM5My42NzcxLDIxMS41IDQwMS43NTQxLDIwNS41OTEgNDAzLjM5MDEsMTk3LjQ0OSBMNDAzLjk1MjEsMTk0LjY1NiBMNDA2Ljc3MDEsMTk1LjA3MiBDNDA4LjY5MjEsMTk1LjM1NiA0MTAuNjgyMSwxOTUuNSA0MTIuNjgzMSwxOTUuNSBDNDI1LjY5MzEsMTk1LjUgNDM2LjY4MzEsMTg5LjMxNyA0MzYuNjgzMSwxODIgQzQzNi42ODMxLDE3Ni4yNjcgNDI5LjgyNjEsMTcwLjk4OCA0MjAuMDA3MSwxNjkuMTYyIEw0MTcuMjU1MSwxNjguNjUgTDQxNy41NzYxLDE2NS44NjkgQzQxNy42NDcxLDE2NS4yNTIgNDE3LjY4MzEsMTY0LjYyMyA0MTcuNjgzMSwxNjQgQzQxNy42ODMxLDE1MS4wNDIgNDAyLjQzMTEsMTQwLjUgMzgzLjY4MzEsMTQwLjUgTTM4My42ODMxLDE0My41IEMzOTIuMTQ3MSwxNDMuNSA0MDAuMDc2MSwxNDUuNzU4IDQwNi4wMDcxLDE0OS44NTggQzQxMS42MDIxLDE1My43MjYgNDE0LjY4MzEsMTU4Ljc0NyA0MTQuNjgzMSwxNjQgQzQxNC42ODMxLDE2NC41MDkgNDE0LjY1NDEsMTY1LjAyMSA0MTQuNTk1MSwxNjUuNTI1IEw0MTQuMjc1MSwxNjguMzA3IEw0MTMuOTU0MSwxNzEuMDg4IEw0MTYuNzA2MSwxNzEuNiBMNDE5LjQ1ODEsMTcyLjExMSBDNDI3LjU2ODEsMTczLjYyIDQzMy42ODMxLDE3Ny44NzEgNDMzLjY4MzEsMTgyIEM0MzMuNjgzMSwxODYuOTU3IDQyNC43MDMxLDE5Mi41IDQxMi42ODMxLDE5Mi41IEM0MTAuODI2MSwxOTIuNSA0MDguOTg0MSwxOTIuMzY3IDQwNy4yMDgxLDE5Mi4xMDQgTDQwNC4zOTAxLDE5MS42ODggTDQwMS41NzIxLDE5MS4yNzIgTDQwMS4wMTAxLDE5NC4wNjQgTDQwMC40NDkxLDE5Ni44NTggQzM5OS4wOTMxLDIwMy42MDQgMzkyLjI1MzEsMjA4LjUgMzg0LjE4MzEsMjA4LjUgQzM3Ni40OTUxLDIwOC41IDM2OS44ODkxLDIwNC4wNjMgMzY4LjEyMDEsMTk3LjcxIEwzNjYuOTEyMSwxOTMuMzY2IEwzNjUuNzAyMSwxODkuMDIxIEwzNjIuMTYyMSwxOTEuODE2IEwzNTguNjIzMSwxOTQuNjA5IEMzNTQuNjg1MSwxOTcuNzE4IDM0OS4wNTgxLDE5OS41IDM0My4xODMxLDE5OS41IEMzMzIuMDcxMSwxOTkuNSAzMjIuNjgzMSwxOTMuMDg5IDMyMi42ODMxLDE4NS41IEMzMjIuNjgzMSwxNzcuOTExIDMzMi4wNzExLDE3MS41IDM0My4xODMxLDE3MS41IEMzNDQuMTc1MSwxNzEuNSAzNDUuMTcyMSwxNzEuNTUxIDM0Ni4xNDgxLDE3MS42NDkgTDM0OS43NTcxLDE3Mi4wMTggTDM1My4zNjgxLDE3Mi4zODYgTDM1My4wNTAxLDE2OC43NzEgTDM1Mi43MzMxLDE2NS4xNTQgQzM1Mi43MDAxLDE2NC43NzggMzUyLjY4MzEsMTY0LjM5IDM1Mi42ODMxLDE2NCBDMzUyLjY4MzEsMTU4Ljc0NyAzNTUuNzY0MSwxNTMuNzI2IDM2MS4zNTkxLDE0OS44NTggQzM2Ny4yOTAxLDE0NS43NTggMzc1LjIxOTEsMTQzLjUgMzgzLjY4MzEsMTQzLjUiIGlkPSJGaWxsLTU3IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTY3MC4zNDEzLDI0Ni41IEM2NjUuMzQzMywyNDYuNSA2NjAuNzc4MywyNDcuNjUgNjU3LjQzMTMsMjQ5Ljk0MSBDNjU2Ljg4OTMsMjUxLjE1NCA2NTMuMjYzMywyNjYuMTY0IDY0Ni41NTQzLDI5NC45NyBDNjUxLjg4MzMsMjkzLjQzMSA2NTYuODU0MywyOTIuNjYgNjYxLjQ2MTMsMjkyLjY2IEM2NzAuNDIxMywyOTIuNjYgNjc4LjAxNTMsMjk1LjU2OSA2ODQuMjQ1MywzMDEuMzkgQzY5MS4zNTkzLDMwOC4wMzMgNzAwLjM5MjMsMzExLjM1NSA3MTEuMzQ0MywzMTEuMzU1IEM3MTQuOTE5MywzMTEuMzU1IDcxOC42OTgzLDMxMS4wMDIgNzIyLjY4MzMsMzEwLjI5NCBMNzMzLjY4MzMsMjY2LjYyIEM3MjguNjYzMywyNjcuODMgNzI0LjA3MDMsMjY4LjQzNSA3MTkuOTA1MywyNjguNDM1IEM3MTAuNjA3MywyNjguNDM1IDcwMy40MzczLDI2NS40MiA2OTguMzk4MywyNTkuMzkgQzY5MS4xOTUzLDI1MC43NyA2NzkuOTY2MywyNDYuNTAxIDY3MC4zNDEzLDI0Ni41IE02NzAuMzQxMywyNDkuNSBDNjc4LjAxOTMsMjQ5LjUwMSA2ODguODE4MywyNTIuNjA0IDY5Ni4wOTYzLDI2MS4zMTMgQzcwMS43MDgzLDI2OC4wMjkgNzA5LjcyMDMsMjcxLjQzNSA3MTkuOTA1MywyNzEuNDM1IEM3MjIuOTIxMywyNzEuNDM1IDcyNi4xNjkzLDI3MS4xMzIgNzI5LjYwNDMsMjcwLjUzMyBMNzIwLjI1NDMsMzA3LjY1MiBDNzE3LjE0NzMsMzA4LjExOSA3MTQuMTU3MywzMDguMzU1IDcxMS4zNDQzLDMwOC4zNTUgQzcwMS4wODUzLDMwOC4zNTUgNjkyLjg5MTMsMzA1LjM1OSA2ODYuMjkzMywyOTkuMTk3IEM2NzkuNTE5MywyOTIuODY5IDY3MS4xNjMzLDI4OS42NiA2NjEuNDYxMywyODkuNjYgQzY1OC4wMzIzLDI4OS42NiA2NTQuMzkyMywyOTAuMDY1IDY1MC41OTEzLDI5MC44NjggQzY1Ny4wNTkzLDI2My4xNjMgNjU5LjI0NzMsMjU0LjQxNCA2NTkuOTU1MywyNTEuODk2IEM2NjIuNjQ4MywyNTAuMzQ2IDY2Ni4yOTAzLDI0OS41IDY3MC4zNDEzLDI0OS41IiBpZD0iRmlsbC01OSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NzAuMzQxMywyNDkuNSBDNjY2LjI5MDMsMjQ5LjUgNjYyLjY0ODMsMjUwLjM0NiA2NTkuOTU1MywyNTEuODk2IEM2NTkuMjQ3MywyNTQuNDE1IDY1Ny4wNTkzLDI2My4xNjUgNjUwLjU5MTMsMjkwLjg2OCBDNjU0LjM5MjMsMjkwLjA2NSA2NTguMDMyMywyODkuNjYxIDY2MS40NjEzLDI4OS42NjEgQzY3MS4xNjMzLDI4OS42NjEgNjc5LjUxOTMsMjkyLjg2OSA2ODYuMjkzMywyOTkuMTk3IEM2OTIuODkxMywzMDUuMzU5IDcwMS4wODUzLDMwOC4zNTUgNzExLjM0NTMsMzA4LjM1NSBMNzExLjM0NjMsMzA4LjM1NSBDNzE0LjE1NzMsMzA4LjM1NSA3MTcuMTQ3MywzMDguMTE5IDcyMC4yNTQzLDMwNy42NTIgTDcyOS42MDQzLDI3MC41MzMgQzcyNi4xNjkzLDI3MS4xMzIgNzIyLjkyMjMsMjcxLjQzNSA3MTkuOTA2MywyNzEuNDM1IEM3MDkuNzIwMywyNzEuNDM1IDcwMS43MDkzLDI2OC4wMjkgNjk2LjA5NjMsMjYxLjMxMyBDNjg4LjgxNzMsMjUyLjYwNCA2NzguMDE5MywyNDkuNSA2NzAuMzQxMywyNDkuNSBNNjcwLjM0MTMsMjUyLjUgQzY3Ny4zNDEzLDI1Mi41IDY4Ny4xNzgzLDI1NS4zMiA2OTMuNzk0MywyNjMuMjM3IEM3MDAuMDA0MywyNzAuNjY3IDcwOC43OTAzLDI3NC40MzUgNzE5LjkwNjMsMjc0LjQzNSBDNzIxLjcyNzMsMjc0LjQzNSA3MjMuNjMyMywyNzQuMzMgNzI1LjYwNjMsMjc0LjEyMyBMNzE3Ljg0MTMsMzA0Ljk1MSBDNzE1LjU4NTMsMzA1LjIyIDcxMy40MDczLDMwNS4zNTUgNzExLjM0NTMsMzA1LjM1NSBDNzAxLjg4MjMsMzA1LjM1NSA2OTQuMzU3MywzMDIuNjI0IDY4OC4zNDEzLDI5Ny4wMDUgQzY4MC45OTMzLDI5MC4xNDIgNjcxLjk0OTMsMjg2LjY2MSA2NjEuNDYxMywyODYuNjYxIEM2NTkuMjM2MywyODYuNjYxIDY1Ni45MjIzLDI4Ni44MjIgNjU0LjU0MzMsMjg3LjE0MSBDNjU5LjQzOTMsMjY2LjIyNSA2NjEuNTg3MywyNTcuNDY0IDY2Mi41MDUzLDI1My45NjIgQzY2NC42MzEzLDI1My4wMTQgNjY3LjM2MjMsMjUyLjUgNjcwLjM0MTMsMjUyLjUiIGlkPSJGaWxsLTYxIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTY1OC4zMTc3LDI0Mi40NDA0IEM2NDguNzcyMjczLDI4MC43MjUxODMgNjQxLjYxMzIwMywzMDkuNDM4NzcxIDYzNi44NDA0OSwzMjguNTgxMTYzIEM2MzYuNzA3MDMxLDMzMS4wMzEyNSA2MzguOTk0MTQxLDMzMi40NjQ4NDQgNjM5Ljg3ODUwMywzMzIuOTMzNTA5IEM2NDQuODM4NzY5LDMxMy4wMzkwNCA2NTIuMjc5MTY4LDI4My4xOTczMzcgNjYyLjE5OTcsMjQzLjQwODQgQzY2Mi40NjY3LDI0Mi4zMzc0IDY2MS44MTM3LDI0MS4yNTE0IDY2MC43NDI3LDI0MC45ODQ0IEM2NTkuNjcwNywyNDAuNzE2NCA2NTguNTg1NywyNDEuMzY5NCA2NTguMzE3NywyNDIuNDQwNCBaIiBpZD0iRmlsbC02MyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MTcuNTk3MiwzMTguNSBDNjAyLjIwNDIsMzE4LjUgNTg5LjY4MzIsMzMxLjUyMSA1ODkuNjgzMiwzNDcuNTI0IEM1ODkuNjgzMiwzNTUuNDUxIDU5Mi43MTQyLDM3Ny40MTYgNTk3LjA2MjIsMzk2LjI2IEM2MDUuMjU4Miw0MzEuNzcyIDYxMi43MDYyLDQzNS44OCA2MTcuNTk3Miw0MzUuODggQzYyMi4yMDgyLDQzNS44OCA2MjYuMTYyMiw0MzEuNzEgNjMwLjA0MDIsNDIyLjc1OSBDNjMyLjg0NzIsNDE2LjI3OSA2MzUuNTcwMiw0MDcuMzY4IDYzOC4xMzEyLDM5Ni4yNzEgQzY0Mi40ODAyLDM3Ny40MzEgNjQ1LjUxMTIsMzU1LjQ1OSA2NDUuNTExMiwzNDcuNTI0IEM2NDUuNTExMiwzMzEuNTIxIDYzMi45ODkyLDMxOC41IDYxNy41OTcyLDMxOC41IE02MTcuNTk3MiwzMjEuNSBDNjMxLjM3MDIsMzIxLjUgNjQyLjUxMTIsMzMzLjEzNyA2NDIuNTExMiwzNDcuNTI0IEM2NDIuNTExMiwzNjEuOTExIDYzMS4zNDEyLDQzMi44OCA2MTcuNTk3Miw0MzIuODggQzYwMy44NTIyLDQzMi44OCA1OTIuNjgzMiwzNjEuODgxIDU5Mi42ODMyLDM0Ny41MjQgQzU5Mi42ODMyLDMzMy4xNjcgNjAzLjgyNDIsMzIxLjUgNjE3LjU5NzIsMzIxLjUiIGlkPSJGaWxsLTY1IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTYxNy41OTcyLDQzMi44ODAzMjggQzYxNi4zODIyLDQzMi44ODAzMjggNjE0Ljg0ODIsNDMyLjI3NTkgNjEzLjMyMjIsNDMwLjYzMjkgQzYxMC4zMTUyLDQyNy4zOTU5IDYwOC41NzgyLDQyMy43OTU5IDYxMC4zNjkyLDQxOS43NTY5IEM2MTguMTM4Miw0MDIuMjMzOSA2MjMuNTk0MiwzNzcuODI4OSA2MjYuNTg2MiwzNDcuMjIwOSBDNjI3LjAxNzIsMzQyLjgyMTkgNjMwLjkzMzIsMzM5LjYwNzkgNjM1LjMyNjIsMzQwLjAzNjkgQzYzOS43MjQyLDM0MC40NjY5IDY0Mi45MDUyLDM0NC4zNzU5IDY0Mi41MTAyLDM0OC43NzY5IEM2MzkuOTUyMiwzODEuNjQwOSA2MzEuMjMwMiw0MTUuOTQ2OSA2MjQuOTk2Miw0MjYuMjQwOSBDNjIzLjU4MTIsNDI4LjkyNjkgNjIwLjc1NDIsNDMyLjkyNzkgNjE3LjU5NzIsNDMyLjg4MDMyOCIgaWQ9IkZpbGwtNjciIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjUyLjY4MzEsMTIyLjUgQzY2NS4zODUxLDEyMi41IDY3NS42ODMxLDExMi4yMDMgNjc1LjY4MzEsOTkuNSBDNjc1LjY4MzEsODYuNzk4IDY2NS4zODUxLDc2LjUgNjUyLjY4MzEsNzYuNSBDNjM5Ljk4MTEsNzYuNSA2MjkuNjgzMSw4Ni43OTggNjI5LjY4MzEsOTkuNSBDNjI5LjY4MzEsMTEyLjIwMyA2MzkuOTgxMSwxMjIuNSA2NTIuNjgzMSwxMjIuNSIgaWQ9IkZpbGwtNjkiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjQyLjE4MzEsOTMuNSBDNjM5LjE0NjEsOTMuNSA2MzYuNjgzMSw5NS45NjMgNjM2LjY4MzEsOTkgQzYzNi42ODMxLDEwMi4wMzggNjM5LjE0NjEsMTA0LjUgNjQyLjE4MzEsMTA0LjUgQzY0NS4yMjAxLDEwNC41IDY0Ny42ODMxLDEwMi4wMzggNjQ3LjY4MzEsOTkgQzY0Ny42ODMxLDk1Ljk2MyA2NDUuMjIwMSw5My41IDY0Mi4xODMxLDkzLjUgTTY0Mi4xODMxLDk2LjUgQzY0My41NjIxLDk2LjUgNjQ0LjY4MzEsOTcuNjIyIDY0NC42ODMxLDk5IEM2NDQuNjgzMSwxMDAuMzc5IDY0My41NjIxLDEwMS41IDY0Mi4xODMxLDEwMS41IEM2NDAuODA0MSwxMDEuNSA2MzkuNjgzMSwxMDAuMzc5IDYzOS42ODMxLDk5IEM2MzkuNjgzMSw5Ny42MjIgNjQwLjgwNDEsOTYuNSA2NDIuMTgzMSw5Ni41IiBpZD0iRmlsbC03MSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02ODMuMTI2NSw5My42NjExIEM2ODEuNzk0NSw4Ni42NzkxIDY3OC4xMjI1LDgwLjUzMTEgNjcyLjk1NTUsNzYuMDU4MSBDNjgzLjQ5NTUsNzIuNzI0MSA2OTEuMzI3NSw3Mi40MzUxIDY5My4zODY1LDc2LjAwMDEgQzY5NS40NDQ1LDc5LjU2NDEgNjkxLjI4MTUsODYuMjAyMSA2ODMuMTI2NSw5My42NjExIEw2ODMuMTI2NSw5My42NjExIFogTTY4MC42ODM1LDk5LjUwMDEgQzY4MC42ODM1LDExNC45MzkxIDY2OC4xMjI1LDEyNy41MDAxIDY1Mi42ODM1LDEyNy41MDAxIEM2NDcuNTg4NSwxMjcuNTAwMSA2NDIuODExNSwxMjYuMTI2MSA2MzguNjkwNSwxMjMuNzM4MSBDNjQ1LjU0NzUsMTIxLjI1MzEgNjUzLjA2NTUsMTE3Ljc1NDEgNjYwLjY4MzUsMTEzLjM1NjEgQzY2OC4zMDY1LDEwOC45NTUxIDY3NS4xMDA1LDEwNC4xODkxIDY4MC42ODM1LDk5LjQ5MDEgTDY4MC42ODM1LDk5LjUwMDEgWiBNNjI0LjY4MzUsOTkuNTAwMSBDNjI0LjY4MzUsODQuMDYwMSA2MzcuMjQzNSw3MS41MDAxIDY1Mi42ODM1LDcxLjUwMDEgQzY2Ni45Mzk1LDcxLjUwMDEgNjc4LjczMzUsODIuMjEzMSA2ODAuNDU3NSw5Ni4wMTAxIEM2NzQuNzE3NSwxMDAuODgxMSA2NjcuNDM2NSwxMDUuOTkzMSA2NTkuMTgzNSwxMTAuNzU5MSBDNjUwLjkzMzUsMTE1LjUyMTEgNjQyLjg2ODUsMTE5LjI2OTEgNjM1Ljc4MjUsMTIxLjgwNjEgQzYyOS4wNDQ1LDExNi42ODcxIDYyNC42ODM1LDEwOC41OTUxIDYyNC42ODM1LDk5LjUwMDEgTDYyNC42ODM1LDk5LjUwMDEgWiBNNjk1Ljk4MzUsNzQuNTAwMSBDNjkzLjIyODUsNjkuNzI3MSA2ODMuMjQ3NSw2OS44ODUxIDY3MC4zMzE1LDc0LjAxODEgQzY2NS4zMjE1LDcwLjU0MzEgNjU5LjI0MTUsNjguNTAwMSA2NTIuNjgzNSw2OC41MDAxIEM2MzUuNTYyNSw2OC41MDAxIDYyMS42ODM1LDgyLjM4MDEgNjIxLjY4MzUsOTkuNTAwMSBDNjIxLjY4MzUsMTA4Ljg2ODEgNjI1Ljg0NDUsMTE3LjI1OTEgNjMyLjQxMTUsMTIyLjk0MjEgQzYyMS44NzA1LDEyNi4yNzgxIDYxNC4wMzg1LDEyNi41NjUxIDYxMS45ODA1LDEyMy4wMDAxIEM2MDkuOTQwNSwxMTkuNDY4MSA2MTQuMDAxNSwxMTIuOTIxMSA2MjIuMDA5NSwxMDUuNTQ1MSBMNjIxLjUxMzUsMTAyLjI4NTEgQzYxMS42NDc1LDExMS4zMTQxIDYwNi42NDk1LDExOS43NjkxIDYwOS4zODI1LDEyNC41MDAxIEM2MTIuMTM4NSwxMjkuMjc1MSA2MjIuMTE4NSwxMjkuMTI3MSA2MzUuMDQzNSwxMjQuOTg3MSBDNjQwLjA1MTUsMTI4LjQ2MDEgNjQ2LjEyNzUsMTMwLjUwMDEgNjUyLjY4MzUsMTMwLjUwMDEgQzY2OS44MDQ1LDEzMC41MDAxIDY4My42ODM1LDExNi42MjExIDY4My42ODM1LDk5LjUwMDEgQzY4My42ODM1LDk4LjY0NzEgNjgzLjYzOTUsOTcuODA2MSA2ODMuNTcxNSw5Ni45NzExIEM2OTMuNjIyNSw4Ny44NDcxIDY5OC43NDE1LDc5LjI3NTEgNjk1Ljk4MzUsNzQuNTAwMSBMNjk1Ljk4MzUsNzQuNTAwMSBaIiBpZD0iRmlsbC03MyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik05MC43NTU0LDE1Ni4xNDQ1IEw2My4xNzc0LDE4My43MjI1IEwxMDcuMDE4NCwyMjcuNTYzNSBMMTM0LjU5NjQsMTk5Ljk4NTUgTDkwLjc1NTQsMTU2LjE0NDUgWiBNOTAuNzU1NCwxNjAuMzg2NSBMMTMwLjM1MzQsMTk5Ljk4NTUgTDEwNy4wMTg0LDIyMy4zMjA1IEw2Ny40MTk0LDE4My43MjI1IEw5MC43NTU0LDE2MC4zODY1IFoiIGlkPSJGaWxsLTc1IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwNy4wMTgxLDIyNy41NjI1IEw5Ni45MTgxLDIxNy40NjI1IEMxMDEuNDg1MSwyMTAuODc2NSAxMDAuODE4MSwyMDEuNzQwNSA5NC45MTAxLDE5NS44MzI1IEM5MS41NzQxLDE5Mi40OTY1IDg3LjIwNjEsMTkwLjgyNjUgODIuODUxMSwxOTAuODI2NSBDNzkuNDkyMSwxOTAuODI2NSA3Ni4xNDUxLDE5MS44MzM1IDczLjI3NzEsMTkzLjgyMjUgTDYzLjE3NzEsMTgzLjcyMjUgTDkwLjc1NTEsMTU2LjE0NTUgTDEwMC44NTUxLDE2Ni4yNDU1IEM5Ni4yODkxLDE3Mi44MzE1IDk2Ljk1NTEsMTgxLjk2ODUgMTAyLjg2NDEsMTg3Ljg3NjUgQzEwNi4xOTkxLDE5MS4yMTE1IDExMC41NjcxLDE5Mi44ODE1IDExNC45MjExLDE5Mi44ODE1IEMxMTguMjgyMSwxOTIuODgxNSAxMjEuNjI4MSwxOTEuODc0NSAxMjQuNDk2MSwxODkuODg1NSBMMTM0LjU5NTEsMTk5Ljk4NjUgTDEwNy4wMTgxLDIyNy41NjI1IFogTTk0Ljc1NzEsMjE1LjMwMjUgTDc1LjQzNzEsMTk1Ljk4MjUgQzc3LjYzMTEsMTk0LjU4NDUgODAuMTc5MSwxOTMuODI2NSA4Mi44NTExLDE5My44MjY1IEM4Ni41OTgxLDE5My44MjY1IDkwLjEyNjEsMTk1LjI5MTUgOTIuNzg4MSwxOTcuOTUzNSBDOTcuNTExMSwyMDIuNjc1NSA5OC4xNjgxLDIwOS45Mjg1IDk0Ljc1NzEsMjE1LjMwMjUgTDk0Ljc1NzEsMjE1LjMwMjUgWiBNNjUuNTI1MSwxNjcuNTM2NSBMNzQuMDA5MSwxNTkuMDUwNSBMNzguODA4MSwxNjMuODQ5NSBMNzAuMzIzMSwxNzIuMzMzNSBMNjUuNTI1MSwxNjcuNTM2NSBaIE01My44ODYxLDE3NC45MzE1IEwzMi42NzMxLDE1My43MTc1IEMyOS4xNjQxLDE1MC4yMDg1IDI5LjE2NDEsMTQ0LjQ5OTUgMzIuNjczMSwxNDAuOTkwNSBMNDcuNTIzMSwxMjYuMTQwNSBDNDkuMjIyMSwxMjQuNDQxNSA1MS40ODMxLDEyMy41MDQ1IDUzLjg4NjEsMTIzLjUwNDUgQzU2LjI5MDEsMTIzLjUwNDUgNTguNTUwMSwxMjQuNDQxNSA2MC4yNTAxLDEyNi4xNDA1IEw4MS40NjQxLDE0Ny4zNTM1IEw1My44ODYxLDE3NC45MzE1IFogTTEwMy4wMTUxLDE2OC40MDU1IEwxMjIuMzM1MSwxODcuNzI1NSBDMTIwLjE0MjEsMTg5LjEyMzUgMTE3LjU5NDEsMTg5Ljg4MTUgMTE0LjkyMTEsMTg5Ljg4MTUgQzExMS4xNzUxLDE4OS44ODE1IDEwNy42NDYxLDE4OC40MTY1IDEwNC45ODYxLDE4NS43NTQ1IEMxMDAuMjYyMSwxODEuMDMyNSA5OS42MDUxLDE3My43Nzk1IDEwMy4wMTUxLDE2OC40MDU1IEwxMDMuMDE1MSwxNjguNDA1NSBaIE0xNDcuMzUyMSwyMDguNTUxNSBMMTMzLjg4MTEsMjA0Ljk0MjUgTDEzNy40MjQxLDIwMS40MDA1IEMxMzguMjA1MSwyMDAuNjE5NSAxMzguMjA1MSwxOTkuMzUyNSAxMzcuNDI0MSwxOTguNTcxNSBMMTI2LjgxODEsMTg3Ljk2NDUgTDEyNi40ODQxLDE4Ny42MzE1IEwxMzguNTgwMSwxNzUuNTM3NSBMMTM2LjQ1NzEsMTczLjQxNjUgTDEyNC4zNjMxLDE4NS41MTA1IEwxMDUuMjcxMSwxNjYuNDE3NSBMMTE3LjM2NjEsMTU0LjMyMzUgTDExNS4yNDUxLDE1Mi4yMDI1IEwxMDMuMTUwMSwxNjQuMjk2NSBMMTAyLjc3NjEsMTYzLjkyMjUgTDkyLjE2OTEsMTUzLjMxNjUgQzkxLjc3OTEsMTUyLjkyNTUgOTEuMjY3MSwxNTIuNzMwNSA5MC43NTUxLDE1Mi43MzA1IEM5MC4yNDMxLDE1Mi43MzA1IDg5LjczMTEsMTUyLjkyNTUgODkuMzQxMSwxNTMuMzE2NSBMODAuOTI5MSwxNjEuNzI4NSBMNzYuMTMxMSwxNTYuOTI5NSBMODQuMjkyMSwxNDguNzY4NSBDODUuMDc0MSwxNDcuOTg3NSA4NS4wNzQxLDE0Ni43MjA1IDg0LjI5MjEsMTQ1LjkzOTUgTDYyLjM3MjEsMTI0LjAxOTUgQzYwLjAyOTEsMTIxLjY3NjUgNTYuOTU3MSwxMjAuNTA0NSA1My44ODYxLDEyMC41MDQ1IEM1MC44MTYxLDEyMC41MDQ1IDQ3Ljc0NTEsMTIxLjY3NjUgNDUuNDAyMSwxMjQuMDE5NSBMNDAuMTQxMSwxMjkuMjgwNSBMMzIuNTg2MSwxMjEuNzI1NSBDMzQuNjE1MSwxMTguNjIzNSAzNC4yNjkxLDExNC40MjE1IDMxLjU0MzEsMTExLjY5NzUgQzI4LjQxOTEsMTA4LjU3MzUgMjMuMzU0MSwxMDguNTczNSAyMC4yMzAxLDExMS42OTc1IEMxNy4xMDUxLDExNC44MjE1IDE3LjEwNTEsMTE5Ljg4NjUgMjAuMjMwMSwxMjMuMDEwNSBDMjIuNzc1MSwxMjUuNTU1NSAyNi42MDcxLDEyNi4wMjY1IDI5LjYyOTEsMTI0LjQyNTUgTDM3LjMxMjEsMTMyLjEwODUgTDMwLjU1MjEsMTM4Ljg2OTUgQzI1Ljg2NjEsMTQzLjU1NDUgMjUuODY2MSwxNTEuMTUzNSAzMC41NTIxLDE1NS44Mzk1IEw1Mi40NzIxLDE3Ny43NTk1IEM1Mi44NjMxLDE3OC4xNTA1IDUzLjM3NDEsMTc4LjM0NTUgNTMuODg2MSwxNzguMzQ1NSBDNTQuMzk4MSwxNzguMzQ1NSA1NC45MTAxLDE3OC4xNTA1IDU1LjMwMDEsMTc3Ljc1OTUgTDYzLjQwNDEsMTY5LjY1NzUgTDY4LjIwMjEsMTc0LjQ1NjUgTDYwLjM0OTEsMTgyLjMwODUgQzU5LjU2ODEsMTgzLjA4ODUgNTkuNTY4MSwxODQuMzU1NSA2MC4zNDkxLDE4NS4xMzY1IEw3MS4zMzAxLDE5Ni4xMTc1IEw1OC42NzYxLDIwOC43NzA1IEw2MC43OTcxLDIxMC44OTI1IEw3My40NTExLDE5OC4yMzg1IEw5Mi41NDIxLDIxNy4zMzA1IEw4MC41OTYxLDIyOS4yNzc1IEw4Mi43MTcxLDIzMS4zOTg1IEw5NC42NjQxLDIxOS40NTE1IEw5NC45OTcxLDIxOS43ODU1IEwxMDUuNjA0MSwyMzAuMzkxNSBDMTA1Ljk5NTEsMjMwLjc4MjUgMTA2LjUwNjEsMjMwLjk3NzUgMTA3LjAxODEsMjMwLjk3NzUgQzEwNy41MzExLDIzMC45Nzc1IDEwOC4wNDIxLDIzMC43ODI1IDEwOC40MzMxLDIzMC4zOTE1IEwxMTIuMTIzMSwyMjYuNzAxNSBMMTE1Ljk1MTEsMjQwLjk4MzUgQzExNC40NzMxLDI0Mi43NTA1IDExNC41NDQxLDI0NS4zNzU1IDExNi4yMDUxLDI0Ny4wMzY1IEMxMTcuOTYyMSwyNDguNzkyNSAxMjAuODExMSwyNDguNzkyNSAxMjIuNTY5MSwyNDcuMDM2NSBDMTI0LjMyNjEsMjQ1LjI3OTUgMTI0LjMyNjEsMjQyLjQyOTUgMTIyLjU2OTEsMjQwLjY3MTUgQzEyMS44MjIxLDIzOS45MjQ1IDEyMC44NzUxLDIzOS41MTU1IDExOS45MDExLDIzOS40MDM1IEwxMTUuNTczMSwyMjMuMjUwNSBMMTMwLjQzMjEsMjA4LjM5MjUgTDE0NS45NTQxLDIxMi41NTA1IEMxNDYuMDk1MSwyMTMuNDU5NSAxNDYuNTA0MSwyMTQuMzM1NSAxNDcuMjA1MSwyMTUuMDM2NSBDMTQ4Ljk2MjEsMjE2Ljc5MjUgMTUxLjgxMTEsMjE2Ljc5MjUgMTUzLjU2OTEsMjE1LjAzNjUgQzE1NS4zMjYxLDIxMy4yNzk1IDE1NS4zMjYxLDIxMC40Mjk1IDE1My41NjkxLDIwOC42NzE1IEMxNTEuODU3MSwyMDYuOTYwNSAxNDkuMTE4MSwyMDYuOTI5NSAxNDcuMzUyMSwyMDguNTUxNSBaIiBpZD0iRmlsbC03NyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01My44ODcyLDEyMy41MDQ5IEM1MS40ODMyLDEyMy41MDQ5IDQ5LjIyMzIsMTI0LjQ0MDkgNDcuNTIzMiwxMjYuMTQwOSBMMzIuNjczMiwxNDAuOTg5OSBDMzAuOTczMiwxNDIuNjkwOSAzMC4wMzcyLDE0NC45NDk5IDMwLjAzNzIsMTQ3LjM1NDkgQzMwLjAzNzIsMTQ5Ljc1NzkgMzAuOTczMiwxNTIuMDE3OSAzMi42NzMyLDE1My43MTc5IEw1My44ODcyLDE3NC45MzE5IEw4MS40NjQyLDE0Ny4zNTQ5IEw2MC4yNTAyLDEyNi4xNDA5IEM1OC41NTAyLDEyNC40NDA5IDU2LjI5MDIsMTIzLjUwNDkgNTMuODg3MiwxMjMuNTA0OSBNNTMuODg3MiwxMjYuNTA0OSBDNTUuNDkwMiwxMjYuNTA0OSA1Ni45OTUyLDEyNy4xMjg5IDU4LjEyOTIsMTI4LjI2MTkgTDc3LjIyMjIsMTQ3LjM1NDkgTDUzLjg4NzIsMTcwLjY4OTkgTDM0Ljc5NDIsMTUxLjU5NjkgQzMzLjY2MTIsMTUwLjQ2MjkgMzMuMDM3MiwxNDguOTU2OSAzMy4wMzcyLDE0Ny4zNTQ5IEMzMy4wMzcyLDE0NS43NTE5IDMzLjY2MTIsMTQ0LjI0MzkgMzQuNzk0MiwxNDMuMTEwOSBMNDkuNjQ0MiwxMjguMjYxOSBDNTAuNzc3MiwxMjcuMTI4OSA1Mi4yODQyLDEyNi41MDQ5IDUzLjg4NzIsMTI2LjUwNDkiIGlkPSJGaWxsLTc5IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTExOC42OTg3LDkyLjk2NzggQzExOC4xODY3LDkyLjk2NzggMTE3LjY3NTcsOTMuMTYyOCAxMTcuMjg0Nyw5My41NTM4IEw4Ny41ODU3LDEyMy4yNTE4IEM4Ni44MDM3LDEyNC4wMzI4IDg2LjgwMzcsMTI1LjI5ODggODcuNTg1NywxMjYuMDc5OCBMMTY0LjY2MDcsMjAzLjE1NDggQzE2NS4wNTE3LDIwMy41NDQ4IDE2NS41NjI3LDIwMy43Mzk4IDE2Ni4wNzQ3LDIwMy43Mzk4IEMxNjYuNTg2NywyMDMuNzM5OCAxNjcuMDk3NywyMDMuNTQ0OCAxNjcuNDg4NywyMDMuMTU0OCBMMTk3LjE4NjcsMTczLjQ1NTggQzE5Ny45Njg3LDE3Mi42NzU4IDE5Ny45Njg3LDE3MS40MDg4IDE5Ny4xODY3LDE3MC42Mjc4IEwxMjAuMTEyNyw5My41NTM4IEMxMTkuNzIxNyw5My4xNjI4IDExOS4yMTA3LDkyLjk2NzggMTE4LjY5ODcsOTIuOTY3OCBNMTE4LjY5ODcsOTYuMzgxOCBMMTk0LjM1ODcsMTcyLjA0MTggTDE2Ni4wNzQ3LDIwMC4zMjU4IEw5MC40MTQ3LDEyNC42NjU4IEwxMTguNjk4Nyw5Ni4zODE4IiBpZD0iRmlsbC04MSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMTguNjk4Nyw5Ni4zODE4IEw5MC40MTM3LDEyNC42NjU4IEwxNjYuMDc0NywyMDAuMzI2OCBMMTk0LjM1ODcsMTcyLjA0MTggTDExOC42OTg3LDk2LjM4MTggWiBNMTE4LjY5ODcsMTAwLjYyMzggTDE5MC4xMTY3LDE3Mi4wNDE4IEwxNjYuMDc0NywxOTYuMDgzOCBMOTQuNjU1NywxMjQuNjY1OCBMMTE4LjY5ODcsMTAwLjYyMzggWiIgaWQ9IkZpbGwtODMiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTE0LjYyMzUsMTUxLjI4OTEgTDE0NC4zMjE1LDEyMS41OTExIEMxNDQuOTA3NSwxMjEuMDA1MSAxNDUuODU2NSwxMjEuMDA1MSAxNDYuNDQyNSwxMjEuNTkxMSBDMTQ3LjAyODUsMTIyLjE3NzEgMTQ3LjAyODUsMTIzLjEyNjEgMTQ2LjQ0MjUsMTIzLjcxMjEgTDExNi43NDQ1LDE1My40MTAxIEMxMTYuMTU4NSwxNTMuOTk2MSAxMTUuMjA5NSwxNTMuOTk2MSAxMTQuNjIzNSwxNTMuNDEwMSBDMTE0LjAzNzUsMTUyLjgyNDEgMTE0LjAzNzUsMTUxLjg3NTEgMTE0LjYyMzUsMTUxLjI4OTEiIGlkPSJGaWxsLTg1IiBmaWxsPSIjQTNCMUJGIiBvcGFjaXR5PSIwLjQwMzgzMTg0NSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMzguNjIzNSwxNzQuMjg5MSBMMTY4LjMyMTUsMTQ0LjU5MTEgQzE2OC45MDc1LDE0NC4wMDUxIDE2OS44NTY1LDE0NC4wMDUxIDE3MC40NDI1LDE0NC41OTExIEMxNzEuMDI4NSwxNDUuMTc3MSAxNzEuMDI4NSwxNDYuMTI2MSAxNzAuNDQyNSwxNDYuNzEyMSBMMTQwLjc0NDUsMTc2LjQxMDEgQzE0MC4xNTg1LDE3Ni45OTYxIDEzOS4yMDk1LDE3Ni45OTYxIDEzOC42MjM1LDE3Ni40MTAxIEMxMzguMDM3NSwxNzUuODI0MSAxMzguMDM3NSwxNzQuODc1MSAxMzguNjIzNSwxNzQuMjg5MSIgaWQ9IkZpbGwtODciIGZpbGw9IiNBM0IxQkYiIG9wYWNpdHk9IjAuNDAzODMxODQ1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwMy4xNDIxLDEwOS4zMTY0IEMxMDMuNzI4MSwxMDguNzMxNCAxMDQuNjc3MSwxMDguNzMxNCAxMDUuMjYzMSwxMDkuMzE2NCBMMTgwLjkyNDEsMTg0Ljk3NzQgQzE4MS41MDkxLDE4NS41NjM0IDE4MS41MDkxLDE4Ni41MTI0IDE4MC45MjQxLDE4Ny4wOTg0IEMxODAuMzM4MSwxODcuNjg0NCAxNzkuMzg4MSwxODcuNjg0NCAxNzguODAyMSwxODcuMDk4NCBMMTAzLjE0MjEsMTExLjQzODQgQzEwMi41NTYxLDExMC44NTI0IDEwMi41NTYxLDEwOS45MDI0IDEwMy4xNDIxLDEwOS4zMTY0IiBpZD0iRmlsbC04OSIgZmlsbD0iI0EzQjFCRiIgb3BhY2l0eT0iMC4yMTkzNTQ1MzkiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzEuNjk4NywxNzkuOTY3OCBDMzEuMTg2NywxNzkuOTY3OCAzMC42NzU3LDE4MC4xNjI4IDMwLjI4NDcsMTgwLjU1MzggTDAuNTg2NywyMTAuMjUxOCBDLTAuMTk1MywyMTEuMDMyOCAtMC4xOTUzLDIxMi4yOTg4IDAuNTg2NywyMTMuMDc5OCBMNzcuNjYwNywyOTAuMTU0OCBDNzguMDUxNywyOTAuNTQ0OCA3OC41NjI3LDI5MC43Mzk4IDc5LjA3NDcsMjkwLjczOTggQzc5LjU4NjcsMjkwLjczOTggODAuMDk3NywyOTAuNTQ0OCA4MC40ODg3LDI5MC4xNTQ4IEwxMTAuMTg3NywyNjAuNDU1OCBDMTEwLjk2ODcsMjU5LjY3NDggMTEwLjk2ODcsMjU4LjQwODggMTEwLjE4NzcsMjU3LjYyNzggTDMzLjExMjcsMTgwLjU1MzggQzMyLjcyMTcsMTgwLjE2MjggMzIuMjEwNywxNzkuOTY3OCAzMS42OTg3LDE3OS45Njc4IE0zMS42OTg3LDE4My4zODE4IEwxMDcuMzU4NywyNTkuMDQxOCBMNzkuMDc0NywyODcuMzI1OCBMMy40MTQ3LDIxMS42NjU4IEwzMS42OTg3LDE4My4zODE4IiBpZD0iRmlsbC05MSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMS42OTg3LDE4My4zODE4IEwzLjQxMzcsMjExLjY2NTggTDc5LjA3NDcsMjg3LjMyNjggTDEwNy4zNTg3LDI1OS4wNDE4IEwzMS42OTg3LDE4My4zODE4IFogTTMxLjY5ODcsMTg3LjYyMzggTDEwMy4xMTY3LDI1OS4wNDE4IEw3OS4wNzQ3LDI4My4wODM4IEw3LjY1NjcsMjExLjY2NTggTDMxLjY5ODcsMTg3LjYyMzggWiIgaWQ9IkZpbGwtOTMiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjcuNjIzNSwyMzcuMjg5MSBMNTcuMzIxNSwyMDcuNTkxMSBDNTcuOTA3NSwyMDcuMDA1MSA1OC44NTY1LDIwNy4wMDUxIDU5LjQ0MjUsMjA3LjU5MTEgQzYwLjAyODUsMjA4LjE3NzEgNjAuMDI4NSwyMDkuMTI2MSA1OS40NDI1LDIwOS43MTIxIEwyOS43NDQ1LDIzOS40MTAxIEMyOS4xNTg1LDIzOS45OTYxIDI4LjIwOTUsMjM5Ljk5NjEgMjcuNjIzNSwyMzkuNDEwMSBDMjcuMDM3NSwyMzguODI0MSAyNy4wMzc1LDIzNy44NzUxIDI3LjYyMzUsMjM3LjI4OTEiIGlkPSJGaWxsLTk1IiBmaWxsPSIjQTNCMUJGIiBvcGFjaXR5PSIwLjQwMzgzMTg0NSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01MS42MjM1LDI2MS4yODkxIEw4MS4zMjE1LDIzMS41OTExIEM4MS45MDc1LDIzMS4wMDUxIDgyLjg1NjUsMjMxLjAwNTEgODMuNDQyNSwyMzEuNTkxMSBDODQuMDI4NSwyMzIuMTc3MSA4NC4wMjg1LDIzMy4xMjYxIDgzLjQ0MjUsMjMzLjcxMjEgTDUzLjc0NDUsMjYzLjQxMDEgQzUzLjE1ODUsMjYzLjk5NjEgNTIuMjA5NSwyNjMuOTk2MSA1MS42MjM1LDI2My40MTAxIEM1MS4wMzc1LDI2Mi44MjQxIDUxLjAzNzUsMjYxLjg3NTEgNTEuNjIzNSwyNjEuMjg5MSIgaWQ9IkZpbGwtOTciIGZpbGw9IiNBM0IxQkYiIG9wYWNpdHk9IjAuNDAzODMxODQ1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2LjE0MjEsMTk2LjMxNjQgQzE2LjcyODEsMTk1LjczMTQgMTcuNjc3MSwxOTUuNzMxNCAxOC4yNjMxLDE5Ni4zMTY0IEw5My45MjQxLDI3MS45Nzc0IEM5NC41MDkxLDI3Mi41NjM0IDk0LjUwOTEsMjczLjUxMjQgOTMuOTI0MSwyNzQuMDk4NCBDOTMuMzM4MSwyNzQuNjg0NCA5Mi4zODgxLDI3NC42ODQ0IDkxLjgwMjEsMjc0LjA5ODQgTDE2LjE0MjEsMTk4LjQzODQgQzE1LjU1NjEsMTk3Ljg1MjQgMTUuNTU2MSwxOTYuOTAyNCAxNi4xNDIxLDE5Ni4zMTY0IiBpZD0iRmlsbC05OSIgZmlsbD0iI0EzQjFCRiIgb3BhY2l0eT0iMC4yMTkzNTQ1MzkiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDc5LjY4MzEsNDE1LjU4MTEgTDQ3OS42ODMxLDQzNC42NDYxIEw0ODIuNjgzMSw0MzguNjk4MSBMNDgyLjY4MzEsNDE1LjU4MTEgQzQ4Mi42ODMxLDQwNy43NTMxIDQ3Ny4zNjQxLDQwMS4wNzAxIDQ2OS45NDUxLDM5OC41NjAxIEw0NjkuNzU0MSw0MDEuNjkwMSBDNDc1LjU3NTEsNDAzLjk4ODEgNDc5LjY4MzEsNDA5LjM2MDEgNDc5LjY4MzEsNDE1LjU4MTEiIGlkPSJGaWxsLTEwMSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNjUuNjgzMSw0MzQuNTc5MSBMMzY1LjY4MzEsNDE1LjU4MTEgQzM2NS42ODMxLDQwOC40NzUxIDM3MS4wNDQxLDQwMi40NzUxIDM3OC4xOTUxLDQwMC45MDIxIEwzNzguMTEwMSwzOTcuODU1MSBDMzY5LjMyMjEsMzk5LjUyMDEgMzYyLjY4MzEsNDA2LjgzNjEgMzYyLjY4MzEsNDE1LjU4MTEgTDM2Mi42ODMxLDQzOC41NzIxIEwzNjUuNjgzMSw0MzQuNTc5MSBaIiBpZD0iRmlsbC0xMDMiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDc2LjY4MzEsNDE1LjU4MTEgTDQ3Ni42ODMxLDQzMS4wOTAxIEw0NzkuNjgzMSw0MzQuODg2MSBMNDc5LjY4MzEsNDE1LjU4MTEgQzQ3OS42ODMxLDQwOS4zNjAxIDQ3NS41NzYxLDQwMy45ODgxIDQ2OS43NTQxLDQwMS42OTAxIEw0NjguNTk2MSw0MDQuNDUxMSBDNDczLjM0NDEsNDA2LjI4NzEgNDc2LjY4MzEsNDEwLjU4NTEgNDc2LjY4MzEsNDE1LjU4MTEiIGlkPSJGaWxsLTEwNSIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNjguNjgzMSw0MzAuMjg5MSBMMzY4LjY4MzEsNDE1LjU4MTEgQzM2OC42ODMxLDQwOS43NTIxIDM3My4yMjgxLDQwNC44NzUxIDM3OS4yNTExLDQwMy43NDYxIEwzNzkuMTY4MSw0MDAuNzE4MSBDMzcxLjUzNzEsNDAxLjkzOTEgMzY1LjY4MzEsNDA4LjE1NjEgMzY1LjY4MzEsNDE1LjU4MTEgTDM2NS42ODMxLDQzMy44NTIxIEwzNjguNjgzMSw0MzAuMjg5MSBaIiBpZD0iRmlsbC0xMDciIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzg2LjI1NTQsNTAzLjg5MDYgQzM4NS43MjM0LDUwNC45ODU2IDM4NS4xMjM0LDUwNS4xNTE2IDM4NC45MTc0LDUwNS4yMDg2IEMzODMuNzgwNCw1MDUuNTIyNiAzODIuMjA4NCw1MDQuNjYxNiAzODEuNjY0NCw1MDQuMjgzNiBDMzc5Ljk5NzQsNTAyLjcwOTYgMzQ3LjM5ODQsNDcxLjMyNTYgMzYxLjkzMTQsNDQzLjI3NDYgQzM2OC4zNjk0LDQzMS4xNzk2IDM3Ni40NjI0LDQyMi4xNTU2IDM4NS43NTk0LDQxNi41Nzc2IEwzODQuNTAzNCw0MTMuODIzNiBDMzcyLjQ3MjQsNDIwLjkzNjYgMzY0LjM1ODQsNDMyLjMzMDYgMzU5LjI3NTQsNDQxLjg3ODYgQzM1Mi42NzE0LDQ1NC42MjM2IDM1NC4xNDQ0LDQ2OS44ODQ2IDM2My41MzM0LDQ4Ni4wMTE2IEMzNzAuNTM1NCw0OTguMDM2NiAzNzkuMzIyNCw1MDYuMjA1NiAzNzkuNjkzNCw1MDYuNTQ3NiBMMzc5LjgxNTQsNTA2LjY0OTYgQzM3OS45NDE0LDUwNi43NDI2IDM4MC40ODQ0LDUwNy4xMjc2IDM4MS4yNjk0LDUwNy40OTk2IEwzODkuMjU1NCw1MDcuNDk5NiBMMzg5LjI1NTQsNDU4LjU5NjYgTDM4Ni4yNTU0LDQ1OC41OTY2IEwzODYuMjU1NCw1MDMuODkwNiBaIiBpZD0iRmlsbC0xMDkiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDg2LjA5MTMsNDQxLjg3ODkgTDQ4Ni4wODMzLDQ0MS44NjM5IEM0ODEuMjYzMyw0MzIuODA4OSA0NzMuNzA0Myw0MjIuMDgwOSA0NjIuNjU0Myw0MTQuOTMxOSBMNDYxLjI5NDMsNDE3LjY1MTkgQzQ2OS44ODAzLDQyMy4yODE5IDQ3Ny4zODczLDQzMS45MTQ5IDQ4My40MzEzLDQ0My4yNjU5IEM0OTcuOTUwMyw0NzEuMzAxOSA0NjUuMzc1Myw1MDIuNzAwOSA0NjMuNzAyMyw1MDQuMjgyOSBDNDYzLjE1MDMsNTA0LjY2NTkgNDYxLjU3ODMsNTA1LjUxODkgNDYwLjQ0ODMsNTA1LjIwODkgQzQ2MC4yNDAzLDUwNS4xNTA5IDQ1OS42MzUzLDUwNC45NzA5IDQ1OS4xMDAzLDUwMy44NTM5IEw0NTkuMTAwMyw0NTguMDY5OSBDNDU5LjEwMDMsNDU3LjI0NDkgNDU4LjQyNTMsNDU2LjU2OTkgNDU3LjYwMDMsNDU2LjU2OTkgQzQ1Ni43NzUzLDQ1Ni41Njk5IDQ1Ni4xMDAzLDQ1Ny4yNDQ5IDQ1Ni4xMDAzLDQ1OC4wNjk5IEw0NTYuMTAwMyw1MDcuMjY5OSBDNDU2LjEwMDMsNTA3LjMwNjkgNDU2LjEwODMsNTA3LjM0MDkgNDU2LjExMTMsNTA3LjM3NjkgTDQ1Ni4xMTEzLDUwNy40OTk5IEw0NjQuMDk3Myw1MDcuNDk5OSBDNDY0Ljg4MDMsNTA3LjEyNzkgNDY1LjQyNTMsNTA2Ljc0MTkgNDY1LjU1MTMsNTA2LjY0OTkgTDQ2NS42NzIzLDUwNi41NDc5IEM0NjYuMDQzMyw1MDYuMjA1OSA0NzQuODMwMyw0OTguMDM2OSA0ODEuODMyMyw0ODYuMDExOSBDNDkxLjIyMjMsNDY5Ljg4NDkgNDkyLjY5NTMsNDU0LjYyMzkgNDg2LjA5MTMsNDQxLjg3ODkiIGlkPSJGaWxsLTExMSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MjEuNjgzMSw0OTYuNSBMNDIyLjY4MzEsNDk2LjUgQzQyMy43ODcxLDQ5Ni41IDQyNC42ODMxLDQ5Ny4zOTYgNDI0LjY4MzEsNDk4LjUgTDQyNC42ODMxLDUwNy41IEw0MTkuNjgzMSw1MDcuNSBMNDE5LjY4MzEsNDk4LjUgQzQxOS42ODMxLDQ5Ny4zOTYgNDIwLjU3OTEsNDk2LjUgNDIxLjY4MzEsNDk2LjUiIGlkPSJGaWxsLTExMyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzcuNjgzMSw0NDcuNSBMNDA4LjY4MzEsNDQ3LjUgQzQwNS45MjExLDQ0Ny41IDQwMy42ODMxLDQ0OS43MzggNDAzLjY4MzEsNDUyLjUgTDQwMy42ODMxLDQ4OC41IEM0MDMuNjgzMSw0OTEuMjYyIDQwNS45MjExLDQ5My41IDQwOC42ODMxLDQ5My41IEw0MzcuNjgzMSw0OTMuNSBDNDQwLjQ0NTEsNDkzLjUgNDQyLjY4MzEsNDkxLjI2MiA0NDIuNjgzMSw0ODguNSBMNDQyLjY4MzEsNDUyLjUgQzQ0Mi42ODMxLDQ0OS43MzggNDQwLjQ0NTEsNDQ3LjUgNDM3LjY4MzEsNDQ3LjUgTTQzNy42ODMxLDQ1MC41IEM0MzguNzg2MSw0NTAuNSA0MzkuNjgzMSw0NTEuMzk3IDQzOS42ODMxLDQ1Mi41IEw0MzkuNjgzMSw0ODguNSBDNDM5LjY4MzEsNDg5LjYwNCA0MzguNzg2MSw0OTAuNSA0MzcuNjgzMSw0OTAuNSBMNDA4LjY4MzEsNDkwLjUgQzQwNy41ODAxLDQ5MC41IDQwNi42ODMxLDQ4OS42MDQgNDA2LjY4MzEsNDg4LjUgTDQwNi42ODMxLDQ1Mi41IEM0MDYuNjgzMSw0NTEuMzk3IDQwNy41ODAxLDQ1MC41IDQwOC42ODMxLDQ1MC41IEw0MzcuNjgzMSw0NTAuNSIgaWQ9IkZpbGwtMTE1IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQzNy42NTA5LDQ1MC41IEw0MDguNjgyOSw0NTAuNSBDNDA3LjU4MDksNDUwLjUgNDA2LjY4MjksNDUxLjM5NyA0MDYuNjgyOSw0NTIuNSBMNDA2LjY4MjksNDg4LjUgQzQwNi42ODI5LDQ4OS42MDQgNDA3LjU4MDksNDkwLjUgNDA4LjY4MjksNDkwLjUgTDQzNy42ODI5LDQ5MC41IEM0MzguNzg1OSw0OTAuNSA0MzkuNjgyOSw0ODkuNjA0IDQzOS42ODI5LDQ4OC41IEw0MzkuNjgyOSw0NTIuNSBDNDM5LjY4MjksNDUxLjM5NyA0MzguNzUzOSw0NTAuNSA0MzcuNjUwOSw0NTAuNSBMNDM3LjY1MDksNDUwLjUgWiBNNDA5LjY4MjksNDg3LjUgTDQzNi42ODI5LDQ4Ny41IEw0MzYuNjgyOSw0NTMuNSBMNDA5LjY4MjksNDUzLjUgTDQwOS42ODI5LDQ4Ny41IFoiIGlkPSJGaWxsLTExNyIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTkuMTgzMSw0NTkuNSBDNDE3LjI0OTEsNDU5LjUgNDE1LjY4MzEsNDYxLjA2NyA0MTUuNjgzMSw0NjMgQzQxNS42ODMxLDQ2NC45MzQgNDE3LjI0OTEsNDY2LjUgNDE5LjE4MzEsNDY2LjUgQzQyMS4xMTcxLDQ2Ni41IDQyMi42ODMxLDQ2NC45MzQgNDIyLjY4MzEsNDYzIEM0MjIuNjgzMSw0NjEuMDY3IDQyMS4xMTcxLDQ1OS41IDQxOS4xODMxLDQ1OS41IE00MTkuMTgzMSw0NjIuNSBDNDE5LjQ1ODEsNDYyLjUgNDE5LjY4MzEsNDYyLjcyNSA0MTkuNjgzMSw0NjMgQzQxOS42ODMxLDQ2My4yNzYgNDE5LjQ1ODEsNDYzLjUgNDE5LjE4MzEsNDYzLjUgQzQxOC45MDgxLDQ2My41IDQxOC42ODMxLDQ2My4yNzYgNDE4LjY4MzEsNDYzIEM0MTguNjgzMSw0NjIuNzI1IDQxOC45MDgxLDQ2Mi41IDQxOS4xODMxLDQ2Mi41IiBpZD0iRmlsbC0xMTkiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDE5LjE4MzEsNDcyLjUgQzQxNy4yNDkxLDQ3Mi41IDQxNS42ODMxLDQ3NC4wNjcgNDE1LjY4MzEsNDc2IEM0MTUuNjgzMSw0NzcuOTM0IDQxNy4yNDkxLDQ3OS41IDQxOS4xODMxLDQ3OS41IEM0MjEuMTE3MSw0NzkuNSA0MjIuNjgzMSw0NzcuOTM0IDQyMi42ODMxLDQ3NiBDNDIyLjY4MzEsNDc0LjA2NyA0MjEuMTE3MSw0NzIuNSA0MTkuMTgzMSw0NzIuNSBNNDE5LjE4MzEsNDc1LjUgQzQxOS40NTgxLDQ3NS41IDQxOS42ODMxLDQ3NS43MjUgNDE5LjY4MzEsNDc2IEM0MTkuNjgzMSw0NzYuMjc2IDQxOS40NTgxLDQ3Ni41IDQxOS4xODMxLDQ3Ni41IEM0MTguOTA4MSw0NzYuNSA0MTguNjgzMSw0NzYuMjc2IDQxOC42ODMxLDQ3NiBDNDE4LjY4MzEsNDc1LjcyNSA0MTguOTA4MSw0NzUuNSA0MTkuMTgzMSw0NzUuNSIgaWQ9IkZpbGwtMTIxIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQyMy42NzA5LDQzMy44NjkyIEw0MjMuNzY5OSw0MzMuODY5MiBDNDI5Ljk0MzksNDMzLjgzMjIgNDM2LjIzMDksNDMwLjI4NDIgNDQyLjQ5MDksNDIzLjMxNTIgQzQ0MC42NzU5LDQyMy4zNDQyIDQyOC4wNzM2MzEsNDI1LjM2ODMzOSA0MjQuNjcxNjMxLDQyNS4zNjQzMzkgQzQxNy43OTI2MzEsNDI1LjM1ODMzOSA0MTcuNzI5OSw0MjMuMjcxMiA0MDQuNDgyOSw0MjMuMTU5MiBDNDEwLjk2NzksNDMwLjI2OTIgNDE3LjQxMzksNDMzLjg2OTIgNDIzLjY3MDksNDMzLjg2OTIgWiBNNDQ2LjcyMDksNDIyLjk4MjIgQzQ0Ni4yNTU4MDYsNDIzLjU1MjIzNyA0NDUuNzg5ODExLDQyNC4xMDQ4ODkgNDQ1LjMyMjk2Niw0MjQuNjQwMTI1IEM0MzguMjgwNjQ4LDQzMi43MTQxMiA0MzEuMDQ0ODI4LDQzNi44MjUxMjIgNDIzLjc4NzksNDM2Ljg2OTIwNiBMNDIzLjY2OTksNDM2Ljg2OTIwNiBDNDE2LjA5ODg0Niw0MzYuODcwMTYgNDA4LjQ2NDIwOSw0MzIuNDQxNTM0IDQwMC45NTcwNTcsNDIzLjcwMDk2OSBDNDAwLjY0Mzc3OCw0MjMuMzM2MjE5IDQwMC4zMzA3MjEsNDIyLjk2Mzk2IDQwMC4wMTc5LDQyMi41ODQyIEM0MDcuNzgxMDMzLDQyNC40MDE2MjYgNDE1Ljg2MzI2Nyw0MjUuMzI4MzM5IDQyNC4yNjQ2LDQyNS4zNjQzMzkgQzQzMS4wNTkyNjcsNDI1LjM5MzY3MiA0MzguNTQ0Nyw0MjQuNTk5NjI2IDQ0Ni43MjA5LDQyMi45ODIyIFoiIGlkPSJGaWxsLTEyMyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MjMuNjcwOSw0MzMuODY5MiBMNDIzLjc2OTksNDMzLjg2OTIgQzQyOS45NDM5LDQzMy44MzIyIDQzNi4yMzA5LDQzMC4yODQyIDQ0Mi40OTA5LDQyMy4zMTUyIEM0NDAuNjc1OSw0MjMuMzQ0MiA0MjcuMTcxOSw0MjUuMzY4MzM5IDQyMy43Njk5LDQyNS4zNjQzMzkgQzQxNi44OTA5LDQyNS4zNTgzMzkgNDE3LjcyOTksNDIzLjI3MTIgNDA0LjQ4MjksNDIzLjE1OTIgQzQxMC45Njc5LDQzMC4yNjkyIDQxNy40MTM5LDQzMy44NjkyIDQyMy42NzA5LDQzMy44NjkyIFoiIGlkPSJGaWxsLTEyNSIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MjQuMDEzMiwzMjMuMTIwMSBDNDY0Ljc4MDIsMzIzLjEyMDEgNDcxLjcyMjIsMzU5LjY3NDEgNDcxLjcyMjIsMzU5LjY3NDEgQzQ3MS43MjIyLDM1OS42NzQxIDQ4MS4xNjQyLDM2MC42MzIxIDQ4MS4wNzc3OTgsMzcyLjk5NTEgQzQ4MC45OTYxOSwzODQuMzg2MjY3IDQ3MS41NjQ4MjgsMzg3LjQxMjQ1NyA0NzEuMTE1NzYyLDM4Ny41NTAxMDQgTDQ3MS4wOTkyLDM4Ny41NTUxIEM0NzEuMDk5MiwzODcuNTU1MSA0NzEuMDk5MiwzOTUuMDcxNTk1IDQ2Ni41NTk1ODQsNDA1LjM1NzMzNCBDNDY1LjE5MjcyMyw0MDUuOTQ5OTU1IDQ2My44MjUwOTIsNDA2LjUwMTU1MiA0NjIuNDU3ODgsNDA3LjAxNjQ0OSBDNDY3Ljg4MDEsMzk2LjI5NTQ4MSA0NjguMDkxNzg4LDM4OC4wNzc0MjIgNDY4LjA5ODk2NywzODcuNTc4MTU2IEw0NjguMDk5MiwzODUuMzA2MSBMNDcwLjI1NzIsMzg0LjY3NTEgQzQ3MC4yNTYyLDM4NC42NzUxIDQ3Mi4yODQyLDM4NC4wMzQxIDQ3NC4yNDUyLDM4Mi4yNDUxIEM0NzYuNzYxMiwzNzkuOTUyMSA0NzguMDUwMiwzNzYuODMyMSA0NzguMDc3NzM0LDM3Mi45NzQxIEM0NzguMTQ1MiwzNjMuNDUxMSA0NzEuNjk1MiwzNjIuNjg2MSA0NzEuNDE5MiwzNjIuNjU4MSBMNDcxLjQxOTIsMzYyLjY1ODEgTDQ2OS4xOTMyLDM2Mi40MzMxIEw0NjguNzc1MiwzNjAuMjM0MSBDNDY4Ljc1OTIsMzYwLjE1MzEgNDY3LjAyMzIsMzUxLjQ4ODEgNDYwLjYxMDIsMzQzLjAwNDEgQzQ1Mi4xNDIyLDMzMS44MDExIDQzOS44MjgyLDMyNi4xMjAxIDQyNC4wMTMyLDMyNi4xMjAxIEM0MDguMjg3MiwzMjYuMTIwMSAzOTYuMDAyMiwzMzEuODAzMSAzODcuNDk3MiwzNDMuMDEwMSBDMzgxLjA1NDIsMzUxLjUwMDEgMzc5LjI2MzIsMzYwLjE3MTEgMzc5LjI0NTIsMzYwLjI1ODEgTDM3OS4yNDUyLDM2MC4yNTgxIEwzNzguODc1MiwzNjIuMTA2MSBMMzc3LjA0ODIsMzYyLjU4MDEgQzM3Ni4yMzMyLDM2Mi43OTkxIDM2OC45NTEyLDM2NC45ODYxIDM2OS4zMjEyLDM3Mi44NTQxIEMzNjkuNjczMiwzODAuMzYzMSAzNzcuMTQ4MiwzODQuOTM3MSAzNzcuMjI0MiwzODQuOTgyMSBMMzc3LjIyNDIsMzg0Ljk4MjEgTDM3OC4yNDkyLDM4NS41OTkxIEwzNzguNTcwMiwzODYuNzUyMSBDMzgwLjc4MzczNCwzOTQuNzI0NTMxIDM4My41MDk4ODcsNDAxLjU5MTM0NiAzODUuODE4NjM1LDQwNi42OTk0NSBDMzg0LjIwNDMxLDQwNi4xNTgwMiAzODIuODkzNTEsNDA1LjY3NjgyNSAzODEuOTIxODY2LDQwNS4zMDM2MDIgQzM3OS44NDg5MzUsNDAwLjQ1MTkwNSAzNzcuNTgyNTA0LDM5NC40MDkxMjkgMzc1LjY3OTIsMzg3LjU1NTEgQzM3NS42NzkyLDM4Ny41NTUxIDM2Ni43NTYyLDM4Mi4xOTUxIDM2Ni4zMjUyLDM3Mi45OTUxIEMzNjUuODI1MiwzNjIuMzU5MSAzNzYuMzAzMiwzNTkuNjc0MSAzNzYuMzAzMiwzNTkuNjc0MSBDMzc2LjMwMzIsMzU5LjY3NDEgMzgzLjQ3NTIsMzIzLjEyMDEgNDI0LjAxMzIsMzIzLjEyMDEgWiIgaWQ9IuW9oueKtue7k+WQiCIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzAuODgzMywzNDIuNSBMNDE3LjQ4MzMsMzQyLjUgQzQwMi43NDMzLDM0Mi41IDM5MC42ODMzLDM1Ni40NSAzOTAuNjgzMywzNzMuNSBDMzkwLjY4MzMsMzkwLjU1IDQwMi43NDMzLDQwNC41IDQxNy40ODMzLDQwNC41IEw0MzAuODgzMyw0MDQuNSBDNDQ1LjYyMjMsNDA0LjUgNDU3LjY4MzMsMzkwLjU1IDQ1Ny42ODMzLDM3My41IEM0NTcuNjgzMywzNTYuNDUgNDQ1LjYyMjMsMzQyLjUgNDMwLjg4MzMsMzQyLjUgTTQzMC44ODMzLDM0NS41IEM0NDQuMDA2MywzNDUuNSA0NTQuNjgzMywzNTguMDYxIDQ1NC42ODMzLDM3My41IEM0NTQuNjgzMywzODguOTM5IDQ0NC4wMDYzLDQwMS41IDQzMC44ODMzLDQwMS41IEw0MTcuNDgzMyw0MDEuNSBDNDA0LjM2MDMsNDAxLjUgMzkzLjY4MzMsMzg4LjkzOSAzOTMuNjgzMywzNzMuNSBDMzkzLjY4MzMsMzU4LjA2MSA0MDQuMzYwMywzNDUuNSA0MTcuNDgzMywzNDUuNSBMNDMwLjg4MzMsMzQ1LjUiIGlkPSJGaWxsLTEyOSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzAuODgzMywzNDUuNSBDNDQ0LjAwNjMsMzQ1LjUgNDU0LjY4MzMsMzU4LjA2MSA0NTQuNjgzMywzNzMuNSBDNDU0LjY4MzMsMzg4LjkzOSA0NDQuMDA2Myw0MDEuNSA0MzAuODgzMyw0MDEuNSBMNDE3LjQ4MzMsNDAxLjUgQzQwNC4zNjAzLDQwMS41IDM5My42ODMzLDM4OC45MzkgMzkzLjY4MzMsMzczLjUgQzM5My42ODMzLDM1OC4wNjEgNDA0LjM2MDMsMzQ1LjUgNDE3LjQ4MzMsMzQ1LjUgTDQzMC44ODMzLDM0NS41IiBpZD0iRmlsbC0xMzEiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDAwLjY4NDEsMzcxIEM0MDAuNTUxMSwzNzEgNDAwLjQxNjEsMzcwLjk4MiA0MDAuMjgzMSwzNzAuOTQ1IEMzOTkuNDg1MSwzNzAuNzI1IDM5OS4wMTYxLDM2OS44OTggMzk5LjIzODEsMzY5LjEgQzQwMy4xODkxLDM1NC44MiA0MTEuNTE2MSwzNDguOTQ0IDQyMy45OTgxLDM1MS42MiBDNDI0LjgwODEsMzUxLjc5NSA0MjUuMzI0MSwzNTIuNTkyIDQyNS4xNTAxLDM1My40MDIgQzQyNC45NzUxLDM1NC4yMTIgNDI0LjE3ODEsMzU0LjcyNiA0MjMuMzY4MSwzNTQuNTU0IEM0MTIuNTc3MSwzNTIuMjMzIDQwNS42MjcxLDM1Ny4yNTMgNDAyLjEyODEsMzY5LjkgQzQwMS45NDUxLDM3MC41NjQgNDAxLjM0MTEsMzcxIDQwMC42ODQxLDM3MSIgaWQ9IkZpbGwtMTMzIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTM4Ni4wMTYxLDQ2Mi4xNjUgTDM4Ni4wMTYxLDUwMy40MzggQzM4NS4xMjUxLDUwOC4xNDIgMzc5LjY1OTEsNTAzLjIzOCAzNjkuNjE2MSw0ODguNzI4IEMzNjQuOTcxMSw0ODEuNTUzIDM3MC40MzgxLDQ3Mi42OTggMzg2LjAxNjEsNDYyLjE2NSIgaWQ9IkZpbGwtMTM1IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ1OS4yNjcxLDQ2Mi4xNjUgTDQ1OS4yNjcxLDUwMy40MzggQzQ2MC4xNTgxLDUwOC4xNDIgNDY1LjYyMzEsNTAzLjIzOCA0NzUuNjY3MSw0ODguNzI4IEM0ODAuMzEyMSw0ODEuNTUzIDQ3NC44NDUxLDQ3Mi42OTggNDU5LjI2NzEsNDYyLjE2NSIgaWQ9IkZpbGwtMTM3IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTM4My4yMTQ0LDQ2MCBDMzcyLjkxMjQsNDYwIDM2NC45MDI0LDQ1NC43MDIgMzU5LjM1NzQsNDQ0LjIgQzM1OC45NzA0LDQ0My40NjggMzU5LjI1MDQsNDQyLjU2MSAzNTkuOTgzNCw0NDIuMTc0IEMzNjAuNzEzNCw0NDEuNzg3IDM2MS42MjI0LDQ0Mi4wNjYgMzYyLjAwOTQsNDQyLjggQzM2Ny43OTQ0LDQ1My43NTUgMzc2LjEyMjQsNDU4LjMwNSAzODcuNDcyNCw0NTYuNjg3IEMzODguMjg4NCw0NTYuNTcgMzg5LjA1MTQsNDU3LjE0MiAzODkuMTY4NCw0NTcuOTYyIEMzODkuMjg0NCw0NTguNzgyIDM4OC43MTQ0LDQ1OS41NDIgMzg3Ljg5NDQsNDU5LjY1OCBDMzg2LjI4NTQsNDU5Ljg4NiAzODQuNzI0NCw0NjAgMzgzLjIxNDQsNDYwIiBpZD0iRmlsbC0xMzkiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzY5LjAxMjIsNDYzLjk4NDQgQzM2NC4xOTIyLDQ2My45ODQ0IDM1OS44NDkyLDQ2My4wMjU0IDM1Ni4wMTEyLDQ2MS4xMDQ0IEMzNTUuMjcxMiw0NjAuNzMzNCAzNTQuOTcxMiw0NTkuODMyNCAzNTUuMzQxMiw0NTkuMDkwNCBDMzU1LjcxNDIsNDU4LjM1MTQgMzU2LjYxNDIsNDU4LjA1MjQgMzU3LjM1NTIsNDU4LjQyMTQgQzM2NC45NzQyLDQ2Mi4yMzU0IDM3NC45OTgyLDQ2MS43OTM0IDM4Ny4xNDIyLDQ1Ny4xMDA0IEMzODcuOTE0Miw0NTYuODA0NCAzODguNzgzMiw0NTcuMTg2NCAzODkuMDgyMiw0NTcuOTU5NCBDMzg5LjM4MTIsNDU4LjczMjQgMzg4Ljk5NjIsNDU5LjYwMDQgMzg4LjIyNDIsNDU5Ljg5OTQgQzM4MS4xNzUyLDQ2Mi42MjI0IDM3NC43NTUyLDQ2My45ODQ0IDM2OS4wMTIyLDQ2My45ODQ0IiBpZD0iRmlsbC0xNDEiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzYxLjY4MTIsNDc1IEMzNjAuOTcwMiw0NzUgMzYwLjMzOTIsNDc0LjQ5MyAzNjAuMjA3Miw0NzMuNzY5IEMzNjAuMDU5Miw0NzIuOTU0IDM2MC41OTkyLDQ3Mi4xNzMgMzYxLjQxNDIsNDcyLjAyNCBDMzcxLjM0ODIsNDcwLjIxNCAzNzkuODA0Miw0NjUuMzM0IDM4Ni41NDcyLDQ1Ny41MiBDMzg3LjA4OTIsNDU2Ljg5NiAzODguMDM1Miw0NTYuODI0IDM4OC42NjMyLDQ1Ny4zNjQgQzM4OS4yOTAyLDQ1Ny45MDUgMzg5LjM2MDIsNDU4Ljg1MyAzODguODE5Miw0NTkuNDggQzM4MS42MTYyLDQ2Ny44MjYgMzcyLjU3NzIsNDczLjA0IDM2MS45NTIyLDQ3NC45NzYgQzM2MS44NjEyLDQ3NC45OTIgMzYxLjc3MTIsNDc1IDM2MS42ODEyLDQ3NSIgaWQ9IkZpbGwtMTQzIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ2Mi42NDUsNDU5Ljg4MDkgQzQ2MS4xNDcsNDU5Ljg4MDkgNDU5LjYwMSw0NTkuNzY3OSA0NTguMDA2LDQ1OS41NDA5IEM0NTcuMTg2LDQ1OS40MjM5IDQ1Ni42MTYsNDU4LjY2NDkgNDU2LjczMiw0NTcuODQ0OSBDNDU2Ljg0OCw0NTcuMDI0OSA0NTcuNjA5LDQ1Ni40NTY5IDQ1OC40MjgsNDU2LjU2OTkgQzQ2OS42NjYsNDU4LjE2NDkgNDc3LjkxLDQ1My42NjM5IDQ4My42MzYsNDQyLjgwMDkgQzQ4NC4wMjUsNDQyLjA2NjkgNDg0LjkzMyw0NDEuNzg4OSA0ODUuNjYzLDQ0Mi4xNzI5IEM0ODYuMzk2LDQ0Mi41NTk5IDQ4Ni42NzYsNDQzLjQ2NjkgNDg2LjI5MSw0NDQuMTk4OSBDNDgwLjc5NCw0NTQuNjIxOSA0NzIuODUzLDQ1OS44ODA5IDQ2Mi42NDUsNDU5Ljg4MDkiIGlkPSJGaWxsLTE0NSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00NzYuNTU3MSw0NjMuNzk1OSBDNDcwLjkwNzEsNDYzLjc5NTkgNDY0LjU5MDEsNDYyLjQ1NTkgNDU3LjY1NzEsNDU5Ljc3ODkgQzQ1Ni44ODMxLDQ1OS40ODA5IDQ1Ni40OTkxLDQ1OC42MTE5IDQ1Ni43OTcxLDQ1Ny44Mzk5IEM0NTcuMDk1MSw0NTcuMDY2OSA0NTcuOTYzMSw0NTYuNjgzOSA0NTguNzM3MSw0NTYuOTgwOSBDNDcwLjY3NTEsNDYxLjU4OTkgNDgwLjUyNDEsNDYyLjAyNTkgNDg4LjAxMjEsNDU4LjI3NzkgQzQ4OC43NTAxLDQ1Ny45MDk5IDQ4OS42NTUxLDQ1OC4yMDg5IDQ5MC4wMjUxLDQ1OC45NDg5IEM0OTAuMzk1MSw0NTkuNjg5OSA0OTAuMDk1MSw0NjAuNTkwOSA0ODkuMzU0MSw0NjAuOTYxOSBDNDg1LjU3NzEsNDYyLjg1MTkgNDgxLjMwMTEsNDYzLjc5NTkgNDc2LjU1NzEsNDYzLjc5NTkiIGlkPSJGaWxsLTE0NyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00ODMuNzI1MSw0NzUuMzIwMyBDNDgzLjYzMTEsNDc1LjMyMDMgNDgzLjUzNzEsNDc1LjMxMTMgNDgzLjQ0MjEsNDc1LjI5NDMgQzQ3Mi45ODExLDQ3My4yOTgzIDQ2NC4wODQxLDQ2Ny45MjczIDQ1Ny4wMDAxLDQ1OS4zMzQzIEM0NTYuNDczMSw0NTguNjk0MyA0NTYuNTY0MSw0NTcuNzQ5MyA0NTcuMjA0MSw0NTcuMjIyMyBDNDU3Ljg0MzEsNDU2LjY5NTMgNDU4Ljc4ODEsNDU2Ljc4ODMgNDU5LjMxNTEsNDU3LjQyNTMgQzQ2NS45NDMxLDQ2NS40NjYzIDQ3NC4yNDkxLDQ3MC40ODUzIDQ4NC4wMDQxLDQ3Mi4zNDYzIEM0ODQuODE4MSw0NzIuNTAyMyA0ODUuMzUyMSw0NzMuMjg4MyA0ODUuMTk3MSw0NzQuMTAxMyBDNDg1LjA1OTEsNDc0LjgyMDMgNDg0LjQzMDEsNDc1LjMyMDMgNDgzLjcyNTEsNDc1LjMyMDMiIGlkPSJGaWxsLTE0OSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzkuOTMzMSw0MDQuNSBDMzc5LjkzMzEsNDA0LjUgNDI1LjE1ODEsNDI0LjQ2MyA0NjguNTk2MSw0MDQuNDUxIEw0NjAuMzI1MSw0MTkuMTg5IEM0NjAuMzI1MSw0MTkuMTg5IDQyNi41NzIxLDQzMy40NDkgMzg2LjA4NDEsNDE4LjYzIEwzNzkuOTMzMSw0MDQuNSBaIiBpZD0iRmlsbC0xNTEiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDcxLjA5OTEsMzg3LjU1NDcgQzQ3MS4wOTkxLDM4Ny41NTQ3IDQ3MS4wOTgxLDM5My43MDY3IDQ2Ny43MzcxLDQwMi40OTQ3IEM0MjkuNzM4MSw0MjEuMzc0NyAzODcuODY2MSw0MDUuNjc5NyAzODAuODg2MSw0MDIuODEwNyBDMzc5LjExMzEsMzk4LjQzNzcgMzc3LjI2OTEsMzkzLjI4MTcgMzc1LjY3OTEsMzg3LjU1NDcgQzM3NS42NzkxLDM4Ny41NTQ3IDM2Ni43NTYxLDM4Mi4xOTU3IDM2Ni4zMjUxLDM3Mi45OTQ3IEMzNjUuODI2MSwzNjIuMzU5NyAzNzYuMzAzMSwzNTkuNjczNyAzNzYuMzAzMSwzNTkuNjczNyBDMzc2LjMwMzEsMzU5LjY3MzcgMzgzLjQ3NTEsMzIzLjExOTcgNDI0LjAxMzEsMzIzLjExOTcgQzQ2NC43ODAxLDMyMy4xMTk3IDQ3MS43MjIxLDM1OS42NzM3IDQ3MS43MjIxLDM1OS42NzM3IEM0NzEuNzIyMSwzNTkuNjczNyA0ODEuMTY0MSwzNjAuNjMxNyA0ODEuMDc4Njg0LDM3Mi45OTQ3IEM0ODAuOTk1MSwzODQuNjYzNyA0NzEuMDk5MSwzODcuNTU0NyA0NzEuMDk5MSwzODcuNTU0NyBNNDU5LjI0OTEsNDE3LjkxMjcgQzQ1OS4yNDkxLDQxNy45MTI3IDQ0NS42NjUxLDQyMy45NzA3IDQyNC42MDExLDQyMy45NzA3IEM0MTQuMDY4MSw0MjMuOTcwNyA0MDEuNjY2MSw0MjIuNDU2NyAzODguMTUyMSw0MTcuOTEyNyBDMzg4LjE1MjEsNDE3LjkxMjcgMzg1LjYxNzEsNDEzLjcwOTcgMzgyLjUxMzEsNDA2LjY1ODcgQzM4OS44MTQxLDQwOS4zNTk3IDQwNi42NTQxLDQxNC42NDE3IDQyNi42NDAxLDQxNC42NDE3IEM0MzkuMDQ4MSw0MTQuNjQxNyA0NTIuNjczMSw0MTIuNTk0NyA0NjUuOTc0MSw0MDYuNjM4NyBDNDY0LjMyMjEsNDEwLjE2NjcgNDYyLjE0MDEsNDEzLjk4MzcgNDU5LjI0OTEsNDE3LjkxMjcgTTQ3NC4xOTgxLDM1Ny4xNTY3IEM0NzMuMjg1MSwzNTMuODIwNyA0NzAuODg0MSwzNDYuNzI1NyA0NjUuNTU4MSwzMzkuNjAwNyBDNDU4LjkxNDEsMzMwLjcxMzcgNDQ2LjMxNDEsMzIwLjExOTcgNDI0LjAxMzEsMzIwLjExOTcgQzQwMS44MzMxLDMyMC4xMTk3IDM4OS4yMjcxLDMzMC43MTA3IDM4Mi41NTcxLDMzOS41OTU3IEMzNzcuMDkzMSwzNDYuODczNyAzNzQuNjY3MSwzNTQuMTE4NyAzNzMuNzgzMSwzNTcuMzU1NyBDMzY5LjIyNjEsMzU5LjE4MDcgMzYyLjkwMjEsMzY0LjA1NDcgMzYzLjMyODEsMzczLjEzNTcgQzM2My43MzgxLDM4MS44ODY3IDM3MC40NDgxLDM4Ny41MzM3IDM3My4wOTAxLDM4OS40Mjc3IEMzNzguMTIxMSw0MDYuOTk4NyAzODUuMjc3MSw0MTguOTUzNyAzODUuNTg0MSw0MTkuNDYzNyBMMzg2LjE1NDEsNDIwLjQwNjcgTDM4Ny4xOTcxLDQyMC43NTY3IEMzOTkuNDYwMSw0MjQuODgwNyA0MTIuMDQ0MSw0MjYuOTcwNyA0MjQuNjAxMSw0MjYuOTcwNyBDNDQ2LjA1NzEsNDI2Ljk3MDcgNDU5Ljg5MjEsNDIwLjkxMDcgNDYwLjQ3MTEsNDIwLjY1MzcgTDQ2MS4xOTYxLDQyMC4zMjk3IEw0NjEuNjY1MSw0MTkuNjkwNyBDNDcxLjQyNjEsNDA2LjQyMTcgNDczLjUyNTEsMzk0LjM1NTcgNDczLjk3NjEsMzg5LjYzNjcgQzQ3OC4yNTExLDM4Ny41NjY3IDQ4NC4wMTExLDM4Mi40MDA3IDQ4NC4wNzg3NjIsMzczLjAxNjcgQzQ4NC4xNDkxLDM2Mi45MjE3IDQ3OC40OTAxLDM1OC41MzA3IDQ3NC4xOTgxLDM1Ny4xNTY3IiBpZD0iRmlsbC0xNTMiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==)}.layui-exception .layui-exception-image .error-403{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjgzMXB4IiBoZWlnaHQ9IjgyMXB4IiB2aWV3Qm94PSIwIDAgODMxIDgyMSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8dGl0bGU+NDAzPC90aXRsZT4NCiAgICA8ZyBpZD0i5qGG5p626K6+6K6hLei/h+eoi+eJiCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLnvLrnnIHlm74iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMzQwLjAwMDAwMCwgLTM5NTAuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0iNDAzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjgzLjAwMDAwMCwgMzkxMS4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1Ny4wMDAwMDAsIDM5LjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDI0LjYsMjU0LjA2NDUgQzQyNC41ODUsMjU0LjA2NDUgNDI0LjU3MSwyNTQuMDY0NSA0MjQuNTU2LDI1NC4wNjM1IEM0MjIuNTg0LDI1NC4wMDg1IDQyMC41ODksMjUzLjk4NTUgNDE4LjYxNiwyNTQuMDA2NSBMNDE4LjYsMjU0LjAwNjUgQzQxNy43NzksMjU0LjAwNjUgNDE3LjEwOSwyNTMuMzQ1NSA0MTcuMSwyNTIuNTIyNSBDNDE3LjA5MSwyNTEuNjkzNSA0MTcuNzU2LDI1MS4wMTU1IDQxOC41ODQsMjUxLjAwNjUgQzQyMC42MDUsMjUwLjk4NTUgNDIyLjYzLDI1MS4wMDc1IDQyNC42NDIsMjUxLjA2NTUgQzQyNS40NywyNTEuMDg4NSA0MjYuMTIxLDI1MS43Nzk1IDQyNi4wOTgsMjUyLjYwNzUgQzQyNi4wNzYsMjUzLjQyMDUgNDI1LjQwOSwyNTQuMDY0NSA0MjQuNiwyNTQuMDY0NSBMNDI0LjYsMjU0LjA2NDUgWiBNNDA2LjYxOCwyNTQuNTYxNSBDNDA1Ljg0NiwyNTQuNTYxNSA0MDUuMTkxLDI1My45Njk1IDQwNS4xMjQsMjUzLjE4NzUgQzQwNS4wNTUsMjUyLjM2MjUgNDA1LjY2OCwyNTEuNjM2NSA0MDYuNDk0LDI1MS41NjY1IEM0MDguNDg3LDI1MS4zOTk1IDQxMC41MiwyNTEuMjY2NSA0MTIuNTM1LDI1MS4xNzM1IEM0MTMuMzM4LDI1MS4xMjY1IDQxNC4wNjQsMjUxLjc3NTUgNDE0LjEwMiwyNTIuNjAyNSBDNDE0LjE0MSwyNTMuNDI5NSA0MTMuNSwyNTQuMTMxNSA0MTIuNjczLDI1NC4xNjk1IEM0MTAuNjk2LDI1NC4yNjE1IDQwOC43MDIsMjU0LjM5MTUgNDA2Ljc0NiwyNTQuNTU2NSBDNDA2LjcwMywyNTQuNTU5NSA0MDYuNjYsMjU0LjU2MTUgNDA2LjYxOCwyNTQuNTYxNSBMNDA2LjYxOCwyNTQuNTYxNSBaIE00MzYuNTY4LDI1NC44NTM1IEM0MzYuNTE2LDI1NC44NTM1IDQzNi40NjMsMjU0Ljg1MDUgNDM2LjQxMSwyNTQuODQ1NSBDNDM0LjQ2NiwyNTQuNjQzNSA0MzIuNDc0LDI1NC40NzM1IDQzMC40OTEsMjU0LjM0MjUgQzQyOS42NjQsMjU0LjI4NzUgNDI5LjAzOCwyNTMuNTczNSA0MjkuMDkzLDI1Mi43NDY1IEM0MjkuMTQ4LDI1MS45MTk1IDQyOS44NjYsMjUxLjI5MzUgNDMwLjY5LDI1MS4zNDg1IEM0MzIuNzEsMjUxLjQ4MzUgNDM0Ljc0LDI1MS42NTU1IDQzNi43MjEsMjUxLjg2MTUgQzQzNy41NDUsMjUxLjk0NzUgNDM4LjE0NCwyNTIuNjg0NSA0MzguMDU4LDI1My41MDg1IEM0MzcuOTc4LDI1NC4yODA1IDQzNy4zMjcsMjU0Ljg1MzUgNDM2LjU2OCwyNTQuODUzNSBMNDM2LjU2OCwyNTQuODUzNSBaIE0zOTQuNzEzLDI1Ni4wMTg1IEMzOTMuOTkxLDI1Ni4wMTg1IDM5My4zNTMsMjU1LjQ5NDUgMzkzLjIzNSwyNTQuNzU3NSBDMzkzLjEwMywyNTMuOTM5NSAzOTMuNjU5LDI1My4xNjk1IDM5NC40NzYsMjUzLjAzODUgQzM5Ni40NTQsMjUyLjcxODUgMzk4LjQ3MSwyNTIuNDMzNSA0MDAuNDcyLDI1Mi4xODg1IEM0MDEuMjk2LDI1Mi4wOTU1IDQwMi4wNDIsMjUyLjY3MzUgNDAyLjE0MywyNTMuNDk2NSBDNDAyLjI0NCwyNTQuMzE4NSA0MDEuNjU4LDI1NS4wNjY1IDQwMC44MzUsMjU1LjE2NzUgQzM5OC44NzIsMjU1LjQwNjUgMzk2Ljg5NCwyNTUuNjg2NSAzOTQuOTU0LDI1NS45OTk1IEMzOTQuODczLDI1Ni4wMTI1IDM5NC43OTIsMjU2LjAxODUgMzk0LjcxMywyNTYuMDE4NSBMMzk0LjcxMywyNTYuMDE4NSBaIE00NDguNDQyLDI1Ni41NDU1IEM0NDguMzUzLDI1Ni41NDU1IDQ0OC4yNjMsMjU2LjUzODUgNDQ4LjE3MiwyNTYuNTIxNSBDNDQ2LjIzOSwyNTYuMTcwNSA0NDQuMjY2LDI1NS44NTI1IDQ0Mi4zMDcsMjU1LjU3MzUgQzQ0MS40ODcsMjU1LjQ1NjUgNDQwLjkxNywyNTQuNjk2NSA0NDEuMDM0LDI1My44NzY1IEM0NDEuMTUyLDI1My4wNTY1IDQ0MS45MDMsMjUyLjQ4OTUgNDQyLjczMSwyNTIuNjAyNSBDNDQ0LjcyNiwyNTIuODg3NSA0NDYuNzM3LDI1My4yMTI1IDQ0OC43MDcsMjUzLjU3MDUgQzQ0OS41MjMsMjUzLjcxNzUgNDUwLjA2NCwyNTQuNDk4NSA0NDkuOTE1LDI1NS4zMTM1IEM0NDkuNzg1LDI1Ni4wMzg1IDQ0OS4xNTMsMjU2LjU0NTUgNDQ4LjQ0MiwyNTYuNTQ1NSBMNDQ4LjQ0MiwyNTYuNTQ1NSBaIE0zODIuOTU0LDI1OC4zNzY1IEMzODIuMjc3LDI1OC4zNzY1IDM4MS42NjIsMjU3LjkxNTUgMzgxLjQ5NywyNTcuMjI3NSBDMzgxLjMwMywyNTYuNDIxNSAzODEuNzk5LDI1NS42MTI1IDM4Mi42MDUsMjU1LjQxODUgQzM4NC41NTUsMjU0Ljk0OTUgMzg2LjU0NCwyNTQuNTEwNSAzODguNTE3LDI1NC4xMTU1IEMzODkuMzI1LDI1My45NTc1IDM5MC4xMjEsMjU0LjQ3NzUgMzkwLjI4MywyNTUuMjkxNSBDMzkwLjQ0NiwyNTYuMTAyNSAzODkuOTE5LDI1Ni44OTM1IDM4OS4xMDcsMjU3LjA1NjUgQzM4Ny4xNzEsMjU3LjQ0NTUgMzg1LjIxOSwyNTcuODc1NSAzODMuMzA2LDI1OC4zMzU1IEMzODMuMTg4LDI1OC4zNjM1IDM4My4wNzEsMjU4LjM3NjUgMzgyLjk1NCwyNTguMzc2NSBMMzgyLjk1NCwyNTguMzc2NSBaIE00NjAuMTUyLDI1OS4xMzU1IEM0NjAuMDI2LDI1OS4xMzU1IDQ1OS44OTksMjU5LjEyMDUgNDU5Ljc3MSwyNTkuMDg2NSBDNDU3Ljg1MywyNTguNTg1NSA0NTUuOTExLDI1OC4xMTY1IDQ1My45OTYsMjU3LjY5MzUgQzQ1My4xODgsMjU3LjUxNDUgNDUyLjY3NywyNTYuNzEzNSA0NTIuODU2LDI1NS45MDQ1IEM0NTMuMDM2LDI1NS4wOTc1IDQ1My44MjksMjU0LjU5MTUgNDU0LjY0NSwyNTQuNzYzNSBDNDU2LjU5NSwyNTUuMTk1NSA0NTguNTc2LDI1NS42NzI1IDQ2MC41MzEsMjU2LjE4NDUgQzQ2MS4zMzEsMjU2LjM5NDUgNDYxLjgxMiwyNTcuMjEzNSA0NjEuNjAyLDI1OC4wMTU1IEM0NjEuNDI1LDI1OC42ODk1IDQ2MC44MTgsMjU5LjEzNTUgNDYwLjE1MiwyNTkuMTM1NSBMNDYwLjE1MiwyNTkuMTM1NSBaIE0zNzEuNDEsMjYxLjYyNjUgQzM3MC43NzYsMjYxLjYyNjUgMzcwLjE4OCwyNjEuMjIzNSAzNjkuOTgzLDI2MC41ODg1IEMzNjkuNzI3LDI1OS44MDA1IDM3MC4xNiwyNTguOTU1NSAzNzAuOTQ4LDI1OC43MDA1IEMzNzIuODQ2LDI1OC4wODU1IDM3NC43OTYsMjU3LjQ5NjUgMzc2Ljc0NSwyNTYuOTQ3NSBDMzc3LjU0MSwyNTYuNzI0NSAzNzguMzcxLDI1Ny4xODc1IDM3OC41OTUsMjU3Ljk4NTUgQzM3OC44MTksMjU4Ljc4MjUgMzc4LjM1NSwyNTkuNjExNSAzNzcuNTU3LDI1OS44MzU1IEMzNzUuNjQ2LDI2MC4zNzQ1IDM3My43MzMsMjYwLjk1MjUgMzcxLjg3MSwyNjEuNTUzNSBDMzcxLjcxOCwyNjEuNjAzNSAzNzEuNTYyLDI2MS42MjY1IDM3MS40MSwyNjEuNjI2NSBMMzcxLjQxLDI2MS42MjY1IFogTTQ3MS42MjgsMjYyLjYxMjUgQzQ3MS40NjYsMjYyLjYxMjUgNDcxLjMwMSwyNjIuNTg1NSA0NzEuMTM4LDI2Mi41MzA1IEM0NjkuMjc1LDI2MS44ODY1IDQ2Ny4zNzMsMjYxLjI3MDUgNDY1LjQ4OCwyNjAuNzAwNSBDNDY0LjY5NSwyNjAuNDYwNSA0NjQuMjQ2LDI1OS42MjM1IDQ2NC40ODcsMjU4LjgzMDUgQzQ2NC43MjYsMjU4LjAzODUgNDY1LjU2MywyNTcuNTkwNSA0NjYuMzU3LDI1Ny44Mjk1IEM0NjguMjc5LDI1OC40MTA1IDQ3MC4yMTcsMjU5LjAzODUgNDcyLjExOSwyNTkuNjk0NSBDNDcyLjkwMSwyNTkuOTY0NSA0NzMuMzE3LDI2MC44MTk1IDQ3My4wNDYsMjYxLjYwMTUgQzQ3Mi44MzEsMjYyLjIyMjUgNDcyLjI1LDI2Mi42MTI1IDQ3MS42MjgsMjYyLjYxMjUgTDQ3MS42MjgsMjYyLjYxMjUgWiBNMzYwLjExOCwyNjUuNzU5NSBDMzU5LjUyNywyNjUuNzU5NSAzNTguOTY2LDI2NS40MDk1IDM1OC43MjksMjY0LjgyOTUgQzM1OC40MTQsMjY0LjA2MjUgMzU4Ljc4MSwyNjMuMTg2NSAzNTkuNTQ3LDI2Mi44NzI1IEMzNjEuNDE2LDI2Mi4xMDU1IDM2My4zMjEsMjYxLjM2NzUgMzY1LjIwNiwyNjAuNjc2NSBDMzY1Ljk4NSwyNjAuMzg5NSAzNjYuODQ1LDI2MC43OTI1IDM2Ny4xMywyNjEuNTY5NSBDMzY3LjQxNSwyNjIuMzQ3NSAzNjcuMDE2LDI2My4yMDk1IDM2Ni4yMzgsMjYzLjQ5MzUgQzM2NC4zODcsMjY0LjE3MDUgMzYyLjUxOSwyNjQuODk1NSAzNjAuNjg2LDI2NS42NDc1IEMzNjAuNDk5LDI2NS43MjM1IDM2MC4zMDcsMjY1Ljc1OTUgMzYwLjExOCwyNjUuNzU5NSBMMzYwLjExOCwyNjUuNzU5NSBaIE00ODIuNzkxLDI2Ni45NTE1IEM0ODIuNTkyLDI2Ni45NTE1IDQ4Mi4zOSwyNjYuOTEyNSA0ODIuMTk2LDI2Ni44Mjc1IEM0ODAuMzk0LDI2Ni4wNDY1IDQ3OC41NSwyNjUuMjkwNSA0NzYuNzE2LDI2NC41Nzc1IEM0NzUuOTQ1LDI2NC4yNzY1IDQ3NS41NjIsMjYzLjQwNzUgNDc1Ljg2MiwyNjIuNjM0NSBDNDc2LjE2MywyNjEuODYzNSA0NzcuMDMxLDI2MS40Nzg1IDQ3Ny44MDQsMjYxLjc4MDUgQzQ3OS42NzMsMjYyLjUwNzUgNDgxLjU1MiwyNjMuMjc5NSA0ODMuMzg4LDI2NC4wNzU1IEM0ODQuMTQ5LDI2NC40MDQ1IDQ4NC40OTgsMjY1LjI4NzUgNDg0LjE2OCwyNjYuMDQ3NSBDNDgzLjkyMywyNjYuNjEzNSA0ODMuMzcxLDI2Ni45NTE1IDQ4Mi43OTEsMjY2Ljk1MTUgTDQ4Mi43OTEsMjY2Ljk1MTUgWiBNMzQ5LjE3OSwyNzAuNzQ0NSBDMzQ4LjYzLDI3MC43NDQ1IDM0OC4xMDIsMjcwLjQ0MjUgMzQ3LjgzOCwyNjkuOTE4NSBDMzQ3LjQ2NiwyNjkuMTc3NSAzNDcuNzY0LDI2OC4yNzY1IDM0OC41MDQsMjY3LjkwNDUgQzM1MC4yOTQsMjY3LjAwMzUgMzUyLjEzNSwyNjYuMTIyNSAzNTMuOTc2LDI2NS4yODI1IEMzNTQuNzMsMjY0Ljk0MTUgMzU1LjYyLDI2NS4yNzE1IDM1NS45NjMsMjY2LjAyNTUgQzM1Ni4zMDYsMjY2Ljc3OTUgMzU1Ljk3NCwyNjcuNjY4NSAzNTUuMjIsMjY4LjAxMjUgQzM1My40MTQsMjY4LjgzNTUgMzUxLjYwOCwyNjkuNzAxNSAzNDkuODUyLDI3MC41ODQ1IEMzNDkuNjM2LDI3MC42OTM1IDM0OS40MDYsMjcwLjc0NDUgMzQ5LjE3OSwyNzAuNzQ0NSBMMzQ5LjE3OSwyNzAuNzQ0NSBaIE00OTMuNTgzLDI3Mi4xMjM1IEM0OTMuMzQ3LDI3Mi4xMjM1IDQ5My4xMDgsMjcyLjA2NzUgNDkyLjg4NSwyNzEuOTUwNSBDNDkxLjEzOCwyNzEuMDI5NSA0ODkuMzU2LDI3MC4xMzM1IDQ4Ny41ODksMjY5LjI4NzUgQzQ4Ni44NDIsMjY4LjkyOTUgNDg2LjUyNiwyNjguMDM0NSA0ODYuODg0LDI2Ny4yODc1IEM0ODcuMjQzLDI2Ni41Mzk1IDQ4OC4xMzksMjY2LjIyMjUgNDg4Ljg4NCwyNjYuNTgyNSBDNDkwLjY4NiwyNjcuNDQ0NSA0OTIuNTAyLDI2OC4zNTc1IDQ5NC4yODQsMjY5LjI5NTUgQzQ5NS4wMTYsMjY5LjY4MjUgNDk1LjI5NywyNzAuNTg4NSA0OTQuOTEyLDI3MS4zMjI1IEM0OTQuNjQzLDI3MS44MzI1IDQ5NC4xMjEsMjcyLjEyMzUgNDkzLjU4MywyNzIuMTIzNSBMNDkzLjU4MywyNzIuMTIzNSBaIE0zMzguNjYxLDI3Ni41NDM1IEMzMzguMTUzLDI3Ni41NDM1IDMzNy42NTcsMjc2LjI4NTUgMzM3LjM3NCwyNzUuODE4NSBDMzM2Ljk0OCwyNzUuMTA4NSAzMzcuMTc2LDI3NC4xODY1IDMzNy44ODUsMjczLjc1ODUgQzMzOS41OTYsMjcyLjcyODUgMzQxLjM2NCwyNzEuNzA5NSAzNDMuMTM4LDI3MC43MzA1IEMzNDMuODYzLDI3MC4zMjk1IDM0NC43NzYsMjcwLjU5MzUgMzQ1LjE3NiwyNzEuMzE5NSBDMzQ1LjU3NywyNzIuMDQ0NSAzNDUuMzEzLDI3Mi45NTc1IDM0NC41ODcsMjczLjM1NzUgQzM0Mi44NDYsMjc0LjMxNzUgMzQxLjExMiwyNzUuMzE3NSAzMzkuNDM0LDI3Ni4zMjk1IEMzMzkuMTkyLDI3Ni40NzQ1IDMzOC45MjQsMjc2LjU0MzUgMzM4LjY2MSwyNzYuNTQzNSBMMzM4LjY2MSwyNzYuNTQzNSBaIE0zMjguNjE1LDI4My4xMjQ1IEMzMjguMTQ2LDI4My4xMjQ1IDMyNy42ODMsMjgyLjkwNDUgMzI3LjM5MSwyODIuNDkzNSBDMzI2LjkxMiwyODEuODE3NSAzMjcuMDcsMjgwLjg4MDUgMzI3Ljc0NSwyODAuNDAxNSBDMzI5LjM5LDI3OS4yMzI1IDMzMS4wNzUsMjc4LjA4MjUgMzMyLjc1LDI3Ni45ODQ1IEMzMzMuNDQ1LDI3Ni41MzI1IDMzNC4zNzMsMjc2LjcyNDUgMzM0LjgyOCwyNzcuNDE3NSBDMzM1LjI4MiwyNzguMTEwNSAzMzUuMDg3LDI3OS4wNDA1IDMzNC4zOTUsMjc5LjQ5NDUgQzMzMi43NDksMjgwLjU3MTUgMzMxLjA5NywyODEuNjk5NSAzMjkuNDgzLDI4Mi44NDY1IEMzMjkuMjE5LDI4My4wMzQ1IDMyOC45MTUsMjgzLjEyNDUgMzI4LjYxNSwyODMuMTI0NSBMMzI4LjYxNSwyODMuMTI0NSBaIE0zMTkuMTAyLDI5MC40NDE1IEMzMTguNjcxLDI5MC40NDE1IDMxOC4yNDQsMjkwLjI1NjUgMzE3Ljk0NywyODkuODk5NSBDMzE3LjQxNywyODkuMjYyNSAzMTcuNTA1LDI4OC4zMTY1IDMxOC4xNDMsMjg3Ljc4NzUgQzMxOS42OTUsMjg2LjQ5OTUgMzIxLjI4NiwyODUuMjI2NSAzMjIuODcyLDI4NC4wMDQ1IEMzMjMuNTI4LDI4My41MDA1IDMyNC40NzIsMjgzLjYyMjUgMzI0Ljk3NiwyODQuMjc4NSBDMzI1LjQ4MiwyODQuOTM0NSAzMjUuMzU5LDI4NS44NzY1IDMyNC43MDMsMjg2LjM4MTUgQzMyMy4xNDUsMjg3LjU4MTUgMzIxLjU4MiwyODguODMwNSAzMjAuMDU5LDI5MC4wOTU1IEMzMTkuNzc5LDI5MC4zMjg1IDMxOS40NCwyOTAuNDQxNSAzMTkuMTAyLDI5MC40NDE1IEwzMTkuMTAyLDI5MC40NDE1IFogTTUyMy4yMTcsMjkyLjMzNTUgQzUyMi44NzEsMjkyLjMzNTUgNTIyLjUyMiwyOTIuMjE0NSA1MjIuMjM4LDI5MS45NzA1IEM1MjAuNzM3LDI5MC42NzQ1IDUxOS4yMDEsMjg5LjM5ODUgNTE3LjY3LDI4OC4xNzY1IEM1MTcuMDI0LDI4Ny42NjA1IDUxNi45MTcsMjg2LjcxNTUgNTE3LjQzNSwyODYuMDY4NSBDNTE3Ljk1MiwyODUuNDIyNSA1MTguODkzLDI4NS4zMTU1IDUxOS41NDMsMjg1LjgzMzUgQzUyMS4xMDIsMjg3LjA3ODUgNTIyLjY2OCwyODguMzc4NSA1MjQuMTk5LDI4OS42OTk1IEM1MjQuODI2LDI5MC4yNDE1IDUyNC44OTUsMjkxLjE4NzUgNTI0LjM1NCwyOTEuODE1NSBDNTI0LjA1NywyOTIuMTU5NSA1MjMuNjM4LDI5Mi4zMzU1IDUyMy4yMTcsMjkyLjMzNTUgTDUyMy4yMTcsMjkyLjMzNTUgWiBNMzEwLjE3MSwyOTguNDU0NSBDMzA5Ljc4LDI5OC40NTQ1IDMwOS4zODcsMjk4LjMwMDUgMzA5LjA5MywyOTcuOTk3NSBDMzA4LjUxNywyOTcuNDAxNSAzMDguNTMzLDI5Ni40NTI1IDMwOS4xMjgsMjk1Ljg3NjUgQzMxMC41NzMsMjk0LjQ3ODUgMzEyLjA2MywyOTMuMDg5NSAzMTMuNTU4LDI5MS43NDg1IEMzMTQuMTczLDI5MS4xOTY1IDMxNS4xMjIsMjkxLjI0NTUgMzE1LjY3NiwyOTEuODYyNSBDMzE2LjIzLDI5Mi40Nzg1IDMxNi4xNzgsMjkzLjQyNjUgMzE1LjU2MiwyOTMuOTgwNSBDMzE0LjA5NCwyOTUuMjk3NSAzMTIuNjMxLDI5Ni42NjE1IDMxMS4yMTQsMjk4LjAzMjUgQzMxMC45MjMsMjk4LjMxMzUgMzEwLjU0NywyOTguNDU0NSAzMTAuMTcxLDI5OC40NTQ1IEwzMTAuMTcxLDI5OC40NTQ1IFogTTMwMS44NzMsMzA3LjExNDUgQzMwMS41MTksMzA3LjExNDUgMzAxLjE2MywzMDYuOTg5NSAzMDAuODc4LDMwNi43MzU1IEMzMDAuMjU5LDMwNi4xODQ1IDMwMC4yMDMsMzA1LjIzNzUgMzAwLjc1MywzMDQuNjE4NSBDMzAyLjA5NSwzMDMuMTA3NSAzMDMuNDc2LDMwMS42MTE1IDMwNC44NTgsMzAwLjE2ODUgQzMwNS40MzEsMjk5LjU3MjUgMzA2LjM4LDI5OS41NTA1IDMwNi45NzksMzAwLjEyNDUgQzMwNy41NzcsMzAwLjY5NzUgMzA3LjU5NywzMDEuNjQ2NSAzMDcuMDI0LDMwMi4yNDU1IEMzMDUuNjY4LDMwMy42NTk1IDMwNC4zMTMsMzA1LjEyODUgMzAyLjk5NiwzMDYuNjEwNSBDMzAyLjcsMzA2Ljk0NDUgMzAyLjI4NywzMDcuMTE0NSAzMDEuODczLDMwNy4xMTQ1IEwzMDEuODczLDMwNy4xMTQ1IFogTTI5NC4yNTYsMzE2LjM3MDUgQzI5My45NCwzMTYuMzcwNSAyOTMuNjIxLDMxNi4yNzA1IDI5My4zNDksMzE2LjA2MzUgQzI5Mi42OSwzMTUuNTYxNSAyOTIuNTYyLDMxNC42MjE1IDI5My4wNjQsMzEzLjk2MTUgQzI5NC4yODEsMzEyLjM2MzUgMjk1LjU0NCwzMTAuNzY2NSAyOTYuODIsMzA5LjIxNzUgQzI5Ny4zNDcsMzA4LjU3NzUgMjk4LjI5MSwzMDguNDg2NSAyOTguOTMxLDMwOS4wMTI1IEMyOTkuNTcxLDMwOS41Mzk1IDI5OS42NjIsMzEwLjQ4NDUgMjk5LjEzNiwzMTEuMTI0NSBDMjk3Ljg4NCwzMTIuNjQ0NSAyOTYuNjQ1LDMxNC4yMTA1IDI5NS40NTEsMzE1Ljc3ODUgQzI5NS4xNTYsMzE2LjE2NjUgMjk0LjcwOCwzMTYuMzcwNSAyOTQuMjU2LDMxNi4zNzA1IEwyOTQuMjU2LDMxNi4zNzA1IFogTTI4Ny4zNjUsMzI2LjE2OTUgQzI4Ny4wODQsMzI2LjE2OTUgMjg2LjgwMiwzMjYuMDkxNSAyODYuNTUsMzI1LjkyODUgQzI4NS44NTUsMzI1LjQ3ODUgMjg1LjY1NywzMjQuNTQ5NSAyODYuMTA3LDMyMy44NTQ1IEMyODcuMTkzLDMyMi4xNzY1IDI4OC4zMzEsMzIwLjQ5MTUgMjg5LjQ5MiwzMTguODQxNSBDMjg5Ljk2OCwzMTguMTY0NSAyOTAuOTA0LDMxOC4wMDI1IDI5MS41ODEsMzE4LjQ3ODUgQzI5Mi4yNTksMzE4Ljk1NTUgMjkyLjQyMSwzMTkuODkwNSAyOTEuOTQ1LDMyMC41Njg1IEMyOTAuODA3LDMyMi4xODU1IDI4OS42OSwzMjMuODM5NSAyODguNjI0LDMyNS40ODU1IEMyODguMzM3LDMyNS45Mjg1IDI4Ny44NTYsMzI2LjE2OTUgMjg3LjM2NSwzMjYuMTY5NSBMMjg3LjM2NSwzMjYuMTY5NSBaIE0yODEuMjM1LDMzNi40NTg1IEMyODAuOTkyLDMzNi40NTg1IDI4MC43NDYsMzM2LjM5OTUgMjgwLjUxOCwzMzYuMjc1NSBDMjc5Ljc5LDMzNS44Nzg1IDI3OS41MjIsMzM0Ljk2NzUgMjc5LjkxOCwzMzQuMjQwNSBDMjgwLjg3NiwzMzIuNDgyNSAyODEuODg0LDMzMC43MTU1IDI4Mi45MTMsMzI4Ljk4OTUgQzI4My4zMzgsMzI4LjI3NTUgMjg0LjI2LDMyOC4wNDY1IDI4NC45NjksMzI4LjQ2NzUgQzI4NS42ODEsMzI4Ljg5MjUgMjg1LjkxNCwzMjkuODEyNSAyODUuNDkxLDMzMC41MjQ1IEMyODQuNDgxLDMzMi4yMTg1IDI4My40OTMsMzMzLjk1MjUgMjgyLjU1MywzMzUuNjc1NSBDMjgyLjI4MSwzMzYuMTc0NSAyODEuNzY2LDMzNi40NTg1IDI4MS4yMzUsMzM2LjQ1ODUgTDI4MS4yMzUsMzM2LjQ1ODUgWiBNMjc1LjkxLDM0Ny4xNzQ1IEMyNzUuNzA0LDM0Ny4xNzQ1IDI3NS40OTUsMzQ3LjEzMjUgMjc1LjI5NCwzNDcuMDQzNSBDMjc0LjUzOSwzNDYuNzAyNSAyNzQuMjAzLDM0NS44MTQ1IDI3NC41NDMsMzQ1LjA1ODUgQzI3NS4zNjgsMzQzLjIyODUgMjc2LjIzNywzNDEuMzkxNSAyNzcuMTI4LDMzOS41OTg1IEMyNzcuNDk3LDMzOC44NTc1IDI3OC4zOTcsMzM4LjU1MjUgMjc5LjEzOSwzMzguOTIzNSBDMjc5Ljg4LDMzOS4yOTI1IDI4MC4xODMsMzQwLjE5MjUgMjc5LjgxNCwzNDAuOTM0NSBDMjc4Ljk0LDM0Mi42OTM1IDI3OC4wODcsMzQ0LjQ5NTUgMjc3LjI3OCwzNDYuMjkxNSBDMjc3LjAyOCwzNDYuODQ2NSAyNzYuNDgyLDM0Ny4xNzQ1IDI3NS45MSwzNDcuMTc0NSBMMjc1LjkxLDM0Ny4xNzQ1IFogTTI3MS40MTEsMzU4LjI3NjUgQzI3MS4yNDIsMzU4LjI3NjUgMjcxLjA3LDM1OC4yNDg1IDI3MC45MDEsMzU4LjE4NzUgQzI3MC4xMjEsMzU3LjkwNjUgMjY5LjcxOCwzNTcuMDQ1NSAyNjkuOTk5LDM1Ni4yNjY1IEMyNzAuNjgxLDM1NC4zNzk1IDI3MS40MTEsMzUyLjQ3NzUgMjcyLjE2NywzNTAuNjExNSBDMjcyLjQ3OCwzNDkuODQzNSAyNzMuMzUxLDM0OS40NzM1IDI3NC4xMjEsMzQ5Ljc4NTUgQzI3NC44ODgsMzUwLjA5NTUgMjc1LjI1OCwzNTAuOTcwNSAyNzQuOTQ3LDM1MS43Mzg1IEMyNzQuMjA0LDM1My41Njk1IDI3My40OSwzNTUuNDM1NSAyNzIuODIyLDM1Ny4yODY1IEMyNzIuNjAxLDM1Ny44OTY1IDI3Mi4wMjUsMzU4LjI3NjUgMjcxLjQxMSwzNTguMjc2NSBMMjcxLjQxMSwzNTguMjc2NSBaIE0yNjIuMTg4LDQwNS4xNzY1IEMyNjIuMTY2LDQwNS4xNzY1IDI2Mi4xNDYsNDA1LjE3NjUgMjYyLjEyNCw0MDUuMTc1NSBDMjYxLjI5Niw0MDUuMTQwNSAyNjAuNjU0LDQwNC40NDE1IDI2MC42ODgsNDAzLjYxNDUgQzI2MC43NzIsNDAxLjYyNDUgMjYwLjg5NiwzOTkuNTg5NSAyNjEuMDU4LDM5Ny41NzA1IEMyNjEuMTI0LDM5Ni43NDQ1IDI2MS44NjgsMzk2LjE0NjUgMjYyLjY3MywzOTYuMTk1NSBDMjYzLjQ5OCwzOTYuMjYxNSAyNjQuMTE1LDM5Ni45ODQ1IDI2NC4wNDgsMzk3LjgxMDUgQzI2My44ODksMzk5Ljc5MjUgMjYzLjc2Nyw0MDEuNzg3NSAyNjMuNjg2LDQwMy43Mzk1IEMyNjMuNjUyLDQwNC41NDU1IDI2Mi45ODgsNDA1LjE3NjUgMjYyLjE4OCw0MDUuMTc2NSBMMjYyLjE4OCw0MDUuMTc2NSBaIE01NzcuOTk3LDQwOC4yNzc1IEM1NzcuMTg2LDQwOC4yNzc1IDU3Ni41MTgsNDA3LjYyODUgNTc2LjQ5OCw0MDYuODEyNSBDNTc2LjQ1Myw0MDQuODQwNSA1NzYuMzcsNDAyLjg0MzUgNTc2LjI1LDQwMC44NzY1IEM1NzYuMjAxLDQwMC4wNDg1IDU3Ni44MywzOTkuMzM3NSA1NzcuNjU3LDM5OS4yODg1IEM1NzguNTA2LDM5OS4yMTk1IDU3OS4xOTUsMzk5Ljg2NzUgNTc5LjI0NSw0MDAuNjk0NSBDNTc5LjM2Niw0MDIuNjk5NSA1NzkuNDUyLDQwNC43MzQ1IDU3OS40OTgsNDA2Ljc0MjUgQzU3OS41MTcsNDA3LjU3MDUgNTc4Ljg2Miw0MDguMjU3NSA1NzguMDM0LDQwOC4yNzc1IEw1NzcuOTk3LDQwOC4yNzc1IFogTTI2Mi4xMjMsNDE3LjE2OTUgQzI2MS4zMTgsNDE3LjE2OTUgMjYwLjY1Miw0MTYuNTMwNSAyNjAuNjI1LDQxNS43MTg1IEMyNjAuNTcsNDE0LjAwMzUgMjYwLjU0MSw0MTIuMjQ4NSAyNjAuNTQxLDQxMC41MDA1IEwyNjAuNTQzLDQwOS42Njc1IEMyNjAuNTQ2LDQwOC44Mzk1IDI2MS4yMTcsNDA4LjE3MTUgMjYyLjA0Myw0MDguMTcxNSBMMjYyLjA0OCw0MDguMTcxNSBDMjYyLjg3Nyw0MDguMTc0NSAyNjMuNTQ2LDQwOC44NDg1IDI2My41NDMsNDA5LjY3NjUgTDI2My41NDEsNDEwLjUwMDUgQzI2My41NDEsNDEyLjIxNTUgMjYzLjU2OSw0MTMuOTM4NSAyNjMuNjIzLDQxNS42MjE1IEMyNjMuNjUxLDQxNi40NDk1IDI2My4wMDEsNDE3LjE0MjUgMjYyLjE3Myw0MTcuMTY4NSBDMjYyLjE1Nyw0MTcuMTY5NSAyNjIuMTQsNDE3LjE2OTUgMjYyLjEyMyw0MTcuMTY5NSBMMjYyLjEyMyw0MTcuMTY5NSBaIE01NzcuODI5LDQyMC4yNzI1IEM1NzcuODA0LDQyMC4yNzI1IDU3Ny43NzgsNDIwLjI3MTUgNTc3Ljc1MSw0MjAuMjcwNSBDNTc2LjkyNCw0MjAuMjI3NSA1NzYuMjg3LDQxOS41MjI1IDU3Ni4zMyw0MTguNjk1NSBDNTc2LjQzMiw0MTYuNzM0NSA1NzYuNDk3LDQxNC43MzY1IDU3Ni41MjUsNDEyLjc1NTUgQzU3Ni41MzcsNDExLjkzNDUgNTc3LjIwNSw0MTEuMjc3NSA1NzguMDI1LDQxMS4yNzc1IEw1NzguMDQ2LDQxMS4yNzc1IEM1NzguODc0LDQxMS4yODk1IDU3OS41MzcsNDExLjk2OTUgNTc5LjUyNSw0MTIuNzk4NSBDNTc5LjQ5Niw0MTQuODE1NSA1NzkuNDI5LDQxNi44NTE1IDU3OS4zMjcsNDE4Ljg0OTUgQzU3OS4yODYsNDE5LjY1MDUgNTc4LjYyMiw0MjAuMjcyNSA1NzcuODI5LDQyMC4yNzI1IEw1NzcuODI5LDQyMC4yNzI1IFogTTU3Ni43NjEsNDMyLjIxNzUgQzU3Ni42OTgsNDMyLjIxNzUgNTc2LjYzNCw0MzIuMjEzNSA1NzYuNTcsNDMyLjIwNjUgQzU3NS43NDcsNDMyLjEwMDUgNTc1LjE2Niw0MzEuMzQ5NSA1NzUuMjcxLDQzMC41Mjg1IEM1NzUuNTIxLDQyOC41NzE1IDU3NS43MzYsNDI2LjU4NDUgNTc1LjkxMiw0MjQuNjIyNSBDNTc1Ljk4Niw0MjMuNzk2NSA1NzYuNzA3LDQyMy4xODk1IDU3Ny41MzksNDIzLjI2MTUgQzU3OC4zNjUsNDIzLjMzNTUgNTc4Ljk3Myw0MjQuMDY0NSA1NzguOSw0MjQuODg5NSBDNTc4LjcyMSw0MjYuODg4NSA1NzguNTAxLDQyOC45MTM1IDU3OC4yNDcsNDMwLjkwNzUgQzU3OC4xNTEsNDMxLjY2NTUgNTc3LjUwNSw0MzIuMjE3NSA1NzYuNzYxLDQzMi4yMTc1IEw1NzYuNzYxLDQzMi4yMTc1IFogTTU3NC43OTEsNDQ0LjA0NzUgQzU3NC42OTEsNDQ0LjA0NzUgNTc0LjU4OSw0NDQuMDM4NSA1NzQuNDg3LDQ0NC4wMTY1IEM1NzMuNjc1LDQ0My44NDk1IDU3My4xNTMsNDQzLjA1NjUgNTczLjMyMSw0NDIuMjQ1NSBDNTczLjcxOCw0NDAuMzE1NSA1NzQuMDgzLDQzOC4zNTA1IDU3NC40MDgsNDM2LjQwNjUgQzU3NC41NDMsNDM1LjU4ODUgNTc1LjMyMyw0MzUuMDM4NSA1NzYuMTMzLDQzNS4xNzI1IEM1NzYuOTUxLDQzNS4zMDg1IDU3Ny41MDIsNDM2LjA4MTUgNTc3LjM2Nyw0MzYuODk4NSBDNTc3LjAzNyw0MzguODgwNSA1NzYuNjY0LDQ0MC44ODM1IDU3Ni4yNTgsNDQyLjg1MDUgQzU3Ni4xMTMsNDQzLjU1OTUgNTc1LjQ4OCw0NDQuMDQ3NSA1NzQuNzkxLDQ0NC4wNDc1IEw1NzQuNzkxLDQ0NC4wNDc1IFogTTU3MS45MjIsNDU1LjY5NDUgQzU3MS43ODUsNDU1LjY5NDUgNTcxLjY0Niw0NTUuNjc1NSA1NzEuNTA3LDQ1NS42MzU1IEM1NzAuNzExLDQ1NS40MDc1IDU3MC4yNSw0NTQuNTc2NSA1NzAuNDgsNDUzLjc4MDUgQzU3MS4wMjgsNDUxLjg3MzUgNTcxLjU0Miw0NDkuOTQyNSA1NzIuMDA5LDQ0OC4wNDA1IEM1NzIuMjA3LDQ0Ny4yMzc1IDU3My4wMTQsNDQ2Ljc0NDUgNTczLjgyNSw0NDYuOTQxNSBDNTc0LjYyOCw0NDcuMTM5NSA1NzUuMTIxLDQ0Ny45NTI1IDU3NC45MjMsNDQ4Ljc1NjUgQzU3NC40NDcsNDUwLjY5NTUgNTczLjkyMSw0NTIuNjY0NSA1NzMuMzYzLDQ1NC42MDg1IEM1NzMuMTc0LDQ1NS4yNjY1IDU3Mi41NzQsNDU1LjY5NDUgNTcxLjkyMiw0NTUuNjk0NSBMNTcxLjkyMiw0NTUuNjk0NSBaIE01NjguMTcyLDQ2Ny4wODY1IEM1NjcuOTk4LDQ2Ny4wODY1IDU2Ny44MjIsNDY3LjA1NjUgNTY3LjY0OSw0NjYuOTkyNSBDNTY2Ljg3Miw0NjYuNzAzNSA1NjYuNDc4LDQ2NS44Mzk1IDU2Ni43NjcsNDY1LjA2MzUgQzU2Ny40NTMsNDYzLjIxOTUgNTY4LjExNCw0NjEuMzM0NSA1NjguNzMxLDQ1OS40NTg1IEM1NjguOTkxLDQ1OC42NzE1IDU2OS44MzgsNDU4LjI0MjUgNTcwLjYyNCw0NTguNTAxNSBDNTcxLjQxMiw0NTguNzYwNSA1NzEuODM5LDQ1OS42MDg1IDU3MS41OCw0NjAuMzk1NSBDNTcwLjk1Miw0NjIuMzA3NSA1NzAuMjc4LDQ2NC4yMzA1IDU2OS41NzgsNDY2LjExMDUgQzU2OS4zNTMsNDY2LjcxMzUgNTY4Ljc4MSw0NjcuMDg2NSA1NjguMTcyLDQ2Ny4wODY1IEw1NjguMTcyLDQ2Ny4wODY1IFogTTI3NS4yNjUsNDc1LjM3MzUgQzI3NC42ODcsNDc1LjM3MzUgMjc0LjEzNyw0NzUuMDM4NSAyNzMuODksNDc0LjQ3NDUgQzI3My4wOCw0NzIuNjI2NSAyNzIuMjk2LDQ3MC43NDA1IDI3MS41NjEsNDY4Ljg3MTUgQzI3MS4yNTcsNDY4LjA5OTUgMjcxLjYzNiw0NjcuMjI4NSAyNzIuNDA3LDQ2Ni45MjU1IEMyNzMuMTc2LDQ2Ni42MjQ1IDI3NC4wNDgsNDY3LjAwMDUgMjc0LjM1Miw0NjcuNzcxNSBDMjc1LjA3NSw0NjkuNjA2NSAyNzUuODQzLDQ3MS40NTc1IDI3Ni42MzgsNDczLjI3MTUgQzI3Ni45Nyw0NzQuMDMwNSAyNzYuNjI0LDQ3NC45MTU1IDI3NS44NjYsNDc1LjI0NzUgQzI3NS42Nyw0NzUuMzMzNSAyNzUuNDY2LDQ3NS4zNzM1IDI3NS4yNjUsNDc1LjM3MzUgTDI3NS4yNjUsNDc1LjM3MzUgWiBNNTYzLjU3OCw0NzguMTI5NSBDNTYzLjM2OCw0NzguMTI5NSA1NjMuMTU0LDQ3OC4wODU1IDU2Mi45NTEsNDc3Ljk5MjUgQzU2Mi4xOTgsNDc3LjY0NDUgNTYxLjg3LDQ3Ni43NTM1IDU2Mi4yMTYsNDc2LjAwMTUgQzU2My4wMzgsNDc0LjIxOTUgNTYzLjgzOSw0NzIuMzkzNSA1NjQuNTk2LDQ3MC41NzU1IEM1NjQuOTEzLDQ2OS44MTE1IDU2NS43ODgsNDY5LjQ0OTUgNTY2LjU1Nyw0NjkuNzY2NSBDNTY3LjMyMiw0NzAuMDg1NSA1NjcuNjg0LDQ3MC45NjI1IDU2Ny4zNjYsNDcxLjcyNzUgQzU2Ni41OTQsNDczLjU4MTUgNTY1Ljc3OSw0NzUuNDQyNSA1NjQuOTQxLDQ3Ny4yNTc1IEM1NjQuNjg3LDQ3Ny44MDY1IDU2NC4xNDUsNDc4LjEyOTUgNTYzLjU3OCw0NzguMTI5NSBMNTYzLjU3OCw0NzguMTI5NSBaIE0yODAuNTA2LDQ4Ni4xODU1IEMyNzkuOTcsNDg2LjE4NTUgMjc5LjQ1Miw0ODUuODk3NSAyNzkuMTgxLDQ4NS4zOTA1IEMyNzguMjM4LDQ4My42MjE1IDI3Ny4zMTMsNDgxLjgwMTUgMjc2LjQzMiw0NzkuOTg0NSBDMjc2LjA3MSw0NzkuMjM5NSAyNzYuMzgyLDQ3OC4zNDE1IDI3Ny4xMjcsNDc3Ljk4MDUgQzI3Ny44NzMsNDc3LjYxODUgMjc4Ljc3MSw0NzcuOTI5NSAyNzkuMTMxLDQ3OC42NzU1IEMyNzkuOTk2LDQ4MC40NTk1IDI4MC45MDQsNDgyLjI0MzUgMjgxLjgyOSw0ODMuOTgwNSBDMjgyLjIxOSw0ODQuNzEwNSAyODEuOTQyLDQ4NS42MjA1IDI4MS4yMSw0ODYuMDA5NSBDMjgwLjk4Niw0ODYuMTI4NSAyODAuNzQ1LDQ4Ni4xODU1IDI4MC41MDYsNDg2LjE4NTUgTDI4MC41MDYsNDg2LjE4NTUgWiBNNTU4LjE1Myw0ODguNzk4NSBDNTU3LjkwNSw0ODguNzk4NSA1NTcuNjU1LDQ4OC43Mzg1IDU1Ny40MjMsNDg4LjYwOTUgQzU1Ni43LDQ4OC4yMDY1IDU1Ni40NCw0ODcuMjkyNSA1NTYuODQzLDQ4Ni41Njg1IEM1NTcuOCw0ODQuODUxNSA1NTguNzM5LDQ4My4wOTE1IDU1OS42MzEsNDgxLjMzNTUgQzU2MC4wMDYsNDgwLjU5NzUgNTYwLjkxMSw0ODAuMzAxNSA1NjEuNjQ4LDQ4MC42Nzg1IEM1NjIuMzg2LDQ4MS4wNTM1IDU2Mi42ODEsNDgxLjk1NzUgNTYyLjMwNSw0ODIuNjk1NSBDNTYxLjM5NSw0ODQuNDg1NSA1NjAuNDM5LDQ4Ni4yNzk1IDU1OS40NjQsNDg4LjAyOTUgQzU1OS4xOSw0ODguNTIxNSA1NTguNjc5LDQ4OC43OTg1IDU1OC4xNTMsNDg4Ljc5ODUgTDU1OC4xNTMsNDg4Ljc5ODUgWiBNNTUxLjkzMSw0OTkuMDMxNSBDNTUxLjY0Nyw0OTkuMDMxNSA1NTEuMzYsNDk4Ljk1MTUgNTUxLjEwNSw0OTguNzgyNSBDNTUwLjQxMyw0OTguMzI1NSA1NTAuMjI0LDQ5Ny4zOTQ1IDU1MC42ODEsNDk2LjcwNDUgQzU1MS43NjMsNDk1LjA2NzUgNTUyLjgzMiw0OTMuMzgxNSA1NTMuODU4LDQ5MS42OTM1IEM1NTQuMjg4LDQ5MC45ODY1IDU1NS4yMSw0OTAuNzYxNSA1NTUuOTE5LDQ5MS4xOTA1IEM1NTYuNjI3LDQ5MS42MjE1IDU1Ni44NTIsNDkyLjU0MzUgNTU2LjQyMiw0OTMuMjUxNSBDNTU1LjM3Niw0OTQuOTcxNSA1NTQuMjg3LDQ5Ni42OTA1IDU1My4xODMsNDk4LjM1ODUgQzU1Mi44OTUsNDk4Ljc5NDUgNTUyLjQxNyw0OTkuMDMxNSA1NTEuOTMxLDQ5OS4wMzE1IEw1NTEuOTMxLDQ5OS4wMzE1IFogTTU0NC45NDksNTA4Ljc2ODUgQzU0NC42MjcsNTA4Ljc2ODUgNTQ0LjMwNCw1MDguNjY2NSA1NDQuMDMsNTA4LjQ1NDUgQzU0My4zNzUsNTA3Ljk0NjUgNTQzLjI1Niw1MDcuMDAzNSA1NDMuNzY0LDUwNi4zNDg1IEM1NDQuOTY1LDUwNC44MDE1IDU0Ni4xNTksNTAzLjIwMTUgNTQ3LjMxNCw1MDEuNTkxNSBDNTQ3Ljc5Nyw1MDAuOTE4NSA1NDguNzM0LDUwMC43NjM1IDU0OS40MDcsNTAxLjI0NzUgQzU1MC4wOCw1MDEuNzI5NSA1NTAuMjM1LDUwMi42Njc1IDU0OS43NTEsNTAzLjMzOTUgQzU0OC41NzUsNTA0Ljk4MDUgNTQ3LjM1OCw1MDYuNjExNSA1NDYuMTM1LDUwOC4xODg1IEM1NDUuODM5LDUwOC41Njk1IDU0NS4zOTYsNTA4Ljc2ODUgNTQ0Ljk0OSw1MDguNzY4NSBMNTQ0Ljk0OSw1MDguNzY4NSBaIE01MzcuMjQ4MDAyLDUxNy45NTY1IEM1MzYuODg5LDUxNy45NTY1IDUzNi41MjksNTE3LjgyODUgNTM2LjI0Miw1MTcuNTY4NSBDNTM1LjYyNyw1MTcuMDEyNSA1MzUuNTgsNTE2LjA2MzUgNTM2LjEzNiw1MTUuNDQ5NSBDNTM3LjQ0Nyw1MTQuMDAxNSA1MzguNzU5LDUxMi40OTQ1IDU0MC4wMzcsNTEwLjk3MTUgQzU0MC41NjksNTEwLjMzNzUgNTQxLjUxNCw1MTAuMjUzNSA1NDIuMTUsNTEwLjc4NjUgQzU0Mi43ODUsNTExLjMxODUgNTQyLjg2OCw1MTIuMjY0NSA1NDIuMzM1LDUxMi44OTk1IEM1NDEuMDM0LDUxNC40NTE1IDUzOS42OTcsNTE1Ljk4NjUgNTM4LjM2MSw1MTcuNDYyNSBDNTM4LjA2NSw1MTcuNzkwNSA1MzcuNjU3LDUxNy45NTY1IDUzNy4yNDgwMDIsNTE3Ljk1NjUgTDUzNy4yNDgwMDIsNTE3Ljk1NjUgWiBNNTI4Ljg3NCw1MjYuNTQxNSBDNTI4LjQ3OCw1MjYuNTQxNSA1MjguMDgyLDUyNi4zODQ1IDUyNy43ODgsNTI2LjA3NDUgQzUyNy4yMTYsNTI1LjQ3NDUgNTI3LjI0MSw1MjQuNTI0NSA1MjcuODQxLDUyMy45NTQ1IEM1MjkuMjYxLDUyMi42MDM1IDUzMC42ODQsNTIxLjE5OTUgNTMyLjA3LDUxOS43Nzk1IEM1MzIuNjUsNTE5LjE4NzUgNTMzLjU5OCw1MTkuMTc0NSA1MzQuMTkxLDUxOS43NTM1IEM1MzQuNzg0LDUyMC4zMzI1IDUzNC43OTUsNTIxLjI4MjUgNTM0LjIxNiw1MjEuODc1NSBDNTMyLjgwNSw1MjMuMzIxNSA1MzEuMzU1LDUyNC43NTE1IDUyOS45MDgsNTI2LjEyNzUgQzUyOS42MTgsNTI2LjQwNDUgNTI5LjI0Niw1MjYuNTQxNSA1MjguODc0LDUyNi41NDE1IEw1MjguODc0LDUyNi41NDE1IFogTTMxNy45NzQsNTMyLjYxMjUgQzMxNy42MzEsNTMyLjYxMjUgMzE3LjI4Nyw1MzIuNDk2NSAzMTcuMDA1LDUzMi4yNTY1IEMzMTUuNDY0LDUzMC45NTE1IDMxMy45MzUsNTI5LjYwNTUgMzEyLjQ2MSw1MjguMjU3NSBDMzExLjg1LDUyNy42OTk1IDMxMS44MDgsNTI2Ljc1MDUgMzEyLjM2OCw1MjYuMTM4NSBDMzEyLjkyNiw1MjUuNTI4NSAzMTMuODc2LDUyNS40ODY1IDMxNC40ODcsNTI2LjA0NDUgQzMxNS45MzIsNTI3LjM2NjUgMzE3LjQzMiw1MjguNjg2NSAzMTguOTQ1LDUyOS45Njc1IEMzMTkuNTc3LDUzMC41MDI1IDMxOS42NTUsNTMxLjQ0OTUgMzE5LjEyLDUzMi4wODI1IEMzMTguODIzLDUzMi40MzE1IDMxOC40LDUzMi42MTI1IDMxNy45NzQsNTMyLjYxMjUgTDMxNy45NzQsNTMyLjYxMjUgWiBNNTE5Ljg3Miw1MzQuNDcyNSBDNTE5LjQzOCw1MzQuNDcyNSA1MTkuMDA2LDUzNC4yODQ1IDUxOC43MDksNTMzLjkyMTUgQzUxOC4xODYsNTMzLjI3OTUgNTE4LjI4MSw1MzIuMzM1NSA1MTguOTIyLDUzMS44MTA1IEM1MjAuNDUxLDUzMC41NjI1IDUyMS45NzYsNTI5LjI2OTUgNTIzLjQ1Niw1MjcuOTY0NSBDNTI0LjA3OSw1MjcuNDE3NSA1MjUuMDI2LDUyNy40Nzg1IDUyNS41NzQsNTI4LjA5OTUgQzUyNi4xMjEsNTI4LjcyMDUgNTI2LjA2MSw1MjkuNjY4NSA1MjUuNDM5LDUzMC4yMTY1IEM1MjMuOTMxLDUzMS41NDQ1IDUyMi4zNzcsNTMyLjg2MzUgNTIwLjgyMSw1MzQuMTM0NSBDNTIwLjU0MSw1MzQuMzYyNSA1MjAuMjA1LDUzNC40NzI1IDUxOS44NzIsNTM0LjQ3MjUgTDUxOS44NzIsNTM0LjQ3MjUgWiBNMzI3LjQwNyw1NDAuMDA4NSBDMzI3LjEwMSw1NDAuMDA4NSAzMjYuNzkzLDUzOS45MTY1IDMyNi41MjgsNTM5LjcyMzUgQzMyNC44OTksNTM4LjU0MzUgMzIzLjI3Myw1MzcuMzE3NSAzMjEuNjk3LDUzNi4wODE1IEMzMjEuMDQ1LDUzNS41Njk1IDMyMC45MzEsNTM0LjYyNjUgMzIxLjQ0Miw1MzMuOTc0NSBDMzIxLjk1NCw1MzMuMzIzNSAzMjIuODk3LDUzMy4yMTA1IDMyMy41NDgsNTMzLjcxOTUgQzMyNS4wOTUsNTM0LjkzMzUgMzI2LjY5LDUzNi4xMzU1IDMyOC4yODcsNTM3LjI5MzUgQzMyOC45NTgsNTM3Ljc4MDUgMzI5LjEwOCw1MzguNzE4NSAzMjguNjIyLDUzOS4zODg1IEMzMjguMzI5LDUzOS43OTM1IDMyNy44NzEsNTQwLjAwODUgMzI3LjQwNyw1NDAuMDA4NSBMMzI3LjQwNyw1NDAuMDA4NSBaIE01MTAuMjkzLDU0MS43MDU1IEM1MDkuODIsNTQxLjcwNTUgNTA5LjM1NCw1NDEuNDgxNSA1MDkuMDYyLDU0MS4wNjM1IEM1MDguNTg4LDU0MC4zODM1IDUwOC43NTUsNTM5LjQ0ODUgNTA5LjQzNCw1MzguOTc0NSBDNTExLjA1MSw1MzcuODQ3NSA1MTIuNjcsNTM2LjY3MTUgNTE0LjI0Nyw1MzUuNDgyNSBDNTE0LjkwOSw1MzQuOTgzNSA1MTUuODQ5LDUzNS4xMTQ1IDUxNi4zNDgsNTM1Ljc3NjUgQzUxNi44NDcsNTM2LjQzNzUgNTE2LjcxNSw1MzcuMzc3NSA1MTYuMDU0LDUzNy44NzY1IEM1MTQuNDQ4LDUzOS4wODg1IDUxMi43OTgsNTQwLjI4NjUgNTExLjE1MSw1NDEuNDM1NSBDNTEwLjg4OSw1NDEuNjE4NSA1MTAuNTksNTQxLjcwNTUgNTEwLjI5Myw1NDEuNzA1NSBMNTEwLjI5Myw1NDEuNzA1NSBaIE0zMzcuMzY0LDU0Ni42Njg1IEMzMzcuMDk1LDU0Ni42Njg1IDMzNi44MjQsNTQ2LjU5NjUgMzM2LjU3OSw1NDYuNDQ1NSBDMzM0Ljg2NSw1NDUuMzkxNSAzMzMuMTUyLDU0NC4yOTM1IDMzMS40OSw1NDMuMTgwNSBDMzMwLjgwMSw1NDIuNzE5NSAzMzAuNjE3LDU0MS43ODg1IDMzMS4wNzcsNTQxLjA5OTUgQzMzMS41MzgsNTQwLjQxMDUgMzMyLjQ3MSw1NDAuMjI4NSAzMzMuMTU4LDU0MC42ODY1IEMzMzQuNzg4LDU0MS43Nzg1IDMzNi40NjgsNTQyLjg1NTUgMzM4LjE1MSw1NDMuODkwNSBDMzM4Ljg1Niw1NDQuMzI0NSAzMzkuMDc3LDU0NS4yNDg1IDMzOC42NDIsNTQ1Ljk1NDUgQzMzOC4zNTksNTQ2LjQxNDUgMzM3Ljg2Nyw1NDYuNjY4NSAzMzcuMzY0LDU0Ni42Njg1IEwzMzcuMzY0LDU0Ni42Njg1IFogTTUwMC4xODgsNTQ4LjE5MzUgQzQ5OS42NzUsNTQ4LjE5MzUgNDk5LjE3NCw1NDcuOTI5NSA0OTguODk1LDU0Ny40NTU1IEM0OTguNDc0LDU0Ni43NDE1IDQ5OC43MTEsNTQ1LjgyMjUgNDk5LjQyNSw1NDUuNDAxNSBDNTAxLjEyOCw1NDQuMzk3NSA1MDIuODMxLDU0My4zNDc1IDUwNC40OSw1NDIuMjgzNSBDNTA1LjE4NSw1NDEuODM2NSA1MDYuMTE1LDU0Mi4wMzY1IDUwNi41NjIsNTQyLjczNDUgQzUwNy4wMSw1NDMuNDMwNSA1MDYuODA4LDU0NC4zNTk1IDUwNi4xMTEsNTQ0LjgwNjUgQzUwNC40MjEsNTQ1Ljg5MjUgNTAyLjY4NSw1NDYuOTYxNSA1MDAuOTQ5LDU0Ny45ODU1IEM1MDAuNzA5LDU0OC4xMjY1IDUwMC40NDgsNTQ4LjE5MzUgNTAwLjE4OCw1NDguMTkzNSBMNTAwLjE4OCw1NDguMTkzNSBaIE0zNDcuNzkyLDU1Mi41NTA1IEMzNDcuNTYxLDU1Mi41NTA1IDM0Ny4zMjcsNTUyLjQ5NzUgMzQ3LjEwNyw1NTIuMzgzNSBDMzQ1LjMxOCw1NTEuNDYyNSAzNDMuNTI4LDU1MC40OTg1IDM0MS43ODcsNTQ5LjUxNTUgQzM0MS4wNjUsNTQ5LjEwODUgMzQwLjgxLDU0OC4xOTM1IDM0MS4yMTcsNTQ3LjQ3MTUgQzM0MS42MjQsNTQ2Ljc1MTUgMzQyLjU0LDU0Ni40OTk1IDM0My4yNjEsNTQ2LjkwMjUgQzM0NC45NjksNTQ3Ljg2NjUgMzQ2LjcyNSw1NDguODEzNSAzNDguNDgsNTQ5LjcxNzUgQzM0OS4yMTcsNTUwLjA5NjUgMzQ5LjUwNiw1NTEuMDAxNSAzNDkuMTI2LDU1MS43Mzc1IEMzNDguODYxLDU1Mi4yNTM1IDM0OC4zMzYsNTUyLjU1MDUgMzQ3Ljc5Miw1NTIuNTUwNSBMMzQ3Ljc5Miw1NTIuNTUwNSBaIE00ODkuNjE3LDU1My44OTY1IEM0ODkuMDYzLDU1My44OTY1IDQ4OC41Myw1NTMuNTg4NSA0ODguMjY5LDU1My4wNTc1IEM0ODcuOTA0LDU1Mi4zMTQ1IDQ4OC4yMTEsNTUxLjQxNTUgNDg4Ljk1NCw1NTEuMDQ5NSBDNDkwLjcxNiw1NTAuMTg1NSA0OTIuNDk2LDU0OS4yNjg1IDQ5NC4yNDYsNTQ4LjMyNTUgQzQ5NC45NzUsNTQ3LjkzMTUgNDk1Ljg4NCw1NDguMjA0NSA0OTYuMjc4LDU0OC45MzM1IEM0OTYuNjcxLDU0OS42NjM1IDQ5Ni4zOTksNTUwLjU3MjUgNDk1LjY2OSw1NTAuOTY1NSBDNDkzLjg4Niw1NTEuOTI2NSA0OTIuMDczLDU1Mi44NjE1IDQ5MC4yNzcsNTUzLjc0MzUgQzQ5MC4wNjQsNTUzLjg0NzUgNDg5LjgzOCw1NTMuODk2NSA0ODkuNjE3LDU1My44OTY1IEw0ODkuNjE3LDU1My44OTY1IFogTTM1OC42Myw1NTcuNjIxNSBDMzU4LjQzNiw1NTcuNjIxNSAzNTguMjM5LDU1Ny41ODM1IDM1OC4wNDgsNTU3LjUwMjUgQzM1Ni4yMDQsNTU2LjcyNDUgMzU0LjM0Niw1NTUuODk4NSAzNTIuNTMsNTU1LjA0ODUgQzM1MS43OCw1NTQuNjk4NSAzNTEuNDU1LDU1My44MDU1IDM1MS44MDcsNTUzLjA1NDUgQzM1Mi4xNTksNTUyLjMwMzUgMzUzLjA1LDU1MS45Nzg1IDM1My44MDEsNTUyLjMzMjUgQzM1NS41ODMsNTUzLjE2NTUgMzU3LjQwNSw1NTMuOTc1NSAzNTkuMjE0LDU1NC43Mzk1IEMzNTkuOTc4LDU1NS4wNjE1IDM2MC4zMzUsNTU1Ljk0MTUgMzYwLjAxMyw1NTYuNzA0NSBDMzU5Ljc3Miw1NTcuMjc3NSAzNTkuMjE1LDU1Ny42MjE1IDM1OC42Myw1NTcuNjIxNSBMMzU4LjYzLDU1Ny42MjE1IFogTTQ3OC42MzEsNTU4Ljc4MDUgQzQ3OC4wMzcsNTU4Ljc4MDUgNDc3LjQ3Myw1NTguNDIzNSA0NzcuMjM5LDU1Ny44MzY1IEM0NzYuOTMxLDU1Ny4wNjc1IDQ3Ny4zMDUsNTU2LjE5NTUgNDc4LjA3NSw1NTUuODg3NSBDNDc5LjkwOSw1NTUuMTU0NSA0ODEuNzU0LDU1NC4zNzY1IDQ4My41NjEsNTUzLjU3MjUgQzQ4NC4zMjEsNTUzLjIzNTUgNDg1LjIwNCw1NTMuNTc4NSA0ODUuNTQxLDU1NC4zMzQ1IEM0ODUuODc3LDU1NS4wOTA1IDQ4NS41MzcsNTU1Ljk3NzUgNDg0Ljc4LDU1Ni4zMTQ1IEM0ODIuOTM4LDU1Ny4xMzI1IDQ4MS4wNTcsNTU3LjkyNTUgNDc5LjE4OCw1NTguNjcyNSBDNDc5LjAwNSw1NTguNzQ2NSA0NzguODE3LDU1OC43ODA1IDQ3OC42MzEsNTU4Ljc4MDUgTDQ3OC42MzEsNTU4Ljc4MDUgWiBNMzY5LjgzNCw1NjEuODU1NSBDMzY5LjY3Nyw1NjEuODU1NSAzNjkuNTE2LDU2MS44MzE1IDM2OS4zNTgsNTYxLjc3ODUgQzM2Ny40NDcsNTYxLjEzNzUgMzY1LjUyOCw1NjAuNDU0NSAzNjMuNjU0LDU1OS43NDY1IEMzNjIuODc4LDU1OS40NTM1IDM2Mi40ODgsNTU4LjU4NjUgMzYyLjc4MSw1NTcuODEyNSBDMzYzLjA3NSw1NTcuMDM3NSAzNjMuOTQ0LDU1Ni42NTA1IDM2NC43MTQsNTU2LjkzOTUgQzM2Ni41NTIsNTU3LjYzNDUgMzY4LjQzNSw1NTguMzA1NSAzNzAuMzExLDU1OC45MzI1IEMzNzEuMDk2LDU1OS4xOTY1IDM3MS41Miw1NjAuMDQ1NSAzNzEuMjU3LDU2MC44MzI1IEMzNzEuMDQ2LDU2MS40NTk1IDM3MC40NjIsNTYxLjg1NTUgMzY5LjgzNCw1NjEuODU1NSBMMzY5LjgzNCw1NjEuODU1NSBaIE00NjcuMjk5LDU2Mi44MTE1IEM0NjYuNjYxLDU2Mi44MTE1IDQ2Ni4wNjksNTYyLjQwMTUgNDY1Ljg2OCw1NjEuNzU5NSBDNDY1LjYyMSw1NjAuOTY4NSA0NjYuMDYsNTYwLjEyNzUgNDY2Ljg1MSw1NTkuODc5NSBDNDY4LjczNyw1NTkuMjg5NSA0NzAuNjM5LDU1OC42NTQ1IDQ3Mi41MDMsNTU3Ljk5MjUgQzQ3My4yODQsNTU3LjcxMTUgNDc0LjE0Miw1NTguMTIxNSA0NzQuNDE4LDU1OC45MDM1IEM0NzQuNjk2LDU1OS42ODM1IDQ3NC4yODgsNTYwLjU0MTUgNDczLjUwNyw1NjAuODE4NSBDNDcxLjYwOCw1NjEuNDk0NSA0NjkuNjY5LDU2Mi4xNDE1IDQ2Ny43NDcsNTYyLjc0MzUgQzQ2Ny41OTgsNTYyLjc5MDUgNDY3LjQ0OCw1NjIuODExNSA0NjcuMjk5LDU2Mi44MTE1IEw0NjcuMjk5LDU2Mi44MTE1IFogTTM4MS4zNDUsNTY1LjIyNjUgQzM4MS4yMjQsNTY1LjIyNjUgMzgxLjEwMSw1NjUuMjExNSAzODAuOTc4LDU2NS4xODE1IEMzNzkuMDI5LDU2NC42OTA1IDM3Ny4wNjMsNTY0LjE1NTUgMzc1LjEzNSw1NjMuNTkwNSBDMzc0LjM0LDU2My4zNTg1IDM3My44ODQsNTYyLjUyNDUgMzc0LjExOCw1NjEuNzI5NSBDMzc0LjM1LDU2MC45MzQ1IDM3NS4xODgsNTYwLjQ4MzUgMzc1Ljk3OSw1NjAuNzExNSBDMzc3Ljg3LDU2MS4yNjU1IDM3OS43OTgsNTYxLjc5MDUgMzgxLjcxLDU2Mi4yNzE1IEMzODIuNTE0LDU2Mi40NzQ1IDM4My4wMDEsNTYzLjI4OTUgMzgyLjc5OSw1NjQuMDkyNSBDMzgyLjYyNyw1NjQuNzczNSAzODIuMDE2LDU2NS4yMjY1IDM4MS4zNDUsNTY1LjIyNjUgTDM4MS4zNDUsNTY1LjIyNjUgWiBNNDU1LjcyMyw1NjUuOTU0NSBDNDU1LjA0LDU2NS45NTQ1IDQ1NC40MjIsNTY1LjQ4NTUgNDU0LjI2Miw1NjQuNzkyNSBDNDU0LjA3Niw1NjMuOTg0NSA0NTQuNTc5LDU2My4xNzg1IDQ1NS4zODYsNTYyLjk5MjUgQzQ1Ny4zLDU2Mi41NTA1IDQ1OS4yMzksNTYyLjA2MzUgNDYxLjE0OCw1NjEuNTQ1NSBDNDYxLjk1NCw1NjEuMzMzNSA0NjIuNzcyLDU2MS44MDI1IDQ2Mi45ODgsNTYyLjYwMTUgQzQ2My4yMDQsNTYzLjQwMTUgNDYyLjczMyw1NjQuMjI1NSA0NjEuOTMzLDU2NC40NDI1IEM0NTkuOTg4LDU2NC45Njg1IDQ1OC4wMTIsNTY1LjQ2NDUgNDU2LjA2Miw1NjUuOTE2NSBDNDU1Ljk0OCw1NjUuOTQxNSA0NTUuODM0LDU2NS45NTQ1IDQ1NS43MjMsNTY1Ljk1NDUgTDQ1NS43MjMsNTY1Ljk1NDUgWiBNMzkzLjA4LDU2Ny43MDg1IEMzOTIuOTk2LDU2Ny43MDg1IDM5Mi45MTEsNTY3LjcwMTUgMzkyLjgyNSw1NjcuNjg2NSBDMzkwLjg2Miw1NjcuMzQ5NSAzODguODYxLDU2Ni45NjY1IDM4Ni44NzcsNTY2LjU0NzUgQzM4Ni4wNjcsNTY2LjM3NjUgMzg1LjU0OSw1NjUuNTgwNSAzODUuNzIsNTY0Ljc2OTUgQzM4NS44OTIsNTYzLjk1OTUgMzg2LjY4OSw1NjMuNDQ0NSAzODcuNDk4LDU2My42MTI1IEMzODkuNDQ0LDU2NC4wMjM1IDM5MS40MDcsNTY0LjM5OTUgMzkzLjMzMiw1NjQuNzI5NSBDMzk0LjE0OSw1NjQuODY5NSAzOTQuNjk3LDU2NS42NDQ1IDM5NC41NTcsNTY2LjQ2MTUgQzM5NC40MzIsNTY3LjE5MjUgMzkzLjc5Nyw1NjcuNzA4NSAzOTMuMDgsNTY3LjcwODUgTDM5My4wOCw1NjcuNzA4NSBaIE00NDMuOTQxLDU2OC4yMDQ1IEM0NDMuMjExLDU2OC4yMDQ1IDQ0Mi41NzMsNTY3LjY3MTUgNDQyLjQ1OSw1NjYuOTI4NSBDNDQyLjMzNSw1NjYuMTEwNSA0NDIuODk5LDU2NS4zNDU1IDQ0My43MTgsNTY1LjIyMDUgQzQ0NS42NTcsNTY0LjkyNjUgNDQ3LjYyNyw1NjQuNTg5NSA0NDkuNTc1LDU2NC4yMTg1IEM0NTAuMzgxLDU2NC4wNzE1IDQ1MS4xNzMsNTY0LjU5NjUgNDUxLjMyOSw1NjUuNDEyNSBDNDUxLjQ4NCw1NjYuMjI1NSA0NTAuOTUsNTY3LjAxMDUgNDUwLjEzNSw1NjcuMTY2NSBDNDQ4LjE1Miw1NjcuNTQzNSA0NDYuMTQ0LDU2Ny44ODc1IDQ0NC4xNjcsNTY4LjE4NzUgQzQ0NC4wOTEsNTY4LjE5ODUgNDQ0LjAxNiw1NjguMjA0NSA0NDMuOTQxLDU2OC4yMDQ1IEw0NDMuOTQxLDU2OC4yMDQ1IFogTTQwNC45NjksNTY5LjI5MDUgQzQwNC45MjEsNTY5LjI5MDUgNDA0Ljg3NCw1NjkuMjg4NSA0MDQuODI3LDU2OS4yODM1IEM0MDIuODM2LDU2OS4wOTU1IDQwMC44MTMsNTY4Ljg2NTUgMzk4LjgxMSw1NjguNTk5NSBDMzk3Ljk5LDU2OC40OTA1IDM5Ny40MTMsNTY3LjczNTUgMzk3LjUyMSw1NjYuOTE1NSBDMzk3LjYzLDU2Ni4wOTE1IDM5OC4zOTIsNTY1LjUyMDUgMzk5LjIwNSw1NjUuNjI1NSBDNDAxLjE3LDU2NS44ODY1IDQwMy4xNTYsNTY2LjExMjUgNDA1LjEwOCw1NjYuMjk2NSBDNDA1LjkzMyw1NjYuMzc0NSA0MDYuNTM4LDU2Ny4xMDY1IDQwNi40Niw1NjcuOTMwNSBDNDA2LjM4Nyw1NjguNzA4NSA0MDUuNzM0LDU2OS4yOTA1IDQwNC45NjksNTY5LjI5MDUgTDQwNC45NjksNTY5LjI5MDUgWiBNNDMyLjAyNSw1NjkuNTUxNSBDNDMxLjI0Nyw1NjkuNTUxNSA0MzAuNTksNTY4Ljk1MjUgNDMwLjUzMSw1NjguMTY0NSBDNDMwLjQ2OSw1NjcuMzM3NSA0MzEuMDg4LDU2Ni42MTg1IDQzMS45MTQsNTY2LjU1NTUgQzQzMy44NzgsNTY2LjQwODUgNDM1Ljg2OSw1NjYuMjIwNSA0MzcuODI5LDU2Ni4wMDA1IEM0MzguNjQsNTY1Ljg5NjUgNDM5LjM5NSw1NjYuNDk4NSA0MzkuNDg4LDU2Ny4zMjI1IEM0MzkuNTgxLDU2OC4xNDU1IDQzOC45ODksNTY4Ljg4NzUgNDM4LjE2NSw1NjguOTgwNSBDNDM2LjE2OCw1NjkuMjA2NSA0MzQuMTQxLDU2OS4zOTc1IDQzMi4xMzksNTY5LjU0NzUgQzQzMi4xMDEsNTY5LjU1MDUgNDMyLjA2Myw1NjkuNTUxNSA0MzIuMDI1LDU2OS41NTE1IEw0MzIuMDI1LDU2OS41NTE1IFogTTQxNi45NDMsNTY5Ljk2OTUgTDQxNi45MTMsNTY5Ljk2OTUgQzQxNC45MDUsNTY5LjkzMTUgNDEyLjg2OSw1NjkuODU0NSA0MTAuODYzLDU2OS43NDA1IEM0MTAuMDM2LDU2OS42OTI1IDQwOS40MDMsNTY4Ljk4NDUgNDA5LjQ1LDU2OC4xNTc1IEM0MDkuNDk3LDU2Ny4zMzA1IDQxMC4yMTcsNTY2LjY5NzUgNDExLjAzMyw1NjYuNzQ1NSBDNDEzLjAwMSw1NjYuODU2NSA0MTQuOTk5LDU2Ni45MzI1IDQxNi45Nyw1NjYuOTY5NSBDNDE3Ljc5OCw1NjYuOTg1NSA0MTguNDU3LDU2Ny42Njk1IDQxOC40NDIsNTY4LjQ5ODUgQzQxOC40MjYsNTY5LjMxNjUgNDE3Ljc1Nyw1NjkuOTY5NSA0MTYuOTQzLDU2OS45Njk1IEw0MTYuOTQzLDU2OS45Njk1IFogTTQyMC4wNDEsNTcwLjAwMDUgQzQxOS4yMTMsNTcwLjAwMDUgNDE4LjU0MSw1NjkuMzI4NSA0MTguNTQxLDU2OC41MDA1IEM0MTguNTQxLDU2Ny42NzE1IDQxOS4yMTMsNTY3LjAwMDUgNDIwLjA0MSw1NjcuMDAwNSBDNDIyLjAyMiw1NjcuMDAwNSA0MjQuMDIsNTY2Ljk2MjUgNDI1Ljk4Miw1NjYuODg5NSBDNDI2Ljc5LDU2Ni44NDA1IDQyNy41MDUsNTY3LjUwNDUgNDI3LjUzNyw1NjguMzMzNSBDNDI3LjU2OCw1NjkuMTYwNSA0MjYuOTIxLDU2OS44NTY1IDQyNi4wOTMsNTY5Ljg4NzUgQzQyNC4wOTUsNTY5Ljk2MTUgNDIyLjA1OSw1NzAuMDAwNSA0MjAuMDQxLDU3MC4wMDA1IEw0MjAuMDQxLDU3MC4wMDA1IFoiIGlkPSJGaWxsLTEiIGZpbGw9IiNBM0IxQkYiIG9wYWNpdHk9IjAuMzk1NjcwNTczIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MTUuMjU5MiwzLjAyNzMgQzQxNC40MzkyLDMuMDI3MyA0MTMuNzY5MiwyLjM2NzMgNDEzLjc1OTIsMS41NDUzIEM0MTMuNzQ5MiwwLjcxNjMgNDE0LjQxMzIsMC4wMzczIDQxNS4yNDEyLDAuMDI3MyBDNDE2LjgzOTIsMC4wMDgzIDQxOC40MzkyLDAuMDAwMyA0MjAuMDQxMiwwLjAwMDMgTDQyMS4yNjIyLDAuMDAxMyBDNDIyLjA5MDIsMC4wMDMzIDQyMi43NjAyLDAuNjc1MyA0MjIuNzU4MjA0LDEuNTA1MyBDNDIyLjc1NjIsMi4zMzIzIDQyMi4wODUyLDMuMDAxMyA0MjEuMjU4MiwzLjAwMTMgTDQyMS4yNTQyLDMuMDAxMyBMNDIwLjA0NTIsMy4wMDAzIEM0MTguNDUwMiwzLjAwMDMgNDE2Ljg2MzIsMy4wMDgzIDQxNS4yNzcyLDMuMDI3MyBMNDE1LjI1OTIsMy4wMjczIFogTTQzMy4yNDIyLDMuMjA5MyBDNDMzLjIyNjIsMy4yMDkzIDQzMy4yMTAyLDMuMjA5MyA0MzMuMTk0MiwzLjIwODMgQzQzMS4yMDkyLDMuMTQ1MyA0MjkuMjIxMiwzLjA5NjMgNDI3LjIzMDIsMy4wNjIzIEM0MjYuNDAyMiwzLjA0ODMgNDI1Ljc0MTIsMi4zNjUzIDQyNS43NTUyLDEuNTM3MyBDNDI1Ljc3MDIsMC43MTczIDQyNi40MzgyLDAuMDYyMyA0MjcuMjU1MiwwLjA2MjMgTDQyNy4yODAyLDAuMDYyMyBDNDI5LjI4NzIsMC4wOTYzIDQzMS4yODkyLDAuMTQ2MyA0MzMuMjg5MiwwLjIxMDMgQzQzNC4xMTcyLDAuMjM2MyA0MzQuNzY3MiwwLjkyODMgNDM0Ljc0MDIsMS43NTYzIEM0MzQuNzE1MiwyLjU2ODMgNDM0LjA0ODIsMy4yMDkzIDQzMy4yNDIyLDMuMjA5MyBMNDMzLjI0MjIsMy4yMDkzIFogTTQwMy4yNjQyLDMuMzM3MyBDNDAyLjQ2MzIsMy4zMzczIDQwMS43OTgyLDIuNzA0MyA0MDEuNzY2MiwxLjg5NzMgQzQwMS43MzMyLDEuMDY5MyA0MDIuMzc3MiwwLjM3MTMgNDAzLjIwNDIsMC4zMzgzIEM0MDUuMjA3MiwwLjI1NzMgNDA3LjIxMzIsMC4xOTEzIDQwOS4yMjIyLDAuMTM4MyBDNDEwLjA1MjIsMC4xMDgzIDQxMC43MzkyLDAuNzcxMyA0MTAuNzYwMiwxLjU5OTMgQzQxMC43ODEyLDIuNDI3MyA0MTAuMTI4MiwzLjExNzMgNDA5LjMwMDIsMy4xMzczIEM0MDcuMzA1MiwzLjE4OTMgNDA1LjMxMzIsMy4yNTYzIDQwMy4zMjUyLDMuMzM2MyBDNDAzLjMwNTIsMy4zMzczIDQwMy4yODQyLDMuMzM3MyA0MDMuMjY0MiwzLjMzNzMgTDQwMy4yNjQyLDMuMzM3MyBaIE00NDUuMjI5MiwzLjc2MjMgQzQ0NS4xOTgyLDMuNzYyMyA0NDUuMTY4MiwzLjc2MTMgNDQ1LjEzNzIsMy43NTkzIEM0NDMuMTUxMiwzLjYzOTMgNDQxLjE2MDIsMy41MzMzIDQzOS4xNjcyLDMuNDQwMyBDNDM4LjMzOTIsMy40MDIzIDQzNy42OTkyLDIuNzAwMyA0MzcuNzM4MiwxLjg3MzMgQzQzNy43NzcyLDEuMDQ2MyA0MzguNDk5MiwwLjQyMTMgNDM5LjMwNjIsMC40NDQzIEM0NDEuMzE1MiwwLjUzNzMgNDQzLjMxOTIsMC42NDMzIDQ0NS4zMTkyLDAuNzY1MyBDNDQ2LjE0NjIsMC44MTUzIDQ0Ni43NzYyLDEuNTI2MyA0NDYuNzI1MiwyLjM1MzMgQzQ0Ni42NzcyLDMuMTQ5MyA0NDYuMDE2MiwzLjc2MjMgNDQ1LjIyOTIsMy43NjIzIEw0NDUuMjI5MiwzLjc2MjMgWiBNMzkxLjI4NDIsMy45OTUzIEMzOTAuNTA0MiwzLjk5NTMgMzg5Ljg0NTIsMy4zOTAzIDM4OS43OTAyLDIuNTk5MyBDMzg5LjczMzIsMS43NzIzIDM5MC4zNTYyLDEuMDU2MyAzOTEuMTgyMiwwLjk5OTMgQzM5My4xODEyLDAuODU5MyAzOTUuMTg0MiwwLjczNTMgMzk3LjE5MjIsMC42MjUzIEMzOTguMDIxMiwwLjU5MDMgMzk4LjcyNjIsMS4yMTQzIDM5OC43NzIyLDIuMDQxMyBDMzk4LjgxNzIsMi44NjgzIDM5OC4xODMyLDMuNTc1MyAzOTcuMzU2MiwzLjYyMTMgQzM5NS4zNjMyLDMuNzI5MyAzOTMuMzc0MiwzLjg1MzMgMzkxLjM5MTIsMy45OTEzIEMzOTEuMzU1MiwzLjk5NDMgMzkxLjMyMDIsMy45OTUzIDM5MS4yODQyLDMuOTk1MyBMMzkxLjI4NDIsMy45OTUzIFogTTQ1Ny4xOTQyLDQuNjY1MyBDNDU3LjE0OTIsNC42NjUzIDQ1Ny4xMDMyLDQuNjYzMyA0NTcuMDU4Miw0LjY1OTMgQzQ1NS4wNzUyLDQuNDgwMyA0NTMuMDg5Miw0LjMxNjMgNDUxLjEwMDIsNC4xNjczIEM0NTAuMjc0Miw0LjEwNDMgNDQ5LjY1NTIsMy4zODQzIDQ0OS43MTYyLDIuNTU4MyBDNDQ5Ljc3OTIsMS43MzEzIDQ1MC41MTUyLDEuMTE0MyA0NTEuMzI0MiwxLjE3NDMgQzQ1My4zMjkyLDEuMzI2MyA0NTUuMzI5MiwxLjQ5MTMgNDU3LjMyNTIsMS42NzEzIEM0NTguMTUxMiwxLjc0NTMgNDU4Ljc2MDIsMi40NzQzIDQ1OC42ODYyLDMuMjk4MyBDNDU4LjYxNTIsNC4wNzkzIDQ1Ny45NjEyLDQuNjY1MyA0NTcuMTk0Miw0LjY2NTMgTDQ1Ny4xOTQyLDQuNjY1MyBaIE0zNzkuMzI4Miw1LjAwMTMgQzM3OC41NjcyLDUuMDAxMyAzNzcuOTE0Miw0LjQyMzMgMzc3LjgzNzIsMy42NDgzIEMzNzcuNzU2MiwyLjgyNDMgMzc4LjM1OTIsMi4wOTAzIDM3OS4xODMyLDIuMDA3MyBDMzgxLjE3NzIsMS44MTEzIDM4My4xNzYyLDEuNjI4MyAzODUuMTc4MiwxLjQ1OTMgQzM4NS45ODYyLDEuNDAxMyAzODYuNzI5MiwyLjAwMjMgMzg2Ljc5OTIsMi44MjgzIEMzODYuODY4MiwzLjY1MzMgMzg2LjI1NTIsNC4zNzkzIDM4NS40MzAyLDQuNDQ5MyBDMzgzLjQ0MjIsNC42MTYzIDM4MS40NTgyLDQuNzk4MyAzNzkuNDc4Miw0Ljk5NDMgQzM3OS40MjgyLDQuOTk5MyAzNzkuMzc4Miw1LjAwMTMgMzc5LjMyODIsNS4wMDEzIEwzNzkuMzI4Miw1LjAwMTMgWiBNNDY5LjEyNjIsNS45MTUzIEM0NjkuMDY3Miw1LjkxNTMgNDY5LjAwNjIsNS45MTEzIDQ2OC45NDYyLDUuOTA0MyBDNDY2Ljk3MTIsNS42NjgzIDQ2NC45OTAyLDUuNDQ2MyA0NjMuMDA3Miw1LjIzODMgQzQ2Mi4xODMyLDUuMTUxMyA0NjEuNTg1Miw0LjQxMzMgNDYxLjY3MTIsMy41ODkzIEM0NjEuNzU4MiwyLjc2NDMgNDYyLjUxMTIsMi4xODAzIDQ2My4zMjAyLDIuMjU0MyBDNDY1LjMxOTIsMi40NjQzIDQ2Ny4zMTMyLDIuNjg3MyA0NjkuMzAzMiwyLjkyNTMgQzQ3MC4xMjUyLDMuMDI0MyA0NzAuNzEyMiwzLjc3MDMgNDcwLjYxMzIsNC41OTMzIEM0NzAuNTIzMiw1LjM1NTMgNDY5Ljg3NTIsNS45MTUzIDQ2OS4xMjYyLDUuOTE1MyBMNDY5LjEyNjIsNS45MTUzIFogTTM2Ny40MDYyLDYuMzU1MyBDMzY2LjY2MzIsNi4zNTUzIDM2Ni4wMTgyLDUuODAzMyAzNjUuOTIxMiw1LjA0NzMgQzM2NS44MTUyLDQuMjI1MyAzNjYuMzk2MiwzLjQ3MzMgMzY3LjIxNzIsMy4zNjgzIEMzNjkuMjA2MiwzLjExMjMgMzcxLjE5ODIsMi44NzEzIDM3My4xOTYyLDIuNjQ0MyBDMzc0LjAxMzIsMi41NDgzIDM3NC43NjIyLDMuMTQyMyAzNzQuODU1MiwzLjk2NTMgQzM3NC45NDgyLDQuNzg5MyAzNzQuMzU3Miw1LjUzMjMgMzczLjUzMzIsNS42MjUzIEMzNzEuNTUyMiw1Ljg0OTMgMzY5LjU3MzIsNi4wODkzIDM2Ny42MDAyLDYuMzQyMyBDMzY3LjUzNDIsNi4zNTEzIDM2Ny40NzAyLDYuMzU1MyAzNjcuNDA2Miw2LjM1NTMgTDM2Ny40MDYyLDYuMzU1MyBaIE00ODEuMDE2Miw3LjUxMzMgQzQ4MC45NDIyLDcuNTEzMyA0ODAuODY3Miw3LjUwODMgNDgwLjc5MjIsNy40OTczIEM0NzguODIzMiw3LjIwMzMgNDc2Ljg1MjIsNi45MjMzIDQ3NC44NzQyLDYuNjU2MyBDNDc0LjA1MzIsNi41NDYzIDQ3My40NzcyLDUuNzkwMyA0NzMuNTg4Miw0Ljk2OTMgQzQ3My42OTkyLDQuMTQ5MyA0NzQuNDU5MiwzLjU2NjMgNDc1LjI3NTIsMy42ODMzIEM0NzcuMjY2MiwzLjk1MjMgNDc5LjI1MzIsNC4yMzQzIDQ4MS4yMzYyLDQuNTMwMyBDNDgyLjA1NTIsNC42NTIzIDQ4Mi42MTkyLDUuNDE2MyA0ODIuNDk3Miw2LjIzNTMgQzQ4Mi4zODYyLDYuOTc5MyA0ODEuNzQ2Miw3LjUxMzMgNDgxLjAxNjIsNy41MTMzIEw0ODEuMDE2Miw3LjUxMzMgWiBNMzU1LjUzMDIsOC4wNTgzIEMzNTQuODA2Miw4LjA1ODMgMzU0LjE2ODIsNy41MzIzIDM1NC4wNTEyLDYuNzkzMyBDMzUzLjkyMTIsNS45NzQzIDM1NC40ODAyLDUuMjA3MyAzNTUuMjk4Miw1LjA3NzMgQzM1Ny4yNzgyLDQuNzYzMyAzNTkuMjYzMiw0LjQ2NDMgMzYxLjI1MjIsNC4xNzgzIEMzNjIuMDcxMiw0LjA1MjMgMzYyLjgzMjIsNC42MzAzIDM2Mi45NDkyLDUuNDUwMyBDMzYzLjA2ODIsNi4yNzAzIDM2Mi40OTgyLDcuMDMwMyAzNjEuNjc4Miw3LjE0NzMgQzM1OS43MDIyLDcuNDMwMyAzNTcuNzMzMiw3LjcyODMgMzU1Ljc2NzIsOC4wNDAzIEMzNTUuNjg4Miw4LjA1MjMgMzU1LjYwOTIsOC4wNTgzIDM1NS41MzAyLDguMDU4MyBMMzU1LjUzMDIsOC4wNTgzIFogTTQ5Mi44NTUyLDkuNDYyMyBDNDkyLjc2NzIsOS40NjIzIDQ5Mi42NzcyLDkuNDU0MyA0OTIuNTg3Miw5LjQzODMgQzQ5MC42MjkyLDkuMDg2MyA0ODguNjY1Miw4Ljc0ODMgNDg2LjY5NzIsOC40MjQzIEM0ODUuODgwMiw4LjI5MDMgNDg1LjMyNjIsNy41MTgzIDQ4NS40NjAyLDYuNzAxMyBDNDg1LjU5NDIsNS44ODIzIDQ4Ni4zNzAyLDUuMzI1MyA0ODcuMTg0Miw1LjQ2NDMgQzQ4OS4xNjcyLDUuNzkxMyA0OTEuMTQ1Miw2LjEzMTMgNDkzLjExODIsNi40ODUzIEM0OTMuOTM0Miw2LjYzMTMgNDk0LjQ3NjIsNy40MTIzIDQ5NC4zMjkyLDguMjI3MyBDNDk0LjE5ODIsOC45NTMzIDQ5My41NjcyLDkuNDYyMyA0OTIuODU1Miw5LjQ2MjMgTDQ5Mi44NTUyLDkuNDYyMyBaIE0zNDMuNzA5MiwxMC4xMDkzIEMzNDMuMDAyMiwxMC4xMDkzIDM0Mi4zNzMyLDkuNjA3MyAzNDIuMjM4Miw4Ljg4NzMgQzM0Mi4wODMyLDguMDczMyAzNDIuNjE5Miw3LjI4OTMgMzQzLjQzMzIsNy4xMzUzIEMzNDUuNDA0Miw2Ljc2MzMgMzQ3LjM3ODIsNi40MDYzIDM0OS4zNTgyLDYuMDYyMyBDMzUwLjE3MzIsNS45MTkzIDM1MC45NTEyLDYuNDY1MyAzNTEuMDkyMiw3LjI4MzMgQzM1MS4yMzUyLDguMDk5MyAzNTAuNjg4Miw4Ljg3NjMgMzQ5Ljg3MTIsOS4wMTczIEMzNDcuOTA1Miw5LjM1OTMgMzQ1Ljk0NTIsOS43MTQzIDM0My45ODkyLDEwLjA4MzMgQzM0My44OTUyLDEwLjEwMDMgMzQzLjgwMjIsMTAuMTA5MyAzNDMuNzA5MiwxMC4xMDkzIEwzNDMuNzA5MiwxMC4xMDkzIFogTTUwNC42MzEyLDExLjc1NzMgQzUwNC41MjkyLDExLjc1NzMgNTA0LjQyNDIsMTEuNzQ4MyA1MDQuMzIxMiwxMS43MjUzIEM1MDIuMzcyMiwxMS4zMTYzIDUwMC40MjAyLDEwLjkyMDMgNDk4LjQ2MjIsMTAuNTM5MyBDNDk3LjY1MDIsMTAuMzgwMyA0OTcuMTE4Miw5LjU5MjMgNDk3LjI3NzIsOC43NzkzIEM0OTcuNDM2Miw3Ljk2NjMgNDk4LjIzMTIsNy40NDIzIDQ5OS4wMzYyLDcuNTkzMyBDNTAxLjAwODIsNy45NzgzIDUwMi45NzYyLDguMzc3MyA1MDQuOTM4Miw4Ljc5MDMgQzUwNS43NDgyLDguOTYwMyA1MDYuMjY4Miw5Ljc1NjMgNTA2LjA5NzIsMTAuNTY2MyBDNTA1Ljk0ODIsMTEuMjczMyA1MDUuMzI1MiwxMS43NTczIDUwNC42MzEyLDExLjc1NzMgTDUwNC42MzEyLDExLjc1NzMgWiBNMzMxLjk1NDIsMTIuNTA5MyBDMzMxLjI2NTIsMTIuNTA5MyAzMzAuNjQ0MiwxMi4wMzIzIDMzMC40OTAyLDExLjMzMjMgQzMzMC4zMTMyLDEwLjUyMjMgMzMwLjgyNDIsOS43MjIzIDMzMS42MzMyLDkuNTQ1MyBDMzMzLjU5MjIsOS4xMTQzIDMzNS41NTUyLDguNjk5MyAzMzcuNTI1Miw4LjI5NzMgQzMzOC4zMzMyLDguMTMxMyAzMzkuMTI5Miw4LjY1NDMgMzM5LjI5NDIsOS40NjYzIEMzMzkuNDYwMiwxMC4yNzgzIDMzOC45MzYyLDExLjA3MDMgMzM4LjEyNDIsMTEuMjM2MyBDMzM2LjE3MDIsMTEuNjM0MyAzMzQuMjIxMiwxMi4wNDgzIDMzMi4yNzgyLDEyLjQ3NDMgQzMzMi4xNjkyLDEyLjQ5OTMgMzMyLjA2MTIsMTIuNTA5MyAzMzEuOTU0MiwxMi41MDkzIEwzMzEuOTU0MiwxMi41MDkzIFogTTUxNi4zMzMyLDE0LjQwMDMgQzUxNi4yMTcyLDE0LjQwMDMgNTE2LjA5OTIsMTQuMzg2MyA1MTUuOTgxMiwxNC4zNTgzIEM1MTQuMDQ1MiwxMy44OTEzIDUxMi4xMDYyLDEzLjQzODMgNTEwLjE1OTIsMTIuOTk5MyBDNTA5LjM1MjIsMTIuODE3MyA1MDguODQ0MiwxMi4wMTQzIDUwOS4wMjcyLDExLjIwNjMgQzUwOS4yMDkyLDEwLjM5NzMgNTEwLjAxMTIsOS44ODkzIDUxMC44MjAyLDEwLjA3MzMgQzUxMi43ODAyLDEwLjUxNDMgNTE0LjczNTIsMTAuOTcxMyA1MTYuNjg0MiwxMS40NDIzIEM1MTcuNDg5MiwxMS42MzYzIDUxNy45ODUyLDEyLjQ0NzMgNTE3Ljc5MDIsMTMuMjUyMyBDNTE3LjYyNDIsMTMuOTM5MyA1MTcuMDEwMiwxNC40MDAzIDUxNi4zMzMyLDE0LjQwMDMgTDUxNi4zMzMyLDE0LjQwMDMgWiBNMzIwLjI3NjIsMTUuMjU1MyBDMzE5LjYwNDIsMTUuMjU1MyAzMTguOTkyMiwxNC44MDAzIDMxOC44MjEyLDE0LjEyMDMgQzMxOC42MjAyLDEzLjMxNjMgMzE5LjEwODIsMTIuNTAyMyAzMTkuOTExMiwxMi4yOTkzIEMzMjEuODU3MiwxMS44MTEzIDMyMy44MDcyLDExLjMzODMgMzI1Ljc2MjIsMTAuODc5MyBDMzI2LjU3ODIsMTAuNjg4MyAzMjcuMzc3MiwxMS4xODkzIDMyNy41NjYyLDExLjk5NTMgQzMyNy43NTUyLDEyLjgwMTMgMzI3LjI1NTIsMTMuNjA5MyAzMjYuNDQ5MiwxMy43OTgzIEMzMjQuNTA4MiwxNC4yNTUzIDMyMi41NzEyLDE0LjcyNTMgMzIwLjY0MjIsMTUuMjEwMyBDMzIwLjUxOTIsMTUuMjQwMyAzMjAuMzk3MiwxNS4yNTUzIDMyMC4yNzYyLDE1LjI1NTMgTDMyMC4yNzYyLDE1LjI1NTMgWiBNNTI3Ljk1NDIsMTcuMzg2MyBDNTI3LjgyMzIsMTcuMzg2MyA1MjcuNjkxMiwxNy4zNzAzIDUyNy41NTkyLDE3LjMzNDMgQzUyNS42MzgyLDE2LjgxMDMgNTIzLjcxMjIsMTYuMzAwMyA1MjEuNzgwMiwxNS44MDMzIEM1MjAuOTc5MiwxNS41OTYzIDUyMC40OTUyLDE0Ljc3OTMgNTIwLjcwMTIsMTMuOTc2MyBDNTIwLjkwODIsMTMuMTczMyA1MjEuNzI5MiwxMi42OTEzIDUyMi41MjkyLDEyLjg5NzMgQzUyNC40NzQyLDEzLjM5ODMgNTI2LjQxMzIsMTMuOTEyMyA1MjguMzQ4MiwxNC40MzkzIEM1MjkuMTQ3MiwxNC42NTczIDUyOS42MTgyLDE1LjQ4MTMgNTI5LjQwMTIsMTYuMjgxMyBDNTI5LjIxOTIsMTYuOTQ4MyA1MjguNjE0MiwxNy4zODYzIDUyNy45NTQyLDE3LjM4NjMgTDUyNy45NTQyLDE3LjM4NjMgWiBNMzA4LjY4MTIsMTguMzQyMyBDMzA4LjAyNzIsMTguMzQyMyAzMDcuNDI0MiwxNy45MTEzIDMwNy4yMzgyLDE3LjI1MDMgQzMwNy4wMTQyLDE2LjQ1MjMgMzA3LjQ3ODIsMTUuNjI0MyAzMDguMjc1MiwxNS4zOTkzIEMzMTAuMjA0MiwxNC44NTUzIDMxMi4xNDAyLDE0LjMyNDMgMzE0LjA4MTIsMTMuODA2MyBDMzE0Ljg4MjIsMTMuNTk0MyAzMTUuNzA0MiwxNC4wNjgzIDMxNS45MTcyLDE0Ljg2OTMgQzMxNi4xMzEyLDE1LjY3MDMgMzE1LjY1NTIsMTYuNDkyMyAzMTQuODU1MiwxNi43MDUzIEMzMTIuOTI3MiwxNy4yMTgzIDMxMS4wMDUyLDE3Ljc0NjMgMzA5LjA4OTIsMTguMjg2MyBDMzA4Ljk1MjIsMTguMzI1MyAzMDguODE2MiwxOC4zNDIzIDMwOC42ODEyLDE4LjM0MjMgTDMwOC42ODEyLDE4LjM0MjMgWiBNNTM5LjQ4MTIsMjAuNzE0MyBDNTM5LjMzNTIsMjAuNzE0MyA1MzkuMTg4MiwyMC42OTMzIDUzOS4wNDIyLDIwLjY0ODMgQzUzNy4xMzgyLDIwLjA2NzMgNTM1LjIyOTIsMTkuNTAxMyA1MzMuMzEzMiwxOC45NDgzIEM1MzIuNTE3MiwxOC43MTgzIDUzMi4wNTgyLDE3Ljg4NjMgNTMyLjI4NzIsMTcuMDkwMyBDNTMyLjUxNzIsMTYuMjk0MyA1MzMuMzUyMiwxNS44MzUzIDUzNC4xNDUyLDE2LjA2NTMgQzUzNi4wNzQyLDE2LjYyMjMgNTM3Ljk5OTIsMTcuMTk0MyA1MzkuOTE3MiwxNy43NzkzIEM1NDAuNzEwMiwxOC4wMjAzIDU0MS4xNTYyLDE4Ljg1OTMgNTQwLjkxNDIsMTkuNjUxMyBDNTQwLjcxNzIsMjAuMjk4MyA1NDAuMTIzMiwyMC43MTQzIDUzOS40ODEyLDIwLjcxNDMgTDUzOS40ODEyLDIwLjcxNDMgWiBNMjk3LjE4NDIsMjEuNzczMyBDMjk2LjU0NjIsMjEuNzczMyAyOTUuOTU0MiwyMS4zNjQzIDI5NS43NTMyLDIwLjcyMzMgQzI5NS41MDQyLDE5LjkzMzMgMjk1Ljk0NDIsMTkuMDkwMyAyOTYuNzM0MiwxOC44NDIzIEMyOTguNjQ3MiwxOC4yNDAzIDMwMC41NjcyLDE3LjY1MjMgMzAyLjQ5MTIsMTcuMDc4MyBDMzAzLjI3ODIsMTYuODM5MyAzMDQuMTIwMiwxNy4yOTIzIDMwNC4zNTgyLDE4LjA4NzMgQzMwNC41OTQyLDE4Ljg4MTMgMzA0LjE0MzIsMTkuNzE1MyAzMDMuMzQ5MiwxOS45NTMzIEMzMDEuNDM4MiwyMC41MjMzIDI5OS41MzMyLDIxLjEwNjMgMjk3LjYzNDIsMjEuNzA0MyBDMjk3LjQ4NTIsMjEuNzUxMyAyOTcuMzMyMiwyMS43NzMzIDI5Ny4xODQyLDIxLjc3MzMgTDI5Ny4xODQyLDIxLjc3MzMgWiBNNTUwLjkwNDIsMjQuMzgyMyBDNTUwLjc0NDIsMjQuMzgyMyA1NTAuNTgzMiwyNC4zNTczIDU1MC40MjQyLDI0LjMwMzMgQzU0OC41MzcyLDIzLjY2ODMgNTQ2LjY0NTIsMjMuMDQ1MyA1NDQuNzQ1MiwyMi40MzMzIEM1NDMuOTU3MiwyMi4xNzkzIDU0My41MjQyLDIxLjMzNTMgNTQzLjc3ODIsMjAuNTQ2MyBDNTQ0LjAzMDIsMTkuNzU3MyA1NDQuODcyMiwxOS4zMjczIDU0NS42NjUyLDE5LjU3ODMgQzU0Ny41NzYyLDIwLjE5MzMgNTQ5LjQ4MzIsMjAuODIwMyA1NTEuMzgzMiwyMS40NjIzIEM1NTIuMTY4MiwyMS43MjYzIDU1Mi41OTAyLDIyLjU3NzMgNTUyLjMyNDIsMjMuMzYyMyBDNTUyLjExMzIsMjMuOTg4MyA1NTEuNTMwMiwyNC4zODIzIDU1MC45MDQyLDI0LjM4MjMgTDU1MC45MDQyLDI0LjM4MjMgWiBNMjg1Ljc0NjIsMjUuNTU4MyBDMjg1LjEyNTIsMjUuNTU4MyAyODQuNTQ1MiwyNS4xNzEzIDI4NC4zMjkyLDI0LjU1MDMgQzI4NC4wNTgyLDIzLjc2ODMgMjg0LjQ3MTIsMjIuOTE0MyAyODUuMjUzMiwyMi42NDEzIEMyODcuMTU2MiwyMS45ODAzIDI4OS4wNjUyLDIxLjMzMzMgMjkwLjk4MDIsMjAuNzAwMyBDMjkxLjc2NzIsMjAuNDQwMyAyOTIuNjE1MiwyMC44NjYzIDI5Mi44NzQyLDIxLjY1MzMgQzI5My4xMzUyLDIyLjQzOTMgMjkyLjcwODIsMjMuMjg4MyAyOTEuOTIxMiwyMy41NDgzIEMyOTAuMDIyMiwyNC4xNzYzIDI4OC4xMjcyLDI0LjgxODMgMjg2LjIzODIsMjUuNDc1MyBDMjg2LjA3NjIsMjUuNTMyMyAyODUuOTA5MiwyNS41NTgzIDI4NS43NDYyLDI1LjU1ODMgTDI4NS43NDYyLDI1LjU1ODMgWiBNNTYyLjIxMzIsMjguMzg2MyBDNTYyLjA0MDIsMjguMzg2MyA1NjEuODYzMiwyOC4zNTczIDU2MS42OTIyLDI4LjI5MzMgQzU1OS44MjQyLDI3LjYwMTMgNTU3Ljk1MTIsMjYuOTIyMyA1NTYuMDcxMiwyNi4yNTYzIEM1NTUuMjkxMiwyNS45ODAzIDU1NC44ODIyLDI1LjEyMzMgNTU1LjE1ODIsMjQuMzQxMyBDNTU1LjQzNTIsMjMuNTYxMyA1NTYuMjkzMiwyMy4xNTQzIDU1Ny4wNzMyLDIzLjQyODMgQzU1OC45NjcyLDI0LjA5OTMgNTYwLjg1NDIsMjQuNzgzMyA1NjIuNzM1MiwyNS40ODAzIEM1NjMuNTExMiwyNS43NjczIDU2My45MDcyLDI2LjYzMTMgNTYzLjYxOTIsMjcuNDA4MyBDNTYzLjM5NjIsMjguMDEyMyA1NjIuODIyMiwyOC4zODYzIDU2Mi4yMTMyLDI4LjM4NjMgTDU2Mi4yMTMyLDI4LjM4NjMgWiBNMjc0LjQzNDIsMjkuNjc3MyBDMjczLjgyOTIsMjkuNjc3MyAyNzMuMjYwMiwyOS4zMDkzIDI3My4wMzEyLDI4LjcxMTMgQzI3Mi43MzgyLDI3LjkzNjMgMjczLjEyNjIsMjcuMDcwMyAyNzMuOTAxMiwyNi43NzUzIEMyNzUuNzgxMiwyNi4wNjAzIDI3Ny42NjgyLDI1LjM1NjMgMjc5LjU2MjIsMjQuNjY3MyBDMjgwLjM0MjIsMjQuMzg1MyAyODEuMjAxMiwyNC43ODQzIDI4MS40ODUyLDI1LjU2MjMgQzI4MS43NjkyLDI2LjM0MDMgMjgxLjM2NzIsMjcuMjAyMyAyODAuNTg5MiwyNy40ODUzIEMyNzguNzA5MiwyOC4xNzEzIDI3Ni44MzQyLDI4Ljg2OTMgMjc0Ljk2NzIsMjkuNTgwMyBDMjc0Ljc5MTIsMjkuNjQ2MyAyNzQuNjEyMiwyOS42NzczIDI3NC40MzQyLDI5LjY3NzMgTDI3NC40MzQyLDI5LjY3NzMgWiBNNTczLjQwMDIsMzIuNzIzMyBDNTczLjIxMzIsMzIuNzIzMyA1NzMuMDIyMiwzMi42ODgzIDU3Mi44MzgyLDMyLjYxNDMgQzU3MC45OTIyLDMxLjg2NzMgNTY5LjE0MDIsMzEuMTMyMyA1NjcuMjgwMiwzMC40MTIzIEM1NjYuNTA4MiwzMC4xMTIzIDU2Ni4xMjQyLDI5LjI0NDMgNTY2LjQyNDIsMjguNDcxMyBDNTY2LjcyNDIsMjcuNjk3MyA1NjcuNTk3MiwyNy4zMTQzIDU2OC4zNjQyLDI3LjYxNTMgQzU3MC4yMzgyLDI4LjM0MTMgNTcyLjEwNDIsMjkuMDgwMyA1NzMuOTYzMiwyOS44MzMzIEM1NzQuNzMyMiwzMC4xNDQzIDU3NS4xMDIyLDMxLjAxODMgNTc0Ljc5MTIsMzEuNzg2MyBDNTc0LjU1NTIsMzIuMzcwMyA1NzMuOTkzMiwzMi43MjMzIDU3My40MDAyLDMyLjcyMzMgTDU3My40MDAyLDMyLjcyMzMgWiBNMjYzLjI0OTIsMzQuMTMxMyBDMjYyLjY2MTIsMzQuMTMxMyAyNjIuMTAzMiwzMy43ODQzIDI2MS44NjMyLDMzLjIwNzMgQzI2MS41NDUyLDMyLjQ0MjMgMjYxLjkwNzIsMzEuNTY0MyAyNjIuNjczMiwzMS4yNDczIEMyNjQuNTMxMiwzMC40NzQzIDI2Ni4zOTcyLDI5LjcxNTMgMjY4LjI2OTIsMjguOTcwMyBDMjY5LjAzODIsMjguNjY0MyAyNjkuOTEyMiwyOS4wMzkzIDI3MC4yMTcyLDI5LjgwOTMgQzI3MC41MjQyLDMwLjU3OTMgMjcwLjE0ODIsMzEuNDUyMyAyNjkuMzc4MiwzMS43NTczIEMyNjcuNTIwMiwzMi40OTczIDI2NS42NjgyLDMzLjI1MDMgMjYzLjgyNDIsMzQuMDE2MyBDMjYzLjYzNjIsMzQuMDk1MyAyNjMuNDQxMiwzNC4xMzEzIDI2My4yNDkyLDM0LjEzMTMgTDI2My4yNDkyLDM0LjEzMTMgWiBNNTg0LjQwOTIsMzcuMzY5MyBDNTg0LjIwODIsMzcuMzY5MyA1ODQuMDAzMiwzNy4zMjkzIDU4My44MDcyLDM3LjI0MjMgQzU4MS45OTEyLDM2LjQ0NDMgNTgwLjE2OTIsMzUuNjU5MyA1NzguMzM5MiwzNC44ODczIEM1NzcuNTc2MiwzNC41NjYzIDU3Ny4yMTgyLDMzLjY4NjMgNTc3LjU0MDIsMzIuOTIzMyBDNTc3Ljg2MjIsMzIuMTYwMyA1NzguNzQwMiwzMS43OTgzIDU3OS41MDUyLDMyLjEyNDMgQzU4MS4zNDkyLDMyLjkwMTMgNTgzLjE4NTIsMzMuNjkyMyA1ODUuMDE0MiwzNC40OTYzIEM1ODUuNzczMiwzNC44MjkzIDU4Ni4xMTcyLDM1LjcxNDMgNTg1Ljc4MzIsMzYuNDcyMyBDNTg1LjUzNjIsMzcuMDM0MyA1ODQuOTg3MiwzNy4zNjkzIDU4NC40MDkyLDM3LjM2OTMgTDU4NC40MDkyLDM3LjM2OTMgWiBNNTk1LjI4MTIsNDIuMzM4MyBDNTk1LjA2NjIsNDIuMzM4MyA1OTQuODQ3Miw0Mi4yOTIzIDU5NC42MzkyLDQyLjE5MjMgQzU5Mi44NDcyLDQxLjM0MTMgNTkxLjA0NzIsNDAuNTAzMyA1ODkuMjM5MiwzOS42NzYzIEM1ODguNDg3MiwzOS4zMzIzIDU4OC4xNTUyLDM4LjQ0MjMgNTg4LjQ5OTIsMzcuNjg4MyBDNTg4Ljg0MzIsMzYuOTM1MyA1ODkuNzM3MiwzNi42MDIzIDU5MC40ODgyLDM2Ljk0ODMgQzU5Mi4zMDcyLDM3Ljc4MDMgNTk0LjEyMDIsMzguNjI1MyA1OTUuOTI2MiwzOS40ODMzIEM1OTYuNjc0MiwzOS44MzkzIDU5Ni45OTIyLDQwLjczMzMgNTk2LjYzNzIsNDEuNDgxMyBDNTk2LjM4MDIsNDIuMDIyMyA1OTUuODQyMiw0Mi4zMzgzIDU5NS4yODEyLDQyLjMzODMgTDU5NS4yODEyLDQyLjMzODMgWiBNMjIwLjAwOTIsNTUuMTcxMyBDMjE5LjQ4NTIsNTUuMTcxMyAyMTguOTc2Miw1NC44OTUzIDIxOC43MDAyLDU0LjQwNTMgQzIxOC4yOTQyLDUzLjY4MzMgMjE4LjU1MTIsNTIuNzY4MyAyMTkuMjc0Miw1Mi4zNjMzIEMyMjEuMDI3Miw1MS4zNzgzIDIyMi43ODcyLDUwLjQwNjMgMjI0LjU1NTIsNDkuNDQ2MyBDMjI1LjI4MjIsNDkuMDUzMyAyMjYuMTk0Miw0OS4zMjAzIDIyNi41ODkyLDUwLjA0ODMgQzIyNi45ODUyLDUwLjc3NzMgMjI2LjcxNDIsNTEuNjg3MyAyMjUuOTg3Miw1Mi4wODMzIEMyMjQuMjMxMiw1My4wMzUzIDIyMi40ODQyLDU0LjAwMTMgMjIwLjc0MjIsNTQuOTc4MyBDMjIwLjUxMDIsNTUuMTA5MyAyMjAuMjU4Miw1NS4xNzEzIDIyMC4wMDkyLDU1LjE3MTMgTDIyMC4wMDkyLDU1LjE3MTMgWiBNNjI2Ljk4MjIsNTkuMTM5MyBDNjI2LjcyMzIsNTkuMTM5MyA2MjYuNDYxMiw1OS4wNzMzIDYyNi4yMjIyLDU4LjkzMjMgQzYyNC41MTAyLDU3LjkyNTMgNjIyLjc5MDIsNTYuOTMxMyA2MjEuMDYwMiw1NS45NDkzIEM2MjAuMzQwMiw1NS41NDAzIDYyMC4wODcyLDU0LjYyNDMgNjIwLjQ5NjIsNTMuOTAzMyBDNjIwLjkwNTIsNTMuMTgxMyA2MjEuODIyMiw1Mi45MzAzIDYyMi41NDIyLDUzLjM0MDMgQzYyNC4yODQyLDU0LjMzMDMgNjI2LjAxODIsNTUuMzMyMyA2MjcuNzQzMiw1Ni4zNDYzIEM2MjguNDU3Miw1Ni43NjYzIDYyOC42OTYyLDU3LjY4NTMgNjI4LjI3NjIsNTguNDAwMyBDNjI3Ljk5NjIsNTguODc1MyA2MjcuNDk1Miw1OS4xMzkzIDYyNi45ODIyLDU5LjEzOTMgTDYyNi45ODIyLDU5LjEzOTMgWiBNMjA5LjYxODIsNjEuMjExMyBDMjA5LjExMDIsNjEuMjExMyAyMDguNjEzMiw2MC45NTIzIDIwOC4zMzIyLDYwLjQ4NDMgQzIwNy45MDQyLDU5Ljc3NDMgMjA4LjEzNDIsNTguODUyMyAyMDguODQ0Miw1OC40MjUzIEMyMTAuNTY3Miw1Ny4zODkzIDIxMi4yOTgyLDU2LjM2NjMgMjE0LjAzNjIsNTUuMzU1MyBDMjE0Ljc1MjIsNTQuOTM5MyAyMTUuNjcxMiw1NS4xODIzIDIxNi4wODcyLDU1Ljg5ODMgQzIxNi41MDMyLDU2LjYxNTMgMjE2LjI2MDIsNTcuNTMzMyAyMTUuNTQ0Miw1Ny45NDkzIEMyMTMuODE4Miw1OC45NTIzIDIxMi4xMDAyLDU5Ljk2NzMgMjEwLjM5MTIsNjAuOTk2MyBDMjEwLjE0OTIsNjEuMTQxMyAyMDkuODgyMiw2MS4yMTEzIDIwOS42MTgyLDYxLjIxMTMgTDIwOS42MTgyLDYxLjIxMTMgWiBNNjM3LjIxMDIsNjUuMzU2MyBDNjM2LjkzODIsNjUuMzU2MyA2MzYuNjYyMiw2NS4yODIzIDYzNi40MTQyLDY1LjEyNzMgQzYzNC43MzIyLDY0LjA3MDMgNjMzLjA0MDIsNjMuMDI1MyA2MzEuMzQxMiw2MS45OTMzIEM2MzAuNjMzMiw2MS41NjMzIDYzMC40MDcyLDYwLjY0MDMgNjMwLjgzNzIsNTkuOTMyMyBDNjMxLjI2ODIsNTkuMjIzMyA2MzIuMTkyMiw1OS4wMDAzIDYzMi44OTgyLDU5LjQyODMgQzYzNC42MTEyLDYwLjQ2ODMgNjM2LjMxNDIsNjEuNTIxMyA2MzguMDEwMiw2Mi41ODYzIEM2MzguNzExMiw2My4wMjYzIDYzOC45MjMyLDYzLjk1MjMgNjM4LjQ4MzIsNjQuNjU0MyBDNjM4LjE5NzIsNjUuMTA3MyA2MzcuNzA5Miw2NS4zNTYzIDYzNy4yMTAyLDY1LjM1NjMgTDYzNy4yMTAyLDY1LjM1NjMgWiBNMTk5LjQxMDIsNjcuNTUyMyBDMTk4LjkxNzIsNjcuNTUyMyAxOTguNDM0Miw2Ny4zMDkzIDE5OC4xNDcyLDY2Ljg2MzMgQzE5Ny42OTkyLDY2LjE2NjMgMTk3LjkwMzIsNjUuMjM4MyAxOTguNTk5Miw2NC43OTAzIEMyMDAuMjkwMiw2My43MDUzIDIwMS45ODkyLDYyLjYzMTMgMjAzLjY5NzIsNjEuNTcwMyBDMjA0LjQwMjIsNjEuMTM1MyAyMDUuMzI2Miw2MS4zNDkzIDIwNS43NjQyLDYyLjA1MjMgQzIwNi4yMDAyLDYyLjc1NjMgMjA1Ljk4NTIsNjMuNjgxMyAyMDUuMjgxMiw2NC4xMTkzIEMyMDMuNTg1Miw2NS4xNzMzIDIwMS44OTgyLDY2LjIzODMgMjAwLjIyMDIsNjcuMzE1MyBDMTk5Ljk2OTIsNjcuNDc1MyAxOTkuNjg4Miw2Ny41NTIzIDE5OS40MTAyLDY3LjU1MjMgTDE5OS40MTAyLDY3LjU1MjMgWiBNNjQ3LjI1OTIsNzEuODcxMyBDNjQ2Ljk3MjIsNzEuODcxMyA2NDYuNjgyMiw3MS43ODkzIDY0Ni40MjUyLDcxLjYxNzMgQzY0NC43NzQyLDcwLjUxMDMgNjQzLjExMzIsNjkuNDE3MyA2NDEuNDQ0Miw2OC4zMzQzIEM2NDAuNzQ4Miw2Ny44ODMzIDY0MC41NTEyLDY2Ljk1NDMgNjQxLjAwMjIsNjYuMjU5MyBDNjQxLjQ1MzIsNjUuNTY0MyA2NDIuMzg0Miw2NS4zNjgzIDY0My4wNzYyLDY1LjgxODMgQzY0NC43NTcyLDY2LjkwOTMgNjQ2LjQzMTIsNjguMDEwMyA2NDguMDk1Miw2OS4xMjUzIEM2NDguNzgzMiw2OS41ODYzIDY0OC45NjcyLDcwLjUxNzMgNjQ4LjUwNjIsNzEuMjA2MyBDNjQ4LjIxNzIsNzEuNjM3MyA2NDcuNzQyMiw3MS44NzEzIDY0Ny4yNTkyLDcxLjg3MTMgTDY0Ny4yNTkyLDcxLjg3MTMgWiBNMTg5LjM5NzIsNzQuMTkwMyBDMTg4LjkxODIsNzQuMTkwMyAxODguNDQ4Miw3My45NjIzIDE4OC4xNTcyLDczLjUzNzMgQzE4Ny42OTAyLDcyLjg1MzMgMTg3Ljg2NDIsNzEuOTIxMyAxODguNTQ4Miw3MS40NTIzIEMxOTAuMjA3Miw3MC4zMTczIDE5MS44NzQyLDY5LjE5NTMgMTkzLjU0OTIsNjguMDg1MyBDMTk0LjIzNzIsNjcuNjI3MyAxOTUuMTcwMiw2Ny44MTMzIDE5NS42MjgyLDY4LjUwNjMgQzE5Ni4wODYyLDY5LjE5NjMgMTk1Ljg5ODIsNzAuMTI4MyAxOTUuMjA3Miw3MC41ODUzIEMxOTMuNTQ0Miw3MS42ODczIDE5MS44ODkyLDcyLjgwMTMgMTkwLjI0MzIsNzMuOTI4MyBDMTg5Ljk4NDIsNzQuMTA1MyAxODkuNjg5Miw3NC4xOTAzIDE4OS4zOTcyLDc0LjE5MDMgTDE4OS4zOTcyLDc0LjE5MDMgWiBNNjU3LjExMzIsNzguNjc3MyBDNjU2LjgxMjIsNzguNjc3MyA2NTYuNTA4Miw3OC41ODgzIDY1Ni4yNDQyLDc4LjM5OTMgQzY1NC42MjQyLDc3LjI0NTMgNjUyLjk5NTIsNzYuMTAzMyA2NTEuMzU5Miw3NC45NzIzIEM2NTAuNjc3Miw3NC41MDIzIDY1MC41MDYyLDczLjU2NzMgNjUwLjk3NzIsNzIuODg1MyBDNjUxLjQ0NzIsNzIuMjAzMyA2NTIuMzg0Miw3Mi4wMzMzIDY1My4wNjQyLDcyLjUwNDMgQzY1NC43MTIyLDczLjY0MjMgNjU2LjM1MzIsNzQuNzk0MyA2NTcuOTg1Miw3NS45NTYzIEM2NTguNjU5Miw3Ni40MzYzIDY1OC44MTcyLDc3LjM3MzMgNjU4LjMzNjIsNzguMDQ4MyBDNjU4LjA0MzIsNzguNDU5MyA2NTcuNTgyMiw3OC42NzczIDY1Ny4xMTMyLDc4LjY3NzMgTDY1Ny4xMTMyLDc4LjY3NzMgWiBNMTc5LjU4NDIsODEuMTE2MyBDMTc5LjEyMTIsODEuMTE2MyAxNzguNjY0Miw4MC45MDIzIDE3OC4zNzAyLDgwLjQ5OTMgQzE3Ny44ODMyLDc5LjgzMDMgMTc4LjAzMDIsNzguODkxMyAxNzguNzAwMiw3OC40MDMzIEMxODAuMzI0Miw3Ny4yMjAzIDE4MS45NTcyLDc2LjA0OTMgMTgzLjU5OTIsNzQuODkxMyBDMTg0LjI3NjIsNzQuNDE0MyAxODUuMjEyMiw3NC41NzQzIDE4NS42OTAyLDc1LjI1MjMgQzE4Ni4xNjcyLDc1LjkyOTMgMTg2LjAwNjIsNzYuODY1MyAxODUuMzI5Miw3Ny4zNDIzIEMxODMuNjk5Miw3OC40OTMzIDE4Mi4wNzgyLDc5LjY1NDMgMTgwLjQ2NjIsODAuODI5MyBDMTgwLjE5OTIsODEuMDIyMyAxNzkuODkxMiw4MS4xMTYzIDE3OS41ODQyLDgxLjExNjMgTDE3OS41ODQyLDgxLjExNjMgWiBNNjY2Ljc2OTIsODUuNzcyMyBDNjY2LjQ1MzIsODUuNzcyMyA2NjYuMTM1Miw4NS42NzMzIDY2NS44NjQyLDg1LjQ2ODMgQzY2NC4yNzkyLDg0LjI2NzMgNjYyLjY4NDIsODMuMDc3MyA2NjEuMDc5Miw4MS44OTkzIEM2NjAuNDEyMiw4MS40MDgzIDY2MC4yNjkyLDgwLjQ2OTMgNjYwLjc1OTIsNzkuODAxMyBDNjYxLjI0OTIsNzkuMTM0MyA2NjIuMTg5Miw3OC45OTIzIDY2Mi44NTcyLDc5LjQ4MTMgQzY2NC40NzEyLDgwLjY2OTMgNjY2LjA3NzIsODEuODY3MyA2NjcuNjc1Miw4My4wNzYzIEM2NjguMzM1Miw4My41NzYzIDY2OC40NjYyLDg0LjUxNzMgNjY3Ljk2NjIsODUuMTc3MyBDNjY3LjY3MTIsODUuNTY3MyA2NjcuMjIyMiw4NS43NzIzIDY2Ni43NjkyLDg1Ljc3MjMgTDY2Ni43NjkyLDg1Ljc3MjMgWiBNMTY5Ljk4MDIsODguMzI0MyBDMTY5LjUzMTIsODguMzI0MyAxNjkuMDg4Miw4OC4xMjQzIDE2OC43OTIyLDg3Ljc0MjMgQzE2OC4yODUyLDg3LjA4NzMgMTY4LjQwNTIsODYuMTQ0MyAxNjkuMDYxMiw4NS42MzczIEMxNzAuNjUwMiw4NC40MDgzIDE3Mi4yNDcyLDgzLjE5MTMgMTczLjg1NDIsODEuOTg1MyBDMTc0LjUxNjIsODEuNDkwMyAxNzUuNDU3Miw4MS42MjMzIDE3NS45NTQyLDgyLjI4NTMgQzE3Ni40NTEyLDgyLjk0ODMgMTc2LjMxNzIsODMuODg3MyAxNzUuNjU0Miw4NC4zODQzIEMxNzQuMDYwMiw4NS41ODIzIDE3Mi40NzQyLDg2Ljc5MDMgMTcwLjg5NzIsODguMDEwMyBDMTcwLjYyMzIsODguMjIxMyAxNzAuMzAwMiw4OC4zMjQzIDE2OS45ODAyLDg4LjMyNDMgTDE2OS45ODAyLDg4LjMyNDMgWiBNNjc2LjIxNDIsOTMuMTQ1MyBDNjc1Ljg4NDIsOTMuMTQ1MyA2NzUuNTUyMiw5My4wMzczIDY3NS4yNzUyLDkyLjgxNDMgQzY3My43MjUyLDkxLjU2NjMgNjcyLjE2NTIsOTAuMzMxMyA2NzAuNTk1Miw4OS4xMDQzIEM2NjkuOTQzMiw4OC41OTQzIDY2OS44MjYyLDg3LjY1MjMgNjcwLjMzNjIsODYuOTk5MyBDNjcwLjg0NjIsODYuMzQ2MyA2NzEuNzg4Miw4Ni4yMjkzIDY3Mi40NDMyLDg2Ljc0MTMgQzY3NC4wMjMyLDg3Ljk3NTMgNjc1LjU5NDIsODkuMjIwMyA2NzcuMTU1Miw5MC40NzYzIEM2NzcuODAxMiw5MC45OTYzIDY3Ny45MDQyLDkxLjk0MDMgNjc3LjM4NDIsOTIuNTg2MyBDNjc3LjA4NzIsOTIuOTU0MyA2NzYuNjUzMiw5My4xNDUzIDY3Ni4yMTQyLDkzLjE0NTMgTDY3Ni4yMTQyLDkzLjE0NTMgWiBNMTYwLjU5MzIsOTUuODA5MyBDMTYwLjE1OTIsOTUuODA5MyAxNTkuNzMwMiw5NS42MjMzIDE1OS40MzMyLDk1LjI2MTMgQzE1OC45MDcyLDk0LjYyMjMgMTU4Ljk5OTIsOTMuNjc2MyAxNTkuNjQwMiw5My4xNTAzIEMxNjEuMTkxMiw5MS44NzYzIDE2Mi43NTIyLDkwLjYxMjMgMTY0LjMyMjIsODkuMzU5MyBDMTY0Ljk3MDIsODguODQ1MyAxNjUuOTEzMiw4OC45NDkzIDE2Ni40MzEyLDg5LjU5NjMgQzE2Ni45NDcyLDkwLjI0NDMgMTY2Ljg0MTIsOTEuMTg4MyAxNjYuMTk0Miw5MS43MDUzIEMxNjQuNjM1Miw5Mi45NDgzIDE2My4wODUyLDk0LjIwMjMgMTYxLjU0NDIsOTUuNDY4MyBDMTYxLjI2NTIsOTUuNjk4MyAxNjAuOTI4Miw5NS44MDkzIDE2MC41OTMyLDk1LjgwOTMgTDE2MC41OTMyLDk1LjgwOTMgWiBNNjg1LjQ0MzIsMTAwLjc5MzMgQzY4NS4wOTkyLDEwMC43OTMzIDY4NC43NTIyLDEwMC42NzQzIDY4NC40NzAyLDEwMC40MzMzIEM2ODIuOTU2Miw5OS4xNDEzIDY4MS40MzIyLDk3Ljg2MDMgNjc5Ljg5OTIsOTYuNTkwMyBDNjc5LjI2MTIsOTYuMDYyMyA2NzkuMTcyMiw5NS4xMTczIDY3OS43MDAyLDk0LjQ3ODMgQzY4MC4yMjkyLDkzLjg0MTMgNjgxLjE3MzIsOTMuNzUyMyA2ODEuODEzMiw5NC4yODAzIEM2ODMuMzU4Miw5NS41NTkzIDY4NC44OTIyLDk2Ljg1MDMgNjg2LjQxNzIsOTguMTUyMyBDNjg3LjA0NzIsOTguNjg5MyA2ODcuMTIyMiw5OS42MzYzIDY4Ni41ODQyLDEwMC4yNjYzIEM2ODYuMjg4MiwxMDAuNjE0MyA2ODUuODY2MiwxMDAuNzkzMyA2ODUuNDQzMiwxMDAuNzkzMyBMNjg1LjQ0MzIsMTAwLjc5MzMgWiBNMTUxLjQzMjIsMTAzLjU2MTMgQzE1MS4wMTMyLDEwMy41NjEzIDE1MC41OTcyLDEwMy4zODczIDE1MC4zMDEyLDEwMy4wNDgzIEMxNDkuNzU2MiwxMDIuNDIzMyAxNDkuODIxMiwxMDEuNDc1MyAxNTAuNDQ1MiwxMDAuOTMwMyBDMTUxLjk1NzIsOTkuNjExMyAxNTMuNDgxMiw5OC4zMDIzIDE1NS4wMTQyLDk3LjAwNjMgQzE1NS42NDcyLDk2LjQ3MDMgMTU2LjU5NTIsOTYuNTUxMyAxNTcuMTI4Miw5Ny4xODIzIEMxNTcuNjYzMiw5Ny44MTUzIDE1Ny41ODQyLDk4Ljc2MTMgMTU2Ljk1MTIsOTkuMjk3MyBDMTU1LjQzMDIsMTAwLjU4NDMgMTUzLjkxODIsMTAxLjg4MjMgMTUyLjQxNzIsMTAzLjE5MjMgQzE1Mi4xMzMyLDEwMy40MzkzIDE1MS43ODEyLDEwMy41NjEzIDE1MS40MzIyLDEwMy41NjEzIEwxNTEuNDMyMiwxMDMuNTYxMyBaIE02OTQuNDQ3MiwxMDguNzExMyBDNjk0LjA4OTIsMTA4LjcxMTMgNjkzLjcyOTIsMTA4LjU4MzMgNjkzLjQ0MjIsMTA4LjMyMzMgQzY5MS45NjYyLDEwNi45ODczIDY5MC40ODAyLDEwNS42NjEzIDY4OC45ODQyLDEwNC4zNDUzIEM2ODguMzYzMiwxMDMuNzk4MyA2ODguMzAxMiwxMDIuODUwMyA2ODguODQ5MiwxMDIuMjI5MyBDNjg5LjM5NDIsMTAxLjYwNjMgNjkwLjM0NDIsMTAxLjU0NTMgNjkwLjk2NTIsMTAyLjA5MzMgQzY5Mi40NzIyLDEwMy40MTkzIDY5My45NjgyLDEwNC43NTMzIDY5NS40NTUyLDEwNi4wOTgzIEM2OTYuMDcwMiwxMDYuNjU0MyA2OTYuMTE2MiwxMDcuNjAzMyA2OTUuNTYxMiwxMDguMjE3MyBDNjk1LjI2NTIsMTA4LjU0NTMgNjk0Ljg1NzIsMTA4LjcxMTMgNjk0LjQ0NzIsMTA4LjcxMTMgTDY5NC40NDcyLDEwOC43MTEzIFogTTE0Mi41MDAyLDExMS41NzczIEMxNDIuMDk3MiwxMTEuNTc3MyAxNDEuNjk1MiwxMTEuNDE1MyAxNDEuMzk5MiwxMTEuMDk1MyBDMTQwLjgzNjIsMTEwLjQ4NjMgMTQwLjg3MzIsMTA5LjUzODMgMTQxLjQ4MjIsMTA4Ljk3NTMgQzE0Mi45NTYyLDEwNy42MTMzIDE0NC40NDAyLDEwNi4yNjEzIDE0NS45MzQyLDEwNC45MjEzIEMxNDYuNTQ5MiwxMDQuMzY5MyAxNDcuNDk5MiwxMDQuNDE4MyAxNDguMDUyMiwxMDUuMDM1MyBDMTQ4LjYwNjIsMTA1LjY1MTMgMTQ4LjU1NDIsMTA2LjU5OTMgMTQ3LjkzODIsMTA3LjE1MzMgQzE0Ni40NTUyLDEwOC40ODQzIDE0NC45ODIyLDEwOS44MjYzIDE0My41MTkyLDExMS4xNzgzIEMxNDMuMjMwMiwxMTEuNDQ1MyAxNDIuODY0MiwxMTEuNTc3MyAxNDIuNTAwMiwxMTEuNTc3MyBMMTQyLjUwMDIsMTExLjU3NzMgWiBNNzAzLjIyMDIsMTE2Ljg4NzMgQzcwMi44NDYyLDExNi44ODczIDcwMi40NzIyLDExNi43NDkzIDcwMi4xODIyLDExNi40NjkzIEM3MDAuNzQ0MiwxMTUuMDkwMyA2OTkuMjk3MiwxMTMuNzIxMyA2OTcuODQwMiwxMTIuMzYzMyBDNjk3LjIzNTIsMTExLjc5ODMgNjk3LjIwMTIsMTEwLjg0OTMgNjk3Ljc2NzIsMTEwLjI0MzMgQzY5OC4zMzIyLDEwOS42MzczIDY5OS4yODIyLDEwOS42MDUzIDY5OS44ODcyLDExMC4xNzAzIEM3MDEuMzU0MiwxMTEuNTM4MyA3MDIuODExMiwxMTIuOTE3MyA3MDQuMjU4MiwxMTQuMzA1MyBDNzA0Ljg1NzIsMTE0Ljg3OTMgNzA0Ljg3NjIsMTE1LjgyODMgNzA0LjMwMjIsMTE2LjQyNTMgQzcwNC4wMDgyLDExNi43MzMzIDcwMy42MTQyLDExNi44ODczIDcwMy4yMjAyLDExNi44ODczIEw3MDMuMjIwMiwxMTYuODg3MyBaIE0xMzMuODEwMiwxMTkuODQ4MyBDMTMzLjQyMTIsMTE5Ljg0ODMgMTMzLjAzMjIsMTE5LjY5ODMgMTMyLjczODIsMTE5LjM5ODMgQzEzMi4xNTgyLDExOC44MDYzIDEzMi4xNjgyLDExNy44NTYzIDEzMi43NjAyLDExNy4yNzczIEMxMzQuMTk0MiwxMTUuODczMyAxMzUuNjM4MiwxMTQuNDc5MyAxMzcuMDkxMiwxMTMuMDk1MyBDMTM3LjY5MDIsMTEyLjUyMzMgMTM4LjYzODIsMTEyLjU0NjMgMTM5LjIxMTIsMTEzLjE0NzMgQzEzOS43ODIyLDExMy43NDczIDEzOS43NjAyLDExNC42OTYzIDEzOS4xNTkyLDExNS4yNjczIEMxMzcuNzE2MiwxMTYuNjQxMyAxMzYuMjgzMiwxMTguMDI1MyAxMzQuODYwMiwxMTkuNDIwMyBDMTM0LjU2ODIsMTE5LjcwNjMgMTM0LjE4OTIsMTE5Ljg0ODMgMTMzLjgxMDIsMTE5Ljg0ODMgTDEzMy44MTAyLDExOS44NDgzIFogTTcxMS43NTIyLDEyNS4zMTgzIEM3MTEuMzYzMiwxMjUuMzE4MyA3MTAuOTc2MiwxMjUuMTY5MyA3MTAuNjgzMiwxMjQuODcwMyBDNzA5LjI4NjIsMTIzLjQ0OTMgNzA3Ljg3OTIsMTIyLjAzODMgNzA2LjQ2MjIsMTIwLjYzNzMgQzcwNS44NzMyLDEyMC4wNTUzIDcwNS44NjcyLDExOS4xMDYzIDcwNi40NTAyLDExOC41MTYzIEM3MDcuMDMyMiwxMTcuOTI3MyA3MDcuOTgxMiwxMTcuOTIyMyA3MDguNTcxMiwxMTguNTA1MyBDNzA5Ljk5ODIsMTE5LjkxNTMgNzExLjQxNTIsMTIxLjMzNjMgNzEyLjgyMTIsMTIyLjc2NjMgQzcxMy40MDMyLDEyMy4zNTczIDcxMy4zOTUyLDEyNC4zMDczIDcxMi44MDQyLDEyNC44ODczIEM3MTIuNTEyMiwxMjUuMTc0MyA3MTIuMTMyMiwxMjUuMzE4MyA3MTEuNzUyMiwxMjUuMzE4MyBMNzExLjc1MjIsMTI1LjMxODMgWiBNMTI1LjM2NjIsMTI4LjM2OTMgQzEyNC45OTIyLDEyOC4zNjkzIDEyNC42MTcyLDEyOC4yMzAzIDEyNC4zMjYyLDEyNy45NTAzIEMxMjMuNzMwMiwxMjcuMzc2MyAxMjMuNzExMiwxMjYuNDI2MyAxMjQuMjg1MiwxMjUuODI5MyBDMTI1LjY3NjIsMTI0LjM4MjMgMTI3LjA3OTIsMTIyLjk0NzMgMTI4LjQ5MTIsMTIxLjUyMjMgQzEyOS4wNzQyLDEyMC45MzMzIDEzMC4wMjYyLDEyMC45MjkzIDEzMC42MTMyLDEyMS41MTIzIEMxMzEuMjAxMiwxMjIuMDk1MyAxMzEuMjA1MiwxMjMuMDQ2MyAxMzAuNjIyMiwxMjMuNjMzMyBDMTI5LjIyMDIsMTI1LjA0ODMgMTI3LjgyODIsMTI2LjQ3MjMgMTI2LjQ0NzIsMTI3LjkwODMgQzEyNi4xNTQyLDEyOC4yMTUzIDEyNS43NjAyLDEyOC4zNjkzIDEyNS4zNjYyLDEyOC4zNjkzIEwxMjUuMzY2MiwxMjguMzY5MyBaIE03MjAuMDM1MiwxMzMuOTk3MyBDNzE5LjYzMzIsMTMzLjk5NzMgNzE5LjIzMTIsMTMzLjgzNjMgNzE4LjkzNTIsMTMzLjUxNjMgQzcxNy41ODEyLDEzMi4wNTUzIDcxNi4yMTYyLDEzMC42MDQzIDcxNC44MzkyLDEyOS4xNjQzIEM3MTQuMjY3MiwxMjguNTY1MyA3MTQuMjg5MiwxMjcuNjE1MyA3MTQuODg4MiwxMjcuMDQzMyBDNzE1LjQ4NzIsMTI2LjQ3MjMgNzE2LjQzNjIsMTI2LjQ5MjMgNzE3LjAwOTIsMTI3LjA5MTMgQzcxOC4zOTYyLDEyOC41NDQzIDcxOS43NzEyLDEzMC4wMDUzIDcyMS4xMzYyLDEzMS40NzczIEM3MjEuNjk4MiwxMzIuMDg1MyA3MjEuNjYyMiwxMzMuMDM0MyA3MjEuMDU1MiwxMzMuNTk3MyBDNzIwLjc2NjIsMTMzLjg2NTMgNzIwLjQwMTIsMTMzLjk5NzMgNzIwLjAzNTIsMTMzLjk5NzMgTDcyMC4wMzUyLDEzMy45OTczIFogTTExNy4xNzMyLDEzNy4xMjczIEMxMTYuODE0MiwxMzcuMTI3MyAxMTYuNDUzMiwxMzYuOTk4MyAxMTYuMTY1MiwxMzYuNzM3MyBDMTE1LjU1MjIsMTM2LjE4MDMgMTE1LjUwNzIsMTM1LjIzMTMgMTE2LjA2NDIsMTM0LjYxODMgQzExNy40MTIyLDEzMy4xMzMzIDExOC43NzIyLDEzMS42NTgzIDEyMC4xNDIyLDEzMC4xOTMzIEMxMjAuNzA5MiwxMjkuNTg3MyAxMjEuNjU3MiwxMjkuNTU2MyAxMjIuMjYyMiwxMzAuMTIyMyBDMTIyLjg2NzIsMTMwLjY4ODMgMTIyLjg5OTIsMTMxLjYzNzMgMTIyLjMzMzIsMTMyLjI0MjMgQzEyMC45NzMyLDEzMy42OTczIDExOS42MjMyLDEzNS4xNjEzIDExOC4yODQyLDEzNi42MzUzIEMxMTcuOTg4MiwxMzYuOTYxMyAxMTcuNTgxMiwxMzcuMTI3MyAxMTcuMTczMiwxMzcuMTI3MyBMMTE3LjE3MzIsMTM3LjEyNzMgWiBNNzI4LjA2NzIsMTQyLjkxNDMgQzcyNy42NDkyLDE0Mi45MTQzIDcyNy4yMzMyLDE0Mi43NDAzIDcyNi45MzcyLDE0Mi40MDEzIEM3MjUuNjI1MiwxNDAuOTAxMyA3MjQuMzAzMiwxMzkuNDEwMyA3MjIuOTY5MiwxMzcuOTI5MyBDNzIyLjQxNDIsMTM3LjMxNDMgNzIyLjQ2NDIsMTM2LjM2NTMgNzIzLjA3OTIsMTM1LjgxMTMgQzcyMy42OTYyLDEzNS4yNTYzIDcyNC42NDQyLDEzNS4zMDUzIDcyNS4xOTcyLDEzNS45MjIzIEM3MjYuNTQxMiwxMzcuNDE0MyA3MjcuODczMiwxMzguOTE1MyA3MjkuMTk1MiwxNDAuNDI2MyBDNzI5Ljc0MDIsMTQxLjA1MDMgNzI5LjY3NzIsMTQxLjk5ODMgNzI5LjA1MzIsMTQyLjU0MzMgQzcyOC43NjkyLDE0Mi43OTIzIDcyOC40MTYyLDE0Mi45MTQzIDcyOC4wNjcyLDE0Mi45MTQzIEw3MjguMDY3MiwxNDIuOTE0MyBaIE0xMDkuMjQyMiwxNDYuMTIwMyBDMTA4Ljg5ODIsMTQ2LjEyMDMgMTA4LjU1MDIsMTQ2LjAwMjMgMTA4LjI2ODIsMTQ1Ljc1OTMgQzEwNy42MzkyLDE0NS4yMjAzIDEwNy41NjYyLDE0NC4yNzMzIDEwOC4xMDQyLDE0My42NDQzIEMxMDkuNDA5MiwxNDIuMTIwMyAxMTAuNzI1MiwxNDAuNjA3MyAxMTIuMDUxMiwxMzkuMTAyMyBDMTEyLjU5NzIsMTM4LjQ4MjMgMTEzLjU0NjIsMTM4LjQxOTMgMTE0LjE2ODIsMTM4Ljk2OTMgQzExNC43ODkyLDEzOS41MTczIDExNC44NDkyLDE0MC40NjQzIDExNC4zMDEyLDE0MS4wODczIEMxMTIuOTg1MiwxNDIuNTgwMyAxMTEuNjc5MiwxNDQuMDgzMyAxMTAuMzgzMiwxNDUuNTk1MyBDMTEwLjA4NjIsMTQ1Ljk0MjMgMTA5LjY2NTIsMTQ2LjEyMDMgMTA5LjI0MjIsMTQ2LjEyMDMgTDEwOS4yNDIyLDE0Ni4xMjAzIFogTTczNS44MzMyLDE1Mi4wNjQzIEM3MzUuNDAxMiwxNTIuMDY0MyA3MzQuOTcxMiwxNTEuODc4MyA3MzQuNjc1MiwxNTEuNTE4MyBDNzMzLjQwNjIsMTQ5Ljk4MDMgNzMyLjEyODIsMTQ4LjQ1MTMgNzMwLjgzODIsMTQ2LjkzMDMgQzczMC4zMDIyLDE0Ni4yOTgzIDczMC4zNzkyLDE0NS4zNTEzIDczMS4wMTEyLDE0NC44MTYzIEM3MzEuNjQ0MiwxNDQuMjgwMyA3MzIuNTg5MiwxNDQuMzU4MyA3MzMuMTI1MiwxNDQuOTg5MyBDNzM0LjQyNTIsMTQ2LjUyMTMgNzM1LjcxMzIsMTQ4LjA2MDMgNzM2Ljk4OTIsMTQ5LjYxMDMgQzczNy41MTcyLDE1MC4yNTAzIDczNy40MjYyLDE1MS4xOTUzIDczNi43ODYyLDE1MS43MjEzIEM3MzYuNTA3MiwxNTEuOTUyMyA3MzYuMTY5MiwxNTIuMDY0MyA3MzUuODMzMiwxNTIuMDY0MyBMNzM1LjgzMzIsMTUyLjA2NDMgWiBNNzQzLjMzMjIsMTYxLjQzOTMgQzc0Mi44ODUyLDE2MS40MzkzIDc0Mi40NDMyLDE2MS4yNDAzIDc0Mi4xNDcyLDE2MC44NTkzIEM3NDAuOTIzMiwxNTkuMjg0MyA3MzkuNjkwMiwxNTcuNzE3MyA3MzguNDQ1MiwxNTYuMTYxMyBDNzM3LjkyNzIsMTU1LjUxMzMgNzM4LjAzMTIsMTU0LjU2OTMgNzM4LjY3ODIsMTU0LjA1MjMgQzczOS4zMjgyLDE1My41MzQzIDc0MC4yNzEyLDE1My42NDEzIDc0MC43ODYyLDE1NC4yODYzIEM3NDIuMDQxMiwxNTUuODU0MyA3NDMuMjg0MiwxNTcuNDMyMyA3NDQuNTE2MiwxNTkuMDE5MyBDNzQ1LjAyNTIsMTU5LjY3MzMgNzQ0LjkwNTIsMTYwLjYxNjMgNzQ0LjI1MTIsMTYxLjEyNDMgQzc0My45NzgyLDE2MS4zMzczIDc0My42NTQyLDE2MS40MzkzIDc0My4zMzIyLDE2MS40MzkzIEw3NDMuMzMyMiwxNjEuNDM5MyBaIE03NTAuNTU2MiwxNzEuMDMzMyBDNzUwLjA5NDIsMTcxLjAzMzMgNzQ5LjYzNzIsMTcwLjgyMDMgNzQ5LjM0NDIsMTcwLjQxODMgQzc0OC4xNjcyLDE2OC44MDczIDc0Ni45ODAyLDE2Ny4yMDYzIDc0NS43ODAyLDE2NS42MTMzIEM3NDUuMjgxMiwxNjQuOTUyMyA3NDUuNDEzMiwxNjQuMDExMyA3NDYuMDc1MiwxNjMuNTEyMyBDNzQ2LjczODIsMTYzLjAxNDMgNzQ3LjY3NzIsMTYzLjE0NjMgNzQ4LjE3NjIsMTYzLjgwODMgQzc0OS4zODQyLDE2NS40MTMzIDc1MC41ODEyLDE2Ny4wMjYzIDc1MS43NjYyLDE2OC42NDgzIEM3NTIuMjU1MiwxNjkuMzE3MyA3NTIuMTA5MiwxNzAuMjU2MyA3NTEuNDQwMiwxNzAuNzQ0MyBDNzUxLjE3MzIsMTcwLjkzOTMgNzUwLjg2MzIsMTcxLjAzMzMgNzUwLjU1NjIsMTcxLjAzMzMgTDc1MC41NTYyLDE3MS4wMzMzIFogTTc1Ny40OTYyLDE4MC44MzQzIEM3NTcuMDE5MiwxODAuODM0MyA3NTYuNTQ5MiwxODAuNjA2MyA3NTYuMjU4MiwxODAuMTgyMyBDNzU1LjEzMDIsMTc4LjUzNzMgNzUzLjk4OTIsMTc2LjkwMTMgNzUyLjgzNzIsMTc1LjI3NDMgQzc1Mi4zNTgyLDE3NC41OTgzIDc1Mi41MTgyLDE3My42NjIzIDc1My4xOTQyLDE3My4xODMzIEM3NTMuODY3MiwxNzIuNzA1MyA3NTQuODA3MiwxNzIuODYzMyA3NTUuMjg0MiwxNzMuNTQwMyBDNzU2LjQ0NjIsMTc1LjE3ODMgNzU3LjU5NTIsMTc2LjgyODMgNzU4LjczMzIsMTc4LjQ4NTMgQzc1OS4yMDAyLDE3OS4xNjkzIDc1OS4wMjcyLDE4MC4xMDIzIDc1OC4zNDQyLDE4MC41NzEzIEM3NTguMDg0MiwxODAuNzQ5MyA3NTcuNzg5MiwxODAuODM0MyA3NTcuNDk2MiwxODAuODM0MyBMNzU3LjQ5NjIsMTgwLjgzNDMgWiBNNzY0LjE0OTIsMTkwLjgzOTMgQzc2My42NTYyLDE5MC44MzkzIDc2My4xNzQyLDE5MC41OTYzIDc2Mi44ODcyLDE5MC4xNTEzIEM3NjEuODA2MiwxODguNDczMyA3NjAuNzEzMiwxODYuODAzMyA3NTkuNjA5MiwxODUuMTQyMyBDNzU5LjE1MDIsMTg0LjQ1MzMgNzU5LjMzNzIsMTgzLjUyMjMgNzYwLjAyODIsMTgzLjA2MzMgQzc2MC43MTYyLDE4Mi42MDUzIDc2MS42NDgyLDE4Mi43OTIzIDc2Mi4xMDcyLDE4My40ODIzIEM3NjMuMjE5MiwxODUuMTU1MyA3NjQuMzIwMiwxODYuODM3MyA3NjUuNDA4MiwxODguNTI2MyBDNzY1Ljg1ODIsMTg5LjIyMjMgNzY1LjY1NjIsMTkwLjE1MTMgNzY0Ljk2MDIsMTkwLjU5OTMgQzc2NC43MDkyLDE5MC43NjEzIDc2NC40MjcyLDE5MC44MzkzIDc2NC4xNDkyLDE5MC44MzkzIEw3NjQuMTQ5MiwxOTAuODM5MyBaIE03NzAuNTA2MiwyMDEuMDM1MyBDNzY5Ljk5ODIsMjAxLjAzNTMgNzY5LjUwMjIsMjAwLjc3NzMgNzY5LjIyMTIsMjAwLjMwOTMgQzc2OC4xOTAyLDE5OC42MDAzIDc2Ny4xNDcyLDE5Ni44OTkzIDc2Ni4wOTEyLDE5NS4yMDczIEM3NjUuNjUzMiwxOTQuNTA0MyA3NjUuODY2MiwxOTMuNTc4MyA3NjYuNTcwMiwxOTMuMTQwMyBDNzY3LjI3MjIsMTkyLjcwMjMgNzY4LjE5NzIsMTkyLjkxNjMgNzY4LjYzNjIsMTkzLjYxOTMgQzc2OS42OTkyLDE5NS4zMjUzIDc3MC43NTAyLDE5Ny4wMzgzIDc3MS43ODkyLDE5OC43NTkzIEM3NzIuMjE3MiwxOTkuNDY5MyA3NzEuOTg5MiwyMDAuMzkxMyA3NzEuMjgwMiwyMDAuODE5MyBDNzcxLjAzNzIsMjAwLjk2NTMgNzcwLjc3MTIsMjAxLjAzNTMgNzcwLjUwNjIsMjAxLjAzNTMgTDc3MC41MDYyLDIwMS4wMzUzIFogTTc3Ni41NjQyLDIxMS40MTczIEM3NzYuMDM5MiwyMTEuNDE3MyA3NzUuNTMwMiwyMTEuMTQyMyA3NzUuMjU1MiwyMTAuNjUzMyBDNzc0LjI3NTIsMjA4LjkxNDMgNzczLjI4MDIsMjA3LjE4MTMgNzcyLjI3NjIsMjA1LjQ1OTMgQzc3MS44NTkyLDIwNC43NDMzIDc3Mi4xMDAyLDIwMy44MjUzIDc3Mi44MTYyLDIwMy40MDczIEM3NzMuNTMwMiwyMDIuOTkwMyA3NzQuNDQ4MiwyMDMuMjMxMyA3NzQuODY3MiwyMDMuOTQ3MyBDNzc1Ljg4MDIsMjA1LjY4MzMgNzc2Ljg4MDIsMjA3LjQyNzMgNzc3Ljg2ODIsMjA5LjE4MDMgQzc3OC4yNzYyLDIwOS45MDIzIDc3OC4wMjAyLDIxMC44MTYzIDc3Ny4yOTgyLDIxMS4yMjMzIEM3NzcuMDY2MiwyMTEuMzU0MyA3NzYuODEzMiwyMTEuNDE3MyA3NzYuNTY0MiwyMTEuNDE3MyBMNzc2LjU2NDIsMjExLjQxNzMgWiBNNjEuNTcyMiwyMTQuOTEyMyBDNjEuMzI2MiwyMTQuOTEyMyA2MS4wNzgyLDIxNC44NTIzIDYwLjg0OTIsMjE0LjcyNTMgQzYwLjEyMzIsMjE0LjMyNjMgNTkuODU5MiwyMTMuNDE0MyA2MC4yNTkyLDIxMi42ODgzIEM2MS4yMjUyLDIxMC45MzMzIDYyLjIwNDIsMjA5LjE4ODMgNjMuMTk2MiwyMDcuNDUwMyBDNjMuNjA1MiwyMDYuNzI5MyA2NC41MjMyLDIwNi40NzkzIDY1LjI0MTIsMjA2Ljg5MDMgQzY1Ljk2MTIsMjA3LjMwMDMgNjYuMjExMiwyMDguMjE2MyA2NS44MDEyLDIwOC45MzYzIEM2NC44MTgyLDIxMC42NjEzIDYzLjg0NjIsMjEyLjM5NDMgNjIuODg2MiwyMTQuMTM1MyBDNjIuNjEzMiwyMTQuNjMxMyA2Mi4xMDAyLDIxNC45MTIzIDYxLjU3MjIsMjE0LjkxMjMgTDYxLjU3MjIsMjE0LjkxMjMgWiBNNzgyLjMxMzIsMjIxLjk3NjMgQzc4MS43NzQyLDIyMS45NzYzIDc4MS4yNTIyLDIyMS42ODUzIDc4MC45ODQyLDIyMS4xNzQzIEM3ODAuMDU1MiwyMTkuNDA2MyA3NzkuMTEzMiwyMTcuNjQ2MyA3NzguMTU3MiwyMTUuODkzMyBDNzc3Ljc2MTIsMjE1LjE2NjMgNzc4LjAzMDIsMjE0LjI1NTMgNzc4Ljc1NzIsMjEzLjg1ODMgQzc3OS40ODMyLDIxMy40NjQzIDc4MC4zOTYyLDIxMy43MzEzIDc4MC43OTIyLDIxNC40NTgzIEM3ODEuNzU0MiwyMTYuMjI0MyA3ODIuNzAzMiwyMTcuOTk4MyA3ODMuNjQwMiwyMTkuNzc4MyBDNzg0LjAyNTIsMjIwLjUxMTMgNzgzLjc0MzIsMjIxLjQxOTMgNzgzLjAxMDIsMjIxLjgwNDMgQzc4Mi43ODcyLDIyMS45MjEzIDc4Mi41NDgyLDIyMS45NzYzIDc4Mi4zMTMyLDIyMS45NzYzIEw3ODIuMzEzMiwyMjEuOTc2MyBaIE01NS45NTMyLDIyNS40NzMzIEM1NS43MjMyLDIyNS40NzMzIDU1LjQ4ODIsMjI1LjQyMTMgNTUuMjY5MiwyMjUuMzA3MyBDNTQuNTMyMiwyMjQuOTI5MyA1NC4yNDEyLDIyNC4wMjUzIDU0LjYyMDIsMjIzLjI4ODMgQzU1LjUzNDIsMjIxLjUwNzMgNTYuNDYxMiwyMTkuNzM0MyA1Ny40MDEyLDIxNy45NjgzIEM1Ny43OTAyLDIxNy4yMzYzIDU4LjY5ODIsMjE2Ljk2MjMgNTkuNDI5MiwyMTcuMzQ4MyBDNjAuMTYwMiwyMTcuNzM3MyA2MC40MzgyLDIxOC42NDUzIDYwLjA0OTIsMjE5LjM3NzMgQzU5LjExNzIsMjIxLjEzMTMgNTguMTk3MiwyMjIuODkwMyA1Ny4yODgyLDIyNC42NTkzIEM1Ny4wMjMyLDIyNS4xNzYzIDU2LjQ5NzIsMjI1LjQ3MzMgNTUuOTUzMiwyMjUuNDczMyBMNTUuOTUzMiwyMjUuNDczMyBaIE03ODcuNzUwMiwyMzIuNzAzMyBDNzg3LjE5NjIsMjMyLjcwMzMgNzg2LjY2MTIsMjMyLjM5MzMgNzg2LjQwMjIsMjMxLjg2MTMgQzc4NS41MjUyLDIzMC4wNjYzIDc4NC42MzQyLDIyOC4yNzczIDc4My43MzMyLDIyNi40OTczIEM3ODMuMzU4MiwyMjUuNzU3MyA3ODMuNjU0MiwyMjQuODU1MyA3ODQuMzkzMiwyMjQuNDgxMyBDNzg1LjEyODIsMjI0LjEwNzMgNzg2LjAzNTIsMjI0LjQwMjMgNzg2LjQwODIsMjI1LjE0MTMgQzc4Ny4zMTgyLDIyNi45MzUzIDc4OC4yMTQyLDIyOC43MzYzIDc4OS4wOTcyLDIzMC41NDUzIEM3ODkuNDYwMiwyMzEuMjg5MyA3ODkuMTUyMiwyMzIuMTg3MyA3ODguNDA3MiwyMzIuNTUwMyBDNzg4LjE5NjIsMjMyLjY1NDMgNzg3Ljk3MTIsMjMyLjcwMzMgNzg3Ljc1MDIsMjMyLjcwMzMgTDc4Ny43NTAyLDIzMi43MDMzIFogTTUwLjY0OTIsMjM2LjE5MjMgQzUwLjQzMjIsMjM2LjE5MjMgNTAuMjEzMiwyMzYuMTQ1MyA1MC4wMDQyLDIzNi4wNDczIEM0OS4yNTcyLDIzNS42OTAzIDQ4Ljk0MDIsMjM0Ljc5NTMgNDkuMjk1MiwyMzQuMDQ3MyBDNTAuMTU2MiwyMzIuMjQwMyA1MS4wMzAyLDIzMC40NDAzIDUxLjkxNzIsMjI4LjY0ODMgQzUyLjI4NTIsMjI3LjkwNzMgNTMuMTg3MiwyMjcuNjA0MyA1My45MjcyLDIyNy45NjkzIEM1NC42NzAyLDIyOC4zMzgzIDU0Ljk3NDIsMjI5LjIzNzMgNTQuNjA3MiwyMjkuOTgwMyBDNTMuNzI2MiwyMzEuNzU4MyA1Mi44NTgyLDIzMy41NDUzIDUyLjAwNDIsMjM1LjMzODMgQzUxLjc0NjIsMjM1Ljg3NzMgNTEuMjA5MiwyMzYuMTkyMyA1MC42NDkyLDIzNi4xOTIzIEw1MC42NDkyLDIzNi4xOTIzIFogTTc5Mi44NzAyLDI0My41ODgzIEM3OTIuMjk5MiwyNDMuNTg4MyA3OTEuNzUzMiwyNDMuMjYwMyA3OTEuNTAzMiwyNDIuNzA2MyBDNzkwLjY3OTIsMjQwLjg4NDMgNzg5Ljg0MjIsMjM5LjA3MTMgNzg4Ljk5MTIsMjM3LjI2NDMgQzc4OC42MzkyLDIzNi41MTQzIDc4OC45NjAyLDIzNS42MjEzIDc4OS43MTAyLDIzNS4yNjgzIEM3OTAuNDU5MiwyMzQuOTE4MyA3OTEuMzUzMiwyMzUuMjM4MyA3OTEuNzA2MiwyMzUuOTg3MyBDNzkyLjU2MzIsMjM3LjgwNzMgNzkzLjQwNTIsMjM5LjYzNDMgNzk0LjIzNjIsMjQxLjQ2OTMgQzc5NC41NzcyLDI0Mi4yMjQzIDc5NC4yNDIyLDI0My4xMTMzIDc5My40ODgyLDI0My40NTQzIEM3OTMuMjg3MiwyNDMuNTQ1MyA3OTMuMDc3MiwyNDMuNTg4MyA3OTIuODcwMiwyNDMuNTg4MyBMNzkyLjg3MDIsMjQzLjU4ODMgWiBNNzk3LjY2ODIsMjU0LjYyNTMgQzc5Ny4wODAyLDI1NC42MjUzIDc5Ni41MjMyLDI1NC4yNzgzIDc5Ni4yODIyLDI1My43MDIzIEM3OTUuNTEzMiwyNTEuODU2MyA3OTQuNzMwMiwyNTAuMDE4MyA3OTMuOTM0MiwyNDguMTg3MyBDNzkzLjYwMzIsMjQ3LjQyNzMgNzkzLjk1MDIsMjQ2LjU0NDMgNzk0LjcxMDIsMjQ2LjIxNDMgQzc5NS40NzMyLDI0NS44ODIzIDc5Ni4zNTUyLDI0Ni4yMzIzIDc5Ni42ODQyLDI0Ni45OTAzIEM3OTcuNDg4MiwyNDguODM1MyA3OTguMjc3MiwyNTAuNjg4MyA3OTkuMDUyMiwyNTIuNTQ4MyBDNzk5LjM3MDIsMjUzLjMxMjMgNzk5LjAwOTIsMjU0LjE5MDMgNzk4LjI0NDIsMjU0LjUwOTMgQzc5OC4wNTYyLDI1NC41ODgzIDc5Ny44NjEyLDI1NC42MjUzIDc5Ny42NjgyLDI1NC42MjUzIEw3OTcuNjY4MiwyNTQuNjI1MyBaIE04MDIuMTM3MiwyNjUuODAwMyBDODAxLjUzMzIsMjY1LjgwMDMgODAwLjk2NTIsMjY1LjQzNDMgODAwLjczNzIsMjY0LjgzNzMgQzgwMC4wMjEyLDI2Mi45NjgzIDc5OS4yOTIyLDI2MS4xMDczIDc5OC41NTEyLDI1OS4yNTIzIEM3OTguMjQzMiwyNTguNDgyMyA3OTguNjE3MiwyNTcuNjA5MyA3OTkuMzg3MiwyNTcuMzAyMyBDODAwLjE2MTIsMjU2Ljk5MzMgODAxLjAyOTIsMjU3LjM3MDMgODAxLjMzNjIsMjU4LjEzODMgQzgwMi4wODMyLDI2MC4wMDczIDgwMi44MTgyLDI2MS44ODIzIDgwMy41MzgyLDI2My43NjQzIEM4MDMuODM0MiwyNjQuNTM4MyA4MDMuNDQ2MiwyNjUuNDA1MyA4MDIuNjczMiwyNjUuNzAyMyBDODAyLjQ5NzIsMjY1Ljc2OTMgODAyLjMxNjIsMjY1LjgwMDMgODAyLjEzNzIsMjY1LjgwMDMgTDgwMi4xMzcyLDI2NS44MDAzIFogTTgwNi4yNzYyLDI3Ny4xMDkzIEM4MDUuNjU1MiwyNzcuMTA5MyA4MDUuMDc1MiwyNzYuNzIyMyA4MDQuODYwMiwyNzYuMTAzMyBDODA0LjE5OTIsMjc0LjIxNDMgODAzLjUyNzIsMjcyLjMzMjMgODAyLjg0MDIsMjcwLjQ1NTMgQzgwMi41NTUyLDI2OS42NzYzIDgwMi45NTQyLDI2OC44MTUzIDgwMy43MzMyLDI2OC41MzEzIEM4MDQuNTEwMiwyNjguMjQ1MyA4MDUuMzcyMiwyNjguNjQ2MyA4MDUuNjU2MiwyNjkuNDIzMyBDODA2LjM0OTIsMjcxLjMxNDMgODA3LjAyODIsMjczLjIxMTMgODA3LjY5MjIsMjc1LjExNTMgQzgwNy45NjUyLDI3NS44OTczIDgwNy41NTIyLDI3Ni43NTMzIDgwNi43NzAyLDI3Ny4wMjUzIEM4MDYuNjA3MiwyNzcuMDgzMyA4MDYuNDQwMiwyNzcuMTA5MyA4MDYuMjc2MiwyNzcuMTA5MyBMODA2LjI3NjIsMjc3LjEwOTMgWiBNODEwLjA3NzIsMjg4LjU0MDMgQzgwOS40NDAyLDI4OC41NDAzIDgwOC44NDkyLDI4OC4xMzEzIDgwOC42NDcyLDI4Ny40OTIzIEM4MDguMDQ0MiwyODUuNTgzMyA4MDcuNDI2MiwyODMuNjc5MyA4MDYuNzk2MiwyODEuNzg0MyBDODA2LjUzNDIsMjgwLjk5ODMgODA2Ljk1OTIsMjgwLjE0ODMgODA3Ljc0NTIsMjc5Ljg4NjMgQzgwOC41MzUyLDI3OS42MjYzIDgwOS4zODAyLDI4MC4wNTEzIDgwOS42NDMyLDI4MC44MzczIEM4MTAuMjc4MiwyODIuNzQ4MyA4MTAuOTAwMiwyODQuNjY1MyA4MTEuNTA4MiwyODYuNTg4MyBDODExLjc1NzIsMjg3LjM3ODMgODExLjMyMDIsMjg4LjIyMDMgODEwLjUzMDIsMjg4LjQ3MDMgQzgxMC4zNzkyLDI4OC41MTczIDgxMC4yMjcyLDI4OC41NDAzIDgxMC4wNzcyLDI4OC41NDAzIEw4MTAuMDc3MiwyODguNTQwMyBaIE04MTMuNTMxMiwzMDAuMDU2MyBDODEyLjg3ODIsMzAwLjA1NjMgODEyLjI3NzIsMjk5LjYyNjMgODEyLjA4OTIsMjk4Ljk2NjMgQzgxMS41NDQyLDI5Ny4wNDgzIDgxMC45ODcyLDI5NS4xMzQzIDgxMC40MTUyLDI5My4yMjgzIEM4MTAuMTc3MiwyOTIuNDM0MyA4MTAuNjI3MiwyOTEuNTk4MyA4MTEuNDIxMiwyOTEuMzYxMyBDODEyLjIxMzIsMjkxLjEyMzMgODEzLjA1MTIsMjkxLjU3NDMgODEzLjI4ODIsMjkyLjM2NzMgQzgxMy44NjMyLDI5NC4yODczIDgxNC40MjcyLDI5Ni4yMTQzIDgxNC45NzYyLDI5OC4xNDYzIEM4MTUuMjAxMiwyOTguOTQzMyA4MTQuNzM5MiwyOTkuNzczMyA4MTMuOTQzMiwzMDAuMDAwMyBDODEzLjgwNTIsMzAwLjAzODMgODEzLjY2NzIsMzAwLjA1NjMgODEzLjUzMTIsMzAwLjA1NjMgTDgxMy41MzEyLDMwMC4wNTYzIFogTTI1LjU5NDIsMzAzLjQ4NTMgQzI1LjQ2MjIsMzAzLjQ4NTMgMjUuMzI5MiwzMDMuNDY4MyAyNS4xOTcyLDMwMy40MzEzIEMyNC4zOTgyLDMwMy4yMTMzIDIzLjkyNzIsMzAyLjM4NzMgMjQuMTQ3MiwzMDEuNTg5MyBDMjQuNjc4MiwyOTkuNjUxMyAyNS4yMjQyLDI5Ny43MTkzIDI1Ljc4MzIsMjk1Ljc5MzMgQzI2LjAxNDIsMjk0Ljk5ODMgMjYuODQ0MiwyOTQuNTM4MyAyNy42NDMyLDI5NC43NzEzIEMyOC40MzgyLDI5NS4wMDMzIDI4Ljg5NjIsMjk1LjgzNTMgMjguNjY0MiwyOTYuNjMxMyBDMjguMTA5MiwyOTguNTQyMyAyNy41NjcyLDMwMC40NjAzIDI3LjAzOTIsMzAyLjM4MTMgQzI2Ljg1NzIsMzAzLjA0ODMgMjYuMjUyMiwzMDMuNDg1MyAyNS41OTQyLDMwMy40ODUzIEwyNS41OTQyLDMwMy40ODUzIFogTTgxNi42MzgyLDMxMS42NDUzIEM4MTUuOTY3MiwzMTEuNjQ1MyA4MTUuMzU2MiwzMTEuMTkyMyA4MTUuMTg1MiwzMTAuNTEyMyBDODE0LjY5NjIsMzA4LjU3OTMgODE0LjE5NTIsMzA2LjY1MTMgODEzLjY3OTIsMzA0LjcyODMgQzgxMy40NjUyLDMwMy45MjgzIDgxMy45NDAyLDMwMy4xMDUzIDgxNC43MzkyLDMwMi44OTAzIEM4MTUuNTM5MiwzMDIuNjgyMyA4MTYuMzYzMiwzMDMuMTUwMyA4MTYuNTc3MiwzMDMuOTUxMyBDODE3LjA5NzIsMzA1Ljg4ODMgODE3LjYwMzIsMzA3LjgzMTMgODE4LjA5MzIsMzA5Ljc3ODMgQzgxOC4yOTYyLDMxMC41ODIzIDgxNy44MDkyLDMxMS4zOTczIDgxNy4wMDYyLDMxMS41OTkzIEM4MTYuODgzMiwzMTEuNjMxMyA4MTYuNzU5MiwzMTEuNjQ1MyA4MTYuNjM4MiwzMTEuNjQ1MyBMODE2LjYzODIsMzExLjY0NTMgWiBNMjIuNTg4MiwzMTUuMTAwMyBDMjIuNDcxMiwzMTUuMTAwMyAyMi4zNTIyLDMxNS4wODczIDIyLjIzMzIsMzE1LjA1NzMgQzIxLjQyNzIsMzE0Ljg2MjMgMjAuOTM0MiwzMTQuMDUwMyAyMS4xMzAyLDMxMy4yNDYzIEMyMS42MDUyLDMxMS4yOTQzIDIyLjA5MzIsMzA5LjM0NzMgMjIuNTk1MiwzMDcuNDA2MyBDMjIuODAzMiwzMDYuNjAzMyAyMy42MTUyLDMwNi4xMjUzIDI0LjQyMjIsMzA2LjMyOTMgQzI1LjIyNTIsMzA2LjUzNjMgMjUuNzA2MiwzMDcuMzU0MyAyNS40OTkyLDMwOC4xNTYzIEMyNS4wMDEyLDMxMC4wODQzIDI0LjUxNzIsMzEyLjAxNjMgMjQuMDQ0MiwzMTMuOTU1MyBDMjMuODc3MiwzMTQuNjQxMyAyMy4yNjQyLDMxNS4xMDAzIDIyLjU4ODIsMzE1LjEwMDMgTDIyLjU4ODIsMzE1LjEwMDMgWiBNODE5LjQwMTIsMzIzLjMyMTMgQzgxOC43MTIyLDMyMy4zMjEzIDgxOC4wOTEyLDMyMi44NDQzIDgxNy45MzcyLDMyMi4xNDQzIEM4MTcuNTA3MiwzMjAuMTk3MyA4MTcuMDYyMiwzMTguMjU1MyA4MTYuNjA0MiwzMTYuMzE4MyBDODE2LjQxMzIsMzE1LjUxMTMgODE2LjkxMjIsMzE0LjcwNDMgODE3LjcxODIsMzE0LjUxMjMgQzgxOC41MjUyLDMxNC4zMjEzIDgxOS4zMzMyLDMxNC44MjEzIDgxOS41MjQyLDMxNS42MjczIEM4MTkuOTg1MiwzMTcuNTc5MyA4MjAuNDMzMiwzMTkuNTM1MyA4MjAuODY2MiwzMjEuNDk4MyBDODIxLjA0NTIsMzIyLjMwNjMgODIwLjUzNDIsMzIzLjEwNzMgODE5LjcyNTIsMzIzLjI4NjMgQzgxOS42MTYyLDMyMy4zMDkzIDgxOS41MDcyLDMyMy4zMjEzIDgxOS40MDEyLDMyMy4zMjEzIEw4MTkuNDAxMiwzMjMuMzIxMyBaIE0xOS45MjkyLDMyNi43OTgzIEMxOS44MjUyLDMyNi43OTgzIDE5LjcyMTIsMzI2Ljc4ODMgMTkuNjE2MiwzMjYuNzY2MyBDMTguODA2MiwzMjYuNTk0MyAxOC4yODcyLDMyNS43OTgzIDE4LjQ1OTIsMzI0Ljk4ODMgQzE4Ljg3NjIsMzIzLjAyMjMgMTkuMzA3MiwzMjEuMDYyMyAxOS43NTEyLDMxOS4xMDYzIEMxOS45MzUyLDMxOC4yOTkzIDIwLjc0MjIsMzE3Ljc5NjMgMjEuNTQ3MiwzMTcuOTc2MyBDMjIuMzU1MiwzMTguMTYxMyAyMi44NjEyLDMxOC45NjQzIDIyLjY3NzIsMzE5Ljc3MjMgQzIyLjIzNTIsMzIxLjcxMzMgMjEuODA4MiwzMjMuNjU5MyAyMS4zOTUyLDMyNS42MTAzIEMyMS4yNDUyLDMyNi4zMTUzIDIwLjYyMjIsMzI2Ljc5ODMgMTkuOTI5MiwzMjYuNzk4MyBMMTkuOTI5MiwzMjYuNzk4MyBaIE04MjEuODE3MiwzMzUuMDc0MyBDODIxLjExMTIsMzM1LjA3NDMgODIwLjQ4MjIsMzM0LjU3MzMgODIwLjM0NTIsMzMzLjg1NDMgQzgxOS45NzMyLDMzMS44OTUzIDgxOS41ODUyLDMyOS45NDAzIDgxOS4xODQyLDMyNy45OTEzIEM4MTkuMDE4MiwzMjcuMTgwMyA4MTkuNTQwMiwzMjYuMzg2MyA4MjAuMzUyMiwzMjYuMjIwMyBDODIxLjE1NDIsMzI2LjA1MDMgODIxLjk1NjIsMzI2LjU3NTMgODIyLjEyMjIsMzI3LjM4NzMgQzgyMi41MjcyLDMyOS4zNTAzIDgyMi45MTcyLDMzMS4zMTkzIDgyMy4yOTIyLDMzMy4yOTQzIEM4MjMuNDQ2MiwzMzQuMTA3MyA4MjIuOTEyMiwzMzQuODkyMyA4MjIuMDk5MiwzMzUuMDQ4MyBDODIyLjAwNDIsMzM1LjA2NTMgODIxLjkwOTIsMzM1LjA3NDMgODIxLjgxNzIsMzM1LjA3NDMgTDgyMS44MTcyLDMzNS4wNzQzIFogTTE3LjYxNjIsMzM4LjU3MTMgQzE3LjUyODIsMzM4LjU3MTMgMTcuNDM3MiwzMzguNTYzMyAxNy4zNDcyLDMzOC41NDczIEMxNi41MzEyLDMzOC4zOTkzIDE1Ljk5MDIsMzM3LjYxODMgMTYuMTM5MiwzMzYuODAzMyBDMTYuNDk3MiwzMzQuODI3MyAxNi44NjkyLDMzMi44NTQzIDE3LjI1NjIsMzMwLjg4NzMgQzE3LjQxNjIsMzMwLjA3NDMgMTguMjA2MiwzMjkuNTQ0MyAxOS4wMTcyLDMyOS43MDUzIEMxOS44MjkyLDMyOS44NjQzIDIwLjM2MDIsMzMwLjY1MjMgMjAuMTk5MiwzMzEuNDY1MyBDMTkuODE3MiwzMzMuNDE5MyAxOS40NDcyLDMzNS4zNzczIDE5LjA5MDIsMzM3LjMzOTMgQzE4Ljk1OTIsMzM4LjA2MzMgMTguMzI3MiwzMzguNTcxMyAxNy42MTYyLDMzOC41NzEzIEwxNy42MTYyLDMzOC41NzEzIFogTTgyMy44ODYyLDM0Ni44OTEzIEM4MjMuMTYyMiwzNDYuODkxMyA4MjIuNTI1MiwzNDYuMzY2MyA4MjIuNDA2MiwzNDUuNjI5MyBDODIyLjA5MTIsMzQzLjY2MDMgODIxLjc2MzIsMzQxLjY5NDMgODIxLjQxODIsMzM5LjczNTMgQzgyMS4yNzUyLDMzOC45MTkzIDgyMS44MjEyLDMzOC4xNDEzIDgyMi42MzYyLDMzNy45OTgzIEM4MjMuNDUyMiwzMzcuODUzMyA4MjQuMjMxMiwzMzguNDAxMyA4MjQuMzczMiwzMzkuMjE1MyBDODI0LjcyMDIsMzQxLjE5MDMgODI1LjA1MTIsMzQzLjE3MDMgODI1LjM2OTIsMzQ1LjE1NDMgQzgyNS41MDAyLDM0NS45NzIzIDgyNC45NDMyLDM0Ni43NDIzIDgyNC4xMjUyLDM0Ni44NzMzIEM4MjQuMDQ1MiwzNDYuODg1MyA4MjMuOTY1MiwzNDYuODkxMyA4MjMuODg2MiwzNDYuODkxMyBMODIzLjg4NjIsMzQ2Ljg5MTMgWiBNMTUuNjUxMiwzNTAuNDA4MyBDMTUuNTc2MiwzNTAuNDA4MyAxNS41MDAyLDM1MC40MDMzIDE1LjQyNTIsMzUwLjM5MTMgQzE0LjYwNjIsMzUwLjI2NzMgMTQuMDQyMiwzNDkuNTA0MyAxNC4xNjUyLDM0OC42ODQzIEMxNC40NjUyLDM0Ni42OTYzIDE0Ljc4MDIsMzQ0LjcxNDMgMTUuMTA5MiwzNDIuNzM2MyBDMTUuMjQ1MiwzNDEuOTIwMyAxNi4wMTAyLDM0MS4zNjYzIDE2LjgzNDIsMzQxLjUwMzMgQzE3LjY1MTIsMzQxLjYzODMgMTguMjAzMiwzNDIuNDExMyAxOC4wNjgyLDM0My4yMjczIEMxNy43NDIyLDM0NS4xOTEzIDE3LjQzMDIsMzQ3LjE1OTMgMTcuMTMyMiwzNDkuMTMxMyBDMTcuMDIwMiwzNDkuODc1MyAxNi4zODAyLDM1MC40MDgzIDE1LjY1MTIsMzUwLjQwODMgTDE1LjY1MTIsMzUwLjQwODMgWiBNODI1LjYwNjIsMzU4Ljc2NDMgQzgyNC44NjMyLDM1OC43NjQzIDgyNC4yMTgyLDM1OC4yMTQzIDgyNC4xMjAyLDM1Ny40NTgzIEM4MjMuODYzMiwzNTUuNDc5MyA4MjMuNTkyMiwzNTMuNTA2MyA4MjMuMzA2MiwzNTEuNTM3MyBDODIzLjE4NzIsMzUwLjcxNjMgODIzLjc1NTIsMzQ5Ljk1NjMgODI0LjU3NDIsMzQ5LjgzNzMgQzgyNS4zOTcyLDM0OS43MTczIDgyNi4xNTUyLDM1MC4yODUzIDgyNi4yNzUyLDM1MS4xMDUzIEM4MjYuNTYzMiwzNTMuMDg5MyA4MjYuODM2MiwzNTUuMDc4MyA4MjcuMDk1MiwzNTcuMDcxMyBDODI3LjIwMTIsMzU3Ljg5MjMgODI2LjYyMjIsMzU4LjY0NTMgODI1LjgwMTIsMzU4Ljc1MjMgQzgyNS43MzYyLDM1OC43NjAzIDgyNS42NzAyLDM1OC43NjQzIDgyNS42MDYyLDM1OC43NjQzIEw4MjUuNjA2MiwzNTguNzY0MyBaIE0xNC4wMzIyLDM2Mi4yOTYzIEMxMy45NzIyLDM2Mi4yOTYzIDEzLjkxMTIsMzYyLjI5MjMgMTMuODUwMiwzNjIuMjg1MyBDMTMuMDI4MiwzNjIuMTg1MyAxMi40NDIyLDM2MS40MzczIDEyLjU0MTIsMzYwLjYxNTMgQzEyLjc4MzIsMzU4LjYyMDMgMTMuMDM5MiwzNTYuNjI5MyAxMy4zMTAyLDM1NC42NDMzIEMxMy40MjEyLDM1My44MjIzIDE0LjE3NzIsMzUzLjI1MTMgMTQuOTk4MiwzNTMuMzU5MyBDMTUuODIwMiwzNTMuNDcxMyAxNi4zOTQyLDM1NC4yMjczIDE2LjI4MjIsMzU1LjA0ODMgQzE2LjAxNDIsMzU3LjAxOTMgMTUuNzYwMiwzNTguOTk1MyAxNS41MjAyLDM2MC45NzYzIEMxNS40MjcyLDM2MS43MzczIDE0Ljc4MDIsMzYyLjI5NjMgMTQuMDMyMiwzNjIuMjk2MyBMMTQuMDMyMiwzNjIuMjk2MyBaIE04MjYuOTc5MiwzNzAuNjg0MyBDODI2LjIxODIsMzcwLjY4NDMgODI1LjU2NjIsMzcwLjEwNzMgODI1LjQ4ODIsMzY5LjMzNTMgQzgyNS4yODgyLDM2Ny4zNDkzIDgyNS4wNzUyLDM2NS4zNjgzIDgyNC44NDgyLDM2My4zOTEzIEM4MjQuNzUzMiwzNjIuNTY4MyA4MjUuMzQ0MiwzNjEuODI0MyA4MjYuMTY2MiwzNjEuNzI5MyBDODI2Ljk4NzIsMzYxLjYzNjMgODI3LjczNTIsMzYyLjIyNDMgODI3LjgyODIsMzYzLjA0ODMgQzgyOC4wNTgyLDM2NS4wNDAzIDgyOC4yNzMyLDM2Ny4wMzUzIDgyOC40NzMyLDM2OS4wMzQzIEM4MjguNTU2MiwzNjkuODU5MyA4MjcuOTU1MiwzNzAuNTk0MyA4MjcuMTMxMiwzNzAuNjc2MyBDODI3LjA3OTIsMzcwLjY4MjMgODI3LjAyOTIsMzcwLjY4NDMgODI2Ljk3OTIsMzcwLjY4NDMgTDgyNi45NzkyLDM3MC42ODQzIFogTTEyLjc2NDIsMzc0LjIyNTMgQzEyLjcxODIsMzc0LjIyNTMgMTIuNjcyMiwzNzQuMjIzMyAxMi42MjUyLDM3NC4yMTkzIEMxMS44MDAyLDM3NC4xNDMzIDExLjE5MzIsMzczLjQxNDMgMTEuMjY4MiwzNzIuNTg5MyBDMTEuNDUxMiwzNzAuNTg3MyAxMS42NTAyLDM2OC41ODkzIDExLjg2MjIsMzY2LjU5NzMgQzExLjk0ODIsMzY1Ljc3MzMgMTIuNjg2MiwzNjUuMTc3MyAxMy41MTEyLDM2NS4yNjQzIEMxNC4zMzUyLDM2NS4zNTEzIDE0LjkzMjIsMzY2LjA5MDMgMTQuODQ0MiwzNjYuOTE0MyBDMTQuNjM0MiwzNjguODkyMyAxNC40MzgyLDM3MC44NzUzIDE0LjI1NjIsMzcyLjg2MjMgQzE0LjE4NTIsMzczLjY0MDMgMTMuNTMwMiwzNzQuMjI1MyAxMi43NjQyLDM3NC4yMjUzIEwxMi43NjQyLDM3NC4yMjUzIFogTTgyOC4wMDEyLDM4Mi42MzczIEM4MjcuMjIyMiwzODIuNjM3MyA4MjYuNTYzMiwzODIuMDM0MyA4MjYuNTA3MiwzODEuMjQ0MyBDODI2LjM2NTIsMzc5LjI1MzMgODI2LjIxMDIsMzc3LjI2NjMgODI2LjA0MTIsMzc1LjI4NDMgQzgyNS45NzAyLDM3NC40NTgzIDgyNi41ODIyLDM3My43MzIzIDgyNy40MDcyLDM3My42NjIzIEM4MjguMjI2MiwzNzMuNTg5MyA4MjguOTU5MiwzNzQuMjAzMyA4MjkuMDMwMiwzNzUuMDI4MyBDODI5LjIwMDIsMzc3LjAyNjMgODI5LjM1ODIsMzc5LjAyNjMgODI5LjQ5OTIsMzgxLjAzMTMgQzgyOS41NTgyLDM4MS44NTgzIDgyOC45MzYyLDM4Mi41NzUzIDgyOC4xMTAyLDM4Mi42MzMzIEM4MjguMDczMiwzODIuNjM2MyA4MjguMDM3MiwzODIuNjM3MyA4MjguMDAxMiwzODIuNjM3MyBMODI4LjAwMTIsMzgyLjYzNzMgWiBNMTEuODQ0MiwzODYuMTg4MyBDMTEuODEzMiwzODYuMTg4MyAxMS43ODEyLDM4Ni4xODczIDExLjc1MDIsMzg2LjE4NTMgQzEwLjkyMzIsMzg2LjEzMzMgMTAuMjk0MiwzODUuNDIyMyAxMC4zNDYyLDM4NC41OTUzIEMxMC40NzAyLDM4Mi41ODkzIDEwLjYxMDIsMzgwLjU4ODMgMTAuNzY0MiwzNzguNTg5MyBDMTAuODI2MiwzNzcuNzYxMyAxMS41NDQyLDM3Ny4xMjYzIDEyLjM3NDIsMzc3LjIwOTMgQzEzLjIwMDIsMzc3LjI3MjMgMTMuODE5MiwzNzcuOTkzMyAxMy43NTUyLDM3OC44MTkzIEMxMy42MDIyLDM4MC44MDIzIDEzLjQ2NDIsMzgyLjc5MTMgMTMuMzQwMiwzODQuNzgxMyBDMTMuMjkwMiwzODUuNTc2MyAxMi42MzAyLDM4Ni4xODgzIDExLjg0NDIsMzg2LjE4ODMgTDExLjg0NDIsMzg2LjE4ODMgWiBNODI4LjY3NzIsMzk0LjYxNjMgQzgyNy44NzcyLDM5NC42MTYzIDgyNy4yMTMyLDM5My45ODUzIDgyNy4xNzkyLDM5My4xNzgzIEM4MjcuMDk2MiwzOTEuMTg1MyA4MjYuOTk4MiwzODkuMTk1MyA4MjYuODg2MiwzODcuMjA4MyBDODI2Ljg0MDIsMzg2LjM4MTMgODI3LjQ3MzIsMzg1LjY3MzMgODI4LjMwMDIsMzg1LjYyNjMgQzgyOS4xMjkyLDM4NS42MTIzIDgyOS44MzUyLDM4Ni4yMTIzIDgyOS44ODIyLDM4Ny4wNDAzIEM4MjkuOTk0MiwzODkuMDQxMyA4MzAuMDkyMiwzOTEuMDQ1MyA4MzAuMTc3MiwzOTMuMDUzMyBDODMwLjIxMTIsMzkzLjg4MTMgODI5LjU2OTIsMzk0LjU4MDMgODI4Ljc0MDIsMzk0LjYxNTMgQzgyOC43MjAyLDM5NC42MTYzIDgyOC42OTgyLDM5NC42MTYzIDgyOC42NzcyLDM5NC42MTYzIEw4MjguNjc3MiwzOTQuNjE2MyBaIE0xMS4yNzMyLDM5OC4xNzMzIEMxMS4yNTYyLDM5OC4xNzMzIDExLjIzODIsMzk4LjE3MzMgMTEuMjIyMiwzOTguMTcyMyBDMTAuMzk0MiwzOTguMTQ0MyA5Ljc0NTIsMzk3LjQ1MTMgOS43NzMyLDM5Ni42MjMzIEM5LjgzOTIsMzk0LjYxNDMgOS45MjAyLDM5Mi42MDgzIDEwLjAxNjIsMzkwLjYwNzMgQzEwLjA1NjIsMzg5Ljc4MTMgMTAuNzE1MiwzODkuMTMyMyAxMS41ODUyLDM4OS4xODAzIEMxMi40MTIyLDM4OS4yMTkzIDEzLjA1MjIsMzg5LjkyMjMgMTMuMDEyMiwzOTAuNzUwMyBDMTIuOTE4MiwzOTIuNzM3MyAxMi44MzcyLDM5NC43MjczIDEyLjc3MTIsMzk2LjcyMjMgQzEyLjc0NDIsMzk3LjUzMzMgMTIuMDc4MiwzOTguMTczMyAxMS4yNzMyLDM5OC4xNzMzIEwxMS4yNzMyLDM5OC4xNzMzIFogTTgyOS4wMDUyLDQwNi42MDkzIEM4MjguMTg2Miw0MDYuNjA5MyA4MjcuNTE3Miw0MDUuOTUwMyA4MjcuNTA2Miw0MDUuMTI4MyBDODI3LjQ4MTIsNDAzLjEzMjMgODI3LjQ0MTIsNDAxLjE0MTMgODI3LjM4NzIsMzk5LjE1MzMgQzgyNy4zNjMyLDM5OC4zMjUzIDgyOC4wMTcyLDM5Ny42MzUzIDgyOC44NDUyLDM5Ny42MTMzIEM4MjkuNjc0MiwzOTcuNTM5MyA4MzAuMzYzMiwzOTguMjQzMyA4MzAuMzg1MiwzOTkuMDcxMyBDODMwLjQ0MTIsNDAxLjA3MzMgODMwLjQ4MTIsNDAzLjA4MDMgODMwLjUwNjIsNDA1LjA5MDMgQzgzMC41MTcyLDQwNS45MTkzIDgyOS44NTQyLDQwNi41OTgzIDgyOS4wMjUyLDQwNi42MDkzIEw4MjkuMDA1Miw0MDYuNjA5MyBaIE0xMS4wNDYyLDQxMC4xNTUzIEwxMS4wMzkyLDQxMC4xNTUzIEMxMC4yMTEyLDQxMC4xNTEzIDkuNTQyMiw0MDkuNDc3MyA5LjU0NjE4MjE2LDQwOC42NDgzIEM5LjU1NTIsNDA2LjYzODMgOS41NzgyLDQwNC42MzIzIDkuNjE1Miw0MDIuNjMwMyBDOS42MzIyLDQwMS44MDEzIDEwLjMyMTIsNDAxLjEyOTMgMTEuMTQ0Miw0MDEuMTU4MyBDMTEuOTcyMiw0MDEuMTczMyAxMi42MzEyLDQwMS44NTczIDEyLjYxNTIsNDAyLjY4NjMgQzEyLjU3ODIsNDA0LjY3MzMgMTIuNTU1Miw0MDYuNjY2MyAxMi41NDYyLDQwOC42NjIzIEMxMi41NDIyLDQwOS40ODgzIDExLjg3MTIsNDEwLjE1NTMgMTEuMDQ2Miw0MTAuMTU1MyBMMTEuMDQ2Miw0MTAuMTU1MyBaIE04MjguOTg4Miw0MTguNjA3MyBMODI4Ljk2NTIsNDE4LjYwNzMgQzgyOC4xMzcyLDQxOC41OTQzIDgyNy40NzYyLDQxNy45MTIzIDgyNy40ODgyLDQxNy4wODQzIEM4MjcuNTIwMiw0MTUuMDk0MyA4MjcuNTM3Miw0MTMuMTAxMyA4MjcuNTQwMiw0MTEuMTA2MyBDODI3LjU0MTIsNDEwLjI3ODMgODI4LjIxMzIsNDA5LjYwODMgODI5LjA0MDIsNDA5LjYwODMgTDgyOS4wNDIyLDQwOS42MDgzIEM4MjkuODcxMiw0MDkuNjA5MyA4MzAuNTQxMiw0MTAuMjgyMyA4MzAuNTQwMjAxLDQxMS4xMTAzIEM4MzAuNTM3Miw0MTMuMTIwMyA4MzAuNTIwMiw0MTUuMTI4MyA4MzAuNDg4Miw0MTcuMTMxMyBDODMwLjQ3NjIsNDE3Ljk1MTMgODI5LjgwNzIsNDE4LjYwNzMgODI4Ljk4ODIsNDE4LjYwNzMgTDgyOC45ODgyLDQxOC42MDczIFogTTExLjE2MzIsNDIyLjE1MjMgQzEwLjM1MjIsNDIyLjE1MjMgOS42ODUyLDQyMS41MDUzIDkuNjY0Miw0MjAuNjg5MyBDOS42MTUyLDQxOC42ODUzIDkuNTgxMiw0MTYuNjc5MyA5LjU2MjIsNDE0LjY2OTMgQzkuNTU0Miw0MTMuODQwMyAxMC4yMTkyLDQxMy4xNjIzIDExLjA0NzIsNDEzLjE1NDMgQzExLjg0NjIsNDEzLjE0MTMgMTIuNTU0Miw0MTMuODExMyAxMi41NjIyLDQxNC42MzkzIEMxMi41ODEyLDQxNi42MzQzIDEyLjYxNTIsNDE4LjYyNzMgMTIuNjY0Miw0MjAuNjE1MyBDMTIuNjg0Miw0MjEuNDQzMyAxMi4wMzAyLDQyMi4xMzEzIDExLjIwMTIsNDIyLjE1MjMgTDExLjE2MzIsNDIyLjE1MjMgWiBNODI4LjYyODIsNDMwLjU4OTMgQzgyOC42MDYyLDQzMC41ODkzIDgyOC41ODMyLDQzMC41ODkzIDgyOC41NjEyLDQzMC41ODgzIEM4MjcuNzMzMiw0MzAuNTUxMyA4MjcuMDkyMiw0MjkuODUwMyA4MjcuMTI4Miw0MjkuMDIzMyBDODI3LjIxNzIsNDI3LjAzNTMgODI3LjI5MjIsNDI1LjA0NDMgODI3LjM1MzIsNDIzLjA0OTMgQzgyNy4zNzcyLDQyMi4yMzczIDgyOC4wNDMyLDQyMS41OTQzIDgyOC44NTEyLDQyMS41OTQzIEM4MjguODY2Miw0MjEuNTk0MyA4MjguODgyMiw0MjEuNTk0MyA4MjguODk3Miw0MjEuNTk1MyBDODI5LjcyNTIsNDIxLjYyMDMgODMwLjM3NjIsNDIyLjMxMjMgODMwLjM1MTIsNDIzLjEzOTMgQzgzMC4yOTAyLDQyNS4xNDkzIDgzMC4yMTUyLDQyNy4xNTQzIDgzMC4xMjUyLDQyOS4xNTYzIEM4MzAuMDkwMiw0MjkuOTYyMyA4MjkuNDI2Miw0MzAuNTg5MyA4MjguNjI4Miw0MzAuNTg5MyBMODI4LjYyODIsNDMwLjU4OTMgWiBNMTEuNjI5Miw0MzQuMTQxMyBDMTAuODM3Miw0MzQuMTQxMyAxMC4xNzUyLDQzMy41MjEzIDEwLjEzMjIsNDMyLjcyMTMgQzEwLjAyNjIsNDMwLjcyMDMgOS45MzMyLDQyOC43MTQzIDkuODU1Miw0MjYuNzA3MyBDOS44MjIyLDQyNS44NzkzIDEwLjQ2NzIsNDI1LjE4MTMgMTEuMjk1Miw0MjUuMTQ5MyBDMTIuMTE4Miw0MjUuMTE4MyAxMi44MjEyLDQyNS43NjIzIDEyLjg1MzIsNDI2LjU4OTMgQzEyLjkzMTIsNDI4LjU4NDMgMTMuMDIyMiw0MzAuNTc0MyAxMy4xMjgyLDQzMi41NjEzIEMxMy4xNzIyLDQzMy4zODgzIDEyLjUzNzIsNDM0LjA5NTMgMTEuNzEwMiw0MzQuMTM5MyBDMTEuNjgzMiw0MzQuMTQwMyAxMS42NTUyLDQzNC4xNDEzIDExLjYyOTIsNDM0LjE0MTMgTDExLjYyOTIsNDM0LjE0MTMgWiBNODI3LjkxODIsNDQyLjU2NzMgQzgyNy44ODAyLDQ0Mi41NjczIDgyNy44NDMyLDQ0Mi41NjYzIDgyNy44MDYyLDQ0Mi41NjMzIEM4MjYuOTgwMiw0NDIuNTAyMyA4MjYuMzYwMiw0NDEuNzgzMyA4MjYuNDIwMiw0NDAuOTU3MyBDODI2LjU2ODIsNDM4Ljk3MjMgODI2LjY5OTIsNDM2Ljk4NTMgODI2LjgxODIsNDM0Ljk5MjMgQzgyNi44NjYyLDQzNC4xNjYzIDgyNy41NDMyLDQzMy41MzczIDgyOC40MDQyLDQzMy41ODQzIEM4MjkuMjMwMiw0MzMuNjMyMyA4MjkuODYxMiw0MzQuMzQyMyA4MjkuODEyMiw0MzUuMTcwMyBDODI5LjY5NDIsNDM3LjE3NjMgODI5LjU2MDIsNDM5LjE3OTMgODI5LjQxMjIsNDQxLjE3NzMgQzgyOS4zNTQyLDQ0MS45NjYzIDgyOC42OTYyLDQ0Mi41NjczIDgyNy45MTgyLDQ0Mi41NjczIEw4MjcuOTE4Miw0NDIuNTY3MyBaIE0xMi40NDIyLDQ0Ni4xMTEzIEMxMS42NjkyLDQ0Ni4xMTEzIDExLjAxMzIsNDQ1LjUxODMgMTAuOTQ4Miw0NDQuNzM0MyBDMTAuNzg0Miw0NDIuNzM3MyAxMC42MzMyLDQ0MC43MzUzIDEwLjQ5NzIsNDM4LjczMDMgQzEwLjQ0MTIsNDM3LjkwNDMgMTEuMDY2Miw0MzcuMTg4MyAxMS44OTIyLDQzNy4xMzIzIEMxMi43MDIyLDQzNy4wNzczIDEzLjQzNDIsNDM3LjcwMTMgMTMuNDkwMiw0MzguNTI3MyBDMTMuNjI1Miw0NDAuNTE4MyAxMy43NzUyLDQ0Mi41MDUzIDEzLjkzOTIsNDQ0LjQ4ODMgQzE0LjAwNjIsNDQ1LjMxMzMgMTMuMzkzMiw0NDYuMDM4MyAxMi41NjcyLDQ0Ni4xMDYzIEMxMi41MjUyLDQ0Ni4xMDkzIDEyLjQ4NDIsNDQ2LjExMTMgMTIuNDQyMiw0NDYuMTExMyBMMTIuNDQyMiw0NDYuMTExMyBaIE04MjYuODYwMiw0NTQuNTE4MyBDODI2LjgwODIsNDU0LjUxODMgODI2Ljc1NjIsNDU0LjUxNTMgODI2LjcwMzIsNDU0LjUxMDMgQzgyNS44NzkyLDQ1NC40MjUzIDgyNS4yODAyLDQ1My42ODgzIDgyNS4zNjUyLDQ1Mi44NjQzIEM4MjUuNTcwMiw0NTAuODg1MyA4MjUuNzYxMiw0NDguOTAzMyA4MjUuOTM2Miw0NDYuOTE1MyBDODI2LjAwODIsNDQ2LjA5MDMgODI2LjczNTIsNDQ1LjQ4MzMgODI3LjU2MjIsNDQ1LjU1MjMgQzgyOC4zODcyLDQ0NS42MjUzIDgyOC45OTcyLDQ0Ni4zNTMzIDgyOC45MjQyLDQ0Ny4xNzgzIEM4MjguNzQ3Miw0NDkuMTgwMyA4MjguNTU2Miw0NTEuMTc4MyA4MjguMzUwMiw0NTMuMTczMyBDODI4LjI3MDIsNDUzLjk0NDMgODI3LjYxODIsNDU0LjUxODMgODI2Ljg2MDIsNDU0LjUxODMgTDgyNi44NjAyLDQ1NC41MTgzIFogTTEzLjYwNDIsNDU4LjA1MjMgQzEyLjg1MDIsNDU4LjA1MjMgMTIuMjAxMiw0NTcuNDg2MyAxMi4xMTUyLDQ1Ni43MTkzIEMxMS44OTIyLDQ1NC43MjgzIDExLjY4MzIsNDUyLjczMTMgMTEuNDg4Miw0NTAuNzMxMyBDMTEuNDA3Miw0NDkuOTA3MyAxMi4wMTEyLDQ0OS4xNzMzIDEyLjgzNTIsNDQ5LjA5MjMgQzEzLjY1NTIsNDQ5LjAwOTMgMTQuMzkzMiw0NDkuNjE1MyAxNC40NzQyLDQ1MC40NDAzIEMxNC42NjcyLDQ1Mi40MjUzIDE0Ljg3NDIsNDU0LjQwODMgMTUuMDk2Miw0NTYuMzg1MyBDMTUuMTg5Miw0NTcuMjA5MyAxNC41OTYyLDQ1Ny45NTEzIDEzLjc3MzIsNDU4LjA0MzMgQzEzLjcxNjIsNDU4LjA0OTMgMTMuNjU5Miw0NTguMDUyMyAxMy42MDQyLDQ1OC4wNTIzIEwxMy42MDQyLDQ1OC4wNTIzIFogTTgyNS40NTIyLDQ2Ni40MzMzIEM4MjUuMzg2Miw0NjYuNDMzMyA4MjUuMzIwMiw0NjYuNDI5MyA4MjUuMjUyMiw0NjYuNDIxMyBDODI0LjQzMTIsNDY2LjMxMTMgODIzLjg1NDIsNDY1LjU1NjMgODIzLjk2MzIsNDY0LjczNTMgQzgyNC4yMjYyLDQ2Mi43NjMzIDgyNC40NzQyLDQ2MC43ODczIDgyNC43MDgyLDQ1OC44MDQzIEM4MjQuODA1Miw0NTcuOTgyMyA4MjUuNTQ5Miw0NTcuMzc3MyA4MjYuMzczMiw0NTcuNDkxMyBDODI3LjE5NjIsNDU3LjU4ODMgODI3Ljc4NDIsNDU4LjMzMzMgODI3LjY4NzIsNDU5LjE1NjMgQzgyNy40NTIyLDQ2MS4xNTIzIDgyNy4yMDIyLDQ2My4xNDQzIDgyNi45MzgyLDQ2NS4xMzEzIEM4MjYuODM3Miw0NjUuODg1MyA4MjYuMTkzMiw0NjYuNDMzMyA4MjUuNDUyMiw0NjYuNDMzMyBMODI1LjQ1MjIsNDY2LjQzMzMgWiBNMTUuMTEzMiw0NjkuOTU1MyBDMTQuMzc4Miw0NjkuOTU1MyAxMy43MzcyLDQ2OS40MTQzIDEzLjYzMDIsNDY4LjY2NjMgQzEzLjM0OTIsNDY2LjY4MDMgMTMuMDgxMiw0NjQuNjkyMyAxMi44MjgyLDQ2Mi42OTgzIEMxMi43MjQyLDQ2MS44NzczIDEzLjMwNjIsNDYxLjEyNjMgMTQuMTI4Miw0NjEuMDIxMyBDMTQuOTQyMiw0NjAuOTI0MyAxNS43MDAyLDQ2MS41MDAzIDE1LjgwNTIsNDYyLjMyMTMgQzE2LjA1NjIsNDY0LjI5OTMgMTYuMzIyMiw0NjYuMjc0MyAxNi42MDEyLDQ2OC4yNDQzIEMxNi43MTcyLDQ2OS4wNjQzIDE2LjE0NjIsNDY5LjgyNDMgMTUuMzI2Miw0NjkuOTQwMyBDMTUuMjU1Miw0NjkuOTUwMyAxNS4xODQyLDQ2OS45NTUzIDE1LjExMzIsNDY5Ljk1NTMgTDE1LjExMzIsNDY5Ljk1NTMgWiBNODIzLjY5NjIsNDc4LjMwMTMgQzgyMy42MTYyLDQ3OC4zMDEzIDgyMy41MzUyLDQ3OC4yOTYzIDgyMy40NTMyLDQ3OC4yODIzIEM4MjIuNjM2Miw0NzguMTQ5MyA4MjIuMDgxMiw0NzcuMzc4MyA4MjIuMjE0Miw0NzYuNTYwMyBDODIyLjUzNDIsNDc0LjU5NTMgODIyLjg0MTIsNDcyLjYyODMgODIzLjEzMjIsNDcwLjY1MzMgQzgyMy4yNTQyLDQ2OS44MzQzIDgyNC4wMTcyLDQ2OS4yNjYzIDgyNC44MzYyLDQ2OS4zODgzIEM4MjUuNjU1Miw0NjkuNTEwMyA4MjYuMjIyMiw0NzAuMjcyMyA4MjYuMTAwMiw0NzEuMDkyMyBDODI1LjgwNjIsNDczLjA4MTMgODI1LjQ5NzIsNDc1LjA2NDMgODI1LjE3NTIsNDc3LjA0MzMgQzgyNS4wNTUyLDQ3Ny43NzkzIDgyNC40MTgyLDQ3OC4zMDEzIDgyMy42OTYyLDQ3OC4zMDEzIEw4MjMuNjk2Miw0NzguMzAxMyBaIE0xNi45NzQyLDQ4MS44MDgzIEMxNi4yNTcyLDQ4MS44MDgzIDE1LjYyMzIsNDgxLjI5MzMgMTUuNDk3Miw0ODAuNTYzMyBDMTUuMTU3Miw0NzguNTg3MyAxNC44MzIyLDQ3Ni42MDYzIDE0LjUyMTIsNDc0LjYyMTMgQzE0LjM5MjIsNDczLjgwMjMgMTQuOTUxMiw0NzMuMDM1MyAxNS43NzAyLDQ3Mi45MDczIEMxNi41ODIyLDQ3Mi43ODAzIDE3LjM1NTIsNDczLjMzODMgMTcuNDg0Miw0NzQuMTU2MyBDMTcuNzkzMiw0NzYuMTI2MyAxOC4xMTYyLDQ3OC4wOTIzIDE4LjQ1NDIsNDgwLjA1MzMgQzE4LjU5NTIsNDgwLjg3MDMgMTguMDQ3Miw0ODEuNjQ2MyAxNy4yMzEyLDQ4MS43ODczIEMxNy4xNDQyLDQ4MS44MDEzIDE3LjA1OTIsNDgxLjgwODMgMTYuOTc0Miw0ODEuODA4MyBMMTYuOTc0Miw0ODEuODA4MyBaIE04MjEuNTkyMiw0OTAuMTE0MyBDODIxLjQ5NzIsNDkwLjExNDMgODIxLjQwMjIsNDkwLjEwNTMgODIxLjMwNjIsNDkwLjA4NzMgQzgyMC40OTIyLDQ4OS45MjkzIDgxOS45NjAyLDQ4OS4xNDIzIDgyMC4xMTcyLDQ4OC4zMzAzIEM4MjAuNDk1Miw0ODYuMzc2MyA4MjAuODU5Miw0ODQuNDE3MyA4MjEuMjA5Miw0ODIuNDUzMyBDODIxLjM1NjIsNDgxLjYzNzMgODIyLjEzMjIsNDgxLjEwMDMgODIyLjk0OTIsNDgxLjI0MDMgQzgyMy43NjUyLDQ4MS4zODUzIDgyNC4zMDgyLDQ4Mi4xNjUzIDgyNC4xNjIyLDQ4Mi45ODAzIEM4MjMuODEwMiw0ODQuOTU4MyA4MjMuNDQzMiw0ODYuOTMwMyA4MjMuMDYzMiw0ODguODk4MyBDODIyLjkyNDIsNDg5LjYxNjMgODIyLjI5NjIsNDkwLjExNDMgODIxLjU5MjIsNDkwLjExNDMgTDgyMS41OTIyLDQ5MC4xMTQzIFogTTE5LjE4MTIsNDkzLjYwMTMgQzE4LjQ4MzIsNDkzLjYwMTMgMTcuODU3Miw0OTMuMTEwMyAxNy43MTMyLDQ5Mi4zOTkzIEMxNy4zMTUyLDQ5MC40MzMzIDE2LjkzMTIsNDg4LjQ2NDMgMTYuNTYxMiw0ODYuNDg5MyBDMTYuNDA4Miw0ODUuNjc0MyAxNi45NDYyLDQ4NC44OTAzIDE3Ljc2MDIsNDg0LjczODMgQzE4LjU3MjIsNDg0LjU4NjMgMTkuMzU4Miw0ODUuMTIyMyAxOS41MTAyLDQ4NS45MzczIEMxOS44NzYyLDQ4Ny44OTczIDIwLjI1ODIsNDg5Ljg1MzMgMjAuNjUzMiw0OTEuODAzMyBDMjAuODE4Miw0OTIuNjE2MyAyMC4yOTIyLDQ5My40MDczIDE5LjQ4MTIsNDkzLjU3MTMgQzE5LjM4MDIsNDkzLjU5MTMgMTkuMjgwMiw0OTMuNjAxMyAxOS4xODEyLDQ5My42MDEzIEwxOS4xODEyLDQ5My42MDEzIFogTTgxOS4xNDAyLDUwMS44NTgzIEM4MTkuMDMxMiw1MDEuODU4MyA4MTguOTIxMiw1MDEuODQ2MyA4MTguODExMiw1MDEuODIyMyBDODE4LjAwMjIsNTAxLjY0MTMgODE3LjQ5NDIsNTAwLjgzOTMgODE3LjY3NTIsNTAwLjAzMDMgQzgxOC4xMTAyLDQ5OC4wODkzIDgxOC41MzEyLDQ5Ni4xNDEzIDgxOC45MzkyLDQ5NC4xODgzIEM4MTkuMTA5Miw0OTMuMzc4MyA4MTkuODk2Miw0OTIuODU0MyA4MjAuNzE0Miw0OTMuMDI2MyBDODIxLjUyNTIsNDkzLjE5NjMgODIyLjA0NTIsNDkzLjk5MDMgODIxLjg3NjIsNDk0LjgwMTMgQzgyMS40NjUyLDQ5Ni43NjgzIDgyMS4wNDAyLDQ5OC43MjkzIDgyMC42MDMyLDUwMC42ODYzIEM4MjAuNDQ2Miw1MDEuMzgzMyA4MTkuODI3Miw1MDEuODU4MyA4MTkuMTQwMiw1MDEuODU4MyBMODE5LjE0MDIsNTAxLjg1ODMgWiBNMjEuNzM3Miw1MDUuMzI1MyBDMjEuMDU1Miw1MDUuMzI1MyAyMC40MzkyLDUwNC44NTgzIDIwLjI3NzIsNTA0LjE2NjMgQzE5LjgyMTIsNTAyLjIxNDMgMTkuMzc5Miw1MDAuMjU1MyAxOC45NTEyLDQ5OC4yOTIzIEMxOC43NzYyLDQ5Ny40ODIzIDE5LjI4ODIsNDk2LjY4MzMgMjAuMDk4Miw0OTYuNTA2MyBDMjAuOTAyMiw0OTYuMzMyMyAyMS43MDYyLDQ5Ni44NDIzIDIxLjg4MzIsNDk3LjY1MzMgQzIyLjMwNzIsNDk5LjYwMjMgMjIuNzQ2Miw1MDEuNTQ2MyAyMy4xOTgyLDUwMy40ODQzIEMyMy4zODcyLDUwNC4yOTEzIDIyLjg4NTIsNTA1LjA5NzMgMjIuMDc4Miw1MDUuMjg2MyBDMjEuOTY0Miw1MDUuMzEyMyAyMS44NDkyLDUwNS4zMjUzIDIxLjczNzIsNTA1LjMyNTMgTDIxLjczNzIsNTA1LjMyNTMgWiBNODE2LjM0MjIsNTEzLjUyNjMgQzgxNi4yMTkyLDUxMy41MjYzIDgxNi4wOTQyLDUxMy41MTEzIDgxNS45NzAyLDUxMy40NzkzIEM4MTUuMTY3Miw1MTMuMjc0MyA4MTQuNjgzMiw1MTIuNDU4MyA4MTQuODg4Miw1MTEuNjU1MyBDODE1LjM4MDIsNTA5LjcyNjMgODE1Ljg1OTIsNTA3Ljc5MjMgODE2LjMyNTIsNTA1Ljg1MjMgQzgxNi41MTkyLDUwNS4wNDczIDgxNy4zMjcyLDUwNC41NTIzIDgxOC4xMzQyLDUwNC43NDUzIEM4MTguOTQwMiw1MDQuOTM4MyA4MTkuNDM2Miw1MDUuNzQ4MyA4MTkuMjQxMiw1MDYuNTUzMyBDODE4Ljc3MzIsNTA4LjUwNjMgODE4LjI5MDIsNTEwLjQ1NTMgODE3Ljc5NDIsNTEyLjM5NzMgQzgxNy42MjEyLDUxMy4wNzUzIDgxNy4wMTEyLDUxMy41MjYzIDgxNi4zNDIyLDUxMy41MjYzIEw4MTYuMzQyMiw1MTMuNTI2MyBaIE0yNC42MzUyLDUxNi45NjUzIEMyMy45NzEyLDUxNi45NjUzIDIzLjM2NDIsNTE2LjUyMjMgMjMuMTg2Miw1MTUuODQ5MyBDMjIuNjcyMiw1MTMuOTExMyAyMi4xNzIyLDUxMS45NjYzIDIxLjY4NzIsNTEwLjAxNzMgQzIxLjQ4ODIsNTA5LjIxNDMgMjEuOTc3Miw1MDguMzk5MyAyMi43ODAyLDUwOC4xOTkzIEMyMy41ODIyLDUwNy45OTgzIDI0LjM5ODIsNTA4LjQ4ODMgMjQuNTk5Miw1MDkuMjkzMyBDMjUuMDgwMiw1MTEuMjI4MyAyNS41NzYyLDUxMy4xNTczIDI2LjA4NjIsNTE1LjA4MjMgQzI2LjI5ODIsNTE1Ljg4MjMgMjUuODIxMiw1MTYuNzA0MyAyNS4wMjAyLDUxNi45MTYzIEMyNC44OTIyLDUxNi45NTAzIDI0Ljc2MjIsNTE2Ljk2NTMgMjQuNjM1Miw1MTYuOTY1MyBMMjQuNjM1Miw1MTYuOTY1MyBaIE04MTMuMjAyMiw1MjUuMTA1MyBDODEzLjA2NTIsNTI1LjEwNTMgODEyLjkyNjIsNTI1LjA4NzMgODEyLjc4NzIsNTI1LjA0NzMgQzgxMS45OTAyLDUyNC44MTgzIDgxMS41MzAyLDUyMy45ODczIDgxMS43NjAyLDUyMy4xOTEzIEM4MTIuMzEwMiw1MjEuMjc4MyA4MTIuODQ1Miw1MTkuMzYwMyA4MTMuMzY2Miw1MTcuNDM0MyBDODEzLjU4MzIsNTE2LjYzNDMgODE0LjQwMjIsNTE2LjE2MzMgODE1LjIwNzIsNTE2LjM3OTMgQzgxNi4wMDYyLDUxNi41OTUzIDgxNi40NzkyLDUxNy40MjAzIDgxNi4yNjMyLDUxOC4yMTkzIEM4MTUuNzM4Miw1MjAuMTU5MyA4MTUuMTk2Miw1MjIuMDkyMyA4MTQuNjQzMiw1MjQuMDE5MyBDODE0LjQ1NDIsNTI0LjY3NzMgODEzLjg1NDIsNTI1LjEwNTMgODEzLjIwMjIsNTI1LjEwNTMgTDgxMy4yMDIyLDUyNS4xMDUzIFogTTI3Ljg3NjIsNTI4LjUxODMgQzI3LjIzMDIsNTI4LjUxODMgMjYuNjMyMiw1MjguMDk2MyAyNi40MzkyLDUyNy40NDQzIEMyNS44NjkyLDUyNS41MjEzIDI1LjMxMzIsNTIzLjU5MzMgMjQuNzcwMiw1MjEuNjYwMyBDMjQuNTQ2Miw1MjAuODYzMyAyNS4wMTEyLDUyMC4wMzUzIDI1LjgwOTIsNTE5LjgxMDMgQzI2LjYwNDIsNTE5LjU4ODMgMjcuNDM0Miw1MjAuMDUxMyAyNy42NTgyLDUyMC44NDkzIEMyOC4xOTcyLDUyMi43NjkzIDI4Ljc1MDIsNTI0LjY4MzMgMjkuMzE2Miw1MjYuNTkyMyBDMjkuNTUxMiw1MjcuMzg2MyAyOS4wOTgyLDUyOC4yMjEzIDI4LjMwMzIsNTI4LjQ1NzMgQzI4LjE2MTIsNTI4LjQ5OTMgMjguMDE4Miw1MjguNTE4MyAyNy44NzYyLDUyOC41MTgzIEwyNy44NzYyLDUyOC41MTgzIFogTTgwOS43MTgyLDUzNi41ODgzIEM4MDkuNTY3Miw1MzYuNTg4MyA4MDkuNDEzMiw1MzYuNTY1MyA4MDkuMjYxMiw1MzYuNTE2MyBDODA4LjQ3MjIsNTM2LjI2NDMgODA4LjAzNzIsNTM1LjQyMDMgODA4LjI4OTIsNTM0LjYzMTMgQzgwOC44OTYyLDUzMi43MzUzIDgwOS40ODgyLDUzMC44MzMzIDgxMC4wNjYyLDUyOC45MjQzIEM4MTAuMzA2Miw1MjguMTMxMyA4MTEuMTUwMiw1MjcuNjg1MyA4MTEuOTM2Miw1MjcuOTIzMyBDODEyLjcyOTIsNTI4LjE2NDMgODEzLjE3NzIsNTI5LjAwMTMgODEyLjkzNzIsNTI5Ljc5NDMgQzgxMi4zNTUyLDUzMS43MTczIDgxMS43NTcyLDUzMy42MzMzIDgxMS4xNDcyLDUzNS41NDUzIEM4MTAuOTQzMiw1MzYuMTgxMyA4MTAuMzU0Miw1MzYuNTg4MyA4MDkuNzE4Miw1MzYuNTg4MyBMODA5LjcxODIsNTM2LjU4ODMgWiBNMzEuNDY4Miw1MzkuOTkyMyBDMzAuODM4Miw1MzkuOTkyMyAzMC4yNTEyLDUzOS41OTIzIDMwLjA0MzIsNTM4Ljk2MjMgQzI5LjQxMzIsNTM3LjA0ODMgMjguNzk3Miw1MzUuMTMwMyAyOC4xOTYyLDUzMy4yMDQzIEMyNy45NDgyLDUzMi40MTQzIDI4LjM4OTIsNTMxLjU3MjMgMjkuMTgwMiw1MzEuMzI1MyBDMjkuOTcyMiw1MzEuMDc1MyAzMC44MTMyLDUzMS41MjAzIDMxLjA1OTIsNTMyLjMwOTMgQzMxLjY1NjIsNTM0LjIxOTMgMzIuMjY3Miw1MzYuMTI1MyAzMi44OTMyLDUzOC4wMjIzIEMzMy4xNTIyLDUzOC44MDkzIDMyLjcyNDIsNTM5LjY1NzMgMzEuOTM4Miw1MzkuOTE3MyBDMzEuNzgxMiw1MzkuOTY3MyAzMS42MjMyLDUzOS45OTIzIDMxLjQ2ODIsNTM5Ljk5MjMgTDMxLjQ2ODIsNTM5Ljk5MjMgWiBNODA1LjkwMDIsNTQ3Ljk2MTMgQzgwNS43MzUyLDU0Ny45NjEzIDgwNS41NjYyLDU0Ny45MzMzIDgwNS40MDIyLDU0Ny44NzYzIEM4MDQuNjIwMiw1NDcuNjAwMyA4MDQuMjA5Miw1NDYuNzQ0MyA4MDQuNDg1Miw1NDUuOTYzMyBDODA1LjE0NzIsNTQ0LjA4NDMgODA1Ljc5NDIsNTQyLjIwMTMgODA2LjQzMDIsNTQwLjMxMDMgQzgwNi42OTUyLDUzOS41MjYzIDgwNy41MzkyLDUzOS4xMDEzIDgwOC4zMzAyLDUzOS4zNjczIEM4MDkuMTE1Miw1MzkuNjMxMyA4MDkuNTM3Miw1NDAuNDgxMyA4MDkuMjc0Miw1NDEuMjY3MyBDODA4LjYzNDIsNTQzLjE3MTMgODA3Ljk4MTIsNTQ1LjA2ODMgODA3LjMxNTIsNTQ2Ljk1OTMgQzgwNy4wOTcyLDU0Ny41NzYzIDgwNi41MTgyLDU0Ny45NjEzIDgwNS45MDAyLDU0Ny45NjEzIEw4MDUuOTAwMiw1NDcuOTYxMyBaIE0zNS40MDQyLDU1MS4zNzYzIEMzNC43OTAyLDU1MS4zNzYzIDM0LjIxNDIsNTUwLjk5NzMgMzMuOTkzMiw1NTAuMzg2MyBDMzMuMzA3Miw1NDguNDk0MyAzMi42MzUyLDU0Ni41OTQzIDMxLjk3NjIsNTQ0LjY4OTMgQzMxLjcwNTIsNTQzLjkwNjMgMzIuMTIwMiw1NDMuMDUxMyAzMi45MDQyLDU0Mi43ODEzIEMzMy42ODcyLDU0Mi41MTEzIDM0LjU0MDIsNTQyLjkyNjMgMzQuODEyMiw1NDMuNzA5MyBDMzUuNDY1Miw1NDUuNjAwMyAzNi4xMzMyLDU0Ny40ODYzIDM2LjgxNDIsNTQ5LjM2NTMgQzM3LjA5NjIsNTUwLjE0MzMgMzYuNjk0Miw1NTEuMDA0MyAzNS45MTQyLDU1MS4yODYzIEMzNS43NDYyLDU1MS4zNDczIDM1LjU3MzIsNTUxLjM3NjMgMzUuNDA0Miw1NTEuMzc2MyBMMzUuNDA0Miw1NTEuMzc2MyBaIE04MDEuNzQ1Miw1NTkuMjE3MyBDODAxLjU2NjIsNTU5LjIxNzMgODAxLjM4MzIsNTU5LjE4NTMgODAxLjIwNTIsNTU5LjExNzMgQzgwMC40MzIyLDU1OC44MTgzIDgwMC4wNDgyLDU1Ny45NTAzIDgwMC4zNDYyLDU1Ny4xNzczIEM4MDEuMDYzMiw1NTUuMzIwMyA4MDEuNzY3Miw1NTMuNDU2MyA4MDIuNDU2Miw1NTEuNTg2MyBDODAyLjc0MzIsNTUwLjgwOTMgODAzLjYwODIsNTUwLjQxMzMgODA0LjM4MzIsNTUwLjY5ODMgQzgwNS4xNTkyLDU1MC45ODUzIDgwNS41NTgyLDU1MS44NDczIDgwNS4yNzEyLDU1Mi42MjUzIEM4MDQuNTc1Miw1NTQuNTA4MyA4MDMuODY3Miw1NTYuMzg2MyA4MDMuMTQ1Miw1NTguMjU3MyBDODAyLjkxNTIsNTU4Ljg1MzMgODAyLjM0NzIsNTU5LjIxNzMgODAxLjc0NTIsNTU5LjIxNzMgTDgwMS43NDUyLDU1OS4yMTczIFogTTM5LjY3MzIsNTYyLjYzMjMgQzM5LjA3NjIsNTYyLjYzMjMgMzguNTEyMiw1NjIuMjc0MyAzOC4yNzkyLDU2MS42ODUzIEMzNy41MzYyLDU1OS44MTQzIDM2LjgwOTIsNTU3LjkzNjMgMzYuMDk0Miw1NTYuMDUyMyBDMzUuODAwMiw1NTUuMjc4MyAzNi4xOTAyLDU1NC40MTIzIDM2Ljk2NDIsNTU0LjExODMgQzM3Ljc0MjIsNTUzLjgyNDMgMzguNjA1Miw1NTQuMjEzMyAzOC44OTkyLDU1NC45ODgzIEMzOS42MDgyLDU1Ni44NTgzIDQwLjMzMTIsNTU4LjcyMjMgNDEuMDY4Miw1NjAuNTgwMyBDNDEuMzczMiw1NjEuMzQ5MyA0MC45OTYyLDU2Mi4yMjEzIDQwLjIyNjIsNTYyLjUyNzMgQzQwLjA0NDIsNTYyLjU5ODMgMzkuODU4Miw1NjIuNjMyMyAzOS42NzMyLDU2Mi42MzIzIEwzOS42NzMyLDU2Mi42MzIzIFogTTc5Ny4yNjkyLDU3MC4zMjMzIEM3OTcuMDc1Miw1NzAuMzIzMyA3OTYuODc5Miw1NzAuMjg2MyA3OTYuNjg5Miw1NzAuMjA2MyBDNzk1LjkyNTIsNTY5Ljg4NTMgNzk1LjU2NjIsNTY5LjAwNjMgNzk1Ljg4NzIsNTY4LjI0MjMgQzc5Ni42NTUyLDU2Ni40MTQzIDc5Ny40MDkyLDU2NC41NzkzIDc5OC4xNTMyLDU2Mi43MzgzIEM3OTguNDYyMiw1NjEuOTY4MyA3OTkuMzM4Miw1NjEuNjAzMyA4MDAuMTA0Miw1NjEuOTA3MyBDODAwLjg3MjIsNTYyLjIxNzMgODAxLjI0NDIsNTYzLjA5MTMgODAwLjkzNDIsNTYzLjg1OTMgQzgwMC4xODcyLDU2NS43MTQzIDc5OS40MjYyLDU2Ny41NjIzIDc5OC42NTMyLDU2OS40MDQzIEM3OTguNDExMiw1NjkuOTc4MyA3OTcuODU1Miw1NzAuMzIzMyA3OTcuMjY5Miw1NzAuMzIzMyBMNzk3LjI2OTIsNTcwLjMyMzMgWiBNNDQuMjc2Miw1NzMuNzU2MyBDNDMuNjk1Miw1NzMuNzU2MyA0My4xNDIyLDU3My40MTczIDQyLjg5NzIsNTcyLjg0OTMgQzQyLjEwMDIsNTcxLjAwMTMgNDEuMzE4Miw1NjkuMTQ2MyA0MC41NDcyLDU2Ny4yODUzIEM0MC4yMzAyLDU2Ni41MjAzIDQwLjU5NDIsNTY1LjY0MjMgNDEuMzYwMiw1NjUuMzI2MyBDNDIuMTI3Miw1NjUuMDA2MyA0My4wMDIyLDU2NS4zNzQzIDQzLjMxOTIsNTY2LjEzODMgQzQ0LjA4MzIsNTY3Ljk4NjMgNDQuODYyMiw1NjkuODI3MyA0NS42NTMyLDU3MS42NjIzIEM0NS45ODAyLDU3Mi40MjMzIDQ1LjYyOTIsNTczLjMwNTMgNDQuODY4Miw1NzMuNjMzMyBDNDQuNjc1Miw1NzMuNzE2MyA0NC40NzQyLDU3My43NTYzIDQ0LjI3NjIsNTczLjc1NjMgTDQ0LjI3NjIsNTczLjc1NjMgWiBNNzkyLjQ3ODIsNTgxLjI3MjMgQzc5Mi4yNzAyLDU4MS4yNzIzIDc5Mi4wNTkyLDU4MS4yMjkzIDc5MS44NTgyLDU4MS4xMzczIEM3OTEuMTAzMiw1ODAuNzk0MyA3OTAuNzcxMiw1NzkuOTA1MyA3OTEuMTEzMiw1NzkuMTUxMyBDNzkxLjkzNjIsNTc3LjM0NTMgNzkyLjc0NTIsNTc1LjUzMjMgNzkzLjU0MTIsNTczLjcxMzMgQzc5My44NzMyLDU3Mi45NTUzIDc5NC43NTUyLDU3Mi42MDYzIDc5NS41MTcyLDU3Mi45NDAzIEM3OTYuMjc2Miw1NzMuMjcyMyA3OTYuNjIxMiw1NzQuMTU2MyA3OTYuMjg5Miw1NzQuOTE2MyBDNzk1LjQ4ODIsNTc2Ljc0OTMgNzk0LjY3MjIsNTc4LjU3NDMgNzkzLjg0NDIsNTgwLjM5MzMgQzc5My41OTIyLDU4MC45NDYzIDc5My4wNDgyLDU4MS4yNzIzIDc5Mi40NzgyLDU4MS4yNzIzIEw3OTIuNDc4Miw1ODEuMjcyMyBaIE00OS4xOTkyLDU4NC43MzMzIEM0OC42MzUyLDU4NC43MzMzIDQ4LjA5NDIsNTg0LjQxMzMgNDcuODM5Miw1ODMuODY4MyBDNDYuOTg4Miw1ODIuMDQ1MyA0Ni4xNTIyLDU4MC4yMTQzIDQ1LjMyNjIsNTc4LjM3NzMgQzQ0Ljk4ODIsNTc3LjYyMTMgNDUuMzI1Miw1NzYuNzMzMyA0Ni4wODEyLDU3Ni4zOTMzIEM0Ni44MzYyLDU3Ni4wNTUzIDQ3LjcyNTIsNTc2LjM5MjMgNDguMDY1Miw1NzcuMTQ4MyBDNDguODgyMiw1NzguOTcyMyA0OS43MTMyLDU4MC43ODkzIDUwLjU1ODIsNTgyLjU5ODMgQzUwLjkwODIsNTgzLjM0OTMgNTAuNTgzMiw1ODQuMjQyMyA0OS44MzMyLDU4NC41OTIzIEM0OS42MjcyLDU4NC42ODgzIDQ5LjQxMTIsNTg0LjczMzMgNDkuMTk5Miw1ODQuNzMzMyBMNDkuMTk5Miw1ODQuNzMzMyBaIE03ODcuMzY0Miw1OTIuMDgwMyBDNzg3LjE0MzIsNTkyLjA4MDMgNzg2LjkxNzIsNTkyLjAzMTMgNzg2LjcwNDIsNTkxLjkyNjMgQzc4NS45NjEyLDU5MS41NjEzIDc4NS42NTQyLDU5MC42NjIzIDc4Ni4wMTkyLDU4OS45MTkzIEM3ODYuODk0Miw1ODguMTM3MyA3ODcuNzU2Miw1ODYuMzQ4MyA3ODguNjA3Miw1ODQuNTUyMyBDNzg4Ljk2MDIsNTgzLjgwMjMgNzg5Ljg1ODIsNTgzLjQ4MjMgNzkwLjYwNDIsNTgzLjgzOTMgQzc5MS4zNTMyLDU4NC4xOTMzIDc5MS42NzIyLDU4NS4wODgzIDc5MS4zMTgyLDU4NS44MzYzIEM3OTAuNDYxMiw1ODcuNjQ1MyA3ODkuNTkzMiw1ODkuNDQ2MyA3ODguNzEyMiw1OTEuMjQxMyBDNzg4LjQ1MTIsNTkxLjc3MjMgNzg3LjkxODIsNTkyLjA4MDMgNzg3LjM2NDIsNTkyLjA4MDMgTDc4Ny4zNjQyLDU5Mi4wODAzIFogTTU0LjQ0NzIsNTk1LjU1NjMgQzUzLjg5ODIsNTk1LjU1NjMgNTMuMzY5Miw1OTUuMjU1MyA1My4xMDYyLDU5NC43MzEzIEM1Mi4yMDIyLDU5Mi45MzUzIDUxLjMxMTIsNTkxLjEzMTMgNTAuNDMzMiw1ODkuMzE5MyBDNTAuMDcyMiw1ODguNTc0MyA1MC4zODMyLDU4Ny42NzYzIDUxLjEyODIsNTg3LjMxNTMgQzUxLjg3NDIsNTg2Ljk1MzMgNTIuNzcyMiw1ODcuMjY0MyA1My4xMzIyLDU4OC4wMTAzIEM1NC4wMDQyLDU4OS44MDgzIDU0Ljg4ODIsNTkxLjU5OTMgNTUuNzg1Miw1OTMuMzgyMyBDNTYuMTU3Miw1OTQuMTIyMyA1NS44NjAyLDU5NS4wMjQzIDU1LjEyMDIsNTk1LjM5NjMgQzU0LjkwNDIsNTk1LjUwNTMgNTQuNjczMiw1OTUuNTU2MyA1NC40NDcyLDU5NS41NTYzIEw1NC40NDcyLDU5NS41NTYzIFogTTc4MS45MzUyLDYwMi43MzczIEM3ODEuNjk4Miw2MDIuNzM3MyA3ODEuNDU4Miw2MDIuNjgxMyA3ODEuMjM1Miw2MDIuNTYzMyBDNzgwLjUwMjIsNjAyLjE3NjMgNzgwLjIyMzIsNjAxLjI2OTMgNzgwLjYxMDIsNjAwLjUzNzMgQzc4MS41MzYyLDU5OC43ODEzIDc4Mi40NTEyLDU5Ny4wMTgzIDc4My4zNTUyLDU5NS4yNDczIEM3ODMuNzMxMiw1OTQuNTA4MyA3ODQuNjMyMiw1OTQuMjE2MyA3ODUuMzcyMiw1OTQuNTkyMyBDNzg2LjExMDIsNTk0Ljk2ODMgNzg2LjQwNDIsNTk1Ljg3MjMgNzg2LjAyNzIsNTk2LjYxMDMgQzc4NS4xMTcyLDU5OC4zOTMzIDc4NC4xOTYyLDYwMC4xNzAzIDc4My4yNjIyLDYwMS45MzczIEM3ODIuOTkzMiw2MDIuNDQ3MyA3ODIuNDczMiw2MDIuNzM3MyA3ODEuOTM1Miw2MDIuNzM3MyBMNzgxLjkzNTIsNjAyLjczNzMgWiBNNjAuMDA5Miw2MDYuMjE4MyBDNTkuNDc2Miw2MDYuMjE4MyA1OC45NTkyLDYwNS45MzMzIDU4LjY4OTIsNjA1LjQzMTMgQzU3LjczMzIsNjAzLjY2MzMgNTYuNzg5Miw2MDEuODg2MyA1NS44NTgyLDYwMC4xMDMzIEM1NS40NzUyLDU5OS4zNjkzIDU1Ljc1OTIsNTk4LjQ2MzMgNTYuNDkzMiw1OTguMDc5MyBDNTcuMjI4Miw1OTcuNjk4MyA1OC4xMzQyLDU5Ny45ODAzIDU4LjUxODIsNTk4LjcxNDMgQzU5LjQ0MjIsNjAwLjQ4NjMgNjAuMzc5Miw2MDIuMjQ5MyA2MS4zMjcyLDYwNC4wMDYzIEM2MS43MjIyLDYwNC43MzQzIDYxLjQ0OTIsNjA1LjY0NDMgNjAuNzIxMiw2MDYuMDM4MyBDNjAuNDk0Miw2MDYuMTYxMyA2MC4yNTAyLDYwNi4yMTgzIDYwLjAwOTIsNjA2LjIxODMgTDYwLjAwOTIsNjA2LjIxODMgWiBNNzc2LjE5MzIsNjEzLjIzMzMgQzc3NS45NDIyLDYxMy4yMzMzIDc3NS42ODgyLDYxMy4xNzEzIDc3NS40NTQyLDYxMy4wMzkzIEM3NzQuNzM0Miw2MTIuNjMwMyA3NzQuNDgwMiw2MTEuNzE0MyA3NzQuODg5Miw2MTAuOTk0MyBDNzc1Ljg2NzIsNjA5LjI2NjMgNzc2LjgzMzIsNjA3LjUzMTMgNzc3Ljc4NjIsNjA1Ljc4NjMgQzc3OC4xODQyLDYwNS4wNTkzIDc3OS4wOTUyLDYwNC43OTIzIDc3OS44MjIyLDYwNS4xODkzIEM3ODAuNTQ5Miw2MDUuNTg3MyA3ODAuODE3Miw2MDYuNDk4MyA3ODAuNDE5Miw2MDcuMjI1MyBDNzc5LjQ1ODIsNjA4Ljk4MzMgNzc4LjQ4NTIsNjEwLjczMTMgNzc3LjQ5ODIsNjEyLjQ3MjMgQzc3Ny4yMjMyLDYxMi45NjAzIDc3Ni43MTUyLDYxMy4yMzMzIDc3Ni4xOTMyLDYxMy4yMzMzIEw3NzYuMTkzMiw2MTMuMjMzMyBaIE02NS44ODAyLDYxNi43MDkzIEM2NS4zNjMyLDYxNi43MDkzIDY0Ljg2MDIsNjE2LjQ0MTMgNjQuNTgxMiw2MTUuOTYxMyBDNjMuNTczMiw2MTQuMjIwMyA2Mi41NzgyLDYxMi40NzMzIDYxLjU5NjIsNjEwLjcxNzMgQzYxLjE5MTIsNjA5Ljk5NTMgNjEuNDQ4Miw2MDkuMDgxMyA2Mi4xNzIyLDYwOC42NzYzIEM2Mi44OTUyLDYwOC4yNzIzIDYzLjgxMDIsNjA4LjUzMDMgNjQuMjEzMiw2MDkuMjUzMyBDNjUuMTkwMiw2MTAuOTk1MyA2Ni4xNzcyLDYxMi43MzAzIDY3LjE3NzIsNjE0LjQ1NzMgQzY3LjU5MjIsNjE1LjE3MzMgNjcuMzQ4Miw2MTYuMDkxMyA2Ni42MzEyLDYxNi41MDYzIEM2Ni4zOTQyLDYxNi42NDQzIDY2LjEzNjIsNjE2LjcwOTMgNjUuODgwMiw2MTYuNzA5MyBMNjUuODgwMiw2MTYuNzA5MyBaIE03NzAuMTQ0Miw2MjMuNTYwMyBDNzY5Ljg3ODIsNjIzLjU2MDMgNzY5LjYxMTIsNjIzLjQ5MDMgNzY5LjM2NzIsNjIzLjM0MzMgQzc2OC42NTkyLDYyMi45MTQzIDc2OC40MzMyLDYyMS45OTIzIDc2OC44NjIyLDYyMS4yODMzIEM3NjkuODkxMiw2MTkuNTg0MyA3NzAuOTA4Miw2MTcuODc2MyA3NzEuOTEzMiw2MTYuMTYwMyBDNzcyLjMzMzIsNjE1LjQ0NjMgNzczLjI1MTIsNjE1LjIwODMgNzczLjk2NTIsNjE1LjYyNTMgQzc3NC42ODAyLDYxNi4wNDQzIDc3NC45MjAyLDYxNi45NjMzIDc3NC41MDEyLDYxNy42NzYzIEM3NzMuNDg4Miw2MTkuNDA1MyA3NzIuNDY1Miw2MjEuMTI1MyA3NzEuNDI4Miw2MjIuODM4MyBDNzcxLjE0NjIsNjIzLjMwMjMgNzcwLjY1MTIsNjIzLjU2MDMgNzcwLjE0NDIsNjIzLjU2MDMgTDc3MC4xNDQyLDYyMy41NjAzIFogTTcyLjA1NzIsNjI3LjAxODMgQzcxLjU1NTIsNjI3LjAxODMgNzEuMDY1Miw2MjYuNzY2MyA3MC43ODAyLDYyNi4zMDgzIEM2OS43MjIyLDYyNC41OTkzIDY4LjY3NjIsNjIyLjg4MjMgNjcuNjQzMiw2MjEuMTU3MyBDNjcuMjE3Miw2MjAuNDQ2MyA2Ny40NDgyLDYxOS41MjUzIDY4LjE1OTIsNjE5LjA5OTMgQzY4Ljg3MTIsNjE4LjY3MzMgNjkuNzkyMiw2MTguOTA1MyA3MC4yMTcyLDYxOS42MTYzIEM3MS4yNDIyLDYyMS4zMjgzIDcyLjI4MDIsNjIzLjAzMzMgNzMuMzMxMiw2MjQuNzI4MyBDNzMuNzY3Miw2MjUuNDMyMyA3My41NTAyLDYyNi4zNTczIDcyLjg0NjIsNjI2Ljc5NDMgQzcyLjYwMDIsNjI2Ljk0NjMgNzIuMzI3Miw2MjcuMDE4MyA3Mi4wNTcyLDYyNy4wMTgzIEw3Mi4wNTcyLDYyNy4wMTgzIFogTTc2My43OTMyLDYzMy43MDkzIEM3NjMuNTE0Miw2MzMuNzA5MyA3NjMuMjMyMiw2MzMuNjMxMyA3NjIuOTgwMiw2MzMuNDY4MyBDNzYyLjI4NDIsNjMzLjAxOTMgNzYyLjA4NTIsNjMyLjA5MDMgNzYyLjUzNDIsNjMxLjM5NDMgQzc2My42MTMyLDYyOS43MjUzIDc2NC42ODEyLDYyOC4wNDgzIDc2NS43MzYyLDYyNi4zNjEzIEM3NjYuMTc0Miw2MjUuNjYwMyA3NjcuMDk5Miw2MjUuNDQ0MyA3NjcuODAzMiw2MjUuODg1MyBDNzY4LjUwNTIsNjI2LjMyNTMgNzY4LjcxODIsNjI3LjI1MDMgNzY4LjI3OTIsNjI3Ljk1MzMgQzc2Ny4yMTYyLDYyOS42NTEzIDc2Ni4xNDEyLDYzMS4zNDAzIDc2NS4wNTQyLDYzMy4wMjMzIEM3NjQuNzY3Miw2MzMuNDY2MyA3NjQuMjg0Miw2MzMuNzA5MyA3NjMuNzkzMiw2MzMuNzA5MyBMNzYzLjc5MzIsNjMzLjcwOTMgWiBNNzguNTMxMiw2MzcuMTQwMyBDNzguMDQ1Miw2MzcuMTQwMyA3Ny41NjgyLDYzNi45MDQzIDc3LjI3OTIsNjM2LjQ2NjMgQzc2LjE3MTIsNjM0Ljc5MDMgNzUuMDc1Miw2MzMuMTA1MyA3My45OTIyLDYzMS40MTEzIEM3My41NDYyLDYzMC43MTQzIDczLjc1MDIsNjI5Ljc4NjMgNzQuNDQ3Miw2MjkuMzM5MyBDNzUuMTQ2Miw2MjguODkzMyA3Ni4wNzMyLDYyOS4wOTUzIDc2LjUyMDIsNjI5Ljc5NjMgQzc3LjU5NTIsNjMxLjQ3NjMgNzguNjgzMiw2MzMuMTQ5MyA3OS43ODIyLDYzNC44MTQzIEM4MC4yMzgyLDYzNS41MDUzIDgwLjA0ODIsNjM2LjQzNTMgNzkuMzU4Miw2MzYuODkyMyBDNzkuMTAzMiw2MzcuMDYwMyA3OC44MTYyLDYzNy4xNDAzIDc4LjUzMTIsNjM3LjE0MDMgTDc4LjUzMTIsNjM3LjE0MDMgWiBNNzU3LjE0NzIsNjQzLjY3MTMgQzc1Ni44NTMyLDY0My42NzEzIDc1Ni41NTcyLDY0My41ODUzIDc1Ni4yOTcyLDY0My40MDYzIEM3NTUuNjE0Miw2NDIuOTM2MyA3NTUuNDQzMiw2NDIuMDAzMyA3NTUuOTEyMiw2NDEuMzIwMyBDNzU3LjA0MDIsNjM5LjY4MjMgNzU4LjE1NTIsNjM4LjAzNjMgNzU5LjI2MDIsNjM2LjM4MTMgQzc1OS43MjAyLDYzNS42OTIzIDc2MC42NTIyLDYzNS41MDczIDc2MS4zNDEyLDYzNS45NjUzIEM3NjIuMDMwMiw2MzYuNDI1MyA3NjIuMjE2Miw2MzcuMzU3MyA3NjEuNzU2Miw2MzguMDQ3MyBDNzYwLjY0NDIsNjM5LjcxNDMgNzU5LjUxOTIsNjQxLjM3MjMgNzU4LjM4MzIsNjQzLjAyMTMgQzc1OC4wOTIyLDY0My40NDQzIDc1Ny42MjMyLDY0My42NzEzIDc1Ny4xNDcyLDY0My42NzEzIEw3NTcuMTQ3Miw2NDMuNjcxMyBaIE04NS4yOTgyLDY0Ny4wNjQzIEM4NC44MjYyLDY0Ny4wNjQzIDg0LjM2MzIsNjQ2Ljg0MjMgODQuMDcxMiw2NDYuNDI3MyBDODIuOTEzMiw2NDQuNzg0MyA4MS43NzAyLDY0My4xMzIzIDgwLjYzODIsNjQxLjQ3MTMgQzgwLjE3MTIsNjQwLjc4NzMgODAuMzQ4Miw2MzkuODU0MyA4MS4wMzIyLDYzOS4zODczIEM4MS43MTQyLDYzOC45MjAzIDgyLjY1MTIsNjM5LjA5NzMgODMuMTE2Miw2MzkuNzgyMyBDODQuMjQwMiw2NDEuNDI5MyA4NS4zNzYyLDY0My4wNjkzIDg2LjUyNDIsNjQ0LjcwMTMgQzg3LjAwMDIsNjQ1LjM3OTMgODYuODM4Miw2NDYuMzE0MyA4Ni4xNjAyLDY0Ni43OTEzIEM4NS44OTgyLDY0Ni45NzUzIDg1LjU5NzIsNjQ3LjA2NDMgODUuMjk4Miw2NDcuMDY0MyBMODUuMjk4Miw2NDcuMDY0MyBaIE03NTAuMjA5Miw2NTMuNDM2MyBDNzQ5LjkwMjIsNjUzLjQzNjMgNzQ5LjU5MTIsNjUzLjM0MjMgNzQ5LjMyMzIsNjUzLjE0NjMgQzc0OC42NTUyLDY1Mi42NTczIDc0OC41MTEyLDY1MS43MTgzIDc0OS4wMDAyLDY1MS4wNDkzIEM3NTAuMTc2Miw2NDkuNDQ1MyA3NTEuMzM5Miw2NDcuODMyMyA3NTIuNDkyMiw2NDYuMjEwMyBDNzUyLjk3NDIsNjQ1LjUzNTMgNzUzLjkwOTIsNjQ1LjM3NjMgNzU0LjU4NDIsNjQ1Ljg1NjMgQzc1NS4yNTkyLDY0Ni4zMzczIDc1NS40MTcyLDY0Ny4yNzMzIDc1NC45MzgyLDY0Ny45NDgzIEM3NTMuNzc3Miw2NDkuNTgyMyA3NTIuNjA0Miw2NTEuMjA3MyA3NTEuNDIwMiw2NTIuODIzMyBDNzUxLjEyNjIsNjUzLjIyMzMgNzUwLjY3MTIsNjUzLjQzNjMgNzUwLjIwOTIsNjUzLjQzNjMgTDc1MC4yMDkyLDY1My40MzYzIFogTTkyLjM1MjIsNjU2Ljc4NDMgQzkxLjg5NjIsNjU2Ljc4NDMgOTEuNDQ1Miw2NTYuNTc2MyA5MS4xNTAyLDY1Ni4xODIzIEM4OS45NDcyLDY1NC41NzQzIDg4Ljc1NDIsNjUyLjk1NzMgODcuNTc0Miw2NTEuMzMxMyBDODcuMDg4Miw2NTAuNjYxMyA4Ny4yMzcyLDY0OS43MjIzIDg3LjkwNzIsNjQ5LjIzNjMgQzg4LjU3NzIsNjQ4Ljc1MDMgODkuNTE3Miw2NDguODk4MyA5MC4wMDIyLDY0OS41NjkzIEM5MS4xNzQyLDY1MS4xODMzIDkyLjM1NzIsNjUyLjc4OTMgOTMuNTUyMiw2NTQuMzg1MyBDOTQuMDQ4Miw2NTUuMDQ4MyA5My45MTIyLDY1NS45ODkzIDkzLjI0OTIsNjU2LjQ4NTMgQzkyLjk4MDIsNjU2LjY4NjMgOTIuNjY0Miw2NTYuNzg0MyA5Mi4zNTIyLDY1Ni43ODQzIEw5Mi4zNTIyLDY1Ni43ODQzIFogTTc0Mi45ODgyLDY2Mi45OTkzIEM3NDIuNjY2Miw2NjIuOTk5MyA3NDIuMzQyMiw2NjIuODk1MyA3NDIuMDY5Miw2NjIuNjgyMyBDNzQxLjQxNDIsNjYyLjE3MzMgNzQxLjI5NzIsNjYxLjIzMTMgNzQxLjgwNjIsNjYwLjU3ODMgQzc0My4wMjgyLDY1OS4wMDYzIDc0NC4yMzgyLDY1Ny40MjczIDc0NS40MzgyLDY1NS44MzkzIEM3NDUuOTM4Miw2NTUuMTc3MyA3NDYuODc5Miw2NTUuMDQ5MyA3NDcuNTM5Miw2NTUuNTQ3MyBDNzQ4LjIwMDIsNjU2LjA0NzMgNzQ4LjMzMTIsNjU2Ljk4NzMgNzQ3LjgzMjIsNjU3LjY0ODMgQzc0Ni42MjMyLDY1OS4yNDgzIDc0NS40MDUyLDY2MC44MzkzIDc0NC4xNzMyLDY2Mi40MjAzIEM3NDMuODc3Miw2NjIuNzk5MyA3NDMuNDM2Miw2NjIuOTk5MyA3NDIuOTg4Miw2NjIuOTk5MyBMNzQyLjk4ODIsNjYyLjk5OTMgWiBNOTkuNjg1Miw2NjYuMjkzMyBDOTkuMjQzMiw2NjYuMjkzMyA5OC44MDYyLDY2Ni4wOTgzIDk4LjUwOTIsNjY1LjcyNTMgQzk3LjI2MDIsNjY0LjE1MzMgOTYuMDIyMiw2NjIuNTcyMyA5NC43OTUyLDY2MC45ODEzIEM5NC4yODkyLDY2MC4zMjYzIDk0LjQxMDIsNjU5LjM4MzMgOTUuMDY3Miw2NTguODc4MyBDOTUuNzIyMiw2NTguMzcyMyA5Ni42NjYyLDY1OC40OTQzIDk3LjE3MDIsNjU5LjE0OTMgQzk4LjM4OTIsNjYwLjcyODMgOTkuNjE3Miw2NjIuMjk4MyAxMDAuODU5Miw2NjMuODYwMyBDMTAxLjM3MzIsNjY0LjUwODMgMTAxLjI2NjIsNjY1LjQ1MjMgMTAwLjYxNjIsNjY1Ljk2NzMgQzEwMC4zNDEyLDY2Ni4xODYzIDEwMC4wMTIyLDY2Ni4yOTMzIDk5LjY4NTIsNjY2LjI5MzMgTDk5LjY4NTIsNjY2LjI5MzMgWiBNNzM1LjQ5MDIsNjcyLjM0NzMgQzczNS4xNTUyLDY3Mi4zNDczIDczNC44MTYyLDY3Mi4yMzUzIDczNC41MzYyLDY3Mi4wMDQzIEM3MzMuODk4Miw2NzEuNDc2MyA3MzMuODA4Miw2NzAuNTMxMyA3MzQuMzM1Miw2NjkuODkyMyBDNzM1LjYwMzIsNjY4LjM1NzMgNzM2Ljg1OTIsNjY2LjgxNDMgNzM4LjEwNTIsNjY1LjI2MTMgQzczOC42MjEyLDY2NC42MTYzIDczOS41NjcyLDY2NC41MDkzIDc0MC4yMTMyLDY2NS4wMzAzIEM3NDAuODYwMiw2NjUuNTQ4MyA3NDAuOTYzMiw2NjYuNDkyMyA3NDAuNDQ1Miw2NjcuMTM4MyBDNzM5LjE5MTIsNjY4LjcwMzMgNzM3LjkyNTIsNjcwLjI1NzMgNzM2LjY0ODIsNjcxLjgwMjMgQzczNi4zNTEyLDY3Mi4xNjIzIDczNS45MjIyLDY3Mi4zNDczIDczNS40OTAyLDY3Mi4zNDczIEw3MzUuNDkwMiw2NzIuMzQ3MyBaIE0xMDcuMjkwMiw2NzUuNTc5MyBDMTA2Ljg2MzIsNjc1LjU3OTMgMTA2LjQzOTIsNjc1LjM5NzMgMTA2LjE0MzIsNjc1LjA0NjMgQzEwNC44NDgyLDY3My41MDkzIDEwMy41NjQyLDY3MS45NjYzIDEwMi4yOTIyLDY3MC40MTMzIEMxMDEuNzY3Miw2NjkuNzcyMyAxMDEuODYyMiw2NjguODI3MyAxMDIuNTAyMiw2NjguMzAyMyBDMTAzLjE0MzIsNjY3Ljc3NzMgMTA0LjA4OTIsNjY3Ljg3MjMgMTA0LjYxMzIsNjY4LjUxMjMgQzEwNS44NzYyLDY3MC4wNTQzIDEwNy4xNTEyLDY3MS41ODgzIDEwOC40MzYyLDY3My4xMTIzIEMxMDguOTcwMiw2NzMuNzQ2MyAxMDguODkwMiw2NzQuNjkyMyAxMDguMjU2Miw2NzUuMjI1MyBDMTA3Ljk3NTIsNjc1LjQ2MzMgMTA3LjYzMTIsNjc1LjU3OTMgMTA3LjI5MDIsNjc1LjU3OTMgTDEwNy4yOTAyLDY3NS41NzkzIFogTTcyNy43MjEyLDY4MS40NzYzIEM3MjcuMzcwMiw2ODEuNDc2MyA3MjcuMDE4Miw2ODEuMzU0MyA3MjYuNzM0Miw2ODEuMTA0MyBDNzI2LjExMTIsNjgwLjU1ODMgNzI2LjA0ODIsNjc5LjYxMDMgNzI2LjU5NDIsNjc4Ljk4ODMgQzcyNy45MDYyLDY3Ny40OTAzIDcyOS4yMDcyLDY3NS45ODQzIDczMC40OTgyLDY3NC40NjYzIEM3MzEuMDM2Miw2NzMuODM5MyA3MzEuOTgzMiw2NzMuNzYwMyA3MzIuNjEzMiw2NzQuMjk3MyBDNzMzLjI0NDIsNjc0LjgzNDMgNzMzLjMyMTIsNjc1Ljc4MTMgNzMyLjc4MzIsNjc2LjQxMjMgQzczMS40ODMyLDY3Ny45MzkzIDczMC4xNzIyLDY3OS40NTczIDcyOC44NTAyLDY4MC45NjUzIEM3MjguNTUzMiw2ODEuMzAzMyA3MjguMTM5Miw2ODEuNDc2MyA3MjcuNzIxMiw2ODEuNDc2MyBMNzI3LjcyMTIsNjgxLjQ3NjMgWiBNMTE1LjE2MjIsNjg0LjYzOTMgQzExNC43NTAyLDY4NC42MzkzIDExNC4zMzkyLDY4NC40NzAzIDExNC4wNDMyLDY4NC4xMzkzIEMxMTIuNzA1Miw2ODIuNjQyMyAxMTEuMzc3Miw2ODEuMTM3MyAxMTAuMDYxMiw2NzkuNjIzMyBDMTA5LjUxNzIsNjc4Ljk5ODMgMTA5LjU4MzIsNjc4LjA0OTMgMTEwLjIwODIsNjc3LjUwNjMgQzExMC44MzQyLDY3Ni45NjEzIDExMS43ODAyLDY3Ny4wMzAzIDExMi4zMjQyLDY3Ny42NTQzIEMxMTMuNjMzMiw2NzkuMTU5MyAxMTQuOTUxMiw2ODAuNjU0MyAxMTYuMjgwMiw2ODIuMTM5MyBDMTE2LjgzMTIsNjgyLjc1NzMgMTE2Ljc3OTIsNjgzLjcwNjMgMTE2LjE2MTIsNjg0LjI1NzMgQzExNS44NzUyLDY4NC41MTMzIDExNS41MTgyLDY4NC42MzkzIDExNS4xNjIyLDY4NC42MzkzIEwxMTUuMTYyMiw2ODQuNjM5MyBaIE03MTkuNjg5Miw2OTAuMzc4MyBDNzE5LjMyMjIsNjkwLjM3ODMgNzE4Ljk1NjIsNjkwLjI0NTMgNzE4LjY2NzIsNjg5Ljk3NjMgQzcxOC4wNjEyLDY4OS40MTMzIDcxOC4wMjYyLDY4OC40NjQzIDcxOC41OTAyLDY4Ny44NTYzIEM3MTkuOTQ2Miw2ODYuMzk4MyA3MjEuMjkwMiw2ODQuOTI5MyA3MjIuNjI1Miw2ODMuNDUxMyBDNzIzLjE4MDIsNjgyLjgzNjMgNzI0LjEyODIsNjgyLjc4ODMgNzI0Ljc0MzIsNjgzLjM0MjMgQzcyNS4zNTkyLDY4My44OTczIDcyNS40MDcyLDY4NC44NDUzIDcyNC44NTIyLDY4NS40NjEzIEM3MjMuNTA3Miw2ODYuOTUxMyA3MjIuMTUzMiw2ODguNDI5MyA3MjAuNzg3Miw2ODkuODk5MyBDNzIwLjQ5MjIsNjkwLjIxNjMgNzIwLjA5MTIsNjkwLjM3ODMgNzE5LjY4OTIsNjkwLjM3ODMgTDcxOS42ODkyLDY5MC4zNzgzIFogTTEyMy4yOTMyLDY5My40NjQzIEMxMjIuODk3Miw2OTMuNDY0MyAxMjIuNTAwMiw2OTMuMzA3MyAxMjIuMjA1Miw2OTIuOTk2MyBDMTIwLjgyNDIsNjkxLjU0MTMgMTE5LjQ1MzIsNjkwLjA3NDMgMTE4LjA5MzIsNjg4LjU5ODMgQzExNy41MzEyLDY4Ny45ODkzIDExNy41NzAyLDY4Ny4wNDAzIDExOC4xNzkyLDY4Ni40NzkzIEMxMTguNzg2Miw2ODUuOTE3MyAxMTkuNzM4Miw2ODUuOTU0MyAxMjAuMjk4Miw2ODYuNTY1MyBDMTIxLjY0OTIsNjg4LjAzMTMgMTIzLjAxMDIsNjg5LjQ4NjMgMTI0LjM4MTIsNjkwLjkzMTMgQzEyNC45NTEyLDY5MS41MzIzIDEyNC45MjcyLDY5Mi40ODEzIDEyNC4zMjUyLDY5My4wNTEzIEMxMjQuMDM1Miw2OTMuMzI3MyAxMjMuNjY0Miw2OTMuNDY0MyAxMjMuMjkzMiw2OTMuNDY0MyBMMTIzLjI5MzIsNjkzLjQ2NDMgWiBNNzExLjM5NjIsNjk5LjA0MzMgQzcxMS4wMTYyLDY5OS4wNDMzIDcxMC42MzUyLDY5OC44OTkzIDcxMC4zNDMyLDY5OC42MTEzIEM3MDkuNzUzMiw2OTguMDMwMyA3MDkuNzQ2Miw2OTcuMDgwMyA3MTAuMzI3Miw2OTYuNDkwMyBDNzExLjcyNjIsNjk1LjA3MTMgNzEzLjExMzIsNjkzLjY0MTMgNzE0LjQ5MDIsNjkyLjIwNDMgQzcxNS4wNjIyLDY5MS42MDQzIDcxNi4wMTMyLDY5MS41ODQzIDcxNi42MTEyLDY5Mi4xNTczIEM3MTcuMjA5Miw2OTIuNzMwMyA3MTcuMjMwMiw2OTMuNjc5MyA3MTYuNjU3Miw2OTQuMjc4MyBDNzE1LjI3MDIsNjk1LjcyNzMgNzEzLjg3MjIsNjk3LjE2NzMgNzEyLjQ2NDIsNjk4LjU5NTMgQzcxMi4xNzAyLDY5OC44OTMzIDcxMS43ODMyLDY5OS4wNDMzIDcxMS4zOTYyLDY5OS4wNDMzIEw3MTEuMzk2Miw2OTkuMDQzMyBaIE0xMzEuNjc2Miw3MDIuMDQ1MyBDMTMxLjI5MzIsNzAyLjA0NTMgMTMwLjkxMTIsNzAxLjg5OTMgMTMwLjYxODIsNzAxLjYwODMgQzEyOS4xOTYyLDcwMC4xOTMzIDEyNy43ODIyLDY5OC43NjgzIDEyNi4zODAyLDY5Ny4zMzIzIEMxMjUuODAxMiw2OTYuNzM5MyAxMjUuODEzMiw2OTUuNzkwMyAxMjYuNDA1Miw2OTUuMjExMyBDMTI2Ljk5NzIsNjk0LjYzMTMgMTI3Ljk0ODIsNjk0LjY0NDMgMTI4LjUyNzIsNjk1LjIzNjMgQzEyOS45MTkyLDY5Ni42NjEzIDEzMS4zMjEyLDY5OC4wNzYzIDEzMi43MzQyLDY5OS40ODEzIEMxMzMuMzIyMiw3MDAuMDY1MyAxMzMuMzIzMiw3MDEuMDE1MyAxMzIuNzM5Miw3MDEuNjAyMyBDMTMyLjQ0NzIsNzAxLjg5NzMgMTMyLjA2MTIsNzAyLjA0NTMgMTMxLjY3NjIsNzAyLjA0NTMgTDEzMS42NzYyLDcwMi4wNDUzIFogTTcwMi44NTMyLDcwNy40NjQzIEM3MDIuNDU4Miw3MDcuNDY0MyA3MDIuMDY0Miw3MDcuMzA4MyA3MDEuNzcwMiw3MDcuMDAxMyBDNzAxLjE5NjIsNzA2LjQwMjMgNzAxLjIxNzIsNzA1LjQ1MzMgNzAxLjgxNjIsNzA0Ljg4MDMgQzcwMy4yNTQyLDcwMy41MDMzIDcwNC42ODQyLDcwMi4xMTQzIDcwNi4xMDMyLDcwMC43MTUzIEM3MDYuNjk0Miw3MDAuMTM0MyA3MDcuNjQzMiw3MDAuMTQyMyA3MDguMjI0Miw3MDAuNzMxMyBDNzA4LjgwNTIsNzAxLjMyMTMgNzA4Ljc5ODIsNzAyLjI3MTMgNzA4LjIwODIsNzAyLjg1MjMgQzcwNi43ODAyLDcwNC4yNjAzIDcwNS4zNDAyLDcwNS42NTkzIDcwMy44OTAyLDcwNy4wNDczIEM3MDMuNjAwMiw3MDcuMzI1MyA3MDMuMjI2Miw3MDcuNDY0MyA3MDIuODUzMiw3MDcuNDY0MyBMNzAyLjg1MzIsNzA3LjQ2NDMgWiBNMTQwLjMwMjIsNzEwLjM3NTMgQzEzOS45MzQyLDcxMC4zNzUzIDEzOS41NjYyLDcxMC4yNDAzIDEzOS4yNzYyLDcwOS45NjkzIEMxMzcuODEzMiw3MDguNTk2MyAxMzYuMzU5Miw3MDcuMjE0MyAxMzQuOTE2Miw3MDUuODIwMyBDMTM0LjMyMTIsNzA1LjI0NDMgMTM0LjMwNDIsNzA0LjI5NTMgMTM0Ljg3OTIsNzAzLjY5OTMgQzEzNS40NTYyLDcwMy4xMDMzIDEzNi40MDUyLDcwMy4wODczIDEzNy4wMDAyLDcwMy42NjIzIEMxMzguNDMzMiw3MDUuMDQ2MyAxMzkuODc1Miw3MDYuNDE5MyAxNDEuMzI4Miw3MDcuNzgxMyBDMTQxLjkzMjIsNzA4LjM0NzMgMTQxLjk2MzIsNzA5LjI5NzMgMTQxLjM5NjIsNzA5LjkwMTMgQzE0MS4xMDEyLDcxMC4yMTUzIDE0MC43MDEyLDcxMC4zNzUzIDE0MC4zMDIyLDcxMC4zNzUzIEwxNDAuMzAyMiw3MTAuMzc1MyBaIE02OTQuMDY3Miw3MTUuNjMzMyBDNjkzLjY1NzIsNzE1LjYzMzMgNjkzLjI0OTIsNzE1LjQ2NjMgNjkyLjk1MzIsNzE1LjEzOTMgQzY5Mi4zOTkyLDcxNC41MjQzIDY5Mi40NDYyLDcxMy41NzYzIDY5My4wNjEyLDcxMy4wMjAzIEM2OTQuNTQwMiw3MTEuNjg0MyA2OTYuMDEwMiw3MTAuMzM4MyA2OTcuNDY5Miw3MDguOTgxMyBDNjk4LjA3NDIsNzA4LjQxNzMgNjk5LjAyNjIsNzA4LjQ1MjMgNjk5LjU4OTIsNzA5LjA1ODMgQzcwMC4xNTQyLDcwOS42NjYzIDcwMC4xMTgyLDcxMC42MTUzIDY5OS41MTIyLDcxMS4xNzgzIEM2OTguMDQxMiw3MTIuNTQ1MyA2OTYuNTYyMiw3MTMuOTAxMyA2OTUuMDcyMiw3MTUuMjQ3MyBDNjk0Ljc4NTIsNzE1LjUwNjMgNjk0LjQyNTIsNzE1LjYzMzMgNjk0LjA2NzIsNzE1LjYzMzMgTDY5NC4wNjcyLDcxNS42MzMzIFogTTE0OS4xNjUyLDcxOC40NTAzIEMxNDguODEzMiw3MTguNDUwMyAxNDguNDU3Miw3MTguMzI2MyAxNDguMTcyMiw3MTguMDczMyBDMTQ2LjY3MTIsNzE2Ljc0NDMgMTQ1LjE3ODIsNzE1LjQwNTMgMTQzLjY5NjIsNzE0LjA1NDMgQzE0My4wODMyLDcxMy40OTYzIDE0My4wMzgyLDcxMi41NDgzIDE0My41OTYyLDcxMS45MzUzIEMxNDQuMTU1Miw3MTEuMzIyMyAxNDUuMTA2Miw3MTEuMjgwMyAxNDUuNzE1Miw3MTEuODM2MyBDMTQ3LjE4ODIsNzEzLjE3NjMgMTQ4LjY2OTIsNzE0LjUwNzMgMTUwLjE2MDIsNzE1LjgyNzMgQzE1MC43ODAyLDcxNi4zNzYzIDE1MC44MzgyLDcxNy4zMjQzIDE1MC4yODkyLDcxNy45NDQzIEMxNDkuOTkzMiw3MTguMjc5MyAxNDkuNTgwMiw3MTguNDUwMyAxNDkuMTY1Miw3MTguNDUwMyBMMTQ5LjE2NTIsNzE4LjQ1MDMgWiBNNjg1LjA0NDIsNzIzLjU0NzMgQzY4NC42MTkyLDcyMy41NDczIDY4NC4xOTcyLDcyMy4zNjgzIDY4My45MDEyLDcyMy4wMTkzIEM2ODMuMzYzMiw3MjIuMzg4MyA2ODMuNDQwMiw3MjEuNDQxMyA2ODQuMDcxMiw3MjAuOTA0MyBDNjg1LjU4ODIsNzE5LjYxMjMgNjg3LjA5NjIsNzE4LjMxMDMgNjg4LjU5NDIsNzE2Ljk5NjMgQzY4OS4yMTYyLDcxNi40NDgzIDY5MC4xNjUyLDcxNi41MTEzIDY5MC43MTAyLDcxNy4xMzMzIEM2OTEuMjU3Miw3MTcuNzU2MyA2OTEuMTk2Miw3MTguNzA0MyA2OTAuNTcyMiw3MTkuMjUwMyBDNjg5LjA2NTIsNzIwLjU3NDMgNjg3LjU0NTIsNzIxLjg4NzMgNjg2LjAxNjIsNzIzLjE4OTMgQzY4NS43MzQyLDcyMy40MjkzIDY4NS4zODgyLDcyMy41NDczIDY4NS4wNDQyLDcyMy41NDczIEw2ODUuMDQ0Miw3MjMuNTQ3MyBaIE0xNTguMjYxMiw3MjYuMjYwMyBDMTU3LjkyMjIsNzI2LjI2MDMgMTU3LjU4MjIsNzI2LjE0NjMgMTU3LjMwMjIsNzI1LjkxMzMgQzE1NS43NjEyLDcyNC42MjkzIDE1NC4yMzAyLDcyMy4zMzMzIDE1Mi43MDgyLDcyMi4wMjYzIEMxNTIuMDgwMiw3MjEuNDg2MyAxNTIuMDA4Miw3MjAuNTQwMyAxNTIuNTQ4Miw3MTkuOTExMyBDMTUzLjA4NzIsNzE5LjI4NDMgMTU0LjAzMjIsNzE5LjIxMDMgMTU0LjY2MzIsNzE5Ljc1MTMgQzE1Ni4xNzMyLDcyMS4wNDgzIDE1Ny42OTMyLDcyMi4zMzQzIDE1OS4yMjIyLDcyMy42MDgzIEMxNTkuODU5Miw3MjQuMTM4MyAxNTkuOTQ1Miw3MjUuMDg1MyAxNTkuNDE0Miw3MjUuNzIwMyBDMTU5LjExNzIsNzI2LjA3NzMgMTU4LjY5MTIsNzI2LjI2MDMgMTU4LjI2MTIsNzI2LjI2MDMgTDE1OC4yNjEyLDcyNi4yNjAzIFogTTY3NS43OTIyLDczMS4xOTQzIEM2NzUuMzUzMiw3MzEuMTk0MyA2NzQuOTE3Miw3MzEuMDAyMyA2NzQuNjIxMiw3MzAuNjMyMyBDNjc0LjEwMzIsNzI5Ljk4NjMgNjc0LjIwNjIsNzI5LjA0MzMgNjc0Ljg1MzIsNzI4LjUyNDMgQzY3Ni40MDcyLDcyNy4yNzczIDY3Ny45NTMyLDcyNi4wMTczIDY3OS40OTAyLDcyNC43NDgzIEM2ODAuMTI4Miw3MjQuMjE4MyA2ODEuMDczMiw3MjQuMzEwMyA2ODEuNjAyMiw3MjQuOTQ4MyBDNjgyLjEyOTIsNzI1LjU4NzMgNjgyLjAzOTIsNzI2LjUzMzMgNjgxLjQwMTIsNzI3LjA2MDMgQzY3OS44NTQyLDcyOC4zMzkzIDY3OC4yOTYyLDcyOS42MDczIDY3Ni43MzAyLDczMC44NjQzIEM2NzYuNDUzMiw3MzEuMDg3MyA2NzYuMTIxMiw3MzEuMTk0MyA2NzUuNzkyMiw3MzEuMTk0MyBMNjc1Ljc5MjIsNzMxLjE5NDMgWiBNMTY3LjU3NjIsNzMzLjgwMjMgQzE2Ny4yNTIyLDczMy44MDIzIDE2Ni45MjYyLDczMy42OTgzIDE2Ni42NTEyLDczMy40ODIzIEMxNjUuMDczMiw3MzIuMjQzMyAxNjMuNTA2Miw3MzAuOTk0MyAxNjEuOTQ4Miw3MjkuNzMyMyBDMTYxLjMwNDIsNzI5LjIxMTMgMTYxLjIwNDIsNzI4LjI2NjMgMTYxLjcyNjIsNzI3LjYyMzMgQzE2Mi4yNDYyLDcyNi45NzkzIDE2My4xOTEyLDcyNi44NzgzIDE2My44MzUyLDcyNy40MDAzIEMxNjUuMzgzMiw3MjguNjUyMyAxNjYuOTM5Miw3MjkuODkzMyAxNjguNTA0Miw3MzEuMTIzMyBDMTY5LjE1NTIsNzMxLjYzNDMgMTY5LjI2OTIsNzMyLjU3ODMgMTY4Ljc1NzIsNzMzLjIyOTMgQzE2OC40NjEyLDczMy42MDYzIDE2OC4wMjEyLDczMy44MDIzIDE2Ny41NzYyLDczMy44MDIzIEwxNjcuNTc2Miw3MzMuODAyMyBaIE02NjYuMzE4Miw3MzguNTcwMyBDNjY1Ljg2MzIsNzM4LjU3MDMgNjY1LjQxNDIsNzM4LjM2NDMgNjY1LjExOTIsNzM3Ljk3MzMgQzY2NC42MjAyLDczNy4zMTIzIDY2NC43NTIyLDczNi4zNzIzIDY2NS40MTMyLDczNS44NzMzIEM2NjcuMDA1Miw3MzQuNjcyMyA2NjguNTg2Miw3MzMuNDU4MyA2NzAuMTU5Miw3MzIuMjMzMyBDNjcwLjgxNDIsNzMxLjcyNTMgNjcxLjc1NTIsNzMxLjg0MDMgNjcyLjI2NTIsNzMyLjQ5NTMgQzY3Mi43NzQyLDczMy4xNDkzIDY3Mi42NTYyLDczNC4wOTEzIDY3Mi4wMDMyLDczNC42MDAzIEM2NzAuNDE4Miw3MzUuODM1MyA2NjguODI0Miw3MzcuMDU2MyA2NjcuMjIwMiw3MzguMjY3MyBDNjY2Ljk0OTIsNzM4LjQ3MTMgNjY2LjYzMjIsNzM4LjU3MDMgNjY2LjMxODIsNzM4LjU3MDMgTDY2Ni4zMTgyLDczOC41NzAzIFogTTE3Ny4xMDYyLDc0MS4wNjYzIEMxNzYuNzk2Miw3NDEuMDY2MyAxNzYuNDg0Miw3NDAuOTcwMyAxNzYuMjE1Miw3NDAuNzcyMyBDMTc0LjYwMzIsNzM5LjU4MTMgMTczLjAwMDIsNzM4LjM3NzMgMTcxLjQwNjIsNzM3LjE2MzMgQzE3MC43NDcyLDczNi42NjEzIDE3MC42MjAyLDczNS43MTkzIDE3MS4xMjIyLDczNS4wNjAzIEMxNzEuNjI0Miw3MzQuNDAwMyAxNzIuNTY3Miw3MzQuMjc0MyAxNzMuMjI1Miw3MzQuNzc2MyBDMTc0LjgwNzIsNzM1Ljk4MjMgMTc2LjM5ODIsNzM3LjE3NjMgMTc3Ljk5ODIsNzM4LjM2MDMgQzE3OC42NjQyLDczOC44NTIzIDE3OC44MDUyLDczOS43OTIzIDE3OC4zMTMyLDc0MC40NTgzIEMxNzguMDE5Miw3NDAuODU2MyAxNzcuNTY1Miw3NDEuMDY2MyAxNzcuMTA2Miw3NDEuMDY2MyBMMTc3LjEwNjIsNzQxLjA2NjMgWiBNNjU2LjYzMDIsNzQ1LjY2ODMgQzY1Ni4xNjEyLDc0NS42NjgzIDY1NS42OTgyLDc0NS40NDgzIDY1NS40MDYyLDc0NS4wMzczIEM2NTQuOTI3Miw3NDQuMzYxMyA2NTUuMDg1Miw3NDMuNDI0MyA2NTUuNzYwMiw3NDIuOTQ1MyBDNjU3LjM4NjIsNzQxLjc5MDMgNjU5LjAwMzIsNzQwLjYyNDMgNjYwLjYxMzIsNzM5LjQ0NDMgQzY2MS4yODEyLDczOC45NTUzIDY2Mi4yMTkyLDczOS4wOTgzIDY2Mi43MDkyLDczOS43NjczIEM2NjMuMTk4Miw3NDAuNDM1MyA2NjMuMDU0Miw3NDEuMzc1MyA2NjIuMzg2Miw3NDEuODY0MyBDNjYwLjc2NTIsNzQzLjA1MTMgNjU5LjEzNjIsNzQ0LjIyNzMgNjU3LjQ5NzIsNzQ1LjM5MDMgQzY1Ny4yMzUyLDc0NS41NzgzIDY1Ni45MzEyLDc0NS42NjgzIDY1Ni42MzAyLDc0NS42NjgzIEw2NTYuNjMwMiw3NDUuNjY4MyBaIE0xODYuODM5Miw3NDguMDQ3MyBDMTg2LjU0MzIsNzQ4LjA0NzMgMTg2LjI0NTIsNzQ3Ljk2MDMgMTg1Ljk4NDIsNzQ3Ljc3ODMgQzE4NC4zMzgyLDc0Ni42MzQzIDE4Mi43MDEyLDc0NS40NzkzIDE4MS4wNzMyLDc0NC4zMTEzIEMxODAuNDAxMiw3NDMuODI5MyAxODAuMjQ1Miw3NDIuODkxMyAxODAuNzI5Miw3NDIuMjE4MyBDMTgxLjIxMjIsNzQxLjU0NjMgMTgyLjE0OTIsNzQxLjM4OTMgMTgyLjgyMTIsNzQxLjg3NDMgQzE4NC40MzgyLDc0My4wMzIzIDE4Ni4wNjMyLDc0NC4xNzkzIDE4Ny42OTYyLDc0NS4zMTUzIEMxODguMzc2Miw3NDUuNzg4MyAxODguNTQ0Miw3NDYuNzIyMyAxODguMDcxMiw3NDcuNDAzMyBDMTg3Ljc4MDIsNzQ3LjgyMjMgMTg3LjMxNDIsNzQ4LjA0NzMgMTg2LjgzOTIsNzQ4LjA0NzMgTDE4Ni44MzkyLDc0OC4wNDczIFogTTY0Ni43MzcyLDc1Mi40NzkzIEM2NDYuMjUyMiw3NTIuNDc5MyA2NDUuNzc3Miw3NTIuMjQ1MyA2NDUuNDg4Miw3NTEuODExMyBDNjQ1LjAyODIsNzUxLjEyMzMgNjQ1LjIxNDIsNzUwLjE5MTMgNjQ1LjkwNDIsNzQ5LjczMTMgQzY0Ny41NjMyLDc0OC42MjQzIDY0OS4yMTQyLDc0Ny41MDYzIDY1MC44NTgyLDc0Ni4zNzQzIEM2NTEuNTM5Miw3NDUuOTA2MyA2NTIuNDc0Miw3NDYuMDc1MyA2NTIuOTQ0Miw3NDYuNzU4MyBDNjUzLjQxMzIsNzQ3LjQ0MTMgNjUzLjI0MTIsNzQ4LjM3NTMgNjUyLjU1OTIsNzQ4Ljg0NDMgQzY1MC45MDQyLDc0OS45ODQzIDY0OS4yNDAyLDc1MS4xMTIzIDY0Ny41NjgyLDc1Mi4yMjczIEM2NDcuMzEyMiw3NTIuMzk4MyA2NDcuMDIzMiw3NTIuNDc5MyA2NDYuNzM3Miw3NTIuNDc5MyBMNjQ2LjczNzIsNzUyLjQ3OTMgWiBNMTk2Ljc3MTIsNzU0LjczOTMgQzE5Ni40ODkyLDc1NC43MzkzIDE5Ni4yMDUyLDc1NC42NjAzIDE5NS45NTIyLDc1NC40OTUzIEMxOTQuMjc0Miw3NTMuNDAwMyAxOTIuNjA1Miw3NTIuMjkzMyAxOTAuOTQ0Miw3NTEuMTczMyBDMTkwLjI1NzIsNzUwLjcxMDMgMTkwLjA3NTIsNzQ5Ljc3ODMgMTkwLjUzODIsNzQ5LjA5MDMgQzE5MS4wMDIyLDc0OC40MDMzIDE5MS45MzQyLDc0OC4yMjQzIDE5Mi42MjEyLDc0OC42ODUzIEMxOTQuMjY5Miw3NDkuNzk3MyAxOTUuOTI2Miw3NTAuODk2MyAxOTcuNTkxMiw3NTEuOTgzMyBDMTk4LjI4NTIsNzUyLjQzNTMgMTk4LjQ4MTIsNzUzLjM2NTMgMTk4LjAyODIsNzU0LjA1ODMgQzE5Ny43NDAyLDc1NC41MDAzIDE5Ny4yNjAyLDc1NC43MzkzIDE5Ni43NzEyLDc1NC43MzkzIEwxOTYuNzcxMiw3NTQuNzM5MyBaIE02MzYuNjQ1Miw3NTkuMDAwMyBDNjM2LjE0NjIsNzU5LjAwMDMgNjM1LjY1NjIsNzU4Ljc1MTMgNjM1LjM3MjIsNzU4LjI5NjMgQzYzNC45MzMyLDc1Ny41OTIzIDYzNS4xNDYyLDc1Ni42NjgzIDYzNS44NDgyLDc1Ni4yMjgzIEM2MzcuNTQwMiw3NTUuMTcwMyA2MzkuMjI0Miw3NTQuMDk5MyA2NDAuODk5Miw3NTMuMDE2MyBDNjQxLjU5MzIsNzUyLjU2NjMgNjQyLjUyMzIsNzUyLjc2NDMgNjQyLjk3MzIsNzUzLjQ2MjMgQzY0My40MjIyLDc1NC4xNTczIDY0My4yMjMyLDc1NS4wODYzIDY0Mi41MjgyLDc1NS41MzYzIEM2NDAuODQxMiw3NTYuNjI3MyA2MzkuMTQ0Miw3NTcuNzA1MyA2MzcuNDQwMiw3NTguNzcxMyBDNjM3LjE5MjIsNzU4LjkyNjMgNjM2LjkxNzIsNzU5LjAwMDMgNjM2LjY0NTIsNzU5LjAwMDMgTDYzNi42NDUyLDc1OS4wMDAzIFogTTIwNi44OTMyLDc2MS4xMzYzIEMyMDYuNjI1Miw3NjEuMTM2MyAyMDYuMzU2Miw3NjEuMDY1MyAyMDYuMTExMiw3NjAuOTE2MyBDMjA0LjQwMjIsNzU5Ljg3MDMgMjAyLjcwMTIsNzU4LjgxMzMgMjAxLjAwOTIsNzU3Ljc0NDMgQzIwMC4zMDgyLDc1Ny4zMDAzIDIwMC4wOTkyLDc1Ni4zNzUzIDIwMC41NDEyLDc1NS42NzQzIEMyMDAuOTg2Miw3NTQuOTcyMyAyMDEuOTEzMiw3NTQuNzY3MyAyMDIuNjExMiw3NTUuMjA3MyBDMjA0LjI5MTIsNzU2LjI2ODMgMjA1Ljk4MDIsNzU3LjMxOTMgMjA3LjY3NzIsNzU4LjM1NzMgQzIwOC4zODMyLDc1OC43OTAzIDIwOC42MDYyLDc1OS43MTMzIDIwOC4xNzMyLDc2MC40MjAzIEMyMDcuODkxMiw3NjAuODgxMyAyMDcuMzk4Miw3NjEuMTM2MyAyMDYuODkzMiw3NjEuMTM2MyBMMjA2Ljg5MzIsNzYxLjEzNjMgWiBNNjI2LjM2NDIsNzY1LjIyMjMgQzYyNS44NTAyLDc2NS4yMjIzIDYyNS4zNDgyLDc2NC45NTczIDYyNS4wNzAyLDc2NC40ODAzIEM2MjQuNjUxMiw3NjMuNzY1MyA2MjQuODkxMiw3NjIuODQ2MyA2MjUuNjA2Miw3NjIuNDI4MyBDNjI3LjMyODIsNzYxLjQxOTMgNjI5LjA0NDIsNzYwLjM5ODMgNjMwLjc1MDIsNzU5LjM2NTMgQzYzMS40NTgyLDc1OC45MzgzIDYzMi4zODEyLDc1OS4xNjQzIDYzMi44MTEyLDc1OS44NzEzIEM2MzMuMjM5Miw3NjAuNTgwMyA2MzMuMDEzMiw3NjEuNTAzMyA2MzIuMzA0Miw3NjEuOTMxMyBDNjMwLjU4NTIsNzYyLjk3MjMgNjI4Ljg1ODIsNzY0LjAwMTMgNjI3LjEyMTIsNzY1LjAxNjMgQzYyNi44ODMyLDc2NS4xNTYzIDYyNi42MjIyLDc2NS4yMjIzIDYyNi4zNjQyLDc2NS4yMjIzIEw2MjYuMzY0Miw3NjUuMjIyMyBaIE0yMTcuMTkyMiw3NjcuMjMzMyBDMjE2LjkzOTIsNzY3LjIzMzMgMjE2LjY4MzIsNzY3LjE3MDMgMjE2LjQ0NzIsNzY3LjAzNTMgQzIxNC43MDkyLDc2Ni4wNDAzIDIxMi45NzkyLDc2NS4wMzMzIDIxMS4yNTcyLDc2NC4wMTMzIEMyMTAuNTQ0Miw3NjMuNTkxMyAyMTAuMzA4Miw3NjIuNjcyMyAyMTAuNzMwMiw3NjEuOTU5MyBDMjExLjE1MzIsNzYxLjI0NTMgMjEyLjA3NDIsNzYxLjAxMTMgMjEyLjc4NDIsNzYxLjQzMTMgQzIxNC40OTQyLDc2Mi40NDMzIDIxNi4yMTEyLDc2My40NDQzIDIxNy45MzgyLDc2NC40MzEzIEMyMTguNjU2Miw3NjQuODQyMyAyMTguOTA1Miw3NjUuNzU4MyAyMTguNDk0Miw3NjYuNDc4MyBDMjE4LjIxODIsNzY2Ljk2MjMgMjE3LjcxMjIsNzY3LjIzMzMgMjE3LjE5MjIsNzY3LjIzMzMgTDIxNy4xOTIyLDc2Ny4yMzMzIFogTTYxNS45MDEyLDc3MS4xNDIzIEM2MTUuMzcwMiw3NzEuMTQyMyA2MTQuODU2Miw3NzAuODYwMyA2MTQuNTgzMiw3NzAuMzYxMyBDNjE0LjE4NjIsNzY5LjYzNDMgNjE0LjQ1MzIsNzY4LjcyMzMgNjE1LjE4MTIsNzY4LjMyNjMgQzYxNi45MzMyLDc2Ny4zNjkzIDYxOC42NzcyLDc2Ni4zOTgzIDYyMC40MTQyLDc2NS40MTUzIEM2MjEuMTMzMiw3NjUuMDA3MyA2MjIuMDUwMiw3NjUuMjU5MyA2MjIuNDU5Miw3NjUuOTgxMyBDNjIyLjg2NzIsNzY2LjcwMzMgNjIyLjYxMzIsNzY3LjYxODMgNjIxLjg5MzIsNzY4LjAyNjMgQzYyMC4xNDIyLDc2OS4wMTczIDYxOC4zODQyLDc2OS45OTQzIDYxNi42MTgyLDc3MC45NTkzIEM2MTYuMzkxMiw3NzEuMDg0MyA2MTYuMTQ0Miw3NzEuMTQyMyA2MTUuOTAxMiw3NzEuMTQyMyBMNjE1LjkwMTIsNzcxLjE0MjMgWiBNMjI3LjY2MzIsNzczLjAyMzMgQzIyNy40MjUyLDc3My4wMjMzIDIyNy4xODMyLDc3Mi45NjYzIDIyNi45NTgyLDc3Mi44NDYzIEMyMjUuMTkxMiw3NzEuOTAzMyAyMjMuNDMyMiw3NzAuOTQ4MyAyMjEuNjgxMiw3NjkuOTc5MyBDMjIwLjk1NjIsNzY5LjU3ODMgMjIwLjY5NDIsNzY4LjY2NjMgMjIxLjA5NTIsNzY3Ljk0MDMgQzIyMS40OTYyLDc2Ny4yMTUzIDIyMi40MTAyLDc2Ni45NTUzIDIyMy4xMzQyLDc2Ny4zNTQzIEMyMjQuODcxMiw3NjguMzE1MyAyMjYuNjE2Miw3NjkuMjYzMyAyMjguMzcwMiw3NzAuMjAwMyBDMjI5LjEwMjIsNzcwLjU4OTMgMjI5LjM3NzIsNzcxLjQ5OTMgMjI4Ljk4ODIsNzcyLjIyOTMgQzIyOC43MTgyLDc3Mi43MzUzIDIyOC4xOTkyLDc3My4wMjMzIDIyNy42NjMyLDc3My4wMjMzIEwyMjcuNjYzMiw3NzMuMDIzMyBaIE02MDUuMjY2Miw3NzYuNzUzMyBDNjA0LjcyMDIsNzc2Ljc1MzMgNjA0LjE5MzIsNzc2LjQ1NDMgNjAzLjkyODIsNzc1LjkzMzMgQzYwMy41NTIyLDc3NS4xOTQzIDYwMy44NDYyLDc3NC4yOTIzIDYwNC41ODUyLDc3My45MTYzIEM2MDYuMzY1Miw3NzMuMDA5MyA2MDguMTM4Miw3NzIuMDkxMyA2MDkuOTA0Miw3NzEuMTYwMyBDNjEwLjYzNzIsNzcwLjc3MjMgNjExLjU0MzIsNzcxLjA1MTMgNjExLjkzMDIsNzcxLjc4NjMgQzYxMi4zMTcyLDc3Mi41MTgzIDYxMi4wMzYyLDc3My40MjUzIDYxMS4zMDQyLDc3My44MTIzIEM2MDkuNTI1Miw3NzQuNzUyMyA2MDcuNzM4Miw3NzUuNjc2MyA2MDUuOTQ2Miw3NzYuNTg5MyBDNjA1LjcyNzIsNzc2LjcwMTMgNjA1LjQ5NTIsNzc2Ljc1MzMgNjA1LjI2NjIsNzc2Ljc1MzMgTDYwNS4yNjYyLDc3Ni43NTMzIFogTTIzOC4yOTUyLDc3OC41MDIzIEMyMzguMDcxMiw3NzguNTAyMyAyMzcuODQzMiw3NzguNDUyMyAyMzcuNjI5Miw3NzguMzQ1MyBDMjM1LjgzNjIsNzc3LjQ1NTMgMjM0LjA1MTIsNzc2LjU1MTMgMjMyLjI3MzIsNzc1LjYzNDMgQzIzMS41MzYyLDc3NS4yNTYzIDIzMS4yNDcyLDc3NC4zNTAzIDIzMS42MjcyLDc3My42MTQzIEMyMzIuMDA2Miw3NzIuODc4MyAyMzIuOTE0Miw3NzIuNTg5MyAyMzMuNjQ4Miw3NzIuOTY4MyBDMjM1LjQxMjIsNzczLjg3ODMgMjM3LjE4NDIsNzc0Ljc3NTMgMjM4Ljk2MzIsNzc1LjY1ODMgQzIzOS43MDUyLDc3Ni4wMjYzIDI0MC4wMDgyLDc3Ni45MjYzIDIzOS42NDAyLDc3Ny42NjkzIEMyMzkuMzc4Miw3NzguMTk2MyAyMzguODQ3Miw3NzguNTAyMyAyMzguMjk1Miw3NzguNTAyMyBMMjM4LjI5NTIsNzc4LjUwMjMgWiBNNTk0LjQ2NzIsNzgyLjA0ODMgQzU5My45MDUyLDc4Mi4wNDgzIDU5My4zNjUyLDc4MS43MzAzIDU5My4xMTAyLDc4MS4xODgzIEM1OTIuNzU2Miw3ODAuNDM5MyA1OTMuMDc2Miw3NzkuNTQ1MyA1OTMuODI1Miw3NzkuMTkxMyBDNTk1LjYzMjIsNzc4LjMzODMgNTk3LjQzMjIsNzc3LjQ3MjMgNTk5LjIyNjIsNzc2LjU5MjMgQzU5OS45NjcyLDc3Ni4yMjczIDYwMC44NjYyLDc3Ni41MzUzIDYwMS4yMzMyLDc3Ny4yNzkzIEM2MDEuNTk4Miw3NzguMDIyMyA2MDEuMjkwMiw3NzguOTIxMyA2MDAuNTQ2Miw3NzkuMjg2MyBDNTk4Ljc0MDIsNzgwLjE3MjMgNTk2LjkyNzIsNzgxLjA0NTMgNTk1LjEwNzIsNzgxLjkwNDMgQzU5NC45MDAyLDc4Mi4wMDIzIDU5NC42ODIyLDc4Mi4wNDgzIDU5NC40NjcyLDc4Mi4wNDgzIEw1OTQuNDY3Miw3ODIuMDQ4MyBaIE0yNDkuMDgxMiw3ODMuNjY1MyBDMjQ4Ljg3MTIsNzgzLjY2NTMgMjQ4LjY1ODIsNzgzLjYyMTMgMjQ4LjQ1NDIsNzgzLjUyNzMgQzI0Ni42MzcyLDc4Mi42OTAzIDI0NC44MjcyLDc4MS44MzkzIDI0My4wMjQyLDc4MC45NzUzIEMyNDIuMjc3Miw3ODAuNjE4MyAyNDEuOTYwMiw3NzkuNzIyMyAyNDIuMzE5Miw3NzguOTc1MyBDMjQyLjY3NTIsNzc4LjIyODMgMjQzLjU3MTIsNzc3LjkxMTMgMjQ0LjMxOTIsNzc4LjI3MDMgQzI0Ni4xMDkyLDc3OS4xMjczIDI0Ny45MDYyLDc3OS45NzEzIDI0OS43MTAyLDc4MC44MDIzIEMyNTAuNDYyMiw3ODEuMTQ5MyAyNTAuNzkxMiw3ODIuMDQwMyAyNTAuNDQ1Miw3ODIuNzkzMyBDMjUwLjE5MjIsNzgzLjM0MTMgMjQ5LjY0OTIsNzgzLjY2NTMgMjQ5LjA4MTIsNzgzLjY2NTMgTDI0OS4wODEyLDc4My42NjUzIFogTTU4My41MTIyLDc4Ny4wMjQzIEM1ODIuOTM0Miw3ODcuMDI0MyA1ODIuMzgyMiw3ODYuNjg4MyA1ODIuMTM2Miw3ODYuMTI1MyBDNTgxLjgwNTIsNzg1LjM2NTMgNTgyLjE1MjIsNzg0LjQ4MTMgNTgyLjkxMDIsNzg0LjE0OTMgQzU4NC43NDMyLDc4My4zNDkzIDU4Ni41NjkyLDc4Mi41MzczIDU4OC4zODcyLDc4MS43MTIzIEM1ODkuMTQ0Miw3ODEuMzY4MyA1OTAuMDMwMiw3ODEuNzAyMyA1OTAuMzcyMiw3ODIuNDU3MyBDNTkwLjcxNTIsNzgzLjIxMTMgNTkwLjM4MjIsNzg0LjEwMDMgNTg5LjYyNzIsNzg0LjQ0MjMgQzU4Ny43OTUyLDc4NS4yNzUzIDU4NS45NTYyLDc4Ni4wOTMzIDU4NC4xMTIyLDc4Ni44OTkzIEM1ODMuOTE2Miw3ODYuOTg0MyA1ODMuNzEyMiw3ODcuMDI0MyA1ODMuNTEyMiw3ODcuMDI0MyBMNTgzLjUxMjIsNzg3LjAyNDMgWiBNMjYwLjAwNzIsNzg4LjUwNTMgQzI1OS44MTIyLDc4OC41MDUzIDI1OS42MTMyLDc4OC40NjYzIDI1OS40MjEyLDc4OC4zODUzIEMyNTcuNTgxMiw3ODcuNjAyMyAyNTUuNzQ3Miw3ODYuODA1MyAyNTMuOTIwMiw3ODUuOTk2MyBDMjUzLjE2MjIsNzg1LjY2MTMgMjUyLjgyMTIsNzg0Ljc3NDMgMjUzLjE1NjIsNzg0LjAxNzMgQzI1My40OTIyLDc4My4yNTgzIDI1NC4zNzkyLDc4Mi45MTYzIDI1NS4xMzUyLDc4My4yNTQzIEMyNTYuOTQ4Miw3ODQuMDU3MyAyNTguNzY5Miw3ODQuODQ3MyAyNjAuNTk1Miw3ODUuNjI0MyBDMjYxLjM1ODIsNzg1Ljk0ODMgMjYxLjcxMzIsNzg2LjgyOTMgMjYxLjM4OTIsNzg3LjU5MTMgQzI2MS4xNDYyLDc4OC4xNjMzIDI2MC41OTEyLDc4OC41MDUzIDI2MC4wMDcyLDc4OC41MDUzIEwyNjAuMDA3Miw3ODguNTA1MyBaIE01NzIuNDExMiw3OTEuNjc1MyBDNTcxLjgxNzIsNzkxLjY3NTMgNTcxLjI1NDIsNzkxLjMyMDMgNTcxLjAxOTIsNzkwLjczNTMgQzU3MC43MDkyLDc4OS45NjUzIDU3MS4wODIyLDc4OS4wOTIzIDU3MS44NTIyLDc4OC43ODQzIEM1NzMuNzA2Miw3ODguMDM5MyA1NzUuNTU2Miw3ODcuMjgwMyA1NzcuMzk4Miw3ODYuNTA3MyBDNTc4LjE2MjIsNzg2LjE4NTMgNTc5LjA0MTIsNzg2LjU0NzMgNTc5LjM2MTIsNzg3LjMxMDMgQzU3OS42ODIyLDc4OC4wNzQzIDU3OS4zMjEyLDc4OC45NTMzIDU3OC41NTgyLDc4OS4yNzMzIEM1NzYuNzAyMiw3OTAuMDUxMyA1NzQuODM5Miw3OTAuODE2MyA1NzIuOTcwMiw3OTEuNTY3MyBDNTcyLjc4NjIsNzkxLjY0MTMgNTcyLjU5NzIsNzkxLjY3NTMgNTcyLjQxMTIsNzkxLjY3NTMgTDU3Mi40MTEyLDc5MS42NzUzIFogTTI3MS4wOTUyLDc5My4wMzMzIEMyNzAuOTEyMiw3OTMuMDMzMyAyNzAuNzI4Miw3OTMuMDAwMyAyNzAuNTQ4Miw3OTIuOTI5MyBDMjY4LjY3NzIsNzkyLjE5ODMgMjY2LjgxNDIsNzkxLjQ1MzMgMjY0Ljk1NzIsNzkwLjY5NDMgQzI2NC4xOTEyLDc5MC4zODEzIDI2My44MjIyLDc4OS41MDUzIDI2NC4xMzYyLDc4OC43MzgzIEMyNjQuNDQ5Miw3ODcuOTcxMyAyNjUuMzIzMiw3ODcuNjAxMyAyNjYuMDkyMiw3ODcuOTE3MyBDMjY3LjkzNTIsNzg4LjY3MDMgMjY5Ljc4NDIsNzg5LjQwOTMgMjcxLjY0MjIsNzkwLjEzNjMgQzI3Mi40MTMyLDc5MC40MzgzIDI3Mi43OTQyLDc5MS4zMDgzIDI3Mi40OTEyLDc5Mi4wODAzIEMyNzIuMjYwMiw3OTIuNjcyMyAyNzEuNjk0Miw3OTMuMDMzMyAyNzEuMDk1Miw3OTMuMDMzMyBMMjcxLjA5NTIsNzkzLjAzMzMgWiBNNTYxLjE3NDIsNzk1Ljk5NzMgQzU2MC41NjQyLDc5NS45OTczIDU1OS45ODkyLDc5NS42MjIzIDU1OS43NjYyLDc5NS4wMTQzIEM1NTkuNDgxMiw3OTQuMjM3MyA1NTkuODc4Miw3OTMuMzc1MyA1NjAuNjU2Miw3OTMuMDg5MyBDNTYyLjUzNDIsNzkyLjM5ODMgNTY0LjQwNTIsNzkxLjY5NTMgNTY2LjI3MTIsNzkwLjk3NzMgQzU2Ny4wMzkyLDc5MC42ODQzIDU2Ny45MTEyLDc5MS4wNjUzIDU2OC4yMDkyLDc5MS44MzkzIEM1NjguNTA2Miw3OTIuNjEzMyA1NjguMTIwMiw3OTMuNDgwMyA1NjcuMzQ3Miw3OTMuNzc4MyBDNTY1LjQ2ODIsNzk0LjUwMDMgNTYzLjU4MzIsNzk1LjIwOTMgNTYxLjY5MjIsNzk1LjkwNTMgQzU2MS41MjEyLDc5NS45NjczIDU2MS4zNDYyLDc5NS45OTczIDU2MS4xNzQyLDc5NS45OTczIEw1NjEuMTc0Miw3OTUuOTk3MyBaIE0yODIuMzMxMiw3OTcuMjM4MyBDMjgyLjE2MzIsNzk3LjIzODMgMjgxLjk5MzIsNzk3LjIxMDMgMjgxLjgyNjIsNzk3LjE1MDMgQzI3OS45MzUyLDc5Ni40NzQzIDI3OC4wNTAyLDc5NS43ODQzIDI3Ni4xNzIyLDc5NS4wODIzIEMyNzUuMzk2Miw3OTQuNzkxMyAyNzUuMDAyMiw3OTMuOTI2MyAyNzUuMjkyMiw3OTMuMTUxMyBDMjc1LjU4MjIsNzkyLjM3NjMgMjc2LjQ1MDIsNzkxLjk4MTMgMjc3LjIyMzIsNzkyLjI3MTMgQzI3OS4wODcyLDc5Mi45NjkzIDI4MC45NTgyLDc5My42NTQzIDI4Mi44MzYyLDc5NC4zMjYzIEMyODMuNjE2Miw3OTQuNjA0MyAyODQuMDIzMiw3OTUuNDYzMyAyODMuNzQzMiw3OTYuMjQzMyBDMjgzLjUyNTIsNzk2Ljg1NjMgMjgyLjk0NzIsNzk3LjIzODMgMjgyLjMzMTIsNzk3LjIzODMgTDI4Mi4zMzEyLDc5Ny4yMzgzIFogTTU0OS44MTAyLDc5OS45ODQzIEM1NDkuMTgyMiw3OTkuOTg0MyA1NDguNTk3Miw3OTkuNTg4MyA1NDguMzg3Miw3OTguOTYwMyBDNTQ4LjEyNDIsNzk4LjE3MzMgNTQ4LjU0OTIsNzk3LjMyNDMgNTQ5LjMzNDIsNzk3LjA2MTMgQzU1MS4yMzMyLDc5Ni40MjczIDU1My4xMjQyLDc5NS43NzkzIDU1NS4wMTAyLDc5NS4xMTczIEM1NTUuNzkyMiw3OTQuODQyMyA1NTYuNjQ3Miw3OTUuMjU0MyA1NTYuOTIyMiw3OTYuMDM1MyBDNTU3LjE5NjIsNzk2LjgxNjMgNTU2Ljc4NjIsNzk3LjY3MzMgNTU2LjAwNDIsNzk3Ljk0NzMgQzU1NC4xMDUyLDc5OC42MTUzIDU1Mi4xOTcyLDc5OS4yNjczIDU1MC4yODUyLDc5OS45MDczIEM1NTAuMTI3Miw3OTkuOTYwMyA1NDkuOTY3Miw3OTkuOTg0MyA1NDkuODEwMiw3OTkuOTg0MyBMNTQ5LjgxMDIsNzk5Ljk4NDMgWiBNMjkzLjY4ODIsODAxLjExMDMgQzI5My41MzQyLDgwMS4xMTAzIDI5My4zNzgyLDgwMS4wODczIDI5My4yMjQyLDgwMS4wMzczIEMyOTEuMzE0Miw4MDAuNDE1MyAyODkuNDA5Miw3OTkuNzgyMyAyODcuNTEyMiw3OTkuMTM1MyBDMjg2LjcyODIsNzk4Ljg2ODMgMjg2LjMwODIsNzk4LjAxNjMgMjg2LjU3NTIsNzk3LjIzMjMgQzI4Ni44NDMyLDc5Ni40NDgzIDI4Ny42OTYyLDc5Ni4wMjgzIDI4OC40NzkyLDc5Ni4yOTYzIEMyOTAuMzY0Miw3OTYuOTM4MyAyOTIuMjU1Miw3OTcuNTY3MyAyOTQuMTUyMiw3OTguMTgzMyBDMjk0Ljk0MDIsNzk4LjQ0MDMgMjk1LjM3MDIsNzk5LjI4NjMgMjk1LjExNDIsODAwLjA3NDMgQzI5NC45MDgyLDgwMC43MDgzIDI5NC4zMjEyLDgwMS4xMTAzIDI5My42ODgyLDgwMS4xMTAzIEwyOTMuNjg4Miw4MDEuMTEwMyBaIE01MzguMzI2Miw4MDMuNjM0MyBDNTM3LjY4MjIsODAzLjYzNDMgNTM3LjA4NzIsODAzLjIxNjMgNTM2Ljg5MTIsODAyLjU2NzMgQzUzNi42NTMyLDgwMS43NzQzIDUzNy4xMDIyLDgwMC45MzczIDUzNy44OTUyLDgwMC42OTgzIEM1MzkuODEyMiw4MDAuMTIxMyA1NDEuNzIzMiw3OTkuNTI5MyA1NDMuNjI4Miw3OTguOTIzMyBDNTQ0LjQyMTIsNzk4LjY3MzMgNTQ1LjI2MjIsNzk5LjEwOTMgNTQ1LjUxMzIsNzk5Ljg5NzMgQzU0NS43NjQyLDgwMC42ODczIDU0NS4zMjcyLDgwMS41MzEzIDU0NC41MzgyLDgwMS43ODIzIEM1NDIuNjE3Miw4MDIuMzkyMyA1NDAuNjkzMiw4MDIuOTg4MyA1MzguNzYwMiw4MDMuNTcxMyBDNTM4LjYxNTIsODAzLjYxNDMgNTM4LjQ3MDIsODAzLjYzNDMgNTM4LjMyNjIsODAzLjYzNDMgTDUzOC4zMjYyLDgwMy42MzQzIFogTTMwNS4xNTUyLDgwNC42NDIzIEMzMDUuMDE1Miw4MDQuNjQyMyAzMDQuODc0Miw4MDQuNjIzMyAzMDQuNzM0Miw4MDQuNTgzMyBDMzAyLjgwNDIsODA0LjAxOTMgMzAwLjg4MjIsODAzLjQ0MjMgMjk4Ljk2NTIsODAyLjg1MTMgQzI5OC4xNzQyLDgwMi42MDczIDI5Ny43MzAyLDgwMS43NjczIDI5Ny45NzQyLDgwMC45NzUzIEMyOTguMjE4Miw4MDAuMTgzMyAyOTkuMDU3Miw3OTkuNzQxMyAyOTkuODUwMiw3OTkuOTg0MyBDMzAxLjc1MTIsODAwLjU3MTMgMzAzLjY1OTIsODAxLjE0NDMgMzA1LjU3MzIsODAxLjcwMjMgQzMwNi4zNjgyLDgwMS45MzQzIDMwNi44MjUyLDgwMi43NjczIDMwNi41OTQyLDgwMy41NjIzIEMzMDYuNDAzMiw4MDQuMjE3MyAzMDUuODA0Miw4MDQuNjQyMyAzMDUuMTU1Miw4MDQuNjQyMyBMMzA1LjE1NTIsODA0LjY0MjMgWiBNNTI2Ljc4OTIsODA2LjkyODMgQzUyNi4xMjgyLDgwNi45MjgzIDUyNS41MjMyLDgwNi40ODgzIDUyNS4zNDIyLDgwNS44MTkzIEM1MjUuMTI2Miw4MDUuMDE5MyA1MjUuNjAwMiw4MDQuMTk2MyA1MjYuNDAwMiw4MDMuOTgwMyBDNTI4LjMyNTIsODAzLjQ2MTMgNTMwLjI0NTIsODAyLjkyNzMgNTMyLjE2MDIsODAyLjM4MTMgQzUzMi45NTQyLDgwMi4xNTYzIDUzMy43ODcyLDgwMi42MTYzIDUzNC4wMTQyLDgwMy40MTMzIEM1MzQuMjQxMiw4MDQuMjEwMyA1MzMuNzgwMiw4MDUuMDQwMyA1MzIuOTgzMiw4MDUuMjY2MyBDNTMxLjA1NDIsODA1LjgxNjMgNTI5LjEyMDIsODA2LjM1MzMgNTI3LjE4MTIsODA2Ljg3NzMgQzUyNy4wNTAyLDgwNi45MTIzIDUyNi45MTkyLDgwNi45MjgzIDUyNi43ODkyLDgwNi45MjgzIEw1MjYuNzg5Miw4MDYuOTI4MyBaIE0zMTYuNzIwMiw4MDcuODM4MyBDMzE2LjU5NTIsODA3LjgzODMgMzE2LjQ2ODIsODA3LjgyMjMgMzE2LjM0MTIsODA3Ljc4OTMgQzMxNC4zOTYyLDgwNy4yODIzIDMxMi40NTcyLDgwNi43NjIzIDMxMC41MjUyLDgwNi4yMjkzIEMzMDkuNzI2Miw4MDYuMDA4MyAzMDkuMjU3Miw4MDUuMTgyMyAzMDkuNDc5Miw4MDQuMzgzMyBDMzA5LjY5OTIsODAzLjU4NDMgMzEwLjUyODIsODAzLjEyMjMgMzExLjMyMzIsODAzLjMzNzMgQzMxMy4yNDIyLDgwMy44NjgzIDMxNS4xNjcyLDgwNC4zODMzIDMxNy4wOTcyLDgwNC44ODYzIEMzMTcuODk5Miw4MDUuMDk1MyAzMTguMzc5Miw4MDUuOTE0MyAzMTguMTcwMiw4MDYuNzE1MyBDMzE3Ljk5NDIsODA3LjM5MDMgMzE3LjM4NjIsODA3LjgzODMgMzE2LjcyMDIsODA3LjgzODMgTDMxNi43MjAyLDgwNy44MzgzIFogTTUxNS4xNTkyLDgwOS44ODEzIEM1MTQuNDgxMiw4MDkuODgxMyA1MTMuODY1Miw4MDkuNDE4MyA1MTMuNzAxMiw4MDguNzI4MyBDNTEzLjUwOTIsODA3LjkyMzMgNTE0LjAwNzIsODA3LjExMzMgNTE0LjgxMzIsODA2LjkyMjMgQzUxNi43NTMyLDgwNi40NjAzIDUxOC42ODcyLDgwNS45ODMzIDUyMC42MTYyLDgwNS40OTMzIEM1MjEuNDIzMiw4MDUuMjkwMyA1MjIuMjM1Miw4MDUuNzc0MyA1MjIuNDQwMiw4MDYuNTc4MyBDNTIyLjY0NDIsODA3LjM4MTMgNTIyLjE1ODIsODA4LjE5NzMgNTIxLjM1NTIsODA4LjQwMTMgQzUxOS40MTEyLDgwOC44OTUzIDUxNy40NjIyLDgwOS4zNzQzIDUxNS41MDgyLDgwOS44MzkzIEM1MTUuMzkxMiw4MDkuODY4MyA1MTUuMjc0Miw4MDkuODgxMyA1MTUuMTU5Miw4MDkuODgxMyBMNTE1LjE1OTIsODA5Ljg4MTMgWiBNMzI4LjM3NTIsODEwLjY4NzMgQzMyOC4yNjQyLDgxMC42ODczIDMyOC4xNTIyLDgxMC42NzUzIDMyOC4wMzkyLDgxMC42NDkzIEMzMjYuMDgwMiw4MTAuMjAyMyAzMjQuMTI3Miw4MDkuNzM5MyAzMjIuMTc5Miw4MDkuMjYyMyBDMzIxLjM3NDIsODA5LjA2NTMgMzIwLjg4MTIsODA4LjI1NDMgMzIxLjA3ODIsODA3LjQ0OTMgQzMyMS4yNzYyLDgwNi42NDQzIDMyMi4wODgyLDgwNi4xNTIzIDMyMi44OTIyLDgwNi4zNDgzIEMzMjQuODI0Miw4MDYuODIxMyAzMjYuNzY0Miw4MDcuMjgwMyAzMjguNzA4Miw4MDcuNzI1MyBDMzI5LjUxNTIsODA3LjkxMDMgMzMwLjAyMDIsODA4LjcxNDMgMzI5LjgzNTIsODA5LjUyMTMgQzMyOS42NzcyLDgxMC4yMTYzIDMyOS4wNTkyLDgxMC42ODczIDMyOC4zNzUyLDgxMC42ODczIEwzMjguMzc1Miw4MTAuNjg3MyBaIE01MDMuNDQ3Miw4MTIuNDg4MyBDNTAyLjc1MTIsODEyLjQ4ODMgNTAyLjEyNzIsODEyLjAwMTMgNTAxLjk4MTIsODExLjI5MzMgQzUwMS44MTMyLDgxMC40ODEzIDUwMi4zMzQyLDgwOS42ODczIDUwMy4xNDUyLDgwOS41MTkzIEM1MDUuMDk4Miw4MDkuMTE1MyA1MDcuMDQ1Miw4MDguNjk2MyA1MDguOTg4Miw4MDguMjYzMyBDNTA5Ljc5NDIsODA4LjA3OTMgNTEwLjU5OTIsODA4LjU5MjMgNTEwLjc3OTIsODA5LjQwMTMgQzUxMC45NTkyLDgxMC4yMTAzIDUxMC40NDkyLDgxMS4wMTEzIDUwOS42NDEyLDgxMS4xOTEzIEM1MDcuNjg0Miw4MTEuNjI4MyA1MDUuNzIxMiw4MTIuMDQ4MyA1MDMuNzU0Miw4MTIuNDU3MyBDNTAzLjY1MjIsODEyLjQ3ODMgNTAzLjU0OTIsODEyLjQ4ODMgNTAzLjQ0NzIsODEyLjQ4ODMgTDUwMy40NDcyLDgxMi40ODgzIFogTTM0MC4xMDkyLDgxMy4xOTIzIEMzNDAuMDEyMiw4MTMuMTkyMyAzMzkuOTEzMiw4MTMuMTgzMyAzMzkuODE2Miw4MTMuMTY0MyBDMzM3Ljg0NDIsODEyLjc3MzMgMzM1Ljg3ODIsODEyLjM2OTMgMzMzLjkxNzIsODExLjk1MDMgQzMzMy4xMDgyLDgxMS43NzczIDMzMi41OTEyLDgxMC45ODAzIDMzMi43NjQyLDgxMC4xNzAzIEMzMzIuOTM4Miw4MDkuMzU5MyAzMzMuNzQ0Miw4MDguODQ0MyAzMzQuNTQ0Miw4MDkuMDE2MyBDMzM2LjQ4OTIsODA5LjQzMTMgMzM4LjQ0MjIsODA5LjgzNDMgMzQwLjM5ODIsODEwLjIyMDMgQzM0MS4yMTAyLDgxMC4zODEzIDM0MS43MzgyLDgxMS4xNzEzIDM0MS41NzgyLDgxMS45ODMzIEMzNDEuNDM3Miw4MTIuNjk4MyAzNDAuODEwMiw4MTMuMTkyMyAzNDAuMTA5Miw4MTMuMTkyMyBMMzQwLjEwOTIsODEzLjE5MjMgWiBNNDkxLjY2NTIsODE0Ljc0OTMgQzQ5MC45NTEyLDgxNC43NDkzIDQ5MC4zMTkyLDgxNC4yMzczIDQ5MC4xOTAyLDgxMy41MDkzIEM0OTAuMDQ2Miw4MTIuNjk0MyA0OTAuNTkwMiw4MTEuOTE2MyA0OTEuNDA2Miw4MTEuNzcxMyBDNDkzLjM3MDIsODExLjQyNDMgNDk1LjMzMDIsODExLjA2MzMgNDk3LjI4NTIsODEwLjY4ODMgQzQ5OC4wOTgyLDgxMC41MzQzIDQ5OC44ODUyLDgxMS4wNjUzIDQ5OS4wNDAyLDgxMS44ODAzIEM0OTkuMTk3Miw4MTIuNjkzMyA0OTguNjYzMiw4MTMuNDc5MyA0OTcuODUwMiw4MTMuNjM1MyBDNDk1Ljg4MTIsODE0LjAxMjMgNDkzLjkwNzIsODE0LjM3NjMgNDkxLjkyODIsODE0LjcyNjMgQzQ5MS44NDAyLDgxNC43NDIzIDQ5MS43NTIyLDgxNC43NDkzIDQ5MS42NjUyLDgxNC43NDkzIEw0OTEuNjY1Miw4MTQuNzQ5MyBaIE0zNTEuOTExMiw4MTUuMzUxMyBDMzUxLjgyOTIsODE1LjM1MTMgMzUxLjc0NTIsODE1LjM0NDMgMzUxLjY2MTIsODE1LjMzMTMgQzM0OS42NzkyLDgxNC45OTkzIDM0Ny43MDIyLDgxNC42NTEzIDM0NS43MzEyLDgxNC4yOTEzIEMzNDQuOTE1Miw4MTQuMTQxMyAzNDQuMzc1Miw4MTMuMzYwMyAzNDQuNTI1Miw4MTIuNTQ2MyBDMzQ0LjY3NDIsODExLjczMDMgMzQ1LjQ1NjIsODExLjE4NzMgMzQ2LjI3MDIsODExLjMzOTMgQzM0OC4yMjgyLDgxMS42OTgzIDM1MC4xOTAyLDgxMi4wNDIzIDM1Mi4xNTcyLDgxMi4zNzIzIEMzNTIuOTc1Miw4MTIuNTA4MyAzNTMuNTI2Miw4MTMuMjgyMyAzNTMuMzg5Miw4MTQuMDk5MyBDMzUzLjI2NjIsODE0LjgzMzMgMzUyLjYzMTIsODE1LjM1MTMgMzUxLjkxMTIsODE1LjM1MTMgTDM1MS45MTEyLDgxNS4zNTEzIFogTTQ3OS44MjEyLDgxNi42NjIzIEM0NzkuMDg4Miw4MTYuNjYyMyA0NzguNDQ3Miw4MTYuMTI1MyA0NzguMzM4Miw4MTUuMzc5MyBDNDc4LjIxODIsODE0LjU1OTMgNDc4Ljc4NTIsODEzLjc5ODMgNDc5LjYwNTIsODEzLjY3NzMgQzQ4MS41NzkyLDgxMy4zODgzIDQ4My41NDkyLDgxMy4wODUzIDQ4NS41MTMyLDgxMi43NjgzIEM0ODYuMzM4Miw4MTIuNjI2MyA0ODcuMTAyMiw4MTMuMTkyMyA0ODcuMjMzMiw4MTQuMDA5MyBDNDg3LjM2NTIsODE0LjgyODMgNDg2LjgwOTIsODE1LjU5NzMgNDg1Ljk5MTIsODE1LjcyOTMgQzQ4NC4wMTIyLDgxNi4wNDkzIDQ4Mi4wMjkyLDgxNi4zNTUzIDQ4MC4wMzkyLDgxNi42NDYzIEM0NzkuOTY2Miw4MTYuNjU3MyA0NzkuODkzMiw4MTYuNjYyMyA0NzkuODIxMiw4MTYuNjYyMyBMNDc5LjgyMTIsODE2LjY2MjMgWiBNMzYzLjc3MTIsODE3LjE2MTMgQzM2My43MDIyLDgxNy4xNjEzIDM2My42MzQyLDgxNy4xNTYzIDM2My41NjQyLDgxNy4xNDczIEMzNjEuNTczMiw4MTYuODczMyAzNTkuNTg3Miw4MTYuNTg0MyAzNTcuNjA2Miw4MTYuMjgxMyBDMzU2Ljc4NjIsODE2LjE1NjMgMzU2LjIyNDIsODE1LjM5MTMgMzU2LjM1MDIsODE0LjU3MjMgQzM1Ni40NzUyLDgxMy43NTMzIDM1Ny4yNDEyLDgxMy4xODkzIDM1OC4wNTkyLDgxMy4zMTYzIEMzNjAuMDI3Miw4MTMuNjE2MyAzNjEuOTk3Miw4MTMuOTAyMyAzNjMuOTc0Miw4MTQuMTc0MyBDMzY0Ljc5NDIsODE0LjI4ODMgMzY1LjM2NzIsODE1LjA0NTMgMzY1LjI1NTIsODE1Ljg2NjMgQzM2NS4xNTIyLDgxNi42MTczIDM2NC41MDgyLDgxNy4xNjEzIDM2My43NzEyLDgxNy4xNjEzIEwzNjMuNzcxMiw4MTcuMTYxMyBaIE00NjcuOTI1Miw4MTguMjI2MyBDNDY3LjE3NDIsODE4LjIyNjMgNDY2LjUyNjIsODE3LjY2NDMgNDY2LjQzNzIsODE2LjkwMDMgQzQ2Ni4zNDEyLDgxNi4wNzczIDQ2Ni45MzEyLDgxNS4zMzIzIDQ2Ny43NTMyLDgxNS4yMzYzIEM0NjkuNzM2Miw4MTUuMDA2MyA0NzEuNzEyMiw4MTQuNzYwMyA0NzMuNjg2Miw4MTQuNTAxMyBDNDc0LjUwMTIsODE0LjM5NjMgNDc1LjI2MDIsODE0Ljk3MDMgNDc1LjM2ODIsODE1Ljc5MjMgQzQ3NS40NzcyLDgxNi42MTQzIDQ3NC44OTkyLDgxNy4zNjczIDQ3NC4wNzYyLDgxNy40NzUzIEM0NzIuMDg5Miw4MTcuNzM3MyA0NzAuMDk3Miw4MTcuOTg0MyA0NjguMTAwMiw4MTguMjE2MyBDNDY4LjA0MTIsODE4LjIyMzMgNDY3Ljk4MzIsODE4LjIyNjMgNDY3LjkyNTIsODE4LjIyNjMgTDQ2Ny45MjUyLDgxOC4yMjYzIFogTTM3NS42NzkyLDgxOC42MjEzIEMzNzUuNjI1Miw4MTguNjIxMyAzNzUuNTcxMiw4MTguNjE4MyAzNzUuNTE3Miw4MTguNjEyMyBDMzczLjUxOTIsODE4LjM5NzMgMzcxLjUyNjIsODE4LjE2NzMgMzY5LjUzNTIsODE3LjkyMzMgQzM2OC43MTMyLDgxNy44MjIzIDM2OC4xMjgyLDgxNy4wNzQzIDM2OC4yMjkyLDgxNi4yNTIzIEMzNjguMzMwMiw4MTUuNDI4MyAzNjkuMTAyMiw4MTQuODUyMyAzNjkuOTAxMiw4MTQuOTQ1MyBDMzcxLjg3NTIsODE1LjE4ODMgMzczLjg1NTIsODE1LjQxNzMgMzc1LjgzNzIsODE1LjYzMDMgQzM3Ni42NjEyLDgxNS43MTczIDM3Ny4yNTcyLDgxNi40NTgzIDM3Ny4xNjgyLDgxNy4yODEzIEMzNzcuMDg2Miw4MTguMDUwMyAzNzYuNDM2Miw4MTguNjIxMyAzNzUuNjc5Miw4MTguNjIxMyBMMzc1LjY3OTIsODE4LjYyMTMgWiBNNDU1Ljk4ODIsODE5LjQ0MTMgQzQ1NS4yMTkyLDgxOS40NDEzIDQ1NC41NjQyLDgxOC44NTIzIDQ1NC40OTYyLDgxOC4wNzEzIEM0NTQuNDI0Miw4MTcuMjQ2MyA0NTUuMDM1Miw4MTYuNTE4MyA0NTUuODYxMiw4MTYuNDQ3MyBDNDU3Ljg0ODIsODE2LjI3MzMgNDU5LjgzMjIsODE2LjA4NjMgNDYxLjgxMTIsODE1Ljg4NDMgQzQ2Mi42NDQyLDgxNS44MDMzIDQ2My4zNzIyLDgxNi40MDAzIDQ2My40NTUyLDgxNy4yMjUzIEM0NjMuNTM5Miw4MTguMDQ4MyA0NjIuOTQwMiw4MTguNzg1MyA0NjIuMTE1Miw4MTguODY5MyBDNDYwLjEyMTIsODE5LjA3MjMgNDU4LjEyMzIsODE5LjI2MTMgNDU2LjEyMDIsODE5LjQzNTMgQzQ1Ni4wNzYyLDgxOS40MzkzIDQ1Ni4wMzIyLDgxOS40NDEzIDQ1NS45ODgyLDgxOS40NDEzIEw0NTUuOTg4Miw4MTkuNDQxMyBaIE0zODcuNjI2Miw4MTkuNzM0MyBDMzg3LjU4NjIsODE5LjczNDMgMzg3LjU0NzIsODE5LjczMzMgMzg3LjUwNzIsODE5LjcyOTMgQzM4NS41MDMyLDgxOS41NzMzIDM4My41MDMyLDgxOS40MDEzIDM4MS41MDcyLDgxOS4yMTQzIEMzODAuNjgzMiw4MTkuMTM4MyAzODAuMDc2Miw4MTguNDA3MyAzODAuMTU0Miw4MTcuNTgyMyBDMzgwLjIzMDIsODE2Ljc1NjMgMzgwLjk1NjIsODE2LjE0NDMgMzgxLjc4NjIsODE2LjIyODMgQzM4My43NjcyLDgxNi40MTMzIDM4NS43NTEyLDgxNi41ODMzIDM4Ny43NDEyLDgxNi43MzkzIEMzODguNTY4Miw4MTYuODAzMyAzODkuMTg0Miw4MTcuNTI1MyAzODkuMTE5Miw4MTguMzUxMyBDMzg5LjA1ODIsODE5LjEzNzMgMzg4LjQwMjIsODE5LjczNDMgMzg3LjYyNjIsODE5LjczNDMgTDM4Ny42MjYyLDgxOS43MzQzIFogTTQ0NC4wMjMyLDgyMC4zMDgzIEM0NDMuMjM0Miw4MjAuMzA4MyA0NDIuNTcyMiw4MTkuNjkyMyA0NDIuNTI3Miw4MTguODk0MyBDNDQyLjQ3OTIsODE4LjA2ODMgNDQzLjExMTIsODE3LjM1ODMgNDQzLjkzODIsODE3LjMxMTMgQzQ0NS45MjkyLDgxNy4xOTYzIDQ0Ny45MTYyLDgxNy4wNjczIDQ0OS45MDIyLDgxNi45MjMzIEM0NTAuNzIxMiw4MTYuODUzMyA0NTEuNDQ2Miw4MTcuNDg0MyA0NTEuNTA2Miw4MTguMzEwMyBDNDUxLjU2NjIsODE5LjEzNjMgNDUwLjk0NTIsODE5Ljg1NTMgNDUwLjExODIsODE5LjkxNTMgQzQ0OC4xMTkyLDgyMC4wNjAzIDQ0Ni4xMTYyLDgyMC4xOTAzIDQ0NC4xMTAyLDgyMC4zMDUzIEM0NDQuMDgwMiw4MjAuMzA3MyA0NDQuMDUxMiw4MjAuMzA4MyA0NDQuMDIzMiw4MjAuMzA4MyBMNDQ0LjAyMzIsODIwLjMwODMgWiBNMzk5LjU5ODIsODIwLjQ5ODMgQzM5OS41NzMyLDgyMC40OTgzIDM5OS41NDgyLDgyMC40OTczIDM5OS41MjMyLDgyMC40OTYzIEMzOTcuNTE2Miw4MjAuMzk3MyAzOTUuNTEyMiw4MjAuMjgzMyAzOTMuNTExMiw4MjAuMTU2MyBDMzkyLjY4NTIsODIwLjEwMzMgMzkyLjA1NzIsODE5LjM5MDMgMzkyLjExMDIsODE4LjU2MzMgQzM5Mi4xNjIyLDgxNy43MzYzIDM5Mi44NTAyLDgxNy4xMDkzIDM5My43MDIyLDgxNy4xNjIzIEMzOTUuNjg4Miw4MTcuMjg5MyAzOTcuNjc4Miw4MTcuNDAxMyAzOTkuNjcxMiw4MTcuNTAwMyBDNDAwLjQ5ODIsODE3LjU0MTMgNDAxLjEzNjIsODE4LjI0NDMgNDAxLjA5NTIsODE5LjA3MjMgQzQwMS4wNTYyLDgxOS44NzQzIDQwMC4zOTMyLDgyMC40OTgzIDM5OS41OTgyLDgyMC40OTgzIEwzOTkuNTk4Miw4MjAuNDk4MyBaIE00MzIuMDM3Miw4MjAuODI3MyBDNDMxLjIyOTIsODIwLjgyNzMgNDMwLjU2MzIsODIwLjE4MzMgNDMwLjUzOTIsODE5LjM3MDMgQzQzMC41MTUyLDgxOC41NDIzIDQzMS4xNjcyLDgxNy44NTEzIDQzMS45OTUyLDgxNy44MjgzIEM0MzMuOTkwMiw4MTcuNzcwMyA0MzUuOTgxMiw4MTcuNjk4MyA0MzcuOTY5Miw4MTcuNjEyMyBDNDM4Ljc4OTIsODE3LjU4MzMgNDM5LjQ5NjIsODE4LjIxOTMgNDM5LjUzMjIsODE5LjA0NzMgQzQzOS41NjgyLDgxOS44NzQzIDQzOC45MjYyLDgyMC41NzQzIDQzOC4wOTgyLDgyMC42MTAzIEM0MzYuMDk2Miw4MjAuNjk2MyA0MzQuMDkwMiw4MjAuNzY4MyA0MzIuMDgxMiw4MjAuODI2MyBDNDMyLjA2NzIsODIwLjgyNzMgNDMyLjA1MjIsODIwLjgyNzMgNDMyLjAzNzIsODIwLjgyNzMgTDQzMi4wMzcyLDgyMC44MjczIFogTTQxMS41NzYyLDgyMC45MTQzIEw0MTEuNTQ1Miw4MjAuOTE0MyBDNDA5LjU0MDIsODIwLjg3NDMgNDA3LjUzODIsODIwLjgxODMgNDA1LjU0MDIsODIwLjc0OTMgQzQwNC43MTIyLDgyMC43MjAzIDQwNC4wNjQyLDgyMC4wMjUzIDQwNC4wOTMyLDgxOS4xOTgzIEM0MDQuMTIyMiw4MTguMzY5MyA0MDQuODAxMiw4MTcuNzEwMyA0MDUuNjQ0Miw4MTcuNzUxMyBDNDA3LjYyODIsODE3LjgyMDMgNDA5LjYxNDIsODE3Ljg3NDMgNDExLjYwNjIsODE3LjkxNDMgQzQxMi40MzQyLDgxNy45MzAzIDQxMy4wOTIyLDgxOC42MTYzIDQxMy4wNzUyLDgxOS40NDQzIEM0MTMuMDU5Miw4MjAuMjYxMyA0MTIuMzkxMiw4MjAuOTE0MyA0MTEuNTc2Miw4MjAuOTE0MyBMNDExLjU3NjIsODIwLjkxNDMgWiBNNDIwLjA0MTIsODIxLjAwMDMgQzQxOS4yMTMyLDgyMC45OTkzIDQxOC4zODcyLDgyMC45OTczIDQxNy41NjIyLDgyMC45OTIzIEM0MTYuNzM0Miw4MjAuOTg3MyA0MTYuMDY2Miw4MjAuMzExMyA0MTYuMDcxMTcyLDgxOS40ODMzIEM0MTYuMDc1Miw4MTguNjU4MyA0MTYuNzQ2Miw4MTcuOTkyMyA0MTcuNTcxMiw4MTcuOTkyMyBMNDE3LjU3OTIsODE3Ljk5MjMgQzQyMC4zOTQyLDgxOC4wMDkzIDQyMy4yMDkyLDgxNy45OTczIDQyNi4wMTkyLDgxNy45NTczIEw0MjYuMDQwMiw4MTcuOTU3MyBDNDI2Ljg2MDIsODE3Ljk1NzMgNDI3LjUyOTIsODE4LjYxNDMgNDI3LjU0MDIsODE5LjQzNTMgQzQyNy41NTIyLDgyMC4yNjMzIDQyNi44OTAyLDgyMC45NDUzIDQyNi4wNjIyLDgyMC45NTczIEM0MjQuMDU5Miw4MjAuOTg1MyA0MjIuMDUxMiw4MjEuMDAwMyA0MjAuMDQxMiw4MjEuMDAwMyBMNDIwLjA0MTIsODIxLjAwMDMgWiIgaWQ9IkZpbGwtMyIgZmlsbD0iI0EzQjFCRiIgb3BhY2l0eT0iMC4zOTU2NzA1NzMiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQxNi44MDQxLDE0MC4wMTg2IEM0MTUuOTg0MSwxNDAuMDE4NiA0MTUuMzE0MSwxMzkuMzU4NiA0MTUuMzA0MSwxMzguNTM2NiBDNDE1LjI5NDEsMTM3LjcwNzYgNDE1Ljk1ODEsMTM3LjAyODYgNDE2Ljc4NjEsMTM3LjAxODYgQzQxOC43OTMxLDEzNi45OTU2IDQyMC44MTAxLDEzNi45OTU2IDQyMi44MTgxLDEzNy4wMTM2IEM0MjMuNjQ2MSwxMzcuMDIxNiA0MjQuMzExMSwxMzcuNjk5NiA0MjQuMzAzMTcxLDEzOC41Mjg2IEM0MjQuMjk1MSwxMzkuMzU2NiA0MjMuNjI3MSwxNDAuMDM5NiA0MjIuNzg4MSwxNDAuMDEzNiBDNDIwLjgwMzEsMTM5Ljk5NDYgNDE4LjgwNjEsMTM5Ljk5NTYgNDE2LjgyMjEsMTQwLjAxODYgTDQxNi44MDQxLDE0MC4wMTg2IFogTTQzNC43ODgxLDE0MC4zOTI2IEM0MzQuNzYyMSwxNDAuMzkyNiA0MzQuNzM1MSwxNDAuMzkxNiA0MzQuNzA3MSwxNDAuMzkwNiBDNDMyLjcyNjEsMTQwLjI4NDYgNDMwLjczOTEsMTQwLjIwMDYgNDI4Ljc0NjEsMTQwLjEzNjYgQzQyNy45MTgxLDE0MC4xMTA2IDQyNy4yNjkxLDEzOS40MTc2IDQyNy4yOTUxLDEzOC41ODk2IEM0MjcuMzIxMSwxMzcuNzYxNiA0MjcuOTkzMSwxMzcuMDg0NiA0MjguODQyMSwxMzcuMTM4NiBDNDMwLjg1NjEsMTM3LjIwMjYgNDMyLjg2NTEsMTM3LjI4ODYgNDM0Ljg2NzEsMTM3LjM5NDYgQzQzNS42OTUxLDEzNy40Mzg2IDQzNi4zMjkxLDEzOC4xNDU2IDQzNi4yODUxLDEzOC45NzI2IEM0MzYuMjQyMSwxMzkuNzcyNiA0MzUuNTgwMSwxNDAuMzkyNiA0MzQuNzg4MSwxNDAuMzkyNiBMNDM0Ljc4ODEsMTQwLjM5MjYgWiBNNDA0LjgxMjEsMTQwLjQxODYgQzQwNC4wMjExLDE0MC40MTg2IDQwMy4zNjAxLDEzOS44MDA2IDQwMy4zMTUxLDEzOS4wMDE2IEM0MDMuMjY5MSwxMzguMTc0NiA0MDMuOTAzMSwxMzcuNDY2NiA0MDQuNzMwMSwxMzcuNDIwNiBDNDA2LjczODEsMTM3LjMwOTYgNDA4Ljc2NTEsMTM3LjIxOTYgNDEwLjc1NjEsMTM3LjE1NDYgQzQxMS41NjYxLDEzNy4xMTk2IDQxMi4yNzgxLDEzNy43NzU2IDQxMi4zMDUxLDEzOC42MDM2IEM0MTIuMzMyMSwxMzkuNDMxNiA0MTEuNjg0MSwxNDAuMTI0NiA0MTAuODU2MSwxNDAuMTUyNiBDNDA4Ljg2NDEsMTQwLjIxODYgNDA2Ljg3NzEsMTQwLjMwNjYgNDA0Ljg5NjEsMTQwLjQxNjYgQzQwNC44NjcxLDE0MC40MTc2IDQwNC44MzkxLDE0MC40MTg2IDQwNC44MTIxLDE0MC40MTg2IEw0MDQuODEyMSwxNDAuNDE4NiBaIE00NDYuNzUzMSwxNDEuMjk0NiBDNDQ2LjcwNDEsMTQxLjI5NDYgNDQ2LjY1NjEsMTQxLjI5MjYgNDQ2LjYwNjEsMTQxLjI4ODYgQzQ0NC42MzAxLDE0MS4wOTU2IDQ0Mi42NDkxLDE0MC45MjQ2IDQ0MC42NjExLDE0MC43NzQ2IEM0MzkuODM1MSwxNDAuNzExNiA0MzkuMjE2MSwxMzkuOTkxNiA0MzkuMjc5MSwxMzkuMTY0NiBDNDM5LjM0MTEsMTM4LjMzOTYgNDQwLjA3NzEsMTM3LjcxNDYgNDQwLjg4ODEsMTM3Ljc4MjYgQzQ0Mi44OTcxLDEzNy45MzQ2IDQ0NC45MDAxLDEzOC4xMDc2IDQ0Ni44OTcxLDEzOC4zMDE2IEM0NDcuNzIxMSwxMzguMzgxNiA0NDguMzI1MSwxMzkuMTE1NiA0NDguMjQ0MSwxMzkuOTQwNiBDNDQ4LjE2ODEsMTQwLjcxNTYgNDQ3LjUxNjEsMTQxLjI5NDYgNDQ2Ljc1MzEsMTQxLjI5NDYgTDQ0Ni43NTMxLDE0MS4yOTQ2IFogTTM5Mi44NTAxLDE0MS4zNDE2IEMzOTIuMDg4MSwxNDEuMzQxNiAzOTEuNDM2MSwxNDAuNzYzNiAzOTEuMzU5MSwxMzkuOTg5NiBDMzkxLjI3ODEsMTM5LjE2NDYgMzkxLjg4MDEsMTM4LjQzMDYgMzkyLjcwNDEsMTM4LjM0ODYgQzM5NC43MDAxLDEzOC4xNTE2IDM5Ni43MDMxLDEzNy45NzQ2IDM5OC43MTIxLDEzNy44MjA2IEMzOTkuNTI3MSwxMzcuNzM2NiA0MDAuMjU5MSwxMzguMzczNiA0MDAuMzIzMSwxMzkuMjAwNiBDNDAwLjM4NzEsMTQwLjAyNjYgMzk5Ljc2OTEsMTQwLjc0NzYgMzk4Ljk0MzEsMTQwLjgxMDYgQzM5Ni45NTUxLDE0MC45NjQ2IDM5NC45NzQxLDE0MS4xMzk2IDM5Mi45OTkxLDE0MS4zMzQ2IEMzOTIuOTUwMSwxNDEuMzM5NiAzOTIuOTAwMSwxNDEuMzQxNiAzOTIuODUwMSwxNDEuMzQxNiBMMzkyLjg1MDEsMTQxLjM0MTYgWiBNNDU4LjY2NDEsMTQyLjcyMDYgQzQ1OC41OTQxLDE0Mi43MjA2IDQ1OC41MjMxLDE0Mi43MTU2IDQ1OC40NTExLDE0Mi43MDY2IEM0NTYuNDkzMSwxNDIuNDI2NiA0NTQuNTA0MSwxNDIuMTY1NiA0NTIuNTM1MSwxNDEuOTMwNiBDNDUxLjcxMzEsMTQxLjgzMTYgNDUxLjEyNjEsMTQxLjA4NTYgNDUxLjIyNTEsMTQwLjI2MjYgQzQ1MS4zMjQxLDEzOS40NDA2IDQ1Mi4wNzUxLDEzOC44NDM2IDQ1Mi44OTMxLDEzOC45NTI2IEM0NTQuODgyMSwxMzkuMTkwNiA0NTYuODk1MSwxMzkuNDU0NiA0NTguODczMSwxMzkuNzM1NiBDNDU5LjY5NDEsMTM5Ljg1MjYgNDYwLjI2NDEsMTQwLjYxMjYgNDYwLjE0ODEsMTQxLjQzMjYgQzQ2MC4wNDExLDE0Mi4xODA2IDQ1OS4zOTkxLDE0Mi43MjA2IDQ1OC42NjQxLDE0Mi43MjA2IEw0NTguNjY0MSwxNDIuNzIwNiBaIE0zODAuOTQyMSwxNDIuNzg5NiBDMzgwLjIwODEsMTQyLjc4OTYgMzc5LjU2NzEsMTQyLjI1MDYgMzc5LjQ1OTEsMTQxLjUwMjYgQzM3OS4zNDExLDE0MC42ODM2IDM3OS45MDkxLDEzOS45MjI2IDM4MC43MzAxLDEzOS44MDQ2IEMzODIuNjkzMSwxMzkuNTIxNiAzODQuNzA1MSwxMzkuMjUzNiAzODYuNzEwMSwxMzkuMDEwNiBDMzg3LjUzMzEsMTM4LjkyMTYgMzg4LjI4MDEsMTM5LjQ5NzYgMzg4LjM4MDEsMTQwLjMxOTYgQzM4OC40ODAxLDE0MS4xNDE2IDM4Ny44OTQxLDE0MS44ODk2IDM4Ny4wNzIxLDE0MS45ODk2IEMzODUuMDg5MSwxNDIuMjI5NiAzODMuMDk5MSwxNDIuNDkzNiAzODEuMTU4MSwxNDIuNzczNiBDMzgxLjA4NTEsMTQyLjc4NDYgMzgxLjAxMzEsMTQyLjc4OTYgMzgwLjk0MjEsMTQyLjc4OTYgTDM4MC45NDIxLDE0Mi43ODk2IFogTTQ3MC41MDExLDE0NC42NzA2IEM0NzAuNDA5MSwxNDQuNjcwNiA0NzAuMzE2MSwxNDQuNjYzNiA0NzAuMjIzMSwxNDQuNjQ1NiBDNDY4LjI3MjEsMTQ0LjI3OTYgNDY2LjMxMzEsMTQzLjkzNDYgNDY0LjM0NzEsMTQzLjYwOTYgQzQ2My41MzAxLDE0My40NzQ2IDQ2Mi45NzYxLDE0Mi43MDM2IDQ2My4xMTIxLDE0MS44ODU2IEM0NjMuMjQ2MSwxNDEuMDY4NiA0NjQuMDA4MSwxNDAuNTEyNiA0NjQuODM1MSwxNDAuNjUwNiBDNDY2LjgyMzEsMTQwLjk3NzYgNDY4LjgwMzEsMTQxLjMyNjYgNDcwLjc3NjEsMTQxLjY5NjYgQzQ3MS41OTAxLDE0MS44NDk2IDQ3Mi4xMjYxLDE0Mi42MzM2IDQ3MS45NzQxLDE0My40NDc2IEM0NzEuODM4MSwxNDQuMTY3NiA0NzEuMjA4MSwxNDQuNjcwNiA0NzAuNTAxMSwxNDQuNjcwNiBMNDcwLjUwMTEsMTQ0LjY3MDYgWiBNMzY5LjEwOTEsMTQ0Ljc1OTYgQzM2OC40MDMxLDE0NC43NTk2IDM2Ny43NzMxLDE0NC4yNTg2IDM2Ny42MzcxLDE0My41Mzg2IEMzNjcuNDgzMSwxNDIuNzI0NiAzNjguMDE4MSwxNDEuOTM5NiAzNjguODMyMSwxNDEuNzg2NiBDMzcwLjgwNTEsMTQxLjQxMzYgMzcyLjc4NDEsMTQxLjA2MDYgMzc0Ljc3MTEsMTQwLjcyOTYgQzM3NS41NzgxLDE0MC41OTE2IDM3Ni4zNjExLDE0MS4xNDQ2IDM3Ni40OTYxLDE0MS45NjI2IEMzNzYuNjMzMSwxNDIuNzc5NiAzNzYuMDgwMSwxNDMuNTUyNiAzNzUuMjYzMSwxNDMuNjg4NiBDMzczLjI5ODEsMTQ0LjAxNTYgMzcxLjM0MTEsMTQ0LjM2NDYgMzY5LjM4OTEsMTQ0LjczMzYgQzM2OS4yOTUxLDE0NC43NTA2IDM2OS4yMDExLDE0NC43NTk2IDM2OS4xMDkxLDE0NC43NTk2IEwzNjkuMTA5MSwxNDQuNzU5NiBaIE00ODIuMjQwMSwxNDcuMTQ0NiBDNDgyLjEyNjEsMTQ3LjE0NDYgNDgyLjAxMjEsMTQ3LjEzMTYgNDgxLjg5NzEsMTQ3LjEwNTYgQzQ3OS45NjMxLDE0Ni42NTI2IDQ3OC4wMjIxLDE0Ni4yMjE2IDQ3Ni4wNzMxLDE0NS44MTA2IEM0NzUuMjYyMSwxNDUuNjM5NiA0NzQuNzQzMSwxNDQuODQzNiA0NzQuOTE0MSwxNDQuMDMzNiBDNDc1LjA4NDEsMTQzLjIyMjYgNDc1Ljg3OTEsMTQyLjcwMTYgNDc2LjY5MjEsMTQyLjg3NDYgQzQ3OC42NjcxLDE0My4yOTA2IDQ4MC42NDkxLDE0My43MzE2IDQ4Mi41ODAxLDE0NC4xODM2IEM0ODMuMzg3MSwxNDQuMzcyNiA0ODMuODg4MSwxNDUuMTc5NiA0ODMuNzAwMSwxNDUuOTg2NiBDNDgzLjUzNzEsMTQ2LjY3NzYgNDgyLjkyMTEsMTQ3LjE0NDYgNDgyLjI0MDEsMTQ3LjE0NDYgTDQ4Mi4yNDAxLDE0Ny4xNDQ2IFogTTM1Ny4zNzUxLDE0Ny4yNTM2IEMzNTYuNjk2MSwxNDcuMjUzNiAzNTYuMDc5MSwxNDYuNzg5NiAzNTUuOTE2MSwxNDYuMDk4NiBDMzU1LjcyNjEsMTQ1LjI5MTYgMzU2LjIyNTEsMTQ0LjQ4NDYgMzU3LjAzMjEsMTQ0LjI5MzYgQzM1OC45NzcxLDE0My44MzQ2IDM2MC45NTcxLDE0My4zOTA2IDM2Mi45MTgxLDE0Mi45NzQ2IEMzNjMuNzIyMSwxNDIuNzk4NiAzNjQuNTI1MSwxNDMuMzE5NiAzNjQuNjk4MSwxNDQuMTI5NiBDMzY0Ljg2OTEsMTQ0Ljk0MDYgMzY0LjM1MjEsMTQ1LjczNjYgMzYzLjU0MTEsMTQ1LjkwOTYgQzM2MS42MDMxLDE0Ni4zMjA2IDM1OS42NDUxLDE0Ni43NTk2IDM1Ny43MjExLDE0Ny4yMTM2IEMzNTcuNjA1MSwxNDcuMjQxNiAzNTcuNDkwMSwxNDcuMjUzNiAzNTcuMzc1MSwxNDcuMjUzNiBMMzU3LjM3NTEsMTQ3LjI1MzYgWiBNNDkzLjg1NzEsMTUwLjEzMzYgQzQ5My43MjIxLDE1MC4xMzM2IDQ5My41ODUxLDE1MC4xMTY2IDQ5My40NTAxLDE1MC4wNzg2IEM0OTEuNTMzMSwxNDkuNTM4NiA0ODkuNTk2MSwxNDkuMDE2NiA0ODcuNjkwMSwxNDguNTI2NiBDNDg2Ljg4ODEsMTQ4LjMxOTYgNDg2LjQwNTEsMTQ3LjUwMTYgNDg2LjYxMTEsMTQ2LjY5OTYgQzQ4Ni44MTgxLDE0NS44OTY2IDQ4Ny42MzYxLDE0NS40MTU2IDQ4OC40MzgxLDE0NS42MjA2IEM0OTAuMzY2MSwxNDYuMTE2NiA0OTIuMzI1MSwxNDYuNjQ0NiA0OTQuMjYyMSwxNDcuMTg5NiBDNDk1LjA2MDEsMTQ3LjQxNDYgNDk1LjUyNDEsMTQ4LjI0MzYgNDk1LjMwMDEsMTQ5LjAzOTYgQzQ5NS4xMTQxLDE0OS43MDI2IDQ5NC41MTIxLDE1MC4xMzM2IDQ5My44NTcxLDE1MC4xMzM2IEw0OTMuODU3MSwxNTAuMTMzNiBaIE0zNDUuNzYxMSwxNTAuMjY3NiBDMzQ1LjEwODEsMTUwLjI2NzYgMzQ0LjUwNjEsMTQ5LjgzNjYgMzQ0LjMxOTEsMTQ5LjE3NjYgQzM0NC4wOTMxLDE0OC4zNzk2IDM0NC41NTYxLDE0Ny41NTA2IDM0NS4zNTMxLDE0Ny4zMjQ2IEMzNDcuMjY3MSwxNDYuNzgyNiAzNDkuMjI2MSwxNDYuMjQ5NiAzNTEuMTc1MSwxNDUuNzQ0NiBDMzUxLjk3NzEsMTQ1LjUzOTYgMzUyLjc5NTEsMTQ2LjAxNjYgMzUzLjAwNDEsMTQ2LjgxOTYgQzM1My4yMTIxLDE0Ny42MjE2IDM1Mi43MzExLDE0OC40NDA2IDM1MS45MjkxLDE0OC42NDg2IEMzNTAuMDAwMSwxNDkuMTQ4NiAzNDguMDY0MSwxNDkuNjczNiAzNDYuMTcxMSwxNTAuMjEwNiBDMzQ2LjAzNDEsMTUwLjI0ODYgMzQ1Ljg5NzEsMTUwLjI2NzYgMzQ1Ljc2MTEsMTUwLjI2NzYgTDM0NS43NjExLDE1MC4yNjc2IFogTTUwNS4zMjkxLDE1My42Mzk2IEM1MDUuMTc0MSwxNTMuNjM5NiA1MDUuMDE1MSwxNTMuNjE1NiA1MDQuODYwMSwxNTMuNTY0NiBDNTAyLjk3MzEsMTUyLjk0MTYgNTAxLjA3NzEsMTUyLjMzOTYgNDk5LjE3NDEsMTUxLjc1NzYgQzQ5OC4zODIxLDE1MS41MTU2IDQ5Ny45MzYxLDE1MC42NzY2IDQ5OC4xNzgxLDE0OS44ODQ2IEM0OTguNDE5MSwxNDkuMDkwNiA0OTkuMjU5MSwxNDguNjQ0NiA1MDAuMDUxMSwxNDguODg4NiBDNTAxLjk3NjEsMTQ5LjQ3NjYgNTAzLjkwOTEsMTUwLjA5MTYgNTA1Ljc5OTEsMTUwLjcxNDYgQzUwNi41ODYxLDE1MC45NzQ2IDUwNy4wMTQxLDE1MS44MjM2IDUwNi43NTQxLDE1Mi42MDk2IEM1MDYuNTQ1MSwxNTMuMjQwNiA1MDUuOTU5MSwxNTMuNjM5NiA1MDUuMzI5MSwxNTMuNjM5NiBMNTA1LjMyOTEsMTUzLjYzOTYgWiBNMzM0LjI3MzEsMTUzLjc5OTYgQzMzMy42NDQxLDE1My43OTk2IDMzMy4wNTgxLDE1My40MDE2IDMzMi44NDkxLDE1Mi43NzI2IEMzMzIuNTg4MSwxNTEuOTg2NiAzMzMuMDE0MSwxNTEuMTM3NiAzMzMuODAwMSwxNTAuODc1NiBDMzM1LjcwNTEsMTUwLjI0NDYgMzM3LjY0NjEsMTQ5LjYyMjYgMzM5LjU2ODEsMTQ5LjAzMjYgQzM0MC4zNjQxLDE0OC43ODc2IDM0MS4yMDAxLDE0OS4yMzM2IDM0MS40NDMxLDE1MC4wMjQ2IEMzNDEuNjg3MSwxNTAuODE2NiAzNDEuMjQxMSwxNTEuNjU2NiAzNDAuNDUwMSwxNTEuODk5NiBDMzM4LjUzOTEsMTUyLjQ4NzYgMzM2LjYzODEsMTUzLjA5NDYgMzM0Ljc0NTEsMTUzLjcyMzYgQzMzNC41ODgxLDE1My43NzU2IDMzNC40MjkxLDE1My43OTk2IDMzNC4yNzMxLDE1My43OTk2IEwzMzQuMjczMSwxNTMuNzk5NiBaIE01MTYuNjM2MSwxNTcuNjUxNiBDNTE2LjQ1ODEsMTU3LjY1MTYgNTE2LjI3OTEsMTU3LjYyMDYgNTE2LjEwMzEsMTU3LjU1MzYgQzUxNC4yNDYxLDE1Ni44NDc2IDUxMi4zNzkxLDE1Ni4xNjI2IDUxMC41MDMxLDE1NS40OTU2IEM1MDkuNzIzMSwxNTUuMjE4NiA1MDkuMzE1MSwxNTQuMzYwNiA1MDkuNTkyMSwxNTMuNTgwNiBDNTA5Ljg2OTEsMTUyLjc5OTYgNTEwLjcyODEsMTUyLjM4OTYgNTExLjUwNzEsMTUyLjY2ODYgQzUxMy40MDgxLDE1My4zNDM2IDUxNS4zMTQxLDE1NC4wNDM2IDUxNy4xNjkxLDE1NC43NDg2IEM1MTcuOTQ0MSwxNTUuMDQzNiA1MTguMzMyMSwxNTUuOTEwNiA1MTguMDM4MSwxNTYuNjg0NiBDNTE3LjgxMTEsMTU3LjI4MzYgNTE3LjI0MTEsMTU3LjY1MTYgNTE2LjYzNjEsMTU3LjY1MTYgTDUxNi42MzYxLDE1Ny42NTE2IFogTTMyMi45MzUxLDE1Ny44NDY2IEMzMjIuMzMxMSwxNTcuODQ2NiAzMjEuNzYzMSwxNTcuNDgwNiAzMjEuNTM0MSwxNTYuODgyNiBDMzIxLjIzODEsMTU2LjEwOTYgMzIxLjYyNTEsMTU1LjI0MjYgMzIyLjM5OTEsMTU0Ljk0NjYgQzMyNC4yNjAxLDE1NC4yMzM2IDMyNi4xNzAxLDE1My41Mjc2IDMyOC4wNzYxLDE1Mi44NDY2IEMzMjguODU3MSwxNTIuNTY3NiAzMjkuNzE0MSwxNTIuOTc1NiAzMjkuOTkzMSwxNTMuNzU1NiBDMzMwLjI3MjEsMTU0LjUzNjYgMzI5Ljg2NTEsMTU1LjM5NDYgMzI5LjA4NDEsMTU1LjY3MjYgQzMyNy4yMDAxLDE1Ni4zNDQ2IDMyNS4zMTIxLDE1Ny4wNDI2IDMyMy40NzExLDE1Ny43NDc2IEMzMjMuMjk1MSwxNTcuODE1NiAzMjMuMTE0MSwxNTcuODQ2NiAzMjIuOTM1MSwxNTcuODQ2NiBMMzIyLjkzNTEsMTU3Ljg0NjYgWiBNNTI3LjczMjEsMTYyLjE1MTYgQzUyNy41MzMxLDE2Mi4xNTE2IDUyNy4zMzExLDE2Mi4xMTI2IDUyNy4xMzgxLDE2Mi4wMjg2IEM1MjUuMzE4MSwxNjEuMjQyNiA1MjMuNDczMSwxNjAuNDcwNiA1MjEuNjU2MSwxNTkuNzM0NiBDNTIwLjg4ODEsMTU5LjQyMjYgNTIwLjUxODEsMTU4LjU0NzYgNTIwLjgyODEsMTU3Ljc4MDYgQzUyMS4xNDAxLDE1Ny4wMTM2IDUyMi4wMTQxLDE1Ni42NDU2IDUyMi43ODMxLDE1Ni45NTM2IEM1MjQuNjIwMSwxNTcuNjk4NiA1MjYuNDg3MSwxNTguNDc5NiA1MjguMzI3MSwxNTkuMjc0NiBDNTI5LjA4ODEsMTU5LjYwMjYgNTI5LjQzODEsMTYwLjQ4NTYgNTI5LjExMDEsMTYxLjI0NjYgQzUyOC44NjYxLDE2MS44MTI2IDUyOC4zMTMxLDE2Mi4xNTE2IDUyNy43MzIxLDE2Mi4xNTE2IEw1MjcuNzMyMSwxNjIuMTUxNiBaIE0zMTEuNzk3MSwxNjIuMzkxNiBDMzExLjIxODEsMTYyLjM5MTYgMzEwLjY2NjEsMTYyLjA1NDYgMzEwLjQyMDEsMTYxLjQ4OTYgQzMxMC4wOTAxLDE2MC43Mjk2IDMxMC40MzkxLDE1OS44NDU2IDMxMS4xOTkxLDE1OS41MTU2IEMzMTMuMDI3MSwxNTguNzIxNiAzMTQuOTAzMSwxNTcuOTMxNiAzMTYuNzczMSwxNTcuMTY3NiBDMzE3LjU0MTEsMTU2Ljg1MzYgMzE4LjQxNTEsMTU3LjIyMjYgMzE4LjcyOTEsMTU3Ljk4OTYgQzMxOS4wNDIxLDE1OC43NTY2IDMxOC42NzQxLDE1OS42MzE2IDMxNy45MDgxLDE1OS45NDU2IEMzMTYuMDU5MSwxNjAuNzAwNiAzMTQuMjIxMSwxNjEuNDczNiAzMTIuMzk0MSwxNjIuMjY3NiBDMzEyLjIwMDEsMTYyLjM1MTYgMzExLjk5NjEsMTYyLjM5MTYgMzExLjc5NzEsMTYyLjM5MTYgTDMxMS43OTcxLDE2Mi4zOTE2IFogTTMwMC44NzMxLDE2Ny40Mjc2IEMzMDAuMzE4MSwxNjcuNDI3NiAyOTkuNzg0MSwxNjcuMTE4NiAyOTkuNTI1MSwxNjYuNTg1NiBDMjk5LjE2MTEsMTY1Ljg0MDYgMjk5LjQ3MDEsMTY0Ljk0MzYgMzAwLjIxNDEsMTY0LjU4MDYgQzMwMi4wMjgxLDE2My42OTQ2IDMwMy44NjYxLDE2Mi44MjI2IDMwNS42NzgxLDE2MS45ODc2IEMzMDYuNDMwMSwxNjEuNjM5NiAzMDcuMzIxMSwxNjEuOTY4NiAzMDcuNjY4MSwxNjIuNzIxNiBDMzA4LjAxNTEsMTYzLjQ3NDYgMzA3LjY4NjEsMTY0LjM2NTYgMzA2LjkzNDEsMTY0LjcxMTYgQzMwNS4xNDIxLDE2NS41Mzg2IDMwMy4zMjQxLDE2Ni40MDA2IDMwMS41MzExLDE2Ny4yNzU2IEMzMDEuMzE5MSwxNjcuMzc4NiAzMDEuMDk0MSwxNjcuNDI3NiAzMDAuODczMSwxNjcuNDI3NiBMMzAwLjg3MzEsMTY3LjQyNzYgWiBNNTQ5LjI1MDEsMTcyLjU4ODYgQzU0OS4wMDkxLDE3Mi41ODg2IDU0OC43NjUxLDE3Mi41MzE2IDU0OC41MzcxLDE3Mi40MDg2IEM1NDYuNzk0MSwxNzEuNDY0NiA1NDUuMDM5MSwxNzAuNTQwNiA1NDMuMjczMSwxNjkuNjM0NiBDNTQyLjUzNTEsMTY5LjI1NjYgNTQyLjI0NDEsMTY4LjM1MjYgNTQyLjYyMjEsMTY3LjYxNTYgQzU0My4wMDAxLDE2Ni44Nzg2IDU0My45MDYxLDE2Ni41ODY2IDU0NC42NDIxLDE2Ni45NjQ2IEM1NDYuNDI4MSwxNjcuODgwNiA1NDguMjAyMSwxNjguODE2NiA1NDkuOTY1MSwxNjkuNzY5NiBDNTUwLjY5NDEsMTcwLjE2NDYgNTUwLjk2NTEsMTcxLjA3NDYgNTUwLjU3MTEsMTcxLjgwMjYgQzU1MC4yOTkxLDE3Mi4zMDQ2IDU0OS43ODMxLDE3Mi41ODg2IDU0OS4yNTAxLDE3Mi41ODg2IEw1NDkuMjUwMSwxNzIuNTg4NiBaIE0yOTAuMTg5MSwxNzIuOTM5NiBDMjg5LjY1ODEsMTcyLjkzOTYgMjg5LjE0MzEsMTcyLjY1NjYgMjg4Ljg3MDEsMTcyLjE1NzYgQzI4OC40NzQxLDE3MS40Mjk2IDI4OC43NDIxLDE3MC41MTg2IDI4OS40NzAxLDE3MC4xMjI2IEMyOTEuMjMxMSwxNjkuMTYzNiAyOTMuMDI4MSwxNjguMjEwNiAyOTQuODEyMSwxNjcuMjkwNiBDMjk1LjU0NzEsMTY2LjkxMjYgMjk2LjQ1MzEsMTY3LjE5OTYgMjk2LjgzMjEsMTY3LjkzNjYgQzI5Ny4yMTIxLDE2OC42NzI2IDI5Ni45MjMxLDE2OS41Nzc2IDI5Ni4xODcxLDE2OS45NTY2IEMyOTQuNDIzMSwxNzAuODY3NiAyOTIuNjQ2MSwxNzEuODA4NiAyOTAuOTA2MSwxNzIuNzU2NiBDMjkwLjY3NzEsMTcyLjg4MDYgMjkwLjQzMjEsMTcyLjkzOTYgMjkwLjE4OTEsMTcyLjkzOTYgTDI5MC4xODkxLDE3Mi45Mzk2IFogTTU1OS42NTAxLDE3OC41MTM2IEM1NTkuMzg3MSwxNzguNTEzNiA1NTkuMTIxMSwxNzguNDQ1NiA1NTguODc5MSwxNzguMjk5NiBDNTU3LjE3ODEsMTc3LjI4MDYgNTU1LjQ2NTEsMTc2LjI3OTYgNTUzLjc0MTEsMTc1LjI5NjYgQzU1My4wMjAxLDE3NC44ODY2IDU1Mi43NjkxLDE3My45NzA2IDU1My4xNzkxLDE3My4yNTA2IEM1NTMuNTkwMSwxNzIuNTMwNiA1NTQuNTA1MSwxNzIuMjgxNiA1NTUuMjI1MSwxNzIuNjg5NiBDNTU2Ljk2OTEsMTczLjY4MzYgNTU4LjcwMTEsMTc0LjY5NjYgNTYwLjQyMjEsMTc1LjcyNzYgQzU2MS4xMzIxLDE3Ni4xNTM2IDU2MS4zNjQxLDE3Ny4wNzQ2IDU2MC45MzcxLDE3Ny43ODU2IEM1NjAuNjU3MSwxNzguMjUzNiA1NjAuMTU5MSwxNzguNTEzNiA1NTkuNjUwMSwxNzguNTEzNiBMNTU5LjY1MDEsMTc4LjUxMzYgWiBNMjc5Ljc2MjEsMTc4LjkxNTYgQzI3OS4yNTQxLDE3OC45MTU2IDI3OC43NTgxLDE3OC42NTc2IDI3OC40NzYxLDE3OC4xOTA2IEMyNzguMDQ5MSwxNzcuNDgwNiAyNzguMjc4MSwxNzYuNTU4NiAyNzguOTg3MSwxNzYuMTMwNiBDMjgwLjcxMTEsMTc1LjA5MjYgMjgyLjQ0NzEsMTc0LjA3MTYgMjg0LjE5NTEsMTczLjA2OTYgQzI4NC45MTExLDE3Mi42NTY2IDI4NS44MjgxLDE3Mi45MDQ2IDI4Ni4yNDIxLDE3My42MjM2IEMyODYuNjU0MSwxNzQuMzQyNiAyODYuNDA2MSwxNzUuMjU4NiAyODUuNjg3MSwxNzUuNjcwNiBDMjgzLjk1ODEsMTc2LjY2MzYgMjgyLjI0MTEsMTc3LjY3MjYgMjgwLjUzNTEsMTc4LjcwMTYgQzI4MC4yOTMxLDE3OC44NDY2IDI4MC4wMjYxLDE3OC45MTU2IDI3OS43NjIxLDE3OC45MTU2IEwyNzkuNzYyMSwxNzguOTE1NiBaIE01NjkuNzgzMSwxODQuODkzNiBDNTY5LjQ5OTEsMTg0Ljg5MzYgNTY5LjIxMjEsMTg0LjgxMzYgNTY4Ljk1ODEsMTg0LjY0NTYgQzU2Ny4zMDIxLDE4My41NTE2IDU2NS42MzMxLDE4Mi40NzU2IDU2My45NTIxLDE4MS40MTY2IEM1NjMuMjUxMSwxODAuOTc0NiA1NjMuMDQxMSwxODAuMDQ4NiA1NjMuNDgzMSwxNzkuMzQ3NiBDNTYzLjkyNDEsMTc4LjY0NzU4OCA1NjQuODQ5MSwxNzguNDM3NiA1NjUuNTUyMSwxNzguODc3NiBDNTY3LjI1MDEsMTc5Ljk0ODYgNTY4LjkzNzEsMTgxLjAzNjYgNTcwLjYxMTEsMTgyLjE0MTYgQzU3MS4zMDIxLDE4Mi41OTg2IDU3MS40OTIxLDE4My41Mjk2IDU3MS4wMzYxLDE4NC4yMTk2IEM1NzAuNzQ3MSwxODQuNjU3NiA1NzAuMjcwMSwxODQuODkzNiA1NjkuNzgzMSwxODQuODkzNiBMNTY5Ljc4MzEsMTg0Ljg5MzYgWiBNMjY5LjYxNTEsMTg1LjM0NzYgQzI2OS4xMzAxLDE4NS4zNDc2IDI2OC42NTQxLDE4NS4xMTM2IDI2OC4zNjUxLDE4NC42Nzg2IEMyNjcuOTA2MSwxODMuOTg5NiAyNjguMDkzMSwxODMuMDU3NiAyNjguNzgzMSwxODIuNTk4NiBDMjcwLjQ1NDEsMTgxLjQ4NzYgMjcyLjE1ODEsMTgwLjM3OTYgMjczLjg0OTEsMTc5LjMwODYgQzI3NC41NDcxLDE3OC44Njg2IDI3NS40NzQxLDE3OS4wNzI2IDI3NS45MTgxLDE3OS43NzM2IEMyNzYuMzYzMSwxODAuNDcyNiAyNzYuMTU1MSwxODEuMzk5NiAyNzUuNDU0MSwxODEuODQzNiBDMjczLjc4MzEsMTgyLjkwMjYgMjcyLjA5NzEsMTgzLjk5NzYgMjcwLjQ0NTEsMTg1LjA5NjYgQzI3MC4xODkxLDE4NS4yNjY2IDI2OS45MDExLDE4NS4zNDc2IDI2OS42MTUxLDE4NS4zNDc2IEwyNjkuNjE1MSwxODUuMzQ3NiBaIE01NzkuNjMwMSwxOTEuNzEzNiBDNTc5LjMyNTEsMTkxLjcxMzYgNTc5LjAxNjEsMTkxLjYyMTYgNTc4Ljc0OTEsMTkxLjQyNzYgQzU3Ny4xNTExLDE5MC4yNjY2IDU3NS41MTYxLDE4OS4xMDc2IDU3My44OTAxLDE4Ny45ODE2IEM1NzMuMjA5MSwxODcuNTA5NiA1NzMuMDM5MSwxODYuNTc1NiA1NzMuNTExMSwxODUuODkzNiBDNTczLjk4NDEsMTg1LjIxMjYgNTc0LjkxNzEsMTg1LjA0MjYgNTc1LjU5OTEsMTg1LjUxNDYgQzU3Ny4yNDIxLDE4Ni42NTM2IDU3OC44OTYxLDE4Ny44MjY2IDU4MC41MTIxLDE4OC45OTk2IEM1ODEuMTgzMSwxODkuNDg3NiA1ODEuMzMxMSwxOTAuNDI0NiA1ODAuODQ1MSwxOTEuMDk0NiBDNTgwLjU1MTEsMTkxLjQ5ODYgNTgwLjA5NDEsMTkxLjcxMzYgNTc5LjYzMDEsMTkxLjcxMzYgTDU3OS42MzAxLDE5MS43MTM2IFogTTI1OS43NjMxLDE5Mi4yMTU2IEMyNTkuMzAwMSwxOTIuMjE1NiAyNTguODQ0MSwxOTIuMDAyNiAyNTguNTUwMSwxOTEuNjAwNiBDMjU4LjA2MjEsMTkwLjkzMDYgMjU4LjIwODEsMTg5Ljk5MjYgMjU4Ljg3NzEsMTg5LjUwMzYgQzI2MC41MDIxLDE4OC4zMTg2IDI2Mi4xNDAxLDE4Ny4xNDg2IDI2My43OTExLDE4NS45OTc2IEMyNjQuNDcwMSwxODUuNTIzNiAyNjUuNDA1MSwxODUuNjg4NiAyNjUuODgwMSwxODYuMzY5NiBDMjY2LjM1NDEsMTg3LjA0ODYgMjY2LjE4NzEsMTg3Ljk4NDYgMjY1LjUwODEsMTg4LjQ1NzYgQzI2My44NzQxLDE4OS41OTc2IDI2Mi4yNTQxLDE5MC43NTM2IDI2MC42NDcxLDE5MS45Mjc2IEMyNjAuMzc5MSwxOTIuMTIyNiAyNjAuMDcwMSwxOTIuMjE1NiAyNTkuNzYzMSwxOTIuMjE1NiBMMjU5Ljc2MzEsMTkyLjIxNTYgWiBNNTg5LjE3MjEsMTk4Ljk2MzYgQzU4OC44NDUxLDE5OC45NjM2IDU4OC41MTYxLDE5OC44NTc2IDU4OC4yNDAxLDE5OC42Mzc2IEM1ODYuNjg1MSwxOTcuNDAxNiA1ODUuMTE2MSwxOTYuMTgyNiA1ODMuNTM0MSwxOTQuOTgwNiBDNTgyLjg3NDEsMTk0LjQ3OTYgNTgyLjc0NjEsMTkzLjUzODYgNTgzLjI0NzEsMTkyLjg3ODYgQzU4My43NDgxLDE5Mi4yMTc2IDU4NC42OTExLDE5Mi4wOTA2IDU4NS4zNDkxLDE5Mi41OTE2IEM1ODYuOTQ5MSwxOTMuODA3NiA1ODguNTM0MSwxOTUuMDM5NiA1OTAuMTA3MSwxOTYuMjg5NiBDNTkwLjc1NTEsMTk2LjgwNTYgNTkwLjg2MzEsMTk3Ljc0ODYgNTkwLjM0NzEsMTk4LjM5NzYgQzU5MC4wNTExLDE5OC43Njk2IDU4OS42MTQxLDE5OC45NjM2IDU4OS4xNzIxLDE5OC45NjM2IEw1ODkuMTcyMSwxOTguOTYzNiBaIE0yNTAuMjI3MSwxOTkuNTEwNiBDMjQ5Ljc4NjEsMTk5LjUxMDYgMjQ5LjM1MTEsMTk5LjMxODYgMjQ5LjA1NTEsMTk4Ljk0ODYgQzI0OC41MzcxLDE5OC4zMDA2IDI0OC42NDIxLDE5Ny4zNTY2IDI0OS4yODgxLDE5Ni44Mzk2IEMyNTAuODYwMSwxOTUuNTgyNiAyNTIuNDQ1MSwxOTQuMzQyNiAyNTQuMDQzMSwxOTMuMTIwNiBDMjU0LjY5OTEsMTkyLjYxODYgMjU1LjY0MzEsMTkyLjc0MjYgMjU2LjE0NjEsMTkzLjQwMDYgQzI1Ni42NDkxLDE5NC4wNTg2IDI1Ni41MjQxLDE5NC45OTk2IDI1NS44NjYxLDE5NS41MDI2IEMyNTQuMjg0MSwxOTYuNzExNiAyNTIuNzE3MSwxOTcuOTM4NiAyNTEuMTYzMSwxOTkuMTgxNiBDMjUwLjg4NjEsMTk5LjQwMzYgMjUwLjU1NTEsMTk5LjUxMDYgMjUwLjIyNzEsMTk5LjUxMDYgTDI1MC4yMjcxLDE5OS41MTA2IFogTTI0MS4wMjMxLDIwNy4yMTM2IEMyNDAuNjA1MSwyMDcuMjEzNiAyNDAuMTkwMSwyMDcuMDM5NiAyMzkuODkzMSwyMDYuNzAxNiBDMjM5LjM0NzEsMjA2LjA3ODYgMjM5LjQxMDEsMjA1LjEyOTYgMjQwLjAzNDEsMjA0LjU4NDYgQzI0MS41NDgxLDIwMy4yNjA2IDI0My4wNzYxLDIwMS45NTI2IDI0NC42MTgxLDIwMC42NjE2IEMyNDUuMjU0MSwyMDAuMTI4NiAyNDYuMTk5MSwyMDAuMjEyNiAyNDYuNzMyMSwyMDAuODQ4NiBDMjQ3LjI2MzEsMjAxLjQ4NDYgMjQ3LjE3OTEsMjAyLjQyOTYgMjQ2LjU0NDEsMjAyLjk2MTYgQzI0NS4wMTgxLDIwNC4yMzk2IDI0My41MDcxLDIwNS41MzI2IDI0Mi4wMDkxLDIwNi44NDI2IEMyNDEuNzI1MSwyMDcuMDkxNiAyNDEuMzczMSwyMDcuMjEzNiAyNDEuMDIzMSwyMDcuMjEzNiBMMjQxLjAyMzEsMjA3LjIxMzYgWiBNNjA3LjI2NjEsMjE0LjY4OTYgQzYwNi44OTUxLDIxNC42ODk2IDYwNi41MjQxLDIxNC41NTI2IDYwNi4yMzMxLDIxNC4yNzc2IEM2MDQuNzkxMSwyMTIuOTA4NiA2MDMuMzIxMSwyMTEuNTQyNiA2MDEuODY0MSwyMTAuMjE5NiBDNjAxLjI1MDEsMjA5LjY2MzYgNjAxLjIwNDEsMjA4LjcxNDYgNjAxLjc2MTEsMjA4LjEwMTYgQzYwMi4zMTgxLDIwNy40ODY2IDYwMy4yNjYxLDIwNy40NDI2IDYwMy44NzkxLDIwNy45OTg2IEM2MDUuMzU0MSwyMDkuMzM2NiA2MDYuODQwMSwyMTAuNzE2NiA2MDguMjk5MSwyMTIuMTAxNiBDNjA4LjkwMDEsMjEyLjY3MTYgNjA4LjkyNDEsMjEzLjYyMTYgNjA4LjM1NDEsMjE0LjIyMjYgQzYwOC4wNTkxLDIxNC41MzM2IDYwNy42NjIxLDIxNC42ODk2IDYwNy4yNjYxLDIxNC42ODk2IEw2MDcuMjY2MSwyMTQuNjg5NiBaIE0yMzIuMTY2MSwyMTUuMzA5NiBDMjMxLjc3MTEsMjE1LjMwOTYgMjMxLjM3NjEsMjE1LjE1NDYgMjMxLjA4MTEsMjE0Ljg0NTYgQzIzMC41MDkxLDIxNC4yNDc2IDIzMC41MzIxLDIxMy4yOTY2IDIzMS4xMzAxLDIxMi43MjQ2IEMyMzIuNTg0MSwyMTEuMzM1NiAyMzQuMDUzMSwyMDkuOTYyNiAyMzUuNTM2MSwyMDguNjA2NiBDMjM2LjE0NzEsMjA4LjA0NjYgMjM3LjA5NTEsMjA4LjA4NzYgMjM3LjY1NjEsMjA4LjcwMDYgQzIzOC4yMTUxLDIwOS4zMTE2IDIzOC4xNzMxLDIxMC4yNjA2IDIzNy41NjIxLDIxMC44MTk2IEMyMzYuMDk0MSwyMTIuMTYyNiAyMzQuNjQxMSwyMTMuNTE5NiAyMzMuMjAyMSwyMTQuODk0NiBDMjMyLjkxMjEsMjE1LjE3MTYgMjMyLjUzOTEsMjE1LjMwOTYgMjMyLjE2NjEsMjE1LjMwOTYgTDIzMi4xNjYxLDIxNS4zMDk2IFogTTYxNS43ODMxLDIyMy4xMzU2IEM2MTUuMzkwMSwyMjMuMTM1NiA2MTQuOTk3MSwyMjIuOTgyNiA2MTQuNzAzMSwyMjIuNjc3NiBDNjEzLjMyMzEsMjIxLjI0NzYgNjExLjkyNTEsMjE5LjgzMTYgNjEwLjUxNDEsMjE4LjQyOTYgQzYwOS45MjYxLDIxNy44NDY2IDYwOS45MjIxLDIxNi44OTY2IDYxMC41MDYxLDIxNi4zMDg2IEM2MTEuMDg5MSwyMTUuNzE5NiA2MTIuMDM4MSwyMTUuNzE1NiA2MTIuNjI3MSwyMTYuMzAwNiBDNjE0LjA1NDEsMjE3LjcxNTYgNjE1LjQ2NTEsMjE5LjE0NzYgNjE2Ljg2MjEsMjIwLjU5MzYgQzYxNy40MzcxLDIyMS4xODk2IDYxNy40MjAxLDIyMi4xMzk2IDYxNi44MjUxLDIyMi43MTQ2IEM2MTYuNTMzMSwyMjIuOTk2NiA2MTYuMTU4MSwyMjMuMTM1NiA2MTUuNzgzMSwyMjMuMTM1NiBMNjE1Ljc4MzEsMjIzLjEzNTYgWiBNMjIzLjY3OTEsMjIzLjc4NTYgQzIyMy4zMDYxLDIyMy43ODU2IDIyMi45MzIxLDIyMy42NDY2IDIyMi42NDIxLDIyMy4zNjg2IEMyMjIuMDQzMSwyMjIuNzk1NiAyMjIuMDIzMSwyMjEuODQ2NiAyMjIuNTk1MSwyMjEuMjQ3NiBDMjIzLjk2NjEsMjE5LjgxNjYgMjI1LjM4NjEsMjE4LjM2NzYgMjI2LjgxNzEsMjE2LjkzOTYgQzIyNy40MDQxLDIxNi4zNTQ2IDIyOC4zNTMxLDIxNi4zNTQ2IDIyOC45MzgxLDIxNi45NDE2IEMyMjkuNTIzMSwyMTcuNTI3NiAyMjkuNTIyMSwyMTguNDc3NiAyMjguOTM2MSwyMTkuMDYyNiBDMjI3LjUyMTEsMjIwLjQ3NDYgMjI2LjExNzEsMjIxLjkwNzYgMjI0Ljc2MjEsMjIzLjMyMjYgQzIyNC40NjgxLDIyMy42Mjk2IDIyNC4wNzQxLDIyMy43ODU2IDIyMy42NzkxLDIyMy43ODU2IEwyMjMuNjc5MSwyMjMuNzg1NiBaIE02MjMuOTI0MSwyMzEuOTUwNiBDNjIzLjUwODEsMjMxLjk1MDYgNjIzLjA5NTEsMjMxLjc3OTYgNjIyLjc5OTEsMjMxLjQ0MzYgQzYyMS40ODIxLDIyOS45NTI2IDYyMC4xMzYxLDIyOC40NjI2IDYxOC43OTkxLDIyNy4wMTY2IEM2MTguMjM3MSwyMjYuNDA3NiA2MTguMjc0MSwyMjUuNDU4NiA2MTguODgyMSwyMjQuODk2NiBDNjE5LjQ5MTEsMjI0LjMzNDYgNjIwLjQ0MDEsMjI0LjM3MjYgNjIxLjAwMjEsMjI0Ljk3OTYgQzYyMi4zNTUxLDIyNi40NDM2IDYyMy43MTUxLDIyNy45NDk2IDYyNS4wNDcxLDIyOS40NTY2IEM2MjUuNTk2MSwyMzAuMDc4NiA2MjUuNTM3MSwyMzEuMDI2NiA2MjQuOTE2MSwyMzEuNTc0NiBDNjI0LjYzMTEsMjMxLjgyNjYgNjI0LjI3NzEsMjMxLjk1MDYgNjIzLjkyNDEsMjMxLjk1MDYgTDYyMy45MjQxLDIzMS45NTA2IFogTTIxNS41NzAxLDIzMi42MTk2IEMyMTUuMjE4MSwyMzIuNjE5NiAyMTQuODY2MSwyMzIuNDk2NiAyMTQuNTgwMSwyMzIuMjQ2NiBDMjEzLjk1ODEsMjMxLjY5OTYgMjEzLjg5NzEsMjMwLjc1MTYgMjE0LjQ0NDEsMjMwLjEyODYgQzIxNS43NzAxLDIyOC42MTk2IDIxNy4xMTMxLDIyNy4xMjM2IDIxOC40NzAxLDIyNS42NDM2IEMyMTkuMDMxMSwyMjUuMDMzNiAyMTkuOTc5MSwyMjQuOTkzNiAyMjAuNTg5MSwyMjUuNTUxNiBDMjIxLjE5OTEsMjI2LjExMTYgMjIxLjI0MTEsMjI3LjA2MDYgMjIwLjY4MTEsMjI3LjY3MDYgQzIxOS4zMzcxLDIyOS4xMzU2IDIxOC4wMTAxLDIzMC42MTU2IDIxNi42OTgxLDIzMi4xMDk2IEMyMTYuNDAxMSwyMzIuNDQ2NiAyMTUuOTg3MSwyMzIuNjE5NiAyMTUuNTcwMSwyMzIuNjE5NiBMMjE1LjU3MDEsMjMyLjYxOTYgWiBNNjMxLjY3MzEsMjQxLjExNTYgQzYzMS4yMzYxLDI0MS4xMTU2IDYzMC44MDIxLDI0MC45MjQ2IDYzMC41MDYxLDI0MC41NTg2IEM2MjkuMjQ2MSwyMzkuMDAwNiA2MjcuOTY3MSwyMzcuNDUzNiA2MjYuNzAxMSwyMzUuOTU3NiBDNjI2LjE2NjEsMjM1LjMyNTYgNjI2LjI0NTEsMjM0LjM3ODYgNjI2Ljg3ODEsMjMzLjg0MzYgQzYyNy41MTExLDIzMy4zMDg2IDYyOC40NTgxLDIzMy4zODg2IDYyOC45OTIxLDIzNC4wMjA2IEM2MzAuMjcyMSwyMzUuNTMzNiA2MzEuNTY2MSwyMzcuMDk3NiA2MzIuODM4MSwyMzguNjcxNiBDNjMzLjM2MDEsMjM5LjMxNjYgNjMzLjI1OTEsMjQwLjI2MDYgNjMyLjYxNjEsMjQwLjc4MTYgQzYzMi4zMzcxLDI0MS4wMDU2IDYzMi4wMDQxLDI0MS4xMTU2IDYzMS42NzMxLDI0MS4xMTU2IEw2MzEuNjczMSwyNDEuMTE1NiBaIE0yMDcuODU5MSwyNDEuNzk4NiBDMjA3LjUzMDEsMjQxLjc5ODYgMjA3LjE5ODEsMjQxLjY5MDYgMjA2LjkyMTEsMjQxLjQ2ODYgQzIwNi4yNzUxLDI0MC45NTA2IDIwNi4xNzExLDI0MC4wMDU2IDIwNi42OTAxLDIzOS4zNjA2IEMyMDcuOTM1MSwyMzcuODA4NiAyMDkuMjIyMSwyMzYuMjQxNiAyMTAuNTE2MSwyMzQuNzAyNiBDMjExLjA1MDEsMjM0LjA2NzYgMjExLjk5NjEsMjMzLjk4NTYgMjEyLjYyOTEsMjM0LjUxODYgQzIxMy4yNjQxLDIzNS4wNTE2IDIxMy4zNDYxLDIzNS45OTc2IDIxMi44MTMxLDIzNi42MzE2IEMyMTEuNTMzMSwyMzguMTU0NiAyMTAuMjYxMSwyMzkuNzA0NiAyMDkuMDMwMSwyNDEuMjM3NiBDMjA4LjczMzEsMjQxLjYwNjYgMjA4LjI5ODEsMjQxLjc5ODYgMjA3Ljg1OTEsMjQxLjc5ODYgTDIwNy44NTkxLDI0MS43OTg2IFogTTYzOS4wMTQxLDI1MC42MTU2IEM2MzguNTU0MSwyNTAuNjE1NiA2MzguMTAwMSwyNTAuNDA0NiA2MzcuODA2MSwyNTAuMDA1NiBDNjM2LjYzMDEsMjQ4LjQxMjYgNjM1LjQxOTEsMjQ2LjgwOTYgNjM0LjIwODEsMjQ1LjI0MjYgQzYzMy43MDExLDI0NC41ODY2IDYzMy44MjIxLDI0My42NDU2IDYzNC40NzgxLDI0My4xMzg2IEM2MzUuMTMyMSwyNDIuNjMyNiA2MzYuMDc1MSwyNDIuNzUxNiA2MzYuNTgxMSwyNDMuNDA4NiBDNjM3LjgwNjEsMjQ0Ljk5MjYgNjM5LjAzMTEsMjQ2LjYxMjYgNjQwLjIyMDEsMjQ4LjIyNDYgQzY0MC43MTIxLDI0OC44OTA2IDY0MC41NzExLDI0OS44MzA2IDYzOS45MDQxLDI1MC4zMjI2IEM2MzkuNjM2MSwyNTAuNTE5NiA2MzkuMzI0MSwyNTAuNjE1NiA2MzkuMDE0MSwyNTAuNjE1NiBMNjM5LjAxNDEsMjUwLjYxNTYgWiBNMjAwLjU2MjEsMjUxLjMwMzYgQzIwMC4yNTMxLDI1MS4zMDM2IDE5OS45NDMxLDI1MS4yMDg2IDE5OS42NzUxLDI1MS4wMTI2IEMxOTkuMDA3MSwyNTAuNTIzNiAxOTguODY0MSwyNDkuNTgzNiAxOTkuMzU0MSwyNDguOTE1NiBDMjAwLjU0MTEsMjQ3LjI5NjYgMjAxLjc0NzEsMjQ1LjY5MTYgMjAyLjk3MDEsMjQ0LjA5ODYgQzIwMy40NzMxLDI0My40NDE2IDIwNC40MTQxLDI0My4zMTQ2IDIwNS4wNzMxLDI0My44MjI2IEMyMDUuNzMwMSwyNDQuMzI2NiAyMDUuODU0MSwyNDUuMjY3NiAyMDUuMzQ5MSwyNDUuOTI0NiBDMjA0LjE0MDEsMjQ3LjQ5OTYgMjAyLjk0ODEsMjQ5LjA4OTYgMjAxLjc3MjEsMjUwLjY5MTYgQzIwMS40NzgxLDI1MS4wOTE2IDIwMS4wMjMxLDI1MS4zMDM2IDIwMC41NjIxLDI1MS4zMDM2IEwyMDAuNTYyMSwyNTEuMzAzNiBaIE02NDUuOTMyMSwyNjAuNDMxNiBDNjQ1LjQ1MDEsMjYwLjQzMTYgNjQ0Ljk3NjEsMjYwLjE5OTYgNjQ0LjY4NjEsMjU5Ljc2ODYgQzY0My41NjMxLDI1OC4wOTc2IDY0Mi40MjMxLDI1Ni40NDI2IDY0MS4yOTkxLDI1NC44NDk2IEM2NDAuODIyMSwyNTQuMTcxNiA2NDAuOTgzMSwyNTMuMjM2NiA2NDEuNjU5MSwyNTIuNzU4NiBDNjQyLjMzNjEsMjUyLjI4MTYgNjQzLjI3MzEsMjUyLjQ0MjYgNjQzLjc1MDEsMjUzLjExOTYgQzY0NC44ODcxLDI1NC43MzE2IDY0Ni4wNDAxLDI1Ni40MDU2IDY0Ny4xNzYxLDI1OC4wOTQ2IEM2NDcuNjM4MSwyNTguNzgyNiA2NDcuNDU1MSwyNTkuNzE0NiA2NDYuNzY4MSwyNjAuMTc2NiBDNjQ2LjUxMTEsMjYwLjM0OTYgNjQ2LjIyMDEsMjYwLjQzMTYgNjQ1LjkzMjEsMjYwLjQzMTYgTDY0NS45MzIxLDI2MC40MzE2IFogTTE5My42OTIxLDI2MS4xMTc2IEMxOTMuNDA1MSwyNjEuMTE3NiAxOTMuMTE2MSwyNjEuMDM1NiAxOTIuODYwMSwyNjAuODY0NiBDMTkyLjE3MDEsMjYwLjQwNDYgMTkxLjk4NjEsMjU5LjQ3MjYgMTkyLjQ0NjEsMjU4Ljc4NDYgQzE5My41NjExLDI1Ny4xMTQ2IDE5NC42OTQxLDI1NS40NTY2IDE5NS44NDUxLDI1My44MTM2IEMxOTYuMzIxMSwyNTMuMTMzNiAxOTcuMjU2MSwyNTIuOTcwNiAxOTcuOTM0MSwyNTMuNDQ1NiBDMTk4LjYxMzEsMjUzLjkxOTYgMTk4Ljc3ODEsMjU0Ljg1NTYgMTk4LjMwMjEsMjU1LjUzNDYgQzE5Ny4xNjQxLDI1Ny4xNjA2IDE5Ni4wNDMxLDI1OC43OTk2IDE5NC45NDAxLDI2MC40NTA2IEMxOTQuNjUxMSwyNjAuODgzNiAxOTQuMTc1MSwyNjEuMTE3NiAxOTMuNjkyMSwyNjEuMTE3NiBMMTkzLjY5MjEsMjYxLjExNzYgWiBNNjUyLjQxMzEsMjcwLjU0NjYgQzY1MS45MDgxLDI3MC41NDY2IDY1MS40MTQxLDI3MC4yOTA2IDY1MS4xMzIxLDI2OS44Mjg2IEM2NTAuMDk1MSwyNjguMTI2NiA2NDkuMDM5MSwyNjYuNDM4NiA2NDcuOTY1MSwyNjQuNzYyNiBDNjQ3LjUxODEsMjY0LjA2NDYgNjQ3LjcyMTEsMjYzLjEzNjYgNjQ4LjQxODEsMjYyLjY5MDYgQzY0OS4xMTYxLDI2Mi4yNDI2IDY1MC4wNDQxLDI2Mi40NDY2IDY1MC40OTExLDI2My4xNDM2IEM2NTEuNTY4MSwyNjQuODI0NiA2NTIuNjQ1MSwyNjYuNTQ3NiA2NTMuNjkzMSwyNjguMjY1NiBDNjU0LjEyNDEsMjY4Ljk3MjYgNjUzLjkwMTEsMjY5Ljg5NjYgNjUzLjE5NDEsMjcwLjMyNzYgQzY1Mi45NTAxLDI3MC40NzY2IDY1Mi42ODAxLDI3MC41NDY2IDY1Mi40MTMxLDI3MC41NDY2IEw2NTIuNDEzMSwyNzAuNTQ2NiBaIE0xODcuMjYwMSwyNzEuMjE5NiBDMTg2Ljk5NDEsMjcxLjIxOTYgMTg2LjcyNjEsMjcxLjE0OTYgMTg2LjQ4MzEsMjcxLjAwMTYgQzE4NS43NzUxLDI3MC41NzI2IDE4NS41NDkxLDI2OS42NTA2IDE4NS45NzkxLDI2OC45NDE2IEMxODcuMDIxMSwyNjcuMjI0NiAxODguMDc4MSwyNjUuNTE5NiAxODkuMTU2MSwyNjMuODI4NiBDMTg5LjYwMTEsMjYzLjEyNzYgMTkwLjUzMDEsMjYyLjkyNjYgMTkxLjIyNzEsMjYzLjM2ODYgQzE5MS45MjUxLDI2My44MTM2IDE5Mi4xMzExLDI2NC43NDA2IDE5MS42ODcxLDI2NS40Mzk2IEMxOTAuNjIxMSwyNjcuMTEzNiAxODkuNTc0MSwyNjguNzk4NiAxODguNTQzMSwyNzAuNDk3NiBDMTg4LjI2MTEsMjcwLjk2MjYgMTg3Ljc2NzEsMjcxLjIxOTYgMTg3LjI2MDEsMjcxLjIxOTYgTDE4Ny4yNjAxLDI3MS4yMTk2IFogTTY1OC40NDQxLDI4MC45NDE2IEM2NTcuOTE1MSwyODAuOTQxNiA2NTcuNDAyMSwyODAuNjYxNiA2NTcuMTI5MSwyODAuMTY0NiBDNjU2LjE3NDEsMjc4LjQzMTYgNjU1LjE4NTEsMjc2LjY4MTYgNjU0LjE4ODEsMjc0Ljk2MjYgQzY1My43NzIxLDI3NC4yNDY2IDY1NC4wMTUxLDI3My4zMjg2IDY1NC43MzIxLDI3Mi45MTM2IEM2NTUuNDQ5MSwyNzIuNDk3NiA2NTYuMzY1MSwyNzIuNzM5NiA2NTYuNzgyMSwyNzMuNDU2NiBDNjU3Ljc5MDEsMjc1LjE5NTYgNjU4Ljc5MTEsMjc2Ljk2NDYgNjU5Ljc1NzEsMjc4LjcxNzYgQzY2MC4xNTcxLDI3OS40NDM2IDY1OS44OTIxLDI4MC4zNTU2IDY1OS4xNjYxLDI4MC43NTQ2IEM2NTguOTM3MSwyODAuODgxNiA2NTguNjg5MSwyODAuOTQxNiA2NTguNDQ0MSwyODAuOTQxNiBMNjU4LjQ0NDEsMjgwLjk0MTYgWiBNMTgxLjI4NDEsMjgxLjU4ODYgQzE4MS4wNDAxLDI4MS41ODg2IDE4MC43OTQxLDI4MS41MzA2IDE4MC41NjYxLDI4MS40MDU2IEMxNzkuODM5MSwyODEuMDA2NiAxNzkuNTcyMSwyODAuMDk1NiAxNzkuOTY5MSwyNzkuMzY5NiBDMTgwLjkzMzEsMjc3LjYwODYgMTgxLjkxNTEsMjc1Ljg1OTYgMTgyLjkxNjEsMjc0LjEyMjYgQzE4My4zMjkxLDI3My40MDM2IDE4NC4yNDYxLDI3My4xNTk2IDE4NC45NjUxLDI3My41NzE2IEMxODUuNjgzMSwyNzMuOTg0NiAxODUuOTI5MSwyNzQuOTAyNiAxODUuNTE2MSwyNzUuNjIwNiBDMTg0LjUyNzEsMjc3LjMzNzYgMTgzLjU1NDEsMjc5LjA2NzYgMTgyLjYwMTEsMjgwLjgwODYgQzE4Mi4zMjgxLDI4MS4zMDY2IDE4MS44MTUxLDI4MS41ODg2IDE4MS4yODQxLDI4MS41ODg2IEwxODEuMjg0MSwyODEuNTg4NiBaIE02NjQuMDEwMSwyOTEuNTk3NiBDNjYzLjQ1NzEsMjkxLjU5NzYgNjYyLjkyNjEsMjkxLjI5MDYgNjYyLjY2NDEsMjkwLjc2MjYgQzY2MS43ODcxLDI4OC45ODk2IDY2MC44NzYxLDI4Ny4xOTY2IDY1OS45NTUxLDI4NS40MzI2IEM2NTkuNTcyMSwyODQuNjk5NiA2NTkuODU2MSwyODMuNzkyNiA2NjAuNTkwMSwyODMuNDA5NiBDNjYxLjMyMzEsMjgzLjAyNDYgNjYyLjIzMDEsMjgzLjMwOTYgNjYyLjYxNDEsMjg0LjA0MzYgQzY2My41NDUxLDI4NS44MjY2IDY2NC40NjcxLDI4Ny42Mzk2IDY2NS4zNTQxLDI4OS40MzI2IEM2NjUuNzIxMSwyOTAuMTc1NiA2NjUuNDE2MSwyOTEuMDc1NiA2NjQuNjc0MSwyOTEuNDQyNiBDNjY0LjQ2MDEsMjkxLjU0NzYgNjY0LjIzNDEsMjkxLjU5NzYgNjY0LjAxMDEsMjkxLjU5NzYgTDY2NC4wMTAxLDI5MS41OTc2IFogTTE3NS43NzExLDI5Mi4yMDg2IEMxNzUuNTQ4MSwyOTIuMjA4NiAxNzUuMzI0MSwyOTIuMTYwNiAxNzUuMTExMSwyOTIuMDU1NiBDMTc0LjM2NjEsMjkxLjY5MDYgMTc0LjA2MDEsMjkwLjc5MDYgMTc0LjQyNTEsMjkwLjA0NzYgQzE3NS4zMTAxLDI4OC4yNDc2IDE3Ni4yMTQxLDI4Ni40NTU2IDE3Ny4xMzgxLDI4NC42Nzc2IEMxNzcuNTIwMSwyODMuOTQzNiAxNzguNDI1MSwyODMuNjU1NiAxNzkuMTYwMSwyODQuMDM4NiBDMTc5Ljg5NjEsMjg0LjQxODYgMTgwLjE4MjEsMjg1LjMyNTYgMTc5LjgwMDEsMjg2LjA2MDYgQzE3OC44ODcxLDI4Ny44MTk2IDE3Ny45OTMxLDI4OS41ODg2IDE3Ny4xMTgxLDI5MS4zNzA2IEMxNzYuODU4MSwyOTEuOTAxNiAxNzYuMzI0MSwyOTIuMjA4NiAxNzUuNzcxMSwyOTIuMjA4NiBMMTc1Ljc3MTEsMjkyLjIwODYgWiBNMTcwLjczNjEsMzAzLjA1NTYgQzE3MC41MzUxLDMwMy4wNTU2IDE3MC4zMzExLDMwMy4wMTU2IDE3MC4xMzUxLDMwMi45Mjk2IEMxNjkuMzc2MSwzMDIuNTk3NiAxNjkuMDMxMSwzMDEuNzEyNiAxNjkuMzYzMSwzMDAuOTU0NiBDMTcwLjE2NjEsMjk5LjExNzYgMTcwLjk5MTEsMjk3LjI4OTYgMTcxLjgzNDEsMjk1LjQ3MjYgQzE3Mi4xODQxLDI5NC43MjA2IDE3My4wNzgxLDI5NC4zOTY2IDE3My44MjYxLDI5NC43NDQ2IEMxNzQuNTc3MSwyOTUuMDkyNiAxNzQuOTA0MSwyOTUuOTg0NiAxNzQuNTU1MSwyOTYuNzM2NiBDMTczLjcyMTEsMjk4LjUzMzYgMTcyLjkwNzEsMzAwLjMzOTYgMTcyLjExMTEsMzAyLjE1NzYgQzE3MS44NjUxLDMwMi43MjA2IDE3MS4zMTQxLDMwMy4wNTU2IDE3MC43MzYxLDMwMy4wNTU2IEwxNzAuNzM2MSwzMDMuMDU1NiBaIE0xNjYuMTgxMSwzMTQuMTI4NiBDMTY2LjAwMTEsMzE0LjEyODYgMTY1LjgxOTEsMzE0LjA5NjYgMTY1LjY0MTEsMzE0LjAyODYgQzE2NC44NjgxLDMxMy43MzA2IDE2NC40ODQxLDMxMi44NjE2IDE2NC43ODIxLDMxMi4wODg2IEMxNjUuNTA2MSwzMTAuMjExNiAxNjYuMjUwMSwzMDguMzQzNiAxNjcuMDE0MSwzMDYuNDg2NiBDMTY3LjMyODEsMzA1LjcyMDYgMTY4LjIwNTEsMzA1LjM1NjYgMTY4Ljk3MjEsMzA1LjY2ODYgQzE2OS43MzkxLDMwNS45ODQ2IDE3MC4xMDQxLDMwNi44NjE2IDE2OS43ODkxLDMwNy42MjY2IEMxNjkuMDMzMSwzMDkuNDY0NiAxNjguMjk3MSwzMTEuMzExNiAxNjcuNTgwMSwzMTMuMTY4NiBDMTY3LjM1MTEsMzEzLjc2NDYgMTY2Ljc4MzEsMzE0LjEyODYgMTY2LjE4MTEsMzE0LjEyODYgTDE2Ni4xODExLDMxNC4xMjg2IFogTTE2Mi4xMTIxLDMyNS40MTU2IEMxNjEuOTUzMSwzMjUuNDE1NiAxNjEuNzkzMSwzMjUuMzkxNiAxNjEuNjM1MSwzMjUuMzM3NiBDMTYwLjg0OTEsMzI1LjA3NTYgMTYwLjQyNjEsMzI0LjIyNDYgMTYwLjY5MDEsMzIzLjQzOTYgQzE2MS4zMjYxLDMyMS41Mzk2IDE2MS45OTMxLDMxOS42MjI2IDE2Mi42NzIxLDMxNy43NDE2IEMxNjIuOTUzMSwzMTYuOTYxNiAxNjMuODE0MSwzMTYuNTU2NiAxNjQuNTkyMSwzMTYuODM4NiBDMTY1LjM3MTEsMzE3LjEyMDYgMTY1Ljc3NjEsMzE3Ljk3OTYgMTY1LjQ5NDEsMzE4Ljc1ODYgQzE2NC44MjQxLDMyMC42MTg2IDE2NC4xNjQxLDMyMi41MTM2IDE2My41MzMxLDMyNC4zOTI2IEMxNjMuMzI0MSwzMjUuMDIwNiAxNjIuNzM5MSwzMjUuNDE1NiAxNjIuMTEyMSwzMjUuNDE1NiBMMTYyLjExMjEsMzI1LjQxNTYgWiBNMTUyLjk2OTEsMzYwLjIwMTYgQzE1Mi44NzQxLDM2MC4yMDE2IDE1Mi43NzkxLDM2MC4xOTI2IDE1Mi42ODMxLDM2MC4xNzM2IEMxNTEuODY5MSwzNjAuMDE2NiAxNTEuMzM3MSwzNTkuMjMwNiAxNTEuNDk0MSwzNTguNDE2NiBDMTUxLjg3NjEsMzU2LjQzODYgMTUyLjI3OTEsMzU0LjQ2ODYgMTUyLjcwMjEsMzUyLjUwNjYgQzE1Mi44NzcxLDM1MS42OTY2IDE1My42ODMxLDM1MS4xODM2IDE1NC40ODUxLDM1MS4zNTc2IEMxNTUuMjk0MSwzNTEuNTMxNiAxNTUuODA5MSwzNTIuMzMwNiAxNTUuNjM0MSwzNTMuMTM5NiBDMTU1LjIxNjEsMzU1LjA4MDYgMTU0LjgxODEsMzU3LjAyODYgMTU0LjQ0MDEsMzU4Ljk4NTYgQzE1NC4zMDExLDM1OS43MDM2IDE1My42NzMxLDM2MC4yMDE2IDE1Mi45NjkxLDM2MC4yMDE2IEwxNTIuOTY5MSwzNjAuMjAxNiBaIE0xNTMuNzAwMSw0NjcuNDcyNiBDMTUzLjAwNTEsNDY3LjQ3MjYgMTUyLjM4MDEsNDY2Ljk4NTYgMTUyLjIzNDEsNDY2LjI3NzYgQzE1MS44MjYxLDQ2NC4zMTE2IDE1MS40NDExLDQ2Mi4zMzc2IDE1MS4wNzUxLDQ2MC4zNTc2IEMxNTAuOTI1MSw0NTkuNTQxNiAxNTEuNDYzMSw0NTguNzU5NiAxNTIuMjc4MSw0NTguNjA5NiBDMTUzLjA5MzEsNDU4LjQ2NTYgMTUzLjg3NTEsNDU4Ljk5NzYgMTU0LjAyNjEsNDU5LjgxMjYgQzE1NC4zODYxLDQ2MS43NzE2IDE1NC43NjgxLDQ2My43MjM2IDE1NS4xNzExLDQ2NS42Njc2IEMxNTUuMzM5MSw0NjYuNDc5NiAxNTQuODE4MSw0NjcuMjczNiAxNTQuMDA3MSw0NjcuNDQxNiBDMTUzLjkwNTEsNDY3LjQ2MjYgMTUzLjgwMjEsNDY3LjQ3MjYgMTUzLjcwMDEsNDY3LjQ3MjYgTDE1My43MDAxLDQ2Ny40NzI2IFogTTE1Ni4zOTYxLDQ3OS4xNjI2IEMxNTUuNzI2MSw0NzkuMTYyNiAxNTUuMTE2MSw0NzguNzEwNiAxNTQuOTQzMSw0NzguMDMyNiBDMTU0LjQ1NDEsNDc2LjEwODYgMTUzLjk3NjEsNDc0LjEzNTYgMTUzLjUyMjEsNDcyLjE2ODYgQzE1My4zMzYxLDQ3MS4zNjI2IDE1My44MzkxLDQ3MC41NTY2IDE1NC42NDcxLDQ3MC4zNzA2IEMxNTUuNDU0MSw0NzAuMTg5NiAxNTYuMjYwMSw0NzAuNjg4NiAxNTYuNDQ2MSw0NzEuNDk1NiBDMTU2Ljg5NDEsNDczLjQzOTYgMTU3LjM2NzEsNDc1LjM5MDYgMTU3Ljg1MTEsNDc3LjI5MTYgQzE1OC4wNTUxLDQ3OC4wOTU2IDE1Ny41NzAxLDQ3OC45MTI2IDE1Ni43NjcxLDQ3OS4xMTY2IEMxNTYuNjQzMSw0NzkuMTQ3NiAxNTYuNTE4MSw0NzkuMTYyNiAxNTYuMzk2MSw0NzkuMTYyNiBMMTU2LjM5NjEsNDc5LjE2MjYgWiBNMTU5LjYwNzEsNDkwLjcyMTYgQzE1OC45NjMxLDQ5MC43MjE2IDE1OC4zNjcxLDQ5MC4zMDM2IDE1OC4xNzIxLDQ4OS42NTU2IEMxNTcuNTk1MSw0ODcuNzQ2NiAxNTcuMDMxMSw0ODUuNzk2NiAxNTYuNDkyMSw0ODMuODYxNiBDMTU2LjI3MTEsNDgzLjA2MzYgMTU2LjczODEsNDgyLjIzNjYgMTU3LjUzNjEsNDgyLjAxNDYgQzE1OC4zMjkxLDQ4MS43OTM2IDE1OS4xNjExLDQ4Mi4yNjA2IDE1OS4zODMxLDQ4My4wNTg2IEMxNTkuOTE1MSw0ODQuOTcyNiAxNjAuNDc0MSw0ODYuOTAwNiAxNjEuMDQzMSw0ODguNzg4NiBDMTYxLjI4MzEsNDg5LjU4MDYgMTYwLjgzNDEsNDkwLjQxNzYgMTYwLjA0MTEsNDkwLjY1NzYgQzE1OS44OTcxLDQ5MC43MDE2IDE1OS43NTAxLDQ5MC43MjE2IDE1OS42MDcxLDQ5MC43MjE2IEwxNTkuNjA3MSw0OTAuNzIxNiBaIE02NzIuNzEwMSw1MTIuOTA0NiBDNjcyLjUyNTEsNTEyLjkwNDYgNjcyLjMzNjEsNTEyLjg3MDYgNjcyLjE1NDEsNTEyLjc5NjYgQzY3MS4zODQxLDUxMi40ODk2IDY3MS4wMTAxLDUxMS42MTc2IDY3MS4zMTgxLDUxMC44NDc2IEM2NzIuMDU1MSw1MDkuMDAyNiA2NzIuNzczMSw1MDcuMTQ4NiA2NzMuNDcxMSw1MDUuMjgzNiBDNjczLjc2MTEsNTA0LjUwNzYgNjc0LjYyMTEsNTA0LjExMTYgNjc1LjQwMjEsNTA0LjQwNTYgQzY3Ni4xNzcxLDUwNC42OTU2IDY3Ni41NzExLDUwNS41NTk2IDY3Ni4yODAxLDUwNi4zMzU2IEM2NzUuNTc0MSw1MDguMjIwNiA2NzQuODQ4MSw1MTAuMDk2NiA2NzQuMTAzMSw1MTEuOTYwNiBDNjczLjg2ODEsNTEyLjU0NzYgNjczLjMwNTEsNTEyLjkwNDYgNjcyLjcxMDEsNTEyLjkwNDYgTDY3Mi43MTAxLDUxMi45MDQ2IFogTTY2OC4wMjgxLDUyMy45MDM2IEM2NjcuODIyMSw1MjMuOTAzNiA2NjcuNjEyMSw1MjMuODYwNiA2NjcuNDEwMSw1MjMuNzcwNiBDNjY2LjY1NjEsNTIzLjQyODYgNjY2LjMyMTEsNTIyLjUzOTYgNjY2LjY2MTEsNTIxLjc4NTYgQzY2Ny40NzgxLDUxOS45ODE2IDY2OC4yNzQxLDUxOC4xNjU2IDY2OS4wNTExLDUxNi4zNDA2IEM2NjkuMzc0MSw1MTUuNTc4NiA2NzAuMjU2MSw1MTUuMjIxNiA2NzEuMDE4MSw1MTUuNTQ3NiBDNjcxLjc4MTEsNTE1Ljg3MjYgNjcyLjEzNjEsNTE2Ljc1MjYgNjcxLjgxMTEsNTE3LjUxNDYgQzY3MS4wMzAxLDUxOS4zNTI2IDY3MC4yMTYxLDUyMS4yMDU2IDY2OS4zOTYxLDUyMy4wMjE2IEM2NjkuMTQ1MSw1MjMuNTc1NiA2NjguNTk5MSw1MjMuOTAzNiA2NjguMDI4MSw1MjMuOTAzNiBMNjY4LjAyODEsNTIzLjkwMzYgWiBNNjYyLjg2MzEsNTM0LjY5MDYgQzY2Mi42MzUxLDUzNC42OTA2IDY2Mi40MDQxLDUzNC42Mzg2IDY2Mi4xODYxLDUzNC41Mjg2IEM2NjEuNDQ4MSw1MzQuMTU1NiA2NjEuMTUxMSw1MzMuMjUxNiA2NjEuNTI2MSw1MzIuNTEyNiBDNjYyLjQyMDEsNTMwLjc0NTYgNjYzLjI5NjEsNTI4Ljk2NTYgNjY0LjE1NDEsNTI3LjE3NjYgQzY2NC41MTIxLDUyNi40Mjg2IDY2NS40MDkxLDUyNi4xMTQ2IDY2Ni4xNTUxLDUyNi40NzI2IEM2NjYuOTAyMSw1MjYuODMwNiA2NjcuMjE3MSw1MjcuNzI2NiA2NjYuODU5MSw1MjguNDczNiBDNjY1Ljk5MTEsNTMwLjI4MjYgNjY1LjEwNjEsNTMyLjA4MDYgNjY0LjIwMjEsNTMzLjg2ODYgQzY2My45MzgxLDUzNC4zODk2IDY2My40MTAxLDUzNC42OTA2IDY2Mi44NjMxLDUzNC42OTA2IEw2NjIuODYzMSw1MzQuNjkwNiBaIE0xNzcuNTQzMSw1MzUuMzI3NiBDMTc2Ljk5NzEsNTM1LjMyNzYgMTc2LjQ3MTEsNTM1LjAyODYgMTc2LjIwNTEsNTM0LjUwNzYgQzE3NS4yOTExLDUzMi43MTI2IDE3NC4zOTYxLDUzMC45MDc2IDE3My41MjAxLDUyOS4wOTA2IEMxNzMuMTYwMSw1MjguMzQ0NiAxNzMuNDc0MSw1MjcuNDQ4NiAxNzQuMjIwMSw1MjcuMDg3NiBDMTc0Ljk2MzEsNTI2LjczMDYgMTc1Ljg2MjEsNTI3LjA0MDYgMTc2LjIyMzEsNTI3Ljc4ODYgQzE3Ny4wODkxLDUyOS41ODQ2IDE3Ny45NzUxLDUzMS4zNzE2IDE3OC44NzkxLDUzMy4xNDY2IEMxNzkuMjU1MSw1MzMuODg0NiAxNzguOTYxMSw1MzQuNzg4NiAxNzguMjIzMSw1MzUuMTY0NiBDMTc4LjAwNTEsNTM1LjI3NDYgMTc3Ljc3MzEsNTM1LjMyNzYgMTc3LjU0MzEsNTM1LjMyNzYgTDE3Ny41NDMxLDUzNS4zMjc2IFogTTY1Ny4yMjMxLDU0NS4yNDQ2IEM2NTYuOTczMSw1NDUuMjQ0NiA2NTYuNzIxMSw1NDUuMTgyNiA2NTYuNDg5MSw1NDUuMDUxNiBDNjU1Ljc2NjEsNTQ0LjY0NTYgNjU1LjUxMDEsNTQzLjczMDYgNjU1LjkxNjEsNTQzLjAwODYgQzY1Ni44ODkxLDU0MS4yODA2IDY1Ny44NDMxLDUzOS41NDA2IDY1OC43ODAxLDUzNy43ODk2IEM2NTkuMTY5MSw1MzcuMDU5NiA2NjAuMDc5MSw1MzYuNzgzNiA2NjAuODEwMSw1MzcuMTc1NiBDNjYxLjU0MDEsNTM3LjU2NjYgNjYxLjgxNjEsNTM4LjQ3NTYgNjYxLjQyNDEsNTM5LjIwNTYgQzY2MC40NzgxLDU0MC45NzQ2IDY1OS41MTQxLDU0Mi43MzM2IDY1OC41MzIxLDU0NC40Nzk2IEM2NTguMjU2MSw1NDQuOTY4NiA2NTcuNzQ2MSw1NDUuMjQ0NiA2NTcuMjIzMSw1NDUuMjQ0NiBMNjU3LjIyMzEsNTQ1LjI0NDYgWiBNMTgzLjIzNjEsNTQ1LjkxMjYgQzE4Mi43MTMxLDU0NS45MTI2IDE4Mi4yMDUxLDU0NS42Mzg2IDE4MS45MzAxLDU0NS4xNTE2IEMxODAuOTM1MSw1NDMuMzk2NiAxNzkuOTUyMSw1NDEuNjE3NiAxNzkuMDA4MSw1MzkuODYwNiBDMTc4LjYxNjEsNTM5LjEzMDYgMTc4Ljg4OTEsNTM4LjIyMTYgMTc5LjYxOTEsNTM3LjgyOTYgQzE4MC4zNDgxLDUzNy40Mzk2IDE4MS4yNTkxLDUzNy43MDk2IDE4MS42NTExLDUzOC40NDA2IEMxODIuNTg0MSw1NDAuMTc2NiAxODMuNTU2MSw1NDEuOTM2NiAxODQuNTM5MSw1NDMuNjcyNiBDMTg0Ljk0OTEsNTQ0LjM5MzYgMTg0LjY5NTEsNTQ1LjMwODYgMTgzLjk3NDEsNTQ1LjcxNjYgQzE4My43NDExLDU0NS44NDk2IDE4My40ODcxLDU0NS45MTI2IDE4My4yMzYxLDU0NS45MTI2IEwxODMuMjM2MSw1NDUuOTEyNiBaIE02NTEuMTIzMSw1NTUuNTQ0NiBDNjUwLjg1MjEsNTU1LjU0NDYgNjUwLjU3ODEsNTU1LjQ3MTYgNjUwLjMzMjEsNTU1LjMxODYgQzY0OS42MjgxLDU1NC44ODA2IDY0OS40MTMxLDU1My45NTU2IDY0OS44NTExLDU1My4yNTE2IEM2NTAuODk5MSw1NTEuNTY4NiA2NTEuOTI5MSw1NDkuODcyNiA2NTIuOTQyMSw1NDguMTYzNiBDNjUzLjM2NDEsNTQ3LjQ1MDYgNjU0LjI4NDEsNTQ3LjIxNzYgNjU0Ljk5NjEsNTQ3LjYzNjYgQzY1NS43MDkxLDU0OC4wNTk2IDY1NS45NDUxLDU0OC45Nzk2IDY1NS41MjMxLDU0OS42OTI2IEM2NTQuNDk5MSw1NTEuNDE4NiA2NTMuNDU3MSw1NTMuMTM0NiA2NTIuMzk4MSw1NTQuODM3NiBDNjUyLjExNDEsNTU1LjI5MzYgNjUxLjYyNDEsNTU1LjU0NDYgNjUxLjEyMzEsNTU1LjU0NDYgTDY1MS4xMjMxLDU1NS41NDQ2IFogTTE4OS4zOTExLDU1Ni4yMzM2IEMxODguODkyMSw1NTYuMjMzNiAxODguNDA0MSw1NTUuOTg0NiAxODguMTE5MSw1NTUuNTMwNiBDMTg3LjA1OTEsNTUzLjgzODYgMTg1Ljk5ODEsNTUyLjEwNDYgMTg0Ljk2NzEsNTUwLjM3NTYgQzE4NC41NDIxLDU0OS42NjQ2IDE4NC43NzYxLDU0OC43NDM2IDE4NS40ODcxLDU0OC4zMTk2IEMxODYuMTk5MSw1NDcuODk1NiAxODcuMTE5MSw1NDguMTI2NiAxODcuNTQzMSw1NDguODM4NiBDMTg4LjU2NDEsNTUwLjU0OTYgMTg5LjYwMzEsNTUyLjI0OTYgMTkwLjY2MDEsNTUzLjkzNjYgQzE5MS4xMDExLDU1NC42Mzg2IDE5MC44ODkxLDU1NS41NjQ2IDE5MC4xODcxLDU1Ni4wMDM2IEMxODkuOTM5MSw1NTYuMTU5NiAxODkuNjYzMSw1NTYuMjMzNiAxODkuMzkxMSw1NTYuMjMzNiBMMTg5LjM5MTEsNTU2LjIzMzYgWiBNNjQ0LjU3MjEsNTY1LjU2OTYgQzY0NC4yODAxLDU2NS41Njk2IDY0My45ODQxLDU2NS40ODQ2IDY0My43MjUxLDU2NS4zMDY2IEM2NDMuMDQxMSw1NjQuODM4NiA2NDIuODY2MSw1NjMuOTA1NiA2NDMuMzM1MSw1NjMuMjIxNiBDNjQ0LjQ1NzEsNTYxLjU4MzYgNjQ1LjU2MTEsNTU5LjkzMzYgNjQ2LjY0ODEsNTU4LjI3MTYgQzY0Ny4xMDMxLDU1Ny41Nzc2IDY0OC4wMzMxLDU1Ny4zODM2IDY0OC43MjQxLDU1Ny44MzU2IEM2NDkuNDE3MSw1NTguMjg5NiA2NDkuNjEzMSw1NTkuMjE4NiA2NDkuMTU5MSw1NTkuOTEyNiBDNjQ4LjA2MTEsNTYxLjU5MzYgNjQ2Ljk0NDEsNTYzLjI2MTYgNjQ1LjgxMDEsNTY0LjkxNjYgQzY0NS41MjAxLDU2NS4zNDA2IDY0NS4wNDkxLDU2NS41Njk2IDY0NC41NzIxLDU2NS41Njk2IEw2NDQuNTcyMSw1NjUuNTY5NiBaIE0xOTUuOTkxMSw1NjYuMjY3NiBDMTk1LjUxNTEsNTY2LjI2NzYgMTk1LjA0NjEsNTY2LjA0MDYgMTk0Ljc1NTEsNTY1LjYxOTYgQzE5My42MTQxLDU2My45NjI2IDE5Mi40ODkxLDU2Mi4yOTI2IDE5MS4zODIxLDU2MC42MTE2IEMxOTAuOTI3MSw1NTkuOTE5NiAxOTEuMTE4MSw1NTguOTg5NiAxOTEuODExMSw1NTguNTM0NiBDMTkyLjUwMzEsNTU4LjA4MDYgMTkzLjQzMzEsNTU4LjI2OTYgMTkzLjg4ODEsNTU4Ljk2MjYgQzE5NC45ODMxLDU2MC42MjY2IDE5Ni4wOTYxLDU2Mi4yNzc2IDE5Ny4yMjYxLDU2My45MTU2IEMxOTcuNjk2MSw1NjQuNTk4NiAxOTcuNTI0MSw1NjUuNTMyNiAxOTYuODQyMSw1NjYuMDAyNiBDMTk2LjU4MjEsNTY2LjE4MTYgMTk2LjI4NTEsNTY2LjI2NzYgMTk1Ljk5MTEsNTY2LjI2NzYgTDE5NS45OTExLDU2Ni4yNjc2IFogTTYzNy41ODQxLDU3NS4zMDA2IEM2MzcuMjcwMSw1NzUuMzAwNiA2MzYuOTUzMSw1NzUuMjAzNiA2MzYuNjg0MSw1NzQuOTk5NiBDNjM2LjAyMjEsNTc0LjUwMTYgNjM1Ljg4OTEsNTczLjU2MTYgNjM2LjM4NjEsNTcyLjg5OTYgQzYzNy41NzUxLDU3MS4zMTk2IDYzOC43NjExLDU2OS43MDQ2IDYzOS45MTQxLDU2OC4wOTc2IEM2NDAuMzk4MSw1NjcuNDI0NiA2NDEuMzMzMSw1NjcuMjY5NiA2NDIuMDA4MSw1NjcuNzUzNiBDNjQyLjY4MTEsNTY4LjIzNzYgNjQyLjgzNTEsNTY5LjE3NDYgNjQyLjM1MjEsNTY5Ljg0NzYgQzY0MS4xODYxLDU3MS40NzE2IDYzOS45ODYxLDU3My4xMDU2IDYzOC43ODQxLDU3NC43MDI2IEM2MzguNDkwMSw1NzUuMDk0NiA2MzguMDM5MSw1NzUuMzAwNiA2MzcuNTg0MSw1NzUuMzAwNiBMNjM3LjU4NDEsNTc1LjMwMDYgWiBNMjAzLjAyODEsNTc2LjAwMTYgQzIwMi41NzQxLDU3Ni4wMDE2IDIwMi4xMjUxLDU3NS43OTY2IDIwMS44MzAxLDU3NS40MDc2IEMyMDAuNjE2MSw1NzMuODAyNiAxOTkuNDE5MSw1NzIuMTg0NiAxOTguMjQwMSw1NzAuNTUzNiBDMTk3Ljc1NDEsNTY5Ljg4MjYgMTk3LjkwNjEsNTY4Ljk0NDYgMTk4LjU3NjEsNTY4LjQ1ODYgQzE5OS4yNDYxLDU2Ny45NzQ2IDIwMC4xODQxLDU2OC4xMjQ2IDIwMC42NzExLDU2OC43OTU2IEMyMDEuODM3MSw1NzAuNDA5NiAyMDMuMDIxMSw1NzIuMDA5NiAyMDQuMjIzMSw1NzMuNTk2NiBDMjA0LjcyMzEsNTc0LjI1NjYgMjA0LjU5MjEsNTc1LjE5ODYgMjAzLjkzMjEsNTc1LjY5ODYgQzIwMy42NjExLDU3NS45MDM2IDIwMy4zNDMxLDU3Ni4wMDE2IDIwMy4wMjgxLDU3Ni4wMDE2IEwyMDMuMDI4MSw1NzYuMDAxNiBaIE02MzAuMTc0MSw1ODQuNzE5NiBDNjI5LjgzODEsNTg0LjcxOTYgNjI5LjUwMTEsNTg0LjYwNzYgNjI5LjIyMjEsNTg0LjM3NzYgQzYyOC41ODIxLDU4My44NTE2IDYyOC40OTExLDU4Mi45MDY2IDYyOS4wMTcxLDU4Mi4yNjY2IEM2MzAuMjgxMSw1ODAuNzMxNiA2MzEuNTM4MSw1NzkuMTY4NiA2MzIuNzU0MSw1NzcuNjIyNiBDNjMzLjI2NzEsNTc2Ljk3MTYgNjM0LjIwOTEsNTc2Ljg1ODYgNjM0Ljg2MDEsNTc3LjM3MDYgQzYzNS41MTExLDU3Ny44ODI2IDYzNS42MjQxLDU3OC44MjU2IDYzNS4xMTMxLDU3OS40NzY2IEM2MzMuODgyMSw1ODEuMDQwNiA2MzIuNjExMSw1ODIuNjIxNiA2MzEuMzMzMSw1ODQuMTcyNiBDNjMxLjAzNjEsNTg0LjUzMzYgNjMwLjYwNzEsNTg0LjcxOTYgNjMwLjE3NDEsNTg0LjcxOTYgTDYzMC4xNzQxLDU4NC43MTk2IFogTTIxMC40ODExLDU4NS40MTE2IEMyMTAuMDQ5MSw1ODUuNDExNiAyMDkuNjIxMSw1ODUuMjI2NiAyMDkuMzI0MSw1ODQuODY4NiBDMjA4LjA0MTEsNTgzLjMxODYgMjA2Ljc3NTEsNTgxLjc1NDYgMjA1LjUyNjEsNTgwLjE3ODYgQzIwNS4wMTExLDU3OS41Mjk2IDIwNS4xMjAxLDU3OC41ODU2IDIwNS43NzAxLDU3OC4wNzE2IEMyMDYuNDIxMSw1NzcuNTU2NiAyMDcuMzYzMSw1NzcuNjY2NiAyMDcuODc3MSw1NzguMzE1NiBDMjA5LjExMzEsNTc5Ljg3NTYgMjEwLjM2NjEsNTgxLjQyMTYgMjExLjYzNTEsNTgyLjk1NDYgQzIxMi4xNjMxLDU4My41OTI2IDIxMi4wNzQxLDU4NC41Mzg2IDIxMS40MzcxLDU4NS4wNjY2IEMyMTEuMTU3MSw1ODUuMjk3NiAyMTAuODE4MSw1ODUuNDExNiAyMTAuNDgxMSw1ODUuNDExNiBMMjEwLjQ4MTEsNTg1LjQxMTYgWiBNNjIyLjM1NjEsNTkzLjgwODYgQzYyMS45OTgxLDU5My44MDg2IDYyMS42MzkxLDU5My42ODE2IDYyMS4zNTMxLDU5My40MjM2IEM2MjAuNzM3MSw1OTIuODcwNiA2MjAuNjg3MSw1OTEuOTIxNiA2MjEuMjQxMSw1OTEuMzA1NiBDNjIyLjU2OTEsNTg5LjgyODYgNjIzLjg4MjEsNTg4LjMzNTYgNjI1LjE3NzEsNTg2LjgyOTYgQzYyNS43MTgxLDU4Ni4yMDM2IDYyNi42NjQxLDU4Ni4xMzA2IDYyNy4yOTMxLDU4Ni42Njk2IEM2MjcuOTIxMSw1ODcuMjEwNiA2MjcuOTkyMSw1ODguMTU3NiA2MjcuNDUyMSw1ODguNzg2NiBDNjI2LjE1MDEsNTkwLjI5OTYgNjI0LjgxMDEsNTkxLjgyMzYgNjIzLjQ3MTEsNTkzLjMxMTYgQzYyMy4xNzUxLDU5My42NDA2IDYyMi43NjYxLDU5My44MDg2IDYyMi4zNTYxLDU5My44MDg2IEw2MjIuMzU2MSw1OTMuODA4NiBaIE0yMTguMzM2MSw1OTQuNDgyNiBDMjE3LjkyNzEsNTk0LjQ4MjYgMjE3LjUxOTEsNTk0LjMxNjYgMjE3LjIyMzEsNTkzLjk4ODYgQzIxNS44NzQxLDU5Mi40OTc2IDIxNC41NDAxLDU5MC45OTI2IDIxMy4yMjQxLDU4OS40NzI2IEMyMTIuNjgyMSw1ODguODQ2NiAyMTIuNzQ5MSw1ODcuODk5NiAyMTMuMzc1MSw1ODcuMzU2NiBDMjE0LjAwMjEsNTg2LjgxMTYgMjE0Ljk0OTEsNTg2Ljg4MjYgMjE1LjQ5MTEsNTg3LjUwNzYgQzIxNi43OTQxLDU4OS4wMTE2IDIxOC4xMTMxLDU5MC41MDA2IDIxOS40NDgxLDU5MS45NzY2IEMyMjAuMDAzMSw1OTIuNTkwNiAyMTkuOTU1MSw1OTMuNTM5NiAyMTkuMzQxMSw1OTQuMDk0NiBDMjE5LjA1NTEsNTk0LjM1NDYgMjE4LjY5NTEsNTk0LjQ4MjYgMjE4LjMzNjEsNTk0LjQ4MjYgTDIxOC4zMzYxLDU5NC40ODI2IFogTTYxNC4xNDQxLDYwMi41NDc2IEM2MTMuNzY1MSw2MDIuNTQ3NiA2MTMuMzg1MSw2MDIuNDA1NiA2MTMuMDkzMSw2MDIuMTE4NiBDNjEyLjUwMjEsNjAxLjUzODYgNjEyLjQ5MzEsNjAwLjU4NzYgNjEzLjA3NDEsNTk5Ljk5NzYgQzYxNC40NjYxLDU5OC41Nzg2IDYxNS44NDMxLDU5Ny4xNDQ2IDYxNy4yMDUxLDU5NS42OTU2IEM2MTcuNzczMSw1OTUuMDkyNiA2MTguNzIxMSw1OTUuMDYyNiA2MTkuMzI1MSw1OTUuNjI5NiBDNjE5LjkyOTEsNTk2LjE5NzYgNjE5Ljk1ODEsNTk3LjE0NjYgNjE5LjM5MTEsNTk3Ljc0OTYgQzYxOC4wMTUxLDU5OS4yMTQ2IDYxNi42MjIxLDYwMC42NjQ2IDYxNS4yMTQxLDYwMi4wOTg2IEM2MTQuOTIwMSw2MDIuMzk3NiA2MTQuNTMzMSw2MDIuNTQ3NiA2MTQuMTQ0MSw2MDIuNTQ3NiBMNjE0LjE0NDEsNjAyLjU0NzYgWiBNMjI2LjU4MDEsNjAzLjE5ODYgQzIyNi4xOTQxLDYwMy4xOTg2IDIyNS44MDcxLDYwMy4wNDk2IDIyNS41MTQxLDYwMi43NTI2IEMyMjQuMTE0MSw2MDEuMzM2NiAyMjIuNzAyMSw1OTkuODc3NiAyMjEuMzIxMSw1OTguNDE1NiBDMjIwLjc1MTEsNTk3LjgxNDYgMjIwLjc3ODEsNTk2Ljg2NTYgMjIxLjM4MDEsNTk2LjI5NTYgQzIyMS45ODIxLDU5NS43MjY2IDIyMi45MzExLDU5NS43NTE2IDIyMy41MDAxLDU5Ni4zNTU2IEMyMjQuODY3MSw1OTcuODAwNiAyMjYuMjYyMSw1OTkuMjQzNiAyMjcuNjQ3MSw2MDAuNjQzNiBDMjI4LjIzMDEsNjAxLjIzMjYgMjI4LjIyNDEsNjAyLjE4MjYgMjI3LjYzNTEsNjAyLjc2NDYgQzIyNy4zNDMxLDYwMy4wNTM2IDIyNi45NjExLDYwMy4xOTg2IDIyNi41ODAxLDYwMy4xOTg2IEwyMjYuNTgwMSw2MDMuMTk4NiBaIE02MDUuNTUzMSw2MTAuOTIwNiBDNjA1LjE1MjEsNjEwLjkyMDYgNjA0Ljc1MjEsNjEwLjc2MDYgNjA0LjQ1NjEsNjEwLjQ0NDYgQzYwMy44OTExLDYwOS44Mzg2IDYwMy45MjQxLDYwOC44ODk2IDYwNC41MzAxLDYwOC4zMjQ2IEM2MDUuOTg0MSw2MDYuOTY3NiA2MDcuNDIzMSw2MDUuNTk0NiA2MDguODQ4MSw2MDQuMjA1NiBDNjA5LjQ0MDEsNjAzLjYyNjYgNjEwLjM5MDEsNjAzLjYzOTYgNjEwLjk2OTEsNjA0LjIzMzYgQzYxMS41NDcxLDYwNC44MjY2IDYxMS41MzUxLDYwNS43NzY2IDYxMC45NDIxLDYwNi4zNTQ2IEM2MDkuNTAxMSw2MDcuNzU4NiA2MDguMDQ2MSw2MDkuMTQ1NiA2MDYuNTc2MSw2MTAuNTE3NiBDNjA2LjI4NzEsNjEwLjc4NzYgNjA1LjkyMDEsNjEwLjkyMDYgNjA1LjU1MzEsNjEwLjkyMDYgTDYwNS41NTMxLDYxMC45MjA2IFogTTIzNS4xOTcxLDYxMS41NDE2IEMyMzQuODMxMSw2MTEuNTQxNiAyMzQuNDY2MSw2MTEuNDEwNiAyMzQuMTc3MSw2MTEuMTQyNiBDMjMyLjcwMjEsNjA5Ljc3NTYgMjMxLjI0MjEsNjA4LjM5MjYgMjI5Ljc5OTEsNjA2Ljk5NDYgQzIyOS4yMDQxLDYwNi40MTc2IDIyOS4xOTAxLDYwNS40Njg2IDIyOS43NjYxLDYwNC44NzI2IEMyMzAuMzQyMSw2MDQuMjc4NiAyMzEuMjkxMSw2MDQuMjY0NiAyMzEuODg3MSw2MDQuODM5NiBDMjMzLjMxNTEsNjA2LjIyMjYgMjM0Ljc1NzEsNjA3LjU4OTYgMjM2LjIxNjEsNjA4Ljk0MTYgQzIzNi44MjQxLDYwOS41MDQ2IDIzNi44NjAxLDYxMC40NTQ2IDIzNi4yOTcxLDYxMS4wNjE2IEMyMzYuMDAxMSw2MTEuMzgwNiAyMzUuNTk5MSw2MTEuNTQxNiAyMzUuMTk3MSw2MTEuNTQxNiBMMjM1LjE5NzEsNjExLjU0MTYgWiBNNTk2LjYwMzEsNjE4LjkxMzYgQzU5Ni4xNzkxLDYxOC45MTM2IDU5NS43NTgxLDYxOC43MzQ2IDU5NS40NjExLDYxOC4zODY2IEM1OTQuOTIzMSw2MTcuNzU2NiA1OTQuOTk4MSw2MTYuODEwNiA1OTUuNjI4MSw2MTYuMjcyNiBDNTk3LjE0OTEsNjE0Ljk3MzYgNTk4LjY2MDEsNjEzLjY1MzYgNjAwLjEyMTEsNjEyLjM0NzYgQzYwMC43NDExLDYxMS43OTQ2IDYwMS42ODkxLDYxMS44NDk2IDYwMi4yNDAxLDYxMi40NjU2IEM2MDIuNzkxMSw2MTMuMDgzNiA2MDIuNzM5MSw2MTQuMDMyNiA2MDIuMTIxMSw2MTQuNTgzNiBDNjAwLjY0MzEsNjE1LjkwNTYgNTk5LjExNDEsNjE3LjI0MTYgNTk3LjU3NTEsNjE4LjU1MzYgQzU5Ny4yOTMxLDYxOC43OTQ2IDU5Ni45NDcxLDYxOC45MTM2IDU5Ni42MDMxLDYxOC45MTM2IEw1OTYuNjAzMSw2MTguOTEzNiBaIE0yNDQuMTY1MSw2MTkuNDk3NiBDMjQzLjgyMzEsNjE5LjQ5NzYgMjQzLjQ3ODEsNjE5LjM3OTYgMjQzLjE5NjEsNjE5LjE0MDYgQzI0MS42NjQxLDYxNy44NDA2IDI0MC4xNDYxLDYxNi41MjQ2IDIzOC42NDMxLDYxNS4xOTA2IEMyMzguMDIzMSw2MTQuNjQwNiAyMzcuOTY2MSw2MTMuNjkyNiAyMzguNTE2MSw2MTMuMDczNiBDMjM5LjA2NTEsNjEyLjQ1NDYgMjQwLjAxNDEsNjEyLjM5NDYgMjQwLjYzMzEsNjEyLjk0NjYgQzI0Mi4xMjAxLDYxNC4yNjU2IDI0My42MjExLDYxNS41Njc2IDI0NS4xMzcxLDYxNi44NTM2IEMyNDUuNzY5MSw2MTcuMzg5NiAyNDUuODQ2MSw2MTguMzM1NiAyNDUuMzEwMSw2MTguOTY3NiBDMjQ1LjAxMzEsNjE5LjMxNzYgMjQ0LjU5MTEsNjE5LjQ5NzYgMjQ0LjE2NTEsNjE5LjQ5NzYgTDI0NC4xNjUxLDYxOS40OTc2IFogTTU4Ny4zMDcxLDYyNi41MDY2IEM1ODYuODYxMSw2MjYuNTA2NiA1ODYuNDE5MSw2MjYuMzA4NiA1ODYuMTIzMSw2MjUuOTI5NiBDNTg1LjYxNDEsNjI1LjI3NzYgNTg1LjczMDEsNjI0LjMzMzYgNTg2LjM4MzEsNjIzLjgyNDYgQzU4Ny45NTExLDYyMi41OTk2IDU4OS41MDYxLDYyMS4zNTc2IDU5MS4wNDcxLDYyMC4wOTg2IEM1OTEuNjkyMSw2MTkuNTczNiA1OTIuNjM0MSw2MTkuNjcwNiA1OTMuMTU4MSw2MjAuMzExNiBDNTkzLjY4MjEsNjIwLjk1NDYgNTkzLjU4NzEsNjIxLjg5ODYgNTkyLjk0NjEsNjIyLjQyMjYgQzU5MS4zODcxLDYyMy42OTU2IDU4OS44MTUxLDYyNC45NTE2IDU4OC4yMjkxLDYyNi4xODk2IEM1ODcuOTU1MSw2MjYuNDAzNiA1ODcuNjMwMSw2MjYuNTA2NiA1ODcuMzA3MSw2MjYuNTA2NiBMNTg3LjMwNzEsNjI2LjUwNjYgWiBNMjUzLjQ3MzEsNjI3LjA0OTYgQzI1My4xNTIxLDYyNy4wNDk2IDI1Mi44MjcxLDYyNi45NDc2IDI1Mi41NTQxLDYyNi43MzQ2IEMyNTAuOTY3MSw2MjUuNTAxNiAyNDkuMzkzMSw2MjQuMjU0NiAyNDcuODM0MSw2MjIuOTg5NiBDMjQ3LjE5MTEsNjIyLjQ2NjYgMjQ3LjA5MzEsNjIxLjUyMjYgMjQ3LjYxNTEsNjIwLjg3ODYgQzI0OC4xMzYxLDYyMC4yMzU2IDI0OS4wNzkxLDYyMC4xMzU2IDI0OS43MjUxLDYyMC42NTk2IEMyNTEuMjY3MSw2MjEuOTExNiAyNTIuODI0MSw2MjMuMTQ2NiAyNTQuMzk0MSw2MjQuMzY1NiBDMjU1LjA0ODEsNjI0Ljg3MjYgMjU1LjE2NjEsNjI1LjgxNTYgMjU0LjY1ODEsNjI2LjQ2OTYgQzI1NC4zNjMxLDYyNi44NTA2IDI1My45MjAxLDYyNy4wNDk2IDI1My40NzMxLDYyNy4wNDk2IEwyNTMuNDczMSw2MjcuMDQ5NiBaIE01NzcuNjgzMSw2MzMuNjg2NiBDNTc3LjIxNDEsNjMzLjY4NjYgNTc2Ljc1MzEsNjMzLjQ2NzYgNTc2LjQ2MDEsNjMzLjA1NjYgQzU3NS45ODAxLDYzMi4zODI2IDU3Ni4xMzcxLDYzMS40NDU2IDU3Ni44MTIxLDYzMC45NjQ2IEM1NzguNDM0MSw2MjkuODA5NiA1ODAuMDQxMSw2MjguNjM1NiA1ODEuNjM3MSw2MjcuNDQ2NiBDNTgyLjMwMDEsNjI2Ljk1MTYgNTgzLjI0MTEsNjI3LjA4NTYgNTgzLjczNjEsNjI3Ljc1MTYgQzU4NC4yMzExLDYyOC40MTQ2IDU4NC4wOTQxLDYyOS4zNTU2IDU4My40MzAxLDYyOS44NTA2IEM1ODEuODE5MSw2MzEuMDUzNiA1ODAuMTkyMSw2MzIuMjM5NiA1NzguNTUyMSw2MzMuNDA4NiBDNTc4LjI4ODEsNjMzLjU5NTYgNTc3Ljk4NTEsNjMzLjY4NjYgNTc3LjY4MzEsNjMzLjY4NjYgTDU3Ny42ODMxLDYzMy42ODY2IFogTTI2My4xMDAxLDYzNC4xODM2IEMyNjIuODAwMSw2MzQuMTgzNiAyNjIuNDk3MSw2MzQuMDk0NiAyNjIuMjM1MSw2MzMuOTA4NiBDMjYwLjYxODEsNjMyLjc2NDYgMjU4Ljk3NzEsNjMxLjU3NTYgMjU3LjM1NTEsNjMwLjM3MzYgQzI1Ni42OTAxLDYyOS44ODA2IDI1Ni41NTAxLDYyOC45NDE2IDI1Ny4wNDMxLDYyOC4yNzU2IEMyNTcuNTM2MSw2MjcuNjEwNiAyNTguNDc3MSw2MjcuNDY5NiAyNTkuMTQyMSw2MjcuOTYzNiBDMjYwLjczNzEsNjI5LjE0NTYgMjYyLjM0NDEsNjMwLjMxMTYgMjYzLjk2NzEsNjMxLjQ1ODYgQzI2NC42NDQxLDYzMS45Mzc2IDI2NC44MDQxLDYzMi44NzI2IDI2NC4zMjUxLDYzMy41NDk2IEMyNjQuMDMzMSw2MzMuOTYyNiAyNjMuNTcwMSw2MzQuMTgzNiAyNjMuMTAwMSw2MzQuMTgzNiBMMjYzLjEwMDEsNjM0LjE4MzYgWiBNNTY3Ljc0OTEsNjQwLjQzODYgQzU2Ny4yNTgxLDY0MC40Mzg2IDU2Ni43NzcxLDY0MC4xOTc2IDU2Ni40OTAxLDYzOS43NTM2IEM1NjYuMDM5MSw2MzkuMDU4NiA1NjYuMjM4MSw2MzguMTI5NiA1NjYuOTMzMSw2MzcuNjc5NiBDNTY4LjYwNDEsNjM2LjU5NjYgNTcwLjI2MzEsNjM1LjQ5NTYgNTcxLjkxMDEsNjM0LjM3NTYgQzU3Mi41OTQxLDYzMy45MTE2IDU3My41MjcxLDYzNC4wODY2IDU3My45OTQxLDYzNC43NzQ2IEM1NzQuNDU5MSw2MzUuNDU5NiA1NzQuMjgyMSw2MzYuMzkyNiA1NzMuNTk2MSw2MzYuODU4NiBDNTcxLjkzMTEsNjM3Ljk4OTYgNTcwLjI1NDEsNjM5LjEwMjYgNTY4LjU2NDEsNjQwLjE5NzYgQzU2OC4zMTIxLDY0MC4zNjA2IDU2OC4wMzAxLDY0MC40Mzg2IDU2Ny43NDkxLDY0MC40Mzg2IEw1NjcuNzQ5MSw2NDAuNDM4NiBaIE0yNzMuMDI3MSw2NDAuODg2NiBDMjcyLjc0ODEsNjQwLjg4NjYgMjcyLjQ2NjEsNjQwLjgwOTYgMjcyLjIxNTEsNjQwLjY0NzYgQzI3MC41MjcxLDYzOS41NTk2IDI2OC44NTExLDYzOC40NTU2IDI2Ny4xODkxLDYzNy4zMzI2IEMyNjYuNTAxMSw2MzYuODY5NiAyNjYuMzIxMSw2MzUuOTM3NiAyNjYuNzg0MSw2MzUuMjUwNiBDMjY3LjI0ODEsNjM0LjU2MzYgMjY4LjE4MjEsNjM0LjM4MjYgMjY4Ljg2NzEsNjM0Ljg0NjYgQzI3MC41MTExLDYzNS45NTY2IDI3Mi4xNjkxLDYzNy4wNDk2IDI3My44NDAxLDYzOC4xMjU2IEMyNzQuNTM2MSw2MzguNTc0NiAyNzQuNzM4MSw2MzkuNTAyNiAyNzQuMjg4MSw2NDAuMTk5NiBDMjc0LjAwMjEsNjQwLjY0NDYgMjczLjUxOTEsNjQwLjg4NjYgMjczLjAyNzEsNjQwLjg4NjYgTDI3My4wMjcxLDY0MC44ODY2IFogTTU1Ny41MjUxLDY0Ni43NDc2IEM1NTcuMDEwMSw2NDYuNzQ3NiA1NTYuNTA5MSw2NDYuNDgyNiA1NTYuMjMwMSw2NDYuMDA2NiBDNTU1LjgxMTEsNjQ1LjI5MTYgNTU2LjA1MDEsNjQ0LjM3MjYgNTU2Ljc2NDEsNjQzLjk1MzYgQzU1OC40ODQxLDY0Mi45NDQ2IDU2MC4xOTAxLDY0MS45MTY2IDU2MS44ODUxLDY0MC44NzI2IEM1NjIuNTkwMSw2NDAuNDM2NiA1NjMuNTE0MSw2NDAuNjU1NiA1NjMuOTQ5MSw2NDEuMzYxNiBDNTY0LjM4NDEsNjQyLjA2NjYgNTY0LjE2NDEsNjQyLjk5MDYgNTYzLjQ1OTEsNjQzLjQyNDYgQzU2MS43NDYxLDY0NC40ODE2IDU2MC4wMjExLDY0NS41MjA2IDU1OC4yODMxLDY0Ni41NDA2IEM1NTguMDQ0MSw2NDYuNjgwNiA1NTcuNzgzMSw2NDYuNzQ3NiA1NTcuNTI1MSw2NDYuNzQ3NiBMNTU3LjUyNTEsNjQ2Ljc0NzYgWiBNMjgzLjIzNjEsNjQ3LjE0MzYgQzI4Mi45NzkxLDY0Ny4xNDM2IDI4Mi43MTkxLDY0Ny4wNzg2IDI4Mi40ODExLDY0Ni45Mzk2IEMyODAuNzQ2MSw2NDUuOTI3NiAyNzkuMDI0MSw2NDQuODk4NiAyNzcuMzE0MSw2NDMuODUwNiBDMjc2LjYwODEsNjQzLjQxNjYgMjc2LjM4NjEsNjQyLjQ5NDYgMjc2LjgxOTEsNjQxLjc4NzYgQzI3Ny4yNTIxLDY0MS4wODA2IDI3OC4xNzYxLDY0MC44NjE2IDI3OC44ODIxLDY0MS4yOTE2IEMyODAuNTczMSw2NDIuMzI4NiAyODIuMjc2MSw2NDMuMzQ3NiAyODMuOTkyMSw2NDQuMzQ3NiBDMjg0LjcwNzEsNjQ0Ljc2NDYgMjg0Ljk1MDEsNjQ1LjY4MzYgMjg0LjUzMzEsNjQ2LjM5OTYgQzI4NC4yNTQxLDY0Ni44NzY2IDI4My43NTExLDY0Ny4xNDM2IDI4My4yMzYxLDY0Ny4xNDM2IEwyODMuMjM2MSw2NDcuMTQzNiBaIE01NDcuMDI4MSw2NTIuNTk5NiBDNTQ2LjQ5MDEsNjUyLjU5OTYgNTQ1Ljk3MDEsNjUyLjMwOTYgNTQ1LjcwMDEsNjUxLjgwMDYgQzU0NS4zMTQxLDY1MS4wNjg2IDU0NS41OTMxLDY1MC4xNjE2IDU0Ni4zMjUxLDY0OS43NzM2IEM1NDguMDg4MSw2NDguODQxNiA1NDkuODM5MSw2NDcuODkwNiA1NTEuNTc3MSw2NDYuOTIwNiBDNTUyLjMwMTEsNjQ2LjUxOTYgNTUzLjIxNDEsNjQ2Ljc3NzYgNTUzLjYxODEsNjQ3LjUwMDYgQzU1NC4wMjIxLDY0OC4yMjQ2IDU1My43NjIxLDY0OS4xMzc2IDU1My4wMzgxLDY0OS41NDE2IEM1NTEuMjk1MSw2NTAuNTEzNiA1NDkuNTA4MSw2NTEuNDg0NiA1NDcuNzI4MSw2NTIuNDI1NiBDNTQ3LjUwNDEsNjUyLjU0MzYgNTQ3LjI2NTEsNjUyLjU5OTYgNTQ3LjAyODEsNjUyLjU5OTYgTDU0Ny4wMjgxLDY1Mi41OTk2IFogTTI5My43MDMxLDY1Mi45NDI2IEMyOTMuNDY4MSw2NTIuOTQyNiAyOTMuMjI5MSw2NTIuODg2NiAyOTMuMDA2MSw2NTIuNzcwNiBDMjkxLjIzMDEsNjUxLjgzNTYgMjg5LjQ2NDEsNjUwLjg4MzYgMjg3LjcxMjEsNjQ5LjkxMzYgQzI4Ni45ODgxLDY0OS41MTA2IDI4Ni43MjUxLDY0OC41OTg2IDI4Ny4xMjYxLDY0Ny44NzM2IEMyODcuNTI5MSw2NDcuMTQ3NiAyODguNDQ0MSw2NDYuODg5NiAyODkuMTY1MSw2NDcuMjg4NiBDMjkwLjkwMDEsNjQ4LjI0ODYgMjkyLjY0NjEsNjQ5LjE5MTYgMjk0LjQwMzEsNjUwLjExNDYgQzI5NS4xMzYxLDY1MC40OTk2IDI5NS40MTcxLDY1MS40MDc2IDI5NS4wMzMxLDY1Mi4xNDA2IEMyOTQuNzY0MSw2NTIuNjUxNiAyOTQuMjQyMSw2NTIuOTQyNiAyOTMuNzAzMSw2NTIuOTQyNiBMMjkzLjcwMzEsNjUyLjk0MjYgWiBNNTM2LjI3NzEsNjU3Ljk4NDYgQzUzNS43MTUxLDY1Ny45ODQ2IDUzNS4xNzYxLDY1Ny42Njc2IDUzNC45MjAxLDY1Ny4xMjU2IEM1MzQuNTY2MSw2NTYuMzc2NiA1MzQuODg1MSw2NTUuNDgzNiA1MzUuNjM0MSw2NTUuMTI4NiBDNTM3LjQzODEsNjU0LjI3NTYgNTM5LjIzMDEsNjUzLjQwMTYgNTQxLjAxMDEsNjUyLjUwOTYgQzU0MS43NTIxLDY1Mi4xNDE2IDU0Mi42NTMxLDY1Mi40NDA2IDU0My4wMjQxLDY1My4xNzk2IEM1NDMuMzk0MSw2NTMuOTIwNiA1NDMuMDk0MSw2NTQuODIyNiA1NDIuMzU0MSw2NTUuMTkzNiBDNTQwLjU1MjEsNjU2LjA5NDYgNTM4Ljc0MTEsNjU2Ljk3NzYgNTM2LjkxNzEsNjU3LjgzOTYgQzUzNi43MTAxLDY1Ny45Mzg2IDUzNi40OTIxLDY1Ny45ODQ2IDUzNi4yNzcxLDY1Ny45ODQ2IEw1MzYuMjc3MSw2NTcuOTg0NiBaIE0zMDQuNDEzMSw2NTguMjcxNiBDMzA0LjIwMDEsNjU4LjI3MTYgMzAzLjk4MjEsNjU4LjIyNTYgMzAzLjc3NjEsNjU4LjEyODYgQzMwMS45NjAxLDY1Ny4yNzQ2IDMwMC4xNTYxLDY1Ni40MDE2IDI5OC4zNjIxLDY1NS41MDg2IEMyOTcuNjIwMSw2NTUuMTM5NiAyOTcuMzE5MSw2NTQuMjM5NiAyOTcuNjg4MSw2NTMuNDk3NiBDMjk4LjA1ODEsNjUyLjc1NjYgMjk4Ljk2MDEsNjUyLjQ1MzYgMjk5LjY5OTEsNjUyLjgyMzYgQzMwMS40NzIxLDY1My43MDU2IDMwMy4yNTcxLDY1NC41Njk2IDMwNS4wNTMxLDY1NS40MTQ2IEMzMDUuODAzMSw2NTUuNzY2NiAzMDYuMTI0MSw2NTYuNjYwNiAzMDUuNzcyMSw2NTcuNDEwNiBDMzA1LjUxNjEsNjU3Ljk1MzYgMzA0Ljk3NzEsNjU4LjI3MTYgMzA0LjQxMzEsNjU4LjI3MTYgTDMwNC40MTMxLDY1OC4yNzE2IFogTTUyNS4yOTIxLDY2Mi44ODc2IEM1MjQuNzA2MSw2NjIuODg3NiA1MjQuMTUwMSw2NjIuNTQyNiA1MjMuOTA4MSw2NjEuOTY4NiBDNTIzLjU4NzEsNjYxLjIwNTYgNTIzLjk0NzEsNjYwLjMyNTYgNTI0LjcxMDEsNjYwLjAwNDYgQzUyNi41NTQxLDY1OS4yMzA2IDUyOC40MDExLDY1OC40MzA2IDUzMC4xOTkxLDY1Ny42MjY2IEM1MzAuOTU4MSw2NTcuMjg4NiA1MzEuODQyMSw2NTcuNjI3NiA1MzIuMTgwMSw2NTguMzgzNiBDNTMyLjUxODEsNjU5LjE0MDYgNTMyLjE3OTEsNjYwLjAyNzYgNTMxLjQyMzEsNjYwLjM2NTYgQzUyOS42MDQxLDY2MS4xNzg2IDUyNy43MzcxLDY2MS45ODc2IDUyNS44NzIxLDY2Mi43NzA2IEM1MjUuNjgzMSw2NjIuODUwNiA1MjUuNDg2MSw2NjIuODg3NiA1MjUuMjkyMSw2NjIuODg3NiBMNTI1LjI5MjEsNjYyLjg4NzYgWiBNMzE1LjM0MjEsNjYzLjExOTYgQzMxNS4xNTAxLDY2My4xMTk2IDMxNC45NTQxLDY2My4wODE2IDMxNC43NjYxLDY2My4wMDM2IEMzMTIuOTM1MSw2NjIuMjQwNiAzMTEuMDc3MSw2NjEuNDQwNiAzMDkuMjQ0MSw2NjAuNjI2NiBDMzA4LjQ4NzEsNjYwLjI5MDYgMzA4LjE0NjEsNjU5LjQwNDYgMzA4LjQ4MjEsNjU4LjY0NzYgQzMwOC44MTgxLDY1Ny44ODk2IDMwOS43MDMxLDY1Ny41NDY2IDMxMC40NjExLDY1Ny44ODQ2IEMzMTIuMjc0MSw2NTguNjg5NiAzMTQuMTExMSw2NTkuNDgwNiAzMTUuOTIwMSw2NjAuMjM0NiBDMzE2LjY4NTEsNjYwLjU1MzYgMzE3LjA0NjEsNjYxLjQzMTYgMzE2LjcyODEsNjYyLjE5NjYgQzMxNi40ODgxLDY2Mi43NzI2IDMxNS45MzAxLDY2My4xMTk2IDMxNS4zNDIxLDY2My4xMTk2IEwzMTUuMzQyMSw2NjMuMTE5NiBaIE01MTQuMDk1MSw2NjcuMjk5NiBDNTEzLjQ4NTEsNjY3LjI5OTYgNTEyLjkxMDEsNjY2LjkyNDYgNTEyLjY4ODEsNjY2LjMxODYgQzUxMi40MDExLDY2NS41NDA2IDUxMi43OTkxLDY2NC42Nzg2IDUxMy41NzYxLDY2NC4zOTI2IEM1MTUuNDM0MSw2NjMuNzA3NiA1MTcuMzE2MSw2NjIuOTkwNiA1MTkuMTY5MSw2NjIuMjYwNiBDNTE5LjkzOTEsNjYxLjk1ODYgNTIwLjgxMTEsNjYyLjMzNTYgNTIxLjExNTEsNjYzLjEwNjYgQzUyMS40MTgxLDY2My44NzY2IDUyMS4wMzkxLDY2NC43NDc2IDUyMC4yNjkxLDY2NS4wNTE2IEM1MTguMzk1MSw2NjUuNzg5NiA1MTYuNDkyMSw2NjYuNTE1NiA1MTQuNjE0MSw2NjcuMjA2NiBDNTE0LjQ0MzEsNjY3LjI3MDYgNTE0LjI2ODEsNjY3LjI5OTYgNTE0LjA5NTEsNjY3LjI5OTYgTDUxNC4wOTUxLDY2Ny4yOTk2IFogTTMyNi40OTMxLDY2Ny40ODU2IEMzMjYuMzIyMSw2NjcuNDg1NiAzMjYuMTQ4MSw2NjcuNDU1NiAzMjUuOTc4MSw2NjcuMzkzNiBDMzI0LjEwOTEsNjY2LjcwOTYgMzIyLjIxMTEsNjY1Ljk5MDYgMzIwLjMzNjEsNjY1LjI1NTYgQzMxOS41NjUxLDY2NC45NTQ2IDMxOS4xODQxLDY2NC4wODM2IDMxOS40ODcxLDY2My4zMTI2IEMzMTkuNzg4MSw2NjIuNTM5NiAzMjAuNjU5MSw2NjIuMTYxNiAzMjEuNDMwMSw2NjIuNDYyNiBDMzIzLjI4MDEsNjYzLjE4NzYgMzI1LjE0MDEsNjYzLjg5MjYgMzI3LjAwOTEsNjY0LjU3NzYgQzMyNy43ODcxLDY2NC44NjE2IDMyOC4xODcxLDY2NS43MjM2IDMyNy45MDIxLDY2Ni41MDA2IEMzMjcuNjc5MSw2NjcuMTA4NiAzMjcuMTA1MSw2NjcuNDg1NiAzMjYuNDkzMSw2NjcuNDg1NiBMMzI2LjQ5MzEsNjY3LjQ4NTYgWiBNNTAyLjcwODEsNjcxLjIwOTYgQzUwMi4wNzMxLDY3MS4yMDk2IDUwMS40ODMxLDY3MC44MDM2IDUwMS4yODAxLDY3MC4xNjQ2IEM1MDEuMDI4MSw2NjkuMzc1NiA1MDEuNDYzMSw2NjguNTMyNiA1MDIuMjUzMSw2NjguMjgxNiBDNTA0LjE1ODEsNjY3LjY3MzYgNTA2LjA1MjEsNjY3LjA0NTYgNTA3LjkzOTEsNjY2LjM5OTYgQzUwOC43MjQxLDY2Ni4xMjY2IDUwOS41NzUxLDY2Ni41NDc2IDUwOS44NDQxLDY2Ny4zMzE2IEM1MTAuMTEzMSw2NjguMTE1NiA1MDkuNjk2MSw2NjguOTY4NiA1MDguOTExMSw2NjkuMjM3NiBDNTA3LjAwNTEsNjY5Ljg5MTYgNTA1LjA4OTEsNjcwLjUyNTYgNTAzLjE2MzEsNjcxLjEzODYgQzUwMy4wMTIxLDY3MS4xODc2IDUwMi44NTkxLDY3MS4yMDk2IDUwMi43MDgxLDY3MS4yMDk2IEw1MDIuNzA4MSw2NzEuMjA5NiBaIE0zMzcuODQ4MSw2NzEuMzYwNiBDMzM3LjY5OTEsNjcxLjM2MDYgMzM3LjU0NjEsNjcxLjMzNzYgMzM3LjM5NTEsNjcxLjI4OTYgQzMzNS40ODkxLDY3MC42ODY2IDMzMy41NjExLDY3MC4wNTI2IDMzMS42NjQxLDY2OS40MDU2IEMzMzAuODgwMSw2NjkuMTM3NiAzMzAuNDYxMSw2NjguMjg0NiAzMzAuNzI5MSw2NjcuNTAwNiBDMzMwLjk5NjEsNjY2LjcxNTYgMzMxLjg1MzEsNjY2LjI5ODYgMzMyLjYzMzEsNjY2LjU2NTYgQzMzNC41MDkxLDY2Ny4yMDU2IDMzNi40MTUxLDY2Ny44MzI2IDMzOC4zMDExLDY2OC40MzA2IEMzMzkuMDkwMSw2NjguNjgwNiAzMzkuNTI4MSw2NjkuNTIzNiAzMzkuMjc4MSw2NzAuMzEzNiBDMzM5LjA3NTEsNjcwLjk1MjYgMzM4LjQ4NTEsNjcxLjM2MDYgMzM3Ljg0ODEsNjcxLjM2MDYgTDMzNy44NDgxLDY3MS4zNjA2IFogTTQ5MS4xOTgxLDY3NC41OTc2IEM0OTAuNTM2MSw2NzQuNTk3NiA0ODkuOTMxMSw2NzQuMTU4NiA0ODkuNzUwMSw2NzMuNDg5NiBDNDg5LjUzNDEsNjcyLjY4OTYgNDkwLjAwNzEsNjcxLjg2NjYgNDkwLjgwNzEsNjcxLjY0OTYgQzQ5Mi43MzgxLDY3MS4xMjc2IDQ5NC42NjgxLDY3MC41ODI2IDQ5Ni41NDgxLDY3MC4wMjk2IEM0OTcuMzM5MSw2NjkuNzkzNiA0OTguMTc2MSw2NzAuMjQ4NiA0OTguNDEwMSw2NzEuMDQzNiBDNDk4LjY0NTEsNjcxLjgzODYgNDk4LjE5MTEsNjcyLjY3MjYgNDk3LjM5NjEsNjcyLjkwNjYgQzQ5NS40OTUxLDY3My40NjY2IDQ5My41NDExLDY3NC4wMTg2IDQ5MS41OTAxLDY3NC41NDU2IEM0OTEuNDU5MSw2NzQuNTgwNiA0OTEuMzI3MSw2NzQuNTk3NiA0OTEuMTk4MSw2NzQuNTk3NiBMNDkxLjE5ODEsNjc0LjU5NzYgWiBNMzQ5LjM2MzEsNjc0LjcyNjYgQzM0OS4yMzQxLDY3NC43MjY2IDM0OS4xMDMxLDY3NC43MDk2IDM0OC45NzMxLDY3NC42NzU2IEMzNDcuMDQ3MSw2NzQuMTU5NiAzNDUuMDkzMSw2NzMuNjExNiAzNDMuMTY0MSw2NzMuMDQ2NiBDMzQyLjM2OTEsNjcyLjgxNDYgMzQxLjkxMzEsNjcxLjk4MTYgMzQyLjE0NjEsNjcxLjE4NjYgQzM0Mi4zNzkxLDY3MC4zOTE2IDM0My4yMTIxLDY2OS45Mzk2IDM0NC4wMDYxLDY3MC4xNjc2IEMzNDUuOTEzMSw2NzAuNzI1NiAzNDcuODQ2MSw2NzEuMjY2NiAzNDkuNzUwMSw2NzEuNzc3NiBDMzUwLjU1MDEsNjcxLjk5MjYgMzUxLjAyNTEsNjcyLjgxNDYgMzUwLjgxMTEsNjczLjYxNTYgQzM1MC42MzExLDY3NC4yODU2IDM1MC4wMjUxLDY3NC43MjY2IDM0OS4zNjMxLDY3NC43MjY2IEwzNDkuMzYzMSw2NzQuNzI2NiBaIE00NzkuNTUwMSw2NzcuNDcwNiBDNDc4Ljg2MzEsNjc3LjQ3MDYgNDc4LjI0MzEsNjc2Ljk5NjYgNDc4LjA4NzEsNjc2LjI5NzYgQzQ3Ny45MDcxLDY3NS40ODk2IDQ3OC40MTUxLDY3NC42ODc2IDQ3OS4yMjQxLDY3NC41MDY2IEM0ODEuMTY4MSw2NzQuMDcyNiA0ODMuMTA0MSw2NzMuNjE4NiA0ODUuMDMzMSw2NzMuMTQyNiBDNDg1Ljg0MTEsNjcyLjk0MDYgNDg2LjY1MTEsNjczLjQzNDYgNDg2Ljg0ODEsNjc0LjIzOTYgQzQ4Ny4wNDYxLDY3NS4wNDM2IDQ4Ni41NTYxLDY3NS44NTY2IDQ4NS43NTExLDY3Ni4wNTQ2IEM0ODMuODE4MSw2NzYuNTMyNiA0ODEuODQyMSw2NzYuOTk2NiA0NzkuODc4MSw2NzcuNDM0NiBDNDc5Ljc2ODEsNjc3LjQ1ODYgNDc5LjY1ODEsNjc3LjQ3MDYgNDc5LjU1MDEsNjc3LjQ3MDYgTDQ3OS41NTAxLDY3Ny40NzA2IFogTTM2MS4wMTcxLDY3Ny41Nzg2IEMzNjAuOTEwMSw2NzcuNTc4NiAzNjAuODAxMSw2NzcuNTY2NiAzNjAuNjkyMSw2NzcuNTQyNiBDMzU4Ljc1MTEsNjc3LjExMzYgMzU2Ljc3NTEsNjc2LjY1MzYgMzU0LjgxNzEsNjc2LjE3MzYgQzM1NC4wMTIxLDY3NS45NzY2IDM1My41MTkxLDY3NS4xNjQ2IDM1My43MTYxLDY3NC4zNjA2IEMzNTMuOTEzMSw2NzMuNTU1NiAzNTQuNzI1MSw2NzMuMDY0NiAzNTUuNTMwMSw2NzMuMjU5NiBDMzU3LjQ2NjEsNjczLjczMzYgMzU5LjQyMTEsNjc0LjE4OTYgMzYxLjM0MDEsNjc0LjYxMzYgQzM2Mi4xNDkxLDY3NC43OTE2IDM2Mi42NTkxLDY3NS41OTI2IDM2Mi40ODExLDY3Ni40MDI2IEMzNjIuMzI1MSw2NzcuMTAxNiAzNjEuNzA1MSw2NzcuNTc4NiAzNjEuMDE3MSw2NzcuNTc4NiBMMzYxLjAxNzEsNjc3LjU3ODYgWiBNNDY3Ljc4NTEsNjc5LjgyMzYgQzQ2Ny4wNzIxLDY3OS44MjM2IDQ2Ni40NDAxLDY3OS4zMTI2IDQ2Ni4zMTExLDY3OC41ODQ2IEM0NjYuMTY2MSw2NzcuNzY5NiA0NjYuNzEwMSw2NzYuOTkxNiA0NjcuNTI2MSw2NzYuODQ2NiBDNDY5LjQ4ODEsNjc2LjQ5ODYgNDcxLjQ0MjEsNjc2LjEzMDYgNDczLjM4ODEsNjc1Ljc0MTYgQzQ3NC4xOTgxLDY3NS41ODE2IDQ3NC45OTAxLDY3Ni4xMDY2IDQ3NS4xNTMxLDY3Ni45MTc2IEM0NzUuMzE2MSw2NzcuNzI5NiA0NzQuNzg4MSw2NzguNTIwNiA0NzMuOTc2MSw2NzguNjgyNiBDNDcyLjAwODEsNjc5LjA3NjYgNDcwLjAzMzEsNjc5LjQ0ODYgNDY4LjA0OTEsNjc5Ljc5OTYgQzQ2Ny45NjAxLDY3OS44MTU2IDQ2Ny44NzIxLDY3OS44MjM2IDQ2Ny43ODUxLDY3OS44MjM2IEw0NjcuNzg1MSw2NzkuODIzNiBaIE0zNzIuNzg0MSw2NzkuOTA5NiBDMzcyLjY5OTEsNjc5LjkwOTYgMzcyLjYxMjEsNjc5LjkwMjYgMzcyLjUyNDEsNjc5Ljg4NjYgQzM3MC41NDAxLDY3OS41Mzk2IDM2OC41NjQxLDY3OS4xNjk2IDM2Ni41OTUxLDY3OC43ODA2IEMzNjUuNzgyMSw2NzguNjE5NiAzNjUuMjU0MSw2NzcuODMwNiAzNjUuNDE0MSw2NzcuMDE3NiBDMzY1LjU3NTEsNjc2LjIwNDYgMzY2LjM3NDEsNjc1LjY3NDYgMzY3LjE3NzEsNjc1LjgzNjYgQzM2OS4xMjQxLDY3Ni4yMjI2IDM3MS4wNzkxLDY3Ni41ODc2IDM3My4wNDExLDY3Ni45MzE2IEMzNzMuODU4MSw2NzcuMDc1NiAzNzQuNDAzMSw2NzcuODUyNiAzNzQuMjYwMSw2NzguNjY3NiBDMzc0LjEzMjEsNjc5LjM5NjYgMzczLjQ5OTEsNjc5LjkwOTYgMzcyLjc4NDEsNjc5LjkwOTYgTDM3Mi43ODQxLDY3OS45MDk2IFogTTQ1NS45MjkxLDY4MS42NTM2IEM0NTUuMTg4MSw2ODEuNjUzNiA0NTQuNTQzMSw2ODEuMTA0NiA0NTQuNDQ0MSw2ODAuMzQ5NiBDNDU0LjMzNTEsNjc5LjUyODYgNDU0LjkxMzEsNjc4Ljc3NDYgNDU1LjczNTEsNjc4LjY2NTYgQzQ1Ny43MDExLDY3OC40MDc2IDQ1OS42ODgxLDY3OC4xMjI2IDQ2MS42NDExLDY3Ny44MjE2IEM0NjIuNDUyMSw2NzcuNjk5NiA0NjMuMjI2MSw2NzguMjU2NiA0NjMuMzUyMSw2NzkuMDc1NiBDNDYzLjQ3ODEsNjc5Ljg5MzYgNDYyLjkxNzEsNjgwLjY1OTYgNDYyLjA5ODEsNjgwLjc4NjYgQzQ2MC4xMjQxLDY4MS4wOTA2IDQ1OC4xMTUxLDY4MS4zNzg2IDQ1Ni4xMjcxLDY4MS42NDA2IEM0NTYuMDYxMSw2ODEuNjQ5NiA0NTUuOTk0MSw2ODEuNjUzNiA0NTUuOTI5MSw2ODEuNjUzNiBMNDU1LjkyOTEsNjgxLjY1MzYgWiBNMzg0LjY0MzEsNjgxLjcxNzYgQzM4NC41NzgxLDY4MS43MTc2IDM4NC41MTMxLDY4MS43MTM2IDM4NC40NDgxLDY4MS43MDU2IEMzODIuNDUwMSw2ODEuNDQ1NiAzODAuNDU4MSw2ODEuMTY0NiAzNzguNDc1MSw2ODAuODYxNiBDMzc3LjY1NzEsNjgwLjczNzYgMzc3LjA5NDEsNjc5Ljk3MTYgMzc3LjIxOTEsNjc5LjE1MjYgQzM3Ny4zNDMxLDY3OC4zMzI2IDM3OC4xMDcxLDY3Ny43Njk2IDM3OC45MjgxLDY3Ny44OTY2IEMzODAuODg5MSw2NzguMTk1NiAzODIuODU4MSw2NzguNDcyNiAzODQuODM0MSw2NzguNzMwNiBDMzg1LjY1NzEsNjc4LjgzNjYgMzg2LjIzNjEsNjc5LjU4OTYgMzg2LjEyODEsNjgwLjQxMTYgQzM4Ni4wMzAxLDY4MS4xNjY2IDM4NS4zODUxLDY4MS43MTc2IDM4NC42NDMxLDY4MS43MTc2IEwzODQuNjQzMSw2ODEuNzE3NiBaIE00NDQuMDA0MSw2ODIuOTU4NiBDNDQzLjIzNTEsNjgyLjk1ODYgNDQyLjU3OTEsNjgyLjM3MDYgNDQyLjUxMjEsNjgxLjU4ODYgQzQ0Mi40NDAxLDY4MC43NjM2IDQ0My4wNTExLDY4MC4wMzY2IDQ0My44NzYxLDY3OS45NjQ2IEM0NDUuODYyMSw2NzkuNzkxNiA0NDcuODQwMSw2NzkuNTk2NiA0NDkuODEzMSw2NzkuMzgwNiBDNDUwLjYzODEsNjc5LjI5NzYgNDUxLjM3NzEsNjc5Ljg4MzYgNDUxLjQ2NzEsNjgwLjcwODYgQzQ1MS41NTcxLDY4MS41MzI2IDQ1MC45NjIxLDY4Mi4yNzM2IDQ1MC4xMzkxLDY4Mi4zNjM2IEM0NDguMTQ1MSw2ODIuNTgwNiA0NDYuMTQzMSw2ODIuNzc4NiA0NDQuMTM2MSw2ODIuOTUzNiBDNDQ0LjA5MjEsNjgyLjk1NjYgNDQ0LjA0ODEsNjgyLjk1ODYgNDQ0LjAwNDEsNjgyLjk1ODYgTDQ0NC4wMDQxLDY4Mi45NTg2IFogTTM5Ni41NzMxLDY4My4wMDE2IEMzOTYuNTMwMSw2ODMuMDAxNiAzOTYuNDg3MSw2ODIuOTk5NiAzOTYuNDQ0MSw2ODIuOTk2NiBDMzk0LjQ2MDEsNjgyLjgyODYgMzkyLjQ0MDEsNjgyLjYzMjYgMzkwLjQzODEsNjgyLjQxNjYgQzM4OS42MTUxLDY4Mi4zMjg2IDM4OS4wMTkxLDY4MS41ODg2IDM4OS4xMDgxLDY4MC43NjQ2IEMzODkuMTk3MSw2NzkuOTQxNiAzODkuOTMzMSw2NzkuMzQ1NiAzOTAuNzYwMSw2NzkuNDM0NiBDMzkyLjc0MDEsNjc5LjY0NzYgMzk0LjczNzEsNjc5Ljg0MDYgMzk2LjY5ODEsNjgwLjAwNzYgQzM5Ny41MjMxLDY4MC4wNzc2IDM5OC4xMzUxLDY4MC44MDM2IDM5OC4wNjUxLDY4MS42Mjg2IEMzOTcuOTk4MSw2ODIuNDExNiAzOTcuMzQzMSw2ODMuMDAxNiAzOTYuNTczMSw2ODMuMDAxNiBMMzk2LjU3MzEsNjgzLjAwMTYgWiBNNDMyLjAzMzEsNjgzLjc0MDYgQzQzMS4yMzUxLDY4My43NDA2IDQzMC41NzExLDY4My4xMTA2IDQzMC41MzUxLDY4Mi4zMDU2IEM0MzAuNTAwMSw2ODEuNDc3NiA0MzEuMTQyMSw2ODAuNzc3NiA0MzEuOTY5MSw2ODAuNzQxNiBDNDMzLjk2MDEsNjgwLjY1NTYgNDM1Ljk0NzEsNjgwLjU0NzYgNDM3LjkyNzEsNjgwLjQxNzYgQzQzOC43MzMxLDY4MC4zNTk2IDQzOS40NjgxLDY4MC45ODk2IDQzOS41MjIxLDY4MS44MTc2IEM0MzkuNTc1MSw2ODIuNjQ0NiA0MzguOTQ5MSw2ODMuMzU4NiA0MzguMTIyMSw2ODMuNDEyNiBDNDM2LjEyMDEsNjgzLjU0MTYgNDM0LjExMzEsNjgzLjY1MTYgNDMyLjEwMDEsNjgzLjczOTYgQzQzMi4wNzcxLDY4My43NDA2IDQzMi4wNTUxLDY4My43NDA2IDQzMi4wMzMxLDY4My43NDA2IEw0MzIuMDMzMSw2ODMuNzQwNiBaIE00MDguNTQ0MSw2ODMuNzYxNiBDNDA4LjUyMzEsNjgzLjc2MTYgNDA4LjUwMjEsNjgzLjc2MTYgNDA4LjQ4MTEsNjgzLjc2MDYgQzQwNi40NjcxLDY4My42NzU2IDQwNC40NTkxLDY4My41NzE2IDQwMi40NTcxLDY4My40NDQ2IEM0MDEuNjMwMSw2ODMuMzkxNiA0MDEuMDAyMSw2ODIuNjc5NiA0MDEuMDU1MSw2ODEuODUyNiBDNDAxLjEwODEsNjgxLjAyNDYgNDAxLjgzMjEsNjgwLjM5MzYgNDAyLjY0NzEsNjgwLjQ1MDYgQzQwNC42MjcxLDY4MC41NzU2IDQwNi42MTQxLDY4MC42Nzk2IDQwOC42MDYxLDY4MC43NjI2IEM0MDkuNDM0MSw2ODAuNzk3NiA0MTAuMDc2MSw2ODEuNDk3NiA0MTAuMDQyMSw2ODIuMzI0NiBDNDEwLjAwODEsNjgzLjEzMDYgNDA5LjM0NDEsNjgzLjc2MTYgNDA4LjU0NDEsNjgzLjc2MTYgTDQwOC41NDQxLDY4My43NjE2IFogTTQyMC4wNDExLDY4My45OTk2IEM0MTguMTg5MSw2ODMuOTk5NiA0MTYuMzQwMSw2ODMuOTgxNiA0MTQuNDk2MSw2ODMuOTQ1NiBDNDEzLjY2ODEsNjgzLjkyODYgNDEzLjAxMDEsNjgzLjI0NDYgNDEzLjAyNjEsNjgyLjQxNTYgQzQxMy4wNDIxLDY4MS41OTc2IDQxMy43MTAxLDY4MC45NDU2IDQxNC41MjUxLDY4MC45NDU2IEw0MTQuNTU1MSw2ODAuOTQ1NiBDNDE4LjM2NDEsNjgxLjAyMDYgNDIyLjIwMDEsNjgxLjAxOTYgNDI2LjAwNjEsNjgwLjkzNDYgQzQyNi44MjIxLDY4MC45MjM2IDQyNy41MjExLDY4MS41NzM2IDQyNy41MzkxLDY4Mi40MDE2IEM0MjcuNTU3MSw2ODMuMjI5NiA0MjYuOTAxMSw2ODMuOTE1NiA0MjYuMDczMSw2ODMuOTM0NiBDNDI0LjA2ODEsNjgzLjk3ODYgNDIyLjA1NzEsNjgzLjk5OTYgNDIwLjA0MTEsNjgzLjk5OTYgTDQyMC4wNDExLDY4My45OTk2IFoiIGlkPSJGaWxsLTUiIGZpbGw9IiNBM0IxQkYiIG9wYWNpdHk9IjAuMzk1NjcwNTczIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03MDMuOTAxNywzNzEuMzQ0NyBDNzAzLjkwMTcsMzc4LjM1MDcgNzAyLjU4MTcsMzg1LjE5ODcgNjk5Ljk4NzcsMzkxLjcwODcgQzcwNi45NDI3LDM4OS43MjQ3IDcxMi4wNDI3LDM4My4zMjI3IDcxMi4wNDI3LDM3NS43MTM3IEM3MTIuMDQyNywzNjkuMTYzNyA3MDguMjU2NywzNjMuNTE0NyA3MDIuNzY5NywzNjAuNzk3NyBDNzAzLjQ3MjcsMzY0LjE5NTcgNzAzLjg1NDcsMzY3LjcxMDcgNzAzLjkwMTcsMzcxLjM0NDciIGlkPSJGaWxsLTciIGZpbGw9IiNBQ0MwREMiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xOTYzNTg4MTciPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTYyOS40MjEzLDM1OS4wNzEzIEM2MjcuNzYxMywzNjEuNTAwMyA2MjYuNDk4MywzNjQuNDE4MyA2MjUuNjM2MywzNjcuOTA0MyBMNjI1LjU4NTMsMzY4LjExODMgQzYyNS4zNjAzLDM3Ni43OTYzIDYxOC4xOTEzLDM4My43OTQzIDYwOS40MzMzLDM4My43OTQzIEM2MDAuNTczMywzODMuNzk0MyA1OTMuMzQzMywzNzYuNTk2MyA1OTMuMzE2MywzNjcuNzUwMyBMNTkzLjMxNTMsMzY3LjYzMTMgTDU5My4zMjMzLDM2Ny41MTEzIEM1OTMuNDgzMywzNjUuNDI4MyA1OTMuNjQyMywzNjQuNTA3MyA1OTMuNzU3MywzNjQuMDA0MyBDNTk0LjAyODMsMzYyLjMyNzMgNTk0LjM3ODMsMzYwLjY4NDMgNTk0Ljc5MjMsMzU5LjA3MTMgTDU4Ni43ODMzLDM1OS4wNzEzIEM1NzcuNjEzMywzNTkuMDcxMyA1NzAuMTgwMywzNTEuNjIwMyA1NzAuMTgwMywzNDIuNDI4MyBDNTcwLjE4MDMsMzM3LjYwMDMgNTcyLjI0MzMsMzMzLjI2NTMgNTc1LjUyMDMsMzMwLjIyNTMgQzU3NC4wMDkzLDMzMS4xNjczIDU3Mi4yMjIzLDMzMC43NTEzIDU3MC42MjczLDMzMC4zNjczIEM1NjkuMTg0MywzMzAuMDE5MyA1NjcuODIyMywzMjkuNjkyMyA1NjYuODQyMywzMzAuMjk4MyBDNTY1LjkwNzMsMzMwLjg3ODMgNTY1LjE2ODMsMzMyLjMzMzMgNTY0LjY0NzMsMzM0LjYyNDMgQzU2Mi44MjMzLDM0Mi42MjUzIDU2MC4yMzIzLDM0My45MzIzIDU1Ni43NzAzLDM0NC45MDYzIEM1NTQuNTkwMywzNDUuNTE4MyA1NTIuNTMyMywzNDYuMDk3MyA1NTAuMjQ5MywzNTEuMDUwMyBDNTQ2LjYwNDMsMzU4Ljk2MDMgNTQzLjMyOTMsMzYxLjQ0MjMgNTQwLjQ0MDMsMzYzLjYzMzMgQzUzOC44MzEzLDM2NC44NTEzIDUzNy4zMTIzLDM2Ni4wMDMzIDUzNS43NzYzLDM2OC4wNTYzIEM1MzQuMTM3MywzNzAuMjUxMyA1MzMuMjI1MywzNzIuOTkwMyA1MzIuMjU4MywzNzUuODkwMyBDNTMwLjY3NjMsMzgwLjYzODMgNTI4Ljg4MzMsMzg2LjAyMTMgNTIzLjQ3NDMsMzkwLjkxNzMgQzUyMi45NDUzLDM5MS4zOTUzIDUyMi40MjUzLDM5MS44NzUzIDUyMS45MTEzLDM5Mi4zNTYzIEw2NTYuMjM1MywzOTIuMzU2MyBDNjU5Ljc0NzMsMzkxLjMxOTMgNjYyLjcyMjMsMzg5LjY4ODMgNjY1LjA4OTMsMzg3LjQyOTMgTDY2NS4xMDgzLDM4Ny40MTIzIEw2NjUuMTI2MywzODcuMzk0MyBDNjY5LjQ2NzMsMzgzLjM5NDMgNjcxLjU4MTMsMzc4LjMxMjMgNjcxLjU4ODMsMzcxLjg1OTMgQzY3MS40NjgzLDM2Ni44NjEzIDY3MC4xNTczLDM2Mi42NDUzIDY2Ny42MTgzLDM1OS4wNzEzIEw2MjkuNDIxMywzNTkuMDcxMyBaIiBpZD0iRmlsbC05IiBmaWxsPSIjQUNDMERDIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTk2MzU4ODE3Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NjEuMDA1MiwyOTIuNSBMNTgwLjA0NjIsMjkyLjUgQzU3Ni43MzAyLDI5OC44NjUgNTc2Ljk0ODIsMzA1Ljg2NCA1NzcuODQ3MiwzMjAuMTQ2IEM1NzguMTUxMiwzMjUgNTc3LjczNDIsMzI3Ljg0OCA1NzYuNDYyMiwzMjkuNDA1IEM1NzkuMjk4MiwzMjcuMTQ2IDU4Mi44NzkyLDMyNS43ODUgNTg2Ljc4MzIsMzI1Ljc4NSBMNjIwLjAxOTIsMzI1Ljc4NSBDNjI3Ljk1NDIsMzIxLjA3MiA2MzYuODkzMiwzMTguNjIgNjQ2LjcyNzIsMzE4LjUgTDY0Ni43NTkyLDMxOC40OTkgTDY0Ni43OTIyLDMxOC41IEM2NTUuNTc4MiwzMTguNTg1IDY2My41MTMyLDMyMC4wMDggNjcwLjU1MjIsMzIyLjc0NiBDNjc0LjgxNjIsMzE5LjczMyA2NzcuNjA5MiwzMTQuNzcgNjc3LjYwOTIsMzA5LjE0MyBDNjc3LjYwOTIsMjk5Ljk1MSA2NzAuMTc1MiwyOTIuNSA2NjEuMDA1MiwyOTIuNSIgaWQ9IkZpbGwtMTEiIGZpbGw9IiNBQ0MwREMiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xOTYzNTg4MTciPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI4NS41OTcsNDU4LjkyODcgTDMxNS40OTYsNDU4LjkyODcgQzMxMi40ODgsNDUzLjMzOTcgMzEwLjI4OSw0NDcuNjE3NyAzMDguOTI1LDQ0MS43ODM3IEMyODcuOTUyLDQ1MC43MTk3IDI4NS4yNDksNDU2LjMxNjcgMjg1LjU5Nyw0NTguOTI4NyIgaWQ9IkZpbGwtMTMiIGZpbGw9IiNBQ0MwREMiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xOTYzNTg4MTciPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTM3MC4wMTcsMjkyLjUgQzM2Ni4yNDQsMjkyLjUgMzYyLjc2NCwyOTMuNzYxIDM1OS45NzYsMjk1Ljg4NyBDMzU1Ljk4OCwyOTguOTI3IDM2Ny41MDksMzExLjM0MSAzNjcuNTA5LDMxMS4zNDEgTDQwMy43MzIsMjk4LjMwOCBMNDc5LjMwNSwzMjUuNSBMNTE3LjgxNCwzMjUuNSBDNTI1LjUwOSwzMjUuNSA1MzEuOTM5LDMzMS4yODIgNTMzLjYwNywzMzkuMDMzIEM1MzQuMzA4LDMzNy4zMzUgNTM1LjAwMywzMzUuNjI1IDUzNS42OTEsMzMzLjg5NiBDNTM3LjA1OSwzMjUuNTA0IDUzNi43MywzMTkuNTI3IDUzNC43MTIsMzE2LjEzMyBDNTMyLjQwOSwzMTIuMjU1IDUzMS45MjMsMzA3LjQwMSA1MzMuNDQ1LDMwMy40NjcgQzUzNC40NDcsMzAwLjg3NSA1MzYuODAzLDI5Ny40MyA1NDIuMzM0LDI5NS43MzggQzU0NC40MSwyOTUuMTA0IDU0Ni4xMDcsMjkzLjk2MyA1NDcuMzA2LDI5Mi41IEwzNzAuMDE3LDI5Mi41IFoiIGlkPSJGaWxsLTE1IiBmaWxsPSIjQUNDMERDIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTk2MzU4ODE3Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01MDAuMjMxOCwzNjAuNSBMNTAwLjIzMTgsMzkyLjM1NiBMNTA2LjMyNzgsMzkyLjM1NiBDNTEyLjg3NDgsMzgyLjA4NSA1MTkuMDQ4OCwzNzAuODcyIDUyNC44NDM4LDM1OC43NTQgQzUyMi43MTM4LDM1OS44NjEgNTIwLjMzNTgsMzYwLjUgNTE3LjgxMzgsMzYwLjUgTDUwMC4yMzE4LDM2MC41IFoiIGlkPSJGaWxsLTE3IiBmaWxsPSIjQUNDMERDIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTk2MzU4ODE3Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODguOTE1NCw0OTIuMjEzOSBMMjY4LjQ0ODQsNDkyLjIxMzkgQzI1OS4yNzg0LDQ5Mi4yMTM5IDI1MS44NDU0LDQ4NC43NjI5IDI1MS44NDU0LDQ3NS41NzA5IEMyNTEuODQ1NCw0NjYuMzc5OSAyNTkuMjc4NCw0NTguOTI4OSAyNjguNDQ4NCw0NTguOTI4OSBMMjc4LjY3ODQsNDU4LjkyODkgQzI4MC4xNzQ0LDQ1Mi40Nzc5IDI4OS45MzA0LDQ0NS44NDQ5IDMwOC4yODg0LDQzOC43NTI5IEMzMDcuNTg3NCw0MzQuOTM5OSAzMDcuMjMxNCw0MzEuMDgyOSAzMDcuMjMxNCw0MjcuMTg2OSBMMzA3LjIzMTQsMzU5LjA3MDkgTDI2NS40OTk0LDM1OS4wNzA5IEMyNTYuMzI5NCwzNTkuMDcwOSAyNDguODk1NCwzNjYuNTIyOSAyNDguODk1NCwzNzUuNzEzOSBDMjQ4Ljg5NTQsMzg0LjkwNDkgMjU2LjMyOTQsMzkyLjM1NjkgMjY1LjQ5OTQsMzkyLjM1NjkgTDI4NS40Mzg0LDM5Mi4zNTY5IEMyOTQuNjA4NCwzOTIuMzU2OSAzMDIuMDQyNCwzOTkuODA3OSAzMDIuMDQyNCw0MDguOTk5OSBDMzAyLjA0MjQsNDE4LjE5MTkgMjk0LjYwODQsNDI1LjY0MjkgMjg1LjQzODQsNDI1LjY0MjkgTDIyOC4zOTE0LDQyNS42NDI5IEwyMjguMzkxNCw0MzEuMzE5OSBMMjM3LjUyODQsNDMxLjMxOTkgQzI0NS41MTE0LDQzMS4zMTk5IDI1Mi4wNDI0LDQzNy44Mzk5IDI1Mi4wNDI0LDQ0NS44MDc5IEMyNTIuMDQyNCw0NTMuNzc1OSAyNDUuNTExNCw0NjAuMjk1OSAyMzcuNTI4NCw0NjAuMjk1OSBMMjI4LjM5MTQsNDYwLjI5NTkgTDIyOC4zOTE0LDQ4MS4zMjg5IEMyMjguMzkxNCw0OTAuNzcyOSAyMjAuNjUwNCw0OTguNDk5OSAyMTEuMTg5NCw0OTguNDk5OSBDMjA1Ljc2NTQsNDk4LjQ5OTkgMjAwLjkxNDQsNDk1Ljk1MDkgMTk3Ljc1NTQsNDkyLjAwMjkgQzE5Ni45MzM0LDQ5Mi4xMjc5IDE5Ni4wOTc0LDQ5Mi4yMTM5IDE5NS4yMzk0LDQ5Mi4yMTM5IEw5MS4wNDI0LDQ5Mi4yMTM5IEM4MS44NzI0LDQ5Mi4yMTM5IDc0LjQzODQsNDk5LjY2NDkgNzQuNDM4NCw1MDguODU2OSBDNzQuNDM4NCw1MTguMDQ3OSA4MS44NzI0LDUyNS40OTk5IDkxLjA0MjQsNTI1LjQ5OTkgTDI4OC45MTU0LDUyNS40OTk5IEMyOTguMDg1NCw1MjUuNDk5OSAzMDUuNTE5NCw1MTguMDQ3OSAzMDUuNTE5NCw1MDguODU2OSBDMzA1LjUxOTQsNDk5LjY2NDkgMjk4LjA4NTQsNDkyLjIxMzkgMjg4LjkxNTQsNDkyLjIxMzkiIGlkPSJGaWxsLTE5IiBmaWxsPSIjQUNDMERDIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTk2MzU4ODE3Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMDkuNjg5OCw0MzguMjA4IEwzMTAuNzk0OCw0NDAuOTk3IEMzMTAuMTU0OCw0NDEuMjYzIDMwOS41MzQ4LDQ0MS41MjQgMzA4LjkyNDgsNDQxLjc4NCBDMzExLjI4NDgsNDUxLjg3IDMxNi4xMDY4LDQ2MS42MjggMzIzLjM1ODgsNDcwLjkyNyBDMzIzLjc5NDgsNDcxLjQ4NSAzMjQuMjQyOCw0NzIuMDQyIDMyNC42OTY4LDQ3Mi41OTggQzMyNi4xNzI4LDQ3Mi44MDcgMzI3LjY1NDgsNDczLjAwNyAzMjkuMTM1OCw0NzMuMTk4IEMzMjcuOTQ0OCw0NzEuODM2IDMyNi44MDE4LDQ3MC40NjUgMzI1LjcyMzgsNDY5LjA4MiBDMzE1LjQ0NDgsNDU1LjkwMiAzMTAuMjMxOCw0NDEuODA3IDMxMC4yMzE4LDQyNy4xODcgTDMxMC4yMzE4LDMzNS4xMzggTDMyOS4yOTM4LDMyOC4yNzkgQzMyOC41Njc4LDMyNy41MDYgMzI3Ljg5NDgsMzI2LjY4MyAzMjcuMjc5OCwzMjUuODE1IEwzMDcuMjMxOCwzMzMuMDI5IEwzMDcuMjMxOCw0MjcuMTg3IEMzMDcuMjMxOCw0MzEuMDgxIDMwNy41ODY4LDQzNC45MzYgMzA4LjI4NjgsNDM4Ljc0NyBDMzA4Ljc1MTgsNDM4LjU2NyAzMDkuMjEzOCw0MzguMzg4IDMwOS42ODk4LDQzOC4yMDgiIGlkPSJGaWxsLTIxIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNjkuMDQ5MiwzMTMuOTc1NiBMNDAzLjczMjIsMzAxLjQ5NjYgTDQ5Ny4yMzIyLDMzNS4xMzc2IEw0OTcuMjMyMiw0MDUuNjk2NiBDNDk4LjIzOTIsNDA0LjMxNDYgNDk5LjIzODIsNDAyLjkwNzYgNTAwLjIzMjIsNDAxLjQ4NTYgTDUwMC4yMzIyLDMzMy4wMjk2IEw0MDMuNzMyMiwyOTguMzA3NiBMMzY5LjAyNzIsMzEwLjc5MzYgQzM2OS4wNzAyLDMxMS4zNjc2IDM2OS4wOTkyLDMxMS45NDQ2IDM2OS4wOTkyLDMxMi41Mjg2IEMzNjkuMDk5MiwzMTMuMDE0NiAzNjkuMDc5MiwzMTMuNDk2NiAzNjkuMDQ5MiwzMTMuOTc1NiIgaWQ9IkZpbGwtMjMiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ5Ny4yMTAzLDQyOC4xMjcgQzQ5Ni45OTEzLDQ0Mi40MSA0OTEuNzk4Myw0NTYuMTg1IDQ4MS43MzczLDQ2OS4wODIgQzQ3NC4yNDQzLDQ3OC42OSA0NjQuMDA2Myw0ODcuODE5IDQ1MS4zMDkzLDQ5Ni4yMiBDNDMwLjUwMTMsNTA5Ljk4NSA0MDkuOTAxMyw1MTcuMjkxIDQwOS4wMzQzLDUxNy41OTUgTDQwMy43MzEzLDUxOS40NTggTDM5OC40MjgzLDUxNy41OTYgQzM5Ny41NjEzLDUxNy4yOTEgMzc2Ljk2NDMsNTA5Ljk4NiAzNTYuMTUzMyw0OTYuMjIgQzM1MS4xNzczLDQ5Mi45MjkgMzQ2LjU4NTMsNDg5LjUyMyAzNDIuMzgyMyw0ODYuMDIyIEMzNDEuMjI4Myw0ODUuODUxIDM0MC4wNzEzLDQ4NS42NzMgMzM4LjkwNDMsNDg1LjQ3OSBDMzM4LjE2OTMsNDg1LjM1NiAzMzcuNDU2Myw0ODUuMjMyIDMzNi43MzQzLDQ4NS4xMDkgQzM0MS45OTEzLDQ4OS44MjMgMzQ3LjkyMzMsNDk0LjM3MiAzNTQuNDk4Myw0OTguNzIyIEMzNzUuNTk1Myw1MTIuNjc4IDM5Ni41NTIzLDUyMC4xMTYgMzk3LjQzNDMsNTIwLjQyNiBMNDAzLjczMTMsNTIyLjYzOCBMNDEwLjAyODMsNTIwLjQyNiBDNDEwLjkxMDMsNTIwLjExNiA0MzEuODY4Myw1MTIuNjc4IDQ1Mi45NjQzLDQ5OC43MjIgQzQ2NS45MzEzLDQ5MC4xNDQgNDc2LjQwODMsNDgwLjc5MiA0ODQuMTAzMyw0NzAuOTI3IEM0OTQuODA1Myw0NTcuMjA3IDUwMC4yMzEzLDQ0Mi40OTEgNTAwLjIzMTMsNDI3LjE4NyBMNTAwLjIzMTMsNDI0LjA0MyBDNDk5LjM1OTMsNDI1LjMgNDk4LjM1NjMsNDI2LjY2NSA0OTcuMjEwMyw0MjguMTI3IiBpZD0iRmlsbC0yNSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDU3LjYxMjcsNDYyLjk5NzEgQzQzOC43NzM3LDQ3NC44MDMxIDQxMC4zMDc3LDQ4Ny4yMjYxIDM3My4yODA3LDQ4OC4wMjIxIEMzODkuMzYyNyw0OTcuMzk3MSA0MDMuNTY1Nyw1MDIuNDQyMSA0MDMuNzI4Nyw1MDIuNDk5MSBMNDAzLjcyOTcsNTAyLjUwMDEgTDQwMy43NDU3LDUwMi40OTQxIEM0MDMuOTM4Nyw1MDIuNDI3MSA0MjMuMjc5Nyw0OTUuNTc4MSA0NDIuNDgwNyw0ODIuODc2MSBDNDUzLjczMjcsNDc1LjQzMjEgNDYyLjY5NjcsNDY3LjQ3OTEgNDY5LjEyMTcsNDU5LjI0MTEgQzQ3MS4zNDE3LDQ1Ni4zOTYxIDQ3My4yNDY3LDQ1My41MTMxIDQ3NC44NTg3LDQ1MC42MDExIEM0NjkuNzQ3Nyw0NTQuNzg4MSA0NjMuOTk4Nyw0NTguOTk1MSA0NTcuNjEyNyw0NjIuOTk3MSIgaWQ9IkZpbGwtMjciIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IkZpbGwtMjkiIGZpbGw9IiNGM0Y4RkYiIHBvaW50cz0iNDAzLjQzMyAzOTYuODYzMyAzNzcuOTM4IDM3MS41MDAzIDM2NC4yMzIgMzg1LjEzNTMgMzg5LjcyNiA0MTAuNTAwMyAzNjQuMjMyIDQzNS44NjMzIDM3Ny45MzggNDQ5LjUwMDMgNDAzLjQzMyA0MjQuMTM1MyA0MjguOTI4IDQ0OS41MDAzIDQ0Mi42MzUgNDM1Ljg2MzMgNDE3LjE0IDQxMC41MDAzIDQ0Mi42MzUgMzg1LjEzNTMgNDI4LjkyOCAzNzEuNTAwMyI+PC9wb2x5Z29uPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDQ0Ljc1MDQsNDMzLjczNjMgTDQ0Ni44ODg0LDQzNS44NjMzIEw0NDQuNzUxNCw0MzcuOTkwMyBMNDMxLjA0NDQsNDUxLjYyNjMgTDQyOC45Mjg0LDQ1My43MzEzIEw0MjYuODEyNCw0NTEuNjI2MyBMNDAzLjQzMzQsNDI4LjM2ODMgTDM4MC4wNTQ0LDQ1MS42MjYzIEwzNzcuOTM3NCw0NTMuNzMxMyBMMzc1LjgyMTQsNDUxLjYyNjMgTDM2Mi4xMTU0LDQzNy45OTAzIEwzNTkuOTc4NCw0MzUuODYzMyBMMzYyLjExNTQsNDMzLjczNjMgTDM4NS40NzI0LDQxMC41MDAzIEwzNjIuMTE1NCwzODcuMjYyMyBMMzU5Ljk3ODQsMzg1LjEzNTMgTDM2Mi4xMTU0LDM4My4wMDgzIEwzNzUuODIxNCwzNjkuMzczMyBMMzc3LjkzNzQsMzY3LjI2NzMgTDM4MC4wNTQ0LDM2OS4zNzMzIEw0MDMuNDMzNCwzOTIuNjMyMyBMNDI2LjgxMjQsMzY5LjM3MzMgTDQyOC45Mjg0LDM2Ny4yNjczIEw0MzEuMDQ0NCwzNjkuMzczMyBMNDQ0Ljc1MTQsMzgzLjAwODMgTDQ0Ni44ODg0LDM4NS4xMzUzIEw0NDQuNzUwNCwzODcuMjYyMyBMNDIxLjM5NDQsNDEwLjUwMDMgTDQ0NC43NTA0LDQzMy43MzYzIFogTTQwMy43MzE0LDMxOC41MDAzIEwzMjYuMjMxNCwzNDYuMzg0MyBMMzI2LjIzMTQsNDI3LjE4NjMgQzMyNi4yMzE0LDQzOC4xNTUzIDMzMC4zMDY0LDQ0OC45NDAzIDMzOC4zMzk0LDQ1OS4yNDAzIEMzNDIuNzc2NCw0NjQuOTI4MyAzNDguNDIzNCw0NzAuNDc4MyAzNTUuMTkxNCw0NzUuODE3MyBDMzk1LjAzMDQsNDc4LjI3MDMgNDMwLjI5MDQsNDY3LjgzOTMgNDYwLjAxOTQsNDQ0Ljc3NDMgQzQ2Ny4zODA0LDQzOS4wNjMzIDQ3NC40NTI0LDQzMi41MzIzIDQ4MS4yMzE0LDQyNS4yMDkzIEw0ODEuMjMxNCwzNDYuMzg0MyBMNDAzLjczMTQsMzE4LjUwMDMgWiIgaWQ9IkZpbGwtMzEiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9IkZpbGwtMzMiIGZpbGw9IiNBM0IxQkYiIHBvaW50cz0iNDQyLjYzNTEgNDM1Ljg2MzMgNDI4LjkyODEgNDQ5LjUwMDMgNDAzLjQzMzEgNDI0LjEzNTMgMzc3LjkzODEgNDQ5LjUwMDMgMzY0LjIzMTEgNDM1Ljg2MzMgMzg5LjcyNjEgNDEwLjUwMDMgMzY0LjIzMTEgMzg1LjEzNTMgMzc3LjkzODEgMzcxLjUwMDMgNDAzLjQzMzEgMzk2Ljg2MzMgNDI4LjkyODEgMzcxLjUwMDMgNDQyLjYzNTEgMzg1LjEzNTMgNDE3LjE0MDEgNDEwLjUwMDMiPjwvcG9seWdvbj4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwNS4wNDE0LDU3OS41IEMxMDYuNDIyNCw1NzkuNSAxMDcuNTQxNCw1ODAuNjE5IDEwNy41NDE0LDU4MiBMMTA3LjU0MTQsNTkyIEMxMDcuNTQxNCw1OTMuMzggMTA2LjQyMjQsNTk0LjUgMTA1LjA0MTQsNTk0LjUgQzEwMy42NjE0LDU5NC41IDEwMi41NDE0LDU5My4zOCAxMDIuNTQxNCw1OTIgTDEwMi41NDE0LDU4MiBDMTAyLjU0MTQsNTgwLjYxOSAxMDMuNjYxNCw1NzkuNSAxMDUuMDQxNCw1NzkuNSBMMTA1LjA0MTQsNTc5LjUgWiBNOTQuNTQxNCw1NjkgQzk1LjkyMjQsNTY5IDk3LjA0MTQsNTcwLjExOSA5Ny4wNDE0LDU3MS41IEM5Ny4wNDE0LDU3Mi44OCA5NS45MjI0LDU3NCA5NC41NDE0LDU3NCBMODQuNTQxNCw1NzQgQzgzLjE2MTQsNTc0IDgyLjA0MTQsNTcyLjg4IDgyLjA0MTQsNTcxLjUgQzgyLjA0MTQsNTcwLjExOSA4My4xNjE0LDU2OSA4NC41NDE0LDU2OSBMOTQuNTQxNCw1NjkgWiBNMTI1LjU0MTQsNTY5IEMxMjYuOTIyNCw1NjkgMTI4LjA0MTQsNTcwLjExOSAxMjguMDQxNCw1NzEuNSBDMTI4LjA0MTQsNTcyLjg4IDEyNi45MjI0LDU3NCAxMjUuNTQxNCw1NzQgTDExNS41NDE0LDU3NCBDMTE0LjE2MTQsNTc0IDExMy4wNDE0LDU3Mi44OCAxMTMuMDQxNCw1NzEuNSBDMTEzLjA0MTQsNTcwLjExOSAxMTQuMTYxNCw1NjkgMTE1LjU0MTQsNTY5IEwxMjUuNTQxNCw1NjkgWiBNMTA1LjA0MTQsNTQ4LjUgQzEwNi40MjI0LDU0OC41IDEwNy41NDE0LDU0OS42MTkgMTA3LjU0MTQsNTUxIEwxMDcuNTQxNCw1NjEgQzEwNy41NDE0LDU2Mi4zOCAxMDYuNDIyNCw1NjMuNSAxMDUuMDQxNCw1NjMuNSBDMTAzLjY2MTQsNTYzLjUgMTAyLjU0MTQsNTYyLjM4IDEwMi41NDE0LDU2MSBMMTAyLjU0MTQsNTUxIEMxMDIuNTQxNCw1NDkuNjE5IDEwMy42NjE0LDU0OC41IDEwNS4wNDE0LDU0OC41IEwxMDUuMDQxNCw1NDguNSBaIiBpZD0iRmlsbC0zNSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzIxLjA0MTQsMTg3LjUgQzMyMi40MjI0LDE4Ny41IDMyMy41NDE0LDE4OC42MTkgMzIzLjU0MTQsMTkwIEwzMjMuNTQxNCwyMDAgQzMyMy41NDE0LDIwMS4zOCAzMjIuNDIyNCwyMDIuNSAzMjEuMDQxNCwyMDIuNSBDMzE5LjY2MTQsMjAyLjUgMzE4LjU0MTQsMjAxLjM4IDMxOC41NDE0LDIwMCBMMzE4LjU0MTQsMTkwIEMzMTguNTQxNCwxODguNjE5IDMxOS42NjE0LDE4Ny41IDMyMS4wNDE0LDE4Ny41IEwzMjEuMDQxNCwxODcuNSBaIE0zMTAuNTQxNCwxNzcgQzMxMS45MjI0LDE3NyAzMTMuMDQxNCwxNzguMTE5IDMxMy4wNDE0LDE3OS41IEMzMTMuMDQxNCwxODAuODggMzExLjkyMjQsMTgyIDMxMC41NDE0LDE4MiBMMzAwLjU0MTQsMTgyIEMyOTkuMTYxNCwxODIgMjk4LjA0MTQsMTgwLjg4IDI5OC4wNDE0LDE3OS41IEMyOTguMDQxNCwxNzguMTE5IDI5OS4xNjE0LDE3NyAzMDAuNTQxNCwxNzcgTDMxMC41NDE0LDE3NyBaIE0zNDEuNTQxNCwxNzcgQzM0Mi45MjI0LDE3NyAzNDQuMDQxNCwxNzguMTE5IDM0NC4wNDE0LDE3OS41IEMzNDQuMDQxNCwxODAuODggMzQyLjkyMjQsMTgyIDM0MS41NDE0LDE4MiBMMzMxLjU0MTQsMTgyIEMzMzAuMTYxNCwxODIgMzI5LjA0MTQsMTgwLjg4IDMyOS4wNDE0LDE3OS41IEMzMjkuMDQxNCwxNzguMTE5IDMzMC4xNjE0LDE3NyAzMzEuNTQxNCwxNzcgTDM0MS41NDE0LDE3NyBaIE0zMjEuMDQxNCwxNTYuNSBDMzIyLjQyMjQsMTU2LjUgMzIzLjU0MTQsMTU3LjYxOSAzMjMuNTQxNCwxNTkgTDMyMy41NDE0LDE2OSBDMzIzLjU0MTQsMTcwLjM4IDMyMi40MjI0LDE3MS41IDMyMS4wNDE0LDE3MS41IEMzMTkuNjYxNCwxNzEuNSAzMTguNTQxNCwxNzAuMzggMzE4LjU0MTQsMTY5IEwzMTguNTQxNCwxNTkgQzMxOC41NDE0LDE1Ny42MTkgMzE5LjY2MTQsMTU2LjUgMzIxLjA0MTQsMTU2LjUgTDMyMS4wNDE0LDE1Ni41IFoiIGlkPSJGaWxsLTM3IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03MDYuNjkzNyw2NDAuOTM4NSBDNzA4LjA3NDcsNjQwLjkzODUgNzA5LjE5MzcsNjQyLjA1NzUgNzA5LjE5MzcsNjQzLjQzODUgTDcwOS4xOTM3LDY1My40Mzg1IEM3MDkuMTkzNyw2NTQuODE5NSA3MDguMDc0Nyw2NTUuOTM4NSA3MDYuNjkzNyw2NTUuOTM4NSBDNzA1LjMxMjcsNjU1LjkzODUgNzA0LjE5MzcsNjU0LjgxOTUgNzA0LjE5MzcsNjUzLjQzODUgTDcwNC4xOTM3LDY0My40Mzg1IEM3MDQuMTkzNyw2NDIuMDU3NSA3MDUuMzEyNyw2NDAuOTM4NSA3MDYuNjkzNyw2NDAuOTM4NSBMNzA2LjY5MzcsNjQwLjkzODUgWiBNNjk2LjE5MzcsNjMwLjQzODUgQzY5Ny41NzQ3LDYzMC40Mzg1IDY5OC42OTM3LDYzMS41NTc1IDY5OC42OTM3LDYzMi45Mzg1IEM2OTguNjkzNyw2MzQuMzE5NSA2OTcuNTc0Nyw2MzUuNDM4NSA2OTYuMTkzNyw2MzUuNDM4NSBMNjg2LjE5MzcsNjM1LjQzODUgQzY4NC44MTI3LDYzNS40Mzg1IDY4My42OTM3LDYzNC4zMTk1IDY4My42OTM3LDYzMi45Mzg1IEM2ODMuNjkzNyw2MzEuNTU3NSA2ODQuODEyNyw2MzAuNDM4NSA2ODYuMTkzNyw2MzAuNDM4NSBMNjk2LjE5MzcsNjMwLjQzODUgWiBNNzI3LjE5MzcsNjMwLjQzODUgQzcyOC41NzQ3LDYzMC40Mzg1IDcyOS42OTM3LDYzMS41NTc1IDcyOS42OTM3LDYzMi45Mzg1IEM3MjkuNjkzNyw2MzQuMzE5NSA3MjguNTc0Nyw2MzUuNDM4NSA3MjcuMTkzNyw2MzUuNDM4NSBMNzE3LjE5MzcsNjM1LjQzODUgQzcxNS44MTI3LDYzNS40Mzg1IDcxNC42OTM3LDYzNC4zMTk1IDcxNC42OTM3LDYzMi45Mzg1IEM3MTQuNjkzNyw2MzEuNTU3NSA3MTUuODEyNyw2MzAuNDM4NSA3MTcuMTkzNyw2MzAuNDM4NSBMNzI3LjE5MzcsNjMwLjQzODUgWiBNNzA2LjY5MzcsNjA5LjkzODUgQzcwOC4wNzQ3LDYwOS45Mzg1IDcwOS4xOTM3LDYxMS4wNTc1IDcwOS4xOTM3LDYxMi40Mzg1IEw3MDkuMTkzNyw2MjIuNDM4NSBDNzA5LjE5MzcsNjIzLjgxOTUgNzA4LjA3NDcsNjI0LjkzODUgNzA2LjY5MzcsNjI0LjkzODUgQzcwNS4zMTI3LDYyNC45Mzg1IDcwNC4xOTM3LDYyMy44MTk1IDcwNC4xOTM3LDYyMi40Mzg1IEw3MDQuMTkzNyw2MTIuNDM4NSBDNzA0LjE5MzcsNjExLjA1NzUgNzA1LjMxMjcsNjA5LjkzODUgNzA2LjY5MzcsNjA5LjkzODUgTDcwNi42OTM3LDYwOS45Mzg1IFoiIGlkPSJGaWxsLTM5IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDIuNjM4MSwxNDcuNzAxMiBDOTkuNjE3MSwxNDcuNzAxMiA5Ni44MDcxLDE0OC4yMjUyIDk0LjQxNTEsMTQ5LjMwOTIgQzkzLjY3MTEsMTUwLjQxMTIgODcuNDk0MSwxNjQuNTYzMiA3NS44ODUxLDE5MS43NjUyIEM3OC4yMjgxLDE5MS41MTQyIDgwLjQ4MjEsMTkxLjM4OTIgODIuNjQ4MSwxOTEuMzg5MiBDOTUuNTAwMSwxOTEuMzg5MiAxMDUuMjQ3MSwxOTUuODA0MiAxMTEuODkwMSwyMDQuNjMzMiBDMTE5LjYzNDEsMjE0LjkyOTIgMTMxLjcwNDEsMjIwLjA3NzIgMTQ4LjA5NTEsMjIwLjA3NzIgTDE0OC4xOTcxLDIyMC4wNzcyIEwxNjYuNjE0MSwxNzguOTc2MiBDMTY1LjAzNDEsMTc5LjA3NDIgMTYzLjUwNDEsMTc5LjEyMzIgMTYyLjAyNDEsMTc5LjEyMzIgQzE0Ny44ODYxLDE3OS4xMjMyIDEzOC4yNTIxLDE3NC42NTkyIDEzMy4xMjAxLDE2NS43MjgyIEMxMjYuNDk3MSwxNTQuMjA1MiAxMTMuMjcxMSwxNDcuNzAyMiAxMDIuNjM4MSwxNDcuNzAxMiBNMTAyLjYzODEsMTUzLjcwMTIgQzExMC45MTExLDE1My43MDIyIDEyMi4yNTIxLDE1OC44NjAyIDEyNy45MTcxLDE2OC43MTkyIEMxMzMuNTYyMSwxNzguNTM4MiAxNDMuNDUxMSwxODMuOTkxMiAxNTcuMzU1MSwxODQuOTY1MiBMMTQ0LjM1NTEsMjEzLjk3NzIgQzEzMS43ODMxLDIxMy4yOTAyIDEyMi43MDgxLDIwOS4wMzQyIDExNi42ODQxLDIwMS4wMjYyIEMxMDkuMzE5MSwxOTEuMjM1MiA5OC43MDUxLDE4NS45OTkyIDg1LjExNDEsMTg1LjQzOTIgQzkzLjY3MTEsMTY1LjQ0ODIgOTcuMjUzMSwxNTcuMzI3MiA5OC43MTQxLDE1NC4xNDkyIEM5OS44OTMxLDE1My44NTQyIDEwMS4yMjAxLDE1My43MDEyIDEwMi42MzgxLDE1My43MDEyIiBpZD0iRmlsbC00MSIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAyLjYzODEsMTQ3LjcwMTIgQzk5LjYxNzEsMTQ3LjcwMTIgOTYuODA3MSwxNDguMjI1MiA5NC40MTUxLDE0OS4zMDkyIEM5My42NzExLDE1MC40MTEyIDg3LjQ5NDEsMTY0LjU2MzIgNzUuODg1MSwxOTEuNzY1MiBDNzguMjI4MSwxOTEuNTE0MiA4MC40ODIxLDE5MS4zODkyIDgyLjY0ODEsMTkxLjM4OTIgQzk1LjUwMDEsMTkxLjM4OTIgMTA1LjI0NzEsMTk1LjgwNDIgMTExLjg5MDEsMjA0LjYzMzIgQzExOS42MzQxLDIxNC45MjkyIDEzMS43MDQxLDIyMC4wNzcyIDE0OC4wOTUxLDIyMC4wNzcyIEwxNDguMTk3MSwyMjAuMDc3MiBMMTY2LjYxNDEsMTc4Ljk3NjIgQzE2NS4wMzQxLDE3OS4wNzQyIDE2My41MDQxLDE3OS4xMjMyIDE2Mi4wMjQxLDE3OS4xMjMyIEMxNDcuODg2MSwxNzkuMTIzMiAxMzguMjUyMSwxNzQuNjU5MiAxMzMuMTIwMSwxNjUuNzI4MiBDMTI2LjQ5NzEsMTU0LjIwNTIgMTEzLjI3MTEsMTQ3LjcwMjIgMTAyLjYzODEsMTQ3LjcwMTIgTTEwMi42MzgxLDE1MC43MDEyIEwxMDIuNjM4MSwxNTAuNzAxMiBDMTExLjc3NTEsMTUwLjcwMjIgMTI0LjI4NTEsMTU2LjM3NzIgMTMwLjUxOTEsMTY3LjIyMzIgQzEzNi4xODcxLDE3Ny4wODcyIDE0Ni43NTExLDE4Mi4wOTkyIDE2MS45MTUxLDE4Mi4xMjMyIEwxNDYuMjYzMSwyMTcuMDU1MiBDMTMxLjY4NDEsMjE2LjY5ODIgMTIxLjIxMjEsMjEyLjAzNTIgMTE0LjI4NjEsMjAyLjgzMDIgQzEwNy4wNzkxLDE5My4yNDgyIDk2LjQzNDEsMTg4LjM4OTIgODIuNjQ4MSwxODguMzg5MiBDODEuOTY3MSwxODguMzg5MiA4MS4yNzUxLDE4OC40MDEyIDgwLjU3NDEsMTg4LjQyNjIgQzkxLjc1NzEsMTYyLjI1OTIgOTUuNDMxMSwxNTQuMDI2MiA5Ni41NjQxLDE1MS42NzIyIEM5OC4zMjkxLDE1MS4wMjcyIDEwMC4zNjgxLDE1MC43MDEyIDEwMi42MzgxLDE1MC43MDEyIiBpZD0iRmlsbC00MyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOTkuMjMyOCwxNDEuMDY0NSBDOTguMjIyOCwxNDAuNjE1NSA5Ny4wNDE4LDE0MS4wNjg1IDk2LjU5MTgsMTQyLjA3ODUgTDUyLjc3NDgsMjQwLjQ5MjUgTDU2LjQ1MDgsMjQyLjA3MDUgTDEwMC4yNDY4LDE0My43MDU1IEMxMDAuNjk1OCwxNDIuNjk1NSAxMDAuMjQxOCwxNDEuNTEzNSA5OS4yMzI4LDE0MS4wNjQ1IiBpZD0iRmlsbC00NSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzQ2LjA3MDcsMjkyLjUgQzMzNS4wMDg3LDI5Mi41IDMyNi4wNDI3LDMwMS40NjcgMzI2LjA0MjcsMzEyLjUyOCBDMzI2LjA0MjcsMzIzLjU5IDMzNS4wMDg3LDMzMi41NTggMzQ2LjA3MDcsMzMyLjU1OCBDMzU3LjEzMjcsMzMyLjU1OCAzNjYuMDk4NywzMjMuNTkgMzY2LjA5ODcsMzEyLjUyOCBDMzY2LjA5ODcsMzAxLjQ2NyAzNTcuMTMyNywyOTIuNSAzNDYuMDcwNywyOTIuNSBNMzQ2LjA3MDcsMjk4LjUgQzM1My44MDU3LDI5OC41IDM2MC4wOTg3LDMwNC43OTMgMzYwLjA5ODcsMzEyLjUyOCBDMzYwLjA5ODcsMzIwLjI2NCAzNTMuODA1NywzMjYuNTU4IDM0Ni4wNzA3LDMyNi41NTggQzMzOC4zMzU3LDMyNi41NTggMzMyLjA0MjcsMzIwLjI2NCAzMzIuMDQyNywzMTIuNTI4IEMzMzIuMDQyNywzMDQuNzkzIDMzOC4zMzU3LDI5OC41IDM0Ni4wNzA3LDI5OC41IiBpZD0iRmlsbC00NyIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzQ2LjA3MDcsMjg5LjUgQzMzMy4zNzI3LDI4OS41IDMyMy4wNDI3LDI5OS44MyAzMjMuMDQyNywzMTIuNTI4IEMzMjMuMDQyNywzMjUuMjI3IDMzMy4zNzI3LDMzNS41NTggMzQ2LjA3MDcsMzM1LjU1OCBDMzU4Ljc2ODcsMzM1LjU1OCAzNjkuMDk4NywzMjUuMjI3IDM2OS4wOTg3LDMxMi41MjggQzM2OS4wOTg3LDI5OS44MyAzNTguNzY4NywyODkuNSAzNDYuMDcwNywyODkuNSBNMzQ2LjA3MDcsMjkyLjUgQzM1Ny4xMzI3LDI5Mi41IDM2Ni4wOTg3LDMwMS40NjcgMzY2LjA5ODcsMzEyLjUyOCBDMzY2LjA5ODcsMzIzLjU5IDM1Ny4xMzI3LDMzMi41NTggMzQ2LjA3MDcsMzMyLjU1OCBDMzM1LjAwODcsMzMyLjU1OCAzMjYuMDQyNywzMjMuNTkgMzI2LjA0MjcsMzEyLjUyOCBDMzI2LjA0MjcsMzAxLjQ2NyAzMzUuMDA4NywyOTIuNSAzNDYuMDcwNywyOTIuNSIgaWQ9IkZpbGwtNDkiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE0NC4wNDIzLDQzMS41IEwxOTQuMDQyMywzNzYuNSBMMTk0LjA0MjMsNDMxLjUgTDE0NC4wNDIzLDQzMS41IFogTTIxMS4xODkzLDMyMi41IEMyMTEuMDU5MywzMjIuNSAyMTAuOTMyMywzMjIuNTE3IDIxMC44MDEzLDMyMi41MTkgQzIxMC41NjMzLDMyMi41MDcgMjEwLjMyMzMsMzIyLjUwMiAyMTAuMDg1MywzMjIuNTAyIEMyMDYuMTIxMywzMjIuNSAyMDIuMTY5MywzMjQuMDk5IDE5OS4zMTUzLDMyNy4yNDUgTDE5OS4wNjAzLDMyNy41MjcgQzE5OC42NDkzLDMyNy45MzcgMTk4LjI2MTMsMzI4LjM2NiAxOTcuODkyMywzMjguODE1IEwxOTUuNDQyMywzMzEuNTE2IEwxNTUuMTkwMywzMzEuNTE2IEMxNTAuNDYwMywzMzEuNTE2IDE0Ni41OTAzLDMzNS4zNzkgMTQ2LjU5MDMsMzQwLjEwMSBDMTQ2LjU5MDMsMzQ0LjgyMiAxNTAuNDYwMywzNDguNjg3IDE1NS4xOTAzLDM0OC42ODcgTDE3Mi4zNDIzLDM0OC42ODcgTDE3My40NjYzLDM0OC42ODcgQzE3OC4xOTYzLDM0OC42ODcgMTgyLjA2NjMsMzUyLjU1IDE4Mi4wNjYzLDM1Ny4yNzEgQzE4Mi4wNjYzLDM2MS45OTMgMTc4LjE5NjMsMzY1Ljg1NiAxNzMuNDY2MywzNjUuODU2IEwxNjQuMjkyMywzNjUuODU2IEwxNjQuMjcwMywzNjUuODgxIEMxNjQuMTExMywzNjUuODczIDE2My45NTMzLDM2NS44NTYgMTYzLjc5MTMsMzY1Ljg1NiBMMTQ5LjgxNTMsMzY1Ljg1NiBMMTIyLjkzOTMsMzY1Ljg1NiBDMTE4LjIwOTMsMzY1Ljg1NiAxMTQuMzM5MywzNjkuNzIgMTE0LjMzOTMsMzc0LjQ0MiBDMTE0LjMzOTMsMzc5LjE2NCAxMTguMjA5MywzODMuMDI3IDEyMi45MzkzLDM4My4wMjcgTDE0OC43MTczLDM4My4wMjcgTDEwMC43NzkzLDQzNS44NzcgQzk1LjQyMTMsNDQxLjc4MiA5NS44NzkzLDQ1MC45OTEgMTAxLjc5NjMsNDU2LjM0IEMxMDQuMDc5Myw0NTguNDAzIDEwNi44NTUzLDQ1OS41OTQgMTA5LjcxMTMsNDU5Ljk0OSBDMTEwLjcxNTMsNDYwLjE3MSAxMTEuNzU1Myw0NjAuMjk2IDExMi44MjMzLDQ2MC4yOTYgTDE5My45ODkzLDQ2MC4yOTYgTDE5My45ODkzLDQ4MS4zMjkgQzE5My45ODkzLDQ5MC43NzIgMjAxLjczMDMsNDk4LjUgMjExLjE4OTMsNDk4LjUgQzIyMC42NTAzLDQ5OC41IDIyOC4zOTEzLDQ5MC43NzIgMjI4LjM5MTMsNDgxLjMyOSBMMjI4LjM5MTMsNDYwLjI5NiBMMjM3LjUyODMsNDYwLjI5NiBDMjQ1LjUxMTMsNDYwLjI5NiAyNTIuMDQyMyw0NTMuNzc2IDI1Mi4wNDIzLDQ0NS44MDggQzI1Mi4wNDIzLDQzNy44NCAyNDUuNTExMyw0MzEuMzIgMjM3LjUyODMsNDMxLjMyIEwyMjguMzkxMyw0MzEuMzIgTDIyOC4zOTEzLDMzOS42NzEgQzIyOC4zOTEzLDMzMC4yMjcgMjIwLjY1MDMsMzIyLjUgMjExLjE4OTMsMzIyLjUgTDIxMS4xODkzLDMyMi41IFogTTEzNy4yNjAzLDQzNC41IEwxNDQuMDQyMyw0MzQuNSBMMTk0LjA0MjMsNDM0LjUgTDE5Ny4wNDIzLDQzNC41IEwxOTcuMDQyMyw0MzEuNSBMMTk3LjA0MjMsMzc2LjUgTDE5Ny4wNDIzLDM2OC43NCBMMTkxLjgyMTMsMzc0LjQ4MSBMMTQxLjgyMTMsNDI5LjQ4MSBMMTM3LjI2MDMsNDM0LjUgTDEzNy4yNjAzLDQzNC41IFogTTIxMS4yMjgzLDMyNS41IEMyMTkuMDQwMywzMjUuNTIgMjI1LjM5MTMsMzMxLjg2OSAyMjUuMzkxMywzMzkuNjcxIEwyMjUuMzkxMyw0MzEuMzIgTDIyNS4zOTEzLDQzNC4zMiBMMjI4LjM5MTMsNDM0LjMyIEwyMzcuNTI4Myw0MzQuMzIgQzI0My44NzczLDQzNC4zMiAyNDkuMDQyMyw0MzkuNDc0IDI0OS4wNDIzLDQ0NS44MDggQzI0OS4wNDIzLDQ1Mi4xNDMgMjQzLjg3NzMsNDU3LjI5NiAyMzcuNTI4Myw0NTcuMjk2IEwyMjguMzkxMyw0NTcuMjk2IEwyMjUuMzkxMyw0NTcuMjk2IEwyMjUuMzkxMyw0NjAuMjk2IEwyMjUuMzkxMyw0ODEuMzI5IEMyMjUuMzkxMyw0ODkuMTQzIDIxOS4wMjEzLDQ5NS41IDIxMS4xODkzLDQ5NS41IEMyMDMuMzU5Myw0OTUuNSAxOTYuOTg5Myw0ODkuMTQzIDE5Ni45ODkzLDQ4MS4zMjkgTDE5Ni45ODkzLDQ2MC4yOTYgTDE5Ni45ODkzLDQ1Ny4yOTYgTDE5My45ODkzLDQ1Ny4yOTYgTDExMi44MjMzLDQ1Ny4yOTYgQzExMi4wMTUzLDQ1Ny4yOTYgMTExLjE4NzMsNDU3LjIwMyAxMTAuMzU4Myw0NTcuMDIxIEwxMTAuMjIxMyw0NTYuOTg5IEwxMTAuMDgxMyw0NTYuOTcyIEMxMDcuNzIwMyw0NTYuNjc5IDEwNS41NTEzLDQ1NS42OSAxMDMuODA4Myw0NTQuMTE0IEMxMDEuNTQwMyw0NTIuMDY1IDEwMC4yMDgzLDQ0OS4yNDIgMTAwLjA1NjMsNDQ2LjE2NiBDOTkuOTAzMyw0NDMuMDkzIDEwMC45NDkzLDQ0MC4xNTQgMTAzLjAwMTMsNDM3Ljg5MyBMMTUwLjkzODMsMzg1LjA0MyBMMTU1LjQ4ODMsMzgwLjAyNyBMMTQ4LjcxNzMsMzgwLjAyNyBMMTIyLjkzOTMsMzgwLjAyNyBDMTE5Ljg1MTMsMzgwLjAyNyAxMTcuMzM5MywzNzcuNTIyIDExNy4zMzkzLDM3NC40NDIgQzExNy4zMzkzLDM3MS4zNjIgMTE5Ljg1MTMsMzY4Ljg1NiAxMjIuOTM5MywzNjguODU2IEwxNDkuODE1MywzNjguODU2IEwxNjMuNzg0MywzNjguODU2IEMxNjMuODI1MywzNjguODU3IDE2My44NjczLDM2OC44NjEgMTYzLjkwNzMsMzY4Ljg2NCBMMTY0LjEyNjMsMzY4Ljg3NyBMMTY1LjUxMzMsMzY4LjkxOSBMMTY1LjU3MTMsMzY4Ljg1NiBMMTczLjQ2NjMsMzY4Ljg1NiBDMTc5Ljg2MjMsMzY4Ljg1NiAxODUuMDY2MywzNjMuNjU5IDE4NS4wNjYzLDM1Ny4yNzEgQzE4NS4wNjYzLDM1MC44ODMgMTc5Ljg2MjMsMzQ1LjY4NyAxNzMuNDY2MywzNDUuNjg3IEwxNzIuMzQyMywzNDUuNjg3IEwxNTUuMTkwMywzNDUuNjg3IEMxNTIuMTAzMywzNDUuNjg3IDE0OS41OTAzLDM0My4xODEgMTQ5LjU5MDMsMzQwLjEwMSBDMTQ5LjU5MDMsMzM3LjAyMSAxNTIuMTAzMywzMzQuNTE2IDE1NS4xOTAzLDMzNC41MTYgTDE5NS40NDIzLDMzNC41MTYgTDE5Ni43NzEzLDMzNC41MTYgTDE5Ny42NjUzLDMzMy41MzEgTDIwMC4xMTMzLDMzMC44MzEgTDIwMC4xNjIzLDMzMC43NzYgTDIwMC4yMDgzLDMzMC43MjEgQzIwMC41MjEzLDMzMC4zNDIgMjAwLjg0NjMsMzI5Ljk4MyAyMDEuMTc3MywzMjkuNjUzIEwyMDEuMjMxMywzMjkuNTk5IEwyMDEuMjg0MywzMjkuNTQxIEwyMDEuNTM4MywzMjkuMjYxIEMyMDMuNzA1MywzMjYuODcyIDIwNi44MjAzLDMyNS41IDIxMC4wODUzLDMyNS41MDIgQzIxMC4yNzUzLDMyNS41MDIgMjEwLjQ2NjMsMzI1LjUwNiAyMTAuNjU1MywzMjUuNTE2IEwyMTAuNzUxMywzMjUuNTIxIEwyMTAuODQ4MywzMjUuNTE5IEMyMTAuOTYwMywzMjUuNTE3IDIxMS4wNzEzLDMyNS41MTEgMjExLjIyODMsMzI1LjUgTDIxMS4yMjgzLDMyNS41IFoiIGlkPSJGaWxsLTUxIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMTYuMzc0NCwzMzIuNSBDMjIxLjM0NTQsMzMyLjUgMjI1LjM3NDQsMzM2LjUyOSAyMjUuMzc0NCwzNDEuNSBMMjI1LjM3NDQsNDIyLjUgQzIyNS4zNzQ0LDQyNy40NzEgMjIxLjM0NTQsNDMxLjUgMjE2LjM3NDQsNDMxLjUgQzIxMS40MDM0LDQzMS41IDIwNy4zNzQ0LDQyNy40NzEgMjA3LjM3NDQsNDIyLjUgTDIwNy4zNzQ0LDM0MS41IEMyMDcuMzc0NCwzMzYuNTI5IDIxMS40MDM0LDMzMi41IDIxNi4zNzQ0LDMzMi41IiBpZD0iRmlsbC01MyIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDQuMDQyMywyMzggQzI2LjY0NTMsMjM4IDEyLjU0MjMsMjUyLjEwMyAxMi41NDIzLDI2OS41IEMxMi41NDIzLDI4Ni44OTYgMjYuNjQ1MywzMDEgNDQuMDQyMywzMDEgQzYxLjQzODMsMzAxIDc1LjU0MjMsMjg2Ljg5NiA3NS41NDIzLDI2OS41IEM3NS41NDIzLDI1Mi4xMDMgNjEuNDM4MywyMzggNDQuMDQyMywyMzggTTQ0LjA0MjMsMjQxIEM1OS43NTczLDI0MSA3Mi41NDIzLDI1My43ODQgNzIuNTQyMywyNjkuNSBDNzIuNTQyMywyODUuMjE1IDU5Ljc1NzMsMjk4IDQ0LjA0MjMsMjk4IEMyOC4zMjczLDI5OCAxNS41NDIzLDI4NS4yMTUgMTUuNTQyMywyNjkuNSBDMTUuNTQyMywyNTMuNzg0IDI4LjMyNzMsMjQxIDQ0LjA0MjMsMjQxIiBpZD0iRmlsbC01NSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDQuMDQxNCwyOTIuNSBDNTYuNzQ0NCwyOTIuNSA2Ny4wNDE0LDI4Mi4yMDIgNjcuMDQxNCwyNjkuNSBDNjcuMDQxNCwyNTYuNzk3IDU2Ljc0NDQsMjQ2LjUgNDQuMDQxNCwyNDYuNSBDMzEuMzM5NCwyNDYuNSAyMS4wNDE0LDI1Ni43OTcgMjEuMDQxNCwyNjkuNSBDMjEuMDQxNCwyODIuMjAyIDMxLjMzOTQsMjkyLjUgNDQuMDQxNCwyOTIuNSIgaWQ9IkZpbGwtNTciIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI2LjA0NTMsMjQzLjg5ODQgTDIzLjQ3MDMsMjQ1Ljk1ODQgQzEzLjA3NzMsMjQyLjcxMTQgNS4zNzgzLDI0Mi40Njc0IDMuMzM4MywyNDYuMDAwNCBDLTAuMjUxNywyNTIuMjE3NCAxNS4wNjIzLDI2Ny43Nzk0IDM3LjU0MTMsMjgwLjc1NzQgQzYwLjAyMjMsMjkzLjczNjQgODEuMTU1MywyOTkuMjE3NCA4NC43NDUzLDI5My4wMDA0IEM4Ni44NDAzLDI4OS4zNzA0IDgyLjQ5NDMsMjgyLjU1NjQgNzQuMDQyMywyNzQuOTMwNCBMNzQuMDQyMywyNzEuMjMxNCBDODQuNjc3MywyODAuNjUyNCA5MC4xODEzLDI4OS41ODU0IDg3LjM0MzMsMjk0LjUwMDQgQzgyLjkyNTMsMzAyLjE1MjQgNTkuOTU2MywyOTcuMTYzNCAzNi4wNDEzLDI4My4zNTY0IEMxMi4xMjczLDI2OS41NDg0IC0zLjY3NzcsMjUyLjE1MjQgMC43NDAzLDI0NC41MDA0IEMzLjQ3MjMsMjM5Ljc2ODQgMTMuMjkzMywyMzkuODY5NCAyNi4wNDUzLDI0My44OTg0IiBpZD0iRmlsbC01OSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjQ2Ljc1OTIsMzE4LjQ5OSBMNjQ2LjcyNzIsMzE4LjQ5OSBDNjMyLjg0MTIsMzE4LjY3IDYyMC43MzAyLDMyMy40NjUgNjEwLjcyODIsMzMyLjc1MyBDNjAxLjQ0NjIsMzQxLjMgNTk1LjczNDIsMzUxLjgxNSA1OTMuNzU3MiwzNjQuMDA0IEM1OTMuNjQyMiwzNjQuNTA3IDU5My40ODQyLDM2NS40MjkgNTkzLjMyMzIsMzY3LjUxMiBMNTkzLjMxNTIsMzY3LjYzMSBMNTkzLjMxNjIsMzY3Ljc1IEM1OTMuMzQzMiwzNzYuNTk3IDYwMC41NzMyLDM4My43OTQgNjA5LjQzMzIsMzgzLjc5NCBDNjE4LjE5MTIsMzgzLjc5NCA2MjUuMzYxMiwzNzYuNzk2IDYyNS41ODUyLDM2OC4xMTggTDYyNS42MzYyLDM2Ny45MDQgQzYyNy4xODEyLDM2MS42NTQgNjI5Ljk2NTIsMzU3LjE3MSA2MzQuMTQyMiwzNTQuMjE2IEw2MzQuMTczMiwzNTQuMTkzIEw2MzQuMjAzMiwzNTQuMTcxIEM2MzguMzE5MiwzNTEuMTAzIDY0Mi43NDcyLDM0OS42MDggNjQ3LjczOTIsMzQ5LjYwMiBDNjU0LjgyOTIsMzQ5Ljc1NSA2NjAuNDI5MiwzNTEuODA4IDY2NC44NTcyLDM1NS44NzcgQzY2OS4yMjgyLDM2MC4wNTkgNjcxLjQyOTIsMzY1LjI4NyA2NzEuNTg4MiwzNzEuODU5IEM2NzEuNTgxMiwzNzguMzEyIDY2OS40NjcyLDM4My4zOTUgNjY1LjEyNjIsMzg3LjM5NSBMNjY1LjEwODIsMzg3LjQxMiBMNjY1LjA4OTIsMzg3LjQzIEM2NjAuNzM3MiwzOTEuNTgyIDY1NC40MDIyLDM5My42ODcgNjQ2LjI1OTIsMzkzLjY4NyBMNjM3LjE5MzIsMzkzLjY5NCBMNjM3LjE1OTIsMzkzLjY5NCBMNjM3LjEyNjIsMzkzLjY5NSBMNjM2LjgzNzIsMzkzLjcwMiBDNjI5LjE1NzIsMzkzLjk3NSA2MjMuMTczMiw0MDAuMTY5IDYyMy4xNzMyLDQwNy44MDYgQzYyMy4xNzMyLDQxNS41ODkgNjI5LjUxNTIsNDIxLjkyMSA2MzcuMzEwMiw0MjEuOTIxIEM2MzcuNDMzMiw0MjEuOTIxIDYzNy41NTYyLDQyMS45MTYgNjM3LjY3OTIsNDIxLjkwOCBMNjM3LjcwMjIsNDIxLjkwNyBMNjQ4LjI3NDIsNDIxLjkwNyBMNjQ4LjgwNjIsNDIxLjkxMSBDNjU1Ljk5ODIsNDIyLjAwNyA2NjEuNzY3Miw0MjQuMDc0IDY2Ni40MTkyLDQyOC4yMzEgQzY3MS4xNjYyLDQzMi41NDggNjczLjU2NDIsNDM4LjU3OSA2NzMuNzI4Miw0NDYuNjUxIEM2NzMuNTY0Miw0NTQuNTQzIDY3MS4xNzkyLDQ2MC40MDcgNjY2LjQzNzIsNDY0LjU3NyBMNjY2LjM5MjIsNDY0LjYxNyBMNjY2LjM0NzIsNDY0LjY1OSBDNjYxLjU5NTIsNDY5LjE5MiA2NTUuODkwMiw0NzEuMzk2IDY0OC45MDMyLDQ3MS4zOTYgQzY0Mi4zNjQyLDQ3MS4zOTYgNjM3LjMyMzIsNDY5Ljc4OCA2MzMuNDg4Miw0NjYuNDggQzYyOS41NzkyLDQ2My4xODkgNjI2LjUxOTIsNDU4LjgxNyA2MjQuMzY4Miw0NTMuNDY0IEM2MjQuMDg2Miw0NTIuNzMgNjIzLjgxMzIsNDUxLjY0NiA2MjMuNTIzMiw0NTAuNDk4IEM2MjIuMTYwMiw0NDUuMDk1IDYxOS44ODAyLDQzNi4wNSA2MDguMzE2Miw0MzUuOTU2IEM1OTkuMzMxMiw0MzUuOTU2IDU5Mi4wNDIyLDQ0My4yMzQgNTkyLjA0MjIsNDUyLjE4MSBDNTkyLjA0MjIsNDUzLjExNCA1OTIuMTI3Miw0NTQuMDQ3IDU5Mi4zMDMyLDQ1NS4wMyBMNTkyLjMwNDIsNDU1LjA0MSBMNTkyLjMyMTIsNDU1LjEzNyBDNTkyLjM2MzIsNDU1LjM2OSA1OTIuNDEzMiw0NTUuNTk5IDU5Mi40NjcyLDQ1NS44MjkgQzU5NS41MTEyLDQ3MC43MyA2MDIuMTM2Miw0ODIuMzMzIDYxMi4xNTkyLDQ5MC4zMTUgQzYyMi4zMTIyLDQ5OC40IDYzNC4xMjIyLDUwMi41IDY0Ny4yNjcyLDUwMi41IEM2NjQuMTg5Miw1MDIuMzMgNjc4LjI0NzIsNDk3LjA5NCA2ODkuMDgzMiw0ODYuOTM1IEM2OTAuMjk2Miw0ODUuODQxIDY5MS40NTcyLDQ4NC42ODkgNjkyLjU0NjIsNDgzLjUgTDcyNi4wNDIyLDQ4My41IEM3MzEuMDA0Miw0ODMuNSA3MzUuMDQyMiw0NzkuNDYyIDczNS4wNDIyLDQ3NC41IEM3MzUuMDQyMiw0NjkuNTM3IDczMS4wMDQyLDQ2NS41IDcyNi4wNDIyLDQ2NS41IEw2OTguNjg1Miw0NjUuNSBMNjk4LjA0MzIsNDY1LjUgQzY5My4wNzkyLDQ2NS41IDY4OS4wNDIyLDQ2MS40NjIgNjg5LjA0MjIsNDU2LjUgQzY4OS4wNDIyLDQ1MS41MzcgNjkzLjA3OTIsNDQ3LjUgNjk4LjA0MjIsNDQ3LjUgTDc0MC4wNDIyLDQ0Ny41IEw3NDguMDQyMiw0NDcuNSBDNzUzLjAwNDIsNDQ3LjUgNzU3LjA0MjIsNDQzLjQ2MiA3NTcuMDQyMiw0MzguNSBDNzU3LjA0MjIsNDMzLjUzNyA3NTMuMDA0Miw0MjkuNSA3NDguMDQyMiw0MjkuNSBMNzAzLjMxOTIsNDI5LjUgQzcwMi42MjEyLDQyNy40NjYgNzAxLjc4ODIsNDI1LjQ0OSA3MDAuODI5Miw0MjMuNDc5IEw3MDAuODE2Miw0MjMuNDUyIEw3MDAuODAyMiw0MjMuNDI2IEM2OTcuNzA4Miw0MTcuMzggNjkyLjk3MzIsNDEyLjAyMiA2ODYuNjk1Miw0MDcuNDUzIEM2OTIuNzY3Miw0MDIuODg3IDY5Ny4xODAyLDM5Ny43MjkgNjk5LjgzODIsMzkyLjA3OSBMNjk5Ljg3NDIsMzkyLjAwMyBMNjk5LjkwNTIsMzkxLjkyNCBDNzAyLjU1NzIsMzg1LjM1MSA3MDMuOTAyMiwzNzguNDI3IDcwMy45MDIyLDM3MS4zNDUgQzcwMy43MjQyLDM1Ny4yOTEgNjk4LjYxMzIsMzQ0Ljk2NiA2ODguNzExMiwzMzQuNjczIEM2NzguMzM5MiwzMjQuMTAzIDY2NC4yNDEyLDMxOC42NjggNjQ2Ljc5MjIsMzE4LjQ5OSBMNjQ2Ljc1OTIsMzE4LjQ5OSBaIE02NDYuNzYzMiwzMjEuNSBDNjYzLjQ2NjIsMzIxLjY2MSA2NzYuNzI4MiwzMjYuNzQ1IDY4Ni41NDkyLDMzNi43NTMgQzY5NS45NDgyLDM0Ni41MjMgNzAwLjczNDIsMzU4LjA1NCA3MDAuOTAyMiwzNzEuMzQ1IEM3MDAuOTAyMiwzNzguMDY5IDY5OS42NDMyLDM4NC41NTYgNjk3LjEyNDIsMzkwLjgwMiBDNjk0LjE4NTIsMzk3LjA0OCA2ODguOTQxMiw0MDIuNjEzIDY4MS4zODYyLDQwNy40OTYgQzY4OS4xMDkyLDQxMi4zMDEgNjk0LjY4OTIsNDE4LjA2NSA2OTguMTMyMiw0MjQuNzkyIEM2OTkuMzYxMiw0MjcuMzE2IDcwMC4zNTkyLDQyOS44ODYgNzAxLjEyNTIsNDMyLjUgTDc0OC4wNDIyLDQzMi41IEM3NTEuMzU1Miw0MzIuNSA3NTQuMDQyMiw0MzUuMTg2IDc1NC4wNDIyLDQzOC41IEM3NTQuMDQyMiw0NDEuODEzIDc1MS4zNTUyLDQ0NC41IDc0OC4wNDIyLDQ0NC41IEw3NDAuMDQyMiw0NDQuNSBMNjk4LjA0MjIsNDQ0LjUgQzY5MS40MTQyLDQ0NC41IDY4Ni4wNDIyLDQ0OS44NzIgNjg2LjA0MjIsNDU2LjUgQzY4Ni4wNDIyLDQ2My4xMjcgNjkxLjQxNDIsNDY4LjUgNjk4LjA0MjIsNDY4LjUgTDY5OC42ODUyLDQ2OC41IEw3MjYuMDQyMiw0NjguNSBDNzI5LjM1NTIsNDY4LjUgNzMyLjA0MjIsNDcxLjE4NiA3MzIuMDQyMiw0NzQuNSBDNzMyLjA0MjIsNDc3LjgxMyA3MjkuMzU1Miw0ODAuNSA3MjYuMDQyMiw0ODAuNSBMNjkxLjIwMTIsNDgwLjUgQzY4OS45MjIyLDQ4MS45NzggNjg4LjUzOTIsNDgzLjM4NyA2ODcuMDUyMiw0ODQuNzI2IEM2NzYuNzI4Miw0OTQuNDE2IDY2My40NjYyLDQ5OS4zMzcgNjQ3LjI2NzIsNDk5LjUgQzYzNC43NTkyLDQ5OS41IDYyMy42ODAyLDQ5NS42NTUgNjE0LjAyOTIsNDg3Ljk2OSBDNjA0LjUxMjIsNDgwLjM5MSA1OTguMzA2Miw0NjkuNDYxIDU5NS4zOTgyLDQ1NS4xODggQzU5NS4zNTMyLDQ1NC45OTIgNTk1LjMwOTIsNDU0Ljc5NiA1OTUuMjczMiw0NTQuNTk5IEM1OTUuMjczMiw0NTQuNTk0IDU5NS4yNzEyLDQ1NC41ODcgNTk1LjI3MDIsNDU0LjU3OSBDNTk1LjEyNjIsNDUzLjggNTk1LjA0MjIsNDUzLjAwMiA1OTUuMDQyMiw0NTIuMTgxIEM1OTUuMDQyMiw0NDQuODc3IDYwMC45NzQyLDQzOC45NTYgNjA4LjI5MjIsNDM4Ljk1NiBDNjE5Ljc0MTIsNDM5LjA0OSA2MTkuNzAwMiw0NDkuNjg2IDYyMS41ODQyLDQ1NC41ODIgQzYyMy45MzMyLDQ2MC40MjcgNjI3LjI0OTIsNDY1LjE0OSA2MzEuNTI5Miw0NjguNzUyIEM2MzUuODkzMiw0NzIuNTE3IDY0MS42ODMyLDQ3NC4zOTYgNjQ4LjkwMzIsNDc0LjM5NiBDNjU2LjYyNTIsNDc0LjM5NiA2NjMuMTMwMiw0NzEuODc1IDY2OC40MTgyLDQ2Ni44MyBDNjczLjc5MDIsNDYyLjEwNiA2NzYuNTYwMiw0NTUuMzgxIDY3Ni43MjgyLDQ0Ni42NTEgQzY3Ni41NjAyLDQzNy43NjQgNjczLjc5MDIsNDMwLjg3OSA2NjguNDE4Miw0MjUuOTk0IEM2NjMuMjUxMiw0MjEuMzc3IDY1Ni43MTkyLDQxOS4wMTYgNjQ4LjgyNjIsNDE4LjkxMSBMNjQ4LjI3NDIsNDE4LjkwNyBMNjM3LjYzMzIsNDE4LjkwNyBDNjM3LjUyNTIsNDE4LjkxIDYzNy40MTgyLDQxOC45MjEgNjM3LjMxMDIsNDE4LjkyMSBDNjMxLjE1OTIsNDE4LjkyMSA2MjYuMTczMiw0MTMuOTQ0IDYyNi4xNzMyLDQwNy44MDYgQzYyNi4xNzMyLDQwMS44MDEgNjMwLjk0MzIsMzk2LjkxMyA2MzYuOTA1MiwzOTYuNzAxIEw2MzcuMTk1MiwzOTYuNjk0IEw2NDYuMjU5MiwzOTYuNjg3IEM2NTUuMjQwMiwzOTYuNjg3IDY2Mi4yMDYyLDM5NC4zMjYgNjY3LjE1OTIsMzg5LjYwMSBDNjcyLjExMjIsMzg1LjAzNyA2NzQuNTg4MiwzNzkuMTExIDY3NC41ODgyLDM3MS44MjQgQzY3NC40MTkyLDM2NC40NTggNjcxLjg2MDIsMzU4LjQxNCA2NjYuOTA3MiwzNTMuNjg4IEM2NjEuOTU0MiwzNDkuMTI1IDY1NS41NzcyLDM0Ni43NjQgNjQ3Ljc3MDIsMzQ2LjYwMiBDNjQyLjE0NjIsMzQ2LjYwMiA2MzcuMDI2MiwzNDguMzI1IDYzMi40MDkyLDM1MS43NjcgQzYyNy42NjMyLDM1NS4xMjQgNjI0LjQzMzIsMzYwLjI3IDYyMi43MjAyLDM2Ny4yMDQgTDYyMi41OTEyLDM2Ny43NDEgQzYyMi41NjgyLDM3NC45NTQgNjE2LjY2NTIsMzgwLjc5NCA2MDkuNDMzMiwzODAuNzk0IEM2MDIuMjAxMiwzODAuNzk0IDU5Ni4zMzgyLDM3NC45NTQgNTk2LjMxNjIsMzY3Ljc0MSBDNTk2LjQzMzIsMzY2LjIxMyA1OTYuNTYxMiwzNjUuMTYxIDU5Ni43MDEyLDM2NC41ODcgQzU5OC41NjAyLDM1Mi45ODkgNjAzLjkxMTIsMzQzLjEwOCA2MTIuNzcwMiwzMzQuOTUxIEM2MjIuMjUzMiwzMjYuMTQ0IDYzMy41ODUyLDMyMS42NjEgNjQ2Ljc2MzIsMzIxLjUgTDY0Ni43NjMyLDMyMS41IFoiIGlkPSJGaWxsLTYxIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01NjIuNjU4NiwyMzcuMjczNCBDNTQ0LjQ1NDYsMjM3LjI3MzQgNTQ3LjUwMDYsMjQ5LjgxMzQgNTQyLjUxNjYsMjU3LjAwMjQgQzUzNy4zNjY2LDI2NC40MzE0IDUyNy44NjI2LDI2OC41NzU0IDU0MS4yNTU2LDI3NC45NTE0IEM1NTQuNjQ3NiwyODEuMzI4NCA1NTIuNjQwNiwyOTQuMTU2NCA1NDIuNzcyNiwyOTcuMTcyNCBDNTMyLjkwMzYsMzAwLjE5MDQgNTMyLjY2MzYsMzA5Ljc0ODQgNTM2LjAwMjYsMzE1LjM2NjQgQzUzOC4yMjc2LDMxOS4xMTI0IDUzOC42MDg2LDMyNS40MjI0IDUzNy4xNDQ2LDMzNC4yOTk0IEM0OTkuMTc1Niw0MjkuODkxNCA0NDIuMzM4Niw0NzcuNjg0NCAzNjYuNjI3Niw0NzcuNjg0NCBDMzYyLjE0MzYsNDc3LjY4NDQgMzU3LjU5MTYsNDc3LjUxNjQgMzUyLjk3NDYsNDc3LjE4MTQgQzI3OC43MzA2LDQ3MS4wNzk0IDI2NC40Nzk2LDQ1OC41NTU0IDMxMC4yMjE2LDQzOS42MTE0IEMyNjEuODQxNiw0NTcuOTIyNCAyNzEuNDg0Niw0NzIuNzE4NCAzMzkuMTUxNiw0ODMuOTk5NCBDMzQ5Ljg1NjYsNDg1Ljc4MzQgMzYwLjA1MjYsNDg2LjU4ODQgMzY5Ljc0NTYsNDg2LjU4ODQgQzQ1MS45NjM2LDQ4Ni41ODg0IDQ5Ny41Njg2LDQyOC41NjQ0IDUwMi40MzI2LDQxNy40MTA0IEM1MDcuODY5Niw0MDQuOTQxNCA1MTQuMDE0NiwzOTcuNDU0NCA1MjIuNDY3NiwzODkuODA0NCBDNTMwLjkxOTYsMzgyLjE1NTQgNTMwLjA1MjYsMzczLjIxMTQgNTM0LjU3NTYsMzY3LjE1OTQgQzUzOS4wOTg2LDM2MS4xMDY0IDU0My4zNzM2LDM2Mi4zODU0IDU0OC44ODY2LDM1MC40MjI0IEM1NTQuMzk5NiwzMzguNDYxNCA1NTkuODczNiwzNDguODIxNCA1NjMuMTgzNiwzMzQuMjkwNCBDNTY0LjI2MTYsMzI5LjU2MjQgNTY2LjE1ODYsMzI4LjQ1OTQgNTY4LjE4NjYsMzI4LjQ1OTQgQzU2OS45NjY2LDMyOC40NjA0IDU3MS44NDU2LDMyOS4zMDc0IDU3My4zNjA2LDMyOS4zMDc0IEM1NzUuNDI5NiwzMjkuMzA3NCA1NzYuODIwNiwzMjcuNzI0NCA1NzYuMzQ5NiwzMjAuMjQwNCBDNTc1LjEzOTYsMzAxLjAyMDQgNTc0Ljk3NzYsMjk0LjQyMjQgNTgzLjkyNzYsMjg0LjY1NzQgQzU5Mi44Nzc2LDI3NC44OTE0IDU4NC44NjM2LDIzOC4yMDE0IDU2NC41NTI2LDIzNy4zMTY0IEM1NjMuODk2NiwyMzcuMjg4NCA1NjMuMjY1NiwyMzcuMjczNCA1NjIuNjU4NiwyMzcuMjczNCBNNTAzLjQ0NzYsNDA2LjQ4ODQgQzUwMS44Mjc2LDQwOS4yODI0IDUwMC4yNzA2LDQxMi4zNjA0IDQ5OC43NjU2LDQxNS44MTE0IEM0OTcuMzI5Niw0MTkuMTA1NCA0ODYuNDExNiw0MzYuMDYyNCA0NjIuNzczNiw0NTIuOTI2NCBDNDQzLjgwNjYsNDY2LjQ1ODQgNDEyLjI3MDYsNDgyLjU4ODQgMzY5Ljc0NTYsNDgyLjU4ODQgQzM1OS45NzQ2LDQ4Mi41ODg0IDM0OS45MDI2LDQ4MS43MzY0IDMzOS44MDg2LDQ4MC4wNTM0IEMzMzkuNDY4Niw0NzkuOTk3NCAzMzkuMTMwNiw0NzkuOTM5NCAzMzguNzkzNiw0NzkuODgyNCBDMzQzLjEwMjYsNDgwLjMzMzQgMzQ3LjcyNDYsNDgwLjc2MjQgMzUyLjY4NDYsNDgxLjE3MDQgQzM1Ny4zNzc2LDQ4MS41MTE0IDM2Mi4wNjc2LDQ4MS42ODQ0IDM2Ni42Mjc2LDQ4MS42ODQ0IEM0MDUuMjczNiw0ODEuNjg0NCA0MzkuNTg2Niw0NjkuMzA4NCA0NjguNjEzNiw0NDQuOTAwNCBDNDgxLjA4NTYsNDM0LjQxMzQgNDkyLjcxNDYsNDIxLjU4MjQgNTAzLjQ0NzYsNDA2LjQ4ODQgTTU2Mi42NTg2LDI0MS4yNzM0IEM1NjMuMjEwNiwyNDEuMjczNCA1NjMuNzg4NiwyNDEuMjg2NCA1NjQuMzc4NiwyNDEuMzEyNCBDNTczLjQ2NjYsMjQxLjcwODQgNTc4LjUyMDYsMjUxLjU4MjQgNTgwLjI3MDYsMjU1LjgwODQgQzU4NC43OTY2LDI2Ni43MzQ0IDU4NC4yNzY2LDI3OC4zNTY0IDU4MC45Nzg2LDI4MS45NTU0IEM1NzAuNjQxNiwyOTMuMjMyNCA1NzEuMTc5NiwzMDEuNzc1NCA1NzIuMzU3NiwzMjAuNDkxNCBDNTcyLjUwOTYsMzIyLjg5MjQgNTcyLjQzMTYsMzI0LjMwOTQgNTcyLjMyMzYsMzI1LjExNzQgQzU3Mi4xODE2LDMyNS4wODU0IDU3Mi4wNDI2LDMyNS4wNTA0IDU3MS45MTU2LDMyNS4wMjA0IEM1NzAuODc4NiwzMjQuNzcwNCA1NjkuNTg3NiwzMjQuNDYwNCA1NjguMTg4NiwzMjQuNDU5NCBDNTY1LjA1NTYsMzI0LjQ1OTQgNTYwLjk2ODYsMzI2LjAwOTQgNTU5LjI4NDYsMzMzLjQwMTQgQzU1OC4wNDY2LDMzOC44MzM0IDU1Ny4xMjI2LDMzOS4wOTI0IDU1NS4yODA2LDMzOS42MTE0IEM1NTEuODk5NiwzNDAuNTYxNCA1NDguMzQxNiwzNDIuMDUwNCA1NDUuMjUzNiwzNDguNzQ5NCBDNTQyLjE4NDYsMzU1LjQwODQgNTM5LjgzNjYsMzU3LjE4ODQgNTM3LjExNjYsMzU5LjI1MDQgQzUzNS4zNjA2LDM2MC41ODE0IDUzMy4zNzA2LDM2Mi4wODg0IDUzMS4zNzE2LDM2NC43NjQ0IEM1MjkuMjAwNiwzNjcuNjY5NCA1MjguMTAxNiwzNzAuOTY0NCA1MjcuMDQwNiwzNzQuMTUyNCBDNTI1LjUzOTYsMzc4LjY1NzQgNTI0LjEyMTYsMzgyLjkxMjQgNTE5Ljc4MjYsMzg2LjgzODQgQzUxNi4wNjA2LDM5MC4yMDg0IDUxMi42NDk2LDM5My42MzM0IDUwOS40ODQ2LDM5Ny42MTU0IEM1MjEuMTA0NiwzNzkuNzczNCA1MzEuNTg5NiwzNTkuMTIxNCA1NDAuODYyNiwzMzUuNzc3NCBMNTQxLjAyMDYsMzM1LjM3NjQgTDU0MS4wOTE2LDMzNC45NTE0IEM1NDIuNzI4NiwzMjUuMDIyNCA1NDIuMTg4NiwzMTcuOTQ4NCA1MzkuNDQwNiwzMTMuMzIzNCBDNTM4LjAwMTYsMzEwLjkwMTQgNTM3LjY2MTYsMzA3LjgxMDQgNTM4LjU3NDYsMzA1LjQ1MDQgQzUzOS4zOTE2LDMwMy4zMzU0IDU0MS4xOTg2LDMwMS44MzY0IDU0My45NDE2LDMwMC45OTg0IEM1NTAuMDQwNiwyOTkuMTMzNCA1NTQuMjYyNiwyOTQuMTEyNCA1NTQuNzAwNiwyODguMjA2NCBDNTU1LjIwNDYsMjgxLjM4MDQgNTUwLjgyMTYsMjc1LjA3NjQgNTQyLjk3NDYsMjcxLjMzOTQgQzUzOS41Mjk2LDI2OS42OTk0IDUzOC42MzE2LDI2OC42MjI0IDUzOC40MzQ2LDI2OC4zMjU0IEM1MzguNjkwNiwyNjcuNDg4NCA1NDAuNDE4NiwyNjUuNjEwNCA1NDEuNTc5NiwyNjQuMzQ3NCBDNTQyLjkzNDYsMjYyLjg3NDQgNTQ0LjQ3MTYsMjYxLjIwMzQgNTQ1LjgwNDYsMjU5LjI4MTQgQzU0Ny41MzQ2LDI1Ni43ODU0IDU0OC40MDk2LDI1NC4wMjI0IDU0OS4yNTY2LDI1MS4zNTE0IEM1NTEuMTc5NiwyNDUuMjgzNCA1NTIuNDQ4NiwyNDEuMjczNCA1NjIuNjU4NiwyNDEuMjczNCIgaWQ9IkZpbGwtNjMiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI4Mi42ODY5LDQ1Ny4xNjYgQzI4MS42Njk5LDQ1OC43IDI4MS4zNzg5LDQ2MC4wMjIgMjgxLjQ4ODksNDYxLjEzMSBDMjgyLjAyNTksNDY2LjU3NCAyOTIuNTA3OSw0NzQuNzAzIDMzOS4zOTg5LDQ4Mi41MiBDMzkyLjU0MzksNDkxLjM4IDQzMi4xNTI5LDQ3NS40MTEgNDU2LjAxODksNDYwLjQ1NSBDNDgzLjMyNDksNDQzLjM0NSA0OTguNTg2OSw0MjIuNDc3IDUwMS4wNTc5LDQxNi44MTEgQzUwNi44Mjc5LDQwMy41NzcgNTEzLjM4NjksMzk1Ljk5OSA1MjEuNDU5OSwzODguNjkyIEM1MjYuMjg2OSwzODQuMzI1IDUyNy44NzQ5LDM3OS41NTYgNTI5LjQxMjksMzc0Ljk0MiBDNTMwLjQ1NzksMzcxLjgwNiA1MzEuNDQ0OSwzNjguODQ0IDUzMy4zNzM5LDM2Ni4yNjEgQzUzNS4xNjI5LDM2My44NjggNTM2LjkyMzksMzYyLjUzMyA1MzguNjI2OSwzNjEuMjQyIEM1NDEuMzYzOSwzNTkuMTY4IDU0NC4xOTM5LDM1Ny4wMjIgNTQ3LjUyNDksMzQ5Ljc5NSBDNTUwLjM4NjksMzQzLjU4NCA1NTMuNDc1OSwzNDIuNzE2IDU1NS45NTc5LDM0Mi4wMTggQzU1OC4zOTM5LDM0MS4zMzMgNTYwLjE1MzksMzQwLjgzOCA1NjEuNzIwOSwzMzMuOTU4IEM1NjIuNDM3OSwzMzAuODEyIDU2My41OTU5LDMyOC43ODEgNTY1LjI2MDksMzI3Ljc0OCBDNTY3LjMwNjksMzI2LjQ4MSA1NjkuNTM4OSwzMjcuMDE4IDU3MS4zMzA5LDMyNy40NTEgQzU3Mi40NDM5LDMyNy43MiA1NzMuNTg5OSwzMjcuOTk1IDU3NC4wMjM5LDMyNy42MzIgQzU3NC4zOTE5LDMyNy4zMjMgNTc1LjIwODksMzI1Ljk5MyA1NzQuODUyOSwzMjAuMzM0IEM1NzMuNjg3OSwzMDEuODA3IDU3My4yMDU5LDI5NC4xMzggNTgyLjgyMTksMjgzLjY0NCBDNTg3LjI1ODksMjc4LjgwMiA1ODcuMTUwOSwyNjUuODg2IDU4Mi41ODA5LDI1NC44NTIgQzU3OC40OTI5LDI0NC45ODMgNTcxLjg5NzksMjM5LjEzOCA1NjQuNDg3OSwyMzguODE1IEM1NTAuODE1OSwyMzguMjE1IDU0OC45NzY5LDI0My45NTQgNTQ2Ljg3MjksMjUwLjU5NiBDNTQ2LjA4MjksMjUzLjA5MSA1NDUuMjY0OSwyNTUuNjcxIDU0My43NDg5LDI1Ny44NTcgQzU0Mi41MTQ5LDI1OS42MzcgNTQxLjA0MDksMjYxLjI0IDUzOS43Mzg5LDI2Mi42NTUgQzUzNy41MzI5LDI2NS4wNTQgNTM1LjYyNjksMjY3LjEyNiA1MzUuOTQ2OSwyNjguNzc1IEM1MzYuMjI4OSwyNzAuMjI4IDUzOC4yMzE5LDI3MS44NTEgNTQxLjg5OTksMjczLjU5NyBDNTQ4Ljc3OTksMjc2Ljg3MyA1NTIuNjMxOSwyODIuMjY2IDU1Mi4yMDY5LDI4OC4wMjIgQzU1MS44Mzk5LDI5Mi45NjcgNTQ4LjM5MzksMjk3LjAyMyA1NDMuMjEwOSwyOTguNjA3IEM1MzkuNzQ1OSwyOTkuNjY3IDUzNy4zMzU5LDMwMS43MjIgNTM2LjI0MjksMzA0LjU0OSBDNTM1LjA2MzksMzA3LjU5OCA1MzUuNDc1OSwzMTEuNTQzIDUzNy4yOTE5LDMxNC42IEM1MzkuNzI1OSwzMTguNjk4IDU0MC4xNjI5LDMyNS4yMjIgNTM4LjYyNDksMzM0LjU0NCBMNTM4LjUzOTksMzM0Ljg1MyBDNTE4LjQyMjksMzg1LjQ5NSA0OTIuNjIzOSw0MjMuMjc1IDQ2MS44NTc5LDQ0Ny4xNDUgQzQzMS4wMDQ5LDQ3MS4wODEgMzk0LjMyOTksNDgxLjY4NyAzNTIuODY2OSw0NzguNjc4IEMyOTEuODMwOSw0NzMuNjYxIDI4My41NTU5LDQ2NS4zMSAyODIuNjQwOSw0NTkuNDY0IEMyODIuNTIxOSw0NTguNzAzIDI4Mi41MzY5LDQ1Ny45MzcgMjgyLjY4NjksNDU3LjE2NiBNMzY5LjUyMDksNDg4LjA2NCBDMzU5Ljg3MDksNDg4LjA2NCAzNDkuNjYxOSw0ODcuMjcxIDMzOC45MDQ5LDQ4NS40NzggQzI5OC42NTM5LDQ3OC43NjkgMjc5LjQ1OTksNDcxLjEyNSAyNzguNTAyOSw0NjEuNDI2IEMyNzcuNzcyOSw0NTQuMDIyIDI4Ny45NzM5LDQ0Ni40MjggMzA5LjY4OTksNDM4LjIwOCBMMzEwLjc5NDksNDQwLjk5NyBDMjg3LjkwODksNDUwLjQ3NiAyODUuMTg4OSw0NTYuMzQ1IDI4NS42MDQ5LDQ1OSBDMjg3LjE0MTksNDY4LjgxOCAzMjguNTUwOSw0NzMuNjY5IDM1My4wOTc5LDQ3NS42ODcgQzM5My43OTY5LDQ3OC42NDIgNDI5Ljc2OTksNDY4LjI0MyA0NjAuMDE4OSw0NDQuNzc0IEM0OTAuMzI2OSw0MjEuMjYxIDUxNS43ODQ5LDM4My45NiA1MzUuNjkwOSwzMzMuODk2IEM1MzcuMDU4OSwzMjUuNTA0IDUzNi43Mjk5LDMxOS41MjcgNTM0LjcxMTksMzE2LjEzMyBDNTMyLjQwODksMzEyLjI1NSA1MzEuOTIyOSwzMDcuNDAxIDUzMy40NDQ5LDMwMy40NjcgQzUzNC40NDY5LDMwMC44NzUgNTM2LjgwMjksMjk3LjQzIDU0Mi4zMzM5LDI5NS43MzggQzU0Ni4zMDU5LDI5NC41MjQgNTQ4Ljk0MTksMjkxLjQ4MiA1NDkuMjEzOSwyODcuODAxIEM1NDkuNTQ1OSwyODMuMzI2IDU0Ni4zMjk5LDI3OS4wMjggNTQwLjYxMDksMjc2LjMwNiBDNTM1LjkwNTksMjc0LjA2NSA1MzMuNDg3OSwyNzEuODU0IDUzMy4wMDA5LDI2OS4zNDYgQzUzMi4zOTM5LDI2Ni4yMDkgNTM0Ljg4ODksMjYzLjQ5NiA1MzcuNTMwOSwyNjAuNjI0IEM1MzguODI2OSwyNTkuMjE1IDU0MC4xNjY5LDI1Ny43NTggNTQxLjI4MzksMjU2LjE0OCBDNTQyLjU0MDksMjU0LjMzMyA1NDMuMjU1OSwyNTIuMDc4IDU0NC4wMTI5LDI0OS42ODkgQzU0Ni4xNzU5LDI0Mi44NiA1NDguNjA3OSwyMzUuMTA5IDU2NC42MTg5LDIzNS44MTcgQzU3My4yNDI5LDIzNi4xOTMgNTgwLjc5ODksMjQyLjcxMyA1ODUuMzUxOSwyNTMuNzA0IEM1OTAuNDEwOSwyNjUuOTE1IDU5MC4yNjk5LDI3OS45NTYgNTg1LjAzMjksMjg1LjY3MSBDNTc2LjY1MTksMjk0LjgxNiA1NzYuNjI5OSwzMDAuODAxIDU3Ny44NDY5LDMyMC4xNDYgQzU3OC4xODk5LDMyNS42MDEgNTc3LjYyMzksMzI4LjUyNiA1NzUuOTUyOSwzMjkuOTMgQzU3NC4zNTk5LDMzMS4yNjggNTcyLjM3NTksMzMwLjc4OCA1NzAuNjI2OSwzMzAuMzY3IEM1NjkuMTgzOSwzMzAuMDIgNTY3LjgyMjksMzI5LjY5MiA1NjYuODQxOSwzMzAuMjk4IEM1NjUuOTA3OSwzMzAuODc4IDU2NS4xNjc5LDMzMi4zMzMgNTY0LjY0NjksMzM0LjYyNCBDNTYyLjgyMzksMzQyLjYyNSA1NjAuMjMxOSwzNDMuOTMzIDU1Ni43Njk5LDM0NC45MDYgQzU1NC41ODk5LDM0NS41MTkgNTUyLjUzMjksMzQ2LjA5OCA1NTAuMjQ4OSwzNTEuMDUxIEM1NDYuNjAzOSwzNTguOTYgNTQzLjMyOTksMzYxLjQ0MiA1NDAuNDM5OSwzNjMuNjMzIEM1MzguODMxOSwzNjQuODUyIDUzNy4zMTE5LDM2Ni4wMDMgNTM1Ljc3NjksMzY4LjA1NyBDNTM0LjEzNjksMzcwLjI1MSA1MzMuMjI0OSwzNzIuOTkgNTMyLjI1NzksMzc1Ljg5MSBDNTMwLjY3NTksMzgwLjYzOSA1MjguODgyOSwzODYuMDIxIDUyMy40NzM5LDM5MC45MTcgQzUxNS42ODc5LDM5Ny45NjQgNTA5LjM2MzksNDA1LjI2OCA1MDMuODA3OSw0MTguMDEgQzUwMC43OTI5LDQyNC45MjQgNDg0Ljk3NTksNDQ1Ljg1IDQ1Ny42MTI5LDQ2Mi45OTcgQzQzOC4xNDA5LDQ3NS4xOTkgNDA4LjM4NTksNDg4LjA2NCAzNjkuNTIwOSw0ODguMDY0IiBpZD0iRmlsbC02NSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTcyLjk5NzQsMTM2LjEwOTQgQzU3Mi45MTg0LDEzNi4xMDk0IDU3Mi44Mzk0LDEzNi4xMDY0IDU3Mi43NjE0LDEzNi4xMDY0IEM1NTkuMzQzNCwxMzYuMTA1NCA1NDguMTI3NCwxMzkuODY2NCA1NDEuMDAzNCwxNDYuMjg4NCBDNTQ1LjE1NTQsMTM4LjAzMzQgNTU3LjYwNjQsMTMyLjY4NTQgNTczLjQ2MDQsMTMyLjY4NDQgQzU3My42NDU0LDEzMi42ODQ0IDU3My44MzM0LDEzMi42OTI0IDU3NC4wMTg0LDEzMi42OTM0IEM1NzQuNjM4NCwxMzAuNjQ2NCA1NzUuMjU0NCwxMjguNjcwNCA1NzUuODY3NCwxMjYuNzI1NCBDNTc1LjA1OTQsMTI2LjcwMDQgNTc0LjI1NTQsMTI2LjY4NDQgNTczLjQ1ODQsMTI2LjY4NDQgQzU1My4yOTY0LDEyNi42ODU0IDUzNy4wNzM0LDEzNC44Mzk0IDUzNC4wMTg0LDE0OC4wNzg0IEM1MzIuNDkxNCwxNTQuNjkyNCA1MzQuNDc0NCwxNjEuNjA2NCA1MzkuMTAxNCwxNjcuOTcxNCBDNTM4LjU3MTQsMTY1LjQzNjQgNTM4LjU2MzQsMTYyLjg4ODQgNTM5LjE0MDQsMTYwLjM5MDQgQzU0MS42NzU0LDE0OS40MTM0IDU1NC43NzE0LDE0Mi41MjM0IDU3MS4yNDI0LDE0Mi4xMjU0IEM1NzEuODMwNCwxNDAuMDc0NCA1NzIuNDE1NCwxMzguMDcxNCA1NzIuOTk3NCwxMzYuMTA5NCIgaWQ9IkZpbGwtNjciIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTYwNS41Njc3LDEzMy4yNzY0IEM2MDUuMjY2NywxMzUuMjc4NCA2MDQuOTUxNywxMzcuMzE2NCA2MDQuNjExNywxMzkuNDEzNCBDNjE5LjYwNjcsMTQ2LjE1MDQgNjI5Ljc5NDcsMTU2Ljg5ODQgNjI5Ljg2NDcsMTY2Ljg0NjQgQzYyNi4wMzY3LDE1Ny4zMzg0IDYxNi43MzQ3LDE0OC42Mjk0IDYwNC4wMzU3LDE0Mi44ODk0IEM2MDMuNjk3NywxNDQuOTAxNCA2MDMuMzQ1NywxNDYuOTQ1NCA2MDIuOTczNywxNDkuMDQwNCBDNjE4LjUxNTcsMTU2LjU2MjQgNjI3Ljk3MTcsMTY4Ljk0MDQgNjI1LjM1MDcsMTgwLjI5NDQgQzYyNC43NzM3LDE4Mi43OTI0IDYyMy42NDk3LDE4NS4wNzk0IDYyMi4wNjM3LDE4Ny4xMjU0IEM2MjkuMDEyNywxODMuNDMyNCA2MzMuODI1NywxNzguMDg3NCA2MzUuMzUyNywxNzEuNDcyNCBDNjM4LjYxMTcsMTU3LjM1NDQgNjI1Ljg3MDcsMTQxLjg3NjQgNjA1LjU2NzcsMTMzLjI3NjQiIGlkPSJGaWxsLTY5IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MDUuNTY3NywxMzMuMjc2NCBDNjA1LjQxNjcsMTM0LjI4MTQgNjA1LjI2MjcsMTM1LjI5MzQgNjA1LjEwMTcsMTM2LjMyMjQgQzYxMi4yOTU3LDEzOS40NDc0IDYxOC41ODc3LDE0My41MzA0IDYyMy40NjM3LDE0OC4zMDg0IEM2MzAuOTA5NywxNTUuNjAzNCA2MzQuMDkyNywxNjMuNTg5NCA2MzIuNDI4NywxNzAuNzk3NCBDNjMxLjgxNzcsMTczLjQ0OTQgNjMwLjU2MzcsMTc1LjkxNTQgNjI4LjcxNzcsMTc4LjE0MTQgQzYyOS4zMzc3LDE3MC44NzA0IDYyNi4wMDY3LDE2My4zMDg0IDYxOS4xMzk3LDE1Ni41NjA0IEM2MTQuOTAxNywxNTIuMzk0NCA2MDkuNTY0NywxNDguODAzNCA2MDMuNTA4NywxNDUuOTY5NCBDNjAzLjMzMzcsMTQ2Ljk4NzQgNjAzLjE1NzcsMTQ4LjAwMzQgNjAyLjk3MzcsMTQ5LjA0MDQgQzYxOC41MTU3LDE1Ni41NjI0IDYyNy45NzE3LDE2OC45NDA0IDYyNS4zNTA3LDE4MC4yOTQ0IEM2MjQuNzczNywxODIuNzkyNCA2MjMuNjQ5NywxODUuMDc5NCA2MjIuMDYzNywxODcuMTI1NCBDNjI5LjAxMjcsMTgzLjQzMjQgNjMzLjgyNTcsMTc4LjA4NzQgNjM1LjM1MjcsMTcxLjQ3MjQgQzYzOC42MTE3LDE1Ny4zNTQ0IDYyNS44NzA3LDE0MS44NzY0IDYwNS41Njc3LDEzMy4yNzY0IiBpZD0iRmlsbC03MSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTcyLjExMjcsMTM5LjEyMjEgQzU1NC41NzM3LDEzOS4yODkxIDU0MS4yMzI3LDE0Ni4xNjIxIDUzNy4wNTY3LDE1Ni45NzcxIEM1MzYuMzc0NywxNTQuMTY5MSA1MzYuMzI5NywxNTEuNDAzMSA1MzYuOTQwNywxNDguNzUzMSBDNTM5LjU3MzcsMTM3LjM0OTEgNTU0LjI0OTcsMTI5LjY4NTEgNTczLjQ2MDcsMTI5LjY4NDEgTDU3My40NjE3LDEyOS42ODQxIEM1NzMuOTUwNywxMjkuNjg0MSA1NzQuNDQzNywxMjkuNjk3MSA1NzQuOTM1NywxMjkuNzA3MSBDNTc1LjI0NzcsMTI4LjY5OTEgNTc1LjU1NzcsMTI3LjcwODEgNTc1Ljg2NzcsMTI2LjcyNjEgQzU3NS4wNTg3LDEyNi43MDAxIDU3NC4yNTU3LDEyNi42ODQxIDU3My40NTg3LDEyNi42ODQxIEM1NTMuMjk2NywxMjYuNjg1MSA1MzcuMDczNywxMzQuODQwMSA1MzQuMDE3NywxNDguMDc4MSBDNTMyLjQ5MTcsMTU0LjY5MjEgNTM0LjQ3MzcsMTYxLjYwNjEgNTM5LjEwMDcsMTY3Ljk3MjEgQzUzOC41NzE3LDE2NS40MzYxIDUzOC41NjM3LDE2Mi44ODkxIDUzOS4xMzk3LDE2MC4zOTExIEM1NDEuNjc1NywxNDkuNDEzMSA1NTQuNzcxNywxNDIuNTIzMSA1NzEuMjQyNywxNDIuMTI1MSBDNTcxLjUzMzcsMTQxLjExMDEgNTcxLjgyMzcsMTQwLjExNDEgNTcyLjExMjcsMTM5LjEyMjEiIGlkPSJGaWxsLTczIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MDMuOTI3MSw3Mi41MDEgQzU5Mi45MDkxLDc3LjIwOCA1ODAuMjkwMSwxMDYuNjc3IDU2Ni4wNzAxLDE2MC45MDYgQzU3MC42NDAxLDE2Ni4zMDIgNTc1LjY4NTEsMTY5LjYzOCA1ODEuMjA2MSwxNzAuOTEyIEM1ODIuOTEzMSwxNzEuMzA3IDU4NC42NjcxLDE3MS41MDQgNTg2LjQ2NjEsMTcxLjUwNCBDNTkwLjQ4NDEsMTcxLjUwNCA1OTQuNzI3MSwxNzAuNTIxIDU5OS4xOTgxLDE2OC41NTUgQzYxMC4zMjIxLDExMy41MDUgNjExLjg5ODEsODEuNDg3IDYwMy45MjcxLDcyLjUwMSBNNjAxLjc1MTEsODIuMSBDNjAyLjYzMjEsODYuMDQ1IDYwMy4yNDUxLDkyLjQ4NSA2MDIuNzMwMSwxMDIuOTU5IEM2MDEuOTkwMSwxMTcuOTczIDU5OS4wNDAxLDEzOC41NTIgNTkzLjk1ODEsMTY0LjE2MiBDNTkxLjMxODEsMTY1LjA1MyA1ODguODA3MSwxNjUuNTA0IDU4Ni40NjYxLDE2NS41MDQgQzU4NS4xMjkxLDE2NS41MDQgNTgzLjgxNDEsMTY1LjM1NiA1ODIuNTU2MSwxNjUuMDY1IEM1NzkuMDY2MSwxNjQuMjYgNTc1LjgyMzEsMTYyLjM1NCA1NzIuNzA4MSwxNTkuMjY1IEM1NzkuNDA2MSwxMzQuMDc3IDU4NS43OTcxLDExNC4zMTQgNTkxLjcxNTEsMTAwLjQ5NSBDNTk1Ljg1NDEsOTAuODMgNTk5LjIzMjEsODUuMjgzIDYwMS43NTExLDgyLjEiIGlkPSJGaWxsLTc1IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MDMuOTI3MSw3Mi41MDEgQzU5Mi45MDkxLDc3LjIwOCA1ODAuMjkwMSwxMDYuNjc3IDU2Ni4wNzAxLDE2MC45MDYgQzU3MC42NDAxLDE2Ni4zMDIgNTc1LjY4NTEsMTY5LjYzOCA1ODEuMjA2MSwxNzAuOTEyIEM1ODIuOTEzMSwxNzEuMzA3IDU4NC42NjcxLDE3MS41MDQgNTg2LjQ2NjEsMTcxLjUwNCBDNTkwLjQ4NDEsMTcxLjUwNCA1OTQuNzI3MSwxNzAuNTIxIDU5OS4xOTgxLDE2OC41NTUgQzYxMC4zMjIxLDExMy41MDUgNjExLjg5ODEsODEuNDg3IDYwMy45MjcxLDcyLjUwMSBNNjAzLjAyMTEsNzYuNTI1IEM2MDQuOTAxMSw4MC4yNTkgNjA2LjQ3ODEsODcuODI5IDYwNS43MjYxLDEwMy4xMDYgQzYwNC45NjQxLDExOC41ODkgNjAxLjg4NDEsMTM5Ljg3NyA1OTYuNTcyMSwxNjYuMzk5IEM1OTMuMDIxMSwxNjcuNzk2IDU4OS42MjcxLDE2OC41MDQgNTg2LjQ2NjEsMTY4LjUwNCBDNTg0LjkwMzEsMTY4LjUwNCA1ODMuMzYxMSwxNjguMzMgNTgxLjg4MTEsMTY3Ljk4OSBDNTc3LjQyNjEsMTY2Ljk2IDU3My4yMjYxLDE2NC4zMTYgNTY5LjM3NzEsMTYwLjEyMyBDNTc2LjI3MDEsMTM0LjAxNiA1ODIuODU1MSwxMTMuNTY0IDU4OC45NTcxLDk5LjMxMyBDNTk0Ljk4NDEsODUuMjQxIDU5OS43MDgxLDc5LjA5MiA2MDMuMDIxMSw3Ni41MjUiIGlkPSJGaWxsLTc3IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01NzkuMDI1OCwxODIuNzgyMiBDNTgxLjE3NzgsMTgzLjI3ODIgNTg0Ljg4NjgsMTc1LjE3NTIgNTg3LjMwOTgsMTY0LjY4MTIgQzU4OS43MzE4LDE1NC4xODcyIDU4OS45NTE4LDE0NS4yNzgyIDU4Ny43OTc4LDE0NC43ODEyIEM1ODUuNjQ1OCwxNDQuMjg0MiA1ODEuOTM2OCwxNTIuMzg4MiA1NzkuNTE0OCwxNjIuODgyMiBDNTc3LjA5MTgsMTczLjM3NTIgNTc2Ljg3MzgsMTgyLjI4NTIgNTc5LjAyNTgsMTgyLjc4MjIiIGlkPSJGaWxsLTc5IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01NDkuMjc1OCwyMDMuMzYzMyBDNTUwLjUzNzgsMjAzLjkyNTMgNTUzLjc0NDgsMTk5LjQ3MTMgNTU2LjQ0MDgsMTkzLjQxNzMgQzU1OS4xMzU4LDE4Ny4zNjMzIDU2MC4yOTg4LDE4MS45OTkzIDU1OS4wMzc4LDE4MS40MzczIEM1NTcuNzc1OCwxODAuODc2MyA1NTQuNTY4OCwxODUuMzI5MyA1NTEuODcyOCwxOTEuMzg0MyBDNTQ5LjE3NjgsMTk3LjQzODMgNTQ4LjAxMzgsMjAyLjgwMTMgNTQ5LjI3NTgsMjAzLjM2MzMiIGlkPSJGaWxsLTgxIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01NjkuMDk0MSwyMjcuODQ2NyBDNTcwLjM1NjEsMjI4LjQwODcgNTczLjY1NTEsMjIzLjc0OTcgNTc2LjQ2MjEsMjE3LjQ0MzcgQzU3OS4yNzAxLDIxMS4xMzY3IDU4MC41MjQxLDIwNS41Njk3IDU3OS4yNjMxLDIwNS4wMDc3IEM1NzguMDAxMSwyMDQuNDQ2NyA1NzQuNzAyMSwyMDkuMTAzNyA1NzEuODk1MSwyMTUuNDA5NyBDNTY5LjA4NzEsMjIxLjcxNjcgNTY3LjgzMzEsMjI3LjI4NDcgNTY5LjA5NDEsMjI3Ljg0NjciIGlkPSJGaWxsLTgzIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01OTMuODMzNCwyMDkuNzYwNyBDNTk1LjE0NjQsMjEwLjE4NzcgNTk3LjgwMjQsMjA1LjYzNjcgNTk5Ljc2NTQsMTk5LjU5NTcgQzYwMS43Mjg0LDE5My41NTU3IDYwMi4yNTQ0LDE4OC4zMTM3IDYwMC45NDA0LDE4Ny44ODY3IEM1OTkuNjI4NCwxODcuNDU5NyA1OTYuOTczNCwxOTIuMDEwNyA1OTUuMDEwNCwxOTguMDUwNyBDNTkzLjA0NzQsMjA0LjA5MTcgNTkyLjUyMTQsMjA5LjMzMzcgNTkzLjgzMzQsMjA5Ljc2MDciIGlkPSJGaWxsLTg1IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01OTEuMjI4OSwxMjMuNzIzNiBDNTg4LjA0MTksMTIzLjcyMzYgNTg1LjE2MTksMTI1LjkxMjYgNTg0LjQxNDksMTI5LjE1MDYgQzU4My41NDM5LDEzMi45MTY2IDU4NS44OTM5LDEzNi42NzU2IDU4OS42NjA5LDEzNy41NDQ2IEM1OTAuMTkwOSwxMzcuNjY3NiA1OTAuNzE5OSwxMzcuNzI2NiA1OTEuMjQxOSwxMzcuNzI2NiBDNTk0LjQyNjksMTM3LjcyNjYgNTk3LjMwNzksMTM1LjUzNjYgNTk4LjA1NTksMTMyLjI5OTYgQzU5OC45MjQ5LDEyOC41MzI2IDU5Ni41NzY5LDEyNC43NzM2IDU5Mi44MDk5LDEyMy45MDQ2IEM1OTIuMjgwOSwxMjMuNzgyNiA1OTEuNzQ5OSwxMjMuNzIzNiA1OTEuMjI4OSwxMjMuNzIzNiBNNTkxLjIyODksMTI5LjcyMzYgQzU5MS4zMDM5LDEyOS43MjM2IDU5MS4zODE5LDEyOS43MzI2IDU5MS40NTk5LDEyOS43NDk2IEM1OTEuOTk3OSwxMjkuODczNiA1OTIuMzMyOSwxMzAuNDExNiA1OTIuMjA5OSwxMzAuOTQ5NiBDNTkyLjA5MTksMTMxLjQ1ODYgNTkxLjYzMzksMTMxLjcyNjYgNTkxLjI0MTksMTMxLjcyNjYgQzU5MS4xNjU5LDEzMS43MjY2IDU5MS4wODc5LDEzMS43MTY2IDU5MS4wMDk5LDEzMS42OTk2IEM1OTAuNjc2OSwxMzEuNjIxNiA1OTAuNDg3OSwxMzEuNDE0NiA1OTAuMzg2OSwxMzEuMjU0NiBDNTkwLjI4NjksMTMxLjA5NDYgNTkwLjE4MjksMTMwLjgzMjYgNTkwLjI2MDksMTMwLjQ5OTYgQzU5MC4zNzc5LDEyOS45OTA2IDU5MC44MzY5LDEyOS43MjM2IDU5MS4yMjg5LDEyOS43MjM2IiBpZD0iRmlsbC04NyIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTkxLjIyODksMTIzLjcyMzYgQzU4OC4wNDE5LDEyMy43MjM2IDU4NS4xNjE5LDEyNS45MTI2IDU4NC40MTQ5LDEyOS4xNTA2IEM1ODMuNTQzOSwxMzIuOTE2NiA1ODUuODkzOSwxMzYuNjc1NiA1ODkuNjYwOSwxMzcuNTQ0NiBDNTkwLjE5MDksMTM3LjY2NzYgNTkwLjcxOTksMTM3LjcyNjYgNTkxLjI0MTksMTM3LjcyNjYgQzU5NC40MjY5LDEzNy43MjY2IDU5Ny4zMDc5LDEzNS41MzY2IDU5OC4wNTU5LDEzMi4yOTk2IEM1OTguOTI0OSwxMjguNTMyNiA1OTYuNTc2OSwxMjQuNzczNiA1OTIuODA5OSwxMjMuOTA0NiBDNTkyLjI4MDksMTIzLjc4MjYgNTkxLjc0OTksMTIzLjcyMzYgNTkxLjIyODksMTIzLjcyMzYgTTU5MS4yMjg5LDEyNi43MjM2IEM1OTEuNTMwOSwxMjYuNzIzNiA1OTEuODM0OSwxMjYuNzU3NiA1OTIuMTM0OSwxMjYuODI3NiBDNTk0LjI4NDksMTI3LjMyMzYgNTk1LjYyODksMTI5LjQ3NTYgNTk1LjEzMjksMTMxLjYyMzYgQzU5NC43MTA5LDEzMy40NTA2IDU5My4xMTA5LDEzNC43MjY2IDU5MS4yNDE5LDEzNC43MjY2IEM1OTAuOTM4OSwxMzQuNzI2NiA1OTAuNjMzOSwxMzQuNjkxNiA1OTAuMzM0OSwxMzQuNjIxNiBDNTg5LjI5MzksMTM0LjM4MTYgNTg4LjQwOTksMTMzLjc1MDYgNTg3Ljg0MjksMTMyLjg0NDYgQzU4Ny4yNzY5LDEzMS45Mzg2IDU4Ny4wOTY5LDEzMC44NjY2IDU4Ny4zMzY5LDEyOS44MjU2IEM1ODcuNzU4OSwxMjcuOTk4NiA1ODkuMzU5OSwxMjYuNzIzNiA1OTEuMjI4OSwxMjYuNzIzNiIgaWQ9IkZpbGwtODkiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTU5NS40MzEsMTA3Ljc2NjYgQzU5My42MTEsMTA3Ljc2NjYgNTkxLjk2NCwxMDkuMDE4NiA1OTEuNTM3LDExMC44Njg2IEM1OTEuMDQsMTEzLjAyMDYgNTkyLjM4MiwxMTUuMTY3NiA1OTQuNTM1LDExNS42NjQ2IEM1OTQuODM3LDExNS43MzU2IDU5NS4xNCwxMTUuNzY4NiA1OTUuNDM5LDExNS43Njg2IEM1OTcuMjU5LDExNS43Njg2IDU5OC45MDYsMTE0LjUxNzYgNTk5LjMzMiwxMTIuNjY3NiBDNTk5LjgyOSwxMTAuNTE0NiA1OTguNDg4LDEwOC4zNjc2IDU5Ni4zMzUsMTA3Ljg3MDYgQzU5Ni4wMzMsMTA3LjgwMDYgNTk1LjczLDEwNy43NjY2IDU5NS40MzEsMTA3Ljc2NjYgTTU5NS40MzEsMTEwLjc2NjYgQzU5NS41MDcsMTEwLjc2NjYgNTk1LjU4MywxMTAuNzc2NiA1OTUuNjYsMTEwLjc5MzYgQzU5Ni4wMTEsMTEwLjg3MzYgNTk2LjIwMSwxMTEuMTA2NiA1OTYuMjgzLDExMS4yMzg2IEM1OTYuMzY1LDExMS4zNjk2IDU5Ni40OTEsMTExLjY0MTYgNTk2LjQxLDExMS45OTM2IEM1OTYuMjkyLDExMi41MDE2IDU5NS44MzEsMTEyLjc2ODYgNTk1LjQzOSwxMTIuNzY4NiBDNTk1LjM2MywxMTIuNzY4NiA1OTUuMjg2LDExMi43NTk2IDU5NS4yMSwxMTIuNzQyNiBDNTk0Ljg1OSwxMTIuNjYxNiA1OTQuNjY5LDExMi40Mjg2IDU5NC41ODcsMTEyLjI5NzYgQzU5NC41MDUsMTEyLjE2NjYgNTk0LjM3OSwxMTEuODkzNiA1OTQuNDYsMTExLjU0MjYgQzU5NC41NzcsMTExLjAzMzYgNTk1LjAzOCwxMTAuNzY2NiA1OTUuNDMxLDExMC43NjY2IiBpZD0iRmlsbC05MSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjA4LjQ1NjQsNTMuMDc4MSBDNjA5LjI2NDQsNTMuMjY1MSA2MDkuNzY3NCw1NC4wNzAxIDYwOS41ODE0LDU0Ljg3NzEgTDYwNS4wODI0LDc0LjM2NDEgQzYwNC44OTU0LDc1LjE3MjEgNjA0LjA5MDQsNzUuNjc1MSA2MDMuMjgyNCw3NS40ODgxIEM2MDIuNDc2NCw3NS4zMDMxIDYwMS45NzI0LDc0LjQ5NzEgNjAyLjE1ODQsNzMuNjg5MSBMNjA2LjY1NzQsNTQuMjAyMSBDNjA2Ljg0NDQsNTMuMzk1MSA2MDcuNjQ5NCw1Mi44OTExIDYwOC40NTY0LDUzLjA3ODEiIGlkPSJGaWxsLTkzIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MDguMjY4OSw1Ni4xMTMzIEM2MTAuNDIwOSw1Ni42MTAzIDYxMy4xMjI5LDUyLjg2OTMgNjE0LjMwMzksNDcuNzU3MyBDNjE1LjQ4MzksNDIuNjQ0MyA2MTQuNjk1OSwzOC4wOTczIDYxMi41NDI5LDM3LjYwMDMgQzYxMC4zOTA5LDM3LjEwMzMgNjA3LjY4ODksNDAuODQ0MyA2MDYuNTA3OSw0NS45NTczIEM2MDUuMzI4OSw1MS4wNjkzIDYwNi4xMTY5LDU1LjYxNzMgNjA4LjI2ODksNTYuMTEzMyIgaWQ9IkZpbGwtOTUiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTYwOC42MDY4LDU0LjY1MjMgQzYwOS4yOTA4LDU0LjgxODMgNjExLjY3MjgsNTIuNDgxMyA2MTIuODQxOCw0Ny40MTkzIEM2MTQuMDEwOCw0Mi4zNTYzIDYxMi45MTI4LDM5LjIyNTMgNjEyLjIwNTgsMzkuMDYyMyBDNjExLjk2MDgsMzkuMDA1MyA2MTEuMjQxOCwzOS4zNTYzIDYxMC4zNzc4LDQwLjU1MzMgQzYwOS4zNjY4LDQxLjk1MzMgNjA4LjQ4OTgsNDQuMDQ2MyA2MDcuOTcwOCw0Ni4yOTQzIEM2MDcuNDUxOCw0OC41NDQzIDYwNy4zMjI4LDUwLjgwOTMgNjA3LjYxNzgsNTIuNTEwMyBDNjA3Ljg2ODgsNTMuOTYzMyA2MDguMzU3OCw1NC41OTUzIDYwOC42MDY4LDU0LjY1MjMgTTYwOC42OTE4LDU3LjY2MzMgQzYwOC40NDA4LDU3LjY2MzMgNjA4LjE4NzgsNTcuNjM0MyA2MDcuOTMxOCw1Ny41NzYzIEw2MDcuOTMwOCw1Ny41NzYzIEM2MDYuOTY1OCw1Ny4zNTIzIDYwNS4yNTY4LDU2LjQ2NDMgNjA0LjY2MTgsNTMuMDIyMyBDNjA0LjI5NDgsNTAuOTExMyA2MDQuNDMyOCw0OC4yODIzIDYwNS4wNDY4LDQ1LjYxOTMgQzYwNS42NjI4LDQyLjk1NzMgNjA2LjY5MDgsNDAuNTM0MyA2MDcuOTQ1OCwzOC43OTgzIEM2MDkuOTg5OCwzNS45NjUzIDYxMS45MTA4LDM1LjkxODMgNjEyLjg4MDgsMzYuMTM4MyBDNjE2LjM5ODgsMzYuOTUxMyA2MTYuOTk0OCw0Mi43NjgzIDYxNS43NjU4LDQ4LjA5MzMgQzYxNC42MjU4LDUzLjAzMzMgNjExLjg4NzgsNTcuNjYzMyA2MDguNjkxOCw1Ny42NjMzIiBpZD0iRmlsbC05NyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTc0LjA0MzMsMjc4Ljc0NzEgQzU3My45NDEzLDI3OC43NDcxIDU3My44MzkzLDI3OC43MzcxIDU3My43MzYzLDI3OC43MTYxIEM1NzIuOTI1MywyNzguNTQ3MSA1NzIuNDA0MywyNzcuNzUzMSA1NzIuNTcyMywyNzYuOTQyMSBDNTc0LjQ5NDMsMjY3LjY4ODEgNTcyLjMwNDMsMjU5LjM0MzEgNTY1Ljg3NzMsMjUxLjQyODEgQzU2NS4zNTUzLDI1MC43ODUxIDU2NS40NTIzLDI0OS44NDAxIDU2Ni4wOTYzLDI0OS4zMTgxIEM1NjYuNzM2MywyNDguNzkzMSA1NjcuNjg0MywyNDguODk0MSA1NjguMjA1MywyNDkuNTM3MSBDNTc1LjEzOTMsMjU4LjA3NTEgNTc3LjU5NzMsMjY3LjUwMTEgNTc1LjUxMDMsMjc3LjU1MjEgQzU3NS4zNjIzLDI3OC4yNjAxIDU3NC43MzgzLDI3OC43NDcxIDU3NC4wNDMzLDI3OC43NDcxIiBpZD0iRmlsbC05OSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzU1LjM4NzEsMzIzLjMzNjkgQzM1NS4wNjMxLDMyMy4zMzY5IDM1NC43MzYxLDMyMy4yMzI5IDM1NC40NjAxLDMyMy4wMTU5IEMzNTMuODEwMSwzMjIuNTAzOSAzNTMuNjk3MSwzMjEuNTYwOSAzNTQuMjA5MSwzMjAuOTA4OSBDMzU5LjUyNDEsMzE0LjE1MDkgMzU4LjgzMjEsMzA4LjEyNzkgMzUyLjAzMzEsMzAxLjk1MzkgQzM1MS40MTkxLDMwMS4zOTc5IDM1MS4zNzQxLDMwMC40NDc5IDM1MS45MzExLDI5OS44MzQ5IEMzNTIuNDg4MSwyOTkuMjIyOSAzNTMuNDM1MSwyOTkuMTc2OSAzNTQuMDUwMSwyOTkuNzMyOSBDMzYxLjkyMzEsMzA2Ljg4MjkgMzYyLjc5NDEsMzE0Ljg0NjkgMzU2LjU2NzEsMzIyLjc2NDkgQzM1Ni4yNzExLDMyMy4xNDA5IDM1NS44MzExLDMyMy4zMzY5IDM1NS4zODcxLDMyMy4zMzY5IiBpZD0iRmlsbC0xMDEiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTY4NC42NjM1LDQwMi44NDQ3IEM2ODIuODE5NSw0MDIuODQ0NyA2ODAuOTY2NSw0MDIuMjEwNyA2NzkuNDU3NSw0MDAuOTE0NyBDNjc2LjEwMzUsMzk4LjAzNzcgNjc1LjcxOTUsMzkyLjk4NzcgNjc4LjU5NzUsMzg5LjYzNDcgQzY4NS4yODc1LDM4MS44Mzg3IDY4Ni44MTA1LDM3Mi45ODA3IDY4My4zODk1LDM2MS43NTY3IEM2NzkuOTc2NSwzNTAuNTYwNyA2NzIuMjAyNSwzNDMuMTc3NyA2NTkuNjIxNSwzMzkuMTg1NyBDNjU1LjQxMDUsMzM3Ljg0OTcgNjUzLjA3OTUsMzMzLjM1MjcgNjU0LjQxNjUsMzI5LjE0MDcgQzY1NS43NTE1LDMyNC45Mjk3IDY2MC4yNDc1LDMyMi41OTg3IDY2NC40NjE1LDMyMy45MzU3IEM2ODIuMTg0NSwzMjkuNTU5NyA2OTMuNzAyNSwzNDAuNzE0NyA2OTguNjkzNSwzNTcuMDkxNyBDNzAzLjcyMzUsMzczLjU4OTcgNzAxLjA0NjUsMzg4LjA0NDcgNjkwLjczNzUsNDAwLjA1NDcgQzY4OS4xNTU1LDQwMS44OTg3IDY4Ni45MTY1LDQwMi44NDQ3IDY4NC42NjM1LDQwMi44NDQ3IiBpZD0iRmlsbC0xMDMiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTY0Ni4yMzA4LDIxMS41IEM2NDYuMjMwOCwyMTQuMjYxIDY0My45OTI4LDIxNi41IDY0MS4yMzA4LDIxNi41IEM2MzguNDY5OCwyMTYuNSA2MzYuMjMwOCwyMTQuMjYxIDYzNi4yMzA4LDIxMS41IEM2MzYuMjMwOCwyMDguNzM4IDYzOC40Njk4LDIwNi41IDY0MS4yMzA4LDIwNi41IEM2NDMuOTkyOCwyMDYuNSA2NDYuMjMwOCwyMDguNzM4IDY0Ni4yMzA4LDIxMS41IiBpZD0iRmlsbC0xMDUiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIzNy4wNDE0LDgwLjUyNzMgQzIzNy4wNDE0LDgzLjI4OTMgMjM0LjgwMzQsODUuNTI3MyAyMzIuMDQxNCw4NS41MjczIEMyMjkuMjgwNCw4NS41MjczIDIyNy4wNDE0LDgzLjI4OTMgMjI3LjA0MTQsODAuNTI3MyBDMjI3LjA0MTQsNzcuNzY1MyAyMjkuMjgwNCw3NS41MjczIDIzMi4wNDE0LDc1LjUyNzMgQzIzNC44MDM0LDc1LjUyNzMgMjM3LjA0MTQsNzcuNzY1MyAyMzcuMDQxNCw4MC41MjczIiBpZD0iRmlsbC0xMDciIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUxMC4xMTU2LDI3OC4yMzYzIEM1MTAuMTE1NiwyODAuOTk3MyA1MDcuODc2NiwyODMuMjM2MyA1MDUuMTE1NiwyODMuMjM2MyBDNTAyLjM1MzYsMjgzLjIzNjMgNTAwLjExNTYsMjgwLjk5NzMgNTAwLjExNTYsMjc4LjIzNjMgQzUwMC4xMTU2LDI3NS40NzQzIDUwMi4zNTM2LDI3My4yMzYzIDUwNS4xMTU2LDI3My4yMzYzIEM1MDcuODc2NiwyNzMuMjM2MyA1MTAuMTE1NiwyNzUuNDc0MyA1MTAuMTE1NiwyNzguMjM2MyIgaWQ9IkZpbGwtMTA5IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMDguMDQxNCw2NTguNSBDMzA4LjA0MTQsNjYxLjI2MSAzMDUuODAzNCw2NjMuNSAzMDMuMDQxNCw2NjMuNSBDMzAwLjI4MDQsNjYzLjUgMjk4LjA0MTQsNjYxLjI2MSAyOTguMDQxNCw2NTguNSBDMjk4LjA0MTQsNjU1LjczOCAzMDAuMjgwNCw2NTMuNSAzMDMuMDQxNCw2NTMuNSBDMzA1LjgwMzQsNjUzLjUgMzA4LjA0MTQsNjU1LjczOCAzMDguMDQxNCw2NTguNSIgaWQ9IkZpbGwtMTExIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01My45NDk2LDYzOSBDNDguNDI3Niw2MzkgNDMuOTQ5Niw2NDMuNDc3IDQzLjk0OTYsNjQ5IEM0My45NDk2LDY1NC41MjIgNDguNDI3Niw2NTkgNTMuOTQ5Niw2NTkgQzU5LjQ3MTYsNjU5IDYzLjk0OTYsNjU0LjUyMiA2My45NDk2LDY0OSBDNjMuOTQ5Niw2NDMuNDc3IDU5LjQ3MTYsNjM5IDUzLjk0OTYsNjM5IE01My45NDk2LDY0MiBDNTcuODA5Niw2NDIgNjAuOTQ5Niw2NDUuMTQgNjAuOTQ5Niw2NDkgQzYwLjk0OTYsNjUyLjg1OSA1Ny44MDk2LDY1NiA1My45NDk2LDY1NiBDNTAuMDg5Niw2NTYgNDYuOTQ5Niw2NTIuODU5IDQ2Ljk0OTYsNjQ5IEM0Ni45NDk2LDY0NS4xNCA1MC4wODk2LDY0MiA1My45NDk2LDY0MiIgaWQ9IkZpbGwtMTEzIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01My45NDk2LDY0MiBDNTcuODA5Niw2NDIgNjAuOTQ5Niw2NDUuMTQgNjAuOTQ5Niw2NDkgQzYwLjk0OTYsNjUyLjg1OSA1Ny44MDk2LDY1NiA1My45NDk2LDY1NiBDNTAuMDg5Niw2NTYgNDYuOTQ5Niw2NTIuODU5IDQ2Ljk0OTYsNjQ5IEM0Ni45NDk2LDY0NS4xNCA1MC4wODk2LDY0MiA1My45NDk2LDY0MiIgaWQ9IkZpbGwtMTE1IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNDcuMDQxNCwyNy41NTY2IEMyNDEuNTE5NCwyNy41NTY2IDIzNy4wNDE0LDMyLjAzMzYgMjM3LjA0MTQsMzcuNTU2NiBDMjM3LjA0MTQsNDMuMDc4NiAyNDEuNTE5NCw0Ny41NTY2IDI0Ny4wNDE0LDQ3LjU1NjYgQzI1Mi41NjQ0LDQ3LjU1NjYgMjU3LjA0MTQsNDMuMDc4NiAyNTcuMDQxNCwzNy41NTY2IEMyNTcuMDQxNCwzMi4wMzM2IDI1Mi41NjQ0LDI3LjU1NjYgMjQ3LjA0MTQsMjcuNTU2NiBNMjQ3LjA0MTQsMzAuNTU2NiBDMjUwLjkwMTQsMzAuNTU2NiAyNTQuMDQxNCwzMy42OTY2IDI1NC4wNDE0LDM3LjU1NjYgQzI1NC4wNDE0LDQxLjQxNTYgMjUwLjkwMTQsNDQuNTU2NiAyNDcuMDQxNCw0NC41NTY2IEMyNDMuMTgyNCw0NC41NTY2IDI0MC4wNDE0LDQxLjQxNTYgMjQwLjA0MTQsMzcuNTU2NiBDMjQwLjA0MTQsMzMuNjk2NiAyNDMuMTgyNCwzMC41NTY2IDI0Ny4wNDE0LDMwLjU1NjYiIGlkPSJGaWxsLTExNyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjQ3LjA0MTQsMzAuNTU2NiBDMjUwLjkwMTQsMzAuNTU2NiAyNTQuMDQxNCwzMy42OTY2IDI1NC4wNDE0LDM3LjU1NjYgQzI1NC4wNDE0LDQxLjQxNTYgMjUwLjkwMTQsNDQuNTU2NiAyNDcuMDQxNCw0NC41NTY2IEMyNDMuMTgyNCw0NC41NTY2IDI0MC4wNDE0LDQxLjQxNTYgMjQwLjA0MTQsMzcuNTU2NiBDMjQwLjA0MTQsMzMuNjk2NiAyNDMuMTgyNCwzMC41NTY2IDI0Ny4wNDE0LDMwLjU1NjYiIGlkPSJGaWxsLTExOSIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjg2LjA0MTQsNTUzLjUgQzI4MC41MTk0LDU1My41IDI3Ni4wNDE0LDU1Ny45NzcgMjc2LjA0MTQsNTYzLjUgQzI3Ni4wNDE0LDU2OS4wMjIgMjgwLjUxOTQsNTczLjUgMjg2LjA0MTQsNTczLjUgQzI5MS41NjQ0LDU3My41IDI5Ni4wNDE0LDU2OS4wMjIgMjk2LjA0MTQsNTYzLjUgQzI5Ni4wNDE0LDU1Ny45NzcgMjkxLjU2NDQsNTUzLjUgMjg2LjA0MTQsNTUzLjUgTTI4Ni4wNDE0LDU1Ni41IEMyODkuOTAxNCw1NTYuNSAyOTMuMDQxNCw1NTkuNjQgMjkzLjA0MTQsNTYzLjUgQzI5My4wNDE0LDU2Ny4zNTkgMjg5LjkwMTQsNTcwLjUgMjg2LjA0MTQsNTcwLjUgQzI4Mi4xODI0LDU3MC41IDI3OS4wNDE0LDU2Ny4zNTkgMjc5LjA0MTQsNTYzLjUgQzI3OS4wNDE0LDU1OS42NCAyODIuMTgyNCw1NTYuNSAyODYuMDQxNCw1NTYuNSIgaWQ9IkZpbGwtMTIxIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yODYuMDQxNCw1NTYuNSBDMjg5LjkwMTQsNTU2LjUgMjkzLjA0MTQsNTU5LjY0IDI5My4wNDE0LDU2My41IEMyOTMuMDQxNCw1NjcuMzU5IDI4OS45MDE0LDU3MC41IDI4Ni4wNDE0LDU3MC41IEMyODIuMTgyNCw1NzAuNSAyNzkuMDQxNCw1NjcuMzU5IDI3OS4wNDE0LDU2My41IEMyNzkuMDQxNCw1NTkuNjQgMjgyLjE4MjQsNTU2LjUgMjg2LjA0MTQsNTU2LjUiIGlkPSJGaWxsLTEyMyIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzQyLjU0MTQsMzcxLjUgQzc0Mi41NDE0LDM3NC4yNjEgNzQwLjMwMzQsMzc2LjUgNzM3LjU0MTQsMzc2LjUgQzczNC43ODA0LDM3Ni41IDczMi41NDE0LDM3NC4yNjEgNzMyLjU0MTQsMzcxLjUgQzczMi41NDE0LDM2OC43MzggNzM0Ljc4MDQsMzY2LjUgNzM3LjU0MTQsMzY2LjUgQzc0MC4zMDM0LDM2Ni41IDc0Mi41NDE0LDM2OC43MzggNzQyLjU0MTQsMzcxLjUiIGlkPSJGaWxsLTEyNSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDwvZz4NCiAgICAgICAgICAgIDwvZz4NCiAgICAgICAgPC9nPg0KICAgIDwvZz4NCjwvc3ZnPg==)}.layui-exception .layui-exception-image .error-404{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9Ijg5MXB4IiBoZWlnaHQ9Ijg0MHB4IiB2aWV3Qm94PSIwIDAgODkxIDg0MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8dGl0bGU+NDA0IC3nmb08L3RpdGxlPg0KICAgIDxnIGlkPSLmoYbmnrborr7orqEt6L+H56iL54mIIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9Iue8uuecgeWbviIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTI5NC4wMDAwMDAsIC0xMTYyLjAwMDAwMCkiPg0KICAgICAgICAgICAgPGcgaWQ9IjQwNC0t55m9IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyOTQuMDAwMDAwLCAxMTYyLjAwMDAwMCkiPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00NDAuNTU3NiwyNTQuMDYzNSBDNDQwLjU0MjYsMjU0LjA2MzUgNDQwLjUyODYsMjU0LjA2MzUgNDQwLjUxMzYsMjU0LjA2MjUgQzQzOS4wNDY2LDI1NC4wMjE1IDQzNy41NzQ2LDI1NC4wMDA1IDQzNi4wOTg2LDI1NC4wMDA1IEM0MzUuNTcwNiwyNTQuMDA4NSA0MzUuMDc4NiwyNTQuMDAxNSA0MzQuNTc0NiwyNTQuMDA2NSBMNDM0LjU1ODYsMjU0LjAwNjUgQzQzMy43Mzc2LDI1NC4wMDY1IDQzMy4wNjc2LDI1My4zNDU1IDQzMy4wNTg2LDI1Mi41MjI1IEM0MzMuMDQ5NiwyNTEuNjkzNSA0MzMuNzE0NiwyNTEuMDE1NSA0MzQuNTQyNiwyNTEuMDA2NSBDNDM1LjA2MDYsMjUxLjAwMDUgNDM1LjU4MTYsMjUwLjk5ODUgNDM2LjA5NjYsMjUxLjAwMDUgQzQzNy41ODQ2LDI1MS4wMDA1IDQzOS4wOTk2LDI1MS4wMjE1IDQ0MC41OTk2LDI1MS4wNjQ1IEM0NDEuNDI3NiwyNTEuMDg3NSA0NDIuMDc4NiwyNTEuNzc4NSA0NDIuMDU1NiwyNTIuNjA2NSBDNDQyLjAzMzYsMjUzLjQxOTUgNDQxLjM2NjYsMjU0LjA2MzUgNDQwLjU1NzYsMjU0LjA2MzUgTTQyMi41NzU2LDI1NC41NjE1IEM0MjEuODAzNiwyNTQuNTYxNSA0MjEuMTQ4NiwyNTMuOTY5NSA0MjEuMDgxNiwyNTMuMTg3NSBDNDIxLjAxMjYsMjUyLjM2MjUgNDIxLjYyNTYsMjUxLjYzNjUgNDIyLjQ1MTYsMjUxLjU2NjUgQzQyNC40NDQ2LDI1MS4zOTk1IDQyNi40Nzc2LDI1MS4yNjY1IDQyOC40OTI2LDI1MS4xNzM1IEM0MjkuMzIzNiwyNTEuMTM1NSA0MzAuMDIwNiwyNTEuNzc1NSA0MzAuMDU5NiwyNTIuNjAyNSBDNDMwLjA5ODYsMjUzLjQyOTUgNDI5LjQ1NzYsMjU0LjEzMTUgNDI4LjYzMDYsMjU0LjE2OTUgQzQyNi42NTM2LDI1NC4yNjE1IDQyNC42NTk2LDI1NC4zOTE1IDQyMi43MDM2LDI1NC41NTY1IEM0MjIuNjYwNiwyNTQuNTU5NSA0MjIuNjE3NiwyNTQuNTYxNSA0MjIuNTc1NiwyNTQuNTYxNSBNNDUyLjUyNjYsMjU0Ljg1MzUgQzQ1Mi40NzQ2LDI1NC44NTM1IDQ1Mi40MjE2LDI1NC44NTA1IDQ1Mi4zNjk2LDI1NC44NDU1IEM0NTAuNDI0NiwyNTQuNjQzNSA0NDguNDMyNiwyNTQuNDczNSA0NDYuNDQ5NiwyNTQuMzQyNSBDNDQ1LjYyMjYsMjU0LjI4NzUgNDQ0Ljk5NjYsMjUzLjU3MzUgNDQ1LjA1MTYsMjUyLjc0NjUgQzQ0NS4xMDY2LDI1MS45MTg1IDQ0NS44MjI2LDI1MS4zMDc1IDQ0Ni42NDg2LDI1MS4zNDg1IEM0NDguNjY4NiwyNTEuNDgzNSA0NTAuNjk4NiwyNTEuNjU1NSA0NTIuNjc5NiwyNTEuODYxNSBDNDUzLjUwMzYsMjUxLjk0NzUgNDU0LjEwMjYsMjUyLjY4NDUgNDU0LjAxNjYsMjUzLjUwODUgQzQ1My45MzY2LDI1NC4yODA1IDQ1My4yODU2LDI1NC44NTM1IDQ1Mi41MjY2LDI1NC44NTM1IE00MTAuNjcxNiwyNTYuMDE4NSBDNDA5Ljk0OTYsMjU2LjAxODUgNDA5LjMxMTYsMjU1LjQ5NDUgNDA5LjE5MzYsMjU0Ljc1NzUgQzQwOS4wNjE2LDI1My45Mzk1IDQwOS42MTc2LDI1My4xNjk1IDQxMC40MzQ2LDI1My4wMzg1IEM0MTIuNDExNiwyNTIuNzE4NSA0MTQuNDI5NiwyNTIuNDMzNSA0MTYuNDMwNiwyNTIuMTg4NSBDNDE3LjI1MjYsMjUyLjEwMjUgNDE4LjAwMDYsMjUyLjY3MzUgNDE4LjEwMTYsMjUzLjQ5NjUgQzQxOC4yMDI2LDI1NC4zMTg1IDQxNy42MTY2LDI1NS4wNjY1IDQxNi43OTM2LDI1NS4xNjc1IEM0MTQuODMwNiwyNTUuNDA2NSA0MTIuODUyNiwyNTUuNjg2NSA0MTAuOTEyNiwyNTUuOTk5NSBDNDEwLjgzMTYsMjU2LjAxMjUgNDEwLjc1MDYsMjU2LjAxODUgNDEwLjY3MTYsMjU2LjAxODUgTTQ2NC40MDA2LDI1Ni41NDQ1IEM0NjQuMzExNiwyNTYuNTQ0NSA0NjQuMjIxNiwyNTYuNTM3NSA0NjQuMTMwNiwyNTYuNTIwNSBDNDYyLjE5NzYsMjU2LjE2OTUgNDYwLjIyNDYsMjU1Ljg1MTUgNDU4LjI2NTYsMjU1LjU3MjUgQzQ1Ny40NDU2LDI1NS40NTU1IDQ1Ni44NzU2LDI1NC42OTU1IDQ1Ni45OTI2LDI1My44NzU1IEM0NTcuMTA5NiwyNTMuMDU1NSA0NTcuODY1NiwyNTIuNDg2NSA0NTguNjg5NiwyNTIuNjAxNSBDNDYwLjY4NDYsMjUyLjg4NjUgNDYyLjY5NTYsMjUzLjIxMTUgNDY0LjY2NTYsMjUzLjU2OTUgQzQ2NS40ODE2LDI1My43MTY1IDQ2Ni4wMjI2LDI1NC40OTc1IDQ2NS44NzM2LDI1NS4zMTI1IEM0NjUuNzQzNiwyNTYuMDM3NSA0NjUuMTExNiwyNTYuNTQ0NSA0NjQuNDAwNiwyNTYuNTQ0NSBNMzk4LjkxMzYsMjU4LjM3NjUgQzM5OC4yMzY2LDI1OC4zNzY1IDM5Ny42MjE2LDI1Ny45MTU1IDM5Ny40NTY2LDI1Ny4yMjc1IEMzOTcuMjYyNiwyNTYuNDIxNSAzOTcuNzU4NiwyNTUuNjEyNSAzOTguNTY0NiwyNTUuNDE4NSBDNDAwLjUxNDYsMjU0Ljk0OTUgNDAyLjUwMzYsMjU0LjUxMDUgNDA0LjQ3NjYsMjU0LjExNTUgQzQwNS4yODU2LDI1My45NTg1IDQwNi4wNzk2LDI1NC40Nzc1IDQwNi4yNDI2LDI1NS4yOTE1IEM0MDYuNDA1NiwyNTYuMTAyNSA0MDUuODc4NiwyNTYuODkzNSA0MDUuMDY2NiwyNTcuMDU2NSBDNDAzLjEzMDYsMjU3LjQ0NTUgNDAxLjE3ODYsMjU3Ljg3NTUgMzk5LjI2NTYsMjU4LjMzNDUgQzM5OS4xNDc2LDI1OC4zNjM1IDM5OS4wMzA2LDI1OC4zNzY1IDM5OC45MTM2LDI1OC4zNzY1IE00NzYuMTEwNiwyNTkuMTM0NSBDNDc1Ljk4NDYsMjU5LjEzNDUgNDc1Ljg1NzYsMjU5LjExOTUgNDc1LjcyOTYsMjU5LjA4NTUgQzQ3My44MTE2LDI1OC41ODQ1IDQ3MS44Njk2LDI1OC4xMTU1IDQ2OS45NTQ2LDI1Ny42OTI1IEM0NjkuMTQ2NiwyNTcuNTEzNSA0NjguNjM1NiwyNTYuNzEyNSA0NjguODE0NiwyNTUuOTAzNSBDNDY4Ljk5NDYsMjU1LjA5NTUgNDY5Ljc5MDYsMjU0LjU5MTUgNDcwLjYwMzYsMjU0Ljc2MjUgQzQ3Mi41NTM2LDI1NS4xOTQ1IDQ3NC41MzQ2LDI1NS42NzE1IDQ3Ni40ODk2LDI1Ni4xODM1IEM0NzcuMjg5NiwyNTYuMzkzNSA0NzcuNzcwNiwyNTcuMjEyNSA0NzcuNTYwNiwyNTguMDE0NSBDNDc3LjM4MzYsMjU4LjY4ODUgNDc2Ljc3NjYsMjU5LjEzNDUgNDc2LjExMDYsMjU5LjEzNDUgTTM4Ny4zNjg2LDI2MS42MjY1IEMzODYuNzM0NiwyNjEuNjI2NSAzODYuMTQ2NiwyNjEuMjIzNSAzODUuOTQxNiwyNjAuNTg4NSBDMzg1LjY4NTYsMjU5LjgwMDUgMzg2LjExODYsMjU4Ljk1NTUgMzg2LjkwNjYsMjU4LjcwMDUgQzM4OC44MDQ2LDI1OC4wODU1IDM5MC43NTQ2LDI1Ny40OTY1IDM5Mi43MDM2LDI1Ni45NDc1IEMzOTMuNDk4NiwyNTYuNzI1NSAzOTQuMzI4NiwyNTcuMTg3NSAzOTQuNTUzNiwyNTcuOTg1NSBDMzk0Ljc3NzYsMjU4Ljc4MjUgMzk0LjMxMzYsMjU5LjYxMTUgMzkzLjUxNTYsMjU5LjgzNTUgQzM5MS42MDQ2LDI2MC4zNzQ1IDM4OS42OTE2LDI2MC45NTI1IDM4Ny44Mjk2LDI2MS41NTM1IEMzODcuNjc2NiwyNjEuNjAzNSAzODcuNTIwNiwyNjEuNjI2NSAzODcuMzY4NiwyNjEuNjI2NSBNNDg3LjU4NjYsMjYyLjYxNDUgQzQ4Ny40MjQ2LDI2Mi42MTQ1IDQ4Ny4yNTk2LDI2Mi41ODc1IDQ4Ny4wOTY2LDI2Mi41MzI1IEM0ODUuMjQwNiwyNjEuODkwNSA0ODMuMzM4NiwyNjEuMjc0NSA0ODEuNDQ2NiwyNjAuNzAxNSBDNDgwLjY1MzYsMjYwLjQ2MDUgNDgwLjIwNDYsMjU5LjYyNDUgNDgwLjQ0NTYsMjU4LjgzMTUgQzQ4MC42ODY2LDI1OC4wMzc1IDQ4MS41Mjg2LDI1Ny41OTI1IDQ4Mi4zMTU2LDI1Ny44MzA1IEM0ODQuMjQ1NiwyNTguNDE1NSA0ODYuMTgzNiwyNTkuMDQyNSA0ODguMDc3NiwyNTkuNjk2NSBDNDg4Ljg1OTYsMjU5Ljk2NjUgNDg5LjI3NTYsMjYwLjgyMTUgNDg5LjAwNDYsMjYxLjYwMzUgQzQ4OC43ODk2LDI2Mi4yMjQ1IDQ4OC4yMDg2LDI2Mi42MTQ1IDQ4Ny41ODY2LDI2Mi42MTQ1IE0zNzYuMDc2NiwyNjUuNzU5NSBDMzc1LjQ4NTYsMjY1Ljc1OTUgMzc0LjkyNDYsMjY1LjQwOTUgMzc0LjY4NzYsMjY0LjgyOTUgQzM3NC4zNzI2LDI2NC4wNjI1IDM3NC43Mzk2LDI2My4xODY1IDM3NS41MDU2LDI2Mi44NzI1IEMzNzcuMzc0NiwyNjIuMTA1NSAzNzkuMjc5NiwyNjEuMzY3NSAzODEuMTY0NiwyNjAuNjc2NSBDMzgxLjk0MTYsMjYwLjM5MDUgMzgyLjgwMzYsMjYwLjc5MjUgMzgzLjA4ODYsMjYxLjU2OTUgQzM4My4zNzM2LDI2Mi4zNDc1IDM4Mi45NzQ2LDI2My4yMDk1IDM4Mi4xOTY2LDI2My40OTM1IEMzODAuMzQ1NiwyNjQuMTcwNSAzNzguNDc3NiwyNjQuODk1NSAzNzYuNjQ0NiwyNjUuNjQ3NSBDMzc2LjQ1NzYsMjY1LjcyMzUgMzc2LjI2NTYsMjY1Ljc1OTUgMzc2LjA3NjYsMjY1Ljc1OTUgTTQ5OC43NDk2LDI2Ni45NTE1IEM0OTguNTUwNiwyNjYuOTUxNSA0OTguMzQ4NiwyNjYuOTEyNSA0OTguMTU0NiwyNjYuODI3NSBDNDk2LjM1MjYsMjY2LjA0NjUgNDk0LjUwODYsMjY1LjI5MDUgNDkyLjY3NDYsMjY0LjU3NzUgQzQ5MS45MDM2LDI2NC4yNzY1IDQ5MS41MjA2LDI2My40MDc1IDQ5MS44MjA2LDI2Mi42MzQ1IEM0OTIuMTIwNiwyNjEuODYzNSA0OTIuOTg4NiwyNjEuNDc5NSA0OTMuNzYyNiwyNjEuNzgwNSBDNDk1LjYzMTYsMjYyLjUwNzUgNDk3LjUxMDYsMjYzLjI3OTUgNDk5LjM0NjYsMjY0LjA3NTUgQzUwMC4xMDc2LDI2NC40MDQ1IDUwMC40NTY2LDI2NS4yODc1IDUwMC4xMjY2LDI2Ni4wNDc1IEM0OTkuODgxNiwyNjYuNjEzNSA0OTkuMzI5NiwyNjYuOTUxNSA0OTguNzQ5NiwyNjYuOTUxNSBNMzY1LjEzODYsMjcwLjc0NDUgQzM2NC41ODk2LDI3MC43NDQ1IDM2NC4wNjE2LDI3MC40NDI1IDM2My43OTc2LDI2OS45MTc1IEMzNjMuNDI1NiwyNjkuMTc3NSAzNjMuNzIzNiwyNjguMjc2NSAzNjQuNDYzNiwyNjcuOTA0NSBDMzY2LjI1MzYsMjY3LjAwMzUgMzY4LjA5NDYsMjY2LjEyMjUgMzY5LjkzNTYsMjY1LjI4MjUgQzM3MC42ODc2LDI2NC45Mzk1IDM3MS41Nzg2LDI2NS4yNzI1IDM3MS45MjI2LDI2Ni4wMjU1IEMzNzIuMjY2NiwyNjYuNzc5NSAzNzEuOTMzNiwyNjcuNjY4NSAzNzEuMTc5NiwyNjguMDEyNSBDMzY5LjM3MzYsMjY4LjgzNTUgMzY3LjU2NzYsMjY5LjcwMTUgMzY1LjgxMTYsMjcwLjU4NDUgQzM2NS41OTU2LDI3MC42OTM1IDM2NS4zNjU2LDI3MC43NDQ1IDM2NS4xMzg2LDI3MC43NDQ1IE01MDkuNTQxNiwyNzIuMTIzNSBDNTA5LjMwNTYsMjcyLjEyMzUgNTA5LjA2NjYsMjcyLjA2NzUgNTA4Ljg0MzYsMjcxLjk1MDUgQzUwNy4wOTY2LDI3MS4wMjk1IDUwNS4zMTQ2LDI3MC4xMzM1IDUwMy41NDc2LDI2OS4yODc1IEM1MDIuODAwNiwyNjguOTI5NSA1MDIuNDg0NiwyNjguMDM0NSA1MDIuODQyNiwyNjcuMjg3NSBDNTAzLjIwMTYsMjY2LjUzOTUgNTA0LjA5NTYsMjY2LjIyMjUgNTA0Ljg0MjYsMjY2LjU4MjUgQzUwNi42NDQ2LDI2Ny40NDQ1IDUwOC40NjA2LDI2OC4zNTc1IDUxMC4yNDI2LDI2OS4yOTU1IEM1MTAuOTc0NiwyNjkuNjgyNSA1MTEuMjU1NiwyNzAuNTg4NSA1MTAuODcwNiwyNzEuMzIyNSBDNTEwLjYwMTYsMjcxLjgzMjUgNTEwLjA3OTYsMjcyLjEyMzUgNTA5LjU0MTYsMjcyLjEyMzUgTTM1NC42MTk2LDI3Ni41NDM1IEMzNTQuMTExNiwyNzYuNTQzNSAzNTMuNjE1NiwyNzYuMjg1NSAzNTMuMzMyNiwyNzUuODE4NSBDMzUyLjkwNjYsMjc1LjEwODUgMzUzLjEzNDYsMjc0LjE4NjUgMzUzLjg0MzYsMjczLjc1ODUgQzM1NS41NTQ2LDI3Mi43Mjg1IDM1Ny4zMjI2LDI3MS43MDk1IDM1OS4wOTY2LDI3MC43MzA1IEMzNTkuODIxNiwyNzAuMzMwNSAzNjAuNzM0NiwyNzAuNTk0NSAzNjEuMTM0NiwyNzEuMzE5NSBDMzYxLjUzNTYsMjcyLjA0NDUgMzYxLjI3MTYsMjcyLjk1NzUgMzYwLjU0NTYsMjczLjM1NzUgQzM1OC44MDQ2LDI3NC4zMTc1IDM1Ny4wNzA2LDI3NS4zMTc1IDM1NS4zOTI2LDI3Ni4zMjk1IEMzNTUuMTUwNiwyNzYuNDc0NSAzNTQuODgyNiwyNzYuNTQzNSAzNTQuNjE5NiwyNzYuNTQzNSBNNTE5LjkxNDYsMjc4LjEwMjUgQzUxOS42NDI2LDI3OC4xMDI1IDUxOS4zNjY2LDI3OC4wMjg1IDUxOS4xMTg2LDI3Ny44NzM1IEM1MTcuNDY2NiwyNzYuODM1NSA1MTUuNzU1NiwyNzUuODA2NSA1MTQuMDM1NiwyNzQuODEyNSBDNTEzLjMxNzYsMjc0LjM5ODUgNTEzLjA3MjYsMjczLjQ4MTUgNTEzLjQ4NjYsMjcyLjc2MzUgQzUxMy45MDA2LDI3Mi4wNDQ1IDUxNC44MTg2LDI3MS43OTk1IDUxNS41MzU2LDI3Mi4yMTQ1IEM1MTcuMjg3NiwyNzMuMjI2NSA1MTkuMDMwNiwyNzQuMjc1NSA1MjAuNzEzNiwyNzUuMzMyNSBDNTIxLjQxNDYsMjc1Ljc3MjUgNTIxLjYyNjYsMjc2LjY5ODUgNTIxLjE4NjYsMjc3LjQwMDUgQzUyMC45MDE2LDI3Ny44NTM1IDUyMC40MTM2LDI3OC4xMDI1IDUxOS45MTQ2LDI3OC4xMDI1IE0zNDQuNTczNiwyODMuMTI0NSBDMzQ0LjEwNDYsMjgzLjEyNDUgMzQzLjY0MTYsMjgyLjkwNDUgMzQzLjM0OTYsMjgyLjQ5MzUgQzM0Mi44Njk2LDI4MS44MTc1IDM0My4wMjg2LDI4MC44ODA1IDM0My43MDM2LDI4MC40MDE1IEMzNDUuMzQ4NiwyNzkuMjMyNSAzNDcuMDMzNiwyNzguMDgyNSAzNDguNzA4NiwyNzYuOTg0NSBDMzQ5LjQwMzYsMjc2LjUzMTUgMzUwLjMzMDYsMjc2LjcyNDUgMzUwLjc4NjYsMjc3LjQxNzUgQzM1MS4yNDA2LDI3OC4xMTA1IDM1MS4wNDU2LDI3OS4wNDA1IDM1MC4zNTM2LDI3OS40OTQ1IEMzNDguNzA3NiwyODAuNTcxNSAzNDcuMDU1NiwyODEuNjk5NSAzNDUuNDQxNiwyODIuODQ2NSBDMzQ1LjE3NzYsMjgzLjAzNDUgMzQ0Ljg3MzYsMjgzLjEyNDUgMzQ0LjU3MzYsMjgzLjEyNDUgTTUyOS44MTI2LDI4NC44NTM1IEM1MjkuNTAyNiwyODQuODUzNSA1MjkuMTkwNiwyODQuNzU3NSA1MjguOTIxNiwyODQuNTU5NSBDNTI3LjMzNTYsMjgzLjM4NzUgNTI1LjcwNzYsMjgyLjIzMTUgNTI0LjA4MjYsMjgxLjEyMzUgQzUyMy4zOTk2LDI4MC42NTY1IDUyMy4yMjI2LDI3OS43MjI1IDUyMy42ODk2LDI3OS4wMzg1IEM1MjQuMTU4NiwyNzguMzUyNSA1MjUuMDkxNiwyNzguMTc3NSA1MjUuNzc0NiwyNzguNjQ0NSBDNTI3LjQyOTYsMjc5Ljc3NDUgNTI5LjA4NzYsMjgwLjk1MjUgNTMwLjcwNDYsMjgyLjE0NzUgQzUzMS4zNzA2LDI4Mi42Mzk1IDUzMS41MTE2LDI4My41Nzk1IDUzMS4wMTk2LDI4NC4yNDU1IEM1MzAuNzI1NiwyODQuNjQyNSA1MzAuMjcxNiwyODQuODUzNSA1MjkuODEyNiwyODQuODUzNSBNMzM1LjA2MTYsMjkwLjQ0MTUgQzMzNC42MzA2LDI5MC40NDE1IDMzNC4yMDM2LDI5MC4yNTY1IDMzMy45MDY2LDI4OS44OTk1IEMzMzMuMzc2NiwyODkuMjYyNSAzMzMuNDY0NiwyODguMzE2NSAzMzQuMTAyNiwyODcuNzg3NSBDMzM1LjY1NDYsMjg2LjQ5OTUgMzM3LjI0NDYsMjg1LjIyNjUgMzM4LjgzMTYsMjg0LjAwNDUgQzMzOS40ODc2LDI4My41MDA1IDM0MC40MzA2LDI4My42MjE1IDM0MC45MzU2LDI4NC4yNzg1IEMzNDEuNDQxNiwyODQuOTM0NSAzNDEuMzE4NiwyODUuODc2NSAzNDAuNjYxNiwyODYuMzgxNSBDMzM5LjEwNDYsMjg3LjU4MTUgMzM3LjU0MTYsMjg4LjgzMDUgMzM2LjAxODYsMjkwLjA5NTUgQzMzNS43Mzk2LDI5MC4zMjg1IDMzNS4zOTk2LDI5MC40NDE1IDMzNS4wNjE2LDI5MC40NDE1IE01MzkuMTc0NiwyOTIuMzM2NSBDNTM4LjgyODYsMjkyLjMzNjUgNTM4LjQ3OTYsMjkyLjIxNjUgNTM4LjE5NTYsMjkxLjk3MjUgQzUzNi42OTQ2LDI5MC42NzY1IDUzNS4xNTc2LDI4OS40MDA1IDUzMy42Mjc2LDI4OC4xNzg1IEM1MzIuOTgxNiwyODcuNjYyNSA1MzIuODc0NiwyODYuNzE3NSA1MzMuMzkyNiwyODYuMDcwNSBDNTMzLjkwOTYsMjg1LjQyMzUgNTM0Ljg1MTYsMjg1LjMxODUgNTM1LjUwMDYsMjg1LjgzNDUgQzUzNy4wNTk2LDI4Ny4wODA1IDUzOC42MjU2LDI4OC4zODA1IDU0MC4xNTY2LDI4OS43MDE1IEM1NDAuNzgzNiwyOTAuMjQzNSA1NDAuODUyNiwyOTEuMTg5NSA1NDAuMzExNiwyOTEuODE3NSBDNTQwLjAxNDYsMjkyLjE2MTUgNTM5LjU5NTYsMjkyLjMzNjUgNTM5LjE3NDYsMjkyLjMzNjUgTTMyNi4xMjk2LDI5OC40NTU1IEMzMjUuNzM3NiwyOTguNDU1NSAzMjUuMzQ1NiwyOTguMzAxNSAzMjUuMDUxNiwyOTcuOTk4NSBDMzI0LjQ3NTYsMjk3LjQwMjUgMzI0LjQ5MTYsMjk2LjQ1MzUgMzI1LjA4NjYsMjk1Ljg3NjUgQzMyNi41MzE2LDI5NC40Nzk1IDMyOC4wMjE2LDI5My4wOTA1IDMyOS41MTY2LDI5MS43NDk1IEMzMzAuMTMyNiwyOTEuMTk3NSAzMzEuMDgxNiwyOTEuMjQ3NSAzMzEuNjM0NiwyOTEuODYzNSBDMzMyLjE4ODYsMjkyLjQ3OTUgMzMyLjEzNjYsMjkzLjQyNzUgMzMxLjUyMDYsMjkzLjk4MTUgQzMzMC4wNTI2LDI5NS4yOTg1IDMyOC41ODk2LDI5Ni42NjI1IDMyNy4xNzI2LDI5OC4wMzM1IEMzMjYuODgxNiwyOTguMzE0NSAzMjYuNTA1NiwyOTguNDU1NSAzMjYuMTI5NiwyOTguNDU1NSBNNTQ3Ljk1MzYsMzAwLjUwNzUgQzU0Ny41Njg2LDMwMC41MDc1IDU0Ny4xODM2LDMwMC4zNjA1IDU0Ni44OTA2LDMwMC4wNjY1IEM1NDUuNTAyNiwyOTguNjcyNSA1NDQuMDY2NiwyOTcuMjg0NSA1NDIuNjE5NiwyOTUuOTM2NSBDNTQyLjAxMjYsMjk1LjM3MjUgNTQxLjk3OTYsMjk0LjQyMjUgNTQyLjU0MzYsMjkzLjgxNjUgQzU0My4xMDg2LDI5My4yMDk1IDU0NC4wNTk2LDI5My4xNzY1IDU0NC42NjM2LDI5My43NDE1IEM1NDYuMTM3NiwyOTUuMTE0NSA1NDcuNjAyNiwyOTYuNTMwNSA1NDkuMDE1NiwyOTcuOTQ5NSBDNTQ5LjYwMDYsMjk4LjUzNjUgNTQ5LjU5ODYsMjk5LjQ4NjUgNTQ5LjAxMTYsMzAwLjA3MDUgQzU0OC43MTg2LDMwMC4zNjI1IDU0OC4zMzU2LDMwMC41MDc1IDU0Ny45NTM2LDMwMC41MDc1IE0zMTcuODMyNiwzMDcuMTEzNSBDMzE3LjQ3ODYsMzA3LjExMzUgMzE3LjEyMjYsMzA2Ljk4ODUgMzE2LjgzNzYsMzA2LjczNDUgQzMxNi4yMTc2LDMwNi4xODM1IDMxNi4xNjE2LDMwNS4yMzY1IDMxNi43MTI2LDMwNC42MTc1IEMzMTguMDU0NiwzMDMuMTA2NSAzMTkuNDM1NiwzMDEuNjEwNSAzMjAuODE3NiwzMDAuMTY3NSBDMzIxLjM4ODYsMjk5LjU3MDUgMzIyLjMzODYsMjk5LjU0OTUgMzIyLjkzODYsMzAwLjEyMzUgQzMyMy41MzY2LDMwMC42OTY1IDMyMy41NTY2LDMwMS42NDU1IDMyMi45ODM2LDMwMi4yNDQ1IEMzMjEuNjI3NiwzMDMuNjU4NSAzMjAuMjcyNiwzMDUuMTI3NSAzMTguOTU0NiwzMDYuNjA5NSBDMzE4LjY1OTYsMzA2Ljk0MzUgMzE4LjI0NjYsMzA3LjExMzUgMzE3LjgzMjYsMzA3LjExMzUgTTMxMC4yMTU2LDMxNi4zNzA1IEMzMDkuODk5NiwzMTYuMzcwNSAzMDkuNTc5NiwzMTYuMjcwNSAzMDkuMzA4NiwzMTYuMDYzNSBDMzA4LjY0OTYsMzE1LjU2MTUgMzA4LjUyMTYsMzE0LjYyMTUgMzA5LjAyMzYsMzEzLjk2MTUgQzMxMC4yNDA2LDMxMi4zNjM1IDMxMS41MDM2LDMxMC43NjY1IDMxMi43Nzk2LDMwOS4yMTc1IEMzMTMuMzA2NiwzMDguNTc4NSAzMTQuMjUwNiwzMDguNDg3NSAzMTQuODkwNiwzMDkuMDEyNSBDMzE1LjUzMDYsMzA5LjUzOTUgMzE1LjYyMTYsMzEwLjQ4NDUgMzE1LjA5NTYsMzExLjEyNDUgQzMxMy44NDM2LDMxMi42NDQ1IDMxMi42MDQ2LDMxNC4yMDk1IDMxMS40MTA2LDMxNS43Nzg1IEMzMTEuMTE1NiwzMTYuMTY2NSAzMTAuNjY3NiwzMTYuMzcwNSAzMTAuMjE1NiwzMTYuMzcwNSBNMzAzLjMyMzYsMzI2LjE2OTUgQzMwMy4wNDI2LDMyNi4xNjk1IDMwMi43NjA2LDMyNi4wOTE1IDMwMi41MDg2LDMyNS45Mjg1IEMzMDEuODEzNiwzMjUuNDc4NSAzMDEuNjE1NiwzMjQuNTQ5NSAzMDIuMDY1NiwzMjMuODU0NSBDMzAzLjE1MTYsMzIyLjE3NjUgMzA0LjI4OTYsMzIwLjQ5MTUgMzA1LjQ1MDYsMzE4Ljg0MTUgQzMwNS45MjY2LDMxOC4xNjQ1IDMwNi44NjI2LDMxOC4wMDI1IDMwNy41Mzk2LDMxOC40Nzg1IEMzMDguMjE3NiwzMTguOTU1NSAzMDguMzc5NiwzMTkuODkwNSAzMDcuOTAzNiwzMjAuNTY4NSBDMzA2Ljc2NTYsMzIyLjE4NTUgMzA1LjY0ODYsMzIzLjgzOTUgMzA0LjU4MjYsMzI1LjQ4NTUgQzMwNC4yOTU2LDMyNS45Mjg1IDMwMy44MTQ2LDMyNi4xNjk1IDMwMy4zMjM2LDMyNi4xNjk1IE0yOTcuMTkzNiwzMzYuNDU4NSBDMjk2Ljk1MDYsMzM2LjQ1ODUgMjk2LjcwMzYsMzM2LjM5OTUgMjk2LjQ3NjYsMzM2LjI3NTUgQzI5NS43NDg2LDMzNS44Nzg1IDI5NS40ODA2LDMzNC45Njc1IDI5NS44NzY2LDMzNC4yNDA1IEMyOTYuODM0NiwzMzIuNDgyNSAyOTcuODQyNiwzMzAuNzE1NSAyOTguODcwNiwzMjguOTg5NSBDMjk5LjI5NjYsMzI4LjI3NTUgMzAwLjIxODYsMzI4LjA0NjUgMzAwLjkyNzYsMzI4LjQ2NzUgQzMwMS42Mzk2LDMyOC44OTI1IDMwMS44NzI2LDMyOS44MTI1IDMwMS40NDk2LDMzMC41MjQ1IEMzMDAuNDM5NiwzMzIuMjE4NSAyOTkuNDUxNiwzMzMuOTUyNSAyOTguNTExNiwzMzUuNjc1NSBDMjk4LjIzOTYsMzM2LjE3NDUgMjk3LjcyNDYsMzM2LjQ1ODUgMjk3LjE5MzYsMzM2LjQ1ODUgTTI5MS44Njg2LDM0Ny4xNzQ1IEMyOTEuNjYxNiwzNDcuMTc0NSAyOTEuNDUzNiwzNDcuMTMyNSAyOTEuMjUyNiwzNDcuMDQyNSBDMjkwLjQ5NzYsMzQ2LjcwMjUgMjkwLjE2MTYsMzQ1LjgxNDUgMjkwLjUwMTYsMzQ1LjA1ODUgQzI5MS4zMjY2LDM0My4yMjg1IDI5Mi4xOTU2LDM0MS4zOTE1IDI5My4wODY2LDMzOS41OTg1IEMyOTMuNDU0NiwzMzguODU2NSAyOTQuMzU1NiwzMzguNTUyNSAyOTUuMDk3NiwzMzguOTIzNSBDMjk1LjgzODYsMzM5LjI5MjUgMjk2LjE0MTYsMzQwLjE5MjUgMjk1Ljc3MjYsMzQwLjkzNDUgQzI5NC44OTg2LDM0Mi42OTM1IDI5NC4wNDU2LDM0NC40OTU1IDI5My4yMzY2LDM0Ni4yOTE1IEMyOTIuOTg2NiwzNDYuODQ2NSAyOTIuNDQwNiwzNDcuMTc0NSAyOTEuODY4NiwzNDcuMTc0NSBNMjg3LjM2OTYsMzU4LjI3NjUgQzI4Ny4yMDA2LDM1OC4yNzY1IDI4Ny4wMjg2LDM1OC4yNDg1IDI4Ni44NTk2LDM1OC4xODc1IEMyODYuMDc5NiwzNTcuOTA2NSAyODUuNjc2NiwzNTcuMDQ1NSAyODUuOTU3NiwzNTYuMjY2NSBDMjg2LjYzOTYsMzU0LjM3OTUgMjg3LjM2OTYsMzUyLjQ3NzUgMjg4LjEyNTYsMzUwLjYxMTUgQzI4OC40Mzc2LDM0OS44NDM1IDI4OS4zMTE2LDM0OS40NzI1IDI5MC4wNzg2LDM0OS43ODU1IEMyOTAuODQ2NiwzNTAuMDk1NSAyOTEuMjE2NiwzNTAuOTcwNSAyOTAuOTA1NiwzNTEuNzM4NSBDMjkwLjE2MjYsMzUzLjU2OTUgMjg5LjQ0ODYsMzU1LjQzNTUgMjg4Ljc4MDYsMzU3LjI4NjUgQzI4OC41NTk2LDM1Ny44OTY1IDI4Ny45ODM2LDM1OC4yNzY1IDI4Ny4zNjk2LDM1OC4yNzY1IE0yODMuNzI3NiwzNjkuNzAyNSBDMjgzLjU5NDYsMzY5LjcwMjUgMjgzLjQ2MDYsMzY5LjY4NDUgMjgzLjMyNzYsMzY5LjY0NzUgQzI4Mi41Mjg2LDM2OS40MjY1IDI4Mi4wNTk2LDM2OC42MDA1IDI4Mi4yODE2LDM2Ny44MDI1IEMyODIuODEzNiwzNjUuODc2NSAyODMuMzk1NiwzNjMuOTIzNSAyODQuMDA5NiwzNjEuOTk4NSBDMjg0LjI2MDYsMzYxLjIwOTUgMjg1LjEwMzYsMzYwLjc3MDUgMjg1Ljg5NDYsMzYxLjAyNTUgQzI4Ni42ODM2LDM2MS4yNzc1IDI4Ny4xMTk2LDM2Mi4xMjE1IDI4Ni44Njc2LDM2Mi45MTA1IEMyODYuMjY0NiwzNjQuNzk3NSAyODUuNjk0NiwzNjYuNzEyNSAyODUuMTcxNiwzNjguNjAxNSBDMjg0Ljk4ODYsMzY5LjI2NjUgMjg0LjM4NDYsMzY5LjcwMjUgMjgzLjcyNzYsMzY5LjcwMjUgTTI4MC45Njg2LDM4MS4zNzQ1IEMyODAuODcyNiwzODEuMzc0NSAyODAuNzc1NiwzODEuMzY1NSAyODAuNjc3NiwzODEuMzQ1NSBDMjc5Ljg2NTYsMzgxLjE4NjUgMjc5LjMzNDYsMzgwLjM5ODUgMjc5LjQ5NTYsMzc5LjU4NDUgQzI3OS44ODA2LDM3Ny42MTU1IDI4MC4zMTE2LDM3NS42MjQ1IDI4MC43NzQ2LDM3My42Njc1IEMyODAuOTY0NiwzNzIuODYxNSAyODEuNzcxNiwzNzIuMzYzNSAyODIuNTc5NiwzNzIuNTUyNSBDMjgzLjM4NTYsMzcyLjc0NDUgMjgzLjg4NDYsMzczLjU1MTUgMjgzLjY5NDYsMzc0LjM1ODUgQzI4My4yNDA2LDM3Ni4yNzc1IDI4Mi44MTc2LDM3OC4yMzA1IDI4Mi40Mzg2LDM4MC4xNjM1IEMyODIuMjk4NiwzODAuODc3NSAyODEuNjcwNiwzODEuMzc0NSAyODAuOTY4NiwzODEuMzc0NSBNMjc5LjEwNjYsMzkzLjIyMjUgQzI3OS4wNDc2LDM5My4yMjI1IDI3OC45ODk2LDM5My4yMTk1IDI3OC45Mjk2LDM5My4yMTE1IEMyNzguMTA2NiwzOTMuMTE1NSAyNzcuNTE3NiwzOTIuMzcwNSAyNzcuNjE1NiwzOTEuNTQ3NSBDMjc3Ljg0NzYsMzg5LjU3MDUgMjc4LjEyNDYsMzg3LjU1MTUgMjc4LjQ0MDYsMzg1LjU0NzUgQzI3OC41Njg2LDM4NC43MzA1IDI3OS4zMzY2LDM4NC4xNjU1IDI4MC4xNTU2LDM4NC4yOTk1IEMyODAuOTczNiwzODQuNDI3NSAyODEuNTMyNiwzODUuMTk2NSAyODEuNDAzNiwzODYuMDE0NSBDMjgxLjA5NDYsMzg3Ljk3OTUgMjgwLjgyMjYsMzg5Ljk1OTUgMjgwLjU5MzYsMzkxLjg5NzUgQzI4MC41MDQ2LDM5Mi42NjE1IDI3OS44NTY2LDM5My4yMjI1IDI3OS4xMDY2LDM5My4yMjI1IE0yNzguMTQ2Niw0MDUuMTc3NSBDMjc4LjEyNDYsNDA1LjE3NzUgMjc4LjEwNDYsNDA1LjE3NzUgMjc4LjA4MjYsNDA1LjE3NjUgQzI3Ny4yNTQ2LDQwNS4xNDE1IDI3Ni42MTI2LDQwNC40NDI1IDI3Ni42NDY2LDQwMy42MTU1IEMyNzYuNzMwNiw0MDEuNjI0NSAyNzYuODU0NiwzOTkuNTkwNSAyNzcuMDE2NiwzOTcuNTcxNSBDMjc3LjA4MTYsMzk2Ljc0NDUgMjc3LjgxNTYsMzk2LjE0MTUgMjc4LjYzMTYsMzk2LjE5NjUgQzI3OS40NTY2LDM5Ni4yNjI1IDI4MC4wNzM2LDM5Ni45ODU1IDI4MC4wMDY2LDM5Ny44MTE1IEMyNzkuODQ3NiwzOTkuNzkyNSAyNzkuNzI1Niw0MDEuNzg4NSAyNzkuNjQ0Niw0MDMuNzQwNSBDMjc5LjYxMDYsNDA0LjU0NjUgMjc4Ljk0NjYsNDA1LjE3NzUgMjc4LjE0NjYsNDA1LjE3NzUgTTI3OC4wODE2LDQxNy4xNjk1IEMyNzcuMjc2Niw0MTcuMTY5NSAyNzYuNjEwNiw0MTYuNTMwNSAyNzYuNTgzNiw0MTUuNzE4NSBDMjc2LjUyODYsNDE0LjAwMzUgMjc2LjQ5OTYsNDEyLjI0ODUgMjc2LjQ5OTYsNDEwLjUwMDUgTDI3Ni41MDE2LDQwOS42Njc1IEMyNzYuNTA0Niw0MDguODM5NSAyNzcuMTc1Niw0MDguMTcxNSAyNzguMDAxNiw0MDguMTcxNSBMMjc4LjAwNjYsNDA4LjE3MTUgQzI3OC44MzU2LDQwOC4xNzQ1IDI3OS41MDQ2LDQwOC44NDg1IDI3OS41MDE2LDQwOS42NzY1IEwyNzkuNDk5Niw0MTAuNTAwNSBDMjc5LjQ5OTYsNDEyLjIxNTUgMjc5LjUyNzYsNDEzLjkzODUgMjc5LjU4MTYsNDE1LjYyMTUgQzI3OS42MDk2LDQxNi40NDk1IDI3OC45NTk2LDQxNy4xNDI1IDI3OC4xMzE2LDQxNy4xNjg1IEMyNzguMTE1Niw0MTcuMTY5NSAyNzguMDk4Niw0MTcuMTY5NSAyNzguMDgxNiw0MTcuMTY5NSBNNTkzLjc4NzYsNDIwLjI3MjUgQzU5My43NjI2LDQyMC4yNzI1IDU5My43MzY2LDQyMC4yNzE1IDU5My43MDk2LDQyMC4yNzA1IEM1OTIuODgyNiw0MjAuMjI3NSA1OTIuMjQ1Niw0MTkuNTIyNSA1OTIuMjg4Niw0MTguNjk1NSBDNTkyLjM5MDYsNDE2LjczNDUgNTkyLjQ1NTYsNDE0LjczNjUgNTkyLjQ4MzYsNDEyLjc1NTUgQzU5Mi40OTQ2LDQxMS45MzQ1IDU5My4xNjM2LDQxMS4yNzc1IDU5My45ODM2LDQxMS4yNzc1IEw1OTQuMDA0Niw0MTEuMjc3NSBDNTk0LjgzMjYsNDExLjI4OTUgNTk1LjQ5NDYsNDExLjk2OTUgNTk1LjQ4MzYsNDEyLjc5ODUgQzU5NS40NTQ2LDQxNC44MTU1IDU5NS4zODc2LDQxNi44NTE1IDU5NS4yODU2LDQxOC44NDk1IEM1OTUuMjQ0Niw0MTkuNjUwNSA1OTQuNTgwNiw0MjAuMjcyNSA1OTMuNzg3Niw0MjAuMjcyNSBNMjc4LjkxNjYsNDI5LjEzMjUgQzI3OC4xNjE2LDQyOS4xMzI1IDI3Ny41MTA2LDQyOC41NjI1IDI3Ny40Mjc2LDQyNy43OTM1IEMyNzcuMjEyNiw0MjUuODAzNSAyNzcuMDMyNiw0MjMuNzc1NSAyNzYuODkyNiw0MjEuNzYzNSBDMjc2LjgzNDYsNDIwLjkzNzUgMjc3LjQ1NzYsNDIwLjIyMDUgMjc4LjI4NDYsNDIwLjE2MzUgQzI3OS4xMDg2LDQyMC4wODg1IDI3OS44Mjg2LDQyMC43Mjc1IDI3OS44ODQ2LDQyMS41NTQ1IEMyODAuMDIyNiw0MjMuNTI4NSAyODAuMTk5Niw0MjUuNTE5NSAyODAuNDEwNiw0MjcuNDcxNSBDMjgwLjQ5ODYsNDI4LjI5NDUgMjc5LjkwMzYsNDI5LjAzNTUgMjc5LjA3OTYsNDI5LjEyNDUgQzI3OS4wMjU2LDQyOS4xMjk1IDI3OC45NzA2LDQyOS4xMzI1IDI3OC45MTY2LDQyOS4xMzI1IE01ODQuMTMwNiw0NjcuMDg2NSBDNTgzLjk1NjYsNDY3LjA4NjUgNTgzLjc4MDYsNDY3LjA1NjUgNTgzLjYwNzYsNDY2Ljk5MjUgQzU4Mi44MzA2LDQ2Ni43MDM1IDU4Mi40MzY2LDQ2NS44Mzk1IDU4Mi43MjU2LDQ2NS4wNjM1IEM1ODMuNDExNiw0NjMuMjE5NSA1ODQuMDcyNiw0NjEuMzM0NSA1ODQuNjg5Niw0NTkuNDU4NSBDNTg0Ljk0OTYsNDU4LjY3MTUgNTg1Ljc5ODYsNDU4LjI0MjUgNTg2LjU4MjYsNDU4LjUwMTUgQzU4Ny4zNjk2LDQ1OC43NjA1IDU4Ny43OTc2LDQ1OS42MDg1IDU4Ny41Mzg2LDQ2MC4zOTU1IEM1ODYuOTEwNiw0NjIuMzA3NSA1ODYuMjM2Niw0NjQuMjMwNSA1ODUuNTM2Niw0NjYuMTEwNSBDNTg1LjMxMTYsNDY2LjcxMzUgNTg0LjczOTYsNDY3LjA4NjUgNTg0LjEzMDYsNDY3LjA4NjUgTTU3OS41MzY2LDQ3OC4xMjk1IEM1NzkuMzI2Niw0NzguMTI5NSA1NzkuMTEyNiw0NzguMDg1NSA1NzguOTA5Niw0NzcuOTkyNSBDNTc4LjE1NjYsNDc3LjY0NDUgNTc3LjgyODYsNDc2Ljc1MzUgNTc4LjE3NDYsNDc2LjAwMTUgQzU3OC45OTY2LDQ3NC4yMTk1IDU3OS43OTc2LDQ3Mi4zOTM1IDU4MC41NTQ2LDQ3MC41NzU1IEM1ODAuODcxNiw0NjkuODExNSA1ODEuNzQ4Niw0NjkuNDQ4NSA1ODIuNTE1Niw0NjkuNzY2NSBDNTgzLjI4MDYsNDcwLjA4NDUgNTgzLjY0MjYsNDcwLjk2MjUgNTgzLjMyNDYsNDcxLjcyNzUgQzU4Mi41NTI2LDQ3My41ODE1IDU4MS43Mzc2LDQ3NS40NDI1IDU4MC44OTk2LDQ3Ny4yNTc1IEM1ODAuNjQ1Niw0NzcuODA2NSA1ODAuMTAzNiw0NzguMTI5NSA1NzkuNTM2Niw0NzguMTI5NSBNMjk2LjQ2NDYsNDg2LjE4NTUgQzI5NS45Mjg2LDQ4Ni4xODU1IDI5NS40MTA2LDQ4NS44OTc1IDI5NS4xMzk2LDQ4NS4zOTA1IEMyOTQuMTk2Niw0ODMuNjIxNSAyOTMuMjcxNiw0ODEuODAxNSAyOTIuMzkwNiw0NzkuOTg0NSBDMjkyLjAyOTYsNDc5LjIzOTUgMjkyLjM0MDYsNDc4LjM0MTUgMjkzLjA4NTYsNDc3Ljk4MDUgQzI5My44MzE2LDQ3Ny42MTk1IDI5NC43Mjk2LDQ3Ny45Mjk1IDI5NS4wODk2LDQ3OC42NzU1IEMyOTUuOTUzNiw0ODAuNDU5NSAyOTYuODYyNiw0ODIuMjQzNSAyOTcuNzg3Niw0ODMuOTgwNSBDMjk4LjE3NzYsNDg0LjcxMDUgMjk3LjkwMDYsNDg1LjYyMDUgMjk3LjE2ODYsNDg2LjAwOTUgQzI5Ni45NDQ2LDQ4Ni4xMjg1IDI5Ni43MDM2LDQ4Ni4xODU1IDI5Ni40NjQ2LDQ4Ni4xODU1IE01NzQuMTExNiw0ODguNzk4NSBDNTczLjg2MzYsNDg4Ljc5ODUgNTczLjYxMzYsNDg4LjczODUgNTczLjM4MTYsNDg4LjYwOTUgQzU3Mi42NTg2LDQ4OC4yMDY1IDU3Mi4zOTg2LDQ4Ny4yOTI1IDU3Mi44MDE2LDQ4Ni41Njg1IEM1NzMuNzU4Niw0ODQuODUxNSA1NzQuNjk3Niw0ODMuMDkxNSA1NzUuNTg5Niw0ODEuMzM1NSBDNTc1Ljk2NTYsNDgwLjU5NjUgNTc2Ljg2ODYsNDgwLjMwMDUgNTc3LjYwNjYsNDgwLjY3ODUgQzU3OC4zNDQ2LDQ4MS4wNTM1IDU3OC42Mzk2LDQ4MS45NTc1IDU3OC4yNjM2LDQ4Mi42OTU1IEM1NzcuMzUzNiw0ODQuNDg1NSA1NzYuMzk3Niw0ODYuMjc5NSA1NzUuNDIyNiw0ODguMDI5NSBDNTc1LjE0ODYsNDg4LjUyMTUgNTc0LjYzNzYsNDg4Ljc5ODUgNTc0LjExMTYsNDg4Ljc5ODUgTTMwMi41MTE2LDQ5Ni41NjU1IEMzMDIuMDE1Niw0OTYuNTY1NSAzMDEuNTMwNiw0OTYuMzE5NSAzMDEuMjQ0Niw0OTUuODY5NSBDMzAwLjE2MzYsNDk0LjE2NzUgMjk5LjEwNDYsNDkyLjQyNDUgMjk4LjA5MzYsNDkwLjY4OTUgQzI5Ny42NzY2LDQ4OS45NzM1IDI5Ny45MTg2LDQ4OS4wNTU1IDI5OC42MzQ2LDQ4OC42Mzg1IEMyOTkuMzQ4Niw0ODguMjIyNSAzMDAuMjY4Niw0ODguNDYyNSAzMDAuNjg1Niw0ODkuMTc5NSBDMzAxLjY3NzYsNDkwLjg4MTUgMzAyLjcxNzYsNDkyLjU5MTUgMzAzLjc3NzYsNDk0LjI2MTUgQzMwNC4yMjA2LDQ5NC45NjA1IDMwNC4wMTM2LDQ5NS44ODc1IDMwMy4zMTQ2LDQ5Ni4zMzI1IEMzMDMuMDY1Niw0OTYuNDkwNSAzMDIuNzg2Niw0OTYuNTY1NSAzMDIuNTExNiw0OTYuNTY1NSBNNTY3Ljg4OTYsNDk5LjAzMTUgQzU2Ny42MDU2LDQ5OS4wMzE1IDU2Ny4zMTg2LDQ5OC45NTE1IDU2Ny4wNjM2LDQ5OC43ODI1IEM1NjYuMzcxNiw0OTguMzI1NSA1NjYuMTgyNiw0OTcuMzk0NSA1NjYuNjM5Niw0OTYuNzA0NSBDNTY3LjcyMTYsNDk1LjA2NzUgNTY4Ljc5MDYsNDkzLjM4MTUgNTY5LjgxNjYsNDkxLjY5MzUgQzU3MC4yNDY2LDQ5MC45ODY1IDU3MS4xNjc2LDQ5MC43NjI1IDU3MS44Nzc2LDQ5MS4xOTA1IEM1NzIuNTg1Niw0OTEuNjIxNSA1NzIuODEwNiw0OTIuNTQzNSA1NzIuMzgwNiw0OTMuMjUxNSBDNTcxLjMzNDYsNDk0Ljk3MTUgNTcwLjI0NDYsNDk2LjY5MDUgNTY5LjE0MTYsNDk4LjM1ODUgQzU2OC44NTM2LDQ5OC43OTQ1IDU2OC4zNzU2LDQ5OS4wMzE1IDU2Ny44ODk2LDQ5OS4wMzE1IE01NjAuOTA3Niw1MDguNzY4NSBDNTYwLjU4NTYsNTA4Ljc2ODUgNTYwLjI2MjYsNTA4LjY2NjUgNTU5Ljk4ODYsNTA4LjQ1NDUgQzU1OS4zMzM2LDUwNy45NDY1IDU1OS4yMTQ2LDUwNy4wMDM1IDU1OS43MjI2LDUwNi4zNDg1IEM1NjAuOTIzNiw1MDQuODAxNSA1NjIuMTE3Niw1MDMuMjAxNSA1NjMuMjcyNiw1MDEuNTkxNSBDNTYzLjc1NTYsNTAwLjkxODUgNTY0LjY5MzYsNTAwLjc2MjUgNTY1LjM2NTYsNTAxLjI0NzUgQzU2Ni4wMzg2LDUwMS43Mjk1IDU2Ni4xOTM2LDUwMi42Njc1IDU2NS43MDk2LDUwMy4zMzk1IEM1NjQuNTMzNiw1MDQuOTgwNSA1NjMuMzE2Niw1MDYuNjExNSA1NjIuMDkzNiw1MDguMTg4NSBDNTYxLjc5NzYsNTA4LjU2OTUgNTYxLjM1NDYsNTA4Ljc2ODUgNTYwLjkwNzYsNTA4Ljc2ODUgTTU1My4yMDY2MDIsNTE3Ljk1NjUgQzU1Mi44NDc2LDUxNy45NTY1IDU1Mi40ODc2LDUxNy44Mjg1IDU1Mi4yMDA2LDUxNy41Njg1IEM1NTEuNTg1Niw1MTcuMDEyNSA1NTEuNTM4Niw1MTYuMDYzNSA1NTIuMDk0Niw1MTUuNDQ5NSBDNTUzLjQwNTYsNTE0LjAwMDUgNTU0LjcxNzYsNTEyLjQ5NDUgNTU1Ljk5NTYsNTEwLjk3MTUgQzU1Ni41Mjc2LDUxMC4zMzc1IDU1Ny40NzE2LDUxMC4yNTM1IDU1OC4xMDg2LDUxMC43ODY1IEM1NTguNzQzNiw1MTEuMzE4NSA1NTguODI2Niw1MTIuMjY0NSA1NTguMjkzNiw1MTIuODk5NSBDNTU2Ljk5MjYsNTE0LjQ1MTUgNTU1LjY1NTYsNTE1Ljk4NjUgNTU0LjMxOTYsNTE3LjQ2MjUgQzU1NC4wMjM2LDUxNy43OTA1IDU1My42MTU2LDUxNy45NTY1IDU1My4yMDY2MDIsNTE3Ljk1NjUgTTU0NC44MzI2LDUyNi41NDE1IEM1NDQuNDM2Niw1MjYuNTQxNSA1NDQuMDQwNiw1MjYuMzg0NSA1NDMuNzQ1Niw1MjYuMDc0NSBDNTQzLjE3NDYsNTI1LjQ3NDUgNTQzLjE5OTYsNTI0LjUyNDUgNTQzLjc5OTYsNTIzLjk1NDUgQzU0NS4yMTk2LDUyMi42MDM1IDU0Ni42NDI2LDUyMS4xOTk1IDU0OC4wMjg2LDUxOS43Nzk1IEM1NDguNjA3Niw1MTkuMTg2NSA1NDkuNTU2Niw1MTkuMTc1NSA1NTAuMTQ5Niw1MTkuNzUzNSBDNTUwLjc0MjYsNTIwLjMzMjUgNTUwLjc1MzYsNTIxLjI4MjUgNTUwLjE3NDYsNTIxLjg3NTUgQzU0OC43NjM2LDUyMy4zMjE1IDU0Ny4zMTM2LDUyNC43NTE1IDU0NS44NjY2LDUyNi4xMjc1IEM1NDUuNTc2Niw1MjYuNDA0NSA1NDUuMjAzNiw1MjYuNTQxNSA1NDQuODMyNiw1MjYuNTQxNSBNNTM1LjgzMDYsNTM0LjQ3MjUgQzUzNS4zOTY2LDUzNC40NzI1IDUzNC45NjQ2LDUzNC4yODQ1IDUzNC42Njc2LDUzMy45MjE1IEM1MzQuMTQ0Niw1MzMuMjc5NSA1MzQuMjM5Niw1MzIuMzM0NSA1MzQuODgwNiw1MzEuODEwNSBDNTM2LjQwOTYsNTMwLjU2MjUgNTM3LjkzNDYsNTI5LjI2OTUgNTM5LjQxNDYsNTI3Ljk2NDUgQzU0MC4wMzY2LDUyNy40MTc1IDU0MC45ODQ2LDUyNy40Nzc1IDU0MS41MzI2LDUyOC4wOTk1IEM1NDIuMDc4Niw1MjguNzIwNSA1NDIuMDE5Niw1MjkuNjY4NSA1NDEuMzk3Niw1MzAuMjE2NSBDNTM5Ljg4OTYsNTMxLjU0NDUgNTM4LjMzNTYsNTMyLjg2MzUgNTM2Ljc3OTYsNTM0LjEzNDUgQzUzNi40OTk2LDUzNC4zNjI1IDUzNi4xNjM2LDUzNC40NzI1IDUzNS44MzA2LDUzNC40NzI1IE0zNDMuMzY1Niw1NDAuMDA5NSBDMzQzLjA1OTYsNTQwLjAwOTUgMzQyLjc1MTYsNTM5LjkxNzUgMzQyLjQ4NjYsNTM5LjcyNDUgQzM0MC44NTc2LDUzOC41NDM1IDMzOS4yMzE2LDUzNy4zMTg1IDMzNy42NTU2LDUzNi4wODI1IEMzMzcuMDAzNiw1MzUuNTcwNSAzMzYuODg5Niw1MzQuNjI3NSAzMzcuNDAwNiw1MzMuOTc1NSBDMzM3LjkxMTYsNTMzLjMyNDUgMzM4Ljg1NTYsNTMzLjIxMDUgMzM5LjUwNjYsNTMzLjcyMDUgQzM0MS4wNTM2LDUzNC45MzQ1IDM0Mi42NDg2LDUzNi4xMzY1IDM0NC4yNDU2LDUzNy4yOTQ1IEMzNDQuOTE2Niw1MzcuNzgxNSAzNDUuMDY2Niw1MzguNzE5NSAzNDQuNTgwNiw1MzkuMzg5NSBDMzQ0LjI4NjYsNTM5Ljc5NDUgMzQzLjgyODYsNTQwLjAwOTUgMzQzLjM2NTYsNTQwLjAwOTUgTTUyNi4yNTE2LDU0MS43MDU1IEM1MjUuNzc4Niw1NDEuNzA1NSA1MjUuMzEyNiw1NDEuNDgxNSA1MjUuMDIwNiw1NDEuMDYzNSBDNTI0LjU0NjYsNTQwLjM4MzUgNTI0LjcxMzYsNTM5LjQ0ODUgNTI1LjM5MjYsNTM4Ljk3NDUgQzUyNy4wMDk2LDUzNy44NDc1IDUyOC42Mjg2LDUzNi42NzE1IDUzMC4yMDU2LDUzNS40ODI1IEM1MzAuODY2Niw1MzQuOTgyNSA1MzEuODA2Niw1MzUuMTE1NSA1MzIuMzA2Niw1MzUuNzc2NSBDNTMyLjgwNTYsNTM2LjQzNzUgNTMyLjY3MzYsNTM3LjM3NzUgNTMyLjAxMjYsNTM3Ljg3NjUgQzUzMC40MDY2LDUzOS4wODg1IDUyOC43NTY2LDU0MC4yODY1IDUyNy4xMDk2LDU0MS40MzU1IEM1MjYuODQ3Niw1NDEuNjE4NSA1MjYuNTQ4Niw1NDEuNzA1NSA1MjYuMjUxNiw1NDEuNzA1NSBNMzUzLjMyMjYsNTQ2LjY2NzUgQzM1My4wNTM2LDU0Ni42Njc1IDM1Mi43ODI2LDU0Ni41OTY1IDM1Mi41MzY2LDU0Ni40NDU1IEMzNTAuODIzNiw1NDUuMzkxNSAzNDkuMTEwNiw1NDQuMjkyNSAzNDcuNDQ4Niw1NDMuMTgwNSBDMzQ2Ljc1OTYsNTQyLjcxOTUgMzQ2LjU3NTYsNTQxLjc4ODUgMzQ3LjAzNTYsNTQxLjA5OTUgQzM0Ny40OTY2LDU0MC40MTA1IDM0OC40Mjk2LDU0MC4yMjg1IDM0OS4xMTY2LDU0MC42ODY1IEMzNTAuNzQ2Niw1NDEuNzc4NSAzNTIuNDI2Niw1NDIuODU1NSAzNTQuMTA5Niw1NDMuODkwNSBDMzU0LjgxNDYsNTQ0LjMyNDUgMzU1LjAzNTYsNTQ1LjI0ODUgMzU0LjYwMDYsNTQ1Ljk1NDUgQzM1NC4zMTc2LDU0Ni40MTQ1IDM1My44MjU2LDU0Ni42Njc1IDM1My4zMjI2LDU0Ni42Njc1IE01MTYuMTQ2Niw1NDguMTkzNSBDNTE1LjYzMzYsNTQ4LjE5MzUgNTE1LjEzMjYsNTQ3LjkyOTUgNTE0Ljg1MzYsNTQ3LjQ1NTUgQzUxNC40MzI2LDU0Ni43NDE1IDUxNC42Njk2LDU0NS44MjI1IDUxNS4zODM2LDU0NS40MDE1IEM1MTcuMDg2Niw1NDQuMzk3NSA1MTguNzg5Niw1NDMuMzQ3NSA1MjAuNDQ4Niw1NDIuMjgzNSBDNTIxLjE0NDYsNTQxLjgzNTUgNTIyLjA3MzYsNTQyLjAzNjUgNTIyLjUyMDYsNTQyLjczNDUgQzUyMi45Njg2LDU0My40MzA1IDUyMi43NjY2LDU0NC4zNTk1IDUyMi4wNjk2LDU0NC44MDY1IEM1MjAuMzc5Niw1NDUuODkyNSA1MTguNjQzNiw1NDYuOTYxNSA1MTYuOTA3Niw1NDcuOTg1NSBDNTE2LjY2NzYsNTQ4LjEyNjUgNTE2LjQwNjYsNTQ4LjE5MzUgNTE2LjE0NjYsNTQ4LjE5MzUgTTM2My43NTA2LDU1Mi41NTE1IEMzNjMuNTE5Niw1NTIuNTUxNSAzNjMuMjg1Niw1NTIuNDk4NSAzNjMuMDY1Niw1NTIuMzg0NSBDMzYxLjI3NjYsNTUxLjQ2MzUgMzU5LjQ4NjYsNTUwLjQ5OTUgMzU3Ljc0NDYsNTQ5LjUxNjUgQzM1Ny4wMjM2LDU0OS4xMDk1IDM1Ni43Njg2LDU0OC4xOTQ1IDM1Ny4xNzU2LDU0Ny40NzI1IEMzNTcuNTgyNiw1NDYuNzUxNSAzNTguNDk4Niw1NDYuNTAwNSAzNTkuMjE5Niw1NDYuOTAzNSBDMzYwLjkyNzYsNTQ3Ljg2NzUgMzYyLjY4MzYsNTQ4LjgxNDUgMzY0LjQzODYsNTQ5LjcxODUgQzM2NS4xNzU2LDU1MC4wOTc1IDM2NS40NjQ2LDU1MS4wMDE1IDM2NS4wODQ2LDU1MS43Mzg1IEMzNjQuODE5Niw1NTIuMjU0NSAzNjQuMjk0Niw1NTIuNTUxNSAzNjMuNzUwNiw1NTIuNTUxNSBNNTA1LjU3NTYsNTUzLjg5NjUgQzUwNS4wMjE2LDU1My44OTY1IDUwNC40ODg2LDU1My41ODg1IDUwNC4yMjc2LDU1My4wNTc1IEM1MDMuODYyNiw1NTIuMzE0NSA1MDQuMTY5Niw1NTEuNDE1NSA1MDQuOTEyNiw1NTEuMDQ5NSBDNTA2LjY3NDYsNTUwLjE4NTUgNTA4LjQ1NDYsNTQ5LjI2ODUgNTEwLjIwMzYsNTQ4LjMyNTUgQzUxMC45MzQ2LDU0Ny45MzE1IDUxMS44NDI2LDU0OC4yMDQ1IDUxMi4yMzY2LDU0OC45MzM1IEM1MTIuNjI5Niw1NDkuNjYzNSA1MTIuMzU3Niw1NTAuNTcyNSA1MTEuNjI3Niw1NTAuOTY1NSBDNTA5Ljg0NDYsNTUxLjkyNjUgNTA4LjAzMTYsNTUyLjg2MTUgNTA2LjIzNTYsNTUzLjc0MzUgQzUwNi4wMjI2LDU1My44NDc1IDUwNS43OTY2LDU1My44OTY1IDUwNS41NzU2LDU1My44OTY1IE0zNzQuNTg4Niw1NTcuNjIxNSBDMzc0LjM5NDYsNTU3LjYyMTUgMzc0LjE5NzYsNTU3LjU4MzUgMzc0LjAwNjYsNTU3LjUwMjUgQzM3Mi4xNjE2LDU1Ni43MjQ1IDM3MC4zMDQ2LDU1NS44OTg1IDM2OC40ODg2LDU1NS4wNDg1IEMzNjcuNzM4Niw1NTQuNjk4NSAzNjcuNDEzNiw1NTMuODA1NSAzNjcuNzY1Niw1NTMuMDU0NSBDMzY4LjExNjYsNTUyLjMwMzUgMzY5LjAwNjYsNTUxLjk3ODUgMzY5Ljc1OTYsNTUyLjMzMjUgQzM3MS41NDE2LDU1My4xNjU1IDM3My4zNjM2LDU1My45NzU1IDM3NS4xNzI2LDU1NC43Mzk1IEMzNzUuOTM2Niw1NTUuMDYxNSAzNzYuMjkzNiw1NTUuOTQxNSAzNzUuOTcxNiw1NTYuNzA0NSBDMzc1LjczMDYsNTU3LjI3NzUgMzc1LjE3MzYsNTU3LjYyMTUgMzc0LjU4ODYsNTU3LjYyMTUgTTQ5NC41ODk2LDU1OC43ODA1IEM0OTMuOTk1Niw1NTguNzgwNSA0OTMuNDMxNiw1NTguNDIzNSA0OTMuMTk3Niw1NTcuODM2NSBDNDkyLjg4OTYsNTU3LjA2NzUgNDkzLjI2MzYsNTU2LjE5NTUgNDk0LjAzMzYsNTU1Ljg4NzUgQzQ5NS44Njc2LDU1NS4xNTQ1IDQ5Ny43MTI2LDU1NC4zNzU1IDQ5OS41MTk2LDU1My41NzI1IEM1MDAuMjc4Niw1NTMuMjM1NSA1MDEuMTYxNiw1NTMuNTc4NSA1MDEuNDk5Niw1NTQuMzM0NSBDNTAxLjgzNTYsNTU1LjA5MDUgNTAxLjQ5NTYsNTU1Ljk3NzUgNTAwLjczODYsNTU2LjMxNDUgQzQ5OC44OTY2LDU1Ny4xMzI1IDQ5Ny4wMTU2LDU1Ny45MjU1IDQ5NS4xNDY2LDU1OC42NzI1IEM0OTQuOTYzNiw1NTguNzQ2NSA0OTQuNzc1Niw1NTguNzgwNSA0OTQuNTg5Niw1NTguNzgwNSBNMzg1Ljc5MzYsNTYxLjg1NTUgQzM4NS42MzY2LDU2MS44NTU1IDM4NS40NzU2LDU2MS44MzE1IDM4NS4zMTc2LDU2MS43Nzg1IEMzODMuNDA2Niw1NjEuMTM3NSAzODEuNDg3Niw1NjAuNDU0NSAzNzkuNjEzNiw1NTkuNzQ2NSBDMzc4LjgzNzYsNTU5LjQ1MzUgMzc4LjQ0NzYsNTU4LjU4NjUgMzc4Ljc0MDYsNTU3LjgxMjUgQzM3OS4wMzQ2LDU1Ny4wMzc1IDM3OS45MDE2LDU1Ni42NTE1IDM4MC42NzM2LDU1Ni45Mzk1IEMzODIuNTExNiw1NTcuNjM0NSAzODQuMzk0Niw1NTguMzA1NSAzODYuMjcwNiw1NTguOTMyNSBDMzg3LjA1NTYsNTU5LjE5NjUgMzg3LjQ3OTYsNTYwLjA0NTUgMzg3LjIxNjYsNTYwLjgzMjUgQzM4Ny4wMDU2LDU2MS40NTk1IDM4Ni40MjE2LDU2MS44NTU1IDM4NS43OTM2LDU2MS44NTU1IE00ODMuMjU3Niw1NjIuODExNSBDNDgyLjYxOTYsNTYyLjgxMTUgNDgyLjAyNzYsNTYyLjQwMTUgNDgxLjgyNjYsNTYxLjc1OTUgQzQ4MS41Nzg2LDU2MC45Njg1IDQ4Mi4wMTg2LDU2MC4xMjc1IDQ4Mi44MDk2LDU1OS44Nzk1IEM0ODQuNjk1Niw1NTkuMjg5NSA0ODYuNTk3Niw1NTguNjU0NSA0ODguNDYxNiw1NTcuOTkyNSBDNDg5LjI0MTYsNTU3LjcxMDUgNDkwLjA5OTYsNTU4LjEyMTUgNDkwLjM3NjYsNTU4LjkwMzUgQzQ5MC42NTQ2LDU1OS42ODM1IDQ5MC4yNDY2LDU2MC41NDE1IDQ4OS40NjU2LDU2MC44MTg1IEM0ODcuNTY2Niw1NjEuNDk0NSA0ODUuNjI3Niw1NjIuMTQxNSA0ODMuNzA1Niw1NjIuNzQzNSBDNDgzLjU1NjYsNTYyLjc5MDUgNDgzLjQwNjYsNTYyLjgxMTUgNDgzLjI1NzYsNTYyLjgxMTUgTTM5Ny4zMDM2LDU2NS4yMjU1IEMzOTcuMTgyNiw1NjUuMjI1NSAzOTcuMDU5Niw1NjUuMjEwNSAzOTYuOTM2Niw1NjUuMTgwNSBDMzk0Ljk4NzYsNTY0LjY4OTUgMzkzLjAyMTYsNTY0LjE1NDUgMzkxLjA5MzYsNTYzLjU4OTUgQzM5MC4yOTg2LDU2My4zNTc1IDM4OS44NDI2LDU2Mi41MjM1IDM5MC4wNzY2LDU2MS43Mjg1IEMzOTAuMzA4Niw1NjAuOTMzNSAzOTEuMTQ2Niw1NjAuNDgyNSAzOTEuOTM3Niw1NjAuNzEwNSBDMzkzLjgyODYsNTYxLjI2NDUgMzk1Ljc1NjYsNTYxLjc4OTUgMzk3LjY2ODYsNTYyLjI3MDUgQzM5OC40NzI2LDU2Mi40NzM1IDM5OC45NTk2LDU2My4yODg1IDM5OC43NTc2LDU2NC4wOTE1IEMzOTguNTg1Niw1NjQuNzcyNSAzOTcuOTc0Niw1NjUuMjI1NSAzOTcuMzAzNiw1NjUuMjI1NSBNNDcxLjY4MTYsNTY1Ljk1NDUgQzQ3MC45OTg2LDU2NS45NTQ1IDQ3MC4zODA2LDU2NS40ODU1IDQ3MC4yMjA2LDU2NC43OTI1IEM0NzAuMDM0Niw1NjMuOTg0NSA0NzAuNTM3Niw1NjMuMTc4NSA0NzEuMzQ0Niw1NjIuOTkyNSBDNDczLjI1ODYsNTYyLjU1MDUgNDc1LjE5NzYsNTYyLjA2MzUgNDc3LjEwNjYsNTYxLjU0NTUgQzQ3Ny45MTE2LDU2MS4zMzQ1IDQ3OC43MzA2LDU2MS44MDI1IDQ3OC45NDY2LDU2Mi42MDE1IEM0NzkuMTYyNiw1NjMuNDAxNSA0NzguNjkxNiw1NjQuMjI1NSA0NzcuODkxNiw1NjQuNDQyNSBDNDc1Ljk0NjYsNTY0Ljk2ODUgNDczLjk3MDYsNTY1LjQ2NDUgNDcyLjAyMDYsNTY1LjkxNjUgQzQ3MS45MDY2LDU2NS45NDE1IDQ3MS43OTI2LDU2NS45NTQ1IDQ3MS42ODE2LDU2NS45NTQ1IE00MDkuMDM5Niw1NjcuNzA4NSBDNDA4Ljk1NTYsNTY3LjcwODUgNDA4Ljg3MDYsNTY3LjcwMTUgNDA4Ljc4NDYsNTY3LjY4NjUgQzQwNi44MjE2LDU2Ny4zNDk1IDQwNC44MjA2LDU2Ni45NjY1IDQwMi44MzY2LDU2Ni41NDc1IEM0MDIuMDI2Niw1NjYuMzc1NSA0MDEuNTA4Niw1NjUuNTgwNSA0MDEuNjc5Niw1NjQuNzY5NSBDNDAxLjg1MTYsNTYzLjk1OTUgNDAyLjY0NjYsNTYzLjQ0NjUgNDAzLjQ1NzYsNTYzLjYxMjUgQzQwNS40MDM2LDU2NC4wMjM1IDQwNy4zNjY2LDU2NC4zOTk1IDQwOS4yOTE2LDU2NC43Mjk1IEM0MTAuMTA4Niw1NjQuODY5NSA0MTAuNjU2Niw1NjUuNjQ0NSA0MTAuNTE2Niw1NjYuNDYxNSBDNDEwLjM5MTYsNTY3LjE5MjUgNDA5Ljc1NjYsNTY3LjcwODUgNDA5LjAzOTYsNTY3LjcwODUgTTQ1OS44OTk2LDU2OC4yMDQ1IEM0NTkuMTY5Niw1NjguMjA0NSA0NTguNTMxNiw1NjcuNjcxNSA0NTguNDE3Niw1NjYuOTI4NSBDNDU4LjI5MzYsNTY2LjExMDUgNDU4Ljg1NzYsNTY1LjM0NTUgNDU5LjY3NjYsNTY1LjIyMDUgQzQ2MS42MTU2LDU2NC45MjY1IDQ2My41ODU2LDU2NC41ODk1IDQ2NS41MzM2LDU2NC4yMTg1IEM0NjYuMzM4Niw1NjQuMDY3NSA0NjcuMTMxNiw1NjQuNTk3NSA0NjcuMjg2Niw1NjUuNDEyNSBDNDY3LjQ0MjYsNTY2LjIyNTUgNDY2LjkwODYsNTY3LjAxMDUgNDY2LjA5MzYsNTY3LjE2NjUgQzQ2NC4xMTA2LDU2Ny41NDM1IDQ2Mi4xMDI2LDU2Ny44ODc1IDQ2MC4xMjU2LDU2OC4xODc1IEM0NjAuMDQ5Niw1NjguMTk4NSA0NTkuOTc0Niw1NjguMjA0NSA0NTkuODk5Niw1NjguMjA0NSBNNDIwLjkyNzYsNTY5LjI5MTUgQzQyMC44Nzk2LDU2OS4yOTE1IDQyMC44MzI2LDU2OS4yODk1IDQyMC43ODU2LDU2OS4yODQ1IEM0MTguNzk0Niw1NjkuMDk2NSA0MTYuNzcxNiw1NjguODY2NSA0MTQuNzY5Niw1NjguNjAwNSBDNDEzLjk0ODYsNTY4LjQ5MTUgNDEzLjM3MDYsNTY3LjczNjUgNDEzLjQ3OTYsNTY2LjkxNjUgQzQxMy41ODg2LDU2Ni4wOTM1IDQxNC4zNjE2LDU2NS41MTM1IDQxNS4xNjM2LDU2NS42MjU1IEM0MTcuMTI4Niw1NjUuODg3NSA0MTkuMTE0Niw1NjYuMTEzNSA0MjEuMDY2Niw1NjYuMjk3NSBDNDIxLjg5MTYsNTY2LjM3NTUgNDIyLjQ5NjYsNTY3LjEwNzUgNDIyLjQxODYsNTY3LjkzMTUgQzQyMi4zNDU2LDU2OC43MDk1IDQyMS42OTI2LDU2OS4yOTE1IDQyMC45Mjc2LDU2OS4yOTE1IE00NDcuOTgzNiw1NjkuNTUxNSBDNDQ3LjIwNTYsNTY5LjU1MTUgNDQ2LjU0ODYsNTY4Ljk1MjUgNDQ2LjQ4OTYsNTY4LjE2NDUgQzQ0Ni40Mjc2LDU2Ny4zMzc1IDQ0Ny4wNDY2LDU2Ni42MTg1IDQ0Ny44NzI2LDU2Ni41NTU1IEM0NDkuODM2Niw1NjYuNDA4NSA0NTEuODI3Niw1NjYuMjIwNSA0NTMuNzg3Niw1NjYuMDAwNSBDNDU0LjYwMzYsNTY1LjkwMzUgNDU1LjM1NDYsNTY2LjQ5ODUgNDU1LjQ0NjYsNTY3LjMyMjUgQzQ1NS41Mzk2LDU2OC4xNDU1IDQ1NC45NDc2LDU2OC44ODc1IDQ1NC4xMjM2LDU2OC45ODA1IEM0NTIuMTI2Niw1NjkuMjA2NSA0NTAuMDk5Niw1NjkuMzk3NSA0NDguMDk3Niw1NjkuNTQ3NSBDNDQ4LjA1OTYsNTY5LjU1MDUgNDQ4LjAyMTYsNTY5LjU1MTUgNDQ3Ljk4MzYsNTY5LjU1MTUgTTQzMi45MDE2LDU2OS45Njk1IEw0MzIuODcxNiw1NjkuOTY5NSBDNDMwLjg2MzYsNTY5LjkzMTUgNDI4LjgyNzYsNTY5Ljg1NDUgNDI2LjgyMTYsNTY5Ljc0MDUgQzQyNS45OTQ2LDU2OS42OTI1IDQyNS4zNjE2LDU2OC45ODQ1IDQyNS40MDg2LDU2OC4xNTc1IEM0MjUuNDU1Niw1NjcuMzMwNSA0MjYuMTc1Niw1NjYuNjg1NSA0MjYuOTkxNiw1NjYuNzQ1NSBDNDI4Ljk1OTYsNTY2Ljg1NjUgNDMwLjk1NzYsNTY2LjkzMjUgNDMyLjkyODYsNTY2Ljk2OTUgQzQzMy43NTY2LDU2Ni45ODU1IDQzNC40MTU2LDU2Ny42Njk1IDQzNC40MDA2LDU2OC40OTg1IEM0MzQuMzg0Niw1NjkuMzE2NSA0MzMuNzE1Niw1NjkuOTY5NSA0MzIuOTAxNiw1NjkuOTY5NSBNNDM1Ljk5OTYsNTcwLjAwMDUgQzQzNS4xNzE2LDU3MC4wMDA1IDQzNC40OTk2LDU2OS4zMjg1IDQzNC40OTk2LDU2OC41MDA1IEM0MzQuNDk5Niw1NjcuNjcxNSA0MzUuMTcxNiw1NjcuMDAwNSA0MzUuOTk5Niw1NjcuMDAwNSBDNDM3Ljk4MDYsNTY3LjAwMDUgNDM5Ljk3ODYsNTY2Ljk2MjUgNDQxLjk0MDYsNTY2Ljg4OTUgQzQ0Mi43MzM2LDU2Ni44Mzk1IDQ0My40NjM2LDU2Ny41MDQ1IDQ0My40OTU2LDU2OC4zMzM1IEM0NDMuNTI2Niw1NjkuMTYwNSA0NDIuODc5Niw1NjkuODU2NSA0NDIuMDUxNiw1NjkuODg3NSBDNDQwLjA1MzYsNTY5Ljk2MTUgNDM4LjAxNzYsNTcwLjAwMDUgNDM1Ljk5OTYsNTcwLjAwMDUiIGlkPSJGaWxsLTEiIGZpbGw9IiNBM0IxQkYiIG9wYWNpdHk9IjAuMzk1NjcwNTczIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQzMi43NjI3LDE0MC4wMTg2IEM0MzEuOTQyNywxNDAuMDE4NiA0MzEuMjcyNywxMzkuMzU4NiA0MzEuMjYyNywxMzguNTM2NiBDNDMxLjI1MjcsMTM3LjcwNzYgNDMxLjkxNjcsMTM3LjAyODYgNDMyLjc0NDcsMTM3LjAxODYgQzQzNC43NTA3LDEzNi45OTU2IDQzNi43Njg3LDEzNi45OTQ2IDQzOC43NzY3LDEzNy4wMTM2IEM0MzkuNjA0NywxMzcuMDIxNiA0NDAuMjY5NywxMzcuNjk5NiA0NDAuMjYxNzcxLDEzOC41Mjg2IEM0NDAuMjUzNywxMzkuMzUxNiA0MzkuNTgzNywxNDAuMDEzNiA0MzguNzYxNywxNDAuMDEzNiBMNDM4Ljc0NjcsMTQwLjAxMzYgQzQzNi43NjE3LDEzOS45OTQ2IDQzNC43NjQ3LDEzOS45OTU2IDQzMi43ODA3LDE0MC4wMTg2IEw0MzIuNzYyNywxNDAuMDE4NiBaIE00NTAuNzQ2NywxNDAuMzkyNiBDNDUwLjcyMDcsMTQwLjM5MjYgNDUwLjY5MzcsMTQwLjM5MTYgNDUwLjY2NTcsMTQwLjM5MDYgQzQ0OC42ODQ3LDE0MC4yODQ2IDQ0Ni42OTc3LDE0MC4yMDA2IDQ0NC43MDQ3LDE0MC4xMzY2IEM0NDMuODc2NywxNDAuMTEwNiA0NDMuMjI3NywxMzkuNDE3NiA0NDMuMjUzNywxMzguNTg5NiBDNDQzLjI3OTcsMTM3Ljc2MDYgNDQzLjk4MDcsMTM3LjA5OTYgNDQ0LjgwMDcsMTM3LjEzODYgQzQ0Ni44MTQ3LDEzNy4yMDI2IDQ0OC44MjM3LDEzNy4yODg2IDQ1MC44MjU3LDEzNy4zOTQ2IEM0NTEuNjUzNywxMzcuNDM4NiA0NTIuMjg3NywxMzguMTQ1NiA0NTIuMjQzNywxMzguOTcyNiBDNDUyLjIwMDcsMTM5Ljc3MjYgNDUxLjUzODcsMTQwLjM5MjYgNDUwLjc0NjcsMTQwLjM5MjYgTDQ1MC43NDY3LDE0MC4zOTI2IFogTTQyMC43NzE3LDE0MC40MTg2IEM0MTkuOTgwNywxNDAuNDE4NiA0MTkuMzE5NywxMzkuODAwNiA0MTkuMjc0NywxMzkuMDAxNiBDNDE5LjIyODcsMTM4LjE3NDYgNDE5Ljg2MjcsMTM3LjQ2NjYgNDIwLjY4OTcsMTM3LjQyMDYgQzQyMi42OTc3LDEzNy4zMDk2IDQyNC43MjQ3LDEzNy4yMTk2IDQyNi43MTU3LDEzNy4xNTQ2IEM0MjYuNzMyNywxMzcuMTUzNiA0MjYuNzQ5NywxMzcuMTUzNiA0MjYuNzY2NywxMzcuMTUzNiBDNDI3LjU3MjcsMTM3LjE1MzYgNDI4LjIzODcsMTM3Ljc5MjYgNDI4LjI2NDcsMTM4LjYwMzYgQzQyOC4yOTE3LDEzOS40MzE2IDQyNy42NDM3LDE0MC4xMjQ2IDQyNi44MTU3LDE0MC4xNTI2IEM0MjQuODIzNywxNDAuMjE4NiA0MjIuODM2NywxNDAuMzA2NiA0MjAuODU1NywxNDAuNDE2NiBDNDIwLjgyNjcsMTQwLjQxNzYgNDIwLjc5ODcsMTQwLjQxODYgNDIwLjc3MTcsMTQwLjQxODYgTDQyMC43NzE3LDE0MC40MTg2IFogTTQ2Mi43MTE3LDE0MS4yOTQ2IEM0NjIuNjYyNywxNDEuMjk0NiA0NjIuNjE0NywxNDEuMjkyNiA0NjIuNTY0NywxNDEuMjg4NiBDNDYwLjU4ODcsMTQxLjA5NTYgNDU4LjYwNzcsMTQwLjkyNDYgNDU2LjYxOTcsMTQwLjc3NDYgQzQ1NS43OTM3LDE0MC43MTE2IDQ1NS4xNzQ3LDEzOS45OTE2IDQ1NS4yMzc3LDEzOS4xNjQ2IEM0NTUuMjk4NywxMzguMzM4NiA0NTYuMDM4NywxMzcuNzI1NiA0NTYuODQ2NywxMzcuNzgyNiBDNDU4Ljg1NTcsMTM3LjkzNDYgNDYwLjg1ODcsMTM4LjEwNzYgNDYyLjg1NTcsMTM4LjMwMTYgQzQ2My42Nzk3LDEzOC4zODE2IDQ2NC4yODM3LDEzOS4xMTU2IDQ2NC4yMDI3LDEzOS45NDA2IEM0NjQuMTI2NywxNDAuNzE1NiA0NjMuNDc0NywxNDEuMjk0NiA0NjIuNzExNywxNDEuMjk0NiBMNDYyLjcxMTcsMTQxLjI5NDYgWiBNNDA4LjgwODcsMTQxLjM0MTYgQzQwOC4wNDY3LDE0MS4zNDE2IDQwNy4zOTQ3LDE0MC43NjM2IDQwNy4zMTc3LDEzOS45ODk2IEM0MDcuMjM2NywxMzkuMTY0NiA0MDcuODM4NywxMzguNDMwNiA0MDguNjYyNywxMzguMzQ4NiBDNDEwLjY1ODcsMTM4LjE1MTYgNDEyLjY2MTcsMTM3Ljk3NDYgNDE0LjY3MDcsMTM3LjgyMDYgQzQxNS40ODM3LDEzNy43NDc2IDQxNi4yMTc3LDEzOC4zNzM2IDQxNi4yODE3LDEzOS4yMDA2IEM0MTYuMzQ1NywxNDAuMDI2NiA0MTUuNzI3NywxNDAuNzQ3NiA0MTQuOTAxNywxNDAuODEwNiBDNDEyLjkxMzcsMTQwLjk2NDYgNDEwLjkzMjcsMTQxLjEzOTYgNDA4Ljk1NzcsMTQxLjMzNDYgQzQwOC45MDg3LDE0MS4zMzk2IDQwOC44NTg3LDE0MS4zNDE2IDQwOC44MDg3LDE0MS4zNDE2IEw0MDguODA4NywxNDEuMzQxNiBaIE00NzQuNjIyNywxNDIuNzIwNiBDNDc0LjU1MjcsMTQyLjcyMDYgNDc0LjQ4MTcsMTQyLjcxNTYgNDc0LjQwOTcsMTQyLjcwNjYgQzQ3Mi40NTE3LDE0Mi40MjY2IDQ3MC40NjI3LDE0Mi4xNjU2IDQ2OC40OTM3LDE0MS45MzA2IEM0NjcuNjcxNywxNDEuODMxNiA0NjcuMDg0NywxNDEuMDg1NiA0NjcuMTgzNywxNDAuMjYyNiBDNDY3LjI4MTcsMTM5LjQ0MDYgNDY4LjAzMzcsMTM4Ljg1NDYgNDY4Ljg1MTcsMTM4Ljk1MjYgQzQ3MC44NDA3LDEzOS4xOTA2IDQ3Mi44NTM3LDEzOS40NTQ2IDQ3NC44MzE3LDEzOS43MzU2IEM0NzUuNjUyNywxMzkuODUyNiA0NzYuMjIyNywxNDAuNjEyNiA0NzYuMTA2NywxNDEuNDMyNiBDNDc1Ljk5OTcsMTQyLjE4MDYgNDc1LjM1NzcsMTQyLjcyMDYgNDc0LjYyMjcsMTQyLjcyMDYgTDQ3NC42MjI3LDE0Mi43MjA2IFogTTM5Ni45MDA3LDE0Mi43ODk2IEMzOTYuMTY2NywxNDIuNzg5NiAzOTUuNTI1NywxNDIuMjUwNiAzOTUuNDE3NywxNDEuNTAyNiBDMzk1LjI5OTcsMTQwLjY4MzYgMzk1Ljg2NzcsMTM5LjkyMjYgMzk2LjY4ODcsMTM5LjgwNDYgQzM5OC42NTE3LDEzOS41MjE2IDQwMC42NjM3LDEzOS4yNTM2IDQwMi42Njg3LDEzOS4wMTA2IEM0MDMuNDg2NywxMzguOTE0NiA0MDQuMjM5NywxMzkuNDk3NiA0MDQuMzM4NywxNDAuMzE5NiBDNDA0LjQzODcsMTQxLjE0MTYgNDAzLjg1MjcsMTQxLjg4OTYgNDAzLjAzMDcsMTQxLjk4OTYgQzQwMS4wNDc3LDE0Mi4yMjk2IDM5OS4wNTc3LDE0Mi40OTM2IDM5Ny4xMTY3LDE0Mi43NzM2IEMzOTcuMDQzNywxNDIuNzg0NiAzOTYuOTcxNywxNDIuNzg5NiAzOTYuOTAwNywxNDIuNzg5NiBMMzk2LjkwMDcsMTQyLjc4OTYgWiBNNDg2LjQ1OTcsMTQ0LjY3MDYgQzQ4Ni4zNjc3LDE0NC42NzA2IDQ4Ni4yNzQ3LDE0NC42NjM2IDQ4Ni4xODE3LDE0NC42NDU2IEM0ODQuMjMwNywxNDQuMjc5NiA0ODIuMjcxNywxNDMuOTM0NiA0ODAuMzA1NywxNDMuNjA5NiBDNDc5LjQ4ODcsMTQzLjQ3NDYgNDc4LjkzNDcsMTQyLjcwMzYgNDc5LjA3MDcsMTQxLjg4NTYgQzQ3OS4yMDM3LDE0MS4wNjg2IDQ3OS45NzI3LDE0MC41MTQ2IDQ4MC43OTM3LDE0MC42NTA2IEM0ODIuNzgxNywxNDAuOTc3NiA0ODQuNzYxNywxNDEuMzI2NiA0ODYuNzM0NywxNDEuNjk2NiBDNDg3LjU0ODcsMTQxLjg0OTYgNDg4LjA4NDcsMTQyLjYzMzYgNDg3LjkzMjcsMTQzLjQ0NzYgQzQ4Ny43OTY3LDE0NC4xNjc2IDQ4Ny4xNjY3LDE0NC42NzA2IDQ4Ni40NTk3LDE0NC42NzA2IEw0ODYuNDU5NywxNDQuNjcwNiBaIE0zODUuMDY3NywxNDQuNzU5NiBDMzg0LjM2MTcsMTQ0Ljc1OTYgMzgzLjczMTcsMTQ0LjI1ODYgMzgzLjU5NTcsMTQzLjUzODYgQzM4My40NDE3LDE0Mi43MjQ2IDM4My45NzY3LDE0MS45Mzk2IDM4NC43OTA3LDE0MS43ODY2IEMzODYuNzYzNywxNDEuNDEzNiAzODguNzQyNywxNDEuMDYwNiAzOTAuNzI5NywxNDAuNzI5NiBDMzkxLjU0MTcsMTQwLjU5MzYgMzkyLjMxODcsMTQxLjE0NDYgMzkyLjQ1NDcsMTQxLjk2MjYgQzM5Mi41OTE3LDE0Mi43Nzk2IDM5Mi4wMzg3LDE0My41NTI2IDM5MS4yMjE3LDE0My42ODg2IEMzODkuMjU2NywxNDQuMDE1NiAzODcuMjk5NywxNDQuMzY0NiAzODUuMzQ3NywxNDQuNzMzNiBDMzg1LjI1MzcsMTQ0Ljc1MDYgMzg1LjE1OTcsMTQ0Ljc1OTYgMzg1LjA2NzcsMTQ0Ljc1OTYgTDM4NS4wNjc3LDE0NC43NTk2IFogTTQ5OC4xOTg3LDE0Ny4xNDQ2IEM0OTguMDg0NywxNDcuMTQ0NiA0OTcuOTcwNywxNDcuMTMxNiA0OTcuODU1NywxNDcuMTA1NiBDNDk1LjkyMTcsMTQ2LjY1MjYgNDkzLjk4MDcsMTQ2LjIyMTYgNDkyLjAzMTcsMTQ1LjgxMDYgQzQ5MS4yMjA3LDE0NS42Mzk2IDQ5MC43MDE3LDE0NC44NDM2IDQ5MC44NzI3LDE0NC4wMzM2IEM0OTEuMDQyNywxNDMuMjIyNiA0OTEuODM5NywxNDIuNzAyNiA0OTIuNjUwNywxNDIuODc0NiBDNDk0LjYyNTcsMTQzLjI5MDYgNDk2LjYwNzcsMTQzLjczMTYgNDk4LjUzODcsMTQ0LjE4MzYgQzQ5OS4zNDU3LDE0NC4zNzI2IDQ5OS44NDY3LDE0NS4xNzk2IDQ5OS42NTg3LDE0NS45ODY2IEM0OTkuNDk1NywxNDYuNjc3NiA0OTguODc5NywxNDcuMTQ0NiA0OTguMTk4NywxNDcuMTQ0NiBMNDk4LjE5ODcsMTQ3LjE0NDYgWiBNMzczLjMzMzcsMTQ3LjI1MzYgQzM3Mi42NTQ3LDE0Ny4yNTM2IDM3Mi4wMzc3LDE0Ni43ODk2IDM3MS44NzQ3LDE0Ni4wOTg2IEMzNzEuNjg0NywxNDUuMjkxNiAzNzIuMTgzNywxNDQuNDg0NiAzNzIuOTkwNywxNDQuMjkzNiBDMzc0LjkzNTcsMTQzLjgzNDYgMzc2LjkxNTcsMTQzLjM5MDYgMzc4Ljg3NjcsMTQyLjk3NDYgQzM3OS42NzY3LDE0Mi43OTk2IDM4MC40ODM3LDE0My4zMTk2IDM4MC42NTY3LDE0NC4xMjk2IEMzODAuODI3NywxNDQuOTQwNiAzODAuMzEwNywxNDUuNzM2NiAzNzkuNDk5NywxNDUuOTA5NiBDMzc3LjU2MTcsMTQ2LjMyMDYgMzc1LjYwMzcsMTQ2Ljc1OTYgMzczLjY3OTcsMTQ3LjIxMzYgQzM3My41NjM3LDE0Ny4yNDE2IDM3My40NDg3LDE0Ny4yNTM2IDM3My4zMzM3LDE0Ny4yNTM2IEwzNzMuMzMzNywxNDcuMjUzNiBaIE01MDkuODE1NywxNTAuMTM0NiBDNTA5LjY4MDcsMTUwLjEzNDYgNTA5LjU0MzcsMTUwLjExNzYgNTA5LjQwODcsMTUwLjA3OTYgQzUwNy40OTE3LDE0OS41Mzk2IDUwNS41NTQ3LDE0OS4wMTc2IDUwMy42NDg3LDE0OC41Mjc2IEM1MDIuODQ2NywxNDguMzIwNiA1MDIuMzYzNywxNDcuNTAyNiA1MDIuNTY5NywxNDYuNzAwNiBDNTAyLjc3NjcsMTQ1Ljg5NzYgNTAzLjU5MjcsMTQ1LjQxNTYgNTA0LjM5NjcsMTQ1LjYyMTYgQzUwNi4zMjQ3LDE0Ni4xMTc2IDUwOC4yODM3LDE0Ni42NDU2IDUxMC4yMjA3LDE0Ny4xOTA2IEM1MTEuMDE4NywxNDcuNDE0NiA1MTEuNDgyNywxNDguMjQ0NiA1MTEuMjU4NywxNDkuMDQwNiBDNTExLjA3MjcsMTQ5LjcwMzYgNTEwLjQ2OTcsMTUwLjEzNDYgNTA5LjgxNTcsMTUwLjEzNDYgTDUwOS44MTU3LDE1MC4xMzQ2IFogTTM2MS43MTk3LDE1MC4yNjY2IEMzNjEuMDY2NywxNTAuMjY2NiAzNjAuNDY0NywxNDkuODM1NiAzNjAuMjc3NywxNDkuMTc1NiBDMzYwLjA1MTcsMTQ4LjM3ODYgMzYwLjUxNDcsMTQ3LjU0OTYgMzYxLjMxMTcsMTQ3LjMyMzYgQzM2My4yMjU3LDE0Ni43ODE2IDM2NS4xODQ3LDE0Ni4yNDg2IDM2Ny4xMzM3LDE0NS43NDM2IEMzNjcuOTM3NywxNDUuNTM4NiAzNjguNzUzNywxNDYuMDE1NiAzNjguOTYyNywxNDYuODE4NiBDMzY5LjE3MDcsMTQ3LjYyMDYgMzY4LjY4OTcsMTQ4LjQzOTYgMzY3Ljg4NzcsMTQ4LjY0NzYgQzM2NS45NTg3LDE0OS4xNDc2IDM2NC4wMjI3LDE0OS42NzI2IDM2Mi4xMjk3LDE1MC4yMDk2IEMzNjEuOTkyNywxNTAuMjQ3NiAzNjEuODU1NywxNTAuMjY2NiAzNjEuNzE5NywxNTAuMjY2NiBMMzYxLjcxOTcsMTUwLjI2NjYgWiBNNTIxLjI4NzcsMTUzLjYzOTYgQzUyMS4xMzI3LDE1My42Mzk2IDUyMC45NzM3LDE1My42MTU2IDUyMC44MTg3LDE1My41NjQ2IEM1MTguOTMxNywxNTIuOTQxNiA1MTcuMDM1NywxNTIuMzM5NiA1MTUuMTMyNywxNTEuNzU3NiBDNTE0LjM0MDcsMTUxLjUxNTYgNTEzLjg5NDcsMTUwLjY3NjYgNTE0LjEzNjcsMTQ5Ljg4NDYgQzUxNC4zNzg3LDE0OS4wOTE2IDUxNS4yMTc3LDE0OC42NDQ2IDUxNi4wMDk3LDE0OC44ODg2IEM1MTcuOTM0NywxNDkuNDc2NiA1MTkuODY3NywxNTAuMDkxNiA1MjEuNzU3NywxNTAuNzE0NiBDNTIyLjU0NDcsMTUwLjk3NDYgNTIyLjk3MjcsMTUxLjgyMzYgNTIyLjcxMjcsMTUyLjYwOTYgQzUyMi41MDM3LDE1My4yNDA2IDUyMS45MTc3LDE1My42Mzk2IDUyMS4yODc3LDE1My42Mzk2IEw1MjEuMjg3NywxNTMuNjM5NiBaIE0zNTAuMjMxNywxNTMuNzk4NiBDMzQ5LjYwMjcsMTUzLjc5ODYgMzQ5LjAxNjcsMTUzLjQwMDYgMzQ4LjgwNzcsMTUyLjc3MTYgQzM0OC41NDY3LDE1MS45ODU2IDM0OC45NzI3LDE1MS4xMzU2IDM0OS43NTg3LDE1MC44NzQ2IEMzNTEuNjYzNywxNTAuMjQzNiAzNTMuNjA0NywxNDkuNjIyNiAzNTUuNTI2NywxNDkuMDMxNiBDMzU2LjMyMDcsMTQ4Ljc5MTYgMzU3LjE1ODcsMTQ5LjIzMTYgMzU3LjQwMTcsMTUwLjAyMzYgQzM1Ny42NDU3LDE1MC44MTU2IDM1Ny4xOTk3LDE1MS42NTU2IDM1Ni40MDg3LDE1MS44OTg2IEMzNTQuNDk3NywxNTIuNDg2NiAzNTIuNTk2NywxNTMuMDkzNiAzNTAuNzAzNywxNTMuNzIyNiBDMzUwLjU0NjcsMTUzLjc3NDYgMzUwLjM4NzcsMTUzLjc5ODYgMzUwLjIzMTcsMTUzLjc5ODYgTDM1MC4yMzE3LDE1My43OTg2IFogTTUzMi41OTQ3LDE1Ny42NTE2IEM1MzIuNDE2NywxNTcuNjUxNiA1MzIuMjM3NywxNTcuNjIwNiA1MzIuMDYxNywxNTcuNTUzNiBDNTMwLjIwNDcsMTU2Ljg0NzYgNTI4LjMzNzcsMTU2LjE2MjYgNTI2LjQ2MTcsMTU1LjQ5NTYgQzUyNS42ODE3LDE1NS4yMTg2IDUyNS4yNzM3LDE1NC4zNjA2IDUyNS41NTA3LDE1My41ODA2IEM1MjUuODI2NywxNTIuNzk5NiA1MjYuNjg2NywxNTIuMzg4NiA1MjcuNDY1NywxNTIuNjY4NiBDNTI5LjM2NjcsMTUzLjM0MzYgNTMxLjI3MjcsMTU0LjA0MzYgNTMzLjEyNzcsMTU0Ljc0ODYgQzUzMy45MDI3LDE1NS4wNDM2IDUzNC4yOTA3LDE1NS45MTA2IDUzMy45OTY3LDE1Ni42ODQ2IEM1MzMuNzY5NywxNTcuMjgzNiA1MzMuMTk5NywxNTcuNjUxNiA1MzIuNTk0NywxNTcuNjUxNiBMNTMyLjU5NDcsMTU3LjY1MTYgWiBNMzM4Ljg5MzcsMTU3Ljg0NjYgQzMzOC4yODk3LDE1Ny44NDY2IDMzNy43MjE3LDE1Ny40ODA2IDMzNy40OTI3LDE1Ni44ODI2IEMzMzcuMTk2NywxNTYuMTA5NiAzMzcuNTgzNywxNTUuMjQyNiAzMzguMzU3NywxNTQuOTQ2NiBDMzQwLjIxODcsMTU0LjIzMzYgMzQyLjEyODcsMTUzLjUyNzYgMzQ0LjAzNDcsMTUyLjg0NjYgQzM0NC44MTM3LDE1Mi41Njc2IDM0NS42NzI3LDE1Mi45NzU2IDM0NS45NTE3LDE1My43NTU2IEMzNDYuMjMwNywxNTQuNTM2NiAzNDUuODIzNywxNTUuMzk0NiAzNDUuMDQyNywxNTUuNjcyNiBDMzQzLjE1ODcsMTU2LjM0NDYgMzQxLjI3MDcsMTU3LjA0MjYgMzM5LjQyOTcsMTU3Ljc0NzYgQzMzOS4yNTM3LDE1Ny44MTU2IDMzOS4wNzI3LDE1Ny44NDY2IDMzOC44OTM3LDE1Ny44NDY2IEwzMzguODkzNywxNTcuODQ2NiBaIE01NDMuNjkwNywxNjIuMTUxNiBDNTQzLjQ5MTcsMTYyLjE1MTYgNTQzLjI4OTcsMTYyLjExMjYgNTQzLjA5NjcsMTYyLjAyODYgQzU0MS4yNzY3LDE2MS4yNDI2IDUzOS40MzE3LDE2MC40NzA2IDUzNy42MTQ3LDE1OS43MzQ2IEM1MzYuODQ2NywxNTkuNDIyNiA1MzYuNDc2NywxNTguNTQ3NiA1MzYuNzg2NywxNTcuNzgwNiBDNTM3LjA5ODcsMTU3LjAxMzYgNTM3Ljk3MjcsMTU2LjY0MzYgNTM4Ljc0MTcsMTU2Ljk1MzYgQzU0MC41Nzg3LDE1Ny42OTg2IDU0Mi40NDU3LDE1OC40Nzk2IDU0NC4yODU3LDE1OS4yNzQ2IEM1NDUuMDQ2NywxNTkuNjAyNiA1NDUuMzk2NywxNjAuNDg1NiA1NDUuMDY4NywxNjEuMjQ2NiBDNTQ0LjgyNDcsMTYxLjgxMjYgNTQ0LjI3MTcsMTYyLjE1MTYgNTQzLjY5MDcsMTYyLjE1MTYgTDU0My42OTA3LDE2Mi4xNTE2IFogTTMyNy43NTU3LDE2Mi4zOTE2IEMzMjcuMTc2NywxNjIuMzkxNiAzMjYuNjI0NywxNjIuMDU0NiAzMjYuMzc4NywxNjEuNDg5NiBDMzI2LjA0ODcsMTYwLjcyOTYgMzI2LjM5NzcsMTU5Ljg0NTYgMzI3LjE1NzcsMTU5LjUxNTYgQzMyOC45ODU3LDE1OC43MjE2IDMzMC44NjE3LDE1Ny45MzE2IDMzMi43MzE3LDE1Ny4xNjc2IEMzMzMuNDk4NywxNTYuODUxNiAzMzQuMzc0NywxNTcuMjIyNiAzMzQuNjg3NywxNTcuOTg5NiBDMzM1LjAwMDcsMTU4Ljc1NjYgMzM0LjYzMjcsMTU5LjYzMTYgMzMzLjg2NjcsMTU5Ljk0NTYgQzMzMi4wMTc3LDE2MC43MDA2IDMzMC4xNzk3LDE2MS40NzM2IDMyOC4zNTI3LDE2Mi4yNjc2IEMzMjguMTU4NywxNjIuMzUxNiAzMjcuOTU0NywxNjIuMzkxNiAzMjcuNzU1NywxNjIuMzkxNiBMMzI3Ljc1NTcsMTYyLjM5MTYgWiBNNTU0LjU2MjcsMTY3LjEzMTYgQzU1NC4zNDI3LDE2Ny4xMzE2IDU1NC4xMTk3LDE2Ny4wODM2IDU1My45MDg3LDE2Ni45ODE2IEM1NTIuMTI2NywxNjYuMTE3NiA1NTAuMzMzNywxNjUuMjcxNiA1NDguNTI5NywxNjQuNDQ0NiBDNTQ3Ljc3NjcsMTY0LjA5OTYgNTQ3LjQ0NTcsMTYzLjIwOTYgNTQ3Ljc5MDcsMTYyLjQ1NTYgQzU0OC4xMzU3LDE2MS43MDM2IDU0OS4wMjM3LDE2MS4zNzI2IDU0OS43Nzk3LDE2MS43MTc2IEM1NTEuNjAzNywxNjIuNTUyNiA1NTMuNDE1NywxNjMuNDA4NiA1NTUuMjE3NywxNjQuMjgyNiBDNTU1Ljk2MzcsMTY0LjY0MzYgNTU2LjI3NDcsMTY1LjU0MDYgNTU1LjkxMjcsMTY2LjI4NjYgQzU1NS42NTQ3LDE2Ni44MjE2IDU1NS4xMTg3LDE2Ny4xMzE2IDU1NC41NjI3LDE2Ny4xMzE2IEw1NTQuNTYyNywxNjcuMTMxNiBaIE0zMTYuODMwNywxNjcuNDI2NiBDMzE2LjI3NTcsMTY3LjQyNjYgMzE1Ljc0MTcsMTY3LjExNzYgMzE1LjQ4MjcsMTY2LjU4NDYgQzMxNS4xMTg3LDE2NS44Mzk2IDMxNS40Mjc3LDE2NC45NDI2IDMxNi4xNzE3LDE2NC41Nzk2IEMzMTcuOTg1NywxNjMuNjkzNiAzMTkuODIzNywxNjIuODIxNiAzMjEuNjM1NywxNjEuOTg2NiBDMzIyLjM4NTcsMTYxLjYzODYgMzIzLjI3OTcsMTYxLjk2ODYgMzIzLjYyNTcsMTYyLjcyMDYgQzMyMy45NzI3LDE2My40NzI2IDMyMy42NDM3LDE2NC4zNjQ2IDMyMi44OTE3LDE2NC43MTA2IEMzMjEuMDk5NywxNjUuNTM3NiAzMTkuMjgxNywxNjYuMzk5NiAzMTcuNDg4NywxNjcuMjc0NiBDMzE3LjI3NjcsMTY3LjM3NzYgMzE3LjA1MTcsMTY3LjQyNjYgMzE2LjgzMDcsMTY3LjQyNjYgTDMxNi44MzA3LDE2Ny40MjY2IFogTTU2NS4yMDg3LDE3Mi41ODg2IEM1NjQuOTY3NywxNzIuNTg4NiA1NjQuNzIzNywxNzIuNTMxNiA1NjQuNDk1NywxNzIuNDA4NiBDNTYyLjc1MjcsMTcxLjQ2NDYgNTYwLjk5NzcsMTcwLjU0MDYgNTU5LjIzMTcsMTY5LjYzNDYgQzU1OC40OTM3LDE2OS4yNTY2IDU1OC4yMDI3LDE2OC4zNTI2IDU1OC41ODA3LDE2Ny42MTU2IEM1NTguOTU4NywxNjYuODc4NiA1NTkuODY1NywxNjYuNTg2NiA1NjAuNjAwNywxNjYuOTY0NiBDNTYyLjM4NjcsMTY3Ljg4MDYgNTY0LjE2MDcsMTY4LjgxNjYgNTY1LjkyMzcsMTY5Ljc2OTYgQzU2Ni42NTI3LDE3MC4xNjQ2IDU2Ni45MjM3LDE3MS4wNzQ2IDU2Ni41Mjk3LDE3MS44MDI2IEM1NjYuMjU3NywxNzIuMzA0NiA1NjUuNzQxNywxNzIuNTg4NiA1NjUuMjA4NywxNzIuNTg4NiBMNTY1LjIwODcsMTcyLjU4ODYgWiBNMzA2LjE0NzcsMTcyLjkzOTYgQzMwNS42MTY3LDE3Mi45Mzk2IDMwNS4xMDE3LDE3Mi42NTY2IDMwNC44Mjg3LDE3Mi4xNTc2IEMzMDQuNDMyNywxNzEuNDI5NiAzMDQuNzAwNywxNzAuNTE4NiAzMDUuNDI4NywxNzAuMTIyNiBDMzA3LjE4OTcsMTY5LjE2MzYgMzA4Ljk4NjcsMTY4LjIxMDYgMzEwLjc3MDcsMTY3LjI5MDYgQzMxMS41MDU3LDE2Ni45MTI2IDMxMi40MTE3LDE2Ny4xOTk2IDMxMi43OTA3LDE2Ny45MzY2IEMzMTMuMTcwNywxNjguNjcyNiAzMTIuODgxNywxNjkuNTc3NiAzMTIuMTQ1NywxNjkuOTU2NiBDMzEwLjM4MTcsMTcwLjg2NzYgMzA4LjYwNDcsMTcxLjgwODYgMzA2Ljg2NDcsMTcyLjc1NjYgQzMwNi42MzU3LDE3Mi44ODA2IDMwNi4zOTA3LDE3Mi45Mzk2IDMwNi4xNDc3LDE3Mi45Mzk2IEwzMDYuMTQ3NywxNzIuOTM5NiBaIE01NzUuNjA4NywxNzguNTEzNiBDNTc1LjM0NTcsMTc4LjUxMzYgNTc1LjA3OTcsMTc4LjQ0NTYgNTc0LjgzNzcsMTc4LjI5OTYgQzU3My4xMzY3LDE3Ny4yODA2IDU3MS40MjM3LDE3Ni4yNzk2IDU2OS42OTk3LDE3NS4yOTY2IEM1NjguOTc4NywxNzQuODg2NiA1NjguNzI3NywxNzMuOTcwNiA1NjkuMTM3NywxNzMuMjUwNiBDNTY5LjU0ODcsMTcyLjUzMDYgNTcwLjQ2NDcsMTcyLjI4MTYgNTcxLjE4MzcsMTcyLjY4OTYgQzU3Mi45Mjc3LDE3My42ODM2IDU3NC42NTk3LDE3NC42OTY2IDU3Ni4zODA3LDE3NS43Mjc2IEM1NzcuMDkwNywxNzYuMTUzNiA1NzcuMzIyNywxNzcuMDc0NiA1NzYuODk1NywxNzcuNzg1NiBDNTc2LjYxNTcsMTc4LjI1MzYgNTc2LjExNzcsMTc4LjUxMzYgNTc1LjYwODcsMTc4LjUxMzYgTDU3NS42MDg3LDE3OC41MTM2IFogTTI5NS43MjE3LDE3OC45MTU2IEMyOTUuMjEzNywxNzguOTE1NiAyOTQuNzE3NywxNzguNjU3NiAyOTQuNDM1NywxNzguMTkwNiBDMjk0LjAwODcsMTc3LjQ4MDYgMjk0LjIzNzcsMTc2LjU1ODYgMjk0Ljk0NjcsMTc2LjEzMDYgQzI5Ni42NzA3LDE3NS4wOTI2IDI5OC40MDY3LDE3NC4wNzE2IDMwMC4xNTQ3LDE3My4wNjk2IEMzMDAuODcwNywxNzIuNjU1NiAzMDEuNzg3NywxNzIuOTA0NiAzMDIuMjAwNywxNzMuNjIzNiBDMzAyLjYxMzcsMTc0LjM0MjYgMzAyLjM2NTcsMTc1LjI1ODYgMzAxLjY0NjcsMTc1LjY3MDYgQzI5OS45MTc3LDE3Ni42NjM2IDI5OC4yMDA3LDE3Ny42NzI2IDI5Ni40OTQ3LDE3OC43MDE2IEMyOTYuMjUyNywxNzguODQ2NiAyOTUuOTg1NywxNzguOTE1NiAyOTUuNzIxNywxNzguOTE1NiBMMjk1LjcyMTcsMTc4LjkxNTYgWiBNNTg1Ljc0MTcsMTg0Ljg5MzYgQzU4NS40NTc3LDE4NC44OTM2IDU4NS4xNzA3LDE4NC44MTM2IDU4NC45MTY3LDE4NC42NDU2IEM1ODMuMjYwNywxODMuNTUxNiA1ODEuNTkxNywxODIuNDc1NiA1NzkuOTEwNywxODEuNDE2NiBDNTc5LjIwOTcsMTgwLjk3NDYgNTc4Ljk5OTcsMTgwLjA0ODYgNTc5LjQ0MTcsMTc5LjM0NzYgQzU3OS44ODI3LDE3OC42NDc2IDU4MC44MDc3LDE3OC40MzY2IDU4MS41MTA3LDE3OC44Nzc2IEM1ODMuMjA4NywxNzkuOTQ4NiA1ODQuODk1NywxODEuMDM2NiA1ODYuNTY5NywxODIuMTQxNiBDNTg3LjI2MDcsMTgyLjU5ODYgNTg3LjQ1MDcsMTgzLjUyOTYgNTg2Ljk5NDcsMTg0LjIxOTYgQzU4Ni43MDU3LDE4NC42NTc2IDU4Ni4yMjg3LDE4NC44OTM2IDU4NS43NDE3LDE4NC44OTM2IEw1ODUuNzQxNywxODQuODkzNiBaIE0yODUuNTc0NywxODUuMzQ3NiBDMjg1LjA4OTcsMTg1LjM0NzYgMjg0LjYxMzcsMTg1LjExMzYgMjg0LjMyNDcsMTg0LjY3ODYgQzI4My44NjU3LDE4My45ODk2IDI4NC4wNTI3LDE4My4wNTc2IDI4NC43NDE3LDE4Mi41OTg2IEMyODYuNDEzNywxODEuNDg3NiAyODguMTE3NywxODAuMzc5NiAyODkuODA4NywxNzkuMzA4NiBDMjkwLjUwNTcsMTc4Ljg2OTYgMjkxLjQzNDcsMTc5LjA3MTYgMjkxLjg3NzcsMTc5Ljc3MzYgQzI5Mi4zMjE3LDE4MC40NzI2IDI5Mi4xMTQ3LDE4MS4zOTk2IDI5MS40MTM3LDE4MS44NDM2IEMyODkuNzQxNywxODIuOTAyNiAyODguMDU2NywxODMuOTk3NiAyODYuNDA0NywxODUuMDk2NiBDMjg2LjE0ODcsMTg1LjI2NjYgMjg1Ljg2MDcsMTg1LjM0NzYgMjg1LjU3NDcsMTg1LjM0NzYgTDI4NS41NzQ3LDE4NS4zNDc2IFogTTU5NS41ODg3LDE5MS43MTM2IEM1OTUuMjgzNywxOTEuNzEzNiA1OTQuOTc0NywxOTEuNjIxNiA1OTQuNzA3NywxOTEuNDI3NiBDNTkzLjEwOTcsMTkwLjI2NjYgNTkxLjQ3NDcsMTg5LjEwNzYgNTg5Ljg0ODcsMTg3Ljk4MTYgQzU4OS4xNjc3LDE4Ny41MDk2IDU4OC45OTc3LDE4Ni41NzU2IDU4OS40Njk3LDE4NS44OTM2IEM1ODkuOTQyNywxODUuMjEyNiA1OTAuODc2NywxODUuMDQyNiA1OTEuNTU3NywxODUuNTE0NiBDNTkzLjIwMDcsMTg2LjY1MzYgNTk0Ljg1NDcsMTg3LjgyNjYgNTk2LjQ3MDcsMTg4Ljk5OTYgQzU5Ny4xNDE3LDE4OS40ODc2IDU5Ny4yODk3LDE5MC40MjQ2IDU5Ni44MDM3LDE5MS4wOTQ2IEM1OTYuNTA5NywxOTEuNDk4NiA1OTYuMDUyNywxOTEuNzEzNiA1OTUuNTg4NywxOTEuNzEzNiBMNTk1LjU4ODcsMTkxLjcxMzYgWiBNMjc1LjcyMjcsMTkyLjIxNTYgQzI3NS4yNTk3LDE5Mi4yMTU2IDI3NC44MDM3LDE5Mi4wMDI2IDI3NC41MDk3LDE5MS42MDA2IEMyNzQuMDIxNywxOTAuOTMwNiAyNzQuMTY3NywxODkuOTkyNiAyNzQuODM2NywxODkuNTAzNiBDMjc2LjQ2MTcsMTg4LjMxODYgMjc4LjA5OTcsMTg3LjE0ODYgMjc5Ljc1MDcsMTg1Ljk5NzYgQzI4MC40MzA3LDE4NS41MjM2IDI4MS4zNjU3LDE4NS42ODg2IDI4MS44Mzk3LDE4Ni4zNjk2IEMyODIuMzEzNywxODcuMDQ4NiAyODIuMTQ2NywxODcuOTg0NiAyODEuNDY3NywxODguNDU3NiBDMjc5LjgzMzcsMTg5LjU5NzYgMjc4LjIxMzcsMTkwLjc1MzYgMjc2LjYwNjcsMTkxLjkyNzYgQzI3Ni4zMzg3LDE5Mi4xMjI2IDI3Ni4wMjk3LDE5Mi4yMTU2IDI3NS43MjI3LDE5Mi4yMTU2IEwyNzUuNzIyNywxOTIuMjE1NiBaIE02MDUuMTMwNywxOTguOTYzNiBDNjA0LjgwMzcsMTk4Ljk2MzYgNjA0LjQ3NDcsMTk4Ljg1NzYgNjA0LjE5ODcsMTk4LjYzNzYgQzYwMi42NDM3LDE5Ny40MDE2IDYwMS4wNzQ3LDE5Ni4xODI2IDU5OS40OTI3LDE5NC45ODA2IEM1OTguODMyNywxOTQuNDc5NiA1OTguNzA0NywxOTMuNTM4NiA1OTkuMjA1NywxOTIuODc4NiBDNTk5LjcwNjcsMTkyLjIxNzYgNjAwLjY0OTcsMTkyLjA5MDYgNjAxLjMwNzcsMTkyLjU5MTYgQzYwMi45MDc3LDE5My44MDc2IDYwNC40OTI3LDE5NS4wMzk2IDYwNi4wNjU3LDE5Ni4yODk2IEM2MDYuNzEzNywxOTYuODA1NiA2MDYuODIxNywxOTcuNzQ4NiA2MDYuMzA1NywxOTguMzk3NiBDNjA2LjAwOTcsMTk4Ljc2OTYgNjA1LjU3MjcsMTk4Ljk2MzYgNjA1LjEzMDcsMTk4Ljk2MzYgTDYwNS4xMzA3LDE5OC45NjM2IFogTTI2Ni4xODU3LDE5OS41MDk2IEMyNjUuNzQ0NywxOTkuNTA5NiAyNjUuMzA5NywxOTkuMzE3NiAyNjUuMDEzNywxOTguOTQ3NiBDMjY0LjQ5NTcsMTk4LjI5OTYgMjY0LjYwMDcsMTk3LjM1NjYgMjY1LjI0NjcsMTk2LjgzODYgQzI2Ni44MTg3LDE5NS41ODE2IDI2OC40MDM3LDE5NC4zNDE2IDI3MC4wMDE3LDE5My4xMTk2IEMyNzAuNjU4NywxOTIuNjE2NiAyNzEuNjAxNywxOTIuNzQxNiAyNzIuMTA0NywxOTMuMzk5NiBDMjcyLjYwNzcsMTk0LjA1NzYgMjcyLjQ4MjcsMTk0Ljk5ODYgMjcxLjgyNDcsMTk1LjUwMTYgQzI3MC4yNDI3LDE5Ni43MTA2IDI2OC42NzU3LDE5Ny45Mzc2IDI2Ny4xMjE3LDE5OS4xODA2IEMyNjYuODQ0NywxOTkuNDAyNiAyNjYuNTEzNywxOTkuNTA5NiAyNjYuMTg1NywxOTkuNTA5NiBMMjY2LjE4NTcsMTk5LjUwOTYgWiBNNjE0LjM0NzcsMjA2LjYyNjYgQzYxMy45OTg3LDIwNi42MjY2IDYxMy42NDg3LDIwNi41MDU2IDYxMy4zNjQ3LDIwNi4yNTg2IEM2MTEuODY1NywyMDQuOTU2NiA2MTAuMzUwNywyMDMuNjY4NiA2MDguODIyNywyMDIuMzk3NiBDNjA4LjE4NTcsMjAxLjg2ODYgNjA4LjA5ODcsMjAwLjkyMTYgNjA4LjYyNzcsMjAwLjI4NTYgQzYwOS4xNTg3LDE5OS42NDg2IDYxMC4xMDI3LDE5OS41NjA2IDYxMC43NDA3LDIwMC4wOTA2IEM2MTIuMjg1NywyMDEuMzc1NiA2MTMuODE2NywyMDIuNjc2NiA2MTUuMzMyNywyMDMuOTk1NiBDNjE1Ljk1NzcsMjA0LjUzODYgNjE2LjAyNDcsMjA1LjQ4NTYgNjE1LjQ4MDcsMjA2LjExMTYgQzYxNS4xODQ3LDIwNi40NTI2IDYxNC43Njc3LDIwNi42MjY2IDYxNC4zNDc3LDIwNi42MjY2IEw2MTQuMzQ3NywyMDYuNjI2NiBaIE0yNTYuOTgxNywyMDcuMjEyNiBDMjU2LjU2MzcsMjA3LjIxMjYgMjU2LjE0ODcsMjA3LjAzOTYgMjU1Ljg1MTcsMjA2LjcwMDYgQzI1NS4zMDU3LDIwNi4wNzc2IDI1NS4zNjg3LDIwNS4xMjk2IDI1NS45OTI3LDIwNC41ODM2IEMyNTcuNTA2NywyMDMuMjU5NiAyNTkuMDM0NywyMDEuOTUxNiAyNjAuNTc2NywyMDAuNjYwNiBDMjYxLjIxMjcsMjAwLjEyNzYgMjYyLjE1ODcsMjAwLjIxMTYgMjYyLjY5MDcsMjAwLjg0NzYgQzI2My4yMjE3LDIwMS40ODM2IDI2My4xMzc3LDIwMi40Mjg2IDI2Mi41MDI3LDIwMi45NjA2IEMyNjAuOTc2NywyMDQuMjM4NiAyNTkuNDY1NywyMDUuNTMxNiAyNTcuOTY3NywyMDYuODQxNiBDMjU3LjY4MzcsMjA3LjA5MDYgMjU3LjMzMDcsMjA3LjIxMjYgMjU2Ljk4MTcsMjA3LjIxMjYgTDI1Ni45ODE3LDIwNy4yMTI2IFogTTYyMy4yMjQ3LDIxNC42ODk2IEM2MjIuODUzNywyMTQuNjg5NiA2MjIuNDgyNywyMTQuNTUyNiA2MjIuMTkxNywyMTQuMjc3NiBDNjIwLjc0OTcsMjEyLjkwODYgNjE5LjI3OTcsMjExLjU0MjYgNjE3LjgyMjcsMjEwLjIxOTYgQzYxNy4yMDg3LDIwOS42NjM2IDYxNy4xNjI3LDIwOC43MTQ2IDYxNy43MTk3LDIwOC4xMDE2IEM2MTguMjc2NywyMDcuNDg3NiA2MTkuMjI0NywyMDcuNDQyNiA2MTkuODM3NywyMDcuOTk4NiBDNjIxLjMxMjcsMjA5LjMzNjYgNjIyLjc5ODcsMjEwLjcxNjYgNjI0LjI1NzcsMjEyLjEwMTYgQzYyNC44NTg3LDIxMi42NzE2IDYyNC44ODI3LDIxMy42MjE2IDYyNC4zMTI3LDIxNC4yMjI2IEM2MjQuMDE3NywyMTQuNTMzNiA2MjMuNjIwNywyMTQuNjg5NiA2MjMuMjI0NywyMTQuNjg5NiBMNjIzLjIyNDcsMjE0LjY4OTYgWiBNMjQ4LjEyNTcsMjE1LjMwODYgQzI0Ny43MzA3LDIxNS4zMDg2IDI0Ny4zMzU3LDIxNS4xNTM2IDI0Ny4wNDA3LDIxNC44NDQ2IEMyNDYuNDY4NywyMTQuMjQ2NiAyNDYuNDkxNywyMTMuMjk1NiAyNDcuMDg5NywyMTIuNzIzNiBDMjQ4LjU0MzcsMjExLjMzNDYgMjUwLjAxMjcsMjA5Ljk2MTYgMjUxLjQ5NTcsMjA4LjYwNTYgQzI1Mi4xMDY3LDIwOC4wNDQ2IDI1My4wNTU3LDIwOC4wODc2IDI1My42MTU3LDIwOC42OTk2IEMyNTQuMTc0NywyMDkuMzEwNiAyNTQuMTMyNywyMTAuMjU5NiAyNTMuNTIxNywyMTAuODE4NiBDMjUyLjA1MzcsMjEyLjE2MTYgMjUwLjYwMDcsMjEzLjUxODYgMjQ5LjE2MTcsMjE0Ljg5MzYgQzI0OC44NzE3LDIxNS4xNzA2IDI0OC40OTg3LDIxNS4zMDg2IDI0OC4xMjU3LDIxNS4zMDg2IEwyNDguMTI1NywyMTUuMzA4NiBaIE02MzEuNzQxNywyMjMuMTM1NiBDNjMxLjM0ODcsMjIzLjEzNTYgNjMwLjk1NTcsMjIyLjk4MjYgNjMwLjY2MTcsMjIyLjY3NzYgQzYyOS4yODE3LDIyMS4yNDc2IDYyNy44ODM3LDIxOS44MzE2IDYyNi40NzI3LDIxOC40Mjk2IEM2MjUuODg0NywyMTcuODQ2NiA2MjUuODgwNywyMTYuODk2NiA2MjYuNDY0NywyMTYuMzA4NiBDNjI3LjA0NzcsMjE1LjcxOTYgNjI3Ljk5NjcsMjE1LjcxNTYgNjI4LjU4NTcsMjE2LjMwMDYgQzYzMC4wMTI3LDIxNy43MTU2IDYzMS40MjM3LDIxOS4xNDc2IDYzMi44MjA3LDIyMC41OTM2IEM2MzMuMzk1NywyMjEuMTg5NiA2MzMuMzc4NywyMjIuMTM5NiA2MzIuNzgzNywyMjIuNzE0NiBDNjMyLjQ5MTcsMjIyLjk5NjYgNjMyLjExNjcsMjIzLjEzNTYgNjMxLjc0MTcsMjIzLjEzNTYgTDYzMS43NDE3LDIyMy4xMzU2IFogTTIzOS42Mzc3LDIyMy43ODQ2IEMyMzkuMjY0NywyMjMuNzg0NiAyMzguODkwNywyMjMuNjQ1NiAyMzguNjAwNywyMjMuMzY3NiBDMjM4LjAwMTcsMjIyLjc5NDYgMjM3Ljk4MTcsMjIxLjg0NDYgMjM4LjU1MzcsMjIxLjI0NzYgQzIzOS45MjQ3LDIxOS44MTU2IDI0MS4zNDQ3LDIxOC4zNjY2IDI0Mi43NzU3LDIxNi45Mzg2IEMyNDMuMzYyNywyMTYuMzU0NiAyNDQuMzExNywyMTYuMzUyNiAyNDQuODk2NywyMTYuOTQwNiBDMjQ1LjQ4MTcsMjE3LjUyNzYgMjQ1LjQ4MDcsMjE4LjQ3NjYgMjQ0Ljg5NDcsMjE5LjA2MTYgQzI0My40Nzk3LDIyMC40NzM2IDI0Mi4wNzU3LDIyMS45MDY2IDI0MC43MjA3LDIyMy4zMjE2IEMyNDAuNDI2NywyMjMuNjI4NiAyNDAuMDMyNywyMjMuNzg0NiAyMzkuNjM3NywyMjMuNzg0NiBMMjM5LjYzNzcsMjIzLjc4NDYgWiBNNjM5Ljg4MjcsMjMxLjk1MDYgQzYzOS40NjY3LDIzMS45NTA2IDYzOS4wNTM3LDIzMS43Nzk2IDYzOC43NTc3LDIzMS40NDM2IEM2MzcuNDQwNywyMjkuOTUyNiA2MzYuMDk0NywyMjguNDYyNiA2MzQuNzU3NywyMjcuMDE2NiBDNjM0LjE5NTcsMjI2LjQwNzYgNjM0LjIzMjcsMjI1LjQ1ODYgNjM0Ljg0MDcsMjI0Ljg5NjYgQzYzNS40NDk3LDIyNC4zMzM2IDYzNi4zOTg3LDIyNC4zNzI2IDYzNi45NjA3LDIyNC45Nzk2IEM2MzguMzEzNywyMjYuNDQzNiA2MzkuNjczNywyMjcuOTQ5NiA2NDEuMDA1NywyMjkuNDU2NiBDNjQxLjU1NDcsMjMwLjA3ODYgNjQxLjQ5NTcsMjMxLjAyNjYgNjQwLjg3NDcsMjMxLjU3NDYgQzY0MC41ODk3LDIzMS44MjY2IDY0MC4yMzU3LDIzMS45NTA2IDYzOS44ODI3LDIzMS45NTA2IEw2MzkuODgyNywyMzEuOTUwNiBaIE0yMzEuNTI4NywyMzIuNjE5NiBDMjMxLjE3NjcsMjMyLjYxOTYgMjMwLjgyNDcsMjMyLjQ5NjYgMjMwLjUzODcsMjMyLjI0NjYgQzIyOS45MTY3LDIzMS42OTk2IDIyOS44NTU3LDIzMC43NTE2IDIzMC40MDI3LDIzMC4xMjg2IEMyMzEuNzI4NywyMjguNjE5NiAyMzMuMDcxNywyMjcuMTIzNiAyMzQuNDI4NywyMjUuNjQzNiBDMjM0Ljk4OTcsMjI1LjAzMzYgMjM1LjkzNzcsMjI0Ljk5MzYgMjM2LjU0NzcsMjI1LjU1MTYgQzIzNy4xNTg3LDIyNi4xMTE2IDIzNy4xOTk3LDIyNy4wNjA2IDIzNi42Mzk3LDIyNy42NzA2IEMyMzUuMjk1NywyMjkuMTM1NiAyMzMuOTY4NywyMzAuNjE1NiAyMzIuNjU2NywyMzIuMTA5NiBDMjMyLjM1OTcsMjMyLjQ0NjYgMjMxLjk0NTcsMjMyLjYxOTYgMjMxLjUyODcsMjMyLjYxOTYgTDIzMS41Mjg3LDIzMi42MTk2IFogTTY0Ny42MzE3LDI0MS4xMTU2IEM2NDcuMTk0NywyNDEuMTE1NiA2NDYuNzYwNywyNDAuOTI0NiA2NDYuNDY0NywyNDAuNTU4NiBDNjQ1LjIwNDcsMjM5LjAwMDYgNjQzLjkyNTcsMjM3LjQ1MzYgNjQyLjY1OTcsMjM1Ljk1NzYgQzY0Mi4xMjQ3LDIzNS4zMjU2IDY0Mi4yMDM3LDIzNC4zNzg2IDY0Mi44MzY3LDIzMy44NDM2IEM2NDMuNDY5NywyMzMuMzA5NiA2NDQuNDE2NywyMzMuMzg4NiA2NDQuOTUwNywyMzQuMDIwNiBDNjQ2LjIzMDcsMjM1LjUzMzYgNjQ3LjUyNDcsMjM3LjA5NzYgNjQ4Ljc5NjcsMjM4LjY3MTYgQzY0OS4zMTg3LDIzOS4zMTY2IDY0OS4yMTc3LDI0MC4yNjA2IDY0OC41NzQ3LDI0MC43ODE2IEM2NDguMjk1NywyNDEuMDA1NiA2NDcuOTYyNywyNDEuMTE1NiA2NDcuNjMxNywyNDEuMTE1NiBMNjQ3LjYzMTcsMjQxLjExNTYgWiBNMjIzLjgxNzcsMjQxLjc5NzYgQzIyMy40ODg3LDI0MS43OTc2IDIyMy4xNTY3LDI0MS42ODk2IDIyMi44Nzk3LDI0MS40Njc2IEMyMjIuMjMzNywyNDAuOTQ5NiAyMjIuMTI5NywyNDAuMDA0NiAyMjIuNjQ4NywyMzkuMzU5NiBDMjIzLjg5MzcsMjM3LjgwNzYgMjI1LjE4MDcsMjM2LjI0MDYgMjI2LjQ3NDcsMjM0LjcwMTYgQzIyNy4wMDg3LDIzNC4wNjY2IDIyNy45NTM3LDIzMy45ODQ2IDIyOC41ODc3LDIzNC41MTc2IEMyMjkuMjIyNywyMzUuMDUwNiAyMjkuMzA0NywyMzUuOTk3NiAyMjguNzcxNywyMzYuNjMwNiBDMjI3LjQ5MTcsMjM4LjE1MzYgMjI2LjIxOTcsMjM5LjcwMzYgMjI0Ljk4ODcsMjQxLjIzNjYgQzIyNC42OTI3LDI0MS42MDU2IDIyNC4yNTY3LDI0MS43OTc2IDIyMy44MTc3LDI0MS43OTc2IEwyMjMuODE3NywyNDEuNzk3NiBaIE02NTQuOTczNywyNTAuNjE1NiBDNjU0LjUxMzcsMjUwLjYxNTYgNjU0LjA1OTcsMjUwLjQwNDYgNjUzLjc2NTcsMjUwLjAwNTYgQzY1Mi41ODk3LDI0OC40MTI2IDY1MS4zNzg3LDI0Ni44MDk2IDY1MC4xNjc3LDI0NS4yNDI2IEM2NDkuNjYwNywyNDQuNTg2NiA2NDkuNzgxNywyNDMuNjQ1NiA2NTAuNDM3NywyNDMuMTM4NiBDNjUxLjA5MDcsMjQyLjYzMjYgNjUyLjAzNTcsMjQyLjc1MTYgNjUyLjU0MDcsMjQzLjQwODYgQzY1My43NjU3LDI0NC45OTI2IDY1NC45OTA3LDI0Ni42MTI2IDY1Ni4xNzk3LDI0OC4yMjQ2IEM2NTYuNjcxNywyNDguODkwNiA2NTYuNTMwNywyNDkuODMwNiA2NTUuODYzNywyNTAuMzIyNiBDNjU1LjU5NTcsMjUwLjUxOTYgNjU1LjI4MzcsMjUwLjYxNTYgNjU0Ljk3MzcsMjUwLjYxNTYgTDY1NC45NzM3LDI1MC42MTU2IFogTTY2MS44OTA3LDI2MC40MzE2IEM2NjEuNDA4NywyNjAuNDMxNiA2NjAuOTM0NywyNjAuMTk5NiA2NjAuNjQ0NywyNTkuNzY4NiBDNjU5LjUyMTcsMjU4LjA5NzYgNjU4LjM4MTcsMjU2LjQ0MjYgNjU3LjI1NzcsMjU0Ljg0OTYgQzY1Ni43ODA3LDI1NC4xNzE2IDY1Ni45NDE3LDI1My4yMzY2IDY1Ny42MTc3LDI1Mi43NTg2IEM2NTguMjkzNywyNTIuMjgxNiA2NTkuMjMxNywyNTIuNDQyNiA2NTkuNzA4NywyNTMuMTE5NiBDNjYwLjg0NTcsMjU0LjczMTYgNjYxLjk5ODcsMjU2LjQwNTYgNjYzLjEzNDcsMjU4LjA5NDYgQzY2My41OTY3LDI1OC43ODI2IDY2My40MTM3LDI1OS43MTQ2IDY2Mi43MjY3LDI2MC4xNzY2IEM2NjIuNDY5NywyNjAuMzQ5NiA2NjIuMTc4NywyNjAuNDMxNiA2NjEuODkwNywyNjAuNDMxNiBMNjYxLjg5MDcsMjYwLjQzMTYgWiBNNjY4LjM3MTcsMjcwLjU0NjYgQzY2Ny44NjY3LDI3MC41NDY2IDY2Ny4zNzI3LDI3MC4yOTA2IDY2Ny4wOTA3LDI2OS44Mjg2IEM2NjYuMDUzNywyNjguMTI2NiA2NjQuOTk3NywyNjYuNDM4NiA2NjMuOTIzNywyNjQuNzYyNiBDNjYzLjQ3NjcsMjY0LjA2NDYgNjYzLjY3OTcsMjYzLjEzNjYgNjY0LjM3NjcsMjYyLjY5MDYgQzY2NS4wNzQ3LDI2Mi4yNDM2IDY2Ni4wMDE3LDI2Mi40NDY2IDY2Ni40NDk3LDI2My4xNDM2IEM2NjcuNTI2NywyNjQuODI0NiA2NjguNjAzNywyNjYuNTQ3NiA2NjkuNjUxNywyNjguMjY1NiBDNjcwLjA4MjcsMjY4Ljk3MjYgNjY5Ljg1OTcsMjY5Ljg5NjYgNjY5LjE1MjcsMjcwLjMyNzYgQzY2OC45MDg3LDI3MC40NzY2IDY2OC42Mzg3LDI3MC41NDY2IDY2OC4zNzE3LDI3MC41NDY2IEw2NjguMzcxNywyNzAuNTQ2NiBaIE02NzQuNDAyNywyODAuOTQxNiBDNjczLjg3MzcsMjgwLjk0MTYgNjczLjM2MDcsMjgwLjY2MTYgNjczLjA4NzcsMjgwLjE2NDYgQzY3Mi4xMzI3LDI3OC40MzE2IDY3MS4xNDM3LDI3Ni42ODE2IDY3MC4xNDY3LDI3NC45NjI2IEM2NjkuNzMwNywyNzQuMjQ2NiA2NjkuOTczNywyNzMuMzI4NiA2NzAuNjkwNywyNzIuOTEzNiBDNjcxLjQwNzcsMjcyLjQ5NzYgNjcyLjMyNDcsMjcyLjczOTYgNjcyLjc0MDcsMjczLjQ1NjYgQzY3My43NDg3LDI3NS4xOTU2IDY3NC43NDk3LDI3Ni45NjQ2IDY3NS43MTU3LDI3OC43MTc2IEM2NzYuMTE1NywyNzkuNDQzNiA2NzUuODUwNywyODAuMzU1NiA2NzUuMTI0NywyODAuNzU0NiBDNjc0Ljg5NTcsMjgwLjg4MTYgNjc0LjY0NzcsMjgwLjk0MTYgNjc0LjQwMjcsMjgwLjk0MTYgTDY3NC40MDI3LDI4MC45NDE2IFogTTY3OS45Njg3LDI5MS41OTc2IEM2NzkuNDE1NywyOTEuNTk3NiA2NzguODg0NywyOTEuMjkwNiA2NzguNjIyNywyOTAuNzYyNiBDNjc3Ljc0NTcsMjg4Ljk4OTYgNjc2LjgzNDcsMjg3LjE5NjYgNjc1LjkxMzcsMjg1LjQzMjYgQzY3NS41MzA3LDI4NC42OTk2IDY3NS44MTQ3LDI4My43OTI2IDY3Ni41NDg3LDI4My40MDk2IEM2NzcuMjgwNywyODMuMDI1NiA2NzguMTg5NywyODMuMzA4NiA2NzguNTcyNywyODQuMDQzNiBDNjc5LjUwMzcsMjg1LjgyNjYgNjgwLjQyNTcsMjg3LjYzOTYgNjgxLjMxMjcsMjg5LjQzMjYgQzY4MS42Nzk3LDI5MC4xNzU2IDY4MS4zNzQ3LDI5MS4wNzU2IDY4MC42MzI3LDI5MS40NDI2IEM2ODAuNDE4NywyOTEuNTQ3NiA2ODAuMTkyNywyOTEuNTk3NiA2NzkuOTY4NywyOTEuNTk3NiBMNjc5Ljk2ODcsMjkxLjU5NzYgWiBNMTkxLjczMDcsMjkyLjIwNzYgQzE5MS41MDc3LDI5Mi4yMDc2IDE5MS4yODM3LDI5Mi4xNTk2IDE5MS4wNzA3LDI5Mi4wNTQ2IEMxOTAuMzI1NywyOTEuNjg5NiAxOTAuMDE5NywyOTAuNzg5NiAxOTAuMzg0NywyOTAuMDQ2NiBDMTkxLjI2OTcsMjg4LjI0NjYgMTkyLjE3NDcsMjg2LjQ1NTYgMTkzLjA5NzcsMjg0LjY3NjYgQzE5My40Nzk3LDI4My45NDI2IDE5NC4zODQ3LDI4My42NTU2IDE5NS4xMTk3LDI4NC4wMzc2IEMxOTUuODU1NywyODQuNDE4NiAxOTYuMTQxNywyODUuMzI0NiAxOTUuNzU5NywyODYuMDU5NiBDMTk0Ljg0NzcsMjg3LjgxODYgMTkzLjk1MjcsMjg5LjU4NzYgMTkzLjA3NzcsMjkxLjM2OTYgQzE5Mi44MTc3LDI5MS45MDA2IDE5Mi4yODM3LDI5Mi4yMDc2IDE5MS43MzA3LDI5Mi4yMDc2IEwxOTEuNzMwNywyOTIuMjA3NiBaIE02ODUuMDU4NywzMDIuNDk0NiBDNjg0LjQ4MTcsMzAyLjQ5NDYgNjgzLjkzMTcsMzAyLjE2MDYgNjgzLjY4NDcsMzAxLjU5ODYgQzY4Mi44NzY3LDI5OS43NjM2IDY4Mi4wNDU3LDI5Ny45MzA2IDY4MS4yMTM3LDI5Ni4xNTI2IEM2ODAuODYyNywyOTUuNDAxNiA2ODEuMTg2NywyOTQuNTA4NiA2ODEuOTM2NywyOTQuMTU4NiBDNjgyLjY4NzcsMjkzLjgwMzYgNjgzLjU3ODcsMjk0LjEyOTYgNjgzLjkzMDcsMjk0Ljg4MDYgQzY4NC43NzI3LDI5Ni42ODA2IDY4NS42MTM3LDI5OC41MzQ2IDY4Ni40MzA3LDMwMC4zODk2IEM2ODYuNzY0NywzMDEuMTQ4NiA2ODYuNDE5NywzMDIuMDMzNiA2ODUuNjYxNywzMDIuMzY3NiBDNjg1LjQ2NTcsMzAyLjQ1MzYgNjg1LjI1OTcsMzAyLjQ5NDYgNjg1LjA1ODcsMzAyLjQ5NDYgTDY4NS4wNTg3LDMwMi40OTQ2IFogTTE4Ni42OTQ3LDMwMy4wNTU2IEMxODYuNDkzNywzMDMuMDU1NiAxODYuMjg5NywzMDMuMDE1NiAxODYuMDkzNywzMDIuOTI5NiBDMTg1LjMzNDcsMzAyLjU5NzYgMTg0Ljk4OTcsMzAxLjcxMjYgMTg1LjMyMTcsMzAwLjk1NDYgQzE4Ni4xMjQ3LDI5OS4xMTc2IDE4Ni45NDk3LDI5Ny4yODk2IDE4Ny43OTI3LDI5NS40NzI2IEMxODguMTQxNywyOTQuNzIwNiAxODkuMDM1NywyOTQuMzk2NiAxODkuNzg0NywyOTQuNzQ0NiBDMTkwLjUzNTcsMjk1LjA5MjYgMTkwLjg2MjcsMjk1Ljk4NDYgMTkwLjUxMzcsMjk2LjczNjYgQzE4OS42Nzk3LDI5OC41MzM2IDE4OC44NjU3LDMwMC4zMzk2IDE4OC4wNjk3LDMwMi4xNTc2IEMxODcuODIzNywzMDIuNzIwNiAxODcuMjcyNywzMDMuMDU1NiAxODYuNjk0NywzMDMuMDU1NiBMMTg2LjY5NDcsMzAzLjA1NTYgWiBNNjg5LjY1OTcsMzEzLjYxMDYgQzY4OS4wNTk3LDMxMy42MTA2IDY4OC40OTE3LDMxMy4yNDc2IDY4OC4yNjE3LDMxMi42NTM2IEM2ODcuNTQ5NywzMTAuODE3NiA2ODYuNzk5NywzMDguOTQ5NiA2ODYuMDMzNywzMDcuMDk5NiBDNjg1LjcxNjcsMzA2LjMzMzYgNjg2LjA4MDcsMzA1LjQ1NTYgNjg2Ljg0NTcsMzA1LjEzOTYgQzY4Ny42MTc3LDMwNC44MjE2IDY4OC40ODk3LDMwNS4xODc2IDY4OC44MDU3LDMwNS45NTE2IEM2ODkuNTc5NywzMDcuODIyNiA2OTAuMzM3NywzMDkuNzExNiA2OTEuMDU4NywzMTEuNTY3NiBDNjkxLjM1ODcsMzEyLjMzOTYgNjkwLjk3NTcsMzEzLjIwODYgNjkwLjIwMjcsMzEzLjUwODYgQzY5MC4wMjQ3LDMxMy41Nzg2IDY4OS44NDA3LDMxMy42MTA2IDY4OS42NTk3LDMxMy42MTA2IEw2ODkuNjU5NywzMTMuNjEwNiBaIE0xODIuMTM5NywzMTQuMTI4NiBDMTgxLjk1OTcsMzE0LjEyODYgMTgxLjc3NzcsMzE0LjA5NjYgMTgxLjU5OTcsMzE0LjAyODYgQzE4MC44MjY3LDMxMy43MzA2IDE4MC40NDI3LDMxMi44NjE2IDE4MC43NDA3LDMxMi4wODg2IEMxODEuNDY0NywzMTAuMjExNiAxODIuMjA4NywzMDguMzQzNiAxODIuOTcyNywzMDYuNDg2NiBDMTgzLjI4NzcsMzA1LjcyMDYgMTg0LjE2MjcsMzA1LjM1NTYgMTg0LjkzMDcsMzA1LjY2ODYgQzE4NS42OTc3LDMwNS45ODQ2IDE4Ni4wNjI3LDMwNi44NjE2IDE4NS43NDc3LDMwNy42MjY2IEMxODQuOTkxNywzMDkuNDY0NiAxODQuMjU1NywzMTEuMzExNiAxODMuNTM4NywzMTMuMTY4NiBDMTgzLjMwOTcsMzEzLjc2NDYgMTgyLjc0MTcsMzE0LjEyODYgMTgyLjEzOTcsMzE0LjEyODYgTDE4Mi4xMzk3LDMxNC4xMjg2IFogTTE3OC4wNzE3LDMyNS40MTU2IEMxNzcuOTEyNywzMjUuNDE1NiAxNzcuNzUyNywzMjUuMzkxNiAxNzcuNTk0NywzMjUuMzM3NiBDMTc2LjgwODcsMzI1LjA3NTYgMTc2LjM4NTcsMzI0LjIyNDYgMTc2LjY0OTcsMzIzLjQzOTYgQzE3Ny4yODU3LDMyMS41Mzk2IDE3Ny45NTI3LDMxOS42MjI2IDE3OC42MzE3LDMxNy43NDE2IEMxNzguOTEyNywzMTYuOTYxNiAxNzkuNzcyNywzMTYuNTU2NiAxODAuNTUxNywzMTYuODM4NiBDMTgxLjMzMDcsMzE3LjEyMDYgMTgxLjczNTcsMzE3Ljk3OTYgMTgxLjQ1MzcsMzE4Ljc1ODYgQzE4MC43ODM3LDMyMC42MTg2IDE4MC4xMjM3LDMyMi41MTM2IDE3OS40OTI3LDMyNC4zOTI2IEMxNzkuMjgzNywzMjUuMDIwNiAxNzguNjk4NywzMjUuNDE1NiAxNzguMDcxNywzMjUuNDE1NiBMMTc4LjA3MTcsMzI1LjQxNTYgWiBNMTY4LjkyNzcsMzYwLjIwMTYgQzE2OC44MzI3LDM2MC4yMDE2IDE2OC43Mzc3LDM2MC4xOTI2IDE2OC42NDE3LDM2MC4xNzM2IEMxNjcuODI3NywzNjAuMDE2NiAxNjcuMjk1NywzNTkuMjMwNiAxNjcuNDUyNywzNTguNDE2NiBDMTY3LjgzNDcsMzU2LjQzODYgMTY4LjIzNzcsMzU0LjQ2ODYgMTY4LjY2MDcsMzUyLjUwNjYgQzE2OC44MzU3LDM1MS42OTY2IDE2OS42NDA3LDM1MS4xODE2IDE3MC40NDM3LDM1MS4zNTc2IEMxNzEuMjUyNywzNTEuNTMxNiAxNzEuNzY3NywzNTIuMzMwNiAxNzEuNTkyNywzNTMuMTM5NiBDMTcxLjE3NDcsMzU1LjA4MDYgMTcwLjc3NjcsMzU3LjAyODYgMTcwLjM5ODcsMzU4Ljk4NTYgQzE3MC4yNTk3LDM1OS43MDM2IDE2OS42MzE3LDM2MC4yMDE2IDE2OC45Mjc3LDM2MC4yMDE2IEwxNjguOTI3NywzNjAuMjAxNiBaIE03MDYuNTE2NywzODMuNDQxNiBDNzA1Ljc1NzcsMzgzLjQ0MTYgNzA1LjEwNzcsMzgyLjg2ODYgNzA1LjAyNjcsMzgyLjA5NjYgQzcwNC44MjA3LDM4MC4xMTU2IDcwNC41OTE3LDM3OC4xMzk2IDcwNC4zNDE3LDM3Ni4xNzA2IEM3MDQuMjM3NywzNzUuMzQ5NiA3MDQuODE5NywzNzQuNTk4NiA3MDUuNjQxNywzNzQuNDk0NiBDNzA2LjQ2MTcsMzc0LjQwMTYgNzA3LjIxMzcsMzc0Ljk3MzYgNzA3LjMxODcsMzc1Ljc5MzYgQzcwNy41Njk3LDM3Ny43NzU2IDcwNy44MDI3LDM3OS43OTA2IDcwOC4wMTA3LDM4MS43ODY2IEM3MDguMDk2NywzODIuNjA5NiA3MDcuNDk3NywzODMuMzQ3NiA3MDYuNjczNywzODMuNDMzNiBDNzA2LjYyMDcsMzgzLjQzODYgNzA2LjU2ODcsMzgzLjQ0MTYgNzA2LjUxNjcsMzgzLjQ0MTYgTDcwNi41MTY3LDM4My40NDE2IFogTTcwNy41MDA3LDM5NS4zOTc2IEM3MDYuNzEyNywzOTUuMzk3NiA3MDYuMDUyNywzOTQuNzg0NiA3MDYuMDA0NywzOTMuOTg3NiBDNzA1Ljg4NDcsMzkxLjk5NDYgNzA1Ljc0MTcsMzg5Ljk5MjYgNzA1LjU4MDcsMzg4LjAzNzYgQzcwNS41MTI3LDM4Ny4yMTE2IDcwNi4xMjY3LDM4Ni40ODc2IDcwNi45NTI3LDM4Ni40MTg2IEM3MDcuNzcxNywzODYuMzY1NiA3MDguNTAyNywzODYuOTYzNiA3MDguNTcxNywzODcuNzkwNiBDNzA4LjczNDcsMzg5Ljc2ODYgNzA4Ljg3NzcsMzkxLjc5MjYgNzA4Ljk5ODcsMzkzLjgwNzYgQzcwOS4wNDg3LDM5NC42MzQ2IDcwOC40MTg3LDM5NS4zNDQ2IDcwNy41OTE3LDM5NS4zOTQ2IEM3MDcuNTYxNywzOTUuMzk2NiA3MDcuNTMxNywzOTUuMzk3NiA3MDcuNTAwNywzOTUuMzk3NiBMNzA3LjUwMDcsMzk1LjM5NzYgWiBNMTY5LjY1ODcsNDY3LjQ3MTYgQzE2OC45NjM3LDQ2Ny40NzE2IDE2OC4zMzg3LDQ2Ni45ODQ2IDE2OC4xOTI3LDQ2Ni4yNzY2IEMxNjcuNzkwNyw0NjQuMzM5NiAxNjcuNDAxNyw0NjIuMzQ4NiAxNjcuMDMzNyw0NjAuMzU3NiBDMTY2Ljg4MzcsNDU5LjU0MTYgMTY3LjQyMTcsNDU4Ljc1OTYgMTY4LjIzNjcsNDU4LjYwOTYgQzE2OS4wNDg3LDQ1OC40NjM2IDE2OS44MzI3LDQ1OC45OTc2IDE2OS45ODQ3LDQ1OS44MTI2IEMxNzAuMzQ0Nyw0NjEuNzcxNiAxNzAuNzI2Nyw0NjMuNzIzNiAxNzEuMTI5Nyw0NjUuNjY2NiBDMTcxLjI5NzcsNDY2LjQ3ODYgMTcwLjc3NzcsNDY3LjI3MjYgMTY5Ljk2NTcsNDY3LjQ0MDYgQzE2OS44NjM3LDQ2Ny40NjE2IDE2OS43NjA3LDQ2Ny40NzE2IDE2OS42NTg3LDQ2Ny40NzE2IEwxNjkuNjU4Nyw0NjcuNDcxNiBaIE0xNzIuMzU0Nyw0NzkuMTYyNiBDMTcxLjY4NDcsNDc5LjE2MjYgMTcxLjA3NDcsNDc4LjcxMDYgMTcwLjkwMTcsNDc4LjAzMjYgQzE3MC40MTI3LDQ3Ni4xMDg2IDE2OS45MzQ3LDQ3NC4xMzU2IDE2OS40ODA3LDQ3Mi4xNjg2IEMxNjkuMjk0Nyw0NzEuMzYyNiAxNjkuNzk3Nyw0NzAuNTU2NiAxNzAuNjA1Nyw0NzAuMzcwNiBDMTcxLjQxNTcsNDcwLjE4ODYgMTcyLjIxODcsNDcwLjY4NzYgMTcyLjQwNDcsNDcxLjQ5NTYgQzE3Mi44NTI3LDQ3My40Mzk2IDE3My4zMjU3LDQ3NS4zOTA2IDE3My44MDk3LDQ3Ny4yOTE2IEMxNzQuMDEzNyw0NzguMDk1NiAxNzMuNTI4Nyw0NzguOTEyNiAxNzIuNzI1Nyw0NzkuMTE2NiBDMTcyLjYwMTcsNDc5LjE0NzYgMTcyLjQ3NjcsNDc5LjE2MjYgMTcyLjM1NDcsNDc5LjE2MjYgTDE3Mi4zNTQ3LDQ3OS4xNjI2IFogTTE3NS41NjU3LDQ5MC43MjE2IEMxNzQuOTIxNyw0OTAuNzIxNiAxNzQuMzI1Nyw0OTAuMzAzNiAxNzQuMTMwNyw0ODkuNjU1NiBDMTczLjU1MzcsNDg3Ljc0NjYgMTcyLjk4OTcsNDg1Ljc5NjYgMTcyLjQ1MDcsNDgzLjg2MTYgQzE3Mi4yMjk3LDQ4My4wNjM2IDE3Mi42OTY3LDQ4Mi4yMzY2IDE3My40OTQ3LDQ4Mi4wMTQ2IEMxNzQuMjkwNyw0ODEuNzkzNiAxNzUuMTE4Nyw0ODIuMjU5NiAxNzUuMzQxNyw0ODMuMDU4NiBDMTc1Ljg3MzcsNDg0Ljk3MjYgMTc2LjQzMjcsNDg2LjkwMDYgMTc3LjAwMTcsNDg4Ljc4ODYgQzE3Ny4yNDE3LDQ4OS41ODA2IDE3Ni43OTI3LDQ5MC40MTc2IDE3NS45OTk3LDQ5MC42NTc2IEMxNzUuODU1Nyw0OTAuNzAxNiAxNzUuNzA4Nyw0OTAuNzIxNiAxNzUuNTY1Nyw0OTAuNzIxNiBMMTc1LjU2NTcsNDkwLjcyMTYgWiBNMTc5LjMwMTcsNTAyLjE2ODYgQzE3OC42ODI3LDUwMi4xNjg2IDE3OC4xMDM3LDUwMS43ODM2IDE3Ny44ODY3LDUwMS4xNjU2IEMxNzcuMjIzNyw0OTkuMjgxNiAxNzYuNTcwNyw0OTcuMzUyNiAxNzUuOTQ0Nyw0OTUuNDMxNiBDMTc1LjY4NzcsNDk0LjY0NDYgMTc2LjExNjcsNDkzLjc5NzYgMTc2LjkwNTcsNDkzLjU0MDYgQzE3Ny42ODk3LDQ5My4yODA2IDE3OC41Mzg3LDQ5My43MTI2IDE3OC43OTU3LDQ5NC41MDE2IEMxNzkuNDE0Nyw0OTYuNDAwNiAxODAuMDYxNyw0OTguMzA3NiAxODAuNzE2Nyw1MDAuMTcxNiBDMTgwLjk5MTcsNTAwLjk1MzYgMTgwLjU4MDcsNTAxLjgwOTYgMTc5Ljc5ODcsNTAyLjA4MzYgQzE3OS42MzQ3LDUwMi4xNDE2IDE3OS40NjY3LDUwMi4xNjg2IDE3OS4zMDE3LDUwMi4xNjg2IEwxNzkuMzAxNyw1MDIuMTY4NiBaIE02ODguNjY4Nyw1MTIuOTA0NiBDNjg4LjQ4MzcsNTEyLjkwNDYgNjg4LjI5NDcsNTEyLjg3MDYgNjg4LjExMjcsNTEyLjc5NjYgQzY4Ny4zNDI3LDUxMi40OTA2IDY4Ni45Njg3LDUxMS42MTc2IDY4Ny4yNzY3LDUxMC44NDc2IEM2ODguMDEzNyw1MDkuMDAxNiA2ODguNzMwNyw1MDcuMTQ3NiA2ODkuNDI5Nyw1MDUuMjgyNiBDNjg5LjcyMDcsNTA0LjUwNTYgNjkwLjU4MTcsNTA0LjExMDYgNjkxLjM2MDcsNTA0LjQwNDYgQzY5Mi4xMzU3LDUwNC42OTQ2IDY5Mi41Mjk3LDUwNS41NTg2IDY5Mi4yMzg3LDUwNi4zMzQ2IEM2OTEuNTMzNyw1MDguMjE5NiA2OTAuODA2Nyw1MTAuMDk0NiA2OTAuMDYxNyw1MTEuOTYwNiBDNjg5LjgyNjcsNTEyLjU0NzYgNjg5LjI2MzcsNTEyLjkwNDYgNjg4LjY2ODcsNTEyLjkwNDYgTDY4OC42Njg3LDUxMi45MDQ2IFogTTE4My41NDM3LDUxMy40MzM2IEMxODIuOTUwNyw1MTMuNDMzNiAxODIuMzg3Nyw1MTMuMDc4NiAxODIuMTUyNyw1MTIuNDkzNiBDMTgxLjQwMDcsNTEwLjYyMjYgMTgwLjY2ODcsNTA4Ljc0MzYgMTc5Ljk1NjcsNTA2Ljg1NDYgQzE3OS42NjM3LDUwNi4wNzk2IDE4MC4wNTY3LDUwNS4yMTM2IDE4MC44MzA3LDUwNC45MjE2IEMxODEuNjA4Nyw1MDQuNjI1NiAxODIuNDcwNyw1MDUuMDIwNiAxODIuNzYzNyw1MDUuNzk1NiBDMTgzLjQ2NzcsNTA3LjY2NDYgMTg0LjE5MTcsNTA5LjUyMzYgMTg0LjkzNTcsNTExLjM3MzYgQzE4NS4yNDQ3LDUxMi4xNDI2IDE4NC44NzE3LDUxMy4wMTY2IDE4NC4xMDM3LDUxMy4zMjU2IEMxODMuOTE5Nyw1MTMuMzk5NiAxODMuNzMwNyw1MTMuNDMzNiAxODMuNTQzNyw1MTMuNDMzNiBMMTgzLjU0MzcsNTEzLjQzMzYgWiBNNjgzLjk4NjcsNTIzLjkwNDYgQzY4My43ODA3LDUyMy45MDQ2IDY4My41NzA3LDUyMy44NjE2IDY4My4zNjg3LDUyMy43NzE2IEM2ODIuNjE0Nyw1MjMuNDI5NiA2ODIuMjc5Nyw1MjIuNTQwNiA2ODIuNjE5Nyw1MjEuNzg2NiBDNjgzLjQzNjcsNTE5Ljk4MjYgNjg0LjIzMjcsNTE4LjE2NjYgNjg1LjAwOTcsNTE2LjM0MTYgQzY4NS4zMzI3LDUxNS41ODA2IDY4Ni4yMTQ3LDUxNS4yMjI2IDY4Ni45NzY3LDUxNS41NDg2IEM2ODcuNzM5Nyw1MTUuODcyNiA2ODguMDk0Nyw1MTYuNzUzNiA2ODcuNzY5Nyw1MTcuNTE1NiBDNjg2Ljk4ODcsNTE5LjM1MzYgNjg2LjE3NDcsNTIxLjIwNTYgNjg1LjM1NDcsNTIzLjAyMjYgQzY4NS4xMDM3LDUyMy41NzY2IDY4NC41NTc3LDUyMy45MDQ2IDY4My45ODY3LDUyMy45MDQ2IEw2ODMuOTg2Nyw1MjMuOTA0NiBaIE0xODguMjgxNyw1MjQuNDkzNiBDMTg3LjcxMDcsNTI0LjQ5MzYgMTg3LjE2NTcsNTI0LjE2NjYgMTg2LjkxNDcsNTIzLjYxNDYgQzE4Ni4wODY3LDUyMS43OTU2IDE4NS4yNjU3LDUxOS45MzM2IDE4NC40NzE3LDUxOC4wODA2IEMxODQuMTQ1Nyw1MTcuMzE5NiAxODQuNDk4Nyw1MTYuNDM3NiAxODUuMjU5Nyw1MTYuMTExNiBDMTg2LjAyMjcsNTE1Ljc4NTYgMTg2LjkwMzcsNTE2LjEzODYgMTg3LjIyOTcsNTE2Ljg5OTYgQzE4OC4wMTQ3LDUxOC43MzI2IDE4OC44MjY3LDUyMC41NzM2IDE4OS42NDU3LDUyMi4zNzI2IEMxODkuOTg4Nyw1MjMuMTI1NiAxODkuNjU1Nyw1MjQuMDE1NiAxODguOTAxNyw1MjQuMzU4NiBDMTg4LjcwMDcsNTI0LjQ1MDYgMTg4LjQ4OTcsNTI0LjQ5MzYgMTg4LjI4MTcsNTI0LjQ5MzYgTDE4OC4yODE3LDUyNC40OTM2IFogTTY3OC44MjE3LDUzNC42OTE2IEM2NzguNTkzNyw1MzQuNjkxNiA2NzguMzYyNyw1MzQuNjM5NiA2NzguMTQ0Nyw1MzQuNTMwNiBDNjc3LjQwNjcsNTM0LjE1NTYgNjc3LjEwOTcsNTMzLjI1MjYgNjc3LjQ4NDcsNTMyLjUxMzYgQzY3OC4zNzg3LDUzMC43NDY2IDY3OS4yNTQ3LDUyOC45NjY2IDY4MC4xMTI3LDUyNy4xNzc2IEM2ODAuNDcwNyw1MjYuNDI5NiA2ODEuMzY3Nyw1MjYuMTE2NiA2ODIuMTEzNyw1MjYuNDczNiBDNjgyLjg2MDcsNTI2LjgzMTYgNjgzLjE3NTcsNTI3LjcyNzYgNjgyLjgxNzcsNTI4LjQ3NDYgQzY4MS45NDk3LDUzMC4yODM2IDY4MS4wNjQ3LDUzMi4wODE2IDY4MC4xNjA3LDUzMy44Njk2IEM2NzkuODk2Nyw1MzQuMzkwNiA2NzkuMzY4Nyw1MzQuNjkxNiA2NzguODIxNyw1MzQuNjkxNiBMNjc4LjgyMTcsNTM0LjY5MTYgWiBNMTkzLjUwMTcsNTM1LjMyNjYgQzE5Mi45NTU3LDUzNS4zMjY2IDE5Mi40Mjk3LDUzNS4wMjc2IDE5Mi4xNjM3LDUzNC41MDY2IEMxOTEuMjQ5Nyw1MzIuNzExNiAxOTAuMzU0Nyw1MzAuOTA2NiAxODkuNDc4Nyw1MjkuMDg5NiBDMTg5LjExODcsNTI4LjM0MzYgMTg5LjQzMjcsNTI3LjQ0NzYgMTkwLjE3ODcsNTI3LjA4NjYgQzE5MC45MjE3LDUyNi43Mjg2IDE5MS44MjA3LDUyNy4wMzk2IDE5Mi4xODE3LDUyNy43ODc2IEMxOTMuMDQ3Nyw1MjkuNTgzNiAxOTMuOTMzNyw1MzEuMzcwNiAxOTQuODM3Nyw1MzMuMTQ1NiBDMTk1LjIxMzcsNTMzLjg4MzYgMTk0LjkxOTcsNTM0Ljc4NzYgMTk0LjE4MTcsNTM1LjE2MzYgQzE5My45NjM3LDUzNS4yNzM2IDE5My43MzE3LDUzNS4zMjY2IDE5My41MDE3LDUzNS4zMjY2IEwxOTMuNTAxNyw1MzUuMzI2NiBaIE02NzMuMTgxNyw1NDUuMjQ1NiBDNjcyLjkzMjcsNTQ1LjI0NTYgNjcyLjY3OTcsNTQ1LjE4MzYgNjcyLjQ0NzcsNTQ1LjA1MjYgQzY3MS43MjQ3LDU0NC42NDY2IDY3MS40Njg3LDU0My43MzE2IDY3MS44NzQ3LDU0My4wMDk2IEM2NzIuODQ3Nyw1NDEuMjgxNiA2NzMuODAxNyw1MzkuNTQxNiA2NzQuNzM4Nyw1MzcuNzkwNiBDNjc1LjEyNzcsNTM3LjA2MDYgNjc2LjAzNzcsNTM2Ljc4NDYgNjc2Ljc2ODcsNTM3LjE3NjYgQzY3Ny40OTg3LDUzNy41Njc2IDY3Ny43NzQ3LDUzOC40NzY2IDY3Ny4zODI3LDUzOS4yMDY2IEM2NzYuNDM2Nyw1NDAuOTc1NiA2NzUuNDcyNyw1NDIuNzM0NiA2NzQuNDkwNyw1NDQuNDgwNiBDNjc0LjIxNDcsNTQ0Ljk2OTYgNjczLjcwNDcsNTQ1LjI0NTYgNjczLjE4MTcsNTQ1LjI0NTYgTDY3My4xODE3LDU0NS4yNDU2IFogTTE5OS4xOTQ3LDU0NS45MTM2IEMxOTguNjcxNyw1NDUuOTEzNiAxOTguMTYzNyw1NDUuNjM5NiAxOTcuODg4Nyw1NDUuMTUyNiBDMTk2Ljg5MzcsNTQzLjM5NzYgMTk1LjkxMDcsNTQxLjYxNzYgMTk0Ljk2NjcsNTM5Ljg2MTYgQzE5NC41NzQ3LDUzOS4xMzE2IDE5NC44NDc3LDUzOC4yMjI2IDE5NS41Nzc3LDUzNy44MzA2IEMxOTYuMzA2Nyw1MzcuNDQxNiAxOTcuMjE3Nyw1MzcuNzEwNiAxOTcuNjA5Nyw1MzguNDQxNiBDMTk4LjU0MjcsNTQwLjE3NzYgMTk5LjUxNDcsNTQxLjkzODYgMjAwLjQ5NzcsNTQzLjY3MzYgQzIwMC45MDc3LDU0NC4zOTQ2IDIwMC42NTM3LDU0NS4zMDk2IDE5OS45MzI3LDU0NS43MTc2IEMxOTkuNjk5Nyw1NDUuODUwNiAxOTkuNDQ1Nyw1NDUuOTEzNiAxOTkuMTk0Nyw1NDUuOTEzNiBMMTk5LjE5NDcsNTQ1LjkxMzYgWiBNNjY3LjA4MTcsNTU1LjU0NDYgQzY2Ni44MTA3LDU1NS41NDQ2IDY2Ni41MzY3LDU1NS40NzE2IDY2Ni4yOTA3LDU1NS4zMTg2IEM2NjUuNTg2Nyw1NTQuODgwNiA2NjUuMzcxNyw1NTMuOTU1NiA2NjUuODA5Nyw1NTMuMjUxNiBDNjY2Ljg1NzcsNTUxLjU2ODYgNjY3Ljg4NzcsNTQ5Ljg3MjYgNjY4LjkwMDcsNTQ4LjE2MzYgQzY2OS4zMjE3LDU0Ny40NDk2IDY3MC4yNDM3LDU0Ny4yMTY2IDY3MC45NTQ3LDU0Ny42MzY2IEM2NzEuNjY3Nyw1NDguMDU5NiA2NzEuOTAzNyw1NDguOTc5NiA2NzEuNDgxNyw1NDkuNjkyNiBDNjcwLjQ1NzcsNTUxLjQxODYgNjY5LjQxNTcsNTUzLjEzNDYgNjY4LjM1NjcsNTU0LjgzNzYgQzY2OC4wNzI3LDU1NS4yOTM2IDY2Ny41ODI3LDU1NS41NDQ2IDY2Ny4wODE3LDU1NS41NDQ2IEw2NjcuMDgxNyw1NTUuNTQ0NiBaIE0yMDUuMzQ5Nyw1NTYuMjMyNiBDMjA0Ljg1MDcsNTU2LjIzMjYgMjA0LjM2MjcsNTU1Ljk4MzYgMjA0LjA3NzcsNTU1LjUyOTYgQzIwMy4wMTc3LDU1My44Mzc2IDIwMS45NTY3LDU1Mi4xMDM2IDIwMC45MjU3LDU1MC4zNzQ2IEMyMDAuNTAwNyw1NDkuNjYzNiAyMDAuNzM0Nyw1NDguNzQyNiAyMDEuNDQ1Nyw1NDguMzE4NiBDMjAyLjE1NzcsNTQ3Ljg5NDYgMjAzLjA3NjcsNTQ4LjEyNTYgMjAzLjUwMTcsNTQ4LjgzNzYgQzIwNC41MjI3LDU1MC41NDg2IDIwNS41NjE3LDU1Mi4yNDg2IDIwNi42MTg3LDU1My45MzU2IEMyMDcuMDU5Nyw1NTQuNjM3NiAyMDYuODQ3Nyw1NTUuNTYzNiAyMDYuMTQ1Nyw1NTYuMDAyNiBDMjA1Ljg5NzcsNTU2LjE1ODYgMjA1LjYyMTcsNTU2LjIzMjYgMjA1LjM0OTcsNTU2LjIzMjYgTDIwNS4zNDk3LDU1Ni4yMzI2IFogTTY2MC41MzA3LDU2NS41NzA2IEM2NjAuMjM4Nyw1NjUuNTcwNiA2NTkuOTQyNyw1NjUuNDg1NiA2NTkuNjgzNyw1NjUuMzA3NiBDNjU4Ljk5OTcsNTY0LjgzOTYgNjU4LjgyNDcsNTYzLjkwNjYgNjU5LjI5MzcsNTYzLjIyMjYgQzY2MC40MTU3LDU2MS41ODQ2IDY2MS41MTk3LDU1OS45MzQ2IDY2Mi42MDY3LDU1OC4yNzI2IEM2NjMuMDYwNyw1NTcuNTc4NiA2NjMuOTkxNyw1NTcuMzg1NiA2NjQuNjgyNyw1NTcuODM2NiBDNjY1LjM3NTcsNTU4LjI4OTYgNjY1LjU3MTcsNTU5LjIxOTYgNjY1LjExNzcsNTU5LjkxMzYgQzY2NC4wMTk3LDU2MS41OTQ2IDY2Mi45MDI3LDU2My4yNjI2IDY2MS43Njg3LDU2NC45MTc2IEM2NjEuNDc4Nyw1NjUuMzQyNiA2NjEuMDA3Nyw1NjUuNTcwNiA2NjAuNTMwNyw1NjUuNTcwNiBMNjYwLjUzMDcsNTY1LjU3MDYgWiBNMjExLjk0OTcsNTY2LjI2ODYgQzIxMS40NzI3LDU2Ni4yNjg2IDIxMS4wMDM3LDU2Ni4wNDE2IDIxMC43MTI3LDU2NS42MjA2IEMyMDkuNTcxNyw1NjMuOTYzNiAyMDguNDQ2Nyw1NjIuMjkzNiAyMDcuMzM5Nyw1NjAuNjEyNiBDMjA2Ljg4NDcsNTU5LjkyMDYgMjA3LjA3NTcsNTU4Ljk5MDYgMjA3Ljc2ODcsNTU4LjUzNTYgQzIwOC40NjA3LDU1OC4wODE2IDIwOS4zOTA3LDU1OC4yNzE2IDIwOS44NDU3LDU1OC45NjM2IEMyMTAuOTQwNyw1NjAuNjI2NiAyMTIuMDUzNyw1NjIuMjc4NiAyMTMuMTgzNyw1NjMuOTE2NiBDMjEzLjY1MzcsNTY0LjU5OTYgMjEzLjQ4MTcsNTY1LjUzMzYgMjEyLjc5OTcsNTY2LjAwMzYgQzIxMi41Mzk3LDU2Ni4xODI2IDIxMi4yNDI3LDU2Ni4yNjg2IDIxMS45NDk3LDU2Ni4yNjg2IEwyMTEuOTQ5Nyw1NjYuMjY4NiBaIE02NTMuNTQyNyw1NzUuMzAxNiBDNjUzLjIyODcsNTc1LjMwMTYgNjUyLjkxMTcsNTc1LjIwNDYgNjUyLjY0MjcsNTc1LjAwMDYgQzY1MS45ODA3LDU3NC41MDI2IDY1MS44NDc3LDU3My41NjI2IDY1Mi4zNDQ3LDU3Mi45MDA2IEM2NTMuNTMzNyw1NzEuMzIwNiA2NTQuNzE5Nyw1NjkuNzA1NiA2NTUuODcyNyw1NjguMDk4NiBDNjU2LjM1NTcsNTY3LjQyNTYgNjU3LjI5MDcsNTY3LjI3MzYgNjU3Ljk2NjcsNTY3Ljc1NDYgQzY1OC42Mzk3LDU2OC4yMzg2IDY1OC43OTM3LDU2OS4xNzU2IDY1OC4zMTA3LDU2OS44NDg2IEM2NTcuMTQ0Nyw1NzEuNDcyNiA2NTUuOTQ0Nyw1NzMuMTA2NiA2NTQuNzQyNyw1NzQuNzAzNiBDNjU0LjQ0ODcsNTc1LjA5NTYgNjUzLjk5NzcsNTc1LjMwMTYgNjUzLjU0MjcsNTc1LjMwMTYgTDY1My41NDI3LDU3NS4zMDE2IFogTTIxOC45ODY3LDU3Ni4wMDE2IEMyMTguNTMyNyw1NzYuMDAxNiAyMTguMDgzNyw1NzUuNzk2NiAyMTcuNzg4Nyw1NzUuNDA3NiBDMjE2LjU3NTcsNTczLjgwMjYgMjE1LjM3NzcsNTcyLjE4NDYgMjE0LjE5ODcsNTcwLjU1MzYgQzIxMy43MTI3LDU2OS44ODI2IDIxMy44NjQ3LDU2OC45NDQ2IDIxNC41MzQ3LDU2OC40NTg2IEMyMTUuMjA1Nyw1NjcuOTc1NiAyMTYuMTQyNyw1NjguMTI0NiAyMTYuNjI5Nyw1NjguNzk1NiBDMjE3Ljc5NTcsNTcwLjQwOTYgMjE4Ljk3OTcsNTcyLjAwOTYgMjIwLjE4MTcsNTczLjU5NjYgQzIyMC42ODE3LDU3NC4yNTY2IDIyMC41NTA3LDU3NS4xOTg2IDIxOS44OTA3LDU3NS42OTg2IEMyMTkuNjE5Nyw1NzUuOTAzNiAyMTkuMzAxNyw1NzYuMDAxNiAyMTguOTg2Nyw1NzYuMDAxNiBMMjE4Ljk4NjcsNTc2LjAwMTYgWiBNNjQ2LjEzMjcsNTg0LjcyMDYgQzY0NS43OTY3LDU4NC43MjA2IDY0NS40NTk3LDU4NC42MDg2IDY0NS4xODA3LDU4NC4zNzg2IEM2NDQuNTQwNyw1ODMuODUyNiA2NDQuNDQ5Nyw1ODIuOTA3NiA2NDQuOTc1Nyw1ODIuMjY3NiBDNjQ2LjIzOTcsNTgwLjczMjYgNjQ3LjQ5NjcsNTc5LjE2OTYgNjQ4LjcxMjcsNTc3LjYyMzYgQzY0OS4yMjQ3LDU3Ni45NzE2IDY1MC4xNjY3LDU3Ni44NTk2IDY1MC44MTg3LDU3Ny4zNzE2IEM2NTEuNDY5Nyw1NzcuODgzNiA2NTEuNTgyNyw1NzguODI2NiA2NTEuMDcxNyw1NzkuNDc3NiBDNjQ5Ljg0MDcsNTgxLjA0MTYgNjQ4LjU2OTcsNTgyLjYyMjYgNjQ3LjI5MTcsNTg0LjE3MzYgQzY0Ni45OTQ3LDU4NC41MzQ2IDY0Ni41NjU3LDU4NC43MjA2IDY0Ni4xMzI3LDU4NC43MjA2IEw2NDYuMTMyNyw1ODQuNzIwNiBaIE0yMjYuNDM4Nyw1ODUuNDExNiBDMjI2LjAwNjcsNTg1LjQxMTYgMjI1LjU3ODcsNTg1LjIyNjYgMjI1LjI4MjcsNTg0Ljg2ODYgQzIyMy45OTg3LDU4My4zMTg2IDIyMi43MzI3LDU4MS43NTQ2IDIyMS40ODM3LDU4MC4xNzg2IEMyMjAuOTY4Nyw1NzkuNTI5NiAyMjEuMDc3Nyw1NzguNTg1NiAyMjEuNzI3Nyw1NzguMDcxNiBDMjIyLjM3NTcsNTc3LjU1NTYgMjIzLjMyMTcsNTc3LjY2NjYgMjIzLjgzNDcsNTc4LjMxNTYgQzIyNS4wNzA3LDU3OS44NzU2IDIyNi4zMjM3LDU4MS40MjE2IDIyNy41OTI3LDU4Mi45NTQ2IEMyMjguMTIwNyw1ODMuNTkyNiAyMjguMDMyNyw1ODQuNTM4NiAyMjcuMzk0Nyw1ODUuMDY2NiBDMjI3LjExNDcsNTg1LjI5NzYgMjI2Ljc3NTcsNTg1LjQxMTYgMjI2LjQzODcsNTg1LjQxMTYgTDIyNi40Mzg3LDU4NS40MTE2IFogTTYzOC4zMTQ3LDU5My44MDg2IEM2MzcuOTU2Nyw1OTMuODA4NiA2MzcuNTk3Nyw1OTMuNjgxNiA2MzcuMzExNyw1OTMuNDIzNiBDNjM2LjY5NTcsNTkyLjg3MDYgNjM2LjY0NTcsNTkxLjkyMTYgNjM3LjE5OTcsNTkxLjMwNTYgQzYzOC41Mjc3LDU4OS44Mjg2IDYzOS44NDA3LDU4OC4zMzU2IDY0MS4xMzU3LDU4Ni44Mjk2IEM2NDEuNjc2Nyw1ODYuMjAyNiA2NDIuNjIzNyw1ODYuMTMwNiA2NDMuMjUxNyw1ODYuNjY5NiBDNjQzLjg3OTcsNTg3LjIxMDYgNjQzLjk1MDcsNTg4LjE1NzYgNjQzLjQxMDcsNTg4Ljc4NjYgQzY0Mi4xMDg3LDU5MC4yOTk2IDY0MC43Njg3LDU5MS44MjM2IDYzOS40Mjk3LDU5My4zMTE2IEM2MzkuMTMzNyw1OTMuNjQwNiA2MzguNzI0Nyw1OTMuODA4NiA2MzguMzE0Nyw1OTMuODA4NiBMNjM4LjMxNDcsNTkzLjgwODYgWiBNMjM0LjI5NDcsNTk0LjQ4MzYgQzIzMy44ODU3LDU5NC40ODM2IDIzMy40Nzc3LDU5NC4zMTc2IDIzMy4xODE3LDU5My45ODk2IEMyMzEuODMyNyw1OTIuNDk3NiAyMzAuNDk4Nyw1OTAuOTkzNiAyMjkuMTgyNyw1ODkuNDczNiBDMjI4LjY0MDcsNTg4Ljg0NzYgMjI4LjcwNzcsNTg3Ljg5OTYgMjI5LjMzMzcsNTg3LjM1NzYgQzIyOS45NjA3LDU4Ni44MTM2IDIzMC45MDg3LDU4Ni44ODM2IDIzMS40NTA3LDU4Ny41MDg2IEMyMzIuNzUyNyw1ODkuMDEyNiAyMzQuMDcxNyw1OTAuNTAxNiAyMzUuNDA2Nyw1OTEuOTc3NiBDMjM1Ljk2MTcsNTkyLjU5MTYgMjM1LjkxMzcsNTkzLjUzOTYgMjM1LjI5OTcsNTk0LjA5NTYgQzIzNS4wMTM3LDU5NC4zNTU2IDIzNC42NTM3LDU5NC40ODM2IDIzNC4yOTQ3LDU5NC40ODM2IEwyMzQuMjk0Nyw1OTQuNDgzNiBaIE02MzAuMTAyNyw2MDIuNTQ3NiBDNjI5LjcyMzcsNjAyLjU0NzYgNjI5LjM0MzcsNjAyLjQwNTYgNjI5LjA1MTcsNjAyLjExODYgQzYyOC40NjA3LDYwMS41Mzg2IDYyOC40NTE3LDYwMC41ODc2IDYyOS4wMzI3LDU5OS45OTc2IEM2MzAuNDI0Nyw1OTguNTc4NiA2MzEuODAxNyw1OTcuMTQ0NiA2MzMuMTYzNyw1OTUuNjk1NiBDNjMzLjczMTcsNTk1LjA5MjYgNjM0LjY3OTcsNTk1LjA2MjYgNjM1LjI4MzcsNTk1LjYyOTYgQzYzNS44ODc3LDU5Ni4xOTc2IDYzNS45MTY3LDU5Ny4xNDY2IDYzNS4zNDk3LDU5Ny43NDk2IEM2MzMuOTczNyw1OTkuMjE0NiA2MzIuNTgwNyw2MDAuNjY0NiA2MzEuMTcyNyw2MDIuMDk4NiBDNjMwLjg3ODcsNjAyLjM5NzYgNjMwLjQ5MTcsNjAyLjU0NzYgNjMwLjEwMjcsNjAyLjU0NzYgTDYzMC4xMDI3LDYwMi41NDc2IFogTTI0Mi41Mzg3LDYwMy4xOTc2IEMyNDIuMTUyNyw2MDMuMTk3NiAyNDEuNzY1Nyw2MDMuMDQ4NiAyNDEuNDcyNyw2MDIuNzUxNiBDMjQwLjA3MjcsNjAxLjMzNTYgMjM4LjY2MDcsNTk5Ljg3NjYgMjM3LjI3OTcsNTk4LjQxNDYgQzIzNi43MDk3LDU5Ny44MTM2IDIzNi43MzY3LDU5Ni44NjQ2IDIzNy4zMzg3LDU5Ni4yOTQ2IEMyMzcuOTQwNyw1OTUuNzI1NiAyMzguODg4Nyw1OTUuNzUwNiAyMzkuNDU4Nyw1OTYuMzU0NiBDMjQwLjgyNTcsNTk3Ljc5OTYgMjQyLjIyMDcsNTk5LjI0MjYgMjQzLjYwNTcsNjAwLjY0MjYgQzI0NC4xODg3LDYwMS4yMzE2IDI0NC4xODI3LDYwMi4xODE2IDI0My41OTM3LDYwMi43NjM2IEMyNDMuMzAxNyw2MDMuMDUyNiAyNDIuOTE5Nyw2MDMuMTk3NiAyNDIuNTM4Nyw2MDMuMTk3NiBMMjQyLjUzODcsNjAzLjE5NzYgWiBNNjIxLjUxMTcsNjEwLjkyMTYgQzYyMS4xMTA3LDYxMC45MjE2IDYyMC43MTA3LDYxMC43NjE2IDYyMC40MTQ3LDYxMC40NDU2IEM2MTkuODQ5Nyw2MDkuODM5NiA2MTkuODgyNyw2MDguODkwNiA2MjAuNDg4Nyw2MDguMzI1NiBDNjIxLjk0MjcsNjA2Ljk2ODYgNjIzLjM4MTcsNjA1LjU5NTYgNjI0LjgwNjcsNjA0LjIwNjYgQzYyNS4zOTg3LDYwMy42Mjg2IDYyNi4zNDg3LDYwMy42NDA2IDYyNi45Mjc3LDYwNC4yMzQ2IEM2MjcuNTA1Nyw2MDQuODI3NiA2MjcuNDkzNyw2MDUuNzc3NiA2MjYuOTAwNyw2MDYuMzU1NiBDNjI1LjQ1OTcsNjA3Ljc1OTYgNjI0LjAwNDcsNjA5LjE0NjYgNjIyLjUzNDcsNjEwLjUxODYgQzYyMi4yNDU3LDYxMC43ODg2IDYyMS44Nzg3LDYxMC45MjE2IDYyMS41MTE3LDYxMC45MjE2IEw2MjEuNTExNyw2MTAuOTIxNiBaIE0yNTEuMTU1Nyw2MTEuNTQxNiBDMjUwLjc4OTcsNjExLjU0MTYgMjUwLjQyNDcsNjExLjQxMDYgMjUwLjEzNTcsNjExLjE0MjYgQzI0OC42NjA3LDYwOS43NzU2IDI0Ny4yMDA3LDYwOC4zOTI2IDI0NS43NTc3LDYwNi45OTQ2IEMyNDUuMTYyNyw2MDYuNDE3NiAyNDUuMTQ4Nyw2MDUuNDY4NiAyNDUuNzI0Nyw2MDQuODcyNiBDMjQ2LjMwMTcsNjA0LjI3ODYgMjQ3LjI1MDcsNjA0LjI2NDYgMjQ3Ljg0NTcsNjA0LjgzOTYgQzI0OS4yNzM3LDYwNi4yMjI2IDI1MC43MTU3LDYwNy41ODk2IDI1Mi4xNzQ3LDYwOC45NDE2IEMyNTIuNzgyNyw2MDkuNTA0NiAyNTIuODE4Nyw2MTAuNDU0NiAyNTIuMjU1Nyw2MTEuMDYxNiBDMjUxLjk1OTcsNjExLjM4MDYgMjUxLjU1NzcsNjExLjU0MTYgMjUxLjE1NTcsNjExLjU0MTYgTDI1MS4xNTU3LDYxMS41NDE2IFogTTYxMi41NjE3LDYxOC45MTQ2IEM2MTIuMTM3Nyw2MTguOTE0NiA2MTEuNzE2Nyw2MTguNzM1NiA2MTEuNDE5Nyw2MTguMzg3NiBDNjEwLjg4MTcsNjE3Ljc1NzYgNjEwLjk1NjcsNjE2LjgxMTYgNjExLjU4NjcsNjE2LjI3MzYgQzYxMy4xMDc3LDYxNC45NzQ2IDYxNC42MTg3LDYxMy42NTQ2IDYxNi4wNzk3LDYxMi4zNDg2IEM2MTYuNjk5Nyw2MTEuNzk0NiA2MTcuNjQ4Nyw2MTEuODUwNiA2MTguMTk4Nyw2MTIuNDY2NiBDNjE4Ljc0OTcsNjEzLjA4NDYgNjE4LjY5NzcsNjE0LjAzMzYgNjE4LjA3OTcsNjE0LjU4NDYgQzYxNi42MDE3LDYxNS45MDY2IDYxNS4wNzI3LDYxNy4yNDI2IDYxMy41MzM3LDYxOC41NTQ2IEM2MTMuMjUxNyw2MTguNzk1NiA2MTIuOTA1Nyw2MTguOTE0NiA2MTIuNTYxNyw2MTguOTE0NiBMNjEyLjU2MTcsNjE4LjkxNDYgWiBNMjYwLjEyNDcsNjE5LjQ5NzYgQzI1OS43ODI3LDYxOS40OTc2IDI1OS40Mzc3LDYxOS4zNzk2IDI1OS4xNTU3LDYxOS4xNDA2IEMyNTcuNjIzNyw2MTcuODQwNiAyNTYuMTA1Nyw2MTYuNTI0NiAyNTQuNjAyNyw2MTUuMTkwNiBDMjUzLjk4MjcsNjE0LjY0MDYgMjUzLjkyNTcsNjEzLjY5MjYgMjU0LjQ3NTcsNjEzLjA3MzYgQzI1NS4wMjQ3LDYxMi40NTQ2IDI1NS45NzM3LDYxMi4zOTU2IDI1Ni41OTI3LDYxMi45NDY2IEMyNTguMDc5Nyw2MTQuMjY1NiAyNTkuNTgwNyw2MTUuNTY3NiAyNjEuMDk2Nyw2MTYuODUzNiBDMjYxLjcyODcsNjE3LjM4OTYgMjYxLjgwNTcsNjE4LjMzNTYgMjYxLjI2OTcsNjE4Ljk2NzYgQzI2MC45NzI3LDYxOS4zMTc2IDI2MC41NTA3LDYxOS40OTc2IDI2MC4xMjQ3LDYxOS40OTc2IEwyNjAuMTI0Nyw2MTkuNDk3NiBaIE02MDMuMjY1Nyw2MjYuNTA2NiBDNjAyLjgxOTcsNjI2LjUwNjYgNjAyLjM3NzcsNjI2LjMwODYgNjAyLjA4MTcsNjI1LjkyOTYgQzYwMS41NzI3LDYyNS4yNzc2IDYwMS42ODg3LDYyNC4zMzM2IDYwMi4zNDE3LDYyMy44MjQ2IEM2MDMuOTA5Nyw2MjIuNTk5NiA2MDUuNDY0Nyw2MjEuMzU3NiA2MDcuMDA1Nyw2MjAuMDk4NiBDNjA3LjY0OTcsNjE5LjU3NDYgNjA4LjU5MjcsNjE5LjY3MDYgNjA5LjExNjcsNjIwLjMxMTYgQzYwOS42NDA3LDYyMC45NTQ2IDYwOS41NDU3LDYyMS44OTg2IDYwOC45MDQ3LDYyMi40MjI2IEM2MDcuMzQ1Nyw2MjMuNjk1NiA2MDUuNzczNyw2MjQuOTUxNiA2MDQuMTg3Nyw2MjYuMTg5NiBDNjAzLjkxMzcsNjI2LjQwMzYgNjAzLjU4ODcsNjI2LjUwNjYgNjAzLjI2NTcsNjI2LjUwNjYgTDYwMy4yNjU3LDYyNi41MDY2IFogTTI2OS40MzA3LDYyNy4wNDk2IEMyNjkuMTA5Nyw2MjcuMDQ5NiAyNjguNzg0Nyw2MjYuOTQ3NiAyNjguNTExNyw2MjYuNzM0NiBDMjY2LjkyNDcsNjI1LjUwMTYgMjY1LjM1MTcsNjI0LjI1NDYgMjYzLjc5MTcsNjIyLjk4OTYgQzI2My4xNDg3LDYyMi40NjY2IDI2My4wNTA3LDYyMS41MjI2IDI2My41NzI3LDYyMC44Nzg2IEMyNjQuMDkzNyw2MjAuMjM1NiAyNjUuMDM2Nyw2MjAuMTM1NiAyNjUuNjgyNyw2MjAuNjU5NiBDMjY3LjIyNDcsNjIxLjkxMTYgMjY4Ljc4MjcsNjIzLjE0NjYgMjcwLjM1MTcsNjI0LjM2NTYgQzI3MS4wMDU3LDYyNC44NzI2IDI3MS4xMjM3LDYyNS44MTU2IDI3MC42MTY3LDYyNi40Njk2IEMyNzAuMzIwNyw2MjYuODUwNiAyNjkuODc3Nyw2MjcuMDQ5NiAyNjkuNDMwNyw2MjcuMDQ5NiBMMjY5LjQzMDcsNjI3LjA0OTYgWiBNNTkzLjY0MTcsNjMzLjY4NjYgQzU5My4xNzI3LDYzMy42ODY2IDU5Mi43MTE3LDYzMy40Njc2IDU5Mi40MTg3LDYzMy4wNTY2IEM1OTEuOTM4Nyw2MzIuMzgyNiA1OTIuMDk1Nyw2MzEuNDQ1NiA1OTIuNzcwNyw2MzAuOTY0NiBDNTk0LjM5MjcsNjI5LjgwOTYgNTk1Ljk5OTcsNjI4LjYzNTYgNTk3LjU5NTcsNjI3LjQ0NjYgQzU5OC4yNTc3LDYyNi45NTI2IDU5OS4xOTk3LDYyNy4wODU2IDU5OS42OTQ3LDYyNy43NTE2IEM2MDAuMTg5Nyw2MjguNDE0NiA2MDAuMDUyNyw2MjkuMzU1NiA1OTkuMzg4Nyw2MjkuODUwNiBDNTk3Ljc3NzcsNjMxLjA1MzYgNTk2LjE1MDcsNjMyLjIzOTYgNTk0LjUxMDcsNjMzLjQwODYgQzU5NC4yNDY3LDYzMy41OTU2IDU5My45NDM3LDYzMy42ODY2IDU5My42NDE3LDYzMy42ODY2IEw1OTMuNjQxNyw2MzMuNjg2NiBaIE0yNzkuMDU5Nyw2MzQuMTg0NiBDMjc4Ljc1OTcsNjM0LjE4NDYgMjc4LjQ1NjcsNjM0LjA5NTYgMjc4LjE5NDcsNjMzLjkwOTYgQzI3Ni41Nzc3LDYzMi43NjU2IDI3NC45MzY3LDYzMS41NzY2IDI3My4zMTQ3LDYzMC4zNzQ2IEMyNzIuNjQ5Nyw2MjkuODgxNiAyNzIuNTA5Nyw2MjguOTQyNiAyNzMuMDAyNyw2MjguMjc2NiBDMjczLjQ5NTcsNjI3LjYxMjYgMjc0LjQzNTcsNjI3LjQ3MDYgMjc1LjEwMTcsNjI3Ljk2NDYgQzI3Ni42OTU3LDYyOS4xNDY2IDI3OC4zMDM3LDYzMC4zMTI2IDI3OS45MjY3LDYzMS40NTk2IEMyODAuNjAzNyw2MzEuOTM4NiAyODAuNzYzNyw2MzIuODczNiAyODAuMjg0Nyw2MzMuNTUwNiBDMjc5Ljk5MjcsNjMzLjk2MzYgMjc5LjUyOTcsNjM0LjE4NDYgMjc5LjA1OTcsNjM0LjE4NDYgTDI3OS4wNTk3LDYzNC4xODQ2IFogTTU4My43MDc3LDY0MC40Mzg2IEM1ODMuMjE2Nyw2NDAuNDM4NiA1ODIuNzM1Nyw2NDAuMTk3NiA1ODIuNDQ4Nyw2MzkuNzUzNiBDNTgxLjk5NzcsNjM5LjA1ODYgNTgyLjE5NjcsNjM4LjEyOTYgNTgyLjg5MTcsNjM3LjY3OTYgQzU4NC41NjI3LDYzNi41OTY2IDU4Ni4yMjE3LDYzNS40OTU2IDU4Ny44Njg3LDYzNC4zNzU2IEM1ODguNTUyNyw2MzMuOTEyNiA1ODkuNDg1Nyw2MzQuMDg2NiA1ODkuOTUyNyw2MzQuNzc0NiBDNTkwLjQxNzcsNjM1LjQ1OTYgNTkwLjI0MDcsNjM2LjM5MjYgNTg5LjU1NDcsNjM2Ljg1ODYgQzU4Ny44ODk3LDYzNy45ODk2IDU4Ni4yMTI3LDYzOS4xMDI2IDU4NC41MjI3LDY0MC4xOTc2IEM1ODQuMjcwNyw2NDAuMzYwNiA1ODMuOTg4Nyw2NDAuNDM4NiA1ODMuNzA3Nyw2NDAuNDM4NiBMNTgzLjcwNzcsNjQwLjQzODYgWiBNMjg4Ljk4NTcsNjQwLjg4NjYgQzI4OC43MDY3LDY0MC44ODY2IDI4OC40MjQ3LDY0MC44MDk2IDI4OC4xNzM3LDY0MC42NDc2IEMyODYuNDg1Nyw2MzkuNTU5NiAyODQuODA5Nyw2MzguNDU1NiAyODMuMTQ3Nyw2MzcuMzMyNiBDMjgyLjQ1OTcsNjM2Ljg2OTYgMjgyLjI3OTcsNjM1LjkzNzYgMjgyLjc0MjcsNjM1LjI1MDYgQzI4My4yMDY3LDYzNC41NjI2IDI4NC4xNDA3LDYzNC4zODM2IDI4NC44MjU3LDYzNC44NDY2IEMyODYuNDY5Nyw2MzUuOTU2NiAyODguMTI3Nyw2MzcuMDQ5NiAyODkuNzk4Nyw2MzguMTI1NiBDMjkwLjQ5NDcsNjM4LjU3NDYgMjkwLjY5NjcsNjM5LjUwMjYgMjkwLjI0NjcsNjQwLjE5OTYgQzI4OS45NjA3LDY0MC42NDQ2IDI4OS40Nzc3LDY0MC44ODY2IDI4OC45ODU3LDY0MC44ODY2IEwyODguOTg1Nyw2NDAuODg2NiBaIE01NzMuNDgzNyw2NDYuNzQ3NiBDNTcyLjk2ODcsNjQ2Ljc0NzYgNTcyLjQ2NzcsNjQ2LjQ4MjYgNTcyLjE4ODcsNjQ2LjAwNjYgQzU3MS43Njk3LDY0NS4yOTE2IDU3Mi4wMDg3LDY0NC4zNzI2IDU3Mi43MjI3LDY0My45NTM2IEM1NzQuNDQyNyw2NDIuOTQ0NiA1NzYuMTQ4Nyw2NDEuOTE2NiA1NzcuODQzNyw2NDAuODcyNiBDNTc4LjU0NzcsNjQwLjQzNjYgNTc5LjQ3MjcsNjQwLjY1NjYgNTc5LjkwNzcsNjQxLjM2MTYgQzU4MC4zNDI3LDY0Mi4wNjY2IDU4MC4xMjI3LDY0Mi45OTA2IDU3OS40MTc3LDY0My40MjQ2IEM1NzcuNzA0Nyw2NDQuNDgxNiA1NzUuOTc5Nyw2NDUuNTIwNiA1NzQuMjQxNyw2NDYuNTQwNiBDNTc0LjAwMjcsNjQ2LjY4MDYgNTczLjc0MTcsNjQ2Ljc0NzYgNTczLjQ4MzcsNjQ2Ljc0NzYgTDU3My40ODM3LDY0Ni43NDc2IFogTTI5OS4xOTM3LDY0Ny4xNDM2IEMyOTguOTM2Nyw2NDcuMTQzNiAyOTguNjc2Nyw2NDcuMDc4NiAyOTguNDM4Nyw2NDYuOTM5NiBDMjk2LjcwMzcsNjQ1LjkyNzYgMjk0Ljk4MTcsNjQ0Ljg5ODYgMjkzLjI3MTcsNjQzLjg1MDYgQzI5Mi41NjU3LDY0My40MTY2IDI5Mi4zNDM3LDY0Mi40OTQ2IDI5Mi43NzY3LDY0MS43ODc2IEMyOTMuMjA5Nyw2NDEuMDgwNiAyOTQuMTMzNyw2NDAuODYxNiAyOTQuODM5Nyw2NDEuMjkxNiBDMjk2LjUzMDcsNjQyLjMyODYgMjk4LjIzMzcsNjQzLjM0NzYgMjk5Ljk1MDcsNjQ0LjM0NzYgQzMwMC42NjQ3LDY0NC43NjQ2IDMwMC45MDc3LDY0NS42ODM2IDMwMC40OTA3LDY0Ni4zOTk2IEMzMDAuMjExNyw2NDYuODc2NiAyOTkuNzA4Nyw2NDcuMTQzNiAyOTkuMTkzNyw2NDcuMTQzNiBMMjk5LjE5MzcsNjQ3LjE0MzYgWiBNNTYyLjk4NjcsNjUyLjYwMDYgQzU2Mi40NDg3LDY1Mi42MDA2IDU2MS45Mjg3LDY1Mi4zMTA2IDU2MS42NTg3LDY1MS44MDE2IEM1NjEuMjcyNyw2NTEuMDY5NiA1NjEuNTUxNyw2NTAuMTYyNiA1NjIuMjgzNyw2NDkuNzc0NiBDNTY0LjA0NjcsNjQ4Ljg0MjYgNTY1Ljc5NzcsNjQ3Ljg5MTYgNTY3LjUzNTcsNjQ2LjkyMTYgQzU2OC4yNTk3LDY0Ni41MTk2IDU2OS4xNzI3LDY0Ni43Nzc2IDU2OS41NzY3LDY0Ny41MDE2IEM1NjkuOTgwNyw2NDguMjI1NiA1NjkuNzIwNyw2NDkuMTM4NiA1NjguOTk2Nyw2NDkuNTQyNiBDNTY3LjI1MzcsNjUwLjUxNDYgNTY1LjQ2NjcsNjUxLjQ4NTYgNTYzLjY4NjcsNjUyLjQyNjYgQzU2My40NjI3LDY1Mi41NDQ2IDU2My4yMjI3LDY1Mi42MDA2IDU2Mi45ODY3LDY1Mi42MDA2IEw1NjIuOTg2Nyw2NTIuNjAwNiBaIE0zMDkuNjYwNyw2NTIuOTQxNiBDMzA5LjQyNTcsNjUyLjk0MTYgMzA5LjE4NjcsNjUyLjg4NTYgMzA4Ljk2MzcsNjUyLjc2OTYgQzMwNy4xODc3LDY1MS44MzQ2IDMwNS40MjE3LDY1MC44ODI2IDMwMy42Njk3LDY0OS45MTI2IEMzMDIuOTQ1Nyw2NDkuNTA5NiAzMDIuNjgyNyw2NDguNTk3NiAzMDMuMDgzNyw2NDcuODcyNiBDMzAzLjQ4NjcsNjQ3LjE0NzYgMzA0LjQwMTcsNjQ2Ljg4NzYgMzA1LjEyMjcsNjQ3LjI4NzYgQzMwNi44NTc3LDY0OC4yNDc2IDMwOC42MDM3LDY0OS4xOTA2IDMxMC4zNjA3LDY1MC4xMTM2IEMzMTEuMDkzNyw2NTAuNDk4NiAzMTEuMzc0Nyw2NTEuNDA2NiAzMTAuOTkwNyw2NTIuMTM5NiBDMzEwLjcyMTcsNjUyLjY1MDYgMzEwLjE5OTcsNjUyLjk0MTYgMzA5LjY2MDcsNjUyLjk0MTYgTDMwOS42NjA3LDY1Mi45NDE2IFogTTU1Mi4yMzU3LDY1Ny45ODQ2IEM1NTEuNjczNyw2NTcuOTg0NiA1NTEuMTM0Nyw2NTcuNjY3NiA1NTAuODc4Nyw2NTcuMTI1NiBDNTUwLjUyNDcsNjU2LjM3NjYgNTUwLjg0MzcsNjU1LjQ4MzYgNTUxLjU5MjcsNjU1LjEyODYgQzU1My4zOTY3LDY1NC4yNzU2IDU1NS4xODg3LDY1My40MDE2IDU1Ni45Njg3LDY1Mi41MDk2IEM1NTcuNzEwNyw2NTIuMTQxNiA1NTguNjEwNyw2NTIuNDQwNiA1NTguOTgyNyw2NTMuMTc5NiBDNTU5LjM1MjcsNjUzLjkyMDYgNTU5LjA1MjcsNjU0LjgyMjYgNTU4LjMxMjcsNjU1LjE5MzYgQzU1Ni41MTA3LDY1Ni4wOTQ2IDU1NC42OTk3LDY1Ni45Nzc2IDU1Mi44NzU3LDY1Ny44Mzk2IEM1NTIuNjY4Nyw2NTcuOTM4NiA1NTIuNDUwNyw2NTcuOTg0NiA1NTIuMjM1Nyw2NTcuOTg0NiBMNTUyLjIzNTcsNjU3Ljk4NDYgWiBNMzIwLjM3MTcsNjU4LjI3MTYgQzMyMC4xNTg3LDY1OC4yNzE2IDMxOS45NDA3LDY1OC4yMjU2IDMxOS43MzQ3LDY1OC4xMjg2IEMzMTcuOTE4Nyw2NTcuMjc0NiAzMTYuMTE0Nyw2NTYuNDAxNiAzMTQuMzIwNyw2NTUuNTA4NiBDMzEzLjU3ODcsNjU1LjEzOTYgMzEzLjI3NzcsNjU0LjIzOTYgMzEzLjY0NjcsNjUzLjQ5NzYgQzMxNC4wMTY3LDY1Mi43NTU2IDMxNC45MjA3LDY1Mi40NTQ2IDMxNS42NTc3LDY1Mi44MjM2IEMzMTcuNDMwNyw2NTMuNzA1NiAzMTkuMjE1Nyw2NTQuNTY5NiAzMjEuMDExNyw2NTUuNDE0NiBDMzIxLjc2MTcsNjU1Ljc2NjYgMzIyLjA4MjcsNjU2LjY2MDYgMzIxLjczMDcsNjU3LjQxMDYgQzMyMS40NzQ3LDY1Ny45NTM2IDMyMC45MzU3LDY1OC4yNzE2IDMyMC4zNzE3LDY1OC4yNzE2IEwzMjAuMzcxNyw2NTguMjcxNiBaIE01NDEuMjUwNyw2NjIuODg4NiBDNTQwLjY2NDcsNjYyLjg4ODYgNTQwLjEwODcsNjYyLjU0MzYgNTM5Ljg2NjcsNjYxLjk2OTYgQzUzOS41NDU3LDY2MS4yMDU2IDUzOS45MDU3LDY2MC4zMjY2IDU0MC42Njg3LDY2MC4wMDU2IEM1NDIuNTA3Nyw2NTkuMjMzNiA1NDQuMzU0Nyw2NTguNDMzNiA1NDYuMTU4Nyw2NTcuNjI3NiBDNTQ2LjkxNDcsNjU3LjI4ODYgNTQ3LjgwMjcsNjU3LjYyOTYgNTQ4LjEzOTcsNjU4LjM4NTYgQzU0OC40Nzc3LDY1OS4xNDE2IDU0OC4xMzg3LDY2MC4wMjk2IDU0Ny4zODE3LDY2MC4zNjY2IEM1NDUuNTU3Nyw2NjEuMTgxNiA1NDMuNjg5Nyw2NjEuOTkxNiA1NDEuODMwNyw2NjIuNzcxNiBDNTQxLjY0MTcsNjYyLjg1MTYgNTQxLjQ0NDcsNjYyLjg4ODYgNTQxLjI1MDcsNjYyLjg4ODYgTDU0MS4yNTA3LDY2Mi44ODg2IFogTTMzMS4yOTk3LDY2My4xMTk2IEMzMzEuMTA3Nyw2NjMuMTE5NiAzMzAuOTExNyw2NjMuMDgxNiAzMzAuNzIzNyw2NjMuMDAzNiBDMzI4Ljg5MjcsNjYyLjI0MDYgMzI3LjAzNDcsNjYxLjQ0MDYgMzI1LjIwMTcsNjYwLjYyNjYgQzMyNC40NDQ3LDY2MC4yOTA2IDMyNC4xMDM3LDY1OS40MDQ2IDMyNC40Mzk3LDY1OC42NDc2IEMzMjQuNzc0Nyw2NTcuODkwNiAzMjUuNjYwNyw2NTcuNTQ2NiAzMjYuNDE4Nyw2NTcuODg0NiBDMzI4LjIzMTcsNjU4LjY4OTYgMzMwLjA2ODcsNjU5LjQ4MDYgMzMxLjg3NzcsNjYwLjIzNDYgQzMzMi42NDI3LDY2MC41NTM2IDMzMy4wMDM3LDY2MS40MzE2IDMzMi42ODU3LDY2Mi4xOTY2IEMzMzIuNDQ1Nyw2NjIuNzcyNiAzMzEuODg3Nyw2NjMuMTE5NiAzMzEuMjk5Nyw2NjMuMTE5NiBMMzMxLjI5OTcsNjYzLjExOTYgWiBNNTMwLjA1MzcsNjY3LjI5OTYgQzUyOS40NDM3LDY2Ny4yOTk2IDUyOC44Njg3LDY2Ni45MjQ2IDUyOC42NDY3LDY2Ni4zMTg2IEM1MjguMzU5Nyw2NjUuNTQwNiA1MjguNzU3Nyw2NjQuNjc4NiA1MjkuNTM0Nyw2NjQuMzkyNiBDNTMxLjM5MjcsNjYzLjcwNzYgNTMzLjI3NDcsNjYyLjk5MDYgNTM1LjEyNzcsNjYyLjI2MDYgQzUzNS44OTY3LDY2MS45NTc2IDUzNi43Njk3LDY2Mi4zMzQ2IDUzNy4wNzM3LDY2My4xMDY2IEM1MzcuMzc2Nyw2NjMuODc2NiA1MzYuOTk3Nyw2NjQuNzQ3NiA1MzYuMjI3Nyw2NjUuMDUxNiBDNTM0LjM1MzcsNjY1Ljc4OTYgNTMyLjQ1MDcsNjY2LjUxNTYgNTMwLjU3MjcsNjY3LjIwNjYgQzUzMC40MDE3LDY2Ny4yNzA2IDUzMC4yMjY3LDY2Ny4yOTk2IDUzMC4wNTM3LDY2Ny4yOTk2IEw1MzAuMDUzNyw2NjcuMjk5NiBaIE0zNDIuNDUxNyw2NjcuNDg1NiBDMzQyLjI4MDcsNjY3LjQ4NTYgMzQyLjEwNjcsNjY3LjQ1NTYgMzQxLjkzNjcsNjY3LjM5MzYgQzM0MC4wNjc3LDY2Ni43MDk2IDMzOC4xNjk3LDY2NS45OTA2IDMzNi4yOTQ3LDY2NS4yNTU2IEMzMzUuNTIzNyw2NjQuOTU0NiAzMzUuMTQyNyw2NjQuMDgzNiAzMzUuNDQ1Nyw2NjMuMzEyNiBDMzM1Ljc0NjcsNjYyLjUzOTYgMzM2LjYxNzcsNjYyLjE2MTYgMzM3LjM4ODcsNjYyLjQ2MjYgQzMzOS4yMzg3LDY2My4xODc2IDM0MS4wOTg3LDY2My44OTI2IDM0Mi45Njc3LDY2NC41Nzc2IEMzNDMuNzQ1Nyw2NjQuODYxNiAzNDQuMTQ1Nyw2NjUuNzIzNiAzNDMuODYwNyw2NjYuNTAwNiBDMzQzLjYzNzcsNjY3LjEwODYgMzQzLjA2MzcsNjY3LjQ4NTYgMzQyLjQ1MTcsNjY3LjQ4NTYgTDM0Mi40NTE3LDY2Ny40ODU2IFogTTUxOC42NjU3LDY3MS4yMDk2IEM1MTguMDMwNyw2NzEuMjA5NiA1MTcuNDQwNyw2NzAuODAzNiA1MTcuMjM3Nyw2NzAuMTY0NiBDNTE2Ljk4NTcsNjY5LjM3NTYgNTE3LjQyMDcsNjY4LjUzMjYgNTE4LjIxMDcsNjY4LjI4MTYgQzUyMC4xMTU3LDY2Ny42NzM2IDUyMi4wMDk3LDY2Ny4wNDU2IDUyMy44OTY3LDY2Ni4zOTk2IEM1MjQuNjgwNyw2NjYuMTI4NiA1MjUuNTMyNyw2NjYuNTQ3NiA1MjUuODAxNyw2NjcuMzMxNiBDNTI2LjA3MDcsNjY4LjExNTYgNTI1LjY1MzcsNjY4Ljk2ODYgNTI0Ljg2ODcsNjY5LjIzNzYgQzUyMi45NjI3LDY2OS44OTE2IDUyMS4wNDY3LDY3MC41MjU2IDUxOS4xMjA3LDY3MS4xMzg2IEM1MTguOTY5Nyw2NzEuMTg3NiA1MTguODE2Nyw2NzEuMjA5NiA1MTguNjY1Nyw2NzEuMjA5NiBMNTE4LjY2NTcsNjcxLjIwOTYgWiBNMzUzLjgwNTcsNjcxLjM2MTYgQzM1My42NTY3LDY3MS4zNjE2IDM1My41MDM3LDY3MS4zMzg2IDM1My4zNTI3LDY3MS4yOTA2IEMzNTEuNDQ2Nyw2NzAuNjg3NiAzNDkuNTE4Nyw2NzAuMDUzNiAzNDcuNjIxNyw2NjkuNDA2NiBDMzQ2LjgzNzcsNjY5LjEzODYgMzQ2LjQxODcsNjY4LjI4NTYgMzQ2LjY4NjcsNjY3LjUwMTYgQzM0Ni45NTM3LDY2Ni43MTY2IDM0Ny44MTA3LDY2Ni4yOTk2IDM0OC41OTA3LDY2Ni41NjY2IEMzNTAuNDY2Nyw2NjcuMjA2NiAzNTIuMzcyNyw2NjcuODMzNiAzNTQuMjU4Nyw2NjguNDMxNiBDMzU1LjA0NzcsNjY4LjY4MTYgMzU1LjQ4NTcsNjY5LjUyNDYgMzU1LjIzNTcsNjcwLjMxNDYgQzM1NS4wMzM3LDY3MC45NTM2IDM1NC40NDI3LDY3MS4zNjE2IDM1My44MDU3LDY3MS4zNjE2IEwzNTMuODA1Nyw2NzEuMzYxNiBaIE01MDcuMTU2Nyw2NzQuNTk3NiBDNTA2LjQ5NDcsNjc0LjU5NzYgNTA1Ljg4OTcsNjc0LjE1ODYgNTA1LjcwODcsNjczLjQ4OTYgQzUwNS40OTI3LDY3Mi42ODk2IDUwNS45NjU3LDY3MS44NjY2IDUwNi43NjU3LDY3MS42NDk2IEM1MDguNjk2Nyw2NzEuMTI3NiA1MTAuNjI2Nyw2NzAuNTgyNiA1MTIuNTA2Nyw2NzAuMDI5NiBDNTEzLjMwMTcsNjY5Ljc5NDYgNTE0LjEzNDcsNjcwLjI0ODYgNTE0LjM2ODcsNjcxLjA0MzYgQzUxNC42MDM3LDY3MS44Mzg2IDUxNC4xNDk3LDY3Mi42NzI2IDUxMy4zNTQ3LDY3Mi45MDY2IEM1MTEuNDUzNyw2NzMuNDY2NiA1MDkuNDk5Nyw2NzQuMDE4NiA1MDcuNTQ4Nyw2NzQuNTQ1NiBDNTA3LjQxNzcsNjc0LjU4MDYgNTA3LjI4NTcsNjc0LjU5NzYgNTA3LjE1NjcsNjc0LjU5NzYgTDUwNy4xNTY3LDY3NC41OTc2IFogTTM2NS4zMjE3LDY3NC43MjY2IEMzNjUuMTkyNyw2NzQuNzI2NiAzNjUuMDYxNyw2NzQuNzA5NiAzNjQuOTMxNyw2NzQuNjc1NiBDMzYzLjAwNTcsNjc0LjE1OTYgMzYxLjA1MTcsNjczLjYxMTYgMzU5LjEyMjcsNjczLjA0NjYgQzM1OC4zMjc3LDY3Mi44MTQ2IDM1Ny44NzE3LDY3MS45ODE2IDM1OC4xMDQ3LDY3MS4xODY2IEMzNTguMzM3Nyw2NzAuMzkxNiAzNTkuMTczNyw2NjkuOTM3NiAzNTkuOTY0Nyw2NzAuMTY3NiBDMzYxLjg3MTcsNjcwLjcyNTYgMzYzLjgwNDcsNjcxLjI2NjYgMzY1LjcwODcsNjcxLjc3NzYgQzM2Ni41MDg3LDY3MS45OTI2IDM2Ni45ODM3LDY3Mi44MTQ2IDM2Ni43Njk3LDY3My42MTU2IEMzNjYuNTg5Nyw2NzQuMjg1NiAzNjUuOTgzNyw2NzQuNzI2NiAzNjUuMzIxNyw2NzQuNzI2NiBMMzY1LjMyMTcsNjc0LjcyNjYgWiBNNDk1LjUwODcsNjc3LjQ3MDYgQzQ5NC44MjE3LDY3Ny40NzA2IDQ5NC4yMDE3LDY3Ni45OTY2IDQ5NC4wNDU3LDY3Ni4yOTc2IEM0OTMuODY1Nyw2NzUuNDg5NiA0OTQuMzczNyw2NzQuNjg3NiA0OTUuMTgyNyw2NzQuNTA2NiBDNDk3LjEyNjcsNjc0LjA3MjYgNDk5LjA2MjcsNjczLjYxODYgNTAwLjk5MTcsNjczLjE0MjYgQzUwMS44MDA3LDY3Mi45NDM2IDUwMi42MDg3LDY3My40MzQ2IDUwMi44MDY3LDY3NC4yMzk2IEM1MDMuMDA0Nyw2NzUuMDQzNiA1MDIuNTE0Nyw2NzUuODU2NiA1MDEuNzA5Nyw2NzYuMDU0NiBDNDk5Ljc3NjcsNjc2LjUzMjYgNDk3LjgwMDcsNjc2Ljk5NjYgNDk1LjgzNjcsNjc3LjQzNDYgQzQ5NS43MjY3LDY3Ny40NTg2IDQ5NS42MTY3LDY3Ny40NzA2IDQ5NS41MDg3LDY3Ny40NzA2IEw0OTUuNTA4Nyw2NzcuNDcwNiBaIE0zNzYuOTc0Nyw2NzcuNTc5NiBDMzc2Ljg2NzcsNjc3LjU3OTYgMzc2Ljc1ODcsNjc3LjU2NzYgMzc2LjY0OTcsNjc3LjU0MzYgQzM3NC43MDg3LDY3Ny4xMTQ2IDM3Mi43MzI3LDY3Ni42NTQ2IDM3MC43NzQ3LDY3Ni4xNzQ2IEMzNjkuOTY5Nyw2NzUuOTc3NiAzNjkuNDc2Nyw2NzUuMTY1NiAzNjkuNjczNyw2NzQuMzYxNiBDMzY5Ljg3MDcsNjczLjU1NjYgMzcwLjY4MTcsNjczLjA2NTYgMzcxLjQ4NzcsNjczLjI2MDYgQzM3My40MjM3LDY3My43MzQ2IDM3NS4zNzg3LDY3NC4xOTA2IDM3Ny4yOTc3LDY3NC42MTQ2IEMzNzguMTA2Nyw2NzQuNzkyNiAzNzguNjE2Nyw2NzUuNTkzNiAzNzguNDM4Nyw2NzYuNDAzNiBDMzc4LjI4MzcsNjc3LjEwMjYgMzc3LjY2MjcsNjc3LjU3OTYgMzc2Ljk3NDcsNjc3LjU3OTYgTDM3Ni45NzQ3LDY3Ny41Nzk2IFogTTQ4My43NDM3LDY3OS44MjM2IEM0ODMuMDMwNyw2NzkuODIzNiA0ODIuMzk4Nyw2NzkuMzEyNiA0ODIuMjY5Nyw2NzguNTg0NiBDNDgyLjEyNDcsNjc3Ljc2OTYgNDgyLjY2ODcsNjc2Ljk5MTYgNDgzLjQ4NDcsNjc2Ljg0NjYgQzQ4NS40NDY3LDY3Ni40OTg2IDQ4Ny40MDA3LDY3Ni4xMzA2IDQ4OS4zNDY3LDY3NS43NDE2IEM0OTAuMTUxNyw2NzUuNTgwNiA0OTAuOTQ5Nyw2NzYuMTA1NiA0OTEuMTExNyw2NzYuOTE3NiBDNDkxLjI3NDcsNjc3LjcyOTYgNDkwLjc0NjcsNjc4LjUyMDYgNDg5LjkzNDcsNjc4LjY4MjYgQzQ4Ny45NjY3LDY3OS4wNzY2IDQ4NS45OTE3LDY3OS40NDg2IDQ4NC4wMDc3LDY3OS43OTk2IEM0ODMuOTE4Nyw2NzkuODE1NiA0ODMuODMwNyw2NzkuODIzNiA0ODMuNzQzNyw2NzkuODIzNiBMNDgzLjc0MzcsNjc5LjgyMzYgWiBNMzg4Ljc0MjcsNjc5LjkwOTYgQzM4OC42NTc3LDY3OS45MDk2IDM4OC41NzA3LDY3OS45MDI2IDM4OC40ODI3LDY3OS44ODY2IEMzODYuNDk4Nyw2NzkuNTM5NiAzODQuNTIyNyw2NzkuMTY5NiAzODIuNTUzNyw2NzguNzgwNiBDMzgxLjc0MDcsNjc4LjYxOTYgMzgxLjIxMjcsNjc3LjgzMDYgMzgxLjM3MjcsNjc3LjAxNzYgQzM4MS41MzM3LDY3Ni4yMDU2IDM4Mi4zMzA3LDY3NS42NzY2IDM4My4xMzU3LDY3NS44MzY2IEMzODUuMDgyNyw2NzYuMjIyNiAzODcuMDM3Nyw2NzYuNTg3NiAzODguOTk5Nyw2NzYuOTMxNiBDMzg5LjgxNjcsNjc3LjA3NTYgMzkwLjM2MTcsNjc3Ljg1MjYgMzkwLjIxODcsNjc4LjY2NzYgQzM5MC4wOTA3LDY3OS4zOTY2IDM4OS40NTc3LDY3OS45MDk2IDM4OC43NDI3LDY3OS45MDk2IEwzODguNzQyNyw2NzkuOTA5NiBaIE00NzEuODg3Nyw2ODEuNjUzNiBDNDcxLjE0NjcsNjgxLjY1MzYgNDcwLjUwMTcsNjgxLjEwNDYgNDcwLjQwMjcsNjgwLjM0OTYgQzQ3MC4yOTM3LDY3OS41Mjg2IDQ3MC44NzE3LDY3OC43NzQ2IDQ3MS42OTM3LDY3OC42NjU2IEM0NzMuNjU5Nyw2NzguNDA3NiA0NzUuNjQ2Nyw2NzguMTIyNiA0NzcuNTk5Nyw2NzcuODIxNiBDNDc4LjQxMDcsNjc3LjY5MjYgNDc5LjE4NDcsNjc4LjI1NjYgNDc5LjMxMDcsNjc5LjA3NTYgQzQ3OS40MzY3LDY3OS44OTM2IDQ3OC44NzU3LDY4MC42NTk2IDQ3OC4wNTY3LDY4MC43ODY2IEM0NzYuMDgyNyw2ODEuMDkwNiA0NzQuMDczNyw2ODEuMzc4NiA0NzIuMDg1Nyw2ODEuNjQwNiBDNDcyLjAxOTcsNjgxLjY0OTYgNDcxLjk1MjcsNjgxLjY1MzYgNDcxLjg4NzcsNjgxLjY1MzYgTDQ3MS44ODc3LDY4MS42NTM2IFogTTQwMC42MDE3LDY4MS43MTc2IEM0MDAuNTM2Nyw2ODEuNzE3NiA0MDAuNDcxNyw2ODEuNzEzNiA0MDAuNDA2Nyw2ODEuNzA1NiBDMzk4LjQwODcsNjgxLjQ0NTYgMzk2LjQxNjcsNjgxLjE2NDYgMzk0LjQzMzcsNjgwLjg2MTYgQzM5My42MTU3LDY4MC43Mzc2IDM5My4wNTI3LDY3OS45NzE2IDM5My4xNzc3LDY3OS4xNTI2IEMzOTMuMzAxNyw2NzguMzMzNiAzOTQuMDY4Nyw2NzcuNzcwNiAzOTQuODg2Nyw2NzcuODk2NiBDMzk2Ljg0NzcsNjc4LjE5NTYgMzk4LjgxNjcsNjc4LjQ3MjYgNDAwLjc5MjcsNjc4LjczMDYgQzQwMS42MTU3LDY3OC44MzY2IDQwMi4xOTQ3LDY3OS41ODk2IDQwMi4wODY3LDY4MC40MTE2IEM0MDEuOTg4Nyw2ODEuMTY2NiA0MDEuMzQzNyw2ODEuNzE3NiA0MDAuNjAxNyw2ODEuNzE3NiBMNDAwLjYwMTcsNjgxLjcxNzYgWiBNNDU5Ljk2MjcsNjgyLjk1ODYgQzQ1OS4xOTM3LDY4Mi45NTg2IDQ1OC41Mzc3LDY4Mi4zNzA2IDQ1OC40NzA3LDY4MS41ODg2IEM0NTguMzk4Nyw2ODAuNzYzNiA0NTkuMDA5Nyw2ODAuMDM2NiA0NTkuODM0Nyw2NzkuOTY0NiBDNDYxLjgyMDcsNjc5Ljc5MTYgNDYzLjc5ODcsNjc5LjU5NjYgNDY1Ljc3MTcsNjc5LjM4MDYgQzQ2Ni41OTI3LDY3OS4yODU2IDQ2Ny4zMzQ3LDY3OS44ODM2IDQ2Ny40MjU3LDY4MC43MDg2IEM0NjcuNTE1Nyw2ODEuNTMyNiA0NjYuOTIwNyw2ODIuMjczNiA0NjYuMDk3Nyw2ODIuMzYzNiBDNDY0LjEwMzcsNjgyLjU4MDYgNDYyLjEwMTcsNjgyLjc3ODYgNDYwLjA5NDcsNjgyLjk1MzYgQzQ2MC4wNTA3LDY4Mi45NTY2IDQ2MC4wMDY3LDY4Mi45NTg2IDQ1OS45NjI3LDY4Mi45NTg2IEw0NTkuOTYyNyw2ODIuOTU4NiBaIE00MTIuNTMxNyw2ODMuMDAwNiBDNDEyLjQ4ODcsNjgzLjAwMDYgNDEyLjQ0NTcsNjgyLjk5ODYgNDEyLjQwMjcsNjgyLjk5NTYgQzQxMC40MTg3LDY4Mi44Mjc2IDQwOC4zOTg3LDY4Mi42MzE2IDQwNi4zOTY3LDY4Mi40MTU2IEM0MDUuNTczNyw2ODIuMzI3NiA0MDQuOTc3Nyw2ODEuNTg3NiA0MDUuMDY2Nyw2ODAuNzYzNiBDNDA1LjE1NTcsNjc5Ljk0MDYgNDA1Ljg4OTcsNjc5LjMzNzYgNDA2LjcxODcsNjc5LjQzMzYgQzQwOC42OTg3LDY3OS42NDY2IDQxMC42OTU3LDY3OS44Mzk2IDQxMi42NTY3LDY4MC4wMDY2IEM0MTMuNDgxNyw2ODAuMDc2NiA0MTQuMDkzNyw2ODAuODAyNiA0MTQuMDIzNyw2ODEuNjI3NiBDNDEzLjk1NjcsNjgyLjQxMDYgNDEzLjMwMTcsNjgzLjAwMDYgNDEyLjUzMTcsNjgzLjAwMDYgTDQxMi41MzE3LDY4My4wMDA2IFogTTQ0Ny45OTE3LDY4My43NDA2IEM0NDcuMTkzNyw2ODMuNzQwNiA0NDYuNTI5Nyw2ODMuMTEwNiA0NDYuNDkzNyw2ODIuMzA1NiBDNDQ2LjQ1ODcsNjgxLjQ3NzYgNDQ3LjEwMDcsNjgwLjc3NzYgNDQ3LjkyNzcsNjgwLjc0MTYgQzQ0OS45MTg3LDY4MC42NTU2IDQ1MS45MDU3LDY4MC41NDc2IDQ1My44ODU3LDY4MC40MTc2IEM0NTQuNjk5Nyw2ODAuMzY3NiA0NTUuNDI1Nyw2ODAuOTkwNiA0NTUuNDgwNyw2ODEuODE3NiBDNDU1LjUzMzcsNjgyLjY0NDYgNDU0LjkwNzcsNjgzLjM1ODYgNDU0LjA4MDcsNjgzLjQxMjYgQzQ1Mi4wNzg3LDY4My41NDE2IDQ1MC4wNzE3LDY4My42NTE2IDQ0OC4wNTg3LDY4My43Mzk2IEM0NDguMDM1Nyw2ODMuNzQwNiA0NDguMDEzNyw2ODMuNzQwNiA0NDcuOTkxNyw2ODMuNzQwNiBMNDQ3Ljk5MTcsNjgzLjc0MDYgWiBNNDI0LjUwMjcsNjgzLjc2MDYgQzQyNC40ODE3LDY4My43NjA2IDQyNC40NjA3LDY4My43NjA2IDQyNC40Mzk3LDY4My43NTk2IEM0MjIuNDI1Nyw2ODMuNjc0NiA0MjAuNDE3Nyw2ODMuNTcwNiA0MTguNDE1Nyw2ODMuNDQzNiBDNDE3LjU4ODcsNjgzLjM5MDYgNDE2Ljk2MDcsNjgyLjY3ODYgNDE3LjAxMzcsNjgxLjg1MTYgQzQxNy4wNjU3LDY4MS4wMjQ2IDQxNy43NjM3LDY4MC40MDM2IDQxOC42MDU3LDY4MC40NDk2IEM0MjAuNTg1Nyw2ODAuNTc0NiA0MjIuNTcyNyw2ODAuNjc4NiA0MjQuNTY0Nyw2ODAuNzYxNiBDNDI1LjM5MjcsNjgwLjc5NjYgNDI2LjAzNDcsNjgxLjQ5NjYgNDI2LjAwMDcsNjgyLjMyMzYgQzQyNS45NjY3LDY4My4xMjk2IDQyNS4zMDI3LDY4My43NjA2IDQyNC41MDI3LDY4My43NjA2IEw0MjQuNTAyNyw2ODMuNzYwNiBaIE00MzUuOTk5Nyw2ODMuOTk5NiBDNDM0LjE0NzcsNjgzLjk5OTYgNDMyLjI5ODcsNjgzLjk4MTYgNDMwLjQ1NDcsNjgzLjk0NTYgQzQyOS42MjY3LDY4My45Mjg2IDQyOC45Njg3LDY4My4yNDQ2IDQyOC45ODQ3LDY4Mi40MTU2IEM0MjkuMDAwNyw2ODEuNTk3NiA0MjkuNjY4Nyw2ODAuOTQ1NiA0MzAuNDgzNyw2ODAuOTQ1NiBMNDMwLjUxMzcsNjgwLjk0NTYgQzQzNC4zMjM3LDY4MS4wMjE2IDQzOC4xNTg3LDY4MS4wMTg2IDQ0MS45NjQ3LDY4MC45MzQ2IEM0NDIuODMyNyw2ODAuOTQ0NiA0NDMuNDc5Nyw2ODEuNTczNiA0NDMuNDk3Nyw2ODIuNDAxNiBDNDQzLjUxNTcsNjgzLjIyOTYgNDQyLjg1OTcsNjgzLjkxNTYgNDQyLjAzMTcsNjgzLjkzNDYgQzQ0MC4wMjY3LDY4My45Nzg2IDQzOC4wMTU3LDY4My45OTk2IDQzNS45OTk3LDY4My45OTk2IEw0MzUuOTk5Nyw2ODMuOTk5NiBaIiBpZD0iRmlsbC0zIiBmaWxsPSIjQTNCMUJGIiBvcGFjaXR5PSIwLjM5NTY3MDU3MyI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzEuMjE3OCwzLjAyNzMgQzQzMC4zOTc4LDMuMDI3MyA0MjkuNzI3OCwyLjM2NzMgNDI5LjcxNzgsMS41NDUzIEM0MjkuNzA3OCwwLjcxNjMgNDMwLjM3MTgsMC4wMzczIDQzMS4xOTk4LDAuMDI3MyBDNDMyLjc5NzgsMC4wMDgzIDQzNC4zOTc4LDAuMDAwMyA0MzUuOTk5OCwwLjAwMDMgTDQzNy4yMjA4LDAuMDAxMyBDNDM4LjA0ODgsMC4wMDMzIDQzOC43MTg4LDAuNjc1MyA0MzguNzE2ODA0LDEuNTA1MyBDNDM4LjcxNDgsMi4zMzIzIDQzOC4wNDM4LDMuMDAxMyA0MzcuMjE2OCwzLjAwMTMgTDQzNy4yMTI4LDMuMDAxMyBMNDM2LjAwMzgsMy4wMDAzIEM0MzQuNDA4OCwzLjAwMDMgNDMyLjgyMTgsMy4wMDgzIDQzMS4yMzU4LDMuMDI3MyBMNDMxLjIxNzgsMy4wMjczIFogTTQ0OS4yMDA4LDMuMjA5MyBDNDQ5LjE4NDgsMy4yMDkzIDQ0OS4xNjg4LDMuMjA5MyA0NDkuMTUyOCwzLjIwODMgQzQ0Ny4xNjc4LDMuMTQ0MyA0NDUuMTc5OCwzLjA5NjMgNDQzLjE4ODgsMy4wNjIzIEM0NDIuMzYwOCwzLjA0ODMgNDQxLjY5OTgsMi4zNjUzIDQ0MS43MTM4LDEuNTM3MyBDNDQxLjcyODgsMC43MTczIDQ0Mi4zOTY4LDAuMDYyMyA0NDMuMjEzOCwwLjA2MjMgTDQ0My4yMzg4LDAuMDYyMyBDNDQ1LjI0NTgsMC4wOTYzIDQ0Ny4yNDc4LDAuMTQ2MyA0NDkuMjQ3OCwwLjIxMDMgQzQ1MC4wNzU4LDAuMjM2MyA0NTAuNzI1OCwwLjkyODMgNDUwLjY5ODgsMS43NTYzIEM0NTAuNjczOCwyLjU2ODMgNDUwLjAwNjgsMy4yMDkzIDQ0OS4yMDA4LDMuMjA5MyBMNDQ5LjIwMDgsMy4yMDkzIFogTTQxOS4yMjI4LDMuMzM3MyBDNDE4LjQyMTgsMy4zMzczIDQxNy43NTY4LDIuNzA0MyA0MTcuNzI0OCwxLjg5NzMgQzQxNy42OTE4LDEuMDY5MyA0MTguMzM1OCwwLjM3MTMgNDE5LjE2MjgsMC4zMzgzIEM0MjEuMTY1OCwwLjI1NzMgNDIzLjE3MTgsMC4xOTEzIDQyNS4xODA4LDAuMTM5MyBDNDI1LjE5NDgsMC4xMzgzIDQyNS4yMDY4LDAuMTM4MyA0MjUuMjIwOCwwLjEzODMgQzQyNi4wMzA4LDAuMTM4MyA0MjYuNjk3OCwwLjc4NTMgNDI2LjcxODgsMS41OTkzIEM0MjYuNzM5OCwyLjQyNzMgNDI2LjA4NjgsMy4xMTczIDQyNS4yNTg4LDMuMTM4MyBDNDIzLjI2MzgsMy4xODkzIDQyMS4yNzE4LDMuMjU2MyA0MTkuMjgzOCwzLjMzNjMgQzQxOS4yNjM4LDMuMzM3MyA0MTkuMjQyOCwzLjMzNzMgNDE5LjIyMjgsMy4zMzczIEw0MTkuMjIyOCwzLjMzNzMgWiBNNDYxLjE4NzgsMy43NjMzIEM0NjEuMTU2OCwzLjc2MzMgNDYxLjEyNjgsMy43NjIzIDQ2MS4wOTU4LDMuNzYwMyBDNDU5LjEwOTgsMy42NDAzIDQ1Ny4xMTg4LDMuNTM0MyA0NTUuMTI1OCwzLjQ0MTMgQzQ1NC4yOTc4LDMuNDAzMyA0NTMuNjU3OCwyLjcwMTMgNDUzLjY5NjgsMS44NzQzIEM0NTMuNzM1OCwxLjA0NzMgNDU0LjQ0ODgsMC4zOTYzIDQ1NS4yNjQ4LDAuNDQ1MyBDNDU3LjI3MzgsMC41MzgzIDQ1OS4yNzc4LDAuNjQ0MyA0NjEuMjc3OCwwLjc2NjMgQzQ2Mi4xMDQ4LDAuODE2MyA0NjIuNzM0OCwxLjUyNzMgNDYyLjY4MzgsMi4zNTQzIEM0NjIuNjM1OCwzLjE1MDMgNDYxLjk3NDgsMy43NjMzIDQ2MS4xODc4LDMuNzYzMyBMNDYxLjE4NzgsMy43NjMzIFogTTQwNy4yNDI4LDMuOTk1MyBDNDA2LjQ2MjgsMy45OTUzIDQwNS44MDM4LDMuMzkwMyA0MDUuNzQ4OCwyLjU5OTMgQzQwNS42OTE4LDEuNzcyMyA0MDYuMzE0OCwxLjA1NjMgNDA3LjE0MDgsMC45OTkzIEM0MDkuMTM5OCwwLjg1OTMgNDExLjE0MjgsMC43MzUzIDQxMy4xNTA4LDAuNjI1MyBDNDEzLjk4MjgsMC42MDQzIDQxNC42ODQ4LDEuMjE0MyA0MTQuNzMwOCwyLjA0MTMgQzQxNC43NzU4LDIuODY4MyA0MTQuMTQxOCwzLjU3NTMgNDEzLjMxNDgsMy42MjEzIEM0MTEuMzIxOCwzLjcyOTMgNDA5LjMzMjgsMy44NTMzIDQwNy4zNDk4LDMuOTkxMyBDNDA3LjMxMzgsMy45OTQzIDQwNy4yNzg4LDMuOTk1MyA0MDcuMjQyOCwzLjk5NTMgTDQwNy4yNDI4LDMuOTk1MyBaIE00NzMuMTUxOCw0LjY2NDMgQzQ3My4xMDY4LDQuNjY0MyA0NzMuMDYwOCw0LjY2MjMgNDczLjAxNTgsNC42NTgzIEM0NzEuMDMzOCw0LjQ4MDMgNDY5LjA0NzgsNC4zMTUzIDQ2Ny4wNTc4LDQuMTY2MyBDNDY2LjIzMTgsNC4xMDMzIDQ2NS42MTI4LDMuMzgzMyA0NjUuNjczOCwyLjU1NzMgQzQ2NS43MzY4LDEuNzMxMyA0NjYuNDU5OCwxLjEwNjMgNDY3LjI4MTgsMS4xNzMzIEM0NjkuMjg3OCwxLjMyNTMgNDcxLjI4NzgsMS40OTEzIDQ3My4yODM4LDEuNjcwMyBDNDc0LjEwODgsMS43NDQzIDQ3NC43MTc4LDIuNDczMyA0NzQuNjQzOCwzLjI5ODMgQzQ3NC41NzI4LDQuMDc4MyA0NzMuOTE4OCw0LjY2NDMgNDczLjE1MTgsNC42NjQzIEw0NzMuMTUxOCw0LjY2NDMgWiBNMzk1LjI4NjgsNS4wMDEzIEMzOTQuNTI1OCw1LjAwMTMgMzkzLjg3MjgsNC40MjMzIDM5My43OTU4LDMuNjQ4MyBDMzkzLjcxNDgsMi44MjQzIDM5NC4zMTc4LDIuMDkwMyAzOTUuMTQxOCwyLjAwNzMgQzM5Ny4xMzU4LDEuODExMyAzOTkuMTM0OCwxLjYyODMgNDAxLjEzNjgsMS40NTkzIEM0MDEuOTY3OCwxLjQwOTMgNDAyLjY4NzgsMi4wMDQzIDQwMi43NTc4LDIuODI4MyBDNDAyLjgyNjgsMy42NTMzIDQwMi4yMTM4LDQuMzc5MyA0MDEuMzg4OCw0LjQ0OTMgQzM5OS40MDA4LDQuNjE2MyAzOTcuNDE2OCw0Ljc5ODMgMzk1LjQzNjgsNC45OTQzIEMzOTUuMzg2OCw0Ljk5OTMgMzk1LjMzNjgsNS4wMDEzIDM5NS4yODY4LDUuMDAxMyBMMzk1LjI4NjgsNS4wMDEzIFogTTQ4NS4wODQ4LDUuOTE1MyBDNDg1LjAyNTgsNS45MTUzIDQ4NC45NjQ4LDUuOTEyMyA0ODQuOTA0OCw1LjkwNDMgQzQ4Mi45Mjk4LDUuNjY4MyA0ODAuOTQ4OCw1LjQ0NjMgNDc4Ljk2NTgsNS4yMzgzIEM0NzguMTQxOCw1LjE1MTMgNDc3LjU0MzgsNC40MTMzIDQ3Ny42Mjk4LDMuNTg5MyBDNDc3LjcxNjgsMi43NjUzIDQ3OC40Nzc4LDIuMTgwMyA0NzkuMjc4OCwyLjI1NDMgQzQ4MS4yNzc4LDIuNDY0MyA0ODMuMjcxOCwyLjY4NzMgNDg1LjI2MTgsMi45MjUzIEM0ODYuMDgzOCwzLjAyNDMgNDg2LjY3MDgsMy43NzAzIDQ4Ni41NzE4LDQuNTkzMyBDNDg2LjQ4MTgsNS4zNTUzIDQ4NS44MzM4LDUuOTE1MyA0ODUuMDg0OCw1LjkxNTMgTDQ4NS4wODQ4LDUuOTE1MyBaIE0zODMuMzY0OCw2LjM1NTMgQzM4Mi42MjE4LDYuMzU1MyAzODEuOTc2OCw1LjgwMzMgMzgxLjg3OTgsNS4wNDczIEMzODEuNzczOCw0LjIyNTMgMzgyLjM1NDgsMy40NzMzIDM4My4xNzU4LDMuMzY4MyBDMzg1LjE2NDgsMy4xMTIzIDM4Ny4xNTY4LDIuODcxMyAzODkuMTU0OCwyLjY0NDMgQzM4OS45Nzc4LDIuNTQxMyAzOTAuNzE5OCwzLjE0MjMgMzkwLjgxMzgsMy45NjUzIEMzOTAuOTA2OCw0Ljc4OTMgMzkwLjMxNTgsNS41MzIzIDM4OS40OTE4LDUuNjI1MyBDMzg3LjUxMDgsNS44NDkzIDM4NS41MzE4LDYuMDg5MyAzODMuNTU4OCw2LjM0MjMgQzM4My40OTI4LDYuMzUxMyAzODMuNDI4OCw2LjM1NTMgMzgzLjM2NDgsNi4zNTUzIEwzODMuMzY0OCw2LjM1NTMgWiBNNDk2Ljk3NDgsNy41MTMzIEM0OTYuOTAwOCw3LjUxMzMgNDk2LjgyNTgsNy41MDgzIDQ5Ni43NTA4LDcuNDk3MyBDNDk0Ljc4MTgsNy4yMDMzIDQ5Mi44MTA4LDYuOTIzMyA0OTAuODMyOCw2LjY1NjMgQzQ5MC4wMTE4LDYuNTQ2MyA0ODkuNDM1OCw1Ljc5MDMgNDg5LjU0NjgsNC45NjkzIEM0ODkuNjU2OCw0LjE0OTMgNDkwLjQxNTgsMy41NjUzIDQ5MS4yMzM4LDMuNjgzMyBDNDkzLjIyNDgsMy45NTIzIDQ5NS4yMTE4LDQuMjM0MyA0OTcuMTk0OCw0LjUzMDMgQzQ5OC4wMTM4LDQuNjUyMyA0OTguNTc3OCw1LjQxNjMgNDk4LjQ1NTgsNi4yMzUzIEM0OTguMzQ0OCw2Ljk3OTMgNDk3LjcwNDgsNy41MTMzIDQ5Ni45NzQ4LDcuNTEzMyBMNDk2Ljk3NDgsNy41MTMzIFogTTM3MS40ODg4LDguMDU4MyBDMzcwLjc2NDgsOC4wNTgzIDM3MC4xMjY4LDcuNTMyMyAzNzAuMDA5OCw2Ljc5MzMgQzM2OS44Nzk4LDUuOTc1MyAzNzAuNDM4OCw1LjIwNzMgMzcxLjI1NjgsNS4wNzczIEMzNzMuMjM2OCw0Ljc2MzMgMzc1LjIyMTgsNC40NjQzIDM3Ny4yMTA4LDQuMTc3MyBDMzc4LjAyNjgsNC4wNjIzIDM3OC43OTA4LDQuNjI5MyAzNzguOTA3OCw1LjQ1MDMgQzM3OS4wMjY4LDYuMjcwMyAzNzguNDU2OCw3LjAzMDMgMzc3LjYzNjgsNy4xNDczIEMzNzUuNjYwOCw3LjQzMDMgMzczLjY5MTgsNy43MjgzIDM3MS43MjU4LDguMDQwMyBDMzcxLjY0NjgsOC4wNTIzIDM3MS41Njc4LDguMDU4MyAzNzEuNDg4OCw4LjA1ODMgTDM3MS40ODg4LDguMDU4MyBaIE01MDguODEzOCw5LjQ2MjMgQzUwOC43MjU4LDkuNDYyMyA1MDguNjM1OCw5LjQ1NDMgNTA4LjU0NTgsOS40MzgzIEM1MDYuNTg3OCw5LjA4NjMgNTA0LjYyMzgsOC43NDgzIDUwMi42NTU4LDguNDI0MyBDNTAxLjgzODgsOC4yOTAzIDUwMS4yODQ4LDcuNTE4MyA1MDEuNDE4OCw2LjcwMDMgQzUwMS41NTM4LDUuODgyMyA1MDIuMzI0OCw1LjMyNjMgNTAzLjE0MjgsNS40NjQzIEM1MDUuMTI1OCw1Ljc5MTMgNTA3LjEwMzgsNi4xMzEzIDUwOS4wNzY4LDYuNDg1MyBDNTA5Ljg5MjgsNi42MzEzIDUxMC40MzQ4LDcuNDEyMyA1MTAuMjg3OCw4LjIyNzMgQzUxMC4xNTY4LDguOTUzMyA1MDkuNTI1OCw5LjQ2MjMgNTA4LjgxMzgsOS40NjIzIEw1MDguODEzOCw5LjQ2MjMgWiBNMzU5LjY2NzgsMTAuMTA5MyBDMzU4Ljk2MDgsMTAuMTA5MyAzNTguMzMxOCw5LjYwNzMgMzU4LjE5NjgsOC44ODczIEMzNTguMDQxOCw4LjA3MzMgMzU4LjU3NzgsNy4yODkzIDM1OS4zOTE4LDcuMTM1MyBDMzYxLjM2MjgsNi43NjMzIDM2My4zMzY4LDYuNDA2MyAzNjUuMzE2OCw2LjA2MjMgQzM2Ni4xNDA4LDUuOTE5MyAzNjYuOTA5OCw2LjQ2NzMgMzY3LjA1MDgsNy4yODMzIEMzNjcuMTkzOCw4LjA5OTMgMzY2LjY0NjgsOC44NzYzIDM2NS44Mjk4LDkuMDE3MyBDMzYzLjg2MzgsOS4zNTkzIDM2MS45MDM4LDkuNzE0MyAzNTkuOTQ3OCwxMC4wODMzIEMzNTkuODUzOCwxMC4xMDEzIDM1OS43NjA4LDEwLjEwOTMgMzU5LjY2NzgsMTAuMTA5MyBMMzU5LjY2NzgsMTAuMTA5MyBaIE01MjAuNTkwOCwxMS43NTczIEM1MjAuNDg4OCwxMS43NTczIDUyMC4zODQ4LDExLjc0ODMgNTIwLjI4MDgsMTEuNzI1MyBDNTE4LjMzMTgsMTEuMzE2MyA1MTYuMzc5OCwxMC45MjAzIDUxNC40MjE4LDEwLjUzOTMgQzUxMy42MDk4LDEwLjM4MDMgNTEzLjA3NzgsOS41OTIzIDUxMy4yMzY4LDguNzc5MyBDNTEzLjM5NDgsNy45NjYzIDUxNC4xOTM4LDcuNDQxMyA1MTQuOTk1OCw3LjU5MzMgQzUxNi45Njc4LDcuOTc4MyA1MTguOTM1OCw4LjM3NzMgNTIwLjg5NzgsOC43OTAzIEM1MjEuNzA3OCw4Ljk2MDMgNTIyLjIyNzgsOS43NTYzIDUyMi4wNTY4LDEwLjU2NjMgQzUyMS45MDc4LDExLjI3MzMgNTIxLjI4NDgsMTEuNzU3MyA1MjAuNTkwOCwxMS43NTczIEw1MjAuNTkwOCwxMS43NTczIFogTTM0Ny45MTI4LDEyLjUwOTMgQzM0Ny4yMjM4LDEyLjUwOTMgMzQ2LjYwMjgsMTIuMDMyMyAzNDYuNDQ4OCwxMS4zMzIzIEMzNDYuMjcxOCwxMC41MjIzIDM0Ni43ODI4LDkuNzIyMyAzNDcuNTkxOCw5LjU0NTMgQzM0OS41NTA4LDkuMTE0MyAzNTEuNTEzOCw4LjY5OTMgMzUzLjQ4MzgsOC4yOTczIEMzNTQuMjgzOCw4LjEzMjMgMzU1LjA4NzgsOC42NTQzIDM1NS4yNTI4LDkuNDY2MyBDMzU1LjQxODgsMTAuMjc4MyAzNTQuODk0OCwxMS4wNzAzIDM1NC4wODI4LDExLjIzNjMgQzM1Mi4xMjg4LDExLjYzNDMgMzUwLjE3OTgsMTIuMDQ4MyAzNDguMjM2OCwxMi40NzQzIEMzNDguMTI3OCwxMi40OTkzIDM0OC4wMTk4LDEyLjUwOTMgMzQ3LjkxMjgsMTIuNTA5MyBMMzQ3LjkxMjgsMTIuNTA5MyBaIE01MzIuMjkyOCwxNC40MDAzIEM1MzIuMTc2OCwxNC40MDAzIDUzMi4wNTg4LDE0LjM4NjMgNTMxLjk0MDgsMTQuMzU4MyBDNTMwLjAwNDgsMTMuODkxMyA1MjguMDY1OCwxMy40MzgzIDUyNi4xMTg4LDEyLjk5OTMgQzUyNS4zMTE4LDEyLjgxNzMgNTI0LjgwMzgsMTIuMDE0MyA1MjQuOTg2OCwxMS4yMDYzIEM1MjUuMTY4OCwxMC4zOTgzIDUyNS45NjY4LDkuODg5MyA1MjYuNzc5OCwxMC4wNzMzIEM1MjguNzM4OCwxMC41MTQzIDUzMC42OTQ4LDEwLjk3MTMgNTMyLjY0MzgsMTEuNDQyMyBDNTMzLjQ0ODgsMTEuNjM2MyA1MzMuOTQ0OCwxMi40NDczIDUzMy43NDk4LDEzLjI1MjMgQzUzMy41ODM4LDEzLjkzOTMgNTMyLjk2OTgsMTQuNDAwMyA1MzIuMjkyOCwxNC40MDAzIEw1MzIuMjkyOCwxNC40MDAzIFogTTMzNi4yMzQ4LDE1LjI1NTMgQzMzNS41NjI4LDE1LjI1NTMgMzM0Ljk1MDgsMTQuODAwMyAzMzQuNzc5OCwxNC4xMjAzIEMzMzQuNTc4OCwxMy4zMTYzIDMzNS4wNjY4LDEyLjUwMjMgMzM1Ljg2OTgsMTIuMjk5MyBDMzM3LjgxNTgsMTEuODExMyAzMzkuNzY1OCwxMS4zMzkzIDM0MS43MjA4LDEwLjg3OTMgQzM0Mi41MzU4LDEwLjY4ODMgMzQzLjMzNTgsMTEuMTg5MyAzNDMuNTI0OCwxMS45OTUzIEMzNDMuNzEzOCwxMi44MDEzIDM0My4yMTM4LDEzLjYwOTMgMzQyLjQwNzgsMTMuNzk4MyBDMzQwLjQ2NjgsMTQuMjU1MyAzMzguNTI5OCwxNC43MjUzIDMzNi42MDA4LDE1LjIxMDMgQzMzNi40Nzc4LDE1LjI0MDMgMzM2LjM1NTgsMTUuMjU1MyAzMzYuMjM0OCwxNS4yNTUzIEwzMzYuMjM0OCwxNS4yNTUzIFogTTU0My45MTI4LDE3LjM4NjMgQzU0My43ODE4LDE3LjM4NjMgNTQzLjY0OTgsMTcuMzcwMyA1NDMuNTE3OCwxNy4zMzQzIEM1NDEuNTk2OCwxNi44MTAzIDUzOS42Njk4LDE2LjMwMDMgNTM3LjczODgsMTUuODAyMyBDNTM2LjkzNjgsMTUuNTk2MyA1MzYuNDUzOCwxNC43NzgzIDUzNi42NjA4LDEzLjk3NjMgQzUzNi44NjY4LDEzLjE3MzMgNTM3LjY4NjgsMTIuNjg2MyA1MzguNDg3OCwxMi44OTgzIEM1NDAuNDMxOCwxMy4zOTgzIDU0Mi4zNzE4LDEzLjkxMjMgNTQ0LjMwNjgsMTQuNDM5MyBDNTQ1LjEwNTgsMTQuNjU3MyA1NDUuNTc2OCwxNS40ODEzIDU0NS4zNTk4LDE2LjI4MTMgQzU0NS4xNzc4LDE2Ljk0ODMgNTQ0LjU3MjgsMTcuMzg2MyA1NDMuOTEyOCwxNy4zODYzIEw1NDMuOTEyOCwxNy4zODYzIFogTTMyNC42Mzk4LDE4LjM0MjMgQzMyMy45ODU4LDE4LjM0MjMgMzIzLjM4MjgsMTcuOTExMyAzMjMuMTk2OCwxNy4yNTAzIEMzMjIuOTcyOCwxNi40NTIzIDMyMy40MzY4LDE1LjYyNDMgMzI0LjIzMzgsMTUuMzk5MyBDMzI2LjE2MjgsMTQuODU1MyAzMjguMDk4OCwxNC4zMjQzIDMzMC4wMzk4LDEzLjgwNjMgQzMzMC44NDM4LDEzLjU4ODMgMzMxLjY2MjgsMTQuMDY4MyAzMzEuODc1OCwxNC44NjkzIEMzMzIuMDg5OCwxNS42NzAzIDMzMS42MTM4LDE2LjQ5MjMgMzMwLjgxMzgsMTYuNzA1MyBDMzI4Ljg4NTgsMTcuMjE4MyAzMjYuOTYzOCwxNy43NDYzIDMyNS4wNDc4LDE4LjI4NjMgQzMyNC45MTA4LDE4LjMyNTMgMzI0Ljc3NDgsMTguMzQyMyAzMjQuNjM5OCwxOC4zNDIzIEwzMjQuNjM5OCwxOC4zNDIzIFogTTU1NS40Mzk4LDIwLjcxNDMgQzU1NS4yOTM4LDIwLjcxNDMgNTU1LjE0NjgsMjAuNjk0MyA1NTUuMDAwOCwyMC42NDkzIEM1NTMuMDk2OCwyMC4wNjgzIDU1MS4xODc4LDE5LjUwMjMgNTQ5LjI3MTgsMTguOTQ5MyBDNTQ4LjQ3NTgsMTguNzE5MyA1NDguMDE2OCwxNy44ODczIDU0OC4yNDU4LDE3LjA5MTMgQzU0OC40NzU4LDE2LjI5NTMgNTQ5LjMwODgsMTUuODM2MyA1NTAuMTAzOCwxNi4wNjYzIEM1NTIuMDMyOCwxNi42MjMzIDU1My45NTc4LDE3LjE5NTMgNTU1Ljg3NTgsMTcuNzgwMyBDNTU2LjY2ODgsMTguMDIxMyA1NTcuMTE0OCwxOC44NjAzIDU1Ni44NzI4LDE5LjY1MjMgQzU1Ni42NzU4LDIwLjI5ODMgNTU2LjA4MTgsMjAuNzE0MyA1NTUuNDM5OCwyMC43MTQzIEw1NTUuNDM5OCwyMC43MTQzIFogTTMxMy4xNDI4LDIxLjc3MzMgQzMxMi41MDQ4LDIxLjc3MzMgMzExLjkxMjgsMjEuMzY0MyAzMTEuNzExOCwyMC43MjMzIEMzMTEuNDYyOCwxOS45MzMzIDMxMS45MDI4LDE5LjA5MDMgMzEyLjY5MjgsMTguODQyMyBDMzE0LjYwNTgsMTguMjQxMyAzMTYuNTI1OCwxNy42NTIzIDMxOC40NDk4LDE3LjA3ODMgQzMxOS4yMzg4LDE2Ljg0MDMgMzIwLjA3ODgsMTcuMjkyMyAzMjAuMzE2OCwxOC4wODczIEMzMjAuNTUyOCwxOC44ODEzIDMyMC4xMDE4LDE5LjcxNTMgMzE5LjMwNzgsMTkuOTUzMyBDMzE3LjM5NjgsMjAuNTIzMyAzMTUuNDkxOCwyMS4xMDYzIDMxMy41OTI4LDIxLjcwNDMgQzMxMy40NDM4LDIxLjc1MTMgMzEzLjI5MDgsMjEuNzczMyAzMTMuMTQyOCwyMS43NzMzIEwzMTMuMTQyOCwyMS43NzMzIFogTTU2Ni44NjI4LDI0LjM4MjMgQzU2Ni43MDI4LDI0LjM4MjMgNTY2LjU0MTgsMjQuMzU3MyA1NjYuMzgyOCwyNC4zMDMzIEM1NjQuNDk1OCwyMy42NjgzIDU2Mi42MDM4LDIzLjA0NTMgNTYwLjcwMzgsMjIuNDMzMyBDNTU5LjkxNTgsMjIuMTc5MyA1NTkuNDgyOCwyMS4zMzUzIDU1OS43MzY4LDIwLjU0NjMgQzU1OS45ODg4LDE5Ljc1NzMgNTYwLjgzMzgsMTkuMzI4MyA1NjEuNjIzOCwxOS41NzgzIEM1NjMuNTM0OCwyMC4xOTMzIDU2NS40NDE4LDIwLjgyMDMgNTY3LjM0MTgsMjEuNDYyMyBDNTY4LjEyNjgsMjEuNzI2MyA1NjguNTQ4OCwyMi41NzczIDU2OC4yODI4LDIzLjM2MjMgQzU2OC4wNzE4LDIzLjk4ODMgNTY3LjQ4ODgsMjQuMzgyMyA1NjYuODYyOCwyNC4zODIzIEw1NjYuODYyOCwyNC4zODIzIFogTTMwMS43MDQ4LDI1LjU1ODMgQzMwMS4wODM4LDI1LjU1ODMgMzAwLjUwMzgsMjUuMTcxMyAzMDAuMjg3OCwyNC41NTEzIEMzMDAuMDE2OCwyMy43NjgzIDMwMC40Mjk4LDIyLjkxNDMgMzAxLjIxMTgsMjIuNjQxMyBDMzAzLjExNDgsMjEuOTgwMyAzMDUuMDIzOCwyMS4zMzMzIDMwNi45Mzg4LDIwLjcwMDMgQzMwNy43MjQ4LDIwLjQzOTMgMzA4LjU3MjgsMjAuODY2MyAzMDguODMyOCwyMS42NTMzIEMzMDkuMDkzOCwyMi40MzkzIDMwOC42NjY4LDIzLjI4ODMgMzA3Ljg3OTgsMjMuNTQ4MyBDMzA1Ljk4MDgsMjQuMTc2MyAzMDQuMDg1OCwyNC44MTgzIDMwMi4xOTY4LDI1LjQ3NTMgQzMwMi4wMzM4LDI1LjUzMjMgMzAxLjg2NzgsMjUuNTU4MyAzMDEuNzA0OCwyNS41NTgzIEwzMDEuNzA0OCwyNS41NTgzIFogTTU3OC4xNzI4LDI4LjM4NzMgQzU3Ny45OTk4LDI4LjM4NzMgNTc3LjgyMjgsMjguMzU4MyA1NzcuNjUxOCwyOC4yOTQzIEM1NzUuNzgzOCwyNy42MDIzIDU3My45MTA4LDI2LjkyMzMgNTcyLjAzMDgsMjYuMjU3MyBDNTcxLjI1MDgsMjUuOTgxMyA1NzAuODQxOCwyNS4xMjQzIDU3MS4xMTc4LDI0LjM0MjMgQzU3MS4zOTQ4LDIzLjU2MjMgNTcyLjI1MDgsMjMuMTU0MyA1NzMuMDMyOCwyMy40MjkzIEM1NzQuOTI2OCwyNC4xMDAzIDU3Ni44MTM4LDI0Ljc4NDMgNTc4LjY5NDgsMjUuNDgxMyBDNTc5LjQ3MDgsMjUuNzY4MyA1NzkuODY2OCwyNi42MzEzIDU3OS41Nzg4LDI3LjQwOTMgQzU3OS4zNTU4LDI4LjAxMzMgNTc4Ljc4MTgsMjguMzg3MyA1NzguMTcyOCwyOC4zODczIEw1NzguMTcyOCwyOC4zODczIFogTTI5MC4zOTI4LDI5LjY3NzMgQzI4OS43ODc4LDI5LjY3NzMgMjg5LjIxODgsMjkuMzA5MyAyODguOTg5OCwyOC43MTEzIEMyODguNjk2OCwyNy45MzYzIDI4OS4wODQ4LDI3LjA3MDMgMjg5Ljg1OTgsMjYuNzc1MyBDMjkxLjczOTgsMjYuMDYwMyAyOTMuNjI2OCwyNS4zNTYzIDI5NS41MjA4LDI0LjY2NzMgQzI5Ni4yOTk4LDI0LjM4NTMgMjk3LjE1OTgsMjQuNzg0MyAyOTcuNDQzOCwyNS41NjIzIEMyOTcuNzI3OCwyNi4zNDAzIDI5Ny4zMjU4LDI3LjIwMjMgMjk2LjU0NzgsMjcuNDg1MyBDMjk0LjY2NzgsMjguMTcxMyAyOTIuNzkyOCwyOC44NjkzIDI5MC45MjU4LDI5LjU4MDMgQzI5MC43NDk4LDI5LjY0NjMgMjkwLjU3MDgsMjkuNjc3MyAyOTAuMzkyOCwyOS42NzczIEwyOTAuMzkyOCwyOS42NzczIFogTTU4OS4zNTk4LDMyLjcyMzMgQzU4OS4xNzE4LDMyLjcyMzMgNTg4Ljk4MDgsMzIuNjg4MyA1ODguNzk2OCwzMi42MTQzIEM1ODYuOTUwOCwzMS44NjczIDU4NS4wOTg4LDMxLjEzMjMgNTgzLjIzODgsMzAuNDEyMyBDNTgyLjQ2NjgsMzAuMTEyMyA1ODIuMDgyOCwyOS4yNDQzIDU4Mi4zODI4LDI4LjQ3MTMgQzU4Mi42ODE4LDI3LjY5NzMgNTgzLjU1MzgsMjcuMzEzMyA1ODQuMzIyOCwyNy42MTUzIEM1ODYuMTk2OCwyOC4zNDEzIDU4OC4wNjI4LDI5LjA4MDMgNTg5LjkyMTgsMjkuODMzMyBDNTkwLjY5MDgsMzAuMTQ0MyA1OTEuMDYwOCwzMS4wMTgzIDU5MC43NDk4LDMxLjc4NjMgQzU5MC41MTM4LDMyLjM3MDMgNTg5Ljk1MTgsMzIuNzIzMyA1ODkuMzU5OCwzMi43MjMzIEw1ODkuMzU5OCwzMi43MjMzIFogTTI3OS4yMDc4LDM0LjEzMTMgQzI3OC42MTk4LDM0LjEzMTMgMjc4LjA2MTgsMzMuNzg0MyAyNzcuODIxOCwzMy4yMDgzIEMyNzcuNTAzOCwzMi40NDIzIDI3Ny44NjU4LDMxLjU2NDMgMjc4LjYzMTgsMzEuMjQ3MyBDMjgwLjQ4OTgsMzAuNDc0MyAyODIuMzU1OCwyOS43MTUzIDI4NC4yMjc4LDI4Ljk3MDMgQzI4NC45OTU4LDI4LjY2NTMgMjg1Ljg2OTgsMjkuMDM5MyAyODYuMTc1OCwyOS44MDkzIEMyODYuNDgyOCwzMC41NzkzIDI4Ni4xMDY4LDMxLjQ1MjMgMjg1LjMzNjgsMzEuNzU3MyBDMjgzLjQ3ODgsMzIuNDk3MyAyODEuNjI2OCwzMy4yNTAzIDI3OS43ODI4LDM0LjAxNjMgQzI3OS41OTQ4LDM0LjA5NDMgMjc5LjM5OTgsMzQuMTMxMyAyNzkuMjA3OCwzNC4xMzEzIEwyNzkuMjA3OCwzNC4xMzEzIFogTTYwMC4zNjc4LDM3LjM2OTMgQzYwMC4xNjY4LDM3LjM2OTMgNTk5Ljk2MTgsMzcuMzI5MyA1OTkuNzY1OCwzNy4yNDIzIEM1OTcuOTQ5OCwzNi40NDQzIDU5Ni4xMjc4LDM1LjY1OTMgNTk0LjI5NzgsMzQuODg3MyBDNTkzLjUzNDgsMzQuNTY2MyA1OTMuMTc2OCwzMy42ODYzIDU5My40OTg4LDMyLjkyMzMgQzU5My44MjA4LDMyLjE2MDMgNTk0LjY5OTgsMzEuODAyMyA1OTUuNDYzOCwzMi4xMjQzIEM1OTcuMzA3OCwzMi45MDEzIDU5OS4xNDM4LDMzLjY5MjMgNjAwLjk3MjgsMzQuNDk2MyBDNjAxLjczMTgsMzQuODI5MyA2MDIuMDc1OCwzNS43MTQzIDYwMS43NDE4LDM2LjQ3MjMgQzYwMS40OTQ4LDM3LjAzNTMgNjAwLjk0NTgsMzcuMzY5MyA2MDAuMzY3OCwzNy4zNjkzIEw2MDAuMzY3OCwzNy4zNjkzIFogTTI2OC4xNjU4LDM4LjkxMTMgQzI2Ny41OTM4LDM4LjkxMTMgMjY3LjA0NzgsMzguNTgzMyAyNjYuNzk3OCwzOC4wMjczIEMyNjYuNDU2OCwzNy4yNzIzIDI2Ni43OTI4LDM2LjM4MzMgMjY3LjU0ODgsMzYuMDQ0MyBDMjY5LjM4MTgsMzUuMjE3MyAyNzEuMjIzOCwzNC40MDMzIDI3My4wNzE4LDMzLjYwMzMgQzI3My44MzU4LDMzLjI3MzMgMjc0LjcxNjgsMzMuNjI1MyAyNzUuMDQ0OCwzNC4zODQzIEMyNzUuMzczOCwzNS4xNDUzIDI3NS4wMjQ4LDM2LjAyODMgMjc0LjI2MzgsMzYuMzU3MyBDMjcyLjQyODgsMzcuMTUxMyAyNzAuNjAwOCwzNy45NTgzIDI2OC43ODA4LDM4Ljc3ODMgQzI2OC41ODA4LDM4Ljg2OTMgMjY4LjM3MTgsMzguOTExMyAyNjguMTY1OCwzOC45MTEzIEwyNjguMTY1OCwzOC45MTEzIFogTTYxMS4yNDA4LDQyLjMzODMgQzYxMS4wMjU4LDQyLjMzODMgNjEwLjgwNjgsNDIuMjkxMyA2MTAuNTk4OCw0Mi4xOTIzIEM2MDguODA2OCw0MS4zNDEzIDYwNy4wMDY4LDQwLjUwMzMgNjA1LjE5ODgsMzkuNjc2MyBDNjA0LjQ0NjgsMzkuMzMyMyA2MDQuMTEzOCwzOC40NDIzIDYwNC40NTg4LDM3LjY4ODMgQzYwNC44MDM4LDM2LjkzNTMgNjA1LjY5NDgsMzYuNjAyMyA2MDYuNDQ2OCwzNi45NDgzIEM2MDguMjY2OCwzNy43ODAzIDYxMC4wNzk4LDM4LjYyNTMgNjExLjg4NTgsMzkuNDgzMyBDNjEyLjYzMzgsMzkuODM5MyA2MTIuOTUxOCw0MC43MzMzIDYxMi41OTY4LDQxLjQ4MTMgQzYxMi4zMzk4LDQyLjAyMjMgNjExLjgwMTgsNDIuMzM4MyA2MTEuMjQwOCw0Mi4zMzgzIEw2MTEuMjQwOCw0Mi4zMzgzIFogTTI1Ny4yNzI4LDQ0LjAxNTMgQzI1Ni43MTY4LDQ0LjAxNTMgMjU2LjE4MjgsNDMuNzA2MyAyNTUuOTIyOCw0My4xNzIzIEMyNTUuNTYwOCw0Mi40MjYzIDI1NS44Njk4LDQxLjUyOTMgMjU2LjYxNDgsNDEuMTY3MyBDMjU4LjQyMzgsNDAuMjg3MyAyNjAuMjM5OCwzOS40MTkzIDI2Mi4wNjM4LDM4LjU2NTMgQzI2Mi44MTA4LDM4LjIxMTMgMjYzLjcwNTgsMzguNTM3MyAyNjQuMDU3OCwzOS4yODgzIEMyNjQuNDA4OCw0MC4wMzgzIDI2NC4wODU4LDQwLjkzMDMgMjYzLjMzNDgsNDEuMjgyMyBDMjYxLjUyNTgsNDIuMTMwMyAyNTkuNzIyOCw0Mi45OTAzIDI1Ny45Mjc4LDQzLjg2NDMgQzI1Ny43MTY4LDQzLjk2NjMgMjU3LjQ5MjgsNDQuMDE1MyAyNTcuMjcyOCw0NC4wMTUzIEwyNTcuMjcyOCw0NC4wMTUzIFogTTYyMS45NjY4LDQ3LjYyNzMgQzYyMS43MzY4LDQ3LjYyNzMgNjIxLjUwMjgsNDcuNTc0MyA2MjEuMjgzOCw0Ny40NjIzIEM2MTkuNTE3OCw0Ni41NTgzIDYxNy43NDI4LDQ1LjY2NzMgNjE1Ljk2MDgsNDQuNzg5MyBDNjE1LjIxNzgsNDQuNDIzMyA2MTQuOTExOCw0My41MjMzIDYxNS4yNzg4LDQyLjc4MDMgQzYxNS42NDU4LDQyLjAzNjMgNjE2LjU0NTgsNDEuNzMzMyA2MTcuMjg2OCw0Mi4wOTczIEM2MTkuMDgyOCw0Mi45ODMzIDYyMC44NzA4LDQzLjg4MTMgNjIyLjY1MTgsNDQuNzkyMyBDNjIzLjM4ODgsNDUuMTY5MyA2MjMuNjgwOCw0Ni4wNzIzIDYyMy4zMDI4LDQ2LjgxMDMgQzYyMy4wMzc4LDQ3LjMyOTMgNjIyLjUxMTgsNDcuNjI3MyA2MjEuOTY2OCw0Ny42MjczIEw2MjEuOTY2OCw0Ny42MjczIFogTTI0Ni41MzQ4LDQ5LjQzNjMgQzI0NS45OTQ4LDQ5LjQzNjMgMjQ1LjQ3MjgsNDkuMTQzMyAyNDUuMjA0OCw0OC42MzEzIEMyNDQuODIxOCw0Ny44OTczIDI0NS4xMDQ4LDQ2Ljk5MTMgMjQ1LjgzODgsNDYuNjA3MyBDMjQ3LjYyMDgsNDUuNjc1MyAyNDkuNDA4OCw0NC43NTUzIDI1MS4yMDQ4LDQzLjg0NzMgQzI1MS45NDc4LDQzLjQ3NTMgMjUyLjg0NzgsNDMuNzY5MyAyNTMuMjIwOCw0NC41MDkzIEMyNTMuNTk0OCw0NS4yNTAzIDI1My4yOTc4LDQ2LjE1MTMgMjUyLjU1ODgsNDYuNTI1MyBDMjUwLjc3NDgsNDcuNDI2MyAyNDguOTk4OCw0OC4zNDAzIDI0Ny4yMjk4LDQ5LjI2NTMgQzI0Ny4wMDc4LDQ5LjM4MTMgMjQ2Ljc2OTgsNDkuNDM2MyAyNDYuNTM0OCw0OS40MzYzIEwyNDYuNTM0OCw0OS40MzYzIFogTTYzMi41MzU4LDUzLjIyODMgQzYzMi4yOTE4LDUzLjIyODMgNjMyLjA0MzgsNTMuMTY5MyA2MzEuODE1OCw1My4wNDMzIEM2MzAuMDczOCw1Mi4wODgzIDYyOC4zMjU4LDUxLjE0NDMgNjI2LjU2OTgsNTAuMjEzMyBDNjI1LjgzNzgsNDkuODI0MyA2MjUuNTU5OCw0OC45MTYzIDYyNS45NDY4LDQ4LjE4NDMgQzYyNi4zMzU4LDQ3LjQ1MjMgNjI3LjI0NjgsNDcuMTczMyA2MjcuOTc1OCw0Ny41NjIzIEM2MjkuNzQzOCw0OC41MDIzIDYzMS41MDU4LDQ5LjQ1MTMgNjMzLjI1ODgsNTAuNDEzMyBDNjMzLjk4NTgsNTAuODEyMyA2MzQuMjUwOCw1MS43MjMzIDYzMy44NTI4LDUyLjQ1MDMgQzYzMy41Nzg4LDUyLjk0NzMgNjMzLjA2NTgsNTMuMjI4MyA2MzIuNTM1OCw1My4yMjgzIEw2MzIuNTM1OCw1My4yMjgzIFogTTIzNS45Njc4LDU1LjE3MTMgQzIzNS40NDM4LDU1LjE3MTMgMjM0LjkzNDgsNTQuODk1MyAyMzQuNjU4OCw1NC40MDUzIEMyMzQuMjUyOCw1My42ODMzIDIzNC41MDk4LDUyLjc2ODMgMjM1LjIzMjgsNTIuMzYzMyBDMjM2Ljk4NTgsNTEuMzc4MyAyMzguNzQ1OCw1MC40MDYzIDI0MC41MTM4LDQ5LjQ0NjMgQzI0MS4yNDA4LDQ5LjA1MzMgMjQyLjE1MjgsNDkuMzIxMyAyNDIuNTQ3OCw1MC4wNDgzIEMyNDIuOTQzOCw1MC43NzczIDI0Mi42NzI4LDUxLjY4NzMgMjQxLjk0NTgsNTIuMDgzMyBDMjQwLjE4OTgsNTMuMDM1MyAyMzguNDQyOCw1NC4wMDEzIDIzNi43MDA4LDU0Ljk3ODMgQzIzNi40Njg4LDU1LjEwOTMgMjM2LjIxNjgsNTUuMTcxMyAyMzUuOTY3OCw1NS4xNzEzIEwyMzUuOTY3OCw1NS4xNzEzIFogTTY0Mi45NDE4LDU5LjE0MDMgQzY0Mi42ODI4LDU5LjE0MDMgNjQyLjQyMDgsNTkuMDc0MyA2NDIuMTgxOCw1OC45MzMzIEM2NDAuNDY5OCw1Ny45MjYzIDYzOC43NDk4LDU2LjkzMjMgNjM3LjAxOTgsNTUuOTUwMyBDNjM2LjI5OTgsNTUuNTQxMyA2MzYuMDQ2OCw1NC42MjUzIDYzNi40NTU4LDUzLjkwNDMgQzYzNi44NjQ4LDUzLjE4MjMgNjM3Ljc4MDgsNTIuOTMyMyA2MzguNTAxOCw1My4zNDAzIEM2NDAuMjQzOCw1NC4zMzEzIDY0MS45Nzc4LDU1LjMzMzMgNjQzLjcwMjgsNTYuMzQ3MyBDNjQ0LjQxNjgsNTYuNzY3MyA2NDQuNjU0OCw1Ny42ODYzIDY0NC4yMzU4LDU4LjQwMTMgQzY0My45NTU4LDU4Ljg3NjMgNjQzLjQ1NDgsNTkuMTQwMyA2NDIuOTQxOCw1OS4xNDAzIEw2NDIuOTQxOCw1OS4xNDAzIFogTTIyNS41NzY4LDYxLjIxMTMgQzIyNS4wNjg4LDYxLjIxMTMgMjI0LjU3MTgsNjAuOTUyMyAyMjQuMjkwOCw2MC40ODQzIEMyMjMuODYzOCw1OS43NzQzIDIyNC4wOTI4LDU4Ljg1MjMgMjI0LjgwMjgsNTguNDI1MyBDMjI2LjUyNTgsNTcuMzg5MyAyMjguMjU2OCw1Ni4zNjYzIDIyOS45OTQ4LDU1LjM1NTMgQzIzMC43MTA4LDU0Ljk0MDMgMjMxLjYyODgsNTUuMTgyMyAyMzIuMDQ1OCw1NS44OTgzIEMyMzIuNDYxOCw1Ni42MTUzIDIzMi4yMTg4LDU3LjUzMzMgMjMxLjUwMjgsNTcuOTQ5MyBDMjI5Ljc3NjgsNTguOTUyMyAyMjguMDU4OCw1OS45NjczIDIyNi4zNDk4LDYwLjk5NjMgQzIyNi4xMDc4LDYxLjE0MTMgMjI1Ljg0MDgsNjEuMjExMyAyMjUuNTc2OCw2MS4yMTEzIEwyMjUuNTc2OCw2MS4yMTEzIFogTTY1My4xNjk4LDY1LjM1NjMgQzY1Mi44OTc4LDY1LjM1NjMgNjUyLjYyMTgsNjUuMjgyMyA2NTIuMzczOCw2NS4xMjczIEM2NTAuNjkxOCw2NC4wNzAzIDY0OC45OTk4LDYzLjAyNTMgNjQ3LjMwMDgsNjEuOTkzMyBDNjQ2LjU5MjgsNjEuNTYzMyA2NDYuMzY2OCw2MC42NDAzIDY0Ni43OTY4LDU5LjkzMjMgQzY0Ny4yMjc4LDU5LjIyMzMgNjQ4LjE1MDgsNTkuMDAxMyA2NDguODU3OCw1OS40MjgzIEM2NTAuNTcwOCw2MC40NjgzIDY1Mi4yNzM4LDYxLjUyMTMgNjUzLjk2OTgsNjIuNTg2MyBDNjU0LjY3MDgsNjMuMDI2MyA2NTQuODgyOCw2My45NTIzIDY1NC40NDI4LDY0LjY1NDMgQzY1NC4xNTY4LDY1LjEwNzMgNjUzLjY2ODgsNjUuMzU2MyA2NTMuMTY5OCw2NS4zNTYzIEw2NTMuMTY5OCw2NS4zNTYzIFogTTIxNS4zNjg4LDY3LjU1MjMgQzIxNC44NzU4LDY3LjU1MjMgMjE0LjM5MjgsNjcuMzA5MyAyMTQuMTA1OCw2Ni44NjMzIEMyMTMuNjU3OCw2Ni4xNjYzIDIxMy44NjE4LDY1LjIzNzMgMjE0LjU1NzgsNjQuNzkwMyBDMjE2LjI0ODgsNjMuNzA1MyAyMTcuOTQ3OCw2Mi42MzEzIDIxOS42NTU4LDYxLjU3MDMgQzIyMC4zNjA4LDYxLjEzNTMgMjIxLjI4MzgsNjEuMzQ4MyAyMjEuNzIyOCw2Mi4wNTIzIEMyMjIuMTU4OCw2Mi43NTYzIDIyMS45NDM4LDYzLjY4MTMgMjIxLjIzOTgsNjQuMTE5MyBDMjE5LjU0MzgsNjUuMTczMyAyMTcuODU2OCw2Ni4yMzgzIDIxNi4xNzg4LDY3LjMxNTMgQzIxNS45Mjc4LDY3LjQ3NTMgMjE1LjY0NjgsNjcuNTUyMyAyMTUuMzY4OCw2Ny41NTIzIEwyMTUuMzY4OCw2Ny41NTIzIFogTTY2My4yMTg4LDcxLjg3MTMgQzY2Mi45MzE4LDcxLjg3MTMgNjYyLjY0MTgsNzEuNzg5MyA2NjIuMzg0OCw3MS42MTczIEM2NjAuNzMzOCw3MC41MTAzIDY1OS4wNzE4LDY5LjQxNzMgNjU3LjQwMzgsNjguMzM0MyBDNjU2LjcwNzgsNjcuODgzMyA2NTYuNTEwOCw2Ni45NTQzIDY1Ni45NjE4LDY2LjI1OTMgQzY1Ny40MTI4LDY1LjU2NDMgNjU4LjM0MzgsNjUuMzY3MyA2NTkuMDM1OCw2NS44MTgzIEM2NjAuNzE2OCw2Ni45MDkzIDY2Mi4zOTA4LDY4LjAxMDMgNjY0LjA1NDgsNjkuMTI1MyBDNjY0Ljc0MTgsNjkuNTg2MyA2NjQuOTI2OCw3MC41MTczIDY2NC40NjU4LDcxLjIwNjMgQzY2NC4xNzY4LDcxLjYzNzMgNjYzLjcwMTgsNzEuODcxMyA2NjMuMjE4OCw3MS44NzEzIEw2NjMuMjE4OCw3MS44NzEzIFogTTIwNS4zNTU4LDc0LjE5MDMgQzIwNC44NzY4LDc0LjE5MDMgMjA0LjQwNjgsNzMuOTYyMyAyMDQuMTE1OCw3My41MzgzIEMyMDMuNjQ4OCw3Mi44NTMzIDIwMy44MjI4LDcxLjkyMTMgMjA0LjUwNjgsNzEuNDUyMyBDMjA2LjE2NTgsNzAuMzE3MyAyMDcuODMyOCw2OS4xOTUzIDIwOS41MDc4LDY4LjA4NTMgQzIxMC4xOTU4LDY3LjYyODMgMjExLjEyOTgsNjcuODEzMyAyMTEuNTg2OCw2OC41MDYzIEMyMTIuMDQ0OCw2OS4xOTYzIDIxMS44NTY4LDcwLjEyODMgMjExLjE2NTgsNzAuNTg1MyBDMjA5LjUwMjgsNzEuNjg3MyAyMDcuODQ3OCw3Mi44MDEzIDIwNi4yMDE4LDczLjkyODMgQzIwNS45NDI4LDc0LjEwNTMgMjA1LjY0NzgsNzQuMTkwMyAyMDUuMzU1OCw3NC4xOTAzIEwyMDUuMzU1OCw3NC4xOTAzIFogTTY3My4wNzI4LDc4LjY3NzMgQzY3Mi43NzE4LDc4LjY3NzMgNjcyLjQ2NzgsNzguNTg4MyA2NzIuMjAzOCw3OC4zOTkzIEM2NzAuNTgzOCw3Ny4yNDUzIDY2OC45NTQ4LDc2LjEwMzMgNjY3LjMxODgsNzQuOTcyMyBDNjY2LjYzNjgsNzQuNTAyMyA2NjYuNDY1OCw3My41NjczIDY2Ni45MzY4LDcyLjg4NTMgQzY2Ny40MDc4LDcyLjIwMjMgNjY4LjM0NDgsNzIuMDM1MyA2NjkuMDIzOCw3Mi41MDQzIEM2NzAuNjcxOCw3My42NDIzIDY3Mi4zMTI4LDc0Ljc5NDMgNjczLjk0NDgsNzUuOTU2MyBDNjc0LjYxODgsNzYuNDM2MyA2NzQuNzc2OCw3Ny4zNzMzIDY3NC4yOTU4LDc4LjA0ODMgQzY3NC4wMDI4LDc4LjQ1OTMgNjczLjU0MTgsNzguNjc3MyA2NzMuMDcyOCw3OC42NzczIEw2NzMuMDcyOCw3OC42NzczIFogTTE5NS41NDI4LDgxLjExNjMgQzE5NS4wNzk4LDgxLjExNjMgMTk0LjYyMjgsODAuOTAyMyAxOTQuMzI4OCw4MC40OTkzIEMxOTMuODQxOCw3OS44MzAzIDE5My45ODg4LDc4Ljg5MTMgMTk0LjY1ODgsNzguNDAzMyBDMTk2LjI4MjgsNzcuMjIwMyAxOTcuOTE1OCw3Ni4wNDkzIDE5OS41NTc4LDc0Ljg5MTMgQzIwMC4yMzQ4LDc0LjQxNDMgMjAxLjE3MDgsNzQuNTc0MyAyMDEuNjQ4OCw3NS4yNTIzIEMyMDIuMTI1OCw3NS45MjkzIDIwMS45NjQ4LDc2Ljg2NTMgMjAxLjI4NzgsNzcuMzQyMyBDMTk5LjY1NzgsNzguNDkzMyAxOTguMDM2OCw3OS42NTQzIDE5Ni40MjQ4LDgwLjgyOTMgQzE5Ni4xNTc4LDgxLjAyMjMgMTk1Ljg0OTgsODEuMTE2MyAxOTUuNTQyOCw4MS4xMTYzIEwxOTUuNTQyOCw4MS4xMTYzIFogTTE4NS45Mzg4LDg4LjMyNDMgQzE4NS40ODk4LDg4LjMyNDMgMTg1LjA0NjgsODguMTI0MyAxODQuNzUwOCw4Ny43NDIzIEMxODQuMjQzOCw4Ny4wODczIDE4NC4zNjM4LDg2LjE0NDMgMTg1LjAxOTgsODUuNjM3MyBDMTg2LjYwODgsODQuNDA4MyAxODguMjA1OCw4My4xOTEzIDE4OS44MTI4LDgxLjk4NTMgQzE5MC40NzQ4LDgxLjQ4OTMgMTkxLjQxNTgsODEuNjIzMyAxOTEuOTEyOCw4Mi4yODUzIEMxOTIuNDA5OCw4Mi45NDgzIDE5Mi4yNzU4LDgzLjg4NzMgMTkxLjYxMzgsODQuMzg1MyBDMTkwLjAxODgsODUuNTgyMyAxODguNDMyOCw4Ni43OTEzIDE4Ni44NTU4LDg4LjAxMDMgQzE4Ni41ODE4LDg4LjIyMTMgMTg2LjI1ODgsODguMzI0MyAxODUuOTM4OCw4OC4zMjQzIEwxODUuOTM4OCw4OC4zMjQzIFogTTE3Ni41NTE4LDk1LjgwOTMgQzE3Ni4xMTc4LDk1LjgwOTMgMTc1LjY4ODgsOTUuNjIzMyAxNzUuMzkxOCw5NS4yNjEzIEMxNzQuODY1OCw5NC42MjIzIDE3NC45NTc4LDkzLjY3NjMgMTc1LjU5ODgsOTMuMTUwMyBDMTc3LjE0OTgsOTEuODc2MyAxNzguNzEwOCw5MC42MTIzIDE4MC4yODA4LDg5LjM1OTMgQzE4MC45Mjk4LDg4Ljg0NTMgMTgxLjg3MTgsODguOTUwMyAxODIuMzg5OCw4OS41OTYzIEMxODIuOTA1OCw5MC4yNDQzIDE4Mi43OTk4LDkxLjE4ODMgMTgyLjE1MjgsOTEuNzA1MyBDMTgwLjU5MzgsOTIuOTQ4MyAxNzkuMDQzOCw5NC4yMDIzIDE3Ny41MDI4LDk1LjQ2ODMgQzE3Ny4yMjM4LDk1LjY5ODMgMTc2Ljg4NjgsOTUuODA5MyAxNzYuNTUxOCw5NS44MDkzIEwxNzYuNTUxOCw5NS44MDkzIFogTTE2Ny4zOTA4LDEwMy41NjEzIEMxNjYuOTcxOCwxMDMuNTYxMyAxNjYuNTU1OCwxMDMuMzg3MyAxNjYuMjU5OCwxMDMuMDQ4MyBDMTY1LjcxNDgsMTAyLjQyMzMgMTY1Ljc3OTgsMTAxLjQ3NTMgMTY2LjQwMzgsMTAwLjkzMDMgQzE2Ny45MTU4LDk5LjYxMTMgMTY5LjQzOTgsOTguMzAyMyAxNzAuOTcyOCw5Ny4wMDYzIEMxNzEuNjA2OCw5Ni40NzAzIDE3Mi41NTI4LDk2LjU1MTMgMTczLjA4NjgsOTcuMTgyMyBDMTczLjYyMTgsOTcuODE1MyAxNzMuNTQyOCw5OC43NjEzIDE3Mi45MDk4LDk5LjI5NzMgQzE3MS4zODg4LDEwMC41ODQzIDE2OS44NzY4LDEwMS44ODIzIDE2OC4zNzU4LDEwMy4xOTEzIEMxNjguMDkxOCwxMDMuNDM5MyAxNjcuNzM5OCwxMDMuNTYxMyAxNjcuMzkwOCwxMDMuNTYxMyBMMTY3LjM5MDgsMTAzLjU2MTMgWiBNMTU4LjQ1ODgsMTExLjU3NzMgQzE1OC4wNTU4LDExMS41NzczIDE1Ny42NTM4LDExMS40MTUzIDE1Ny4zNTc4LDExMS4wOTUzIEMxNTYuNzk0OCwxMTAuNDg3MyAxNTYuODMxOCwxMDkuNTM4MyAxNTcuNDQwOCwxMDguOTc1MyBDMTU4LjkxNDgsMTA3LjYxMzMgMTYwLjM5ODgsMTA2LjI2MTMgMTYxLjg5MjgsMTA0LjkyMTMgQzE2Mi41MDg4LDEwNC4zNjgzIDE2My40NTc4LDEwNC40MTkzIDE2NC4wMTA4LDEwNS4wMzUzIEMxNjQuNTY0OCwxMDUuNjUxMyAxNjQuNTEyOCwxMDYuNTk5MyAxNjMuODk2OCwxMDcuMTUzMyBDMTYyLjQxMzgsMTA4LjQ4NDMgMTYwLjk0MDgsMTA5LjgyNjMgMTU5LjQ3NzgsMTExLjE3ODMgQzE1OS4xODg4LDExMS40NDUzIDE1OC44MjI4LDExMS41NzczIDE1OC40NTg4LDExMS41NzczIEwxNTguNDU4OCwxMTEuNTc3MyBaIE0xNDkuNzY4OCwxMTkuODQ4MyBDMTQ5LjM3OTgsMTE5Ljg0ODMgMTQ4Ljk5MDgsMTE5LjY5ODMgMTQ4LjY5NjgsMTE5LjM5ODMgQzE0OC4xMTY4LDExOC44MDYzIDE0OC4xMjY4LDExNy44NTYzIDE0OC43MTg4LDExNy4yNzczIEMxNTAuMTUyOCwxMTUuODczMyAxNTEuNTk2OCwxMTQuNDc5MyAxNTMuMDQ5OCwxMTMuMDk1MyBDMTUzLjY0ODgsMTEyLjUyNTMgMTU0LjU5ODgsMTEyLjU0ODMgMTU1LjE2OTgsMTEzLjE0NzMgQzE1NS43NDA4LDExMy43NDczIDE1NS43MTg4LDExNC42OTczIDE1NS4xMTc4LDExNS4yNjczIEMxNTMuNjc0OCwxMTYuNjQxMyAxNTIuMjQxOCwxMTguMDI1MyAxNTAuODE4OCwxMTkuNDIwMyBDMTUwLjUyNjgsMTE5LjcwNjMgMTUwLjE0NzgsMTE5Ljg0ODMgMTQ5Ljc2ODgsMTE5Ljg0ODMgTDE0OS43Njg4LDExOS44NDgzIFogTTE0MS4zMjQ4LDEyOC4zNjkzIEMxNDAuOTUwOCwxMjguMzY5MyAxNDAuNTc1OCwxMjguMjMwMyAxNDAuMjg0OCwxMjcuOTUwMyBDMTM5LjY4ODgsMTI3LjM3NjMgMTM5LjY2OTgsMTI2LjQyNjMgMTQwLjI0MzgsMTI1LjgyOTMgQzE0MS42MzQ4LDEyNC4zODIzIDE0My4wMzc4LDEyMi45NDczIDE0NC40NDk4LDEyMS41MjIzIEMxNDUuMDMyOCwxMjAuOTMzMyAxNDUuOTg0OCwxMjAuOTI5MyAxNDYuNTcxOCwxMjEuNTEyMyBDMTQ3LjE1OTgsMTIyLjA5NTMgMTQ3LjE2MzgsMTIzLjA0NjMgMTQ2LjU4MDgsMTIzLjYzMzMgQzE0NS4xNzg4LDEyNS4wNDgzIDE0My43ODY4LDEyNi40NzIzIDE0Mi40MDU4LDEyNy45MDgzIEMxNDIuMTEyOCwxMjguMjE1MyAxNDEuNzE4OCwxMjguMzY5MyAxNDEuMzI0OCwxMjguMzY5MyBMMTQxLjMyNDgsMTI4LjM2OTMgWiBNMTMzLjEzMTgsMTM3LjEyNzMgQzEzMi43NzI4LDEzNy4xMjczIDEzMi40MTE4LDEzNi45OTgzIDEzMi4xMjM4LDEzNi43MzczIEMxMzEuNTEwOCwxMzYuMTgwMyAxMzEuNDY1OCwxMzUuMjMxMyAxMzIuMDIyOCwxMzQuNjE4MyBDMTMzLjM3MDgsMTMzLjEzMzMgMTM0LjczMDgsMTMxLjY1ODMgMTM2LjEwMDgsMTMwLjE5MzMgQzEzNi42NjY4LDEyOS41ODczIDEzNy42MTY4LDEyOS41NTYzIDEzOC4yMjA4LDEzMC4xMjIzIEMxMzguODI1OCwxMzAuNjg4MyAxMzguODU3OCwxMzEuNjM3MyAxMzguMjkxOCwxMzIuMjQyMyBDMTM2LjkzMTgsMTMzLjY5NzMgMTM1LjU4MTgsMTM1LjE2MTMgMTM0LjI0MjgsMTM2LjYzNTMgQzEzMy45NDY4LDEzNi45NjEzIDEzMy41Mzk4LDEzNy4xMjczIDEzMy4xMzE4LDEzNy4xMjczIEwxMzMuMTMxOCwxMzcuMTI3MyBaIE0xMjUuMjAwOCwxNDYuMTIwMyBDMTI0Ljg1NjgsMTQ2LjEyMDMgMTI0LjUwODgsMTQ2LjAwMjMgMTI0LjIyNjgsMTQ1Ljc1OTMgQzEyMy41OTc4LDE0NS4yMjAzIDEyMy41MjQ4LDE0NC4yNzMzIDEyNC4wNjI4LDE0My42NDQzIEMxMjUuMzY3OCwxNDIuMTIwMyAxMjYuNjgzOCwxNDAuNjA3MyAxMjguMDA5OCwxMzkuMTAyMyBDMTI4LjU1NTgsMTM4LjQ4MzMgMTI5LjUwNDgsMTM4LjQyMDMgMTMwLjEyNjgsMTM4Ljk2OTMgQzEzMC43NDc4LDEzOS41MTczIDEzMC44MDc4LDE0MC40NjQzIDEzMC4yNTk4LDE0MS4wODczIEMxMjguOTQzOCwxNDIuNTgwMyAxMjcuNjM3OCwxNDQuMDgzMyAxMjYuMzQxOCwxNDUuNTk1MyBDMTI2LjA0NDgsMTQ1Ljk0MjMgMTI1LjYyMzgsMTQ2LjEyMDMgMTI1LjIwMDgsMTQ2LjEyMDMgTDEyNS4yMDA4LDE0Ni4xMjAzIFogTTExNy41Mzg4LDE1NS4zMzczIEMxMTcuMjA3OCwxNTUuMzM3MyAxMTYuODc0OCwxNTUuMjI4MyAxMTYuNTk3OCwxNTUuMDA0MyBDMTE1Ljk1MjgsMTU0LjQ4MzMgMTE1Ljg1MjgsMTUzLjUzOTMgMTE2LjM3MjgsMTUyLjg5NDMgQzExNy42MzE4LDE1MS4zMzQzIDExOC45MDI4LDE0OS43ODMzIDEyMC4xODQ4LDE0OC4yNDEzIEMxMjAuNzE0OCwxNDcuNjA0MyAxMjEuNjU4OCwxNDcuNTE2MyAxMjIuMjk2OCwxNDguMDQ3MyBDMTIyLjkzMzgsMTQ4LjU3NjMgMTIzLjAyMDgsMTQ5LjUyMjMgMTIyLjQ5MDgsMTUwLjE1OTMgQzEyMS4yMTg4LDE1MS42ODkzIDExOS45NTY4LDE1My4yMzAzIDExOC43MDY4LDE1NC43NzkzIEMxMTguNDEwOCwxNTUuMTQ2MyAxMTcuOTc2OCwxNTUuMzM3MyAxMTcuNTM4OCwxNTUuMzM3MyBMMTE3LjUzODgsMTU1LjMzNzMgWiBNNzY2LjUxNDgsMTcxLjAzMzMgQzc2Ni4wNTI4LDE3MS4wMzMzIDc2NS41OTU4LDE3MC44MjAzIDc2NS4zMDI4LDE3MC40MTgzIEM3NjQuMTI1OCwxNjguODA3MyA3NjIuOTM4OCwxNjcuMjA2MyA3NjEuNzM4OCwxNjUuNjEzMyBDNzYxLjIzOTgsMTY0Ljk1MjMgNzYxLjM3MTgsMTY0LjAxMDMgNzYyLjAzMzgsMTYzLjUxMjMgQzc2Mi42OTU4LDE2My4wMTQzIDc2My42MzU4LDE2My4xNDYzIDc2NC4xMzQ4LDE2My44MDgzIEM3NjUuMzQyOCwxNjUuNDEzMyA3NjYuNTM5OCwxNjcuMDI2MyA3NjcuNzI0OCwxNjguNjQ4MyBDNzY4LjIxMzgsMTY5LjMxNzMgNzY4LjA2NzgsMTcwLjI1NjMgNzY3LjM5ODgsMTcwLjc0NDMgQzc2Ny4xMzE4LDE3MC45MzkzIDc2Ni44MjE4LDE3MS4wMzMzIDc2Ni41MTQ4LDE3MS4wMzMzIEw3NjYuNTE0OCwxNzEuMDMzMyBaIE03NzMuNDU0OCwxODAuODM1MyBDNzcyLjk3NzgsMTgwLjgzNTMgNzcyLjUwNzgsMTgwLjYwNzMgNzcyLjIxNjgsMTgwLjE4MzMgQzc3MS4wODg4LDE3OC41MzgzIDc2OS45NDc4LDE3Ni45MDIzIDc2OC43OTU4LDE3NS4yNzUzIEM3NjguMzE2OCwxNzQuNTk5MyA3NjguNDc2OCwxNzMuNjYzMyA3NjkuMTUyOCwxNzMuMTg0MyBDNzY5LjgyNjgsMTcyLjcwNjMgNzcwLjc2NDgsMTcyLjg2NDMgNzcxLjI0MjgsMTczLjU0MTMgQzc3Mi40MDQ4LDE3NS4xNzkzIDc3My41NTM4LDE3Ni44MjkzIDc3NC42OTE4LDE3OC40ODYzIEM3NzUuMTU4OCwxNzkuMTcwMyA3NzQuOTg1OCwxODAuMTAzMyA3NzQuMzAyOCwxODAuNTcyMyBDNzc0LjA0MjgsMTgwLjc1MDMgNzczLjc0NzgsMTgwLjgzNTMgNzczLjQ1NDgsMTgwLjgzNTMgTDc3My40NTQ4LDE4MC44MzUzIFogTTc4MC4xMDc4LDE5MC44MzgzIEM3NzkuNjE0OCwxOTAuODM4MyA3NzkuMTMyOCwxOTAuNTk1MyA3NzguODQ1OCwxOTAuMTUwMyBDNzc3Ljc2NDgsMTg4LjQ3MjMgNzc2LjY3MTgsMTg2LjgwMjMgNzc1LjU2NzgsMTg1LjE0MTMgQzc3NS4xMDg4LDE4NC40NTIzIDc3NS4yOTU4LDE4My41MjEzIDc3NS45ODY4LDE4My4wNjIzIEM3NzYuNjc0OCwxODIuNjA1MyA3NzcuNjA2OCwxODIuNzkxMyA3NzguMDY1OCwxODMuNDgxMyBDNzc5LjE3NzgsMTg1LjE1NDMgNzgwLjI3ODgsMTg2LjgzNjMgNzgxLjM2NjgsMTg4LjUyNTMgQzc4MS44MTY4LDE4OS4yMjEzIDc4MS42MTQ4LDE5MC4xNTAzIDc4MC45MTg4LDE5MC41OTgzIEM3ODAuNjY3OCwxOTAuNzYwMyA3ODAuMzg1OCwxOTAuODM4MyA3ODAuMTA3OCwxOTAuODM4MyBMNzgwLjEwNzgsMTkwLjgzODMgWiBNNzg2LjQ2NTgsMjAxLjAzNjMgQzc4NS45NTc4LDIwMS4wMzYzIDc4NS40NjE4LDIwMC43NzgzIDc4NS4xODA4LDIwMC4zMTAzIEM3ODQuMTQ5OCwxOTguNjAxMyA3ODMuMTA2OCwxOTYuOTAwMyA3ODIuMDUwOCwxOTUuMjA4MyBDNzgxLjYxMjgsMTk0LjUwNTMgNzgxLjgyNTgsMTkzLjU3OTMgNzgyLjUyOTgsMTkzLjE0MTMgQzc4My4yMzE4LDE5Mi43MDMzIDc4NC4xNTY4LDE5Mi45MTYzIDc4NC41OTU4LDE5My42MjAzIEM3ODUuNjU4OCwxOTUuMzI2MyA3ODYuNzA5OCwxOTcuMDM5MyA3ODcuNzQ4OCwxOTguNzYwMyBDNzg4LjE3NjgsMTk5LjQ3MDMgNzg3Ljk0ODgsMjAwLjM5MjMgNzg3LjIzODgsMjAwLjgyMDMgQzc4Ni45OTY4LDIwMC45NjYzIDc4Ni43MzA4LDIwMS4wMzYzIDc4Ni40NjU4LDIwMS4wMzYzIEw3ODYuNDY1OCwyMDEuMDM2MyBaIE03OTIuNTIyOCwyMTEuNDE4MyBDNzkxLjk5NzgsMjExLjQxODMgNzkxLjQ4ODgsMjExLjE0MzMgNzkxLjIxMzgsMjEwLjY1NDMgQzc5MC4yMzM4LDIwOC45MTUzIDc4OS4yMzg4LDIwNy4xODIzIDc4OC4yMzQ4LDIwNS40NjAzIEM3ODcuODE3OCwyMDQuNzQ0MyA3ODguMDU4OCwyMDMuODI2MyA3ODguNzc0OCwyMDMuNDA4MyBDNzg5LjQ4ODgsMjAyLjk5MjMgNzkwLjQwNzgsMjAzLjIzMjMgNzkwLjgyNTgsMjAzLjk0ODMgQzc5MS44Mzg4LDIwNS42ODQzIDc5Mi44Mzg4LDIwNy40MjgzIDc5My44MjY4LDIwOS4xODEzIEM3OTQuMjM0OCwyMDkuOTAzMyA3OTMuOTc4OCwyMTAuODE3MyA3OTMuMjU2OCwyMTEuMjI0MyBDNzkzLjAyNDgsMjExLjM1NTMgNzkyLjc3MTgsMjExLjQxODMgNzkyLjUyMjgsMjExLjQxODMgTDc5Mi41MjI4LDIxMS40MTgzIFogTTc5OC4yNzI4LDIyMS45NzYzIEM3OTcuNzMzOCwyMjEuOTc2MyA3OTcuMjExOCwyMjEuNjg1MyA3OTYuOTQzOCwyMjEuMTc0MyBDNzk2LjAxNDgsMjE5LjQwNjMgNzk1LjA3MjgsMjE3LjY0NjMgNzk0LjExNjgsMjE1Ljg5MzMgQzc5My43MjA4LDIxNS4xNjYzIDc5My45ODg4LDIxNC4yNTUzIDc5NC43MTY4LDIxMy44NTgzIEM3OTUuNDQzOCwyMTMuNDY0MyA3OTYuMzU0OCwyMTMuNzMwMyA3OTYuNzUxOCwyMTQuNDU4MyBDNzk3LjcxMzgsMjE2LjIyNDMgNzk4LjY2MjgsMjE3Ljk5ODMgNzk5LjU5OTgsMjE5Ljc3ODMgQzc5OS45ODQ4LDIyMC41MTEzIDc5OS43MDE4LDIyMS40MTkzIDc5OC45Njk4LDIyMS44MDQzIEM3OTguNzQ2OCwyMjEuOTIxMyA3OTguNTA3OCwyMjEuOTc2MyA3OTguMjcyOCwyMjEuOTc2MyBMNzk4LjI3MjgsMjIxLjk3NjMgWiBNODAzLjcwOTgsMjMyLjcwMzMgQzgwMy4xNTQ4LDIzMi43MDMzIDgwMi42MjA4LDIzMi4zOTMzIDgwMi4zNjE4LDIzMS44NjEzIEM4MDEuNDg0OCwyMzAuMDY2MyA4MDAuNTkzOCwyMjguMjc3MyA3OTkuNjkyOCwyMjYuNDk3MyBDNzk5LjMxNzgsMjI1Ljc1NzMgNzk5LjYxMzgsMjI0Ljg1NTMgODAwLjM1MjgsMjI0LjQ4MTMgQzgwMS4wODc4LDIyNC4xMDYzIDgwMS45OTM4LDIyNC40MDIzIDgwMi4zNjc4LDIyNS4xNDEzIEM4MDMuMjc3OCwyMjYuOTM1MyA4MDQuMTczOCwyMjguNzM2MyA4MDUuMDU2OCwyMzAuNTQ1MyBDODA1LjQxOTgsMjMxLjI4OTMgODA1LjExMTgsMjMyLjE4NzMgODA0LjM2NjgsMjMyLjU1MDMgQzgwNC4xNTQ4LDIzMi42NTQzIDgwMy45MzA4LDIzMi43MDMzIDgwMy43MDk4LDIzMi43MDMzIEw4MDMuNzA5OCwyMzIuNzAzMyBaIE04MDguODI4OCwyNDMuNTg5MyBDODA4LjI1NzgsMjQzLjU4OTMgODA3LjcxMTgsMjQzLjI2MTMgODA3LjQ2MTgsMjQyLjcwNzMgQzgwNi42Mzc4LDI0MC44ODUzIDgwNS44MDA4LDIzOS4wNzIzIDgwNC45NDk4LDIzNy4yNjUzIEM4MDQuNTk3OCwyMzYuNTE1MyA4MDQuOTE4OCwyMzUuNjIyMyA4MDUuNjY4OCwyMzUuMjY5MyBDODA2LjQxNTgsMjM0LjkxOTMgODA3LjMxMjgsMjM1LjIzOTMgODA3LjY2NDgsMjM1Ljk4ODMgQzgwOC41MjE4LDIzNy44MDgzIDgwOS4zNjM4LDIzOS42MzUzIDgxMC4xOTQ4LDI0MS40NzAzIEM4MTAuNTM1OCwyNDIuMjI1MyA4MTAuMjAwOCwyNDMuMTE0MyA4MDkuNDQ2OCwyNDMuNDU1MyBDODA5LjI0NTgsMjQzLjU0NjMgODA5LjAzNTgsMjQzLjU4OTMgODA4LjgyODgsMjQzLjU4OTMgTDgwOC44Mjg4LDI0My41ODkzIFogTTgxMy42MjY4LDI1NC42MjUzIEM4MTMuMDM4OCwyNTQuNjI1MyA4MTIuNDgxOCwyNTQuMjc4MyA4MTIuMjQwOCwyNTMuNzAyMyBDODExLjQ3MTgsMjUxLjg1NjMgODEwLjY4ODgsMjUwLjAxODMgODA5Ljg5MjgsMjQ4LjE4NzMgQzgwOS41NjE4LDI0Ny40MjczIDgwOS45MDg4LDI0Ni41NDQzIDgxMC42Njg4LDI0Ni4yMTQzIEM4MTEuNDMyOCwyNDUuODgzMyA4MTIuMzEzOCwyNDYuMjMyMyA4MTIuNjQyOCwyNDYuOTkwMyBDODEzLjQ0NjgsMjQ4LjgzNTMgODE0LjIzNTgsMjUwLjY4ODMgODE1LjAxMDgsMjUyLjU0ODMgQzgxNS4zMjg4LDI1My4zMTIzIDgxNC45Njc4LDI1NC4xOTAzIDgxNC4yMDI4LDI1NC41MDkzIEM4MTQuMDE0OCwyNTQuNTg4MyA4MTMuODE5OCwyNTQuNjI1MyA4MTMuNjI2OCwyNTQuNjI1MyBMODEzLjYyNjgsMjU0LjYyNTMgWiBNODE4LjA5NTgsMjY1LjgwMTMgQzgxNy40OTE4LDI2NS44MDEzIDgxNi45MjM4LDI2NS40MzUzIDgxNi42OTU4LDI2NC44MzgzIEM4MTUuOTc5OCwyNjIuOTY5MyA4MTUuMjUwOCwyNjEuMTA4MyA4MTQuNTA5OCwyNTkuMjUzMyBDODE0LjIwMTgsMjU4LjQ4MzMgODE0LjU3NTgsMjU3LjYxMDMgODE1LjM0NTgsMjU3LjMwMzMgQzgxNi4xMTc4LDI1Ni45OTQzIDgxNi45ODg4LDI1Ny4zNzEzIDgxNy4yOTQ4LDI1OC4xMzkzIEM4MTguMDQxOCwyNjAuMDA4MyA4MTguNzc2OCwyNjEuODgzMyA4MTkuNDk2OCwyNjMuNzY1MyBDODE5Ljc5MjgsMjY0LjUzOTMgODE5LjQwNDgsMjY1LjQwNjMgODE4LjYzMTgsMjY1LjcwMzMgQzgxOC40NTU4LDI2NS43NzAzIDgxOC4yNzQ4LDI2NS44MDEzIDgxOC4wOTU4LDI2NS44MDEzIEw4MTguMDk1OCwyNjUuODAxMyBaIE04MjIuMjM0OCwyNzcuMTEwMyBDODIxLjYxMzgsMjc3LjExMDMgODIxLjAzMzgsMjc2LjcyMzMgODIwLjgxODgsMjc2LjEwNDMgQzgyMC4xNTc4LDI3NC4yMTUzIDgxOS40ODU4LDI3Mi4zMzMzIDgxOC43OTg4LDI3MC40NTYzIEM4MTguNTEzOCwyNjkuNjc3MyA4MTguOTEyOCwyNjguODE2MyA4MTkuNjkxOCwyNjguNTMyMyBDODIwLjQ2OTgsMjY4LjI0NzMgODIxLjMzMDgsMjY4LjY0NzMgODIxLjYxNDgsMjY5LjQyNDMgQzgyMi4zMDc4LDI3MS4zMTUzIDgyMi45ODY4LDI3My4yMTIzIDgyMy42NTA4LDI3NS4xMTYzIEM4MjMuOTIzOCwyNzUuODk4MyA4MjMuNTEwOCwyNzYuNzU0MyA4MjIuNzI4OCwyNzcuMDI2MyBDODIyLjU2NTgsMjc3LjA4NDMgODIyLjM5ODgsMjc3LjExMDMgODIyLjIzNDgsMjc3LjExMDMgTDgyMi4yMzQ4LDI3Ny4xMTAzIFogTTgyNi4wMzU4LDI4OC41NDAzIEM4MjUuMzk4OCwyODguNTQwMyA4MjQuODA3OCwyODguMTMxMyA4MjQuNjA1OCwyODcuNDkyMyBDODI0LjAwMjgsMjg1LjU4MzMgODIzLjM4NDgsMjgzLjY3OTMgODIyLjc1NDgsMjgxLjc4NDMgQzgyMi40OTI4LDI4MC45OTgzIDgyMi45MTc4LDI4MC4xNDgzIDgyMy43MDM4LDI3OS44ODYzIEM4MjQuNDkyOCwyNzkuNjI2MyA4MjUuMzM4OCwyODAuMDUxMyA4MjUuNjAxOCwyODAuODM3MyBDODI2LjIzNjgsMjgyLjc0ODMgODI2Ljg1ODgsMjg0LjY2NTMgODI3LjQ2NjgsMjg2LjU4ODMgQzgyNy43MTU4LDI4Ny4zNzgzIDgyNy4yNzg4LDI4OC4yMjAzIDgyNi40ODg4LDI4OC40NzAzIEM4MjYuMzM3OCwyODguNTE3MyA4MjYuMTg1OCwyODguNTQwMyA4MjYuMDM1OCwyODguNTQwMyBMODI2LjAzNTgsMjg4LjU0MDMgWiBNNDQuODk3OCwyOTEuOTYzMyBDNDQuNzUyOCwyOTEuOTYzMyA0NC42MDQ4LDI5MS45NDIzIDQ0LjQ1NzgsMjkxLjg5NzMgQzQzLjY2NTgsMjkxLjY1NDMgNDMuMjIwOCwyOTAuODE2MyA0My40NjI4LDI5MC4wMjMzIEM0NC4wNTE4LDI4OC4xMDIzIDQ0LjY1NDgsMjg2LjE4NzMgNDUuMjcwOCwyODQuMjc5MyBDNDUuNTI1OCwyODMuNDkyMyA0Ni4zNjY4LDI4My4wNjAzIDQ3LjE1ODgsMjgzLjMxMjMgQzQ3Ljk0NjgsMjgzLjU2NzMgNDguMzc5OCwyODQuNDEzMyA0OC4xMjU4LDI4NS4yMDEzIEM0Ny41MTM4LDI4Ny4wOTUzIDQ2LjkxNDgsMjg4Ljk5NTMgNDYuMzMxOCwyOTAuOTAyMyBDNDYuMTMzOCwyOTEuNTQ4MyA0NS41Mzk4LDI5MS45NjMzIDQ0Ljg5NzgsMjkxLjk2MzMgTDQ0Ljg5NzgsMjkxLjk2MzMgWiBNODI5LjQ4OTgsMzAwLjA1NjMgQzgyOC44MzY4LDMwMC4wNTYzIDgyOC4yMzU4LDI5OS42MjYzIDgyOC4wNDc4LDI5OC45NjYzIEM4MjcuNTAyOCwyOTcuMDQ4MyA4MjYuOTQ1OCwyOTUuMTM0MyA4MjYuMzcyOCwyOTMuMjI5MyBDODI2LjEzNDgsMjkyLjQzNTMgODI2LjU4NDgsMjkxLjU5OTMgODI3LjM3NzgsMjkxLjM2MTMgQzgyOC4xNjk4LDI5MS4xMjYzIDgyOS4wMDY4LDI5MS41NzIzIDgyOS4yNDU4LDI5Mi4zNjYzIEM4MjkuODIxOCwyOTQuMjg3MyA4MzAuMzg1OCwyOTYuMjE0MyA4MzAuOTM0OCwyOTguMTQ2MyBDODMxLjE1OTgsMjk4Ljk0MzMgODMwLjY5NzgsMjk5Ljc3MzMgODI5LjkwMTgsMzAwLjAwMDMgQzgyOS43NjM4LDMwMC4wMzgzIDgyOS42MjU4LDMwMC4wNTYzIDgyOS40ODk4LDMwMC4wNTYzIEw4MjkuNDg5OCwzMDAuMDU2MyBaIE00MS41NTI4LDMwMy40ODUzIEM0MS40MjA4LDMwMy40ODUzIDQxLjI4NzgsMzAzLjQ2ODMgNDEuMTU1OCwzMDMuNDMxMyBDNDAuMzU2OCwzMDMuMjEzMyAzOS44ODU4LDMwMi4zODczIDQwLjEwNTgsMzAxLjU4OTMgQzQwLjYzNjgsMjk5LjY1MTMgNDEuMTgyOCwyOTcuNzE5MyA0MS43NDE4LDI5NS43OTMzIEM0MS45NzM4LDI5NC45OTczIDQyLjgwMTgsMjk0LjUzNzMgNDMuNjAxOCwyOTQuNzcxMyBDNDQuMzk2OCwyOTUuMDAzMyA0NC44NTQ4LDI5NS44MzUzIDQ0LjYyMjgsMjk2LjYzMTMgQzQ0LjA2NzgsMjk4LjU0MjMgNDMuNTI1OCwzMDAuNDYwMyA0Mi45OTc4LDMwMi4zODEzIEM0Mi44MTU4LDMwMy4wNDgzIDQyLjIxMTgsMzAzLjQ4NTMgNDEuNTUyOCwzMDMuNDg1MyBMNDEuNTUyOCwzMDMuNDg1MyBaIE04MzIuNTk3OCwzMTEuNjQ2MyBDODMxLjkyNjgsMzExLjY0NjMgODMxLjMxNTgsMzExLjE5MzMgODMxLjE0NDgsMzEwLjUxMzMgQzgzMC42NTU4LDMwOC41ODAzIDgzMC4xNTQ4LDMwNi42NTIzIDgyOS42Mzg4LDMwNC43MjkzIEM4MjkuNDI0OCwzMDMuOTI5MyA4MjkuODk5OCwzMDMuMTA2MyA4MzAuNjk4OCwzMDIuODkxMyBDODMxLjQ5NTgsMzAyLjY4MjMgODMyLjMyMTgsMzAzLjE1MTMgODMyLjUzNjgsMzAzLjk1MjMgQzgzMy4wNTY4LDMwNS44ODkzIDgzMy41NjI4LDMwNy44MzIzIDgzNC4wNTI4LDMwOS43NzkzIEM4MzQuMjU1OCwzMTAuNTgzMyA4MzMuNzY4OCwzMTEuMzk4MyA4MzIuOTY1OCwzMTEuNjAwMyBDODMyLjg0MjgsMzExLjYzMTMgODMyLjcxODgsMzExLjY0NjMgODMyLjU5NzgsMzExLjY0NjMgTDgzMi41OTc4LDMxMS42NDYzIFogTTM4LjU0NjgsMzE1LjEwMDMgQzM4LjQyOTgsMzE1LjEwMDMgMzguMzEwOCwzMTUuMDg3MyAzOC4xOTE4LDMxNS4wNTczIEMzNy4zODU4LDMxNC44NjIzIDM2Ljg5MjgsMzE0LjA1MDMgMzcuMDg4OCwzMTMuMjQ2MyBDMzcuNTYzOCwzMTEuMjk0MyAzOC4wNTE4LDMwOS4zNDczIDM4LjU1MzgsMzA3LjQwNjMgQzM4Ljc2MDgsMzA2LjYwMzMgMzkuNTc1OCwzMDYuMTIyMyA0MC4zODA4LDMwNi4zMjkzIEM0MS4xODM4LDMwNi41MzYzIDQxLjY2NDgsMzA3LjM1NDMgNDEuNDU3OCwzMDguMTU2MyBDNDAuOTU5OCwzMTAuMDg0MyA0MC40NzU4LDMxMi4wMTYzIDQwLjAwMjgsMzEzLjk1NTMgQzM5LjgzNTgsMzE0LjY0MDMgMzkuMjIyOCwzMTUuMTAwMyAzOC41NDY4LDMxNS4xMDAzIEwzOC41NDY4LDMxNS4xMDAzIFogTTgzNS4zNTk4LDMyMy4zMjIzIEM4MzQuNjcwOCwzMjMuMzIyMyA4MzQuMDQ5OCwzMjIuODQ1MyA4MzMuODk1OCwzMjIuMTQ1MyBDODMzLjQ2NTgsMzIwLjE5ODMgODMzLjAyMDgsMzE4LjI1NjMgODMyLjU2MjgsMzE2LjMxOTMgQzgzMi4zNzE4LDMxNS41MTIzIDgzMi44NzA4LDMxNC43MDUzIDgzMy42NzY4LDMxNC41MTMzIEM4MzQuNDc5OCwzMTQuMzIzMyA4MzUuMjkwOCwzMTQuODIyMyA4MzUuNDgyOCwzMTUuNjI4MyBDODM1Ljk0MzgsMzE3LjU4MDMgODM2LjM5MTgsMzE5LjUzNjMgODM2LjgyNDgsMzIxLjQ5OTMgQzgzNy4wMDM4LDMyMi4zMDczIDgzNi40OTI4LDMyMy4xMDgzIDgzNS42ODM4LDMyMy4yODczIEM4MzUuNTc0OCwzMjMuMzEwMyA4MzUuNDY1OCwzMjMuMzIyMyA4MzUuMzU5OCwzMjMuMzIyMyBMODM1LjM1OTgsMzIzLjMyMjMgWiBNMzUuODg3OCwzMjYuNzk4MyBDMzUuNzgzOCwzMjYuNzk4MyAzNS42Nzk4LDMyNi43ODgzIDM1LjU3NDgsMzI2Ljc2NjMgQzM0Ljc2NDgsMzI2LjU5NDMgMzQuMjQ1OCwzMjUuNzk4MyAzNC40MTc4LDMyNC45ODczIEMzNC44MzQ4LDMyMy4wMjIzIDM1LjI2NTgsMzIxLjA2MjMgMzUuNzA5OCwzMTkuMTA2MyBDMzUuODkzOCwzMTguMzAwMyAzNi42OTE4LDMxNy43OTMzIDM3LjUwNTgsMzE3Ljk3NjMgQzM4LjMxMzgsMzE4LjE2MTMgMzguODE5OCwzMTguOTY0MyAzOC42MzU4LDMxOS43NzIzIEMzOC4xOTM4LDMyMS43MTMzIDM3Ljc2NjgsMzIzLjY1OTMgMzcuMzUzOCwzMjUuNjEwMyBDMzcuMjAzOCwzMjYuMzE1MyAzNi41ODA4LDMyNi43OTgzIDM1Ljg4NzgsMzI2Ljc5ODMgTDM1Ljg4NzgsMzI2Ljc5ODMgWiBNODM3Ljc3NTgsMzM1LjA3NDMgQzgzNy4wNjk4LDMzNS4wNzQzIDgzNi40NDA4LDMzNC41NzMzIDgzNi4zMDM4LDMzMy44NTQzIEM4MzUuOTMxOCwzMzEuODk0MyA4MzUuNTQzOCwzMjkuOTQwMyA4MzUuMTQyOCwzMjcuOTkxMyBDODM0Ljk3NjgsMzI3LjE4MDMgODM1LjQ5ODgsMzI2LjM4NjMgODM2LjMxMDgsMzI2LjIyMDMgQzgzNy4xMTQ4LDMyNi4wNDgzIDgzNy45MTM4LDMyNi41NzUzIDgzOC4wODA4LDMyNy4zODczIEM4MzguNDg1OCwzMjkuMzUwMyA4MzguODc1OCwzMzEuMzIwMyA4MzkuMjUwOCwzMzMuMjk0MyBDODM5LjQwNDgsMzM0LjEwNzMgODM4Ljg3MDgsMzM0Ljg5MjMgODM4LjA1NzgsMzM1LjA0ODMgQzgzNy45NjI4LDMzNS4wNjUzIDgzNy44Njc4LDMzNS4wNzQzIDgzNy43NzU4LDMzNS4wNzQzIEw4MzcuNzc1OCwzMzUuMDc0MyBaIE0zMy41NzQ4LDMzOC41NzEzIEMzMy40ODY4LDMzOC41NzEzIDMzLjM5NTgsMzM4LjU2MzMgMzMuMzA1OCwzMzguNTQ3MyBDMzIuNDg5OCwzMzguMzk5MyAzMS45NDg4LDMzNy42MTgzIDMyLjA5NzgsMzM2LjgwMzMgQzMyLjQ1NTgsMzM0LjgyNzMgMzIuODI3OCwzMzIuODU0MyAzMy4yMTQ4LDMzMC44ODczIEMzMy4zNzM4LDMzMC4wNzUzIDM0LjE1OTgsMzI5LjUzOTMgMzQuOTc1OCwzMjkuNzA1MyBDMzUuNzg3OCwzMjkuODY0MyAzNi4zMTg4LDMzMC42NTIzIDM2LjE1NzgsMzMxLjQ2NTMgQzM1Ljc3NTgsMzMzLjQxOTMgMzUuNDA1OCwzMzUuMzc2MyAzNS4wNDg4LDMzNy4zMzkzIEMzNC45MTc4LDMzOC4wNjMzIDM0LjI4NTgsMzM4LjU3MTMgMzMuNTc0OCwzMzguNTcxMyBMMzMuNTc0OCwzMzguNTcxMyBaIE04MzkuODQ0OCwzNDYuODkyMyBDODM5LjEyMDgsMzQ2Ljg5MjMgODM4LjQ4MzgsMzQ2LjM2NzMgODM4LjM2NDgsMzQ1LjYzMDMgQzgzOC4wNDk4LDM0My42NjEzIDgzNy43MjE4LDM0MS42OTUzIDgzNy4zNzY4LDMzOS43MzYzIEM4MzcuMjMzOCwzMzguOTIwMyA4MzcuNzc5OCwzMzguMTQyMyA4MzguNTk0OCwzMzcuOTk5MyBDODM5LjQxNDgsMzM3Ljg1NzMgODQwLjE4ODgsMzM4LjQwMjMgODQwLjMzMTgsMzM5LjIxNjMgQzg0MC42Nzg4LDM0MS4xOTEzIDg0MS4wMDk4LDM0My4xNzEzIDg0MS4zMjc4LDM0NS4xNTUzIEM4NDEuNDU4OCwzNDUuOTczMyA4NDAuOTAxOCwzNDYuNzQzMyA4NDAuMDgzOCwzNDYuODc0MyBDODQwLjAwMzgsMzQ2Ljg4NjMgODM5LjkyMzgsMzQ2Ljg5MjMgODM5Ljg0NDgsMzQ2Ljg5MjMgTDgzOS44NDQ4LDM0Ni44OTIzIFogTTMxLjYwOTgsMzUwLjQwODMgQzMxLjUzNDgsMzUwLjQwODMgMzEuNDU4OCwzNTAuNDAzMyAzMS4zODM4LDM1MC4zOTEzIEMzMC41NjQ4LDM1MC4yNjczIDMwLjAwMDgsMzQ5LjUwNDMgMzAuMTIzOCwzNDguNjg0MyBDMzAuNDIzOCwzNDYuNjk2MyAzMC43Mzg4LDM0NC43MTQzIDMxLjA2NzgsMzQyLjczNjMgQzMxLjIwMjgsMzQxLjkyMDMgMzEuOTczOCwzNDEuMzY4MyAzMi43OTI4LDM0MS41MDMzIEMzMy42MDk4LDM0MS42MzgzIDM0LjE2MTgsMzQyLjQxMTMgMzQuMDI2OCwzNDMuMjI4MyBDMzMuNzAwOCwzNDUuMTkxMyAzMy4zODg4LDM0Ny4xNTkzIDMzLjA5MDgsMzQ5LjEzMTMgQzMyLjk3ODgsMzQ5Ljg3NTMgMzIuMzM4OCwzNTAuNDA4MyAzMS42MDk4LDM1MC40MDgzIEwzMS42MDk4LDM1MC40MDgzIFogTTg0MS41NjU4LDM1OC43NjYzIEM4NDAuODIyOCwzNTguNzY2MyA4NDAuMTc3OCwzNTguMjE1MyA4NDAuMDc5OCwzNTcuNDYwMyBDODM5LjgyMjgsMzU1LjQ4MTMgODM5LjU1MTgsMzUzLjUwNzMgODM5LjI2NTgsMzUxLjUzOTMgQzgzOS4xNDY4LDM1MC43MTgzIDgzOS43MTQ4LDM0OS45NTgzIDg0MC41MzM4LDM0OS44MzkzIEM4NDEuMzQ5OCwzNDkuNzIxMyA4NDIuMTE1OCwzNTAuMjg3MyA4NDIuMjM0OCwzNTEuMTA3MyBDODQyLjUyMjgsMzUzLjA5MTMgODQyLjc5NTgsMzU1LjA4MDMgODQzLjA1NDgsMzU3LjA3MzMgQzg0My4xNjA4LDM1Ny44OTQzIDg0Mi41ODE4LDM1OC42NDczIDg0MS43NjA4LDM1OC43NTQzIEM4NDEuNjk1OCwzNTguNzYyMyA4NDEuNjI5OCwzNTguNzY2MyA4NDEuNTY1OCwzNTguNzY2MyBMODQxLjU2NTgsMzU4Ljc2NjMgWiBNMjkuOTkwOCwzNjIuMjk2MyBDMjkuOTMwOCwzNjIuMjk2MyAyOS44Njk4LDM2Mi4yOTIzIDI5LjgwODgsMzYyLjI4NTMgQzI4Ljk4NjgsMzYyLjE4NTMgMjguNDAwOCwzNjEuNDM3MyAyOC40OTk4LDM2MC42MTUzIEMyOC43NDE4LDM1OC42MjAzIDI4Ljk5NzgsMzU2LjYyOTMgMjkuMjY4OCwzNTQuNjQzMyBDMjkuMzc5OCwzNTMuODIyMyAzMC4xMzg4LDM1My4yNDMzIDMwLjk1NjgsMzUzLjM1OTMgQzMxLjc3ODgsMzUzLjQ3MTMgMzIuMzUyOCwzNTQuMjI3MyAzMi4yNDA4LDM1NS4wNDgzIEMzMS45NzI4LDM1Ny4wMTkzIDMxLjcxODgsMzU4Ljk5NTMgMzEuNDc4OCwzNjAuOTc2MyBDMzEuMzg1OCwzNjEuNzM3MyAzMC43Mzg4LDM2Mi4yOTYzIDI5Ljk5MDgsMzYyLjI5NjMgTDI5Ljk5MDgsMzYyLjI5NjMgWiBNODQyLjkzNzgsMzcwLjY4NjMgQzg0Mi4xNzY4LDM3MC42ODYzIDg0MS41MjQ4LDM3MC4xMDkzIDg0MS40NDY4LDM2OS4zMzczIEM4NDEuMjQ2OCwzNjcuMzUxMyA4NDEuMDMzOCwzNjUuMzcwMyA4NDAuODA2OCwzNjMuMzkzMyBDODQwLjcxMTgsMzYyLjU3MDMgODQxLjMwMjgsMzYxLjgyNjMgODQyLjEyNDgsMzYxLjczMTMgQzg0Mi45NDc4LDM2MS42MzgzIDg0My42OTI4LDM2Mi4yMjYzIDg0My43ODY4LDM2My4wNDkzIEM4NDQuMDE2OCwzNjUuMDQyMyA4NDQuMjMxOCwzNjcuMDM3MyA4NDQuNDMxOCwzNjkuMDM2MyBDODQ0LjUxNDgsMzY5Ljg2MDMgODQzLjkxMzgsMzcwLjU5NjMgODQzLjA4OTgsMzcwLjY3ODMgQzg0My4wMzc4LDM3MC42ODQzIDg0Mi45ODc4LDM3MC42ODYzIDg0Mi45Mzc4LDM3MC42ODYzIEw4NDIuOTM3OCwzNzAuNjg2MyBaIE0yOC43MjI4LDM3NC4yMjUzIEMyOC42NzY4LDM3NC4yMjUzIDI4LjYzMDgsMzc0LjIyMzMgMjguNTgzOCwzNzQuMjE5MyBDMjcuNzU4OCwzNzQuMTQzMyAyNy4xNTE4LDM3My40MTQzIDI3LjIyNjgsMzcyLjU4OTMgQzI3LjQwOTgsMzcwLjU4ODMgMjcuNjA4OCwzNjguNTg5MyAyNy44MjA4LDM2Ni41OTczIEMyNy45MDY4LDM2NS43NzMzIDI4LjY0NjgsMzY1LjE3MzMgMjkuNDY5OCwzNjUuMjY0MyBDMzAuMjkzOCwzNjUuMzUxMyAzMC44OTA4LDM2Ni4wOTAzIDMwLjgwMjgsMzY2LjkxNDMgQzMwLjU5MjgsMzY4Ljg5MjMgMzAuMzk2OCwzNzAuODc1MyAzMC4yMTQ4LDM3Mi44NjIzIEMzMC4xNDM4LDM3My42NDAzIDI5LjQ4ODgsMzc0LjIyNTMgMjguNzIyOCwzNzQuMjI1MyBMMjguNzIyOCwzNzQuMjI1MyBaIE04NDMuOTYwOCwzODIuNjM5MyBDODQzLjE4MTgsMzgyLjYzOTMgODQyLjUyMjgsMzgyLjAzNjMgODQyLjQ2NjgsMzgxLjI0NjMgQzg0Mi4zMjQ4LDM3OS4yNTYzIDg0Mi4xNjk4LDM3Ny4yNjkzIDg0Mi4wMDA4LDM3NS4yODczIEM4NDEuOTI5OCwzNzQuNDYxMyA4NDIuNTQxOCwzNzMuNzM1MyA4NDMuMzY2OCwzNzMuNjY1MyBDODQ0LjE4OTgsMzczLjU4MDMgODQ0LjkxODgsMzc0LjIwNzMgODQ0Ljk4ODgsMzc1LjAzMTMgQzg0NS4xNTk4LDM3Ny4wMjkzIDg0NS4zMTc4LDM3OS4wMjkzIDg0NS40NTg4LDM4MS4wMzMzIEM4NDUuNTE3OCwzODEuODYwMyA4NDQuODk1OCwzODIuNTc3MyA4NDQuMDY5OCwzODIuNjM1MyBDODQ0LjAzMjgsMzgyLjYzODMgODQzLjk5NjgsMzgyLjYzOTMgODQzLjk2MDgsMzgyLjYzOTMgTDg0My45NjA4LDM4Mi42MzkzIFogTTI3LjgwMjgsMzg2LjE4ODMgQzI3Ljc3MTgsMzg2LjE4ODMgMjcuNzM5OCwzODYuMTg3MyAyNy43MDg4LDM4Ni4xODUzIEMyNi44ODE4LDM4Ni4xMzMzIDI2LjI1MjgsMzg1LjQyMjMgMjYuMzA0OCwzODQuNTk1MyBDMjYuNDI4OCwzODIuNTg5MyAyNi41Njg4LDM4MC41ODgzIDI2LjcyMjgsMzc4LjU4OTMgQzI2Ljc4NTgsMzc3Ljc2MTMgMjcuNTIwOCwzNzcuMTE4MyAyOC4zMzI4LDM3Ny4yMDkzIEMyOS4xNTg4LDM3Ny4yNzIzIDI5Ljc3NzgsMzc3Ljk5MzMgMjkuNzEzOCwzNzguODE5MyBDMjkuNTYwOCwzODAuODAyMyAyOS40MjI4LDM4Mi43OTEzIDI5LjI5ODgsMzg0Ljc4MTMgQzI5LjI0ODgsMzg1LjU3NjMgMjguNTg4OCwzODYuMTg4MyAyNy44MDI4LDM4Ni4xODgzIEwyNy44MDI4LDM4Ni4xODgzIFogTTg0NC42MzU4LDM5NC42MTgzIEM4NDMuODM1OCwzOTQuNjE4MyA4NDMuMTcxOCwzOTMuOTg3MyA4NDMuMTM3OCwzOTMuMTgwMyBDODQzLjA1NDgsMzkxLjE4NzMgODQyLjk1NjgsMzg5LjE5NzMgODQyLjg0NDgsMzg3LjIxMDMgQzg0Mi43OTg4LDM4Ni4zODIzIDg0My40MzE4LDM4NS42NzQzIDg0NC4yNTg4LDM4NS42MjgzIEM4NDUuMDg4OCwzODUuNjAwMyA4NDUuNzkzOCwzODYuMjE0MyA4NDUuODQwOCwzODcuMDQyMyBDODQ1Ljk1MjgsMzg5LjA0MzMgODQ2LjA1MDgsMzkxLjA0NzMgODQ2LjEzNTgsMzkzLjA1NTMgQzg0Ni4xNjk4LDM5My44ODIzIDg0NS41Mjc4LDM5NC41ODIzIDg0NC42OTg4LDM5NC42MTczIEM4NDQuNjc4OCwzOTQuNjE4MyA4NDQuNjU2OCwzOTQuNjE4MyA4NDQuNjM1OCwzOTQuNjE4MyBMODQ0LjYzNTgsMzk0LjYxODMgWiBNMjcuMjMxOCwzOTguMTczMyBDMjcuMjE0OCwzOTguMTczMyAyNy4xOTY4LDM5OC4xNzMzIDI3LjE4MDgsMzk4LjE3MjMgQzI2LjM1MjgsMzk4LjE0NDMgMjUuNzAzOCwzOTcuNDUxMyAyNS43MzE4LDM5Ni42MjMzIEMyNS43OTc4LDM5NC42MTQzIDI1Ljg3ODgsMzkyLjYwODMgMjUuOTc0OCwzOTAuNjA3MyBDMjYuMDEzOCwzODkuNzgwMyAyNi42Nzk4LDM4OS4xNDczIDI3LjU0MzgsMzg5LjE4MDMgQzI4LjM3MDgsMzg5LjIxOTMgMjkuMDEwOCwzODkuOTIzMyAyOC45NzA4LDM5MC43NTAzIEMyOC44NzY4LDM5Mi43MzczIDI4Ljc5NTgsMzk0LjcyNzMgMjguNzI5OCwzOTYuNzIyMyBDMjguNzAyOCwzOTcuNTMzMyAyOC4wMzY4LDM5OC4xNzMzIDI3LjIzMTgsMzk4LjE3MzMgTDI3LjIzMTgsMzk4LjE3MzMgWiBNODQ0Ljk2NDgsNDA2LjYxMTMgQzg0NC4xNDQ4LDQwNi42MTEzIDg0My40NzU4LDQwNS45NTIzIDg0My40NjQ4LDQwNS4xMzAzIEM4NDMuNDM5OCw0MDMuMTM0MyA4NDMuMzk5OCw0MDEuMTQzMyA4NDMuMzQ1OCwzOTkuMTU0MyBDODQzLjMyMTgsMzk4LjMyNjMgODQzLjk3NTgsMzk3LjYzNjMgODQ0LjgwMzgsMzk3LjYxNDMgQzg0NC44MTc4LDM5Ny42MTMzIDg0NC44MzE4LDM5Ny42MTMzIDg0NC44NDU4LDM5Ny42MTMzIEM4NDUuNjU0OCwzOTcuNjEzMyA4NDYuMzIxOCwzOTguMjU3MyA4NDYuMzQzOCwzOTkuMDcyMyBDODQ2LjM5OTgsNDAxLjA3NTMgODQ2LjQzOTgsNDAzLjA4MjMgODQ2LjQ2NDgsNDA1LjA5MjMgQzg0Ni40NzU4LDQwNS45MjEzIDg0NS44MTI4LDQwNi42MDAzIDg0NC45ODM4LDQwNi42MTEzIEw4NDQuOTY0OCw0MDYuNjExMyBaIE0yNy4wMDQ4LDQxMC4xNTUzIEwyNi45OTc4LDQxMC4xNTUzIEMyNi4xNjk4LDQxMC4xNTEzIDI1LjUwMDgsNDA5LjQ3NzMgMjUuNTA0NzgyMiw0MDguNjQ4MyBDMjUuNTEzOCw0MDYuNjM4MyAyNS41MzY4LDQwNC42MzIzIDI1LjU3MzgsNDAyLjYzMDMgQzI1LjU4OTgsNDAxLjgxMTMgMjYuMjU4OCw0MDEuMTU4MyAyNy4wNzM4LDQwMS4xNTgzIEwyNy4xMDI4LDQwMS4xNTgzIEMyNy45MzA4LDQwMS4xNzMzIDI4LjU4OTgsNDAxLjg1NzMgMjguNTczOCw0MDIuNjg2MyBDMjguNTM2OCw0MDQuNjczMyAyOC41MTM4LDQwNi42NjYzIDI4LjUwNDgsNDA4LjY2MjMgQzI4LjUwMDgsNDA5LjQ4ODMgMjcuODI5OCw0MTAuMTU1MyAyNy4wMDQ4LDQxMC4xNTUzIEwyNy4wMDQ4LDQxMC4xNTUzIFogTTg0NC45NDY4LDQxOC42MDkzIEw4NDQuOTIzOCw0MTguNjA5MyBDODQ0LjA5NTgsNDE4LjU5NjMgODQzLjQzNDgsNDE3LjkxNDMgODQzLjQ0NjgsNDE3LjA4NjMgQzg0My40Nzg4LDQxNS4wOTYzIDg0My40OTU4LDQxMy4xMDMzIDg0My40OTg4LDQxMS4xMDgzIEM4NDMuNDk5OCw0MTAuMjgwMyA4NDQuMTcxOCw0MDkuNjEwMyA4NDQuOTk4OCw0MDkuNjEwMyBMODQ1LjAwMDgsNDA5LjYxMDMgQzg0NS44Mjk4LDQwOS42MTEzIDg0Ni40OTk4LDQxMC4yODQzIDg0Ni40OTg4MDEsNDExLjExMjMgQzg0Ni40OTU4LDQxMy4xMjIzIDg0Ni40Nzg4LDQxNS4xMzAzIDg0Ni40NDY4LDQxNy4xMzIzIEM4NDYuNDM0OCw0MTcuOTUzMyA4NDUuNzY0OCw0MTguNjA5MyA4NDQuOTQ2OCw0MTguNjA5MyBMODQ0Ljk0NjgsNDE4LjYwOTMgWiBNMjcuMTIxOCw0MjIuMTUyMyBDMjYuMzEwOCw0MjIuMTUyMyAyNS42NDM4LDQyMS41MDUzIDI1LjYyMjgsNDIwLjY4OTMgQzI1LjU3MzgsNDE4LjY4NTMgMjUuNTM5OCw0MTYuNjc5MyAyNS41MjA4LDQxNC42NjkzIEMyNS41MTI4LDQxMy44NDAzIDI2LjE3NzgsNDEzLjE2MjMgMjcuMDA1OCw0MTMuMTU0MyBMMjcuMDIwOCw0MTMuMTU0MyBDMjcuODQyOCw0MTMuMTU0MyAyOC41MTI4LDQxMy44MTYzIDI4LjUyMDgsNDE0LjYzOTMgQzI4LjUzOTgsNDE2LjYzNDMgMjguNTczOCw0MTguNjI3MyAyOC42MjI4LDQyMC42MTUzIEMyOC42NDI4LDQyMS40NDQzIDI3Ljk4ODgsNDIyLjEzMTMgMjcuMTU5OCw0MjIuMTUyMyBMMjcuMTIxOCw0MjIuMTUyMyBaIE04NDQuNTg1OCw0MzAuNTkyMyBDODQ0LjU2MzgsNDMwLjU5MjMgODQ0LjU0MDgsNDMwLjU5MjMgODQ0LjUxODgsNDMwLjU5MTMgQzg0My42OTA4LDQzMC41NTQzIDg0My4wNDk4LDQyOS44NTMzIDg0My4wODU4LDQyOS4wMjYzIEM4NDMuMTc0OCw0MjcuMDM4MyA4NDMuMjQ5OCw0MjUuMDQ3MyA4NDMuMzEwOCw0MjMuMDUyMyBDODQzLjMzNDgsNDIyLjIzOTMgODQ0LjAwMDgsNDIxLjU5NzMgODQ0LjgwODgsNDIxLjU5NzMgQzg0NC44MjM4LDQyMS41OTczIDg0NC44Mzk4LDQyMS41OTczIDg0NC44NTQ4LDQyMS41OTgzIEM4NDUuNjgyOCw0MjEuNjIzMyA4NDYuMzMzOCw0MjIuMzE1MyA4NDYuMzA4OCw0MjMuMTQyMyBDODQ2LjI0NzgsNDI1LjE1MjMgODQ2LjE3MjgsNDI3LjE1NzMgODQ2LjA4MzgsNDI5LjE1OTMgQzg0Ni4wNDc4LDQyOS45NjQzIDg0NS4zODM4LDQzMC41OTIzIDg0NC41ODU4LDQzMC41OTIzIEw4NDQuNTg1OCw0MzAuNTkyMyBaIE0yNy41ODc4LDQzNC4xNDEzIEMyNi43OTU4LDQzNC4xNDEzIDI2LjEzMzgsNDMzLjUyMTMgMjYuMDkwOCw0MzIuNzIxMyBDMjUuOTg0OCw0MzAuNzIwMyAyNS44OTE4LDQyOC43MTQzIDI1LjgxMzgsNDI2LjcwNzMgQzI1Ljc4MDgsNDI1Ljg3OTMgMjYuNDI1OCw0MjUuMTgxMyAyNy4yNTM4LDQyNS4xNDkzIEMyOC4wOTM4LDQyNS4xMDIzIDI4Ljc4MDgsNDI1Ljc2MjMgMjguODExOCw0MjYuNTg5MyBDMjguODg5OCw0MjguNTg0MyAyOC45ODA4LDQzMC41NzQzIDI5LjA4NjgsNDMyLjU2MTMgQzI5LjEzMDgsNDMzLjM4ODMgMjguNDk1OCw0MzQuMDk1MyAyNy42Njg4LDQzNC4xMzkzIEMyNy42NDE4LDQzNC4xNDAzIDI3LjYxMzgsNDM0LjE0MTMgMjcuNTg3OCw0MzQuMTQxMyBMMjcuNTg3OCw0MzQuMTQxMyBaIE04NDMuODc2OCw0NDIuNTY5MyBDODQzLjgzODgsNDQyLjU2OTMgODQzLjgwMTgsNDQyLjU2ODMgODQzLjc2NDgsNDQyLjU2NTMgQzg0Mi45Mzg4LDQ0Mi41MDQzIDg0Mi4zMTg4LDQ0MS43ODQzIDg0Mi4zNzg4LDQ0MC45NTkzIEM4NDIuNTI2OCw0MzguOTc0MyA4NDIuNjU3OCw0MzYuOTg3MyA4NDIuNzc2OCw0MzQuOTk0MyBDODQyLjgyMzgsNDM0LjE2NzMgODQzLjUxOTgsNDMzLjUyODMgODQ0LjM2MjgsNDMzLjU4NjMgQzg0NS4xODg4LDQzMy42MzQzIDg0NS44MTk4LDQzNC4zNDQzIDg0NS43NzA4LDQzNS4xNzIzIEM4NDUuNjUyOCw0MzcuMTc4MyA4NDUuNTE4OCw0MzkuMTgxMyA4NDUuMzcwOCw0NDEuMTc5MyBDODQ1LjMxMjgsNDQxLjk2ODMgODQ0LjY1NDgsNDQyLjU2OTMgODQzLjg3NjgsNDQyLjU2OTMgTDg0My44NzY4LDQ0Mi41NjkzIFogTTI4LjQwMDgsNDQ2LjExMTMgQzI3LjYyNzgsNDQ2LjExMTMgMjYuOTcxOCw0NDUuNTE4MyAyNi45MDY4LDQ0NC43MzQzIEMyNi43NDI4LDQ0Mi43MzczIDI2LjU5MTgsNDQwLjczNTMgMjYuNDU1OCw0MzguNzMwMyBDMjYuMzk5OCw0MzcuOTA0MyAyNy4wMjQ4LDQzNy4xODgzIDI3Ljg1MDgsNDM3LjEzMjMgQzI4LjY2OTgsNDM3LjA3NDMgMjkuMzkyOCw0MzcuNzAxMyAyOS40NDg4LDQzOC41MjczIEMyOS41ODM4LDQ0MC41MTgzIDI5LjczMzgsNDQyLjUwNTMgMjkuODk3OCw0NDQuNDg4MyBDMjkuOTY0OCw0NDUuMzEzMyAyOS4zNTE4LDQ0Ni4wMzgzIDI4LjUyNTgsNDQ2LjEwNjMgQzI4LjQ4MzgsNDQ2LjEwOTMgMjguNDQyOCw0NDYuMTExMyAyOC40MDA4LDQ0Ni4xMTEzIEwyOC40MDA4LDQ0Ni4xMTEzIFogTTg0Mi44MTc4LDQ1NC41MjAzIEM4NDIuNzY1OCw0NTQuNTIwMyA4NDIuNzEzOCw0NTQuNTE3MyA4NDIuNjYwOCw0NTQuNTEyMyBDODQxLjgzNjgsNDU0LjQyNzMgODQxLjIzODgsNDUzLjY5MDMgODQxLjMyMjgsNDUyLjg2NjMgQzg0MS41Mjc4LDQ1MC44ODczIDg0MS43MTg4LDQ0OC45MDQzIDg0MS44OTM4LDQ0Ni45MTczIEM4NDEuOTY1OCw0NDYuMDkyMyA4NDIuNjg4OCw0NDUuNDgzMyA4NDMuNTE5OCw0NDUuNTU0MyBDODQ0LjM0NDgsNDQ1LjYyNzMgODQ0Ljk1NDgsNDQ2LjM1NTMgODQ0Ljg4MTgsNDQ3LjE4MDMgQzg0NC43MDQ4LDQ0OS4xODMzIDg0NC41MTM4LDQ1MS4xODAzIDg0NC4zMDc4LDQ1My4xNzQzIEM4NDQuMjI3OCw0NTMuOTQ2MyA4NDMuNTc1OCw0NTQuNTIwMyA4NDIuODE3OCw0NTQuNTIwMyBMODQyLjgxNzgsNDU0LjUyMDMgWiBNMjkuNTYyOCw0NTguMDUyMyBDMjguODA4OCw0NTguMDUyMyAyOC4xNTk4LDQ1Ny40ODYzIDI4LjA3MzgsNDU2LjcxOTMgQzI3Ljg1MDgsNDU0LjcyODMgMjcuNjQxOCw0NTIuNzMxMyAyNy40NDY4LDQ1MC43MzEzIEMyNy4zNjU4LDQ0OS45MDczIDI3Ljk2OTgsNDQ5LjE3MzMgMjguNzkzOCw0NDkuMDkyMyBDMjkuNjEzOCw0NDkuMDA2MyAzMC4zNTE4LDQ0OS42MTUzIDMwLjQzMjgsNDUwLjQ0MDMgQzMwLjYyNTgsNDUyLjQyNjMgMzAuODMyOCw0NTQuNDA4MyAzMS4wNTQ4LDQ1Ni4zODUzIEMzMS4xNDc4LDQ1Ny4yMDkzIDMwLjU1NDgsNDU3Ljk1MTMgMjkuNzMxOCw0NTguMDQzMyBDMjkuNjc0OCw0NTguMDQ5MyAyOS42MTc4LDQ1OC4wNTIzIDI5LjU2MjgsNDU4LjA1MjMgTDI5LjU2MjgsNDU4LjA1MjMgWiBNODQxLjQxMDgsNDY2LjQzNTMgQzg0MS4zNDQ4LDQ2Ni40MzUzIDg0MS4yNzg4LDQ2Ni40MzEzIDg0MS4yMTA4LDQ2Ni40MjMzIEM4NDAuMzg5OCw0NjYuMzEzMyA4MzkuODEyOCw0NjUuNTU4MyA4MzkuOTIxOCw0NjQuNzM3MyBDODQwLjE4NTgsNDYyLjc2NTMgODQwLjQzMzgsNDYwLjc4ODMgODQwLjY2NzgsNDU4LjgwNjMgQzg0MC43NjQ4LDQ1Ny45ODQzIDg0MS41MDI4LDQ1Ny4zODAzIDg0Mi4zMzM4LDQ1Ny40OTQzIEM4NDMuMTU1OCw0NTcuNTkwMyA4NDMuNzQzOCw0NTguMzM3MyA4NDMuNjQ2OCw0NTkuMTU5MyBDODQzLjQwOTgsNDYxLjE1NTMgODQzLjE2MDgsNDYzLjE0NjMgODQyLjg5NjgsNDY1LjEzMzMgQzg0Mi43OTU4LDQ2NS44ODczIDg0Mi4xNTE4LDQ2Ni40MzUzIDg0MS40MTA4LDQ2Ni40MzUzIEw4NDEuNDEwOCw0NjYuNDM1MyBaIE0zMS4wNzE4LDQ2OS45NTUzIEMzMC4zMzY4LDQ2OS45NTUzIDI5LjY5NTgsNDY5LjQxNDMgMjkuNTg4OCw0NjguNjY2MyBDMjkuMzA3OCw0NjYuNjgwMyAyOS4wMzk4LDQ2NC42OTIzIDI4Ljc4NjgsNDYyLjY5ODMgQzI4LjY4MjgsNDYxLjg3NzMgMjkuMjY0OCw0NjEuMTI2MyAzMC4wODY4LDQ2MS4wMjEzIEMzMC45MDI4LDQ2MC45MjYzIDMxLjY1ODgsNDYxLjQ5OTMgMzEuNzYzOCw0NjIuMzIxMyBDMzIuMDE0OCw0NjQuMjk5MyAzMi4yODA4LDQ2Ni4yNzQzIDMyLjU1OTgsNDY4LjI0NDMgQzMyLjY3NTgsNDY5LjA2NDMgMzIuMTA0OCw0NjkuODI0MyAzMS4yODQ4LDQ2OS45NDAzIEMzMS4yMTM4LDQ2OS45NTAzIDMxLjE0MjgsNDY5Ljk1NTMgMzEuMDcxOCw0NjkuOTU1MyBMMzEuMDcxOCw0NjkuOTU1MyBaIE04MzkuNjU0OCw0NzguMzAzMyBDODM5LjU3NDgsNDc4LjMwMzMgODM5LjQ5MzgsNDc4LjI5ODMgODM5LjQxMTgsNDc4LjI4NDMgQzgzOC41OTQ4LDQ3OC4xNTEzIDgzOC4wMzk4LDQ3Ny4zODAzIDgzOC4xNzI4LDQ3Ni41NjIzIEM4MzguNDkyOCw0NzQuNTk3MyA4MzguNzk5OCw0NzIuNjMwMyA4MzkuMDkwOCw0NzAuNjU1MyBDODM5LjIxMTgsNDY5LjgzNTMgODM5Ljk4MDgsNDY5LjI3MzMgODQwLjc5NDgsNDY5LjM5MDMgQzg0MS42MTM4LDQ2OS41MTIzIDg0Mi4xODA4LDQ3MC4yNzQzIDg0Mi4wNTg4LDQ3MS4wOTQzIEM4NDEuNzY0OCw0NzMuMDgzMyA4NDEuNDU1OCw0NzUuMDY2MyA4NDEuMTMzOCw0NzcuMDQ1MyBDODQxLjAxMzgsNDc3Ljc4MTMgODQwLjM3NjgsNDc4LjMwMzMgODM5LjY1NDgsNDc4LjMwMzMgTDgzOS42NTQ4LDQ3OC4zMDMzIFogTTMyLjkzMjgsNDgxLjgwODMgQzMyLjIxNTgsNDgxLjgwODMgMzEuNTgxOCw0ODEuMjkzMyAzMS40NTU4LDQ4MC41NjMzIEMzMS4xMTU4LDQ3OC41ODczIDMwLjc5MDgsNDc2LjYwNjMgMzAuNDc5OCw0NzQuNjIxMyBDMzAuMzUwOCw0NzMuODAyMyAzMC45MDk4LDQ3My4wMzUzIDMxLjcyODgsNDcyLjkwNzMgQzMyLjU0MzgsNDcyLjc3MjMgMzMuMzE0OCw0NzMuMzM4MyAzMy40NDI4LDQ3NC4xNTYzIEMzMy43NTE4LDQ3Ni4xMjYzIDM0LjA3NDgsNDc4LjA5MjMgMzQuNDEyOCw0ODAuMDUzMyBDMzQuNTUzOCw0ODAuODcwMyAzNC4wMDU4LDQ4MS42NDYzIDMzLjE4OTgsNDgxLjc4NzMgQzMzLjEwMzgsNDgxLjgwMTMgMzMuMDE3OCw0ODEuODA4MyAzMi45MzI4LDQ4MS44MDgzIEwzMi45MzI4LDQ4MS44MDgzIFogTTgzNy41NDk4LDQ5MC4xMTYzIEM4MzcuNDU0OCw0OTAuMTE2MyA4MzcuMzU5OCw0OTAuMTA3MyA4MzcuMjYzOCw0OTAuMDg5MyBDODM2LjQ0OTgsNDg5LjkzMTMgODM1LjkxNzgsNDg5LjE0NDMgODM2LjA3NDgsNDg4LjMzMjMgQzgzNi40NTE4LDQ4Ni4zNzgzIDgzNi44MTY4LDQ4NC40MTkzIDgzNy4xNjY4LDQ4Mi40NTQzIEM4MzcuMzEzOCw0ODEuNjM3MyA4MzguMDg4OCw0ODEuMTAzMyA4MzguOTA2OCw0ODEuMjQxMyBDODM5LjcyMjgsNDgxLjM4NjMgODQwLjI2NTgsNDgyLjE2NjMgODQwLjExOTgsNDgyLjk4MTMgQzgzOS43Njc4LDQ4NC45NjAzIDgzOS40MDA4LDQ4Ni45MzIzIDgzOS4wMjA4LDQ4OC45MDAzIEM4MzguODgxOCw0ODkuNjE4MyA4MzguMjUzOCw0OTAuMTE2MyA4MzcuNTQ5OCw0OTAuMTE2MyBMODM3LjU0OTgsNDkwLjExNjMgWiBNMzUuMTM4OCw0OTMuNjAwMyBDMzQuNDM5OCw0OTMuNjAwMyAzMy44MTQ4LDQ5My4xMDkzIDMzLjY2OTgsNDkyLjM5NzMgQzMzLjI3MzgsNDkwLjQzMjMgMzIuODg5OCw0ODguNDYzMyAzMi41MTk4LDQ4Ni40ODczIEMzMi4zNjY4LDQ4NS42NzMzIDMyLjkwNDgsNDg0Ljg4OTMgMzMuNzE4OCw0ODQuNzM3MyBDMzQuNTMwOCw0ODQuNTg0MyAzNS4zMTY4LDQ4NS4xMjEzIDM1LjQ2ODgsNDg1LjkzNjMgQzM1LjgzNDgsNDg3Ljg5NjMgMzYuMjE2OCw0ODkuODUyMyAzNi42MTE4LDQ5MS44MDMzIEMzNi43NzU4LDQ5Mi42MTUzIDM2LjI0OTgsNDkzLjQwNzMgMzUuNDM3OCw0OTMuNTcxMyBDMzUuMzM3OCw0OTMuNTkwMyAzNS4yMzc4LDQ5My42MDAzIDM1LjEzODgsNDkzLjYwMDMgTDM1LjEzODgsNDkzLjYwMDMgWiBNODM1LjA5NzgsNTAxLjg2MDMgQzgzNC45ODg4LDUwMS44NjAzIDgzNC44Nzg4LDUwMS44NDgzIDgzNC43Njg4LDUwMS44MjQzIEM4MzMuOTYwOCw1MDEuNjQyMyA4MzMuNDUxOCw1MDAuODQwMyA4MzMuNjMyOCw1MDAuMDMyMyBDODM0LjA2NzgsNDk4LjA5MDMgODM0LjQ4ODgsNDk2LjE0MzMgODM0Ljg5NjgsNDk0LjE5MDMgQzgzNS4wNjY4LDQ5My4zODAzIDgzNS44NTQ4LDQ5Mi44NTczIDgzNi42NzE4LDQ5My4wMjgzIEM4MzcuNDgyOCw0OTMuMTk4MyA4MzguMDAyOCw0OTMuOTkyMyA4MzcuODMzOCw0OTQuODAzMyBDODM3LjQyMjgsNDk2Ljc3MDMgODM2Ljk5NzgsNDk4LjczMTMgODM2LjU2MDgsNTAwLjY4ODMgQzgzNi40MDQ4LDUwMS4zODUzIDgzNS43ODQ4LDUwMS44NjAzIDgzNS4wOTc4LDUwMS44NjAzIEw4MzUuMDk3OCw1MDEuODYwMyBaIE0zNy42OTQ4LDUwNS4zMjQzIEMzNy4wMTI4LDUwNS4zMjQzIDM2LjM5NjgsNTA0Ljg1NzMgMzYuMjM0OCw1MDQuMTY1MyBDMzUuNzc4OCw1MDIuMjEzMyAzNS4zMzY4LDUwMC4yNTQzIDM0LjkwODgsNDk4LjI5MTMgQzM0LjczMzgsNDk3LjQ4MTMgMzUuMjQ1OCw0OTYuNjgyMyAzNi4wNTU4LDQ5Ni41MDYzIEMzNi44NjQ4LDQ5Ni4zMjYzIDM3LjY2MzgsNDk2Ljg0MjMgMzcuODQwOCw0OTcuNjUyMyBDMzguMjY0OCw0OTkuNjAxMyAzOC43MDM4LDUwMS41NDUzIDM5LjE1NTgsNTAzLjQ4MzMgQzM5LjM0NDgsNTA0LjI5MDMgMzguODQyOCw1MDUuMDk2MyAzOC4wMzU4LDUwNS4yODUzIEMzNy45MjE4LDUwNS4zMTEzIDM3LjgwNjgsNTA1LjMyNDMgMzcuNjk0OCw1MDUuMzI0MyBMMzcuNjk0OCw1MDUuMzI0MyBaIE04MzIuMzAwOCw1MTMuNTI3MyBDODMyLjE3NzgsNTEzLjUyNzMgODMyLjA1MjgsNTEzLjUxMjMgODMxLjkyODgsNTEzLjQ4MDMgQzgzMS4xMjU4LDUxMy4yNzUzIDgzMC42NDE4LDUxMi40NTkzIDgzMC44NDY4LDUxMS42NTYzIEM4MzEuMzM4OCw1MDkuNzI3MyA4MzEuODE3OCw1MDcuNzkzMyA4MzIuMjgzOCw1MDUuODUzMyBDODMyLjQ3NzgsNTA1LjA0ODMgODMzLjI4MzgsNTA0LjU1MzMgODM0LjA5MjgsNTA0Ljc0NjMgQzgzNC44OTg4LDUwNC45MzkzIDgzNS4zOTQ4LDUwNS43NDkzIDgzNS4xOTk4LDUwNi41NTQzIEM4MzQuNzMxOCw1MDguNTA3MyA4MzQuMjQ4OCw1MTAuNDU2MyA4MzMuNzUyOCw1MTIuMzk4MyBDODMzLjU3OTgsNTEzLjA3NjMgODMyLjk2OTgsNTEzLjUyNzMgODMyLjMwMDgsNTEzLjUyNzMgTDgzMi4zMDA4LDUxMy41MjczIFogTTQwLjU5MzgsNTE2Ljk2NTMgQzM5LjkyOTgsNTE2Ljk2NTMgMzkuMzIyOCw1MTYuNTIyMyAzOS4xNDQ4LDUxNS44NDkzIEMzOC42MzA4LDUxMy45MTEzIDM4LjEzMDgsNTExLjk2NjMgMzcuNjQ1OCw1MTAuMDE3MyBDMzcuNDQ2OCw1MDkuMjE0MyAzNy45MzU4LDUwOC4zOTkzIDM4LjczODgsNTA4LjE5OTMgQzM5LjU0MzgsNTA4LjAwMDMgNDAuMzU3OCw1MDguNDg4MyA0MC41NTc4LDUwOS4yOTMzIEM0MS4wMzg4LDUxMS4yMjgzIDQxLjUzNDgsNTEzLjE1NzMgNDIuMDQ0OCw1MTUuMDgyMyBDNDIuMjU2OCw1MTUuODgyMyA0MS43Nzk4LDUxNi43MDQzIDQwLjk3ODgsNTE2LjkxNjMgQzQwLjg1MDgsNTE2Ljk1MDMgNDAuNzIwOCw1MTYuOTY1MyA0MC41OTM4LDUxNi45NjUzIEw0MC41OTM4LDUxNi45NjUzIFogTTQzLjgzNDgsNTI4LjUxNzMgQzQzLjE4ODgsNTI4LjUxNzMgNDIuNTkwOCw1MjguMDk1MyA0Mi4zOTc4LDUyNy40NDMzIEM0MS44Mjc4LDUyNS41MjAzIDQxLjI3MTgsNTIzLjU5MjMgNDAuNzI4OCw1MjEuNjU5MyBDNDAuNTA0OCw1MjAuODYxMyA0MC45Njk4LDUyMC4wMzMzIDQxLjc2NzgsNTE5LjgwOTMgQzQyLjU2NDgsNTE5LjU4ODMgNDMuMzkyOCw1MjAuMDUwMyA0My42MTY4LDUyMC44NDgzIEM0NC4xNTU4LDUyMi43NjgzIDQ0LjcwODgsNTI0LjY4MjMgNDUuMjc0OCw1MjYuNTkxMyBDNDUuNTA5OCw1MjcuMzg1MyA0NS4wNTY4LDUyOC4yMjAzIDQ0LjI2MTgsNTI4LjQ1NjMgQzQ0LjExOTgsNTI4LjQ5ODMgNDMuOTc2OCw1MjguNTE3MyA0My44MzQ4LDUyOC41MTczIEw0My44MzQ4LDUyOC41MTczIFogTTQ3LjQyNTgsNTM5Ljk5MjMgQzQ2Ljc5NTgsNTM5Ljk5MjMgNDYuMjA4OCw1MzkuNTkyMyA0Ni4wMDA4LDUzOC45NjIzIEM0NS4zNzA4LDUzNy4wNDgzIDQ0Ljc1NDgsNTM1LjEzMDMgNDQuMTUzOCw1MzMuMjA0MyBDNDMuOTA1OCw1MzIuNDE0MyA0NC4zNDY4LDUzMS41NzIzIDQ1LjEzNzgsNTMxLjMyNTMgQzQ1LjkyNDgsNTMxLjA3NzMgNDYuNzY5OCw1MzEuNTE4MyA0Ny4wMTY4LDUzMi4zMDkzIEM0Ny42MTM4LDUzNC4yMTkzIDQ4LjIyNDgsNTM2LjEyNTMgNDguODUwOCw1MzguMDIyMyBDNDkuMTA5OCw1MzguODA5MyA0OC42ODE4LDUzOS42NTczIDQ3Ljg5NTgsNTM5LjkxNzMgQzQ3LjczODgsNTM5Ljk2NzMgNDcuNTgwOCw1MzkuOTkyMyA0Ny40MjU4LDUzOS45OTIzIEw0Ny40MjU4LDUzOS45OTIzIFogTTc4Ni4xMDI4LDYyMy41NjEzIEM3ODUuODM2OCw2MjMuNTYxMyA3ODUuNTY5OCw2MjMuNDkxMyA3ODUuMzI1OCw2MjMuMzQ0MyBDNzg0LjYxNzgsNjIyLjkxNTMgNzg0LjM5MTgsNjIxLjk5MzMgNzg0LjgyMDgsNjIxLjI4NDMgQzc4NS44NDk4LDYxOS41ODUzIDc4Ni44NjY4LDYxNy44NzczIDc4Ny44NzE4LDYxNi4xNjEzIEM3ODguMjkxOCw2MTUuNDQ4MyA3ODkuMjEwOCw2MTUuMjA5MyA3ODkuOTIzOCw2MTUuNjI2MyBDNzkwLjYzODgsNjE2LjA0NTMgNzkwLjg3ODgsNjE2Ljk2NDMgNzkwLjQ1OTgsNjE3LjY3NzMgQzc4OS40NDY4LDYxOS40MDYzIDc4OC40MjM4LDYyMS4xMjYzIDc4Ny4zODY4LDYyMi44MzkzIEM3ODcuMTA0OCw2MjMuMzAzMyA3ODYuNjA5OCw2MjMuNTYxMyA3ODYuMTAyOCw2MjMuNTYxMyBMNzg2LjEwMjgsNjIzLjU2MTMgWiBNOTQuNDg5OCw2MzcuMTQwMyBDOTQuMDAzOCw2MzcuMTQwMyA5My41MjY4LDYzNi45MDQzIDkzLjIzNzgsNjM2LjQ2NjMgQzkyLjEyOTgsNjM0Ljc5MDMgOTEuMDMzOCw2MzMuMTA1MyA4OS45NTA4LDYzMS40MTIzIEM4OS41MDQ4LDYzMC43MTQzIDg5LjcwODgsNjI5Ljc4NjMgOTAuNDA1OCw2MjkuMzM5MyBDOTEuMTA0OCw2MjguODk0MyA5Mi4wMzA4LDYyOS4wOTYzIDkyLjQ3ODgsNjI5Ljc5NjMgQzkzLjU1MzgsNjMxLjQ3NjMgOTQuNjQxOCw2MzMuMTQ5MyA5NS43NDA4LDYzNC44MTQzIEM5Ni4xOTY4LDYzNS41MDUzIDk2LjAwNjgsNjM2LjQzNTMgOTUuMzE2OCw2MzYuODkyMyBDOTUuMDYxOCw2MzcuMDYwMyA5NC43NzQ4LDYzNy4xNDAzIDk0LjQ4OTgsNjM3LjE0MDMgTDk0LjQ4OTgsNjM3LjE0MDMgWiBNNzczLjEwNDgsNjQzLjY3MjMgQzc3Mi44MTA4LDY0My42NzIzIDc3Mi41MTQ4LDY0My41ODYzIDc3Mi4yNTQ4LDY0My40MDczIEM3NzEuNTcxOCw2NDIuOTM3MyA3NzEuNDAwOCw2NDIuMDA0MyA3NzEuODY5OCw2NDEuMzIxMyBDNzcyLjk5NzgsNjM5LjY4MzMgNzc0LjExMzgsNjM4LjAzNzMgNzc1LjIxNzgsNjM2LjM4MjMgQzc3NS42Nzc4LDYzNS42OTMzIDc3Ni42MTA4LDYzNS41MDkzIDc3Ny4yOTg4LDYzNS45NjYzIEM3NzcuOTg3OCw2MzYuNDI2MyA3NzguMTczOCw2MzcuMzU4MyA3NzcuNzEzOCw2MzguMDQ4MyBDNzc2LjYwMDgsNjM5LjcxNDMgNzc1LjQ3NjgsNjQxLjM3MzMgNzc0LjM0MDgsNjQzLjAyMjMgQzc3NC4wNDk4LDY0My40NDUzIDc3My41ODA4LDY0My42NzIzIDc3My4xMDQ4LDY0My42NzIzIEw3NzMuMTA0OCw2NDMuNjcyMyBaIE0xMDEuMjU2OCw2NDcuMDY0MyBDMTAwLjc4NDgsNjQ3LjA2NDMgMTAwLjMyMTgsNjQ2Ljg0MjMgMTAwLjAyOTgsNjQ2LjQyNzMgQzk4Ljg3MTgsNjQ0Ljc4NDMgOTcuNzI4OCw2NDMuMTMyMyA5Ni41OTY4LDY0MS40NzEzIEM5Ni4xMjk4LDY0MC43ODczIDk2LjMwNjgsNjM5Ljg1NDMgOTYuOTkwOCw2MzkuMzg3MyBDOTcuNjczOCw2MzguOTIxMyA5OC42MDk4LDYzOS4wOTgzIDk5LjA3NDgsNjM5Ljc4MjMgQzEwMC4xOTg4LDY0MS40MjkzIDEwMS4zMzQ4LDY0My4wNjkzIDEwMi40ODI4LDY0NC43MDEzIEMxMDIuOTU4OCw2NDUuMzc5MyAxMDIuNzk2OCw2NDYuMzE0MyAxMDIuMTE4OCw2NDYuNzkxMyBDMTAxLjg1NjgsNjQ2Ljk3NTMgMTAxLjU1NTgsNjQ3LjA2NDMgMTAxLjI1NjgsNjQ3LjA2NDMgTDEwMS4yNTY4LDY0Ny4wNjQzIFogTTc2Ni4xNjY4LDY1My40MzgzIEM3NjUuODU5OCw2NTMuNDM4MyA3NjUuNTQ4OCw2NTMuMzQ0MyA3NjUuMjgwOCw2NTMuMTQ4MyBDNzY0LjYxMzgsNjUyLjY1OTMgNzY0LjQ2ODgsNjUxLjcyMDMgNzY0Ljk1NzgsNjUxLjA1MTMgQzc2Ni4xMzM4LDY0OS40NDczIDc2Ny4yOTY4LDY0Ny44MzQzIDc2OC40NDk4LDY0Ni4yMTIzIEM3NjguOTMwOCw2NDUuNTM3MyA3NjkuODY2OCw2NDUuMzc5MyA3NzAuNTQxOCw2NDUuODU4MyBDNzcxLjIxNjgsNjQ2LjMzOTMgNzcxLjM3NDgsNjQ3LjI3NDMgNzcwLjg5NTgsNjQ3Ljk1MDMgQzc2OS43MzQ4LDY0OS41ODQzIDc2OC41NjE4LDY1MS4yMDkzIDc2Ny4zNzc4LDY1Mi44MjUzIEM3NjcuMDgzOCw2NTMuMjI1MyA3NjYuNjI4OCw2NTMuNDM4MyA3NjYuMTY2OCw2NTMuNDM4MyBMNzY2LjE2NjgsNjUzLjQzODMgWiBNMTA4LjMxMDgsNjU2Ljc4NTMgQzEwNy44NTQ4LDY1Ni43ODUzIDEwNy40MDM4LDY1Ni41NzczIDEwNy4xMDg4LDY1Ni4xODMzIEMxMDUuOTA1OCw2NTQuNTc1MyAxMDQuNzEyOCw2NTIuOTU4MyAxMDMuNTMyOCw2NTEuMzMyMyBDMTAzLjA0NjgsNjUwLjY2MjMgMTAzLjE5NTgsNjQ5LjcyMzMgMTAzLjg2NTgsNjQ5LjIzNzMgQzEwNC41MzU4LDY0OC43NTEzIDEwNS40NzU4LDY0OC45MDAzIDEwNS45NjA4LDY0OS41NzAzIEMxMDcuMTMyOCw2NTEuMTg0MyAxMDguMzE1OCw2NTIuNzkwMyAxMDkuNTEwOCw2NTQuMzg2MyBDMTEwLjAwNjgsNjU1LjA0OTMgMTA5Ljg3MDgsNjU1Ljk5MDMgMTA5LjIwNzgsNjU2LjQ4NjMgQzEwOC45Mzg4LDY1Ni42ODczIDEwOC42MjI4LDY1Ni43ODUzIDEwOC4zMTA4LDY1Ni43ODUzIEwxMDguMzEwOCw2NTYuNzg1MyBaIE03NTguOTQ3OCw2NjIuOTk5MyBDNzU4LjYyNTgsNjYyLjk5OTMgNzU4LjMwMTgsNjYyLjg5NTMgNzU4LjAyODgsNjYyLjY4MjMgQzc1Ny4zNzM4LDY2Mi4xNzMzIDc1Ny4yNTY4LDY2MS4yMzEzIDc1Ny43NjU4LDY2MC41NzgzIEM3NTguOTg3OCw2NTkuMDA2MyA3NjAuMTk3OCw2NTcuNDI3MyA3NjEuMzk4OCw2NTUuODM5MyBDNzYxLjg5NjgsNjU1LjE3NzMgNzYyLjgzODgsNjU1LjA0ODMgNzYzLjQ5ODgsNjU1LjU0NzMgQzc2NC4xNTk4LDY1Ni4wNDczIDc2NC4yOTA4LDY1Ni45ODczIDc2My43OTE4LDY1Ny42NDgzIEM3NjIuNTgyOCw2NTkuMjQ4MyA3NjEuMzYzOCw2NjAuODM5MyA3NjAuMTMyOCw2NjIuNDIwMyBDNzU5LjgzNjgsNjYyLjc5OTMgNzU5LjM5NTgsNjYyLjk5OTMgNzU4Ljk0NzgsNjYyLjk5OTMgTDc1OC45NDc4LDY2Mi45OTkzIFogTTExNS42NDI4LDY2Ni4yOTMzIEMxMTUuMjAwOCw2NjYuMjkzMyAxMTQuNzYzOCw2NjYuMDk4MyAxMTQuNDY2OCw2NjUuNzI1MyBDMTEzLjIxNzgsNjY0LjE1MzMgMTExLjk3OTgsNjYyLjU3MjMgMTEwLjc1MjgsNjYwLjk4MTMgQzExMC4yNDY4LDY2MC4zMjUzIDExMC4zNjc4LDY1OS4zODMzIDExMS4wMjQ4LDY1OC44NzgzIEMxMTEuNjc4OCw2NTguMzcxMyAxMTIuNjIyOCw2NTguNDkzMyAxMTMuMTI3OCw2NTkuMTQ5MyBDMTE0LjM0NjgsNjYwLjcyODMgMTE1LjU3NDgsNjYyLjI5ODMgMTE2LjgxNjgsNjYzLjg2MDMgQzExNy4zMzA4LDY2NC41MDgzIDExNy4yMjM4LDY2NS40NTIzIDExNi41NzM4LDY2NS45NjczIEMxMTYuMjk4OCw2NjYuMTg2MyAxMTUuOTY5OCw2NjYuMjkzMyAxMTUuNjQyOCw2NjYuMjkzMyBMMTE1LjY0MjgsNjY2LjI5MzMgWiBNNzUxLjQ0ODgsNjcyLjM0ODMgQzc1MS4xMTM4LDY3Mi4zNDgzIDc1MC43NzQ4LDY3Mi4yMzYzIDc1MC40OTQ4LDY3Mi4wMDUzIEM3NDkuODU2OCw2NzEuNDc3MyA3NDkuNzY2OCw2NzAuNTMyMyA3NTAuMjkzOCw2NjkuODkzMyBDNzUxLjU2MTgsNjY4LjM1ODMgNzUyLjgxNzgsNjY2LjgxNTMgNzU0LjA2MzgsNjY1LjI2MjMgQzc1NC41Nzk4LDY2NC42MTczIDc1NS41MjU4LDY2NC41MTAzIDc1Ni4xNzE4LDY2NS4wMzEzIEM3NTYuODE4OCw2NjUuNTQ5MyA3NTYuOTIxOCw2NjYuNDkzMyA3NTYuNDAzOCw2NjcuMTM5MyBDNzU1LjE0OTgsNjY4LjcwNDMgNzUzLjg4MzgsNjcwLjI1ODMgNzUyLjYwNjgsNjcxLjgwMzMgQzc1Mi4zMDk4LDY3Mi4xNjMzIDc1MS44ODA4LDY3Mi4zNDgzIDc1MS40NDg4LDY3Mi4zNDgzIEw3NTEuNDQ4OCw2NzIuMzQ4MyBaIE0xMjMuMjQ4OCw2NzUuNTgwMyBDMTIyLjgyMTgsNjc1LjU4MDMgMTIyLjM5NzgsNjc1LjM5ODMgMTIyLjEwMTgsNjc1LjA0NzMgQzEyMC44MDY4LDY3My41MTAzIDExOS41MjI4LDY3MS45NjczIDExOC4yNTA4LDY3MC40MTQzIEMxMTcuNzI1OCw2NjkuNzczMyAxMTcuODIwOCw2NjguODI4MyAxMTguNDYwOCw2NjguMzAzMyBDMTE5LjEwMTgsNjY3Ljc3ODMgMTIwLjA0NzgsNjY3Ljg3MzMgMTIwLjU3MTgsNjY4LjUxMzMgQzEyMS44MzQ4LDY3MC4wNTUzIDEyMy4xMDk4LDY3MS41ODkzIDEyNC4zOTQ4LDY3My4xMTMzIEMxMjQuOTI4OCw2NzMuNzQ3MyAxMjQuODQ4OCw2NzQuNjkzMyAxMjQuMjE0OCw2NzUuMjI2MyBDMTIzLjkzMzgsNjc1LjQ2NDMgMTIzLjU4OTgsNjc1LjU4MDMgMTIzLjI0ODgsNjc1LjU4MDMgTDEyMy4yNDg4LDY3NS41ODAzIFogTTc0My42Nzk4LDY4MS40NzczIEM3NDMuMzI4OCw2ODEuNDc3MyA3NDIuOTc2OCw2ODEuMzU1MyA3NDIuNjkyOCw2ODEuMTA1MyBDNzQyLjA2OTgsNjgwLjU1OTMgNzQyLjAwNjgsNjc5LjYxMTMgNzQyLjU1MjgsNjc4Ljk4OTMgQzc0My44NjQ4LDY3Ny40OTEzIDc0NS4xNjU4LDY3NS45ODUzIDc0Ni40NTY4LDY3NC40NjczIEM3NDYuOTk0OCw2NzMuODM5MyA3NDcuOTQyOCw2NzMuNzYxMyA3NDguNTcxOCw2NzQuMjk4MyBDNzQ5LjIwMjgsNjc0LjgzNTMgNzQ5LjI3OTgsNjc1Ljc4MjMgNzQ4Ljc0MTgsNjc2LjQxMzMgQzc0Ny40NDE4LDY3Ny45NDAzIDc0Ni4xMzA4LDY3OS40NTgzIDc0NC44MDg4LDY4MC45NjYzIEM3NDQuNTExOCw2ODEuMzA0MyA3NDQuMDk3OCw2ODEuNDc3MyA3NDMuNjc5OCw2ODEuNDc3MyBMNzQzLjY3OTgsNjgxLjQ3NzMgWiBNMTMxLjEyMDgsNjg0LjYzOTMgQzEzMC43MDg4LDY4NC42MzkzIDEzMC4yOTc4LDY4NC40NzAzIDEzMC4wMDE4LDY4NC4xMzkzIEMxMjguNjYzOCw2ODIuNjQyMyAxMjcuMzM1OCw2ODEuMTM3MyAxMjYuMDE5OCw2NzkuNjIzMyBDMTI1LjQ3NTgsNjc4Ljk5NzMgMTI1LjU0MTgsNjc4LjA0OTMgMTI2LjE2NjgsNjc3LjUwNjMgQzEyNi43OTE4LDY3Ni45NjIzIDEyNy43Mzg4LDY3Ny4wMzAzIDEyOC4yODI4LDY3Ny42NTQzIEMxMjkuNTkxOCw2NzkuMTU5MyAxMzAuOTA5OCw2ODAuNjU0MyAxMzIuMjM4OCw2ODIuMTM5MyBDMTMyLjc4OTgsNjgyLjc1NzMgMTMyLjczNzgsNjgzLjcwNjMgMTMyLjExOTgsNjg0LjI1NzMgQzEzMS44MzM4LDY4NC41MTMzIDEzMS40NzY4LDY4NC42MzkzIDEzMS4xMjA4LDY4NC42MzkzIEwxMzEuMTIwOCw2ODQuNjM5MyBaIE03MzUuNjQ2OCw2OTAuMzc4MyBDNzM1LjI3OTgsNjkwLjM3ODMgNzM0LjkxMzgsNjkwLjI0NTMgNzM0LjYyNDgsNjg5Ljk3NjMgQzczNC4wMTg4LDY4OS40MTMzIDczMy45ODM4LDY4OC40NjQzIDczNC41NDc4LDY4Ny44NTYzIEM3MzUuOTAzOCw2ODYuMzk4MyA3MzcuMjQ3OCw2ODQuOTI5MyA3MzguNTgyOCw2ODMuNDUxMyBDNzM5LjEzNzgsNjgyLjgzNTMgNzQwLjA4NDgsNjgyLjc4ODMgNzQwLjcwMDgsNjgzLjM0MjMgQzc0MS4zMTY4LDY4My44OTczIDc0MS4zNjQ4LDY4NC44NDUzIDc0MC44MDk4LDY4NS40NjEzIEM3MzkuNDY0OCw2ODYuOTUxMyA3MzguMTEwOCw2ODguNDI5MyA3MzYuNzQ0OCw2ODkuODk5MyBDNzM2LjQ0OTgsNjkwLjIxNjMgNzM2LjA0ODgsNjkwLjM3ODMgNzM1LjY0NjgsNjkwLjM3ODMgTDczNS42NDY4LDY5MC4zNzgzIFogTTEzOS4yNTA4LDY5My40NjMzIEMxMzguODU0OCw2OTMuNDYzMyAxMzguNDU3OCw2OTMuMzA2MyAxMzguMTYyOCw2OTIuOTk1MyBDMTM2Ljc4MTgsNjkxLjU0MDMgMTM1LjQxMDgsNjkwLjA3MzMgMTM0LjA0OTgsNjg4LjU5NzMgQzEzMy40ODg4LDY4Ny45ODgzIDEzMy41Mjc4LDY4Ny4wMzkzIDEzNC4xMzY4LDY4Ni40NzgzIEMxMzQuNzQ0OCw2ODUuOTE1MyAxMzUuNjk2OCw2ODUuOTU1MyAxMzYuMjU1OCw2ODYuNTY0MyBDMTM3LjYwNjgsNjg4LjAzMDMgMTM4Ljk2NzgsNjg5LjQ4NTMgMTQwLjMzODgsNjkwLjkzMDMgQzE0MC45MDg4LDY5MS41MzEzIDE0MC44ODQ4LDY5Mi40ODAzIDE0MC4yODI4LDY5My4wNTAzIEMxMzkuOTkyOCw2OTMuMzI2MyAxMzkuNjIxOCw2OTMuNDYzMyAxMzkuMjUwOCw2OTMuNDYzMyBMMTM5LjI1MDgsNjkzLjQ2MzMgWiBNNzI3LjM1MzgsNjk5LjA0NDMgQzcyNi45NzM4LDY5OS4wNDQzIDcyNi41OTI4LDY5OC45MDAzIDcyNi4zMDA4LDY5OC42MTIzIEM3MjUuNzEwOCw2OTguMDMxMyA3MjUuNzAzOCw2OTcuMDgxMyA3MjYuMjg0OCw2OTYuNDkxMyBDNzI3LjY4MzgsNjk1LjA3MjMgNzI5LjA3MTgsNjkzLjY0MjMgNzMwLjQ0NjgsNjkyLjIwNTMgQzczMS4wMjA4LDY5MS42MDUzIDczMS45NzE4LDY5MS41ODUzIDczMi41Njg4LDY5Mi4xNTgzIEM3MzMuMTY2OCw2OTIuNzMxMyA3MzMuMTg3OCw2OTMuNjgwMyA3MzIuNjEzOCw2OTQuMjc5MyBDNzMxLjIyNzgsNjk1LjcyODMgNzI5LjgyOTgsNjk3LjE2ODMgNzI4LjQyMTgsNjk4LjU5NjMgQzcyOC4xMjc4LDY5OC44OTQzIDcyNy43NDA4LDY5OS4wNDQzIDcyNy4zNTM4LDY5OS4wNDQzIEw3MjcuMzUzOCw2OTkuMDQ0MyBaIE0xNDcuNjMzOCw3MDIuMDQ1MyBDMTQ3LjI1MDgsNzAyLjA0NTMgMTQ2Ljg2ODgsNzAxLjg5OTMgMTQ2LjU3NTgsNzAxLjYwODMgQzE0NS4xNTM4LDcwMC4xOTMzIDE0My43Mzk4LDY5OC43NjgzIDE0Mi4zMzc4LDY5Ny4zMzIzIEMxNDEuNzU4OCw2OTYuNzM5MyAxNDEuNzcwOCw2OTUuNzkwMyAxNDIuMzYzOCw2OTUuMjExMyBDMTQyLjk1NDgsNjk0LjYzMjMgMTQzLjkwNTgsNjk0LjY0MzMgMTQ0LjQ4NDgsNjk1LjIzNjMgQzE0NS44NzY4LDY5Ni42NjEzIDE0Ny4yNzg4LDY5OC4wNzYzIDE0OC42OTE4LDY5OS40ODEzIEMxNDkuMjc5OCw3MDAuMDY1MyAxNDkuMjgwOCw3MDEuMDE1MyAxNDguNjk2OCw3MDEuNjAyMyBDMTQ4LjQwNDgsNzAxLjg5NzMgMTQ4LjAxODgsNzAyLjA0NTMgMTQ3LjYzMzgsNzAyLjA0NTMgTDE0Ny42MzM4LDcwMi4wNDUzIFogTTcxOC44MTA4LDcwNy40NjQzIEM3MTguNDE1OCw3MDcuNDY0MyA3MTguMDIxOCw3MDcuMzA5MyA3MTcuNzI3OCw3MDcuMDAyMyBDNzE3LjE1NDgsNzA2LjQwMzMgNzE3LjE3NDgsNzA1LjQ1NDMgNzE3Ljc3MzgsNzA0Ljg4MTMgQzcxOS4yMTE4LDcwMy41MDQzIDcyMC42NDE4LDcwMi4xMTUzIDcyMi4wNjA4LDcwMC43MTYzIEM3MjIuNjUwOCw3MDAuMTM1MyA3MjMuNTk5OCw3MDAuMTQzMyA3MjQuMTgxOCw3MDAuNzMyMyBDNzI0Ljc2MjgsNzAxLjMyMjMgNzI0Ljc1NTgsNzAyLjI3MjMgNzI0LjE2NTgsNzAyLjg1MzMgQzcyMi43Mzc4LDcwNC4yNjEzIDcyMS4yOTc4LDcwNS42NjAzIDcxOS44NDc4LDcwNy4wNDgzIEM3MTkuNTU3OCw3MDcuMzI2MyA3MTkuMTgzOCw3MDcuNDY0MyA3MTguODEwOCw3MDcuNDY0MyBMNzE4LjgxMDgsNzA3LjQ2NDMgWiBNMTU2LjI2MDgsNzEwLjM3NTMgQzE1NS44OTI4LDcxMC4zNzUzIDE1NS41MjQ4LDcxMC4yNDAzIDE1NS4yMzQ4LDcwOS45NjgzIEMxNTMuNzcxOCw3MDguNTk2MyAxNTIuMzE3OCw3MDcuMjE0MyAxNTAuODc0OCw3MDUuODIwMyBDMTUwLjI3OTgsNzA1LjI0NDMgMTUwLjI2MjgsNzA0LjI5NTMgMTUwLjgzNzgsNzAzLjY5OTMgQzE1MS40MTQ4LDcwMy4xMDMzIDE1Mi4zNjM4LDcwMy4wODczIDE1Mi45NTg4LDcwMy42NjIzIEMxNTQuMzkxOCw3MDUuMDQ2MyAxNTUuODMzOCw3MDYuNDE5MyAxNTcuMjg2OCw3MDcuNzgxMyBDMTU3Ljg5MDgsNzA4LjM0NzMgMTU3LjkyMTgsNzA5LjI5NzMgMTU3LjM1NDgsNzA5LjkwMTMgQzE1Ny4wNTk4LDcxMC4yMTUzIDE1Ni42NTk4LDcxMC4zNzUzIDE1Ni4yNjA4LDcxMC4zNzUzIEwxNTYuMjYwOCw3MTAuMzc1MyBaIE03MTAuMDI1OCw3MTUuNjM0MyBDNzA5LjYxNTgsNzE1LjYzNDMgNzA5LjIwNzgsNzE1LjQ2NzMgNzA4LjkxMTgsNzE1LjE0MDMgQzcwOC4zNTc4LDcxNC41MjUzIDcwOC40MDQ4LDcxMy41NzczIDcwOS4wMTk4LDcxMy4wMjEzIEM3MTAuNDk4OCw3MTEuNjg1MyA3MTEuOTY4OCw3MTAuMzM5MyA3MTMuNDI3OCw3MDguOTgyMyBDNzE0LjAzMzgsNzA4LjQxODMgNzE0Ljk4MzgsNzA4LjQ1MjMgNzE1LjU0NzgsNzA5LjA1OTMgQzcxNi4xMTI4LDcwOS42NjczIDcxNi4wNzY4LDcxMC42MTYzIDcxNS40NzA4LDcxMS4xNzkzIEM3MTMuOTk5OCw3MTIuNTQ2MyA3MTIuNTIwOCw3MTMuOTAyMyA3MTEuMDMwOCw3MTUuMjQ4MyBDNzEwLjc0MzgsNzE1LjUwNjMgNzEwLjM4MzgsNzE1LjYzNDMgNzEwLjAyNTgsNzE1LjYzNDMgTDcxMC4wMjU4LDcxNS42MzQzIFogTTE2NS4xMjM4LDcxOC40NTAzIEMxNjQuNzcxOCw3MTguNDUwMyAxNjQuNDE1OCw3MTguMzI2MyAxNjQuMTMwOCw3MTguMDczMyBDMTYyLjYyOTgsNzE2Ljc0NDMgMTYxLjEzNjgsNzE1LjQwNDMgMTU5LjY1NDgsNzE0LjA1NDMgQzE1OS4wNDE4LDcxMy40OTYzIDE1OC45OTY4LDcxMi41NDgzIDE1OS41NTQ4LDcxMS45MzUzIEMxNjAuMTEzOCw3MTEuMzIyMyAxNjEuMDY0OCw3MTEuMjgwMyAxNjEuNjczOCw3MTEuODM2MyBDMTYzLjE0NjgsNzEzLjE3NjMgMTY0LjYyNzgsNzE0LjUwNzMgMTY2LjExODgsNzE1LjgyNzMgQzE2Ni43Mzg4LDcxNi4zNzYzIDE2Ni43OTY4LDcxNy4zMjQzIDE2Ni4yNDc4LDcxNy45NDQzIEMxNjUuOTUxOCw3MTguMjc5MyAxNjUuNTM4OCw3MTguNDUwMyAxNjUuMTIzOCw3MTguNDUwMyBMMTY1LjEyMzgsNzE4LjQ1MDMgWiBNNzAxLjAwMTgsNzIzLjU0ODMgQzcwMC41NzY4LDcyMy41NDgzIDcwMC4xNTQ4LDcyMy4zNjkzIDY5OS44NTg4LDcyMy4wMjAzIEM2OTkuMzIxOCw3MjIuMzg5MyA2OTkuMzk3OCw3MjEuNDQyMyA3MDAuMDI4OCw3MjAuOTA1MyBDNzAxLjU0NTgsNzE5LjYxMzMgNzAzLjA1MzgsNzE4LjMxMTMgNzA0LjU1MTgsNzE2Ljk5NzMgQzcwNS4xNzM4LDcxNi40NTAzIDcwNi4xMjM4LDcxNi41MTIzIDcwNi42Njc4LDcxNy4xMzQzIEM3MDcuMjE0OCw3MTcuNzU2MyA3MDcuMTUzOCw3MTguNzA1MyA3MDYuNTI5OCw3MTkuMjUxMyBDNzA1LjAyMTgsNzIwLjU3NTMgNzAzLjUwMjgsNzIxLjg4ODMgNzAxLjk3MzgsNzIzLjE5MDMgQzcwMS42OTE4LDcyMy40MzAzIDcwMS4zNDU4LDcyMy41NDgzIDcwMS4wMDE4LDcyMy41NDgzIEw3MDEuMDAxOCw3MjMuNTQ4MyBaIE0xNzQuMjE5OCw3MjYuMjYxMyBDMTczLjg4MDgsNzI2LjI2MTMgMTczLjU0MDgsNzI2LjE0NzMgMTczLjI2MDgsNzI1LjkxNDMgQzE3MS43MTk4LDcyNC42MzAzIDE3MC4xODg4LDcyMy4zMzQzIDE2OC42NjY4LDcyMi4wMjczIEMxNjguMDM4OCw3MjEuNDg3MyAxNjcuOTY2OCw3MjAuNTQxMyAxNjguNTA2OCw3MTkuOTEyMyBDMTY5LjA0NTgsNzE5LjI4NTMgMTY5Ljk5MTgsNzE5LjIxMTMgMTcwLjYyMTgsNzE5Ljc1MjMgQzE3Mi4xMzE4LDcyMS4wNDgzIDE3My42NTE4LDcyMi4zMzUzIDE3NS4xODA4LDcyMy42MDkzIEMxNzUuODE3OCw3MjQuMTM5MyAxNzUuOTAzOCw3MjUuMDg2MyAxNzUuMzcyOCw3MjUuNzIxMyBDMTc1LjA3NTgsNzI2LjA3ODMgMTc0LjY0OTgsNzI2LjI2MTMgMTc0LjIxOTgsNzI2LjI2MTMgTDE3NC4yMTk4LDcyNi4yNjEzIFogTTY5MS43NDk4LDczMS4xOTUzIEM2OTEuMzEwOCw3MzEuMTk1MyA2OTAuODc0OCw3MzEuMDAzMyA2OTAuNTc4OCw3MzAuNjMzMyBDNjkwLjA2MDgsNzI5Ljk4NzMgNjkwLjE2MzgsNzI5LjA0NDMgNjkwLjgxMDgsNzI4LjUyNTMgQzY5Mi4zNjQ4LDcyNy4yNzgzIDY5My45MTA4LDcyNi4wMTgzIDY5NS40NDY4LDcyNC43NDkzIEM2OTYuMDg3OCw3MjQuMjE5MyA2OTcuMDMwOCw3MjQuMzExMyA2OTcuNTU5OCw3MjQuOTQ5MyBDNjk4LjA4NjgsNzI1LjU4ODMgNjk3Ljk5NjgsNzI2LjUzNDMgNjk3LjM1OTgsNzI3LjA2MTMgQzY5NS44MTE4LDcyOC4zNDAzIDY5NC4yNTM4LDcyOS42MDgzIDY5Mi42ODc4LDczMC44NjUzIEM2OTIuNDEwOCw3MzEuMDg4MyA2OTIuMDc4OCw3MzEuMTk1MyA2OTEuNzQ5OCw3MzEuMTk1MyBMNjkxLjc0OTgsNzMxLjE5NTMgWiBNMTgzLjUzNDgsNzMzLjgwMjMgQzE4My4yMTA4LDczMy44MDIzIDE4Mi44ODM4LDczMy42OTgzIDE4Mi42MDk4LDczMy40ODIzIEMxODEuMDMxOCw3MzIuMjQzMyAxNzkuNDY0OCw3MzAuOTk0MyAxNzcuOTA2OCw3MjkuNzMyMyBDMTc3LjI2MjgsNzI5LjIxMTMgMTc3LjE2MjgsNzI4LjI2NjMgMTc3LjY4NDgsNzI3LjYyMzMgQzE3OC4yMDQ4LDcyNi45NzgzIDE3OS4xNDk4LDcyNi44NzkzIDE3OS43OTM4LDcyNy40MDAzIEMxODEuMzQxOCw3MjguNjUyMyAxODIuODk3OCw3MjkuODkzMyAxODQuNDYyOCw3MzEuMTIzMyBDMTg1LjExMzgsNzMxLjYzNDMgMTg1LjIyNzgsNzMyLjU3ODMgMTg0LjcxNTgsNzMzLjIyOTMgQzE4NC40MTk4LDczMy42MDYzIDE4My45Nzk4LDczMy44MDIzIDE4My41MzQ4LDczMy44MDIzIEwxODMuNTM0OCw3MzMuODAyMyBaIE02ODIuMjc2OCw3MzguNTcxMyBDNjgxLjgyMTgsNzM4LjU3MTMgNjgxLjM3MjgsNzM4LjM2NTMgNjgxLjA3NzgsNzM3Ljk3NDMgQzY4MC41Nzg4LDczNy4zMTMzIDY4MC43MTA4LDczNi4zNzMzIDY4MS4zNzE4LDczNS44NzQzIEM2ODIuOTYzOCw3MzQuNjczMyA2ODQuNTQ0OCw3MzMuNDU5MyA2ODYuMTE3OCw3MzIuMjM0MyBDNjg2Ljc3MjgsNzMxLjcyNzMgNjg3LjcxMzgsNzMxLjg0MTMgNjg4LjIyMzgsNzMyLjQ5NjMgQzY4OC43MzI4LDczMy4xNTAzIDY4OC42MTQ4LDczNC4wOTIzIDY4Ny45NjE4LDczNC42MDEzIEM2ODYuMzc2OCw3MzUuODM2MyA2ODQuNzgyOCw3MzcuMDU3MyA2ODMuMTc4OCw3MzguMjY4MyBDNjgyLjkwNzgsNzM4LjQ3MjMgNjgyLjU5MDgsNzM4LjU3MTMgNjgyLjI3NjgsNzM4LjU3MTMgTDY4Mi4yNzY4LDczOC41NzEzIFogTTE5My4wNjQ4LDc0MS4wNjYzIEMxOTIuNzUzOCw3NDEuMDY2MyAxOTIuNDQyOCw3NDAuOTcwMyAxOTIuMTczOCw3NDAuNzcyMyBDMTkwLjU2MTgsNzM5LjU4MTMgMTg4Ljk1ODgsNzM4LjM3NzMgMTg3LjM2NDgsNzM3LjE2MzMgQzE4Ni43MDU4LDczNi42NjEzIDE4Ni41Nzg4LDczNS43MTkzIDE4Ny4wODA4LDczNS4wNjAzIEMxODcuNTgyOCw3MzQuNDAwMyAxODguNTI1OCw3MzQuMjczMyAxODkuMTgzOCw3MzQuNzc2MyBDMTkwLjc2NTgsNzM1Ljk4MjMgMTkyLjM1NjgsNzM3LjE3NjMgMTkzLjk1NjgsNzM4LjM2MDMgQzE5NC42MjI4LDczOC44NTIzIDE5NC43NjM4LDczOS43OTIzIDE5NC4yNzE4LDc0MC40NTgzIEMxOTMuOTc3OCw3NDAuODU2MyAxOTMuNTIzOCw3NDEuMDY2MyAxOTMuMDY0OCw3NDEuMDY2MyBMMTkzLjA2NDgsNzQxLjA2NjMgWiBNNjcyLjU4NzgsNzQ1LjY2ODMgQzY3Mi4xMTg4LDc0NS42NjgzIDY3MS42NTU4LDc0NS40NDgzIDY3MS4zNjM4LDc0NS4wMzczIEM2NzAuODg0OCw3NDQuMzYxMyA2NzEuMDQyOCw3NDMuNDI0MyA2NzEuNzE4OCw3NDIuOTQ1MyBDNjczLjM0MzgsNzQxLjc5MDMgNjc0Ljk2MDgsNzQwLjYyNDMgNjc2LjU3MDgsNzM5LjQ0NDMgQzY3Ny4yMzk4LDczOC45NTYzIDY3OC4xNzc4LDczOS4wOTkzIDY3OC42NjY4LDczOS43NjczIEM2NzkuMTU1OCw3NDAuNDM1MyA2NzkuMDExOCw3NDEuMzc1MyA2NzguMzQzOCw3NDEuODY0MyBDNjc2LjcyMjgsNzQzLjA1MTMgNjc1LjA5MzgsNzQ0LjIyNzMgNjczLjQ1NTgsNzQ1LjM5MDMgQzY3My4xOTI4LDc0NS41NzgzIDY3Mi44ODg4LDc0NS42NjgzIDY3Mi41ODc4LDc0NS42NjgzIEw2NzIuNTg3OCw3NDUuNjY4MyBaIE0yMDIuNzk3OCw3NDguMDQ3MyBDMjAyLjUwMTgsNzQ4LjA0NzMgMjAyLjIwMzgsNzQ3Ljk2MDMgMjAxLjk0MjgsNzQ3Ljc3ODMgQzIwMC4yOTY4LDc0Ni42MzQzIDE5OC42NTk4LDc0NS40NzkzIDE5Ny4wMzE4LDc0NC4zMTEzIEMxOTYuMzU5OCw3NDMuODI5MyAxOTYuMjAzOCw3NDIuODkxMyAxOTYuNjg3OCw3NDIuMjE4MyBDMTk3LjE3MDgsNzQxLjU0NzMgMTk4LjEwNzgsNzQxLjM4OTMgMTk4Ljc4MDgsNzQxLjg3NDMgQzIwMC4zOTY4LDc0My4wMzIzIDIwMi4wMjE4LDc0NC4xNzkzIDIwMy42NTU4LDc0NS4zMTUzIEMyMDQuMzM0OCw3NDUuNzg4MyAyMDQuNTAyOCw3NDYuNzIyMyAyMDQuMDMwOCw3NDcuNDAzMyBDMjAzLjczODgsNzQ3LjgyMjMgMjAzLjI3MjgsNzQ4LjA0NzMgMjAyLjc5NzgsNzQ4LjA0NzMgTDIwMi43OTc4LDc0OC4wNDczIFogTTY2Mi42OTU4LDc1Mi40NzkzIEM2NjIuMjEwOCw3NTIuNDc5MyA2NjEuNzM1OCw3NTIuMjQ1MyA2NjEuNDQ2OCw3NTEuODExMyBDNjYwLjk4NjgsNzUxLjEyMzMgNjYxLjE3MjgsNzUwLjE5MTMgNjYxLjg2MjgsNzQ5LjczMTMgQzY2My41MjE4LDc0OC42MjQzIDY2NS4xNzI4LDc0Ny41MDYzIDY2Ni44MTY4LDc0Ni4zNzQzIEM2NjcuNDk3OCw3NDUuOTA3MyA2NjguNDMxOCw3NDYuMDc1MyA2NjguOTAyOCw3NDYuNzU4MyBDNjY5LjM3MTgsNzQ3LjQ0MTMgNjY5LjE5OTgsNzQ4LjM3NTMgNjY4LjUxNzgsNzQ4Ljg0NDMgQzY2Ni44NjI4LDc0OS45ODQzIDY2NS4xOTg4LDc1MS4xMTIzIDY2My41MjY4LDc1Mi4yMjczIEM2NjMuMjcwOCw3NTIuMzk4MyA2NjIuOTgxOCw3NTIuNDc5MyA2NjIuNjk1OCw3NTIuNDc5MyBMNjYyLjY5NTgsNzUyLjQ3OTMgWiBNMjEyLjcyODgsNzU0Ljc0MDMgQzIxMi40NDY4LDc1NC43NDAzIDIxMi4xNjI4LDc1NC42NjEzIDIxMS45MDk4LDc1NC40OTYzIEMyMTAuMjMxOCw3NTMuNDAxMyAyMDguNTYyOCw3NTIuMjk0MyAyMDYuOTAxOCw3NTEuMTc0MyBDMjA2LjIxNDgsNzUwLjcxMTMgMjA2LjAzMjgsNzQ5Ljc3OTMgMjA2LjQ5NTgsNzQ5LjA5MTMgQzIwNi45NjA4LDc0OC40MDQzIDIwNy44OTE4LDc0OC4yMjYzIDIwOC41Nzg4LDc0OC42ODYzIEMyMTAuMjI2OCw3NDkuNzk4MyAyMTEuODgzOCw3NTAuODk3MyAyMTMuNTQ4OCw3NTEuOTg0MyBDMjE0LjI0MjgsNzUyLjQzNjMgMjE0LjQzODgsNzUzLjM2NjMgMjEzLjk4NTgsNzU0LjA1OTMgQzIxMy42OTc4LDc1NC41MDEzIDIxMy4yMTc4LDc1NC43NDAzIDIxMi43Mjg4LDc1NC43NDAzIEwyMTIuNzI4OCw3NTQuNzQwMyBaIE02NTIuNjAyOCw3NTkuMDAxMyBDNjUyLjEwMzgsNzU5LjAwMTMgNjUxLjYxMzgsNzU4Ljc1MjMgNjUxLjMyOTgsNzU4LjI5NzMgQzY1MC44OTA4LDc1Ny41OTMzIDY1MS4xMDM4LDc1Ni42NjkzIDY1MS44MDU4LDc1Ni4yMjkzIEM2NTMuNDk3OCw3NTUuMTcxMyA2NTUuMTgyOCw3NTQuMTAwMyA2NTYuODU3OCw3NTMuMDE3MyBDNjU3LjU1MjgsNzUyLjU2ODMgNjU4LjQ4MTgsNzUyLjc2NjMgNjU4LjkzMTgsNzUzLjQ2MzMgQzY1OS4zODA4LDc1NC4xNTkzIDY1OS4xODE4LDc1NS4wODgzIDY1OC40ODY4LDc1NS41MzczIEM2NTYuNzk3OCw3NTYuNjI4MyA2NTUuMTAxOCw3NTcuNzA2MyA2NTMuMzk3OCw3NTguNzcyMyBDNjUzLjE0OTgsNzU4LjkyNzMgNjUyLjg3NDgsNzU5LjAwMTMgNjUyLjYwMjgsNzU5LjAwMTMgTDY1Mi42MDI4LDc1OS4wMDEzIFogTTIyMi44NTE4LDc2MS4xMzczIEMyMjIuNTgzOCw3NjEuMTM3MyAyMjIuMzE0OCw3NjEuMDY2MyAyMjIuMDY5OCw3NjAuOTE3MyBDMjIwLjM2MDgsNzU5Ljg3MTMgMjE4LjY1OTgsNzU4LjgxNDMgMjE2Ljk2NzgsNzU3Ljc0NTMgQzIxNi4yNjY4LDc1Ny4zMDEzIDIxNi4wNTc4LDc1Ni4zNzYzIDIxNi40OTk4LDc1NS42NzUzIEMyMTYuOTQ0OCw3NTQuOTczMyAyMTcuODcwOCw3NTQuNzY4MyAyMTguNTY5OCw3NTUuMjA4MyBDMjIwLjI0OTgsNzU2LjI2OTMgMjIxLjkzODgsNzU3LjMyMDMgMjIzLjYzNTgsNzU4LjM1ODMgQzIyNC4zNDE4LDc1OC43OTEzIDIyNC41NjQ4LDc1OS43MTQzIDIyNC4xMzE4LDc2MC40MjEzIEMyMjMuODQ5OCw3NjAuODgyMyAyMjMuMzU2OCw3NjEuMTM3MyAyMjIuODUxOCw3NjEuMTM3MyBMMjIyLjg1MTgsNzYxLjEzNzMgWiBNNjQyLjMyMTgsNzY1LjIyMzMgQzY0MS44MDc4LDc2NS4yMjMzIDY0MS4zMDU4LDc2NC45NTgzIDY0MS4wMjY4LDc2NC40ODEzIEM2NDAuNjA4OCw3NjMuNzY2MyA2NDAuODQ4OCw3NjIuODQ3MyA2NDEuNTYzOCw3NjIuNDI5MyBDNjQzLjI4NTgsNzYxLjQyMDMgNjQ1LjAwMTgsNzYwLjM5OTMgNjQ2LjcwNzgsNzU5LjM2NjMgQzY0Ny40MTY4LDc1OC45MzkzIDY0OC4zMzk4LDc1OS4xNjQzIDY0OC43Njg4LDc1OS44NzIzIEM2NDkuMTk2OCw3NjAuNTgxMyA2NDguOTcwOCw3NjEuNTA0MyA2NDguMjYyOCw3NjEuOTMyMyBDNjQ2LjU0MjgsNzYyLjk3MzMgNjQ0LjgxNTgsNzY0LjAwMjMgNjQzLjA3ODgsNzY1LjAxNzMgQzY0Mi44NDA4LDc2NS4xNTczIDY0Mi41Nzk4LDc2NS4yMjMzIDY0Mi4zMjE4LDc2NS4yMjMzIEw2NDIuMzIxOCw3NjUuMjIzMyBaIE0yMzMuMTUwOCw3NjcuMjMzMyBDMjMyLjg5NzgsNzY3LjIzMzMgMjMyLjY0MTgsNzY3LjE3MDMgMjMyLjQwNTgsNzY3LjAzNTMgQzIzMC42Njc4LDc2Ni4wNDAzIDIyOC45Mzc4LDc2NS4wMzMzIDIyNy4yMTU4LDc2NC4wMTMzIEMyMjYuNTAyOCw3NjMuNTkxMyAyMjYuMjY2OCw3NjIuNjcyMyAyMjYuNjg4OCw3NjEuOTU5MyBDMjI3LjExMTgsNzYxLjI0NjMgMjI4LjAzMTgsNzYxLjAxMTMgMjI4Ljc0MjgsNzYxLjQzMTMgQzIzMC40NTI4LDc2Mi40NDMzIDIzMi4xNjk4LDc2My40NDQzIDIzMy44OTY4LDc2NC40MzEzIEMyMzQuNjE0OCw3NjQuODQyMyAyMzQuODYzOCw3NjUuNzU4MyAyMzQuNDUyOCw3NjYuNDc4MyBDMjM0LjE3NjgsNzY2Ljk2MjMgMjMzLjY3MDgsNzY3LjIzMzMgMjMzLjE1MDgsNzY3LjIzMzMgTDIzMy4xNTA4LDc2Ny4yMzMzIFogTTYzMS44NTg4LDc3MS4xNDMzIEM2MzEuMzI3OCw3NzEuMTQzMyA2MzAuODEzOCw3NzAuODYxMyA2MzAuNTQwOCw3NzAuMzYyMyBDNjMwLjE0MzgsNzY5LjYzNTMgNjMwLjQxMDgsNzY4LjcyNDMgNjMxLjEzNzgsNzY4LjMyNzMgQzYzMi44OTA4LDc2Ny4zNzAzIDYzNC42MzQ4LDc2Ni4zOTkzIDYzNi4zNzE4LDc2NS40MTYzIEM2MzcuMDkxOCw3NjUuMDA5MyA2MzguMDA3OCw3NjUuMjYwMyA2MzguNDE2OCw3NjUuOTgyMyBDNjM4LjgyNDgsNzY2LjcwNDMgNjM4LjU3MTgsNzY3LjYxOTMgNjM3Ljg1MDgsNzY4LjAyNzMgQzYzNi4wOTk4LDc2OS4wMTgzIDYzNC4zNDE4LDc2OS45OTUzIDYzMi41NzU4LDc3MC45NjAzIEM2MzIuMzQ4OCw3NzEuMDg1MyA2MzIuMTAxOCw3NzEuMTQzMyA2MzEuODU4OCw3NzEuMTQzMyBMNjMxLjg1ODgsNzcxLjE0MzMgWiBNMjQzLjYyMDgsNzczLjAyMjMgQzI0My4zODI4LDc3My4wMjIzIDI0My4xNDA4LDc3Mi45NjUzIDI0Mi45MTU4LDc3Mi44NDUzIEMyNDEuMTQ4OCw3NzEuOTAzMyAyMzkuMzg5OCw3NzAuOTQ3MyAyMzcuNjM5OCw3NjkuOTc4MyBDMjM2LjkxMzgsNzY5LjU3NzMgMjM2LjY1MTgsNzY4LjY2NTMgMjM3LjA1MjgsNzY3LjkzOTMgQzIzNy40NTM4LDc2Ny4yMTQzIDIzOC4zNjg4LDc2Ni45NTQzIDIzOS4wOTA4LDc2Ny4zNTMzIEMyNDAuODI4OCw3NjguMzE0MyAyNDIuNTczOCw3NjkuMjYzMyAyNDQuMzI3OCw3NzAuMTk5MyBDMjQ1LjA1ODgsNzcwLjU4OTMgMjQ1LjMzNDgsNzcxLjQ5ODMgMjQ0Ljk0NTgsNzcyLjIyODMgQzI0NC42NzU4LDc3Mi43MzQzIDI0NC4xNTY4LDc3My4wMjIzIDI0My42MjA4LDc3My4wMjIzIEwyNDMuNjIwOCw3NzMuMDIyMyBaIE02MjEuMjIzOCw3NzYuNzUzMyBDNjIwLjY3NzgsNzc2Ljc1MzMgNjIwLjE1MDgsNzc2LjQ1MzMgNjE5Ljg4NTgsNzc1LjkzMzMgQzYxOS41MDk4LDc3NS4xOTQzIDYxOS44MDM4LDc3NC4yOTIzIDYyMC41NDI4LDc3My45MTYzIEM2MjIuMzIyOCw3NzMuMDA5MyA2MjQuMDk1OCw3NzIuMDkxMyA2MjUuODYyOCw3NzEuMTYwMyBDNjI2LjU5MjgsNzcwLjc3NjMgNjI3LjUwMDgsNzcxLjA1MzMgNjI3Ljg4ODgsNzcxLjc4ODMgQzYyOC4yNzQ4LDc3Mi41MjAzIDYyNy45OTM4LDc3My40MjczIDYyNy4yNjA4LDc3My44MTQzIEM2MjUuNDgyOCw3NzQuNzUyMyA2MjMuNjk2OCw3NzUuNjc3MyA2MjEuOTAzOCw3NzYuNTg5MyBDNjIxLjY4NDgsNzc2LjcwMTMgNjIxLjQ1MjgsNzc2Ljc1MzMgNjIxLjIyMzgsNzc2Ljc1MzMgTDYyMS4yMjM4LDc3Ni43NTMzIFogTTI1NC4yNTM4LDc3OC41MDIzIEMyNTQuMDI5OCw3NzguNTAyMyAyNTMuODAxOCw3NzguNDUyMyAyNTMuNTg3OCw3NzguMzQ1MyBDMjUxLjc5NDgsNzc3LjQ1NTMgMjUwLjAwOTgsNzc2LjU1MTMgMjQ4LjIzMTgsNzc1LjYzNDMgQzI0Ny40OTQ4LDc3NS4yNTYzIDI0Ny4yMDU4LDc3NC4zNTAzIDI0Ny41ODU4LDc3My42MTQzIEMyNDcuOTY1OCw3NzIuODc4MyAyNDguODcyOCw3NzIuNTg5MyAyNDkuNjA2OCw3NzIuOTY4MyBDMjUxLjM3MDgsNzczLjg3ODMgMjUzLjE0MjgsNzc0Ljc3NTMgMjU0LjkyMTgsNzc1LjY1ODMgQzI1NS42NjM4LDc3Ni4wMjYzIDI1NS45NjY4LDc3Ni45MjYzIDI1NS41OTg4LDc3Ny42NjkzIEMyNTUuMzM2OCw3NzguMTk2MyAyNTQuODA1OCw3NzguNTAyMyAyNTQuMjUzOCw3NzguNTAyMyBMMjU0LjI1MzgsNzc4LjUwMjMgWiBNNjEwLjQyNDgsNzgyLjA0ODMgQzYwOS44NjI4LDc4Mi4wNDgzIDYwOS4zMjI4LDc4MS43MzEzIDYwOS4wNjc4LDc4MS4xODkzIEM2MDguNzEzOCw3ODAuNDQwMyA2MDkuMDMzOCw3NzkuNTQ2MyA2MDkuNzgyOCw3NzkuMTkyMyBDNjExLjU4OTgsNzc4LjMzOTMgNjEzLjM4OTgsNzc3LjQ3MzMgNjE1LjE4MzgsNzc2LjU5MzMgQzYxNS45MjQ4LDc3Ni4yMjczIDYxNi44MjQ4LDc3Ni41MzczIDYxNy4xOTA4LDc3Ny4yODAzIEM2MTcuNTU1OCw3NzguMDIzMyA2MTcuMjQ3OCw3NzguOTIyMyA2MTYuNTAzOCw3NzkuMjg3MyBDNjE0LjY5NzgsNzgwLjE3MzMgNjEyLjg4NDgsNzgxLjA0NjMgNjExLjA2NDgsNzgxLjkwNTMgQzYxMC44NTc4LDc4Mi4wMDMzIDYxMC42Mzk4LDc4Mi4wNDgzIDYxMC40MjQ4LDc4Mi4wNDgzIEw2MTAuNDI0OCw3ODIuMDQ4MyBaIE0yNjUuMDM4OCw3ODMuNjY1MyBDMjY0LjgyODgsNzgzLjY2NTMgMjY0LjYxNTgsNzgzLjYyMTMgMjY0LjQxMTgsNzgzLjUyNzMgQzI2Mi41OTQ4LDc4Mi42OTAzIDI2MC43ODQ4LDc4MS44MzkzIDI1OC45ODE4LDc4MC45NzUzIEMyNTguMjM0OCw3ODAuNjE4MyAyNTcuOTE3OCw3NzkuNzIyMyAyNTguMjc2OCw3NzguOTc1MyBDMjU4LjYzMzgsNzc4LjIyODMgMjU5LjUzMDgsNzc3LjkxMjMgMjYwLjI3NjgsNzc4LjI3MDMgQzI2Mi4wNjY4LDc3OS4xMjczIDI2My44NjM4LDc3OS45NzEzIDI2NS42Njc4LDc4MC44MDIzIEMyNjYuNDE5OCw3ODEuMTQ5MyAyNjYuNzQ4OCw3ODIuMDQwMyAyNjYuNDAyOCw3ODIuNzkzMyBDMjY2LjE0OTgsNzgzLjM0MTMgMjY1LjYwNjgsNzgzLjY2NTMgMjY1LjAzODgsNzgzLjY2NTMgTDI2NS4wMzg4LDc4My42NjUzIFogTTU5OS40Njk4LDc4Ny4wMjUzIEM1OTguODkxOCw3ODcuMDI1MyA1OTguMzM5OCw3ODYuNjg5MyA1OTguMDkzOCw3ODYuMTI2MyBDNTk3Ljc2MjgsNzg1LjM2NjMgNTk4LjEwOTgsNzg0LjQ4MjMgNTk4Ljg2NzgsNzg0LjE1MDMgQzYwMC43MDA4LDc4My4zNTAzIDYwMi41MjY4LDc4Mi41MzgzIDYwNC4zNDQ4LDc4MS43MTMzIEM2MDUuMDk5OCw3ODEuMzY4MyA2MDUuOTg4OCw3ODEuNzAzMyA2MDYuMzI5OCw3ODIuNDU4MyBDNjA2LjY3MjgsNzgzLjIxMjMgNjA2LjMzOTgsNzg0LjEwMTMgNjA1LjU4NDgsNzg0LjQ0MzMgQzYwMy43NTI4LDc4NS4yNzYzIDYwMS45MTM4LDc4Ni4wOTQzIDYwMC4wNjg4LDc4Ni45MDAzIEM1OTkuODcyOCw3ODYuOTg1MyA1OTkuNjY5OCw3ODcuMDI1MyA1OTkuNDY5OCw3ODcuMDI1MyBMNTk5LjQ2OTgsNzg3LjAyNTMgWiBNMjc1Ljk2NTgsNzg4LjUwNjMgQzI3NS43NzA4LDc4OC41MDYzIDI3NS41NzE4LDc4OC40NjczIDI3NS4zNzk4LDc4OC4zODYzIEMyNzMuNTM5OCw3ODcuNjAzMyAyNzEuNzA1OCw3ODYuODA2MyAyNjkuODc4OCw3ODUuOTk3MyBDMjY5LjEyMDgsNzg1LjY2MjMgMjY4Ljc3OTgsNzg0Ljc3NTMgMjY5LjExNDgsNzg0LjAxODMgQzI2OS40NDk4LDc4My4yNTgzIDI3MC4zMzY4LDc4Mi45MTYzIDI3MS4wOTM4LDc4My4yNTUzIEMyNzIuOTA2OCw3ODQuMDU4MyAyNzQuNzI3OCw3ODQuODQ4MyAyNzYuNTUzOCw3ODUuNjI1MyBDMjc3LjMxNjgsNzg1Ljk0OTMgMjc3LjY3MTgsNzg2LjgzMDMgMjc3LjM0NzgsNzg3LjU5MjMgQzI3Ny4xMDQ4LDc4OC4xNjQzIDI3Ni41NDk4LDc4OC41MDYzIDI3NS45NjU4LDc4OC41MDYzIEwyNzUuOTY1OCw3ODguNTA2MyBaIE01ODguMzY5OCw3OTEuNjc1MyBDNTg3Ljc3NTgsNzkxLjY3NTMgNTg3LjIxMjgsNzkxLjMyMDMgNTg2Ljk3NzgsNzkwLjczNTMgQzU4Ni42Njc4LDc4OS45NjUzIDU4Ny4wNDA4LDc4OS4wOTIzIDU4Ny44MTA4LDc4OC43ODQzIEM1ODkuNjY0OCw3ODguMDM5MyA1OTEuNTE0OCw3ODcuMjc5MyA1OTMuMzU2OCw3ODYuNTA3MyBDNTk0LjEyMDgsNzg2LjE4NDMgNTk0Ljk5OTgsNzg2LjU0ODMgNTk1LjMxOTgsNzg3LjMxMDMgQzU5NS42NDA4LDc4OC4wNzQzIDU5NS4yNzk4LDc4OC45NTMzIDU5NC41MTY4LDc4OS4yNzMzIEM1OTIuNjYwOCw3OTAuMDUxMyA1OTAuNzk3OCw3OTAuODE2MyA1ODguOTI4OCw3OTEuNTY3MyBDNTg4Ljc0NDgsNzkxLjY0MTMgNTg4LjU1NTgsNzkxLjY3NTMgNTg4LjM2OTgsNzkxLjY3NTMgTDU4OC4zNjk4LDc5MS42NzUzIFogTTI4Ny4wNTM4LDc5My4wMzMzIEMyODYuODcwOCw3OTMuMDMzMyAyODYuNjg2OCw3OTMuMDAwMyAyODYuNTA2OCw3OTIuOTI5MyBDMjg0LjYzNjgsNzkyLjE5ODMgMjgyLjc3MjgsNzkxLjQ1MzMgMjgwLjkxNDgsNzkwLjY5NDMgQzI4MC4xNDg4LDc5MC4zODEzIDI3OS43ODA4LDc4OS41MDYzIDI4MC4wOTM4LDc4OC43MzgzIEMyODAuNDA2OCw3ODcuOTcyMyAyODEuMjgwOCw3ODcuNjAxMyAyODIuMDQ5OCw3ODcuOTE3MyBDMjgzLjg5MzgsNzg4LjY3MDMgMjg1Ljc0MzgsNzg5LjQwOTMgMjg3LjYwMDgsNzkwLjEzNjMgQzI4OC4zNzE4LDc5MC40MzgzIDI4OC43NTI4LDc5MS4zMDgzIDI4OC40NDk4LDc5Mi4wODAzIEMyODguMjE4OCw3OTIuNjcyMyAyODcuNjUyOCw3OTMuMDMzMyAyODcuMDUzOCw3OTMuMDMzMyBMMjg3LjA1MzgsNzkzLjAzMzMgWiBNNTc3LjEzMTgsNzk1Ljk5NzMgQzU3Ni41MjE4LDc5NS45OTczIDU3NS45NDY4LDc5NS42MjIzIDU3NS43MjM4LDc5NS4wMTQzIEM1NzUuNDM4OCw3OTQuMjM3MyA1NzUuODM2OCw3OTMuMzc1MyA1NzYuNjEzOCw3OTMuMDg5MyBDNTc4LjQ5MTgsNzkyLjM5ODMgNTgwLjM2MzgsNzkxLjY5NTMgNTgyLjIyODgsNzkwLjk3NzMgQzU4Mi45OTc4LDc5MC42ODQzIDU4My44Njg4LDc5MS4wNjQzIDU4NC4xNjY4LDc5MS44MzkzIEM1ODQuNDYzOCw3OTIuNjEzMyA1ODQuMDc3OCw3OTMuNDgwMyA1ODMuMzA0OCw3OTMuNzc4MyBDNTgxLjQyNTgsNzk0LjUwMDMgNTc5LjU0MDgsNzk1LjIwOTMgNTc3LjY0OTgsNzk1LjkwNTMgQzU3Ny40Nzg4LDc5NS45NjczIDU3Ny4zMDM4LDc5NS45OTczIDU3Ny4xMzE4LDc5NS45OTczIEw1NzcuMTMxOCw3OTUuOTk3MyBaIE0yOTguMjkwOCw3OTcuMjM3MyBDMjk4LjEyMjgsNzk3LjIzNzMgMjk3Ljk1MjgsNzk3LjIwOTMgMjk3Ljc4NTgsNzk3LjE0OTMgQzI5NS44OTQ4LDc5Ni40NzMzIDI5NC4wMDk4LDc5NS43ODMzIDI5Mi4xMzA4LDc5NS4wODEzIEMyOTEuMzU0OCw3OTQuNzkxMyAyOTAuOTYwOCw3OTMuOTI1MyAyOTEuMjUwOCw3OTMuMTUwMyBDMjkxLjU0MDgsNzkyLjM3NDMgMjkyLjQwNjgsNzkxLjk4MTMgMjkzLjE4MTgsNzkyLjI3MDMgQzI5NS4wNDY4LDc5Mi45NjgzIDI5Ni45MTc4LDc5My42NTMzIDI5OC43OTU4LDc5NC4zMjUzIEMyOTkuNTc1OCw3OTQuNjAzMyAyOTkuOTgyOCw3OTUuNDYyMyAyOTkuNzAyOCw3OTYuMjQyMyBDMjk5LjQ4NDgsNzk2Ljg1NTMgMjk4LjkwNjgsNzk3LjIzNzMgMjk4LjI5MDgsNzk3LjIzNzMgTDI5OC4yOTA4LDc5Ny4yMzczIFogTTU2NS43Njc4LDc5OS45ODUzIEM1NjUuMTM5OCw3OTkuOTg1MyA1NjQuNTU0OCw3OTkuNTg5MyA1NjQuMzQ0OCw3OTguOTYxMyBDNTY0LjA4MTgsNzk4LjE3NDMgNTY0LjUwNjgsNzk3LjMyNTMgNTY1LjI5MTgsNzk3LjA2MjMgQzU2Ny4xOTA4LDc5Ni40MjgzIDU2OS4wODE4LDc5NS43ODAzIDU3MC45Njg4LDc5NS4xMTgzIEM1NzEuNzQ4OCw3OTQuODQzMyA1NzIuNjA2OCw3OTUuMjU1MyA1NzIuODgwOCw3OTYuMDM2MyBDNTczLjE1NDgsNzk2LjgxNzMgNTcyLjc0MzgsNzk3LjY3MzMgNTcxLjk2MjgsNzk3Ljk0ODMgQzU3MC4wNjI4LDc5OC42MTYzIDU2OC4xNTQ4LDc5OS4yNjgzIDU2Ni4yNDI4LDc5OS45MDgzIEM1NjYuMDg0OCw3OTkuOTYxMyA1NjUuOTI0OCw3OTkuOTg1MyA1NjUuNzY3OCw3OTkuOTg1MyBMNTY1Ljc2NzgsNzk5Ljk4NTMgWiBNMzA5LjY0NjgsODAxLjEwOTMgQzMwOS40OTI4LDgwMS4xMDkzIDMwOS4zMzY4LDgwMS4wODYzIDMwOS4xODI4LDgwMS4wMzYzIEMzMDcuMjcyOCw4MDAuNDE1MyAzMDUuMzY3OCw3OTkuNzgxMyAzMDMuNDcwOCw3OTkuMTM0MyBDMzAyLjY4NjgsNzk4Ljg2NzMgMzAyLjI2NjgsNzk4LjAxNTMgMzAyLjUzMzgsNzk3LjIzMTMgQzMwMi44MDE4LDc5Ni40NDczIDMwMy42NTI4LDc5Ni4wMjczIDMwNC40Mzc4LDc5Ni4yOTUzIEMzMDYuMzIyOCw3OTYuOTM3MyAzMDguMjEzOCw3OTcuNTY2MyAzMTAuMTEwOCw3OTguMTgyMyBDMzEwLjg5ODgsNzk4LjQzOTMgMzExLjMyODgsNzk5LjI4NTMgMzExLjA3MjgsODAwLjA3MzMgQzMxMC44NjY4LDgwMC43MDczIDMxMC4yNzk4LDgwMS4xMDkzIDMwOS42NDY4LDgwMS4xMDkzIEwzMDkuNjQ2OCw4MDEuMTA5MyBaIE01NTQuMjgzOCw4MDMuNjM1MyBDNTUzLjYzOTgsODAzLjYzNTMgNTUzLjA0NDgsODAzLjIxNzMgNTUyLjg0ODgsODAyLjU2ODMgQzU1Mi42MTA4LDgwMS43NzUzIDU1My4wNTk4LDgwMC45MzgzIDU1My44NTI4LDgwMC42OTkzIEM1NTUuNzY5OCw4MDAuMTIyMyA1NTcuNjgwOCw3OTkuNTMwMyA1NTkuNTg1OCw3OTguOTIzMyBDNTYwLjM3NjgsNzk4LjY3MzMgNTYxLjIxOTgsNzk5LjEwOTMgNTYxLjQ3MDgsNzk5Ljg5ODMgQzU2MS43MjE4LDgwMC42ODgzIDU2MS4yODQ4LDgwMS41MzIzIDU2MC40OTU4LDgwMS43ODMzIEM1NTguNTc0OCw4MDIuMzkzMyA1NTYuNjUwOCw4MDIuOTg5MyA1NTQuNzE3OCw4MDMuNTcyMyBDNTU0LjU3MjgsODAzLjYxNTMgNTU0LjQyNzgsODAzLjYzNTMgNTU0LjI4MzgsODAzLjYzNTMgTDU1NC4yODM4LDgwMy42MzUzIFogTTMyMS4xMTM4LDgwNC42NDMzIEMzMjAuOTczOCw4MDQuNjQzMyAzMjAuODMyOCw4MDQuNjI0MyAzMjAuNjkyOCw4MDQuNTg0MyBDMzE4Ljc2MjgsODA0LjAyMDMgMzE2Ljg0MDgsODAzLjQ0MzMgMzE0LjkyMzgsODAyLjg1MjMgQzMxNC4xMzI4LDgwMi42MDgzIDMxMy42ODg4LDgwMS43NjgzIDMxMy45MzI4LDgwMC45NzYzIEMzMTQuMTc2OCw4MDAuMTg0MyAzMTUuMDE0OCw3OTkuNzQyMyAzMTUuODA4OCw3OTkuOTg1MyBDMzE3LjcwOTgsODAwLjU3MjMgMzE5LjYxNzgsODAxLjE0NTMgMzIxLjUzMTgsODAxLjcwMzMgQzMyMi4zMjY4LDgwMS45MzUzIDMyMi43ODM4LDgwMi43NjgzIDMyMi41NTI4LDgwMy41NjMzIEMzMjIuMzYxOCw4MDQuMjE4MyAzMjEuNzYyOCw4MDQuNjQzMyAzMjEuMTEzOCw4MDQuNjQzMyBMMzIxLjExMzgsODA0LjY0MzMgWiBNNTQyLjc0NzgsODA2LjkyOTMgQzU0Mi4wODY4LDgwNi45MjkzIDU0MS40ODE4LDgwNi40ODkzIDU0MS4zMDA4LDgwNS44MjAzIEM1NDEuMDg0OCw4MDUuMDIwMyA1NDEuNTU4OCw4MDQuMTk3MyA1NDIuMzU4OCw4MDMuOTgxMyBDNTQ0LjI4MzgsODAzLjQ2MjMgNTQ2LjIwMzgsODAyLjkyODMgNTQ4LjExODgsODAyLjM4MjMgQzU0OC45MTQ4LDgwMi4xNTgzIDU0OS43NDU4LDgwMi42MTczIDU0OS45NzI4LDgwMy40MTQzIEM1NTAuMTk5OCw4MDQuMjExMyA1NDkuNzM4OCw4MDUuMDQxMyA1NDguOTQxOCw4MDUuMjY3MyBDNTQ3LjAxMjgsODA1LjgxNzMgNTQ1LjA3ODgsODA2LjM1NDMgNTQzLjEzOTgsODA2Ljg3ODMgQzU0My4wMDg4LDgwNi45MTMzIDU0Mi44Nzc4LDgwNi45MjkzIDU0Mi43NDc4LDgwNi45MjkzIEw1NDIuNzQ3OCw4MDYuOTI5MyBaIE0zMzIuNjc4OCw4MDcuODM4MyBDMzMyLjU1MzgsODA3LjgzODMgMzMyLjQyNjgsODA3LjgyMjMgMzMyLjI5OTgsODA3Ljc4OTMgQzMzMC4zNTQ4LDgwNy4yODIzIDMyOC40MTU4LDgwNi43NjMzIDMyNi40ODM4LDgwNi4yMjgzIEMzMjUuNjg0OCw4MDYuMDA4MyAzMjUuMjE1OCw4MDUuMTgxMyAzMjUuNDM3OCw4MDQuMzgzMyBDMzI1LjY1NzgsODAzLjU4NDMgMzI2LjQ4NzgsODAzLjExNjMgMzI3LjI4MTgsODAzLjMzODMgQzMyOS4yMDA4LDgwMy44NjczIDMzMS4xMjU4LDgwNC4zODMzIDMzMy4wNTU4LDgwNC44ODYzIEMzMzMuODU3OCw4MDUuMDk1MyAzMzQuMzM3OCw4MDUuOTE0MyAzMzQuMTI4OCw4MDYuNzE1MyBDMzMzLjk1MjgsODA3LjM5MDMgMzMzLjM0NDgsODA3LjgzODMgMzMyLjY3ODgsODA3LjgzODMgTDMzMi42Nzg4LDgwNy44MzgzIFogTTUzMS4xMTc4LDgwOS44ODEzIEM1MzAuNDM5OCw4MDkuODgxMyA1MjkuODIzOCw4MDkuNDE5MyA1MjkuNjU5OCw4MDguNzI5MyBDNTI5LjQ2NzgsODA3LjkyMzMgNTI5Ljk2NTgsODA3LjExNDMgNTMwLjc3MTgsODA2LjkyMzMgQzUzMi43MTE4LDgwNi40NjEzIDUzNC42NDU4LDgwNS45ODQzIDUzNi41NzQ4LDgwNS40OTQzIEM1MzcuMzc4OCw4MDUuMjkxMyA1MzguMTk0OCw4MDUuNzc1MyA1MzguMzk4OCw4MDYuNTc5MyBDNTM4LjYwMjgsODA3LjM4MTMgNTM4LjExNjgsODA4LjE5ODMgNTM3LjMxMzgsODA4LjQwMjMgQzUzNS4zNjk4LDgwOC44OTYzIDUzMy40MjA4LDgwOS4zNzUzIDUzMS40NjY4LDgwOS44NDAzIEM1MzEuMzQ5OCw4MDkuODY5MyA1MzEuMjMyOCw4MDkuODgxMyA1MzEuMTE3OCw4MDkuODgxMyBMNTMxLjExNzgsODA5Ljg4MTMgWiBNMzQ0LjMzMjgsODEwLjY4NzMgQzM0NC4yMjI4LDgxMC42ODczIDM0NC4xMTA4LDgxMC42NzUzIDM0My45OTc4LDgxMC42NDkzIEMzNDIuMDM4OCw4MTAuMjAyMyAzNDAuMDg1OCw4MDkuNzM5MyAzMzguMTM3OCw4MDkuMjYyMyBDMzM3LjMzMjgsODA5LjA2NTMgMzM2LjgzOTgsODA4LjI1NDMgMzM3LjAzNjgsODA3LjQ0OTMgQzMzNy4yMzQ4LDgwNi42NDQzIDMzOC4wNDQ4LDgwNi4xNTIzIDMzOC44NTA4LDgwNi4zNDgzIEMzNDAuNzgyOCw4MDYuODIxMyAzNDIuNzIyOCw4MDcuMjgwMyAzNDQuNjY2OCw4MDcuNzI1MyBDMzQ1LjQ3MzgsODA3LjkxMDMgMzQ1Ljk3ODgsODA4LjcxNDMgMzQ1Ljc5MzgsODA5LjUyMjMgQzM0NS42MzU4LDgxMC4yMTYzIDM0NS4wMTc4LDgxMC42ODczIDM0NC4zMzI4LDgxMC42ODczIEwzNDQuMzMyOCw4MTAuNjg3MyBaIE01MTkuNDA1OCw4MTIuNDg4MyBDNTE4LjcxMDgsODEyLjQ4ODMgNTE4LjA4NTgsODEyLjAwMTMgNTE3LjkzOTgsODExLjI5MzMgQzUxNy43NzE4LDgxMC40ODEzIDUxOC4yOTI4LDgwOS42ODczIDUxOS4xMDM4LDgwOS41MTkzIEM1MjEuMDU2OCw4MDkuMTE1MyA1MjMuMDAzOCw4MDguNjk2MyA1MjQuOTQ2OCw4MDguMjYzMyBDNTI1Ljc1NDgsODA4LjA4MjMgNTI2LjU1NzgsODA4LjU5MjMgNTI2LjczNzgsODA5LjQwMTMgQzUyNi45MTc4LDgxMC4yMTAzIDUyNi40MDc4LDgxMS4wMTEzIDUyNS41OTk4LDgxMS4xOTEzIEM1MjMuNjQyOCw4MTEuNjI4MyA1MjEuNjc5OCw4MTIuMDQ5MyA1MTkuNzEyOCw4MTIuNDU3MyBDNTE5LjYxMDgsODEyLjQ3ODMgNTE5LjUwNzgsODEyLjQ4ODMgNTE5LjQwNTgsODEyLjQ4ODMgTDUxOS40MDU4LDgxMi40ODgzIFogTTM1Ni4wNjc4LDgxMy4xOTIzIEMzNTUuOTcwOCw4MTMuMTkyMyAzNTUuODcxOCw4MTMuMTgzMyAzNTUuNzc0OCw4MTMuMTY0MyBDMzUzLjgwMjgsODEyLjc3MzMgMzUxLjgzNjgsODEyLjM2OTMgMzQ5Ljg3NTgsODExLjk1MDMgQzM0OS4wNjY4LDgxMS43NzczIDM0OC41NDk4LDgxMC45ODAzIDM0OC43MjI4LDgxMC4xNzAzIEMzNDguODk1OCw4MDkuMzYwMyAzNDkuNjk4OCw4MDguODQ3MyAzNTAuNTAyOCw4MDkuMDE2MyBDMzUyLjQ0NzgsODA5LjQzMTMgMzU0LjQwMDgsODA5LjgzNDMgMzU2LjM1NjgsODEwLjIyMDMgQzM1Ny4xNjg4LDgxMC4zODEzIDM1Ny42OTY4LDgxMS4xNzEzIDM1Ny41MzY4LDgxMS45ODMzIEMzNTcuMzk1OCw4MTIuNjk4MyAzNTYuNzY4OCw4MTMuMTkyMyAzNTYuMDY3OCw4MTMuMTkyMyBMMzU2LjA2NzgsODEzLjE5MjMgWiBNNTA3LjYyMzgsODE0Ljc1MDMgQzUwNi45MDk4LDgxNC43NTAzIDUwNi4yNzc4LDgxNC4yMzgzIDUwNi4xNDg4LDgxMy41MTAzIEM1MDYuMDA0OCw4MTIuNjk1MyA1MDYuNTQ4OCw4MTEuOTE3MyA1MDcuMzY0OCw4MTEuNzcyMyBDNTA5LjMyODgsODExLjQyNTMgNTExLjI4ODgsODExLjA2NDMgNTEzLjI0MjgsODEwLjY4OTMgQzUxNC4wNTA4LDgxMC41NDAzIDUxNC44NDE4LDgxMS4wNjYzIDUxNC45OTc4LDgxMS44ODEzIEM1MTUuMTU0OCw4MTIuNjk0MyA1MTQuNjIwOCw4MTMuNDgwMyA1MTMuODA3OCw4MTMuNjM1MyBDNTExLjgzOTgsODE0LjAxMzMgNTA5Ljg2NTgsODE0LjM3NzMgNTA3Ljg4NjgsODE0LjcyNzMgQzUwNy43OTg4LDgxNC43NDMzIDUwNy43MTA4LDgxNC43NTAzIDUwNy42MjM4LDgxNC43NTAzIEw1MDcuNjIzOCw4MTQuNzUwMyBaIE0zNjcuODY5OCw4MTUuMzUxMyBDMzY3Ljc4NzgsODE1LjM1MTMgMzY3LjcwMzgsODE1LjM0NDMgMzY3LjYxOTgsODE1LjMzMTMgQzM2NS42Mzc4LDgxNC45OTkzIDM2My42NjA4LDgxNC42NTEzIDM2MS42ODk4LDgxNC4yOTEzIEMzNjAuODczOCw4MTQuMTQxMyAzNjAuMzMzOCw4MTMuMzYwMyAzNjAuNDgzOCw4MTIuNTQ2MyBDMzYwLjYzMTgsODExLjczMDMgMzYxLjQxNzgsODExLjE4NzMgMzYyLjIyODgsODExLjMzOTMgQzM2NC4xODY4LDgxMS42OTgzIDM2Ni4xNDg4LDgxMi4wNDIzIDM2OC4xMTU4LDgxMi4zNzIzIEMzNjguOTMzOCw4MTIuNTA4MyAzNjkuNDg0OCw4MTMuMjgyMyAzNjkuMzQ3OCw4MTQuMDk5MyBDMzY5LjIyNDgsODE0LjgzMzMgMzY4LjU4OTgsODE1LjM1MTMgMzY3Ljg2OTgsODE1LjM1MTMgTDM2Ny44Njk4LDgxNS4zNTEzIFogTTQ5NS43Nzk4LDgxNi42NjIzIEM0OTUuMDQ2OCw4MTYuNjYyMyA0OTQuNDA1OCw4MTYuMTI1MyA0OTQuMjk2OCw4MTUuMzc5MyBDNDk0LjE3NjgsODE0LjU1OTMgNDk0Ljc0MzgsODEzLjc5ODMgNDk1LjU2MzgsODEzLjY3NzMgQzQ5Ny41Mzc4LDgxMy4zODgzIDQ5OS41MDc4LDgxMy4wODUzIDUwMS40NzE4LDgxMi43NjgzIEM1MDIuMjkxOCw4MTIuNjI2MyA1MDMuMDYwOCw4MTMuMTkyMyA1MDMuMTkxOCw4MTQuMDA5MyBDNTAzLjMyMzgsODE0LjgyODMgNTAyLjc2NzgsODE1LjU5NzMgNTAxLjk0OTgsODE1LjcyOTMgQzQ5OS45NzA4LDgxNi4wNDkzIDQ5Ny45ODc4LDgxNi4zNTUzIDQ5NS45OTc4LDgxNi42NDYzIEM0OTUuOTI0OCw4MTYuNjU3MyA0OTUuODUxOCw4MTYuNjYyMyA0OTUuNzc5OCw4MTYuNjYyMyBMNDk1Ljc3OTgsODE2LjY2MjMgWiBNMzc5LjcyOTgsODE3LjE2MTMgQzM3OS42NjA4LDgxNy4xNjEzIDM3OS41OTE4LDgxNy4xNTYzIDM3OS41MjI4LDgxNy4xNDczIEMzNzcuNTMxOCw4MTYuODczMyAzNzUuNTQ1OCw4MTYuNTg0MyAzNzMuNTY0OCw4MTYuMjgxMyBDMzcyLjc0NDgsODE2LjE1NjMgMzcyLjE4MjgsODE1LjM5MDMgMzcyLjMwODgsODE0LjU3MjMgQzM3Mi40MzQ4LDgxMy43NTQzIDM3My4xOTI4LDgxMy4xOTAzIDM3NC4wMTc4LDgxMy4zMTYzIEMzNzUuOTg1OCw4MTMuNjE2MyAzNzcuOTU1OCw4MTMuOTAyMyAzNzkuOTMyOCw4MTQuMTc0MyBDMzgwLjc1MjgsODE0LjI4ODMgMzgxLjMyNTgsODE1LjA0NTMgMzgxLjIxMzgsODE1Ljg2NjMgQzM4MS4xMTA4LDgxNi42MTczIDM4MC40NjY4LDgxNy4xNjEzIDM3OS43Mjk4LDgxNy4xNjEzIEwzNzkuNzI5OCw4MTcuMTYxMyBaIE00ODMuODgyOCw4MTguMjI2MyBDNDgzLjEzMjgsODE4LjIyNjMgNDgyLjQ4NDgsODE3LjY2NDMgNDgyLjM5NDgsODE2LjkwMDMgQzQ4Mi4yOTg4LDgxNi4wNzgzIDQ4Mi44ODc4LDgxNS4zMzMzIDQ4My43MTA4LDgxNS4yMzYzIEM0ODUuNjkyOCw4MTUuMDA1MyA0ODcuNjY5OCw4MTQuNzU5MyA0ODkuNjQyOCw4MTQuNTAwMyBDNDkwLjQ3MzgsODE0LjM5NTMgNDkxLjIxNzgsODE0Ljk3MDMgNDkxLjMyNTgsODE1Ljc5MjMgQzQ5MS40MzQ4LDgxNi42MTMzIDQ5MC44NTU4LDgxNy4zNjYzIDQ5MC4wMzM4LDgxNy40NzQzIEM0ODguMDQ2OCw4MTcuNzM2MyA0ODYuMDU1OCw4MTcuOTgzMyA0ODQuMDU4OCw4MTguMjE2MyBDNDgzLjk5OTgsODE4LjIyMzMgNDgzLjk0MTgsODE4LjIyNjMgNDgzLjg4MjgsODE4LjIyNjMgTDQ4My44ODI4LDgxOC4yMjYzIFogTTM5MS42MzY4LDgxOC42MjEzIEMzOTEuNTgyOCw4MTguNjIxMyAzOTEuNTI5OCw4MTguNjE4MyAzOTEuNDc0OCw4MTguNjEyMyBDMzg5LjQ3NjgsODE4LjM5NzMgMzg3LjQ4MzgsODE4LjE2NzMgMzg1LjQ5MjgsODE3LjkyMzMgQzM4NC42NzA4LDgxNy44MjIzIDM4NC4wODU4LDgxNy4wNzQzIDM4NC4xODY4LDgxNi4yNTIzIEMzODQuMjg3OCw4MTUuNDMwMyAzODUuMDI3OCw4MTQuODU2MyAzODUuODU4OCw4MTQuOTQ1MyBDMzg3LjgzMjgsODE1LjE4ODMgMzg5LjgxMjgsODE1LjQxNzMgMzkxLjc5NDgsODE1LjYzMDMgQzM5Mi42MTg4LDgxNS43MTczIDM5My4yMTQ4LDgxNi40NTgzIDM5My4xMjU4LDgxNy4yODEzIEMzOTMuMDQzOCw4MTguMDUwMyAzOTIuMzkyOCw4MTguNjIxMyAzOTEuNjM2OCw4MTguNjIxMyBMMzkxLjYzNjgsODE4LjYyMTMgWiBNNDcxLjk0NjgsODE5LjQ0MTMgQzQ3MS4xNzc4LDgxOS40NDEzIDQ3MC41MjI4LDgxOC44NTIzIDQ3MC40NTQ4LDgxOC4wNzEzIEM0NzAuMzgyOCw4MTcuMjQ2MyA0NzAuOTkzOCw4MTYuNTE4MyA0NzEuODE5OCw4MTYuNDQ3MyBDNDczLjgwNjgsODE2LjI3MzMgNDc1Ljc5MDgsODE2LjA4NjMgNDc3Ljc2OTgsODE1Ljg4NDMgQzQ3OC42MDU4LDgxNS44MTAzIDQ3OS4zMzA4LDgxNi40MDAzIDQ3OS40MTM4LDgxNy4yMjUzIEM0NzkuNDk3OCw4MTguMDQ4MyA0NzguODk4OCw4MTguNzg1MyA0NzguMDczOCw4MTguODY5MyBDNDc2LjA3OTgsODE5LjA3MjMgNDc0LjA4MTgsODE5LjI2MTMgNDcyLjA3ODgsODE5LjQzNTMgQzQ3Mi4wMzQ4LDgxOS40MzkzIDQ3MS45OTA4LDgxOS40NDEzIDQ3MS45NDY4LDgxOS40NDEzIEw0NzEuOTQ2OCw4MTkuNDQxMyBaIE00MDMuNTgzOCw4MTkuNzM1MyBDNDAzLjU0NDgsODE5LjczNTMgNDAzLjUwNDgsODE5LjczNDMgNDAzLjQ2NDgsODE5LjczMDMgQzQwMS40NjA4LDgxOS41NzQzIDM5OS40NjA4LDgxOS40MDIzIDM5Ny40NjQ4LDgxOS4yMTUzIEMzOTYuNjQwOCw4MTkuMTM5MyAzOTYuMDMzOCw4MTguNDA4MyAzOTYuMTExOCw4MTcuNTgzMyBDMzk2LjE4NzgsODE2Ljc1NzMgMzk2LjkwNzgsODE2LjE0MTMgMzk3Ljc0MzgsODE2LjIyOTMgQzM5OS43MjQ4LDgxNi40MTQzIDQwMS43MDg4LDgxNi41ODQzIDQwMy42OTg4LDgxNi43NDAzIEM0MDQuNTI1OCw4MTYuODA0MyA0MDUuMTQxOCw4MTcuNTI2MyA0MDUuMDc2OCw4MTguMzUyMyBDNDA1LjAxNTgsODE5LjEzODMgNDA0LjM1OTgsODE5LjczNTMgNDAzLjU4MzgsODE5LjczNTMgTDQwMy41ODM4LDgxOS43MzUzIFogTTQ1OS45ODE4LDgyMC4zMDgzIEM0NTkuMTkyOCw4MjAuMzA4MyA0NTguNTMwOCw4MTkuNjkyMyA0NTguNDg1OCw4MTguODk0MyBDNDU4LjQzNzgsODE4LjA2ODMgNDU5LjA2OTgsODE3LjM1ODMgNDU5Ljg5NjgsODE3LjMxMTMgQzQ2MS44ODc4LDgxNy4xOTYzIDQ2My44NzQ4LDgxNy4wNjYzIDQ2NS44NjA4LDgxNi45MjMzIEM0NjYuNjczOCw4MTYuODYwMyA0NjcuNDA0OCw4MTcuNDgzMyA0NjcuNDY0OCw4MTguMzEwMyBDNDY3LjUyNDgsODE5LjEzNjMgNDY2LjkwMzgsODE5Ljg1NTMgNDY2LjA3NjgsODE5LjkxNTMgQzQ2NC4wNzc4LDgyMC4wNjAzIDQ2Mi4wNzQ4LDgyMC4xOTAzIDQ2MC4wNjg4LDgyMC4zMDUzIEM0NjAuMDM4OCw4MjAuMzA3MyA0NjAuMDA5OCw4MjAuMzA4MyA0NTkuOTgxOCw4MjAuMzA4MyBMNDU5Ljk4MTgsODIwLjMwODMgWiBNNDE1LjU1NjgsODIwLjQ5OTMgQzQxNS41MzE4LDgyMC40OTkzIDQxNS41MDY4LDgyMC40OTgzIDQxNS40ODE4LDgyMC40OTczIEM0MTMuNDc0OCw4MjAuMzk4MyA0MTEuNDcwOCw4MjAuMjg0MyA0MDkuNDY5OCw4MjAuMTU3MyBDNDA4LjY0MzgsODIwLjEwNDMgNDA4LjAxNTgsODE5LjM5MTMgNDA4LjA2ODgsODE4LjU2NDMgQzQwOC4xMjA4LDgxNy43MzczIDQwOC44MjY4LDgxNy4xMTEzIDQwOS42NjA4LDgxNy4xNjMzIEM0MTEuNjQ2OCw4MTcuMjkwMyA0MTMuNjM2OCw4MTcuNDAyMyA0MTUuNjI5OCw4MTcuNTAxMyBDNDE2LjQ1NjgsODE3LjU0MjMgNDE3LjA5NDgsODE4LjI0NTMgNDE3LjA1MzgsODE5LjA3MzMgQzQxNy4wMTQ4LDgxOS44NzUzIDQxNi4zNTE4LDgyMC40OTkzIDQxNS41NTY4LDgyMC40OTkzIEw0MTUuNTU2OCw4MjAuNDk5MyBaIE00NDcuOTk0OCw4MjAuODI3MyBDNDQ3LjE4NjgsODIwLjgyNzMgNDQ2LjUyMDgsODIwLjE4MzMgNDQ2LjQ5NjgsODE5LjM3MDMgQzQ0Ni40NzI4LDgxOC41NDIzIDQ0Ny4xMjQ4LDgxNy44NTEzIDQ0Ny45NTI4LDgxNy44MjgzIEM0NDkuOTQ2OCw4MTcuNzcwMyA0NTEuOTM4OCw4MTcuNjk4MyA0NTMuOTI2OCw4MTcuNjEyMyBDNDU0Ljc1MjgsODE3LjU1MTMgNDU1LjQ1MzgsODE4LjIxOTMgNDU1LjQ4OTgsODE5LjA0NzMgQzQ1NS41MjU4LDgxOS44NzQzIDQ1NC44ODM4LDgyMC41NzQzIDQ1NC4wNTU4LDgyMC42MTAzIEM0NTIuMDUzOCw4MjAuNjk2MyA0NTAuMDQ4OCw4MjAuNzY4MyA0NDguMDM4OCw4MjAuODI2MyBDNDQ4LjAyNDgsODIwLjgyNzMgNDQ4LjAwOTgsODIwLjgyNzMgNDQ3Ljk5NDgsODIwLjgyNzMgTDQ0Ny45OTQ4LDgyMC44MjczIFogTTQyNy41MzQ4LDgyMC45MTMzIEw0MjcuNTAzOCw4MjAuOTEzMyBDNDI1LjQ5ODgsODIwLjg3MjMgNDIzLjQ5NjgsODIwLjgxNzMgNDIxLjQ5ODgsODIwLjc0ODMgQzQyMC42NzA4LDgyMC43MTkzIDQyMC4wMjI4LDgyMC4wMjQzIDQyMC4wNTE4LDgxOS4xOTczIEM0MjAuMDc5OCw4MTguMzY5MyA0MjAuNzUzOCw4MTcuNjc5MyA0MjEuNjAyOCw4MTcuNzUwMyBDNDIzLjU4NjgsODE3LjgxOTMgNDI1LjU3MjgsODE3Ljg3MzMgNDI3LjU2NDgsODE3LjkxMzMgQzQyOC4zOTI4LDgxNy45MjkzIDQyOS4wNTA4LDgxOC42MTUzIDQyOS4wMzM4LDgxOS40NDMzIEM0MjkuMDE3OCw4MjAuMjYwMyA0MjguMzQ4OCw4MjAuOTEzMyA0MjcuNTM0OCw4MjAuOTEzMyBMNDI3LjUzNDgsODIwLjkxMzMgWiBNNDM1Ljk5OTgsODIxLjAwMDMgQzQzNS4xNzA4LDgyMC45OTkzIDQzNC4zNDQ4LDgyMC45OTczIDQzMy41MTk4LDgyMC45OTIzIEM0MzIuNjkxOCw4MjAuOTg3MyA0MzIuMDIzOCw4MjAuMzExMyA0MzIuMDI4NzcyLDgxOS40ODMzIEM0MzIuMDMyOCw4MTguNjU4MyA0MzIuNzAzOCw4MTcuOTkyMyA0MzMuNTI4OCw4MTcuOTkyMyBMNDMzLjUzNjgsODE3Ljk5MjMgQzQzNi4zNDc4LDgxOC4wMDczIDQzOS4xNjY4LDgxNy45OTczIDQ0MS45Nzc4LDgxNy45NTczIEw0NDEuOTk4OCw4MTcuOTU3MyBDNDQyLjgxODgsODE3Ljk1NzMgNDQzLjQ4NzgsODE4LjYxNDMgNDQzLjQ5ODgsODE5LjQzNTMgQzQ0My41MTA4LDgyMC4yNjMzIDQ0Mi44NDg4LDgyMC45NDUzIDQ0Mi4wMjA4LDgyMC45NTczIEM0NDAuMDE3OCw4MjAuOTg1MyA0MzguMDA5OCw4MjEuMDAwMyA0MzUuOTk5OCw4MjEuMDAwMyBMNDM1Ljk5OTgsODIxLjAwMDMgWiIgaWQ9IkZpbGwtNSIgZmlsbD0iI0EzQjFCRiIgb3BhY2l0eT0iMC4zOTU2NzA1NzMiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzM4LDczIEMzMjAuMDUxLDczIDMwNS41LDg3LjU1MSAzMDUuNSwxMDUuNSBDMzA1LjUsMTIzLjQ0OSAzMjAuMDUxLDEzOCAzMzgsMTM4IEMzNTUuOTQ5LDEzOCAzNzAuNSwxMjMuNDQ5IDM3MC41LDEwNS41IEMzNzAuNSw4Ny41NTEgMzU1Ljk0OSw3MyAzMzgsNzMgTTMzOCw3NiBDMzU0LjI2Nyw3NiAzNjcuNSw4OS4yMzMgMzY3LjUsMTA1LjUgQzM2Ny41LDEyMS43NjcgMzU0LjI2NywxMzUgMzM4LDEzNSBDMzIxLjczMywxMzUgMzA4LjUsMTIxLjc2NyAzMDguNSwxMDUuNSBDMzA4LjUsODkuMjMzIDMyMS43MzMsNzYgMzM4LDc2IiBpZD0iRmlsbC04IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMzOCwxMjYuNSBDMzQ5LjU5NzYsMTI2LjUgMzU5LDExNy4wOTc2IDM1OSwxMDUuNSBDMzU5LDkzLjkwMjQgMzQ5LjU5NzYsODQuNSAzMzgsODQuNSBDMzI2LjQwMjQsODQuNSAzMTcsOTMuOTAyNCAzMTcsMTA1LjUgQzMxNywxMTcuMDk3NiAzMjYuNDAyNCwxMjYuNSAzMzgsMTI2LjUiIGlkPSJGaWxsLTEwIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMyMC4wMDQ5LDc5Ljg5ODQgTDMxNy40Mjg5LDgxLjk1OTQgQzMwNy4wMzU5LDc4LjcxMTQgMjk5LjMzNTksNzguNDY3NCAyOTcuMjk2OSw4Mi4wMDA0IEMyOTMuNzA2OSw4OC4yMTc0IDMwOS4wMjA5LDEwMy43Nzk0IDMzMS40OTk5LDExNi43NTc0IEMzNTMuOTgwOSwxMjkuNzM3NCAzNzUuMTEyOSwxMzUuMjE3NCAzNzguNzAyOSwxMjkuMDAwNCBDMzgwLjc5ODksMTI1LjM3MDQgMzc2LjQ1MjksMTE4LjU1NjQgMzY3Ljk5OTksMTEwLjkzMTQgTDM2Ny45OTk5LDEwNy4yMzE0IEMzNzguNjM1OSwxMTYuNjUyNCAzODQuMTM4OSwxMjUuNTg1NCAzODEuMzAxOSwxMzAuNTAwNCBDMzc2Ljg4MzksMTM4LjE1MjQgMzUzLjkxNDksMTMzLjE2MzQgMzI5Ljk5OTksMTE5LjM1NjQgQzMwNi4wODU5LDEwNS41NDg0IDI5MC4yODA5LDg4LjE1MjQgMjk0LjY5ODksODAuNTAwNCBDMjk3LjQzMDksNzUuNzY4NCAzMDcuMjUxOSw3NS44Njk0IDMyMC4wMDQ5LDc5Ljg5ODQiIGlkPSJGaWxsLTE0IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMwNi44MzExLDEwOC4yODQyIEwzMDcuMzI3MSwxMTEuNTQ1MiBDMjk5LjMxODEsMTE4LjkyMTIgMjk1LjI1ODEsMTI1LjQ2ODIgMjk3LjI5NzEsMTI5LjAwMDIgQzMwMC44ODcxLDEzNS4yMTgyIDMyMi4wMjAxLDEyOS43MzcyIDM0NC41MDAxLDExNi43NTgyIEMzNjYuOTgwMSwxMDMuNzc5MiAzODIuMjkzMSw4OC4yMTgyIDM3OC43MDMxLDgyLjAwMDIgQzM3Ni42MDgxLDc4LjM3MDIgMzY4LjUzNDEsNzguNzI3MiAzNTcuNzA0MSw4Mi4yMzUyIEwzNTQuNTAwMSw4MC4zODUyIEMzNjcuOTc2MSw3NS44ODUyIDM3OC40NjQxLDc1LjU4NTIgMzgxLjMwMjEsODAuNTAwMiBDMzg1LjcyMDEsODguMTUyMiAzNjkuOTE1MSwxMDUuNTQ5MiAzNDYuMDAwMSwxMTkuMzU2MiBDMzIyLjA4NjEsMTMzLjE2MzIgMjk5LjExNzEsMTM4LjE1MjIgMjk0LjY5OTEsMTMwLjUwMDIgQzI5MS45NjgxLDEyNS43NjgyIDI5Ni45NjYxLDExNy4zMTMyIDMwNi44MzExLDEwOC4yODQyIiBpZD0iRmlsbC0xNiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NDguMzE1NCw0MDMuMzU3NCBMNjcyLjM5NzQsNDAzLjM1NzQgQzY3Mi44NDI0LDQwMy4zNTc0IDY3My4yODA0LDQwMy4zMjQ0IDY3My43MTU0LDQwMy4yOTA0IEw2NzMuNzE1NCwzNzUuMjg3NCBMNjQ4LjMxNTQsNDAzLjM1NzQgWiIgaWQ9IkZpbGwtMTgiIGZpbGw9IiNBQ0MwREMiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xOTYzNTg4MTciPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIwLjk0ODIsNDU5LjI5NTkgTDIyMC45NDgyLDQ1Ni4yOTU5IEwyMTcuOTQ4Miw0NTYuMjk1OSBMMTYzLjI4NTIsNDU2LjI5NTkgQzE2NC43MDAyLDQ2NC4wNDg5IDE3MS40NjEyLDQ2OS45Mjg5IDE3OS42MDMyLDQ2OS45Mjg5IEwyMjAuOTQ4Miw0NjkuOTI4OSBMMjIwLjk0ODIsNDU5LjI5NTkgWiIgaWQ9IkZpbGwtMjAiIGZpbGw9IiNBQ0MwREMiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xOTYzNTg4MTciPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzI1Ljg3NCw1MDMuMjE0OCBMMzA1LjQwNyw1MDMuMjE0OCBDMjk2LjIzNyw1MDMuMjE0OCAyODguODA0LDQ5NS43NjI4IDI4OC44MDQsNDg2LjU3MDggQzI4OC44MDQsNDc3LjM3OTggMjk2LjIzNyw0NjkuOTI4OCAzMDUuNDA3LDQ2OS45Mjg4IEwzNDQuMTg0LDQ2OS45Mjg4IEMzMzcuMDM0LDQ1OS42MDc4IDMzMS42MDUsNDQ4LjAwNjggMzI4LjMxMiw0MzUuNTM1OCBDMzI2LjQ3Myw0MzYuMjM5OCAzMjQuNDgzLDQzNi42NDI4IDMyMi4zOTcsNDM2LjY0MjggTDI2OS41NzMsNDM2LjY0MjggQzI3MS42ODYsNDM4LjcyNjggMjczLDQ0MS42MTU4IDI3Myw0NDQuODA4OCBDMjczLDQ1MS4xNDI4IDI2Ny44MzUsNDU2LjI5NTggMjYxLjQ4Nyw0NTYuMjk1OCBMMjUyLjM1LDQ1Ni4yOTU4IEwyNDkuMzUsNDU2LjI5NTggTDI0OS4zNSw0NTkuMjk1OCBMMjQ5LjM1LDQ4MC4zMjg4IEMyNDkuMzUsNDgxLjgyNjggMjQ5LjExMSw0ODMuMjY5OCAyNDguNjc5LDQ4NC42MjQ4IEMyNDguNzUzLDQ4NS4yNjQ4IDI0OC44MDEsNDg1LjkxMTggMjQ4LjgwMSw0ODYuNTcwOCBDMjQ4LjgwMSw0OTUuNzYyOCAyNDEuMzY3LDUwMy4yMTQ4IDIzMi4xOTgsNTAzLjIxNDggTDIxMy42MzUsNTAzLjIxNDggQzIwNC40NjYsNTAzLjIxNDggMTk3LjAzMiw1MTAuNjY1OCAxOTcuMDMyLDUxOS44NTc4IEMxOTcuMDMyLDUyOS4wNDg4IDIwNC40NjYsNTM2LjQ5OTggMjEzLjYzNSw1MzYuNDk5OCBMMzI1Ljg3NCw1MzYuNDk5OCBDMzM1LjA0NCw1MzYuNDk5OCAzNDIuNDc4LDUyOS4wNDg4IDM0Mi40NzgsNTE5Ljg1NzggQzM0Mi40NzgsNTEwLjY2NTggMzM1LjA0NCw1MDMuMjE0OCAzMjUuODc0LDUwMy4yMTQ4IiBpZD0iRmlsbC0yMiIgZmlsbD0iI0FDQzBEQyIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE5NjM1ODgxNyI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMDIuNDU4LDQwMy4zNTc0IEwzMjIuMzk3LDQwMy4zNTc0IEMzMjMuMTk0LDQwMy4zNTc0IDMyMy45NzQsNDAzLjQzMjQgMzI0Ljc0MSw0MDMuNTQyNCBDMzI1LjE0MiwzOTEuODI3NCAzMjcuMzcyLDM4MC41Nzg0IDMzMS4xNTksMzcwLjA3MTQgTDMwMi40NTgsMzcwLjA3MTQgQzI5My4yODgsMzcwLjA3MTQgMjg1Ljg1NCwzNzcuNTIyNCAyODUuODU0LDM4Ni43MTQ0IEMyODUuODU0LDM5NS45MDY0IDI5My4yODgsNDAzLjM1NzQgMzAyLjQ1OCw0MDMuMzU3NCIgaWQ9IkZpbGwtMjQiIGZpbGw9IiNBQ0MwREMiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xOTYzNTg4MTciPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjIzLjc0MTIsMzM2Ljc4NTIgTDYzNy45NjQyLDMzNi43ODUyIEM2NDcuMTM0MiwzMzYuNzg1MiA2NTQuNTY3MiwzMjkuMzM0MiA2NTQuNTY3MiwzMjAuMTQyMiBDNjU0LjU2NzIsMzEwLjk1MTIgNjQ3LjEzNDIsMzAzLjUwMDIgNjM3Ljk2NDIsMzAzLjUwMDIgTDQ3MC45MzMyLDMwMy41MDAyIEM0ODkuNzMzMiwzMTAuMDYzMiA1MDYuMjA1MiwzMjEuNTg1MiA1MTguNzg1MiwzMzYuNTAwMiBMNTU0Ljc3MjIsMzM2LjUwMDIgQzU2My43MzUyLDMzNi41MDAyIDU3MS4wMDAyLDM0NC4zMzUyIDU3MS4wMDAyLDM1NC4wMDAyIEM1NzEuMDAwMiwzNjMuNjY1MiA1NjMuNzM1MiwzNzEuNTAwMiA1NTQuNzcyMiwzNzEuNTAwMiBMNTM4LjY3ODIsMzcxLjUwMDIgQzU0Mi4xNDAyLDM4MS41NDAyIDU0NC4xODYyLDM5Mi4yMzgyIDU0NC41ODcyLDQwMy4zNTcyIEw2MDkuMjUzMiw0MDMuMzU3MiBMNjM5LjM3MjIsMzcwLjA3MTIgTDYyMy43NDEyLDM3MC4wNzEyIEM2MTQuNTcyMiwzNzAuMDcxMiA2MDcuMTM4MiwzNjIuNjIwMiA2MDcuMTM4MiwzNTMuNDI5MiBDNjA3LjEzODIsMzQ0LjIzNzIgNjE0LjU3MjIsMzM2Ljc4NTIgNjIzLjc0MTIsMzM2Ljc4NTIiIGlkPSJGaWxsLTI2IiBmaWxsPSIjQUNDMERDIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTk2MzU4ODE3Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQzNC42NjcsMjk3LjM3MyBDMzczLjkxNiwyOTcuMzczIDMyNC42NjcsMzQ2LjYyMiAzMjQuNjY3LDQwNy4zNzMgQzMyNC42NjcsNDY4LjEyNCAzNzMuOTE2LDUxNy4zNzMgNDM0LjY2Nyw1MTcuMzczIEM0OTUuNDE4LDUxNy4zNzMgNTQ0LjY2Nyw0NjguMTI0IDU0NC42NjcsNDA3LjM3MyBDNTQ0LjY2NywzNDYuNjIyIDQ5NS40MTgsMjk3LjM3MyA0MzQuNjY3LDI5Ny4zNzMgTTQzNC42NjcsMzAwLjM3MyBDNDYzLjI0OCwzMDAuMzczIDQ5MC4xMTgsMzExLjUwMyA1MTAuMzI3LDMzMS43MTMgQzUzMC41MzcsMzUxLjkyMiA1NDEuNjY3LDM3OC43OTIgNTQxLjY2Nyw0MDcuMzczIEM1NDEuNjY3LDQzNS45NTQgNTMwLjUzNyw0NjIuODI0IDUxMC4zMjcsNDgzLjAzMyBDNDkwLjExOCw1MDMuMjQzIDQ2My4yNDcsNTE0LjM3MyA0MzQuNjY3LDUxNC4zNzMgQzQwNi4wODcsNTE0LjM3MyAzNzkuMjE2LDUwMy4yNDMgMzU5LjAwNyw0ODMuMDMzIEMzMzguNzk3LDQ2Mi44MjQgMzI3LjY2Nyw0MzUuOTU0IDMyNy42NjcsNDA3LjM3MyBDMzI3LjY2NywzNzguNzkyIDMzOC43OTcsMzUxLjkyMiAzNTkuMDA3LDMzMS43MTMgQzM3OS4yMTYsMzExLjUwMyA0MDYuMDg2LDMwMC4zNzMgNDM0LjY2NywzMDAuMzczIiBpZD0iRmlsbC0yOCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzQuNjY3LDMxNi4zNzMgQzQ1OC45NzQsMzE2LjM3MyA0ODEuODI2LDMyNS44MzkgNDk5LjAxNCwzNDMuMDI2IEM1MTYuMjAxLDM2MC4yMTQgNTI1LjY2NywzODMuMDY2IDUyNS42NjcsNDA3LjM3MyBDNTI1LjY2Nyw0MzEuNjggNTE2LjIwMSw0NTQuNTMyIDQ5OS4wMTQsNDcxLjcyIEM0ODEuODI2LDQ4OC45MDcgNDU4Ljk3NCw0OTguMzczIDQzNC42NjcsNDk4LjM3MyBDNDEwLjM2LDQ5OC4zNzMgMzg3LjUwOCw0ODguOTA3IDM3MC4zMiw0NzEuNzIgQzM1My4xMzMsNDU0LjUzMiAzNDMuNjY3LDQzMS42OCAzNDMuNjY3LDQwNy4zNzMgQzM0My42NjcsMzgzLjA2NiAzNTMuMTMzLDM2MC4yMTQgMzcwLjMyLDM0My4wMjYgQzM4Ny41MDgsMzI1LjgzOSA0MTAuMzYsMzE2LjM3MyA0MzQuNjY3LDMxNi4zNzMiIGlkPSJGaWxsLTMwIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMzOS45Nzk1LDQ5NS42OTM0IEMzMjAuNTI5NSw0OTUuNjkzNCAzMDkuNDYyNSw0OTIuMjIxNCAzMDYuMzgwNSw0ODUuMjI4NCBDMzAyLjYzNTUsNDc2LjczMjQgMzEwLjgwMTUsNDYzLjk2MjQgMzMxLjM0NDUsNDQ2LjE4NTQgQzMzMS45NzA1LDQ0NS42NDA0IDMzMi45MTg1LDQ0NS43MTI0IDMzMy40NTk1LDQ0Ni4zMzg0IEMzMzQuMDAyNSw0NDYuOTY0NCAzMzMuOTM0NSw0NDcuOTExNCAzMzMuMzA3NSw0NDguNDUzNCBDMzIwLjE0NDUsNDU5Ljg0MzQgMzA1LjI2NDUsNDc1LjI1OTQgMzA5LjEyNTUsNDg0LjAxODQgQzMxMy45Mjk1LDQ5NC45MTY0IDM0Ni4wNTA1LDQ5My41NDQ0IDM3Mi4xNTE1LDQ5MC40NzY0IEM0MTEuMjAyNSw0ODUuODgzNCA0NTkuNjE5NSw0NjkuMDc2NCA1MDEuNjY3NSw0NDUuNTE2NCBDNTQwLjcyMTUsNDIzLjYzNDQgNTY2LjQwODUsNDAwLjMwMjQgNTY3LjEwODUsMzg2LjA3NTQgQzU2Ny40MjQ1LDM3OS42Mzc0IDU2Mi4zNDM1LDM3NS4yMjY0IDU1Mi4wMDU1LDM3Mi45NjQ0IEM1NTEuMTk2NSwzNzIuNzg4NCA1NTAuNjgzNSwzNzEuOTg4NCA1NTAuODYwNSwzNzEuMTc5NCBDNTUxLjAzODUsMzcwLjM3MjQgNTUxLjg0MTUsMzY5Ljg1OTQgNTUyLjY0NjUsMzcwLjAzNDQgQzU2Ny41NzM1LDM3My4yOTk0IDU3MC4zNzg1LDM4MC42Mzk0IDU3MC4xMDQ1LDM4Ni4yMjI0IEM1NjkuMzQzNSw0MDEuNjkxNCA1NDMuNjgyNSw0MjUuNDE1NCA1MDMuMTM0NSw0NDguMTMzNCBDNDYwLjc1ODUsNDcxLjg3NzQgNDExLjkyMzUsNDg4LjgxOTQgMzcyLjUwMDUsNDkzLjQ1NTQgQzM1OS44MzI1LDQ5NC45NDU0IDM0OS4wMDE1LDQ5NS42OTM0IDMzOS45Nzk1LDQ5NS42OTM0IiBpZD0iRmlsbC0zMiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MDUuNSwzNDEuNSBDMzk0LjE3OSwzNDEuNSAzODUsMzUwLjY3OCAzODUsMzYyIEMzODUsMzczLjMyMiAzOTQuMTc5LDM4Mi41IDQwNS41LDM4Mi41IEM0MTYuODIyLDM4Mi41IDQyNiwzNzMuMzIyIDQyNiwzNjIgQzQyNiwzNTAuNjc4IDQxNi44MjIsMzQxLjUgNDA1LjUsMzQxLjUgTTQwNS41LDM0NC41IEM0MTUuMTQ5LDM0NC41IDQyMywzNTIuMzUxIDQyMywzNjIgQzQyMywzNzEuNjQ5IDQxNS4xNDksMzc5LjUgNDA1LjUsMzc5LjUgQzM5NS44NTEsMzc5LjUgMzg4LDM3MS42NDkgMzg4LDM2MiBDMzg4LDM1Mi4zNTEgMzk1Ljg1MSwzNDQuNSA0MDUuNSwzNDQuNSIgaWQ9IkZpbGwtMzQiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDA0LjM4MzgsMzk2Ljg3OTkgQzM5Ny4wNjk4LDM5Ni44Nzk5IDM5MC4yNTU4LDM5NC40Njg5IDM4NC4wODA4LDM4OS42ODU5IEMzODMuNDI2OCwzODkuMTc4OSAzODMuMzA2OCwzODguMjM1OSAzODMuODE0OCwzODcuNTgwOSBDMzg0LjMyMDgsMzg2LjkyNzkgMzg1LjI2MzgsMzg2LjgwNjkgMzg1LjkxODgsMzg3LjMxNDkgQzM5Mi41MDc4LDM5Mi40MTc5IDM5OS44Nzg4LDM5NC41NjI5IDQwNy44MzU4LDM5My42ODc5IEM0MDguNjY0OCwzOTMuNTkzOSA0MDkuNDAwOCwzOTQuMTkxOSA0MDkuNDkwOCwzOTUuMDE0OSBDNDA5LjU4MTgsMzk1LjgzNzkgNDA4Ljk4NzgsMzk2LjU3ODkgNDA4LjE2MzgsMzk2LjY2OTkgQzQwNi44ODk4LDM5Ni44MDk5IDQwNS42Mjk4LDM5Ni44Nzk5IDQwNC4zODM4LDM5Ni44Nzk5IiBpZD0iRmlsbC0zNiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MjguMDAxLDM5MCBDNDI3LjQ2MSwzOTAgNDI2LjkzOSwzODkuNzA4IDQyNi42NzIsMzg5LjE5NiBDNDI2LjI4NywzODguNDYzIDQyNi41NywzODcuNTU2IDQyNy4zMDQsMzg3LjE3MiBDNDM4LjA4MSwzODEuNTIxIDQ0MS45MTYsMzcxLjMxMSA0MzkuMDI2LDM1NS45NTQgQzQzOC44NzMsMzU1LjE0IDQzOS40MDgsMzU0LjM1NSA0NDAuMjIzLDM1NC4yMDMgQzQ0MS4wMzcsMzU0LjA0MiA0NDEuODIxLDM1NC41ODUgNDQxLjk3NCwzNTUuMzk5IEM0NDUuMDk3LDM3MS45ODkgNDQwLjYyOSwzODMuNTczIDQyOC42OTYsMzg5LjgyOCBDNDI4LjQ3NSwzODkuOTQ1IDQyOC4yMzYsMzkwIDQyOC4wMDEsMzkwIiBpZD0iRmlsbC0zOCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00NTcuNSw0MTMuNSBDNDUyLjgwNiw0MTMuNSA0NDksNDE3LjMwNiA0NDksNDIyIEM0NDksNDI2LjY5NCA0NTIuODA2LDQzMC41IDQ1Ny41LDQzMC41IEM0NjIuMTk0LDQzMC41IDQ2Niw0MjYuNjk0IDQ2Niw0MjIgQzQ2Niw0MTcuMzA2IDQ2Mi4xOTQsNDEzLjUgNDU3LjUsNDEzLjUgTTQ1Ny41LDQxNi41IEM0NjAuNTMzLDQxNi41IDQ2Myw0MTguOTY3IDQ2Myw0MjIgQzQ2Myw0MjUuMDMzIDQ2MC41MzMsNDI3LjUgNDU3LjUsNDI3LjUgQzQ1NC40NjgsNDI3LjUgNDUyLDQyNS4wMzMgNDUyLDQyMiBDNDUyLDQxOC45NjcgNDU0LjQ2OCw0MTYuNSA0NTcuNSw0MTYuNSIgaWQ9IkZpbGwtNDAiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDU3LjQxNyw0MzggQzQ1NC4wNTEsNDM4IDQ1MC45MTcsNDM2Ljg4OSA0NDguMDgsNDM0LjY4NSBDNDQ3LjQyNiw0MzQuMTc3IDQ0Ny4zMDgsNDMzLjIzNCA0NDcuODE1LDQzMi41OCBDNDQ4LjMyNCw0MzEuOTI2IDQ0OS4yNjYsNDMxLjgwNyA0NDkuOTIsNDMyLjMxNSBDNDUyLjY0NCw0MzQuNDMgNDU1LjU1Nyw0MzUuMjgzIDQ1OC44MzUsNDM0LjkyIEM0NTkuNjY4LDQzNC44MzggNDYwLjM5OSw0MzUuNDIzIDQ2MC40OTEsNDM2LjI0NiBDNDYwLjU4Miw0MzcuMDY5IDQ1OS45ODgsNDM3LjgxMSA0NTkuMTY1LDQzNy45MDIgQzQ1OC41NzYsNDM3Ljk2NyA0NTcuOTkzLDQzOCA0NTcuNDE3LDQzOCIgaWQ9IkZpbGwtNDIiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDY3LjAwMSw0MzUgQzQ2Ni40NTEsNDM1IDQ2NS45MjIsNDM0LjY5NyA0NjUuNjU5LDQzNC4xNzIgQzQ2NS4yODgsNDMzLjQzMSA0NjUuNTg4LDQzMi41MyA0NjYuMzI4LDQzMi4xNTkgQzQ3MC43NDgsNDI5Ljk0NSA0NzIuMzEyLDQyNS44OTkgNDcxLjEwOCw0MTkuNzkgQzQ3MC45NDgsNDE4Ljk3NyA0NzEuNDc4LDQxOC4xODggNDcyLjI5LDQxOC4wMjggQzQ3My4wOTcsNDE3Ljg2NCA0NzMuODkyLDQxOC4zOTYgNDc0LjA1Miw0MTkuMjEgQzQ3NS41MzEsNDI2LjcyMSA0NzMuMzg1LDQzMS45NzkgNDY3LjY3Miw0MzQuODQxIEM0NjcuNDU2LDQzNC45NDkgNDY3LjIyNyw0MzUgNDY3LjAwMSw0MzUiIGlkPSJGaWxsLTQ0IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ5NSwzNTQgQzQ5MC4wMywzNTQgNDg2LDM1OC4wMjkgNDg2LDM2MyBDNDg2LDM2Ny45NzEgNDkwLjAzLDM3MiA0OTUsMzcyIEM0OTkuOTcxLDM3MiA1MDQsMzY3Ljk3MSA1MDQsMzYzIEM1MDQsMzU4LjAyOSA0OTkuOTcxLDM1NCA0OTUsMzU0IE00OTUsMzU3IEM0OTguMzA5LDM1NyA1MDEsMzU5LjY5MSA1MDEsMzYzIEM1MDEsMzY2LjMwOSA0OTguMzA5LDM2OSA0OTUsMzY5IEM0OTEuNjkyLDM2OSA0ODksMzY2LjMwOSA0ODksMzYzIEM0ODksMzU5LjY5MSA0OTEuNjkyLDM1NyA0OTUsMzU3IiBpZD0iRmlsbC00NiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01MTcsMzk1LjUgQzUxOC42NTcsMzk1LjUgNTIwLDM5NC4xNTcgNTIwLDM5Mi41IEM1MjAsMzkwLjg0MyA1MTguNjU3LDM4OS41IDUxNywzODkuNSBDNTE1LjM0NCwzODkuNSA1MTQsMzkwLjg0MyA1MTQsMzkyLjUgQzUxNCwzOTQuMTU3IDUxNS4zNDQsMzk1LjUgNTE3LDM5NS41IiBpZD0iRmlsbC00OCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zODgsNDI0LjUgQzM4MS4zNzMsNDI0LjUgMzc2LDQyOS44NzMgMzc2LDQzNi41IEMzNzYsNDQzLjEyNyAzODEuMzczLDQ0OC41IDM4OCw0NDguNSBDMzk0LjYyOCw0NDguNSA0MDAsNDQzLjEyNyA0MDAsNDM2LjUgQzQwMCw0MjkuODczIDM5NC42MjgsNDI0LjUgMzg4LDQyNC41IE0zODgsNDI3LjUgQzM5Mi45NjMsNDI3LjUgMzk3LDQzMS41MzcgMzk3LDQzNi41IEMzOTcsNDQxLjQ2MyAzOTIuOTYzLDQ0NS41IDM4OCw0NDUuNSBDMzgzLjAzOCw0NDUuNSAzNzksNDQxLjQ2MyAzNzksNDM2LjUgQzM3OSw0MzEuNTM3IDM4My4wMzgsNDI3LjUgMzg4LDQyNy41IiBpZD0iRmlsbC01MCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNzYsNDUyLjUgQzM3OS45MjMsNDU1LjYyNSAzODQuMjU2LDQ1Ni45MTkgMzg5LDQ1Ni4zODIiIGlkPSJTdHJva2UtNTIiIHN0cm9rZT0iI0EzQjFCRiIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTY1LjUsMjU0IEM1NzEuMDIzLDI1NCA1NzUuNSwyNDkuNTIyIDU3NS41LDI0NCBDNTc1LjUsMjM4LjQ3OCA1NzEuMDIzLDIzNCA1NjUuNSwyMzQgQzU1OS45NzgsMjM0IDU1NS41LDIzOC40NzggNTU1LjUsMjQ0IEM1NTUuNSwyNDkuNTIyIDU1OS45NzgsMjU0IDU2NS41LDI1NCIgaWQ9IkZpbGwtNTQiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTY1LjUsMjU0IEM1NTkuOTc4LDI1NCA1NTUuNSwyNDkuNTIzIDU1NS41LDI0NCBDNTU1LjUsMjM4LjQ3NyA1NTkuOTc4LDIzNCA1NjUuNSwyMzQgQzU3MS4wMjMsMjM0IDU3NS41LDIzOC40NzcgNTc1LjUsMjQ0IEM1NzUuNSwyNDkuNTIzIDU3MS4wMjMsMjU0IDU2NS41LDI1NCBNNTY1LjUsMjMxIEM1NTguMzIsMjMxIDU1Mi41LDIzNi44MiA1NTIuNSwyNDQgQzU1Mi41LDI1MS4xOCA1NTguMzIsMjU3IDU2NS41LDI1NyBDNTcyLjY4MSwyNTcgNTc4LjUsMjUxLjE4IDU3OC41LDI0NCBDNTc4LjUsMjM2LjgyIDU3Mi42ODEsMjMxIDU2NS41LDIzMSIgaWQ9IkZpbGwtNTYiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzAyLjQwMDQsMzAxLjM2NjIgQzMwNy45MjI0LDMwMS4zNjYyIDMxMi40MDA0LDI5Ni44ODgyIDMxMi40MDA0LDI5MS4zNjYyIEMzMTIuNDAwNCwyODUuODQzMiAzMDcuOTIyNCwyODEuMzY2MiAzMDIuNDAwNCwyODEuMzY2MiBDMjk2Ljg3ODQsMjgxLjM2NjIgMjkyLjQwMDQsMjg1Ljg0MzIgMjkyLjQwMDQsMjkxLjM2NjIgQzI5Mi40MDA0LDI5Ni44ODgyIDI5Ni44Nzg0LDMwMS4zNjYyIDMwMi40MDA0LDMwMS4zNjYyIiBpZD0iRmlsbC01OCIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMDIuNDAwNCwzMDEuMzY2MiBDMjk2Ljg3ODQsMzAxLjM2NjIgMjkyLjQwMDQsMjk2Ljg4ODIgMjkyLjQwMDQsMjkxLjM2NjIgQzI5Mi40MDA0LDI4NS44NDMyIDI5Ni44Nzg0LDI4MS4zNjYyIDMwMi40MDA0LDI4MS4zNjYyIEMzMDcuOTIyNCwyODEuMzY2MiAzMTIuNDAwNCwyODUuODQzMiAzMTIuNDAwNCwyOTEuMzY2MiBDMzEyLjQwMDQsMjk2Ljg4ODIgMzA3LjkyMjQsMzAxLjM2NjIgMzAyLjQwMDQsMzAxLjM2NjIgTTMwMi40MDA0LDI3OC4zNjYyIEMyOTUuMjIwNCwyNzguMzY2MiAyODkuNDAwNCwyODQuMTg2MiAyODkuNDAwNCwyOTEuMzY2MiBDMjg5LjQwMDQsMjk4LjU0NjIgMjk1LjIyMDQsMzA0LjM2NjIgMzAyLjQwMDQsMzA0LjM2NjIgQzMwOS41ODA0LDMwNC4zNjYyIDMxNS40MDA0LDI5OC41NDYyIDMxNS40MDA0LDI5MS4zNjYyIEMzMTUuNDAwNCwyODQuMTg2MiAzMDkuNTgwNCwyNzguMzY2MiAzMDIuNDAwNCwyNzguMzY2MiIgaWQ9IkZpbGwtNjAiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNODQuNTAwMjE4Myw3MDAuNDU0MSBDODguMDY0ODU4MSw3MDAuNDU0MSA5MC45NTUsNjk3LjU2NDYxOSA5MC45NTUsNjk0LjAwMDEgQzkwLjk1NSw2OTAuNDM1NTgxIDg4LjA2NDg1ODEsNjg3LjU0NjEgODQuNTAwMjE4Myw2ODcuNTQ2MSBDODAuOTM1NTc4NCw2ODcuNTQ2MSA3OC4wNDYsNjkwLjQzNTU4MSA3OC4wNDYsNjk0LjAwMDEgQzc4LjA0Niw2OTcuNTY0NjE5IDgwLjkzNTU3ODQsNzAwLjQ1NDEgODQuNTAwMjE4Myw3MDAuNDU0MSIgaWQ9IkZpbGwtNjIiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNODQuNSw3MDUuNDU0MSBDNzguMTc0LDcwNS40NTQxIDczLjA0Niw3MDAuMzI2MSA3My4wNDYsNjk0LjAwMDEgQzczLjA0Niw2ODcuNjc0MSA3OC4xNzQsNjgyLjU0NjEgODQuNSw2ODIuNTQ2MSBDOTAuODI2LDY4Mi41NDYxIDk1Ljk1NSw2ODcuNjc0MSA5NS45NTUsNjk0LjAwMDEgQzk1Ljk1NSw3MDAuMzI2MSA5MC44MjYsNzA1LjQ1NDEgODQuNSw3MDUuNDU0MSBNODQuNSw2NzkuMDAwMSBDNzYuMjE2LDY3OS4wMDAxIDY5LjUsNjg1LjcxNjEgNjkuNSw2OTQuMDAwMSBDNjkuNSw3MDIuMjg0MSA3Ni4yMTYsNzA5LjAwMDEgODQuNSw3MDkuMDAwMSBDOTIuNzg0LDcwOS4wMDAxIDk5LjUsNzAyLjI4NDEgOTkuNSw2OTQuMDAwMSBDOTkuNSw2ODUuNzE2MSA5Mi43ODQsNjc5LjAwMDEgODQuNSw2NzkuMDAwMSIgaWQ9IkZpbGwtNjQiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTYyLDU3MC41IEM1NjQuNzYyLDU3MC41IDU2Nyw1NjguMjYyIDU2Nyw1NjUuNSBDNTY3LDU2Mi43MzggNTY0Ljc2Miw1NjAuNSA1NjIsNTYwLjUgQzU1OS4yMzksNTYwLjUgNTU3LDU2Mi43MzggNTU3LDU2NS41IEM1NTcsNTY4LjI2MiA1NTkuMjM5LDU3MC41IDU2Miw1NzAuNSIgaWQ9IkZpbGwtNjYiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTAsMzU1LjUgQzUyLjc2MiwzNTUuNSA1NSwzNTMuMjYyIDU1LDM1MC41IEM1NSwzNDcuNzM4IDUyLjc2MiwzNDUuNSA1MCwzNDUuNSBDNDcuMjM5LDM0NS41IDQ1LDM0Ny43MzggNDUsMzUwLjUgQzQ1LDM1My4yNjIgNDcuMjM5LDM1NS41IDUwLDM1NS41IiBpZD0iRmlsbC02OCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03ODUsMzM0LjUgQzc4Ny43NjIsMzM0LjUgNzkwLDMzMi4yNjIgNzkwLDMyOS41IEM3OTAsMzI2LjczOCA3ODcuNzYyLDMyNC41IDc4NSwzMjQuNSBDNzgyLjIzOSwzMjQuNSA3ODAsMzI2LjczOCA3ODAsMzI5LjUgQzc4MCwzMzIuMjYyIDc4Mi4yMzksMzM0LjUgNzg1LDMzNC41IiBpZD0iRmlsbC03MCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzUsNTA2LjUgQzQzNy43NjIsNTA2LjUgNDQwLDUwNC4yNjIgNDQwLDUwMS41IEM0NDAsNDk4LjczOCA0MzcuNzYyLDQ5Ni41IDQzNSw0OTYuNSBDNDMyLjIzOSw0OTYuNSA0MzAsNDk4LjczOCA0MzAsNTAxLjUgQzQzMCw1MDQuMjYyIDQzMi4yMzksNTA2LjUgNDM1LDUwNi41IiBpZD0iRmlsbC03MiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNTksMjU1LjUgQzM2MS43NjIsMjU1LjUgMzY0LDI1My4yNjIgMzY0LDI1MC41IEMzNjQsMjQ3LjczOCAzNjEuNzYyLDI0NS41IDM1OSwyNDUuNSBDMzU2LjIzOSwyNDUuNSAzNTQsMjQ3LjczOCAzNTQsMjUwLjUgQzM1NCwyNTMuMjYyIDM1Ni4yMzksMjU1LjUgMzU5LDI1NS41IiBpZD0iRmlsbC03NCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NzYsNzE1LjUgQzc3OC43NjIsNzE1LjUgNzgxLDcxMy4yNjIgNzgxLDcxMC41IEM3ODEsNzA3LjczOCA3NzguNzYyLDcwNS41IDc3Niw3MDUuNSBDNzczLjIzOSw3MDUuNSA3NzEsNzA3LjczOCA3NzEsNzEwLjUgQzc3MSw3MTMuMjYyIDc3My4yMzksNzE1LjUgNzc2LDcxNS41IiBpZD0iRmlsbC03NiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00Niw1NTQgQzIyLjU2NSw1NTQgMy41LDU3My4wNjUgMy41LDU5Ni41IEMzLjUsNjE5LjkzNSAyMi41NjUsNjM5IDQ2LDYzOSBDNjkuNDM1LDYzOSA4OC41LDYxOS45MzUgODguNSw1OTYuNSBDODguNSw1NzMuMDY1IDY5LjQzNSw1NTQgNDYsNTU0IE00Niw2NDIuNSBDMjAuNjM2LDY0Mi41IDAsNjIxLjg2NCAwLDU5Ni41IEMwLDU3MS4xMzYgMjAuNjM2LDU1MC41IDQ2LDU1MC41IEM3MS4zNjQsNTUwLjUgOTIsNTcxLjEzNiA5Miw1OTYuNSBDOTIsNjIxLjg2NCA3MS4zNjQsNjQyLjUgNDYsNjQyLjUiIGlkPSJGaWxsLTc4IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ2LDYzMy41IEM2Ni40MzUsNjMzLjUgODMsNjE2LjkzNSA4Myw1OTYuNSBDODMsNTc2LjA2NSA2Ni40MzUsNTU5LjUgNDYsNTU5LjUgQzI1LjU2NSw1NTkuNSA5LDU3Ni4wNjUgOSw1OTYuNSBDOSw2MTYuOTM1IDI1LjU2NSw2MzMuNSA0Niw2MzMuNSIgaWQ9IkZpbGwtODAiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOC41LDU3NS41IEw1Mi41LDU3NS41IEM1My4zMjksNTc1LjUgNTQsNTc0LjgyOCA1NCw1NzQgQzU0LDU3My4xNzIgNTMuMzI5LDU3Mi41IDUyLjUsNTcyLjUgTDguNSw1NzIuNSBDNy42NzIsNTcyLjUgNyw1NzMuMTcyIDcsNTc0IEM3LDU3NC44MjggNy42NzIsNTc1LjUgOC41LDU3NS41IiBpZD0iRmlsbC04MiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04Ny41LDU4My41IEw2MS41LDU4My41IEM2MC42NzIsNTgzLjUgNjAsNTg0LjE3MiA2MCw1ODUgQzYwLDU4NS44MjggNjAuNjcyLDU4Ni41IDYxLjUsNTg2LjUgTDg3LjUsNTg2LjUgQzg4LjMyOSw1ODYuNSA4OSw1ODUuODI4IDg5LDU4NSBDODksNTg0LjE3MiA4OC4zMjksNTgzLjUgODcuNSw1ODMuNSIgaWQ9IkZpbGwtODQiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTQsNTg1IEM1NCw1ODQuMTcyIDUzLjMyOSw1ODMuNSA1Mi41LDU4My41IEw0MC41LDU4My41IEMzOS42NzIsNTgzLjUgMzksNTg0LjE3MiAzOSw1ODUgQzM5LDU4NS44MjggMzkuNjcyLDU4Ni41IDQwLjUsNTg2LjUgTDUyLjUsNTg2LjUgQzUzLjMyOSw1ODYuNSA1NCw1ODUuODI4IDU0LDU4NSIgaWQ9IkZpbGwtODYiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzUuNSw1OTguNSBDMzQuNjcyLDU5OC41IDM0LDU5OS4xNzIgMzQsNjAwIEMzNCw2MDAuODI4IDM0LjY3Miw2MDEuNSAzNS41LDYwMS41IEw0Ny41LDYwMS41IEM0OC4zMjksNjAxLjUgNDksNjAwLjgyOCA0OSw2MDAgQzQ5LDU5OS4xNzIgNDguMzI5LDU5OC41IDQ3LjUsNTk4LjUgTDM1LjUsNTk4LjUgWiIgaWQ9IkZpbGwtODgiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjIuNSw2MTguNSBMNTAuNSw2MTguNSBDNDkuNjcyLDYxOC41IDQ5LDYxOS4xNzIgNDksNjIwIEM0OSw2MjAuODI4IDQ5LjY3Miw2MjEuNSA1MC41LDYyMS41IEw2Mi41LDYyMS41IEM2My4zMjksNjIxLjUgNjQsNjIwLjgyOCA2NCw2MjAgQzY0LDYxOS4xNzIgNjMuMzI5LDYxOC41IDYyLjUsNjE4LjUiIGlkPSJGaWxsLTkwIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTgzLjUsNjE4LjUgTDcxLjUsNjE4LjUgQzcwLjY3Miw2MTguNSA3MCw2MTkuMTcyIDcwLDYyMCBDNzAsNjIwLjgyOCA3MC42NzIsNjIxLjUgNzEuNSw2MjEuNSBMODMuNSw2MjEuNSBDODQuMzI5LDYyMS41IDg1LDYyMC44MjggODUsNjIwIEM4NSw2MTkuMTcyIDg0LjMyOSw2MTguNSA4My41LDYxOC41IiBpZD0iRmlsbC05MiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOCw2MDAgQzI4LDU5OS4xNzIgMjcuMzI5LDU5OC41IDI2LjUsNTk4LjUgTDMuNSw1OTguNSBDMi42NzIsNTk4LjUgMiw1OTkuMTcyIDIsNjAwIEMyLDYwMC44MjggMi42NzIsNjAxLjUgMy41LDYwMS41IEwyNi41LDYwMS41IEMyNy4zMjksNjAxLjUgMjgsNjAwLjgyOCAyOCw2MDAiIGlkPSJGaWxsLTk0IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTYzLjUsNjA5LjUgTDYuNSw2MDkuNSBDNS42NzIsNjA5LjUgNSw2MTAuMTcyIDUsNjExIEM1LDYxMS44MjggNS42NzIsNjEyLjUgNi41LDYxMi41IEw2My41LDYxMi41IEM2NC4zMjksNjEyLjUgNjUsNjExLjgyOCA2NSw2MTEgQzY1LDYxMC4xNzIgNjQuMzI5LDYwOS41IDYzLjUsNjA5LjUiIGlkPSJGaWxsLTk2IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2OCw0MzAuNSBMMjE4LDM3NS41IEwyMTgsNDMwLjUgTDE2OCw0MzAuNSBaIE0yMzUuMTQ4LDMyMS41IEMyMzUuMDE4LDMyMS41IDIzNC4yODIsMzIxLjUwMiAyMzQuMDQ0LDMyMS41MDIgQzIzMC4wOCwzMjEuNTAyIDIyNi4xMjgsMzIzLjEgMjIzLjI3NCwzMjYuMjQ2IEwyMTkuNDAxLDMzMC41MTYgTDE3OS4xNDksMzMwLjUxNiBDMTc0LjQxOSwzMzAuNTE2IDE3MC41NDksMzM0LjM3OSAxNzAuNTQ5LDMzOS4xMDIgQzE3MC41NDksMzQzLjgyMyAxNzQuNDE5LDM0Ny42ODcgMTc5LjE0OSwzNDcuNjg3IEwxOTcuNDI1LDM0Ny42ODcgQzIwMi4xNTUsMzQ3LjY4NyAyMDYuMDI1LDM1MS41NSAyMDYuMDI1LDM1Ni4yNzEgQzIwNi4wMjUsMzYwLjk5NCAyMDIuMTU1LDM2NC44NTcgMTk3LjQyNSwzNjQuODU3IEwxNzMuNzc0LDM2NC44NTcgTDE0Ni44OTgsMzY0Ljg1NyBDMTQyLjE2OCwzNjQuODU3IDEzOC4yOTgsMzY4LjcyMSAxMzguMjk4LDM3My40NDIgQzEzOC4yOTgsMzc4LjE2NCAxNDIuMTY4LDM4Mi4wMjggMTQ2Ljg5OCwzODIuMDI4IEwxNzIuNjc2LDM4Mi4wMjggTDEyNC43MzgsNDM0Ljg3NyBDMTE5LjM4LDQ0MC43ODMgMTE5LjgzOCw0NDkuOTkyIDEyNS43NTUsNDU1LjM0MSBDMTI4LjAzNyw0NTcuNDA0IDEzMC44MTQsNDU4LjU5NSAxMzMuNjcsNDU4Ljk0OSBDMTM0LjY3NCw0NTkuMTcyIDEzNS43MTMsNDU5LjI5NiAxMzYuNzgyLDQ1OS4yOTYgTDIxNy45NDgsNDU5LjI5NiBMMjE3Ljk0OCw0ODAuMzI5IEMyMTcuOTQ4LDQ4OS43NzMgMjI1LjY4OCw0OTcuNSAyMzUuMTQ4LDQ5Ny41IEMyNDQuNjA4LDQ5Ny41IDI1Mi4zNSw0ODkuNzczIDI1Mi4zNSw0ODAuMzI5IEwyNTIuMzUsNDU5LjI5NiBMMjYxLjQ4Nyw0NTkuMjk2IEMyNjkuNDcsNDU5LjI5NiAyNzYsNDUyLjc3NiAyNzYsNDQ0LjgwOSBDMjc2LDQzNi44NCAyNjkuNDcsNDMwLjMyIDI2MS40ODcsNDMwLjMyIEwyNTIuMzUsNDMwLjMyIEwyNTIuMzUsMzM4LjY3MSBDMjUyLjM1LDMyOS4yMjcgMjQ0LjYwOCwzMjEuNSAyMzUuMTQ4LDMyMS41IEwyMzUuMTQ4LDMyMS41IFogTTE2MS4yMTksNDMzLjUgTDE2OCw0MzMuNSBMMjE4LDQzMy41IEwyMjEsNDMzLjUgTDIyMSw0MzAuNSBMMjIxLDM3NS41IEwyMjEsMzY3Ljc0IEwyMTUuNzgsMzczLjQ4MiBMMTY1Ljc4LDQyOC40ODIgTDE2MS4yMTksNDMzLjUgTDE2MS4yMTksNDMzLjUgWiBNMjM1LjE4NywzMjQuNSBDMjQyLjk5OSwzMjQuNTIxIDI0OS4zNSwzMzAuODY5IDI0OS4zNSwzMzguNjcxIEwyNDkuMzUsNDMzLjMyIEwyNjEuNDg3LDQzMy4zMiBDMjY3LjgzNSw0MzMuMzIgMjczLDQzOC40NzQgMjczLDQ0NC44MDkgQzI3Myw0NTEuMTQzIDI2Ny44MzUsNDU2LjI5NiAyNjEuNDg3LDQ1Ni4yOTYgTDI0OS4zNSw0NTYuMjk2IEwyNDkuMzUsNDgwLjMyOSBDMjQ5LjM1LDQ4OC4xNDMgMjQyLjk3OSw0OTQuNSAyMzUuMTQ4LDQ5NC41IEMyMjcuMzE4LDQ5NC41IDIyMC45NDgsNDg4LjE0MyAyMjAuOTQ4LDQ4MC4zMjkgTDIyMC45NDgsNDU2LjI5NiBMMTM2Ljc4Miw0NTYuMjk2IEMxMzUuOTc0LDQ1Ni4yOTYgMTI5LjUxLDQ1NC42OSAxMjcuNzY3LDQ1My4xMTUgQzEyNS40OTksNDUxLjA2NSAxMjQuMTY3LDQ0OC4yNDMgMTI0LjAxNSw0NDUuMTY3IEMxMjMuODYyLDQ0Mi4wOTMgMTI0LjkwOCw0MzkuMTU0IDEyNi45Niw0MzYuODkzIEwxNzkuNDQ3LDM3OS4wMjggTDE0Ni44OTgsMzc5LjAyOCBDMTQzLjgxLDM3OS4wMjggMTQxLjI5OCwzNzYuNTIyIDE0MS4yOTgsMzczLjQ0MiBDMTQxLjI5OCwzNzAuMzYzIDE0My44MSwzNjcuODU3IDE0Ni44OTgsMzY3Ljg1NyBMMTk3LjQyNSwzNjcuODU3IEMyMDMuODIxLDM2Ny44NTcgMjA5LjAyNSwzNjIuNjYgMjA5LjAyNSwzNTYuMjcxIEMyMDkuMDI1LDM0OS44ODQgMjAzLjgyMSwzNDQuNjg3IDE5Ny40MjUsMzQ0LjY4NyBMMTc5LjE0OSwzNDQuNjg3IEMxNzYuMDYyLDM0NC42ODcgMTczLjU0OSwzNDIuMTgxIDE3My41NDksMzM5LjEwMiBDMTczLjU0OSwzMzYuMDIxIDE3Ni4wNjIsMzMzLjUxNiAxNzkuMTQ5LDMzMy41MTYgTDIyMC43MywzMzMuNTE2IEwyMjUuNDk3LDMyOC4yNjEgQzIyNy42NjMsMzI1Ljg3MiAyMzAuNzc5LDMyNC41MDIgMjM0LjA0NCwzMjQuNTAyIEwyMzUuMTg3LDMyNC41IFoiIGlkPSJGaWxsLTk4IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTI0MC4zNjIzLDMzMS41IEwyNDAuMzYyMywzMzEuNSBDMjQ1LjMzMzMsMzMxLjUgMjQ5LjM2MjMsMzM1LjUyOSAyNDkuMzYyMywzNDAuNSBMMjQ5LjM2MjMsNDI3LjUgQzI0OS4zNjIzLDQzMi40NzEgMjQ1LjMzMzMsNDM2LjUgMjQwLjM2MjMsNDM2LjUgQzIzNS4zOTEzLDQzNi41IDIzMS4zNjIzLDQzMi40NzEgMjMxLjM2MjMsNDI3LjUgTDIzMS4zNjIzLDM0MC41IEMyMzEuMzYyMywzMzUuNTI5IDIzNS4zOTEzLDMzMS41IDI0MC4zNjIzLDMzMS41IiBpZD0iRmlsbC0xMDAiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjIzLjkxNiw0MzAuMzIwMyBMNjczLjcxNiwzNzUuMjg3MyBMNjczLjcxNiw0MzAuMzIwMyBMNjIzLjkxNiw0MzAuMzIwMyBaIE02OTAuODc2LDMyMS41MDAzIEM2OTAuNzQ1LDMyMS41MDAzIDY5MC42MTgsMzIxLjUxNzMgNjkwLjQ4NywzMjEuNTE5MyBDNjkwLjI1LDMyMS41MDczIDY5MC4wMTIsMzIxLjUwMjMgNjg5Ljc3MywzMjEuNTAyMyBDNjg1LjgxOCwzMjEuNTAyMyA2ODEuODc3LDMyMy4wOTkzIDY3OS4wMjksMzI2LjI0NjMgTDY3OC43NzQsMzI2LjUyNzMgQzY3OC4zNjUsMzI2LjkzNjMgNjc3Ljk3OCwzMjcuMzY3MyA2NzcuNjA5LDMyNy44MTUzIEw1ODAuNzI5LDQzNC44NzczIEM1NzUuMzg0LDQ0MC43ODMzIDU3NS44NDEsNDQ5Ljk5MjMgNTgxLjc0Myw0NTUuMzQxMyBDNTg0LjAyMSw0NTcuNDA0MyA1ODYuNzksNDU4LjU5NDMgNTg5LjYzOSw0NTguOTQ5MyBDNTkwLjY0Miw0NTkuMTcyMyA1OTEuNjc5LDQ1OS4yOTYzIDU5Mi43NDUsNDU5LjI5NjMgTDY3My43MTYsNDU5LjI5NjMgTDY3My43MTYsNDgwLjMyOTMgQzY3My43MTYsNDg5Ljc3MzMgNjgxLjQzNyw0OTcuNTAwMyA2OTAuODc2LDQ5Ny41MDAzIEM3MDAuMzEzLDQ5Ny41MDAzIDcwOC4wMzUsNDg5Ljc3MzMgNzA4LjAzNSw0ODAuMzI5MyBMNzA4LjAzNSw0NTkuMjk2MyBMNzE3LjE1MSw0NTkuMjk2MyBDNzI1LjExNCw0NTkuMjk2MyA3MzEuNjI5LDQ1Mi43NzYzIDczMS42MjksNDQ0LjgwODMgQzczMS42MjksNDM2Ljg0MDMgNzI1LjExNCw0MzAuMzIwMyA3MTcuMTUxLDQzMC4zMjAzIEw3MDguMDM1LDQzMC4zMjAzIEw3MDguMDM1LDQwOS45MzAzIEw3NDMuNDI3LDQwOS45MzAzIEM3NDguMTQ1LDQwOS45MzAzIDc1Mi4wMDYsNDA2LjA2NjMgNzUyLjAwNiw0MDEuMzQ0MyBDNzUyLjAwNiwzOTYuNjIzMyA3NDguMTQ1LDM5Mi43NTkzIDc0My40MjcsMzkyLjc1OTMgTDczMi43MDIsMzkyLjc1OTMgTDcwOC4wMzUsMzkyLjc1OTMgTDcwMy43NDUsMzkyLjc1OTMgQzY5OS4wMjYsMzkyLjc1OTMgNjk1LjE2NSwzODguODk2MyA2OTUuMTY1LDM4NC4xNzQzIEM2OTUuMTY1LDM3OS40NTIzIDY5OS4wMjYsMzc1LjU4OTMgNzAzLjc0NSwzNzUuNTg5MyBMNzA4LjAzNSwzNzUuNTg5MyBMNzIwLjkwNCwzNzUuNTg5MyBDNzI1LjYyMywzNzUuNTg5MyA3MjkuNDg0LDM3MS43MjUzIDcyOS40ODQsMzY3LjAwNDMgQzcyOS40ODQsMzYyLjI4MTMgNzI1LjYyMywzNTguNDE4MyA3MjAuOTA0LDM1OC40MTgzIEw3MDguMDM1LDM1OC40MTgzIEw3MDguMDM1LDMzOC42NzEzIEM3MDguMDM1LDMyOS4yMjYzIDcwMC4zMTMsMzIxLjUwMDMgNjkwLjg3NiwzMjEuNTAwMyBMNjkwLjg3NiwzMjEuNTAwMyBaIE02MTcuMTU1LDQzMy4zMjAzIEw2MjMuOTE2LDQzMy4zMjAzIEw2NzMuNzE2LDQzMy4zMjAzIEw2NzYuNzE2LDQzMy4zMjAzIEw2NzYuNzE2LDQzMC4zMjAzIEw2NzYuNzE2LDM3NS4yODczIEw2NzYuNzE2LDM2Ny41MDEzIEw2NzEuNDkxLDM3My4yNzQzIEw2MjEuNjkxLDQyOC4zMDczIEw2MTcuMTU1LDQzMy4zMjAzIEw2MTcuMTU1LDQzMy4zMjAzIFogTTY5MC45MTMsMzI0LjUwMDMgQzY5OC43MDMsMzI0LjUyMTMgNzA1LjAzNSwzMzAuODcwMyA3MDUuMDM1LDMzOC42NzEzIEw3MDUuMDM1LDM1OC40MTgzIEw3MDUuMDM1LDM2MS40MTgzIEw3MDguMDM1LDM2MS40MTgzIEw3MjAuOTA0LDM2MS40MTgzIEM3MjMuOTgxLDM2MS40MTgzIDcyNi40ODQsMzYzLjkyNDMgNzI2LjQ4NCwzNjcuMDA0MyBDNzI2LjQ4NCwzNzAuMDgzMyA3MjMuOTgxLDM3Mi41ODkzIDcyMC45MDQsMzcyLjU4OTMgTDcwOC4wMzUsMzcyLjU4OTMgTDcwMy43NDUsMzcyLjU4OTMgQzY5Ny4zNiwzNzIuNTg5MyA2OTIuMTY1LDM3Ny43ODYzIDY5Mi4xNjUsMzg0LjE3NDMgQzY5Mi4xNjUsMzkwLjU2MjMgNjk3LjM2LDM5NS43NTkzIDcwMy43NDUsMzk1Ljc1OTMgTDcwOC4wMzUsMzk1Ljc1OTMgTDczMi43MDIsMzk1Ljc1OTMgTDc0My40MjcsMzk1Ljc1OTMgQzc0Ni41MDMsMzk1Ljc1OTMgNzQ5LjAwNiwzOTguMjY1MyA3NDkuMDA2LDQwMS4zNDQzIEM3NDkuMDA2LDQwNC40MjQzIDc0Ni41MDMsNDA2LjkzMDMgNzQzLjQyNyw0MDYuOTMwMyBMNzA4LjAzNSw0MDYuOTMwMyBMNzA1LjAzNSw0MDYuOTMwMyBMNzA1LjAzNSw0MDkuOTMwMyBMNzA1LjAzNSw0MzAuMzIwMyBMNzA1LjAzNSw0MzMuMzIwMyBMNzA4LjAzNSw0MzMuMzIwMyBMNzE3LjE1MSw0MzMuMzIwMyBDNzIzLjQ3OSw0MzMuMzIwMyA3MjguNjI5LDQzOC40NzMzIDcyOC42MjksNDQ0LjgwODMgQzcyOC42MjksNDUxLjE0MjMgNzIzLjQ3OSw0NTYuMjk2MyA3MTcuMTUxLDQ1Ni4yOTYzIEw3MDguMDM1LDQ1Ni4yOTYzIEw3MDUuMDM1LDQ1Ni4yOTYzIEw3MDUuMDM1LDQ1OS4yOTYzIEw3MDUuMDM1LDQ4MC4zMjkzIEM3MDUuMDM1LDQ4OC4xNDIzIDY5OC42ODMsNDk0LjUwMDMgNjkwLjg3Niw0OTQuNTAwMyBDNjgzLjA2Nyw0OTQuNTAwMyA2NzYuNzE2LDQ4OC4xNDIzIDY3Ni43MTYsNDgwLjMyOTMgTDY3Ni43MTYsNDU5LjI5NjMgTDY3Ni43MTYsNDU2LjI5NjMgTDY3My43MTYsNDU2LjI5NjMgTDU5Mi43NDUsNDU2LjI5NjMgQzU5MS45NCw0NTYuMjk2MyA1OTEuMTEzLDQ1Ni4yMDMzIDU5MC4yODcsNDU2LjAyMDMgTDU5MC4xNDksNDU1Ljk5MDMgTDU5MC4wMTEsNDU1Ljk3MjMgQzU4Ny42NTgsNDU1LjY3OTMgNTg1LjQ5Niw0NTQuNjkxMyA1ODMuNzU4LDQ1My4xMTczIEM1NzkuMDY0LDQ0OC44NjUzIDU3OC43MDQsNDQxLjU4NjMgNTgyLjk1NCw0MzYuODkwMyBMNjc5LjgzMywzMjkuODI4MyBMNjc5Ljg4MywzMjkuNzc0MyBMNjc5LjkyOSwzMjkuNzE3MyBDNjgwLjIzOCwzMjkuMzQxMyA2ODAuNTYzLDMyOC45ODEzIDY4MC44OTUsMzI4LjY1MDMgTDY4MC45NSwzMjguNTk0MyBMNjgxLjAwNCwzMjguNTM1MyBMNjgxLjI1MywzMjguMjU4MyBDNjgzLjQxNCwzMjUuODcxMyA2ODYuNTIsMzI0LjUwMjMgNjg5Ljc3MywzMjQuNTAyMyBDNjg5Ljk2MywzMjQuNTAyMyA2OTAuMTUyLDMyNC41MDczIDY5MC4zNDIsMzI0LjUxNTMgTDY5MC40MzgsMzI0LjUyMDMgTDY5MC41MzQsMzI0LjUxODMgQzY5MC42NDcsMzI0LjUxNzMgNjkwLjc1OSwzMjQuNTEwMyA2OTAuOTEzLDMyNC41MDAzIEw2OTAuOTEzLDMyNC41MDAzIFoiIGlkPSJGaWxsLTEwMiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02OTYsMzMxLjUgTDY5NiwzMzEuNSBDNzAwLjk3MSwzMzEuNSA3MDUsMzM1LjUyOSA3MDUsMzQwLjUgTDcwNSwzNTAuNSBDNzA1LDM1NS40NzEgNzAwLjk3MSwzNTkuNSA2OTYsMzU5LjUgQzY5MS4wMjksMzU5LjUgNjg3LDM1NS40NzEgNjg3LDM1MC41IEw2ODcsMzQwLjUgQzY4NywzMzUuNTI5IDY5MS4wMjksMzMxLjUgNjk2LDMzMS41IiBpZD0iRmlsbC0xMDQiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjk2LDQ1Ni41IEw2OTYsNDU2LjUgQzcwMC45NzEsNDU2LjUgNzA1LDQ2MC41MjkgNzA1LDQ2NS41IEw3MDUsNDgxLjUgQzcwNSw0ODYuNDcxIDcwMC45NzEsNDkwLjUgNjk2LDQ5MC41IEM2OTEuMDI5LDQ5MC41IDY4Nyw0ODYuNDcxIDY4Nyw0ODEuNSBMNjg3LDQ2NS41IEM2ODcsNDYwLjUyOSA2OTEuMDI5LDQ1Ni41IDY5Niw0NTYuNSIgaWQ9IkZpbGwtMTA2IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTc5OSw0NDguNSBDODAwLjM4MSw0NDguNSA4MDEuNSw0NDkuNjE5IDgwMS41LDQ1MSBMODAxLjUsNDYxIEM4MDEuNSw0NjIuMzgxIDgwMC4zODEsNDYzLjUgNzk5LDQ2My41IEM3OTcuNjIsNDYzLjUgNzk2LjUsNDYyLjM4MSA3OTYuNSw0NjEgTDc5Ni41LDQ1MSBDNzk2LjUsNDQ5LjYxOSA3OTcuNjIsNDQ4LjUgNzk5LDQ0OC41IE03OTksNDc5LjUgQzgwMC4zODEsNDc5LjUgODAxLjUsNDgwLjYxOSA4MDEuNSw0ODIgTDgwMS41LDQ5MiBDODAxLjUsNDkzLjM4MSA4MDAuMzgxLDQ5NC41IDc5OSw0OTQuNSBDNzk3LjYyLDQ5NC41IDc5Ni41LDQ5My4zODEgNzk2LjUsNDkyIEw3OTYuNSw0ODIgQzc5Ni41LDQ4MC42MTkgNzk3LjYyLDQ3OS41IDc5OSw0NzkuNSBNODIyLDQ3MS41IEM4MjIsNDcyLjg4MSA4MjAuODgxLDQ3NCA4MTkuNSw0NzQgTDgwOS41LDQ3NCBDODA4LjEyLDQ3NCA4MDcsNDcyLjg4MSA4MDcsNDcxLjUgQzgwNyw0NzAuMTE5IDgwOC4xMiw0NjkgODA5LjUsNDY5IEw4MTkuNSw0NjkgQzgyMC44ODEsNDY5IDgyMiw0NzAuMTE5IDgyMiw0NzEuNSBNNzkxLDQ3MS41IEM3OTEsNDcyLjg4MSA3ODkuODgxLDQ3NCA3ODguNSw0NzQgTDc3OC41LDQ3NCBDNzc3LjEyLDQ3NCA3NzYsNDcyLjg4MSA3NzYsNDcxLjUgQzc3Niw0NzAuMTE5IDc3Ny4xMiw0NjkgNzc4LjUsNDY5IEw3ODguNSw0NjkgQzc4OS44ODEsNDY5IDc5MSw0NzAuMTE5IDc5MSw0NzEuNSIgaWQ9IkZpbGwtMTA4IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIwOCwyMzUgQzIwOS4zODEsMjM1IDIxMC41LDIzNi4xMTkgMjEwLjUsMjM3LjUgTDIxMC41LDI0Ny41IEMyMTAuNSwyNDguODgxIDIwOS4zODEsMjUwIDIwOCwyNTAgQzIwNi42MTksMjUwIDIwNS41LDI0OC44ODEgMjA1LjUsMjQ3LjUgTDIwNS41LDIzNy41IEMyMDUuNSwyMzYuMTE5IDIwNi42MTksMjM1IDIwOCwyMzUgTTIwOCwyNjYgQzIwOS4zODEsMjY2IDIxMC41LDI2Ny4xMTkgMjEwLjUsMjY4LjUgTDIxMC41LDI3OC41IEMyMTAuNSwyNzkuODgxIDIwOS4zODEsMjgxIDIwOCwyODEgQzIwNi42MTksMjgxIDIwNS41LDI3OS44ODEgMjA1LjUsMjc4LjUgTDIwNS41LDI2OC41IEMyMDUuNSwyNjcuMTE5IDIwNi42MTksMjY2IDIwOCwyNjYgTTIzMSwyNTggQzIzMSwyNTkuMzgxIDIyOS44ODEsMjYwLjUgMjI4LjUsMjYwLjUgTDIxOC41LDI2MC41IEMyMTcuMTE5LDI2MC41IDIxNiwyNTkuMzgxIDIxNiwyNTggQzIxNiwyNTYuNjE5IDIxNy4xMTksMjU1LjUgMjE4LjUsMjU1LjUgTDIyOC41LDI1NS41IEMyMjkuODgxLDI1NS41IDIzMSwyNTYuNjE5IDIzMSwyNTggTTIwMCwyNTggQzIwMCwyNTkuMzgxIDE5OC44ODEsMjYwLjUgMTk3LjUsMjYwLjUgTDE4Ny41LDI2MC41IEMxODYuMTE5LDI2MC41IDE4NSwyNTkuMzgxIDE4NSwyNTggQzE4NSwyNTYuNjE5IDE4Ni4xMTksMjU1LjUgMTg3LjUsMjU1LjUgTDE5Ny41LDI1NS41IEMxOTguODgxLDI1NS41IDIwMCwyNTYuNjE5IDIwMCwyNTgiIGlkPSJGaWxsLTExMCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMTMuNzkxLDUyNi42MzE4IEMxMTUuMTcyLDUyNi42MzE4IDExNi4yOTEsNTI3Ljc1MDggMTE2LjI5MSw1MjkuMTMxOCBMMTE2LjI5MSw1MzkuMTMxOCBDMTE2LjI5MSw1NDAuNTEyOCAxMTUuMTcyLDU0MS42MzE4IDExMy43OTEsNTQxLjYzMTggQzExMi40MSw1NDEuNjMxOCAxMTEuMjkxLDU0MC41MTI4IDExMS4yOTEsNTM5LjEzMTggTDExMS4yOTEsNTI5LjEzMTggQzExMS4yOTEsNTI3Ljc1MDggMTEyLjQxLDUyNi42MzE4IDExMy43OTEsNTI2LjYzMTggTTExMy43OTEsNTU3LjYzMTggQzExNS4xNzIsNTU3LjYzMTggMTE2LjI5MSw1NTguNzUwOCAxMTYuMjkxLDU2MC4xMzE4IEwxMTYuMjkxLDU3MC4xMzE4IEMxMTYuMjkxLDU3MS41MTI4IDExNS4xNzIsNTcyLjYzMTggMTEzLjc5MSw1NzIuNjMxOCBDMTEyLjQxLDU3Mi42MzE4IDExMS4yOTEsNTcxLjUxMjggMTExLjI5MSw1NzAuMTMxOCBMMTExLjI5MSw1NjAuMTMxOCBDMTExLjI5MSw1NTguNzUwOCAxMTIuNDEsNTU3LjYzMTggMTEzLjc5MSw1NTcuNjMxOCBNMTM2Ljc5MSw1NDkuNjMxOCBDMTM2Ljc5MSw1NTEuMDEyOCAxMzUuNjcyLDU1Mi4xMzE4IDEzNC4yOTEsNTUyLjEzMTggTDEyNC4yOTEsNTUyLjEzMTggQzEyMi45MSw1NTIuMTMxOCAxMjEuNzkxLDU1MS4wMTI4IDEyMS43OTEsNTQ5LjYzMTggQzEyMS43OTEsNTQ4LjI1MDggMTIyLjkxLDU0Ny4xMzE4IDEyNC4yOTEsNTQ3LjEzMTggTDEzNC4yOTEsNTQ3LjEzMTggQzEzNS42NzIsNTQ3LjEzMTggMTM2Ljc5MSw1NDguMjUwOCAxMzYuNzkxLDU0OS42MzE4IE0xMDUuNzkxLDU0OS42MzE4IEMxMDUuNzkxLDU1MS4wMTI4IDEwNC42NzIsNTUyLjEzMTggMTAzLjI5MSw1NTIuMTMxOCBMOTMuMjkxLDU1Mi4xMzE4IEM5MS45MSw1NTIuMTMxOCA5MC43OTEsNTUxLjAxMjggOTAuNzkxLDU0OS42MzE4IEM5MC43OTEsNTQ4LjI1MDggOTEuOTEsNTQ3LjEzMTggOTMuMjkxLDU0Ny4xMzE4IEwxMDMuMjkxLDU0Ny4xMzE4IEMxMDQuNjcyLDU0Ny4xMzE4IDEwNS43OTEsNTQ4LjI1MDggMTA1Ljc5MSw1NDkuNjMxOCIgaWQ9IkZpbGwtMTEyIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTgwOCw2MDguNSBDNzg0LjI5LDYwOC41IDc2NSw1ODkuMjEgNzY1LDU2NS41IEM3NjUsNTQxLjc5IDc4NC4yOSw1MjIuNSA4MDgsNTIyLjUgQzgzMS43MSw1MjIuNSA4NTEsNTQxLjc5IDg1MSw1NjUuNSBDODUxLDU4OS4yMSA4MzEuNzEsNjA4LjUgODA4LDYwOC41IE04MDgsNTE5IEM3ODIuMzE5LDUxOSA3NjEuNSw1MzkuODE4IDc2MS41LDU2NS41IEM3NjEuNSw1OTEuMTgyIDc4Mi4zMTksNjEyIDgwOCw2MTIgQzgzMy42ODIsNjEyIDg1NC41LDU5MS4xODIgODU0LjUsNTY1LjUgQzg1NC41LDUzOS44MTggODMzLjY4Miw1MTkgODA4LDUxOSIgaWQ9IkZpbGwtMTE0IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTgwOCw1MjkuNSBDNzg4LjE0OTIzMSw1MjkuNSA3NzIsNTQ1LjY0OTIzMSA3NzIsNTY1LjUgQzc3Miw1ODUuMzUwNzY5IDc4OC4xNDkyMzEsNjAxLjUgODA4LDYwMS41IEM4MjcuODUwNzY5LDYwMS41IDg0NCw1ODUuMzUwNzY5IDg0NCw1NjUuNSBDODQ0LDU0NS42NDkyMzEgODI3Ljg1MDc2OSw1MjkuNSA4MDgsNTI5LjUiIGlkPSJGaWxsLTExNiIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04NzkuNSw1NzkgQzg4My45MTksNTc5IDg4Ny41LDU3NS40MTggODg3LjUsNTcxIEM4ODcuNSw1NjYuNTgyIDg4My45MTksNTYzIDg3OS41LDU2MyBDODc1LjA4Miw1NjMgODcxLjUsNTY2LjU4MiA4NzEuNSw1NzEgQzg3MS41LDU3NS40MTggODc1LjA4Miw1NzkgODc5LjUsNTc5IiBpZD0iRmlsbC0xMTgiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNODc5LjUsNTc5IEM4NzUuMDgyLDU3OSA4NzEuNSw1NzUuNDE4IDg3MS41LDU3MSBDODcxLjUsNTY2LjU4MiA4NzUuMDgyLDU2MyA4NzkuNSw1NjMgQzg4My45MTksNTYzIDg4Ny41LDU2Ni41ODIgODg3LjUsNTcxIEM4ODcuNSw1NzUuNDE4IDg4My45MTksNTc5IDg3OS41LDU3OSBNODY4LDU3MSBDODY4LDU3NS43ODcgODcwLjkyNyw1NzkuODg5IDg3NS4wODcsNTgxLjYxOSBDODY3LjgyNSw2MTEuOTQ4IDg0MC41NTUsNjM0LjUgODA4LDYzNC41IEM3NzguNzkzLDYzNC41IDc1My44MjUsNjE2LjM1NCA3NDMuNzU1LDU5MC43MTkgTDc0MC43Miw1OTEuMTk0IEM3NTEuMDY3LDYxOC4yNzEgNzc3LjI4OCw2MzcuNSA4MDgsNjM3LjUgQzg0MS45NDYsNjM3LjUgODcwLjM5LDYxNC4wMDMgODc3Ljk5Miw1ODIuMzkgQzg3OC40ODcsNTgyLjQ1NSA4NzguOTg3LDU4Mi41IDg3OS41LDU4Mi41IEM4ODUuODUyLDU4Mi41IDg5MSw1NzcuMzUyIDg5MSw1NzEgQzg5MSw1NjQuNjQ4IDg4NS44NTIsNTU5LjUgODc5LjUsNTU5LjUgQzg3My4xNDksNTU5LjUgODY4LDU2NC42NDggODY4LDU3MSBaIiBpZD0iRmlsbC0xMjAiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNODIwLDU2MSBDODIwLDU2NC4wMzcgODE3LjUzOCw1NjYuNSA4MTQuNSw1NjYuNSBDODExLjQ2Myw1NjYuNSA4MDksNTY0LjAzNyA4MDksNTYxIEM4MDksNTU3Ljk2MyA4MTEuNDYzLDU1NS41IDgxNC41LDU1NS41IEM4MTcuNTM4LDU1NS41IDgyMCw1NTcuOTYzIDgyMCw1NjEiIGlkPSJGaWxsLTEyMiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03OTUsNTU0IEM3OTUsNTU3LjAzNyA3OTIuNTM4LDU1OS41IDc4OS41LDU1OS41IEM3ODYuNDYzLDU1OS41IDc4NCw1NTcuMDM3IDc4NCw1NTQgQzc4NCw1NTAuOTYzIDc4Ni40NjMsNTQ4LjUgNzg5LjUsNTQ4LjUgQzc5Mi41MzgsNTQ4LjUgNzk1LDU1MC45NjMgNzk1LDU1NCIgaWQ9IkZpbGwtMTI0IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTUwMS40NzA3LDU0MC40Mzc1IEM0OTYuNTAwNyw1NDAuNDM3NSA0OTIuNDcwNyw1MzYuNDA4NSA0OTIuNDcwNyw1MzEuNDM3NSBDNDkyLjQ3MDcsNTI2LjQ2NzUgNDk2LjUwMDcsNTIyLjQzNzUgNTAxLjQ3MDcsNTIyLjQzNzUgQzUwNi40NDE3LDUyMi40Mzc1IDUxMC40NzA3LDUyNi40Njc1IDUxMC40NzA3LDUzMS40Mzc1IEM1MTAuNDcwNyw1MzYuNDA4NSA1MDYuNDQxNyw1NDAuNDM3NSA1MDEuNDcwNyw1NDAuNDM3NSBNNTAxLjQ3MDcsNTE5LjU3NTUgQzQ5NC45MTk3LDUxOS41NzU1IDQ4OS42MDg3LDUyNC44ODY1IDQ4OS42MDg3LDUzMS40Mzc1IEM0ODkuNjA4Nyw1MzcuOTg5NSA0OTQuOTE5Nyw1NDMuMjk5NSA1MDEuNDcwNyw1NDMuMjk5NSBDNTA4LjAyMjcsNTQzLjI5OTUgNTEzLjMzMjcsNTM3Ljk4OTUgNTEzLjMzMjcsNTMxLjQzNzUgQzUxMy4zMzI3LDUyNC44ODY1IDUwOC4wMjI3LDUxOS41NzU1IDUwMS40NzA3LDUxOS41NzU1IiBpZD0iRmlsbC0xMjYiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTEwLjUyNTQsNTMxLjQzNzUgQzUxMC41MjU0LDUzNi40Mzg1IDUwNi40NzE0LDU0MC40OTI1IDUwMS40NzA0LDU0MC40OTI1IEM0OTYuNDcwNCw1NDAuNDkyNSA0OTIuNDE2NCw1MzYuNDM4NSA0OTIuNDE2NCw1MzEuNDM3NSBDNDkyLjQxNjQsNTI2LjQzNzUgNDk2LjQ3MDQsNTIyLjM4MzUgNTAxLjQ3MDQsNTIyLjM4MzUgQzUwNi40NzE0LDUyMi4zODM1IDUxMC41MjU0LDUyNi40Mzc1IDUxMC41MjU0LDUzMS40Mzc1IiBpZD0iRmlsbC0xMjgiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTkuNjQwNiwyMTEuNzM3MyBDNTguNTY4NiwyMTEuMzIzMyA1Ny41NDY2LDIxMC44MzgzIDU2LjU1NjYsMjEwLjMxMDMgQzU0LjUzMjYsMjEwLjU0NDMgNTIuNTMyNiwyMTAuNjc2MyA1MC42MDM2LDIxMC42NzYzIEM0MC4zMzE2LDIxMC42NzYzIDMyLjA3OTYsMjA3LjU0NTMgMjYuMDc4NiwyMDEuMzY4MyBDMTQuMTk3NiwxODkuMTM5MyAxNy4yMzk2LDE3MC45NTAzIDE3Ljk2OTYsMTY3LjQyNjMgQzIyLjEwNTYsMTQ3LjQ2NDMgNDAuMTcxNiwxMzUuNjMzMyA1NS4yMDY2LDEzMy4wOTAzIEM1Ny4xMDQ2LDEzMi43NjgzIDU5LjcwOTYsMTMyLjQwMDMgNjMuMDM5NiwxMzIuNDAwMyBDNzAuMzE1NiwxMzIuNDAwMyA3Ni45OTk2LDEzNC4xNzEzIDgyLjkxMDYsMTM3LjY2NDMgQzg0LjA4NzYsMTM4LjM2MDMgODUuMjU4NiwxMzkuMTQ4MyA4Ni40MTA2LDE0MC4wMTIzIEM4OC40NDg2LDE0MC4wMjIzIDkwLjQ4MjYsMTQwLjIyNTMgOTIuNDY1NiwxNDAuNjcyMyBDOTAuMDE4NiwxMzguMzUzMyA4Ny4zNzE2LDEzNi4zNTEzIDg0LjY0MDYsMTM0LjczNzMgQzc2Ljc5ODYsMTMwLjEwMjMgNjguOTE1NiwxMjkuMDAwMyA2My4wMzk2LDEyOS4wMDAzIEM1OS4xODI2LDEyOS4wMDAzIDU2LjE5MDYsMTI5LjQ3NDMgNTQuNjQwNiwxMjkuNzM3MyBDMzYuOTUwNiwxMzIuNzMwMyAxOC44NDQ2LDE0Ni40NDAzIDE0LjY0MDYsMTY2LjczNzMgQzE0LjA4MjYsMTY5LjQyMzMgMTAuMTc4NiwxODkuODgzMyAyMy42NDA2LDIwMy43MzczIEMzMS4wNDA2LDIxMS4zNTMzIDQwLjg3NzYsMjE0LjA3NjMgNTAuNjAzNiwyMTQuMDc2MyBDNTQuNzY1NiwyMTQuMDc2MyA1OC45MDM2LDIxMy41NzIzIDYyLjgyNjYsMjEyLjc0NjMgQzYxLjc1OTYsMjEyLjQ3NDMgNjAuNjk2NiwyMTIuMTQ0MyA1OS42NDA2LDIxMS43MzczIiBpZD0iRmlsbC0xMzAiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNODYuMjM4MywxNDAuMDA3OCBDODAuMjg2MywxNDAuMDA3OCA3NC4zMjczLDE0MS41MzQ4IDY5LjY0MDMsMTQyLjczNjggQzYyLjE3ODMsMTQ0LjY1MDggNTAuMTMzMywxNDcuNzM2OCA0My42NDAzLDE1Ny43MzY4IEMzMy4zODQzLDE3My41MzE4IDM4LjgzNzMsMjAzLjcwNzggNTkuNjQwMywyMTEuNzM2OCBDNjMuMDE0MywyMTMuMDM5OCA2Ni40NTQzLDIxMy42Mjg4IDY5Ljg2OTMsMjEzLjYyODggQzg0LjE2NjMsMjEzLjYyODggOTguMDA5MywyMDMuMjk3OCAxMDQuNjQwMywxOTEuNzM2OCBDMTEzLjY4NTMsMTc1Ljk2NjggMTEyLjQwNjMsMTUyLjUxODggOTkuNjQwMywxNDMuNzM2OCBDOTUuNTkwMywxNDAuOTUwOCA5MC45MTczLDE0MC4wMDc4IDg2LjIzODMsMTQwLjAwNzggTTg2LjIzOTMsMTQzLjAwNzggTDg2LjIzOTMsMTQzLjAwNzggQzkwLjk4MTMsMTQzLjAwNzggOTQuODA4MywxNDQuMDU0OCA5Ny45NDAzLDE0Ni4yMDg4IEMxMDguNzYwMywxNTMuNjUxOCAxMTAuNzUyMywxNzUuMDUxOCAxMDIuMDM4MywxOTAuMjQzOCBDOTYuNDA2MywyMDAuMDYyOCA4My45MzgzLDIxMC42Mjg4IDY5Ljg2OTMsMjEwLjYyODggQzY2LjcwNDMsMjEwLjYyODggNjMuNjI2MywyMTAuMDU5OCA2MC43MjAzLDIwOC45Mzg4IEM1Mi43ODIzLDIwNS44NzQ4IDQ2LjcwOTMsMTk4LjkzNDggNDMuNjE4MywxODkuMzk1OCBDNDAuMTkwMywxNzguODExOCA0MS4xODYzLDE2Ny4wMjU4IDQ2LjE1NjMsMTU5LjM3MDggQzUyLjAxMDMsMTUwLjM1MzggNjMuMDY3MywxNDcuNTE5OCA3MC4zODUzLDE0NS42NDM4IEM3NC45NjUzLDE0NC40Njk4IDgwLjY2NDMsMTQzLjAwNzggODYuMjM5MywxNDMuMDA3OCIgaWQ9IkZpbGwtMTMyIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMwLjM4NDgsMjk1LjQzNDYgQzEwLjU2ODgsMjg0LjExMTYgMTMuOTY1OCwyNjEuOTIwNiAxNC4xMTk4LDI2MC45ODI2IEMxNC4yNTQ4LDI2MC4xNjQ2IDEzLjcwMTgsMjU5LjM5MzYgMTIuODg1OCwyNTkuMjU3NiBDMTIuMDYzOCwyNTkuMTIzNiAxMS4yOTc4LDI1OS42NzQ2IDExLjE2MDgsMjYwLjQ5MDYgQzExLjExODgsMjYwLjc0MTYgNy4yMzk4LDI4NS42NjM2IDI4Ljg5NjgsMjk4LjAzOTYgQzI5LjEzMDgsMjk4LjE3MzYgMjkuMzg2OCwyOTguMjM3NiAyOS42Mzk4LDI5OC4yMzc2IEMzMC4xNTk4LDI5OC4yMzc2IDMwLjY2NTgsMjk3Ljk2NTYgMzAuOTQzOCwyOTcuNDgxNiBDMzEuMzU0OCwyOTYuNzYyNiAzMS4xMDQ4LDI5NS44NDU2IDMwLjM4NDgsMjk1LjQzNDYiIGlkPSJGaWxsLTEzNCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOC41NzgxLDI5Ny41NjY0IEM5LjI1MzEsMjkwLjEwNjQgOC4xNDcxLDI4MC43MTc0IDguMTMzMSwyODAuNTg1NCBDOC4wNDkxLDI3OS43NjE0IDcuMzI3MSwyNzkuMTYwNCA2LjQ5MTEsMjc5LjI0NTQgQzUuNjY3MSwyNzkuMzI3NCA1LjA2NTEsMjgwLjA2MjQgNS4xNDgxLDI4MC44ODY0IEM1LjE5MTEsMjgxLjMyMDQgNi4zMzAxLDI5MS42MDk0IDE2LjcwMzEsMjk5LjkwODQgQzE2Ljk4MDEsMzAwLjEyOTQgMTcuMzExMSwzMDAuMjM3NCAxNy42NDAxLDMwMC4yMzc0IEMxOC4wODAxLDMwMC4yMzc0IDE4LjUxNjEsMzAwLjA0NTQgMTguODExMSwyOTkuNjc0NCBDMTkuMzI5MSwyOTkuMDI3NCAxOS4yMjQxLDI5OC4wODQ0IDE4LjU3ODEsMjk3LjU2NjQiIGlkPSJGaWxsLTEzNiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yNS41NDY5LDE3MC4yMzQ0IEMyNS41Nzg5LDE3MC4yMzY0IDI1LjYwOTksMTcwLjIzNzQgMjUuNjQxOSwxNzAuMjM3NCBDMjYuNDI3OSwxNzAuMjM3NCAyNy4wODc5LDE2OS42MjY0IDI3LjEzNzksMTY4LjgzMTQgQzI4LjA2MjksMTU0LjAzNTQgMzguNzM3OSwxNDkuMzI2NCAzOS4yMTk5LDE0OS4xMjE0IEMzOS45ODM5LDE0OC44MDE0IDQwLjM0MzksMTQ3LjkyNDQgNDAuMDI1OSwxNDcuMTYwNCBDMzkuNzA1OSwxNDYuMzk1NCAzOC44Mjc5LDE0Ni4wMzY0IDM4LjA2MzksMTQ2LjM1MjQgQzM3LjUzNzksMTQ2LjU3MTQgMjUuMTg5OSwxNTEuOTA0NCAyNC4xNDM5LDE2OC42NDM0IEMyNC4wOTE5LDE2OS40NzA0IDI0LjcyMDksMTcwLjE4MjQgMjUuNTQ2OSwxNzAuMjM0NCIgaWQ9IkZpbGwtMTM4IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTk0LjY0MDYsMjM3LjIzNzMgQzkxLjYwODYsMjM3LjIzNzMgODkuMTQwNiwyMzkuNzA1MyA4OS4xNDA2LDI0Mi43MzczIEM4OS4xNDA2LDI0NS43NjkzIDkxLjYwODYsMjQ4LjIzNzMgOTQuNjQwNiwyNDguMjM3MyBDOTcuNjcyNiwyNDguMjM3MyAxMDAuMTQwNiwyNDUuNzY5MyAxMDAuMTQwNiwyNDIuNzM3MyBDMTAwLjE0MDYsMjM5LjcwNTMgOTcuNjcyNiwyMzcuMjM3MyA5NC42NDA2LDIzNy4yMzczIE05NC42NDA2LDI1MS4yMzczIEM4OS45NTM2LDI1MS4yMzczIDg2LjE0MDYsMjQ3LjQyNDMgODYuMTQwNiwyNDIuNzM3MyBDODYuMTQwNiwyMzguMDUwMyA4OS45NTM2LDIzNC4yMzczIDk0LjY0MDYsMjM0LjIzNzMgQzk5LjMyNzYsMjM0LjIzNzMgMTAzLjE0MDYsMjM4LjA1MDMgMTAzLjE0MDYsMjQyLjczNzMgQzEwMy4xNDA2LDI0Ny40MjQzIDk5LjMyNzYsMjUxLjIzNzMgOTQuNjQwNiwyNTEuMjM3MyIgaWQ9IkZpbGwtMTQwIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwMC4xNDA2LDI0Mi43MzczIEMxMDAuMTQwNiwyNDUuNzc0MyA5Ny42Nzc2LDI0OC4yMzczIDk0LjY0MDYsMjQ4LjIzNzMgQzkxLjYwMjYsMjQ4LjIzNzMgODkuMTQwNiwyNDUuNzc0MyA4OS4xNDA2LDI0Mi43MzczIEM4OS4xNDA2LDIzOS43MDAzIDkxLjYwMjYsMjM3LjIzNzMgOTQuNjQwNiwyMzcuMjM3MyBDOTcuNjc3NiwyMzcuMjM3MyAxMDAuMTQwNiwyMzkuNzAwMyAxMDAuMTQwNiwyNDIuNzM3MyIgaWQ9IkZpbGwtMTQyIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTkzLjExMzMsMTQzLjg5MTYgQzY4LjgwMjMsMTQ3Ljg4MzYgNTYuNjY4MywxNTYuODA5NiA1OC4wMDEzLDE3MS4wODc2IEM2MC4wMDAzLDE5Mi41MDU2IDU4LjQ0MjMsMjAwLjMyOTYgNjguMDAwMywyMDcuNDI2NiBDNzcuNTU4MywyMTQuNTI0NiA5MS42MjgzLDIwMi44MDc2IDk2LjAwMDMsMTk4LjEyMjYgQzEwMC4zNzIzLDE5My40Mzk2IDEwNy42NjEzLDE4NC42NjI2IDEwNy41MTczLDE2Ny44MzY2IEMxMDYuOTkxMywxNTQuNjU2NiAxMDEuMDI2MywxNDYuMDAzNiA5My4xMTMzLDE0My44OTE2IiBpZD0iRmlsbC0xNDQiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTU2LjYyNiwyNTYuNjMyOCBDMTU0LjQ0NCwyNTguNjM3OCAxNTIuNTU4LDI1OC45MDI4IDE0OC40MjQsMjU5LjQ4MTggQzE0Ni40NDksMjU5Ljc1ODggMTQ0LjAyLDI2MC4xMDE4IDE0MC45MTksMjYwLjcyNjggQzE0NS4zMjUsMjUxLjgwMzggMTQxLjM2OSwyNDIuMTc5OCAxMzkuMzc3LDIzOC4zMjM4IEMxNDEuMzE5LDIzNy43Mzc4IDE0My41MDksMjM3LjAxNzggMTQ2LjEwOSwyMzYuMTYxOCBDMTQ5LjkyMiwyMzQuOTA2OCAxNTIuNTM2LDIzMy44ODE4IDE1NC40NDUsMjMzLjEzMjggQzE1Ny42MjcsMjMxLjg4NDggMTU4LjI0OCwyMzEuNjk0OCAxNTguOTM1LDIzMi4wNjA4IEMxNjAuNDAzLDIzMi44NDQ4IDE2MS41ODIsMjM1LjQyNTggMTYyLjAxMSwyMzguNzk1OCBDMTYyLjcxOCwyNDQuMzUzOCAxNjEuMzM0LDI1Mi4zMDU4IDE1Ni42MjYsMjU2LjYzMjggTTEzNy4zNzUsMjYwLjkzMDggQzEzNy4yNSwyNjEuMTI3OCAxMzcuMTgyLDI2MS4zNDI4IDEzNy4xNTYsMjYxLjU2MDggQzEzNi4yMzQsMjYxLjc3OTggMTM1LjI4LDI2Mi4wMTU4IDEzNC4yNTcsMjYyLjI4NjggQzEyMi45NDUsMjY1LjI4MjggMTE0Ljc3MiwyNjcuNDQ3OCAxMTMuMTkxLDI3My4zNDk4IEMxMTIuNTQ0LDI3NS43NjU4IDExMy4zODgsMjc3LjMzMDggMTE0LjkyLDI4MC4xNzA4IEMxMTUuMzMsMjgwLjkzMTggMTE1Ljc5OCwyODEuODAwOCAxMTYuMzE5LDI4Mi44Mjc4IEMxMTYuMTM5LDI4My40ODM4IDExNC45NTMsMjg3LjM5MTggMTExLjMyNCwyOTEuODQzOCBDMTA3LjcxOCwyOTYuMjY3OCAxMDAuODg1LDMwMi4xMzA4IDg4Ljc4NywzMDUuMTQ5OCBDODMuNDIyLDMwMi43NDA4IDc3LjkzMSwyOTkuMjM5OCA3Mi43MzQsMjk1LjM1MDggQzg0LjUyOSwyODYuMzk2OCA4NC44NjgsMjcyLjgwODggODQuNzAyLDI2OC45NDU4IEM4NS44MTUsMjY4LjQ3MDggODYuNDgxLDI2Ny45ODI4IDg2LjU0MSwyNjcuOTM3OCBMODYuNzAxLDI2Ny43OTc4IEM4Ni43NDksMjY3Ljc0OTggOTEuNjU0LDI2Mi45MzQ4IDEwNS4yMzEsMjU3LjExNTggQzExOS4zMzMsMjUxLjA3MTggMTE4LjQ0NiwyNDUuNDc1OCAxMTguMDg3LDI0NC4zMzI4IEMxMTcuOTY3LDI0My43OTg4IDExNy4zODIsMjQxLjI1MjggMTE2LjQ0NSwyMzcuOTc3OCBDMTE5Ljg5MSwyMzkuMjk0OCAxMjQuMjIyLDI0MC4yMzY4IDEyOC42MTUsMjQwLjIzNjggTDEyOC42NDIsMjQwLjIzNjggQzEzMS4yNTcsMjQwLjIzNTggMTMzLjYyMiwyMzkuODcyOCAxMzYuNDE3LDIzOS4xNTY4IEMxMzguMDkxLDI0Mi4yNjU4IDE0Mi43NjcsMjUyLjQ1ODggMTM3LjM3NSwyNjAuOTMwOCBNMTE4LjExNCwyODYuNjE5OCBDMTE4LjQ3OCwyODcuNDQxOCAxMTguODU1LDI4OC4zMjI4IDExOS4yNSwyODkuMjk5OCBDMTIyLjQ0OCwyOTcuMjAyOCAxMjMuOTE2LDMwMS4xMzA4IDEyMi4zMjcsMzA0LjAxMjggQzEyMC43MywzMDYuOTA3OCAxMTYuNDc2LDMwNy42OTA4IDExMy4zNjksMzA4LjI2MTggQzEwNS4zNjcsMzA5LjczNTggOTguMTEyLDMwOC4zMTk4IDkzLjUyMywzMDYuOTIxOCBDMTA5LjUwNCwzMDEuNzI0OCAxMTUuODMyLDI5MS43NTM4IDExOC4xMTQsMjg2LjYxOTggTTY0LjcxOSwyODguOTAwOCBDNzQuMDA4LDI4MS43MjY4IDc1LjQyOSwyNzIuOTIwOCA3NS41NCwyNjguODI0OCBDNzYuNTM3LDI2OS4yNzE4IDc3LjU1NiwyNjkuNTkwOCA3OC42MDIsMjY5Ljc0NzggQzc5LjE3LDI2OS44MzI4IDc5LjcxNywyNjkuODY5OCA4MC4yNDEsMjY5Ljg2OTggQzgwLjc1NywyNjkuODY5OCA4MS4yNDMsMjY5LjgyNjggODEuNzEsMjY5Ljc2NDggQzgxLjczMSwyNzMuOTc4OCA4MC43OTMsMjg1LjkxNTggNzAuMjU2LDI5My40NDc4IEM2OC4zNTEsMjkxLjk1NDggNjYuNSwyOTAuNDI3OCA2NC43MTksMjg4LjkwMDggTTUzLjMzNywyNzguMzQxOCBDNTQuNDE1LDI3OC4xNDg4IDU1LjQxMSwyNzcuNjkzOCA1NS45MjQsMjc2LjczNDggQzU3LjEwOCwyNzQuNTE5OCA1NC44MjQsMjcxLjc5OTggNTIuNzAxLDI2OS42NzY4IEM0NS41MjQsMjYyLjQ5ODggNTAuOTY0LDI0OS40NTc4IDUxLjAyLDI0OS4zMjY4IEM1MS4zNDUsMjQ4LjU2NTggNTAuOTkxLDI0Ny42ODM4IDUwLjIzLDI0Ny4zNTg4IEM0OS40NjksMjQ3LjAzMjggNDguNTg5LDI0Ny4zODY4IDQ4LjI2MiwyNDguMTQ2OCBDNDguMDg5LDI0OC41NDk4IDQ1LjM4OSwyNTUuMDAzOCA0Ni4wNzgsMjYxLjgxOTggQzMzLjc0NSwyNjcuNjE0OCAyNi4xOTYsMjYzLjQzNzggMjQuMTc1LDI2Mi4wMjQ4IEMyNC42MTMsMjQ5LjIzODggMzEuMTExLDIzOS44Njk4IDM2Ljg3MiwyMzEuNTkzOCBDMzguMjI2LDIyOS42NDg4IDM5LjU2MywyMjcuODc3OCA0MC45MzksMjI2LjE5MTggQzQ0LjQ1OCwyMjYuMDg3OCA1OC4yODQsMjI2LjM2OTggNjYuNTQ5LDIzNi40Mjg4IEw2NC45MDksMjM3LjQyNjggQzYzLjQxNywyMzguMTk3OCA2Mi4zNiwyMzkuNzA1OCA2MS44NTIsMjQxLjc4OTggQzYwLjgxMiwyNDYuMDU3OCA2MS45OTIsMjUzLjc3MDggNjguNDI4LDI2Mi42MTg4IEM2OS43MTIsMjY0LjM4NTggNzEuMDcsMjY1LjgxMzggNzIuNDg3LDI2Ni45Mzk4IEM3Mi41NTYsMjY3LjUwMjggNzMuNzI0LDI3OC40NzQ4IDYyLjQwMywyODYuODgxOCBDNTguOTg5LDI4My44NTU4IDU1LjkyLDI4MC45MTY4IDUzLjMzNywyNzguMzQxOCBNNTAuMzU5LDI3NS4zMzc4IEM0Ny41MDUsMjcyLjQ2NzggNDUuMjQ5LDI3MS4wNTk4IDQzLjQyNiwyNzEuMDU5OCBDNDIuOTEzLDI3MS4wNTk4IDQyLjQzNSwyNzEuMTY5OCA0MS45ODUsMjcxLjM4NzggQzM5LjcxMiwyNzIuNDkxOCAzOS44MjksMjc1LjUzNzggMzkuOTUzLDI3OC43NjI4IEM0MC4wNTMsMjgxLjM1MDggNDAuMTc3LDI4NC41Njk4IDM4LjgwNCwyODUuNDkxOCBDMzcuMzE4LDI4Ni40OTA4IDMzLjkzMywyODUuMjE2OCAzMS41MDQsMjgzLjUxMDggQzI4LjI5NSwyODEuMjUzOCAyNC41NjEsMjc2LjMwMDggMjQuMTc0LDI2NS41MTI4IEMyNi4yNDksMjY2LjU5OTggMjkuNTYyLDI2Ny44MTU4IDM0LjAxNSwyNjcuODE1OCBDMzcuNTMsMjY3LjgxNTggNDEuNzU5LDI2Ny4wNDM4IDQ2LjYzMywyNjQuODYzOCBDNDcuMjk1LDI2Ny4zMjg4IDQ4LjUxMywyNjkuNzMwOCA1MC41OCwyNzEuNzk3OCBDNTIuNzE2LDI3My45MzM4IDUzLjEzOSwyNzQuOTY3OCA1My4yMjIsMjc1LjMwMTggQzUyLjc1NSwyNzUuNDk0OCA1MS41MDUsMjc1LjUwOTggNTAuMzU5LDI3NS4zMzc4IE00Ni42MTUsMjE5LjkzMjggQzQ5LjE1LDIyMC4yNTg4IDY3LjIzMywyMjIuOTU0OCA3MS4wNDQsMjMzLjY5MjggTDY5LjEzNywyMzQuODUzOCBDNjEuNDM1LDIyNS4xNDk4IDQ5LjUwMywyMjMuNDExOCA0My41MTMsMjIzLjE5MzggQzQ0LjUwMSwyMjIuMDk3OCA0NS41MzIsMjIxLjAxNzggNDYuNjE1LDIxOS45MzI4IE03MC4zNjQsMjQ0LjI2MjggQzcxLjE3OCwyNDkuOTAxOCA3NC4zMTgsMjU4LjEyMTggODQuNDUyLDI2NS43MjA4IEM4My43MDksMjY2LjE1OTggODEuNjMyLDI2Ny4xODU4IDc4Ljk5OCwyNjYuNzczOCBDNzYuMTIyLDI2Ni4zMjE4IDczLjM4MiwyNjQuMzMwOCA3MC44NTQsMjYwLjg1NTggQzY1LjAxNSwyNTIuODI2OCA2My45MjYsMjQ1Ljk0OTggNjQuNzY3LDI0Mi41MDA4IEM2NS4wNjIsMjQxLjI4ODggNjUuNjEsMjQwLjQyOTggNjYuMzEyLDI0MC4wNzg4IEw3MC4yNTQsMjM3LjY4MDggQzcwLjA1MiwyMzkuNDczOCA2OS45OTcsMjQxLjcxNjggNzAuMzY0LDI0NC4yNjI4IE03My42MzQsMjM1LjYyMjggTDg5LjM4NSwyMjYuMDM5OCBDOTEuOTA4LDIyNC41OTk4IDk4LjM2LDIyMS41OTM4IDEwMi44ODQsMjIxLjU5MzggQzEwNC40MSwyMjEuNTkzOCAxMDUuNzE5LDIyMS45MzY4IDEwNi41OCwyMjIuNzk3OCBDMTEwLjQyNiwyMjYuNjQzOCAxMTQuMDg5LDI0MC4xNzM4IDExNS4xNzcsMjQ1LjA2MjggTDExNS4xMTksMjQ1LjAyODggTDExNS4yMiwyNDUuMjE0OCBDMTE1LjUwNCwyNDYuMzA0OCAxMTQuMDUxLDI1MC4wNzE4IDEwNC4wNSwyNTQuMzU4OCBDOTQuOTY1LDI1OC4yNTE4IDg5LjU5NSwyNjEuNzM2OCA4Ni44NjUsMjYzLjc4MDggQzcxLjEzMiwyNTIuMzc3OCA3Mi42MiwyMzkuNzIyOCA3My42MzQsMjM1LjYyMjggTTEwNC45NzgsMjA0LjY3MTggQzEwNi4xMDIsMjA1Ljc1NDggMTA3LjQ3MSwyMDYuNjI4OCAxMDkuMTkxLDIwNy4xNjg4IEMxMDkuMzc0LDIwNy4yMjY4IDEwOS41NjcsMjA3LjI3NDggMTA5Ljc1OCwyMDcuMzIzOCBDMTEwLjE5MSwyMTIuMTM5OCAxMTAuMTg3LDIxOC41OTM4IDEwOS4wMTIsMjIxLjAxMTggQzEwOC45MDgsMjIwLjg5ODggMTA4LjgwNiwyMjAuNzgwOCAxMDguNzAxLDIyMC42NzY4IEMxMDcuMzkxLDIxOS4zNjQ4IDEwNS42NDcsMjE4Ljc3MDggMTAzLjcyOCwyMTguNjMxOCBDMTA0LjM0OCwyMTYuNDUyOCAxMDQuOTE0LDIxMi4zNTE4IDEwNC45NzgsMjA0LjY3MTggTTExMi44MDksMjA3Ljc4ODggQzExNi4zMzIsMjA3Ljk3NzggMTIwLjM4MiwyMDcuMTEyOCAxMjMuNDQzLDIwNC44NDk4IEMxMjcuNTY3LDIwOS45NzU4IDEzNS4wODEsMjIxLjIxNDggMTMyLjU1NSwyMjcuMTc5OCBDMTI5LjAzNywyMjguNzE2OCAxMjUuMjcyLDIyOS4zNjE4IDEyMi4xMTIsMjI4LjMxMzggQzEyMS45MTQsMjI4LjI0NzggMTIxLjcwMywyMjguMTcwOCAxMjEuNDgsMjI4LjA4ODggQzEyMC4xMDcsMjI3LjU5MDggMTE4LjAzNywyMjYuODM0OCAxMTUuNDAzLDIyNy4yNTU4IEMxMTQuNzMxLDIyNy4zNjI4IDExMy44NjIsMjI3LjU4MjggMTEyLjk4NiwyMjcuOTExOCBDMTEyLjMyNSwyMjYuMzUyOCAxMTEuNjE1LDIyNC44ODQ4IDExMC44NjYsMjIzLjYxMTggQzExMy40NzgsMjIwLjYzMTggMTEzLjE0NCwyMTEuOTYxOCAxMTIuODA5LDIwNy43ODg4IE0xMjcuMjQ2LDIwMC4zMzA4IEMxMjguMTEsMTk4Ljg1OTggMTI4LjczNSwxOTcuNzk1OCAxMzAuMjYxLDE5Ny4xMDM4IEMxMzIuMDYzLDE5Ni4yODY4IDEzNC4yNjQsMTk2LjM0ODggMTM1LjUwNywxOTYuODMwOCBDMTM2LjA0MiwxOTcuMDM4OCAxMzYuMjMyLDE5Ny4yNTc4IDEzNi4yNiwxOTcuMzIzOCBDMTM2LjQ0NywxOTcuNzY0OCAxMzUuODk0LDE5OS4wNjM4IDEzMi4xODksMjAyLjc0NDggQzEzMC41MzgsMjA0LjM4NzggMTI5LjQ0NiwyMDUuNDcyOCAxMzAuNDk5LDIwNi43MDk4IEMxMzAuNzMsMjA2Ljk4MTggMTMxLjU5MSwyMDcuNzgyOCAxMzIuOTU0LDIwNi42OTI4IEMxMzMuNTc0LDIwNi4xOTY4IDEzNC45LDIwNS4xMzY4IDEzNy42MDMsMjA1LjIzNjggQzE0MC4yNjksMjA1LjMwMzggMTQxLjI5MSwyMDUuNzg1OCAxNDIuNzA3LDIwNi45MTA4IEMxNDMuNzc4LDIwNy43NjM4IDE0NC45LDIxMC44Mzk4IDE0NS4xNTEsMjEyLjkxNjggQzE0NS41MzgsMjE2LjEyMTggMTQyLjkwNCwyMTkuMjg4OCAxNDAuNTY2LDIyMS42OTA4IEMxMzkuMjgyLDIyMy4wMDg4IDEzNy43MTcsMjI0LjI1OTggMTM2LjAwNywyMjUuMzQxOCBDMTM2LjU4OSwyMTcuMTMwOCAxMjguMzQ5LDIwNi4xNjA4IDEyNS42MiwyMDIuNzc2OCBDMTI2LjI5NCwyMDEuOTM4OCAxMjYuNzk2LDIwMS4wOTg4IDEyNy4yNDYsMjAwLjMzMDggTTI3Ljk0MiwyMjcuOTMwOCBDMjcuOTg0LDIyNy45NDg4IDI4LjAzMiwyMjcuOTcxOCAyOC4wNzQsMjI3Ljk4OTggQzI4Ljk2OCwyMjguMzk1OCAzMC4wNzksMjI4LjkwMDggMzAuMjgsMjI5LjE0MjggQzMwLjU2MywyMzAuMDM2OCAyOS4yNDMsMjMyLjYzNTggMjcuMTA1LDIzMy40MjE4IEMyNi42OTgsMjMzLjU3MDggMjYuMjY3LDIzMy42NDM4IDI1Ljc4NCwyMzMuNjQzOCBDMjUuMjQ4LDIzMy42NDM4IDI0LjY1NSwyMzMuNTQ4OCAyNC4wMjQsMjMzLjM2NjggQzI1LjcxMywyMzIuMjg4OCAyNy40MDMsMjMwLjUyMTggMjcuOTQyLDIyNy45MzA4IE0yMC42MTMsMjMxLjY1OTggQzIwLjQ4LDIzMS42OTU4IDIwLjM2LDIzMS43NTI4IDIwLjI0NywyMzEuODE4OCBDMTkuMDIsMjMxLjIwMDggMTcuNjU0LDIzMC40MTU4IDE2LjI0NywyMjkuNDU4OCBDMTcuOTM1LDIyOC42NjU4IDE5Ljg4NSwyMjcuMTM0OCAyMC45NTcsMjI0LjIwMjggQzIyLjIzNiwyMjUuMDA4OCAyMy42MTksMjI1Ljc5MzggMjUuMDk5LDIyNi41NTQ4IEMyNC44NDgsMjMwLjQzODggMjAuODEsMjMxLjYwNjggMjAuNjEzLDIzMS42NTk4IE0xMy4zNTYsMjI3LjI2OTggQzEyLjAwNSwyMjYuMTMwOCAxMC42NzksMjI0LjgyODggOS40NTUsMjIzLjM2MTggQzEwLjAzNiwyMjMuMjc1OCAxMC42NCwyMjMuMTEzOCAxMS4yMzgsMjIyLjgyNjggQzEyLjM0LDIyMi4yOTg4IDEzLjY2MSwyMjEuMjMxOCAxNC41MDIsMjE5LjA5NzggQzE1LjU5MywyMjAuMjMyOCAxNi44ODUsMjIxLjM1MzggMTguMzcyLDIyMi40NDg4IEMxNy40MTQsMjI1Ljk2OTggMTQuODg3LDIyNi45NzI4IDEzLjQwOSwyMjcuMjUzOCBDMTMuMzkxLDIyNy4yNTc4IDEzLjM3NCwyMjcuMjY1OCAxMy4zNTYsMjI3LjI2OTggTTcuMzUxLDIyMC4yODE4IEM3LjI5MywyMjAuMjUwOCA3LjIzMiwyMjAuMjMwOCA3LjE3MywyMjAuMjA3OCBDNS44OTksMjE4LjE0NTggNC44NzIsMjE1LjgyMzggNC4yMywyMTMuMjQxOCBDNC43ODQsMjEzLjQ0ODggNS4zOTIsMjEzLjYwMTggNi4wNTUsMjEzLjY1MzggQzYuMjE1LDIxMy42NjY4IDYuMzgzLDIxMy42NzM4IDYuNTYxLDIxMy42NzM4IEM3LjU5NywyMTMuNjczOCA4LjkxNCwyMTMuNDA4OCAxMC4zMjcsMjEyLjUxODggQzEwLjg0MSwyMTMuODYxOCAxMS40NjgsMjE1LjEwODggMTIuMTc3LDIxNi4yMDg4IEMxMS44NzMsMjE4LjE0MTggMTEuMTgxLDIxOS40MzE4IDEwLjExLDIyMC4wMzM4IEM4Ljk0NCwyMjAuNjg5OCA3LjYxMSwyMjAuMzgxOCA3LjM1MSwyMjAuMjgxOCBNMy41OTksMjA5LjI5NDggQzMuNDE0LDIwNy4wMTk4IDMuNTMyLDIwNC43ODc4IDMuOTAxLDIwMi42MzQ4IEM0LjUwNCwyMDMuMTgyOCA1LjI2NCwyMDMuNjk5OCA2LjIwMywyMDQuMDA4OCBDNi43ODYsMjA0LjIwMDggNy4zODEsMjA0LjI5NjggNy45ODYsMjA0LjI5NjggQzguMzA5LDIwNC4yOTY4IDguNjM2LDIwNC4yNTk4IDguOTY0LDIwNC4yMDQ4IEM4Ljg3NCwyMDYuMDA4OCA5LjA0MiwyMDcuNzkwOCA5LjQxNCwyMDkuNDgzOCBDOC4zODYsMjEwLjM0NzggNy4zNDEsMjEwLjc0NTggNi4yOTQsMjEwLjY2MzggQzQuOTMxLDIxMC41NTQ4IDMuOTQ4LDIwOS43MDI4IDMuNTk5LDIwOS4yOTQ4IE03LjQyMiwxOTIuNTg4OCBDOC4xMTgsMTkzLjg5OTggOS4yOTIsMTk1LjM4NDggMTEuNDc4LDE5NS45OTU4IEMxMS4wNzYsMTk2LjY1NjggMTAuNzAzLDE5Ny4zMjk4IDEwLjM5NiwxOTguMDI2OCBDOS45NzIsMTk4Ljk4NjggOS42NTgsMTk5Ljk2NTggOS40MjUsMjAwLjk0OTggQzguNTk3LDIwMS4zMDQ4IDcuODQ3LDIwMS4zODY4IDcuMTU3LDIwMS4xNjQ4IEM1LjcxMSwyMDAuNjk4OCA0Ljg5LDE5OS4xMTQ4IDQuODcsMTk5LjA3NjggQzQuODQ1LDE5OS4wMjc4IDQuODEzLDE5OC45ODQ4IDQuNzgyLDE5OC45Mzc4IEM1LjQ2NiwxOTYuNjg1OCA2LjM3OSwxOTQuNTU3OCA3LjQyMiwxOTIuNTg4OCBNMTMuOTgzLDE4My4xMzc4IEMxNC40NDMsMTg1LjgwNjggMTUuMTg1LDE4OC44NjY4IDE1LjgxMywxOTAuODk2OCBDMTUuNDQsMTkxLjI1NjggMTMuODMsMTkyLjg4ODggMTMuNDksMTkzLjI3MTggQzEwLjg1MSwxOTMuMTg4OCAxMC4xNzksMTkxLjU3NTggOS41NDMsMTkwLjAwMzggQzkuNDU4LDE4OS43OTQ4IDkuMzc1LDE4OS42MDk4IDkuMjkyLDE4OS40MTk4IEMxMC40MzIsMTg3LjY3NDggMTIuODA5LDE4NC40Njc4IDEzLjk4MywxODMuMTM3OCBNMTY0Ljk4NywyMzguNDE3OCBDMTY0LjQyMSwyMzMuOTY2OCAxNjIuNzMsMjMwLjY4NTggMTYwLjM0NywyMjkuNDEzOCBDMTU4LjM4LDIyOC4zNjQ4IDE1Ni44MDQsMjI4Ljk4NTggMTUzLjM1LDIzMC4zNDA4IEMxNTEuNDc0LDIzMS4wNzU4IDE0OC45MDQsMjMyLjA4MzggMTQ1LjE2NCwyMzMuMzE0OCBDMTM3LjIzNCwyMzUuOTIzOCAxMzMuMjU1LDIzNy4yMzM4IDEyOC42NCwyMzcuMjM2OCBMMTI4LjYxNSwyMzcuMjM2OCBDMTIzLjMxNCwyMzcuMjM2OCAxMTguMzY5LDIzNS43Mjg4IDExNS4zMDMsMjM0LjIxNTggQzExNC45MjksMjMzLjA1NzggMTE0LjUyMywyMzEuODczOCAxMTQuMDg5LDIzMC43MDA4IEMxMTQuNjMyLDIzMC40OTU4IDExNS4yNDMsMjMwLjMyMDggMTE1Ljg3OCwyMzAuMjE4OCBDMTE3LjczOSwyMjkuOTIxOCAxMTkuMTgyLDIzMC40NDU4IDEyMC40NTMsMjMwLjkwNzggQzEyMC43MDYsMjMwLjk5OTggMTIwLjk0NCwyMzEuMDg2OCAxMjEuMTY4LDIzMS4xNjA4IEMxMjkuMTI4LDIzMy44MDI4IDEzOC40MTYsMjI4LjE5NzggMTQyLjcxNiwyMjMuNzgyOCBDMTQ0LjUxOCwyMjEuOTMyOCAxNDguNzM3LDIxNy41OTc4IDE0OC4xMywyMTIuNTU3OCBDMTQ3Ljg2MywyMTAuMzQ3OCAxNDYuNjYyLDIwNi4yMjM4IDE0NC41NzQsMjA0LjU2MzggQzE0Mi43NjIsMjAzLjEyMTggMTQxLjEyNiwyMDIuMzI0OCAxMzcuNjc5LDIwMi4yMzY4IEMxMzcuMzc5LDIwMi4yMzE4IDEzNy4wOTEsMjAyLjIzMjggMTM2LjgxNCwyMDIuMjQ0OCBDMTM4LjUyNCwyMDAuMjYxOCAxMzkuODM5LDE5OC4wNzQ4IDEzOS4wMjIsMTk2LjE1MDggQzEzOC42MzEsMTk1LjIzMzggMTM3Ljc5MywxOTQuNTAxOCAxMzYuNTk3LDE5NC4wMzU4IEMxMzQuMzk3LDE5My4xODA4IDEzMS4zNTMsMTkzLjMxNTggMTI5LjAyMSwxOTQuMzcwOCBDMTI2LjYzLDE5NS40NTY4IDEyNS42MjgsMTk3LjE2MTggMTI0LjY1OSwxOTguODEyOCBDMTI0LjA2NSwxOTkuODIyOCAxMjMuNTA1LDIwMC43Nzg4IDEyMi41OTYsMjAxLjY2MDggQzExOS44NTYsMjA0LjMxODggMTE1LjEzOSwyMDUuMTkyOCAxMTEuNjE3LDIwNC42NTE4IEMxMTEuNDg1LDIwNC42MDY4IDExMS4zNDcsMjA0LjU4MTggMTExLjIwMywyMDQuNTc1OCBDMTEwLjgxNSwyMDQuNTAxOCAxMTAuNDM5LDIwNC40MTU4IDExMC4wOSwyMDQuMzA1OCBDMTA1LjgxMywyMDIuOTYzOCAxMDQuMzMyLDE5OC42ODg4IDEwMi43NjUsMTk0LjE2MTggQzEwMi41NzUsMTkzLjYxMjggMTAyLjM4NCwxOTMuMDYzOCAxMDIuMTg4LDE5Mi41MTU4IEwxMDAuMTA4LDE5NS42NTM4IEMxMDAuNjg1LDE5Ny4zMTM4IDEwMS4zMDIsMTk5LjAyNzggMTAyLjEwNiwyMDAuNjI4OCBDMTAyLjAyMiwyMDAuODE5OCAxMDEuOTcyLDIwMS4wMjk4IDEwMS45NzQsMjAxLjI1MjggQzEwMi4wNDgsMjA4LjY0NzggMTAxLjUyNywyMTcuNDIxOCAxMDAuNTgsMjE4LjY3NjggQzEwMC41NTMsMjE4LjcwMzggMTAwLjU0NCwyMTguNzM5OCAxMDAuNTE5LDIxOC43Njg4IEM5NC44NjYsMjE5LjU2MjggODguODcxLDIyMi44Nzc4IDg3Ljg2LDIyMy40NTU4IEw3My42NSwyMzIuMTA1OCBDNjkuNTYxLDIyMS45MTY4IDU1LjMzLDIxOC4zNzA4IDQ5LjMxOCwyMTcuMzA5OCBDNTEuMTUxLDIxNS41ODc4IDUzLjE2NCwyMTMuNzk2OCA1NS40MTUsMjExLjg0NjggTDUwLjg0NywyMTEuODQ2OCBDNDQuMjIzLDIxNy43MjU4IDM5LjM2MywyMjIuNzYxOCAzNC40MDksMjI5Ljg4MDggQzMyLjE2NiwyMzMuMTAzOCAyOS43MTUsMjM2LjYzNDggMjcuNTMzLDI0MC41NjA4IEMyNi42ODMsMjM5LjIzMTggMjUuOTU2LDIzNy45MjA4IDI1LjM0NywyMzYuNjI2OCBDMjUuNDk1LDIzNi42MzU4IDI1LjY0NCwyMzYuNjQzOCAyNS43ODQsMjM2LjY0MzggQzI2Ljc1OSwyMzYuNjQzOCAyNy41MzgsMjM2LjQ1ODggMjguMTQxLDIzNi4yMzY4IEMzMS40ODUsMjM1LjAwODggMzQuMDAyLDIzMC45NjA4IDMzLjE0MSwyMjguMjM2OCBDMzIuNTQsMjI2LjM0MjggMzAuNTc4LDIyNS45NDc4IDI3LjE0MSwyMjQuMjM2OCBDMjYuNTgsMjIzLjk1ODggMjUuMzQxLDIyMy4zMzg4IDIzLjgyOSwyMjIuNDUyOCBDMjMuOTQ0LDIyMi4wODA4IDI0LjA2OCwyMjEuNzA4OCAyNC4yMTEsMjIxLjM0MTggQzI2LjcyNywyMTQuODM0OCAzMi42OCwyMTEuMzUzOCAzMy43MDYsMjExLjEzODggQzM0LjUyLDIxMC45OTA4IDM1LjA2MSwyMTAuMjExOCAzNC45MTQsMjA5LjM5NzggQzM0Ljc2OCwyMDguNTgwOCAzMy45OCwyMDguMDQ2OCAzMy4xNzIsMjA4LjE4NjggQzMxLjEyMiwyMDguNTU1OCAyNC40MzQsMjEyLjc0ODggMjEuNTEzLDIyMC4wMDU4IEMyMS40MTEsMjIwLjI1OTggMjEuMzE5LDIyMC41MzQ4IDIxLjIyNSwyMjAuODA2OCBDMTkuMDI0LDIxOS4zMDM4IDE2LjcxMSwyMTcuNDA0OCAxNS4xNDEsMjE1LjIzNjggQzEyLjM1NiwyMTEuMzk0OCAxMC42MjIsMjA0Ljk0NDggMTMuMTQxLDE5OS4yMzY4IEMxNC4yMjIsMTk2Ljc4NTggMTUuOTk2LDE5NC42Nzk4IDE4LjA0OSwxOTMuMDgyOCBDMTYuODQ1LDE5MC4xMjA4IDE1LjE0NywxODIuNzQzOCAxNS4xOSwxNzguNDU2OCBDMTIuNzQyLDE4MC4yMjk4IDkuMzMyLDE4My43NTc4IDYuNDEyLDE4OC40MDI4IEM2LjMxNywxODguNTEzOCA2LjI0NCwxODguNjM3OCA2LjE4NywxODguNzY3OCBDMi4xNDIsMTk1LjM0MzggLTAuODY5LDIwNC4wNzE4IDEuMTQxLDIxMy4yMzY4IEM0LjEwNCwyMjYuNzUzOCAxNi4zMjIsMjMzLjY2OTggMjEuNzQ0LDIzNS43NTY4IEMyMi42NjIsMjM4LjE5NTggMjQuMDE3LDI0MC44MTA4IDI1Ljk1MiwyNDMuNTk1OCBDMjMuMjUyLDI0OS4xMzU4IDIxLjI1NCwyNTUuNDI3OCAyMS4xNDEsMjYyLjcxMzggQzIwLjk2MSwyNzMuOTg1OCAyMy44NjcsMjgxLjgwNzggMjkuNzc4LDI4NS45NjQ4IEMzMi44NjYsMjg4LjEzNjggMzcuNTIyLDI4OS45Njc4IDQwLjQ3OCwyODcuOTgyOCBDNDMuMjM5LDI4Ni4xMjU4IDQzLjA4NiwyODIuMTUzOCA0Mi45NTEsMjc4LjY0NzggQzQyLjkwMSwyNzcuMzU3OCA0Mi43ODUsMjc0LjMzNDggNDMuMjk2LDI3NC4wODU4IEM0My4zMDcsMjc0LjA4MzggNDQuNjEzLDI3My43MTU4IDQ4LjU0NCwyNzcuNzYwOCBMNDguNTY0LDI3Ny43ODE4IEM1Ni43OTUsMjg2LjI1OTggNzIuODY3LDMwMS40NzE4IDg4LjAzOSwzMDguMTExOCBDOTAuMzgzLDMwOS4xMzY4IDk3LjUwNSwzMTEuODgyOCAxMDYuNDM4LDMxMS44ODI4IEMxMDguODE4LDMxMS44ODI4IDExMS4zMywzMTEuNjg3OCAxMTMuOTEyLDMxMS4yMTI4IEMxMTcuMzk5LDMxMC41NzA4IDEyMi42NzEsMzA5LjYwMTggMTI0Ljk1NCwzMDUuNDYwOCBDMTI3LjMwMywzMDEuMTk5OCAxMjUuMjA1LDI5Ni4wMTg4IDEyMi4wMzEsMjg4LjE3NDggQzEyMC4xODQsMjgzLjYxMTggMTE4LjY2OCwyODAuNzk5OCAxMTcuNTYxLDI3OC43NDY4IEMxMTYuMTI2LDI3Ni4wODY4IDExNS43NjQsMjc1LjM0MDggMTE2LjA5LDI3NC4xMjQ4IEMxMTcuMjIxLDI2OS45MDI4IDEyNS4wNzcsMjY3LjgyMTggMTM1LjAyNCwyNjUuMTg3OCBDMTQxLjQxMywyNjMuNDk0OCAxNDUuNzA2LDI2Mi44OTI4IDE0OC44NDEsMjYyLjQ1MjggQzE1My4xNzIsMjYxLjg0NDggMTU1Ljc4NiwyNjEuNDc4OCAxNTguNjU1LDI1OC44NDE4IEMxNjQuMTc5LDI1My43NjY4IDE2NS44MTQsMjQ0LjkyNjggMTY0Ljk4NywyMzguNDE3OCIgaWQ9IkZpbGwtMTQ2IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTc1MS44MTY0LDE5Mi4zMTU0IEM3NTQuNTc2NCwxOTAuMjUxNCA3NTcuMTYyNCwxODguMTYzNCA3NTkuMzUyNCwxODYuMTUyNCBMNzU0LjA2MzQsMTY5LjY1MDQgQzc1MS40NTc0LDE3Mi41NjQ0IDc0OC42Mzg0LDE3NS4zMDM0IDc0NS43NDE0LDE3Ny44NjU0IEM3NDguOTA5NCwxODMuMzM1NCA3NTAuNzQ5NCwxODguMzU2NCA3NTEuODE2NCwxOTIuMzE1NCIgaWQ9IkZpbGwtMTQ4IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTczMS44MTM1LDE4OC42MjIxIEM3MjcuMDYyNSwxOTEuODYwMSA3MjIuNjM5NSwxOTQuNTE5MSA3MTkuMTQyNSwxOTYuNTA4MSBMNzIyLjY4NDUsMTk5Ljc0NDEgTDcyNy43NTY1LDIwNy44MTExIEM3MzEuNTc4NSwyMDUuNjkxMSA3MzcuNjk1NSwyMDIuMDQ0MSA3NDMuOTI5NSwxOTcuODczMSBDNzM4Ljc5MzUsMTk1LjMwMDEgNzM0Ljc1MjUsMTkxLjc5MDEgNzMxLjgxMzUsMTg4LjYyMjEiIGlkPSJGaWxsLTE1MCIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03MjkuOTYsMTYwLjkyMTkgQzczNi4yNSwxNTcuMDUwOSA3NDMuMjIsMTUzLjEyODkgNzQ4LjI2NCwxNTIuNzAxOSBMNzQzLjUsMTQxLjE4MDkgQzczNC40NjksMTQzLjE3NzkgNzI1LjQ1OCwxNDcuODI3OSA3MTcuNiwxNTMuMzM5OSBMNzI5Ljk2LDE2MC45MjE5IFoiIGlkPSJGaWxsLTE1MiIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NjAuNzE5NywxMjEuMjI5NSBDNjczLjc4OTcsMTAxLjMzMjUgNjkyLjkxNjcsOTQuMzMyNSA2OTcuOTYwNyw5My45MDU1IEw2NzkuOTUyNyw4Ny40MjA1IEM2NzAuOTIxNyw4OS40MTc1IDY2Mi41ODA3LDk1Ljg2MjUgNjU4LjQ0ODcsMTAxLjk5NzUgTDY2MC43MTk3LDEyMS4yMjk1IFoiIGlkPSJGaWxsLTE1NCIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03MTYuOTkyMiwxNTMuNzYyNyBDNzA1LjI4NjIsMTYyLjEwMDcgNjk2LjI1MzIsMTcyLjI4MzcgNjkzLjc1NTIsMTc4LjI2NzcgTDcwMi40NTQyLDE4NS4xMDU3IEw3MTkuODIxMiwxNjcuMTMxNyBDNzE5Ljk3MzIsMTY3LjA0NjcgNzIwLjE0NDIsMTY2Ljk0NTcgNzIwLjMwMzIsMTY2Ljg1NTcgTDcxNi45OTIyLDE1My43NjI3IFoiIGlkPSJGaWxsLTE1NiIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02OTcuOTYwOSwxMTMuNDk0MSBDNjg3Ljc1OTksMTEzLjQ5NDEgNjc5LjQ2MDksMTIxLjc5MzEgNjc5LjQ2MDksMTMxLjk5NDEgQzY3OS40NjA5LDE0Mi4xOTUxIDY4Ny43NTk5LDE1MC40OTQxIDY5Ny45NjA5LDE1MC40OTQxIEM3MDguMTYxOSwxNTAuNDk0MSA3MTYuNDYwOSwxNDIuMTk1MSA3MTYuNDYwOSwxMzEuOTk0MSBDNzE2LjQ2MDksMTIxLjc5MzEgNzA4LjE2MTksMTEzLjQ5NDEgNjk3Ljk2MDksMTEzLjQ5NDEgTTY5Ny45NjA5LDE1My40OTQxIEM2ODYuMTA1OSwxNTMuNDk0MSA2NzYuNDYwOSwxNDMuODQ5MSA2NzYuNDYwOSwxMzEuOTk0MSBDNjc2LjQ2MDksMTIwLjEzOTEgNjg2LjEwNTksMTEwLjQ5NDEgNjk3Ljk2MDksMTEwLjQ5NDEgQzcwOS44MTU5LDExMC40OTQxIDcxOS40NjA5LDEyMC4xMzkxIDcxOS40NjA5LDEzMS45OTQxIEM3MTkuNDYwOSwxNDMuODQ5MSA3MDkuODE1OSwxNTMuNDk0MSA2OTcuOTYwOSwxNTMuNDk0MSIgaWQ9IkZpbGwtMTYwIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTY5Ny45NjA5LDEyMi40OTQxIEM2OTIuNzIyOSwxMjIuNDk0MSA2ODguNDYwOSwxMjYuNzU2MSA2ODguNDYwOSwxMzEuOTk0MSBDNjg4LjQ2MDksMTM3LjIzMjEgNjkyLjcyMjksMTQxLjQ5NDEgNjk3Ljk2MDksMTQxLjQ5NDEgQzcwMy4xOTg5LDE0MS40OTQxIDcwNy40NjA5LDEzNy4yMzIxIDcwNy40NjA5LDEzMS45OTQxIEM3MDcuNDYwOSwxMjYuNzU2MSA3MDMuMTk4OSwxMjIuNDk0MSA2OTcuOTYwOSwxMjIuNDk0MSBNNjk3Ljk2MDksMTQ0LjQ5NDEgQzY5MS4wNjc5LDE0NC40OTQxIDY4NS40NjA5LDEzOC44ODcxIDY4NS40NjA5LDEzMS45OTQxIEM2ODUuNDYwOSwxMjUuMTAxMSA2OTEuMDY3OSwxMTkuNDk0MSA2OTcuOTYwOSwxMTkuNDk0MSBDNzA0Ljg1MzksMTE5LjQ5NDEgNzEwLjQ2MDksMTI1LjEwMTEgNzEwLjQ2MDksMTMxLjk5NDEgQzcxMC40NjA5LDEzOC44ODcxIDcwNC44NTM5LDE0NC40OTQxIDY5Ny45NjA5LDE0NC40OTQxIiBpZD0iRmlsbC0xNjIiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjk3Ljk2MDksMTIyLjQ5NDEgQzY5Mi43MjI5LDEyMi40OTQxIDY4OC40NjA5LDEyNi43NTYxIDY4OC40NjA5LDEzMS45OTQxIEM2ODguNDYwOSwxMzcuMjMyMSA2OTIuNzIyOSwxNDEuNDk0MSA2OTcuOTYwOSwxNDEuNDk0MSBDNzAzLjE5ODksMTQxLjQ5NDEgNzA3LjQ2MDksMTM3LjIzMjEgNzA3LjQ2MDksMTMxLjk5NDEgQzcwNy40NjA5LDEyNi43NTYxIDcwMy4xOTg5LDEyMi40OTQxIDY5Ny45NjA5LDEyMi40OTQxIiBpZD0iRmlsbC0xNjQiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzY3LjE5MDQsMjQyLjI4MTMgQzc2Ny4wMDc0LDI0Ni4xNjkzIDc2OC4wMzU0LDI1NC45ODEzIDc3OS43MDI0LDI2MS4xMTEzIEM3NzguMjc4NCwyNTguOTY3MyA3NzYuNzUxNCwyNTYuMTA3MyA3NzUuNTM4NCwyNTIuNDY5MyBDNzczLjYzNDQsMjQ2Ljc1OTMgNzY5LjU0MTQsMjQzLjY1NTMgNzY3LjE5MDQsMjQyLjI4MTMgTDc2Ny4xOTA0LDI0Mi4yODEzIFogTTc5Mi41NjA0LDI2OS4yMjMzIEw3ODQuNDY3NCwyNjYuNDExMyBDNzYwLjQ2ODQsMjU4LjA2MzMgNzY0LjQ1ODQsMjM5LjgzNDMgNzY0LjUwMTQsMjM5LjY1MDMgTDc2NC44OTE0LDIzNy45OTEzIEw3NjYuNDg3NCwyMzguNTkwMyBDNzY2Ljg0MTQsMjM4LjcyMjMgNzc1LjE5NDQsMjQxLjk1MTMgNzc4LjM4MzQsMjUxLjUxOTMgQzc4MS4xODg0LDI1OS45MzMzIDc4NS44NTQ0LDI2My43ODgzIDc4NS45MDE0LDI2My44MjYzIEw3OTIuNTYwNCwyNjkuMjIzMyBaIiBpZD0iRmlsbC0xNjYiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzI5Ljk2MTksOTYuNDk0MSBDNzI5LjU0NDksOTYuNDk0MSA3MjkuMTMwOSw5Ni4zMjExIDcyOC44MzM5LDk1Ljk4NDEgQzcxNC44NTc5LDgwLjA3OTEgNjk4Ljg5NTksNzcuNTAxMSA2OTguNzM1OSw3Ny40NzcxIEM2OTcuOTE2OSw3Ny4zNTMxIDY5Ny4zNTM5LDc2LjU4OTEgNjk3LjQ3NzksNzUuNzY5MSBDNjk3LjYwMjksNzQuOTUwMSA2OTguMzcyOSw3NC4zOTQxIDY5OS4xODU5LDc0LjUxMTEgQzY5OS44ODE5LDc0LjYxNjEgNzE2LjM5NTksNzcuMjg1MSA3MzEuMDg3OSw5NC4wMDQxIEM3MzEuNjM0OSw5NC42MjYxIDczMS41NzI5LDk1LjU3NDEgNzMwLjk1MDksOTYuMTIxMSBDNzMwLjY2NTksOTYuMzcxMSA3MzAuMzEzOSw5Ni40OTQxIDcyOS45NjE5LDk2LjQ5NDEiIGlkPSJGaWxsLTE2OCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NDIuMDAxLDExMSBDNzQxLjQ4LDExMSA3NDAuOTc1LDExMC43MjkgNzQwLjY5NywxMTAuMjQ0IEM3MzkuNjMzLDEwOC4zODIgNzM2LjM4NCwxMDMuMjI2IDczNC4xNjgsMTAxLjc0OCBDNzMzLjQ3OSwxMDEuMjg4IDczMy4yOTIsMTAwLjM1NyA3MzMuNzUyLDk5LjY2OCBDNzM0LjIxMiw5OC45NzkgNzM1LjE0NCw5OC43OTIgNzM1LjgzMiw5OS4yNTIgQzczOS4wMzQsMTAxLjM4NyA3NDIuODc1LDEwOC4wMDggNzQzLjMwMywxMDguNzU2IEM3NDMuNzEzLDEwOS40NzUgNzQzLjQ2NCwxMTAuMzkxIDc0Mi43NDQsMTEwLjgwMiBDNzQyLjUxLDExMC45MzcgNzQyLjI1NCwxMTEgNzQyLjAwMSwxMTEiIGlkPSJGaWxsLTE3MCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik03NjguMTQ3NSwyMjMgQzc1NS4yMTk1LDIyMi4xOTEgNzUzLjA1NjUsMjE1Ljg5OSA3NTIuODgzNSwyMTUuMzE2IEw3NDkuMzk4NSwyMDUuNjQgTDc0Ni45OTE1LDIxNS41NjkgQzc0Ni41MjY1LDIxOC44MTkgNzQ3LjEyMDUsMjIxLjg1MiA3NDguMDIyNSwyMjQuMzUgQzc0Mi4xNjQ1LDIyMi4wMjggNzM2LjY4NjUsMjE3LjYxIDczMS42NzU1LDIxMS4xNTIgQzczMC43NzA1LDIwOS45ODYgNzI5Ljk0ODUsMjA4LjgzIDcyOS4xOTY1LDIwNy43MTEgQzczMi45MTc1LDIwNS42NCA3MzguMTc0NSwyMDIuNDc5IDc0My42Mjc1LDE5OC44NTIgQzc0Ni4zNTU1LDIwMC4xMjUgNzQ5LjM1MzUsMjAxLjE4MyA3NTIuNjU2NSwyMDEuOTYgTDc1NC41NTg1LDIwMi40MDcgTDc1NC40OTk1LDIwMC40NTQgQzc1NC40OTY1LDIwMC4zNDkgNzU0LjM1NDUsMTk3LjAzIDc1My4xNDA1LDE5Mi4xMTEgQzc1NS40MDE1LDE5MC4zOTEgNzU3LjU0NjUsMTg4LjY1NCA3NTkuNDUyNSwxODYuOTUyIEM3NjYuMzIyNSwxODguMjMyIDc3MS4xNjE1LDE5MS4xNjUgNzczLjgzMzUsMTk1LjY3MiBDNzc1LjIzNjUsMTk4LjA0IDc3NS45Mzk1LDIwMC42NDYgNzc2LjIyODUsMjAzLjE1NyBDNzc0LjM1NTUsMjAxLjk1OCA3NzIuMDA4NSwyMDEuMjM3IDc2OS4yMDk1LDIwMS4wMDQgQzc2OC41MDk1LDIwMC45NDUgNzY3Ljg0MjUsMjAwLjkxNiA3NjcuMjI3NSwyMDAuOTE2IEM3NjMuMzcwNSwyMDAuOTE2IDc2MC44NzY1LDIwMi4xMTMgNzU5LjgxNjUsMjA0LjQ3NCBDNzU4LjA4NjUsMjA4LjMyNCA3NjEuNjAwNSwyMTIuNzI5IDc2Mi43MTc1LDIxMy45ODYgTDc2My4wNDk1LDIxNC4zNTkgTDc2My40ODQ1LDIxNC42MDUgQzc2OC43ODk1LDIxNy42MDQgNzcyLjcwNjUsMjIwLjkxNiA3NzUuMDY2NSwyMjQuMzY2IEM3NzMuMTE0NSwyMjMuNjIzIDc3MC44MDQ1LDIyMy4xNjYgNzY4LjE0NzUsMjIzIEw3NjguMTQ3NSwyMjMgWiBNNzIzLjMzMjUsMTk2Ljg2MyBMNzIyLjQyODUsMTk2LjM3NyBDNzI0LjQ5OTUsMTk1LjEwMiA3MjYuODk0NSwxOTMuNTQzIDcyOS43MTc1LDE5MS42IEM3MzAuMjc3NSwxOTEuMjE0IDczMC44OTU1LDE5MC43NzkgNzMxLjUzNzUsMTkwLjMyNCBDNzM0LjA5MjUsMTkyLjkwNyA3MzcuMDgxNSwxOTUuMjcyIDc0MC41Nzg1LDE5Ny4yNjQgQzczNS41NTk1LDIwMC41MzggNzMwLjgyOTUsMjAzLjM3NyA3MjcuNTg5NSwyMDUuMjAzIEM3MjUuMDU2NSwyMDEuMDQzIDcyMy43NTY1LDE5Ny45MDUgNzIzLjczOTUsMTk3Ljg2MiBMNzIzLjMzMjUsMTk2Ljg2MyBaIE03MDMuOTU0NSwxODkuOTQ5IEM3MDAuNzMyNSwxOTMuNzI5IDY5OS4zNDE1LDE5Ny44MTIgNjk5LjgxOTUsMjAyLjA4NSBDNzAwLjM0NzUsMjA2LjgyIDcwMy4wNzY1LDIxMC44MDYgNzA1LjQ0MTUsMjEzLjQ0NSBDNzAxLjMyOTUsMjEyLjM2NSA2OTguMTYzNSwyMTAuMjMzIDY5NS45OTk1LDIwNy4wNzcgQzY5MC4yMjk1LDE5OC42NjcgNjkyLjc1MTUsMTg1LjEwMyA2OTMuOTE5NSwxODAuMjQyIEM2OTcuMjU2NSwxODMuMjI0IDcwMC44ODM1LDE4Ni4xNCA3MDQuODMxNSwxODguOTY2IEM3MDQuNTI1NSwxODkuMjk3IDcwNC4yMjk1LDE4OS42MjUgNzAzLjk1NDUsMTg5Ljk0OSBMNzAzLjk1NDUsMTg5Ljk0OSBaIE02ODAuNzIxNSwxNjEuNDk5IEM2NzIuNDk3NSwxNTAuNDkgNjY2LjU5NjUsMTM4LjEzMyA2NjMuMTg1NSwxMjQuNzcgQzY2Mi45Njc1LDEyMy45MTUgNjYyLjc3MzUsMTIzLjA3NCA2NjIuNTgxNSwxMjIuMjM0IEM2NzIuMzExNSwxMDYuMzM0IDY4Ny4zODk1LDk5LjA2NiA2OTcuMjYzNSw5NS44NjIgQzcwMC4zMTM1LDk3LjM3MSA3MDMuMjc0NSw5OS4wMzcgNzA2LjEzMTUsMTAwLjg4MiBDNzE3LjMwMjUsMTA4LjA5NCA3MjcuMDQ3NSwxMTcuODgzIDczNS4wOTQ1LDEyOS45NzkgQzczNy4zOTc1LDEzMy40MzggNzM5LjQyMjUsMTM2Ljg5MyA3NDEuMjEwNSwxNDAuMjUgQzc0MC45NDA1LDE0MC4zMjQgNzQwLjY3MjUsMTQwLjM5NyA3NDAuMzk0NSwxNDAuNDc2IEM3MTUuMzExNSwxNDcuNTMgNjk4LjkwMzUsMTY2LjMxMSA2OTIuNTIwNSwxNzQuODM2IEM2ODguMTcwNSwxNzAuNjM2IDY4NC4yMjU1LDE2Ni4xODkgNjgwLjcyMTUsMTYxLjQ5OSBMNjgwLjcyMTUsMTYxLjQ5OSBaIE02NzMuNzkwNSw4Ny45NDEgQzY2Ny43NjA1LDkwLjc5OCA2NjMuMTk1NSw5NC40OTYgNjU5LjgyMjUsOTguMDc3IEM2NTkuODExNSw5Mi43NjUgNjYwLjE5NjUsODguNjIgNjYwLjUxMDUsODYuMTUzIEM2NjUuMDYzNSw4Ni40ODIgNjY5LjQ4OTUsODcuMDg0IDY3My43OTA1LDg3Ljk0MSBMNjczLjc5MDUsODcuOTQxIFogTTY5My4zODc1LDk0LjA0OSBDNjgzLjc1MTUsOTcuNjMgNjcwLjkxMTUsMTA0LjY1NiA2NjEuNzA5NSwxMTguMDkzIEM2NjAuNjMxNSwxMTIuMzY3IDY2MC4xMTc1LDEwNy4wNzMgNjU5LjkyMTUsMTAyLjQyMiBDNjYwLjQ1ODUsMTAxLjc2MSA2NjEuMDMxNSwxMDEuMDg4IDY2MS42NTk1LDEwMC40MDcgQzY2Ni4zOTM1LDk1LjI3NSA2NzIuMTI5NSw5MS40ODcgNjc4Ljc3ODUsODkuMDYxIEM2ODMuODQ0NSw5MC4zNDMgNjg4LjcxNzUsOTIuMDA4IDY5My4zODc1LDk0LjA0OSBMNjkzLjM4NzUsOTQuMDQ5IFogTTc3My4yNTE1LDE1OS44OTggQzc2Ni4wNzc1LDE1NC41MTMgNzU2LjMxNTUsMTU1Ljg5MiA3NTEuODY0NSwxNTYuOTI0IEM3NTAuNDA2NSwxNTIuODU0IDc0OC40OTQ1LDE0OC4xMzkgNzQ2LjAzMjUsMTQzLjA5IEM3NjEuOTYxNSwxNDYuMjg4IDc2OS42MjQ1LDE1My43OTkgNzczLjI1MTUsMTU5Ljg5OCBMNzczLjI1MTUsMTU5Ljg5OCBaIE03MjQuMTY4NSwxNzMuOTk5IEM3MjEuMTEyNSwxNjYuOTA3IDcyMC4wNDc1LDE2MC4yMDcgNzE5LjY4MzUsMTU2LjggQzc0NS41NTY1LDE2Ny44NjkgNzUwLjQyNDUsMTkxLjQ1OCA3NTEuMzEwNSwxOTguNTE1IEM3MzguNzgwNSwxOTQuOTc5IDcyOS42NTU1LDE4Ni43NDEgNzI0LjE2ODUsMTczLjk5OSBMNzI0LjE2ODUsMTczLjk5OSBaIE03NTIuMjY2NSwxNjguMzg0IEM3NTAuMjA2NSwxNzAuNjQxIDc0OC4wMzQ1LDE3Mi44MiA3NDUuODAxNSwxNzQuOTA2IEM3NDIuNzAzNSwxNzAuMDQ2IDczOC41MDU1LDE2NS4xNTggNzMyLjgxMzUsMTYwLjg5NiBDNzQwLjQ2OTUsMTU2LjMzNiA3NDYuNDUxNSwxNTMuNzA0IDc0Ny4yODQ1LDE1My4zNDQgQzc0OS44ODE1LDE1OS44NDIgNzUxLjQ0NjUsMTY1LjE5OSA3NTIuMjY2NSwxNjguMzg0IEw3NTIuMjY2NSwxNjguMzg0IFogTTc0Ni4xMzE1LDE1MC41NDkgQzc0Ni4xMDY1LDE1MC41NjggNzQ2LjA4MTUsMTUwLjU4OCA3NDYuMDU0NSwxNTAuNjA3IEM3NDQuODIzNSwxNTEuMTMzIDczOC4yNjI1LDE1NC4wMTUgNzMwLjA4NjUsMTU4Ljk3NCBDNzI2Ljk3MDUsMTU2LjkyNSA3MjMuNDM5NSwxNTUuMDc0IDcxOS40Nzg1LDE1My40ODcgQzcyNS43NTI1LDE0OS4zMzQgNzMzLjAyMDUsMTQ1LjY2NiA3NDEuMjA3NSwxNDMuMzY0IEM3NDEuNjk5NSwxNDMuMjI2IDc0Mi4xNjg1LDE0My4wOTggNzQyLjYyMTUsMTQyLjk3NyBDNzQzLjkzNDUsMTQ1LjU5NCA3NDUuMTAzNSwxNDguMTM1IDc0Ni4xMzE1LDE1MC41NDkgTDc0Ni4xMzE1LDE1MC41NDkgWiBNNjk0Ljc0MzUsMTc2LjkzIEM2OTguNDIzNSwxNzIuMDM1IDcwNS44NTI1LDE2My4yMTEgNzE2LjU1OTUsMTU1LjUwMiBDNzE2LjY5ODUsMTU3LjMxMyA3MTcuMTU5NSwxNjEuNTQ2IDcxOC41ODE1LDE2Ni43OSBDNzEyLjYxNjUsMTcxLjMyNiA3MDYuNjc2NSwxNzYuNzQ0IDcwMS44NTA1LDE4Mi45NzQgQzY5OS4zNzY1LDE4MS4wMjUgNjk3LjAwOTUsMTc5LjAwOCA2OTQuNzQzNSwxNzYuOTMgTDY5NC43NDM1LDE3Ni45MyBaIE03MTkuMzQ3NSwxOTQuNjcyIEM3MTMuOTY2NSwxOTEuNjE4IDcwOC45MjI1LDE4OC4zMjYgNzA0LjIyOTUsMTg0LjgwNiBDNzA4LjYxMzUsMTc5LjE2MyA3MTQuMDE3NSwxNzQuMTc0IDcxOS41MTQ1LDE2OS45MTggQzcyMS40MDc1LDE3NS43MjEgNzI0LjQ5MTUsMTgyLjMwNSA3MjkuNDg1NSwxODguMTA0IEM3MjUuNzE3NSwxOTAuNzU5IDcyMi4yMzE1LDE5Mi45ODEgNzE5LjM0NzUsMTk0LjY3MiBMNzE5LjM0NzUsMTk0LjY3MiBaIE03NTcuMDkyNSwxODQuODc2IEw3NTcuMTY0NSwxODUuMTA2IEM3NTUuNjc2NSwxODYuMzk2IDc1NC4wMzA1LDE4Ny43MjEgNzUyLjI5MzUsMTg5LjA0OSBDNzUxLjIzNzUsMTg1LjU4NSA3NDkuNjc3NSwxODEuNjExIDc0Ny4zNzc1LDE3Ny41MjIgQzc0OS4zMDI1LDE3NS43NDQgNzUxLjIyNjUsMTczLjg2MyA3NTMuMDk4NSwxNzEuODkzIEw3NTcuMDkyNSwxODQuODc2IFogTTc2NC45NTk1LDIxMS45OTQgQzc2NC45NTk1LDIxMS45OTQgNzU3Ljc4MjUsMjAzLjkxNiA3NjcuMjI3NSwyMDMuOTE2IEM3NjcuNzUyNSwyMDMuOTE2IDc2OC4zMjg1LDIwMy45NDEgNzY4Ljk1OTUsMjAzLjk5NCBDNzgwLjk2MDUsMjA0Ljk5NCA3NzcuOTYwNSwyMTUuOTk0IDc3Ny45NjA1LDIxNS45OTQgQzc3Ny45NjA1LDIxNS45OTQgNzg2Ljk1OTUsMTg4Ljk5NCA3NTkuOTU5NSwxODMuOTk0IEw3NTUuOTU5NSwxNzAuOTk0IEM3NTUuOTU5NSwxNzAuOTk0IDc1NS4xMTg1LDE2Ni41OSA3NTIuODQ0NSwxNTkuNzYgQzc1NC44Nzk1LDE1OS4yOTQgNzU3Ljk5NzUsMTU4Ljc3OCA3NjEuMzY2NSwxNTguOTU1IEM3NjguODMxNSwxNTkuMzM0IDc3My45NjA1LDE2Mi43OTIgNzc2LjYxMzUsMTY5LjIzMiBMNzgwLjM4MDUsMTc4LjM4MiBMNzc5LjQ5NDUsMTY4LjUyNiBDNzc5LjQ3MTUsMTY4LjI3OCA3NzguODkxNSwxNjIuMzY3IDc3NC4wNjM1LDE1NS44MTMgQzc2OS43NjM1LDE0OS45NzcgNzYxLjExMjUsMTQyLjUyNCA3NDQuMzIyNSwxMzkuNzA5IEM3MzEuNTg0NSwxMTUuMzc0IDcwNi4xOTI1LDg1LjM0NyA2NTcuOTU5NSw4Mi45OTQgQzY1Ny45NTk1LDgyLjk5NCA2NDcuMTkzNSwxMzYuMTYgNjkxLjQxMzUsMTc3Ljk0IEM2OTAuNTk2NSwxODAuOCA2ODYuMTMzNSwxOTcuOTg5IDY5My41MTk1LDIwOC43NjggQzY5Ni45ODU1LDIxMy44MjQgNzAyLjQ5NDUsMjE2LjY1NiA3MDkuODkzNSwyMTcuMTg1IEw3MTQuOTY1NSwyMTcuNTQ2IEw3MTAuOTAwNSwyMTQuNDg4IEM3MTAuODI3NSwyMTQuNDM0IDcwMy41OTI1LDIwOC45MTcgNzAyLjc5ODUsMjAxLjczOCBDNzAyLjQyMTUsMTk4LjMyNiA3MDMuNTc4NSwxOTUuMDE1IDcwNi4yMzc1LDE5MS44OTUgQzcwNi41Njk1LDE5MS41MDUgNzA2LjkzMDUsMTkxLjEwNyA3MDcuMzA2NSwxOTAuNzA1IEM3MTEuNTA3NSwxOTMuNTc3IDcxNi4wNDg1LDE5Ni4zNSA3MjAuOTU5NSwxOTguOTk0IEM3MjAuOTU5NSwxOTguOTk0IDczMS45NTk1LDIyNS45OTQgNzUzLjk1OTUsMjI4Ljk5NCBDNzUzLjk1OTUsMjI4Ljk5NCA3NDguOTYwNSwyMjIuOTk0IDc0OS45NjA1LDIxNS45OTQgQzc0OS45NjA1LDIxNS45OTQgNzUxLjk2MDUsMjI0Ljk5NCA3NjcuOTYwNSwyMjUuOTk0IEM3ODMuOTYwNSwyMjYuOTk0IDc3OC45NjA1LDIzOC45OTQgNzc4Ljk2MDUsMjM4Ljk5NCBDNzc4Ljk2MDUsMjM4Ljk5NCA3ODcuOTU5NSwyMjQuOTk0IDc2NC45NTk1LDIxMS45OTQgTDc2NC45NTk1LDIxMS45OTQgWiIgaWQ9IkZpbGwtMTcyIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICA8L2c+DQogICAgICAgIDwvZz4NCiAgICA8L2c+DQo8L3N2Zz4=)}.layui-exception .layui-exception-image .error-500{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjgyM3B4IiBoZWlnaHQ9IjgyM3B4IiB2aWV3Qm94PSIwIDAgODIzIDgyMyIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgICA8dGl0bGU+NTAwPC90aXRsZT4NCiAgICA8ZyBpZD0i5qGG5p626K6+6K6hLei/h+eoi+eJiCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLnvLrnnIHlm74iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMzQwLjAwMDAwMCwgLTIxMDEuMDAwMDAwKSI+DQogICAgICAgICAgICA8ZyBpZD0iNTAwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzQwLjAwMDAwMCwgMjEwMS4wMDAwMDApIj4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDE2LjkxNjYsMy4wMzU0IEw0MTYuODk2NiwzLjAzNTQgQzQxNS4xMDE2LDMuMDEyNCA0MTMuMzAxNiwzLjAwMDQgNDExLjQ5OTYsMy4wMDA0IEw0MTAuOTE2NiwzLjAwMDQgQzQxMC4wODg2LDMuMDAwNCA0MDkuNDE2NiwyLjMyODQgNDA5LjQxNjYsMS41MDA0IEM0MDkuNDE2NiwwLjY3MjQgNDEwLjA4ODYsMC4wMDA0IDQxMC45MTY2LDAuMDAwNCBMNDExLjQ5OTYsMC4wMDA0IEM0MTMuMzE0NiwwLjAwMDQgNDE1LjEyNjYsMC4wMTI0IDQxNi45MzY2LDAuMDM1NCBDNDE3Ljc2NDYsMC4wNDY0IDQxOC40Mjc2LDAuNzI2NCA0MTguNDE2NiwxLjU1NTQgQzQxOC40MDU2LDIuMzc2NCA0MTcuNzM1NiwzLjAzNTQgNDE2LjkxNjYsMy4wMzU0IEw0MTYuOTE2NiwzLjAzNTQgWiBNMzk4LjkzMDYsMy4xODg0IEMzOTguMTIyNiwzLjE4ODQgMzk3LjQ1NjYsMi41NDY0IDM5Ny40MzI2LDEuNzMzNCBDMzk3LjQwNjYsMC45MDU0IDM5OC4wNTg2LDAuMjE0NCAzOTguODg2NiwwLjE4OTQgQzQwMC44ODU2LDAuMTI5NCA0MDIuODg5NiwwLjA4MzQgNDA0Ljg5NTYsMC4wNTI0IEw0MDQuOTE4NiwwLjA1MjQgQzQwNS43MzY2LDAuMDUyNCA0MDYuNDA1NiwwLjcwODQgNDA2LjQxODYsMS41Mjg0IEM0MDYuNDMxNiwyLjM1NjQgNDA1Ljc3MDYsMy4wMzk0IDQwNC45NDE2LDMuMDUyNCBDNDAyLjk0OTYsMy4wODM0IDQwMC45NjE2LDMuMTI5NCAzOTguOTc2NiwzLjE4NzQgQzM5OC45NjA2LDMuMTg4NCAzOTguOTQ1NiwzLjE4ODQgMzk4LjkzMDYsMy4xODg0IEwzOTguOTMwNiwzLjE4ODQgWiBNNDI4LjkwOTYsMy4zNjI0IEM0MjguODg4NiwzLjM2MjQgNDI4Ljg2NzYsMy4zNjI0IDQyOC44NDY2LDMuMzYxNCBDNDI2Ljg1NzYsMy4yNzg0IDQyNC44Njc2LDMuMjA5NCA0MjIuODcyNiwzLjE1NDQgQzQyMi4wNDQ2LDMuMTMyNCA0MjEuMzkxNiwyLjQ0MjQgNDIxLjQxNDYsMS42MTQ0IEM0MjEuNDM2NiwwLjgwMDQgNDIyLjEwMzYsMC4xNTU0IDQyMi45MTI2LDAuMTU1NCBDNDIyLjkyNjYsMC4xNTU0IDQyMi45NDA2LDAuMTU1NCA0MjIuOTU0NiwwLjE1NjQgQzQyNC45NjM2LDAuMjExNCA0MjYuOTY5NiwwLjI4MDQgNDI4Ljk3MTYsMC4zNjM0IEM0MjkuNzk4NiwwLjM5ODQgNDMwLjQ0MTYsMS4wOTc0IDQzMC40MDc2LDEuOTI1NCBDNDMwLjM3MzYsMi43MzE0IDQyOS43MDk2LDMuMzYyNCA0MjguOTA5NiwzLjM2MjQgTDQyOC45MDk2LDMuMzYyNCBaIE0zODYuOTYxNiwzLjcyMjQgQzM4Ni4xNzM2LDMuNzIyNCAzODUuNTEzNiwzLjEwNzQgMzg1LjQ2NjYsMi4zMTA0IEMzODUuNDE3NiwxLjQ4MzQgMzg2LjA0ODYsMC43NzM0IDM4Ni44NzU2LDAuNzI1NCBDMzg4Ljg3NTYsMC42MDc0IDM5MC44ODA2LDAuNTA0NCAzOTIuODg5NiwwLjQxNTQgQzM5My43MTQ2LDAuMzkzNCAzOTQuNDE3NiwxLjAxODQgMzk0LjQ1MzYsMS44NDc0IEMzOTQuNDkwNiwyLjY3NDQgMzkzLjg1MDYsMy4zNzU0IDM5My4wMjE2LDMuNDExNCBDMzkxLjAyNjYsMy41MDA0IDM4OS4wMzc2LDMuNjAzNCAzODcuMDUxNiwzLjcyMDQgQzM4Ny4wMjA2LDMuNzIyNCAzODYuOTkxNiwzLjcyMjQgMzg2Ljk2MTYsMy43MjI0IEwzODYuOTYxNiwzLjcyMjQgWiBNNDQwLjg4ODYsNC4wMzc0IEM0NDAuODUzNiw0LjAzNzQgNDQwLjgxNjYsNC4wMzY0IDQ0MC43ODA2LDQuMDMzNCBDNDM4Ljc5NzYsMy44OTI0IDQzNi44MDg2LDMuNzY1NCA0MzQuODE2NiwzLjY1NDQgQzQzMy45ODk2LDMuNjA3NCA0MzMuMzU2NiwyLjg5OTQgNDMzLjQwMjYsMi4wNzI0IEM0MzMuNDQ5NiwxLjI0NDQgNDM0LjE3OTYsMC42NDQ0IDQzNC45ODQ2LDAuNjU4NCBDNDM2Ljk5MTYsMC43NzE0IDQzOC45OTQ2LDAuODk4NCA0NDAuOTkzNiwxLjA0MTQgQzQ0MS44MTk2LDEuMDk5NCA0NDIuNDQxNiwxLjgxNzQgNDQyLjM4MzYsMi42NDM0IEM0NDIuMzI3NiwzLjQzMzQgNDQxLjY2ODYsNC4wMzc0IDQ0MC44ODg2LDQuMDM3NCBMNDQwLjg4ODYsNC4wMzc0IFogTTM3NC45OTY2LDQuNjAyNCBDMzc0LjIyODYsNC42MDI0IDM3My41NzM2LDQuMDE0NCAzNzMuNTA0NiwzLjIzNDQgQzM3My40MzE2LDIuNDA5NCAzNzQuMDQxNiwxLjY4MTQgMzc0Ljg2NjYsMS42MDg0IEMzNzYuODYyNiwxLjQzMTQgMzc4Ljg2MzYsMS4yNzA0IDM4MC44Njk2LDEuMTIzNCBDMzgxLjY4NTYsMS4wNjM0IDM4Mi40MTQ2LDEuNjgzNCAzODIuNDc1NiwyLjUxMDQgQzM4Mi41MzU2LDMuMzM2NCAzODEuOTE0Niw0LjA1NTQgMzgxLjA4ODYsNC4xMTU0IEMzNzkuMDk4Niw0LjI2MTQgMzc3LjExMjYsNC40MjI0IDM3NS4xMzA2LDQuNTk3NCBDMzc1LjA4NTYsNC42MDA0IDM3NS4wNDE2LDQuNjAyNCAzNzQuOTk2Niw0LjYwMjQgTDM3NC45OTY2LDQuNjAyNCBaIE00NTIuODQyNiw1LjA1ODQgQzQ1Mi43OTI2LDUuMDU4NCA0NTIuNzQxNiw1LjA1NjQgNDUyLjY5MDYsNS4wNTE0IEM0NTAuNzExNiw0Ljg1MjQgNDQ4LjcyNzYsNC42Njk0IDQ0Ni43Mzk2LDQuNDk4NCBDNDQ1LjkxNDYsNC40Mjg0IDQ0NS4zMDI2LDMuNzAxNCA0NDUuMzczNiwyLjg3NjQgQzQ0NS40NDM2LDIuMDUwNCA0NDYuMTgyNiwxLjQ0MTQgNDQ2Ljk5NTYsMS41MTA0IEM0NDguOTk4NiwxLjY4MTQgNDUwLjk5NjYsMS44NjY0IDQ1Mi45ODk2LDIuMDY2NCBDNDUzLjgxMzYsMi4xNDg0IDQ1NC40MTU2LDIuODg0NCA0NTQuMzMyNiwzLjcwODQgQzQ1NC4yNTU2LDQuNDgxNCA0NTMuNjAzNiw1LjA1ODQgNDUyLjg0MjYsNS4wNTg0IEw0NTIuODQyNiw1LjA1ODQgWiBNMzYzLjA2MTYsNS44MzE0IEMzNjIuMzExNiw1LjgzMTQgMzYxLjY2MjYsNS4yNjk0IDM2MS41NzM2LDQuNTA3NCBDMzYxLjQ3NjYsMy42ODM0IDM2Mi4wNjQ2LDIuOTM4NCAzNjIuODg4NiwyLjg0MjQgQzM2NC44Nzg2LDIuNjA3NCAzNjYuODcyNiwyLjM4NzQgMzY4Ljg3MjYsMi4xODE0IEMzNjkuNjc3NiwyLjA5OTQgMzcwLjQzMzYsMi42OTQ0IDM3MC41MTg2LDMuNTE5NCBDMzcwLjYwMzYsNC4zNDQ0IDM3MC4wMDM2LDUuMDgwNCAzNjkuMTc5Niw1LjE2NTQgQzM2Ny4xOTQ2LDUuMzY5NCAzNjUuMjE0Niw1LjU4ODQgMzYzLjIzODYsNS44MjE0IEMzNjMuMTc5Niw1LjgyODQgMzYzLjExOTYsNS44MzE0IDM2My4wNjE2LDUuODMxNCBMMzYzLjA2MTYsNS44MzE0IFogTTQ2NC43NjI2LDYuNDI4NCBDNDY0LjY5NzYsNi40Mjg0IDQ2NC42MzI2LDYuNDI0NCA0NjQuNTY2Niw2LjQxNTQgQzQ2Mi41OTQ2LDYuMTU5NCA0NjAuNjE1Niw1LjkxNzQgNDU4LjYzNDYsNS42ODk0IEM0NTcuODExNiw1LjU5NTQgNDU3LjIyMDYsNC44NTA0IDQ1Ny4zMTQ2LDQuMDI4NCBDNDU3LjQwOTYsMy4yMDU0IDQ1OC4xNzA2LDIuNjE3NCA0NTguOTc2NiwyLjcwOTQgQzQ2MC45NzM2LDIuOTM4NCA0NjIuOTY1NiwzLjE4MjQgNDY0Ljk1MzYsMy40NDA0IEM0NjUuNzc0NiwzLjU0NzQgNDY2LjM1NDYsNC4yOTk0IDQ2Ni4yNDc2LDUuMTIwNCBDNDY2LjE0OTYsNS44Nzc0IDQ2NS41MDQ2LDYuNDI4NCA0NjQuNzYyNiw2LjQyODQgTDQ2NC43NjI2LDYuNDI4NCBaIE0zNTEuMTY4Niw3LjQwNzQgQzM1MC40Mzc2LDcuNDA3NCAzNDkuNzk2Niw2Ljg3MTQgMzQ5LjY4NjYsNi4xMjY0IEMzNDkuNTY1Niw1LjMwNjQgMzUwLjEzMjYsNC41NDQ0IDM1MC45NTE2LDQuNDIzNCBDMzUyLjkzNDYsNC4xMzE0IDM1NC45MjI2LDMuODUyNCAzNTYuOTE0NiwzLjU4ODQgQzM1Ny43MzA2LDMuNDc2NCAzNTguNDg5Niw0LjA1NjQgMzU4LjU5OTYsNC44Nzg0IEMzNTguNzA3Niw1LjY5OTQgMzU4LjEzMDYsNi40NTM0IDM1Ny4zMDk2LDYuNTYyNCBDMzU1LjMzMDYsNi44MjU0IDM1My4zNTc2LDcuMTAxNCAzNTEuMzg5Niw3LjM5MTQgQzM1MS4zMTQ2LDcuNDAyNCAzNTEuMjQwNiw3LjQwNzQgMzUxLjE2ODYsNy40MDc0IEwzNTEuMTY4Niw3LjQwNzQgWiBNNDc2LjYzNzYsOC4xNDU0IEM0NzYuNTU4Niw4LjE0NTQgNDc2LjQ3OTYsOC4xMzk0IDQ3Ni4zOTc2LDguMTI3NCBDNDc0LjQzMzYsNy44MTI0IDQ3Mi40NjQ2LDcuNTEzNCA0NzAuNDg5Niw3LjIyNzQgQzQ2OS42NzA2LDcuMTA5NCA0NjkuMTAyNiw2LjM0ODQgNDY5LjIyMDYsNS41Mjk0IEM0NjkuMzM3Niw0LjcwODQgNDcwLjA5NTYsNC4xMzc0IDQ3MC45MTk2LDQuMjU5NCBDNDcyLjkwNzYsNC41NDY0IDQ3NC44OTI2LDQuODQ3NCA0NzYuODcxNiw1LjE2NDQgQzQ3Ny42ODk2LDUuMjk1NCA0NzguMjQ3Niw2LjA2NDQgNDc4LjExNjYsNi44ODM0IEM0NzcuOTk4Niw3LjYyMDQgNDc3LjM2MDYsOC4xNDU0IDQ3Ni42Mzc2LDguMTQ1NCBMNDc2LjYzNzYsOC4xNDU0IFogTTMzOS4zMjQ2LDkuMzMyNCBDMzM4LjYxMTYsOS4zMzI0IDMzNy45Nzg2LDguODIxNCAzMzcuODUwNiw4LjA5NTQgQzMzNy43MDQ2LDcuMjc5NCAzMzguMjQ4Niw2LjUwMDQgMzM5LjA2MzYsNi4zNTU0IEMzNDEuMDM4Niw2LjAwNDQgMzQzLjAxNzYsNS42Njg0IDM0NC45OTk2LDUuMzQ2NCBDMzQ1LjgyNTYsNS4yMDg0IDM0Ni41ODg2LDUuNzY4NCAzNDYuNzIxNiw2LjU4NTQgQzM0Ni44NTM2LDcuNDAzNCAzNDYuMjk5Niw4LjE3NDQgMzQ1LjQ4MTYsOC4zMDY0IEMzNDMuNTEzNiw4LjYyNzQgMzQxLjU0ODYsOC45NjE0IDMzOS41ODk2LDkuMzA4NCBDMzM5LjUwMDYsOS4zMjQ0IDMzOS40MTI2LDkuMzMyNCAzMzkuMzI0Niw5LjMzMjQgTDMzOS4zMjQ2LDkuMzMyNCBaIE00ODguNDU1NiwxMC4yMTA0IEM0ODguMzYyNiwxMC4yMTA0IDQ4OC4yNjg2LDEwLjIwMTQgNDg4LjE3MzYsMTAuMTgzNCBDNDg2LjIxODYsOS44MTE0IDQ4NC4yNTg2LDkuNDU1NCA0ODIuMjk0Niw5LjExMTQgQzQ4MS40Nzg2LDguOTY5NCA0ODAuOTMyNiw4LjE5MTQgNDgxLjA3NDYsNy4zNzY0IEM0ODEuMjE3Niw2LjU1ODQgNDgxLjk5MDYsNi4wMTI0IDQ4Mi44MTE2LDYuMTU2NCBDNDg0Ljc4OTYsNi41MDI0IDQ4Ni43NjM2LDYuODYyNCA0ODguNzMzNiw3LjIzNjQgQzQ4OS41NDc2LDcuMzkwNCA0OTAuMDgxNiw4LjE3NjQgNDg5LjkyNzYsOC45OTA0IEM0ODkuNzkwNiw5LjcwOTQgNDg5LjE2MTYsMTAuMjEwNCA0ODguNDU1NiwxMC4yMTA0IEw0ODguNDU1NiwxMC4yMTA0IFogTTMyNy41NDQ2LDExLjYwMjQgQzMyNi44NDk2LDExLjYwMjQgMzI2LjIyNTYsMTEuMTE2NCAzMjYuMDc3NiwxMC40MDg0IEMzMjUuOTA4Niw5LjU5NzQgMzI2LjQyOTYsOC44MDM0IDMyNy4yNDA2LDguNjM0NCBDMzI5LjIwMzYsOC4yMjU0IDMzMS4xNzI2LDcuODMxNCAzMzMuMTQ1Niw3LjQ1MTQgQzMzMy45NTE2LDcuMjk1NCAzMzQuNzQ1Niw3LjgyNTQgMzM0LjkwMTYsOC42Mzk0IEMzMzUuMDU5Niw5LjQ1MzQgMzM0LjUyNjYsMTAuMjQwNCAzMzMuNzEzNiwxMC4zOTY0IEMzMzEuNzU0NiwxMC43NzQ0IDMyOS44MDE2LDExLjE2NTQgMzI3Ljg1MjYsMTEuNTcxNCBDMzI3Ljc0ODYsMTEuNTkzNCAzMjcuNjQ1NiwxMS42MDI0IDMyNy41NDQ2LDExLjYwMjQgTDMyNy41NDQ2LDExLjYwMjQgWiBNNTAwLjIwNjYsMTIuNjIxNCBDNTAwLjEwMDYsMTIuNjIxNCA0OTkuOTkwNiwxMi42MTA0IDQ5OS44ODI2LDEyLjU4NjQgQzQ5Ny45Mzg2LDEyLjE1NjQgNDk1Ljk5MDYsMTEuNzQyNCA0OTQuMDM2NiwxMS4zNDI0IEM0OTMuMjI1NiwxMS4xNzU0IDQ5Mi43MDI2LDEwLjM4MjQgNDkyLjg2ODYsOS41NzA0IEM0OTMuMDM0Niw4Ljc1ODQgNDkzLjgzMzYsOC4yMzc0IDQ5NC42NDA2LDguNDAyNCBDNDk2LjYwNzYsOC44MDY0IDQ5OC41NzE2LDkuMjI0NCA1MDAuNTI4Niw5LjY1NjQgQzUwMS4zMzg2LDkuODM1NCA1MDEuODQ5NiwxMC42MzY0IDUwMS42NzA2LDExLjQ0NDQgQzUwMS41MTY2LDEyLjE0NDQgNTAwLjg5NTYsMTIuNjIxNCA1MDAuMjA2NiwxMi42MjE0IEw1MDAuMjA2NiwxMi42MjE0IFogTTMxNS44Mzc2LDE0LjIxOTQgQzMxNS4xNTg2LDE0LjIxOTQgMzE0LjU0NDYsMTMuNzU2NCAzMTQuMzc5NiwxMy4wNjc0IEMzMTQuMTg3NiwxMi4yNjI0IDMxNC42ODQ2LDExLjQ1MjQgMzE1LjQ4OTYsMTEuMjYwNCBDMzE3LjQzOTYsMTAuNzkzNCAzMTkuMzk1NiwxMC4zNDI0IDMyMS4zNTU2LDkuOTAyNCBDMzIyLjE2NDYsOS43MjM0IDMyMi45Njc2LDEwLjIzMDQgMzIzLjE0NzYsMTEuMDM4NCBDMzIzLjMyODYsMTEuODQ3NCAzMjIuODE5NiwxMi42NDk0IDMyMi4wMTI2LDEyLjgzMDQgQzMyMC4wNjQ2LDEzLjI2NTQgMzE4LjEyMzYsMTMuNzE1NCAzMTYuMTg3NiwxNC4xNzg0IEMzMTYuMDY5NiwxNC4yMDY0IDMxNS45NTI2LDE0LjIxOTQgMzE1LjgzNzYsMTQuMjE5NCBMMzE1LjgzNzYsMTQuMjE5NCBaIE01MTEuODg2NiwxNS4zNzk0IEM1MTEuNzY1NiwxNS4zNzk0IDUxMS42NDI2LDE1LjM2NDQgNTExLjUxOTYsMTUuMzMzNCBDNTA5LjU4ODYsMTQuODQ3NCA1MDcuNjUyNiwxNC4zNzU0IDUwNS43MTE2LDEzLjkxNzQgQzUwNC45MDQ2LDEzLjcyNjQgNTA0LjQwNTYsMTIuOTE5NCA1MDQuNTk2NiwxMi4xMTI0IEM1MDQuNzg2NiwxMS4zMDY0IDUwNS41OTM2LDEwLjgwNjQgNTA2LjQwMDYsMTAuOTk3NCBDNTA4LjM1NTYsMTEuNDU5NCA1MTAuMzA3NiwxMS45MzQ0IDUxMi4yNTE2LDEyLjQyNTQgQzUxMy4wNTU2LDEyLjYyNzQgNTEzLjU0MjYsMTMuNDQyNCA1MTMuMzM5NiwxNC4yNDU0IEM1MTMuMTY4NiwxNC45MjY0IDUxMi41NTc2LDE1LjM3OTQgNTExLjg4NjYsMTUuMzc5NCBMNTExLjg4NjYsMTUuMzc5NCBaIE0zMDQuMjEwNiwxNy4xODA0IEMzMDMuNTQ5NiwxNy4xODA0IDMwMi45NDM2LDE2Ljc0MDQgMzAyLjc2MzYsMTYuMDcxNCBDMzAyLjU0NzYsMTUuMjcxNCAzMDMuMDIwNiwxNC40NDg0IDMwMy44MTk2LDE0LjIzMTQgQzMwNS43NTU2LDEzLjcwODQgMzA3LjY5NzYsMTMuMTk4NCAzMDkuNjQ0NiwxMi43MDM0IEMzMTAuNDQ3NiwxMi40OTU0IDMxMS4yNjM2LDEyLjk4NDQgMzExLjQ2NzYsMTMuNzg2NCBDMzExLjY3MjYsMTQuNTg5NCAzMTEuMTg3NiwxNS40MDU0IDMxMC4zODQ2LDE1LjYwOTQgQzMwOC40NTI2LDE2LjEwMjQgMzA2LjUyNDYsMTYuNjA4NCAzMDQuNjAzNiwxNy4xMjg0IEMzMDQuNDcyNiwxNy4xNjM0IDMwNC4zNDA2LDE3LjE4MDQgMzA0LjIxMDYsMTcuMTgwNCBMMzA0LjIxMDYsMTcuMTgwNCBaIE01MjMuNDc3NiwxOC40NzY0IEM1MjMuMzQxNiwxOC40NzY0IDUyMy4yMDQ2LDE4LjQ1OTQgNTIzLjA2NzYsMTguNDIwNCBDNTIxLjE1MTYsMTcuODc4NCA1MTkuMjMwNiwxNy4zNDg0IDUxNy4zMDU2LDE2LjgzNDQgQzUxNi41MDQ2LDE2LjYyMDQgNTE2LjAyODYsMTUuNzk4NCA1MTYuMjQyNiwxNC45OTg0IEM1MTYuNDU1NiwxNC4xOTc0IDUxNy4yODI2LDEzLjcyNDQgNTE4LjA3ODYsMTMuOTM1NCBDNTIwLjAxOTYsMTQuNDU0NCA1MjEuOTU0NiwxNC45ODc0IDUyMy44ODQ2LDE1LjUzMzQgQzUyNC42ODE2LDE1Ljc1OTQgNTI1LjE0NDYsMTYuNTg4NCA1MjQuOTE5NiwxNy4zODU0IEM1MjQuNzMyNiwxOC4wNDY0IDUyNC4xMzE2LDE4LjQ3NjQgNTIzLjQ3NzYsMTguNDc2NCBMNTIzLjQ3NzYsMTguNDc2NCBaIE0yOTIuNjc2NiwyMC40ODI0IEMyOTIuMDMxNiwyMC40ODI0IDI5MS40MzY2LDIwLjA2NDQgMjkxLjI0MDYsMTkuNDE2NCBDMjkxLjAwMDYsMTguNjI0NCAyOTEuNDQ4NiwxNy43ODY0IDI5Mi4yNDE2LDE3LjU0NzQgQzI5NC4xNjE2LDE2Ljk2NzQgMjk2LjA4NjYsMTYuMzk5NCAyOTguMDE4NiwxNS44NDc0IEMyOTguODE2NiwxNS42MTk0IDI5OS42NDU2LDE2LjA3OTQgMjk5Ljg3MzYsMTYuODc2NCBDMzAwLjEwMTYsMTcuNjczNCAyOTkuNjQwNiwxOC41MDM0IDI5OC44NDQ2LDE4LjczMTQgQzI5Ni45MjY2LDE5LjI4MDQgMjk1LjAxNTYsMTkuODQyNCAyOTMuMTEwNiwyMC40MTg0IEMyOTIuOTY1NiwyMC40NjI0IDI5Mi44MTk2LDIwLjQ4MjQgMjkyLjY3NjYsMjAuNDgyNCBMMjkyLjY3NjYsMjAuNDgyNCBaIE01MzQuOTcwNiwyMS45MTk0IEM1MzQuODIwNiwyMS45MTk0IDUzNC42Njk2LDIxLjg5NjQgNTM0LjUxOTYsMjEuODQ5NCBDNTMyLjYyMDYsMjEuMjUxNCA1MzAuNzE1NiwyMC42NjU0IDUyOC44MDQ2LDIwLjA5NDQgQzUyOC4wMTE2LDE5Ljg1NTQgNTI3LjU2MDYsMTkuMDE5NCA1MjcuNzk3NiwxOC4yMjU0IEM1MjguMDM1NiwxNy40MzI0IDUyOC44NzI2LDE2Ljk4MjQgNTI5LjY2NTYsMTcuMjIwNCBDNTMxLjU5MDYsMTcuNzk2NCA1MzMuNTA5NiwxOC4zODY0IDUzNS40MjE2LDE4Ljk4ODQgQzUzNi4yMTE2LDE5LjIzNzQgNTM2LjY0OTYsMjAuMDgwNCA1MzYuNDAwNiwyMC44NzA0IEM1MzYuMTk4NiwyMS41MTA0IDUzNS42MDc2LDIxLjkxOTQgNTM0Ljk3MDYsMjEuOTE5NCBMNTM0Ljk3MDYsMjEuOTE5NCBaIE0yODEuMjQzNiwyNC4xMjQ0IEMyODAuNjE2NiwyNC4xMjQ0IDI4MC4wMzE2LDIzLjcyNzQgMjc5LjgyMTYsMjMuMTAwNCBDMjc5LjU1ODYsMjIuMzE1NCAyNzkuOTgxNiwyMS40NjU0IDI4MC43Njc2LDIxLjIwMjQgQzI4Mi42Njg2LDIwLjU2NDQgMjg0LjU3NzYsMTkuOTQxNCAyODYuNDkxNiwxOS4zMzE0IEMyODcuMjgyNiwxOS4wODE0IDI4OC4xMjM2LDE5LjUxNjQgMjg4LjM3NjYsMjAuMzA2NCBDMjg4LjYyNzYsMjEuMDk1NCAyODguMTkwNiwyMS45Mzg0IDI4Ny40MDE2LDIyLjE5MDQgQzI4NS41MDE2LDIyLjc5NTQgMjgzLjYwNzYsMjMuNDE0NCAyODEuNzIwNiwyNC4wNDY0IEMyODEuNTYyNiwyNC4wOTk0IDI4MS40MDE2LDI0LjEyNDQgMjgxLjI0MzYsMjQuMTI0NCBMMjgxLjI0MzYsMjQuMTI0NCBaIE01NDYuNDAyNiwyNS43MTI0IEM1NDYuMjM4NiwyNS43MTI0IDU0Ni4wNzI2LDI1LjY4NTQgNTQ1LjkwOTYsMjUuNjI4NCBDNTQ0LjAyMTYsMjQuOTcxNCA1NDIuMTI4NiwyNC4zMjY0IDU0MC4yMjc2LDIzLjY5NjQgQzUzOS40NDE2LDIzLjQzNTQgNTM5LjAxNjYsMjIuNTg2NCA1MzkuMjc2NiwyMS44MDA0IEM1MzkuNTM3NiwyMS4wMTQ0IDU0MC4zODI2LDIwLjU4ODQgNTQxLjE3MzYsMjAuODQ4NCBDNTQzLjA4NzYsMjEuNDg0NCA1NDQuOTk0NiwyMi4xMzM0IDU0Ni44OTU2LDIyLjc5NjQgQzU0Ny42Nzk2LDIzLjA2ODQgNTQ4LjA5MjYsMjMuOTIzNCA1NDcuODE4NiwyNC43MDU0IEM1NDcuNjAzNiwyNS4zMjQ0IDU0Ny4wMjI2LDI1LjcxMjQgNTQ2LjQwMjYsMjUuNzEyNCBMNTQ2LjQwMjYsMjUuNzEyNCBaIE0yNjkuOTI0NiwyOC4xMDA0IEMyNjkuMzEzNiwyOC4xMDA0IDI2OC43Mzk2LDI3LjcyNTQgMjY4LjUxNzYsMjcuMTE5NCBDMjY4LjIyOTYsMjYuMzQyNCAyNjguNjI4NiwyNS40Nzk0IDI2OS40MDU2LDI1LjE5MzQgQzI3MS4yODc2LDI0LjUwMDQgMjczLjE3NzYsMjMuODIwNCAyNzUuMDcyNiwyMy4xNTU0IEMyNzUuODU2NiwyMi44ODI0IDI3Ni43MTA2LDIzLjI5MTQgMjc2Ljk4NDYsMjQuMDczNCBDMjc3LjI1OTYsMjQuODU1NCAyNzYuODQ4NiwyNS43MTE0IDI3Ni4wNjY2LDI1Ljk4NTQgQzI3NC4xODU2LDI2LjY0NjQgMjcyLjMxMDYsMjcuMzIwNCAyNzAuNDQyNiwyOC4wMDg0IEMyNzAuMjcxNiwyOC4wNzE0IDI3MC4wOTY2LDI4LjEwMDQgMjY5LjkyNDYsMjguMTAwNCBMMjY5LjkyNDYsMjguMTAwNCBaIE01NTcuNzE1NiwyOS44NDA0IEM1NTcuNTM3NiwyOS44NDA0IDU1Ny4zNTY2LDI5LjgwODQgNTU3LjE4MTYsMjkuNzQxNCBDNTU1LjMxMzYsMjkuMDI5NCA1NTMuNDM5NiwyOC4zMjk0IDU1MS41NjA2LDI3LjY0MzQgQzU1MC43ODI2LDI3LjM1OTQgNTUwLjM4MTYsMjYuNDk4NCA1NTAuNjY1NiwyNS43MjA0IEM1NTAuOTQ4NiwyNC45NDE0IDU1MS44MTE2LDI0LjU0MzQgNTUyLjU4OTYsMjQuODI1NCBDNTU0LjQ4MTYsMjUuNTE2NCA1NTYuMzY5NiwyNi4yMjE0IDU1OC4yNDk2LDI2LjkzODQgQzU1OS4wMjM2LDI3LjIzMzQgNTU5LjQxMTYsMjguMTAwNCA1NTkuMTE2NiwyOC44NzQ0IEM1NTguODg5NiwyOS40NzI0IDU1OC4zMTg2LDI5Ljg0MDQgNTU3LjcxNTYsMjkuODQwNCBMNTU3LjcxNTYsMjkuODQwNCBaIE0yNTguNzI2NiwzMi40MDk0IEMyNTguMTMyNiwzMi40MDk0IDI1Ny41Njk2LDMyLjA1NDQgMjU3LjMzNDYsMzEuNDY5NCBDMjU3LjAyNTYsMzAuNzAwNCAyNTcuMzk3NiwyOS44MjY0IDI1OC4xNjY2LDI5LjUxNzQgQzI2MC4wMjc2LDI4Ljc2OTQgMjYxLjg5NTYsMjguMDM1NCAyNjMuNzcwNiwyNy4zMTM0IEMyNjQuNTM5NiwyNy4wMTU0IDI2NS40MTE2LDI3LjQwMDQgMjY1LjcwOTYsMjguMTc0NCBDMjY2LjAwNzYsMjguOTQ2NCAyNjUuNjIyNiwyOS44MTQ0IDI2NC44NDk2LDMwLjExMjQgQzI2Mi45ODc2LDMwLjgzMDQgMjYxLjEzMzYsMzEuNTU4NCAyNTkuMjg1NiwzMi4zMDE0IEMyNTkuMTAyNiwzMi4zNzU0IDI1OC45MTI2LDMyLjQwOTQgMjU4LjcyNjYsMzIuNDA5NCBMMjU4LjcyNjYsMzIuNDA5NCBaIE01NjguODk0NiwzNC4zMDA0IEM1NjguNzAyNiwzNC4zMDA0IDU2OC41MDc2LDM0LjI2MzQgNTY4LjMxODYsMzQuMTg0NCBDNTY2LjQ3NDYsMzMuNDE3NCA1NjQuNjIzNiwzMi42NjM0IDU2Mi43NjY2LDMxLjkyMjQgQzU2MS45OTY2LDMxLjYxNDQgNTYxLjYyMTYsMzAuNzQxNCA1NjEuOTI4NiwyOS45NzI0IEM1NjIuMjM0NiwyOS4yMDI0IDU2My4xMDg2LDI4LjgzMDQgNTYzLjg3NzYsMjkuMTM1NCBDNTY1Ljc0ODYsMjkuODgyNCA1NjcuNjEyNiwzMC42NDE0IDU2OS40NzE2LDMxLjQxNTQgQzU3MC4yMzU2LDMxLjczMzQgNTcwLjU5ODYsMzIuNjExNCA1NzAuMjc5NiwzMy4zNzY0IEM1NzAuMDM5NiwzMy45NTI0IDU2OS40ODE2LDM0LjMwMDQgNTY4Ljg5NDYsMzQuMzAwNCBMNTY4Ljg5NDYsMzQuMzAwNCBaIE0yNDcuNzA1NiwzNy4wMjU0IEMyNDcuMTI3NiwzNy4wMjU0IDI0Ni41NzU2LDM2LjY4OTQgMjQ2LjMyOTYsMzYuMTI1NCBDMjQ1Ljk5ODYsMzUuMzY2NCAyNDYuMzQ1NiwzNC40ODE0IDI0Ny4xMDQ2LDM0LjE1MDQgQzI0OC45MzY2LDMzLjM1MTQgMjUwLjc3MzYsMzIuNTY1NCAyNTIuNjE5NiwzMS43OTM0IEMyNTMuMzg4NiwzMS40NzM0IDI1NC4yNjI2LDMxLjgzNDQgMjU0LjU4MjYsMzIuNTk3NCBDMjU0LjkwMTYsMzMuMzYyNCAyNTQuNTQxNiwzNC4yNDA0IDI1My43Nzc2LDM0LjU2MDQgQzI1MS45NDU2LDM1LjMyNzQgMjUwLjEyMTYsMzYuMTA3NCAyNDguMzA0NiwzNi45MDA0IEMyNDguMTA4NiwzNi45ODU0IDI0Ny45MDU2LDM3LjAyNTQgMjQ3LjcwNTYsMzcuMDI1NCBMMjQ3LjcwNTYsMzcuMDI1NCBaIE01NzkuOTM2NiwzOS4wODY0IEM1NzkuNzI5NiwzOS4wODY0IDU3OS41MTk2LDM5LjA0NDQgNTc5LjMxOTYsMzguOTUzNCBDNTc3LjQ5OTYsMzguMTMyNCA1NzUuNjcyNiwzNy4zMjM0IDU3My44Mzg2LDM2LjUyODQgQzU3My4wNzg2LDM2LjE5OTQgNTcyLjcyODYsMzUuMzE2NCA1NzMuMDU5NiwzNC41NTY0IEM1NzMuMzg4NiwzMy43OTY0IDU3NC4yNjk2LDMzLjQ0MjQgNTc1LjAzMTYsMzMuNzc2NCBDNTc2Ljg3OTYsMzQuNTc3NCA1NzguNzIwNiwzNS4zOTE0IDU4MC41NTQ2LDM2LjIxOTQgQzU4MS4zMDk2LDM2LjU1OTQgNTgxLjY0NDYsMzcuNDQ3NCA1ODEuMzA0NiwzOC4yMDM0IEM1ODEuMDU0NiwzOC43NTg0IDU4MC41MDg2LDM5LjA4NjQgNTc5LjkzNjYsMzkuMDg2NCBMNTc5LjkzNjYsMzkuMDg2NCBaIE0yMzYuODE5Niw0MS45Njc0IEMyMzYuMjU3Niw0MS45Njc0IDIzNS43MTg2LDQxLjY0OTQgMjM1LjQ2MjYsNDEuMTA2NCBDMjM1LjEwODYsNDAuMzU3NCAyMzUuNDI5NiwzOS40NjQ0IDIzNi4xNzk2LDM5LjExMDQgQzIzNy45ODU2LDM4LjI1ODQgMjM5LjgwMTYsMzcuNDE4NCAyNDEuNjIzNiwzNi41OTA0IEMyNDIuMzc4NiwzNi4yNDg0IDI0My4yNjY2LDM2LjU4MTQgMjQzLjYwOTYsMzcuMzM2NCBDMjQzLjk1MTYsMzguMDkwNCAyNDMuNjE3NiwzOC45Nzk0IDI0Mi44NjM2LDM5LjMyMjQgQzI0MS4wNTU2LDQwLjE0MjQgMjM5LjI1MzYsNDAuOTc2NCAyMzcuNDU4Niw0MS44MjM0IEMyMzcuMjUyNiw0MS45MjE0IDIzNy4wMzQ2LDQxLjk2NzQgMjM2LjgxOTYsNDEuOTY3NCBMMjM2LjgxOTYsNDEuOTY3NCBaIE01OTAuODI3Niw0NC4xOTQ0IEM1OTAuNjA2Niw0NC4xOTQ0IDU5MC4zODM2LDQ0LjE0NTQgNTkwLjE3MTYsNDQuMDQzNCBDNTg4LjM3NjYsNDMuMTY4NCA1ODYuNTc0Niw0Mi4zMDY0IDU4NC43NjU2LDQxLjQ1ODQgQzU4NC4wMTU2LDQxLjEwNjQgNTgzLjY5MTYsNDAuMjEzNCA1ODQuMDQzNiwzOS40NjM0IEM1ODQuMzk1NiwzOC43MTM0IDU4NS4yODY2LDM4LjM4OTQgNTg2LjAzODYsMzguNzQxNCBDNTg3Ljg2MTYsMzkuNTk2NCA1ODkuNjc3Niw0MC40NjU0IDU5MS40ODU2LDQxLjM0NjQgQzU5Mi4yMjk2LDQxLjcwOTQgNTkyLjUzOTYsNDIuNjA2NCA1OTIuMTc3Niw0My4zNTE0IEM1OTEuOTE3Niw0My44ODU0IDU5MS4zODM2LDQ0LjE5NDQgNTkwLjgyNzYsNDQuMTk0NCBMNTkwLjgyNzYsNDQuMTk0NCBaIE0yMjYuMDgwNiw0Ny4yMjQ0IEMyMjUuNTMzNiw0Ny4yMjQ0IDIyNS4wMDc2LDQ2LjkyNTQgMjI0Ljc0MjYsNDYuNDA0NCBDMjI0LjM2NjYsNDUuNjY1NCAyMjQuNjYxNiw0NC43NjM0IDIyNS4zOTk2LDQ0LjM4ODQgQzIyNy4xODM2LDQzLjQ4MTQgMjI4Ljk3NDYsNDIuNTg5NCAyMzAuNzcxNiw0MS43MDg0IEMyMzEuNTE1Niw0MS4zNDY0IDIzMi40MTQ2LDQxLjY1MTQgMjMyLjc3NzYsNDIuMzk2NCBDMjMzLjE0MzYsNDMuMTM5NCAyMzIuODM0Niw0NC4wMzg0IDIzMi4wOTA2LDQ0LjQwMjQgQzIzMC4zMDY2LDQ1LjI3NjQgMjI4LjUyODYsNDYuMTYzNCAyMjYuNzU5Niw0Ny4wNjE0IEMyMjYuNTQxNiw0Ny4xNzM0IDIyNi4zMDk2LDQ3LjIyNDQgMjI2LjA4MDYsNDcuMjI0NCBMMjI2LjA4MDYsNDcuMjI0NCBaIE02MDEuNTYxNiw0OS42MjA0IEM2MDEuMzI1Niw0OS42MjA0IDYwMS4wODc2LDQ5LjU2NTQgNjAwLjg2NTYsNDkuNDQ4NCBDNTk5LjA5NzYsNDguNTIxNCA1OTcuMzIxNiw0Ny42MDc0IDU5NS41Mzg2LDQ2LjcwNzQgQzU5NC43OTk2LDQ2LjMzMzQgNTk0LjUwMzYsNDUuNDMxNCA1OTQuODc2Niw0NC42OTE0IEM1OTUuMjUwNiw0My45NTI0IDU5Ni4xNTQ2LDQzLjY1NzQgNTk2Ljg5MjYsNDQuMDI5NCBDNTk4LjY4ODYsNDQuOTM3NCA2MDAuNDc3Niw0NS44NTc0IDYwMi4yNTg2LDQ2Ljc5MjQgQzYwMi45OTI2LDQ3LjE3NzQgNjAzLjI3NDYsNDguMDgzNCA2MDIuODkwNiw0OC44MTY0IEM2MDIuNjIyNiw0OS4zMjg0IDYwMi4xMDE2LDQ5LjYyMDQgNjAxLjU2MTYsNDkuNjIwNCBMNjAxLjU2MTYsNDkuNjIwNCBaIE0yMTUuNDk1Niw1Mi43OTc0IEMyMTQuOTY0Niw1Mi43OTc0IDIxNC40NDk2LDUyLjUxNDQgMjE0LjE3NzYsNTIuMDE0NCBDMjEzLjc4MDYsNTEuMjg3NCAyMTQuMDQ5Niw1MC4zNzc0IDIxNC43NzY2LDQ5Ljk3OTQgQzIxNi41MzI2LDQ5LjAyMjQgMjE4LjI5NzYsNDguMDc3NCAyMjAuMDY3Niw0Ny4xNDQ0IEMyMjAuNzk4Niw0Ni43NjA0IDIyMS43MDg2LDQ3LjAzOTQgMjIyLjA5NDYsNDcuNzcyNCBDMjIyLjQ3OTYsNDguNTA2NCAyMjIuMTk4Niw0OS40MTM0IDIyMS40NjY2LDQ5Ljc5OTQgQzIxOS43MDc2LDUwLjcyNTQgMjE3Ljk1NjYsNTEuNjYzNCAyMTYuMjEyNiw1Mi42MTQ0IEMyMTUuOTg0Niw1Mi43Mzg0IDIxNS43Mzg2LDUyLjc5NzQgMjE1LjQ5NTYsNTIuNzk3NCBMMjE1LjQ5NTYsNTIuNzk3NCBaIE02MTIuMTI2Niw1NS4zNTg0IEM2MTEuODc3Niw1NS4zNTg0IDYxMS42MjQ2LDU1LjI5NzQgNjExLjM5MjYsNTUuMTY2NCBDNjA5LjY1MTYsNTQuMTg2NCA2MDcuOTA0Niw1My4yMjI0IDYwNi4xNDk2LDUyLjI2ODQgQzYwNS40MjE2LDUxLjg3MzQgNjA1LjE1MTYsNTAuOTYyNCA2MDUuNTQ3Niw1MC4yMzQ0IEM2MDUuOTQzNiw0OS41MDU0IDYwNi44NTQ2LDQ5LjIzODQgNjA3LjU4MTYsNDkuNjMyNCBDNjA5LjM1MDYsNTAuNTkzNCA2MTEuMTEwNiw1MS41NjU0IDYxMi44NjI2LDUyLjU1MTQgQzYxMy41ODQ2LDUyLjk1NzQgNjEzLjg0MTYsNTMuODcyNCA2MTMuNDM1Niw1NC41OTQ0IEM2MTMuMTU5Niw1NS4wODM0IDYxMi42NDk2LDU1LjM1ODQgNjEyLjEyNjYsNTUuMzU4NCBMNjEyLjEyNjYsNTUuMzU4NCBaIE0yMDUuMDc0Niw1OC42Nzk0IEMyMDQuNTU5Niw1OC42Nzk0IDIwNC4wNTc2LDU4LjQxMjQgMjAzLjc3NzYsNTcuOTM0NCBDMjAzLjM2MDYsNTcuMjIwNCAyMDMuNjAyNiw1Ni4zMDE0IDIwNC4zMTc2LDU1Ljg4MzQgQzIwNi4wNDU2LDU0Ljg3NTQgMjA3Ljc4MDYsNTMuODc4NCAyMDkuNTI1Niw1Mi44OTI0IEMyMTAuMjQ0Niw1Mi40ODY0IDIxMS4xNjA2LDUyLjc0MDQgMjExLjU2OTYsNTMuNDYyNCBDMjExLjk3NzYsNTQuMTgzNCAyMTEuNzIyNiw1NS4wOTg0IDIxMS4wMDA2LDU1LjUwNjQgQzIwOS4yNjk2LDU2LjQ4MzQgMjA3LjU0NTYsNTcuNDczNCAyMDUuODI5Niw1OC40NzQ0IEMyMDUuNTkyNiw1OC42MTM0IDIwNS4zMzE2LDU4LjY3OTQgMjA1LjA3NDYsNTguNjc5NCBMMjA1LjA3NDYsNTguNjc5NCBaIE02MjIuNTE2Niw2MS40MDA0IEM2MjIuMjUyNiw2MS40MDA0IDYyMS45ODU2LDYxLjMzMTQgNjIxLjc0MzYsNjEuMTg1NCBDNjIwLjAzNDYsNjAuMTU3NCA2MTguMzE1Niw1OS4xNDE0IDYxNi41OTA2LDU4LjEzODQgQzYxNS44NzM2LDU3LjcyMTQgNjE1LjYzMTYsNTYuODAzNCA2MTYuMDQ3Niw1Ni4wODc0IEM2MTYuNDY1Niw1NS4zNjk0IDYxNy4zODQ2LDU1LjEzMDQgNjE4LjA5ODYsNTUuNTQ0NCBDNjE5LjgzNzYsNTYuNTU2NCA2MjEuNTY3Niw1Ny41Nzk0IDYyMy4yOTA2LDU4LjYxNTQgQzYyNC4wMDA2LDU5LjA0MjQgNjI0LjIyOTYsNTkuOTY0NCA2MjMuODAyNiw2MC42NzQ0IEM2MjMuNTIwNiw2MS4xNDE0IDYyMy4wMjQ2LDYxLjQwMDQgNjIyLjUxNjYsNjEuNDAwNCBMNjIyLjUxNjYsNjEuNDAwNCBaIE0xOTQuODI2Niw2NC44NjU0IEMxOTQuMzI2Niw2NC44NjU0IDE5My44Mzc2LDY0LjYxNTQgMTkzLjU1MzYsNjQuMTU5NCBDMTkzLjExNDYsNjMuNDU2NCAxOTMuMzI4Niw2Mi41MzE0IDE5NC4wMzE2LDYyLjA5MzQgQzE5NS43MzA2LDYxLjAzMzQgMTk3LjQzNzYsNTkuOTg1NCAxOTkuMTUxNiw1OC45NTA0IEMxOTkuODYwNiw1OC41MjE0IDIwMC43ODI2LDU4Ljc0OTQgMjAxLjIxMTYsNTkuNDU5NCBDMjAxLjYzOTYsNjAuMTY5NCAyMDEuNDExNiw2MS4wOTE0IDIwMC43MDI2LDYxLjUxODQgQzE5OC45OTk2LDYyLjU0NjQgMTk3LjMwNTYsNjMuNTg2NCAxOTUuNjE5Niw2NC42Mzg0IEMxOTUuMzcyNiw2NC43OTI0IDE5NS4wOTg2LDY0Ljg2NTQgMTk0LjgyNjYsNjQuODY1NCBMMTk0LjgyNjYsNjQuODY1NCBaIE02MzIuNzIxNiw2Ny43NDQ0IEM2MzIuNDQyNiw2Ny43NDQ0IDYzMi4xNjI2LDY3LjY2NzQgNjMxLjkxMTYsNjcuNTA2NCBDNjMwLjIzMjYsNjYuNDI4NCA2MjguNTQ2Niw2NS4zNjI0IDYyNi44NTE2LDY0LjMwODQgQzYyNi4xNDc2LDYzLjg3MjQgNjI1LjkzMjYsNjIuOTQ2NCA2MjYuMzY5Niw2Mi4yNDM0IEM2MjYuODA3Niw2MS41Mzk0IDYyNy43MzI2LDYxLjMyNDQgNjI4LjQzNTYsNjEuNzYyNCBDNjMwLjE0MjYsNjIuODIzNCA2MzEuODQyNiw2My44OTY0IDYzMy41MzI2LDY0Ljk4MjQgQzYzNC4yMjk2LDY1LjQzMDQgNjM0LjQzMjYsNjYuMzU3NCA2MzMuOTgzNiw2Ny4wNTU0IEM2MzMuNjk3Niw2Ny41MDE0IDYzMy4yMTQ2LDY3Ljc0NDQgNjMyLjcyMTYsNjcuNzQ0NCBMNjMyLjcyMTYsNjcuNzQ0NCBaIE0xODQuNzYxNiw3MS4zNDg0IEMxODQuMjc1Niw3MS4zNDg0IDE4My44MDA2LDcxLjExMzQgMTgzLjUxMTYsNzAuNjc5NCBDMTgzLjA1MjYsNjkuOTg5NCAxODMuMjM5Niw2OS4wNTg0IDE4My45MzA2LDY4LjU5OTQgQzE4NS41OTc2LDY3LjQ5MTQgMTg3LjI3MjYsNjYuMzk0NCAxODguOTU3Niw2NS4zMDg0IEMxODkuNjUxNiw2NC44NTk0IDE5MC41ODA2LDY1LjA1OTQgMTkxLjAzMDYsNjUuNzU3NCBDMTkxLjQ3OTYsNjYuNDUzNCAxOTEuMjc4Niw2Ny4zODE0IDE5MC41ODI2LDY3LjgzMDQgQzE4OC45MDk2LDY4LjkwODQgMTg3LjI0NTYsNjkuOTk3NCAxODUuNTkwNiw3MS4wOTg0IEMxODUuMzM1Niw3MS4yNjc0IDE4NS4wNDc2LDcxLjM0ODQgMTg0Ljc2MTYsNzEuMzQ4NCBMMTg0Ljc2MTYsNzEuMzQ4NCBaIE02NDIuNzM0Niw3NC4zODM0IEM2NDIuNDQxNiw3NC4zODM0IDY0Mi4xNDY2LDc0LjI5ODQgNjQxLjg4ODYsNzQuMTIwNCBDNjQwLjI0MTYsNzIuOTkzNCA2MzguNTg3Niw3MS44Nzk0IDYzNi45MjQ2LDcwLjc3NjQgQzYzNi4yMzM2LDcwLjMxODQgNjM2LjA0NTYsNjkuMzg4NCA2MzYuNTAzNiw2OC42OTc0IEM2MzYuOTYxNiw2OC4wMDc0IDYzNy44OTQ2LDY3LjgyMTQgNjM4LjU4MjYsNjguMjc2NCBDNjQwLjI1NzYsNjkuMzg3NCA2NDEuOTI1Niw3MC41MDk0IDY0My41ODM2LDcxLjY0NTQgQzY0NC4yNjc2LDcyLjExMzQgNjQ0LjQ0MTYsNzMuMDQ3NCA2NDMuOTczNiw3My43MzA0IEM2NDMuNjgzNiw3NC4xNTQ0IDY0My4yMTI2LDc0LjM4MzQgNjQyLjczNDYsNzQuMzgzNCBMNjQyLjczNDYsNzQuMzgzNCBaIE02NTIuNTQ4Niw4MS4zMDk0IEM2NTIuMjQxNiw4MS4zMDk0IDY1MS45MzM2LDgxLjIxNjQgNjUxLjY2NjYsODEuMDIyNCBDNjUwLjA1NDYsNzkuODQ4NCA2NDguNDMzNiw3OC42ODY0IDY0Ni44MDM2LDc3LjUzNjQgQzY0Ni4xMjY2LDc3LjA1ODQgNjQ1Ljk2NTYsNzYuMTIzNCA2NDYuNDQyNiw3NS40NDU0IEM2NDYuOTE5Niw3NC43Njg0IDY0Ny44NTM2LDc0LjYwNzQgNjQ4LjUzMzYsNzUuMDg1NCBDNjUwLjE3NTYsNzYuMjQzNCA2NTEuODA4Niw3Ny40MTQ0IDY1My40MzI2LDc4LjU5NzQgQzY1NC4xMDI2LDc5LjA4NTQgNjU0LjI0OTYsODAuMDIzNCA2NTMuNzYyNiw4MC42OTI0IEM2NTMuNDY4Niw4MS4wOTY0IDY1My4wMTE2LDgxLjMwOTQgNjUyLjU0ODYsODEuMzA5NCBMNjUyLjU0ODYsODEuMzA5NCBaIE02NjIuMTUxNiw4OC41MTY0IEM2NjEuODMxNiw4OC41MTY0IDY2MS41MDg2LDg4LjQxNDQgNjYxLjIzNDYsODguMjAzNCBDNjU5LjY1NzYsODYuOTgzNCA2NTguMDcxNiw4NS43NzQ0IDY1Ni40Nzc2LDg0LjU3ODQgQzY1NS44MTQ2LDg0LjA4MDQgNjU1LjY4MDYsODMuMTQwNCA2NTYuMTc3Niw4Mi40Nzc0IEM2NTYuNjc1Niw4MS44MTU0IDY1Ny42MTY2LDgxLjY4MTQgNjU4LjI3NzYsODIuMTc4NCBDNjU5Ljg4NDYsODMuMzg0NCA2NjEuNDgxNiw4NC42MDA0IDY2My4wNzA2LDg1LjgzMDQgQzY2My43MjY2LDg2LjMzNzQgNjYzLjg0NjYsODcuMjc5NCA2NjMuMzM5Niw4Ny45MzQ0IEM2NjMuMDQzNiw4OC4zMTY0IDY2Mi42MDA2LDg4LjUxNjQgNjYyLjE1MTYsODguNTE2NCBMNjYyLjE1MTYsODguNTE2NCBaIE02NzEuNTM4Niw5Ni4wMDA0IEM2NzEuMjAzNiw5Ni4wMDA0IDY3MC44NjY2LDk1Ljg4OTQgNjcwLjU4NzYsOTUuNjU5NCBDNjY5LjA0NzYsOTQuMzk0NCA2NjcuNDk3Niw5My4xMzk0IDY2NS45Mzg2LDkxLjg5NzQgQzY2NS4yOTA2LDkxLjM4MTQgNjY1LjE4NDYsOTAuNDM3NCA2NjUuNzAwNiw4OS43OTA0IEM2NjYuMjE2Niw4OS4xNDA0IDY2Ny4xNjI2LDg5LjAzNTQgNjY3LjgwODYsODkuNTUyNCBDNjY5LjM3ODYsOTAuODA0NCA2NzAuOTM5Niw5Mi4wNjY0IDY3Mi40OTE2LDkzLjM0MTQgQzY3My4xMzE2LDkzLjg2NjQgNjczLjIyNDYsOTQuODExNCA2NzIuNjk4Niw5NS40NTI0IEM2NzIuNDAxNiw5NS44MTM0IDY3MS45NzI2LDk2LjAwMDQgNjcxLjUzODYsOTYuMDAwNCBMNjcxLjUzODYsOTYuMDAwNCBaIE02ODAuNzAyNiwxMDMuNzUyNCBDNjgwLjM1MjYsMTAzLjc1MjQgNjgwLjAwMjYsMTAzLjYzMTQgNjc5LjcxODYsMTAzLjM4MzQgQzY3OC4yMTU2LDEwMi4wNzM0IDY3Ni43MDI2LDEwMC43NzU0IDY3NS4xODE2LDk5LjQ4ODQgQzY3NC41NDg2LDk4Ljk1MzQgNjc0LjQ2OTYsOTguMDA3NCA2NzUuMDA0Niw5Ny4zNzQ0IEM2NzUuNTM4Niw5Ni43NDE0IDY3Ni40ODM2LDk2LjY2MjQgNjc3LjExODYsOTcuMTk3NCBDNjc4LjY1MTYsOTguNDk0NCA2ODAuMTc0Niw5OS44MDI0IDY4MS42ODg2LDEwMS4xMjE0IEM2ODIuMzEzNiwxMDEuNjY1NCA2ODIuMzc4NiwxMDIuNjEyNCA2ODEuODM0NiwxMDMuMjM3NCBDNjgxLjUzNzYsMTAzLjU3ODQgNjgxLjEyMTYsMTAzLjc1MjQgNjgwLjcwMjYsMTAzLjc1MjQgTDY4MC43MDI2LDEwMy43NTI0IFogTTY4OS42MzU2LDExMS43NjY0IEM2ODkuMjcwNiwxMTEuNzY2NCA2ODguOTA2NiwxMTEuNjM1NCA2ODguNjE3NiwxMTEuMzY5NCBDNjg3LjE1MjYsMTEwLjAxNzQgNjg1LjY4MDYsMTA4LjY3NTQgNjg0LjE5NjYsMTA3LjM0NDQgQzY4My41ODA2LDEwNi43OTA0IDY4My41Mjg2LDEwNS44NDI0IDY4NC4wODI2LDEwNS4yMjU0IEM2ODQuNjM3NiwxMDQuNjA4NCA2ODUuNTg2NiwxMDQuNTYwNCA2ODYuMjAwNiwxMDUuMTExNCBDNjg3LjY5MzYsMTA2LjQ1MjQgNjg5LjE3NzYsMTA3LjgwMzQgNjkwLjY1MjYsMTA5LjE2NDQgQzY5MS4yNjE2LDEwOS43MjY0IDY5MS4yOTk2LDExMC42NzU0IDY5MC43Mzc2LDExMS4yODQ0IEM2OTAuNDQxNiwxMTEuNjA0NCA2OTAuMDM4NiwxMTEuNzY2NCA2ODkuNjM1NiwxMTEuNzY2NCBMNjg5LjYzNTYsMTExLjc2NjQgWiBNNjk4LjMyODYsMTIwLjAzNDQgQzY5Ny45NDk2LDEyMC4wMzQ0IDY5Ny41NzA2LDExOS44OTE0IDY5Ny4yNzk2LDExOS42MDY0IEM2OTUuODU1NiwxMTguMjEzNCA2OTQuNDIyNiwxMTYuODI5NCA2OTIuOTc4NiwxMTUuNDU2NCBDNjkyLjM3ODYsMTE0Ljg4NjQgNjkyLjM1MzYsMTEzLjkzNTQgNjkyLjkyNTYsMTEzLjMzNjQgQzY5My40OTU2LDExMi43MzQ0IDY5NC40NDQ2LDExMi43MTA0IDY5NS4wNDU2LDExMy4yODI0IEM2OTYuNTAwNiwxMTQuNjY1NCA2OTcuOTQzNiwxMTYuMDU4NCA2OTkuMzc3NiwxMTcuNDYyNCBDNjk5Ljk3MDYsMTE4LjA0MjQgNjk5Ljk3OTYsMTE4Ljk5MTQgNjk5LjQwMDYsMTE5LjU4MzQgQzY5OS4xMDY2LDExOS44ODQ0IDY5OC43MTc2LDEyMC4wMzQ0IDY5OC4zMjg2LDEyMC4wMzQ0IEw2OTguMzI4NiwxMjAuMDM0NCBaIE03MDYuNzc1NiwxMjguNTUwNCBDNzA2LjM4MjYsMTI4LjU1MDQgNzA1Ljk4OTYsMTI4LjM5NjQgNzA1LjY5NTYsMTI4LjA5MTQgQzcwNC4zMTM2LDEyNi42NTY0IDcwMi45MjE2LDEyNS4yMzI0IDcwMS41MTk2LDEyMy44MTg0IEM3MDAuOTM1NiwxMjMuMjMwNCA3MDAuOTM4NiwxMjIuMjgwNCA3MDEuNTI2NiwxMjEuNjk3NCBDNzAyLjExNTYsMTIxLjExMTQgNzAzLjA2NDYsMTIxLjExNjQgNzAzLjY0NzYsMTIxLjcwNTQgQzcwNS4wNjE2LDEyMy4xMjk0IDcwNi40NjQ2LDEyNC41NjQ0IDcwNy44NTU2LDEyNi4wMDk0IEM3MDguNDMxNiwxMjYuNjA1NCA3MDguNDEzNiwxMjcuNTU2NCA3MDcuODE2NiwxMjguMTMwNCBDNzA3LjUyNTYsMTI4LjQxMDQgNzA3LjE1MDYsMTI4LjU1MDQgNzA2Ljc3NTYsMTI4LjU1MDQgTDcwNi43NzU2LDEyOC41NTA0IFogTTExMS43Nzk2LDEzMy4yMzQ0IEMxMTEuNDEyNiwxMzMuMjM0NCAxMTEuMDQ1NiwxMzMuMTAwNCAxMTAuNzU2NiwxMzIuODMxNCBDMTEwLjE1MDYsMTMyLjI2NTQgMTEwLjExNzYsMTMxLjMxNjQgMTEwLjY4MzYsMTMwLjcxMTQgQzExMi4wNTM2LDEyOS4yNDM0IDExMy40MzQ2LDEyNy43ODc0IDExNC44MjQ2LDEyNi4zNDA0IEMxMTUuMzk4NiwxMjUuNzQ0NCAxMTYuMzUwNiwxMjUuNzIzNCAxMTYuOTQ0NiwxMjYuMjk5NCBDMTE3LjU0MjYsMTI2Ljg3MzQgMTE3LjU2MTYsMTI3LjgyMjQgMTE2Ljk4NjYsMTI4LjQyMDQgQzExNS42MDU2LDEyOS44NTU0IDExNC4yMzY2LDEzMS4zMDI0IDExMi44NzY2LDEzMi43NTg0IEMxMTIuNTgwNiwxMzMuMDc0NCAxMTIuMTgwNiwxMzMuMjM0NCAxMTEuNzc5NiwxMzMuMjM0NCBMMTExLjc3OTYsMTMzLjIzNDQgWiBNNzE0Ljk3MTYsMTM3LjMwNjQgQzcxNC41NjI2LDEzNy4zMDY0IDcxNC4xNTY2LDEzNy4xNDA0IDcxMy44NjA2LDEzNi44MTU0IEM3MTIuNTIwNiwxMzUuMzQwNCA3MTEuMTcwNiwxMzMuODc3NCA3MDkuODEwNiwxMzIuNDIzNCBDNzA5LjI0NDYsMTMxLjgxODQgNzA5LjI3NTYsMTMwLjg2OTQgNzA5Ljg4MDYsMTMwLjMwMzQgQzcxMC40ODY2LDEyOS43Mzc0IDcxMS40MzQ2LDEyOS43NjY0IDcxMi4wMDE2LDEzMC4zNzQ0IEM3MTMuMzcxNiwxMzEuODM4NCA3MTQuNzMxNiwxMzMuMzEyNCA3MTYuMDgxNiwxMzQuNzk4NCBDNzE2LjYzODYsMTM1LjQxMTQgNzE2LjU5MzYsMTM2LjM2MDQgNzE1Ljk3OTYsMTM2LjkxNzQgQzcxNS42OTI2LDEzNy4xNzg0IDcxNS4zMzE2LDEzNy4zMDY0IDcxNC45NzE2LDEzNy4zMDY0IEw3MTQuOTcxNiwxMzcuMzA2NCBaIE0xMDMuNzE3NiwxNDIuMTIxNCBDMTAzLjM2NTYsMTQyLjEyMTQgMTAzLjAxMjYsMTQxLjk5ODQgMTAyLjcyNzYsMTQxLjc0NzQgQzEwMi4xMDQ2LDE0MS4xOTk0IDEwMi4wNDU2LDE0MC4yNTE0IDEwMi41OTI2LDEzOS42MzA0IEMxMDMuOTE5NiwxMzguMTIzNCAxMDUuMjU3NiwxMzYuNjI3NCAxMDYuNjA1NiwxMzUuMTM5NCBDMTA3LjE2MjYsMTM0LjUyNTQgMTA4LjExMTYsMTM0LjQ3OTQgMTA4LjcyNTYsMTM1LjAzNjQgQzEwOS4zMzg2LDEzNS41OTM0IDEwOS4zODU2LDEzNi41NDI0IDEwOC44Mjg2LDEzNy4xNTU0IEMxMDcuNDg5NiwxMzguNjMxNCAxMDYuMTYxNiwxNDAuMTE3NCAxMDQuODQ0NiwxNDEuNjEyNCBDMTA0LjU0NzYsMTQxLjk0OTQgMTA0LjEzMzYsMTQyLjEyMTQgMTAzLjcxNzYsMTQyLjEyMTQgTDEwMy43MTc2LDE0Mi4xMjE0IFogTTcyMi45MDc2LDE0Ni4yOTU0IEM3MjIuNDg0NiwxNDYuMjk1NCA3MjIuMDY0NiwxNDYuMTE3NCA3MjEuNzY4NiwxNDUuNzcxNCBDNzIwLjQ3MjYsMTQ0LjI2MTQgNzE5LjE2NTYsMTQyLjc1ODQgNzE3Ljg0NzYsMTQxLjI2NDQgQzcxNy4yOTk2LDE0MC42NDQ0IDcxNy4zNTg2LDEzOS42OTY0IDcxNy45Nzk2LDEzOS4xNDc0IEM3MTguNjAyNiwxMzguNTk5NCA3MTkuNTQ4NiwxMzguNjYwNCA3MjAuMDk3NiwxMzkuMjgwNCBDNzIxLjQyMzYsMTQwLjc4MzQgNzIyLjczOTYsMTQyLjI5NjQgNzI0LjA0NTYsMTQzLjgxODQgQzcyNC41ODQ2LDE0NC40NDc0IDcyNC41MTI2LDE0NS4zOTQ0IDcyMy44ODM2LDE0NS45MzM0IEM3MjMuNjAwNiwxNDYuMTc2NCA3MjMuMjUzNiwxNDYuMjk1NCA3MjIuOTA3NiwxNDYuMjk1NCBMNzIyLjkwNzYsMTQ2LjI5NTQgWiBNOTUuOTE3NiwxNTEuMjQzNCBDOTUuNTc5NiwxNTEuMjQzNCA5NS4yMzk2LDE1MS4xMzA0IDk0Ljk2MDYsMTUwLjg5NzQgQzk0LjMyMjYsMTUwLjM2ODQgOTQuMjM0NiwxNDkuNDIyNCA5NC43NjQ2LDE0OC43ODU0IEM5Ni4wNDc2LDE0Ny4yNDA0IDk3LjM0MTYsMTQ1LjcwNDQgOTguNjQ2NiwxNDQuMTc5NCBDOTkuMTg1NiwxNDMuNTQ4NCAxMDAuMTMwNiwxNDMuNDczNCAxMDAuNzYyNiwxNDQuMDE0NCBDMTAxLjM5MTYsMTQ0LjU1MjQgMTAxLjQ2NTYsMTQ1LjQ5OTQgMTAwLjkyNjYsMTQ2LjEyODQgQzk5LjYzMDYsMTQ3LjY0MzQgOTguMzQ2NiwxNDkuMTY4NCA5Ny4wNzI2LDE1MC43MDE0IEM5Ni43NzU2LDE1MS4wNTg0IDk2LjM0ODYsMTUxLjI0MzQgOTUuOTE3NiwxNTEuMjQzNCBMOTUuOTE3NiwxNTEuMjQzNCBaIE03MzAuNTc1NiwxNTUuNTA3NCBDNzMwLjEzODYsMTU1LjUwNzQgNzI5LjcwNDYsMTU1LjMxNjQgNzI5LjQwNzYsMTU0Ljk1MDQgQzcyOC4xNTY2LDE1My40MDE0IDcyNi44OTQ2LDE1MS44NjI0IDcyNS42MjE2LDE1MC4zMzM0IEM3MjUuMDkxNiwxNDkuNjk2NCA3MjUuMTc3NiwxNDguNzUxNCA3MjUuODEzNiwxNDguMjIxNCBDNzI2LjQ1MTYsMTQ3LjY4OTQgNzI3LjM5ODYsMTQ3Ljc3NjQgNzI3LjkyNjYsMTQ4LjQxMzQgQzcyOS4yMDk2LDE0OS45NTQ0IDczMC40ODA2LDE1MS41MDU0IDczMS43NDE2LDE1My4wNjM0IEM3MzIuMjYyNiwxNTMuNzA4NCA3MzIuMTYxNiwxNTQuNjUyNCA3MzEuNTE4NiwxNTUuMTc0NCBDNzMxLjIzOTYsMTU1LjM5NzQgNzMwLjkwNjYsMTU1LjUwNzQgNzMwLjU3NTYsMTU1LjUwNzQgTDczMC41NzU2LDE1NS41MDc0IFogTTg4LjM4MzYsMTYwLjU4OTQgQzg4LjA2MDYsMTYwLjU4OTQgODcuNzMzNiwxNjAuNDg1NCA4Ny40NTk2LDE2MC4yNzA0IEM4Ni44MDc2LDE1OS43NjA0IDg2LjY5MjYsMTU4LjgxNjQgODcuMjAyNiwxNTguMTY0NCBDODguNDQwNiwxNTYuNTgzNCA4OS42ODk2LDE1NS4wMTA0IDkwLjk0OTYsMTUzLjQ0NjQgQzkxLjQ3MTYsMTUyLjgwMjQgOTIuNDEzNiwxNTIuNzAwNCA5My4wNTk2LDE1My4yMjA0IEM5My43MDM2LDE1My43NDA0IDkzLjgwNTYsMTU0LjY4NDQgOTMuMjg1NiwxNTUuMzI5NCBDOTIuMDMzNiwxNTYuODgxNCA5MC43OTQ2LDE1OC40NDI0IDg5LjU2NTYsMTYwLjAxNDQgQzg5LjI3MDYsMTYwLjM5MTQgODguODI4NiwxNjAuNTg5NCA4OC4zODM2LDE2MC41ODk0IEw4OC4zODM2LDE2MC41ODk0IFogTTczNy45NzI2LDE2NC45MzY0IEM3MzcuNTE5NiwxNjQuOTM2NCA3MzcuMDcyNiwxNjQuNzMzNCA3MzYuNzc3NiwxNjQuMzQ2NCBDNzM1LjU3MTYsMTYyLjc2MjQgNzM0LjM1NDYsMTYxLjE4NjQgNzMzLjEyNjYsMTU5LjYyMTQgQzczMi42MTU2LDE1OC45Njk0IDczMi43Mjk2LDE1OC4wMjY0IDczMy4zODE2LDE1Ny41MTQ0IEM3MzQuMDMyNiwxNTcuMDA1NCA3MzQuOTc3NiwxNTcuMTE4NCA3MzUuNDg3NiwxNTcuNzY5NCBDNzM2LjcyNDYsMTU5LjM0NzQgNzM3Ljk0OTYsMTYwLjkzMjQgNzM5LjE2NDYsMTYyLjUyNzQgQzczOS42NjY2LDE2My4xODY0IDczOS41Mzk2LDE2NC4xMjg0IDczOC44ODA2LDE2NC42MzA0IEM3MzguNjA4NiwxNjQuODM3NCA3MzguMjg5NiwxNjQuOTM2NCA3MzcuOTcyNiwxNjQuOTM2NCBMNzM3Ljk3MjYsMTY0LjkzNjQgWiBNODEuMTIyNiwxNzAuMTU0NCBDODAuODEzNiwxNzAuMTU0NCA4MC41MDI2LDE3MC4wNTk0IDgwLjIzNDYsMTY5Ljg2MjQgQzc5LjU2NjYsMTY5LjM3MTQgNzkuNDI0NiwxNjguNDMyNCA3OS45MTU2LDE2Ny43NjU0IEM4MS4xMDU2LDE2Ni4xNDY0IDgyLjMwOTYsMTY0LjUzNzQgODMuNTIzNiwxNjIuOTM4NCBDODQuMDIzNiwxNjIuMjc4NCA4NC45NjU2LDE2Mi4xNTA0IDg1LjYyNTYsMTYyLjY1MTQgQzg2LjI4NTYsMTYzLjE1MjQgODYuNDEzNiwxNjQuMDk0NCA4NS45MTI2LDE2NC43NTM0IEM4NC43MDc2LDE2Ni4zNDA0IDgzLjUxMzYsMTY3LjkzNzQgODIuMzMxNiwxNjkuNTQzNCBDODIuMDM3NiwxNjkuOTQzNCA4MS41ODM2LDE3MC4xNTQ0IDgxLjEyMjYsMTcwLjE1NDQgTDgxLjEyMjYsMTcwLjE1NDQgWiBNNzQ1LjA4NjYsMTc0LjU3NjQgQzc0NC42MTk2LDE3NC41NzY0IDc0NC4xNTg2LDE3NC4zNTg0IDc0My44NjU2LDE3My45NDk0IEM3NDIuNzA2NiwxNzIuMzMxNCA3NDEuNTM3NiwxNzAuNzIyNCA3NDAuMzU1NiwxNjkuMTIxNCBDNzM5Ljg2MzYsMTY4LjQ1NTQgNzQwLjAwNTYsMTY3LjUxNTQgNzQwLjY3MjYsMTY3LjAyMzQgQzc0MS4zMzc2LDE2Ni41MzI0IDc0Mi4yNzc2LDE2Ni42NzM0IDc0Mi43Njk2LDE2Ny4zNDA0IEM3NDMuOTU5NiwxNjguOTUyNCA3NDUuMTM4NiwxNzAuNTczNCA3NDYuMzA1NiwxNzIuMjAzNCBDNzQ2Ljc4NzYsMTcyLjg3NjQgNzQ2LjYzMjYsMTczLjgxMzQgNzQ1Ljk1ODYsMTc0LjI5NjQgQzc0NS42OTM2LDE3NC40ODU0IDc0NS4zODk2LDE3NC41NzY0IDc0NS4wODY2LDE3NC41NzY0IEw3NDUuMDg2NiwxNzQuNTc2NCBaIE03NC4xNDQ2LDE3OS45Mjg0IEM3My44NDk2LDE3OS45Mjg0IDczLjU1MjYsMTc5Ljg0MjQgNzMuMjkxNiwxNzkuNjYxNCBDNzIuNjA5NiwxNzkuMTg5NCA3Mi40Mzk2LDE3OC4yNTU0IDcyLjkxMTYsMTc3LjU3NDQgQzc0LjA1NTYsMTc1LjkyMjQgNzUuMjExNiwxNzQuMjc3NCA3Ni4zNzg2LDE3Mi42NDI0IEM3Ni44NjA2LDE3MS45NzA0IDc3Ljc5NjYsMTcxLjgxMzQgNzguNDcxNiwxNzIuMjk0NCBDNzkuMTQ1NiwxNzIuNzc1NCA3OS4zMDE2LDE3My43MTI0IDc4LjgxOTYsMTc0LjM4NzQgQzc3LjY2MDYsMTc2LjAwOTQgNzYuNTE0NiwxNzcuNjQwNCA3NS4zNzg2LDE3OS4yODE0IEM3NS4wODc2LDE3OS43MDI0IDc0LjYxOTYsMTc5LjkyODQgNzQuMTQ0NiwxNzkuOTI4NCBMNzQuMTQ0NiwxNzkuOTI4NCBaIE03NTEuOTE2NiwxODQuNDE1NCBDNzUxLjQzNDYsMTg0LjQxNTQgNzUwLjk2MDYsMTg0LjE4MjQgNzUwLjY3MTYsMTgzLjc1MzQgQzc0OS41NjA2LDE4Mi4xMDI0IDc0OC40Mzc2LDE4MC40NjA0IDc0Ny4zMDQ2LDE3OC44MjY0IEM3NDYuODMxNiwxNzguMTQ1NCA3NDcuMDAwNiwxNzcuMjExNCA3NDcuNjgxNiwxNzYuNzM4NCBDNzQ4LjM2MjYsMTc2LjI2NzQgNzQ5LjI5NzYsMTc2LjQzNDQgNzQ5Ljc2OTYsMTc3LjExNTQgQzc1MC45MTA2LDE3OC43NjE0IDc1Mi4wNDA2LDE4MC40MTU0IDc1My4xNTk2LDE4Mi4wNzc0IEM3NTMuNjIyNiwxODIuNzY0NCA3NTMuNDQwNiwxODMuNjk2NCA3NTIuNzUzNiwxODQuMTU5NCBDNzUyLjQ5NjYsMTg0LjMzMjQgNzUyLjIwNDYsMTg0LjQxNTQgNzUxLjkxNjYsMTg0LjQxNTQgTDc1MS45MTY2LDE4NC40MTU0IFogTTY3LjQ1MTYsMTg5LjkwNTQgQzY3LjE3MTYsMTg5LjkwNTQgNjYuODg3NiwxODkuODI3NCA2Ni42MzU2LDE4OS42NjM0IEM2NS45NDA2LDE4OS4yMTI0IDY1Ljc0MzYsMTg4LjI4MjQgNjYuMTk0NiwxODcuNTg4NCBDNjcuMjkwNiwxODUuOTAyNCA2OC4zOTc2LDE4NC4yMjU0IDY5LjUxNzYsMTgyLjU1NjQgQzY5Ljk4MDYsMTgxLjg2ODQgNzAuOTEzNiwxODEuNjg1NCA3MS41OTg2LDE4Mi4xNDU0IEM3Mi4yODY2LDE4Mi42MDc0IDcyLjQ3MDYsMTgzLjUzOTQgNzIuMDA5NiwxODQuMjI2NCBDNzAuODk3NiwxODUuODg0NCA2OS43OTg2LDE4Ny41NDk0IDY4LjcxMDYsMTg5LjIyMjQgQzY4LjQyMzYsMTg5LjY2NTQgNjcuOTQxNiwxODkuOTA1NCA2Ny40NTE2LDE4OS45MDU0IEw2Ny40NTE2LDE4OS45MDU0IFogTTc1OC40NTU2LDE5NC40NDU0IEM3NTcuOTU4NiwxOTQuNDQ1NCA3NTcuNDcyNiwxOTQuMTk4NCA3NTcuMTg2NiwxOTMuNzQ2NCBDNzU2LjEyMzYsMTkyLjA2NDQgNzU1LjA1MDYsMTkwLjM5MDQgNzUzLjk2NTYsMTg4LjcyNTQgQzc1My41MTI2LDE4OC4wMzI0IDc1My43MDc2LDE4Ny4xMDI0IDc1NC40MDE2LDE4Ni42NDk0IEM3NTUuMDk3NiwxODYuMTk5NCA3NTYuMDI1NiwxODYuMzkzNCA3NTYuNDc3NiwxODcuMDg3NCBDNzU3LjU3MTYsMTg4Ljc2NDQgNzU4LjY1MjYsMTkwLjQ0OTQgNzU5LjcyMzYsMTkyLjE0NDQgQzc2MC4xNjU2LDE5Mi44NDU0IDc1OS45NTU2LDE5My43NzE0IDc1OS4yNTU2LDE5NC4yMTQ0IEM3NTkuMDA3NiwxOTQuMzcwNCA3NTguNzI5NiwxOTQuNDQ1NCA3NTguNDU1NiwxOTQuNDQ1NCBMNzU4LjQ1NTYsMTk0LjQ0NTQgWiBNNjEuMDUyNiwyMDAuMDc2NCBDNjAuNzg1NiwyMDAuMDc2NCA2MC41MTc2LDIwMC4wMDY0IDYwLjI3MjYsMTk5Ljg1NzQgQzU5LjU2NTYsMTk5LjQyNzQgNTkuMzQxNiwxOTguNTA0NCA1OS43NzE2LDE5Ny43OTY0IEM2MC44MTc2LDE5Ni4wNzk0IDYxLjg3NTYsMTk0LjM2OTQgNjIuOTQ1NiwxOTIuNjY4NCBDNjMuMzg3NiwxOTEuOTY3NDMzIDY0LjMxMzYsMTkxLjc1NzQgNjUuMDE0NiwxOTIuMTk3NCBDNjUuNzE1NiwxOTIuNjM4NCA2NS45MjY2LDE5My41NjQ0IDY1LjQ4NDYsMTk0LjI2NTQgQzY0LjQyMjYsMTk1Ljk1NTQgNjMuMzcyNiwxOTcuNjUxNCA2Mi4zMzQ2LDE5OS4zNTY0IEM2Mi4wNTI2LDE5OS44MjA0IDYxLjU1ODYsMjAwLjA3NjQgNjEuMDUyNiwyMDAuMDc2NCBMNjEuMDUyNiwyMDAuMDc2NCBaIE03NjQuNjk2NiwyMDQuNjYwNCBDNzY0LjE4NDYsMjA0LjY2MDQgNzYzLjY4NDYsMjA0LjM5NzQgNzYzLjQwNDYsMjAzLjkyNDQgQzc2Mi4zOTM2LDIwMi4yMTI0IDc2MS4zNjg2LDIwMC41MDg0IDc2MC4zMzI2LDE5OC44MTI0IEM3NTkuOTAwNiwxOTguMTA1NCA3NjAuMTIzNiwxOTcuMTgyNCA3NjAuODMwNiwxOTYuNzUwNCBDNzYxLjUzNzYsMTk2LjMyMDQgNzYyLjQ2MDYsMTk2LjU0MTQgNzYyLjg5MzYsMTk3LjI0ODQgQzc2My45MzY2LDE5OC45NTY0IDc2NC45Njc2LDIwMC42NzM0IDc2NS45ODY2LDIwMi4zOTY0IEM3NjYuNDA4NiwyMDMuMTA5NCA3NjYuMTcyNiwyMDQuMDI5NCA3NjUuNDU5NiwyMDQuNDUxNCBDNzY1LjIxOTYsMjA0LjU5MzQgNzY0Ljk1NjYsMjA0LjY2MDQgNzY0LjY5NjYsMjA0LjY2MDQgTDc2NC42OTY2LDIwNC42NjA0IFogTTU0Ljk1MzYsMjEwLjQzMjQgQzU0LjcwMTYsMjEwLjQzMjQgNTQuNDQ2NiwyMTAuMzY5NCA1NC4yMTI2LDIxMC4yMzY0IEM1My40OTI2LDIwOS44MjY0IDUzLjI0MDYsMjA4LjkxMDQgNTMuNjUwNiwyMDguMTkwNCBDNTQuNjQ1NiwyMDYuNDQzNCA1NS42NTM2LDIwNC43MDM0IDU2LjY3MzYsMjAyLjk3MTQgQzU3LjA5NTYsMjAyLjI1NjQgNTguMDE3NiwyMDIuMDE5NCA1OC43Mjc2LDIwMi40Mzg0IEM1OS40NDA2LDIwMi44NTk0IDU5LjY3OTYsMjAzLjc3ODQgNTkuMjU5NiwyMDQuNDkyNCBDNTguMjQ1NiwyMDYuMjEzNCA1Ny4yNDU2LDIwNy45Mzk0IDU2LjI1ODYsMjA5LjY3NTQgQzU1Ljk4MTYsMjEwLjE2MDQgNTUuNDc1NiwyMTAuNDMyNCA1NC45NTM2LDIxMC40MzI0IEw1NC45NTM2LDIxMC40MzI0IFogTTc3MC42MzQ2LDIxNS4wNTA0IEM3NzAuMTA1NiwyMTUuMDUwNCA3NjkuNTkzNiwyMTQuNzcwNCA3NjkuMzE5NiwyMTQuMjc0NCBDNzY4LjM1OTYsMjEyLjUzNDQgNzY3LjM4NjYsMjEwLjgwMzQgNzY2LjQwMDYsMjA5LjA3ODQgQzc2NS45ODk2LDIwOC4zNTk0IDc2Ni4yMzg2LDIwNy40NDM0IDc2Ni45NTg2LDIwNy4wMzE0IEM3NjcuNjc2NiwyMDYuNjIyNCA3NjguNTk0NiwyMDYuODcwNCA3NjkuMDA0NiwyMDcuNTkwNCBDNzY5Ljk5NzYsMjA5LjMyNjQgNzcwLjk3ODYsMjExLjA3MTQgNzcxLjk0NjYsMjEyLjgyNTQgQzc3Mi4zNDc2LDIxMy41NTE0IDc3Mi4wODM2LDIxNC40NjM0IDc3MS4zNTc2LDIxNC44NjM0IEM3NzEuMTI4NiwyMTQuOTkwNCA3NzAuODc5NiwyMTUuMDUwNCA3NzAuNjM0NiwyMTUuMDUwNCBMNzcwLjYzNDYsMjE1LjA1MDQgWiBNNDkuMTU5NiwyMjAuOTY2NCBDNDguOTIyNiwyMjAuOTY2NCA0OC42ODE2LDIyMC45MDk0IDQ4LjQ1NjYsMjIwLjc5MDQgQzQ3LjcyNTYsMjIwLjQwMjQgNDcuNDQ3NiwyMTkuNDk0NCA0Ny44MzY2LDIxOC43NjI0IEM0OC43Nzk2LDIxNi45ODU0IDQ5LjczNjYsMjE1LjIxNjQgNTAuNzA1NiwyMTMuNDU0NCBDNTEuMTA1NiwyMTIuNzI3NCA1Mi4wMTg2LDIxMi40NjY0IDUyLjc0MzYsMjEyLjg2MzQgQzUzLjQ2OTYsMjEzLjI2MzQgNTMuNzMzNiwyMTQuMTc1NCA1My4zMzQ2LDIxNC45MDE0IEM1Mi4zNzE2LDIxNi42NDk0IDUxLjQyMjYsMjE4LjQwNTQgNTAuNDg1NiwyMjAuMTcwNCBDNTAuMjE2NiwyMjAuNjc3NCA0OS42OTY2LDIyMC45NjY0IDQ5LjE1OTYsMjIwLjk2NjQgTDQ5LjE1OTYsMjIwLjk2NjQgWiBNNzc2LjI2NjYsMjI1LjYwNTQgQzc3NS43MjI2LDIyNS42MDU0IDc3NS4xOTc2LDIyNS4zMDg0IDc3NC45MzE2LDIyNC43OTI0IEM3NzQuMDIxNiwyMjMuMDI1NCA3NzMuMDk5NiwyMjEuMjY1NCA3NzIuMTY1NiwyMTkuNTEzNCBDNzcxLjc3NTYsMjE4Ljc4MjQgNzcyLjA1MjYsMjE3Ljg3NDQgNzcyLjc4MjYsMjE3LjQ4NDQgQzc3My41MTU2LDIxNy4wOTM0IDc3NC40MjI2LDIxNy4zNzA0IDc3NC44MTI2LDIxOC4xMDE0IEM3NzUuNzUzNiwyMTkuODY3NCA3NzYuNjgyNiwyMjEuNjM5NCA3NzcuNTk5NiwyMjMuNDE5NCBDNzc3Ljk3NzYsMjI0LjE1NTQgNzc3LjY4NzYsMjI1LjA1OTQgNzc2Ljk1MTYsMjI1LjQzOTQgQzc3Ni43MzE2LDIyNS41NTI0IDc3Ni40OTc2LDIyNS42MDU0IDc3Ni4yNjY2LDIyNS42MDU0IEw3NzYuMjY2NiwyMjUuNjA1NCBaIE00My42NzU2LDIzMS42Njk0IEM0My40NTE2LDIzMS42Njk0IDQzLjIyNjYsMjMxLjYxOTQgNDMuMDEyNiwyMzEuNTE0NCBDNDIuMjY5NiwyMzEuMTQ3NCA0MS45NjQ2LDIzMC4yNDg0IDQyLjMzMTYsMjI5LjUwNTQgQzQzLjIyMjYsMjI3LjcwMDQgNDQuMTI2NiwyMjUuOTAzNCA0NS4wNDM2LDIyNC4xMTM0IEM0NS40MjE2LDIyMy4zNzU0IDQ2LjMyNjYsMjIzLjA4NDQgNDcuMDYyNiwyMjMuNDYyNCBDNDcuNzk5NiwyMjMuODM5NCA0OC4wOTE2LDIyNC43NDM0IDQ3LjcxMzYsMjI1LjQ4MDQgQzQ2LjgwNDYsMjI3LjI1NzQgNDUuOTA1NiwyMjkuMDQyNCA0NS4wMjA2LDIzMC44MzM0IEM0NC43NjA2LDIzMS4zNjI0IDQ0LjIyODYsMjMxLjY2OTQgNDMuNjc1NiwyMzEuNjY5NCBMNDMuNjc1NiwyMzEuNjY5NCBaIE03ODEuNTgzNiwyMzYuMzE3NCBDNzgxLjAyMzYsMjM2LjMxNzQgNzgwLjQ4NjYsMjM2LjAwMzQgNzgwLjIyODYsMjM1LjQ2NTQgQzc3OS4zNzI2LDIzMy42NzM0IDc3OC41MDI2LDIzMS44ODc0IDc3Ny42MTk2LDIzMC4xMDk0IEM3NzcuMjUxNiwyMjkuMzY3NCA3NzcuNTU0NiwyMjguNDY3NCA3NzguMjk2NiwyMjguMDk4NCBDNzc5LjAzNjYsMjI3LjczMjQgNzc5LjkzNzYsMjI4LjAzNDQgNzgwLjMwNzYsMjI4Ljc3NTQgQzc4MS4xOTU2LDIzMC41NjY0IDc4Mi4wNzE2LDIzMi4zNjQ0IDc4Mi45MzY2LDIzNC4xNzA0IEM3ODMuMjkzNiwyMzQuOTE4NCA3ODIuOTc3NiwyMzUuODEzNCA3ODIuMjI5NiwyMzYuMTcxNCBDNzgyLjAyMDYsMjM2LjI3MDQgNzgxLjgwMDYsMjM2LjMxNzQgNzgxLjU4MzYsMjM2LjMxNzQgTDc4MS41ODM2LDIzNi4zMTc0IFogTTM4LjUwODYsMjQyLjUzMDQgQzM4LjI5OTYsMjQyLjUzMDQgMzguMDg3NiwyNDIuNDg2NCAzNy44ODU2LDI0Mi4zOTQ0IEMzNy4xMzE2LDI0Mi4wNTA0IDM2LjgwMDYsMjQxLjE1OTQgMzcuMTQ1NiwyNDAuNDA2NCBDMzcuOTgzNiwyMzguNTc1NCAzOC44MzQ2LDIzNi43NTE0IDM5LjY5ODYsMjM0LjkzNDQgQzQwLjA1NDYsMjM0LjE4NjQgNDAuOTQ4NiwyMzMuODY5NCA0MS42OTc2LDIzNC4yMjQ0IEM0Mi40NDU2LDIzNC41ODE0IDQyLjc2MzYsMjM1LjQ3NTQgNDIuNDA3NiwyMzYuMjIzNCBDNDEuNTQ5NiwyMzguMDI2NCA0MC43MDQ2LDIzOS44Mzc0IDM5Ljg3MzYsMjQxLjY1NDQgQzM5LjYyMDYsMjQyLjIwNTQgMzkuMDc2NiwyNDIuNTMwNCAzOC41MDg2LDI0Mi41MzA0IEwzOC41MDg2LDI0Mi41MzA0IFogTTc4Ni41ODM2LDI0Ny4xNzc0IEM3ODYuMDA3NiwyNDcuMTc3NCA3ODUuNDU4NiwyNDYuODQ0NCA3ODUuMjEwNiwyNDYuMjgzNCBDNzg0LjQwNjYsMjQ0LjQ2NzQgNzgzLjU5MDYsMjQyLjY1OTQgNzgyLjc2MDYsMjQwLjg1NzQgQzc4Mi40MTM2LDI0MC4xMDQ0IDc4Mi43NDI2LDIzOS4yMTQ0IDc4My40OTQ2LDIzOC44Njc0IEM3ODQuMjQ5NiwyMzguNTE5NCA3ODUuMTM4NiwyMzguODQ5NCA3ODUuNDg0NiwyMzkuNjAxNCBDNzg2LjMyMDYsMjQxLjQxNzQgNzg3LjE0NDYsMjQzLjIzOTQgNzg3Ljk1NDYsMjQ1LjA3MDQgQzc4OC4yODk2LDI0NS44Mjc0IDc4Ny45NDY2LDI0Ni43MTQ0IDc4Ny4xODg2LDI0Ny4wNDk0IEM3ODYuOTkxNiwyNDcuMTM2NCA3ODYuNzg1NiwyNDcuMTc3NCA3ODYuNTgzNiwyNDcuMTc3NCBMNzg2LjU4MzYsMjQ3LjE3NzQgWiBNMzMuNjYwNiwyNTMuNTQ1NCBDMzMuNDY2NiwyNTMuNTQ1NCAzMy4yNjg2LDI1My41MDc0IDMzLjA3NzYsMjUzLjQyNzQgQzMyLjMxNDYsMjUzLjEwNDQgMzEuOTU3NiwyNTIuMjIzNCAzMi4yNzk2LDI1MS40NjE0IEMzMy4wNjM2LDI0OS42MDU0IDMzLjg2MDYsMjQ3Ljc1NzQgMzQuNjcxNiwyNDUuOTE1NCBDMzUuMDA1NiwyNDUuMTU3NCAzNS44OTA2LDI0NC44MTY0IDM2LjY0ODYsMjQ1LjE0NjQgQzM3LjQwNjYsMjQ1LjQ4MDQgMzcuNzUxNiwyNDYuMzY1NCAzNy40MTc2LDI0Ny4xMjQ0IEMzNi42MTI2LDI0OC45NTI0IDM1LjgyMTYsMjUwLjc4NzQgMzUuMDQzNiwyNTIuNjI5NCBDMzQuODAxNiwyNTMuMjAxNCAzNC4yNDU2LDI1My41NDU0IDMzLjY2MDYsMjUzLjU0NTQgTDMzLjY2MDYsMjUzLjU0NTQgWiBNNzkxLjI2MDYsMjU4LjE3NDQgQzc5MC42Njg2LDI1OC4xNzQ0IDc5MC4xMDc2LDI1Ny44MjI0IDc4OS44NzA2LDI1Ny4yNDA0IEM3ODkuMTIwNiwyNTUuNDAxNCA3ODguMzU3NiwyNTMuNTcwNCA3ODcuNTgxNiwyNTEuNzQ1NCBDNzg3LjI1NzYsMjUwLjk4MzQgNzg3LjYxMTYsMjUwLjEwMjQgNzg4LjM3NDYsMjQ5Ljc3ODQgQzc4OS4xMzg2LDI0OS40NTI0IDc5MC4wMTg2LDI0OS44MDg0IDc5MC4zNDE2LDI1MC41NzE0IEM3OTEuMTIzNiwyNTIuNDEwNCA3OTEuODkyNiwyNTQuMjU1NCA3OTIuNjQ3NiwyNTYuMTA3NCBDNzkyLjk2MTYsMjU2Ljg3NDQgNzkyLjU5MzYsMjU3Ljc1MDQgNzkxLjgyNTYsMjU4LjA2MjQgQzc5MS42NDA2LDI1OC4xMzk0IDc5MS40NDg2LDI1OC4xNzQ0IDc5MS4yNjA2LDI1OC4xNzQ0IEw3OTEuMjYwNiwyNTguMTc0NCBaIE0yOS4xNDE2LDI2NC43MDE0IEMyOC45NjA2LDI2NC43MDE0IDI4Ljc3NjYsMjY0LjY2OTQgMjguNTk4NiwyNjQuNTk5NCBDMjcuODI1NiwyNjQuMzAwNCAyNy40NDI2LDI2My40MzE0IDI3Ljc0MjYsMjYyLjY1ODQgQzI4LjQ3MjYsMjYwLjc3OTQgMjkuMjE1NiwyNTguOTA3NCAyOS45NzA2LDI1Ny4wNDI0IEMzMC4yODI2LDI1Ni4yNzQ0IDMxLjE1ODYsMjU1LjkwODQgMzEuOTI0NiwyNTYuMjE1NCBDMzIuNjkxNiwyNTYuNTI2NCAzMy4wNjI2LDI1Ny40MDE0IDMyLjc1MTYsMjU4LjE2OTQgQzMyLjAwMDYsMjYwLjAyMDQgMzEuMjYzNiwyNjEuODc5NCAzMC41Mzk2LDI2My43NDQ0IEMzMC4zMDk2LDI2NC4zMzg0IDI5Ljc0MTYsMjY0LjcwMTQgMjkuMTQxNiwyNjQuNzAxNCBMMjkuMTQxNiwyNjQuNzAxNCBaIE03OTUuNjI3NiwyNjkuMzQ3NCBDNzk1LjAxOTYsMjY5LjM0NzQgNzk0LjQ0NzYsMjY4Ljk3NTQgNzk0LjIyMjYsMjY4LjM3MzQgQzc5My41MjM2LDI2Ni41MDY0IDc5Mi44MTE2LDI2NC42NDQ0IDc5Mi4wODY2LDI2Mi43OTA0IEM3OTEuNzg1NiwyNjIuMDE4NCA3OTIuMTY2NiwyNjEuMTQ4NCA3OTIuOTM3NiwyNjAuODQ3NCBDNzkzLjcwODYsMjYwLjU0OTQgNzk0LjU4MDYsMjYwLjkyNjQgNzk0Ljg4MTYsMjYxLjY5ODQgQzc5NS42MTA2LDI2My41NjY0IDc5Ni4zMjg2LDI2NS40NDE0IDc5Ny4wMzI2LDI2Ny4zMjI0IEM3OTcuMzIyNiwyNjguMDk3NCA3OTYuOTI5NiwyNjguOTYyNCA3OTYuMTUyNiwyNjkuMjUzNCBDNzk1Ljk3OTYsMjY5LjMxNzQgNzk1LjgwMjYsMjY5LjM0NzQgNzk1LjYyNzYsMjY5LjM0NzQgTDc5NS42Mjc2LDI2OS4zNDc0IFogTTI0Ljk1MTYsMjc1Ljk4ODQgQzI0Ljc4NTYsMjc1Ljk4ODQgMjQuNjE2NiwyNzUuOTYxNCAyNC40NTA2LDI3NS45MDI0IEMyMy42Njk2LDI3NS42MjY0IDIzLjI2MTYsMjc0Ljc2ODQgMjMuNTM3NiwyNzMuOTg3NCBDMjQuMjExNiwyNzIuMDg3NCAyNC44OTc2LDI3MC4xOTI0IDI1LjU5OTYsMjY4LjMwNjQgQzI1Ljg4ODYsMjY3LjUyODQgMjYuNzUzNiwyNjcuMTM1NCAyNy41Mjc2LDI2Ny40MjI0IEMyOC4zMDQ2LDI2Ny43MTA0IDI4LjY5OTYsMjY4LjU3NDQgMjguNDExNiwyNjkuMzUwNCBDMjcuNzE2NiwyNzEuMjIzNCAyNy4wMzM2LDI3My4xMDI0IDI2LjM2NTYsMjc0Ljk4OTQgQzI2LjE0NzYsMjc1LjYwNDQgMjUuNTY4NiwyNzUuOTg4NCAyNC45NTE2LDI3NS45ODg0IEwyNC45NTE2LDI3NS45ODg0IFogTTc5OS42NjY2LDI4MC42NDY0IEM3OTkuMDQxNiwyODAuNjQ2NCA3OTguNDU5NiwyODAuMjU0NCA3OTguMjQ2NiwyNzkuNjMwNCBDNzk3LjYwMjYsMjc3Ljc0MjQgNzk2Ljk0NjYsMjc1Ljg2MTQgNzk2LjI3NjYsMjczLjk4NjQgQzc5NS45OTc2LDI3My4yMDY0IDc5Ni40MDM2LDI3Mi4zNDc0IDc5Ny4xODQ2LDI3Mi4wNjk0IEM3OTcuOTYyNiwyNzEuNzkxNCA3OTguODIyNiwyNzIuMTk2NCA3OTkuMTAxNiwyNzIuOTc2NCBDNzk5Ljc3NjYsMjc0Ljg2NTQgODAwLjQzODYsMjc2Ljc2MTQgODAxLjA4NjYsMjc4LjY2MzQgQzgwMS4zNTI2LDI3OS40NDc0IDgwMC45MzQ2LDI4MC4zMDA0IDgwMC4xNDk2LDI4MC41NjY0IEM3OTkuOTg5NiwyODAuNjIxNCA3OTkuODI2NiwyODAuNjQ2NCA3OTkuNjY2NiwyODAuNjQ2NCBMNzk5LjY2NjYsMjgwLjY0NjQgWiBNMjEuMDk2NiwyODcuNDAwNCBDMjAuOTQzNiwyODcuNDAwNCAyMC43ODk2LDI4Ny4zNzg0IDIwLjYzNzYsMjg3LjMyODQgQzE5Ljg0ODYsMjg3LjA3NTQgMTkuNDE0NiwyODYuMjI5NCAxOS42Njg2LDI4NS40NDE0IEMyMC4yODU2LDI4My41MjE0IDIwLjkxNjYsMjgxLjYwNzQgMjEuNTYxNiwyNzkuNzAwNCBDMjEuODI1NiwyNzguOTE1NCAyMi42NzQ2LDI3OC40OTI0IDIzLjQ2MTYsMjc4Ljc1OTQgQzI0LjI0NjYsMjc5LjAyMzQgMjQuNjY4NiwyNzkuODc1NCAyNC40MDI2LDI4MC42NTk0IEMyMy43NjQ2LDI4Mi41NTM0IDIzLjEzNzYsMjg0LjQ1MzQgMjIuNTIzNiwyODYuMzU5NCBDMjIuMzE5NiwyODYuOTk2NCAyMS43MzA2LDI4Ny40MDA0IDIxLjA5NjYsMjg3LjQwMDQgTDIxLjA5NjYsMjg3LjQwMDQgWiBNODAzLjM3MTYsMjkyLjA1ODQgQzgwMi43Mjk2LDI5Mi4wNTg0IDgwMi4xMzc2LDI5MS42NDU0IDgwMS45Mzc2LDI5MS4wMDE0IEM4MDEuMzUwNiwyODkuMDk1NCA4MDAuNzQ5NiwyODcuMTk1NCA4MDAuMTM0NiwyODUuMzAyNCBDNzk5Ljg3ODYsMjg0LjUxNDQgODAwLjMxMDYsMjgzLjY2ODQgODAxLjA5ODYsMjgzLjQxMjQgQzgwMS44ODM2LDI4My4xNTc0IDgwMi43MzE2LDI4My41ODc0IDgwMi45ODc2LDI4NC4zNzY0IEM4MDMuNjA2NiwyODYuMjgzNCA4MDQuMjEzNiwyODguMTk2NCA4MDQuODA1NiwyOTAuMTE2NCBDODA1LjA0OTYsMjkwLjkwODQgODA0LjYwNDYsMjkxLjc0ODQgODAzLjgxMzYsMjkxLjk5MjQgQzgwMy42NjY2LDI5Mi4wMzc0IDgwMy41MTc2LDI5Mi4wNTg0IDgwMy4zNzE2LDI5Mi4wNTg0IEw4MDMuMzcxNiwyOTIuMDU4NCBaIE0xNy41ODY2LDI5OC45MDA0IEMxNy40NDg2LDI5OC45MDA0IDE3LjMwODYsMjk4Ljg4MjQgMTcuMTY5NiwyOTguODQyNCBDMTYuMzczNiwyOTguNjExNCAxNS45MTQ2LDI5Ny43ODA0IDE2LjE0NDYsMjk2Ljk4NDQgQzE2LjcwMjYsMjk1LjA1NDQgMTcuMjczNiwyOTMuMTMwNCAxNy44NTk2LDI5MS4yMTE0IEMxOC4xMDE2LDI5MC40MTg0IDE4LjkzODYsMjg5Ljk3MjQgMTkuNzMyNiwyOTAuMjE1NCBDMjAuNTI0NiwyOTAuNDU3NCAyMC45NzE2LDI5MS4yOTY0IDIwLjcyOTYsMjkyLjA4ODQgQzIwLjE0NjYsMjkzLjk5MTQgMTkuNTc5NiwyOTUuOTAxNCAxOS4wMjY2LDI5Ny44MTY0IEMxOC44MzY2LDI5OC40NzM0IDE4LjIzNjYsMjk4LjkwMDQgMTcuNTg2NiwyOTguOTAwNCBMMTcuNTg2NiwyOTguOTAwNCBaIE0xNC40MjM2LDMxMC40NzQ0IEMxNC4yOTk2LDMxMC40NzQ0IDE0LjE3NDYsMzEwLjQ2MDQgMTQuMDQ4NiwzMTAuNDI4NCBDMTMuMjQ2NiwzMTAuMjIxNCAxMi43NjM2LDMwOS40MDM0IDEyLjk3MDYsMzA4LjYwMDQgQzEzLjQ3MDYsMzA2LjY1NTQgMTMuOTg0NiwzMDQuNzE2NCAxNC41MTM2LDMwMi43ODA0IEMxNC43MzE2LDMwMS45ODI0IDE1LjU1NTYsMzAxLjUxMDQgMTYuMzU1NiwzMDEuNzI4NCBDMTcuMTU0NiwzMDEuOTQ3NCAxNy42MjU2LDMwMi43NzE0IDE3LjQwNzYsMzAzLjU3MTQgQzE2Ljg4MzYsMzA1LjQ5MTQgMTYuMzcyNiwzMDcuNDE3NCAxNS44NzQ2LDMwOS4zNDg0IEMxNS43MDA2LDMxMC4wMjU0IDE1LjA5MTYsMzEwLjQ3NDQgMTQuNDIzNiwzMTAuNDc0NCBMMTQuNDIzNiwzMTAuNDc0NCBaIE0xMS42MDQ2LDMyMi4xMzc0IEMxMS40OTQ2LDMyMi4xMzc0IDExLjM4MzYsMzIyLjEyNTQgMTEuMjcxNiwzMjIuMDk5NCBDMTAuNDY0NiwzMjEuOTE3NCA5Ljk1NzYsMzIxLjExNDQgMTAuMTQwNiwzMjAuMzA1NCBDMTAuNTgzNiwzMTguMzQ2NCAxMS4wNDA2LDMxNi4zOTE0IDExLjUxMjYsMzE0LjQ0MjQgQzExLjcwNjYsMzEzLjYzODQgMTIuNTE1NiwzMTMuMTQ0NCAxMy4zMjI2LDMxMy4zMzc0IEMxNC4xMjg2LDMxMy41MzE0IDE0LjYyMjYsMzE0LjM0MjQgMTQuNDI4NiwzMTUuMTQ3NCBDMTMuOTYwNiwzMTcuMDgzNCAxMy41MDU2LDMxOS4wMjI0IDEzLjA2NTYsMzIwLjk2ODQgQzEyLjkwODYsMzIxLjY2NDQgMTIuMjg5NiwzMjIuMTM3NCAxMS42MDQ2LDMyMi4xMzc0IEwxMS42MDQ2LDMyMi4xMzc0IFogTTgxMi40Mzc2LDMyNi44ODE0IEM4MTEuNzQ0NiwzMjYuODgxNCA4MTEuMTIyNiwzMjYuMzk4NCA4MTAuOTcyNiwzMjUuNjk0NCBDODEwLjU1NTYsMzIzLjc0MzQgODEwLjEyNDYsMzIxLjc5OTQgODA5LjY4MDYsMzE5Ljg1ODQgQzgwOS40OTQ2LDMxOS4wNTE0IDgwOS45OTk2LDMxOC4yNDY0IDgxMC44MDc2LDMxOC4wNjE0IEM4MTEuNjEzNiwzMTcuODcxNCA4MTIuNDE5NiwzMTguMzgyNCA4MTIuNjAzNiwzMTkuMTg4NCBDODEzLjA1MjYsMzIxLjE0MjQgODEzLjQ4NjYsMzIzLjEwMjQgODEzLjkwNTYsMzI1LjA2NzQgQzgxNC4wNzg2LDMyNS44Nzg0IDgxMy41NjE2LDMyNi42NzU0IDgxMi43NTI2LDMyNi44NDc0IEM4MTIuNjQ2NiwzMjYuODcwNCA4MTIuNTQxNiwzMjYuODgxNCA4MTIuNDM3NiwzMjYuODgxNCBMODEyLjQzNzYsMzI2Ljg4MTQgWiBNOS4xMjk2LDMzMy44Nzc0IEM5LjAzMzYsMzMzLjg3NzQgOC45Mzc2LDMzMy44Njg0IDguODQwNiwzMzMuODQ5NCBDOC4wMjY2LDMzMy42OTA0IDcuNDk2NiwzMzIuOTAyNCA3LjY1NTYsMzMyLjA5MDQgQzguMDQwNiwzMzAuMTE3NCA4LjQzOTYsMzI4LjE1MDQgOC44NTQ2LDMyNi4xODc0IEM5LjAyNDYsMzI1LjM3NzQgOS44MjA2LDMyNC44NTU0IDEwLjYzMTYsMzI1LjAyOTQgQzExLjQ0MTYsMzI1LjIwMDQgMTEuOTYwNiwzMjUuOTk2NCAxMS43ODk2LDMyNi44MDY0IEMxMS4zNzk2LDMyOC43NTQ0IDEwLjk4MTYsMzMwLjcwNzQgMTAuNjAwNiwzMzIuNjY0NCBDMTAuNDU5NiwzMzMuMzgxNCA5LjgzMjYsMzMzLjg3NzQgOS4xMjk2LDMzMy44Nzc0IEw5LjEyOTYsMzMzLjg3NzQgWiBNODE0Ljc3MjYsMzM4LjY0NzQgQzgxNC4wNjI2LDMzOC42NDc0IDgxMy40MzI2LDMzOC4xNDA0IDgxMy4yOTk2LDMzNy40MTc0IEM4MTIuOTM5NiwzMzUuNDU1NCA4MTIuNTY2NiwzMzMuNDk4NCA4MTIuMTc5NiwzMzEuNTQ3NCBDODEyLjAxODYsMzMwLjczNDQgODEyLjU0NjYsMzI5Ljk0NTQgODEzLjM1ODYsMzI5Ljc4MzQgQzgxNC4xNzU2LDMyOS42MjU0IDgxNC45NjE2LDMzMC4xNTA0IDgxNS4xMjI2LDMzMC45NjM0IEM4MTUuNTEyNiwzMzIuOTMwNCA4MTUuODg5NiwzMzQuOTAwNCA4MTYuMjUwNiwzMzYuODc4NCBDODE2LjM5OTYsMzM3LjY5MjQgODE1Ljg1OTYsMzM4LjQ3MzQgODE1LjA0NDYsMzM4LjYyMzQgQzgxNC45NTM2LDMzOC42Mzk0IDgxNC44NjI2LDMzOC42NDc0IDgxNC43NzI2LDMzOC42NDc0IEw4MTQuNzcyNiwzMzguNjQ3NCBaIE03LjAwMDYsMzQ1LjY4NDQgQzYuOTE5NiwzNDUuNjg0NCA2LjgzNzYsMzQ1LjY3ODQgNi43NTQ2LDM0NS42NjQ0IEM1LjkzNzYsMzQ1LjUyOTQgNS4zODM2LDM0NC43NTg0IDUuNTE5NiwzNDMuOTQwNCBDNS44NDY2LDM0MS45NTc0IDYuMTg3NiwzMzkuOTc5NCA2LjU0MjYsMzM4LjAwODQgQzYuNjg4NiwzMzcuMTkyNCA3LjQ2ODYsMzM2LjY1MjQgOC4yODQ2LDMzNi43OTc0IEM5LjEwMDYsMzM2Ljk0MzQgOS42NDI2LDMzNy43MjM0IDkuNDk1NiwzMzguNTM5NCBDOS4xNDM2LDM0MC40OTc0IDguODAzNiwzNDIuNDYxNCA4LjQ3ODYsMzQ0LjQyOTQgQzguMzU2NiwzNDUuMTYzNCA3LjcyMTYsMzQ1LjY4NDQgNy4wMDA2LDM0NS42ODQ0IEw3LjAwMDYsMzQ1LjY4NDQgWiBNODE2Ljc2MTYsMzUwLjQ4MDQgQzgxNi4wMzI2LDM1MC40ODA0IDgxNS4zOTQ2LDM0OS45NDk0IDgxNS4yODA2LDM0OS4yMDc0IEM4MTQuOTc4NiwzNDcuMjM1NCA4MTQuNjYyNiwzNDUuMjY3NCA4MTQuMzMyNiwzNDMuMzA1NCBDODE0LjE5NTYsMzQyLjQ4ODQgODE0Ljc0NjYsMzQxLjcxNTQgODE1LjU2MjYsMzQxLjU3NzQgQzgxNi4zODI2LDM0MS40NDQ0IDgxNy4xNTQ2LDM0MS45OTE0IDgxNy4yOTE2LDM0Mi44MDc0IEM4MTcuNjIzNiwzNDQuNzg1NCA4MTcuOTQxNiwzNDYuNzY2NCA4MTguMjQ1NiwzNDguNzU0NCBDODE4LjM3MTYsMzQ5LjU3MjQgODE3LjgwOTYsMzUwLjMzODQgODE2Ljk4OTYsMzUwLjQ2MzQgQzgxNi45MTM2LDM1MC40NzQ0IDgxNi44MzY2LDM1MC40ODA0IDgxNi43NjE2LDM1MC40ODA0IEw4MTYuNzYxNiwzNTAuNDgwNCBaIE01LjIxOTYsMzU3LjU0OTQgQzUuMTUxNiwzNTcuNTQ5NCA1LjA4NDYsMzU3LjU0NTQgNS4wMTY2LDM1Ny41MzU0IEM0LjE5NDYsMzU3LjQyNDQgMy42MTk2LDM1Ni42Njk0IDMuNzMwNiwzNTUuODQ3NCBDNC4wMDA2LDM1My44NTY0IDQuMjgzNiwzNTEuODY5NCA0LjU4MTYsMzQ5Ljg4NzQgQzQuNzA1NiwzNDkuMDY2NCA1LjQ3MzYsMzQ4LjUwMDQgNi4yODc2LDM0OC42MjY0IEM3LjEwNjYsMzQ4Ljc0OTQgNy42NzE2LDM0OS41MTM0IDcuNTQ4NiwzNTAuMzMyNCBDNy4yNTI2LDM1Mi4zMDE0IDYuOTcxNiwzNTQuMjcyNCA2LjcwMzYsMzU2LjI1MDQgQzYuNjAyNiwzNTcuMDAzNCA1Ljk1ODYsMzU3LjU0OTQgNS4yMTk2LDM1Ny41NDk0IEw1LjIxOTYsMzU3LjU0OTQgWiBNODE4LjQwMTYsMzYyLjM2NTQgQzgxNy42NTU2LDM2Mi4zNjU0IDgxNy4wMDk2LDM2MS44MDg0IDgxNi45MTU2LDM2MS4wNDk0IEM4MTYuNjcwNiwzNTkuMDY4NCA4MTYuNDEyNiwzNTcuMDk0NCA4MTYuMTQwNiwzNTUuMTIyNCBDODE2LjAyNjYsMzU0LjMwMjQgODE2LjYwMDYsMzUzLjU0NTQgODE3LjQyMTYsMzUzLjQzMTQgQzgxOC4yNDA2LDM1My4zMDg0IDgxOC45OTg2LDM1My44OTA0IDgxOS4xMTE2LDM1NC43MTI0IEM4MTkuMzg3NiwzNTYuNjk3NCA4MTkuNjQ2NiwzNTguNjg3NCA4MTkuODkyNiwzNjAuNjgxNCBDODE5Ljk5MzYsMzYxLjUwNDQgODE5LjQwOTYsMzYyLjI1MzQgODE4LjU4NzYsMzYyLjM1MzQgQzgxOC41MjQ2LDM2Mi4zNjE0IDgxOC40NjM2LDM2Mi4zNjU0IDgxOC40MDE2LDM2Mi4zNjU0IEw4MTguNDAxNiwzNjIuMzY1NCBaIE0zLjc4NjYsMzY5LjQ2MTQgQzMuNzMzNiwzNjkuNDYxNCAzLjY4MTYsMzY5LjQ1ODQgMy42Mjc2LDM2OS40NTM0IEMyLjgwMzYsMzY5LjM2NjQgMi4yMDY2LDM2OC42Mjg0IDIuMjkyNiwzNjcuODA0NCBDMi41MDM2LDM2NS44MDU0IDIuNzI5NiwzNjMuODEwNCAyLjk2OTYsMzYxLjgyMDQgQzMuMDY3NiwzNjAuOTk4NCAzLjgwMzYsMzYwLjQxNTQgNC42Mzg2LDM2MC41MTE0IEM1LjQ2MDYsMzYwLjYxMDQgNi4wNDc2LDM2MS4zNTc0IDUuOTQ3NiwzNjIuMTgwNCBDNS43MDk2LDM2NC4xNTQ0IDUuNDg1NiwzNjYuMTM1NCA1LjI3NjYsMzY4LjExODQgQzUuMTk0NiwzNjguODg4NCA0LjU0NDYsMzY5LjQ2MTQgMy43ODY2LDM2OS40NjE0IEwzLjc4NjYsMzY5LjQ2MTQgWiBNODE5LjY5MzYsMzc0LjI5MzQgQzgxOC45Mjg2LDM3NC4yOTM0IDgxOC4yNzQ2LDM3My43MTA0IDgxOC4yMDI2LDM3Mi45MzI0IEM4MTguMDE2NiwzNzAuOTQ1NCA4MTcuODE1NiwzNjguOTY0NCA4MTcuNjAyNiwzNjYuOTg1NCBDODE3LjUxMzYsMzY2LjE2MjQgODE4LjEwNzYsMzY1LjQyMjQgODE4LjkzMjYsMzY1LjMzMzQgQzgxOS43NjA2LDM2NS4yNDc0IDgyMC40OTU2LDM2NS44NDA0IDgyMC41ODQ2LDM2Ni42NjM0IEM4MjAuODAwNiwzNjguNjU1NCA4MjEuMDAyNiwzNzAuNjUyNCA4MjEuMTg4NiwzNzIuNjUzNCBDODIxLjI2NjYsMzczLjQ3ODQgODIwLjY2MDYsMzc0LjIwOTQgODE5LjgzNTYsMzc0LjI4NjQgQzgxOS43ODc2LDM3NC4yOTE0IDgxOS43NDA2LDM3NC4yOTM0IDgxOS42OTM2LDM3NC4yOTM0IEw4MTkuNjkzNiwzNzQuMjkzNCBaIE0yLjcwMDYsMzgxLjQwOTQgQzIuNjYxNiwzODEuNDA5NCAyLjYyMzYsMzgxLjQwODQgMi41ODQ2LDM4MS40MDU0IEMxLjc1ODYsMzgxLjM0MjQgMS4xNDA2LDM4MC42MjE0IDEuMjAyNiwzNzkuNzk1NCBDMS4zNTU2LDM3Ny43OTE0IDEuNTIyNiwzNzUuNzkwNCAxLjcwMzYsMzczLjc5NTQgQzEuNzc4NiwzNzIuOTY5NCAyLjUxNDYsMzcyLjM1OTQgMy4zMzM2LDM3Mi40MzY0IEM0LjE1ODYsMzcyLjUxMjQgNC43NjY2LDM3My4yNDE0IDQuNjkxNiwzNzQuMDY2NCBDNC41MTE2LDM3Ni4wNDg0IDQuMzQ2NiwzNzguMDMzNCA0LjE5NDYsMzgwLjAyMzQgQzQuMTM0NiwzODAuODEwNCAzLjQ3NzYsMzgxLjQwOTQgMi43MDA2LDM4MS40MDk0IEwyLjcwMDYsMzgxLjQwOTQgWiBNODIwLjY0MDYsMzg2LjI1NDQgQzgxOS44NTQ2LDM4Ni4yNTQ0IDgxOS4xOTU2LDM4NS42NDQ0IDgxOS4xNDQ2LDM4NC44NTA0IEM4MTkuMDE2NiwzODIuODU5NCA4MTguODczNiwzODAuODcyNCA4MTguNzE3NiwzNzguODg4NCBDODE4LjY1MTYsMzc4LjA2MjQgODE5LjI2ODYsMzc3LjM0MTQgODIwLjA5NDYsMzc3LjI3NTQgQzgyMC45MDU2LDM3Ny4yMDc0IDgyMS42NDM2LDM3Ny44MjU0IDgyMS43MDc2LDM3OC42NTI0IEM4MjEuODY1NiwzODAuNjQ5NCA4MjIuMDA4NiwzODIuNjUyNCA4MjIuMTM4NiwzODQuNjU3NCBDODIyLjE5MDYsMzg1LjQ4NDQgODIxLjU2MzYsMzg2LjE5NzQgODIwLjczNzYsMzg2LjI1MTQgQzgyMC43MDQ2LDM4Ni4yNTM0IDgyMC42NzI2LDM4Ni4yNTQ0IDgyMC42NDA2LDM4Ni4yNTQ0IEw4MjAuNjQwNiwzODYuMjU0NCBaIE0xLjk2MTYsMzkzLjM4NTQgQzEuOTM3NiwzOTMuMzg1NCAxLjkxNDYsMzkzLjM4NTQgMS44OTA2LDM5My4zODM0IEMxLjA2MjYsMzkzLjM0NTQgMC40MjM2LDM5Mi42NDE0IDAuNDYyNiwzOTEuODE0NCBDMC41NTY2LDM4OS44MDY0IDAuNjY0NiwzODcuODAyNCAwLjc4ODYsMzg1LjgwMjQgQzAuODM4NiwzODQuOTc1NCAxLjUzNzYsMzg0LjM0NTQgMi4zNzg2LDM4NC4zOTc0IEMzLjIwNDYsMzg0LjQ0ODQgMy44MzM2LDM4NS4xNjA0IDMuNzgyNiwzODUuOTg3NCBDMy42NjA2LDM4Ny45NzE0IDMuNTUyNiwzODkuOTYxNCAzLjQ1ODYsMzkxLjk1NTQgQzMuNDIxNiwzOTIuNzU5NCAyLjc1NzYsMzkzLjM4NTQgMS45NjE2LDM5My4zODU0IEwxLjk2MTYsMzkzLjM4NTQgWiBNODIxLjIzNjYsMzk4LjIzNzQgQzgyMC40MzM2LDM5OC4yMzc0IDgxOS43Njc2LDM5Ny41OTk0IDgxOS43Mzg2LDM5Ni43OTA0IEM4MTkuNjY4NiwzOTQuNzk1NCA4MTkuNTg0NiwzOTIuODA1NCA4MTkuNDg0NiwzOTAuODE4NCBDODE5LjQ0MzYsMzg5Ljk5MDQgODIwLjA4MDYsMzg5LjI4NjQgODIwLjkwNzYsMzg5LjI0NTQgQzgyMS43MjY2LDM4OS4yMDk0IDgyMi40Mzk2LDM4OS44NDE0IDgyMi40ODA2LDM5MC42Njg0IEM4MjIuNTgxNiwzOTIuNjcwNCA4MjIuNjY2NiwzOTQuNjc1NCA4MjIuNzM2NiwzOTYuNjg0NCBDODIyLjc2NjYsMzk3LjUxMzQgODIyLjExODYsMzk4LjIwNzQgODIxLjI5MDYsMzk4LjIzNjQgQzgyMS4yNzI2LDM5OC4yMzc0IDgyMS4yNTQ2LDM5OC4yMzc0IDgyMS4yMzY2LDM5OC4yMzc0IEw4MjEuMjM2NiwzOTguMjM3NCBaIE0xLjU2OTYsNDA1LjM3NjQgTDEuNTQxNiw0MDUuMzc2NCBDMC43MTM2LDQwNS4zNjA0IDAuMDU0Niw0MDQuNjc3NCAwLjA2ODYsNDAzLjg0ODQgQzAuMTA0Niw0MDEuODM5NCAwLjE1NjYsMzk5LjgzMjQgMC4yMjI2LDM5Ny44MzA0IEMwLjI0OTYsMzk3LjAwMjQgMC45NjM2LDM5Ni4zNTE0IDEuNzcwNiwzOTYuMzgwNCBDMi41OTg2LDM5Ni40MDc0IDMuMjQ3NiwzOTcuMDk5NCAzLjIyMDYsMzk3LjkyODQgQzMuMTU0NiwzOTkuOTE2NCAzLjEwNDYsNDAxLjkwNzQgMy4wNjg2LDQwMy45MDM0IEMzLjA1NDYsNDA0LjcyMTQgMi4zODU2LDQwNS4zNzY0IDEuNTY5Niw0MDUuMzc2NCBMMS41Njk2LDQwNS4zNzY0IFogTTEuNTIxNiw0MTcuMzc0NCBDMC43MDA2LDQxNy4zNzQ0IDAuMDMwNiw0MTYuNzEzNCAwLjAyMTYsNDE1Ljg5MDQgQzAuMDA2Niw0MTQuNDI5NCAtMC4wMDE0LDQxMi45NjU0IC0wLjAwMDQsNDExLjQ5OTQgTDAuMDAyNiw0MDkuODY4NCBDMC4wMDU2LDQwOS4wNDI0IDAuNjc2Niw0MDguMzc0NCAxLjUwMjYsNDA4LjM3NDQgTDEuNTA4Niw0MDguMzc0NCBDMi4zMzY2LDQwOC4zNzc0IDMuMDA1Niw0MDkuMDUxNCAzLjAwMjYsNDA5Ljg3OTQgTDIuOTk5Niw0MTEuNTAwNCBDMi45OTg2LDQxMi45NTU0IDMuMDA2Niw0MTQuNDA3NCAzLjAyMTYsNDE1Ljg1ODQgQzMuMDMwNiw0MTYuNjg2NCAyLjM2NjYsNDE3LjM2NTQgMS41Mzc2LDQxNy4zNzQ0IEwxLjUyMTYsNDE3LjM3NDQgWiBNODIxLjQ1NzYsNDE4Ljk5OTQgTDgyMS40MzU2LDQxOC45OTk0IEM4MjAuNjA2Niw0MTguOTg3NCA4MTkuOTQ0Niw0MTguMzA1NCA4MTkuOTU2Niw0MTcuNDc3NCBDODE5Ljk4NDYsNDE1LjQ4ODQgODE5Ljk5OTYsNDEzLjQ5NjQgODE5Ljk5OTYsNDExLjUwMDQgQzgxOS45OTk2LDQxMC44NzE0IDgyMC4zODY2LDQxMC4zMzM0IDgyMC45MzU2LDQxMC4xMDk0IEM4MjAuMzg1Niw0MDkuODkwNCA4MTkuOTk0Niw0MDkuMzU0NCA4MTkuOTkwNiw0MDguNzI1NCBDODE5Ljk3NzYsNDA2LjczMTQgODE5Ljk0OTYsNDA0Ljc0MDQgODE5LjkwNzYsNDAyLjc1MjQgQzgxOS44OTA2LDQwMS45MjQ0IDgyMC41NDg2LDQwMS4yMzg0IDgyMS4zNzY2LDQwMS4yMjE0IEM4MjIuMTg3Niw0MDEuMTkwNCA4MjIuODg5Niw0MDEuODYxNCA4MjIuOTA3Niw0MDIuNjg5NCBDODIyLjk0OTYsNDA0LjY5MTQgODIyLjk3NzYsNDA2LjY5NjQgODIyLjk5MDYsNDA4LjcwNjQgQzgyMi45OTQ2LDQwOS4zMzg0IDgyMi42MDY2LDQwOS44ODI0IDgyMi4wNTU2LDQxMC4xMDY0IEM4MjIuNjA3Niw0MTAuMzI3NCA4MjIuOTk5Niw0MTAuODY4NCA4MjIuOTk5Niw0MTEuNTAwNCBDODIyLjk5OTYsNDEzLjUxMDQgODIyLjk4NDYsNDE1LjUxNzQgODIyLjk1NjYsNDE3LjUyMDQgQzgyMi45NDQ2LDQxOC4zNDI0IDgyMi4yNzU2LDQxOC45OTk0IDgyMS40NTc2LDQxOC45OTk0IEw4MjEuNDU3Niw0MTguOTk5NCBaIE0xLjgxODYsNDI5LjM0NjQgQzEuMDE3Niw0MjkuMzQ2NCAwLjM1MzYsNDI4LjcxMjQgMC4zMjA2LDQyNy45MDQ0IEMwLjI0MjYsNDI1LjkwODQgMC4xNzk2LDQyMy45MDg0IDAuMTI4Niw0MjEuOTAzNCBDMC4xMDc2LDQyMS4wNzU0IDAuNzYzNiw0MjAuMzg4NCAxLjU5MTYsNDIwLjM2NzQgQzIuNDAxNiw0MjAuMjk5NCAzLjEwNzYsNDIxLjAwMTQgMy4xMjg2LDQyMS44Mjk0IEMzLjE3NzYsNDIzLjgxODQgMy4yNDA2LDQyNS44MDU0IDMuMzE4Niw0MjcuNzg3NCBDMy4zNTE2LDQyOC42MTQ0IDIuNzA2Niw0MjkuMzEyNCAxLjg3ODYsNDI5LjM0NTQgQzEuODU4Niw0MjkuMzQ2NCAxLjgzODYsNDI5LjM0NjQgMS44MTg2LDQyOS4zNDY0IEwxLjgxODYsNDI5LjM0NjQgWiBNODIxLjExMjYsNDMwLjk5MjQgQzgyMS4wOTE2LDQzMC45OTI0IDgyMS4wNjg2LDQzMC45OTI0IDgyMS4wNDc2LDQzMC45OTE0IEM4MjAuMjE5Niw0MzAuOTU1NCA4MTkuNTc3Niw0MzAuMjU1NCA4MTkuNjEyNiw0MjkuNDI4NCBDODE5LjY5ODYsNDI3LjQzOTQgODE5Ljc3MDYsNDI1LjQ0ODQgODE5LjgyODYsNDIzLjQ1NDQgQzgxOS44NTI2LDQyMi42MjY0IDgyMC41MzY2LDQyMS45NTk0IDgyMS4zNzA2LDQyMS45OTg0IEM4MjIuMTk4Niw0MjIuMDIxNCA4MjIuODUxNiw0MjIuNzEyNCA4MjIuODI2Niw0MjMuNTQwNCBDODIyLjc2OTYsNDI1LjU0OTQgODIyLjY5NjYsNDI3LjU1NTQgODIyLjYxMDYsNDI5LjU1NjQgQzgyMi41NzU2LDQzMC4zNjI0IDgyMS45MTE2LDQzMC45OTI0IDgyMS4xMTI2LDQzMC45OTI0IEw4MjEuMTEyNiw0MzAuOTkyNCBaIE0yLjQ2MTYsNDQxLjMyNjQgQzEuNjgwNiw0NDEuMzI2NCAxLjAyMDYsNDQwLjcyMDQgMC45Njc2LDQzOS45Mjg0IEMwLjgzMDYsNDM3LjkyOTQgMC43MDg2LDQzNS45MjY0IDAuNjAwNiw0MzMuOTE4NCBDMC41NTY2LDQzMy4wOTE0IDEuMTkwNiw0MzIuMzg1NCAyLjAxODYsNDMyLjM0MDQgQzIuODc5Niw0MzIuMzEyNCAzLjU1MTYsNDMyLjkzMTQgMy41OTY2LDQzMy43NTg0IEMzLjcwMjYsNDM1Ljc1MDQgMy44MjQ2LDQzNy43Mzk0IDMuOTU5Niw0MzkuNzI0NCBDNC4wMTY2LDQ0MC41NTE0IDMuMzkyNiw0NDEuMjY2NCAyLjU2NDYsNDQxLjMyMjQgQzIuNTMwNiw0NDEuMzI1NCAyLjQ5NjYsNDQxLjMyNjQgMi40NjE2LDQ0MS4zMjY0IEwyLjQ2MTYsNDQxLjMyNjQgWiBNODIwLjQyMjYsNDQyLjk3MTQgQzgyMC4zODY2LDQ0Mi45NzE0IDgyMC4zNDk2LDQ0Mi45NzA0IDgyMC4zMTI2LDQ0Mi45Njc0IEM4MTkuNDg1Niw0NDIuOTA3NCA4MTguODY0Niw0NDIuMTg5NCA4MTguOTI0Niw0NDEuMzYzNCBDODE5LjA2NjYsNDM5LjM3ODQgODE5LjE5NjYsNDM3LjM4OTQgODE5LjMxMTYsNDM1LjM5ODQgQzgxOS4zNTk2LDQzNC41NzI0IDgyMC4wNjE2LDQzMy45MzA0IDgyMC44OTQ2LDQzMy45ODc0IEM4MjEuNzIyNiw0MzQuMDM0NCA4MjIuMzUzNiw0MzQuNzQzNCA4MjIuMzA2Niw0MzUuNTcwNCBDODIyLjE5MDYsNDM3LjU3NzQgODIyLjA2MTYsNDM5LjU3OTQgODIxLjkxNjYsNDQxLjU3ODQgQzgyMS44NTk2LDQ0Mi4zNjg0IDgyMS4yMDE2LDQ0Mi45NzE0IDgyMC40MjI2LDQ0Mi45NzE0IEw4MjAuNDIyNiw0NDIuOTcxNCBaIE0zLjQ1MTYsNDUzLjI4NDQgQzIuNjg4Niw0NTMuMjg0NCAyLjAzNTYsNDUyLjcwNDQgMS45NjA2LDQ1MS45MzA0IEMxLjc2NzYsNDQ5LjkzNDQgMS41ODY2LDQ0Ny45MzY0IDEuNDIwNiw0NDUuOTMzNCBDMS4zNTI2LDQ0NS4xMDc0IDEuOTY2Niw0NDQuMzgzNCAyLjc5MTYsNDQ0LjMxNDQgQzMuNjIwNiw0NDQuMjU2NCA0LjM0MTYsNDQ0Ljg2MDQgNC40MTA2LDQ0NS42ODU0IEM0LjU3NDYsNDQ3LjY3NTQgNC43NTQ2LDQ0OS42NTk0IDQuOTQ2Niw0NTEuNjM4NCBDNS4wMjY2LDQ1Mi40NjQ0IDQuNDIzNiw0NTMuMTk3NCAzLjU5OTYsNDUzLjI3NzQgQzMuNTQ5Niw0NTMuMjgyNCAzLjUwMDYsNDUzLjI4NDQgMy40NTE2LDQ1My4yODQ0IEwzLjQ1MTYsNDUzLjI4NDQgWiBNODE5LjM4NDYsNDU0LjkyMjQgQzgxOS4zMzM2LDQ1NC45MjI0IDgxOS4yODE2LDQ1NC45MTk0IDgxOS4yMjk2LDQ1NC45MTQ0IEM4MTguNDA2Niw0NTQuODMwNCA4MTcuODA2Niw0NTQuMDk0NCA4MTcuODkwNiw0NTMuMjcwNCBDODE4LjA5MTYsNDUxLjI5MTQgODE4LjI3NzYsNDQ5LjMwNzQgODE4LjQ1MDYsNDQ3LjMxOTQgQzgxOC41MjE2LDQ0Ni40OTQ0IDgxOS4yNDM2LDQ0NS44ODQ0IDgyMC4wNzQ2LDQ0NS45NTU0IEM4MjAuODk5Niw0NDYuMDI2NCA4MjEuNTEwNiw0NDYuNzUzNCA4MjEuNDM4Niw0NDcuNTc5NCBDODIxLjI2NjYsNDQ5LjU4MTQgODIxLjA3NzYsNDUxLjU4MDQgODIwLjg3NDYsNDUzLjU3MzQgQzgyMC43OTY2LDQ1NC4zNDY0IDgyMC4xNDQ2LDQ1NC45MjI0IDgxOS4zODQ2LDQ1NC45MjI0IEw4MTkuMzg0Niw0NTQuOTIyNCBaIE00Ljc5MDYsNDY1LjIwNjQgQzQuMDQ2Niw0NjUuMjA2NCAzLjQwMDYsNDY0LjY1MzQgMy4zMDQ2LDQ2My44OTU0IEMzLjA1MTYsNDYxLjkwNjQgMi44MTI2LDQ1OS45MTQ0IDIuNTg5Niw0NTcuOTE2NCBDMi40OTY2LDQ1Ny4wOTQ0IDMuMDg4Niw0NTYuMzUwNCAzLjkxMTYsNDU2LjI1OTQgQzQuNzQzNiw0NTYuMTU5NCA1LjQ3ODYsNDU2Ljc1OTQgNS41Njk2LDQ1Ny41ODE0IEM1Ljc5MzYsNDU5LjU2NDQgNi4wMjk2LDQ2MS41NDM0IDYuMjgwNiw0NjMuNTE2NCBDNi4zODU2LDQ2NC4zMzk0IDUuODAzNiw0NjUuMDkwNCA0Ljk4MTYsNDY1LjE5NDQgQzQuOTE3Niw0NjUuMjAyNCA0Ljg1NDYsNDY1LjIwNjQgNC43OTA2LDQ2NS4yMDY0IEw0Ljc5MDYsNDY1LjIwNjQgWiBNODE3Ljk5NzYsNDY2Ljg0MDQgQzgxNy45MzI2LDQ2Ni44NDA0IDgxNy44NjY2LDQ2Ni44MzY0IDgxNy44MDA2LDQ2Ni44Mjc0IEM4MTYuOTc3Niw0NjYuNzE5NCA4MTYuMzk5Niw0NjUuOTY2NCA4MTYuNTA4Niw0NjUuMTQ0NCBDODE2Ljc2ODYsNDYzLjE3MTQgODE3LjAxMjYsNDYxLjE5NDQgODE3LjI0MjYsNDU5LjIxMjQgQzgxNy4zMzg2LDQ1OC4zODk0IDgxOC4wNzI2LDQ1Ny44MDU0IDgxOC45MDY2LDQ1Ny44OTU0IEM4MTkuNzI4Niw0NTcuOTkxNCA4MjAuMzE4Niw0NTguNzM2NCA4MjAuMjIzNiw0NTkuNTU4NCBDODE5Ljk5MDYsNDYxLjU1NTQgODE5Ljc0NDYsNDYzLjU0ODQgODE5LjQ4MjYsNDY1LjUzNTQgQzgxOS4zODM2LDQ2Ni4yOTA0IDgxOC43Mzg2LDQ2Ni44NDA0IDgxNy45OTc2LDQ2Ni44NDA0IEw4MTcuOTk3Niw0NjYuODQwNCBaIE02LjQ3NjYsNDc3LjA4NTQgQzUuNzUwNiw0NzcuMDg1NCA1LjExMTYsNDc2LjU1NzQgNC45OTY2LDQ3NS44MTc0IEM0LjY4NTYsNDczLjgzODQgNC4zODg2LDQ3MS44NTI0IDQuMTA1Niw0NjkuODYzNCBDMy45ODk2LDQ2OS4wNDM0IDQuNTYwNiw0NjguMjgzNCA1LjM4MDYsNDY4LjE2NzQgQzYuMTk0Niw0NjguMDQ5NCA2Ljk1OTYsNDY4LjYyMTQgNy4wNzY2LDQ2OS40NDE0IEM3LjM1NjYsNDcxLjQxNzQgNy42NTE2LDQ3My4zODc0IDcuOTU5Niw0NzUuMzUyNCBDOC4wODg2LDQ3Ni4xNzE0IDcuNTI4Niw0NzYuOTM4NCA2LjcxMDYsNDc3LjA2NjQgQzYuNjMyNiw0NzcuMDc5NCA2LjU1MzYsNDc3LjA4NTQgNi40NzY2LDQ3Ny4wODU0IEw2LjQ3NjYsNDc3LjA4NTQgWiBNODE2LjI2MzYsNDc4LjcxMjQgQzgxNi4xODQ2LDQ3OC43MTI0IDgxNi4xMDI2LDQ3OC43MDY0IDgxNi4wMjE2LDQ3OC42OTI0IEM4MTUuMjA0Niw0NzguNTYwNCA4MTQuNjQ3Niw0NzcuNzkxNCA4MTQuNzgwNiw0NzYuOTcyNCBDODE1LjA5NzYsNDc1LjAwOTQgODE1LjM5OTYsNDczLjA0MDQgODE1LjY4NzYsNDcxLjA2NTQgQzgxNS44MDg2LDQ3MC4yNDY0IDgxNi41Nzg2LDQ2OS42ODI0IDgxNy4zODk2LDQ2OS43OTg0IEM4MTguMjA4Niw0NjkuOTE4NCA4MTguNzc1Niw0NzAuNjc5NCA4MTguNjU2Niw0NzEuNDk5NCBDODE4LjM2NjYsNDczLjQ4NzQgODE4LjA2MTYsNDc1LjQ3MTQgODE3Ljc0MTYsNDc3LjQ1MTQgQzgxNy42MjI2LDQ3OC4xODc0IDgxNi45ODU2LDQ3OC43MTI0IDgxNi4yNjM2LDQ3OC43MTI0IEw4MTYuMjYzNiw0NzguNzEyNCBaIE04LjUxMTYsNDg4LjkwOTQgQzcuODAzNiw0ODguOTA5NCA3LjE3MzYsNDg4LjQwNjQgNy4wMzg2LDQ4Ny42ODQ0IEM2LjY3MDYsNDg1LjcxNTQgNi4zMTU2LDQ4My43NDA0IDUuOTc0Niw0ODEuNzYwNCBDNS44MzM2LDQ4MC45NDM0IDYuMzgxNiw0ODAuMTY3NCA3LjE5NzYsNDgwLjAyNjQgQzguMDEwNiw0NzkuODg4NCA4Ljc5MDYsNDgwLjQzNDQgOC45MzE2LDQ4MS4yNTA0IEM5LjI2OTYsNDgzLjIxNzQgOS42MjE2LDQ4NS4xNzg0IDkuOTg3Niw0ODcuMTM0NCBDMTAuMTQwNiw0ODcuOTQ3NCA5LjYwMzYsNDg4LjczMTQgOC43ODg2LDQ4OC44ODQ0IEM4LjY5NTYsNDg4LjkwMTQgOC42MDM2LDQ4OC45MDk0IDguNTExNiw0ODguOTA5NCBMOC41MTE2LDQ4OC45MDk0IFogTTgxNC4xODI2LDQ5MC41Mjc0IEM4MTQuMDg4Niw0OTAuNTI3NCA4MTMuOTkzNiw0OTAuNTE4NCA4MTMuODk4Niw0OTAuNTAxNCBDODEzLjA4NDYsNDkwLjM0NTQgODEyLjU1MTYsNDg5LjU1OTQgODEyLjcwNjYsNDg4Ljc0NjQgQzgxMy4wODA2LDQ4Ni43OTE0IDgxMy40NDA2LDQ4NC44MzE0IDgxMy43ODY2LDQ4Mi44NjY0IEM4MTMuOTMxNiw0ODIuMDUwNCA4MTQuNzE3Niw0ODEuNTA3NCA4MTUuNTI0Niw0ODEuNjQ5NCBDODE2LjM0MDYsNDgxLjc5NDQgODE2Ljg4NTYsNDgyLjU3MTQgODE2Ljc0MTYsNDgzLjM4ODQgQzgxNi4zOTI2LDQ4NS4zNjY0IDgxNi4wMjk2LDQ4Ny4zNDA0IDgxNS42NTM2LDQ4OS4zMDg0IEM4MTUuNTE2Niw0OTAuMDI3NCA4MTQuODg3Niw0OTAuNTI3NCA4MTQuMTgyNiw0OTAuNTI3NCBMODE0LjE4MjYsNDkwLjUyNzQgWiBNMTAuODkyNiw1MDAuNjY4NCBDMTAuMjAxNiw1MDAuNjY4NCA5LjU4MDYsNTAwLjE4OTQgOS40Mjc2LDQ5OS40ODc0IEM5LjAwMTYsNDk3LjUyNzQgOC41ODg2LDQ5NS41NjM0IDguMTg5Niw0OTMuNTk1NCBDOC4wMjQ2LDQ5Mi43ODM0IDguNTUwNiw0OTEuOTkxNCA5LjM2MTYsNDkxLjgyNzQgQzEwLjE2NDYsNDkxLjY2MTQgMTAuOTY1Niw0OTIuMTg2NCAxMS4xMjk2LDQ5Mi45OTk0IEMxMS41MjU2LDQ5NC45NTQ0IDExLjkzNTYsNDk2LjkwNDQgMTIuMzU4Niw0OTguODQ4NCBDMTIuNTM0Niw0OTkuNjU4NCAxMi4wMjE2LDUwMC40NTc0IDExLjIxMjYsNTAwLjYzNDQgQzExLjEwNDYsNTAwLjY1NzQgMTAuOTk3Niw1MDAuNjY4NCAxMC44OTI2LDUwMC42Njg0IEwxMC44OTI2LDUwMC42Njg0IFogTTgxMS43NTI2LDUwMi4yNzg0IEM4MTEuNjQ0Niw1MDIuMjc4NCA4MTEuNTM1Niw1MDIuMjY2NCA4MTEuNDI2Niw1MDIuMjQyNCBDODEwLjYxNjYsNTAyLjA2MjQgODEwLjEwNjYsNTAxLjI2MjQgODEwLjI4NzYsNTAwLjQ1MzQgQzgxMC43MTk2LDQ5OC41MTA0IDgxMS4xMzY2LDQ5Ni41NjI0IDgxMS41NDA2LDQ5NC42MDg0IEM4MTEuNzA3Niw0OTMuNzk3NCA4MTIuNTAzNiw0OTMuMjczNCA4MTMuMzEyNiw0OTMuNDQzNCBDODE0LjEyNDYsNDkzLjYxMDQgODE0LjY0NTYsNDk0LjQwNDQgODE0LjQ3NzYsNDk1LjIxNjQgQzgxNC4wNzE2LDQ5Ny4xODM0IDgxMy42NTA2LDQ5OS4xNDY0IDgxMy4yMTU2LDUwMS4xMDM0IEM4MTMuMDYwNiw1MDEuODAzNCA4MTIuNDM5Niw1MDIuMjc4NCA4MTEuNzUyNiw1MDIuMjc4NCBMODExLjc1MjYsNTAyLjI3ODQgWiBNMTMuNjE4Niw1MTIuMzUyNCBDMTIuOTQ1Niw1MTIuMzUyNCAxMi4zMzM2LDUxMS44OTc0IDEyLjE2NDYsNTExLjIxNTQgQzExLjY4MDYsNTA5LjI2OTQgMTEuMjA5Niw1MDcuMzE3NCAxMC43NTI2LDUwNS4zNjE0IEMxMC41NjM2LDUwNC41NTU0IDExLjA2NTYsNTAzLjc0ODQgMTEuODcyNiw1MDMuNTU5NCBDMTIuNjgyNiw1MDMuMzc0NCAxMy40ODQ2LDUwMy44NzM0IDEzLjY3NDYsNTA0LjY4MDQgQzE0LjEyNzYsNTA2LjYyMjQgMTQuNTk0Niw1MDguNTU4NCAxNS4wNzQ2LDUxMC40OTA0IEMxNS4yNzQ2LDUxMS4yOTQ0IDE0Ljc4NTYsNTEyLjEwODQgMTMuOTgxNiw1MTIuMzA4NCBDMTMuODU5Niw1MTIuMzM5NCAxMy43Mzg2LDUxMi4zNTI0IDEzLjYxODYsNTEyLjM1MjQgTDEzLjYxODYsNTEyLjM1MjQgWiBNODA4Ljk3ODYsNTEzLjk1MDQgQzgwOC44NTY2LDUxMy45NTA0IDgwOC43MzM2LDUxMy45MzU0IDgwOC42MDk2LDUxMy45MDQ0IEM4MDcuODA3Niw1MTMuNzAxNCA4MDcuMzIwNiw1MTIuODg1NCA4MDcuNTIzNiw1MTIuMDgyNCBDODA4LjAxMjYsNTEwLjE1MjQgODA4LjQ4NjYsNTA4LjIxNzQgODA4Ljk0ODYsNTA2LjI3NzQgQzgwOS4xNDA2LDUwNS40NzE0IDgwOS45NDI2LDUwNC45NjY0IDgxMC43NTQ2LDUwNS4xNjU0IEM4MTEuNTYxNiw1MDUuMzU2NCA4MTIuMDU5Niw1MDYuMTY1NCA4MTEuODY2Niw1MDYuOTcxNCBDODExLjQwMjYsNTA4LjkyNTQgODEwLjkyNDYsNTEwLjg3NTQgODEwLjQzMjYsNTEyLjgxODQgQzgxMC4yNjA2LDUxMy40OTg0IDgwOS42NDk2LDUxMy45NTA0IDgwOC45Nzg2LDUxMy45NTA0IEw4MDguOTc4Niw1MTMuOTUwNCBaIE0xNi42ODc2LDUyMy45NTE0IEMxNi4wMzI2LDUyMy45NTE0IDE1LjQzMDYsNTIzLjUxODQgMTUuMjQ0Niw1MjIuODU1NCBDMTQuNzAzNiw1MjAuOTI1NCAxNC4xNzY2LDUxOC45ODg0IDEzLjY2MTYsNTE3LjA0NjQgQzEzLjQ0OTYsNTE2LjI0NTQgMTMuOTI3Niw1MTUuNDI0NCAxNC43Mjg2LDUxNS4yMTI0IEMxNS41Mjc2LDUxNS4wMDA0IDE2LjM1MDYsNTE1LjQ3NzQgMTYuNTYyNiw1MTYuMjc4NCBDMTcuMDcyNiw1MTguMjA3NCAxNy41OTY2LDUyMC4xMzA0IDE4LjEzMzYsNTIyLjA0NzQgQzE4LjM1NjYsNTIyLjg0NDQgMTcuODkxNiw1MjMuNjcyNCAxNy4wOTM2LDUyMy44OTU0IEMxNi45NTg2LDUyMy45MzM0IDE2LjgyMTYsNTIzLjk1MTQgMTYuNjg3Niw1MjMuOTUxNCBMMTYuNjg3Niw1MjMuOTUxNCBaIE04MDUuODYzNiw1MjUuNTM4NCBDODA1LjcyNzYsNTI1LjUzODQgODA1LjU4OTYsNTI1LjUxOTQgODA1LjQ1MTYsNTI1LjQ4MDQgQzgwNC42NTQ2LDUyNS4yNTQ0IDgwNC4xOTI2LDUyNC40MjQ0IDgwNC40MjA2LDUyMy42Mjc0IEM4MDQuOTY2Niw1MjEuNzEyNCA4MDUuNDk3Niw1MTkuNzkyNCA4MDYuMDE1Niw1MTcuODY2NCBDODA2LjIzMDYsNTE3LjA2NzQgODA3LjA1MzYsNTE2LjU5MzQgODA3Ljg1MjYsNTE2LjgwNzQgQzgwOC42NTI2LDUxNy4wMjI0IDgwOS4xMjc2LDUxNy44NDY0IDgwOC45MTE2LDUxOC42NDU0IEM4MDguMzkwNiw1MjAuNTg1NCA4MDcuODU0Niw1MjIuNTIwNCA4MDcuMzA1Niw1MjQuNDQ5NCBDODA3LjExNzYsNTI1LjEwODQgODA2LjUxNzYsNTI1LjUzODQgODA1Ljg2MzYsNTI1LjUzODQgTDgwNS44NjM2LDUyNS41Mzg0IFogTTIwLjA5OTYsNTM1LjQ1NDQgQzE5LjQ1OTYsNTM1LjQ1NDQgMTguODY3Niw1MzUuMDQzNCAxOC42Njc2LDUzNC40MDE0IEMxOC4wNjk2LDUzMi40ODc0IDE3LjQ4NTYsNTMwLjU2NzQgMTYuOTEzNiw1MjguNjQxNCBDMTYuNjc4Niw1MjcuODQ3NCAxNy4xMzE2LDUyNy4wMTM0IDE3LjkyNTYsNTI2Ljc3NjQgQzE4LjcyMDYsNTI2LjU0NTQgMTkuNTU1Niw1MjYuOTk0NCAxOS43OTA2LDUyNy43ODg0IEMyMC4zNTY2LDUyOS43MDA0IDIwLjkzNzYsNTMxLjYwNjQgMjEuNTMwNiw1MzMuNTA3NCBDMjEuNzc3Niw1MzQuMjk4NCAyMS4zMzc2LDUzNS4xMzk0IDIwLjU0NjYsNTM1LjM4NjQgQzIwLjM5NzYsNTM1LjQzMjQgMjAuMjQ2Niw1MzUuNDU0NCAyMC4wOTk2LDUzNS40NTQ0IEwyMC4wOTk2LDUzNS40NTQ0IFogTTgwMi4zOTc2LDUzNy4wNTI0IEM4MDIuMjQ4Niw1MzcuMDUyNCA4MDIuMDk1Niw1MzcuMDI5NCA4MDEuOTQ0Niw1MzYuOTgxNCBDODAxLjE1NDYsNTM2LjczMTQgODAwLjcxNzYsNTM1Ljg4ODQgODAwLjk2ODYsNTM1LjA5ODQgQzgwMS41NzI2LDUzMy4xOTI0IDgwMi4xNjI2LDUzMS4yODA0IDgwMi43Mzk2LDUyOS4zNjI0IEM4MDIuOTc4Niw1MjguNTY5NCA4MDMuODE0Niw1MjguMTIyNCA4MDQuNjA4Niw1MjguMzU4NCBDODA1LjQwMTYsNTI4LjU5NzQgODA1Ljg1MTYsNTI5LjQzMzQgODA1LjYxMjYsNTMwLjIyNjQgQzgwNS4wMzE2LDUzMi4xNTk0IDgwNC40MzY2LDUzNC4wODU0IDgwMy44Mjc2LDUzNi4wMDU0IEM4MDMuNjI1Niw1MzYuNjQzNCA4MDMuMDM0Niw1MzcuMDUyNCA4MDIuMzk3Niw1MzcuMDUyNCBMODAyLjM5NzYsNTM3LjA1MjQgWiBNMjMuODQ2Niw1NDYuODUxNCBDMjMuMjI0Niw1NDYuODUxNCAyMi42NDM2LDU0Ni40NjI0IDIyLjQyODYsNTQ1Ljg0MTQgQzIxLjc3MzYsNTQzLjk0NTQgMjEuMTMyNiw1NDIuMDQ0NCAyMC41MDU2LDU0MC4xMzY0IEMyMC4yNDY2LDUzOS4zNDg0IDIwLjY3NDYsNTM4LjUwMTQgMjEuNDYxNiw1MzguMjQyNCBDMjIuMjUyNiw1MzcuOTgwNCAyMy4wOTc2LDUzOC40MTI0IDIzLjM1NDYsNTM5LjE5ODQgQzIzLjk3ODYsNTQxLjA5MzQgMjQuNjEzNiw1NDIuOTgwNCAyNS4yNjQ2LDU0NC44NjI0IEMyNS41MzQ2LDU0NS42NDQ0IDI1LjExODYsNTQ2LjQ5OTQgMjQuMzM1Niw1NDYuNzY5NCBDMjQuMTczNiw1NDYuODI1NCAyNC4wMDg2LDU0Ni44NTE0IDIzLjg0NjYsNTQ2Ljg1MTQgTDIzLjg0NjYsNTQ2Ljg1MTQgWiBNNzk4LjU4NzYsNTQ4LjQ3ODQgQzc5OC40MjM2LDU0OC40Nzg0IDc5OC4yNTY2LDU0OC40NTI0IDc5OC4wOTI2LDU0OC4zOTQ0IEM3OTcuMzEwNiw1NDguMTIxNCA3OTYuODk3Niw1NDcuMjY1NCA3OTcuMTcxNiw1NDYuNDgzNCBDNzk3LjgzMTYsNTQ0LjU5NzQgNzk4LjQ3NzYsNTQyLjcwNDQgNzk5LjExMTYsNTQwLjgwNTQgQzc5OS4zNzQ2LDU0MC4wMTg0IDgwMC4yMjM2LDUzOS41OTE0IDgwMS4wMDk2LDUzOS44NTY0IEM4MDEuNzk1Niw1NDAuMTE4NCA4MDIuMjIwNiw1NDAuOTY4NCA4MDEuOTU3Niw1NDEuNzU0NCBDODAxLjMxOTYsNTQzLjY2NzQgODAwLjY2NzYsNTQ1LjU3MzQgODAwLjAwMzYsNTQ3LjQ3MzQgQzc5OS43ODc2LDU0OC4wOTI0IDc5OS4yMDc2LDU0OC40Nzg0IDc5OC41ODc2LDU0OC40Nzg0IEw3OTguNTg3Niw1NDguNDc4NCBaIE0yNy45Mjk2LDU1OC4xMzU0IEMyNy4zMjM2LDU1OC4xMzU0IDI2Ljc1MzYsNTU3Ljc2NTQgMjYuNTI2Niw1NTcuMTY2NCBDMjUuODE1Niw1NTUuMjkwNCAyNS4xMTg2LDU1My40MDg0IDI0LjQzNjYsNTUxLjUxOTQgQzI0LjE1MzYsNTUwLjc0MDQgMjQuNTU3Niw1NDkuODgwNCAyNS4zMzY2LDU0OS41OTg0IEMyNi4xMTE2LDU0OS4zMTU0IDI2Ljk3NTYsNTQ5LjcxOTQgMjcuMjU2Niw1NTAuNDk5NCBDMjcuOTM1Niw1NTIuMzczNCAyOC42MjY2LDU1NC4yNDE0IDI5LjMzMTYsNTU2LjEwMzQgQzI5LjYyNTYsNTU2Ljg3ODQgMjkuMjM0Niw1NTcuNzQ0NCAyOC40NjA2LDU1OC4wMzc0IEMyOC4yODU2LDU1OC4xMDM0IDI4LjEwNTYsNTU4LjEzNTQgMjcuOTI5Niw1NTguMTM1NCBMMjcuOTI5Niw1NTguMTM1NCBaIE03OTQuNDQxNTkxLDU1OS43ODQ0IEM3OTQuMjYzNiw1NTkuNzg0NCA3OTQuMDgxNiw1NTkuNzUzNCA3OTMuOTA0Niw1NTkuNjg0NCBDNzkzLjEzMTYsNTU5LjM4ODQgNzkyLjc0NDYsNTU4LjUyMDQgNzkzLjA0MTYsNTU3Ljc0NzQgQzc5My43NTY2LDU1NS44ODI0IDc5NC40NTg2LDU1NC4wMTA0IDc5NS4xNDc2LDU1Mi4xMzE0IEM3OTUuNDMzNiw1NTEuMzUyNCA3OTYuMjkzNiw1NTAuOTU1NCA3OTcuMDcyNiw1NTEuMjM5NCBDNzk3Ljg1MDYsNTUxLjUyNDQgNzk4LjI0OTYsNTUyLjM4NjQgNzk3Ljk2NDYsNTUzLjE2NDQgQzc5Ny4yNzA2LDU1NS4wNTY0IDc5Ni41NjI2LDU1Ni45NDI0IDc5NS44NDI2LDU1OC44MjE0IEM3OTUuNjEzNiw1NTkuNDE4NCA3OTUuMDQ0Niw1NTkuNzg0NCA3OTQuNDQxNTkxLDU1OS43ODQ0IEw3OTQuNDQxNTkxLDU1OS43ODQ0IFogTTMyLjM0MjYsNTY5LjI5MjQgQzMxLjc1MjYsNTY5LjI5MjQgMzEuMTkzNiw1NjguOTQzNCAzMC45NTQ2LDU2OC4zNjQ0IEMzMC4xODg2LDU2Ni41MTA0IDI5LjQzNzYsNTY0LjY0ODQgMjguNjk4Niw1NjIuNzgxNCBDMjguMzk0Niw1NjIuMDEyNCAyOC43NzA2LDU2MS4xMzk0IDI5LjU0MTYsNTYwLjgzNTQgQzMwLjMxMDYsNTYwLjUyOTQgMzEuMTgzNiw1NjAuOTA3NCAzMS40ODc2LDU2MS42Nzg0IEMzMi4yMjE2LDU2My41MzE0IDMyLjk2ODYsNTY1LjM3OTQgMzMuNzI4Niw1NjcuMjIwNCBDMzQuMDQ0Niw1NjcuOTg1NCAzMy42Nzk2LDU2OC44NjI0IDMyLjkxMzYsNTY5LjE3OTQgQzMyLjcyNjYsNTY5LjI1NjQgMzIuNTMyNiw1NjkuMjkyNCAzMi4zNDI2LDU2OS4yOTI0IEwzMi4zNDI2LDU2OS4yOTI0IFogTTc4OS45NjU2LDU3MC45NTg0IEM3ODkuNzcyNiw1NzAuOTU4NCA3ODkuNTc2Niw1NzAuOTIxNCA3ODkuMzg4Niw1NzAuODQyNCBDNzg4LjYyMzYsNTcwLjUyMjQgNzg4LjI2MzYsNTY5LjY0MzQgNzg4LjU4MjYsNTY4Ljg4MDQgQzc4OS4zNTI2LDU2Ny4wMzY0IDc5MC4xMDk2LDU2NS4xODY0IDc5MC44NTI2LDU2My4zMzA0IEM3OTEuMTYwNiw1NjIuNTYxNCA3OTIuMDM0Niw1NjIuMTg2NCA3OTIuODAzNiw1NjIuNDk1NCBDNzkzLjU3MjYsNTYyLjgwMzQgNzkzLjk0NTYsNTYzLjY3NjQgNzkzLjYzODYsNTY0LjQ0NTQgQzc5Mi44ODk2LDU2Ni4zMTU0IDc5Mi4xMjY2LDU2OC4xNzk0IDc5MS4zNTA2LDU3MC4wMzY0IEM3OTEuMTA5Niw1NzAuNjExNCA3OTAuNTUyNiw1NzAuOTU4NCA3ODkuOTY1Niw1NzAuOTU4NCBMNzg5Ljk2NTYsNTcwLjk1ODQgWiBNMzcuMDYyNiw1ODAuMjcxNCBDMzYuNDg4Niw1ODAuMjcxNCAzNS45NDA2LDU3OS45NDE0IDM1LjY5MTYsNTc5LjM4NDQgQzM0Ljg3NTYsNTc3LjU2MDQgMzQuMDcyNiw1NzUuNzI5NCAzMy4yODE2LDU3My44OTA0IEMzMi45NTQ2LDU3My4xMzA0IDMzLjMwNjYsNTcyLjI0NzQgMzQuMDY2Niw1NzEuOTIwNCBDMzQuODI5Niw1NzEuNTkzNCAzNS43MTA2LDU3MS45NDU0IDM2LjAzNzYsNTcyLjcwNTQgQzM2LjgyMjYsNTc0LjUzMDQgMzcuNjE5Niw1NzYuMzQ3NCAzOC40MzA2LDU3OC4xNTk0IEMzOC43Njk2LDU3OC45MTU0IDM4LjQzMDYsNTc5LjgwMjQgMzcuNjc0Niw1ODAuMTQwNCBDMzcuNDc1Niw1ODAuMjI5NCAzNy4yNjc2LDU4MC4yNzE0IDM3LjA2MjYsNTgwLjI3MTQgTDM3LjA2MjYsNTgwLjI3MTQgWiBNNzg1LjE2MjYsNTgxLjk5MTQgQzc4NC45NTU2LDU4MS45OTE0IDc4NC43NDU2LDU4MS45NDg0IDc4NC41NDU2LDU4MS44NTc0IEM3ODMuNzkwNiw1ODEuNTE2NCA3ODMuNDU1Niw1ODAuNjI3NCA3ODMuNzk3Niw1NzkuODczNCBDNzg0LjYyMDYsNTc4LjA1NDQgNzg1LjQzMjYsNTc2LjIyNzQgNzg2LjIyOTYsNTc0LjM5NDQgQzc4Ni41NTk2LDU3My42MzY0IDc4Ny40NDA2LDU3My4yODY0IDc4OC4yMDM2LDU3My42MTg0IEM3ODguOTYzNiw1NzMuOTQ4NCA3ODkuMzExNiw1NzQuODMyNCA3ODguOTc5Niw1NzUuNTkyNCBDNzg4LjE3NjYsNTc3LjQzODQgNzg3LjM1ODYsNTc5LjI3ODQgNzg2LjUyOTYsNTgxLjEwOTQgQzc4Ni4yNzk2LDU4MS42NjQ0IDc4NS43MzM2LDU4MS45OTE0IDc4NS4xNjI2LDU4MS45OTE0IEw3ODUuMTYyNiw1ODEuOTkxNCBaIE00Mi4xMDQ2LDU5MS4xMTA0IEM0MS41NDY2LDU5MS4xMTA0IDQxLjAxMTYsNTkwLjc5OTQgNDAuNzUyNiw1OTAuMjYzNCBDMzkuODgzNiw1ODguNDYyNCAzOS4wMjU2LDU4Ni42NTU0IDM4LjE4MjYsNTg0Ljg0MTQgQzM3LjgzMzYsNTg0LjA5MDQgMzguMTU4Niw1ODMuMTk3NCAzOC45MDk2LDU4Mi44NDc0IEMzOS42NjE2LDU4Mi41MDE0IDQwLjU1MjYsNTgyLjgyNDQgNDAuOTAyNiw1ODMuNTc1NCBDNDEuNzQwNiw1ODUuMzc2NCA0Mi41OTA2LDU4Ny4xNzE0IDQzLjQ1MzYsNTg4Ljk1ODQgQzQzLjgxMzYsNTg5LjcwNDQgNDMuNTAxNiw1OTAuNjAwNCA0Mi43NTU2LDU5MC45NjE0IEM0Mi41NDU2LDU5MS4wNjI0IDQyLjMyMjYsNTkxLjExMDQgNDIuMTA0Niw1OTEuMTEwNCBMNDIuMTA0Niw1OTEuMTEwNCBaIE03ODAuMDM3Niw1OTIuODc2NCBDNzc5LjgxNTYsNTkyLjg3NjQgNzc5LjU5MTYsNTkyLjgyNzQgNzc5LjM3OTYsNTkyLjcyMzQgQzc3OC42MzU2LDU5Mi4zNTk0IDc3OC4zMjc2LDU5MS40NjE0IDc3OC42OTA2LDU5MC43MTc0IEM3NzkuNTY4Niw1ODguOTIzNCA3ODAuNDMzNiw1ODcuMTIyNCA3ODEuMjgzNiw1ODUuMzE0NCBDNzgxLjYzNjYsNTg0LjU2NDQgNzgyLjUzMTYsNTg0LjI0NDQgNzgzLjI3OTYsNTg0LjU5NjQgQzc4NC4wMjk2LDU4NC45NDk0IDc4NC4zNTE2LDU4NS44NDM0IDc4My45OTg2LDU4Ni41OTI0IEM3ODMuMTQwNiw1ODguNDEzNCA3ODIuMjY5Niw1OTAuMjI3NCA3ODEuMzg2Niw1OTIuMDM1NCBDNzgxLjEyNTYsNTkyLjU2NzQgNzgwLjU5MjYsNTkyLjg3NjQgNzgwLjAzNzYsNTkyLjg3NjQgTDc4MC4wMzc2LDU5Mi44NzY0IFogTTQ3LjQ2MzYsNjAxLjgwMzQgQzQ2LjkyMTYsNjAxLjgwMzQgNDYuMzk4Niw2MDEuNTA5NCA0Ni4xMzE2LDYwMC45OTQ0IEM0NS4yMDk2LDU5OS4yMjE0IDQ0LjI5OTYsNTk3LjQzODQgNDMuNDAxNiw1OTUuNjQ5NCBDNDMuMDMwNiw1OTQuOTA5NCA0My4zMjk2LDU5NC4wMDc0IDQ0LjA2OTYsNTkzLjYzNjQgQzQ0LjgxMDYsNTkzLjI2NTQgNDUuNzExNiw1OTMuNTYzNCA0Ni4wODM2LDU5NC4zMDQ0IEM0Ni45NzU2LDU5Ni4wODE0IDQ3Ljg3NzYsNTk3Ljg0OTQgNDguNzkzNiw1OTkuNjEwNCBDNDkuMTc1Niw2MDAuMzQ2NCA0OC44ODk2LDYwMS4yNTI0IDQ4LjE1MzYsNjAxLjYzNDQgQzQ3LjkzMzYsNjAxLjc0ODQgNDcuNjk2Niw2MDEuODAzNCA0Ny40NjM2LDYwMS44MDM0IEw0Ny40NjM2LDYwMS44MDM0IFogTTc3NC41OTY2LDYwMy41OTk0IEM3NzQuMzYwNiw2MDMuNTk5NCA3NzQuMTIxNiw2MDMuNTQ0NCA3NzMuODk4Niw2MDMuNDI4NCBDNzczLjE2NTYsNjAzLjA0MjQgNzcyLjg4NDYsNjAyLjEzNTQgNzczLjI2OTYsNjAxLjQwMTQgQzc3NC4xOTg2LDU5OS42MzU0IDc3NS4xMTU2LDU5Ny44NjA0IDc3Ni4wMTk2LDU5Ni4wNzk0IEM3NzYuMzk0Niw1OTUuMzQwNCA3NzcuMjk2Niw1OTUuMDQ1NCA3NzguMDM1Niw1OTUuNDIwNCBDNzc4Ljc3MzYsNTk1Ljc5NTQgNzc5LjA2OTYsNTk2LjY5NzQgNzc4LjY5NDYsNTk3LjQzNjQgQzc3Ny43ODM2LDU5OS4yMzE0IDc3Ni44NjA2LDYwMS4wMTc0IDc3NS45MjQ2LDYwMi43OTg0IEM3NzUuNjU2Niw2MDMuMzA4NCA3NzUuMTM1Niw2MDMuNTk5NCA3NzQuNTk2Niw2MDMuNTk5NCBMNzc0LjU5NjYsNjAzLjU5OTQgWiBNNTMuMTM1Niw2MTIuMzM3NCBDNTIuNjA4Niw2MTIuMzM3NCA1Mi4wOTg2LDYxMi4wNTk0IDUxLjgyMzYsNjExLjU2NzQgQzUwLjg1MDYsNjA5LjgxOTQgNDkuODg4Niw2MDguMDY0NCA0OC45Mzg2LDYwNi4zMDE0IEM0OC41NDY2LDYwNS41NzE0IDQ4LjgxOTYsNjA0LjY2MTQgNDkuNTQ5Niw2MDQuMjY4NCBDNTAuMjgwNiw2MDMuODc4NCA1MS4xODg2LDYwNC4xNTA0IDUxLjU4MTYsNjA0Ljg3OTQgQzUyLjUyMjYsNjA2LjYyOTQgNTMuNDc3Niw2MDguMzcyNCA1NC40NDQ2LDYxMC4xMDY0IEM1NC44NDg2LDYxMC44MzA0IDU0LjU4ODYsNjExLjc0NDQgNTMuODY0Niw2MTIuMTQ3NCBDNTMuNjMzNiw2MTIuMjc2NCA1My4zODI2LDYxMi4zMzc0IDUzLjEzNTYsNjEyLjMzNzQgTDUzLjEzNTYsNjEyLjMzNzQgWiBNNzY4Ljg0MzYsNjE0LjE1NzQgQzc2OC41OTM2LDYxNC4xNTc0IDc2OC4zNDA2LDYxNC4wOTU0IDc2OC4xMDY2LDYxMy45NjQ0IEM3NjcuMzg1Niw2MTMuNTU2NCA3NjcuMTMwNiw2MTIuNjQxNCA3NjcuNTM3Niw2MTEuOTIwNCBDNzY4LjUxODYsNjEwLjE4MTQgNzY5LjQ4NjYsNjA4LjQzNTQgNzcwLjQ0MTYsNjA2LjY4MjQgQzc3MC44Mzg2LDYwNS45NTU0IDc3MS43NTE2LDYwNS42ODc0IDc3Mi40Nzc2LDYwNi4wODM0IEM3NzMuMjA0Niw2MDYuNDc5NCA3NzMuNDczNiw2MDcuMzkwNCA3NzMuMDc2Niw2MDguMTE4NCBDNzcyLjExMzYsNjA5Ljg4NTQgNzcxLjEzOTYsNjExLjY0MjQgNzcwLjE1MDYsNjEzLjM5NDQgQzc2OS44NzU2LDYxMy44ODM0IDc2OS4zNjY2LDYxNC4xNTc0IDc2OC44NDM2LDYxNC4xNTc0IEw3NjguODQzNiw2MTQuMTU3NCBaIE01OS4xMTM2LDYyMi43MDM0IEM1OC42MDM2LDYyMi43MDM0IDU4LjEwNDYsNjIyLjQ0MjQgNTcuODI0Niw2MjEuOTcyNCBDNTYuNzk5Niw2MjAuMjUzNCA1NS43ODY2LDYxOC41MjU0IDU0Ljc4NTYsNjE2Ljc5MTQgQzU0LjM3MTYsNjE2LjA3MzQgNTQuNjE2Niw2MTUuMTU2NCA1NS4zMzQ2LDYxNC43NDI0IEM1Ni4wNTE2LDYxNC4zMjg0IDU2Ljk2OTYsNjE0LjU3MjQgNTcuMzgzNiw2MTUuMjkxNCBDNTguMzc4Niw2MTcuMDE0NCA1OS4zODM2LDYxOC43Mjg0IDYwLjQwMDYsNjIwLjQzNDQgQzYwLjgyNTYsNjIxLjE0NjQgNjAuNTkyNiw2MjIuMDY3NCA1OS44ODE2LDYyMi40OTE0IEM1OS42NDA2LDYyMi42MzU0IDU5LjM3NTYsNjIyLjcwMzQgNTkuMTEzNiw2MjIuNzAzNCBMNTkuMTEzNiw2MjIuNzAzNCBaIE03NjIuNzgzNiw2MjQuNTM5NCBDNzYyLjUxOTYsNjI0LjUzOTQgNzYyLjI1MjYsNjI0LjQ3MDQgNzYyLjAwOTYsNjI0LjMyMzQgQzc2MS4zMDA2LDYyMy44OTU0IDc2MS4wNzI2LDYyMi45NzM0IDc2MS41MDA2LDYyMi4yNjQ0IEM3NjIuNTMxNiw2MjAuNTU2NCA3NjMuNTUwNiw2MTguODM5NCA3NjQuNTU2Niw2MTcuMTE1NCBDNzY0Ljk3NDYsNjE2LjM5OTQgNzY1Ljg5NDYsNjE2LjE1ODQgNzY2LjYwNzYsNjE2LjU3NTQgQzc2Ny4zMjM2LDYxNi45OTM0IDc2Ny41NjQ2LDYxNy45MTE0IDc2Ny4xNDc2LDYxOC42Mjc0IEM3NjYuMTM0Niw2MjAuMzY0NCA3NjUuMTA3Niw2MjIuMDkzNCA3NjQuMDY4Niw2MjMuODE0NCBDNzYzLjc4NzYsNjI0LjI4MTQgNzYzLjI5MTYsNjI0LjUzOTQgNzYyLjc4MzYsNjI0LjUzOTQgTDc2Mi43ODM2LDYyNC41Mzk0IFogTTY1LjM5NTYsNjMyLjg5NDQgQzY0Ljg5OTYsNjMyLjg5NDQgNjQuNDE0Niw2MzIuNjQ5NCA2NC4xMjg2LDYzMi4yMDA0IEM2My4wNTM2LDYzMC41MTI0IDYxLjk4OTYsNjI4LjgxMzQgNjAuOTM4Niw2MjcuMTA4NCBDNjAuNTA0Niw2MjYuNDAyNCA2MC43MjQ2LDYyNS40Nzg0IDYxLjQyOTYsNjI1LjA0NDQgQzYyLjEzMzYsNjI0LjYxMjQgNjMuMDU4Niw2MjQuODI5NCA2My40OTM2LDYyNS41MzQ0IEM2NC41MzY2LDYyNy4yMjc0IDY1LjU5MjYsNjI4LjkxMzQgNjYuNjU5Niw2MzAuNTg5NCBDNjcuMTA0Niw2MzEuMjg4NCA2Ni44OTc2LDYzMi4yMTU0IDY2LjE5OTYsNjMyLjY2MDQgQzY1Ljk0OTYsNjMyLjgxODQgNjUuNjcxNiw2MzIuODk0NCA2NS4zOTU2LDYzMi44OTQ0IEw2NS4zOTU2LDYzMi44OTQ0IFogTTc1Ni40MjU2LDYzNC43MzQ0IEM3NTYuMTQ2Niw2MzQuNzM0NCA3NTUuODY0Niw2MzQuNjU3NCA3NTUuNjEzNiw2MzQuNDk1NCBDNzU0LjkxNzYsNjM0LjA0NzQgNzU0LjcxNjYsNjMzLjExODQgNzU1LjE2NTYsNjMyLjQyMjQgQzc1Ni4yNDU2LDYzMC43NDU0IDc1Ny4zMTM2LDYyOS4wNjA0IDc1OC4zNzA2LDYyNy4zNjY0IEM3NTguODA5Niw2MjYuNjYzNCA3NTkuNzM1Niw2MjYuNDQ5NCA3NjAuNDM2Niw2MjYuODg4NCBDNzYxLjE0MDYsNjI3LjMyNjQgNzYxLjM1MzYsNjI4LjI1MTQgNzYwLjkxNTYsNjI4Ljk1NDQgQzc1OS44NTE2LDYzMC42NjAzOTEgNzU4Ljc3NDYsNjMyLjM1ODQgNzU3LjY4NjYsNjM0LjA0NzQgQzc1Ny40MDA2LDYzNC40OTI0IDc1Ni45MTc2LDYzNC43MzQ0IDc1Ni40MjU2LDYzNC43MzQ0IEw3NTYuNDI1Niw2MzQuNzM0NCBaIE03MS45NzI2LDY0Mi45MDE0IEM3MS40OTE2LDY0Mi45MDE0IDcxLjAyMDYsNjQyLjY3MTQgNzAuNzI5Niw2NDIuMjQzNCBDNjkuNjA1Niw2NDAuNTg2NCA2OC40OTM2LDYzOC45MjA0IDY3LjM5MjYsNjM3LjI0NjQgQzY2LjkzNzYsNjM2LjU1NTQgNjcuMTI4Niw2MzUuNjI0NCA2Ny44MjA2LDYzNS4xNjk0IEM2OC41MTI2LDYzNC43MTY0IDY5LjQ0MTYsNjM0LjkwNTQgNjkuODk3Niw2MzUuNTk3NCBDNzAuOTkxNiw2MzcuMjYwNCA3Mi4wOTY2LDYzOC45MTQ0IDczLjIxMjYsNjQwLjU1OTQgQzczLjY3NzYsNjQxLjI0NTQgNzMuNDk4Niw2NDIuMTc4NCA3Mi44MTI2LDY0Mi42NDI0IEM3Mi41NTU2LDY0Mi44MTc0IDcyLjI2MjYsNjQyLjkwMTQgNzEuOTcyNiw2NDIuOTAxNCBMNzEuOTcyNiw2NDIuOTAxNCBaIE03NDkuNzcxNiw2NDQuNzM4NCBDNzQ5LjQ3ODYsNjQ0LjczODQgNzQ5LjE4MzYsNjQ0LjY1MzQgNzQ4LjkyNDYsNjQ0LjQ3NDQgQzc0OC4yNDA2LDY0NC4wMDY0IDc0OC4wNjc2LDY0My4wNzI0IDc0OC41MzY2LDY0Mi4zODk0IEM3NDkuNjY0Niw2NDAuNzQ1NCA3NTAuNzgxNiw2MzkuMDkyNCA3NTEuODg3Niw2MzcuNDMwNCBDNzUyLjM0NjYsNjM2Ljc0MjQgNzUzLjI3NTYsNjM2LjU1NDQgNzUzLjk2NzYsNjM3LjAxMjQgQzc1NC42NTY2LDYzNy40NzE0IDc1NC44NDQ2LDYzOC40MDE0IDc1NC4zODU2LDYzOS4wOTI0IEM3NTMuMjcxNiw2NDAuNzY1NCA3NTIuMTQ2Niw2NDIuNDMxNCA3NTEuMDA5Niw2NDQuMDg3NCBDNzUwLjcxOTYsNjQ0LjUxMTQgNzUwLjI0OTYsNjQ0LjczODQgNzQ5Ljc3MTYsNjQ0LjczODQgTDc0OS43NzE2LDY0NC43Mzg0IFogTTc4Ljg0MDYsNjUyLjcxNDQgQzc4LjM3NTYsNjUyLjcxNDQgNzcuOTE2Niw2NTIuNDk4NCA3Ny42MjM2LDY1Mi4wOTI0IEM3Ni40NTA2LDY1MC40Njg0IDc1LjI4OTYsNjQ4LjgzNTQgNzQuMTQwNiw2NDcuMTkyNCBDNzMuNjY0Niw2NDYuNTE0NCA3My44Mjk2LDY0NS41Nzg0IDc0LjUwODYsNjQ1LjEwMzQgQzc1LjE4NzYsNjQ0LjYyODQgNzYuMTIzNiw2NDQuNzk0NCA3Ni41OTc2LDY0NS40NzI0IEM3Ny43Mzg2LDY0Ny4xMDI0IDc4Ljg5MjYsNjQ4LjcyMzQgODAuMDU1Niw2NTAuMzM2NCBDODAuNTQwNiw2NTEuMDA4NCA4MC4zODk2LDY1MS45NDU0IDc5LjcxNzYsNjUyLjQzMDQgQzc5LjQ1MTYsNjUyLjYyMjQgNzkuMTQ1Niw2NTIuNzE0NCA3OC44NDA2LDY1Mi43MTQ0IEw3OC44NDA2LDY1Mi43MTQ0IFogTTc0Mi44MzE2LDY1NC41NDE0IEM3NDIuNTI0Niw2NTQuNTQxNCA3NDIuMjE1Niw2NTQuNDQ3NCA3NDEuOTQ4Niw2NTQuMjUzNCBDNzQxLjI3ODYsNjUzLjc2NDQgNzQxLjEzMjYsNjUyLjgyNjQgNzQxLjYyMDYsNjUyLjE1NzQgQzc0Mi43OTY2LDY1MC41NDY0IDc0My45NjE2LDY0OC45MjY0IDc0NS4xMTQ2LDY0Ny4yOTg0IEM3NDUuNTkzNiw2NDYuNjIzNCA3NDYuNTI4Niw2NDYuNDYzNCA3NDcuMjA1Niw2NDYuOTQxNCBDNzQ3Ljg4MTYsNjQ3LjQyMDQgNzQ4LjA0MTYsNjQ4LjM1NjQgNzQ3LjU2MTYsNjQ5LjAzMjQgQzc0Ni40MDA2LDY1MC42NzI0IDc0NS4yMjc2LDY1Mi4zMDI0IDc0NC4wNDQ2LDY1My45MjU0IEM3NDMuNzUwNiw2NTQuMzI3NCA3NDMuMjk0Niw2NTQuNTQxNCA3NDIuODMxNiw2NTQuNTQxNCBMNzQyLjgzMTYsNjU0LjU0MTQgWiBNODUuOTk0Niw2NjIuMzI1NCBDODUuNTQ0Niw2NjIuMzI1NCA4NS4wOTk2LDY2Mi4xMjM0IDg0LjgwMzYsNjYxLjczODQgQzgzLjU4NDYsNjYwLjE0ODQgODIuMzc1Niw2NTguNTQ5NCA4MS4xNzk2LDY1Ni45NDA0IEM4MC42ODQ2LDY1Ni4yNzU0IDgwLjgyMjYsNjU1LjMzNjQgODEuNDg2Niw2NTQuODQyNCBDODIuMTUyNiw2NTQuMzQ3NCA4My4wOTE2LDY1NC40ODU0IDgzLjU4NTYsNjU1LjE0OTQgQzg0Ljc3MzYsNjU2Ljc0NjQgODUuOTczNiw2NTguMzM0NCA4Ny4xODQ2LDY1OS45MTI0IEM4Ny42ODc2LDY2MC41Njk0IDg3LjU2MzYsNjYxLjUxMjQgODYuOTA2Niw2NjIuMDE1NCBDODYuNjM0Niw2NjIuMjI0NCA4Ni4zMTI2LDY2Mi4zMjU0IDg1Ljk5NDYsNjYyLjMyNTQgTDg1Ljk5NDYsNjYyLjMyNTQgWiBNNzM1LjYwOTYsNjY0LjEzMzQgQzczNS4yODg2LDY2NC4xMzM0IDczNC45NjU2LDY2NC4wMzA0IDczNC42OTE2LDY2My44MTg0IEM3MzQuMDM2Niw2NjMuMzEwNCA3MzMuOTE3Niw2NjIuMzY4NCA3MzQuNDI1Niw2NjEuNzE0NCBDNzM1LjY0NjYsNjYwLjEzOTQgNzM2Ljg1NzYsNjU4LjU1NDQgNzM4LjA1ODYsNjU2Ljk2MDQgQzczOC41NTY2LDY1Ni4yOTc0IDczOS40OTU2LDY1Ni4xNjc0IDc0MC4xNTg2LDY1Ni42NjQ0IEM3NDAuODE5Niw2NTcuMTYyNCA3NDAuOTUyNiw2NTguMTAyNCA3NDAuNDU0Niw2NTguNzY0NCBDNzM5LjI0NjYsNjYwLjM3MDQgNzM4LjAyNTYsNjYxLjk2NTQgNzM2Ljc5NjYsNjYzLjU1MjQgQzczNi41MDA2LDY2My45MzM0IDczNi4wNTg2LDY2NC4xMzM0IDczNS42MDk2LDY2NC4xMzM0IEw3MzUuNjA5Niw2NjQuMTMzNCBaIE05My40MjY2LDY3MS43MjY0IEM5Mi45OTA2LDY3MS43MjY0IDkyLjU1ODYsNjcxLjUzODQgOTIuMjYyNiw2NzEuMTc0NCBDOTAuOTk2Niw2NjkuNjE5NCA4OS43NDI2LDY2OC4wNTY0IDg4LjQ5ODYsNjY2LjQ4MzQgQzg3Ljk4NDYsNjY1LjgzMzQgODguMDk1Niw2NjQuODg5NCA4OC43NDQ2LDY2NC4zNzY0IEM4OS4zOTQ2LDY2My44NjI0IDkwLjMzOTYsNjYzLjk3MjQgOTAuODUyNiw2NjQuNjIyNCBDOTIuMDg2Niw2NjYuMTg0NCA5My4zMzI2LDY2Ny43MzY0IDk0LjU4ODYsNjY5LjI3OTQgQzk1LjExMTYsNjY5LjkyMjQgOTUuMDE1Niw2NzAuODY3NCA5NC4zNzI2LDY3MS4zODk0IEM5NC4wOTQ2LDY3MS42MTY0IDkzLjc1OTYsNjcxLjcyNjQgOTMuNDI2Niw2NzEuNzI2NCBMOTMuNDI2Niw2NzEuNzI2NCBaIE03MjguMTEyNiw2NzMuNTA5NCBDNzI3Ljc3NjYsNjczLjUwOTQgNzI3LjQzOTYsNjczLjM5NjQgNzI3LjE2MDYsNjczLjE2NzQgQzcyNi41MjA2LDY3Mi42Mzk0IDcyNi40Mjk2LDY3MS42OTQ0IDcyNi45NTU2LDY3MS4wNTY0IEM3MjguMjIzNiw2NjkuNTE2NCA3MjkuNDc4Niw2NjcuOTY5NCA3MzAuNzI1Niw2NjYuNDExNCBDNzMxLjI0MTYsNjY1Ljc2NDQgNzMyLjE4NTYsNjY1LjY2MDQgNzMyLjgzMzYsNjY2LjE3ODQgQzczMy40Nzk2LDY2Ni42OTU0IDczMy41ODQ2LDY2Ny42Mzk0IDczMy4wNjY2LDY2OC4yODY0IEM3MzEuODEyNiw2NjkuODUzNCA3MzAuNTQ3Niw2NzEuNDEzNCA3MjkuMjcxNiw2NzIuOTYyNCBDNzI4Ljk3NTYsNjczLjMyMjQgNzI4LjU0NTYsNjczLjUwOTQgNzI4LjExMjYsNjczLjUwOTQgTDcyOC4xMTI2LDY3My41MDk0IFogTTEwMS4xMjk2LDY4MC45MDk0IEMxMDAuNzA4Niw2ODAuOTA5NCAxMDAuMjg5Niw2ODAuNzMzNCA5OS45OTM2LDY4MC4zODk0IEM5OC42ODM2LDY3OC44NzM0IDk3LjM4MzYsNjc3LjM0NjQgOTYuMDkzNiw2NzUuODA4NCBDOTUuNTYxNiw2NzUuMTc1NCA5NS42NDQ2LDY3NC4yMjg0IDk2LjI3ODYsNjczLjY5NTQgQzk2LjkxMjYsNjczLjE2MjQgOTcuODU5Niw2NzMuMjQ2NCA5OC4zOTI2LDY3My44ODE0IEM5OS42NzI2LDY3NS40MDY0IDEwMC45NjI2LDY3Ni45MjM0IDEwMi4yNjM2LDY3OC40Mjk0IEMxMDIuODA1Niw2NzkuMDU2NCAxMDIuNzM1Niw2ODAuMDAzNCAxMDIuMTA4Niw2ODAuNTQ0NCBDMTAxLjgyNTYsNjgwLjc4OTQgMTAxLjQ3NjYsNjgwLjkwOTQgMTAxLjEyOTYsNjgwLjkwOTQgTDEwMS4xMjk2LDY4MC45MDk0IFogTTcyMC4zNDY2LDY4Mi42NjM0IEM3MTkuOTk2Niw2ODIuNjYzNCA3MTkuNjQ0Niw2ODIuNTQxNCA3MTkuMzU5Niw2ODIuMjkzNCBDNzE4LjczNjYsNjgxLjc0ODQgNzE4LjY3MjYsNjgwLjgwMDQgNzE5LjIxNzYsNjgwLjE3NjQgQzcyMC41Mjg2LDY3OC42NzU0IDcyMS44Mjk2LDY3Ny4xNjU0IDcyMy4xMTk2LDY3NS42NDQ0IEM3MjMuNjUyNiw2NzUuMDEzNCA3MjQuNjAwNiw2NzQuOTM0NCA3MjUuMjMzNiw2NzUuNDcyNCBDNzI1Ljg2NTYsNjc2LjAwNzQgNzI1Ljk0MjYsNjc2Ljk1NDQgNzI1LjQwNjYsNjc3LjU4NjQgQzcyNC4xMDg2LDY3OS4xMTY0IDcyMi43OTg2LDY4MC42Mzg0IDcyMS40Nzc2LDY4Mi4xNTA0IEM3MjEuMTgwNiw2ODIuNDg5NCA3MjAuNzY0Niw2ODIuNjYzNCA3MjAuMzQ2Niw2ODIuNjYzNCBMNzIwLjM0NjYsNjgyLjY2MzQgWiBNMTA5LjA5ODYsNjg5Ljg2ODQgQzEwOC42OTI2LDY4OS44Njg0IDEwOC4yODc2LDY4OS43MDQ0IDEwNy45OTE2LDY4OS4zODE0IEMxMDYuNjM3Niw2ODcuOTAyNCAxMDUuMjk0Niw2ODYuNDE0NCAxMDMuOTYwNiw2ODQuOTE1NCBDMTAzLjQwOTYsNjg0LjI5NzQgMTAzLjQ2NDYsNjgzLjM0ODQgMTA0LjA4MzYsNjgyLjc5ODQgQzEwNC43MDI2LDY4Mi4yNDU0IDEwNS42NTA2LDY4Mi4zMDM0IDEwNi4yMDA2LDY4Mi45MjE0IEMxMDcuNTI1Niw2ODQuNDA4NCAxMDguODU5Niw2ODUuODg3NCAxMTAuMjA0Niw2ODcuMzU1NCBDMTEwLjc2NDYsNjg3Ljk2NjQgMTEwLjcyMjYsNjg4LjkxNTQgMTEwLjExMDYsNjg5LjQ3NDQgQzEwOS44MjM2LDY4OS43Mzg0IDEwOS40NjA2LDY4OS44Njg0IDEwOS4wOTg2LDY4OS44Njg0IEwxMDkuMDk4Niw2ODkuODY4NCBaIE03MTIuMzIwNiw2OTEuNTgzNCBDNzExLjk1NTYsNjkxLjU4MzQgNzExLjU5MDYsNjkxLjQ1MTQgNzExLjMwMTYsNjkxLjE4MzQgQzcxMC42OTM2LDY5MC42MjA0IDcxMC42NTc2LDY4OS42NzI0IDcxMS4yMjA2LDY4OS4wNjM0IEM3MTIuNTc0Niw2ODcuNjAxNCA3MTMuOTE4Niw2ODYuMTMwNCA3MTUuMjUxNiw2ODQuNjQ4NCBDNzE1LjgwODYsNjg0LjAzMTQgNzE2Ljc1NTYsNjgzLjk4NDQgNzE3LjM3MDYsNjg0LjUzNzQgQzcxNy45ODU2LDY4NS4wOTI0IDcxOC4wMzU2LDY4Ni4wNDA0IDcxNy40ODE2LDY4Ni42NTY0IEM3MTYuMTM5Niw2ODguMTQ3NCA3MTQuNzg1Niw2ODkuNjI5NCA3MTMuNDIxNiw2OTEuMTAyNCBDNzEzLjEyNTYsNjkxLjQyMjQgNzEyLjcyNDYsNjkxLjU4MzQgNzEyLjMyMDYsNjkxLjU4MzQgTDcxMi4zMjA2LDY5MS41ODM0IFogTTExNy4zMjY2LDY5OC41OTM0IEMxMTYuOTM2Niw2OTguNTkzNCAxMTYuNTQ0Niw2OTguNDQwNCAxMTYuMjUwNiw2OTguMTM4NCBDMTE0Ljg1MzYsNjk2LjY5OTQgMTEzLjQ2NjYsNjk1LjI1MDQgMTEyLjA4OTYsNjkzLjc5MDQgQzExMS41MjA2LDY5My4xODc0IDExMS41NDg2LDY5Mi4yMzg0IDExMi4xNTA2LDY5MS42NzA0IEMxMTIuNzUzNiw2OTEuMTAxNCAxMTMuNzAzNiw2OTEuMTMwNCAxMTQuMjcwNiw2OTEuNzMxNCBDMTE1LjYzODYsNjkzLjE4MDQgMTE3LjAxNTYsNjk0LjYxOTQgMTE4LjQwMjYsNjk2LjA0ODQgQzExOC45Nzk2LDY5Ni42NDE0IDExOC45NjY2LDY5Ny41OTI0IDExOC4zNzE2LDY5OC4xNjk0IEMxMTguMDgwNiw2OTguNDUyNCAxMTcuNzAzNiw2OTguNTkzNCAxMTcuMzI2Niw2OTguNTkzNCBMMTE3LjMyNjYsNjk4LjU5MzQgWiBNNzA0LjAzOTYsNzAwLjI2NDQgQzcwMy42NTk2LDcwMC4yNjQ0IDcwMy4yODA2LDcwMC4xMjE0IDcwMi45ODg2LDY5OS44MzQ0IEM3MDIuMzk2Niw2OTkuMjUzNCA3MDIuMzg5Niw2OTguMzA0NCA3MDIuOTY5Niw2OTcuNzEzNCBDNzA0LjM2NTYsNjk2LjI5MTQgNzA1Ljc1MTYsNjk0Ljg2MDQgNzA3LjEyNTYsNjkzLjQxODQgQzcwNy42OTg2LDY5Mi44MjA0IDcwOC42NDg2LDY5Mi43OTc0IDcwOS4yNDY2LDY5My4zNjc0IEM3MDkuODQ2Niw2OTMuOTM5NCA3MDkuODY4Niw2OTQuODg5NCA3MDkuMjk3Niw2OTUuNDg4NCBDNzA3LjkxMTYsNjk2Ljk0MDQgNzA2LjUxNjYsNjk4LjM4MzQgNzA1LjEwOTYsNjk5LjgxNDQgQzcwNC44MTU2LDcwMC4xMTM0IDcwNC40Mjg2LDcwMC4yNjQ0IDcwNC4wMzk2LDcwMC4yNjQ0IEw3MDQuMDM5Niw3MDAuMjY0NCBaIE0xMjUuODA3Niw3MDcuMDc1NCBDMTI1LjQzMDYsNzA3LjA3NTQgMTI1LjA1MzYsNzA2LjkzNDQgMTI0Ljc2MTYsNzA2LjY1MDQgQzEyMy4zMjI2LDcwNS4yNTI0IDEyMS44OTQ2LDcwMy44NDQ0IDEyMC40NzU2LDcwMi40MjU0IEMxMTkuODg5Niw3MDEuODM5NCAxMTkuODg5Niw3MDAuODg5NCAxMjAuNDc1Niw3MDAuMzA0NCBDMTIxLjA2MTYsNjk5LjcxODQgMTIyLjAxMDYsNjk5LjcxODQgMTIyLjU5NjYsNzAwLjMwNDQgQzEyNC4wMDU2LDcwMS43MTM0IDEyNS40MjQ2LDcwMy4xMTE0IDEyNi44NTM2LDcwNC41MDA0IEMxMjcuNDQ2Niw3MDUuMDc3NCAxMjcuNDYwNiw3MDYuMDI2NCAxMjYuODgyNiw3MDYuNjIxNCBDMTI2LjU4ODYsNzA2LjkyMzQgMTI2LjE5NzYsNzA3LjA3NTQgMTI1LjgwNzYsNzA3LjA3NTQgTDEyNS44MDc2LDcwNy4wNzU0IFogTTY5NS41MTI2LDcwOC42OTc0IEM2OTUuMTE4Niw3MDguNjk3NCA2OTQuNzI1Niw3MDguNTQzNCA2OTQuNDMwNiw3MDguMjM2NCBDNjkzLjg1NjYsNzA3LjYzOTQgNjkzLjg3NTYsNzA2LjY4OTQgNjk0LjQ3MzYsNzA2LjExNTQgQzY5NS45MDg2LDcwNC43MzU0IDY5Ny4zMzU2LDcwMy4zNDY0IDY5OC43NTE2LDcwMS45NDU0IEM2OTkuMzM5Niw3MDEuMzYyNCA3MDAuMjkwNiw3MDEuMzY4NCA3MDAuODcyNiw3MDEuOTU3NCBDNzAxLjQ1NTYsNzAyLjU0NjQgNzAxLjQ0OTYsNzAzLjQ5NjQgNzAwLjg2MDYsNzA0LjA3ODQgQzY5OS40MzU2LDcwNS40ODg0IDY5Ny45OTg2LDcwNi44ODk0IDY5Ni41NTE2LDcwOC4yNzk0IEM2OTYuMjYwNiw3MDguNTU4NCA2OTUuODg2Niw3MDguNjk3NCA2OTUuNTEyNiw3MDguNjk3NCBMNjk1LjUxMjYsNzA4LjY5NzQgWiBNMTM0LjUzMjYsNzE1LjMxMDQgQzEzNC4xNzA2LDcxNS4zMTA0IDEzMy44MDc2LDcxNS4xODE0IDEzMy41MTk2LDcxNC45MTY0IEMxMzIuMDM5Niw3MTMuNTU5NCAxMzAuNTY5Niw3MTIuMTkyNCAxMjkuMTA5Niw3MTAuODE2NCBDMTI4LjUwNzYsNzEwLjI0ODQgMTI4LjQ3OTYsNzA5LjI5ODQgMTI5LjA0NzYsNzA4LjY5NTQgQzEyOS42MTc2LDcwOC4wOTQ0IDEzMC41NjQ2LDcwOC4wNjY0IDEzMS4xNjg2LDcwOC42MzM0IEMxMzIuNjE4Niw3MTAuMDAxNCAxMzQuMDc2Niw3MTEuMzU4NCAxMzUuNTQ2Niw3MTIuNzA1NCBDMTM2LjE1NjYsNzEzLjI2NDQgMTM2LjE5ODYsNzE0LjIxNDQgMTM1LjYzODYsNzE0LjgyNDQgQzEzNS4zNDI2LDcxNS4xNDY0IDEzNC45Mzc2LDcxNS4zMTA0IDEzNC41MzI2LDcxNS4zMTA0IEwxMzQuNTMyNiw3MTUuMzEwNCBaIE02ODYuNzQzNiw3MTYuODgwNCBDNjg2LjMzNTYsNzE2Ljg4MDQgNjg1LjkyODYsNzE2LjcxNDQgNjg1LjYzMjYsNzE2LjM4ODQgQzY4NS4wNzU2LDcxNS43NzM0IDY4NS4xMjI2LDcxNC44MjU0IDY4NS43MzU2LDcxNC4yNjg0IEM2ODcuMjEzNiw3MTIuOTMwNCA2ODguNjc5Niw3MTEuNTgyNCA2OTAuMTM0Niw3MTAuMjIzNCBDNjkwLjczOTYsNzA5LjY1OTQgNjkxLjY4NzYsNzA5LjY5MDQgNjkyLjI1NDYsNzEwLjI5NzQgQzY5Mi44MTk2LDcxMC45MDI0IDY5Mi43ODY2LDcxMS44NTE0IDY5Mi4xODE2LDcxMi40MTc0IEM2OTAuNzE1Niw3MTMuNzg1NCA2ODkuMjM4Niw3MTUuMTQyNCA2ODcuNzUxNiw3MTYuNDkxNCBDNjg3LjQ2NDYsNzE2Ljc1MjQgNjg3LjEwMjYsNzE2Ljg4MDQgNjg2Ljc0MzYsNzE2Ljg4MDQgTDY4Ni43NDM2LDcxNi44ODA0IFogTTE0My40OTQ2LDcyMy4yODk0IEMxNDMuMTQ2Niw3MjMuMjg5NCAxNDIuNzk4Niw3MjMuMTY5NCAxNDIuNTE0Niw3MjIuOTI0NCBDMTQwLjk5NTYsNzIxLjYxMDQgMTM5LjQ4NTYsNzIwLjI4NjQgMTM3Ljk4NzYsNzE4Ljk1MjQgQzEzNy4zNjg2LDcxOC40MDE0IDEzNy4zMTM2LDcxNy40NTM0IDEzNy44NjQ2LDcxNi44MzU0IEMxMzguNDE0Niw3MTYuMjE4NCAxMzkuMzYzNiw3MTYuMTYwNCAxMzkuOTgxNiw3MTYuNzEyNCBDMTQxLjQ3MDYsNzE4LjAzNjQgMTQyLjk2ODYsNzE5LjM1MDQgMTQ0LjQ3NzYsNzIwLjY1NDQgQzE0NS4xMDM2LDcyMS4xOTY0IDE0NS4xNzI2LDcyMi4xNDM0IDE0NC42MzA2LDcyMi43NzA0IEMxNDQuMzMzNiw3MjMuMTEzNCAxNDMuOTE1Niw3MjMuMjg5NCAxNDMuNDk0Niw3MjMuMjg5NCBMMTQzLjQ5NDYsNzIzLjI4OTQgWiBNNjc3Ljc0NTYsNzI0LjgwMTQgQzY3Ny4zMjE2LDcyNC44MDE0IDY3Ni45MDA2LDcyNC42MjI0IDY3Ni42MDM2LDcyNC4yNzU0IEM2NzYuMDY1Niw3MjMuNjQ1NCA2NzYuMTQwNiw3MjIuNjk4NCA2NzYuNzY5Niw3MjIuMTYwNCBDNjc4LjI4MjYsNzIwLjg2NzQgNjc5Ljc4NzYsNzE5LjU2MjQgNjgxLjI4MTYsNzE4LjI0NzQgQzY4MS45MDQ2LDcxNy42OTg0IDY4Mi44NTE2LDcxNy43NjA0IDY4My4zOTg2LDcxOC4zODI0IEM2ODMuOTQ2Niw3MTkuMDA0NCA2ODMuODg2Niw3MTkuOTUxNCA2ODMuMjY0Niw3MjAuNDk5NCBDNjgxLjc1ODYsNzIxLjgyNDQgNjgwLjI0MzYsNzIzLjEzOTQgNjc4LjcxOTYsNzI0LjQ0MTQgQzY3OC40MzY2LDcyNC42ODI0IDY3OC4wOTA2LDcyNC44MDE0IDY3Ny43NDU2LDcyNC44MDE0IEw2NzcuNzQ1Niw3MjQuODAxNCBaIE0xNTIuNjg4Niw3MzEuMDA3NCBDMTUyLjM1NTYsNzMxLjAwNzQgMTUyLjAyMDYsNzMwLjg5NjQgMTUxLjc0MjYsNzMwLjY3MDQgQzE1MC4xODY2LDcyOS40MDE0IDE0OC42Mzg2LDcyOC4xMjE0IDE0Ny4xMDA2LDcyNi44MzA0IEMxNDYuNDY2Niw3MjYuMjk4NCAxNDYuMzgzNiw3MjUuMzUxNCAxNDYuOTE2Niw3MjQuNzE3NCBDMTQ3LjQ0NzYsNzI0LjA4NDQgMTQ4LjM5NjYsNzI0LjAwMTQgMTQ5LjAyODYsNzI0LjUzMjQgQzE1MC41NTY2LDcyNS44MTQ0IDE1Mi4wOTI2LDcyNy4wODU0IDE1My42Mzc2LDcyOC4zNDQ0IEMxNTQuMjc5Niw3MjguODY3NCAxNTQuMzc2Niw3MjkuODEyNCAxNTMuODUzNiw3MzAuNDU0NCBDMTUzLjU1NjYsNzMwLjgxODQgMTUzLjEyNDYsNzMxLjAwNzQgMTUyLjY4ODYsNzMxLjAwNzQgTDE1Mi42ODg2LDczMS4wMDc0IFogTTY2OC41MjA2LDczMi40NTY0IEM2NjguMDgyNiw3MzIuNDU2NCA2NjcuNjQ4Niw3MzIuMjY0NCA2NjcuMzUyNiw3MzEuODk3NCBDNjY2LjgzMjYsNzMxLjI1MjQgNjY2LjkzNDYsNzMwLjMwNzQgNjY3LjU3ODYsNzI5Ljc4ODQgQzY2OS4xMjg2LDcyOC41Mzk0IDY3MC42NzA2LDcyNy4yNzg0IDY3Mi4yMDE2LDcyNi4wMDg0IEM2NzIuODQwNiw3MjUuNDc3NCA2NzMuNzg0Niw3MjUuNTY2NCA2NzQuMzEzNiw3MjYuMjA0NCBDNjc0Ljg0MzYsNzI2Ljg0MjQgNjc0Ljc1NTYsNzI3Ljc4NzQgNjc0LjExNzYsNzI4LjMxNjQgQzY3Mi41NzQ2LDcyOS41OTc0IDY3MS4wMjI2LDczMC44NjU0IDY2OS40NjE2LDczMi4xMjQ0IEM2NjkuMTg0Niw3MzIuMzQ3NCA2NjguODUxNiw3MzIuNDU2NCA2NjguNTIwNiw3MzIuNDU2NCBMNjY4LjUyMDYsNzMyLjQ1NjQgWiBNMTYyLjEwNDYsNzM4LjQ1NDQgQzE2MS43ODY2LDczOC40NTQ0IDE2MS40NjU2LDczOC4zNTM0IDE2MS4xOTI2LDczOC4xNDQ0IEMxNTkuNTk5Niw3MzYuOTIxNCAxNTguMDE0Niw3MzUuNjg2NCAxNTYuNDM4Niw3MzQuNDQxNCBDMTU1Ljc4OTYsNzMzLjkyODQgMTU1LjY3OTYsNzMyLjk4NDQgMTU2LjE5MjYsNzMyLjMzNDQgQzE1Ni43MDc2LDczMS42ODM0IDE1Ny42NTA2LDczMS41NzU0IDE1OC4zMDA2LDczMi4wODg0IEMxNTkuODYzNiw3MzMuMzI1NCAxNjEuNDM3Niw3MzQuNTUwNCAxNjMuMDE5Niw3MzUuNzY0NCBDMTYzLjY3NjYsNzM2LjI2ODQgMTYzLjgwMDYsNzM3LjIxMDQgMTYzLjI5NTYsNzM3Ljg2NzQgQzE2My4wMDA2LDczOC4yNTI0IDE2Mi41NTU2LDczOC40NTQ0IDE2Mi4xMDQ2LDczOC40NTQ0IEwxNjIuMTA0Niw3MzguNDU0NCBaIE02NTkuMDgwNiw3MzkuODM2NCBDNjU4LjYyNzYsNzM5LjgzNjQgNjU4LjE3OTYsNzM5LjYzMjQgNjU3Ljg4NDYsNzM5LjI0MjQgQzY1Ny4zODQ2LDczOC41ODI0IDY1Ny41MTM2LDczNy42NDE0IDY1OC4xNzM2LDczNy4xNDA0IEM2NTkuNzU5Niw3MzUuOTM4NCA2NjEuMzM1Niw3MzQuNzIzNCA2NjIuOTAyNiw3MzMuNDk5NCBDNjYzLjU1NTYsNzMyLjk4ODQgNjY0LjQ5NzYsNzMzLjEwNDQgNjY1LjAwODYsNzMzLjc1NzQgQzY2NS41MTk2LDczNC40MTA0IDY2NS40MDI2LDczNS4zNTI0IDY2NC43NTA2LDczNS44NjI0IEM2NjMuMTcxNiw3MzcuMDk3NCA2NjEuNTgzNiw3MzguMzE5NCA2NTkuOTg1Niw3MzkuNTMxNCBDNjU5LjcxNTYsNzM5LjczNjQgNjU5LjM5NjYsNzM5LjgzNjQgNjU5LjA4MDYsNzM5LjgzNjQgTDY1OS4wODA2LDczOS44MzY0IFogTTE3MS43Mzc2LDc0NS42MjU0IEMxNzEuNDMzNiw3NDUuNjI1NCAxNzEuMTI2Niw3NDUuNTMzNCAxNzAuODYwNiw3NDUuMzQxNCBDMTY5LjIzMTYsNzQ0LjE2NTQgMTY3LjYxMTYsNzQyLjk3NjQgMTY2LjAwMDYsNzQxLjc3NzQgQzE2NS4zMzU2LDc0MS4yODI0IDE2NS4xOTc2LDc0MC4zNDM0IDE2NS42OTI2LDczOS42Nzk0IEMxNjYuMTg3Niw3MzkuMDE0NCAxNjcuMTI4Niw3MzguODc3NCAxNjcuNzkxNiw3MzkuMzcxNCBDMTY5LjM5MTYsNzQwLjU2MjQgMTcwLjk5OTYsNzQxLjc0MTQgMTcyLjYxNjYsNzQyLjkwOTQgQzE3My4yODg2LDc0My4zOTM0IDE3My40Mzk2LDc0NC4zMzE0IDE3Mi45NTQ2LDc0NS4wMDM0IEMxNzIuNjYxNiw3NDUuNDA5NCAxNzIuMjAyNiw3NDUuNjI1NCAxNzEuNzM3Niw3NDUuNjI1NCBMMTcxLjczNzYsNzQ1LjYyNTQgWiBNNjQ5LjQzMzYsNzQ2LjkzODQgQzY0OC45NjU2LDc0Ni45Mzg0IDY0OC41MDM2LDc0Ni43MjA0IDY0OC4yMTE2LDc0Ni4zMDk0IEM2NDcuNzI5Niw3NDUuNjM2NCA2NDcuODg2Niw3NDQuNjk4NCA2NDguNTYxNiw3NDQuMjE4NCBDNjUwLjE4MTYsNzQzLjA2MTQgNjUxLjc5MDYsNzQxLjg5NDQgNjUzLjM5MjYsNzQwLjcxNTQgQzY1NC4wNTg2LDc0MC4yMjQ0IDY1NC45OTc2LDc0MC4zNjQ0IDY1NS40ODk2LDc0MS4wMzM0IEM2NTUuOTgwNiw3NDEuNzAwNCA2NTUuODM4Niw3NDIuNjM5NCA2NTUuMTcxNiw3NDMuMTMxNCBDNjUzLjU1ODYsNzQ0LjMxODQgNjUxLjkzNTYsNzQ1LjQ5NTQgNjUwLjMwMzYsNzQ2LjY1OTQgQzY1MC4wMzk2LDc0Ni44NDc0IDY0OS43MzQ2LDc0Ni45Mzg0IDY0OS40MzM2LDc0Ni45Mzg0IEw2NDkuNDMzNiw3NDYuOTM4NCBaIE0xODEuNTc2Niw3NTIuNTE0NCBDMTgxLjI4NjYsNzUyLjUxNDQgMTgwLjk5MzYsNzUyLjQzMDQgMTgwLjczNTYsNzUyLjI1NTQgQzE3OS4wNzE2LDc1MS4xMjc0IDE3Ny40MTc2LDc0OS45ODc0IDE3NS43NzE2LDc0OC44MzQ0IEMxNzUuMDkzNiw3NDguMzU4NCAxNzQuOTI4Niw3NDcuNDI0NCAxNzUuNDAzNiw3NDYuNzQ1NCBDMTc1Ljg3OTYsNzQ2LjA2NTQgMTc2LjgxNTYsNzQ1LjkwMjQgMTc3LjQ5MjYsNzQ2LjM3NzQgQzE3OS4xMjY2LDc0Ny41MjA0IDE4MC43Njk2LDc0OC42NTI0IDE4Mi40MTk2LDc0OS43NzI0IEMxODMuMTA0Niw3NTAuMjM3NCAxODMuMjgzNiw3NTEuMTcwNCAxODIuODE4Niw3NTEuODU1NCBDMTgyLjUyODYsNzUyLjI4MzQgMTgyLjA1NzYsNzUyLjUxNDQgMTgxLjU3NjYsNzUyLjUxNDQgTDE4MS41NzY2LDc1Mi41MTQ0IFogTTYzOS41ODI2LDc1My43NTQ0IEM2MzkuMDk5Niw3NTMuNzU0NCA2MzguNjI1Niw3NTMuNTIwNCA2MzguMzM1Niw3NTMuMDg5NCBDNjM3Ljg3NDYsNzUyLjQwMTQgNjM4LjA1ODYsNzUxLjQ3MDQgNjM4Ljc0NjYsNzUxLjAwODQgQzY0MC4zOTg2LDc0OS44OTk0IDY0Mi4wNDI2LDc0OC43ODA0IDY0My42Nzc2LDc0Ny42NDg0IEM2NDQuMzU0Niw3NDcuMTc2NCA2NDUuMjkxNiw3NDcuMzQ2NCA2NDUuNzY0Niw3NDguMDI4NCBDNjQ2LjIzNTYsNzQ4LjcwOTQgNjQ2LjA2NTYsNzQ5LjY0MzQgNjQ1LjM4NDYsNzUwLjExNTQgQzY0My43Mzc2LDc1MS4yNTU0IDY0Mi4wODI2LDc1Mi4zODQ0IDY0MC40MTY2LDc1My41MDA0IEM2NDAuMTYwNiw3NTMuNjcyNCA2MzkuODY5Niw3NTMuNzU0NCA2MzkuNTgyNiw3NTMuNzU0NCBMNjM5LjU4MjYsNzUzLjc1NDQgWiBNMTkxLjYxNTYsNzU5LjExMzQgQzE5MS4zMzk2LDc1OS4xMTM0IDE5MS4wNjE2LDc1OS4wMzc0IDE5MC44MTE2LDc1OC44Nzg0IEMxODkuMTE1Niw3NTcuNzk5NCAxODcuNDI3Niw3NTYuNzA3NCAxODUuNzQ4Niw3NTUuNjAzNCBDMTg1LjA1NjYsNzU1LjE0ODQgMTg0Ljg2NDYsNzU0LjIxODQgMTg1LjMxODYsNzUzLjUyNTQgQzE4NS43NzQ2LDc1Mi44MzM0IDE4Ni43MDY2LDc1Mi42NDQ0IDE4Ny4zOTY2LDc1My4wOTY0IEMxODkuMDYzNiw3NTQuMTkxNCAxOTAuNzM4Niw3NTUuMjc1NCAxOTIuNDIyNiw3NTYuMzQ4NCBDMTkzLjEyMTYsNzU2Ljc5MzQgMTkzLjMyNjYsNzU3LjcyMTQgMTkyLjg4MjYsNzU4LjQxOTQgQzE5Mi41OTY2LDc1OC44Njg0IDE5Mi4xMTA2LDc1OS4xMTM0IDE5MS42MTU2LDc1OS4xMTM0IEwxOTEuNjE1Niw3NTkuMTEzNCBaIE02MjkuNTQyNiw3NjAuMjc4NCBDNjI5LjA0NDYsNzYwLjI3ODQgNjI4LjU1NzYsNzYwLjAzMDQgNjI4LjI3MTYsNzU5LjU3NzQgQzYyNy44MzA2LDc1OC44NzY0IDYyOC4wNDE2LDc1Ny45NTA0IDYyOC43NDI2LDc1Ny41MDk0IEM2MzAuNDI1Niw3NTYuNDQ5NCA2MzIuMTAxNiw3NTUuMzc4NCA2MzMuNzY4Niw3NTQuMjk1NCBDNjM0LjQ2MzYsNzUzLjg0NTQgNjM1LjM5MjYsNzU0LjA0MDQgNjM1Ljg0MzYsNzU0LjczNTQgQzYzNi4yOTQ2LDc1NS40MzA0IDYzNi4wOTc2LDc1Ni4zNTk0IDYzNS40MDI2LDc1Ni44MTA0IEM2MzMuNzI0Niw3NTcuOTAxNCA2MzIuMDM2Niw3NTguOTgwNCA2MzAuMzQwNiw3NjAuMDQ4NCBDNjMwLjA5MjYsNzYwLjIwNDQgNjI5LjgxNTYsNzYwLjI3ODQgNjI5LjU0MjYsNzYwLjI3ODQgTDYyOS41NDI2LDc2MC4yNzg0IFogTTIwMS44NDc2LDc2NS40MTg0IEMyMDEuNTg1Niw3NjUuNDE4NCAyMDEuMzIwNiw3NjUuMzQ5NCAyMDEuMDc5Niw3NjUuMjA2NCBDMTk5LjM1MzYsNzY0LjE3NjQgMTk3LjYzMzYsNzYzLjEzNDQgMTk1LjkyMjYsNzYyLjA4MDQgQzE5NS4yMTc2LDc2MS42NDU0IDE5NC45OTc2LDc2MC43MjE0IDE5NS40MzI2LDc2MC4wMTU0IEMxOTUuODY3Niw3NTkuMzA5NCAxOTYuNzkyNiw3NTkuMDk0NCAxOTcuNDk2Niw3NTkuNTI1NCBDMTk5LjE5NTYsNzYwLjU3MjQgMjAwLjkwMTYsNzYxLjYwNzQgMjAyLjYxNjYsNzYyLjYzMDQgQzIwMy4zMjc2LDc2My4wNTQ0IDIwMy41NjE2LDc2My45NzQ0IDIwMy4xMzY2LDc2NC42ODY0IEMyMDIuODU1Niw3NjUuMTU3NCAyMDIuMzU3Niw3NjUuNDE4NCAyMDEuODQ3Niw3NjUuNDE4NCBMMjAxLjg0NzYsNzY1LjQxODQgWiBNNjE5LjMxNzYsNzY2LjUwNTQgQzYxOC44MDQ2LDc2Ni41MDU0IDYxOC4zMDQ2LDc2Ni4yNDE0IDYxOC4wMjQ2LDc2NS43NjY0IEM2MTcuNjAzNiw3NjUuMDUzNCA2MTcuODQxNiw3NjQuMTM0NCA2MTguNTU1Niw3NjMuNzEzNCBDNjIwLjI2OTYsNzYyLjcwMjQgNjIxLjk3NDYsNzYxLjY4MTQgNjIzLjY3MTYsNzYwLjY0NzQgQzYyNC4zNzk2LDc2MC4yMTg0IDYyNS4zMDM2LDc2MC40NDA0IDYyNS43MzI2LDc2MS4xNDg0IEM2MjYuMTYzNiw3NjEuODU2NCA2MjUuOTM4Niw3NjIuNzc5NCA2MjUuMjMxNiw3NjMuMjEwNCBDNjIzLjUyMjYsNzY0LjI1MTQgNjIxLjgwNDYsNzY1LjI4MDQgNjIwLjA3ODYsNzY2LjI5NzQgQzYxOS44Mzk2LDc2Ni40Mzg0IDYxOS41Nzc2LDc2Ni41MDU0IDYxOS4zMTc2LDc2Ni41MDU0IEw2MTkuMzE3Niw3NjYuNTA1NCBaIE0yMTIuMjYxNiw3NzEuNDIxNCBDMjEyLjAxNDYsNzcxLjQyMTQgMjExLjc2MzYsNzcxLjM2MDQgMjExLjUzMTYsNzcxLjIzMTQgQzIwOS43NzQ2LDc3MC4yNTI0IDIwOC4wMjU2LDc2OS4yNjE0IDIwNi4yODM2LDc2OC4yNTc0IEMyMDUuNTY1Niw3NjcuODQzNCAyMDUuMzE5Niw3NjYuOTI2NCAyMDUuNzMyNiw3NjYuMjA4NCBDMjA2LjE0NTYsNzY1LjQ4OTQgMjA3LjA2MjYsNzY1LjI0NTQgMjA3Ljc4MTYsNzY1LjY1NzQgQzIwOS41MTA2LDc2Ni42NTQ0IDIxMS4yNDc2LDc2Ny42Mzk0IDIxMi45OTI2LDc2OC42MTA0IEMyMTMuNzE2Niw3NjkuMDE0NCAyMTMuOTc2Niw3NjkuOTI4NCAyMTMuNTcyNiw3NzAuNjUxNCBDMjEzLjI5ODYsNzcxLjE0MzQgMjEyLjc4NzYsNzcxLjQyMTQgMjEyLjI2MTYsNzcxLjQyMTQgTDIxMi4yNjE2LDc3MS40MjE0IFogTTYwOC45MjE2LDc3Mi40Mjc0IEM2MDguMzkzNiw3NzIuNDI3NCA2MDcuODc5Niw3NzIuMTQ2NCA2MDcuNjA1Niw3NzEuNjUwNCBDNjA3LjIwNjYsNzcwLjkyNTQgNjA3LjQ3MTYsNzcwLjAxMzQgNjA4LjE5NjYsNzY5LjYxMjQgQzYwOS45Mzc2LDc2OC42NTQ0IDYxMS42NzE2LDc2Ny42ODM0IDYxMy4zOTc2LDc2Ni43MDA0IEM2MTQuMTE2Niw3NjYuMjkyNCA2MTUuMDMyNiw3NjYuNTQxNCA2MTUuNDQzNiw3NjcuMjYyNCBDNjE1Ljg1MjYsNzY3Ljk4MTQgNjE1LjYwMjYsNzY4Ljg5NzQgNjE0Ljg4MjYsNzY5LjMwNzQgQzYxMy4xNDQ2LDc3MC4yOTc0IDYxMS4zOTY2LDc3MS4yNzU0IDYwOS42NDQ2LDc3Mi4yNDA0IEM2MDkuNDE0Niw3NzIuMzY3NCA2MDkuMTY2Niw3NzIuNDI3NCA2MDguOTIxNiw3NzIuNDI3NCBMNjA4LjkyMTYsNzcyLjQyNzQgWiBNMjIyLjg0OTYsNzc3LjExNzQgQzIyMi42MTU2LDc3Ny4xMTc0IDIyMi4zNzk2LDc3Ny4wNjM0IDIyMi4xNTg2LDc3Ni45NDg0IEMyMjAuMzczNiw3NzYuMDIxNCAyMTguNTk1Niw3NzUuMDgxNCAyMTYuODIzNiw3NzQuMTI5NCBDMjE2LjA5MzYsNzczLjczNjQgMjE1LjgxOTYsNzcyLjgyNzQgMjE2LjIxMjYsNzcyLjA5NzQgQzIxNi42MDQ2LDc3MS4zNjc0IDIxNy41MTc2LDc3MS4wOTc0IDIxOC4yNDM2LDc3MS40ODY0IEMyMjAuMDAzNiw3NzIuNDMyNCAyMjEuNzY4Niw3NzMuMzY1NCAyMjMuNTQxNiw3NzQuMjg2NCBDMjI0LjI3NjYsNzc0LjY2ODQgMjI0LjU2MjYsNzc1LjU3MzQgMjI0LjE4MTYsNzc2LjMwODQgQzIyMy45MTQ2LDc3Ni44MjI0IDIyMy4zOTE2LDc3Ny4xMTc0IDIyMi44NDk2LDc3Ny4xMTc0IEwyMjIuODQ5Niw3NzcuMTE3NCBaIE01OTguMzU3Niw3NzguMDQyNCBDNTk3LjgxMjYsNzc4LjA0MjQgNTk3LjI4NzYsNzc3Ljc0NDQgNTk3LjAyMTYsNzc3LjIyNjQgQzU5Ni42NDQ2LDc3Ni40ODk0IDU5Ni45MzU2LDc3NS41ODU0IDU5Ny42NzI2LDc3NS4yMDc0IEM1OTkuNDM5Niw3NzQuMzAxNCA2MDEuMjAxNiw3NzMuMzgxNCA2MDIuOTU0Niw3NzIuNDQ5NCBDNjAzLjY4NjYsNzcyLjA2MzQgNjA0LjU5NDYsNzcyLjMzODQgNjA0Ljk4MjYsNzczLjA2OTQgQzYwNS4zNzE2LDc3My44MDE0IDYwNS4wOTQ2LDc3NC43MDk0IDYwNC4zNjI2LDc3NS4wOTc0IEM2MDIuNTk2Niw3NzYuMDM3NCA2MDAuODIyNiw3NzYuOTYzNCA1OTkuMDQxNiw3NzcuODc3NCBDNTk4LjgyMjYsNzc3Ljk4OTQgNTk4LjU4ODYsNzc4LjA0MjQgNTk4LjM1NzYsNzc4LjA0MjQgTDU5OC4zNTc2LDc3OC4wNDI0IFogTTIzMy42MDQ2LDc4Mi41MDE0IEMyMzMuMzg1Niw3ODIuNTAxNCAyMzMuMTYzNiw3ODIuNDUzNCAyMzIuOTUzNiw3ODIuMzUyNCBDMjMxLjE0MDYsNzgxLjQ3NzQgMjI5LjMzNDYsNzgwLjU5MTQgMjI3LjUzNTYsNzc5LjY4ODQgQzIyNi43OTQ2LDc3OS4zMTc0IDIyNi40OTU2LDc3OC40MTY0IDIyNi44NjY2LDc3Ny42NzY0IEMyMjcuMjM3Niw3NzYuOTMzNCAyMjguMTQzNiw3NzYuNjM1NCAyMjguODc5Niw3NzcuMDA3NCBDMjMwLjY2NDYsNzc3LjkwMTQgMjMyLjQ1NjYsNzc4Ljc4MjQgMjM0LjI1NjYsNzc5LjY0OTQgQzIzNS4wMDI2LDc4MC4wMTA0IDIzNS4zMTU2LDc4MC45MDY0IDIzNC45NTY2LDc4MS42NTI0IEMyMzQuNjk3Niw3ODIuMTg4NCAyMzQuMTYxNiw3ODIuNTAxNCAyMzMuNjA0Niw3ODIuNTAxNCBMMjMzLjYwNDYsNzgyLjUwMTQgWiBNNTg3LjYzODYsNzgzLjM0NDQgQzU4Ny4wNzc2LDc4My4zNDQ0IDU4Ni41NDA2LDc4My4wMjg0IDU4Ni4yODI2LDc4Mi40ODk0IEM1ODUuOTI2Niw3ODEuNzQxNCA1ODYuMjQzNiw3ODAuODQ2NCA1ODYuOTkxNiw3ODAuNDg5NCBDNTg4Ljc4NTYsNzc5LjYzNTQgNTkwLjU3MjYsNzc4Ljc2NzQgNTkyLjM1MTYsNzc3Ljg4ODQgQzU5My4wOTI2LDc3Ny41MjA0IDU5My45OTI2LDc3Ny44MjU0IDU5NC4zNjA2LDc3OC41Njc0IEM1OTQuNzI3Niw3NzkuMzA5NCA1OTQuNDIzNiw3ODAuMjEwNCA1OTMuNjgxNiw3ODAuNTc3NCBDNTkxLjg4OTYsNzgxLjQ2MzQgNTkwLjA5MDYsNzgyLjMzNjQgNTg4LjI4MjYsNzgzLjE5ODQgQzU4OC4wNzQ2LDc4My4yOTc0IDU4Ny44NTQ2LDc4My4zNDQ0IDU4Ny42Mzg2LDc4My4zNDQ0IEw1ODcuNjM4Niw3ODMuMzQ0NCBaIE0yNDQuNTE2Niw3ODcuNTY2NCBDMjQ0LjMxMjYsNzg3LjU2NjQgMjQ0LjEwNDYsNzg3LjUyNDQgMjQzLjkwNTYsNzg3LjQzNTQgQzI0Mi4wNjY2LDc4Ni42MTQ0IDI0MC4yMzQ2LDc4NS43ODA0IDIzOC40MTA2LDc4NC45MzM0IEMyMzcuNjU5Niw3ODQuNTg1NCAyMzcuMzMzNiw3ODMuNjkzNCAyMzcuNjgyNiw3ODIuOTQxNCBDMjM4LjAzMTYsNzgyLjE4OTQgMjM4LjkyMTYsNzgxLjg2NDQgMjM5LjY3NDYsNzgyLjIxMzQgQzI0MS40ODQ2LDc4My4wNTQ0IDI0My4zMDM2LDc4My44ODI0IDI0NS4xMjg2LDc4NC42OTc0IEMyNDUuODg1Niw3ODUuMDM1NCAyNDYuMjI0Niw3ODUuOTIyNCAyNDUuODg2Niw3ODYuNjc4NCBDMjQ1LjYzNzYsNzg3LjIzNTQgMjQ1LjA5MDYsNzg3LjU2NjQgMjQ0LjUxNjYsNzg3LjU2NjQgTDI0NC41MTY2LDc4Ny41NjY0IFogTTU3Ni43NzE2LDc4OC4zMjY0IEM1NzYuMTk1Niw3ODguMzI2NCA1NzUuNjQ1Niw3ODcuOTkyNCA1NzUuMzk4Niw3ODcuNDMxNCBDNTc1LjA2MzYsNzg2LjY3NDQgNTc1LjQwNzYsNzg1Ljc4ODQgNTc2LjE2NTYsNzg1LjQ1NDQgQzU3Ny45ODI2LDc4NC42NTI0IDU3OS43OTM2LDc4My44Mzg0IDU4MS41OTc2LDc4My4wMTE0IEM1ODIuMzUxNiw3ODIuNjY2NCA1ODMuMjQwNiw3ODIuOTk2NCA1ODMuNTg1Niw3ODMuNzQ5NCBDNTgzLjkzMTYsNzg0LjUwMjQgNTgzLjYwMDYsNzg1LjM5MTQgNTgyLjg0NzYsNzg1LjczNzQgQzU4MS4wMzE2LDc4Ni41NzA0IDU3OS4yMDc2LDc4Ny4zOTA0IDU3Ny4zNzY2LDc4OC4xOTg0IEM1NzcuMTc5Niw3ODguMjg1NCA1NzYuOTc0Niw3ODguMzI2NCA1NzYuNzcxNiw3ODguMzI2NCBMNTc2Ljc3MTYsNzg4LjMyNjQgWiBNMjU1LjU3NTYsNzkyLjMxMDQgQzI1NS4zODU2LDc5Mi4zMTA0IDI1NS4xOTE2LDc5Mi4yNzQ0IDI1NS4wMDU2LDc5Mi4xOTc0IEMyNTMuMTQxNiw3OTEuNDMxNCAyNTEuMjg0Niw3OTAuNjUwNCAyNDkuNDM2Niw3ODkuODU2NCBDMjQ4LjY3NDYsNzg5LjUzMDQgMjQ4LjMyMjYsNzg4LjY0NzQgMjQ4LjY0OTYsNzg3Ljg4NzQgQzI0OC45NzY2LDc4Ny4xMjU0IDI0OS44NTc2LDc4Ni43NzI0IDI1MC42MTk2LDc4Ny4xMDA0IEMyNTIuNDU0Niw3ODcuODg5NCAyNTQuMjk3Niw3ODguNjYzNCAyNTYuMTQ1Niw3ODkuNDI0NCBDMjU2LjkxMjYsNzg5LjczODQgMjU3LjI3NzYsNzkwLjYxNTQgMjU2Ljk2MjYsNzkxLjM4MTQgQzI1Ni43MjQ2LDc5MS45NjE0IDI1Ni4xNjU2LDc5Mi4zMTA0IDI1NS41NzU2LDc5Mi4zMTA0IEwyNTUuNTc1Niw3OTIuMzEwNCBaIE01NjUuNzY3Niw3OTIuOTg4NCBDNTY1LjE3NTYsNzkyLjk4ODQgNTY0LjYxMzYsNzkyLjYzNjQgNTY0LjM3NzYsNzkyLjA1MzQgQzU2NC4wNjU2LDc5MS4yODU0IDU2NC40MzU2LDc5MC40MTA0IDU2NS4yMDI2LDc5MC4wOTg0IEM1NjcuMDQxNiw3ODkuMzUxNCA1NjguODc0Niw3ODguNTkxNCA1NzAuNzAwNiw3ODcuODE3NCBDNTcxLjQ2MzYsNzg3LjQ5MjQgNTcyLjM0MzYsNzg3Ljg1MTQgNTcyLjY2NjYsNzg4LjYxMzQgQzU3Mi45ODk2LDc4OS4zNzY0IDU3Mi42MzM2LDc5MC4yNTc0IDU3MS44NzA2LDc5MC41Nzk0IEM1NzAuMDMwNiw3OTEuMzU4NCA1NjguMTg0Niw3OTIuMTI1NCA1NjYuMzMxNiw3OTIuODc4NCBDNTY2LjE0NjYsNzkyLjk1MzQgNTY1Ljk1NTYsNzkyLjk4ODQgNTY1Ljc2NzYsNzkyLjk4ODQgTDU2NS43Njc2LDc5Mi45ODg0IFogTTI2Ni43NzU2LDc5Ni43MjY0IEMyNjYuNjAwNiw3OTYuNzI2NCAyNjYuNDIwNiw3OTYuNjk1NCAyNjYuMjQ2Niw3OTYuNjMwNCBDMjY0LjM2MDYsNzk1LjkxODQgMjYyLjQ4MTYsNzk1LjE5MzQgMjYwLjYwOTYsNzk0LjQ1NTQgQzI1OS44Mzg2LDc5NC4xNTE0IDI1OS40NjA2LDc5My4yODA0IDI1OS43NjQ2LDc5Mi41MTA0IEMyNjAuMDY3Niw3OTEuNzM3NCAyNjAuOTM5Niw3OTEuMzYwNCAyNjEuNzA5Niw3OTEuNjY0NCBDMjYzLjU2NzYsNzkyLjM5NjQgMjY1LjQzMzYsNzkzLjExNzQgMjY3LjMwNTYsNzkzLjgyMzQgQzI2OC4wODA2LDc5NC4xMTU0IDI2OC40NzI2LDc5NC45ODE0IDI2OC4xNzk2LDc5NS43NTY0IEMyNjcuOTUyNiw3OTYuMzU2NCAyNjcuMzgxNiw3OTYuNzI2NCAyNjYuNzc1Niw3OTYuNzI2NCBMMjY2Ljc3NTYsNzk2LjcyNjQgWiBNNTU0LjU4NjYsNzk3LjMzOTQgQzU1My45Nzc2LDc5Ny4zMzk0IDU1My40MDU2LDc5Ni45NjY0IDU1My4xODE2LDc5Ni4zNjI0IEM1NTIuODkyNiw3OTUuNTg2NCA1NTMuMjg2Niw3OTQuNzIyNCA1NTQuMDYyNiw3OTQuNDMzNCBDNTU1LjkzMTYsNzkzLjczNzQgNTU3Ljc5MzYsNzkzLjAyODQgNTU5LjY0ODYsNzkyLjMwNjQgQzU2MC40MTk2LDc5Mi4wMDU0IDU2MS4yOTA2LDc5Mi4zODc0IDU2MS41OTA2LDc5My4xNjA0IEM1NjEuODkxNiw3OTMuOTMyNCA1NjEuNTA5Niw3OTQuODAyNCA1NjAuNzM2Niw3OTUuMTAxNCBDNTU4Ljg2NzYsNzk1LjgyOTQgNTU2Ljk5MTYsNzk2LjU0NDQgNTU1LjEwOTYsNzk3LjI0NDQgQzU1NC45MzY2LDc5Ny4zMDg0IDU1NC43NjA2LDc5Ny4zMzk0IDU1NC41ODY2LDc5Ny4zMzk0IEw1NTQuNTg2Niw3OTcuMzM5NCBaIE0yNzguMTA0Niw4MDAuODEwNCBDMjc3Ljk0MTYsODAwLjgxMDQgMjc3Ljc3NzYsODAwLjc4NDQgMjc3LjYxNTYsODAwLjcyODQgQzI3NS43MDk2LDgwMC4wNzM0IDI3My44MDk2LDc5OS40MDQ0IDI3MS45MTQ2LDc5OC43MjE0IEMyNzEuMTM1Niw3OTguNDM5NCAyNzAuNzMwNiw3OTcuNTgwNCAyNzEuMDEyNiw3OTYuODAxNCBDMjcxLjI5MzYsNzk2LjAyMTQgMjcyLjE1MjYsNzk1LjYxNzQgMjcyLjkzMjYsNzk1Ljg5ODQgQzI3NC44MTI2LDc5Ni41NzY0IDI3Ni42OTk2LDc5Ny4yNDE0IDI3OC41OTI2LDc5Ny44OTI0IEMyNzkuMzc1Niw3OTguMTYxNCAyNzkuNzkxNiw3OTkuMDE0NCAyNzkuNTIxNiw3OTkuNzk5NCBDMjc5LjMwODYsODAwLjQyMDQgMjc4LjcyNzYsODAwLjgxMDQgMjc4LjEwNDYsODAwLjgxMDQgTDI3OC4xMDQ2LDgwMC44MTA0IFogTTU0My4yODE2LDgwMS4zNjE0IEM1NDIuNjU2Niw4MDEuMzYxNCA1NDIuMDcyNiw4MDAuOTY4NCA1NDEuODYwNiw4MDAuMzQzNCBDNTQxLjU5NTYsNzk5LjU1ODQgNTQyLjAxNTYsNzk4LjcwNzQgNTQyLjgwMDYsNzk4LjQ0MDQgQzU0NC42ODg2LDc5Ny44MDE0IDU0Ni41Njk2LDc5Ny4xNDY0IDU0OC40NDU2LDc5Ni40Nzk0IEM1NDkuMjI2Niw3OTYuMjAwNCA1NTAuMDgzNiw3OTYuNjA4NCA1NTAuMzYxNiw3OTcuMzg5NCBDNTUwLjYzOTYsNzk4LjE3MDQgNTUwLjIzMTYsNzk5LjAyODQgNTQ5LjQ1MTYsNzk5LjMwNjQgQzU0Ny41NjE2LDc5OS45Nzg0IDU0NS42NjU2LDgwMC42Mzc0IDU0My43NjM2LDgwMS4yODI0IEM1NDMuNjAzNiw4MDEuMzM2NCA1NDMuNDQwNiw4MDEuMzYxNCA1NDMuMjgxNiw4MDEuMzYxNCBMNTQzLjI4MTYsODAxLjM2MTQgWiBNMjg5LjU1MjYsODA0LjU1ODQgQzI4OS40MDQ2LDgwNC41NTg0IDI4OS4yNTU2LDgwNC41Mzc0IDI4OS4xMDY2LDgwNC40OTE0IEMyODcuMTgwNiw4MDMuODkxNCAyODUuMjYwNiw4MDMuMjc5NCAyODMuMzQ2Niw4MDIuNjUyNCBDMjgyLjU1OTYsODAyLjM5MzQgMjgyLjEzMDYsODAxLjU0NjQgMjgyLjM4ODYsODAwLjc1OTQgQzI4Mi42NDY2LDc5OS45NzI0IDI4My40OTA2LDc5OS41NDI0IDI4NC4yODE2LDc5OS44MDE0IEMyODYuMTgwNiw4MDAuNDI0NCAyODguMDg2Niw4MDEuMDMyNCAyODkuOTk3Niw4MDEuNjI2NCBDMjkwLjc4ODYsODAxLjg3MjQgMjkxLjIzMDYsODAyLjcxMzQgMjkwLjk4NDYsODAzLjUwNDQgQzI5MC43ODQ2LDgwNC4xNDY0IDI5MC4xOTE2LDgwNC41NTg0IDI4OS41NTI2LDgwNC41NTg0IEwyODkuNTUyNiw4MDQuNTU4NCBaIE01MzEuODYzNiw4MDUuMDQ5NCBDNTMxLjIyMTYsODA1LjA0OTQgNTMwLjYyNzYsODA0LjYzNDQgNTMwLjQyOTYsODAzLjk4ODQgQzUzMC4xODY2LDgwMy4xOTU0IDUzMC42MzI2LDgwMi4zNTc0IDUzMS40MjQ2LDgwMi4xMTQ0IEM1MzMuMzMxNiw4MDEuNTMxNCA1MzUuMjMwNiw4MDAuOTMyNCA1MzcuMTI1Niw4MDAuMzIwNCBDNTM3LjkxNTYsODAwLjA2OTQgNTM4Ljc1ODYsODAwLjQ5OTQgNTM5LjAxNDYsODAxLjI4NzQgQzUzOS4yNjg2LDgwMi4wNzU0IDUzOC44MzU2LDgwMi45MjE0IDUzOC4wNDc2LDgwMy4xNzY0IEM1MzYuMTM5Niw4MDMuNzkyNCA1MzQuMjI0Niw4MDQuMzk0NCA1MzIuMzAzNiw4MDQuOTgzNCBDNTMyLjE1NjYsODA1LjAyODQgNTMyLjAwODYsODA1LjA0OTQgNTMxLjg2MzYsODA1LjA0OTQgTDUzMS44NjM2LDgwNS4wNDk0IFogTTMwMS4wNjI2LDgwNy45NTQ0IEMzMDAuOTI4Niw4MDcuOTU0NCAzMDAuNzkyNiw4MDcuOTM2NCAzMDAuNjU3Niw4MDcuODk4NCBDMjk4LjcyMzYsODA3LjM1ODQgMjk2Ljc5NDYsODA2LjgwNTQgMjk0Ljg2OTYsODA2LjIzNzQgQzI5NC4wNzU2LDgwNi4wMDM0IDI5My42MjE2LDgwNS4xNjk0IDI5My44NTU2LDgwNC4zNzQ0IEMyOTQuMDkwNiw4MDMuNTgwNCAyOTQuOTI2Niw4MDMuMTI2NCAyOTUuNzE5Niw4MDMuMzYwNCBDMjk3LjYyODYsODAzLjkyNDQgMjk5LjU0MzYsODA0LjQ3MzQgMzAxLjQ2NDYsODA1LjAxMDQgQzMwMi4yNjI2LDgwNS4yMzI0IDMwMi43Mjg2LDgwNi4wNTk0IDMwMi41MDU2LDgwNi44NTc0IEMzMDIuMzIwNiw4MDcuNTIwNCAzMDEuNzE4Niw4MDcuOTU0NCAzMDEuMDYyNiw4MDcuOTU0NCBMMzAxLjA2MjYsODA3Ljk1NDQgWiBNNTIwLjM0MTYsODA4LjM5NTQgQzUxOS42ODM2LDgwOC4zOTU0IDUxOS4wNzg2LDgwNy45NTk0IDUxOC44OTU2LDgwNy4yOTM0IEM1MTguNjc2Niw4MDYuNDk0NCA1MTkuMTQ1Niw4MDUuNjY5NCA1MTkuOTQ0Niw4MDUuNDQ5NCBDNTIxLjg2NzYsODA0LjkyMTQgNTIzLjc4NTYsODA0LjM3OTQgNTI1LjY5NjYsODAzLjgyMzQgQzUyNi40OTc2LDgwMy41OTA0IDUyNy4zMjQ2LDgwNC4wNTA0IDUyNy41NTY2LDgwNC44NDU0IEM1MjcuNzg3Niw4MDUuNjQwNCA1MjcuMzI5Niw4MDYuNDcyNCA1MjYuNTM0Niw4MDYuNzA0NCBDNTI0LjYwNzYsODA3LjI2NDQgNTIyLjY3NjYsODA3LjgwOTQgNTIwLjczOTYsODA4LjM0MjQgQzUyMC42MDY2LDgwOC4zNzk0IDUyMC40NzM2LDgwOC4zOTU0IDUyMC4zNDE2LDgwOC4zOTU0IEw1MjAuMzQxNiw4MDguMzk1NCBaIE0zMTIuNjY0Niw4MTEuMDA4NCBDMzEyLjU0NTYsODExLjAwODQgMzEyLjQyNDYsODEwLjk5NDQgMzEyLjMwMzYsODEwLjk2NDQgQzMxMC4zNTM2LDgxMC40ODE0IDMwOC40MDc2LDgwOS45ODQ0IDMwNi40Njk2LDgwOS40NzM0IEMzMDUuNjY3Niw4MDkuMjYzNCAzMDUuMTg5Niw4MDguNDQyNCAzMDUuNDAwNiw4MDcuNjQxNCBDMzA1LjYxMDYsODA2Ljg0MDQgMzA2LjQzNDYsODA2LjM1OTQgMzA3LjIzMjYsODA2LjU3MzQgQzMwOS4xNTc2LDgwNy4wODA0IDMxMS4wODc2LDgwNy41NzM0IDMxMy4wMjM2LDgwOC4wNTI0IEMzMTMuODI3Niw4MDguMjUxNCAzMTQuMzE4Niw4MDkuMDYzNCAzMTQuMTE5Niw4MDkuODY4NCBDMzEzLjk1MDYsODEwLjU1MTQgMzEzLjMzODYsODExLjAwODQgMzEyLjY2NDYsODExLjAwODQgTDMxMi42NjQ2LDgxMS4wMDg0IFogTTUwOC43Mjc2LDgxMS40MDI0IEM1MDguMDUxNiw4MTEuNDAyNCA1MDcuNDM3Niw4MTAuOTQyNCA1MDcuMjcwNiw4MTAuMjU3NCBDNTA3LjA3NDYsODA5LjQ1MTQgNTA3LjU2ODYsODA4LjY0MDQgNTA4LjM3MzYsODA4LjQ0NDQgQzUxMC4zMTI2LDgwNy45NzM0IDUxMi4yNDM2LDgwNy40ODg0IDUxNC4xNzA2LDgwNi45ODk0IEM1MTQuOTc0Niw4MDYuNzg0NCA1MTUuNzkxNiw4MDcuMjY0NCA1MTUuOTk4Niw4MDguMDY1NCBDNTE2LjIwNjYsODA4Ljg2NzQgNTE1LjcyNDYsODA5LjY4NTQgNTE0LjkyMjYsODA5Ljg5MzQgQzUxMi45ODE2LDgxMC4zOTY0IDUxMS4wMzQ2LDgxMC44ODY0IDUwOS4wODI2LDgxMS4zNjA0IEM1MDguOTYzNiw4MTEuMzg5NCA1MDguODQ0Niw4MTEuNDAyNCA1MDguNzI3Niw4MTEuNDAyNCBMNTA4LjcyNzYsODExLjQwMjQgWiBNMzI0LjM1MzYsODEzLjcxOTQgQzMyNC4yNDc2LDgxMy43MTk0IDMyNC4xNDE2LDgxMy43MDg0IDMyNC4wMzM2LDgxMy42ODQ0IEMzMjIuMDY5Niw4MTMuMjYwNCAzMjAuMTEwNiw4MTIuODIwNCAzMTguMTU3Niw4MTIuMzY3NCBDMzE3LjM1MTYsODEyLjE4MTQgMzE2Ljg0ODYsODExLjM3NDQgMzE3LjAzNTYsODEwLjU2NzQgQzMxNy4yMjI2LDgwOS43NjE0IDMxOC4wMjE2LDgwOS4yNTk0IDMxOC44MzU2LDgwOS40NDU0IEMzMjAuNzc0Niw4MDkuODk0NCAzMjIuNzE4Niw4MTAuMzMwNCAzMjQuNjY4Niw4MTAuNzUzNCBDMzI1LjQ3ODYsODEwLjkyODQgMzI1Ljk5MjYsODExLjcyNjQgMzI1LjgxNjYsODEyLjUzNjQgQzMyNS42NjQ2LDgxMy4yMzk0IDMyNS4wNDM2LDgxMy43MTk0IDMyNC4zNTM2LDgxMy43MTk0IEwzMjQuMzUzNiw4MTMuNzE5NCBaIE00OTcuMDI3Niw4MTQuMDY1NCBDNDk2LjMzNDYsODE0LjA2NTQgNDk1LjcxMjYsODEzLjU4MjQgNDk1LjU2MjYsODEyLjg3NzQgQzQ5NS4zOTA2LDgxMi4wNjY0IDQ5NS45MDg2LDgxMS4yNjk0IDQ5Ni43MTg2LDgxMS4wOTc0IEM0OTguNjY5Niw4MTAuNjg0NCA1MDAuNjE1Niw4MTAuMjU3NCA1MDIuNTU2Niw4MDkuODE0NCBDNTAzLjM2NjYsODA5LjYzMzQgNTA0LjE2ODYsODEwLjEzODQgNTA0LjM1MjYsODEwLjk0NDQgQzUwNC41MzU2LDgxMS43NTI0IDUwNC4wMjk2LDgxMi41NTY0IDUwMy4yMjI2LDgxMi43NDA0IEM1MDEuMjY2Niw4MTMuMTg0NCA0OTkuMzA2Niw4MTMuNjE2NCA0OTcuMzQxNiw4MTQuMDMzNCBDNDk3LjIzNTYsODE0LjA1NTQgNDk3LjEzMTYsODE0LjA2NTQgNDk3LjAyNzYsODE0LjA2NTQgTDQ5Ny4wMjc2LDgxNC4wNjU0IFogTTMzNi4xMTU2LDgxNi4wODQ0IEMzMzYuMDIzNiw4MTYuMDg0NCAzMzUuOTMyNiw4MTYuMDc2NCAzMzUuODM5Niw4MTYuMDU4NCBDMzMzLjg2NDYsODE1LjY5MTQgMzMxLjg5NTYsODE1LjMwOTQgMzI5LjkyODYsODE0LjkxNTQgQzMyOS4xMTY2LDgxNC43NTI0IDMyOC41OTA2LDgxMy45NjE0IDMyOC43NTM2LDgxMy4xNDk0IEMzMjguOTE3Niw4MTIuMzM2NCAzMjkuNzEyNiw4MTEuODE0NCAzMzAuNTE5Niw4MTEuOTczNCBDMzMyLjQ3MTYsODEyLjM2NjQgMzM0LjQyNzYsODEyLjc0NDQgMzM2LjM4ODYsODEzLjEwOTQgQzMzNy4yMDI2LDgxMy4yNjE0IDMzNy43Mzk2LDgxNC4wNDQ0IDMzNy41ODg2LDgxNC44NTg0IEMzMzcuNDU0Niw4MTUuNTgwNCAzMzYuODIzNiw4MTYuMDg0NCAzMzYuMTE1Niw4MTYuMDg0NCBMMzM2LjExNTYsODE2LjA4NDQgWiBNNDg1LjI1NjYsODE2LjM4MjQgQzQ4NC41NDU2LDgxNi4zODI0IDQ4My45MTM2LDgxNS44NzQ0IDQ4My43ODI2LDgxNS4xNDk0IEM0ODMuNjM0Niw4MTQuMzM1NCA0ODQuMTc1Niw4MTMuNTU0NCA0ODQuOTkwNiw4MTMuNDA2NCBDNDg2Ljk1MjYsODEzLjA1MDQgNDg4LjkxMDYsODEyLjY3OTQgNDkwLjg2MjYsODEyLjI5NTQgQzQ5MS42Nzg2LDgxMi4xMzU0IDQ5Mi40NjQ2LDgxMi42NjM0IDQ5Mi42MjQ2LDgxMy40NzY0IEM0OTIuNzg0Niw4MTQuMjkwNCA0OTIuMjU1Niw4MTUuMDc4NCA0OTEuNDQyNiw4MTUuMjM4NCBDNDg5LjQ3NTYsODE1LjYyNjQgNDg3LjUwMzYsODE1Ljk5OTQgNDg1LjUyNTYsODE2LjM1NzQgQzQ4NS40MzY2LDgxNi4zNzQ0IDQ4NS4zNDU2LDgxNi4zODI0IDQ4NS4yNTY2LDgxNi4zODI0IEw0ODUuMjU2Niw4MTYuMzgyNCBaIE0zNDcuOTQxNiw4MTguMTAyNCBDMzQ3Ljg2NDYsODE4LjEwMjQgMzQ3Ljc4NzYsODE4LjA5NzQgMzQ3LjcwOTYsODE4LjA4NTQgQzM0NS43MjM2LDgxNy43NzY0IDM0My43NDI2LDgxNy40NTI0IDM0MS43Njc2LDgxNy4xMTU0IEMzNDAuOTQ5Niw4MTYuOTc1NCAzNDAuNDAwNiw4MTYuMjAxNCAzNDAuNTQwNiw4MTUuMzg1NCBDMzQwLjY4MTYsODE0LjU2NzQgMzQxLjQ2MDYsODE0LjAxNzQgMzQyLjI3MDYsODE0LjE1ODQgQzM0NC4yMzI2LDgxNC40OTM0IDM0Ni4xOTg2LDgxNC44MTM0IDM0OC4xNzA2LDgxNS4xMjA0IEMzNDguOTg4Niw4MTUuMjQ4NCAzNDkuNTQ5Niw4MTYuMDE0NCAzNDkuNDIyNiw4MTYuODMzNCBDMzQ5LjMwNzYsODE3LjU3MzQgMzQ4LjY2ODYsODE4LjEwMjQgMzQ3Ljk0MTYsODE4LjEwMjQgTDM0Ny45NDE2LDgxOC4xMDI0IFogTTQ3My40MjE2LDgxOC4zNTU0IEM0NzIuNjkxNiw4MTguMzU1NCA0NzIuMDUyNiw4MTcuODIzNCA0NzEuOTM5Niw4MTcuMDgwNCBDNDcxLjgxNTYsODE2LjI2MTQgNDcyLjM3OTYsODE1LjQ5NjQgNDczLjE5ODYsODE1LjM3MjQgQzQ3NS4xNzI2LDgxNS4wNzM0IDQ3Ny4xMzk2LDgxNC43NjE0IDQ3OS4xMDI2LDgxNC40MzM0IEM0NzkuOTEyNiw4MTQuMjk3NCA0ODAuNjkwNiw4MTQuODQ4NCA0ODAuODI3Niw4MTUuNjY3NCBDNDgwLjk2MzYsODE2LjQ4MzQgNDgwLjQxMTYsODE3LjI1NzQgNDc5LjU5NDYsODE3LjM5MjQgQzQ3Ny42MTc2LDgxNy43MjI0IDQ3NS42MzU2LDgxOC4wMzg0IDQ3My42NDc2LDgxOC4zMzk0IEM0NzMuNTcxNiw4MTguMzUwNCA0NzMuNDk2Niw4MTguMzU1NCA0NzMuNDIxNiw4MTguMzU1NCBMNDczLjQyMTYsODE4LjM1NTQgWiBNMzU5LjgyMzYsODE5Ljc3NDQgQzM1OS43NjE2LDgxOS43NzQ0IDM1OS42OTc2LDgxOS43NzA0IDM1OS42MzQ2LDgxOS43NjM0IEMzNTcuNjQwNiw4MTkuNTEyNCAzNTUuNjUwNiw4MTkuMjQ3NCAzNTMuNjY1Niw4MTguOTY3NCBDMzUyLjg0NTYsODE4Ljg1MDQgMzUyLjI3MzYsODE4LjA5MjQgMzUyLjM5MDYsODE3LjI3MTQgQzM1Mi41MDU2LDgxNi40NTE0IDM1My4yNjY2LDgxNS44ODI0IDM1NC4wODU2LDgxNS45OTY0IEMzNTYuMDU1Niw4MTYuMjc0NCAzNTguMDMwNiw4MTYuNTM3NCAzNjAuMDA5Niw4MTYuNzg2NCBDMzYwLjgzMTYsODE2Ljg4OTQgMzYxLjQxMzYsODE3LjYzOTQgMzYxLjMxMDYsODE4LjQ2MjQgQzM2MS4yMTQ2LDgxOS4yMjA0IDM2MC41Njg2LDgxOS43NzQ0IDM1OS44MjM2LDgxOS43NzQ0IEwzNTkuODIzNiw4MTkuNzc0NCBaIE00NjEuNTMzNiw4MTkuOTc4NCBDNDYwLjc4NjYsODE5Ljk3ODQgNDYwLjEzOTYsODE5LjQyMTQgNDYwLjA0NjYsODE4LjY2MDQgQzQ1OS45NDY2LDgxNy44Mzg0IDQ2MC41MzE2LDgxNy4wOTA0IDQ2MS4zNTQ2LDgxNi45ODk0IEM0NjMuMzM1Niw4MTYuNzQ4NCA0NjUuMzExNiw4MTYuNDkzNCA0NjcuMjgyNiw4MTYuMjIzNCBDNDY4LjA5MzYsODE2LjEyMTQgNDY4Ljg1OTYsODE2LjY4NTQgNDY4Ljk3MjYsODE3LjUwNzQgQzQ2OS4wODQ2LDgxOC4zMjc0IDQ2OC41MTA2LDgxOS4wODQ0IDQ2Ny42ODg2LDgxOS4xOTY0IEM0NjUuNzAzNiw4MTkuNDY4NCA0NjMuNzEyNiw4MTkuNzI0NCA0NjEuNzE3Niw4MTkuOTY4NCBDNDYxLjY1NTYsODE5Ljk3NDQgNDYxLjU5NDYsODE5Ljk3ODQgNDYxLjUzMzYsODE5Ljk3ODQgTDQ2MS41MzM2LDgxOS45Nzg0IFogTTM3MS43NDc2LDgyMS4wOTc0IEMzNzEuNjk5Niw4MjEuMDk3NCAzNzEuNjUwNiw4MjEuMDk2NCAzNzEuNjAyNiw4MjEuMDkxNCBDMzY5LjYwMTYsODIwLjg5ODQgMzY3LjYwNDYsODIwLjY5MTQgMzY1LjYxMjYsODIwLjQ3MTQgQzM2NC43ODk2LDgyMC4zNzk0IDM2NC4xOTY2LDgxOS42Mzc0IDM2NC4yODc2LDgxOC44MTM0IEMzNjQuMzc5Niw4MTcuOTkwNCAzNjUuMTE1Niw4MTcuNDA0NCAzNjUuOTQ0Niw4MTcuNDg4NCBDMzY3LjkyMTYsODE3LjcwOTQgMzY5LjkwMjYsODE3LjkxNDQgMzcxLjg4OTYsODE4LjEwNDQgQzM3Mi43MTM2LDgxOC4xODM0IDM3My4zMTc2LDgxOC45MTY0IDM3My4yMzg2LDgxOS43NDE0IEMzNzMuMTY0Niw4MjAuNTE2NCAzNzIuNTExNiw4MjEuMDk3NCAzNzEuNzQ3Niw4MjEuMDk3NCBMMzcxLjc0NzYsODIxLjA5NzQgWiBNNDQ5LjYwMzYsODIxLjI1MjQgQzQ0OC44MzY2LDgyMS4yNTI0IDQ0OC4xODM2LDgyMC42Njg0IDQ0OC4xMTA2LDgxOS44ODk0IEM0NDguMDM1Niw4MTkuMDY0NCA0NDguNjQyNiw4MTguMzM0NCA0NDkuNDY3Niw4MTguMjU4NCBDNDUxLjQ1NDYsODE4LjA3NTQgNDUzLjQzNzYsODE3Ljg3ODQgNDU1LjQxNTYsODE3LjY2NzQgQzQ1Ni4yMzc2LDgxNy41Njk0IDQ1Ni45Nzg2LDgxOC4xNzY0IDQ1Ny4wNjU2LDgxOC45OTk0IEM0NTcuMTUzNiw4MTkuODIyNCA0NTYuNTU4Niw4MjAuNTYxNCA0NTUuNzMzNiw4MjAuNjQ5NCBDNDUzLjc0MTYsODIwLjg2MjQgNDUxLjc0MzYsODIxLjA2MTQgNDQ5Ljc0MjYsODIxLjI0NTQgQzQ0OS42OTU2LDgyMS4yNTA0IDQ0OS42NDg2LDgyMS4yNTI0IDQ0OS42MDM2LDgyMS4yNTI0IEw0NDkuNjAzNiw4MjEuMjUyNCBaIE0zODMuNzA1Niw4MjIuMDcyNCBDMzgzLjY3MTYsODIyLjA3MjQgMzgzLjYzNzYsODIyLjA3MTQgMzgzLjYwMzYsODIyLjA2OTQgQzM4MS41OTg2LDgyMS45MzQ0IDM3OS41OTc2LDgyMS43ODY0IDM3Ny41OTk2LDgyMS42MjM0IEMzNzYuNzczNiw4MjEuNTU2NCAzNzYuMTU4Niw4MjAuODMyNCAzNzYuMjI2Niw4MjAuMDA2NCBDMzc2LjI5MjYsODE5LjE4MTQgMzc3LjAwMzYsODE4LjU3MDQgMzc3Ljg0MzYsODE4LjYzMzQgQzM3OS44MjU2LDgxOC43OTQ0IDM4MS44MTI2LDgxOC45NDI0IDM4My44MDQ2LDgxOS4wNzU0IEMzODQuNjMwNiw4MTkuMTMxNCAzODUuMjU1Niw4MTkuODQ2NCAzODUuMjAwNiw4MjAuNjczNCBDMzg1LjE0NjYsODIxLjQ2NTQgMzg0LjQ4NzYsODIyLjA3MjQgMzgzLjcwNTYsODIyLjA3MjQgTDM4My43MDU2LDgyMi4wNzI0IFogTTQzNy42NDM2LDgyMi4xODA0IEM0MzYuODU2Niw4MjIuMTgwNCA0MzYuMTk2Niw4MjEuNTY4NCA0MzYuMTQ2Niw4MjAuNzc0NCBDNDM2LjA5NTYsODE5Ljk0NzQgNDM2LjcyMzYsODE5LjIzNDQgNDM3LjU0OTYsODE5LjE4MjQgQzQzOS41NDA2LDgxOS4wNTc0IDQ0MS41Mjg2LDgxOC45MTg0IDQ0My41MTI2LDgxOC43NjQ0IEM0NDQuMzQ4Niw4MTguNjkyNCA0NDUuMDYwNiw4MTkuMzE4NCA0NDUuMTIzNiw4MjAuMTQzNCBDNDQ1LjE4NzYsODIwLjk3MDQgNDQ0LjU2OTYsODIxLjY5MTQgNDQzLjc0NDYsODIxLjc1NTQgQzQ0MS43NDU2LDgyMS45MTA0IDQzOS43NDM2LDgyMi4wNTA0IDQzNy43Mzg2LDgyMi4xNzc0IEM0MzcuNzA2Niw4MjIuMTc5NCA0MzcuNjc0Niw4MjIuMTgwNCA0MzcuNjQzNiw4MjIuMTgwNCBMNDM3LjY0MzYsODIyLjE4MDQgWiBNMzk1LjY4NjYsODIyLjcwMTQgQzM5NS42NjY2LDgyMi43MDE0IDM5NS42NDY2LDgyMi43MDE0IDM5NS42Mjg2LDgyMi43MDA0IEMzOTMuNjE5Niw4MjIuNjI0NCAzOTEuNjE0Niw4MjIuNTMzNCAzODkuNjEzNiw4MjIuNDI5NCBDMzg4Ljc4NTYsODIyLjM4NjQgMzg4LjE1MDYsODIxLjY4MDQgMzg4LjE5MzYsODIwLjg1MjQgQzM4OC4yMzY2LDgyMC4wMjU0IDM4OC45NDI2LDgxOS4zOTA0IDM4OS43NzA2LDgxOS40MzI0IEMzOTEuNzU3Niw4MTkuNTM3NCAzOTMuNzQ4Niw4MTkuNjI2NCAzOTUuNzQxNiw4MTkuNzAyNCBDMzk2LjU2OTYsODE5LjczMzQgMzk3LjIxNTYsODIwLjQzMTQgMzk3LjE4NDYsODIxLjI1ODQgQzM5Ny4xNTI2LDgyMi4wNjY0IDM5Ni40ODc2LDgyMi43MDE0IDM5NS42ODY2LDgyMi43MDE0IEwzOTUuNjg2Niw4MjIuNzAxNCBaIE00MjUuNjU4Niw4MjIuNzYxNCBDNDI0Ljg1MzYsODIyLjc2MTQgNDI0LjE4NzYsODIyLjEyMjQgNDI0LjE2MDYsODIxLjMxMTQgQzQyNC4xMzI2LDgyMC40ODQ0IDQyNC43ODA2LDgxOS43OTA0IDQyNS42MDg2LDgxOS43NjI0IEM0MjcuNjAzNiw4MTkuNjkzNCA0MjkuNTk0Niw4MTkuNjExNCA0MzEuNTgxNiw4MTkuNTE1NCBDNDMyLjM5ODYsODE5LjQ4ODQgNDMzLjExMTYsODIwLjExNDQgNDMzLjE1MTYsODIwLjk0MTQgQzQzMy4xOTE2LDgyMS43Njg0IDQzMi41NTQ2LDgyMi40NzI0IDQzMS43MjY2LDgyMi41MTI0IEM0MjkuNzI1Niw4MjIuNjA5NCA0MjcuNzIwNiw4MjIuNjkxNCA0MjUuNzEwNiw4MjIuNzYwNCBDNDI1LjY5MzYsODIyLjc2MTQgNDI1LjY3NjYsODIyLjc2MTQgNDI1LjY1ODYsODIyLjc2MTQgTDQyNS42NTg2LDgyMi43NjE0IFogTTQwNy42Nzk2LDgyMi45ODI0IEw0MDcuNjY1Niw4MjIuOTgyNCBDNDA1LjY1NTYsODIyLjk2NDQgNDAzLjY0ODYsODIyLjkzMTQgNDAxLjY0NTYsODIyLjg4NTQgQzQwMC44MTc2LDgyMi44NjU0IDQwMC4xNjE2LDgyMi4xNzg0IDQwMC4xODE2LDgyMS4zNDk0IEM0MDAuMjAwNiw4MjAuNTMzNCA0MDAuODY4Niw4MTkuODg1NCA0MDEuNjgwNiw4MTkuODg1NCBMNDAxLjcxNjYsODE5Ljg4NTQgQzQwMy43MDU2LDgxOS45MzE0IDQwNS42OTc2LDgxOS45NjQ0IDQwNy42OTI2LDgxOS45ODI0IEM0MDguNTIxNiw4MTkuOTkwNCA0MDkuMTg3Niw4MjAuNjY4NCA0MDkuMTc5NjcxLDgyMS40OTY0IEM0MDkuMTcxNiw4MjIuMzIwNCA0MDguNTAxNiw4MjIuOTgyNCA0MDcuNjc5Niw4MjIuOTgyNCBMNDA3LjY3OTYsODIyLjk4MjQgWiBNNDEzLjY3OTYsODIyLjk5NTQgQzQxMi44NTQ2LDgyMi45OTU0IDQxMi4xODQ2LDgyMi4zMjk0IDQxMi4xNzk1NzIsODIxLjUwMzQgQzQxMi4xNzQ2LDgyMC42NzU0IDQxMi44NDI2LDgyMC4wMDA0IDQxMy42NzE2LDgxOS45OTU0IEM0MTUuNjY1Niw4MTkuOTg0NCA0MTcuNjU3Niw4MTkuOTYwNCA0MTkuNjQ1Niw4MTkuOTIxNCBDNDIwLjQyMzYsODE5LjkwNzQgNDIxLjE1ODYsODIwLjU2MjQgNDIxLjE3NTYsODIxLjM5MTQgQzQyMS4xOTA2LDgyMi4yMjA0IDQyMC41MzI2LDgyMi45MDQ0IDQxOS43MDQ2LDgyMi45MjE0IEM0MTcuNzAyNiw4MjIuOTYwNCA0MTUuNjk2Niw4MjIuOTg0NCA0MTMuNjg3Niw4MjIuOTk1NCBMNDEzLjY3OTYsODIyLjk5NTQgWiIgaWQ9IkZpbGwtMSIgZmlsbD0iI0EzQjFCRiIgb3BhY2l0eT0iMC4zOTU2NzA1NzMiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDE3LjE1MzksMTM4LjA1NzkgTDQxNy4xMjI5LDEzOC4wNTc5IEM0MTUuMjUyOSwxMzguMDE5OSA0MTMuMzc4OSwxMzcuOTk5OSA0MTEuNDk5OSwxMzcuOTk5OSBMNDExLjE1NDksMTM3Ljk5OTkgQzQxMC4zMjY5LDEzNy45OTk5IDQwOS42NTQ5LDEzNy4zMjg5IDQwOS42NTQ5LDEzNi40OTk5IEM0MDkuNjU0OSwxMzUuNjcxOSA0MTAuMzI2OSwxMzQuOTk5OSA0MTEuMTU0OSwxMzQuOTk5OSBMNDExLjQ5OTksMTM0Ljk5OTkgQzQxMy4zOTc5LDEzNC45OTk5IDQxNS4yOTM5LDEzNS4wMTk5IDQxNy4xODI5LDEzNS4wNTc5IEM0MTguMDEwOSwxMzUuMDc1OSA0MTguNjY5OSwxMzUuNzU5OSA0MTguNjUyOSwxMzYuNTg3OSBDNDE4LjYzNTksMTM3LjQwNjkgNDE3Ljk2NjksMTM4LjA1NzkgNDE3LjE1MzksMTM4LjA1NzkgTDQxNy4xNTM5LDEzOC4wNTc5IFogTTM5OS4xNzQ5LDEzOC4yNzE5IEMzOTguMzc2OSwxMzguMjcxOSAzOTcuNzEyOSwxMzcuNjQyOSAzOTcuNjc1OSwxMzYuODM3OSBDMzk3LjYzOTksMTM2LjAwOTkgMzk4LjI4MTksMTM1LjMwOTkgMzk5LjEwODksMTM1LjI3MjkgQzQwMS4xMDc5LDEzNS4xODQ5IDQwMy4xMTI5LDEzNS4xMTg5IDQwNS4xMjI5LDEzNS4wNzI5IEw0MDUuMTU3OSwxMzUuMDcyOSBDNDA1Ljk2OTksMTM1LjA3MjkgNDA2LjYzNzksMTM1LjcyMTkgNDA2LjY1NjksMTM2LjUzNzkgQzQwNi42NzQ5LDEzNy4zNjc5IDQwNi4wMTg5LDEzOC4wNTM5IDQwNS4xOTA5LDEzOC4wNzI5IEM0MDMuMjAyOSwxMzguMTE2OSA0MDEuMjE4OSwxMzguMTgyOSAzOTkuMjQxOSwxMzguMjY5OSBDMzk5LjIxODksMTM4LjI3MDkgMzk5LjE5NjksMTM4LjI3MTkgMzk5LjE3NDksMTM4LjI3MTkgTDM5OS4xNzQ5LDEzOC4yNzE5IFogTTQyOS4xMzg5LDEzOC41NTY5IEM0MjkuMTA3OSwxMzguNTU2OSA0MjkuMDc1OSwxMzguNTU1OSA0MjkuMDQyOSwxMzguNTUzOSBDNDI3LjA4NzksMTM4LjQyODkgNDI1LjA4MjksMTM4LjMyMzkgNDIzLjA4NTksMTM4LjI0MTkgQzQyMi4yNTc5LDEzOC4yMDY5IDQyMS42MTQ5LDEzNy41MDc5IDQyMS42NDg5LDEzNi42Nzk5IEM0MjEuNjgzOSwxMzUuODUyOSA0MjIuMzM4OSwxMzUuMjAzOSA0MjMuMjEwOSwxMzUuMjQzOSBDNDI1LjIyODksMTM1LjMyNzkgNDI3LjI1NTksMTM1LjQzMzkgNDI5LjIzMzksMTM1LjU1OTkgQzQzMC4wNTk5LDEzNS42MTI5IDQzMC42ODc5LDEzNi4zMjU5IDQzMC42MzQ5LDEzNy4xNTI5IEM0MzAuNTg0OSwxMzcuOTQ2OSA0MjkuOTI0OSwxMzguNTU2OSA0MjkuMTM4OSwxMzguNTU2OSBMNDI5LjEzODksMTM4LjU1NjkgWiBNMzg3LjIwMTksMTM5LjA1ODkgQzM4Ni40MzE5LDEzOS4wNTg5IDM4NS43Nzc5LDEzOC40Njk5IDM4NS43MDk5LDEzNy42ODk5IEMzODUuNjM2OSwxMzYuODY0OSAzODYuMjQ3OSwxMzYuMTM2OSAzODcuMDcyOSwxMzYuMDY0OSBDMzg5LjA3MDksMTM1Ljg4OTkgMzkxLjA3NTksMTM1LjczNTkgMzkzLjA4NjksMTM1LjYwMjkgQzM5My45MDQ5LDEzNS41NDQ5IDM5NC42Mjc5LDEzNi4xNzM5IDM5NC42ODE5LDEzNy4wMDA5IEMzOTQuNzM1OSwxMzcuODI3OSAzOTQuMTEwOSwxMzguNTQxOSAzOTMuMjgzOSwxMzguNTk2OSBDMzkxLjI5NDksMTM4LjcyNzkgMzg5LjMxMDksMTM4Ljg3OTkgMzg3LjMzNDksMTM5LjA1MjkgQzM4Ny4yODk5LDEzOS4wNTY5IDM4Ny4yNDU5LDEzOS4wNTg5IDM4Ny4yMDE5LDEzOS4wNTg5IEwzODcuMjAxOSwxMzkuMDU4OSBaIE00NDEuMDkyOSwxMzkuNTc0OSBDNDQxLjAzOTksMTM5LjU3NDkgNDQwLjk4NTksMTM5LjU3MTkgNDQwLjkzMDksMTM5LjU2NTkgQzQzOC45NTc5LDEzOS4zNTM5IDQzNi45Nzc5LDEzOS4xNjI5IDQzNC45OTM5LDEzOC45OTQ5IEM0MzQuMTY3OSwxMzguOTI0OSA0MzMuNTU1OSwxMzguMTk4OSA0MzMuNjI2OSwxMzcuMzcyOSBDNDMzLjY5NTksMTM2LjU0NzkgNDM0LjQyNDksMTM1LjkyMzkgNDM1LjI0NzksMTM2LjAwNTkgQzQzNy4yNTQ5LDEzNi4xNzY5IDQzOS4yNTY5LDEzNi4zNjk5IDQ0MS4yNTE5LDEzNi41ODI5IEM0NDIuMDc0OSwxMzYuNjcwOSA0NDIuNjcxOSwxMzcuNDEwOSA0NDIuNTgyOSwxMzguMjM0OSBDNDQyLjUwMDksMTM5LjAwMzkgNDQxLjg0OTksMTM5LjU3NDkgNDQxLjA5MjksMTM5LjU3NDkgTDQ0MS4wOTI5LDEzOS41NzQ5IFogTTM3NS4yNzU5LDE0MC4zNjQ5IEMzNzQuNTM0OSwxNDAuMzY0OSAzNzMuODg5OSwxMzkuODE1OSAzNzMuNzkwOSwxMzkuMDYwOSBDMzczLjY4MTksMTM4LjIzOTkgMzc0LjI1OTksMTM3LjQ4NTkgMzc1LjA4MTksMTM3LjM3NjkgQzM3Ny4wNzE5LDEzNy4xMTU5IDM3OS4wNjc5LDEzNi44NzM5IDM4MS4wNjk5LDEzNi42NTU5IEMzODEuODkzOSwxMzYuNTczOSAzODIuNjMzOSwxMzcuMTU5OSAzODIuNzIzOSwxMzcuOTgzOSBDMzgyLjgxMzksMTM4LjgwNjkgMzgyLjIxODksMTM5LjU0NzkgMzgxLjM5NTksMTM5LjYzNzkgQzM3OS40MTU5LDEzOS44NTQ5IDM3Ny40NDA5LDE0MC4wOTE5IDM3NS40NzM5LDE0MC4zNTE5IEMzNzUuNDA3OSwxNDAuMzYwOSAzNzUuMzQwOSwxNDAuMzY0OSAzNzUuMjc1OSwxNDAuMzY0OSBMMzc1LjI3NTksMTQwLjM2NDkgWiBNNDUyLjk5MjksMTQxLjExMDkgQzQ1Mi45MTc5LDE0MS4xMTA5IDQ1Mi44NDE5LDE0MS4xMDQ5IDQ1Mi43NjU5LDE0MS4wOTM5IEM0NTAuODAyOSwxNDAuNzk1OSA0NDguODMzOSwxNDAuNTIwOSA0NDYuODU2OSwxNDAuMjY0OSBDNDQ2LjAzNTksMTQwLjE1OTkgNDQ1LjQ1NTksMTM5LjQwNjkgNDQ1LjU2MTksMTM4LjU4NDkgQzQ0NS42Njc5LDEzNy43NjM5IDQ0Ni40MjQ5LDEzNy4xNzg5IDQ0Ny4yNDE5LDEzNy4yODk5IEM0NDkuMjM5OSwxMzcuNTQ3OSA0NTEuMjMwOSwxMzcuODI3OSA0NTMuMjE1OSwxMzguMTI2OSBDNDU0LjAzNDksMTM4LjI1MDkgNDU0LjU5NzksMTM5LjAxNTkgNDU0LjQ3MzksMTM5LjgzNDkgQzQ1NC4zNjA5LDE0MC41Nzg5IDQ1My43MjE5LDE0MS4xMTA5IDQ1Mi45OTI5LDE0MS4xMTA5IEw0NTIuOTkyOSwxNDEuMTEwOSBaIE0zNjMuNDE5OSwxNDIuMTg3OSBDMzYyLjcwNTksMTQyLjE4NzkgMzYyLjA3MjksMTQxLjY3NTkgMzYxLjk0MzksMTQwLjk0ODkgQzM2MS43OTk5LDE0MC4xMzE5IDM2Mi4zNDQ5LDEzOS4zNTQ5IDM2My4xNjA5LDEzOS4yMDk5IEMzNjUuMTM2OSwxMzguODYxOSAzNjcuMTIwOSwxMzguNTM0OSAzNjkuMTExOSwxMzguMjI3OSBDMzY5LjkyOTksMTM4LjEwMzkgMzcwLjY5NTksMTM4LjY2MjkgMzcwLjgyMjksMTM5LjQ4MTkgQzM3MC45NDg5LDE0MC4zMDA5IDM3MC4zODY5LDE0MS4wNjY5IDM2OS41Njg5LDE0MS4xOTI5IEMzNjcuNTk4OSwxNDEuNDk1OSAzNjUuNjM2OSwxNDEuODIwOSAzNjMuNjgxOSwxNDIuMTY0OSBDMzYzLjU5MzksMTQyLjE4MDkgMzYzLjUwNjksMTQyLjE4NzkgMzYzLjQxOTksMTQyLjE4NzkgTDM2My40MTk5LDE0Mi4xODc5IFogTTQ2NC44MTE5LDE0My4xNjM5IEM0NjQuNzE1OSwxNDMuMTYzOSA0NjQuNjE3OSwxNDMuMTU1OSA0NjQuNTE5OSwxNDMuMTM1OSBDNDYyLjU3NTksMTQyLjc1MjkgNDYwLjYwMTksMTQyLjM4NzkgNDU4LjY1MzksMTQyLjA0ODkgQzQ1Ny44Mzc5LDE0MS45MDc5IDQ1Ny4yOTA5LDE0MS4xMzA5IDQ1Ny40MzI5LDE0MC4zMTQ5IEM0NTcuNTczOSwxMzkuNDk3OSA0NTguMzQ3OSwxMzguOTQ0OSA0NTkuMTY3OSwxMzkuMDkzOSBDNDYxLjEzNjksMTM5LjQzNTkgNDYzLjEzMjksMTM5LjgwNTkgNDY1LjA5OTksMTQwLjE5MjkgQzQ2NS45MTI5LDE0MC4zNTI5IDQ2Ni40NDE5LDE0MS4xNDA5IDQ2Ni4yODE5LDE0MS45NTM5IEM0NjYuMTQwOSwxNDIuNjY4OSA0NjUuNTEzOSwxNDMuMTYzOSA0NjQuODExOSwxNDMuMTYzOSBMNDY0LjgxMTksMTQzLjE2MzkgWiBNMzUxLjY1NDksMTQ0LjUzMDkgQzM1MC45NjU5LDE0NC41MzA5IDM1MC4zNDU5LDE0NC4wNTQ5IDM1MC4xOTA5LDE0My4zNTU5IEMzNTAuMDExOSwxNDIuNTQ2OSAzNTAuNTIxOSwxNDEuNzQ1OSAzNTEuMzMwOSwxNDEuNTY2OSBDMzUzLjI5MDksMTQxLjEzMDkgMzU1LjI1NzksMTQwLjcxNjkgMzU3LjIzMjksMTQwLjMyMzkgQzM1OC4wNDE5LDE0MC4xNjQ5IDM1OC44MzU5LDE0MC42ODg5IDM1OC45OTc5LDE0MS41MDE5IEMzNTkuMTU4OSwxNDIuMzE0OSAzNTguNjMxOSwxNDMuMTA0OSAzNTcuODE4OSwxNDMuMjY1OSBDMzU1Ljg2NTksMTQzLjY1NDkgMzUzLjkxOTksMTQ0LjA2NDkgMzUxLjk4MDksMTQ0LjQ5NDkgQzM1MS44NzE5LDE0NC41MTg5IDM1MS43NjE5LDE0NC41MzA5IDM1MS42NTQ5LDE0NC41MzA5IEwzNTEuNjU0OSwxNDQuNTMwOSBaIE00NzYuNTI5OSwxNDUuNzM0OSBDNDc2LjQxMjksMTQ1LjczNDkgNDc2LjI5NDksMTQ1LjcyMDkgNDc2LjE3NDksMTQ1LjY5MjkgQzQ3NC4yNDQ5LDE0NS4yMjM5IDQ3Mi4zMDY5LDE0NC43NzY5IDQ3MC4zNjE5LDE0NC4zNDk5IEM0NjkuNTUxOSwxNDQuMTcyOSA0NjkuMDQwOSwxNDMuMzcyOSA0NjkuMjE3OSwxNDIuNTYzOSBDNDY5LjM5NDksMTQxLjc1NDkgNDcwLjE4NjksMTQxLjIzNjkgNDcxLjAwNDksMTQxLjQxOTkgQzQ3Mi45NDQ5LDE0MS44NDQ5IDQ3NC45MjI5LDE0Mi4zMDE5IDQ3Ni44ODI5LDE0Mi43NzY5IEM0NzcuNjg2OSwxNDIuOTcxOSA0NzguMTgxOSwxNDMuNzgyOSA0NzcuOTg2OSwxNDQuNTg3OSBDNDc3LjgxOTksMTQ1LjI3NDkgNDc3LjIwNjksMTQ1LjczNDkgNDc2LjUyOTksMTQ1LjczNDkgTDQ3Ni41Mjk5LDE0NS43MzQ5IFogTTM0MC4wMDI5LDE0Ny4zODU5IEMzMzkuMzQwOSwxNDcuMzg1OSAzMzguNzM0OSwxNDYuOTQ0OSAzMzguNTUzOSwxNDYuMjc0OSBDMzM4LjM0MDksMTQ1LjQ3NDkgMzM4LjgxNDksMTQ0LjY1MTkgMzM5LjYxNDksMTQ0LjQzNjkgQzM0MS41NTM5LDE0My45MTY5IDM0My41MDA5LDE0My40MTY5IDM0NS40NTY5LDE0Mi45MzY5IEMzNDYuMjYyOSwxNDIuNzQwOSAzNDcuMDcyOSwxNDMuMjMxOSAzNDcuMjcwOSwxNDQuMDM2OSBDMzQ3LjQ2NzksMTQ0Ljg0MDkgMzQ2Ljk3NTksMTQ1LjY1MjkgMzQ2LjE3MTksMTQ1Ljg1MDkgQzM0NC4yMzY5LDE0Ni4zMjU5IDM0Mi4zMTA5LDE0Ni44MTk5IDM0MC4zOTE5LDE0Ny4zMzQ5IEMzNDAuMjYxOSwxNDcuMzY5OSAzNDAuMTMxOSwxNDcuMzg1OSAzNDAuMDAyOSwxNDcuMzg1OSBMMzQwLjAwMjksMTQ3LjM4NTkgWiBNNDg4LjEyMzksMTQ4LjgxNjkgQzQ4Ny45ODQ5LDE0OC44MTY5IDQ4Ny44NDQ5LDE0OC43OTc5IDQ4Ny43MDU5LDE0OC43NTc5IEM0ODUuNzk4OSwxNDguMjA1OSA0ODMuODgyOSwxNDcuNjczOSA0ODEuOTU2OSwxNDcuMTYxOSBDNDgxLjE1NTksMTQ2Ljk0ODkgNDgwLjY3OTksMTQ2LjEyNjkgNDgwLjg5MjksMTQ1LjMyNjkgQzQ4MS4xMDQ5LDE0NC41MjU5IDQ4MS45MjQ5LDE0NC4wNDU5IDQ4Mi43Mjc5LDE0NC4yNjI5IEM0ODQuNjczOSwxNDQuNzc5OSA0ODYuNjEwOSwxNDUuMzE3OSA0ODguNTM5OSwxNDUuODc0OSBDNDg5LjMzNTksMTQ2LjEwNTkgNDg5Ljc5MzksMTQ2LjkzNzkgNDg5LjU2MzksMTQ3LjczMzkgQzQ4OS4zNzM5LDE0OC4zODk5IDQ4OC43NzM5LDE0OC44MTY5IDQ4OC4xMjM5LDE0OC44MTY5IEw0ODguMTIzOSwxNDguODE2OSBaIE0zMjguNDg4OSwxNTAuNzUwOSBDMzI3Ljg1MTksMTUwLjc1MDkgMzI3LjI2MDksMTUwLjM0MjkgMzI3LjA1ODksMTQ5LjcwMzkgQzMyNi44MDg5LDE0OC45MTM5IDMyNy4yNDY5LDE0OC4wNzA5IDMyOC4wMzY5LDE0Ny44MjE5IEMzMjkuOTQ1OSwxNDcuMjE2OSAzMzEuODg3OSwxNDYuNjI1OSAzMzMuODA3OSwxNDYuMDY1OSBDMzM0LjYwMTksMTQ1LjgzMzkgMzM1LjQzNjksMTQ2LjI4ODkgMzM1LjY2ODksMTQ3LjA4MzkgQzMzNS45MDA5LDE0Ny44Nzk5IDMzNS40NDQ5LDE0OC43MTI5IDMzNC42NDk5LDE0OC45NDQ5IEMzMzIuNzUwOSwxNDkuNDk4OSAzMzAuODI5OSwxNTAuMDgzOSAzMjguOTQwOSwxNTAuNjgwOSBDMzI4Ljc5MDksMTUwLjcyODkgMzI4LjYzNzksMTUwLjc1MDkgMzI4LjQ4ODksMTUwLjc1MDkgTDMyOC40ODg5LDE1MC43NTA5IFogTTQ5OS41OTE5LDE1Mi40MTI5IEM0OTkuNDMxOSwxNTIuNDEyOSA0OTkuMjY5OSwxNTIuMzg3OSA0OTkuMTEwOSwxNTIuMzMzOSBDNDk3LjIyMTksMTUxLjY5NjkgNDk1LjMyNDksMTUxLjA3NzkgNDkzLjQxNjksMTUwLjQ3OTkgQzQ5Mi42MjY5LDE1MC4yMzE5IDQ5Mi4xODU5LDE0OS4zODk5IDQ5Mi40MzM5LDE0OC41OTg5IEM0OTIuNjgxOSwxNDcuODA4OSA0OTMuNTIwOSwxNDcuMzY1OSA0OTQuMzE0OSwxNDcuNjE2OSBDNDk2LjI0MjksMTQ4LjIyMTkgNDk4LjE2MTksMTQ4Ljg0NjkgNTAwLjA3MTksMTQ5LjQ5MjkgQzUwMC44NTU5LDE0OS43NTY5IDUwMS4yNzc5LDE1MC42MDg5IDUwMS4wMTE5LDE1MS4zOTM5IEM1MDAuODAwOSwxNTIuMDE4OSA1MDAuMjE2OSwxNTIuNDEyOSA0OTkuNTkxOSwxNTIuNDEyOSBMNDk5LjU5MTksMTUyLjQxMjkgWiBNMzE3LjEzMTksMTU0LjYxODkgQzMxNi41MTg5LDE1NC42MTg5IDMxNS45NDQ5LDE1NC4yNDE5IDMxNS43MjE5LDE1My42MzI5IEMzMTUuNDM3OSwxNTIuODU0OSAzMTUuODM4OSwxNTEuOTkzOSAzMTYuNjE2OSwxNTEuNzA4OSBDMzE4LjUwNzksMTUxLjAxODkgMzIwLjQyMTksMTUwLjM0MjkgMzIyLjMwNDksMTQ5LjcwMTkgQzMyMy4wODg5LDE0OS40MzM5IDMyMy45NDA5LDE0OS44NTM5IDMyNC4yMDg5LDE1MC42Mzc5IEMzMjQuNDc0OSwxNTEuNDIxOSAzMjQuMDU1OSwxNTIuMjc0OSAzMjMuMjcxOSwxNTIuNTQwOSBDMzIxLjM4NjksMTUzLjE4MjkgMzE5LjUxMTksMTUzLjg0NTkgMzE3LjY0NTksMTU0LjUyNzkgQzMxNy40NzU5LDE1NC41ODg5IDMxNy4zMDE5LDE1NC42MTg5IDMxNy4xMzE5LDE1NC42MTg5IEwzMTcuMTMxOSwxNTQuNjE4OSBaIE01MTAuOTA3OSwxNTYuNTE3OSBDNTEwLjcyNjksMTU2LjUxNzkgNTEwLjU0MzksMTU2LjQ4NTkgNTEwLjM2NDksMTU2LjQxNTkgQzUwOC41MDk5LDE1NS42OTY5IDUwNi42MjU5LDE1NC45ODg5IDUwNC43NjA5LDE1NC4zMTI5IEM1MDMuOTgyOSwxNTQuMDMwOSA1MDMuNTgwOSwxNTMuMTY5OSA1MDMuODYyOSwxNTIuMzkwOSBDNTA0LjE0MzksMTUxLjYxMjkgNTA1LjAwNjksMTUxLjIwNzkgNTA1Ljc4NDksMTUxLjQ5MjkgQzUwNy42Njg5LDE1Mi4xNzU5IDUwOS41NzQ5LDE1Mi44OTE5IDUxMS40NTA5LDE1My42MTk5IEM1MTIuMjIyOSwxNTMuOTE4OSA1MTIuNjA1OSwxNTQuNzg3OSA1MTIuMzA1OSwxNTUuNTYwOSBDNTEyLjA3NTksMTU2LjE1NDkgNTExLjUwNzksMTU2LjUxNzkgNTEwLjkwNzksMTU2LjUxNzkgTDUxMC45MDc5LDE1Ni41MTc5IFogTTUyMi4wMjY5LDE2MS4xMTQ5IEM1MjEuODI0OSwxNjEuMTE0OSA1MjEuNjIwOSwxNjEuMDczOSA1MjEuNDIzOSwxNjAuOTg3OSBDNTE5LjYzMTksMTYwLjE5ODkgNTE3Ljc3OTksMTU5LjQwOTkgNTE1LjkyMDksMTU4LjY0MDkgQzUxNS4xNTQ5LDE1OC4zMjM5IDUxNC43OTA5LDE1Ny40NDY5IDUxNS4xMDc5LDE1Ni42ODA5IEM1MTUuNDIzOSwxNTUuOTE2OSA1MTYuMjk4OSwxNTUuNTUwOSA1MTcuMDY2OSwxNTUuODY3OSBDNTE4Ljk0NjksMTU2LjY0NDkgNTIwLjgxOTksMTU3LjQ0MzkgNTIyLjYzMTksMTU4LjI0MTkgQzUyMy4zODk5LDE1OC41NzU5IDUyMy43MzQ5LDE1OS40NTk5IDUyMy40MDA5LDE2MC4yMTg5IEM1MjMuMTUzOSwxNjAuNzgwOSA1MjIuNjAzOSwxNjEuMTE0OSA1MjIuMDI2OSwxNjEuMTE0OSBMNTIyLjAyNjksMTYxLjExNDkgWiBNNTMyLjkyNzksMTY2LjE5MzkgQzUzMi43MDU5LDE2Ni4xOTM5IDUzMi40Nzg5LDE2Ni4xNDM5IDUzMi4yNjU5LDE2Ni4wMzg5IEM1MzAuNDc4OSwxNjUuMTU4OSA1MjguNjgwOSwxNjQuMjk1OSA1MjYuODcyOSwxNjMuNDUzOSBDNTI2LjEyMTksMTYzLjEwMzkgNTI1Ljc5NjksMTYyLjIxMDkgNTI2LjE0NjksMTYxLjQ1OTkgQzUyNi40OTU5LDE2MC43MDg5IDUyNy4zODc5LDE2MC4zODE5IDUyOC4xMzk5LDE2MC43MzQ5IEM1MjkuOTY3OSwxNjEuNTg2OSA1MzEuNzg1OSwxNjIuNDU2OSA1MzMuNTkxOSwxNjMuMzQ3OSBDNTM0LjMzNTksMTYzLjcxMzkgNTM0LjY0MDksMTY0LjYxMzkgNTM0LjI3NDksMTY1LjM1NjkgQzUzNC4wMTI5LDE2NS44ODY5IDUzMy40ODA5LDE2Ni4xOTM5IDUzMi45Mjc5LDE2Ni4xOTM5IEw1MzIuOTI3OSwxNjYuMTkzOSBaIE01NDMuNTkxOSwxNzEuNzQ0OSBDNTQzLjM0NzksMTcxLjc0NDkgNTQzLjA5OTksMTcxLjY4NDkgNTQyLjg3MTksMTcxLjU1ODkgQzU0MS4xMjU5LDE3MC42MDA5IDUzOS4zNjc5LDE2OS42NjE5IDUzNy41OTg5LDE2OC43NDA5IEM1MzYuODYzOSwxNjguMzU4OSA1MzYuNTc4OSwxNjcuNDUyOSA1MzYuOTYxOSwxNjYuNzE3OSBDNTM3LjM0MjksMTY1Ljk4MzkgNTM4LjI1MDksMTY1LjY5NzkgNTM4Ljk4MzksMTY2LjA3OTkgQzU0MC43NzE5LDE2Ny4wMTA5IDU0Mi41NDg5LDE2Ny45NTk5IDU0NC4zMTQ5LDE2OC45Mjk5IEM1NDUuMDQxOSwxNjkuMzI4OSA1NDUuMzA2OSwxNzAuMjM5OSA1NDQuOTA3OSwxNzAuOTY1OSBDNTQ0LjYzNDksMTcxLjQ2MjkgNTQ0LjEyMTksMTcxLjc0NDkgNTQzLjU5MTksMTcxLjc0NDkgTDU0My41OTE5LDE3MS43NDQ5IFogTTI3My44Mzk5LDE3NC44ODM5IEMyNzMuMzIxOSwxNzQuODgzOSAyNzIuODE3OSwxNzQuNjE1OSAyNzIuNTQwOSwxNzQuMTM1OSBDMjcyLjEyNTksMTczLjQxNzkgMjcyLjM2OTksMTcyLjUwMDkgMjczLjA4NjksMTcyLjA4NTkgQzI3NC44MjE5LDE3MS4wODA5IDI3Ni41Njc5LDE3MC4wOTQ5IDI3OC4zMjU5LDE2OS4xMjY5IEMyNzkuMDQ5OSwxNjguNzI2OSAyNzkuOTYyOSwxNjguOTkwOSAyODAuMzYyOSwxNjkuNzE2OSBDMjgwLjc2MjksMTcwLjQ0MjkgMjgwLjQ5ODksMTcxLjM1NDkgMjc5Ljc3MjksMTcxLjc1MzkgQzI3OC4wMzQ5LDE3Mi43MTE5IDI3Ni4zMDU5LDE3My42ODg5IDI3NC41OTA5LDE3NC42ODE5IEMyNzQuMzUyOSwxNzQuODE5OSAyNzQuMDk0OSwxNzQuODgzOSAyNzMuODM5OSwxNzQuODgzOSBMMjczLjgzOTksMTc0Ljg4MzkgWiBNNTUzLjk5ODksMTc3Ljc1NDkgQzU1My43MzI5LDE3Ny43NTQ5IDU1My40NjM5LDE3Ny42ODQ5IDU1My4yMTk5LDE3Ny41MzY5IEM1NTEuNTQzOSwxNzYuNTE3OSA1NDkuODEzOSwxNzUuNDkzOSA1NDguMDc5OSwxNzQuNDkxOSBDNTQ3LjM2MTksMTc0LjA3NzkgNTQ3LjExNjksMTczLjE2MDkgNTQ3LjUzMDksMTcyLjQ0MjkgQzU0Ny45NDQ5LDE3MS43MjM5IDU0OC44NjI5LDE3MS40Nzg5IDU0OS41Nzk5LDE3MS44OTM5IEM1NTEuMzMzOSwxNzIuOTA2OSA1NTMuMDgyOSwxNzMuOTQyOSA1NTQuNzc4OSwxNzQuOTcyOSBDNTU1LjQ4NjksMTc1LjQwMzkgNTU1LjcxMTksMTc2LjMyNjkgNTU1LjI4MTksMTc3LjAzNDkgQzU1NC45OTg5LDE3Ny40OTc5IDU1NC41MDQ5LDE3Ny43NTQ5IDU1My45OTg5LDE3Ny43NTQ5IEw1NTMuOTk4OSwxNzcuNzU0OSBaIE0yNjMuNjEzOSwxODEuMTA5OSBDMjYzLjExOTksMTgxLjEwOTkgMjYyLjYzNDksMTgwLjg2NTkgMjYyLjM0ODksMTgwLjQxNjkgQzI2MS45MDI5LDE3OS43MTg5IDI2Mi4xMDY5LDE3OC43OTE5IDI2Mi44MDQ5LDE3OC4zNDU5IEMyNjQuNDk0OSwxNzcuMjY1OSAyNjYuMTk3OSwxNzYuMjAzOSAyNjcuOTEzOSwxNzUuMTU5OSBDMjY4LjYxOTksMTc0LjcyODkgMjY5LjU0MzksMTc0Ljk1MjkgMjY5Ljk3MzksMTc1LjY2MTkgQzI3MC40MDQ5LDE3Ni4zNjg5IDI3MC4xNzk5LDE3Ny4yOTA5IDI2OS40NzE5LDE3Ny43MjE5IEMyNjcuNzc1OSwxNzguNzUzOSAyNjYuMDkxOSwxNzkuODA0OSAyNjQuNDIwOSwxODAuODcyOSBDMjY0LjE3MDksMTgxLjAzMzkgMjYzLjg5MDksMTgxLjEwOTkgMjYzLjYxMzksMTgxLjEwOTkgTDI2My42MTM5LDE4MS4xMDk5IFogTTU2NC4xMjk5LDE4NC4yMTA5IEM1NjMuODQxOSwxODQuMjEwOSA1NjMuNTUxOSwxODQuMTI4OSA1NjMuMjk2OSwxODMuOTU3OSBDNTYxLjY0NjksMTgyLjg1NDkgNTU5Ljk2NDksMTgxLjc1NTkgNTU4LjI5NTksMTgwLjY5MjkgQzU1Ny41OTU5LDE4MC4yNDc5IDU1Ny4zOTA5LDE3OS4zMjA5IDU1Ny44MzY5LDE3OC42MjE5IEM1NTguMjgwOSwxNzcuOTIxOSA1NTkuMjA4OSwxNzcuNzIwOSA1NTkuOTA2OSwxNzguMTYxOSBDNTYxLjU5MzksMTc5LjIzNzkgNTYzLjI5NjksMTgwLjM0ODkgNTY0Ljk2NDksMTgxLjQ2MzkgQzU2NS42NTI5LDE4MS45MjQ5IDU2NS44Mzc5LDE4Mi44NTY5IDU2NS4zNzc5LDE4My41NDQ5IEM1NjUuMDg4OSwxODMuOTc3OSA1NjQuNjEyOSwxODQuMjEwOSA1NjQuMTI5OSwxODQuMjEwOSBMNTY0LjEyOTksMTg0LjIxMDkgWiBNMjUzLjY2MjksMTg3Ljc3NjkgQzI1My4xOTA5LDE4Ny43NzY5IDI1Mi43MjU5LDE4Ny41NTM5IDI1Mi40MzM5LDE4Ny4xMzc5IEMyNTEuOTU3OSwxODYuNDU5OSAyNTIuMTIxOSwxODUuNTI0OSAyNTIuNzk5OSwxODUuMDQ4OSBDMjU0LjQ0MjksMTgzLjg5NTkgMjU2LjA5NzksMTgyLjc1OTkgMjU3Ljc2NTksMTgxLjY0MTkgQzI1OC40NTI5LDE4MS4xNzk5IDI1OS4zODM5LDE4MS4zNjQ5IDI1OS44NDY5LDE4Mi4wNTI5IEMyNjAuMzA3OSwxODIuNzQwOSAyNjAuMTI0OSwxODMuNjcxOSAyNTkuNDM1OSwxODQuMTMzOSBDMjU3Ljc4NTksMTg1LjI0MDkgMjU2LjE0NzksMTg2LjM2NDkgMjU0LjUyMjksMTg3LjUwMzkgQzI1NC4yNjA5LDE4Ny42ODg5IDI1My45NjA5LDE4Ny43NzY5IDI1My42NjI5LDE4Ny43NzY5IEwyNTMuNjYyOSwxODcuNzc2OSBaIE01NzMuOTY1OSwxOTEuMTAxOSBDNTczLjY1NzksMTkxLjEwMTkgNTczLjM0NjksMTkxLjAwNjkgNTczLjA3OTksMTkwLjgxMDkgQzU3MS40NzM5LDE4OS42MzI5IDU2OS44NTY5LDE4OC40NzM5IDU2OC4yMjU5LDE4Ny4zMzA5IEM1NjcuNTQ3OSwxODYuODU1OSA1NjcuMzgxOSwxODUuOTIwOSA1NjcuODU3OSwxODUuMjQyOSBDNTY4LjMzNDksMTg0LjU2MjkgNTY5LjI2OTksMTg0LjM5OTkgNTY5Ljk0NjksMTg0Ljg3MzkgQzU3MS41OTQ5LDE4Ni4wMjg5IDU3My4yMzE5LDE4Ny4yMDE5IDU3NC44NTQ5LDE4OC4zOTI5IEM1NzUuNTIyOSwxODguODgyOSA1NzUuNjY2OSwxODkuODIxOSA1NzUuMTc1OSwxOTAuNDg5OSBDNTc0Ljg4MTksMTkwLjg4OTkgNTc0LjQyNjksMTkxLjEwMTkgNTczLjk2NTksMTkxLjEwMTkgTDU3My45NjU5LDE5MS4xMDE5IFogTTI0NC4wMDg5LDE5NC44NzI5IEMyNDMuNTU4OSwxOTQuODcyOSAyNDMuMTE0OSwxOTQuNjcxOSAyNDIuODE4OSwxOTQuMjg2OSBDMjQyLjMxMzksMTkzLjYyOTkgMjQyLjQzNjksMTkyLjY4ODkgMjQzLjA5MzksMTkyLjE4MzkgQzI0NC42ODU5LDE5MC45NjA5IDI0Ni4yOTA5LDE4OS43NTM5IDI0Ny45MDg5LDE4OC41NjQ5IEMyNDguNTc1OSwxODguMDcyOSAyNDkuNTE0OSwxODguMjE2OSAyNTAuMDA1OSwxODguODgzOSBDMjUwLjQ5NjksMTg5LjU1MDkgMjUwLjM1MjksMTkwLjQ5MDkgMjQ5LjY4NTksMTkwLjk4MDkgQzI0OC4wODU5LDE5Mi4xNTg5IDI0Ni40OTY5LDE5My4zNTE5IDI0NC45MjI5LDE5NC41NjI5IEMyNDQuNjQ5OSwxOTQuNzcxOSAyNDQuMzI4OSwxOTQuODcyOSAyNDQuMDA4OSwxOTQuODcyOSBMMjQ0LjAwODksMTk0Ljg3MjkgWiBNNTgzLjQ5MDksMTk4LjQwOTkgQzU4My4xNjE5LDE5OC40MDk5IDU4Mi44Mjk5LDE5OC4zMDE5IDU4Mi41NTI5LDE5OC4wNzg5IEM1ODEuMDAwOSwxOTYuODMzOSA1NzkuNDM0OSwxOTUuNjA1OSA1NzcuODU1OSwxOTQuMzkzOSBDNTc3LjE5ODksMTkzLjg4ODkgNTc3LjA3NDksMTkyLjk0NzkgNTc3LjU3OTksMTkyLjI4OTkgQzU3OC4wODI5LDE5MS42MzI5IDU3OS4wMjM5LDE5MS41MDU5IDU3OS42ODE5LDE5Mi4wMTM5IEM1ODEuMjc4OSwxOTMuMjM4OSA1ODIuODYxOSwxOTQuNDgwOSA1ODQuNDI5OSwxOTUuNzM5OSBDNTg1LjA3NjksMTk2LjI1NzkgNTg1LjE3OTksMTk3LjIwMTkgNTg0LjY2MTksMTk3Ljg0NzkgQzU4NC4zNjU5LDE5OC4yMTY5IDU4My45Mjk5LDE5OC40MDk5IDU4My40OTA5LDE5OC40MDk5IEw1ODMuNDkwOSwxOTguNDA5OSBaIE0yMzQuNjY4OSwyMDIuMzgyOSBDMjM0LjI0MDksMjAyLjM4MjkgMjMzLjgxNTksMjAyLjIwMTkgMjMzLjUxODksMjAxLjg0NzkgQzIzMi45ODU5LDIwMS4yMTM5IDIzMy4wNjc5LDIwMC4yNjc5IDIzMy43MDI5LDE5OS43MzQ5IEMyMzUuMjM5OSwxOTguNDQyOSAyMzYuNzkxOSwxOTcuMTY2OSAyMzguMzU4OSwxOTUuOTA3OSBDMjM5LjAwMTksMTk1LjM4NzkgMjM5Ljk0NzksMTk1LjQ4OTkgMjQwLjQ2NjksMTk2LjEzNjkgQzI0MC45ODY5LDE5Ni43ODI5IDI0MC44ODM5LDE5Ny43MjY5IDI0MC4yMzc5LDE5OC4yNDU5IEMyMzguNjg3OSwxOTkuNDkxOSAyMzcuMTUzOSwyMDAuNzUyOSAyMzUuNjMyOSwyMDIuMDMxOSBDMjM1LjM1MDksMjAyLjI2NzkgMjM1LjAwODksMjAyLjM4MjkgMjM0LjY2ODksMjAyLjM4MjkgTDIzNC42Njg5LDIwMi4zODI5IFogTTU5Mi42ODY5LDIwNi4xMjI5IEM1OTIuMzM2OSwyMDYuMTIyOSA1OTEuOTgzOSwyMDYuMDAwOSA1OTEuNjk5OSwyMDUuNzUwOSBDNTkwLjIwMzksMjA0LjQzOTkgNTg4LjY5MjksMjAzLjE0NTkgNTg3LjE2ODksMjAxLjg2NjkgQzU4Ni41MzM5LDIwMS4zMzM5IDU4Ni40NTA5LDIwMC4zODc5IDU4Ni45ODI5LDE5OS43NTI5IEM1ODcuNTE0OSwxOTkuMTE5OSA1ODguNDU5OSwxOTkuMDM1OSA1ODkuMDk1OSwxOTkuNTY3OSBDNTkwLjYzNzksMjAwLjg2MDkgNTkyLjE2NDksMjAyLjE2OTkgNTkzLjY3NjksMjAzLjQ5NTkgQzU5NC4yOTg5LDIwNC4wNDA5IDU5NC4zNjE5LDIwNC45ODk5IDU5My44MTU5LDIwNS42MTI5IEM1OTMuNTE4OSwyMDUuOTUwOSA1OTMuMTAzOSwyMDYuMTIyOSA1OTIuNjg2OSwyMDYuMTIyOSBMNTkyLjY4NjksMjA2LjEyMjkgWiBNMjI1LjY1OTksMjEwLjI5NDkgQzIyNS4yNTQ5LDIxMC4yOTQ5IDIyNC44NDk5LDIxMC4xMzE5IDIyNC41NTM5LDIwOS44MDg5IEMyMjMuOTk0OSwyMDkuMTk4OSAyMjQuMDM1OSwyMDguMjQ4OSAyMjQuNjQ1OSwyMDcuNjg5OSBDMjI2LjEyNjksMjA2LjMzMTkgMjI3LjYyMTksMjA0Ljk4OTkgMjI5LjEzMTksMjAzLjY2MjkgQzIyOS43NTQ5LDIwMy4xMTY5IDIzMC43MDA5LDIwMy4xNzk5IDIzMS4yNDg5LDIwMy43OTk5IEMyMzEuNzk1OSwyMDQuNDIyOSAyMzEuNzMzOSwyMDUuMzcwOSAyMzEuMTExOSwyMDUuOTE2OSBDMjI5LjYxNzksMjA3LjIyOTkgMjI4LjEzNzksMjA4LjU1NjkgMjI2LjY3MzksMjA5LjkwMDkgQzIyNi4zODQ5LDIxMC4xNjM5IDIyNi4wMjE5LDIxMC4yOTQ5IDIyNS42NTk5LDIxMC4yOTQ5IEwyMjUuNjU5OSwyMTAuMjk0OSBaIE02MDEuNTM2OSwyMTQuMjI2OSBDNjAxLjE2MzksMjE0LjIyNjkgNjAwLjc5MDksMjE0LjA4ODkgNjAwLjUwMDksMjEzLjgxMDkgQzU5OS4wNjA5LDIxMi40MzU5IDU5Ny42MDg5LDIxMS4wNzY5IDU5Ni4xNDI5LDIwOS43MzM5IEM1OTUuNTMxOSwyMDkuMTczOSA1OTUuNDg5OSwyMDguMjI0OSA1OTYuMDQ4OSwyMDcuNjE0OSBDNTk2LjYwOTksMjA3LjAwMTkgNTk3LjU1OTksMjA2Ljk2MDkgNTk4LjE2ODksMjA3LjUyMDkgQzU5OS42NTE5LDIwOC44Nzg5IDYwMS4xMTk5LDIxMC4yNTE5IDYwMi41NzI5LDIxMS42NDI5IEM2MDMuMTcyOSwyMTIuMjE0OSA2MDMuMTkyOSwyMTMuMTYzOSA2MDIuNjIwOSwyMTMuNzYyOSBDNjAyLjMyNTksMjE0LjA3MTkgNjAxLjkzMDksMjE0LjIyNjkgNjAxLjUzNjksMjE0LjIyNjkgTDYwMS41MzY5LDIxNC4yMjY5IFogTTIxNi45OTg5LDIxOC41OTI5IEMyMTYuNjE0OSwyMTguNTkyOSAyMTYuMjMwOSwyMTguNDQ2OSAyMTUuOTM3OSwyMTguMTUzOSBDMjE1LjM1MTksMjE3LjU2ODkgMjE1LjM1MTksMjE2LjYxODkgMjE1LjkzNzksMjE2LjAzMjkgQzIxNy4zNTc5LDIxNC42MTA5IDIxOC43OTQ5LDIxMy4yMDQ5IDIyMC4yNDY5LDIxMS44MTM5IEMyMjAuODQ0OSwyMTEuMjQwOSAyMjEuNzkzOSwyMTEuMjYwOSAyMjIuMzY3OSwyMTEuODU4OSBDMjIyLjk0MDksMjEyLjQ1NjkgMjIyLjkyMDksMjEzLjQwNjkgMjIyLjMyMjksMjEzLjk3OTkgQzIyMC44ODU5LDIxNS4zNTU5IDIxOS40NjU5LDIxNi43NDY5IDIxOC4wNTk5LDIxOC4xNTM5IEMyMTcuNzY2OSwyMTguNDQ2OSAyMTcuMzgyOSwyMTguNTkyOSAyMTYuOTk4OSwyMTguNTkyOSBMMjE2Ljk5ODksMjE4LjU5MjkgWiBNNjEwLjAyMzksMjIyLjcwMzkgQzYwOS42Mjk5LDIyMi43MDM5IDYwOS4yMzU5LDIyMi41NDg5IDYwOC45NDA5LDIyMi4yNDE5IEM2MDcuNTY0OSwyMjAuODA1OSA2MDYuMTczOSwyMTkuMzg1OSA2MDQuNzY1OSwyMTcuOTgwOSBDNjA0LjE3OTksMjE3LjM5NDkgNjA0LjE3OTksMjE2LjQ0NDkgNjA0Ljc2NTksMjE1Ljg1ODkgQzYwNS4zNDk5LDIxNS4yNzI5IDYwNi4zMDA5LDIxNS4yNzI5IDYwNi44ODY5LDIxNS44NTg5IEM2MDguMzA3OSwyMTcuMjc4OSA2MDkuNzE0OSwyMTguNzEzOSA2MTEuMTA2OSwyMjAuMTY0OSBDNjExLjY3OTksMjIwLjc2MjkgNjExLjY1OTksMjIxLjcxMjkgNjExLjA2MTksMjIyLjI4NjkgQzYxMC43NzA5LDIyMi41NjQ5IDYxMC4zOTY5LDIyMi43MDM5IDYxMC4wMjM5LDIyMi43MDM5IEw2MTAuMDIzOSwyMjIuNzAzOSBaIE0yMDguNzAzOSwyMjcuMjU5OSBDMjA4LjM0MTksMjI3LjI1OTkgMjA3Ljk3NzksMjI3LjEyOTkgMjA3LjY4OTksMjI2Ljg2NTkgQzIwNy4wNzk5LDIyNi4zMDU5IDIwNy4wMzc5LDIyNS4zNTY5IDIwNy41OTc5LDIyNC43NDU5IEMyMDguOTU2OSwyMjMuMjYzOSAyMTAuMzMxOSwyMjEuNzk1OSAyMTEuNzIwOSwyMjAuMzQyOSBDMjEyLjI5NDksMjE5Ljc0MzkgMjEzLjI0MjksMjE5LjcyMzkgMjEzLjg0MTksMjIwLjI5NTkgQzIxNC40NDA5LDIyMC44Njk5IDIxNC40NjE5LDIyMS44MTg5IDIxMy44ODg5LDIyMi40MTY5IEMyMTIuNTEyOSwyMjMuODU0OSAyMTEuMTUzOSwyMjUuMzA2OSAyMDkuODA4OSwyMjYuNzczOSBDMjA5LjUxMjksMjI3LjA5NTkgMjA5LjEwODksMjI3LjI1OTkgMjA4LjcwMzksMjI3LjI1OTkgTDIwOC43MDM5LDIyNy4yNTk5IFogTTYxOC4xMzQ5LDIzMS41MzY5IEM2MTcuNzE3OSwyMzEuNTM2OSA2MTcuMzAzOSwyMzEuMzY0OSA2MTcuMDA2OSwyMzEuMDI2OSBDNjE1LjY5NTksMjI5LjUzMzkgNjE0LjM2NjksMjI4LjA1NDkgNjEzLjAyMjksMjI2LjU5MDkgQzYxMi40NjI5LDIyNS45ODA5IDYxMi41MDI5LDIyNS4wMzE5IDYxMy4xMTI5LDIyNC40NzE5IEM2MTMuNzIxOSwyMjMuOTExOSA2MTQuNjY5OSwyMjMuOTUwOSA2MTUuMjMxOSwyMjQuNTYxOSBDNjE2LjU5MDksMjI2LjA0MDkgNjE3LjkzMzksMjI3LjUzNjkgNjE5LjI2MDksMjI5LjA0NTkgQzYxOS44MDc5LDIyOS42Njc5IDYxOS43NDY5LDIzMC42MTY5IDYxOS4xMjQ5LDIzMS4xNjI5IEM2MTguODM5OSwyMzEuNDEyOSA2MTguNDg2OSwyMzEuNTM2OSA2MTguMTM0OSwyMzEuNTM2OSBMNjE4LjEzNDksMjMxLjUzNjkgWiBNMjAwLjc4ODksMjM2LjI3OTkgQzIwMC40NDg5LDIzNi4yNzk5IDIwMC4xMDU5LDIzNi4xNjM5IDE5OS44MjQ5LDIzNS45Mjc5IEMxOTkuMTkwOSwyMzUuMzk1OSAxOTkuMTA3OSwyMzQuNDQ5OSAxOTkuNjQwOSwyMzMuODE0OSBDMjAwLjkzMzksMjMyLjI3NDkgMjAyLjI0MzksMjMwLjc0NzkgMjAzLjU2OTksMjI5LjIzNjkgQzIwNC4xMTY5LDIyOC42MTQ5IDIwNS4wNjE5LDIyOC41NTE5IDIwNS42ODY5LDIyOS4wOTc5IEMyMDYuMzA5OSwyMjkuNjQ0OSAyMDYuMzcxOSwyMzAuNTkxOSAyMDUuODI1OSwyMzEuMjE0OSBDMjA0LjUxMjksMjMyLjcxMDkgMjAzLjIxNjksMjM0LjIxOTkgMjAxLjkzNzksMjM1Ljc0MzkgQzIwMS42NDE5LDIzNi4wOTY5IDIwMS4yMTY5LDIzNi4yNzk5IDIwMC43ODg5LDIzNi4yNzk5IEwyMDAuNzg4OSwyMzYuMjc5OSBaIE02MjUuODUxOSwyNDAuNzEwOSBDNjI1LjQxMzksMjQwLjcxMDkgNjI0Ljk3ODksMjQwLjUxOTkgNjI0LjY4MTksMjQwLjE1MTkgQzYyMy40MzU5LDIzOC42MDI5IDYyMi4xNzM5LDIzNy4wNjc5IDYyMC44OTQ5LDIzNS41NDc5IEM2MjAuMzYxOSwyMzQuOTEzOSA2MjAuNDQyOSwyMzMuOTY3OSA2MjEuMDc2OSwyMzMuNDM0OSBDNjIxLjcxMDksMjMyLjg5OTkgNjIyLjY1NjksMjMyLjk4MjkgNjIzLjE4OTksMjMzLjYxNjkgQzYyNC40NzY5LDIzNS4xNDU5IDYyNS43NjU5LDIzNi43MTE5IDYyNy4wMTk5LDIzOC4yNzA5IEM2MjcuNTM5OSwyMzguOTE1OSA2MjcuNDM2OSwyMzkuODYwOSA2MjYuNzkxOSwyNDAuMzc5OSBDNjI2LjUxMzksMjQwLjYwMjkgNjI2LjE4MTksMjQwLjcxMDkgNjI1Ljg1MTksMjQwLjcxMDkgTDYyNS44NTE5LDI0MC43MTA5IFogTTE5My4yNzA5LDI0NS42Mzk5IEMxOTIuOTUxOSwyNDUuNjM5OSAxOTIuNjMwOSwyNDUuNTM3OSAxOTIuMzU3OSwyNDUuMzI4OSBDMTkxLjcwMTksMjQ0LjgyNTkgMTkxLjU3NzksMjQzLjg4MjkgMTkyLjA4MjksMjQzLjIyNTkgQzE5My4zMDc5LDI0MS42MzA5IDE5NC41NDk5LDI0MC4wNDg5IDE5NS44MDk5LDIzOC40Nzk5IEMxOTYuMzI4OSwyMzcuODMyOSAxOTcuMjcwOSwyMzcuNzMwOSAxOTcuOTE5OSwyMzguMjQ4OSBDMTk4LjU2NDksMjM4Ljc2NzkgMTk4LjY2ODksMjM5LjcxMTkgMTk4LjE0OTksMjQwLjM1ODkgQzE5Ni45MDM5LDI0MS45MTA5IDE5NS42NzM5LDI0My40NzQ5IDE5NC40NjE5LDI0NS4wNTM5IEMxOTQuMTY2OSwyNDUuNDM3OSAxOTMuNzIwOSwyNDUuNjM5OSAxOTMuMjcwOSwyNDUuNjM5OSBMMTkzLjI3MDksMjQ1LjYzOTkgWiBNNjMzLjE2MDksMjUwLjIwNjkgQzYzMi42OTk5LDI1MC4yMDY5IDYzMi4yNDQ5LDI0OS45OTU5IDYzMS45NTA5LDI0OS41OTU5IEM2MzAuNzczOSwyNDcuOTk0OSA2MjkuNTc5OSwyNDYuNDA3OSA2MjguMzY4OSwyNDQuODMzOSBDNjI3Ljg2MjksMjQ0LjE3NzkgNjI3Ljk4NTksMjQzLjIzNTkgNjI4LjY0MTksMjQyLjczMDkgQzYyOS4yOTc5LDI0Mi4yMjU5IDYzMC4yNDA5LDI0Mi4zNDY5IDYzMC43NDU5LDI0My4wMDM5IEM2MzEuOTc2OSwyNDQuNjAzOSA2MzMuMTk1OSwyNDYuMjIzOSA2MzQuMzY4OSwyNDcuODE4OSBDNjM0Ljg1ODksMjQ4LjQ4NjkgNjM0LjcxNDksMjQ5LjQyNDkgNjM0LjA0ODksMjQ5LjkxNTkgQzYzMy43ODA5LDI1MC4xMTI5IDYzMy40Njg5LDI1MC4yMDY5IDYzMy4xNjA5LDI1MC4yMDY5IEw2MzMuMTYwOSwyNTAuMjA2OSBaIE0xODYuMTY2OSwyNTUuMzE4OSBDMTg1Ljg2ODksMjU1LjMxODkgMTg1LjU2ODksMjU1LjIzMDkgMTg1LjMwNTksMjU1LjA0NjkgQzE4NC42Mjg5LDI1NC41NzE5IDE4NC40NjM5LDI1My42MzU5IDE4NC45Mzg5LDI1Mi45NTY5IEMxODYuMDk0OSwyNTEuMzA4OSAxODcuMjY3OSwyNDkuNjczOSAxODguNDU5OSwyNDguMDUwOSBDMTg4Ljk0OTksMjQ3LjM4MTkgMTg5Ljg4ODksMjQ3LjI0MDkgMTkwLjU1NTksMjQ3LjcyOTkgQzE5MS4yMjM5LDI0OC4yMTk5IDE5MS4zNjc5LDI0OS4xNTg5IDE5MC44Nzc5LDI0OS44MjY5IEMxODkuNjk5OSwyNTEuNDMxOSAxODguNTM4OSwyNTMuMDQ4OSAxODcuMzk1OSwyNTQuNjc5OSBDMTg3LjEwMzksMjU1LjA5NTkgMTg2LjYzODksMjU1LjMxODkgMTg2LjE2NjksMjU1LjMxODkgTDE4Ni4xNjY5LDI1NS4zMTg5IFogTTY0MC4wNDg5LDI2MC4wMDc5IEM2MzkuNTY1OSwyNjAuMDA3OSA2MzkuMDkwOSwyNTkuNzc1OSA2MzguODAxOSwyNTkuMzQzOSBDNjM3LjY5NDksMjU3LjY5MzkgNjM2LjU3MDksMjU2LjA1NjkgNjM1LjQyODksMjU0LjQzMjkgQzYzNC45NTM5LDI1My43NTQ5IDYzNS4xMTY5LDI1Mi44MTk5IDYzNS43OTQ5LDI1Mi4zNDI5IEM2MzYuNDY5OSwyNTEuODY3OSA2MzcuNDA3OSwyNTIuMDI5OSA2MzcuODgzOSwyNTIuNzA3OSBDNjM5LjAzNzksMjU0LjM0OTkgNjQwLjE3MzksMjU2LjAwMzkgNjQxLjI5MjksMjU3LjY3MTkgQzY0MS43NTQ5LDI1OC4zNjA5IDY0MS41NzA5LDI1OS4yOTE5IDY0MC44ODI5LDI1OS43NTM5IEM2NDAuNjI2OSwyNTkuOTI1OSA2NDAuMzM2OSwyNjAuMDA3OSA2NDAuMDQ4OSwyNjAuMDA3OSBMNjQwLjA0ODksMjYwLjAwNzkgWiBNMTc5LjQ4NjksMjY1LjMwMTkgQzE3OS4yMTA5LDI2NS4zMDE5IDE3OC45MzA5LDI2NS4yMjU5IDE3OC42ODA5LDI2NS4wNjY5IEMxNzcuOTgyOSwyNjQuNjIwOSAxNzcuNzc3OSwyNjMuNjkzOSAxNzguMjIyOSwyNjIuOTk1OSBDMTc5LjMwNTksMjYxLjI5NjkgMTgwLjQwNzksMjU5LjYxMjkgMTgxLjUyNjksMjU3LjkzOTkgQzE4MS45ODg5LDI1Ny4yNDg5IDE4Mi45MjE5LDI1Ny4wNjc5IDE4My42MDc5LDI1Ny41MjY5IEMxODQuMjk2OSwyNTcuOTg3OSAxODQuNDgwOSwyNTguOTE4OSAxODQuMDIwOSwyNTkuNjA3OSBDMTgyLjkxMzksMjYxLjI2MjkgMTgxLjgyMzksMjYyLjkyOTkgMTgwLjc1MjksMjY0LjYwODkgQzE4MC40NjY5LDI2NS4wNTY5IDE3OS45ODE5LDI2NS4zMDE5IDE3OS40ODY5LDI2NS4zMDE5IEwxNzkuNDg2OSwyNjUuMzAxOSBaIE02NDYuNTAwOSwyNzAuMDk0OSBDNjQ1Ljk5NDksMjcwLjA5NDkgNjQ1LjUwMTksMjY5LjgzODkgNjQ1LjIxNzksMjY5LjM3NDkgQzY0NC4xODU5LDI2Ny42ODA5IDY0My4xMzM5LDI2NS45OTU5IDY0Mi4wNjQ5LDI2NC4zMjU5IEM2NDEuNjE4OSwyNjMuNjI2OSA2NDEuODIyOSwyNjIuNjk5OSA2NDIuNTE5OSwyNjIuMjUyOSBDNjQzLjIxNzksMjYxLjgwNzkgNjQ0LjE0NTksMjYyLjAwOTkgNjQ0LjU5MTksMjYyLjcwNzkgQzY0NS42NzM5LDI2NC4zOTg5IDY0Ni43MzY5LDI2Ni4xMDA5IDY0Ny43ODA5LDI2Ny44MTQ5IEM2NDguMjExOSwyNjguNTIxOSA2NDcuOTg3OSwyNjkuNDQ0OSA2NDcuMjc5OSwyNjkuODc1OSBDNjQ3LjAzNjksMjcwLjAyNDkgNjQ2Ljc2NjksMjcwLjA5NDkgNjQ2LjUwMDksMjcwLjA5NDkgTDY0Ni41MDA5LDI3MC4wOTQ5IFogTTE3My4yNDc5LDI3NS41NzA5IEMxNzIuOTkyOSwyNzUuNTcwOSAxNzIuNzMzOSwyNzUuNTA1OSAxNzIuNDk3OSwyNzUuMzY5OSBDMTcxLjc4MDksMjc0Ljk1MzkgMTcxLjUzNTksMjc0LjAzNjkgMTcxLjk0OTksMjczLjMxOTkgQzE3Mi45NDk5LDI3MS41ODk5IDE3My45ODY5LDI2OS44NDA5IDE3NS4wMzA5LDI2OC4xMjE5IEMxNzUuNDYyOSwyNjcuNDE0OSAxNzYuMzg1OSwyNjcuMTkxOSAxNzcuMDkxOSwyNjcuNjE5OSBDMTc3Ljc5OTksMjY4LjA0OTkgMTc4LjAyNDksMjY4Ljk3MjkgMTc3LjU5MzksMjY5LjY4MDkgQzE3Ni41NTk5LDI3MS4zODE5IDE3NS41NDQ5LDI3My4wOTQ5IDE3NC41NDc5LDI3NC44MjE5IEMxNzQuMjY4OSwyNzUuMzAxOSAxNzMuNzY0OSwyNzUuNTcwOSAxNzMuMjQ3OSwyNzUuNTcwOSBMMTczLjI0NzksMjc1LjU3MDkgWiBNNjUyLjUwNjksMjgwLjQ1MDkgQzY1MS45Nzc5LDI4MC40NTA5IDY1MS40NjQ5LDI4MC4xNjk5IDY1MS4xOTE5LDI3OS42NzQ5IEM2NTAuMjMyOSwyNzcuOTM1OSA2NDkuMjU2OSwyNzYuMjA4OSA2NDguMjYwOSwyNzQuNDkzOSBDNjQ3Ljg0NTksMjczLjc3NzkgNjQ4LjA4OTksMjcyLjg1OTkgNjQ4LjgwNjksMjcyLjQ0MzkgQzY0OS41MjA5LDI3Mi4wMzA5IDY1MC40NDA5LDI3Mi4yNzA5IDY1MC44NTY5LDI3Mi45ODk5IEM2NTEuODYxOSwyNzQuNzIyOSA2NTIuODQ5OSwyNzYuNDY4OSA2NTMuODE4OSwyNzguMjI1OSBDNjU0LjIxODksMjc4Ljk1MTkgNjUzLjk1NTksMjc5Ljg2MzkgNjUzLjIyOTksMjgwLjI2MzkgQzY1My4wMDA5LDI4MC4zOTA5IDY1Mi43NTE5LDI4MC40NTA5IDY1Mi41MDY5LDI4MC40NTA5IEw2NTIuNTA2OSwyODAuNDUwOSBaIE0xNjcuNDYxOSwyODYuMTA2OSBDMTY3LjIyNjksMjg2LjEwNjkgMTY2Ljk5MDksMjg2LjA1MTkgMTY2Ljc2ODksMjg1LjkzNjkgQzE2Ni4wMzQ5LDI4NS41NTM5IDE2NS43NDk5LDI4NC42NDc5IDE2Ni4xMzI5LDI4My45MTI5IEMxNjcuMDYzOSwyODIuMTI0OSAxNjguMDEzOSwyODAuMzQ4OSAxNjguOTgzOSwyNzguNTg0OSBDMTY5LjM4MjksMjc3Ljg1NzkgMTcwLjI5NTksMjc3LjU5MjkgMTcxLjAxOTksMjc3Ljk5MjkgQzE3MS43NDY5LDI3OC4zOTA5IDE3Mi4wMTE5LDI3OS4zMDI5IDE3MS42MTI5LDI4MC4wMjg5IEMxNzAuNjU0OSwyODEuNzc0OSAxNjkuNzE0OSwyODMuNTMxOSAxNjguNzkyOSwyODUuMjk5OSBDMTY4LjUyNDksMjg1LjgxMjkgMTY4LjAwMjksMjg2LjEwNjkgMTY3LjQ2MTksMjg2LjEwNjkgTDE2Ny40NjE5LDI4Ni4xMDY5IFogTTY1OC4wNTA5LDI5MS4wNTI5IEM2NTcuNDk5OSwyOTEuMDUyOSA2NTYuOTY3OSwyOTAuNzQ2OSA2NTYuNzA2OSwyOTAuMjE4OSBDNjU1LjgyNTksMjg4LjQ0MDkgNjU0LjkyNDksMjg2LjY3MjkgNjU0LjAwNjksMjg0LjkxNjkgQzY1My42MjI5LDI4NC4xODI5IDY1My45MDU5LDI4My4yNzY5IDY1NC42Mzk5LDI4Mi44OTI5IEM2NTUuMzczOSwyODIuNTA5OSA2NTYuMjgwOSwyODIuNzkyOSA2NTYuNjY0OSwyODMuNTI2OSBDNjU3LjU5MjksMjg1LjMwMTkgNjU4LjUwMzksMjg3LjA4ODkgNjU5LjM5MzksMjg4Ljg4NjkgQzY1OS43NjE5LDI4OS42Mjg5IDY1OS40NTg5LDI5MC41Mjk5IDY1OC43MTU5LDI5MC44OTY5IEM2NTguNTAyOSwyOTEuMDAyOSA2NTguMjc0OSwyOTEuMDUyOSA2NTguMDUwOSwyOTEuMDUyOSBMNjU4LjA1MDksMjkxLjA1MjkgWiBNNjYzLjEyNzksMzAxLjg4MDkgQzY2Mi41NTA5LDMwMS44ODA5IDY2Mi4wMDI5LDMwMS41NDc5IDY2MS43NTQ5LDMwMC45ODc5IEM2NjAuOTUxOSwyOTkuMTcyOSA2NjAuMTI5OSwyOTcuMzY5OSA2NTkuMjg5OSwyOTUuNTc2OSBDNjU4LjkzNzksMjk0LjgyNjkgNjU5LjI2MDksMjkzLjkzMjkgNjYwLjAxMDksMjkzLjU4MDkgQzY2MC43NjI5LDI5My4yMjk5IDY2MS42NTU5LDI5My41NTM5IDY2Mi4wMDY5LDI5NC4zMDI5IEM2NjIuODU1OSwyOTYuMTE1OSA2NjMuNjg1OSwyOTcuOTM4OSA2NjQuNDk4OSwyOTkuNzc0OSBDNjY0LjgzMzksMzAwLjUzMTkgNjY0LjQ5MDksMzAxLjQxNjkgNjYzLjczMzksMzAxLjc1MjkgQzY2My41MzU5LDMwMS44Mzk5IDY2My4zMjk5LDMwMS44ODA5IDY2My4xMjc5LDMwMS44ODA5IEw2NjMuMTI3OSwzMDEuODgwOSBaIE0xNDUuNzQxOSwzNDIuMDQ2OSBDMTQ1LjYxMzksMzQyLjA0NjkgMTQ1LjQ4MzksMzQyLjAzMTkgMTQ1LjM1MzksMzQxLjk5NTkgQzE0NC41NTM5LDM0MS43ODM5IDE0NC4wNzc5LDM0MC45NjA5IDE0NC4yOTE5LDM0MC4xNjA5IEMxNDQuODA5OSwzMzguMjE1OSAxNDUuMzQ4OSwzMzYuMjc4OSAxNDUuOTA3OSwzMzQuMzUwOSBDMTQ2LjEzNzksMzMzLjU1NDkgMTQ2Ljk3NTksMzMzLjA5MjkgMTQ3Ljc2NDksMzMzLjMyNzkgQzE0OC41NjA5LDMzMy41NTc5IDE0OS4wMTg5LDMzNC4zODk5IDE0OC43ODg5LDMzNS4xODQ5IEMxNDguMjM1OSwzMzcuMDkyOSAxNDcuNzAyOSwzMzkuMDA4OSAxNDcuMTg5OSwzNDAuOTMzOSBDMTQ3LjAxMDksMzQxLjYwNDkgMTQ2LjQwNDksMzQyLjA0NjkgMTQ1Ljc0MTksMzQyLjA0NjkgTDE0NS43NDE5LDM0Mi4wNDY5IFogTTE0Mi45MDg5LDM1My43MDQ5IEMxNDIuODAxOSwzNTMuNzA0OSAxNDIuNjkzOSwzNTMuNjk0OSAxNDIuNTg1OSwzNTMuNjY5OSBDMTQxLjc3NjksMzUzLjQ5MjkgMTQxLjI2NDksMzUyLjY5MjkgMTQxLjQ0MjksMzUxLjg4MjkgQzE0MS44Njk5LDM0OS45Mzk5IDE0Mi4zMjc5LDM0Ny45NjE5IDE0Mi44MDE5LDM0Ni4wMDU5IEMxNDIuOTk4OSwzNDUuMjAxOSAxNDMuODA4OSwzNDQuNzA5OSAxNDQuNjE0OSwzNDQuOTAyOSBDMTQ1LjQxOTksMzQ1LjA5ODkgMTQ1LjkxMzksMzQ1LjkwOTkgMTQ1LjcxNzksMzQ2LjcxNDkgQzE0NS4yNDg5LDM0OC42NDQ5IDE0NC43OTk5LDM1MC41ODE5IDE0NC4zNzI5LDM1Mi41Mjc5IEMxNDQuMjE4OSwzNTMuMjI3OSAxNDMuNTk3OSwzNTMuNzA0OSAxNDIuOTA4OSwzNTMuNzA0OSBMMTQyLjkwODksMzUzLjcwNDkgWiBNMTM3LjUxMDksMzg5LjI2NDkgQzEzNy40Njc5LDM4OS4yNjQ5IDEzNy40MjQ5LDM4OS4yNjI5IDEzNy4zODE5LDM4OS4yNTg5IEMxMzYuNTU1OSwzODkuMTg4OSAxMzUuOTQzOSwzODguNDYxOSAxMzYuMDE0OSwzODcuNjM2OSBDMTM2LjE4NjksMzg1LjYyOTkgMTM2LjM4MDksMzgzLjYyODkgMTM2LjU5MzksMzgxLjYzMzkgQzEzNi42ODE5LDM4MC44MDg5IDEzNy40MTk5LDM4MC4yMDk5IDEzOC4yNDU5LDM4MC4zMDI5IEMxMzkuMDY4OSwzODAuMzkwOSAxMzkuNjY1OSwzODEuMTI5OSAxMzkuNTc2OSwzODEuOTUzOSBDMTM5LjM2NDksMzgzLjkyNzkgMTM5LjE3MzksMzg1LjkwNzkgMTM5LjAwMzksMzg3Ljg5MjkgQzEzOC45MzY5LDM4OC42NzQ5IDEzOC4yODE5LDM4OS4yNjQ5IDEzNy41MTA5LDM4OS4yNjQ5IEwxMzcuNTEwOSwzODkuMjY0OSBaIE0xMzYuNzQ3OSw0MDEuMjM2OSBDMTM2LjcyNTksNDAxLjIzNjkgMTM2LjcwNTksNDAxLjIzNjkgMTM2LjY4MzksNDAxLjIzNTkgQzEzNS44NTU5LDQwMS4yMDA5IDEzNS4yMTM5LDQwMC41MDA5IDEzNS4yNDc5LDM5OS42NzM5IEMxMzUuMzMyOSwzOTcuNjU0OSAxMzUuNDM5OSwzOTUuNjI3OSAxMzUuNTY2OSwzOTMuNjUwOSBDMTM1LjYyMDksMzkyLjgyMzkgMTM2LjM3MzksMzkyLjIwOTkgMTM3LjE1OTksMzkyLjI0ODkgQzEzNy45ODY5LDM5Mi4zMDI5IDEzOC42MTM5LDM5My4wMTU5IDEzOC41NjA5LDM5My44NDI5IEMxMzguNDM0OSwzOTUuNzk3OSAxMzguMzI4OSwzOTcuODAxOSAxMzguMjQ1OSwzOTkuNzk4OSBDMTM4LjIxMTksNDAwLjYwNTkgMTM3LjU0NzksNDAxLjIzNjkgMTM2Ljc0NzksNDAxLjIzNjkgTDEzNi43NDc5LDQwMS4yMzY5IFogTTEzNi40OTk5LDQxMy4yMzA5IEMxMzUuNjcxOSw0MTMuMjMwOSAxMzQuOTk5OSw0MTIuNTU4OSAxMzQuOTk5OSw0MTEuNzMwOSBMMTM0Ljk5OTksNDExLjQ5OTkgQzEzNC45OTk5LDQwOS41NjI5IDEzNS4wMTg5LDQwNy42Mjk5IDEzNS4wNTg5LDQwNS43MDE5IEMxMzUuMDc2OSw0MDQuODcyOSAxMzUuNzYyOSw0MDQuMTg2OSAxMzYuNTkwOSw0MDQuMjMyOSBDMTM3LjQxODksNDA0LjI0OTkgMTM4LjA3NTksNDA0LjkzNTkgMTM4LjA1ODksNDA1Ljc2MzkgQzEzOC4wMTg5LDQwNy42NzA5IDEzNy45OTk5LDQwOS41ODM5IDEzNy45OTk5LDQxMS40OTk5IEwxMzcuOTk5OSw0MTEuNzMwOSBDMTM3Ljk5OTksNDEyLjU1ODkgMTM3LjMyNzksNDEzLjIzMDkgMTM2LjQ5OTksNDEzLjIzMDkgTDEzNi40OTk5LDQxMy4yMzA5IFogTTEzNi43NjQ5LDQyNS4yMTA5IEMxMzUuOTY2OSw0MjUuMjEwOSAxMzUuMzAyOSw0MjQuNTgxOSAxMzUuMjY2OSw0MjMuNzc2OSBDMTM1LjE3OTksNDIxLjc3NzkgMTM1LjExNDksNDE5Ljc3MjkgMTM1LjA2ODksNDE3Ljc2MzkgQzEzNS4wNDk5LDQxNi45MzQ5IDEzNS43MDY5LDQxNi4yNDc5IDEzNi41MzQ5LDQxNi4yMjk5IEMxMzcuMzY5OSw0MTYuMjM5OSAxMzguMDQ5OSw0MTYuODY3OSAxMzguMDY4OSw0MTcuNjk1OSBDMTM4LjExMjksNDE5LjY4NDkgMTM4LjE3NzksNDIxLjY2NzkgMTM4LjI2NDksNDIzLjY0NTkgQzEzOC4zMDA5LDQyNC40NzI5IDEzNy42NTk5LDQyNS4xNzM5IDEzNi44MzE5LDQyNS4yMDk5IEMxMzYuODA4OSw0MjUuMjEwOSAxMzYuNzg2OSw0MjUuMjEwOSAxMzYuNzY0OSw0MjUuMjEwOSBMMTM2Ljc2NDksNDI1LjIxMDkgWiBNMTM3LjU0NjksNDM3LjE4MTkgQzEzNi43NzY5LDQzNy4xODE5IDEzNi4xMjE5LDQzNi41OTI5IDEzNi4wNTM5LDQzNS44MTE5IEMxMzUuODgwOSw0MzMuODEzOSAxMzUuNzI2OSw0MzEuODA4OSAxMzUuNTk0OSw0MjkuNzk3OSBDMTM1LjU0MTksNDI4Ljk3MTkgMTM2LjE2NzksNDI4LjI1NzkgMTM2Ljk5NDksNDI4LjIwMjkgQzEzNy44MTc5LDQyOC4xNTQ5IDEzOC41MzU5LDQyOC43NzU5IDEzOC41ODk5LDQyOS42MDI5IEMxMzguNzE4OSw0MzEuNTkxOSAxMzguODcwOSw0MzMuNTc1OSAxMzkuMDQyOSw0MzUuNTUxOSBDMTM5LjExNDksNDM2LjM3NjkgMTM4LjUwMzksNDM3LjEwNDkgMTM3LjY3NzksNDM3LjE3NTkgQzEzNy42MzM5LDQzNy4xNzk5IDEzNy41OTA5LDQzNy4xODE5IDEzNy41NDY5LDQzNy4xODE5IEwxMzcuNTQ2OSw0MzcuMTgxOSBaIE02NjMuMjQ1OSw1MjMuODQzOSBDNjYzLjA0MzksNTIzLjg0MzkgNjYyLjgzODksNTIzLjgwMjkgNjYyLjY0MDksNTIzLjcxNTkgQzY2MS44ODI5LDUyMy4zODE5IDY2MS41Mzk5LDUyMi40OTY5IDY2MS44NzQ5LDUyMS43Mzg5IEM2NjIuNjc3OSw1MTkuOTE0OSA2NjMuNDYzOSw1MTguMDgwOSA2NjQuMjI3OSw1MTYuMjM3OSBDNjY0LjU0NjksNTE1LjQ3MjkgNjY1LjQxOTksNTE1LjEwNjkgNjY2LjE4ODksNTE1LjQyNjkgQzY2Ni45NTM5LDUxNS43NDQ5IDY2Ny4zMTY5LDUxNi42MjI5IDY2Ni45OTk5LDUxNy4zODc5IEM2NjYuMjI0OSw1MTkuMjUwOSA2NjUuNDMxOSw1MjEuMTA0OSA2NjQuNjE4OSw1MjIuOTQ5OSBDNjY0LjM3MTksNTIzLjUwOTkgNjYzLjgyMTksNTIzLjg0MzkgNjYzLjI0NTksNTIzLjg0MzkgTDY2My4yNDU5LDUyMy44NDM5IFogTTE2Mi4yNTY5LDUyOS4zNTQ5IEMxNjEuNjkxOSw1MjkuMzU0OSAxNjEuMTUxOSw1MjkuMDM1OSAxNjAuODk2OSw1MjguNDkwOSBDMTYwLjA0ODksNTI2LjY3NjkgMTU5LjIxODksNTI0Ljg1MTkgMTU4LjQwOTksNTIzLjAxNTkgQzE1OC4wNzQ5LDUyMi4yNTc5IDE1OC40MTg5LDUyMS4zNzE5IDE1OS4xNzU5LDUyMS4wMzc5IEMxNTkuOTM1OSw1MjAuNzAzOSAxNjAuODE5OSw1MjEuMDQ3OSAxNjEuMTUzOSw1MjEuODA0OSBDMTYxLjk1NTksNTIzLjYyMDkgMTYyLjc3NDksNTI1LjQyNDkgMTYzLjYxMzksNTI3LjIxODkgQzE2My45NjU5LDUyNy45Njk5IDE2My42NDA5LDUyOC44NjI5IDE2Mi44OTA5LDUyOS4yMTI5IEMxNjIuNjg0OSw1MjkuMzA5OSAxNjIuNDY4OSw1MjkuMzU0OSAxNjIuMjU2OSw1MjkuMzU0OSBMMTYyLjI1NjksNTI5LjM1NDkgWiBNNjU4LjE1MjksNTM0LjczOTkgQzY1Ny45Mjg5LDUzNC43Mzk5IDY1Ny43MDI5LDUzNC42ODk5IDY1Ny40ODg5LDUzNC41ODM5IEM2NTYuNzQ2OSw1MzQuMjE2OSA2NTYuNDQxOSw1MzMuMzE3OSA2NTYuODA4OSw1MzIuNTc0OSBDNjU3LjY5MTksNTMwLjc4NzkgNjU4LjU1NTksNTI4Ljk5MTkgNjU5LjQwMTksNTI3LjE4MzkgQzY1OS43NTE5LDUyNi40MzM5IDY2MC42NDM5LDUyNi4xMDg5IDY2MS4zOTU5LDUyNi40NjA5IEM2NjIuMTQ1OSw1MjYuODExOSA2NjIuNDY5OSw1MjcuNzAzOSA2NjIuMTE4OSw1MjguNDUzOSBDNjYxLjI2NDksNTMwLjI4MjkgNjYwLjM5MDksNTMyLjA5ODkgNjU5LjQ5ODksNTMzLjkwNDkgQzY1OS4yMzY5LDUzNC40MzI5IDY1OC43MDU5LDUzNC43Mzk5IDY1OC4xNTI5LDUzNC43Mzk5IEw2NTguMTUyOSw1MzQuNzM5OSBaIE0xNjcuNTU3OSw1NDAuMDc3OSBDMTY3LjAxNjksNTQwLjA3NzkgMTY2LjQ5NDksNTM5Ljc4NDkgMTY2LjIyNjksNTM5LjI3MTkgQzE2NS4yOTk5LDUzNy40OTQ5IDE2NC4zOTE5LDUzNS43MDc5IDE2My41MDE5LDUzMy45MDk5IEMxNjMuMTMzOSw1MzMuMTY2OSAxNjMuNDM3OSw1MzIuMjY3OSAxNjQuMTc5OSw1MzEuODk5OSBDMTY0LjkyNDksNTMxLjUzMzkgMTY1LjgyMjksNTMxLjgzNTkgMTY2LjE5MDksNTMyLjU3ODkgQzE2Ny4wNzE5LDUzNC4zNTg5IDE2Ny45Njk5LDUzNi4xMjU5IDE2OC44ODY5LDUzNy44ODI5IEMxNjkuMjY5OSw1MzguNjE3OSAxNjguOTg1OSw1MzkuNTIzOSAxNjguMjUxOSw1MzkuOTA3OSBDMTY4LjAyOTksNTQwLjAyMjkgMTY3Ljc5MjksNTQwLjA3NzkgMTY3LjU1NzksNTQwLjA3NzkgTDE2Ny41NTc5LDU0MC4wNzc5IFogTTE3My4zMjU5LDU1MC41NjI5IEMxNzIuODA3OSw1NTAuNTYyOSAxNzIuMzAzOSw1NTAuMjkzOSAxNzIuMDI2OSw1NDkuODE0OSBDMTcxLjAyMTksNTQ4LjA3ODkgMTcwLjAzNjksNTQ2LjMzMTkgMTY5LjA2ODksNTQ0LjU3MzkgQzE2OC42Njk5LDU0My44NDc5IDE2OC45MzQ5LDU0Mi45MzU5IDE2OS42NjA5LDU0Mi41MzU5IEMxNzAuMzg2OSw1NDIuMTM4OSAxNzEuMjk3OSw1NDIuNDAxOSAxNzEuNjk3OSw1NDMuMTI3OSBDMTcyLjY1MzksNTQ0Ljg2NzkgMTczLjYyOTksNTQ2LjU5NDkgMTc0LjYyMjksNTQ4LjMxMDkgQzE3NS4wMzc5LDU0OS4wMjg5IDE3NC43OTM5LDU0OS45NDU5IDE3NC4wNzY5LDU1MC4zNjA5IEMxNzMuODM5OSw1NTAuNDk3OSAxNzMuNTgxOSw1NTAuNTYyOSAxNzMuMzI1OSw1NTAuNTYyOSBMMTczLjMyNTksNTUwLjU2MjkgWiBNMTc5LjU0ODksNTYwLjc5MTkgQzE3OS4wNTI5LDU2MC43OTE5IDE3OC41Njg5LDU2MC41NDY5IDE3OC4yODI5LDU2MC4wOTg5IEMxNzcuMjAzOSw1NTguNDA4OSAxNzYuMTQyOSw1NTYuNzA1OSAxNzUuMDk4OSw1NTQuOTkwOSBDMTc0LjY2ODksNTU0LjI4MzkgMTc0Ljg5MjksNTUzLjM2MDkgMTc1LjYwMDksNTUyLjkyOTkgQzE3Ni4zMDY5LDU1Mi40OTg5IDE3Ny4yMzA5LDU1Mi43MjI5IDE3Ny42NjE5LDU1My40MzE5IEMxNzguNjkzOSw1NTUuMTI3OSAxNzkuNzQ0OSw1NTYuODEyOSAxODAuODExOSw1NTguNDg1OSBDMTgxLjI1NzksNTU5LjE4MzkgMTgxLjA1MTksNTYwLjExMDkgMTgwLjM1MzksNTYwLjU1NjkgQzE4MC4xMDM5LDU2MC43MTU5IDE3OS44MjQ5LDU2MC43OTE5IDE3OS41NDg5LDU2MC43OTE5IEwxNzkuNTQ4OSw1NjAuNzkxOSBaIE0xODYuMjEyOSw1NzAuNzQzOSBDMTg1Ljc0MDksNTcwLjc0MzkgMTg1LjI3NTksNTcwLjUyMDkgMTg0Ljk4MzksNTcwLjEwNDkgQzE4My44MzA5LDU2OC40NjE5IDE4Mi42OTU5LDU2Ni44MDY5IDE4MS41Nzg5LDU2NS4xMzY5IEMxODEuMTE3OSw1NjQuNDQ4OSAxODEuMzAxOSw1NjMuNTE2OSAxODEuOTkwOSw1NjMuMDU2OSBDMTgyLjY3NTksNTYyLjU5MzkgMTgzLjYwOTksNTYyLjc3ODkgMTg0LjA3MDksNTYzLjQ2ODkgQzE4NS4xNzU5LDU2NS4xMTg5IDE4Ni4yOTk5LDU2Ni43NTY5IDE4Ny40Mzg5LDU2OC4zODE5IEMxODcuOTE1OSw1NjkuMDU5OSAxODcuNzUxOSw1NjkuOTk0OSAxODcuMDcyOSw1NzAuNDcwOSBDMTg2LjgxMDksNTcwLjY1NTkgMTg2LjUwOTksNTcwLjc0MzkgMTg2LjIxMjksNTcwLjc0MzkgTDE4Ni4yMTI5LDU3MC43NDM5IFogTTE5My4zMDI5LDU4MC40MDA5IEMxOTIuODUyOSw1ODAuNDAwOSAxOTIuNDA4OSw1ODAuMTk5OSAxOTIuMTEyOSw1NzkuODE0OSBDMTkwLjg5NjksNTc4LjIzMjkgMTg5LjY3ODksNTc2LjYxMTkgMTg4LjQ5NDksNTc0Ljk5NjkgQzE4OC4wMDQ5LDU3NC4zMjg5IDE4OC4xNDc5LDU3My4zOTA5IDE4OC44MTU5LDU3Mi45MDA5IEMxODkuNDgzOSw1NzIuNDEwOSAxOTAuNDIxOSw1NzIuNTUyOSAxOTAuOTEyOSw1NzMuMjIxOSBDMTkyLjA4OTksNTc0LjgyNDkgMTkzLjI4MTksNTc2LjQxMTkgMTk0LjQ5MTksNTc3Ljk4NjkgQzE5NC45OTY5LDU3OC42NDM5IDE5NC44NzM5LDU3OS41ODQ5IDE5NC4yMTY5LDU4MC4wODk5IEMxOTMuOTQzOSw1ODAuMjk4OSAxOTMuNjIyOSw1ODAuNDAwOSAxOTMuMzAyOSw1ODAuNDAwOSBMMTkzLjMwMjksNTgwLjQwMDkgWiBNMjAwLjgwOTksNTg5Ljc0MzkgQzIwMC4zODI5LDU4OS43NDM5IDE5OS45NTc5LDU4OS41NjI5IDE5OS42NjA5LDU4OS4yMDg5IEMxOTguMzY5OSw1ODcuNjcwOSAxOTcuMDkyOSw1ODYuMTE4OSAxOTUuODM0OSw1ODQuNTUxOSBDMTk1LjMxNTksNTgzLjkwNjkgMTk1LjQxOTksNTgyLjk2MTkgMTk2LjA2NDksNTgyLjQ0MjkgQzE5Ni43MTE5LDU4MS45MjY5IDE5Ny42NTQ5LDU4Mi4wMjc5IDE5OC4xNzQ5LDU4Mi42NzI5IEMxOTkuNDE4OSw1ODQuMjIyOSAyMDAuNjc5OSw1ODUuNzU4OSAyMDEuOTU3OSw1ODcuMjc5OSBDMjAyLjQ5MDksNTg3LjkxMzkgMjAyLjQwNzksNTg4Ljg2MDkgMjAxLjc3MzksNTg5LjM5MjkgQzIwMS40OTI5LDU4OS42Mjg5IDIwMS4xNDk5LDU4OS43NDM5IDIwMC44MDk5LDU4OS43NDM5IEwyMDAuODA5OSw1ODkuNzQzOSBaIE02MTguMTQ3OSw1OTQuNDQ2OSBDNjE3Ljc5NjksNTk0LjQ0NjkgNjE3LjQ0MzksNTk0LjMyMzkgNjE3LjE1ODksNTk0LjA3MzkgQzYxNi41MzY5LDU5My41MjY5IDYxNi40NzQ5LDU5Mi41Nzg5IDYxNy4wMjE5LDU5MS45NTU5IEM2MTguMzM1OSw1OTAuNDYxOSA2MTkuNjMxOSw1ODguOTUyOSA2MjAuOTEzOSw1ODcuNDI5OSBDNjIxLjQ0NTksNTg2Ljc5NjkgNjIyLjM5MjksNTg2LjcxMzkgNjIzLjAyNjksNTg3LjI0NzkgQzYyMy42NjA5LDU4Ny43ODE5IDYyMy43NDI5LDU4OC43Mjc5IDYyMy4yMDg5LDU4OS4zNjE5IEM2MjEuOTEzOSw1OTAuOTAwOSA2MjAuNjAyOSw1OTIuNDI0OSA2MTkuMjc1OSw1OTMuOTM2OSBDNjE4Ljk3ODksNTk0LjI3MzkgNjE4LjU2NDksNTk0LjQ0NjkgNjE4LjE0NzksNTk0LjQ0NjkgTDYxOC4xNDc5LDU5NC40NDY5IFogTTIwOC43MTY5LDU5OC43NTU5IEMyMDguMzEwOSw1OTguNzU1OSAyMDcuOTA2OSw1OTguNTkxOSAyMDcuNjEwOSw1OTguMjY5OSBDMjA2LjI1MjksNTk2Ljc4NzkgMjA0LjkxMTksNTk1LjI5MDkgMjAzLjU4NjksNTkzLjc4MTkgQzIwMy4wMzk5LDU5My4xNTk5IDIwMy4xMDA5LDU5Mi4yMTA5IDIwMy43MjM5LDU5MS42NjQ5IEMyMDQuMzQ1OSw1OTEuMTE3OSAyMDUuMjk1OSw1OTEuMTgwOSAyMDUuODQwOSw1OTEuODAyOSBDMjA3LjE1MTksNTkzLjI5NTkgMjA4LjQ3ODksNTk0Ljc3NjkgMjA5LjgyMTksNTk2LjI0MjkgQzIxMC4zODI5LDU5Ni44NTM5IDIxMC4zNDA5LDU5Ny44MDE5IDIwOS43Mjk5LDU5OC4zNjE5IEMyMDkuNDQxOSw1OTguNjI1OSAyMDkuMDc4OSw1OTguNzU1OSAyMDguNzE2OSw1OTguNzU1OSBMMjA4LjcxNjksNTk4Ljc1NTkgWiBNNjEwLjAzNTksNjAzLjI4NTkgQzYwOS42NjE5LDYwMy4yODU5IDYwOS4yODc5LDYwMy4xNDc5IDYwOC45OTc5LDYwMi44Njg5IEM2MDguMzk4OSw2MDIuMjk0OSA2MDguMzc5OSw2MDEuMzQ1OSA2MDguOTUzOSw2MDAuNzQ3OSBDNjEwLjMzMDksNTk5LjMxMjkgNjExLjY5MDksNTk3Ljg2MTkgNjEzLjAzNTksNTk2LjM5NTkgQzYxMy41OTU5LDU5NS43ODU5IDYxNC41NDY5LDU5NS43NDY5IDYxNS4xNTU5LDU5Ni4zMDQ5IEM2MTUuNzY1OSw1OTYuODY1OSA2MTUuODA1OSw1OTcuODE0OSA2MTUuMjQ2OSw1OTguNDI0OSBDNjEzLjg3ODksNTk5LjkxNDkgNjEyLjQ4OTksNjAxLjM5NDkgNjExLjExNzksNjAyLjgyNDkgQzYxMC44MjM5LDYwMy4xMzE5IDYxMC40Mjk5LDYwMy4yODU5IDYxMC4wMzU5LDYwMy4yODU5IEw2MTAuMDM1OSw2MDMuMjg1OSBaIE0yMTcuMDA5OSw2MDcuNDE5OSBDMjE2LjYyNjksNjA3LjQxOTkgMjE2LjI0MTksNjA3LjI3MzkgMjE1Ljk0OTksNjA2Ljk4MDkgQzIxNC41Mjg5LDYwNS41NTg5IDIxMy4xMjI5LDYwNC4xMjE5IDIxMS43MzI5LDYwMi42Njk5IEMyMTEuMTU5OSw2MDIuMDcyOSAyMTEuMTc5OSw2MDEuMTIxOSAyMTEuNzc4OSw2MDAuNTQ5OSBDMjEyLjM3NTksNTk5Ljk3NjkgMjEzLjMyNjksNTk5Ljk5NjkgMjEzLjg5ODksNjAwLjU5NTkgQzIxNS4yNzQ5LDYwMi4wMzI5IDIxNi42NjU5LDYwMy40NTI5IDIxOC4wNzE5LDYwNC44NTk5IEMyMTguNjU2OSw2MDUuNDQ1OSAyMTguNjU2OSw2MDYuMzk1OSAyMTguMDcwOSw2MDYuOTgwOSBDMjE3Ljc3NzksNjA3LjI3MzkgMjE3LjM5MzksNjA3LjQxOTkgMjE3LjAwOTksNjA3LjQxOTkgTDIxNy4wMDk5LDYwNy40MTk5IFogTTYwMS41NDg5LDYxMS43NjI5IEM2MDEuMTUzOSw2MTEuNzYyOSA2MDAuNzU5OSw2MTEuNjA3OSA2MDAuNDY0OSw2MTEuMjk4OSBDNTk5Ljg5MjksNjEwLjcwMDkgNTk5LjkxMzksNjA5Ljc1MDkgNjAwLjUxMjksNjA5LjE3ODkgQzYwMS45NDk5LDYwNy44MDQ5IDYwMy4zNzE5LDYwNi40MTQ5IDYwNC43Nzc5LDYwNS4wMDk5IEM2MDUuMzYzOSw2MDQuNDIzOSA2MDYuMzEzOSw2MDQuNDIzOSA2MDYuODk5OSw2MDUuMDA5OSBDNjA3LjQ4NDksNjA1LjU5NTkgNjA3LjQ4NDksNjA2LjU0NTkgNjA2Ljg5ODksNjA3LjEzMTkgQzYwNS40NzY5LDYwOC41NTE5IDYwNC4wMzk5LDYwOS45NTY5IDYwMi41ODU5LDYxMS4zNDY5IEM2MDIuMjk1OSw2MTEuNjI0OSA2MDEuOTIyOSw2MTEuNzYyOSA2MDEuNTQ4OSw2MTEuNzYyOSBMNjAxLjU0ODksNjExLjc2MjkgWiBNMjI1LjY3NDksNjE1LjcxODkgQzIyNS4zMTE5LDYxNS43MTg5IDIyNC45NDg5LDYxNS41ODc5IDIyNC42NjA5LDYxNS4zMjQ5IEMyMjMuMTc4OSw2MTMuOTY0OSAyMjEuNzExOSw2MTIuNTkwOSAyMjAuMjU3OSw2MTEuMTk4OSBDMjE5LjY2MDksNjEwLjYyNDkgMjE5LjYzOTksNjA5LjY3NTkgMjIwLjIxMzksNjA5LjA3NzkgQzIyMC43ODY5LDYwOC40ODA5IDIyMS43MzQ5LDYwOC40NTg5IDIyMi4zMzQ5LDYwOS4wMzI5IEMyMjMuNzcxOSw2MTAuNDA5OSAyMjUuMjIxOSw2MTEuNzY5OSAyMjYuNjg3OSw2MTMuMTEzOSBDMjI3LjI5ODksNjEzLjY3MjkgMjI3LjMzOTksNjE0LjYyMTkgMjI2Ljc3OTksNjE1LjIzMjkgQzIyNi40ODM5LDYxNS41NTQ5IDIyNi4wNzk5LDYxNS43MTg5IDIyNS42NzQ5LDYxNS43MTg5IEwyMjUuNjc0OSw2MTUuNzE4OSBaIE01OTIuNzA3OSw2MTkuODYwOSBDNTkyLjI4OTksNjE5Ljg2MDkgNTkxLjg3NTksNjE5LjY4NzkgNTkxLjU3ODksNjE5LjM0ODkgQzU5MS4wMzI5LDYxOC43MjY5IDU5MS4wOTQ5LDYxNy43Nzg5IDU5MS43MTc5LDYxNy4yMzI5IEM1OTMuMjEyOSw2MTUuOTIxOSA1OTQuNjkyOSw2MTQuNTk1OSA1OTYuMTU4OSw2MTMuMjUyOSBDNTk2Ljc2NjksNjEyLjY5NTkgNTk3LjcxNzksNjEyLjczNDkgNTk4LjI3NzksNjEzLjM0NjkgQzU5OC44Mzc5LDYxMy45NTY5IDU5OC43OTU5LDYxNC45MDY5IDU5OC4xODM5LDYxNS40NjU5IEM1OTYuNzAyOSw2MTYuODIyOSA1OTUuMjA2OSw2MTguMTYzOSA1OTMuNjk0OSw2MTkuNDg4OSBDNTkzLjQxMDksNjE5LjczODkgNTkzLjA1NzksNjE5Ljg2MDkgNTkyLjcwNzksNjE5Ljg2MDkgTDU5Mi43MDc5LDYxOS44NjA5IFogTTIzNC42OTE5LDYyMy42MzY5IEMyMzQuMzUwOSw2MjMuNjM2OSAyMzQuMDA4OSw2MjMuNTIxOSAyMzMuNzI3OSw2MjMuMjg1OSBDMjMyLjE4NzksNjIxLjk5MTkgMjMwLjY2MjksNjIwLjY4MDkgMjI5LjE1MTksNjE5LjM1MzkgQzIyOC41Mjg5LDYxOC44MDc5IDIyOC40NjY5LDYxNy44NTk5IDIyOS4wMTM5LDYxNy4yMzc5IEMyMjkuNTU4OSw2MTYuNjE1OSAyMzAuNTA3OSw2MTYuNTUxOSAyMzEuMTMwOSw2MTcuMDk5OSBDMjMyLjYyNTksNjE4LjQxMDkgMjM0LjEzNDksNjE5LjcwNzkgMjM1LjY1NzksNjIwLjk4ODkgQzIzNi4yOTI5LDYyMS41MjE5IDIzNi4zNzQ5LDYyMi40Njc5IDIzNS44NDE5LDYyMy4xMDE5IEMyMzUuNTQ0OSw2MjMuNDU0OSAyMzUuMTE5OSw2MjMuNjM2OSAyMzQuNjkxOSw2MjMuNjM2OSBMMjM0LjY5MTksNjIzLjYzNjkgWiBNNTgzLjUyMjksNjI3LjU2NTkgQzU4My4wODM5LDYyNy41NjU5IDU4Mi42NDc5LDYyNy4zNzI5IDU4Mi4zNTE5LDYyNy4wMDM5IEM1ODEuODMzOSw2MjYuMzU3OSA1ODEuOTM2OSw2MjUuNDEzOSA1ODIuNTgzOSw2MjQuODk1OSBDNTg0LjEzMzksNjIzLjY1MTkgNTg1LjY2OTksNjIyLjM5MDkgNTg3LjE5MTksNjIxLjExMzkgQzU4Ny44MjU5LDYyMC41ODA5IDU4OC43NzI5LDYyMC42NjQ5IDU4OS4zMDQ5LDYyMS4yOTg5IEM1ODkuODM3OSw2MjEuOTMyOSA1ODkuNzU0OSw2MjIuODc4OSA1ODkuMTE5OSw2MjMuNDExOSBDNTg3LjU3NDksNjI0LjcwODkgNTg2LjAwNjksNjI1Ljk5NDkgNTg0LjQ2MDksNjI3LjIzNTkgQzU4NC4xODM5LDYyNy40NTc5IDU4My44NTE5LDYyNy41NjU5IDU4My41MjI5LDYyNy41NjU5IEw1ODMuNTIyOSw2MjcuNTY1OSBaIE0yNDQuMDQ2OSw2MzEuMTU3OSBDMjQzLjcyNjksNjMxLjE1NzkgMjQzLjQwNTksNjMxLjA1NTkgMjQzLjEzMjksNjMwLjg0NjkgQzI0MS41Mzc5LDYyOS42MTk5IDIzOS45NTU5LDYyOC4zNzY5IDIzOC4zODc5LDYyNy4xMTY5IEMyMzcuNzQxOSw2MjYuNTk3OSAyMzcuNjM4OSw2MjUuNjUzOSAyMzguMTU4OSw2MjUuMDA3OSBDMjM4LjY3NjksNjI0LjM2MTkgMjM5LjYyMzksNjI0LjI2MDkgMjQwLjI2NjksNjI0Ljc3ODkgQzI0MS44MTg5LDYyNi4wMjU5IDI0My4zODI5LDYyNy4yNTQ5IDI0NC45NjE5LDYyOC40Njc5IEMyNDUuNjE4OSw2MjguOTcyOSAyNDUuNzQxOSw2MjkuOTEzOSAyNDUuMjM2OSw2MzAuNTcxOSBDMjQ0Ljk0MDksNjMwLjk1NTkgMjQ0LjQ5NjksNjMxLjE1NzkgMjQ0LjA0NjksNjMxLjE1NzkgTDI0NC4wNDY5LDYzMS4xNTc5IFogTTU3NC4wMTc5LDYzNC44NjM5IEM1NzMuNTU2OSw2MzQuODYzOSA1NzMuMTAxOSw2MzQuNjUxOSA1NzIuODA3OSw2MzQuMjUwOSBDNTcyLjMxNzksNjMzLjU4MjkgNTcyLjQ2MTksNjMyLjY0MzkgNTczLjEyOTksNjMyLjE1NDkgQzU3NC43MzA5LDYzMC45Nzg5IDU3Ni4zMjA5LDYyOS43ODU5IDU3Ny44OTU5LDYyOC41Nzc5IEM1NzguNTUyOSw2MjguMDcyOSA1NzkuNDk0OSw2MjguMTk2OSA1NzkuOTk4OSw2MjguODUzOSBDNTgwLjUwMzksNjI5LjUxMDkgNTgwLjM3OTksNjMwLjQ1MjkgNTc5LjcyMTksNjMwLjk1NTkgQzU3OC4xMjk5LDYzMi4xNzg5IDU3Ni41MjM5LDYzMy4zODQ5IDU3NC45MDQ5LDYzNC41NzI5IEM1NzQuNjM2OSw2MzQuNzY4OSA1NzQuMzI2OSw2MzQuODYzOSA1NzQuMDE3OSw2MzQuODYzOSBMNTc0LjAxNzksNjM0Ljg2MzkgWiBNMjUzLjcyMzksNjM4LjI2NjkgQzI1My40MjU5LDYzOC4yNjY5IDI1My4xMjU5LDYzOC4xNzg5IDI1Mi44NjI5LDYzNy45OTM5IEMyNTEuMjE2OSw2MzYuODM3OSAyNDkuNTgxOSw2MzUuNjYyOSAyNDcuOTU5OSw2MzQuNDcyOSBDMjQ3LjI5MTksNjMzLjk4MjkgMjQ3LjE0NzksNjMzLjA0MzkgMjQ3LjYzNzksNjMyLjM3NTkgQzI0OC4xMjk5LDYzMS43MDc5IDI0OS4wNjc5LDYzMS41NjU5IDI0OS43MzQ5LDYzMi4wNTQ5IEMyNTEuMzM5OSw2MzMuMjMyOSAyNTIuOTU2OSw2MzQuMzk0OSAyNTQuNTg3OSw2MzUuNTM4OSBDMjU1LjI2NDksNjM2LjAxNDkgMjU1LjQyODksNjM2Ljk1MDkgMjU0Ljk1MjksNjM3LjYyODkgQzI1NC42NjA5LDYzOC4wNDM5IDI1NC4xOTU5LDYzOC4yNjY5IDI1My43MjM5LDYzOC4yNjY5IEwyNTMuNzIzOSw2MzguMjY2OSBaIE01NjQuMjA3OSw2NDEuNzM5OSBDNTYzLjcyMzksNjQxLjczOTkgNTYzLjI0OTksNjQxLjUwNTkgNTYyLjk2MDksNjQxLjA3MzkgQzU2Mi40OTk5LDY0MC4zODU5IDU2Mi42ODM5LDYzOS40NTI5IDU2My4zNzI5LDYzOC45OTM5IEM1NjUuMDIzOSw2MzcuODg3OSA1NjYuNjYxOSw2MzYuNzY1OSA1NjguMjg4OSw2MzUuNjI1OSBDNTY4Ljk2NDksNjM1LjE1MTkgNTY5LjkwMDksNjM1LjMxNDkgNTcwLjM3NzksNjM1Ljk5MzkgQzU3MC44NTI5LDYzNi42NzE5IDU3MC42ODc5LDYzNy42MDc5IDU3MC4wMDg5LDYzOC4wODI5IEM1NjguMzY2OSw2MzkuMjM0OSA1NjYuNzA5OSw2NDAuMzY4OSA1NjUuMDQwOSw2NDEuNDg1OSBDNTY0Ljc4NDksNjQxLjY1NzkgNTY0LjQ5NDksNjQxLjczOTkgNTY0LjIwNzksNjQxLjczOTkgTDU2NC4yMDc5LDY0MS43Mzk5IFogTTI2My43MDM5LDY0NC45NDk5IEMyNjMuNDI2OSw2NDQuOTQ5OSAyNjMuMTQ3OSw2NDQuODcyOSAyNjIuODk2OSw2NDQuNzEzOSBDMjYxLjE5OTksNjQzLjYyOTkgMjU5LjUxMzksNjQyLjUyNzkgMjU3Ljg0MTksNjQxLjQwNzkgQzI1Ny4xNTM5LDY0MC45NDY5IDI1Ni45Njk5LDY0MC4wMTQ5IDI1Ny40MzA5LDYzOS4zMjY5IEMyNTcuODkxOSw2MzguNjM4OSAyNTguODIyOSw2MzguNDUyOSAyNTkuNTExOSw2MzguOTE0OSBDMjYxLjE2NjksNjQwLjAyMzkgMjYyLjgzMjksNjQxLjExMjkgMjY0LjUxMTksNjQyLjE4NDkgQzI2NS4yMTA5LDY0Mi42MzA5IDI2NS40MTQ5LDY0My41NTg5IDI2NC45Njg5LDY0NC4yNTY5IEMyNjQuNjgyOSw2NDQuNzA0OSAyNjQuMTk3OSw2NDQuOTQ5OSAyNjMuNzAzOSw2NDQuOTQ5OSBMMjYzLjcwMzksNjQ0Ljk0OTkgWiBNNTU0LjExMjksNjQ4LjE3ODkgQzU1My42MDY5LDY0OC4xNzg5IDU1My4xMTI5LDY0Ny45MjE5IDU1Mi44MzA5LDY0Ny40NTc5IEM1NTIuMzk5OSw2NDYuNzQ5OSA1NTIuNjI0OSw2NDUuODI3OSA1NTMuMzMyOSw2NDUuMzk2OSBDNTU1LjAyOTksNjQ0LjM2NTkgNTU2LjcxNDksNjQzLjMxNjkgNTU4LjM4NjksNjQyLjI0ODkgQzU1OS4wODU5LDY0MS44MDQ5IDU2MC4wMTE5LDY0Mi4wMDg5IDU2MC40NTg5LDY0Mi43MDY5IEM1NjAuOTAzOSw2NDMuNDA1OSA1NjAuNjk4OSw2NDQuMzMxOSA1NjAuMDAwOSw2NDQuNzc4OSBDNTU4LjMwOTksNjQ1Ljg1NzkgNTU2LjYwNTksNjQ2LjkxNzkgNTU0Ljg5MDksNjQ3Ljk1OTkgQzU1NC42NDc5LDY0OC4xMDg5IDU1NC4zNzg5LDY0OC4xNzg5IDU1NC4xMTI5LDY0OC4xNzg5IEw1NTQuMTEyOSw2NDguMTc4OSBaIE0yNzMuOTY5OSw2NTEuMTkzOSBDMjczLjcxNDksNjUxLjE5MzkgMjczLjQ1NjksNjUxLjEyODkgMjczLjIxODksNjUwLjk5MTkgQzI3MS40NzU5LDY0OS45ODI5IDI2OS43NDQ5LDY0OC45NTM5IDI2OC4wMjM5LDY0Ny45MDk5IEMyNjcuMzE1OSw2NDcuNDc4OSAyNjcuMDkxOSw2NDYuNTU1OSAyNjcuNTIwOSw2NDUuODQ3OSBDMjY3Ljk1MjksNjQ1LjEzOTkgMjY4Ljg3NjksNjQ0LjkxNjkgMjY5LjU4MjksNjQ1LjM0NDkgQzI3MS4yODM5LDY0Ni4zNzk5IDI3Mi45OTc5LDY0Ny4zOTY5IDI3NC43MjE5LDY0OC4zOTU5IEMyNzUuNDM5OSw2NDguODEwOSAyNzUuNjgzOSw2NDkuNzI3OSAyNzUuMjY4OSw2NTAuNDQ0OSBDMjc0Ljk5MTksNjUwLjkyNDkgMjc0LjQ4NzksNjUxLjE5MzkgMjczLjk2OTksNjUxLjE5MzkgTDI3My45Njk5LDY1MS4xOTM5IFogTTU0My43NTA5LDY1NC4xNzA5IEM1NDMuMjIwOSw2NTQuMTcwOSA1NDIuNzA4OSw2NTMuODkwOSA1NDIuNDM0OSw2NTMuMzkzOSBDNTQyLjAzNTksNjUyLjY2NzkgNTQyLjMwMDksNjUxLjc1NTkgNTQzLjAyNjksNjUxLjM1NjkgQzU0NC43NjU5LDY1MC4zOTk5IDU0Ni40OTU5LDY0OS40MjU5IDU0OC4yMTE5LDY0OC40MzI5IEM1NDguOTI3OSw2NDguMDE4OSA1NDkuODQ0OSw2NDguMjYzOSA1NTAuMjYwOSw2NDguOTgwOSBDNTUwLjY3NDksNjQ5LjY5NzkgNTUwLjQyOTksNjUwLjYxNTkgNTQ5LjcxMzksNjUxLjAzMDkgQzU0Ny45Nzc5LDY1Mi4wMzM5IDU0Ni4yMzA5LDY1My4wMTg5IDU0NC40NzE5LDY1My45ODU5IEM1NDQuMjQyOSw2NTQuMTExOSA1NDMuOTk1OSw2NTQuMTcwOSA1NDMuNzUwOSw2NTQuMTcwOSBMNTQzLjc1MDksNjU0LjE3MDkgWiBNMjg0LjUwMzksNjU2Ljk4NDkgQzI4NC4yNjg5LDY1Ni45ODQ5IDI4NC4wMzI5LDY1Ni45Mjk5IDI4My44MTA5LDY1Ni44MTQ5IEMyODIuMDIzOSw2NTUuODgyOSAyODAuMjQ3OSw2NTQuOTMwOSAyNzguNDgyOSw2NTMuOTYwOSBDMjc3Ljc1NzksNjUzLjU2MTkgMjc3LjQ5MTksNjUyLjY0OTkgMjc3Ljg5MDksNjUxLjkyMzkgQzI3OC4yOTE5LDY1MS4xOTY5IDI3OS4yMDM5LDY1MC45MzM5IDI3OS45Mjc5LDY1MS4zMzE5IEMyODEuNjczOSw2NTIuMjkxOSAyODMuNDI5OSw2NTMuMjMyOSAyODUuMTk3OSw2NTQuMTU0OSBDMjg1LjkzMTksNjU0LjUzNjkgMjg2LjIxNjksNjU1LjQ0MzkgMjg1LjgzNDksNjU2LjE3NzkgQzI4NS41NjY5LDY1Ni42OTE5IDI4NS4wNDQ5LDY1Ni45ODQ5IDI4NC41MDM5LDY1Ni45ODQ5IEwyODQuNTAzOSw2NTYuOTg0OSBaIE01MzMuMTQwOSw2NTkuNzAyOSBDNTMyLjU4ODksNjU5LjcwMjkgNTMyLjA1NjksNjU5LjM5NTkgNTMxLjc5NTksNjU4Ljg2NzkgQzUzMS40Mjc5LDY1OC4xMjM5IDUzMS43MzI5LDY1Ny4yMjQ5IDUzMi40NzQ5LDY1Ni44NTc5IEM1MzQuMjU2OSw2NTUuOTc3OSA1MzYuMDI0OSw2NTUuMDc5OSA1MzcuNzgxOSw2NTQuMTYzOSBDNTM4LjUxNTksNjUzLjc4MTkgNTM5LjQyMjksNjU0LjA2NjkgNTM5LjgwNDksNjU0LjgwMDkgQzU0MC4xODc5LDY1NS41MzU5IDUzOS45MDI5LDY1Ni40NDE5IDUzOS4xNjg5LDY1Ni44MjQ5IEM1MzcuMzkxOSw2NTcuNzQ5OSA1MzUuNjAzOSw2NTguNjU3OSA1MzMuODA0OSw2NTkuNTQ2OSBDNTMzLjU5MDksNjU5LjY1MjkgNTMzLjM2NDksNjU5LjcwMjkgNTMzLjE0MDksNjU5LjcwMjkgTDUzMy4xNDA5LDY1OS43MDI5IFogTTI5NS4yODM5LDY2Mi4zMDk5IEMyOTUuMDcwOSw2NjIuMzA5OSAyOTQuODU0OSw2NjIuMjY0OSAyOTQuNjQ5OSw2NjIuMTY4OSBDMjkyLjgyMjksNjYxLjMxNTkgMjkxLjAwNjksNjYwLjQ0MjkgMjg5LjE5OTksNjU5LjU1MDkgQzI4OC40NTc5LDY1OS4xODQ5IDI4OC4xNTE5LDY1OC4yODU5IDI4OC41MTg5LDY1Ny41NDE5IEMyODguODg0OSw2NTYuNzk5OSAyODkuNzgzOSw2NTYuNDk0OSAyOTAuNTI3OSw2NTYuODYxOSBDMjkyLjMxNDksNjU3Ljc0MzkgMjk0LjExMTksNjU4LjYwNjkgMjk1LjkxOTksNjU5LjQ1MDkgQzI5Ni42NzA5LDY1OS44MDA5IDI5Ni45OTQ5LDY2MC42OTM5IDI5Ni42NDM5LDY2MS40NDQ5IEMyOTYuMzg4OSw2NjEuOTg5OSAyOTUuODQ3OSw2NjIuMzA5OSAyOTUuMjgzOSw2NjIuMzA5OSBMMjk1LjI4MzksNjYyLjMwOTkgWiBNNTIyLjMwNTksNjY0Ljc2MzkgQzUyMS43Mjk5LDY2NC43NjM5IDUyMS4xNzk5LDY2NC40Mjk5IDUyMC45MzE5LDY2My44Njg5IEM1MjAuNTk3OSw2NjMuMTEwOSA1MjAuOTQxOSw2NjIuMjI0OSA1MjEuNzAwOSw2NjEuODkwOSBDNTIzLjUxNTksNjYxLjA5MDkgNTI1LjMyMDksNjYwLjI3MTkgNTI3LjExNTksNjU5LjQzMjkgQzUyNy44NjM5LDY1OS4wODI5IDUyOC43NTc5LDY1OS40MDY5IDUyOS4xMDk5LDY2MC4xNTc5IEM1MjkuNDYwOSw2NjAuOTA4OSA1MjkuMTM1OSw2NjEuODAwOSA1MjguMzg0OSw2NjIuMTUxOSBDNTI2LjU3MDksNjYyLjk5NzkgNTI0Ljc0NjksNjYzLjgyNzkgNTIyLjkwOTksNjY0LjYzNjkgQzUyMi43MTM5LDY2NC43MjI5IDUyMi41MDc5LDY2NC43NjM5IDUyMi4zMDU5LDY2NC43NjM5IEw1MjIuMzA1OSw2NjQuNzYzOSBaIE0zMDYuMjkxOSw2NjcuMTU4OSBDMzA2LjA5OTksNjY3LjE1ODkgMzA1LjkwNTksNjY3LjEyMTkgMzA1LjcxNzksNjY3LjA0MzkgQzMwMy44NTQ5LDY2Ni4yNzE5IDMwMS45ODM5LDY2NS40NzE5IDMwMC4xNTQ5LDY2NC42NjQ5IEMyOTkuMzk2OSw2NjQuMzMwOSAyOTkuMDUyOSw2NjMuNDQ2OSAyOTkuMzg3OSw2NjIuNjg3OSBDMjk5LjcyMTksNjYxLjkzMDkgMzAwLjYwNjksNjYxLjU4NTkgMzAxLjM2NTksNjYxLjkyMDkgQzMwMy4xNzM5LDY2Mi43MTc5IDMwNS4wMjM5LDY2My41MDg5IDMwNi44NjY5LDY2NC4yNzI5IEMzMDcuNjMyOSw2NjQuNTg5OSAzMDcuOTk1OSw2NjUuNDY2OSAzMDcuNjc3OSw2NjYuMjMyOSBDMzA3LjQzODksNjY2LjgwOTkgMzA2Ljg4MDksNjY3LjE1ODkgMzA2LjI5MTksNjY3LjE1ODkgTDMwNi4yOTE5LDY2Ny4xNTg5IFogTTUxMS4yNjQ5LDY2OS4zNDU5IEM1MTAuNjY1OSw2NjkuMzQ1OSA1MTAuMDk4OSw2NjguOTgzOSA1MDkuODY3OSw2NjguMzkwOSBDNTA5LjU2NjksNjY3LjYxOTkgNTA5Ljk0ODksNjY2Ljc0ODkgNTEwLjcxOTksNjY2LjQ0ODkgQzUxMi41Njg5LDY2NS43Mjc5IDUxNC40MDY5LDY2NC45ODg5IDUxNi4yMzQ5LDY2NC4yMjk5IEM1MTcuMDAzOSw2NjMuOTEwOSA1MTcuODc3OSw2NjQuMjc1OSA1MTguMTk1OSw2NjUuMDM5OSBDNTE4LjUxMjksNjY1LjgwNTkgNTE4LjE0OTksNjY2LjY4MzkgNTE3LjM4NDksNjY3LjAwMDkgQzUxNS41Mzc5LDY2Ny43Njc5IDUxMy42Nzc5LDY2OC41MTQ5IDUxMS44MDk5LDY2OS4yNDM5IEM1MTEuNjMxOSw2NjkuMzEzOSA1MTEuNDQ2OSw2NjkuMzQ1OSA1MTEuMjY0OSw2NjkuMzQ1OSBMNTExLjI2NDksNjY5LjM0NTkgWiBNMzE3LjUwOTksNjcxLjUxOTkgQzMxNy4zNDA5LDY3MS41MTk5IDMxNy4xNjY5LDY3MS40OTE5IDMxNi45OTc5LDY3MS40Mjk5IEMzMTUuMDkwOSw2NzAuNzM1OSAzMTMuMTg0OSw2NzAuMDE4OSAzMTEuMzMzOSw2NjkuMjk3OSBDMzEwLjU2MDksNjY4Ljk5NzkgMzEwLjE3ODksNjY4LjEyODkgMzEwLjQ3OTksNjY3LjM1NjkgQzMxMC43ODA5LDY2Ni41ODM5IDMxMS42NTM5LDY2Ni4yMDA5IDMxMi40MjE5LDY2Ni41MDI5IEMzMTQuMjUyOSw2NjcuMjE0OSAzMTYuMTM2OSw2NjcuOTIzOSAzMTguMDIyOSw2NjguNjA5OSBDMzE4LjgwMDksNjY4Ljg5MjkgMzE5LjIwMjksNjY5Ljc1MzkgMzE4LjkyMDksNjcwLjUzMjkgQzMxOC42OTg5LDY3MS4xNDE5IDMxOC4xMjI5LDY3MS41MTk5IDMxNy41MDk5LDY3MS41MTk5IEwzMTcuNTA5OSw2NzEuNTE5OSBaIE00OTkuOTkzOSw2NzMuNDUyOSBDNDk5LjM2ODksNjczLjQ1MjkgNDk4Ljc4NTksNjczLjA1OTkgNDk4LjU3MzksNjcyLjQzNTkgQzQ5OC4zMDY5LDY3MS42NTE5IDQ5OC43MjU5LDY3MC43OTg5IDQ5OS41MDk5LDY3MC41MzI5IEM1MDEuMzk0OSw2NjkuODkwOSA1MDMuMjcxOSw2NjkuMjMwOSA1MDUuMTM3OSw2NjguNTUwOSBDNTA1LjkxODksNjY4LjI2OTkgNTA2Ljc3NzksNjY4LjY2NzkgNTA3LjA2MDksNjY5LjQ0NjkgQzUwNy4zNDQ5LDY3MC4yMjQ5IDUwNi45NDM5LDY3MS4wODU5IDUwNi4xNjU5LDY3MS4zNjk5IEM1MDQuMjc3OSw2NzIuMDU2OSA1MDIuMzgxOSw2NzIuNzI0OSA1MDAuNDc2OSw2NzMuMzcxOSBDNTAwLjMxNjksNjczLjQyNjkgNTAwLjE1MzksNjczLjQ1MjkgNDk5Ljk5MzksNjczLjQ1MjkgTDQ5OS45OTM5LDY3My40NTI5IFogTTMyOC45MTM5LDY3NS4zODM5IEMzMjguNzY0OSw2NzUuMzgzOSAzMjguNjEzOSw2NzUuMzYyOSAzMjguNDYzOSw2NzUuMzE0OSBDMzI2LjUyNzksNjc0LjcwNTkgMzI0LjU5MDksNjc0LjA3MzkgMzIyLjcwNzksNjczLjQzMzkgQzMyMS45MjM5LDY3My4xNjc5IDMyMS41MDM5LDY3Mi4zMTY5IDMyMS43Njk5LDY3MS41MzE5IEMzMjIuMDM2OSw2NzAuNzQ2OSAzMjIuODg2OSw2NzAuMzI0OSAzMjMuNjcyOSw2NzAuNTkzOSBDMzI1LjUzMzksNjcxLjIyNTkgMzI3LjQ0ODksNjcxLjg1MDkgMzI5LjM2MzksNjcyLjQ1MzkgQzMzMC4xNTM5LDY3Mi43MDE5IDMzMC41OTI5LDY3My41NDI5IDMzMC4zNDM5LDY3NC4zMzM5IEMzMzAuMTQyOSw2NzQuOTc0OSAzMjkuNTUwOSw2NzUuMzgzOSAzMjguOTEzOSw2NzUuMzgzOSBMMzI4LjkxMzksNjc1LjM4MzkgWiBNNDg4LjU1MDksNjc3LjA1OTkgQzQ4Ny45MDE5LDY3Ny4wNTk5IDQ4Ny4zMDI5LDY3Ni42MzQ5IDQ4Ny4xMTE5LDY3NS45Nzk5IEM0ODYuODgwOSw2NzUuMTg0OSA0ODcuMzM3OSw2NzQuMzUxOSA0ODguMTMyOSw2NzQuMTE5OSBDNDkwLjA0MzksNjczLjU2MjkgNDkxLjk0NzksNjcyLjk4NTkgNDkzLjg0MTksNjcyLjM4NzkgQzQ5NC42MzI5LDY3Mi4xNDA5IDQ5NS40NzI5LDY3Mi41Nzg5IDQ5NS43MjI5LDY3My4zNjc5IEM0OTUuOTcxOSw2NzQuMTU3OSA0OTUuNTMzOSw2NzQuOTk5OSA0OTQuNzQzOSw2NzUuMjQ4OSBDNDkyLjgyODksNjc1Ljg1MjkgNDkwLjkwNDksNjc2LjQzNTkgNDg4Ljk3MTksNjc2Ljk5OTkgQzQ4OC44MzI5LDY3Ny4wMzk5IDQ4OC42OTA5LDY3Ny4wNTk5IDQ4OC41NTA5LDY3Ny4wNTk5IEw0ODguNTUwOSw2NzcuMDU5OSBaIE0zNDAuNDM1OSw2NzguNzI5OSBDMzQwLjMwNzksNjc4LjcyOTkgMzQwLjE3NzksNjc4LjcxMzkgMzQwLjA0ODksNjc4LjY3ODkgQzMzOC4xMDI5LDY3OC4xNjA5IDMzNi4xNjY5LDY3Ny42MTk5IDMzNC4yMzc5LDY3Ny4wNjA5IEMzMzMuNDQxOSw2NzYuODI5OSAzMzIuOTgzOSw2NzUuOTk3OSAzMzMuMjE1OSw2NzUuMjAyOSBDMzMzLjQ0NjksNjc0LjQwNjkgMzM0LjI3NzksNjczLjk0NTkgMzM1LjA3MzksNjc0LjE3OTkgQzMzNi45ODA5LDY3NC43MzM5IDMzOC44OTY5LDY3NS4yNjc5IDM0MC44MjE5LDY3NS43ODA5IEMzNDEuNjIxOSw2NzUuOTkzOSAzNDIuMDk3OSw2NzYuODE1OSAzNDEuODgzOSw2NzcuNjE2OSBDMzQxLjcwNTksNjc4LjI4NjkgMzQxLjA5ODksNjc4LjcyOTkgMzQwLjQzNTksNjc4LjcyOTkgTDM0MC40MzU5LDY3OC43Mjk5IFogTTQ3Ni45NjA5LDY4MC4xNjE5IEM0NzYuMjg0OSw2ODAuMTYxOSA0NzUuNjcxOSw2NzkuNzAyOSA0NzUuNTA0OSw2NzkuMDE2OSBDNDc1LjMwNzksNjc4LjIxMTkgNDc1LjgwMDksNjc3LjQwMDkgNDc2LjYwNTksNjc3LjIwMzkgQzQ3OC41MTg5LDY3Ni43Mzc5IDQ4MC40NjM5LDY3Ni4yNDA5IDQ4Mi4zODU5LDY3NS43MjQ5IEM0ODMuMTg3OSw2NzUuNTExOSA0ODQuMDA4OSw2NzUuOTg1OSA0ODQuMjIyOSw2NzYuNzg2OSBDNDg0LjQzNjksNjc3LjU4NTkgNDgzLjk2MjksNjc4LjQwODkgNDgzLjE2MTksNjc4LjYyMjkgQzQ4MS4yMTc5LDY3OS4xNDM5IDQ3OS4yNTE5LDY3OS42NDY5IDQ3Ny4zMTY5LDY4MC4xMTg5IEM0NzcuMTk3OSw2ODAuMTQ3OSA0NzcuMDc3OSw2ODAuMTYxOSA0NzYuOTYwOSw2ODAuMTYxOSBMNDc2Ljk2MDksNjgwLjE2MTkgWiBNMzUyLjA5MTksNjgxLjU2NjkgQzM1MS45ODU5LDY4MS41NjY5IDM1MS44Nzc5LDY4MS41NTU5IDM1MS43Njg5LDY4MS41MzE5IEMzNDkuNzk3OSw2ODEuMDk3OSAzNDcuODE5OSw2ODAuNjM4OSAzNDUuODkwOSw2ODAuMTY4OSBDMzQ1LjA4NjksNjc5Ljk3MzkgMzQ0LjU5MjksNjc5LjE2MTkgMzQ0Ljc4OTksNjc4LjM1NjkgQzM0NC45ODU5LDY3Ny41NTE5IDM0NS43OTE5LDY3Ny4wNTY5IDM0Ni42MDE5LDY3Ny4yNTQ5IEMzNDguNTMwOSw2NzcuNzI0OSAzNTAuNDY3OSw2NzguMTcyOSAzNTIuNDEzOSw2NzguNjAxOSBDMzUzLjIyMjksNjc4Ljc3OTkgMzUzLjczMzksNjc5LjU3OTkgMzUzLjU1NTksNjgwLjM4ODkgQzM1My40MDE5LDY4MS4wODg5IDM1Mi43ODE5LDY4MS41NjY5IDM1Mi4wOTE5LDY4MS41NjY5IEwzNTIuMDkxOSw2ODEuNTY2OSBaIE00NjUuMjQ2OSw2ODIuNzQ5OSBDNDY0LjU0NTksNjgyLjc0OTkgNDYzLjkxODksNjgyLjI1NTkgNDYzLjc3NjksNjgxLjU0MTkgQzQ2My42MTU5LDY4MC43Mjk5IDQ2NC4xNDM5LDY3OS45Mzk5IDQ2NC45NTY5LDY3OS43Nzg5IEM0NjYuOTEwOSw2NzkuMzkxOSA0NjguODU2OSw2NzguOTgzOSA0NzAuNzk2OSw2NzguNTU0OSBDNDcxLjYwODksNjc4LjM4NDkgNDcyLjQwNTksNjc4Ljg4NzkgNDcyLjU4NDksNjc5LjY5NjkgQzQ3Mi43NjI5LDY4MC41MDQ5IDQ3Mi4yNTI5LDY4MS4zMDU5IDQ3MS40NDI5LDY4MS40ODQ5IEM0NjkuNDgzOSw2ODEuOTE2OSA0NjcuNTE1OSw2ODIuMzI4OSA0NjUuNTQwOSw2ODIuNzIxOSBDNDY1LjQ0MTksNjgyLjc0MTkgNDY1LjM0MjksNjgyLjc0OTkgNDY1LjI0NjksNjgyLjc0OTkgTDQ2NS4yNDY5LDY4Mi43NDk5IFogTTM2My44NjM5LDY4My44ODg5IEMzNjMuNzc3OSw2ODMuODg4OSAzNjMuNjkwOSw2ODMuODgxOSAzNjMuNjAzOSw2ODMuODY2OSBDMzYxLjYwMjksNjgzLjUxNjkgMzU5LjYwNzksNjgzLjE0NTkgMzU3LjY3MjksNjgyLjc2MjkgQzM1Ni44NTk5LDY4Mi42MDE5IDM1Ni4zMzE5LDY4MS44MTI5IDM1Ni40OTE5LDY4MC45OTk5IEMzNTYuNjUyOSw2ODAuMTg2OSAzNTcuNDQwOSw2NzkuNjU1OSAzNTguMjU0OSw2NzkuODE5OSBDMzYwLjE2ODksNjgwLjE5ODkgMzYyLjE0MDksNjgwLjU2NTkgMzY0LjExOTksNjgwLjkxMTkgQzM2NC45MzU5LDY4MS4wNTM5IDM2NS40ODE5LDY4MS44MzA5IDM2NS4zMzk5LDY4Mi42NDY5IEMzNjUuMjEyOSw2ODMuMzc1OSAzNjQuNTc4OSw2ODMuODg4OSAzNjMuODYzOSw2ODMuODg4OSBMMzYzLjg2MzksNjgzLjg4ODkgWiBNNDUzLjQzMDksNjg0LjgyNDkgQzQ1Mi43MDM5LDY4NC44MjQ5IDQ1Mi4wNjM5LDY4NC4yOTM5IDQ1MS45NTA5LDY4My41NTE5IEM0NTEuODI0OSw2ODIuNzMyOSA0NTIuMzg2OSw2ODEuOTY2OSA0NTMuMjA1OSw2ODEuODQxOSBDNDU1LjE3NDksNjgxLjUzODkgNDU3LjEzNjksNjgxLjIxNjkgNDU5LjA5MjksNjgwLjg3MzkgQzQ1OS45MDU5LDY4MC43MzM5IDQ2MC42ODU5LDY4MS4yNzc5IDQ2MC44Mjk5LDY4Mi4wOTI5IEM0NjAuOTcxOSw2ODIuOTA4OSA0NjAuNDI2OSw2ODMuNjg1OSA0NTkuNjEwOSw2ODMuODI4OSBDNDU3LjYzNDksNjg0LjE3NTkgNDU1LjY1MDksNjg0LjUwMTkgNDUzLjY2MDksNjg0LjgwNjkgQzQ1My41ODM5LDY4NC44MTg5IDQ1My41MDc5LDY4NC44MjQ5IDQ1My40MzA5LDY4NC44MjQ5IEw0NTMuNDMwOSw2ODQuODI0OSBaIE0zNzUuNzIyOSw2ODUuNjkzOSBDMzc1LjY1ODksNjg1LjY5MzkgMzc1LjU5MjksNjg1LjY4OTkgMzc1LjUyNzksNjg1LjY4MDkgQzM3My41Mzc5LDY4NS40MjI5IDM3MS41Mjc5LDY4NS4xMzg5IDM2OS41NTQ5LDY4NC44Mzc5IEMzNjguNzM1OSw2ODQuNzEzOSAzNjguMTczOSw2ODMuOTQ4OSAzNjguMjk4OSw2ODMuMTI5OSBDMzY4LjQyMjksNjgyLjMxMDkgMzY5LjE5NDksNjgxLjc1MDkgMzcwLjAwNjksNjgxLjg3MjkgQzM3MS45Njg5LDY4Mi4xNzE5IDM3My45Mzg5LDY4Mi40NDk5IDM3NS45MTQ5LDY4Mi43MDU5IEMzNzYuNzM1OSw2ODIuODEyOSAzNzcuMzE0OSw2ODMuNTY0OSAzNzcuMjA4OSw2ODQuMzg2OSBDMzc3LjExMDksNjg1LjE0MjkgMzc2LjQ2NTksNjg1LjY5MzkgMzc1LjcyMjksNjg1LjY5MzkgTDM3NS43MjI5LDY4NS42OTM5IFogTTQ0MS41MzU5LDY4Ni4zNzg5IEM0NDAuNzc5OSw2ODYuMzc4OSA0NDAuMTMwOSw2ODUuODA5OSA0NDAuMDQ2OSw2ODUuMDQwOSBDNDM5Ljk1NjksNjg0LjIxNzkgNDQwLjU1MDksNjgzLjQ3NzkgNDQxLjM3NTksNjgzLjM4NzkgQzQ0My4zNTY5LDY4My4xNzE5IDQ0NS4zMzE5LDY4Mi45MzY5IDQ0Ny4yOTk5LDY4Mi42Nzg5IEM0NDguMTE2OSw2ODIuNTY4OSA0NDguODczOSw2ODMuMTQ5OSA0NDguOTgwOSw2ODMuOTcxOSBDNDQ5LjA4ODksNjg0Ljc5MjkgNDQ4LjUwODksNjg1LjU0NTkgNDQ3LjY4NzksNjg1LjY1MzkgQzQ0NS42OTg5LDY4NS45MTI5IDQ0My43MDI5LDY4Ni4xNTI5IDQ0MS42OTk5LDY4Ni4zNjk5IEM0NDEuNjQ0OSw2ODYuMzc1OSA0NDEuNTkwOSw2ODYuMzc4OSA0NDEuNTM1OSw2ODYuMzc4OSBMNDQxLjUzNTksNjg2LjM3ODkgWiBNMzg3LjY1MDksNjg2Ljk3OTkgQzM4Ny42MDc5LDY4Ni45Nzk5IDM4Ny41NjM5LDY4Ni45Nzc5IDM4Ny41MTk5LDY4Ni45NzM5IEMzODUuNTEyOSw2ODYuODAwOSAzODMuNTExOSw2ODYuNjA3OSAzODEuNTE2OSw2ODYuMzkxOSBDMzgwLjY5MjksNjg2LjMwMjkgMzgwLjA5NzksNjg1LjU2MjkgMzgwLjE4NjksNjg0LjczOTkgQzM4MC4yNzQ5LDY4My45MTQ5IDM4MS4wMTc5LDY4My4zMTk5IDM4MS44Mzk5LDY4My40MDk5IEMzODMuODEyOSw2ODMuNjIyOSAzODUuNzkyOSw2ODMuODE0OSAzODcuNzc3OSw2ODMuOTg1OSBDMzg4LjYwMjksNjg0LjA1NTkgMzg5LjIxNDksNjg0Ljc4MzkgMzg5LjE0MjksNjg1LjYwODkgQzM4OS4wNzU5LDY4Ni4zODk5IDM4OC40MjA5LDY4Ni45Nzk5IDM4Ny42NTA5LDY4Ni45Nzk5IEwzODcuNjUwOSw2ODYuOTc5OSBaIE00MjkuNTg0OSw2ODcuNDEzOSBDNDI4Ljc5OTksNjg3LjQxMzkgNDI4LjEzOTksNjg2LjgwNDkgNDI4LjA4ODksNjg2LjAxMTkgQzQyOC4wMzQ5LDY4NS4xODQ5IDQyOC42NjE5LDY4NC40NzA5IDQyOS40ODc5LDY4NC40MTY5IEM0MzEuNDc3OSw2ODQuMjg3OSA0MzMuNDYxOSw2ODQuMTM3OSA0MzUuNDM4OSw2ODMuOTY2OSBDNDM2LjI0MTksNjgzLjg4OTkgNDM2Ljk5MDksNjg0LjUwNTkgNDM3LjA2MTksNjg1LjMzMTkgQzQzNy4xMzI5LDY4Ni4xNTc5IDQzNi41MjE5LDY4Ni44ODM5IDQzNS42OTY5LDY4Ni45NTQ5IEM0MzMuNjk3OSw2ODcuMTI3OSA0MzEuNjkzOSw2ODcuMjgwOSA0MjkuNjgyOSw2ODcuNDExOSBDNDI5LjY0OTksNjg3LjQxMjkgNDI5LjYxNjksNjg3LjQxMzkgNDI5LjU4NDksNjg3LjQxMzkgTDQyOS41ODQ5LDY4Ny40MTM5IFogTTM5OS42MjI5LDY4Ny43NDc5IEMzOTkuNjAwOSw2ODcuNzQ3OSAzOTkuNTc5OSw2ODcuNzQ3OSAzOTkuNTU3OSw2ODcuNzQ2OSBDMzk3LjU0NTksNjg3LjY2MTkgMzk1LjUzNzksNjg3LjU1NDkgMzkzLjUzNDksNjg3LjQyNTkgQzM5Mi43MDg5LDY4Ny4zNzE5IDM5Mi4wODE5LDY4Ni42NTk5IDM5Mi4xMzM5LDY4NS44MzI5IEMzOTIuMTg2OSw2ODUuMDA0OSAzOTIuODk0OSw2ODQuMzc2OSAzOTMuNzI2OSw2ODQuNDMxOSBDMzk1LjcwNzksNjg0LjU1ODkgMzk3LjY5MzksNjg0LjY2NDkgMzk5LjY4NDksNjg0Ljc0ODkgQzQwMC41MTI5LDY4NC43ODQ5IDQwMS4xNTU5LDY4NS40ODQ5IDQwMS4xMjA5LDY4Ni4zMTE5IEM0MDEuMDg2OSw2ODcuMTE4OSA0MDAuNDIxOSw2ODcuNzQ3OSAzOTkuNjIyOSw2ODcuNzQ3OSBMMzk5LjYyMjksNjg3Ljc0NzkgWiBNNDE3LjYxMTksNjg3LjkzMjkgQzQxNi43OTg5LDY4Ny45MzI5IDQxNi4xMzA5LDY4Ny4yODI5IDQxNi4xMTI5LDY4Ni40NjQ5IEM0MTYuMDk0OSw2ODUuNjM2OSA0MTYuNzUyOSw2ODQuOTUxOSA0MTcuNTgwOSw2ODQuOTMyOSBDNDE5LjU2OTksNjg0Ljg5MDkgNDIxLjU1MjksNjg0LjgyNTkgNDIzLjUzMDksNjg0LjczOTkgQzQyNC4zNTk5LDY4NC43MDM5IDQyNS4wNTc5LDY4NS4zNDY5IDQyNS4wOTM5LDY4Ni4xNzM5IEM0MjUuMTI5OSw2ODcuMDAwOSA0MjQuNDg3OSw2ODcuNzAxOSA0MjMuNjU5OSw2ODcuNzM3OSBDNDIxLjY2MDksNjg3LjgyMzkgNDE5LjY1NTksNjg3Ljg4ODkgNDE3LjY0NDksNjg3LjkzMjkgTDQxNy42MTE5LDY4Ny45MzI5IFogTTQxMS42MTQ5LDY4Ny45OTk5IEw0MTEuNDk5OSw2ODcuOTk5OSBDNDA5LjUyMjksNjg3Ljk5OTkgNDA3LjU1MTksNjg3Ljk3OTkgNDA1LjU4NTksNjg3LjkzODkgQzQwNC43NTc5LDY4Ny45MjA5IDQwNC4wOTk5LDY4Ny4yMzU5IDQwNC4xMTY5LDY4Ni40MDc5IEM0MDQuMTMzOSw2ODUuNTc4OSA0MDQuODMzOSw2ODQuOTQ1OSA0MDUuNjQ3OSw2ODQuOTM4OSBDNDA3LjU5MjksNjg0Ljk3OTkgNDA5LjU0NDksNjg0Ljk5OTkgNDExLjQ5OTksNjg0Ljk5OTkgTDQxMS42MTQ5LDY4NC45OTk5IEM0MTIuNDQyOSw2ODQuOTk5OSA0MTMuMTE0OSw2ODUuNjcxOSA0MTMuMTE0OSw2ODYuNDk5OSBDNDEzLjExNDksNjg3LjMyODkgNDEyLjQ0MjksNjg3Ljk5OTkgNDExLjYxNDksNjg3Ljk5OTkgTDQxMS42MTQ5LDY4Ny45OTk5IFoiIGlkPSJGaWxsLTQiIGZpbGw9IiNBM0IxQkYiIG9wYWNpdHk9IjAuMzk1NjcwNTczIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQwMy44NDYzLDIyMy4xNTE2IEM0MDMuMDQ1MywyMjMuMTUxNiA0MDIuMzgwMywyMjIuNTE4NiA0MDIuMzQ4MywyMjEuNzExNiBDNDAyLjMxNjMsMjIwLjg4MjYgNDAyLjk1OTMsMjIwLjE4NTYgNDAzLjc4NzMsMjIwLjE1MjYgQzQwNS43NzMzLDIyMC4wNzM2IDQwNy44MDQzLDIyMC4wMjQ2IDQwOS44MjYzLDIyMC4wMDY2IEw0MDkuODM5MywyMjAuMDA2NiBDNDEwLjY2MTMsMjIwLjAwNjYgNDExLjMzMjMsMjIwLjY3MDYgNDExLjMzOTM1NSwyMjEuNDk0NiBDNDExLjM0NjMsMjIyLjMyMjYgNDEwLjY4MTMsMjIyLjk5OTYgNDA5Ljg1MjMsMjIzLjAwNjYgQzQwNy44NjIzLDIyMy4wMjQ2IDQwNS44NjEzLDIyMy4wNzI2IDQwMy45MDczLDIyMy4xNTA2IEM0MDMuODg2MywyMjMuMTUxNiA0MDMuODY3MywyMjMuMTUxNiA0MDMuODQ2MywyMjMuMTUxNiBMNDAzLjg0NjMsMjIzLjE1MTYgWiBNNDIxLjgzMjMsMjIzLjI3NjYgQzQyMS44MDYzLDIyMy4yNzY2IDQyMS43NzkzLDIyMy4yNzU2IDQyMS43NTEzLDIyMy4yNzQ2IEM0MTkuNzc2MywyMjMuMTY5NiA0MTcuNzc1MywyMjMuMDkyNiA0MTUuODA0MywyMjMuMDQ4NiBDNDE0Ljk3NjMsMjIzLjAzMDYgNDE0LjMxOTMsMjIyLjM0MzYgNDE0LjMzNzMsMjIxLjUxNTYgQzQxNC4zNTYzLDIyMC42OTg2IDQxNS4wMjQzLDIyMC4wNDg2IDQxNS44MzYzLDIyMC4wNDg2IEw0MTUuODcwMywyMjAuMDQ4NiBDNDE3Ljg3MjMsMjIwLjA5MzYgNDE5LjkwNTMsMjIwLjE3MTYgNDIxLjkxMTMsMjIwLjI3ODYgQzQyMi43MzkzLDIyMC4zMjI2IDQyMy4zNzMzLDIyMS4wMjk2IDQyMy4zMjkzLDIyMS44NTY2IEM0MjMuMjg2MywyMjIuNjU2NiA0MjIuNjI0MywyMjMuMjc2NiA0MjEuODMyMywyMjMuMjc2NiBMNDIxLjgzMjMsMjIzLjI3NjYgWiBNMzkxLjg4MDMsMjI0LjAwMDYgQzM5MS4xMjAzLDIyNC4wMDA2IDM5MC40NjkzLDIyMy40MjQ2IDM5MC4zOTAzLDIyMi42NTI2IEMzOTAuMzA2MywyMjEuODI5NiAzOTAuOTA2MywyMjEuMDkxNiAzOTEuNzMwMywyMjEuMDA3NiBDMzkzLjcxOTMsMjIwLjgwMzYgMzk1Ljc0NTMsMjIwLjYyODYgMzk3Ljc1MjMsMjIwLjQ4NTYgQzM5OC41NzUzLDIyMC40Mjk2IDM5OS4yOTYzLDIyMS4wNDc2IDM5OS4zNTUzLDIyMS44NzU2IEMzOTkuNDEzMywyMjIuNzAxNiAzOTguNzkxMywyMjMuNDE5NiAzOTcuOTY1MywyMjMuNDc3NiBDMzk1Ljk4OTMsMjIzLjYxODYgMzkzLjk5MzMsMjIzLjc5MjYgMzkyLjAzNDMsMjIzLjk5MjYgQzM5MS45ODMzLDIyMy45OTc2IDM5MS45MzEzLDIyNC4wMDA2IDM5MS44ODAzLDIyNC4wMDA2IEwzOTEuODgwMywyMjQuMDAwNiBaIE00MzMuNzg1MywyMjQuMjkzNiBDNDMzLjcyNzMsMjI0LjI5MzYgNDMzLjY2ODMsMjI0LjI5MDYgNDMzLjYxMDMsMjI0LjI4MzYgQzQzMS42NDIzLDIyNC4wNTI2IDQyOS42NTAzLDIyMy44NTE2IDQyNy42ODgzLDIyMy42ODQ2IEM0MjYuODYzMywyMjMuNjE1NiA0MjYuMjUwMywyMjIuODg4NiA0MjYuMzIxMywyMjIuMDYzNiBDNDI2LjM5MDMsMjIxLjIzNzYgNDI3LjEyMTMsMjIwLjYzNjYgNDI3Ljk0MjMsMjIwLjY5NTYgQzQyOS45MzUzLDIyMC44NjU2IDQzMS45NTgzLDIyMS4wNjk2IDQzMy45NTczLDIyMS4zMDI2IEM0MzQuNzgxMywyMjEuMzk5NiA0MzUuMzY5MywyMjIuMTQ0NiA0MzUuMjc0MywyMjIuOTY2NiBDNDM1LjE4NDMsMjIzLjczMDYgNDM0LjUzNjMsMjI0LjI5MzYgNDMzLjc4NTMsMjI0LjI5MzYgTDQzMy43ODUzLDIyNC4yOTM2IFogTTM3OS45OTIzLDIyNS41OTk2IEMzNzkuMjczMywyMjUuNTk5NiAzNzguNjM3MywyMjUuMDgwNiAzNzguNTE1MywyMjQuMzQ2NiBDMzc4LjM3ODMsMjIzLjUyOTYgMzc4LjkzMDMsMjIyLjc1NjYgMzc5Ljc0NzMsMjIyLjYyMDYgQzM4MS43MjgzLDIyMi4yOTA2IDM4My43NDAzLDIyMS45ODc2IDM4NS43MjYzLDIyMS43MjA2IEMzODYuNTM4MywyMjEuNTk0NiAzODcuMzAxMywyMjIuMTg2NiAzODcuNDExMywyMjMuMDA3NiBDMzg3LjUyMjMsMjIzLjgyODYgMzg2Ljk0NjMsMjI0LjU4NDYgMzg2LjEyNDMsMjI0LjY5MzYgQzM4NC4xNzAzLDIyNC45NTY2IDM4Mi4xOTEzLDIyNS4yNTQ2IDM4MC4yNDIzLDIyNS41Nzk2IEMzODAuMTU4MywyMjUuNTkyNiAzODAuMDc1MywyMjUuNTk5NiAzNzkuOTkyMywyMjUuNTk5NiBMMzc5Ljk5MjMsMjI1LjU5OTYgWiBNNDQ1LjY0ODMsMjI2LjA1OTYgQzQ0NS41NTkzLDIyNi4wNTk2IDQ0NS40NjkzLDIyNi4wNTE2IDQ0NS4zNzgzLDIyNi4wMzU2IEM0NDMuNDIyMywyMjUuNjgxNiA0NDEuNDQ4MywyMjUuMzU1NiA0MzkuNTA4MywyMjUuMDY2NiBDNDM4LjY4OTMsMjI0Ljk0NDYgNDM4LjEyMzMsMjI0LjE4MTYgNDM4LjI0NTMsMjIzLjM2MjYgQzQzOC4zNjczLDIyMi41NDQ2IDQzOS4xMzAzLDIyMS45NzE2IDQzOS45NTAzLDIyMi4wOTk2IEM0NDEuOTIwMywyMjIuMzkyNiA0NDMuOTI2MywyMjIuNzIzNiA0NDUuOTEzMywyMjMuMDg0NiBDNDQ2LjcyOTMsMjIzLjIzMTYgNDQ3LjI3MDMsMjI0LjAxMTYgNDQ3LjEyMTMsMjI0LjgyNzYgQzQ0Ni45OTEzLDIyNS41NTE2IDQ0Ni4zNTkzLDIyNi4wNTk2IDQ0NS42NDgzLDIyNi4wNTk2IEw0NDUuNjQ4MywyMjYuMDU5NiBaIE0zNjguMjMyMywyMjcuOTQ4NiBDMzY3LjU0OTMsMjI3Ljk0ODYgMzY2LjkzMzMsMjI3LjQ4MDYgMzY2Ljc3MjMsMjI2Ljc4ODYgQzM2Ni41ODQzLDIyNS45ODE2IDM2Ny4wODYzLDIyNS4xNzQ2IDM2Ny44OTMzLDIyNC45ODc2IEMzNjkuODYyMywyMjQuNTI5NiAzNzEuODUwMywyMjQuMDk5NiAzNzMuODAyMywyMjMuNzExNiBDMzc0LjYwOTMsMjIzLjU0NDYgMzc1LjQwNTMsMjI0LjA3NTYgMzc1LjU2NjMsMjI0Ljg4ODYgQzM3NS43MjgzLDIyNS43MDE2IDM3NS4yMDAzLDIyNi40OTE2IDM3NC4zODgzLDIyNi42NTI2IEMzNzIuNDY3MywyMjcuMDM1NiAzNzAuNTExMywyMjcuNDU4NiAzNjguNTczMywyMjcuOTA5NiBDMzY4LjQ1ODMsMjI3LjkzNTYgMzY4LjM0NDMsMjI3Ljk0ODYgMzY4LjIzMjMsMjI3Ljk0ODYgTDM2OC4yMzIzLDIyNy45NDg2IFogTTQ1Ny4zNzYzLDIyOC41NzU2IEM0NTcuMjU3MywyMjguNTc1NiA0NTcuMTM1MywyMjguNTYxNiA0NTcuMDE0MywyMjguNTMxNiBDNDU1LjEwMjMsMjI4LjA1NjYgNDUzLjE1MjMsMjI3LjYwNTYgNDUxLjIxNjMsMjI3LjE5MTYgQzQ1MC40MDczLDIyNy4wMTc2IDQ0OS44OTAzLDIyNi4yMjA2IDQ1MC4wNjQzLDIyNS40MTA2IEM0NTAuMjM5MywyMjQuNTk5NiA0NTEuMDM0MywyMjQuMDg3NiA0NTEuODQ1MywyMjQuMjU3NiBDNDUzLjgxMTMsMjI0LjY3OTYgNDU1Ljc5MzMsMjI1LjEzNzYgNDU3LjczNzMsMjI1LjYxOTYgQzQ1OC41NDAzLDIyNS44MTk2IDQ1OS4wMzEzLDIyNi42MzI2IDQ1OC44MzEzLDIyNy40MzY2IEM0NTguNjYxMywyMjguMTE5NiA0NTguMDQ5MywyMjguNTc1NiA0NTcuMzc2MywyMjguNTc1NiBMNDU3LjM3NjMsMjI4LjU3NTYgWiBNMzU2LjY0MTMsMjMxLjAzODYgQzM1NS45OTYzLDIzMS4wMzg2IDM1NS40MDEzLDIzMC42MTk2IDM1NS4yMDUzLDIyOS45NzA2IEMzNTQuOTY3MywyMjkuMTc2NiAzNTUuNDE2MywyMjguMzQwNiAzNTYuMjA5MywyMjguMTAxNiBDMzU4LjEzNDMsMjI3LjUyMjYgMzYwLjA5MTMsMjI2Ljk2NzYgMzYyLjAyNzMsMjI2LjQ1MjYgQzM2Mi44MjIzLDIyNi4yMzI2IDM2My42NDkzLDIyNi43MTQ2IDM2My44NjIzLDIyNy41MTU2IEMzNjQuMDc1MywyMjguMzE1NiAzNjMuNTk5MywyMjkuMTM3NiAzNjIuNzk4MywyMjkuMzUwNiBDMzYwLjg5NDMsMjI5Ljg1ODYgMzU4Ljk2ODMsMjMwLjQwNDYgMzU3LjA3NTMsMjMwLjk3NDYgQzM1Ni45MzAzLDIzMS4wMTc2IDM1Ni43ODQzLDIzMS4wMzg2IDM1Ni42NDEzLDIzMS4wMzg2IEwzNTYuNjQxMywyMzEuMDM4NiBaIE00NjguOTE5MywyMzEuODMwNiBDNDY4Ljc3MDMsMjMxLjgzMDYgNDY4LjYxNzMsMjMxLjgwNzYgNDY4LjQ2NzMsMjMxLjc1OTYgQzQ2Ni41ODQzLDIzMS4xNjU2IDQ2NC42NjYzLDIzMC41OTA2IDQ2Mi43NjYzLDIzMC4wNTQ2IEM0NjEuOTY4MywyMjkuODMwNiA0NjEuNTA0MywyMjkuMDAxNiA0NjEuNzMwMywyMjguMjA0NiBDNDYxLjk1NTMsMjI3LjQwNzYgNDYyLjc4NzMsMjI2Ljk0MTYgNDYzLjU4MDMsMjI3LjE2ODYgQzQ2NS41MTEzLDIyNy43MTI2IDQ2Ny40NTkzLDIyOC4yOTU2IDQ2OS4zNzEzLDIyOC44OTk2IEM0NzAuMTYxMywyMjkuMTQ5NiA0NzAuNTk5MywyMjkuOTkyNiA0NzAuMzUwMywyMzAuNzgyNiBDNDcwLjE0NzMsMjMxLjQyMjYgNDY5LjU1NjMsMjMxLjgzMDYgNDY4LjkxOTMsMjMxLjgzMDYgTDQ2OC45MTkzLDIzMS44MzA2IFogTTM0NS4yNzIzLDIzNC44NjA2IEMzNDQuNjYzMywyMzQuODYwNiAzNDQuMDkxMywyMzQuNDg3NiAzNDMuODY2MywyMzMuODgzNiBDMzQzLjU3NzMsMjMzLjEwNzYgMzQzLjk3MjMsMjMyLjI0MzYgMzQ0Ljc0ODMsMjMxLjk1NDYgQzM0Ni42MjYzLDIzMS4yNTU2IDM0OC41NDMzLDIzMC41Nzc2IDM1MC40NDkzLDIyOS45Mzc2IEMzNTEuMjM1MywyMjkuNjcyNiAzNTIuMDgzMywyMzAuMDk2NiAzNTIuMzQ4MywyMzAuODgxNiBDMzUyLjYxMjMsMjMxLjY2NzYgMzUyLjE4OTMsMjMyLjUxNzYgMzUxLjQwNDMsMjMyLjc4MTYgQzM0OS41MzAzLDIzMy40MTE2IDM0Ny42NDIzLDIzNC4wNzk2IDM0NS43OTUzLDIzNC43NjY2IEMzNDUuNjIyMywyMzQuODMwNiAzNDUuNDQ2MywyMzQuODYwNiAzNDUuMjcyMywyMzQuODYwNiBMMzQ1LjI3MjMsMjM0Ljg2MDYgWiBNNDgwLjI2OTMsMjM1LjgyODYgQzQ4MC4wODgzLDIzNS44Mjg2IDQ3OS45MDQzLDIzNS43OTY2IDQ3OS43MjUzLDIzNS43MjY2IEM0NzcuODg2MywyMzUuMDEwNiA0NzYuMDAzMywyMzQuMzEzNiA0NzQuMTI5MywyMzMuNjU0NiBDNDczLjM0ODMsMjMzLjM3OTYgNDcyLjkzNzMsMjMyLjUyMjYgNDczLjIxMjMsMjMxLjc0MTYgQzQ3My40ODczLDIzMC45NTk2IDQ3NC4zNDAzLDIzMC41NDg2IDQ3NS4xMjUzLDIzMC44MjQ2IEM0NzcuMDMwMywyMzEuNDk1NiA0NzguOTQzMywyMzIuMjAzNiA0ODAuODEzMywyMzIuOTI5NiBDNDgxLjU4NDMsMjMzLjIzMDYgNDgxLjk2NzMsMjM0LjA5OTYgNDgxLjY2NzMsMjM0Ljg3MjYgQzQ4MS40MzYzLDIzNS40NjQ2IDQ4MC44NjkzLDIzNS44Mjg2IDQ4MC4yNjkzLDIzNS44Mjg2IEw0ODAuMjY5MywyMzUuODI4NiBaIE0zMzQuMTg1MywyMzkuMzg5NiBDMzMzLjYxMTMsMjM5LjM4OTYgMzMzLjA2MzMsMjM5LjA1ODYgMzMyLjgxNDMsMjM4LjUwMDYgQzMzMi40NzczLDIzNy43NDQ2IDMzMi44MTczLDIzNi44NTY2IDMzMy41NzQzLDIzNi41MTk2IEMzMzUuNDA3MywyMzUuNzAyNiAzMzcuMjcxMywyMzQuOTA2NiAzMzkuMTE2MywyMzQuMTUyNiBDMzM5Ljg4NTMsMjMzLjgzNjYgMzQwLjc1OTMsMjM0LjIwODYgMzQxLjA3MjMsMjM0Ljk3MzYgQzM0MS4zODUzLDIzNS43NDA2IDM0MS4wMTczLDIzNi42MTY2IDM0MC4yNTAzLDIzNi45Mjk2IEMzMzguNDM1MywyMzcuNjcyNiAzMzYuNTk5MywyMzguNDU1NiAzMzQuNzk0MywyMzkuMjU5NiBDMzM0LjU5NjMsMjM5LjM0NzYgMzM0LjM4OTMsMjM5LjM4OTYgMzM0LjE4NTMsMjM5LjM4OTYgTDMzNC4xODUzLDIzOS4zODk2IFogTTQ5MS4zMzMzLDI0MC41MzY2IEM0OTEuMTIyMywyNDAuNTM2NiA0OTAuOTA4MywyNDAuNDkyNiA0OTAuNzAzMywyNDAuMzk3NiBDNDg4LjkwMTMsMjM5LjU2MjYgNDg3LjA2NzMsMjM4Ljc0NzYgNDg1LjI1MjMsMjM3Ljk3NDYgQzQ4NC40OTEzLDIzNy42NTA2IDQ4NC4xMzUzLDIzNi43Njk2IDQ4NC40NjAzLDIzNi4wMDY2IEM0ODQuNzg0MywyMzUuMjQ2NiA0ODUuNjYxMywyMzQuODg3NiA0ODYuNDI4MywyMzUuMjE0NiBDNDg4LjI3MTMsMjM1Ljk5OTYgNDkwLjEzNDMsMjM2LjgyNzYgNDkxLjk2NTMsMjM3LjY3NDYgQzQ5Mi43MTYzLDIzOC4wMjM2IDQ5My4wNDMzLDIzOC45MTU2IDQ5Mi42OTYzLDIzOS42Njc2IEM0OTIuNDQyMywyNDAuMjEzNiA0OTEuOTAwMywyNDAuNTM2NiA0OTEuMzMzMywyNDAuNTM2NiBMNDkxLjMzMzMsMjQwLjUzNjYgWiBNMzIzLjQxODMsMjQ0LjYwNjYgQzMyMi44NzgzLDI0NC42MDY2IDMyMi4zNTczLDI0NC4zMTQ2IDMyMi4wODgzLDI0My44MDI2IEMzMjEuNzA0MywyNDMuMDY5NiAzMjEuOTg4MywyNDIuMTYyNiAzMjIuNzIxMywyNDEuNzc4NiBDMzI0LjUwMzMsMjQwLjg0MzYgMzI2LjMxNjMsMjM5LjkyOTYgMzI4LjEwNzMsMjM5LjA2MzYgQzMyOC44NDkzLDIzOC43MDM2IDMyOS43NDkzLDIzOS4wMTM2IDMzMC4xMTAzLDIzOS43NTk2IEMzMzAuNDcxMywyNDAuNTA1NiAzMzAuMTU5MywyNDEuNDAyNiAzMjkuNDEzMywyNDEuNzYyNiBDMzI3LjY1MjMsMjQyLjYxNjYgMzI1Ljg2ODMsMjQzLjUxNTYgMzI0LjExNDMsMjQ0LjQzNDYgQzMyMy44OTEzLDI0NC41NTE2IDMyMy42NTQzLDI0NC42MDY2IDMyMy40MTgzLDI0NC42MDY2IEwzMjMuNDE4MywyNDQuNjA2NiBaIE0zMTIuOTk2MywyNTAuNDk2NiBDMzEyLjQ5MTMsMjUwLjQ5NjYgMzExLjk5NTMsMjUwLjIzOTYgMzExLjcxMzMsMjQ5Ljc3NDYgQzMxMS4yODMzLDI0OS4wNjY2IDMxMS41MDkzLDI0OC4xNDQ2IDMxMi4yMTczLDI0Ny43MTM2IEMzMTMuOTQyMywyNDYuNjY2NiAzMTUuNjkzMywyNDUuNjM5NiAzMTcuNDIzMywyNDQuNjYzNiBDMzE4LjE0MjMsMjQ0LjI1NTYgMzE5LjA1OTMsMjQ0LjUwOTYgMzE5LjQ2NjMsMjQ1LjIzMTYgQzMxOS44NzQzLDI0NS45NTI2IDMxOS42MTkzLDI0Ni44Njc2IDMxOC44OTgzLDI0Ny4yNzQ2IEMzMTcuMTk2MywyNDguMjM2NiAzMTUuNDcyMywyNDkuMjQ3NiAzMTMuNzc0MywyNTAuMjc4NiBDMzEzLjUzMTMsMjUwLjQyNTYgMzEzLjI2MjMsMjUwLjQ5NjYgMzEyLjk5NjMsMjUwLjQ5NjYgTDMxMi45OTYzLDI1MC40OTY2IFogTTMwMi45NTkzLDI1Ny4wMzQ2IEMzMDIuNDg2MywyNTcuMDM0NiAzMDIuMDIwMywyNTYuODEwNiAzMDEuNzI4MywyNTYuMzkyNiBDMzAxLjI1NDMsMjU1LjcxMzYgMzAxLjQyMTMsMjU0Ljc3NzYgMzAyLjEwMDMsMjU0LjMwMzYgQzMwMy43NDEzLDI1My4xNjA2IDMwNS40MjQzLDI1Mi4wMjQ2IDMwNy4xMDczLDI1MC45Mjk2IEMzMDcuODAxMywyNTAuNDc3NiAzMDguNzMwMywyNTAuNjczNiAzMDkuMTgyMywyNTEuMzY4NiBDMzA5LjYzNDMsMjUyLjA2MjYgMzA5LjQzODMsMjUyLjk5MTYgMzA4Ljc0MzMsMjUzLjQ0MzYgQzMwNy4wODgzLDI1NC41MjE2IDMwNS40MzAzLDI1NS42Mzg2IDMwMy44MTczLDI1Ni43NjQ2IEMzMDMuNTU1MywyNTYuOTQ2NiAzMDMuMjU2MywyNTcuMDM0NiAzMDIuOTU5MywyNTcuMDM0NiBMMzAyLjk1OTMsMjU3LjAzNDYgWiBNMjkzLjM1MTMsMjY0LjE5MzYgQzI5Mi45MDkzLDI2NC4xOTM2IDI5Mi40NzIzLDI2My45OTk2IDI5Mi4xNzYzLDI2My42Mjc2IEMyOTEuNjYwMywyNjIuOTc4NiAyOTEuNzY4MywyNjIuMDM1NiAyOTIuNDE2MywyNjEuNTE5NiBDMjkzLjk5MjMsMjYwLjI2NjYgMjk1LjYwMjMsMjU5LjAyNzYgMjk3LjIwMzMsMjU3LjgzNTYgQzI5Ny44NjczLDI1Ny4zMzk2IDI5OC44MDYzLDI1Ny40Nzc2IDI5OS4zMDIzLDI1OC4xNDI2IEMyOTkuNzk3MywyNTguODA2NiAyOTkuNjU5MywyNTkuNzQ2NiAyOTguOTk0MywyNjAuMjQxNiBDMjk3LjQxOTMsMjYxLjQxNTYgMjk1LjgzMzMsMjYyLjYzNDYgMjk0LjI4MzMsMjYzLjg2NzYgQzI5NC4wMDczLDI2NC4wODc2IDI5My42NzgzLDI2NC4xOTM2IDI5My4zNTEzLDI2NC4xOTM2IEwyOTMuMzUxMywyNjQuMTkzNiBaIE01MzEuOTE3MywyNjYuMDI2NiBDNTMxLjU4MjMsMjY2LjAyNjYgNTMxLjI0NTMsMjY1LjkxNTYgNTMwLjk2NzMsMjY1LjY4NTYgQzUyOS40NDEzLDI2NC40MzM2IDUyNy44NzEzLDI2My4xODc2IDUyNi4zMDUzLDI2MS45ODM2IEM1MjUuNjQ4MywyNjEuNDc4NiA1MjUuNTI1MywyNjAuNTM3NiA1MjYuMDMwMywyNTkuODgwNiBDNTI2LjUzNTMsMjU5LjIyMjYgNTI3LjQ3NzMsMjU5LjEwMTYgNTI4LjEzMzMsMjU5LjYwNDYgQzUyOS43MjUzLDI2MC44Mjg2IDUzMS4zMTkzLDI2Mi4wOTM2IDUzMi44NjkzLDI2My4zNjc2IEM1MzMuNTEwMywyNjMuODkyNiA1MzMuNjA0MywyNjQuODM4NiA1MzMuMDc3MywyNjUuNDc3NiBDNTMyLjc4MjMsMjY1LjgzOTYgNTMyLjM1MTMsMjY2LjAyNjYgNTMxLjkxNzMsMjY2LjAyNjYgTDUzMS45MTczLDI2Ni4wMjY2IFogTTI4NC4yMDQzLDI3MS45NDU2IEMyODMuNzk0MywyNzEuOTQ1NiAyODMuMzg2MywyNzEuNzc4NiAyODMuMDkwMywyNzEuNDUwNiBDMjgyLjUzNDMsMjcwLjgzNTYgMjgyLjU4MzMsMjY5Ljg4NjYgMjgzLjE5OTMsMjY5LjMzMjYgQzI4NC42OTkzLDI2Ny45Nzg2IDI4Ni4yMjgzLDI2Ni42Mzk2IDI4Ny43NDUzLDI2NS4zNTM2IEMyODguMzc4MywyNjQuODE5NiAyODkuMzI1MywyNjQuODk1NiAyODkuODYwMywyNjUuNTI4NiBDMjkwLjM5NTMsMjY2LjE2MDYgMjkwLjMxNzMsMjY3LjEwNjYgMjg5LjY4NTMsMjY3LjY0MjYgQzI4OC4xOTIzLDI2OC45MDg2IDI4Ni42ODUzLDI3MC4yMjU2IDI4NS4yMDgzLDI3MS41NTg2IEMyODQuOTIxMywyNzEuODE3NiAyODQuNTYyMywyNzEuOTQ1NiAyODQuMjA0MywyNzEuOTQ1NiBMMjg0LjIwNDMsMjcxLjk0NTYgWiBNNTQwLjk1MjMsMjczLjkyNDYgQzU0MC41ODYzLDI3My45MjQ2IDU0MC4yMTkzLDI3My43OTI2IDUzOS45MzAzLDI3My41MjI2IEM1MzguNDk1MywyNzIuMTg1NiA1MzcuMDA4MywyNzAuODQzNiA1MzUuNTExMywyNjkuNTM0NiBDNTM0Ljg4NzMsMjY4Ljk4OTYgNTM0LjgyNDMsMjY4LjA0MjYgNTM1LjM2OTMsMjY3LjQxODYgQzUzNS45MTIzLDI2Ni43OTY2IDUzNi44NjMzLDI2Ni43Mjk2IDUzNy40ODYzLDI2Ny4yNzY2IEM1MzkuMDA3MywyNjguNjA1NiA1NDAuNTE3MywyNjkuOTY4NiA1NDEuOTc1MywyNzEuMzI3NiBDNTQyLjU4MTMsMjcxLjg5MjYgNTQyLjYxNTMsMjcyLjg0MTYgNTQyLjA1MDMsMjczLjQ0NzYgQzU0MS43NTQzLDI3My43NjQ2IDU0MS4zNTQzLDI3My45MjQ2IDU0MC45NTIzLDI3My45MjQ2IEw1NDAuOTUyMywyNzMuOTI0NiBaIE0yNzUuNTYwMywyODAuMjU3NiBDMjc1LjE4MjMsMjgwLjI1NzYgMjc0LjgwNDMsMjgwLjExNjYgMjc0LjUxMjMsMjc5LjgzMTYgQzI3My45MTkzLDI3OS4yNTM2IDI3My45MDgzLDI3OC4zMDI2IDI3NC40ODczLDI3Ny43MTA2IEMyNzUuODg3MywyNzYuMjc0NiAyNzcuMzMxMywyNzQuODQxNiAyNzguNzc3MywyNzMuNDUyNiBDMjc5LjM3MzMsMjcyLjg3NjYgMjgwLjMyNTMsMjcyLjg5NjYgMjgwLjg5ODMsMjczLjQ5MzYgQzI4MS40NzIzLDI3NC4wOTA2IDI4MS40NTMzLDI3NS4wNDA2IDI4MC44NTczLDI3NS42MTQ2IEMyNzkuNDMzMywyNzYuOTgyNiAyNzguMDEyMywyNzguMzkyNiAyNzYuNjMzMywyNzkuODA1NiBDMjc2LjMzOTMsMjgwLjEwNjYgMjc1Ljk1MDMsMjgwLjI1NzYgMjc1LjU2MDMsMjgwLjI1NzYgTDI3NS41NjAzLDI4MC4yNTc2IFogTTU0OS40NjkzLDI4Mi4zNjk2IEM1NDkuMDcyMywyODIuMzY5NiA1NDguNjc1MywyODIuMjEyNiA1NDguMzgwMywyODEuOTAwNiBDNTQ3LjAyMzMsMjgwLjQ2NzYgNTQ1LjYyNDMsMjc5LjAzNjYgNTQ0LjIyMjMsMjc3LjY0NjYgQzU0My42MzMzLDI3Ny4wNjM2IDU0My42MjkzLDI3Ni4xMTM2IDU0NC4yMTIzLDI3NS41MjU2IEM1NDQuNzk1MywyNzQuOTM2NiA1NDUuNzQ2MywyNzQuOTMyNiA1NDYuMzMzMywyNzUuNTE1NiBDNTQ3Ljc1ODMsMjc2LjkyNzYgNTQ5LjE4MDMsMjc4LjM4MTYgNTUwLjU1ODMsMjc5LjgzODYgQzU1MS4xMjgzLDI4MC40Mzk2IDU1MS4xMDIzLDI4MS4zODg2IDU1MC41MDAzLDI4MS45NTg2IEM1NTAuMjEwMywyODIuMjMzNiA1NDkuODM5MywyODIuMzY5NiA1NDkuNDY5MywyODIuMzY5NiBMNTQ5LjQ2OTMsMjgyLjM2OTYgWiBNMjY3LjQ1MDMsMjg5LjA5OTYgQzI2Ny4xMDMzLDI4OS4wOTk2IDI2Ni43NTUzLDI4OC45ODA2IDI2Ni40NzEzLDI4OC43MzY2IEMyNjUuODQ0MywyODguMTk1NiAyNjUuNzc0MywyODcuMjQ4NiAyNjYuMzE0MywyODYuNjIwNiBDMjY3LjYxODMsMjg1LjEwNjYgMjY4Ljk2OTMsMjgzLjU4NzYgMjcwLjMzMDMsMjgyLjEwMTYgQzI3MC44OTEzLDI4MS40OTE2IDI3MS44MzkzLDI4MS40NDk2IDI3Mi40NTAzLDI4Mi4wMDk2IEMyNzMuMDYwMywyODIuNTY5NiAyNzMuMTAyMywyODMuNTE3NiAyNzIuNTQxMywyODQuMTI5NiBDMjcxLjIwMTMsMjg1LjU5MDYgMjY5Ljg3MTMsMjg3LjA4ODYgMjY4LjU4NzMsMjg4LjU3OTYgQzI2OC4yOTAzLDI4OC45MjI2IDI2Ny44NzEzLDI4OS4wOTk2IDI2Ny40NTAzLDI4OS4wOTk2IEwyNjcuNDUwMywyODkuMDk5NiBaIE01NTcuNDM5MywyOTEuMzMwNiBDNTU3LjAwOTMsMjkxLjMzMDYgNTU2LjU4MjMsMjkxLjE0NjYgNTU2LjI4NTMsMjkwLjc5MTYgQzU1NS4wMzEzLDI4OS4yODY2IDU1My43MjUzLDI4Ny43NzA2IDU1Mi40MDQzLDI4Ni4yODU2IEM1NTEuODU0MywyODUuNjY2NiA1NTEuOTA4MywyODQuNzE3NiA1NTIuNTI4MywyODQuMTY3NiBDNTUzLjE0OTMsMjgzLjYxNzYgNTU0LjA5NDMsMjgzLjY3MjYgNTU0LjY0NjMsMjg0LjI5MTYgQzU1NS45ODgzLDI4NS43OTk2IDU1Ny4zMTUzLDI4Ny4zMzk2IDU1OC41OTAzLDI4OC44Njk2IEM1NTkuMTIwMywyODkuNTA1NiA1NTkuMDM0MywyOTAuNDUxNiA1NTguMzk5MywyOTAuOTgyNiBDNTU4LjExODMsMjkxLjIxNTYgNTU3Ljc3ODMsMjkxLjMzMDYgNTU3LjQzOTMsMjkxLjMzMDYgTDU1Ny40MzkzLDI5MS4zMzA2IFogTTU2NC44MjUzLDMwMC43Njc2IEM1NjQuMzY1MywzMDAuNzY3NiA1NjMuOTA5MywzMDAuNTU1NiA1NjMuNjE2MywzMDAuMTU1NiBDNTYyLjQzNTMsMjk4LjU0NzYgNTYxLjIyNzMsMjk2Ljk1MjYgNTYwLjAyNDMsMjk1LjQxNjYgQzU1OS41MTQzLDI5NC43NjM2IDU1OS42MjgzLDI5My44MjA2IDU2MC4yODEzLDI5My4zMDk2IEM1NjAuOTMzMywyOTIuODAxNiA1NjEuODc2MywyOTIuOTE0NiA1NjIuMzg3MywyOTMuNTY2NiBDNTYzLjYwODMsMjk1LjEyNzYgNTY0LjgzNTMsMjk2Ljc0NzYgNTY2LjAzMzMsMjk4LjM4MDYgQzU2Ni41MjQzLDI5OS4wNDc2IDU2Ni4zODAzLDI5OS45ODY2IDU2NS43MTIzLDMwMC40NzY2IEM1NjUuNDQ1MywzMDAuNjcyNiA1NjUuMTM0MywzMDAuNzY3NiA1NjQuODI1MywzMDAuNzY3NiBMNTY0LjgyNTMsMzAwLjc2NzYgWiBNNTcxLjYwMjMsMzEwLjY0NTYgQzU3MS4xMDgzLDMxMC42NDU2IDU3MC42MjQzLDMxMC40MDE2IDU3MC4zMzgzLDMwOS45NTQ2IEM1NjkuMjc2MywzMDguMjk2NiA1NjguMTcxMywzMDYuNjMwNiA1NjcuMDU0MywzMDUuMDAzNiBDNTY2LjU4NjMsMzA0LjMxOTYgNTY2Ljc2MDMsMzAzLjM4NTYgNTY3LjQ0MzMsMzAyLjkxNzYgQzU2OC4xMjYzLDMwMi40NTA2IDU2OS4wNjAzLDMwMi42MjI2IDU2OS41MjkzLDMwMy4zMDU2IEM1NzAuNjYyMywzMDQuOTU5NiA1NzEuNzg0MywzMDYuNjUxNiA1NzIuODY0MywzMDguMzM3NiBDNTczLjMxMTMsMzA5LjAzNDYgNTczLjEwODMsMzA5Ljk2MjYgNTcyLjQwOTMsMzEwLjQwODYgQzU3Mi4xNTkzLDMxMC41Njk2IDU3MS44NzkzLDMxMC42NDU2IDU3MS42MDIzLDMxMC42NDU2IEw1NzEuNjAyMywzMTAuNjQ1NiBaIE0yMzEuNzU5MywzNTEuMjUwNiBDMjMxLjU5ODMsMzUxLjI1MDYgMjMxLjQzNDMsMzUxLjIyNDYgMjMxLjI3MjMsMzUxLjE2OTYgQzIzMC40ODkzLDM1MC44OTk2IDIzMC4wNzIzLDM1MC4wNDY2IDIzMC4zNDAzLDM0OS4yNjI2IEMyMzAuOTk3MywzNDcuMzQ5NiAyMzEuNjkxMywzNDUuNDMwNiAyMzIuNDAyMywzNDMuNTU4NiBDMjMyLjY5NzMsMzQyLjc4NDYgMjMzLjU2NTMsMzQyLjM5NzYgMjM0LjMzNzMsMzQyLjY4OTYgQzIzNS4xMTIzLDM0Mi45ODM2IDIzNS41MDAzLDM0My44NTA2IDIzNS4yMDYzLDM0NC42MjU2IEMyMzQuNTA2MywzNDYuNDY1NiAyMzMuODI1MywzNDguMzU0NiAyMzMuMTc4MywzNTAuMjM3NiBDMjMyLjk2NDMsMzUwLjg1OTYgMjMyLjM4MjMsMzUxLjI1MDYgMjMxLjc1OTMsMzUxLjI1MDYgTDIzMS43NTkzLDM1MS4yNTA2IFogTTIyOC4yMjEzLDM2Mi43MzE2IEMyMjguMDkwMywzNjIuNzMxNiAyMjcuOTU3MywzNjIuNzE0NiAyMjcuODI1MywzNjIuNjc4NiBDMjI3LjAyNjMsMzYyLjQ2MDYgMjI2LjU1NTMsMzYxLjYzNDYgMjI2Ljc3MzMsMzYwLjgzNjYgQzIyNy4yOTkzLDM1OC45MTM2IDIyNy44NjczLDM1Ni45NjA2IDIyOC40NjAzLDM1NS4wMzE2IEMyMjguNzAzMywzNTQuMjQwNiAyMjkuNTM4MywzNTMuNzk2NiAyMzAuMzM1MywzNTQuMDM5NiBDMjMxLjEyNzMsMzU0LjI4MzYgMjMxLjU3MjMsMzU1LjEyMjYgMjMxLjMyNzMsMzU1LjkxNDYgQzIzMC43NDIzLDM1Ny44MTI2IDIzMC4xODQzLDM1OS43MzQ2IDIyOS42NjczLDM2MS42Mjc2IEMyMjkuNDg1MywzNjIuMjk0NiAyMjguODgwMywzNjIuNzMxNiAyMjguMjIxMywzNjIuNzMxNiBMMjI4LjIyMTMsMzYyLjczMTYgWiBNMjIxLjcxMjMsNDIyLjExNjYgQzIyMC45MTYzLDQyMi4xMTY2IDIyMC4yNTIzLDQyMS40OTA2IDIyMC4yMTUzLDQyMC42ODY2IEMyMjAuMTIwMyw0MTguNjg5NiAyMjAuMDU2Myw0MTYuNjU2NiAyMjAuMDIzMyw0MTQuNjQzNiBDMjIwLjAwOTMsNDEzLjgxNTYgMjIwLjY2OTMsNDEzLjEzMjYgMjIxLjQ5ODMsNDEzLjExOTYgTDIyMS41MjQzLDQxMy4xMTk2IEMyMjIuMzQwMyw0MTMuMTE5NiAyMjMuMDA5Myw0MTMuNzc0NiAyMjMuMDIzMyw0MTQuNTk0NiBDMjIzLjA1NTMsNDE2LjU3NjYgMjIzLjExODMsNDE4LjU3OTYgMjIzLjIxMTMsNDIwLjU0NjYgQzIyMy4yNTAzLDQyMS4zNzM2IDIyMi42MTIzLDQyMi4wNzU2IDIyMS43ODQzLDQyMi4xMTQ2IEMyMjEuNzYwMyw0MjIuMTE1NiAyMjEuNzM2Myw0MjIuMTE2NiAyMjEuNzEyMyw0MjIuMTE2NiBMMjIxLjcxMjMsNDIyLjExNjYgWiBNMjIyLjY1NDMsNDM0LjA3NDYgQzIyMS44OTkzLDQzNC4wNzQ2IDIyMS4yNDkzLDQzMy41MDY2IDIyMS4xNjQzLDQzMi43Mzk2IEMyMjAuOTQ0Myw0MzAuNzQwNiAyMjAuNzUyMyw0MjguNzE0NiAyMjAuNTk2Myw0MjYuNzE5NiBDMjIwLjUzMTMsNDI1Ljg5NDYgMjIxLjE0ODMsNDI1LjE3MTYgMjIxLjk3NDMsNDI1LjEwNzYgQzIyMi43NzkzLDQyNS4wNDE2IDIyMy41MjEzLDQyNS42NTg2IDIyMy41ODYzLDQyNi40ODU2IEMyMjMuNzQxMyw0MjguNDQ4NiAyMjMuOTI5Myw0MzAuNDQyNiAyMjQuMTQ3Myw0MzIuNDA5NiBDMjI0LjIzODMsNDMzLjIzMzYgMjIzLjY0NDMsNDMzLjk3NDYgMjIyLjgyMTMsNDM0LjA2NTYgQzIyMi43NjQzLDQzNC4wNzE2IDIyMi43MDgzLDQzNC4wNzQ2IDIyMi42NTQzLDQzNC4wNzQ2IEwyMjIuNjU0Myw0MzQuMDc0NiBaIE0yMjQuMzQ0Myw0NDUuOTQ5NiBDMjIzLjYyOTMsNDQ1Ljk0OTYgMjIyLjk5NjMsNDQ1LjQzNjYgMjIyLjg2ODMsNDQ0LjcwODYgQzIyMi41MjAzLDQ0Mi43MTY2IDIyMi4yMDEzLDQ0MC43MDc2IDIyMS45MjIzLDQzOC43MzY2IEMyMjEuODA2Myw0MzcuOTE2NiAyMjIuMzc3Myw0MzcuMTU2NiAyMjMuMTk3Myw0MzcuMDQwNiBDMjI0LjAxNTMsNDM2LjkyOTYgMjI0Ljc3NjMsNDM3LjQ5NDYgMjI0Ljg5MzMsNDM4LjMxNDYgQzIyNS4xNjczLDQ0MC4yNTQ2IDIyNS40ODEzLDQ0Mi4yMzE2IDIyNS44MjQzLDQ0NC4xOTA2IEMyMjUuOTY2Myw0NDUuMDA2NiAyMjUuNDIwMyw0NDUuNzg0NiAyMjQuNjA1Myw0NDUuOTI2NiBDMjI0LjUxNzMsNDQ1Ljk0MjYgMjI0LjQzMDMsNDQ1Ljk0OTYgMjI0LjM0NDMsNDQ1Ljk0OTYgTDIyNC4zNDQzLDQ0NS45NDk2IFogTTIyNi43ODQzLDQ1Ny42OTI2IEMyMjYuMTA3Myw0NTcuNjkyNiAyMjUuNDkzMyw0NTcuMjMxNiAyMjUuMzI3Myw0NTYuNTQ0NiBDMjI0Ljg1OTMsNDU0LjYwMDYgMjI0LjQxMzMsNDUyLjYxNTYgMjI0LjAwNDMsNDUwLjY0NDYgQzIyMy44MzYzLDQ0OS44MzQ2IDIyNC4zNTczLDQ0OS4wMzk2IDIyNS4xNjgzLDQ0OC44NzE2IEMyMjUuOTc1Myw0NDguNzA0NiAyMjYuNzczMyw0NDkuMjIzNiAyMjYuOTQyMyw0NTAuMDM1NiBDMjI3LjM0NDMsNDUxLjk3NDYgMjI3Ljc4MzMsNDUzLjkyNzYgMjI4LjI0MzMsNDU1Ljg0MDYgQzIyOC40MzgzLDQ1Ni42NDY2IDIyNy45NDMzLDQ1Ny40NTY2IDIyNy4xMzczLDQ1Ny42NTA2IEMyMjcuMDE5Myw0NTcuNjc4NiAyMjYuOTAxMyw0NTcuNjkyNiAyMjYuNzg0Myw0NTcuNjkyNiBMMjI2Ljc4NDMsNDU3LjY5MjYgWiBNMjI5Ljk2NjMsNDY5LjI1NzYgQzIyOS4zMjUzLDQ2OS4yNTc2IDIyOC43MzMzLDQ2OC44NDQ2IDIyOC41MzQzLDQ2OC4yMDE2IEMyMjcuOTQyMyw0NjYuMjg5NiAyMjcuMzcxMyw0NjQuMzM3NiAyMjYuODM4Myw0NjIuMzk4NiBDMjI2LjYxODMsNDYxLjU5OTYgMjI3LjA4ODMsNDYwLjc3NDYgMjI3Ljg4NzMsNDYwLjU1NDYgQzIyOC42ODIzLDQ2MC4zMzc2IDIyOS41MTIzLDQ2MC44MDM2IDIyOS43MzEzLDQ2MS42MDM2IEMyMzAuMjU1Myw0NjMuNTEwNiAyMzAuODE3Myw0NjUuNDMyNiAyMzEuMzk5Myw0NjcuMzE0NiBDMjMxLjY0NDMsNDY4LjEwNTYgMjMxLjIwMDMsNDY4Ljk0NjYgMjMwLjQwOTMsNDY5LjE5MDYgQzIzMC4yNjIzLDQ2OS4yMzY2IDIzMC4xMTMzLDQ2OS4yNTc2IDIyOS45NjYzLDQ2OS4yNTc2IEwyMjkuOTY2Myw0NjkuMjU3NiBaIE01NjguMjkwMyw1MjAuMzQ1NiBDNTY3Ljk5NzMsNTIwLjM0NTYgNTY3LjcwMjMsNTIwLjI2MDYgNTY3LjQ0MzMsNTIwLjA4MjYgQzU2Ni43NTkzLDUxOS42MTQ2IDU2Ni41ODYzLDUxOC42Nzk2IDU2Ny4wNTUzLDUxNy45OTc2IEM1NjguMTcxMyw1MTYuMzcwNiA1NjkuMjc5Myw1MTQuNzAwNiA1NzAuMzQ3Myw1MTMuMDMyNiBDNTcwLjc5NDMsNTEyLjMzNDYgNTcxLjcyMjMsNTEyLjEyOTYgNTcyLjQxODMsNTEyLjU3ODYgQzU3My4xMTYzLDUxMy4wMjQ2IDU3My4zMjAzLDUxMy45NTI2IDU3Mi44NzMzLDUxNC42NDk2IEM1NzEuNzg3Myw1MTYuMzQ0NiA1NzAuNjYyMyw1MTguMDQyNiA1NjkuNTI4Myw1MTkuNjk0NiBDNTY5LjIzODMsNTIwLjExODYgNTY4Ljc2ODMsNTIwLjM0NTYgNTY4LjI5MDMsNTIwLjM0NTYgTDU2OC4yOTAzLDUyMC4zNDU2IFogTTI1Ni4zNjczLDUyMi43MjQ2IEMyNTUuODk3Myw1MjIuNzI0NiAyNTUuNDM0Myw1MjIuNTA0NiAyNTUuMTQyMyw1MjIuMDkxNiBDMjUzLjk4MjMsNTIwLjQ1NTYgMjUyLjgzNDMsNTE4Ljc3OTYgMjUxLjcyOTMsNTE3LjExMTYgQzI1MS4yNzIzLDUxNi40MjE2IDI1MS40NjEzLDUxNS40OTA2IDI1Mi4xNTIzLDUxNS4wMzI2IEMyNTIuODQxMyw1MTQuNTc4NiAyNTMuNzcyMyw1MTQuNzYzNiAyNTQuMjMxMyw1MTUuNDU1NiBDMjU1LjMxODMsNTE3LjA5NjYgMjU2LjQ0ODMsNTE4Ljc0NjYgMjU3LjU4OTMsNTIwLjM1NzYgQzI1OC4wNjkzLDUyMS4wMzM2IDI1Ny45MDkzLDUyMS45Njk2IDI1Ny4yMzMzLDUyMi40NDg2IEMyNTYuOTY5Myw1MjIuNjM0NiAyNTYuNjY2Myw1MjIuNzI0NiAyNTYuMzY3Myw1MjIuNzI0NiBMMjU2LjM2NzMsNTIyLjcyNDYgWiBNNTYxLjE5MTMsNTMwLjAyNjYgQzU2MC44NjczLDUzMC4wMjY2IDU2MC41NDEzLDUyOS45MjE2IDU2MC4yNjczLDUyOS43MDc2IEM1NTkuNjE1Myw1MjkuMTk3NiA1NTkuNTAwMyw1MjguMjU0NiA1NjAuMDExMyw1MjcuNjAxNiBDNTYxLjIzNDMsNTI2LjAzOTYgNTYyLjQ0NDMsNTI0LjQ0MjYgNTYzLjYwNzMsNTIyLjg1NjYgQzU2NC4wOTczLDUyMi4xODY2IDU2NS4wMzczLDUyMi4wNDY2IDU2NS43MDMzLDUyMi41MzM2IEM1NjYuMzcxMyw1MjMuMDIzNiA1NjYuNTE2Myw1MjMuOTYyNiA1NjYuMDI3Myw1MjQuNjI5NiBDNTY0Ljg0NTMsNTI2LjI0MTYgNTYzLjYxNjMsNTI3Ljg2MzYgNTYyLjM3MjMsNTI5LjQ1MTYgQzU2Mi4wNzczLDUyOS44Mjk2IDU2MS42MzYzLDUzMC4wMjY2IDU2MS4xOTEzLDUzMC4wMjY2IEw1NjEuMTkxMyw1MzAuMDI2NiBaIE0yNjMuNjAwMyw1MzIuMjgwNiBDMjYzLjE2MjMsNTMyLjI4MDYgMjYyLjcyOTMsNTMyLjA4OTYgMjYyLjQzMjMsNTMxLjcyMjYgQzI2MS4xNzYzLDUzMC4xNjc2IDI1OS45MjQzLDUyOC41NjY2IDI1OC43MTIzLDUyNi45NjQ2IEMyNTguMjEyMyw1MjYuMzAzNiAyNTguMzQzMyw1MjUuMzYzNiAyNTkuMDAzMyw1MjQuODYzNiBDMjU5LjY2NDMsNTI0LjM2MjYgMjYwLjYwNTMsNTI0LjQ5MzYgMjYxLjEwNTMsNTI1LjE1NDYgQzI2Mi4yOTczLDUyNi43MzE2IDI2My41MzAzLDUyOC4zMDY2IDI2NC43NjYzLDUyOS44Mzc2IEMyNjUuMjg2Myw1MzAuNDgyNiAyNjUuMTg2Myw1MzEuNDI2NiAyNjQuNTQxMyw1MzEuOTQ3NiBDMjY0LjI2NDMsNTMyLjE3MTYgMjYzLjkzMTMsNTMyLjI4MDYgMjYzLjYwMDMsNTMyLjI4MDYgTDI2My42MDAzLDUzMi4yODA2IFogTTU1My41MDAzLDUzOS4yMzk2IEM1NTMuMTQ2Myw1MzkuMjM5NiA1NTIuNzg5Myw1MzkuMTE0NiA1NTIuNTA0Myw1MzguODU5NiBDNTUxLjg4NTMsNTM4LjMwODYgNTUxLjgzMDMsNTM3LjM2MDYgNTUyLjM4MTMsNTM2Ljc0MjYgQzU1My42ODUzLDUzNS4yNzc2IDU1NC45OTEzLDUzMy43NjA2IDU1Ni4yNjczLDUzMi4yMzM2IEM1NTYuNzk4Myw1MzEuNTk3NiA1NTcuNzQzMyw1MzEuNTExNiA1NTguMzc5Myw1MzIuMDQzNiBDNTU5LjAxNjMsNTMyLjU3MzYgNTU5LjEwMTMsNTMzLjUxOTYgNTU4LjU3MDMsNTM0LjE1NTYgQzU1Ny4yNzUzLDUzNS43MDc2IDU1NS45NDczLDUzNy4yNDg2IDU1NC42MjEzLDUzOC43MzY2IEM1NTQuMzI1Myw1MzkuMDY5NiA1NTMuOTE0Myw1MzkuMjM5NiA1NTMuNTAwMyw1MzkuMjM5NiBMNTUzLjUwMDMsNTM5LjIzOTYgWiBNMjcxLjQxOTMsNTQxLjM2NzYgQzI3MS4wMTQzLDU0MS4zNjc2IDI3MC42MTAzLDU0MS4yMDQ2IDI3MC4zMTQzLDU0MC44ODA2IEMyNjguOTY0Myw1MzkuNDA5NiAyNjcuNjE0Myw1MzcuODg5NiAyNjYuMzAwMyw1MzYuMzYzNiBDMjY1Ljc1OTMsNTM1LjczNTYgMjY1LjgzMDMsNTM0Ljc4ODYgMjY2LjQ1ODMsNTM0LjI0ODYgQzI2Ny4wODczLDUzMy43MDY2IDI2OC4wMzQzLDUzMy43Nzk2IDI2OC41NzQzLDUzNC40MDY2IEMyNjkuODY3Myw1MzUuOTA4NiAyNzEuMTk3Myw1MzcuNDA1NiAyNzIuNTI1Myw1MzguODUzNiBDMjczLjA4NDMsNTM5LjQ2MzYgMjczLjA0MzMsNTQwLjQxMzYgMjcyLjQzMzMsNTQwLjk3MjYgQzI3Mi4xNDUzLDU0MS4yMzY2IDI3MS43ODIzLDU0MS4zNjc2IDI3MS40MTkzLDU0MS4zNjc2IEwyNzEuNDE5Myw1NDEuMzY3NiBaIE01NDUuMjQ5Myw1NDcuOTQ3NiBDNTQ0Ljg2NDMsNTQ3Ljk0NzYgNTQ0LjQ3NzMsNTQ3Ljc5ODYgNTQ0LjE4NDMsNTQ3LjUwMzYgQzU0My42MDEzLDU0Ni45MTU2IDU0My42MDUzLDU0NS45NjQ2IDU0NC4xOTQzLDU0NS4zODE2IEM1NDUuNjAxMyw1NDMuOTg2NiA1NDcuMDAxMyw1NDIuNTU1NiA1NDguMzU0Myw1NDEuMTI4NiBDNTQ4LjkyNTMsNTQwLjUyNjYgNTQ5Ljg3MzMsNTQwLjUwMzYgNTUwLjQ3NDMsNTQxLjA3MDYgQzU1MS4wNzUzLDU0MS42Mzk2IDU1MS4xMDEzLDU0Mi41ODk2IDU1MC41MzIzLDU0My4xOTA2IEM1NDkuMTU3Myw1NDQuNjQxNiA1NDcuNzM2Myw1NDYuMDk1NiA1NDYuMzA1Myw1NDcuNTEyNiBDNTQ2LjAxMzMsNTQ3LjgwMjYgNTQ1LjYzMTMsNTQ3Ljk0NzYgNTQ1LjI0OTMsNTQ3Ljk0NzYgTDU0NS4yNDkzLDU0Ny45NDc2IFogTTI3OS43OTgzLDU0OS45NDg2IEMyNzkuNDI0Myw1NDkuOTQ4NiAyNzkuMDQ5Myw1NDkuODA5NiAyNzguNzU4Myw1NDkuNTI5NiBDMjc3LjMxMzMsNTQ4LjEzOTYgMjc1Ljg2ODMsNTQ2LjcwNzYgMjc0LjQ2ODMsNTQ1LjI3MTYgQzI3My44ODkzLDU0NC42Nzg2IDI3My45MDEzLDU0My43Mjg2IDI3NC40OTMzLDU0My4xNTA2IEMyNzUuMDg2Myw1NDIuNTcyNiAyNzYuMDM1Myw1NDIuNTgzNiAyNzYuNjE1Myw1NDMuMTc1NiBDMjc3Ljk5MzMsNTQ0LjU4ODYgMjc5LjQxNDMsNTQ1Ljk5OTYgMjgwLjgzODMsNTQ3LjM2NzYgQzI4MS40MzUzLDU0Ny45NDE2IDI4MS40NTMzLDU0OC44OTA2IDI4MC44NzkzLDU0OS40ODg2IEMyODAuNTg1Myw1NDkuNzk0NiAyODAuMTkyMyw1NDkuOTQ4NiAyNzkuNzk4Myw1NDkuOTQ4NiBMMjc5Ljc5ODMsNTQ5Ljk0ODYgWiBNNTM2LjQ3MzMsNTU2LjExODYgQzUzNi4wNTUzLDU1Ni4xMTg2IDUzNS42MzkzLDU1NS45NDQ2IDUzNS4zNDMzLDU1NS42MDU2IEM1MzQuNzk3Myw1NTQuOTgxNiA1MzQuODYxMyw1NTQuMDM0NiA1MzUuNDg1Myw1NTMuNDg5NiBDNTM2Ljk3MTMsNTUyLjE5MDYgNTM4LjQ1NjMsNTUwLjg0OTYgNTM5LjkwMzMsNTQ5LjUwNDYgQzU0MC41MDYzLDU0OC45NDA2IDU0MS40NTczLDU0OC45NzI2IDU0Mi4wMjIzLDU0OS41ODE2IEM1NDIuNTg2Myw1NTAuMTg3NiA1NDIuNTUyMyw1NTEuMTM2NiA1NDEuOTQ2Myw1NTEuNzAwNiBDNTQwLjQ3ODMsNTUzLjA2NjYgNTM4Ljk2ODMsNTU0LjQyODYgNTM3LjQ1OTMsNTU1Ljc0NzYgQzUzNy4xNzUzLDU1NS45OTY2IDUzNi44MjMzLDU1Ni4xMTg2IDUzNi40NzMzLDU1Ni4xMTg2IEw1MzYuNDczMyw1NTYuMTE4NiBaIE0yODguNzAwMyw1NTcuOTkxNiBDMjg4LjM1ODMsNTU3Ljk5MTYgMjg4LjAxMzMsNTU3Ljg3NDYgMjg3LjczMjMsNTU3LjYzNTYgQzI4Ni4yMDYzLDU1Ni4zNDI2IDI4NC42NzUzLDU1NS4wMDM2IDI4My4xODEzLDU1My42NTM2IEMyODIuNTY3Myw1NTMuMDk3NiAyODIuNTE4Myw1NTIuMTQ5NiAyODMuMDc0Myw1NTEuNTM0NiBDMjgzLjYzMDMsNTUwLjkyMDYgMjg0LjU3ODMsNTUwLjg3NDYgMjg1LjE5MzMsNTUxLjQyNjYgQzI4Ni42NjMzLDU1Mi43NTQ2IDI4OC4xNzAzLDU1NC4wNzQ2IDI4OS42NzEzLDU1NS4zNDY2IEMyOTAuMzAzMyw1NTUuODgyNiAyOTAuMzgxMyw1NTYuODI5NiAyODkuODQ2Myw1NTcuNDYxNiBDMjg5LjU0OTMsNTU3LjgxMTYgMjg5LjEyNjMsNTU3Ljk5MTYgMjg4LjcwMDMsNTU3Ljk5MTYgTDI4OC43MDAzLDU1Ny45OTE2IFogTTUyNy4yMDQzLDU2My43MTk2IEM1MjYuNzU1Myw1NjMuNzE5NiA1MjYuMzEwMyw1NjMuNTE4NiA1MjYuMDE1Myw1NjMuMTM0NiBDNTI1LjUwOTMsNTYyLjQ3NzYgNTI1LjYzMjMsNTYxLjUzNjYgNTI2LjI4ODMsNTYxLjAzMTYgQzUyNy44NjUzLDU1OS44MTg2IDUyOS40MzEzLDU1OC41NzQ2IDUzMC45NDUzLDU1Ny4zMzI2IEM1MzEuNTgzMyw1NTYuODA4NiA1MzIuNTMwMyw1NTYuOTAwNiA1MzMuMDU2Myw1NTcuNTQxNiBDNTMzLjU4MTMsNTU4LjE4MTYgNTMzLjQ4ODMsNTU5LjEyNjYgNTMyLjg0NzMsNTU5LjY1MjYgQzUzMS4zMTAzLDU2MC45MTM2IDUyOS43MTkzLDU2Mi4xNzY2IDUyOC4xMTgzLDU2My40MDg2IEM1MjcuODQ2Myw1NjMuNjE4NiA1MjcuNTI0Myw1NjMuNzE5NiA1MjcuMjA0Myw1NjMuNzE5NiBMNTI3LjIwNDMsNTYzLjcxOTYgWiBNMjk4LjA5NTMsNTY1LjQ2MTYgQzI5Ny43ODMzLDU2NS40NjE2IDI5Ny40NjkzLDU2NS4zNjQ2IDI5Ny4yMDAzLDU2NS4xNjQ2IEMyOTUuNTg1Myw1NjMuOTYxNiAyOTMuOTczMyw1NjIuNzE5NiAyOTIuNDA3Myw1NjEuNDczNiBDMjkxLjc1ODMsNTYwLjk1ODYgMjkxLjY1MTMsNTYwLjAxNDYgMjkyLjE2NjMsNTU5LjM2NjYgQzI5Mi42ODIzLDU1OC43MTg2IDI5My42MjUzLDU1OC42MTA2IDI5NC4yNzQzLDU1OS4xMjY2IEMyOTUuODE2Myw1NjAuMzUxNiAyOTcuNDAzMyw1NjEuNTc0NiAyOTguOTkyMyw1NjIuNzU3NiBDMjk5LjY1NzMsNTYzLjI1MzYgMjk5Ljc5NDMsNTY0LjE5MzYgMjk5LjI5OTMsNTY0Ljg1NzYgQzI5OS4wMDQzLDU2NS4yNTI2IDI5OC41NTIzLDU2NS40NjE2IDI5OC4wOTUzLDU2NS40NjE2IEwyOTguMDk1Myw1NjUuNDYxNiBaIE01MTcuNDgwMyw1NzAuNzIwNiBDNTE2Ljk5ODMsNTcwLjcyMDYgNTE2LjUyNTMsNTcwLjQ4ODYgNTE2LjIzNTMsNTcwLjA1ODYgQzUxNS43NzIzLDU2OS4zNzE2IDUxNS45NTMzLDU2OC40Mzk2IDUxNi42NDEzLDU2Ny45NzY2IEM1MTguMjcxMyw1NjYuODc5NiA1MTkuOTExMyw1NjUuNzM2NiA1MjEuNTE5Myw1NjQuNTc5NiBDNTIyLjE5MTMsNTY0LjA5NzYgNTIzLjEyODMsNTY0LjI0OTYgNTIzLjYxMzMsNTY0LjkyMTYgQzUyNC4wOTYzLDU2NS41OTI2IDUyMy45NDQzLDU2Ni41MzA2IDUyMy4yNzEzLDU2Ny4wMTQ2IEM1MjEuNjM5Myw1NjguMTg5NiA1MTkuOTcyMyw1NjkuMzQ5NiA1MTguMzE3Myw1NzAuNDY0NiBDNTE4LjA2MDMsNTcwLjYzNzYgNTE3Ljc2OTMsNTcwLjcyMDYgNTE3LjQ4MDMsNTcwLjcyMDYgTDUxNy40ODAzLDU3MC43MjA2IFogTTMwNy45NDUzLDU3Mi4zMjc2IEMzMDcuNjYzMyw1NzIuMzI3NiAzMDcuMzgwMyw1NzIuMjQ5NiAzMDcuMTI3Myw1NzIuMDg0NiBDMzA1LjQ1MjMsNTcwLjk5NDYgMzAzLjc2NDMsNTY5Ljg1NjYgMzAyLjEwOTMsNTY4LjcwMjYgQzMwMS40MjkzLDU2OC4yMjg2IDMwMS4yNjIzLDU2Ny4yOTQ2IDMwMS43MzYzLDU2Ni42MTQ2IEMzMDIuMjA5Myw1NjUuOTMxNiAzMDMuMTQ3Myw1NjUuNzY1NiAzMDMuODI0Myw1NjYuMjQxNiBDMzA1LjQ1MzMsNTY3LjM3NzYgMzA3LjExNjMsNTY4LjQ5NzYgMzA4Ljc2NDMsNTY5LjU3MDYgQzMwOS40NTgzLDU3MC4wMjI2IDMwOS42NTUzLDU3MC45NTE2IDMwOS4yMDIzLDU3MS42NDU2IEMzMDguOTE1Myw1NzIuMDg3NiAzMDguNDM1Myw1NzIuMzI3NiAzMDcuOTQ1Myw1NzIuMzI3NiBMMzA3Ljk0NTMsNTcyLjMyNzYgWiBNNTA3LjM0MDMsNTc3LjA5MjYgQzUwNi44MjUzLDU3Ny4wOTI2IDUwNi4zMjQzLDU3Ni44Mjc2IDUwNi4wNDQzLDU3Ni4zNTA2IEM1MDUuNjI2Myw1NzUuNjM1NiA1MDUuODY3Myw1NzQuNzE2NiA1MDYuNTgxMyw1NzQuMjk3NiBDNTA4LjI5MzMsNTczLjI5NjYgNTEwLjAwMTMsNTcyLjI1OTYgNTExLjY1OTMsNTcxLjIxNzYgQzUxMi4zNjAzLDU3MC43Nzc2IDUxMy4yODgzLDU3MC45ODY2IDUxMy43MjgzLDU3MS42ODg2IEM1MTQuMTY5Myw1NzIuMzkwNiA1MTMuOTU4Myw1NzMuMzE2NiA1MTMuMjU3Myw1NzMuNzU2NiBDNTExLjU3MjMsNTc0LjgxNjYgNTA5LjgzNTMsNTc1Ljg3MDYgNTA4LjA5NzMsNTc2Ljg4NzYgQzUwNy44NTkzLDU3Ny4wMjY2IDUwNy41OTgzLDU3Ny4wOTI2IDUwNy4zNDAzLDU3Ny4wOTI2IEw1MDcuMzQwMyw1NzcuMDkyNiBaIE0zMTguMjEzMyw1NzguNTYxNiBDMzE3Ljk2MzMsNTc4LjU2MTYgMzE3LjcwOTMsNTc4LjQ5OTYgMzE3LjQ3NzMsNTc4LjM2ODYgQzMxNS43MzUzLDU3Ny4zODQ2IDMxMy45NzgzLDU3Ni4zNTU2IDMxMi4yNTMzLDU3NS4zMDg2IEMzMTEuNTQ1Myw1NzQuODc5NiAzMTEuMzIwMyw1NzMuOTU2NiAzMTEuNzQ5Myw1NzMuMjQ4NiBDMzEyLjE3OTMsNTcyLjUzOTYgMzEzLjEwMjMsNTcyLjMxNTYgMzEzLjgxMDMsNTcyLjc0NDYgQzMxNS41MDczLDU3My43NzQ2IDMxNy4yMzgzLDU3NC43ODc2IDMxOC45NTEzLDU3NS43NTQ2IEMzMTkuNjczMyw1NzYuMTYzNiAzMTkuOTI4Myw1NzcuMDc4NiAzMTkuNTIwMyw1NzcuNzk4NiBDMzE5LjI0NDMsNTc4LjI4NzYgMzE4LjczNzMsNTc4LjU2MTYgMzE4LjIxMzMsNTc4LjU2MTYgTDMxOC4yMTMzLDU3OC41NjE2IFogTTQ5Ni44MjUzLDU4Mi44MTA2IEM0OTYuMjc2Myw1ODIuODEwNiA0OTUuNzQ3Myw1ODIuNTA4NiA0OTUuNDg0Myw1ODEuOTg1NiBDNDk1LjExMjMsNTgxLjI0NjYgNDk1LjQwOTMsNTgwLjM0MzYgNDk2LjE0OTMsNTc5Ljk3MDYgQzQ5Ny45MjIzLDU3OS4wNzc2IDQ5OS42OTIzLDU3OC4xNTE2IDUwMS40MDkzLDU3Ny4yMTc2IEM1MDIuMTM2Myw1NzYuODIyNiA1MDMuMDQ4Myw1NzcuMDkwNiA1MDMuNDQzMyw1NzcuODE4NiBDNTAzLjgzOTMsNTc4LjU0NjYgNTAzLjU3MDMsNTc5LjQ1NzYgNTAyLjg0MjMsNTc5Ljg1MjYgQzUwMS4wOTgzLDU4MC44MDE2IDQ5OS4zMDAzLDU4MS43NDI2IDQ5Ny40OTgzLDU4Mi42NTA2IEM0OTcuMjgyMyw1ODIuNzU4NiA0OTcuMDUyMyw1ODIuODEwNiA0OTYuODI1Myw1ODIuODEwNiBMNDk2LjgyNTMsNTgyLjgxMDYgWiBNMzI4Ljg2MTMsNTg0LjEzNTYgQzMyOC42NDIzLDU4NC4xMzU2IDMyOC40MTkzLDU4NC4wODc2IDMyOC4yMDgzLDU4My45ODY2IEMzMjYuNDA1Myw1ODMuMTE0NiAzMjQuNTg0Myw1ODIuMTk3NiAzMjIuNzk4Myw1ODEuMjYyNiBDMzIyLjA2NDMsNTgwLjg3ODYgMzIxLjc4MTMsNTc5Ljk3MTYgMzIyLjE2NDMsNTc5LjIzODYgQzMyMi41NDgzLDU3OC41MDQ2IDMyMy40NTczLDU3OC4yMjE2IDMyNC4xODkzLDU3OC42MDQ2IEMzMjUuOTQ4Myw1NzkuNTI1NiAzMjcuNzQwMyw1ODAuNDI2NiAzMjkuNTE1Myw1ODEuMjg1NiBDMzMwLjI2MDMsNTgxLjY0NTYgMzMwLjU3MzMsNTgyLjU0MzYgMzMwLjIxMjMsNTgzLjI4OTYgQzMyOS45NTMzLDU4My44MjQ2IDMyOS40MTgzLDU4NC4xMzU2IDMyOC44NjEzLDU4NC4xMzU2IEwzMjguODYxMyw1ODQuMTM1NiBaIE00ODUuOTc1Myw1ODcuODQ4NiBDNDg1LjM5MjMsNTg3Ljg0ODYgNDg0LjgzNzMsNTg3LjUwNjYgNDg0LjU5NDMsNTg2LjkzNjYgQzQ4NC4yNjkzLDU4Ni4xNzQ2IDQ4NC42MjQzLDU4NS4yOTM2IDQ4NS4zODYzLDU4NC45Njg2IEM0ODcuMTg2Myw1ODQuMjAyNiA0ODkuMDA5Myw1ODMuMzg5NiA0OTAuODA1Myw1ODIuNTU1NiBDNDkxLjU1NDMsNTgyLjIwNzYgNDkyLjQ0OTMsNTgyLjUzMjYgNDkyLjc5NzMsNTgzLjI4NDYgQzQ5My4xNDYzLDU4NC4wMzU2IDQ5Mi44MjAzLDU4NC45Mjc2IDQ5Mi4wNjkzLDU4NS4yNzY2IEM0OTAuMjQzMyw1ODYuMTI0NiA0ODguMzkxMyw1ODYuOTQ5NiA0ODYuNTYyMyw1ODcuNzI4NiBDNDg2LjM3MDMsNTg3LjgxMDYgNDg2LjE3MTMsNTg3Ljg0ODYgNDg1Ljk3NTMsNTg3Ljg0ODYgTDQ4NS45NzUzLDU4Ny44NDg2IFogTTMzOS44NDQzLDU4OS4wMjU2IEMzMzkuNjU2Myw1ODkuMDI1NiAzMzkuNDY0Myw1ODguOTkwNiAzMzkuMjc5Myw1ODguOTE0NiBDMzM3LjQyNjMsNTg4LjE1OTYgMzM1LjU1MDMsNTg3LjM2MDYgMzMzLjcwMzMsNTg2LjUzODYgQzMzMi45NDczLDU4Ni4yMDI2IDMzMi42MDYzLDU4NS4zMTU2IDMzMi45NDMzLDU4NC41NTg2IEMzMzMuMjc5Myw1ODMuODAxNiAzMzQuMTYzMyw1ODMuNDU3NiAzMzQuOTIyMyw1ODMuNzk3NiBDMzM2Ljc0MTMsNTg0LjYwNjYgMzM4LjU4NzMsNTg1LjM5MzYgMzQwLjQxMTMsNTg2LjEzNjYgQzM0MS4xNzgzLDU4Ni40NDk2IDM0MS41NDczLDU4Ny4zMjQ2IDM0MS4yMzQzLDU4OC4wOTE2IEMzNDAuOTk3Myw1ODguNjcyNiAzNDAuNDM2Myw1ODkuMDI1NiAzMzkuODQ0Myw1ODkuMDI1NiBMMzM5Ljg0NDMsNTg5LjAyNTYgWiBNNDc0LjgxNTMsNTkyLjE5NTYgQzQ3NC4xOTczLDU5Mi4xOTU2IDQ3My42MTgzLDU5MS44MTA2IDQ3My40MDEzLDU5MS4xOTU2IEM0NzMuMTI0Myw1OTAuNDE0NiA0NzMuNTM0Myw1ODkuNTU2NiA0NzQuMzE1Myw1ODkuMjgxNiBDNDc2LjE3NzMsNTg4LjYyMzYgNDc4LjA1NDMsNTg3LjkyNTYgNDc5Ljg5MzMsNTg3LjIxMDYgQzQ4MC42NjYzLDU4Ni45MDc2IDQ4MS41MzUzLDU4Ny4yOTA2IDQ4MS44MzUzLDU4OC4wNjM2IEM0ODIuMTM2Myw1ODguODM1NiA0ODEuNzU0Myw1ODkuNzA0NiA0ODAuOTgyMyw1OTAuMDA0NiBDNDc5LjExNDMsNTkwLjczMzYgNDc3LjIwNjMsNTkxLjQ0MTYgNDc1LjMxNTMsNTkyLjEwOTYgQzQ3NS4xNDkzLDU5Mi4xNjg2IDQ3NC45ODEzLDU5Mi4xOTU2IDQ3NC44MTUzLDU5Mi4xOTU2IEw0NzQuODE1Myw1OTIuMTk1NiBaIE0zNTEuMTI2Myw1OTMuMjA3NiBDMzUwLjk2OTMsNTkzLjIwNzYgMzUwLjgwODMsNTkzLjE4MjYgMzUwLjY1MDMsNTkzLjEyOTYgQzM0OC43MzYzLDU5Mi40ODg2IDM0Ni44MTEzLDU5MS44MDk2IDM0NC45MzEzLDU5MS4xMTI2IEMzNDQuMTU0Myw1OTAuODI0NiAzNDMuNzU4Myw1ODkuOTYxNiAzNDQuMDQ2Myw1ODkuMTg0NiBDMzQ0LjMzNDMsNTg4LjQwNzYgMzQ1LjE5OTMsNTg4LjAxMjYgMzQ1Ljk3NDMsNTg4LjI5OTYgQzM0Ny44MjUzLDU4OC45ODY2IDM0OS43MTgzLDU4OS42NTQ2IDM1MS42MDMzLDU5MC4yODQ2IEMzNTIuMzg4Myw1OTAuNTQ3NiAzNTIuODEyMyw1OTEuMzk3NiAzNTIuNTQ5Myw1OTIuMTgyNiBDMzUyLjMzODMsNTkyLjgxMDYgMzUxLjc1NDMsNTkzLjIwNzYgMzUxLjEyNjMsNTkzLjIwNzYgTDM1MS4xMjYzLDU5My4yMDc2IFogTTQ2My4zODIzLDU5NS44Mjk2IEM0NjIuNzI4Myw1OTUuODI5NiA0NjIuMTI3Myw1OTUuMzk4NiA0NjEuOTQwMyw1OTQuNzM4NiBDNDYxLjcxNDMsNTkzLjk0MTYgNDYyLjE3NzMsNTkzLjExMTYgNDYyLjk3NDMsNTkyLjg4NTYgQzQ2NC44ODAzLDU5Mi4zNDU2IDQ2Ni43OTczLDU5MS43Njk2IDQ2OC42NzMzLDU5MS4xNzM2IEM0NjkuNDY1Myw1OTAuOTIzNiA0NzAuMzA2Myw1OTEuMzU5NiA0NzAuNTU3Myw1OTIuMTQ5NiBDNDcwLjgwODMsNTkyLjkzODYgNDcwLjM3MTMsNTkzLjc4MjYgNDY5LjU4MTMsNTk0LjAzMzYgQzQ2Ny42NzYzLDU5NC42Mzg2IDQ2NS43MjgzLDU5NS4yMjM2IDQ2My43OTIzLDU5NS43NzI2IEM0NjMuNjU2Myw1OTUuODEwNiA0NjMuNTE4Myw1OTUuODI5NiA0NjMuMzgyMyw1OTUuODI5NiBMNDYzLjM4MjMsNTk1LjgyOTYgWiBNMzYyLjYxNzMsNTk2LjY1MjYgQzM2Mi40OTEzLDU5Ni42NTI2IDM2Mi4zNjEzLDU5Ni42MzY2IDM2Mi4yMzIzLDU5Ni42MDI2IEMzNjAuMjkyMyw1OTYuMDg3NiAzNTguMzM1Myw1OTUuNTM1NiAzNTYuNDEzMyw1OTQuOTU4NiBDMzU1LjYxOTMsNTk0LjcyMDYgMzU1LjE2OTMsNTkzLjg4MzYgMzU1LjQwODMsNTkzLjA5MDYgQzM1NS42NDYzLDU5Mi4yOTY2IDM1Ni40ODgzLDU5MS44NTA2IDM1Ny4yNzUzLDU5Mi4wODU2IEMzNTkuMTY2Myw1OTIuNjUyNiAzNjEuMDkzMyw1OTMuMTk2NiAzNjMuMDAxMyw1OTMuNzAyNiBDMzYzLjgwMjMsNTkzLjkxNTYgMzY0LjI3OTMsNTk0LjczNjYgMzY0LjA2NzMsNTk1LjUzNzYgQzM2My44ODgzLDU5Ni4yMDk2IDM2My4yODIzLDU5Ni42NTI2IDM2Mi42MTczLDU5Ni42NTI2IEwzNjIuNjE3Myw1OTYuNjUyNiBaIE00NTEuNzQyMyw1OTguNzI5NiBDNDUxLjA1MDMsNTk4LjcyOTYgNDUwLjQyOTMsNTk4LjI0OTYgNDUwLjI3NzMsNTk3LjU0NTYgQzQ1MC4xMDMzLDU5Ni43MzU2IDQ1MC42MTczLDU5NS45Mzc2IDQ1MS40MjgzLDU5NS43NjI2IEM0NTMuMzQzMyw1OTUuMzUwNiA0NTUuMjkyMyw1OTQuODk3NiA0NTcuMjIzMyw1OTQuNDE3NiBDNDU4LjAyMzMsNTk0LjIxNTYgNDU4Ljg0MDMsNTk0LjcwNTYgNDU5LjA0MDMsNTk1LjUwOTYgQzQ1OS4yNDIzLDU5Ni4zMTM2IDQ1OC43NTIzLDU5Ny4xMjc2IDQ1Ny45NDgzLDU5Ny4zMjc2IEM0NTUuOTg3Myw1OTcuODE2NiA0NTQuMDA1Myw1OTguMjc2NiA0NTIuMDU5Myw1OTguNjk2NiBDNDUxLjk1MjMsNTk4LjcxODYgNDUxLjg0NzMsNTk4LjcyOTYgNDUxLjc0MjMsNTk4LjcyOTYgTDQ1MS43NDIzLDU5OC43Mjk2IFogTTM3NC4zMDQzLDU5OS4zNjA2IEMzNzQuMjA2Myw1OTkuMzYwNiAzNzQuMTA5Myw1OTkuMzUxNiAzNzQuMDEwMyw1OTkuMzMyNiBDMzcyLjA1MzMsNTk4Ljk0MjYgMzcwLjA2NTMsNTk4LjUxNTYgMzY4LjEwMTMsNTk4LjA2MTYgQzM2Ny4yOTMzLDU5Ny44NzQ2IDM2Ni43OTAzLDU5Ny4wNjg2IDM2Ni45NzgzLDU5Ni4yNjE2IEMzNjcuMTY0Myw1OTUuNDU1NiAzNjcuOTcwMyw1OTQuOTUyNiAzNjguNzc3Myw1OTUuMTM4NiBDMzcwLjcxMTMsNTk1LjU4NjYgMzcyLjY2ODMsNTk2LjAwNjYgMzc0LjU5NDMsNTk2LjM4ODYgQzM3NS40MDczLDU5Ni41NTA2IDM3NS45MzUzLDU5Ny4zMzk2IDM3NS43NzQzLDU5OC4xNTI2IEMzNzUuNjMxMyw1OTguODY2NiAzNzUuMDA1Myw1OTkuMzYwNiAzNzQuMzA0Myw1OTkuMzYwNiBMMzc0LjMwNDMsNTk5LjM2MDYgWiBNNDM5Ljk0MjMsNjAwLjg4NDYgQzQzOS4yMTEzLDYwMC44ODQ2IDQzOC41NzIzLDYwMC4zNTA2IDQzOC40NjAzLDU5OS42MDc2IEM0MzguMzM3Myw1OTguNzg4NiA0MzguOTAyMyw1OTguMDI0NiA0MzkuNzIxMyw1OTcuOTAxNiBDNDQxLjY3MTMsNTk3LjYwOTYgNDQzLjY0NjMsNTk3LjI4MTYgNDQ1LjU5MDMsNTk2LjkyNTYgQzQ0Ni40MDEzLDU5Ni43Nzk2IDQ0Ny4xODYzLDU5Ny4zMTY2IDQ0Ny4zMzUzLDU5OC4xMzE2IEM0NDcuNDg0Myw1OTguOTQ2NiA0NDYuOTQ1Myw1OTkuNzI4NiA0NDYuMTI5Myw1OTkuODc3NiBDNDQ0LjE1NDMsNjAwLjIzODYgNDQyLjE0ODMsNjAwLjU3MTYgNDQwLjE2NjMsNjAwLjg2ODYgQzQ0MC4wOTAzLDYwMC44Nzk2IDQ0MC4wMTYzLDYwMC44ODQ2IDQzOS45NDIzLDYwMC44ODQ2IEw0MzkuOTQyMyw2MDAuODg0NiBaIE0zODYuMTM4Myw2MDEuMzIyNiBDMzg2LjA3MjMsNjAxLjMyMjYgMzg2LjAwNTMsNjAxLjMxODYgMzg1LjkzODMsNjAxLjMwOTYgQzM4My45NjMzLDYwMS4wNDY2IDM4MS45NTEzLDYwMC43NDY2IDM3OS45NTkzLDYwMC40MTY2IEMzNzkuMTQyMyw2MDAuMjgxNiAzNzguNTg5Myw1OTkuNTA4NiAzNzguNzI1Myw1OTguNjkxNiBDMzc4Ljg2MDMsNTk3Ljg3NDYgMzc5LjYyOTMsNTk3LjMyMzYgMzgwLjQ1MDMsNTk3LjQ1NzYgQzM4Mi40MTAzLDU5Ny43ODE2IDM4NC4zOTAzLDU5OC4wNzY2IDM4Ni4zMzQzLDU5OC4zMzU2IEMzODcuMTU2Myw1OTguNDQ0NiAzODcuNzMzMyw1OTkuMTk5NiAzODcuNjIzMyw2MDAuMDIwNiBDMzg3LjUyMzMsNjAwLjc3NDYgMzg2Ljg3ODMsNjAxLjMyMjYgMzg2LjEzODMsNjAxLjMyMjYgTDM4Ni4xMzgzLDYwMS4zMjI2IFogTTQyOC4wMjkzLDYwMi4yOTE2IEM0MjcuMjU5Myw2MDIuMjkxNiA0MjYuNjA0Myw2MDEuNzAyNiA0MjYuNTM2Myw2MDAuOTIwNiBDNDI2LjQ2NTMsNjAwLjA5NDYgNDI3LjA3NjMsNTk5LjM2ODYgNDI3LjkwMjMsNTk5LjI5NjYgQzQyOS44NzUzLDU5OS4xMjY2IDQzMS44NjczLDU5OC45MjI2IDQzMy44MjMzLDU5OC42OTI2IEM0MzQuNjQ0Myw1OTguNTgxNiA0MzUuMzkwMyw1OTkuMTgzNiA0MzUuNDg4Myw2MDAuMDA1NiBDNDM1LjU4NTMsNjAwLjgyOTYgNDM0Ljk5NjMsNjAxLjU3NDYgNDM0LjE3NDMsNjAxLjY3MTYgQzQzMi4xODkzLDYwMS45MDU2IDQzMC4xNjUzLDYwMi4xMTI2IDQyOC4xNTkzLDYwMi4yODU2IEM0MjguMTE2Myw2MDIuMjg5NiA0MjguMDczMyw2MDIuMjkxNiA0MjguMDI5Myw2MDIuMjkxNiBMNDI4LjAyOTMsNjAyLjI5MTYgWiBNMzk4LjA3MTMsNjAyLjUzMjYgQzM5OC4wMzUzLDYwMi41MzI2IDM5Ny45OTkzLDYwMi41MzE2IDM5Ny45NjQzLDYwMi41Mjg2IEMzOTUuOTY3Myw2MDIuMzg5NiAzOTMuOTQxMyw2MDIuMjE1NiAzOTEuOTQxMyw2MDIuMDEyNiBDMzkxLjExNzMsNjAxLjkyOTYgMzkwLjUxNjMsNjAxLjE5MzYgMzkwLjYwMDMsNjAwLjM2OTYgQzM5MC42ODQzLDU5OS41NDU2IDM5MS40MjMzLDU5OC45MzM2IDM5Mi4yNDMzLDU5OS4wMjg2IEMzOTQuMjEyMyw1OTkuMjI3NiAzOTYuMjA3Myw1OTkuMzk4NiAzOTguMTczMyw1OTkuNTM2NiBDMzk4Ljk5OTMsNTk5LjU5MzYgMzk5LjYyMjMsNjAwLjMxMDYgMzk5LjU2NTMsNjAxLjEzNjYgQzM5OS41MTAzLDYwMS45Mjc2IDM5OC44NTEzLDYwMi41MzI2IDM5OC4wNzEzLDYwMi41MzI2IEwzOTguMDcxMyw2MDIuNTMyNiBaIE00MTYuMDUzMyw2MDIuOTQ4NiBDNDE1LjI0MjMsNjAyLjk0ODYgNDE0LjU3NDMsNjAyLjI5OTYgNDE0LjU1NDMsNjAxLjQ4NDYgQzQxNC41MzQzLDYwMC42NTY2IDQxNS4xOTAzLDU5OS45Njg2IDQxNi4wMTgzLDU5OS45NDg2IEM0MTguMDEwMyw1OTkuOTAxNiA0MjAuMDExMyw1OTkuODIyNiA0MjEuOTY3Myw1OTkuNzE0NiBDNDIyLjc4MjMsNTk5LjY5NjYgNDIzLjUwMTMsNjAwLjMwMzYgNDIzLjU0NzMsNjAxLjEzMDYgQzQyMy41OTIzLDYwMS45NTg2IDQyMi45NTgzLDYwMi42NjU2IDQyMi4xMzEzLDYwMi43MTE2IEM0MjAuMTQ1Myw2MDIuODE5NiA0MTguMTEzMyw2MDIuODk5NiA0MTYuMDkwMyw2MDIuOTQ4NiBMNDE2LjA1MzMsNjAyLjk0ODYgWiBNNDEwLjA1NDMsNjAyLjk5NDYgTDQxMC4wNDMzLDYwMi45OTQ2IEM0MDguMDIwMyw2MDIuOTc5NiA0MDUuOTg3Myw2MDIuOTMyNiA0MDMuOTk5Myw2MDIuODU0NiBDNDAzLjE3MTMsNjAyLjgyMjYgNDAyLjUyNzMsNjAyLjEyNDYgNDAyLjU1OTMsNjAxLjI5NjYgQzQwMi41OTIzLDYwMC40Njk2IDQwMy4zMTgzLDU5OS44MTk2IDQwNC4xMTczLDU5OS44NTY2IEM0MDYuMDczMyw1OTkuOTMzNiA0MDguMDc0Myw1OTkuOTc5NiA0MTAuMDY1Myw1OTkuOTk0NiBDNDEwLjg5MzMsNjAwLjAwMDYgNDExLjU2MDMsNjAwLjY3NjYgNDExLjU1NDM0LDYwMS41MDQ2IEM0MTEuNTQ4Myw2MDIuMzMwNiA0MTAuODc3Myw2MDIuOTk0NiA0MTAuMDU0Myw2MDIuOTk0NiBMNDEwLjA1NDMsNjAyLjk5NDYgWiIgaWQ9IkZpbGwtNiIgZmlsbD0iI0EzQjFCRiIgb3BhY2l0eT0iMC4zOTU2NzA1NzMiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDQ2LjAwOTgsNTEwLjg1MTggTDQ0Ni4wMDk4LDU0Ni42OTc4IEM0NDYuMDA5OCw1NTMuMTIwOCA0NDAuODI4OCw1NTguMzI3OCA0MzQuNDM3OCw1NTguMzI3OCBDNDI4LjA0NzgsNTU4LjMyNzggNDIyLjg2NjgsNTUzLjEyMDggNDIyLjg2NjgsNTQ2LjY5NzggTDQyMi44NjY4LDU0Ni42OTc4IEw0MjIuODY2OCw1MTAuODUxOCBMNDQ2LjAwOTgsNTEwLjg1MTggWiBNMTIyLjAwOTYsMzc5LjgyMzYgTDEyMi4wMDk2LDQzNS44MTc2IEMxMjIuMDA5Niw0MzkuNDMzNiAxMjMuNzM0Niw0NDIuNjQ3NiAxMjYuNDEwNiw0NDQuNzIxNiBDMTIzLjMwNzYsNDQ4LjM3OTYgMTIxLjQzOTYsNDUzLjA2NjYgMTIxLjQzOTYsNDU4LjE2OTYgTDEyMS40Mzk2LDQ1OC4xNjk2IEwxMjEuNDU3Niw0NTguNDAwNiBDMTIzLjAzOTYsNDY4LjUxNTYgMTI2LjUyMzYsNDc4LjE4MDYgMTMxLjYxMzYsNDg2Ljk0MTYgQzEyNS41MDg2LDQ4Ny4yNjE2IDEyMC42NTI2LDQ5Mi4zMjQ2IDEyMC42NTI2LDQ5OC41NDA2IEwxMjAuNjUyNiw0OTguNTQwNiBMMTIwLjY1MjYsNTQyLjAyMTYgQzEyMC42NTI2LDU0OC40NDQ2IDExNS40NzI2LDU1My42NTA2IDEwOS4wODE2LDU1My42NTA2IEMxMDIuNjg5Niw1NTMuNjUwNiA5Ny41MDk2LDU0OC40NDQ2IDk3LjUwOTYsNTQyLjAyMTYgTDk3LjUwOTYsNTQyLjAyMTYgTDk3LjUwOTYsMzc5LjgyMzYgTDEyMi4wMDk2LDM3OS44MjM2IFogTTcyNS41MDk4LDUwNC42NTA2IEw3MjUuNTA5OCw1MjcuNjU3NiBDNzI1LjUwOTgsNTM0LjA4MDYgNzIwLjMyODgsNTM5LjI4NjYgNzEzLjkzNzgsNTM5LjI4NjYgQzcwNy41NDc4LDUzOS4yODY2IDcwMi4zNjY4LDUzNC4wODA2IDcwMi4zNjY4LDUyNy42NTc2IEw3MDIuMzY2OCw1MjcuNjU3NiBMNzAyLjM2NjgsNTA0LjY1MDYgTDcyNS41MDk4LDUwNC42NTA2IFogTTM0MS44NjY0LDI4NS40OTQ4IEMzNDguMjU3NCwyODUuNDk0OCAzNTMuNDM4NCwyOTAuNzAwOCAzNTMuNDM4NCwyOTcuMTIzOCBMMzUzLjQzODQsMjk3LjEyMzggTDM1My40Mzg0LDM4NC4xNTA4IEMzNTMuNDM4NCwzODguMTUxOCAzNTUuNDQ5NCwzOTEuNjc4OCAzNTguNTA5NCwzOTMuNzcxOCBMMzU4LjUwOTQsMzkzLjc3MTggTDM1OC41MDk0LDQyOS4zNTE4IEMzNTguNTA5NCw0MzUuNzAyOCAzNjMuNjU4NCw0NDAuODUxOCAzNzAuMDA5NCw0NDAuODUxOCBMMzcwLjAwOTQsNDQwLjg1MTggTDM5OS43MjQ0LDQ0MC44NTE4IEwzOTkuNzI0NCw0NTAuODUxOCBMMzcwLjAwOTQsNDUwLjg1MTggQzM2My42NTg0LDQ1MC44NTE4IDM1OC41MDk0LDQ1NS45OTk4IDM1OC41MDk0LDQ2Mi4zNTE4IEwzNTguNTA5NCw0NjIuMzUxOCBMMzU4LjUwOTQsNDc2LjI1MjggQzM1NS40NDk0LDQ3OC4zNDU4IDM1My40Mzg0LDQ4MS44NzI4IDM1My40Mzg0LDQ4NS44NzI4IEwzNTMuNDM4NCw0ODUuODcyOCBMMzUzLjQzODQsNTI0LjgzNTggQzM1My40Mzg0LDUzMS4yNTg4IDM0OC4yNTc0LDUzNi40NjU4IDM0MS44NjY0LDUzNi40NjU4IEMzMzUuNDc2NCw1MzYuNDY1OCAzMzAuMjk1NCw1MzEuMjU4OCAzMzAuMjk1NCw1MjQuODM1OCBMMzMwLjI5NTQsNTI0LjgzNTggTDMzMC4yOTU0LDQxMy4xNTA4IEMzMzAuMjk1NCw0MDYuNzI3OCAzMjUuMTE0NCw0MDEuNTIxOCAzMTguNzI0NCw0MDEuNTIxOCBDMzEyLjMzMzQsNDAxLjUyMTggMzA3LjE1MzQsNDA2LjcyNzggMzA3LjE1MzQsNDEzLjE1MDggTDMwNy4xNTM0LDQxMy4xNTA4IEwzMDcuMTUzNCw1MDAuNjIzOCBDMzA3LjE1MzQsNTA3LjA0NjggMzAxLjk3MjQsNTEyLjI1MzggMjk1LjU4MTQsNTEyLjI1MzggQzI4OS4xOTA0LDUxMi4yNTM4IDI4NC4wMDk0LDUwNy4wNDY4IDI4NC4wMDk0LDUwMC42MjM4IEwyODQuMDA5NCw1MDAuNjIzOCBMMjg0LjAwOTQsNDYzLjU1NTggQzI4NS4zMDQ0LDQ1Ny43NjM4IDI4Ni4wMDk0LDQ1MS43NTE4IDI4Ni4wMDk0LDQ0NS41Nzc4IEMyODYuMDA5NCw0MzkuNDAxOCAyODUuMzA0NCw0MzMuMzg5OCAyODQuMDA5NCw0MjcuNTk3OCBMMjg0LjAwOTQsNDI3LjU5NzggTDI4NC4wMDk0LDMxOC44MDg4IEMyODQuMDA5NCwzMTIuMzg1OCAyODkuMTkwNCwzMDcuMTc5OCAyOTUuNTgxNCwzMDcuMTc5OCBDMzAxLjk3MjQsMzA3LjE3OTggMzA3LjE1MzQsMzEyLjM4NTggMzA3LjE1MzQsMzE4LjgwODggTDMwNy4xNTM0LDMxOC44MDg4IEwzMDcuMTUzNCwzMjguMzc4OCBDMzA3LjE1MzQsMzM0LjgwMTggMzEyLjMzMzQsMzQwLjAwODggMzE4LjcyNDQsMzQwLjAwODggQzMyNS4xMTQ0LDM0MC4wMDg4IDMzMC4yOTU0LDMzNC44MDE4IDMzMC4yOTU0LDMyOC4zNzg4IEwzMzAuMjk1NCwzMjguMzc4OCBMMzMwLjI5NTQsMjk3LjEyMzggQzMzMC4yOTU0LDI5MC43MDA4IDMzNS40NzY0LDI4NS40OTQ4IDM0MS44NjY0LDI4NS40OTQ4IFogTTU3NC42NTMzLDI1MS42NTA2IEM1ODEuMDQzMywyNTEuNjUwNiA1ODYuMjI0MywyNTYuODcxNiA1ODYuMjI0MywyNjMuMzEwNiBMNTg2LjIyNDMsMjYzLjMxMDYgTDU4Ni4yMjQzLDMxMC42NTA2IEw1ODMuMDA5MywzMTAuNjUwNiBDNTc2LjY1ODMsMzEwLjY1MDYgNTcxLjUwOTMsMzE1Ljc5OTYgNTcxLjUwOTMsMzIyLjE1MDYgTDU3MS41MDkzLDMyMi4xNTA2IEw1NzEuNTA5Myw0OTMuMTUwNiBDNTcxLjUwOTMsNDkzLjUzNjYgNTcxLjUzMDMsNDkzLjkxNjYgNTcxLjU2NzMsNDk0LjI5MTYgQzU2Ni42NzczLDQ5Mi45Mjg2IDU2My4wODEzLDQ4OC40MjQ2IDU2My4wODEzLDQ4My4wNjM2IEw1NjMuMDgxMyw0ODMuMDYzNiBMNTYzLjA4MTMsNDY4LjI3NDYgQzU2My4wODEzLDQ2MS44MzU2IDU1Ny45MDAzLDQ1Ni42MTQ2IDU1MS41MDkzLDQ1Ni42MTQ2IEM1NDUuMTE4Myw0NTYuNjE0NiA1MzkuOTM4Myw0NjEuODM1NiA1MzkuOTM4Myw0NjguMjc0NiBMNTM5LjkzODMsNDY4LjI3NDYgTDUzOS45MzgzLDUyMi45OTE2IEM1MzkuOTM4Myw1MjkuNDMwNiA1MzQuNzU3Myw1MzQuNjUwNiA1MjguMzY2Myw1MzQuNjUwNiBDNTIxLjk3NjMsNTM0LjY1MDYgNTE2Ljc5NTMsNTI5LjQzMDYgNTE2Ljc5NTMsNTIyLjk5MTYgTDUxNi43OTUzLDUyMi45OTE2IEw1MTYuNzk1Myw0MTMuMTUwNiBDNTE2Ljc5NTMsNDA2LjcxMTYgNTExLjYxNDMsNDAxLjQ5MTYgNTA1LjIyNDMsNDAxLjQ5MTYgQzUwMi43MTgzLDQwMS40OTE2IDUwMC40MDQzLDQwMi4zMDE2IDQ5OC41MDkzLDQwMy42NjY2IEw0OTguNTA5Myw0MDMuNjY2NiBMNDk4LjUwOTMsMzkyLjM1MTYgQzQ5OC41MDkzLDM4Ni4wMDA2IDQ5My4zNjEzLDM4MC44NTE2IDQ4Ny4wMDkzLDM4MC44NTE2IEw0ODcuMDA5MywzODAuODUxNiBMNDcwLjUwOTMsMzgwLjg1MTYgTDQ3MC41MDkzLDM3MC44NTE2IEw0ODcuMDA5MywzNzAuODUxNiBDNDkzLjM2MTMsMzcwLjg1MTYgNDk4LjUwOTMsMzY1LjcwMjYgNDk4LjUwOTMsMzU5LjM1MTYgTDQ5OC41MDkzLDM1OS4zNTE2IEw0OTguNTA5MywzMzYuNTU4NiBDNTAwLjQwNDMsMzM3LjkyMjYgNTAyLjcxODMsMzM4LjczNDYgNTA1LjIyNDMsMzM4LjczNDYgQzUxMS42MTQzLDMzOC43MzQ2IDUxNi43OTUzLDMzMy41MTM2IDUxNi43OTUzLDMyNy4wNzQ2IEw1MTYuNzk1MywzMjcuMDc0NiBMNTE2Ljc5NTMsMjk1LjczODYgQzUxNi43OTUzLDI4OS4yOTc2IDUyMS45NzYzLDI4NC4wNzg2IDUyOC4zNjYzLDI4NC4wNzg2IEM1MzQuNzU3MywyODQuMDc4NiA1MzkuOTM4MywyODkuMjk3NiA1MzkuOTM4MywyOTUuNzM4NiBMNTM5LjkzODMsMjk1LjczODYgTDUzOS45MzgzLDM3Mi40OTE2IEM1MzkuOTM4MywzNzguOTMwNiA1NDUuMTE4MywzODQuMTUwNiA1NTEuNTA5MywzODQuMTUwNiBDNTU3LjkwMDMsMzg0LjE1MDYgNTYzLjA4MTMsMzc4LjkzMDYgNTYzLjA4MTMsMzcyLjQ5MTYgTDU2My4wODEzLDM3Mi40OTE2IEw1NjMuMDgxMywyNjMuMzEwNiBDNTYzLjA4MTMsMjU2Ljg3MTYgNTY4LjI2MjMsMjUxLjY1MDYgNTc0LjY1MzMsMjUxLjY1MDYgWiBNMjU5LjUwOSw1MDYuMDU0OCBMMjU5LjUwOSw1MTIuNzUzOCBDMjU5LjUwOSw1MTkuMTc2OCAyNTQuMzI5LDUyNC4zODM4IDI0Ny45MzgsNTI0LjM4MzggQzI0NC4zMDIsNTI0LjM4MzggMjQxLjA2Miw1MjIuNjk1OCAyMzguOTQxLDUyMC4wNTk4IEMyNDYuNTA1LDUxNi40MzY4IDI1My40MjcsNTExLjY5MDggMjU5LjUwOSw1MDYuMDU0OCBMMjU5LjUwOSw1MDYuMDU0OCBaIE03MjUuNTA5Myw0NzQuNjUwNiBMNzI1LjUwOTMsNDkwLjY1MDYgTDcwMi4zNjYzLDQ5MC42NTA2IEw3MDIuMzY2Myw0NzQuNjUwNiBMNzI1LjUwOTMsNDc0LjY1MDYgWiBNMTQ1LjAwOTIsNDAzLjQzMDQgQzE0NS40MzUyLDQwNC4yMzk0IDE0NS44OTYyLDQwNS4wMzU0IDE0Ni40MzAyLDQwNS43OTc0IEMxNDkuNjg3Miw0MTAuNDM3NCAxNTQuNTQxMiw0MTMuNTMxNCAxNjAuMDEyMiw0MTQuNDkxNCBDMTcxLjQ0ODIsNDE3LjE5NzQgMTgwLjM2MDIsNDEyLjM0MzQgMTgwLjczNDIsNDEyLjEzNDQgTDE4MC43MzQyLDQxMi4xMzQ0IEwxODAuODM2Miw0MTIuMDcxNCBDMTg3LjQ3NDIsNDA3LjY0OTQgMTk1LjIxNjIsNDA1LjMxMjQgMjAzLjIyNDIsNDA1LjMxMjQgQzIyNS40ODcyLDQwNS4zMTI0IDI0My41OTgyLDQyMy4zNzU0IDI0My41OTgyLDQ0NS41Nzc0IEMyNDMuNTk4Miw0NTQuMTA0NCAyNDAuOTE5Miw0NjIuMDE0NCAyMzYuMzY3Miw0NjguNTMyNCBMMjM2LjM2NzIsNDY4LjUzMjQgTDIzNi4zNjcyLDQzMS4yODc0IEMyMzYuMzY3Miw0MjQuODY0NCAyMzEuMTg2Miw0MTkuNjU4NCAyMjQuNzk1Miw0MTkuNjU4NCBDMjE4LjQwNTIsNDE5LjY1ODQgMjEzLjIyNDIsNDI0Ljg2NDQgMjEzLjIyNDIsNDMxLjI4NzQgTDIxMy4yMjQyLDQzMS4yODc0IEwyMTMuMjI0Miw0NzkuNjUwNCBDMjEzLjIyNDIsNDgxLjUzMzQgMjEyLjc2OTIsNDgzLjMwNTQgMjExLjk3OTIsNDg0Ljg3ODQgQzIwOS4xNTgyLDQ4NS41MDM0IDIwNi4yMzEyLDQ4NS44NDM0IDIwMy4yMjQyLDQ4NS44NDM0IEMxOTguOTUwMiw0ODUuODQzNCAxOTQuODA3Miw0ODUuMTc4NCAxOTAuOTA0Miw0ODMuOTQxNCBDMTkwLjM3ODIsNDgyLjYxMjQgMTkwLjA4MTIsNDgxLjE2ODQgMTkwLjA4MTIsNDc5LjY1MDQgTDE5MC4wODEyLDQ3OS42NTA0IEwxOTAuMDgxMiw0NDguNjc0NCBDMTkwLjA4MTIsNDQyLjI1MTQgMTg0LjkwMDIsNDM3LjA0NDQgMTc4LjUwOTIsNDM3LjA0NDQgQzE3Mi4xMTkyLDQzNy4wNDQ0IDE2Ni45MzgyLDQ0Mi4yNTE0IDE2Ni45MzgyLDQ0OC42NzQ0IEwxNjYuOTM4Miw0NDguNjc0NCBMMTY2LjkzODIsNDYzLjI1MTQgQzE2Ni4wNzcyLDQ2MS40ODI0IDE2NS4zMjkyLDQ1OS42Mzc0IDE2NC43MjEyLDQ1Ny43MTY0IEwxNjQuNzIxMiw0NTcuNzE2NCBMMTY0LjY5OTIsNDU3LjY0NzQgQzE2Mi4wNzIyLDQ0NC44NTk0IDE1NS4yNTUyLDQzNy43OTU0IDE0NC45MzMyLDQzNy4wODU0IEMxNDQuOTgxMiw0MzYuNjY4NCAxNDUuMDA5Miw0MzYuMjQ3NCAxNDUuMDA5Miw0MzUuODE3NCBMMTQ1LjAwOTIsNDM1LjgxNzQgWiBNNzEzLjkzODMsMzI0LjAyMTYgQzcyMC4zMjgzLDMyNC4wMjE2IDcyNS41MDkzLDMyOS4yMjc2IDcyNS41MDkzLDMzNS42NTA2IEw3MjUuNTA5MywzMzUuNjUwNiBMNzI1LjUwOTMsNDYwLjY1MDYgTDcxMS41MDkzLDQ2MC42NTA2IEw3MTEuNTA5MywzMjQuMjgyNiBDNzEyLjI5MzMsMzI0LjExNDYgNzEzLjEwNTMsMzI0LjAyMTYgNzEzLjkzODMsMzI0LjAyMTYgWiBNNDQ2LjAwOSw0NDAuODUyIEw0NDYuMDA5LDQ1MC44NTIgTDQyMi44NjYsNDUwLjg1MiBMNDIyLjg2Niw0NDAuODUyIEw0NDYuMDA5LDQ0MC44NTIgWiBNMjU5LjUwOTQsMzI3LjkwNDUgTDI1OS41MDk0LDM4NS4wOTk1IEMyNTIuMjk3NCwzNzguNDE3NSAyNDMuODk2NCwzNzMuMDAwNSAyMzQuNjU1NCwzNjkuMjAzNSBDMjM1LjczNDQsMzY3LjQzNTUgMjM2LjM2NjQsMzY1LjM2NDUgMjM2LjM2NjQsMzYzLjEzOTUgTDIzNi4zNjY0LDM2My4xMzk1IEwyMzYuMzY2NCwzMjkuNDYwNSBMMjUxLjU2NDQsMzI5LjQ2MDUgQzI1NC4zNzQ0LDMyOS40NjA1IDI1Ny4wNTM0LDMyOC44OTk1IDI1OS41MDk0LDMyNy45MDQ1IEwyNTkuNTA5NCwzMjcuOTA0NSBaIE00NDYuMDEsMzcwLjg1MiBMNDQ2LjAxLDM4MC44NTIgTDM3Ni41ODIsMzgwLjg1MiBMMzc2LjU4MiwzNzAuODUyIEw0NDYuMDEsMzcwLjg1MiBaIE0yMTMuMjI0NiwzMjkuNDYwMSBMMjEzLjIyNDYsMzYzLjE0MDEgQzIxMy4yMjQ2LDM2My4zMDYxIDIxMy4yNDE2LDM2My40NjcxIDIxMy4yNDg2LDM2My42MzExIEMyMDkuOTU5NiwzNjMuMjMzMSAyMDYuNjE5NiwzNjMuMDA0MSAyMDMuMjI0NiwzNjMuMDA0MSBDMTk5LjA1NTYsMzYzLjAwNDEgMTk0LjgwNDYsMzYzLjMzNzEgMTkwLjU1OTYsMzYzLjk5NjEgTDE5MC41NTk2LDM2My45OTYxIEwxOTYuNjY0NiwzMjkuNDYwMSBMMjEzLjIyNDYsMzI5LjQ2MDEgWiBNMTA5LjA4MTQsMzExLjc5ODYgQzExMS43MTA0LDMxMS43OTg2IDExNC4xMjc0LDMxMi42OTA2IDExNi4wNzA0LDMxNC4xNzU2IEwxMTYuMDcwNCwzMTQuMTc1NiBMMTEwLjIxNDQsMzE0LjE3NTYgQzEwNS41Mjg0LDMxNC4xNzU2IDEwMS43MTQ0LDMxNy45ODk2IDEwMS43MTQ0LDMyMi42NzU2IEwxMDEuNzE0NCwzMjIuNjc1NiBMMTAxLjcxNDQsMzI1Ljg3MzYgQzEwMS43MTQ0LDMzMC41NTk2IDEwNS41Mjg0LDMzNC4zNzM2IDExMC4yMTQ0LDMzNC4zNzM2IEwxMTAuMjE0NCwzMzQuMzczNiBMMTE0Ljc0OTQsMzM0LjM3MzYgTDExNS4wNDI0LDMzNC4zNDM2IEMxMTUuNjg1NCwzMzQuMjE1NiAxMTYuMzQ2NCwzMzQuMTUxNiAxMTcuMDA5NCwzMzQuMTUxNiBMMTE3LjAwOTQsMzM0LjE1MTYgTDEyMi44ODQ0LDMzNC4xNTE2IEMxMjQuOTg4NCwzMzcuMDQ2NiAxMjguMzgzNCwzMzguOTM0NiAxMzIuMjI0NCwzMzguOTM0NiBDMTM2LjA2NTQsMzM4LjkzNDYgMTM5LjQ1ODQsMzM3LjA0NjYgMTQxLjU2MzQsMzM0LjE1MTYgTDE0MS41NjM0LDMzNC4xNTE2IEwxNjEuMDA5NCwzMzQuMTUxNiBDMTYzLjIzMDQsMzM0LjE1MTYgMTY1LjI3NzQsMzM0Ljg4NzYgMTY2LjkzODQsMzM2LjExNzYgTDE2Ni45Mzg0LDMzNi4xMTc2IEwxNjYuOTM4NCwzNTEuNTA5NiBDMTY2LjkzODQsMzUzLjIyMzYgMTY3LjMxNjQsMzU0Ljg0NDYgMTY3Ljk3ODQsMzU2LjMwODYgQzE2Ni4xNzU0LDM1OC4wNjQ2IDE2My43MTg0LDM1OS4xNTE2IDE2MS4wMDk0LDM1OS4xNTE2IEwxNjEuMDA5NCwzNTkuMTUxNiBMOTcuNTA5NCwzNTkuMTUxNiBMOTcuNTA5NCwzMjMuNDI4NiBDOTcuNTA5NCwzMTcuMDA1NiAxMDIuNjkwNCwzMTEuNzk4NiAxMDkuMDgxNCwzMTEuNzk4NiBaIE0xNTUuMzY2MywyNTMuNjUxIEMxNjEuNzU3MywyNTMuNjUxIDE2Ni45MzgzLDI1OC44NTggMTY2LjkzODMsMjY1LjI4MSBMMTY2LjkzODMsMjY1LjI4MSBMMTY2LjkzODMsMjkwLjkxNyBDMTYyLjM1MzMsMjk0LjA1MyAxNTguOTk4MywyOTguOTI0IDE1Ny45ODkzLDMwNC42MzIgTDE1Ny45ODkzLDMwNC42MzIgTDE1Ni4zMDIzLDMxNC4xNzYgTDE0My43OTUzLDMxNC4xNzYgTDE0My43OTUzLDI2NS4yODEgQzE0My43OTUzLDI1OC44NTggMTQ4Ljk3NjMsMjUzLjY1MSAxNTUuMzY2MywyNTMuNjUxIFogTTM4OC4xNTMyLDI1My4xNTA4IEMzOTQuNTQzMiwyNTMuMTUwOCAzOTkuNzI0MiwyNTguMzU3OCAzOTkuNzI0MiwyNjQuNzgwOCBMMzk5LjcyNDIsMjY0Ljc4MDggTDM5OS43MjQyLDMxMC44NTE4IEwzNzYuNTgxMiwzMTAuODUxOCBMMzc2LjU4MTIsMjY0Ljc4MDggQzM3Ni41ODEyLDI1OC4zNTc4IDM4MS43NjIyLDI1My4xNTA4IDM4OC4xNTMyLDI1My4xNTA4IFogTTY2Ny42NTMsMzAwLjg1ODYgQzY3My40MiwzMDAuODU4NiA2NzguMTg3LDMwNS4xMDM2IDY3OS4wNjYsMzEwLjY1MDYgTDY3OS4wNjYsMzEwLjY1MDYgTDY1Ni4yNCwzMTAuNjUwNiBDNjU3LjExOCwzMDUuMTAzNiA2NjEuODg1LDMwMC44NTg2IDY2Ny42NTMsMzAwLjg1ODYgWiBNMjQ3LjkzODEsMjY1LjI4MDYgQzI1NC4zMjkxLDI2NS4yODA2IDI1OS41MDkxLDI3MC40ODc2IDI1OS41MDkxLDI3Ni45MTA2IEwyNTkuNTA5MSwyNzYuOTEwNiBMMjU5LjUwOTEsMjg4LjcwNjYgQzI1Ny4wNTMxLDI4Ny43MTE2IDI1NC4zNzUxLDI4Ny4xNTE2IDI1MS41NjQxLDI4Ny4xNTE2IEwyNTEuNTY0MSwyODcuMTUxNiBMMjM2LjM2NzEsMjg3LjE1MTYgTDIzNi4zNjcxLDI3Ni45MTA2IEMyMzYuMzY3MSwyNzAuNDg3NiAyNDEuNTQ3MSwyNjUuMjgwNiAyNDcuOTM4MSwyNjUuMjgwNiBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNBQ0MwREMiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xOTYzNTg4MTciPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzcyLjMxMywzMzcuMjQzNCBMNzk4LjUyOSwzMDEuNTk4NCBDNzk5LjQ3NywzMDAuMzAzNCA4MDAuNjMzLDI5OS42MDg0IDgwMS45OTgsMjk5LjUxMzQgQzgwMy4zNiwyOTkuNDE4NCA4MDQuNTQ1LDI5OS44MDc0IDgwNS41NTMsMzAwLjY4MjQgQzgwNi41NTksMzAxLjU1NzQgODA3LjA4NCwzMDIuNjU1NCA4MDcuMTI5LDMwMy45NzM0IEM4MDcuMTc0LDMwNS4yOTU0IDgwNi42NzIsMzA2LjU1NzQgODA1LjYyMywzMDcuNzY1NCBDODA1LjE0MSwzMDguMzE5NCA4MDQuMzIzLDMwOS4xMDk0IDgwMy4xNjYsMzEwLjEzNTQgQzgwMi4wMDgsMzExLjE2MTQgODAwLjI0NSwzMTIuODA4NCA3OTcuODc2LDMxNS4wNzY0IEM3OTUuNTA2LDMxNy4zNDY0IDc5Mi4zODQsMzIwLjM1MTQgNzg4LjUxMiwzMjQuMDk2NCBDNzg0LjYzOCwzMjcuODQwNCA3NzkuNzQzLDMzMi42NjA0IDc3My44MjMsMzM4LjU1NTQgTDc3Mi4zMTMsMzM3LjI0MzQgWiBNNzY5LjUzNSwzNDIuMTE1NCBDNzcwLjY0MSwzNDMuMDc3NCA3NzEuMjQ1LDM0NC4yNjQ0IDc3MS4zNDMsMzQ1LjY3NTQgQzc3MS40NDIsMzQ3LjA4NjQgNzcxLjAwOSwzNDguMzQ2NCA3NzAuMDQ4LDM0OS40NTE0IEM3NjkuMDg1LDM1MC41NTg0IDc2Ny45MSwzNTEuMTQ5NCA3NjYuNTIxLDM1MS4yMjI0IEM3NjUuMTMyLDM1MS4yOTY0IDc2My44ODQsMzUwLjg1MDQgNzYyLjc3OCwzNDkuODg5NCBDNzYxLjY3LDM0OC45Mjc0IDc2MS4wNTcsMzQ3Ljc1MzQgNzYwLjkzNywzNDYuMzY3NCBDNzYwLjgxNSwzNDQuOTgyNCA3NjEuMjM3LDM0My43MzU0IDc2Mi4xOTksMzQyLjYyOTQgQzc2My4xNjEsMzQxLjUyMjQgNzY0LjM0OCwzNDAuOTE5NCA3NjUuNzU4LDM0MC44MjA0IEM3NjcuMTY5LDM0MC43MjI0IDc2OC40MjgsMzQxLjE1MzQgNzY5LjUzNSwzNDIuMTE1NCBMNzY5LjUzNSwzNDIuMTE1NCBaIE02NzYuMzk2LDI1Mi45MzU0IEw2NzQuNzM2LDI1MS40OTI0IEw2ODMuOTQsMjM4LjE2MTQgQzY4NS42NzcsMjM4LjcwMDQgNjg3LjAyNiwyMzkuMzg2NCA2ODcuOTgyLDI0MC4yMTg0IEM2OTIuNTYsMjQ0LjE5NjQgNjk2LjM5NywyNDYuMzYyNCA2OTkuNDk1LDI0Ni43MTM0IEM3MDIuNTg5LDI0Ny4wNjQ0IDcwNS4zMTksMjQ1Ljg4MTQgNzA3LjY4MSwyNDMuMTY0NCBDNzA4Ljc3NCwyNDEuOTA2NCA3MDkuNjI4LDI0MC40NDA0IDcxMC4yNDUsMjM4Ljc2NjQgQzcxMC44NTksMjM3LjA5NDQgNzExLjE4OCwyMzUuMzY5NCA3MTEuMjMsMjMzLjU5NTQgQzcxMS4yNjksMjMxLjgxOTQgNzExLjAwOSwyMzAuMTEzNCA3MTAuNDQ2LDIyOC40NzQ0IEM3MDkuODgyLDIyNi44Mzc0IDcwOC45NDcsMjI1LjQ0ODQgNzA3LjYzOSwyMjQuMzExNCBDNzA2LjUzMiwyMjMuMzQ5NCA3MDUuMjE5LDIyMi40OTY0IDcwMy43MDMsMjIxLjc1MjQgQzcwMi4xODQsMjIxLjAwNzQgNzAxLjAyNCwyMjAuMjg0NCA3MDAuMjIsMjE5LjU4NTQgQzY5OC4xMDcsMjE3Ljc0ODQgNjk3LjgxNSwyMTUuOTUwNCA2OTkuMzQ2LDIxNC4xODg0IEM3MDEuMDk1LDIxMi4xNzc0IDcwMy41MiwyMTIuMzg0NCA3MDYuNjIxLDIxNC44MTM0IEM3MDcuMDIyLDIxNS4xNjM0IDcwNy40MzcsMjE1LjUyNDQgNzA3Ljg2NiwyMTUuODk2NCBDNzA4LjI5MiwyMTYuMjY3NCA3MDguNjg5LDIxNi43MDE0IDcwOS4wNTUsMjE3LjE5NTQgQzcxMS4yNzcsMjE5LjkyMjQgNzEyLjcwOSwyMjIuODIzNCA3MTMuMzQ5LDIyNS44OTc0IEM3MTMuOTksMjI4Ljk3MjQgNzE0LjEzNiwyMzEuOTI3NCA3MTMuNzkyLDIzNC43NjI0IEM3MTMuNDQ3LDIzNy41OTg0IDcxMi43NjUsMjQwLjE4NTQgNzExLjc0OCwyNDIuNTI1NCBDNzEwLjcyOCwyNDQuODY0NCA3MDkuNjk2LDI0Ni42Mzg0IDcwOC42NDYsMjQ3Ljg0NjQgQzcwNy41NTIsMjQ5LjEwMzQgNzA2LjMwNCwyNTAuMTgyNCA3MDQuOTA0LDI1MS4wODQ0IEM3MDMuNTAxLDI1MS45ODU0IDcwMi4wNDYsMjUyLjY0MTQgNzAwLjU0MSwyNTMuMDU1NCBDNjk5LjAzMywyNTMuNDY4NCA2OTcuNTMyLDI1My42MjA0IDY5Ni4wMzYsMjUzLjUxMjQgQzY5NC41NCwyNTMuNDA0NCA2OTMuMTc1LDI1Mi45OTI0IDY5MS45NDQsMjUyLjI3NDQgQzY5MS40MDMsMjUxLjk4MTQgNjkwLjYyNCwyNTEuNDgwNCA2ODkuNjA2LDI1MC43NzE0IEM2ODguNTg2LDI1MC4wNjM0IDY4Ny41MjgsMjQ5LjQyOTQgNjg2LjQyNSwyNDguODY3NCBDNjg1LjMyMywyNDguMzA3NCA2ODQuMjM1LDI0Ny45NTg0IDY4My4xNjIsMjQ3LjgyMDQgQzY4Mi4wODksMjQ3LjY4MjQgNjgxLjE1NSwyNDguMDE4NCA2ODAuMzYyLDI0OC44MzE0IEw2NzYuMzk2LDI1Mi45MzU0IFogTTY2NS4xMDksMjY0Ljg1MzQgQzY2NC4wMDEsMjYzLjg5MTQgNjYzLjM4NywyNjIuNzE4NCA2NjMuMjY3LDI2MS4zMzI0IEM2NjMuMTQ2LDI1OS45NDc0IDY2My41NjcsMjU4LjcwMDQgNjY0LjUzLDI1Ny41OTQ0IEM2NjUuNDkyLDI1Ni40ODc0IDY2Ni42NzgsMjU1Ljg4NDQgNjY4LjA4OSwyNTUuNzg1NCBDNjY5LjUsMjU1LjY4NjQgNjcwLjc1OCwyNTYuMTE4NCA2NzEuODY2LDI1Ny4wODA0IEM2NzIuOTcyLDI1OC4wNDI0IDY3My41NjMsMjU5LjIxODQgNjczLjYzNiwyNjAuNjA3NCBDNjczLjcwOSwyNjEuOTk1NCA2NzMuMjY1LDI2My4yNDU0IDY3Mi4zMDMsMjY0LjM1MDQgQzY3MS4zNCwyNjUuNDU4NCA2NzAuMTc2LDI2Ni4wNTg0IDY2OC44MTQsMjY2LjE1NDQgQzY2Ny40NSwyNjYuMjUwNCA2NjYuMjE0LDI2NS44MTU0IDY2NS4xMDksMjY0Ljg1MzQgTDY2NS4xMDksMjY0Ljg1MzQgWiIgaWQ9IkZpbGwtMjYiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzUzLjgyNjgsNDgwLjM1NzYgQzMzNi4wOTg4LDQ4NS4xOTc2IDMyMC4wODM4LDQ4Ny42MTU2IDMwNS44Mzg4LDQ4Ny42MTU2IEMyOTQuMjg4OCw0ODcuNjE1NiAyODMuODk5OCw0ODYuMDI2NiAyNzQuNzAxOCw0ODIuODUyNiBMMjc4LjYxNDgsNDczLjYwNzYgQzI5Ny4xMzA4LDQ3OS43OTU2IDMyMS40MTk4LDQ3OC44Mzg2IDM1MS4xOTE4LDQ3MC43MTE2IEMzNTMuODYxOCw0NjkuOTgyNiAzNTYuNjA1OCw0NzEuNTUzNiAzNTcuMzMyOCw0NzQuMjE2NiBDMzU4LjA1OTgsNDc2Ljg4MDYgMzU2LjQ4OTgsNDc5LjYyOTYgMzUzLjgyNjgsNDgwLjM1NzYiIGlkPSJGaWxsLTI3IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTM1My44MjY4LDQ4MC4zNTc2IEMzMzYuMDk4OCw0ODUuMTk3NiAzMjAuMDgzOCw0ODcuNjE1NiAzMDUuODM4OCw0ODcuNjE1NiBDMjk0LjgyNjgsNDg3LjYxNTYgMjg0Ljg3MTgsNDg2LjE3MDYgMjc1Ljk5NTgsNDgzLjI4NjYgTDI4MC4xNjQ4LDQ3NC4xMDQ2IEMyOTguNDc3OCw0NzkuNzM2NiAzMjIuMjQyOCw0NzguNjE0NiAzNTEuMTkxOCw0NzAuNzExNiBDMzUzLjg2MTgsNDY5Ljk4MjYgMzU2LjYwNTgsNDcxLjU1MzYgMzU3LjMzMjgsNDc0LjIxNjYgQzM1OC4wNTk4LDQ3Ni44ODA2IDM1Ni40ODk4LDQ3OS42Mjk2IDM1My44MjY4LDQ4MC4zNTc2IE0zNjAuMjI2OCw0NzMuNDI2NiBDMzU5LjA2MjgsNDY5LjE2NTYgMzU0LjY3MDgsNDY2LjY1NTYgMzUwLjQwMTgsNDY3LjgxNjYgQzMyMS41NzE4LDQ3NS42ODg2IDI5OC4wOTU4LDQ3Ni43MzU2IDI4MC4yNDU4LDQ3MC45ODQ2IEwyNzQuMTU2OCw0ODUuODQyNiBDMjgzLjU1NDgsNDg5LjAyMjYgMjk0LjExNzgsNDkwLjYxNDYgMzA1LjgyMDgsNDkwLjYxNDYgQzMyMC4zNDc4LDQ5MC42MTQ2IDMzNi42MzE4LDQ4OC4xNjI2IDM1NC42MTY4LDQ4My4yNTI2IEMzNTguODc4OCw0ODIuMDg3NiAzNjEuMzg5OCw0NzcuNjg5NiAzNjAuMjI2OCw0NzMuNDI2NiIgaWQ9IkZpbGwtMjgiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzA1Ljg1NDEsNDg0LjExNzQgQzI5NS4zMDkxLDQ4NC4xMTc0IDI4NS43ODcxLDQ4Mi43NTM0IDI3Ny4zMTAxLDQ4MC4wMjY0IEwyNzguMjIzMSw0NzcuMTY2NCBDMjk3LjMxOTEsNDgzLjMxMzQgMzIyLjA0MjEsNDgyLjI5ODQgMzUyLjExNDEsNDc0LjA4NzQgQzM1Mi45MTcxLDQ3My44Njk0IDM1My43MzgxLDQ3NC4zMzk0IDM1My45NTcxLDQ3NS4xMzg0IEMzNTQuMTc0MSw0NzUuOTM4NCAzNTMuNzA0MSw0NzYuNzYzNCAzNTIuOTA1MSw0NzYuOTgxNCBDMzM1LjQ3MzEsNDgxLjc0MDQgMzE5Ljc3MjEsNDg0LjExNzQgMzA1Ljg1NDEsNDg0LjExNzQiIGlkPSJGaWxsLTI5IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTM2MC44Njk3LDQxMi44Njg0IEMzMzguMjEwNyw0MDkuNjM0NCAzMjEuOTMzNywzOTguMjE1NCAzMTYuOTg2NywzODEuODgzNCBDMzEyLjc1NTcsMzY3LjkxMjQgMzE3LjY5ODcsMzUyLjk5NzQgMzI5Ljg4NzcsMzQyLjk1OTQgQzMzOS43Nzk3LDMzNC44MTI0IDM1MC4xMDM3LDMzMC4zODI0IDM2MC42NzY3LDMyOS43MzM0IEMzNjAuMzcxNywzMzEuMDU5NCAzNjAuNTM3NywzMzguNDMxNCAzNjAuNzgzNywzMzkuNzQwNCBDMzUyLjQ3OTcsMzQwLjM1MzQgMzQ0LjM5MTcsMzQzLjk2ODQgMzM2LjI0NDcsMzUwLjY3ODQgQzMyNy4yMjk3LDM1OC4xMDE0IDMyMy41MTc3LDM2OC45NDg0IDMyNi41NTc3LDM3OC45ODQ0IEMzMzAuMjM3NywzOTEuMTMzNCAzNDIuODY3NywzOTkuODE5NCAzNjAuNzU4Nyw0MDIuNzM1NCBDMzYxLjMwNjcsNDAyLjgyNTQgMzYxLjI2NDcsNDEyLjM3OTQgMzYwLjg2OTcsNDEyLjg2ODQiIGlkPSJGaWxsLTMwIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTM1OS43ODA5LDMyNi43ODY5MTQgQzM0OC44MjU5LDMyNy42MTkzIDMzOC4xNjY5LDMzMi4yNTUzIDMyNy45Nzk5LDM0MC42NDIzIEMzMTQuODM5OSwzNTEuNDY1MyAzMDkuNTI2OSwzNjcuNjAwMyAzMTQuMTE1OSwzODIuNzUzMyBDMzE5LjMzOTksMzk5Ljk5ODMgMzM2LjEyODksNDEyLjA5ODMgMzU5LjQ2NzksNDE1LjY5MjMgQzM2MS4wMjI5LDQxNS45MzIzIDM2MS45MDE5LDM5OS45MDYzIDM2MC4wMzI5LDM5OS41NjkzIEMzNDMuOTQ3OSwzOTYuNjY4MyAzMzIuNjg2OSwzODguODY4MyAzMjkuNDI4OSwzNzguMTE1MyBDMzI2Ljc0NjksMzY5LjI2MDMgMzMwLjA4OTksMzU5LjYzNDMgMzM4LjE1MDksMzUyLjk5NDMgQzM0NS40NDk5LDM0Ni45ODMzIDM1Mi42NTA5LDM0My42MjMzIDM1OS45ODE5LDM0Mi44MzMzIEMzNjEuMTEwOSwzNDIuNzExMyAzNjAuOTc3OSwzMjYuNjk2MyAzNTkuNzgwOSwzMjYuNzg2OTE0IE0zNTkuNzg4OSwzMzkuODM0MyBDMzUxLjgxOTksMzQwLjY1MzMgMzQ0LjA4MzksMzQ0LjIyMzMgMzM2LjI0MzksMzUwLjY3ODMgQzMyNy4yMjk5LDM1OC4xMDIzIDMyMy41MTc5LDM2OC45NDkzIDMyNi41NTc5LDM3OC45ODQzIEMzMzAuMTgxOSwzOTAuOTQ4MyAzNDIuNDg2OSwzOTkuNTU1MyAzNTkuOTQ3OSw0MDIuNjAwMyBDMzYxLjc1NDksNDAyLjkxNDMgMzYxLjI5NjksNDEyLjk0MjMgMzU5LjcyOTksNDEyLjY5NzMgQzMzNy42NjU5LDQwOS4yNDgzIDMyMS44NDk5LDM5Ny45NDAzIDMxNi45ODc5LDM4MS44ODMzIEMzMTIuNzU2OSwzNjcuOTExMyAzMTcuNjk4OSwzNTIuOTk2MyAzMjkuODg2OSwzNDIuOTU4MyBDMzM5LjYzOTksMzM0LjkyODMgMzQ5Ljg0MjksMzMwLjQ5ODMgMzYwLjI2MDksMzI5Ljc2MTMgQzM2MC4yNjA5LDMyOS43NjEzIDM2MC45Nzk5LDMzOS43MTEzIDM1OS43ODg5LDMzOS44MzQzIiBpZD0iRmlsbC0zMSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNjAuMzcwNywzMzMuMjY4OCBMMzYwLjM2ODcsMzMzLjI2ODggQzM1MC43MTM3LDMzMy45OTM4IDM0MS4yNDM3LDMzOC4xNDE4IDMzMi4xMTI3LDM0NS42NjA4IEMzMjEuMDM0NywzNTQuNzgzOCAzMTYuNTIyNywzNjguMjc0OCAzMjAuMzM3NywzODAuODY4OCBDMzI0LjcyMzcsMzk1LjM0OTggMzM5LjA3ODcsNDA1LjY1NDggMzU5LjIzNDcsNDA5LjA3MDggQzM1OS4zMjU3LDQwOS4wODU4IDM1OS40MTE3LDQwOS4wOTM4IDM1OS40OTQ3LDQwOS4wOTM4IEMzNjEuMDkwNyw0MDkuMDkzOCAzNjEuMjU5Nyw0MDYuMzc1OCAzNTkuNTEyNyw0MDYuMDc1OCBDMzQwLjYyNjcsNDAyLjgyMDggMzI3LjIzODcsMzkzLjMwNDggMzIzLjIwODcsMzc5Ljk5ODggQzMxOS43NTE3LDM2OC41ODU4IDMyMy44OTM3LDM1Ni4zMTU4IDMzNC4wMTg3LDM0Ny45NzY4IEMzNDIuMzEyNywzNDEuMTQ3OCAzNTAuODY0NywzMzcuMjU4OCAzNTkuNTQwNywzMzYuMzU4OCBDMzYwLjM5NzcsMzM2LjMyNTggMzYwLjY3NjcsMzMzLjI2ODggMzYwLjM3MDcsMzMzLjI2ODgiIGlkPSJGaWxsLTMyIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTcwMC4wMDkzLDMxMC42NTA2IEM3MDYuMzYxMywzMTAuNjUwNiA3MTEuNTA5MywzMTUuNzk5NiA3MTEuNTA5MywzMjIuMTUwNiBMNzExLjUwOTMsMzIyLjE1MDYgTDcxMS41MDkzLDQ2MC42NTA2IEw3MzIuNTA5Myw0NjAuNjUwNiBDNzM2LjM3NTMsNDYwLjY1MDYgNzM5LjUwOTMsNDYzLjc4NTYgNzM5LjUwOTMsNDY3LjY1MDYgQzczOS41MDkzLDQ3MS41MTY2IDczNi4zNzUzLDQ3NC42NTA2IDczMi41MDkzLDQ3NC42NTA2IEw3MzIuNTA5Myw0NzQuNjUwNiBMNjk4LjUwOTMsNDc0LjY1MDYgQzY5NC4wOTEzLDQ3NC42NTA2IDY5MC41MDkzLDQ3OC4yMzI2IDY5MC41MDkzLDQ4Mi42NTA2IEM2OTAuNTA5Myw0ODcuMDY5NiA2OTQuMDkxMyw0OTAuNjUwNiA2OTguNTA5Myw0OTAuNjUwNiBMNjk4LjUwOTMsNDkwLjY1MDYgTDc0Ni41MDkzLDQ5MC42NTA2IEM3NTAuMzc1Myw0OTAuNjUwNiA3NTMuNTA5Myw0OTMuNzg1NiA3NTMuNTA5Myw0OTcuNjUwNiBDNzUzLjUwOTMsNTAxLjUxNjYgNzUwLjM3NTMsNTA0LjY1MDYgNzQ2LjUwOTMsNTA0LjY1MDYgTDc0Ni41MDkzLDUwNC42NTA2IEw1ODMuMDA5Myw1MDQuNjUwNiBDNTc2LjY1ODMsNTA0LjY1MDYgNTcxLjUwOTMsNDk5LjUwMjYgNTcxLjUwOTMsNDkzLjE1MDYgTDU3MS41MDkzLDQ5My4xNTA2IEw1NzEuNTA5MTg0LDQ4MS41NDc1NjIgQzU3Mi41MDgzMjEsNDgxLjQ2MDU3IDU3My41MDg5NTcsNDgxLjM1Njg5MSA1NzQuNTEwMDIyLDQ4MS4yMzY2NTUgTDU3NC41MDkzLDQ5My4xNTA2IEM1NzQuNTA5Myw0OTcuODM3NiA1NzguMzIyMyw1MDEuNjUwNiA1ODMuMDA5Myw1MDEuNjUwNiBMNTgzLjAwOTMsNTAxLjY1MDYgTDc0Ni41MDkzLDUwMS42NTA2IEM3NDguNzE1Myw1MDEuNjUwNiA3NTAuNTA5Myw0OTkuODU2NiA3NTAuNTA5Myw0OTcuNjUwNiBDNzUwLjUwOTMsNDk1LjQ0NTYgNzQ4LjcxNTMsNDkzLjY1MDYgNzQ2LjUwOTMsNDkzLjY1MDYgTDc0Ni41MDkzLDQ5My42NTA2IEw2OTguNTA5Myw0OTMuNjUwNiBDNjkyLjQ0NDMsNDkzLjY1MDYgNjg3LjUwOTMsNDg4LjcxNTYgNjg3LjUwOTMsNDgyLjY1MDYgQzY4Ny41MDkzLDQ3Ni41ODU2IDY5Mi40NDQzLDQ3MS42NTA2IDY5OC41MDkzLDQ3MS42NTA2IEw2OTguNTA5Myw0NzEuNjUwNiBMNzMyLjUwOTMsNDcxLjY1MDYgQzczNC43MTUzLDQ3MS42NTA2IDczNi41MDkzLDQ2OS44NTY2IDczNi41MDkzLDQ2Ny42NTA2IEM3MzYuNTA5Myw0NjUuNDQ1NiA3MzQuNzE1Myw0NjMuNjUwNiA3MzIuNTA5Myw0NjMuNjUwNiBMNzMyLjUwOTMsNDYzLjY1MDYgTDcwOC41MDkzLDQ2My42NTA2IEw3MDguNTA5MywzMjIuMTUwNiBDNzA4LjUwOTMsMzE3LjQ2MzYgNzA0LjY5NjMsMzEzLjY1MDYgNzAwLjAwOTMsMzEzLjY1MDYgTDcwMC4wMDkzLDMxMy42NTA2IEw1ODMuMDA5MywzMTMuNjUwNiBDNTc4LjMyMjMsMzEzLjY1MDYgNTc0LjUwOTMsMzE3LjQ2MzYgNTc0LjUwOTMsMzIyLjE1MDYgTDU3NC41MDkzLDMyMi4xNTA2IEw1NzQuNTA5NTUzLDQ3MS4xNDE5OTUgQzU3My41MDg1NTYsNDcxLjI3NzY3NyA1NzIuNTA3OTI5LDQ3MS4zOTQ5NDkgNTcxLjUwOTE3OCw0NzEuNDkzNjE2IEw1NzEuNTA5MywzMjIuMTUwNiBDNTcxLjUwOTMsMzE1Ljc5OTYgNTc2LjY1ODMsMzEwLjY1MDYgNTgzLjAwOTMsMzEwLjY1MDYgTDU4My4wMDkzLDMxMC42NTA2IFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NjkuOTA3OCwzNjEuNzUzMSBMNjU3LjEyOTgsMzQ5LjE0NDEgTDY1OS4xNjE4LDM0Ny4xMzkxIEw2NzEuOTM5OCwzNTkuNzQ4MSBMNjY5LjkwNzgsMzYxLjc1MzEgWiBNNjQwLjUwOTgsMzkwLjY1MTEgTDY0My41MDk4LDM5MC42NTExIEw2NDMuNTA5OCwzNzIuNjUxMSBMNjQwLjUwOTgsMzcyLjY1MTEgTDY0MC41MDk4LDM5MC42NTExIFogTTYxMi4yMzc4LDM2MS43NTMxIEw2MTAuMjA2OCwzNTkuNzQ4MSBMNjIyLjk4MzgsMzQ3LjEzOTEgTDYyNS4wMTY4LDM0OS4xNDQxIEw2MTIuMjM3OCwzNjEuNzUzMSBaIE03MDAuMDE1OCwzMTMuNjUwMSBMNTgyLjkzNzgsMzEzLjY1MDEgQzU3OC4yODI4LDMxMy42NTAxIDU3NC41MDk4LDMxNy40MjQxIDU3NC41MDk4LDMyMi4wNzkxIEw1NzQuNTA5OCw0MTIuNjUwMSBDNTc0LjUwOTgsNDE4LjE3NDEgNTc4Ljk4NjgsNDIyLjY1MDEgNTg0LjUwOTgsNDIyLjY1MDEgTDY5OC41MDk4LDQyMi42NTAxIEM3MDQuMDMyOCw0MjIuNjUwMSA3MDguNTA5OCw0MTguMTc0MSA3MDguNTA5OCw0MTIuNjUwMSBMNzA4LjUwOTgsMzIyLjE0NTEgQzcwOC41MDk4LDMxNy40NTMxIDcwNC43MDc4LDMxMy42NTAxIDcwMC4wMTU4LDMxMy42NTAxIEw3MDAuMDE1OCwzMTMuNjUwMSBaIiBpZD0iRmlsbC0zOSIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NDUuNTA5MywzNjYuNjUwNiBMNjM4LjUwOTMsMzY2LjY1MDYgQzYzNi4zMDAzLDM2Ni42NTA2IDYzNC41MDkzLDM2OC40NDE2IDYzNC41MDkzLDM3MC42NTA2IEw2MzQuNTA5MywzOTIuNjUwNiBDNjM0LjUwOTMsMzk0Ljg2MDYgNjM2LjMwMDMsMzk2LjY1MDYgNjM4LjUwOTMsMzk2LjY1MDYgTDY0NS41MDkzLDM5Ni42NTA2IEM2NDcuNzE5MywzOTYuNjUwNiA2NDkuNTA5MywzOTQuODYwNiA2NDkuNTA5MywzOTIuNjUwNiBMNjQ5LjUwOTMsMzcwLjY1MDYgQzY0OS41MDkzLDM2OC40NDE2IDY0Ny43MTkzLDM2Ni42NTA2IDY0NS41MDkzLDM2Ni42NTA2IE02NDUuNTA5MywzNjkuNjUwNiBDNjQ2LjA2MTMsMzY5LjY1MDYgNjQ2LjUwOTMsMzcwLjA5OTYgNjQ2LjUwOTMsMzcwLjY1MDYgTDY0Ni41MDkzLDM5Mi42NTA2IEM2NDYuNTA5MywzOTMuMjAyNiA2NDYuMDYxMywzOTMuNjUwNiA2NDUuNTA5MywzOTMuNjUwNiBMNjM4LjUwOTMsMzkzLjY1MDYgQzYzNy45NTgzLDM5My42NTA2IDYzNy41MDkzLDM5My4yMDI2IDYzNy41MDkzLDM5Mi42NTA2IEw2MzcuNTA5MywzNzAuNjUwNiBDNjM3LjUwOTMsMzcwLjA5OTYgNjM3Ljk1ODMsMzY5LjY1MDYgNjM4LjUwOTMsMzY5LjY1MDYgTDY0NS41MDkzLDM2OS42NTA2IiBpZD0iRmlsbC00MCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NDAuNTA5LDM5MC42NTIgTDY0My41MDksMzkwLjY1MiBMNjQzLjUwOSwzNzIuNjUyIEw2NDAuNTA5LDM3Mi42NTIgTDY0MC41MDksMzkwLjY1MiBaIE02NDUuNTA5LDM2OS42NTEgTDYzOC41MDksMzY5LjY1MSBDNjM3Ljk1OSwzNjkuNjUxIDYzNy41MDksMzcwLjEgNjM3LjUwOSwzNzAuNjUxIEw2MzcuNTA5LDM5Mi42NTEgQzYzNy41MDksMzkzLjIwMiA2MzcuOTU5LDM5My42NTEgNjM4LjUwOSwzOTMuNjUxIEw2NDUuNTA5LDM5My42NTEgQzY0Ni4wNjEsMzkzLjY1MSA2NDYuNTA5LDM5My4yMDIgNjQ2LjUwOSwzOTIuNjUxIEw2NDYuNTA5LDM3MC42NTEgQzY0Ni41MDksMzcwLjEgNjQ2LjA2MSwzNjkuNjUxIDY0NS41MDksMzY5LjY1MSBMNjQ1LjUwOSwzNjkuNjUxIFoiIGlkPSJGaWxsLTQxIiBmaWxsPSIjQzRDRURGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTYyMi45ODQ5LDM0MC4zMjkzIEM2MjEuOTY4OSwzNDAuMzI5MyA2MjAuOTUzOSwzNDAuNzEzMyA2MjAuMTczOSwzNDEuNDgxMyBMNjA0LjU0ODksMzU2LjkwMTMgTDYwNC41MTA5LDM1Ni45MzkzIEM2MDIuOTYwOSwzNTguNTEyMyA2MDIuOTc2OSwzNjEuMDQ1MyA2MDQuNTQ4OSwzNjIuNTk2MyBMNjA5LjQyNzksMzY3LjQxMDMgQzYxMC4yMDc5LDM2OC4xNzkzIDYxMS4yMjI5LDM2OC41NjIzIDYxMi4yMzc5LDM2OC41NjIzIEM2MTMuMjUzOSwzNjguNTYyMyA2MTQuMjY4OSwzNjguMTc4MyA2MTUuMDQ3OSwzNjcuNDA5MyBMNjMwLjY3MjksMzUxLjk4OTMgQzYzMC42ODU5LDM1MS45NzczIDYzMC42OTc5LDM1MS45NjUzIDYzMC43MTA5LDM1MS45NTIzIEM2MzIuMjYxOSwzNTAuMzc5MyA2MzIuMjQ1OSwzNDcuODQ3MyA2MzAuNjcxOSwzNDYuMjk1MyBMNjI1Ljc5MzksMzQxLjQ4MTMgQzYyNS4wMTQ5LDM0MC43MTMzIDYyMy45OTk5LDM0MC4zMjkzIDYyMi45ODQ5LDM0MC4zMjkzIE02MjIuOTg0OSwzNDMuMzI5MyBDNjIzLjEzNzksMzQzLjMyOTMgNjIzLjQzMjksMzQzLjM2NjMgNjIzLjY4NjksMzQzLjYxNzMgTDYyOC41NjU5LDM0OC40MzEzIEM2MjguODIyOSwzNDguNjgzMyA2MjguODYyOSwzNDguOTgxMyA2MjguODYzOTIsMzQ5LjEzNjMgQzYyOC44NjQ5LDM0OS4yOTAzIDYyOC44Mjg5LDM0OS41ODgzIDYyOC41NjU5LDM0OS44NTQzIEw2MTIuOTM5OSwzNjUuMjc0MyBDNjEyLjY4NTksMzY1LjUyNTMgNjEyLjM5MDksMzY1LjU2MjMgNjEyLjIzNzksMzY1LjU2MjMgQzYxMi4wODQ5LDM2NS41NjIzIDYxMS43ODk5LDM2NS41MjUzIDYxMS41MzU5LDM2NS4yNzQzIEw2MDYuNjU2OSwzNjAuNDYxMyBDNjA2LjM5OTksMzYwLjIwNzMgNjA2LjM1OTksMzU5LjkxMDMgNjA2LjM1ODg4LDM1OS43NTYzIEM2MDYuMzU3OSwzNTkuNjAwMyA2MDYuMzkzOSwzNTkuMzAzMyA2MDYuNjU2OSwzNTkuMDM3MyBMNjIyLjI4MTksMzQzLjYxNzMgQzYyMi41MzU5LDM0My4zNjYzIDYyMi44MzE5LDM0My4zMjkzIDYyMi45ODQ5LDM0My4zMjkzIiBpZD0iRmlsbC00MiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MTIuMjM3OSwzNjEuNzUzMSBMNjEwLjIwNTksMzU5Ljc0ODEgTDYyMi45ODM5LDM0Ny4xMzkxIEw2MjUuMDE1OSwzNDkuMTQ0MSBMNjEyLjIzNzksMzYxLjc1MzEgWiBNNjI4LjU2NTksMzQ4LjQzMTEgTDYyMy42ODY5LDM0My42MTcxIEM2MjMuNDMyOSwzNDMuMzY2MSA2MjMuMTM3OSwzNDMuMzI5MSA2MjIuOTg0OSwzNDMuMzI5MSBDNjIyLjgzMTksMzQzLjMyOTEgNjIyLjUzNTksMzQzLjM2NjEgNjIyLjI4MTksMzQzLjYxNzEgTDYwNi42NTY5LDM1OS4wMzcxIEM2MDYuMzkzOSwzNTkuMzAzMSA2MDYuMzU3OSwzNTkuNjAxMSA2MDYuMzU4ODgsMzU5Ljc1NjEgQzYwNi4zNTk5LDM1OS45MTAxIDYwNi4zOTk5LDM2MC4yMDcxIDYwNi42NTY5LDM2MC40NjExIEw2MTEuNTM1OSwzNjUuMjc0MSBDNjExLjc4OTksMzY1LjUyNTEgNjEyLjA4NDksMzY1LjU2MzEgNjEyLjIzNzksMzY1LjU2MzEgQzYxMi4zOTA5LDM2NS41NjMxIDYxMi42ODU5LDM2NS41MjUxIDYxMi45Mzk5LDM2NS4yNzQxIEw2MjguNTY1OSwzNDkuODU1MSBDNjI4LjgyODksMzQ5LjU4ODEgNjI4Ljg2NDksMzQ5LjI5MDEgNjI4Ljg2MzkyLDM0OS4xMzYxIEM2MjguODYyOSwzNDguOTgyMSA2MjguODIyOSwzNDguNjg0MSA2MjguNTY1OSwzNDguNDMxMSBMNjI4LjU2NTksMzQ4LjQzMTEgWiIgaWQ9IkZpbGwtNDMiIGZpbGw9IiNDNENFREYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjU5LjE2MTcsMzQwLjMyOTMgQzY1OC4xNDU3LDM0MC4zMjkzIDY1Ny4xMzA3LDM0MC43MTMzIDY1Ni4zNTE3LDM0MS40ODEzIEw2NTEuNDczNywzNDYuMjk1MyBDNjQ5Ljg5OTcsMzQ3Ljg0NzMgNjQ5Ljg4MzcsMzUwLjM3OTMgNjUxLjQzNDcsMzUxLjk1MjMgQzY1MS40NDc3LDM1MS45NjUzIDY1MS40NTk3LDM1MS45NzczIDY1MS40NzI3LDM1MS45ODkzIEw2NjcuMDk4NywzNjcuNDA5MyBDNjY3Ljg3NjcsMzY4LjE3ODMgNjY4Ljg5MTcsMzY4LjU2MjMgNjY5LjkwNzcsMzY4LjU2MjMgQzY3MC45MjM3LDM2OC41NjIzIDY3MS45Mzc3LDM2OC4xNzkzIDY3Mi43MTc3LDM2Ny40MTAzIEw2NzcuNTk2NywzNjIuNTk2MyBDNjc5LjE2ODcsMzYxLjA0NTMgNjc5LjE4NDcsMzU4LjUxMjMgNjc3LjYzNDcsMzU2LjkzOTMgTDY3Ny41OTY3LDM1Ni45MDEzIEw2NjEuOTcxNywzNDEuNDgxMyBDNjYxLjE5MTcsMzQwLjcxMzMgNjYwLjE3NjcsMzQwLjMyOTMgNjU5LjE2MTcsMzQwLjMyOTMgTTY1OS4xNjA3LDM0My4zMjkzIEM2NTkuMzEzNywzNDMuMzI5MyA2NTkuNjA5NywzNDMuMzY2MyA2NTkuODYzNywzNDMuNjE3MyBMNjc1LjQ4ODcsMzU5LjAzNzMgQzY3NS43NTE3LDM1OS4zMDMzIDY3NS43ODc3LDM1OS42MDAzIDY3NS43ODY3MiwzNTkuNzU2MyBDNjc1Ljc4NTcsMzU5LjkxMDMgNjc1Ljc0NTcsMzYwLjIwNzMgNjc1LjQ4ODcsMzYwLjQ2MTMgTDY3MC42MDk3LDM2NS4yNzQzIEM2NzAuMzU1NywzNjUuNTI1MyA2NzAuMDYwNywzNjUuNTYyMyA2NjkuOTA3NywzNjUuNTYyMyBDNjY5Ljc1NDcsMzY1LjU2MjMgNjY5LjQ1OTcsMzY1LjUyNTMgNjY5LjIwNTcsMzY1LjI3NDMgTDY1My41Nzk3LDM0OS44NTQzIEM2NTMuMzE2NywzNDkuNTg4MyA2NTMuMjgwNywzNDkuMjkwMyA2NTMuMjgyNjI0LDM0OS4xMzYzIEM2NTMuMjgzNywzNDguOTgxMyA2NTMuMzIzNywzNDguNjgzMyA2NTMuNTc5NywzNDguNDMxMyBMNjU4LjQ1ODcsMzQzLjYxNzMgQzY1OC43MTI3LDM0My4zNjYzIDY1OS4wMDc3LDM0My4zMjkzIDY1OS4xNjA3LDM0My4zMjkzIiBpZD0iRmlsbC00NCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NTcuMTI5NSwzNDkuMTQzOCBMNjU5LjE2MTUsMzQ3LjEzODggTDY3MS45NDA1LDM1OS43NDc4IEw2NjkuOTA3NSwzNjEuNzUyOCBMNjU3LjEyOTUsMzQ5LjE0MzggWiBNNjUzLjI4MjQyNCwzNDkuMTM1OCBDNjUzLjI4MDUsMzQ5LjI4OTggNjUzLjMxNjUsMzQ5LjU4NzggNjUzLjU3OTUsMzQ5Ljg1NDggTDY2OS4yMDU1LDM2NS4yNzQ4IEM2NjkuNDU5NSwzNjUuNTI1OCA2NjkuNzU0NSwzNjUuNTYyOCA2NjkuOTA3NSwzNjUuNTYyOCBDNjcwLjA2MTUsMzY1LjU2MjggNjcwLjM1NjUsMzY1LjUyNTggNjcwLjYwOTUsMzY1LjI3NDggTDY3NS40ODg1LDM2MC40NjA4IEM2NzUuNzQ1NSwzNjAuMjA2OCA2NzUuNzg1NSwzNTkuOTEwOCA2NzUuNzg2NTIsMzU5Ljc1NTggQzY3NS43ODc1LDM1OS42MDA4IDY3NS43NTE1LDM1OS4zMDI4IDY3NS40ODg1LDM1OS4wMzc4IEw2NTkuODYzNSwzNDMuNjE3OCBDNjU5LjYwOTUsMzQzLjM2NjggNjU5LjMxNDUsMzQzLjMyOTggNjU5LjE2MDUsMzQzLjMyOTggQzY1OS4wMDc1LDM0My4zMjk4IDY1OC43MTI1LDM0My4zNjY4IDY1OC40NTg1LDM0My42MTc4IEw2NTMuNTc5NSwzNDguNDMwOCBDNjUzLjMyMzUsMzQ4LjY4MzggNjUzLjI4MzUsMzQ4Ljk4MTggNjUzLjI4MjQyNCwzNDkuMTM1OCBMNjUzLjI4MjQyNCwzNDkuMTM1OCBaIiBpZD0iRmlsbC00NSIgZmlsbD0iI0M0Q0VERiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01ODkuMDA5Myw0MjQuNjUwNiBDNTkwLjk0MzMsNDI0LjY1MDYgNTkyLjUwOTMsNDIzLjA4NDYgNTkyLjUwOTMsNDIxLjE1MDYgQzU5Mi41MDkzLDQxOS4yMTc2IDU5MC45NDMzLDQxNy42NTA2IDU4OS4wMDkzLDQxNy42NTA2IEM1ODcuMDc2Myw0MTcuNjUwNiA1ODUuNTA5Myw0MTkuMjE3NiA1ODUuNTA5Myw0MjEuMTUwNiBDNTg1LjUwOTMsNDIzLjA4NDYgNTg3LjA3NjMsNDI0LjY1MDYgNTg5LjAwOTMsNDI0LjY1MDYiIGlkPSJGaWxsLTQ2IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTY5MC4wMDkzLDMzNC42NTA2IEM2OTEuMzkwMywzMzQuNjUwNiA2OTIuNTA5MywzMzMuNTMxNiA2OTIuNTA5MywzMzIuMTUwNiBDNjkyLjUwOTMsMzMwLjc3MDYgNjkxLjM5MDMsMzI5LjY1MDYgNjkwLjAwOTMsMzI5LjY1MDYgQzY4OC42MjkzLDMyOS42NTA2IDY4Ny41MDkzLDMzMC43NzA2IDY4Ny41MDkzLDMzMi4xNTA2IEM2ODcuNTA5MywzMzMuNTMxNiA2ODguNjI5MywzMzQuNjUwNiA2OTAuMDA5MywzMzQuNjUwNiIgaWQ9IkZpbGwtNDciIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTkzLjAwOTMsMzM0LjY1MDYgQzU5NC4zOTAzLDMzNC42NTA2IDU5NS41MDkzLDMzMy41MzE2IDU5NS41MDkzLDMzMi4xNTA2IEM1OTUuNTA5MywzMzAuNzcwNiA1OTQuMzkwMywzMjkuNjUwNiA1OTMuMDA5MywzMjkuNjUwNiBDNTkxLjYyOTMsMzI5LjY1MDYgNTkwLjUwOTMsMzMwLjc3MDYgNTkwLjUwOTMsMzMyLjE1MDYgQzU5MC41MDkzLDMzMy41MzE2IDU5MS42MjkzLDMzNC42NTA2IDU5My4wMDkzLDMzNC42NTA2IiBpZD0iRmlsbC00OCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MTMuMTkyOSw0NjcuMjcyNyBDNTk5LjE1ODksNDc2Ljc4ODcgNTgwLjg1MjksNDgxLjg4NDcgNTYzLjgyMjksNDgxLjg4NDcgQzU1My4yNjY5LDQ4MS44ODQ3IDU0My4yMDE5LDQ3OS45MjY3IDUzNC45NDY5LDQ3NS44NDk3IEM1MjAuMjQ4OSw0NjguNTg5NyA1MTIuMjI5OSw0NTUuNzk1NyA1MTEuNzU3OSw0MzguODUyNyBDNTExLjE2MjksNDE3LjQ2ODcgNTAyLjI4NjksNDEwLjk3NzcgNDk2LjMxNzksNDA4LjY3MjcgQzQ5NS43NjU5LDQwNy44Mjg3IDQ5NS42NzY5LDM5OC4wMzA3IDQ5Ni4yMDc5LDM5OC4xNzU3IEM1MDcuNzk0OSw0MDEuMzY4NyA1MjAuOTg4OSw0MTEuMDc2NyA1MjEuNzU0OSw0MzguNTczNyBDNTIyLjEyMTksNDUxLjc2NDcgNTI4LjA0OTksNDYxLjI5MDcgNTM5LjM3NTksNDY2Ljg4MzcgQzU1Ny45MDk5LDQ3Ni4wMzc3IDU4OC42MTA5LDQ3Mi4yNTc3IDYwOC4yOTE5LDQ1OC41MDc3IEM2MDguNTQyOSw0NTguMzMyNyA2MTMuNzY2OSw0NjYuODgzNyA2MTMuMTkyOSw0NjcuMjcyNyBNNjA2LjMxMTksNDU2LjIyODcgQzU4Ny40MzY5LDQ2OS4yNzE3IDU1OC4yNzc5LDQ3Mi44NzQ3IDU0MC43MDQ5LDQ2NC4xOTQ3IEM1MzAuNDUzOSw0NTkuMTMwNyA1MjUuMDg3OSw0NTAuNDgzNyA1MjQuNzUzOSw0MzguNDkwNyBDNTIzLjkzNjksNDA5LjE3MzcgNTA5LjYxOTksMzk4Ljc1NDcgNDk3LjAzNTksMzk1LjI5MjcgQzQ5Ni40NTI5LDM5NS4xMzE3IDQ5NC44NTA5LDQxMS4yODQ3IDQ5Ni40NzA5LDQxMi4wNjE3IEM1MDIuMzc5OSw0MTQuODkyNyA1MDguMjc0OSw0MjEuNTM1NyA1MDguNzU4OSw0MzguOTM1NyBDNTA5LjI1NjksNDU2LjgwMTcgNTE4LjA4NTksNDcwLjg2NzcgNTMzLjYxODksNDc4LjUzOTcgQzU0Mi40NTA5LDQ4Mi45MDI3IDU1My4wMjg5LDQ4NS4wMDQ3IDU2NC4wNjc5LDQ4NS4wMDQ3IEM1ODEuOTczOSw0ODUuMDA0NyA2MDEuMDg3OSw0NzkuNDY3NyA2MTUuODgyOSw0NjkuMDYyNyBDNjE2LjEzOTksNDY4Ljg4MTcgNjA2LjYzNzksNDU2LjAwMjcgNjA2LjMxMTksNDU2LjIyODciIGlkPSJGaWxsLTQ5IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTYwNy40MDI5LDQ1OS4xMTY0IEM1ODcuNjk3OSw0NzIuMzY3NCA1NTcuNjMyOSw0NzUuOTAwNCA1MzkuMzc1OSw0NjYuODg0NCBDNTI4LjA0OTksNDYxLjI5MDQgNTIyLjEyMTksNDUxLjc2NDQgNTIxLjc1NDksNDM4LjU3MzQgQzUyMS4wMDA5LDQxMS40OTY0IDUwOC4xOTU5LDQwMS42NzI0IDQ5Ni43NDA5LDM5OC4zMzA0IEw0OTYuNzQwOSw0MDguODQ1NCBDNTAyLjY5NjksNDExLjI5MTQgNTExLjE3NTksNDE3Ljk2NjQgNTExLjc1NzksNDM4Ljg1MjQgQzUxMi4yMjk5LDQ1NS43OTY0IDUyMC4yNDg5LDQ2OC41OTA0IDUzNC45NDY5LDQ3NS44NDk0IEM1NDMuMjAxOSw0NzkuOTI3NCA1NTMuMjY2OSw0ODEuODg1NCA1NjMuODIyOSw0ODEuODg1NCBDNTgwLjgzMTksNDgxLjg4NTQgNTk5LjExMzksNDc2LjgwMTQgNjEzLjE0MTksNDY3LjMwNzQgQzYxMy43MzI5LDQ2Ni45MDc0IDYwNy45NTY5LDQ1OC43NDQ0IDYwNy40MDI5LDQ1OS4xMTY0IiBpZD0iRmlsbC01MCIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01NjMuODg0Myw0NzguNDI5OSBDNTUzLjg2MTMsNDc4LjQyOTkgNTQ0LjMyMDMsNDc2LjU3NTkgNTM2LjQ5NzMsNDcyLjcxMTkgQzUyMy4wMzQzLDQ2Ni4wNjI5IDUxNS42OTAzLDQ1NC4zMjA5IDUxNS4yNTczLDQzOC43NTQ5IEM1MTQuNzQ3Myw0MjAuNDY2OSA1MDguNjgxMyw0MDkuNDMwOSA0OTYuNzQxMyw0MDUuMTUxOSBDNDk1LjYwNTMsNDA0Ljc0MzkgNDk1Ljc2NzMsNDAxLjY3MTkgNDk2LjY4NTMsNDAxLjk2NjkgQzUxMC40NDczLDQwNi4zODA5IDUxNy42OTkzLDQxOC43MTE5IDUxOC4yNTUzLDQzOC42NzA5IEM1MTguNjU2Myw0NTMuMDU0OSA1MjUuNDIzMyw0NjMuODk1OSA1MzcuODI1Myw0NzAuMDIxOSBDNTU3LjMxMDMsNDc5LjY0NDkgNTg4LjAzOTMsNDc2LjE4MDkgNjA4Ljk3NTMsNDYyLjI3NzkgQzYwOS42OTEzLDQ2MS44MDE5IDYxMS40NzgzLDQ2NC4yMTE5IDYxMC43ODAzLDQ2NC42Nzg5IEM1OTcuMzYwMyw0NzMuNjMxOSA1ODAuMDAyMyw0NzguNDI5OSA1NjMuODg0Myw0NzguNDI5OSIgaWQ9IkZpbGwtNTEiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDcwLjUwOTQsMzUwLjY1MDYgQzQ2NC45OTU0LDM1MC42NTA2IDQ2MC41MDk0LDM0Ni4xNjU2IDQ2MC41MDk0LDM0MC42NTA2IEM0NjAuNTA5NCwzMzUuMTM2NiA0NjQuOTk1NCwzMzAuNjUwNiA0NzAuNTA5NCwzMzAuNjUwNiBDNDc2LjAyNDQsMzMwLjY1MDYgNDgwLjUwOTQsMzM1LjEzNjYgNDgwLjUwOTQsMzQwLjY1MDYgQzQ4MC41MDk0LDM0Ni4xNjU2IDQ3Ni4wMjQ0LDM1MC42NTA2IDQ3MC41MDk0LDM1MC42NTA2IE00ODQuNTA5NCwzMjAuODUxNiBMMzcyLjUwOTQsMzIwLjg1MTYgQzM3MC4zMDA0LDMyMC44NTE2IDM2OC41MDk0LDMyMi42NDE2IDM2OC41MDk0LDMyNC44NTE2IEwzNjguNTA5NCwzNTYuODUxNiBDMzY4LjUwOTQsMzU5LjA2MDYgMzcwLjMwMDQsMzYwLjg1MTYgMzcyLjUwOTQsMzYwLjg1MTYgTDQ4NC41MDk0LDM2MC44NTE2IEM0ODYuNzE5NCwzNjAuODUxNiA0ODguNTA5NCwzNTkuMDYwNiA0ODguNTA5NCwzNTYuODUxNiBMNDg4LjUwOTQsMzI0Ljg1MTYgQzQ4OC41MDk0LDMyMi42NDE2IDQ4Ni43MTk0LDMyMC44NTE2IDQ4NC41MDk0LDMyMC44NTE2IiBpZD0iRmlsbC01MiIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00ODcuMDA5NCwzMTAuODUxOCBMMzcwLjAwOTQsMzEwLjg1MTggQzM2My42NTg0LDMxMC44NTE4IDM1OC41MDk0LDMxNS45OTk4IDM1OC41MDk0LDMyMi4zNTE4IEwzNTguNTA5NCwzNTkuMzUxOCBDMzU4LjUwOTQsMzY1LjcwMjggMzYzLjY1ODQsMzcwLjg1MTggMzcwLjAwOTQsMzcwLjg1MTggTDQ4Ny4wMDk0LDM3MC44NTE4IEM0OTMuMzYxNCwzNzAuODUxOCA0OTguNTA5NCwzNjUuNzAyOCA0OTguNTA5NCwzNTkuMzUxOCBMNDk4LjUwOTQsMzIyLjM1MTggQzQ5OC41MDk0LDMxNS45OTk4IDQ5My4zNjE0LDMxMC44NTE4IDQ4Ny4wMDk0LDMxMC44NTE4IE00ODcuMDA5NCwzMTMuODUxOCBDNDkxLjY5NjQsMzEzLjg1MTggNDk1LjUwOTQsMzE3LjY2MzggNDk1LjUwOTQsMzIyLjM1MTggTDQ5NS41MDk0LDM1OS4zNTE4IEM0OTUuNTA5NCwzNjQuMDM3OCA0OTEuNjk2NCwzNjcuODUxOCA0ODcuMDA5NCwzNjcuODUxOCBMMzcwLjAwOTQsMzY3Ljg1MTggQzM2NS4zMjI0LDM2Ny44NTE4IDM2MS41MDk0LDM2NC4wMzc4IDM2MS41MDk0LDM1OS4zNTE4IEwzNjEuNTA5NCwzMjIuMzUxOCBDMzYxLjUwOTQsMzE3LjY2MzggMzY1LjMyMjQsMzEzLjg1MTggMzcwLjAwOTQsMzEzLjg1MTggTDQ4Ny4wMDk0LDMxMy44NTE4IiBpZD0iRmlsbC01MyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MzUuMDA5NCwzMjMuODUxOCBMNDM1LjAwOTQsMzIzLjg1MTggQzQzNS44Mzg0LDMyMy44NTE4IDQzNi41MDk0LDMyNC41MjI4IDQzNi41MDk0LDMyNS4zNTE4IEw0MzYuNTA5NCwzNTYuMzUxOCBDNDM2LjUwOTQsMzU3LjE3OTggNDM1LjgzODQsMzU3Ljg1MTggNDM1LjAwOTQsMzU3Ljg1MTggQzQzNC4xODE0LDM1Ny44NTE4IDQzMy41MDk0LDM1Ny4xNzk4IDQzMy41MDk0LDM1Ni4zNTE4IEw0MzMuNTA5NCwzMjUuMzUxOCBDNDMzLjUwOTQsMzI0LjUyMjggNDM0LjE4MTQsMzIzLjg1MTggNDM1LjAwOTQsMzIzLjg1MTgiIGlkPSJGaWxsLTU0IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ0Ny4wMDk0LDMyMy44NTE4IEw0NDcuMDA5NCwzMjMuODUxOCBDNDQ3LjgzODQsMzIzLjg1MTggNDQ4LjUwOTQsMzI0LjUyMjggNDQ4LjUwOTQsMzI1LjM1MTggTDQ0OC41MDk0LDM1Ni4zNTE4IEM0NDguNTA5NCwzNTcuMTc5OCA0NDcuODM4NCwzNTcuODUxOCA0NDcuMDA5NCwzNTcuODUxOCBDNDQ2LjE4MTQsMzU3Ljg1MTggNDQ1LjUwOTQsMzU3LjE3OTggNDQ1LjUwOTQsMzU2LjM1MTggTDQ0NS41MDk0LDMyNS4zNTE4IEM0NDUuNTA5NCwzMjQuNTIyOCA0NDYuMTgxNCwzMjMuODUxOCA0NDcuMDA5NCwzMjMuODUxOCIgaWQ9IkZpbGwtNTUiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDIzLjUwOTQsMzQwLjg1MTggQzQyMy41MDk0LDM0My42MTI4IDQyMS4yNzE0LDM0NS44NTE4IDQxOC41MDk0LDM0NS44NTE4IEM0MTUuNzQ4NCwzNDUuODUxOCA0MTMuNTA5NCwzNDMuNjEyOCA0MTMuNTA5NCwzNDAuODUxOCBDNDEzLjUwOTQsMzM4LjA4OTggNDE1Ljc0ODQsMzM1Ljg1MTggNDE4LjUwOTQsMzM1Ljg1MTggQzQyMS4yNzE0LDMzNS44NTE4IDQyMy41MDk0LDMzOC4wODk4IDQyMy41MDk0LDM0MC44NTE4IiBpZD0iRmlsbC01NiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MDMuNTA5NCwzNDAuODUxOCBDNDAzLjUwOTQsMzQzLjYxMjggNDAxLjI3MTQsMzQ1Ljg1MTggMzk4LjUwOTQsMzQ1Ljg1MTggQzM5NS43NDg0LDM0NS44NTE4IDM5My41MDk0LDM0My42MTI4IDM5My41MDk0LDM0MC44NTE4IEMzOTMuNTA5NCwzMzguMDg5OCAzOTUuNzQ4NCwzMzUuODUxOCAzOTguNTA5NCwzMzUuODUxOCBDNDAxLjI3MTQsMzM1Ljg1MTggNDAzLjUwOTQsMzM4LjA4OTggNDAzLjUwOTQsMzQwLjg1MTgiIGlkPSJGaWxsLTU3IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTM4My41MDk0LDM0MC44NTE4IEMzODMuNTA5NCwzNDMuNjEyOCAzODEuMjcxNCwzNDUuODUxOCAzNzguNTA5NCwzNDUuODUxOCBDMzc1Ljc0ODQsMzQ1Ljg1MTggMzczLjUwOTQsMzQzLjYxMjggMzczLjUwOTQsMzQwLjg1MTggQzM3My41MDk0LDMzOC4wODk4IDM3NS43NDg0LDMzNS44NTE4IDM3OC41MDk0LDMzNS44NTE4IEMzODEuMjcxNCwzMzUuODUxOCAzODMuNTA5NCwzMzguMDg5OCAzODMuNTA5NCwzNDAuODUxOCIgaWQ9IkZpbGwtNTgiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDcwLjUwOTQsMzI3LjY1MDYgQzQ2My4zMjk0LDMyNy42NTA2IDQ1Ny41MDk0LDMzMy40NzA2IDQ1Ny41MDk0LDM0MC42NTA2IEM0NTcuNTA5NCwzNDcuODMwNiA0NjMuMzI5NCwzNTMuNjUwNiA0NzAuNTA5NCwzNTMuNjUwNiBDNDc3LjY4OTQsMzUzLjY1MDYgNDgzLjUwOTQsMzQ3LjgzMDYgNDgzLjUwOTQsMzQwLjY1MDYgQzQ4My41MDk0LDMzMy40NzA2IDQ3Ny42ODk0LDMyNy42NTA2IDQ3MC41MDk0LDMyNy42NTA2IE00NzAuNTA5NCwzMzAuNjUwNiBDNDc2LjAyNDQsMzMwLjY1MDYgNDgwLjUwOTQsMzM1LjEzNjYgNDgwLjUwOTQsMzQwLjY1MDYgQzQ4MC41MDk0LDM0Ni4xNjU2IDQ3Ni4wMjQ0LDM1MC42NTA2IDQ3MC41MDk0LDM1MC42NTA2IEM0NjQuOTk1NCwzNTAuNjUwNiA0NjAuNTA5NCwzNDYuMTY1NiA0NjAuNTA5NCwzNDAuNjUwNiBDNDYwLjUwOTQsMzM1LjEzNjYgNDY0Ljk5NTQsMzMwLjY1MDYgNDcwLjUwOTQsMzMwLjY1MDYiIGlkPSJGaWxsLTU5IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ3MC41MDk0LDQyMC42NTA2IEM0NjQuOTk1NCw0MjAuNjUwNiA0NjAuNTA5NCw0MTYuMTY1NiA0NjAuNTA5NCw0MTAuNjUwNiBDNDYwLjUwOTQsNDA1LjEzNjYgNDY0Ljk5NTQsNDAwLjY1MDYgNDcwLjUwOTQsNDAwLjY1MDYgQzQ3Ni4wMjQ0LDQwMC42NTA2IDQ4MC41MDk0LDQwNS4xMzY2IDQ4MC41MDk0LDQxMC42NTA2IEM0ODAuNTA5NCw0MTYuMTY1NiA0NzYuMDI0NCw0MjAuNjUwNiA0NzAuNTA5NCw0MjAuNjUwNiBNNDg0LjUwOTQsMzkwLjg1MTYgTDM3Mi41MDk0LDM5MC44NTE2IEMzNzAuMzAwNCwzOTAuODUxNiAzNjguNTA5NCwzOTIuNjQxNiAzNjguNTA5NCwzOTQuODUxNiBMMzY4LjUwOTQsNDI2Ljg1MTYgQzM2OC41MDk0LDQyOS4wNjA2IDM3MC4zMDA0LDQzMC44NTE2IDM3Mi41MDk0LDQzMC44NTE2IEw0ODQuNTA5NCw0MzAuODUxNiBDNDg2LjcxOTQsNDMwLjg1MTYgNDg4LjUwOTQsNDI5LjA2MDYgNDg4LjUwOTQsNDI2Ljg1MTYgTDQ4OC41MDk0LDM5NC44NTE2IEM0ODguNTA5NCwzOTIuNjQxNiA0ODYuNzE5NCwzOTAuODUxNiA0ODQuNTA5NCwzOTAuODUxNiIgaWQ9IkZpbGwtNjAiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDg3LjAwOTQsMzgwLjg1MTggTDM3MC4wMDk0LDM4MC44NTE4IEMzNjMuNjU4NCwzODAuODUxOCAzNTguNTA5NCwzODUuOTk5OCAzNTguNTA5NCwzOTIuMzUxOCBMMzU4LjUwOTQsNDI5LjM1MTggQzM1OC41MDk0LDQzNS43MDI4IDM2My42NTg0LDQ0MC44NTE4IDM3MC4wMDk0LDQ0MC44NTE4IEw0ODcuMDA5NCw0NDAuODUxOCBDNDkzLjM2MTQsNDQwLjg1MTggNDk4LjUwOTQsNDM1LjcwMjggNDk4LjUwOTQsNDI5LjM1MTggTDQ5OC41MDk0LDM5Mi4zNTE4IEM0OTguNTA5NCwzODUuOTk5OCA0OTMuMzYxNCwzODAuODUxOCA0ODcuMDA5NCwzODAuODUxOCBNNDg3LjAwOTQsMzgzLjg1MTggQzQ5MS42OTY0LDM4My44NTE4IDQ5NS41MDk0LDM4Ny42NjM4IDQ5NS41MDk0LDM5Mi4zNTE4IEw0OTUuNTA5NCw0MjkuMzUxOCBDNDk1LjUwOTQsNDM0LjAzODggNDkxLjY5NjQsNDM3Ljg1MTggNDg3LjAwOTQsNDM3Ljg1MTggTDM3MC4wMDk0LDQzNy44NTE4IEMzNjUuMzIyNCw0MzcuODUxOCAzNjEuNTA5NCw0MzQuMDM4OCAzNjEuNTA5NCw0MjkuMzUxOCBMMzYxLjUwOTQsMzkyLjM1MTggQzM2MS41MDk0LDM4Ny42NjM4IDM2NS4zMjI0LDM4My44NTE4IDM3MC4wMDk0LDM4My44NTE4IEw0ODcuMDA5NCwzODMuODUxOCIgaWQ9IkZpbGwtNjEiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDM1LjAwOTQsMzkzLjg1MTggTDQzNS4wMDk0LDM5My44NTE4IEM0MzUuODM4NCwzOTMuODUxOCA0MzYuNTA5NCwzOTQuNTIyOCA0MzYuNTA5NCwzOTUuMzUxOCBMNDM2LjUwOTQsNDI2LjM1MTggQzQzNi41MDk0LDQyNy4xNzk4IDQzNS44Mzg0LDQyNy44NTE4IDQzNS4wMDk0LDQyNy44NTE4IEM0MzQuMTgxNCw0MjcuODUxOCA0MzMuNTA5NCw0MjcuMTc5OCA0MzMuNTA5NCw0MjYuMzUxOCBMNDMzLjUwOTQsMzk1LjM1MTggQzQzMy41MDk0LDM5NC41MjI4IDQzNC4xODE0LDM5My44NTE4IDQzNS4wMDk0LDM5My44NTE4IiBpZD0iRmlsbC02MiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00NDcuMDA5NCwzOTMuODUxOCBMNDQ3LjAwOTQsMzkzLjg1MTggQzQ0Ny44Mzg0LDM5My44NTE4IDQ0OC41MDk0LDM5NC41MjI4IDQ0OC41MDk0LDM5NS4zNTE4IEw0NDguNTA5NCw0MjYuMzUxOCBDNDQ4LjUwOTQsNDI3LjE3OTggNDQ3LjgzODQsNDI3Ljg1MTggNDQ3LjAwOTQsNDI3Ljg1MTggQzQ0Ni4xODE0LDQyNy44NTE4IDQ0NS41MDk0LDQyNy4xNzk4IDQ0NS41MDk0LDQyNi4zNTE4IEw0NDUuNTA5NCwzOTUuMzUxOCBDNDQ1LjUwOTQsMzk0LjUyMjggNDQ2LjE4MTQsMzkzLjg1MTggNDQ3LjAwOTQsMzkzLjg1MTgiIGlkPSJGaWxsLTYzIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQyMy41MDk0LDQxMC44NTE4IEM0MjMuNTA5NCw0MTMuNjEyOCA0MjEuMjcxNCw0MTUuODUxOCA0MTguNTA5NCw0MTUuODUxOCBDNDE1Ljc0ODQsNDE1Ljg1MTggNDEzLjUwOTQsNDEzLjYxMjggNDEzLjUwOTQsNDEwLjg1MTggQzQxMy41MDk0LDQwOC4wODk4IDQxNS43NDg0LDQwNS44NTE4IDQxOC41MDk0LDQwNS44NTE4IEM0MjEuMjcxNCw0MDUuODUxOCA0MjMuNTA5NCw0MDguMDg5OCA0MjMuNTA5NCw0MTAuODUxOCIgaWQ9IkZpbGwtNjQiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDAzLjUwOTQsNDEwLjg1MTggQzQwMy41MDk0LDQxMy42MTI4IDQwMS4yNzE0LDQxNS44NTE4IDM5OC41MDk0LDQxNS44NTE4IEMzOTUuNzQ4NCw0MTUuODUxOCAzOTMuNTA5NCw0MTMuNjEyOCAzOTMuNTA5NCw0MTAuODUxOCBDMzkzLjUwOTQsNDA4LjA4OTggMzk1Ljc0ODQsNDA1Ljg1MTggMzk4LjUwOTQsNDA1Ljg1MTggQzQwMS4yNzE0LDQwNS44NTE4IDQwMy41MDk0LDQwOC4wODk4IDQwMy41MDk0LDQxMC44NTE4IiBpZD0iRmlsbC02NSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zODMuNTA5NCw0MTAuODUxOCBDMzgzLjUwOTQsNDEzLjYxMjggMzgxLjI3MTQsNDE1Ljg1MTggMzc4LjUwOTQsNDE1Ljg1MTggQzM3NS43NDg0LDQxNS44NTE4IDM3My41MDk0LDQxMy42MTI4IDM3My41MDk0LDQxMC44NTE4IEMzNzMuNTA5NCw0MDguMDg5OCAzNzUuNzQ4NCw0MDUuODUxOCAzNzguNTA5NCw0MDUuODUxOCBDMzgxLjI3MTQsNDA1Ljg1MTggMzgzLjUwOTQsNDA4LjA4OTggMzgzLjUwOTQsNDEwLjg1MTgiIGlkPSJGaWxsLTY2IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ3MC41MDk0LDM5Ny42NTA2IEM0NjMuMzI5NCwzOTcuNjUwNiA0NTcuNTA5NCw0MDMuNDcwNiA0NTcuNTA5NCw0MTAuNjUwNiBDNDU3LjUwOTQsNDE3LjgzMDYgNDYzLjMyOTQsNDIzLjY1MDYgNDcwLjUwOTQsNDIzLjY1MDYgQzQ3Ny42ODk0LDQyMy42NTA2IDQ4My41MDk0LDQxNy44MzA2IDQ4My41MDk0LDQxMC42NTA2IEM0ODMuNTA5NCw0MDMuNDcwNiA0NzcuNjg5NCwzOTcuNjUwNiA0NzAuNTA5NCwzOTcuNjUwNiBNNDcwLjUwOTQsNDAwLjY1MDYgQzQ3Ni4wMjQ0LDQwMC42NTA2IDQ4MC41MDk0LDQwNS4xMzY2IDQ4MC41MDk0LDQxMC42NTA2IEM0ODAuNTA5NCw0MTYuMTY1NiA0NzYuMDI0NCw0MjAuNjUwNiA0NzAuNTA5NCw0MjAuNjUwNiBDNDY0Ljk5NTQsNDIwLjY1MDYgNDYwLjUwOTQsNDE2LjE2NTYgNDYwLjUwOTQsNDEwLjY1MDYgQzQ2MC41MDk0LDQwNS4xMzY2IDQ2NC45OTU0LDQwMC42NTA2IDQ3MC41MDk0LDQwMC42NTA2IiBpZD0iRmlsbC02NyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00NzAuNTA5NCw0OTAuNjUwNiBDNDY0Ljk5NTQsNDkwLjY1MDYgNDYwLjUwOTQsNDg2LjE2NTYgNDYwLjUwOTQsNDgwLjY1MDYgQzQ2MC41MDk0LDQ3NS4xMzY2IDQ2NC45OTU0LDQ3MC42NTA2IDQ3MC41MDk0LDQ3MC42NTA2IEM0NzYuMDI0NCw0NzAuNjUwNiA0ODAuNTA5NCw0NzUuMTM2NiA0ODAuNTA5NCw0ODAuNjUwNiBDNDgwLjUwOTQsNDg2LjE2NTYgNDc2LjAyNDQsNDkwLjY1MDYgNDcwLjUwOTQsNDkwLjY1MDYgTTQ4NC41MDk0LDQ2MC44NTE2IEwzNzIuNTA5NCw0NjAuODUxNiBDMzcwLjMwMDQsNDYwLjg1MTYgMzY4LjUwOTQsNDYyLjY0MTYgMzY4LjUwOTQsNDY0Ljg1MTYgTDM2OC41MDk0LDQ5Ni44NTE2IEMzNjguNTA5NCw0OTkuMDYwNiAzNzAuMzAwNCw1MDAuODUxNiAzNzIuNTA5NCw1MDAuODUxNiBMNDg0LjUwOTQsNTAwLjg1MTYgQzQ4Ni43MTk0LDUwMC44NTE2IDQ4OC41MDk0LDQ5OS4wNjA2IDQ4OC41MDk0LDQ5Ni44NTE2IEw0ODguNTA5NCw0NjQuODUxNiBDNDg4LjUwOTQsNDYyLjY0MTYgNDg2LjcxOTQsNDYwLjg1MTYgNDg0LjUwOTQsNDYwLjg1MTYiIGlkPSJGaWxsLTY4IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ4Ny4wMDk0LDQ1MC44NTE4IEwzNzAuMDA5NCw0NTAuODUxOCBDMzYzLjY1ODQsNDUwLjg1MTggMzU4LjUwOTQsNDU1Ljk5OTggMzU4LjUwOTQsNDYyLjM1MTggTDM1OC41MDk0LDQ5OS4zNTE4IEMzNTguNTA5NCw1MDUuNzAyOCAzNjMuNjU4NCw1MTAuODUxOCAzNzAuMDA5NCw1MTAuODUxOCBMNDg3LjAwOTQsNTEwLjg1MTggQzQ5My4zNjE0LDUxMC44NTE4IDQ5OC41MDk0LDUwNS43MDI4IDQ5OC41MDk0LDQ5OS4zNTE4IEw0OTguNTA5NCw0NjIuMzUxOCBDNDk4LjUwOTQsNDU1Ljk5OTggNDkzLjM2MTQsNDUwLjg1MTggNDg3LjAwOTQsNDUwLjg1MTggTTQ4Ny4wMDk0LDQ1My44NTE4IEM0OTEuNjk2NCw0NTMuODUxOCA0OTUuNTA5NCw0NTcuNjYzOCA0OTUuNTA5NCw0NjIuMzUxOCBMNDk1LjUwOTQsNDk5LjM1MTggQzQ5NS41MDk0LDUwNC4wMzg4IDQ5MS42OTY0LDUwNy44NTE4IDQ4Ny4wMDk0LDUwNy44NTE4IEwzNzAuMDA5NCw1MDcuODUxOCBDMzY1LjMyMjQsNTA3Ljg1MTggMzYxLjUwOTQsNTA0LjAzODggMzYxLjUwOTQsNDk5LjM1MTggTDM2MS41MDk0LDQ2Mi4zNTE4IEMzNjEuNTA5NCw0NTcuNjYzOCAzNjUuMzIyNCw0NTMuODUxOCAzNzAuMDA5NCw0NTMuODUxOCBMNDg3LjAwOTQsNDUzLjg1MTgiIGlkPSJGaWxsLTY5IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQzNS4wMDk0LDQ2My44NTE4IEw0MzUuMDA5NCw0NjMuODUxOCBDNDM1LjgzODQsNDYzLjg1MTggNDM2LjUwOTQsNDY0LjUyMjggNDM2LjUwOTQsNDY1LjM1MTggTDQzNi41MDk0LDQ5Ni4zNTE4IEM0MzYuNTA5NCw0OTcuMTc5OCA0MzUuODM4NCw0OTcuODUxOCA0MzUuMDA5NCw0OTcuODUxOCBDNDM0LjE4MTQsNDk3Ljg1MTggNDMzLjUwOTQsNDk3LjE3OTggNDMzLjUwOTQsNDk2LjM1MTggTDQzMy41MDk0LDQ2NS4zNTE4IEM0MzMuNTA5NCw0NjQuNTIyOCA0MzQuMTgxNCw0NjMuODUxOCA0MzUuMDA5NCw0NjMuODUxOCIgaWQ9IkZpbGwtNzAiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDQ3LjAwOTQsNDYzLjg1MTggTDQ0Ny4wMDk0LDQ2My44NTE4IEM0NDcuODM4NCw0NjMuODUxOCA0NDguNTA5NCw0NjQuNTIyOCA0NDguNTA5NCw0NjUuMzUxOCBMNDQ4LjUwOTQsNDk2LjM1MTggQzQ0OC41MDk0LDQ5Ny4xNzk4IDQ0Ny44Mzg0LDQ5Ny44NTE4IDQ0Ny4wMDk0LDQ5Ny44NTE4IEM0NDYuMTgxNCw0OTcuODUxOCA0NDUuNTA5NCw0OTcuMTc5OCA0NDUuNTA5NCw0OTYuMzUxOCBMNDQ1LjUwOTQsNDY1LjM1MTggQzQ0NS41MDk0LDQ2NC41MjI4IDQ0Ni4xODE0LDQ2My44NTE4IDQ0Ny4wMDk0LDQ2My44NTE4IiBpZD0iRmlsbC03MSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00MjMuNTA5NCw0ODAuODUxOCBDNDIzLjUwOTQsNDgzLjYxMjggNDIxLjI3MTQsNDg1Ljg1MTggNDE4LjUwOTQsNDg1Ljg1MTggQzQxNS43NDg0LDQ4NS44NTE4IDQxMy41MDk0LDQ4My42MTI4IDQxMy41MDk0LDQ4MC44NTE4IEM0MTMuNTA5NCw0NzguMDg5OCA0MTUuNzQ4NCw0NzUuODUxOCA0MTguNTA5NCw0NzUuODUxOCBDNDIxLjI3MTQsNDc1Ljg1MTggNDIzLjUwOTQsNDc4LjA4OTggNDIzLjUwOTQsNDgwLjg1MTgiIGlkPSJGaWxsLTcyIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQwMy41MDk0LDQ4MC44NTE4IEM0MDMuNTA5NCw0ODMuNjEyOCA0MDEuMjcxNCw0ODUuODUxOCAzOTguNTA5NCw0ODUuODUxOCBDMzk1Ljc0ODQsNDg1Ljg1MTggMzkzLjUwOTQsNDgzLjYxMjggMzkzLjUwOTQsNDgwLjg1MTggQzM5My41MDk0LDQ3OC4wODk4IDM5NS43NDg0LDQ3NS44NTE4IDM5OC41MDk0LDQ3NS44NTE4IEM0MDEuMjcxNCw0NzUuODUxOCA0MDMuNTA5NCw0NzguMDg5OCA0MDMuNTA5NCw0ODAuODUxOCIgaWQ9IkZpbGwtNzMiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMzgzLjUwOTQsNDgwLjg1MTggQzM4My41MDk0LDQ4My42MTI4IDM4MS4yNzE0LDQ4NS44NTE4IDM3OC41MDk0LDQ4NS44NTE4IEMzNzUuNzQ4NCw0ODUuODUxOCAzNzMuNTA5NCw0ODMuNjEyOCAzNzMuNTA5NCw0ODAuODUxOCBDMzczLjUwOTQsNDc4LjA4OTggMzc1Ljc0ODQsNDc1Ljg1MTggMzc4LjUwOTQsNDc1Ljg1MTggQzM4MS4yNzE0LDQ3NS44NTE4IDM4My41MDk0LDQ3OC4wODk4IDM4My41MDk0LDQ4MC44NTE4IiBpZD0iRmlsbC03NCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00NzAuNTA5NCw0NjcuNjUwNiBDNDYzLjMyOTQsNDY3LjY1MDYgNDU3LjUwOTQsNDczLjQ3MDYgNDU3LjUwOTQsNDgwLjY1MDYgQzQ1Ny41MDk0LDQ4Ny44MzA2IDQ2My4zMjk0LDQ5My42NTA2IDQ3MC41MDk0LDQ5My42NTA2IEM0NzcuNjg5NCw0OTMuNjUwNiA0ODMuNTA5NCw0ODcuODMwNiA0ODMuNTA5NCw0ODAuNjUwNiBDNDgzLjUwOTQsNDczLjQ3MDYgNDc3LjY4OTQsNDY3LjY1MDYgNDcwLjUwOTQsNDY3LjY1MDYgTTQ3MC41MDk0LDQ3MC42NTA2IEM0NzYuMDI0NCw0NzAuNjUwNiA0ODAuNTA5NCw0NzUuMTM2NiA0ODAuNTA5NCw0ODAuNjUwNiBDNDgwLjUwOTQsNDg2LjE2NTYgNDc2LjAyNDQsNDkwLjY1MDYgNDcwLjUwOTQsNDkwLjY1MDYgQzQ2NC45OTU0LDQ5MC42NTA2IDQ2MC41MDk0LDQ4Ni4xNjU2IDQ2MC41MDk0LDQ4MC42NTA2IEM0NjAuNTA5NCw0NzUuMTM2NiA0NjQuOTk1NCw0NzAuNjUwNiA0NzAuNTA5NCw0NzAuNjUwNiIgaWQ9IkZpbGwtNzUiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQxLjUwOTQsNTE5LjY1MDYgQzE0Mi44OTA0LDUxOS42NTA2IDE0NC4wMDk0LDUyMC43NzA2IDE0NC4wMDk0LDUyMi4xNTA2IEwxNDQuMDA5NCw1MzIuMTUwNiBDMTQ0LjAwOTQsNTMzLjUzMTYgMTQyLjg5MDQsNTM0LjY1MDYgMTQxLjUwOTQsNTM0LjY1MDYgQzE0MC4xMjk0LDUzNC42NTA2IDEzOS4wMDk0LDUzMy41MzE2IDEzOS4wMDk0LDUzMi4xNTA2IEwxMzkuMDA5NCw1MjIuMTUwNiBDMTM5LjAwOTQsNTIwLjc3MDYgMTQwLjEyOTQsNTE5LjY1MDYgMTQxLjUwOTQsNTE5LjY1MDYgTTEzMy41MDk0LDUxMS42NTA2IEMxMzMuNTA5NCw1MTMuMDMxNiAxMzIuMzkwNCw1MTQuMTUwNiAxMzEuMDA5NCw1MTQuMTUwNiBMMTIxLjAwOTQsNTE0LjE1MDYgQzExOS42Mjk0LDUxNC4xNTA2IDExOC41MDk0LDUxMy4wMzE2IDExOC41MDk0LDUxMS42NTA2IEMxMTguNTA5NCw1MTAuMjcwNiAxMTkuNjI5NCw1MDkuMTUwNiAxMjEuMDA5NCw1MDkuMTUwNiBMMTMxLjAwOTQsNTA5LjE1MDYgQzEzMi4zOTA0LDUwOS4xNTA2IDEzMy41MDk0LDUxMC4yNzA2IDEzMy41MDk0LDUxMS42NTA2IiBpZD0iRmlsbC03NiIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zODguNTA5NCwyNDAuNjUwNiBDMzg5Ljg5MDQsMjQwLjY1MDYgMzkxLjAwOTQsMjQxLjc3MDYgMzkxLjAwOTQsMjQzLjE1MDYgTDM5MS4wMDk0LDI1My4xNTA2IEMzOTEuMDA5NCwyNTQuNTMxNiAzODkuODkwNCwyNTUuNjUwNiAzODguNTA5NCwyNTUuNjUwNiBDMzg3LjEyOTQsMjU1LjY1MDYgMzg2LjAwOTQsMjU0LjUzMTYgMzg2LjAwOTQsMjUzLjE1MDYgTDM4Ni4wMDk0LDI0My4xNTA2IEMzODYuMDA5NCwyNDEuNzcwNiAzODcuMTI5NCwyNDAuNjUwNiAzODguNTA5NCwyNDAuNjUwNiBNMzg4LjUwOTQsMjcxLjY1MDYgQzM4OS44OTA0LDI3MS42NTA2IDM5MS4wMDk0LDI3Mi43NzA2IDM5MS4wMDk0LDI3NC4xNTA2IEwzOTEuMDA5NCwyODQuMTUwNiBDMzkxLjAwOTQsMjg1LjUzMTYgMzg5Ljg5MDQsMjg2LjY1MDYgMzg4LjUwOTQsMjg2LjY1MDYgQzM4Ny4xMjk0LDI4Ni42NTA2IDM4Ni4wMDk0LDI4NS41MzE2IDM4Ni4wMDk0LDI4NC4xNTA2IEwzODYuMDA5NCwyNzQuMTUwNiBDMzg2LjAwOTQsMjcyLjc3MDYgMzg3LjEyOTQsMjcxLjY1MDYgMzg4LjUwOTQsMjcxLjY1MDYgTTQxMS41MDk0LDI2My42NTA2IEM0MTEuNTA5NCwyNjUuMDMxNiA0MTAuMzkwNCwyNjYuMTUwNiA0MDkuMDA5NCwyNjYuMTUwNiBMMzk5LjAwOTQsMjY2LjE1MDYgQzM5Ny42Mjk0LDI2Ni4xNTA2IDM5Ni41MDk0LDI2NS4wMzE2IDM5Ni41MDk0LDI2My42NTA2IEMzOTYuNTA5NCwyNjIuMjcwNiAzOTcuNjI5NCwyNjEuMTUwNiAzOTkuMDA5NCwyNjEuMTUwNiBMNDA5LjAwOTQsMjYxLjE1MDYgQzQxMC4zOTA0LDI2MS4xNTA2IDQxMS41MDk0LDI2Mi4yNzA2IDQxMS41MDk0LDI2My42NTA2IE0zODAuNTA5NCwyNjMuNjUwNiBDMzgwLjUwOTQsMjY1LjAzMTYgMzc5LjM5MDQsMjY2LjE1MDYgMzc4LjAwOTQsMjY2LjE1MDYgTDM2OC4wMDk0LDI2Ni4xNTA2IEMzNjYuNjI5NCwyNjYuMTUwNiAzNjUuNTA5NCwyNjUuMDMxNiAzNjUuNTA5NCwyNjMuNjUwNiBDMzY1LjUwOTQsMjYyLjI3MDYgMzY2LjYyOTQsMjYxLjE1MDYgMzY4LjAwOTQsMjYxLjE1MDYgTDM3OC4wMDk0LDI2MS4xNTA2IEMzNzkuMzkwNCwyNjEuMTUwNiAzODAuNTA5NCwyNjIuMjcwNiAzODAuNTA5NCwyNjMuNjUwNiIgaWQ9IkZpbGwtNzciIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTUyLjUwOTMsNTEuNjUwNiBDNTUzLjg5MDMsNTEuNjUwNiA1NTUuMDA5Myw1Mi43NzA2IDU1NS4wMDkzLDU0LjE1MDYgTDU1NS4wMDkzLDY0LjE1MDYgQzU1NS4wMDkzLDY1LjUzMTYgNTUzLjg5MDMsNjYuNjUwNiA1NTIuNTA5Myw2Ni42NTA2IEM1NTEuMTI5Myw2Ni42NTA2IDU1MC4wMDkzLDY1LjUzMTYgNTUwLjAwOTMsNjQuMTUwNiBMNTUwLjAwOTMsNTQuMTUwNiBDNTUwLjAwOTMsNTIuNzcwNiA1NTEuMTI5Myw1MS42NTA2IDU1Mi41MDkzLDUxLjY1MDYgTTU1Mi41MDkzLDgyLjY1MDYgQzU1My44OTAzLDgyLjY1MDYgNTU1LjAwOTMsODMuNzcwNiA1NTUuMDA5Myw4NS4xNTA2IEw1NTUuMDA5Myw5NS4xNTA2IEM1NTUuMDA5Myw5Ni41MzE2IDU1My44OTAzLDk3LjY1MDYgNTUyLjUwOTMsOTcuNjUwNiBDNTUxLjEyOTMsOTcuNjUwNiA1NTAuMDA5Myw5Ni41MzE2IDU1MC4wMDkzLDk1LjE1MDYgTDU1MC4wMDkzLDg1LjE1MDYgQzU1MC4wMDkzLDgzLjc3MDYgNTUxLjEyOTMsODIuNjUwNiA1NTIuNTA5Myw4Mi42NTA2IE01NzUuNTA5Myw3NC42NTA2IEM1NzUuNTA5Myw3Ni4wMzE2IDU3NC4zOTAzLDc3LjE1MDYgNTczLjAwOTMsNzcuMTUwNiBMNTYzLjAwOTMsNzcuMTUwNiBDNTYxLjYyOTMsNzcuMTUwNiA1NjAuNTA5Myw3Ni4wMzE2IDU2MC41MDkzLDc0LjY1MDYgQzU2MC41MDkzLDczLjI3MDYgNTYxLjYyOTMsNzIuMTUwNiA1NjMuMDA5Myw3Mi4xNTA2IEw1NzMuMDA5Myw3Mi4xNTA2IEM1NzQuMzkwMyw3Mi4xNTA2IDU3NS41MDkzLDczLjI3MDYgNTc1LjUwOTMsNzQuNjUwNiBNNTQ0LjUwOTMsNzQuNjUwNiBDNTQ0LjUwOTMsNzYuMDMxNiA1NDMuMzkwMyw3Ny4xNTA2IDU0Mi4wMDkzLDc3LjE1MDYgTDUzMi4wMDkzLDc3LjE1MDYgQzUzMC42MjkzLDc3LjE1MDYgNTI5LjUwOTMsNzYuMDMxNiA1MjkuNTA5Myw3NC42NTA2IEM1MjkuNTA5Myw3My4yNzA2IDUzMC42MjkzLDcyLjE1MDYgNTMyLjAwOTMsNzIuMTUwNiBMNTQyLjAwOTMsNzIuMTUwNiBDNTQzLjM5MDMsNzIuMTUwNiA1NDQuNTA5Myw3My4yNzA2IDU0NC41MDkzLDc0LjY1MDYiIGlkPSJGaWxsLTc4IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyNC40NCw0NTguMDUzOSBDMTI3LjM2Miw0NzYuNTUzOSAxMzYuODMxLDQ5My41MTI5IDE1MS4xMTIsNTA1LjgyMjkgQzE2NS41NzUsNTE4LjI4NjkgMTg0LjA4Miw1MjUuMTUxOSAyMDMuMjI0LDUyNS4xNTE5IEMyNDcuMjE4LDUyNS4xNTE5IDI4My4wMDksNDg5LjQ1MzkgMjgzLjAwOSw0NDUuNTc2OSBDMjgzLjAwOSw0MDEuNjk5OSAyNDcuMjE4LDM2Ni4wMDM5IDIwMy4yMjQsMzY2LjAwMzkgQzE5OC41NDIsMzY2LjAwMzkgMTkzLjc0OSwzNjYuNDQxOSAxODguOTc5LDM2Ny4zMDM5IEwxODYuODYxLDM2Ny42ODY5IEwxOTQuMTQ5LDMyNi40NTk5IEwyNTEuNTY0LDMyNi40NTk5IEMyNjEuNjAzLDMyNi40NTk5IDI2OS43NywzMTguMzE2OSAyNjkuNzcsMzA4LjMwNTkgQzI2OS43NywyOTguMjk0OSAyNjEuNjAzLDI5MC4xNTE5IDI1MS41NjQsMjkwLjE1MTkgTDE3OS42NjgsMjkwLjE1MTkgQzE3OS42MDcsMjkwLjE1MTkgMTc5LjU0OCwyOTAuMTU2OSAxNzkuNDg5LDI5MC4xNjA5IEMxNzkuMzg5LDI5MC4xNjc5IDE3OS4yOSwyOTAuMTczOSAxNzkuMTg5LDI5MC4xNzY5IEMxNzkuMTA4LDI5MC4xNzQ5IDE3OS4wMjYsMjkwLjE3NDkgMTc4Ljk0NSwyOTAuMTc0OSBDMTcwLjE1MiwyOTAuMTc0OSAxNjIuNDYxLDI5Ni41NzQ5IDE2MC45NDQsMzA1LjE1NDkgTDE1OC44MTgsMzE3LjE3NTkgTDExMC4yMTQsMzE3LjE3NTkgQzEwNy4xODIsMzE3LjE3NTkgMTA0LjcxNCwzMTkuNjQzOSAxMDQuNzE0LDMyMi42NzU5IEwxMDQuNzE0LDMyNS44NzI5IEMxMDQuNzE0LDMyOC45MDU5IDEwNy4xODIsMzMxLjM3MjkgMTEwLjIxNCwzMzEuMzcyOSBMMTE0LjYwNiwzMzEuMzcyOSBDMTE1LjM5NCwzMzEuMjI1OSAxMTYuMjAyLDMzMS4xNTE5IDExNy4wMDksMzMxLjE1MTkgTDE2MS4wMDksMzMxLjE1MTkgQzE2OC4xNzcsMzMxLjE1MTkgMTc0LjAwOSwzMzYuOTgzOSAxNzQuMDA5LDM0NC4xNTE5IEwxNzQuMDA5LDM0OS4xNTE5IEMxNzQuMDA5LDM1Ni4zMTk5IDE2OC4xNzcsMzYyLjE1MTkgMTYxLjAwOSwzNjIuMTUxOSBMOTAuNTA5LDM2Mi4xNTE5IEM4Ny41OCwzNjIuMTUxOSA4NS4wMDksMzY0Ljk0MzkgODUuMDA5LDM2OC4xMjU5IEw4NS4wMDksMzcxLjMyMzkgQzg1LjAwOSwzNzQuMzU1OSA4Ny40NzcsMzc2LjgyMzkgOTAuNTA5LDM3Ni44MjM5IEwxNDguMjczLDM3Ni44MjM5IEwxNDUuODUyLDM5MC41MjI5IEMxNDUuMDExLDM5NS4yNzY5IDE0Ni4wODgsNDAwLjA4ODkgMTQ4Ljg4NSw0MDQuMDczOSBDMTUxLjY4Myw0MDguMDU4OSAxNTUuODQ5LDQxMC43MTU5IDE2MC42MTgsNDExLjU1MzkgQzE3MC42MjYsNDEzLjkxODkgMTc4LjU2OCw0MDkuODg2OSAxNzkuMjMxLDQwOS41MzU5IEMxODYuMzUsNDA0LjgwOTkgMTk0LjY0NSw0MDIuMzEyOSAyMDMuMjI0LDQwMi4zMTI5IEMyMjcuMTQxLDQwMi4zMTI5IDI0Ni41OTgsNDIxLjcyMDkgMjQ2LjU5OCw0NDUuNTc2OSBDMjQ2LjU5OCw0NjkuNDMzOSAyMjcuMTQxLDQ4OC44NDI5IDIwMy4yMjQsNDg4Ljg0MjkgQzE4NC41NzYsNDg4Ljg0MjkgMTY4LjIzMSw0NzcuMTY1OSAxNjIuMjA4LDQ1OS42Njg5IEwxNjIuMDYyLDQ1OS42Njg5IEwxNjEuODAzLDQ1OC40NjM5IEMxNTkuMzQ5LDQ0Ni4yMjE5IDE1My4wODUsNDQwLjAxNDkgMTQzLjE4NSw0NDAuMDE0OSBDMTMyLjg4OSw0NDAuMDE0OSAxMjQuNTA0LDQ0OC4wOTY5IDEyNC40NCw0NTguMDUzOSBNMjAzLjIyNCw1MjguMTUxOSBDMTgzLjM2Myw1MjguMTUxOSAxNjQuMTYxLDUyMS4wMjg5IDE0OS4xNTQsNTA4LjA5NDkgQzEzNC4zMDMsNDk1LjI5NTkgMTI0LjQ2Nyw0NzcuNjQ3OSAxMjEuNDU4LDQ1OC40MDA5IEwxMjEuNDQsNDU4LjE2ODkgQzEyMS40NCw0NDYuNTA0OSAxMzEuMTk1LDQzNy4wMTQ5IDE0My4xODUsNDM3LjAxNDkgQzE1NC40OTEsNDM3LjAxNDkgMTYxLjkyNSw0NDQuMTQ4OSAxNjQuNjk5LDQ1Ny42NDc5IEwxNjQuNzIxLDQ1Ny43MTU5IEMxNzAuMDQ4LDQ3NC41Mzk5IDE4NS41MjEsNDg1Ljg0MjkgMjAzLjIyNCw0ODUuODQyOSBDMjI1LjQ4Nyw0ODUuODQyOSAyNDMuNTk4LDQ2Ny43Nzk5IDI0My41OTgsNDQ1LjU3NjkgQzI0My41OTgsNDIzLjM3NDkgMjI1LjQ4Nyw0MDUuMzEyOSAyMDMuMjI0LDQwNS4zMTI5IEMxOTUuMjE2LDQwNS4zMTI5IDE4Ny40NzQsNDA3LjY0OTkgMTgwLjgzNiw0MTIuMDcxOSBMMTgwLjczNCw0MTIuMTMzOSBDMTgwLjM2LDQxMi4zNDI5IDE3MS40NDgsNDE3LjE5NzkgMTYwLjAxMiw0MTQuNDkwOSBDMTU0LjU0Miw0MTMuNTMxOSAxNDkuNjg3LDQxMC40Mzc5IDE0Ni40Myw0MDUuNzk2OSBDMTQzLjE3MSw0MDEuMTU1OSAxNDEuOTE3LDM5NS41NDQ5IDE0Mi44OTcsMzkwLjAwMDkgTDE0NC42OTcsMzc5LjgyMzkgTDkwLjUwOSwzNzkuODIzOSBDODUuODIzLDM3OS44MjM5IDgyLjAwOSwzNzYuMDA5OSA4Mi4wMDksMzcxLjMyMzkgTDgyLjAwOSwzNjguMTI1OSBDODIuMDA5LDM2My4yNjE5IDg1LjkwMiwzNTkuMTUxOSA5MC41MDksMzU5LjE1MTkgTDE2MS4wMDksMzU5LjE1MTkgQzE2Ni41MjMsMzU5LjE1MTkgMTcxLjAwOSwzNTQuNjY0OSAxNzEuMDA5LDM0OS4xNTE5IEwxNzEuMDA5LDM0NC4xNTE5IEMxNzEuMDA5LDMzOC42Mzc5IDE2Ni41MjMsMzM0LjE1MTkgMTYxLjAwOSwzMzQuMTUxOSBMMTE3LjAwOSwzMzQuMTUxOSBDMTE2LjM0NiwzMzQuMTUxOSAxMTUuNjg1LDMzNC4yMTU5IDExNS4wNDMsMzM0LjM0MzkgTDExNC43NSwzMzQuMzcyOSBMMTEwLjIxNCwzMzQuMzcyOSBDMTA1LjUyOCwzMzQuMzcyOSAxMDEuNzE0LDMzMC41NTk5IDEwMS43MTQsMzI1Ljg3MjkgTDEwMS43MTQsMzIyLjY3NTkgQzEwMS43MTQsMzE3Ljk4OTkgMTA1LjUyOCwzMTQuMTc1OSAxMTAuMjE0LDMxNC4xNzU5IEwxNTYuMzAyLDMxNC4xNzU5IEwxNTcuOTg5LDMwNC42MzE5IEMxNTkuNzc0LDI5NC41NDA5IDE2OC44NzksMjg3LjA1NjkgMTc5LjE3NSwyODcuMTc2OSBMMTc5LjI4MiwyODcuMTY3OSBDMTc5LjQxLDI4Ny4xNTg5IDE3OS41MzgsMjg3LjE1MTkgMTc5LjY2OCwyODcuMTUxOSBMMjUxLjU2NCwyODcuMTUxOSBDMjYzLjI1NywyODcuMTUxOSAyNzIuNzcsMjk2LjY0MTkgMjcyLjc3LDMwOC4zMDU5IEMyNzIuNzcsMzE5Ljk2OTkgMjYzLjI1NywzMjkuNDU5OSAyNTEuNTY0LDMyOS40NTk5IEwxOTYuNjY1LDMyOS40NTk5IEwxOTAuNTU5LDM2My45OTU5IEMxOTQuODA0LDM2My4zMzY5IDE5OS4wNTUsMzYzLjAwMzkgMjAzLjIyNCwzNjMuMDAzOSBDMjQ4Ljg3MiwzNjMuMDAzOSAyODYuMDA5LDQwMC4wNDU5IDI4Ni4wMDksNDQ1LjU3NjkgQzI4Ni4wMDksNDkxLjEwODkgMjQ4Ljg3Miw1MjguMTUxOSAyMDMuMjI0LDUyOC4xNTE5IiBpZD0iRmlsbC03OSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MTkuNTkxNCw0MjIuNTgxMyBDNjE5LjU5MTQsNDIyLjU4MTMgNjIwLjI3OTQsNDMyLjkyOTMgNjMwLjk3NzQsNDQ0LjQ1NjMgQzY0MS42NzM0LDQ1NS45ODQzIDY1NC45NDY0LDQ1Ny45MzYzIDY1NC45NDY0LDQ1Ny45MzYzIEw2NDYuNTQyNCw0NjYuMzQxMyBDNjM2Ljc3OTQsNDc2LjEwMzMgNjIwLjk1MDQsNDc2LjEwMzMgNjExLjE4NzQsNDY2LjM0MTMgQzYwMS40MjQ0LDQ1Ni41NzczIDYwMS40MjQ0LDQ0MC43NDgzIDYxMS4xODc0LDQzMC45ODUzIEw2MTkuNTkxNCw0MjIuNTgxMyBaIiBpZD0iRmlsbC04MCIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MTkuNTkxNCw0MjIuNTgxMyBMNjExLjE4NzQsNDMwLjk4NTMgQzYwMS40MjQ0LDQ0MC43NDgzIDYwMS40MjQ0LDQ1Ni41NzczIDYxMS4xODc0LDQ2Ni4zNDEzIEM2MTYuMDY5NCw0NzEuMjIzMyA2MjIuNDY3NCw0NzMuNjYzMyA2MjguODY0NCw0NzMuNjYzMyBDNjM1LjI2MzQsNDczLjY2MzMgNjQxLjY2MDQsNDcxLjIyMzMgNjQ2LjU0MjQsNDY2LjM0MTMgTDY1NC45NDY0LDQ1Ny45MzYzIEM2NTQuOTQ2NCw0NTcuOTM2MyA2NDAuNzczNCw0NTUuMDM1MyA2MzEuMDg3NCw0NDQuMDY4MyBDNjIxLjQwMzQsNDMzLjEwMjMgNjE5LjU5MTQsNDIyLjU4MTMgNjE5LjU5MTQsNDIyLjU4MTMgTTYxOS41OTE0LDQyNi44MjQzIEw2MzAuMzE1NCw0NDQuNzUzMyBMNjUwLjcwMzQsNDU3LjkzNjMgTDY0NC40MjE0LDQ2NC4yMjAzIEM2NDAuMjY2NCw0NjguMzc1MyA2MzQuNzQxNCw0NzAuNjYzMyA2MjguODY0NCw0NzAuNjYzMyBDNjIyLjk4ODQsNDcwLjY2MzMgNjE3LjQ2NDQsNDY4LjM3NTMgNjEzLjMwOTQsNDY0LjIyMDMgQzYwOS4xNTM0LDQ2MC4wNjQzIDYwNi44NjQ0LDQ1NC41MzkzIDYwNi44NjQ0LDQ0OC42NjMzIEM2MDYuODY0NCw0NDIuNzg2MyA2MDkuMTUzNCw0MzcuMjYyMyA2MTMuMzA5NCw0MzMuMTA2MyBMNjE5LjU5MTQsNDI2LjgyNDMiIGlkPSJGaWxsLTgxIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTY0OC41MTcyLDQ1MS41MjY2IEM2NDUuNDU2Miw0NDkuOTc4NiA2NDAuOTU5Miw0NDYuOTQxNiA2MzUuNzczMiw0NDEuNzU1NiBDNjMwLjU4NDIsNDM2LjU2NjYgNjI3LjU3MzIsNDMyLjA0MDYgNjI2LjAyMjIsNDI4Ljk5MjYgQzYyOS4wODIyLDQzMC41NDE2IDYzMy41NzkyLDQzMy41Nzg2IDYzOC43NjQyLDQzOC43NjM2IEM2NDMuOTU0Miw0NDMuOTUzNiA2NDYuOTY1Miw0NDguNDc4NiA2NDguNTE3Miw0NTEuNTI2NiIgaWQ9IkZpbGwtODIiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjIyLjIyNTIsNDIxLjY2ODIgQzYyMS4xMDgyLDQyMS42NjgyIDYyMC4yMTAyLDQyMS45NjIyIDYxOS41OTEyLDQyMi41ODEyIEM2MTYuNDIyMiw0MjUuNzUwMiA2MjEuNzY4Miw0MzYuMjMzMiA2MzEuNTMxMiw0NDUuOTk3MiBDNjM5LjM4NzIsNDUzLjg1NDIgNjQ3LjcxMDIsNDU4Ljg1MDIgNjUyLjMxMzIsNDU4Ljg1MDIgQzY1My40MzAyLDQ1OC44NTAyIDY1NC4zMjgyLDQ1OC41NTYyIDY1NC45NDcyLDQ1Ny45MzcyIEM2NTguMTE2Miw0NTQuNzY4MiA2NTIuNzcwMiw0NDQuMjg0MiA2NDMuMDA3Miw0MzQuNTIxMiBDNjM1LjE1MTIsNDI2LjY2NTIgNjI2LjgyODIsNDIxLjY2ODIgNjIyLjIyNTIsNDIxLjY2ODIgTTYyMi4yMjUyLDQyNC42NjgyIEM2MjYuNjE1Miw0MjQuNjY4MiA2MzQuOTM2Miw0MzAuNjkxMiA2NDAuODg2Miw0MzYuNjQzMiBDNjUwLjY5ODIsNDQ2LjQ1NDIgNjUzLjM4NjIsNDU0LjI3NzIgNjUyLjgxNjIsNDU1Ljc5NjIgQzY1Mi43MzgyLDQ1NS44MTgyIDY1Mi41ODEyLDQ1NS44NTAyIDY1Mi4zMTMyLDQ1NS44NTAyIEM2NDcuOTIzMiw0NTUuODUwMiA2MzkuNjAzMiw0NDkuODI2MiA2MzMuNjUzMiw0NDMuODc2MiBDNjIzLjg0MTIsNDM0LjA2NDIgNjIxLjE1MjIsNDI2LjI0MDIgNjIxLjcyMjIsNDI0LjcyMjIgQzYyMS44MDAyLDQyNC42OTkyIDYyMS45NTYyLDQyNC42NjgyIDYyMi4yMjUyLDQyNC42NjgyIiBpZD0iRmlsbC04MyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NDYuODk2MSw0MjAuMDI1NiBMNjQ2Ljg5NjEsNDIwLjAyNTYgQzY0OC4yNjMxLDQyMS4zOTE2IDY0OC4yNjMxLDQyMy42MDg2IDY0Ni44OTYxLDQyNC45NzQ2IEw2MzUuNTAyMSw0MzYuMzY4NiBDNjM1LjExMTEsNDM2Ljc1OTYgNjM0LjQ3NjEsNDM2Ljc1OTYgNjM0LjA4NDEsNDM2LjM2ODYgTDYzMC41NTMxLDQzMi44Mzc2IEM2MzAuMTYyMSw0MzIuNDQ1NiA2MzAuMTYyMSw0MzEuODEwNiA2MzAuNTUzMSw0MzEuNDE5NiBMNjQxLjk0NzEsNDIwLjAyNTYgQzY0My4zMTMxLDQxOC42NTg2IDY0NS41MzAxLDQxOC42NTg2IDY0Ni44OTYxLDQyMC4wMjU2IiBpZD0iRmlsbC04NCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NTcuNTAzNSw0MzAuNjMyMSBMNjU3LjUwMzUsNDMwLjYzMjEgQzY1OC44Njk1LDQzMS45OTkxIDY1OC44Njk1LDQzNC4yMTUxIDY1Ny41MDM1LDQzNS41ODExIEw2NDYuMTA3NSw0NDYuOTc3MSBDNjQ1LjcxNzUsNDQ3LjM2NzEgNjQ1LjA4MzUsNDQ3LjM2NzEgNjQ0LjY5MTUsNDQ2Ljk3NzEgTDY0MS4xNTg1LDQ0My40NDMxIEM2NDAuNzY3NSw0NDMuMDUyMSA2NDAuNzY3NSw0NDIuNDE3MSA2NDEuMTU4NSw0NDIuMDI3MSBMNjUyLjU1MzUsNDMwLjYzMjEgQzY1My45MjA1LDQyOS4yNjUxIDY1Ni4xMzY1LDQyOS4yNjUxIDY1Ny41MDM1LDQzMC42MzIxIiBpZD0iRmlsbC04NSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NTEuMDA5Myw0MTIuOTY4IEM2NTAuMTgxMyw0MTIuOTY4IDY0OS41MDkzLDQxMi4yOTYgNjQ5LjUwOTMsNDExLjQ2OCBMNjQ5LjUwOTMsMzkzLjY1MiBDNjQ5LjUwOTMsMzkyLjgyMyA2NTAuMTgxMywzOTIuMTUyIDY1MS4wMDkzLDM5Mi4xNTIgQzY1MS44MzczLDM5Mi4xNTIgNjUyLjUwOTMsMzkyLjgyMyA2NTIuNTA5MywzOTMuNjUyIEw2NTIuNTA5Myw0MTEuNDY4IEM2NTIuNTA5Myw0MTIuMjk2IDY1MS44MzczLDQxMi45NjggNjUxLjAwOTMsNDEyLjk2OCIgaWQ9IkZpbGwtODYiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjY0LjUwODQsNDIyLjExNjQgQzY2NC4xODI0LDQyMi4xMTY0IDY2My44NTM0LDQyMi4wMTA0IDY2My41Nzc0LDQyMS43OTI0IEM2NjIuOTI4NCw0MjEuMjc3NCA2NjIuODE5NCw0MjAuMzMzNCA2NjMuMzMzNCw0MTkuNjg0NCBMNjgyLjMzMzQsMzk1LjcyMDQgQzY4Mi44NDk0LDM5NS4wNzA0IDY4My43OTI0LDM5NC45NjI0IDY4NC40NDE0LDM5NS40NzU0IEM2ODUuMDkwNCwzOTUuOTkwNCA2ODUuMTk5NCwzOTYuOTM0NCA2ODQuNjg1NCwzOTcuNTgzNCBMNjY1LjY4NTQsNDIxLjU0ODQgQzY2NS4zODg0LDQyMS45MjI0IDY2NC45NTA0LDQyMi4xMTY0IDY2NC41MDg0LDQyMi4xMTY0IiBpZD0iRmlsbC04NyIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02NjkuNTA4NCw0MzguMjU5IEM2NjguODIzNCw0MzguMjU5IDY2OC4yMDU0LDQzNy43ODcgNjY4LjA0NjQsNDM3LjA5MiBDNjY3Ljg2MjQsNDM2LjI4NCA2NjguMzY4NCw0MzUuNDgxIDY2OS4xNzY0LDQzNS4yOTYgTDcwOS4xNzY0LDQyNi4xODkgQzcwOS45ODM0LDQyNi4wMDUgNzEwLjc4NjQsNDI2LjUxMiA3MTAuOTcyNCw0MjcuMzE5IEM3MTEuMTU1NCw0MjguMTI2IDcxMC42NTA0LDQyOC45MyA3MDkuODQyNCw0MjkuMTE0IEw2NjkuODQyNCw0MzguMjIyIEM2NjkuNzMwNCw0MzguMjQ3IDY2OS42MTg0LDQzOC4yNTkgNjY5LjUwODQsNDM4LjI1OSIgaWQ9IkZpbGwtODgiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAzLjAwOTQsMzI5LjM1MTggTDIzOC4wMDk0LDMyOS4zNTE4IEMyNDEuNjAwNCwzMjkuMzUxOCAyNDQuNTA5NCwzMzIuMjYxOCAyNDQuNTA5NCwzMzUuODUxOCBDMjQ0LjUwOTQsMzM5LjQ0MTggMjQxLjYwMDQsMzQyLjM1MTggMjM4LjAwOTQsMzQyLjM1MTggTDIwMy4wMDk0LDM0Mi4zNTE4IEMxOTkuNDE5NCwzNDIuMzUxOCAxOTYuNTA5NCwzMzkuNDQxOCAxOTYuNTA5NCwzMzUuODUxOCBDMTk2LjUwOTQsMzMyLjI2MTggMTk5LjQxOTQsMzI5LjM1MTggMjAzLjAwOTQsMzI5LjM1MTgiIGlkPSJGaWxsLTg5IiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTYyMC4wMDkzLDQ4OC42NTA2IEM2MjEuOTQzMyw0ODguNjUwNiA2MjMuNTA5Myw0ODcuMDg0NiA2MjMuNTA5Myw0ODUuMTUwNiBDNjIzLjUwOTMsNDgzLjIxNzYgNjIxLjk0MzMsNDgxLjY1MDYgNjIwLjAwOTMsNDgxLjY1MDYgQzYxOC4wNzYzLDQ4MS42NTA2IDYxNi41MDkzLDQ4My4yMTc2IDYxNi41MDkzLDQ4NS4xNTA2IEM2MTYuNTA5Myw0ODcuMDg0NiA2MTguMDc2Myw0ODguNjUwNiA2MjAuMDA5Myw0ODguNjUwNiIgaWQ9IkZpbGwtOTAiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzc1LjAwOTMsNTEwLjY1MDYgQzc3OC42MDAzLDUxMC42NTA2IDc4MS41MDkzLDUwNy43NDA2IDc4MS41MDkzLDUwNC4xNTA2IEM3ODEuNTA5Myw1MDAuNTYwNiA3NzguNjAwMyw0OTcuNjUwNiA3NzUuMDA5Myw0OTcuNjUwNiBDNzcxLjQxOTMsNDk3LjY1MDYgNzY4LjUwOTMsNTAwLjU2MDYgNzY4LjUwOTMsNTA0LjE1MDYgQzc2OC41MDkzLDUwNy43NDA2IDc3MS40MTkzLDUxMC42NTA2IDc3NS4wMDkzLDUxMC42NTA2IiBpZD0iRmlsbC05MSIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01MDQuMDA5NCw1OTkuNjUwNiBDNTA3LjYwMDQsNTk5LjY1MDYgNTEwLjUwOTQsNTk2Ljc0MDYgNTEwLjUwOTQsNTkzLjE1MDYgQzUxMC41MDk0LDU4OS41NjA2IDUwNy42MDA0LDU4Ni42NTA2IDUwNC4wMDk0LDU4Ni42NTA2IEM1MDAuNDE5NCw1ODYuNjUwNiA0OTcuNTA5NCw1ODkuNTYwNiA0OTcuNTA5NCw1OTMuMTUwNiBDNDk3LjUwOTQsNTk2Ljc0MDYgNTAwLjQxOTQsNTk5LjY1MDYgNTA0LjAwOTQsNTk5LjY1MDYiIGlkPSJGaWxsLTkyIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2OS41MDk0LDMxMy42NTA2IEMxNzIuMjcxNCwzMTMuNjUwNiAxNzQuNTA5NCwzMTEuNDEyNiAxNzQuNTA5NCwzMDguNjUwNiBDMTc0LjUwOTQsMzA1Ljg4OTYgMTcyLjI3MTQsMzAzLjY1MDYgMTY5LjUwOTQsMzAzLjY1MDYgQzE2Ni43NDg0LDMwMy42NTA2IDE2NC41MDk0LDMwNS44ODk2IDE2NC41MDk0LDMwOC42NTA2IEMxNjQuNTA5NCwzMTEuNDEyNiAxNjYuNzQ4NCwzMTMuNjUwNiAxNjkuNTA5NCwzMTMuNjUwNiIgaWQ9IkZpbGwtOTMiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTEwLjUwOTQsMjM5LjY1MDYgQzUwNS41Mzk0LDIzOS42NTA2IDUwMS41MDk0LDI0My42ODA2IDUwMS41MDk0LDI0OC42NTA2IEM1MDEuNTA5NCwyNTMuNjIxNiA1MDUuNTM5NCwyNTcuNjUwNiA1MTAuNTA5NCwyNTcuNjUwNiBDNTE1LjQ4MDQsMjU3LjY1MDYgNTE5LjUwOTQsMjUzLjYyMTYgNTE5LjUwOTQsMjQ4LjY1MDYgQzUxOS41MDk0LDI0My42ODA2IDUxNS40ODA0LDIzOS42NTA2IDUxMC41MDk0LDIzOS42NTA2IE01MTAuNTA5NCwyNDIuNjUwNiBDNTEzLjgxODQsMjQyLjY1MDYgNTE2LjUwOTQsMjQ1LjM0MjYgNTE2LjUwOTQsMjQ4LjY1MDYgQzUxNi41MDk0LDI1MS45NTk2IDUxMy44MTg0LDI1NC42NTA2IDUxMC41MDk0LDI1NC42NTA2IEM1MDcuMjAxNCwyNTQuNjUwNiA1MDQuNTA5NCwyNTEuOTU5NiA1MDQuNTA5NCwyNDguNjUwNiBDNTA0LjUwOTQsMjQ1LjM0MjYgNTA3LjIwMTQsMjQyLjY1MDYgNTEwLjUwOTQsMjQyLjY1MDYiIGlkPSJGaWxsLTk0IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTUxMC41MDk0LDI0Mi42NTA2IEM1MTMuODE4NCwyNDIuNjUwNiA1MTYuNTA5NCwyNDUuMzQyNiA1MTYuNTA5NCwyNDguNjUwNiBDNTE2LjUwOTQsMjUxLjk1OTYgNTEzLjgxODQsMjU0LjY1MDYgNTEwLjUwOTQsMjU0LjY1MDYgQzUwNy4yMDE0LDI1NC42NTA2IDUwNC41MDk0LDI1MS45NTk2IDUwNC41MDk0LDI0OC42NTA2IEM1MDQuNTA5NCwyNDUuMzQyNiA1MDcuMjAxNCwyNDIuNjUwNiA1MTAuNTA5NCwyNDIuNjUwNiIgaWQ9IkZpbGwtOTUiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNzM0LjUwOTMsMzc0Ljg1MTggQzcyOS41MzkzLDM3NC44NTE4IDcyNS41MDkzLDM3OC44ODA4IDcyNS41MDkzLDM4My44NTE4IEM3MjUuNTA5MywzODguODIyOCA3MjkuNTM5MywzOTIuODUxOCA3MzQuNTA5MywzOTIuODUxOCBDNzM5LjQ4MDMsMzkyLjg1MTggNzQzLjUwOTMsMzg4LjgyMjggNzQzLjUwOTMsMzgzLjg1MTggQzc0My41MDkzLDM3OC44ODA4IDczOS40ODAzLDM3NC44NTE4IDczNC41MDkzLDM3NC44NTE4IE03MzQuNTA5MywzNzcuODUxOCBDNzM3LjgxODMsMzc3Ljg1MTggNzQwLjUwOTMsMzgwLjU0MjggNzQwLjUwOTMsMzgzLjg1MTggQzc0MC41MDkzLDM4Ny4xNTk4IDczNy44MTgzLDM4OS44NTE4IDczNC41MDkzLDM4OS44NTE4IEM3MzEuMjAxMywzODkuODUxOCA3MjguNTA5MywzODcuMTU5OCA3MjguNTA5MywzODMuODUxOCBDNzI4LjUwOTMsMzgwLjU0MjggNzMxLjIwMTMsMzc3Ljg1MTggNzM0LjUwOTMsMzc3Ljg1MTgiIGlkPSJGaWxsLTk2IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTczNC41MDkzLDM3Ny44NTE4IEM3MzcuODE4MywzNzcuODUxOCA3NDAuNTA5MywzODAuNTQyOCA3NDAuNTA5MywzODMuODUxOCBDNzQwLjUwOTMsMzg3LjE1OTggNzM3LjgxODMsMzg5Ljg1MTggNzM0LjUwOTMsMzg5Ljg1MTggQzczMS4yMDEzLDM4OS44NTE4IDcyOC41MDkzLDM4Ny4xNTk4IDcyOC41MDkzLDM4My44NTE4IEM3MjguNTA5MywzODAuNTQyOCA3MzEuMjAxMywzNzcuODUxOCA3MzQuNTA5MywzNzcuODUxOCIgaWQ9IkZpbGwtOTciIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjg5LjUwOTQsNTQ4Ljg1MTggQzI4NC41Mzk0LDU0OC44NTE4IDI4MC41MDk0LDU1Mi44ODA4IDI4MC41MDk0LDU1Ny44NTE4IEMyODAuNTA5NCw1NjIuODIyOCAyODQuNTM5NCw1NjYuODUxOCAyODkuNTA5NCw1NjYuODUxOCBDMjk0LjQ4MDQsNTY2Ljg1MTggMjk4LjUwOTQsNTYyLjgyMjggMjk4LjUwOTQsNTU3Ljg1MTggQzI5OC41MDk0LDU1Mi44ODA4IDI5NC40ODA0LDU0OC44NTE4IDI4OS41MDk0LDU0OC44NTE4IE0yODkuNTA5NCw1NTEuODUxOCBDMjkyLjgxODQsNTUxLjg1MTggMjk1LjUwOTQsNTU0LjU0MjggMjk1LjUwOTQsNTU3Ljg1MTggQzI5NS41MDk0LDU2MS4xNTk4IDI5Mi44MTg0LDU2My44NTE4IDI4OS41MDk0LDU2My44NTE4IEMyODYuMjAxNCw1NjMuODUxOCAyODMuNTA5NCw1NjEuMTU5OCAyODMuNTA5NCw1NTcuODUxOCBDMjgzLjUwOTQsNTU0LjU0MjggMjg2LjIwMTQsNTUxLjg1MTggMjg5LjUwOTQsNTUxLjg1MTgiIGlkPSJGaWxsLTk4IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTI4OS41MDk0LDU1MS44NTE4IEMyOTIuODE4NCw1NTEuODUxOCAyOTUuNTA5NCw1NTQuNTQyOCAyOTUuNTA5NCw1NTcuODUxOCBDMjk1LjUwOTQsNTYxLjE1OTggMjkyLjgxODQsNTYzLjg1MTggMjg5LjUwOTQsNTYzLjg1MTggQzI4Ni4yMDE0LDU2My44NTE4IDI4My41MDk0LDU2MS4xNTk4IDI4My41MDk0LDU1Ny44NTE4IEMyODMuNTA5NCw1NTQuNTQyOCAyODYuMjAxNCw1NTEuODUxOCAyODkuNTA5NCw1NTEuODUxOCIgaWQ9IkZpbGwtOTkiIGZpbGw9IiNBMEM4RkYiIGZpbGwtcnVsZT0ibm9uemVybyIgb3BhY2l0eT0iMC4xNTEwMTg0MTUiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAwLjI5MzUsNDAyLjQ2NyBDOTUuMzIzNSw0MDIuNDY3IDkxLjI5MzUsNDA2LjQ5NyA5MS4yOTM1LDQxMS40NjcgQzkxLjI5MzUsNDE2LjQzOCA5NS4zMjM1LDQyMC40NjcgMTAwLjI5MzUsNDIwLjQ2NyBDMTA1LjI2NDUsNDIwLjQ2NyAxMDkuMjkzNSw0MTYuNDM4IDEwOS4yOTM1LDQxMS40NjcgQzEwOS4yOTM1LDQwNi40OTcgMTA1LjI2NDUsNDAyLjQ2NyAxMDAuMjkzNSw0MDIuNDY3IE0xMDAuMjkzNSw0MDUuNDY3IEMxMDMuNjAyNSw0MDUuNDY3IDEwNi4yOTM1LDQwOC4xNTkgMTA2LjI5MzUsNDExLjQ2NyBDMTA2LjI5MzUsNDE0Ljc3NiAxMDMuNjAyNSw0MTcuNDY3IDEwMC4yOTM1LDQxNy40NjcgQzk2Ljk4NTUsNDE3LjQ2NyA5NC4yOTM1LDQxNC43NzYgOTQuMjkzNSw0MTEuNDY3IEM5NC4yOTM1LDQwOC4xNTkgOTYuOTg1NSw0MDUuNDY3IDEwMC4yOTM1LDQwNS40NjciIGlkPSJGaWxsLTEwMCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMDAuMjkzNSw0MDUuNDY3IEMxMDMuNjAyNSw0MDUuNDY3IDEwNi4yOTM1LDQwOC4xNTkgMTA2LjI5MzUsNDExLjQ2NyBDMTA2LjI5MzUsNDE0Ljc3NiAxMDMuNjAyNSw0MTcuNDY3IDEwMC4yOTM1LDQxNy40NjcgQzk2Ljk4NTUsNDE3LjQ2NyA5NC4yOTM1LDQxNC43NzYgOTQuMjkzNSw0MTEuNDY3IEM5NC4yOTM1LDQwOC4xNTkgOTYuOTg1NSw0MDUuNDY3IDEwMC4yOTM1LDQwNS40NjciIGlkPSJGaWxsLTEwMSIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yOTkuNTA5NCwxNDIuNjUwNiBDMjkxLjIyNTQsMTQyLjY1MDYgMjg0LjUwOTQsMTQ5LjM2NjYgMjg0LjUwOTQsMTU3LjY1MDYgQzI4NC41MDk0LDE2NS45MzU2IDI5MS4yMjU0LDE3Mi42NTA2IDI5OS41MDk0LDE3Mi42NTA2IEMzMDcuNzk0NCwxNzIuNjUwNiAzMTQuNTA5NCwxNjUuOTM1NiAzMTQuNTA5NCwxNTcuNjUwNiBDMzE0LjUwOTQsMTQ5LjM2NjYgMzA3Ljc5NDQsMTQyLjY1MDYgMjk5LjUwOTQsMTQyLjY1MDYgTTI5OS41MDk0LDE0NS42NTA2IEMzMDYuMTI2NCwxNDUuNjUwNiAzMTEuNTA5NCwxNTEuMDM0NiAzMTEuNTA5NCwxNTcuNjUwNiBDMzExLjUwOTQsMTY0LjI2NzYgMzA2LjEyNjQsMTY5LjY1MDYgMjk5LjUwOTQsMTY5LjY1MDYgQzI5Mi44OTM0LDE2OS42NTA2IDI4Ny41MDk0LDE2NC4yNjc2IDI4Ny41MDk0LDE1Ny42NTA2IEMyODcuNTA5NCwxNTEuMDM0NiAyOTIuODkzNCwxNDUuNjUwNiAyOTkuNTA5NCwxNDUuNjUwNiIgaWQ9IkZpbGwtMTAyIiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTI5OS41MDk0LDE0NS42NTA2IEMzMDYuMTI2NCwxNDUuNjUwNiAzMTEuNTA5NCwxNTEuMDM0NiAzMTEuNTA5NCwxNTcuNjUwNiBDMzExLjUwOTQsMTY0LjI2NzYgMzA2LjEyNjQsMTY5LjY1MDYgMjk5LjUwOTQsMTY5LjY1MDYgQzI5Mi44OTM0LDE2OS42NTA2IDI4Ny41MDk0LDE2NC4yNjc2IDI4Ny41MDk0LDE1Ny42NTA2IEMyODcuNTA5NCwxNTEuMDM0NiAyOTIuODkzNCwxNDUuNjUwNiAyOTkuNTA5NCwxNDUuNjUwNiIgaWQ9IkZpbGwtMTAzIiBmaWxsPSIjQTBDOEZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMTUxMDE4NDE1Ij48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMxNS41MDk0LDQ0Mi42NTA2IEMzMTguMjcxNCw0NDIuNjUwNiAzMjAuNTA5NCw0NDAuNDEyNiAzMjAuNTA5NCw0MzcuNjUwNiBDMzIwLjUwOTQsNDM0Ljg4OTYgMzE4LjI3MTQsNDMyLjY1MDYgMzE1LjUwOTQsNDMyLjY1MDYgQzMxMi43NDg0LDQzMi42NTA2IDMxMC41MDk0LDQzNC44ODk2IDMxMC41MDk0LDQzNy42NTA2IEMzMTAuNTA5NCw0NDAuNDEyNiAzMTIuNzQ4NCw0NDIuNjUwNiAzMTUuNTA5NCw0NDIuNjUwNiIgaWQ9IkZpbGwtMTA0IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMxNS41MDk0LDQ0Mi42NTA2IEMzMTguMjcxNCw0NDIuNjUwNiAzMjAuNTA5NCw0NDAuNDEyNiAzMjAuNTA5NCw0MzcuNjUwNiBDMzIwLjUwOTQsNDM0Ljg4OTYgMzE4LjI3MTQsNDMyLjY1MDYgMzE1LjUwOTQsNDMyLjY1MDYgQzMxMi43NDg0LDQzMi42NTA2IDMxMC41MDk0LDQzNC44ODk2IDMxMC41MDk0LDQzNy42NTA2IEMzMTAuNTA5NCw0NDAuNDEyNiAzMTIuNzQ4NCw0NDIuNjUwNiAzMTUuNTA5NCw0NDIuNjUwNiIgaWQ9IkZpbGwtMTA1IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTM3NS41MDk0LDE0Ni42NTA2IEMzNzguMjcxNCwxNDYuNjUwNiAzODAuNTA5NCwxNDQuNDEyNiAzODAuNTA5NCwxNDEuNjUwNiBDMzgwLjUwOTQsMTM4Ljg4OTYgMzc4LjI3MTQsMTM2LjY1MDYgMzc1LjUwOTQsMTM2LjY1MDYgQzM3Mi43NDg0LDEzNi42NTA2IDM3MC41MDk0LDEzOC44ODk2IDM3MC41MDk0LDE0MS42NTA2IEMzNzAuNTA5NCwxNDQuNDEyNiAzNzIuNzQ4NCwxNDYuNjUwNiAzNzUuNTA5NCwxNDYuNjUwNiIgaWQ9IkZpbGwtMTA2IiBmaWxsPSIjQTNCMUJGIj48L3BhdGg+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE0My41NTcyLDEzNy40OTQ0IEMxNDIuMjE1MiwxMzcuNDk0NCAxNDAuODcyMiwxMzcuMTQ3NCAxMzkuNjcyMiwxMzYuNDUyNCBMMTExLjM5NDIsMTIwLjEyNjQgQzEwOS4wMDEyLDExOC43NTI0IDEwNy41MDkyLDExNi4xNzE0IDEwNy41MDkyLDExMy4zOTk0IEwxMDcuNTA5Miw4MC43Mzk0IEMxMDcuNTA5Miw3Ny45NzY0IDEwOS4wMDEyLDc1LjM5NDQgMTExLjM5NDIsNzQuMDEzNCBMMTM5LjY3MjIsNTcuNjg2NCBDMTQyLjA2NTIsNTYuMzEzNCAxNDUuMDQxMiw1Ni4yOTg0IDE0Ny40MzMyLDU3LjY4NjQgTDE3MC4xNDYyLDcwLjczNzQgQzE3MS40MDIyLDcxLjQ1NTQgMTcxLjgyODIsNzIuMDU3NCAxNzEuMTEwMiw3My4zMTM0IEMxNzAuMzkxMiw3NC41Njg0IDE2OC43OTYyLDczLjk5NTQgMTY3LjUzMzIsNzMuMjg0NCBMMTQ0LjgyMDIsNjAuMjI2NCBDMTQ0LjAzODIsNTkuNzc2NCAxNDMuMDc2Miw1OS43NzY0IDE0Mi4yODYyLDYwLjIyNjQgTDExMi4wMTUyLDc3LjU1MzQgQzExMS4yMzQyLDc4LjAwMzQgMTEwLjc1MTIsNzguODQwNCAxMTAuNzUxMiw3OS43Mzk0IEwxMTAuNzUxMiwxMTQuMzk5NCBDMTEwLjc1MTIsMTE1LjMwMDQgMTExLjIzNDIsMTE2LjEzNzQgMTEyLjAxNTIsMTE2LjU4NzQgTDE0Mi4yOTMyLDEzMy45MjE0IEMxNDMuMDY4MiwxMzQuMzcxNCAxNDQuMDM4MiwxMzQuMzcxNCAxNDQuODIwMiwxMzMuOTIxNCBMMTc1LjEwNzIsMTE2LjU5NTQgQzE3NS44ODgyLDExNi4xNDQ0IDE3Ni4zNzAyLDExNS4zMDc0IDE3Ni4zNzAyLDExNC40MDg0IEwxNzYuMzcwMiw4OS42Njg0IEMxNzYuMzcwMiw4OC4yMjM0IDE3Ni41NDYyLDg3LjA0NzQgMTc3Ljk5MTIsODcuMDQ3NCBDMTc5LjQzNjIsODcuMDQ3NCAxNzkuNjEyMiw4OC4yMjM0IDE3OS42MTIyLDg5LjY2ODQgTDE3OS42MTIyLDExMy4zOTk0IEMxNzkuNjEyMiwxMTYuMTcxNCAxNzguMTIwMiwxMTguNzQ0NCAxNzUuNzI4MiwxMjAuMTI2NCBMMTQ3LjQ0OTIsMTM2LjQ1MjQgQzE0Ni4yNDEyLDEzNy4xNDc0IDE0NC44OTkyLDEzNy40OTQ0IDE0My41NTcyLDEzNy40OTQ0IiBpZD0iRmlsbC0xMDciIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQzLjk5OTYsMTEyLjYyMjMgQzEzNS40NjU2LDExMi42MjIzIDEyOC41MDk2LDEwNS42NzUzIDEyOC41MDk2LDk3LjEzMjMgQzEyOC41MDk2LDg4LjU5MDMgMTM1LjQ1NzYsODEuNjUwMyAxNDMuOTk5Niw4MS42NTAzIEMxNTIuNTQxNiw4MS42NTAzIDE1OS40ODA2LDg4LjU5ODMgMTU5LjQ4MDYsOTcuMTMyMyBDMTU5LjQ4MDYsMTA1LjY2NjMgMTUyLjUzMzYsMTEyLjYyMjMgMTQzLjk5OTYsMTEyLjYyMjMiIGlkPSJGaWxsLTEwOCIgZmlsbD0iI0EwQzhGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBvcGFjaXR5PSIwLjE1MTAxODQxNSI+PC9wYXRoPg0KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDMuOTk5Niw3OC42NTA2IEMxMzMuODA0Niw3OC42NTA2IDEyNS41MDk2LDg2Ljk0MTYgMTI1LjUwOTYsOTcuMTMxNiBDMTI1LjUwOTYsMTA3LjMyNzYgMTMzLjgwNDYsMTE1LjYyMjYgMTQzLjk5OTYsMTE1LjYyMjYgQzE1NC4xODk2LDExNS42MjI2IDE2Mi40ODA2LDEwNy4zMjc2IDE2Mi40ODA2LDk3LjEzMTYgQzE2Mi40ODA2LDg2Ljk0MTYgMTU0LjE4OTYsNzguNjUwNiAxNDMuOTk5Niw3OC42NTA2IE0xNDMuOTk5Niw4MS42NTA2IEMxNTIuNTQxNiw4MS42NTA2IDE1OS40ODA2LDg4LjU5ODYgMTU5LjQ4MDYsOTcuMTMxNiBDMTU5LjQ4MDYsMTA1LjY2NjYgMTUyLjUzMzYsMTEyLjYyMjYgMTQzLjk5OTYsMTEyLjYyMjYgQzEzNS40NjU2LDExMi42MjI2IDEyOC41MDk2LDEwNS42NzQ2IDEyOC41MDk2LDk3LjEzMTYgQzEyOC41MDk2LDg4LjU4OTYgMTM1LjQ1NjYsODEuNjUwNiAxNDMuOTk5Niw4MS42NTA2IiBpZD0iRmlsbC0xMDkiIGZpbGw9IiNBM0IxQkYiPjwvcGF0aD4NCiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNjQ0LjUwNzQsNTg2LjY1MDU5NiBDNjQzLjgzNzQsNTg2LjY1MDU5NiA2NDMuMTY3NCw1ODYuNDc0NiA2NDIuNTY5NCw1ODYuMTIyNiBMNjI4LjQ0ODQsNTc3Ljg0MjYgQzYyNy4yNTQ0LDU3Ny4xNDU2IDYyNi41MDk0LDU3NS44Mzc2IDYyNi41MDk0LDU3NC40MzA2IEw2MjYuNTA5NCw1NTcuODY3NiBDNjI2LjUwOTQsNTU2LjQ2NTYgNjI3LjI1NDQsNTU1LjE1NzYgNjI4LjQ0ODQsNTU0LjQ1NjYgTDY0Mi41Njk0LDU0Ni4xNzU2IEM2NDMuNzYzNCw1NDUuNDc5NiA2NDUuMjQ4NCw1NDUuNDcxNiA2NDYuNDQzNCw1NDYuMTc1NiBMNjU3Ljc4MzQsNTUyLjc5NTYgQzY1OC40MTA0LDU1My4xNTk2IDY1OC42MjM0LDU1My40NjQ2IDY1OC4yNjQ0LDU1NC4xMDE2IEM2NTcuOTA1NCw1NTQuNzM3NiA2NTcuMTEwNCw1NTQuNDQ2NiA2NTYuNDc5NCw1NTQuMDg3NiBMNjQ1LjEzODQsNTQ3LjQ2MzYgQzY0NC43NDg0LDU0Ny4yMzY2IDY0NC4yNjc0LDU0Ny4yMzY2IDY0My44NzM0LDU0Ny40NjM2IEw2MjguNzU5NCw1NTYuMjUxNiBDNjI4LjM2ODQsNTU2LjQ3OTYgNjI4LjEyODQsNTU2LjkwMzYgNjI4LjEyODQsNTU3LjM2MDYgTDYyOC4xMjg0LDU3NC45Mzg2IEM2MjguMTI4NCw1NzUuMzk0NiA2MjguMzY4NCw1NzUuODE5NiA2MjguNzU5NCw1NzYuMDQ2NiBMNjQzLjg3NzQsNTg0LjgzODYgQzY0NC4yNjM0LDU4NS4wNjY2IDY0NC43NDg0LDU4NS4wNjY2IDY0NS4xMzg0LDU4NC44Mzg2IEw2NjAuMjYwNCw1NzYuMDUxNiBDNjYwLjY1MTQsNTc1LjgyMzYgNjYwLjg5MTQsNTc1LjM5ODYgNjYwLjg5MTQsNTc0Ljk0MjYgTDY2MC44OTE0LDU2Mi4zOTU2IEM2NjAuODkxNCw1NjEuNjYzNiA2NjAuOTc5NCw1NjEuMDY2NiA2NjEuNzAwNCw1NjEuMDY2NiBDNjYyLjQyMTQsNTYxLjA2NjYgNjYyLjUwOTQsNTYxLjY2MzYgNjYyLjUwOTQsNTYyLjM5NTYgTDY2Mi41MDk0LDU3NC40MzA2IEM2NjIuNTA5NCw1NzUuODM3NiA2NjEuNzY1NCw1NzcuMTQxNiA2NjAuNTcwNCw1NzcuODQyNiBMNjQ2LjQ1MDQsNTg2LjEyMjYgQzY0NS44NDg0LDU4Ni40NzQ2IDY0NS4xNzg0LDU4Ni42NTA1OTYgNjQ0LjUwNzQsNTg2LjY1MDU5NiBNNjQ0LjUxMjQsNTczLjY1MDYgQzY0MC4xMDM0LDU3My42NTA2IDYzNi41MDk0LDU3MC4wNjE2IDYzNi41MDk0LDU2NS42NDg2IEM2MzYuNTA5NCw1NjEuMjM1NiA2NDAuMDk5NCw1NTcuNjUwNiA2NDQuNTEyNCw1NTcuNjUwNiBDNjQ4LjkyNDQsNTU3LjY1MDYgNjUyLjUwOTQsNTYxLjI0MDYgNjUyLjUwOTQsNTY1LjY0ODYgQzY1Mi41MDk0LDU3MC4wNTc2IDY0OC45MjA0LDU3My42NTA2IDY0NC41MTI0LDU3My42NTA2IE02NDQuNTA5NCw1NTkuNjUwNiBDNjQxLjE5OTQsNTU5LjY1MDYgNjM4LjUwOTQsNTYyLjM0MDYgNjM4LjUwOTQsNTY1LjY1MDYgQzYzOC41MDk0LDU2OC45NjA2IDY0MS4xOTk0LDU3MS42NTA2IDY0NC41MDk0LDU3MS42NTA2IEM2NDcuODIwNCw1NzEuNjUwNiA2NTAuNTA5NCw1NjguOTYwNiA2NTAuNTA5NCw1NjUuNjUwNiBDNjUwLjUwOTQsNTYyLjM0MDYgNjQ3LjgyMDQsNTU5LjY1MDYgNjQ0LjUwOTQsNTU5LjY1MDYiIGlkPSJGaWxsLTExMCIgZmlsbD0iI0EzQjFCRiI+PC9wYXRoPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+)}.layui-exception .layui-exception-details{width:50%;vertical-align:top;display:inline-block}.layui-exception .layui-exception-details .layui-exception-details-content{margin-left:100px}.layui-exception .layui-exception-details .layui-exception-details-content .layui-exception-details-title{font-size:60px;color:#434e59;margin-bottom:24px;font-weight:600}.layui-exception .layui-exception-details .layui-exception-details-content .layui-exception-details-describe{font-size:18px;color:#00000073;margin-bottom:26px}\n")();
|
|
const _hoisted_1$e = { class: "layui-exception" };
|
|
const _hoisted_2$d = { class: "layui-exception-image" };
|
|
const _hoisted_3$c = {
|
|
key: 0,
|
|
class: "error-401"
|
|
};
|
|
const _hoisted_4$9 = {
|
|
key: 1,
|
|
class: "error-403"
|
|
};
|
|
const _hoisted_5$7 = {
|
|
key: 2,
|
|
class: "error-404"
|
|
};
|
|
const _hoisted_6$7 = {
|
|
key: 3,
|
|
class: "error-500"
|
|
};
|
|
const _hoisted_7$7 = { class: "layui-exception-details" };
|
|
const _hoisted_8$4 = { class: "layui-exception-details-content" };
|
|
const _hoisted_9$3 = { class: "layui-exception-details-title" };
|
|
const _hoisted_10$3 = { class: "layui-exception-details-describe" };
|
|
const _hoisted_11$3 = { class: "layui-exception-details-extra" };
|
|
const __default__$i = {
|
|
name: "LayException"
|
|
};
|
|
const _sfc_main$j = defineComponent({
|
|
...__default__$i,
|
|
props: {
|
|
title: { default: "exception" },
|
|
status: null,
|
|
describe: { default: "describe" }
|
|
},
|
|
setup(__props) {
|
|
const slots = useSlots();
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$e, [
|
|
createElementVNode("div", _hoisted_2$d, [
|
|
unref(slots).default ? renderSlot(_ctx.$slots, "image", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
__props.status == "401" ? (openBlock(), createElementBlock("div", _hoisted_3$c)) : createCommentVNode("", true),
|
|
__props.status == "403" ? (openBlock(), createElementBlock("div", _hoisted_4$9)) : createCommentVNode("", true),
|
|
__props.status == "404" ? (openBlock(), createElementBlock("div", _hoisted_5$7)) : createCommentVNode("", true),
|
|
__props.status == "500" ? (openBlock(), createElementBlock("div", _hoisted_6$7)) : createCommentVNode("", true)
|
|
], 64))
|
|
]),
|
|
createElementVNode("div", _hoisted_7$7, [
|
|
createElementVNode("div", _hoisted_8$4, [
|
|
createElementVNode("div", _hoisted_9$3, toDisplayString$1(__props.title), 1),
|
|
createElementVNode("div", _hoisted_10$3, toDisplayString$1(__props.describe), 1),
|
|
createElementVNode("div", _hoisted_11$3, [
|
|
renderSlot(_ctx.$slots, "extra")
|
|
])
|
|
])
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$e = withInstall(_sfc_main$j);
|
|
var index$9 = /* @__PURE__ */ (() => ".result{text-align:center}.result .success svg{color:#32c682;text-align:center;margin-top:40px}.result .failure svg{color:#f56c6c;text-align:center;margin-top:40px}.result .title{margin-top:25px}.result .desc{margin-top:25px;width:60%;margin-left:20%;color:#00000073}.result .content{margin-top:20px;width:80%;border-radius:10px;background-color:#fff;margin-left:10%}.result .extra{padding-top:10px;border-top:1px whitesmoke solid;margin-top:25px}\n")();
|
|
const _hoisted_1$d = { class: "result" };
|
|
const _hoisted_2$c = {
|
|
key: 0,
|
|
viewBox: "64 64 896 896",
|
|
"data-icon": "close-circle",
|
|
width: "80px",
|
|
height: "80px",
|
|
fill: "currentColor",
|
|
"aria-hidden": "true",
|
|
focusable: "false",
|
|
class: ""
|
|
};
|
|
const _hoisted_3$b = /* @__PURE__ */ createElementVNode("path", { d: "M685.4 354.8c0-4.4-3.6-8-8-8l-66 .3L512 465.6l-99.3-118.4-66.1-.3c-4.4 0-8 3.5-8 8 0 1.9.7 3.7 1.9 5.2l130.1 155L340.5 670a8.32 8.32 0 0 0-1.9 5.2c0 4.4 3.6 8 8 8l66.1-.3L512 564.4l99.3 118.4 66 .3c4.4 0 8-3.5 8-8 0-1.9-.7-3.7-1.9-5.2L553.5 515l130.1-155c1.2-1.4 1.8-3.3 1.8-5.2z" }, null, -1);
|
|
const _hoisted_4$8 = /* @__PURE__ */ createElementVNode("path", { d: "M512 65C264.6 65 64 265.6 64 513s200.6 448 448 448 448-200.6 448-448S759.4 65 512 65zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" }, null, -1);
|
|
const _hoisted_5$6 = [
|
|
_hoisted_3$b,
|
|
_hoisted_4$8
|
|
];
|
|
const _hoisted_6$6 = {
|
|
key: 1,
|
|
viewBox: "64 64 896 896",
|
|
"data-icon": "check-circle",
|
|
width: "80px",
|
|
height: "80px",
|
|
fill: "currentColor",
|
|
"aria-hidden": "true",
|
|
focusable: "false",
|
|
class: ""
|
|
};
|
|
const _hoisted_7$6 = /* @__PURE__ */ createElementVNode("path", { d: "M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0 0 51.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z" }, null, -1);
|
|
const _hoisted_8$3 = /* @__PURE__ */ createElementVNode("path", { d: "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z" }, null, -1);
|
|
const _hoisted_9$2 = [
|
|
_hoisted_7$6,
|
|
_hoisted_8$3
|
|
];
|
|
const _hoisted_10$2 = { class: "title" };
|
|
const _hoisted_11$2 = { class: "desc" };
|
|
const _hoisted_12$2 = { class: "content" };
|
|
const _hoisted_13$2 = { class: "extra" };
|
|
const __default__$h = {
|
|
name: "LayResult"
|
|
};
|
|
const _sfc_main$i = defineComponent({
|
|
...__default__$h,
|
|
props: {
|
|
title: { default: "\u63D0\u4EA4\u4FE1\u606F" },
|
|
status: { default: "success" },
|
|
describe: { default: "\u8BF7\u6838\u5BF9\u5E76\u4FEE\u6539\u4EE5\u4E0B\u4FE1\u606F\u540E\uFF0C\u518D\u91CD\u65B0\u63D0\u4EA4\u3002" }
|
|
},
|
|
setup(__props) {
|
|
useSlots();
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$d, [
|
|
createElementVNode("div", {
|
|
class: normalizeClass([__props.status])
|
|
}, [
|
|
__props.status === "failure" ? (openBlock(), createElementBlock("svg", _hoisted_2$c, _hoisted_5$6)) : (openBlock(), createElementBlock("svg", _hoisted_6$6, _hoisted_9$2))
|
|
], 2),
|
|
createElementVNode("h2", _hoisted_10$2, toDisplayString$1(__props.title), 1),
|
|
createElementVNode("p", _hoisted_11$2, toDisplayString$1(__props.describe), 1),
|
|
createElementVNode("div", _hoisted_12$2, [
|
|
renderSlot(_ctx.$slots, "content")
|
|
]),
|
|
createElementVNode("div", _hoisted_13$2, [
|
|
renderSlot(_ctx.$slots, "extra")
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$d = withInstall(_sfc_main$i);
|
|
var index$8 = /* @__PURE__ */ (() => ".layui-fullscreen{top:0;left:0;width:100%;height:100%;position:fixed;overflow:auto;z-index:10}\n")();
|
|
const __default__$g = {
|
|
name: "LayFullscreen"
|
|
};
|
|
const _sfc_main$h = defineComponent({
|
|
...__default__$g,
|
|
props: {
|
|
target: null,
|
|
immersive: { type: Boolean, default: true },
|
|
position: null,
|
|
zIndex: null
|
|
},
|
|
emits: ["fullscreenchange"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const methodMap = [
|
|
[
|
|
"requestFullscreen",
|
|
"exitFullscreen",
|
|
"fullscreenElement",
|
|
"fullscreenEnabled",
|
|
"fullscreenchange",
|
|
"fullscreenerror"
|
|
],
|
|
[
|
|
"webkitRequestFullscreen",
|
|
"webkitExitFullscreen",
|
|
"webkitFullscreenElement",
|
|
"webkitFullscreenEnabled",
|
|
"webkitfullscreenchange",
|
|
"webkitfullscreenerror"
|
|
],
|
|
[
|
|
"webkitRequestFullScreen",
|
|
"webkitCancelFullScreen",
|
|
"webkitCurrentFullScreenElement",
|
|
"webkitCancelFullScreen",
|
|
"webkitfullscreenchange",
|
|
"webkitfullscreenerror"
|
|
],
|
|
[
|
|
"mozRequestFullScreen",
|
|
"mozCancelFullScreen",
|
|
"mozFullScreenElement",
|
|
"mozFullScreenEnabled",
|
|
"mozfullscreenchange",
|
|
"mozfullscreenerror"
|
|
],
|
|
[
|
|
"msRequestFullscreen",
|
|
"msExitFullscreen",
|
|
"msFullscreenElement",
|
|
"msFullscreenEnabled",
|
|
"MSFullscreenChange",
|
|
"MSFullscreenError"
|
|
]
|
|
];
|
|
const defaultElement = document.documentElement;
|
|
let targetEl = ref(props.target || defaultElement);
|
|
const isFullscreen = ref(false);
|
|
let isSupported = false;
|
|
const unprefixedMethods = methodMap[0];
|
|
const fullscreenAPI = {};
|
|
for (const methodList of methodMap) {
|
|
if (methodList[1] in document) {
|
|
for (const [index2, method4] of methodList.entries()) {
|
|
fullscreenAPI[unprefixedMethods[index2]] = method4;
|
|
}
|
|
isSupported = true;
|
|
break;
|
|
}
|
|
}
|
|
async function enter(targetEl2) {
|
|
if (!isSupported)
|
|
return;
|
|
if (!targetEl2)
|
|
targetEl2 = activeEl.value || defaultElement;
|
|
let fullscreenEnter = null;
|
|
if (props.immersive) {
|
|
fullscreenEnter = Promise.resolve(targetEl2[fullscreenAPI.requestFullscreen]());
|
|
} else {
|
|
styleLayFullscreen(targetEl2, false);
|
|
fullscreenEnter = Promise.resolve(targetEl2 == null ? void 0 : targetEl2.classList.add("layui-fullscreen"));
|
|
}
|
|
return await (fullscreenEnter == null ? void 0 : fullscreenEnter.then(() => {
|
|
isFullscreen.value = true;
|
|
emit("fullscreenchange", isFullscreen.value);
|
|
return !!document.fullscreenElement;
|
|
}));
|
|
}
|
|
async function exit(targetEl2) {
|
|
if (!isSupported)
|
|
return;
|
|
if (!targetEl2)
|
|
targetEl2 = activeEl.value || document;
|
|
let fullscreenExit = null;
|
|
if (props.immersive) {
|
|
fullscreenExit = Promise.resolve(document[fullscreenAPI.exitFullscreen]());
|
|
} else {
|
|
if (targetEl2 instanceof Document)
|
|
return;
|
|
styleLayFullscreen(targetEl2, true);
|
|
fullscreenExit = Promise.resolve(targetEl2 == null ? void 0 : targetEl2.classList.remove("layui-fullscreen"));
|
|
}
|
|
return await (fullscreenExit == null ? void 0 : fullscreenExit.then(() => {
|
|
isFullscreen.value = false;
|
|
emit("fullscreenchange", isFullscreen.value);
|
|
return !!document.fullscreenElement;
|
|
}));
|
|
}
|
|
async function toggle() {
|
|
if (isFullscreen.value) {
|
|
await exit(activeEl.value);
|
|
} else {
|
|
await enter(activeEl.value);
|
|
}
|
|
}
|
|
const styleLayFullscreen = function(el, isRemove = false) {
|
|
el.style.position = isRemove ? "" : props.position || "";
|
|
el.style.zIndex = isRemove ? "" : props.zIndex || "";
|
|
};
|
|
const activeEl = computed$1(() => targetEl.value = props.target);
|
|
const onFullscreenchange = function(event) {
|
|
if (isFullscreen.value && !document.fullscreenElement) {
|
|
if (props.immersive) {
|
|
isFullscreen.value = false;
|
|
emit("fullscreenchange", isFullscreen.value);
|
|
} else if (event.key === "Escape") {
|
|
exit(activeEl.value);
|
|
}
|
|
}
|
|
};
|
|
const onKeydownF11 = function(event) {
|
|
let isRootNodeFullscreen = props.immersive && (!activeEl.value || activeEl.value === defaultElement);
|
|
if (event.key === "F11" && isRootNodeFullscreen) {
|
|
event.preventDefault();
|
|
toggle();
|
|
}
|
|
};
|
|
onMounted(() => {
|
|
document.addEventListener(fullscreenAPI.fullscreenchange, onFullscreenchange);
|
|
document.addEventListener("keydown", onFullscreenchange);
|
|
document.addEventListener("keydown", onKeydownF11);
|
|
});
|
|
onBeforeUnmount(() => {
|
|
document.removeEventListener(fullscreenAPI.fullscreenchange, onFullscreenchange);
|
|
document.removeEventListener("keydown", onFullscreenchange);
|
|
document.removeEventListener("keydown", onKeydownF11);
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return renderSlot(_ctx.$slots, "default", {
|
|
isFullscreen: isFullscreen.value,
|
|
enter,
|
|
exit,
|
|
toggle
|
|
});
|
|
};
|
|
}
|
|
});
|
|
const component$c = withInstall(_sfc_main$h);
|
|
var index$7 = /* @__PURE__ */ (() => '.layui-dropdown{position:relative;display:inline-block}.layui-dropdown-content{position:absolute;z-index:99999;background-color:#fff;box-sizing:border-box;border:1px solid #e4e7ed;border-radius:2px;box-shadow:0 2px 12px #0000001a}.layui-dropdown-content>.layui-dropdown-menu{border-radius:var(--global-border-radius);margin:5px 0}.layui-dropdown-content .layui-menu{position:relative;background-color:#fff}.layui-dropdown-content .layui-menu li,.layui-dropdown-content .layui-menu-body-title a{padding:5px 15px}.layui-dropdown-content .layui-menu li{position:relative;display:flex;margin:1px 0;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;cursor:pointer}.layui-dropdown-content .layui-menu li:hover{background-color:var(--global-neutral-color-2)}.layui-dropdown-content .layui-menu-body-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-dropdown-menu-prefix{margin-right:8px}.layui-dropdown-menu-suffix{margin-left:15px}.layui-dropdown-content .layui-menu li.layui-disabled:hover{background-color:inherit}:root{--input-border-radius: var(--global-border-radius);--input-border-color: var(--global-neutral-color-3)}.layui-input{width:100%;height:38px;line-height:38px;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);display:inline-flex}.layui-input input{height:38px;line-height:38px;background-color:#fff;color:#000000d9;padding-left:10px;display:inline-block;border:none;height:100%;width:100%}.layui-input-append{background-color:#fafafa;border-left:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-prepend{background-color:#fafafa;border-right:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-wrapper{width:100%;display:inline-flex;border:none}.layui-input:hover,.layui-input:focus-within{border-color:#d2d2d2}.layui-input-clear,.layui-input-prefix,.layui-input-suffix,.layui-input-password{background-color:#fff}.layui-input-clear,.layui-input-password,.layui-input-prefix,.layui-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-input-has-prefix input{padding:0}.layui-input-clear,.layui-input-password{color:#00000073}.layui-input-clear:hover{opacity:.6}.layui-input input::-webkit-input-placeholder{line-height:1.3}.layui-input input::-ms-reveal{display:none}.layui-input-disabled{border-color:var(--input-border-color)!important}.layui-input-disabled{opacity:.6}.layui-input-disabled,.layui-input-disabled *{cursor:not-allowed!important}.layui-input[size=lg]{height:44px}.layui-input[size=lg] .layui-input{height:44px;line-height:44px}.layui-input[size=md]{height:38px}.layui-input[size=md] .layui-input{height:38px;line-height:38px}.layui-input[size=sm]{height:32px}.layui-input[size=sm] .layui-input{height:32px;line-height:32px}.layui-input[size=xs]{height:26px}.layui-input[size=xs] .layui-input{height:26px;line-height:26px}.layui-date-picker[size=lg]{width:260px;height:44px}.layui-date-picker[size=lg] .layui-input{height:44px;line-height:44px}.layui-date-picker[size=md]{width:220px;height:38px}.layui-date-picker[size=md] .layui-input{height:38px;line-height:38px}.layui-date-picker[size=sm]{width:180px;height:32px}.layui-date-picker[size=sm] .layui-input{height:32px;line-height:32px}.layui-date-picker[size=xs]{width:140px;height:26px}.layui-date-picker[size=xs] .layui-input{height:26px;line-height:26px}.layui-date-range-picker[size=lg]{width:520px;height:44px}.layui-date-range-picker[size=lg] .layui-input{height:44px;line-height:44px}.layui-date-range-picker[size=md]{width:440px;height:38px}.layui-date-range-picker[size=md] .layui-input{height:38px;line-height:38px}.layui-date-range-picker[size=sm]{width:360px;height:32px}.layui-date-range-picker[size=sm] .layui-input{height:32px;line-height:32px}.layui-date-range-picker[size=xs]{width:280px;height:26px}.layui-date-range-picker[size=xs] .layui-input{height:26px;line-height:26px}@font-face{font-family:laydate-icon;src:url(data:undefined;base64,mAkAAOAIAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAerr4JQAAAAAAAAAAAAAAAAAAAAAAABgAbABhAHkAZABhAHQAZQAtAGkAYwBvAG4AAAAOAFIAZQBnAHUAbABhAHIAAAAWAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAABgAbABhAHkAZABhAHQAZQAtAGkAYwBvAG4AAAAAAAABAAAACwCAAAMAMEdTVUKw/rPtAAABOAAAAEJPUy8yVu5ISQAAAXwAAABWY21hcM8eA5gAAAHsAAABuGdseWYGRtWYAAADtAAAAjhoZWFkDp99lgAAAOAAAAA2aGhlYQfeA4cAAAC8AAAAJGhtdHgX6QAAAAAB1AAAABhsb2NhAjABZgAAA6QAAAAObWF4cAEVAF0AAAEYAAAAIG5hbWVX0gVQAAAF7AAAAp1wb3N0NVZdkgAACIwAAABSAAEAAAOA/4AAXAQAAAAAAAQAAAEAAAAAAAAAAAAAAAAAAAAGAAEAAAABAAAl+Lp6Xw889QALBAAAAAAA1cAczQAAAADVwBzNAAD/yAQAAzcAAAAIAAIAAAAAAAAAAQAAAAYAUQAFAAAAAAACAAAACgAKAAAA/wAAAAAAAAABAAAACgAeACwAAURGTFQACAAEAAAAAAAAAAEAAAABbGlnYQAIAAAAAQAAAAEABAAEAAAAAQAIAAEABgAAAAEAAAAAAAED/AGQAAUACAKJAswAAACPAokCzAAAAesAMgEIAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAQAB45lsDgP+AAFwDgACAAAAAAQAAAAAAAAQAAAAD6QAABAAAAAQAAAAEAAAABAAAAAAAAAUAAAADAAAALAAAAAQAAAFsAAEAAAAAAGYAAwABAAAALAADAAoAAAFsAAQAOgAAAAgACAACAAAAeOYD5lv//wAAAHjmAuZa//8AAAAAAAAAAQAIAAgACgAAAAEAAgADAAQABQAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAATAAAAAAAAAAFAAAAeAAAAHgAAAABAADmAgAA5gIAAAACAADmAwAA5gMAAAADAADmWgAA5loAAAAEAADmWwAA5lsAAAAFAAAAAAB2AIoAngDcARwAAAAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAP/zAuUDDQAFAAABNwkBJwEBHDkBj/5xOQFQAtI7/nP+czsBUgABAAD/8wLlAw0ABQAAAScJATcBAuQ5/nEBjzn+sALSO/5z/nM7AVIAAwAA/8gDwAM3AA8AHwAgAAATATYyFhQHCQEWFAYiLwExEwE2MhYUBwkBFhQGIi8BMQE/AacPJx0O/p0BZA8eJg8oAwGoDycdD/6dAWUOHScOKP5+AYABqA4dJw/+nf6bDycdDigBggGoDh0nD/6d/psPJx0OKAGCAAAAAAMAAP/UA7UDKwAQACEAIgAACQEGIiY0NwkBJjQ2Mh8BMQEhAQYiJjQ3CQEmNDYyHwEjATEDtP5kDiYdDgFa/qUOHCYOJwF3/ob+ZA8mHA4BWf6lDh0mDicBAXgBf/5kDhwmDwFZAVsPJhwOJ/6J/mQOHCYPAVkBWw8mHA4n/okAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAMABUAAQAAAAAAAgAHACEAAQAAAAAAAwAMACgAAQAAAAAABAAMADQAAQAAAAAABQALAEAAAQAAAAAABgAMAEsAAQAAAAAACgArAFcAAQAAAAAACwATAIIAAwABBAkAAAAqAJUAAwABBAkAAQAYAL8AAwABBAkAAgAOANcAAwABBAkAAwAYAOUAAwABBAkABAAYAP0AAwABBAkABQAWARUAAwABBAkABgAYASsAAwABBAkACgBWAUMAAwABBAkACwAmAZkKQ3JlYXRlZCBieSBpY29uZm9udApsYXlkYXRlLWljb25SZWd1bGFybGF5ZGF0ZS1pY29ubGF5ZGF0ZS1pY29uVmVyc2lvbiAxLjBsYXlkYXRlLWljb25HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQAKAEMAcgBlAGEAdABlAGQAIABiAHkAIABpAGMAbwBuAGYAbwBuAHQACgBsAGEAeQBkAGEAdABlAC0AaQBjAG8AbgBSAGUAZwB1AGwAYQByAGwAYQB5AGQAYQB0AGUALQBpAGMAbwBuAGwAYQB5AGQAYQB0AGUALQBpAGMAbwBuAFYAZQByAHMAaQBvAG4AIAAxAC4AMABsAGEAeQBkAGEAdABlAC0AaQBjAG8AbgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAQIBAwEEAQUBBgEHAAF4BnlvdXlvdQZ6dW96dW8HeGlheWl5ZQh4aWF5aXllMQAAAAA=);src:url(data:undefined;base64,mAkAAOAIAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAerr4JQAAAAAAAAAAAAAAAAAAAAAAABgAbABhAHkAZABhAHQAZQAtAGkAYwBvAG4AAAAOAFIAZQBnAHUAbABhAHIAAAAWAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAAABgAbABhAHkAZABhAHQAZQAtAGkAYwBvAG4AAAAAAAABAAAACwCAAAMAMEdTVUKw/rPtAAABOAAAAEJPUy8yVu5ISQAAAXwAAABWY21hcM8eA5gAAAHsAAABuGdseWYGRtWYAAADtAAAAjhoZWFkDp99lgAAAOAAAAA2aGhlYQfeA4cAAAC8AAAAJGhtdHgX6QAAAAAB1AAAABhsb2NhAjABZgAAA6QAAAAObWF4cAEVAF0AAAEYAAAAIG5hbWVX0gVQAAAF7AAAAp1wb3N0NVZdkgAACIwAAABSAAEAAAOA/4AAXAQAAAAAAAQAAAEAAAAAAAAAAAAAAAAAAAAGAAEAAAABAAAl+Lp6Xw889QALBAAAAAAA1cAczQAAAADVwBzNAAD/yAQAAzcAAAAIAAIAAAAAAAAAAQAAAAYAUQAFAAAAAAACAAAACgAKAAAA/wAAAAAAAAABAAAACgAeACwAAURGTFQACAAEAAAAAAAAAAEAAAABbGlnYQAIAAAAAQAAAAEABAAEAAAAAQAIAAEABgAAAAEAAAAAAAED/AGQAAUACAKJAswAAACPAokCzAAAAesAMgEIAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAQAB45lsDgP+AAFwDgACAAAAAAQAAAAAAAAQAAAAD6QAABAAAAAQAAAAEAAAABAAAAAAAAAUAAAADAAAALAAAAAQAAAFsAAEAAAAAAGYAAwABAAAALAADAAoAAAFsAAQAOgAAAAgACAACAAAAeOYD5lv//wAAAHjmAuZa//8AAAAAAAAAAQAIAAgACgAAAAEAAgADAAQABQAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAATAAAAAAAAAAFAAAAeAAAAHgAAAABAADmAgAA5gIAAAACAADmAwAA5gMAAAADAADmWgAA5loAAAAEAADmWwAA5lsAAAAFAAAAAAB2AIoAngDcARwAAAAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAP/zAuUDDQAFAAABNwkBJwEBHDkBj/5xOQFQAtI7/nP+czsBUgABAAD/8wLlAw0ABQAAAScJATcBAuQ5/nEBjzn+sALSO/5z/nM7AVIAAwAA/8gDwAM3AA8AHwAgAAATATYyFhQHCQEWFAYiLwExEwE2MhYUBwkBFhQGIi8BMQE/AacPJx0O/p0BZA8eJg8oAwGoDycdD/6dAWUOHScOKP5+AYABqA4dJw/+nf6bDycdDigBggGoDh0nD/6d/psPJx0OKAGCAAAAAAMAAP/UA7UDKwAQACEAIgAACQEGIiY0NwkBJjQ2Mh8BMQEhAQYiJjQ3CQEmNDYyHwEjATEDtP5kDiYdDgFa/qUOHCYOJwF3/ob+ZA8mHA4BWf6lDh0mDicBAXgBf/5kDhwmDwFZAVsPJhwOJ/6J/mQOHCYPAVkBWw8mHA4n/okAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAMABUAAQAAAAAAAgAHACEAAQAAAAAAAwAMACgAAQAAAAAABAAMADQAAQAAAAAABQALAEAAAQAAAAAABgAMAEsAAQAAAAAACgArAFcAAQAAAAAACwATAIIAAwABBAkAAAAqAJUAAwABBAkAAQAYAL8AAwABBAkAAgAOANcAAwABBAkAAwAYAOUAAwABBAkABAAYAP0AAwABBAkABQAWARUAAwABBAkABgAYASsAAwABBAkACgBWAUMAAwABBAkACwAmAZkKQ3JlYXRlZCBieSBpY29uZm9udApsYXlkYXRlLWljb25SZWd1bGFybGF5ZGF0ZS1pY29ubGF5ZGF0ZS1pY29uVmVyc2lvbiAxLjBsYXlkYXRlLWljb25HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQAKAEMAcgBlAGEAdABlAGQAIABiAHkAIABpAGMAbwBuAGYAbwBuAHQACgBsAGEAeQBkAGEAdABlAC0AaQBjAG8AbgBSAGUAZwB1AGwAYQByAGwAYQB5AGQAYQB0AGUALQBpAGMAbwBuAGwAYQB5AGQAYQB0AGUALQBpAGMAbwBuAFYAZQByAHMAaQBvAG4AIAAxAC4AMABsAGEAeQBkAGEAdABlAC0AaQBjAG8AbgBHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAQIBAwEEAQUBBgEHAAF4BnlvdXlvdQZ6dW96dW8HeGlheWl5ZQh4aWF5aXllMQAAAAA=) format("embedded-opentype"),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiA+DQo8IS0tDQoyMDEzLTktMzA6IENyZWF0ZWQuDQotLT4NCjxzdmc+DQo8bWV0YWRhdGE+DQpDcmVhdGVkIGJ5IGljb25mb250DQo8L21ldGFkYXRhPg0KPGRlZnM+DQoNCjxmb250IGlkPSJsYXlkYXRlLWljb24iIGhvcml6LWFkdi14PSIxMDI0IiA+DQogIDxmb250LWZhY2UNCiAgICBmb250LWZhbWlseT0ibGF5ZGF0ZS1pY29uIg0KICAgIGZvbnQtd2VpZ2h0PSI1MDAiDQogICAgZm9udC1zdHJldGNoPSJub3JtYWwiDQogICAgdW5pdHMtcGVyLWVtPSIxMDI0Ig0KICAgIGFzY2VudD0iODk2Ig0KICAgIGRlc2NlbnQ9Ii0xMjgiDQogIC8+DQogICAgPG1pc3NpbmctZ2x5cGggLz4NCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ieCIgdW5pY29kZT0ieCIgaG9yaXotYWR2LXg9IjEwMDEiDQpkPSJNMjgxIDU0M3EtMjcgLTEgLTUzIC0xaC04M3EtMTggMCAtMzYuNSAtNnQtMzIuNSAtMTguNXQtMjMgLTMydC05IC00NS41di03Nmg5MTJ2NDFxMCAxNiAtMC41IDMwdC0wLjUgMThxMCAxMyAtNSAyOXQtMTcgMjkuNXQtMzEuNSAyMi41dC00OS41IDloLTEzM3YtOTdoLTQzOHY5N3pNOTU1IDMxMHYtNTJxMCAtMjMgMC41IC01MnQwLjUgLTU4dC0xMC41IC00Ny41dC0yNiAtMzB0LTMzIC0xNnQtMzEuNSAtNC41cS0xNCAtMSAtMjkuNSAtMC41DQp0LTI5LjUgMC41aC0zMmwtNDUgMTI4aC00MzlsLTQ0IC0xMjhoLTI5aC0zNHEtMjAgMCAtNDUgMXEtMjUgMCAtNDEgOS41dC0yNS41IDIzdC0xMy41IDI5LjV0LTQgMzB2MTY3aDkxMXpNMTYzIDI0N3EtMTIgMCAtMjEgLTguNXQtOSAtMjEuNXQ5IC0yMS41dDIxIC04LjVxMTMgMCAyMiA4LjV0OSAyMS41dC05IDIxLjV0LTIyIDguNXpNMzE2IDEyM3EtOCAtMjYgLTE0IC00OHEtNSAtMTkgLTEwLjUgLTM3dC03LjUgLTI1dC0zIC0xNXQxIC0xNC41DQp0OS41IC0xMC41dDIxLjUgLTRoMzdoNjdoODFoODBoNjRoMzZxMjMgMCAzNCAxMnQyIDM4cS01IDEzIC05LjUgMzAuNXQtOS41IDM0LjVxLTUgMTkgLTExIDM5aC0zNjh6TTMzNiA0OTh2MjI4cTAgMTEgMi41IDIzdDEwIDIxLjV0MjAuNSAxNS41dDM0IDZoMTg4cTMxIDAgNTEuNSAtMTQuNXQyMC41IC01Mi41di0yMjdoLTMyN3oiIC8+DQogICAgDQoNCiAgICANCiAgICA8Z2x5cGggZ2x5cGgtbmFtZT0ieW91eW91IiB1bmljb2RlPSImIzU4ODgyOyIgZD0iTTI4My42NDggNzIxLjkxODk3NiAzNDAuODczMjE2IDc4MC45MjY5NzYgNzQwLjM1MiAzODMuOTk3OTUyIDM0MC44NzYyODgtMTIuOTI1OTUyIDI4My42NDggNDYuMDc3OTUyIDYxOS41MiAzODMuOTk3OTUyWiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQogICAgPGdseXBoIGdseXBoLW5hbWU9Inp1b3p1byIgdW5pY29kZT0iJiM1ODg4MzsiIGQ9Ik03NDAuMzUyIDcyMS45MTg5NzYgNjgzLjEyNjc4NCA3ODAuOTI2OTc2IDI4My42NDggMzgzLjk5Nzk1MiA2ODMuMTIzNzEyLTEyLjkyNTk1MiA3NDAuMzUyIDQ2LjA3Nzk1MiA0MDQuNDggMzgzLjk5Nzk1MloiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ4aWF5aXllIiB1bmljb2RlPSImIzU4OTcwOyIgZD0iTTYyLjU3MyAzODQuMTAzbDQyMy40MDEgNDIzLjY2MmMxOC45ODUgMTguOTg1IDQ5Ljc1NyAxOC45ODUgNjguNzI3IDAgMTguOTgyLTE4Ljk3MiAxOC45ODUtNDkuNzQ2IDAtNjguNzI5bC0zNTUuMDU4LTM1NS4wNjcgMzU2Ljc5Ni0zNTYuNzk2YzE4Ljk3Ny0xOC45NzEgMTguOTc2LTQ5Ljc0NiAwLTY4LjcyNy0xOC45ODItMTguOTc2LTQ5Ljc1MS0xOC45NzYtNjguNzI3IDBsLTM5Ljc1MyAzOS43NTMgMC4yNjkgMC4yNDYtMzg1LjY1NSAzODUuNjYxek00NTEuMzY1IDM4NC4xMDNsNDIzLjQwNyA0MjMuNjYyYzE4Ljk4NSAxOC45ODUgNDkuNzU3IDE4Ljk4NSA2OC43MjcgMCAxOC45ODItMTguOTcyIDE4Ljk4NS00OS43NDYgMC02OC43MjlsLTM1NS4wNTgtMzU1LjA2NyAzNTYuNzk2LTM1Ni43OTZjMTguOTc3LTE4Ljk3MSAxOC45NzYtNDkuNzQ2IDAtNjguNzI3LTE4Ljk4Mi0xOC45NzYtNDkuNzU3LTE4Ljk3Ny02OC43MjcgMGwtMzkuNzYyIDM5Ljc1NCAwLjI3MyAwLjI0OS0zODUuNjYyIDM4NS42NjF6TTQ1MS4zNjUgMzg0LjEwM3oiICBob3Jpei1hZHYteD0iMTAyNCIgLz4NCg0KICAgIA0KICAgIDxnbHlwaCBnbHlwaC1uYW1lPSJ4aWF5aXllMSIgdW5pY29kZT0iJiM1ODk3MTsiIGQ9Ik05NDguMDY2OTI2IDM4Mi45NTg4MzhsLTQxMS45OTAwNTEtNDEyLjI0NDI2Yy0xOC40NzMzMy0xOC40NzMzMy00OC40MTc2ODktMTguNDczMzMtNjYuODc1MjA3IDAtMTguNDczMzMgMTguNDYxMTY3LTE4LjQ3MzMzIDQ4LjQwNTUyNiAwIDY2Ljg3NTIwN0w4MTQuNjkxMTM1IDM4My4wODg5ODMgNDY3LjUxMjIxMiA3MzAuMjY5MTIzYy0xOC40NjYwMzIgMTguNDU4NzM1LTE4LjQ2NjAzMiA0OC40MDU1MjYgMCA2Ni44NzM5OTEgMTguNDY4NDY1IDE4LjQ2NDgxNiA0OC40MTAzOTEgMTguNDY0ODE2IDY2Ljg3Mjc3NCAwbDM4LjY4MjMzNi0zOC42ODIzMzYtMC4yNjE1MDctMC4yMzk2MTQgMzc1LjI1OTg5NC0zNzUuMjY1OTc1djAuMDAzNjQ5bS0zNzguMzEyODM0IDBMMTU3Ljc1Njc0My0yOS4yODU0MjJjLTE4LjQ3MzMzLTE4LjQ3MzMzLTQ4LjQxNTI1Ni0xOC40NzMzMy02Ni44NzI3NzUgMC0xOC40NzMzMyAxOC40NjExNjctMTguNDczMzMgNDguNDA1NTI2IDAgNjYuODc1MjA3TDQzNi4zNjk3ODcgMzgzLjA4ODk4MyA4OS4xOTIwOCA3MzAuMjY5MTIzYy0xOC40NjM2IDE4LjQ1ODczNS0xOC40NjM2IDQ4LjQwNTUyNiAwIDY2Ljg3Mzk5MSAxOC40NzA4OTggMTguNDY0ODE2IDQ4LjQxNTI1NiAxOC40NjQ4MTYgNjYuODcyNzc0IDBsMzguNjkyMDY3LTM4LjY4MjMzNi0wLjI2NjM3Mi0wLjIzOTYxNCAzNzUuMjY3MTkxLTM3NS4yNjU5NzUtMC4wMDQ4NjUgMC4wMDM2NDltMCAweiIgIGhvcml6LWFkdi14PSIxMDI0IiAvPg0KDQogICAgDQoNCg0KICA8L2ZvbnQ+DQo8L2RlZnM+PC9zdmc+DQo=) format("svg"),url(data:font/woff;base64,d09GRgABAAAAAAXUAAsAAAAACOAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7khJY21hcAAAAYAAAAB0AAABuM8eA5hnbHlmAAAB9AAAAb8AAAI4BkbVmGhlYWQAAAO0AAAALwAAADYOn32WaGhlYQAAA+QAAAAcAAAAJAfeA4dobXR4AAAEAAAAABMAAAAYF+kAAGxvY2EAAAQUAAAADgAAAA4CMAFmbWF4cAAABCQAAAAfAAAAIAEVAF1uYW1lAAAERAAAAVQAAAKdV9IFUHBvc3QAAAWYAAAAOQAAAFI1Vl2SeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sM4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDyLZm7438AQw9zA0AAUZgTJAQAraQzLeJzFkdsNgCAMRW95GEMcxQmcwQng3y8HYOKugX3w4wRccqC9gZS0ADKAKJxCAugFQfWIS+ZHFPMTLsl3WUHOzpHbGBYFrhapyG4Ui4K8TVqBNiwTrSv912H7PTPte5/IFzk42luOjs6Fq6Oz4eYgfxDcFXd4nGWPMW/TQBiGv9eHnbgkd63tOIljJ7FDfUGBoBiTKIpoFhYQQ1WmwIQURpCqDmFAECGBQEIqO2JBoHZkgK0DIzPiDyDKL2A/uGzQnr7h3ud7pE8vmUR/frAjViOXujSga7RNBKuHhBsRYpn3jR4qsVmpepzJjowLnaTPrqKaWJ6fDfO0ahUsAY4mLsfZUPYNiSv5ljFB5kdAvRHccjZDh73GWk02n6kbxjtUWp1QbF1U1y9MvaztFhclx6k7zquiZZpFwzgjOO5Xfdu01yz13hRB5ah13mihVJfBzVm53XDuvsgfRJtVG1gu4Tba/GC6EWzoeRT4rlMvrJeLtaDcOedhcXy25pai9CfpB931t/GLlUm3xsiGBMIx9tXuGNvGt4naU3sT7JzwpI0RjOOx2sX+WH38x2Pa+8q+sBEJalGbyMUw872CDd+zkksYnMyY4kDIiKu3mItmKroMhzoLne/xSPKueowlDvVXI/VmpXbx9BRYdVnd/s4+sx6tU0wJkQ0rSXNdKs2HWUvfiv8HHQzYJzXnacRxW33gYcolFuq5mos05JhpFK0QHuKJ1sJUYIY7q51UL0+Bv937cGcAeJxjYGRgYABi1R8rHsXz23xl4GZhAIGrB2TOIuj/J1gYmM2BXA4GJpAoAFITC2MAeJxjYGRgYG7438AQw8IAAkCSkQEVsAEARwwCb3icY2FgYGB+ycDAwoCKARKfAQEAAAAAAAB2AIoAngDcARwAAHicY2BkYGBgYwhkYGUAASYg5gJCBob/YD4DABFIAXMAeJx1j7tKA0EYhc/kJm7EQomkHBsRQzYXrFIJgaSwSxHrzWY2F/YSZieBbX0HC5/Gx7Cz8zEET3ZHCYHsMD/fOXP+mX8BXOELAsXX4C5Y4IKq4BLOcGu5TP/ecoX8aLmKOp4s1+g/W3bQwovlOq7xyhtE5ZzqAW+WBZr4sFzCJT4tl+l/W66QfyxXcSMalmtoipZlB1MxtFzHnXh3hlp5Rs3lLJMrP4mDJDZO6GVzmu29MVGLbejpQ+uQp0qnqySWPbd7aI9VrPTfvelu0TcmkIFOIjniAyoME7nRyVr5xl0asxl0OoH1XT+JOOYQGgoeDOscEjNkrCv4SBAjyKthLmQmY6JItv8TE6oFtvm5Ppk65U+pNFLqvZLowUX3ZHpMFecdx/Om2HGKPl3DmSW3ZkdEGtk/ULw1JEts8rM1HZ++i2XetcEAHa7gKO/mb0e/IEZ6MXicY2BigAAuBuyAjZGJkZmRhZGVkY2RnYGxgq0yvxSI2KpK84GIvSIzsTKzMpUDShsyMAAA7YcMcwAAAA==) format("woff"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7khJAAABfAAAAFZjbWFwzx4DmAAAAewAAAG4Z2x5ZgZG1ZgAAAO0AAACOGhlYWQOn32WAAAA4AAAADZoaGVhB94DhwAAALwAAAAkaG10eBfpAAAAAAHUAAAAGGxvY2ECMAFmAAADpAAAAA5tYXhwARUAXQAAARgAAAAgbmFtZVfSBVAAAAXsAAACnXBvc3Q1Vl2SAAAIjAAAAFIAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAYAAQAAAAEAACX4qOJfDzz1AAsEAAAAAADVwBzNAAAAANXAHM0AAP/IBAADNwAAAAgAAgAAAAAAAAABAAAABgBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP8AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmWwOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAABAAAAAQAAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAWwAAQAAAAAAZgADAAEAAAAsAAMACgAAAWwABAA6AAAACAAIAAIAAAB45gPmW///AAAAeOYC5lr//wAAAAAAAAABAAgACAAKAAAAAQACAAMABAAFAAABBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAABMAAAAAAAAAAUAAAB4AAAAeAAAAAEAAOYCAADmAgAAAAIAAOYDAADmAwAAAAMAAOZaAADmWgAAAAQAAOZbAADmWwAAAAUAAAAAAHYAigCeANwBHAAAAAUAAP/hA7wDGAATACgAMQBEAFAAAAEGKwEiDgIdASEnNC4CKwEVIQUVFxQOAycjJyEHIyIuAz0BFyIGFBYyNjQmFwYHBg8BDgEeATMhMjYnLgInATU0PgI7ATIWHQEBGRsaUxIlHBIDkAEKGCcehf5KAqIBFR8jHA8+Lf5JLD8UMiATCHcMEhIZEhKMCAYFBQgCAgQPDgFtFxYJBQkKBv6kBQ8aFbwfKQIfAQwZJxpMWQ0gGxJhiDRuHSUXCQEBgIABExsgDqc/ERoRERoRfBoWExIZBxANCBgaDSMkFAF35AsYEwwdJuMAAAAAAQAA//MC5QMNAAUAAAE3CQEnAQEcOQGP/nE5AVAC0jv+c/5zOwFSAAEAAP/zAuUDDQAFAAABJwkBNwEC5Dn+cQGPOf6wAtI7/nP+czsBUgADAAD/yAPAAzcADwAfACAAABMBNjIWFAcJARYUBiIvATETATYyFhQHCQEWFAYiLwExAT8Bpw8nHQ7+nQFkDx4mDygDAagPJx0P/p0BZQ4dJw4o/n4BgAGoDh0nD/6d/psPJx0OKAGCAagOHScP/p3+mw8nHQ4oAYIAAAAAAwAA/9QDtQMrABAAIQAiAAAJAQYiJjQ3CQEmNDYyHwExASEBBiImNDcJASY0NjIfASMBMQO0/mQOJh0OAVr+pQ4cJg4nAXf+hv5kDyYcDgFZ/qUOHSYOJwEBeAF//mQOHCYPAVkBWw8mHA4n/on+ZA4cJg8BWQFbDyYcDif+iQAAABIA3gABAAAAAAAAABUAAAABAAAAAAABAAwAFQABAAAAAAACAAcAIQABAAAAAAADAAwAKAABAAAAAAAEAAwANAABAAAAAAAFAAsAQAABAAAAAAAGAAwASwABAAAAAAAKACsAVwABAAAAAAALABMAggADAAEECQAAACoAlQADAAEECQABABgAvwADAAEECQACAA4A1wADAAEECQADABgA5QADAAEECQAEABgA/QADAAEECQAFABYBFQADAAEECQAGABgBKwADAAEECQAKAFYBQwADAAEECQALACYBmQpDcmVhdGVkIGJ5IGljb25mb250CmxheWRhdGUtaWNvblJlZ3VsYXJsYXlkYXRlLWljb25sYXlkYXRlLWljb25WZXJzaW9uIDEuMGxheWRhdGUtaWNvbkdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGwAYQB5AGQAYQB0AGUALQBpAGMAbwBuAFIAZQBnAHUAbABhAHIAbABhAHkAZABhAHQAZQAtAGkAYwBvAG4AbABhAHkAZABhAHQAZQAtAGkAYwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGwAYQB5AGQAYQB0AGUALQBpAGMAbwBuAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBAgEDAQQBBQEGAQcAAXgGeW91eW91Bnp1b3p1bwd4aWF5aXllCHhpYXlpeWUxAAAAAA==) format("truetype")}.laydate-icon{font-family:laydate-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate,.layui-laydate *{box-sizing:border-box}.layui-laydate{z-index:66666666;border-radius:2px;font-size:14px;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-laydate-main{width:272px}.layui-laydate-header *,.layui-laydate-content td,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@keyframes laydate-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}to{opacity:1;transform:translateZ(0)}}.layui-laydate{animation-name:laydate-downbit}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-prev-m,.laydate-ym-show .laydate-next-m{display:none!important}.laydate-ym-show .laydate-prev-y,.laydate-ym-show .laydate-next-y{display:inline-block!important}.laydate-ym-show .laydate-set-ym span[lay-type=month],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.layui-laydate-header *{vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;padding:0 5px;color:#999;font-size:18px;cursor:pointer}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-set-ym span{padding:0 10px;cursor:pointer}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content th,.layui-laydate-content td{width:36px;height:30px;padding:5px;text-align:center!important}.layui-laydate-content th{font-weight:400}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark:after{position:absolute;content:"";right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px}.layui-laydate-footer span{display:inline-block;vertical-align:top;height:26px;line-height:24px;padding:0 10px;border:1px solid #c9c9c9;border-radius:2px;background-color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .3s}.layui-laydate-footer span:hover{color:#5fb878}.layui-laydate-footer span.layui-laydate-preview{cursor:default;border-color:transparent!important}.layui-laydate-footer span.layui-laydate-preview:hover{color:#666}.layui-laydate-footer span:first-child.layui-laydate-preview{padding-left:0}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{margin:0 0 0 -1px}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;box-sizing:border-box;background-color:#fff}.layui-laydate-list>li{position:relative;display:inline-block;width:33.3%;height:36px;line-height:36px;margin:3px 0;vertical-align:middle;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:4px;height:30px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px;color:#ff5722}.layui-laydate-range{min-width:546px}.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-range .laydate-main-list-1 .layui-laydate-header,.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5fb878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#b5fff8}.laydate-selected:hover{background-color:#00f7de!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eee;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:none}.layui-laydate-content .laydate-day-prev,.layui-laydate-content .laydate-day-next{color:#d2d2d2}.laydate-selected.laydate-day-prev,.laydate-selected.laydate-day-next{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#ff5722}.laydate-day-mark:after{background-color:#5fb878}.layui-laydate-content td.layui-this .laydate-day-mark:after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5fb878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:none!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .laydate-month-list>li{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-prev,.laydate-theme-grid .laydate-selected.laydate-day-next{color:#d2d2d2!important}.laydate-theme-grid .laydate-year-list,.laydate-theme-grid .laydate-month-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .laydate-month-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}.laydate-range-hover{background-color:var(--global-neutral-color-2)!important}.layui-laydate-content .layui-disabled:hover{background-color:transparent!important}.laydate-range-inputs{display:flex;align-items:center;border-width:1px;border-style:solid;display:inline-flex;border-color:var(--input-border-color);border-radius:var(--input-border-radius)}.laydate-range-inputs .range-separator{margin:0 5px;color:var(--global-neutral-color-8);background-color:transparent}.laydate-range-inputs .layui-input-wrapper{border:none;box-sizing:border-box}.laydate-range-inputs .layui-input-wrapper input{text-align:center;padding:0}.laydate-range-inputs .layui-input{border:none}.layui-laydate-range .laydate-set-ym{overflow:visible;white-space:nowrap}.layui-laydate-range .laydate-set-ym .layui-dropdown{width:auto!important}.layui-laydate-range .time-panel .layui-laydate-main{width:272px;display:unset!important}.layui-laydate-range .time-panel .layui-laydate-preview{display:none}.layui-laydate-range .layui-laydate-content .laydate-year-list,.layui-laydate-range .layui-laydate-list{display:flex;flex-wrap:wrap}.layui-laydate-range-datetime .layui-laydate-main{width:340px}\n')();
|
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
var dayjs_min = { exports: {} };
|
|
(function(module, exports) {
|
|
!function(t, e) {
|
|
module.exports = e();
|
|
}(commonjsGlobal, function() {
|
|
var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", f = "month", h2 = "quarter", c = "year", d = "date", $ = "Invalid Date", l = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_") }, m = function(t2, e2, n2) {
|
|
var r2 = String(t2);
|
|
return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
|
|
}, g = { s: m, z: function(t2) {
|
|
var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
|
|
return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
|
|
}, m: function t2(e2, n2) {
|
|
if (e2.date() < n2.date())
|
|
return -t2(n2, e2);
|
|
var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, f), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), f);
|
|
return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
|
|
}, a: function(t2) {
|
|
return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
|
|
}, p: function(t2) {
|
|
return { M: f, y: c, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: h2 }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
|
|
}, u: function(t2) {
|
|
return void 0 === t2;
|
|
} }, v = "en", D = {};
|
|
D[v] = M;
|
|
var p = function(t2) {
|
|
return t2 instanceof _;
|
|
}, S = function t2(e2, n2, r2) {
|
|
var i2;
|
|
if (!e2)
|
|
return v;
|
|
if ("string" == typeof e2) {
|
|
var s2 = e2.toLowerCase();
|
|
D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
|
|
var u2 = e2.split("-");
|
|
if (!i2 && u2.length > 1)
|
|
return t2(u2[0]);
|
|
} else {
|
|
var a2 = e2.name;
|
|
D[a2] = e2, i2 = a2;
|
|
}
|
|
return !r2 && i2 && (v = i2), i2 || !r2 && v;
|
|
}, w = function(t2, e2) {
|
|
if (p(t2))
|
|
return t2.clone();
|
|
var n2 = "object" == typeof e2 ? e2 : {};
|
|
return n2.date = t2, n2.args = arguments, new _(n2);
|
|
}, O = g;
|
|
O.l = S, O.i = p, O.w = function(t2, e2) {
|
|
return w(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
|
|
};
|
|
var _ = function() {
|
|
function M2(t2) {
|
|
this.$L = S(t2.locale, null, true), this.parse(t2);
|
|
}
|
|
var m2 = M2.prototype;
|
|
return m2.parse = function(t2) {
|
|
this.$d = function(t3) {
|
|
var e2 = t3.date, n2 = t3.utc;
|
|
if (null === e2)
|
|
return new Date(NaN);
|
|
if (O.u(e2))
|
|
return new Date();
|
|
if (e2 instanceof Date)
|
|
return new Date(e2);
|
|
if ("string" == typeof e2 && !/Z$/i.test(e2)) {
|
|
var r2 = e2.match(l);
|
|
if (r2) {
|
|
var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
|
|
return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
|
|
}
|
|
}
|
|
return new Date(e2);
|
|
}(t2), this.$x = t2.x || {}, this.init();
|
|
}, m2.init = function() {
|
|
var t2 = this.$d;
|
|
this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
|
|
}, m2.$utils = function() {
|
|
return O;
|
|
}, m2.isValid = function() {
|
|
return !(this.$d.toString() === $);
|
|
}, m2.isSame = function(t2, e2) {
|
|
var n2 = w(t2);
|
|
return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
|
|
}, m2.isAfter = function(t2, e2) {
|
|
return w(t2) < this.startOf(e2);
|
|
}, m2.isBefore = function(t2, e2) {
|
|
return this.endOf(e2) < w(t2);
|
|
}, m2.$g = function(t2, e2, n2) {
|
|
return O.u(t2) ? this[e2] : this.set(n2, t2);
|
|
}, m2.unix = function() {
|
|
return Math.floor(this.valueOf() / 1e3);
|
|
}, m2.valueOf = function() {
|
|
return this.$d.getTime();
|
|
}, m2.startOf = function(t2, e2) {
|
|
var n2 = this, r2 = !!O.u(e2) || e2, h3 = O.p(t2), $2 = function(t3, e3) {
|
|
var i2 = O.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
|
|
return r2 ? i2 : i2.endOf(a);
|
|
}, l2 = function(t3, e3) {
|
|
return O.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
|
|
}, y2 = this.$W, M3 = this.$M, m3 = this.$D, g2 = "set" + (this.$u ? "UTC" : "");
|
|
switch (h3) {
|
|
case c:
|
|
return r2 ? $2(1, 0) : $2(31, 11);
|
|
case f:
|
|
return r2 ? $2(1, M3) : $2(0, M3 + 1);
|
|
case o:
|
|
var v2 = this.$locale().weekStart || 0, D2 = (y2 < v2 ? y2 + 7 : y2) - v2;
|
|
return $2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
|
|
case a:
|
|
case d:
|
|
return l2(g2 + "Hours", 0);
|
|
case u:
|
|
return l2(g2 + "Minutes", 1);
|
|
case s:
|
|
return l2(g2 + "Seconds", 2);
|
|
case i:
|
|
return l2(g2 + "Milliseconds", 3);
|
|
default:
|
|
return this.clone();
|
|
}
|
|
}, m2.endOf = function(t2) {
|
|
return this.startOf(t2, false);
|
|
}, m2.$set = function(t2, e2) {
|
|
var n2, o2 = O.p(t2), h3 = "set" + (this.$u ? "UTC" : ""), $2 = (n2 = {}, n2[a] = h3 + "Date", n2[d] = h3 + "Date", n2[f] = h3 + "Month", n2[c] = h3 + "FullYear", n2[u] = h3 + "Hours", n2[s] = h3 + "Minutes", n2[i] = h3 + "Seconds", n2[r] = h3 + "Milliseconds", n2)[o2], l2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
|
|
if (o2 === f || o2 === c) {
|
|
var y2 = this.clone().set(d, 1);
|
|
y2.$d[$2](l2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
|
|
} else
|
|
$2 && this.$d[$2](l2);
|
|
return this.init(), this;
|
|
}, m2.set = function(t2, e2) {
|
|
return this.clone().$set(t2, e2);
|
|
}, m2.get = function(t2) {
|
|
return this[O.p(t2)]();
|
|
}, m2.add = function(r2, h3) {
|
|
var d2, $2 = this;
|
|
r2 = Number(r2);
|
|
var l2 = O.p(h3), y2 = function(t2) {
|
|
var e2 = w($2);
|
|
return O.w(e2.date(e2.date() + Math.round(t2 * r2)), $2);
|
|
};
|
|
if (l2 === f)
|
|
return this.set(f, this.$M + r2);
|
|
if (l2 === c)
|
|
return this.set(c, this.$y + r2);
|
|
if (l2 === a)
|
|
return y2(1);
|
|
if (l2 === o)
|
|
return y2(7);
|
|
var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[l2] || 1, m3 = this.$d.getTime() + r2 * M3;
|
|
return O.w(m3, this);
|
|
}, m2.subtract = function(t2, e2) {
|
|
return this.add(-1 * t2, e2);
|
|
}, m2.format = function(t2) {
|
|
var e2 = this, n2 = this.$locale();
|
|
if (!this.isValid())
|
|
return n2.invalidDate || $;
|
|
var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = O.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, f2 = n2.months, h3 = function(t3, n3, i3, s3) {
|
|
return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].substr(0, s3);
|
|
}, c2 = function(t3) {
|
|
return O.s(s2 % 12 || 12, t3, "0");
|
|
}, d2 = n2.meridiem || function(t3, e3, n3) {
|
|
var r3 = t3 < 12 ? "AM" : "PM";
|
|
return n3 ? r3.toLowerCase() : r3;
|
|
}, l2 = { YY: String(this.$y).slice(-2), YYYY: this.$y, M: a2 + 1, MM: O.s(a2 + 1, 2, "0"), MMM: h3(n2.monthsShort, a2, f2, 3), MMMM: h3(f2, a2), D: this.$D, DD: O.s(this.$D, 2, "0"), d: String(this.$W), dd: h3(n2.weekdaysMin, this.$W, o2, 2), ddd: h3(n2.weekdaysShort, this.$W, o2, 3), dddd: o2[this.$W], H: String(s2), HH: O.s(s2, 2, "0"), h: c2(1), hh: c2(2), a: d2(s2, u2, true), A: d2(s2, u2, false), m: String(u2), mm: O.s(u2, 2, "0"), s: String(this.$s), ss: O.s(this.$s, 2, "0"), SSS: O.s(this.$ms, 3, "0"), Z: i2 };
|
|
return r2.replace(y, function(t3, e3) {
|
|
return e3 || l2[t3] || i2.replace(":", "");
|
|
});
|
|
}, m2.utcOffset = function() {
|
|
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
|
|
}, m2.diff = function(r2, d2, $2) {
|
|
var l2, y2 = O.p(d2), M3 = w(r2), m3 = (M3.utcOffset() - this.utcOffset()) * e, g2 = this - M3, v2 = O.m(this, M3);
|
|
return v2 = (l2 = {}, l2[c] = v2 / 12, l2[f] = v2, l2[h2] = v2 / 3, l2[o] = (g2 - m3) / 6048e5, l2[a] = (g2 - m3) / 864e5, l2[u] = g2 / n, l2[s] = g2 / e, l2[i] = g2 / t, l2)[y2] || g2, $2 ? v2 : O.a(v2);
|
|
}, m2.daysInMonth = function() {
|
|
return this.endOf(f).$D;
|
|
}, m2.$locale = function() {
|
|
return D[this.$L];
|
|
}, m2.locale = function(t2, e2) {
|
|
if (!t2)
|
|
return this.$L;
|
|
var n2 = this.clone(), r2 = S(t2, e2, true);
|
|
return r2 && (n2.$L = r2), n2;
|
|
}, m2.clone = function() {
|
|
return O.w(this.$d, this);
|
|
}, m2.toDate = function() {
|
|
return new Date(this.valueOf());
|
|
}, m2.toJSON = function() {
|
|
return this.isValid() ? this.toISOString() : null;
|
|
}, m2.toISOString = function() {
|
|
return this.$d.toISOString();
|
|
}, m2.toString = function() {
|
|
return this.$d.toUTCString();
|
|
}, M2;
|
|
}(), b = _.prototype;
|
|
return w.prototype = b, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", f], ["$y", c], ["$D", d]].forEach(function(t2) {
|
|
b[t2[1]] = function(e2) {
|
|
return this.$g(e2, t2[0], t2[1]);
|
|
};
|
|
}), w.extend = function(t2, e2) {
|
|
return t2.$i || (t2(e2, _, w), t2.$i = true), w;
|
|
}, w.locale = S, w.isDayjs = p, w.unix = function(t2) {
|
|
return w(1e3 * t2);
|
|
}, w.en = D[v], w.Ls = D, w.p = {}, w;
|
|
});
|
|
})(dayjs_min);
|
|
var dayjs = dayjs_min.exports;
|
|
const getYears = () => {
|
|
let years = [];
|
|
for (let i = 1970; i < getYear() + 100; i++) {
|
|
years.push(i);
|
|
}
|
|
return years;
|
|
};
|
|
const getDate = (val = "") => {
|
|
if (val) {
|
|
return new Date(val);
|
|
} else {
|
|
return new Date();
|
|
}
|
|
};
|
|
const getYear = (val = "") => {
|
|
return getDate(val).getFullYear();
|
|
};
|
|
const getMonth = (val = "") => {
|
|
return getDate(val).getMonth();
|
|
};
|
|
const getDay = (val = "") => {
|
|
if (val) {
|
|
return new Date(getDate(val).toDateString()).getTime();
|
|
} else {
|
|
return -1;
|
|
}
|
|
};
|
|
const getDayLength = (year, month) => {
|
|
return new Date(year, month + 1, 0).getDate();
|
|
};
|
|
const setDateList = (year, month) => {
|
|
const curDays = getDayLength(year, month);
|
|
const prevDays = getDayLength(year, month - 1);
|
|
const curFirstDayWeek = new Date(year, month, 1).getDay();
|
|
const list = [];
|
|
for (let i = prevDays - curFirstDayWeek + 1; i <= prevDays; i++) {
|
|
list.push({
|
|
day: i,
|
|
value: +new Date(year, month - 1, i),
|
|
isRange: false,
|
|
isSelected: false,
|
|
type: "prev"
|
|
});
|
|
}
|
|
for (let i = 1; i <= curDays; i++) {
|
|
list.push({
|
|
day: i,
|
|
value: +new Date(year, month, i),
|
|
isRange: false,
|
|
isSelected: false,
|
|
type: "current"
|
|
});
|
|
}
|
|
const nextDays = 7 - list.length % 7;
|
|
if (nextDays !== 7) {
|
|
for (let i = 1; i <= nextDays; i++) {
|
|
list.push({
|
|
day: i,
|
|
value: +new Date(year, month + 1, i),
|
|
isRange: false,
|
|
isSelected: false,
|
|
type: "next"
|
|
});
|
|
}
|
|
}
|
|
return list;
|
|
};
|
|
const _hoisted_1$c = { class: "layui-laydate-footer" };
|
|
const _hoisted_2$b = { class: "laydate-footer-btns" };
|
|
const __default__$f = {
|
|
name: "PanelFoot"
|
|
};
|
|
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
...__default__$f,
|
|
emits: ["ok", "clear", "now"],
|
|
setup(__props, { emit: emits }) {
|
|
const { t } = useI18n();
|
|
const handelOk = () => {
|
|
emits("ok");
|
|
};
|
|
const handelNow = () => {
|
|
emits("now");
|
|
};
|
|
const handelClear = () => {
|
|
emits("clear");
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$c, [
|
|
renderSlot(_ctx.$slots, "default"),
|
|
createElementVNode("div", _hoisted_2$b, [
|
|
createElementVNode("span", {
|
|
"lay-type": "clear",
|
|
class: "laydate-btns-clear",
|
|
onClick: handelClear
|
|
}, toDisplayString$1(unref(t)("datePicker.clear")), 1),
|
|
createElementVNode("span", {
|
|
"lay-type": "now",
|
|
class: "laydate-btns-now",
|
|
onClick: handelNow
|
|
}, toDisplayString$1(unref(t)("datePicker.now")), 1),
|
|
createElementVNode("span", {
|
|
"lay-type": "confirm",
|
|
class: "laydate-btns-confirm",
|
|
onClick: handelOk
|
|
}, toDisplayString$1(unref(t)("datePicker.confirm")), 1)
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$b = { class: "layui-laydate-content" };
|
|
const _hoisted_2$a = { style: { "width": "100%" } };
|
|
const _hoisted_3$a = ["data-unix", "onClick", "onMouseenter"];
|
|
const __default__$e = {
|
|
name: "DateContent"
|
|
};
|
|
const _sfc_main$f = defineComponent({
|
|
...__default__$e,
|
|
props: {
|
|
dateList: { default: [] },
|
|
modelValue: { default: -1 },
|
|
startDate: { default: -1 },
|
|
endDate: { default: -1 },
|
|
hoverDate: { default: -1 }
|
|
},
|
|
emits: [
|
|
"update:modelValue",
|
|
"update:startDate",
|
|
"update:endDate",
|
|
"update:hoverDate",
|
|
"simple"
|
|
],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const { t } = useI18n();
|
|
const WEEK_NAME = computed$1(() => [
|
|
t("datePicker.sunday"),
|
|
t("datePicker.monday"),
|
|
t("datePicker.tuesday"),
|
|
t("datePicker.wednesday"),
|
|
t("datePicker.thursday"),
|
|
t("datePicker.friday"),
|
|
t("datePicker.saturday")
|
|
]);
|
|
const datePicker = inject("datePicker");
|
|
const handleDayClick = (item) => {
|
|
if (datePicker.range) {
|
|
if (item.type !== "current") {
|
|
return;
|
|
}
|
|
if (props.startDate === -1 && props.endDate === -1) {
|
|
emits("update:startDate", item.value);
|
|
} else if (props.startDate !== -1 && props.endDate !== -1) {
|
|
emits("update:hoverDate", item.value);
|
|
emits("update:startDate", item.value);
|
|
emits("update:endDate", -1);
|
|
} else if (props.startDate !== -1 && props.endDate === -1) {
|
|
emits("update:endDate", item.value);
|
|
if (item.value < props.startDate) {
|
|
const first = props.startDate;
|
|
const last = item.value;
|
|
emits("update:startDate", last);
|
|
emits("update:endDate", first);
|
|
}
|
|
}
|
|
} else {
|
|
emits("update:modelValue", item.value);
|
|
if (item.type !== "current") {
|
|
datePicker.currentMonth.value = item.type === "prev" ? datePicker.currentMonth.value - 1 : datePicker.currentMonth.value + 1;
|
|
}
|
|
if (datePicker.simple) {
|
|
emits("simple");
|
|
}
|
|
}
|
|
};
|
|
const dayItemMouseEnter = (event, item) => {
|
|
if (!datePicker.range) {
|
|
return;
|
|
}
|
|
if (props.startDate === -1) {
|
|
return;
|
|
}
|
|
if (item.type !== "current") {
|
|
return;
|
|
}
|
|
if (props.startDate !== -1 && props.endDate !== -1) {
|
|
emits("update:hoverDate", -1);
|
|
return;
|
|
}
|
|
emits("update:hoverDate", parseInt(event.target.dataset.unix));
|
|
};
|
|
const ifHasRangeHoverClass = computed$1(() => {
|
|
return function(item) {
|
|
if (!datePicker.range) {
|
|
return false;
|
|
}
|
|
if (props.startDate === -1) {
|
|
return false;
|
|
}
|
|
if (item.type !== "current") {
|
|
return false;
|
|
}
|
|
if (props.hoverDate === -1 && props.endDate === -1) {
|
|
return false;
|
|
}
|
|
let hover = props.endDate !== -1 ? props.endDate : props.hoverDate;
|
|
let max = props.startDate > hover ? props.startDate : hover;
|
|
let min = props.startDate < hover ? props.startDate : hover;
|
|
if (item.value >= min && item.value <= max) {
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$b, [
|
|
createElementVNode("table", _hoisted_2$a, [
|
|
createElementVNode("thead", null, [
|
|
createElementVNode("tr", null, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(WEEK_NAME), (item) => {
|
|
return openBlock(), createElementBlock("th", { key: item }, toDisplayString$1(item), 1);
|
|
}), 128))
|
|
])
|
|
]),
|
|
createElementVNode("tbody", null, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.dateList.length % 7 == 0 ? __props.dateList.length / 7 : Math.floor(__props.dateList.length / 7) + 1, (o, i) => {
|
|
return openBlock(), createElementBlock("tr", { key: i }, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.dateList.slice(i * 7, i * 7 + 7), (item, index2) => {
|
|
return openBlock(), createElementBlock("td", {
|
|
key: index2,
|
|
"data-unix": item.value,
|
|
class: normalizeClass({
|
|
"laydate-day-prev": item.type !== "current",
|
|
"layui-this": item.value === __props.modelValue || unref(datePicker).range && item.type === "current" && (item.value == __props.startDate || item.value == __props.endDate),
|
|
"laydate-range-hover": unref(ifHasRangeHoverClass)(item),
|
|
"layui-disabled": item.type !== "current" && unref(datePicker).range
|
|
}),
|
|
onClick: ($event) => handleDayClick(item),
|
|
onMouseenter: ($event) => dayItemMouseEnter($event, item)
|
|
}, toDisplayString$1(item.day), 43, _hoisted_3$a);
|
|
}), 128))
|
|
]);
|
|
}), 128))
|
|
])
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$a = { class: "layui-laydate" };
|
|
const _hoisted_2$9 = { class: "layui-laydate-main laydate-main-list-0" };
|
|
const _hoisted_3$9 = { class: "layui-laydate-header" };
|
|
const _hoisted_4$7 = { class: "laydate-set-ym" };
|
|
const __default__$d = {
|
|
name: "DatePanel"
|
|
};
|
|
const _sfc_main$e = defineComponent({
|
|
...__default__$d,
|
|
props: {
|
|
modelValue: null
|
|
},
|
|
emits: ["update:modelValue", "ok"],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const { t } = useI18n();
|
|
const Day = ref(props.modelValue);
|
|
const datePicker = inject("datePicker");
|
|
const dateList = ref([]);
|
|
const MONTH_NAME = computed$1(() => [
|
|
t("datePicker.january"),
|
|
t("datePicker.february"),
|
|
t("datePicker.march"),
|
|
t("datePicker.april"),
|
|
t("datePicker.may"),
|
|
t("datePicker.june"),
|
|
t("datePicker.july"),
|
|
t("datePicker.august"),
|
|
t("datePicker.september"),
|
|
t("datePicker.october"),
|
|
t("datePicker.november"),
|
|
t("datePicker.december")
|
|
]);
|
|
watch([datePicker.currentYear, datePicker.currentMonth], () => {
|
|
dateList.value = setDateList(datePicker.currentYear.value, datePicker.currentMonth.value);
|
|
}, { immediate: true });
|
|
watch(() => props.modelValue, () => {
|
|
Day.value = props.modelValue;
|
|
});
|
|
const changeYearOrMonth = (type4, num) => {
|
|
if (type4 === "year") {
|
|
datePicker.currentYear.value += num;
|
|
} else {
|
|
let month = datePicker.currentMonth.value + num;
|
|
if (month > 11) {
|
|
month = 0;
|
|
datePicker.currentYear.value++;
|
|
} else if (month < 0) {
|
|
month = 11;
|
|
datePicker.currentYear.value--;
|
|
}
|
|
datePicker.currentMonth.value = month;
|
|
}
|
|
};
|
|
const footOnOk = () => {
|
|
emits("update:modelValue", Day.value);
|
|
datePicker.ok();
|
|
};
|
|
const footOnNow = () => {
|
|
datePicker.currentYear.value = dayjs().year();
|
|
datePicker.currentMonth.value = dayjs().month();
|
|
Day.value = new Date(new Date().toDateString()).getTime();
|
|
};
|
|
const footOnClear = () => {
|
|
Day.value = -1;
|
|
};
|
|
const ChildUpdateModelValue = () => {
|
|
emits("update:modelValue", Day.value);
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$a, [
|
|
createElementVNode("div", _hoisted_2$9, [
|
|
createElementVNode("div", _hoisted_3$9, [
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-prev-y",
|
|
onClick: _cache[0] || (_cache[0] = ($event) => changeYearOrMonth("year", -1))
|
|
}, "\uE65A"),
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-prev-m",
|
|
onClick: _cache[1] || (_cache[1] = ($event) => changeYearOrMonth("month", -1))
|
|
}, "\uE603"),
|
|
createElementVNode("div", _hoisted_4$7, [
|
|
createElementVNode("span", {
|
|
onClick: _cache[2] || (_cache[2] = ($event) => unref(datePicker).showPanel.value = "year")
|
|
}, toDisplayString$1(unref(datePicker).currentYear.value) + " " + toDisplayString$1(unref(t)("datePicker.year")), 1),
|
|
createElementVNode("span", {
|
|
onClick: _cache[3] || (_cache[3] = ($event) => unref(datePicker).showPanel.value = "month")
|
|
}, toDisplayString$1(unref(MONTH_NAME)[unref(datePicker).currentMonth.value]), 1)
|
|
]),
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-next-m",
|
|
onClick: _cache[4] || (_cache[4] = ($event) => changeYearOrMonth("month", 1))
|
|
}, "\uE602"),
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-next-y",
|
|
onClick: _cache[5] || (_cache[5] = ($event) => changeYearOrMonth("year", 1))
|
|
}, "\uE65B")
|
|
]),
|
|
createVNode(_sfc_main$f, {
|
|
"date-list": dateList.value,
|
|
modelValue: Day.value,
|
|
"onUpdate:modelValue": [
|
|
_cache[6] || (_cache[6] = ($event) => Day.value = $event),
|
|
ChildUpdateModelValue
|
|
],
|
|
onSimple: footOnOk
|
|
}, null, 8, ["date-list", "modelValue"]),
|
|
createVNode(_sfc_main$g, {
|
|
onOk: footOnOk,
|
|
onNow: footOnNow,
|
|
onClear: footOnClear
|
|
}, {
|
|
default: withCtx(() => [
|
|
unref(datePicker).type === "datetime" ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
onClick: _cache[7] || (_cache[7] = ($event) => unref(datePicker).showPanel.value = "time"),
|
|
class: "laydate-btns-time"
|
|
}, toDisplayString$1(unref(t)("datePicker.selectTime")), 1)) : createCommentVNode("", true)
|
|
]),
|
|
_: 1
|
|
})
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$9 = { class: "layui-laydate" };
|
|
const _hoisted_2$8 = { class: "layui-laydate-main laydate-main-list-0 laydate-time-show" };
|
|
const _hoisted_3$8 = { class: "layui-laydate-header" };
|
|
const _hoisted_4$6 = { class: "laydate-set-ym" };
|
|
const _hoisted_5$5 = { class: "laydate-time-text" };
|
|
const _hoisted_6$5 = {
|
|
class: "layui-laydate-content",
|
|
style: { "height": "210px" }
|
|
};
|
|
const _hoisted_7$5 = ["data-type"];
|
|
const _hoisted_8$2 = ["id", "data-value", "data-type"];
|
|
const __default__$c = {
|
|
name: "TimePanel"
|
|
};
|
|
const _sfc_main$d = defineComponent({
|
|
...__default__$c,
|
|
props: {
|
|
modelValue: null
|
|
},
|
|
emits: ["update:modelValue", "ok"],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const datePicker = inject("datePicker");
|
|
const { t } = useI18n();
|
|
const els = [
|
|
{ count: 24, type: "hh" },
|
|
{ count: 60, type: "mm" },
|
|
{ count: 60, type: "ss" }
|
|
];
|
|
const hms = ref({
|
|
hh: props.modelValue.hh,
|
|
mm: props.modelValue.mm,
|
|
ss: props.modelValue.ss
|
|
});
|
|
const chooseTime = (e) => {
|
|
if (e.target.nodeName == "LI") {
|
|
let { value, type: type4 } = e.target.dataset;
|
|
hms.value[type4] = parseInt(value);
|
|
}
|
|
};
|
|
const timePanelRef = ref();
|
|
onMounted(() => {
|
|
scrollTo();
|
|
});
|
|
watch(() => props.modelValue, () => {
|
|
hms.value = {
|
|
hh: props.modelValue.hh,
|
|
mm: props.modelValue.mm,
|
|
ss: props.modelValue.ss
|
|
};
|
|
}, { deep: true });
|
|
const scrollTo = () => {
|
|
nextTick(() => {
|
|
timePanelRef.value.childNodes.forEach((element) => {
|
|
if (element.nodeName === "LI") {
|
|
let scrollTop = 0;
|
|
let parentDom = element.firstElementChild;
|
|
let childList = parentDom.childNodes;
|
|
for (let index2 = 0; index2 < childList.length; index2++) {
|
|
const child = childList[index2];
|
|
if (child.nodeName !== "LI") {
|
|
continue;
|
|
}
|
|
if (child.classList && child.classList.contains("layui-this")) {
|
|
scrollTop = child.offsetTop - (parentDom.offsetHeight - child.offsetHeight) / 2;
|
|
parentDom.scrollTo(0, scrollTop);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
};
|
|
const footOnOk = () => {
|
|
emits("update:modelValue", hms.value);
|
|
if (datePicker.range) {
|
|
emits("ok");
|
|
return;
|
|
} else {
|
|
datePicker.ok();
|
|
if (datePicker.type === "datetime") {
|
|
datePicker.showPanel.value = "date";
|
|
}
|
|
}
|
|
};
|
|
const footOnNow = () => {
|
|
hms.value.hh = dayjs().hour();
|
|
hms.value.mm = dayjs().minute();
|
|
hms.value.ss = dayjs().second();
|
|
scrollTo();
|
|
};
|
|
const footOnClear = () => {
|
|
hms.value.hh = 0;
|
|
hms.value.mm = 0;
|
|
hms.value.ss = 0;
|
|
scrollTo();
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$9, [
|
|
createElementVNode("div", _hoisted_2$8, [
|
|
createElementVNode("div", _hoisted_3$8, [
|
|
createElementVNode("div", _hoisted_4$6, [
|
|
createElementVNode("span", _hoisted_5$5, toDisplayString$1(unref(t)("datePicker.selectTime")), 1)
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_6$5, [
|
|
createElementVNode("ul", {
|
|
class: "layui-laydate-list laydate-time-list",
|
|
ref_key: "timePanelRef",
|
|
ref: timePanelRef
|
|
}, [
|
|
(openBlock(), createElementBlock(Fragment, null, renderList(els, (item) => {
|
|
return createElementVNode("li", {
|
|
class: "num-list",
|
|
key: item.type,
|
|
"data-type": item.type
|
|
}, [
|
|
createElementVNode("ol", {
|
|
class: "scroll",
|
|
onClick: chooseTime
|
|
}, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(item.count, (it, index2) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
id: item.type + index2.toString(),
|
|
"data-value": index2.toString().padStart(2, "0"),
|
|
"data-type": item.type,
|
|
key: it,
|
|
class: normalizeClass(["num", index2 == hms.value[item.type] ? "layui-this" : ""])
|
|
}, toDisplayString$1(index2.toString().padStart(2, "0")), 11, _hoisted_8$2);
|
|
}), 128))
|
|
])
|
|
], 8, _hoisted_7$5);
|
|
}), 64))
|
|
], 512)
|
|
])
|
|
]),
|
|
createVNode(_sfc_main$g, {
|
|
onOk: footOnOk,
|
|
onNow: footOnNow,
|
|
onClear: footOnClear
|
|
}, {
|
|
default: withCtx(() => [
|
|
unref(datePicker).type === "datetime" && !unref(datePicker).range ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(datePicker).showPanel.value = "datetime"),
|
|
class: "laydate-btns-time"
|
|
}, toDisplayString$1(unref(t)("datePicker.selectDate")), 1)) : !isNaN(hms.value.hh) && !isNaN(hms.value.mm) && !isNaN(hms.value.ss) ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(unref(dayjs)().hour(hms.value.hh).minute(hms.value.mm).second(hms.value.ss).format("HH:mm:ss")), 1)
|
|
], 64)) : createCommentVNode("", true)
|
|
]),
|
|
_: 1
|
|
})
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$8 = { class: "layui-laydate" };
|
|
const _hoisted_2$7 = { class: "layui-laydate-main laydate-main-list-0 laydate-ym-show" };
|
|
const _hoisted_3$7 = { class: "layui-laydate-header" };
|
|
const _hoisted_4$5 = { class: "laydate-set-ym" };
|
|
const _hoisted_5$4 = { class: "laydate-time-text" };
|
|
const _hoisted_6$4 = { class: "layui-laydate-list laydate-year-list" };
|
|
const _hoisted_7$4 = ["onClick"];
|
|
const __default__$b = {
|
|
name: "YearPanel"
|
|
};
|
|
const _sfc_main$c = defineComponent({
|
|
...__default__$b,
|
|
props: {
|
|
modelValue: null,
|
|
max: { default: dayjs().year() + 100 }
|
|
},
|
|
emits: ["update:modelValue", "ok"],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const datePicker = inject("datePicker");
|
|
const yearList = ref(getYears());
|
|
const unWatch = ref(false);
|
|
const Year = ref(props.modelValue);
|
|
const { t } = useI18n();
|
|
const handleYearClick = (item) => {
|
|
unWatch.value = true;
|
|
Year.value = item;
|
|
if (!datePicker.range) {
|
|
if (datePicker.type === "year") {
|
|
datePicker.currentDay.value = dayjs().year(item).valueOf();
|
|
} else if (datePicker.type === "yearmonth") {
|
|
datePicker.currentDay.value = dayjs().year(item).valueOf();
|
|
datePicker.showPanel.value = "month";
|
|
emits("update:modelValue", Year.value);
|
|
} else {
|
|
emits("update:modelValue", Year.value);
|
|
datePicker.showPanel.value = datePicker.type;
|
|
}
|
|
}
|
|
setTimeout(() => {
|
|
unWatch.value = false;
|
|
}, 0);
|
|
if (datePicker.simple) {
|
|
footOnOk();
|
|
}
|
|
};
|
|
const ScrollRef = ref();
|
|
onMounted(() => {
|
|
scrollTo();
|
|
});
|
|
watch(() => Year, () => {
|
|
Year.value = props.modelValue;
|
|
});
|
|
const scrollTo = () => {
|
|
nextTick(() => {
|
|
let scrollTop = 0;
|
|
for (const child of ScrollRef.value.firstElementChild.childNodes) {
|
|
if (child.classList && child.classList.contains("layui-this")) {
|
|
scrollTop = child.offsetTop - (ScrollRef.value.offsetHeight - child.offsetHeight) / 2;
|
|
break;
|
|
}
|
|
}
|
|
ScrollRef.value.scrollTo(0, scrollTop);
|
|
});
|
|
};
|
|
const footOnOk = () => {
|
|
emits("update:modelValue", Year.value ? Year.value : -1);
|
|
if (datePicker.range) {
|
|
emits("ok");
|
|
return;
|
|
} else {
|
|
if (datePicker.type === "datetime" || datePicker.type === "date") {
|
|
datePicker.showPanel.value = datePicker.type;
|
|
} else {
|
|
datePicker.ok();
|
|
}
|
|
}
|
|
};
|
|
const footOnNow = () => {
|
|
Year.value = dayjs().year();
|
|
if (datePicker.type === "yearmonth") {
|
|
datePicker.currentMonth.value = dayjs().month();
|
|
}
|
|
scrollTo();
|
|
};
|
|
const footOnClear = () => {
|
|
Year.value = "";
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$8, [
|
|
createElementVNode("div", _hoisted_2$7, [
|
|
createElementVNode("div", _hoisted_3$7, [
|
|
createElementVNode("div", _hoisted_4$5, [
|
|
createElementVNode("span", _hoisted_5$4, toDisplayString$1(unref(t)("datePicker.selectYear")), 1)
|
|
])
|
|
])
|
|
]),
|
|
createElementVNode("div", {
|
|
class: "layui-laydate-content",
|
|
style: { "height": "220px", "overflow-y": "auto" },
|
|
ref_key: "ScrollRef",
|
|
ref: ScrollRef
|
|
}, [
|
|
createElementVNode("ul", _hoisted_6$4, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(yearList.value, (item) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
key: item,
|
|
class: normalizeClass({ "layui-this": Year.value === item }),
|
|
onClick: ($event) => handleYearClick(item)
|
|
}, toDisplayString$1(item), 11, _hoisted_7$4);
|
|
}), 128))
|
|
])
|
|
], 512),
|
|
createVNode(_sfc_main$g, {
|
|
onOk: footOnOk,
|
|
onNow: footOnNow,
|
|
onClear: footOnClear
|
|
}, {
|
|
default: withCtx(() => [
|
|
unref(datePicker).type === "yearmonth" ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(datePicker).showPanel.value = "month"),
|
|
class: "laydate-btns-time"
|
|
}, toDisplayString$1(unref(t)("datePicker.selectMonth")), 1)) : Year.value > 0 ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(Year.value), 1)
|
|
], 64)) : createCommentVNode("", true)
|
|
]),
|
|
_: 1
|
|
})
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$7 = { class: "layui-laydate" };
|
|
const _hoisted_2$6 = { class: "layui-laydate-main laydate-main-list-0 laydate-ym-show" };
|
|
const _hoisted_3$6 = { class: "layui-laydate-header" };
|
|
const _hoisted_4$4 = { class: "laydate-set-ym" };
|
|
const _hoisted_5$3 = {
|
|
class: "layui-laydate-content",
|
|
style: { "height": "220px" }
|
|
};
|
|
const _hoisted_6$3 = { class: "layui-laydate-list laydate-month-list" };
|
|
const _hoisted_7$3 = ["onClick"];
|
|
const __default__$a = {
|
|
name: "TimePanel"
|
|
};
|
|
const _sfc_main$b = defineComponent({
|
|
...__default__$a,
|
|
props: {
|
|
modelValue: null,
|
|
max: { default: dayjs().year() + 100 }
|
|
},
|
|
emits: ["update:modelValue", "ok"],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const datePicker = inject("datePicker");
|
|
const Month = ref(props.modelValue);
|
|
const { t } = useI18n();
|
|
const MONTH_NAME = computed$1(() => [
|
|
t("datePicker.january"),
|
|
t("datePicker.february"),
|
|
t("datePicker.march"),
|
|
t("datePicker.april"),
|
|
t("datePicker.may"),
|
|
t("datePicker.june"),
|
|
t("datePicker.july"),
|
|
t("datePicker.august"),
|
|
t("datePicker.september"),
|
|
t("datePicker.october"),
|
|
t("datePicker.november"),
|
|
t("datePicker.december")
|
|
]);
|
|
const handleMonthClick = (item) => {
|
|
Month.value = MONTH_NAME.value.indexOf(item);
|
|
if (!datePicker.range) {
|
|
if (datePicker.type === "yearmonth") {
|
|
datePicker.currentDay.value = dayjs(datePicker.currentDay.value).month(MONTH_NAME.value.indexOf(item)).valueOf();
|
|
}
|
|
if (datePicker.type === "date" || datePicker.type === "datetime") {
|
|
emits("update:modelValue", MONTH_NAME.value.indexOf(item));
|
|
datePicker.showPanel.value = datePicker.type;
|
|
}
|
|
}
|
|
if (datePicker.simple) {
|
|
footOnOk();
|
|
}
|
|
};
|
|
watch(() => props.modelValue, () => {
|
|
Month.value = props.modelValue;
|
|
});
|
|
const footOnOk = () => {
|
|
emits("update:modelValue", Month.value ? Month.value : -1);
|
|
if (datePicker.range) {
|
|
emits("ok");
|
|
return;
|
|
} else {
|
|
if (datePicker.type === "datetime" || datePicker.type === "date") {
|
|
datePicker.showPanel.value = datePicker.type;
|
|
} else {
|
|
datePicker.ok();
|
|
}
|
|
}
|
|
};
|
|
const footOnNow = () => {
|
|
Month.value = dayjs().month();
|
|
};
|
|
const footOnClear = () => {
|
|
Month.value = "";
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$7, [
|
|
createElementVNode("div", _hoisted_2$6, [
|
|
createElementVNode("div", _hoisted_3$6, [
|
|
createElementVNode("div", _hoisted_4$4, [
|
|
createElementVNode("span", {
|
|
onClick: _cache[0] || (_cache[0] = ($event) => unref(datePicker).showPanel.value = "month")
|
|
}, toDisplayString$1(typeof Month.value !== "string" ? unref(MONTH_NAME)[Month.value] : unref(t)("datePicker.selectMonth")), 1)
|
|
])
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_5$3, [
|
|
createElementVNode("ul", _hoisted_6$3, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(MONTH_NAME), (item) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
key: item,
|
|
class: normalizeClass({ "layui-this": unref(MONTH_NAME).indexOf(item) === Month.value }),
|
|
onClick: ($event) => handleMonthClick(item)
|
|
}, toDisplayString$1(item.slice(0, 3)), 11, _hoisted_7$3);
|
|
}), 128))
|
|
])
|
|
]),
|
|
createVNode(_sfc_main$g, {
|
|
onOk: footOnOk,
|
|
onNow: footOnNow,
|
|
onClear: footOnClear
|
|
}, {
|
|
default: withCtx(() => [
|
|
unref(datePicker).type === "yearmonth" ? (openBlock(), createElementBlock("span", {
|
|
key: 0,
|
|
onClick: _cache[1] || (_cache[1] = ($event) => unref(datePicker).showPanel.value = "year"),
|
|
class: "laydate-btns-time"
|
|
}, toDisplayString$1(unref(t)("datePicker.selectYear")), 1)) : createCommentVNode("", true)
|
|
]),
|
|
_: 1
|
|
})
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$6 = { style: { "display": "flex" } };
|
|
const _hoisted_2$5 = { class: "layui-laydate-main laydate-main-list-0" };
|
|
const _hoisted_3$5 = { class: "layui-laydate-header" };
|
|
const _hoisted_4$3 = { class: "laydate-set-ym" };
|
|
const _hoisted_5$2 = { class: "laydate-range-time" };
|
|
const _hoisted_6$2 = { class: "laydate-range-time" };
|
|
const _hoisted_7$2 = { class: "laydate-range-time" };
|
|
const _hoisted_8$1 = { class: "layui-laydate-main laydate-main-list-0" };
|
|
const _hoisted_9$1 = { class: "layui-laydate-header" };
|
|
const _hoisted_10$1 = { class: "laydate-set-ym" };
|
|
const _hoisted_11$1 = { class: "laydate-range-time" };
|
|
const _hoisted_12$1 = { class: "laydate-range-time" };
|
|
const _hoisted_13$1 = { class: "laydate-range-time" };
|
|
const _hoisted_14$1 = {
|
|
key: 0,
|
|
class: "layui-laydate-preview"
|
|
};
|
|
const __default__$9 = {
|
|
name: "DateRange"
|
|
};
|
|
const _sfc_main$a = defineComponent({
|
|
...__default__$9,
|
|
props: {
|
|
startTime: null,
|
|
endTime: null
|
|
},
|
|
emits: [
|
|
"update:modelValue",
|
|
"update:startTime",
|
|
"update:endTime"
|
|
],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const datePicker = inject("datePicker");
|
|
const { t } = useI18n();
|
|
const MONTH_NAME = computed$1(() => [
|
|
t("datePicker.january"),
|
|
t("datePicker.february"),
|
|
t("datePicker.march"),
|
|
t("datePicker.april"),
|
|
t("datePicker.may"),
|
|
t("datePicker.june"),
|
|
t("datePicker.july"),
|
|
t("datePicker.august"),
|
|
t("datePicker.september"),
|
|
t("datePicker.october"),
|
|
t("datePicker.november"),
|
|
t("datePicker.december")
|
|
]);
|
|
const prevDateList = ref([]);
|
|
const nextDateList = ref([]);
|
|
const startTime = reactive({
|
|
year: props.startTime ? dayjs(props.startTime).year() : dayjs().year(),
|
|
month: props.startTime ? dayjs(props.startTime).month() : dayjs().month(),
|
|
day: props.startTime ? dayjs(props.startTime).startOf("day").valueOf() : -1,
|
|
hms: {
|
|
hh: props.startTime ? dayjs(props.startTime).hour() : 0,
|
|
mm: props.startTime ? dayjs(props.startTime).minute() : 0,
|
|
ss: props.startTime ? dayjs(props.startTime).second() : 0
|
|
}
|
|
});
|
|
const endTime = reactive({
|
|
year: props.endTime ? dayjs(props.endTime).year() : dayjs().year(),
|
|
month: props.endTime ? dayjs(props.endTime).month() : dayjs().month(),
|
|
day: props.endTime ? dayjs(props.endTime).startOf("day").valueOf() : -1,
|
|
hms: {
|
|
hh: props.endTime ? dayjs(props.endTime).hour() : 0,
|
|
mm: props.endTime ? dayjs(props.endTime).minute() : 0,
|
|
ss: props.endTime ? dayjs(props.endTime).second() : 0
|
|
}
|
|
});
|
|
const hoverDate = ref(-1);
|
|
const changeYearOrMonth = (type4, num) => {
|
|
if (type4 === "year") {
|
|
startTime.year += num;
|
|
} else {
|
|
let month = startTime.month + num;
|
|
if (month > 11) {
|
|
month = 0;
|
|
startTime.year++;
|
|
} else if (month < 0) {
|
|
month = 11;
|
|
startTime.year--;
|
|
}
|
|
startTime.month = month;
|
|
}
|
|
};
|
|
watch(() => [startTime.year, startTime.month], () => {
|
|
prevDateList.value = setDateList(startTime.year, startTime.month);
|
|
nextDateList.value = setDateList(startTime.year, startTime.month + 1);
|
|
}, { immediate: true });
|
|
const dropdownTimePanelRefLeft = ref();
|
|
const dropdownTimePanelRefRight = ref();
|
|
const dropdownYearPanelRefLeft = ref();
|
|
const dropdownYearPanelRefRight = ref();
|
|
const dropdownMonthPanelRefLeft = ref();
|
|
const dropdownMonthPanelRefRight = ref();
|
|
const closeTimePanel = () => {
|
|
if (dropdownTimePanelRefLeft.value)
|
|
dropdownTimePanelRefLeft.value.hide();
|
|
if (dropdownTimePanelRefRight.value)
|
|
dropdownTimePanelRefRight.value.hide();
|
|
if (dropdownYearPanelRefLeft.value)
|
|
dropdownYearPanelRefLeft.value.hide();
|
|
if (dropdownMonthPanelRefLeft.value)
|
|
dropdownMonthPanelRefLeft.value.hide();
|
|
};
|
|
const closeRightYearPanel = () => {
|
|
if (dropdownYearPanelRefRight.value)
|
|
dropdownYearPanelRefRight.value.hide();
|
|
startTime.year = endTime.year;
|
|
};
|
|
const closeRightMonthPanel = () => {
|
|
dropdownMonthPanelRefRight.value.hide();
|
|
let month = endTime.month - 1;
|
|
if (month > 11) {
|
|
month = 0;
|
|
startTime.year++;
|
|
} else if (month < 0) {
|
|
month = 11;
|
|
startTime.year--;
|
|
}
|
|
startTime.month = month;
|
|
};
|
|
const footOnOk = () => {
|
|
let format2 = datePicker.type === "datetime" ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
|
|
let startTimeVal = startTime.day !== -1 && endTime.day !== -1 ? dayjs(startTime.day).hour(startTime.hms.hh).minute(startTime.hms.mm).second(startTime.hms.ss).format(format2) : "";
|
|
let endTimeVal = startTime.day !== -1 && endTime.day !== -1 ? dayjs(endTime.day).hour(endTime.hms.hh).minute(endTime.hms.mm).second(endTime.hms.ss).format(format2) : "";
|
|
emits("update:startTime", startTimeVal);
|
|
emits("update:endTime", endTimeVal);
|
|
datePicker.ok();
|
|
};
|
|
const footOnNow = () => {
|
|
startTime.year = dayjs().year();
|
|
startTime.month = dayjs().month();
|
|
startTime.day = new Date(new Date().toDateString()).getTime();
|
|
startTime.hms.hh = dayjs().hour();
|
|
startTime.hms.mm = dayjs().minute();
|
|
startTime.hms.ss = dayjs().second();
|
|
endTime.day = -1;
|
|
};
|
|
const footOnClear = () => {
|
|
startTime.day = -1;
|
|
endTime.day = -1;
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-laydate layui-laydate-range", "layui-laydate-range-" + unref(datePicker).showPanel.value])
|
|
}, [
|
|
createElementVNode("div", _hoisted_1$6, [
|
|
createElementVNode("div", _hoisted_2$5, [
|
|
createElementVNode("div", _hoisted_3$5, [
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-prev-y",
|
|
onClick: _cache[0] || (_cache[0] = ($event) => changeYearOrMonth("year", -1))
|
|
}, "\uE65A"),
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-prev-m",
|
|
onClick: _cache[1] || (_cache[1] = ($event) => changeYearOrMonth("month", -1))
|
|
}, "\uE603"),
|
|
createElementVNode("div", _hoisted_4$3, [
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "dropdownYearPanelRefLeft",
|
|
ref: dropdownYearPanelRefLeft
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(_sfc_main$c, {
|
|
class: "time-panel",
|
|
modelValue: startTime.year,
|
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => startTime.year = $event),
|
|
onOk: closeTimePanel
|
|
}, null, 8, ["modelValue"])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("span", _hoisted_5$2, toDisplayString$1(startTime.year || "--") + " " + toDisplayString$1(unref(t)("datePicker.year")), 1)
|
|
]),
|
|
_: 1
|
|
}, 512),
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "dropdownMonthPanelRefLeft",
|
|
ref: dropdownMonthPanelRefLeft
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(_sfc_main$b, {
|
|
class: "time-panel",
|
|
modelValue: startTime.month,
|
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => startTime.month = $event),
|
|
onOk: closeTimePanel
|
|
}, null, 8, ["modelValue"])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("span", _hoisted_6$2, toDisplayString$1(unref(MONTH_NAME)[startTime.month]), 1)
|
|
]),
|
|
_: 1
|
|
}, 512),
|
|
unref(datePicker).type === "datetime" ? (openBlock(), createBlock(_sfc_main$1y, {
|
|
key: 0,
|
|
ref_key: "dropdownTimePanelRefLeft",
|
|
ref: dropdownTimePanelRefLeft
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(_sfc_main$d, {
|
|
modelValue: startTime.hms,
|
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => startTime.hms = $event),
|
|
class: "time-panel",
|
|
onOk: closeTimePanel
|
|
}, null, 8, ["modelValue"])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("span", _hoisted_7$2, toDisplayString$1(unref(dayjs)().hour(startTime.hms.hh).minute(startTime.hms.mm).second(startTime.hms.ss).format("HH:mm:ss")), 1)
|
|
]),
|
|
_: 1
|
|
}, 512)) : createCommentVNode("", true)
|
|
])
|
|
]),
|
|
createVNode(_sfc_main$f, {
|
|
"date-list": prevDateList.value,
|
|
hoverDate: hoverDate.value,
|
|
"onUpdate:hoverDate": _cache[5] || (_cache[5] = ($event) => hoverDate.value = $event),
|
|
startDate: startTime.day,
|
|
"onUpdate:startDate": _cache[6] || (_cache[6] = ($event) => startTime.day = $event),
|
|
endDate: endTime.day,
|
|
"onUpdate:endDate": _cache[7] || (_cache[7] = ($event) => endTime.day = $event)
|
|
}, null, 8, ["date-list", "hoverDate", "startDate", "endDate"])
|
|
]),
|
|
createElementVNode("div", _hoisted_8$1, [
|
|
createElementVNode("div", _hoisted_9$1, [
|
|
createElementVNode("div", _hoisted_10$1, [
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "dropdownYearPanelRefRight",
|
|
ref: dropdownYearPanelRefRight
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(_sfc_main$c, {
|
|
class: "time-panel",
|
|
modelValue: endTime.year,
|
|
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => endTime.year = $event),
|
|
onOk: closeRightYearPanel
|
|
}, null, 8, ["modelValue"])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("span", _hoisted_11$1, toDisplayString$1(startTime.month + 1 > 11 ? startTime.year + 1 : startTime.year) + " " + toDisplayString$1(unref(t)("datePicker.year")), 1)
|
|
]),
|
|
_: 1
|
|
}, 512),
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "dropdownMonthPanelRefRight",
|
|
ref: dropdownMonthPanelRefRight
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(_sfc_main$b, {
|
|
class: "time-panel",
|
|
modelValue: endTime.month,
|
|
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => endTime.month = $event),
|
|
onOk: closeRightMonthPanel
|
|
}, null, 8, ["modelValue"])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("span", _hoisted_12$1, toDisplayString$1(unref(MONTH_NAME)[startTime.month + 1 > 11 ? startTime.month + 1 - 12 : startTime.month + 1]), 1)
|
|
]),
|
|
_: 1
|
|
}, 512),
|
|
unref(datePicker).type === "datetime" ? (openBlock(), createBlock(_sfc_main$1y, {
|
|
key: 0,
|
|
ref_key: "dropdownTimePanelRefRight",
|
|
ref: dropdownTimePanelRefRight
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(_sfc_main$d, {
|
|
modelValue: endTime.hms,
|
|
"onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => endTime.hms = $event),
|
|
class: "time-panel",
|
|
onOk: closeTimePanel
|
|
}, null, 8, ["modelValue"])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("span", _hoisted_13$1, toDisplayString$1(unref(dayjs)().hour(endTime.hms.hh).minute(endTime.hms.mm).second(endTime.hms.ss).format("HH:mm:ss")), 1)
|
|
]),
|
|
_: 1
|
|
}, 512)) : createCommentVNode("", true)
|
|
]),
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-next-m",
|
|
onClick: _cache[11] || (_cache[11] = ($event) => changeYearOrMonth("month", 1))
|
|
}, "\uE602"),
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-next-y",
|
|
onClick: _cache[12] || (_cache[12] = ($event) => changeYearOrMonth("year", 1))
|
|
}, "\uE65B")
|
|
]),
|
|
createVNode(_sfc_main$f, {
|
|
"date-list": nextDateList.value,
|
|
hoverDate: hoverDate.value,
|
|
"onUpdate:hoverDate": _cache[13] || (_cache[13] = ($event) => hoverDate.value = $event),
|
|
startDate: startTime.day,
|
|
"onUpdate:startDate": _cache[14] || (_cache[14] = ($event) => startTime.day = $event),
|
|
endDate: endTime.day,
|
|
"onUpdate:endDate": _cache[15] || (_cache[15] = ($event) => endTime.day = $event)
|
|
}, null, 8, ["date-list", "hoverDate", "startDate", "endDate"])
|
|
])
|
|
]),
|
|
createVNode(_sfc_main$g, {
|
|
onOk: footOnOk,
|
|
onNow: footOnNow,
|
|
onClear: footOnClear
|
|
}, {
|
|
default: withCtx(() => [
|
|
startTime.day !== -1 ? (openBlock(), createElementBlock("span", _hoisted_14$1, [
|
|
createTextVNode(toDisplayString$1(unref(dayjs)(startTime.day).format("YYYY-MM-DD")) + " ", 1),
|
|
unref(datePicker).type === "datetime" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
createTextVNode(toDisplayString$1(unref(dayjs)().hour(startTime.hms.hh).minute(startTime.hms.mm).second(startTime.hms.ss).format("HH:mm:ss")), 1)
|
|
], 64)) : createCommentVNode("", true),
|
|
createTextVNode(" " + toDisplayString$1(unref(datePicker).rangeSeparator) + " ", 1),
|
|
endTime.day !== -1 ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(unref(dayjs)(endTime.day).format("YYYY-MM-DD")) + " ", 1),
|
|
unref(datePicker).type === "datetime" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
createTextVNode(toDisplayString$1(unref(dayjs)().hour(endTime.hms.hh).minute(endTime.hms.mm).second(endTime.hms.ss).format("HH:mm:ss")), 1)
|
|
], 64)) : createCommentVNode("", true)
|
|
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
|
|
createTextVNode(" -- ")
|
|
], 64))
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
_: 1
|
|
})
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$5 = { class: "layui-laydate layui-laydate-range" };
|
|
const _hoisted_2$4 = { style: { "display": "flex" } };
|
|
const _hoisted_3$4 = { class: "layui-laydate-main laydate-main-list-0" };
|
|
const _hoisted_4$2 = { class: "layui-laydate-header" };
|
|
const _hoisted_5$1 = { class: "laydate-set-ym" };
|
|
const _hoisted_6$1 = { class: "laydate-range-time" };
|
|
const _hoisted_7$1 = {
|
|
class: "layui-laydate-content",
|
|
style: { "height": "220px" }
|
|
};
|
|
const _hoisted_8 = { class: "layui-laydate-list laydate-month-list" };
|
|
const _hoisted_9 = ["data-unix", "onClick", "onMouseenter"];
|
|
const _hoisted_10 = { class: "layui-laydate-main laydate-main-list-0" };
|
|
const _hoisted_11 = { class: "layui-laydate-header" };
|
|
const _hoisted_12 = { class: "laydate-set-ym" };
|
|
const _hoisted_13 = { class: "laydate-range-time" };
|
|
const _hoisted_14 = {
|
|
class: "layui-laydate-content",
|
|
style: { "height": "220px" }
|
|
};
|
|
const _hoisted_15 = { class: "layui-laydate-list laydate-month-list" };
|
|
const _hoisted_16 = ["data-unix", "onClick", "onMouseenter"];
|
|
const _hoisted_17 = {
|
|
key: 0,
|
|
class: "layui-laydate-preview"
|
|
};
|
|
const __default__$8 = {
|
|
name: "MonthRange"
|
|
};
|
|
const _sfc_main$9 = defineComponent({
|
|
...__default__$8,
|
|
props: {
|
|
startTime: null,
|
|
endTime: null
|
|
},
|
|
emits: [
|
|
"update:modelValue",
|
|
"update:startTime",
|
|
"update:endTime"
|
|
],
|
|
setup(__props, { emit: emits }) {
|
|
const props = __props;
|
|
const { t } = useI18n();
|
|
const datePicker = inject("datePicker");
|
|
const startTime = reactive({
|
|
year: props.startTime ? dayjs(props.startTime).year() : dayjs().year(),
|
|
unix: props.startTime ? dayjs(props.startTime).hour(0).minute(0).second(0).valueOf() : -1
|
|
});
|
|
const endTime = reactive({
|
|
year: props.endTime ? dayjs(props.endTime).year() : dayjs().year() + 1,
|
|
unix: props.startTime ? dayjs(props.endTime).hour(0).minute(0).second(0).valueOf() : -1
|
|
});
|
|
let hoverMonth = ref(-1);
|
|
const MONTH_NAME = computed$1(() => [
|
|
t("datePicker.january"),
|
|
t("datePicker.february"),
|
|
t("datePicker.march"),
|
|
t("datePicker.april"),
|
|
t("datePicker.may"),
|
|
t("datePicker.june"),
|
|
t("datePicker.july"),
|
|
t("datePicker.august"),
|
|
t("datePicker.september"),
|
|
t("datePicker.october"),
|
|
t("datePicker.november"),
|
|
t("datePicker.december")
|
|
]);
|
|
const changeYear = (num) => {
|
|
startTime.year += num;
|
|
};
|
|
const handleMonthClick = (item) => {
|
|
if (startTime.unix === -1 && endTime.unix === -1) {
|
|
startTime.unix = item;
|
|
} else if (startTime.unix !== -1 && endTime.unix !== -1) {
|
|
hoverMonth.value = -1;
|
|
startTime.unix = item;
|
|
endTime.unix = -1;
|
|
} else if (startTime.unix !== -1 && endTime.unix === -1) {
|
|
endTime.unix = item;
|
|
if (item < startTime.unix) {
|
|
const first = startTime.unix;
|
|
const last = item;
|
|
startTime.unix = last;
|
|
endTime.unix = first;
|
|
}
|
|
}
|
|
};
|
|
watch(() => [props.startTime, props.endTime], () => {
|
|
startTime.year = props.startTime ? dayjs(props.startTime).year() : dayjs().year();
|
|
startTime.unix = props.startTime ? dayjs(props.startTime).hour(0).minute(0).second(0).valueOf() : -1;
|
|
endTime.year = props.endTime ? dayjs(props.endTime).year() : dayjs().year();
|
|
endTime.unix = props.startTime ? dayjs(props.endTime).hour(0).minute(0).second(0).valueOf() : -1;
|
|
});
|
|
const dropdownYearPanelRefLeft = ref();
|
|
const dropdownYearPanelRefRight = ref();
|
|
const closeLeftYearPanel = () => {
|
|
if (dropdownYearPanelRefLeft.value)
|
|
dropdownYearPanelRefLeft.value.hide();
|
|
};
|
|
const closeRightYearPanel = () => {
|
|
if (dropdownYearPanelRefRight.value)
|
|
dropdownYearPanelRefRight.value.hide();
|
|
startTime.year = endTime.year;
|
|
};
|
|
const footOnOk = () => {
|
|
let format2 = "YYYY-MM";
|
|
let startTimeVal = startTime.unix !== -1 && endTime.unix !== -1 ? dayjs(startTime.unix).format(format2) : "";
|
|
let endTimeVal = endTime.unix !== -1 && endTime.unix !== -1 ? dayjs(endTime.unix).format(format2) : "";
|
|
emits("update:startTime", startTimeVal);
|
|
emits("update:endTime", endTimeVal);
|
|
datePicker.ok();
|
|
};
|
|
const footOnNow = () => {
|
|
startTime.year = dayjs().year();
|
|
startTime.unix = dayjs(startTime.year + "-" + (dayjs().month() + 1)).valueOf();
|
|
endTime.unix = -1;
|
|
hoverMonth.value = -1;
|
|
};
|
|
const footOnClear = () => {
|
|
startTime.unix = -1;
|
|
endTime.unix = -1;
|
|
hoverMonth.value = -1;
|
|
};
|
|
const monthItemMouseEnter = (event, item) => {
|
|
if (!datePicker.range) {
|
|
return;
|
|
}
|
|
if (startTime.unix === -1) {
|
|
return;
|
|
}
|
|
if (hoverMonth.value !== -1 && endTime.unix !== -1) {
|
|
hoverMonth.value = -1;
|
|
return;
|
|
}
|
|
hoverMonth.value = parseInt(event.target.dataset.unix);
|
|
};
|
|
const ifHasRangeHoverClass = computed$1(() => {
|
|
return function(item) {
|
|
if (!datePicker.range) {
|
|
return false;
|
|
}
|
|
if (startTime.unix === -1) {
|
|
return false;
|
|
}
|
|
if (hoverMonth.value === -1 && endTime.unix === -1) {
|
|
return false;
|
|
}
|
|
let hover = endTime.unix !== -1 ? endTime.unix : hoverMonth.value;
|
|
let max = startTime.unix > hover ? startTime.unix : hover;
|
|
let min = startTime.unix < hover ? startTime.unix : hover;
|
|
if (item >= min && item <= max) {
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
});
|
|
const getUnix = computed$1(() => {
|
|
return function(item, position) {
|
|
let month = MONTH_NAME.value.indexOf(item);
|
|
let year = position === "left" ? startTime.year : startTime.year + 1;
|
|
return dayjs(year + "-" + (month + 1)).valueOf();
|
|
};
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$5, [
|
|
createElementVNode("div", _hoisted_2$4, [
|
|
createElementVNode("div", _hoisted_3$4, [
|
|
createElementVNode("div", _hoisted_4$2, [
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-prev-y",
|
|
onClick: _cache[0] || (_cache[0] = ($event) => changeYear(-1))
|
|
}, "\uE65A"),
|
|
createElementVNode("div", _hoisted_5$1, [
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "dropdownYearPanelRefLeft",
|
|
ref: dropdownYearPanelRefLeft
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(_sfc_main$c, {
|
|
class: "time-panel",
|
|
modelValue: startTime.year,
|
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => startTime.year = $event),
|
|
onOk: closeLeftYearPanel
|
|
}, null, 8, ["modelValue"])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("span", _hoisted_6$1, toDisplayString$1(startTime.year || "--") + " " + toDisplayString$1(unref(t)("datePicker.year")), 1)
|
|
]),
|
|
_: 1
|
|
}, 512)
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_7$1, [
|
|
createElementVNode("ul", _hoisted_8, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(MONTH_NAME), (item) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
key: item,
|
|
"data-unix": unref(getUnix)(item, "left"),
|
|
class: normalizeClass({
|
|
"layui-this": unref(getUnix)(item, "left") === startTime.unix || unref(getUnix)(item, "left") === endTime.unix,
|
|
"laydate-range-hover": unref(ifHasRangeHoverClass)(unref(getUnix)(item, "left"))
|
|
}),
|
|
onClick: ($event) => handleMonthClick(unref(getUnix)(item, "left")),
|
|
onMouseenter: ($event) => monthItemMouseEnter($event)
|
|
}, toDisplayString$1(item.slice(0, 3)), 43, _hoisted_9);
|
|
}), 128))
|
|
])
|
|
])
|
|
]),
|
|
createElementVNode("div", _hoisted_10, [
|
|
createElementVNode("div", _hoisted_11, [
|
|
createElementVNode("div", _hoisted_12, [
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "dropdownYearPanelRefRight",
|
|
ref: dropdownYearPanelRefRight
|
|
}, {
|
|
content: withCtx(() => [
|
|
createVNode(_sfc_main$c, {
|
|
class: "time-panel",
|
|
modelValue: endTime.year,
|
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => endTime.year = $event),
|
|
onOk: closeRightYearPanel
|
|
}, null, 8, ["modelValue"])
|
|
]),
|
|
default: withCtx(() => [
|
|
createElementVNode("span", _hoisted_13, toDisplayString$1(startTime.year + 1) + " " + toDisplayString$1(unref(t)("datePicker.year")), 1)
|
|
]),
|
|
_: 1
|
|
}, 512)
|
|
]),
|
|
createElementVNode("i", {
|
|
class: "layui-icon laydate-icon laydate-next-y",
|
|
onClick: _cache[3] || (_cache[3] = ($event) => changeYear(1))
|
|
}, "\uE65B")
|
|
]),
|
|
createElementVNode("div", _hoisted_14, [
|
|
createElementVNode("ul", _hoisted_15, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(MONTH_NAME), (item) => {
|
|
return openBlock(), createElementBlock("li", {
|
|
key: item,
|
|
"data-unix": unref(getUnix)(item, "right"),
|
|
class: normalizeClass({
|
|
"layui-this": unref(getUnix)(item, "right") === startTime.unix || unref(getUnix)(item, "right") === endTime.unix,
|
|
"laydate-range-hover": unref(ifHasRangeHoverClass)(unref(getUnix)(item, "right"))
|
|
}),
|
|
onClick: ($event) => handleMonthClick(unref(getUnix)(item, "right")),
|
|
onMouseenter: ($event) => monthItemMouseEnter($event)
|
|
}, toDisplayString$1(item.slice(0, 3)), 43, _hoisted_16);
|
|
}), 128))
|
|
])
|
|
])
|
|
])
|
|
]),
|
|
createVNode(_sfc_main$g, {
|
|
onOk: footOnOk,
|
|
onNow: footOnNow,
|
|
onClear: footOnClear
|
|
}, {
|
|
default: withCtx(() => [
|
|
startTime.unix !== -1 ? (openBlock(), createElementBlock("span", _hoisted_17, [
|
|
createTextVNode(toDisplayString$1(unref(dayjs)(startTime.unix).format("YYYY-MM-DD")) + " " + toDisplayString$1(unref(datePicker).rangeSeparator) + " ", 1),
|
|
endTime.unix !== -1 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
createTextVNode(toDisplayString$1(unref(dayjs)(endTime.unix).format("YYYY-MM-DD")), 1)
|
|
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(" -- ")
|
|
], 64))
|
|
])) : createCommentVNode("", true)
|
|
]),
|
|
_: 1
|
|
})
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const _hoisted_1$4 = ["size"];
|
|
const _hoisted_2$3 = {
|
|
key: 1,
|
|
class: "laydate-range-inputs"
|
|
};
|
|
const _hoisted_3$3 = { class: "range-separator" };
|
|
const __default__$7 = {
|
|
name: "LayDatePicker"
|
|
};
|
|
const _sfc_main$8 = defineComponent({
|
|
...__default__$7,
|
|
props: {
|
|
type: { default: "date" },
|
|
placeholder: null,
|
|
modelValue: { default: "" },
|
|
disabled: { type: Boolean, default: false },
|
|
simple: { type: Boolean, default: false },
|
|
name: null,
|
|
max: null,
|
|
min: null,
|
|
range: { type: Boolean, default: false },
|
|
rangeSeparator: { default: "\u81F3" },
|
|
readonly: { type: Boolean, default: false },
|
|
allowClear: { type: Boolean, default: false },
|
|
size: { default: "md" },
|
|
prefixIcon: { default: "layui-icon-date" },
|
|
suffixIcon: { default: "" },
|
|
timestamp: { type: Boolean, default: false },
|
|
contentClass: null,
|
|
contentStyle: null
|
|
},
|
|
emits: ["update:modelValue", "change", "blur", "focus"],
|
|
setup(__props, { emit: $emits }) {
|
|
const props = __props;
|
|
const startPlaceholder = computed(() => {
|
|
if (Array.isArray(props.placeholder)) {
|
|
return props.placeholder[0];
|
|
}
|
|
return props.placeholder;
|
|
});
|
|
const endPlaceholder = computed(() => {
|
|
if (Array.isArray(props.placeholder)) {
|
|
return props.placeholder[1];
|
|
}
|
|
return props.placeholder;
|
|
});
|
|
const dropdownRef = ref(null);
|
|
const hms = ref({
|
|
hh: 0,
|
|
mm: 0,
|
|
ss: 0
|
|
});
|
|
const currentYear = ref(0);
|
|
const currentMonth = ref(0);
|
|
const currentDay = ref(0);
|
|
const showPanel = ref("date");
|
|
const rangeValue = reactive({ first: "", last: "" });
|
|
let unWatch = false;
|
|
const dateValue = props.range ? ref(["", ""]) : ref("");
|
|
const getDateValue = () => {
|
|
unWatch = true;
|
|
let dayjsVal;
|
|
switch (props.type) {
|
|
case "date":
|
|
dayjsVal = currentDay.value !== -1 ? dayjs(currentDay.value).format("YYYY-MM-DD") : "";
|
|
break;
|
|
case "datetime":
|
|
dayjsVal = currentDay.value !== -1 ? dayjs(currentDay.value).hour(hms.value.hh).minute(hms.value.mm).second(hms.value.ss).format("YYYY-MM-DD HH:mm:ss") : "";
|
|
break;
|
|
case "year":
|
|
dayjsVal = currentYear.value !== -1 ? dayjs().year(currentYear.value).format("YYYY") : "";
|
|
break;
|
|
case "month":
|
|
dayjsVal = currentMonth.value !== -1 ? (currentMonth.value + 1).toString() : "";
|
|
break;
|
|
case "time":
|
|
dayjsVal = dayjs().hour(hms.value.hh).minute(hms.value.mm).second(hms.value.ss).format("HH:mm:ss");
|
|
break;
|
|
case "yearmonth":
|
|
dayjsVal = currentYear.value !== -1 && currentMonth.value !== -1 ? dayjs().year(currentYear.value).month(currentMonth.value).format("YYYY-MM") : "";
|
|
break;
|
|
default:
|
|
dayjsVal = currentDay.value !== -1 ? dayjs(currentDay.value).hour(hms.value.hh).minute(hms.value.mm).second(hms.value.ss).format() : "";
|
|
break;
|
|
}
|
|
dateValue.value = dayjsVal !== "Invalid Date" ? dayjsVal : "";
|
|
if (dayjsVal === "Invalid Date") {
|
|
unWatch = false;
|
|
$emits("update:modelValue", "");
|
|
return;
|
|
}
|
|
if (props.timestamp) {
|
|
$emits("update:modelValue", dayjs(dayjsVal).unix() * 1e3);
|
|
$emits("change", dayjs(dayjsVal).unix() * 1e3);
|
|
} else {
|
|
$emits("update:modelValue", dayjsVal);
|
|
$emits("change", dayjsVal);
|
|
}
|
|
setTimeout(() => {
|
|
unWatch = false;
|
|
}, 0);
|
|
};
|
|
const getDateValueByRange = () => {
|
|
unWatch = true;
|
|
if (rangeValue.first === "" || rangeValue.last === "") {
|
|
dateValue.value = ["", ""];
|
|
$emits("update:modelValue", dateValue.value);
|
|
$emits("change", dateValue.value);
|
|
return;
|
|
}
|
|
let format2 = "YYYY-MM-DD";
|
|
switch (props.type) {
|
|
case "date":
|
|
format2 = "YYYY-MM-DD";
|
|
break;
|
|
case "datetime":
|
|
format2 = "YYYY-MM-DD HH:mm:ss";
|
|
break;
|
|
case "yearmonth":
|
|
format2 = "YYYY-MM";
|
|
break;
|
|
}
|
|
dateValue.value = [
|
|
dayjs(rangeValue.first).format(format2),
|
|
dayjs(rangeValue.last).format(format2)
|
|
];
|
|
$emits("update:modelValue", dateValue.value);
|
|
$emits("change", dateValue.value);
|
|
setTimeout(() => {
|
|
unWatch = false;
|
|
}, 0);
|
|
};
|
|
const ok = () => {
|
|
if (!props.range) {
|
|
getDateValue();
|
|
} else {
|
|
getDateValueByRange();
|
|
}
|
|
if (dropdownRef.value)
|
|
dropdownRef.value.hide();
|
|
showPanel.value = props.type;
|
|
};
|
|
watch(() => props.type, () => {
|
|
showPanel.value = props.type;
|
|
if (props.type === "yearmonth" && !props.range) {
|
|
showPanel.value = "year";
|
|
}
|
|
}, { immediate: true });
|
|
watch(() => props.modelValue, () => {
|
|
if (unWatch) {
|
|
return;
|
|
}
|
|
let initModelValue = props.range && props.modelValue ? props.modelValue[0] || "" : props.modelValue;
|
|
if (props.type === "month" || props.type === "year") {
|
|
initModelValue += "";
|
|
}
|
|
hms.value.hh = isNaN(dayjs(initModelValue).hour()) ? 0 : dayjs(initModelValue).hour();
|
|
hms.value.mm = isNaN(dayjs(initModelValue).minute()) ? 0 : dayjs(initModelValue).minute();
|
|
hms.value.ss = isNaN(dayjs(initModelValue).second()) ? 0 : dayjs(initModelValue).second();
|
|
if (initModelValue.length === 8 && props.type === "time") {
|
|
let modelValue = initModelValue;
|
|
modelValue = "1970-01-01 " + modelValue;
|
|
hms.value.hh = dayjs(modelValue).hour();
|
|
hms.value.mm = dayjs(modelValue).minute();
|
|
hms.value.ss = dayjs(modelValue).second();
|
|
}
|
|
currentYear.value = initModelValue ? getYear(initModelValue) : -1;
|
|
currentMonth.value = initModelValue ? getMonth(initModelValue) : -1;
|
|
currentDay.value = initModelValue ? getDay(initModelValue) : -1;
|
|
if (props.type === "date" || props.type === "datetime") {
|
|
if (currentYear.value === -1)
|
|
currentYear.value = dayjs().year();
|
|
if (currentMonth.value === -1)
|
|
currentMonth.value = dayjs().month();
|
|
if (props.timestamp) {
|
|
currentDay.value = initModelValue ? dayjs(parseInt(initModelValue)).startOf("date").unix() * 1e3 : -1;
|
|
}
|
|
}
|
|
rangeValue.first = initModelValue;
|
|
rangeValue.last = props.range && props.modelValue ? props.modelValue[1] || "" : "";
|
|
if (!props.range) {
|
|
getDateValue();
|
|
} else {
|
|
getDateValueByRange();
|
|
}
|
|
}, { immediate: true });
|
|
const onChange = () => {
|
|
if (dropdownRef.value)
|
|
dropdownRef.value.hide();
|
|
$emits("update:modelValue", dateValue.value);
|
|
};
|
|
provide("datePicker", {
|
|
currentYear,
|
|
currentMonth,
|
|
currentDay,
|
|
dateValue,
|
|
type: props.type,
|
|
showPanel,
|
|
hms,
|
|
ok: () => ok(),
|
|
getDateValue: () => getDateValue,
|
|
range: props.range,
|
|
rangeValue,
|
|
rangeSeparator: props.rangeSeparator,
|
|
simple: props.simple,
|
|
timestamp: props.timestamp
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-date-picker", { "layui-date-range-picker": __props.range }]),
|
|
size: __props.size
|
|
}, [
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "dropdownRef",
|
|
ref: dropdownRef,
|
|
disabled: __props.disabled,
|
|
autoFitMinWidth: false,
|
|
contentClass: __props.contentClass,
|
|
contentStyle: __props.contentStyle,
|
|
updateAtScroll: ""
|
|
}, {
|
|
content: withCtx(() => [
|
|
!__props.range && (showPanel.value === "date" || showPanel.value === "datetime") ? (openBlock(), createBlock(_sfc_main$e, {
|
|
key: 0,
|
|
modelValue: currentDay.value,
|
|
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => currentDay.value = $event)
|
|
}, null, 8, ["modelValue"])) : createCommentVNode("", true),
|
|
!__props.range && showPanel.value === "time" ? (openBlock(), createBlock(_sfc_main$d, {
|
|
key: 1,
|
|
modelValue: hms.value,
|
|
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => hms.value = $event)
|
|
}, null, 8, ["modelValue"])) : createCommentVNode("", true),
|
|
!__props.range && (showPanel.value === "year" || showPanel.value === "yearmonth") ? (openBlock(), createBlock(_sfc_main$c, {
|
|
key: 2,
|
|
modelValue: currentYear.value,
|
|
"onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => currentYear.value = $event)
|
|
}, null, 8, ["modelValue"])) : createCommentVNode("", true),
|
|
!__props.range && showPanel.value === "month" ? (openBlock(), createBlock(_sfc_main$b, {
|
|
key: 3,
|
|
modelValue: currentMonth.value,
|
|
"onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => currentMonth.value = $event)
|
|
}, null, 8, ["modelValue"])) : createCommentVNode("", true),
|
|
__props.range && (showPanel.value === "date" || showPanel.value === "datetime") ? (openBlock(), createBlock(_sfc_main$a, {
|
|
key: 4,
|
|
startTime: rangeValue.first,
|
|
"onUpdate:startTime": _cache[15] || (_cache[15] = ($event) => rangeValue.first = $event),
|
|
endTime: rangeValue.last,
|
|
"onUpdate:endTime": _cache[16] || (_cache[16] = ($event) => rangeValue.last = $event)
|
|
}, null, 8, ["startTime", "endTime"])) : createCommentVNode("", true),
|
|
__props.range && showPanel.value === "yearmonth" ? (openBlock(), createBlock(_sfc_main$9, {
|
|
key: 5,
|
|
startTime: rangeValue.first,
|
|
"onUpdate:startTime": _cache[17] || (_cache[17] = ($event) => rangeValue.first = $event),
|
|
endTime: rangeValue.last,
|
|
"onUpdate:endTime": _cache[18] || (_cache[18] = ($event) => rangeValue.last = $event)
|
|
}, null, 8, ["startTime", "endTime"])) : createCommentVNode("", true)
|
|
]),
|
|
default: withCtx(() => [
|
|
!__props.range ? (openBlock(), createBlock(_sfc_main$1v, {
|
|
key: 0,
|
|
name: __props.name,
|
|
readonly: __props.readonly,
|
|
placeholder: unref(startPlaceholder),
|
|
"prefix-icon": __props.prefixIcon,
|
|
"suffix-icon": __props.suffixIcon,
|
|
disabled: __props.disabled,
|
|
modelValue: unref(dateValue),
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(dateValue) ? dateValue.value = $event : null),
|
|
onChange,
|
|
onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("blur")),
|
|
onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("focus")),
|
|
"allow-clear": !__props.disabled && __props.allowClear,
|
|
size: __props.size,
|
|
onClear: _cache[3] || (_cache[3] = ($event) => {
|
|
dateValue.value = "";
|
|
onChange();
|
|
})
|
|
}, null, 8, ["name", "readonly", "placeholder", "prefix-icon", "suffix-icon", "disabled", "modelValue", "allow-clear", "size"])) : (openBlock(), createElementBlock("div", _hoisted_2$3, [
|
|
createVNode(_sfc_main$1v, {
|
|
readonly: __props.readonly,
|
|
name: __props.name,
|
|
modelValue: unref(dateValue)[0],
|
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(dateValue)[0] = $event),
|
|
placeholder: unref(startPlaceholder),
|
|
disabled: __props.disabled,
|
|
onChange,
|
|
onBlur: _cache[5] || (_cache[5] = ($event) => _ctx.$emit("blur")),
|
|
onFocus: _cache[6] || (_cache[6] = ($event) => _ctx.$emit("focus")),
|
|
class: "start-input",
|
|
size: __props.size
|
|
}, null, 8, ["readonly", "name", "modelValue", "placeholder", "disabled", "size"]),
|
|
createElementVNode("span", _hoisted_3$3, toDisplayString$1(__props.rangeSeparator), 1),
|
|
createVNode(_sfc_main$1v, {
|
|
readonly: __props.readonly,
|
|
name: __props.name,
|
|
"allow-clear": __props.disabled && __props.allowClear,
|
|
placeholder: unref(endPlaceholder),
|
|
modelValue: unref(dateValue)[1],
|
|
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => unref(dateValue)[1] = $event),
|
|
disabled: __props.disabled,
|
|
onChange,
|
|
onBlur: _cache[8] || (_cache[8] = ($event) => _ctx.$emit("blur")),
|
|
onFocus: _cache[9] || (_cache[9] = ($event) => _ctx.$emit("focus")),
|
|
class: "end-input",
|
|
size: __props.size,
|
|
onClear: _cache[10] || (_cache[10] = ($event) => {
|
|
dateValue.value = [];
|
|
onChange();
|
|
})
|
|
}, null, 8, ["readonly", "name", "allow-clear", "placeholder", "modelValue", "disabled", "size"])
|
|
]))
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled", "contentClass", "contentStyle"])
|
|
], 10, _hoisted_1$4);
|
|
};
|
|
}
|
|
});
|
|
const component$b = withInstall(_sfc_main$8);
|
|
const component$a = withInstall(_sfc_main$17);
|
|
var index$6 = /* @__PURE__ */ (() => '/*!\n * Cropper.js v1.5.12\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2021-06-12T08:00:11.623Z\n */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{image-orientation:0deg;display:block;height:100%;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:#3399ffbf;overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:" ";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:" ";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC)}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}:root{--button-primary-text-color: #fff;--button-primary-background-color: var(--global-primary-color);--button-primary-border-color: var(--global-primary-color);--button-normal-text-color: #fff;--button-normal-background-color: var(--global-normal-color);--button-normal-border-color: var(--global-normal-color);--button-warm-text-color: #fff;--button-warm-background-color: var(--global-warm-color);--button-warm-border-color: var(--global-warm-color);--button-danger-text-color: #fff;--button-danger-background-color: var(--global-danger-color);--button-danger-border-color: var(--global-danger-color);--button-border-radius: var(--global-border-radius);--button-border-color: var(--global-neutral-color-6);--button-background-color: 0 0;--button-text-color: #666}.layui-btn{height:38px;line-height:36px;padding:0 18px;font-size:14px;text-align:center;white-space:nowrap;color:var(--button-text-color);background:var(--button-background-color);border-radius:var(--button-border-radius);border-color:var(--button-border-color);border-width:1px;border-style:solid;cursor:pointer}.layui-btn-primary{color:var(--button-primary-text-color);background-color:var(--button-primary-background-color);border-color:var(--button-primary-border-color)}.layui-btn-normal{color:var(--button-normal-text-color);background-color:var(--button-normal-background-color);border-color:var(--button-normal-border-color)}.layui-btn-warm{color:var(--button-warm-text-color);background-color:var(--button-warm-background-color);border-color:var(--button-warm-border-color)}.layui-btn-danger{color:var(--button-danger-text-color);background-color:var(--button-danger-background-color);border-color:var(--button-danger-border-color)}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80)}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:12px!important}.layui-btn-fluid{width:100%}.layui-btn-radius{border-radius:100px}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border-color:#eee!important;background-color:#fbfbfb!important;color:#d2d2d2!important;cursor:not-allowed!important;opacity:1}.layui-btn+.layui-btn{margin-left:10px}.layui-btn .layui-icon{padding:0 2px;vertical-align:middle\\ ;vertical-align:bottom}.layui-upload-file{opacity:.01;position:relative;filter:alpha(opacity=1);cursor:pointer}.layui-upload-btn-box{position:relative;overflow:hidden}.layui-upload-drag,.layui-upload-form,.layui-upload-wrap{display:inline-block}.layui-upload-list{margin:10px 0}.layui-upload-choose{max-width:200px;padding:0 10px;color:#999;font-size:14px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-upload-drag{position:relative;padding:30px;border:1px dashed var(--global-neutral-color-4);background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:var(--global-primary-color)}.layui-upload-drag[lay-over],.layui-upload-drag-draging{border-color:var(--global-primary-color)}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;vertical-align:middle;cursor:pointer}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:1px;height:1px;opacity:.01;filter:alpha(opacity=1)}.layui-upload-file-disabled{cursor:not-allowed!important}.layui-btn-container .layui-upload-choose{padding-left:0}.layui-upload-drag-disable{opacity:.8;z-index:1;cursor:not-allowed}._lay_upload_img{display:block;max-width:100%}.layui-upload-list-disabled{width:auto;height:auto;pointer-events:none!important;background-color:#fbfbfb!important;filter:opacity(.9)}\n')();
|
|
/*!
|
|
* Cropper.js v1.5.12
|
|
* https://fengyuanchen.github.io/cropperjs
|
|
*
|
|
* Copyright 2015-present Chen Fengyuan
|
|
* Released under the MIT license
|
|
*
|
|
* Date: 2021-06-12T08:00:17.411Z
|
|
*/
|
|
function ownKeys(object4, enumerableOnly) {
|
|
var keys = Object.keys(object4);
|
|
if (Object.getOwnPropertySymbols) {
|
|
var symbols = Object.getOwnPropertySymbols(object4);
|
|
if (enumerableOnly) {
|
|
symbols = symbols.filter(function(sym) {
|
|
return Object.getOwnPropertyDescriptor(object4, sym).enumerable;
|
|
});
|
|
}
|
|
keys.push.apply(keys, symbols);
|
|
}
|
|
return keys;
|
|
}
|
|
function _objectSpread2(target) {
|
|
for (var i = 1; i < arguments.length; i++) {
|
|
var source = arguments[i] != null ? arguments[i] : {};
|
|
if (i % 2) {
|
|
ownKeys(Object(source), true).forEach(function(key) {
|
|
_defineProperty(target, key, source[key]);
|
|
});
|
|
} else if (Object.getOwnPropertyDescriptors) {
|
|
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
} else {
|
|
ownKeys(Object(source)).forEach(function(key) {
|
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
});
|
|
}
|
|
}
|
|
return target;
|
|
}
|
|
function _typeof(obj) {
|
|
"@babel/helpers - typeof";
|
|
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
|
_typeof = function(obj2) {
|
|
return typeof obj2;
|
|
};
|
|
} else {
|
|
_typeof = function(obj2) {
|
|
return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
|
|
};
|
|
}
|
|
return _typeof(obj);
|
|
}
|
|
function _classCallCheck(instance, Constructor) {
|
|
if (!(instance instanceof Constructor)) {
|
|
throw new TypeError("Cannot call a class as a function");
|
|
}
|
|
}
|
|
function _defineProperties(target, props) {
|
|
for (var i = 0; i < props.length; i++) {
|
|
var descriptor = props[i];
|
|
descriptor.enumerable = descriptor.enumerable || false;
|
|
descriptor.configurable = true;
|
|
if ("value" in descriptor)
|
|
descriptor.writable = true;
|
|
Object.defineProperty(target, descriptor.key, descriptor);
|
|
}
|
|
}
|
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
if (protoProps)
|
|
_defineProperties(Constructor.prototype, protoProps);
|
|
if (staticProps)
|
|
_defineProperties(Constructor, staticProps);
|
|
return Constructor;
|
|
}
|
|
function _defineProperty(obj, key, value) {
|
|
if (key in obj) {
|
|
Object.defineProperty(obj, key, {
|
|
value,
|
|
enumerable: true,
|
|
configurable: true,
|
|
writable: true
|
|
});
|
|
} else {
|
|
obj[key] = value;
|
|
}
|
|
return obj;
|
|
}
|
|
function _toConsumableArray(arr) {
|
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
}
|
|
function _arrayWithoutHoles(arr) {
|
|
if (Array.isArray(arr))
|
|
return _arrayLikeToArray(arr);
|
|
}
|
|
function _iterableToArray(iter) {
|
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
|
|
return Array.from(iter);
|
|
}
|
|
function _unsupportedIterableToArray(o, minLen) {
|
|
if (!o)
|
|
return;
|
|
if (typeof o === "string")
|
|
return _arrayLikeToArray(o, minLen);
|
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
if (n === "Object" && o.constructor)
|
|
n = o.constructor.name;
|
|
if (n === "Map" || n === "Set")
|
|
return Array.from(o);
|
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
|
|
return _arrayLikeToArray(o, minLen);
|
|
}
|
|
function _arrayLikeToArray(arr, len) {
|
|
if (len == null || len > arr.length)
|
|
len = arr.length;
|
|
for (var i = 0, arr2 = new Array(len); i < len; i++)
|
|
arr2[i] = arr[i];
|
|
return arr2;
|
|
}
|
|
function _nonIterableSpread() {
|
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
}
|
|
var IS_BROWSER = typeof window !== "undefined" && typeof window.document !== "undefined";
|
|
var WINDOW = IS_BROWSER ? window : {};
|
|
var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? "ontouchstart" in WINDOW.document.documentElement : false;
|
|
var HAS_POINTER_EVENT = IS_BROWSER ? "PointerEvent" in WINDOW : false;
|
|
var NAMESPACE = "cropper";
|
|
var ACTION_ALL = "all";
|
|
var ACTION_CROP = "crop";
|
|
var ACTION_MOVE = "move";
|
|
var ACTION_ZOOM = "zoom";
|
|
var ACTION_EAST = "e";
|
|
var ACTION_WEST = "w";
|
|
var ACTION_SOUTH = "s";
|
|
var ACTION_NORTH = "n";
|
|
var ACTION_NORTH_EAST = "ne";
|
|
var ACTION_NORTH_WEST = "nw";
|
|
var ACTION_SOUTH_EAST = "se";
|
|
var ACTION_SOUTH_WEST = "sw";
|
|
var CLASS_CROP = "".concat(NAMESPACE, "-crop");
|
|
var CLASS_DISABLED = "".concat(NAMESPACE, "-disabled");
|
|
var CLASS_HIDDEN = "".concat(NAMESPACE, "-hidden");
|
|
var CLASS_HIDE = "".concat(NAMESPACE, "-hide");
|
|
var CLASS_INVISIBLE = "".concat(NAMESPACE, "-invisible");
|
|
var CLASS_MODAL = "".concat(NAMESPACE, "-modal");
|
|
var CLASS_MOVE = "".concat(NAMESPACE, "-move");
|
|
var DATA_ACTION = "".concat(NAMESPACE, "Action");
|
|
var DATA_PREVIEW = "".concat(NAMESPACE, "Preview");
|
|
var DRAG_MODE_CROP = "crop";
|
|
var DRAG_MODE_MOVE = "move";
|
|
var DRAG_MODE_NONE = "none";
|
|
var EVENT_CROP = "crop";
|
|
var EVENT_CROP_END = "cropend";
|
|
var EVENT_CROP_MOVE = "cropmove";
|
|
var EVENT_CROP_START = "cropstart";
|
|
var EVENT_DBLCLICK = "dblclick";
|
|
var EVENT_TOUCH_START = IS_TOUCH_DEVICE ? "touchstart" : "mousedown";
|
|
var EVENT_TOUCH_MOVE = IS_TOUCH_DEVICE ? "touchmove" : "mousemove";
|
|
var EVENT_TOUCH_END = IS_TOUCH_DEVICE ? "touchend touchcancel" : "mouseup";
|
|
var EVENT_POINTER_DOWN = HAS_POINTER_EVENT ? "pointerdown" : EVENT_TOUCH_START;
|
|
var EVENT_POINTER_MOVE = HAS_POINTER_EVENT ? "pointermove" : EVENT_TOUCH_MOVE;
|
|
var EVENT_POINTER_UP = HAS_POINTER_EVENT ? "pointerup pointercancel" : EVENT_TOUCH_END;
|
|
var EVENT_READY = "ready";
|
|
var EVENT_RESIZE = "resize";
|
|
var EVENT_WHEEL = "wheel";
|
|
var EVENT_ZOOM = "zoom";
|
|
var MIME_TYPE_JPEG = "image/jpeg";
|
|
var REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;
|
|
var REGEXP_DATA_URL = /^data:/;
|
|
var REGEXP_DATA_URL_JPEG = /^data:image\/jpeg;base64,/;
|
|
var REGEXP_TAG_NAME = /^img|canvas$/i;
|
|
var MIN_CONTAINER_WIDTH = 200;
|
|
var MIN_CONTAINER_HEIGHT = 100;
|
|
var DEFAULTS = {
|
|
viewMode: 0,
|
|
dragMode: DRAG_MODE_CROP,
|
|
initialAspectRatio: NaN,
|
|
aspectRatio: NaN,
|
|
data: null,
|
|
preview: "",
|
|
responsive: true,
|
|
restore: true,
|
|
checkCrossOrigin: true,
|
|
checkOrientation: true,
|
|
modal: true,
|
|
guides: true,
|
|
center: true,
|
|
highlight: true,
|
|
background: true,
|
|
autoCrop: true,
|
|
autoCropArea: 0.8,
|
|
movable: true,
|
|
rotatable: true,
|
|
scalable: true,
|
|
zoomable: true,
|
|
zoomOnTouch: true,
|
|
zoomOnWheel: true,
|
|
wheelZoomRatio: 0.1,
|
|
cropBoxMovable: true,
|
|
cropBoxResizable: true,
|
|
toggleDragModeOnDblclick: true,
|
|
minCanvasWidth: 0,
|
|
minCanvasHeight: 0,
|
|
minCropBoxWidth: 0,
|
|
minCropBoxHeight: 0,
|
|
minContainerWidth: MIN_CONTAINER_WIDTH,
|
|
minContainerHeight: MIN_CONTAINER_HEIGHT,
|
|
ready: null,
|
|
cropstart: null,
|
|
cropmove: null,
|
|
cropend: null,
|
|
crop: null,
|
|
zoom: null
|
|
};
|
|
var TEMPLATE = '<div class="cropper-container" touch-action="none"><div class="cropper-wrap-box"><div class="cropper-canvas"></div></div><div class="cropper-drag-box"></div><div class="cropper-crop-box"><span class="cropper-view-box"></span><span class="cropper-dashed dashed-h"></span><span class="cropper-dashed dashed-v"></span><span class="cropper-center"></span><span class="cropper-face"></span><span class="cropper-line line-e" data-cropper-action="e"></span><span class="cropper-line line-n" data-cropper-action="n"></span><span class="cropper-line line-w" data-cropper-action="w"></span><span class="cropper-line line-s" data-cropper-action="s"></span><span class="cropper-point point-e" data-cropper-action="e"></span><span class="cropper-point point-n" data-cropper-action="n"></span><span class="cropper-point point-w" data-cropper-action="w"></span><span class="cropper-point point-s" data-cropper-action="s"></span><span class="cropper-point point-ne" data-cropper-action="ne"></span><span class="cropper-point point-nw" data-cropper-action="nw"></span><span class="cropper-point point-sw" data-cropper-action="sw"></span><span class="cropper-point point-se" data-cropper-action="se"></span></div></div>';
|
|
var isNaN$1 = Number.isNaN || WINDOW.isNaN;
|
|
function isNumber(value) {
|
|
return typeof value === "number" && !isNaN$1(value);
|
|
}
|
|
var isPositiveNumber = function isPositiveNumber2(value) {
|
|
return value > 0 && value < Infinity;
|
|
};
|
|
function isUndefined(value) {
|
|
return typeof value === "undefined";
|
|
}
|
|
function isObject(value) {
|
|
return _typeof(value) === "object" && value !== null;
|
|
}
|
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
function isPlainObject(value) {
|
|
if (!isObject(value)) {
|
|
return false;
|
|
}
|
|
try {
|
|
var _constructor = value.constructor;
|
|
var prototype = _constructor.prototype;
|
|
return _constructor && prototype && hasOwnProperty.call(prototype, "isPrototypeOf");
|
|
} catch (error) {
|
|
return false;
|
|
}
|
|
}
|
|
function isFunction(value) {
|
|
return typeof value === "function";
|
|
}
|
|
var slice = Array.prototype.slice;
|
|
function toArray(value) {
|
|
return Array.from ? Array.from(value) : slice.call(value);
|
|
}
|
|
function forEach(data, callback) {
|
|
if (data && isFunction(callback)) {
|
|
if (Array.isArray(data) || isNumber(data.length)) {
|
|
toArray(data).forEach(function(value, key) {
|
|
callback.call(data, value, key, data);
|
|
});
|
|
} else if (isObject(data)) {
|
|
Object.keys(data).forEach(function(key) {
|
|
callback.call(data, data[key], key, data);
|
|
});
|
|
}
|
|
}
|
|
return data;
|
|
}
|
|
var assign = Object.assign || function assign2(target) {
|
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
args[_key - 1] = arguments[_key];
|
|
}
|
|
if (isObject(target) && args.length > 0) {
|
|
args.forEach(function(arg) {
|
|
if (isObject(arg)) {
|
|
Object.keys(arg).forEach(function(key) {
|
|
target[key] = arg[key];
|
|
});
|
|
}
|
|
});
|
|
}
|
|
return target;
|
|
};
|
|
var REGEXP_DECIMALS = /\.\d*(?:0|9){12}\d*$/;
|
|
function normalizeDecimalNumber(value) {
|
|
var times = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1e11;
|
|
return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;
|
|
}
|
|
var REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;
|
|
function setStyle(element, styles) {
|
|
var style = element.style;
|
|
forEach(styles, function(value, property) {
|
|
if (REGEXP_SUFFIX.test(property) && isNumber(value)) {
|
|
value = "".concat(value, "px");
|
|
}
|
|
style[property] = value;
|
|
});
|
|
}
|
|
function hasClass(element, value) {
|
|
return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;
|
|
}
|
|
function addClass(element, value) {
|
|
if (!value) {
|
|
return;
|
|
}
|
|
if (isNumber(element.length)) {
|
|
forEach(element, function(elem) {
|
|
addClass(elem, value);
|
|
});
|
|
return;
|
|
}
|
|
if (element.classList) {
|
|
element.classList.add(value);
|
|
return;
|
|
}
|
|
var className = element.className.trim();
|
|
if (!className) {
|
|
element.className = value;
|
|
} else if (className.indexOf(value) < 0) {
|
|
element.className = "".concat(className, " ").concat(value);
|
|
}
|
|
}
|
|
function removeClass(element, value) {
|
|
if (!value) {
|
|
return;
|
|
}
|
|
if (isNumber(element.length)) {
|
|
forEach(element, function(elem) {
|
|
removeClass(elem, value);
|
|
});
|
|
return;
|
|
}
|
|
if (element.classList) {
|
|
element.classList.remove(value);
|
|
return;
|
|
}
|
|
if (element.className.indexOf(value) >= 0) {
|
|
element.className = element.className.replace(value, "");
|
|
}
|
|
}
|
|
function toggleClass(element, value, added) {
|
|
if (!value) {
|
|
return;
|
|
}
|
|
if (isNumber(element.length)) {
|
|
forEach(element, function(elem) {
|
|
toggleClass(elem, value, added);
|
|
});
|
|
return;
|
|
}
|
|
if (added) {
|
|
addClass(element, value);
|
|
} else {
|
|
removeClass(element, value);
|
|
}
|
|
}
|
|
var REGEXP_CAMEL_CASE = /([a-z\d])([A-Z])/g;
|
|
function toParamCase(value) {
|
|
return value.replace(REGEXP_CAMEL_CASE, "$1-$2").toLowerCase();
|
|
}
|
|
function getData(element, name) {
|
|
if (isObject(element[name])) {
|
|
return element[name];
|
|
}
|
|
if (element.dataset) {
|
|
return element.dataset[name];
|
|
}
|
|
return element.getAttribute("data-".concat(toParamCase(name)));
|
|
}
|
|
function setData(element, name, data) {
|
|
if (isObject(data)) {
|
|
element[name] = data;
|
|
} else if (element.dataset) {
|
|
element.dataset[name] = data;
|
|
} else {
|
|
element.setAttribute("data-".concat(toParamCase(name)), data);
|
|
}
|
|
}
|
|
function removeData(element, name) {
|
|
if (isObject(element[name])) {
|
|
try {
|
|
delete element[name];
|
|
} catch (error) {
|
|
element[name] = void 0;
|
|
}
|
|
} else if (element.dataset) {
|
|
try {
|
|
delete element.dataset[name];
|
|
} catch (error) {
|
|
element.dataset[name] = void 0;
|
|
}
|
|
} else {
|
|
element.removeAttribute("data-".concat(toParamCase(name)));
|
|
}
|
|
}
|
|
var REGEXP_SPACES = /\s\s*/;
|
|
var onceSupported = function() {
|
|
var supported = false;
|
|
if (IS_BROWSER) {
|
|
var once = false;
|
|
var listener = function listener2() {
|
|
};
|
|
var options = Object.defineProperty({}, "once", {
|
|
get: function get() {
|
|
supported = true;
|
|
return once;
|
|
},
|
|
set: function set(value) {
|
|
once = value;
|
|
}
|
|
});
|
|
WINDOW.addEventListener("test", listener, options);
|
|
WINDOW.removeEventListener("test", listener, options);
|
|
}
|
|
return supported;
|
|
}();
|
|
function removeListener(element, type4, listener) {
|
|
var options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
var handler = listener;
|
|
type4.trim().split(REGEXP_SPACES).forEach(function(event) {
|
|
if (!onceSupported) {
|
|
var listeners = element.listeners;
|
|
if (listeners && listeners[event] && listeners[event][listener]) {
|
|
handler = listeners[event][listener];
|
|
delete listeners[event][listener];
|
|
if (Object.keys(listeners[event]).length === 0) {
|
|
delete listeners[event];
|
|
}
|
|
if (Object.keys(listeners).length === 0) {
|
|
delete element.listeners;
|
|
}
|
|
}
|
|
}
|
|
element.removeEventListener(event, handler, options);
|
|
});
|
|
}
|
|
function addListener(element, type4, listener) {
|
|
var options = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : {};
|
|
var _handler = listener;
|
|
type4.trim().split(REGEXP_SPACES).forEach(function(event) {
|
|
if (options.once && !onceSupported) {
|
|
var _element$listeners = element.listeners, listeners = _element$listeners === void 0 ? {} : _element$listeners;
|
|
_handler = function handler() {
|
|
delete listeners[event][listener];
|
|
element.removeEventListener(event, _handler, options);
|
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
args[_key2] = arguments[_key2];
|
|
}
|
|
listener.apply(element, args);
|
|
};
|
|
if (!listeners[event]) {
|
|
listeners[event] = {};
|
|
}
|
|
if (listeners[event][listener]) {
|
|
element.removeEventListener(event, listeners[event][listener], options);
|
|
}
|
|
listeners[event][listener] = _handler;
|
|
element.listeners = listeners;
|
|
}
|
|
element.addEventListener(event, _handler, options);
|
|
});
|
|
}
|
|
function dispatchEvent(element, type4, data) {
|
|
var event;
|
|
if (isFunction(Event) && isFunction(CustomEvent)) {
|
|
event = new CustomEvent(type4, {
|
|
detail: data,
|
|
bubbles: true,
|
|
cancelable: true
|
|
});
|
|
} else {
|
|
event = document.createEvent("CustomEvent");
|
|
event.initCustomEvent(type4, true, true, data);
|
|
}
|
|
return element.dispatchEvent(event);
|
|
}
|
|
function getOffset(element) {
|
|
var box = element.getBoundingClientRect();
|
|
return {
|
|
left: box.left + (window.pageXOffset - document.documentElement.clientLeft),
|
|
top: box.top + (window.pageYOffset - document.documentElement.clientTop)
|
|
};
|
|
}
|
|
var location$1 = WINDOW.location;
|
|
var REGEXP_ORIGINS = /^(\w+:)\/\/([^:/?#]*):?(\d*)/i;
|
|
function isCrossOriginURL(url2) {
|
|
var parts = url2.match(REGEXP_ORIGINS);
|
|
return parts !== null && (parts[1] !== location$1.protocol || parts[2] !== location$1.hostname || parts[3] !== location$1.port);
|
|
}
|
|
function addTimestamp(url2) {
|
|
var timestamp = "timestamp=".concat(new Date().getTime());
|
|
return url2 + (url2.indexOf("?") === -1 ? "?" : "&") + timestamp;
|
|
}
|
|
function getTransforms(_ref) {
|
|
var rotate2 = _ref.rotate, scaleX2 = _ref.scaleX, scaleY2 = _ref.scaleY, translateX = _ref.translateX, translateY = _ref.translateY;
|
|
var values = [];
|
|
if (isNumber(translateX) && translateX !== 0) {
|
|
values.push("translateX(".concat(translateX, "px)"));
|
|
}
|
|
if (isNumber(translateY) && translateY !== 0) {
|
|
values.push("translateY(".concat(translateY, "px)"));
|
|
}
|
|
if (isNumber(rotate2) && rotate2 !== 0) {
|
|
values.push("rotate(".concat(rotate2, "deg)"));
|
|
}
|
|
if (isNumber(scaleX2) && scaleX2 !== 1) {
|
|
values.push("scaleX(".concat(scaleX2, ")"));
|
|
}
|
|
if (isNumber(scaleY2) && scaleY2 !== 1) {
|
|
values.push("scaleY(".concat(scaleY2, ")"));
|
|
}
|
|
var transform2 = values.length ? values.join(" ") : "none";
|
|
return {
|
|
WebkitTransform: transform2,
|
|
msTransform: transform2,
|
|
transform: transform2
|
|
};
|
|
}
|
|
function getMaxZoomRatio(pointers) {
|
|
var pointers2 = _objectSpread2({}, pointers);
|
|
var maxRatio = 0;
|
|
forEach(pointers, function(pointer, pointerId) {
|
|
delete pointers2[pointerId];
|
|
forEach(pointers2, function(pointer2) {
|
|
var x1 = Math.abs(pointer.startX - pointer2.startX);
|
|
var y1 = Math.abs(pointer.startY - pointer2.startY);
|
|
var x2 = Math.abs(pointer.endX - pointer2.endX);
|
|
var y2 = Math.abs(pointer.endY - pointer2.endY);
|
|
var z1 = Math.sqrt(x1 * x1 + y1 * y1);
|
|
var z2 = Math.sqrt(x2 * x2 + y2 * y2);
|
|
var ratio = (z2 - z1) / z1;
|
|
if (Math.abs(ratio) > Math.abs(maxRatio)) {
|
|
maxRatio = ratio;
|
|
}
|
|
});
|
|
});
|
|
return maxRatio;
|
|
}
|
|
function getPointer(_ref2, endOnly) {
|
|
var pageX = _ref2.pageX, pageY = _ref2.pageY;
|
|
var end = {
|
|
endX: pageX,
|
|
endY: pageY
|
|
};
|
|
return endOnly ? end : _objectSpread2({
|
|
startX: pageX,
|
|
startY: pageY
|
|
}, end);
|
|
}
|
|
function getPointersCenter(pointers) {
|
|
var pageX = 0;
|
|
var pageY = 0;
|
|
var count = 0;
|
|
forEach(pointers, function(_ref3) {
|
|
var startX = _ref3.startX, startY = _ref3.startY;
|
|
pageX += startX;
|
|
pageY += startY;
|
|
count += 1;
|
|
});
|
|
pageX /= count;
|
|
pageY /= count;
|
|
return {
|
|
pageX,
|
|
pageY
|
|
};
|
|
}
|
|
function getAdjustedSizes(_ref4) {
|
|
var aspectRatio = _ref4.aspectRatio, height = _ref4.height, width = _ref4.width;
|
|
var type4 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "contain";
|
|
var isValidWidth = isPositiveNumber(width);
|
|
var isValidHeight = isPositiveNumber(height);
|
|
if (isValidWidth && isValidHeight) {
|
|
var adjustedWidth = height * aspectRatio;
|
|
if (type4 === "contain" && adjustedWidth > width || type4 === "cover" && adjustedWidth < width) {
|
|
height = width / aspectRatio;
|
|
} else {
|
|
width = height * aspectRatio;
|
|
}
|
|
} else if (isValidWidth) {
|
|
height = width / aspectRatio;
|
|
} else if (isValidHeight) {
|
|
width = height * aspectRatio;
|
|
}
|
|
return {
|
|
width,
|
|
height
|
|
};
|
|
}
|
|
function getRotatedSizes(_ref5) {
|
|
var width = _ref5.width, height = _ref5.height, degree = _ref5.degree;
|
|
degree = Math.abs(degree) % 180;
|
|
if (degree === 90) {
|
|
return {
|
|
width: height,
|
|
height: width
|
|
};
|
|
}
|
|
var arc = degree % 90 * Math.PI / 180;
|
|
var sinArc = Math.sin(arc);
|
|
var cosArc = Math.cos(arc);
|
|
var newWidth = width * cosArc + height * sinArc;
|
|
var newHeight = width * sinArc + height * cosArc;
|
|
return degree > 90 ? {
|
|
width: newHeight,
|
|
height: newWidth
|
|
} : {
|
|
width: newWidth,
|
|
height: newHeight
|
|
};
|
|
}
|
|
function getSourceCanvas(image, _ref6, _ref7, _ref8) {
|
|
var imageAspectRatio = _ref6.aspectRatio, imageNaturalWidth = _ref6.naturalWidth, imageNaturalHeight = _ref6.naturalHeight, _ref6$rotate = _ref6.rotate, rotate2 = _ref6$rotate === void 0 ? 0 : _ref6$rotate, _ref6$scaleX = _ref6.scaleX, scaleX2 = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX, _ref6$scaleY = _ref6.scaleY, scaleY2 = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;
|
|
var aspectRatio = _ref7.aspectRatio, naturalWidth = _ref7.naturalWidth, naturalHeight = _ref7.naturalHeight;
|
|
var _ref8$fillColor = _ref8.fillColor, fillColor = _ref8$fillColor === void 0 ? "transparent" : _ref8$fillColor, _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled, imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE, _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality, imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? "low" : _ref8$imageSmoothingQ, _ref8$maxWidth = _ref8.maxWidth, maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth, _ref8$maxHeight = _ref8.maxHeight, maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight, _ref8$minWidth = _ref8.minWidth, minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth, _ref8$minHeight = _ref8.minHeight, minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;
|
|
var canvas = document.createElement("canvas");
|
|
var context = canvas.getContext("2d");
|
|
var maxSizes = getAdjustedSizes({
|
|
aspectRatio,
|
|
width: maxWidth,
|
|
height: maxHeight
|
|
});
|
|
var minSizes = getAdjustedSizes({
|
|
aspectRatio,
|
|
width: minWidth,
|
|
height: minHeight
|
|
}, "cover");
|
|
var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));
|
|
var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight));
|
|
var destMaxSizes = getAdjustedSizes({
|
|
aspectRatio: imageAspectRatio,
|
|
width: maxWidth,
|
|
height: maxHeight
|
|
});
|
|
var destMinSizes = getAdjustedSizes({
|
|
aspectRatio: imageAspectRatio,
|
|
width: minWidth,
|
|
height: minHeight
|
|
}, "cover");
|
|
var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));
|
|
var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));
|
|
var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];
|
|
canvas.width = normalizeDecimalNumber(width);
|
|
canvas.height = normalizeDecimalNumber(height);
|
|
context.fillStyle = fillColor;
|
|
context.fillRect(0, 0, width, height);
|
|
context.save();
|
|
context.translate(width / 2, height / 2);
|
|
context.rotate(rotate2 * Math.PI / 180);
|
|
context.scale(scaleX2, scaleY2);
|
|
context.imageSmoothingEnabled = imageSmoothingEnabled;
|
|
context.imageSmoothingQuality = imageSmoothingQuality;
|
|
context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function(param) {
|
|
return Math.floor(normalizeDecimalNumber(param));
|
|
}))));
|
|
context.restore();
|
|
return canvas;
|
|
}
|
|
var fromCharCode = String.fromCharCode;
|
|
function getStringFromCharCode(dataView, start, length) {
|
|
var str = "";
|
|
length += start;
|
|
for (var i = start; i < length; i += 1) {
|
|
str += fromCharCode(dataView.getUint8(i));
|
|
}
|
|
return str;
|
|
}
|
|
var REGEXP_DATA_URL_HEAD = /^data:.*,/;
|
|
function dataURLToArrayBuffer(dataURL) {
|
|
var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, "");
|
|
var binary = atob(base64);
|
|
var arrayBuffer = new ArrayBuffer(binary.length);
|
|
var uint8 = new Uint8Array(arrayBuffer);
|
|
forEach(uint8, function(value, i) {
|
|
uint8[i] = binary.charCodeAt(i);
|
|
});
|
|
return arrayBuffer;
|
|
}
|
|
function arrayBufferToDataURL(arrayBuffer, mimeType) {
|
|
var chunks = [];
|
|
var chunkSize = 8192;
|
|
var uint8 = new Uint8Array(arrayBuffer);
|
|
while (uint8.length > 0) {
|
|
chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));
|
|
uint8 = uint8.subarray(chunkSize);
|
|
}
|
|
return "data:".concat(mimeType, ";base64,").concat(btoa(chunks.join("")));
|
|
}
|
|
function resetAndGetOrientation(arrayBuffer) {
|
|
var dataView = new DataView(arrayBuffer);
|
|
var orientation;
|
|
try {
|
|
var littleEndian;
|
|
var app1Start;
|
|
var ifdStart;
|
|
if (dataView.getUint8(0) === 255 && dataView.getUint8(1) === 216) {
|
|
var length = dataView.byteLength;
|
|
var offset = 2;
|
|
while (offset + 1 < length) {
|
|
if (dataView.getUint8(offset) === 255 && dataView.getUint8(offset + 1) === 225) {
|
|
app1Start = offset;
|
|
break;
|
|
}
|
|
offset += 1;
|
|
}
|
|
}
|
|
if (app1Start) {
|
|
var exifIDCode = app1Start + 4;
|
|
var tiffOffset = app1Start + 10;
|
|
if (getStringFromCharCode(dataView, exifIDCode, 4) === "Exif") {
|
|
var endianness = dataView.getUint16(tiffOffset);
|
|
littleEndian = endianness === 18761;
|
|
if (littleEndian || endianness === 19789) {
|
|
if (dataView.getUint16(tiffOffset + 2, littleEndian) === 42) {
|
|
var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);
|
|
if (firstIFDOffset >= 8) {
|
|
ifdStart = tiffOffset + firstIFDOffset;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (ifdStart) {
|
|
var _length = dataView.getUint16(ifdStart, littleEndian);
|
|
var _offset;
|
|
var i;
|
|
for (i = 0; i < _length; i += 1) {
|
|
_offset = ifdStart + i * 12 + 2;
|
|
if (dataView.getUint16(_offset, littleEndian) === 274) {
|
|
_offset += 8;
|
|
orientation = dataView.getUint16(_offset, littleEndian);
|
|
dataView.setUint16(_offset, 1, littleEndian);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
} catch (error) {
|
|
orientation = 1;
|
|
}
|
|
return orientation;
|
|
}
|
|
function parseOrientation(orientation) {
|
|
var rotate2 = 0;
|
|
var scaleX2 = 1;
|
|
var scaleY2 = 1;
|
|
switch (orientation) {
|
|
case 2:
|
|
scaleX2 = -1;
|
|
break;
|
|
case 3:
|
|
rotate2 = -180;
|
|
break;
|
|
case 4:
|
|
scaleY2 = -1;
|
|
break;
|
|
case 5:
|
|
rotate2 = 90;
|
|
scaleY2 = -1;
|
|
break;
|
|
case 6:
|
|
rotate2 = 90;
|
|
break;
|
|
case 7:
|
|
rotate2 = 90;
|
|
scaleX2 = -1;
|
|
break;
|
|
case 8:
|
|
rotate2 = -90;
|
|
break;
|
|
}
|
|
return {
|
|
rotate: rotate2,
|
|
scaleX: scaleX2,
|
|
scaleY: scaleY2
|
|
};
|
|
}
|
|
var render = {
|
|
render: function render2() {
|
|
this.initContainer();
|
|
this.initCanvas();
|
|
this.initCropBox();
|
|
this.renderCanvas();
|
|
if (this.cropped) {
|
|
this.renderCropBox();
|
|
}
|
|
},
|
|
initContainer: function initContainer() {
|
|
var element = this.element, options = this.options, container = this.container, cropper = this.cropper;
|
|
var minWidth = Number(options.minContainerWidth);
|
|
var minHeight = Number(options.minContainerHeight);
|
|
addClass(cropper, CLASS_HIDDEN);
|
|
removeClass(element, CLASS_HIDDEN);
|
|
var containerData = {
|
|
width: Math.max(container.offsetWidth, minWidth >= 0 ? minWidth : MIN_CONTAINER_WIDTH),
|
|
height: Math.max(container.offsetHeight, minHeight >= 0 ? minHeight : MIN_CONTAINER_HEIGHT)
|
|
};
|
|
this.containerData = containerData;
|
|
setStyle(cropper, {
|
|
width: containerData.width,
|
|
height: containerData.height
|
|
});
|
|
addClass(element, CLASS_HIDDEN);
|
|
removeClass(cropper, CLASS_HIDDEN);
|
|
},
|
|
initCanvas: function initCanvas() {
|
|
var containerData = this.containerData, imageData = this.imageData;
|
|
var viewMode = this.options.viewMode;
|
|
var rotated = Math.abs(imageData.rotate) % 180 === 90;
|
|
var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;
|
|
var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;
|
|
var aspectRatio = naturalWidth / naturalHeight;
|
|
var canvasWidth = containerData.width;
|
|
var canvasHeight = containerData.height;
|
|
if (containerData.height * aspectRatio > containerData.width) {
|
|
if (viewMode === 3) {
|
|
canvasWidth = containerData.height * aspectRatio;
|
|
} else {
|
|
canvasHeight = containerData.width / aspectRatio;
|
|
}
|
|
} else if (viewMode === 3) {
|
|
canvasHeight = containerData.width / aspectRatio;
|
|
} else {
|
|
canvasWidth = containerData.height * aspectRatio;
|
|
}
|
|
var canvasData = {
|
|
aspectRatio,
|
|
naturalWidth,
|
|
naturalHeight,
|
|
width: canvasWidth,
|
|
height: canvasHeight
|
|
};
|
|
this.canvasData = canvasData;
|
|
this.limited = viewMode === 1 || viewMode === 2;
|
|
this.limitCanvas(true, true);
|
|
canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);
|
|
canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);
|
|
canvasData.left = (containerData.width - canvasData.width) / 2;
|
|
canvasData.top = (containerData.height - canvasData.height) / 2;
|
|
canvasData.oldLeft = canvasData.left;
|
|
canvasData.oldTop = canvasData.top;
|
|
this.initialCanvasData = assign({}, canvasData);
|
|
},
|
|
limitCanvas: function limitCanvas(sizeLimited, positionLimited) {
|
|
var options = this.options, containerData = this.containerData, canvasData = this.canvasData, cropBoxData = this.cropBoxData;
|
|
var viewMode = options.viewMode;
|
|
var aspectRatio = canvasData.aspectRatio;
|
|
var cropped = this.cropped && cropBoxData;
|
|
if (sizeLimited) {
|
|
var minCanvasWidth = Number(options.minCanvasWidth) || 0;
|
|
var minCanvasHeight = Number(options.minCanvasHeight) || 0;
|
|
if (viewMode > 1) {
|
|
minCanvasWidth = Math.max(minCanvasWidth, containerData.width);
|
|
minCanvasHeight = Math.max(minCanvasHeight, containerData.height);
|
|
if (viewMode === 3) {
|
|
if (minCanvasHeight * aspectRatio > minCanvasWidth) {
|
|
minCanvasWidth = minCanvasHeight * aspectRatio;
|
|
} else {
|
|
minCanvasHeight = minCanvasWidth / aspectRatio;
|
|
}
|
|
}
|
|
} else if (viewMode > 0) {
|
|
if (minCanvasWidth) {
|
|
minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);
|
|
} else if (minCanvasHeight) {
|
|
minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);
|
|
} else if (cropped) {
|
|
minCanvasWidth = cropBoxData.width;
|
|
minCanvasHeight = cropBoxData.height;
|
|
if (minCanvasHeight * aspectRatio > minCanvasWidth) {
|
|
minCanvasWidth = minCanvasHeight * aspectRatio;
|
|
} else {
|
|
minCanvasHeight = minCanvasWidth / aspectRatio;
|
|
}
|
|
}
|
|
}
|
|
var _getAdjustedSizes = getAdjustedSizes({
|
|
aspectRatio,
|
|
width: minCanvasWidth,
|
|
height: minCanvasHeight
|
|
});
|
|
minCanvasWidth = _getAdjustedSizes.width;
|
|
minCanvasHeight = _getAdjustedSizes.height;
|
|
canvasData.minWidth = minCanvasWidth;
|
|
canvasData.minHeight = minCanvasHeight;
|
|
canvasData.maxWidth = Infinity;
|
|
canvasData.maxHeight = Infinity;
|
|
}
|
|
if (positionLimited) {
|
|
if (viewMode > (cropped ? 0 : 1)) {
|
|
var newCanvasLeft = containerData.width - canvasData.width;
|
|
var newCanvasTop = containerData.height - canvasData.height;
|
|
canvasData.minLeft = Math.min(0, newCanvasLeft);
|
|
canvasData.minTop = Math.min(0, newCanvasTop);
|
|
canvasData.maxLeft = Math.max(0, newCanvasLeft);
|
|
canvasData.maxTop = Math.max(0, newCanvasTop);
|
|
if (cropped && this.limited) {
|
|
canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));
|
|
canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));
|
|
canvasData.maxLeft = cropBoxData.left;
|
|
canvasData.maxTop = cropBoxData.top;
|
|
if (viewMode === 2) {
|
|
if (canvasData.width >= containerData.width) {
|
|
canvasData.minLeft = Math.min(0, newCanvasLeft);
|
|
canvasData.maxLeft = Math.max(0, newCanvasLeft);
|
|
}
|
|
if (canvasData.height >= containerData.height) {
|
|
canvasData.minTop = Math.min(0, newCanvasTop);
|
|
canvasData.maxTop = Math.max(0, newCanvasTop);
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
canvasData.minLeft = -canvasData.width;
|
|
canvasData.minTop = -canvasData.height;
|
|
canvasData.maxLeft = containerData.width;
|
|
canvasData.maxTop = containerData.height;
|
|
}
|
|
}
|
|
},
|
|
renderCanvas: function renderCanvas(changed, transformed) {
|
|
var canvasData = this.canvasData, imageData = this.imageData;
|
|
if (transformed) {
|
|
var _getRotatedSizes = getRotatedSizes({
|
|
width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),
|
|
height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),
|
|
degree: imageData.rotate || 0
|
|
}), naturalWidth = _getRotatedSizes.width, naturalHeight = _getRotatedSizes.height;
|
|
var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);
|
|
var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);
|
|
canvasData.left -= (width - canvasData.width) / 2;
|
|
canvasData.top -= (height - canvasData.height) / 2;
|
|
canvasData.width = width;
|
|
canvasData.height = height;
|
|
canvasData.aspectRatio = naturalWidth / naturalHeight;
|
|
canvasData.naturalWidth = naturalWidth;
|
|
canvasData.naturalHeight = naturalHeight;
|
|
this.limitCanvas(true, false);
|
|
}
|
|
if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {
|
|
canvasData.left = canvasData.oldLeft;
|
|
}
|
|
if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {
|
|
canvasData.top = canvasData.oldTop;
|
|
}
|
|
canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);
|
|
canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);
|
|
this.limitCanvas(false, true);
|
|
canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);
|
|
canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);
|
|
canvasData.oldLeft = canvasData.left;
|
|
canvasData.oldTop = canvasData.top;
|
|
setStyle(this.canvas, assign({
|
|
width: canvasData.width,
|
|
height: canvasData.height
|
|
}, getTransforms({
|
|
translateX: canvasData.left,
|
|
translateY: canvasData.top
|
|
})));
|
|
this.renderImage(changed);
|
|
if (this.cropped && this.limited) {
|
|
this.limitCropBox(true, true);
|
|
}
|
|
},
|
|
renderImage: function renderImage(changed) {
|
|
var canvasData = this.canvasData, imageData = this.imageData;
|
|
var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);
|
|
var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);
|
|
assign(imageData, {
|
|
width,
|
|
height,
|
|
left: (canvasData.width - width) / 2,
|
|
top: (canvasData.height - height) / 2
|
|
});
|
|
setStyle(this.image, assign({
|
|
width: imageData.width,
|
|
height: imageData.height
|
|
}, getTransforms(assign({
|
|
translateX: imageData.left,
|
|
translateY: imageData.top
|
|
}, imageData))));
|
|
if (changed) {
|
|
this.output();
|
|
}
|
|
},
|
|
initCropBox: function initCropBox() {
|
|
var options = this.options, canvasData = this.canvasData;
|
|
var aspectRatio = options.aspectRatio || options.initialAspectRatio;
|
|
var autoCropArea = Number(options.autoCropArea) || 0.8;
|
|
var cropBoxData = {
|
|
width: canvasData.width,
|
|
height: canvasData.height
|
|
};
|
|
if (aspectRatio) {
|
|
if (canvasData.height * aspectRatio > canvasData.width) {
|
|
cropBoxData.height = cropBoxData.width / aspectRatio;
|
|
} else {
|
|
cropBoxData.width = cropBoxData.height * aspectRatio;
|
|
}
|
|
}
|
|
this.cropBoxData = cropBoxData;
|
|
this.limitCropBox(true, true);
|
|
cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);
|
|
cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);
|
|
cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);
|
|
cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);
|
|
cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;
|
|
cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;
|
|
cropBoxData.oldLeft = cropBoxData.left;
|
|
cropBoxData.oldTop = cropBoxData.top;
|
|
this.initialCropBoxData = assign({}, cropBoxData);
|
|
},
|
|
limitCropBox: function limitCropBox(sizeLimited, positionLimited) {
|
|
var options = this.options, containerData = this.containerData, canvasData = this.canvasData, cropBoxData = this.cropBoxData, limited = this.limited;
|
|
var aspectRatio = options.aspectRatio;
|
|
if (sizeLimited) {
|
|
var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;
|
|
var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;
|
|
var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;
|
|
var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height;
|
|
minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);
|
|
minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);
|
|
if (aspectRatio) {
|
|
if (minCropBoxWidth && minCropBoxHeight) {
|
|
if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {
|
|
minCropBoxHeight = minCropBoxWidth / aspectRatio;
|
|
} else {
|
|
minCropBoxWidth = minCropBoxHeight * aspectRatio;
|
|
}
|
|
} else if (minCropBoxWidth) {
|
|
minCropBoxHeight = minCropBoxWidth / aspectRatio;
|
|
} else if (minCropBoxHeight) {
|
|
minCropBoxWidth = minCropBoxHeight * aspectRatio;
|
|
}
|
|
if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {
|
|
maxCropBoxHeight = maxCropBoxWidth / aspectRatio;
|
|
} else {
|
|
maxCropBoxWidth = maxCropBoxHeight * aspectRatio;
|
|
}
|
|
}
|
|
cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);
|
|
cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);
|
|
cropBoxData.maxWidth = maxCropBoxWidth;
|
|
cropBoxData.maxHeight = maxCropBoxHeight;
|
|
}
|
|
if (positionLimited) {
|
|
if (limited) {
|
|
cropBoxData.minLeft = Math.max(0, canvasData.left);
|
|
cropBoxData.minTop = Math.max(0, canvasData.top);
|
|
cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;
|
|
cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;
|
|
} else {
|
|
cropBoxData.minLeft = 0;
|
|
cropBoxData.minTop = 0;
|
|
cropBoxData.maxLeft = containerData.width - cropBoxData.width;
|
|
cropBoxData.maxTop = containerData.height - cropBoxData.height;
|
|
}
|
|
}
|
|
},
|
|
renderCropBox: function renderCropBox() {
|
|
var options = this.options, containerData = this.containerData, cropBoxData = this.cropBoxData;
|
|
if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {
|
|
cropBoxData.left = cropBoxData.oldLeft;
|
|
}
|
|
if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {
|
|
cropBoxData.top = cropBoxData.oldTop;
|
|
}
|
|
cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);
|
|
cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);
|
|
this.limitCropBox(false, true);
|
|
cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);
|
|
cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);
|
|
cropBoxData.oldLeft = cropBoxData.left;
|
|
cropBoxData.oldTop = cropBoxData.top;
|
|
if (options.movable && options.cropBoxMovable) {
|
|
setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);
|
|
}
|
|
setStyle(this.cropBox, assign({
|
|
width: cropBoxData.width,
|
|
height: cropBoxData.height
|
|
}, getTransforms({
|
|
translateX: cropBoxData.left,
|
|
translateY: cropBoxData.top
|
|
})));
|
|
if (this.cropped && this.limited) {
|
|
this.limitCanvas(true, true);
|
|
}
|
|
if (!this.disabled) {
|
|
this.output();
|
|
}
|
|
},
|
|
output: function output() {
|
|
this.preview();
|
|
dispatchEvent(this.element, EVENT_CROP, this.getData());
|
|
}
|
|
};
|
|
var preview = {
|
|
initPreview: function initPreview() {
|
|
var element = this.element, crossOrigin = this.crossOrigin;
|
|
var preview3 = this.options.preview;
|
|
var url2 = crossOrigin ? this.crossOriginUrl : this.url;
|
|
var alt = element.alt || "The image to preview";
|
|
var image = document.createElement("img");
|
|
if (crossOrigin) {
|
|
image.crossOrigin = crossOrigin;
|
|
}
|
|
image.src = url2;
|
|
image.alt = alt;
|
|
this.viewBox.appendChild(image);
|
|
this.viewBoxImage = image;
|
|
if (!preview3) {
|
|
return;
|
|
}
|
|
var previews = preview3;
|
|
if (typeof preview3 === "string") {
|
|
previews = element.ownerDocument.querySelectorAll(preview3);
|
|
} else if (preview3.querySelector) {
|
|
previews = [preview3];
|
|
}
|
|
this.previews = previews;
|
|
forEach(previews, function(el) {
|
|
var img = document.createElement("img");
|
|
setData(el, DATA_PREVIEW, {
|
|
width: el.offsetWidth,
|
|
height: el.offsetHeight,
|
|
html: el.innerHTML
|
|
});
|
|
if (crossOrigin) {
|
|
img.crossOrigin = crossOrigin;
|
|
}
|
|
img.src = url2;
|
|
img.alt = alt;
|
|
img.style.cssText = 'display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"';
|
|
el.innerHTML = "";
|
|
el.appendChild(img);
|
|
});
|
|
},
|
|
resetPreview: function resetPreview() {
|
|
forEach(this.previews, function(element) {
|
|
var data = getData(element, DATA_PREVIEW);
|
|
setStyle(element, {
|
|
width: data.width,
|
|
height: data.height
|
|
});
|
|
element.innerHTML = data.html;
|
|
removeData(element, DATA_PREVIEW);
|
|
});
|
|
},
|
|
preview: function preview2() {
|
|
var imageData = this.imageData, canvasData = this.canvasData, cropBoxData = this.cropBoxData;
|
|
var cropBoxWidth = cropBoxData.width, cropBoxHeight = cropBoxData.height;
|
|
var width = imageData.width, height = imageData.height;
|
|
var left = cropBoxData.left - canvasData.left - imageData.left;
|
|
var top = cropBoxData.top - canvasData.top - imageData.top;
|
|
if (!this.cropped || this.disabled) {
|
|
return;
|
|
}
|
|
setStyle(this.viewBoxImage, assign({
|
|
width,
|
|
height
|
|
}, getTransforms(assign({
|
|
translateX: -left,
|
|
translateY: -top
|
|
}, imageData))));
|
|
forEach(this.previews, function(element) {
|
|
var data = getData(element, DATA_PREVIEW);
|
|
var originalWidth = data.width;
|
|
var originalHeight = data.height;
|
|
var newWidth = originalWidth;
|
|
var newHeight = originalHeight;
|
|
var ratio = 1;
|
|
if (cropBoxWidth) {
|
|
ratio = originalWidth / cropBoxWidth;
|
|
newHeight = cropBoxHeight * ratio;
|
|
}
|
|
if (cropBoxHeight && newHeight > originalHeight) {
|
|
ratio = originalHeight / cropBoxHeight;
|
|
newWidth = cropBoxWidth * ratio;
|
|
newHeight = originalHeight;
|
|
}
|
|
setStyle(element, {
|
|
width: newWidth,
|
|
height: newHeight
|
|
});
|
|
setStyle(element.getElementsByTagName("img")[0], assign({
|
|
width: width * ratio,
|
|
height: height * ratio
|
|
}, getTransforms(assign({
|
|
translateX: -left * ratio,
|
|
translateY: -top * ratio
|
|
}, imageData))));
|
|
});
|
|
}
|
|
};
|
|
var events = {
|
|
bind: function bind() {
|
|
var element = this.element, options = this.options, cropper = this.cropper;
|
|
if (isFunction(options.cropstart)) {
|
|
addListener(element, EVENT_CROP_START, options.cropstart);
|
|
}
|
|
if (isFunction(options.cropmove)) {
|
|
addListener(element, EVENT_CROP_MOVE, options.cropmove);
|
|
}
|
|
if (isFunction(options.cropend)) {
|
|
addListener(element, EVENT_CROP_END, options.cropend);
|
|
}
|
|
if (isFunction(options.crop)) {
|
|
addListener(element, EVENT_CROP, options.crop);
|
|
}
|
|
if (isFunction(options.zoom)) {
|
|
addListener(element, EVENT_ZOOM, options.zoom);
|
|
}
|
|
addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));
|
|
if (options.zoomable && options.zoomOnWheel) {
|
|
addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this), {
|
|
passive: false,
|
|
capture: true
|
|
});
|
|
}
|
|
if (options.toggleDragModeOnDblclick) {
|
|
addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));
|
|
}
|
|
addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));
|
|
addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));
|
|
if (options.responsive) {
|
|
addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));
|
|
}
|
|
},
|
|
unbind: function unbind() {
|
|
var element = this.element, options = this.options, cropper = this.cropper;
|
|
if (isFunction(options.cropstart)) {
|
|
removeListener(element, EVENT_CROP_START, options.cropstart);
|
|
}
|
|
if (isFunction(options.cropmove)) {
|
|
removeListener(element, EVENT_CROP_MOVE, options.cropmove);
|
|
}
|
|
if (isFunction(options.cropend)) {
|
|
removeListener(element, EVENT_CROP_END, options.cropend);
|
|
}
|
|
if (isFunction(options.crop)) {
|
|
removeListener(element, EVENT_CROP, options.crop);
|
|
}
|
|
if (isFunction(options.zoom)) {
|
|
removeListener(element, EVENT_ZOOM, options.zoom);
|
|
}
|
|
removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);
|
|
if (options.zoomable && options.zoomOnWheel) {
|
|
removeListener(cropper, EVENT_WHEEL, this.onWheel, {
|
|
passive: false,
|
|
capture: true
|
|
});
|
|
}
|
|
if (options.toggleDragModeOnDblclick) {
|
|
removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);
|
|
}
|
|
removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);
|
|
removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);
|
|
if (options.responsive) {
|
|
removeListener(window, EVENT_RESIZE, this.onResize);
|
|
}
|
|
}
|
|
};
|
|
var handlers = {
|
|
resize: function resize() {
|
|
if (this.disabled) {
|
|
return;
|
|
}
|
|
var options = this.options, container = this.container, containerData = this.containerData;
|
|
var ratioX = container.offsetWidth / containerData.width;
|
|
var ratioY = container.offsetHeight / containerData.height;
|
|
var ratio = Math.abs(ratioX - 1) > Math.abs(ratioY - 1) ? ratioX : ratioY;
|
|
if (ratio !== 1) {
|
|
var canvasData;
|
|
var cropBoxData;
|
|
if (options.restore) {
|
|
canvasData = this.getCanvasData();
|
|
cropBoxData = this.getCropBoxData();
|
|
}
|
|
this.render();
|
|
if (options.restore) {
|
|
this.setCanvasData(forEach(canvasData, function(n, i) {
|
|
canvasData[i] = n * ratio;
|
|
}));
|
|
this.setCropBoxData(forEach(cropBoxData, function(n, i) {
|
|
cropBoxData[i] = n * ratio;
|
|
}));
|
|
}
|
|
}
|
|
},
|
|
dblclick: function dblclick() {
|
|
if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {
|
|
return;
|
|
}
|
|
this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);
|
|
},
|
|
wheel: function wheel(event) {
|
|
var _this = this;
|
|
var ratio = Number(this.options.wheelZoomRatio) || 0.1;
|
|
var delta = 1;
|
|
if (this.disabled) {
|
|
return;
|
|
}
|
|
event.preventDefault();
|
|
if (this.wheeling) {
|
|
return;
|
|
}
|
|
this.wheeling = true;
|
|
setTimeout(function() {
|
|
_this.wheeling = false;
|
|
}, 50);
|
|
if (event.deltaY) {
|
|
delta = event.deltaY > 0 ? 1 : -1;
|
|
} else if (event.wheelDelta) {
|
|
delta = -event.wheelDelta / 120;
|
|
} else if (event.detail) {
|
|
delta = event.detail > 0 ? 1 : -1;
|
|
}
|
|
this.zoom(-delta * ratio, event);
|
|
},
|
|
cropStart: function cropStart(event) {
|
|
var buttons = event.buttons, button = event.button;
|
|
if (this.disabled || (event.type === "mousedown" || event.type === "pointerdown" && event.pointerType === "mouse") && (isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0 || event.ctrlKey)) {
|
|
return;
|
|
}
|
|
var options = this.options, pointers = this.pointers;
|
|
var action;
|
|
if (event.changedTouches) {
|
|
forEach(event.changedTouches, function(touch) {
|
|
pointers[touch.identifier] = getPointer(touch);
|
|
});
|
|
} else {
|
|
pointers[event.pointerId || 0] = getPointer(event);
|
|
}
|
|
if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {
|
|
action = ACTION_ZOOM;
|
|
} else {
|
|
action = getData(event.target, DATA_ACTION);
|
|
}
|
|
if (!REGEXP_ACTIONS.test(action)) {
|
|
return;
|
|
}
|
|
if (dispatchEvent(this.element, EVENT_CROP_START, {
|
|
originalEvent: event,
|
|
action
|
|
}) === false) {
|
|
return;
|
|
}
|
|
event.preventDefault();
|
|
this.action = action;
|
|
this.cropping = false;
|
|
if (action === ACTION_CROP) {
|
|
this.cropping = true;
|
|
addClass(this.dragBox, CLASS_MODAL);
|
|
}
|
|
},
|
|
cropMove: function cropMove(event) {
|
|
var action = this.action;
|
|
if (this.disabled || !action) {
|
|
return;
|
|
}
|
|
var pointers = this.pointers;
|
|
event.preventDefault();
|
|
if (dispatchEvent(this.element, EVENT_CROP_MOVE, {
|
|
originalEvent: event,
|
|
action
|
|
}) === false) {
|
|
return;
|
|
}
|
|
if (event.changedTouches) {
|
|
forEach(event.changedTouches, function(touch) {
|
|
assign(pointers[touch.identifier] || {}, getPointer(touch, true));
|
|
});
|
|
} else {
|
|
assign(pointers[event.pointerId || 0] || {}, getPointer(event, true));
|
|
}
|
|
this.change(event);
|
|
},
|
|
cropEnd: function cropEnd(event) {
|
|
if (this.disabled) {
|
|
return;
|
|
}
|
|
var action = this.action, pointers = this.pointers;
|
|
if (event.changedTouches) {
|
|
forEach(event.changedTouches, function(touch) {
|
|
delete pointers[touch.identifier];
|
|
});
|
|
} else {
|
|
delete pointers[event.pointerId || 0];
|
|
}
|
|
if (!action) {
|
|
return;
|
|
}
|
|
event.preventDefault();
|
|
if (!Object.keys(pointers).length) {
|
|
this.action = "";
|
|
}
|
|
if (this.cropping) {
|
|
this.cropping = false;
|
|
toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);
|
|
}
|
|
dispatchEvent(this.element, EVENT_CROP_END, {
|
|
originalEvent: event,
|
|
action
|
|
});
|
|
}
|
|
};
|
|
var change = {
|
|
change: function change2(event) {
|
|
var options = this.options, canvasData = this.canvasData, containerData = this.containerData, cropBoxData = this.cropBoxData, pointers = this.pointers;
|
|
var action = this.action;
|
|
var aspectRatio = options.aspectRatio;
|
|
var left = cropBoxData.left, top = cropBoxData.top, width = cropBoxData.width, height = cropBoxData.height;
|
|
var right = left + width;
|
|
var bottom = top + height;
|
|
var minLeft = 0;
|
|
var minTop = 0;
|
|
var maxWidth = containerData.width;
|
|
var maxHeight = containerData.height;
|
|
var renderable = true;
|
|
var offset;
|
|
if (!aspectRatio && event.shiftKey) {
|
|
aspectRatio = width && height ? width / height : 1;
|
|
}
|
|
if (this.limited) {
|
|
minLeft = cropBoxData.minLeft;
|
|
minTop = cropBoxData.minTop;
|
|
maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);
|
|
maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);
|
|
}
|
|
var pointer = pointers[Object.keys(pointers)[0]];
|
|
var range3 = {
|
|
x: pointer.endX - pointer.startX,
|
|
y: pointer.endY - pointer.startY
|
|
};
|
|
var check = function check2(side) {
|
|
switch (side) {
|
|
case ACTION_EAST:
|
|
if (right + range3.x > maxWidth) {
|
|
range3.x = maxWidth - right;
|
|
}
|
|
break;
|
|
case ACTION_WEST:
|
|
if (left + range3.x < minLeft) {
|
|
range3.x = minLeft - left;
|
|
}
|
|
break;
|
|
case ACTION_NORTH:
|
|
if (top + range3.y < minTop) {
|
|
range3.y = minTop - top;
|
|
}
|
|
break;
|
|
case ACTION_SOUTH:
|
|
if (bottom + range3.y > maxHeight) {
|
|
range3.y = maxHeight - bottom;
|
|
}
|
|
break;
|
|
}
|
|
};
|
|
switch (action) {
|
|
case ACTION_ALL:
|
|
left += range3.x;
|
|
top += range3.y;
|
|
break;
|
|
case ACTION_EAST:
|
|
if (range3.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
check(ACTION_EAST);
|
|
width += range3.x;
|
|
if (width < 0) {
|
|
action = ACTION_WEST;
|
|
width = -width;
|
|
left -= width;
|
|
}
|
|
if (aspectRatio) {
|
|
height = width / aspectRatio;
|
|
top += (cropBoxData.height - height) / 2;
|
|
}
|
|
break;
|
|
case ACTION_NORTH:
|
|
if (range3.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
check(ACTION_NORTH);
|
|
height -= range3.y;
|
|
top += range3.y;
|
|
if (height < 0) {
|
|
action = ACTION_SOUTH;
|
|
height = -height;
|
|
top -= height;
|
|
}
|
|
if (aspectRatio) {
|
|
width = height * aspectRatio;
|
|
left += (cropBoxData.width - width) / 2;
|
|
}
|
|
break;
|
|
case ACTION_WEST:
|
|
if (range3.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
check(ACTION_WEST);
|
|
width -= range3.x;
|
|
left += range3.x;
|
|
if (width < 0) {
|
|
action = ACTION_EAST;
|
|
width = -width;
|
|
left -= width;
|
|
}
|
|
if (aspectRatio) {
|
|
height = width / aspectRatio;
|
|
top += (cropBoxData.height - height) / 2;
|
|
}
|
|
break;
|
|
case ACTION_SOUTH:
|
|
if (range3.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
check(ACTION_SOUTH);
|
|
height += range3.y;
|
|
if (height < 0) {
|
|
action = ACTION_NORTH;
|
|
height = -height;
|
|
top -= height;
|
|
}
|
|
if (aspectRatio) {
|
|
width = height * aspectRatio;
|
|
left += (cropBoxData.width - width) / 2;
|
|
}
|
|
break;
|
|
case ACTION_NORTH_EAST:
|
|
if (aspectRatio) {
|
|
if (range3.y <= 0 && (top <= minTop || right >= maxWidth)) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
check(ACTION_NORTH);
|
|
height -= range3.y;
|
|
top += range3.y;
|
|
width = height * aspectRatio;
|
|
} else {
|
|
check(ACTION_NORTH);
|
|
check(ACTION_EAST);
|
|
if (range3.x >= 0) {
|
|
if (right < maxWidth) {
|
|
width += range3.x;
|
|
} else if (range3.y <= 0 && top <= minTop) {
|
|
renderable = false;
|
|
}
|
|
} else {
|
|
width += range3.x;
|
|
}
|
|
if (range3.y <= 0) {
|
|
if (top > minTop) {
|
|
height -= range3.y;
|
|
top += range3.y;
|
|
}
|
|
} else {
|
|
height -= range3.y;
|
|
top += range3.y;
|
|
}
|
|
}
|
|
if (width < 0 && height < 0) {
|
|
action = ACTION_SOUTH_WEST;
|
|
height = -height;
|
|
width = -width;
|
|
top -= height;
|
|
left -= width;
|
|
} else if (width < 0) {
|
|
action = ACTION_NORTH_WEST;
|
|
width = -width;
|
|
left -= width;
|
|
} else if (height < 0) {
|
|
action = ACTION_SOUTH_EAST;
|
|
height = -height;
|
|
top -= height;
|
|
}
|
|
break;
|
|
case ACTION_NORTH_WEST:
|
|
if (aspectRatio) {
|
|
if (range3.y <= 0 && (top <= minTop || left <= minLeft)) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
check(ACTION_NORTH);
|
|
height -= range3.y;
|
|
top += range3.y;
|
|
width = height * aspectRatio;
|
|
left += cropBoxData.width - width;
|
|
} else {
|
|
check(ACTION_NORTH);
|
|
check(ACTION_WEST);
|
|
if (range3.x <= 0) {
|
|
if (left > minLeft) {
|
|
width -= range3.x;
|
|
left += range3.x;
|
|
} else if (range3.y <= 0 && top <= minTop) {
|
|
renderable = false;
|
|
}
|
|
} else {
|
|
width -= range3.x;
|
|
left += range3.x;
|
|
}
|
|
if (range3.y <= 0) {
|
|
if (top > minTop) {
|
|
height -= range3.y;
|
|
top += range3.y;
|
|
}
|
|
} else {
|
|
height -= range3.y;
|
|
top += range3.y;
|
|
}
|
|
}
|
|
if (width < 0 && height < 0) {
|
|
action = ACTION_SOUTH_EAST;
|
|
height = -height;
|
|
width = -width;
|
|
top -= height;
|
|
left -= width;
|
|
} else if (width < 0) {
|
|
action = ACTION_NORTH_EAST;
|
|
width = -width;
|
|
left -= width;
|
|
} else if (height < 0) {
|
|
action = ACTION_SOUTH_WEST;
|
|
height = -height;
|
|
top -= height;
|
|
}
|
|
break;
|
|
case ACTION_SOUTH_WEST:
|
|
if (aspectRatio) {
|
|
if (range3.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
check(ACTION_WEST);
|
|
width -= range3.x;
|
|
left += range3.x;
|
|
height = width / aspectRatio;
|
|
} else {
|
|
check(ACTION_SOUTH);
|
|
check(ACTION_WEST);
|
|
if (range3.x <= 0) {
|
|
if (left > minLeft) {
|
|
width -= range3.x;
|
|
left += range3.x;
|
|
} else if (range3.y >= 0 && bottom >= maxHeight) {
|
|
renderable = false;
|
|
}
|
|
} else {
|
|
width -= range3.x;
|
|
left += range3.x;
|
|
}
|
|
if (range3.y >= 0) {
|
|
if (bottom < maxHeight) {
|
|
height += range3.y;
|
|
}
|
|
} else {
|
|
height += range3.y;
|
|
}
|
|
}
|
|
if (width < 0 && height < 0) {
|
|
action = ACTION_NORTH_EAST;
|
|
height = -height;
|
|
width = -width;
|
|
top -= height;
|
|
left -= width;
|
|
} else if (width < 0) {
|
|
action = ACTION_SOUTH_EAST;
|
|
width = -width;
|
|
left -= width;
|
|
} else if (height < 0) {
|
|
action = ACTION_NORTH_WEST;
|
|
height = -height;
|
|
top -= height;
|
|
}
|
|
break;
|
|
case ACTION_SOUTH_EAST:
|
|
if (aspectRatio) {
|
|
if (range3.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
check(ACTION_EAST);
|
|
width += range3.x;
|
|
height = width / aspectRatio;
|
|
} else {
|
|
check(ACTION_SOUTH);
|
|
check(ACTION_EAST);
|
|
if (range3.x >= 0) {
|
|
if (right < maxWidth) {
|
|
width += range3.x;
|
|
} else if (range3.y >= 0 && bottom >= maxHeight) {
|
|
renderable = false;
|
|
}
|
|
} else {
|
|
width += range3.x;
|
|
}
|
|
if (range3.y >= 0) {
|
|
if (bottom < maxHeight) {
|
|
height += range3.y;
|
|
}
|
|
} else {
|
|
height += range3.y;
|
|
}
|
|
}
|
|
if (width < 0 && height < 0) {
|
|
action = ACTION_NORTH_WEST;
|
|
height = -height;
|
|
width = -width;
|
|
top -= height;
|
|
left -= width;
|
|
} else if (width < 0) {
|
|
action = ACTION_SOUTH_WEST;
|
|
width = -width;
|
|
left -= width;
|
|
} else if (height < 0) {
|
|
action = ACTION_NORTH_EAST;
|
|
height = -height;
|
|
top -= height;
|
|
}
|
|
break;
|
|
case ACTION_MOVE:
|
|
this.move(range3.x, range3.y);
|
|
renderable = false;
|
|
break;
|
|
case ACTION_ZOOM:
|
|
this.zoom(getMaxZoomRatio(pointers), event);
|
|
renderable = false;
|
|
break;
|
|
case ACTION_CROP:
|
|
if (!range3.x || !range3.y) {
|
|
renderable = false;
|
|
break;
|
|
}
|
|
offset = getOffset(this.cropper);
|
|
left = pointer.startX - offset.left;
|
|
top = pointer.startY - offset.top;
|
|
width = cropBoxData.minWidth;
|
|
height = cropBoxData.minHeight;
|
|
if (range3.x > 0) {
|
|
action = range3.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;
|
|
} else if (range3.x < 0) {
|
|
left -= width;
|
|
action = range3.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;
|
|
}
|
|
if (range3.y < 0) {
|
|
top -= height;
|
|
}
|
|
if (!this.cropped) {
|
|
removeClass(this.cropBox, CLASS_HIDDEN);
|
|
this.cropped = true;
|
|
if (this.limited) {
|
|
this.limitCropBox(true, true);
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
if (renderable) {
|
|
cropBoxData.width = width;
|
|
cropBoxData.height = height;
|
|
cropBoxData.left = left;
|
|
cropBoxData.top = top;
|
|
this.action = action;
|
|
this.renderCropBox();
|
|
}
|
|
forEach(pointers, function(p) {
|
|
p.startX = p.endX;
|
|
p.startY = p.endY;
|
|
});
|
|
}
|
|
};
|
|
var methods = {
|
|
crop: function crop() {
|
|
if (this.ready && !this.cropped && !this.disabled) {
|
|
this.cropped = true;
|
|
this.limitCropBox(true, true);
|
|
if (this.options.modal) {
|
|
addClass(this.dragBox, CLASS_MODAL);
|
|
}
|
|
removeClass(this.cropBox, CLASS_HIDDEN);
|
|
this.setCropBoxData(this.initialCropBoxData);
|
|
}
|
|
return this;
|
|
},
|
|
reset: function reset2() {
|
|
if (this.ready && !this.disabled) {
|
|
this.imageData = assign({}, this.initialImageData);
|
|
this.canvasData = assign({}, this.initialCanvasData);
|
|
this.cropBoxData = assign({}, this.initialCropBoxData);
|
|
this.renderCanvas();
|
|
if (this.cropped) {
|
|
this.renderCropBox();
|
|
}
|
|
}
|
|
return this;
|
|
},
|
|
clear: function clear() {
|
|
if (this.cropped && !this.disabled) {
|
|
assign(this.cropBoxData, {
|
|
left: 0,
|
|
top: 0,
|
|
width: 0,
|
|
height: 0
|
|
});
|
|
this.cropped = false;
|
|
this.renderCropBox();
|
|
this.limitCanvas(true, true);
|
|
this.renderCanvas();
|
|
removeClass(this.dragBox, CLASS_MODAL);
|
|
addClass(this.cropBox, CLASS_HIDDEN);
|
|
}
|
|
return this;
|
|
},
|
|
replace: function replace(url2) {
|
|
var hasSameSize = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
|
|
if (!this.disabled && url2) {
|
|
if (this.isImg) {
|
|
this.element.src = url2;
|
|
}
|
|
if (hasSameSize) {
|
|
this.url = url2;
|
|
this.image.src = url2;
|
|
if (this.ready) {
|
|
this.viewBoxImage.src = url2;
|
|
forEach(this.previews, function(element) {
|
|
element.getElementsByTagName("img")[0].src = url2;
|
|
});
|
|
}
|
|
} else {
|
|
if (this.isImg) {
|
|
this.replaced = true;
|
|
}
|
|
this.options.data = null;
|
|
this.uncreate();
|
|
this.load(url2);
|
|
}
|
|
}
|
|
return this;
|
|
},
|
|
enable: function enable() {
|
|
if (this.ready && this.disabled) {
|
|
this.disabled = false;
|
|
removeClass(this.cropper, CLASS_DISABLED);
|
|
}
|
|
return this;
|
|
},
|
|
disable: function disable() {
|
|
if (this.ready && !this.disabled) {
|
|
this.disabled = true;
|
|
addClass(this.cropper, CLASS_DISABLED);
|
|
}
|
|
return this;
|
|
},
|
|
destroy: function destroy() {
|
|
var element = this.element;
|
|
if (!element[NAMESPACE]) {
|
|
return this;
|
|
}
|
|
element[NAMESPACE] = void 0;
|
|
if (this.isImg && this.replaced) {
|
|
element.src = this.originalUrl;
|
|
}
|
|
this.uncreate();
|
|
return this;
|
|
},
|
|
move: function move(offsetX) {
|
|
var offsetY = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : offsetX;
|
|
var _this$canvasData = this.canvasData, left = _this$canvasData.left, top = _this$canvasData.top;
|
|
return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));
|
|
},
|
|
moveTo: function moveTo(x) {
|
|
var y = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : x;
|
|
var canvasData = this.canvasData;
|
|
var changed = false;
|
|
x = Number(x);
|
|
y = Number(y);
|
|
if (this.ready && !this.disabled && this.options.movable) {
|
|
if (isNumber(x)) {
|
|
canvasData.left = x;
|
|
changed = true;
|
|
}
|
|
if (isNumber(y)) {
|
|
canvasData.top = y;
|
|
changed = true;
|
|
}
|
|
if (changed) {
|
|
this.renderCanvas(true);
|
|
}
|
|
}
|
|
return this;
|
|
},
|
|
zoom: function zoom(ratio, _originalEvent) {
|
|
var canvasData = this.canvasData;
|
|
ratio = Number(ratio);
|
|
if (ratio < 0) {
|
|
ratio = 1 / (1 - ratio);
|
|
} else {
|
|
ratio = 1 + ratio;
|
|
}
|
|
return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);
|
|
},
|
|
zoomTo: function zoomTo(ratio, pivot, _originalEvent) {
|
|
var options = this.options, canvasData = this.canvasData;
|
|
var width = canvasData.width, height = canvasData.height, naturalWidth = canvasData.naturalWidth, naturalHeight = canvasData.naturalHeight;
|
|
ratio = Number(ratio);
|
|
if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {
|
|
var newWidth = naturalWidth * ratio;
|
|
var newHeight = naturalHeight * ratio;
|
|
if (dispatchEvent(this.element, EVENT_ZOOM, {
|
|
ratio,
|
|
oldRatio: width / naturalWidth,
|
|
originalEvent: _originalEvent
|
|
}) === false) {
|
|
return this;
|
|
}
|
|
if (_originalEvent) {
|
|
var pointers = this.pointers;
|
|
var offset = getOffset(this.cropper);
|
|
var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {
|
|
pageX: _originalEvent.pageX,
|
|
pageY: _originalEvent.pageY
|
|
};
|
|
canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);
|
|
canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);
|
|
} else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {
|
|
canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);
|
|
canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);
|
|
} else {
|
|
canvasData.left -= (newWidth - width) / 2;
|
|
canvasData.top -= (newHeight - height) / 2;
|
|
}
|
|
canvasData.width = newWidth;
|
|
canvasData.height = newHeight;
|
|
this.renderCanvas(true);
|
|
}
|
|
return this;
|
|
},
|
|
rotate: function rotate(degree) {
|
|
return this.rotateTo((this.imageData.rotate || 0) + Number(degree));
|
|
},
|
|
rotateTo: function rotateTo(degree) {
|
|
degree = Number(degree);
|
|
if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {
|
|
this.imageData.rotate = degree % 360;
|
|
this.renderCanvas(true, true);
|
|
}
|
|
return this;
|
|
},
|
|
scaleX: function scaleX(_scaleX) {
|
|
var scaleY2 = this.imageData.scaleY;
|
|
return this.scale(_scaleX, isNumber(scaleY2) ? scaleY2 : 1);
|
|
},
|
|
scaleY: function scaleY(_scaleY) {
|
|
var scaleX2 = this.imageData.scaleX;
|
|
return this.scale(isNumber(scaleX2) ? scaleX2 : 1, _scaleY);
|
|
},
|
|
scale: function scale(scaleX2) {
|
|
var scaleY2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : scaleX2;
|
|
var imageData = this.imageData;
|
|
var transformed = false;
|
|
scaleX2 = Number(scaleX2);
|
|
scaleY2 = Number(scaleY2);
|
|
if (this.ready && !this.disabled && this.options.scalable) {
|
|
if (isNumber(scaleX2)) {
|
|
imageData.scaleX = scaleX2;
|
|
transformed = true;
|
|
}
|
|
if (isNumber(scaleY2)) {
|
|
imageData.scaleY = scaleY2;
|
|
transformed = true;
|
|
}
|
|
if (transformed) {
|
|
this.renderCanvas(true, true);
|
|
}
|
|
}
|
|
return this;
|
|
},
|
|
getData: function getData2() {
|
|
var rounded = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false;
|
|
var options = this.options, imageData = this.imageData, canvasData = this.canvasData, cropBoxData = this.cropBoxData;
|
|
var data;
|
|
if (this.ready && this.cropped) {
|
|
data = {
|
|
x: cropBoxData.left - canvasData.left,
|
|
y: cropBoxData.top - canvasData.top,
|
|
width: cropBoxData.width,
|
|
height: cropBoxData.height
|
|
};
|
|
var ratio = imageData.width / imageData.naturalWidth;
|
|
forEach(data, function(n, i) {
|
|
data[i] = n / ratio;
|
|
});
|
|
if (rounded) {
|
|
var bottom = Math.round(data.y + data.height);
|
|
var right = Math.round(data.x + data.width);
|
|
data.x = Math.round(data.x);
|
|
data.y = Math.round(data.y);
|
|
data.width = right - data.x;
|
|
data.height = bottom - data.y;
|
|
}
|
|
} else {
|
|
data = {
|
|
x: 0,
|
|
y: 0,
|
|
width: 0,
|
|
height: 0
|
|
};
|
|
}
|
|
if (options.rotatable) {
|
|
data.rotate = imageData.rotate || 0;
|
|
}
|
|
if (options.scalable) {
|
|
data.scaleX = imageData.scaleX || 1;
|
|
data.scaleY = imageData.scaleY || 1;
|
|
}
|
|
return data;
|
|
},
|
|
setData: function setData2(data) {
|
|
var options = this.options, imageData = this.imageData, canvasData = this.canvasData;
|
|
var cropBoxData = {};
|
|
if (this.ready && !this.disabled && isPlainObject(data)) {
|
|
var transformed = false;
|
|
if (options.rotatable) {
|
|
if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {
|
|
imageData.rotate = data.rotate;
|
|
transformed = true;
|
|
}
|
|
}
|
|
if (options.scalable) {
|
|
if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {
|
|
imageData.scaleX = data.scaleX;
|
|
transformed = true;
|
|
}
|
|
if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {
|
|
imageData.scaleY = data.scaleY;
|
|
transformed = true;
|
|
}
|
|
}
|
|
if (transformed) {
|
|
this.renderCanvas(true, true);
|
|
}
|
|
var ratio = imageData.width / imageData.naturalWidth;
|
|
if (isNumber(data.x)) {
|
|
cropBoxData.left = data.x * ratio + canvasData.left;
|
|
}
|
|
if (isNumber(data.y)) {
|
|
cropBoxData.top = data.y * ratio + canvasData.top;
|
|
}
|
|
if (isNumber(data.width)) {
|
|
cropBoxData.width = data.width * ratio;
|
|
}
|
|
if (isNumber(data.height)) {
|
|
cropBoxData.height = data.height * ratio;
|
|
}
|
|
this.setCropBoxData(cropBoxData);
|
|
}
|
|
return this;
|
|
},
|
|
getContainerData: function getContainerData() {
|
|
return this.ready ? assign({}, this.containerData) : {};
|
|
},
|
|
getImageData: function getImageData() {
|
|
return this.sized ? assign({}, this.imageData) : {};
|
|
},
|
|
getCanvasData: function getCanvasData() {
|
|
var canvasData = this.canvasData;
|
|
var data = {};
|
|
if (this.ready) {
|
|
forEach(["left", "top", "width", "height", "naturalWidth", "naturalHeight"], function(n) {
|
|
data[n] = canvasData[n];
|
|
});
|
|
}
|
|
return data;
|
|
},
|
|
setCanvasData: function setCanvasData(data) {
|
|
var canvasData = this.canvasData;
|
|
var aspectRatio = canvasData.aspectRatio;
|
|
if (this.ready && !this.disabled && isPlainObject(data)) {
|
|
if (isNumber(data.left)) {
|
|
canvasData.left = data.left;
|
|
}
|
|
if (isNumber(data.top)) {
|
|
canvasData.top = data.top;
|
|
}
|
|
if (isNumber(data.width)) {
|
|
canvasData.width = data.width;
|
|
canvasData.height = data.width / aspectRatio;
|
|
} else if (isNumber(data.height)) {
|
|
canvasData.height = data.height;
|
|
canvasData.width = data.height * aspectRatio;
|
|
}
|
|
this.renderCanvas(true);
|
|
}
|
|
return this;
|
|
},
|
|
getCropBoxData: function getCropBoxData() {
|
|
var cropBoxData = this.cropBoxData;
|
|
var data;
|
|
if (this.ready && this.cropped) {
|
|
data = {
|
|
left: cropBoxData.left,
|
|
top: cropBoxData.top,
|
|
width: cropBoxData.width,
|
|
height: cropBoxData.height
|
|
};
|
|
}
|
|
return data || {};
|
|
},
|
|
setCropBoxData: function setCropBoxData(data) {
|
|
var cropBoxData = this.cropBoxData;
|
|
var aspectRatio = this.options.aspectRatio;
|
|
var widthChanged;
|
|
var heightChanged;
|
|
if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {
|
|
if (isNumber(data.left)) {
|
|
cropBoxData.left = data.left;
|
|
}
|
|
if (isNumber(data.top)) {
|
|
cropBoxData.top = data.top;
|
|
}
|
|
if (isNumber(data.width) && data.width !== cropBoxData.width) {
|
|
widthChanged = true;
|
|
cropBoxData.width = data.width;
|
|
}
|
|
if (isNumber(data.height) && data.height !== cropBoxData.height) {
|
|
heightChanged = true;
|
|
cropBoxData.height = data.height;
|
|
}
|
|
if (aspectRatio) {
|
|
if (widthChanged) {
|
|
cropBoxData.height = cropBoxData.width / aspectRatio;
|
|
} else if (heightChanged) {
|
|
cropBoxData.width = cropBoxData.height * aspectRatio;
|
|
}
|
|
}
|
|
this.renderCropBox();
|
|
}
|
|
return this;
|
|
},
|
|
getCroppedCanvas: function getCroppedCanvas() {
|
|
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
if (!this.ready || !window.HTMLCanvasElement) {
|
|
return null;
|
|
}
|
|
var canvasData = this.canvasData;
|
|
var source = getSourceCanvas(this.image, this.imageData, canvasData, options);
|
|
if (!this.cropped) {
|
|
return source;
|
|
}
|
|
var _this$getData = this.getData(), initialX = _this$getData.x, initialY = _this$getData.y, initialWidth = _this$getData.width, initialHeight = _this$getData.height;
|
|
var ratio = source.width / Math.floor(canvasData.naturalWidth);
|
|
if (ratio !== 1) {
|
|
initialX *= ratio;
|
|
initialY *= ratio;
|
|
initialWidth *= ratio;
|
|
initialHeight *= ratio;
|
|
}
|
|
var aspectRatio = initialWidth / initialHeight;
|
|
var maxSizes = getAdjustedSizes({
|
|
aspectRatio,
|
|
width: options.maxWidth || Infinity,
|
|
height: options.maxHeight || Infinity
|
|
});
|
|
var minSizes = getAdjustedSizes({
|
|
aspectRatio,
|
|
width: options.minWidth || 0,
|
|
height: options.minHeight || 0
|
|
}, "cover");
|
|
var _getAdjustedSizes = getAdjustedSizes({
|
|
aspectRatio,
|
|
width: options.width || (ratio !== 1 ? source.width : initialWidth),
|
|
height: options.height || (ratio !== 1 ? source.height : initialHeight)
|
|
}), width = _getAdjustedSizes.width, height = _getAdjustedSizes.height;
|
|
width = Math.min(maxSizes.width, Math.max(minSizes.width, width));
|
|
height = Math.min(maxSizes.height, Math.max(minSizes.height, height));
|
|
var canvas = document.createElement("canvas");
|
|
var context = canvas.getContext("2d");
|
|
canvas.width = normalizeDecimalNumber(width);
|
|
canvas.height = normalizeDecimalNumber(height);
|
|
context.fillStyle = options.fillColor || "transparent";
|
|
context.fillRect(0, 0, width, height);
|
|
var _options$imageSmoothi = options.imageSmoothingEnabled, imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi, imageSmoothingQuality = options.imageSmoothingQuality;
|
|
context.imageSmoothingEnabled = imageSmoothingEnabled;
|
|
if (imageSmoothingQuality) {
|
|
context.imageSmoothingQuality = imageSmoothingQuality;
|
|
}
|
|
var sourceWidth = source.width;
|
|
var sourceHeight = source.height;
|
|
var srcX = initialX;
|
|
var srcY = initialY;
|
|
var srcWidth;
|
|
var srcHeight;
|
|
var dstX;
|
|
var dstY;
|
|
var dstWidth;
|
|
var dstHeight;
|
|
if (srcX <= -initialWidth || srcX > sourceWidth) {
|
|
srcX = 0;
|
|
srcWidth = 0;
|
|
dstX = 0;
|
|
dstWidth = 0;
|
|
} else if (srcX <= 0) {
|
|
dstX = -srcX;
|
|
srcX = 0;
|
|
srcWidth = Math.min(sourceWidth, initialWidth + srcX);
|
|
dstWidth = srcWidth;
|
|
} else if (srcX <= sourceWidth) {
|
|
dstX = 0;
|
|
srcWidth = Math.min(initialWidth, sourceWidth - srcX);
|
|
dstWidth = srcWidth;
|
|
}
|
|
if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {
|
|
srcY = 0;
|
|
srcHeight = 0;
|
|
dstY = 0;
|
|
dstHeight = 0;
|
|
} else if (srcY <= 0) {
|
|
dstY = -srcY;
|
|
srcY = 0;
|
|
srcHeight = Math.min(sourceHeight, initialHeight + srcY);
|
|
dstHeight = srcHeight;
|
|
} else if (srcY <= sourceHeight) {
|
|
dstY = 0;
|
|
srcHeight = Math.min(initialHeight, sourceHeight - srcY);
|
|
dstHeight = srcHeight;
|
|
}
|
|
var params = [srcX, srcY, srcWidth, srcHeight];
|
|
if (dstWidth > 0 && dstHeight > 0) {
|
|
var scale2 = width / initialWidth;
|
|
params.push(dstX * scale2, dstY * scale2, dstWidth * scale2, dstHeight * scale2);
|
|
}
|
|
context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function(param) {
|
|
return Math.floor(normalizeDecimalNumber(param));
|
|
}))));
|
|
return canvas;
|
|
},
|
|
setAspectRatio: function setAspectRatio(aspectRatio) {
|
|
var options = this.options;
|
|
if (!this.disabled && !isUndefined(aspectRatio)) {
|
|
options.aspectRatio = Math.max(0, aspectRatio) || NaN;
|
|
if (this.ready) {
|
|
this.initCropBox();
|
|
if (this.cropped) {
|
|
this.renderCropBox();
|
|
}
|
|
}
|
|
}
|
|
return this;
|
|
},
|
|
setDragMode: function setDragMode(mode) {
|
|
var options = this.options, dragBox = this.dragBox, face = this.face;
|
|
if (this.ready && !this.disabled) {
|
|
var croppable = mode === DRAG_MODE_CROP;
|
|
var movable = options.movable && mode === DRAG_MODE_MOVE;
|
|
mode = croppable || movable ? mode : DRAG_MODE_NONE;
|
|
options.dragMode = mode;
|
|
setData(dragBox, DATA_ACTION, mode);
|
|
toggleClass(dragBox, CLASS_CROP, croppable);
|
|
toggleClass(dragBox, CLASS_MOVE, movable);
|
|
if (!options.cropBoxMovable) {
|
|
setData(face, DATA_ACTION, mode);
|
|
toggleClass(face, CLASS_CROP, croppable);
|
|
toggleClass(face, CLASS_MOVE, movable);
|
|
}
|
|
}
|
|
return this;
|
|
}
|
|
};
|
|
var AnotherCropper = WINDOW.Cropper;
|
|
var Cropper = /* @__PURE__ */ function() {
|
|
function Cropper2(element) {
|
|
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
_classCallCheck(this, Cropper2);
|
|
if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {
|
|
throw new Error("The first argument is required and must be an <img> or <canvas> element.");
|
|
}
|
|
this.element = element;
|
|
this.options = assign({}, DEFAULTS, isPlainObject(options) && options);
|
|
this.cropped = false;
|
|
this.disabled = false;
|
|
this.pointers = {};
|
|
this.ready = false;
|
|
this.reloading = false;
|
|
this.replaced = false;
|
|
this.sized = false;
|
|
this.sizing = false;
|
|
this.init();
|
|
}
|
|
_createClass(Cropper2, [{
|
|
key: "init",
|
|
value: function init() {
|
|
var element = this.element;
|
|
var tagName = element.tagName.toLowerCase();
|
|
var url2;
|
|
if (element[NAMESPACE]) {
|
|
return;
|
|
}
|
|
element[NAMESPACE] = this;
|
|
if (tagName === "img") {
|
|
this.isImg = true;
|
|
url2 = element.getAttribute("src") || "";
|
|
this.originalUrl = url2;
|
|
if (!url2) {
|
|
return;
|
|
}
|
|
url2 = element.src;
|
|
} else if (tagName === "canvas" && window.HTMLCanvasElement) {
|
|
url2 = element.toDataURL();
|
|
}
|
|
this.load(url2);
|
|
}
|
|
}, {
|
|
key: "load",
|
|
value: function load2(url2) {
|
|
var _this = this;
|
|
if (!url2) {
|
|
return;
|
|
}
|
|
this.url = url2;
|
|
this.imageData = {};
|
|
var element = this.element, options = this.options;
|
|
if (!options.rotatable && !options.scalable) {
|
|
options.checkOrientation = false;
|
|
}
|
|
if (!options.checkOrientation || !window.ArrayBuffer) {
|
|
this.clone();
|
|
return;
|
|
}
|
|
if (REGEXP_DATA_URL.test(url2)) {
|
|
if (REGEXP_DATA_URL_JPEG.test(url2)) {
|
|
this.read(dataURLToArrayBuffer(url2));
|
|
} else {
|
|
this.clone();
|
|
}
|
|
return;
|
|
}
|
|
var xhr = new XMLHttpRequest();
|
|
var clone = this.clone.bind(this);
|
|
this.reloading = true;
|
|
this.xhr = xhr;
|
|
xhr.onabort = clone;
|
|
xhr.onerror = clone;
|
|
xhr.ontimeout = clone;
|
|
xhr.onprogress = function() {
|
|
if (xhr.getResponseHeader("content-type") !== MIME_TYPE_JPEG) {
|
|
xhr.abort();
|
|
}
|
|
};
|
|
xhr.onload = function() {
|
|
_this.read(xhr.response);
|
|
};
|
|
xhr.onloadend = function() {
|
|
_this.reloading = false;
|
|
_this.xhr = null;
|
|
};
|
|
if (options.checkCrossOrigin && isCrossOriginURL(url2) && element.crossOrigin) {
|
|
url2 = addTimestamp(url2);
|
|
}
|
|
xhr.open("GET", url2, true);
|
|
xhr.responseType = "arraybuffer";
|
|
xhr.withCredentials = element.crossOrigin === "use-credentials";
|
|
xhr.send();
|
|
}
|
|
}, {
|
|
key: "read",
|
|
value: function read(arrayBuffer) {
|
|
var options = this.options, imageData = this.imageData;
|
|
var orientation = resetAndGetOrientation(arrayBuffer);
|
|
var rotate2 = 0;
|
|
var scaleX2 = 1;
|
|
var scaleY2 = 1;
|
|
if (orientation > 1) {
|
|
this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);
|
|
var _parseOrientation = parseOrientation(orientation);
|
|
rotate2 = _parseOrientation.rotate;
|
|
scaleX2 = _parseOrientation.scaleX;
|
|
scaleY2 = _parseOrientation.scaleY;
|
|
}
|
|
if (options.rotatable) {
|
|
imageData.rotate = rotate2;
|
|
}
|
|
if (options.scalable) {
|
|
imageData.scaleX = scaleX2;
|
|
imageData.scaleY = scaleY2;
|
|
}
|
|
this.clone();
|
|
}
|
|
}, {
|
|
key: "clone",
|
|
value: function clone() {
|
|
var element = this.element, url2 = this.url;
|
|
var crossOrigin = element.crossOrigin;
|
|
var crossOriginUrl = url2;
|
|
if (this.options.checkCrossOrigin && isCrossOriginURL(url2)) {
|
|
if (!crossOrigin) {
|
|
crossOrigin = "anonymous";
|
|
}
|
|
crossOriginUrl = addTimestamp(url2);
|
|
}
|
|
this.crossOrigin = crossOrigin;
|
|
this.crossOriginUrl = crossOriginUrl;
|
|
var image = document.createElement("img");
|
|
if (crossOrigin) {
|
|
image.crossOrigin = crossOrigin;
|
|
}
|
|
image.src = crossOriginUrl || url2;
|
|
image.alt = element.alt || "The image to crop";
|
|
this.image = image;
|
|
image.onload = this.start.bind(this);
|
|
image.onerror = this.stop.bind(this);
|
|
addClass(image, CLASS_HIDE);
|
|
element.parentNode.insertBefore(image, element.nextSibling);
|
|
}
|
|
}, {
|
|
key: "start",
|
|
value: function start() {
|
|
var _this2 = this;
|
|
var image = this.image;
|
|
image.onload = null;
|
|
image.onerror = null;
|
|
this.sizing = true;
|
|
var isIOSWebKit = WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);
|
|
var done = function done2(naturalWidth, naturalHeight) {
|
|
assign(_this2.imageData, {
|
|
naturalWidth,
|
|
naturalHeight,
|
|
aspectRatio: naturalWidth / naturalHeight
|
|
});
|
|
_this2.initialImageData = assign({}, _this2.imageData);
|
|
_this2.sizing = false;
|
|
_this2.sized = true;
|
|
_this2.build();
|
|
};
|
|
if (image.naturalWidth && !isIOSWebKit) {
|
|
done(image.naturalWidth, image.naturalHeight);
|
|
return;
|
|
}
|
|
var sizingImage = document.createElement("img");
|
|
var body = document.body || document.documentElement;
|
|
this.sizingImage = sizingImage;
|
|
sizingImage.onload = function() {
|
|
done(sizingImage.width, sizingImage.height);
|
|
if (!isIOSWebKit) {
|
|
body.removeChild(sizingImage);
|
|
}
|
|
};
|
|
sizingImage.src = image.src;
|
|
if (!isIOSWebKit) {
|
|
sizingImage.style.cssText = "left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;";
|
|
body.appendChild(sizingImage);
|
|
}
|
|
}
|
|
}, {
|
|
key: "stop",
|
|
value: function stop() {
|
|
var image = this.image;
|
|
image.onload = null;
|
|
image.onerror = null;
|
|
image.parentNode.removeChild(image);
|
|
this.image = null;
|
|
}
|
|
}, {
|
|
key: "build",
|
|
value: function build() {
|
|
if (!this.sized || this.ready) {
|
|
return;
|
|
}
|
|
var element = this.element, options = this.options, image = this.image;
|
|
var container = element.parentNode;
|
|
var template = document.createElement("div");
|
|
template.innerHTML = TEMPLATE;
|
|
var cropper = template.querySelector(".".concat(NAMESPACE, "-container"));
|
|
var canvas = cropper.querySelector(".".concat(NAMESPACE, "-canvas"));
|
|
var dragBox = cropper.querySelector(".".concat(NAMESPACE, "-drag-box"));
|
|
var cropBox = cropper.querySelector(".".concat(NAMESPACE, "-crop-box"));
|
|
var face = cropBox.querySelector(".".concat(NAMESPACE, "-face"));
|
|
this.container = container;
|
|
this.cropper = cropper;
|
|
this.canvas = canvas;
|
|
this.dragBox = dragBox;
|
|
this.cropBox = cropBox;
|
|
this.viewBox = cropper.querySelector(".".concat(NAMESPACE, "-view-box"));
|
|
this.face = face;
|
|
canvas.appendChild(image);
|
|
addClass(element, CLASS_HIDDEN);
|
|
container.insertBefore(cropper, element.nextSibling);
|
|
if (!this.isImg) {
|
|
removeClass(image, CLASS_HIDE);
|
|
}
|
|
this.initPreview();
|
|
this.bind();
|
|
options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;
|
|
options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;
|
|
options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;
|
|
addClass(cropBox, CLASS_HIDDEN);
|
|
if (!options.guides) {
|
|
addClass(cropBox.getElementsByClassName("".concat(NAMESPACE, "-dashed")), CLASS_HIDDEN);
|
|
}
|
|
if (!options.center) {
|
|
addClass(cropBox.getElementsByClassName("".concat(NAMESPACE, "-center")), CLASS_HIDDEN);
|
|
}
|
|
if (options.background) {
|
|
addClass(cropper, "".concat(NAMESPACE, "-bg"));
|
|
}
|
|
if (!options.highlight) {
|
|
addClass(face, CLASS_INVISIBLE);
|
|
}
|
|
if (options.cropBoxMovable) {
|
|
addClass(face, CLASS_MOVE);
|
|
setData(face, DATA_ACTION, ACTION_ALL);
|
|
}
|
|
if (!options.cropBoxResizable) {
|
|
addClass(cropBox.getElementsByClassName("".concat(NAMESPACE, "-line")), CLASS_HIDDEN);
|
|
addClass(cropBox.getElementsByClassName("".concat(NAMESPACE, "-point")), CLASS_HIDDEN);
|
|
}
|
|
this.render();
|
|
this.ready = true;
|
|
this.setDragMode(options.dragMode);
|
|
if (options.autoCrop) {
|
|
this.crop();
|
|
}
|
|
this.setData(options.data);
|
|
if (isFunction(options.ready)) {
|
|
addListener(element, EVENT_READY, options.ready, {
|
|
once: true
|
|
});
|
|
}
|
|
dispatchEvent(element, EVENT_READY);
|
|
}
|
|
}, {
|
|
key: "unbuild",
|
|
value: function unbuild() {
|
|
if (!this.ready) {
|
|
return;
|
|
}
|
|
this.ready = false;
|
|
this.unbind();
|
|
this.resetPreview();
|
|
this.cropper.parentNode.removeChild(this.cropper);
|
|
removeClass(this.element, CLASS_HIDDEN);
|
|
}
|
|
}, {
|
|
key: "uncreate",
|
|
value: function uncreate() {
|
|
if (this.ready) {
|
|
this.unbuild();
|
|
this.ready = false;
|
|
this.cropped = false;
|
|
} else if (this.sizing) {
|
|
this.sizingImage.onload = null;
|
|
this.sizing = false;
|
|
this.sized = false;
|
|
} else if (this.reloading) {
|
|
this.xhr.onabort = null;
|
|
this.xhr.abort();
|
|
} else if (this.image) {
|
|
this.stop();
|
|
}
|
|
}
|
|
}], [{
|
|
key: "noConflict",
|
|
value: function noConflict() {
|
|
window.Cropper = AnotherCropper;
|
|
return Cropper2;
|
|
}
|
|
}, {
|
|
key: "setDefaults",
|
|
value: function setDefaults(options) {
|
|
assign(DEFAULTS, isPlainObject(options) && options);
|
|
}
|
|
}]);
|
|
return Cropper2;
|
|
}();
|
|
assign(Cropper.prototype, render, preview, events, handlers, change, methods);
|
|
const _hoisted_1$3 = ["name", "field", "multiple", "accept", "disabled"];
|
|
const _hoisted_2$2 = { key: 0 };
|
|
const _hoisted_3$2 = ["onClick"];
|
|
const _hoisted_4$1 = ["onClick"];
|
|
const _hoisted_5 = /* @__PURE__ */ createElementVNode("i", { class: "layui-icon" }, "\uE67C", -1);
|
|
const _hoisted_6 = /* @__PURE__ */ createElementVNode("div", {
|
|
class: "layui-hide",
|
|
id: "uploadDemoView"
|
|
}, [
|
|
/* @__PURE__ */ createElementVNode("hr"),
|
|
/* @__PURE__ */ createElementVNode("img", {
|
|
src: "",
|
|
alt: "\u4E0A\u4F20\u6210\u529F\u540E\u6E32\u67D3",
|
|
style: { "max-width": "196px" }
|
|
})
|
|
], -1);
|
|
const _hoisted_7 = ["src", "id"];
|
|
const __default__$6 = {
|
|
name: "LayUpload"
|
|
};
|
|
const _sfc_main$7 = defineComponent({
|
|
...__default__$6,
|
|
props: {
|
|
url: null,
|
|
data: null,
|
|
headers: null,
|
|
acceptMime: { default: "MIME_type" },
|
|
field: { default: "file" },
|
|
size: { default: 0 },
|
|
multiple: { type: Boolean, default: false },
|
|
number: { default: 0 },
|
|
drag: { type: Boolean, default: false },
|
|
disabled: { type: Boolean, default: false },
|
|
disabledPreview: { type: Boolean, default: false },
|
|
cut: { type: Boolean, default: false },
|
|
cutOptions: { default: void 0 },
|
|
text: null,
|
|
dragText: null,
|
|
modelValue: { default: null },
|
|
auto: { type: Boolean, default: true }
|
|
},
|
|
emits: [
|
|
"choose",
|
|
"before",
|
|
"done",
|
|
"error",
|
|
"cutdone",
|
|
"cutcancel",
|
|
"update:modelValue"
|
|
],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const getCutDownResult = () => {
|
|
if (_cropper) {
|
|
const canvas = _cropper.getCroppedCanvas();
|
|
let imgData = canvas.toDataURL('"image/png"');
|
|
let currentTimeStamp = new Date().valueOf();
|
|
let orgInfo = activeUploadFiles.value[0];
|
|
emit("cutdone", Object.assign({ currentTimeStamp, cutResult: imgData, orginal: orgInfo }));
|
|
let newFile = dataURLtoFile(imgData);
|
|
if (!props.auto) {
|
|
emit("update:modelValue", [newFile]);
|
|
clearLightCutEffect();
|
|
return;
|
|
}
|
|
commonUploadTransaction([newFile]);
|
|
nextTick(() => clearAllCutEffect());
|
|
} else {
|
|
errorF(cutInitErrorMsg.value);
|
|
}
|
|
};
|
|
const closeCutDownModal = () => {
|
|
let currentTimeStamp = new Date().valueOf();
|
|
emit("cutcancel", Object.assign({ currentTimeStamp }));
|
|
nextTick(() => clearAllCutEffect());
|
|
};
|
|
const clearAllCutEffect = () => {
|
|
activeUploadFiles.value = [];
|
|
activeUploadFilesImgs.value = [];
|
|
innerCutVisible.value = false;
|
|
orgFileInput.value.value = "";
|
|
_cropper = null;
|
|
};
|
|
const clearLightCutEffect = () => {
|
|
activeUploadFiles.value = [];
|
|
activeUploadFilesImgs.value = [];
|
|
innerCutVisible.value = false;
|
|
_cropper = null;
|
|
};
|
|
const { t } = useI18n();
|
|
const text = computed$1(() => {
|
|
return props.text ? props.text : t("upload.text");
|
|
});
|
|
const dragText = computed$1(() => {
|
|
return props.dragText ? props.dragText : t("upload.dragText");
|
|
});
|
|
const defaultErrorMsg = computed$1(() => t("upload.defaultErrorMsg"));
|
|
const urlErrorMsg = computed$1(() => t("upload.urlErrorMsg"));
|
|
const numberErrorMsg = computed$1(() => t("upload.numberErrorMsg"));
|
|
const occurFileSizeErrorMsg = computed$1(() => t("upload.occurFileSizeErrorMsg"));
|
|
const cutInitErrorMsg = computed$1(() => t("upload.cutInitErrorMsg"));
|
|
const uploadSuccess = computed$1(() => t("upload.uploadSuccess"));
|
|
const startUploadMsg = computed$1(() => t("upload.startUploadMsg"));
|
|
const cannotSupportCutMsg = computed$1(() => t("upload.cannotSupportCutMsg"));
|
|
const title = computed$1(() => t("upload.title"));
|
|
const confirmBtn = computed$1(() => t("upload.confirmBtn"));
|
|
const cancelBtn = computed$1(() => t("upload.cancelBtn"));
|
|
let defaultCutLayerOption = computed$1(() => {
|
|
return {
|
|
type: "component",
|
|
title: title.value,
|
|
shade: true,
|
|
shadeClose: true,
|
|
area: ["640px", "640px"],
|
|
btn: [
|
|
{ text: confirmBtn.value, callback: getCutDownResult },
|
|
{ text: cancelBtn.value, callback: closeCutDownModal }
|
|
]
|
|
};
|
|
});
|
|
const slot = useSlots();
|
|
slot.default && slot.default();
|
|
getCurrentInstance();
|
|
watch(() => props.modelValue, () => {
|
|
if (!props.modelValue) {
|
|
clearAllCutEffect();
|
|
}
|
|
});
|
|
const isDragEnter = ref(false);
|
|
const activeUploadFiles = ref([]);
|
|
const activeUploadFilesImgs = ref([]);
|
|
const orgFileInput = templateRef("orgFileInput");
|
|
let _cropper = null;
|
|
let computedCutLayerOption;
|
|
if (props.cutOptions && props.cutOptions.layerOption) {
|
|
computedCutLayerOption = computed$1(() => Object.assign(defaultCutLayerOption, props.cutOptions.layerOption));
|
|
} else {
|
|
computedCutLayerOption = computed$1(() => defaultCutLayerOption.value);
|
|
}
|
|
const innerCutVisible = ref(false);
|
|
const localUploadTransaction = (option) => {
|
|
const { url: url2, files } = option;
|
|
let formData = new FormData();
|
|
if (url2.length <= 5) {
|
|
errorF(urlErrorMsg.value);
|
|
return;
|
|
}
|
|
if (Array.isArray(files) && files.length > 0) {
|
|
for (let i = 0; i < files.length; i++) {
|
|
let _file = files[i];
|
|
formData.append(props.field + "[" + i + "]", _file);
|
|
}
|
|
}
|
|
if (props.data && props.data instanceof Object) {
|
|
let _requestDate = props.data;
|
|
for (const key in _requestDate) {
|
|
formData.append(key, _requestDate[key]);
|
|
}
|
|
}
|
|
let utimer = window.setTimeout(() => {
|
|
localUpload({ url: url2, formData }, function() {
|
|
clearTimeout(utimer);
|
|
});
|
|
}, 200);
|
|
};
|
|
const dataURLtoFile = (dataurl) => {
|
|
let arr = dataurl.split(",");
|
|
let mime = "";
|
|
if (arr.length > 0) {
|
|
mime = arr[0].match(/:(.*?);/)[1];
|
|
}
|
|
let bstr = atob(arr[1]);
|
|
let n = bstr.length;
|
|
let u8arr = new Uint8Array(n);
|
|
while (n--) {
|
|
u8arr[n] = bstr.charCodeAt(n);
|
|
}
|
|
return new Blob([u8arr], { type: mime });
|
|
};
|
|
const errorF = (errorText) => {
|
|
let currentTimeStamp = new Date().valueOf();
|
|
let errorMsg = errorText ? errorText : defaultErrorMsg;
|
|
errorMsg = `layui-vue:${errorMsg}`;
|
|
console.warn(errorMsg);
|
|
layer.msg(errorMsg, { icon: 2, time: 1e3 }, function(res) {
|
|
});
|
|
emit("error", Object.assign({ currentTimeStamp, msg: errorMsg }));
|
|
};
|
|
const localUpload = (option, callback) => {
|
|
let xhr, url2;
|
|
xhr = new XMLHttpRequest();
|
|
url2 = option.url;
|
|
let formData = option.formData;
|
|
const cb = callback;
|
|
xhr.onreadystatechange = function() {
|
|
let currentTimeStamp2 = new Date().valueOf();
|
|
if (xhr.readyState === 1) {
|
|
if (xhr.status >= 200 && xhr.status <= 300 || xhr.status === 304 || xhr.status == 0) {
|
|
let successText = startUploadMsg.value;
|
|
emit("before", Object.assign({ currentTimeStamp: currentTimeStamp2, msg: successText, ...option }));
|
|
}
|
|
} else if (xhr.readyState === 4) {
|
|
let successText = xhr.responseText ? xhr.responseText : uploadSuccess;
|
|
if (xhr.status >= 200 && xhr.status <= 300 || xhr.status === 304 || xhr.status == 0) {
|
|
let data = xhr.responseText;
|
|
emit("done", { currentTimeStamp: currentTimeStamp2, msg: successText, data });
|
|
}
|
|
}
|
|
};
|
|
xhr.open("post", url2, true);
|
|
if (props.headers) {
|
|
for (let key in props.headers) {
|
|
xhr.setRequestHeader(key, props.headers[key]);
|
|
}
|
|
} else {
|
|
xhr.setRequestHeader("Accept", "application/json, text/javascript");
|
|
}
|
|
let currentTimeStamp = new Date().valueOf();
|
|
emit("before", Object.assign(option, currentTimeStamp));
|
|
xhr.send(formData);
|
|
if (cb && typeof cb == "function") {
|
|
cb();
|
|
}
|
|
clearAllCutEffect();
|
|
};
|
|
const filetoDataURL = (file, fn) => {
|
|
const reader = new FileReader();
|
|
reader.onloadend = function(e) {
|
|
fn(e.target.result);
|
|
};
|
|
reader.readAsDataURL(file);
|
|
};
|
|
const uploadChange = (e) => {
|
|
e.preventDefault();
|
|
const _files = [...e.target.files || e.dataTransfer.files];
|
|
if (props.multiple && props.number != 0 && props.number < _files.length) {
|
|
errorF(numberErrorMsg.value);
|
|
return;
|
|
}
|
|
if (props.size && props.size != 0) {
|
|
for (let i = 0; i < _files.length; i++) {
|
|
let _file = _files[i];
|
|
let _size = _file.size;
|
|
if (_size > props.size * 1024) {
|
|
errorF(occurFileSizeErrorMsg.value);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
for (let item of _files) {
|
|
activeUploadFiles.value.push(item);
|
|
filetoDataURL(item, function(res) {
|
|
activeUploadFilesImgs.value.push(res);
|
|
});
|
|
}
|
|
let arm1 = props.cut && props.acceptMime.indexOf("image") != -1 && props.multiple == false;
|
|
let arm2 = props.cut && props.acceptMime.indexOf("image") != -1 && props.multiple == true;
|
|
if (arm1) {
|
|
innerCutVisible.value = true;
|
|
setTimeout(() => {
|
|
let _imgs = document.getElementsByClassName("_lay_upload_img");
|
|
if (_imgs && _imgs.length > 0) {
|
|
let _img = _imgs[0];
|
|
_cropper = new Cropper(_img, {
|
|
aspectRatio: 16 / 9
|
|
});
|
|
} else {
|
|
clearAllCutEffect();
|
|
}
|
|
}, 200);
|
|
} else {
|
|
if (arm2) {
|
|
console.warn(cannotSupportCutMsg.value);
|
|
}
|
|
if (!props.auto) {
|
|
emit("update:modelValue", _files);
|
|
return;
|
|
}
|
|
commonUploadTransaction(_files);
|
|
}
|
|
};
|
|
const commonUploadTransaction = (_files) => {
|
|
let currentTimeStamp = new Date().valueOf();
|
|
let successText = uploadSuccess;
|
|
if (props.url) {
|
|
localUploadTransaction({
|
|
url: props.url,
|
|
files: _files
|
|
});
|
|
} else {
|
|
emit("done", { currentTimeStamp, msg: successText, data: _files });
|
|
clearAllCutEffect();
|
|
}
|
|
};
|
|
const chooseFile = () => {
|
|
let _target = orgFileInput.value;
|
|
if (_target) {
|
|
_target.click();
|
|
}
|
|
};
|
|
const clickOrgInput = () => {
|
|
let currentTimeStamp = new Date().valueOf();
|
|
emit("choose", currentTimeStamp);
|
|
};
|
|
const dragRef = ref();
|
|
function dragEnter(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
}
|
|
function dragOver(e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
}
|
|
onMounted(() => {
|
|
nextTick(() => {
|
|
if (dragRef.value) {
|
|
dragRef.value.addEventListener("dragenter", dragEnter, false);
|
|
dragRef.value.addEventListener("dragover", dragOver, false);
|
|
dragRef.value.addEventListener("drop", uploadChange, false);
|
|
}
|
|
});
|
|
});
|
|
onUnmounted(() => {
|
|
if (dragRef.value) {
|
|
dragRef.value.removeEventListener("dragenter");
|
|
dragRef.value.removeEventListener("dragover");
|
|
dragRef.value.removeEventListener("drop");
|
|
}
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-upload layui-upload-wrap", __props.disabledPreview ? "layui-upload-file-disabled" : ""])
|
|
}, [
|
|
createElementVNode("input", {
|
|
type: "file",
|
|
class: "layui-upload-file",
|
|
ref_key: "orgFileInput",
|
|
ref: orgFileInput,
|
|
name: __props.field,
|
|
field: __props.field,
|
|
multiple: __props.multiple,
|
|
accept: __props.acceptMime,
|
|
disabled: __props.disabled,
|
|
onClick: clickOrgInput,
|
|
onChange: uploadChange
|
|
}, null, 40, _hoisted_1$3),
|
|
!__props.drag ? (openBlock(), createElementBlock("div", _hoisted_2$2, [
|
|
createElementVNode("div", {
|
|
class: "layui-upload-btn-box",
|
|
onClick: withModifiers(chooseFile, ["stop"])
|
|
}, [
|
|
unref(slot).default ? renderSlot(_ctx.$slots, "default", {
|
|
key: 0,
|
|
disabled: __props.disabled
|
|
}) : (openBlock(), createBlock(_sfc_main$1C, {
|
|
key: 1,
|
|
type: "primary",
|
|
disabled: __props.disabled
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString$1(unref(text)), 1)
|
|
]),
|
|
_: 1
|
|
}, 8, ["disabled"]))
|
|
], 8, _hoisted_3$2)
|
|
])) : (openBlock(), createElementBlock("div", {
|
|
key: 1,
|
|
ref_key: "dragRef",
|
|
ref: dragRef,
|
|
class: normalizeClass([
|
|
"layui-upload-drag",
|
|
__props.disabled ? "layui-upload-drag-disable" : isDragEnter.value ? "layui-upload-drag-draging" : ""
|
|
]),
|
|
onClick: withModifiers(chooseFile, ["stop"])
|
|
}, [
|
|
_hoisted_5,
|
|
createElementVNode("p", null, toDisplayString$1(unref(dragText)), 1),
|
|
_hoisted_6
|
|
], 10, _hoisted_4$1)),
|
|
createVNode(unref(_sfc_main$1I), {
|
|
modelValue: innerCutVisible.value,
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => innerCutVisible.value = $event),
|
|
title: unref(computedCutLayerOption).title,
|
|
move: unref(computedCutLayerOption).move,
|
|
resize: unref(computedCutLayerOption).resize,
|
|
shade: unref(computedCutLayerOption).shade,
|
|
shadeClose: unref(computedCutLayerOption).shadeClose,
|
|
shadeOpacity: unref(computedCutLayerOption).shadeOpacity,
|
|
zIndex: unref(computedCutLayerOption).zIndex,
|
|
btnAlign: unref(computedCutLayerOption).btnAlign,
|
|
area: unref(computedCutLayerOption).area,
|
|
anim: unref(computedCutLayerOption).anim,
|
|
isOutAnim: unref(computedCutLayerOption).isOutAnim,
|
|
btn: unref(computedCutLayerOption).btn,
|
|
onClose: clearAllCutEffect
|
|
}, {
|
|
default: withCtx(() => [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(activeUploadFilesImgs.value, (base64str, index2) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: "copper-container",
|
|
key: `file${index2}`
|
|
}, [
|
|
createElementVNode("img", {
|
|
src: base64str,
|
|
id: `_lay_upload_img${index2}`,
|
|
class: "_lay_upload_img"
|
|
}, null, 8, _hoisted_7)
|
|
]);
|
|
}), 128))
|
|
]),
|
|
_: 1
|
|
}, 8, ["modelValue", "title", "move", "resize", "shade", "shadeClose", "shadeOpacity", "zIndex", "btnAlign", "area", "anim", "isOutAnim", "btn"]),
|
|
createElementVNode("div", {
|
|
class: normalizeClass(["layui-upload-list", __props.disabledPreview ? "layui-upload-list-disabled" : ""])
|
|
}, [
|
|
renderSlot(_ctx.$slots, "preview")
|
|
], 2)
|
|
], 2);
|
|
};
|
|
}
|
|
});
|
|
const component$9 = withInstall(_sfc_main$7);
|
|
var index$5 = /* @__PURE__ */ (() => ".layui-water-ripples-container{position:relative;display:inline-block}.layui-water-ripples-container .layui-slot-container{position:relative;z-index:2}.layui-water-ripples-container .layui-out-ripples{position:absolute;left:0;top:0;height:100%;opacity:1;z-index:1;pointer-events:none}.layui-water-ripples-container .layui-animate-once--out{animation:ripple-effect 1s forwards}.layui-water-ripples-container .layui-animate-always--out{animation:ripple-effect 1s infinite}@keyframes ripple-effect{0%{box-shadow:0 0 0 0 var(--layui-ripple-color);opacity:.4}to{box-shadow:0 0 0 var(--layui-spread-width) var(--layui-ripple-color);opacity:0}}.layui-water-ripples-container .layui-inset-ripples{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:1;width:0px;height:0px;background:var(--layui-ripple-color);pointer-events:none}@keyframes size-effect{0%{width:0px;height:0px;opacity:.8}to{width:var(--layui-spread-size);height:var(--layui-spread-size);opacity:0}}.layui-water-ripples-container .layui-animate-once--inset{animation:size-effect 1s forwards}.layui-water-ripples-container .layui-animate-always--inset{animation:size-effect 1s infinite}\n")();
|
|
const __default__$5 = {
|
|
name: "LayRipple"
|
|
};
|
|
const _sfc_main$6 = defineComponent({
|
|
...__default__$5,
|
|
props: {
|
|
type: { default: "inset" },
|
|
color: { default: "currentColor" },
|
|
borderRadius: { default: "0" },
|
|
spreadWidth: { default: "6px" },
|
|
spreadSize: null,
|
|
trigger: { default: "click" },
|
|
center: { type: Boolean, default: false }
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const isActiveRef = ref(false);
|
|
const spreadSizeRef = ref("0px");
|
|
const ripplesRefEl = ref(null);
|
|
const waterRipplesContainerRefEl = ref(null);
|
|
const isOut = computed$1(() => {
|
|
return props.type === "out";
|
|
});
|
|
const rippleX = ref(void 0);
|
|
const rippleY = ref(void 0);
|
|
const onActive = function(event) {
|
|
isActiveRef.value = true;
|
|
if (props.type === "inset" && !props.spreadSize && !props.center) {
|
|
const el = event.currentTarget;
|
|
const rect = el.getBoundingClientRect();
|
|
const rippleOffsetLeft = event.clientX - rect.left;
|
|
const rippleOffsetTop = event.clientY - rect.top;
|
|
const sizeX = Math.max(rippleOffsetLeft, rect.width - rippleOffsetLeft);
|
|
const sizeY = Math.max(rippleOffsetTop, rect.height - rippleOffsetTop);
|
|
rippleX.value = rippleOffsetLeft + "px";
|
|
rippleY.value = rippleOffsetTop + "px";
|
|
spreadSizeRef.value = Math.sqrt(sizeX ** 2 + sizeY ** 2) * 2 + "px";
|
|
}
|
|
};
|
|
const initWidth = function() {
|
|
let container = waterRipplesContainerRefEl.value;
|
|
let ripples = ripplesRefEl.value;
|
|
if (!container || !ripples)
|
|
return;
|
|
if (props.type == "out") {
|
|
ripples.style.width = container.clientWidth + "px";
|
|
} else {
|
|
container.style.overflow = "hidden";
|
|
if (!props.spreadSize || props.center) {
|
|
spreadSizeRef.value = container.clientWidth * 1.1 + "px";
|
|
} else {
|
|
spreadSizeRef.value = props.spreadSize;
|
|
}
|
|
}
|
|
ripples.addEventListener("animationend", () => {
|
|
isActiveRef.value = false;
|
|
}, false);
|
|
};
|
|
onMounted(() => {
|
|
initWidth();
|
|
});
|
|
watch(() => props.trigger, (val) => isActiveRef.value = val === "always", { immediate: true });
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", mergeProps({
|
|
class: "layui-water-ripples-container",
|
|
ref_key: "waterRipplesContainerRefEl",
|
|
ref: waterRipplesContainerRefEl
|
|
}, { [toHandlerKey(__props.trigger)]: onActive }), [
|
|
createElementVNode("div", {
|
|
ref_key: "ripplesRefEl",
|
|
ref: ripplesRefEl,
|
|
class: normalizeClass({
|
|
"layui-out-ripples": unref(isOut),
|
|
"layui-inset-ripples": __props.type == "inset",
|
|
"layui-animate-always--out": isActiveRef.value && __props.trigger == "always" && __props.type == "out",
|
|
"layui-animate-once--out": isActiveRef.value && (__props.trigger == "mouseenter" || __props.trigger == "click") && __props.type == "out",
|
|
"layui-animate-always--inset": isActiveRef.value && __props.trigger == "always" && __props.type == "inset",
|
|
"layui-animate-once--inset": isActiveRef.value && (__props.trigger == "mouseenter" || __props.trigger == "click") && __props.type == "inset"
|
|
}),
|
|
style: normalizeStyle({
|
|
borderRadius: unref(isOut) ? __props.borderRadius : "50%",
|
|
left: rippleX.value,
|
|
top: rippleY.value,
|
|
"--layui-ripple-color": __props.color,
|
|
"--layui-spread-width": __props.spreadWidth,
|
|
"--layui-spread-size": spreadSizeRef.value
|
|
})
|
|
}, null, 6),
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 16);
|
|
};
|
|
}
|
|
});
|
|
const component$8 = withInstall(_sfc_main$6);
|
|
var index_vue_vue_type_style_index_0_lang = /* @__PURE__ */ (() => '.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:"\\e63d";left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:var(--global-neutral-color-8);font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s;overflow:hidden;visibility:hidden}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\\ ;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:0;border-radius:50%;background-color:#0003;color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add],.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:#00000059}.layui-carousel:hover .layui-carousel-arrow{display:block\\ ;opacity:1;left:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:#00000080}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:#0003;border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:var(--global-neutral-color-3);background-color:#ffffff80;border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li:hover{background-color:#ffffffb3}.layui-carousel-ind li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown]>[carousel-item]>*,.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto;transform:translateY(-50%)}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-notice-bar{padding:0 15px;border-radius:4px}.layui-notice-bar .layui-notice-bar-warp{display:flex;align-items:center;width:100%;height:inherit}.layui-notice-bar .layui-notice-bar-warp .layui-notice-bar-warp-text-box{flex:1;height:inherit;display:flex;align-items:center;overflow:hidden;position:relative}.layui-notice-bar .layui-notice-bar-warp .layui-notice-bar-warp-text-box .layui-notice-bar-warp-text{white-space:nowrap;position:absolute;left:0}@keyframes around1{0%{left:0}to{left:calc(0px - var(--textWidth--))}}@keyframes around2{0%{left:calc(var(--textWidth--))}to{left:0}}.layui-notice-bar .layui-notice-bar-warp .layui-notice-bar-warp-text-box .layui-notice-bar-warp-slot{width:100%;white-space:nowrap}.layui-notice-bar .layui-notice-bar-warp .layui-notice-bar-warp-text-box .layui-notice-bar-warp-slot .layui-carousel>[carousel-item] *{display:flex;align-items:center}.layui-notice-bar .layui-notice-bar-warp .layui-notice-bar-warp-left-icon{width:24px;font-size:inherit!important}.layui-notice-bar .layui-notice-bar-warp .layui-notice-bar-warp-right-icon{width:24px;text-align:right;font-size:inherit!important}.layui-notice-bar .layui-notice-bar-warp .layui-notice-bar-warp-right-icon:hover{cursor:pointer}\n')();
|
|
const _hoisted_1$2 = {
|
|
key: 1,
|
|
class: "layui-notice-bar-warp-slot"
|
|
};
|
|
const __default__$4 = {
|
|
name: "LayNoticeBar"
|
|
};
|
|
const _sfc_main$5 = defineComponent({
|
|
...__default__$4,
|
|
props: {
|
|
mode: null,
|
|
text: { default: "" },
|
|
textlist: { default: () => [] },
|
|
color: { default: () => "var(--color-warning)" },
|
|
background: { default: () => "var(--color-warning-light-9)" },
|
|
size: { default: 14 },
|
|
height: { default: 40 },
|
|
delay: { default: 1 },
|
|
speed: { default: 100 },
|
|
scrollable: { type: Boolean, default: false },
|
|
leftIcon: null,
|
|
rightIcon: null
|
|
},
|
|
emits: ["close", "link"],
|
|
setup(__props, { emit }) {
|
|
var _a2;
|
|
const props = __props;
|
|
const noticeBarWarpRef = ref();
|
|
const noticeBarTextRef = ref();
|
|
const active = ref((_a2 = props.textlist[0]) == null ? void 0 : _a2.id);
|
|
const state = reactive({
|
|
order: 1,
|
|
oneTime: 0,
|
|
twoTime: 0,
|
|
warpOWidth: 0,
|
|
textOWidth: 0,
|
|
isMode: false,
|
|
height: 40
|
|
});
|
|
var timer;
|
|
const initAnimation = () => {
|
|
nextTick(() => {
|
|
state.warpOWidth = noticeBarWarpRef.value.offsetWidth;
|
|
state.textOWidth = noticeBarTextRef.value.offsetWidth;
|
|
computeAnimationTime();
|
|
timer = setTimeout(() => {
|
|
changeAnimation();
|
|
}, props.delay * 1e3);
|
|
});
|
|
};
|
|
onUnmounted(() => {
|
|
clearInterval(timer);
|
|
timer = null;
|
|
});
|
|
const computeAnimationTime = () => {
|
|
state.oneTime = state.textOWidth / props.speed;
|
|
state.twoTime = (state.textOWidth + state.warpOWidth) / props.speed;
|
|
};
|
|
const changeAnimation = () => {
|
|
if (state.order === 1) {
|
|
noticeBarTextRef.value.style.cssText = `animation: around1 ${state.oneTime}s linear; opactity: 1;`;
|
|
state.order = 2;
|
|
} else {
|
|
noticeBarTextRef.value.style.cssText = `animation: around2 ${state.twoTime}s linear ; opactity: 1;`;
|
|
state.order = 1;
|
|
}
|
|
};
|
|
const listenerAnimationend = () => {
|
|
noticeBarTextRef.value.addEventListener("animationend", () => {
|
|
changeAnimation();
|
|
}, false);
|
|
};
|
|
const onRightIconClick = () => {
|
|
if (!props.mode)
|
|
return false;
|
|
if (props.mode === "closeable") {
|
|
state.isMode = true;
|
|
emit("close");
|
|
} else if (props.mode === "link") {
|
|
emit("link");
|
|
}
|
|
};
|
|
onMounted(() => {
|
|
if (props.scrollable)
|
|
return false;
|
|
initAnimation();
|
|
listenerAnimationend();
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return withDirectives((openBlock(), createElementBlock("div", {
|
|
class: "layui-notice-bar",
|
|
style: normalizeStyle({ background: __props.background, height: `${__props.height}px` })
|
|
}, [
|
|
createElementVNode("div", {
|
|
class: "layui-notice-bar-warp",
|
|
style: normalizeStyle({ color: __props.color, "font-size": `${__props.size}px` })
|
|
}, [
|
|
__props.leftIcon ? (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 0,
|
|
class: "layui-notice-bar-warp-left-icon",
|
|
type: __props.leftIcon
|
|
}, null, 8, ["type"])) : createCommentVNode("", true),
|
|
createElementVNode("div", {
|
|
class: "layui-notice-bar-warp-text-box",
|
|
ref_key: "noticeBarWarpRef",
|
|
ref: noticeBarWarpRef,
|
|
style: normalizeStyle("--textWidth--:" + __props.text.length + "em")
|
|
}, [
|
|
!__props.scrollable ? (openBlock(), createElementBlock("div", {
|
|
key: 0,
|
|
class: "layui-notice-bar-warp-text",
|
|
ref_key: "noticeBarTextRef",
|
|
ref: noticeBarTextRef
|
|
}, toDisplayString$1(__props.text), 513)) : (openBlock(), createElementBlock("div", _hoisted_1$2, [
|
|
createVNode(_sfc_main$v, {
|
|
modelValue: active.value,
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => active.value = $event),
|
|
indicator: "none",
|
|
anim: "updown",
|
|
arrow: "none",
|
|
style: { height: `40px` }
|
|
}, {
|
|
default: withCtx(() => [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.textlist, (item) => {
|
|
return openBlock(), createBlock(_sfc_main$w, {
|
|
key: item.id,
|
|
id: item.id,
|
|
class: "layui-anim layui-anim-up"
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString$1(item.text), 1)
|
|
]),
|
|
_: 2
|
|
}, 1032, ["id"]);
|
|
}), 128))
|
|
]),
|
|
_: 1
|
|
}, 8, ["modelValue"])
|
|
]))
|
|
], 4),
|
|
__props.rightIcon ? (openBlock(), createBlock(unref(_sfc_main$2E), {
|
|
key: 1,
|
|
type: __props.rightIcon,
|
|
class: "layui-notice-bar-warp-right-icon",
|
|
onClick: onRightIconClick
|
|
}, null, 8, ["type"])) : createCommentVNode("", true)
|
|
], 4)
|
|
], 4)), [
|
|
[vShow, !state.isMode]
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$7 = withInstall(_sfc_main$5);
|
|
var index$4 = /* @__PURE__ */ (() => '.lay-page-header{display:flex;line-height:24px}.lay-page-header__left{display:flex;cursor:pointer;margin-right:40px;position:relative;color:var(--global-neutral-color-8)}.lay-page-header__left:after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;transform:translateY(-50%);background-color:var(--global-neutral-color-8)}.lay-page-header__left:hover .layui-icon-return,.lay-page-header__left:hover .lay-page-header__title{color:var(--global-checked-color)!important}.lay-page-header__left .layui-icon-return{font-size:14px;margin-right:6px;align-self:center}.lay-page-header__title{font-size:14px}.lay-page-header__content{font-size:18px;color:#393d49}\n')();
|
|
const _hoisted_1$1 = { class: "lay-page-header" };
|
|
const _hoisted_2$1 = { class: "lay-page-header__title" };
|
|
const _hoisted_3$1 = { class: "lay-page-header__content" };
|
|
const __default__$3 = {
|
|
name: "LayPageHeader"
|
|
};
|
|
const _sfc_main$4 = defineComponent({
|
|
...__default__$3,
|
|
props: {
|
|
content: { default: "" },
|
|
backText: { default: "\u8FD4\u56DE" },
|
|
backIcon: { default: "layui-icon-return" }
|
|
},
|
|
emits: ["back"],
|
|
setup(__props, { emit: emits }) {
|
|
const slots = useSlots();
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", _hoisted_1$1, [
|
|
createElementVNode("div", {
|
|
class: "lay-page-header__left",
|
|
onClick: _cache[0] || (_cache[0] = ($event) => emits("back"))
|
|
}, [
|
|
renderSlot(_ctx.$slots, "backIcon", {}, () => [
|
|
createElementVNode("i", {
|
|
class: normalizeClass(["layui-icon", [__props.backIcon]])
|
|
}, null, 2)
|
|
]),
|
|
createElementVNode("div", _hoisted_2$1, toDisplayString$1(__props.backText), 1)
|
|
]),
|
|
createElementVNode("div", _hoisted_3$1, [
|
|
unref(slots).default ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(__props.content), 1)
|
|
], 64))
|
|
])
|
|
]);
|
|
};
|
|
}
|
|
});
|
|
const component$6 = withInstall(_sfc_main$4);
|
|
var index$3 = /* @__PURE__ */ (() => ":root{--input-border-radius: var(--global-border-radius);--input-border-color: var(--global-neutral-color-3)}.layui-input{width:100%;height:38px;line-height:38px;border-width:1px;border-style:solid;border-color:var(--input-border-color);border-radius:var(--input-border-radius);display:inline-flex}.layui-input input{height:38px;line-height:38px;background-color:#fff;color:#000000d9;padding-left:10px;display:inline-block;border:none;height:100%;width:100%}.layui-input-append{background-color:#fafafa;border-left:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-prepend{background-color:#fafafa;border-right:1px solid var(--input-border-color);display:flex;padding:0 15px;flex:none;align-items:center}.layui-input-wrapper{width:100%;display:inline-flex;border:none}.layui-input:hover,.layui-input:focus-within{border-color:#d2d2d2}.layui-input-clear,.layui-input-prefix,.layui-input-suffix,.layui-input-password{background-color:#fff}.layui-input-clear,.layui-input-password,.layui-input-prefix,.layui-input-suffix{display:flex;flex:none;align-items:center;padding:0 10px}.layui-input-has-prefix input{padding:0}.layui-input-clear,.layui-input-password{color:#00000073}.layui-input-clear:hover{opacity:.6}.layui-input input::-webkit-input-placeholder{line-height:1.3}.layui-input input::-ms-reveal{display:none}.layui-input-disabled{border-color:var(--input-border-color)!important}.layui-input-disabled{opacity:.6}.layui-input-disabled,.layui-input-disabled *{cursor:not-allowed!important}.layui-input[size=lg]{height:44px}.layui-input[size=lg] .layui-input{height:44px;line-height:44px}.layui-input[size=md]{height:38px}.layui-input[size=md] .layui-input{height:38px;line-height:38px}.layui-input[size=sm]{height:32px}.layui-input[size=sm] .layui-input{height:32px;line-height:32px}.layui-input[size=xs]{height:26px}.layui-input[size=xs] .layui-input{height:26px;line-height:26px}.layui-cascader{display:inline-block}.layui-cascader[size=lg]{height:44px;width:260px}.layui-cascader[size=lg] .layui-input{height:44px;line-height:44px}.layui-cascader[size=md]{height:38px;width:220px}.layui-cascader[size=md] .layui-input{height:38px;line-height:38px}.layui-cascader[size=sm]{height:32px;width:180px}.layui-cascader[size=sm] .layui-input{height:32px;line-height:32px}.layui-cascader[size=xs]{height:26px;width:140px}.layui-cascader[size=xs] .layui-input{height:26px;line-height:26px}.layui-cascader .layui-input-suffix{padding-right:10px}.layui-cascader .layui-icon-triangle-d{transition:all .3s ease-in-out;transform:rotate(0);color:var(--global-neutral-color-8)}.layui-cascader-opend .layui-icon-triangle-d{transform:rotate(180deg)}.layui-cascader .layui-cascader-panel{box-sizing:border-box;border-radius:2px;line-height:26px;color:#000c;font-size:14px;white-space:nowrap;display:inline-flex}.layui-cascader-menu{display:inline-block;border-right:1px solid var(--global-neutral-color-3)}.layui-cascader-menu:last-child{border-right:none}.layui-cascader-menu-item{min-width:130px;padding:5px 9px 5px 15px;box-sizing:border-box;transition:all .1s ease-in-out;display:flex;justify-content:space-between;align-items:center;min-height:35px}.layui-cascader-menu-item:hover,.layui-cascader-selected{background-color:var(--global-checked-color);color:#fff}.layui-cascader-menu-item .layui-icon-right{margin-left:10px}.layui-cascader-disabled,.layui-cascader-disabled *{cursor:not-allowed!important}\n")();
|
|
const _hoisted_1 = ["size"];
|
|
const _hoisted_2 = { class: "layui-cascader-panel" };
|
|
const _hoisted_3 = ["onClick"];
|
|
const _hoisted_4 = {
|
|
key: 2,
|
|
class: "layui-icon layui-icon-right"
|
|
};
|
|
const __default__$2 = {
|
|
name: "LayCascader"
|
|
};
|
|
const _sfc_main$3 = defineComponent({
|
|
...__default__$2,
|
|
props: {
|
|
options: { default: null },
|
|
modelValue: { default: "" },
|
|
decollator: { default: "/" },
|
|
placeholder: { default: "" },
|
|
onlyLastLevel: { type: Boolean, default: false },
|
|
disabled: { type: Boolean, default: false },
|
|
replaceFields: { default: () => {
|
|
return {
|
|
label: "label",
|
|
value: "value",
|
|
children: "children"
|
|
};
|
|
} },
|
|
allowClear: { type: Boolean, default: false },
|
|
size: { default: "md" },
|
|
trigger: { default: "click" },
|
|
contentClass: null,
|
|
contentStyle: null
|
|
},
|
|
emits: ["update:modelValue", "change", "clear"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
onMounted(() => {
|
|
initTreeData();
|
|
});
|
|
watch(() => props.options, () => {
|
|
initTreeData();
|
|
});
|
|
watch(() => props.modelValue, () => {
|
|
if (props.modelValue === null || props.modelValue === "") {
|
|
onClear();
|
|
}
|
|
});
|
|
const treeData = ref([]);
|
|
const initTreeData = () => {
|
|
let treeLvNum = getMaxFloor(props.options);
|
|
for (let index2 = 0; index2 < treeLvNum; index2++) {
|
|
if (index2 == 0) {
|
|
treeData.value[0] = {
|
|
selectIndex: null,
|
|
data: findData(props.options, 1)
|
|
};
|
|
} else {
|
|
treeData.value[index2] = {
|
|
selectIndex: null,
|
|
data: []
|
|
};
|
|
}
|
|
}
|
|
if (props.modelValue) {
|
|
try {
|
|
let valueData = props.modelValue.split(props.decollator);
|
|
let data = [];
|
|
for (let index2 = 0; index2 < treeData.value.length; index2++) {
|
|
const element = treeData.value[index2];
|
|
const nowValue = valueData[index2];
|
|
for (let i = 0; i < element.length; i++) {
|
|
const ele = element[i];
|
|
if (nowValue === ele.value) {
|
|
data.push(ele);
|
|
element.selectIndex = i;
|
|
}
|
|
}
|
|
}
|
|
displayValue.value = data.map((e) => {
|
|
return e.label;
|
|
}).join(` ${props.decollator} `);
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
};
|
|
function getMaxFloor(treeData2) {
|
|
let max = 0;
|
|
function each(data, floor) {
|
|
data.forEach((e) => {
|
|
if (floor > max) {
|
|
max = floor;
|
|
}
|
|
if (e[props.replaceFields.children] && e[props.replaceFields.children].length > 0) {
|
|
each(e[props.replaceFields.children], floor + 1);
|
|
}
|
|
});
|
|
}
|
|
each(treeData2, 1);
|
|
return max;
|
|
}
|
|
function findData(orginData, level) {
|
|
var _a2;
|
|
let data = [];
|
|
for (let i = 0; i < orginData.length; i++) {
|
|
const element = orginData[i];
|
|
if (level === 1) {
|
|
data.push({
|
|
value: element[props.replaceFields.value],
|
|
label: element[props.replaceFields.label],
|
|
slot: element.slot || false,
|
|
children: (_a2 = element[props.replaceFields.children]) != null ? _a2 : false,
|
|
orginData: element
|
|
});
|
|
}
|
|
if (level !== 1 && element[props.replaceFields.children] && element[props.replaceFields.children].length > 0) {
|
|
findData(element[props.replaceFields.children], level - 1);
|
|
}
|
|
}
|
|
return data;
|
|
}
|
|
ref([]);
|
|
const selectBar = (item, selectIndex, parentIndex) => {
|
|
treeData.value[parentIndex].selectIndex = selectIndex;
|
|
if (item.children && item.children.length > 0) {
|
|
treeData.value[parentIndex + 1].selectIndex = null;
|
|
treeData.value[parentIndex + 1].data = findData(item.children, 1);
|
|
}
|
|
let nextIndex = parentIndex + 2;
|
|
for (let index2 = nextIndex; index2 < treeData.value.length; index2++) {
|
|
treeData.value[index2].selectIndex = null;
|
|
treeData.value[index2].data = [];
|
|
}
|
|
if (!item.children || item.children.length === 0) {
|
|
let extractData = function(orginData, dataContainer2, index2) {
|
|
const element = orginData[index2].data;
|
|
const selectIndex2 = orginData[index2].selectIndex;
|
|
const selectData = element[selectIndex2];
|
|
dataContainer2.push(selectData);
|
|
if (selectData.children && selectData.children.length > 0) {
|
|
extractData(orginData, dataContainer2, index2 + 1);
|
|
}
|
|
};
|
|
let data = [];
|
|
extractData(treeData.value, data, 0);
|
|
let fullLable = data.map((e) => {
|
|
return e.label;
|
|
}).join(` ${props.decollator} `);
|
|
if (!props.onlyLastLevel) {
|
|
displayValue.value = fullLable;
|
|
} else {
|
|
let _data = data.map((e) => {
|
|
return e.label;
|
|
});
|
|
displayValue.value = _data[_data.length - 1];
|
|
}
|
|
let value = data.map((e) => {
|
|
return e.value;
|
|
}).join(props.decollator);
|
|
emit("update:modelValue", value);
|
|
let evt = {
|
|
display: displayValue.value,
|
|
value,
|
|
label: fullLable,
|
|
currentClick: JSON.parse(JSON.stringify(item.orginData))
|
|
};
|
|
emit("change", evt);
|
|
if (dropdownRef.value)
|
|
dropdownRef.value.hide();
|
|
}
|
|
};
|
|
const displayValue = ref("");
|
|
const slots = useSlots();
|
|
const dropdownRef = ref();
|
|
const onClear = () => {
|
|
displayValue.value = "";
|
|
let arr = JSON.parse(JSON.stringify(treeData.value));
|
|
for (let index2 = 0; index2 < arr.length; index2++) {
|
|
arr[index2].selectIndex = null;
|
|
if (index2 === 0) {
|
|
continue;
|
|
}
|
|
arr[index2].data = [];
|
|
}
|
|
treeData.value = arr;
|
|
emit("update:modelValue", null);
|
|
};
|
|
const openState = ref(false);
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
size: __props.size,
|
|
class: normalizeClass([
|
|
"layui-cascader",
|
|
{
|
|
"layui-cascader-opend": openState.value,
|
|
"layui-cascader-disabled": __props.disabled
|
|
}
|
|
])
|
|
}, [
|
|
createVNode(_sfc_main$1y, {
|
|
ref_key: "dropdownRef",
|
|
ref: dropdownRef,
|
|
trigger: __props.trigger,
|
|
autoFitMinWidth: false,
|
|
updateAtScroll: true,
|
|
disabled: __props.disabled,
|
|
contentClass: __props.contentClass,
|
|
contentStyle: __props.contentStyle,
|
|
onShow: _cache[1] || (_cache[1] = ($event) => openState.value = true),
|
|
onHide: _cache[2] || (_cache[2] = ($event) => openState.value = false)
|
|
}, {
|
|
content: withCtx(() => [
|
|
createElementVNode("div", _hoisted_2, [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(treeData.value, (itemCol, index2) => {
|
|
return openBlock(), createElementBlock(Fragment, null, [
|
|
itemCol.data.length ? (openBlock(), createBlock(_sfc_main$1u, {
|
|
height: "180px",
|
|
class: "layui-cascader-menu",
|
|
key: "cascader-menu" + index2
|
|
}, {
|
|
default: withCtx(() => [
|
|
(openBlock(true), createElementBlock(Fragment, null, renderList(itemCol.data, (item, i) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: normalizeClass(["layui-cascader-menu-item", [
|
|
{
|
|
"layui-cascader-selected": itemCol.selectIndex === i
|
|
}
|
|
]]),
|
|
key: index2 + i,
|
|
onClick: ($event) => selectBar(item, i, index2)
|
|
}, [
|
|
item.slot && unref(slots)[item.slot] ? renderSlot(_ctx.$slots, item.slot, { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
createTextVNode(toDisplayString$1(item.label), 1)
|
|
], 64)),
|
|
item.children && item.children.length ? (openBlock(), createElementBlock("i", _hoisted_4)) : createCommentVNode("", true)
|
|
], 10, _hoisted_3);
|
|
}), 128))
|
|
]),
|
|
_: 2
|
|
}, 1024)) : createCommentVNode("", true)
|
|
], 64);
|
|
}), 256))
|
|
])
|
|
]),
|
|
default: withCtx(() => [
|
|
!unref(slots).default ? (openBlock(), createBlock(_sfc_main$1v, {
|
|
key: 0,
|
|
modelValue: displayValue.value,
|
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => displayValue.value = $event),
|
|
"suffix-icon": "layui-icon-triangle-d",
|
|
placeholder: __props.placeholder,
|
|
"allow-clear": __props.allowClear,
|
|
disabled: __props.disabled,
|
|
readonly: true,
|
|
size: __props.size,
|
|
onClear
|
|
}, null, 8, ["modelValue", "placeholder", "allow-clear", "disabled", "size"])) : renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
]),
|
|
_: 3
|
|
}, 8, ["trigger", "disabled", "contentClass", "contentStyle"])
|
|
], 10, _hoisted_1);
|
|
};
|
|
}
|
|
});
|
|
const component$5 = withInstall(_sfc_main$3);
|
|
var index$2 = /* @__PURE__ */ (() => ".layui-affix{display:block;z-index:999;transition:all .3s ease-in-out}\n")();
|
|
const __default__$1 = {
|
|
name: "LayAffix"
|
|
};
|
|
const _sfc_main$2 = defineComponent({
|
|
...__default__$1,
|
|
props: {
|
|
offset: { default: 0 },
|
|
target: { default: () => {
|
|
return document.body;
|
|
} },
|
|
position: { default: "top" }
|
|
},
|
|
emits: ["scroll"],
|
|
setup(__props, { emit }) {
|
|
const props = __props;
|
|
const outWindow = ref(false);
|
|
const dom = ref();
|
|
let changeScrollTop = 0;
|
|
let orginOffsetLeft = 0;
|
|
let marginLeft = 0;
|
|
let marginTop = 0;
|
|
let marginBottom = 0;
|
|
let fixedOffset = 0;
|
|
const getStyle = computed$1(() => {
|
|
if (outWindow.value && dom.value) {
|
|
let style = {
|
|
position: "fixed !important",
|
|
top: "unset",
|
|
bottom: "unset",
|
|
left: orginOffsetLeft - marginLeft + "px"
|
|
};
|
|
if (props.position === "top") {
|
|
style.top = fixedOffset - marginTop + "px";
|
|
} else {
|
|
style.bottom = fixedOffset - marginBottom + "px";
|
|
}
|
|
return style;
|
|
}
|
|
});
|
|
const checkInWindow = () => {
|
|
var _a2;
|
|
if (dom.value) {
|
|
let offsetTop = dom.value.offsetTop;
|
|
let scrollTop = (_a2 = props.target) == null ? void 0 : _a2.scrollTop;
|
|
if (props.position === "top") {
|
|
let result = offsetTop - scrollTop + props.target.offsetTop;
|
|
if (result < fixedOffset) {
|
|
if (outWindow.value) {
|
|
if (scrollTop <= changeScrollTop) {
|
|
outWindow.value = false;
|
|
}
|
|
} else {
|
|
changeScrollTop = scrollTop;
|
|
outWindow.value = true;
|
|
}
|
|
}
|
|
} else {
|
|
let viewHeight = props.target.offsetHeight > window.innerHeight ? window.innerHeight : props.target.offsetHeight;
|
|
let result = viewHeight + scrollTop - offsetTop - dom.value.offsetHeight;
|
|
if (outWindow.value) {
|
|
if (scrollTop >= changeScrollTop) {
|
|
outWindow.value = false;
|
|
}
|
|
} else {
|
|
if (result < fixedOffset) {
|
|
changeScrollTop = scrollTop - result + props.offset;
|
|
outWindow.value = true;
|
|
}
|
|
}
|
|
}
|
|
emit("scroll", {
|
|
targetScroll: scrollTop,
|
|
affixed: outWindow.value,
|
|
offset: !outWindow.value ? 0 : Math.abs(scrollTop - changeScrollTop)
|
|
});
|
|
}
|
|
};
|
|
const getDomStyle = (dom2, attr) => {
|
|
if (dom2.currentStyle) {
|
|
return dom2.currentStyle[attr];
|
|
} else {
|
|
return document.defaultView.getComputedStyle(dom2, null)[attr];
|
|
}
|
|
};
|
|
onMounted(() => {
|
|
nextTick(() => {
|
|
dom.value.offsetTop - props.target.offsetTop;
|
|
orginOffsetLeft = dom.value.getBoundingClientRect().left;
|
|
marginLeft = parseFloat(getDomStyle(dom.value, "marginLeft"));
|
|
marginTop = parseFloat(getDomStyle(dom.value, "marginTop"));
|
|
marginBottom = parseFloat(getDomStyle(dom.value, "marginBottom"));
|
|
fixedOffset = props.offset + props.target.offsetTop;
|
|
if (props.position === "bottom") {
|
|
fixedOffset = props.offset;
|
|
}
|
|
props.target.addEventListener("scroll", checkInWindow, true);
|
|
checkInWindow();
|
|
});
|
|
});
|
|
onUnmounted(() => {
|
|
props.target.removeEventListener("scroll", checkInWindow);
|
|
});
|
|
return (_ctx, _cache) => {
|
|
return openBlock(), createElementBlock("div", {
|
|
class: "layui-affix",
|
|
style: normalizeStyle(unref(getStyle)),
|
|
ref_key: "dom",
|
|
ref: dom
|
|
}, [
|
|
renderSlot(_ctx.$slots, "default")
|
|
], 4);
|
|
};
|
|
}
|
|
});
|
|
const component$4 = withInstall(_sfc_main$2);
|
|
var index$1 = /* @__PURE__ */ (() => ".layui-space{display:inline-flex}.layui-space-horizontal .layui-space-item{display:flex;align-items:center}.layui-space-vertical{flex-direction:column}.layui-space-wrap{flex-wrap:wrap}.layui-space-fill{display:flex}.layui-space-align-start{align-items:flex-start}.layui-space-align-center{align-items:center}.layui-space-align-end{align-items:flex-end}.layui-space-align-baseline{align-items:baseline}.layui-space-item{width:inherit}\n")();
|
|
const _sfc_main$1 = defineComponent({
|
|
name: "LaySpace",
|
|
props: {
|
|
align: {
|
|
type: String
|
|
},
|
|
direction: {
|
|
type: String,
|
|
default: "horizontal"
|
|
},
|
|
fill: {
|
|
type: Boolean,
|
|
default: false
|
|
},
|
|
size: {
|
|
type: [Number, String, Array],
|
|
default: "sm"
|
|
},
|
|
wrap: {
|
|
type: Boolean,
|
|
default: false
|
|
}
|
|
},
|
|
setup(props, { slots }) {
|
|
const computAlign = computed$1(() => {
|
|
var _a2;
|
|
return (_a2 = props.align) != null ? _a2 : props.direction === "horizontal" ? "center" : "";
|
|
});
|
|
const spaceClass = computed$1(() => [
|
|
"layui-space",
|
|
{
|
|
[`layui-space-align-${computAlign.value}`]: computAlign.value,
|
|
[`layui-space-${props.direction}`]: props.direction,
|
|
[`layui-space-wrap`]: props.wrap,
|
|
[`layui-space-fill`]: props.fill
|
|
}
|
|
]);
|
|
const spaceStyle = computed$1(() => {
|
|
const sizeMap = { xs: "4px", sm: "8px", md: "16px", lg: "24px" };
|
|
let gap = "";
|
|
if (Array.isArray(props.size)) {
|
|
gap = props.size.map((size) => {
|
|
if (typeof size === "number") {
|
|
return `${size}px`;
|
|
}
|
|
if (typeof size === "string") {
|
|
return sizeMap[size] || size;
|
|
}
|
|
return size;
|
|
}).join(" ");
|
|
} else if (typeof props.size === "string") {
|
|
gap = sizeMap[props.size] || props.size;
|
|
} else if (typeof props.size === "number") {
|
|
gap = `${props.size}px`;
|
|
}
|
|
return {
|
|
gap
|
|
};
|
|
});
|
|
const itemStyle = computed$1(() => [
|
|
props.fill ? { flexGrow: 1, minWidth: "100%" } : {}
|
|
]);
|
|
const extractChildren = () => {
|
|
const result = [];
|
|
const children = renderSlot(slots, "default").children;
|
|
const elementData = Array.isArray(children) ? [...children] : [];
|
|
while (elementData.length) {
|
|
const vnode = elementData.shift();
|
|
if (vnode === null)
|
|
continue;
|
|
if (Array.isArray(vnode)) {
|
|
elementData.unshift(...vnode);
|
|
}
|
|
if (!isVNode(vnode) || vnode.type === Comment)
|
|
continue;
|
|
if (vnode.type === Fragment && Array.isArray(vnode.children)) {
|
|
elementData.unshift(vnode.children);
|
|
} else if (typeof vnode === "string" || typeof vnode === "number") {
|
|
result.push(createTextVNode(vnode));
|
|
} else {
|
|
result.push(vnode);
|
|
}
|
|
}
|
|
return result;
|
|
};
|
|
return () => {
|
|
const children = extractChildren();
|
|
return h("div", {
|
|
class: spaceClass.value,
|
|
style: spaceStyle.value
|
|
}, children.map((child, index2) => {
|
|
var _a2;
|
|
return h("div", {
|
|
key: (_a2 = child.key) != null ? _a2 : `item-${index2}`,
|
|
class: "layui-space-item",
|
|
style: itemStyle.value
|
|
}, h(child));
|
|
}));
|
|
};
|
|
}
|
|
});
|
|
const component$3 = withInstall(_sfc_main$1);
|
|
const component$2 = withInstall(_sfc_main$V);
|
|
const component$1 = withInstall(_sfc_main$U);
|
|
var darkreader = { exports: {} };
|
|
(function(module, exports) {
|
|
(function(global2, factory) {
|
|
factory(exports);
|
|
})(commonjsGlobal, function(exports2) {
|
|
/*! *****************************************************************************
|
|
Copyright (c) Microsoft Corporation.
|
|
|
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
purpose with or without fee is hereby granted.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
PERFORMANCE OF THIS SOFTWARE.
|
|
***************************************************************************** */
|
|
var __assign = function() {
|
|
__assign = Object.assign || function __assign2(t) {
|
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
s = arguments[i];
|
|
for (var p in s)
|
|
if (Object.prototype.hasOwnProperty.call(s, p))
|
|
t[p] = s[p];
|
|
}
|
|
return t;
|
|
};
|
|
return __assign.apply(this, arguments);
|
|
};
|
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
function adopt(value) {
|
|
return value instanceof P ? value : new P(function(resolve) {
|
|
resolve(value);
|
|
});
|
|
}
|
|
return new (P || (P = Promise))(function(resolve, reject) {
|
|
function fulfilled(value) {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
}
|
|
function rejected(value) {
|
|
try {
|
|
step(generator["throw"](value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
}
|
|
function step(result) {
|
|
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
}
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
}
|
|
function __generator(thisArg, body) {
|
|
var _ = { label: 0, sent: function() {
|
|
if (t[0] & 1)
|
|
throw t[1];
|
|
return t[1];
|
|
}, trys: [], ops: [] }, f, y, t, g;
|
|
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
|
|
return this;
|
|
}), g;
|
|
function verb(n) {
|
|
return function(v) {
|
|
return step([n, v]);
|
|
};
|
|
}
|
|
function step(op) {
|
|
if (f)
|
|
throw new TypeError("Generator is already executing.");
|
|
while (_)
|
|
try {
|
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
|
|
return t;
|
|
if (y = 0, t)
|
|
op = [op[0] & 2, t.value];
|
|
switch (op[0]) {
|
|
case 0:
|
|
case 1:
|
|
t = op;
|
|
break;
|
|
case 4:
|
|
_.label++;
|
|
return { value: op[1], done: false };
|
|
case 5:
|
|
_.label++;
|
|
y = op[1];
|
|
op = [0];
|
|
continue;
|
|
case 7:
|
|
op = _.ops.pop();
|
|
_.trys.pop();
|
|
continue;
|
|
default:
|
|
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
_ = 0;
|
|
continue;
|
|
}
|
|
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
_.label = op[1];
|
|
break;
|
|
}
|
|
if (op[0] === 6 && _.label < t[1]) {
|
|
_.label = t[1];
|
|
t = op;
|
|
break;
|
|
}
|
|
if (t && _.label < t[2]) {
|
|
_.label = t[2];
|
|
_.ops.push(op);
|
|
break;
|
|
}
|
|
if (t[2])
|
|
_.ops.pop();
|
|
_.trys.pop();
|
|
continue;
|
|
}
|
|
op = body.call(thisArg, _);
|
|
} catch (e) {
|
|
op = [6, e];
|
|
y = 0;
|
|
} finally {
|
|
f = t = 0;
|
|
}
|
|
if (op[0] & 5)
|
|
throw op[1];
|
|
return { value: op[0] ? op[1] : void 0, done: true };
|
|
}
|
|
}
|
|
function __values(o) {
|
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
if (m)
|
|
return m.call(o);
|
|
if (o && typeof o.length === "number")
|
|
return {
|
|
next: function() {
|
|
if (o && i >= o.length)
|
|
o = void 0;
|
|
return { value: o && o[i++], done: !o };
|
|
}
|
|
};
|
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
}
|
|
function __read(o, n) {
|
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
if (!m)
|
|
return o;
|
|
var i = m.call(o), r, ar = [], e;
|
|
try {
|
|
while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
|
|
ar.push(r.value);
|
|
} catch (error) {
|
|
e = { error };
|
|
} finally {
|
|
try {
|
|
if (r && !r.done && (m = i["return"]))
|
|
m.call(i);
|
|
} finally {
|
|
if (e)
|
|
throw e.error;
|
|
}
|
|
}
|
|
return ar;
|
|
}
|
|
function __spreadArray(to, from, pack) {
|
|
if (pack || arguments.length === 2)
|
|
for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
if (ar || !(i in from)) {
|
|
if (!ar)
|
|
ar = Array.prototype.slice.call(from, 0, i);
|
|
ar[i] = from[i];
|
|
}
|
|
}
|
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
}
|
|
var MessageType = {
|
|
UI_GET_DATA: "ui-get-data",
|
|
UI_GET_ACTIVE_TAB_INFO: "ui-get-active-tab-info",
|
|
UI_SUBSCRIBE_TO_CHANGES: "ui-subscribe-to-changes",
|
|
UI_UNSUBSCRIBE_FROM_CHANGES: "ui-unsubscribe-from-changes",
|
|
UI_CHANGE_SETTINGS: "ui-change-settings",
|
|
UI_SET_THEME: "ui-set-theme",
|
|
UI_SET_SHORTCUT: "ui-set-shortcut",
|
|
UI_TOGGLE_URL: "ui-toggle-url",
|
|
UI_MARK_NEWS_AS_READ: "ui-mark-news-as-read",
|
|
UI_LOAD_CONFIG: "ui-load-config",
|
|
UI_APPLY_DEV_DYNAMIC_THEME_FIXES: "ui-apply-dev-dynamic-theme-fixes",
|
|
UI_RESET_DEV_DYNAMIC_THEME_FIXES: "ui-reset-dev-dynamic-theme-fixes",
|
|
UI_APPLY_DEV_INVERSION_FIXES: "ui-apply-dev-inversion-fixes",
|
|
UI_RESET_DEV_INVERSION_FIXES: "ui-reset-dev-inversion-fixes",
|
|
UI_APPLY_DEV_STATIC_THEMES: "ui-apply-dev-static-themes",
|
|
UI_RESET_DEV_STATIC_THEMES: "ui-reset-dev-static-themes",
|
|
UI_SAVE_FILE: "ui-save-file",
|
|
UI_REQUEST_EXPORT_CSS: "ui-request-export-css",
|
|
BG_CHANGES: "bg-changes",
|
|
BG_ADD_CSS_FILTER: "bg-add-css-filter",
|
|
BG_ADD_STATIC_THEME: "bg-add-static-theme",
|
|
BG_ADD_SVG_FILTER: "bg-add-svg-filter",
|
|
BG_ADD_DYNAMIC_THEME: "bg-add-dynamic-theme",
|
|
BG_EXPORT_CSS: "bg-export-css",
|
|
BG_UNSUPPORTED_SENDER: "bg-unsupported-sender",
|
|
BG_CLEAN_UP: "bg-clean-up",
|
|
BG_RELOAD: "bg-reload",
|
|
BG_FETCH_RESPONSE: "bg-fetch-response",
|
|
BG_UI_UPDATE: "bg-ui-update",
|
|
BG_CSS_UPDATE: "bg-css-update",
|
|
CS_COLOR_SCHEME_CHANGE: "cs-color-scheme-change",
|
|
CS_FRAME_CONNECT: "cs-frame-connect",
|
|
CS_FRAME_FORGET: "cs-frame-forget",
|
|
CS_FRAME_FREEZE: "cs-frame-freeze",
|
|
CS_FRAME_RESUME: "cs-frame-resume",
|
|
CS_EXPORT_CSS_RESPONSE: "cs-export-css-response",
|
|
CS_FETCH: "cs-fetch"
|
|
};
|
|
var userAgent = typeof navigator === "undefined" ? "some useragent" : navigator.userAgent.toLowerCase();
|
|
var platform = typeof navigator === "undefined" ? "some platform" : navigator.platform.toLowerCase();
|
|
var isChromium = userAgent.includes("chrome") || userAgent.includes("chromium");
|
|
var isThunderbird = userAgent.includes("thunderbird");
|
|
var isFirefox = userAgent.includes("firefox") || userAgent.includes("librewolf") || isThunderbird;
|
|
userAgent.includes("vivaldi");
|
|
userAgent.includes("yabrowser");
|
|
userAgent.includes("opr") || userAgent.includes("opera");
|
|
userAgent.includes("edg");
|
|
var isSafari = userAgent.includes("safari") && !isChromium;
|
|
var isWindows = platform.startsWith("win");
|
|
var isMacOS = platform.startsWith("mac");
|
|
userAgent.includes("mobile");
|
|
var isShadowDomSupported = typeof ShadowRoot === "function";
|
|
var isMatchMediaChangeEventListenerSupported = typeof MediaQueryList === "function" && typeof MediaQueryList.prototype.addEventListener === "function";
|
|
(function() {
|
|
var m = userAgent.match(/chrom[e|ium]\/([^ ]+)/);
|
|
if (m && m[1]) {
|
|
return m[1];
|
|
}
|
|
return "";
|
|
})();
|
|
var isDefinedSelectorSupported = function() {
|
|
try {
|
|
document.querySelector(":defined");
|
|
return true;
|
|
} catch (err) {
|
|
return false;
|
|
}
|
|
}();
|
|
typeof globalThis !== "undefined" && globalThis.chrome && globalThis.chrome.runtime && globalThis.chrome.runtime.getManifest && globalThis.chrome.runtime.getManifest().manifest_version === 3;
|
|
function getOKResponse(url2, mimeType, origin) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var response;
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
return [4, fetch(url2, {
|
|
cache: "force-cache",
|
|
credentials: "omit",
|
|
referrer: origin
|
|
})];
|
|
case 1:
|
|
response = _a2.sent();
|
|
if (isFirefox && mimeType === "text/css" && url2.startsWith("moz-extension://") && url2.endsWith(".css")) {
|
|
return [2, response];
|
|
}
|
|
if (mimeType && !response.headers.get("Content-Type").startsWith(mimeType)) {
|
|
throw new Error("Mime type mismatch when loading " + url2);
|
|
}
|
|
if (!response.ok) {
|
|
throw new Error("Unable to load " + url2 + " " + response.status + " " + response.statusText);
|
|
}
|
|
return [2, response];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function loadAsDataURL(url2, mimeType) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var response;
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
return [4, getOKResponse(url2, mimeType)];
|
|
case 1:
|
|
response = _a2.sent();
|
|
return [4, readResponseAsDataURL(response)];
|
|
case 2:
|
|
return [2, _a2.sent()];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function readResponseAsDataURL(response) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var blob, dataURL;
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
return [4, response.blob()];
|
|
case 1:
|
|
blob = _a2.sent();
|
|
return [4, new Promise(function(resolve) {
|
|
var reader = new FileReader();
|
|
reader.onloadend = function() {
|
|
return resolve(reader.result);
|
|
};
|
|
reader.readAsDataURL(blob);
|
|
})];
|
|
case 2:
|
|
dataURL = _a2.sent();
|
|
return [2, dataURL];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
var throwCORSError = function(url2) {
|
|
return __awaiter(void 0, void 0, void 0, function() {
|
|
return __generator(this, function(_a2) {
|
|
return [2, Promise.reject(new Error([
|
|
"Embedded Dark Reader cannot access a cross-origin resource",
|
|
url2,
|
|
"Overview your URLs and CORS policies or use",
|
|
"`DarkReader.setFetchMethod(fetch: (url) => Promise<Response>))`.",
|
|
"See if using `DarkReader.setFetchMethod(window.fetch)`",
|
|
"before `DarkReader.enable()` works."
|
|
].join(" ")))];
|
|
});
|
|
});
|
|
};
|
|
var fetcher = throwCORSError;
|
|
function setFetchMethod$1(fetch2) {
|
|
if (fetch2) {
|
|
fetcher = fetch2;
|
|
} else {
|
|
fetcher = throwCORSError;
|
|
}
|
|
}
|
|
function callFetchMethod(url2) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
return [4, fetcher(url2)];
|
|
case 1:
|
|
return [2, _a2.sent()];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function initChrome() {
|
|
if (typeof chrome === "undefined")
|
|
return;
|
|
if (typeof window !== "undefined" && !window.chrome) {
|
|
window.chrome = {};
|
|
}
|
|
if (typeof chrome !== "undefined" && !chrome.runtime) {
|
|
chrome.runtime = {};
|
|
}
|
|
var messageListeners = /* @__PURE__ */ new Set();
|
|
function sendMessage() {
|
|
var args = [];
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
args[_i] = arguments[_i];
|
|
}
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var id_1, _a2, url2, responseType, response, text_1, error_1;
|
|
return __generator(this, function(_b) {
|
|
switch (_b.label) {
|
|
case 0:
|
|
if (!(args[0] && args[0].type === MessageType.CS_FETCH))
|
|
return [3, 8];
|
|
id_1 = args[0].id;
|
|
_b.label = 1;
|
|
case 1:
|
|
_b.trys.push([1, 7, , 8]);
|
|
_a2 = args[0].data, url2 = _a2.url, responseType = _a2.responseType;
|
|
return [4, callFetchMethod(url2)];
|
|
case 2:
|
|
response = _b.sent();
|
|
if (!(responseType === "data-url"))
|
|
return [3, 4];
|
|
return [4, readResponseAsDataURL(response)];
|
|
case 3:
|
|
text_1 = _b.sent();
|
|
return [3, 6];
|
|
case 4:
|
|
return [4, response.text()];
|
|
case 5:
|
|
text_1 = _b.sent();
|
|
_b.label = 6;
|
|
case 6:
|
|
messageListeners.forEach(function(cb) {
|
|
return cb({ type: MessageType.BG_FETCH_RESPONSE, data: text_1, error: null, id: id_1 });
|
|
});
|
|
return [3, 8];
|
|
case 7:
|
|
error_1 = _b.sent();
|
|
console.error(error_1);
|
|
messageListeners.forEach(function(cb) {
|
|
return cb({ type: MessageType.BG_FETCH_RESPONSE, data: null, error: error_1, id: id_1 });
|
|
});
|
|
return [3, 8];
|
|
case 8:
|
|
return [2];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function addMessageListener(callback) {
|
|
messageListeners.add(callback);
|
|
}
|
|
if (typeof chrome.runtime.sendMessage === "function") {
|
|
var nativeSendMessage_1 = chrome.runtime.sendMessage;
|
|
chrome.runtime.sendMessage = function() {
|
|
var args = [];
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
args[_i] = arguments[_i];
|
|
}
|
|
sendMessage.apply(void 0, __spreadArray([], __read(args), false));
|
|
nativeSendMessage_1.apply(chrome.runtime, args);
|
|
};
|
|
} else {
|
|
chrome.runtime.sendMessage = sendMessage;
|
|
}
|
|
if (!chrome.runtime.onMessage) {
|
|
chrome.runtime.onMessage = {};
|
|
}
|
|
if (typeof chrome.runtime.onMessage.addListener === "function") {
|
|
var nativeAddListener_1 = chrome.runtime.onMessage.addListener;
|
|
chrome.runtime.onMessage.addListener = function() {
|
|
var args = [];
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
args[_i] = arguments[_i];
|
|
}
|
|
addMessageListener(args[0]);
|
|
nativeAddListener_1.apply(chrome.runtime.onMessage, args);
|
|
};
|
|
} else {
|
|
chrome.runtime.onMessage.addListener = function() {
|
|
var args = [];
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
args[_i] = arguments[_i];
|
|
}
|
|
return addMessageListener(args[0]);
|
|
};
|
|
}
|
|
}
|
|
initChrome();
|
|
var ThemeEngines = {
|
|
cssFilter: "cssFilter",
|
|
svgFilter: "svgFilter",
|
|
staticTheme: "staticTheme",
|
|
dynamicTheme: "dynamicTheme"
|
|
};
|
|
var DEFAULT_COLORS = {
|
|
darkScheme: {
|
|
background: "#181a1b",
|
|
text: "#e8e6e3"
|
|
},
|
|
lightScheme: {
|
|
background: "#dcdad7",
|
|
text: "#181a1b"
|
|
}
|
|
};
|
|
var DEFAULT_THEME = {
|
|
mode: 1,
|
|
brightness: 100,
|
|
contrast: 100,
|
|
grayscale: 0,
|
|
sepia: 0,
|
|
useFont: false,
|
|
fontFamily: isMacOS ? "Helvetica Neue" : isWindows ? "Segoe UI" : "Open Sans",
|
|
textStroke: 0,
|
|
engine: ThemeEngines.dynamicTheme,
|
|
stylesheet: "",
|
|
darkSchemeBackgroundColor: DEFAULT_COLORS.darkScheme.background,
|
|
darkSchemeTextColor: DEFAULT_COLORS.darkScheme.text,
|
|
lightSchemeBackgroundColor: DEFAULT_COLORS.lightScheme.background,
|
|
lightSchemeTextColor: DEFAULT_COLORS.lightScheme.text,
|
|
scrollbarColor: isMacOS ? "" : "auto",
|
|
selectionColor: "auto",
|
|
styleSystemControls: true,
|
|
lightColorScheme: "Default",
|
|
darkColorScheme: "Default"
|
|
};
|
|
function isArrayLike(items) {
|
|
return items.length != null;
|
|
}
|
|
function forEach2(items, iterator) {
|
|
var e_1, _a2;
|
|
if (isArrayLike(items)) {
|
|
for (var i = 0, len = items.length; i < len; i++) {
|
|
iterator(items[i]);
|
|
}
|
|
} else {
|
|
try {
|
|
for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
|
|
var item = items_1_1.value;
|
|
iterator(item);
|
|
}
|
|
} catch (e_1_1) {
|
|
e_1 = { error: e_1_1 };
|
|
} finally {
|
|
try {
|
|
if (items_1_1 && !items_1_1.done && (_a2 = items_1.return))
|
|
_a2.call(items_1);
|
|
} finally {
|
|
if (e_1)
|
|
throw e_1.error;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function push(array4, addition) {
|
|
forEach2(addition, function(a) {
|
|
return array4.push(a);
|
|
});
|
|
}
|
|
function toArray2(items) {
|
|
var results = [];
|
|
for (var i = 0, len = items.length; i < len; i++) {
|
|
results.push(items[i]);
|
|
}
|
|
return results;
|
|
}
|
|
function logInfo() {
|
|
}
|
|
function logWarn() {
|
|
}
|
|
function throttle2(callback) {
|
|
var pending = false;
|
|
var frameId = null;
|
|
var lastArgs;
|
|
var throttled = function() {
|
|
var args = [];
|
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
args[_i] = arguments[_i];
|
|
}
|
|
lastArgs = args;
|
|
if (frameId) {
|
|
pending = true;
|
|
} else {
|
|
callback.apply(void 0, __spreadArray([], __read(lastArgs), false));
|
|
frameId = requestAnimationFrame(function() {
|
|
frameId = null;
|
|
if (pending) {
|
|
callback.apply(void 0, __spreadArray([], __read(lastArgs), false));
|
|
pending = false;
|
|
}
|
|
});
|
|
}
|
|
};
|
|
var cancel = function() {
|
|
cancelAnimationFrame(frameId);
|
|
pending = false;
|
|
frameId = null;
|
|
};
|
|
return Object.assign(throttled, { cancel });
|
|
}
|
|
function createAsyncTasksQueue() {
|
|
var tasks = [];
|
|
var frameId = null;
|
|
function runTasks() {
|
|
var task;
|
|
while (task = tasks.shift()) {
|
|
task();
|
|
}
|
|
frameId = null;
|
|
}
|
|
function add2(task) {
|
|
tasks.push(task);
|
|
if (!frameId) {
|
|
frameId = requestAnimationFrame(runTasks);
|
|
}
|
|
}
|
|
function cancel() {
|
|
tasks.splice(0);
|
|
cancelAnimationFrame(frameId);
|
|
frameId = null;
|
|
}
|
|
return { add: add2, cancel };
|
|
}
|
|
function getDuration(time) {
|
|
var duration = 0;
|
|
if (time.seconds) {
|
|
duration += time.seconds * 1e3;
|
|
}
|
|
if (time.minutes) {
|
|
duration += time.minutes * 60 * 1e3;
|
|
}
|
|
if (time.hours) {
|
|
duration += time.hours * 60 * 60 * 1e3;
|
|
}
|
|
if (time.days) {
|
|
duration += time.days * 24 * 60 * 60 * 1e3;
|
|
}
|
|
return duration;
|
|
}
|
|
function removeNode(node) {
|
|
node && node.parentNode && node.parentNode.removeChild(node);
|
|
}
|
|
function watchForNodePosition(node, mode, onRestore) {
|
|
if (onRestore === void 0) {
|
|
onRestore = Function.prototype;
|
|
}
|
|
var MAX_ATTEMPTS_COUNT = 10;
|
|
var RETRY_TIMEOUT = getDuration({ seconds: 2 });
|
|
var ATTEMPTS_INTERVAL = getDuration({ seconds: 10 });
|
|
var prevSibling = node.previousSibling;
|
|
var parent = node.parentNode;
|
|
if (!parent) {
|
|
throw new Error("Unable to watch for node position: parent element not found");
|
|
}
|
|
if (mode === "prev-sibling" && !prevSibling) {
|
|
throw new Error("Unable to watch for node position: there is no previous sibling");
|
|
}
|
|
var attempts = 0;
|
|
var start = null;
|
|
var timeoutId = null;
|
|
var restore = throttle2(function() {
|
|
if (timeoutId) {
|
|
return;
|
|
}
|
|
attempts++;
|
|
var now = Date.now();
|
|
if (start == null) {
|
|
start = now;
|
|
} else if (attempts >= MAX_ATTEMPTS_COUNT) {
|
|
if (now - start < ATTEMPTS_INTERVAL) {
|
|
timeoutId = setTimeout(function() {
|
|
start = null;
|
|
attempts = 0;
|
|
timeoutId = null;
|
|
restore();
|
|
}, RETRY_TIMEOUT);
|
|
return;
|
|
}
|
|
start = now;
|
|
attempts = 1;
|
|
}
|
|
if (mode === "parent") {
|
|
if (prevSibling && prevSibling.parentNode !== parent) {
|
|
stop();
|
|
return;
|
|
}
|
|
}
|
|
if (mode === "prev-sibling") {
|
|
if (prevSibling.parentNode == null) {
|
|
stop();
|
|
return;
|
|
}
|
|
if (prevSibling.parentNode !== parent) {
|
|
updateParent(prevSibling.parentNode);
|
|
}
|
|
}
|
|
parent.insertBefore(node, prevSibling ? prevSibling.nextSibling : parent.firstChild);
|
|
observer2.takeRecords();
|
|
onRestore && onRestore();
|
|
});
|
|
var observer2 = new MutationObserver(function() {
|
|
if (mode === "parent" && node.parentNode !== parent || mode === "prev-sibling" && node.previousSibling !== prevSibling) {
|
|
restore();
|
|
}
|
|
});
|
|
var run = function() {
|
|
observer2.observe(parent, { childList: true });
|
|
};
|
|
var stop = function() {
|
|
clearTimeout(timeoutId);
|
|
observer2.disconnect();
|
|
restore.cancel();
|
|
};
|
|
var skip = function() {
|
|
observer2.takeRecords();
|
|
};
|
|
var updateParent = function(parentNode) {
|
|
parent = parentNode;
|
|
stop();
|
|
run();
|
|
};
|
|
run();
|
|
return { run, stop, skip };
|
|
}
|
|
function iterateShadowHosts(root, iterator) {
|
|
if (root == null) {
|
|
return;
|
|
}
|
|
var walker = document.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {
|
|
acceptNode: function(node2) {
|
|
return node2.shadowRoot == null ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
|
|
}
|
|
});
|
|
for (var node = root.shadowRoot ? walker.currentNode : walker.nextNode(); node != null; node = walker.nextNode()) {
|
|
iterator(node);
|
|
iterateShadowHosts(node.shadowRoot, iterator);
|
|
}
|
|
}
|
|
function isDOMReady() {
|
|
if (typeof document === "undefined")
|
|
return false;
|
|
return document.readyState === "complete" || document.readyState === "interactive";
|
|
}
|
|
var readyStateListeners = /* @__PURE__ */ new Set();
|
|
function addDOMReadyListener(listener) {
|
|
readyStateListeners.add(listener);
|
|
}
|
|
function removeDOMReadyListener(listener) {
|
|
readyStateListeners.delete(listener);
|
|
}
|
|
function isReadyStateComplete() {
|
|
return document.readyState === "complete";
|
|
}
|
|
var readyStateCompleteListeners = /* @__PURE__ */ new Set();
|
|
function addReadyStateCompleteListener(listener) {
|
|
readyStateCompleteListeners.add(listener);
|
|
}
|
|
function cleanReadyStateCompleteListeners() {
|
|
readyStateCompleteListeners.clear();
|
|
}
|
|
if (!isDOMReady()) {
|
|
var onReadyStateChange_1 = function() {
|
|
if (isDOMReady()) {
|
|
readyStateListeners.forEach(function(listener) {
|
|
return listener();
|
|
});
|
|
readyStateListeners.clear();
|
|
if (isReadyStateComplete()) {
|
|
document.removeEventListener("readystatechange", onReadyStateChange_1);
|
|
readyStateCompleteListeners.forEach(function(listener) {
|
|
return listener();
|
|
});
|
|
readyStateCompleteListeners.clear();
|
|
}
|
|
}
|
|
};
|
|
if (typeof document !== "undefined") {
|
|
document.addEventListener("readystatechange", onReadyStateChange_1);
|
|
}
|
|
}
|
|
var HUGE_MUTATIONS_COUNT = 1e3;
|
|
function isHugeMutation(mutations) {
|
|
if (mutations.length > HUGE_MUTATIONS_COUNT) {
|
|
return true;
|
|
}
|
|
var addedNodesCount = 0;
|
|
for (var i = 0; i < mutations.length; i++) {
|
|
addedNodesCount += mutations[i].addedNodes.length;
|
|
if (addedNodesCount > HUGE_MUTATIONS_COUNT) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function getElementsTreeOperations(mutations) {
|
|
var additions = /* @__PURE__ */ new Set();
|
|
var deletions = /* @__PURE__ */ new Set();
|
|
var moves = /* @__PURE__ */ new Set();
|
|
mutations.forEach(function(m) {
|
|
forEach2(m.addedNodes, function(n) {
|
|
if (n instanceof Element && n.isConnected) {
|
|
additions.add(n);
|
|
}
|
|
});
|
|
forEach2(m.removedNodes, function(n) {
|
|
if (n instanceof Element) {
|
|
if (n.isConnected) {
|
|
moves.add(n);
|
|
additions.delete(n);
|
|
} else {
|
|
deletions.add(n);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
var duplicateAdditions = [];
|
|
var duplicateDeletions = [];
|
|
additions.forEach(function(node) {
|
|
if (additions.has(node.parentElement)) {
|
|
duplicateAdditions.push(node);
|
|
}
|
|
});
|
|
deletions.forEach(function(node) {
|
|
if (deletions.has(node.parentElement)) {
|
|
duplicateDeletions.push(node);
|
|
}
|
|
});
|
|
duplicateAdditions.forEach(function(node) {
|
|
return additions.delete(node);
|
|
});
|
|
duplicateDeletions.forEach(function(node) {
|
|
return deletions.delete(node);
|
|
});
|
|
return { additions, moves, deletions };
|
|
}
|
|
var optimizedTreeObservers = /* @__PURE__ */ new Map();
|
|
var optimizedTreeCallbacks = /* @__PURE__ */ new WeakMap();
|
|
function createOptimizedTreeObserver(root, callbacks) {
|
|
var observer2;
|
|
var observerCallbacks;
|
|
var domReadyListener;
|
|
if (optimizedTreeObservers.has(root)) {
|
|
observer2 = optimizedTreeObservers.get(root);
|
|
observerCallbacks = optimizedTreeCallbacks.get(observer2);
|
|
} else {
|
|
var hadHugeMutationsBefore_1 = false;
|
|
var subscribedForReadyState_1 = false;
|
|
observer2 = new MutationObserver(function(mutations) {
|
|
if (isHugeMutation(mutations)) {
|
|
if (!hadHugeMutationsBefore_1 || isDOMReady()) {
|
|
observerCallbacks.forEach(function(_a2) {
|
|
var onHugeMutations = _a2.onHugeMutations;
|
|
return onHugeMutations(root);
|
|
});
|
|
} else if (!subscribedForReadyState_1) {
|
|
domReadyListener = function() {
|
|
return observerCallbacks.forEach(function(_a2) {
|
|
var onHugeMutations = _a2.onHugeMutations;
|
|
return onHugeMutations(root);
|
|
});
|
|
};
|
|
addDOMReadyListener(domReadyListener);
|
|
subscribedForReadyState_1 = true;
|
|
}
|
|
hadHugeMutationsBefore_1 = true;
|
|
} else {
|
|
var elementsOperations_1 = getElementsTreeOperations(mutations);
|
|
observerCallbacks.forEach(function(_a2) {
|
|
var onMinorMutations = _a2.onMinorMutations;
|
|
return onMinorMutations(elementsOperations_1);
|
|
});
|
|
}
|
|
});
|
|
observer2.observe(root, { childList: true, subtree: true });
|
|
optimizedTreeObservers.set(root, observer2);
|
|
observerCallbacks = /* @__PURE__ */ new Set();
|
|
optimizedTreeCallbacks.set(observer2, observerCallbacks);
|
|
}
|
|
observerCallbacks.add(callbacks);
|
|
return {
|
|
disconnect: function() {
|
|
observerCallbacks.delete(callbacks);
|
|
if (domReadyListener) {
|
|
removeDOMReadyListener(domReadyListener);
|
|
}
|
|
if (observerCallbacks.size === 0) {
|
|
observer2.disconnect();
|
|
optimizedTreeCallbacks.delete(observer2);
|
|
optimizedTreeObservers.delete(root);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
var anchor;
|
|
var parsedURLCache = /* @__PURE__ */ new Map();
|
|
function fixBaseURL($url) {
|
|
if (!anchor) {
|
|
anchor = document.createElement("a");
|
|
}
|
|
anchor.href = $url;
|
|
return anchor.href;
|
|
}
|
|
function parseURL($url, $base) {
|
|
if ($base === void 0) {
|
|
$base = null;
|
|
}
|
|
var key = "" + $url + ($base ? ";" + $base : "");
|
|
if (parsedURLCache.has(key)) {
|
|
return parsedURLCache.get(key);
|
|
}
|
|
if ($base) {
|
|
var parsedURL_1 = new URL($url, fixBaseURL($base));
|
|
parsedURLCache.set(key, parsedURL_1);
|
|
return parsedURL_1;
|
|
}
|
|
var parsedURL = new URL(fixBaseURL($url));
|
|
parsedURLCache.set($url, parsedURL);
|
|
return parsedURL;
|
|
}
|
|
function getAbsoluteURL($base, $relative) {
|
|
if ($relative.match(/^data\\?\:/)) {
|
|
return $relative;
|
|
}
|
|
if (/^\/\//.test($relative)) {
|
|
return "" + location.protocol + $relative;
|
|
}
|
|
var b = parseURL($base);
|
|
var a = parseURL($relative, b.href);
|
|
return a.href;
|
|
}
|
|
function isRelativeHrefOnAbsolutePath(href) {
|
|
if (href.startsWith("data:")) {
|
|
return true;
|
|
}
|
|
var url2 = parseURL(href);
|
|
if (url2.protocol !== location.protocol) {
|
|
return false;
|
|
}
|
|
if (url2.hostname !== location.hostname) {
|
|
return false;
|
|
}
|
|
if (url2.port !== location.port) {
|
|
return false;
|
|
}
|
|
return url2.pathname === location.pathname;
|
|
}
|
|
function iterateCSSRules(rules2, iterate, onMediaRuleError) {
|
|
forEach2(rules2, function(rule) {
|
|
if (rule.selectorText) {
|
|
iterate(rule);
|
|
} else if (rule.href) {
|
|
try {
|
|
iterateCSSRules(rule.styleSheet.cssRules, iterate, onMediaRuleError);
|
|
} catch (err) {
|
|
logInfo("Found a non-loaded link.");
|
|
onMediaRuleError && onMediaRuleError();
|
|
}
|
|
} else if (rule.media) {
|
|
var media = Array.from(rule.media);
|
|
var isScreenOrAllOrQuery = media.some(function(m) {
|
|
return m.startsWith("screen") || m.startsWith("all") || m.startsWith("(");
|
|
});
|
|
var isPrintOrSpeech = media.some(function(m) {
|
|
return m.startsWith("print") || m.startsWith("speech");
|
|
});
|
|
if (isScreenOrAllOrQuery || !isPrintOrSpeech) {
|
|
iterateCSSRules(rule.cssRules, iterate, onMediaRuleError);
|
|
}
|
|
} else if (rule.conditionText) {
|
|
if (CSS.supports(rule.conditionText)) {
|
|
iterateCSSRules(rule.cssRules, iterate, onMediaRuleError);
|
|
}
|
|
} else {
|
|
logWarn("CSSRule type not supported", rule);
|
|
}
|
|
});
|
|
}
|
|
var shorthandVarDependantProperties = [
|
|
"background",
|
|
"border",
|
|
"border-color",
|
|
"border-bottom",
|
|
"border-left",
|
|
"border-right",
|
|
"border-top",
|
|
"outline",
|
|
"outline-color"
|
|
];
|
|
var shorthandVarDepPropRegexps = isSafari ? shorthandVarDependantProperties.map(function(prop) {
|
|
var regexp4 = new RegExp(prop + ":\\s*(.*?)\\s*;");
|
|
return [prop, regexp4];
|
|
}) : null;
|
|
function iterateCSSDeclarations(style, iterate) {
|
|
forEach2(style, function(property) {
|
|
var value = style.getPropertyValue(property).trim();
|
|
if (!value) {
|
|
return;
|
|
}
|
|
iterate(property, value);
|
|
});
|
|
var cssText = style.cssText;
|
|
if (cssText.includes("var(")) {
|
|
if (isSafari) {
|
|
shorthandVarDepPropRegexps.forEach(function(_a2) {
|
|
var _b = __read(_a2, 2), prop = _b[0], regexp4 = _b[1];
|
|
var match = cssText.match(regexp4);
|
|
if (match && match[1]) {
|
|
var val = match[1].trim();
|
|
iterate(prop, val);
|
|
}
|
|
});
|
|
} else {
|
|
shorthandVarDependantProperties.forEach(function(prop) {
|
|
var val = style.getPropertyValue(prop);
|
|
if (val && val.includes("var(")) {
|
|
iterate(prop, val);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
var cssURLRegex = /url\((('.+?')|(".+?")|([^\)]*?))\)/g;
|
|
var cssImportRegex = /@import\s*(url\()?(('.+?')|(".+?")|([^\)]*?))\)? ?(screen)?;?/g;
|
|
function getCSSURLValue(cssURL) {
|
|
return cssURL.replace(/^url\((.*)\)$/, "$1").trim().replace(/^"(.*)"$/, "$1").replace(/^'(.*)'$/, "$1");
|
|
}
|
|
function getCSSBaseBath(url2) {
|
|
var cssURL = parseURL(url2);
|
|
return "" + cssURL.origin + cssURL.pathname.replace(/\?.*$/, "").replace(/(\/)([^\/]+)$/i, "$1");
|
|
}
|
|
function replaceCSSRelativeURLsWithAbsolute($css, cssBasePath) {
|
|
return $css.replace(cssURLRegex, function(match) {
|
|
var pathValue = getCSSURLValue(match);
|
|
try {
|
|
return 'url("' + getAbsoluteURL(cssBasePath, pathValue) + '")';
|
|
} catch (err) {
|
|
return match;
|
|
}
|
|
});
|
|
}
|
|
var cssCommentsRegex = /\/\*[\s\S]*?\*\//g;
|
|
function removeCSSComments($css) {
|
|
return $css.replace(cssCommentsRegex, "");
|
|
}
|
|
var fontFaceRegex = /@font-face\s*{[^}]*}/g;
|
|
function replaceCSSFontFace($css) {
|
|
return $css.replace(fontFaceRegex, "");
|
|
}
|
|
function hslToRGB(_a2) {
|
|
var h2 = _a2.h, s = _a2.s, l = _a2.l, _b = _a2.a, a = _b === void 0 ? 1 : _b;
|
|
if (s === 0) {
|
|
var _c = __read([l, l, l].map(function(x2) {
|
|
return Math.round(x2 * 255);
|
|
}), 3), r_1 = _c[0], b_1 = _c[1], g_1 = _c[2];
|
|
return { r: r_1, g: g_1, b: b_1, a };
|
|
}
|
|
var c = (1 - Math.abs(2 * l - 1)) * s;
|
|
var x = c * (1 - Math.abs(h2 / 60 % 2 - 1));
|
|
var m = l - c / 2;
|
|
var _d = __read((h2 < 60 ? [c, x, 0] : h2 < 120 ? [x, c, 0] : h2 < 180 ? [0, c, x] : h2 < 240 ? [0, x, c] : h2 < 300 ? [x, 0, c] : [c, 0, x]).map(function(n) {
|
|
return Math.round((n + m) * 255);
|
|
}), 3), r = _d[0], g = _d[1], b = _d[2];
|
|
return { r, g, b, a };
|
|
}
|
|
function rgbToHSL(_a2) {
|
|
var r255 = _a2.r, g255 = _a2.g, b255 = _a2.b, _b = _a2.a, a = _b === void 0 ? 1 : _b;
|
|
var r = r255 / 255;
|
|
var g = g255 / 255;
|
|
var b = b255 / 255;
|
|
var max = Math.max(r, g, b);
|
|
var min = Math.min(r, g, b);
|
|
var c = max - min;
|
|
var l = (max + min) / 2;
|
|
if (c === 0) {
|
|
return { h: 0, s: 0, l, a };
|
|
}
|
|
var h2 = (max === r ? (g - b) / c % 6 : max === g ? (b - r) / c + 2 : (r - g) / c + 4) * 60;
|
|
if (h2 < 0) {
|
|
h2 += 360;
|
|
}
|
|
var s = c / (1 - Math.abs(2 * l - 1));
|
|
return { h: h2, s, l, a };
|
|
}
|
|
function toFixed(n, digits) {
|
|
if (digits === void 0) {
|
|
digits = 0;
|
|
}
|
|
var fixed = n.toFixed(digits);
|
|
if (digits === 0) {
|
|
return fixed;
|
|
}
|
|
var dot = fixed.indexOf(".");
|
|
if (dot >= 0) {
|
|
var zerosMatch = fixed.match(/0+$/);
|
|
if (zerosMatch) {
|
|
if (zerosMatch.index === dot + 1) {
|
|
return fixed.substring(0, dot);
|
|
}
|
|
return fixed.substring(0, zerosMatch.index);
|
|
}
|
|
}
|
|
return fixed;
|
|
}
|
|
function rgbToString(rgb) {
|
|
var r = rgb.r, g = rgb.g, b = rgb.b, a = rgb.a;
|
|
if (a != null && a < 1) {
|
|
return "rgba(" + toFixed(r) + ", " + toFixed(g) + ", " + toFixed(b) + ", " + toFixed(a, 2) + ")";
|
|
}
|
|
return "rgb(" + toFixed(r) + ", " + toFixed(g) + ", " + toFixed(b) + ")";
|
|
}
|
|
function rgbToHexString(_a2) {
|
|
var r = _a2.r, g = _a2.g, b = _a2.b, a = _a2.a;
|
|
return "#" + (a != null && a < 1 ? [r, g, b, Math.round(a * 255)] : [r, g, b]).map(function(x) {
|
|
return (x < 16 ? "0" : "") + x.toString(16);
|
|
}).join("");
|
|
}
|
|
function hslToString(hsl) {
|
|
var h2 = hsl.h, s = hsl.s, l = hsl.l, a = hsl.a;
|
|
if (a != null && a < 1) {
|
|
return "hsla(" + toFixed(h2) + ", " + toFixed(s * 100) + "%, " + toFixed(l * 100) + "%, " + toFixed(a, 2) + ")";
|
|
}
|
|
return "hsl(" + toFixed(h2) + ", " + toFixed(s * 100) + "%, " + toFixed(l * 100) + "%)";
|
|
}
|
|
var rgbMatch = /^rgba?\([^\(\)]+\)$/;
|
|
var hslMatch = /^hsla?\([^\(\)]+\)$/;
|
|
var hexMatch = /^#[0-9a-f]+$/i;
|
|
function parse2($color) {
|
|
var c = $color.trim().toLowerCase();
|
|
if (c.match(rgbMatch)) {
|
|
return parseRGB(c);
|
|
}
|
|
if (c.match(hslMatch)) {
|
|
return parseHSL(c);
|
|
}
|
|
if (c.match(hexMatch)) {
|
|
return parseHex(c);
|
|
}
|
|
if (knownColors.has(c)) {
|
|
return getColorByName(c);
|
|
}
|
|
if (systemColors.has(c)) {
|
|
return getSystemColor(c);
|
|
}
|
|
if ($color === "transparent") {
|
|
return { r: 0, g: 0, b: 0, a: 0 };
|
|
}
|
|
throw new Error("Unable to parse " + $color);
|
|
}
|
|
function getNumbers($color) {
|
|
var numbers = [];
|
|
var prevPos = 0;
|
|
var isMining = false;
|
|
var startIndex = $color.indexOf("(");
|
|
$color = $color.substring(startIndex + 1, $color.length - 1);
|
|
for (var i = 0; i < $color.length; i++) {
|
|
var c = $color[i];
|
|
if (c >= "0" && c <= "9" || c === "." || c === "+" || c === "-") {
|
|
isMining = true;
|
|
} else if (isMining && (c === " " || c === ",")) {
|
|
numbers.push($color.substring(prevPos, i));
|
|
isMining = false;
|
|
prevPos = i + 1;
|
|
} else if (!isMining) {
|
|
prevPos = i + 1;
|
|
}
|
|
}
|
|
if (isMining) {
|
|
numbers.push($color.substring(prevPos, $color.length));
|
|
}
|
|
return numbers;
|
|
}
|
|
function getNumbersFromString(str, range3, units) {
|
|
var raw = getNumbers(str);
|
|
var unitsList = Object.entries(units);
|
|
var numbers = raw.map(function(r) {
|
|
return r.trim();
|
|
}).map(function(r, i) {
|
|
var n;
|
|
var unit = unitsList.find(function(_a2) {
|
|
var _b = __read(_a2, 1), u = _b[0];
|
|
return r.endsWith(u);
|
|
});
|
|
if (unit) {
|
|
n = parseFloat(r.substring(0, r.length - unit[0].length)) / unit[1] * range3[i];
|
|
} else {
|
|
n = parseFloat(r);
|
|
}
|
|
if (range3[i] > 1) {
|
|
return Math.round(n);
|
|
}
|
|
return n;
|
|
});
|
|
return numbers;
|
|
}
|
|
var rgbRange = [255, 255, 255, 1];
|
|
var rgbUnits = { "%": 100 };
|
|
function parseRGB($rgb) {
|
|
var _a2 = __read(getNumbersFromString($rgb, rgbRange, rgbUnits), 4), r = _a2[0], g = _a2[1], b = _a2[2], _b = _a2[3], a = _b === void 0 ? 1 : _b;
|
|
return { r, g, b, a };
|
|
}
|
|
var hslRange = [360, 1, 1, 1];
|
|
var hslUnits = { "%": 100, "deg": 360, "rad": 2 * Math.PI, "turn": 1 };
|
|
function parseHSL($hsl) {
|
|
var _a2 = __read(getNumbersFromString($hsl, hslRange, hslUnits), 4), h2 = _a2[0], s = _a2[1], l = _a2[2], _b = _a2[3], a = _b === void 0 ? 1 : _b;
|
|
return hslToRGB({ h: h2, s, l, a });
|
|
}
|
|
function parseHex($hex) {
|
|
var h2 = $hex.substring(1);
|
|
switch (h2.length) {
|
|
case 3:
|
|
case 4: {
|
|
var _a2 = __read([0, 1, 2].map(function(i) {
|
|
return parseInt("" + h2[i] + h2[i], 16);
|
|
}), 3), r = _a2[0], g = _a2[1], b = _a2[2];
|
|
var a = h2.length === 3 ? 1 : parseInt("" + h2[3] + h2[3], 16) / 255;
|
|
return { r, g, b, a };
|
|
}
|
|
case 6:
|
|
case 8: {
|
|
var _b = __read([0, 2, 4].map(function(i) {
|
|
return parseInt(h2.substring(i, i + 2), 16);
|
|
}), 3), r = _b[0], g = _b[1], b = _b[2];
|
|
var a = h2.length === 6 ? 1 : parseInt(h2.substring(6, 8), 16) / 255;
|
|
return { r, g, b, a };
|
|
}
|
|
}
|
|
throw new Error("Unable to parse " + $hex);
|
|
}
|
|
function getColorByName($color) {
|
|
var n = knownColors.get($color);
|
|
return {
|
|
r: n >> 16 & 255,
|
|
g: n >> 8 & 255,
|
|
b: n >> 0 & 255,
|
|
a: 1
|
|
};
|
|
}
|
|
function getSystemColor($color) {
|
|
var n = systemColors.get($color);
|
|
return {
|
|
r: n >> 16 & 255,
|
|
g: n >> 8 & 255,
|
|
b: n >> 0 & 255,
|
|
a: 1
|
|
};
|
|
}
|
|
var isCharDigit = function(char) {
|
|
return char >= "0" && char <= "9";
|
|
};
|
|
var getAmountOfDigits = function(number4) {
|
|
return Math.floor(Math.log10(number4)) + 1;
|
|
};
|
|
function lowerCalcExpression(color) {
|
|
var searchIndex = 0;
|
|
var replaceBetweenIndices = function(start, end, replacement2) {
|
|
color = color.substring(0, start) + replacement2 + color.substring(end);
|
|
};
|
|
var getNumber = function() {
|
|
var resultNumber = 0;
|
|
for (var i = 1; i < 4; i++) {
|
|
var char = color[searchIndex + i];
|
|
if (char === " ") {
|
|
break;
|
|
}
|
|
if (isCharDigit(char)) {
|
|
resultNumber *= 10;
|
|
resultNumber += Number(char);
|
|
} else {
|
|
break;
|
|
}
|
|
}
|
|
var lenDigits = getAmountOfDigits(resultNumber);
|
|
searchIndex += lenDigits;
|
|
var possibleType = color[searchIndex + 1];
|
|
if (possibleType !== "%") {
|
|
return;
|
|
}
|
|
searchIndex++;
|
|
return resultNumber;
|
|
};
|
|
while ((searchIndex = color.indexOf("calc(")) !== 0) {
|
|
var startIndex = searchIndex;
|
|
searchIndex += 4;
|
|
var firstNumber = getNumber();
|
|
if (!firstNumber) {
|
|
break;
|
|
}
|
|
if (color[searchIndex + 1] !== " ") {
|
|
break;
|
|
}
|
|
searchIndex++;
|
|
var operation = color[searchIndex + 1];
|
|
if (operation !== "+" && operation !== "-") {
|
|
break;
|
|
}
|
|
searchIndex++;
|
|
if (color[searchIndex + 1] !== " ") {
|
|
break;
|
|
}
|
|
searchIndex++;
|
|
var secondNumber = getNumber();
|
|
if (!secondNumber) {
|
|
break;
|
|
}
|
|
var replacement = void 0;
|
|
if (operation === "+") {
|
|
replacement = firstNumber + secondNumber + "%";
|
|
} else {
|
|
replacement = firstNumber - secondNumber + "%";
|
|
}
|
|
replaceBetweenIndices(startIndex, searchIndex + 2, replacement);
|
|
}
|
|
return color;
|
|
}
|
|
var knownColors = new Map(Object.entries({
|
|
aliceblue: 15792383,
|
|
antiquewhite: 16444375,
|
|
aqua: 65535,
|
|
aquamarine: 8388564,
|
|
azure: 15794175,
|
|
beige: 16119260,
|
|
bisque: 16770244,
|
|
black: 0,
|
|
blanchedalmond: 16772045,
|
|
blue: 255,
|
|
blueviolet: 9055202,
|
|
brown: 10824234,
|
|
burlywood: 14596231,
|
|
cadetblue: 6266528,
|
|
chartreuse: 8388352,
|
|
chocolate: 13789470,
|
|
coral: 16744272,
|
|
cornflowerblue: 6591981,
|
|
cornsilk: 16775388,
|
|
crimson: 14423100,
|
|
cyan: 65535,
|
|
darkblue: 139,
|
|
darkcyan: 35723,
|
|
darkgoldenrod: 12092939,
|
|
darkgray: 11119017,
|
|
darkgrey: 11119017,
|
|
darkgreen: 25600,
|
|
darkkhaki: 12433259,
|
|
darkmagenta: 9109643,
|
|
darkolivegreen: 5597999,
|
|
darkorange: 16747520,
|
|
darkorchid: 10040012,
|
|
darkred: 9109504,
|
|
darksalmon: 15308410,
|
|
darkseagreen: 9419919,
|
|
darkslateblue: 4734347,
|
|
darkslategray: 3100495,
|
|
darkslategrey: 3100495,
|
|
darkturquoise: 52945,
|
|
darkviolet: 9699539,
|
|
deeppink: 16716947,
|
|
deepskyblue: 49151,
|
|
dimgray: 6908265,
|
|
dimgrey: 6908265,
|
|
dodgerblue: 2003199,
|
|
firebrick: 11674146,
|
|
floralwhite: 16775920,
|
|
forestgreen: 2263842,
|
|
fuchsia: 16711935,
|
|
gainsboro: 14474460,
|
|
ghostwhite: 16316671,
|
|
gold: 16766720,
|
|
goldenrod: 14329120,
|
|
gray: 8421504,
|
|
grey: 8421504,
|
|
green: 32768,
|
|
greenyellow: 11403055,
|
|
honeydew: 15794160,
|
|
hotpink: 16738740,
|
|
indianred: 13458524,
|
|
indigo: 4915330,
|
|
ivory: 16777200,
|
|
khaki: 15787660,
|
|
lavender: 15132410,
|
|
lavenderblush: 16773365,
|
|
lawngreen: 8190976,
|
|
lemonchiffon: 16775885,
|
|
lightblue: 11393254,
|
|
lightcoral: 15761536,
|
|
lightcyan: 14745599,
|
|
lightgoldenrodyellow: 16448210,
|
|
lightgray: 13882323,
|
|
lightgrey: 13882323,
|
|
lightgreen: 9498256,
|
|
lightpink: 16758465,
|
|
lightsalmon: 16752762,
|
|
lightseagreen: 2142890,
|
|
lightskyblue: 8900346,
|
|
lightslategray: 7833753,
|
|
lightslategrey: 7833753,
|
|
lightsteelblue: 11584734,
|
|
lightyellow: 16777184,
|
|
lime: 65280,
|
|
limegreen: 3329330,
|
|
linen: 16445670,
|
|
magenta: 16711935,
|
|
maroon: 8388608,
|
|
mediumaquamarine: 6737322,
|
|
mediumblue: 205,
|
|
mediumorchid: 12211667,
|
|
mediumpurple: 9662683,
|
|
mediumseagreen: 3978097,
|
|
mediumslateblue: 8087790,
|
|
mediumspringgreen: 64154,
|
|
mediumturquoise: 4772300,
|
|
mediumvioletred: 13047173,
|
|
midnightblue: 1644912,
|
|
mintcream: 16121850,
|
|
mistyrose: 16770273,
|
|
moccasin: 16770229,
|
|
navajowhite: 16768685,
|
|
navy: 128,
|
|
oldlace: 16643558,
|
|
olive: 8421376,
|
|
olivedrab: 7048739,
|
|
orange: 16753920,
|
|
orangered: 16729344,
|
|
orchid: 14315734,
|
|
palegoldenrod: 15657130,
|
|
palegreen: 10025880,
|
|
paleturquoise: 11529966,
|
|
palevioletred: 14381203,
|
|
papayawhip: 16773077,
|
|
peachpuff: 16767673,
|
|
peru: 13468991,
|
|
pink: 16761035,
|
|
plum: 14524637,
|
|
powderblue: 11591910,
|
|
purple: 8388736,
|
|
rebeccapurple: 6697881,
|
|
red: 16711680,
|
|
rosybrown: 12357519,
|
|
royalblue: 4286945,
|
|
saddlebrown: 9127187,
|
|
salmon: 16416882,
|
|
sandybrown: 16032864,
|
|
seagreen: 3050327,
|
|
seashell: 16774638,
|
|
sienna: 10506797,
|
|
silver: 12632256,
|
|
skyblue: 8900331,
|
|
slateblue: 6970061,
|
|
slategray: 7372944,
|
|
slategrey: 7372944,
|
|
snow: 16775930,
|
|
springgreen: 65407,
|
|
steelblue: 4620980,
|
|
tan: 13808780,
|
|
teal: 32896,
|
|
thistle: 14204888,
|
|
tomato: 16737095,
|
|
turquoise: 4251856,
|
|
violet: 15631086,
|
|
wheat: 16113331,
|
|
white: 16777215,
|
|
whitesmoke: 16119285,
|
|
yellow: 16776960,
|
|
yellowgreen: 10145074
|
|
}));
|
|
var systemColors = new Map(Object.entries({
|
|
ActiveBorder: 3906044,
|
|
ActiveCaption: 0,
|
|
AppWorkspace: 11184810,
|
|
Background: 6513614,
|
|
ButtonFace: 16777215,
|
|
ButtonHighlight: 15329769,
|
|
ButtonShadow: 10461343,
|
|
ButtonText: 0,
|
|
CaptionText: 0,
|
|
GrayText: 8355711,
|
|
Highlight: 11720703,
|
|
HighlightText: 0,
|
|
InactiveBorder: 16777215,
|
|
InactiveCaption: 16777215,
|
|
InactiveCaptionText: 0,
|
|
InfoBackground: 16514245,
|
|
InfoText: 0,
|
|
Menu: 16185078,
|
|
MenuText: 16777215,
|
|
Scrollbar: 11184810,
|
|
ThreeDDarkShadow: 0,
|
|
ThreeDFace: 12632256,
|
|
ThreeDHighlight: 16777215,
|
|
ThreeDLightShadow: 16777215,
|
|
ThreeDShadow: 0,
|
|
Window: 15527148,
|
|
WindowFrame: 11184810,
|
|
WindowText: 0,
|
|
"-webkit-focus-ring-color": 15046400
|
|
}).map(function(_a2) {
|
|
var _b = __read(_a2, 2), key = _b[0], value = _b[1];
|
|
return [key.toLowerCase(), value];
|
|
}));
|
|
function scale2(x, inLow, inHigh, outLow, outHigh) {
|
|
return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;
|
|
}
|
|
function clamp2(x, min, max) {
|
|
return Math.min(max, Math.max(min, x));
|
|
}
|
|
function multiplyMatrices(m1, m2) {
|
|
var result = [];
|
|
for (var i = 0, len = m1.length; i < len; i++) {
|
|
result[i] = [];
|
|
for (var j = 0, len2 = m2[0].length; j < len2; j++) {
|
|
var sum = 0;
|
|
for (var k = 0, len3 = m1[0].length; k < len3; k++) {
|
|
sum += m1[i][k] * m2[k][j];
|
|
}
|
|
result[i][j] = sum;
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function getMatches(regex, input, group) {
|
|
if (group === void 0) {
|
|
group = 0;
|
|
}
|
|
var matches = [];
|
|
var m;
|
|
while (m = regex.exec(input)) {
|
|
matches.push(m[group]);
|
|
}
|
|
return matches;
|
|
}
|
|
function formatCSS(text) {
|
|
function trimLeft(text2) {
|
|
return text2.replace(/^\s+/, "");
|
|
}
|
|
function getIndent(depth2) {
|
|
if (depth2 === 0) {
|
|
return "";
|
|
}
|
|
return " ".repeat(4 * depth2);
|
|
}
|
|
if (text.length < 5e4) {
|
|
var emptyRuleRegexp = /[^{}]+{\s*}/;
|
|
while (emptyRuleRegexp.test(text)) {
|
|
text = text.replace(emptyRuleRegexp, "");
|
|
}
|
|
}
|
|
var css = text.replace(/\s{2,}/g, " ").replace(/\{/g, "{\n").replace(/\}/g, "\n}\n").replace(/\;(?![^\(|\"]*(\)|\"))/g, ";\n").replace(/\,(?![^\(|\"]*(\)|\"))/g, ",\n").replace(/\n\s*\n/g, "\n").split("\n");
|
|
var depth = 0;
|
|
var formatted = [];
|
|
for (var x = 0, len = css.length; x < len; x++) {
|
|
var line = css[x] + "\n";
|
|
if (line.includes("{")) {
|
|
formatted.push(getIndent(depth++) + trimLeft(line));
|
|
} else if (line.includes("}")) {
|
|
formatted.push(getIndent(--depth) + trimLeft(line));
|
|
} else {
|
|
formatted.push(getIndent(depth) + trimLeft(line));
|
|
}
|
|
}
|
|
return formatted.join("").trim();
|
|
}
|
|
function getParenthesesRange(input, searchStartIndex) {
|
|
if (searchStartIndex === void 0) {
|
|
searchStartIndex = 0;
|
|
}
|
|
var length = input.length;
|
|
var depth = 0;
|
|
var firstOpenIndex = -1;
|
|
for (var i = searchStartIndex; i < length; i++) {
|
|
if (depth === 0) {
|
|
var openIndex = input.indexOf("(", i);
|
|
if (openIndex < 0) {
|
|
break;
|
|
}
|
|
firstOpenIndex = openIndex;
|
|
depth++;
|
|
i = openIndex;
|
|
} else {
|
|
var closingIndex = input.indexOf(")", i);
|
|
if (closingIndex < 0) {
|
|
break;
|
|
}
|
|
var openIndex = input.indexOf("(", i);
|
|
if (openIndex < 0 || closingIndex < openIndex) {
|
|
depth--;
|
|
if (depth === 0) {
|
|
return { start: firstOpenIndex, end: closingIndex + 1 };
|
|
}
|
|
i = closingIndex;
|
|
} else {
|
|
depth++;
|
|
i = openIndex;
|
|
}
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
function createFilterMatrix(config) {
|
|
var m = Matrix.identity();
|
|
if (config.sepia !== 0) {
|
|
m = multiplyMatrices(m, Matrix.sepia(config.sepia / 100));
|
|
}
|
|
if (config.grayscale !== 0) {
|
|
m = multiplyMatrices(m, Matrix.grayscale(config.grayscale / 100));
|
|
}
|
|
if (config.contrast !== 100) {
|
|
m = multiplyMatrices(m, Matrix.contrast(config.contrast / 100));
|
|
}
|
|
if (config.brightness !== 100) {
|
|
m = multiplyMatrices(m, Matrix.brightness(config.brightness / 100));
|
|
}
|
|
if (config.mode === 1) {
|
|
m = multiplyMatrices(m, Matrix.invertNHue());
|
|
}
|
|
return m;
|
|
}
|
|
function applyColorMatrix(_a2, matrix) {
|
|
var _b = __read(_a2, 3), r = _b[0], g = _b[1], b = _b[2];
|
|
var rgb = [[r / 255], [g / 255], [b / 255], [1], [1]];
|
|
var result = multiplyMatrices(matrix, rgb);
|
|
return [0, 1, 2].map(function(i) {
|
|
return clamp2(Math.round(result[i][0] * 255), 0, 255);
|
|
});
|
|
}
|
|
var Matrix = {
|
|
identity: function() {
|
|
return [
|
|
[1, 0, 0, 0, 0],
|
|
[0, 1, 0, 0, 0],
|
|
[0, 0, 1, 0, 0],
|
|
[0, 0, 0, 1, 0],
|
|
[0, 0, 0, 0, 1]
|
|
];
|
|
},
|
|
invertNHue: function() {
|
|
return [
|
|
[0.333, -0.667, -0.667, 0, 1],
|
|
[-0.667, 0.333, -0.667, 0, 1],
|
|
[-0.667, -0.667, 0.333, 0, 1],
|
|
[0, 0, 0, 1, 0],
|
|
[0, 0, 0, 0, 1]
|
|
];
|
|
},
|
|
brightness: function(v) {
|
|
return [
|
|
[v, 0, 0, 0, 0],
|
|
[0, v, 0, 0, 0],
|
|
[0, 0, v, 0, 0],
|
|
[0, 0, 0, 1, 0],
|
|
[0, 0, 0, 0, 1]
|
|
];
|
|
},
|
|
contrast: function(v) {
|
|
var t = (1 - v) / 2;
|
|
return [
|
|
[v, 0, 0, 0, t],
|
|
[0, v, 0, 0, t],
|
|
[0, 0, v, 0, t],
|
|
[0, 0, 0, 1, 0],
|
|
[0, 0, 0, 0, 1]
|
|
];
|
|
},
|
|
sepia: function(v) {
|
|
return [
|
|
[0.393 + 0.607 * (1 - v), 0.769 - 0.769 * (1 - v), 0.189 - 0.189 * (1 - v), 0, 0],
|
|
[0.349 - 0.349 * (1 - v), 0.686 + 0.314 * (1 - v), 0.168 - 0.168 * (1 - v), 0, 0],
|
|
[0.272 - 0.272 * (1 - v), 0.534 - 0.534 * (1 - v), 0.131 + 0.869 * (1 - v), 0, 0],
|
|
[0, 0, 0, 1, 0],
|
|
[0, 0, 0, 0, 1]
|
|
];
|
|
},
|
|
grayscale: function(v) {
|
|
return [
|
|
[0.2126 + 0.7874 * (1 - v), 0.7152 - 0.7152 * (1 - v), 0.0722 - 0.0722 * (1 - v), 0, 0],
|
|
[0.2126 - 0.2126 * (1 - v), 0.7152 + 0.2848 * (1 - v), 0.0722 - 0.0722 * (1 - v), 0, 0],
|
|
[0.2126 - 0.2126 * (1 - v), 0.7152 - 0.7152 * (1 - v), 0.0722 + 0.9278 * (1 - v), 0, 0],
|
|
[0, 0, 0, 1, 0],
|
|
[0, 0, 0, 0, 1]
|
|
];
|
|
}
|
|
};
|
|
function getBgPole(theme) {
|
|
var isDarkScheme = theme.mode === 1;
|
|
var prop = isDarkScheme ? "darkSchemeBackgroundColor" : "lightSchemeBackgroundColor";
|
|
return theme[prop];
|
|
}
|
|
function getFgPole(theme) {
|
|
var isDarkScheme = theme.mode === 1;
|
|
var prop = isDarkScheme ? "darkSchemeTextColor" : "lightSchemeTextColor";
|
|
return theme[prop];
|
|
}
|
|
var colorModificationCache = /* @__PURE__ */ new Map();
|
|
var colorParseCache$1 = /* @__PURE__ */ new Map();
|
|
function parseToHSLWithCache(color) {
|
|
if (colorParseCache$1.has(color)) {
|
|
return colorParseCache$1.get(color);
|
|
}
|
|
var rgb = parse2(color);
|
|
var hsl = rgbToHSL(rgb);
|
|
colorParseCache$1.set(color, hsl);
|
|
return hsl;
|
|
}
|
|
function clearColorModificationCache() {
|
|
colorModificationCache.clear();
|
|
colorParseCache$1.clear();
|
|
}
|
|
var rgbCacheKeys = ["r", "g", "b", "a"];
|
|
var themeCacheKeys$1 = ["mode", "brightness", "contrast", "grayscale", "sepia", "darkSchemeBackgroundColor", "darkSchemeTextColor", "lightSchemeBackgroundColor", "lightSchemeTextColor"];
|
|
function getCacheId(rgb, theme) {
|
|
var resultId = "";
|
|
rgbCacheKeys.forEach(function(key) {
|
|
resultId += rgb[key] + ";";
|
|
});
|
|
themeCacheKeys$1.forEach(function(key) {
|
|
resultId += theme[key] + ";";
|
|
});
|
|
return resultId;
|
|
}
|
|
function modifyColorWithCache(rgb, theme, modifyHSL, poleColor, anotherPoleColor) {
|
|
var fnCache;
|
|
if (colorModificationCache.has(modifyHSL)) {
|
|
fnCache = colorModificationCache.get(modifyHSL);
|
|
} else {
|
|
fnCache = /* @__PURE__ */ new Map();
|
|
colorModificationCache.set(modifyHSL, fnCache);
|
|
}
|
|
var id = getCacheId(rgb, theme);
|
|
if (fnCache.has(id)) {
|
|
return fnCache.get(id);
|
|
}
|
|
var hsl = rgbToHSL(rgb);
|
|
var pole = poleColor == null ? null : parseToHSLWithCache(poleColor);
|
|
var anotherPole = anotherPoleColor == null ? null : parseToHSLWithCache(anotherPoleColor);
|
|
var modified = modifyHSL(hsl, pole, anotherPole);
|
|
var _a2 = hslToRGB(modified), r = _a2.r, g = _a2.g, b = _a2.b, a = _a2.a;
|
|
var matrix = createFilterMatrix(theme);
|
|
var _b = __read(applyColorMatrix([r, g, b], matrix), 3), rf = _b[0], gf = _b[1], bf = _b[2];
|
|
var color = a === 1 ? rgbToHexString({ r: rf, g: gf, b: bf }) : rgbToString({ r: rf, g: gf, b: bf, a });
|
|
fnCache.set(id, color);
|
|
return color;
|
|
}
|
|
function noopHSL(hsl) {
|
|
return hsl;
|
|
}
|
|
function modifyColor(rgb, theme) {
|
|
return modifyColorWithCache(rgb, theme, noopHSL);
|
|
}
|
|
function modifyLightSchemeColor(rgb, theme) {
|
|
var poleBg = getBgPole(theme);
|
|
var poleFg = getFgPole(theme);
|
|
return modifyColorWithCache(rgb, theme, modifyLightModeHSL, poleFg, poleBg);
|
|
}
|
|
function modifyLightModeHSL(_a2, poleFg, poleBg) {
|
|
var h2 = _a2.h, s = _a2.s, l = _a2.l, a = _a2.a;
|
|
var isDark = l < 0.5;
|
|
var isNeutral;
|
|
if (isDark) {
|
|
isNeutral = l < 0.2 || s < 0.12;
|
|
} else {
|
|
var isBlue = h2 > 200 && h2 < 280;
|
|
isNeutral = s < 0.24 || l > 0.8 && isBlue;
|
|
}
|
|
var hx = h2;
|
|
var sx = l;
|
|
if (isNeutral) {
|
|
if (isDark) {
|
|
hx = poleFg.h;
|
|
sx = poleFg.s;
|
|
} else {
|
|
hx = poleBg.h;
|
|
sx = poleBg.s;
|
|
}
|
|
}
|
|
var lx = scale2(l, 0, 1, poleFg.l, poleBg.l);
|
|
return { h: hx, s: sx, l: lx, a };
|
|
}
|
|
var MAX_BG_LIGHTNESS = 0.4;
|
|
function modifyBgHSL(_a2, pole) {
|
|
var h2 = _a2.h, s = _a2.s, l = _a2.l, a = _a2.a;
|
|
var isDark = l < 0.5;
|
|
var isBlue = h2 > 200 && h2 < 280;
|
|
var isNeutral = s < 0.12 || l > 0.8 && isBlue;
|
|
if (isDark) {
|
|
var lx_1 = scale2(l, 0, 0.5, 0, MAX_BG_LIGHTNESS);
|
|
if (isNeutral) {
|
|
var hx_1 = pole.h;
|
|
var sx = pole.s;
|
|
return { h: hx_1, s: sx, l: lx_1, a };
|
|
}
|
|
return { h: h2, s, l: lx_1, a };
|
|
}
|
|
var lx = scale2(l, 0.5, 1, MAX_BG_LIGHTNESS, pole.l);
|
|
if (isNeutral) {
|
|
var hx_2 = pole.h;
|
|
var sx = pole.s;
|
|
return { h: hx_2, s: sx, l: lx, a };
|
|
}
|
|
var hx = h2;
|
|
var isYellow = h2 > 60 && h2 < 180;
|
|
if (isYellow) {
|
|
var isCloserToGreen = h2 > 120;
|
|
if (isCloserToGreen) {
|
|
hx = scale2(h2, 120, 180, 135, 180);
|
|
} else {
|
|
hx = scale2(h2, 60, 120, 60, 105);
|
|
}
|
|
}
|
|
return { h: hx, s, l: lx, a };
|
|
}
|
|
function modifyBackgroundColor(rgb, theme) {
|
|
if (theme.mode === 0) {
|
|
return modifyLightSchemeColor(rgb, theme);
|
|
}
|
|
var pole = getBgPole(theme);
|
|
return modifyColorWithCache(rgb, __assign(__assign({}, theme), { mode: 0 }), modifyBgHSL, pole);
|
|
}
|
|
var MIN_FG_LIGHTNESS = 0.55;
|
|
function modifyBlueFgHue(hue) {
|
|
return scale2(hue, 205, 245, 205, 220);
|
|
}
|
|
function modifyFgHSL(_a2, pole) {
|
|
var h2 = _a2.h, s = _a2.s, l = _a2.l, a = _a2.a;
|
|
var isLight = l > 0.5;
|
|
var isNeutral = l < 0.2 || s < 0.24;
|
|
var isBlue = !isNeutral && h2 > 205 && h2 < 245;
|
|
if (isLight) {
|
|
var lx_2 = scale2(l, 0.5, 1, MIN_FG_LIGHTNESS, pole.l);
|
|
if (isNeutral) {
|
|
var hx_3 = pole.h;
|
|
var sx = pole.s;
|
|
return { h: hx_3, s: sx, l: lx_2, a };
|
|
}
|
|
var hx_4 = h2;
|
|
if (isBlue) {
|
|
hx_4 = modifyBlueFgHue(h2);
|
|
}
|
|
return { h: hx_4, s, l: lx_2, a };
|
|
}
|
|
if (isNeutral) {
|
|
var hx_5 = pole.h;
|
|
var sx = pole.s;
|
|
var lx_3 = scale2(l, 0, 0.5, pole.l, MIN_FG_LIGHTNESS);
|
|
return { h: hx_5, s: sx, l: lx_3, a };
|
|
}
|
|
var hx = h2;
|
|
var lx;
|
|
if (isBlue) {
|
|
hx = modifyBlueFgHue(h2);
|
|
lx = scale2(l, 0, 0.5, pole.l, Math.min(1, MIN_FG_LIGHTNESS + 0.05));
|
|
} else {
|
|
lx = scale2(l, 0, 0.5, pole.l, MIN_FG_LIGHTNESS);
|
|
}
|
|
return { h: hx, s, l: lx, a };
|
|
}
|
|
function modifyForegroundColor(rgb, theme) {
|
|
if (theme.mode === 0) {
|
|
return modifyLightSchemeColor(rgb, theme);
|
|
}
|
|
var pole = getFgPole(theme);
|
|
return modifyColorWithCache(rgb, __assign(__assign({}, theme), { mode: 0 }), modifyFgHSL, pole);
|
|
}
|
|
function modifyBorderHSL(_a2, poleFg, poleBg) {
|
|
var h2 = _a2.h, s = _a2.s, l = _a2.l, a = _a2.a;
|
|
var isDark = l < 0.5;
|
|
var isNeutral = l < 0.2 || s < 0.24;
|
|
var hx = h2;
|
|
var sx = s;
|
|
if (isNeutral) {
|
|
if (isDark) {
|
|
hx = poleFg.h;
|
|
sx = poleFg.s;
|
|
} else {
|
|
hx = poleBg.h;
|
|
sx = poleBg.s;
|
|
}
|
|
}
|
|
var lx = scale2(l, 0, 1, 0.5, 0.2);
|
|
return { h: hx, s: sx, l: lx, a };
|
|
}
|
|
function modifyBorderColor(rgb, theme) {
|
|
if (theme.mode === 0) {
|
|
return modifyLightSchemeColor(rgb, theme);
|
|
}
|
|
var poleFg = getFgPole(theme);
|
|
var poleBg = getBgPole(theme);
|
|
return modifyColorWithCache(rgb, __assign(__assign({}, theme), { mode: 0 }), modifyBorderHSL, poleFg, poleBg);
|
|
}
|
|
function modifyShadowColor(rgb, filter2) {
|
|
return modifyBackgroundColor(rgb, filter2);
|
|
}
|
|
function modifyGradientColor(rgb, filter2) {
|
|
return modifyBackgroundColor(rgb, filter2);
|
|
}
|
|
function createTextStyle(config) {
|
|
var lines = [];
|
|
lines.push('*:not(pre, pre *, code, .far, .fa, .glyphicon, [class*="vjs-"], .fab, .fa-github, .fas, .material-icons, .icofont, .typcn, mu, [class*="mu-"], .glyphicon, .icon) {');
|
|
if (config.useFont && config.fontFamily) {
|
|
lines.push(" font-family: " + config.fontFamily + " !important;");
|
|
}
|
|
if (config.textStroke > 0) {
|
|
lines.push(" -webkit-text-stroke: " + config.textStroke + "px !important;");
|
|
lines.push(" text-stroke: " + config.textStroke + "px !important;");
|
|
}
|
|
lines.push("}");
|
|
return lines.join("\n");
|
|
}
|
|
var FilterMode;
|
|
(function(FilterMode2) {
|
|
FilterMode2[FilterMode2["light"] = 0] = "light";
|
|
FilterMode2[FilterMode2["dark"] = 1] = "dark";
|
|
})(FilterMode || (FilterMode = {}));
|
|
function getCSSFilterValue(config) {
|
|
var filters = [];
|
|
if (config.mode === FilterMode.dark) {
|
|
filters.push("invert(100%) hue-rotate(180deg)");
|
|
}
|
|
if (config.brightness !== 100) {
|
|
filters.push("brightness(" + config.brightness + "%)");
|
|
}
|
|
if (config.contrast !== 100) {
|
|
filters.push("contrast(" + config.contrast + "%)");
|
|
}
|
|
if (config.grayscale !== 0) {
|
|
filters.push("grayscale(" + config.grayscale + "%)");
|
|
}
|
|
if (config.sepia !== 0) {
|
|
filters.push("sepia(" + config.sepia + "%)");
|
|
}
|
|
if (filters.length === 0) {
|
|
return null;
|
|
}
|
|
return filters.join(" ");
|
|
}
|
|
function toSVGMatrix(matrix) {
|
|
return matrix.slice(0, 4).map(function(m) {
|
|
return m.map(function(m2) {
|
|
return m2.toFixed(3);
|
|
}).join(" ");
|
|
}).join(" ");
|
|
}
|
|
function getSVGFilterMatrixValue(config) {
|
|
return toSVGMatrix(createFilterMatrix(config));
|
|
}
|
|
var counter = 0;
|
|
var resolvers$1 = /* @__PURE__ */ new Map();
|
|
var rejectors = /* @__PURE__ */ new Map();
|
|
function bgFetch(request) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
return __generator(this, function(_a2) {
|
|
return [2, new Promise(function(resolve, reject) {
|
|
var id = ++counter;
|
|
resolvers$1.set(id, resolve);
|
|
rejectors.set(id, reject);
|
|
if (typeof chrome !== "undefined") {
|
|
chrome.runtime.sendMessage({ type: MessageType.CS_FETCH, data: request, id });
|
|
}
|
|
})];
|
|
});
|
|
});
|
|
}
|
|
if (typeof chrome !== "undefined") {
|
|
chrome.runtime.onMessage.addListener(function(_a2) {
|
|
var type4 = _a2.type, data = _a2.data, error = _a2.error, id = _a2.id;
|
|
if (type4 === MessageType.BG_FETCH_RESPONSE) {
|
|
var resolve = resolvers$1.get(id);
|
|
var reject = rejectors.get(id);
|
|
resolvers$1.delete(id);
|
|
rejectors.delete(id);
|
|
if (error) {
|
|
reject && reject(error);
|
|
} else {
|
|
resolve && resolve(data);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
var AsyncQueue = function() {
|
|
function AsyncQueue2() {
|
|
this.queue = [];
|
|
this.timerId = null;
|
|
this.frameDuration = 1e3 / 60;
|
|
}
|
|
AsyncQueue2.prototype.addToQueue = function(entry) {
|
|
this.queue.push(entry);
|
|
this.startQueue();
|
|
};
|
|
AsyncQueue2.prototype.stopQueue = function() {
|
|
if (this.timerId !== null) {
|
|
cancelAnimationFrame(this.timerId);
|
|
this.timerId = null;
|
|
}
|
|
this.queue = [];
|
|
};
|
|
AsyncQueue2.prototype.startQueue = function() {
|
|
var _this = this;
|
|
if (this.timerId) {
|
|
return;
|
|
}
|
|
this.timerId = requestAnimationFrame(function() {
|
|
_this.timerId = null;
|
|
var start = Date.now();
|
|
var cb;
|
|
while (cb = _this.queue.shift()) {
|
|
cb();
|
|
if (Date.now() - start >= _this.frameDuration) {
|
|
_this.startQueue();
|
|
break;
|
|
}
|
|
}
|
|
});
|
|
};
|
|
return AsyncQueue2;
|
|
}();
|
|
var imageManager = new AsyncQueue();
|
|
function getImageDetails(url2) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var _this = this;
|
|
return __generator(this, function(_a2) {
|
|
return [2, new Promise(function(resolve, reject) {
|
|
return __awaiter(_this, void 0, void 0, function() {
|
|
var dataURL, error_1, image_1, error_2;
|
|
return __generator(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
if (!url2.startsWith("data:"))
|
|
return [3, 1];
|
|
dataURL = url2;
|
|
return [3, 4];
|
|
case 1:
|
|
_a3.trys.push([1, 3, , 4]);
|
|
return [4, getImageDataURL(url2)];
|
|
case 2:
|
|
dataURL = _a3.sent();
|
|
return [3, 4];
|
|
case 3:
|
|
error_1 = _a3.sent();
|
|
reject(error_1);
|
|
return [2];
|
|
case 4:
|
|
_a3.trys.push([4, 6, , 7]);
|
|
return [4, urlToImage(dataURL)];
|
|
case 5:
|
|
image_1 = _a3.sent();
|
|
imageManager.addToQueue(function() {
|
|
resolve(__assign({ src: url2, dataURL, width: image_1.naturalWidth, height: image_1.naturalHeight }, analyzeImage(image_1)));
|
|
});
|
|
return [3, 7];
|
|
case 6:
|
|
error_2 = _a3.sent();
|
|
reject(error_2);
|
|
return [3, 7];
|
|
case 7:
|
|
return [2];
|
|
}
|
|
});
|
|
});
|
|
})];
|
|
});
|
|
});
|
|
}
|
|
function getImageDataURL(url2) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var parsedURL;
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
parsedURL = new URL(url2);
|
|
if (!(parsedURL.origin === location.origin))
|
|
return [3, 2];
|
|
return [4, loadAsDataURL(url2)];
|
|
case 1:
|
|
return [2, _a2.sent()];
|
|
case 2:
|
|
return [4, bgFetch({ url: url2, responseType: "data-url" })];
|
|
case 3:
|
|
return [2, _a2.sent()];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function urlToImage(url2) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
return __generator(this, function(_a2) {
|
|
return [2, new Promise(function(resolve, reject) {
|
|
var image = new Image();
|
|
image.onload = function() {
|
|
return resolve(image);
|
|
};
|
|
image.onerror = function() {
|
|
return reject("Unable to load image " + url2);
|
|
};
|
|
image.src = url2;
|
|
})];
|
|
});
|
|
});
|
|
}
|
|
var MAX_ANALIZE_PIXELS_COUNT = 32 * 32;
|
|
var canvas;
|
|
var context;
|
|
function createCanvas() {
|
|
var maxWidth = MAX_ANALIZE_PIXELS_COUNT;
|
|
var maxHeight = MAX_ANALIZE_PIXELS_COUNT;
|
|
canvas = document.createElement("canvas");
|
|
canvas.width = maxWidth;
|
|
canvas.height = maxHeight;
|
|
context = canvas.getContext("2d");
|
|
context.imageSmoothingEnabled = false;
|
|
}
|
|
function removeCanvas() {
|
|
canvas = null;
|
|
context = null;
|
|
}
|
|
var MAX_IMAGE_SIZE = 5 * 1024 * 1024;
|
|
function analyzeImage(image) {
|
|
if (!canvas) {
|
|
createCanvas();
|
|
}
|
|
var naturalWidth = image.naturalWidth, naturalHeight = image.naturalHeight;
|
|
if (naturalHeight === 0 || naturalWidth === 0) {
|
|
logWarn("logWarn(Image is empty " + image.currentSrc + ")");
|
|
return null;
|
|
}
|
|
var size = naturalWidth * naturalHeight * 4;
|
|
if (size > MAX_IMAGE_SIZE) {
|
|
return {
|
|
isDark: false,
|
|
isLight: false,
|
|
isTransparent: false,
|
|
isLarge: false,
|
|
isTooLarge: true
|
|
};
|
|
}
|
|
var naturalPixelsCount = naturalWidth * naturalHeight;
|
|
var k = Math.min(1, Math.sqrt(MAX_ANALIZE_PIXELS_COUNT / naturalPixelsCount));
|
|
var width = Math.ceil(naturalWidth * k);
|
|
var height = Math.ceil(naturalHeight * k);
|
|
context.clearRect(0, 0, width, height);
|
|
context.drawImage(image, 0, 0, naturalWidth, naturalHeight, 0, 0, width, height);
|
|
var imageData = context.getImageData(0, 0, width, height);
|
|
var d = imageData.data;
|
|
var TRANSPARENT_ALPHA_THRESHOLD = 0.05;
|
|
var DARK_LIGHTNESS_THRESHOLD = 0.4;
|
|
var LIGHT_LIGHTNESS_THRESHOLD = 0.7;
|
|
var transparentPixelsCount = 0;
|
|
var darkPixelsCount = 0;
|
|
var lightPixelsCount = 0;
|
|
var i, x, y;
|
|
var r, g, b, a;
|
|
var l;
|
|
for (y = 0; y < height; y++) {
|
|
for (x = 0; x < width; x++) {
|
|
i = 4 * (y * width + x);
|
|
r = d[i + 0] / 255;
|
|
g = d[i + 1] / 255;
|
|
b = d[i + 2] / 255;
|
|
a = d[i + 3] / 255;
|
|
if (a < TRANSPARENT_ALPHA_THRESHOLD) {
|
|
transparentPixelsCount++;
|
|
} else {
|
|
l = 0.2126 * r + 0.7152 * g + 0.0722 * b;
|
|
if (l < DARK_LIGHTNESS_THRESHOLD) {
|
|
darkPixelsCount++;
|
|
}
|
|
if (l > LIGHT_LIGHTNESS_THRESHOLD) {
|
|
lightPixelsCount++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
var totalPixelsCount = width * height;
|
|
var opaquePixelsCount = totalPixelsCount - transparentPixelsCount;
|
|
var DARK_IMAGE_THRESHOLD = 0.7;
|
|
var LIGHT_IMAGE_THRESHOLD = 0.7;
|
|
var TRANSPARENT_IMAGE_THRESHOLD = 0.1;
|
|
var LARGE_IMAGE_PIXELS_COUNT = 800 * 600;
|
|
return {
|
|
isDark: darkPixelsCount / opaquePixelsCount >= DARK_IMAGE_THRESHOLD,
|
|
isLight: lightPixelsCount / opaquePixelsCount >= LIGHT_IMAGE_THRESHOLD,
|
|
isTransparent: transparentPixelsCount / totalPixelsCount >= TRANSPARENT_IMAGE_THRESHOLD,
|
|
isLarge: naturalPixelsCount >= LARGE_IMAGE_PIXELS_COUNT,
|
|
isTooLarge: false
|
|
};
|
|
}
|
|
function getFilteredImageDataURL(_a2, theme) {
|
|
var dataURL = _a2.dataURL, width = _a2.width, height = _a2.height;
|
|
var matrix = getSVGFilterMatrixValue(theme);
|
|
var svg = [
|
|
'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="' + width + '" height="' + height + '">',
|
|
"<defs>",
|
|
'<filter id="darkreader-image-filter">',
|
|
'<feColorMatrix type="matrix" values="' + matrix + '" />',
|
|
"</filter>",
|
|
"</defs>",
|
|
'<image width="' + width + '" height="' + height + '" filter="url(#darkreader-image-filter)" xlink:href="' + dataURL + '" />',
|
|
"</svg>"
|
|
].join("");
|
|
return "data:image/svg+xml;base64," + btoa(svg);
|
|
}
|
|
function cleanImageProcessingCache() {
|
|
imageManager && imageManager.stopQueue();
|
|
removeCanvas();
|
|
}
|
|
function getPriority(ruleStyle, property) {
|
|
return Boolean(ruleStyle && ruleStyle.getPropertyPriority(property));
|
|
}
|
|
function getModifiableCSSDeclaration(property, value, rule, variablesStore2, ignoreImageSelectors, isCancelled) {
|
|
if (property.startsWith("--")) {
|
|
var modifier = getVariableModifier(variablesStore2, property, value, rule, ignoreImageSelectors, isCancelled);
|
|
if (modifier) {
|
|
return { property, value: modifier, important: getPriority(rule.style, property), sourceValue: value };
|
|
}
|
|
} else if (value.includes("var(")) {
|
|
var modifier = getVariableDependantModifier(variablesStore2, property, value);
|
|
if (modifier) {
|
|
return { property, value: modifier, important: getPriority(rule.style, property), sourceValue: value };
|
|
}
|
|
} else if (property.includes("color") && property !== "-webkit-print-color-adjust" || property === "fill" || property === "stroke" || property === "stop-color") {
|
|
var modifier = getColorModifier(property, value);
|
|
if (modifier) {
|
|
return { property, value: modifier, important: getPriority(rule.style, property), sourceValue: value };
|
|
}
|
|
} else if (property === "background-image" || property === "list-style-image") {
|
|
var modifier = getBgImageModifier(value, rule, ignoreImageSelectors, isCancelled);
|
|
if (modifier) {
|
|
return { property, value: modifier, important: getPriority(rule.style, property), sourceValue: value };
|
|
}
|
|
} else if (property.includes("shadow")) {
|
|
var modifier = getShadowModifier(value);
|
|
if (modifier) {
|
|
return { property, value: modifier, important: getPriority(rule.style, property), sourceValue: value };
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
function getModifiedUserAgentStyle(theme, isIFrame2, styleSystemControls) {
|
|
var lines = [];
|
|
if (!isIFrame2) {
|
|
lines.push("html {");
|
|
lines.push(" background-color: " + modifyBackgroundColor({ r: 255, g: 255, b: 255 }, theme) + " !important;");
|
|
lines.push("}");
|
|
}
|
|
lines.push((isIFrame2 ? "" : "html, body, ") + (styleSystemControls ? "input, textarea, select, button" : "") + " {");
|
|
lines.push(" background-color: " + modifyBackgroundColor({ r: 255, g: 255, b: 255 }, theme) + ";");
|
|
lines.push("}");
|
|
lines.push("html, body, " + (styleSystemControls ? "input, textarea, select, button" : "") + " {");
|
|
lines.push(" border-color: " + modifyBorderColor({ r: 76, g: 76, b: 76 }, theme) + ";");
|
|
lines.push(" color: " + modifyForegroundColor({ r: 0, g: 0, b: 0 }, theme) + ";");
|
|
lines.push("}");
|
|
lines.push("a {");
|
|
lines.push(" color: " + modifyForegroundColor({ r: 0, g: 64, b: 255 }, theme) + ";");
|
|
lines.push("}");
|
|
lines.push("table {");
|
|
lines.push(" border-color: " + modifyBorderColor({ r: 128, g: 128, b: 128 }, theme) + ";");
|
|
lines.push("}");
|
|
lines.push("::placeholder {");
|
|
lines.push(" color: " + modifyForegroundColor({ r: 169, g: 169, b: 169 }, theme) + ";");
|
|
lines.push("}");
|
|
lines.push("input:-webkit-autofill,");
|
|
lines.push("textarea:-webkit-autofill,");
|
|
lines.push("select:-webkit-autofill {");
|
|
lines.push(" background-color: " + modifyBackgroundColor({ r: 250, g: 255, b: 189 }, theme) + " !important;");
|
|
lines.push(" color: " + modifyForegroundColor({ r: 0, g: 0, b: 0 }, theme) + " !important;");
|
|
lines.push("}");
|
|
if (theme.scrollbarColor) {
|
|
lines.push(getModifiedScrollbarStyle(theme));
|
|
}
|
|
if (theme.selectionColor) {
|
|
lines.push(getModifiedSelectionStyle(theme));
|
|
}
|
|
return lines.join("\n");
|
|
}
|
|
function getSelectionColor(theme) {
|
|
var backgroundColorSelection;
|
|
var foregroundColorSelection;
|
|
if (theme.selectionColor === "auto") {
|
|
backgroundColorSelection = modifyBackgroundColor({ r: 0, g: 96, b: 212 }, __assign(__assign({}, theme), { grayscale: 0 }));
|
|
foregroundColorSelection = modifyForegroundColor({ r: 255, g: 255, b: 255 }, __assign(__assign({}, theme), { grayscale: 0 }));
|
|
} else {
|
|
var rgb = parse2(theme.selectionColor);
|
|
var hsl = rgbToHSL(rgb);
|
|
backgroundColorSelection = theme.selectionColor;
|
|
if (hsl.l < 0.5) {
|
|
foregroundColorSelection = "#FFF";
|
|
} else {
|
|
foregroundColorSelection = "#000";
|
|
}
|
|
}
|
|
return { backgroundColorSelection, foregroundColorSelection };
|
|
}
|
|
function getModifiedSelectionStyle(theme) {
|
|
var lines = [];
|
|
var modifiedSelectionColor = getSelectionColor(theme);
|
|
var backgroundColorSelection = modifiedSelectionColor.backgroundColorSelection;
|
|
var foregroundColorSelection = modifiedSelectionColor.foregroundColorSelection;
|
|
["::selection", "::-moz-selection"].forEach(function(selection) {
|
|
lines.push(selection + " {");
|
|
lines.push(" background-color: " + backgroundColorSelection + " !important;");
|
|
lines.push(" color: " + foregroundColorSelection + " !important;");
|
|
lines.push("}");
|
|
});
|
|
return lines.join("\n");
|
|
}
|
|
function getModifiedScrollbarStyle(theme) {
|
|
var lines = [];
|
|
var colorTrack;
|
|
var colorIcons;
|
|
var colorThumb;
|
|
var colorThumbHover;
|
|
var colorThumbActive;
|
|
var colorCorner;
|
|
if (theme.scrollbarColor === "auto") {
|
|
colorTrack = modifyBackgroundColor({ r: 241, g: 241, b: 241 }, theme);
|
|
colorIcons = modifyForegroundColor({ r: 96, g: 96, b: 96 }, theme);
|
|
colorThumb = modifyBackgroundColor({ r: 176, g: 176, b: 176 }, theme);
|
|
colorThumbHover = modifyBackgroundColor({ r: 144, g: 144, b: 144 }, theme);
|
|
colorThumbActive = modifyBackgroundColor({ r: 96, g: 96, b: 96 }, theme);
|
|
colorCorner = modifyBackgroundColor({ r: 255, g: 255, b: 255 }, theme);
|
|
} else {
|
|
var rgb = parse2(theme.scrollbarColor);
|
|
var hsl_1 = rgbToHSL(rgb);
|
|
var isLight = hsl_1.l > 0.5;
|
|
var lighten = function(lighter) {
|
|
return __assign(__assign({}, hsl_1), { l: clamp2(hsl_1.l + lighter, 0, 1) });
|
|
};
|
|
var darken = function(darker) {
|
|
return __assign(__assign({}, hsl_1), { l: clamp2(hsl_1.l - darker, 0, 1) });
|
|
};
|
|
colorTrack = hslToString(darken(0.4));
|
|
colorIcons = hslToString(isLight ? darken(0.4) : lighten(0.4));
|
|
colorThumb = hslToString(hsl_1);
|
|
colorThumbHover = hslToString(lighten(0.1));
|
|
colorThumbActive = hslToString(lighten(0.2));
|
|
}
|
|
lines.push("::-webkit-scrollbar {");
|
|
lines.push(" background-color: " + colorTrack + ";");
|
|
lines.push(" color: " + colorIcons + ";");
|
|
lines.push("}");
|
|
lines.push("::-webkit-scrollbar-thumb {");
|
|
lines.push(" background-color: " + colorThumb + ";");
|
|
lines.push("}");
|
|
lines.push("::-webkit-scrollbar-thumb:hover {");
|
|
lines.push(" background-color: " + colorThumbHover + ";");
|
|
lines.push("}");
|
|
lines.push("::-webkit-scrollbar-thumb:active {");
|
|
lines.push(" background-color: " + colorThumbActive + ";");
|
|
lines.push("}");
|
|
lines.push("::-webkit-scrollbar-corner {");
|
|
lines.push(" background-color: " + colorCorner + ";");
|
|
lines.push("}");
|
|
if (isFirefox) {
|
|
lines.push("* {");
|
|
lines.push(" scrollbar-color: " + colorThumb + " " + colorTrack + ";");
|
|
lines.push("}");
|
|
}
|
|
return lines.join("\n");
|
|
}
|
|
function getModifiedFallbackStyle(filter2, _a2) {
|
|
var strict = _a2.strict;
|
|
var lines = [];
|
|
var isMicrosoft = location.hostname.endsWith("microsoft.com");
|
|
lines.push("html, body, " + (strict ? "body :not(iframe)" + (isMicrosoft ? ':not(div[style^="position:absolute;top:0;left:-"]' : "") : "body > :not(iframe)") + " {");
|
|
lines.push(" background-color: " + modifyBackgroundColor({ r: 255, g: 255, b: 255 }, filter2) + " !important;");
|
|
lines.push(" border-color: " + modifyBorderColor({ r: 64, g: 64, b: 64 }, filter2) + " !important;");
|
|
lines.push(" color: " + modifyForegroundColor({ r: 0, g: 0, b: 0 }, filter2) + " !important;");
|
|
lines.push("}");
|
|
return lines.join("\n");
|
|
}
|
|
var unparsableColors = /* @__PURE__ */ new Set([
|
|
"inherit",
|
|
"transparent",
|
|
"initial",
|
|
"currentcolor",
|
|
"none",
|
|
"unset"
|
|
]);
|
|
var colorParseCache = /* @__PURE__ */ new Map();
|
|
function parseColorWithCache($color) {
|
|
$color = $color.trim();
|
|
if (colorParseCache.has($color)) {
|
|
return colorParseCache.get($color);
|
|
}
|
|
if ($color.includes("calc(")) {
|
|
$color = lowerCalcExpression($color);
|
|
}
|
|
var color = parse2($color);
|
|
colorParseCache.set($color, color);
|
|
return color;
|
|
}
|
|
function tryParseColor($color) {
|
|
try {
|
|
return parseColorWithCache($color);
|
|
} catch (err) {
|
|
return null;
|
|
}
|
|
}
|
|
function getColorModifier(prop, value) {
|
|
if (unparsableColors.has(value.toLowerCase())) {
|
|
return value;
|
|
}
|
|
try {
|
|
var rgb_1 = parseColorWithCache(value);
|
|
if (prop.includes("background")) {
|
|
return function(filter2) {
|
|
return modifyBackgroundColor(rgb_1, filter2);
|
|
};
|
|
}
|
|
if (prop.includes("border") || prop.includes("outline")) {
|
|
return function(filter2) {
|
|
return modifyBorderColor(rgb_1, filter2);
|
|
};
|
|
}
|
|
return function(filter2) {
|
|
return modifyForegroundColor(rgb_1, filter2);
|
|
};
|
|
} catch (err) {
|
|
return null;
|
|
}
|
|
}
|
|
var gradientRegex = /[\-a-z]+gradient\(([^\(\)]*(\(([^\(\)]*(\(.*?\)))*[^\(\)]*\))){0,15}[^\(\)]*\)/g;
|
|
var imageDetailsCache = /* @__PURE__ */ new Map();
|
|
var awaitingForImageLoading = /* @__PURE__ */ new Map();
|
|
function shouldIgnoreImage(selectorText, selectors) {
|
|
if (!selectorText || selectors.length === 0) {
|
|
return false;
|
|
}
|
|
if (selectors.some(function(s) {
|
|
return s === "*";
|
|
})) {
|
|
return true;
|
|
}
|
|
var ruleSelectors = selectorText.split(/,\s*/g);
|
|
var _loop_1 = function(i2) {
|
|
var ignoredSelector = selectors[i2];
|
|
if (ruleSelectors.some(function(s) {
|
|
return s === ignoredSelector;
|
|
})) {
|
|
return { value: true };
|
|
}
|
|
};
|
|
for (var i = 0; i < selectors.length; i++) {
|
|
var state_1 = _loop_1(i);
|
|
if (typeof state_1 === "object")
|
|
return state_1.value;
|
|
}
|
|
return false;
|
|
}
|
|
function getBgImageModifier(value, rule, ignoreImageSelectors, isCancelled) {
|
|
var _this = this;
|
|
try {
|
|
var gradients = getMatches(gradientRegex, value);
|
|
var urls = getMatches(cssURLRegex, value);
|
|
if (urls.length === 0 && gradients.length === 0) {
|
|
return value;
|
|
}
|
|
var getIndices = function(matches) {
|
|
var index2 = 0;
|
|
return matches.map(function(match) {
|
|
var valueIndex = value.indexOf(match, index2);
|
|
index2 = valueIndex + match.length;
|
|
return { match, index: valueIndex };
|
|
});
|
|
};
|
|
var matches_1 = getIndices(urls).map(function(i) {
|
|
return __assign({ type: "url" }, i);
|
|
}).concat(getIndices(gradients).map(function(i) {
|
|
return __assign({ type: "gradient" }, i);
|
|
})).sort(function(a, b) {
|
|
return a.index - b.index;
|
|
});
|
|
var getGradientModifier_1 = function(gradient) {
|
|
var match = gradient.match(/^(.*-gradient)\((.*)\)$/);
|
|
var type4 = match[1];
|
|
var content = match[2];
|
|
var partsRegex = /([^\(\),]+(\([^\(\)]*(\([^\(\)]*\)*[^\(\)]*)?\))?[^\(\),]*),?/g;
|
|
var colorStopRegex = /^(from|color-stop|to)\(([^\(\)]*?,\s*)?(.*?)\)$/;
|
|
var parts = getMatches(partsRegex, content, 1).map(function(part) {
|
|
part = part.trim();
|
|
var rgb = tryParseColor(part);
|
|
if (rgb) {
|
|
return function(filter2) {
|
|
return modifyGradientColor(rgb, filter2);
|
|
};
|
|
}
|
|
var space = part.lastIndexOf(" ");
|
|
rgb = tryParseColor(part.substring(0, space));
|
|
if (rgb) {
|
|
return function(filter2) {
|
|
return modifyGradientColor(rgb, filter2) + " " + part.substring(space + 1);
|
|
};
|
|
}
|
|
var colorStopMatch = part.match(colorStopRegex);
|
|
if (colorStopMatch) {
|
|
rgb = tryParseColor(colorStopMatch[3]);
|
|
if (rgb) {
|
|
return function(filter2) {
|
|
return colorStopMatch[1] + "(" + (colorStopMatch[2] ? colorStopMatch[2] + ", " : "") + modifyGradientColor(rgb, filter2) + ")";
|
|
};
|
|
}
|
|
}
|
|
return function() {
|
|
return part;
|
|
};
|
|
});
|
|
return function(filter2) {
|
|
return type4 + "(" + parts.map(function(modify) {
|
|
return modify(filter2);
|
|
}).join(", ") + ")";
|
|
};
|
|
};
|
|
var getURLModifier_1 = function(urlValue) {
|
|
var _a2;
|
|
if (shouldIgnoreImage(rule.selectorText, ignoreImageSelectors)) {
|
|
return null;
|
|
}
|
|
var url2 = getCSSURLValue(urlValue);
|
|
var parentStyleSheet = rule.parentStyleSheet;
|
|
var baseURL = parentStyleSheet && parentStyleSheet.href ? getCSSBaseBath(parentStyleSheet.href) : ((_a2 = parentStyleSheet.ownerNode) === null || _a2 === void 0 ? void 0 : _a2.baseURI) || location.origin;
|
|
url2 = getAbsoluteURL(baseURL, url2);
|
|
var absoluteValue = 'url("' + url2 + '")';
|
|
return function(filter2) {
|
|
return __awaiter(_this, void 0, void 0, function() {
|
|
var imageDetails, awaiters_1, err_1, bgImageValue;
|
|
return __generator(this, function(_a3) {
|
|
switch (_a3.label) {
|
|
case 0:
|
|
if (!imageDetailsCache.has(url2))
|
|
return [3, 1];
|
|
imageDetails = imageDetailsCache.get(url2);
|
|
return [3, 7];
|
|
case 1:
|
|
_a3.trys.push([1, 6, , 7]);
|
|
if (!awaitingForImageLoading.has(url2))
|
|
return [3, 3];
|
|
awaiters_1 = awaitingForImageLoading.get(url2);
|
|
return [4, new Promise(function(resolve) {
|
|
return awaiters_1.push(resolve);
|
|
})];
|
|
case 2:
|
|
imageDetails = _a3.sent();
|
|
if (!imageDetails) {
|
|
return [2, null];
|
|
}
|
|
return [3, 5];
|
|
case 3:
|
|
awaitingForImageLoading.set(url2, []);
|
|
return [4, getImageDetails(url2)];
|
|
case 4:
|
|
imageDetails = _a3.sent();
|
|
imageDetailsCache.set(url2, imageDetails);
|
|
awaitingForImageLoading.get(url2).forEach(function(resolve) {
|
|
return resolve(imageDetails);
|
|
});
|
|
awaitingForImageLoading.delete(url2);
|
|
_a3.label = 5;
|
|
case 5:
|
|
if (isCancelled()) {
|
|
return [2, null];
|
|
}
|
|
return [3, 7];
|
|
case 6:
|
|
err_1 = _a3.sent();
|
|
logWarn(err_1);
|
|
if (awaitingForImageLoading.has(url2)) {
|
|
awaitingForImageLoading.get(url2).forEach(function(resolve) {
|
|
return resolve(null);
|
|
});
|
|
awaitingForImageLoading.delete(url2);
|
|
}
|
|
return [2, absoluteValue];
|
|
case 7:
|
|
bgImageValue = getBgImageValue_1(imageDetails, filter2) || absoluteValue;
|
|
return [2, bgImageValue];
|
|
}
|
|
});
|
|
});
|
|
};
|
|
};
|
|
var getBgImageValue_1 = function(imageDetails, filter2) {
|
|
var isDark = imageDetails.isDark, isLight = imageDetails.isLight, isTransparent = imageDetails.isTransparent, isLarge = imageDetails.isLarge, isTooLarge = imageDetails.isTooLarge, width = imageDetails.width;
|
|
var result;
|
|
if (isTooLarge) {
|
|
result = 'url("' + imageDetails.src + '")';
|
|
} else if (isDark && isTransparent && filter2.mode === 1 && !isLarge && width > 2) {
|
|
logInfo("Inverting dark image " + imageDetails.src);
|
|
var inverted = getFilteredImageDataURL(imageDetails, __assign(__assign({}, filter2), { sepia: clamp2(filter2.sepia + 10, 0, 100) }));
|
|
result = 'url("' + inverted + '")';
|
|
} else if (isLight && !isTransparent && filter2.mode === 1) {
|
|
if (isLarge) {
|
|
result = "none";
|
|
} else {
|
|
logInfo("Dimming light image " + imageDetails.src);
|
|
var dimmed = getFilteredImageDataURL(imageDetails, filter2);
|
|
result = 'url("' + dimmed + '")';
|
|
}
|
|
} else if (filter2.mode === 0 && isLight && !isLarge) {
|
|
logInfo("Applying filter to image " + imageDetails.src);
|
|
var filtered = getFilteredImageDataURL(imageDetails, __assign(__assign({}, filter2), { brightness: clamp2(filter2.brightness - 10, 5, 200), sepia: clamp2(filter2.sepia + 10, 0, 100) }));
|
|
result = 'url("' + filtered + '")';
|
|
} else {
|
|
result = null;
|
|
}
|
|
return result;
|
|
};
|
|
var modifiers_1 = [];
|
|
var index_1 = 0;
|
|
matches_1.forEach(function(_a2, i) {
|
|
var match = _a2.match, type4 = _a2.type, matchStart = _a2.index;
|
|
var prefixStart = index_1;
|
|
var matchEnd = matchStart + match.length;
|
|
index_1 = matchEnd;
|
|
modifiers_1.push(function() {
|
|
return value.substring(prefixStart, matchStart);
|
|
});
|
|
modifiers_1.push(type4 === "url" ? getURLModifier_1(match) : getGradientModifier_1(match));
|
|
if (i === matches_1.length - 1) {
|
|
modifiers_1.push(function() {
|
|
return value.substring(matchEnd);
|
|
});
|
|
}
|
|
});
|
|
return function(filter2) {
|
|
var results = modifiers_1.filter(Boolean).map(function(modify) {
|
|
return modify(filter2);
|
|
});
|
|
if (results.some(function(r) {
|
|
return r instanceof Promise;
|
|
})) {
|
|
return Promise.all(results).then(function(asyncResults) {
|
|
return asyncResults.join("");
|
|
});
|
|
}
|
|
return results.join("");
|
|
};
|
|
} catch (err) {
|
|
return null;
|
|
}
|
|
}
|
|
function getShadowModifierWithInfo(value) {
|
|
try {
|
|
var index_2 = 0;
|
|
var colorMatches_1 = getMatches(/(^|\s)(?!calc)([a-z]+\(.+?\)|#[0-9a-f]+|[a-z]+)(.*?(inset|outset)?($|,))/ig, value, 2);
|
|
var notParsed_1 = 0;
|
|
var modifiers_2 = colorMatches_1.map(function(match, i) {
|
|
var prefixIndex = index_2;
|
|
var matchIndex = value.indexOf(match, index_2);
|
|
var matchEnd = matchIndex + match.length;
|
|
index_2 = matchEnd;
|
|
var rgb = tryParseColor(match);
|
|
if (!rgb) {
|
|
notParsed_1++;
|
|
return function() {
|
|
return value.substring(prefixIndex, matchEnd);
|
|
};
|
|
}
|
|
return function(filter2) {
|
|
return "" + value.substring(prefixIndex, matchIndex) + modifyShadowColor(rgb, filter2) + (i === colorMatches_1.length - 1 ? value.substring(matchEnd) : "");
|
|
};
|
|
});
|
|
return function(filter2) {
|
|
var modified = modifiers_2.map(function(modify) {
|
|
return modify(filter2);
|
|
}).join("");
|
|
return {
|
|
matchesLength: colorMatches_1.length,
|
|
unparseableMatchesLength: notParsed_1,
|
|
result: modified
|
|
};
|
|
};
|
|
} catch (err) {
|
|
return null;
|
|
}
|
|
}
|
|
function getShadowModifier(value) {
|
|
var shadowModifier = getShadowModifierWithInfo(value);
|
|
if (!shadowModifier) {
|
|
return null;
|
|
}
|
|
return function(theme) {
|
|
return shadowModifier(theme).result;
|
|
};
|
|
}
|
|
function getVariableModifier(variablesStore2, prop, value, rule, ignoredImgSelectors, isCancelled) {
|
|
return variablesStore2.getModifierForVariable({
|
|
varName: prop,
|
|
sourceValue: value,
|
|
rule,
|
|
ignoredImgSelectors,
|
|
isCancelled
|
|
});
|
|
}
|
|
function getVariableDependantModifier(variablesStore2, prop, value) {
|
|
return variablesStore2.getModifierForVarDependant(prop, value);
|
|
}
|
|
function cleanModificationCache() {
|
|
colorParseCache.clear();
|
|
clearColorModificationCache();
|
|
imageDetailsCache.clear();
|
|
cleanImageProcessingCache();
|
|
awaitingForImageLoading.clear();
|
|
}
|
|
var VAR_TYPE_BGCOLOR = 1 << 0;
|
|
var VAR_TYPE_TEXTCOLOR = 1 << 1;
|
|
var VAR_TYPE_BORDERCOLOR = 1 << 2;
|
|
var VAR_TYPE_BGIMG = 1 << 3;
|
|
var VariablesStore = function() {
|
|
function VariablesStore2() {
|
|
this.varTypes = /* @__PURE__ */ new Map();
|
|
this.rulesQueue = [];
|
|
this.definedVars = /* @__PURE__ */ new Set();
|
|
this.varRefs = /* @__PURE__ */ new Map();
|
|
this.unknownColorVars = /* @__PURE__ */ new Set();
|
|
this.unknownBgVars = /* @__PURE__ */ new Set();
|
|
this.undefinedVars = /* @__PURE__ */ new Set();
|
|
this.initialVarTypes = /* @__PURE__ */ new Map();
|
|
this.changedTypeVars = /* @__PURE__ */ new Set();
|
|
this.typeChangeSubscriptions = /* @__PURE__ */ new Map();
|
|
this.unstableVarValues = /* @__PURE__ */ new Map();
|
|
}
|
|
VariablesStore2.prototype.clear = function() {
|
|
this.varTypes.clear();
|
|
this.rulesQueue.splice(0);
|
|
this.definedVars.clear();
|
|
this.varRefs.clear();
|
|
this.unknownColorVars.clear();
|
|
this.unknownBgVars.clear();
|
|
this.undefinedVars.clear();
|
|
this.initialVarTypes.clear();
|
|
this.changedTypeVars.clear();
|
|
this.typeChangeSubscriptions.clear();
|
|
this.unstableVarValues.clear();
|
|
};
|
|
VariablesStore2.prototype.isVarType = function(varName, typeNum) {
|
|
return this.varTypes.has(varName) && (this.varTypes.get(varName) & typeNum) > 0;
|
|
};
|
|
VariablesStore2.prototype.addRulesForMatching = function(rules2) {
|
|
this.rulesQueue.push(rules2);
|
|
};
|
|
VariablesStore2.prototype.matchVariablesAndDependants = function() {
|
|
var _this = this;
|
|
this.changedTypeVars.clear();
|
|
this.initialVarTypes = new Map(this.varTypes);
|
|
this.collectRootVariables();
|
|
this.collectVariablesAndVarDep(this.rulesQueue);
|
|
this.rulesQueue.splice(0);
|
|
this.collectRootVarDependants();
|
|
this.varRefs.forEach(function(refs, v) {
|
|
refs.forEach(function(r) {
|
|
if (_this.varTypes.has(v)) {
|
|
_this.resolveVariableType(r, _this.varTypes.get(v));
|
|
}
|
|
});
|
|
});
|
|
this.unknownColorVars.forEach(function(v) {
|
|
if (_this.unknownBgVars.has(v)) {
|
|
_this.unknownColorVars.delete(v);
|
|
_this.unknownBgVars.delete(v);
|
|
_this.resolveVariableType(v, VAR_TYPE_BGCOLOR);
|
|
} else if (_this.isVarType(v, VAR_TYPE_BGCOLOR | VAR_TYPE_TEXTCOLOR | VAR_TYPE_BORDERCOLOR)) {
|
|
_this.unknownColorVars.delete(v);
|
|
} else {
|
|
_this.undefinedVars.add(v);
|
|
}
|
|
});
|
|
this.unknownBgVars.forEach(function(v) {
|
|
var hasColor = _this.findVarRef(v, function(ref2) {
|
|
return _this.unknownColorVars.has(ref2) || _this.isVarType(ref2, VAR_TYPE_TEXTCOLOR | VAR_TYPE_BORDERCOLOR);
|
|
}) != null;
|
|
if (hasColor) {
|
|
_this.itarateVarRefs(v, function(ref2) {
|
|
_this.resolveVariableType(ref2, VAR_TYPE_BGCOLOR);
|
|
});
|
|
} else if (_this.isVarType(v, VAR_TYPE_BGCOLOR | VAR_TYPE_BGIMG)) {
|
|
_this.unknownBgVars.delete(v);
|
|
} else {
|
|
_this.undefinedVars.add(v);
|
|
}
|
|
});
|
|
this.changedTypeVars.forEach(function(varName) {
|
|
if (_this.typeChangeSubscriptions.has(varName)) {
|
|
_this.typeChangeSubscriptions.get(varName).forEach(function(callback) {
|
|
callback();
|
|
});
|
|
}
|
|
});
|
|
this.changedTypeVars.clear();
|
|
};
|
|
VariablesStore2.prototype.getModifierForVariable = function(options) {
|
|
var _this = this;
|
|
return function(theme) {
|
|
var varName = options.varName, sourceValue = options.sourceValue, rule = options.rule, ignoredImgSelectors = options.ignoredImgSelectors, isCancelled = options.isCancelled;
|
|
var getDeclarations = function() {
|
|
var declarations = [];
|
|
var addModifiedValue = function(typeNum, varNameWrapper, colorModifier) {
|
|
if (!_this.isVarType(varName, typeNum)) {
|
|
return;
|
|
}
|
|
var property2 = varNameWrapper(varName);
|
|
var modifiedValue2;
|
|
if (isVarDependant(sourceValue)) {
|
|
if (isConstructedColorVar(sourceValue)) {
|
|
var value = insertVarValues(sourceValue, _this.unstableVarValues);
|
|
if (!value) {
|
|
value = typeNum === VAR_TYPE_BGCOLOR ? "#ffffff" : "#000000";
|
|
}
|
|
modifiedValue2 = colorModifier(value, theme);
|
|
} else {
|
|
modifiedValue2 = replaceCSSVariablesNames(sourceValue, function(v) {
|
|
return varNameWrapper(v);
|
|
}, function(fallback) {
|
|
return colorModifier(fallback, theme);
|
|
});
|
|
}
|
|
} else {
|
|
modifiedValue2 = colorModifier(sourceValue, theme);
|
|
}
|
|
declarations.push({
|
|
property: property2,
|
|
value: modifiedValue2
|
|
});
|
|
};
|
|
addModifiedValue(VAR_TYPE_BGCOLOR, wrapBgColorVariableName, tryModifyBgColor);
|
|
addModifiedValue(VAR_TYPE_TEXTCOLOR, wrapTextColorVariableName, tryModifyTextColor);
|
|
addModifiedValue(VAR_TYPE_BORDERCOLOR, wrapBorderColorVariableName, tryModifyBorderColor);
|
|
if (_this.isVarType(varName, VAR_TYPE_BGIMG)) {
|
|
var property = wrapBgImgVariableName(varName);
|
|
var modifiedValue = sourceValue;
|
|
if (isVarDependant(sourceValue)) {
|
|
modifiedValue = replaceCSSVariablesNames(sourceValue, function(v) {
|
|
return wrapBgColorVariableName(v);
|
|
}, function(fallback) {
|
|
return tryModifyBgColor(fallback, theme);
|
|
});
|
|
}
|
|
var bgModifier = getBgImageModifier(modifiedValue, rule, ignoredImgSelectors, isCancelled);
|
|
modifiedValue = typeof bgModifier === "function" ? bgModifier(theme) : bgModifier;
|
|
declarations.push({
|
|
property,
|
|
value: modifiedValue
|
|
});
|
|
}
|
|
return declarations;
|
|
};
|
|
var callbacks = /* @__PURE__ */ new Set();
|
|
var addListener2 = function(onTypeChange) {
|
|
var callback = function() {
|
|
var decs = getDeclarations();
|
|
onTypeChange(decs);
|
|
};
|
|
callbacks.add(callback);
|
|
_this.subscribeForVarTypeChange(varName, callback);
|
|
};
|
|
var removeListeners = function() {
|
|
callbacks.forEach(function(callback) {
|
|
_this.unsubscribeFromVariableTypeChanges(varName, callback);
|
|
});
|
|
};
|
|
return {
|
|
declarations: getDeclarations(),
|
|
onTypeChange: { addListener: addListener2, removeListeners }
|
|
};
|
|
};
|
|
};
|
|
VariablesStore2.prototype.getModifierForVarDependant = function(property, sourceValue) {
|
|
var _this = this;
|
|
if (sourceValue.match(/^\s*(rgb|hsl)a?\(/)) {
|
|
var isBg_1 = property.startsWith("background");
|
|
var isText_1 = property === "color" || property === "caret-color";
|
|
return function(theme) {
|
|
var value = insertVarValues(sourceValue, _this.unstableVarValues);
|
|
if (!value) {
|
|
value = isBg_1 ? "#ffffff" : "#000000";
|
|
}
|
|
var modifier = isBg_1 ? tryModifyBgColor : isText_1 ? tryModifyTextColor : tryModifyBorderColor;
|
|
return modifier(value, theme);
|
|
};
|
|
}
|
|
if (property === "background-color") {
|
|
return function(theme) {
|
|
return replaceCSSVariablesNames(sourceValue, function(v) {
|
|
return wrapBgColorVariableName(v);
|
|
}, function(fallback) {
|
|
return tryModifyBgColor(fallback, theme);
|
|
});
|
|
};
|
|
}
|
|
if (property === "color" || property === "caret-color") {
|
|
return function(theme) {
|
|
return replaceCSSVariablesNames(sourceValue, function(v) {
|
|
return wrapTextColorVariableName(v);
|
|
}, function(fallback) {
|
|
return tryModifyTextColor(fallback, theme);
|
|
});
|
|
};
|
|
}
|
|
if (property === "background" || property === "background-image" || property === "box-shadow") {
|
|
return function(theme) {
|
|
var unknownVars = /* @__PURE__ */ new Set();
|
|
var modify = function() {
|
|
var variableReplaced = replaceCSSVariablesNames(sourceValue, function(v) {
|
|
if (_this.isVarType(v, VAR_TYPE_BGCOLOR)) {
|
|
return wrapBgColorVariableName(v);
|
|
}
|
|
if (_this.isVarType(v, VAR_TYPE_BGIMG)) {
|
|
return wrapBgImgVariableName(v);
|
|
}
|
|
unknownVars.add(v);
|
|
return v;
|
|
}, function(fallback) {
|
|
return tryModifyBgColor(fallback, theme);
|
|
});
|
|
if (property === "box-shadow") {
|
|
var shadowModifier = getShadowModifierWithInfo(variableReplaced);
|
|
var modifiedShadow = shadowModifier(theme);
|
|
if (modifiedShadow.unparseableMatchesLength !== modifiedShadow.matchesLength) {
|
|
return modifiedShadow.result;
|
|
}
|
|
}
|
|
return variableReplaced;
|
|
};
|
|
var modified = modify();
|
|
if (unknownVars.size > 0) {
|
|
return new Promise(function(resolve) {
|
|
var firstUnknownVar = unknownVars.values().next().value;
|
|
var callback = function() {
|
|
_this.unsubscribeFromVariableTypeChanges(firstUnknownVar, callback);
|
|
var newValue = modify();
|
|
resolve(newValue);
|
|
};
|
|
_this.subscribeForVarTypeChange(firstUnknownVar, callback);
|
|
});
|
|
}
|
|
return modified;
|
|
};
|
|
}
|
|
if (property.startsWith("border") || property.startsWith("outline")) {
|
|
return function(theme) {
|
|
return replaceCSSVariablesNames(sourceValue, function(v) {
|
|
return wrapBorderColorVariableName(v);
|
|
}, function(fallback) {
|
|
return tryModifyBorderColor(fallback, theme);
|
|
});
|
|
};
|
|
}
|
|
return null;
|
|
};
|
|
VariablesStore2.prototype.subscribeForVarTypeChange = function(varName, callback) {
|
|
if (!this.typeChangeSubscriptions.has(varName)) {
|
|
this.typeChangeSubscriptions.set(varName, /* @__PURE__ */ new Set());
|
|
}
|
|
var rootStore = this.typeChangeSubscriptions.get(varName);
|
|
if (!rootStore.has(callback)) {
|
|
rootStore.add(callback);
|
|
}
|
|
};
|
|
VariablesStore2.prototype.unsubscribeFromVariableTypeChanges = function(varName, callback) {
|
|
if (this.typeChangeSubscriptions.has(varName)) {
|
|
this.typeChangeSubscriptions.get(varName).delete(callback);
|
|
}
|
|
};
|
|
VariablesStore2.prototype.collectVariablesAndVarDep = function(ruleList) {
|
|
var _this = this;
|
|
ruleList.forEach(function(rules2) {
|
|
iterateCSSRules(rules2, function(rule) {
|
|
rule.style && iterateCSSDeclarations(rule.style, function(property, value) {
|
|
if (isVariable(property)) {
|
|
_this.inspectVariable(property, value);
|
|
}
|
|
if (isVarDependant(value)) {
|
|
_this.inspectVarDependant(property, value);
|
|
}
|
|
});
|
|
});
|
|
});
|
|
};
|
|
VariablesStore2.prototype.collectRootVariables = function() {
|
|
var _this = this;
|
|
iterateCSSDeclarations(document.documentElement.style, function(property, value) {
|
|
if (isVariable(property)) {
|
|
_this.inspectVariable(property, value);
|
|
}
|
|
});
|
|
};
|
|
VariablesStore2.prototype.inspectVariable = function(varName, value) {
|
|
this.unstableVarValues.set(varName, value);
|
|
if (isVarDependant(value) && isConstructedColorVar(value)) {
|
|
this.unknownColorVars.add(varName);
|
|
this.definedVars.add(varName);
|
|
}
|
|
if (this.definedVars.has(varName)) {
|
|
return;
|
|
}
|
|
this.definedVars.add(varName);
|
|
var color = tryParseColor(value);
|
|
if (color) {
|
|
this.unknownColorVars.add(varName);
|
|
} else if (value.includes("url(") || value.includes("linear-gradient(") || value.includes("radial-gradient(")) {
|
|
this.resolveVariableType(varName, VAR_TYPE_BGIMG);
|
|
}
|
|
};
|
|
VariablesStore2.prototype.resolveVariableType = function(varName, typeNum) {
|
|
var initialType = this.initialVarTypes.get(varName) || 0;
|
|
var currentType = this.varTypes.get(varName) || 0;
|
|
var newType = currentType | typeNum;
|
|
this.varTypes.set(varName, newType);
|
|
if (newType !== initialType || this.undefinedVars.has(varName)) {
|
|
this.changedTypeVars.add(varName);
|
|
this.undefinedVars.delete(varName);
|
|
}
|
|
this.unknownColorVars.delete(varName);
|
|
this.unknownBgVars.delete(varName);
|
|
};
|
|
VariablesStore2.prototype.collectRootVarDependants = function() {
|
|
var _this = this;
|
|
iterateCSSDeclarations(document.documentElement.style, function(property, value) {
|
|
if (isVarDependant(value)) {
|
|
_this.inspectVarDependant(property, value);
|
|
}
|
|
});
|
|
};
|
|
VariablesStore2.prototype.inspectVarDependant = function(property, value) {
|
|
var _this = this;
|
|
if (isVariable(property)) {
|
|
this.iterateVarDeps(value, function(ref2) {
|
|
if (!_this.varRefs.has(property)) {
|
|
_this.varRefs.set(property, /* @__PURE__ */ new Set());
|
|
}
|
|
_this.varRefs.get(property).add(ref2);
|
|
});
|
|
} else if (property === "background-color" || property === "box-shadow") {
|
|
this.iterateVarDeps(value, function(v) {
|
|
return _this.resolveVariableType(v, VAR_TYPE_BGCOLOR);
|
|
});
|
|
} else if (property === "color" || property === "caret-color") {
|
|
this.iterateVarDeps(value, function(v) {
|
|
return _this.resolveVariableType(v, VAR_TYPE_TEXTCOLOR);
|
|
});
|
|
} else if (property.startsWith("border") || property.startsWith("outline")) {
|
|
this.iterateVarDeps(value, function(v) {
|
|
return _this.resolveVariableType(v, VAR_TYPE_BORDERCOLOR);
|
|
});
|
|
} else if (property === "background" || property === "background-image") {
|
|
this.iterateVarDeps(value, function(v) {
|
|
if (_this.isVarType(v, VAR_TYPE_BGCOLOR | VAR_TYPE_BGIMG)) {
|
|
return;
|
|
}
|
|
var isBgColor = _this.findVarRef(v, function(ref2) {
|
|
return _this.unknownColorVars.has(ref2) || _this.isVarType(ref2, VAR_TYPE_TEXTCOLOR | VAR_TYPE_BORDERCOLOR);
|
|
}) != null;
|
|
_this.itarateVarRefs(v, function(ref2) {
|
|
if (isBgColor) {
|
|
_this.resolveVariableType(ref2, VAR_TYPE_BGCOLOR);
|
|
} else {
|
|
_this.unknownBgVars.add(ref2);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
};
|
|
VariablesStore2.prototype.iterateVarDeps = function(value, iterator) {
|
|
var varDeps = /* @__PURE__ */ new Set();
|
|
iterateVarDependencies(value, function(v) {
|
|
return varDeps.add(v);
|
|
});
|
|
varDeps.forEach(function(v) {
|
|
return iterator(v);
|
|
});
|
|
};
|
|
VariablesStore2.prototype.findVarRef = function(varName, iterator, stack) {
|
|
var e_1, _a2;
|
|
if (stack === void 0) {
|
|
stack = /* @__PURE__ */ new Set();
|
|
}
|
|
if (stack.has(varName)) {
|
|
return null;
|
|
}
|
|
stack.add(varName);
|
|
var result = iterator(varName);
|
|
if (result) {
|
|
return varName;
|
|
}
|
|
var refs = this.varRefs.get(varName);
|
|
if (!refs || refs.size === 0) {
|
|
return null;
|
|
}
|
|
try {
|
|
for (var refs_1 = __values(refs), refs_1_1 = refs_1.next(); !refs_1_1.done; refs_1_1 = refs_1.next()) {
|
|
var ref2 = refs_1_1.value;
|
|
var found = this.findVarRef(ref2, iterator, stack);
|
|
if (found) {
|
|
return found;
|
|
}
|
|
}
|
|
} catch (e_1_1) {
|
|
e_1 = { error: e_1_1 };
|
|
} finally {
|
|
try {
|
|
if (refs_1_1 && !refs_1_1.done && (_a2 = refs_1.return))
|
|
_a2.call(refs_1);
|
|
} finally {
|
|
if (e_1)
|
|
throw e_1.error;
|
|
}
|
|
}
|
|
return null;
|
|
};
|
|
VariablesStore2.prototype.itarateVarRefs = function(varName, iterator) {
|
|
this.findVarRef(varName, function(ref2) {
|
|
iterator(ref2);
|
|
return false;
|
|
});
|
|
};
|
|
VariablesStore2.prototype.setOnRootVariableChange = function(callback) {
|
|
this.onRootVariableDefined = callback;
|
|
};
|
|
VariablesStore2.prototype.putRootVars = function(styleElement, theme) {
|
|
var e_2, _a2;
|
|
var _this = this;
|
|
var sheet = styleElement.sheet;
|
|
if (sheet.cssRules.length > 0) {
|
|
sheet.deleteRule(0);
|
|
}
|
|
var declarations = /* @__PURE__ */ new Map();
|
|
iterateCSSDeclarations(document.documentElement.style, function(property2, value2) {
|
|
if (isVariable(property2)) {
|
|
if (_this.isVarType(property2, VAR_TYPE_BGCOLOR)) {
|
|
declarations.set(wrapBgColorVariableName(property2), tryModifyBgColor(value2, theme));
|
|
}
|
|
if (_this.isVarType(property2, VAR_TYPE_TEXTCOLOR)) {
|
|
declarations.set(wrapTextColorVariableName(property2), tryModifyTextColor(value2, theme));
|
|
}
|
|
if (_this.isVarType(property2, VAR_TYPE_BORDERCOLOR)) {
|
|
declarations.set(wrapBorderColorVariableName(property2), tryModifyBorderColor(value2, theme));
|
|
}
|
|
_this.subscribeForVarTypeChange(property2, _this.onRootVariableDefined);
|
|
}
|
|
});
|
|
var cssLines = [];
|
|
cssLines.push(":root {");
|
|
try {
|
|
for (var declarations_1 = __values(declarations), declarations_1_1 = declarations_1.next(); !declarations_1_1.done; declarations_1_1 = declarations_1.next()) {
|
|
var _b = __read(declarations_1_1.value, 2), property = _b[0], value = _b[1];
|
|
cssLines.push(" " + property + ": " + value + ";");
|
|
}
|
|
} catch (e_2_1) {
|
|
e_2 = { error: e_2_1 };
|
|
} finally {
|
|
try {
|
|
if (declarations_1_1 && !declarations_1_1.done && (_a2 = declarations_1.return))
|
|
_a2.call(declarations_1);
|
|
} finally {
|
|
if (e_2)
|
|
throw e_2.error;
|
|
}
|
|
}
|
|
cssLines.push("}");
|
|
var cssText = cssLines.join("\n");
|
|
sheet.insertRule(cssText);
|
|
};
|
|
return VariablesStore2;
|
|
}();
|
|
var variablesStore = new VariablesStore();
|
|
function getVariableRange(input, searchStart) {
|
|
if (searchStart === void 0) {
|
|
searchStart = 0;
|
|
}
|
|
var start = input.indexOf("var(", searchStart);
|
|
if (start >= 0) {
|
|
var range3 = getParenthesesRange(input, start + 3);
|
|
if (range3) {
|
|
return { start, end: range3.end };
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
function getVariablesMatches(input) {
|
|
var ranges = [];
|
|
var i = 0;
|
|
var range3;
|
|
while (range3 = getVariableRange(input, i)) {
|
|
var start = range3.start, end = range3.end;
|
|
ranges.push({ start, end, value: input.substring(start, end) });
|
|
i = range3.end + 1;
|
|
}
|
|
return ranges;
|
|
}
|
|
function replaceVariablesMatches(input, replacer) {
|
|
var matches = getVariablesMatches(input);
|
|
var matchesCount = matches.length;
|
|
if (matchesCount === 0) {
|
|
return input;
|
|
}
|
|
var inputLength = input.length;
|
|
var replacements = matches.map(function(m) {
|
|
return replacer(m.value);
|
|
});
|
|
var parts = [];
|
|
parts.push(input.substring(0, matches[0].start));
|
|
for (var i = 0; i < matchesCount; i++) {
|
|
parts.push(replacements[i]);
|
|
var start = matches[i].end;
|
|
var end = i < matchesCount - 1 ? matches[i + 1].start : inputLength;
|
|
parts.push(input.substring(start, end));
|
|
}
|
|
return parts.join("");
|
|
}
|
|
function getVariableNameAndFallback(match) {
|
|
var commaIndex = match.indexOf(",");
|
|
var name;
|
|
var fallback;
|
|
if (commaIndex >= 0) {
|
|
name = match.substring(4, commaIndex).trim();
|
|
fallback = match.substring(commaIndex + 1, match.length - 1).trim();
|
|
} else {
|
|
name = match.substring(4, match.length - 1).trim();
|
|
fallback = "";
|
|
}
|
|
return { name, fallback };
|
|
}
|
|
function replaceCSSVariablesNames(value, nameReplacer, fallbackReplacer) {
|
|
var matchReplacer = function(match) {
|
|
var _a2 = getVariableNameAndFallback(match), name = _a2.name, fallback = _a2.fallback;
|
|
var newName = nameReplacer(name);
|
|
if (!fallback) {
|
|
return "var(" + newName + ")";
|
|
}
|
|
var newFallback;
|
|
if (isVarDependant(fallback)) {
|
|
newFallback = replaceCSSVariablesNames(fallback, nameReplacer, fallbackReplacer);
|
|
} else if (fallbackReplacer) {
|
|
newFallback = fallbackReplacer(fallback);
|
|
} else {
|
|
newFallback = fallback;
|
|
}
|
|
return "var(" + newName + ", " + newFallback + ")";
|
|
};
|
|
return replaceVariablesMatches(value, matchReplacer);
|
|
}
|
|
function iterateVarDependencies(value, iterator) {
|
|
replaceCSSVariablesNames(value, function(varName) {
|
|
iterator(varName);
|
|
return varName;
|
|
});
|
|
}
|
|
function wrapBgColorVariableName(name) {
|
|
return "--darkreader-bg" + name;
|
|
}
|
|
function wrapTextColorVariableName(name) {
|
|
return "--darkreader-text" + name;
|
|
}
|
|
function wrapBorderColorVariableName(name) {
|
|
return "--darkreader-border" + name;
|
|
}
|
|
function wrapBgImgVariableName(name) {
|
|
return "--darkreader-bgimg" + name;
|
|
}
|
|
function isVariable(property) {
|
|
return property.startsWith("--");
|
|
}
|
|
function isVarDependant(value) {
|
|
return value.includes("var(");
|
|
}
|
|
function isConstructedColorVar(value) {
|
|
return value.match(/^\s*(rgb|hsl)a?\(/);
|
|
}
|
|
var rawValueRegex = /^\d{1,3}, ?\d{1,3}, ?\d{1,3}$/;
|
|
function parseRawValue(color) {
|
|
if (rawValueRegex.test(color)) {
|
|
var splitted = color.split(",");
|
|
var resultInRGB_1 = "rgb(";
|
|
splitted.forEach(function(number4) {
|
|
resultInRGB_1 += number4.trim() + ", ";
|
|
});
|
|
resultInRGB_1 = resultInRGB_1.substr(0, resultInRGB_1.length - 2);
|
|
resultInRGB_1 += ")";
|
|
return { isRaw: true, color: resultInRGB_1 };
|
|
}
|
|
return { isRaw: false, color };
|
|
}
|
|
function handleRawValue(color, theme, modifyFunction) {
|
|
var _a2 = parseRawValue(color), isRaw = _a2.isRaw, newColor = _a2.color;
|
|
var rgb = tryParseColor(newColor);
|
|
if (rgb) {
|
|
var outputColor = modifyFunction(rgb, theme);
|
|
if (isRaw) {
|
|
var outputInRGB = tryParseColor(outputColor);
|
|
return outputInRGB ? outputInRGB.r + ", " + outputInRGB.g + ", " + outputInRGB.b : outputColor;
|
|
}
|
|
return outputColor;
|
|
}
|
|
return newColor;
|
|
}
|
|
function tryModifyBgColor(color, theme) {
|
|
return handleRawValue(color, theme, modifyBackgroundColor);
|
|
}
|
|
function tryModifyTextColor(color, theme) {
|
|
return handleRawValue(color, theme, modifyForegroundColor);
|
|
}
|
|
function tryModifyBorderColor(color, theme) {
|
|
return handleRawValue(color, theme, modifyBorderColor);
|
|
}
|
|
function insertVarValues(source, varValues, stack) {
|
|
if (stack === void 0) {
|
|
stack = /* @__PURE__ */ new Set();
|
|
}
|
|
var containsUnresolvedVar = false;
|
|
var matchReplacer = function(match) {
|
|
var _a2 = getVariableNameAndFallback(match), name = _a2.name, fallback = _a2.fallback;
|
|
if (stack.has(name)) {
|
|
containsUnresolvedVar = true;
|
|
return null;
|
|
}
|
|
stack.add(name);
|
|
var varValue = varValues.get(name) || fallback;
|
|
var inserted = null;
|
|
if (varValue) {
|
|
if (isVarDependant(varValue)) {
|
|
inserted = insertVarValues(varValue, varValues, stack);
|
|
} else {
|
|
inserted = varValue;
|
|
}
|
|
}
|
|
if (!inserted) {
|
|
containsUnresolvedVar = true;
|
|
return null;
|
|
}
|
|
return inserted;
|
|
};
|
|
var replaced = replaceVariablesMatches(source, matchReplacer);
|
|
if (containsUnresolvedVar) {
|
|
return null;
|
|
}
|
|
return replaced;
|
|
}
|
|
var overrides = {
|
|
"background-color": {
|
|
customProp: "--darkreader-inline-bgcolor",
|
|
cssProp: "background-color",
|
|
dataAttr: "data-darkreader-inline-bgcolor"
|
|
},
|
|
"background-image": {
|
|
customProp: "--darkreader-inline-bgimage",
|
|
cssProp: "background-image",
|
|
dataAttr: "data-darkreader-inline-bgimage"
|
|
},
|
|
"border-color": {
|
|
customProp: "--darkreader-inline-border",
|
|
cssProp: "border-color",
|
|
dataAttr: "data-darkreader-inline-border"
|
|
},
|
|
"border-bottom-color": {
|
|
customProp: "--darkreader-inline-border-bottom",
|
|
cssProp: "border-bottom-color",
|
|
dataAttr: "data-darkreader-inline-border-bottom"
|
|
},
|
|
"border-left-color": {
|
|
customProp: "--darkreader-inline-border-left",
|
|
cssProp: "border-left-color",
|
|
dataAttr: "data-darkreader-inline-border-left"
|
|
},
|
|
"border-right-color": {
|
|
customProp: "--darkreader-inline-border-right",
|
|
cssProp: "border-right-color",
|
|
dataAttr: "data-darkreader-inline-border-right"
|
|
},
|
|
"border-top-color": {
|
|
customProp: "--darkreader-inline-border-top",
|
|
cssProp: "border-top-color",
|
|
dataAttr: "data-darkreader-inline-border-top"
|
|
},
|
|
"box-shadow": {
|
|
customProp: "--darkreader-inline-boxshadow",
|
|
cssProp: "box-shadow",
|
|
dataAttr: "data-darkreader-inline-boxshadow"
|
|
},
|
|
"color": {
|
|
customProp: "--darkreader-inline-color",
|
|
cssProp: "color",
|
|
dataAttr: "data-darkreader-inline-color"
|
|
},
|
|
"fill": {
|
|
customProp: "--darkreader-inline-fill",
|
|
cssProp: "fill",
|
|
dataAttr: "data-darkreader-inline-fill"
|
|
},
|
|
"stroke": {
|
|
customProp: "--darkreader-inline-stroke",
|
|
cssProp: "stroke",
|
|
dataAttr: "data-darkreader-inline-stroke"
|
|
},
|
|
"outline-color": {
|
|
customProp: "--darkreader-inline-outline",
|
|
cssProp: "outline-color",
|
|
dataAttr: "data-darkreader-inline-outline"
|
|
},
|
|
"stop-color": {
|
|
customProp: "--darkreader-inline-stopcolor",
|
|
cssProp: "stop-color",
|
|
dataAttr: "data-darkreader-inline-stopcolor"
|
|
}
|
|
};
|
|
var overridesList = Object.values(overrides);
|
|
var normalizedPropList = {};
|
|
overridesList.forEach(function(_a2) {
|
|
var cssProp = _a2.cssProp, customProp = _a2.customProp;
|
|
return normalizedPropList[customProp] = cssProp;
|
|
});
|
|
var INLINE_STYLE_ATTRS = ["style", "fill", "stop-color", "stroke", "bgcolor", "color"];
|
|
var INLINE_STYLE_SELECTOR = INLINE_STYLE_ATTRS.map(function(attr) {
|
|
return "[" + attr + "]";
|
|
}).join(", ");
|
|
function getInlineOverrideStyle() {
|
|
return overridesList.map(function(_a2) {
|
|
var dataAttr = _a2.dataAttr, customProp = _a2.customProp, cssProp = _a2.cssProp;
|
|
return [
|
|
"[" + dataAttr + "] {",
|
|
" " + cssProp + ": var(" + customProp + ") !important;",
|
|
"}"
|
|
].join("\n");
|
|
}).join("\n");
|
|
}
|
|
function getInlineStyleElements(root) {
|
|
var results = [];
|
|
if (root instanceof Element && root.matches(INLINE_STYLE_SELECTOR)) {
|
|
results.push(root);
|
|
}
|
|
if (root instanceof Element || isShadowDomSupported && root instanceof ShadowRoot || root instanceof Document) {
|
|
push(results, root.querySelectorAll(INLINE_STYLE_SELECTOR));
|
|
}
|
|
return results;
|
|
}
|
|
var treeObservers = /* @__PURE__ */ new Map();
|
|
var attrObservers = /* @__PURE__ */ new Map();
|
|
function watchForInlineStyles(elementStyleDidChange, shadowRootDiscovered) {
|
|
deepWatchForInlineStyles(document, elementStyleDidChange, shadowRootDiscovered);
|
|
iterateShadowHosts(document.documentElement, function(host) {
|
|
deepWatchForInlineStyles(host.shadowRoot, elementStyleDidChange, shadowRootDiscovered);
|
|
});
|
|
}
|
|
function deepWatchForInlineStyles(root, elementStyleDidChange, shadowRootDiscovered) {
|
|
if (treeObservers.has(root)) {
|
|
treeObservers.get(root).disconnect();
|
|
attrObservers.get(root).disconnect();
|
|
}
|
|
var discoveredNodes = /* @__PURE__ */ new WeakSet();
|
|
function discoverNodes(node) {
|
|
getInlineStyleElements(node).forEach(function(el) {
|
|
if (discoveredNodes.has(el)) {
|
|
return;
|
|
}
|
|
discoveredNodes.add(el);
|
|
elementStyleDidChange(el);
|
|
});
|
|
iterateShadowHosts(node, function(n) {
|
|
if (discoveredNodes.has(node)) {
|
|
return;
|
|
}
|
|
discoveredNodes.add(node);
|
|
shadowRootDiscovered(n.shadowRoot);
|
|
deepWatchForInlineStyles(n.shadowRoot, elementStyleDidChange, shadowRootDiscovered);
|
|
});
|
|
}
|
|
var treeObserver = createOptimizedTreeObserver(root, {
|
|
onMinorMutations: function(_a2) {
|
|
var additions = _a2.additions;
|
|
additions.forEach(function(added) {
|
|
return discoverNodes(added);
|
|
});
|
|
},
|
|
onHugeMutations: function() {
|
|
discoverNodes(root);
|
|
}
|
|
});
|
|
treeObservers.set(root, treeObserver);
|
|
var attemptCount = 0;
|
|
var start = null;
|
|
var ATTEMPTS_INTERVAL = getDuration({ seconds: 10 });
|
|
var RETRY_TIMEOUT = getDuration({ seconds: 2 });
|
|
var MAX_ATTEMPTS_COUNT = 50;
|
|
var cache2 = [];
|
|
var timeoutId = null;
|
|
var handleAttributeMutations = throttle2(function(mutations) {
|
|
mutations.forEach(function(m) {
|
|
if (INLINE_STYLE_ATTRS.includes(m.attributeName)) {
|
|
elementStyleDidChange(m.target);
|
|
}
|
|
});
|
|
});
|
|
var attrObserver = new MutationObserver(function(mutations) {
|
|
if (timeoutId) {
|
|
cache2.push.apply(cache2, __spreadArray([], __read(mutations), false));
|
|
return;
|
|
}
|
|
attemptCount++;
|
|
var now = Date.now();
|
|
if (start == null) {
|
|
start = now;
|
|
} else if (attemptCount >= MAX_ATTEMPTS_COUNT) {
|
|
if (now - start < ATTEMPTS_INTERVAL) {
|
|
timeoutId = setTimeout(function() {
|
|
start = null;
|
|
attemptCount = 0;
|
|
timeoutId = null;
|
|
var attributeCache = cache2;
|
|
cache2 = [];
|
|
handleAttributeMutations(attributeCache);
|
|
}, RETRY_TIMEOUT);
|
|
cache2.push.apply(cache2, __spreadArray([], __read(mutations), false));
|
|
return;
|
|
}
|
|
start = now;
|
|
attemptCount = 1;
|
|
}
|
|
handleAttributeMutations(mutations);
|
|
});
|
|
attrObserver.observe(root, {
|
|
attributes: true,
|
|
attributeFilter: INLINE_STYLE_ATTRS.concat(overridesList.map(function(_a2) {
|
|
var dataAttr = _a2.dataAttr;
|
|
return dataAttr;
|
|
})),
|
|
subtree: true
|
|
});
|
|
attrObservers.set(root, attrObserver);
|
|
}
|
|
function stopWatchingForInlineStyles() {
|
|
treeObservers.forEach(function(o) {
|
|
return o.disconnect();
|
|
});
|
|
attrObservers.forEach(function(o) {
|
|
return o.disconnect();
|
|
});
|
|
treeObservers.clear();
|
|
attrObservers.clear();
|
|
}
|
|
var inlineStyleCache = /* @__PURE__ */ new WeakMap();
|
|
var filterProps = ["brightness", "contrast", "grayscale", "sepia", "mode"];
|
|
function getInlineStyleCacheKey(el, theme) {
|
|
return INLINE_STYLE_ATTRS.map(function(attr) {
|
|
return attr + '="' + el.getAttribute(attr) + '"';
|
|
}).concat(filterProps.map(function(prop) {
|
|
return prop + '="' + theme[prop] + '"';
|
|
})).join(" ");
|
|
}
|
|
function shouldIgnoreInlineStyle(element, selectors) {
|
|
for (var i = 0, len = selectors.length; i < len; i++) {
|
|
var ingnoredSelector = selectors[i];
|
|
if (element.matches(ingnoredSelector)) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
function overrideInlineStyle(element, theme, ignoreInlineSelectors, ignoreImageSelectors) {
|
|
var cacheKey = getInlineStyleCacheKey(element, theme);
|
|
if (cacheKey === inlineStyleCache.get(element)) {
|
|
return;
|
|
}
|
|
var unsetProps = new Set(Object.keys(overrides));
|
|
function setCustomProp(targetCSSProp, modifierCSSProp, cssVal) {
|
|
var _a2 = overrides[targetCSSProp], customProp = _a2.customProp, dataAttr = _a2.dataAttr;
|
|
var mod = getModifiableCSSDeclaration(modifierCSSProp, cssVal, {}, variablesStore, ignoreImageSelectors, null);
|
|
if (!mod) {
|
|
return;
|
|
}
|
|
var value2 = mod.value;
|
|
if (typeof value2 === "function") {
|
|
value2 = value2(theme);
|
|
}
|
|
element.style.setProperty(customProp, value2);
|
|
if (!element.hasAttribute(dataAttr)) {
|
|
element.setAttribute(dataAttr, "");
|
|
}
|
|
unsetProps.delete(targetCSSProp);
|
|
}
|
|
if (ignoreInlineSelectors.length > 0) {
|
|
if (shouldIgnoreInlineStyle(element, ignoreInlineSelectors)) {
|
|
unsetProps.forEach(function(cssProp) {
|
|
element.removeAttribute(overrides[cssProp].dataAttr);
|
|
});
|
|
return;
|
|
}
|
|
}
|
|
if (element.hasAttribute("bgcolor")) {
|
|
var value = element.getAttribute("bgcolor");
|
|
if (value.match(/^[0-9a-f]{3}$/i) || value.match(/^[0-9a-f]{6}$/i)) {
|
|
value = "#" + value;
|
|
}
|
|
setCustomProp("background-color", "background-color", value);
|
|
}
|
|
if (element.hasAttribute("color") && element.rel !== "mask-icon") {
|
|
var value = element.getAttribute("color");
|
|
if (value.match(/^[0-9a-f]{3}$/i) || value.match(/^[0-9a-f]{6}$/i)) {
|
|
value = "#" + value;
|
|
}
|
|
setCustomProp("color", "color", value);
|
|
}
|
|
if (element instanceof SVGElement) {
|
|
if (element.hasAttribute("fill")) {
|
|
var SMALL_SVG_LIMIT_1 = 32;
|
|
var value_1 = element.getAttribute("fill");
|
|
if (value_1 !== "none") {
|
|
if (!(element instanceof SVGTextElement)) {
|
|
var handleSVGElement = function() {
|
|
var _a2 = element.getBoundingClientRect(), width = _a2.width, height = _a2.height;
|
|
var isBg = width > SMALL_SVG_LIMIT_1 || height > SMALL_SVG_LIMIT_1;
|
|
setCustomProp("fill", isBg ? "background-color" : "color", value_1);
|
|
};
|
|
if (isReadyStateComplete()) {
|
|
handleSVGElement();
|
|
} else {
|
|
addReadyStateCompleteListener(handleSVGElement);
|
|
}
|
|
} else {
|
|
setCustomProp("fill", "color", value_1);
|
|
}
|
|
}
|
|
}
|
|
if (element.hasAttribute("stop-color")) {
|
|
setCustomProp("stop-color", "background-color", element.getAttribute("stop-color"));
|
|
}
|
|
}
|
|
if (element.hasAttribute("stroke")) {
|
|
var value = element.getAttribute("stroke");
|
|
setCustomProp("stroke", element instanceof SVGLineElement || element instanceof SVGTextElement ? "border-color" : "color", value);
|
|
}
|
|
element.style && iterateCSSDeclarations(element.style, function(property, value2) {
|
|
if (property === "background-image" && value2.includes("url")) {
|
|
return;
|
|
}
|
|
if (overrides.hasOwnProperty(property)) {
|
|
setCustomProp(property, property, value2);
|
|
} else {
|
|
var overridenProp = normalizedPropList[property];
|
|
if (overridenProp && (!element.style.getPropertyValue(overridenProp) && !element.hasAttribute(overridenProp))) {
|
|
if (overridenProp === "background-color" && element.hasAttribute("bgcolor")) {
|
|
return;
|
|
}
|
|
element.style.setProperty(property, "");
|
|
}
|
|
}
|
|
});
|
|
if (element.style && element instanceof SVGTextElement && element.style.fill) {
|
|
setCustomProp("fill", "color", element.style.getPropertyValue("fill"));
|
|
}
|
|
forEach2(unsetProps, function(cssProp) {
|
|
element.removeAttribute(overrides[cssProp].dataAttr);
|
|
});
|
|
inlineStyleCache.set(element, getInlineStyleCacheKey(element, theme));
|
|
}
|
|
var metaThemeColorName = "theme-color";
|
|
var metaThemeColorSelector = 'meta[name="' + metaThemeColorName + '"]';
|
|
var srcMetaThemeColor = null;
|
|
var observer = null;
|
|
function changeMetaThemeColor(meta, theme) {
|
|
srcMetaThemeColor = srcMetaThemeColor || meta.content;
|
|
try {
|
|
var color = parse2(srcMetaThemeColor);
|
|
meta.content = modifyBackgroundColor(color, theme);
|
|
} catch (err) {
|
|
}
|
|
}
|
|
function changeMetaThemeColorWhenAvailable(theme) {
|
|
var meta = document.querySelector(metaThemeColorSelector);
|
|
if (meta) {
|
|
changeMetaThemeColor(meta, theme);
|
|
} else {
|
|
if (observer) {
|
|
observer.disconnect();
|
|
}
|
|
observer = new MutationObserver(function(mutations) {
|
|
loop:
|
|
for (var i = 0; i < mutations.length; i++) {
|
|
var addedNodes = mutations[i].addedNodes;
|
|
for (var j = 0; j < addedNodes.length; j++) {
|
|
var node = addedNodes[j];
|
|
if (node instanceof HTMLMetaElement && node.name === metaThemeColorName) {
|
|
observer.disconnect();
|
|
observer = null;
|
|
changeMetaThemeColor(node, theme);
|
|
break loop;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
observer.observe(document.head, { childList: true });
|
|
}
|
|
}
|
|
function restoreMetaThemeColor() {
|
|
if (observer) {
|
|
observer.disconnect();
|
|
observer = null;
|
|
}
|
|
var meta = document.querySelector(metaThemeColorSelector);
|
|
if (meta && srcMetaThemeColor) {
|
|
meta.content = srcMetaThemeColor;
|
|
}
|
|
}
|
|
var themeCacheKeys = [
|
|
"mode",
|
|
"brightness",
|
|
"contrast",
|
|
"grayscale",
|
|
"sepia",
|
|
"darkSchemeBackgroundColor",
|
|
"darkSchemeTextColor",
|
|
"lightSchemeBackgroundColor",
|
|
"lightSchemeTextColor"
|
|
];
|
|
function getThemeKey(theme) {
|
|
return themeCacheKeys.map(function(p) {
|
|
return p + ":" + theme[p];
|
|
}).join(";");
|
|
}
|
|
var asyncQueue = createAsyncTasksQueue();
|
|
function createStyleSheetModifier() {
|
|
var renderId = 0;
|
|
var rulesTextCache = /* @__PURE__ */ new Set();
|
|
var rulesModCache = /* @__PURE__ */ new Map();
|
|
var varTypeChangeCleaners = /* @__PURE__ */ new Set();
|
|
var prevFilterKey = null;
|
|
var hasNonLoadedLink = false;
|
|
var wasRebuilt = false;
|
|
function shouldRebuildStyle() {
|
|
return hasNonLoadedLink && !wasRebuilt;
|
|
}
|
|
function modifySheet(options) {
|
|
var rules2 = options.sourceCSSRules;
|
|
var theme = options.theme, ignoreImageAnalysis = options.ignoreImageAnalysis, force = options.force, prepareSheet = options.prepareSheet, isAsyncCancelled = options.isAsyncCancelled;
|
|
var rulesChanged = rulesModCache.size === 0;
|
|
var notFoundCacheKeys = new Set(rulesModCache.keys());
|
|
var themeKey = getThemeKey(theme);
|
|
var themeChanged = themeKey !== prevFilterKey;
|
|
if (hasNonLoadedLink) {
|
|
wasRebuilt = true;
|
|
}
|
|
var modRules = [];
|
|
iterateCSSRules(rules2, function(rule) {
|
|
var cssText = rule.cssText;
|
|
var textDiffersFromPrev = false;
|
|
notFoundCacheKeys.delete(cssText);
|
|
if (rule.parentRule instanceof CSSMediaRule) {
|
|
cssText += ";" + rule.parentRule.media.mediaText;
|
|
}
|
|
if (!rulesTextCache.has(cssText)) {
|
|
rulesTextCache.add(cssText);
|
|
textDiffersFromPrev = true;
|
|
}
|
|
if (textDiffersFromPrev) {
|
|
rulesChanged = true;
|
|
} else {
|
|
modRules.push(rulesModCache.get(cssText));
|
|
return;
|
|
}
|
|
var modDecs = [];
|
|
rule.style && iterateCSSDeclarations(rule.style, function(property, value) {
|
|
var mod = getModifiableCSSDeclaration(property, value, rule, variablesStore, ignoreImageAnalysis, isAsyncCancelled);
|
|
if (mod) {
|
|
modDecs.push(mod);
|
|
}
|
|
});
|
|
var modRule = null;
|
|
if (modDecs.length > 0) {
|
|
var parentRule = rule.parentRule;
|
|
modRule = { selector: rule.selectorText, declarations: modDecs, parentRule };
|
|
modRules.push(modRule);
|
|
}
|
|
rulesModCache.set(cssText, modRule);
|
|
}, function() {
|
|
hasNonLoadedLink = true;
|
|
});
|
|
notFoundCacheKeys.forEach(function(key) {
|
|
rulesTextCache.delete(key);
|
|
rulesModCache.delete(key);
|
|
});
|
|
prevFilterKey = themeKey;
|
|
if (!force && !rulesChanged && !themeChanged) {
|
|
return;
|
|
}
|
|
renderId++;
|
|
function setRule(target, index2, rule) {
|
|
var selector = rule.selector, declarations = rule.declarations;
|
|
var getDeclarationText = function(dec) {
|
|
var property = dec.property, value = dec.value, important = dec.important, sourceValue = dec.sourceValue;
|
|
return property + ": " + (value == null ? sourceValue : value) + (important ? " !important" : "") + ";";
|
|
};
|
|
var cssRulesText = "";
|
|
declarations.forEach(function(declarations2) {
|
|
cssRulesText += getDeclarationText(declarations2) + " ";
|
|
});
|
|
var ruleText = selector + " { " + cssRulesText + " }";
|
|
target.insertRule(ruleText, index2);
|
|
}
|
|
var asyncDeclarations = /* @__PURE__ */ new Map();
|
|
var varDeclarations = /* @__PURE__ */ new Map();
|
|
var asyncDeclarationCounter = 0;
|
|
var varDeclarationCounter = 0;
|
|
var rootReadyGroup = { rule: null, rules: [], isGroup: true };
|
|
var groupRefs = /* @__PURE__ */ new WeakMap();
|
|
function getGroup(rule) {
|
|
if (rule == null) {
|
|
return rootReadyGroup;
|
|
}
|
|
if (groupRefs.has(rule)) {
|
|
return groupRefs.get(rule);
|
|
}
|
|
var group = { rule, rules: [], isGroup: true };
|
|
groupRefs.set(rule, group);
|
|
var parentGroup = getGroup(rule.parentRule);
|
|
parentGroup.rules.push(group);
|
|
return group;
|
|
}
|
|
varTypeChangeCleaners.forEach(function(clear2) {
|
|
return clear2();
|
|
});
|
|
varTypeChangeCleaners.clear();
|
|
modRules.filter(function(r) {
|
|
return r;
|
|
}).forEach(function(_a2) {
|
|
var selector = _a2.selector, declarations = _a2.declarations, parentRule = _a2.parentRule;
|
|
var group = getGroup(parentRule);
|
|
var readyStyleRule = { selector, declarations: [], isGroup: false };
|
|
var readyDeclarations = readyStyleRule.declarations;
|
|
group.rules.push(readyStyleRule);
|
|
function handleAsyncDeclaration(property, modified, important, sourceValue) {
|
|
var asyncKey = ++asyncDeclarationCounter;
|
|
var asyncDeclaration = { property, value: null, important, asyncKey, sourceValue };
|
|
readyDeclarations.push(asyncDeclaration);
|
|
var currentRenderId = renderId;
|
|
modified.then(function(asyncValue) {
|
|
if (!asyncValue || isAsyncCancelled() || currentRenderId !== renderId) {
|
|
return;
|
|
}
|
|
asyncDeclaration.value = asyncValue;
|
|
asyncQueue.add(function() {
|
|
if (isAsyncCancelled() || currentRenderId !== renderId) {
|
|
return;
|
|
}
|
|
rebuildAsyncRule(asyncKey);
|
|
});
|
|
});
|
|
}
|
|
function handleVarDeclarations(property, modified, important, sourceValue) {
|
|
var _a3 = modified, varDecs = _a3.declarations, onTypeChange = _a3.onTypeChange;
|
|
var varKey = ++varDeclarationCounter;
|
|
var currentRenderId = renderId;
|
|
var initialIndex = readyDeclarations.length;
|
|
var oldDecs = [];
|
|
if (varDecs.length === 0) {
|
|
var tempDec = { property, value: sourceValue, important, sourceValue, varKey };
|
|
readyDeclarations.push(tempDec);
|
|
oldDecs = [tempDec];
|
|
}
|
|
varDecs.forEach(function(mod) {
|
|
if (mod.value instanceof Promise) {
|
|
handleAsyncDeclaration(mod.property, mod.value, important, sourceValue);
|
|
} else {
|
|
var readyDec = { property: mod.property, value: mod.value, important, sourceValue, varKey };
|
|
readyDeclarations.push(readyDec);
|
|
oldDecs.push(readyDec);
|
|
}
|
|
});
|
|
onTypeChange.addListener(function(newDecs) {
|
|
if (isAsyncCancelled() || currentRenderId !== renderId) {
|
|
return;
|
|
}
|
|
var readyVarDecs = newDecs.map(function(mod) {
|
|
return { property: mod.property, value: mod.value, important, sourceValue, varKey };
|
|
});
|
|
var index2 = readyDeclarations.indexOf(oldDecs[0], initialIndex);
|
|
readyDeclarations.splice.apply(readyDeclarations, __spreadArray([index2, oldDecs.length], __read(readyVarDecs), false));
|
|
oldDecs = readyVarDecs;
|
|
rebuildVarRule(varKey);
|
|
});
|
|
varTypeChangeCleaners.add(function() {
|
|
return onTypeChange.removeListeners();
|
|
});
|
|
}
|
|
declarations.forEach(function(_a3) {
|
|
var property = _a3.property, value = _a3.value, important = _a3.important, sourceValue = _a3.sourceValue;
|
|
if (typeof value === "function") {
|
|
var modified = value(theme);
|
|
if (modified instanceof Promise) {
|
|
handleAsyncDeclaration(property, modified, important, sourceValue);
|
|
} else if (property.startsWith("--")) {
|
|
handleVarDeclarations(property, modified, important, sourceValue);
|
|
} else {
|
|
readyDeclarations.push({ property, value: modified, important, sourceValue });
|
|
}
|
|
} else {
|
|
readyDeclarations.push({ property, value, important, sourceValue });
|
|
}
|
|
});
|
|
});
|
|
var sheet = prepareSheet();
|
|
function buildStyleSheet() {
|
|
function createTarget(group, parent) {
|
|
var rule = group.rule;
|
|
if (rule instanceof CSSMediaRule) {
|
|
var media = rule.media;
|
|
var index2 = parent.cssRules.length;
|
|
parent.insertRule("@media " + media.mediaText + " {}", index2);
|
|
return parent.cssRules[index2];
|
|
}
|
|
return parent;
|
|
}
|
|
function iterateReadyRules(group, target, styleIterator) {
|
|
group.rules.forEach(function(r) {
|
|
if (r.isGroup) {
|
|
var t = createTarget(r, target);
|
|
iterateReadyRules(r, t, styleIterator);
|
|
} else {
|
|
styleIterator(r, target);
|
|
}
|
|
});
|
|
}
|
|
iterateReadyRules(rootReadyGroup, sheet, function(rule, target) {
|
|
var index2 = target.cssRules.length;
|
|
rule.declarations.forEach(function(_a2) {
|
|
var asyncKey = _a2.asyncKey, varKey = _a2.varKey;
|
|
if (asyncKey != null) {
|
|
asyncDeclarations.set(asyncKey, { rule, target, index: index2 });
|
|
}
|
|
if (varKey != null) {
|
|
varDeclarations.set(varKey, { rule, target, index: index2 });
|
|
}
|
|
});
|
|
setRule(target, index2, rule);
|
|
});
|
|
}
|
|
function rebuildAsyncRule(key) {
|
|
var _a2 = asyncDeclarations.get(key), rule = _a2.rule, target = _a2.target, index2 = _a2.index;
|
|
target.deleteRule(index2);
|
|
setRule(target, index2, rule);
|
|
asyncDeclarations.delete(key);
|
|
}
|
|
function rebuildVarRule(key) {
|
|
var _a2 = varDeclarations.get(key), rule = _a2.rule, target = _a2.target, index2 = _a2.index;
|
|
target.deleteRule(index2);
|
|
setRule(target, index2, rule);
|
|
}
|
|
buildStyleSheet();
|
|
}
|
|
return { modifySheet, shouldRebuildStyle };
|
|
}
|
|
var STYLE_SELECTOR = 'style, link[rel*="stylesheet" i]:not([disabled])';
|
|
function shouldManageStyle(element) {
|
|
return (element instanceof HTMLStyleElement || element instanceof SVGStyleElement || element instanceof HTMLLinkElement && element.rel && element.rel.toLowerCase().includes("stylesheet") && !element.disabled && (isFirefox ? !element.href.startsWith("moz-extension://") : true)) && !element.classList.contains("darkreader") && element.media.toLowerCase() !== "print" && !element.classList.contains("stylus");
|
|
}
|
|
function getManageableStyles(node, results, deep) {
|
|
if (results === void 0) {
|
|
results = [];
|
|
}
|
|
if (deep === void 0) {
|
|
deep = true;
|
|
}
|
|
if (shouldManageStyle(node)) {
|
|
results.push(node);
|
|
} else if (node instanceof Element || isShadowDomSupported && node instanceof ShadowRoot || node === document) {
|
|
forEach2(node.querySelectorAll(STYLE_SELECTOR), function(style) {
|
|
return getManageableStyles(style, results, false);
|
|
});
|
|
if (deep) {
|
|
iterateShadowHosts(node, function(host) {
|
|
return getManageableStyles(host.shadowRoot, results, false);
|
|
});
|
|
}
|
|
}
|
|
return results;
|
|
}
|
|
var syncStyleSet = /* @__PURE__ */ new WeakSet();
|
|
var corsStyleSet = /* @__PURE__ */ new WeakSet();
|
|
var canOptimizeUsingProxy$1 = false;
|
|
if (typeof document !== "undefined") {
|
|
document.addEventListener("__darkreader__inlineScriptsAllowed", function() {
|
|
canOptimizeUsingProxy$1 = true;
|
|
});
|
|
}
|
|
var loadingLinkCounter = 0;
|
|
var rejectorsForLoadingLinks = /* @__PURE__ */ new Map();
|
|
function cleanLoadingLinks() {
|
|
rejectorsForLoadingLinks.clear();
|
|
}
|
|
function manageStyle(element, _a2) {
|
|
var update = _a2.update, loadingStart = _a2.loadingStart, loadingEnd = _a2.loadingEnd;
|
|
var prevStyles = [];
|
|
var next = element;
|
|
while ((next = next.nextElementSibling) && next.matches(".darkreader")) {
|
|
prevStyles.push(next);
|
|
}
|
|
var corsCopy = prevStyles.find(function(el) {
|
|
return el.matches(".darkreader--cors") && !corsStyleSet.has(el);
|
|
}) || null;
|
|
var syncStyle = prevStyles.find(function(el) {
|
|
return el.matches(".darkreader--sync") && !syncStyleSet.has(el);
|
|
}) || null;
|
|
var corsCopyPositionWatcher = null;
|
|
var syncStylePositionWatcher = null;
|
|
var cancelAsyncOperations = false;
|
|
var isOverrideEmpty = true;
|
|
var sheetModifier = createStyleSheetModifier();
|
|
var observer2 = new MutationObserver(function() {
|
|
update();
|
|
});
|
|
var observerOptions = { attributes: true, childList: true, subtree: true, characterData: true };
|
|
function containsCSSImport() {
|
|
return element instanceof HTMLStyleElement && element.textContent.trim().match(cssImportRegex);
|
|
}
|
|
function hasImports(cssRules, checkCrossOrigin) {
|
|
var result = false;
|
|
if (cssRules) {
|
|
var rule = void 0;
|
|
cssRulesLoop:
|
|
for (var i = 0, len = cssRules.length; i < len; i++) {
|
|
rule = cssRules[i];
|
|
if (rule.href) {
|
|
if (checkCrossOrigin) {
|
|
if (rule.href.startsWith("http") && !rule.href.startsWith(location.origin)) {
|
|
result = true;
|
|
break cssRulesLoop;
|
|
}
|
|
} else {
|
|
result = true;
|
|
break cssRulesLoop;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
function getRulesSync() {
|
|
if (corsCopy) {
|
|
return corsCopy.sheet.cssRules;
|
|
}
|
|
if (containsCSSImport()) {
|
|
return null;
|
|
}
|
|
var cssRules = safeGetSheetRules();
|
|
if (element instanceof HTMLLinkElement && !isRelativeHrefOnAbsolutePath(element.href) && hasImports(cssRules, false)) {
|
|
return null;
|
|
}
|
|
if (hasImports(cssRules, true)) {
|
|
return null;
|
|
}
|
|
return cssRules;
|
|
}
|
|
function insertStyle() {
|
|
if (corsCopy) {
|
|
if (element.nextSibling !== corsCopy) {
|
|
element.parentNode.insertBefore(corsCopy, element.nextSibling);
|
|
}
|
|
if (corsCopy.nextSibling !== syncStyle) {
|
|
element.parentNode.insertBefore(syncStyle, corsCopy.nextSibling);
|
|
}
|
|
} else if (element.nextSibling !== syncStyle) {
|
|
element.parentNode.insertBefore(syncStyle, element.nextSibling);
|
|
}
|
|
}
|
|
function createSyncStyle() {
|
|
syncStyle = element instanceof SVGStyleElement ? document.createElementNS("http://www.w3.org/2000/svg", "style") : document.createElement("style");
|
|
syncStyle.classList.add("darkreader");
|
|
syncStyle.classList.add("darkreader--sync");
|
|
syncStyle.media = "screen";
|
|
if (!isChromium && element.title) {
|
|
syncStyle.title = element.title;
|
|
}
|
|
syncStyleSet.add(syncStyle);
|
|
}
|
|
var isLoadingRules = false;
|
|
var wasLoadingError = false;
|
|
var loadingLinkId = ++loadingLinkCounter;
|
|
function getRulesAsync() {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var cssText, cssBasePath, _a3, cssRules, accessError, fullCSSText;
|
|
var _b;
|
|
return __generator(this, function(_c) {
|
|
switch (_c.label) {
|
|
case 0:
|
|
if (!(element instanceof HTMLLinkElement))
|
|
return [3, 7];
|
|
_a3 = __read(getRulesOrError(), 2), cssRules = _a3[0], accessError = _a3[1];
|
|
if (!(!cssRules && !accessError && !isSafari || isSafari && !element.sheet || isStillLoadingError(accessError)))
|
|
return [3, 5];
|
|
_c.label = 1;
|
|
case 1:
|
|
_c.trys.push([1, 3, , 4]);
|
|
return [4, linkLoading(element, loadingLinkId)];
|
|
case 2:
|
|
_c.sent();
|
|
return [3, 4];
|
|
case 3:
|
|
_c.sent();
|
|
wasLoadingError = true;
|
|
return [3, 4];
|
|
case 4:
|
|
if (cancelAsyncOperations) {
|
|
return [2, null];
|
|
}
|
|
_b = __read(getRulesOrError(), 2), cssRules = _b[0], accessError = _b[1];
|
|
_c.label = 5;
|
|
case 5:
|
|
if (cssRules) {
|
|
if (!hasImports(cssRules, false)) {
|
|
return [2, cssRules];
|
|
}
|
|
}
|
|
return [4, loadText(element.href)];
|
|
case 6:
|
|
cssText = _c.sent();
|
|
cssBasePath = getCSSBaseBath(element.href);
|
|
if (cancelAsyncOperations) {
|
|
return [2, null];
|
|
}
|
|
return [3, 8];
|
|
case 7:
|
|
if (containsCSSImport()) {
|
|
cssText = element.textContent.trim();
|
|
cssBasePath = getCSSBaseBath(location.href);
|
|
} else {
|
|
return [2, null];
|
|
}
|
|
_c.label = 8;
|
|
case 8:
|
|
if (!cssText)
|
|
return [3, 13];
|
|
_c.label = 9;
|
|
case 9:
|
|
_c.trys.push([9, 11, , 12]);
|
|
return [4, replaceCSSImports(cssText, cssBasePath)];
|
|
case 10:
|
|
fullCSSText = _c.sent();
|
|
corsCopy = createCORSCopy(element, fullCSSText);
|
|
return [3, 12];
|
|
case 11:
|
|
_c.sent();
|
|
return [3, 12];
|
|
case 12:
|
|
if (corsCopy) {
|
|
corsCopyPositionWatcher = watchForNodePosition(corsCopy, "prev-sibling");
|
|
return [2, corsCopy.sheet.cssRules];
|
|
}
|
|
_c.label = 13;
|
|
case 13:
|
|
return [2, null];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function details(options) {
|
|
var rules2 = getRulesSync();
|
|
if (!rules2) {
|
|
if (options.secondRound) {
|
|
return null;
|
|
}
|
|
if (isLoadingRules || wasLoadingError) {
|
|
return null;
|
|
}
|
|
isLoadingRules = true;
|
|
loadingStart();
|
|
getRulesAsync().then(function(results) {
|
|
isLoadingRules = false;
|
|
loadingEnd();
|
|
if (results) {
|
|
update();
|
|
}
|
|
}).catch(function(err) {
|
|
isLoadingRules = false;
|
|
loadingEnd();
|
|
});
|
|
return null;
|
|
}
|
|
return { rules: rules2 };
|
|
}
|
|
var forceRenderStyle = false;
|
|
function render3(theme, ignoreImageAnalysis) {
|
|
var rules2 = getRulesSync();
|
|
if (!rules2) {
|
|
return;
|
|
}
|
|
cancelAsyncOperations = false;
|
|
function removeCSSRulesFromSheet(sheet) {
|
|
try {
|
|
if (sheet.replaceSync) {
|
|
sheet.replaceSync("");
|
|
return;
|
|
}
|
|
} catch (err) {
|
|
}
|
|
for (var i = sheet.cssRules.length - 1; i >= 0; i--) {
|
|
sheet.deleteRule(i);
|
|
}
|
|
}
|
|
function prepareOverridesSheet() {
|
|
if (!syncStyle) {
|
|
createSyncStyle();
|
|
}
|
|
syncStylePositionWatcher && syncStylePositionWatcher.stop();
|
|
insertStyle();
|
|
if (syncStyle.sheet == null) {
|
|
syncStyle.textContent = "";
|
|
}
|
|
var sheet = syncStyle.sheet;
|
|
removeCSSRulesFromSheet(sheet);
|
|
if (syncStylePositionWatcher) {
|
|
syncStylePositionWatcher.run();
|
|
} else {
|
|
syncStylePositionWatcher = watchForNodePosition(syncStyle, "prev-sibling", function() {
|
|
forceRenderStyle = true;
|
|
buildOverrides();
|
|
});
|
|
}
|
|
return syncStyle.sheet;
|
|
}
|
|
function buildOverrides() {
|
|
var force = forceRenderStyle;
|
|
forceRenderStyle = false;
|
|
sheetModifier.modifySheet({
|
|
prepareSheet: prepareOverridesSheet,
|
|
sourceCSSRules: rules2,
|
|
theme,
|
|
ignoreImageAnalysis,
|
|
force,
|
|
isAsyncCancelled: function() {
|
|
return cancelAsyncOperations;
|
|
}
|
|
});
|
|
isOverrideEmpty = syncStyle.sheet.cssRules.length === 0;
|
|
if (sheetModifier.shouldRebuildStyle()) {
|
|
addReadyStateCompleteListener(function() {
|
|
return update();
|
|
});
|
|
}
|
|
}
|
|
buildOverrides();
|
|
}
|
|
function getRulesOrError() {
|
|
try {
|
|
if (element.sheet == null) {
|
|
return [null, null];
|
|
}
|
|
return [element.sheet.cssRules, null];
|
|
} catch (err) {
|
|
return [null, err];
|
|
}
|
|
}
|
|
function isStillLoadingError(error) {
|
|
return error && error.message && error.message.includes("loading");
|
|
}
|
|
function safeGetSheetRules() {
|
|
var _a3 = __read(getRulesOrError(), 2), cssRules = _a3[0], err = _a3[1];
|
|
if (err) {
|
|
return null;
|
|
}
|
|
return cssRules;
|
|
}
|
|
function watchForSheetChanges() {
|
|
watchForSheetChangesUsingProxy();
|
|
if (!isThunderbird && !(canOptimizeUsingProxy$1 && element.sheet)) {
|
|
watchForSheetChangesUsingRAF();
|
|
}
|
|
}
|
|
var rulesChangeKey = null;
|
|
var rulesCheckFrameId = null;
|
|
function getRulesChangeKey() {
|
|
var rules2 = safeGetSheetRules();
|
|
return rules2 ? rules2.length : null;
|
|
}
|
|
function didRulesKeyChange() {
|
|
return getRulesChangeKey() !== rulesChangeKey;
|
|
}
|
|
function watchForSheetChangesUsingRAF() {
|
|
rulesChangeKey = getRulesChangeKey();
|
|
stopWatchingForSheetChangesUsingRAF();
|
|
var checkForUpdate = function() {
|
|
if (didRulesKeyChange()) {
|
|
rulesChangeKey = getRulesChangeKey();
|
|
update();
|
|
}
|
|
if (canOptimizeUsingProxy$1 && element.sheet) {
|
|
stopWatchingForSheetChangesUsingRAF();
|
|
return;
|
|
}
|
|
rulesCheckFrameId = requestAnimationFrame(checkForUpdate);
|
|
};
|
|
checkForUpdate();
|
|
}
|
|
function stopWatchingForSheetChangesUsingRAF() {
|
|
cancelAnimationFrame(rulesCheckFrameId);
|
|
}
|
|
var areSheetChangesPending = false;
|
|
function onSheetChange() {
|
|
canOptimizeUsingProxy$1 = true;
|
|
stopWatchingForSheetChangesUsingRAF();
|
|
if (areSheetChangesPending) {
|
|
return;
|
|
}
|
|
function handleSheetChanges() {
|
|
areSheetChangesPending = false;
|
|
if (cancelAsyncOperations) {
|
|
return;
|
|
}
|
|
update();
|
|
}
|
|
areSheetChangesPending = true;
|
|
if (typeof queueMicrotask === "function") {
|
|
queueMicrotask(handleSheetChanges);
|
|
} else {
|
|
requestAnimationFrame(handleSheetChanges);
|
|
}
|
|
}
|
|
function watchForSheetChangesUsingProxy() {
|
|
element.addEventListener("__darkreader__updateSheet", onSheetChange);
|
|
}
|
|
function stopWatchingForSheetChangesUsingProxy() {
|
|
element.removeEventListener("__darkreader__updateSheet", onSheetChange);
|
|
}
|
|
function stopWatchingForSheetChanges() {
|
|
stopWatchingForSheetChangesUsingProxy();
|
|
stopWatchingForSheetChangesUsingRAF();
|
|
}
|
|
function pause() {
|
|
observer2.disconnect();
|
|
cancelAsyncOperations = true;
|
|
corsCopyPositionWatcher && corsCopyPositionWatcher.stop();
|
|
syncStylePositionWatcher && syncStylePositionWatcher.stop();
|
|
stopWatchingForSheetChanges();
|
|
}
|
|
function destroy2() {
|
|
pause();
|
|
removeNode(corsCopy);
|
|
removeNode(syncStyle);
|
|
loadingEnd();
|
|
if (rejectorsForLoadingLinks.has(loadingLinkId)) {
|
|
var reject = rejectorsForLoadingLinks.get(loadingLinkId);
|
|
rejectorsForLoadingLinks.delete(loadingLinkId);
|
|
reject && reject();
|
|
}
|
|
}
|
|
function watch2() {
|
|
observer2.observe(element, observerOptions);
|
|
if (element instanceof HTMLStyleElement) {
|
|
watchForSheetChanges();
|
|
}
|
|
}
|
|
var maxMoveCount = 10;
|
|
var moveCount = 0;
|
|
function restore() {
|
|
if (!syncStyle) {
|
|
return;
|
|
}
|
|
moveCount++;
|
|
if (moveCount > maxMoveCount) {
|
|
return;
|
|
}
|
|
insertStyle();
|
|
corsCopyPositionWatcher && corsCopyPositionWatcher.skip();
|
|
syncStylePositionWatcher && syncStylePositionWatcher.skip();
|
|
if (!isOverrideEmpty) {
|
|
forceRenderStyle = true;
|
|
update();
|
|
}
|
|
}
|
|
return {
|
|
details,
|
|
render: render3,
|
|
pause,
|
|
destroy: destroy2,
|
|
watch: watch2,
|
|
restore
|
|
};
|
|
}
|
|
function linkLoading(link, loadingId) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
return __generator(this, function(_a2) {
|
|
return [2, new Promise(function(resolve, reject) {
|
|
var cleanUp = function() {
|
|
link.removeEventListener("load", onLoad);
|
|
link.removeEventListener("error", onError);
|
|
rejectorsForLoadingLinks.delete(loadingId);
|
|
};
|
|
var onLoad = function() {
|
|
cleanUp();
|
|
resolve();
|
|
};
|
|
var onError = function() {
|
|
cleanUp();
|
|
reject("Linkelement " + loadingId + " couldn't be loaded. " + link.href);
|
|
};
|
|
rejectorsForLoadingLinks.set(loadingId, function() {
|
|
cleanUp();
|
|
reject();
|
|
});
|
|
link.addEventListener("load", onLoad);
|
|
link.addEventListener("error", onError);
|
|
if (!link.href) {
|
|
onError();
|
|
}
|
|
})];
|
|
});
|
|
});
|
|
}
|
|
function getCSSImportURL(importDeclaration) {
|
|
return getCSSURLValue(importDeclaration.substring(7).trim().replace(/;$/, "").replace(/screen$/, ""));
|
|
}
|
|
function loadText(url2) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
if (!url2.startsWith("data:"))
|
|
return [3, 3];
|
|
return [4, fetch(url2)];
|
|
case 1:
|
|
return [4, _a2.sent().text()];
|
|
case 2:
|
|
return [2, _a2.sent()];
|
|
case 3:
|
|
return [4, bgFetch({ url: url2, responseType: "text", mimeType: "text/css", origin: window.location.origin })];
|
|
case 4:
|
|
return [2, _a2.sent()];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function replaceCSSImports(cssText, basePath, cache2) {
|
|
if (cache2 === void 0) {
|
|
cache2 = /* @__PURE__ */ new Map();
|
|
}
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var importMatches, importMatches_1, importMatches_1_1, match, importURL, absoluteURL, importedCSS, e_1_1;
|
|
var e_1, _a2;
|
|
return __generator(this, function(_b) {
|
|
switch (_b.label) {
|
|
case 0:
|
|
cssText = removeCSSComments(cssText);
|
|
cssText = replaceCSSFontFace(cssText);
|
|
cssText = replaceCSSRelativeURLsWithAbsolute(cssText, basePath);
|
|
importMatches = getMatches(cssImportRegex, cssText);
|
|
_b.label = 1;
|
|
case 1:
|
|
_b.trys.push([1, 10, 11, 12]);
|
|
importMatches_1 = __values(importMatches), importMatches_1_1 = importMatches_1.next();
|
|
_b.label = 2;
|
|
case 2:
|
|
if (!!importMatches_1_1.done)
|
|
return [3, 9];
|
|
match = importMatches_1_1.value;
|
|
importURL = getCSSImportURL(match);
|
|
absoluteURL = getAbsoluteURL(basePath, importURL);
|
|
importedCSS = void 0;
|
|
if (!cache2.has(absoluteURL))
|
|
return [3, 3];
|
|
importedCSS = cache2.get(absoluteURL);
|
|
return [3, 7];
|
|
case 3:
|
|
_b.trys.push([3, 6, , 7]);
|
|
return [4, loadText(absoluteURL)];
|
|
case 4:
|
|
importedCSS = _b.sent();
|
|
cache2.set(absoluteURL, importedCSS);
|
|
return [4, replaceCSSImports(importedCSS, getCSSBaseBath(absoluteURL), cache2)];
|
|
case 5:
|
|
importedCSS = _b.sent();
|
|
return [3, 7];
|
|
case 6:
|
|
_b.sent();
|
|
importedCSS = "";
|
|
return [3, 7];
|
|
case 7:
|
|
cssText = cssText.split(match).join(importedCSS);
|
|
_b.label = 8;
|
|
case 8:
|
|
importMatches_1_1 = importMatches_1.next();
|
|
return [3, 2];
|
|
case 9:
|
|
return [3, 12];
|
|
case 10:
|
|
e_1_1 = _b.sent();
|
|
e_1 = { error: e_1_1 };
|
|
return [3, 12];
|
|
case 11:
|
|
try {
|
|
if (importMatches_1_1 && !importMatches_1_1.done && (_a2 = importMatches_1.return))
|
|
_a2.call(importMatches_1);
|
|
} finally {
|
|
if (e_1)
|
|
throw e_1.error;
|
|
}
|
|
return [7];
|
|
case 12:
|
|
cssText = cssText.trim();
|
|
return [2, cssText];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
function createCORSCopy(srcElement, cssText) {
|
|
if (!cssText) {
|
|
return null;
|
|
}
|
|
var cors = document.createElement("style");
|
|
cors.classList.add("darkreader");
|
|
cors.classList.add("darkreader--cors");
|
|
cors.media = "screen";
|
|
cors.textContent = cssText;
|
|
srcElement.parentNode.insertBefore(cors, srcElement.nextSibling);
|
|
cors.sheet.disabled = true;
|
|
corsStyleSet.add(cors);
|
|
return cors;
|
|
}
|
|
var observers = [];
|
|
var observedRoots;
|
|
var undefinedGroups = /* @__PURE__ */ new Map();
|
|
var elementsDefinitionCallback;
|
|
function collectUndefinedElements(root) {
|
|
if (!isDefinedSelectorSupported) {
|
|
return;
|
|
}
|
|
forEach2(root.querySelectorAll(":not(:defined)"), function(el) {
|
|
var tag = el.tagName.toLowerCase();
|
|
if (!tag.includes("-")) {
|
|
var extendedTag = el.getAttribute("is");
|
|
if (extendedTag) {
|
|
tag = extendedTag;
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
if (!undefinedGroups.has(tag)) {
|
|
undefinedGroups.set(tag, /* @__PURE__ */ new Set());
|
|
customElementsWhenDefined(tag).then(function() {
|
|
if (elementsDefinitionCallback) {
|
|
var elements = undefinedGroups.get(tag);
|
|
undefinedGroups.delete(tag);
|
|
elementsDefinitionCallback(Array.from(elements));
|
|
}
|
|
});
|
|
}
|
|
undefinedGroups.get(tag).add(el);
|
|
});
|
|
}
|
|
var canOptimizeUsingProxy = false;
|
|
if (typeof document !== "undefined") {
|
|
document.addEventListener("__darkreader__inlineScriptsAllowed", function() {
|
|
canOptimizeUsingProxy = true;
|
|
});
|
|
}
|
|
var resolvers = /* @__PURE__ */ new Map();
|
|
function handleIsDefined(e) {
|
|
canOptimizeUsingProxy = true;
|
|
if (resolvers.has(e.detail.tag)) {
|
|
var resolve = resolvers.get(e.detail.tag);
|
|
resolve();
|
|
}
|
|
}
|
|
function customElementsWhenDefined(tag) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
return __generator(this, function(_a2) {
|
|
return [2, new Promise(function(resolve) {
|
|
if (window.customElements && typeof customElements.whenDefined === "function") {
|
|
customElements.whenDefined(tag).then(function() {
|
|
return resolve();
|
|
});
|
|
} else if (canOptimizeUsingProxy) {
|
|
resolvers.set(tag, resolve);
|
|
document.dispatchEvent(new CustomEvent("__darkreader__addUndefinedResolver", { detail: { tag } }));
|
|
} else {
|
|
var checkIfDefined_1 = function() {
|
|
var elements = undefinedGroups.get(tag);
|
|
if (elements && elements.size > 0) {
|
|
if (elements.values().next().value.matches(":defined")) {
|
|
resolve();
|
|
} else {
|
|
requestAnimationFrame(checkIfDefined_1);
|
|
}
|
|
}
|
|
};
|
|
requestAnimationFrame(checkIfDefined_1);
|
|
}
|
|
})];
|
|
});
|
|
});
|
|
}
|
|
function watchWhenCustomElementsDefined(callback) {
|
|
elementsDefinitionCallback = callback;
|
|
}
|
|
function unsubscribeFromDefineCustomElements() {
|
|
elementsDefinitionCallback = null;
|
|
undefinedGroups.clear();
|
|
document.removeEventListener("__darkreader__isDefined", handleIsDefined);
|
|
}
|
|
function watchForStyleChanges(currentStyles, update, shadowRootDiscovered) {
|
|
stopWatchingForStyleChanges();
|
|
var prevStyles = new Set(currentStyles);
|
|
var prevStyleSiblings = /* @__PURE__ */ new WeakMap();
|
|
var nextStyleSiblings = /* @__PURE__ */ new WeakMap();
|
|
function saveStylePosition(style) {
|
|
prevStyleSiblings.set(style, style.previousElementSibling);
|
|
nextStyleSiblings.set(style, style.nextElementSibling);
|
|
}
|
|
function forgetStylePosition(style) {
|
|
prevStyleSiblings.delete(style);
|
|
nextStyleSiblings.delete(style);
|
|
}
|
|
function didStylePositionChange(style) {
|
|
return style.previousElementSibling !== prevStyleSiblings.get(style) || style.nextElementSibling !== nextStyleSiblings.get(style);
|
|
}
|
|
currentStyles.forEach(saveStylePosition);
|
|
function handleStyleOperations(operations) {
|
|
var createdStyles = operations.createdStyles, removedStyles = operations.removedStyles, movedStyles = operations.movedStyles;
|
|
createdStyles.forEach(function(s) {
|
|
return saveStylePosition(s);
|
|
});
|
|
movedStyles.forEach(function(s) {
|
|
return saveStylePosition(s);
|
|
});
|
|
removedStyles.forEach(function(s) {
|
|
return forgetStylePosition(s);
|
|
});
|
|
createdStyles.forEach(function(s) {
|
|
return prevStyles.add(s);
|
|
});
|
|
removedStyles.forEach(function(s) {
|
|
return prevStyles.delete(s);
|
|
});
|
|
if (createdStyles.size + removedStyles.size + movedStyles.size > 0) {
|
|
update({
|
|
created: Array.from(createdStyles),
|
|
removed: Array.from(removedStyles),
|
|
moved: Array.from(movedStyles),
|
|
updated: []
|
|
});
|
|
}
|
|
}
|
|
function handleMinorTreeMutations(_a2) {
|
|
var additions = _a2.additions, moves = _a2.moves, deletions = _a2.deletions;
|
|
var createdStyles = /* @__PURE__ */ new Set();
|
|
var removedStyles = /* @__PURE__ */ new Set();
|
|
var movedStyles = /* @__PURE__ */ new Set();
|
|
additions.forEach(function(node) {
|
|
return getManageableStyles(node).forEach(function(style) {
|
|
return createdStyles.add(style);
|
|
});
|
|
});
|
|
deletions.forEach(function(node) {
|
|
return getManageableStyles(node).forEach(function(style) {
|
|
return removedStyles.add(style);
|
|
});
|
|
});
|
|
moves.forEach(function(node) {
|
|
return getManageableStyles(node).forEach(function(style) {
|
|
return movedStyles.add(style);
|
|
});
|
|
});
|
|
handleStyleOperations({ createdStyles, removedStyles, movedStyles });
|
|
additions.forEach(function(n) {
|
|
iterateShadowHosts(n, subscribeForShadowRootChanges);
|
|
collectUndefinedElements(n);
|
|
});
|
|
}
|
|
function handleHugeTreeMutations(root) {
|
|
var styles = new Set(getManageableStyles(root));
|
|
var createdStyles = /* @__PURE__ */ new Set();
|
|
var removedStyles = /* @__PURE__ */ new Set();
|
|
var movedStyles = /* @__PURE__ */ new Set();
|
|
styles.forEach(function(s) {
|
|
if (!prevStyles.has(s)) {
|
|
createdStyles.add(s);
|
|
}
|
|
});
|
|
prevStyles.forEach(function(s) {
|
|
if (!styles.has(s)) {
|
|
removedStyles.add(s);
|
|
}
|
|
});
|
|
styles.forEach(function(s) {
|
|
if (!createdStyles.has(s) && !removedStyles.has(s) && didStylePositionChange(s)) {
|
|
movedStyles.add(s);
|
|
}
|
|
});
|
|
handleStyleOperations({ createdStyles, removedStyles, movedStyles });
|
|
iterateShadowHosts(root, subscribeForShadowRootChanges);
|
|
collectUndefinedElements(root);
|
|
}
|
|
function handleAttributeMutations(mutations) {
|
|
var updatedStyles = /* @__PURE__ */ new Set();
|
|
var removedStyles = /* @__PURE__ */ new Set();
|
|
mutations.forEach(function(m) {
|
|
var target = m.target;
|
|
if (target.isConnected) {
|
|
if (shouldManageStyle(target)) {
|
|
updatedStyles.add(target);
|
|
} else if (target instanceof HTMLLinkElement && target.disabled) {
|
|
removedStyles.add(target);
|
|
}
|
|
}
|
|
});
|
|
if (updatedStyles.size + removedStyles.size > 0) {
|
|
update({
|
|
updated: Array.from(updatedStyles),
|
|
created: [],
|
|
removed: Array.from(removedStyles),
|
|
moved: []
|
|
});
|
|
}
|
|
}
|
|
function observe(root) {
|
|
var treeObserver = createOptimizedTreeObserver(root, {
|
|
onMinorMutations: handleMinorTreeMutations,
|
|
onHugeMutations: handleHugeTreeMutations
|
|
});
|
|
var attrObserver = new MutationObserver(handleAttributeMutations);
|
|
attrObserver.observe(root, { attributes: true, attributeFilter: ["rel", "disabled", "media"], subtree: true });
|
|
observers.push(treeObserver, attrObserver);
|
|
observedRoots.add(root);
|
|
}
|
|
function subscribeForShadowRootChanges(node) {
|
|
var shadowRoot = node.shadowRoot;
|
|
if (shadowRoot == null || observedRoots.has(shadowRoot)) {
|
|
return;
|
|
}
|
|
observe(shadowRoot);
|
|
shadowRootDiscovered(shadowRoot);
|
|
}
|
|
observe(document);
|
|
iterateShadowHosts(document.documentElement, subscribeForShadowRootChanges);
|
|
watchWhenCustomElementsDefined(function(hosts) {
|
|
var newStyles = [];
|
|
hosts.forEach(function(host) {
|
|
return push(newStyles, getManageableStyles(host.shadowRoot));
|
|
});
|
|
update({ created: newStyles, updated: [], removed: [], moved: [] });
|
|
hosts.forEach(function(host) {
|
|
var shadowRoot = host.shadowRoot;
|
|
if (shadowRoot == null) {
|
|
return;
|
|
}
|
|
subscribeForShadowRootChanges(host);
|
|
iterateShadowHosts(shadowRoot, subscribeForShadowRootChanges);
|
|
collectUndefinedElements(shadowRoot);
|
|
});
|
|
});
|
|
document.addEventListener("__darkreader__isDefined", handleIsDefined);
|
|
collectUndefinedElements(document);
|
|
}
|
|
function resetObservers() {
|
|
observers.forEach(function(o) {
|
|
return o.disconnect();
|
|
});
|
|
observers.splice(0, observers.length);
|
|
observedRoots = /* @__PURE__ */ new WeakSet();
|
|
}
|
|
function stopWatchingForStyleChanges() {
|
|
resetObservers();
|
|
unsubscribeFromDefineCustomElements();
|
|
}
|
|
function hexify(number4) {
|
|
return (number4 < 16 ? "0" : "") + number4.toString(16);
|
|
}
|
|
function generateUID() {
|
|
if (typeof crypto === "undefined")
|
|
return "xxx-xxxx";
|
|
if ("randomUUID" in crypto) {
|
|
var uuid = crypto.randomUUID();
|
|
return uuid.substring(0, 8) + uuid.substring(9, 13) + uuid.substring(14, 18) + uuid.substring(19, 23) + uuid.substring(24);
|
|
}
|
|
return Array.from(crypto.getRandomValues(new Uint8Array(16))).map(function(x) {
|
|
return hexify(x);
|
|
}).join("");
|
|
}
|
|
var adoptedStyleOverrides = /* @__PURE__ */ new WeakMap();
|
|
var overrideList = /* @__PURE__ */ new WeakSet();
|
|
function createAdoptedStyleSheetOverride(node) {
|
|
var cancelAsyncOperations = false;
|
|
function injectSheet(sheet, override) {
|
|
var newSheets = __spreadArray([], __read(node.adoptedStyleSheets), false);
|
|
var sheetIndex = newSheets.indexOf(sheet);
|
|
var existingIndex = newSheets.indexOf(override);
|
|
if (sheetIndex === existingIndex - 1) {
|
|
return;
|
|
}
|
|
if (existingIndex >= 0) {
|
|
newSheets.splice(existingIndex, 1);
|
|
}
|
|
newSheets.splice(sheetIndex + 1, 0, override);
|
|
node.adoptedStyleSheets = newSheets;
|
|
}
|
|
function destroy2() {
|
|
cancelAsyncOperations = true;
|
|
var newSheets = __spreadArray([], __read(node.adoptedStyleSheets), false);
|
|
node.adoptedStyleSheets.forEach(function(adoptedStyleSheet) {
|
|
if (overrideList.has(adoptedStyleSheet)) {
|
|
var existingIndex = newSheets.indexOf(adoptedStyleSheet);
|
|
if (existingIndex >= 0) {
|
|
newSheets.splice(existingIndex, 1);
|
|
}
|
|
adoptedStyleOverrides.delete(adoptedStyleSheet);
|
|
overrideList.delete(adoptedStyleSheet);
|
|
}
|
|
});
|
|
node.adoptedStyleSheets = newSheets;
|
|
}
|
|
function render3(theme, ignoreImageAnalysis) {
|
|
node.adoptedStyleSheets.forEach(function(sheet) {
|
|
if (overrideList.has(sheet)) {
|
|
return;
|
|
}
|
|
var rules2 = sheet.rules;
|
|
var override = new CSSStyleSheet();
|
|
function prepareOverridesSheet() {
|
|
for (var i = override.cssRules.length - 1; i >= 0; i--) {
|
|
override.deleteRule(i);
|
|
}
|
|
injectSheet(sheet, override);
|
|
adoptedStyleOverrides.set(sheet, override);
|
|
overrideList.add(override);
|
|
return override;
|
|
}
|
|
var sheetModifier = createStyleSheetModifier();
|
|
sheetModifier.modifySheet({
|
|
prepareSheet: prepareOverridesSheet,
|
|
sourceCSSRules: rules2,
|
|
theme,
|
|
ignoreImageAnalysis,
|
|
force: false,
|
|
isAsyncCancelled: function() {
|
|
return cancelAsyncOperations;
|
|
}
|
|
});
|
|
});
|
|
}
|
|
return {
|
|
render: render3,
|
|
destroy: destroy2
|
|
};
|
|
}
|
|
function injectProxy(enableStyleSheetsProxy) {
|
|
document.dispatchEvent(new CustomEvent("__darkreader__inlineScriptsAllowed"));
|
|
var addRuleDescriptor = Object.getOwnPropertyDescriptor(CSSStyleSheet.prototype, "addRule");
|
|
var insertRuleDescriptor = Object.getOwnPropertyDescriptor(CSSStyleSheet.prototype, "insertRule");
|
|
var deleteRuleDescriptor = Object.getOwnPropertyDescriptor(CSSStyleSheet.prototype, "deleteRule");
|
|
var removeRuleDescriptor = Object.getOwnPropertyDescriptor(CSSStyleSheet.prototype, "removeRule");
|
|
var documentStyleSheetsDescriptor = enableStyleSheetsProxy ? Object.getOwnPropertyDescriptor(Document.prototype, "styleSheets") : null;
|
|
var shouldWrapHTMLElement = location.hostname.endsWith("baidu.com");
|
|
var getElementsByTagNameDescriptor = shouldWrapHTMLElement ? Object.getOwnPropertyDescriptor(Element.prototype, "getElementsByTagName") : null;
|
|
var cleanUp = function() {
|
|
Object.defineProperty(CSSStyleSheet.prototype, "addRule", addRuleDescriptor);
|
|
Object.defineProperty(CSSStyleSheet.prototype, "insertRule", insertRuleDescriptor);
|
|
Object.defineProperty(CSSStyleSheet.prototype, "deleteRule", deleteRuleDescriptor);
|
|
Object.defineProperty(CSSStyleSheet.prototype, "removeRule", removeRuleDescriptor);
|
|
document.removeEventListener("__darkreader__cleanUp", cleanUp);
|
|
document.removeEventListener("__darkreader__addUndefinedResolver", addUndefinedResolver);
|
|
if (enableStyleSheetsProxy) {
|
|
Object.defineProperty(Document.prototype, "styleSheets", documentStyleSheetsDescriptor);
|
|
}
|
|
if (shouldWrapHTMLElement) {
|
|
Object.defineProperty(Element.prototype, "getElementsByTagName", getElementsByTagNameDescriptor);
|
|
}
|
|
};
|
|
var addUndefinedResolver = function(e) {
|
|
customElements.whenDefined(e.detail.tag).then(function() {
|
|
document.dispatchEvent(new CustomEvent("__darkreader__isDefined", { detail: { tag: e.detail.tag } }));
|
|
});
|
|
};
|
|
document.addEventListener("__darkreader__cleanUp", cleanUp);
|
|
document.addEventListener("__darkreader__addUndefinedResolver", addUndefinedResolver);
|
|
var updateSheetEvent = new Event("__darkreader__updateSheet");
|
|
function proxyAddRule(selector, style, index2) {
|
|
addRuleDescriptor.value.call(this, selector, style, index2);
|
|
if (this.ownerNode && !this.ownerNode.classList.contains("darkreader")) {
|
|
this.ownerNode.dispatchEvent(updateSheetEvent);
|
|
}
|
|
return -1;
|
|
}
|
|
function proxyInsertRule(rule, index2) {
|
|
var returnValue = insertRuleDescriptor.value.call(this, rule, index2);
|
|
if (this.ownerNode && !this.ownerNode.classList.contains("darkreader")) {
|
|
this.ownerNode.dispatchEvent(updateSheetEvent);
|
|
}
|
|
return returnValue;
|
|
}
|
|
function proxyDeleteRule(index2) {
|
|
deleteRuleDescriptor.value.call(this, index2);
|
|
if (this.ownerNode && !this.ownerNode.classList.contains("darkreader")) {
|
|
this.ownerNode.dispatchEvent(updateSheetEvent);
|
|
}
|
|
}
|
|
function proxyRemoveRule(index2) {
|
|
removeRuleDescriptor.value.call(this, index2);
|
|
if (this.ownerNode && !this.ownerNode.classList.contains("darkreader")) {
|
|
this.ownerNode.dispatchEvent(updateSheetEvent);
|
|
}
|
|
}
|
|
function proxyDocumentStyleSheets() {
|
|
var docSheets = documentStyleSheetsDescriptor.get.call(this);
|
|
var filtered = __spreadArray([], __read(docSheets), false).filter(function(styleSheet) {
|
|
return !styleSheet.ownerNode.classList.contains("darkreader");
|
|
});
|
|
return Object.setPrototypeOf(filtered, StyleSheetList.prototype);
|
|
}
|
|
function proxyGetElementsByTagName(tagName) {
|
|
var _this = this;
|
|
if (tagName !== "style") {
|
|
return getElementsByTagNameDescriptor.value.call(this, tagName);
|
|
}
|
|
var getCurrentElementValue = function() {
|
|
var elements2 = getElementsByTagNameDescriptor.value.call(_this, tagName);
|
|
return Object.setPrototypeOf(__spreadArray([], __read(elements2), false).filter(function(element) {
|
|
return !element.classList.contains("darkreader");
|
|
}), NodeList.prototype);
|
|
};
|
|
var elements = getCurrentElementValue();
|
|
var NodeListBehavior = {
|
|
get: function(_, property) {
|
|
return getCurrentElementValue()[Number(property)];
|
|
}
|
|
};
|
|
elements = new Proxy(elements, NodeListBehavior);
|
|
return elements;
|
|
}
|
|
Object.defineProperty(CSSStyleSheet.prototype, "addRule", Object.assign({}, addRuleDescriptor, { value: proxyAddRule }));
|
|
Object.defineProperty(CSSStyleSheet.prototype, "insertRule", Object.assign({}, insertRuleDescriptor, { value: proxyInsertRule }));
|
|
Object.defineProperty(CSSStyleSheet.prototype, "deleteRule", Object.assign({}, deleteRuleDescriptor, { value: proxyDeleteRule }));
|
|
Object.defineProperty(CSSStyleSheet.prototype, "removeRule", Object.assign({}, removeRuleDescriptor, { value: proxyRemoveRule }));
|
|
if (enableStyleSheetsProxy) {
|
|
Object.defineProperty(Document.prototype, "styleSheets", Object.assign({}, documentStyleSheetsDescriptor, { get: proxyDocumentStyleSheets }));
|
|
}
|
|
if (shouldWrapHTMLElement) {
|
|
Object.defineProperty(Element.prototype, "getElementsByTagName", Object.assign({}, getElementsByTagNameDescriptor, { value: proxyGetElementsByTagName }));
|
|
}
|
|
}
|
|
var INSTANCE_ID = generateUID();
|
|
var styleManagers = /* @__PURE__ */ new Map();
|
|
var adoptedStyleManagers = [];
|
|
var filter = null;
|
|
var fixes = null;
|
|
var isIFrame$1 = null;
|
|
var ignoredImageAnalysisSelectors = null;
|
|
var ignoredInlineSelectors = null;
|
|
function createOrUpdateStyle(className, root) {
|
|
if (root === void 0) {
|
|
root = document.head || document;
|
|
}
|
|
var element = root.querySelector("." + className);
|
|
if (!element) {
|
|
element = document.createElement("style");
|
|
element.classList.add("darkreader");
|
|
element.classList.add(className);
|
|
element.media = "screen";
|
|
element.textContent = "";
|
|
}
|
|
return element;
|
|
}
|
|
function createOrUpdateScript(className, root) {
|
|
if (root === void 0) {
|
|
root = document.head || document;
|
|
}
|
|
var element = root.querySelector("." + className);
|
|
if (!element) {
|
|
element = document.createElement("script");
|
|
element.classList.add("darkreader");
|
|
element.classList.add(className);
|
|
}
|
|
return element;
|
|
}
|
|
var nodePositionWatchers = /* @__PURE__ */ new Map();
|
|
function setupNodePositionWatcher(node, alias) {
|
|
nodePositionWatchers.has(alias) && nodePositionWatchers.get(alias).stop();
|
|
nodePositionWatchers.set(alias, watchForNodePosition(node, "parent"));
|
|
}
|
|
function stopStylePositionWatchers() {
|
|
forEach2(nodePositionWatchers.values(), function(watcher) {
|
|
return watcher.stop();
|
|
});
|
|
nodePositionWatchers.clear();
|
|
}
|
|
function createStaticStyleOverrides() {
|
|
var fallbackStyle = createOrUpdateStyle("darkreader--fallback", document);
|
|
fallbackStyle.textContent = getModifiedFallbackStyle(filter, { strict: true });
|
|
document.head.insertBefore(fallbackStyle, document.head.firstChild);
|
|
setupNodePositionWatcher(fallbackStyle, "fallback");
|
|
var userAgentStyle = createOrUpdateStyle("darkreader--user-agent");
|
|
userAgentStyle.textContent = getModifiedUserAgentStyle(filter, isIFrame$1, filter.styleSystemControls);
|
|
document.head.insertBefore(userAgentStyle, fallbackStyle.nextSibling);
|
|
setupNodePositionWatcher(userAgentStyle, "user-agent");
|
|
var textStyle = createOrUpdateStyle("darkreader--text");
|
|
if (filter.useFont || filter.textStroke > 0) {
|
|
textStyle.textContent = createTextStyle(filter);
|
|
} else {
|
|
textStyle.textContent = "";
|
|
}
|
|
document.head.insertBefore(textStyle, fallbackStyle.nextSibling);
|
|
setupNodePositionWatcher(textStyle, "text");
|
|
var invertStyle = createOrUpdateStyle("darkreader--invert");
|
|
if (fixes && Array.isArray(fixes.invert) && fixes.invert.length > 0) {
|
|
invertStyle.textContent = [
|
|
fixes.invert.join(", ") + " {",
|
|
" filter: " + getCSSFilterValue(__assign(__assign({}, filter), { contrast: filter.mode === 0 ? filter.contrast : clamp2(filter.contrast - 10, 0, 100) })) + " !important;",
|
|
"}"
|
|
].join("\n");
|
|
} else {
|
|
invertStyle.textContent = "";
|
|
}
|
|
document.head.insertBefore(invertStyle, textStyle.nextSibling);
|
|
setupNodePositionWatcher(invertStyle, "invert");
|
|
var inlineStyle = createOrUpdateStyle("darkreader--inline");
|
|
inlineStyle.textContent = getInlineOverrideStyle();
|
|
document.head.insertBefore(inlineStyle, invertStyle.nextSibling);
|
|
setupNodePositionWatcher(inlineStyle, "inline");
|
|
var overrideStyle = createOrUpdateStyle("darkreader--override");
|
|
overrideStyle.textContent = fixes && fixes.css ? replaceCSSTemplates(fixes.css) : "";
|
|
document.head.appendChild(overrideStyle);
|
|
setupNodePositionWatcher(overrideStyle, "override");
|
|
var variableStyle = createOrUpdateStyle("darkreader--variables");
|
|
var selectionColors = getSelectionColor(filter);
|
|
var darkSchemeBackgroundColor = filter.darkSchemeBackgroundColor, darkSchemeTextColor = filter.darkSchemeTextColor, lightSchemeBackgroundColor = filter.lightSchemeBackgroundColor, lightSchemeTextColor = filter.lightSchemeTextColor, mode = filter.mode;
|
|
var schemeBackgroundColor = mode === 0 ? lightSchemeBackgroundColor : darkSchemeBackgroundColor;
|
|
var schemeTextColor = mode === 0 ? lightSchemeTextColor : darkSchemeTextColor;
|
|
schemeBackgroundColor = modifyBackgroundColor(parse2(schemeBackgroundColor), filter);
|
|
schemeTextColor = modifyForegroundColor(parse2(schemeTextColor), filter);
|
|
variableStyle.textContent = [
|
|
":root {",
|
|
" --darkreader-neutral-background: " + schemeBackgroundColor + ";",
|
|
" --darkreader-neutral-text: " + schemeTextColor + ";",
|
|
" --darkreader-selection-background: " + selectionColors.backgroundColorSelection + ";",
|
|
" --darkreader-selection-text: " + selectionColors.foregroundColorSelection + ";",
|
|
"}"
|
|
].join("\n");
|
|
document.head.insertBefore(variableStyle, inlineStyle.nextSibling);
|
|
setupNodePositionWatcher(variableStyle, "variables");
|
|
var rootVarsStyle = createOrUpdateStyle("darkreader--root-vars");
|
|
document.head.insertBefore(rootVarsStyle, variableStyle.nextSibling);
|
|
var proxyScript = createOrUpdateScript("darkreader--proxy");
|
|
proxyScript.append("(" + injectProxy + ")(!" + (fixes && fixes.disableStyleSheetsProxy) + ")");
|
|
document.head.insertBefore(proxyScript, rootVarsStyle.nextSibling);
|
|
proxyScript.remove();
|
|
}
|
|
var shadowRootsWithOverrides = /* @__PURE__ */ new Set();
|
|
function createShadowStaticStyleOverrides(root) {
|
|
var inlineStyle = createOrUpdateStyle("darkreader--inline", root);
|
|
inlineStyle.textContent = getInlineOverrideStyle();
|
|
root.insertBefore(inlineStyle, root.firstChild);
|
|
var overrideStyle = createOrUpdateStyle("darkreader--override", root);
|
|
overrideStyle.textContent = fixes && fixes.css ? replaceCSSTemplates(fixes.css) : "";
|
|
root.insertBefore(overrideStyle, inlineStyle.nextSibling);
|
|
var invertStyle = createOrUpdateStyle("darkreader--invert", root);
|
|
if (fixes && Array.isArray(fixes.invert) && fixes.invert.length > 0) {
|
|
invertStyle.textContent = [
|
|
fixes.invert.join(", ") + " {",
|
|
" filter: " + getCSSFilterValue(__assign(__assign({}, filter), { contrast: filter.mode === 0 ? filter.contrast : clamp2(filter.contrast - 10, 0, 100) })) + " !important;",
|
|
"}"
|
|
].join("\n");
|
|
} else {
|
|
invertStyle.textContent = "";
|
|
}
|
|
root.insertBefore(invertStyle, overrideStyle.nextSibling);
|
|
shadowRootsWithOverrides.add(root);
|
|
}
|
|
function replaceCSSTemplates($cssText) {
|
|
return $cssText.replace(/\${(.+?)}/g, function(_, $color) {
|
|
var color = tryParseColor($color);
|
|
if (color) {
|
|
return modifyColor(color, filter);
|
|
}
|
|
return $color;
|
|
});
|
|
}
|
|
function cleanFallbackStyle() {
|
|
var fallback = document.querySelector(".darkreader--fallback");
|
|
if (fallback) {
|
|
fallback.textContent = "";
|
|
}
|
|
}
|
|
function createDynamicStyleOverrides() {
|
|
cancelRendering();
|
|
var allStyles = getManageableStyles(document);
|
|
var newManagers = allStyles.filter(function(style) {
|
|
return !styleManagers.has(style);
|
|
}).map(function(style) {
|
|
return createManager(style);
|
|
});
|
|
newManagers.map(function(manager) {
|
|
return manager.details({ secondRound: false });
|
|
}).filter(function(detail) {
|
|
return detail && detail.rules.length > 0;
|
|
}).forEach(function(detail) {
|
|
variablesStore.addRulesForMatching(detail.rules);
|
|
});
|
|
variablesStore.matchVariablesAndDependants();
|
|
variablesStore.setOnRootVariableChange(function() {
|
|
variablesStore.putRootVars(document.head.querySelector(".darkreader--root-vars"), filter);
|
|
});
|
|
variablesStore.putRootVars(document.head.querySelector(".darkreader--root-vars"), filter);
|
|
styleManagers.forEach(function(manager) {
|
|
return manager.render(filter, ignoredImageAnalysisSelectors);
|
|
});
|
|
if (loadingStyles.size === 0) {
|
|
cleanFallbackStyle();
|
|
}
|
|
newManagers.forEach(function(manager) {
|
|
return manager.watch();
|
|
});
|
|
var inlineStyleElements = toArray2(document.querySelectorAll(INLINE_STYLE_SELECTOR));
|
|
iterateShadowHosts(document.documentElement, function(host) {
|
|
createShadowStaticStyleOverrides(host.shadowRoot);
|
|
var elements = host.shadowRoot.querySelectorAll(INLINE_STYLE_SELECTOR);
|
|
if (elements.length > 0) {
|
|
push(inlineStyleElements, elements);
|
|
}
|
|
});
|
|
inlineStyleElements.forEach(function(el) {
|
|
return overrideInlineStyle(el, filter, ignoredInlineSelectors, ignoredImageAnalysisSelectors);
|
|
});
|
|
handleAdoptedStyleSheets(document);
|
|
}
|
|
var loadingStylesCounter = 0;
|
|
var loadingStyles = /* @__PURE__ */ new Set();
|
|
function createManager(element) {
|
|
var loadingStyleId = ++loadingStylesCounter;
|
|
function loadingStart() {
|
|
if (!isDOMReady() || !didDocumentShowUp) {
|
|
loadingStyles.add(loadingStyleId);
|
|
logInfo("Current amount of styles loading: " + loadingStyles.size);
|
|
var fallbackStyle = document.querySelector(".darkreader--fallback");
|
|
if (!fallbackStyle.textContent) {
|
|
fallbackStyle.textContent = getModifiedFallbackStyle(filter, { strict: false });
|
|
}
|
|
}
|
|
}
|
|
function loadingEnd() {
|
|
loadingStyles.delete(loadingStyleId);
|
|
logInfo("Removed loadingStyle " + loadingStyleId + ", now awaiting: " + loadingStyles.size);
|
|
if (loadingStyles.size === 0 && isDOMReady()) {
|
|
cleanFallbackStyle();
|
|
}
|
|
}
|
|
function update() {
|
|
var details = manager.details({ secondRound: true });
|
|
if (!details) {
|
|
return;
|
|
}
|
|
variablesStore.addRulesForMatching(details.rules);
|
|
variablesStore.matchVariablesAndDependants();
|
|
manager.render(filter, ignoredImageAnalysisSelectors);
|
|
}
|
|
var manager = manageStyle(element, { update, loadingStart, loadingEnd });
|
|
styleManagers.set(element, manager);
|
|
return manager;
|
|
}
|
|
function removeManager(element) {
|
|
var manager = styleManagers.get(element);
|
|
if (manager) {
|
|
manager.destroy();
|
|
styleManagers.delete(element);
|
|
}
|
|
}
|
|
var throttledRenderAllStyles = throttle2(function(callback) {
|
|
styleManagers.forEach(function(manager) {
|
|
return manager.render(filter, ignoredImageAnalysisSelectors);
|
|
});
|
|
adoptedStyleManagers.forEach(function(manager) {
|
|
return manager.render(filter, ignoredImageAnalysisSelectors);
|
|
});
|
|
callback && callback();
|
|
});
|
|
var cancelRendering = function() {
|
|
throttledRenderAllStyles.cancel();
|
|
};
|
|
function onDOMReady() {
|
|
if (loadingStyles.size === 0) {
|
|
cleanFallbackStyle();
|
|
return;
|
|
}
|
|
}
|
|
var documentVisibilityListener = null;
|
|
var didDocumentShowUp = typeof document !== "undefined" && !document.hidden;
|
|
function watchForDocumentVisibility(callback) {
|
|
var alreadyWatching = Boolean(documentVisibilityListener);
|
|
documentVisibilityListener = function() {
|
|
if (!document.hidden) {
|
|
stopWatchingForDocumentVisibility();
|
|
callback();
|
|
didDocumentShowUp = true;
|
|
}
|
|
};
|
|
if (!alreadyWatching) {
|
|
document.addEventListener("visibilitychange", documentVisibilityListener);
|
|
}
|
|
}
|
|
function stopWatchingForDocumentVisibility() {
|
|
document.removeEventListener("visibilitychange", documentVisibilityListener);
|
|
documentVisibilityListener = null;
|
|
}
|
|
function createThemeAndWatchForUpdates() {
|
|
createStaticStyleOverrides();
|
|
function runDynamicStyle() {
|
|
createDynamicStyleOverrides();
|
|
watchForUpdates();
|
|
}
|
|
if (document.hidden) {
|
|
watchForDocumentVisibility(runDynamicStyle);
|
|
} else {
|
|
runDynamicStyle();
|
|
}
|
|
changeMetaThemeColorWhenAvailable(filter);
|
|
}
|
|
function handleAdoptedStyleSheets(node) {
|
|
if (Array.isArray(node.adoptedStyleSheets)) {
|
|
if (node.adoptedStyleSheets.length > 0) {
|
|
var newManger = createAdoptedStyleSheetOverride(node);
|
|
adoptedStyleManagers.push(newManger);
|
|
newManger.render(filter, ignoredImageAnalysisSelectors);
|
|
}
|
|
}
|
|
}
|
|
function watchForUpdates() {
|
|
var managedStyles = Array.from(styleManagers.keys());
|
|
watchForStyleChanges(managedStyles, function(_a2) {
|
|
var created = _a2.created, updated = _a2.updated, removed = _a2.removed, moved = _a2.moved;
|
|
var stylesToRemove = removed;
|
|
var stylesToManage = created.concat(updated).concat(moved).filter(function(style) {
|
|
return !styleManagers.has(style);
|
|
});
|
|
var stylesToRestore = moved.filter(function(style) {
|
|
return styleManagers.has(style);
|
|
});
|
|
stylesToRemove.forEach(function(style) {
|
|
return removeManager(style);
|
|
});
|
|
var newManagers = stylesToManage.map(function(style) {
|
|
return createManager(style);
|
|
});
|
|
newManagers.map(function(manager) {
|
|
return manager.details({ secondRound: false });
|
|
}).filter(function(detail) {
|
|
return detail && detail.rules.length > 0;
|
|
}).forEach(function(detail) {
|
|
variablesStore.addRulesForMatching(detail.rules);
|
|
});
|
|
variablesStore.matchVariablesAndDependants();
|
|
newManagers.forEach(function(manager) {
|
|
return manager.render(filter, ignoredImageAnalysisSelectors);
|
|
});
|
|
newManagers.forEach(function(manager) {
|
|
return manager.watch();
|
|
});
|
|
stylesToRestore.forEach(function(style) {
|
|
return styleManagers.get(style).restore();
|
|
});
|
|
}, function(shadowRoot) {
|
|
createShadowStaticStyleOverrides(shadowRoot);
|
|
handleAdoptedStyleSheets(shadowRoot);
|
|
});
|
|
watchForInlineStyles(function(element) {
|
|
overrideInlineStyle(element, filter, ignoredInlineSelectors, ignoredImageAnalysisSelectors);
|
|
if (element === document.documentElement) {
|
|
var styleAttr = element.getAttribute("style");
|
|
if (styleAttr.includes("--")) {
|
|
variablesStore.matchVariablesAndDependants();
|
|
variablesStore.putRootVars(document.head.querySelector(".darkreader--root-vars"), filter);
|
|
}
|
|
}
|
|
}, function(root) {
|
|
createShadowStaticStyleOverrides(root);
|
|
var inlineStyleElements = root.querySelectorAll(INLINE_STYLE_SELECTOR);
|
|
if (inlineStyleElements.length > 0) {
|
|
forEach2(inlineStyleElements, function(el) {
|
|
return overrideInlineStyle(el, filter, ignoredInlineSelectors, ignoredImageAnalysisSelectors);
|
|
});
|
|
}
|
|
});
|
|
addDOMReadyListener(onDOMReady);
|
|
}
|
|
function stopWatchingForUpdates() {
|
|
styleManagers.forEach(function(manager) {
|
|
return manager.pause();
|
|
});
|
|
stopStylePositionWatchers();
|
|
stopWatchingForStyleChanges();
|
|
stopWatchingForInlineStyles();
|
|
removeDOMReadyListener(onDOMReady);
|
|
cleanReadyStateCompleteListeners();
|
|
}
|
|
function createDarkReaderInstanceMarker() {
|
|
var metaElement = document.createElement("meta");
|
|
metaElement.name = "darkreader";
|
|
metaElement.content = INSTANCE_ID;
|
|
document.head.appendChild(metaElement);
|
|
}
|
|
function isAnotherDarkReaderInstanceActive() {
|
|
var meta = document.querySelector('meta[name="darkreader"]');
|
|
if (meta) {
|
|
if (meta.content !== INSTANCE_ID) {
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
createDarkReaderInstanceMarker();
|
|
return false;
|
|
}
|
|
function createOrUpdateDynamicTheme(filterConfig, dynamicThemeFixes, iframe) {
|
|
filter = filterConfig;
|
|
fixes = dynamicThemeFixes;
|
|
if (fixes) {
|
|
ignoredImageAnalysisSelectors = Array.isArray(fixes.ignoreImageAnalysis) ? fixes.ignoreImageAnalysis : [];
|
|
ignoredInlineSelectors = Array.isArray(fixes.ignoreInlineStyle) ? fixes.ignoreInlineStyle : [];
|
|
} else {
|
|
ignoredImageAnalysisSelectors = [];
|
|
ignoredInlineSelectors = [];
|
|
}
|
|
isIFrame$1 = iframe;
|
|
if (document.head) {
|
|
if (isAnotherDarkReaderInstanceActive()) {
|
|
return;
|
|
}
|
|
document.documentElement.setAttribute("data-darkreader-mode", "dynamic");
|
|
document.documentElement.setAttribute("data-darkreader-scheme", filter.mode ? "dark" : "dimmed");
|
|
createThemeAndWatchForUpdates();
|
|
} else {
|
|
if (!isFirefox) {
|
|
var fallbackStyle = createOrUpdateStyle("darkreader--fallback");
|
|
document.documentElement.appendChild(fallbackStyle);
|
|
fallbackStyle.textContent = getModifiedFallbackStyle(filter, { strict: true });
|
|
}
|
|
var headObserver_1 = new MutationObserver(function() {
|
|
if (document.head) {
|
|
headObserver_1.disconnect();
|
|
if (isAnotherDarkReaderInstanceActive()) {
|
|
removeDynamicTheme();
|
|
return;
|
|
}
|
|
createThemeAndWatchForUpdates();
|
|
}
|
|
});
|
|
headObserver_1.observe(document, { childList: true, subtree: true });
|
|
}
|
|
}
|
|
function removeProxy() {
|
|
document.dispatchEvent(new CustomEvent("__darkreader__cleanUp"));
|
|
removeNode(document.head.querySelector(".darkreader--proxy"));
|
|
}
|
|
function removeDynamicTheme() {
|
|
document.documentElement.removeAttribute("data-darkreader-mode");
|
|
document.documentElement.removeAttribute("data-darkreader-scheme");
|
|
cleanDynamicThemeCache();
|
|
removeNode(document.querySelector(".darkreader--fallback"));
|
|
if (document.head) {
|
|
restoreMetaThemeColor();
|
|
removeNode(document.head.querySelector(".darkreader--user-agent"));
|
|
removeNode(document.head.querySelector(".darkreader--text"));
|
|
removeNode(document.head.querySelector(".darkreader--invert"));
|
|
removeNode(document.head.querySelector(".darkreader--inline"));
|
|
removeNode(document.head.querySelector(".darkreader--override"));
|
|
removeNode(document.head.querySelector(".darkreader--variables"));
|
|
removeNode(document.head.querySelector(".darkreader--root-vars"));
|
|
removeNode(document.head.querySelector('meta[name="darkreader"]'));
|
|
removeProxy();
|
|
}
|
|
shadowRootsWithOverrides.forEach(function(root) {
|
|
removeNode(root.querySelector(".darkreader--inline"));
|
|
removeNode(root.querySelector(".darkreader--override"));
|
|
});
|
|
shadowRootsWithOverrides.clear();
|
|
forEach2(styleManagers.keys(), function(el) {
|
|
return removeManager(el);
|
|
});
|
|
loadingStyles.clear();
|
|
cleanLoadingLinks();
|
|
forEach2(document.querySelectorAll(".darkreader"), removeNode);
|
|
adoptedStyleManagers.forEach(function(manager) {
|
|
manager.destroy();
|
|
});
|
|
adoptedStyleManagers.splice(0);
|
|
}
|
|
function cleanDynamicThemeCache() {
|
|
variablesStore.clear();
|
|
parsedURLCache.clear();
|
|
stopWatchingForDocumentVisibility();
|
|
cancelRendering();
|
|
stopWatchingForUpdates();
|
|
cleanModificationCache();
|
|
}
|
|
var blobRegex = /url\(\"(blob\:.*?)\"\)/g;
|
|
function replaceBlobs(text) {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
var promises, data;
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
promises = [];
|
|
getMatches(blobRegex, text, 1).forEach(function(url2) {
|
|
var promise = loadAsDataURL(url2);
|
|
promises.push(promise);
|
|
});
|
|
return [4, Promise.all(promises)];
|
|
case 1:
|
|
data = _a2.sent();
|
|
return [2, text.replace(blobRegex, function() {
|
|
return 'url("' + data.shift() + '")';
|
|
})];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
var banner = '/*\n _______\n / \\\n .==. .==.\n (( ))==(( ))\n / "==" "=="\\\n /____|| || ||___\\\n ________ ____ ________ ___ ___\n | ___ \\ / \\ | ___ \\ | | / /\n | | \\ \\ / /\\ \\ | | \\ \\| |_/ /\n | | ) / /__\\ \\ | |__/ /| ___ \\\n | |__/ / ______ \\| ____ \\| | \\ \\\n_______|_______/__/ ____ \\__\\__|___\\__\\__|___\\__\\____\n| ___ \\ | ____/ / \\ | ___ \\ | ____| ___ \\\n| | \\ \\| |___ / /\\ \\ | | \\ \\| |___| | \\ \\\n| |__/ /| ____/ /__\\ \\ | | ) | ____| |__/ /\n| ____ \\| |__/ ______ \\| |__/ /| |___| ____ \\\n|__| \\__\\____/__/ \\__\\_______/ |______|__| \\__\\\n https://darkreader.org\n*/\n\n/*! Dark reader generated CSS | Licensed under MIT https://github.com/darkreader/darkreader/blob/master/LICENSE */\n';
|
|
function collectCSS() {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
function addStaticCSS(selector, comment) {
|
|
var staticStyle = document.querySelector(selector);
|
|
if (staticStyle && staticStyle.textContent) {
|
|
css.push("/* " + comment + " */");
|
|
css.push(staticStyle.textContent);
|
|
css.push("");
|
|
}
|
|
}
|
|
var css, modifiedCSS, formattedCSS, _a2, _b;
|
|
return __generator(this, function(_c) {
|
|
switch (_c.label) {
|
|
case 0:
|
|
css = [banner];
|
|
addStaticCSS(".darkreader--fallback", "Fallback Style");
|
|
addStaticCSS(".darkreader--user-agent", "User-Agent Style");
|
|
addStaticCSS(".darkreader--text", "Text Style");
|
|
addStaticCSS(".darkreader--invert", "Invert Style");
|
|
addStaticCSS(".darkreader--variables", "Variables Style");
|
|
modifiedCSS = [];
|
|
document.querySelectorAll(".darkreader--sync").forEach(function(element) {
|
|
forEach2(element.sheet.cssRules, function(rule) {
|
|
rule && rule.cssText && modifiedCSS.push(rule.cssText);
|
|
});
|
|
});
|
|
if (!modifiedCSS.length)
|
|
return [3, 2];
|
|
formattedCSS = formatCSS(modifiedCSS.join("\n"));
|
|
css.push("/* Modified CSS */");
|
|
_b = (_a2 = css).push;
|
|
return [4, replaceBlobs(formattedCSS)];
|
|
case 1:
|
|
_b.apply(_a2, [_c.sent()]);
|
|
css.push("");
|
|
_c.label = 2;
|
|
case 2:
|
|
addStaticCSS(".darkreader--override", "Override Style");
|
|
return [2, css.join("\n")];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
var isDarkReaderEnabled = false;
|
|
var isIFrame = function() {
|
|
if (typeof window === "undefined")
|
|
return false;
|
|
try {
|
|
return window.self !== window.top;
|
|
} catch (err) {
|
|
console.warn(err);
|
|
return true;
|
|
}
|
|
}();
|
|
function enable2(themeOptions, fixes2) {
|
|
if (themeOptions === void 0) {
|
|
themeOptions = {};
|
|
}
|
|
if (fixes2 === void 0) {
|
|
fixes2 = null;
|
|
}
|
|
var theme = __assign(__assign({}, DEFAULT_THEME), themeOptions);
|
|
if (theme.engine !== ThemeEngines.dynamicTheme) {
|
|
throw new Error("Theme engine is not supported.");
|
|
}
|
|
createOrUpdateDynamicTheme(theme, fixes2, isIFrame);
|
|
isDarkReaderEnabled = true;
|
|
}
|
|
function isEnabled() {
|
|
return isDarkReaderEnabled;
|
|
}
|
|
function disable2() {
|
|
removeDynamicTheme();
|
|
isDarkReaderEnabled = false;
|
|
}
|
|
var store = {
|
|
themeOptions: null,
|
|
fixes: null
|
|
};
|
|
function handleColorScheme() {
|
|
var darkScheme = matchMedia("(prefers-color-scheme: dark)");
|
|
if (darkScheme.matches) {
|
|
enable2(store.themeOptions, store.fixes);
|
|
} else {
|
|
disable2();
|
|
}
|
|
}
|
|
function auto(themeOptions, fixes2) {
|
|
if (themeOptions === void 0) {
|
|
themeOptions = {};
|
|
}
|
|
if (fixes2 === void 0) {
|
|
fixes2 = null;
|
|
}
|
|
var darkScheme = matchMedia("(prefers-color-scheme: dark)");
|
|
if (themeOptions) {
|
|
store = { themeOptions, fixes: fixes2 };
|
|
handleColorScheme();
|
|
if (isMatchMediaChangeEventListenerSupported) {
|
|
darkScheme.addEventListener("change", handleColorScheme);
|
|
} else {
|
|
darkScheme.addListener(handleColorScheme);
|
|
}
|
|
} else {
|
|
if (isMatchMediaChangeEventListenerSupported) {
|
|
darkScheme.removeEventListener("change", handleColorScheme);
|
|
} else {
|
|
darkScheme.removeListener(handleColorScheme);
|
|
}
|
|
disable2();
|
|
}
|
|
}
|
|
function exportGeneratedCSS() {
|
|
return __awaiter(this, void 0, void 0, function() {
|
|
return __generator(this, function(_a2) {
|
|
switch (_a2.label) {
|
|
case 0:
|
|
return [4, collectCSS()];
|
|
case 1:
|
|
return [2, _a2.sent()];
|
|
}
|
|
});
|
|
});
|
|
}
|
|
var setFetchMethod = setFetchMethod$1;
|
|
exports2.auto = auto;
|
|
exports2.disable = disable2;
|
|
exports2.enable = enable2;
|
|
exports2.exportGeneratedCSS = exportGeneratedCSS;
|
|
exports2.isEnabled = isEnabled;
|
|
exports2.setFetchMethod = setFetchMethod;
|
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
});
|
|
})(darkreader, darkreader.exports);
|
|
const __default__ = {
|
|
name: "lay-config-provider"
|
|
};
|
|
const _sfc_main = defineComponent({
|
|
...__default__,
|
|
props: {
|
|
locale: { default: "zh_CN" },
|
|
locales: null,
|
|
theme: { default: "light" },
|
|
themeVariable: null,
|
|
darkPartial: null
|
|
},
|
|
setup(__props) {
|
|
const props = __props;
|
|
const { locale, setLocaleMessage, mergeLocaleMessage } = useI18n();
|
|
const ignoreInlineStyle = [
|
|
".layui-colorpicker-trigger-span",
|
|
"div.layui-color-picker *"
|
|
];
|
|
const fixCss = `
|
|
.lay-progress-circle svg {
|
|
filter: invert(98%) hue-rotate(180deg) contrast(80%) !important;
|
|
}
|
|
`;
|
|
const changeLocale = (lang) => {
|
|
locale.value = lang;
|
|
};
|
|
const changeLocales = (lang, locales, merge) => {
|
|
if (merge) {
|
|
mergeLocaleMessage(lang, locales);
|
|
} else {
|
|
setLocaleMessage(lang, locales);
|
|
}
|
|
};
|
|
const changeTheme = (theme) => {
|
|
const defaultPartial = {
|
|
mode: 1,
|
|
brightness: 100,
|
|
contrast: 90,
|
|
sepia: 0,
|
|
grayscale: 0
|
|
};
|
|
const defaultFixes = {
|
|
css: fixCss,
|
|
invert: [".lay-progress-circle svg"],
|
|
ignoreImageAnalysis: [],
|
|
disableStyleSheetsProxy: false,
|
|
ignoreInlineStyle
|
|
};
|
|
Object.assign(defaultPartial, props.darkPartial);
|
|
if (theme === "dark") {
|
|
if (window) {
|
|
darkreader.exports.setFetchMethod(window.fetch);
|
|
}
|
|
darkreader.exports.enable(defaultPartial, defaultFixes);
|
|
} else if (theme === "light") {
|
|
darkreader.exports.disable();
|
|
} else if (theme === "auto") {
|
|
darkreader.exports.auto(defaultPartial, defaultFixes);
|
|
}
|
|
};
|
|
const changeThemeVariable = (vars) => {
|
|
if (vars != null) {
|
|
const keys = Object.keys(vars);
|
|
for (let i = 0; i < keys.length; i++) {
|
|
const key = keys[i];
|
|
const value = vars[key];
|
|
document.documentElement.style.setProperty(key, value);
|
|
}
|
|
}
|
|
};
|
|
watch(() => props.locale, (lang) => {
|
|
changeLocale(lang);
|
|
}, { immediate: true });
|
|
watch(() => props.locales, (locals) => {
|
|
locals == null ? void 0 : locals.forEach((item) => {
|
|
changeLocales(item.name, item.locale, item.merge);
|
|
});
|
|
}, { immediate: true, deep: true });
|
|
watch(() => props.theme, (theme) => {
|
|
changeTheme(theme);
|
|
}, { immediate: true });
|
|
watch(() => props.themeVariable, (vars) => {
|
|
changeThemeVariable(vars);
|
|
}, { immediate: true, deep: true });
|
|
return (_ctx, _cache) => {
|
|
return renderSlot(_ctx.$slots, "default");
|
|
};
|
|
}
|
|
});
|
|
const component = withInstall(_sfc_main);
|
|
const components = {
|
|
LaySplitPanel: component$g,
|
|
LaySplitPanelItem: component$f,
|
|
LayRadio: component$1i,
|
|
LayRadioGroup: component$1h,
|
|
LayButton: component$1g,
|
|
LayIcon: component$1d,
|
|
LayBacktop: component$1l,
|
|
LayLayout: component$1a,
|
|
LaySide: component$19,
|
|
LayHeader: component$17,
|
|
LayBody: component$18,
|
|
LayFooter: component$16,
|
|
LayLogo: component$15,
|
|
LayPanel: component$14,
|
|
LayCard: component$1b,
|
|
LayProgress: component$13,
|
|
LayButtonGroup: component$1e,
|
|
LayButtonContainer: component$1f,
|
|
LayRow: component$11,
|
|
LayCol: component$12,
|
|
LayInput: component$10,
|
|
LayBadge: component$$,
|
|
LayQuote: component$_,
|
|
LayLine: component$Z,
|
|
LayTimeline: component$Y,
|
|
LayTimelineItem: component$X,
|
|
LayTextarea: component$W,
|
|
LaySwitch: component$V,
|
|
LayCollapse: component$U,
|
|
LayCollapseItem: component$T,
|
|
LayContainer: component$S,
|
|
LayMenu: component$Q,
|
|
LayMenuItem: component$P,
|
|
LayCheckbox: component$O,
|
|
LayForm: component$M,
|
|
LayBreadcrumb: component$L,
|
|
LayBreadcrumbItem: component$K,
|
|
LayAvatar: component$1k,
|
|
LayAvatarList: component$1j,
|
|
LayField: component$J,
|
|
LaySelect: component$I,
|
|
LayScroll: component$G,
|
|
LaySelectOption: component$H,
|
|
LayEmpty: component$F,
|
|
LayFormItem: component$E,
|
|
LayRate: component$D,
|
|
LayDropdown: component$C,
|
|
LayDropdownMenu: component$B,
|
|
LayDropdownMenuItem: component$A,
|
|
LayDropdownSubMenu: component$z,
|
|
LayTab: component$y,
|
|
LayTabItem: component$x,
|
|
LayIconPicker: component$1c,
|
|
LayTree: component$w,
|
|
LayTable: component$u,
|
|
LayPage: component$t,
|
|
LayTransfer: component$s,
|
|
LayCheckboxGroup: component$N,
|
|
LaySlider: component$r,
|
|
LayCarousel: component$q,
|
|
LayCarouselItem: component$p,
|
|
LayColorPicker: component$o,
|
|
LayTooltip: component$n,
|
|
LayInputNumber: component$m,
|
|
LaySkeleton: component$l,
|
|
LaySkeletonItem: component$k,
|
|
LayCountUp: component$R,
|
|
LayStep: component$j,
|
|
LayStepItem: component$i,
|
|
LaySubMenu: component$h,
|
|
LayException: component$e,
|
|
LayResult: component$d,
|
|
LayFullscreen: component$c,
|
|
LayConfigProvider: component,
|
|
LayDatePicker: component$b,
|
|
LayTransition: component$a,
|
|
LayUpload: component$9,
|
|
LayRipple: component$8,
|
|
LayNoticeBar: component$7,
|
|
LayPageHeader: component$6,
|
|
LayCascader: component$5,
|
|
LayAffix: component$4,
|
|
LaySpace: component$3,
|
|
LayTag: component$2,
|
|
LayTagInput: component$1,
|
|
LayTreeSelect: component$v
|
|
};
|
|
const install = (app, options) => {
|
|
for (const key of Object.keys(components)) {
|
|
app.use(components[key], options);
|
|
}
|
|
app.use(i18n);
|
|
app.use(index$10);
|
|
};
|
|
var index = { install };
|
|
export { component$4 as LayAffix, component$1k as LayAvatar, component$1j as LayAvatarList, component$1l as LayBacktop, component$$ as LayBadge, component$18 as LayBody, component$L as LayBreadcrumb, component$K as LayBreadcrumbItem, component$1g as LayButton, component$1f as LayButtonContainer, component$1e as LayButtonGroup, component$1b as LayCard, component$q as LayCarousel, component$p as LayCarouselItem, component$5 as LayCascader, component$O as LayCheckbox, component$N as LayCheckboxGroup, component$12 as LayCol, component$U as LayCollapse, component$T as LayCollapseItem, component$o as LayColorPicker, component as LayConfigProvider, component$S as LayContainer, component$R as LayCountUp, component$b as LayDatePicker, component$C as LayDropdown, component$B as LayDropdownMenu, component$A as LayDropdownMenuItem, component$z as LayDropdownSubMenu, component$F as LayEmpty, component$e as LayException, component$J as LayField, component$16 as LayFooter, component$M as LayForm, component$E as LayFormItem, component$c as LayFullscreen, component$17 as LayHeader, component$1d as LayIcon, component$1c as LayIconPicker, component$10 as LayInput, component$m as LayInputNumber, component$1a as LayLayout, component$Z as LayLine, component$15 as LayLogo, component$Q as LayMenu, component$P as LayMenuItem, component$7 as LayNoticeBar, component$t as LayPage, component$6 as LayPageHeader, component$14 as LayPanel, component$13 as LayProgress, component$_ as LayQuote, component$1i as LayRadio, component$1h as LayRadioGroup, component$D as LayRate, component$d as LayResult, component$8 as LayRipple, component$11 as LayRow, component$G as LayScroll, component$I as LaySelect, component$H as LaySelectOption, component$19 as LaySide, component$l as LaySkeleton, component$k as LaySkeletonItem, component$r as LaySlider, component$3 as LaySpace, component$g as LaySplitPanel, component$f as LaySplitPanelItem, component$j as LayStep, component$i as LayStepItem, component$h as LaySubMenu, component$V as LaySwitch, component$y as LayTab, component$x as LayTabItem, component$u as LayTable, component$2 as LayTag, component$1 as LayTagInput, component$W as LayTextarea, component$Y as LayTimeline, component$X as LayTimelineItem, component$n as LayTooltip, component$s as LayTransfer, component$a as LayTransition, component$w as LayTree, component$v as LayTreeSelect, component$9 as LayUpload, index as default, install, layer, useI18n };
|