c&&ng&&(a.moveTo(e.x,e.y),i=1),0g&&e.xg&&(a.moveTo(e.x,e.y),i=1),0g&&e.xg&&(a.moveTo(e.x,e.y),t=1),0g&&e.xg&&(a.moveTo(e.x,e.y),t=1),0g&&e.xt._scrollDistance_&&o.fillRect(0,0,l,d),!0==t.enableScroll&&o.fillRect(r,0,t.width,d),o.closePath(),o.stroke();var h=[];for(let l=0;l<=t.yAxis.splitNumber;l++)h.push(t.area[0]+n*l);let x=t.area[3],c=t.width-t.area[1];for(let n,l=0;le/f?o.setStrokeStyle(hexToRgb(t[0].color,1)):o.setStrokeStyle(hexToRgb(t[0].color,.3)),o.setLineWidth(3*a.pixelRatio),o.moveTo(g,0),o.lineTo(y,0),o.stroke(),o.rotate(p*n);o.restore(),t=getArcbarDataPoints(t,r,l),o.setLineWidth(r.width),o.setStrokeStyle(t[0].color),o.setLineCap("round"),o.beginPath(),o.arc(s.x,s.y,h,r.startAngle*n,t[0]._proportion_*n,!1),o.stroke();let m=d-2.5*r.width;o.save(),o.translate(s.x,s.y),o.rotate((t[0]._proportion_-1)*n),o.beginPath(),o.setLineWidth(r.width/3);let S=o.createLinearGradient(0,.6*-m,0,.6*m);S.addColorStop("0",hexToRgb("#FFFFFF",0)),S.addColorStop("0.5",hexToRgb(t[0].color,1)),S.addColorStop("1.0",hexToRgb("#FFFFFF",0)),o.setStrokeStyle(S),o.arc(0,0,m,.85*n,1.15*n,!1),o.stroke(),o.beginPath(),o.setLineWidth(1),o.setStrokeStyle(t[0].color),o.setFillStyle(t[0].color),o.moveTo(-m-r.width/3/2,-4),o.lineTo(-m-r.width/3/2-4,0),o.lineTo(-m-r.width/3/2,4),o.lineTo(-m-r.width/3/2,-4),o.stroke(),o.fill(),o.restore()}else{o.setLineWidth(r.width),o.setLineCap("butt");for(let t,a=0;at[l].area[2]||e[1]>t[l].area[3]||e[2]e[0]||0>e[1]||e[2]>a||e[3]>o){n=!0;break}else n=!1;return n}function getBoundingBox(e){var t,a={};a.xMin=180,a.xMax=0,a.yMin=90,a.yMax=0;for(var o,n=0;nh.x?a.xMax:h.x,a.yMin=a.yMinh.y?a.yMax:h.y}}}return a}function coordinateToPoint(e,t,i,a,o,n){return{x:(t-i.xMin)*a+o,y:(i.yMax-e)*a+n}}function pointToCoordinate(e,t,i,a,o,n){return{x:(t-o)/a+i.xMin,y:i.yMax-(e-n)/a}}function isRayIntersectsSegment(e,t,i){if(t[1]==i[1])return!1;if(t[1]>e[1]&&i[1]>e[1])return!1;if(t[1]e[1])return!1;if(i[1]==e[1]&&t[1]>e[1])return!1;if(t[0](e/=.5)?.5*t(e,3):.5*(t(e-2,3)+2)},linear:function(e){return e}};function Animation(e){this.isStop=!1,e.duration="undefined"==typeof e.duration?1e3:e.duration,e.timing=e.timing||"linear";var t=function(){return"undefined"==typeof setTimeout?"undefined"==typeof requestAnimationFrame?function(e){e(null)}:requestAnimationFrame:function(e,t){setTimeout(function(){var t=+new Date;e(t)},t)}}(),i=null,a=function(o){if(null===o||!0===this.isStop)return e.onProcess&&e.onProcess(1),void(e.onAnimationFinish&&e.onAnimationFinish());if(null===i&&(i=o),o-io;o++)t.area[o]=t.padding[o];var d=calLegendData(s,t,a,t.chartData),h=d.area.wholeHeight,x=d.area.wholeWidth;switch(t.legend.position){case"top":t.area[0]+=h;break;case"bottom":t.area[2]+=h;break;case"left":t.area[3]+=x;break;case"right":t.area[1]+=x;}let c={},p=0;if("line"===t.type||"column"===t.type||"area"===t.type||"mix"===t.type||"candle"===t.type){if(c=calYAxisData(n,t,a),p=c.yAxisWidth,t.yAxis.showTitle){let e=0;for(let o=0;ot;t++)e.padding[t]*=e.pixelRatio;t.yAxisWidth=config.yAxisWidth*e.pixelRatio,t.xAxisHeight=config.xAxisHeight*e.pixelRatio,e.enableScroll&&e.xAxis.scrollShow&&(t.xAxisHeight+=6*e.pixelRatio),t.xAxisLineHeight=config.xAxisLineHeight*e.pixelRatio,t.fontSize=e.fontSize,t.titleFontSize=config.titleFontSize*e.pixelRatio,t.subtitleFontSize=config.subtitleFontSize*e.pixelRatio,t.toolTipPadding=config.toolTipPadding*e.pixelRatio,t.toolTipLineHeight=config.toolTipLineHeight*e.pixelRatio,t.columePadding=config.columePadding*e.pixelRatio,e.$this=e.$this?e.$this:this,this.context=uni.createCanvasContext(e.canvasId,e.$this),e.chartData={},this.event=new Event,this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0},this.opts=e,this.config=t,drawCharts.call(this,e.type,e,t,this.context)};Charts.prototype.updateData=function(){let e=0生肖
+ * @Array Of Property
+ * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
+ * @return Cn string
+ */
+ Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'],
+
+ /**
+ * 24节气速查表
+ * @Array Of Property
+ * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"]
+ * @return Cn string
+ */
+ solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'],
+
+ /**
+ * 1900-2100各年的24节气日期速查表
+ * @Array Of Property
+ * @return 0x string For splice
+ */
+ sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f',
+ '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
+ '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa',
+ '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f',
+ 'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f',
+ '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa',
+ '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2',
+ '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f',
+ '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e',
+ '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
+ '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722',
+ '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f',
+ '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
+ '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
+ '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722',
+ '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f',
+ '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
+ '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
+ '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722',
+ '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
+ '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
+ '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
+ '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722',
+ '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
+ '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
+ '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
+ '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722',
+ '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
+ '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
+ '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
+ '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
+ '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
+ '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
+ '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
+ '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
+ '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
+ '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
+ '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
+ '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721',
+ '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2',
+ '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
+ '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
+ '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd',
+ '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
+ '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
+ '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
+ '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd',
+ '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
+ '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
+ '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721',
+ '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5',
+ '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722',
+ '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
+ '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
+ '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35',
+ '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
+ '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721',
+ '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd',
+ '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35',
+ '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
+ '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721',
+ '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5',
+ '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35',
+ '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
+ '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
+ '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35',
+ '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'],
+
+ /**
+ * 数字转中文速查表
+ * @Array Of Property
+ * @trans ['日','一','二','三','四','五','六','七','八','九','十']
+ * @return Cn string
+ */
+ nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'],
+
+ /**
+ * 日期转农历称呼速查表
+ * @Array Of Property
+ * @trans ['初','十','廿','卅']
+ * @return Cn string
+ */
+ nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'],
+
+ /**
+ * 月份转农历称呼速查表
+ * @Array Of Property
+ * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊']
+ * @return Cn string
+ */
+ nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'],
+
+ /**
+ * 返回农历y年一整年的总天数
+ * @param lunar Year
+ * @return Number
+ * @eg:var count = calendar.lYearDays(1987) ;//count=387
+ */
+ lYearDays: function (y) {
+ var i; var sum = 348
+ for (i = 0x8000; i > 0x8; i >>= 1) { sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0 }
+ return (sum + this.leapDays(y))
+ },
+
+ /**
+ * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0
+ * @param lunar Year
+ * @return Number (0-12)
+ * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6
+ */
+ leapMonth: function (y) { // 闰字编码 \u95f0
+ return (this.lunarInfo[y - 1900] & 0xf)
+ },
+
+ /**
+ * 返回农历y年闰月的天数 若该年没有闰月则返回0
+ * @param lunar Year
+ * @return Number (0、29、30)
+ * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29
+ */
+ leapDays: function (y) {
+ if (this.leapMonth(y)) {
+ return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29)
+ }
+ return (0)
+ },
+
+ /**
+ * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法
+ * @param lunar Year
+ * @return Number (-1、29、30)
+ * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29
+ */
+ monthDays: function (y, m) {
+ if (m > 12 || m < 1) { return -1 }// 月份参数从1至12,参数错误返回-1
+ return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29)
+ },
+
+ /**
+ * 返回公历(!)y年m月的天数
+ * @param solar Year
+ * @return Number (-1、28、29、30、31)
+ * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30
+ */
+ solarDays: function (y, m) {
+ if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1
+ var ms = m - 1
+ if (ms == 1) { // 2月份的闰平规律测算后确认返回28或29
+ return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28)
+ } else {
+ return (this.solarMonth[ms])
+ }
+ },
+
+ /**
+ * 农历年份转换为干支纪年
+ * @param lYear 农历年的年份数
+ * @return Cn string
+ */
+ toGanZhiYear: function (lYear) {
+ var ganKey = (lYear - 3) % 10
+ var zhiKey = (lYear - 3) % 12
+ if (ganKey == 0) ganKey = 10// 如果余数为0则为最后一个天干
+ if (zhiKey == 0) zhiKey = 12// 如果余数为0则为最后一个地支
+ return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]
+ },
+
+ /**
+ * 公历月、日判断所属星座
+ * @param cMonth [description]
+ * @param cDay [description]
+ * @return Cn string
+ */
+ toAstro: function (cMonth, cDay) {
+ var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf'
+ var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]
+ return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 座
+ },
+
+ /**
+ * 传入offset偏移量返回干支
+ * @param offset 相对甲子的偏移量
+ * @return Cn string
+ */
+ toGanZhi: function (offset) {
+ return this.Gan[offset % 10] + this.Zhi[offset % 12]
+ },
+
+ /**
+ * 传入公历(!)y年获得该年第n个节气的公历日期
+ * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起
+ * @return day Number
+ * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春
+ */
+ getTerm: function (y, n) {
+ if (y < 1900 || y > 2100) { return -1 }
+ if (n < 1 || n > 24) { return -1 }
+ var _table = this.sTermInfo[y - 1900]
+ var _info = [
+ parseInt('0x' + _table.substr(0, 5)).toString(),
+ parseInt('0x' + _table.substr(5, 5)).toString(),
+ parseInt('0x' + _table.substr(10, 5)).toString(),
+ parseInt('0x' + _table.substr(15, 5)).toString(),
+ parseInt('0x' + _table.substr(20, 5)).toString(),
+ parseInt('0x' + _table.substr(25, 5)).toString()
+ ]
+ var _calday = [
+ _info[0].substr(0, 1),
+ _info[0].substr(1, 2),
+ _info[0].substr(3, 1),
+ _info[0].substr(4, 2),
+
+ _info[1].substr(0, 1),
+ _info[1].substr(1, 2),
+ _info[1].substr(3, 1),
+ _info[1].substr(4, 2),
+
+ _info[2].substr(0, 1),
+ _info[2].substr(1, 2),
+ _info[2].substr(3, 1),
+ _info[2].substr(4, 2),
+
+ _info[3].substr(0, 1),
+ _info[3].substr(1, 2),
+ _info[3].substr(3, 1),
+ _info[3].substr(4, 2),
+
+ _info[4].substr(0, 1),
+ _info[4].substr(1, 2),
+ _info[4].substr(3, 1),
+ _info[4].substr(4, 2),
+
+ _info[5].substr(0, 1),
+ _info[5].substr(1, 2),
+ _info[5].substr(3, 1),
+ _info[5].substr(4, 2)
+ ]
+ return parseInt(_calday[n - 1])
+ },
+
+ /**
+ * 传入农历数字月份返回汉语通俗表示法
+ * @param lunar month
+ * @return Cn string
+ * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月'
+ */
+ toChinaMonth: function (m) { // 月 => \u6708
+ if (m > 12 || m < 1) { return -1 } // 若参数错误 返回-1
+ var s = this.nStr3[m - 1]
+ s += '\u6708'// 加上月字
+ return s
+ },
+
+ /**
+ * 传入农历日期数字返回汉字表示法
+ * @param lunar day
+ * @return Cn string
+ * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一'
+ */
+ toChinaDay: function (d) { // 日 => \u65e5
+ var s
+ switch (d) {
+ case 10:
+ s = '\u521d\u5341'; break
+ case 20:
+ s = '\u4e8c\u5341'; break
+ break
+ case 30:
+ s = '\u4e09\u5341'; break
+ break
+ default :
+ s = this.nStr2[Math.floor(d / 10)]
+ s += this.nStr1[d % 10]
+ }
+ return (s)
+ },
+
+ /**
+ * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春”
+ * @param y year
+ * @return Cn string
+ * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔'
+ */
+ getAnimal: function (y) {
+ return this.Animals[(y - 4) % 12]
+ },
+
+ /**
+ * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON
+ * @param y solar year
+ * @param m solar month
+ * @param d solar day
+ * @return JSON object
+ * @eg:console.log(calendar.solar2lunar(1987,11,01));
+ */
+ solar2lunar: function (y, m, d) { // 参数区间1900.1.31~2100.12.31
+ // 年份限定、上限
+ if (y < 1900 || y > 2100) {
+ return -1// undefined转换为数字变为NaN
+ }
+ // 公历传参最下限
+ if (y == 1900 && m == 1 && d < 31) {
+ return -1
+ }
+ // 未传参 获得当天
+ if (!y) {
+ var objDate = new Date()
+ } else {
+ var objDate = new Date(y, parseInt(m) - 1, d)
+ }
+ var i; var leap = 0; var temp = 0
+ // 修正ymd参数
+ var y = objDate.getFullYear()
+ var m = objDate.getMonth() + 1
+ var d = objDate.getDate()
+ var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000
+ for (i = 1900; i < 2101 && offset > 0; i++) {
+ temp = this.lYearDays(i)
+ offset -= temp
+ }
+ if (offset < 0) {
+ offset += temp; i--
+ }
+
+ // 是否今天
+ var isTodayObj = new Date()
+ var isToday = false
+ if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) {
+ isToday = true
+ }
+ // 星期几
+ var nWeek = objDate.getDay()
+ var cWeek = this.nStr1[nWeek]
+ // 数字表示周几顺应天朝周一开始的惯例
+ if (nWeek == 0) {
+ nWeek = 7
+ }
+ // 农历年
+ var year = i
+ var leap = this.leapMonth(i) // 闰哪个月
+ var isLeap = false
+
+ // 效验闰月
+ for (i = 1; i < 13 && offset > 0; i++) {
+ // 闰月
+ if (leap > 0 && i == (leap + 1) && isLeap == false) {
+ --i
+ isLeap = true; temp = this.leapDays(year) // 计算农历闰月天数
+ } else {
+ temp = this.monthDays(year, i)// 计算农历普通月天数
+ }
+ // 解除闰月
+ if (isLeap == true && i == (leap + 1)) { isLeap = false }
+ offset -= temp
+ }
+ // 闰月导致数组下标重叠取反
+ if (offset == 0 && leap > 0 && i == leap + 1) {
+ if (isLeap) {
+ isLeap = false
+ } else {
+ isLeap = true; --i
+ }
+ }
+ if (offset < 0) {
+ offset += temp; --i
+ }
+ // 农历月
+ var month = i
+ // 农历日
+ var day = offset + 1
+ // 天干地支处理
+ var sm = m - 1
+ var gzY = this.toGanZhiYear(year)
+
+ // 当月的两个节气
+ // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year`
+ var firstNode = this.getTerm(y, (m * 2 - 1))// 返回当月「节」为几日开始
+ var secondNode = this.getTerm(y, (m * 2))// 返回当月「节」为几日开始
+
+ // 依据12节气修正干支月
+ var gzM = this.toGanZhi((y - 1900) * 12 + m + 11)
+ if (d >= firstNode) {
+ gzM = this.toGanZhi((y - 1900) * 12 + m + 12)
+ }
+
+ // 传入的日期的节气与否
+ var isTerm = false
+ var Term = null
+ if (firstNode == d) {
+ isTerm = true
+ Term = this.solarTerm[m * 2 - 2]
+ }
+ if (secondNode == d) {
+ isTerm = true
+ Term = this.solarTerm[m * 2 - 1]
+ }
+ // 日柱 当月一日与 1900/1/1 相差天数
+ var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10
+ var gzD = this.toGanZhi(dayCyclical + d - 1)
+ // 该日期所属的星座
+ var astro = this.toAstro(m, d)
+
+ return { 'lYear': year, 'lMonth': month, 'lDay': day, 'Animal': this.getAnimal(year), 'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month), 'IDayCn': this.toChinaDay(day), 'cYear': y, 'cMonth': m, 'cDay': d, 'gzYear': gzY, 'gzMonth': gzM, 'gzDay': gzD, 'isToday': isToday, 'isLeap': isLeap, 'nWeek': nWeek, 'ncWeek': '\u661f\u671f' + cWeek, 'isTerm': isTerm, 'Term': Term, 'astro': astro }
+ },
+
+ /**
+ * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON
+ * @param y lunar year
+ * @param m lunar month
+ * @param d lunar day
+ * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可]
+ * @return JSON object
+ * @eg:console.log(calendar.lunar2solar(1987,9,10));
+ */
+ lunar2solar: function (y, m, d, isLeapMonth) { // 参数区间1900.1.31~2100.12.1
+ var isLeapMonth = !!isLeapMonth
+ var leapOffset = 0
+ var leapMonth = this.leapMonth(y)
+ var leapDay = this.leapDays(y)
+ if (isLeapMonth && (leapMonth != m)) { return -1 }// 传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同
+ if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { return -1 }// 超出了最大极限值
+ var day = this.monthDays(y, m)
+ var _day = day
+ // bugFix 2016-9-25
+ // if month is leap, _day use leapDays method
+ if (isLeapMonth) {
+ _day = this.leapDays(y, m)
+ }
+ if (y < 1900 || y > 2100 || d > _day) { return -1 }// 参数合法性效验
+
+ // 计算农历的时间差
+ var offset = 0
+ for (var i = 1900; i < y; i++) {
+ offset += this.lYearDays(i)
+ }
+ var leap = 0; var isAdd = false
+ for (var i = 1; i < m; i++) {
+ leap = this.leapMonth(y)
+ if (!isAdd) { // 处理闰月
+ if (leap <= i && leap > 0) {
+ offset += this.leapDays(y); isAdd = true
+ }
+ }
+ offset += this.monthDays(y, i)
+ }
+ // 转换闰月农历 需补充该年闰月的前一个月的时差
+ if (isLeapMonth) { offset += day }
+ // 1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点)
+ var stmap = Date.UTC(1900, 1, 30, 0, 0, 0)
+ var calObj = new Date((offset + d - 31) * 86400000 + stmap)
+ var cY = calObj.getUTCFullYear()
+ var cM = calObj.getUTCMonth() + 1
+ var cD = calObj.getUTCDate()
+
+ return this.solar2lunar(cY, cM, cD)
+ }
+}
+
+export default calendar
diff --git a/app/components/uni-calendar/uni-calendar-item.vue b/app/components/uni-calendar/uni-calendar-item.vue
new file mode 100644
index 0000000..5db23da
--- /dev/null
+++ b/app/components/uni-calendar/uni-calendar-item.vue
@@ -0,0 +1,152 @@
+
+
+
+
+ {{weeks.date}}
+ 今天
+ {{weeks.isDay?'今天': (weeks.lunar.IDayCn === '初一'?weeks.lunar.IMonthCn:weeks.lunar.IDayCn)}}
+ {{weeks.extraInfo.info}}
+
+
+
+
+
+
+
diff --git a/app/components/uni-calendar/uni-calendar.vue b/app/components/uni-calendar/uni-calendar.vue
new file mode 100644
index 0000000..7410b47
--- /dev/null
+++ b/app/components/uni-calendar/uni-calendar.vue
@@ -0,0 +1,434 @@
+
+
+
+
+
+
+
+
+ {{nowDate.month}}
+
+
+
+ 日
+
+
+ 一
+
+
+ 二
+
+
+ 三
+
+
+ 四
+
+
+ 五
+
+
+ 六
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/components/uni-calendar/util.js b/app/components/uni-calendar/util.js
new file mode 100644
index 0000000..09b4c6c
--- /dev/null
+++ b/app/components/uni-calendar/util.js
@@ -0,0 +1,327 @@
+import CALENDAR from './calendar.js'
+
+class Calendar {
+ constructor({
+ date,
+ selected,
+ startDate,
+ endDate,
+ range
+ } = {}) {
+ // 当前日期
+ this.date = this.getDate(date) // 当前初入日期
+ // 打点信息
+ this.selected = selected || [];
+ // 范围开始
+ this.startDate = startDate
+ // 范围结束
+ this.endDate = endDate
+ this.range = range
+ // 多选状态
+ this.multipleStatus = {
+ before: '',
+ after: '',
+ data: []
+ }
+ // 每周日期
+ this.weeks = {}
+
+ this._getWeek(this.date.fullDate)
+ }
+
+ /**
+ * 获取任意时间
+ */
+ getDate(date, AddDayCount = 0, str = 'day') {
+ if (!date) {
+ date = new Date()
+ }
+ if (typeof date !== 'object') {
+ date = date.replace(/-/g, '/')
+ }
+ const dd = new Date(date)
+ switch (str) {
+ case 'day':
+ dd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期
+ break
+ case 'month':
+ if (dd.getDate() === 31) {
+ dd.setDate(dd.getDate() + AddDayCount)
+ } else {
+ dd.setMonth(dd.getMonth() + AddDayCount) // 获取AddDayCount天后的日期
+ }
+ break
+ case 'year':
+ dd.setFullYear(dd.getFullYear() + AddDayCount) // 获取AddDayCount天后的日期
+ break
+ }
+ const y = dd.getFullYear()
+ const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期,不足10补0
+ const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号,不足10补0
+ return {
+ fullDate: y + '-' + m + '-' + d,
+ year: y,
+ month: m,
+ date: d,
+ day: dd.getDay()
+ }
+ }
+
+
+ /**
+ * 获取上月剩余天数
+ */
+ _getLastMonthDays(firstDay, full) {
+ let dateArr = []
+ for (let i = firstDay; i > 0; i--) {
+ const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate()
+ dateArr.push({
+ date: beforeDate,
+ month: full.month - 1,
+ lunar: this.getlunar(full.year, full.month - 1, beforeDate),
+ disable: true
+ })
+ }
+ return dateArr
+ }
+ /**
+ * 获取本月天数
+ */
+ _currentMonthDys(dateData, full) {
+ let dateArr = []
+ let fullDate = this.date.fullDate
+ for (let i = 1; i <= dateData; i++) {
+ let isinfo = false
+ let nowDate = full.year + '-' + (full.month < 10 ?
+ full.month : full.month) + '-' + (i < 10 ?
+ '0' + i : i)
+ // 是否今天
+ let isDay = fullDate === nowDate
+ // 获取打点信息
+ let info = this.selected && this.selected.find((item) => {
+ if (this.dateEqual(nowDate, item.date)) {
+ return item
+ }
+ })
+
+ // 日期禁用
+ let disableBefore = true
+ let disableAfter = true
+ if (this.startDate) {
+ let dateCompBefore = this.dateCompare(this.startDate, fullDate)
+ disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate)
+ }
+
+ if (this.endDate) {
+ let dateCompAfter = this.dateCompare(fullDate, this.endDate)
+ disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate)
+ }
+
+ let multiples = this.multipleStatus.data
+ let checked = false
+ let multiplesStatus = -1
+ if (this.range) {
+ if (multiples) {
+ multiplesStatus = multiples.findIndex((item) => {
+ return this.dateEqual(item, nowDate)
+ })
+ }
+ if (multiplesStatus !== -1) {
+ checked = true
+ }
+ }
+
+ let data = {
+ fullDate: nowDate,
+ year: full.year,
+ date: i,
+ multiple: this.range ? checked : false,
+ month: full.month,
+ lunar: this.getlunar(full.year, full.month, i),
+ disable: !disableBefore || !disableAfter,
+ isDay
+ }
+ if (info) {
+ data.extraInfo = info
+ }
+
+ dateArr.push(data)
+ }
+ return dateArr
+ }
+ /**
+ * 获取下月天数
+ */
+ _getNextMonthDays(surplus, full) {
+ let dateArr = []
+ for (let i = 1; i < surplus + 1; i++) {
+ dateArr.push({
+ date: i,
+ month: Number(full.month) + 1,
+ lunar: this.getlunar(full.year, Number(full.month) + 1, i),
+ disable: true
+ })
+ }
+ return dateArr
+ }
+ /**
+ * 设置日期
+ * @param {Object} date
+ */
+ setDate(date) {
+ this._getWeek(date)
+ }
+ /**
+ * 获取当前日期详情
+ * @param {Object} date
+ */
+ getInfo(date) {
+ if (!date) {
+ date = new Date()
+ }
+ const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate)
+ return dateInfo
+ }
+
+ /**
+ * 比较时间大小
+ */
+ dateCompare(startDate, endDate) {
+ // 计算截止时间
+ startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
+ // 计算详细项的截止时间
+ endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
+ if (startDate <= endDate) {
+ return true
+ } else {
+ return false
+ }
+ }
+
+ /**
+ * 比较时间是否相等
+ */
+ dateEqual(before, after) {
+ // 计算截止时间
+ before = new Date(before.replace('-', '/').replace('-', '/'))
+ // 计算详细项的截止时间
+ after = new Date(after.replace('-', '/').replace('-', '/'))
+ if (before.getTime() - after.getTime() === 0) {
+ return true
+ } else {
+ return false
+ }
+ }
+
+
+ /**
+ * 获取日期范围内所有日期
+ * @param {Object} begin
+ * @param {Object} end
+ */
+ geDateAll(begin, end) {
+ var arr = []
+ var ab = begin.split('-')
+ var ae = end.split('-')
+ var db = new Date()
+ db.setFullYear(ab[0], ab[1] - 1, ab[2])
+ var de = new Date()
+ de.setFullYear(ae[0], ae[1] - 1, ae[2])
+ var unixDb = db.getTime() - 24 * 60 * 60 * 1000
+ var unixDe = de.getTime() - 24 * 60 * 60 * 1000
+ for (var k = unixDb; k <= unixDe;) {
+ k = k + 24 * 60 * 60 * 1000
+ arr.push(this.getDate(new Date(parseInt(k))).fullDate)
+ }
+ return arr
+ }
+ /**
+ * 计算阴历日期显示
+ */
+ getlunar(year, month, date) {
+ return CALENDAR.solar2lunar(year, month, date)
+ }
+ /**
+ * 设置打点
+ */
+ setSelectInfo(data, value) {
+ this.selected = value
+ this._getWeek(data)
+ }
+
+ /**
+ * 获取多选状态
+ */
+ setMultiple(fullDate) {
+ let {
+ before,
+ after
+ } = this.multipleStatus
+ if (!this.range) return
+ if (before && after) {
+ this.multipleStatus.before = ''
+ this.multipleStatus.after = ''
+ this.multipleStatus.data = []
+ this._getWeek(fullDate)
+ } else {
+ if (!before) {
+ this.multipleStatus.before = fullDate
+ } else {
+ this.multipleStatus.after = fullDate
+ if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
+ this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);
+ } else {
+ this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);
+ }
+ this._getWeek(fullDate)
+ }
+ }
+ }
+
+ /**
+ * 获取每周数据
+ * @param {Object} dateData
+ */
+ _getWeek(dateData) {
+ const {
+ fullDate,
+ year,
+ month,
+ date,
+ day
+ } = this.getDate(dateData)
+ let firstDay = new Date(year, month - 1, 1).getDay()
+ let currentDay = new Date(year, month, 0).getDate()
+ let dates = {
+ lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 上个月末尾几天
+ currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 本月天数
+ nextMonthDays: [], // 下个月开始几天
+ weeks: []
+ }
+ let canlender = []
+ const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length)
+ dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData))
+ canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays)
+ let weeks = {}
+ // 拼接数组 上个月开始几天 + 本月天数+ 下个月开始几天
+ for (let i = 0; i < canlender.length; i++) {
+ if (i % 7 === 0) {
+ weeks[parseInt(i / 7)] = new Array(7)
+ }
+ weeks[parseInt(i / 7)][i % 7] = canlender[i]
+ }
+ this.canlender = canlender
+ this.weeks = weeks
+ }
+
+ //静态方法
+ // static init(date) {
+ // if (!this.instance) {
+ // this.instance = new Calendar(date);
+ // }
+ // return this.instance;
+ // }
+}
+
+
+export default Calendar
diff --git a/app/components/userEvaluation/index.vue b/app/components/userEvaluation/index.vue
new file mode 100644
index 0000000..dabc11c
--- /dev/null
+++ b/app/components/userEvaluation/index.vue
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.nickname }}
+
+
+ {{ item.createTime }}
+
+ 规格:{{ item.sku?item.sku:'无' }}
+
+
+ {{ item.comment }}
+
+
+
+
+
+
+ 店小二:{{ item.merchantReplyContent }}
+
+
+
+
+
+
+
+
+
+
diff --git a/app/components/vconsole.min.js b/app/components/vconsole.min.js
new file mode 100644
index 0000000..ea401e1
--- /dev/null
+++ b/app/components/vconsole.min.js
@@ -0,0 +1,10 @@
+/*!
+ * vConsole v3.3.4 (https://github.com/Tencent/vConsole)
+ *
+ * Tencent is pleased to support the open source community by making vConsole available.
+ * Copyright (C) 2017 THL A29 Limited, a Tencent company. All rights reserved.
+ * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
+ * http://opensource.org/licenses/MIT
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
+ */
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("VConsole",[],t):"object"==typeof exports?exports.VConsole=t():e.VConsole=t()}(window,function(){return function(e){var t={};function o(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=e,o.c=t,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)o.d(n,r,function(t){return e[t]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=6)}([function(e,t,o){var n,r,i;r=[t],void 0===(i="function"==typeof(n=function(e){"use strict";function t(e){return(t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e){return"[object Number]"==Object.prototype.toString.call(e)}function n(e){return"[object String]"==Object.prototype.toString.call(e)}function r(e){return"[object Array]"==Object.prototype.toString.call(e)}function i(e){return"[object Boolean]"==Object.prototype.toString.call(e)}function a(e){return void 0===e}function l(e){return null===e}function c(e){return"[object Symbol]"==Object.prototype.toString.call(e)}function s(e){return!("[object Object]"!=Object.prototype.toString.call(e)&&(o(e)||n(e)||i(e)||r(e)||l(e)||d(e)||a(e)||c(e)))}function d(e){return"[object Function]"==Object.prototype.toString.call(e)}function u(e){var t=Object.prototype.toString.call(e);return"[object global]"==t||"[object Window]"==t||"[object DOMWindow]"==t}function v(e){if(!s(e)&&!r(e))return[];if(r(e)){var t=[];return e.forEach(function(e,o){t.push(o)}),t}return Object.getOwnPropertyNames(e).sort()}Object.defineProperty(e,"__esModule",{value:!0}),e.getDate=function(e){var t=e>0?new Date(e):new Date,o=t.getDate()<10?"0"+t.getDate():t.getDate(),n=t.getMonth()<9?"0"+(t.getMonth()+1):t.getMonth()+1,r=t.getFullYear(),i=t.getHours()<10?"0"+t.getHours():t.getHours(),a=t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes(),l=t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds(),c=t.getMilliseconds()<10?"0"+t.getMilliseconds():t.getMilliseconds();return c<100&&(c="0"+c),{time:+t,year:r,month:n,day:o,hour:i,minute:a,second:l,millisecond:c}},e.isNumber=o,e.isString=n,e.isArray=r,e.isBoolean=i,e.isUndefined=a,e.isNull=l,e.isSymbol=c,e.isObject=s,e.isFunction=d,e.isElement=function(e){return"object"===("undefined"==typeof HTMLElement?"undefined":t(HTMLElement))?e instanceof HTMLElement:e&&"object"===t(e)&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName},e.isWindow=u,e.isPlainObject=function(e){var o,n=Object.prototype.hasOwnProperty;if(!e||"object"!==t(e)||e.nodeType||u(e))return!1;try{if(e.constructor&&!n.call(e,"constructor")&&!n.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(e){return!1}for(o in e);return void 0===o||n.call(e,o)},e.htmlEncode=function(e){return document.createElement("a").appendChild(document.createTextNode(e)).parentNode.innerHTML},e.JSONStringify=function(e){if(!s(e)&&!r(e))return JSON.stringify(e);var t="{",o="}";r(e)&&(t="[",o="]");for(var n=t,i=v(e),a=0;a-1||(r.push(t),e[o].className=r.join(" "))}}},removeClass:function(e,t){if(e){(0,n.isArray)(e)||(e=[e]);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:"newPlugin";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.id=t,this.name=o,this.isReady=!1,this.eventList={}}var t,o,r;return t=e,(o=[{key:"on",value:function(e,t){return this.eventList[e]=t,this}},{key:"trigger",value:function(e,t){if("function"==typeof this.eventList[e])this.eventList[e].call(this,t);else{var o="on"+e.charAt(0).toUpperCase()+e.slice(1);"function"==typeof this[o]&&this[o].call(this,t)}return this}},{key:"id",get:function(){return this._id},set:function(e){if(!e)throw"Plugin ID cannot be empty";this._id=e.toLowerCase()}},{key:"name",get:function(){return this._name},set:function(e){if(!e)throw"Plugin name cannot be empty";this._name=e}},{key:"vConsole",get:function(){return this._vConsole||void 0},set:function(e){if(!e)throw"vConsole cannot be empty";this._vConsole=e}}])&&n(t.prototype,o),r&&n(t,r),e}();o.default=r,e.exports=t.default})?n.apply(t,r):n)||(e.exports=i)},function(e,t,o){var n,r,i;r=[t,o(0),o(1),o(2),o(18),o(19),o(20)],void 0===(i="function"==typeof(n=function(o,n,r,i,a,l,c){"use strict";function s(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o=o.scrollHeight?e.isInBottom=!0:e.isInBottom=!1)});for(var n=0;n-1&&g.splice(e,1)}},{key:"onShow",value:function(){this.isShow=!0,1==this.isInBottom&&this.autoScrollToBottom()}},{key:"onHide",value:function(){this.isShow=!1}},{key:"onShowConsole",value:function(){1==this.isInBottom&&this.autoScrollToBottom()}},{key:"onUpdateOption",value:function(){this.vConsole.option.maxLogNumber!=this.maxLogNumber&&(this.updateMaxLogNumber(),this.limitMaxLogs())}},{key:"updateMaxLogNumber",value:function(){this.maxLogNumber=this.vConsole.option.maxLogNumber||b,this.maxLogNumber=Math.max(1,this.maxLogNumber)}},{key:"limitMaxLogs",value:function(){if(this.isReady)for(;this.logNumber>this.maxLogNumber;){var e=r.default.one(".vc-item",this.$tabbox);if(!e)break;e.parentNode.removeChild(e),this.logNumber--}}},{key:"showLogType",value:function(e){var t=r.default.one(".vc-log",this.$tabbox);r.default.removeClass(t,"vc-log-partly-log"),r.default.removeClass(t,"vc-log-partly-info"),r.default.removeClass(t,"vc-log-partly-warn"),r.default.removeClass(t,"vc-log-partly-error"),"all"==e?r.default.removeClass(t,"vc-log-partly"):(r.default.addClass(t,"vc-log-partly"),r.default.addClass(t,"vc-log-partly-"+e))}},{key:"autoScrollToBottom",value:function(){this.vConsole.option.disableLogScrolling||this.scrollToBottom()}},{key:"scrollToBottom",value:function(){var e=r.default.one(".vc-content");e&&(e.scrollTop=e.scrollHeight-e.offsetHeight)}},{key:"mockConsole",value:function(){var e=this,t=this,o=["log","info","warn","debug","error"];window.console?(o.map(function(e){t.console[e]=window.console[e]}),t.console.time=window.console.time,t.console.timeEnd=window.console.timeEnd,t.console.clear=window.console.clear):window.console={},o.map(function(t){window.console[t]=function(){for(var o=arguments.length,n=new Array(o),r=0;r0&&(r=a[1].toLowerCase(),i=g.indexOf(r)>-1)}if(r===this.id||!0!==i&&"default"===this.id)if(e._id||(e._id="__vc_"+Math.random().toString(36).substring(2,8)),e.date||(e.date=+new Date),this.isReady){n.isString(t[0])&&i&&(t[0]=t[0].replace(o,""),""===t[0]&&t.shift());for(var l={_id:e._id,logType:e.logType,logText:[],hasContent:!!e.content,count:1},c=0;c "+t[p].toString()+"":n.isObject(t[p])||n.isArray(t[p])?this.getFoldedLine(t[p]):(l[p]?' '):" ")+n.htmlEncode(t[p]).replace(/\n/g,"
")+""}catch(e){b=" ["+d(t[p])+"]"}b&&("string"==typeof b?f.insertAdjacentHTML("beforeend",b):f.insertAdjacentElement("beforeend",b))}n.isObject(e.content)&&f.insertAdjacentElement("beforeend",e.content),r.default.one(".vc-log",this.$tabbox).insertAdjacentElement("beforeend",o),this.logNumber++,this.limitMaxLogs()}},{key:"getFoldedLine",value:function(e,t){var o=this;if(!t){var i=n.JSONStringify(e),a=i.substr(0,36);t=n.getObjName(e),i.length>36&&(a+="..."),t+=" "+a}var s=r.default.render(l.default,{outer:t,lineType:"obj"});return r.default.bind(r.default.one(".vc-fold-outer",s),"click",function(t){t.preventDefault(),t.stopPropagation(),r.default.hasClass(s,"vc-toggle")?(r.default.removeClass(s,"vc-toggle"),r.default.removeClass(r.default.one(".vc-fold-inner",s),"vc-toggle"),r.default.removeClass(r.default.one(".vc-fold-outer",s),"vc-toggle")):(r.default.addClass(s,"vc-toggle"),r.default.addClass(r.default.one(".vc-fold-inner",s),"vc-toggle"),r.default.addClass(r.default.one(".vc-fold-outer",s),"vc-toggle"));var i=r.default.one(".vc-fold-inner",s);return setTimeout(function(){if(0==i.children.length&&e){for(var t=n.getObjAllKeys(e),a=0;adocument.documentElement.offsetWidth&&(o=document.documentElement.offsetWidth-t.offsetWidth),n+t.offsetHeight>document.documentElement.offsetHeight&&(n=document.documentElement.offsetHeight-t.offsetHeight),o<0&&(o=0),n<0&&(n=0),this.switchPos.x=o,this.switchPos.y=n,i.default.one(".vc-switch").style.right=o+"px",i.default.one(".vc-switch").style.bottom=n+"px");var a=window.devicePixelRatio||1,c=document.querySelector('[name="viewport"]');if(c&&c.content){var s=c.content.match(/initial\-scale\=\d+(\.\d+)?/);(s?parseFloat(s[0].split("=")[1]):1)<1&&(this.$dom.style.fontSize=13*a+"px")}i.default.one(".vc-mask",this.$dom).style.display="none"}},{key:"_mockTap",value:function(){var e,t,o,n=!1,r=null;this.$dom.addEventListener("touchstart",function(n){if(void 0===e){var i=n.targetTouches[0];t=i.pageX,o=i.pageY,e=n.timeStamp,r=n.target.nodeType===Node.TEXT_NODE?n.target.parentNode:n.target}},!1),this.$dom.addEventListener("touchmove",function(e){var r=e.changedTouches[0];(Math.abs(r.pageX-t)>10||Math.abs(r.pageY-o)>10)&&(n=!0)}),this.$dom.addEventListener("touchend",function(t){if(!1===n&&t.timeStamp-e<700&&null!=r){var o=!1;switch(r.tagName.toLowerCase()){case"textarea":o=!0;break;case"input":switch(r.type){case"button":case"checkbox":case"file":case"image":case"radio":case"submit":o=!1;break;default:o=!r.disabled&&!r.readOnly}}o?r.focus():t.preventDefault();var i=t.changedTouches[0],a=document.createEvent("MouseEvents");a.initMouseEvent("click",!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),a.forwardedTouchEvent=!0,a.initEvent("click",!0,!0),r.dispatchEvent(a)}e=void 0,n=!1,r=null},!1)}},{key:"_bindEvent",value:function(){var e=this,t=i.default.one(".vc-switch",e.$dom);i.default.bind(t,"touchstart",function(t){e.switchPos.startX=t.touches[0].pageX,e.switchPos.startY=t.touches[0].pageY}),i.default.bind(t,"touchend",function(t){e.switchPos.x=e.switchPos.endX,e.switchPos.y=e.switchPos.endY,e.switchPos.startX=0,e.switchPos.startY=0,r.setStorage("switch_x",e.switchPos.x),r.setStorage("switch_y",e.switchPos.y)}),i.default.bind(t,"touchmove",function(o){if(o.touches.length>0){var n=o.touches[0].pageX-e.switchPos.startX,r=o.touches[0].pageY-e.switchPos.startY,i=e.switchPos.x-n,a=e.switchPos.y-r;i+t.offsetWidth>document.documentElement.offsetWidth&&(i=document.documentElement.offsetWidth-t.offsetWidth),a+t.offsetHeight>document.documentElement.offsetHeight&&(a=document.documentElement.offsetHeight-t.offsetHeight),i<0&&(i=0),a<0&&(a=0),t.style.right=i+"px",t.style.bottom=a+"px",e.switchPos.endX=i,e.switchPos.endY=a,o.preventDefault()}}),i.default.bind(i.default.one(".vc-switch",e.$dom),"click",function(){e.show()}),i.default.bind(i.default.one(".vc-hide",e.$dom),"click",function(){e.hide()}),i.default.bind(i.default.one(".vc-mask",e.$dom),"click",function(t){if(t.target!=i.default.one(".vc-mask"))return!1;e.hide()}),i.default.delegate(i.default.one(".vc-tabbar",e.$dom),"click",".vc-tab",function(t){var o=this.dataset.tab;o!=e.activedTab&&e.showTab(o)}),i.default.bind(i.default.one(".vc-panel",e.$dom),"transitionend webkitTransitionEnd oTransitionEnd otransitionend",function(t){if(t.target!=i.default.one(".vc-panel"))return!1;i.default.hasClass(e.$dom,"vc-toggle")||(t.target.style.display="none")});var o=i.default.one(".vc-content",e.$dom),n=!1;i.default.bind(o,"touchstart",function(e){var t=o.scrollTop,r=o.scrollHeight,a=t+o.offsetHeight;0===t?(o.scrollTop=1,0===o.scrollTop&&(i.default.hasClass(e.target,"vc-cmd-input")||(n=!0))):a===r&&(o.scrollTop=t-1,o.scrollTop===t&&(i.default.hasClass(e.target,"vc-cmd-input")||(n=!0)))}),i.default.bind(o,"touchmove",function(e){n&&e.preventDefault()}),i.default.bind(o,"touchend",function(e){n=!1})}},{key:"_autoRun",value:function(){for(var e in this.isInited=!0,this.pluginList)this._initPlugin(this.pluginList[e]);this.tabList.length>0&&this.showTab(this.tabList[0]),this.triggerEvent("ready")}},{key:"triggerEvent",value:function(e,t){e="on"+e.charAt(0).toUpperCase()+e.slice(1),r.isFunction(this.option[e])&&this.option[e].apply(this,t)}},{key:"_initPlugin",value:function(e){var t=this;e.vConsole=this,e.trigger("init"),e.trigger("renderTab",function(o){t.tabList.push(e.id);var n=i.default.render(c.default,{id:e.id,name:e.name});i.default.one(".vc-tabbar",t.$dom).insertAdjacentElement("beforeend",n);var a=i.default.render(s.default,{id:e.id});o&&(r.isString(o)?a.innerHTML+=o:r.isFunction(o.appendTo)?o.appendTo(a):r.isElement(o)&&a.insertAdjacentElement("beforeend",o)),i.default.one(".vc-content",t.$dom).insertAdjacentElement("beforeend",a)}),e.trigger("addTopBar",function(o){if(o)for(var n=i.default.one(".vc-topbar",t.$dom),a=function(t){var a=o[t],l=i.default.render(d.default,{name:a.name||"Undefined",className:a.className||"",pluginID:e.id});if(a.data)for(var c in a.data)l.dataset[c]=a.data[c];r.isFunction(a.onClick)&&i.default.bind(l,"click",function(t){!1===a.onClick.call(l)||(i.default.removeClass(i.default.all(".vc-topbar-"+e.id),"vc-actived"),i.default.addClass(l,"vc-actived"))}),n.insertAdjacentElement("beforeend",l)},l=0;l-1&&this.tabList.splice(s,1);try{delete this.pluginList[e]}catch(t){this.pluginList[e]=void 0}return this.activedTab==e&&this.tabList.length>0&&this.showTab(this.tabList[0]),!0}},{key:"show",value:function(){if(this.isInited){var e=this;i.default.one(".vc-panel",this.$dom).style.display="block",setTimeout(function(){i.default.addClass(e.$dom,"vc-toggle"),e._triggerPluginsEvent("showConsole"),i.default.one(".vc-mask",e.$dom).style.display="block"},10)}}},{key:"hide",value:function(){if(this.isInited){i.default.removeClass(this.$dom,"vc-toggle"),this._triggerPluginsEvent("hideConsole");var e=i.default.one(".vc-mask",this.$dom),t=i.default.one(".vc-panel",this.$dom);i.default.bind(e,"transitionend",function(o){e.style.display="none",t.style.display="none"})}}},{key:"showSwitch",value:function(){this.isInited&&(i.default.one(".vc-switch",this.$dom).style.display="block")}},{key:"hideSwitch",value:function(){this.isInited&&(i.default.one(".vc-switch",this.$dom).style.display="none")}},{key:"showTab",value:function(e){if(this.isInited){var t=i.default.one("#__vc_log_"+e);i.default.removeClass(i.default.all(".vc-tab",this.$dom),"vc-actived"),i.default.addClass(i.default.one("#__vc_tab_"+e),"vc-actived"),i.default.removeClass(i.default.all(".vc-logbox",this.$dom),"vc-actived"),i.default.addClass(t,"vc-actived");var o=i.default.all(".vc-topbar-"+e,this.$dom);i.default.removeClass(i.default.all(".vc-toptab",this.$dom),"vc-toggle"),i.default.addClass(o,"vc-toggle"),o.length>0?i.default.addClass(i.default.one(".vc-content",this.$dom),"vc-has-topbar"):i.default.removeClass(i.default.one(".vc-content",this.$dom),"vc-has-topbar"),i.default.removeClass(i.default.all(".vc-tool",this.$dom),"vc-toggle"),i.default.addClass(i.default.all(".vc-tool-"+e,this.$dom),"vc-toggle"),this.activedTab&&this._triggerPluginEvent(this.activedTab,"hide"),this.activedTab=e,this._triggerPluginEvent(this.activedTab,"show")}}},{key:"setOption",value:function(e,t){if(r.isString(e))this.option[e]=t,this._triggerPluginsEvent("updateOption");else if(r.isObject(e)){for(var o in e)this.option[o]=e[o];this._triggerPluginsEvent("updateOption")}else console.debug("The first parameter of vConsole.setOption() must be a string or an object.")}},{key:"destroy",value:function(){if(this.isInited){for(var e=Object.keys(this.pluginList),t=e.length-1;t>=0;t--)this.removePlugin(e[t]);this.$dom.parentNode.removeChild(this.$dom),this.isInited=!1}}}])&&_(t.prototype,o),a&&_(t,a),e}();x.VConsolePlugin=v.default,x.VConsoleLogPlugin=f.default,x.VConsoleDefaultPlugin=p.default,x.VConsoleSystemPlugin=b.default,x.VConsoleNetworkPlugin=g.default,x.VConsoleElementPlugin=h.default,x.VConsoleStoragePlugin=m.default;var k=x;o.default=k,e.exports=t.default})?n.apply(t,r):n)||(e.exports=i)},function(e){e.exports=JSON.parse('{"name":"vconsole","version":"3.3.4","description":"A lightweight, extendable front-end developer tool for mobile web page.","homepage":"https://github.com/Tencent/vConsole","main":"dist/vconsole.min.js","typings":"dist/vconsole.min.d.ts","scripts":{"test":"mocha","build":"webpack"},"keywords":["console","debug","mobile"],"repository":{"type":"git","url":"git+https://github.com/Tencent/vConsole.git"},"dependencies":{},"devDependencies":{"@babel/core":"^7.5.5","@babel/plugin-proposal-class-properties":"^7.5.5","@babel/plugin-proposal-export-namespace-from":"^7.5.2","@babel/plugin-proposal-object-rest-spread":"^7.5.5","@babel/preset-env":"^7.5.5","babel-loader":"^8.0.6","babel-plugin-add-module-exports":"^1.0.2","chai":"^4.2.0","copy-webpack-plugin":"^5.0.4","css-loader":"^3.2.0","html-loader":"^0.5.5","jsdom":"^15.1.1","json-loader":"^0.5.7","less":"^3.10.0","less-loader":"^5.0.0","mocha":"^5.2.0","style-loader":"^1.0.0","webpack":"^4.39.2","webpack-cli":"^3.3.6"},"author":"Tencent","license":"MIT"}')},function(e,t,o){var n,r,i;r=[t],void 0===(i="function"==typeof(n=function(o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.default=function(e,t,o){var n=/\{\{([^\}]+)\}\}/g,r="",i="",a=0,l=[],c=function(e,t){""!==e&&(t?e.match(/^ ?else/g)?r+="} "+e+" {\n":e.match(/\/(if|for|switch)/g)?r+="}\n":e.match(/^ ?if|for|switch/g)?r+=e+" {\n":e.match(/^ ?(break|continue) ?$/g)?r+=e+";\n":e.match(/^ ?(case|default)/g)?r+=e+":\n":r+="arr.push("+e+");\n":r+='arr.push("'+e.replace(/"/g,'\\"')+'");\n')};for(window.__mito_data=t,window.__mito_code="",window.__mito_result="",e=(e=e.replace(/(\{\{ ?switch(.+?)\}\})[\r\n\t ]+\{\{/g,"$1{{")).replace(/^[\r\n]/,"").replace(/\n/g,"\\\n").replace(/\r/g,"\\\r"),i="(function(){\n",r="var arr = [];\n";l=n.exec(e);)c(e.slice(a,l.index),!1),c(l[1],!0),a=l.index+l[0].length;c(e.substr(a,e.length-a),!1),i+=r="with (__mito_data) {\n"+(r+='__mito_result = arr.join("");')+"\n}",i+="})();";var s=document.getElementsByTagName("script"),d="";s.length>0&&(d=s[0].nonce||"");var u=document.createElement("SCRIPT");u.innerHTML=i,u.setAttribute("nonce",d),document.documentElement.appendChild(u);var v=__mito_result;if(document.documentElement.removeChild(u),!o){var f=document.createElement("DIV");f.innerHTML=v,v=f.children[0]}return v},e.exports=t.default})?n.apply(t,r):n)||(e.exports=i)},function(e,t,o){var n=o(12);"string"==typeof n&&(n=[[e.i,n,""]]);var r={insert:"head",singleton:!1};o(5)(n,r);n.locals&&(e.exports=n.locals)},function(e,t,o){(e.exports=o(4)(!1)).push([e.i,'#__vconsole {\n color: #000;\n font-size: 13px;\n font-family: Helvetica Neue, Helvetica, Arial, sans-serif;\n /* global */\n /* compoment */\n}\n#__vconsole .vc-max-height {\n max-height: 19.23076923em;\n}\n#__vconsole .vc-max-height-line {\n max-height: 3.38461538em;\n}\n#__vconsole .vc-min-height {\n min-height: 3.07692308em;\n}\n#__vconsole dd,\n#__vconsole dl,\n#__vconsole pre {\n margin: 0;\n}\n#__vconsole .vc-switch {\n display: block;\n position: fixed;\n right: 0.76923077em;\n bottom: 0.76923077em;\n color: #FFF;\n background-color: #04BE02;\n line-height: 1;\n font-size: 1.07692308em;\n padding: 0.61538462em 1.23076923em;\n z-index: 10000;\n border-radius: 0.30769231em;\n box-shadow: 0 0 0.61538462em rgba(0, 0, 0, 0.4);\n}\n#__vconsole .vc-mask {\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0);\n z-index: 10001;\n transition: background 0.3s;\n -webkit-tap-highlight-color: transparent;\n overflow-y: scroll;\n}\n#__vconsole .vc-panel {\n display: none;\n position: fixed;\n min-height: 85%;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 10002;\n background-color: #EFEFF4;\n -webkit-transition: -webkit-transform 0.3s;\n transition: -webkit-transform 0.3s;\n transition: transform 0.3s;\n transition: transform 0.3s, -webkit-transform 0.3s;\n -webkit-transform: translate(0, 100%);\n transform: translate(0, 100%);\n}\n#__vconsole .vc-tabbar {\n border-bottom: 1px solid #D9D9D9;\n overflow-x: auto;\n height: 3em;\n width: auto;\n white-space: nowrap;\n}\n#__vconsole .vc-tabbar .vc-tab {\n display: inline-block;\n line-height: 3em;\n padding: 0 1.15384615em;\n border-right: 1px solid #D9D9D9;\n text-decoration: none;\n color: #000;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n#__vconsole .vc-tabbar .vc-tab:active {\n background-color: rgba(0, 0, 0, 0.15);\n}\n#__vconsole .vc-tabbar .vc-tab.vc-actived {\n background-color: #FFF;\n}\n#__vconsole .vc-content {\n background-color: #FFF;\n overflow-x: hidden;\n overflow-y: auto;\n position: absolute;\n top: 3.07692308em;\n left: 0;\n right: 0;\n bottom: 3.07692308em;\n -webkit-overflow-scrolling: touch;\n margin-bottom: constant(safe-area-inset-bottom);\n margin-bottom: env(safe-area-inset-bottom);\n}\n#__vconsole .vc-content.vc-has-topbar {\n top: 5.46153846em;\n}\n#__vconsole .vc-topbar {\n background-color: #FBF9FE;\n display: flex;\n display: -webkit-box;\n flex-direction: row;\n flex-wrap: wrap;\n -webkit-box-direction: row;\n -webkit-flex-wrap: wrap;\n width: 100%;\n}\n#__vconsole .vc-topbar .vc-toptab {\n display: none;\n flex: 1;\n -webkit-box-flex: 1;\n line-height: 2.30769231em;\n padding: 0 1.15384615em;\n border-bottom: 1px solid #D9D9D9;\n text-decoration: none;\n text-align: center;\n color: #000;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n}\n#__vconsole .vc-topbar .vc-toptab.vc-toggle {\n display: block;\n}\n#__vconsole .vc-topbar .vc-toptab:active {\n background-color: rgba(0, 0, 0, 0.15);\n}\n#__vconsole .vc-topbar .vc-toptab.vc-actived {\n border-bottom: 1px solid #3e82f7;\n}\n#__vconsole .vc-logbox {\n display: none;\n position: relative;\n min-height: 100%;\n}\n#__vconsole .vc-logbox i {\n font-style: normal;\n}\n#__vconsole .vc-logbox .vc-log {\n padding-bottom: 3em;\n -webkit-tap-highlight-color: transparent;\n}\n#__vconsole .vc-logbox .vc-log:empty:before {\n content: "Empty";\n color: #999;\n position: absolute;\n top: 45%;\n left: 0;\n right: 0;\n bottom: 0;\n font-size: 1.15384615em;\n text-align: center;\n}\n#__vconsole .vc-logbox .vc-item {\n margin: 0;\n padding: 0.46153846em 0.61538462em;\n overflow: hidden;\n line-height: 1.3;\n border-bottom: 1px solid #EEE;\n word-break: break-word;\n}\n#__vconsole .vc-logbox .vc-item-info {\n color: #6A5ACD;\n}\n#__vconsole .vc-logbox .vc-item-debug {\n color: #DAA520;\n}\n#__vconsole .vc-logbox .vc-item-warn {\n color: #FFA500;\n border-color: #FFB930;\n background-color: #FFFACD;\n}\n#__vconsole .vc-logbox .vc-item-error {\n color: #DC143C;\n border-color: #F4A0AB;\n background-color: #FFE4E1;\n}\n#__vconsole .vc-logbox .vc-log.vc-log-partly .vc-item {\n display: none;\n}\n#__vconsole .vc-logbox .vc-log.vc-log-partly-log .vc-item-log,\n#__vconsole .vc-logbox .vc-log.vc-log-partly-info .vc-item-info,\n#__vconsole .vc-logbox .vc-log.vc-log-partly-warn .vc-item-warn,\n#__vconsole .vc-logbox .vc-log.vc-log-partly-error .vc-item-error {\n display: block;\n}\n#__vconsole .vc-logbox .vc-item .vc-item-content {\n margin-right: 4.61538462em;\n display: inline-block;\n}\n#__vconsole .vc-logbox .vc-item .vc-item-repeat {\n display: inline-block;\n margin-right: 0.30769231em;\n padding: 0 6.5px;\n color: #D7E0EF;\n background-color: #42597F;\n border-radius: 8.66666667px;\n}\n#__vconsole .vc-logbox .vc-item.vc-item-error .vc-item-repeat {\n color: #901818;\n background-color: #DC2727;\n}\n#__vconsole .vc-logbox .vc-item.vc-item-warn .vc-item-repeat {\n color: #987D20;\n background-color: #F4BD02;\n}\n#__vconsole .vc-logbox .vc-item .vc-item-code {\n display: block;\n white-space: pre-wrap;\n overflow: auto;\n position: relative;\n}\n#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-input,\n#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-output {\n padding-left: 0.92307692em;\n}\n#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-input:before,\n#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-output:before {\n content: "›";\n position: absolute;\n top: -0.23076923em;\n left: 0;\n font-size: 1.23076923em;\n color: #6A5ACD;\n}\n#__vconsole .vc-logbox .vc-item .vc-item-code.vc-item-code-output:before {\n content: "‹";\n}\n#__vconsole .vc-logbox .vc-item .vc-fold {\n display: block;\n overflow: auto;\n -webkit-overflow-scrolling: touch;\n}\n#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer {\n display: block;\n font-style: italic;\n padding-left: 0.76923077em;\n position: relative;\n}\n#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer:active {\n background-color: #E6E6E6;\n}\n#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer:before {\n content: "";\n position: absolute;\n top: 0.30769231em;\n left: 0.15384615em;\n width: 0;\n height: 0;\n border: transparent solid 0.30769231em;\n border-left-color: #000;\n}\n#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer.vc-toggle:before {\n top: 0.46153846em;\n left: 0;\n border-top-color: #000;\n border-left-color: transparent;\n}\n#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-inner {\n display: none;\n margin-left: 0.76923077em;\n}\n#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-inner.vc-toggle {\n display: block;\n}\n#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-inner .vc-code-key {\n margin-left: 0.76923077em;\n}\n#__vconsole .vc-logbox .vc-item .vc-fold .vc-fold-outer .vc-code-key {\n margin-left: 0;\n}\n#__vconsole .vc-logbox .vc-code-key {\n color: #905;\n}\n#__vconsole .vc-logbox .vc-code-private-key {\n color: #D391B5;\n}\n#__vconsole .vc-logbox .vc-code-function {\n color: #905;\n font-style: italic;\n}\n#__vconsole .vc-logbox .vc-code-number,\n#__vconsole .vc-logbox .vc-code-boolean {\n color: #0086B3;\n}\n#__vconsole .vc-logbox .vc-code-string {\n color: #183691;\n}\n#__vconsole .vc-logbox .vc-code-null,\n#__vconsole .vc-logbox .vc-code-undefined {\n color: #666;\n}\n#__vconsole .vc-logbox .vc-cmd {\n position: absolute;\n height: 3.07692308em;\n left: 0;\n right: 0;\n bottom: 0;\n border-top: 1px solid #D9D9D9;\n display: block!important;\n}\n#__vconsole .vc-logbox .vc-cmd .vc-cmd-input-wrap {\n display: block;\n height: 2.15384615em;\n margin-right: 3.07692308em;\n padding: 0.46153846em 0.61538462em;\n}\n#__vconsole .vc-logbox .vc-cmd .vc-cmd-input {\n width: 100%;\n border: none;\n resize: none;\n outline: none;\n padding: 0;\n font-size: 0.92307692em;\n}\n#__vconsole .vc-logbox .vc-cmd .vc-cmd-input::-webkit-input-placeholder {\n line-height: 2.15384615em;\n}\n#__vconsole .vc-logbox .vc-cmd .vc-cmd-btn {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: 3.07692308em;\n border: none;\n background-color: #EFEFF4;\n outline: none;\n -webkit-touch-callout: none;\n font-size: 1em;\n}\n#__vconsole .vc-logbox .vc-cmd .vc-cmd-btn:active {\n background-color: rgba(0, 0, 0, 0.15);\n}\n#__vconsole .vc-logbox .vc-cmd .vc-cmd-prompted {\n position: fixed;\n width: 100%;\n background-color: #FBF9FE;\n border: 1px solid #D9D9D9;\n overflow-x: scroll;\n display: none;\n}\n#__vconsole .vc-logbox .vc-cmd .vc-cmd-prompted li {\n list-style: none;\n line-height: 30px;\n padding: 0 0.46153846em;\n border-bottom: 1px solid #D9D9D9;\n}\n#__vconsole .vc-logbox .vc-group .vc-group-preview {\n -webkit-touch-callout: none;\n}\n#__vconsole .vc-logbox .vc-group .vc-group-preview:active {\n background-color: #E6E6E6;\n}\n#__vconsole .vc-logbox .vc-group .vc-group-detail {\n display: none;\n padding: 0 0 0.76923077em 1.53846154em;\n border-bottom: 1px solid #EEE;\n}\n#__vconsole .vc-logbox .vc-group.vc-actived .vc-group-detail {\n display: block;\n background-color: #FBF9FE;\n}\n#__vconsole .vc-logbox .vc-group.vc-actived .vc-table-row {\n background-color: #FFF;\n}\n#__vconsole .vc-logbox .vc-group.vc-actived .vc-group-preview {\n background-color: #FBF9FE;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-row {\n display: flex;\n display: -webkit-flex;\n flex-direction: row;\n flex-wrap: wrap;\n -webkit-box-direction: row;\n -webkit-flex-wrap: wrap;\n overflow: hidden;\n border-bottom: 1px solid #EEE;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-row.vc-left-border {\n border-left: 1px solid #EEE;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-col {\n flex: 1;\n -webkit-box-flex: 1;\n padding: 0.23076923em 0.30769231em;\n border-left: 1px solid #EEE;\n overflow: auto;\n white-space: pre-wrap;\n word-break: break-word;\n /*white-space: nowrap;\n text-overflow: ellipsis;*/\n -webkit-overflow-scrolling: touch;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-col:first-child {\n border: none;\n}\n#__vconsole .vc-logbox .vc-table .vc-small .vc-table-col {\n padding: 0 0.30769231em;\n font-size: 0.92307692em;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-col-2 {\n flex: 2;\n -webkit-box-flex: 2;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-col-3 {\n flex: 3;\n -webkit-box-flex: 3;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-col-4 {\n flex: 4;\n -webkit-box-flex: 4;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-col-5 {\n flex: 5;\n -webkit-box-flex: 5;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-col-6 {\n flex: 6;\n -webkit-box-flex: 6;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-row-error {\n border-color: #F4A0AB;\n background-color: #FFE4E1;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-row-error .vc-table-col {\n color: #DC143C;\n border-color: #F4A0AB;\n}\n#__vconsole .vc-logbox .vc-table .vc-table-col-title {\n font-weight: bold;\n}\n#__vconsole .vc-logbox.vc-actived {\n display: block;\n}\n#__vconsole .vc-toolbar {\n border-top: 1px solid #D9D9D9;\n line-height: 3em;\n position: absolute;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n display: -webkit-box;\n flex-direction: row;\n -webkit-box-direction: row;\n}\n#__vconsole .vc-toolbar .vc-tool {\n display: none;\n text-decoration: none;\n color: #000;\n width: 50%;\n flex: 1;\n -webkit-box-flex: 1;\n text-align: center;\n position: relative;\n -webkit-touch-callout: none;\n}\n#__vconsole .vc-toolbar .vc-tool.vc-toggle,\n#__vconsole .vc-toolbar .vc-tool.vc-global-tool {\n display: block;\n}\n#__vconsole .vc-toolbar .vc-tool:active {\n background-color: rgba(0, 0, 0, 0.15);\n}\n#__vconsole .vc-toolbar .vc-tool:after {\n content: " ";\n position: absolute;\n top: 0.53846154em;\n bottom: 0.53846154em;\n right: 0;\n border-left: 1px solid #D9D9D9;\n}\n#__vconsole .vc-toolbar .vc-tool-last:after {\n border: none;\n}\n@supports (bottom: constant(safe-area-inset-bottom)) or (bottom: env(safe-area-inset-bottom)) {\n #__vconsole .vc-toolbar,\n #__vconsole .vc-switch {\n bottom: constant(safe-area-inset-bottom);\n bottom: env(safe-area-inset-bottom);\n }\n}\n#__vconsole.vc-toggle .vc-switch {\n display: none;\n}\n#__vconsole.vc-toggle .vc-mask {\n background: rgba(0, 0, 0, 0.6);\n display: block;\n}\n#__vconsole.vc-toggle .vc-panel {\n -webkit-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n',""])},function(e,t){e.exports=''},function(e,t){e.exports='{{name}}'},function(e,t){e.exports='\n \n
'},function(e,t){e.exports='{{name}}'},function(e,t){e.exports='{{name}}'},function(e,t){e.exports=''},function(e,t){e.exports='\n {{if (lineType == \'obj\')}}\n
{{outer}}\n
\n {{else if (lineType == \'value\')}}\n
{{value}}\n {{else if (lineType == \'kv\')}}\n
{{key}}:
{{value}}\n {{/if}}\n
'},function(e,t){e.exports='\n {{key}}: {{value}}\n'},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_FACTORY__,__WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__,factory;factory=function(_exports,_query,tool,_log,_tabbox_default,_item_code){"use strict";function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var n=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,o):{};n.get||n.set?Object.defineProperty(t,o,n):t[o]=e[o]}return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var o=0;o=0&&o.test(e[r]);r--)n.push(e[r]);if(0==n.length){o=/\./;for(var i=t-1;i>=0&&o.test(e[i]);i--)n.push(e[i])}if(0===n.length){var a=e.match(/[\(\)\[\]\{\}]/gi)||[];return a[a.length-1]}return n.reverse().join("")};_query.default.bind(_query.default.one(".vc-cmd-input"),"keyup",function(e){var isDeleteKeyCode=8===e.keyCode||46===e.keyCode,$prompted=_query.default.one(".vc-cmd-prompted");$prompted.style.display="none",$prompted.innerHTML="";var tempValue=this.value,value=retrievePrecedingIdentifier(this.value,this.value.length);if(value&&value.length>0){if(/\(/.test(value)&&!isDeleteKeyCode)return void(_query.default.one(".vc-cmd-input").value+=")");if(/\[/.test(value)&&!isDeleteKeyCode)return void(_query.default.one(".vc-cmd-input").value+="]");if(/\{/.test(value)&&!isDeleteKeyCode)return void(_query.default.one(".vc-cmd-input").value+="}");if("."===value){var key=retrievePrecedingIdentifier(tempValue,tempValue.length-1);if(!cacheObj[key])try{cacheObj[key]=Object.getOwnPropertyNames(eval("("+key+")")).sort()}catch(e){}try{for(var _i3=0;_i3=0){var _$li=document.createElement("li");_$li.innerHTML=winKeys[_i4],_$li.onclick=function(){_query.default.one(".vc-cmd-input").value="",_query.default.one(".vc-cmd-input").value=this.innerHTML,"function"==keyTypes[this.innerHTML]&&(_query.default.one(".vc-cmd-input").value+="()"),$prompted.style.display="none"},$prompted.appendChild(_$li)}}else{var arr=value.split(".");if(cacheObj[arr[0]]){cacheObj[arr[0]].sort();for(var _i5=0;_i5=0&&(_$li2.innerHTML=_key3,_$li2.onclick=function(){_query.default.one(".vc-cmd-input").value="",_query.default.one(".vc-cmd-input").value=tempValue+this.innerHTML,$prompted.style.display="none"},$prompted.appendChild(_$li2))}}}if($prompted.children.length>0){var m=Math.min(200,31*$prompted.children.length);$prompted.style.display="block",$prompted.style.height=m+"px",$prompted.style.marginTop=-m+"px"}}else $prompted.style.display="none"}),_query.default.bind(_query.default.one(".vc-cmd",this.$tabbox),"submit",function(e){e.preventDefault();var t=_query.default.one(".vc-cmd-input",e.target),o=t.value;t.value="",""!==o&&that.evalCommand(o);var n=_query.default.one(".vc-cmd-prompted");n&&(n.style.display="none")});var code="";code+="if (!!window) {",code+="window.__vConsole_cmd_result = undefined;",code+="window.__vConsole_cmd_error = false;",code+="}";var scriptList=document.getElementsByTagName("script"),nonce="";scriptList.length>0&&(nonce=scriptList[0].nonce||"");var script=document.createElement("SCRIPT");script.innerHTML=code,script.setAttribute("nonce",nonce),document.documentElement.appendChild(script),document.documentElement.removeChild(script)}},{key:"mockConsole",value:function(){_get(_getPrototypeOf(VConsoleDefaultTab.prototype),"mockConsole",this).call(this);var e=this;tool.isFunction(window.onerror)&&(this.windowOnError=window.onerror),window.onerror=function(t,o,n,r,i){var a=t;o&&(a+="\n"+o.replace(location.origin,"")),(n||r)&&(a+=":"+n+":"+r);var l=!!i&&!!i.stack&&i.stack.toString()||"";e.printLog({logType:"error",logs:[a,l],noOrigin:!0}),tool.isFunction(e.windowOnError)&&e.windowOnError.call(window,t,o,n,r,i)}}},{key:"evalCommand",value:function(e){this.printLog({logType:"log",content:_query.default.render(_item_code.default,{content:e,type:"input"}),style:""});var t,o=void 0;try{o=eval.call(window,"("+e+")")}catch(t){try{o=eval.call(window,e)}catch(e){}}tool.isArray(o)||tool.isObject(o)?t=this.getFoldedLine(o):(tool.isNull(o)?o="null":tool.isUndefined(o)?o="undefined":tool.isFunction(o)?o="function()":tool.isString(o)&&(o='"'+o+'"'),t=_query.default.render(_item_code.default,{content:o,type:"output"})),this.printLog({logType:"log",content:t,style:""}),window.winKeys=Object.getOwnPropertyNames(window).sort()}}]),VConsoleDefaultTab}(_log.default),_default=VConsoleDefaultTab;_exports.default=_default,module.exports=exports.default},__WEBPACK_AMD_DEFINE_ARRAY__=[exports,__webpack_require__(1),__webpack_require__(0),__webpack_require__(3),__webpack_require__(22),__webpack_require__(23)],void 0===(__WEBPACK_AMD_DEFINE_RESULT__="function"==typeof(__WEBPACK_AMD_DEFINE_FACTORY__=factory)?__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__):__WEBPACK_AMD_DEFINE_FACTORY__)||(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)},function(e,t){e.exports=''},function(e,t){e.exports='{{content}}'},function(e,t,o){var n,r,i;r=[t,o(3),o(25)],void 0===(i="function"==typeof(n=function(o,n,r){"use strict";function i(e){return e&&e.__esModule?e:{default:e}}function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t){for(var o=0;o\n \n'},function(e,t,o){var n,r,i;r=[t,o(1),o(0),o(2),o(27),o(28),o(29)],void 0===(i="function"==typeof(n=function(o,n,r,i,a,l,c){"use strict";function s(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o=t.scrollHeight?e.isInBottom=!0:e.isInBottom=!1)}),e.reqList)e.updateRequest(o,{})}},{key:"onRemove",value:function(){window.XMLHttpRequest&&(window.XMLHttpRequest.prototype.open=this._open,window.XMLHttpRequest.prototype.send=this._send,this._open=void 0,this._send=void 0)}},{key:"onShow",value:function(){this.isShow=!0,1==this.isInBottom&&this.scrollToBottom()}},{key:"onHide",value:function(){this.isShow=!1}},{key:"onShowConsole",value:function(){1==this.isInBottom&&this.scrollToBottom()}},{key:"scrollToBottom",value:function(){var e=n.default.one(".vc-content");e.scrollTop=e.scrollHeight-e.offsetHeight}},{key:"clearLog",value:function(){for(var e in this.reqList={},this.domList)this.domList[e].parentNode.removeChild(this.domList[e]),this.domList[e]=void 0;this.domList={},this.renderHeader()}},{key:"renderHeader",value:function(){var e=Object.keys(this.reqList).length,t=n.default.render(l.default,{count:e}),o=n.default.one(".vc-log",this.$tabbox);this.$header?this.$header.parentNode.replaceChild(t,this.$header):o.parentNode.insertBefore(t,o),this.$header=t}},{key:"updateRequest",value:function(e,t){var o=Object.keys(this.reqList).length,i=this.reqList[e]||{};for(var a in t)i[a]=t[a];if(this.reqList[e]=i,this.isReady){var l={id:e,url:i.url,status:i.status,method:i.method||"-",costTime:i.costTime>0?i.costTime+"ms":"-",header:i.header||null,getData:i.getData||null,postData:i.postData||null,response:null,actived:!!i.actived};switch(i.responseType){case"":case"text":if(r.isString(i.response))try{l.response=JSON.parse(i.response),l.response=JSON.stringify(l.response,null,1),l.response=r.htmlEncode(l.response)}catch(e){l.response=r.htmlEncode(i.response)}else void 0!==i.response&&(l.response=Object.prototype.toString.call(i.response));break;case"json":void 0!==i.response&&(l.response=JSON.stringify(i.response,null,1),l.response=r.htmlEncode(l.response));break;case"blob":case"document":case"arraybuffer":default:void 0!==i.response&&(l.response=Object.prototype.toString.call(i.response))}0==i.readyState||1==i.readyState?l.status="Pending":2==i.readyState||3==i.readyState?l.status="Loading":4==i.readyState||(l.status="Unknown");var s=n.default.render(c.default,l),d=this.domList[e];i.status>=400&&n.default.addClass(n.default.one(".vc-group-preview",s),"vc-table-row-error"),d?d.parentNode.replaceChild(s,d):n.default.one(".vc-log",this.$tabbox).insertAdjacentElement("beforeend",s),this.domList[e]=s,Object.keys(this.reqList).length!=o&&this.renderHeader(),this.isInBottom&&this.scrollToBottom()}}},{key:"mockAjax",value:function(){if(window.XMLHttpRequest){var e=this,t=window.XMLHttpRequest.prototype.open,o=window.XMLHttpRequest.prototype.send;e._open=t,e._send=o,window.XMLHttpRequest.prototype.open=function(){var o=this,n=[].slice.call(arguments),r=n[0],i=n[1],a=e.getUniqueID(),l=null;o._requestID=a,o._method=r,o._url=i;var c=o.onreadystatechange||function(){},s=function(){var t=e.reqList[a]||{};if(t.readyState=o.readyState,t.status=0,o.readyState>1&&(t.status=o.status),t.responseType=o.responseType,0==o.readyState)t.startTime||(t.startTime=+new Date);else if(1==o.readyState)t.startTime||(t.startTime=+new Date);else if(2==o.readyState){t.header={};for(var n=o.getAllResponseHeaders()||"",r=n.split("\n"),i=0;i0){a.getData={},l=(l=l.join("?")).split("&");var c=!0,s=!1,d=void 0;try{for(var u,v=l[Symbol.iterator]();!(c=(u=v.next()).done);c=!0){var f=u.value;f=f.split("="),a.getData[f[0]]=decodeURIComponent(f[1])}}catch(e){s=!0,d=e}finally{try{c||null==v.return||v.return()}finally{if(s)throw d}}}if("POST"==a.method)if(r.isString(i)){var p=i.split("&");a.postData={};var b=!0,g=!1,h=void 0;try{for(var m,y=p[Symbol.iterator]();!(b=(m=y.next()).done);b=!0){var _=m.value;_=_.split("="),a.postData[_[0]]=_[1]}}catch(e){g=!0,h=e}finally{try{b||null==y.return||y.return()}finally{if(g)throw h}}}else r.isPlainObject(i)&&(a.postData=i);return t._noVConsole||e.updateRequest(t._requestID,a),o.apply(t,n)}}}},{key:"getUniqueID",value:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})}}])&&u(o.prototype,s),d&&u(o,d),t}();o.default=b,e.exports=t.default})?n.apply(t,r):n)||(e.exports=i)},function(e,t){e.exports=''},function(e,t){e.exports='\n - Name {{if (count > 0)}}({{count}}){{/if}}
\n - Method
\n - Status
\n - Time
\n
'},function(e,t){e.exports='\n
\n - {{url}}
\n - {{method}}
\n - {{status}}
\n - {{costTime}}
\n
\n
\n {{if (header !== null)}}\n
\n
\n - Headers
\n
\n {{for (var key in header)}}\n
\n
{{key}}
\n
{{header[key]}}
\n
\n {{/for}}\n
\n {{/if}}\n {{if (getData !== null)}}\n
\n
\n - Query String Parameters
\n
\n {{for (var key in getData)}}\n
\n
{{key}}
\n
{{getData[key]}}
\n
\n {{/for}}\n
\n {{/if}}\n {{if (postData !== null)}}\n
\n
\n - Form Data
\n
\n {{for (var key in postData)}}\n
\n
{{key}}
\n
{{postData[key]}}
\n
\n {{/for}}\n
\n {{/if}}\n
\n
\n - Response
\n
\n
\n
{{response || \'\'}}\n
\n
\n
\n
'},function(e,t,o){var n,r,i;r=[t,o(31),o(2),o(33),o(34),o(0),o(1)],void 0===(i="function"==typeof(n=function(o,n,r,i,a,l,c){"use strict";function s(e){return e&&e.__esModule?e:{default:e}}function d(e){return(d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var o=0;o0&&this.onChildRemove(e),e.addedNodes.length>0&&this.onChildAdd(e);break;case"attributes":this.onAttributesChange(e);break;case"characterData":this.onCharacterDataChange(e)}}},{key:"onChildRemove",value:function(e){var t=e.target;if(t.__vconsole_node){for(var o=0;o0||(e.childNodes[r]?n.renderView(e.childNodes[r],a,"replace"):a.style.display="none"))}}}),o){case"replace":t.parentNode.replaceChild(r,t);break;case"insertBefore":t.parentNode.insertBefore(r,t);break;default:t.appendChild(r)}return r}},{key:"getNode",value:function(e){if(!this._isIgnoredElement(e)){var t=e.__vconsole_node||{};if(t.nodeType=e.nodeType,t.nodeName=e.nodeName,t.tagName=e.tagName||"",t.textContent="",t.nodeType!=e.TEXT_NODE&&t.nodeType!=e.DOCUMENT_TYPE_NODE||(t.textContent=e.textContent),t.id=e.id||"",t.className=e.className||"",t.attributes=[],e.hasAttributes&&e.hasAttributes())for(var o=0;o0)for(var n=0;n .vcelm-node {\n display: block;\n}\n.vcelm-l .vcelm-node:active {\n background-color: rgba(0, 0, 0, 0.15);\n}\n.vcelm-l.vcelm-noc .vcelm-node:active {\n background-color: transparent;\n}\n.vcelm-t {\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n/* level */\n.vcelm-l .vcelm-l {\n display: none;\n}\n.vcelm-l.vc-toggle > .vcelm-l {\n margin-left: 4px;\n display: block;\n}\n/* arrow */\n.vcelm-l:before {\n content: "";\n display: block;\n position: absolute;\n top: 6px;\n left: 3px;\n width: 0;\n height: 0;\n border: transparent solid 3px;\n border-left-color: #000;\n}\n.vcelm-l.vc-toggle:before {\n display: block;\n top: 6px;\n left: 0;\n border-top-color: #000;\n border-left-color: transparent;\n}\n.vcelm-l.vcelm-noc:before {\n display: none;\n}\n',""])},function(e,t){e.exports=''},function(e,t,o){var n,r,i;r=[t,o(35),o(36),o(0),o(1)],void 0===(i="function"==typeof(n=function(o,n,r,i,a){"use strict";function l(e){return e&&e.__esModule?e:{default:e}}function c(e,t){for(var o=0;o-1),l=i;0==e.childNodes.length&&(l=!0);var c=a.default.render(n.default,{node:e}),s=a.default.render(r.default,{node:e});if(l)a.default.addClass(t,"vcelm-noc"),t.appendChild(c),i||t.appendChild(s);else{t.appendChild(c);for(var d=0;d<{{node.tagName.toLowerCase()}}{{if (node.className || node.attributes.length)}}\n \n {{for (var i = 0; i < node.attributes.length; i++)}}\n {{if (node.attributes[i].value !== \'\')}}\n {{node.attributes[i].name}}="{{node.attributes[i].value}}"{{else}}\n {{node.attributes[i].name}}{{/if}}{{/for}}{{/if}}>'},function(e,t){e.exports='</{{node.tagName.toLowerCase()}}>'},function(e,t,o){var n,r,i;r=[t,o(2),o(38),o(39),o(0),o(1)],void 0===(i="function"==typeof(n=function(o,n,r,i,a,l){"use strict";function c(e){return e&&e.__esModule?e:{default:e}}function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){for(var o=0;o\n \n'},function(e,t){e.exports='\n
\n - Name
\n - Value
\n
\n {{for (var i = 0; i < list.length; i++)}}\n
\n - {{list[i].name}}
\n - {{list[i].value}}
\n
\n {{/for}}\n
'}])});
\ No newline at end of file
diff --git a/app/components/wPicker/city-data/area.js b/app/components/wPicker/city-data/area.js
new file mode 100644
index 0000000..92dfc30
--- /dev/null
+++ b/app/components/wPicker/city-data/area.js
@@ -0,0 +1,12542 @@
+/* eslint-disable */
+var areaData = [
+ [
+ [{
+ "label": "东城区",
+ "value": "110101"
+ },
+ {
+ "label": "西城区",
+ "value": "110102"
+ },
+ {
+ "label": "朝阳区",
+ "value": "110105"
+ },
+ {
+ "label": "丰台区",
+ "value": "110106"
+ },
+ {
+ "label": "石景山区",
+ "value": "110107"
+ },
+ {
+ "label": "海淀区",
+ "value": "110108"
+ },
+ {
+ "label": "门头沟区",
+ "value": "110109"
+ },
+ {
+ "label": "房山区",
+ "value": "110111"
+ },
+ {
+ "label": "通州区",
+ "value": "110112"
+ },
+ {
+ "label": "顺义区",
+ "value": "110113"
+ },
+ {
+ "label": "昌平区",
+ "value": "110114"
+ },
+ {
+ "label": "大兴区",
+ "value": "110115"
+ },
+ {
+ "label": "怀柔区",
+ "value": "110116"
+ },
+ {
+ "label": "平谷区",
+ "value": "110117"
+ },
+ {
+ "label": "密云区",
+ "value": "110118"
+ },
+ {
+ "label": "延庆区",
+ "value": "110119"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "和平区",
+ "value": "120101"
+ },
+ {
+ "label": "河东区",
+ "value": "120102"
+ },
+ {
+ "label": "河西区",
+ "value": "120103"
+ },
+ {
+ "label": "南开区",
+ "value": "120104"
+ },
+ {
+ "label": "河北区",
+ "value": "120105"
+ },
+ {
+ "label": "红桥区",
+ "value": "120106"
+ },
+ {
+ "label": "东丽区",
+ "value": "120110"
+ },
+ {
+ "label": "西青区",
+ "value": "120111"
+ },
+ {
+ "label": "津南区",
+ "value": "120112"
+ },
+ {
+ "label": "北辰区",
+ "value": "120113"
+ },
+ {
+ "label": "武清区",
+ "value": "120114"
+ },
+ {
+ "label": "宝坻区",
+ "value": "120115"
+ },
+ {
+ "label": "滨海新区",
+ "value": "120116"
+ },
+ {
+ "label": "宁河区",
+ "value": "120117"
+ },
+ {
+ "label": "静海区",
+ "value": "120118"
+ },
+ {
+ "label": "蓟州区",
+ "value": "120119"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "长安区",
+ "value": "130102"
+ },
+ {
+ "label": "桥西区",
+ "value": "130104"
+ },
+ {
+ "label": "新华区",
+ "value": "130105"
+ },
+ {
+ "label": "井陉矿区",
+ "value": "130107"
+ },
+ {
+ "label": "裕华区",
+ "value": "130108"
+ },
+ {
+ "label": "藁城区",
+ "value": "130109"
+ },
+ {
+ "label": "鹿泉区",
+ "value": "130110"
+ },
+ {
+ "label": "栾城区",
+ "value": "130111"
+ },
+ {
+ "label": "井陉县",
+ "value": "130121"
+ },
+ {
+ "label": "正定县",
+ "value": "130123"
+ },
+ {
+ "label": "行唐县",
+ "value": "130125"
+ },
+ {
+ "label": "灵寿县",
+ "value": "130126"
+ },
+ {
+ "label": "高邑县",
+ "value": "130127"
+ },
+ {
+ "label": "深泽县",
+ "value": "130128"
+ },
+ {
+ "label": "赞皇县",
+ "value": "130129"
+ },
+ {
+ "label": "无极县",
+ "value": "130130"
+ },
+ {
+ "label": "平山县",
+ "value": "130131"
+ },
+ {
+ "label": "元氏县",
+ "value": "130132"
+ },
+ {
+ "label": "赵县",
+ "value": "130133"
+ },
+ {
+ "label": "石家庄高新技术产业开发区",
+ "value": "130171"
+ },
+ {
+ "label": "石家庄循环化工园区",
+ "value": "130172"
+ },
+ {
+ "label": "辛集市",
+ "value": "130181"
+ },
+ {
+ "label": "晋州市",
+ "value": "130183"
+ },
+ {
+ "label": "新乐市",
+ "value": "130184"
+ }
+ ],
+ [{
+ "label": "路南区",
+ "value": "130202"
+ },
+ {
+ "label": "路北区",
+ "value": "130203"
+ },
+ {
+ "label": "古冶区",
+ "value": "130204"
+ },
+ {
+ "label": "开平区",
+ "value": "130205"
+ },
+ {
+ "label": "丰南区",
+ "value": "130207"
+ },
+ {
+ "label": "丰润区",
+ "value": "130208"
+ },
+ {
+ "label": "曹妃甸区",
+ "value": "130209"
+ },
+ {
+ "label": "滦县",
+ "value": "130223"
+ },
+ {
+ "label": "滦南县",
+ "value": "130224"
+ },
+ {
+ "label": "乐亭县",
+ "value": "130225"
+ },
+ {
+ "label": "迁西县",
+ "value": "130227"
+ },
+ {
+ "label": "玉田县",
+ "value": "130229"
+ },
+ {
+ "label": "唐山市芦台经济技术开发区",
+ "value": "130271"
+ },
+ {
+ "label": "唐山市汉沽管理区",
+ "value": "130272"
+ },
+ {
+ "label": "唐山高新技术产业开发区",
+ "value": "130273"
+ },
+ {
+ "label": "河北唐山海港经济开发区",
+ "value": "130274"
+ },
+ {
+ "label": "遵化市",
+ "value": "130281"
+ },
+ {
+ "label": "迁安市",
+ "value": "130283"
+ }
+ ],
+ [{
+ "label": "海港区",
+ "value": "130302"
+ },
+ {
+ "label": "山海关区",
+ "value": "130303"
+ },
+ {
+ "label": "北戴河区",
+ "value": "130304"
+ },
+ {
+ "label": "抚宁区",
+ "value": "130306"
+ },
+ {
+ "label": "青龙满族自治县",
+ "value": "130321"
+ },
+ {
+ "label": "昌黎县",
+ "value": "130322"
+ },
+ {
+ "label": "卢龙县",
+ "value": "130324"
+ },
+ {
+ "label": "秦皇岛市经济技术开发区",
+ "value": "130371"
+ },
+ {
+ "label": "北戴河新区",
+ "value": "130372"
+ }
+ ],
+ [{
+ "label": "邯山区",
+ "value": "130402"
+ },
+ {
+ "label": "丛台区",
+ "value": "130403"
+ },
+ {
+ "label": "复兴区",
+ "value": "130404"
+ },
+ {
+ "label": "峰峰矿区",
+ "value": "130406"
+ },
+ {
+ "label": "肥乡区",
+ "value": "130407"
+ },
+ {
+ "label": "永年区",
+ "value": "130408"
+ },
+ {
+ "label": "临漳县",
+ "value": "130423"
+ },
+ {
+ "label": "成安县",
+ "value": "130424"
+ },
+ {
+ "label": "大名县",
+ "value": "130425"
+ },
+ {
+ "label": "涉县",
+ "value": "130426"
+ },
+ {
+ "label": "磁县",
+ "value": "130427"
+ },
+ {
+ "label": "邱县",
+ "value": "130430"
+ },
+ {
+ "label": "鸡泽县",
+ "value": "130431"
+ },
+ {
+ "label": "广平县",
+ "value": "130432"
+ },
+ {
+ "label": "馆陶县",
+ "value": "130433"
+ },
+ {
+ "label": "魏县",
+ "value": "130434"
+ },
+ {
+ "label": "曲周县",
+ "value": "130435"
+ },
+ {
+ "label": "邯郸经济技术开发区",
+ "value": "130471"
+ },
+ {
+ "label": "邯郸冀南新区",
+ "value": "130473"
+ },
+ {
+ "label": "武安市",
+ "value": "130481"
+ }
+ ],
+ [{
+ "label": "桥东区",
+ "value": "130502"
+ },
+ {
+ "label": "桥西区",
+ "value": "130503"
+ },
+ {
+ "label": "邢台县",
+ "value": "130521"
+ },
+ {
+ "label": "临城县",
+ "value": "130522"
+ },
+ {
+ "label": "内丘县",
+ "value": "130523"
+ },
+ {
+ "label": "柏乡县",
+ "value": "130524"
+ },
+ {
+ "label": "隆尧县",
+ "value": "130525"
+ },
+ {
+ "label": "任县",
+ "value": "130526"
+ },
+ {
+ "label": "南和县",
+ "value": "130527"
+ },
+ {
+ "label": "宁晋县",
+ "value": "130528"
+ },
+ {
+ "label": "巨鹿县",
+ "value": "130529"
+ },
+ {
+ "label": "新河县",
+ "value": "130530"
+ },
+ {
+ "label": "广宗县",
+ "value": "130531"
+ },
+ {
+ "label": "平乡县",
+ "value": "130532"
+ },
+ {
+ "label": "威县",
+ "value": "130533"
+ },
+ {
+ "label": "清河县",
+ "value": "130534"
+ },
+ {
+ "label": "临西县",
+ "value": "130535"
+ },
+ {
+ "label": "河北邢台经济开发区",
+ "value": "130571"
+ },
+ {
+ "label": "南宫市",
+ "value": "130581"
+ },
+ {
+ "label": "沙河市",
+ "value": "130582"
+ }
+ ],
+ [{
+ "label": "竞秀区",
+ "value": "130602"
+ },
+ {
+ "label": "莲池区",
+ "value": "130606"
+ },
+ {
+ "label": "满城区",
+ "value": "130607"
+ },
+ {
+ "label": "清苑区",
+ "value": "130608"
+ },
+ {
+ "label": "徐水区",
+ "value": "130609"
+ },
+ {
+ "label": "涞水县",
+ "value": "130623"
+ },
+ {
+ "label": "阜平县",
+ "value": "130624"
+ },
+ {
+ "label": "定兴县",
+ "value": "130626"
+ },
+ {
+ "label": "唐县",
+ "value": "130627"
+ },
+ {
+ "label": "高阳县",
+ "value": "130628"
+ },
+ {
+ "label": "容城县",
+ "value": "130629"
+ },
+ {
+ "label": "涞源县",
+ "value": "130630"
+ },
+ {
+ "label": "望都县",
+ "value": "130631"
+ },
+ {
+ "label": "安新县",
+ "value": "130632"
+ },
+ {
+ "label": "易县",
+ "value": "130633"
+ },
+ {
+ "label": "曲阳县",
+ "value": "130634"
+ },
+ {
+ "label": "蠡县",
+ "value": "130635"
+ },
+ {
+ "label": "顺平县",
+ "value": "130636"
+ },
+ {
+ "label": "博野县",
+ "value": "130637"
+ },
+ {
+ "label": "雄县",
+ "value": "130638"
+ },
+ {
+ "label": "保定高新技术产业开发区",
+ "value": "130671"
+ },
+ {
+ "label": "保定白沟新城",
+ "value": "130672"
+ },
+ {
+ "label": "涿州市",
+ "value": "130681"
+ },
+ {
+ "label": "定州市",
+ "value": "130682"
+ },
+ {
+ "label": "安国市",
+ "value": "130683"
+ },
+ {
+ "label": "高碑店市",
+ "value": "130684"
+ }
+ ],
+ [{
+ "label": "桥东区",
+ "value": "130702"
+ },
+ {
+ "label": "桥西区",
+ "value": "130703"
+ },
+ {
+ "label": "宣化区",
+ "value": "130705"
+ },
+ {
+ "label": "下花园区",
+ "value": "130706"
+ },
+ {
+ "label": "万全区",
+ "value": "130708"
+ },
+ {
+ "label": "崇礼区",
+ "value": "130709"
+ },
+ {
+ "label": "张北县",
+ "value": "130722"
+ },
+ {
+ "label": "康保县",
+ "value": "130723"
+ },
+ {
+ "label": "沽源县",
+ "value": "130724"
+ },
+ {
+ "label": "尚义县",
+ "value": "130725"
+ },
+ {
+ "label": "蔚县",
+ "value": "130726"
+ },
+ {
+ "label": "阳原县",
+ "value": "130727"
+ },
+ {
+ "label": "怀安县",
+ "value": "130728"
+ },
+ {
+ "label": "怀来县",
+ "value": "130730"
+ },
+ {
+ "label": "涿鹿县",
+ "value": "130731"
+ },
+ {
+ "label": "赤城县",
+ "value": "130732"
+ },
+ {
+ "label": "张家口市高新技术产业开发区",
+ "value": "130771"
+ },
+ {
+ "label": "张家口市察北管理区",
+ "value": "130772"
+ },
+ {
+ "label": "张家口市塞北管理区",
+ "value": "130773"
+ }
+ ],
+ [{
+ "label": "双桥区",
+ "value": "130802"
+ },
+ {
+ "label": "双滦区",
+ "value": "130803"
+ },
+ {
+ "label": "鹰手营子矿区",
+ "value": "130804"
+ },
+ {
+ "label": "承德县",
+ "value": "130821"
+ },
+ {
+ "label": "兴隆县",
+ "value": "130822"
+ },
+ {
+ "label": "滦平县",
+ "value": "130824"
+ },
+ {
+ "label": "隆化县",
+ "value": "130825"
+ },
+ {
+ "label": "丰宁满族自治县",
+ "value": "130826"
+ },
+ {
+ "label": "宽城满族自治县",
+ "value": "130827"
+ },
+ {
+ "label": "围场满族蒙古族自治县",
+ "value": "130828"
+ },
+ {
+ "label": "承德高新技术产业开发区",
+ "value": "130871"
+ },
+ {
+ "label": "平泉市",
+ "value": "130881"
+ }
+ ],
+ [{
+ "label": "新华区",
+ "value": "130902"
+ },
+ {
+ "label": "运河区",
+ "value": "130903"
+ },
+ {
+ "label": "沧县",
+ "value": "130921"
+ },
+ {
+ "label": "青县",
+ "value": "130922"
+ },
+ {
+ "label": "东光县",
+ "value": "130923"
+ },
+ {
+ "label": "海兴县",
+ "value": "130924"
+ },
+ {
+ "label": "盐山县",
+ "value": "130925"
+ },
+ {
+ "label": "肃宁县",
+ "value": "130926"
+ },
+ {
+ "label": "南皮县",
+ "value": "130927"
+ },
+ {
+ "label": "吴桥县",
+ "value": "130928"
+ },
+ {
+ "label": "献县",
+ "value": "130929"
+ },
+ {
+ "label": "孟村回族自治县",
+ "value": "130930"
+ },
+ {
+ "label": "河北沧州经济开发区",
+ "value": "130971"
+ },
+ {
+ "label": "沧州高新技术产业开发区",
+ "value": "130972"
+ },
+ {
+ "label": "沧州渤海新区",
+ "value": "130973"
+ },
+ {
+ "label": "泊头市",
+ "value": "130981"
+ },
+ {
+ "label": "任丘市",
+ "value": "130982"
+ },
+ {
+ "label": "黄骅市",
+ "value": "130983"
+ },
+ {
+ "label": "河间市",
+ "value": "130984"
+ }
+ ],
+ [{
+ "label": "安次区",
+ "value": "131002"
+ },
+ {
+ "label": "广阳区",
+ "value": "131003"
+ },
+ {
+ "label": "固安县",
+ "value": "131022"
+ },
+ {
+ "label": "永清县",
+ "value": "131023"
+ },
+ {
+ "label": "香河县",
+ "value": "131024"
+ },
+ {
+ "label": "大城县",
+ "value": "131025"
+ },
+ {
+ "label": "文安县",
+ "value": "131026"
+ },
+ {
+ "label": "大厂回族自治县",
+ "value": "131028"
+ },
+ {
+ "label": "廊坊经济技术开发区",
+ "value": "131071"
+ },
+ {
+ "label": "霸州市",
+ "value": "131081"
+ },
+ {
+ "label": "三河市",
+ "value": "131082"
+ }
+ ],
+ [{
+ "label": "桃城区",
+ "value": "131102"
+ },
+ {
+ "label": "冀州区",
+ "value": "131103"
+ },
+ {
+ "label": "枣强县",
+ "value": "131121"
+ },
+ {
+ "label": "武邑县",
+ "value": "131122"
+ },
+ {
+ "label": "武强县",
+ "value": "131123"
+ },
+ {
+ "label": "饶阳县",
+ "value": "131124"
+ },
+ {
+ "label": "安平县",
+ "value": "131125"
+ },
+ {
+ "label": "故城县",
+ "value": "131126"
+ },
+ {
+ "label": "景县",
+ "value": "131127"
+ },
+ {
+ "label": "阜城县",
+ "value": "131128"
+ },
+ {
+ "label": "河北衡水经济开发区",
+ "value": "131171"
+ },
+ {
+ "label": "衡水滨湖新区",
+ "value": "131172"
+ },
+ {
+ "label": "深州市",
+ "value": "131182"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "小店区",
+ "value": "140105"
+ },
+ {
+ "label": "迎泽区",
+ "value": "140106"
+ },
+ {
+ "label": "杏花岭区",
+ "value": "140107"
+ },
+ {
+ "label": "尖草坪区",
+ "value": "140108"
+ },
+ {
+ "label": "万柏林区",
+ "value": "140109"
+ },
+ {
+ "label": "晋源区",
+ "value": "140110"
+ },
+ {
+ "label": "清徐县",
+ "value": "140121"
+ },
+ {
+ "label": "阳曲县",
+ "value": "140122"
+ },
+ {
+ "label": "娄烦县",
+ "value": "140123"
+ },
+ {
+ "label": "山西转型综合改革示范区",
+ "value": "140171"
+ },
+ {
+ "label": "古交市",
+ "value": "140181"
+ }
+ ],
+ [{
+ "label": "城区",
+ "value": "140202"
+ },
+ {
+ "label": "矿区",
+ "value": "140203"
+ },
+ {
+ "label": "南郊区",
+ "value": "140211"
+ },
+ {
+ "label": "新荣区",
+ "value": "140212"
+ },
+ {
+ "label": "阳高县",
+ "value": "140221"
+ },
+ {
+ "label": "天镇县",
+ "value": "140222"
+ },
+ {
+ "label": "广灵县",
+ "value": "140223"
+ },
+ {
+ "label": "灵丘县",
+ "value": "140224"
+ },
+ {
+ "label": "浑源县",
+ "value": "140225"
+ },
+ {
+ "label": "左云县",
+ "value": "140226"
+ },
+ {
+ "label": "大同县",
+ "value": "140227"
+ },
+ {
+ "label": "山西大同经济开发区",
+ "value": "140271"
+ }
+ ],
+ [{
+ "label": "城区",
+ "value": "140302"
+ },
+ {
+ "label": "矿区",
+ "value": "140303"
+ },
+ {
+ "label": "郊区",
+ "value": "140311"
+ },
+ {
+ "label": "平定县",
+ "value": "140321"
+ },
+ {
+ "label": "盂县",
+ "value": "140322"
+ },
+ {
+ "label": "山西阳泉经济开发区",
+ "value": "140371"
+ }
+ ],
+ [{
+ "label": "城区",
+ "value": "140402"
+ },
+ {
+ "label": "郊区",
+ "value": "140411"
+ },
+ {
+ "label": "长治县",
+ "value": "140421"
+ },
+ {
+ "label": "襄垣县",
+ "value": "140423"
+ },
+ {
+ "label": "屯留县",
+ "value": "140424"
+ },
+ {
+ "label": "平顺县",
+ "value": "140425"
+ },
+ {
+ "label": "黎城县",
+ "value": "140426"
+ },
+ {
+ "label": "壶关县",
+ "value": "140427"
+ },
+ {
+ "label": "长子县",
+ "value": "140428"
+ },
+ {
+ "label": "武乡县",
+ "value": "140429"
+ },
+ {
+ "label": "沁县",
+ "value": "140430"
+ },
+ {
+ "label": "沁源县",
+ "value": "140431"
+ },
+ {
+ "label": "山西长治高新技术产业园区",
+ "value": "140471"
+ },
+ {
+ "label": "潞城市",
+ "value": "140481"
+ }
+ ],
+ [{
+ "label": "城区",
+ "value": "140502"
+ },
+ {
+ "label": "沁水县",
+ "value": "140521"
+ },
+ {
+ "label": "阳城县",
+ "value": "140522"
+ },
+ {
+ "label": "陵川县",
+ "value": "140524"
+ },
+ {
+ "label": "泽州县",
+ "value": "140525"
+ },
+ {
+ "label": "高平市",
+ "value": "140581"
+ }
+ ],
+ [{
+ "label": "朔城区",
+ "value": "140602"
+ },
+ {
+ "label": "平鲁区",
+ "value": "140603"
+ },
+ {
+ "label": "山阴县",
+ "value": "140621"
+ },
+ {
+ "label": "应县",
+ "value": "140622"
+ },
+ {
+ "label": "右玉县",
+ "value": "140623"
+ },
+ {
+ "label": "怀仁县",
+ "value": "140624"
+ },
+ {
+ "label": "山西朔州经济开发区",
+ "value": "140671"
+ }
+ ],
+ [{
+ "label": "榆次区",
+ "value": "140702"
+ },
+ {
+ "label": "榆社县",
+ "value": "140721"
+ },
+ {
+ "label": "左权县",
+ "value": "140722"
+ },
+ {
+ "label": "和顺县",
+ "value": "140723"
+ },
+ {
+ "label": "昔阳县",
+ "value": "140724"
+ },
+ {
+ "label": "寿阳县",
+ "value": "140725"
+ },
+ {
+ "label": "太谷县",
+ "value": "140726"
+ },
+ {
+ "label": "祁县",
+ "value": "140727"
+ },
+ {
+ "label": "平遥县",
+ "value": "140728"
+ },
+ {
+ "label": "灵石县",
+ "value": "140729"
+ },
+ {
+ "label": "介休市",
+ "value": "140781"
+ }
+ ],
+ [{
+ "label": "盐湖区",
+ "value": "140802"
+ },
+ {
+ "label": "临猗县",
+ "value": "140821"
+ },
+ {
+ "label": "万荣县",
+ "value": "140822"
+ },
+ {
+ "label": "闻喜县",
+ "value": "140823"
+ },
+ {
+ "label": "稷山县",
+ "value": "140824"
+ },
+ {
+ "label": "新绛县",
+ "value": "140825"
+ },
+ {
+ "label": "绛县",
+ "value": "140826"
+ },
+ {
+ "label": "垣曲县",
+ "value": "140827"
+ },
+ {
+ "label": "夏县",
+ "value": "140828"
+ },
+ {
+ "label": "平陆县",
+ "value": "140829"
+ },
+ {
+ "label": "芮城县",
+ "value": "140830"
+ },
+ {
+ "label": "永济市",
+ "value": "140881"
+ },
+ {
+ "label": "河津市",
+ "value": "140882"
+ }
+ ],
+ [{
+ "label": "忻府区",
+ "value": "140902"
+ },
+ {
+ "label": "定襄县",
+ "value": "140921"
+ },
+ {
+ "label": "五台县",
+ "value": "140922"
+ },
+ {
+ "label": "代县",
+ "value": "140923"
+ },
+ {
+ "label": "繁峙县",
+ "value": "140924"
+ },
+ {
+ "label": "宁武县",
+ "value": "140925"
+ },
+ {
+ "label": "静乐县",
+ "value": "140926"
+ },
+ {
+ "label": "神池县",
+ "value": "140927"
+ },
+ {
+ "label": "五寨县",
+ "value": "140928"
+ },
+ {
+ "label": "岢岚县",
+ "value": "140929"
+ },
+ {
+ "label": "河曲县",
+ "value": "140930"
+ },
+ {
+ "label": "保德县",
+ "value": "140931"
+ },
+ {
+ "label": "偏关县",
+ "value": "140932"
+ },
+ {
+ "label": "五台山风景名胜区",
+ "value": "140971"
+ },
+ {
+ "label": "原平市",
+ "value": "140981"
+ }
+ ],
+ [{
+ "label": "尧都区",
+ "value": "141002"
+ },
+ {
+ "label": "曲沃县",
+ "value": "141021"
+ },
+ {
+ "label": "翼城县",
+ "value": "141022"
+ },
+ {
+ "label": "襄汾县",
+ "value": "141023"
+ },
+ {
+ "label": "洪洞县",
+ "value": "141024"
+ },
+ {
+ "label": "古县",
+ "value": "141025"
+ },
+ {
+ "label": "安泽县",
+ "value": "141026"
+ },
+ {
+ "label": "浮山县",
+ "value": "141027"
+ },
+ {
+ "label": "吉县",
+ "value": "141028"
+ },
+ {
+ "label": "乡宁县",
+ "value": "141029"
+ },
+ {
+ "label": "大宁县",
+ "value": "141030"
+ },
+ {
+ "label": "隰县",
+ "value": "141031"
+ },
+ {
+ "label": "永和县",
+ "value": "141032"
+ },
+ {
+ "label": "蒲县",
+ "value": "141033"
+ },
+ {
+ "label": "汾西县",
+ "value": "141034"
+ },
+ {
+ "label": "侯马市",
+ "value": "141081"
+ },
+ {
+ "label": "霍州市",
+ "value": "141082"
+ }
+ ],
+ [{
+ "label": "离石区",
+ "value": "141102"
+ },
+ {
+ "label": "文水县",
+ "value": "141121"
+ },
+ {
+ "label": "交城县",
+ "value": "141122"
+ },
+ {
+ "label": "兴县",
+ "value": "141123"
+ },
+ {
+ "label": "临县",
+ "value": "141124"
+ },
+ {
+ "label": "柳林县",
+ "value": "141125"
+ },
+ {
+ "label": "石楼县",
+ "value": "141126"
+ },
+ {
+ "label": "岚县",
+ "value": "141127"
+ },
+ {
+ "label": "方山县",
+ "value": "141128"
+ },
+ {
+ "label": "中阳县",
+ "value": "141129"
+ },
+ {
+ "label": "交口县",
+ "value": "141130"
+ },
+ {
+ "label": "孝义市",
+ "value": "141181"
+ },
+ {
+ "label": "汾阳市",
+ "value": "141182"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "新城区",
+ "value": "150102"
+ },
+ {
+ "label": "回民区",
+ "value": "150103"
+ },
+ {
+ "label": "玉泉区",
+ "value": "150104"
+ },
+ {
+ "label": "赛罕区",
+ "value": "150105"
+ },
+ {
+ "label": "土默特左旗",
+ "value": "150121"
+ },
+ {
+ "label": "托克托县",
+ "value": "150122"
+ },
+ {
+ "label": "和林格尔县",
+ "value": "150123"
+ },
+ {
+ "label": "清水河县",
+ "value": "150124"
+ },
+ {
+ "label": "武川县",
+ "value": "150125"
+ },
+ {
+ "label": "呼和浩特金海工业园区",
+ "value": "150171"
+ },
+ {
+ "label": "呼和浩特经济技术开发区",
+ "value": "150172"
+ }
+ ],
+ [{
+ "label": "东河区",
+ "value": "150202"
+ },
+ {
+ "label": "昆都仑区",
+ "value": "150203"
+ },
+ {
+ "label": "青山区",
+ "value": "150204"
+ },
+ {
+ "label": "石拐区",
+ "value": "150205"
+ },
+ {
+ "label": "白云鄂博矿区",
+ "value": "150206"
+ },
+ {
+ "label": "九原区",
+ "value": "150207"
+ },
+ {
+ "label": "土默特右旗",
+ "value": "150221"
+ },
+ {
+ "label": "固阳县",
+ "value": "150222"
+ },
+ {
+ "label": "达尔罕茂明安联合旗",
+ "value": "150223"
+ },
+ {
+ "label": "包头稀土高新技术产业开发区",
+ "value": "150271"
+ }
+ ],
+ [{
+ "label": "海勃湾区",
+ "value": "150302"
+ },
+ {
+ "label": "海南区",
+ "value": "150303"
+ },
+ {
+ "label": "乌达区",
+ "value": "150304"
+ }
+ ],
+ [{
+ "label": "红山区",
+ "value": "150402"
+ },
+ {
+ "label": "元宝山区",
+ "value": "150403"
+ },
+ {
+ "label": "松山区",
+ "value": "150404"
+ },
+ {
+ "label": "阿鲁科尔沁旗",
+ "value": "150421"
+ },
+ {
+ "label": "巴林左旗",
+ "value": "150422"
+ },
+ {
+ "label": "巴林右旗",
+ "value": "150423"
+ },
+ {
+ "label": "林西县",
+ "value": "150424"
+ },
+ {
+ "label": "克什克腾旗",
+ "value": "150425"
+ },
+ {
+ "label": "翁牛特旗",
+ "value": "150426"
+ },
+ {
+ "label": "喀喇沁旗",
+ "value": "150428"
+ },
+ {
+ "label": "宁城县",
+ "value": "150429"
+ },
+ {
+ "label": "敖汉旗",
+ "value": "150430"
+ }
+ ],
+ [{
+ "label": "科尔沁区",
+ "value": "150502"
+ },
+ {
+ "label": "科尔沁左翼中旗",
+ "value": "150521"
+ },
+ {
+ "label": "科尔沁左翼后旗",
+ "value": "150522"
+ },
+ {
+ "label": "开鲁县",
+ "value": "150523"
+ },
+ {
+ "label": "库伦旗",
+ "value": "150524"
+ },
+ {
+ "label": "奈曼旗",
+ "value": "150525"
+ },
+ {
+ "label": "扎鲁特旗",
+ "value": "150526"
+ },
+ {
+ "label": "通辽经济技术开发区",
+ "value": "150571"
+ },
+ {
+ "label": "霍林郭勒市",
+ "value": "150581"
+ }
+ ],
+ [{
+ "label": "东胜区",
+ "value": "150602"
+ },
+ {
+ "label": "康巴什区",
+ "value": "150603"
+ },
+ {
+ "label": "达拉特旗",
+ "value": "150621"
+ },
+ {
+ "label": "准格尔旗",
+ "value": "150622"
+ },
+ {
+ "label": "鄂托克前旗",
+ "value": "150623"
+ },
+ {
+ "label": "鄂托克旗",
+ "value": "150624"
+ },
+ {
+ "label": "杭锦旗",
+ "value": "150625"
+ },
+ {
+ "label": "乌审旗",
+ "value": "150626"
+ },
+ {
+ "label": "伊金霍洛旗",
+ "value": "150627"
+ }
+ ],
+ [{
+ "label": "海拉尔区",
+ "value": "150702"
+ },
+ {
+ "label": "扎赉诺尔区",
+ "value": "150703"
+ },
+ {
+ "label": "阿荣旗",
+ "value": "150721"
+ },
+ {
+ "label": "莫力达瓦达斡尔族自治旗",
+ "value": "150722"
+ },
+ {
+ "label": "鄂伦春自治旗",
+ "value": "150723"
+ },
+ {
+ "label": "鄂温克族自治旗",
+ "value": "150724"
+ },
+ {
+ "label": "陈巴尔虎旗",
+ "value": "150725"
+ },
+ {
+ "label": "新巴尔虎左旗",
+ "value": "150726"
+ },
+ {
+ "label": "新巴尔虎右旗",
+ "value": "150727"
+ },
+ {
+ "label": "满洲里市",
+ "value": "150781"
+ },
+ {
+ "label": "牙克石市",
+ "value": "150782"
+ },
+ {
+ "label": "扎兰屯市",
+ "value": "150783"
+ },
+ {
+ "label": "额尔古纳市",
+ "value": "150784"
+ },
+ {
+ "label": "根河市",
+ "value": "150785"
+ }
+ ],
+ [{
+ "label": "临河区",
+ "value": "150802"
+ },
+ {
+ "label": "五原县",
+ "value": "150821"
+ },
+ {
+ "label": "磴口县",
+ "value": "150822"
+ },
+ {
+ "label": "乌拉特前旗",
+ "value": "150823"
+ },
+ {
+ "label": "乌拉特中旗",
+ "value": "150824"
+ },
+ {
+ "label": "乌拉特后旗",
+ "value": "150825"
+ },
+ {
+ "label": "杭锦后旗",
+ "value": "150826"
+ }
+ ],
+ [{
+ "label": "集宁区",
+ "value": "150902"
+ },
+ {
+ "label": "卓资县",
+ "value": "150921"
+ },
+ {
+ "label": "化德县",
+ "value": "150922"
+ },
+ {
+ "label": "商都县",
+ "value": "150923"
+ },
+ {
+ "label": "兴和县",
+ "value": "150924"
+ },
+ {
+ "label": "凉城县",
+ "value": "150925"
+ },
+ {
+ "label": "察哈尔右翼前旗",
+ "value": "150926"
+ },
+ {
+ "label": "察哈尔右翼中旗",
+ "value": "150927"
+ },
+ {
+ "label": "察哈尔右翼后旗",
+ "value": "150928"
+ },
+ {
+ "label": "四子王旗",
+ "value": "150929"
+ },
+ {
+ "label": "丰镇市",
+ "value": "150981"
+ }
+ ],
+ [{
+ "label": "乌兰浩特市",
+ "value": "152201"
+ },
+ {
+ "label": "阿尔山市",
+ "value": "152202"
+ },
+ {
+ "label": "科尔沁右翼前旗",
+ "value": "152221"
+ },
+ {
+ "label": "科尔沁右翼中旗",
+ "value": "152222"
+ },
+ {
+ "label": "扎赉特旗",
+ "value": "152223"
+ },
+ {
+ "label": "突泉县",
+ "value": "152224"
+ }
+ ],
+ [{
+ "label": "二连浩特市",
+ "value": "152501"
+ },
+ {
+ "label": "锡林浩特市",
+ "value": "152502"
+ },
+ {
+ "label": "阿巴嘎旗",
+ "value": "152522"
+ },
+ {
+ "label": "苏尼特左旗",
+ "value": "152523"
+ },
+ {
+ "label": "苏尼特右旗",
+ "value": "152524"
+ },
+ {
+ "label": "东乌珠穆沁旗",
+ "value": "152525"
+ },
+ {
+ "label": "西乌珠穆沁旗",
+ "value": "152526"
+ },
+ {
+ "label": "太仆寺旗",
+ "value": "152527"
+ },
+ {
+ "label": "镶黄旗",
+ "value": "152528"
+ },
+ {
+ "label": "正镶白旗",
+ "value": "152529"
+ },
+ {
+ "label": "正蓝旗",
+ "value": "152530"
+ },
+ {
+ "label": "多伦县",
+ "value": "152531"
+ },
+ {
+ "label": "乌拉盖管委会",
+ "value": "152571"
+ }
+ ],
+ [{
+ "label": "阿拉善左旗",
+ "value": "152921"
+ },
+ {
+ "label": "阿拉善右旗",
+ "value": "152922"
+ },
+ {
+ "label": "额济纳旗",
+ "value": "152923"
+ },
+ {
+ "label": "内蒙古阿拉善经济开发区",
+ "value": "152971"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "和平区",
+ "value": "210102"
+ },
+ {
+ "label": "沈河区",
+ "value": "210103"
+ },
+ {
+ "label": "大东区",
+ "value": "210104"
+ },
+ {
+ "label": "皇姑区",
+ "value": "210105"
+ },
+ {
+ "label": "铁西区",
+ "value": "210106"
+ },
+ {
+ "label": "苏家屯区",
+ "value": "210111"
+ },
+ {
+ "label": "浑南区",
+ "value": "210112"
+ },
+ {
+ "label": "沈北新区",
+ "value": "210113"
+ },
+ {
+ "label": "于洪区",
+ "value": "210114"
+ },
+ {
+ "label": "辽中区",
+ "value": "210115"
+ },
+ {
+ "label": "康平县",
+ "value": "210123"
+ },
+ {
+ "label": "法库县",
+ "value": "210124"
+ },
+ {
+ "label": "新民市",
+ "value": "210181"
+ }
+ ],
+ [{
+ "label": "中山区",
+ "value": "210202"
+ },
+ {
+ "label": "西岗区",
+ "value": "210203"
+ },
+ {
+ "label": "沙河口区",
+ "value": "210204"
+ },
+ {
+ "label": "甘井子区",
+ "value": "210211"
+ },
+ {
+ "label": "旅顺口区",
+ "value": "210212"
+ },
+ {
+ "label": "金州区",
+ "value": "210213"
+ },
+ {
+ "label": "普兰店区",
+ "value": "210214"
+ },
+ {
+ "label": "长海县",
+ "value": "210224"
+ },
+ {
+ "label": "瓦房店市",
+ "value": "210281"
+ },
+ {
+ "label": "庄河市",
+ "value": "210283"
+ }
+ ],
+ [{
+ "label": "铁东区",
+ "value": "210302"
+ },
+ {
+ "label": "铁西区",
+ "value": "210303"
+ },
+ {
+ "label": "立山区",
+ "value": "210304"
+ },
+ {
+ "label": "千山区",
+ "value": "210311"
+ },
+ {
+ "label": "台安县",
+ "value": "210321"
+ },
+ {
+ "label": "岫岩满族自治县",
+ "value": "210323"
+ },
+ {
+ "label": "海城市",
+ "value": "210381"
+ }
+ ],
+ [{
+ "label": "新抚区",
+ "value": "210402"
+ },
+ {
+ "label": "东洲区",
+ "value": "210403"
+ },
+ {
+ "label": "望花区",
+ "value": "210404"
+ },
+ {
+ "label": "顺城区",
+ "value": "210411"
+ },
+ {
+ "label": "抚顺县",
+ "value": "210421"
+ },
+ {
+ "label": "新宾满族自治县",
+ "value": "210422"
+ },
+ {
+ "label": "清原满族自治县",
+ "value": "210423"
+ }
+ ],
+ [{
+ "label": "平山区",
+ "value": "210502"
+ },
+ {
+ "label": "溪湖区",
+ "value": "210503"
+ },
+ {
+ "label": "明山区",
+ "value": "210504"
+ },
+ {
+ "label": "南芬区",
+ "value": "210505"
+ },
+ {
+ "label": "本溪满族自治县",
+ "value": "210521"
+ },
+ {
+ "label": "桓仁满族自治县",
+ "value": "210522"
+ }
+ ],
+ [{
+ "label": "元宝区",
+ "value": "210602"
+ },
+ {
+ "label": "振兴区",
+ "value": "210603"
+ },
+ {
+ "label": "振安区",
+ "value": "210604"
+ },
+ {
+ "label": "宽甸满族自治县",
+ "value": "210624"
+ },
+ {
+ "label": "东港市",
+ "value": "210681"
+ },
+ {
+ "label": "凤城市",
+ "value": "210682"
+ }
+ ],
+ [{
+ "label": "古塔区",
+ "value": "210702"
+ },
+ {
+ "label": "凌河区",
+ "value": "210703"
+ },
+ {
+ "label": "太和区",
+ "value": "210711"
+ },
+ {
+ "label": "黑山县",
+ "value": "210726"
+ },
+ {
+ "label": "义县",
+ "value": "210727"
+ },
+ {
+ "label": "凌海市",
+ "value": "210781"
+ },
+ {
+ "label": "北镇市",
+ "value": "210782"
+ }
+ ],
+ [{
+ "label": "站前区",
+ "value": "210802"
+ },
+ {
+ "label": "西市区",
+ "value": "210803"
+ },
+ {
+ "label": "鲅鱼圈区",
+ "value": "210804"
+ },
+ {
+ "label": "老边区",
+ "value": "210811"
+ },
+ {
+ "label": "盖州市",
+ "value": "210881"
+ },
+ {
+ "label": "大石桥市",
+ "value": "210882"
+ }
+ ],
+ [{
+ "label": "海州区",
+ "value": "210902"
+ },
+ {
+ "label": "新邱区",
+ "value": "210903"
+ },
+ {
+ "label": "太平区",
+ "value": "210904"
+ },
+ {
+ "label": "清河门区",
+ "value": "210905"
+ },
+ {
+ "label": "细河区",
+ "value": "210911"
+ },
+ {
+ "label": "阜新蒙古族自治县",
+ "value": "210921"
+ },
+ {
+ "label": "彰武县",
+ "value": "210922"
+ }
+ ],
+ [{
+ "label": "白塔区",
+ "value": "211002"
+ },
+ {
+ "label": "文圣区",
+ "value": "211003"
+ },
+ {
+ "label": "宏伟区",
+ "value": "211004"
+ },
+ {
+ "label": "弓长岭区",
+ "value": "211005"
+ },
+ {
+ "label": "太子河区",
+ "value": "211011"
+ },
+ {
+ "label": "辽阳县",
+ "value": "211021"
+ },
+ {
+ "label": "灯塔市",
+ "value": "211081"
+ }
+ ],
+ [{
+ "label": "双台子区",
+ "value": "211102"
+ },
+ {
+ "label": "兴隆台区",
+ "value": "211103"
+ },
+ {
+ "label": "大洼区",
+ "value": "211104"
+ },
+ {
+ "label": "盘山县",
+ "value": "211122"
+ }
+ ],
+ [{
+ "label": "银州区",
+ "value": "211202"
+ },
+ {
+ "label": "清河区",
+ "value": "211204"
+ },
+ {
+ "label": "铁岭县",
+ "value": "211221"
+ },
+ {
+ "label": "西丰县",
+ "value": "211223"
+ },
+ {
+ "label": "昌图县",
+ "value": "211224"
+ },
+ {
+ "label": "调兵山市",
+ "value": "211281"
+ },
+ {
+ "label": "开原市",
+ "value": "211282"
+ }
+ ],
+ [{
+ "label": "双塔区",
+ "value": "211302"
+ },
+ {
+ "label": "龙城区",
+ "value": "211303"
+ },
+ {
+ "label": "朝阳县",
+ "value": "211321"
+ },
+ {
+ "label": "建平县",
+ "value": "211322"
+ },
+ {
+ "label": "喀喇沁左翼蒙古族自治县",
+ "value": "211324"
+ },
+ {
+ "label": "北票市",
+ "value": "211381"
+ },
+ {
+ "label": "凌源市",
+ "value": "211382"
+ }
+ ],
+ [{
+ "label": "连山区",
+ "value": "211402"
+ },
+ {
+ "label": "龙港区",
+ "value": "211403"
+ },
+ {
+ "label": "南票区",
+ "value": "211404"
+ },
+ {
+ "label": "绥中县",
+ "value": "211421"
+ },
+ {
+ "label": "建昌县",
+ "value": "211422"
+ },
+ {
+ "label": "兴城市",
+ "value": "211481"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "南关区",
+ "value": "220102"
+ },
+ {
+ "label": "宽城区",
+ "value": "220103"
+ },
+ {
+ "label": "朝阳区",
+ "value": "220104"
+ },
+ {
+ "label": "二道区",
+ "value": "220105"
+ },
+ {
+ "label": "绿园区",
+ "value": "220106"
+ },
+ {
+ "label": "双阳区",
+ "value": "220112"
+ },
+ {
+ "label": "九台区",
+ "value": "220113"
+ },
+ {
+ "label": "农安县",
+ "value": "220122"
+ },
+ {
+ "label": "长春经济技术开发区",
+ "value": "220171"
+ },
+ {
+ "label": "长春净月高新技术产业开发区",
+ "value": "220172"
+ },
+ {
+ "label": "长春高新技术产业开发区",
+ "value": "220173"
+ },
+ {
+ "label": "长春汽车经济技术开发区",
+ "value": "220174"
+ },
+ {
+ "label": "榆树市",
+ "value": "220182"
+ },
+ {
+ "label": "德惠市",
+ "value": "220183"
+ }
+ ],
+ [{
+ "label": "昌邑区",
+ "value": "220202"
+ },
+ {
+ "label": "龙潭区",
+ "value": "220203"
+ },
+ {
+ "label": "船营区",
+ "value": "220204"
+ },
+ {
+ "label": "丰满区",
+ "value": "220211"
+ },
+ {
+ "label": "永吉县",
+ "value": "220221"
+ },
+ {
+ "label": "吉林经济开发区",
+ "value": "220271"
+ },
+ {
+ "label": "吉林高新技术产业开发区",
+ "value": "220272"
+ },
+ {
+ "label": "吉林中国新加坡食品区",
+ "value": "220273"
+ },
+ {
+ "label": "蛟河市",
+ "value": "220281"
+ },
+ {
+ "label": "桦甸市",
+ "value": "220282"
+ },
+ {
+ "label": "舒兰市",
+ "value": "220283"
+ },
+ {
+ "label": "磐石市",
+ "value": "220284"
+ }
+ ],
+ [{
+ "label": "铁西区",
+ "value": "220302"
+ },
+ {
+ "label": "铁东区",
+ "value": "220303"
+ },
+ {
+ "label": "梨树县",
+ "value": "220322"
+ },
+ {
+ "label": "伊通满族自治县",
+ "value": "220323"
+ },
+ {
+ "label": "公主岭市",
+ "value": "220381"
+ },
+ {
+ "label": "双辽市",
+ "value": "220382"
+ }
+ ],
+ [{
+ "label": "龙山区",
+ "value": "220402"
+ },
+ {
+ "label": "西安区",
+ "value": "220403"
+ },
+ {
+ "label": "东丰县",
+ "value": "220421"
+ },
+ {
+ "label": "东辽县",
+ "value": "220422"
+ }
+ ],
+ [{
+ "label": "东昌区",
+ "value": "220502"
+ },
+ {
+ "label": "二道江区",
+ "value": "220503"
+ },
+ {
+ "label": "通化县",
+ "value": "220521"
+ },
+ {
+ "label": "辉南县",
+ "value": "220523"
+ },
+ {
+ "label": "柳河县",
+ "value": "220524"
+ },
+ {
+ "label": "梅河口市",
+ "value": "220581"
+ },
+ {
+ "label": "集安市",
+ "value": "220582"
+ }
+ ],
+ [{
+ "label": "浑江区",
+ "value": "220602"
+ },
+ {
+ "label": "江源区",
+ "value": "220605"
+ },
+ {
+ "label": "抚松县",
+ "value": "220621"
+ },
+ {
+ "label": "靖宇县",
+ "value": "220622"
+ },
+ {
+ "label": "长白朝鲜族自治县",
+ "value": "220623"
+ },
+ {
+ "label": "临江市",
+ "value": "220681"
+ }
+ ],
+ [{
+ "label": "宁江区",
+ "value": "220702"
+ },
+ {
+ "label": "前郭尔罗斯蒙古族自治县",
+ "value": "220721"
+ },
+ {
+ "label": "长岭县",
+ "value": "220722"
+ },
+ {
+ "label": "乾安县",
+ "value": "220723"
+ },
+ {
+ "label": "吉林松原经济开发区",
+ "value": "220771"
+ },
+ {
+ "label": "扶余市",
+ "value": "220781"
+ }
+ ],
+ [{
+ "label": "洮北区",
+ "value": "220802"
+ },
+ {
+ "label": "镇赉县",
+ "value": "220821"
+ },
+ {
+ "label": "通榆县",
+ "value": "220822"
+ },
+ {
+ "label": "吉林白城经济开发区",
+ "value": "220871"
+ },
+ {
+ "label": "洮南市",
+ "value": "220881"
+ },
+ {
+ "label": "大安市",
+ "value": "220882"
+ }
+ ],
+ [{
+ "label": "延吉市",
+ "value": "222401"
+ },
+ {
+ "label": "图们市",
+ "value": "222402"
+ },
+ {
+ "label": "敦化市",
+ "value": "222403"
+ },
+ {
+ "label": "珲春市",
+ "value": "222404"
+ },
+ {
+ "label": "龙井市",
+ "value": "222405"
+ },
+ {
+ "label": "和龙市",
+ "value": "222406"
+ },
+ {
+ "label": "汪清县",
+ "value": "222424"
+ },
+ {
+ "label": "安图县",
+ "value": "222426"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "道里区",
+ "value": "230102"
+ },
+ {
+ "label": "南岗区",
+ "value": "230103"
+ },
+ {
+ "label": "道外区",
+ "value": "230104"
+ },
+ {
+ "label": "平房区",
+ "value": "230108"
+ },
+ {
+ "label": "松北区",
+ "value": "230109"
+ },
+ {
+ "label": "香坊区",
+ "value": "230110"
+ },
+ {
+ "label": "呼兰区",
+ "value": "230111"
+ },
+ {
+ "label": "阿城区",
+ "value": "230112"
+ },
+ {
+ "label": "双城区",
+ "value": "230113"
+ },
+ {
+ "label": "依兰县",
+ "value": "230123"
+ },
+ {
+ "label": "方正县",
+ "value": "230124"
+ },
+ {
+ "label": "宾县",
+ "value": "230125"
+ },
+ {
+ "label": "巴彦县",
+ "value": "230126"
+ },
+ {
+ "label": "木兰县",
+ "value": "230127"
+ },
+ {
+ "label": "通河县",
+ "value": "230128"
+ },
+ {
+ "label": "延寿县",
+ "value": "230129"
+ },
+ {
+ "label": "尚志市",
+ "value": "230183"
+ },
+ {
+ "label": "五常市",
+ "value": "230184"
+ }
+ ],
+ [{
+ "label": "龙沙区",
+ "value": "230202"
+ },
+ {
+ "label": "建华区",
+ "value": "230203"
+ },
+ {
+ "label": "铁锋区",
+ "value": "230204"
+ },
+ {
+ "label": "昂昂溪区",
+ "value": "230205"
+ },
+ {
+ "label": "富拉尔基区",
+ "value": "230206"
+ },
+ {
+ "label": "碾子山区",
+ "value": "230207"
+ },
+ {
+ "label": "梅里斯达斡尔族区",
+ "value": "230208"
+ },
+ {
+ "label": "龙江县",
+ "value": "230221"
+ },
+ {
+ "label": "依安县",
+ "value": "230223"
+ },
+ {
+ "label": "泰来县",
+ "value": "230224"
+ },
+ {
+ "label": "甘南县",
+ "value": "230225"
+ },
+ {
+ "label": "富裕县",
+ "value": "230227"
+ },
+ {
+ "label": "克山县",
+ "value": "230229"
+ },
+ {
+ "label": "克东县",
+ "value": "230230"
+ },
+ {
+ "label": "拜泉县",
+ "value": "230231"
+ },
+ {
+ "label": "讷河市",
+ "value": "230281"
+ }
+ ],
+ [{
+ "label": "鸡冠区",
+ "value": "230302"
+ },
+ {
+ "label": "恒山区",
+ "value": "230303"
+ },
+ {
+ "label": "滴道区",
+ "value": "230304"
+ },
+ {
+ "label": "梨树区",
+ "value": "230305"
+ },
+ {
+ "label": "城子河区",
+ "value": "230306"
+ },
+ {
+ "label": "麻山区",
+ "value": "230307"
+ },
+ {
+ "label": "鸡东县",
+ "value": "230321"
+ },
+ {
+ "label": "虎林市",
+ "value": "230381"
+ },
+ {
+ "label": "密山市",
+ "value": "230382"
+ }
+ ],
+ [{
+ "label": "向阳区",
+ "value": "230402"
+ },
+ {
+ "label": "工农区",
+ "value": "230403"
+ },
+ {
+ "label": "南山区",
+ "value": "230404"
+ },
+ {
+ "label": "兴安区",
+ "value": "230405"
+ },
+ {
+ "label": "东山区",
+ "value": "230406"
+ },
+ {
+ "label": "兴山区",
+ "value": "230407"
+ },
+ {
+ "label": "萝北县",
+ "value": "230421"
+ },
+ {
+ "label": "绥滨县",
+ "value": "230422"
+ }
+ ],
+ [{
+ "label": "尖山区",
+ "value": "230502"
+ },
+ {
+ "label": "岭东区",
+ "value": "230503"
+ },
+ {
+ "label": "四方台区",
+ "value": "230505"
+ },
+ {
+ "label": "宝山区",
+ "value": "230506"
+ },
+ {
+ "label": "集贤县",
+ "value": "230521"
+ },
+ {
+ "label": "友谊县",
+ "value": "230522"
+ },
+ {
+ "label": "宝清县",
+ "value": "230523"
+ },
+ {
+ "label": "饶河县",
+ "value": "230524"
+ }
+ ],
+ [{
+ "label": "萨尔图区",
+ "value": "230602"
+ },
+ {
+ "label": "龙凤区",
+ "value": "230603"
+ },
+ {
+ "label": "让胡路区",
+ "value": "230604"
+ },
+ {
+ "label": "红岗区",
+ "value": "230605"
+ },
+ {
+ "label": "大同区",
+ "value": "230606"
+ },
+ {
+ "label": "肇州县",
+ "value": "230621"
+ },
+ {
+ "label": "肇源县",
+ "value": "230622"
+ },
+ {
+ "label": "林甸县",
+ "value": "230623"
+ },
+ {
+ "label": "杜尔伯特蒙古族自治县",
+ "value": "230624"
+ },
+ {
+ "label": "大庆高新技术产业开发区",
+ "value": "230671"
+ }
+ ],
+ [{
+ "label": "伊春区",
+ "value": "230702"
+ },
+ {
+ "label": "南岔区",
+ "value": "230703"
+ },
+ {
+ "label": "友好区",
+ "value": "230704"
+ },
+ {
+ "label": "西林区",
+ "value": "230705"
+ },
+ {
+ "label": "翠峦区",
+ "value": "230706"
+ },
+ {
+ "label": "新青区",
+ "value": "230707"
+ },
+ {
+ "label": "美溪区",
+ "value": "230708"
+ },
+ {
+ "label": "金山屯区",
+ "value": "230709"
+ },
+ {
+ "label": "五营区",
+ "value": "230710"
+ },
+ {
+ "label": "乌马河区",
+ "value": "230711"
+ },
+ {
+ "label": "汤旺河区",
+ "value": "230712"
+ },
+ {
+ "label": "带岭区",
+ "value": "230713"
+ },
+ {
+ "label": "乌伊岭区",
+ "value": "230714"
+ },
+ {
+ "label": "红星区",
+ "value": "230715"
+ },
+ {
+ "label": "上甘岭区",
+ "value": "230716"
+ },
+ {
+ "label": "嘉荫县",
+ "value": "230722"
+ },
+ {
+ "label": "铁力市",
+ "value": "230781"
+ }
+ ],
+ [{
+ "label": "向阳区",
+ "value": "230803"
+ },
+ {
+ "label": "前进区",
+ "value": "230804"
+ },
+ {
+ "label": "东风区",
+ "value": "230805"
+ },
+ {
+ "label": "郊区",
+ "value": "230811"
+ },
+ {
+ "label": "桦南县",
+ "value": "230822"
+ },
+ {
+ "label": "桦川县",
+ "value": "230826"
+ },
+ {
+ "label": "汤原县",
+ "value": "230828"
+ },
+ {
+ "label": "同江市",
+ "value": "230881"
+ },
+ {
+ "label": "富锦市",
+ "value": "230882"
+ },
+ {
+ "label": "抚远市",
+ "value": "230883"
+ }
+ ],
+ [{
+ "label": "新兴区",
+ "value": "230902"
+ },
+ {
+ "label": "桃山区",
+ "value": "230903"
+ },
+ {
+ "label": "茄子河区",
+ "value": "230904"
+ },
+ {
+ "label": "勃利县",
+ "value": "230921"
+ }
+ ],
+ [{
+ "label": "东安区",
+ "value": "231002"
+ },
+ {
+ "label": "阳明区",
+ "value": "231003"
+ },
+ {
+ "label": "爱民区",
+ "value": "231004"
+ },
+ {
+ "label": "西安区",
+ "value": "231005"
+ },
+ {
+ "label": "林口县",
+ "value": "231025"
+ },
+ {
+ "label": "牡丹江经济技术开发区",
+ "value": "231071"
+ },
+ {
+ "label": "绥芬河市",
+ "value": "231081"
+ },
+ {
+ "label": "海林市",
+ "value": "231083"
+ },
+ {
+ "label": "宁安市",
+ "value": "231084"
+ },
+ {
+ "label": "穆棱市",
+ "value": "231085"
+ },
+ {
+ "label": "东宁市",
+ "value": "231086"
+ }
+ ],
+ [{
+ "label": "爱辉区",
+ "value": "231102"
+ },
+ {
+ "label": "嫩江县",
+ "value": "231121"
+ },
+ {
+ "label": "逊克县",
+ "value": "231123"
+ },
+ {
+ "label": "孙吴县",
+ "value": "231124"
+ },
+ {
+ "label": "北安市",
+ "value": "231181"
+ },
+ {
+ "label": "五大连池市",
+ "value": "231182"
+ }
+ ],
+ [{
+ "label": "北林区",
+ "value": "231202"
+ },
+ {
+ "label": "望奎县",
+ "value": "231221"
+ },
+ {
+ "label": "兰西县",
+ "value": "231222"
+ },
+ {
+ "label": "青冈县",
+ "value": "231223"
+ },
+ {
+ "label": "庆安县",
+ "value": "231224"
+ },
+ {
+ "label": "明水县",
+ "value": "231225"
+ },
+ {
+ "label": "绥棱县",
+ "value": "231226"
+ },
+ {
+ "label": "安达市",
+ "value": "231281"
+ },
+ {
+ "label": "肇东市",
+ "value": "231282"
+ },
+ {
+ "label": "海伦市",
+ "value": "231283"
+ }
+ ],
+ [{
+ "label": "加格达奇区",
+ "value": "232701"
+ },
+ {
+ "label": "松岭区",
+ "value": "232702"
+ },
+ {
+ "label": "新林区",
+ "value": "232703"
+ },
+ {
+ "label": "呼中区",
+ "value": "232704"
+ },
+ {
+ "label": "呼玛县",
+ "value": "232721"
+ },
+ {
+ "label": "塔河县",
+ "value": "232722"
+ },
+ {
+ "label": "漠河县",
+ "value": "232723"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "黄浦区",
+ "value": "310101"
+ },
+ {
+ "label": "徐汇区",
+ "value": "310104"
+ },
+ {
+ "label": "长宁区",
+ "value": "310105"
+ },
+ {
+ "label": "静安区",
+ "value": "310106"
+ },
+ {
+ "label": "普陀区",
+ "value": "310107"
+ },
+ {
+ "label": "虹口区",
+ "value": "310109"
+ },
+ {
+ "label": "杨浦区",
+ "value": "310110"
+ },
+ {
+ "label": "闵行区",
+ "value": "310112"
+ },
+ {
+ "label": "宝山区",
+ "value": "310113"
+ },
+ {
+ "label": "嘉定区",
+ "value": "310114"
+ },
+ {
+ "label": "浦东新区",
+ "value": "310115"
+ },
+ {
+ "label": "金山区",
+ "value": "310116"
+ },
+ {
+ "label": "松江区",
+ "value": "310117"
+ },
+ {
+ "label": "青浦区",
+ "value": "310118"
+ },
+ {
+ "label": "奉贤区",
+ "value": "310120"
+ },
+ {
+ "label": "崇明区",
+ "value": "310151"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "玄武区",
+ "value": "320102"
+ },
+ {
+ "label": "秦淮区",
+ "value": "320104"
+ },
+ {
+ "label": "建邺区",
+ "value": "320105"
+ },
+ {
+ "label": "鼓楼区",
+ "value": "320106"
+ },
+ {
+ "label": "浦口区",
+ "value": "320111"
+ },
+ {
+ "label": "栖霞区",
+ "value": "320113"
+ },
+ {
+ "label": "雨花台区",
+ "value": "320114"
+ },
+ {
+ "label": "江宁区",
+ "value": "320115"
+ },
+ {
+ "label": "六合区",
+ "value": "320116"
+ },
+ {
+ "label": "溧水区",
+ "value": "320117"
+ },
+ {
+ "label": "高淳区",
+ "value": "320118"
+ }
+ ],
+ [{
+ "label": "锡山区",
+ "value": "320205"
+ },
+ {
+ "label": "惠山区",
+ "value": "320206"
+ },
+ {
+ "label": "滨湖区",
+ "value": "320211"
+ },
+ {
+ "label": "梁溪区",
+ "value": "320213"
+ },
+ {
+ "label": "新吴区",
+ "value": "320214"
+ },
+ {
+ "label": "江阴市",
+ "value": "320281"
+ },
+ {
+ "label": "宜兴市",
+ "value": "320282"
+ }
+ ],
+ [{
+ "label": "鼓楼区",
+ "value": "320302"
+ },
+ {
+ "label": "云龙区",
+ "value": "320303"
+ },
+ {
+ "label": "贾汪区",
+ "value": "320305"
+ },
+ {
+ "label": "泉山区",
+ "value": "320311"
+ },
+ {
+ "label": "铜山区",
+ "value": "320312"
+ },
+ {
+ "label": "丰县",
+ "value": "320321"
+ },
+ {
+ "label": "沛县",
+ "value": "320322"
+ },
+ {
+ "label": "睢宁县",
+ "value": "320324"
+ },
+ {
+ "label": "徐州经济技术开发区",
+ "value": "320371"
+ },
+ {
+ "label": "新沂市",
+ "value": "320381"
+ },
+ {
+ "label": "邳州市",
+ "value": "320382"
+ }
+ ],
+ [{
+ "label": "天宁区",
+ "value": "320402"
+ },
+ {
+ "label": "钟楼区",
+ "value": "320404"
+ },
+ {
+ "label": "新北区",
+ "value": "320411"
+ },
+ {
+ "label": "武进区",
+ "value": "320412"
+ },
+ {
+ "label": "金坛区",
+ "value": "320413"
+ },
+ {
+ "label": "溧阳市",
+ "value": "320481"
+ }
+ ],
+ [{
+ "label": "虎丘区",
+ "value": "320505"
+ },
+ {
+ "label": "吴中区",
+ "value": "320506"
+ },
+ {
+ "label": "相城区",
+ "value": "320507"
+ },
+ {
+ "label": "姑苏区",
+ "value": "320508"
+ },
+ {
+ "label": "吴江区",
+ "value": "320509"
+ },
+ {
+ "label": "苏州工业园区",
+ "value": "320571"
+ },
+ {
+ "label": "常熟市",
+ "value": "320581"
+ },
+ {
+ "label": "张家港市",
+ "value": "320582"
+ },
+ {
+ "label": "昆山市",
+ "value": "320583"
+ },
+ {
+ "label": "太仓市",
+ "value": "320585"
+ }
+ ],
+ [{
+ "label": "崇川区",
+ "value": "320602"
+ },
+ {
+ "label": "港闸区",
+ "value": "320611"
+ },
+ {
+ "label": "通州区",
+ "value": "320612"
+ },
+ {
+ "label": "海安县",
+ "value": "320621"
+ },
+ {
+ "label": "如东县",
+ "value": "320623"
+ },
+ {
+ "label": "南通经济技术开发区",
+ "value": "320671"
+ },
+ {
+ "label": "启东市",
+ "value": "320681"
+ },
+ {
+ "label": "如皋市",
+ "value": "320682"
+ },
+ {
+ "label": "海门市",
+ "value": "320684"
+ }
+ ],
+ [{
+ "label": "连云区",
+ "value": "320703"
+ },
+ {
+ "label": "海州区",
+ "value": "320706"
+ },
+ {
+ "label": "赣榆区",
+ "value": "320707"
+ },
+ {
+ "label": "东海县",
+ "value": "320722"
+ },
+ {
+ "label": "灌云县",
+ "value": "320723"
+ },
+ {
+ "label": "灌南县",
+ "value": "320724"
+ },
+ {
+ "label": "连云港经济技术开发区",
+ "value": "320771"
+ },
+ {
+ "label": "连云港高新技术产业开发区",
+ "value": "320772"
+ }
+ ],
+ [{
+ "label": "淮安区",
+ "value": "320803"
+ },
+ {
+ "label": "淮阴区",
+ "value": "320804"
+ },
+ {
+ "label": "清江浦区",
+ "value": "320812"
+ },
+ {
+ "label": "洪泽区",
+ "value": "320813"
+ },
+ {
+ "label": "涟水县",
+ "value": "320826"
+ },
+ {
+ "label": "盱眙县",
+ "value": "320830"
+ },
+ {
+ "label": "金湖县",
+ "value": "320831"
+ },
+ {
+ "label": "淮安经济技术开发区",
+ "value": "320871"
+ }
+ ],
+ [{
+ "label": "亭湖区",
+ "value": "320902"
+ },
+ {
+ "label": "盐都区",
+ "value": "320903"
+ },
+ {
+ "label": "大丰区",
+ "value": "320904"
+ },
+ {
+ "label": "响水县",
+ "value": "320921"
+ },
+ {
+ "label": "滨海县",
+ "value": "320922"
+ },
+ {
+ "label": "阜宁县",
+ "value": "320923"
+ },
+ {
+ "label": "射阳县",
+ "value": "320924"
+ },
+ {
+ "label": "建湖县",
+ "value": "320925"
+ },
+ {
+ "label": "盐城经济技术开发区",
+ "value": "320971"
+ },
+ {
+ "label": "东台市",
+ "value": "320981"
+ }
+ ],
+ [{
+ "label": "广陵区",
+ "value": "321002"
+ },
+ {
+ "label": "邗江区",
+ "value": "321003"
+ },
+ {
+ "label": "江都区",
+ "value": "321012"
+ },
+ {
+ "label": "宝应县",
+ "value": "321023"
+ },
+ {
+ "label": "扬州经济技术开发区",
+ "value": "321071"
+ },
+ {
+ "label": "仪征市",
+ "value": "321081"
+ },
+ {
+ "label": "高邮市",
+ "value": "321084"
+ }
+ ],
+ [{
+ "label": "京口区",
+ "value": "321102"
+ },
+ {
+ "label": "润州区",
+ "value": "321111"
+ },
+ {
+ "label": "丹徒区",
+ "value": "321112"
+ },
+ {
+ "label": "镇江新区",
+ "value": "321171"
+ },
+ {
+ "label": "丹阳市",
+ "value": "321181"
+ },
+ {
+ "label": "扬中市",
+ "value": "321182"
+ },
+ {
+ "label": "句容市",
+ "value": "321183"
+ }
+ ],
+ [{
+ "label": "海陵区",
+ "value": "321202"
+ },
+ {
+ "label": "高港区",
+ "value": "321203"
+ },
+ {
+ "label": "姜堰区",
+ "value": "321204"
+ },
+ {
+ "label": "泰州医药高新技术产业开发区",
+ "value": "321271"
+ },
+ {
+ "label": "兴化市",
+ "value": "321281"
+ },
+ {
+ "label": "靖江市",
+ "value": "321282"
+ },
+ {
+ "label": "泰兴市",
+ "value": "321283"
+ }
+ ],
+ [{
+ "label": "宿城区",
+ "value": "321302"
+ },
+ {
+ "label": "宿豫区",
+ "value": "321311"
+ },
+ {
+ "label": "沭阳县",
+ "value": "321322"
+ },
+ {
+ "label": "泗阳县",
+ "value": "321323"
+ },
+ {
+ "label": "泗洪县",
+ "value": "321324"
+ },
+ {
+ "label": "宿迁经济技术开发区",
+ "value": "321371"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "上城区",
+ "value": "330102"
+ },
+ {
+ "label": "下城区",
+ "value": "330103"
+ },
+ {
+ "label": "江干区",
+ "value": "330104"
+ },
+ {
+ "label": "拱墅区",
+ "value": "330105"
+ },
+ {
+ "label": "西湖区",
+ "value": "330106"
+ },
+ {
+ "label": "滨江区",
+ "value": "330108"
+ },
+ {
+ "label": "萧山区",
+ "value": "330109"
+ },
+ {
+ "label": "余杭区",
+ "value": "330110"
+ },
+ {
+ "label": "富阳区",
+ "value": "330111"
+ },
+ {
+ "label": "临安区",
+ "value": "330112"
+ },
+ {
+ "label": "桐庐县",
+ "value": "330122"
+ },
+ {
+ "label": "淳安县",
+ "value": "330127"
+ },
+ {
+ "label": "建德市",
+ "value": "330182"
+ }
+ ],
+ [{
+ "label": "海曙区",
+ "value": "330203"
+ },
+ {
+ "label": "江北区",
+ "value": "330205"
+ },
+ {
+ "label": "北仑区",
+ "value": "330206"
+ },
+ {
+ "label": "镇海区",
+ "value": "330211"
+ },
+ {
+ "label": "鄞州区",
+ "value": "330212"
+ },
+ {
+ "label": "奉化区",
+ "value": "330213"
+ },
+ {
+ "label": "象山县",
+ "value": "330225"
+ },
+ {
+ "label": "宁海县",
+ "value": "330226"
+ },
+ {
+ "label": "余姚市",
+ "value": "330281"
+ },
+ {
+ "label": "慈溪市",
+ "value": "330282"
+ }
+ ],
+ [{
+ "label": "鹿城区",
+ "value": "330302"
+ },
+ {
+ "label": "龙湾区",
+ "value": "330303"
+ },
+ {
+ "label": "瓯海区",
+ "value": "330304"
+ },
+ {
+ "label": "洞头区",
+ "value": "330305"
+ },
+ {
+ "label": "永嘉县",
+ "value": "330324"
+ },
+ {
+ "label": "平阳县",
+ "value": "330326"
+ },
+ {
+ "label": "苍南县",
+ "value": "330327"
+ },
+ {
+ "label": "文成县",
+ "value": "330328"
+ },
+ {
+ "label": "泰顺县",
+ "value": "330329"
+ },
+ {
+ "label": "温州经济技术开发区",
+ "value": "330371"
+ },
+ {
+ "label": "瑞安市",
+ "value": "330381"
+ },
+ {
+ "label": "乐清市",
+ "value": "330382"
+ }
+ ],
+ [{
+ "label": "南湖区",
+ "value": "330402"
+ },
+ {
+ "label": "秀洲区",
+ "value": "330411"
+ },
+ {
+ "label": "嘉善县",
+ "value": "330421"
+ },
+ {
+ "label": "海盐县",
+ "value": "330424"
+ },
+ {
+ "label": "海宁市",
+ "value": "330481"
+ },
+ {
+ "label": "平湖市",
+ "value": "330482"
+ },
+ {
+ "label": "桐乡市",
+ "value": "330483"
+ }
+ ],
+ [{
+ "label": "吴兴区",
+ "value": "330502"
+ },
+ {
+ "label": "南浔区",
+ "value": "330503"
+ },
+ {
+ "label": "德清县",
+ "value": "330521"
+ },
+ {
+ "label": "长兴县",
+ "value": "330522"
+ },
+ {
+ "label": "安吉县",
+ "value": "330523"
+ }
+ ],
+ [{
+ "label": "越城区",
+ "value": "330602"
+ },
+ {
+ "label": "柯桥区",
+ "value": "330603"
+ },
+ {
+ "label": "上虞区",
+ "value": "330604"
+ },
+ {
+ "label": "新昌县",
+ "value": "330624"
+ },
+ {
+ "label": "诸暨市",
+ "value": "330681"
+ },
+ {
+ "label": "嵊州市",
+ "value": "330683"
+ }
+ ],
+ [{
+ "label": "婺城区",
+ "value": "330702"
+ },
+ {
+ "label": "金东区",
+ "value": "330703"
+ },
+ {
+ "label": "武义县",
+ "value": "330723"
+ },
+ {
+ "label": "浦江县",
+ "value": "330726"
+ },
+ {
+ "label": "磐安县",
+ "value": "330727"
+ },
+ {
+ "label": "兰溪市",
+ "value": "330781"
+ },
+ {
+ "label": "义乌市",
+ "value": "330782"
+ },
+ {
+ "label": "东阳市",
+ "value": "330783"
+ },
+ {
+ "label": "永康市",
+ "value": "330784"
+ }
+ ],
+ [{
+ "label": "柯城区",
+ "value": "330802"
+ },
+ {
+ "label": "衢江区",
+ "value": "330803"
+ },
+ {
+ "label": "常山县",
+ "value": "330822"
+ },
+ {
+ "label": "开化县",
+ "value": "330824"
+ },
+ {
+ "label": "龙游县",
+ "value": "330825"
+ },
+ {
+ "label": "江山市",
+ "value": "330881"
+ }
+ ],
+ [{
+ "label": "定海区",
+ "value": "330902"
+ },
+ {
+ "label": "普陀区",
+ "value": "330903"
+ },
+ {
+ "label": "岱山县",
+ "value": "330921"
+ },
+ {
+ "label": "嵊泗县",
+ "value": "330922"
+ }
+ ],
+ [{
+ "label": "椒江区",
+ "value": "331002"
+ },
+ {
+ "label": "黄岩区",
+ "value": "331003"
+ },
+ {
+ "label": "路桥区",
+ "value": "331004"
+ },
+ {
+ "label": "三门县",
+ "value": "331022"
+ },
+ {
+ "label": "天台县",
+ "value": "331023"
+ },
+ {
+ "label": "仙居县",
+ "value": "331024"
+ },
+ {
+ "label": "温岭市",
+ "value": "331081"
+ },
+ {
+ "label": "临海市",
+ "value": "331082"
+ },
+ {
+ "label": "玉环市",
+ "value": "331083"
+ }
+ ],
+ [{
+ "label": "莲都区",
+ "value": "331102"
+ },
+ {
+ "label": "青田县",
+ "value": "331121"
+ },
+ {
+ "label": "缙云县",
+ "value": "331122"
+ },
+ {
+ "label": "遂昌县",
+ "value": "331123"
+ },
+ {
+ "label": "松阳县",
+ "value": "331124"
+ },
+ {
+ "label": "云和县",
+ "value": "331125"
+ },
+ {
+ "label": "庆元县",
+ "value": "331126"
+ },
+ {
+ "label": "景宁畲族自治县",
+ "value": "331127"
+ },
+ {
+ "label": "龙泉市",
+ "value": "331181"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "瑶海区",
+ "value": "340102"
+ },
+ {
+ "label": "庐阳区",
+ "value": "340103"
+ },
+ {
+ "label": "蜀山区",
+ "value": "340104"
+ },
+ {
+ "label": "包河区",
+ "value": "340111"
+ },
+ {
+ "label": "长丰县",
+ "value": "340121"
+ },
+ {
+ "label": "肥东县",
+ "value": "340122"
+ },
+ {
+ "label": "肥西县",
+ "value": "340123"
+ },
+ {
+ "label": "庐江县",
+ "value": "340124"
+ },
+ {
+ "label": "合肥高新技术产业开发区",
+ "value": "340171"
+ },
+ {
+ "label": "合肥经济技术开发区",
+ "value": "340172"
+ },
+ {
+ "label": "合肥新站高新技术产业开发区",
+ "value": "340173"
+ },
+ {
+ "label": "巢湖市",
+ "value": "340181"
+ }
+ ],
+ [{
+ "label": "镜湖区",
+ "value": "340202"
+ },
+ {
+ "label": "弋江区",
+ "value": "340203"
+ },
+ {
+ "label": "鸠江区",
+ "value": "340207"
+ },
+ {
+ "label": "三山区",
+ "value": "340208"
+ },
+ {
+ "label": "芜湖县",
+ "value": "340221"
+ },
+ {
+ "label": "繁昌县",
+ "value": "340222"
+ },
+ {
+ "label": "南陵县",
+ "value": "340223"
+ },
+ {
+ "label": "无为县",
+ "value": "340225"
+ },
+ {
+ "label": "芜湖经济技术开发区",
+ "value": "340271"
+ },
+ {
+ "label": "安徽芜湖长江大桥经济开发区",
+ "value": "340272"
+ }
+ ],
+ [{
+ "label": "龙子湖区",
+ "value": "340302"
+ },
+ {
+ "label": "蚌山区",
+ "value": "340303"
+ },
+ {
+ "label": "禹会区",
+ "value": "340304"
+ },
+ {
+ "label": "淮上区",
+ "value": "340311"
+ },
+ {
+ "label": "怀远县",
+ "value": "340321"
+ },
+ {
+ "label": "五河县",
+ "value": "340322"
+ },
+ {
+ "label": "固镇县",
+ "value": "340323"
+ },
+ {
+ "label": "蚌埠市高新技术开发区",
+ "value": "340371"
+ },
+ {
+ "label": "蚌埠市经济开发区",
+ "value": "340372"
+ }
+ ],
+ [{
+ "label": "大通区",
+ "value": "340402"
+ },
+ {
+ "label": "田家庵区",
+ "value": "340403"
+ },
+ {
+ "label": "谢家集区",
+ "value": "340404"
+ },
+ {
+ "label": "八公山区",
+ "value": "340405"
+ },
+ {
+ "label": "潘集区",
+ "value": "340406"
+ },
+ {
+ "label": "凤台县",
+ "value": "340421"
+ },
+ {
+ "label": "寿县",
+ "value": "340422"
+ }
+ ],
+ [{
+ "label": "花山区",
+ "value": "340503"
+ },
+ {
+ "label": "雨山区",
+ "value": "340504"
+ },
+ {
+ "label": "博望区",
+ "value": "340506"
+ },
+ {
+ "label": "当涂县",
+ "value": "340521"
+ },
+ {
+ "label": "含山县",
+ "value": "340522"
+ },
+ {
+ "label": "和县",
+ "value": "340523"
+ }
+ ],
+ [{
+ "label": "杜集区",
+ "value": "340602"
+ },
+ {
+ "label": "相山区",
+ "value": "340603"
+ },
+ {
+ "label": "烈山区",
+ "value": "340604"
+ },
+ {
+ "label": "濉溪县",
+ "value": "340621"
+ }
+ ],
+ [{
+ "label": "铜官区",
+ "value": "340705"
+ },
+ {
+ "label": "义安区",
+ "value": "340706"
+ },
+ {
+ "label": "郊区",
+ "value": "340711"
+ },
+ {
+ "label": "枞阳县",
+ "value": "340722"
+ }
+ ],
+ [{
+ "label": "迎江区",
+ "value": "340802"
+ },
+ {
+ "label": "大观区",
+ "value": "340803"
+ },
+ {
+ "label": "宜秀区",
+ "value": "340811"
+ },
+ {
+ "label": "怀宁县",
+ "value": "340822"
+ },
+ {
+ "label": "潜山县",
+ "value": "340824"
+ },
+ {
+ "label": "太湖县",
+ "value": "340825"
+ },
+ {
+ "label": "宿松县",
+ "value": "340826"
+ },
+ {
+ "label": "望江县",
+ "value": "340827"
+ },
+ {
+ "label": "岳西县",
+ "value": "340828"
+ },
+ {
+ "label": "安徽安庆经济开发区",
+ "value": "340871"
+ },
+ {
+ "label": "桐城市",
+ "value": "340881"
+ }
+ ],
+ [{
+ "label": "屯溪区",
+ "value": "341002"
+ },
+ {
+ "label": "黄山区",
+ "value": "341003"
+ },
+ {
+ "label": "徽州区",
+ "value": "341004"
+ },
+ {
+ "label": "歙县",
+ "value": "341021"
+ },
+ {
+ "label": "休宁县",
+ "value": "341022"
+ },
+ {
+ "label": "黟县",
+ "value": "341023"
+ },
+ {
+ "label": "祁门县",
+ "value": "341024"
+ }
+ ],
+ [{
+ "label": "琅琊区",
+ "value": "341102"
+ },
+ {
+ "label": "南谯区",
+ "value": "341103"
+ },
+ {
+ "label": "来安县",
+ "value": "341122"
+ },
+ {
+ "label": "全椒县",
+ "value": "341124"
+ },
+ {
+ "label": "定远县",
+ "value": "341125"
+ },
+ {
+ "label": "凤阳县",
+ "value": "341126"
+ },
+ {
+ "label": "苏滁现代产业园",
+ "value": "341171"
+ },
+ {
+ "label": "滁州经济技术开发区",
+ "value": "341172"
+ },
+ {
+ "label": "天长市",
+ "value": "341181"
+ },
+ {
+ "label": "明光市",
+ "value": "341182"
+ }
+ ],
+ [{
+ "label": "颍州区",
+ "value": "341202"
+ },
+ {
+ "label": "颍东区",
+ "value": "341203"
+ },
+ {
+ "label": "颍泉区",
+ "value": "341204"
+ },
+ {
+ "label": "临泉县",
+ "value": "341221"
+ },
+ {
+ "label": "太和县",
+ "value": "341222"
+ },
+ {
+ "label": "阜南县",
+ "value": "341225"
+ },
+ {
+ "label": "颍上县",
+ "value": "341226"
+ },
+ {
+ "label": "阜阳合肥现代产业园区",
+ "value": "341271"
+ },
+ {
+ "label": "阜阳经济技术开发区",
+ "value": "341272"
+ },
+ {
+ "label": "界首市",
+ "value": "341282"
+ }
+ ],
+ [{
+ "label": "埇桥区",
+ "value": "341302"
+ },
+ {
+ "label": "砀山县",
+ "value": "341321"
+ },
+ {
+ "label": "萧县",
+ "value": "341322"
+ },
+ {
+ "label": "灵璧县",
+ "value": "341323"
+ },
+ {
+ "label": "泗县",
+ "value": "341324"
+ },
+ {
+ "label": "宿州马鞍山现代产业园区",
+ "value": "341371"
+ },
+ {
+ "label": "宿州经济技术开发区",
+ "value": "341372"
+ }
+ ],
+ [{
+ "label": "金安区",
+ "value": "341502"
+ },
+ {
+ "label": "裕安区",
+ "value": "341503"
+ },
+ {
+ "label": "叶集区",
+ "value": "341504"
+ },
+ {
+ "label": "霍邱县",
+ "value": "341522"
+ },
+ {
+ "label": "舒城县",
+ "value": "341523"
+ },
+ {
+ "label": "金寨县",
+ "value": "341524"
+ },
+ {
+ "label": "霍山县",
+ "value": "341525"
+ }
+ ],
+ [{
+ "label": "谯城区",
+ "value": "341602"
+ },
+ {
+ "label": "涡阳县",
+ "value": "341621"
+ },
+ {
+ "label": "蒙城县",
+ "value": "341622"
+ },
+ {
+ "label": "利辛县",
+ "value": "341623"
+ }
+ ],
+ [{
+ "label": "贵池区",
+ "value": "341702"
+ },
+ {
+ "label": "东至县",
+ "value": "341721"
+ },
+ {
+ "label": "石台县",
+ "value": "341722"
+ },
+ {
+ "label": "青阳县",
+ "value": "341723"
+ }
+ ],
+ [{
+ "label": "宣州区",
+ "value": "341802"
+ },
+ {
+ "label": "郎溪县",
+ "value": "341821"
+ },
+ {
+ "label": "广德县",
+ "value": "341822"
+ },
+ {
+ "label": "泾县",
+ "value": "341823"
+ },
+ {
+ "label": "绩溪县",
+ "value": "341824"
+ },
+ {
+ "label": "旌德县",
+ "value": "341825"
+ },
+ {
+ "label": "宣城市经济开发区",
+ "value": "341871"
+ },
+ {
+ "label": "宁国市",
+ "value": "341881"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "鼓楼区",
+ "value": "350102"
+ },
+ {
+ "label": "台江区",
+ "value": "350103"
+ },
+ {
+ "label": "仓山区",
+ "value": "350104"
+ },
+ {
+ "label": "马尾区",
+ "value": "350105"
+ },
+ {
+ "label": "晋安区",
+ "value": "350111"
+ },
+ {
+ "label": "闽侯县",
+ "value": "350121"
+ },
+ {
+ "label": "连江县",
+ "value": "350122"
+ },
+ {
+ "label": "罗源县",
+ "value": "350123"
+ },
+ {
+ "label": "闽清县",
+ "value": "350124"
+ },
+ {
+ "label": "永泰县",
+ "value": "350125"
+ },
+ {
+ "label": "平潭县",
+ "value": "350128"
+ },
+ {
+ "label": "福清市",
+ "value": "350181"
+ },
+ {
+ "label": "长乐市",
+ "value": "350182"
+ }
+ ],
+ [{
+ "label": "思明区",
+ "value": "350203"
+ },
+ {
+ "label": "海沧区",
+ "value": "350205"
+ },
+ {
+ "label": "湖里区",
+ "value": "350206"
+ },
+ {
+ "label": "集美区",
+ "value": "350211"
+ },
+ {
+ "label": "同安区",
+ "value": "350212"
+ },
+ {
+ "label": "翔安区",
+ "value": "350213"
+ }
+ ],
+ [{
+ "label": "城厢区",
+ "value": "350302"
+ },
+ {
+ "label": "涵江区",
+ "value": "350303"
+ },
+ {
+ "label": "荔城区",
+ "value": "350304"
+ },
+ {
+ "label": "秀屿区",
+ "value": "350305"
+ },
+ {
+ "label": "仙游县",
+ "value": "350322"
+ }
+ ],
+ [{
+ "label": "梅列区",
+ "value": "350402"
+ },
+ {
+ "label": "三元区",
+ "value": "350403"
+ },
+ {
+ "label": "明溪县",
+ "value": "350421"
+ },
+ {
+ "label": "清流县",
+ "value": "350423"
+ },
+ {
+ "label": "宁化县",
+ "value": "350424"
+ },
+ {
+ "label": "大田县",
+ "value": "350425"
+ },
+ {
+ "label": "尤溪县",
+ "value": "350426"
+ },
+ {
+ "label": "沙县",
+ "value": "350427"
+ },
+ {
+ "label": "将乐县",
+ "value": "350428"
+ },
+ {
+ "label": "泰宁县",
+ "value": "350429"
+ },
+ {
+ "label": "建宁县",
+ "value": "350430"
+ },
+ {
+ "label": "永安市",
+ "value": "350481"
+ }
+ ],
+ [{
+ "label": "鲤城区",
+ "value": "350502"
+ },
+ {
+ "label": "丰泽区",
+ "value": "350503"
+ },
+ {
+ "label": "洛江区",
+ "value": "350504"
+ },
+ {
+ "label": "泉港区",
+ "value": "350505"
+ },
+ {
+ "label": "惠安县",
+ "value": "350521"
+ },
+ {
+ "label": "安溪县",
+ "value": "350524"
+ },
+ {
+ "label": "永春县",
+ "value": "350525"
+ },
+ {
+ "label": "德化县",
+ "value": "350526"
+ },
+ {
+ "label": "金门县",
+ "value": "350527"
+ },
+ {
+ "label": "石狮市",
+ "value": "350581"
+ },
+ {
+ "label": "晋江市",
+ "value": "350582"
+ },
+ {
+ "label": "南安市",
+ "value": "350583"
+ }
+ ],
+ [{
+ "label": "芗城区",
+ "value": "350602"
+ },
+ {
+ "label": "龙文区",
+ "value": "350603"
+ },
+ {
+ "label": "云霄县",
+ "value": "350622"
+ },
+ {
+ "label": "漳浦县",
+ "value": "350623"
+ },
+ {
+ "label": "诏安县",
+ "value": "350624"
+ },
+ {
+ "label": "长泰县",
+ "value": "350625"
+ },
+ {
+ "label": "东山县",
+ "value": "350626"
+ },
+ {
+ "label": "南靖县",
+ "value": "350627"
+ },
+ {
+ "label": "平和县",
+ "value": "350628"
+ },
+ {
+ "label": "华安县",
+ "value": "350629"
+ },
+ {
+ "label": "龙海市",
+ "value": "350681"
+ }
+ ],
+ [{
+ "label": "延平区",
+ "value": "350702"
+ },
+ {
+ "label": "建阳区",
+ "value": "350703"
+ },
+ {
+ "label": "顺昌县",
+ "value": "350721"
+ },
+ {
+ "label": "浦城县",
+ "value": "350722"
+ },
+ {
+ "label": "光泽县",
+ "value": "350723"
+ },
+ {
+ "label": "松溪县",
+ "value": "350724"
+ },
+ {
+ "label": "政和县",
+ "value": "350725"
+ },
+ {
+ "label": "邵武市",
+ "value": "350781"
+ },
+ {
+ "label": "武夷山市",
+ "value": "350782"
+ },
+ {
+ "label": "建瓯市",
+ "value": "350783"
+ }
+ ],
+ [{
+ "label": "新罗区",
+ "value": "350802"
+ },
+ {
+ "label": "永定区",
+ "value": "350803"
+ },
+ {
+ "label": "长汀县",
+ "value": "350821"
+ },
+ {
+ "label": "上杭县",
+ "value": "350823"
+ },
+ {
+ "label": "武平县",
+ "value": "350824"
+ },
+ {
+ "label": "连城县",
+ "value": "350825"
+ },
+ {
+ "label": "漳平市",
+ "value": "350881"
+ }
+ ],
+ [{
+ "label": "蕉城区",
+ "value": "350902"
+ },
+ {
+ "label": "霞浦县",
+ "value": "350921"
+ },
+ {
+ "label": "古田县",
+ "value": "350922"
+ },
+ {
+ "label": "屏南县",
+ "value": "350923"
+ },
+ {
+ "label": "寿宁县",
+ "value": "350924"
+ },
+ {
+ "label": "周宁县",
+ "value": "350925"
+ },
+ {
+ "label": "柘荣县",
+ "value": "350926"
+ },
+ {
+ "label": "福安市",
+ "value": "350981"
+ },
+ {
+ "label": "福鼎市",
+ "value": "350982"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "东湖区",
+ "value": "360102"
+ },
+ {
+ "label": "西湖区",
+ "value": "360103"
+ },
+ {
+ "label": "青云谱区",
+ "value": "360104"
+ },
+ {
+ "label": "湾里区",
+ "value": "360105"
+ },
+ {
+ "label": "青山湖区",
+ "value": "360111"
+ },
+ {
+ "label": "新建区",
+ "value": "360112"
+ },
+ {
+ "label": "南昌县",
+ "value": "360121"
+ },
+ {
+ "label": "安义县",
+ "value": "360123"
+ },
+ {
+ "label": "进贤县",
+ "value": "360124"
+ }
+ ],
+ [{
+ "label": "昌江区",
+ "value": "360202"
+ },
+ {
+ "label": "珠山区",
+ "value": "360203"
+ },
+ {
+ "label": "浮梁县",
+ "value": "360222"
+ },
+ {
+ "label": "乐平市",
+ "value": "360281"
+ }
+ ],
+ [{
+ "label": "安源区",
+ "value": "360302"
+ },
+ {
+ "label": "湘东区",
+ "value": "360313"
+ },
+ {
+ "label": "莲花县",
+ "value": "360321"
+ },
+ {
+ "label": "上栗县",
+ "value": "360322"
+ },
+ {
+ "label": "芦溪县",
+ "value": "360323"
+ }
+ ],
+ [{
+ "label": "濂溪区",
+ "value": "360402"
+ },
+ {
+ "label": "浔阳区",
+ "value": "360403"
+ },
+ {
+ "label": "柴桑区",
+ "value": "360404"
+ },
+ {
+ "label": "武宁县",
+ "value": "360423"
+ },
+ {
+ "label": "修水县",
+ "value": "360424"
+ },
+ {
+ "label": "永修县",
+ "value": "360425"
+ },
+ {
+ "label": "德安县",
+ "value": "360426"
+ },
+ {
+ "label": "都昌县",
+ "value": "360428"
+ },
+ {
+ "label": "湖口县",
+ "value": "360429"
+ },
+ {
+ "label": "彭泽县",
+ "value": "360430"
+ },
+ {
+ "label": "瑞昌市",
+ "value": "360481"
+ },
+ {
+ "label": "共青城市",
+ "value": "360482"
+ },
+ {
+ "label": "庐山市",
+ "value": "360483"
+ }
+ ],
+ [{
+ "label": "渝水区",
+ "value": "360502"
+ },
+ {
+ "label": "分宜县",
+ "value": "360521"
+ }
+ ],
+ [{
+ "label": "月湖区",
+ "value": "360602"
+ },
+ {
+ "label": "余江县",
+ "value": "360622"
+ },
+ {
+ "label": "贵溪市",
+ "value": "360681"
+ }
+ ],
+ [{
+ "label": "章贡区",
+ "value": "360702"
+ },
+ {
+ "label": "南康区",
+ "value": "360703"
+ },
+ {
+ "label": "赣县区",
+ "value": "360704"
+ },
+ {
+ "label": "信丰县",
+ "value": "360722"
+ },
+ {
+ "label": "大余县",
+ "value": "360723"
+ },
+ {
+ "label": "上犹县",
+ "value": "360724"
+ },
+ {
+ "label": "崇义县",
+ "value": "360725"
+ },
+ {
+ "label": "安远县",
+ "value": "360726"
+ },
+ {
+ "label": "龙南县",
+ "value": "360727"
+ },
+ {
+ "label": "定南县",
+ "value": "360728"
+ },
+ {
+ "label": "全南县",
+ "value": "360729"
+ },
+ {
+ "label": "宁都县",
+ "value": "360730"
+ },
+ {
+ "label": "于都县",
+ "value": "360731"
+ },
+ {
+ "label": "兴国县",
+ "value": "360732"
+ },
+ {
+ "label": "会昌县",
+ "value": "360733"
+ },
+ {
+ "label": "寻乌县",
+ "value": "360734"
+ },
+ {
+ "label": "石城县",
+ "value": "360735"
+ },
+ {
+ "label": "瑞金市",
+ "value": "360781"
+ }
+ ],
+ [{
+ "label": "吉州区",
+ "value": "360802"
+ },
+ {
+ "label": "青原区",
+ "value": "360803"
+ },
+ {
+ "label": "吉安县",
+ "value": "360821"
+ },
+ {
+ "label": "吉水县",
+ "value": "360822"
+ },
+ {
+ "label": "峡江县",
+ "value": "360823"
+ },
+ {
+ "label": "新干县",
+ "value": "360824"
+ },
+ {
+ "label": "永丰县",
+ "value": "360825"
+ },
+ {
+ "label": "泰和县",
+ "value": "360826"
+ },
+ {
+ "label": "遂川县",
+ "value": "360827"
+ },
+ {
+ "label": "万安县",
+ "value": "360828"
+ },
+ {
+ "label": "安福县",
+ "value": "360829"
+ },
+ {
+ "label": "永新县",
+ "value": "360830"
+ },
+ {
+ "label": "井冈山市",
+ "value": "360881"
+ }
+ ],
+ [{
+ "label": "袁州区",
+ "value": "360902"
+ },
+ {
+ "label": "奉新县",
+ "value": "360921"
+ },
+ {
+ "label": "万载县",
+ "value": "360922"
+ },
+ {
+ "label": "上高县",
+ "value": "360923"
+ },
+ {
+ "label": "宜丰县",
+ "value": "360924"
+ },
+ {
+ "label": "靖安县",
+ "value": "360925"
+ },
+ {
+ "label": "铜鼓县",
+ "value": "360926"
+ },
+ {
+ "label": "丰城市",
+ "value": "360981"
+ },
+ {
+ "label": "樟树市",
+ "value": "360982"
+ },
+ {
+ "label": "高安市",
+ "value": "360983"
+ }
+ ],
+ [{
+ "label": "临川区",
+ "value": "361002"
+ },
+ {
+ "label": "东乡区",
+ "value": "361003"
+ },
+ {
+ "label": "南城县",
+ "value": "361021"
+ },
+ {
+ "label": "黎川县",
+ "value": "361022"
+ },
+ {
+ "label": "南丰县",
+ "value": "361023"
+ },
+ {
+ "label": "崇仁县",
+ "value": "361024"
+ },
+ {
+ "label": "乐安县",
+ "value": "361025"
+ },
+ {
+ "label": "宜黄县",
+ "value": "361026"
+ },
+ {
+ "label": "金溪县",
+ "value": "361027"
+ },
+ {
+ "label": "资溪县",
+ "value": "361028"
+ },
+ {
+ "label": "广昌县",
+ "value": "361030"
+ }
+ ],
+ [{
+ "label": "信州区",
+ "value": "361102"
+ },
+ {
+ "label": "广丰区",
+ "value": "361103"
+ },
+ {
+ "label": "上饶县",
+ "value": "361121"
+ },
+ {
+ "label": "玉山县",
+ "value": "361123"
+ },
+ {
+ "label": "铅山县",
+ "value": "361124"
+ },
+ {
+ "label": "横峰县",
+ "value": "361125"
+ },
+ {
+ "label": "弋阳县",
+ "value": "361126"
+ },
+ {
+ "label": "余干县",
+ "value": "361127"
+ },
+ {
+ "label": "鄱阳县",
+ "value": "361128"
+ },
+ {
+ "label": "万年县",
+ "value": "361129"
+ },
+ {
+ "label": "婺源县",
+ "value": "361130"
+ },
+ {
+ "label": "德兴市",
+ "value": "361181"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "历下区",
+ "value": "370102"
+ },
+ {
+ "label": "市中区",
+ "value": "370103"
+ },
+ {
+ "label": "槐荫区",
+ "value": "370104"
+ },
+ {
+ "label": "天桥区",
+ "value": "370105"
+ },
+ {
+ "label": "历城区",
+ "value": "370112"
+ },
+ {
+ "label": "长清区",
+ "value": "370113"
+ },
+ {
+ "label": "章丘区",
+ "value": "370114"
+ },
+ {
+ "label": "平阴县",
+ "value": "370124"
+ },
+ {
+ "label": "济阳县",
+ "value": "370125"
+ },
+ {
+ "label": "商河县",
+ "value": "370126"
+ },
+ {
+ "label": "济南高新技术产业开发区",
+ "value": "370171"
+ }
+ ],
+ [{
+ "label": "市南区",
+ "value": "370202"
+ },
+ {
+ "label": "市北区",
+ "value": "370203"
+ },
+ {
+ "label": "黄岛区",
+ "value": "370211"
+ },
+ {
+ "label": "崂山区",
+ "value": "370212"
+ },
+ {
+ "label": "李沧区",
+ "value": "370213"
+ },
+ {
+ "label": "城阳区",
+ "value": "370214"
+ },
+ {
+ "label": "即墨区",
+ "value": "370215"
+ },
+ {
+ "label": "青岛高新技术产业开发区",
+ "value": "370271"
+ },
+ {
+ "label": "胶州市",
+ "value": "370281"
+ },
+ {
+ "label": "平度市",
+ "value": "370283"
+ },
+ {
+ "label": "莱西市",
+ "value": "370285"
+ }
+ ],
+ [{
+ "label": "淄川区",
+ "value": "370302"
+ },
+ {
+ "label": "张店区",
+ "value": "370303"
+ },
+ {
+ "label": "博山区",
+ "value": "370304"
+ },
+ {
+ "label": "临淄区",
+ "value": "370305"
+ },
+ {
+ "label": "周村区",
+ "value": "370306"
+ },
+ {
+ "label": "桓台县",
+ "value": "370321"
+ },
+ {
+ "label": "高青县",
+ "value": "370322"
+ },
+ {
+ "label": "沂源县",
+ "value": "370323"
+ }
+ ],
+ [{
+ "label": "市中区",
+ "value": "370402"
+ },
+ {
+ "label": "薛城区",
+ "value": "370403"
+ },
+ {
+ "label": "峄城区",
+ "value": "370404"
+ },
+ {
+ "label": "台儿庄区",
+ "value": "370405"
+ },
+ {
+ "label": "山亭区",
+ "value": "370406"
+ },
+ {
+ "label": "滕州市",
+ "value": "370481"
+ }
+ ],
+ [{
+ "label": "东营区",
+ "value": "370502"
+ },
+ {
+ "label": "河口区",
+ "value": "370503"
+ },
+ {
+ "label": "垦利区",
+ "value": "370505"
+ },
+ {
+ "label": "利津县",
+ "value": "370522"
+ },
+ {
+ "label": "广饶县",
+ "value": "370523"
+ },
+ {
+ "label": "东营经济技术开发区",
+ "value": "370571"
+ },
+ {
+ "label": "东营港经济开发区",
+ "value": "370572"
+ }
+ ],
+ [{
+ "label": "芝罘区",
+ "value": "370602"
+ },
+ {
+ "label": "福山区",
+ "value": "370611"
+ },
+ {
+ "label": "牟平区",
+ "value": "370612"
+ },
+ {
+ "label": "莱山区",
+ "value": "370613"
+ },
+ {
+ "label": "长岛县",
+ "value": "370634"
+ },
+ {
+ "label": "烟台高新技术产业开发区",
+ "value": "370671"
+ },
+ {
+ "label": "烟台经济技术开发区",
+ "value": "370672"
+ },
+ {
+ "label": "龙口市",
+ "value": "370681"
+ },
+ {
+ "label": "莱阳市",
+ "value": "370682"
+ },
+ {
+ "label": "莱州市",
+ "value": "370683"
+ },
+ {
+ "label": "蓬莱市",
+ "value": "370684"
+ },
+ {
+ "label": "招远市",
+ "value": "370685"
+ },
+ {
+ "label": "栖霞市",
+ "value": "370686"
+ },
+ {
+ "label": "海阳市",
+ "value": "370687"
+ }
+ ],
+ [{
+ "label": "潍城区",
+ "value": "370702"
+ },
+ {
+ "label": "寒亭区",
+ "value": "370703"
+ },
+ {
+ "label": "坊子区",
+ "value": "370704"
+ },
+ {
+ "label": "奎文区",
+ "value": "370705"
+ },
+ {
+ "label": "临朐县",
+ "value": "370724"
+ },
+ {
+ "label": "昌乐县",
+ "value": "370725"
+ },
+ {
+ "label": "潍坊滨海经济技术开发区",
+ "value": "370772"
+ },
+ {
+ "label": "青州市",
+ "value": "370781"
+ },
+ {
+ "label": "诸城市",
+ "value": "370782"
+ },
+ {
+ "label": "寿光市",
+ "value": "370783"
+ },
+ {
+ "label": "安丘市",
+ "value": "370784"
+ },
+ {
+ "label": "高密市",
+ "value": "370785"
+ },
+ {
+ "label": "昌邑市",
+ "value": "370786"
+ }
+ ],
+ [{
+ "label": "任城区",
+ "value": "370811"
+ },
+ {
+ "label": "兖州区",
+ "value": "370812"
+ },
+ {
+ "label": "微山县",
+ "value": "370826"
+ },
+ {
+ "label": "鱼台县",
+ "value": "370827"
+ },
+ {
+ "label": "金乡县",
+ "value": "370828"
+ },
+ {
+ "label": "嘉祥县",
+ "value": "370829"
+ },
+ {
+ "label": "汶上县",
+ "value": "370830"
+ },
+ {
+ "label": "泗水县",
+ "value": "370831"
+ },
+ {
+ "label": "梁山县",
+ "value": "370832"
+ },
+ {
+ "label": "济宁高新技术产业开发区",
+ "value": "370871"
+ },
+ {
+ "label": "曲阜市",
+ "value": "370881"
+ },
+ {
+ "label": "邹城市",
+ "value": "370883"
+ }
+ ],
+ [{
+ "label": "泰山区",
+ "value": "370902"
+ },
+ {
+ "label": "岱岳区",
+ "value": "370911"
+ },
+ {
+ "label": "宁阳县",
+ "value": "370921"
+ },
+ {
+ "label": "东平县",
+ "value": "370923"
+ },
+ {
+ "label": "新泰市",
+ "value": "370982"
+ },
+ {
+ "label": "肥城市",
+ "value": "370983"
+ }
+ ],
+ [{
+ "label": "环翠区",
+ "value": "371002"
+ },
+ {
+ "label": "文登区",
+ "value": "371003"
+ },
+ {
+ "label": "威海火炬高技术产业开发区",
+ "value": "371071"
+ },
+ {
+ "label": "威海经济技术开发区",
+ "value": "371072"
+ },
+ {
+ "label": "威海临港经济技术开发区",
+ "value": "371073"
+ },
+ {
+ "label": "荣成市",
+ "value": "371082"
+ },
+ {
+ "label": "乳山市",
+ "value": "371083"
+ }
+ ],
+ [{
+ "label": "东港区",
+ "value": "371102"
+ },
+ {
+ "label": "岚山区",
+ "value": "371103"
+ },
+ {
+ "label": "五莲县",
+ "value": "371121"
+ },
+ {
+ "label": "莒县",
+ "value": "371122"
+ },
+ {
+ "label": "日照经济技术开发区",
+ "value": "371171"
+ },
+ {
+ "label": "日照国际海洋城",
+ "value": "371172"
+ }
+ ],
+ [{
+ "label": "莱城区",
+ "value": "371202"
+ },
+ {
+ "label": "钢城区",
+ "value": "371203"
+ }
+ ],
+ [{
+ "label": "兰山区",
+ "value": "371302"
+ },
+ {
+ "label": "罗庄区",
+ "value": "371311"
+ },
+ {
+ "label": "河东区",
+ "value": "371312"
+ },
+ {
+ "label": "沂南县",
+ "value": "371321"
+ },
+ {
+ "label": "郯城县",
+ "value": "371322"
+ },
+ {
+ "label": "沂水县",
+ "value": "371323"
+ },
+ {
+ "label": "兰陵县",
+ "value": "371324"
+ },
+ {
+ "label": "费县",
+ "value": "371325"
+ },
+ {
+ "label": "平邑县",
+ "value": "371326"
+ },
+ {
+ "label": "莒南县",
+ "value": "371327"
+ },
+ {
+ "label": "蒙阴县",
+ "value": "371328"
+ },
+ {
+ "label": "临沭县",
+ "value": "371329"
+ },
+ {
+ "label": "临沂高新技术产业开发区",
+ "value": "371371"
+ },
+ {
+ "label": "临沂经济技术开发区",
+ "value": "371372"
+ },
+ {
+ "label": "临沂临港经济开发区",
+ "value": "371373"
+ }
+ ],
+ [{
+ "label": "德城区",
+ "value": "371402"
+ },
+ {
+ "label": "陵城区",
+ "value": "371403"
+ },
+ {
+ "label": "宁津县",
+ "value": "371422"
+ },
+ {
+ "label": "庆云县",
+ "value": "371423"
+ },
+ {
+ "label": "临邑县",
+ "value": "371424"
+ },
+ {
+ "label": "齐河县",
+ "value": "371425"
+ },
+ {
+ "label": "平原县",
+ "value": "371426"
+ },
+ {
+ "label": "夏津县",
+ "value": "371427"
+ },
+ {
+ "label": "武城县",
+ "value": "371428"
+ },
+ {
+ "label": "德州经济技术开发区",
+ "value": "371471"
+ },
+ {
+ "label": "德州运河经济开发区",
+ "value": "371472"
+ },
+ {
+ "label": "乐陵市",
+ "value": "371481"
+ },
+ {
+ "label": "禹城市",
+ "value": "371482"
+ }
+ ],
+ [{
+ "label": "东昌府区",
+ "value": "371502"
+ },
+ {
+ "label": "阳谷县",
+ "value": "371521"
+ },
+ {
+ "label": "莘县",
+ "value": "371522"
+ },
+ {
+ "label": "茌平县",
+ "value": "371523"
+ },
+ {
+ "label": "东阿县",
+ "value": "371524"
+ },
+ {
+ "label": "冠县",
+ "value": "371525"
+ },
+ {
+ "label": "高唐县",
+ "value": "371526"
+ },
+ {
+ "label": "临清市",
+ "value": "371581"
+ }
+ ],
+ [{
+ "label": "滨城区",
+ "value": "371602"
+ },
+ {
+ "label": "沾化区",
+ "value": "371603"
+ },
+ {
+ "label": "惠民县",
+ "value": "371621"
+ },
+ {
+ "label": "阳信县",
+ "value": "371622"
+ },
+ {
+ "label": "无棣县",
+ "value": "371623"
+ },
+ {
+ "label": "博兴县",
+ "value": "371625"
+ },
+ {
+ "label": "邹平县",
+ "value": "371626"
+ }
+ ],
+ [{
+ "label": "牡丹区",
+ "value": "371702"
+ },
+ {
+ "label": "定陶区",
+ "value": "371703"
+ },
+ {
+ "label": "曹县",
+ "value": "371721"
+ },
+ {
+ "label": "单县",
+ "value": "371722"
+ },
+ {
+ "label": "成武县",
+ "value": "371723"
+ },
+ {
+ "label": "巨野县",
+ "value": "371724"
+ },
+ {
+ "label": "郓城县",
+ "value": "371725"
+ },
+ {
+ "label": "鄄城县",
+ "value": "371726"
+ },
+ {
+ "label": "东明县",
+ "value": "371728"
+ },
+ {
+ "label": "菏泽经济技术开发区",
+ "value": "371771"
+ },
+ {
+ "label": "菏泽高新技术开发区",
+ "value": "371772"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "中原区",
+ "value": "410102"
+ },
+ {
+ "label": "二七区",
+ "value": "410103"
+ },
+ {
+ "label": "管城回族区",
+ "value": "410104"
+ },
+ {
+ "label": "金水区",
+ "value": "410105"
+ },
+ {
+ "label": "上街区",
+ "value": "410106"
+ },
+ {
+ "label": "惠济区",
+ "value": "410108"
+ },
+ {
+ "label": "中牟县",
+ "value": "410122"
+ },
+ {
+ "label": "郑州经济技术开发区",
+ "value": "410171"
+ },
+ {
+ "label": "郑州高新技术产业开发区",
+ "value": "410172"
+ },
+ {
+ "label": "郑州航空港经济综合实验区",
+ "value": "410173"
+ },
+ {
+ "label": "巩义市",
+ "value": "410181"
+ },
+ {
+ "label": "荥阳市",
+ "value": "410182"
+ },
+ {
+ "label": "新密市",
+ "value": "410183"
+ },
+ {
+ "label": "新郑市",
+ "value": "410184"
+ },
+ {
+ "label": "登封市",
+ "value": "410185"
+ }
+ ],
+ [{
+ "label": "龙亭区",
+ "value": "410202"
+ },
+ {
+ "label": "顺河回族区",
+ "value": "410203"
+ },
+ {
+ "label": "鼓楼区",
+ "value": "410204"
+ },
+ {
+ "label": "禹王台区",
+ "value": "410205"
+ },
+ {
+ "label": "祥符区",
+ "value": "410212"
+ },
+ {
+ "label": "杞县",
+ "value": "410221"
+ },
+ {
+ "label": "通许县",
+ "value": "410222"
+ },
+ {
+ "label": "尉氏县",
+ "value": "410223"
+ },
+ {
+ "label": "兰考县",
+ "value": "410225"
+ }
+ ],
+ [{
+ "label": "老城区",
+ "value": "410302"
+ },
+ {
+ "label": "西工区",
+ "value": "410303"
+ },
+ {
+ "label": "瀍河回族区",
+ "value": "410304"
+ },
+ {
+ "label": "涧西区",
+ "value": "410305"
+ },
+ {
+ "label": "吉利区",
+ "value": "410306"
+ },
+ {
+ "label": "洛龙区",
+ "value": "410311"
+ },
+ {
+ "label": "孟津县",
+ "value": "410322"
+ },
+ {
+ "label": "新安县",
+ "value": "410323"
+ },
+ {
+ "label": "栾川县",
+ "value": "410324"
+ },
+ {
+ "label": "嵩县",
+ "value": "410325"
+ },
+ {
+ "label": "汝阳县",
+ "value": "410326"
+ },
+ {
+ "label": "宜阳县",
+ "value": "410327"
+ },
+ {
+ "label": "洛宁县",
+ "value": "410328"
+ },
+ {
+ "label": "伊川县",
+ "value": "410329"
+ },
+ {
+ "label": "洛阳高新技术产业开发区",
+ "value": "410371"
+ },
+ {
+ "label": "偃师市",
+ "value": "410381"
+ }
+ ],
+ [{
+ "label": "新华区",
+ "value": "410402"
+ },
+ {
+ "label": "卫东区",
+ "value": "410403"
+ },
+ {
+ "label": "石龙区",
+ "value": "410404"
+ },
+ {
+ "label": "湛河区",
+ "value": "410411"
+ },
+ {
+ "label": "宝丰县",
+ "value": "410421"
+ },
+ {
+ "label": "叶县",
+ "value": "410422"
+ },
+ {
+ "label": "鲁山县",
+ "value": "410423"
+ },
+ {
+ "label": "郏县",
+ "value": "410425"
+ },
+ {
+ "label": "平顶山高新技术产业开发区",
+ "value": "410471"
+ },
+ {
+ "label": "平顶山市新城区",
+ "value": "410472"
+ },
+ {
+ "label": "舞钢市",
+ "value": "410481"
+ },
+ {
+ "label": "汝州市",
+ "value": "410482"
+ }
+ ],
+ [{
+ "label": "文峰区",
+ "value": "410502"
+ },
+ {
+ "label": "北关区",
+ "value": "410503"
+ },
+ {
+ "label": "殷都区",
+ "value": "410505"
+ },
+ {
+ "label": "龙安区",
+ "value": "410506"
+ },
+ {
+ "label": "安阳县",
+ "value": "410522"
+ },
+ {
+ "label": "汤阴县",
+ "value": "410523"
+ },
+ {
+ "label": "滑县",
+ "value": "410526"
+ },
+ {
+ "label": "内黄县",
+ "value": "410527"
+ },
+ {
+ "label": "安阳高新技术产业开发区",
+ "value": "410571"
+ },
+ {
+ "label": "林州市",
+ "value": "410581"
+ }
+ ],
+ [{
+ "label": "鹤山区",
+ "value": "410602"
+ },
+ {
+ "label": "山城区",
+ "value": "410603"
+ },
+ {
+ "label": "淇滨区",
+ "value": "410611"
+ },
+ {
+ "label": "浚县",
+ "value": "410621"
+ },
+ {
+ "label": "淇县",
+ "value": "410622"
+ },
+ {
+ "label": "鹤壁经济技术开发区",
+ "value": "410671"
+ }
+ ],
+ [{
+ "label": "红旗区",
+ "value": "410702"
+ },
+ {
+ "label": "卫滨区",
+ "value": "410703"
+ },
+ {
+ "label": "凤泉区",
+ "value": "410704"
+ },
+ {
+ "label": "牧野区",
+ "value": "410711"
+ },
+ {
+ "label": "新乡县",
+ "value": "410721"
+ },
+ {
+ "label": "获嘉县",
+ "value": "410724"
+ },
+ {
+ "label": "原阳县",
+ "value": "410725"
+ },
+ {
+ "label": "延津县",
+ "value": "410726"
+ },
+ {
+ "label": "封丘县",
+ "value": "410727"
+ },
+ {
+ "label": "长垣县",
+ "value": "410728"
+ },
+ {
+ "label": "新乡高新技术产业开发区",
+ "value": "410771"
+ },
+ {
+ "label": "新乡经济技术开发区",
+ "value": "410772"
+ },
+ {
+ "label": "新乡市平原城乡一体化示范区",
+ "value": "410773"
+ },
+ {
+ "label": "卫辉市",
+ "value": "410781"
+ },
+ {
+ "label": "辉县市",
+ "value": "410782"
+ }
+ ],
+ [{
+ "label": "解放区",
+ "value": "410802"
+ },
+ {
+ "label": "中站区",
+ "value": "410803"
+ },
+ {
+ "label": "马村区",
+ "value": "410804"
+ },
+ {
+ "label": "山阳区",
+ "value": "410811"
+ },
+ {
+ "label": "修武县",
+ "value": "410821"
+ },
+ {
+ "label": "博爱县",
+ "value": "410822"
+ },
+ {
+ "label": "武陟县",
+ "value": "410823"
+ },
+ {
+ "label": "温县",
+ "value": "410825"
+ },
+ {
+ "label": "焦作城乡一体化示范区",
+ "value": "410871"
+ },
+ {
+ "label": "沁阳市",
+ "value": "410882"
+ },
+ {
+ "label": "孟州市",
+ "value": "410883"
+ }
+ ],
+ [{
+ "label": "华龙区",
+ "value": "410902"
+ },
+ {
+ "label": "清丰县",
+ "value": "410922"
+ },
+ {
+ "label": "南乐县",
+ "value": "410923"
+ },
+ {
+ "label": "范县",
+ "value": "410926"
+ },
+ {
+ "label": "台前县",
+ "value": "410927"
+ },
+ {
+ "label": "濮阳县",
+ "value": "410928"
+ },
+ {
+ "label": "河南濮阳工业园区",
+ "value": "410971"
+ },
+ {
+ "label": "濮阳经济技术开发区",
+ "value": "410972"
+ }
+ ],
+ [{
+ "label": "魏都区",
+ "value": "411002"
+ },
+ {
+ "label": "建安区",
+ "value": "411003"
+ },
+ {
+ "label": "鄢陵县",
+ "value": "411024"
+ },
+ {
+ "label": "襄城县",
+ "value": "411025"
+ },
+ {
+ "label": "许昌经济技术开发区",
+ "value": "411071"
+ },
+ {
+ "label": "禹州市",
+ "value": "411081"
+ },
+ {
+ "label": "长葛市",
+ "value": "411082"
+ }
+ ],
+ [{
+ "label": "源汇区",
+ "value": "411102"
+ },
+ {
+ "label": "郾城区",
+ "value": "411103"
+ },
+ {
+ "label": "召陵区",
+ "value": "411104"
+ },
+ {
+ "label": "舞阳县",
+ "value": "411121"
+ },
+ {
+ "label": "临颍县",
+ "value": "411122"
+ },
+ {
+ "label": "漯河经济技术开发区",
+ "value": "411171"
+ }
+ ],
+ [{
+ "label": "湖滨区",
+ "value": "411202"
+ },
+ {
+ "label": "陕州区",
+ "value": "411203"
+ },
+ {
+ "label": "渑池县",
+ "value": "411221"
+ },
+ {
+ "label": "卢氏县",
+ "value": "411224"
+ },
+ {
+ "label": "河南三门峡经济开发区",
+ "value": "411271"
+ },
+ {
+ "label": "义马市",
+ "value": "411281"
+ },
+ {
+ "label": "灵宝市",
+ "value": "411282"
+ }
+ ],
+ [{
+ "label": "宛城区",
+ "value": "411302"
+ },
+ {
+ "label": "卧龙区",
+ "value": "411303"
+ },
+ {
+ "label": "南召县",
+ "value": "411321"
+ },
+ {
+ "label": "方城县",
+ "value": "411322"
+ },
+ {
+ "label": "西峡县",
+ "value": "411323"
+ },
+ {
+ "label": "镇平县",
+ "value": "411324"
+ },
+ {
+ "label": "内乡县",
+ "value": "411325"
+ },
+ {
+ "label": "淅川县",
+ "value": "411326"
+ },
+ {
+ "label": "社旗县",
+ "value": "411327"
+ },
+ {
+ "label": "唐河县",
+ "value": "411328"
+ },
+ {
+ "label": "新野县",
+ "value": "411329"
+ },
+ {
+ "label": "桐柏县",
+ "value": "411330"
+ },
+ {
+ "label": "南阳高新技术产业开发区",
+ "value": "411371"
+ },
+ {
+ "label": "南阳市城乡一体化示范区",
+ "value": "411372"
+ },
+ {
+ "label": "邓州市",
+ "value": "411381"
+ }
+ ],
+ [{
+ "label": "梁园区",
+ "value": "411402"
+ },
+ {
+ "label": "睢阳区",
+ "value": "411403"
+ },
+ {
+ "label": "民权县",
+ "value": "411421"
+ },
+ {
+ "label": "睢县",
+ "value": "411422"
+ },
+ {
+ "label": "宁陵县",
+ "value": "411423"
+ },
+ {
+ "label": "柘城县",
+ "value": "411424"
+ },
+ {
+ "label": "虞城县",
+ "value": "411425"
+ },
+ {
+ "label": "夏邑县",
+ "value": "411426"
+ },
+ {
+ "label": "豫东综合物流产业聚集区",
+ "value": "411471"
+ },
+ {
+ "label": "河南商丘经济开发区",
+ "value": "411472"
+ },
+ {
+ "label": "永城市",
+ "value": "411481"
+ }
+ ],
+ [{
+ "label": "浉河区",
+ "value": "411502"
+ },
+ {
+ "label": "平桥区",
+ "value": "411503"
+ },
+ {
+ "label": "罗山县",
+ "value": "411521"
+ },
+ {
+ "label": "光山县",
+ "value": "411522"
+ },
+ {
+ "label": "新县",
+ "value": "411523"
+ },
+ {
+ "label": "商城县",
+ "value": "411524"
+ },
+ {
+ "label": "固始县",
+ "value": "411525"
+ },
+ {
+ "label": "潢川县",
+ "value": "411526"
+ },
+ {
+ "label": "淮滨县",
+ "value": "411527"
+ },
+ {
+ "label": "息县",
+ "value": "411528"
+ },
+ {
+ "label": "信阳高新技术产业开发区",
+ "value": "411571"
+ }
+ ],
+ [{
+ "label": "川汇区",
+ "value": "411602"
+ },
+ {
+ "label": "扶沟县",
+ "value": "411621"
+ },
+ {
+ "label": "西华县",
+ "value": "411622"
+ },
+ {
+ "label": "商水县",
+ "value": "411623"
+ },
+ {
+ "label": "沈丘县",
+ "value": "411624"
+ },
+ {
+ "label": "郸城县",
+ "value": "411625"
+ },
+ {
+ "label": "淮阳县",
+ "value": "411626"
+ },
+ {
+ "label": "太康县",
+ "value": "411627"
+ },
+ {
+ "label": "鹿邑县",
+ "value": "411628"
+ },
+ {
+ "label": "河南周口经济开发区",
+ "value": "411671"
+ },
+ {
+ "label": "项城市",
+ "value": "411681"
+ }
+ ],
+ [{
+ "label": "驿城区",
+ "value": "411702"
+ },
+ {
+ "label": "西平县",
+ "value": "411721"
+ },
+ {
+ "label": "上蔡县",
+ "value": "411722"
+ },
+ {
+ "label": "平舆县",
+ "value": "411723"
+ },
+ {
+ "label": "正阳县",
+ "value": "411724"
+ },
+ {
+ "label": "确山县",
+ "value": "411725"
+ },
+ {
+ "label": "泌阳县",
+ "value": "411726"
+ },
+ {
+ "label": "汝南县",
+ "value": "411727"
+ },
+ {
+ "label": "遂平县",
+ "value": "411728"
+ },
+ {
+ "label": "新蔡县",
+ "value": "411729"
+ },
+ {
+ "label": "河南驻马店经济开发区",
+ "value": "411771"
+ }
+ ],
+ [{
+ "label": "济源市",
+ "value": "419001"
+ }]
+ ],
+ [
+ [{
+ "label": "江岸区",
+ "value": "420102"
+ },
+ {
+ "label": "江汉区",
+ "value": "420103"
+ },
+ {
+ "label": "硚口区",
+ "value": "420104"
+ },
+ {
+ "label": "汉阳区",
+ "value": "420105"
+ },
+ {
+ "label": "武昌区",
+ "value": "420106"
+ },
+ {
+ "label": "青山区",
+ "value": "420107"
+ },
+ {
+ "label": "洪山区",
+ "value": "420111"
+ },
+ {
+ "label": "东西湖区",
+ "value": "420112"
+ },
+ {
+ "label": "汉南区",
+ "value": "420113"
+ },
+ {
+ "label": "蔡甸区",
+ "value": "420114"
+ },
+ {
+ "label": "江夏区",
+ "value": "420115"
+ },
+ {
+ "label": "黄陂区",
+ "value": "420116"
+ },
+ {
+ "label": "新洲区",
+ "value": "420117"
+ }
+ ],
+ [{
+ "label": "黄石港区",
+ "value": "420202"
+ },
+ {
+ "label": "西塞山区",
+ "value": "420203"
+ },
+ {
+ "label": "下陆区",
+ "value": "420204"
+ },
+ {
+ "label": "铁山区",
+ "value": "420205"
+ },
+ {
+ "label": "阳新县",
+ "value": "420222"
+ },
+ {
+ "label": "大冶市",
+ "value": "420281"
+ }
+ ],
+ [{
+ "label": "茅箭区",
+ "value": "420302"
+ },
+ {
+ "label": "张湾区",
+ "value": "420303"
+ },
+ {
+ "label": "郧阳区",
+ "value": "420304"
+ },
+ {
+ "label": "郧西县",
+ "value": "420322"
+ },
+ {
+ "label": "竹山县",
+ "value": "420323"
+ },
+ {
+ "label": "竹溪县",
+ "value": "420324"
+ },
+ {
+ "label": "房县",
+ "value": "420325"
+ },
+ {
+ "label": "丹江口市",
+ "value": "420381"
+ }
+ ],
+ [{
+ "label": "西陵区",
+ "value": "420502"
+ },
+ {
+ "label": "伍家岗区",
+ "value": "420503"
+ },
+ {
+ "label": "点军区",
+ "value": "420504"
+ },
+ {
+ "label": "猇亭区",
+ "value": "420505"
+ },
+ {
+ "label": "夷陵区",
+ "value": "420506"
+ },
+ {
+ "label": "远安县",
+ "value": "420525"
+ },
+ {
+ "label": "兴山县",
+ "value": "420526"
+ },
+ {
+ "label": "秭归县",
+ "value": "420527"
+ },
+ {
+ "label": "长阳土家族自治县",
+ "value": "420528"
+ },
+ {
+ "label": "五峰土家族自治县",
+ "value": "420529"
+ },
+ {
+ "label": "宜都市",
+ "value": "420581"
+ },
+ {
+ "label": "当阳市",
+ "value": "420582"
+ },
+ {
+ "label": "枝江市",
+ "value": "420583"
+ }
+ ],
+ [{
+ "label": "襄城区",
+ "value": "420602"
+ },
+ {
+ "label": "樊城区",
+ "value": "420606"
+ },
+ {
+ "label": "襄州区",
+ "value": "420607"
+ },
+ {
+ "label": "南漳县",
+ "value": "420624"
+ },
+ {
+ "label": "谷城县",
+ "value": "420625"
+ },
+ {
+ "label": "保康县",
+ "value": "420626"
+ },
+ {
+ "label": "老河口市",
+ "value": "420682"
+ },
+ {
+ "label": "枣阳市",
+ "value": "420683"
+ },
+ {
+ "label": "宜城市",
+ "value": "420684"
+ }
+ ],
+ [{
+ "label": "梁子湖区",
+ "value": "420702"
+ },
+ {
+ "label": "华容区",
+ "value": "420703"
+ },
+ {
+ "label": "鄂城区",
+ "value": "420704"
+ }
+ ],
+ [{
+ "label": "东宝区",
+ "value": "420802"
+ },
+ {
+ "label": "掇刀区",
+ "value": "420804"
+ },
+ {
+ "label": "京山县",
+ "value": "420821"
+ },
+ {
+ "label": "沙洋县",
+ "value": "420822"
+ },
+ {
+ "label": "钟祥市",
+ "value": "420881"
+ }
+ ],
+ [{
+ "label": "孝南区",
+ "value": "420902"
+ },
+ {
+ "label": "孝昌县",
+ "value": "420921"
+ },
+ {
+ "label": "大悟县",
+ "value": "420922"
+ },
+ {
+ "label": "云梦县",
+ "value": "420923"
+ },
+ {
+ "label": "应城市",
+ "value": "420981"
+ },
+ {
+ "label": "安陆市",
+ "value": "420982"
+ },
+ {
+ "label": "汉川市",
+ "value": "420984"
+ }
+ ],
+ [{
+ "label": "沙市区",
+ "value": "421002"
+ },
+ {
+ "label": "荆州区",
+ "value": "421003"
+ },
+ {
+ "label": "公安县",
+ "value": "421022"
+ },
+ {
+ "label": "监利县",
+ "value": "421023"
+ },
+ {
+ "label": "江陵县",
+ "value": "421024"
+ },
+ {
+ "label": "荆州经济技术开发区",
+ "value": "421071"
+ },
+ {
+ "label": "石首市",
+ "value": "421081"
+ },
+ {
+ "label": "洪湖市",
+ "value": "421083"
+ },
+ {
+ "label": "松滋市",
+ "value": "421087"
+ }
+ ],
+ [{
+ "label": "黄州区",
+ "value": "421102"
+ },
+ {
+ "label": "团风县",
+ "value": "421121"
+ },
+ {
+ "label": "红安县",
+ "value": "421122"
+ },
+ {
+ "label": "罗田县",
+ "value": "421123"
+ },
+ {
+ "label": "英山县",
+ "value": "421124"
+ },
+ {
+ "label": "浠水县",
+ "value": "421125"
+ },
+ {
+ "label": "蕲春县",
+ "value": "421126"
+ },
+ {
+ "label": "黄梅县",
+ "value": "421127"
+ },
+ {
+ "label": "龙感湖管理区",
+ "value": "421171"
+ },
+ {
+ "label": "麻城市",
+ "value": "421181"
+ },
+ {
+ "label": "武穴市",
+ "value": "421182"
+ }
+ ],
+ [{
+ "label": "咸安区",
+ "value": "421202"
+ },
+ {
+ "label": "嘉鱼县",
+ "value": "421221"
+ },
+ {
+ "label": "通城县",
+ "value": "421222"
+ },
+ {
+ "label": "崇阳县",
+ "value": "421223"
+ },
+ {
+ "label": "通山县",
+ "value": "421224"
+ },
+ {
+ "label": "赤壁市",
+ "value": "421281"
+ }
+ ],
+ [{
+ "label": "曾都区",
+ "value": "421303"
+ },
+ {
+ "label": "随县",
+ "value": "421321"
+ },
+ {
+ "label": "广水市",
+ "value": "421381"
+ }
+ ],
+ [{
+ "label": "恩施市",
+ "value": "422801"
+ },
+ {
+ "label": "利川市",
+ "value": "422802"
+ },
+ {
+ "label": "建始县",
+ "value": "422822"
+ },
+ {
+ "label": "巴东县",
+ "value": "422823"
+ },
+ {
+ "label": "宣恩县",
+ "value": "422825"
+ },
+ {
+ "label": "咸丰县",
+ "value": "422826"
+ },
+ {
+ "label": "来凤县",
+ "value": "422827"
+ },
+ {
+ "label": "鹤峰县",
+ "value": "422828"
+ }
+ ],
+ [{
+ "label": "仙桃市",
+ "value": "429004"
+ },
+ {
+ "label": "潜江市",
+ "value": "429005"
+ },
+ {
+ "label": "天门市",
+ "value": "429006"
+ },
+ {
+ "label": "神农架林区",
+ "value": "429021"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "芙蓉区",
+ "value": "430102"
+ },
+ {
+ "label": "天心区",
+ "value": "430103"
+ },
+ {
+ "label": "岳麓区",
+ "value": "430104"
+ },
+ {
+ "label": "开福区",
+ "value": "430105"
+ },
+ {
+ "label": "雨花区",
+ "value": "430111"
+ },
+ {
+ "label": "望城区",
+ "value": "430112"
+ },
+ {
+ "label": "长沙县",
+ "value": "430121"
+ },
+ {
+ "label": "浏阳市",
+ "value": "430181"
+ },
+ {
+ "label": "宁乡市",
+ "value": "430182"
+ }
+ ],
+ [{
+ "label": "荷塘区",
+ "value": "430202"
+ },
+ {
+ "label": "芦淞区",
+ "value": "430203"
+ },
+ {
+ "label": "石峰区",
+ "value": "430204"
+ },
+ {
+ "label": "天元区",
+ "value": "430211"
+ },
+ {
+ "label": "株洲县",
+ "value": "430221"
+ },
+ {
+ "label": "攸县",
+ "value": "430223"
+ },
+ {
+ "label": "茶陵县",
+ "value": "430224"
+ },
+ {
+ "label": "炎陵县",
+ "value": "430225"
+ },
+ {
+ "label": "云龙示范区",
+ "value": "430271"
+ },
+ {
+ "label": "醴陵市",
+ "value": "430281"
+ }
+ ],
+ [{
+ "label": "雨湖区",
+ "value": "430302"
+ },
+ {
+ "label": "岳塘区",
+ "value": "430304"
+ },
+ {
+ "label": "湘潭县",
+ "value": "430321"
+ },
+ {
+ "label": "湖南湘潭高新技术产业园区",
+ "value": "430371"
+ },
+ {
+ "label": "湘潭昭山示范区",
+ "value": "430372"
+ },
+ {
+ "label": "湘潭九华示范区",
+ "value": "430373"
+ },
+ {
+ "label": "湘乡市",
+ "value": "430381"
+ },
+ {
+ "label": "韶山市",
+ "value": "430382"
+ }
+ ],
+ [{
+ "label": "珠晖区",
+ "value": "430405"
+ },
+ {
+ "label": "雁峰区",
+ "value": "430406"
+ },
+ {
+ "label": "石鼓区",
+ "value": "430407"
+ },
+ {
+ "label": "蒸湘区",
+ "value": "430408"
+ },
+ {
+ "label": "南岳区",
+ "value": "430412"
+ },
+ {
+ "label": "衡阳县",
+ "value": "430421"
+ },
+ {
+ "label": "衡南县",
+ "value": "430422"
+ },
+ {
+ "label": "衡山县",
+ "value": "430423"
+ },
+ {
+ "label": "衡东县",
+ "value": "430424"
+ },
+ {
+ "label": "祁东县",
+ "value": "430426"
+ },
+ {
+ "label": "衡阳综合保税区",
+ "value": "430471"
+ },
+ {
+ "label": "湖南衡阳高新技术产业园区",
+ "value": "430472"
+ },
+ {
+ "label": "湖南衡阳松木经济开发区",
+ "value": "430473"
+ },
+ {
+ "label": "耒阳市",
+ "value": "430481"
+ },
+ {
+ "label": "常宁市",
+ "value": "430482"
+ }
+ ],
+ [{
+ "label": "双清区",
+ "value": "430502"
+ },
+ {
+ "label": "大祥区",
+ "value": "430503"
+ },
+ {
+ "label": "北塔区",
+ "value": "430511"
+ },
+ {
+ "label": "邵东县",
+ "value": "430521"
+ },
+ {
+ "label": "新邵县",
+ "value": "430522"
+ },
+ {
+ "label": "邵阳县",
+ "value": "430523"
+ },
+ {
+ "label": "隆回县",
+ "value": "430524"
+ },
+ {
+ "label": "洞口县",
+ "value": "430525"
+ },
+ {
+ "label": "绥宁县",
+ "value": "430527"
+ },
+ {
+ "label": "新宁县",
+ "value": "430528"
+ },
+ {
+ "label": "城步苗族自治县",
+ "value": "430529"
+ },
+ {
+ "label": "武冈市",
+ "value": "430581"
+ }
+ ],
+ [{
+ "label": "岳阳楼区",
+ "value": "430602"
+ },
+ {
+ "label": "云溪区",
+ "value": "430603"
+ },
+ {
+ "label": "君山区",
+ "value": "430611"
+ },
+ {
+ "label": "岳阳县",
+ "value": "430621"
+ },
+ {
+ "label": "华容县",
+ "value": "430623"
+ },
+ {
+ "label": "湘阴县",
+ "value": "430624"
+ },
+ {
+ "label": "平江县",
+ "value": "430626"
+ },
+ {
+ "label": "岳阳市屈原管理区",
+ "value": "430671"
+ },
+ {
+ "label": "汨罗市",
+ "value": "430681"
+ },
+ {
+ "label": "临湘市",
+ "value": "430682"
+ }
+ ],
+ [{
+ "label": "武陵区",
+ "value": "430702"
+ },
+ {
+ "label": "鼎城区",
+ "value": "430703"
+ },
+ {
+ "label": "安乡县",
+ "value": "430721"
+ },
+ {
+ "label": "汉寿县",
+ "value": "430722"
+ },
+ {
+ "label": "澧县",
+ "value": "430723"
+ },
+ {
+ "label": "临澧县",
+ "value": "430724"
+ },
+ {
+ "label": "桃源县",
+ "value": "430725"
+ },
+ {
+ "label": "石门县",
+ "value": "430726"
+ },
+ {
+ "label": "常德市西洞庭管理区",
+ "value": "430771"
+ },
+ {
+ "label": "津市市",
+ "value": "430781"
+ }
+ ],
+ [{
+ "label": "永定区",
+ "value": "430802"
+ },
+ {
+ "label": "武陵源区",
+ "value": "430811"
+ },
+ {
+ "label": "慈利县",
+ "value": "430821"
+ },
+ {
+ "label": "桑植县",
+ "value": "430822"
+ }
+ ],
+ [{
+ "label": "资阳区",
+ "value": "430902"
+ },
+ {
+ "label": "赫山区",
+ "value": "430903"
+ },
+ {
+ "label": "南县",
+ "value": "430921"
+ },
+ {
+ "label": "桃江县",
+ "value": "430922"
+ },
+ {
+ "label": "安化县",
+ "value": "430923"
+ },
+ {
+ "label": "益阳市大通湖管理区",
+ "value": "430971"
+ },
+ {
+ "label": "湖南益阳高新技术产业园区",
+ "value": "430972"
+ },
+ {
+ "label": "沅江市",
+ "value": "430981"
+ }
+ ],
+ [{
+ "label": "北湖区",
+ "value": "431002"
+ },
+ {
+ "label": "苏仙区",
+ "value": "431003"
+ },
+ {
+ "label": "桂阳县",
+ "value": "431021"
+ },
+ {
+ "label": "宜章县",
+ "value": "431022"
+ },
+ {
+ "label": "永兴县",
+ "value": "431023"
+ },
+ {
+ "label": "嘉禾县",
+ "value": "431024"
+ },
+ {
+ "label": "临武县",
+ "value": "431025"
+ },
+ {
+ "label": "汝城县",
+ "value": "431026"
+ },
+ {
+ "label": "桂东县",
+ "value": "431027"
+ },
+ {
+ "label": "安仁县",
+ "value": "431028"
+ },
+ {
+ "label": "资兴市",
+ "value": "431081"
+ }
+ ],
+ [{
+ "label": "零陵区",
+ "value": "431102"
+ },
+ {
+ "label": "冷水滩区",
+ "value": "431103"
+ },
+ {
+ "label": "祁阳县",
+ "value": "431121"
+ },
+ {
+ "label": "东安县",
+ "value": "431122"
+ },
+ {
+ "label": "双牌县",
+ "value": "431123"
+ },
+ {
+ "label": "道县",
+ "value": "431124"
+ },
+ {
+ "label": "江永县",
+ "value": "431125"
+ },
+ {
+ "label": "宁远县",
+ "value": "431126"
+ },
+ {
+ "label": "蓝山县",
+ "value": "431127"
+ },
+ {
+ "label": "新田县",
+ "value": "431128"
+ },
+ {
+ "label": "江华瑶族自治县",
+ "value": "431129"
+ },
+ {
+ "label": "永州经济技术开发区",
+ "value": "431171"
+ },
+ {
+ "label": "永州市金洞管理区",
+ "value": "431172"
+ },
+ {
+ "label": "永州市回龙圩管理区",
+ "value": "431173"
+ }
+ ],
+ [{
+ "label": "鹤城区",
+ "value": "431202"
+ },
+ {
+ "label": "中方县",
+ "value": "431221"
+ },
+ {
+ "label": "沅陵县",
+ "value": "431222"
+ },
+ {
+ "label": "辰溪县",
+ "value": "431223"
+ },
+ {
+ "label": "溆浦县",
+ "value": "431224"
+ },
+ {
+ "label": "会同县",
+ "value": "431225"
+ },
+ {
+ "label": "麻阳苗族自治县",
+ "value": "431226"
+ },
+ {
+ "label": "新晃侗族自治县",
+ "value": "431227"
+ },
+ {
+ "label": "芷江侗族自治县",
+ "value": "431228"
+ },
+ {
+ "label": "靖州苗族侗族自治县",
+ "value": "431229"
+ },
+ {
+ "label": "通道侗族自治县",
+ "value": "431230"
+ },
+ {
+ "label": "怀化市洪江管理区",
+ "value": "431271"
+ },
+ {
+ "label": "洪江市",
+ "value": "431281"
+ }
+ ],
+ [{
+ "label": "娄星区",
+ "value": "431302"
+ },
+ {
+ "label": "双峰县",
+ "value": "431321"
+ },
+ {
+ "label": "新化县",
+ "value": "431322"
+ },
+ {
+ "label": "冷水江市",
+ "value": "431381"
+ },
+ {
+ "label": "涟源市",
+ "value": "431382"
+ }
+ ],
+ [{
+ "label": "吉首市",
+ "value": "433101"
+ },
+ {
+ "label": "泸溪县",
+ "value": "433122"
+ },
+ {
+ "label": "凤凰县",
+ "value": "433123"
+ },
+ {
+ "label": "花垣县",
+ "value": "433124"
+ },
+ {
+ "label": "保靖县",
+ "value": "433125"
+ },
+ {
+ "label": "古丈县",
+ "value": "433126"
+ },
+ {
+ "label": "永顺县",
+ "value": "433127"
+ },
+ {
+ "label": "龙山县",
+ "value": "433130"
+ },
+ {
+ "label": "湖南吉首经济开发区",
+ "value": "433172"
+ },
+ {
+ "label": "湖南永顺经济开发区",
+ "value": "433173"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "荔湾区",
+ "value": "440103"
+ },
+ {
+ "label": "越秀区",
+ "value": "440104"
+ },
+ {
+ "label": "海珠区",
+ "value": "440105"
+ },
+ {
+ "label": "天河区",
+ "value": "440106"
+ },
+ {
+ "label": "白云区",
+ "value": "440111"
+ },
+ {
+ "label": "黄埔区",
+ "value": "440112"
+ },
+ {
+ "label": "番禺区",
+ "value": "440113"
+ },
+ {
+ "label": "花都区",
+ "value": "440114"
+ },
+ {
+ "label": "南沙区",
+ "value": "440115"
+ },
+ {
+ "label": "从化区",
+ "value": "440117"
+ },
+ {
+ "label": "增城区",
+ "value": "440118"
+ }
+ ],
+ [{
+ "label": "武江区",
+ "value": "440203"
+ },
+ {
+ "label": "浈江区",
+ "value": "440204"
+ },
+ {
+ "label": "曲江区",
+ "value": "440205"
+ },
+ {
+ "label": "始兴县",
+ "value": "440222"
+ },
+ {
+ "label": "仁化县",
+ "value": "440224"
+ },
+ {
+ "label": "翁源县",
+ "value": "440229"
+ },
+ {
+ "label": "乳源瑶族自治县",
+ "value": "440232"
+ },
+ {
+ "label": "新丰县",
+ "value": "440233"
+ },
+ {
+ "label": "乐昌市",
+ "value": "440281"
+ },
+ {
+ "label": "南雄市",
+ "value": "440282"
+ }
+ ],
+ [{
+ "label": "罗湖区",
+ "value": "440303"
+ },
+ {
+ "label": "福田区",
+ "value": "440304"
+ },
+ {
+ "label": "南山区",
+ "value": "440305"
+ },
+ {
+ "label": "宝安区",
+ "value": "440306"
+ },
+ {
+ "label": "龙岗区",
+ "value": "440307"
+ },
+ {
+ "label": "盐田区",
+ "value": "440308"
+ },
+ {
+ "label": "龙华区",
+ "value": "440309"
+ },
+ {
+ "label": "坪山区",
+ "value": "440310"
+ }
+ ],
+ [{
+ "label": "香洲区",
+ "value": "440402"
+ },
+ {
+ "label": "斗门区",
+ "value": "440403"
+ },
+ {
+ "label": "金湾区",
+ "value": "440404"
+ }
+ ],
+ [{
+ "label": "龙湖区",
+ "value": "440507"
+ },
+ {
+ "label": "金平区",
+ "value": "440511"
+ },
+ {
+ "label": "濠江区",
+ "value": "440512"
+ },
+ {
+ "label": "潮阳区",
+ "value": "440513"
+ },
+ {
+ "label": "潮南区",
+ "value": "440514"
+ },
+ {
+ "label": "澄海区",
+ "value": "440515"
+ },
+ {
+ "label": "南澳县",
+ "value": "440523"
+ }
+ ],
+ [{
+ "label": "禅城区",
+ "value": "440604"
+ },
+ {
+ "label": "南海区",
+ "value": "440605"
+ },
+ {
+ "label": "顺德区",
+ "value": "440606"
+ },
+ {
+ "label": "三水区",
+ "value": "440607"
+ },
+ {
+ "label": "高明区",
+ "value": "440608"
+ }
+ ],
+ [{
+ "label": "蓬江区",
+ "value": "440703"
+ },
+ {
+ "label": "江海区",
+ "value": "440704"
+ },
+ {
+ "label": "新会区",
+ "value": "440705"
+ },
+ {
+ "label": "台山市",
+ "value": "440781"
+ },
+ {
+ "label": "开平市",
+ "value": "440783"
+ },
+ {
+ "label": "鹤山市",
+ "value": "440784"
+ },
+ {
+ "label": "恩平市",
+ "value": "440785"
+ }
+ ],
+ [{
+ "label": "赤坎区",
+ "value": "440802"
+ },
+ {
+ "label": "霞山区",
+ "value": "440803"
+ },
+ {
+ "label": "坡头区",
+ "value": "440804"
+ },
+ {
+ "label": "麻章区",
+ "value": "440811"
+ },
+ {
+ "label": "遂溪县",
+ "value": "440823"
+ },
+ {
+ "label": "徐闻县",
+ "value": "440825"
+ },
+ {
+ "label": "廉江市",
+ "value": "440881"
+ },
+ {
+ "label": "雷州市",
+ "value": "440882"
+ },
+ {
+ "label": "吴川市",
+ "value": "440883"
+ }
+ ],
+ [{
+ "label": "茂南区",
+ "value": "440902"
+ },
+ {
+ "label": "电白区",
+ "value": "440904"
+ },
+ {
+ "label": "高州市",
+ "value": "440981"
+ },
+ {
+ "label": "化州市",
+ "value": "440982"
+ },
+ {
+ "label": "信宜市",
+ "value": "440983"
+ }
+ ],
+ [{
+ "label": "端州区",
+ "value": "441202"
+ },
+ {
+ "label": "鼎湖区",
+ "value": "441203"
+ },
+ {
+ "label": "高要区",
+ "value": "441204"
+ },
+ {
+ "label": "广宁县",
+ "value": "441223"
+ },
+ {
+ "label": "怀集县",
+ "value": "441224"
+ },
+ {
+ "label": "封开县",
+ "value": "441225"
+ },
+ {
+ "label": "德庆县",
+ "value": "441226"
+ },
+ {
+ "label": "四会市",
+ "value": "441284"
+ }
+ ],
+ [{
+ "label": "惠城区",
+ "value": "441302"
+ },
+ {
+ "label": "惠阳区",
+ "value": "441303"
+ },
+ {
+ "label": "博罗县",
+ "value": "441322"
+ },
+ {
+ "label": "惠东县",
+ "value": "441323"
+ },
+ {
+ "label": "龙门县",
+ "value": "441324"
+ }
+ ],
+ [{
+ "label": "梅江区",
+ "value": "441402"
+ },
+ {
+ "label": "梅县区",
+ "value": "441403"
+ },
+ {
+ "label": "大埔县",
+ "value": "441422"
+ },
+ {
+ "label": "丰顺县",
+ "value": "441423"
+ },
+ {
+ "label": "五华县",
+ "value": "441424"
+ },
+ {
+ "label": "平远县",
+ "value": "441426"
+ },
+ {
+ "label": "蕉岭县",
+ "value": "441427"
+ },
+ {
+ "label": "兴宁市",
+ "value": "441481"
+ }
+ ],
+ [{
+ "label": "城区",
+ "value": "441502"
+ },
+ {
+ "label": "海丰县",
+ "value": "441521"
+ },
+ {
+ "label": "陆河县",
+ "value": "441523"
+ },
+ {
+ "label": "陆丰市",
+ "value": "441581"
+ }
+ ],
+ [{
+ "label": "源城区",
+ "value": "441602"
+ },
+ {
+ "label": "紫金县",
+ "value": "441621"
+ },
+ {
+ "label": "龙川县",
+ "value": "441622"
+ },
+ {
+ "label": "连平县",
+ "value": "441623"
+ },
+ {
+ "label": "和平县",
+ "value": "441624"
+ },
+ {
+ "label": "东源县",
+ "value": "441625"
+ }
+ ],
+ [{
+ "label": "江城区",
+ "value": "441702"
+ },
+ {
+ "label": "阳东区",
+ "value": "441704"
+ },
+ {
+ "label": "阳西县",
+ "value": "441721"
+ },
+ {
+ "label": "阳春市",
+ "value": "441781"
+ }
+ ],
+ [{
+ "label": "清城区",
+ "value": "441802"
+ },
+ {
+ "label": "清新区",
+ "value": "441803"
+ },
+ {
+ "label": "佛冈县",
+ "value": "441821"
+ },
+ {
+ "label": "阳山县",
+ "value": "441823"
+ },
+ {
+ "label": "连山壮族瑶族自治县",
+ "value": "441825"
+ },
+ {
+ "label": "连南瑶族自治县",
+ "value": "441826"
+ },
+ {
+ "label": "英德市",
+ "value": "441881"
+ },
+ {
+ "label": "连州市",
+ "value": "441882"
+ }
+ ],
+ [{
+ "label": "东莞市",
+ "value": "441900"
+ }],
+ [{
+ "label": "中山市",
+ "value": "442000"
+ }],
+ [{
+ "label": "湘桥区",
+ "value": "445102"
+ },
+ {
+ "label": "潮安区",
+ "value": "445103"
+ },
+ {
+ "label": "饶平县",
+ "value": "445122"
+ }
+ ],
+ [{
+ "label": "榕城区",
+ "value": "445202"
+ },
+ {
+ "label": "揭东区",
+ "value": "445203"
+ },
+ {
+ "label": "揭西县",
+ "value": "445222"
+ },
+ {
+ "label": "惠来县",
+ "value": "445224"
+ },
+ {
+ "label": "普宁市",
+ "value": "445281"
+ }
+ ],
+ [{
+ "label": "云城区",
+ "value": "445302"
+ },
+ {
+ "label": "云安区",
+ "value": "445303"
+ },
+ {
+ "label": "新兴县",
+ "value": "445321"
+ },
+ {
+ "label": "郁南县",
+ "value": "445322"
+ },
+ {
+ "label": "罗定市",
+ "value": "445381"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "兴宁区",
+ "value": "450102"
+ },
+ {
+ "label": "青秀区",
+ "value": "450103"
+ },
+ {
+ "label": "江南区",
+ "value": "450105"
+ },
+ {
+ "label": "西乡塘区",
+ "value": "450107"
+ },
+ {
+ "label": "良庆区",
+ "value": "450108"
+ },
+ {
+ "label": "邕宁区",
+ "value": "450109"
+ },
+ {
+ "label": "武鸣区",
+ "value": "450110"
+ },
+ {
+ "label": "隆安县",
+ "value": "450123"
+ },
+ {
+ "label": "马山县",
+ "value": "450124"
+ },
+ {
+ "label": "上林县",
+ "value": "450125"
+ },
+ {
+ "label": "宾阳县",
+ "value": "450126"
+ },
+ {
+ "label": "横县",
+ "value": "450127"
+ }
+ ],
+ [{
+ "label": "城中区",
+ "value": "450202"
+ },
+ {
+ "label": "鱼峰区",
+ "value": "450203"
+ },
+ {
+ "label": "柳南区",
+ "value": "450204"
+ },
+ {
+ "label": "柳北区",
+ "value": "450205"
+ },
+ {
+ "label": "柳江区",
+ "value": "450206"
+ },
+ {
+ "label": "柳城县",
+ "value": "450222"
+ },
+ {
+ "label": "鹿寨县",
+ "value": "450223"
+ },
+ {
+ "label": "融安县",
+ "value": "450224"
+ },
+ {
+ "label": "融水苗族自治县",
+ "value": "450225"
+ },
+ {
+ "label": "三江侗族自治县",
+ "value": "450226"
+ }
+ ],
+ [{
+ "label": "秀峰区",
+ "value": "450302"
+ },
+ {
+ "label": "叠彩区",
+ "value": "450303"
+ },
+ {
+ "label": "象山区",
+ "value": "450304"
+ },
+ {
+ "label": "七星区",
+ "value": "450305"
+ },
+ {
+ "label": "雁山区",
+ "value": "450311"
+ },
+ {
+ "label": "临桂区",
+ "value": "450312"
+ },
+ {
+ "label": "阳朔县",
+ "value": "450321"
+ },
+ {
+ "label": "灵川县",
+ "value": "450323"
+ },
+ {
+ "label": "全州县",
+ "value": "450324"
+ },
+ {
+ "label": "兴安县",
+ "value": "450325"
+ },
+ {
+ "label": "永福县",
+ "value": "450326"
+ },
+ {
+ "label": "灌阳县",
+ "value": "450327"
+ },
+ {
+ "label": "龙胜各族自治县",
+ "value": "450328"
+ },
+ {
+ "label": "资源县",
+ "value": "450329"
+ },
+ {
+ "label": "平乐县",
+ "value": "450330"
+ },
+ {
+ "label": "荔浦县",
+ "value": "450331"
+ },
+ {
+ "label": "恭城瑶族自治县",
+ "value": "450332"
+ }
+ ],
+ [{
+ "label": "万秀区",
+ "value": "450403"
+ },
+ {
+ "label": "长洲区",
+ "value": "450405"
+ },
+ {
+ "label": "龙圩区",
+ "value": "450406"
+ },
+ {
+ "label": "苍梧县",
+ "value": "450421"
+ },
+ {
+ "label": "藤县",
+ "value": "450422"
+ },
+ {
+ "label": "蒙山县",
+ "value": "450423"
+ },
+ {
+ "label": "岑溪市",
+ "value": "450481"
+ }
+ ],
+ [{
+ "label": "海城区",
+ "value": "450502"
+ },
+ {
+ "label": "银海区",
+ "value": "450503"
+ },
+ {
+ "label": "铁山港区",
+ "value": "450512"
+ },
+ {
+ "label": "合浦县",
+ "value": "450521"
+ }
+ ],
+ [{
+ "label": "港口区",
+ "value": "450602"
+ },
+ {
+ "label": "防城区",
+ "value": "450603"
+ },
+ {
+ "label": "上思县",
+ "value": "450621"
+ },
+ {
+ "label": "东兴市",
+ "value": "450681"
+ }
+ ],
+ [{
+ "label": "钦南区",
+ "value": "450702"
+ },
+ {
+ "label": "钦北区",
+ "value": "450703"
+ },
+ {
+ "label": "灵山县",
+ "value": "450721"
+ },
+ {
+ "label": "浦北县",
+ "value": "450722"
+ }
+ ],
+ [{
+ "label": "港北区",
+ "value": "450802"
+ },
+ {
+ "label": "港南区",
+ "value": "450803"
+ },
+ {
+ "label": "覃塘区",
+ "value": "450804"
+ },
+ {
+ "label": "平南县",
+ "value": "450821"
+ },
+ {
+ "label": "桂平市",
+ "value": "450881"
+ }
+ ],
+ [{
+ "label": "玉州区",
+ "value": "450902"
+ },
+ {
+ "label": "福绵区",
+ "value": "450903"
+ },
+ {
+ "label": "容县",
+ "value": "450921"
+ },
+ {
+ "label": "陆川县",
+ "value": "450922"
+ },
+ {
+ "label": "博白县",
+ "value": "450923"
+ },
+ {
+ "label": "兴业县",
+ "value": "450924"
+ },
+ {
+ "label": "北流市",
+ "value": "450981"
+ }
+ ],
+ [{
+ "label": "右江区",
+ "value": "451002"
+ },
+ {
+ "label": "田阳县",
+ "value": "451021"
+ },
+ {
+ "label": "田东县",
+ "value": "451022"
+ },
+ {
+ "label": "平果县",
+ "value": "451023"
+ },
+ {
+ "label": "德保县",
+ "value": "451024"
+ },
+ {
+ "label": "那坡县",
+ "value": "451026"
+ },
+ {
+ "label": "凌云县",
+ "value": "451027"
+ },
+ {
+ "label": "乐业县",
+ "value": "451028"
+ },
+ {
+ "label": "田林县",
+ "value": "451029"
+ },
+ {
+ "label": "西林县",
+ "value": "451030"
+ },
+ {
+ "label": "隆林各族自治县",
+ "value": "451031"
+ },
+ {
+ "label": "靖西市",
+ "value": "451081"
+ }
+ ],
+ [{
+ "label": "八步区",
+ "value": "451102"
+ },
+ {
+ "label": "平桂区",
+ "value": "451103"
+ },
+ {
+ "label": "昭平县",
+ "value": "451121"
+ },
+ {
+ "label": "钟山县",
+ "value": "451122"
+ },
+ {
+ "label": "富川瑶族自治县",
+ "value": "451123"
+ }
+ ],
+ [{
+ "label": "金城江区",
+ "value": "451202"
+ },
+ {
+ "label": "宜州区",
+ "value": "451203"
+ },
+ {
+ "label": "南丹县",
+ "value": "451221"
+ },
+ {
+ "label": "天峨县",
+ "value": "451222"
+ },
+ {
+ "label": "凤山县",
+ "value": "451223"
+ },
+ {
+ "label": "东兰县",
+ "value": "451224"
+ },
+ {
+ "label": "罗城仫佬族自治县",
+ "value": "451225"
+ },
+ {
+ "label": "环江毛南族自治县",
+ "value": "451226"
+ },
+ {
+ "label": "巴马瑶族自治县",
+ "value": "451227"
+ },
+ {
+ "label": "都安瑶族自治县",
+ "value": "451228"
+ },
+ {
+ "label": "大化瑶族自治县",
+ "value": "451229"
+ }
+ ],
+ [{
+ "label": "兴宾区",
+ "value": "451302"
+ },
+ {
+ "label": "忻城县",
+ "value": "451321"
+ },
+ {
+ "label": "象州县",
+ "value": "451322"
+ },
+ {
+ "label": "武宣县",
+ "value": "451323"
+ },
+ {
+ "label": "金秀瑶族自治县",
+ "value": "451324"
+ },
+ {
+ "label": "合山市",
+ "value": "451381"
+ }
+ ],
+ [{
+ "label": "江州区",
+ "value": "451402"
+ },
+ {
+ "label": "扶绥县",
+ "value": "451421"
+ },
+ {
+ "label": "宁明县",
+ "value": "451422"
+ },
+ {
+ "label": "龙州县",
+ "value": "451423"
+ },
+ {
+ "label": "大新县",
+ "value": "451424"
+ },
+ {
+ "label": "天等县",
+ "value": "451425"
+ },
+ {
+ "label": "凭祥市",
+ "value": "451481"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "秀英区",
+ "value": "460105"
+ },
+ {
+ "label": "龙华区",
+ "value": "460106"
+ },
+ {
+ "label": "琼山区",
+ "value": "460107"
+ },
+ {
+ "label": "美兰区",
+ "value": "460108"
+ }
+ ],
+ [{
+ "label": "海棠区",
+ "value": "460202"
+ },
+ {
+ "label": "吉阳区",
+ "value": "460203"
+ },
+ {
+ "label": "天涯区",
+ "value": "460204"
+ },
+ {
+ "label": "崖州区",
+ "value": "460205"
+ }
+ ],
+ [{
+ "label": "西沙群岛",
+ "value": "460321"
+ },
+ {
+ "label": "南沙群岛",
+ "value": "460322"
+ },
+ {
+ "label": "中沙群岛的岛礁及其海域",
+ "value": "460323"
+ }
+ ],
+ [{
+ "label": "儋州市",
+ "value": "460400"
+ }],
+ [{
+ "label": "五指山市",
+ "value": "469001"
+ },
+ {
+ "label": "琼海市",
+ "value": "469002"
+ },
+ {
+ "label": "文昌市",
+ "value": "469005"
+ },
+ {
+ "label": "万宁市",
+ "value": "469006"
+ },
+ {
+ "label": "东方市",
+ "value": "469007"
+ },
+ {
+ "label": "定安县",
+ "value": "469021"
+ },
+ {
+ "label": "屯昌县",
+ "value": "469022"
+ },
+ {
+ "label": "澄迈县",
+ "value": "469023"
+ },
+ {
+ "label": "临高县",
+ "value": "469024"
+ },
+ {
+ "label": "白沙黎族自治县",
+ "value": "469025"
+ },
+ {
+ "label": "昌江黎族自治县",
+ "value": "469026"
+ },
+ {
+ "label": "乐东黎族自治县",
+ "value": "469027"
+ },
+ {
+ "label": "陵水黎族自治县",
+ "value": "469028"
+ },
+ {
+ "label": "保亭黎族苗族自治县",
+ "value": "469029"
+ },
+ {
+ "label": "琼中黎族苗族自治县",
+ "value": "469030"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "万州区",
+ "value": "500101"
+ },
+ {
+ "label": "涪陵区",
+ "value": "500102"
+ },
+ {
+ "label": "渝中区",
+ "value": "500103"
+ },
+ {
+ "label": "大渡口区",
+ "value": "500104"
+ },
+ {
+ "label": "江北区",
+ "value": "500105"
+ },
+ {
+ "label": "沙坪坝区",
+ "value": "500106"
+ },
+ {
+ "label": "九龙坡区",
+ "value": "500107"
+ },
+ {
+ "label": "南岸区",
+ "value": "500108"
+ },
+ {
+ "label": "北碚区",
+ "value": "500109"
+ },
+ {
+ "label": "綦江区",
+ "value": "500110"
+ },
+ {
+ "label": "大足区",
+ "value": "500111"
+ },
+ {
+ "label": "渝北区",
+ "value": "500112"
+ },
+ {
+ "label": "巴南区",
+ "value": "500113"
+ },
+ {
+ "label": "黔江区",
+ "value": "500114"
+ },
+ {
+ "label": "长寿区",
+ "value": "500115"
+ },
+ {
+ "label": "江津区",
+ "value": "500116"
+ },
+ {
+ "label": "合川区",
+ "value": "500117"
+ },
+ {
+ "label": "永川区",
+ "value": "500118"
+ },
+ {
+ "label": "南川区",
+ "value": "500119"
+ },
+ {
+ "label": "璧山区",
+ "value": "500120"
+ },
+ {
+ "label": "铜梁区",
+ "value": "500151"
+ },
+ {
+ "label": "潼南区",
+ "value": "500152"
+ },
+ {
+ "label": "荣昌区",
+ "value": "500153"
+ },
+ {
+ "label": "开州区",
+ "value": "500154"
+ },
+ {
+ "label": "梁平区",
+ "value": "500155"
+ },
+ {
+ "label": "武隆区",
+ "value": "500156"
+ }
+ ],
+ [{
+ "label": "城口县",
+ "value": "500229"
+ },
+ {
+ "label": "丰都县",
+ "value": "500230"
+ },
+ {
+ "label": "垫江县",
+ "value": "500231"
+ },
+ {
+ "label": "忠县",
+ "value": "500233"
+ },
+ {
+ "label": "云阳县",
+ "value": "500235"
+ },
+ {
+ "label": "奉节县",
+ "value": "500236"
+ },
+ {
+ "label": "巫山县",
+ "value": "500237"
+ },
+ {
+ "label": "巫溪县",
+ "value": "500238"
+ },
+ {
+ "label": "石柱土家族自治县",
+ "value": "500240"
+ },
+ {
+ "label": "秀山土家族苗族自治县",
+ "value": "500241"
+ },
+ {
+ "label": "酉阳土家族苗族自治县",
+ "value": "500242"
+ },
+ {
+ "label": "彭水苗族土家族自治县",
+ "value": "500243"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "锦江区",
+ "value": "510104"
+ },
+ {
+ "label": "青羊区",
+ "value": "510105"
+ },
+ {
+ "label": "金牛区",
+ "value": "510106"
+ },
+ {
+ "label": "武侯区",
+ "value": "510107"
+ },
+ {
+ "label": "成华区",
+ "value": "510108"
+ },
+ {
+ "label": "龙泉驿区",
+ "value": "510112"
+ },
+ {
+ "label": "青白江区",
+ "value": "510113"
+ },
+ {
+ "label": "新都区",
+ "value": "510114"
+ },
+ {
+ "label": "温江区",
+ "value": "510115"
+ },
+ {
+ "label": "双流区",
+ "value": "510116"
+ },
+ {
+ "label": "郫都区",
+ "value": "510117"
+ },
+ {
+ "label": "金堂县",
+ "value": "510121"
+ },
+ {
+ "label": "大邑县",
+ "value": "510129"
+ },
+ {
+ "label": "蒲江县",
+ "value": "510131"
+ },
+ {
+ "label": "新津县",
+ "value": "510132"
+ },
+ {
+ "label": "都江堰市",
+ "value": "510181"
+ },
+ {
+ "label": "彭州市",
+ "value": "510182"
+ },
+ {
+ "label": "邛崃市",
+ "value": "510183"
+ },
+ {
+ "label": "崇州市",
+ "value": "510184"
+ },
+ {
+ "label": "简阳市",
+ "value": "510185"
+ }
+ ],
+ [{
+ "label": "自流井区",
+ "value": "510302"
+ },
+ {
+ "label": "贡井区",
+ "value": "510303"
+ },
+ {
+ "label": "大安区",
+ "value": "510304"
+ },
+ {
+ "label": "沿滩区",
+ "value": "510311"
+ },
+ {
+ "label": "荣县",
+ "value": "510321"
+ },
+ {
+ "label": "富顺县",
+ "value": "510322"
+ }
+ ],
+ [{
+ "label": "东区",
+ "value": "510402"
+ },
+ {
+ "label": "西区",
+ "value": "510403"
+ },
+ {
+ "label": "仁和区",
+ "value": "510411"
+ },
+ {
+ "label": "米易县",
+ "value": "510421"
+ },
+ {
+ "label": "盐边县",
+ "value": "510422"
+ }
+ ],
+ [{
+ "label": "江阳区",
+ "value": "510502"
+ },
+ {
+ "label": "纳溪区",
+ "value": "510503"
+ },
+ {
+ "label": "龙马潭区",
+ "value": "510504"
+ },
+ {
+ "label": "泸县",
+ "value": "510521"
+ },
+ {
+ "label": "合江县",
+ "value": "510522"
+ },
+ {
+ "label": "叙永县",
+ "value": "510524"
+ },
+ {
+ "label": "古蔺县",
+ "value": "510525"
+ }
+ ],
+ [{
+ "label": "旌阳区",
+ "value": "510603"
+ },
+ {
+ "label": "罗江区",
+ "value": "510604"
+ },
+ {
+ "label": "中江县",
+ "value": "510623"
+ },
+ {
+ "label": "广汉市",
+ "value": "510681"
+ },
+ {
+ "label": "什邡市",
+ "value": "510682"
+ },
+ {
+ "label": "绵竹市",
+ "value": "510683"
+ }
+ ],
+ [{
+ "label": "涪城区",
+ "value": "510703"
+ },
+ {
+ "label": "游仙区",
+ "value": "510704"
+ },
+ {
+ "label": "安州区",
+ "value": "510705"
+ },
+ {
+ "label": "三台县",
+ "value": "510722"
+ },
+ {
+ "label": "盐亭县",
+ "value": "510723"
+ },
+ {
+ "label": "梓潼县",
+ "value": "510725"
+ },
+ {
+ "label": "北川羌族自治县",
+ "value": "510726"
+ },
+ {
+ "label": "平武县",
+ "value": "510727"
+ },
+ {
+ "label": "江油市",
+ "value": "510781"
+ }
+ ],
+ [{
+ "label": "利州区",
+ "value": "510802"
+ },
+ {
+ "label": "昭化区",
+ "value": "510811"
+ },
+ {
+ "label": "朝天区",
+ "value": "510812"
+ },
+ {
+ "label": "旺苍县",
+ "value": "510821"
+ },
+ {
+ "label": "青川县",
+ "value": "510822"
+ },
+ {
+ "label": "剑阁县",
+ "value": "510823"
+ },
+ {
+ "label": "苍溪县",
+ "value": "510824"
+ }
+ ],
+ [{
+ "label": "船山区",
+ "value": "510903"
+ },
+ {
+ "label": "安居区",
+ "value": "510904"
+ },
+ {
+ "label": "蓬溪县",
+ "value": "510921"
+ },
+ {
+ "label": "射洪县",
+ "value": "510922"
+ },
+ {
+ "label": "大英县",
+ "value": "510923"
+ }
+ ],
+ [{
+ "label": "市中区",
+ "value": "511002"
+ },
+ {
+ "label": "东兴区",
+ "value": "511011"
+ },
+ {
+ "label": "威远县",
+ "value": "511024"
+ },
+ {
+ "label": "资中县",
+ "value": "511025"
+ },
+ {
+ "label": "内江经济开发区",
+ "value": "511071"
+ },
+ {
+ "label": "隆昌市",
+ "value": "511083"
+ }
+ ],
+ [{
+ "label": "市中区",
+ "value": "511102"
+ },
+ {
+ "label": "沙湾区",
+ "value": "511111"
+ },
+ {
+ "label": "五通桥区",
+ "value": "511112"
+ },
+ {
+ "label": "金口河区",
+ "value": "511113"
+ },
+ {
+ "label": "犍为县",
+ "value": "511123"
+ },
+ {
+ "label": "井研县",
+ "value": "511124"
+ },
+ {
+ "label": "夹江县",
+ "value": "511126"
+ },
+ {
+ "label": "沐川县",
+ "value": "511129"
+ },
+ {
+ "label": "峨边彝族自治县",
+ "value": "511132"
+ },
+ {
+ "label": "马边彝族自治县",
+ "value": "511133"
+ },
+ {
+ "label": "峨眉山市",
+ "value": "511181"
+ }
+ ],
+ [{
+ "label": "顺庆区",
+ "value": "511302"
+ },
+ {
+ "label": "高坪区",
+ "value": "511303"
+ },
+ {
+ "label": "嘉陵区",
+ "value": "511304"
+ },
+ {
+ "label": "南部县",
+ "value": "511321"
+ },
+ {
+ "label": "营山县",
+ "value": "511322"
+ },
+ {
+ "label": "蓬安县",
+ "value": "511323"
+ },
+ {
+ "label": "仪陇县",
+ "value": "511324"
+ },
+ {
+ "label": "西充县",
+ "value": "511325"
+ },
+ {
+ "label": "阆中市",
+ "value": "511381"
+ }
+ ],
+ [{
+ "label": "东坡区",
+ "value": "511402"
+ },
+ {
+ "label": "彭山区",
+ "value": "511403"
+ },
+ {
+ "label": "仁寿县",
+ "value": "511421"
+ },
+ {
+ "label": "洪雅县",
+ "value": "511423"
+ },
+ {
+ "label": "丹棱县",
+ "value": "511424"
+ },
+ {
+ "label": "青神县",
+ "value": "511425"
+ }
+ ],
+ [{
+ "label": "翠屏区",
+ "value": "511502"
+ },
+ {
+ "label": "南溪区",
+ "value": "511503"
+ },
+ {
+ "label": "宜宾县",
+ "value": "511521"
+ },
+ {
+ "label": "江安县",
+ "value": "511523"
+ },
+ {
+ "label": "长宁县",
+ "value": "511524"
+ },
+ {
+ "label": "高县",
+ "value": "511525"
+ },
+ {
+ "label": "珙县",
+ "value": "511526"
+ },
+ {
+ "label": "筠连县",
+ "value": "511527"
+ },
+ {
+ "label": "兴文县",
+ "value": "511528"
+ },
+ {
+ "label": "屏山县",
+ "value": "511529"
+ }
+ ],
+ [{
+ "label": "广安区",
+ "value": "511602"
+ },
+ {
+ "label": "前锋区",
+ "value": "511603"
+ },
+ {
+ "label": "岳池县",
+ "value": "511621"
+ },
+ {
+ "label": "武胜县",
+ "value": "511622"
+ },
+ {
+ "label": "邻水县",
+ "value": "511623"
+ },
+ {
+ "label": "华蓥市",
+ "value": "511681"
+ }
+ ],
+ [{
+ "label": "通川区",
+ "value": "511702"
+ },
+ {
+ "label": "达川区",
+ "value": "511703"
+ },
+ {
+ "label": "宣汉县",
+ "value": "511722"
+ },
+ {
+ "label": "开江县",
+ "value": "511723"
+ },
+ {
+ "label": "大竹县",
+ "value": "511724"
+ },
+ {
+ "label": "渠县",
+ "value": "511725"
+ },
+ {
+ "label": "达州经济开发区",
+ "value": "511771"
+ },
+ {
+ "label": "万源市",
+ "value": "511781"
+ }
+ ],
+ [{
+ "label": "雨城区",
+ "value": "511802"
+ },
+ {
+ "label": "名山区",
+ "value": "511803"
+ },
+ {
+ "label": "荥经县",
+ "value": "511822"
+ },
+ {
+ "label": "汉源县",
+ "value": "511823"
+ },
+ {
+ "label": "石棉县",
+ "value": "511824"
+ },
+ {
+ "label": "天全县",
+ "value": "511825"
+ },
+ {
+ "label": "芦山县",
+ "value": "511826"
+ },
+ {
+ "label": "宝兴县",
+ "value": "511827"
+ }
+ ],
+ [{
+ "label": "巴州区",
+ "value": "511902"
+ },
+ {
+ "label": "恩阳区",
+ "value": "511903"
+ },
+ {
+ "label": "通江县",
+ "value": "511921"
+ },
+ {
+ "label": "南江县",
+ "value": "511922"
+ },
+ {
+ "label": "平昌县",
+ "value": "511923"
+ },
+ {
+ "label": "巴中经济开发区",
+ "value": "511971"
+ }
+ ],
+ [{
+ "label": "雁江区",
+ "value": "512002"
+ },
+ {
+ "label": "安岳县",
+ "value": "512021"
+ },
+ {
+ "label": "乐至县",
+ "value": "512022"
+ }
+ ],
+ [{
+ "label": "马尔康市",
+ "value": "513201"
+ },
+ {
+ "label": "汶川县",
+ "value": "513221"
+ },
+ {
+ "label": "理县",
+ "value": "513222"
+ },
+ {
+ "label": "茂县",
+ "value": "513223"
+ },
+ {
+ "label": "松潘县",
+ "value": "513224"
+ },
+ {
+ "label": "九寨沟县",
+ "value": "513225"
+ },
+ {
+ "label": "金川县",
+ "value": "513226"
+ },
+ {
+ "label": "小金县",
+ "value": "513227"
+ },
+ {
+ "label": "黑水县",
+ "value": "513228"
+ },
+ {
+ "label": "壤塘县",
+ "value": "513230"
+ },
+ {
+ "label": "阿坝县",
+ "value": "513231"
+ },
+ {
+ "label": "若尔盖县",
+ "value": "513232"
+ },
+ {
+ "label": "红原县",
+ "value": "513233"
+ }
+ ],
+ [{
+ "label": "康定市",
+ "value": "513301"
+ },
+ {
+ "label": "泸定县",
+ "value": "513322"
+ },
+ {
+ "label": "丹巴县",
+ "value": "513323"
+ },
+ {
+ "label": "九龙县",
+ "value": "513324"
+ },
+ {
+ "label": "雅江县",
+ "value": "513325"
+ },
+ {
+ "label": "道孚县",
+ "value": "513326"
+ },
+ {
+ "label": "炉霍县",
+ "value": "513327"
+ },
+ {
+ "label": "甘孜县",
+ "value": "513328"
+ },
+ {
+ "label": "新龙县",
+ "value": "513329"
+ },
+ {
+ "label": "德格县",
+ "value": "513330"
+ },
+ {
+ "label": "白玉县",
+ "value": "513331"
+ },
+ {
+ "label": "石渠县",
+ "value": "513332"
+ },
+ {
+ "label": "色达县",
+ "value": "513333"
+ },
+ {
+ "label": "理塘县",
+ "value": "513334"
+ },
+ {
+ "label": "巴塘县",
+ "value": "513335"
+ },
+ {
+ "label": "乡城县",
+ "value": "513336"
+ },
+ {
+ "label": "稻城县",
+ "value": "513337"
+ },
+ {
+ "label": "得荣县",
+ "value": "513338"
+ }
+ ],
+ [{
+ "label": "西昌市",
+ "value": "513401"
+ },
+ {
+ "label": "木里藏族自治县",
+ "value": "513422"
+ },
+ {
+ "label": "盐源县",
+ "value": "513423"
+ },
+ {
+ "label": "德昌县",
+ "value": "513424"
+ },
+ {
+ "label": "会理县",
+ "value": "513425"
+ },
+ {
+ "label": "会东县",
+ "value": "513426"
+ },
+ {
+ "label": "宁南县",
+ "value": "513427"
+ },
+ {
+ "label": "普格县",
+ "value": "513428"
+ },
+ {
+ "label": "布拖县",
+ "value": "513429"
+ },
+ {
+ "label": "金阳县",
+ "value": "513430"
+ },
+ {
+ "label": "昭觉县",
+ "value": "513431"
+ },
+ {
+ "label": "喜德县",
+ "value": "513432"
+ },
+ {
+ "label": "冕宁县",
+ "value": "513433"
+ },
+ {
+ "label": "越西县",
+ "value": "513434"
+ },
+ {
+ "label": "甘洛县",
+ "value": "513435"
+ },
+ {
+ "label": "美姑县",
+ "value": "513436"
+ },
+ {
+ "label": "雷波县",
+ "value": "513437"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "南明区",
+ "value": "520102"
+ },
+ {
+ "label": "云岩区",
+ "value": "520103"
+ },
+ {
+ "label": "花溪区",
+ "value": "520111"
+ },
+ {
+ "label": "乌当区",
+ "value": "520112"
+ },
+ {
+ "label": "白云区",
+ "value": "520113"
+ },
+ {
+ "label": "观山湖区",
+ "value": "520115"
+ },
+ {
+ "label": "开阳县",
+ "value": "520121"
+ },
+ {
+ "label": "息烽县",
+ "value": "520122"
+ },
+ {
+ "label": "修文县",
+ "value": "520123"
+ },
+ {
+ "label": "清镇市",
+ "value": "520181"
+ }
+ ],
+ [{
+ "label": "钟山区",
+ "value": "520201"
+ },
+ {
+ "label": "六枝特区",
+ "value": "520203"
+ },
+ {
+ "label": "水城县",
+ "value": "520221"
+ },
+ {
+ "label": "盘州市",
+ "value": "520281"
+ }
+ ],
+ [{
+ "label": "红花岗区",
+ "value": "520302"
+ },
+ {
+ "label": "汇川区",
+ "value": "520303"
+ },
+ {
+ "label": "播州区",
+ "value": "520304"
+ },
+ {
+ "label": "桐梓县",
+ "value": "520322"
+ },
+ {
+ "label": "绥阳县",
+ "value": "520323"
+ },
+ {
+ "label": "正安县",
+ "value": "520324"
+ },
+ {
+ "label": "道真仡佬族苗族自治县",
+ "value": "520325"
+ },
+ {
+ "label": "务川仡佬族苗族自治县",
+ "value": "520326"
+ },
+ {
+ "label": "凤冈县",
+ "value": "520327"
+ },
+ {
+ "label": "湄潭县",
+ "value": "520328"
+ },
+ {
+ "label": "余庆县",
+ "value": "520329"
+ },
+ {
+ "label": "习水县",
+ "value": "520330"
+ },
+ {
+ "label": "赤水市",
+ "value": "520381"
+ },
+ {
+ "label": "仁怀市",
+ "value": "520382"
+ }
+ ],
+ [{
+ "label": "西秀区",
+ "value": "520402"
+ },
+ {
+ "label": "平坝区",
+ "value": "520403"
+ },
+ {
+ "label": "普定县",
+ "value": "520422"
+ },
+ {
+ "label": "镇宁布依族苗族自治县",
+ "value": "520423"
+ },
+ {
+ "label": "关岭布依族苗族自治县",
+ "value": "520424"
+ },
+ {
+ "label": "紫云苗族布依族自治县",
+ "value": "520425"
+ }
+ ],
+ [{
+ "label": "七星关区",
+ "value": "520502"
+ },
+ {
+ "label": "大方县",
+ "value": "520521"
+ },
+ {
+ "label": "黔西县",
+ "value": "520522"
+ },
+ {
+ "label": "金沙县",
+ "value": "520523"
+ },
+ {
+ "label": "织金县",
+ "value": "520524"
+ },
+ {
+ "label": "纳雍县",
+ "value": "520525"
+ },
+ {
+ "label": "威宁彝族回族苗族自治县",
+ "value": "520526"
+ },
+ {
+ "label": "赫章县",
+ "value": "520527"
+ }
+ ],
+ [{
+ "label": "碧江区",
+ "value": "520602"
+ },
+ {
+ "label": "万山区",
+ "value": "520603"
+ },
+ {
+ "label": "江口县",
+ "value": "520621"
+ },
+ {
+ "label": "玉屏侗族自治县",
+ "value": "520622"
+ },
+ {
+ "label": "石阡县",
+ "value": "520623"
+ },
+ {
+ "label": "思南县",
+ "value": "520624"
+ },
+ {
+ "label": "印江土家族苗族自治县",
+ "value": "520625"
+ },
+ {
+ "label": "德江县",
+ "value": "520626"
+ },
+ {
+ "label": "沿河土家族自治县",
+ "value": "520627"
+ },
+ {
+ "label": "松桃苗族自治县",
+ "value": "520628"
+ }
+ ],
+ [{
+ "label": "兴义市",
+ "value": "522301"
+ },
+ {
+ "label": "兴仁县",
+ "value": "522322"
+ },
+ {
+ "label": "普安县",
+ "value": "522323"
+ },
+ {
+ "label": "晴隆县",
+ "value": "522324"
+ },
+ {
+ "label": "贞丰县",
+ "value": "522325"
+ },
+ {
+ "label": "望谟县",
+ "value": "522326"
+ },
+ {
+ "label": "册亨县",
+ "value": "522327"
+ },
+ {
+ "label": "安龙县",
+ "value": "522328"
+ }
+ ],
+ [{
+ "label": "凯里市",
+ "value": "522601"
+ },
+ {
+ "label": "黄平县",
+ "value": "522622"
+ },
+ {
+ "label": "施秉县",
+ "value": "522623"
+ },
+ {
+ "label": "三穗县",
+ "value": "522624"
+ },
+ {
+ "label": "镇远县",
+ "value": "522625"
+ },
+ {
+ "label": "岑巩县",
+ "value": "522626"
+ },
+ {
+ "label": "天柱县",
+ "value": "522627"
+ },
+ {
+ "label": "锦屏县",
+ "value": "522628"
+ },
+ {
+ "label": "剑河县",
+ "value": "522629"
+ },
+ {
+ "label": "台江县",
+ "value": "522630"
+ },
+ {
+ "label": "黎平县",
+ "value": "522631"
+ },
+ {
+ "label": "榕江县",
+ "value": "522632"
+ },
+ {
+ "label": "从江县",
+ "value": "522633"
+ },
+ {
+ "label": "雷山县",
+ "value": "522634"
+ },
+ {
+ "label": "麻江县",
+ "value": "522635"
+ },
+ {
+ "label": "丹寨县",
+ "value": "522636"
+ }
+ ],
+ [{
+ "label": "都匀市",
+ "value": "522701"
+ },
+ {
+ "label": "福泉市",
+ "value": "522702"
+ },
+ {
+ "label": "荔波县",
+ "value": "522722"
+ },
+ {
+ "label": "贵定县",
+ "value": "522723"
+ },
+ {
+ "label": "瓮安县",
+ "value": "522725"
+ },
+ {
+ "label": "独山县",
+ "value": "522726"
+ },
+ {
+ "label": "平塘县",
+ "value": "522727"
+ },
+ {
+ "label": "罗甸县",
+ "value": "522728"
+ },
+ {
+ "label": "长顺县",
+ "value": "522729"
+ },
+ {
+ "label": "龙里县",
+ "value": "522730"
+ },
+ {
+ "label": "惠水县",
+ "value": "522731"
+ },
+ {
+ "label": "三都水族自治县",
+ "value": "522732"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "五华区",
+ "value": "530102"
+ },
+ {
+ "label": "盘龙区",
+ "value": "530103"
+ },
+ {
+ "label": "官渡区",
+ "value": "530111"
+ },
+ {
+ "label": "西山区",
+ "value": "530112"
+ },
+ {
+ "label": "东川区",
+ "value": "530113"
+ },
+ {
+ "label": "呈贡区",
+ "value": "530114"
+ },
+ {
+ "label": "晋宁区",
+ "value": "530115"
+ },
+ {
+ "label": "富民县",
+ "value": "530124"
+ },
+ {
+ "label": "宜良县",
+ "value": "530125"
+ },
+ {
+ "label": "石林彝族自治县",
+ "value": "530126"
+ },
+ {
+ "label": "嵩明县",
+ "value": "530127"
+ },
+ {
+ "label": "禄劝彝族苗族自治县",
+ "value": "530128"
+ },
+ {
+ "label": "寻甸回族彝族自治县",
+ "value": "530129"
+ },
+ {
+ "label": "安宁市",
+ "value": "530181"
+ }
+ ],
+ [{
+ "label": "麒麟区",
+ "value": "530302"
+ },
+ {
+ "label": "沾益区",
+ "value": "530303"
+ },
+ {
+ "label": "马龙县",
+ "value": "530321"
+ },
+ {
+ "label": "陆良县",
+ "value": "530322"
+ },
+ {
+ "label": "师宗县",
+ "value": "530323"
+ },
+ {
+ "label": "罗平县",
+ "value": "530324"
+ },
+ {
+ "label": "富源县",
+ "value": "530325"
+ },
+ {
+ "label": "会泽县",
+ "value": "530326"
+ },
+ {
+ "label": "宣威市",
+ "value": "530381"
+ }
+ ],
+ [{
+ "label": "红塔区",
+ "value": "530402"
+ },
+ {
+ "label": "江川区",
+ "value": "530403"
+ },
+ {
+ "label": "澄江县",
+ "value": "530422"
+ },
+ {
+ "label": "通海县",
+ "value": "530423"
+ },
+ {
+ "label": "华宁县",
+ "value": "530424"
+ },
+ {
+ "label": "易门县",
+ "value": "530425"
+ },
+ {
+ "label": "峨山彝族自治县",
+ "value": "530426"
+ },
+ {
+ "label": "新平彝族傣族自治县",
+ "value": "530427"
+ },
+ {
+ "label": "元江哈尼族彝族傣族自治县",
+ "value": "530428"
+ }
+ ],
+ [{
+ "label": "隆阳区",
+ "value": "530502"
+ },
+ {
+ "label": "施甸县",
+ "value": "530521"
+ },
+ {
+ "label": "龙陵县",
+ "value": "530523"
+ },
+ {
+ "label": "昌宁县",
+ "value": "530524"
+ },
+ {
+ "label": "腾冲市",
+ "value": "530581"
+ }
+ ],
+ [{
+ "label": "昭阳区",
+ "value": "530602"
+ },
+ {
+ "label": "鲁甸县",
+ "value": "530621"
+ },
+ {
+ "label": "巧家县",
+ "value": "530622"
+ },
+ {
+ "label": "盐津县",
+ "value": "530623"
+ },
+ {
+ "label": "大关县",
+ "value": "530624"
+ },
+ {
+ "label": "永善县",
+ "value": "530625"
+ },
+ {
+ "label": "绥江县",
+ "value": "530626"
+ },
+ {
+ "label": "镇雄县",
+ "value": "530627"
+ },
+ {
+ "label": "彝良县",
+ "value": "530628"
+ },
+ {
+ "label": "威信县",
+ "value": "530629"
+ },
+ {
+ "label": "水富县",
+ "value": "530630"
+ }
+ ],
+ [{
+ "label": "古城区",
+ "value": "530702"
+ },
+ {
+ "label": "玉龙纳西族自治县",
+ "value": "530721"
+ },
+ {
+ "label": "永胜县",
+ "value": "530722"
+ },
+ {
+ "label": "华坪县",
+ "value": "530723"
+ },
+ {
+ "label": "宁蒗彝族自治县",
+ "value": "530724"
+ }
+ ],
+ [{
+ "label": "思茅区",
+ "value": "530802"
+ },
+ {
+ "label": "宁洱哈尼族彝族自治县",
+ "value": "530821"
+ },
+ {
+ "label": "墨江哈尼族自治县",
+ "value": "530822"
+ },
+ {
+ "label": "景东彝族自治县",
+ "value": "530823"
+ },
+ {
+ "label": "景谷傣族彝族自治县",
+ "value": "530824"
+ },
+ {
+ "label": "镇沅彝族哈尼族拉祜族自治县",
+ "value": "530825"
+ },
+ {
+ "label": "江城哈尼族彝族自治县",
+ "value": "530826"
+ },
+ {
+ "label": "孟连傣族拉祜族佤族自治县",
+ "value": "530827"
+ },
+ {
+ "label": "澜沧拉祜族自治县",
+ "value": "530828"
+ },
+ {
+ "label": "西盟佤族自治县",
+ "value": "530829"
+ }
+ ],
+ [{
+ "label": "临翔区",
+ "value": "530902"
+ },
+ {
+ "label": "凤庆县",
+ "value": "530921"
+ },
+ {
+ "label": "云县",
+ "value": "530922"
+ },
+ {
+ "label": "永德县",
+ "value": "530923"
+ },
+ {
+ "label": "镇康县",
+ "value": "530924"
+ },
+ {
+ "label": "双江拉祜族佤族布朗族傣族自治县",
+ "value": "530925"
+ },
+ {
+ "label": "耿马傣族佤族自治县",
+ "value": "530926"
+ },
+ {
+ "label": "沧源佤族自治县",
+ "value": "530927"
+ }
+ ],
+ [{
+ "label": "楚雄市",
+ "value": "532301"
+ },
+ {
+ "label": "双柏县",
+ "value": "532322"
+ },
+ {
+ "label": "牟定县",
+ "value": "532323"
+ },
+ {
+ "label": "南华县",
+ "value": "532324"
+ },
+ {
+ "label": "姚安县",
+ "value": "532325"
+ },
+ {
+ "label": "大姚县",
+ "value": "532326"
+ },
+ {
+ "label": "永仁县",
+ "value": "532327"
+ },
+ {
+ "label": "元谋县",
+ "value": "532328"
+ },
+ {
+ "label": "武定县",
+ "value": "532329"
+ },
+ {
+ "label": "禄丰县",
+ "value": "532331"
+ }
+ ],
+ [{
+ "label": "个旧市",
+ "value": "532501"
+ },
+ {
+ "label": "开远市",
+ "value": "532502"
+ },
+ {
+ "label": "蒙自市",
+ "value": "532503"
+ },
+ {
+ "label": "弥勒市",
+ "value": "532504"
+ },
+ {
+ "label": "屏边苗族自治县",
+ "value": "532523"
+ },
+ {
+ "label": "建水县",
+ "value": "532524"
+ },
+ {
+ "label": "石屏县",
+ "value": "532525"
+ },
+ {
+ "label": "泸西县",
+ "value": "532527"
+ },
+ {
+ "label": "元阳县",
+ "value": "532528"
+ },
+ {
+ "label": "红河县",
+ "value": "532529"
+ },
+ {
+ "label": "金平苗族瑶族傣族自治县",
+ "value": "532530"
+ },
+ {
+ "label": "绿春县",
+ "value": "532531"
+ },
+ {
+ "label": "河口瑶族自治县",
+ "value": "532532"
+ }
+ ],
+ [{
+ "label": "文山市",
+ "value": "532601"
+ },
+ {
+ "label": "砚山县",
+ "value": "532622"
+ },
+ {
+ "label": "西畴县",
+ "value": "532623"
+ },
+ {
+ "label": "麻栗坡县",
+ "value": "532624"
+ },
+ {
+ "label": "马关县",
+ "value": "532625"
+ },
+ {
+ "label": "丘北县",
+ "value": "532626"
+ },
+ {
+ "label": "广南县",
+ "value": "532627"
+ },
+ {
+ "label": "富宁县",
+ "value": "532628"
+ }
+ ],
+ [{
+ "label": "景洪市",
+ "value": "532801"
+ },
+ {
+ "label": "勐海县",
+ "value": "532822"
+ },
+ {
+ "label": "勐腊县",
+ "value": "532823"
+ }
+ ],
+ [{
+ "label": "大理市",
+ "value": "532901"
+ },
+ {
+ "label": "漾濞彝族自治县",
+ "value": "532922"
+ },
+ {
+ "label": "祥云县",
+ "value": "532923"
+ },
+ {
+ "label": "宾川县",
+ "value": "532924"
+ },
+ {
+ "label": "弥渡县",
+ "value": "532925"
+ },
+ {
+ "label": "南涧彝族自治县",
+ "value": "532926"
+ },
+ {
+ "label": "巍山彝族回族自治县",
+ "value": "532927"
+ },
+ {
+ "label": "永平县",
+ "value": "532928"
+ },
+ {
+ "label": "云龙县",
+ "value": "532929"
+ },
+ {
+ "label": "洱源县",
+ "value": "532930"
+ },
+ {
+ "label": "剑川县",
+ "value": "532931"
+ },
+ {
+ "label": "鹤庆县",
+ "value": "532932"
+ }
+ ],
+ [{
+ "label": "瑞丽市",
+ "value": "533102"
+ },
+ {
+ "label": "芒市",
+ "value": "533103"
+ },
+ {
+ "label": "梁河县",
+ "value": "533122"
+ },
+ {
+ "label": "盈江县",
+ "value": "533123"
+ },
+ {
+ "label": "陇川县",
+ "value": "533124"
+ }
+ ],
+ [{
+ "label": "泸水市",
+ "value": "533301"
+ },
+ {
+ "label": "福贡县",
+ "value": "533323"
+ },
+ {
+ "label": "贡山独龙族怒族自治县",
+ "value": "533324"
+ },
+ {
+ "label": "兰坪白族普米族自治县",
+ "value": "533325"
+ }
+ ],
+ [{
+ "label": "香格里拉市",
+ "value": "533401"
+ },
+ {
+ "label": "德钦县",
+ "value": "533422"
+ },
+ {
+ "label": "维西傈僳族自治县",
+ "value": "533423"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "城关区",
+ "value": "540102"
+ },
+ {
+ "label": "堆龙德庆区",
+ "value": "540103"
+ },
+ {
+ "label": "林周县",
+ "value": "540121"
+ },
+ {
+ "label": "当雄县",
+ "value": "540122"
+ },
+ {
+ "label": "尼木县",
+ "value": "540123"
+ },
+ {
+ "label": "曲水县",
+ "value": "540124"
+ },
+ {
+ "label": "达孜县",
+ "value": "540126"
+ },
+ {
+ "label": "墨竹工卡县",
+ "value": "540127"
+ },
+ {
+ "label": "格尔木藏青工业园区",
+ "value": "540171"
+ },
+ {
+ "label": "拉萨经济技术开发区",
+ "value": "540172"
+ },
+ {
+ "label": "西藏文化旅游创意园区",
+ "value": "540173"
+ },
+ {
+ "label": "达孜工业园区",
+ "value": "540174"
+ }
+ ],
+ [{
+ "label": "桑珠孜区",
+ "value": "540202"
+ },
+ {
+ "label": "南木林县",
+ "value": "540221"
+ },
+ {
+ "label": "江孜县",
+ "value": "540222"
+ },
+ {
+ "label": "定日县",
+ "value": "540223"
+ },
+ {
+ "label": "萨迦县",
+ "value": "540224"
+ },
+ {
+ "label": "拉孜县",
+ "value": "540225"
+ },
+ {
+ "label": "昂仁县",
+ "value": "540226"
+ },
+ {
+ "label": "谢通门县",
+ "value": "540227"
+ },
+ {
+ "label": "白朗县",
+ "value": "540228"
+ },
+ {
+ "label": "仁布县",
+ "value": "540229"
+ },
+ {
+ "label": "康马县",
+ "value": "540230"
+ },
+ {
+ "label": "定结县",
+ "value": "540231"
+ },
+ {
+ "label": "仲巴县",
+ "value": "540232"
+ },
+ {
+ "label": "亚东县",
+ "value": "540233"
+ },
+ {
+ "label": "吉隆县",
+ "value": "540234"
+ },
+ {
+ "label": "聂拉木县",
+ "value": "540235"
+ },
+ {
+ "label": "萨嘎县",
+ "value": "540236"
+ },
+ {
+ "label": "岗巴县",
+ "value": "540237"
+ }
+ ],
+ [{
+ "label": "卡若区",
+ "value": "540302"
+ },
+ {
+ "label": "江达县",
+ "value": "540321"
+ },
+ {
+ "label": "贡觉县",
+ "value": "540322"
+ },
+ {
+ "label": "类乌齐县",
+ "value": "540323"
+ },
+ {
+ "label": "丁青县",
+ "value": "540324"
+ },
+ {
+ "label": "察雅县",
+ "value": "540325"
+ },
+ {
+ "label": "八宿县",
+ "value": "540326"
+ },
+ {
+ "label": "左贡县",
+ "value": "540327"
+ },
+ {
+ "label": "芒康县",
+ "value": "540328"
+ },
+ {
+ "label": "洛隆县",
+ "value": "540329"
+ },
+ {
+ "label": "边坝县",
+ "value": "540330"
+ }
+ ],
+ [{
+ "label": "巴宜区",
+ "value": "540402"
+ },
+ {
+ "label": "工布江达县",
+ "value": "540421"
+ },
+ {
+ "label": "米林县",
+ "value": "540422"
+ },
+ {
+ "label": "墨脱县",
+ "value": "540423"
+ },
+ {
+ "label": "波密县",
+ "value": "540424"
+ },
+ {
+ "label": "察隅县",
+ "value": "540425"
+ },
+ {
+ "label": "朗县",
+ "value": "540426"
+ }
+ ],
+ [{
+ "label": "乃东区",
+ "value": "540502"
+ },
+ {
+ "label": "扎囊县",
+ "value": "540521"
+ },
+ {
+ "label": "贡嘎县",
+ "value": "540522"
+ },
+ {
+ "label": "桑日县",
+ "value": "540523"
+ },
+ {
+ "label": "琼结县",
+ "value": "540524"
+ },
+ {
+ "label": "曲松县",
+ "value": "540525"
+ },
+ {
+ "label": "措美县",
+ "value": "540526"
+ },
+ {
+ "label": "洛扎县",
+ "value": "540527"
+ },
+ {
+ "label": "加查县",
+ "value": "540528"
+ },
+ {
+ "label": "隆子县",
+ "value": "540529"
+ },
+ {
+ "label": "错那县",
+ "value": "540530"
+ },
+ {
+ "label": "浪卡子县",
+ "value": "540531"
+ }
+ ],
+ [{
+ "label": "那曲县",
+ "value": "542421"
+ },
+ {
+ "label": "嘉黎县",
+ "value": "542422"
+ },
+ {
+ "label": "比如县",
+ "value": "542423"
+ },
+ {
+ "label": "聂荣县",
+ "value": "542424"
+ },
+ {
+ "label": "安多县",
+ "value": "542425"
+ },
+ {
+ "label": "申扎县",
+ "value": "542426"
+ },
+ {
+ "label": "索县",
+ "value": "542427"
+ },
+ {
+ "label": "班戈县",
+ "value": "542428"
+ },
+ {
+ "label": "巴青县",
+ "value": "542429"
+ },
+ {
+ "label": "尼玛县",
+ "value": "542430"
+ },
+ {
+ "label": "双湖县",
+ "value": "542431"
+ }
+ ],
+ [{
+ "label": "普兰县",
+ "value": "542521"
+ },
+ {
+ "label": "札达县",
+ "value": "542522"
+ },
+ {
+ "label": "噶尔县",
+ "value": "542523"
+ },
+ {
+ "label": "日土县",
+ "value": "542524"
+ },
+ {
+ "label": "革吉县",
+ "value": "542525"
+ },
+ {
+ "label": "改则县",
+ "value": "542526"
+ },
+ {
+ "label": "措勤县",
+ "value": "542527"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "新城区",
+ "value": "610102"
+ },
+ {
+ "label": "碑林区",
+ "value": "610103"
+ },
+ {
+ "label": "莲湖区",
+ "value": "610104"
+ },
+ {
+ "label": "灞桥区",
+ "value": "610111"
+ },
+ {
+ "label": "未央区",
+ "value": "610112"
+ },
+ {
+ "label": "雁塔区",
+ "value": "610113"
+ },
+ {
+ "label": "阎良区",
+ "value": "610114"
+ },
+ {
+ "label": "临潼区",
+ "value": "610115"
+ },
+ {
+ "label": "长安区",
+ "value": "610116"
+ },
+ {
+ "label": "高陵区",
+ "value": "610117"
+ },
+ {
+ "label": "鄠邑区",
+ "value": "610118"
+ },
+ {
+ "label": "蓝田县",
+ "value": "610122"
+ },
+ {
+ "label": "周至县",
+ "value": "610124"
+ }
+ ],
+ [{
+ "label": "王益区",
+ "value": "610202"
+ },
+ {
+ "label": "印台区",
+ "value": "610203"
+ },
+ {
+ "label": "耀州区",
+ "value": "610204"
+ },
+ {
+ "label": "宜君县",
+ "value": "610222"
+ }
+ ],
+ [{
+ "label": "渭滨区",
+ "value": "610302"
+ },
+ {
+ "label": "金台区",
+ "value": "610303"
+ },
+ {
+ "label": "陈仓区",
+ "value": "610304"
+ },
+ {
+ "label": "凤翔县",
+ "value": "610322"
+ },
+ {
+ "label": "岐山县",
+ "value": "610323"
+ },
+ {
+ "label": "扶风县",
+ "value": "610324"
+ },
+ {
+ "label": "眉县",
+ "value": "610326"
+ },
+ {
+ "label": "陇县",
+ "value": "610327"
+ },
+ {
+ "label": "千阳县",
+ "value": "610328"
+ },
+ {
+ "label": "麟游县",
+ "value": "610329"
+ },
+ {
+ "label": "凤县",
+ "value": "610330"
+ },
+ {
+ "label": "太白县",
+ "value": "610331"
+ }
+ ],
+ [{
+ "label": "秦都区",
+ "value": "610402"
+ },
+ {
+ "label": "杨陵区",
+ "value": "610403"
+ },
+ {
+ "label": "渭城区",
+ "value": "610404"
+ },
+ {
+ "label": "三原县",
+ "value": "610422"
+ },
+ {
+ "label": "泾阳县",
+ "value": "610423"
+ },
+ {
+ "label": "乾县",
+ "value": "610424"
+ },
+ {
+ "label": "礼泉县",
+ "value": "610425"
+ },
+ {
+ "label": "永寿县",
+ "value": "610426"
+ },
+ {
+ "label": "彬县",
+ "value": "610427"
+ },
+ {
+ "label": "长武县",
+ "value": "610428"
+ },
+ {
+ "label": "旬邑县",
+ "value": "610429"
+ },
+ {
+ "label": "淳化县",
+ "value": "610430"
+ },
+ {
+ "label": "武功县",
+ "value": "610431"
+ },
+ {
+ "label": "兴平市",
+ "value": "610481"
+ }
+ ],
+ [{
+ "label": "临渭区",
+ "value": "610502"
+ },
+ {
+ "label": "华州区",
+ "value": "610503"
+ },
+ {
+ "label": "潼关县",
+ "value": "610522"
+ },
+ {
+ "label": "大荔县",
+ "value": "610523"
+ },
+ {
+ "label": "合阳县",
+ "value": "610524"
+ },
+ {
+ "label": "澄城县",
+ "value": "610525"
+ },
+ {
+ "label": "蒲城县",
+ "value": "610526"
+ },
+ {
+ "label": "白水县",
+ "value": "610527"
+ },
+ {
+ "label": "富平县",
+ "value": "610528"
+ },
+ {
+ "label": "韩城市",
+ "value": "610581"
+ },
+ {
+ "label": "华阴市",
+ "value": "610582"
+ }
+ ],
+ [{
+ "label": "宝塔区",
+ "value": "610602"
+ },
+ {
+ "label": "安塞区",
+ "value": "610603"
+ },
+ {
+ "label": "延长县",
+ "value": "610621"
+ },
+ {
+ "label": "延川县",
+ "value": "610622"
+ },
+ {
+ "label": "子长县",
+ "value": "610623"
+ },
+ {
+ "label": "志丹县",
+ "value": "610625"
+ },
+ {
+ "label": "吴起县",
+ "value": "610626"
+ },
+ {
+ "label": "甘泉县",
+ "value": "610627"
+ },
+ {
+ "label": "富县",
+ "value": "610628"
+ },
+ {
+ "label": "洛川县",
+ "value": "610629"
+ },
+ {
+ "label": "宜川县",
+ "value": "610630"
+ },
+ {
+ "label": "黄龙县",
+ "value": "610631"
+ },
+ {
+ "label": "黄陵县",
+ "value": "610632"
+ }
+ ],
+ [{
+ "label": "汉台区",
+ "value": "610702"
+ },
+ {
+ "label": "南郑区",
+ "value": "610703"
+ },
+ {
+ "label": "城固县",
+ "value": "610722"
+ },
+ {
+ "label": "洋县",
+ "value": "610723"
+ },
+ {
+ "label": "西乡县",
+ "value": "610724"
+ },
+ {
+ "label": "勉县",
+ "value": "610725"
+ },
+ {
+ "label": "宁强县",
+ "value": "610726"
+ },
+ {
+ "label": "略阳县",
+ "value": "610727"
+ },
+ {
+ "label": "镇巴县",
+ "value": "610728"
+ },
+ {
+ "label": "留坝县",
+ "value": "610729"
+ },
+ {
+ "label": "佛坪县",
+ "value": "610730"
+ }
+ ],
+ [{
+ "label": "榆阳区",
+ "value": "610802"
+ },
+ {
+ "label": "横山区",
+ "value": "610803"
+ },
+ {
+ "label": "府谷县",
+ "value": "610822"
+ },
+ {
+ "label": "靖边县",
+ "value": "610824"
+ },
+ {
+ "label": "定边县",
+ "value": "610825"
+ },
+ {
+ "label": "绥德县",
+ "value": "610826"
+ },
+ {
+ "label": "米脂县",
+ "value": "610827"
+ },
+ {
+ "label": "佳县",
+ "value": "610828"
+ },
+ {
+ "label": "吴堡县",
+ "value": "610829"
+ },
+ {
+ "label": "清涧县",
+ "value": "610830"
+ },
+ {
+ "label": "子洲县",
+ "value": "610831"
+ },
+ {
+ "label": "神木市",
+ "value": "610881"
+ }
+ ],
+ [{
+ "label": "汉滨区",
+ "value": "610902"
+ },
+ {
+ "label": "汉阴县",
+ "value": "610921"
+ },
+ {
+ "label": "石泉县",
+ "value": "610922"
+ },
+ {
+ "label": "宁陕县",
+ "value": "610923"
+ },
+ {
+ "label": "紫阳县",
+ "value": "610924"
+ },
+ {
+ "label": "岚皋县",
+ "value": "610925"
+ },
+ {
+ "label": "平利县",
+ "value": "610926"
+ },
+ {
+ "label": "镇坪县",
+ "value": "610927"
+ },
+ {
+ "label": "旬阳县",
+ "value": "610928"
+ },
+ {
+ "label": "白河县",
+ "value": "610929"
+ }
+ ],
+ [{
+ "label": "商州区",
+ "value": "611002"
+ },
+ {
+ "label": "洛南县",
+ "value": "611021"
+ },
+ {
+ "label": "丹凤县",
+ "value": "611022"
+ },
+ {
+ "label": "商南县",
+ "value": "611023"
+ },
+ {
+ "label": "山阳县",
+ "value": "611024"
+ },
+ {
+ "label": "镇安县",
+ "value": "611025"
+ },
+ {
+ "label": "柞水县",
+ "value": "611026"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "城关区",
+ "value": "620102"
+ },
+ {
+ "label": "七里河区",
+ "value": "620103"
+ },
+ {
+ "label": "西固区",
+ "value": "620104"
+ },
+ {
+ "label": "安宁区",
+ "value": "620105"
+ },
+ {
+ "label": "红古区",
+ "value": "620111"
+ },
+ {
+ "label": "永登县",
+ "value": "620121"
+ },
+ {
+ "label": "皋兰县",
+ "value": "620122"
+ },
+ {
+ "label": "榆中县",
+ "value": "620123"
+ },
+ {
+ "label": "兰州新区",
+ "value": "620171"
+ }
+ ],
+ [{
+ "label": "嘉峪关市",
+ "value": "620201"
+ }],
+ [{
+ "label": "金川区",
+ "value": "620302"
+ },
+ {
+ "label": "永昌县",
+ "value": "620321"
+ }
+ ],
+ [{
+ "label": "白银区",
+ "value": "620402"
+ },
+ {
+ "label": "平川区",
+ "value": "620403"
+ },
+ {
+ "label": "靖远县",
+ "value": "620421"
+ },
+ {
+ "label": "会宁县",
+ "value": "620422"
+ },
+ {
+ "label": "景泰县",
+ "value": "620423"
+ }
+ ],
+ [{
+ "label": "秦州区",
+ "value": "620502"
+ },
+ {
+ "label": "麦积区",
+ "value": "620503"
+ },
+ {
+ "label": "清水县",
+ "value": "620521"
+ },
+ {
+ "label": "秦安县",
+ "value": "620522"
+ },
+ {
+ "label": "甘谷县",
+ "value": "620523"
+ },
+ {
+ "label": "武山县",
+ "value": "620524"
+ },
+ {
+ "label": "张家川回族自治县",
+ "value": "620525"
+ }
+ ],
+ [{
+ "label": "凉州区",
+ "value": "620602"
+ },
+ {
+ "label": "民勤县",
+ "value": "620621"
+ },
+ {
+ "label": "古浪县",
+ "value": "620622"
+ },
+ {
+ "label": "天祝藏族自治县",
+ "value": "620623"
+ }
+ ],
+ [{
+ "label": "甘州区",
+ "value": "620702"
+ },
+ {
+ "label": "肃南裕固族自治县",
+ "value": "620721"
+ },
+ {
+ "label": "民乐县",
+ "value": "620722"
+ },
+ {
+ "label": "临泽县",
+ "value": "620723"
+ },
+ {
+ "label": "高台县",
+ "value": "620724"
+ },
+ {
+ "label": "山丹县",
+ "value": "620725"
+ }
+ ],
+ [{
+ "label": "崆峒区",
+ "value": "620802"
+ },
+ {
+ "label": "泾川县",
+ "value": "620821"
+ },
+ {
+ "label": "灵台县",
+ "value": "620822"
+ },
+ {
+ "label": "崇信县",
+ "value": "620823"
+ },
+ {
+ "label": "华亭县",
+ "value": "620824"
+ },
+ {
+ "label": "庄浪县",
+ "value": "620825"
+ },
+ {
+ "label": "静宁县",
+ "value": "620826"
+ },
+ {
+ "label": "平凉工业园区",
+ "value": "620871"
+ }
+ ],
+ [{
+ "label": "肃州区",
+ "value": "620902"
+ },
+ {
+ "label": "金塔县",
+ "value": "620921"
+ },
+ {
+ "label": "瓜州县",
+ "value": "620922"
+ },
+ {
+ "label": "肃北蒙古族自治县",
+ "value": "620923"
+ },
+ {
+ "label": "阿克塞哈萨克族自治县",
+ "value": "620924"
+ },
+ {
+ "label": "玉门市",
+ "value": "620981"
+ },
+ {
+ "label": "敦煌市",
+ "value": "620982"
+ }
+ ],
+ [{
+ "label": "西峰区",
+ "value": "621002"
+ },
+ {
+ "label": "庆城县",
+ "value": "621021"
+ },
+ {
+ "label": "环县",
+ "value": "621022"
+ },
+ {
+ "label": "华池县",
+ "value": "621023"
+ },
+ {
+ "label": "合水县",
+ "value": "621024"
+ },
+ {
+ "label": "正宁县",
+ "value": "621025"
+ },
+ {
+ "label": "宁县",
+ "value": "621026"
+ },
+ {
+ "label": "镇原县",
+ "value": "621027"
+ }
+ ],
+ [{
+ "label": "安定区",
+ "value": "621102"
+ },
+ {
+ "label": "通渭县",
+ "value": "621121"
+ },
+ {
+ "label": "陇西县",
+ "value": "621122"
+ },
+ {
+ "label": "渭源县",
+ "value": "621123"
+ },
+ {
+ "label": "临洮县",
+ "value": "621124"
+ },
+ {
+ "label": "漳县",
+ "value": "621125"
+ },
+ {
+ "label": "岷县",
+ "value": "621126"
+ }
+ ],
+ [{
+ "label": "武都区",
+ "value": "621202"
+ },
+ {
+ "label": "成县",
+ "value": "621221"
+ },
+ {
+ "label": "文县",
+ "value": "621222"
+ },
+ {
+ "label": "宕昌县",
+ "value": "621223"
+ },
+ {
+ "label": "康县",
+ "value": "621224"
+ },
+ {
+ "label": "西和县",
+ "value": "621225"
+ },
+ {
+ "label": "礼县",
+ "value": "621226"
+ },
+ {
+ "label": "徽县",
+ "value": "621227"
+ },
+ {
+ "label": "两当县",
+ "value": "621228"
+ }
+ ],
+ [{
+ "label": "临夏市",
+ "value": "622901"
+ },
+ {
+ "label": "临夏县",
+ "value": "622921"
+ },
+ {
+ "label": "康乐县",
+ "value": "622922"
+ },
+ {
+ "label": "永靖县",
+ "value": "622923"
+ },
+ {
+ "label": "广河县",
+ "value": "622924"
+ },
+ {
+ "label": "和政县",
+ "value": "622925"
+ },
+ {
+ "label": "东乡族自治县",
+ "value": "622926"
+ },
+ {
+ "label": "积石山保安族东乡族撒拉族自治县",
+ "value": "622927"
+ }
+ ],
+ [{
+ "label": "合作市",
+ "value": "623001"
+ },
+ {
+ "label": "临潭县",
+ "value": "623021"
+ },
+ {
+ "label": "卓尼县",
+ "value": "623022"
+ },
+ {
+ "label": "舟曲县",
+ "value": "623023"
+ },
+ {
+ "label": "迭部县",
+ "value": "623024"
+ },
+ {
+ "label": "玛曲县",
+ "value": "623025"
+ },
+ {
+ "label": "碌曲县",
+ "value": "623026"
+ },
+ {
+ "label": "夏河县",
+ "value": "623027"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "城东区",
+ "value": "630102"
+ },
+ {
+ "label": "城中区",
+ "value": "630103"
+ },
+ {
+ "label": "城西区",
+ "value": "630104"
+ },
+ {
+ "label": "城北区",
+ "value": "630105"
+ },
+ {
+ "label": "大通回族土族自治县",
+ "value": "630121"
+ },
+ {
+ "label": "湟中县",
+ "value": "630122"
+ },
+ {
+ "label": "湟源县",
+ "value": "630123"
+ }
+ ],
+ [{
+ "label": "乐都区",
+ "value": "630202"
+ },
+ {
+ "label": "平安区",
+ "value": "630203"
+ },
+ {
+ "label": "民和回族土族自治县",
+ "value": "630222"
+ },
+ {
+ "label": "互助土族自治县",
+ "value": "630223"
+ },
+ {
+ "label": "化隆回族自治县",
+ "value": "630224"
+ },
+ {
+ "label": "循化撒拉族自治县",
+ "value": "630225"
+ }
+ ],
+ [{
+ "label": "门源回族自治县",
+ "value": "632221"
+ },
+ {
+ "label": "祁连县",
+ "value": "632222"
+ },
+ {
+ "label": "海晏县",
+ "value": "632223"
+ },
+ {
+ "label": "刚察县",
+ "value": "632224"
+ }
+ ],
+ [{
+ "label": "同仁县",
+ "value": "632321"
+ },
+ {
+ "label": "尖扎县",
+ "value": "632322"
+ },
+ {
+ "label": "泽库县",
+ "value": "632323"
+ },
+ {
+ "label": "河南蒙古族自治县",
+ "value": "632324"
+ }
+ ],
+ [{
+ "label": "共和县",
+ "value": "632521"
+ },
+ {
+ "label": "同德县",
+ "value": "632522"
+ },
+ {
+ "label": "贵德县",
+ "value": "632523"
+ },
+ {
+ "label": "兴海县",
+ "value": "632524"
+ },
+ {
+ "label": "贵南县",
+ "value": "632525"
+ }
+ ],
+ [{
+ "label": "玛沁县",
+ "value": "632621"
+ },
+ {
+ "label": "班玛县",
+ "value": "632622"
+ },
+ {
+ "label": "甘德县",
+ "value": "632623"
+ },
+ {
+ "label": "达日县",
+ "value": "632624"
+ },
+ {
+ "label": "久治县",
+ "value": "632625"
+ },
+ {
+ "label": "玛多县",
+ "value": "632626"
+ }
+ ],
+ [{
+ "label": "玉树市",
+ "value": "632701"
+ },
+ {
+ "label": "杂多县",
+ "value": "632722"
+ },
+ {
+ "label": "称多县",
+ "value": "632723"
+ },
+ {
+ "label": "治多县",
+ "value": "632724"
+ },
+ {
+ "label": "囊谦县",
+ "value": "632725"
+ },
+ {
+ "label": "曲麻莱县",
+ "value": "632726"
+ }
+ ],
+ [{
+ "label": "格尔木市",
+ "value": "632801"
+ },
+ {
+ "label": "德令哈市",
+ "value": "632802"
+ },
+ {
+ "label": "乌兰县",
+ "value": "632821"
+ },
+ {
+ "label": "都兰县",
+ "value": "632822"
+ },
+ {
+ "label": "天峻县",
+ "value": "632823"
+ },
+ {
+ "label": "大柴旦行政委员会",
+ "value": "632857"
+ },
+ {
+ "label": "冷湖行政委员会",
+ "value": "632858"
+ },
+ {
+ "label": "茫崖行政委员会",
+ "value": "632859"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "兴庆区",
+ "value": "640104"
+ },
+ {
+ "label": "西夏区",
+ "value": "640105"
+ },
+ {
+ "label": "金凤区",
+ "value": "640106"
+ },
+ {
+ "label": "永宁县",
+ "value": "640121"
+ },
+ {
+ "label": "贺兰县",
+ "value": "640122"
+ },
+ {
+ "label": "灵武市",
+ "value": "640181"
+ }
+ ],
+ [{
+ "label": "大武口区",
+ "value": "640202"
+ },
+ {
+ "label": "惠农区",
+ "value": "640205"
+ },
+ {
+ "label": "平罗县",
+ "value": "640221"
+ }
+ ],
+ [{
+ "label": "利通区",
+ "value": "640302"
+ },
+ {
+ "label": "红寺堡区",
+ "value": "640303"
+ },
+ {
+ "label": "盐池县",
+ "value": "640323"
+ },
+ {
+ "label": "同心县",
+ "value": "640324"
+ },
+ {
+ "label": "青铜峡市",
+ "value": "640381"
+ }
+ ],
+ [{
+ "label": "原州区",
+ "value": "640402"
+ },
+ {
+ "label": "西吉县",
+ "value": "640422"
+ },
+ {
+ "label": "隆德县",
+ "value": "640423"
+ },
+ {
+ "label": "泾源县",
+ "value": "640424"
+ },
+ {
+ "label": "彭阳县",
+ "value": "640425"
+ }
+ ],
+ [{
+ "label": "沙坡头区",
+ "value": "640502"
+ },
+ {
+ "label": "中宁县",
+ "value": "640521"
+ },
+ {
+ "label": "海原县",
+ "value": "640522"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "天山区",
+ "value": "650102"
+ },
+ {
+ "label": "沙依巴克区",
+ "value": "650103"
+ },
+ {
+ "label": "新市区",
+ "value": "650104"
+ },
+ {
+ "label": "水磨沟区",
+ "value": "650105"
+ },
+ {
+ "label": "头屯河区",
+ "value": "650106"
+ },
+ {
+ "label": "达坂城区",
+ "value": "650107"
+ },
+ {
+ "label": "米东区",
+ "value": "650109"
+ },
+ {
+ "label": "乌鲁木齐县",
+ "value": "650121"
+ },
+ {
+ "label": "乌鲁木齐经济技术开发区",
+ "value": "650171"
+ },
+ {
+ "label": "乌鲁木齐高新技术产业开发区",
+ "value": "650172"
+ }
+ ],
+ [{
+ "label": "独山子区",
+ "value": "650202"
+ },
+ {
+ "label": "克拉玛依区",
+ "value": "650203"
+ },
+ {
+ "label": "白碱滩区",
+ "value": "650204"
+ },
+ {
+ "label": "乌尔禾区",
+ "value": "650205"
+ }
+ ],
+ [{
+ "label": "高昌区",
+ "value": "650402"
+ },
+ {
+ "label": "鄯善县",
+ "value": "650421"
+ },
+ {
+ "label": "托克逊县",
+ "value": "650422"
+ }
+ ],
+ [{
+ "label": "伊州区",
+ "value": "650502"
+ },
+ {
+ "label": "巴里坤哈萨克自治县",
+ "value": "650521"
+ },
+ {
+ "label": "伊吾县",
+ "value": "650522"
+ }
+ ],
+ [{
+ "label": "昌吉市",
+ "value": "652301"
+ },
+ {
+ "label": "阜康市",
+ "value": "652302"
+ },
+ {
+ "label": "呼图壁县",
+ "value": "652323"
+ },
+ {
+ "label": "玛纳斯县",
+ "value": "652324"
+ },
+ {
+ "label": "奇台县",
+ "value": "652325"
+ },
+ {
+ "label": "吉木萨尔县",
+ "value": "652327"
+ },
+ {
+ "label": "木垒哈萨克自治县",
+ "value": "652328"
+ }
+ ],
+ [{
+ "label": "博乐市",
+ "value": "652701"
+ },
+ {
+ "label": "阿拉山口市",
+ "value": "652702"
+ },
+ {
+ "label": "精河县",
+ "value": "652722"
+ },
+ {
+ "label": "温泉县",
+ "value": "652723"
+ }
+ ],
+ [{
+ "label": "库尔勒市",
+ "value": "652801"
+ },
+ {
+ "label": "轮台县",
+ "value": "652822"
+ },
+ {
+ "label": "尉犁县",
+ "value": "652823"
+ },
+ {
+ "label": "若羌县",
+ "value": "652824"
+ },
+ {
+ "label": "且末县",
+ "value": "652825"
+ },
+ {
+ "label": "焉耆回族自治县",
+ "value": "652826"
+ },
+ {
+ "label": "和静县",
+ "value": "652827"
+ },
+ {
+ "label": "和硕县",
+ "value": "652828"
+ },
+ {
+ "label": "博湖县",
+ "value": "652829"
+ },
+ {
+ "label": "库尔勒经济技术开发区",
+ "value": "652871"
+ }
+ ],
+ [{
+ "label": "阿克苏市",
+ "value": "652901"
+ },
+ {
+ "label": "温宿县",
+ "value": "652922"
+ },
+ {
+ "label": "库车县",
+ "value": "652923"
+ },
+ {
+ "label": "沙雅县",
+ "value": "652924"
+ },
+ {
+ "label": "新和县",
+ "value": "652925"
+ },
+ {
+ "label": "拜城县",
+ "value": "652926"
+ },
+ {
+ "label": "乌什县",
+ "value": "652927"
+ },
+ {
+ "label": "阿瓦提县",
+ "value": "652928"
+ },
+ {
+ "label": "柯坪县",
+ "value": "652929"
+ }
+ ],
+ [{
+ "label": "阿图什市",
+ "value": "653001"
+ },
+ {
+ "label": "阿克陶县",
+ "value": "653022"
+ },
+ {
+ "label": "阿合奇县",
+ "value": "653023"
+ },
+ {
+ "label": "乌恰县",
+ "value": "653024"
+ }
+ ],
+ [{
+ "label": "喀什市",
+ "value": "653101"
+ },
+ {
+ "label": "疏附县",
+ "value": "653121"
+ },
+ {
+ "label": "疏勒县",
+ "value": "653122"
+ },
+ {
+ "label": "英吉沙县",
+ "value": "653123"
+ },
+ {
+ "label": "泽普县",
+ "value": "653124"
+ },
+ {
+ "label": "莎车县",
+ "value": "653125"
+ },
+ {
+ "label": "叶城县",
+ "value": "653126"
+ },
+ {
+ "label": "麦盖提县",
+ "value": "653127"
+ },
+ {
+ "label": "岳普湖县",
+ "value": "653128"
+ },
+ {
+ "label": "伽师县",
+ "value": "653129"
+ },
+ {
+ "label": "巴楚县",
+ "value": "653130"
+ },
+ {
+ "label": "塔什库尔干塔吉克自治县",
+ "value": "653131"
+ }
+ ],
+ [{
+ "label": "和田市",
+ "value": "653201"
+ },
+ {
+ "label": "和田县",
+ "value": "653221"
+ },
+ {
+ "label": "墨玉县",
+ "value": "653222"
+ },
+ {
+ "label": "皮山县",
+ "value": "653223"
+ },
+ {
+ "label": "洛浦县",
+ "value": "653224"
+ },
+ {
+ "label": "策勒县",
+ "value": "653225"
+ },
+ {
+ "label": "于田县",
+ "value": "653226"
+ },
+ {
+ "label": "民丰县",
+ "value": "653227"
+ }
+ ],
+ [{
+ "label": "伊宁市",
+ "value": "654002"
+ },
+ {
+ "label": "奎屯市",
+ "value": "654003"
+ },
+ {
+ "label": "霍尔果斯市",
+ "value": "654004"
+ },
+ {
+ "label": "伊宁县",
+ "value": "654021"
+ },
+ {
+ "label": "察布查尔锡伯自治县",
+ "value": "654022"
+ },
+ {
+ "label": "霍城县",
+ "value": "654023"
+ },
+ {
+ "label": "巩留县",
+ "value": "654024"
+ },
+ {
+ "label": "新源县",
+ "value": "654025"
+ },
+ {
+ "label": "昭苏县",
+ "value": "654026"
+ },
+ {
+ "label": "特克斯县",
+ "value": "654027"
+ },
+ {
+ "label": "尼勒克县",
+ "value": "654028"
+ }
+ ],
+ [{
+ "label": "塔城市",
+ "value": "654201"
+ },
+ {
+ "label": "乌苏市",
+ "value": "654202"
+ },
+ {
+ "label": "额敏县",
+ "value": "654221"
+ },
+ {
+ "label": "沙湾县",
+ "value": "654223"
+ },
+ {
+ "label": "托里县",
+ "value": "654224"
+ },
+ {
+ "label": "裕民县",
+ "value": "654225"
+ },
+ {
+ "label": "和布克赛尔蒙古自治县",
+ "value": "654226"
+ }
+ ],
+ [{
+ "label": "阿勒泰市",
+ "value": "654301"
+ },
+ {
+ "label": "布尔津县",
+ "value": "654321"
+ },
+ {
+ "label": "富蕴县",
+ "value": "654322"
+ },
+ {
+ "label": "福海县",
+ "value": "654323"
+ },
+ {
+ "label": "哈巴河县",
+ "value": "654324"
+ },
+ {
+ "label": "青河县",
+ "value": "654325"
+ },
+ {
+ "label": "吉木乃县",
+ "value": "654326"
+ }
+ ],
+ [{
+ "label": "石河子市",
+ "value": "659001"
+ },
+ {
+ "label": "阿拉尔市",
+ "value": "659002"
+ },
+ {
+ "label": "图木舒克市",
+ "value": "659003"
+ },
+ {
+ "label": "五家渠市",
+ "value": "659004"
+ },
+ {
+ "label": "铁门关市",
+ "value": "659006"
+ }
+ ]
+ ],
+ [
+ [{
+ "label": "台北",
+ "value": "660101"
+ }],
+ [{
+ "label": "高雄",
+ "value": "660201"
+ }],
+ [{
+ "label": "基隆",
+ "value": "660301"
+ }],
+ [{
+ "label": "台中",
+ "value": "660401"
+ }],
+ [{
+ "label": "台南",
+ "value": "660501"
+ }],
+ [{
+ "label": "新竹",
+ "value": "660601"
+ }],
+ [{
+ "label": "嘉义",
+ "value": "660701"
+ }],
+ [{
+ "label": "宜兰",
+ "value": "660801"
+ }],
+ [{
+ "label": "桃园",
+ "value": "660901"
+ }],
+ [{
+ "label": "苗栗",
+ "value": "661001"
+ }],
+ [{
+ "label": "彰化",
+ "value": "661101"
+ }],
+ [{
+ "label": "南投",
+ "value": "661201"
+ }],
+ [{
+ "label": "云林",
+ "value": "661301"
+ }],
+ [{
+ "label": "屏东",
+ "value": "661401"
+ }],
+ [{
+ "label": "台东",
+ "value": "661501"
+ }],
+ [{
+ "label": "花莲",
+ "value": "661601"
+ }],
+ [{
+ "label": "澎湖",
+ "value": "661701"
+ }]
+ ],
+ [
+ [{
+ "label": "香港岛",
+ "value": "670101"
+ }],
+ [{
+ "label": "九龙",
+ "value": "670201"
+ }],
+ [{
+ "label": "新界",
+ "value": "670301"
+ }]
+ ],
+ [
+ [{
+ "label": "澳门半岛",
+ "value": "680101"
+ }],
+ [{
+ "label": "氹仔岛",
+ "value": "680201"
+ }],
+ [{
+ "label": "路环岛",
+ "value": "680301"
+ }],
+ [{
+ "label": "路氹城",
+ "value": "680401"
+ }]
+ ]
+]
+export default areaData;
diff --git a/app/components/wPicker/city-data/city.js b/app/components/wPicker/city-data/city.js
new file mode 100644
index 0000000..8c1dc26
--- /dev/null
+++ b/app/components/wPicker/city-data/city.js
@@ -0,0 +1,1503 @@
+/* eslint-disable */
+var cityData = [
+ [{
+ "label": "市辖区",
+ "value": "1101"
+ }],
+ [{
+ "label": "市辖区",
+ "value": "1201"
+ }],
+ [{
+ "label": "石家庄市",
+ "value": "1301"
+ },
+ {
+ "label": "唐山市",
+ "value": "1302"
+ },
+ {
+ "label": "秦皇岛市",
+ "value": "1303"
+ },
+ {
+ "label": "邯郸市",
+ "value": "1304"
+ },
+ {
+ "label": "邢台市",
+ "value": "1305"
+ },
+ {
+ "label": "保定市",
+ "value": "1306"
+ },
+ {
+ "label": "张家口市",
+ "value": "1307"
+ },
+ {
+ "label": "承德市",
+ "value": "1308"
+ },
+ {
+ "label": "沧州市",
+ "value": "1309"
+ },
+ {
+ "label": "廊坊市",
+ "value": "1310"
+ },
+ {
+ "label": "衡水市",
+ "value": "1311"
+ }
+ ],
+ [{
+ "label": "太原市",
+ "value": "1401"
+ },
+ {
+ "label": "大同市",
+ "value": "1402"
+ },
+ {
+ "label": "阳泉市",
+ "value": "1403"
+ },
+ {
+ "label": "长治市",
+ "value": "1404"
+ },
+ {
+ "label": "晋城市",
+ "value": "1405"
+ },
+ {
+ "label": "朔州市",
+ "value": "1406"
+ },
+ {
+ "label": "晋中市",
+ "value": "1407"
+ },
+ {
+ "label": "运城市",
+ "value": "1408"
+ },
+ {
+ "label": "忻州市",
+ "value": "1409"
+ },
+ {
+ "label": "临汾市",
+ "value": "1410"
+ },
+ {
+ "label": "吕梁市",
+ "value": "1411"
+ }
+ ],
+ [{
+ "label": "呼和浩特市",
+ "value": "1501"
+ },
+ {
+ "label": "包头市",
+ "value": "1502"
+ },
+ {
+ "label": "乌海市",
+ "value": "1503"
+ },
+ {
+ "label": "赤峰市",
+ "value": "1504"
+ },
+ {
+ "label": "通辽市",
+ "value": "1505"
+ },
+ {
+ "label": "鄂尔多斯市",
+ "value": "1506"
+ },
+ {
+ "label": "呼伦贝尔市",
+ "value": "1507"
+ },
+ {
+ "label": "巴彦淖尔市",
+ "value": "1508"
+ },
+ {
+ "label": "乌兰察布市",
+ "value": "1509"
+ },
+ {
+ "label": "兴安盟",
+ "value": "1522"
+ },
+ {
+ "label": "锡林郭勒盟",
+ "value": "1525"
+ },
+ {
+ "label": "阿拉善盟",
+ "value": "1529"
+ }
+ ],
+ [{
+ "label": "沈阳市",
+ "value": "2101"
+ },
+ {
+ "label": "大连市",
+ "value": "2102"
+ },
+ {
+ "label": "鞍山市",
+ "value": "2103"
+ },
+ {
+ "label": "抚顺市",
+ "value": "2104"
+ },
+ {
+ "label": "本溪市",
+ "value": "2105"
+ },
+ {
+ "label": "丹东市",
+ "value": "2106"
+ },
+ {
+ "label": "锦州市",
+ "value": "2107"
+ },
+ {
+ "label": "营口市",
+ "value": "2108"
+ },
+ {
+ "label": "阜新市",
+ "value": "2109"
+ },
+ {
+ "label": "辽阳市",
+ "value": "2110"
+ },
+ {
+ "label": "盘锦市",
+ "value": "2111"
+ },
+ {
+ "label": "铁岭市",
+ "value": "2112"
+ },
+ {
+ "label": "朝阳市",
+ "value": "2113"
+ },
+ {
+ "label": "葫芦岛市",
+ "value": "2114"
+ }
+ ],
+ [{
+ "label": "长春市",
+ "value": "2201"
+ },
+ {
+ "label": "吉林市",
+ "value": "2202"
+ },
+ {
+ "label": "四平市",
+ "value": "2203"
+ },
+ {
+ "label": "辽源市",
+ "value": "2204"
+ },
+ {
+ "label": "通化市",
+ "value": "2205"
+ },
+ {
+ "label": "白山市",
+ "value": "2206"
+ },
+ {
+ "label": "松原市",
+ "value": "2207"
+ },
+ {
+ "label": "白城市",
+ "value": "2208"
+ },
+ {
+ "label": "延边朝鲜族自治州",
+ "value": "2224"
+ }
+ ],
+ [{
+ "label": "哈尔滨市",
+ "value": "2301"
+ },
+ {
+ "label": "齐齐哈尔市",
+ "value": "2302"
+ },
+ {
+ "label": "鸡西市",
+ "value": "2303"
+ },
+ {
+ "label": "鹤岗市",
+ "value": "2304"
+ },
+ {
+ "label": "双鸭山市",
+ "value": "2305"
+ },
+ {
+ "label": "大庆市",
+ "value": "2306"
+ },
+ {
+ "label": "伊春市",
+ "value": "2307"
+ },
+ {
+ "label": "佳木斯市",
+ "value": "2308"
+ },
+ {
+ "label": "七台河市",
+ "value": "2309"
+ },
+ {
+ "label": "牡丹江市",
+ "value": "2310"
+ },
+ {
+ "label": "黑河市",
+ "value": "2311"
+ },
+ {
+ "label": "绥化市",
+ "value": "2312"
+ },
+ {
+ "label": "大兴安岭地区",
+ "value": "2327"
+ }
+ ],
+ [{
+ "label": "市辖区",
+ "value": "3101"
+ }],
+ [{
+ "label": "南京市",
+ "value": "3201"
+ },
+ {
+ "label": "无锡市",
+ "value": "3202"
+ },
+ {
+ "label": "徐州市",
+ "value": "3203"
+ },
+ {
+ "label": "常州市",
+ "value": "3204"
+ },
+ {
+ "label": "苏州市",
+ "value": "3205"
+ },
+ {
+ "label": "南通市",
+ "value": "3206"
+ },
+ {
+ "label": "连云港市",
+ "value": "3207"
+ },
+ {
+ "label": "淮安市",
+ "value": "3208"
+ },
+ {
+ "label": "盐城市",
+ "value": "3209"
+ },
+ {
+ "label": "扬州市",
+ "value": "3210"
+ },
+ {
+ "label": "镇江市",
+ "value": "3211"
+ },
+ {
+ "label": "泰州市",
+ "value": "3212"
+ },
+ {
+ "label": "宿迁市",
+ "value": "3213"
+ }
+ ],
+ [{
+ "label": "杭州市",
+ "value": "3301"
+ },
+ {
+ "label": "宁波市",
+ "value": "3302"
+ },
+ {
+ "label": "温州市",
+ "value": "3303"
+ },
+ {
+ "label": "嘉兴市",
+ "value": "3304"
+ },
+ {
+ "label": "湖州市",
+ "value": "3305"
+ },
+ {
+ "label": "绍兴市",
+ "value": "3306"
+ },
+ {
+ "label": "金华市",
+ "value": "3307"
+ },
+ {
+ "label": "衢州市",
+ "value": "3308"
+ },
+ {
+ "label": "舟山市",
+ "value": "3309"
+ },
+ {
+ "label": "台州市",
+ "value": "3310"
+ },
+ {
+ "label": "丽水市",
+ "value": "3311"
+ }
+ ],
+ [{
+ "label": "合肥市",
+ "value": "3401"
+ },
+ {
+ "label": "芜湖市",
+ "value": "3402"
+ },
+ {
+ "label": "蚌埠市",
+ "value": "3403"
+ },
+ {
+ "label": "淮南市",
+ "value": "3404"
+ },
+ {
+ "label": "马鞍山市",
+ "value": "3405"
+ },
+ {
+ "label": "淮北市",
+ "value": "3406"
+ },
+ {
+ "label": "铜陵市",
+ "value": "3407"
+ },
+ {
+ "label": "安庆市",
+ "value": "3408"
+ },
+ {
+ "label": "黄山市",
+ "value": "3410"
+ },
+ {
+ "label": "滁州市",
+ "value": "3411"
+ },
+ {
+ "label": "阜阳市",
+ "value": "3412"
+ },
+ {
+ "label": "宿州市",
+ "value": "3413"
+ },
+ {
+ "label": "六安市",
+ "value": "3415"
+ },
+ {
+ "label": "亳州市",
+ "value": "3416"
+ },
+ {
+ "label": "池州市",
+ "value": "3417"
+ },
+ {
+ "label": "宣城市",
+ "value": "3418"
+ }
+ ],
+ [{
+ "label": "福州市",
+ "value": "3501"
+ },
+ {
+ "label": "厦门市",
+ "value": "3502"
+ },
+ {
+ "label": "莆田市",
+ "value": "3503"
+ },
+ {
+ "label": "三明市",
+ "value": "3504"
+ },
+ {
+ "label": "泉州市",
+ "value": "3505"
+ },
+ {
+ "label": "漳州市",
+ "value": "3506"
+ },
+ {
+ "label": "南平市",
+ "value": "3507"
+ },
+ {
+ "label": "龙岩市",
+ "value": "3508"
+ },
+ {
+ "label": "宁德市",
+ "value": "3509"
+ }
+ ],
+ [{
+ "label": "南昌市",
+ "value": "3601"
+ },
+ {
+ "label": "景德镇市",
+ "value": "3602"
+ },
+ {
+ "label": "萍乡市",
+ "value": "3603"
+ },
+ {
+ "label": "九江市",
+ "value": "3604"
+ },
+ {
+ "label": "新余市",
+ "value": "3605"
+ },
+ {
+ "label": "鹰潭市",
+ "value": "3606"
+ },
+ {
+ "label": "赣州市",
+ "value": "3607"
+ },
+ {
+ "label": "吉安市",
+ "value": "3608"
+ },
+ {
+ "label": "宜春市",
+ "value": "3609"
+ },
+ {
+ "label": "抚州市",
+ "value": "3610"
+ },
+ {
+ "label": "上饶市",
+ "value": "3611"
+ }
+ ],
+ [{
+ "label": "济南市",
+ "value": "3701"
+ },
+ {
+ "label": "青岛市",
+ "value": "3702"
+ },
+ {
+ "label": "淄博市",
+ "value": "3703"
+ },
+ {
+ "label": "枣庄市",
+ "value": "3704"
+ },
+ {
+ "label": "东营市",
+ "value": "3705"
+ },
+ {
+ "label": "烟台市",
+ "value": "3706"
+ },
+ {
+ "label": "潍坊市",
+ "value": "3707"
+ },
+ {
+ "label": "济宁市",
+ "value": "3708"
+ },
+ {
+ "label": "泰安市",
+ "value": "3709"
+ },
+ {
+ "label": "威海市",
+ "value": "3710"
+ },
+ {
+ "label": "日照市",
+ "value": "3711"
+ },
+ {
+ "label": "莱芜市",
+ "value": "3712"
+ },
+ {
+ "label": "临沂市",
+ "value": "3713"
+ },
+ {
+ "label": "德州市",
+ "value": "3714"
+ },
+ {
+ "label": "聊城市",
+ "value": "3715"
+ },
+ {
+ "label": "滨州市",
+ "value": "3716"
+ },
+ {
+ "label": "菏泽市",
+ "value": "3717"
+ }
+ ],
+ [{
+ "label": "郑州市",
+ "value": "4101"
+ },
+ {
+ "label": "开封市",
+ "value": "4102"
+ },
+ {
+ "label": "洛阳市",
+ "value": "4103"
+ },
+ {
+ "label": "平顶山市",
+ "value": "4104"
+ },
+ {
+ "label": "安阳市",
+ "value": "4105"
+ },
+ {
+ "label": "鹤壁市",
+ "value": "4106"
+ },
+ {
+ "label": "新乡市",
+ "value": "4107"
+ },
+ {
+ "label": "焦作市",
+ "value": "4108"
+ },
+ {
+ "label": "濮阳市",
+ "value": "4109"
+ },
+ {
+ "label": "许昌市",
+ "value": "4110"
+ },
+ {
+ "label": "漯河市",
+ "value": "4111"
+ },
+ {
+ "label": "三门峡市",
+ "value": "4112"
+ },
+ {
+ "label": "南阳市",
+ "value": "4113"
+ },
+ {
+ "label": "商丘市",
+ "value": "4114"
+ },
+ {
+ "label": "信阳市",
+ "value": "4115"
+ },
+ {
+ "label": "周口市",
+ "value": "4116"
+ },
+ {
+ "label": "驻马店市",
+ "value": "4117"
+ },
+ {
+ "label": "省直辖县级行政区划",
+ "value": "4190"
+ }
+ ],
+ [{
+ "label": "武汉市",
+ "value": "4201"
+ },
+ {
+ "label": "黄石市",
+ "value": "4202"
+ },
+ {
+ "label": "十堰市",
+ "value": "4203"
+ },
+ {
+ "label": "宜昌市",
+ "value": "4205"
+ },
+ {
+ "label": "襄阳市",
+ "value": "4206"
+ },
+ {
+ "label": "鄂州市",
+ "value": "4207"
+ },
+ {
+ "label": "荆门市",
+ "value": "4208"
+ },
+ {
+ "label": "孝感市",
+ "value": "4209"
+ },
+ {
+ "label": "荆州市",
+ "value": "4210"
+ },
+ {
+ "label": "黄冈市",
+ "value": "4211"
+ },
+ {
+ "label": "咸宁市",
+ "value": "4212"
+ },
+ {
+ "label": "随州市",
+ "value": "4213"
+ },
+ {
+ "label": "恩施土家族苗族自治州",
+ "value": "4228"
+ },
+ {
+ "label": "省直辖县级行政区划",
+ "value": "4290"
+ }
+ ],
+ [{
+ "label": "长沙市",
+ "value": "4301"
+ },
+ {
+ "label": "株洲市",
+ "value": "4302"
+ },
+ {
+ "label": "湘潭市",
+ "value": "4303"
+ },
+ {
+ "label": "衡阳市",
+ "value": "4304"
+ },
+ {
+ "label": "邵阳市",
+ "value": "4305"
+ },
+ {
+ "label": "岳阳市",
+ "value": "4306"
+ },
+ {
+ "label": "常德市",
+ "value": "4307"
+ },
+ {
+ "label": "张家界市",
+ "value": "4308"
+ },
+ {
+ "label": "益阳市",
+ "value": "4309"
+ },
+ {
+ "label": "郴州市",
+ "value": "4310"
+ },
+ {
+ "label": "永州市",
+ "value": "4311"
+ },
+ {
+ "label": "怀化市",
+ "value": "4312"
+ },
+ {
+ "label": "娄底市",
+ "value": "4313"
+ },
+ {
+ "label": "湘西土家族苗族自治州",
+ "value": "4331"
+ }
+ ],
+ [{
+ "label": "广州市",
+ "value": "4401"
+ },
+ {
+ "label": "韶关市",
+ "value": "4402"
+ },
+ {
+ "label": "深圳市",
+ "value": "4403"
+ },
+ {
+ "label": "珠海市",
+ "value": "4404"
+ },
+ {
+ "label": "汕头市",
+ "value": "4405"
+ },
+ {
+ "label": "佛山市",
+ "value": "4406"
+ },
+ {
+ "label": "江门市",
+ "value": "4407"
+ },
+ {
+ "label": "湛江市",
+ "value": "4408"
+ },
+ {
+ "label": "茂名市",
+ "value": "4409"
+ },
+ {
+ "label": "肇庆市",
+ "value": "4412"
+ },
+ {
+ "label": "惠州市",
+ "value": "4413"
+ },
+ {
+ "label": "梅州市",
+ "value": "4414"
+ },
+ {
+ "label": "汕尾市",
+ "value": "4415"
+ },
+ {
+ "label": "河源市",
+ "value": "4416"
+ },
+ {
+ "label": "阳江市",
+ "value": "4417"
+ },
+ {
+ "label": "清远市",
+ "value": "4418"
+ },
+ {
+ "label": "东莞市",
+ "value": "4419"
+ },
+ {
+ "label": "中山市",
+ "value": "4420"
+ },
+ {
+ "label": "潮州市",
+ "value": "4451"
+ },
+ {
+ "label": "揭阳市",
+ "value": "4452"
+ },
+ {
+ "label": "云浮市",
+ "value": "4453"
+ }
+ ],
+ [{
+ "label": "南宁市",
+ "value": "4501"
+ },
+ {
+ "label": "柳州市",
+ "value": "4502"
+ },
+ {
+ "label": "桂林市",
+ "value": "4503"
+ },
+ {
+ "label": "梧州市",
+ "value": "4504"
+ },
+ {
+ "label": "北海市",
+ "value": "4505"
+ },
+ {
+ "label": "防城港市",
+ "value": "4506"
+ },
+ {
+ "label": "钦州市",
+ "value": "4507"
+ },
+ {
+ "label": "贵港市",
+ "value": "4508"
+ },
+ {
+ "label": "玉林市",
+ "value": "4509"
+ },
+ {
+ "label": "百色市",
+ "value": "4510"
+ },
+ {
+ "label": "贺州市",
+ "value": "4511"
+ },
+ {
+ "label": "河池市",
+ "value": "4512"
+ },
+ {
+ "label": "来宾市",
+ "value": "4513"
+ },
+ {
+ "label": "崇左市",
+ "value": "4514"
+ }
+ ],
+ [{
+ "label": "海口市",
+ "value": "4601"
+ },
+ {
+ "label": "三亚市",
+ "value": "4602"
+ },
+ {
+ "label": "三沙市",
+ "value": "4603"
+ },
+ {
+ "label": "儋州市",
+ "value": "4604"
+ },
+ {
+ "label": "省直辖县级行政区划",
+ "value": "4690"
+ }
+ ],
+ [{
+ "label": "市辖区",
+ "value": "5001"
+ },
+ {
+ "label": "县",
+ "value": "5002"
+ }
+ ],
+ [{
+ "label": "成都市",
+ "value": "5101"
+ },
+ {
+ "label": "自贡市",
+ "value": "5103"
+ },
+ {
+ "label": "攀枝花市",
+ "value": "5104"
+ },
+ {
+ "label": "泸州市",
+ "value": "5105"
+ },
+ {
+ "label": "德阳市",
+ "value": "5106"
+ },
+ {
+ "label": "绵阳市",
+ "value": "5107"
+ },
+ {
+ "label": "广元市",
+ "value": "5108"
+ },
+ {
+ "label": "遂宁市",
+ "value": "5109"
+ },
+ {
+ "label": "内江市",
+ "value": "5110"
+ },
+ {
+ "label": "乐山市",
+ "value": "5111"
+ },
+ {
+ "label": "南充市",
+ "value": "5113"
+ },
+ {
+ "label": "眉山市",
+ "value": "5114"
+ },
+ {
+ "label": "宜宾市",
+ "value": "5115"
+ },
+ {
+ "label": "广安市",
+ "value": "5116"
+ },
+ {
+ "label": "达州市",
+ "value": "5117"
+ },
+ {
+ "label": "雅安市",
+ "value": "5118"
+ },
+ {
+ "label": "巴中市",
+ "value": "5119"
+ },
+ {
+ "label": "资阳市",
+ "value": "5120"
+ },
+ {
+ "label": "阿坝藏族羌族自治州",
+ "value": "5132"
+ },
+ {
+ "label": "甘孜藏族自治州",
+ "value": "5133"
+ },
+ {
+ "label": "凉山彝族自治州",
+ "value": "5134"
+ }
+ ],
+ [{
+ "label": "贵阳市",
+ "value": "5201"
+ },
+ {
+ "label": "六盘水市",
+ "value": "5202"
+ },
+ {
+ "label": "遵义市",
+ "value": "5203"
+ },
+ {
+ "label": "安顺市",
+ "value": "5204"
+ },
+ {
+ "label": "毕节市",
+ "value": "5205"
+ },
+ {
+ "label": "铜仁市",
+ "value": "5206"
+ },
+ {
+ "label": "黔西南布依族苗族自治州",
+ "value": "5223"
+ },
+ {
+ "label": "黔东南苗族侗族自治州",
+ "value": "5226"
+ },
+ {
+ "label": "黔南布依族苗族自治州",
+ "value": "5227"
+ }
+ ],
+ [{
+ "label": "昆明市",
+ "value": "5301"
+ },
+ {
+ "label": "曲靖市",
+ "value": "5303"
+ },
+ {
+ "label": "玉溪市",
+ "value": "5304"
+ },
+ {
+ "label": "保山市",
+ "value": "5305"
+ },
+ {
+ "label": "昭通市",
+ "value": "5306"
+ },
+ {
+ "label": "丽江市",
+ "value": "5307"
+ },
+ {
+ "label": "普洱市",
+ "value": "5308"
+ },
+ {
+ "label": "临沧市",
+ "value": "5309"
+ },
+ {
+ "label": "楚雄彝族自治州",
+ "value": "5323"
+ },
+ {
+ "label": "红河哈尼族彝族自治州",
+ "value": "5325"
+ },
+ {
+ "label": "文山壮族苗族自治州",
+ "value": "5326"
+ },
+ {
+ "label": "西双版纳傣族自治州",
+ "value": "5328"
+ },
+ {
+ "label": "大理白族自治州",
+ "value": "5329"
+ },
+ {
+ "label": "德宏傣族景颇族自治州",
+ "value": "5331"
+ },
+ {
+ "label": "怒江傈僳族自治州",
+ "value": "5333"
+ },
+ {
+ "label": "迪庆藏族自治州",
+ "value": "5334"
+ }
+ ],
+ [{
+ "label": "拉萨市",
+ "value": "5401"
+ },
+ {
+ "label": "日喀则市",
+ "value": "5402"
+ },
+ {
+ "label": "昌都市",
+ "value": "5403"
+ },
+ {
+ "label": "林芝市",
+ "value": "5404"
+ },
+ {
+ "label": "山南市",
+ "value": "5405"
+ },
+ {
+ "label": "那曲地区",
+ "value": "5424"
+ },
+ {
+ "label": "阿里地区",
+ "value": "5425"
+ }
+ ],
+ [{
+ "label": "西安市",
+ "value": "6101"
+ },
+ {
+ "label": "铜川市",
+ "value": "6102"
+ },
+ {
+ "label": "宝鸡市",
+ "value": "6103"
+ },
+ {
+ "label": "咸阳市",
+ "value": "6104"
+ },
+ {
+ "label": "渭南市",
+ "value": "6105"
+ },
+ {
+ "label": "延安市",
+ "value": "6106"
+ },
+ {
+ "label": "汉中市",
+ "value": "6107"
+ },
+ {
+ "label": "榆林市",
+ "value": "6108"
+ },
+ {
+ "label": "安康市",
+ "value": "6109"
+ },
+ {
+ "label": "商洛市",
+ "value": "6110"
+ }
+ ],
+ [{
+ "label": "兰州市",
+ "value": "6201"
+ },
+ {
+ "label": "嘉峪关市",
+ "value": "6202"
+ },
+ {
+ "label": "金昌市",
+ "value": "6203"
+ },
+ {
+ "label": "白银市",
+ "value": "6204"
+ },
+ {
+ "label": "天水市",
+ "value": "6205"
+ },
+ {
+ "label": "武威市",
+ "value": "6206"
+ },
+ {
+ "label": "张掖市",
+ "value": "6207"
+ },
+ {
+ "label": "平凉市",
+ "value": "6208"
+ },
+ {
+ "label": "酒泉市",
+ "value": "6209"
+ },
+ {
+ "label": "庆阳市",
+ "value": "6210"
+ },
+ {
+ "label": "定西市",
+ "value": "6211"
+ },
+ {
+ "label": "陇南市",
+ "value": "6212"
+ },
+ {
+ "label": "临夏回族自治州",
+ "value": "6229"
+ },
+ {
+ "label": "甘南藏族自治州",
+ "value": "6230"
+ }
+ ],
+ [{
+ "label": "西宁市",
+ "value": "6301"
+ },
+ {
+ "label": "海东市",
+ "value": "6302"
+ },
+ {
+ "label": "海北藏族自治州",
+ "value": "6322"
+ },
+ {
+ "label": "黄南藏族自治州",
+ "value": "6323"
+ },
+ {
+ "label": "海南藏族自治州",
+ "value": "6325"
+ },
+ {
+ "label": "果洛藏族自治州",
+ "value": "6326"
+ },
+ {
+ "label": "玉树藏族自治州",
+ "value": "6327"
+ },
+ {
+ "label": "海西蒙古族藏族自治州",
+ "value": "6328"
+ }
+ ],
+ [{
+ "label": "银川市",
+ "value": "6401"
+ },
+ {
+ "label": "石嘴山市",
+ "value": "6402"
+ },
+ {
+ "label": "吴忠市",
+ "value": "6403"
+ },
+ {
+ "label": "固原市",
+ "value": "6404"
+ },
+ {
+ "label": "中卫市",
+ "value": "6405"
+ }
+ ],
+ [{
+ "label": "乌鲁木齐市",
+ "value": "6501"
+ },
+ {
+ "label": "克拉玛依市",
+ "value": "6502"
+ },
+ {
+ "label": "吐鲁番市",
+ "value": "6504"
+ },
+ {
+ "label": "哈密市",
+ "value": "6505"
+ },
+ {
+ "label": "昌吉回族自治州",
+ "value": "6523"
+ },
+ {
+ "label": "博尔塔拉蒙古自治州",
+ "value": "6527"
+ },
+ {
+ "label": "巴音郭楞蒙古自治州",
+ "value": "6528"
+ },
+ {
+ "label": "阿克苏地区",
+ "value": "6529"
+ },
+ {
+ "label": "克孜勒苏柯尔克孜自治州",
+ "value": "6530"
+ },
+ {
+ "label": "喀什地区",
+ "value": "6531"
+ },
+ {
+ "label": "和田地区",
+ "value": "6532"
+ },
+ {
+ "label": "伊犁哈萨克自治州",
+ "value": "6540"
+ },
+ {
+ "label": "塔城地区",
+ "value": "6542"
+ },
+ {
+ "label": "阿勒泰地区",
+ "value": "6543"
+ },
+ {
+ "label": "自治区直辖县级行政区划",
+ "value": "6590"
+ }
+ ],
+ [{
+ "label": "台北",
+ "value": "6601"
+ },
+ {
+ "label": "高雄",
+ "value": "6602"
+ },
+ {
+ "label": "基隆",
+ "value": "6603"
+ },
+ {
+ "label": "台中",
+ "value": "6604"
+ },
+ {
+ "label": "台南",
+ "value": "6605"
+ },
+ {
+ "label": "新竹",
+ "value": "6606"
+ },
+ {
+ "label": "嘉义",
+ "value": "6607"
+ },
+ {
+ "label": "宜兰",
+ "value": "6608"
+ },
+ {
+ "label": "桃园",
+ "value": "6609"
+ },
+ {
+ "label": "苗栗",
+ "value": "6610"
+ },
+ {
+ "label": "彰化",
+ "value": "6611"
+ },
+ {
+ "label": "南投",
+ "value": "6612"
+ },
+ {
+ "label": "云林",
+ "value": "6613"
+ },
+ {
+ "label": "屏东",
+ "value": "6614"
+ },
+ {
+ "label": "台东",
+ "value": "6615"
+ },
+ {
+ "label": "花莲",
+ "value": "6616"
+ },
+ {
+ "label": "澎湖",
+ "value": "6617"
+ }
+ ],
+ [{
+ "label": "香港岛",
+ "value": "6701"
+ },
+ {
+ "label": "九龙",
+ "value": "6702"
+ },
+ {
+ "label": "新界",
+ "value": "6703"
+ }
+ ],
+ [{
+ "label": "澳门半岛",
+ "value": "6801"
+ },
+ {
+ "label": "氹仔岛",
+ "value": "6802"
+ },
+ {
+ "label": "路环岛",
+ "value": "6803"
+ },
+ {
+ "label": "路氹城",
+ "value": "6804"
+ }
+ ]
+]
+export default cityData;
diff --git a/app/components/wPicker/city-data/province.js b/app/components/wPicker/city-data/province.js
new file mode 100644
index 0000000..1bd680e
--- /dev/null
+++ b/app/components/wPicker/city-data/province.js
@@ -0,0 +1,139 @@
+/* eslint-disable */
+var provinceData = [{
+ "label": "北京市",
+ "value": "11"
+ },
+ {
+ "label": "天津市",
+ "value": "12"
+ },
+ {
+ "label": "河北省",
+ "value": "13"
+ },
+ {
+ "label": "山西省",
+ "value": "14"
+ },
+ {
+ "label": "内蒙古自治区",
+ "value": "15"
+ },
+ {
+ "label": "辽宁省",
+ "value": "21"
+ },
+ {
+ "label": "吉林省",
+ "value": "22"
+ },
+ {
+ "label": "黑龙江省",
+ "value": "23"
+ },
+ {
+ "label": "上海市",
+ "value": "31"
+ },
+ {
+ "label": "江苏省",
+ "value": "32"
+ },
+ {
+ "label": "浙江省",
+ "value": "33"
+ },
+ {
+ "label": "安徽省",
+ "value": "34"
+ },
+ {
+ "label": "福建省",
+ "value": "35"
+ },
+ {
+ "label": "江西省",
+ "value": "36"
+ },
+ {
+ "label": "山东省",
+ "value": "37"
+ },
+ {
+ "label": "河南省",
+ "value": "41"
+ },
+ {
+ "label": "湖北省",
+ "value": "42"
+ },
+ {
+ "label": "湖南省",
+ "value": "43"
+ },
+ {
+ "label": "广东省",
+ "value": "44"
+ },
+ {
+ "label": "广西壮族自治区",
+ "value": "45"
+ },
+ {
+ "label": "海南省",
+ "value": "46"
+ },
+ {
+ "label": "重庆市",
+ "value": "50"
+ },
+ {
+ "label": "四川省",
+ "value": "51"
+ },
+ {
+ "label": "贵州省",
+ "value": "52"
+ },
+ {
+ "label": "云南省",
+ "value": "53"
+ },
+ {
+ "label": "西藏自治区",
+ "value": "54"
+ },
+ {
+ "label": "陕西省",
+ "value": "61"
+ },
+ {
+ "label": "甘肃省",
+ "value": "62"
+ },
+ {
+ "label": "青海省",
+ "value": "63"
+ },
+ {
+ "label": "宁夏回族自治区",
+ "value": "64"
+ },
+ {
+ "label": "新疆维吾尔自治区",
+ "value": "65"
+ },
+ {
+ "label": "台湾",
+ "value": "66"
+ },
+ {
+ "label": "香港",
+ "value": "67"
+ },
+ {
+ "label": "澳门",
+ "value": "68"
+ }
+]
+export default provinceData;
diff --git a/app/components/wPicker/w-picker.js b/app/components/wPicker/w-picker.js
new file mode 100644
index 0000000..0594835
--- /dev/null
+++ b/app/components/wPicker/w-picker.js
@@ -0,0 +1,680 @@
+const forMatNum=(num)=>{
+ return num<10?'0'+num:num+'';
+}
+const initPicker={
+ //日期
+ date:{
+ init(start,end,mode="date",step,value,flag,disabled,hasSecond){
+ let aToday=new Date();
+ let tYear,tMonth,tDay,tHours,tMinutes,tSeconds,defaultVal=[];
+ let initstartDate=new Date(start.toString());
+ let endDate=new Date(end.toString());
+ if(start>end){
+ initstartDate=new Date(end.toString());
+ endDate=new Date(start.toString());
+ };
+ let startYear=initstartDate.getFullYear();
+ let startMonth=initstartDate.getMonth()+1;
+ let endYear=endDate.getFullYear();
+ let years=[],months=[],days=[],hours=[],minutes=[],seconds=[],areas=[],returnArr=[],dvalDate=[];
+ switch(mode){
+ case "half":
+ dvalDate=flag?[...value.split(" ")[0].split("-"),...value.split(" ")[1].split(":")]:[...value.split(" ")[0].split("-"),value.split(" ")[1]];
+ break;
+ case "date":
+ case "yearMonth":
+ dvalDate=value.split("-");
+ break;
+ case "dateTime":
+ dvalDate=[...value.split(" ")[0].split("-"),...value.split(" ")[1].split(":")];
+ break;
+ case "time":
+ dvalDate=value.split(":");
+ break;
+ }
+ let curMonth=flag?dvalDate[1]*1:(dvalDate[1]+1);
+ let dYear=aToday.getFullYear();
+ let dMonth=aToday.getMonth()+1;
+ let dDate=aToday.getDate();
+ let totalDays=new Date(startYear,curMonth,0).getDate();
+ let dvalObj={};
+ switch(mode){
+ case "half":
+ case "date":
+ case "yearMonth":
+ let curYear=dvalDate[0];
+ let curMonth=dvalDate[1];
+ if(disabled){
+ for(let s=startYear;s<=dYear;s++){
+ years.push(s+'');
+ };
+ if(curYear==dYear){
+ for(let m=1;m<=dMonth;m++){
+ months.push(forMatNum(m));
+ };
+ }else{
+ for(let m=1;m<=12;m++){
+ months.push(forMatNum(m));
+ };
+ }
+ if(curMonth==dMonth){
+ for(let d=1;d<=dDate;d++){
+ days.push(forMatNum(d));
+ }
+ }else{
+ for(let d=1;d<=totalDays;d++){
+ days.push(forMatNum(d));
+ }
+ }
+
+ }else{
+ for(let s=startYear;s<=endYear;s++){
+ years.push(s+'');
+ };
+ for(let m=1;m<=12;m++){
+ months.push(forMatNum(m));
+ };
+ for(let d=1;d<=totalDays;d++){
+ days.push(forMatNum(d));
+ }
+ };
+ break;
+ default:
+ for(let s=startYear;s<=endYear;s++){
+ years.push(s+'');
+ };
+ for(let m=1;m<=12;m++){
+ months.push(forMatNum(m));
+ };
+ for(let d=1;d<=totalDays;d++){
+ days.push(forMatNum(d));
+ }
+ break;
+ }
+ for(let h=0;h<24;h++){
+ hours.push(forMatNum(h));
+ }
+ for(let m=0;m<60;m+=step*1){
+ minutes.push(forMatNum(m));
+ }
+ for(let s=0;s<60;s++){
+ seconds.push(forMatNum(s));
+ }
+ if(flag){
+ returnArr=[
+ years.indexOf(dvalDate[0]),
+ months.indexOf(dvalDate[1]),
+ days.indexOf(dvalDate[2]),
+ hours.indexOf(dvalDate[3]),
+ minutes.indexOf(dvalDate[4])==-1?0:minutes.indexOf(dvalDate[4]),
+ seconds.indexOf(dvalDate[5])
+ ]
+ }
+ switch(mode){
+ case "date":
+ if(flag){
+ defaultVal=[returnArr[0],returnArr[1],returnArr[2]];
+ return {years,months,days,defaultVal}
+ }else{
+ defaultVal=[
+ years.indexOf(dvalDate[0])==-1?0:years.indexOf(dvalDate[0]),
+ months.indexOf(dvalDate[1])==-1?0:months.indexOf(dvalDate[1]),
+ days.indexOf(dvalDate[2])==-1?0:days.indexOf(dvalDate[2])
+ ];
+ return {years,months,days,defaultVal}
+ }
+ break;
+ case "half":
+ areas=[{
+ label:"上午",
+ value:0
+ },{
+ label:"下午",
+ value:1
+ }];
+ if(flag){
+ defaultVal=[returnArr[0],returnArr[1],returnArr[2],returnArr[3]];
+ return {years,months,days,areas,defaultVal}
+ }else{
+ let idx=0;
+ areas.map((v,k)=>{
+ if(v.label==dvalDate[3]){
+ idx=v.value;
+ }
+ })
+ defaultVal=[
+ years.indexOf(dvalDate[0])==-1?0:years.indexOf(dvalDate[0]),
+ months.indexOf(dvalDate[1])==-1?0:months.indexOf(dvalDate[1]),
+ days.indexOf(dvalDate[2])==-1?0:days.indexOf(dvalDate[2]),
+ idx
+ ];
+ return {years,months,days,areas,defaultVal}
+ }
+ break;
+ case "yearMonth":
+ if(flag){
+ defaultVal=[returnArr[0],returnArr[1]];
+ return {years,months,defaultVal}
+ }else{
+ defaultVal=[
+ years.indexOf(dvalDate[0])==-1?0:years.indexOf(dvalDate[0]),
+ months.indexOf(dvalDate[1])==-1?0:months.indexOf(dvalDate[1])
+ ];
+ return {years,months,defaultVal}
+ }
+ break;
+ case "dateTime":
+ if(flag){
+ defaultVal=returnArr;
+ }else{
+ if(hasSecond){
+ defaultVal=[
+ years.indexOf(dvalDate[0])==-1?0:years.indexOf(dvalDate[0]),
+ months.indexOf(dvalDate[1])==-1?0:months.indexOf(dvalDate[1]),
+ days.indexOf(dvalDate[2])==-1?0:days.indexOf(dvalDate[2]),
+ hours.indexOf(dvalDate[3])==-1?0:hours.indexOf(dvalDate[3]),
+ minutes.indexOf(dvalDate[4])==-1?0:minutes.indexOf(dvalDate[4]),
+ seconds.indexOf(dvalDate[5])==-1?0:seconds.indexOf(dvalDate[5])
+ ];
+ }else{
+ defaultVal=[
+ years.indexOf(dvalDate[0])==-1?0:years.indexOf(dvalDate[0]),
+ months.indexOf(dvalDate[1])==-1?0:months.indexOf(dvalDate[1]),
+ days.indexOf(dvalDate[2])==-1?0:days.indexOf(dvalDate[2]),
+ hours.indexOf(dvalDate[3])==-1?0:hours.indexOf(dvalDate[3]),
+ minutes.indexOf(dvalDate[4])==-1?0:minutes.indexOf(dvalDate[4])
+ ];
+ }
+ }
+ if(hasSecond){
+ return {years,months,days,hours,minutes,seconds,defaultVal}
+ }else{
+ return {years,months,days,hours,minutes,defaultVal}
+ }
+ break;
+ case "time":
+ if(flag){
+ defaultVal=[returnArr[3],returnArr[4],returnArr[5]];
+ }else{
+ if(hasSecond){
+ defaultVal=[
+ hours.indexOf(dvalDate[0])==-1?0:hours.indexOf(dvalDate[0]),
+ minutes.indexOf(dvalDate[1])==-1?0:minutes.indexOf(dvalDate[1]),
+ seconds.indexOf(dvalDate[2])==-1?0:seconds.indexOf(dvalDate[2])
+ ];
+ }else{
+ defaultVal=[
+ hours.indexOf(dvalDate[0])==-1?0:hours.indexOf(dvalDate[0]),
+ minutes.indexOf(dvalDate[1])==-1?0:minutes.indexOf(dvalDate[1])
+ ];
+ }
+ }
+ return {hours,minutes,seconds,defaultVal}
+ break;
+ }
+ },
+ initMonths:(year,disabled)=>{
+ let aDate=new Date();
+ let dYear=aDate.getFullYear();
+ let dMonth=aDate.getMonth()+1;
+ let dDate=aDate.getDate();
+ let flag=dYear==year?true:false;
+ let months=[];
+ if(disabled){
+ if(flag){
+ for(let m=1;m<=dMonth;m++){
+ months.push(forMatNum(m));
+ };
+ }else{
+ for(let m=1;m<=12;m++){
+ months.push(forMatNum(m));
+ };
+ }
+ }else{
+ for(let m=1;m<=12;m++){
+ months.push(forMatNum(m));
+ };
+ };
+ return months;
+ },
+ initDays:(year,month,disabled)=>{
+ let aDate=new Date();
+ let dYear=aDate.getFullYear();
+ let dMonth=aDate.getMonth()+1;
+ let dDate=aDate.getDate();
+ let flag=(dYear==year&&dMonth==month)?true:false;
+ let totalDays=new Date(year,month,0).getDate();
+ let dates=[];
+ if(flag&&disabled){
+ for(let d=1;d<=dDate;d++){
+ dates.push(forMatNum(d));
+ };
+ }else{
+ for(let d=1;d<=totalDays;d++){
+ dates.push(forMatNum(d));
+ };
+ };
+ return dates;
+ },
+ },
+ //短期日期上下午
+ limitHour:{
+ init(dayStep=7,dVal){
+ let startDate=new Date();
+ let date=[],areas=[],hours=[];
+ let hour=new Date().getHours();
+ let weeks=["周日","周一","周二","周三","周四","周五","周六"];
+ let arrs=[];
+ let defaultVal=[];
+ let d=0,a=0,h=0;
+ for(let i=0;i12){
+ areas=[{
+ label:"下午",
+ value:1
+ }]
+ }else{
+ areas=[{
+ label:"上午",
+ value:0
+ },{
+ label:"下午",
+ value:1
+ }]
+ };
+ for(let k=hour>12?hour-12:hour;k<=12;k++){
+ hours.push({
+ label:forMatNum(k),
+ value:forMatNum(hour>12?k+12:k)
+ })
+ };
+ date.map((v,k)=>{
+ if(v.label==dVal[0]){
+ d=k
+ }
+ })
+ if(d!=0){
+ areas=this.initAreas(date[d]);
+ hours=this.initHours(date[d],areas[a]);
+ }
+ areas.map((v,k)=>{
+ if(v.label==dVal[1]){
+ a=k
+ }
+ })
+ hours.map((v,k)=>{
+ if(v.label==dVal[2]){
+ h=k
+ }
+ });
+ defaultVal=[d,a,h]
+ return {date,areas,hours,defaultVal};
+ },
+ initAreas(date){
+ let areas=[];
+ let hour=new Date().getHours();
+ if(date.today){
+ if(hour>12){
+ areas=[{
+ label:"下午",
+ value:1
+ }]
+ }else{
+ areas=[{
+ label:"上午",
+ value:0
+ },{
+ label:"下午",
+ value:1
+ }]
+ };
+ }else{
+ areas=[{
+ label:"上午",
+ value:0
+ },{
+ label:"下午",
+ value:1
+ }]
+ }
+ return areas;
+ },
+ initHours(dateCol,hourCol){
+ let hours=[];
+ let hour=new Date().getHours();
+ if(dateCol.today){
+ if(hourCol.value==1&&hour<=12){
+ for(let k=1;k<=12;k++){
+ hours.push({
+ label:forMatNum(k),
+ value:forMatNum(hourCol.value==1?k+12:k)
+ })
+ };
+ }else{
+ for(let k=hour>12?hour-12:hour;k<=12;k++){
+ hours.push({
+ label:forMatNum(k),
+ value:forMatNum(hourCol.value==1?k+12:k)
+ })
+ };
+ }
+
+ }else{
+ for(let k=1;k<=12;k++){
+ hours.push({
+ label:forMatNum(k),
+ value:forMatNum(hourCol.value==1?k+12:k)
+ })
+ };
+ };
+ return hours
+ }
+ },
+ //短期日期时间初始化
+ limit:{
+ init(dayStep=7,startHour=8,endHour=20,minuteStep=1,afterStep=30,dVal){
+ let startDate=new Date();
+ let bsDate=new Date(new Date().getTime()+afterStep*60*1000);
+ let date=[],hours=[],minutes=[];
+ let hour=bsDate.getHours();
+ let minute=Math.floor(bsDate.getMinutes()/minuteStep)*minuteStep;
+ let weeks=["周日","周一","周二","周三","周四","周五","周六"];
+ let d=0,h=0,m=0;
+ let defaultVal=[];
+ for(let i=0;iendHour){
+ hour=endHour;
+ };
+ for(let k=hour*1;k<=endHour*1;k++){
+ hours.push({
+ label:forMatNum(k),
+ value:forMatNum(k),
+ flag:k==hour?true:false
+ })
+ };
+ for(let j=minute;j<60;j+=minuteStep*1){
+ minutes.push({
+ label:forMatNum(j),
+ value:forMatNum(j)
+ });
+ }
+ date.map((v,k)=>{
+ if(v.label==dVal[0]){
+ d=k
+ }
+ })
+ if(d!=0){
+ hours=this.initHours(startHour=8,endHour=20,minuteStep=1,afterStep=30,date[d].value);
+ }
+ hours.map((v,k)=>{
+ if(v.label==dVal[1]){
+ h=k
+ }
+ })
+ minutes.map((v,k)=>{
+ if(v.label==dVal[2]){
+ m=k
+ }
+ })
+ defaultVal=[d,h,m];
+ return {date,hours,minutes,defaultVal};
+ },
+ initHours(startHour=8,endHour=20,minuteStep=1,afterStep=30,date){
+ let hours=[];
+ let arr=date.split("-");
+ let aDate=new Date();
+ let dYear=aDate.getFullYear();
+ let dMonth=aDate.getMonth()+1;
+ let dDate=aDate.getDate();
+ let bsDate=new Date(new Date().getTime()+afterStep*60*1000);
+ let hour=bsDate.getHours();
+ let flag=(dYear==arr[0]&&dMonth==arr[1]&&dDate==arr[2])?true:false;
+ if(hour>endHour){
+ hour=endHour;
+ };
+ if(flag){
+ for(let k=hour*1;k<=endHour*1;k++){
+ hours.push({
+ label:forMatNum(k),
+ value:forMatNum(k),
+ flag:k==hour?true:false
+ })
+ };
+ }else{
+ for(let k=startHour*1;k<=endHour*1;k++){
+ hours.push({
+ label:forMatNum(k),
+ value:forMatNum(k),
+ flag:false
+ })
+ }
+ };
+ return hours;
+ },
+ initMinutes(startHour=8,endHour=20,minuteStep=1,afterStep=30,date,hour){
+ let minutes=[];
+ let bsDate=new Date(new Date().getTime()+afterStep*60*1000);
+ let arr=date.split("-");
+ let aDate=new Date();
+ let dYear=aDate.getFullYear();
+ let dMonth=aDate.getMonth()+1;
+ let dDate=aDate.getDate();
+ let dHour=bsDate.getHours();;
+ let minute=Math.floor(bsDate.getMinutes()/minuteStep)*minuteStep;
+ let flag=(dYear==arr[0]&&dMonth==arr[1]&&dDate==arr[2])?true:false;
+ if(flag){
+ if(hour==dHour){
+ for(let j=minute;j<60;j+=minuteStep*1){
+ minutes.push({
+ label:forMatNum(j),
+ value:forMatNum(j)
+ });
+ }
+ }else{
+ for(let j=0;j<60;j+=minuteStep*1){
+ minutes.push({
+ label:forMatNum(j),
+ value:forMatNum(j)
+ })
+ }
+ }
+
+ }else{
+ for(let j=0;j<60;j+=minuteStep*1){
+ minutes.push({
+ label:forMatNum(j),
+ value:forMatNum(j)
+ })
+ }
+ }
+ return minutes;
+ }
+ },
+ //选择区间初始化
+ range:{
+ init(start,end,value,flag){
+ let aToday=new Date();
+ let tYear,tMonth,tDay,tHours,tMinutes,tSeconds,defaultVal=[];
+ let initstartDate=new Date(start.toString());
+ let endDate=new Date(end.toString());
+ if(start>end){
+ initstartDate=new Date(end.toString());
+ endDate=new Date(start.toString());
+ };
+ let startYear=initstartDate.getFullYear();
+ let startMonth=initstartDate.getMonth()+1;
+ let endYear=endDate.getFullYear();
+ let fyears=[],fmonths=[],fdays=[],tyears=[],tmonths=[],tdays=[],returnArr=[],startDVal=[],endDVal=[];
+ startDVal=value[0].split("-");
+ endDVal=value[1].split("-");
+ let curMonth=flag?startDVal[1]*1:(startDVal[1]+1);
+ let totalDays=new Date(startYear,curMonth,0).getDate();
+ for(let s=startYear;s<=endYear;s++){
+ fyears.push(s+'');
+ };
+ for(let m=1;m<=12;m++){
+ fmonths.push(forMatNum(m));
+ };
+ for(let d=1;d<=totalDays;d++){
+ fdays.push(forMatNum(d));
+ };
+ for(let s=startDVal[0];s<=endYear;s++){
+ tyears.push(s+'');
+ };
+ if(endDVal[0]>startDVal[0]){
+ for(let m=1;m<=12;m++){
+ tmonths.push(forMatNum(m));
+ };
+ for(let d=1;d<=totalDays;d++){
+ tdays.push(forMatNum(d));
+ };
+ }else{
+ for(let m=startDVal[1];m<=12;m++){
+ tmonths.push(forMatNum(m));
+ };
+ for(let d=startDVal[2];d<=totalDays;d++){
+ tdays.push(forMatNum(d));
+ };
+ };
+
+ defaultVal=[
+ fyears.indexOf(startDVal[0])==-1?0:fyears.indexOf(startDVal[0]),
+ fmonths.indexOf(startDVal[1])==-1?0:fmonths.indexOf(startDVal[1]),
+ fdays.indexOf(startDVal[2])==-1?0:fdays.indexOf(startDVal[2]),
+ 0,
+ tyears.indexOf(endDVal[0])==-1?0:tyears.indexOf(endDVal[0]),
+ tmonths.indexOf(endDVal[1])==-1?0:tmonths.indexOf(endDVal[1]),
+ tdays.indexOf(endDVal[2])==-1?0:tdays.indexOf(endDVal[2])
+ ];
+ return {
+ fyears,
+ fmonths,
+ fdays,
+ tyears,
+ tmonths,
+ tdays,
+ defaultVal
+ }
+ },
+ initStartDays(year,month){
+ let totalDays=new Date(year,month,0).getDate();
+ let dates=[];
+ for(let d=1;d<=totalDays;d++){
+ dates.push(forMatNum(d));
+ };
+ return dates;
+ },
+ initEndYears(curYear,startYear,endYear){
+ let years=[];
+ for(let y=curYear;y<=endYear;y++){
+ years.push(forMatNum(y));
+ };
+ return years;
+ },
+ initEndMonths(curMonth){
+ let months=[];
+ for(let m=curMonth*1;m<=12;m++){
+ months.push(forMatNum(m));
+ };
+ return months;
+ },
+ initEndDays(curYear,curMonth,curDate,tYear,tMonth){
+ let totalDays=new Date(curYear,curMonth,0).getDate();
+ let days=[];
+ for(let d=curDate*1;d<=totalDays;d++){
+ days.push(forMatNum(d));
+ };
+ return days;
+ },
+ initToMonths(curYear,curMonth,curDate,tYear){
+ let aDate=new Date(curYear,curMonth,curDate).getTime();
+ let bDate=new Date(tYear,curMonth,curDate).getTime();
+ let months=[];
+ if(bDate-aDate>0){
+ for(let m=1;m<=12;m++){
+ months.push(forMatNum(m));
+ };
+ }else{
+ for(let m=curMonth*1;m<=12;m++){
+ months.push(forMatNum(m));
+ };
+ }
+ return months;
+ },
+ initToDays(curYear,curMonth,curDate,tYear,tMonth){
+ let aDate=new Date(curYear,curMonth,curDate).getTime();
+ let bDate=new Date(tYear,tMonth,curDate).getTime();
+ let totalDays=new Date(tYear,tMonth,0).getDate();
+ let days=[];
+ if(bDate-aDate>0){
+ for(let d=1;d<=totalDays;d++){
+ days.push(forMatNum(d));
+ };
+ }else{
+ for(let d=curDate*1;d<=totalDays;d++){
+ days.push(forMatNum(d));
+ };
+ }
+ return days;
+ }
+ }
+}
+
+export default initPicker
\ No newline at end of file
diff --git a/app/components/wPicker/w-picker.vue b/app/components/wPicker/w-picker.vue
new file mode 100644
index 0000000..dae62b7
--- /dev/null
+++ b/app/components/wPicker/w-picker.vue
@@ -0,0 +1,1138 @@
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+ {{item.label}}
+
+
+
+
+
+
+ {{item}}年
+
+
+ {{item}}月
+
+
+ {{item}}日
+
+
+ {{item.label}}
+
+
+
+
+
+
+ {{item}}年
+
+
+ {{item}}月
+
+
+ {{item}}日
+
+
+
+
+
+
+ {{item}}年
+
+
+ {{item}}月
+
+
+
+
+
+
+ {{item}}年
+
+
+ {{item}}月
+
+
+ {{item}}日
+
+
+ {{item}}时
+
+
+ {{item}}分
+
+
+ {{item}}秒
+
+
+
+
+
+
+ {{item}}
+
+
+ {{item}}
+
+
+ {{item}}
+
+
+ -
+
+
+ {{item}}
+
+
+ {{item}}
+
+
+ {{item}}
+
+
+
+
+
+
+ {{item}}时
+
+
+ {{item}}分
+
+
+ {{item}}秒
+
+
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+
+
+
+
+ {{item.label}}
+
+
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}时
+
+
+ {{item.label}}分
+
+
+
+
+
+
+ {{item.label}}
+
+
+ {{item.label}}
+
+
+ {{item.label}}时
+
+
+
+
+
+
+
+
+
+
diff --git a/app/config/app.js b/app/config/app.js
new file mode 100644
index 0000000..be268a9
--- /dev/null
+++ b/app/config/app.js
@@ -0,0 +1,40 @@
+// +----------------------------------------------------------------------
+// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+// +----------------------------------------------------------------------
+// | Author: CRMEB Team
+// +----------------------------------------------------------------------
+//移动端商城API
+let domain = 'http://your Front API domain'
+
+module.exports = {
+ // 请求域名 格式: https://您的域名
+ HTTP_REQUEST_URL:domain,
+
+ // #ifdef MP
+ HTTP_REQUEST_URL: domain,
+ // #endif
+ HTTP_ADMIN_URL:'http://your h5 domain', //PC后台的API请求地址,上传图片用,影响h5上传头像
+ // #ifdef H5
+ //H5接口是浏览器地址
+ // HTTP_REQUEST_URL: window.location.protocol+"//"+window.location.host,
+ // http://api.java.crmeb.net:20001
+ HTTP_REQUEST_URL:domain,
+ // #endif
+
+ HEADER:{
+ 'content-type': 'application/json'
+ },
+ HEADERPARAMS:{
+ 'content-type': 'application/x-www-form-urlencoded'
+ },
+ // 回话密钥名称 请勿修改此配置
+ TOKENNAME: 'Authori-zation',
+ // 缓存时间 0 永久
+ EXPIRE:0,
+ //分页最多显示条数
+ LIMIT: 10
+};
diff --git a/app/config/cache.js b/app/config/cache.js
new file mode 100644
index 0000000..35fa418
--- /dev/null
+++ b/app/config/cache.js
@@ -0,0 +1,34 @@
+module.exports = {
+ //token
+ LOGIN_STATUS: 'LOGIN_STATUS_TOKEN',
+ // uid
+ UID:'UID',
+ //用户信息
+ USER_INFO: 'USER_INFO',
+ //token 过期时间
+ EXPIRES_TIME: 'EXPIRES_TIME',
+ //微信授权
+ WX_AUTH: 'WX_AUTH',
+ //微信授权状态
+ STATE_KEY: 'wx_authorize_state',
+ //登录类型
+ LOGINTYPE: 'loginType',
+ //登录回调地址
+ BACK_URL: 'login_back_url',
+ // 小程序授权状态
+ STATE_R_KEY: 'roution_authorize_state',
+ //logo Url
+ LOGO_URL: 'LOGO_URL',
+ //模板缓存
+ // SUBSCRIBE_MESSAGE: 'SUBSCRIBE_MESSAGE',
+
+ TIPS_KEY: 'TIPS_KEY',
+
+ SPREAD: 'spread',
+ //缓存经度
+ CACHE_LONGITUDE: 'LONGITUDE',
+ //缓存纬度
+ CACHE_LATITUDE: 'LATITUDE',
+ //app手机信息
+ PLATFORM: 'systemPlatform'
+}
\ No newline at end of file
diff --git a/app/config/socket.js b/app/config/socket.js
new file mode 100644
index 0000000..a73fe0a
--- /dev/null
+++ b/app/config/socket.js
@@ -0,0 +1,8 @@
+module.exports = {
+ // Socket链接 暂不做配置
+ WSS_SERVER_URL:'',
+ // Socket调试模式
+ SERVER_DEBUG:true,
+ // 心跳间隔
+ PINGINTERVAL:3000
+}
\ No newline at end of file
diff --git a/app/js_sdk/Sansnn-uQRCode/uqrcode.js b/app/js_sdk/Sansnn-uQRCode/uqrcode.js
new file mode 100644
index 0000000..e21bbb4
--- /dev/null
+++ b/app/js_sdk/Sansnn-uQRCode/uqrcode.js
@@ -0,0 +1,1380 @@
+//---------------------------------------------------------------------
+// github https://github.com/Sansnn/uQRCode
+//---------------------------------------------------------------------
+
+let uQRCode = {};
+
+(function() {
+ //---------------------------------------------------------------------
+ // QRCode for JavaScript
+ //
+ // Copyright (c) 2009 Kazuhiko Arase
+ //
+ // URL: http://www.d-project.com/
+ //
+ // Licensed under the MIT license:
+ // http://www.opensource.org/licenses/mit-license.php
+ //
+ // The word "QR Code" is registered trademark of
+ // DENSO WAVE INCORPORATED
+ // http://www.denso-wave.com/qrcode/faqpatent-e.html
+ //
+ //---------------------------------------------------------------------
+
+ //---------------------------------------------------------------------
+ // QR8bitByte
+ //---------------------------------------------------------------------
+
+ function QR8bitByte(data) {
+ this.mode = QRMode.MODE_8BIT_BYTE;
+ this.data = data;
+ }
+
+ QR8bitByte.prototype = {
+
+ getLength: function(buffer) {
+ return this.data.length;
+ },
+
+ write: function(buffer) {
+ for (var i = 0; i < this.data.length; i++) {
+ // not JIS ...
+ buffer.put(this.data.charCodeAt(i), 8);
+ }
+ }
+ };
+
+ //---------------------------------------------------------------------
+ // QRCode
+ //---------------------------------------------------------------------
+
+ function QRCode(typeNumber, errorCorrectLevel) {
+ this.typeNumber = typeNumber;
+ this.errorCorrectLevel = errorCorrectLevel;
+ this.modules = null;
+ this.moduleCount = 0;
+ this.dataCache = null;
+ this.dataList = new Array();
+ }
+
+ QRCode.prototype = {
+
+ addData: function(data) {
+ var newData = new QR8bitByte(data);
+ this.dataList.push(newData);
+ this.dataCache = null;
+ },
+
+ isDark: function(row, col) {
+ if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {
+ throw new Error(row + "," + col);
+ }
+ return this.modules[row][col];
+ },
+
+ getModuleCount: function() {
+ return this.moduleCount;
+ },
+
+ make: function() {
+ // Calculate automatically typeNumber if provided is < 1
+ if (this.typeNumber < 1) {
+ var typeNumber = 1;
+ for (typeNumber = 1; typeNumber < 40; typeNumber++) {
+ var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel);
+
+ var buffer = new QRBitBuffer();
+ var totalDataCount = 0;
+ for (var i = 0; i < rsBlocks.length; i++) {
+ totalDataCount += rsBlocks[i].dataCount;
+ }
+
+ for (var i = 0; i < this.dataList.length; i++) {
+ var data = this.dataList[i];
+ buffer.put(data.mode, 4);
+ buffer.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber));
+ data.write(buffer);
+ }
+ if (buffer.getLengthInBits() <= totalDataCount * 8)
+ break;
+ }
+ this.typeNumber = typeNumber;
+ }
+ this.makeImpl(false, this.getBestMaskPattern());
+ },
+
+ makeImpl: function(test, maskPattern) {
+
+ this.moduleCount = this.typeNumber * 4 + 17;
+ this.modules = new Array(this.moduleCount);
+
+ for (var row = 0; row < this.moduleCount; row++) {
+
+ this.modules[row] = new Array(this.moduleCount);
+
+ for (var col = 0; col < this.moduleCount; col++) {
+ this.modules[row][col] = null; //(col + row) % 3;
+ }
+ }
+
+ this.setupPositionProbePattern(0, 0);
+ this.setupPositionProbePattern(this.moduleCount - 7, 0);
+ this.setupPositionProbePattern(0, this.moduleCount - 7);
+ this.setupPositionAdjustPattern();
+ this.setupTimingPattern();
+ this.setupTypeInfo(test, maskPattern);
+
+ if (this.typeNumber >= 7) {
+ this.setupTypeNumber(test);
+ }
+
+ if (this.dataCache == null) {
+ this.dataCache = QRCode.createData(this.typeNumber, this.errorCorrectLevel, this.dataList);
+ }
+
+ this.mapData(this.dataCache, maskPattern);
+ },
+
+ setupPositionProbePattern: function(row, col) {
+
+ for (var r = -1; r <= 7; r++) {
+
+ if (row + r <= -1 || this.moduleCount <= row + r) continue;
+
+ for (var c = -1; c <= 7; c++) {
+
+ if (col + c <= -1 || this.moduleCount <= col + c) continue;
+
+ if ((0 <= r && r <= 6 && (c == 0 || c == 6)) ||
+ (0 <= c && c <= 6 && (r == 0 || r == 6)) ||
+ (2 <= r && r <= 4 && 2 <= c && c <= 4)) {
+ this.modules[row + r][col + c] = true;
+ } else {
+ this.modules[row + r][col + c] = false;
+ }
+ }
+ }
+ },
+
+ getBestMaskPattern: function() {
+
+ var minLostPoint = 0;
+ var pattern = 0;
+
+ for (var i = 0; i < 8; i++) {
+
+ this.makeImpl(true, i);
+
+ var lostPoint = QRUtil.getLostPoint(this);
+
+ if (i == 0 || minLostPoint > lostPoint) {
+ minLostPoint = lostPoint;
+ pattern = i;
+ }
+ }
+
+ return pattern;
+ },
+
+ createMovieClip: function(target_mc, instance_name, depth) {
+
+ var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth);
+ var cs = 1;
+
+ this.make();
+
+ for (var row = 0; row < this.modules.length; row++) {
+
+ var y = row * cs;
+
+ for (var col = 0; col < this.modules[row].length; col++) {
+
+ var x = col * cs;
+ var dark = this.modules[row][col];
+
+ if (dark) {
+ qr_mc.beginFill(0, 100);
+ qr_mc.moveTo(x, y);
+ qr_mc.lineTo(x + cs, y);
+ qr_mc.lineTo(x + cs, y + cs);
+ qr_mc.lineTo(x, y + cs);
+ qr_mc.endFill();
+ }
+ }
+ }
+
+ return qr_mc;
+ },
+
+ setupTimingPattern: function() {
+
+ for (var r = 8; r < this.moduleCount - 8; r++) {
+ if (this.modules[r][6] != null) {
+ continue;
+ }
+ this.modules[r][6] = (r % 2 == 0);
+ }
+
+ for (var c = 8; c < this.moduleCount - 8; c++) {
+ if (this.modules[6][c] != null) {
+ continue;
+ }
+ this.modules[6][c] = (c % 2 == 0);
+ }
+ },
+
+ setupPositionAdjustPattern: function() {
+
+ var pos = QRUtil.getPatternPosition(this.typeNumber);
+
+ for (var i = 0; i < pos.length; i++) {
+
+ for (var j = 0; j < pos.length; j++) {
+
+ var row = pos[i];
+ var col = pos[j];
+
+ if (this.modules[row][col] != null) {
+ continue;
+ }
+
+ for (var r = -2; r <= 2; r++) {
+
+ for (var c = -2; c <= 2; c++) {
+
+ if (r == -2 || r == 2 || c == -2 || c == 2 ||
+ (r == 0 && c == 0)) {
+ this.modules[row + r][col + c] = true;
+ } else {
+ this.modules[row + r][col + c] = false;
+ }
+ }
+ }
+ }
+ }
+ },
+
+ setupTypeNumber: function(test) {
+
+ var bits = QRUtil.getBCHTypeNumber(this.typeNumber);
+
+ for (var i = 0; i < 18; i++) {
+ var mod = (!test && ((bits >> i) & 1) == 1);
+ this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;
+ }
+
+ for (var i = 0; i < 18; i++) {
+ var mod = (!test && ((bits >> i) & 1) == 1);
+ this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;
+ }
+ },
+
+ setupTypeInfo: function(test, maskPattern) {
+
+ var data = (this.errorCorrectLevel << 3) | maskPattern;
+ var bits = QRUtil.getBCHTypeInfo(data);
+
+ // vertical
+ for (var i = 0; i < 15; i++) {
+
+ var mod = (!test && ((bits >> i) & 1) == 1);
+
+ if (i < 6) {
+ this.modules[i][8] = mod;
+ } else if (i < 8) {
+ this.modules[i + 1][8] = mod;
+ } else {
+ this.modules[this.moduleCount - 15 + i][8] = mod;
+ }
+ }
+
+ // horizontal
+ for (var i = 0; i < 15; i++) {
+
+ var mod = (!test && ((bits >> i) & 1) == 1);
+
+ if (i < 8) {
+ this.modules[8][this.moduleCount - i - 1] = mod;
+ } else if (i < 9) {
+ this.modules[8][15 - i - 1 + 1] = mod;
+ } else {
+ this.modules[8][15 - i - 1] = mod;
+ }
+ }
+
+ // fixed module
+ this.modules[this.moduleCount - 8][8] = (!test);
+
+ },
+
+ mapData: function(data, maskPattern) {
+
+ var inc = -1;
+ var row = this.moduleCount - 1;
+ var bitIndex = 7;
+ var byteIndex = 0;
+
+ for (var col = this.moduleCount - 1; col > 0; col -= 2) {
+
+ if (col == 6) col--;
+
+ while (true) {
+
+ for (var c = 0; c < 2; c++) {
+
+ if (this.modules[row][col - c] == null) {
+
+ var dark = false;
+
+ if (byteIndex < data.length) {
+ dark = (((data[byteIndex] >>> bitIndex) & 1) == 1);
+ }
+
+ var mask = QRUtil.getMask(maskPattern, row, col - c);
+
+ if (mask) {
+ dark = !dark;
+ }
+
+ this.modules[row][col - c] = dark;
+ bitIndex--;
+
+ if (bitIndex == -1) {
+ byteIndex++;
+ bitIndex = 7;
+ }
+ }
+ }
+
+ row += inc;
+
+ if (row < 0 || this.moduleCount <= row) {
+ row -= inc;
+ inc = -inc;
+ break;
+ }
+ }
+ }
+
+ }
+
+ };
+
+ QRCode.PAD0 = 0xEC;
+ QRCode.PAD1 = 0x11;
+
+ QRCode.createData = function(typeNumber, errorCorrectLevel, dataList) {
+
+ var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel);
+
+ var buffer = new QRBitBuffer();
+
+ for (var i = 0; i < dataList.length; i++) {
+ var data = dataList[i];
+ buffer.put(data.mode, 4);
+ buffer.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber));
+ data.write(buffer);
+ }
+
+ // calc num max data.
+ var totalDataCount = 0;
+ for (var i = 0; i < rsBlocks.length; i++) {
+ totalDataCount += rsBlocks[i].dataCount;
+ }
+
+ if (buffer.getLengthInBits() > totalDataCount * 8) {
+ throw new Error("code length overflow. (" +
+ buffer.getLengthInBits() +
+ ">" +
+ totalDataCount * 8 +
+ ")");
+ }
+
+ // end code
+ if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {
+ buffer.put(0, 4);
+ }
+
+ // padding
+ while (buffer.getLengthInBits() % 8 != 0) {
+ buffer.putBit(false);
+ }
+
+ // padding
+ while (true) {
+
+ if (buffer.getLengthInBits() >= totalDataCount * 8) {
+ break;
+ }
+ buffer.put(QRCode.PAD0, 8);
+
+ if (buffer.getLengthInBits() >= totalDataCount * 8) {
+ break;
+ }
+ buffer.put(QRCode.PAD1, 8);
+ }
+
+ return QRCode.createBytes(buffer, rsBlocks);
+ }
+
+ QRCode.createBytes = function(buffer, rsBlocks) {
+
+ var offset = 0;
+
+ var maxDcCount = 0;
+ var maxEcCount = 0;
+
+ var dcdata = new Array(rsBlocks.length);
+ var ecdata = new Array(rsBlocks.length);
+
+ for (var r = 0; r < rsBlocks.length; r++) {
+
+ var dcCount = rsBlocks[r].dataCount;
+ var ecCount = rsBlocks[r].totalCount - dcCount;
+
+ maxDcCount = Math.max(maxDcCount, dcCount);
+ maxEcCount = Math.max(maxEcCount, ecCount);
+
+ dcdata[r] = new Array(dcCount);
+
+ for (var i = 0; i < dcdata[r].length; i++) {
+ dcdata[r][i] = 0xff & buffer.buffer[i + offset];
+ }
+ offset += dcCount;
+
+ var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);
+ var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1);
+
+ var modPoly = rawPoly.mod(rsPoly);
+ ecdata[r] = new Array(rsPoly.getLength() - 1);
+ for (var i = 0; i < ecdata[r].length; i++) {
+ var modIndex = i + modPoly.getLength() - ecdata[r].length;
+ ecdata[r][i] = (modIndex >= 0) ? modPoly.get(modIndex) : 0;
+ }
+
+ }
+
+ var totalCodeCount = 0;
+ for (var i = 0; i < rsBlocks.length; i++) {
+ totalCodeCount += rsBlocks[i].totalCount;
+ }
+
+ var data = new Array(totalCodeCount);
+ var index = 0;
+
+ for (var i = 0; i < maxDcCount; i++) {
+ for (var r = 0; r < rsBlocks.length; r++) {
+ if (i < dcdata[r].length) {
+ data[index++] = dcdata[r][i];
+ }
+ }
+ }
+
+ for (var i = 0; i < maxEcCount; i++) {
+ for (var r = 0; r < rsBlocks.length; r++) {
+ if (i < ecdata[r].length) {
+ data[index++] = ecdata[r][i];
+ }
+ }
+ }
+
+ return data;
+
+ }
+
+ //---------------------------------------------------------------------
+ // QRMode
+ //---------------------------------------------------------------------
+
+ var QRMode = {
+ MODE_NUMBER: 1 << 0,
+ MODE_ALPHA_NUM: 1 << 1,
+ MODE_8BIT_BYTE: 1 << 2,
+ MODE_KANJI: 1 << 3
+ };
+
+ //---------------------------------------------------------------------
+ // QRErrorCorrectLevel
+ //---------------------------------------------------------------------
+
+ var QRErrorCorrectLevel = {
+ L: 1,
+ M: 0,
+ Q: 3,
+ H: 2
+ };
+
+ //---------------------------------------------------------------------
+ // QRMaskPattern
+ //---------------------------------------------------------------------
+
+ var QRMaskPattern = {
+ PATTERN000: 0,
+ PATTERN001: 1,
+ PATTERN010: 2,
+ PATTERN011: 3,
+ PATTERN100: 4,
+ PATTERN101: 5,
+ PATTERN110: 6,
+ PATTERN111: 7
+ };
+
+ //---------------------------------------------------------------------
+ // QRUtil
+ //---------------------------------------------------------------------
+
+ var QRUtil = {
+
+ PATTERN_POSITION_TABLE: [
+ [],
+ [6, 18],
+ [6, 22],
+ [6, 26],
+ [6, 30],
+ [6, 34],
+ [6, 22, 38],
+ [6, 24, 42],
+ [6, 26, 46],
+ [6, 28, 50],
+ [6, 30, 54],
+ [6, 32, 58],
+ [6, 34, 62],
+ [6, 26, 46, 66],
+ [6, 26, 48, 70],
+ [6, 26, 50, 74],
+ [6, 30, 54, 78],
+ [6, 30, 56, 82],
+ [6, 30, 58, 86],
+ [6, 34, 62, 90],
+ [6, 28, 50, 72, 94],
+ [6, 26, 50, 74, 98],
+ [6, 30, 54, 78, 102],
+ [6, 28, 54, 80, 106],
+ [6, 32, 58, 84, 110],
+ [6, 30, 58, 86, 114],
+ [6, 34, 62, 90, 118],
+ [6, 26, 50, 74, 98, 122],
+ [6, 30, 54, 78, 102, 126],
+ [6, 26, 52, 78, 104, 130],
+ [6, 30, 56, 82, 108, 134],
+ [6, 34, 60, 86, 112, 138],
+ [6, 30, 58, 86, 114, 142],
+ [6, 34, 62, 90, 118, 146],
+ [6, 30, 54, 78, 102, 126, 150],
+ [6, 24, 50, 76, 102, 128, 154],
+ [6, 28, 54, 80, 106, 132, 158],
+ [6, 32, 58, 84, 110, 136, 162],
+ [6, 26, 54, 82, 110, 138, 166],
+ [6, 30, 58, 86, 114, 142, 170]
+ ],
+
+ G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),
+ G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),
+ G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1),
+
+ getBCHTypeInfo: function(data) {
+ var d = data << 10;
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {
+ d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15)));
+ }
+ return ((data << 10) | d) ^ QRUtil.G15_MASK;
+ },
+
+ getBCHTypeNumber: function(data) {
+ var d = data << 12;
+ while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {
+ d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18)));
+ }
+ return (data << 12) | d;
+ },
+
+ getBCHDigit: function(data) {
+
+ var digit = 0;
+
+ while (data != 0) {
+ digit++;
+ data >>>= 1;
+ }
+
+ return digit;
+ },
+
+ getPatternPosition: function(typeNumber) {
+ return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];
+ },
+
+ getMask: function(maskPattern, i, j) {
+
+ switch (maskPattern) {
+
+ case QRMaskPattern.PATTERN000:
+ return (i + j) % 2 == 0;
+ case QRMaskPattern.PATTERN001:
+ return i % 2 == 0;
+ case QRMaskPattern.PATTERN010:
+ return j % 3 == 0;
+ case QRMaskPattern.PATTERN011:
+ return (i + j) % 3 == 0;
+ case QRMaskPattern.PATTERN100:
+ return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;
+ case QRMaskPattern.PATTERN101:
+ return (i * j) % 2 + (i * j) % 3 == 0;
+ case QRMaskPattern.PATTERN110:
+ return ((i * j) % 2 + (i * j) % 3) % 2 == 0;
+ case QRMaskPattern.PATTERN111:
+ return ((i * j) % 3 + (i + j) % 2) % 2 == 0;
+
+ default:
+ throw new Error("bad maskPattern:" + maskPattern);
+ }
+ },
+
+ getErrorCorrectPolynomial: function(errorCorrectLength) {
+
+ var a = new QRPolynomial([1], 0);
+
+ for (var i = 0; i < errorCorrectLength; i++) {
+ a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0));
+ }
+
+ return a;
+ },
+
+ getLengthInBits: function(mode, type) {
+
+ if (1 <= type && type < 10) {
+
+ // 1 - 9
+
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 10;
+ case QRMode.MODE_ALPHA_NUM:
+ return 9;
+ case QRMode.MODE_8BIT_BYTE:
+ return 8;
+ case QRMode.MODE_KANJI:
+ return 8;
+ default:
+ throw new Error("mode:" + mode);
+ }
+
+ } else if (type < 27) {
+
+ // 10 - 26
+
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 12;
+ case QRMode.MODE_ALPHA_NUM:
+ return 11;
+ case QRMode.MODE_8BIT_BYTE:
+ return 16;
+ case QRMode.MODE_KANJI:
+ return 10;
+ default:
+ throw new Error("mode:" + mode);
+ }
+
+ } else if (type < 41) {
+
+ // 27 - 40
+
+ switch (mode) {
+ case QRMode.MODE_NUMBER:
+ return 14;
+ case QRMode.MODE_ALPHA_NUM:
+ return 13;
+ case QRMode.MODE_8BIT_BYTE:
+ return 16;
+ case QRMode.MODE_KANJI:
+ return 12;
+ default:
+ throw new Error("mode:" + mode);
+ }
+
+ } else {
+ throw new Error("type:" + type);
+ }
+ },
+
+ getLostPoint: function(qrCode) {
+
+ var moduleCount = qrCode.getModuleCount();
+
+ var lostPoint = 0;
+
+ // LEVEL1
+
+ for (var row = 0; row < moduleCount; row++) {
+
+ for (var col = 0; col < moduleCount; col++) {
+
+ var sameCount = 0;
+ var dark = qrCode.isDark(row, col);
+
+ for (var r = -1; r <= 1; r++) {
+
+ if (row + r < 0 || moduleCount <= row + r) {
+ continue;
+ }
+
+ for (var c = -1; c <= 1; c++) {
+
+ if (col + c < 0 || moduleCount <= col + c) {
+ continue;
+ }
+
+ if (r == 0 && c == 0) {
+ continue;
+ }
+
+ if (dark == qrCode.isDark(row + r, col + c)) {
+ sameCount++;
+ }
+ }
+ }
+
+ if (sameCount > 5) {
+ lostPoint += (3 + sameCount - 5);
+ }
+ }
+ }
+
+ // LEVEL2
+
+ for (var row = 0; row < moduleCount - 1; row++) {
+ for (var col = 0; col < moduleCount - 1; col++) {
+ var count = 0;
+ if (qrCode.isDark(row, col)) count++;
+ if (qrCode.isDark(row + 1, col)) count++;
+ if (qrCode.isDark(row, col + 1)) count++;
+ if (qrCode.isDark(row + 1, col + 1)) count++;
+ if (count == 0 || count == 4) {
+ lostPoint += 3;
+ }
+ }
+ }
+
+ // LEVEL3
+
+ for (var row = 0; row < moduleCount; row++) {
+ for (var col = 0; col < moduleCount - 6; col++) {
+ if (qrCode.isDark(row, col) &&
+ !qrCode.isDark(row, col + 1) &&
+ qrCode.isDark(row, col + 2) &&
+ qrCode.isDark(row, col + 3) &&
+ qrCode.isDark(row, col + 4) &&
+ !qrCode.isDark(row, col + 5) &&
+ qrCode.isDark(row, col + 6)) {
+ lostPoint += 40;
+ }
+ }
+ }
+
+ for (var col = 0; col < moduleCount; col++) {
+ for (var row = 0; row < moduleCount - 6; row++) {
+ if (qrCode.isDark(row, col) &&
+ !qrCode.isDark(row + 1, col) &&
+ qrCode.isDark(row + 2, col) &&
+ qrCode.isDark(row + 3, col) &&
+ qrCode.isDark(row + 4, col) &&
+ !qrCode.isDark(row + 5, col) &&
+ qrCode.isDark(row + 6, col)) {
+ lostPoint += 40;
+ }
+ }
+ }
+
+ // LEVEL4
+
+ var darkCount = 0;
+
+ for (var col = 0; col < moduleCount; col++) {
+ for (var row = 0; row < moduleCount; row++) {
+ if (qrCode.isDark(row, col)) {
+ darkCount++;
+ }
+ }
+ }
+
+ var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;
+ lostPoint += ratio * 10;
+
+ return lostPoint;
+ }
+
+ };
+
+
+ //---------------------------------------------------------------------
+ // QRMath
+ //---------------------------------------------------------------------
+
+ var QRMath = {
+
+ glog: function(n) {
+
+ if (n < 1) {
+ throw new Error("glog(" + n + ")");
+ }
+
+ return QRMath.LOG_TABLE[n];
+ },
+
+ gexp: function(n) {
+
+ while (n < 0) {
+ n += 255;
+ }
+
+ while (n >= 256) {
+ n -= 255;
+ }
+
+ return QRMath.EXP_TABLE[n];
+ },
+
+ EXP_TABLE: new Array(256),
+
+ LOG_TABLE: new Array(256)
+
+ };
+
+ for (var i = 0; i < 8; i++) {
+ QRMath.EXP_TABLE[i] = 1 << i;
+ }
+ for (var i = 8; i < 256; i++) {
+ QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^
+ QRMath.EXP_TABLE[i - 5] ^
+ QRMath.EXP_TABLE[i - 6] ^
+ QRMath.EXP_TABLE[i - 8];
+ }
+ for (var i = 0; i < 255; i++) {
+ QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;
+ }
+
+ //---------------------------------------------------------------------
+ // QRPolynomial
+ //---------------------------------------------------------------------
+
+ function QRPolynomial(num, shift) {
+
+ if (num.length == undefined) {
+ throw new Error(num.length + "/" + shift);
+ }
+
+ var offset = 0;
+
+ while (offset < num.length && num[offset] == 0) {
+ offset++;
+ }
+
+ this.num = new Array(num.length - offset + shift);
+ for (var i = 0; i < num.length - offset; i++) {
+ this.num[i] = num[i + offset];
+ }
+ }
+
+ QRPolynomial.prototype = {
+
+ get: function(index) {
+ return this.num[index];
+ },
+
+ getLength: function() {
+ return this.num.length;
+ },
+
+ multiply: function(e) {
+
+ var num = new Array(this.getLength() + e.getLength() - 1);
+
+ for (var i = 0; i < this.getLength(); i++) {
+ for (var j = 0; j < e.getLength(); j++) {
+ num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j)));
+ }
+ }
+
+ return new QRPolynomial(num, 0);
+ },
+
+ mod: function(e) {
+
+ if (this.getLength() - e.getLength() < 0) {
+ return this;
+ }
+
+ var ratio = QRMath.glog(this.get(0)) - QRMath.glog(e.get(0));
+
+ var num = new Array(this.getLength());
+
+ for (var i = 0; i < this.getLength(); i++) {
+ num[i] = this.get(i);
+ }
+
+ for (var i = 0; i < e.getLength(); i++) {
+ num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio);
+ }
+
+ // recursive call
+ return new QRPolynomial(num, 0).mod(e);
+ }
+ };
+
+ //---------------------------------------------------------------------
+ // QRRSBlock
+ //---------------------------------------------------------------------
+
+ function QRRSBlock(totalCount, dataCount) {
+ this.totalCount = totalCount;
+ this.dataCount = dataCount;
+ }
+
+ QRRSBlock.RS_BLOCK_TABLE = [
+
+ // L
+ // M
+ // Q
+ // H
+
+ // 1
+ [1, 26, 19],
+ [1, 26, 16],
+ [1, 26, 13],
+ [1, 26, 9],
+
+ // 2
+ [1, 44, 34],
+ [1, 44, 28],
+ [1, 44, 22],
+ [1, 44, 16],
+
+ // 3
+ [1, 70, 55],
+ [1, 70, 44],
+ [2, 35, 17],
+ [2, 35, 13],
+
+ // 4
+ [1, 100, 80],
+ [2, 50, 32],
+ [2, 50, 24],
+ [4, 25, 9],
+
+ // 5
+ [1, 134, 108],
+ [2, 67, 43],
+ [2, 33, 15, 2, 34, 16],
+ [2, 33, 11, 2, 34, 12],
+
+ // 6
+ [2, 86, 68],
+ [4, 43, 27],
+ [4, 43, 19],
+ [4, 43, 15],
+
+ // 7
+ [2, 98, 78],
+ [4, 49, 31],
+ [2, 32, 14, 4, 33, 15],
+ [4, 39, 13, 1, 40, 14],
+
+ // 8
+ [2, 121, 97],
+ [2, 60, 38, 2, 61, 39],
+ [4, 40, 18, 2, 41, 19],
+ [4, 40, 14, 2, 41, 15],
+
+ // 9
+ [2, 146, 116],
+ [3, 58, 36, 2, 59, 37],
+ [4, 36, 16, 4, 37, 17],
+ [4, 36, 12, 4, 37, 13],
+
+ // 10
+ [2, 86, 68, 2, 87, 69],
+ [4, 69, 43, 1, 70, 44],
+ [6, 43, 19, 2, 44, 20],
+ [6, 43, 15, 2, 44, 16],
+
+ // 11
+ [4, 101, 81],
+ [1, 80, 50, 4, 81, 51],
+ [4, 50, 22, 4, 51, 23],
+ [3, 36, 12, 8, 37, 13],
+
+ // 12
+ [2, 116, 92, 2, 117, 93],
+ [6, 58, 36, 2, 59, 37],
+ [4, 46, 20, 6, 47, 21],
+ [7, 42, 14, 4, 43, 15],
+
+ // 13
+ [4, 133, 107],
+ [8, 59, 37, 1, 60, 38],
+ [8, 44, 20, 4, 45, 21],
+ [12, 33, 11, 4, 34, 12],
+
+ // 14
+ [3, 145, 115, 1, 146, 116],
+ [4, 64, 40, 5, 65, 41],
+ [11, 36, 16, 5, 37, 17],
+ [11, 36, 12, 5, 37, 13],
+
+ // 15
+ [5, 109, 87, 1, 110, 88],
+ [5, 65, 41, 5, 66, 42],
+ [5, 54, 24, 7, 55, 25],
+ [11, 36, 12],
+
+ // 16
+ [5, 122, 98, 1, 123, 99],
+ [7, 73, 45, 3, 74, 46],
+ [15, 43, 19, 2, 44, 20],
+ [3, 45, 15, 13, 46, 16],
+
+ // 17
+ [1, 135, 107, 5, 136, 108],
+ [10, 74, 46, 1, 75, 47],
+ [1, 50, 22, 15, 51, 23],
+ [2, 42, 14, 17, 43, 15],
+
+ // 18
+ [5, 150, 120, 1, 151, 121],
+ [9, 69, 43, 4, 70, 44],
+ [17, 50, 22, 1, 51, 23],
+ [2, 42, 14, 19, 43, 15],
+
+ // 19
+ [3, 141, 113, 4, 142, 114],
+ [3, 70, 44, 11, 71, 45],
+ [17, 47, 21, 4, 48, 22],
+ [9, 39, 13, 16, 40, 14],
+
+ // 20
+ [3, 135, 107, 5, 136, 108],
+ [3, 67, 41, 13, 68, 42],
+ [15, 54, 24, 5, 55, 25],
+ [15, 43, 15, 10, 44, 16],
+
+ // 21
+ [4, 144, 116, 4, 145, 117],
+ [17, 68, 42],
+ [17, 50, 22, 6, 51, 23],
+ [19, 46, 16, 6, 47, 17],
+
+ // 22
+ [2, 139, 111, 7, 140, 112],
+ [17, 74, 46],
+ [7, 54, 24, 16, 55, 25],
+ [34, 37, 13],
+
+ // 23
+ [4, 151, 121, 5, 152, 122],
+ [4, 75, 47, 14, 76, 48],
+ [11, 54, 24, 14, 55, 25],
+ [16, 45, 15, 14, 46, 16],
+
+ // 24
+ [6, 147, 117, 4, 148, 118],
+ [6, 73, 45, 14, 74, 46],
+ [11, 54, 24, 16, 55, 25],
+ [30, 46, 16, 2, 47, 17],
+
+ // 25
+ [8, 132, 106, 4, 133, 107],
+ [8, 75, 47, 13, 76, 48],
+ [7, 54, 24, 22, 55, 25],
+ [22, 45, 15, 13, 46, 16],
+
+ // 26
+ [10, 142, 114, 2, 143, 115],
+ [19, 74, 46, 4, 75, 47],
+ [28, 50, 22, 6, 51, 23],
+ [33, 46, 16, 4, 47, 17],
+
+ // 27
+ [8, 152, 122, 4, 153, 123],
+ [22, 73, 45, 3, 74, 46],
+ [8, 53, 23, 26, 54, 24],
+ [12, 45, 15, 28, 46, 16],
+
+ // 28
+ [3, 147, 117, 10, 148, 118],
+ [3, 73, 45, 23, 74, 46],
+ [4, 54, 24, 31, 55, 25],
+ [11, 45, 15, 31, 46, 16],
+
+ // 29
+ [7, 146, 116, 7, 147, 117],
+ [21, 73, 45, 7, 74, 46],
+ [1, 53, 23, 37, 54, 24],
+ [19, 45, 15, 26, 46, 16],
+
+ // 30
+ [5, 145, 115, 10, 146, 116],
+ [19, 75, 47, 10, 76, 48],
+ [15, 54, 24, 25, 55, 25],
+ [23, 45, 15, 25, 46, 16],
+
+ // 31
+ [13, 145, 115, 3, 146, 116],
+ [2, 74, 46, 29, 75, 47],
+ [42, 54, 24, 1, 55, 25],
+ [23, 45, 15, 28, 46, 16],
+
+ // 32
+ [17, 145, 115],
+ [10, 74, 46, 23, 75, 47],
+ [10, 54, 24, 35, 55, 25],
+ [19, 45, 15, 35, 46, 16],
+
+ // 33
+ [17, 145, 115, 1, 146, 116],
+ [14, 74, 46, 21, 75, 47],
+ [29, 54, 24, 19, 55, 25],
+ [11, 45, 15, 46, 46, 16],
+
+ // 34
+ [13, 145, 115, 6, 146, 116],
+ [14, 74, 46, 23, 75, 47],
+ [44, 54, 24, 7, 55, 25],
+ [59, 46, 16, 1, 47, 17],
+
+ // 35
+ [12, 151, 121, 7, 152, 122],
+ [12, 75, 47, 26, 76, 48],
+ [39, 54, 24, 14, 55, 25],
+ [22, 45, 15, 41, 46, 16],
+
+ // 36
+ [6, 151, 121, 14, 152, 122],
+ [6, 75, 47, 34, 76, 48],
+ [46, 54, 24, 10, 55, 25],
+ [2, 45, 15, 64, 46, 16],
+
+ // 37
+ [17, 152, 122, 4, 153, 123],
+ [29, 74, 46, 14, 75, 47],
+ [49, 54, 24, 10, 55, 25],
+ [24, 45, 15, 46, 46, 16],
+
+ // 38
+ [4, 152, 122, 18, 153, 123],
+ [13, 74, 46, 32, 75, 47],
+ [48, 54, 24, 14, 55, 25],
+ [42, 45, 15, 32, 46, 16],
+
+ // 39
+ [20, 147, 117, 4, 148, 118],
+ [40, 75, 47, 7, 76, 48],
+ [43, 54, 24, 22, 55, 25],
+ [10, 45, 15, 67, 46, 16],
+
+ // 40
+ [19, 148, 118, 6, 149, 119],
+ [18, 75, 47, 31, 76, 48],
+ [34, 54, 24, 34, 55, 25],
+ [20, 45, 15, 61, 46, 16]
+ ];
+
+ QRRSBlock.getRSBlocks = function(typeNumber, errorCorrectLevel) {
+
+ var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel);
+
+ if (rsBlock == undefined) {
+ throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + errorCorrectLevel);
+ }
+
+ var length = rsBlock.length / 3;
+
+ var list = new Array();
+
+ for (var i = 0; i < length; i++) {
+
+ var count = rsBlock[i * 3 + 0];
+ var totalCount = rsBlock[i * 3 + 1];
+ var dataCount = rsBlock[i * 3 + 2];
+
+ for (var j = 0; j < count; j++) {
+ list.push(new QRRSBlock(totalCount, dataCount));
+ }
+ }
+
+ return list;
+ }
+
+ QRRSBlock.getRsBlockTable = function(typeNumber, errorCorrectLevel) {
+
+ switch (errorCorrectLevel) {
+ case QRErrorCorrectLevel.L:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0];
+ case QRErrorCorrectLevel.M:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1];
+ case QRErrorCorrectLevel.Q:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2];
+ case QRErrorCorrectLevel.H:
+ return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3];
+ default:
+ return undefined;
+ }
+ }
+
+ //---------------------------------------------------------------------
+ // QRBitBuffer
+ //---------------------------------------------------------------------
+
+ function QRBitBuffer() {
+ this.buffer = new Array();
+ this.length = 0;
+ }
+
+ QRBitBuffer.prototype = {
+
+ get: function(index) {
+ var bufIndex = Math.floor(index / 8);
+ return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) == 1;
+ },
+
+ put: function(num, length) {
+ for (var i = 0; i < length; i++) {
+ this.putBit(((num >>> (length - i - 1)) & 1) == 1);
+ }
+ },
+
+ getLengthInBits: function() {
+ return this.length;
+ },
+
+ putBit: function(bit) {
+
+ var bufIndex = Math.floor(this.length / 8);
+ if (this.buffer.length <= bufIndex) {
+ this.buffer.push(0);
+ }
+
+ if (bit) {
+ this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));
+ }
+
+ this.length++;
+ }
+ };
+
+ //---------------------------------------------------------------------
+ // Support Chinese
+ //---------------------------------------------------------------------
+ function utf16To8(text) {
+ var result = '';
+ var c;
+ for (var i = 0; i < text.length; i++) {
+ c = text.charCodeAt(i);
+ if (c >= 0x0001 && c <= 0x007F) {
+ result += text.charAt(i);
+ } else if (c > 0x07FF) {
+ result += String.fromCharCode(0xE0 | c >> 12 & 0x0F);
+ result += String.fromCharCode(0x80 | c >> 6 & 0x3F);
+ result += String.fromCharCode(0x80 | c >> 0 & 0x3F);
+ } else {
+ result += String.fromCharCode(0xC0 | c >> 6 & 0x1F);
+ result += String.fromCharCode(0x80 | c >> 0 & 0x3F);
+ }
+ }
+ return result;
+ }
+
+ uQRCode = {
+
+ defaults: {
+ size: 258,
+ margin: 0,
+ backgroundColor: '#ffffff',
+ foregroundColor: '#000000',
+ fileType: 'png', // 'jpg', 'png'
+ correctLevel: 3,
+ typeNumber: -1
+ },
+
+ make: function(options) {
+ var defaultOptions = {
+ canvasId: options.canvasId,
+ componentInstance: options.componentInstance,
+ text: options.text,
+ size: this.defaults.size,
+ margin: this.defaults.margin,
+ backgroundColor: this.defaults.backgroundColor,
+ foregroundColor: this.defaults.foregroundColor,
+ fileType: this.defaults.fileType,
+ correctLevel: this.defaults.correctLevel,
+ typeNumber: this.defaults.typeNumber
+ };
+ if (options) {
+ for (var i in options) {
+ defaultOptions[i] = options[i];
+ }
+ }
+ options = defaultOptions;
+ if (!options.canvasId) {
+ console.error('uQRCode: Please set canvasId!');
+ return;
+ }
+
+ function createCanvas() {
+ var qrcode = new QRCode(options.typeNumber, options.correctLevel);
+ qrcode.addData(utf16To8(options.text));
+ qrcode.make();
+
+ var ctx = uni.createCanvasContext(options.canvasId, options.componentInstance);
+ ctx.setFillStyle(options.backgroundColor);
+ ctx.fillRect(0, 0, options.size, options.size);
+
+ var tileW = (options.size - options.margin * 2) / qrcode.getModuleCount();
+ var tileH = tileW;
+
+ for (var row = 0; row < qrcode.getModuleCount(); row++) {
+ for (var col = 0; col < qrcode.getModuleCount(); col++) {
+ var style = qrcode.isDark(row, col) ? options.foregroundColor : options.backgroundColor;
+ ctx.setFillStyle(style);
+ var x = Math.round(col * tileW) + options.margin;
+ var y = Math.round(row * tileH) + options.margin;
+ var w = Math.ceil((col + 1) * tileW) - Math.floor(col * tileW);
+ var h = Math.ceil((row + 1) * tileW) - Math.floor(row * tileW);
+ ctx.fillRect(x, y, w, h);
+ }
+ }
+
+ setTimeout(function() {
+ ctx.draw(false, function() {
+ setTimeout(function() {
+ uni.canvasToTempFilePath({
+ canvasId: options.canvasId,
+ fileType: options.fileType,
+ width: options.size,
+ height: options.size,
+ destWidth: options.size,
+ destHeight: options.size,
+ success: function(res) {
+ options.success && options.success(res.tempFilePath);
+ },
+ fail: function(error) {
+ options.fail && options.fail(error);
+ },
+ complete: function(res) {
+ options.complete && options.complete(res);
+ }
+ }, options.componentInstance);
+ }, options.text.length + 100);
+ });
+ }, 150);
+ }
+
+ createCanvas();
+ }
+
+ }
+
+})()
+
+export default uQRCode
diff --git a/app/libs/apps.js b/app/libs/apps.js
new file mode 100644
index 0000000..a223038
--- /dev/null
+++ b/app/libs/apps.js
@@ -0,0 +1,24 @@
+import { appAuth } from '../api/public';
+
+class Apps{
+ /**
+ * 授权登录获取token
+ * @param {Object} code
+ */
+ authApp(code) {
+ return new Promise((resolve, reject) => {
+ appAuth(code,{'spread_spid': 0})
+ .then(({
+ data
+ }) => {
+ resolve(data);
+ Cache.set(WX_AUTH, code);
+ Cache.clear(STATE_KEY);
+ loginType && Cache.clear(LOGINTYPE);
+
+ })
+ .catch(reject);
+ });
+ }
+}
+export default new Apps();
\ No newline at end of file
diff --git a/app/libs/chat.js b/app/libs/chat.js
new file mode 100644
index 0000000..c25626a
--- /dev/null
+++ b/app/libs/chat.js
@@ -0,0 +1,62 @@
+import $store from "@/store";
+import { VUE_APP_WS_URL } from "@/utils/index.js";
+
+const Socket = function() {
+ this.ws = new WebSocket(wss(VUE_APP_WS_URL));
+ this.ws.onopen = this.onOpen.bind(this);
+ this.ws.onerror = this.onError.bind(this);
+ this.ws.onmessage = this.onMessage.bind(this);
+ this.ws.onclose = this.onClose.bind(this);
+};
+
+function wss(wsSocketUrl) {
+ let ishttps = document.location.protocol == 'https:';
+ if (ishttps) {
+ return wsSocketUrl.replace('ws:', 'wss:');
+ } else {
+ return wsSocketUrl.replace('wss:', 'ws:');
+ }
+}
+
+Socket.prototype = {
+ vm(vm) {
+ this.vm = vm;
+ },
+ close() {
+ clearInterval(this.timer);
+ this.ws.close();
+ },
+ onOpen: function() {
+ console.log("ws open");
+ this.init();
+ this.send({
+ type: "login",
+ data: $store.state.app.token
+ });
+ this.vm.$emit("socket_open");
+ },
+ init: function() {
+ var that = this;
+ this.timer = setInterval(function() {
+ that.send({ type: "ping" });
+ }, 10000);
+ },
+ send: function(data) {
+ return this.ws.send(JSON.stringify(data));
+ },
+ onMessage: function(res) {
+ const { type, data = {} } = JSON.parse(res.data);
+ this.vm.$emit(type, data);
+ },
+ onClose: function() {
+ clearInterval(this.timer);
+ },
+ onError: function(e) {
+ console.log(e);
+ this.vm.$emit("socket_error", e);
+ }
+};
+
+Socket.prototype.constructor = Socket;
+
+export default Socket;
diff --git a/app/libs/login.js b/app/libs/login.js
new file mode 100644
index 0000000..0428390
--- /dev/null
+++ b/app/libs/login.js
@@ -0,0 +1,98 @@
+import store from "../store";
+import Cache from '../utils/cache';
+import { Debounce } from '@/utils/validate.js'
+// #ifdef H5
+import { isWeixin } from "../utils";
+import auth from './wechat';
+// #endif
+
+import { LOGIN_STATUS, USER_INFO, EXPIRES_TIME, STATE_R_KEY, BACK_URL} from './../config/cache';
+
+function prePage(){
+ let pages = getCurrentPages();
+ let prePage = pages[pages.length - 1];
+ return prePage.route;
+}
+
+export const toLogin = Debounce(_toLogin,800)
+
+export function _toLogin(push, pathLogin) {
+
+ store.commit("LOGOUT");
+ let path = prePage();
+ let login_back_url = Cache.get(BACK_URL);
+
+ // #ifdef APP
+ uni.navigateTo({
+ url: '/pages/users/login/index'
+ })
+ return
+ // #endif
+
+
+ // #ifdef H5
+ // path = location.href;
+ path = location.pathname + location.search;
+ // #endif
+ if(!pathLogin){
+ pathLogin = '/page/users/login/index'
+ Cache.set('login_back_url',path);
+ }
+
+ // #ifdef H5
+ if (isWeixin()) {
+ let urlData = location.pathname + location.search
+ if (urlData.indexOf('?') !== -1) {
+ urlData += '&go_longin=1';
+ } else {
+ urlData += '?go_longin=1';
+ }
+ if (!Cache.has('snsapiKey')) {
+ auth.oAuth('snsapi_base', urlData);
+ } else {
+ if (['/pages/user/index'].indexOf(login_back_url) == -1) {
+ uni.navigateTo({
+ url: '/pages/users/wechat_login/index'
+ })
+ }
+ }
+ } else {
+ if (['/pages/user/index'].indexOf(login_back_url) == -1) {
+ uni.navigateTo({
+ url: '/pages/users/login/index'
+ })
+ }
+ }
+ // #endif
+
+ if (['pages/user/index','/pages/user/index'].indexOf(login_back_url) == -1) {
+ // #ifdef MP
+ uni.navigateTo({
+ url: '/pages/users/wechat_login/index'
+ })
+ // #endif
+ }
+}
+
+
+export function checkLogin()
+{
+ let token = Cache.get(LOGIN_STATUS);
+ let expiresTime = Cache.get(EXPIRES_TIME);
+ let newTime = Math.round(new Date() / 1000);
+ if (expiresTime < newTime || !token){
+ Cache.clear(LOGIN_STATUS);
+ Cache.clear(EXPIRES_TIME);
+ Cache.clear(USER_INFO);
+ Cache.clear(STATE_R_KEY);
+ return false;
+ }else{
+ store.commit('UPDATE_LOGIN',token);
+ let userInfo = Cache.get(USER_INFO,true);
+ if(userInfo){
+ store.commit('UPDATE_USERINFO',userInfo);
+ }
+ return true;
+ }
+
+}
diff --git a/app/libs/order.js b/app/libs/order.js
new file mode 100644
index 0000000..3cdf6af
--- /dev/null
+++ b/app/libs/order.js
@@ -0,0 +1,47 @@
+import {
+ preOrderApi
+} from '@/api/order.js';
+import util from 'utils/util'
+
+/**
+ * 去商品详情
+ */
+export function goShopDetail(item, uid) {
+ return new Promise(resolve => {
+ if (item.activityH5 && item.activityH5.type === "1") {
+ uni.navigateTo({
+ url: `/pages/activity/goods_seckill_details/index?id=${item.activityH5.id}`
+ })
+ } else if (item.activityH5 && item.activityH5.type === "2") {
+ uni.navigateTo({
+ url: `/pages/activity/goods_bargain_details/index?id=${item.activityH5.id}&startBargainUid=${uid}`
+ })
+ } else if (item.activityH5 && item.activityH5.type === "3") {
+ uni.navigateTo({
+ url: `/pages/activity/goods_combination_details/index?id=${item.activityH5.id}`
+ })
+ } else {
+ resolve(item);
+ }
+ });
+}
+
+/**
+ * 活动商品、普通商品、购物车、再次购买预下单
+ */
+export function getPreOrder(preOrderType, orderDetails) {
+ return new Promise((resolve, reject) => {
+ preOrderApi({
+ "preOrderType": preOrderType,
+ "orderDetails": orderDetails
+ }).then(res => {
+ uni.navigateTo({
+ url: '/pages/users/order_confirm/index?preOrderNo=' + res.data.preOrderNo
+ });
+ }).catch(err => {
+ return util.Tips({
+ title: err
+ });
+ })
+ });
+}
diff --git a/app/libs/routine.js b/app/libs/routine.js
new file mode 100644
index 0000000..1db96ed
--- /dev/null
+++ b/app/libs/routine.js
@@ -0,0 +1,140 @@
+import store from '../store';
+import { checkLogin } from './login';
+import { login } from '../api/public';
+import Cache from '../utils/cache';
+import { STATE_R_KEY, USER_INFO, EXPIRES_TIME, LOGIN_STATUS} from './../config/cache';
+class Routine
+{
+
+ constructor()
+ {
+ this.scopeUserInfo = 'scope.userInfo';
+ }
+
+ async getUserCode(){
+ let isAuth = await this.isAuth(), code = '' ;
+ if(isAuth)
+ code = await this.getCode();
+ return code;
+ }
+
+ /**
+ * 获取用户信息
+ */
+ getUserProfile(){
+ let that = this , code = this.getUserCode();
+ return new Promise( (resolve,reject) => {
+ uni.getUserProfile({
+ lang: 'zh_CN',
+ desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
+ success(user) {
+ if(code) user.code = code;
+ resolve({userInfo:user,islogin:false});
+ },
+ fail(res){
+ reject(res);
+ }
+ })
+ })
+ }
+
+ /**
+ * 获取用户信息
+ */
+ authorize()
+ {
+ let that = this;
+ return new Promise((resolve,reject)=>{
+ if(checkLogin())
+ return resolve({
+ userInfo:Cache.get(USER_INFO,true),
+ islogin:true,
+ });
+ uni.authorize({
+ scope: that.scopeUserInfo,
+ success() {
+ resolve({islogin:false});
+ },
+ fail(res){
+ reject(res);
+ }
+ })
+ })
+ }
+
+ async getCode(){
+ let provider = await this.getProvider();
+ return new Promise((resolve,reject)=>{
+ uni.login({
+ provider:provider,
+ success(res) {
+ if (res.code) Cache.set(STATE_R_KEY, res.code ,10800);
+ return resolve(res.code);
+ },
+ fail(){
+ return reject(null);
+ }
+ })
+ })
+ }
+
+ /**
+ * 获取服务供应商
+ */
+ getProvider()
+ {
+ return new Promise((resolve,reject)=>{
+ uni.getProvider({
+ service:'oauth',
+ success(res) {
+ resolve(res.provider);
+ },
+ fail() {
+ resolve(false);
+ }
+ });
+ });
+ }
+
+ /**
+ * 是否授权
+ */
+ isAuth(){
+ let that = this;
+ return new Promise((resolve,reject)=>{
+ uni.getSetting({
+ success(res) {
+ if (!res.authSetting[that.scopeUserInfo]) {
+ resolve(true)
+ } else {
+ resolve(true);
+ }
+ },
+ fail(){
+ resolve(false);
+ }
+ });
+ });
+ }
+ /**
+ * 小程序登录
+ */
+ authUserInfo(code,data)
+ {
+ return new Promise((resolve, reject)=>{
+ login(code,data).then(res=>{
+ if(res.data.type==='login'){
+ store.commit('LOGIN', {
+ token: res.data.token
+ });
+ store.commit("SETUID", res.data.uid);
+ }
+ return resolve(res);
+ }).catch(res=>{
+ return reject(res);
+ })
+ })
+ }
+}
+
+export default new Routine();
\ No newline at end of file
diff --git a/app/libs/wechat.js b/app/libs/wechat.js
new file mode 100644
index 0000000..e43a00c
--- /dev/null
+++ b/app/libs/wechat.js
@@ -0,0 +1,318 @@
+// #ifdef H5
+import WechatJSSDK from "@/plugin/jweixin-module/index.js";
+
+
+import {
+ getWechatConfig,
+ wechatAuth
+} from "@/api/public";
+import {
+ WX_AUTH,
+ STATE_KEY,
+ LOGINTYPE,
+ BACK_URL
+} from '@/config/cache';
+import {
+ parseQuery
+} from '@/utils';
+import store from '@/store';
+import Cache from '@/utils/cache';
+
+class AuthWechat {
+
+ constructor() {
+ //微信实例化对象
+ this.instance = WechatJSSDK;
+ //是否实例化
+ this.status = false;
+
+ this.initConfig = {};
+
+ }
+
+ isAndroid(){
+ let u = navigator.userAgent;
+ return u.indexOf('Android') > -1 || u.indexOf('Adr') > -1;
+ }
+
+ signLink() {
+ if (typeof window.entryUrl === 'undefined' || window.entryUrl === '') {
+ window.entryUrl = location.href.split('#')[0]
+ }
+ return /(Android)/i.test(navigator.userAgent) ? location.href.split('#')[0] : window.entryUrl;
+ }
+
+
+ /**
+ * 初始化wechat(分享配置)
+ */
+ wechat() {
+ return new Promise((resolve, reject) => {
+ // if (this.status && !this.isAndroid()) return resolve(this.instance);
+ getWechatConfig()
+ .then(res => {
+ this.instance.config(res.data);
+ this.initConfig = res.data;
+ this.status = true;
+ this.instance.ready(() => {
+ resolve(this.instance);
+ })
+ }).catch(err => {
+ console.log('微信分享配置失败',err);
+ this.status = false;
+ reject(err);
+ });
+ });
+ }
+
+ /**
+ * 验证是否初始化
+ */
+ verifyInstance() {
+ let that = this;
+ return new Promise((resolve, reject) => {
+ if (that.instance === null && !that.status) {
+ that.wechat().then(res => {
+ resolve(that.instance);
+ }).catch(() => {
+ return reject();
+ })
+ } else {
+ return resolve(that.instance);
+ }
+ })
+ }
+ // 微信公众号的共享地址
+ openAddress() {
+ return new Promise((resolve, reject) => {
+ this.wechat().then(wx => {
+ this.toPromise(wx.openAddress).then(res => {
+ resolve(res);
+ }).catch(err => {
+ reject(err);
+ });
+ }).catch(err => {
+ reject(err);
+ })
+ });
+ }
+
+ // 获取经纬度;
+ location(){
+ return new Promise((resolve, reject) => {
+ this.wechat().then(wx => {
+ this.toPromise(wx.getLocation,{type: 'wgs84'}).then(res => {
+ resolve(res);
+ }).catch(err => {
+ reject(err);
+ });
+ }).catch(err => {
+ reject(err);
+ })
+ });
+ }
+
+ // 使用微信内置地图查看位置接口;
+ seeLocation(config){
+ return new Promise((resolve, reject) => {
+ this.wechat().then(wx => {
+ this.toPromise(wx.openLocation, config).then(res => {
+ resolve(res);
+ }).catch(err => {
+ reject(err);
+ });
+ }).catch(err => {
+ reject(err);
+ })
+ });
+ }
+
+ /**
+ * 微信支付
+ * @param {Object} config
+ */
+ pay(config) {
+ return new Promise((resolve, reject) => {
+ this.wechat().then((wx) => {
+ this.toPromise(wx.chooseWXPay, config).then(res => {
+ resolve(res);
+ }).catch(res => {
+ resolve(res);
+ });
+ }).catch(res => {
+ reject(res);
+ });
+ });
+ }
+
+ toPromise(fn, config = {}) {
+ return new Promise((resolve, reject) => {
+ fn({
+ ...config,
+ success(res) {
+ resolve(res);
+ },
+ fail(err) {
+ reject(err);
+ },
+ complete(err) {
+ reject(err);
+ },
+ cancel(err) {
+ reject(err);
+ }
+ });
+ });
+ }
+
+ /**
+ * 自动去授权
+ */
+ oAuth(snsapiBase,url) {
+ if (uni.getStorageSync(WX_AUTH) && store.state.app.token && snsapiBase == 'snsapi_base') return;
+ const {
+ code
+ } = parseQuery();
+ if (!code || code == uni.getStorageSync('snsapiCode')){
+ return this.toAuth(snsapiBase,url);
+ }else{
+ if(Cache.has('snsapiKey'))
+ return this.auth(code).catch(error=>{
+ uni.showToast({
+ title:error,
+ icon:'none'
+ })
+ })
+ }
+ // if (uni.getStorageSync(WX_AUTH) && store.state.app.token) return;
+ // const {
+ // code
+ // } = parseQuery();
+ // if (!code){
+ // return this.toAuth(snsapiBase,url);
+ // }else{
+ // if(Cache.has('snsapiKey'))
+ // return this.auth(code).catch(error=>{
+ // uni.showToast({
+ // title:error,
+ // icon:'none'
+ // })
+ // })
+ // }
+ }
+
+ clearAuthStatus() {
+
+ }
+
+ /**
+ * 授权登录获取token
+ * @param {Object} code
+ */
+ auth(code) {
+ return new Promise((resolve, reject) => {
+ wechatAuth(code, Cache.get("spread"))
+ .then(({
+ data
+ }) => {
+ resolve(data);
+ Cache.set(WX_AUTH, code);
+ Cache.clear(STATE_KEY);
+ // Cache.clear('spread');
+ loginType && Cache.clear(LOGINTYPE);
+
+ })
+ .catch(reject);
+ });
+ }
+
+ /**
+ * 获取跳转授权后的地址
+ * @param {Object} appId
+ */
+ getAuthUrl(appId,snsapiBase,backUrl) {
+ let url = `${location.origin}${backUrl}`
+ if(url.indexOf('?') == -1){
+ url = url+'?'
+ }else{
+ url = url+'&'
+ }
+ const redirect_uri = encodeURIComponent(
+ `${url}scope=${snsapiBase}&back_url=` +
+ encodeURIComponent(
+ encodeURIComponent(
+ uni.getStorageSync(BACK_URL) ?
+ uni.getStorageSync(BACK_URL) :
+ location.pathname + location.search
+ )
+ )
+ );
+ uni.removeStorageSync(BACK_URL);
+ const state = encodeURIComponent(
+ ("" + Math.random()).split(".")[1] + "authorizestate"
+ );
+ uni.setStorageSync(STATE_KEY, state);
+ return `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=${state}#wechat_redirect`;
+ // if(snsapiBase==='snsapi_base'){
+ // return `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_base&state=${state}#wechat_redirect`;
+ // }else{
+ // return `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=${state}#wechat_redirect`;
+ // }
+ }
+
+ /**
+ * 跳转自动登录
+ */
+ toAuth(snsapiBase,backUrl) {
+ let that = this;
+ this.wechat().then(wx => {
+ location.href = this.getAuthUrl(that.initConfig.appId,snsapiBase,backUrl);
+ })
+ }
+
+ /**
+ * 绑定事件
+ * @param {Object} name 事件名
+ * @param {Object} config 参数
+ */
+ wechatEvevt(name, config) {
+ let that = this;
+ return new Promise((resolve, reject) => {
+ let configDefault = {
+ fail(res) {
+ if (that.instance) return reject({
+ is_ready: true,
+ wx: that.instance
+ });
+ that.verifyInstance().then(wx => {
+ return reject({
+ is_ready: true,
+ wx: wx
+ });
+ })
+ },
+ success(res) {
+ return resolve(res,2222);
+ }
+ };
+ Object.assign(configDefault, config);
+ that.wechat().then(wx => {
+ if (typeof name === 'object') {
+ name.forEach(item => {
+ wx[item] && wx[item](configDefault)
+ })
+ } else {
+ wx[name] && wx[name](configDefault)
+ }
+ })
+ });
+ }
+
+ isWeixin() {
+ return navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1;
+ }
+
+}
+
+export default new AuthWechat();
+// #endif
diff --git a/app/main.js b/app/main.js
new file mode 100644
index 0000000..4159e5c
--- /dev/null
+++ b/app/main.js
@@ -0,0 +1,62 @@
+import Vue from 'vue'
+import App from './App'
+import store from './store'
+import Cache from './utils/cache'
+import util from 'utils/util'
+import configs from './config/app.js'
+import * as Order from './libs/order';
+
+Vue.prototype.$util = util;
+Vue.prototype.$config = configs;
+Vue.prototype.$Cache = Cache;
+Vue.prototype.$eventHub = new Vue();
+Vue.config.productionTip = false
+Vue.prototype.$Order = Order;
+
+// #ifdef H5
+import { parseQuery } from "./utils";
+import Auth from './libs/wechat';
+import { SPREAD } from './config/cache';
+Vue.prototype.$wechat = Auth;
+let cookieName = "VCONSOLE",
+ query = parseQuery(),
+ urlSpread = query["spread"],
+ vconsole = query[cookieName.toLowerCase()],
+ md5Crmeb = "b14d1e9baeced9bb7525ab19ee35f2d2", //CRMEB MD5 加密开启vconsole模式
+ md5UnCrmeb = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 加密关闭vconsole模式
+
+if (urlSpread !== undefined) {
+ var spread = Cache.get(SPREAD);
+ urlSpread = parseInt(urlSpread);
+ if (!Number.isNaN(urlSpread) && spread !== urlSpread) {
+ Cache.set("spread", urlSpread || 0);
+ } else if (spread === 0 || typeof spread !== "number") {
+ Cache.set("spread", urlSpread || 0);
+ }
+}
+
+if (vconsole !== undefined) {
+ if (vconsole === md5UnCrmeb && Cache.has(cookieName))
+ Cache.clear(cookieName);
+} else vconsole = Cache.get(cookieName);
+
+import VConsole from './components/vconsole.min.js'
+
+if (vconsole !== undefined && vconsole === md5Crmeb) {
+ Cache.set(cookieName, md5Crmeb, 3600);
+ let vConsole = new VConsole();
+}
+
+// Auth.isWeixin() && Auth.oAuth();
+
+// #endif
+
+App.mpType = 'app'
+
+
+const app = new Vue({
+ ...App,
+ store,
+ Cache
+})
+app.$mount();
diff --git a/app/manifest.json b/app/manifest.json
new file mode 100644
index 0000000..9c964e5
--- /dev/null
+++ b/app/manifest.json
@@ -0,0 +1,182 @@
+{
+ "name" : "CRMEB Java 商城",
+ "appid" : "__UNI__E0D9AB1",
+ "description" : "CRMEB Java 商城",
+ "versionName" : "1.0.0",
+ "versionCode" : 1001,
+ "transformPx" : false,
+ /* 5+App特有相关 */
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueCompiler" : "uni-app",
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : false,
+ "waiting" : false,
+ "autoclose" : true,
+ "delay" : 0
+ },
+ /* 模块配置 */
+ "modules" : {
+ "Share" : {},
+ "VideoPlayer" : {},
+ "OAuth" : {},
+ "Payment" : {},
+ "Geolocation" : {}
+ },
+ /* 应用发布信息 */
+ "distribute" : {
+ /* android打包配置 */
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ],
+ "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
+ },
+ /* ios打包配置 */
+ "ios" : {
+ "idfa" : false,
+ "dSYMs" : false
+ },
+ /* SDK配置 */
+ "sdkConfigs" : {
+ "ad" : {},
+ "geolocation" : {
+ "amap" : {
+ "__platform__" : [ "ios", "android" ],
+ "appkey_ios" : "",
+ "appkey_android" : "111111"
+ }
+ },
+ "payment" : {
+ "weixin" : {
+ "__platform__" : [ "ios", "android" ],
+ "appid" : "111111",
+ "UniversalLinks" : ""
+ }
+ },
+ "share" : {
+ "weixin" : {
+ "appid" : "111111",
+ "UniversalLinks" : ""
+ }
+ },
+ "oauth" : {
+ "weixin" : {
+ "appid" : "111111",
+ "UniversalLinks" : ""
+ }
+ }
+ },
+ "icons" : {
+ "android" : {
+ "hdpi" : "unpackage/res/icons/72x72.png",
+ "xhdpi" : "unpackage/res/icons/96x96.png",
+ "xxhdpi" : "unpackage/res/icons/144x144.png",
+ "xxxhdpi" : "unpackage/res/icons/192x192.png"
+ },
+ "ios" : {
+ "appstore" : "unpackage/res/icons/1024x1024.png",
+ "ipad" : {
+ "app" : "unpackage/res/icons/76x76.png",
+ "app@2x" : "unpackage/res/icons/152x152.png",
+ "notification" : "unpackage/res/icons/20x20.png",
+ "notification@2x" : "unpackage/res/icons/40x40.png",
+ "proapp@2x" : "unpackage/res/icons/167x167.png",
+ "settings" : "unpackage/res/icons/29x29.png",
+ "settings@2x" : "unpackage/res/icons/58x58.png",
+ "spotlight" : "unpackage/res/icons/40x40.png",
+ "spotlight@2x" : "unpackage/res/icons/80x80.png"
+ },
+ "iphone" : {
+ "app@2x" : "unpackage/res/icons/120x120.png",
+ "app@3x" : "unpackage/res/icons/180x180.png",
+ "notification@2x" : "unpackage/res/icons/40x40.png",
+ "notification@3x" : "unpackage/res/icons/60x60.png",
+ "settings@2x" : "unpackage/res/icons/58x58.png",
+ "settings@3x" : "unpackage/res/icons/87x87.png",
+ "spotlight@2x" : "unpackage/res/icons/80x80.png",
+ "spotlight@3x" : "unpackage/res/icons/120x120.png"
+ }
+ }
+ }
+ }
+ },
+ /* 快应用特有相关 */
+ "quickapp" : {},
+ /* 小程序特有相关 */
+ "mp-weixin" : {
+ "appid" : "111111",
+ "setting" : {
+ "urlCheck" : true,
+ "minified" : true,
+ "postcss" : true,
+ "es6" : true
+ },
+ "permission" : {
+ "scope.userLocation" : {
+ "desc" : "你的位置信息将用于和门店的距离长度"
+ }
+ },
+ // "plugins" : {
+ // "chat" : {
+ // "version" : "1.0.8",
+ // "provider" : "wx738958e0f4c894f9"
+ // }
+ // },
+ // "sitemapLocation" : "sitemap.json",
+ "usingComponents" : true
+ },
+ "mp-alipay" : {
+ "usingComponents" : true
+ },
+ "mp-baidu" : {
+ "usingComponents" : true
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true
+ },
+ "h5" : {
+ "devServer" : {
+ "https" : false
+ },
+ "router" : {
+ "mode" : "history",
+ "base" : ""
+ },
+ "domain" : "",
+ "sdkConfigs" : {
+ "maps" : {}
+ },
+ "optimization" : {
+ "treeShaking" : {
+ "enable" : true
+ }
+ },
+ "async" : {
+ "timeout" : 200000
+ },
+ "title" : "CRMEB"
+ },
+ "plus" : {
+ "statusbar" : {
+ "immersed" : true
+ }
+ }
+}
diff --git a/app/mixins/SendVerifyCode.js b/app/mixins/SendVerifyCode.js
new file mode 100644
index 0000000..46fa6b2
--- /dev/null
+++ b/app/mixins/SendVerifyCode.js
@@ -0,0 +1,27 @@
+export default {
+ data() {
+ return {
+ disabled: false,
+ text: "获取验证码"
+ };
+ },
+ methods: {
+ sendCode() {
+ if (this.disabled) return;
+ this.disabled = true;
+ let n = 60;
+ this.text = "剩余 " + n + "s";
+ const run = setInterval(() => {
+ n = n - 1;
+ if (n < 0) {
+ clearInterval(run);
+ }
+ this.text = "剩余 " + n + "s";
+ if (this.text < "剩余 " + 0 + "s") {
+ this.disabled = false;
+ this.text = "重新获取";
+ }
+ }, 1000);
+ }
+ }
+};
\ No newline at end of file
diff --git a/app/package-lock.json b/app/package-lock.json
new file mode 100644
index 0000000..22d2fc8
--- /dev/null
+++ b/app/package-lock.json
@@ -0,0 +1,447 @@
+{
+ "requires": true,
+ "lockfileVersion": 1,
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ },
+ "babel-code-frame": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "requires": {
+ "chalk": "^1.1.3",
+ "esutils": "^2.0.2",
+ "js-tokens": "^3.0.2"
+ }
+ },
+ "babel-core": {
+ "version": "6.26.3",
+ "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
+ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "babel-generator": "^6.26.0",
+ "babel-helpers": "^6.24.1",
+ "babel-messages": "^6.23.0",
+ "babel-register": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "babel-template": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "convert-source-map": "^1.5.1",
+ "debug": "^2.6.9",
+ "json5": "^0.5.1",
+ "lodash": "^4.17.4",
+ "minimatch": "^3.0.4",
+ "path-is-absolute": "^1.0.1",
+ "private": "^0.1.8",
+ "slash": "^1.0.0",
+ "source-map": "^0.5.7"
+ }
+ },
+ "babel-generator": {
+ "version": "6.26.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "requires": {
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "detect-indent": "^4.0.0",
+ "jsesc": "^1.3.0",
+ "lodash": "^4.17.4",
+ "source-map": "^0.5.7",
+ "trim-right": "^1.0.1"
+ }
+ },
+ "babel-helpers": {
+ "version": "6.24.1",
+ "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
+ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
+ "requires": {
+ "babel-runtime": "^6.22.0",
+ "babel-template": "^6.24.1"
+ }
+ },
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "requires": {
+ "babel-runtime": "^6.22.0"
+ }
+ },
+ "babel-register": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
+ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+ "requires": {
+ "babel-core": "^6.26.0",
+ "babel-runtime": "^6.26.0",
+ "core-js": "^2.5.0",
+ "home-or-tmp": "^2.0.0",
+ "lodash": "^4.17.4",
+ "mkdirp": "^0.5.1",
+ "source-map-support": "^0.4.15"
+ }
+ },
+ "babel-runtime": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+ "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "requires": {
+ "core-js": "^2.4.0",
+ "regenerator-runtime": "^0.11.0"
+ }
+ },
+ "babel-template": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
+ "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "babel-traverse": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-traverse": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
+ "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "requires": {
+ "babel-code-frame": "^6.26.0",
+ "babel-messages": "^6.23.0",
+ "babel-runtime": "^6.26.0",
+ "babel-types": "^6.26.0",
+ "babylon": "^6.18.0",
+ "debug": "^2.6.8",
+ "globals": "^9.18.0",
+ "invariant": "^2.2.2",
+ "lodash": "^4.17.4"
+ }
+ },
+ "babel-types": {
+ "version": "6.26.0",
+ "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "requires": {
+ "babel-runtime": "^6.26.0",
+ "esutils": "^2.0.2",
+ "lodash": "^4.17.4",
+ "to-fast-properties": "^1.0.3"
+ }
+ },
+ "babylon": {
+ "version": "6.18.0",
+ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ },
+ "convert-source-map": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "core-image-xhr": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-image-xhr/-/core-image-xhr-1.0.3.tgz",
+ "integrity": "sha1-khHXtcQSGa9atpuThMoqR9VytHY="
+ },
+ "core-js": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+ "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
+ },
+ "daycaca": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/daycaca/-/daycaca-1.0.11.tgz",
+ "integrity": "sha512-2SJTpnpmxUGVWbFPTRhaZLvisCD7bYjvuFpLAhjfAAvtnBb26dAqIqaZ9Jq8yvSlugpEGY+v/YXHXGP3paVV9A=="
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "requires": {
+ "repeating": "^2.0.0"
+ }
+ },
+ "dom7": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/dom7/-/dom7-2.1.3.tgz",
+ "integrity": "sha512-QTxHHDox+M6ZFz1zHPAHZKI3JOHY5iY4i9BK2uctlggxKQwRhO3q3HHFq1BKsT25Bm/ySSj70K6Wk/G4bs9rMQ==",
+ "requires": {
+ "ssr-window": "^1.0.1"
+ }
+ },
+ "emoji-awesome": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/emoji-awesome/-/emoji-awesome-0.0.2.tgz",
+ "integrity": "sha512-ggortYTr4+f4Jqp/R3vV9FAec+wRkIyRM458LUrv81mKQSKIJW9+xDlbqHsUpMeNKCLG45RsbbCyprrOoGZ6UQ=="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+ },
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "home-or-tmp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
+ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.1"
+ }
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "is-finite": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz",
+ "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w=="
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
+ },
+ "json5": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
+ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ },
+ "lodash": {
+ "version": "4.17.15",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+ "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ },
+ "mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ },
+ "private": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+ "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+ },
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "requires": {
+ "is-finite": "^1.0.0"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "requires": {
+ "source-map": "^0.5.6"
+ }
+ },
+ "ssr-window": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-1.0.1.tgz",
+ "integrity": "sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg=="
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ },
+ "swiper": {
+ "version": "5.3.8",
+ "resolved": "https://registry.npmjs.org/swiper/-/swiper-5.3.8.tgz",
+ "integrity": "sha512-bCxrayTgzC2bZBRuFwAx7T4exWeHqMADBpcuTQ7PNCOIIzJRPqNh4ySIvW06LEEU3Q0KncaNre4hrn+jXcWivQ==",
+ "requires": {
+ "dom7": "^2.1.3",
+ "ssr-window": "^1.0.1"
+ }
+ },
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ },
+ "trim-right": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
+ },
+ "vue": {
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz",
+ "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ=="
+ },
+ "vue-awesome-swiper": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/vue-awesome-swiper/-/vue-awesome-swiper-4.1.1.tgz",
+ "integrity": "sha512-50um10t6N+lJaORkpwSi1wWuMmBI1sgFc9Znsi5oUykw2cO5DzLaBHcO2JNX21R+Ue4TGoIJDhhxjBHtkFrTEQ=="
+ },
+ "vue-core-image-upload": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/vue-core-image-upload/-/vue-core-image-upload-2.4.11.tgz",
+ "integrity": "sha512-He0OcNqUaL2yHQebFwk4IxLr1Q8m1S7u8zTUek7pMaOUHW76MXOOn6sHoJMruURNvsv3SyeqFEt4N7JQBnMviA==",
+ "requires": {
+ "babel-core": "^6.26.0",
+ "core-image-xhr": "^1.0.3",
+ "daycaca": "^1.0.6",
+ "vue": "^2.5.13"
+ }
+ }
+ }
+}
diff --git a/app/pages.json b/app/pages.json
new file mode 100644
index 0000000..4cf5545
--- /dev/null
+++ b/app/pages.json
@@ -0,0 +1,823 @@
+{
+ "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+ {
+ "path": "pages/index/index",
+ "style": {
+ "navigationBarTitleText": "首页",
+ "navigationStyle": "custom"
+ // "app-plus": {
+ // "scrollIndicator": false //禁用原生导航栏
+ // }
+ }
+ },
+ {
+ "path": "pages/order_addcart/order_addcart",
+ "style": {
+ "navigationBarTitleText": "购物车",
+ "navigationBarBackgroundColor": "#E93323",
+ "navigationStyle": "custom",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "pages/user/index",
+ "style": {
+ //"navigationBarTitleText": "个人中心",
+ // #ifdef MP || APP-PLUS
+ "navigationBarTextStyle": "black",
+ "navigationBarBackgroundColor": "#E93323",
+ // #endif
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "pages/goods_details/index",
+ "style": {
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/goods_cate/goods_cate",
+ "style": {
+ "navigationBarBackgroundColor": "#E93323",
+ //"navigationBarTitleText": "商品分类",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "pages/retrieve_password/index",
+ "style": {
+ "navigationBarTitleText": "找回密码"
+ }
+ },
+ // #ifdef H5
+ {
+ "path": "pages/customer_list/index",
+ "style": {
+ "navigationBarTitleText": "客服列表"
+ }
+ },
+ {
+ "path": "pages/customer_list/chat",
+ "style": {
+ "navigationBarTitleText": "客服聊天"
+ }
+ },
+ // #endif
+ {
+ "path": "pages/goods_list/index",
+ "style": {
+ "navigationBarTitleText": "商品列表",
+ "navigationBarBackgroundColor": "#E93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "pages/news_list/index",
+ "style": {
+ //"navigationBarTitleText": "资讯",
+ "navigationBarBackgroundColor": "#E93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "pages/news_details/index",
+ "style": {
+ //"navigationBarTitleText": "资讯详情",
+ "navigationBarBackgroundColor": "#E93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ //#ifdef H5
+ {
+ "path": "pages/auth/index",
+ "style": {
+ //"navigationBarTitleText": "CRMEB"
+ }
+ },
+ //#endif
+ {
+ "path": "pages/goods_search/index",
+ "style": {
+ //"navigationBarTitleText": "搜索商品",
+ "navigationBarBackgroundColor": "#E93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "pages/order_pay_status/index",
+ "style": {
+ "navigationBarTitleText": "支付成功"
+ }
+ },
+ {
+ "path": "pages/order_details/index",
+ "style": {
+ //"navigationBarTitleText": "订单详情",
+ "navigationBarBackgroundColor": "#E93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ }, {
+ "path": "pages/index/components/a_seckill",
+ "style": {}
+ }, {
+ "path": "pages/index/components/b_combination",
+ "style": {}
+ }
+ ],
+ "subPackages": [{
+ "root": "pages/users",
+ "name": "users",
+ "pages": [
+ {
+ "path": "privacy/index",
+ "style": {
+ "navigationBarTitleText": "隐私协议"
+ }
+ },
+ {
+ "path": "web_page/index",
+ "style": {
+ }
+ },
+ {
+ "path": "retrievePassword/index",
+ "style": {
+ "navigationBarTitleText": "忘记密码"
+ }
+ },
+ {
+ "path": "user_info/index",
+ "style": {
+ //"navigationBarTitleText": "个人资料",
+ "navigationBarBackgroundColor": "#E93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_get_coupon/index",
+ "style": {
+ //"navigationBarTitleText": "领取优惠券",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_goods_collection/index",
+ "style": {
+ //"navigationBarTitleText": "收藏商品",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_sgin/index",
+ "style": {
+ //"navigationBarTitleText": "签到",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_sgin_list/index",
+ "style": {
+ //"navigationBarTitleText": "签到记录",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_money/index",
+ "style": {
+ //"navigationBarTitleText": "我的账户",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_bill/index",
+ "style": {
+ //"navigationBarTitleText": "账单明细",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_integral/index",
+ "style": {
+ //"navigationBarTitleText": "积分详情",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_coupon/index",
+ "style": {
+ //"navigationBarTitleText": "我的优惠券",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_spread_user/index",
+ "style": {
+ "navigationBarTitleText": "我的推广",
+ "navigationBarBackgroundColor": "#e93323",
+ "navigationBarTextStyle": "#fff",
+
+ "app-plus": {
+ "titleNView": {
+ "type": "default"
+ }
+ }
+
+ }
+ },
+ {
+ "path": "user_spread_code/index",
+ "style": {
+ //"navigationBarTitleText": "分销海报",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_spread_money/index",
+ "style": {
+ "navigationBarTitleText": "佣金记录",
+ "navigationBarBackgroundColor": "#e93323",
+ "navigationBarTextStyle": "#fff",
+
+ "app-plus": {
+ "titleNView": {
+ "type": "default"
+ }
+ }
+
+ }
+ },
+ {
+ "path": "user_cash/index",
+ "style": {
+ "navigationBarTitleText": "提现",
+ "navigationBarBackgroundColor": "#e93323",
+ "navigationBarTextStyle": "#fff",
+
+ "app-plus": {
+ "titleNView": {
+ "type": "default"
+ }
+ }
+
+ }
+ },
+ {
+ "path": "user_vip/index",
+ "style": {
+ "navigationBarTitleText": "会员中心",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default",
+ "backgroundColor": "#fff"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_address_list/index",
+ "style": {
+ "navigationBarTitleText": "地址管理",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_address/index",
+ "style": {
+ "navigationBarTitleText": "添加地址",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_phone/index",
+ "style": {
+ "navigationBarTitleText": "修改手机号",
+ "navigationBarBackgroundColor": "#e93323"
+ // #ifdef MP
+ ,
+ "navigationBarTextStyle": "#fff"
+ // #endif
+ }
+ },
+ {
+ "path": "user_payment/index",
+ "style": {
+ "navigationBarTitleText": "余额充值"
+ }
+ },
+ {
+ "path": "user_pwd_edit/index",
+ "style": {
+ "navigationBarTitleText": "修改密码",
+ "navigationBarBackgroundColor": "#e93323"
+ // #ifdef MP
+ ,
+ "navigationBarTextStyle": "#fff"
+ // #endif
+ }
+ },
+ {
+ "path": "order_confirm/index",
+ "style": {
+ "navigationBarTitleText": "提交订单",
+ "navigationBarBackgroundColor": "#e93323",
+ // "navigationStyle": "custom",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "goods_details_store/index",
+ "style": {
+ "navigationBarTitleText": "门店列表",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "promoter-list/index",
+ "style": {
+ "navigationBarTitleText": "推广人列表",
+ "navigationBarBackgroundColor": "#e93323",
+
+ "navigationBarTextStyle": "#fff",
+
+ "app-plus": {
+ "titleNView": {
+ "type": "default"
+ }
+ }
+
+ }
+ },
+ {
+ "path": "promoter-order/index",
+ "style": {
+ "navigationBarTitleText": "推广人订单",
+ "navigationBarBackgroundColor": "#e93323",
+
+ "navigationBarTextStyle": "#fff",
+
+ "app-plus": {
+ "titleNView": {
+ "type": "default"
+ }
+ }
+
+ }
+ },
+ {
+ "path": "promoter_rank/index",
+ "style": {
+ "navigationBarTitleText": "推广人排行",
+ "navigationBarBackgroundColor": "#e93323",
+
+ "navigationBarTextStyle": "#fff",
+
+ "app-plus": {
+ "titleNView": {
+ "type": "default"
+ }
+ }
+
+ }
+ },
+ {
+ "path": "commission_rank/index",
+ "style": {
+ "navigationBarTitleText": "佣金排行",
+ "navigationBarBackgroundColor": "#e93323",
+ "navigationBarTextStyle": "#fff",
+
+ "app-plus": {
+ "titleNView": {
+ "type": "default"
+ }
+ }
+
+ }
+ },
+ {
+ "path": "order_list/index",
+ "style": {
+ "navigationBarTitleText": "我的订单",
+ "navigationBarBackgroundColor": "#e93323",
+ "navigationStyle": "custom",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "goods_logistics/index",
+ "style": {
+ "navigationBarTitleText": "物流信息",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "user_return_list/index",
+ "style": {
+ "navigationBarTitleText": "退货列表",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "goods_return/index",
+ "style": {
+ "navigationBarTitleText": "申请退货",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "login/index",
+ "style": {
+ "navigationBarTitleText": "登录",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "goods_comment_list/index",
+ "style": {
+ "navigationBarTitleText": "商品评分",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "goods_comment_con/index",
+ "style": {
+ "navigationBarTitleText": "商品评价",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "wechat_login/index",
+ "style": {
+ "navigationBarTitleText": "账户登录",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "app_login/index",
+ "style": {
+ "navigationBarTitleText": "绑定手机号",
+ "navigationStyle": "custom"
+ }
+ }
+ ]
+ },
+ {
+ "root": "pages/activity",
+ "name": "activity",
+ "pages": [{
+ "path": "goods_bargain/index",
+ "style": {
+ "navigationBarTitleText": "砍价列表"
+ // #ifdef MP
+ ,
+ "navigationBarTextStyle": "black",
+ "navigationBarBackgroundColor": "#fff"
+ // #endif
+ }
+ },
+ {
+ "path": "goods_bargain_details/index",
+ "style": {
+ "navigationBarTitleText": "砍价详情"
+ // #ifdef MP
+ ,
+ "navigationBarTextStyle": "black",
+ "navigationBarBackgroundColor": "#fff"
+ // #endif
+ }
+ },
+ {
+ "path": "goods_combination/index",
+ "style": {
+ "navigationBarTitleText": "拼团列表"
+ // #ifdef MP || APP-PLUS
+ ,
+ "navigationBarTextStyle": "#fff",
+ "navigationBarBackgroundColor": "#e93323"
+ // #endif
+ }
+ },
+ {
+ "path": "goods_combination_details/index",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "goods_combination_status/index",
+ "style": {
+ "navigationBarTitleText": "拼团",
+ "navigationBarBackgroundColor": "#e93323",
+ "app-plus": {
+ // #ifdef APP-PLUS
+ "titleNView": {
+ "type": "default"
+ }
+ // #endif
+ }
+ }
+ },
+ {
+ "path": "goods_seckill/index",
+ "style": {
+ "navigationBarTitleText": "限时秒杀"
+ // #ifdef MP
+ ,
+ "navigationBarTextStyle": "#fff",
+ "navigationBarBackgroundColor": "#e93323"
+ // #endif
+ }
+ },
+ {
+ "path": "goods_seckill_details/index",
+ "style": {
+ "navigationBarTitleText": "秒杀详情"
+ // #ifdef MP
+ ,
+ "navigationStyle": "custom"
+ // #endif
+ }
+ },
+ {
+ "path": "poster-poster/index",
+ "style": {
+ "navigationBarTitleText": "砍价海报"
+ // #ifdef MP
+ ,
+ "navigationBarTextStyle": "#fff",
+ "navigationBarBackgroundColor": "#e93323"
+ // #endif
+ }
+ },
+ {
+ "path": "bargain/index",
+ "style": {
+ "navigationBarTitleText": "砍价记录"
+ }
+ }
+ ]
+ },
+ {
+ "root": "pages/columnGoods",
+ "name": "columnGoods",
+ "pages": [{
+ "path": "HotNewGoods/index",
+ "style": {
+ "navigationBarTitleText": "精品推荐"
+ }
+ }]
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "black",
+ //"navigationBarTitleText": "crmeb",
+ "navigationBarBackgroundColor": "#ff5500",
+ "backgroundColor": "#F8F8F8",
+ "titleNView": false,
+ "rpxCalcMaxDeviceWidth": 960,
+ "rpxCalcBaseDeviceWidth": 375,
+ "rpxCalcIncludeWidth": 750
+ },
+ "tabBar": {
+ "color": "#282828",
+ "selectedColor": "#fc4141",
+ "borderStyle": "white",
+ "backgroundColor": "#ffffff",
+ "list": [{
+ "pagePath": "pages/index/index",
+ "iconPath": "static/images/1-001.png",
+ "selectedIconPath": "static/images/1-002.png",
+ "text": "首页"
+ },
+ {
+ "pagePath": "pages/goods_cate/goods_cate",
+ "iconPath": "static/images/2-001.png",
+ "selectedIconPath": "static/images/2-002.png",
+ "text": "分类"
+ },
+ {
+ "pagePath": "pages/order_addcart/order_addcart",
+ "iconPath": "static/images/3-001.png",
+ "selectedIconPath": "static/images/3-002.png",
+ "text": "购物车"
+ },
+ {
+ "pagePath": "pages/user/index",
+ "iconPath": "static/images/4-001.png",
+ "selectedIconPath": "static/images/4-002.png",
+ "text": "我的"
+ }
+ ]
+ },
+ "condition": { //模式配置,仅开发期间生效
+ "current": 0, //当前激活的模式(list 的索引项)
+ "list": [{
+ "name": "", //模式名称
+ "path": "", //启动页面,必选
+ "query": "" //启动参数,在页面的onLoad函数里面得到
+ }]
+ }
+}
\ No newline at end of file
diff --git a/app/pages/activity/bargain/index.vue b/app/pages/activity/bargain/index.vue
new file mode 100644
index 0000000..3c927a3
--- /dev/null
+++ b/app/pages/activity/bargain/index.vue
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+
+
+
+
+
{{ item.title }}
+
+
砍价成功
+
活动已结束
+
+ 已砍至¥{{ item.surplusPrice }}
+
+
+
+
+
活动进行中
+
砍价成功
+
活动已结束
+
+
+ 去付款
+
+
+ 立即付款
+
+
+ 继续砍价
+
+
重开一个
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/goods_bargain/index.vue b/app/pages/activity/goods_bargain/index.vue
new file mode 100644
index 0000000..b178ab5
--- /dev/null
+++ b/app/pages/activity/goods_bargain/index.vue
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+ 后结束
+
+
+ 已结束
+
+
+ 已售罄
+
+
+ 最低: ¥{{item.minPrice}}
+
+ 参与砍价
+ 已售罄
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/goods_bargain_details/index.vue b/app/pages/activity/goods_bargain_details/index.vue
new file mode 100644
index 0000000..6d4b973
--- /dev/null
+++ b/app/pages/activity/goods_bargain_details/index.vue
@@ -0,0 +1,1569 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{bargainInfo.title}}
+ 最低价:¥{{bargainInfo.minPrice}}
+ 剩余:{{bargainInfo.quota}}{{bargainInfo.unitName}}
+
+ 当前: ¥
+ {{buyPrice}}
+
+
+
+ 后结束
+
+
+ 已结束
+
+
+ 已售罄
+
+
+
+
+
+
+
+
+ 已砍¥{{bargainUserInfo.alreadyPrice}}
+
+ 还剩¥{{bargainUserInfo.surplusPrice}}
+
+
+
+
+
+
+ 一 已有{{bargainInfo.sales}}位好友砍价成功 一
+
+
+
+
+
+
+ 立即参与砍价
+
+ 商品暂无库存
+
+
+
+ 邀请好友帮砍价
+ 邀请好友帮砍价
+
+
+
+
+
+
+
+ 帮好友砍一刀
+
+
+
+
+ 好友已砍成功
+
+ 我也要参与
+
+
+
+
+ 您已帮其他好友砍过此商品
+
+ 我也要参与
+
+
+
+
+ 已成功帮助好友砍价
+
+ 我也要参与
+
+
+
+
+ 恭喜您砍价成功,快去支付吧~
+
+
+ 继续选购
+ 立即支付
+ 去支付
+
+
+
+
+
+ 恭喜您砍价成功,去看看别的商品吧~
+
+
+ 继续选购
+
+
+
+ 活动已结束
+
+
+ 商品已售罄
+
+
+ 再去逛逛
+
+
+
+ 您购买的商品数量已达上限
+
+
+
+
+
+
+
+
+
+ 砍价记录
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+ {{item.addTimeStr }}
+
+
+
+ 已砍 {{item.price}}元
+
+
+
+
+ {{couponsHidden?'展开更多':'关闭展开'}}
+
+
+
+ 暂无助力记录
+
+
+
+
+
+
+
+
+
+
+ 商品详情
+
+
+
+
+
+
+
+
+
+
+
+ 暂无商品详情
+
+
+
+
+
+
+
+
+
+
+ 您已砍掉{{bargainUserBargainPrice}}元
+
+
+
+ {{bargainUserInfo.bargainPercent}}%
+
+
+
+
+
+ 分享次数越多,成功的机会越大哦!
+
+
+
+
+ 邀请好友帮砍价
+
+
+
+
+ 帮好友砍掉{{bargainUserBargainPrice}}元
+
+
+
+ {{bargainUserInfo.bargainPercent}}%
+
+
+
+
+
+ 您也可以砍价低价拿哦,快去挑选吧~
+
+
+ 我也要参与
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存到手机
+
+
+ 长按图片保存至相册
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/goods_combination/index.vue b/app/pages/activity/goods_combination/index.vue
new file mode 100644
index 0000000..8de1ddc
--- /dev/null
+++ b/app/pages/activity/goods_combination/index.vue
@@ -0,0 +1,414 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ···
+
+
+
+
+ {{totalPeople}}人参与
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ ¥{{item.otPrice}}
+
+ ¥{{item.price}}
+
+ {{item.people}}人团
+ 去拼团
+
+
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/goods_combination_details/index.vue b/app/pages/activity/goods_combination_details/index.vue
new file mode 100644
index 0000000..bcc405e
--- /dev/null
+++ b/app/pages/activity/goods_combination_details/index.vue
@@ -0,0 +1,1613 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ¥{{storeInfo.price || 0}}¥{{storeInfo.otPrice || 0}}
+
+
+
+ {{storeInfo.storeName}}
+
+ 类型:{{storeInfo.people || 0}}人团
+ 累计销量:{{parseFloat(storeInfo.sales) + parseFloat(storeInfo.ficti)}} {{storeInfo.unitName || ''}}
+ 限购: {{ storeInfo.quotaShow ? storeInfo.quotaShow : 0 }}
+ {{storeInfo.unitName || ''}}
+
+
+
+
+ {{attr}}:{{attrValue}}
+
+
+
+
+
+ 已拼{{pinkOkSum}}件|
+
+
+
+
+
+ {{item.nickname}}拼团成功
+
+
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+
+
+
+ 还差{{item.count}}人成团
+
+
+
+
+
+
+ 去拼单
+
+
+
+
+
+ 查看更多
+ 收起
+
+
+
+
+ 拼团玩法
+
+
+
+
+ ①
+ 开团/参团
+
+
+
+ ②
+ 邀请好友
+
+
+
+
+ ③
+ 满员发货
+
+
+
+
+
+
+
+ 用户评价({{replyCount}})
+
+ 好评{{replyChance || 0}}%
+
+
+
+
+
+
+
+
+
+
+
+
+ 产品详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存到手机
+
+
+ 长按图片可以保存到手机
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/goods_combination_status/index.vue b/app/pages/activity/goods_combination_status/index.vue
new file mode 100644
index 0000000..1b1277e
--- /dev/null
+++ b/app/pages/activity/goods_combination_status/index.vue
@@ -0,0 +1,1007 @@
+
+
+
+
+
+
恭喜您拼团成功
+
还差{{ count }}人,拼团失败
+
拼团中,还差{{ count }}人拼团成功
+
+
+ {{ iShidden ? '收起' : '查看全部' }}
+
+
+
+
+
+
+
+
+
拼团已过期
+
我要参团
+
+
再次开团
+
+
+ 取消开团
+
+
+
+ 查看订单信息
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存到手机
+
+
+ 长按图片保存至相册
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/goods_seckill/index.vue b/app/pages/activity/goods_seckill/index.vue
new file mode 100644
index 0000000..4a1bb15
--- /dev/null
+++ b/app/pages/activity/goods_seckill/index.vue
@@ -0,0 +1,406 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.time.split(',')[0]}}
+ {{item.statusName}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ ¥
+ {{item.price}}
+ ¥{{item.otPrice}}
+
+ 限量 {{item.quota}} {{item.unitName}}
+
+
+
+ 已抢{{item.percent}}%
+
+
+ 马上抢
+ 未开始
+ 已结束
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/goods_seckill_details/index.vue b/app/pages/activity/goods_seckill_details/index.vue
new file mode 100644
index 0000000..fcaaba7
--- /dev/null
+++ b/app/pages/activity/goods_seckill_details/index.vue
@@ -0,0 +1,1391 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ¥{{storeInfo.price}}¥{{storeInfo.otPrice}}
+
+
+ 距秒杀结束仅剩
+
+
+
+
+
+
+
+ {{storeInfo.storeName}}
+
+
+
+ 累计销售:{{parseFloat(storeInfo.sales) + parseFloat(storeInfo.ficti) || 0}}{{storeInfo.unitName}}
+ 限量: {{ storeInfo.quota ? storeInfo.quota : 0 }} {{storeInfo.unitName}}
+
+
+
+ {{attr}}:{{attrValue}}
+
+
+
+
+ 用户评价({{replyCount}})
+
+ {{replyChance}}%好评率
+
+
+
+
+
+
+
+
+
+
+ 产品详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存到手机
+
+
+ 长按图片可以保存到手机
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/poster-poster/index.vue b/app/pages/activity/poster-poster/index.vue
new file mode 100644
index 0000000..1e4421f
--- /dev/null
+++ b/app/pages/activity/poster-poster/index.vue
@@ -0,0 +1,280 @@
+
+
+
+ 提示:点击图片即可保存至手机相册
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/activity/static/btn.png b/app/pages/activity/static/btn.png
new file mode 100644
index 0000000..ea0f376
Binary files /dev/null and b/app/pages/activity/static/btn.png differ
diff --git a/app/pages/activity/static/canbj.png b/app/pages/activity/static/canbj.png
new file mode 100644
index 0000000..d9f2e37
Binary files /dev/null and b/app/pages/activity/static/canbj.png differ
diff --git a/app/pages/activity/static/cheng.png b/app/pages/activity/static/cheng.png
new file mode 100644
index 0000000..0ae3048
Binary files /dev/null and b/app/pages/activity/static/cheng.png differ
diff --git a/app/pages/activity/static/chengh.png b/app/pages/activity/static/chengh.png
new file mode 100644
index 0000000..4b7d329
Binary files /dev/null and b/app/pages/activity/static/chengh.png differ
diff --git a/app/pages/activity/static/lun.png b/app/pages/activity/static/lun.png
new file mode 100644
index 0000000..e4be783
Binary files /dev/null and b/app/pages/activity/static/lun.png differ
diff --git a/app/pages/activity/static/n1.png b/app/pages/activity/static/n1.png
new file mode 100644
index 0000000..827998e
Binary files /dev/null and b/app/pages/activity/static/n1.png differ
diff --git a/app/pages/activity/static/n2.png b/app/pages/activity/static/n2.png
new file mode 100644
index 0000000..e426297
Binary files /dev/null and b/app/pages/activity/static/n2.png differ
diff --git a/app/pages/activity/static/n3.png b/app/pages/activity/static/n3.png
new file mode 100644
index 0000000..6faf599
Binary files /dev/null and b/app/pages/activity/static/n3.png differ
diff --git a/app/pages/activity/static/pinbei.png b/app/pages/activity/static/pinbei.png
new file mode 100644
index 0000000..90c77ac
Binary files /dev/null and b/app/pages/activity/static/pinbei.png differ
diff --git a/app/pages/activity/static/shandian.png b/app/pages/activity/static/shandian.png
new file mode 100644
index 0000000..acac9b8
Binary files /dev/null and b/app/pages/activity/static/shandian.png differ
diff --git a/app/pages/activity/static/woman.png b/app/pages/activity/static/woman.png
new file mode 100644
index 0000000..b2bebb6
Binary files /dev/null and b/app/pages/activity/static/woman.png differ
diff --git a/app/pages/activity/static/you.png b/app/pages/activity/static/you.png
new file mode 100644
index 0000000..7ff33ab
Binary files /dev/null and b/app/pages/activity/static/you.png differ
diff --git a/app/pages/activity/static/you2.png b/app/pages/activity/static/you2.png
new file mode 100644
index 0000000..cf80147
Binary files /dev/null and b/app/pages/activity/static/you2.png differ
diff --git a/app/pages/activity/static/zhuangshi.png b/app/pages/activity/static/zhuangshi.png
new file mode 100644
index 0000000..02376ba
Binary files /dev/null and b/app/pages/activity/static/zhuangshi.png differ
diff --git a/app/pages/activity/static/zuo.png b/app/pages/activity/static/zuo.png
new file mode 100644
index 0000000..0b3036f
Binary files /dev/null and b/app/pages/activity/static/zuo.png differ
diff --git a/app/pages/activity/static/zuo2.png b/app/pages/activity/static/zuo2.png
new file mode 100644
index 0000000..a686c9e
Binary files /dev/null and b/app/pages/activity/static/zuo2.png differ
diff --git a/app/pages/auth/index.vue b/app/pages/auth/index.vue
new file mode 100644
index 0000000..95faec2
--- /dev/null
+++ b/app/pages/auth/index.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/columnGoods/HotNewGoods/index.vue b/app/pages/columnGoods/HotNewGoods/index.vue
new file mode 100644
index 0000000..57e60a5
--- /dev/null
+++ b/app/pages/columnGoods/HotNewGoods/index.vue
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 我是有底线的~
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/pages/columnGoods/static/group02.gif b/app/pages/columnGoods/static/group02.gif
new file mode 100644
index 0000000..0840dcd
Binary files /dev/null and b/app/pages/columnGoods/static/group02.gif differ
diff --git a/app/pages/customer_list/chat.vue b/app/pages/customer_list/chat.vue
new file mode 100644
index 0000000..083aaf0
--- /dev/null
+++ b/app/pages/customer_list/chat.vue
@@ -0,0 +1,999 @@
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+ ¥{{ productInfo.price
+ }}¥{{ productInfo.otPrice }}
+
+
+ 发送客服
+
+
+
+
+
+
+ 订单号:{{ orderInfo.order_id }}
+ {{ orderInfo.add_time_y }} {{ orderInfo.add_time_h }}
+
+
+
+
![]()
+
+ {{ orderInfo.cartInfo ? orderInfo.cartInfo.length : 0 }}件商品
+
+
+
+
+ {{ cartInfo.productInfo.store_name }}
+
+
+
+ ¥{{ cartInfo.productInfo.price
+ }}¥{{ cartInfo.productInfo.ot_price }}
+
+
+ 发送客服
+
+
+
+
+
+
+
+
+
+
+
+
{{ item.nickname }}
+
+
+
+
+ 订单号:{{ item.orderInfo.order_id }}
+
+
+
+
+
+
![]()
+
+ {{
+ item.orderInfo.cartInfo
+ ? item.orderInfo.cartInfo.length
+ : 0
+ }}件商品
+
+
+
+
+
+ ¥{{ val.productInfo.price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+ ¥{{ item.productInfo.price }}
+
+
+
+
+
+
+
+
+

12’’
+
+
+
+
![]()
+
+
+
+
+
+
+
+ {{ item.msn }}
+
+
+
+
+
+
+
+
{{ item.nickname }}
+
+
+
+
+ 订单号:{{ item.orderInfo.order_id }}
+
+
+
+
+
+
![]()
+
+ {{
+ item.orderInfo.cartInfo
+ ? item.orderInfo.cartInfo.length
+ : 0
+ }}件商品
+
+
+
+
+
+ ¥{{ val.productInfo.price }}
+
+
+
+
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+ ¥{{ item.productInfo.price }}
+
+
+
+
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+ {{ item.msn }}
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
diff --git a/app/pages/customer_list/index.vue b/app/pages/customer_list/index.vue
new file mode 100644
index 0000000..269d0c1
--- /dev/null
+++ b/app/pages/customer_list/index.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
{{ item.nickname }}
+
+
+
+
+
+
diff --git a/app/pages/first_new_product/index.vue b/app/pages/first_new_product/index.vue
new file mode 100644
index 0000000..bb53033
--- /dev/null
+++ b/app/pages/first_new_product/index.vue
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+ {{name}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/goods_cate/goods_cate.vue b/app/pages/goods_cate/goods_cate.vue
new file mode 100644
index 0000000..6ec885b
--- /dev/null
+++ b/app/pages/goods_cate/goods_cate.vue
@@ -0,0 +1,261 @@
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+ {{itemn.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/goods_details/index.vue b/app/pages/goods_details/index.vue
new file mode 100644
index 0000000..df4fdb7
--- /dev/null
+++ b/app/pages/goods_details/index.vue
@@ -0,0 +1,1917 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ¥
+ {{productInfo.price}}
+ ¥{{productInfo.vipPrice}}
+
+
+
+
+ {{productInfo.storeName}}
+
+ 原价:¥{{productInfo.otPrice || 0}}
+ 库存:{{productInfo.stock || 0}}{{productInfo.unitName || ''}}
+
+ 销量:{{Math.floor(productInfo.sales) + Math.floor(productInfo.ficti) || 0}}{{productInfo.unitName || ''}}
+
+
+
+
+
+ 优惠券:
+
+ 满{{coupon.list[0].minPrice}}减{{coupon.list[0].money}}
+
+
+
+
+
+ 活 动:
+
+
+
+ 参与秒杀
+
+
+
+ 参与砍价
+
+
+
+ 参与拼团
+
+
+
+
+
+
+ {{attrTxt}}:
+ {{attrValue}}
+
+
+
+
+
+ 用户评价({{replyCount}})
+
+ 好评 {{replyChance || 0}}%
+
+
+
+
+
+
+
+
+
+
+
+ 优品推荐
+
+
+
+
+
+
+
+
+
+ 秒杀
+ 砍价
+ 拼团
+
+ {{val.storeName}}
+ ¥{{val.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+ 产品详情
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 保存到手机
+
+
+ 长按图片可以保存到手机
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/goods_list/index.vue b/app/pages/goods_list/index.vue
new file mode 100644
index 0000000..0a8c9db
--- /dev/null
+++ b/app/pages/goods_list/index.vue
@@ -0,0 +1,435 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{title ? title:'默认'}}
+
+ 价格
+
+
+
+
+
+ 销量
+
+
+
+
+
+ 新品
+
+
+
+
+
+
+ 秒杀
+ 砍价
+ 拼团
+
+
+ {{item.storeName}}
+ ¥{{item.price}}
+
+ ¥{{item.vip_price}}
+
+
+ 已售{{Number(item.sales) + Number(item.ficti) || 0}}{{item.unitName}}
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/goods_search/index.vue b/app/pages/goods_search/index.vue
new file mode 100644
index 0000000..b58e938
--- /dev/null
+++ b/app/pages/goods_search/index.vue
@@ -0,0 +1,223 @@
+
+
+
+
+
+
+
+
+ 搜索
+
+ 热门搜索
+
+
+ {{item.title}}
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/index/components/a_seckill.vue b/app/pages/index/components/a_seckill.vue
new file mode 100644
index 0000000..6614f47
--- /dev/null
+++ b/app/pages/index/components/a_seckill.vue
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+
+ {{point}} 场
+
+
+ GO
+
+
+
+
+
+
+
+
+ {{item.title}}
+ ¥{{item.price}}
+ ¥{{item.otPrice}}
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/index/components/b_combination.vue b/app/pages/index/components/b_combination.vue
new file mode 100644
index 0000000..e776e56
--- /dev/null
+++ b/app/pages/index/components/b_combination.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+
+
+ ···
+
+
+ {{assistUserCount}}人参与
+
+
+ GO
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ ¥{{item.price}}
+ ¥{{item.otPrice}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/index/components/c_bargain.vue b/app/pages/index/components/c_bargain.vue
new file mode 100644
index 0000000..1fd7834
--- /dev/null
+++ b/app/pages/index/components/c_bargain.vue
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+ GO
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ ¥{{item.minPrice}}
+ 参与砍价
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/index/index.vue b/app/pages/index/index.vue
new file mode 100644
index 0000000..e3c775b
--- /dev/null
+++ b/app/pages/index/index.vue
@@ -0,0 +1,1394 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+
+
+
+
+
+ {{item.info}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 领取优惠券
+ 福利大礼包,省了又省
+
+ 查看全部
+
+
+
+
+ {{item.name}}
+
+
+ {{item.money?Number(item.money):''}}元
+ 领取
+ 已领取
+
+ 满{{item.minPrice?Number(item.minPrice):''}}元可用
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+ {{item.info}}
+
+
+
+
+
+
+
+
+
+
+ 秒杀
+ 砍价
+ 拼团
+
+
+
+ {{item.storeName}}
+ ¥{{item.otPrice}}
+
+ ¥{{item.price}}
+ 券
+
+
+
+
+
+
+
+
+ 我是有底线的
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/pages/news_details/index.vue b/app/pages/news_details/index.vue
new file mode 100644
index 0000000..3d38b98
--- /dev/null
+++ b/app/pages/news_details/index.vue
@@ -0,0 +1,275 @@
+
+
+
+ {{articleInfo.title}}
+
+ {{articleInfo.author}}
+ {{articleInfo.createTime}}
+ {{articleInfo.visit}}
+
+
+
+
+
+
+
+
+
+ {{store_info.storeName}}
+
+ ¥{{store_info.price}}
+
+ ¥{{store_info.otPrice}}
+
+ 查看商品
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/news_list/index.vue b/app/pages/news_list/index.vue
new file mode 100644
index 0000000..6fa8e86
--- /dev/null
+++ b/app/pages/news_list/index.vue
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+ {{item.title}}
+ {{item.createTime}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/order_addcart/order_addcart.vue b/app/pages/order_addcart/order_addcart.vue
new file mode 100644
index 0000000..0c1a432
--- /dev/null
+++ b/app/pages/order_addcart/order_addcart.vue
@@ -0,0 +1,1248 @@
+
+
+
+
+ 100%正品保证
+ 所有商品精挑细选
+ 售后无忧
+
+
+
+ 购物数量 {{cartCount}}
+ {{ footerswitch ? '管理' : '取消'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.storeName}}
+
+ 属性:{{item.suk}}
+ ¥{{item.price}}
+
+
+ 请重新选择商品规格
+ 重选
+
+
+
+ -
+ {{item.cartNum}}
+ +
+
+
+
+
+
+
+
+
+
+
+ 失效商品
+
+
+ 失效商品
+
+ 清空
+
+
+
+
+ 失效
+
+
+
+
+
+ {{item.storeName}}
+ 属性:{{item.suk}}
+
+ 该商品已失效
+
+
+
+
+
+
+
+
+
+ {{loadTitleInvalid}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/pages/order_details/index.vue b/app/pages/order_details/index.vue
new file mode 100644
index 0000000..caa89d0
--- /dev/null
+++ b/app/pages/order_details/index.vue
@@ -0,0 +1,1035 @@
+
+
+
+
+
+
+
+
+
+ 待付款
+
+ {{orderInfo.shippingType==1 ? '待发货':'待核销'}}
+ 待收货
+ 待评价
+ 已完成
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 核销信息
+
+
+
+
+
+
+
+
+
+
+ {{orderInfo.verifyCode}}
+
+
+
+ 核销时间
+
+
+ 每日:{{orderInfo.systemStore.dayTime.replace(',','-')}}
+
+
+
+
+ 使用说明
+
+ 可将二维码出示给店员扫描或提供数字核销码
+
+
+
+
+ 自提地址信息
+
+ 查看位置
+
+
+
+ {{orderInfo.realName}}{{orderInfo.userPhone}}
+ {{orderInfo.userAddress}}
+
+
+ {{orderInfo.systemStore?orderInfo.systemStore.name:''}}{{orderInfo.systemStore?orderInfo.systemStore.phone:''}}
+ {{orderInfo.systemStore?orderInfo.systemStore.detailedAddress:''}}
+
+
+
+
+
+ 联系客服
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{orderInfo.refundStatus==1?'商家审核中':orderInfo.refundStatus==2?'商家已退款':'商家拒绝退款'}}
+
+ {{orderInfo.refundStatus==1 ? "您已成功发起退款申请,请耐心等待商家处理;退款前请与商家协商一致,有助于更好的处理售后问题": orderInfo.refundStatus==2? "退款已成功受理,如商家已寄出商品请尽快退回;感谢您的支持": "拒绝原因:" + orderInfo.refundReason}}
+
+
+
+ 订单编号:
+ {{orderInfo.orderId}}
+
+ 复制
+
+
+ 复制
+
+
+
+
+ 下单时间:
+ {{(orderInfo.createTime || 0)}}
+
+
+ 支付状态:
+ 已支付
+ 未支付
+
+
+ 支付方式:
+ {{orderInfo.payTypeStr}}
+
+
+ 买家留言:
+ {{orderInfo.mark}}
+
+
+
+
+
+ 收货人:
+ {{orderInfo.realName}}
+
+
+ 联系电话:
+ {{orderInfo.userPhone}}
+
+
+ 收货地址:
+ {{orderInfo.userAddress}}
+
+
+
+
+
+ 配送方式:
+ 发货
+
+
+ 快递公司:
+ {{orderInfo.deliveryName || ''}}
+
+
+ 快递号:
+ {{orderInfo.deliveryId || ''}}
+
+
+
+
+ 配送方式:
+ 送货
+
+
+ 配送人姓名:
+ {{orderInfo.deliveryName || ''}}
+
+
+ 联系电话:
+ {{orderInfo.deliveryId || ''}}拨打
+
+
+
+
+ 虚拟发货:
+ 已发货,请注意查收
+
+
+
+
+
+ 商品总价:
+ ¥{{orderInfo.proTotalPrice}}
+
+
+ 运费:
+ ¥{{orderInfo.payPostage}}
+
+
+ 优惠券抵扣:
+ -¥{{orderInfo.couponPrice}}
+
+
+ 积分抵扣:
+ -¥{{orderInfo.deductionPrice}}
+
+ 实付款:¥{{orderInfo.payPrice}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/order_pay_status/index.vue b/app/pages/order_pay_status/index.vue
new file mode 100644
index 0000000..a142d0d
--- /dev/null
+++ b/app/pages/order_pay_status/index.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+ {{order_pay_info.paid ? '订单支付成功':'订单支付失败'}}
+ 订单创建成功
+
+
+ 订单编号
+ {{order_pay_info.orderId}}
+
+
+ 下单时间
+ {{order_pay_info.createTime?order_pay_info.createTime:'-'}}
+
+
+ 支付方式
+ 微信支付
+ 余额支付
+ 线下支付
+ 支付宝支付
+
+
+ 支付金额
+ {{order_pay_info.payPrice}}
+
+
+
+ 失败原因
+ {{status==2 ? '取消支付':msg}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/promotional_items/index.vue b/app/pages/promotional_items/index.vue
new file mode 100644
index 0000000..48d48ea
--- /dev/null
+++ b/app/pages/promotional_items/index.vue
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/app/pages/retrieve_password/index.vue b/app/pages/retrieve_password/index.vue
new file mode 100644
index 0000000..21d89f7
--- /dev/null
+++ b/app/pages/retrieve_password/index.vue
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+ 找回密码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认
+
+ 立即登录
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/user/index.vue b/app/pages/user/index.vue
new file mode 100644
index 0000000..4063799
--- /dev/null
+++ b/app/pages/user/index.vue
@@ -0,0 +1,665 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 请点击登录
+
+
+ {{userInfo.nickname}}
+
+
+ {{userInfo.vipName || ''}}
+
+
+
+
+ {{userInfo.phone}}
+
+
+
+
+ 绑定手机号
+
+
+
+
+ {{userInfo.nowMoney && uid ?Number(userInfo.nowMoney).toFixed(2):0}}
+ 余额
+
+
+ {{userInfo.integral && uid ? userInfo.integral: 0}}
+ 积分
+
+
+ {{userInfo.couponCount && uid ? userInfo.couponCount : 0}}
+ 优惠券
+
+
+ {{userInfo.collectCount && uid ? userInfo.collectCount : 0}}
+ 收藏
+
+
+
+
+
+
+ 订单中心
+
+ 查看全部
+
+
+
+
+
+
+
+
+ {{ item.num }}
+
+ {{item.title}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/app_login/index.vue b/app/pages/users/app_login/index.vue
new file mode 100644
index 0000000..bacee33
--- /dev/null
+++ b/app/pages/users/app_login/index.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/commission_rank/index.vue b/app/pages/users/commission_rank/index.vue
new file mode 100644
index 0000000..3cecd71
--- /dev/null
+++ b/app/pages/users/commission_rank/index.vue
@@ -0,0 +1,248 @@
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+ {{index+1}}
+
+
+
+
+
+ {{item.nickname}}
+
+ ¥{{item.brokeragePrice}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/goods_comment_con/index.vue b/app/pages/users/goods_comment_con/index.vue
new file mode 100644
index 0000000..5a27770
--- /dev/null
+++ b/app/pages/users/goods_comment_con/index.vue
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/goods_comment_list/index.vue b/app/pages/users/goods_comment_list/index.vue
new file mode 100644
index 0000000..d2c2762
--- /dev/null
+++ b/app/pages/users/goods_comment_list/index.vue
@@ -0,0 +1,183 @@
+
+
+
+
+
+ 全部({{replyData.sumCount}})
+
+ 好评({{replyData.goodCount}})
+
+ 中评({{replyData.inCount}})
+
+ 差评({{replyData.poorCount}})
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/goods_details_store/index.vue b/app/pages/users/goods_details_store/index.vue
new file mode 100644
index 0000000..a9f4e87
--- /dev/null
+++ b/app/pages/users/goods_details_store/index.vue
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
{{ item.name }}
+
+ {{ item.address }}{{ ", " + item.detailedAddress }}
+
+
+
+
+
+
+ 距离{{ item.distance/1000 }}千米
+ 查看地图
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/goods_logistics/index.vue b/app/pages/users/goods_logistics/index.vue
new file mode 100644
index 0000000..7155ddd
--- /dev/null
+++ b/app/pages/users/goods_logistics/index.vue
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+
+
+
+ 物流公司: {{orderInfo.deliveryName}}
+ 快递单号: {{orderInfo.deliveryId}}
+
+
+
+ 复制单号
+
+
+ 复制单号
+
+
+
+
+
+ {{item.status}}
+ {{item.time}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/goods_return/index.vue b/app/pages/users/goods_return/index.vue
new file mode 100644
index 0000000..a09e1ee
--- /dev/null
+++ b/app/pages/users/goods_return/index.vue
@@ -0,0 +1,204 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/kefu/index.vue b/app/pages/users/kefu/index.vue
new file mode 100644
index 0000000..1c539f9
--- /dev/null
+++ b/app/pages/users/kefu/index.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
diff --git a/app/pages/users/login/index.vue b/app/pages/users/login/index.vue
new file mode 100644
index 0000000..e484d99
--- /dev/null
+++ b/app/pages/users/login/index.vue
@@ -0,0 +1,608 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
登录
+
登录
+
+
+
+
+
+
+
diff --git a/app/pages/users/order_confirm/index.vue b/app/pages/users/order_confirm/index.vue
new file mode 100644
index 0000000..a5b8281
--- /dev/null
+++ b/app/pages/users/order_confirm/index.vue
@@ -0,0 +1,1273 @@
+
+
+
+
+
+
+
+
+
+
+ {{addressInfo.realName}}
+ {{addressInfo.phone}}
+
+
+ [默认]
+ {{addressInfo.province}}{{addressInfo.city}}{{addressInfo.district}}{{addressInfo.detail}}
+
+
+
+ 设置收货地址
+
+
+
+
+
+
+ {{system_store.name}}
+ {{system_store.phone}}
+
+ {{system_store.address}}{{", " + system_store.detailedAddress}}
+
+
+
+
+
+ 暂无门店信息
+
+
+
+
+
+
+
+
+
+
+ 优惠券
+ {{couponTitle}}
+
+
+
+
+
+ 积分抵扣
+
+
+ {{useIntegral ? "剩余积分":"当前积分"}}
+ {{useIntegral ? orderInfoVo.surplusIntegral : orderInfoVo.userIntegral || 0}}
+
+
+
+
+
+
+
+
+ 快递费用
+
+ +¥{{orderInfoVo.freightFee}}
+
+ 免运费
+
+
+
+ 联系人
+
+
+
+
+
+ 联系电话
+
+
+
+
+
+
+
+ 备注信息
+
+
+
+
+
+ 支付方式
+
+
+
+
+
+ {{item.name}}
+
+ {{item.title}}
+
+
+
+
+
+
+ 商品总价:
+ ¥{{orderInfoVo.proTotalFee || 0}}
+
+
+ 优惠券抵扣:
+ -¥{{orderInfoVo.couponFee}}
+
+
+ 积分抵扣:
+ -¥{{orderInfoVo.deductionPrice}}
+
+
+ 运费:
+ +¥{{orderInfoVo.freightFee}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/order_list/index.vue b/app/pages/users/order_list/index.vue
new file mode 100644
index 0000000..9552345
--- /dev/null
+++ b/app/pages/users/order_list/index.vue
@@ -0,0 +1,550 @@
+
+
+
+
+
+
+ 待付款
+ {{orderData.unPaidCount || 0}}
+
+
+ 待发货
+ {{orderData.unShippedCount || 0}}
+
+
+ 待收货
+ {{orderData.receivedCount || 0}}
+
+
+ 待评价
+ {{orderData.evaluatedCount || 0}}
+
+
+ 已完成
+ {{orderData.completeCount || 0}}
+
+
+
+
+
+
+
+ {{item.activityType}}
+
+ {{item.createTime}}
+
+ {{item.orderStatus}}
+
+
+
+
+
+
+
+ {{items.storeName}}
+
+ ¥{{items.price}}
+ x{{items.cartNum}}
+
+
+
+ 共{{item.totalNum}}件商品,总金额
+ ¥{{item.payPrice}}
+
+
+
+ 取消订单
+ 立即付款
+ 查看详情
+ 去评价
+ 删除订单
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/privacy/index.vue b/app/pages/users/privacy/index.vue
new file mode 100644
index 0000000..1c85702
--- /dev/null
+++ b/app/pages/users/privacy/index.vue
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/promoter-list/index.vue b/app/pages/users/promoter-list/index.vue
new file mode 100644
index 0000000..7399028
--- /dev/null
+++ b/app/pages/users/promoter-list/index.vue
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+ 一级({{peopleData.total}})
+ 二级({{peopleData.totalLevel}})
+
+
+
+
+
+
+
+
+ 团队排序
+
+
+ 团队排序
+
+
+ 团队排序
+
+
+
+ 金额排序
+
+
+ 金额排序
+
+
+ 金额排序
+
+
+ 订单排序
+
+
+ 订单排序
+
+
+ 订单排序
+
+
+
+
+
+
+
+
+
+
+ {{item.nickname}}
+ 加入时间: {{item.time.split(' ')[0]}}
+
+
+
+ {{item.childCount ? item.childCount : 0}}人
+
+ {{item.orderCount ? item.orderCount : 0}}单
+ {{item.numberCount ? item.numberCount : 0}}元
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/promoter-order/index.vue b/app/pages/users/promoter-order/index.vue
new file mode 100644
index 0000000..c5dece6
--- /dev/null
+++ b/app/pages/users/promoter-order/index.vue
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+ {{item.time}}
+ 本月累计推广订单:{{item.count || 0}}单
+
+
+
+
+
+
+
+
+
+ {{child.nickname}}
+
+ 返佣:¥{{child.number}}
+
+
+
+ 订单编号:{{child.orderId}}
+ 下单时间:{{child.time}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/promoter_rank/index.vue b/app/pages/users/promoter_rank/index.vue
new file mode 100644
index 0000000..890608e
--- /dev/null
+++ b/app/pages/users/promoter_rank/index.vue
@@ -0,0 +1,317 @@
+
+
+
+
+
+
+
+
+ {{index+4}}
+
+
+
+
+ {{item.nickname}}
+
+ {{item.spreadCount}}人
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/retrievePassword/index.vue b/app/pages/users/retrievePassword/index.vue
new file mode 100644
index 0000000..e9937e6
--- /dev/null
+++ b/app/pages/users/retrievePassword/index.vue
@@ -0,0 +1,161 @@
+
+
+
+
+
找回密码
+
+
+
+
+
+
+
+
+
+
+
+
+
+
确认
+
+ 立即登录
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/static/home.png b/app/pages/users/static/home.png
new file mode 100644
index 0000000..3f8782b
Binary files /dev/null and b/app/pages/users/static/home.png differ
diff --git a/app/pages/users/static/left.png b/app/pages/users/static/left.png
new file mode 100644
index 0000000..0e593e4
Binary files /dev/null and b/app/pages/users/static/left.png differ
diff --git a/app/pages/users/static/noCollection.png b/app/pages/users/static/noCollection.png
new file mode 100644
index 0000000..f967720
Binary files /dev/null and b/app/pages/users/static/noCollection.png differ
diff --git a/app/pages/users/static/noEvaluate.png b/app/pages/users/static/noEvaluate.png
new file mode 100644
index 0000000..de6f538
Binary files /dev/null and b/app/pages/users/static/noEvaluate.png differ
diff --git a/app/pages/users/static/vip.png b/app/pages/users/static/vip.png
new file mode 100644
index 0000000..dec82b6
Binary files /dev/null and b/app/pages/users/static/vip.png differ
diff --git a/app/pages/users/static/vip01.png b/app/pages/users/static/vip01.png
new file mode 100644
index 0000000..e17ec4d
Binary files /dev/null and b/app/pages/users/static/vip01.png differ
diff --git a/app/pages/users/static/vip02.png b/app/pages/users/static/vip02.png
new file mode 100644
index 0000000..24e3468
Binary files /dev/null and b/app/pages/users/static/vip02.png differ
diff --git a/app/pages/users/static/vip03.png b/app/pages/users/static/vip03.png
new file mode 100644
index 0000000..a5f0a0d
Binary files /dev/null and b/app/pages/users/static/vip03.png differ
diff --git a/app/pages/users/static/vip04.png b/app/pages/users/static/vip04.png
new file mode 100644
index 0000000..0486f50
Binary files /dev/null and b/app/pages/users/static/vip04.png differ
diff --git a/app/pages/users/static/vip05.png b/app/pages/users/static/vip05.png
new file mode 100644
index 0000000..4635901
Binary files /dev/null and b/app/pages/users/static/vip05.png differ
diff --git a/app/pages/users/static/wechat_login.png b/app/pages/users/static/wechat_login.png
new file mode 100644
index 0000000..65d6691
Binary files /dev/null and b/app/pages/users/static/wechat_login.png differ
diff --git a/app/pages/users/user_address/index.vue b/app/pages/users/user_address/index.vue
new file mode 100644
index 0000000..544c2a0
--- /dev/null
+++ b/app/pages/users/user_address/index.vue
@@ -0,0 +1,589 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_address_list/index.vue b/app/pages/users/user_address_list/index.vue
new file mode 100644
index 0000000..8eaaf4e
--- /dev/null
+++ b/app/pages/users/user_address_list/index.vue
@@ -0,0 +1,477 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 收货人:{{item.realName}}{{item.phone}}
+ 收货地址:{{item.province}}{{item.city}}{{item.district}}{{item.detail}}
+
+
+
+
+ 设为默认
+
+
+
+
+ 设为默认
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_bill/index.vue b/app/pages/users/user_bill/index.vue
new file mode 100644
index 0000000..6d25eae
--- /dev/null
+++ b/app/pages/users/user_bill/index.vue
@@ -0,0 +1,172 @@
+
+
+
+
+ 全部
+ 消费
+ 充值
+
+
+
+
+ {{item.date}}
+
+
+
+ {{vo.title}}
+ {{vo.add_time}}
+
+ +{{vo.number}}
+ -{{vo.number}}
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_cash/index.vue b/app/pages/users/user_cash/index.vue
new file mode 100644
index 0000000..ff45174
--- /dev/null
+++ b/app/pages/users/user_cash/index.vue
@@ -0,0 +1,459 @@
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_coupon/index.vue b/app/pages/users/user_coupon/index.vue
new file mode 100644
index 0000000..662e436
--- /dev/null
+++ b/app/pages/users/user_coupon/index.vue
@@ -0,0 +1,213 @@
+
+
+
+ 未使用
+ 已使用/过期
+
+
+
+
+ ¥{{item.money?Number(item.money):''}}
+ 满{{ item.minPrice?Number(item.minPrice):'' }}元可用
+
+
+
+ 通用
+ 商品
+ 品类
+ {{item.name}}
+
+
+ {{item.useStartTimeStr}}~{{item.useEndTimeStr}}
+ {{item.validStr | validStrFilter}}
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_get_coupon/index.vue b/app/pages/users/user_get_coupon/index.vue
new file mode 100644
index 0000000..1a74894
--- /dev/null
+++ b/app/pages/users/user_get_coupon/index.vue
@@ -0,0 +1,241 @@
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+ ¥{{item.money?Number(item.money):''}}
+ 满{{item.minPrice?Number(item.minPrice):''}}元可用
+
+
+
+ 通用
+ 品类
+ 商品
+ {{item.name}}
+
+
+ 领取后{{item.day}}天内可用
+
+ {{ item.useStartTimeStr&& item.useEndTimeStr ? item.useStartTimeStr + " - " + item.useEndTimeStr : ""}}
+
+ 已领取
+ 立即领取
+
+
+
+
+
+ {{couponsList.length?loadTitle:''}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_goods_collection/index.vue b/app/pages/users/user_goods_collection/index.vue
new file mode 100644
index 0000000..ea271a4
--- /dev/null
+++ b/app/pages/users/user_goods_collection/index.vue
@@ -0,0 +1,458 @@
+
+
+
+
+
+
+ 当前共 {{ totals }}件商品
+ {{ footerswitch ? '管理' : '取消'}}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.storeName}}
+ ¥{{item.price}}
+
+
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_info/index.vue b/app/pages/users/user_info/index.vue
new file mode 100644
index 0000000..6e48153
--- /dev/null
+++ b/app/pages/users/user_info/index.vue
@@ -0,0 +1,380 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_integral/index.vue b/app/pages/users/user_integral/index.vue
new file mode 100644
index 0000000..09c80d0
--- /dev/null
+++ b/app/pages/users/user_integral/index.vue
@@ -0,0 +1,360 @@
+
+
+
+
+
+
+ {{item.name}}
+
+
+ 提示:积分数值的高低会直接影响您的会员等级
+
+
+ {{item.title}}
+ {{item.updateTime}}
+
+ +{{item.integral}}
+ -{{item.integral}}
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+ 购买商品可获得积分奖励
+ 赚积分
+
+
+
+
+
+ 每日签到可获得积分奖励
+ 赚积分
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_money/index.vue b/app/pages/users/user_money/index.vue
new file mode 100644
index 0000000..3a7115d
--- /dev/null
+++ b/app/pages/users/user_money/index.vue
@@ -0,0 +1,446 @@
+
+
+
+
+
+
+
+
+
+
+ 账单记录
+
+
+
+
+
+ 消费记录
+
+
+
+
+
+ 充值记录
+
+
+
+
+
+ 积分中心
+
+
+
+
+
+ 签到领积分
+ 赚积分抵现金
+
+
+
+
+
+
+
+ 领取优惠券
+ 满减享优惠
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_payment/index.vue b/app/pages/users/user_payment/index.vue
new file mode 100644
index 0000000..60c18e7
--- /dev/null
+++ b/app/pages/users/user_payment/index.vue
@@ -0,0 +1,526 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/pages/users/user_phone/index.vue b/app/pages/users/user_phone/index.vue
new file mode 100644
index 0000000..49ef5ce
--- /dev/null
+++ b/app/pages/users/user_phone/index.vue
@@ -0,0 +1,283 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_pwd_edit/index.vue b/app/pages/users/user_pwd_edit/index.vue
new file mode 100644
index 0000000..68cafe2
--- /dev/null
+++ b/app/pages/users/user_pwd_edit/index.vue
@@ -0,0 +1,225 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_return_list/index.vue b/app/pages/users/user_return_list/index.vue
new file mode 100644
index 0000000..be7203d
--- /dev/null
+++ b/app/pages/users/user_return_list/index.vue
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+ 订单号:{{item.orderId}}
+
+
+
+
+
+
+ {{items.storeName}}
+ x {{items.cartNum}}
+
+ {{items.suk}}
+ {{items.storeName}}
+ ¥{{items.price}}
+
+
+ 共{{item.totalNum || 0}}件商品,总金额 ¥{{item.payPrice}}
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_sgin/index.vue b/app/pages/users/user_sgin/index.vue
new file mode 100644
index 0000000..d04ea13
--- /dev/null
+++ b/app/pages/users/user_sgin/index.vue
@@ -0,0 +1,554 @@
+
+
+
+
+
+
+
+
+ {{item.title}}
+
+
+
+
+ +{{item.integral}}
+
+
+
+
+
+
+
+ 已累计签到
+
+ {{signCount[0] || 0}}
+ {{signCount[1] || 0}}
+ {{signCount[2] || 0}}
+ {{signCount[3] || 0}}
+ 天
+
+ 据说连续签到第{{day}}天可获得超额积分,一定要坚持签到哦~~~
+
+
+
+ {{item.title}}
+ {{item.createDay}}
+
+ +{{item.number}}
+
+ 点击加载更多
+
+
+
+
+
+ 签到成功
+ 获得{{integral}}积分
+ 好的
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_sgin_list/index.vue b/app/pages/users/user_sgin_list/index.vue
new file mode 100644
index 0000000..9bf5729
--- /dev/null
+++ b/app/pages/users/user_sgin_list/index.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+ {{item.month}}
+
+
+
+ {{itemn.title}}
+ {{itemn.createDay}}
+
+ +{{itemn.number}}
+
+
+
+
+
+ {{loadtitle}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_spread_code/index.vue b/app/pages/users/user_spread_code/index.vue
new file mode 100644
index 0000000..5a358f3
--- /dev/null
+++ b/app/pages/users/user_spread_code/index.vue
@@ -0,0 +1,425 @@
+
+
+
+
+
+
+
+
+
+
+
+ 保存海报
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_spread_money/index.vue b/app/pages/users/user_spread_money/index.vue
new file mode 100644
index 0000000..8a58235
--- /dev/null
+++ b/app/pages/users/user_spread_money/index.vue
@@ -0,0 +1,242 @@
+
+
+
+
+
+
+
+
+ {{item.date}}
+
+
+
+
+ {{child.status | statusFilter}}
+ {{child.createTime}}
+
+ +{{child.extractPrice}}
+
+ -{{child.extractPrice}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.date}}
+
+
+
+
+ {{child.title}}
+ {{child.updateTime}}
+
+ +{{child.price}}
+
+ -{{child.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_spread_user/index.vue b/app/pages/users/user_spread_user/index.vue
new file mode 100644
index 0000000..d1adf19
--- /dev/null
+++ b/app/pages/users/user_spread_user/index.vue
@@ -0,0 +1,231 @@
+
+
+
+
+
+ 立即提现
+
+
+ 立即提现
+
+
+
+
+ 推广名片
+
+
+
+ 推广人统计
+
+
+
+ 佣金明细
+
+
+
+ 推广人订单
+
+
+
+ 推广人排行
+
+
+
+ 佣金排行
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/user_vip/index.vue b/app/pages/users/user_vip/index.vue
new file mode 100644
index 0000000..104c36f
--- /dev/null
+++ b/app/pages/users/user_vip/index.vue
@@ -0,0 +1,510 @@
+
+
+
+
+
+ 当前经验值
+ {{levelInfo}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.experience}}
+
+
+
+
+
+
+
+ 会员折扣
+
+
+
+
+
+ 专属徽章
+
+
+
+
+
+ 会员升级
+
+
+
+
+
+ 经验积累
+
+
+
+
+
+ 更多特权
+
+
+
+
+
+ 获取经验
+
+
+
+
+
+
+ 签到
+ 每日签到可获得经验值
+
+
+ 去获取
+
+
+
+
+
+ 购买商品
+ 购买商品可获得对应是经验值
+
+
+ 去获取
+
+
+
+
+
+
+
+ 经验值明细
+
+
+
+
+ {{item.title}}
+ {{item.add_time}}
+
+ +{{item.number}}
+ -{{item.number}}
+
+
+
+
+ {{loadTitle}}
+
+
+
+
+
+
+
+
diff --git a/app/pages/users/web_page/index.vue b/app/pages/users/web_page/index.vue
new file mode 100644
index 0000000..9a593e8
--- /dev/null
+++ b/app/pages/users/web_page/index.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
diff --git a/app/pages/users/wechat_login/index.vue b/app/pages/users/wechat_login/index.vue
new file mode 100644
index 0000000..1e68531
--- /dev/null
+++ b/app/pages/users/wechat_login/index.vue
@@ -0,0 +1,410 @@
+
+
+
+
+
+
+
+
+
+
+
+ 账户登录
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/plugin/animate/animate.min.css b/app/plugin/animate/animate.min.css
new file mode 100644
index 0000000..f3f1068
--- /dev/null
+++ b/app/plugin/animate/animate.min.css
@@ -0,0 +1,11 @@
+@charset "UTF-8";
+
+/*!
+ * animate.css -https://daneden.github.io/animate.css/
+ * Version - 3.7.2
+ * Licensed under the MIT license - http://opensource.org/licenses/MIT
+ *
+ * Copyright (c) 2019 Daniel Eden
+ */
+
+@-webkit-keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,20%,53%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}to{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}to{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}to{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp}.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.delay-1s{-webkit-animation-delay:1s;animation-delay:1s}.animated.delay-2s{-webkit-animation-delay:2s;animation-delay:2s}.animated.delay-3s{-webkit-animation-delay:3s;animation-delay:3s}.animated.delay-4s{-webkit-animation-delay:4s;animation-delay:4s}.animated.delay-5s{-webkit-animation-delay:5s;animation-delay:5s}.animated.fast{-webkit-animation-duration:.8s;animation-duration:.8s}.animated.faster{-webkit-animation-duration:.5s;animation-duration:.5s}.animated.slow{-webkit-animation-duration:2s;animation-duration:2s}.animated.slower{-webkit-animation-duration:3s;animation-duration:3s}@media (prefers-reduced-motion:reduce),(print){.animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}}
\ No newline at end of file
diff --git a/app/plugin/chat/yzf_chat.js b/app/plugin/chat/yzf_chat.js
new file mode 100644
index 0000000..1defb44
--- /dev/null
+++ b/app/plugin/chat/yzf_chat.js
@@ -0,0 +1 @@
+!function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i:i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(i,o,function(t){return e[t]}.bind(null,o));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="./",n(n.s=3)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=+new Date,o="yzfh5-data-"+i,a="yzfh5-main-chat-"+i,r="yzfh5-main-iframe-"+i,c="yzfh5-main-contact-"+i,d="yzfh5-chat-btn-"+i,s="yzfh5-dot-"+i,l="yzfh5-state-"+i,u="yzfh5-icon-"+i;t.default={scope:o,mainChatId:a,mainIframeId:r,mainContactId:c,chatBtnId:d,dotId:s,stateId:l,iconId:u}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={isMobile:function(){var e=!1;return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)&&(e=!0),e}()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getElem=function(e){return document.getElementById(e)},t.hideElem=function(e){e.style.display="none"},t.showElem=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"block";e.style.display=t}},function(e,t,n){e.exports=n(4)},function(e,t,n){"use strict";var i=n(5),o=Object({NODE_ENV:"development",YZF_CHAT_WEB_CHAT:"https://yzf.qq.com/xv/web/static/chat/index.html",YZF_CHAT_WEB_PREFIX:"https://yzf.qq.com/xv/web"})||!1,a=o.YZF_CHAT_WEB_CHAT,r=void 0===a?"https://yzf.qq.com/xv/web/static/chat/index.html":a,c=o.YZF_CHAT_WEB_PREFIX,d=void 0===c?"https://yzf.qq.com/xv/web":c,s=!1,l={init:function(e){if(!s){var t=e.sign||"",n=e.data||{},o=e.uid||"",a=e.selector||"",c=e.callback,l=!("rmb"in e)||e.rmb,u="goodImg"in e?e.goodImg:"contain",f=!0===e.nofixed,p=r+"?inner=1&sign="+t+"&uid="+o+"&rmb="+l+"&goodImg="+u;if(n&&Object.keys(n).length)p+="&c1="+(n.c1||""),p+="&c2="+(n.c2||""),p+="&c3="+(n.c3||""),p+="&c4="+(n.c4||""),p+="&c5="+(n.c5||"");f&&(p+="&nofixed=1"),(0,i.render)(p,d,a,c,t),s=!0}},close:function(){(0,i.close)()}};window.yzf=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.render=function(e,t,n,c,s){var h=(0,i.default)({id:o.default,isMobile:f});h=(h=h.replace(new RegExp(u,"g"),o.default.scope)).replace(new RegExp("https://kf.qq.com/xv-dev/web","g"),t);var x=document.createElement("div");x.innerHTML=h,x.style.display="none",document.body.appendChild(x);var b=function(){x.style.display="block"},g=setTimeout(b,3e3),y=(0,r.getElem)(o.default.mainChatId);!f&&(y.style.zIndex=2147483647);var _=(0,r.getElem)(o.default.dotId),v=(0,r.getElem)(o.default.stateId),E=(0,r.getElem)(o.default.mainIframeId),w=(0,r.getElem)(o.default.mainContactId),I=w;if(n)try{var F=document.querySelector(n);F&&(p=!1,I=F,w.remove(),clearTimeout(g),g=null,b())}catch(Y){console.error(Y)}p&&(0,d.loadTheme)(t,s,function(e,t){var n=!1;if(e&&t&&0==t.status){var i=null;try{i=JSON.parse(t.data)}catch(Y){}if(i&&i.custom_color){var a=i.custom_color,c=(0,r.getElem)(o.default.chatBtnId);console.log(2222,e,t,i,c),c&&(c.style.backgroundColor=a,c.parentNode&&c.parentNode.parentNode&&(c.parentNode.parentNode.style.display="block"))}else n=!0}else n=!0;clearTimeout(g),g=null,n&&b(),(0,r.showElem)(w)});I.addEventListener("click",function(){l||(l=!0,E.src=e,E.onload=function(){E.contentWindow.postMessage({type:"init"},"*")}),(0,r.showElem)(y),p&&((0,r.hideElem)(I),(0,r.hideElem)(_),(0,r.hideElem)(v))}),a.default.listen(I,c,p),p&&(window.onresize=m,m())},t.close=function(){var e=(0,r.getElem)(o.default.mainChatId),t=(0,r.getElem)(o.default.mainContactId);(0,r.hideElem)(e),p&&(0,r.showElem)(t)};var i=s(n(6)),o=s(n(0)),a=s(n(10)),r=n(2),c=s(n(1)),d=n(11);function s(e){return e&&e.__esModule?e:{default:e}}var l=!1,u="YZF_STYLE_PREFIX",f=c.default.isMobile,p=!0;function m(){var e=(0,r.getElem)(o.default.chatBtnId).getElementsByClassName("txt")[0],t=window.innerWidth;e.textContent=t>=1e3?"\u8054\u7cfb\u5ba2\u670d":"\u5ba2\u670d"}},function(e,t,n){var i=n(7);e.exports=function(e){"use strict";e=e||{};var t="",n=i.$escape,o=e.id,a=e.isMobile;return t+='\n\n\n \n
'}},function(e,t,n){"use strict";e.exports=n(8)},function(e,t,n){"use strict";(function(t){var n="undefined"!==typeof self?self:"undefined"!==typeof window?window:"undefined"!==typeof t?t:{},i=Object.create(n),o=/["&'<>]/;i.$escape=function(e){return function(e){var t=""+e,n=o.exec(t);if(!n)return e;var i="",a=void 0,r=void 0,c=void 0;for(a=n.index,r=0;a=200&&this.status<300||304===this.status){var e=this.responseText;try{var n=JSON.parse(e);n?t(!0,n):t(!1)}catch(i){t(!1)}}},n.ontimeout=function(){t(!1)},n.onerror=function(){t(!1)},n.open("GET",e),n.send(null)}}]);
\ No newline at end of file
diff --git a/app/plugin/clipboard/clipboard.js b/app/plugin/clipboard/clipboard.js
new file mode 100644
index 0000000..0240e3f
--- /dev/null
+++ b/app/plugin/clipboard/clipboard.js
@@ -0,0 +1,973 @@
+/*!
+ * clipboard.js v2.0.6
+ * https://clipboardjs.com/
+ *
+ * Licensed MIT © Zeno Rocha
+ */
+(function webpackUniversalModuleDefinition(root, factory) {
+ if(typeof exports === 'object' && typeof module === 'object')
+ module.exports = factory();
+ else if(typeof define === 'function' && define.amd)
+ define([], factory);
+ else if(typeof exports === 'object')
+ exports["ClipboardJS"] = factory();
+ else
+ root["ClipboardJS"] = factory();
+})(this, function() {
+return /******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 6);
+/******/ })
+/************************************************************************/
+/******/ ([
+/* 0 */
+/***/ (function(module, exports) {
+
+function select(element) {
+ var selectedText;
+
+ if (element.nodeName === 'SELECT') {
+ element.focus();
+
+ selectedText = element.value;
+ }
+ else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {
+ var isReadOnly = element.hasAttribute('readonly');
+
+ if (!isReadOnly) {
+ element.setAttribute('readonly', '');
+ }
+
+ element.select();
+ element.setSelectionRange(0, element.value.length);
+
+ if (!isReadOnly) {
+ element.removeAttribute('readonly');
+ }
+
+ selectedText = element.value;
+ }
+ else {
+ if (element.hasAttribute('contenteditable')) {
+ element.focus();
+ }
+
+ var selection = window.getSelection();
+ var range = document.createRange();
+
+ range.selectNodeContents(element);
+ selection.removeAllRanges();
+ selection.addRange(range);
+
+ selectedText = selection.toString();
+ }
+
+ return selectedText;
+}
+
+module.exports = select;
+
+
+/***/ }),
+/* 1 */
+/***/ (function(module, exports) {
+
+function E () {
+ // Keep this empty so it's easier to inherit from
+ // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)
+}
+
+E.prototype = {
+ on: function (name, callback, ctx) {
+ var e = this.e || (this.e = {});
+
+ (e[name] || (e[name] = [])).push({
+ fn: callback,
+ ctx: ctx
+ });
+
+ return this;
+ },
+
+ once: function (name, callback, ctx) {
+ var self = this;
+ function listener () {
+ self.off(name, listener);
+ callback.apply(ctx, arguments);
+ };
+
+ listener._ = callback
+ return this.on(name, listener, ctx);
+ },
+
+ emit: function (name) {
+ var data = [].slice.call(arguments, 1);
+ var evtArr = ((this.e || (this.e = {}))[name] || []).slice();
+ var i = 0;
+ var len = evtArr.length;
+
+ for (i; i < len; i++) {
+ evtArr[i].fn.apply(evtArr[i].ctx, data);
+ }
+
+ return this;
+ },
+
+ off: function (name, callback) {
+ var e = this.e || (this.e = {});
+ var evts = e[name];
+ var liveEvents = [];
+
+ if (evts && callback) {
+ for (var i = 0, len = evts.length; i < len; i++) {
+ if (evts[i].fn !== callback && evts[i].fn._ !== callback)
+ liveEvents.push(evts[i]);
+ }
+ }
+
+ // Remove event from queue to prevent memory leak
+ // Suggested by https://github.com/lazd
+ // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910
+
+ (liveEvents.length)
+ ? e[name] = liveEvents
+ : delete e[name];
+
+ return this;
+ }
+};
+
+module.exports = E;
+module.exports.TinyEmitter = E;
+
+
+/***/ }),
+/* 2 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var is = __webpack_require__(3);
+var delegate = __webpack_require__(4);
+
+/**
+ * Validates all params and calls the right
+ * listener function based on its target type.
+ *
+ * @param {String|HTMLElement|HTMLCollection|NodeList} target
+ * @param {String} type
+ * @param {Function} callback
+ * @return {Object}
+ */
+function listen(target, type, callback) {
+ if (!target && !type && !callback) {
+ throw new Error('Missing required arguments');
+ }
+
+ if (!is.string(type)) {
+ throw new TypeError('Second argument must be a String');
+ }
+
+ if (!is.fn(callback)) {
+ throw new TypeError('Third argument must be a Function');
+ }
+
+ if (is.node(target)) {
+ return listenNode(target, type, callback);
+ }
+ else if (is.nodeList(target)) {
+ return listenNodeList(target, type, callback);
+ }
+ else if (is.string(target)) {
+ return listenSelector(target, type, callback);
+ }
+ else {
+ throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');
+ }
+}
+
+/**
+ * Adds an event listener to a HTML element
+ * and returns a remove listener function.
+ *
+ * @param {HTMLElement} node
+ * @param {String} type
+ * @param {Function} callback
+ * @return {Object}
+ */
+function listenNode(node, type, callback) {
+ node.addEventListener(type, callback);
+
+ return {
+ destroy: function() {
+ node.removeEventListener(type, callback);
+ }
+ }
+}
+
+/**
+ * Add an event listener to a list of HTML elements
+ * and returns a remove listener function.
+ *
+ * @param {NodeList|HTMLCollection} nodeList
+ * @param {String} type
+ * @param {Function} callback
+ * @return {Object}
+ */
+function listenNodeList(nodeList, type, callback) {
+ Array.prototype.forEach.call(nodeList, function(node) {
+ node.addEventListener(type, callback);
+ });
+
+ return {
+ destroy: function() {
+ Array.prototype.forEach.call(nodeList, function(node) {
+ node.removeEventListener(type, callback);
+ });
+ }
+ }
+}
+
+/**
+ * Add an event listener to a selector
+ * and returns a remove listener function.
+ *
+ * @param {String} selector
+ * @param {String} type
+ * @param {Function} callback
+ * @return {Object}
+ */
+function listenSelector(selector, type, callback) {
+ return delegate(document.body, selector, type, callback);
+}
+
+module.exports = listen;
+
+
+/***/ }),
+/* 3 */
+/***/ (function(module, exports) {
+
+/**
+ * Check if argument is a HTML element.
+ *
+ * @param {Object} value
+ * @return {Boolean}
+ */
+exports.node = function(value) {
+ return value !== undefined
+ && value instanceof HTMLElement
+ && value.nodeType === 1;
+};
+
+/**
+ * Check if argument is a list of HTML elements.
+ *
+ * @param {Object} value
+ * @return {Boolean}
+ */
+exports.nodeList = function(value) {
+ var type = Object.prototype.toString.call(value);
+
+ return value !== undefined
+ && (type === '[object NodeList]' || type === '[object HTMLCollection]')
+ && ('length' in value)
+ && (value.length === 0 || exports.node(value[0]));
+};
+
+/**
+ * Check if argument is a string.
+ *
+ * @param {Object} value
+ * @return {Boolean}
+ */
+exports.string = function(value) {
+ return typeof value === 'string'
+ || value instanceof String;
+};
+
+/**
+ * Check if argument is a function.
+ *
+ * @param {Object} value
+ * @return {Boolean}
+ */
+exports.fn = function(value) {
+ var type = Object.prototype.toString.call(value);
+
+ return type === '[object Function]';
+};
+
+
+/***/ }),
+/* 4 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var closest = __webpack_require__(5);
+
+/**
+ * Delegates event to a selector.
+ *
+ * @param {Element} element
+ * @param {String} selector
+ * @param {String} type
+ * @param {Function} callback
+ * @param {Boolean} useCapture
+ * @return {Object}
+ */
+function _delegate(element, selector, type, callback, useCapture) {
+ var listenerFn = listener.apply(this, arguments);
+
+ element.addEventListener(type, listenerFn, useCapture);
+
+ return {
+ destroy: function() {
+ element.removeEventListener(type, listenerFn, useCapture);
+ }
+ }
+}
+
+/**
+ * Delegates event to a selector.
+ *
+ * @param {Element|String|Array} [elements]
+ * @param {String} selector
+ * @param {String} type
+ * @param {Function} callback
+ * @param {Boolean} useCapture
+ * @return {Object}
+ */
+function delegate(elements, selector, type, callback, useCapture) {
+ // Handle the regular Element usage
+ if (typeof elements.addEventListener === 'function') {
+ return _delegate.apply(null, arguments);
+ }
+
+ // Handle Element-less usage, it defaults to global delegation
+ if (typeof type === 'function') {
+ // Use `document` as the first parameter, then apply arguments
+ // This is a short way to .unshift `arguments` without running into deoptimizations
+ return _delegate.bind(null, document).apply(null, arguments);
+ }
+
+ // Handle Selector-based usage
+ if (typeof elements === 'string') {
+ elements = document.querySelectorAll(elements);
+ }
+
+ // Handle Array-like based usage
+ return Array.prototype.map.call(elements, function (element) {
+ return _delegate(element, selector, type, callback, useCapture);
+ });
+}
+
+/**
+ * Finds closest match and invokes callback.
+ *
+ * @param {Element} element
+ * @param {String} selector
+ * @param {String} type
+ * @param {Function} callback
+ * @return {Function}
+ */
+function listener(element, selector, type, callback) {
+ return function(e) {
+ e.delegateTarget = closest(e.target, selector);
+
+ if (e.delegateTarget) {
+ callback.call(element, e);
+ }
+ }
+}
+
+module.exports = delegate;
+
+
+/***/ }),
+/* 5 */
+/***/ (function(module, exports) {
+
+var DOCUMENT_NODE_TYPE = 9;
+
+/**
+ * A polyfill for Element.matches()
+ */
+if (typeof Element !== 'undefined' && !Element.prototype.matches) {
+ var proto = Element.prototype;
+
+ proto.matches = proto.matchesSelector ||
+ proto.mozMatchesSelector ||
+ proto.msMatchesSelector ||
+ proto.oMatchesSelector ||
+ proto.webkitMatchesSelector;
+}
+
+/**
+ * Finds the closest parent that matches a selector.
+ *
+ * @param {Element} element
+ * @param {String} selector
+ * @return {Function}
+ */
+function closest (element, selector) {
+ while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {
+ if (typeof element.matches === 'function' &&
+ element.matches(selector)) {
+ return element;
+ }
+ element = element.parentNode;
+ }
+}
+
+module.exports = closest;
+
+
+/***/ }),
+/* 6 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+
+// EXTERNAL MODULE: ./node_modules/select/src/select.js
+var src_select = __webpack_require__(0);
+var select_default = /*#__PURE__*/__webpack_require__.n(src_select);
+
+// CONCATENATED MODULE: ./src/clipboard-action.js
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var _createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+
+
+/**
+ * Inner class which performs selection from either `text` or `target`
+ * properties and then executes copy or cut operations.
+ */
+
+var clipboard_action_ClipboardAction = function () {
+ /**
+ * @param {Object} options
+ */
+ function ClipboardAction(options) {
+ _classCallCheck(this, ClipboardAction);
+
+ this.resolveOptions(options);
+ this.initSelection();
+ }
+
+ /**
+ * Defines base properties passed from constructor.
+ * @param {Object} options
+ */
+
+
+ _createClass(ClipboardAction, [{
+ key: 'resolveOptions',
+ value: function resolveOptions() {
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+
+ this.action = options.action;
+ this.container = options.container;
+ this.emitter = options.emitter;
+ this.target = options.target;
+ this.text = options.text;
+ this.trigger = options.trigger;
+
+ this.selectedText = '';
+ }
+
+ /**
+ * Decides which selection strategy is going to be applied based
+ * on the existence of `text` and `target` properties.
+ */
+
+ }, {
+ key: 'initSelection',
+ value: function initSelection() {
+ if (this.text) {
+ this.selectFake();
+ } else if (this.target) {
+ this.selectTarget();
+ }
+ }
+
+ /**
+ * Creates a fake textarea element, sets its value from `text` property,
+ * and makes a selection on it.
+ */
+
+ }, {
+ key: 'selectFake',
+ value: function selectFake() {
+ var _this = this;
+
+ var isRTL = document.documentElement.getAttribute('dir') == 'rtl';
+
+ this.removeFake();
+
+ this.fakeHandlerCallback = function () {
+ return _this.removeFake();
+ };
+ this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;
+
+ this.fakeElem = document.createElement('textarea');
+ // Prevent zooming on iOS
+ this.fakeElem.style.fontSize = '12pt';
+ // Reset box model
+ this.fakeElem.style.border = '0';
+ this.fakeElem.style.padding = '0';
+ this.fakeElem.style.margin = '0';
+ // Move element out of screen horizontally
+ this.fakeElem.style.position = 'absolute';
+ this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';
+ // Move element to the same position vertically
+ var yPosition = window.pageYOffset || document.documentElement.scrollTop;
+ this.fakeElem.style.top = yPosition + 'px';
+
+ this.fakeElem.setAttribute('readonly', '');
+ this.fakeElem.value = this.text;
+
+ this.container.appendChild(this.fakeElem);
+
+ this.selectedText = select_default()(this.fakeElem);
+ this.copyText();
+ }
+
+ /**
+ * Only removes the fake element after another click event, that way
+ * a user can hit `Ctrl+C` to copy because selection still exists.
+ */
+
+ }, {
+ key: 'removeFake',
+ value: function removeFake() {
+ if (this.fakeHandler) {
+ this.container.removeEventListener('click', this.fakeHandlerCallback);
+ this.fakeHandler = null;
+ this.fakeHandlerCallback = null;
+ }
+
+ if (this.fakeElem) {
+ this.container.removeChild(this.fakeElem);
+ this.fakeElem = null;
+ }
+ }
+
+ /**
+ * Selects the content from element passed on `target` property.
+ */
+
+ }, {
+ key: 'selectTarget',
+ value: function selectTarget() {
+ this.selectedText = select_default()(this.target);
+ this.copyText();
+ }
+
+ /**
+ * Executes the copy operation based on the current selection.
+ */
+
+ }, {
+ key: 'copyText',
+ value: function copyText() {
+ var succeeded = void 0;
+
+ try {
+ succeeded = document.execCommand(this.action);
+ } catch (err) {
+ succeeded = false;
+ }
+
+ this.handleResult(succeeded);
+ }
+
+ /**
+ * Fires an event based on the copy operation result.
+ * @param {Boolean} succeeded
+ */
+
+ }, {
+ key: 'handleResult',
+ value: function handleResult(succeeded) {
+ this.emitter.emit(succeeded ? 'success' : 'error', {
+ action: this.action,
+ text: this.selectedText,
+ trigger: this.trigger,
+ clearSelection: this.clearSelection.bind(this)
+ });
+ }
+
+ /**
+ * Moves focus away from `target` and back to the trigger, removes current selection.
+ */
+
+ }, {
+ key: 'clearSelection',
+ value: function clearSelection() {
+ if (this.trigger) {
+ this.trigger.focus();
+ }
+ document.activeElement.blur();
+ window.getSelection().removeAllRanges();
+ }
+
+ /**
+ * Sets the `action` to be performed which can be either 'copy' or 'cut'.
+ * @param {String} action
+ */
+
+ }, {
+ key: 'destroy',
+
+
+ /**
+ * Destroy lifecycle.
+ */
+ value: function destroy() {
+ this.removeFake();
+ }
+ }, {
+ key: 'action',
+ set: function set() {
+ var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';
+
+ this._action = action;
+
+ if (this._action !== 'copy' && this._action !== 'cut') {
+ throw new Error('Invalid "action" value, use either "copy" or "cut"');
+ }
+ }
+
+ /**
+ * Gets the `action` property.
+ * @return {String}
+ */
+ ,
+ get: function get() {
+ return this._action;
+ }
+
+ /**
+ * Sets the `target` property using an element
+ * that will be have its content copied.
+ * @param {Element} target
+ */
+
+ }, {
+ key: 'target',
+ set: function set(target) {
+ if (target !== undefined) {
+ if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {
+ if (this.action === 'copy' && target.hasAttribute('disabled')) {
+ throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');
+ }
+
+ if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {
+ throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');
+ }
+
+ this._target = target;
+ } else {
+ throw new Error('Invalid "target" value, use a valid Element');
+ }
+ }
+ }
+
+ /**
+ * Gets the `target` property.
+ * @return {String|HTMLElement}
+ */
+ ,
+ get: function get() {
+ return this._target;
+ }
+ }]);
+
+ return ClipboardAction;
+}();
+
+/* harmony default export */ var clipboard_action = (clipboard_action_ClipboardAction);
+// EXTERNAL MODULE: ./node_modules/tiny-emitter/index.js
+var tiny_emitter = __webpack_require__(1);
+var tiny_emitter_default = /*#__PURE__*/__webpack_require__.n(tiny_emitter);
+
+// EXTERNAL MODULE: ./node_modules/good-listener/src/listen.js
+var listen = __webpack_require__(2);
+var listen_default = /*#__PURE__*/__webpack_require__.n(listen);
+
+// CONCATENATED MODULE: ./src/clipboard.js
+var clipboard_typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+var clipboard_createClass = 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); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function clipboard_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
+
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
+
+
+
+
+
+/**
+ * Base class which takes one or more elements, adds event listeners to them,
+ * and instantiates a new `ClipboardAction` on each click.
+ */
+
+var clipboard_Clipboard = function (_Emitter) {
+ _inherits(Clipboard, _Emitter);
+
+ /**
+ * @param {String|HTMLElement|HTMLCollection|NodeList} trigger
+ * @param {Object} options
+ */
+ function Clipboard(trigger, options) {
+ clipboard_classCallCheck(this, Clipboard);
+
+ var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));
+
+ _this.resolveOptions(options);
+ _this.listenClick(trigger);
+ return _this;
+ }
+
+ /**
+ * Defines if attributes would be resolved using internal setter functions
+ * or custom functions that were passed in the constructor.
+ * @param {Object} options
+ */
+
+
+ clipboard_createClass(Clipboard, [{
+ key: 'resolveOptions',
+ value: function resolveOptions() {
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+
+ this.action = typeof options.action === 'function' ? options.action : this.defaultAction;
+ this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;
+ this.text = typeof options.text === 'function' ? options.text : this.defaultText;
+ this.container = clipboard_typeof(options.container) === 'object' ? options.container : document.body;
+ }
+
+ /**
+ * Adds a click event listener to the passed trigger.
+ * @param {String|HTMLElement|HTMLCollection|NodeList} trigger
+ */
+
+ }, {
+ key: 'listenClick',
+ value: function listenClick(trigger) {
+ var _this2 = this;
+
+ this.listener = listen_default()(trigger, 'click', function (e) {
+ return _this2.onClick(e);
+ });
+ }
+
+ /**
+ * Defines a new `ClipboardAction` on each click event.
+ * @param {Event} e
+ */
+
+ }, {
+ key: 'onClick',
+ value: function onClick(e) {
+ var trigger = e.delegateTarget || e.currentTarget;
+
+ if (this.clipboardAction) {
+ this.clipboardAction = null;
+ }
+
+ this.clipboardAction = new clipboard_action({
+ action: this.action(trigger),
+ target: this.target(trigger),
+ text: this.text(trigger),
+ container: this.container,
+ trigger: trigger,
+ emitter: this
+ });
+ }
+
+ /**
+ * Default `action` lookup function.
+ * @param {Element} trigger
+ */
+
+ }, {
+ key: 'defaultAction',
+ value: function defaultAction(trigger) {
+ return getAttributeValue('action', trigger);
+ }
+
+ /**
+ * Default `target` lookup function.
+ * @param {Element} trigger
+ */
+
+ }, {
+ key: 'defaultTarget',
+ value: function defaultTarget(trigger) {
+ var selector = getAttributeValue('target', trigger);
+
+ if (selector) {
+ return document.querySelector(selector);
+ }
+ }
+
+ /**
+ * Returns the support of the given action, or all actions if no action is
+ * given.
+ * @param {String} [action]
+ */
+
+ }, {
+ key: 'defaultText',
+
+
+ /**
+ * Default `text` lookup function.
+ * @param {Element} trigger
+ */
+ value: function defaultText(trigger) {
+ return getAttributeValue('text', trigger);
+ }
+
+ /**
+ * Destroy lifecycle.
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.listener.destroy();
+
+ if (this.clipboardAction) {
+ this.clipboardAction.destroy();
+ this.clipboardAction = null;
+ }
+ }
+ }], [{
+ key: 'isSupported',
+ value: function isSupported() {
+ var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];
+
+ var actions = typeof action === 'string' ? [action] : action;
+ var support = !!document.queryCommandSupported;
+
+ actions.forEach(function (action) {
+ support = support && !!document.queryCommandSupported(action);
+ });
+
+ return support;
+ }
+ }]);
+
+ return Clipboard;
+}(tiny_emitter_default.a);
+
+/**
+ * Helper function to retrieve attribute value.
+ * @param {String} suffix
+ * @param {Element} element
+ */
+
+
+function getAttributeValue(suffix, element) {
+ var attribute = 'data-clipboard-' + suffix;
+
+ if (!element.hasAttribute(attribute)) {
+ return;
+ }
+
+ return element.getAttribute(attribute);
+}
+
+/* harmony default export */ var clipboard = __webpack_exports__["default"] = (clipboard_Clipboard);
+
+/***/ })
+/******/ ])["default"];
+});
\ No newline at end of file
diff --git a/app/plugin/dayjs/dayjs.min.js b/app/plugin/dayjs/dayjs.min.js
new file mode 100644
index 0000000..47ebdde
--- /dev/null
+++ b/app/plugin/dayjs/dayjs.min.js
@@ -0,0 +1 @@
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.dayjs=e()}(this,function(){"use strict";var t="millisecond",e="second",n="minute",r="hour",i="day",s="week",u="month",o="quarter",a="year",h=/^(\d{4})-?(\d{1,2})-?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?.?(\d{1,3})?$/,f=/\[([^\]]+)]|Y{2,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,c=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},d={s:c,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+c(r,2,"0")+":"+c(i,2,"0")},m:function(t,e){var n=12*(e.year()-t.year())+(e.month()-t.month()),r=t.clone().add(n,u),i=e-r<0,s=t.clone().add(n+(i?-1:1),u);return Number(-(n+(e-r)/(i?r-s:s-r))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(h){return{M:u,y:a,w:s,d:i,D:"date",h:r,m:n,s:e,ms:t,Q:o}[h]||String(h||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},$={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("_")},l="en",m={};m[l]=$;var y=function(t){return t instanceof v},M=function(t,e,n){var r;if(!t)return l;if("string"==typeof t)m[t]&&(r=t),e&&(m[t]=e,r=t);else{var i=t.name;m[i]=t,r=i}return!n&&r&&(l=r),r||!n&&l},g=function(t,e){if(y(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new v(n)},D=d;D.l=M,D.i=y,D.w=function(t,e){return g(t,{locale:e.$L,utc:e.$u,$offset:e.$offset})};var v=function(){function c(t){this.$L=this.$L||M(t.locale,null,!0),this.parse(t)}var d=c.prototype;return d.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(D.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(h);if(r)return n?new Date(Date.UTC(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)):new Date(r[1],r[2]-1,r[3]||1,r[4]||0,r[5]||0,r[6]||0,r[7]||0)}return new Date(e)}(t),this.init()},d.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},d.$utils=function(){return D},d.isValid=function(){return!("Invalid Date"===this.$d.toString())},d.isSame=function(t,e){var n=g(t);return this.startOf(e)<=n&&n<=this.endOf(e)},d.isAfter=function(t,e){return g(t)11.2 */
+ height: calc(100rpx + env(safe-area-inset-bottom));
+}
\ No newline at end of file
diff --git a/app/static/css/guildford.css b/app/static/css/guildford.css
new file mode 100644
index 0000000..56bc03b
--- /dev/null
+++ b/app/static/css/guildford.css
@@ -0,0 +1,6 @@
+@font-face {
+ font-family:'Guildford Pro';
+ src: url('data:application/x-font-woff2;charset=utf-8;base64,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AAAAAAAAAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQAAAGIAAABjAGQAZQBmAGcAaABpAGoAawBsAG0AAABuAAAAAABvAHAAcQByAHMAdAB1AHYAdwB4AHkAegAAAHsAfAADAH0AfgB/AIAAgQCCAIMAhACFAIYAhwCIABAAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gAAANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEBAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAJABdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAXMBiwGMAXIBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAAEAggAAABuAEAABQAuAAAADQB+AKAArACtAP8BUQFTAV8BYQF3AX8BkgIbAscCyQLbAt0DlAOpA7wDwCAVIBogHiAiICYgMCA6IEQgcCB5IIkgrCEXISAhIiEmIS4iAiIGIg8iEiIVIhoiHiIrIkgiYCJlJcrxAvsC//8AAAAAAA0AIACgAKEArQCuAQABUgFUAWABYgF4AZICGALGAskC2ALcA5QDqQO8A8AgEyAYIBwgICAmIDAgOSBEIHAgdCCAIKwhFiEgISIhJiEuIgIiBiIPIhEiFSIZIh4iKyJIImAiZCXK8QL7Af//AAH/9f/jAAD/3AAA/9v/7gAA/+wAAP/qAAD+0v9PAAD+o/6VAAD93v3K/NT9tAAAAAAAAAAA4EDgOgAA4TLhB+EE4P7ftuBy4GrfVeBN4F3fit9s337ffd9733jfdd9p303fNt8z288QmAaaAAEAAAAAAAAAaAAAAGYAAAAAAGIAAABiAAAAYgAAAAAAbAAAAAAAagAAAAAAAAAAAGQAaABsAHAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADABAAbQB6AGsAeAB8AWIBYwFkAWUAbgB7AWYAaQFrAHYBcQB0AHUBdQBvAHAAYwBxAHIAZQBnAGgAcwBsAHkABAIIAAAAbgBAAAUALgAAAA0AfgCgAKwArQD/AVEBUwFfAWEBdwF/AZICGwLHAskC2wLdA5QDqQO8A8AgFSAaIB4gIiAmIDAgOiBEIHAgeSCJIKwhFyEgISIhJiEuIgIiBiIPIhIiFSIaIh4iKyJIImAiZSXK8QL7Av//AAAAAAANACAAoAChAK0ArgEAAVIBVAFgAWIBeAGSAhgCxgLJAtgC3AOUA6kDvAPAIBMgGCAcICAgJiAwIDkgRCBwIHQggCCsIRYhICEiISYhLiICIgYiDyIRIhUiGSIeIisiSCJgImQlyvEC+wH//wAB//X/4wAA/9wAAP/b/+4AAP/sAAD/6gAA/tL/TwAA/qP+lQAA/d79yvzU/bQAAAAAAAAAAOBA4DoAAOEy4QfhBOD+37bgcuBq31XgTeBd34rfbN9+333fe99433Xfad9N3zbfM9vPEJgGmgABAAAAAAAAAGgAAABmAAAAAABiAAAAYgAAAGIAAAAAAGwAAAAAAGoAAAAAAAAAAABkAGgAbABwAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAQAG0AegBrAHgAfAFiAWMBZAFlAG4AewFmAGkBawB2AXEAdAB1AXUAbwBwAGMAcQByAGUAZwBoAHMAbAB5AAABxAAZAAAAAAFUAAABVAAAANgARgEqACMCJQAjAesAHgKnADIChwAyAIwAIwEVAEEBFQAKAYsAIwGlADIA1gA6AVMAMgDWAEsBoP/7AjgAPAD7/9gCBwAkAfsAHgGy//YB5QAPAfUALQFnABQB/AAjAfUAKADWAEsA1gA6AYcAIwGlADIBhwAjAggAFANWADcCJgAKAfYAWgK8AEEChABaAeMAWgHPAFoDbgBBApQAWgD6AFoBfQAjAi8AWgHUAFoDLABaApYAWgN6AEECCgBaA3oAQQIZAFoCDAAjAbwAFAKKAFUB/gAPAxQAFAIcABQB5AAFAcwAGQEVAEYBoP/7ARUAGQF9ACMBfAAAAOQAMQJOADICTgBQAdEAMgJOADICJAAyASYAIwJOADICBgBQAOEAUADh/9QBsgBQAOEAUALwAFACBgBQAjAAMgJOAFACTgAyAT8AUAFyABQBJgAjAgYASwGIAAUCkgAFAY4ADwGjAAUBnAAZARAACgDVAEsBEAAUAZsAIwIZAAUA1gA6AWAACgF1ADoCggBLAbMAMgGzADIBWAAoA8YAMgIMACMAvwAFBHwAQQHMABkA1gA6ANYAOgF1ADoBdQA6AP4AMgIQADwDFAA8AU0AKAJzABQBcgAUAL8ADwOvADIBlwAUAeQABQDYAEYB0QAyAd8ABQH5ADEB6wAKANUASwGLACMBPgAoA24AQQGIACgBZwAFAkkAMQKwADcBPQAoAVoAMgGlADIBKAAaARYAFADkACgCMwAxAkcALQDWAEsBAwAoAI7/8QFqACgBZwAPAcUAAAIsAAACLgAZAggAMgImAAoCJgAKAiYACgImAAoCJgAKAiYACgMFAAoCvABBAeMAWgHjAFoB4wBaAeMAWgD6ABAA+gBaAPr/+QD6AAYChAAUApYAWgN6AEEDegBBA3oAQQN6AEEDegBBAYUAMgN6AEECigBVAooAVQKKAFUCigBVAeQABQIKAFoCDABLAk4AMgJOADICTgAyAk4AMgJOADICTgAyAzwAKAHRADICJAAyAiQAMgIkADICJAAyAOEAAwDhAFAA4f/sAOH/+QI0ADICBgBQAjAAMgIwADICMAAyAjAAMgIwADIBpQAyAjAAMgIGAEsCBgBLAgYASwIGAEsBowAFAk4AUAGjAAUDLABaAdsAKAHbACgB2wAoAdsAKAHbACgB2wAoAdsAKAHbACgB2wAoAdsAKACrACUBnv/2ANH/7ADR/+wBywAAApYAFAI0ABkCcwAUAiYACgJOADICJgAKAk4AMgImAAoCTgAyArwAQQHRADICvABBAdEAMgK8AEEB0QAyArwAQQHRADIChABaAyQAMgKEABQCTgAyAeMAWgIkADIB4wBaAiQAMgHjAFoCJAAyAeMAWgIkADIB4wBaAiQAMgNuAEECTgAyA24AQQJOADIDbgBBAk4AMgNuAEECTgAyApQAWgIGAFAClAAUAgYAFAD6//8A4f/yAPoABwDh//oA+v/5AOH/7AD6ABkA4QAPAPoAWgDhAFACdwBaAcIAUAF9ACMA4f/UAi8AWgGyAFABsgBQAdQAWgDhAFAB1ABaAOEANwHUAFoBtwBQAdQAWgG3AFAB1AAFAOH/5gKWAFoCBgBQApYAWgIGAFAClgBaAgYAUAJqADoClgBaAgYAUAN6AEECMAAyA3oAQQIwADIDegBBAjAAMgIZAFoBPwBQAhkAWgE/ADYCGQBaAT8AOgIMACMBcgAUAgwAIwFyABQCDAAjAXIAFAG8ABQBJv/4AbwAFAH8ACMBvAAUASYAIwKKAFUCBgBLAooAVQIGAEsCigBVAgYASwKKAFUCBgBLAooAVQIGAEsCigBVAgYASwMUABQCkgAFAeQABQGjAAUBzAAZAZcAFAHMABkBlwAUASYAIwIMACMBcgAUAbwAFAEmACMBWAAoAT0AKAFYACgAlAAoATgAKAEDACgBVwAoAvwAMQL+ADECpgAxAxQAPAFb//sBTgAyAN7/9gEGAAUBGwAjALgACgEWABkBGwAeAU4AMgCO//EBKAAaARYAFADe//YBBgAFARsAIwC4AAoBFgAZARsAHgRRAFoDbgBBApYAFAN+ADcB/AAxA1wAMQL/ADEBpQAyAVv/+wDWAEsCCwAxA3QAMQG4ADEB6wAxAfcAMQGHACMBhwAjAgkAMQJlAC0CBwAjACMAAAADAAAAAAAA/7UAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAIewAAQWlGAAACgneAAYAFABVAAYAFQAKAAYAFgAFAAYAF//EAAYAGP/iAAYAGf/EAAYAGgAKAAYAG//7AAYAHAAFAAcAFAAKAAcAFf/sAAcAFgAUAAcAFwAoAAcAGAAPAAcAGQAFAAcAGwAKAAcAHP/OABAAEwAPABAAFAAKABAAFf/EABAAFgAUABAAFwAtABAAGAAKABAAGQAPABAAGv/YABAAGwAPABAAHP/dABAAJP/dABAAJgAKABAAKgAKABAALf+6ABAAMgAKABAANv+6ABAAN/+mABAAOf+6ABAAOv/EABAAO/+wABAAPP+cABAAPf/JABAARAAKABAARgAKABAARwAKABAASAAKABAASgAKABAAUgAKABAAVAAKABAAVgAKABAAWQAKABAAWgAKABAAW//iABAAXAAPABAAXf/2ABEAE//2ABEAFP/2ABEAFQAPABEAFwAeABEAGAAKABEAGf/2ABEAGgAZABEAHP+6ABEAJAAoABEAJv+/ABEAKv+6ABEALQAZABEAMv+/ABEANgAPABEAN/+mABEAOP/dABEAOf9+ABEAOv+SABEAOwAUABEAPP+IABEAPQAZABEARP/sABEARv/nABEAR//nABEASP/nABEASf/2ABEASv/nABEAUv/sABEAVP/nABEAVgAKABEAV//2ABEAWP/xABEAWf+wABEAWv+wABEAWwAUABEAXP/EABEAXQAKABIAFAAyABIAFgAKABIAF/+/ABIAGP/dABIAGf+1ABIAGgAoABIAG//xABIAJP+6ABIAJv/iABIAKv/iABIALQAjABIAMv/iABIANgAUABIANwA3ABIAOQAyABIAOgAtABIAOwAeABIAPAAoABIAPQAUABIARP+IABIARv+IABIAR/+IABIASP+IABIASv+IABIATP/2ABIATf/2ABIAUP+hABIAUf+hABIAUv+IABIAU/+hABIAVP+IABIAVf+hABIAVv+rABIAV//YABIAWP+mABIAWf/TABIAWv/TABIAW/+wABIAXP/JABIAXf/EABMAEAAPABMAEf/2ABMAFAAUABMAFf/7ABMAGv/sABMAHP/7ABQAFAAPABQAGf/2ABQAGv/2ABUACP/7ABUAEP/OABUAEQAPABUAEgAUABUAE//2ABUAFAAUABUAFv/7ABUAF//sABUAGP/xABUAGf/TABUAG//sABUAHP/7ABYACP/nABYAEAAFABYAEgAKABYAFAAFABYAFf/sABYAFgAKABYAFwAeABYAGAAKABYAGwAKABYAHP/iABYAi//2ABcACP/xABcAEgAKABcAFP/2ABcAFf/2ABcAFgAPABcAFwAoABcAGAAKABcAGv/sABcAHP/2ABcAi//xABgACP/TABgAEAAKABgAEf/2ABgAEgAKABgAFP/2ABgAFf/YABgAFwAUABgAGP/7ABgAGv/2ABgAHP+6ABgAi//iABkACP+1ABkAEAAPABkAEgAKABkAFP/2ABkAFf/TABkAFwAUABkAGAAFABkAGv/2ABkAHP+6ABkAi/+mABoACAAeABoAEP+/ABoAEf+IABoAEv+/ABoAE//7ABoAFAAeABoAFQAKABoAFgAKABoAF/+1ABoAGP/OABoAGf+wABoAGgAeABoAG//2ABoAHAAKABoAiwAjABsACP/sABsAEAAPABsAEgAKABsAFAAFABsAFf/nABsAFgAKABsAFwAeABsAGAAKABsAGv/2ABsAHP/sABsAi//7ABwACAAFABwAEP/nABwAEf+rABwAEv/JABwAFAAjABwAFf/2ABwAFv/2ABwAF//TABwAGP/iABwAGf/OABwAGv/iABwAG//nACIAcAAUACQABAAoACQADf+mACQAEP/dACQAEQAoACQAEgAyACQAHQAoACQAIv+wACQAJAAeACQAJv/sACQAKv/sACQALQAUACQAMv/sACQANgAZACQAN/+wACQAOP/7ACQAOf+6ACQAOv/JACQAOwAUACQAPP+wACQAPQAeACQARAAKACQARgAKACQARwAKACQASAAKACQASgAKACQAUgAKACQAVAAKACQAVgAeACQAWP/7ACQAWf/2ACQAWv/xACQAWwAZACQAXP/2ACQAXQAUACQAcP+DACQAd/+IACQAif/EACQBiv+wACUAEf/2ACUAHf/2ACUAIv/2ACUAJAAKACUAJv/sACUAKv/sACUALf/iACUAMv/sACUANv/sACUAN//iACUAOP/7ACUAOQAPACUAOgAUACUAO//sACUAPAAFACUAPf/xACUAWP/7ACUAd//sACUAif/2ACUAyQAKACUAygAPACUBFwAUACUBGQAKACUBGwAPACUBiv/2ACYABAAKACYADQAUACYAEP+wACYAEQAKACYAEgAeACYAHQAKACYAIgAFACYAJAAKACYAJv+wACYAKv+wACYALQAUACYAMv+wACYANgAKACYANwAUACYAOP/2ACYAOQAZACYAOgAPACYAOwAFACYAPAAZACYAPQAKACYARP/sACYASP/sACYAUv/sACYAWP/sACYAXP/nACYAXQAFACYAcAAKACYAdwAjACYAif/sACYAxwAyACYAygAUACYBFwAKACYBGQAKACYBGwAoACYBigAZACcABP/2ACcAEAAKACcAEf+6ACcAEv/iACcAHf/2ACcAIv/JACcAJP/sACcALf+mACcANv/iACcAN/+/ACcAOf/xACcAOv/xACcAO//EACcAPP/dACcAPf/OACcARP/sACcASP/sACcAS//2ACcATP/2ACcAUv/sACcAVf/2ACcAWP/7ACcAWgAUACcAXAAUACcAcP/xACcAd//sACgAEP/7ACgAEQAFACgAEgAUACgAHQAFACgAIv/7ACgAJAAFACgAJv/sACgAKv/sACgAMv/sACgANwAUACgAOQAPACgAOgAUACgAOwAPACgAPAAPACgAPQAUACgARP/sACgARv/sACgAR//sACgASP/sACgASv/sACgAUv/sACgAVP/sACgAWP/xACgAWQAFACgAWgAFACgAWwAFACgAdwAUACgAxwAPACgBGwAPACkABAAPACkADQAZACkAEf9vACkAEv/EACkAIgAKACkAJP/OACkAJv/sACkAKv/sACkALQAUACkAMv/sACkANv/xACkANwAPACkAOP/6ACkAOQAUACkAOgAUACkAOwAKACkAPAAeACkAPQAKACkARP/dACkARv/nACkAR//nACkASP/dACkATP/2ACkAUf/2ACkAUv/dACkAVf/2ACkAVv/2ACkAV//7ACkAWP/xACkAWgAKACkAXAAPACkAcAAKACkAdwAjACkAiQAKACkAxwAoACkAyQAKACkAygAeACkBFwAPACkBGQAUACkBGwAoACkBigAUACoADf/sACoAEAAPACoAEf+/ACoAEv/iACoAIv+XACoAJP/sACoAJv/7ACoAKv/7ACoALf/OACoAMv/7ACoANv/YACoAN/+rACoAOP/7ACoAOf/TACoAOv/TACoAO//TACoAPP+1ACoAPf/TACoARP/2ACoASP/2ACoAS//2ACoATP/2ACoAT//2ACoAUf/2ACoAUv/2ACoAVf/2ACoAWP/2ACoAWgAPACoAXAAUACoAcP+wACoAd//OACoBiv/iACsARP/2ACsASP/2ACsATP/2ACsAUv/2ACsAV//2ACsAWP/xACsAWf/2ACsAXP/xACwARP/2ACwARf/2ACwARv/2ACwAR//2ACwASP/2ACwASf/2ACwASv/2ACwAS//2ACwATP/2ACwATf/2ACwATv/2ACwAT//2ACwAUP/2ACwAUf/2ACwAUv/2ACwAU//2ACwAVP/2ACwAVf/2ACwAVv/7ACwAV//2ACwAWP/xACwAWf/xACwAWv/sACwAW//xACwAXP/xACwAXf/xAC0AEf/YAC0AEv/sAC0AHf/2AC0AJP/xAC0ALf/2AC0ANv/7AC0AO//xAC0APf/nAC0ARP/2AC0ASP/2AC0ATP/2AC0AUv/2AC0AVf/2AC0AWP/2AC4ABAAUAC4ADf/sAC4AEP+IAC4AEQAUAC4AEgAtAC4AHQAUAC4AIv/sAC4AJAAoAC4AJv+mAC4AKv+mAC4ALQAeAC4AMv+mAC4ANv/2AC4AN//xAC4AOP/dAC4AOwAyAC4APP/7AC4APQAoAC4ARP/iAC4ASP/iAC4AUv/iAC4AWP/iAC4AWf/OAC4AWv/JAC4AXP/OAC4AcP/nAC4Aif+/AC4Biv/2AC8ABAAZAC8ADf+SAC8AEP+mAC8AEQAjAC8AEgAjAC8AHQAjAC8AIv+hAC8AJAAjAC8AJv+mAC8AKv+mAC8ALQAKAC8AMv+mAC8ANv/2AC8AN/+wAC8AOP/iAC8AOf+SAC8AOv+rAC8AOwAZAC8APP+mAC8APQAZAC8ARP/sAC8ASP/sAC8AUv/sAC8AWP/sAC8AWv/OAC8AXP/YAC8AcP+SAC8Ad/+NAC8Aif9qAC8Biv+NADAARP/2ADAASP/2ADAASv/2ADAATP/2ADAAUv/2ADAAVf/2ADAAVv/2ADAAV//2ADAAWP/xADAAXP/2ADEARP/2ADEASP/2ADEATP/2ADEAUv/2ADEAWP/xADEAXP/2ADIAEAAKADIAEf+/ADIAEv/iADIAIv/JADIAJP/sADIALf+1ADIANv/nADIAN//EADIAOf/sADIAOv/2ADIAO//JADIAPP/YADIAPf/JADIARP/xADIARf/7ADIARv/xADIAR//xADIASP/xADIASv/xADIAS//7ADIATP/7ADIATf/7ADIATv/7ADIAT//7ADIAUP/7ADIAUf/7ADIAUv/xADIAU//7ADIAVP/xADIAVf/7ADIAVv/2ADIAV//7ADIAWP/7ADIAWQAUADIAWgAUADIAW//2ADIAXAAUADIAXf/sADIAcP/sADIAd//nADMADQAUADMAEP/nADMAEf9lADMAEv+1ADMAJP+1ADMAJv/xADMAKv/xADMALf/iADMAMv/xADMANv/2ADMAN//YADMAOQAKADMAOgAKADMAO//sADMAPAAKADMAPf/YADMARP/EADMARv/YADMAR//EADMASP/EADMASv/EADMATP/2ADMATf/2ADMAUf/sADMAUv/EADMAVf/sADMAVv/iADMAV//2ADMAWP/sADMAWgAeADMAXAAZADMAXf/2ADMAyQAZADMAygAZADMBFwAeADMBGQAUADMBGwAKADQAEf/iADQAEgAFADQAHf/2ADQALf/TADQAPf/dADUAEP/dADUAEgAeADUAIv/7ADUAJAAUADUAJv/2ADUAKv/2ADUAMv/2ADUANv/2ADUAN//iADUAOP/7ADUAOQAKADUAOgAUADUAOwAKADUAPAAKADUAPQAFADUARP/TADUASP/TADUAUv/TADUAWP/nADUAWgAKADUAXAAKADUAcP/7ADUAd//7ADUAyQAUADUAygAUADUBFwAUADUBGQAUADYABP/7ADYADf/2ADYAEAAKADYAEgAUADYAIv/xADYAJAAZADYAJv/sADYAKv/sADYAMv/2ADYANv/7ADYAN//xADYAPP/7ADYAWP/7ADYAXf/2ADYAcP/nADYAif/nADYAxwAKADYBGwAKADYBiv/xADcABAAUADcADQAjADcAEP+mADcAEf+mADcAEv+rADcAHf+mADcAIgAUADcAJP+wADcAJv/EADcAKv/EADcALQAPADcAMv/EADcANv/xADcANwAZADcAOQAUADcAOgAeADcAOwAPADcAPAAeADcAPQAFADcARP+hADcARv+mADcAR/+hADcASP+hADcATP/7ADcAUf+wADcAUv+hADcAVf+rADcAVv+mADcAV//YADcAWP+mADcAWv+1ADcAXP+1ADcAXf+rADcAcAAUADcAdwAyADcAeP/iADcAe//7ADcAif/xADcAxwA3ADcAyP/JADcAyQAZADcAygAjADcA1P+6ADcA1/+wADcA2v/JADcBFwAeADcBGQAeADcBGwAyADcBH/+rADcBNv/EADcBSf/iADcBV/+6ADcBigAeADgAEf/dADgAEv/sADgAHf/7ADgAIv/7ADgAJP/7ADgANv/7ADgAO//xADgAPf/xADgARP/2ADgARf/2ADgAR//2ADgASP/2ADgASf/2ADgASv/2ADgAS//2ADgATP/2ADgATv/2ADgAT//2ADgAUP/2ADgAUf/2ADgAUv/2ADgAU//2ADgAVP/2ADgAVf/2ADgAVv/2ADgAV//2ADgAWP/xADgAWf/2ADgAWv/2ADgAW//iADgAXP/7ADgAXf/iADkABAAPADkADQAeADkAEP+6ADkAEf9+ADkAEv+wADkAHf+6ADkAIgAZADkAJP+6ADkAJv/sADkAKv/sADkAMv/sADkANgAPADkANwAUADkAOQAoADkAOgAeADkAOwAeADkAPAAoADkAPQAUADkARP+6ADkARv+6ADkAR/+6ADkASP+6ADkATP/2ADkAUf+wADkAUv+6ADkAVf+6ADkAVv/OADkAV//YADkAWP+6ADkAWv/YADkAXP/nADkAXf/EADkAcAAPADkAdwAtADkAeP/7ADkAe//xADkAif/7ADkAxwAjADkAyP/OADkAyQAeADkAygAeADkBFwAZADkBGQAPADkBGwAyADkBH/+6ADkBSf/JADkBigAeADoABAAPADoADQAjADoAEP/EADoAEf+SADoAEv+rADoAEwABADoAHf/EADoAIgAZADoAJP/JADoAJv/2ADoAKv/2ADoALQAeADoAMv/2ADoANgAPADoANwAeADoAOQAeADoAOgAoADoAOwAeADoAPAAjADoAPQAUADoARP/OADoARv/JADoAR//JADoASP/JADoAS//2ADoATP/sADoAUP+/ADoAUf+6ADoAUv/JADoAVf+/ADoAVv/YADoAV//sADoAWP+/ADoAWv/YADoAXP/xADoAXf/JADoAcAAKADoAdwAyADoAe//7ADoAu/+rADoAw/+rADoAxwAeADoAyP/EADoAyQAUADoAygAeADoBFwAeADoBGQAUADoBGwAtADoBH/+/ADoBNv+wADoBT//YADoBigAeADsADQAKADsAEP+wADsAEQAUADsAEgAeADsAHQAUADsAJAAUADsAJv/JADsAKv/JADsALQAUADsAMv/JADsANwAKADsAOP/xADsAOQAeADsAOgAeADsAOwAUADsAPAAPADsAPQAZADsARP/sADsASP/sADsATP/7ADsAUv/sADsAWP/sADsAXP/dADsAcP/2ADsAdwAjADsAif/iADsAxwAjADsBGwAZADsBigAFADwABAAKADwADQAUADwAEP+cADwAEf+IADwAEv+hADwAHf+IADwAIgAKADwAJP+wADwAJv/YADwAKv/YADwALQAUADwAMv/YADwANgAKADwANwAeADwAOQAoADwAOgAjADwAOwAPADwAPAAoADwAPQAUADwARP+NADwARv95ADwAR/+NADwASP+NADwATP/sADwAUf+cADwAUv+NADwAU/+XADwAVf+XADwAVv+mADwAV//EADwAWP+hADwAWf+/ADwAWv+1ADwAXP+wADwAXf+mADwAdwAtADwAeP/2ADwAe//nADwAif/sADwAu/+cADwAw/+hADwAxwAoADwAyP+6ADwAyQAKADwAygAKADwAzf+mADwA1P+wADwA1/+XADwA2v+6ADwA+/+hADwBA/+IADwBCf+hADwBGwAoADwBH/+XADwBNv+/ADwBPf+IADwBSf/EADwBU/+XADwBVf+EADwBWf+cADwBigAZAD0ABAAKAD0ADf/7AD0AEP+cAD0AEQAZAD0AEgAZAD0AHQAZAD0AIv/7AD0AJAAZAD0AJv/JAD0AKv/JAD0AMv/JAD0ANv/7AD0AOP/xAD0AOQAUAD0AOgAUAD0AOwAUAD0APAAKAD0APQAKAD0ARP/iAD0ASP/iAD0AS//7AD0ATP/7AD0AUv/iAD0AWP/xAD0AXP/TAD0AcP/sAD0AdwAZAD0Aif/dAD0AxwAjAD0BGwAPAD0BigAFAEQADf/sAEQAIv+SAEQAWP/7AEQAcP/YAEQAd//dAEUADf+6AEUAEAAKAEUAEf/sAEUAHf/2AEUAIv+IAEUAVv/2AEUAWQAFAEUAWgAFAEUAW//iAEUAXAAFAEUAXf/iAEUAcP+wAEUAd/+6AEUAif/sAEUBiv/OAEYABAAFAEYADf/sAEYAEP/2AEYAEQAFAEYAHQAFAEYAIv+NAEYARP/nAEYARv/nAEYAR//nAEYASP/nAEYASv/nAEYAUv/nAEYAVP/iAEYAWP/7AEYAWQAeAEYAWgAZAEYAWwAKAEYAXAAZAEYAXQAKAEYAcP/iAEYAd//xAEgADf+6AEgAEAAPAEgAEf/sAEgAIv+SAEgAWQAKAEgAWgAKAEgAW//sAEgAXAAPAEgAXf/sAEgAcP+wAEgAd//EAEgAif/nAEgBiv/YAEkABAAKAEkADQAjAEkAEf/EAEkAEv/sAEkAHQAUAEkAIgAUAEkARP/sAEkARv/sAEkAR//sAEkASP/sAEkASQAeAEkASv/sAEkAUv/sAEkAVP/sAEkAVgAFAEkAVwAKAEkAWQAoAEkAWgAoAEkAWwAUAEkAXAAjAEkAXQAZAEkAcAAUAEkAdwAoAEkAiQAjAEkAxwAjAEkAygAZAEkBigAtAEoADf/xAEoAIv+XAEoAWP/7AEoAcP/YAEoAd//YAEsADf+6AEsAIv+NAEsAVv/2AEsAWP/2AEsAXf/2AEsAcP+wAEsAd//EAEsAif/nAEsBiv/TAE4ABAAKAE4AEP/TAE4AEQAUAE4AEgAyAE4AHQAUAE4AIv+wAE4ARP/dAE4ARv/dAE4AR//dAE4ASP/dAE4ASf/2AE4ASv/dAE4AUv/dAE4AVP/dAE4AWP/nAE4AWQAUAE4AWwAeAE4AXAAUAE4AcP/sAE4Ad//2AFAADf+6AFAAIv+NAFAAVv/2AFAAWP/2AFAAXf/2AFAAcP+wAFAAd//EAFAAif/nAFABiv/TAFEADf+6AFEAIv+NAFEAVv/2AFEAWP/2AFEAXf/2AFEAcP+wAFEAd//EAFEAif/nAFEBiv/TAFIABP/2AFIADf+mAFIAD//nAFIAEAAKAFIAEf/sAFIAHf/2AFIAHv/xAFIAIv+IAFIAVv/7AFIAWQAFAFIAWgAFAFIAW//sAFIAXAAFAFIAXf/nAFIAcP+6AFIAd//EAFIAif/nAFIBiv/TAFMABP/2AFMADf+wAFMAD//nAFMAEAAKAFMAEf/sAFMAHf/2AFMAHv/xAFMAIv+IAFMAVv/7AFMAWQAFAFMAXAAFAFMAXf/nAFMAcP+wAFMAd//EAFMAif/sAFMBiv/TAFQADf/sAFQAIv+NAFQAWP/7AFQAcP/YAFQAd//sAFUABAAUAFUADQAUAFUAEAAPAFUAEf/EAFUAEv/iAFUAHQAZAFUAIv+hAFUARP/sAFUARv/sAFUAR//sAFUASP/sAFUASQAZAFUASv/sAFUAUv/sAFUAVP/sAFUAVgAKAFUAVwAKAFUAWQAtAFUAWgAtAFUAWwAeAFUAXAA8AFUAXQAPAFUAdwAUAFUAiQAeAFUBigAjAFYADf/nAFYAEP/xAFYAEgAoAFYAIv+NAFYAVgAFAFYAWQAKAFYAWgAFAFYAWwAPAFYAXAAKAFYAXQAUAFYAcP/OAFYAd//2AFcABAAZAFcADQAeAFcAEf/OAFcAHQAZAFcAIv/dAFcARP/sAFcARv/sAFcAR//sAFcASP/sAFcASQAKAFcASv/sAFcAUv/sAFcAVP/sAFcAVgAKAFcAVwAKAFcAWQAoAFcAWgAoAFcAWwAKAFcAXAAtAFcAXQAUAFcAdwAUAFcAiQAyAFcBigAjAFgAIv+NAFgAcP/YAFgAd//iAFkABAAPAFkADQAeAFkAEAAKAFkAEf+wAFkAEv/iAFkAIv+rAFkARAAFAFkARgAFAFkARwAFAFkASAAFAFkASgAFAFkAUgAFAFkAVAAFAFkAVgAeAFkAWQAoAFkAWgAoAFkAWwAUAFkAXAAoAFkAXQAZAFkAcAAKAFkAdwAUAFkAiQAyAFkBigA3AFoABAAUAFoADQAeAFoAEAAKAFoAEf+wAFoAEv/nAFoAHQAKAFoAIv+mAFoARAAFAFoARgAFAFoASAAFAFoASgAFAFoAUgAFAFoAVAAFAFoAVgAZAFoAWQAoAFoAWgAtAFoAWwAeAFoAXAAtAFoAXQAUAFoAdwAPAFoAiQAtAFoBigAyAFsABAAKAFsAEP/iAFsAEQAUAFsAEgAeAFsAHQAUAFsAIv+hAFsARP/sAFsARv/sAFsAR//iAFsASP/sAFsASv/sAFsAUv/sAFsAVP/sAFsAVgAKAFsAWP/sAFsAWQAUAFsAWgAeAFsAWwAZAFsAXAAZAFsAXQAZAFsAcP/sAFsAiQAUAFsBigAZAFwABAAKAFwADQAeAFwAEAAPAFwAEf/EAFwAEv/nAFwAIv+mAFwARAAFAFwARgAFAFwARwAFAFwASAAFAFwASgAFAFwAUgAFAFwAVAAFAFwAVgAeAFwAVwAKAFwAWQAoAFwAWgAsAFwAWwAZAFwAXAAoAFwAXQAUAFwAdwAZAFwAiQAtAFwBigAtAF0ABAAPAF0ADQAUAF0AEP/2AF0AEQAUAF0AEgAjAF0AHQAUAF0AIv+mAF0ARP/nAF0ARv/nAF0AR//nAF0ASP/nAF0ASv/nAF0AUv/nAF0AVP/nAF0AVgAFAF0AWP/7AF0AWQAZAF0AWgAjAF0AWwAUAF0AXAAZAF0AXQAUAF0AcP/2AF0Ad//7AF0AiQAZAF0BigAeAGIAFAAjAGIAFwAUAGIAGAAKAGIAGf/2AGIAGv/7AGIAHP/7AGQAFAAeAGQAFv/7AGQAF//YAGQAGP/nAGQAGf/dAGQAGgAZAGQAG//sAG8AIgAUAG8AJP+NAG8AJv/iAG8AKv/iAG8ALQAZAG8AMv/iAG8ANwAeAG8AOQAZAG8AOgAUAG8APAAPAG8ARP+mAG8ARv+mAG8AR/+mAG8ASP+mAG8ASf/2AG8ASv+mAG8AUP/OAG8AUf/OAG8AUv+mAG8AU//OAG8AVP+mAG8AVf/OAG8AVv+wAG8AV//sAG8AWP/OAG8AW//iAG8AXf/sAHAAJ//sAHAAL//sAHAAMP/sAHAAMv/OAHAANf/sAHAANv/sAHAANwAeAHAAOQAUAHAAR/+IAHAAT//sAHAAUP+wAHAAUv+IAHAAVf+wAHAAVv+DAHAAV//TAHAAWf/iAH8AE//2AH8AFAA3AH8AF//xAH8AGP/sAH8AGf/dAH8AGgAKAH8AG//xAH8AHP/7AIEAFAA3AIEAF//TAIEAGP/iAIEAGf/iAIEAGgAtAIEAG//2ALEAPf/OANwAIv+IANwAVv/7ANwAWP/7ANwAWf/7ANwAWv/7ANwAW//7ANwAXP/7ANwAXf/wANwAcP+6ANwAd//EANwAif/2AAEAAAAKAB4ALAABbGF0bgAIAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAADAAwkkjcQAAFB+AAEAAAA+AH6AiACQgJ4ArYC7AMuA0ADTgN0A5oDwAPiBAQENgRcBIIErATSBQQFIgVIBYIFpAWqBdgF5gYEBiIGKAZmBpQG0gb0BxIHdAeqB/gIVgh0CPoJJAkuCUQJXgl0CZ4JqAm2CdAJ3gnsCg4KLAo2ClgKbgqMCpIKtArWCvQLFgs4C1ILiAumC9wMEgwwDFYMgAyeDMAM3g0ADT4NfA2SDagNyg5QDnIOjA62DuAPCg80D14PiA+uD+AQBhAsEFIQeBCmENQRAhEwEU4RjBHKEggSRhKEEsIS+BMuE2QTmhQgFE4UWBRiFGwUdhSAFIoUoBS6FNAU5hT8FRIVIBVCFWQVhhWoFcoV7BXyFfgV/hYEFiYWRBZmFmwWfhaQFqIWtBbGFtgW6hb8Fw4XIBdKF1QXfheIF7IXvBfuGAgYOhhUGIYYoBjSGOwZChkoGU4ZZBmKGaAZxhncGgIaGBo+GlQadhqAGqIarBrOGtga+hsEGwobGBseGywbWhuIG7Yb5BvyHBAcLhxMHGociByWHKQcshzAHP4dIB1eHYAdvh3gHgIeJB5GHmgeih6sHsoe4B7+HxQfMh9IH6ofyCAqIIwgqiDgIOYhHCEiIVghXiGUIZoh0CHWIgwiEiJwIpIjGCM6I2QjhiOwI9Ij8CQGJGgACQAUAFUAFQAKABYABQAX/8QAGP/iABn/xAAaAAoAG//7ABwABQAIABQACgAV/+wAFgAUABcAKAAYAA8AGQAFABsACgAc/84ADQAT//YAFP/2ABUADwAXAB4AGAAKABn/9gAaABkAHP+6ADn/fgA7ABQAVP/nAFn/sABbABQADwATAA8AFAAKABX/xAAWABQAFwAtABgACgAZAA8AGv/YABsADwAc/90AOf+6ADv/sABUAAoAWQAKAFv/4gANABP/9gAU//YAFQAPABcAHgAYAAoAGf/2ABoAGQAc/7oAOf9+ADsAFABU/+cAWf+wAFsAFAAQABQAMgAWAAoAF/+/ABj/3QAZ/7UAGgAoABv/8QA5ADIAOwAeAE3/9gBQ/6EAU/+hAFT/iABV/6EAWf/TAFv/sAAEABQAFAAV//sAGv/sABz/+wADABQADwAZ//YAGv/2AAkAEgAUABP/9gAUABQAFv/7ABf/7AAY//EAGf/TABv/7AAc//sACQASAAoAFAAFABX/7AAWAAoAFwAeABgACgAbAAoAHP/iAIv/9gAJABIACgAU//YAFf/2ABYADwAXACgAGAAKABr/7AAc//YAi//xAAgAEgAKABT/9gAV/9gAFwAUABj/+wAa//YAHP+6AIv/4gAIABIACgAU//YAFf/TABcAFAAYAAUAGv/2ABz/ugCL/6YADAAS/78AE//7ABQAHgAVAAoAFgAKABf/tQAY/84AGf+wABoAHgAb//YAHAAKAIsAIwAJABIACgAUAAUAFf/nABYACgAXAB4AGAAKABr/9gAc/+wAi//7AAkAEv/JABQAIwAV//YAFv/2ABf/0wAY/+IAGf/OABr/4gAb/+cACgAEACgADf+mABIAMgAi/7AAOf+6ADsAFABUAAoAWf/2AFsAGQCJ/8QACQAi//YAOQAPADv/7ACJ//YAyQAKAMoADwEXABQBGQAKARsADwAMAAQACgANABQAEgAeACIABQA5ABkAOwAFAIn/7ADHADIAygAUARcACgEZAAoBGwAoAAcABP/2ABL/4gAi/8kAOf/xADv/xABL//YAVf/2AAkAEgAUACL/+wA5AA8AOwAPAFT/7ABZAAUAWwAFAMcADwEbAA8ADgAEAA8ADQAZABL/xAAiAAoAOQAUADsACgBV//YAiQAKAMcAKADJAAoAygAeARcADwEZABQBGwAoAAgADf/sABL/4gAi/5cAOf/TADv/0wBL//YAT//2AFX/9gABAFn/9gALAEX/9gBL//YATf/2AE7/9gBP//YAUP/2AFP/9gBU//YAVf/2AFn/8QBb//EAAwAS/+wAO//xAFX/9gAHAAQAFAAN/+wAEgAtACL/7AA7ADIAWf/OAIn/vwAHAAQAGQAN/5IAEgAjACL/oQA5/5IAOwAZAIn/agABAFX/9gAPABL/4gAi/8kAOf/sADv/yQBF//sAS//7AE3/+wBO//sAT//7AFD/+wBT//sAVP/xAFX/+wBZABQAW//2AAsADQAUABL/tQA5AAoAO//sAE3/9gBV/+wAyQAZAMoAGQEXAB4BGQAUARsACgAPABIABQAi/8kAOf/sADv/yQBF//sAS//7AE3/+wBO//sAT//7AFD/+wBT//sAVP/xAFX/+wBZABQAW//2AAgAEgAeACL/+wA5AAoAOwAKAMkAFADKABQBFwAUARkAFAAHAAT/+wAN//YAEgAUACL/8QCJ/+cAxwAKARsACgAYAAQAFAANACMAEv+rACIAFAA5ABQAOwAPAFX/qwB4/+IAe//7AIn/8QDHADcAyP/JAMkAGQDKACMA1P+6ANf/sADa/8kBFwAeARkAHgEbADIBH/+rATb/xAFJ/+IBV/+6AA0AEv/sACL/+wA7//EARf/2AEv/9gBO//YAT//2AFD/9gBT//YAVP/2AFX/9gBZ//YAW//iABMABAAPAA0AHgAS/7AAIgAZADkAKAA7AB4AVf+6AHj/+wB7//EAif/7AMcAIwDI/84AyQAeAMoAHgEXABkBGQAPARsAMgEf/7oBSf/JABcABAAPAA0AIwAS/6sAEwABACIAGQA5AB4AOwAeAEv/9gBQ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AFQACgBZ//YAWwAZAIn/xAAKAAQAKAAN/6YAEgAyACL/sAA5/7oAOwAUAFQACgBZ//YAWwAZAIn/xAAKAAQAKAAN/6YAEgAyACL/sAA5/7oAOwAUAFQACgBZ//YAWwAZAIn/xAAJABIAFAAi//sAOQAPADsADwBU/+wAWQAFAFsABQDHAA8BGwAPAAwABAAKAA0AFAASAB4AIgAFADkAGQA7AAUAif/sAMcAMgDKABQBFwAKARkACgEbACgACQASABQAIv/7ADkADwA7AA8AVP/sAFkABQBbAAUAxwAPARsADwAJABIAFAAi//sAOQAPADsADwBU/+wAWQAFAFsABQDHAA8BGwAPAAkAEgAUACL/+wA5AA8AOwAPAFT/7ABZAAUAWwAFAMcADwEbAA8ACQASABQAIv/7ADkADwA7AA8AVP/sAFkABQBbAAUAxwAPARsADwALAEX/9gBL//YATf/2AE7/9gBP//YAUP/2AFP/9gBU//YAVf/2AFn/8QBb//EACwBF//YAS//2AE3/9gBO//YAT//2AFD/9gBT//YAVP/2AFX/9gBZ//EAW//xAAsARf/2AEv/9gBN//YATv/2AE//9gBQ//YAU//2AFT/9gBV//YAWf/xAFv/8QALAEX/9gBL//YATf/2AE7/9gBP//YAUP/2AFP/9gBU//YAVf/2AFn/8QBb//EABwAE//YAEv/iACL/yQA5//EAO//EAEv/9gBV//YADwAS/+IAIv/JADn/7AA7/8kARf/7AEv/+wBN//sATv/7AE//+wBQ//sAU//7AFT/8QBV//sAWQAUAFv/9gAPABL/4gAi/8kAOf/sADv/yQBF//sAS//7AE3/+wBO//sAT//7AFD/+wBT//sAVP/xAFX/+wBZABQAW//2AA8AEv/iACL/yQA5/+wAO//JAEX/+wBL//sATf/7AE7/+wBP//sAUP/7AFP/+wBU//EAVf/7AFkAFABb//YADwAS/+IAIv/JADn/7AA7/8kARf/7AEv/+wBN//sATv/7AE//+wBQ//sAU//7AFT/8QBV//sAWQAUAFv/9gAPABL/4gAi/8kAOf/sADv/yQBF//sAS//7AE3/+wBO//sAT//7AFD/+wBT//sAVP/xAFX/+wBZABQAW//2AA8AEv/iACL/yQA5/+wAO//JAEX/+wBL//sATf/7AE7/+wBP//sAUP/7AFP/+wBU//EAVf/7AFkAFABb//YADQAS/+wAIv/7ADv/8QBF//YAS//2AE7/9gBP//YAUP/2AFP/9gBU//YAVf/2AFn/9gBb/+IADQAS/+wAIv/7ADv/8QBF//YAS//2AE7/9gBP//YAUP/2AFP/9gBU//YAVf/2AFn/9gBb/+IADQAS/+wAIv/7ADv/8QBF//YAS//2AE7/9gBP//YAUP/2AFP/9gBU//YAVf/2AFn/9gBb/+IADQAS/+wAIv/7ADv/8QBF//YAS//2AE7/9gBP//YAUP/2AFP/9gBU//YAVf/2AFn/9gBb/+IAIQAEAAoADQAUABL/oQAiAAoAOQAoADsADwBT/5cAVf+XAFn/vwB4//YAe//nAIn/7AC7/5wAw/+hAMcAKADI/7oAyQAKAMoACgDN/6YA1P+wANf/lwDa/7oA+/+hAQP/iAEJ/6EBGwAoAR//lwE2/78BPf+IAUn/xAFT/5cBVf+EAVn/nAALAA0AFAAS/7UAOQAKADv/7ABN//YAVf/sAMkAGQDKABkBFwAeARkAFAEbAAoAAgAN/+wAIv+SAAIADf/sACL/kgACAA3/7AAi/5IAAgAN/+wAIv+SAAIADf/sACL/kgACAA3/7AAi/5IABQAN/7oAIv+SAFkACgBb/+wAif/nAAYABAAFAA3/7AAi/40AVP/iAFkAHgBbAAoABQAN/7oAIv+SAFkACgBb/+wAif/nAAUADf+6ACL/kgBZAAoAW//sAIn/5wAFAA3/ugAi/5IAWQAKAFv/7ACJ/+cABQAN/7oAIv+SAFkACgBb/+wAif/nAAMADf+6ACL/jQCJ/+cACAAE//YADf+mAA//5wAe//EAIv+IAFkABQBb/+wAif/nAAgABP/2AA3/pgAP/+cAHv/xACL/iABZAAUAW//sAIn/5wAIAAT/9gAN/6YAD//nAB7/8QAi/4gAWQAFAFv/7ACJ/+cACAAE//YADf+mAA//5wAe//EAIv+IAFkABQBb/+wAif/nAAgABP/2AA3/pgAP/+cAHv/xACL/iABZAAUAW//sAIn/5wAIAAT/9gAN/6YAD//nAB7/8QAi/4gAWQAFAFv/7ACJ/+cAAQAi/40AAQAi/40AAQAi/40AAQAi/40ACAAEAAoADQAeABL/5wAi/6YAVAAFAFkAKABbABkAiQAtAAcABP/2AA3/sAAP/+cAHv/xACL/iABZAAUAif/sAAgABAAKAA0AHgAS/+cAIv+mAFQABQBZACgAWwAZAIkALQABAFX/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAEACL/iABZ//sAW//7AIn/9gAKAAQAKAAN/6YAEgAyACL/sAA5/7oAOwAUAFQACgBZ//YAWwAZAIn/xAACAA3/7AAi/5IACgAEACgADf+mABIAMgAi/7AAOf+6ADsAFABUAAoAWf/2AFsAGQCJ/8QAAgAN/+wAIv+SAAoABAAoAA3/pgASADIAIv+wADn/ugA7ABQAVAAKAFn/9gBbABkAif/EAAIADf/sACL/kgAMAAQACgANABQAEgAeACIABQA5ABkAOwAFAIn/7ADHADIAygAUARcACgEZAAoBGwAoAAYABAAFAA3/7AAi/40AVP/iAFkAHgBbAAoADAAEAAoADQAUABIAHgAiAAUAOQAZADsABQCJ/+wAxwAyAMoAFAEXAAoBGQAKARsAKAAGAAQABQAN/+wAIv+NAFT/4gBZAB4AWwAKAAwABAAKAA0AFAASAB4AIgAFADkAGQA7AAUAif/sAMcAMgDKABQBFwAKARkACgEbACgABgAEAAUADf/sACL/jQBU/+IAWQAeAFsACgAMAAQACgANABQAEgAeACIABQA5ABkAOwAFAIn/7ADHADIAygAUARcACgEZAAoBGwAoAAYABAAFAA3/7AAi/40AVP/iAFkAHgBbAAoABwAE//YAEv/iACL/yQA5//EAO//EAEv/9gBV//YABwAE//YAEv/iACL/yQA5//EAO//EAEv/9gBV//YACQASABQAIv/7ADkADwA7AA8AVP/sAFkABQBbAAUAxwAPARsADwAFAA3/ugAi/5IAWQAKAFv/7ACJ/+cACQASABQAIv/7ADkADwA7AA8AVP/sAFkABQBbAAUAxwAPARsADwAFAA3/ugAi/5IAWQAKAFv/7ACJ/+cACQASABQAIv/7ADkADwA7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AEX/9gBL//YATv/2AE//9gBQ//YAU//2AFT/9gBV//YAWf/2AFv/4gABACL/jQANABL/7AAi//sAO//xAEX/9gBL//YATv/2AE//9gBQ//YAU//2AFT/9gBV//YAWf/2AFv/4gABACL/jQANABL/7AAi//sAO//xAEX/9gBL//YATv/2AE//9gBQ//YAU//2AFT/9gBV//YAWf/2AFv/4gABACL/jQANABL/7AAi//sAO//xAEX/9gBL//YATv/2AE//9gBQ//YAU//2AFT/9gBV//YAWf/2AFv/4gABACL/jQANABL/7AAi//sAO//xAEX/9gBL//YATv/2AE//9gBQ//YAU//2AFT/9gBV//YAWf/2AFv/4gABACL/jQANABL/7AAi//sAO//xAEX/9gBL//YATv/2AE//9gBQ//YAU//2AFT/9gBV//YAWf/2AFv/4gABACL/jQAXAAQADwANACMAEv+rABMAAQAiABkAOQAeADsAHgBL//YAUP+/AFX/vwB7//sAu/+rAMP/qwDHAB4AyP/EAMkAFADKAB4BFwAeARkAFAEbAC0BH/+/ATb/sAFP/9gACAAEABQADQAeABL/5wAi/6YAVAAFAFkAKABbAB4AiQAtACEABAAKAA0AFAAS/6EAIgAKADkAKAA7AA8AU/+XAFX/lwBZ/78AeP/2AHv/5wCJ/+wAu/+cAMP/oQDHACgAyP+6AMkACgDKAAoAzf+mANT/sADX/5cA2v+6APv/oQED/4gBCf+hARsAKAEf/5cBNv+/AT3/iAFJ/8QBU/+XAVX/hAFZ/5wACAAEAAoADQAeABL/5wAi/6YAVAAFAFkAKABbABkAiQAtAAoABAAKAA3/+wASABkAIv/7ADkAFAA7ABQAS//7AIn/3QDHACMBGwAPAAgABAAPAA0AFAASACMAIv+mAFT/5wBZABkAWwAUAIkAGQAKAAQACgAN//sAEgAZACL/+wA5ABQAOwAUAEv/+wCJ/90AxwAjARsADwAIAAQADwANABQAEgAjACL/pgBU/+cAWQAZAFsAFACJABkABwAE//sADf/2ABIAFAAi//EAif/nAMcACgEbAAoABQAN/+cAEgAoACL/jQBZAAoAWwAPABgABAAUAA0AIwAS/6sAIgAUADkAFAA7AA8AVf+rAHj/4gB7//sAif/xAMcANwDI/8kAyQAZAMoAIwDU/7oA1/+wANr/yQEXAB4BGQAeARsAMgEf/6sBNv/EAUn/4gFX/7oABwAEABkADQAeACL/3QBU/+wAWQAoAFsACgCJADIAAR5sAAQAAAAYADoClAK2AuAC9gMAAyoDQANqA4ADqgO0BRoHkAfGChgMKgysDfYPMA+eD9wRDhJsAJYAJP+6ACb/4gAq/+IALQAjADL/4gA0/+IANgAUADcANwA6AC0APAAoAD0AFABE/4gARv+IAEf/iABI/4gASv+IAEz/9gBR/6EAUv+IAFb/qwBX/9gAWP+mAFr/0wBc/8kAXf/EAGsAFABt/+IAbgAUAHj/qwB6/4gAe//EAHwAKACb/7oAnP+6AJ3/ugCe/7oAn/+6AKD/ugCi/+IArf/iAK7/4gCv/+IAsP/iALH/4gCz/+IAuAAoALv/iAC8/4gAvf+IAL7/iAC//4gAwP+IAML/iADD/4gAxP+IAMX/iADG/4gAx//2AMj/9gDJ//YAyv/2AMv/iADM/6EAzf+IAM7/iADP/4gA0P+IANH/iADT/4gA1P+mANX/pgDW/6YA1/+mANj/yQDa/8kA7v+6AO//iADw/7oA8f+IAPL/ugDz/4gA9P/iAPX/iAD2/+IA9/+IAPj/4gD5/4gA+v/iAPv/iAD9/4gA//+IAQH/iAED/4gBBf+IAQf/iAEJ/4gBCv/iAQv/iAEM/+IBDf+IAQ7/4gEP/4gBEP/iARH/iAEX//YBGf/2ARv/9gEd//YBH//2ASIAIwEq//YBMv+hATT/oQE2/6EBOf+hATr/4gE7/4gBPP/iAT3/iAE+/+IBP/+IAUYAFAFH/6sBSAAUAUn/qwFKABQBS/+rAUwANwFN/9gBTgA3AVAANwFR/9gBU/+mAVX/pgFX/6YBWf+mAVv/pgFd/6YBXgAtAV//0wFgACgBYf/JAWIAFAFj/8QBZAAUAWX/xAFnABQBaP+rAWkANwFq/9gACAAP//YAEAAPABH/9gBj//YAZf/2AGb/9gB0AA8AdQAPAAoACP/7AA8ADwAQ/84AEQAPAGMADwBlAA8AZgAPAGr/+wB0/84Adf/OAAUACP/nABAABQBq/+cAdAAFAHUABQACAAj/8QBq//EACgAI/9MAD//2ABAACgAR//YAY//2AGX/9gBm//YAav/TAHQACgB1AAoABQAI/7UAEAAPAGr/tQB0AA8AdQAPAAoACAAeAA//iAAQ/78AEf+IAGP/iABl/4gAZv+IAGoAHgB0/78Adf+/AAUACP/sABAADwBq/+wAdAAPAHUADwAKAAgABQAP/6sAEP/nABH/qwBj/6sAZf+rAGb/qwBqAAUAdP/nAHX/5wACAHAAFAByABQAWQAP//YAEf/2AB3/9gAe//YAJAAKACb/7AAq/+wALf/iADL/7AA0/+wANv/sADf/4gA4//sAOgAUADwABQA9//EAWP/7AGP/9gBl//YAZv/2AGv/7ABt/+wAbv/xAHf/7AB8AAUAmwAKAJwACgCdAAoAngAKAJ8ACgCgAAoAov/sAK3/7ACu/+wAr//sALD/7ACx/+wAs//sALT/+wC1//sAtv/7ALf/+wC4AAUA1P/7ANX/+wDW//sA1//7AOv/9gDt/+wA7gAKAPAACgDyAAoA9P/sAPb/7AD4/+wA+v/sAQr/7AEM/+wBDv/sARD/7AEi/+IBOv/sATz/7AE+/+wBRv/sAUj/7AFK/+wBTP/iAU7/4gFQ/+IBUv/7AVP/+wFU//sBVf/7AVb/+wFX//sBWP/7AVn/+wFa//sBW//7AVz/+wFd//sBXgAUAWAABQFi//EBZP/xAWf/7AFp/+IBiv/2AJ0AD/9vABH/bwAk/84AJv/sACr/7AAtABQAMv/sADT/7AA2//EANwAPADj/+gA6ABQAPAAeAD0ACgBE/90ARv/nAEf/5wBI/90ATP/2AFH/9gBS/90AVv/2AFf/+wBY//EAWgAKAFwADwBj/28AZf9vAGb/bwBr//EAbf/sAG4ACgBwAAoAcgAKAHcAIwB4//YAev/dAHwAHgCb/84AnP/OAJ3/zgCe/84An//OAKD/zgCi/+wArf/sAK7/7ACv/+wAsP/sALH/7ACz/+wAtP/6ALX/+gC2//oAt//6ALgAHgC7/90AvP/dAL3/3QC+/90Av//dAMD/3QDC/+cAw//dAMT/3QDF/90Axv/dAMj/9gDL/+cAzP/2AM3/3QDO/90Az//dAND/3QDR/90A0//dANT/8QDV//EA1v/xANf/8QDYAA8A2gAPAOsAFADtACMA7v/OAO//3QDw/84A8f/dAPL/zgDz/90A9P/sAPX/5wD2/+wA9//nAPj/7AD5/+cA+v/sAPv/5wD9/+cA///nAQH/3QED/90BBf/dAQf/3QEJ/90BCv/sAQz/7AEO/+wBEP/sAR3/9gEf//YBIgAUASr/9gEy//YBNP/2ATb/9gE5//YBOv/sATv/3QE8/+wBPf/dAT7/7AE//90BRv/xAUf/9gFI//EBSf/2AUr/8QFL//YBTAAPAU3/+wFOAA8BUAAPAVH/+wFS//oBU//xAVT/+gFV//EBVv/6AVf/8QFY//oBWf/xAVr/+gFb//EBXP/6AV3/8QFeABQBXwAKAWAAHgFhAA8BYgAKAWQACgFn//EBaP/2AWkADwFq//sBigAUAA0AD//iABH/4gAd//YAHv/2AC3/0wA9/90AY//iAGX/4gBm/+IAbv/dASL/0wFi/90BZP/dAJQAD/9+ABD/ugAR/34AHf+6AB7/ugAk/7oAJv/sACr/7AAy/+wANP/sADYADwA3ABQAOgAeADwAKAA9ABQARP+6AEb/ugBH/7oASP+6AEz/9gBR/7AAUv+6AFb/zgBX/9gAWP+6AFr/2ABc/+cAXf/EAGP/fgBl/34AZv9+AGsADwBt/+wAbgAUAHAADwByAA8AdP+6AHX/ugB3AC0Aev+6AHwAKACb/7oAnP+6AJ3/ugCe/7oAn/+6AKD/ugCi/+wArf/sAK7/7ACv/+wAsP/sALH/7ACz/+wAuAAoALv/ugC8/7oAvf+6AL7/ugC//7oAwP+6AML/ugDD/7oAxP+6AMX/ugDG/7oAy/+6AMz/sADN/7oAzv+6AM//ugDQ/7oA0f+6ANP/ugDU/7oA1f+6ANb/ugDX/7oA2P/nANr/5wDrAB4A7QAtAO7/ugDv/7oA8P+6APH/ugDy/7oA8/+6APT/7AD1/7oA9v/sAPf/ugD4/+wA+f+6APr/7AD7/7oA/f+6AP//ugEB/7oBA/+6AQX/ugEH/7oBCf+6AQr/7AEM/+wBDv/sARD/7AEd//YBKv/2ATL/sAE0/7ABNv+wATn/sAE6/+wBO/+6ATz/7AE9/7oBPv/sAT//ugFGAA8BR//OAUgADwFKAA8BS//OAUwAFAFN/9gBTgAUAVAAFAFR/9gBU/+6AVX/ugFX/7oBWf+6AVv/ugFd/7oBXgAeAV//2AFgACgBYf/nAWIAFAFj/8QBZAAUAWX/xAFnAA8BaP/OAWkAFAFq/9gBigAeAIQADwAUABD/sAARABQAHQAUAB4AFAAkABQAJv/JACr/yQAtABQAMv/JADT/yQA3AAoAOP/xADoAHgA8AA8APQAZAET/7ABI/+wATP/7AFL/7ABY/+wAXP/dAGMAFABlABQAZgAUAG3/yQBuABkAcP/2AHL/9gB0/7AAdf+wAHcAIwB6/+wAfAAPAJsAFACcABQAnQAUAJ4AFACfABQAoAAUAKL/yQCt/8kArv/JAK//yQCw/8kAsf/JALP/yQC0//EAtf/xALb/8QC3//EAuAAPALv/7AC8/+wAvf/sAL7/7AC//+wAwP/sAMP/7ADE/+wAxf/sAMb/7ADI//sAyf/7AMr/+wDN/+wAzv/sAM//7ADQ/+wA0f/sANP/7ADU/+wA1f/sANb/7ADX/+wA2P/dANr/3QDrAAUA7QAjAO4AFADv/+wA8AAUAPH/7ADyABQA8//sAPT/yQD2/8kA+P/JAPr/yQEB/+wBA//sAQX/7AEH/+wBCf/sAQr/yQEM/8kBDv/JARD/yQEX//sBGf/7AR3/+wEf//sBIgAUASr/+wE6/8kBO//sATz/yQE9/+wBPv/JAT//7AFMAAoBTgAKAVAACgFS//EBU//sAVT/8QFV/+wBVv/xAVf/7AFY//EBWf/sAVr/8QFb/+wBXP/xAV3/7AFeAB4BYAAPAWH/3QFiABkBZAAZAWkACgGKAAUAIAAP/+wAEAAKABH/7AAd//YAHv/2AFb/9gBaAAUAXAAFAF3/4gBj/+wAZf/sAGb/7ABw/7AAcv+wAHQACgB1AAoAd/+6AHj/9gB7/+IA2AAFANoABQDr/84A7f+6AUf/9gFJ//YBS//2AV8ABQFhAAUBY//iAWX/4gFo//YBiv/OAFIAD//EABH/xAAdABQAHgAUAET/7ABG/+wAR//sAEj/7ABJAB4ASv/sAFL/7ABWAAUAVwAKAFoAKABcACMAXQAZAGP/xABl/8QAZv/EAHAAFAByABQAdwAoAHgABQB6/+wAewAZALv/7AC8/+wAvf/sAL7/7AC//+wAwP/sAML/7ADD/+wAxP/sAMX/7ADG/+wAy//sAM3/7ADO/+wAz//sAND/7ADR/+wA0//sANgAIwDaACMA6wAtAO0AKADv/+wA8f/sAPP/7AD1/+wA9//sAPn/7AD7/+wA/f/sAP//7AEB/+wBA//sAQX/7AEH/+wBCf/sAQv/7AEN/+wBD//sARH/7AE7/+wBPf/sAT//7AFHAAUBSQAFAUsABQFNAAoBUQAKAV8AKAFhACMBYwAZAWUAGQFoAAUBagAKAYoALQGbAB4BnAAeAE4ADwAUABD/0wARABQAHQAUAB4AFABE/90ARv/dAEf/3QBI/90ASf/2AEr/3QBS/90AWP/nAFwAFABjABQAZQAUAGYAFABw/+wAcv/sAHT/0wB1/9MAd//2AHr/3QC7/90AvP/dAL3/3QC+/90Av//dAMD/3QDC/90Aw//dAMT/3QDF/90Axv/dAMv/3QDN/90Azv/dAM//3QDQ/90A0f/dANP/3QDU/+cA1f/nANb/5wDX/+cA2AAUANoAFADt//YA7//dAPH/3QDz/90A9f/dAPf/3QD5/90A+//dAP3/3QD//90BAf/dAQP/3QEF/90BB//dAQn/3QEL/90BDf/dAQ//3QER/90BO//dAT3/3QE//90BU//nAVX/5wFX/+cBWf/nAVv/5wFd/+cBYQAUAZv/9gGc//YAGwBW//YAWP/2AF3/9gBw/7AAcv+wAHf/xAB4//YAe//2ANT/9gDV//YA1v/2ANf/9gDr/9MA7f/EAUf/9gFJ//YBS//2AVP/9gFV//YBV//2AVn/9gFb//YBXf/2AWP/9gFl//YBaP/2AYr/0wAPAFj/+wBw/9gAcv/YAHf/7ADU//sA1f/7ANb/+wDX//sA7f/sAVP/+wFV//sBV//7AVn/+wFb//sBXf/7AEwAD/+wABAACgAR/7AARAAFAEYABQBHAAUASAAFAEoABQBSAAUAVgAeAFoAKABcACgAXQAZAGP/sABl/7AAZv+wAHAACgByAAoAdAAKAHUACgB3ABQAeAAeAHoABQB7ABkAuwAFALwABQC9AAUAvgAFAL8ABQDAAAUAwgAFAMMABQDEAAUAxQAFAMYABQDLAAUAzQAFAM4ABQDPAAUA0AAFANEABQDTAAUA2AAoANoAKADrADcA7QAUAO8ABQDxAAUA8wAFAPUABQD3AAUA+QAFAPsABQD9AAUA/wAFAQEABQEDAAUBBQAFAQcABQEJAAUBCwAFAQ0ABQEPAAUBEQAFATsABQE9AAUBPwAFAUcAHgFJAB4BSwAeAV8AKAFhACgBYwAZAWUAGQFoAB4BigA3AFcADwAUABD/4gARABQAHQAUAB4AFABE/+wARv/sAEf/4gBI/+wASv/sAFL/7ABWAAoAWP/sAFoAHgBcABkAXQAZAGMAFABlABQAZgAUAHD/7ABy/+wAdP/iAHX/4gB4AAoAev/sAHsAGQC7/+wAvP/sAL3/7AC+/+wAv//sAMD/7ADC/+wAw//sAMT/7ADF/+wAxv/sAMv/4gDN/+wAzv/sAM//7ADQ/+wA0f/sANP/7ADU/+wA1f/sANb/7ADX/+wA2AAZANoAGQDrABkA7//sAPH/7ADz/+wA9f/sAPf/7AD5/+wA+//sAP3/4gD//+IBAf/sAQP/7AEF/+wBB//sAQn/7AEL/+wBDf/sAQ//7AER/+wBO//sAT3/7AE//+wBRwAKAUkACgFLAAoBU//sAVX/7AFX/+wBWf/sAVv/7AFd/+wBXwAeAWEAGQFjABkBZQAZAWgACgGKABkABAA9/84Abv/OAWL/zgFk/84AAgwiAAQAAA0oD+YAKQAiAAD/3QAoACgAHv/s/+wAFP/sABn/sP/7/8n/sAAeAAoACgAKAAoACgAKAB7/+//x//YAFP+D/7D/iAAAAAAAAAAAAAAAAP+wAAoACgAK/7D/sAAU/7AACgAU//YADwAZAAr/7AAAAAD/7AAA/+wAAP/sAAD/5wAFAAoAGQAjAAAAAAAAAAAAAAAAAAr/uv/2/+wAAAAA/6YAAP/i/78AAP/x/93/zv/sAAAAAP/sAAD/7AAA//sAFAAUAAD/8QAA/+z/9gAAAAAAAAAAAAD/+wAFAAUABf/s/+wAAP/sAAAAFAAAABQADwAU/+z/7P/s/+z/7P/sAAD/8QAFAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAP/78AAP/s//v/+//O//v/2P+r//v/0/+1/9P/9gAAAAD/9gAA//YAAP/2AA8AFAAA/7D/4v/O//b/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2AAAAAP/2AAD/9gAA//EAAP/xAAAAAAAAAAD/9gAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//b/9v/2//b/9v/2//v/8f/s//H/8QAAAAAAAP/2//b/9v/2AAAAAAAA/9j/9v/xAAAAAP/2AAD/+wAAAAAAAAAA/+f/9gAAAAD/9gAA//YAAP/2AAAAAAAAAAAAAAAA//YAAAAAAAAAAAAA/4gAFAAUACj/pv+mAB7/pv/2//H/3QAA//sAKP/iAAAAAP/iAAD/4gAA/+L/yf/OAAD/5//2AAAAAAAAAAAAAAAAAAD/pgAjACMAI/+m/6YACv+m//b/sP/i/6v/pgAZ/+wAAAAA/+wAAP/sAAD/7P/O/9gAAP+S/43/jQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAD/9gAA//YAAP/xAAD/9gAAAAAAAAAA//YAAAAAAAAAAAAAAAr/vwAA/+wAAAAA/7UAAP/n/8QAAP/2/9j/yf/x//H/8f/x//H/8f/2//sAFAAU/+z/7AAA/+f/+//7//sAAAAAAAD/5/9lAAD/tf/x//H/4v/x//b/2AAAAAoACv/Y/8T/2P/E/8T/xP/E/+L/7AAeABn/9gAAAAAAAP/2/+z/9gAAAAAAAP/dAAAAAAAU//b/9gAA//b/9v/i//sAFAAKAAX/0wAAAAD/0wAA/9MAAP/nAAoACgAA//sAAP/7AAAAAAAAAAAAAAAAAAoAAAAAABn/7P/sAAD/9v/7//EAAAAA//sAAAAAAAAAAAAAAAAAAAAA//sAAAAA//b/5//xAAAAAAAAAAAAAAAAAAD/pv+m/6b/sP/E/8QAD//E//EAGQAAAB4AHgAF/6H/pv+h/6EAAP+h/6b/pv+1/7X/qwAUAB4AMv/7/7D/2AAAAAAAAAAA/93/+//7AAAAAAAAAAD/+wAAAAAAAAAA//H/9gAA//b/9v/2//b/9v/x//b/+//iAAAAAAAA//b/9v/2//YAAAAA/8T/kv/E/8n/9v/2AB7/9gAPAB4AAAAoACMAFP/O/8n/yf/JAAD/yf/Y/7//2P/x/8kACgAeADL/7P+6/+wAAAAAAAD/nP+I/4j/sP/Y/9gAFP/YAAoAHgAAACMAKAAU/43/ef+N/40AAP+N/6b/of+1/7D/pgAAABkALf/s/5z/xAAAAAAAAP+cABkAGQAZ/8n/yQAA/8n/+wAA//EAFAAKAAr/4gAAAAD/4gAA/+IAAP/xAAD/0wAA/+wABQAZ//sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sAAAAAAAD/2AAA/90AAAAAAAAAAAAAAAD/9gAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+f/5//n/+f/5//nAAD/+wAZABkACv/iAAD/8QAAAAAAAAAAAAAAAAAP/+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAD//s/7D/2P/EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/2//YAAAAA//b/sP/T/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+wAAAAAAAP/YAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9v/2AAAAAP/2/7D/0//EAAAAAAAAAAAAAAAAAAr/7P/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/7AAAABQAF/+f/uv/T/8QAAAAAAAAAAAAAAAAACv/s//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sAAAAAAAX/5/+w/9P/xAAAAAAAAAAAAAAAAAAP/8QAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7P/s/+z/7P/s/+wACgAAAC0APAAPAAAAIwAUAAAAAAAKABkAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAKABT/zgAA//YAAAAAAAAAAAAAAAAAAP/OABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+z/7P/s/+z/7P/sAAoAAAAoAC0AFAAAACMAFAAAAAAACgAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9gAAP/iAAAAAAAAAAAAAAAAAAr/sAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAFAAUABQAZAAAALQAtABQAAAAyAA8AAAAAAAAAAAAAAAAAD//EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAB4AAAAsACgAFAAAAC0AGQAAAAAACgAAAAAAAP/2ABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5//n/+f/5//n/+cABf/7ACMAGQAU//YAHv/7AAAAAAAAAAAAAAAAAAAAAAAAACj/v/+6ABn/vwAP/6b/3f+S/4gAGf/s/+f/5//n/+f/7AAK//H/sP/EAAoAAAAAAAAAAAAA//b/9gAAAAAAAAAAAAD/jf/i/+IAGf/iAAAAHgAAABQADwAA/6b/pv+m/6b/pv+m/7D/zgAAAAD/7AAAAAAAAAAA/87/7P/2AAAAAAAAAAAAAAAAAAAAAAAA/87/7AAeAAAAAAAAAAAAAAAA/4gAAAAA/4j/gwAAAAAAAAAAAAAAAAAAAAAAAP/TAAD/7AAAAAAAAAAA/90ACgAK/7oACv+6/6YAAP/E/5z/yQAKAAoACgAKAAoACgAKAAAACgAP//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//v/+//7//v/8P+6AAD/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAD/9v/2//b/9v/xAAD/9gAAAAAAAAAA//YAAP/2AAAAAAACACkABgAHAAAADwAcAAIAJAAwABAAMgA9AB0ARABGACkASABLACwATgBOADAAUABdADEAYgBmAD8AawBrAEQAbQByAEUAdAB1AEsAeAB4AE0AegB8AE4AfwB/AFEAgQCBAFIAmwCrAFMArQCxAGQAswC5AGkAuwDGAHAAzADRAHwA0wDlAIIA7gD8AJUA/gD+AKQBAAEVAKUBGAEYALsBGgEaALwBHAEcAL0BHgEeAL4BIgEiAL8BJAEkAMABJwEnAMEBKQEpAMIBLQEtAMMBLwEvAMQBMgEyAMUBNAE0AMYBNgE2AMcBOQFOAMgBUAFlAN4BZwFqAPQAAQAYABIAEwAVABYAFwAYABkAGgAbABwAIgAlACkANAA5ADsARQBJAE4AUABUAFkAWwCxAAIAKwAPABEAAAAkACQAAwAmACgABAAqADgABwA6ADoAFgA8AD0AFwBEAEQAGQBGAEYAGgBIAEgAGwBKAEsAHABRAFMAHgBVAFgAIQBaAFoAJQBcAF0AJgBjAGMAKABlAGYAKQBrAGsAKwBtAHIALAB0AHUAMgB4AHgANAB6AHwANQCbALEAOACzALkATwC7AMYAVgDMANEAYgDTAOUAaADuAPwAewD+AP4AigEAARUAiwEYARgAoQEaARoAogEcARwAowEeAR4ApAEiASIApQEkASQApgEnAScApwEpASkAqAEtAS0AqQEvAS8AqgExATYAqwE4AU4AsQFQAWUAyAFnAWoA3gABAA8BXAAjACYAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAMAAAAEAAUABgAHAAgACQAoAAoACwAMAAsADQAOAA8AEAAAABEAAAASABMAAAAAAAAAAAAAAAAAFAAAABUAAAAWAAAAGAAXAAAAAAAAAAAAAAAZABoAGwAAABwAHQAeAB8AAAAgAAAAIQAiAAAAAAAAAAAAAAAjAAAAIwAjAAAAAAAAAAAADgAAAAMAEwAkACUAJAAlAAAAJgAmAAAAAAAdAAAAFgAiABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwABAAMAAwADAAMABgAGAAYABgACAAoACwALAAsACwALAAAACwAQABAAEAAQABIADAAAABQAFAAUABQAFAAUABYAFQAWABYAFgAWAAAAAAAAAAAAAAAZABoAGgAaABoAGgAAABoAHwAfAB8AHwAhABsAIQAoACcAJwAnACcAJwAnACcAJwAnACcAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAAAAUAAEAFQABABUAAQAVAAEAFQACAAAAAgAAAAMAFgADABYAAwAWAAMAFgADABYABAAYAAQAGAAEABgABAAYAAUAFwAFABcAAAAAAAYAAAAGAAAABgAAAAYAAAAAAAAABwAAAAgAAAAAAAkAAAAJAAAAAAAAAAkAAAAJAAAACgAZAAoAGQAKABkAAAAKABkACwAaAAsAGgALABoADQAcAA0AHAANABwADgAdAA4AHQAOAB0ADwAeAA8AAAAPAB4AEAAfABAAHwAQAB8AEAAfABAAHwAQAB8AEQAgABIAIQATACIAEwAiAAAADgAdAA8AHgABAA8BjgACAAEAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwADAAAAAAAAAAAAAAAEAAAABQAAAAAAAAAGAAAAAAAHAAAAAAAhAAAACAAAAAgAAAAJAAoACwAAAAwAAAANAA4AAAAAAAAAAAAAAAAADwAAABAAEQASACAAEwAAAB0AAAAAAAAAAAAeABQAAAAAAAAAFQAfABYAAAAXAAAAGAAZAAAAAAAAAAAAAAACAAAAAgACAAAAAAAAAAAACQAAAAgADgAAABoAAAAaAAAAAQABAAAAHAAVAAAAFAAZAA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAAACAALAAsACwALAA0AAAAAAA8ADwAPAA8ADwAPAAAAEAASABIAEgASAB0AHQAdAB0AEQAeABQAFAAUABQAFAAAABQAFgAWABYAFgAYAAAAGAAhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAcAAQADwAEAA8ABAAPAAUAEAAFABAABQAQAAUAEAAAABEAAAARAAAAEgAAABIAAAASAAAAEgAAABIABgATAAYAEwAGABMABgATAAAAAAAAAAAAAAAdAAAAHQAAAB0AAAAdAAAAHQAAAAAABwAAAAAAAAAAAAAAAAAAAB0AAAAAAAAAAAAAAAAAAAAeAAAAHgAAAB4AAAAAAB4ACAAUAAgAFAAIABQAAAAAAAAAAAAAAAAACQAVAAkAFQAJABUACgAfAAoAAAAKAB8ACwAWAAsAFgALABYACwAWAAsAFgALABYADAAXAA0AGAAOABkADgAZAAAACQAVAAoAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAAQAAAAoALgCgAAFsYXRuAAgABAAAAAD//wAJAAAAAQACAAMABAAFAAYABwAIAAlhYWx0ADhmcmFjAEBsaWdhAEhvcmRuAE5zYWx0AFRzaW5mAFpzczAxAGBzdWJzAGZzdXBzAGwAAAACAAAAAQAAAAIAAgADAAAAAQAFAAAAAQAGAAAAAQAJAAAAAQAIAAAAAQAKAAAAAQAHAAAAAQAEAA0AHAAkACwANABEAEwAVABcAGQAbAB0AHwAhAABAAAAAQGUAAMAAAABAbgAAQAAAAEAYAAGAAAABQB0AIoAngCyAMYAAQAAAAEAygAEAAAAAQDcAAEAAAABAO4AAQAAAAEA9AABAAAAAQDyAAEAAAABAPAAAQAAAAEBEgAEAAAAAQHAAAQAAAABAfQAAgIAAAsBdgAVABYAFAATABcAEwAUABUAFgAXAAMAAAAEAf4CBAH+Af4AAAABAAAACwADAAAAAwHoAe4B6AAAAAEAAAAMAAMAAAADAeAB2gHmAAAAAQAAAAsAAwAAAAMBzAHGAdgAAAABAAAACwADAAAAAwHKAbIBvgAAAAEAAAALAAIBvAAKAXcAlACNAI4BeAF5AXoBewF8AX0AAQGsAAEACAACAAYADAGbAAIATAGcAAIATwACAZgABACGAJUAhgCVAAEBegFrAAEBdAFrAAIBigASAOcA2wDcAO0A6gDsAOEA3QDfAOUA4ADkAOIA3gDjAOkA6ADrAAIBYAASAOcA2wDcAO0A6gDsAOEA3QDfAOUA4ADkAOIA3gDjAOkA6ADrAAIBXgATAIYA2wCVAJUA7QDqAOwA4QDdAN8A5QDgAOQA4gDeAOMA6QDoAOsAAQFcAAsAHAAiACgALgA0ADwAQgBIAE4AVABaAAIBdwF+AAIAlAF/AAIAjQGAAAIAjgGBAAMBeAGCAOcAAgF5AYMAAgF6AYQAAgF7AYUAAgF8AYYAAgF9AYcAAgCGANwAAQEMAAMADAAaADAAAQAEAGoABAF2ABMAEwACAAYADgCYAAMBdgAVAJcAAwF2ABcAAQAEAJkAAwF2ABcAAQAuAAEACAABAAQACAADAXYAEwABAAsAEgCNAI4AlAF3AXgBfgF/AYABgQGCAAEAAQATAAEAAQF2AAEAAQAUAAEAAQAXAAEAAQAVAAEAAQAWAAIAAQATABwAAAABAAEASQABAAQAJAAyAEQAUgABABIAFwAwAEQAdwCXAJkAuwC8AL0AvgC/AMAA7wDxAPMBeAGCAYoAAQATACQAMAAyAFIAdwCXAJkAuwC8AL0AvgC/AMAA7wDxAPMBeAGCAYoAAgACABMAHAAAAEQARAAKAAEAAwATABQAFgAAAQAEAgABAQENR3VpbGRmb3JkUHJvAAEBASn4EAD4wgH4wgwA+MMC+MMD+BUEX/vB+tn6jgUcEGwPHBHqEaccRnMSAKkCAAEABgAIAAwAEwAaACYAMgBDAFIAXgBrAHgAgwCPAJoApAC2AMgA2ADpAPwBCwESARkBHwElASwBMwE5AT8BSgFVAV8BaQFvAXUBewGBAYcBjQGUAZsBoQGnAbEBuwHCAckBzwHVAeAB6wHxAfcCAQILAhcCIwIuAjkCPQJBAkcCTQJUAlsCYQJnAm4CdQJ/AoECgwKOApkCpQKxAr0CwwLJAtUC4QLnAu0C8QL1AvsDAQMNAxkDHwMlAzADMwM2Az0DRANKA1ADXQNqA3ADdgOCA44DlAOaA6ADpgOxA7wDxAPMA9gD5APqA/AD9AP4A/4EBAQLBBIEGAQeBCMEKAQ1BEIESQRQBFsEZgRxBHwEggSIBJIEnAShBK0EuQTABMcEzgTTBNgE2gTjBOwE8wT+BQcFEgUZBSIFKQUwBTcFPwVHBVIFWgVjBW8FdgV9BcgF1S5udWxsQ1JFdXJvTS5hbHQwMWEuYWx0MDFhYWN1dGUuYWx0MDFhYnJldmUuYWx0MDFhY2lyY3VtZmxleC5hbHQwMWFkaWVyZXNpcy5hbHQwMWFncmF2ZS5hbHQwMWFtYWNyb24uYWx0MDFhb2dvbmVrLmFsdDAxYXJpbmcuYWx0MDFhdGlsZGUuYWx0MDFjb21tYWFjY2VudGZvdXIuYWx0MDFmb3VyaW5mZXJpb3IuYWx0MDFmb3Vyc3VwZXJpb3IuYWx0MDFvbmVxdWFydGVyLmFsdDAxc2VydmljZW1hcmsuYWx0MDF0aHJlZXF1YXJ0ZXJzLmFsdDAxdHJhZGVtYXJrLmFsdDAxQW1hY3JvbmFtYWNyb25BYnJldmVhYnJldmVBb2dvbmVrYW9nb25la0NhY3V0ZWNhY3V0ZUNjaXJjdW1mbGV4Y2NpcmN1bWZsZXhDZG90YWNjZW50Y2RvdGFjY2VudENjYXJvbmNjYXJvbkRjYXJvbmRjYXJvbkRjcm9hdGRjcm9hdEVtYWNyb25lbWFjcm9uRWJyZXZlZWJyZXZlRWRvdGFjY2VudGVkb3RhY2NlbnRFb2dvbmVrZW9nb25la0VjYXJvbmVjYXJvbkdjaXJjdW1mbGV4Z2NpcmN1bWZsZXhHYnJldmVnYnJldmVHZG90YWNjZW50Z2RvdGFjY2VudEdjb21tYWFjY2VudGdjb21tYWFjY2VudEhjaXJjdW1mbGV4aGNpcmN1bWZsZXhIYmFyaGJhckl0aWxkZWl0aWxkZUltYWNyb25pbWFjcm9uSWJyZXZlaWJyZXZlSW9nb25la2lvZ29uZWtJZG90YWNjZW50SUppakpjaXJjdW1mbGV4amNpcmN1bWZsZXhLY29tbWFhY2NlbnRrY29tbWFhY2NlbnRrZ3JlZW5sYW5kaWNMYWN1dGVsYWN1dGVMY29tbWFhY2NlbnRsY29tbWFhY2NlbnRMY2Fyb25sY2Fyb25MZG90bGRvdE5hY3V0ZW5hY3V0ZU5jb21tYWFjY2VudG5jb21tYWFjY2VudE5jYXJvbm5jYXJvbm5hcG9zdHJvcGhlRW5nZW5nT21hY3Jvbm9tYWNyb25PYnJldmVvYnJldmVPaHVuZ2FydW1sYXV0b2h1bmdhcnVtbGF1dFJhY3V0ZXJhY3V0ZVJjb21tYWFjY2VudHJjb21tYWFjY2VudFJjYXJvbnJjYXJvblNhY3V0ZXNhY3V0ZVNjaXJjdW1mbGV4c2NpcmN1bWZsZXhTY2VkaWxsYXNjZWRpbGxhVGNvbW1hYWNjZW50dGNvbW1hYWNjZW50VGNhcm9udGNhcm9uVGJhcnRiYXJVdGlsZGV1dGlsZGVVbWFjcm9udW1hY3JvblVicmV2ZXVicmV2ZVVyaW5ndXJpbmdVaHVuZ2FydW1sYXV0dWh1bmdhcnVtbGF1dFVvZ29uZWt1b2dvbmVrV2NpcmN1bWZsZXh3Y2lyY3VtZmxleFljaXJjdW1mbGV4eWNpcmN1bWZsZXhaYWN1dGV6YWN1dGVaZG90YWNjZW50emRvdGFjY2VudGxvbmdzU2NvbW1hYWNjZW50c2NvbW1hYWNjZW50dW5pMDIxQXVuaTAyMUJ1bmkwMkM5RGVsdGFPbWVnYXBpYWZpaTAwMjA4YWZpaTYxMzUydW5pMjExN3NlcnZpY2VtYXJrZXN0aW1hdGVkcGFydGlhbGRpZmZwcm9kdWN0c3VtbWF0aW9udW5pMjIxNXVuaTIyMTlyYWRpY2FsaW5maW5pdHlpbnRlZ3JhbGFwcHJveGVxdWFsbm90ZXF1YWxsZXNzZXF1YWxncmVhdGVyZXF1YWxsb3plbmdldW5pRjEwMkNvcHlyaWdodCAoYykgMjAxMSBieSBJbnRlcm5hdGlvbmFsIFR5cGVGb3VuZGVycywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLkd1aWxkZm9yZCBQcm8AsgIAAQAR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');
+}
+
+
diff --git a/app/static/css/style.scss b/app/static/css/style.scss
new file mode 100644
index 0000000..c041651
--- /dev/null
+++ b/app/static/css/style.scss
@@ -0,0 +1,692 @@
+.product-con .conter img {
+ width: 750rpx!important;
+ height: unset!important
+}
+
+.product-con .wrapper {
+ background-color: #fff;
+ padding: 30rpx 24rpx;
+ margin-top: 30rpx;
+}
+
+.product-con .wrapper .share {
+ // margin: 0 30rpx;
+ // padding-top: 25rpx
+}
+
+.product-con .wrapper .share .money {
+ font-size: 28rpx;
+ font-weight: 700
+}
+
+.product-con .wrapper .share .money .num {
+ font-size: 48rpx
+}
+
+.product-con .wrapper .share .money .vip-money {
+ color: #282828;
+ margin-left: 13rpx
+}
+
+.product-con .wrapper .share .money image {
+ width: 46rpx;
+ height: 21rpx;
+ margin-left: 7rpx
+}
+
+.product-con .wrapper .share .money .vip-money {
+ color: #282828;
+ margin-left: 13rpx
+}
+
+.product-con .wrapper .share .iconfont {
+ color: #999;
+ font-size: 36rpx;
+ margin-bottom: 10rpx
+}
+
+.product-con .wrapper .introduce {
+ font-size: 32rpx;
+ font-weight: 700;
+ margin: 16rpx 0 26rpx 0;
+}
+
+.product-con .wrapper .label {
+ // margin-bottom: 40rpx;
+ font-size: 24rpx;
+ color: #82848f;
+}
+
+.product-con .wrapper .coupon {
+ // height: 80rpx;
+ margin-top: 40rpx;
+ font-size: 26rpx;
+ color: #82848f
+}
+
+.product-con .wrapper .coupon .hide {
+ // width: 540rpx;
+ // height: 80rpx;
+ // line-height: 80rpx
+}
+
+.product-con .wrapper .coupon .activity {
+ // height: 40rpx;
+ padding: 0 20rpx;
+ border: 1rpx solid #E93323;
+ color: #E93323;
+ font-size: 24rpx;
+ // line-height: 40rpx;
+ position: relative;
+ margin-left: 4rpx;
+}
+
+.product-con .wrapper .coupon .activityBox {
+ margin-left: 4rpx;
+}
+
+.product-con .wrapper .coupon .activity:before {
+ content: ' ';
+ position: absolute;
+ width: 7rpx;
+ height: 10rpx;
+ border-radius: 0 7rpx 7rpx 0;
+ border: 1rpx solid #f2857b;
+ background-color: #fff;
+ bottom: 50%;
+ left: -3rpx;
+ margin-bottom: -6rpx;
+ border-left-color: #fff
+}
+
+.product-con .wrapper .coupon .activity:after {
+ content: ' ';
+ position: absolute;
+ width: 7rpx;
+ height: 10rpx;
+ border-radius: 7rpx 0 0 7rpx;
+ border: 1rpx solid #f2857b;
+ background-color: #fff;
+ right: -3rpx;
+ bottom: 50%;
+ margin-bottom: -6rpx;
+ border-right-color: #fff
+}
+
+.product-con .wrapper .coupon .iconfont {
+ color: #7a7a7a;
+ font-size: 24rpx
+}
+
+.product-con .attribute {
+ background-color: #fff;
+ padding: 0 24rpx;
+ font-size: 26rpx;
+ color: #82848f;
+ height: 80rpx
+}
+
+.product-con .attribute .atterTxt {
+ font-size: 28rpx;
+ color: #282828;
+ margin-left: 4rpx;
+}
+
+.product-con .attribute .iconfont {
+ font-size: 24rpx;
+ color: #7a7a7a
+}
+
+.product-con .userEvaluation {
+ // padding: 0 30rpx;
+}
+
+.product-con .userEvaluation i{
+ font-style: normal;
+ margin-left: 8rpx;
+ font-size: 24rpx;
+ color: #999999;
+}
+
+.product-con .userEvaluation .title {
+ height: 86rpx;
+ background-color: #fff;
+ font-size: 28rpx;
+ color: #282828;
+ padding: 0 24rpx;
+ border-top-left-radius: 14rpx;
+ border-top-right-radius: 14rpx;
+}
+
+.product-con .userEvaluation .title .praise {
+ font-size: 28rpx;
+ color: grey
+}
+
+.product-con .userEvaluation .title .praise .iconfont {
+ color: #7a7a7a;
+ font-size: 24rpx;
+ vertical-align: 1rpx;
+ margin-left: 8rpx
+}
+
+.product-con .product-intro {
+ position: relative;
+ // margin-top: 20rpx;
+ width: 100%;
+ overflow: hidden;
+}
+.product-con .product-intro image {
+ width: 20rpx;
+ height: 20rpx;
+}
+.product-con .product-intro .title {
+ font-size: 30rpx;
+ color: #282828;
+ height: 102rpx;
+ width: 100%;
+ text-align: center;
+ line-height: 102rpx
+}
+.product-con .product-intro .title .sp{
+ margin: 0 14rpx;
+}
+
+.product-con .product-intro .conter {
+ width: 100%;
+ word-wrap: break-word;
+}
+
+.product-con .product-intro .conter image {
+ width: 100%!important;
+ display: block!important
+}
+
+.goodsStyle {
+ margin-top: 20rpx;
+ background-color: #fff;
+ padding: 25rpx 24rpx;
+}
+
+.goodsStyle .pictrue {
+ width: 120rpx;
+ height: 120rpx
+}
+
+.goodsStyle .pictrue image {
+ width: 100%;
+ height: 100%;
+ border-radius: 6rpx
+}
+
+.goodsStyle .text {
+ width: 500rpx;
+ font-size: 28rpx;
+ color: #333333
+}
+
+.goodsStyle .text .name, .attr {
+ width: 360rpx;
+ color: #282828;
+ height: 2;
+}
+
+.goodsStyle .text .money {
+ text-align: right;
+ color: #999999;
+ font-size: 28rpx;
+}
+
+.goodsStyle .text .money .num {
+ margin-top: 7rpx
+}
+
+.goodWrapper .item {
+ // padding: 0 24rpx;
+ border-bottom: 2rpx solid #f0f0f0;
+ height: 180rpx
+}
+
+.goodWrapper .item .pictrue {
+ width: 130rpx;
+ height: 130rpx
+}
+
+.goodWrapper .item .pictrue image {
+ width: 100%;
+ height: 100%;
+ border-radius: 14rpx
+}
+
+.goodWrapper .item .text {
+ width: 490rpx;
+ position: relative
+}
+
+.goodWrapper .item .text .name {
+ font-size: 28rpx;
+ color: #282828;
+ width: 445rpx;
+}
+
+.goodWrapper .item .text .num {
+ font-size: 26rpx;
+ color: #868686
+}
+
+.goodWrapper .item .text .attr {
+ font-size: 20rpx;
+ color: #868686;
+ margin-top: 7rpx
+}
+
+.goodWrapper .item .text .money {
+ font-size: 26rpx;
+ margin-top: 17rpx
+}
+
+.goodWrapper .item .text .evaluate {
+ position: absolute;
+ width: 114rpx;
+ height: 46rpx;
+ border: 1rpx solid #bbb;
+ border-radius: 4rpx;
+ text-align: center;
+ line-height: 46rpx;
+ right: 0;
+ bottom: -5rpx
+}
+
+.goodWrapper .item .text .evaluate.userEvaluated {
+ font-size: 26rpx;
+ color: #aaa;
+ background-color: #f7f7f7;
+ border-color: #f7f7f7
+}
+
+.promoterHeader {
+ width: 100%;
+ height: 220rpx
+}
+
+.promoterHeader .headerCon{width:100%;height:100%;padding:58rpx 60rpx 0 60rpx;box-sizing:border-box;font-size:28rpx;color:#fff;background-image:url('data:image/png;base64,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');background-repeat:no-repeat;background-size:100% 100%;}
+.promoterHeader .headerCon .name{margin-bottom:10rpx;}
+.promoterHeader .headerCon .num{font-size:50rpx;}
+.promoterHeader .headerCon .iconfont{font-size:125rpx;}
+.sign-record .list .item .data{height:80rpx;line-height:80rpx;font-size:24rpx;color:#666;}
+.sign-record .list .item .listn{ font-size:24rpx;color:#999;background-color: #fff;}
+.sign-record .list .item .listn .itemn{height: 120rpx;
+ border-bottom: 1rpx solid #eee;
+ padding: 0 24rpx;}
+.sign-record .list .item .listn .itemn .name{width:390rpx;font-size:28rpx;color:#282828;margin-bottom:10rpx;}
+.sign-record .list .item .listn .itemn .num{font-size:36rpx;font-family: 'Guildford Pro';color:#16ac57;}
+.coupon-list{padding:0 30rpx;margin-top:25rpx;}
+.coupon-list .item{width:100%;height:170rpx;margin-bottom:16rpx;}
+.coupon-list .item .money{background-image:url('data:image/png;base64,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');background-repeat:no-repeat;background-size:100% 100%;width:240rpx;height:100%;color:#fff;font-size:36rpx;font-weight:bold;text-align:center;display: flex;flex-direction: column;align-items: center;justify-content: center;}
+.coupon-list .item .money.moneyGray{background-image:url('data:image/png;base64,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');}
+.coupon-list .item .money .num{font-size:60rpx;}
+.coupon-list .item .text{width:450rpx;padding:0 17rpx 0 24rpx;box-sizing:border-box;background-color:#fff;}
+.coupon-list .item .text .condition{font-size:26rpx;color:#282828;height:93rpx;padding-top: 18rpx;}
+.coupon-list .item .text .data{font-size:20rpx;color:#999;height:76rpx;}
+.coupon-list .item .text .data .bnt{width:136rpx;height:44rpx;border-radius:22rpx;font-size:22rpx;text-align:center;line-height:44rpx;color:#fff;}
+.coupon-list .item .text .data .bnt.gray{background-color:#ccc;}
+
+.noCommodity {
+ //border-top: 7rpx solid #f5f5f5
+}
+
+.noCommodity .pictrue {
+ width: 414rpx;
+ height: 336rpx;
+ margin: 30rpx auto 30rpx auto
+}
+
+.noCommodity .pictrue image {
+ width: 100%;
+ height: 100%
+}// 登录、注册、忘记密码
+.register {
+ background-image: linear-gradient(to bottom,#eb5447 0,#ff8e3b 100%);
+ width: 100%;
+ height: 100vh
+}
+
+.register .shading {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAEeCAYAAADVZ5BOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQyIDc5LjE2MDkyNCwgMjAxNy8wNy8xMy0wMTowNjozOSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozZDUwNjlmMy05NjI1LTRhZTItYjMwNC0yZDQ0ZTM3ZDFjNjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkQ4NDRBMEE3NzgzMTFFOTlDMEJDQjlDOUY3MzNFNTgiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkQ4NDRBMDk3NzgzMTFFOTlDMEJDQjlDOUY3MzNFNTgiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MGIwNDc3MTAtZDZhYS00MzkzLWFhYTAtYzY5MTFmMmQ1ZmViIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MTE1Yjg3ZjYtMjVmOS0xNjRkLWI1Mzgt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");
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ width: 100%;
+ height: 286rpx;
+ padding-top: 70rpx;
+ }
+
+.register .shading .pictrue {
+ width: 172rpx;
+ height: 172rpx;
+ border-radius: 50%;
+ background-color: rgba(255,255,255,.8);
+ margin: 0 auto
+}
+
+.register .shading .pictrue image {
+ width: 164rpx;
+ height: 164rpx;
+ border-radius: 50%;
+ display: block
+}
+
+.register .whiteBg {
+ width: 620rpx;
+ border-radius: 16rpx;
+ background-color: #fff;
+ margin: 30rpx auto 0 auto;
+ padding: 45rpx 30rpx 0 30rpx
+}
+
+.register .whiteBg .title {
+ font-size: 36rpx;
+ color: #282828;
+ text-align: center;
+ font-weight: 700
+}
+
+.register .whiteBg .title .item~.item {
+ margin-left: 85rpx
+}
+
+.register .whiteBg .title .item {
+ color: #999;
+ border-bottom: 5rpx solid #fff;
+ padding-bottom: 10rpx
+}
+
+.register .whiteBg .title .item.on {
+ color: #282828;
+ border-bottom-color: #f35749
+}
+
+.register .whiteBg .list .item {
+
+ border-bottom: 1rpx solid #ededed;
+ padding: 47rpx 0 13rpx 0;
+ position: relative;
+ width:100%;
+ box-sizing: border-box;
+}
+
+.register .whiteBg .list .item .name {
+ font-size: 26rpx;
+ color: #2d3342;
+ margin-bottom: 27rpx;
+ text-align: left
+}
+
+.register .whiteBg .list .item image {
+ width: 40rpx;
+ height: 40rpx;
+ display: block
+}
+
+.register .whiteBg .list .item input {
+ font-size: 32rpx;
+ flex: 1;
+ margin-left: 20rpx
+}
+
+.register .whiteBg .list .item .placeholder {
+ color: #ccc
+}
+
+.register .whiteBg .list .item .codeIput {
+ width: 250rpx;
+ margin-left: 20rpx
+}
+
+.register .whiteBg .list .item .code {
+ position: absolute;
+ width: 150rpx;
+ height: 50rpx;
+ background-color: #f35446;
+ border-radius: 30rpx;
+ color: #fff;
+ line-height: 50rpx;
+ text-align: center;
+ bottom: 17rpx;
+ right: 0;
+ font-size: 25rpx
+}
+
+.register .whiteBg .list .item .code.on {
+ background-color: #bbb
+}
+
+.register .whiteBg .list .forgetPwd {
+ text-align: right;
+ font-size: 28rpx;
+ color: #666;
+ margin-top: 20rpx
+}
+
+.register .whiteBg .list .forgetPwd .iconfont {
+ font-size: 30rpx;
+ margin-right: 10rpx;
+ vertical-align: middle
+}
+
+.register .whiteBg .logon {
+ font-size: 34rpx;
+ color: #fff;
+ font-weight: 700;
+ height: 86rpx;
+ border-radius: 43rpx;
+ background: linear-gradient(to right,#f35447 0,#ff8e3c 100%);
+ text-align: center;
+ line-height: 86rpx;
+ margin-top: 47rpx
+}
+
+.register .whiteBg .tip {
+ height: 110rpx;
+ text-align: center;
+ line-height: 105rpx;
+ font-size: 30rpx;
+ color: #ccc
+}
+
+.register .bottom {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAApQAAAAkCAYAAAA3mqpgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHDmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozZDUwNjlmMy05NjI1LTRhZTItYjMwNC0yZDQ0ZTM3ZDFjNjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REE5RjQyRjk3NzgzMTFFOTg0Q0Q5ODE4RDgwOTI2MTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Nzc0OWQzMmItNmYzYS00Yzg3LWJhMDUtN2VjNWZhNTUxMzUzIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE5IChNYWNpbnRvc2gpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxOS0wOS0yNlQxNjo0MjowNCswODowMCIgeG1wOk1vZGlmeURhdGU9IjIwMTktMDktMjZUMTY6NTE6MzArMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTktMDktMjZUMTY6NTE6MzArMDg6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowYjA0NzcxMC1kNmFhLTQzOTMtYWFhMC1jNjkxMWYyZDVmZWIiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxMTViODdmNi0yNWY5LTE2NGQtYjUzOC02YzViOTc2NzVjOTkiLz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Nzc0OWQzMmItNmYzYS00Yzg3LWJhMDUtN2VjNWZhNTUxMzUzIiBzdEV2dDp3aGVuPSIyMDE5LTA5LTI2VDE2OjUxOjMwKzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDc2MjMyOThCRjE4MjVGODcxNjcyODg4Mzk2M0VGQkM8L3JkZjpsaT4gPHJkZjpsaT5FMzYyMjRBRjBFMDAyNzI2RThGQzJFRDUxQzZGRDdBRjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxMTViODdmNi0yNWY5LTE2NGQtYjUzOC02YzViOTc2NzVjOTk8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz47UTtEAAADMklEQVR4nO3dv2+NURzH8Xf9ih+V0NFAIhKLxCIsJpPZSCLCYrHyN/gPMBF0EZ0xlgja0dCm2kGjE60o2quXx3DcBE3p7XPOc25P368/4Hu+yR3OJ/c853z7qqoistvAkdhFJUmSFMVr4ELMgptiFvtlIkFNSZIkxRE9q6UIlCMJakqSJCmO6FktRaB8BiwkqCtJkqR6FglZLaoUgfIr8CRBXUmSJNXzmJDVokoRKCFczGknqi1JkqTutYE7KQqnCpTTwGCi2pIkSereIPA2ReFUgRLgJt74liRJ6gUTwK1UxVMGyhZwFZhLuIYkSZL+bY6QyRZTLZAyUEI4+r4CzCZeR5IkScvNErLYdMpFUgdKgDHgEh5/S5IkNWmCkMHGUi/Ul2D04kq2AZeBs8CWphaVJEnaYNqECzg3gG9NLNhkoOzYD5wHTgPbm15ckiSpUC3gEeFpoCS3uVeSI1B27AROAseAw8A+YDf+eylJkvQ/bWAemAHGgVHCBJzoj5avRs5AGdt1YE/uJiRJklbpI3AtdxMxNHEppykzuRuQJEnqwrvcDcRSUqBMfoNJkiQpovHcDcRSUqAcBYo5v5ckSUWrCNmlCCUFyg8U9MNIkqSijRKySxFKCpQAQ4Qr85IkSb2qRcgsxSgtUM4Cd/HoW5Ik9aaKkFWKGktdWqAEGAEeYKiUJEm9pQIeErJKUUp6h/JvR4GLOI1HkiTl1wLuAa9yN5JCyYESYAA4Q5jG05e5F0mStPF0bnMPUdgx9+9KD5QdA8Bx/hzxuDlrR5IkqUTfWT4S8X3WjhqwUQJlSueAXbmbkCRJa/YFuJ+7ifWsxEs5TZvL3YAkSarFvbwmA2V9zhCXJGl9cy+vyUBZ3yQ+USRJ0npVEfZy1WCgrG8emMrdhCRJWpMpwl6uGgyUcbwElnI3IUmSurJE2MNVk4Eyjs/AcO4mJElSV4YJe7hqMlDGMwk8x+8pJUlaD17gt5PR+A5lfAeAU8DW3I1IkqRlloCnwJvcjZTEQJlGP3ACOIgjHyVJ6gUV4QLOSzzmjs5AmVY/cIgw7nEvsAM/M5AkqQk/gAXCo+UzhDD5KWtHBfsJqQ6h7m5gtScAAAAASUVORK5CYII=");
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ width: 620rpx;
+ height: 36rpx;
+ margin: 0 auto;
+ }// 首页修改轮播内部样式;
+.index-bg .uni-swiper-dot {
+ width: 20rpx!important;
+ height: 5rpx!important;
+ border-radius: 3rpx
+}
+
+.boutique .uni-swiper-dot {
+ width: 7rpx!important;
+ height: 7rpx!important;
+ border-radius: 50%
+}
+
+.boutique .uni-swiper-dot-active {
+ width: 20rpx!important;
+ border-radius: 5rpx!important
+}
+
+
+.statistical-page .mc-body {
+ padding-bottom: 0
+}
+
+.statistical-page .mpvue-calendar {
+ min-width: 100%
+}
+
+.statistical-page .mpvue-calendar table {
+ margin: 0
+}
+
+.statistical-page .mpvue-calendar td {
+ border-right: 1px solid #fff;
+ padding: 0;
+ width: 14%!important
+}
+
+.statistical-page .calendar-tools {
+ box-shadow: unset;
+ -webkit-box-shadow: unset;
+ -o-box-shadow: unset;
+ -moz-box-shadow: unset
+}
+
+.statistical-page .mc-head-box div {
+ font-size: 14px
+}
+
+.statistical-page .mpvue-calendar td:not(.disabled) span.mc-date-red {
+ color: unset
+}
+
+.statistical-page .mpvue-calendar .mc-range-mode .mc-range-begin span.calendar-date,.statistical-page .mpvue-calendar .mc-range-mode .mc-range-end span.calendar-date {
+ border-radius: 0;
+ background-color: #2291f8!important
+}
+
+.statistical-page .mpvue-calendar td.selected span.mc-date-red {
+ color: #fff
+}
+
+.statistical-page .mc-range-mode .selected .mc-range-bg {
+ background-color: #a0dcf9
+}
+
+.statistical-page .mpvue-calendar .mc-range-mode .mc-range-row-first .calendar-date,.statistical-page .mpvue-calendar .mc-range-mode .mc-range-row-last .calendar-date {
+ background-color: #a0dcf9
+}
+
+.statistical-page .mpvue-calendar .mc-range-mode .selected.mc-range-second-to-last span {
+ background-color: #a0dcf9
+}
+
+.statistical-page .mpvue-calendar .mc-range-mode .mc-range-month-first.selected .calendar-date,.statistical-page .mpvue-calendar .mc-range-mode .mc-range-month-last.selected .calendar-date {
+ background-color: #a0dcf9
+}
+
+.statistical-page .mc-today-element .calendar-date {
+ border-radius: 0;
+ background-color: unset
+}
+
+.new-users .uni-swiper-dot {
+ width: 8px;
+ height: 4px;
+ background: rgba(0,0,0,.15);
+ border-radius: 2px
+}
+
+.new-users .uni-swiper-dot-active {
+ width: 16px;
+ height: 4px;
+ background: rgba(233,51,35,1)!important;
+ border-radius: 2px
+}
+
+.pictrue_log {
+ width: 80rpx;
+ height: 40rpx;
+ border-radius: 10rpx 0 10rpx 0;
+ line-height: 40rpx;
+ font-size: 24rpx
+}
+
+.pictrue_log_class {
+ background: -webkit-gradient(linear,left top,right top,from(rgba(246,122,56,1)),to(rgba(241,27,9,1)));
+ background: linear-gradient(90deg,rgba(246,122,56,1) 0,rgba(241,27,9,1) 100%);
+ opacity: 1;
+ position: absolute;
+ top: 0;
+ left: 0;
+ color: #fff;
+ text-align: center;
+ z-index: 3
+}
+
+.pictrue_log_medium {
+ width: 80rpx;
+ height: 44rpx;
+ border-radius: 20rpx 0 20rpx 0;
+ line-height: 44rpx;
+ text-align: center;
+ font-size: 26rpx
+}
+
+.pictrue_log_big {
+ width: 100rpx;
+ height: 46rpx;
+ line-height: 46rpx;
+ border-radius: 20rpx 0 20rpx 0;
+ font-size: 28rpx
+}
+
+.spike-box .styleAll {
+ background-color: #ffdfdd;
+ color: #E93323;
+ padding: 0 5rpx
+}
+
+.product-con .nav .time .timeTxt {
+ color: #fff
+}
+
+.bg-color-hui {
+ background: #bbb!important
+}
+
+.page_content .swiper .uni-swiper-dot {
+ width: 20rpx!important;
+ height: 5rpx!important;
+ border-radius: 3rpx;
+ background: rgba(0,0,0,.4)!important
+}
+
+.page_content .swiper .uni-swiper-dot-active {
+ width: 20rpx!important;
+ border-radius: 5rpx!important;
+ background: #fff!important
+}
+
+.pictrue_log_xl {
+ background: linear-gradient(90deg,rgba(246,122,56,1) 0,rgba(241,27,9,1) 100%)
+}
+
+.pictrue_log_xl_gray {
+ background: linear-gradient(90deg,rgba(102,102,102,1) 0,rgba(153,153,153,1) 100%)
+}
+
+.pictrue_log_xl_blue {
+ background: linear-gradient(90deg,rgba(26,163,246,1) 0,rgba(24,192,244,1) 100%)
+}
+
+.flex-aj-center {
+ display: flex;
+ align-items: center;
+ justify-content: center
+}
+.page-index.bgf .noCommodity{
+ border-top: 0;
+}
+
+.product-con .red{
+ color: #82848f!important;
+ }
+uni-checkbox:not([disabled]) .uni-checkbox-input:hover{
+ border-color: #d1d1d1;
+}
+.bg-green{
+ background-color: #3CBB45;
+}
\ No newline at end of file
diff --git a/app/static/html/pc.html b/app/static/html/pc.html
new file mode 100644
index 0000000..c272993
--- /dev/null
+++ b/app/static/html/pc.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+ CRMEB
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/static/iconfont/iconfont-app.css b/app/static/iconfont/iconfont-app.css
new file mode 100644
index 0000000..19fefec
--- /dev/null
+++ b/app/static/iconfont/iconfont-app.css
@@ -0,0 +1,1540 @@
+@font-face {font-family: "iconfont";
+ src: url('//at.alicdn.com/t/font_993865_1ytjet2daic.eot?t=1611564722576'); /* IE9 */
+ src: url('//at.alicdn.com/t/font_993865_1ytjet2daic.eot?t=1611564722576#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAMEcAAsAAAABfOgAAMDIAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCuaAqFjSCEghgBNgIkA4tcC4VwAAQgBYRtB6NQW6ozcaTY+ZcaTHcCqbx++9a9ZIHcPEvuVkKXVUas6kAMzgMRRNkPS/b//39+UpHhmjLSdh2HcYBzvV5VIRWKOUTFhGwyicNtRhObuVhfIYbdsd+k0hjpq5HgK25IJFAh7BJCQgxchdxuZnQJp1ItfOIREmso58MdrsnJdlU5AuwQigVu27Oma7uflCr9Ix7Fqs5Uqff9CmXTqR9UOYDlfPAnR9exIcu98HnBF7KUScUz1WQA4ZsGDiQhoZHCMttoGzH5Xrqfmsniiolr5Gh+9Ha0/fcPc3xV5ZIJ71n+9Vq+DXAqsyyqvdS7cCRLKMd2lGho6ehxnzwPv9//Wufd+02lowlPNCqJjIdCIjVCxWfA00hIs0csITo8P7fe/38ZDEZvo3qjYiyIHLCNbok0iRomglIWYALqYRSggpGgWIGCeXonYiVXawu9EDJDEvO7fRfELTH8qNMvXu21vaDjEDYFu5jcT5GfJCflNGX04qzOMN52fzvA6QOwZPEE3Lt3nieeeYCxBNYXawD90bpmAQTEeQMEGKUlAMaR1/JXQ7PQ7C7EBQBPr4v2tvPb2yyOBH8aqzEI6TEWPb5vruq5oziR/OXIDnBVNQwgHmeXr3i5LvQ846Dm92WJgPxIZHviHtT2eOQ70Fx+WvOCcokKWBsNBr53UMyJ1+eJaIyudCltxZgZgwk5Zt5MyEJifXodXf08PMTNf03iLE4ogS7iQUVzYH+s+f+/0yq9mVl6muELgsCCbDlJd6GrU0Occ7LLglBBeHfTxPqRfu1foVWpNNhc0FjQABiwatPZco2nGiIQPqNuEu6vqNj00uX7SQySuEyOsyk8Ewk789tfdK/omAVkaTHetR/sGJjvm+r/zK6VnDOzK9nnCUoY7EVIfJGSDMhSQOK2DrR1G9qf3d+ZXxIYAgJDoGA7QGUQPKDNqT0OQQYoC/Z4y3/xeC4pQx6cF/KIg5jv3fwezv4lvyNIZaV6u6LdfSJefaK2Br/hdyRSuQIhmdSMEqCql5nMU/H71so9u2vUEQUYq7oDaNED2pkXISMd0IdDAGtNkuqUqJFDGdiY7nMQ8wzgYOQ2Aga2G3tHYmxdyfnw1CYgBP7eVK3dZbABR9CR50q+MWcoV7kPsbyivKZI7y1A7v+AIO2CEo0FZR0ASj6AdNgFHBbgjQ3JIdGZ9oUYy/9BybMr6Ty7pAPguKAugJYKwJG8EHOVQxlDddfUV3RXOeS6vPKq1kXRHj3FPeM8DPTbGmQedfPkZiIMyMJEMJAsDur3G2VDretgGZbfBHnIwXWT8UIs9/eami0o2Xsf3SbVdffXUdSp0lT87wOk//8ApA+Qsj9ASQtSsg1R8hqgZC9AaZf0chNQkrNSTntzX3tcuQXoWJP2JqakPa6rTHfe3U7apGhSlCk3ZZcu8f9/LbVEilzUyAAJHyEjTISLHPgzCzcvRHd/iN5ZtYlCFGY2KnGoIlRRgattZY1uHatCDDGVg6jdfkCAHcfZc8iceYhjw4PuKEgkHCFkM9r+OmJbaV8moUiVxLI5W/D3x9j8/y5f5d9bG71IJ04QkDsQe2TO5xLpskOaYMAXlDCW2rq6caD7T9/5luXJPW/1SodgROoa1QghvJ7jd/8LsrlmtgWjSRDUy79fMgXtpm0qJ5dVpFUtuqiCcuWt9VqJPnXBMYtWRXPOWuvlLdBaG3eWyt3ze7/8tR8cDU2V6FJduJzc5Ohv4K8LzCau2qMRT8N8bVTYRE3T7dzB+qrqSjfPkfa8t466PoULjmrSe7t299mrNx99gsLkUYnp2XmLWj6L/9cmVW19+/5vMG/Mu0iVrlkgkqo0JpYe/11Y6JWbNjs00XNuv4UsYpFi8sa5HU01D7nr26XiC3caLKx/d6KRAQwXVnf7OhCL++c+2tGe6ph4aeMrHRO9Fsmup3r7uNv7ffgvm+mz/oa0FE0Yuzh/VofaCxf4P04Z0bNpea8m2XHZBX75V/v12sqfX32C6j5A0Avo5WXLp7YbnVsnwSuoMKp5pt9eg7fgHXgEHoMn4Cl4CO6Ca26B2+Dq786dPi7dmcedctp5l538Z1cecchhlxyx33vIz9oJu+x2wB577fPTDjtts90mm22x1UYbPi9QgPXWfs46q62xyhtw3EorPAfL77fM0rSfJbdYZLG55sdZWfAB5yw0zxyzTTPdDDPNMtUkk00xbMK4UWPNjBgwaEi/Y2rU6tOrR6ZuXTp0atemQaOmmh01a9GqTr1qJYqcVaxUrjLlKtpUV5miSp58BQrlLJE9RlbwRTOryZAuSbIUqdIkiJco2HUQKsxXEC4iaSKFiBItRqw4QabZto24dus8OZdO7QtatGzUuEHDevWzrFqzYtmSOfMWLJoxa9pUeIaNGDVmyGDwBvTp16tLtx6tOrVp0a5DKVWpSxN+X0OlLlM+ff7y9eOHd7+C/38Cb8Eb8Bq8Ai/BC/AcPAM/gqfgIXgEBVLds7Nj064tkyaMa5YKbX0WrBd7FxWnHSjt07dHovzBYwNd9ZmJmf83FiFo8JChZeTGnQdPyksI6x6HfRFS/O+DNxDMSR7RcwEAir6mT1mOICFFCJEEhEksIqQYUYSPaJKFGOKAWKKNOFKIeFKABPifRJKHJJKCZBKBFOKJVGKKNCJHOvFCBjFBJmGjGsEhi+SjOgFQA34hG/5DTYJFLfgLtUkG6hAr1IV/UI8wUB++AHJIJnLhEyCPQGgArwANSSkakTI0JuVoQlLRlNihGYlGc8JFC6KDloSAVvAG0JokoQ2JQtvJNjsgTOTD3yiAt4D28B7QAT4AOsITQCd4CugMzwBd4DmgKzwGdINHgO5wGz3gPqAnPAD0glsoJLboTXJRRNJRTOJQQugohYvoQxahL5xHP7iA/nAFA+AGBsI5DJp8VjDATQwhiRgKx1EGJzAMrmM4nMQIOIJy+AioIGRUEg2MhLMYBfsxGg5gDBzFWDiIcXAI4+EwJsCfmAh7MQn2YTLsxhTYg6mwHdNgB6bDTsyAXZgJ2zALtmL2kRyECpgLxTEPtmA+bMJFJBsLYDMWwgYsgo1YDOuxBN4BlsIZLIN1WA5rsQJeAlbCGlxMwnEJrMalsAqXEQUuJ364AlZiFcFgNSzHGliBtbAY62AJ1hMiNhASNsJSbCJaqILL2HywDAdoFcAiXA0LcQ3MwbUwF9fBPGyB+bgeFmArzMY2mIEbYCZuhFnYDpOwA6ZjJ0zDLpiC3TAVNxEz3AyTcQuMx60wAbfBROyBcdgLp7EPeuN26IM7YCzuhDG4C0bjbmiBe2AU9sNIHIDhOAgjcC8Mw30wFPdDf/wHBuAQDMQDRBMPEkc8BIPwMAzGIzAEj0JfPAb98Dj0whPQGYehI44M7I0CdMKT0AVPQRs8DV1xDLrhOHTHM8QGzxJ1PAc98Dyh4AXoiRehLV6CdngZ2uMV6IBXoTVOkBKchFZ4jcTgdWiJUzc7dwNu924CUcNb0BxvQzO8Aw3xLjTCe9AY70MTfABN8SHUx0dQDx9DA5yGSvgE7gA+hSo4A1VxFn4CPoNq+Byq4wuShi+hBr6CyvgaauK/UAvfQG18C3XwP6iL/0NFfAelcQ5K4HviivPEDT8QZ/xIkvETccHPxAm/TPj0FYgAv02g70As8Qcxwp/EGH8RA/xNDPEP0cO/RB8HywXKEAFYJRDWCIwVgtzBIyjAEkFjjmAwT7BYIDgsEjxmCAGzhIhpQsIUIU/BiwIYJlSMEBpGCR1jhIEhwjwMEkobYY2i1GGwpwEDYsPgkSagi2ihm2gPkdIBtBJddBI9tBF9tBAO2gkXHYSHQgwoFTGk1MSI0kRMxz0zQIOYoyIWqIklZYrY4ZPw8VkE+CL2+CoO+Cgu+CBueCee+BWIF/4XIX4C4oO3QPzwBog/XgMJwCsggXgJJAgvgITgOZBQPAMiw49AwvAUSAQeApHjEZBIyiyJovSQRNwDScYeScEOScUmScMuSccWycYkycUEycM4WYRm0kK5RGZOzg5w1zfWkAMbIeTCxhtqYCOCWtiIoR42NGgHGwm0h40U+sLGB/rBxhf6A/HgoW4iIROw8TSwpxYJQG0SiLo4UA8j6mNCA8xoiL9G+KIpFrQiQWhDgtGBhKAjEoqOiQyd4IoucEOXuKNrPNANnugWRXd4oXsShh6IOz0SJXoiMD3jjV5ICnrFEb3hhN5xRh+4oO93DK88BMs10L/l0Rv80ehSH7wiSSQMsRTnlCbvTWAxzbZRQDzG4CFqpi0UbFu2YqvPCuuRQnaTHGk2GyUFBmeYm8INgFMIru8wGpAQ7gJsc3ZYRUCuQS4c23KAD17yLCFCXDKQXRFLOeyjRVSy2TwVyu837/BKcLdbu7VgtcYyz/UoAAMhdN6hUZfACquPiMtsMobAThaOi/G2/HTKoROtTxiyMwG5BNxp4SxpJjHa8tTofLsljO38Fp0AC1gNzoj2oT/Hhi+1mQNYRm+TyPxVfojEWdRCt+yO9g9R3IoF+TejMZC2RQBGYDJgEGemrKgCCyszRr15cDNFXRWDF9Upy+mdmmG+NWeJUWbf2wfDxVgUj9YGiN95pc+kOAC7FKgOgFnMZd9iBnqzhLIkLzgtwHwt7hTGptmvMQIl18Qc1ecY66pagzF9Tmug4tpJLiCrU4BuuXqLRPBUbgvP1Zghcr5MZgtdpLrR9w+ptB23k/uuH+9qcjEiBK3B3LsHgIP+sicSmty9aJt+jLl9WkQT8J6oURTSNk7H284htlpufK1qioF536XvJFYUEiXgGIZVsWKaUO3bik8OkTPzjahPovlkaXijV0airjQ2+Uh1NLI6xGMLTDKZyjZNP3dNH6si70uEAGJ2rXHpmnpPBVFZeSolV5PFIU5uupuxWaq6vulf7MAddwcUpGpsz05K5zHGNBONclt3QjSECse0G9GxnYHQtX3vAC42wo2r+ez/2U1nZ+XT6M4oTiWaofOK6XNVlzEoHw8Md38YGZA3LOxSyvnGrV10eR3cmiGQIl3EtIEBFvftpL4JHSxLsBAcEExE11AJdKPTncffqMCQh27IdzeHIdsPAQEf/qzRL0qkoZbNG1E2xRPoExy3mPm8PljvS73LNA16GHMg8p5qZTHefLjVd+WVrw259NOzZbkOJIsRTbbD1Qj3J2MbdZXkcKhep+mcSbvHmMC2HE4jXuN0npgcnCLjkhsQT7uvKACZZA3oHjMohjh3Cf36OHAdyiLm32wyEYhFZ4tMkKcivYNNygKKsTi7dvko3BA80TZ+itXZOqeOndY46ISUgXQlZ2womSrAU1V5PzHva1eWIzGB+g6mYRxUwiulTT9ZJKIaV1nHDFT6fHQvRo/ET9tvyiCexDG1xI9Oh1uvgQ8MPro4P6wUQBlKBBEvOmQS6UvTsjSL5BZmGs3I8eD++gjxPHe0K4I2qkADSL72yjWNWWieZpXLJ02EBuAK4AP5WuacJ0AmOV5L5hY3Z6bpphoC2vgsjCs9ILUvcB9ybnHWnje7xMu3SN6bZS8f5hrRrS0gjq9H9ce/me9Svhd3f6Kaxg/NlFXmdi1+9ufdPCfOwbz1fcHOOBlRTsltzgGQASJMK92TyMg8Yl/n3yx0RhSaeOpXeL8eyqT0lOg8Pbge/KVfs3muJofW6j7qXMODrtzUPWEOcgqBnDii6UKyOGyJixOfW6MNmusD1rKsw+jb2ugQRXz5Ky5TjCKIDdh3RUFFWTRpHVS/vfc3Y2R1T0xy/YPT24fupkVdDBVVAoHqG2Z6sS0cHT/P1a93/3vEPChEDYoHDMzG/NQ5ikU4CPN6Vuwme9cmMI8i6bpB7sQ/UdTymEoX+jAMe2i566AsPfsje/wzt6R7riTtmzLSa4t3kRkQXb7Vrp13bJzKtW3n3tn7scpr2r9+8vQfWZ6nA+G3ylGvUygJnMOXsAerI2FjDABhdkgkP0Y1NdgXvqVVfDm8vN/utkQ7ciXcYdAUQ04S5dj8o16m1TW24a3f+CYWbjX/WluJLT6E0JbIuKWKJV0Jg5duDC/vjVTZCJQxkrBrRyjhD05zd3NapDJjY7fCpqnVZCfmvTInG7rTiC2v1zTcdkste+8i4JxXg/4HDrsXkoo8ffQ/Ra8Ho9U3PyXUawE+HGlRCAGjqDlAoIKgaf8r0NhkJPjo+Eo2RXJ9U76kIWB207F4rT9DvaWRVjrqfhATM+N+fGI1l+aNUdoxxLBBUI9SteYvDyRZ1+SXxlVq5c3O+8PfeCIIB+hb3hqustZZLN45cZFLKlm98xKWdbO+pqGCagbz7YmnqSb3IZH4WQRG+iwJS+WBMGyOhPZ8oxUYzCBtt4ii4TqCRjT6CkhhCxWDGp4obCOGWEbl0MnpShkRMxaQRpZqE2vO1iXGZ33gFWVkwki8BCoDmuH3iVvZ6GugEd63OowAnojHMETr8fjEfKOSkFVes434qW95xktPBaBD1+9Hw+o9GKJ+tdWsIjcNxnuxNhE21ITKVwEL8VhiIhyHGDQGlvt6zSVKUIIbsRGOwKxo7PiIzKsAQedAFz623Lciuq2BIUs6gEkjohFP6fBi48L67EEGRaE4E9q5J7tR6TjnldXK5Yo8bUtIdQGeJTfW271gCBAVMrecimJMifwrqcMYtwcx/AK18sEDJYgK7s+o1mywAbAlqsjOqMS5hKij46vQlgZhv8Hc4okgkFUOalNyzuvZYyYFwR8RfvrxAWH8TeX24r+yoBkjNwZXsvd0qNMTv4xiBP+IG5Q2fduqjSeUcFavrxXfaNQqYnQYDlZ1pTcqW5QHoTNojkYCRkJMJ79ndeGW0x269GyoIFhYUhr5L4Pvd2Ci5d/Xxq4MwrnXbklBaBCNWKLNZvTmLJY1fVyrMjewvSny39sY7K2Z7ZcsBSqqMGjyL5xwsFlTE/3N0Z5wf6ay8gaCEY62WIgTw70QpmAR5hGkKJkUBoLtmeGNqjBET2dOUylQehI2qJV3I1TPlNipqlJSABoowgP4MgadJYpfqEs8rocXffdz4UjfGbfojnJMLL8LyuzWcR4eCS1L2+acfZPDudXRGh7Nk/EqGs6YN26l9C23bUplBAebxwyaqNnBVDPbyCiKWEINwENd+KRNt3PGl2ypK93arsJOrINGXCciAKBDFfuK8jVfD187ttOst/aR3ZbJHz9iWYwP/VAR3PmQolxCECc81GuKkcio8J7Q6UU9LJWs4UJhjOLh6csdISCrw5xPUmuYCWG2H4goV9ut6swpDACOf/nbDnZfeV92jfPhIdEAuBJxIRka1/znFTGIfZ/j0d8lR/+auH/9uzZhcyz2Wzs4y4bed4DbUc0ooU5O8wHj7HLYwV8m2uwJiG1VGFYipiq5gBFrxAot/cEsF/kPh3BNGV6Vlt1q/HaO8CFZF4MDClwQ3mp4EYYjIXBODqABGClmCL9HqNBpssV1LaIKAkBTFVvODQXa0gDn7DVMnixVwM9jJOZUl7KI9p4R2VE6Y78uW9EbjdfC1/2IN5MwblQnbUnb0uYbbdDFQYJHBuYWAiqJU9qR/EL/60VqHo06Tqtll8mNE6nYdNUi076KyQD/9pQcnCfMQTka+MDjeAsKTrNTwWQn0IacEEQ9EY3UxOhiWwgMQYduCScuAsWaMreQ6sqpknPMiAVvRJT8kbDveYKty29s8Ai+ECCpCkhJmktpzXDOLDjjAU0rjzH11vaUcc3L+hcvtruQqKW3goaQeT6Yyt8ckY4WfwLkPXNX8TeGLDb70oLSQBoOj+fw126Z+S4DgG+8NJ3rqBxS4DTmZLwnjFg7sn0ZDaX37s+Gjs/fDiZk/fp14RrWyC/W7cwNqCw3giralTAcia2R2JwUwUCdGs89waRhUXYP0TC+XzABneArFEKibgKut9mciEVVS8RSxfPxoxNhqPpW5xyh2lNQ4G44HqwjOMUAhrNYQ4BdjyIYSY9SG4DuV0LFdiZrqGnJYVuFBBBQRHoi7UYY14yMd6dSPw/6LoL4NESxqQmvhAH3Y3GKAeLJCwJG6PHDKCKH/pblhJwZAA0pSe1H1Wy+KNLMoCiZBt362sNfOofPUxLX19KRS3tXhzsDlegXv2TTluKeDKpv1mmF8H1locNOGMi4ECLmTztsNerSD7RUAunYFyw+bEcwRXkUgNNsVJwkPtFvmW5/casdqVgqp4yeQ9CMGDXnDdH1CSbchKPIctz4fIPD1S+TEuQuKTfAG5Lili0CDHk7Ha1Mr56pIwBdembN7K8PdkNteSAO2cg0OgFu5dt4bejWM6kTfczDgvcYdMYf7jF34qb7ZU/ivdFw2FjkHpOhog+Ex1zhtBO6Jzke6ORCBJibvApEbM7xXPTizC0igMvk+DuSAH/QC3YrQ3Y98Hm/ifVaXfjdzVlF43V/L1dlJNzQURgGdUWtduPFyg+YVRGQiMUd3u/FtH68m9UFaPT0dGu72RjJtslOvHr9J2ThffVdedp4bCvYDPGOqvOcXSx7qB1oZJ55VcJQ187YW6n9slrZU69O14Lpt9S64IzyWxF/Y3Ihgb8670RmVHkY8dqqiL45Td0DTmi3u1SyIPQEg9t+Hs+/IEHOKVsZhPAya56DCtyaPWeKIox9RZPiAzKSxxRHHbz8WtIZEj/ZMyjMyPw7saqqcDCex6M18PCdGCdUc/8x9JLYvrY3unn7qpLYvb9Bl/TgQ7WedSvUq12P97WLw4Z1YpiT52p5GNScuZVFd+iZK6tZnLNlQg8pt6VBDuSno6WIN1Kqdk7NXLVgmToFZ0MnI1unxkgbQUPFN+Mx4t2l1ZnyvdKviyvL406yXcVAQc1pDlbFRQtUWv2aEHtcr6BtzcyMbmJVz4dXoKJ+5GW9DyL9g0u4O3/FQuLk4T+KQvWNSb48f/K/gO36bR1gu72phNSLRmDRivqGEASRWLiu0qt9wsBTcXiUHHGdOQjHFxr7ghmgG0/1+ii6cEY7eRsmlSkeHNSq6CQLD/Psc83pK7dkvI810xPjnW3O37755t61V3QF854FVBw4fHj9c29s0Tlbr2in9rIqN7qUMzMz/XUMTI9nynlYdNjP4l6CrpZRqyu9nJEz5cC/Oj6kQ/ZlxPn2L8XWld3By69eF1Fz3X3GBAQOSm5U4Thnhu86d/XnVg4/3PU8v3pkUDiM7KDAUc2P33aP07Pt+5+8TDzbuLceHD4Lg4Nny+LpHKYcZy+N5+vRPzG/8/GtiAjifr++N7Q8jvunyZV7WkAaU/2XqsfFQz9vR5VrbftxuxCCRw9GN9VjG7cyDQO5eUMlmmoZPqhIWKhlSSqUQkERJVQWiS9bHqVy5vhF3V+Wjoe88ToCw76ChDpL5gcaa9tTphKjAW4MmO4lEEwCvUmDGvf7LSfBGbcgfedkXgGFet1w666+bPcXDcP5nm7bOE+v6f8+H49M+qYcbWazjw2e99txAsKKY1HfO2UKca9p7bVUqK9zEzH3lyfqCCAQBrIYQzS5hCES34IZj0wZJUwXCJZOe9eIAD7yyuFDpzwvn03UZmAuiw7Nos/0223yc56X9YPssjXNplN1OE1XCrXj97HVtBuJbjFIS5MMjeBRN0frXFg5dbrI3jFnk2TZCoZEoSxmJ8oh3pYw9saFxKb5ZenoHy9B4fLH9Q/sw/3EevvPGkVKHgkLmVBgVG5pKevgs4P3MPnhCGHhbpK/LQt31DR9VY1+5DtXk5/vyjxb0/7yZaVx1O/7DVD1vNHJWpDJ5y1iqf2/LdPhdFM2sBTobN05M0oGsdZ245ZGFCh0WiXw179n8C2/97Tu77eMnMHc5tt7W4UsbCuYAqk77xnmMFIpVJnSvcj8kwqAsC0K52qqR4EkUghtJgqP7Bgigxa7iPIpPaoWF889+3e4lOhWGbdQYx583IbD/38fUDw2hqNy5Z1krfS1+dX6XkvDPRoaqLHJziUpg39mLjyel5w7nyQogccJaTMTCrsr4yJWfPQJmCsagSVhYShF4gCkxRPJ0Vsb5k8qu8Ap67U8yxlmGEOCxAlNcem9Ita+UN4pSDF6G/IgBCo0G6qPoAIlSO7JSwECqByUvV2YYFCNV2uJwJcph2AoGIs+IgJtohkeSeTzCFnyN25D3BvV23x4/AfVRtiGoANCSrCJzvUbWjOudppmq7WMFm7rP2rfra9rv21uBDpriqMmntGF/o9pPQuo5H6n1atgAyT+ADEntEyX/BppM3hfXwmpptoR9eVJVPMyizLXfValXTSQVF2Fmbs2UoKW/8DjChjxhcR/lIb3EnxN1Xmb5Z0EBhIPQTCVQAcQ3gEDlFF9BIRhBSubaOKrpDiudsdnDnE9H5IihQ1vCxa1lBXAh6m+8VkXZK71lF/r6de8oYORlR5jPYOOJwKG7JMuJkPoXQRBsRquq1whw3u1rPiwpppDH4osW2QYaZNUTHQ7ollzrX9Ns09JndW9GluPWrkrbx0B6EBuLV5sd6I1Cqdg+cX45kP/UrsjsXG7Jc0OVcls1Uwh89Oi1Q+fEMIkn5j4mcjMdQcWbqWEbCs5WbbLo9VSh6rNBG1MB7K82VEmjPTdZKwHVKzewRsqOyS8+vEvY9Dgj2+8vWdkclX3NKzsWx8iD1OwRjPu7jd1rFU9Dp6dZvhEnId4Y0ttCQN0BlqFlpjeLoJY3praSjfLXkfDAG0O1q09D/gEWyeXSLil48vflMdd//wk8pT6hK2LjQ7qGtAsjomGRqMa/cojfDc5El0AsczqKaSXXo65LkWPoLwvN+kJGKxifPC4/wGzl5W8GLrFB9ERr+KaA8kpKbn/fYXYIT2kieWOtCmJ/1AjCArFMivzMuNyxlbrcX85UEg6FFO39KLsdQsOv5IeG70u0XmlXdPh9sonbw22eqZPpuTDlvOSNpAgF9iSE42EJEJG2ZuE5WmS6lSTteefeu29938JS+3DreQt7MV77MK9qDkLZgZpXorxu1HnUOy6Huc36p5L4iTGusMdDXWFLW7n0kaAsjGlv6ar3lNaOdNGw2a2fOmVhxekelQZdlYpERTwA4cuJtcnBt5h/X3FWoReyAPvzLz5t6UFYAZtPMZABhzNZQf9EC2p9SZtm56OksQ0dGNS2sQa47oOK/IsZBo9nQ1033mx20Y9z3psgiHIKqBYyqzTJTtY6Kk43laaWPxHK5wXVOB3ym+tbsUOJflpU1sPEuQADO5A234Kas4WwZHI2AheZcmizGialPRvoDHkANqQgotUNYkOtZW2q3nL0gZUaEVRnquHovu53bs8lL3YpZxO1wgje05hgAECCCKIoRs740zGEjA+MeUWDSG1G+qJkT3krLbbrhAtPSOxG/atd5FXY0ggBA6KtPuxHB3XRvbCFAB8aRah0ymUwTKsKKCtNjsKYSCZXUFaN4hk4PsQ33rXti+7holxfeOJCBljfeD6259eG7JYUgjBIMJQ7X7B5iJBhI9CQpav4i2TMEHR1ikQDyhEL1FYxQDlPcffiyAGZA+GCKIaBntcr3ixk8ADVUylF3Ul2ofFr2HC+S73W8KNBOqatTx2sYMrAZa1wVWFcK5/SyKxbZ0tL45ePSmYn61iaWr9MGQ2CVim8fotnEUB2aLMatZWnyIRDtwNct8AyfbchrhAPTc0iOJT9ZPnXg4GQegwF07aR6WwfqaMK2ejsro6W+ZXq6hDfZi0uLFcO2PQSeNlIa9gmBPfbRipZdjOGowARUlq1MCy9CERjzkLsoY76S4216pd1ht7o7E23LMlvfgtHghJp8Yxci1XMegsPa1gfPmzL1Sh73aONVWe5ZIJgBjMl4bsZuUYluu4sokjcF2arEvDlH5czY16XGzQaheMON/SNbvbsE70PhDpcWhEKVMDhY9o0hHAojuBH6viaxrm4Bk3ylxfO/mFPMOickfk7DeoWrQlAEnxF5EttqTXC35RDI3XLJQhl51QuBUnigTDkTgnsjlj1T0aiVZTHn3z2PirrjnIix0feE7wESxMgckidlD+/dvQ+GF+yD9Ch4np/12ZwT207YDh4TReeoZjguvK6OWYudJQglSbEp+QaelKNr/OKvBYA/Dylswt1nDYG6+TC0nTC/nS4L1tHW9Bx3o+1VaL39aT1VMQ8+CJlztr953kz81Syuo1Xs1+7kG71K55kWRArzQmluYwju0x1ELGYAokbf0FuoybbVEP4qqLhF2gd5OZGPa119rSlRHZmBP6WLRuG55J/oNBxVFdLennFgfAa7Lr+xLS/ln1REjkpGCiDjAsAB8G6EJi0QBamOLNhrAiLb6w9uaarOmNrcYrRrt+jnGIAQ+64aW+ZYc17KLlyNUmwgtRXMcKscX9YaxSaVR80i5HCL9AuwlmiShRmUfDoAC8pUTg2kCRei1EVbm/roPmkgeoM1L3ehrBvRiisgf8WSROEmQ54/C7El/Udc6F3AoRi9iCEn1egm3M185v05jHBHZDPDJouVL7wMHjiWBFbKH/yPvx/uqhegzupg+EFx8ak0KM1CnVTltQ5TBtwHOezvzNPoJLNmxHoA0Fozj0fBuQBIU9wCCgJexH1wUUA6dHOm8K1M+Y1kBeQ1AQDHDYCU7+W6Cn6rcBRuXQWvfSndUXb5Aydiuuj+CDcdGcOIxn6vjZS7FrZkzOVvMWizbBebuGSTql3XD3EhDa1MGTGFGGeLUlqowBKlsjRNcSlDQ0ScfmtCuMfAbjdtYRs1g5Y3zOswMbMac6RFpOs/ai3e/HJYj8Vf2SYkxW9dfSqQEI56zlYaRAI3NJUvVDNdhh2X8tvt/ijM1nkqmCS91ulE6nFrtkgy0o3cpVpNJwW6/vpjXXAQokO5lkJr0135HtPxhCvm08WPZ3NgcsdolJRdIfTDCJ7SPHU5qmB3MkDJUZFXBrFQQapvKZYipAMA6Qg0EC4pM+8J7zXL/wTeA7umxhOEk0PnfqNGLk7SVieAJzGhfDRxPHEyBO/VIyBj4Xm6t0Crebdr1frBrIPJVgastkoH3rwgL9ykjqaaorTd5uZx7kDUUYyRj0GIpmaCIfZwk5KHktO+cel0PMCEKvyNruGO1y45rRbn3flQTkryi/De02yPfGbmN+ZrQ+K7VanOF2sTXL1tyG/Ox7/fFAT2vLnUZB8KFiWXLWOUpGXPjmfmNCIzyY/60cM4CNuEGLYXkp0xlNkbQX/bzvPV6Popsvo+RufSmaIuiynYmiqCmHl6fe68mqeu98cJHKgL8Kz4h9YQGOVEXig9sQ+U4bCV0PNL52/89FWZvfPSeKffNyQpGtBXLUfGe4JcpXsp5OrxQtsRq53XY/LzqqjFZDW7ARQSv3ejL2cTPy4TFR+lOs31CWvPOSrool0keBUNLO9soX1sd/2CcNS83b3njiE9v2vpkR0aoNzLdQT+yNmoPd/rYCsLuMCV6oV7uFW41JQoqT5bOXbocW6rBjGkXG4GhU9RIUGCAVNYPogAT1u14fI52jx/+RNr9vTgZYn1L/8N7ZjeefqhWXastfX+ICLY8z/vEi0PjEmNNuA5kmFjSyFlvUZgvjUwJL/mcHayQsxRAXLeGsW6aUZ5OtysTfPC82vaZTLO0lX86iYX7GIIDHjWTWklO9NILnLbmunjOuszhEoffT8Ld15ppQw7oPs4hKxwTuxKFZM3FFIPa1anx+/A2ZtXeaIer3QnqFyQqU31uIYVuUFegosMqK+ZuyAGBm8rNCY2y5LM8YEbt+l6jsiBRhli9Pw8g4DdbUsmEQm7mazi7VzTOp8XuW2PPD9YYjYzN6tO4KlD6MxkX4w3LgeF0V6WDqJr9U8AzXigZY0En5LOYjE7ofye3RzAgSOpFzvRC9r9w8Xg9gC3+U2DqMRj/44b/0UnaUu6CHJVcT79Fxg+w5uRzvZPpezDRrlbSsm3nYbt4vBOVaqHUVI07Rww1DG83+CYTkBZhILaFQ3z8NI0/89+DWyIQyVUIDiolYHJWReK2fx3baXj1JEFcSEgbDs4gTjg5zXMd9LsHSkky70aODYW/5G2SCAWPttVaQKIcdJyYaBvHNC9+WhUuzQifXytbFq2sVyLgSBBMAgnjfeDFhQ6zHZ1bQ/AqaZdERUE8UTsRasxb8oxSWKp2Ny9ixwr87xfZ9gdkt7kb8EY+K3ICwZ4YNihwD1mGAXDNODMEPHOvIBGQPzWa6+f8JL9ZuqVg2lA9ycbehlyKC4P/8hs7vGa1v8naSMHMM9b3ztyJtB/SfEgZ/neDn1oLqOPO7JrMiSnTAEMN+HFxICqMqcWmGJEqbZeYR2nuXKWJHV4+NuNW6bJYzgeC5GfduVjpTPE26rO1e0tbh+D0P2i/dqKacD9BW9+Oc88Jvvin1I6VtPsO+JoT8m2i5/POPrl3sSiOldFju/0tT3JmjGRs446N6fF4lxcpgSqdi7d6mjkXyOKrpORKpIBi7M/169V8P5qbWflRlMZzh2r8r/q4YTULQhNtLNMdoPhH1m3fEaFRWPrRbi196stHXVkJRHP+R5D5SHG4NZWUkLN/0/MVBch5vYl2tDs64hFctUDS2l4zk551LI8+gcKNSekJDT/TWJyUKarPt0Wm+7+m758cJWqauyH0HGZ65+cuj6r0hxbvf6XZi/80DJsPkAKpE0ZLmGMTtrgFmSclv8nNUeJgr+4nr9bmXXrsDtDwk40iYKi7q5l6HXxybL347/rGeLaxHKX6By7Uo7Oftjl0xTKuqWZV1NO2qAVVd8+yKyGwzNEt3zjvIsMKbH6pdCWc6VlWBXt20DY8kVtFTn/oCMxrVtSWzxGqlEqrrSWnYx4o4FG/D0KxTWMg2DlPJwYH02ExoH5VKBbpV14qhQWmsUcmnLJp1McEmz9o2eid7jH2LMvJ895gxp6M+b5zoYMYYQwfhlbv8GGg06eONg38SJpw74ZRvT+GcpVfN0piMiVJ6ywbroxns1zDh2YwzUpsEnJtn4Ebd53HfBZo7CafmEDzfmc9+UDf5A6ayDM6C4cCb8InRrSN489Ix512g+jh4dX32bGaNeaOun9zUXfAKjfYmLLIneNxGC/VtMyR/NiVOcBbnck0fKcyfq+lwDWeJs8m6S6N3lVSuGeYf8BX1xCpTslyhX+eaC14MdH3yj6zPYl3/JTr0S6NOs47icm20TiYx+EdeM6NjTqW9o/M9cv8m+1bZ+/h+aG/MvL/zX3HO/jLG/0qSt9LotI7Zx5o747H7nw79T9vimzMGT81gDYEg12DS4Y+vwrZsZmQ7d8NvRM4U/KZNSYMGP7qCO6Y2qLp/ml16wxRM1xJsoQtOeKbKU0zs/mrKiYk4LObf1Mif+u1/x5/Yti3qzTi/5t/8+Tfwa5Fug/pv8esy3uGKHUK234vVBn8r1UnvaHaGGQj+++Xxk9kbmyrGMxxPwDmZsJ9xZqQZJkUOTtvwbra6n9FECk6c+lkC1ngh5Us6BuXksYhS5iSjU990NM1Wj1mnsM2e0N3xyrDSSGyS4FWqSkGdAm98PiMjBSIf8xwyVjGNqOSXtJ5NF+5jXJzaznNsxZRmvGdGbhan90c9SexelqWrNBZx/CUb7tbAs0vOUrBipWsZkfSrm9ptGcjBlo/WmzaM46fvtGvWoeYfgfrsyJsj4XIM1oV/fZZLTOyx3JvJymEX2pZwLSKeaPOEBwqEQp9OQ83wWWa5Fg4QGEf1C1WhZXrwREF8ydLJbC9avHg3UCS5Mp661birewPa713ig5Rme+9Hu+877R5Fe2YztlA1mqrPbf1VGU5r1vfAXg+quVhyetksjKDNFBk+H9SldxTiXUhSH6n5u07uonwGlg6/Tp/fge6GjOJOU5AEDfMqHs90T+RTQUlQX3ZOJWFROmkM0fzkGGaajiiDYGsWX3zhDT0+9gmOfsSW1x7DG40QZlxXIkIQuaAWLyYiEgIbNRDAgi1G6xwATkPg9nW+JvvavILTqC1zJmvA0BgBTiqAKsvWdO1KItxSucI9dXyV3HwXza8nQ6oxxGWAQg6rQRErzH+aDlf93uGf9l69a6DvK5b/irH2XSRk0AnVcOI9C+7Fb97Yc8HlemY1JL/W9UsCu9/kLDQiPJIho3lTvk5d9h2PAwxzk418Y1YEcVAizn2hQMyRuwjH42InXLLY+YV7K8J9UZWlOPMsn9TiqcaJKHwCiWOij/E1PurmLU8lD34SJzjjqOPsdXNX7rOtU6LL1VDfvSPrhD3qO2gM4KNm48w9QSvBxs9mahkGcC2oLofh3Ore0rqmQLXndk2p0yvqx5Fk/292yTYW7BqelMX35W/ziiX3vFwQ5wGlCKo4xsWPGXQgLJv1FG9Pd/A5gFZTd8kAmgLC20FnywIIvj+xumDwZuNMt24inI1ewm63iRZHN22IwcZgd15pbtAO8+0rG5eNK6nMPaZ+CFEQEoAGtUXfNMacGc6cWww1pFQ7i+9fAGlA9L/Nu0NPKVIkbP+N8DA1L9N7Dbp6AiOsNWvNVyPEBlL57IeOeCiPMtJOp4lGGm608yA0jjkw2IDmHSvBuizb7x73Oi+BQOMc2gZEQSaGEkwD4CjafWU/Uy5nswDHu9FbN++knd39IX6rP8Nufgdx63bbQBAp1ZBhy4YEv15XrySvj/y0liaVIWTMriSkNyDWTphfQBQk3KOU47jlMEAQDzvZkmiaJVhiu4/PgIyBFAj2IQEUMYIqIWZxFoPfR1wNbZSJQW4dmPvCYfJIUXTtvCr8hgqZHUfJak8YfRPL3kawlI2KgQ9FmeF8YGFXq9izDK/tK/mkA2PEr9Ye0xXXdEZDui7lBcW5/wF8SXXd0LmrSXdgwnvC16eItX8pQpCu89h6eHLPBIX79b1cYsv3apvXE0H5RGr9/VQjEzkRIBge65iMkGifsxCFBQxatsVFvTIeAmEga7CBEoZge9UQlMAGSo4O8aYi+Kdk2AYi53A+v7wuAkXI2DE3ElQ/Vm9ONnD47xZjHdfYxFWERoVWdFGmkm8OLhsW6m8bqYRLwXkgDB10VkswEj8Q5Wdb+C7u/pjfFmB+R6XfWoumpcdWjUnJ6I1SAMzMaGfwcsWXb1vL57l1L7R+qAI+5sWcBo6ifrZ5pl1eQAHCpXcG1Vr5wRUKWi6IYx5+Q/KJLPWqvaGjCzdhbsM7IOYHjQFhVQ9XglUy8rlmBxhjpaTFKSTbtbvWryrKDuw5oBm2FqqrWet+13LGmqLD5y9UPaajUIc7CKpR5fK10hQlGL6H0UrufV7OeHvod4CvGvFHQoKbQCyr7yIIIUU8ybCngZaAU8OEPwP5pV8CGjbjYo8eUfKk4nCGUR7oet6mnftQ7ea8C4zk6yAxNXH3bp1bUjh7BVg+l6pBYKqyR2evnk3aiEixVBLoH/epz/y7dnKSfjjLCR4pvXZeuDNVU7vsk3Nt8/IvBVvmZsEZnZv7SGRJE2xr4wujVAOyoBC3kA73d+fHz0tYN84O4BsQCb0GKPvH9rQYbY4xotBIQtW+nclAMHcFCp2EFGMiReEFSFuo0Y5zpUb8XtR7E3A7qzcJ4y0M0aInJoALqkaCCDmI2lsgltGVwxSybLxwyAPIwf1F020tbGULicScNuG/5DTnKzi2wHYIiEwU1LUiGH9eZdGMLnEeXdV7Z/Mm2CK1mneJHd/8JWlYRrt0cUWEl8zvssbaJb1hBRFqXOA6FsaHAUg/fZpyZtyKoNvkrbswaoCNPf8V0Ux0pm33y+zOVl9C4X2paZ25rfX6NmuEUOpzRhWN4P7ntn1Z0EQ0Pr7UKwmZf/peNQlh0A+COMWVnURVfmek3D2NRyiKyq3V+S/m8/PX8QBsCeaj5XBu6NV8jJQWJC2+PkzvKO/WlizhPsRgxDVr/VCDZbder2zR4XbTCmUXnYcQOuFY1Z9VVn+lvm7ENxtTdZdk4wool7JhQfSxx8/hGasQPksov1o8dtN6OAHi9Z18F2E78u9RqFIOcFbbXa3smsUT6BTdwdrdepDtpoo0cuL/vcJ35sguTnccaSG+oLLLO4m3OLl2nb6hNNJDo60N/vEVNmf5FbXZWjHIMNuLDwEyrKJiI5cpE8M0GNEhkO8x6vjW4sfzAMFZsG0RXNkF3SErAI90FitkfOrNmB+MN83Dtl45P6DK29DGMkE0Z8cIJo46CTc4sPNf+3bs/9euA/t3l2iZFb4WesYpuuWCw39WKB3fwyJAAd9JWEAthOc7JABDhiGKdjwge8z7MwsYoMIiE/cRggkYb5qkfNKC9TmuRuFZNH/5VImE7vAwChek+T1NslH5Bd+Z74mghqLujbMp/f+E98DM1bJmdexd9NrL2UVhjYUs3Fr3jDg01YxkKYcZBmS/seCXuj1jVGGuZzaoX/ybzbkNmZuJsz58IBKClpRCDOXZgSC3Lvcs5ZsVHL6B2mCiiPQIyxhKpzPpNoaWJkpoBDqrQeoIhMg9W8IuKgYdu+KWpiC8wdIYbykNBfUUNUxCAKV7OYsgIGEV3+hmv6UJkEEotM1ydVxrzc74RZ1yCGY/ucr7vd3s4xp5L7bex3UC7dxjzdORL3UAAQBCSaGTLZYS1MsCarTkC8FDDQIeY9yaEoJI/rpNdWWDmtZX1nFDp2195mZCD1h9FCK+tCzVzsHr+78ZKYM+Jby09fiWjm6o0faq6WFhhqDhKiLNi0NZHGb9je/kPyMUeg6npb6iNyj6y0UWqdlpnbgAucl7Cu6ad8XfEWrzEoQ2oS9NfhAZq3vCxVLdPogGCDSz4msq/fBfkh1jdDcBr33DpeD+MoREoFXhMSISjqxV+nXbzwYINlOVyVFKW+qihhJYvzG/aaBiQO5JD0yLr36sv6kChT9AY64yGYss0Vn0mETEAm7Y0mL4HUyMD8g1ic7u7WIN4DWzClTrxZJIHQ/Vp/js5pteXbloz7e0mQLo2who2pDAtEPBSH+L/M4XYF+0jnSAOLhNsXYuudsOymmZ2w5y9+P0E7lzfQtDpD5KB94TC4GQKMlOlwRz+Ton1Xdkkyh097z1AWfmQAh4aQMY5D+Hsj7fFtBLkjAc+mo638sr2Ho8G8YZxFyKOyp6+Kz+BxH0zuWRTtbHary2Ov02ap1WzvIquTcLyG8/2HPb+Qflvg9arnx0qXski8KCahS21nTUh5tZPa1sWiY6MqJ3KOTsJbHVxHmq+JvhpOGOqzt4c2LZFki1tHWpYGZmMl/M5aayAS6nBHHDGu32ifg62A7UwOCo926FiktT04y+4cVJNHfDaE42b6VhBLpCwOg4VGl4OJe99XiFNNSeqRZvrtwvegpyuXBgfHlUlGFZsx3aE1exyfW1B9PHYO+OuYp1LhqWjeaDNWNGCsKEIWSEYe5Hz7KpIWJTyy1XtGYJRuWgvoz2r50csE9Pa6Gt1bhJMtTDe+FTSg8k7/yvo+koYwqIelyb3MwYYxM7G12mkXB7lpkASdXzaTPVQ2mBiJ7WBwA1Fe7ikKgxBVTijO3/op3sQkY1y9cwLoACGXawdIohNeFsE4tl7A+wPhCdMm2Y9VeWXySdjeFlky8N1ddKDv0lC4TM302aawnZIaOaql3cB5dDU00xjcbMuuqIAYK6kmVUoLqa3Q5TDpE2ULwqltw1/sEVSZ50cA2O55rygDkL81w3pW6ffC/KYEn5uKNR6kmsswhUWiFR87Fpc+B5zIM4qocZqimVnL024UCdkeobo/QrtWxcRNUPLlHrURrSj80oSnsNg5LsGdynaZMr8ZbTfQxLIVGikp7YfuVaIeGL11MVwIcpI5O+BK0mIupHItqun5zwddvvtISgaeC2ipN5ucn2TOhIplgB5xX6vGiYIzlDEMOx19G87BxwgMUNQ3CkVR9oecfLBTx2ImfIhTunUVd7ld2vGFZmiZm0tduW/qh5uXPV5rqRsYoAGvMXDmhkUCFcJ9plfja2AuYliOHV4Z4guKD0NWHZ/gW2AGyH5wWLRoICKgs2h0e+RiHqXlp9c+bep/zPjutsRwbuU1M6o22JPi2ZF2Xyow5YZCz4F9pvgCrgPioYOdpm3lMUghGy6ScXGRqMPtDKafN9X5HIHcqR4ejj8y9pGWqteXhDJuSzCdpg8ljJJ+7L5TupLP1q2c6V9YEo387b9i9CdGU9HPvDRS3JH1DCeAEUy7BSQv+nRUN6hjFDtzxYdckBJY6GokX9wkbkNX3rGZ72N+nXJqxpdI19sTTOyPoqHMMz+hM9WpNCk9PQzsKS9DZXJjkZc2KIRZZinchAMYajMhIMogFBk1SDvMNoNtRxVmQ+4UaotU1ApXGuOcVK5RljlVGAxTkBSOC1HiozsaIB0DZq2skYAWvgW/KDSGD/hHWoyFMriX7SBlAGEgj2hKiTx/QwWPaEW+V8vVqpl3bCSIpNIXvTCgqVHWWBBKryavLdojQriZpySzHzK+0GwJP28Ib+UbNtgyiWZswtpen46581cjlf/j13jE8O4Z2vNk5e/+c90j5/9a+rkP/7Dfi0htne8Is0pIiJxeLZDuG9Uc6lhb+8+0PdvGrfXBrXag0NZtyySbv9J90sSkP6TWg7gf7KTiijCDFwQkoo4eFxSH22KLnzpbzjM2AHeMeCl/ddj2KA6s7pZhHER9PQDq67pxDAB5ddDjCkcxn8TLxXUugF5+Ti0V2RQe7Wi0AQ/l3p39dY0u4z9kVu04CMj39iZ/HB9qL54NGRlMU2kapRSWMStkumRFXliD4J2JXehalnUweTsP16/29bjqs4Se2X+/3cCtr45ZbLhdg1WXj49LDun3LIn+9UIK26sdVuUwrK6Whn8CJnNrZrkIm+WUMV7kfb7SzVXR/rdyYAlGU0UZ+Yx7mpIs0JGPMJQkp+gvNY6BAZdY//nk38usCrZ6A7rezWaGS0Jk7hKCvHqs0+4Hr7YuxXZ6N/bscSNMXevXJBEvalYETefiuTcliiNguHtnLxaLp1JMne91l4iyBjVOYunrr8zvf2UVgA+ygirVb22gEjm59+eeF940LTUbqbn+OJH3ZJcrqPu0k49hPnlAvkt1tD6/u9QNPIjmzgjuQofFQAyZWcj2cZ/0BTPPlvXrfrLvGHp1lvwznNI2qX6Ndqv2BtNxXlQpxSmop8KU05y9RyPssQE+VKM8EwhouLScPVPQoWdbVIrEWPLGe56q2rD+YbMSxc/BmOC1xdMM2muC3/m7a+mqBqOS2tZ5kwTJZyEVGRTBA4eQWJPBQDZQzQ6TBYV8fZGYKUXMvyQ5YyMyVvDMqZLwUOM2P8xqsHJ1Ix8jl4FNf3nKn5pJhl2LoyI8cgMOGzKbm1ca7QsTTUhUyCSWbgbruaUh6EKdNWgbeZ3S0AyM5Sw8LdsVtcOeVjSNBOq/4muWi5GWO/Rhn75UA7+B6JFui1vKGDXenr3rb9kXisYyEQC6xAk5ig39nBn+GDHZlK2B9eRnPkp0T1HI4vpqR69W/tDJ9syvAo2zOmOghp9bR3mEnIAOyOIZFo/jpJczgdTyq7U3sTQdqGs/1f7f8QkTK8LEJVXs42pqbo/5WKrZH7+HD6UA1I8XtcrDWpz2xGh1OMotoHbx9Q2qkgKbDJX7rsIea7OKBJgWhhX8bH+O+gksfyXHq0AjWev/aX2szfSjTjCobveEyWJSid1j5uxxHNuLAk8T1VLB3kvLTUnDFQ2jFatVhAAMW0h9D0giuFGln+4f7gBUm7qR2DUtRoXReWjSXmWMVizxWQgC5spghtC+CglUpzhsS96hwP+vBb2d7dXMQpcvaADmTtOtGbku34pJHq2MmLR9hvZaSMZAtO89BcRwWz2RN4zC0jQw6wAliiLnakVp9tU7v2/5CDxqSwlTRuzROszACj7H8l/hdGR5FG6rtW54duNfVLzbDiGySBP+o6CWuGbIpRoyFRJTdtyr5wxYgI7is96lT3OolMhQfh3cOoxK302FiGl86j7rT+XtELeCaPs9jQrV7OE1FG63ugML8N1YVAyOLbPHbP+kiUBtgM1Jo0BEgB7AobriJWZcBxWUxSX5dRV8iZZekbJOiozQkVwtB1We60a2dLQyM5hUBKazdyVY46psJRTZjCJbg4ErU5YtlrFRJMFBRp2wOY0EuCSYhlvfpUd1j26SmICHfgJNBHgIJWnieY3vPL/Erprs41etL9/EMhIEIUECevJ34SgmbvojKIYoNc5Zs0PAn22G7TEE2TqIAuxDKNJRfRYDGAfothMt3HqWRklHIxDRAcCoyoSzWCT6W3Qwx25cke/PXRdEqmoX/tpi4rA5IgNHjeqtpJnI5p0MXz3K+hxd/acCMJ9e9s9QRd4mRaPNFUJqhPHvUkD05GdkIEfu+k8hrIr+aAIRf2rVg0ExJvwSX3s53VdvsHmoPJ1RxAsD7s7+cRG1cXE4/RGF2kNMrQhXgn0hnM+h37rCzaoYG2cj76wYHYED+UqV7Ts1iNrgpNjtgJCW1poICeiKyLxMxvOYruYICCoiAacb0czhn7iVZ6gXKvcsgK/ks/WY1A+h/kH3cbQxAl4xho2rOgVIDWzIkaNxRHnYQ1pF3CWHG6ImlmYSyA+GajyTMznEYgFL+n/dtgkMlExVSqU66iRTZN63uQNvcNqVf/VasEldqBaj3wRBkqyx2N+Smqa5VufaZu024kFpD3vCwrbr5aXMXtLfrL3hjbSzLze3ZM2C9J57HTe/J7dzu92LqRLsvUAeiYrWgCQeMg5vVc05ap+XzEsC6p4CUQXGxWvU5sra51h/HEOaUl5Ow/x7CulsMK8rrcRq6o2d8dm1W+mvVyDAGUh0EUBmQExrlvUR0TRDV+CIXy4eI9qBna4MSjvn7gu+d4s8lGnrADECx7lgtl5JbJFta7BcHNgaNtR8kgvAbZNQ70wQEnt+2JMPARdRSSxWSaDIYkozsI4Ly7LsNN91xfgZrYDmImAFKleDu6cBBb77Gig1zve5p6mLnCnabpp5pRySO4Gr/7hBRkHXZSKvTRXwdxGLXHx15BJtQKApD9AxfEppAxH+Ka4T569I6FSBSA7XdcptQ9/xjobnidE/uSdPoMu6claXxgJmHfUfTk27gjiAF2/dGB5DD0bgmw49XdtOf4vusls556FO0pOWJtmsf8Yn8pfE/daBuUzYSsknINI8KrFc9zegvRdVsjK63isL8YXavCBIFx0J3XWjVBIniah1KBbMFpegJqFsU8VhMR1tV6eQ3mEZDguQxyP18i9x0SVG7Ro+CDzGDI0G8wBaj2yclr9mcq2+9+0FbVMYM0CsJfGk5l2okiOZ4snkPhOl8v5FmZ0yKZKVHGGSOEkjMQHcDZfjneh0DdkOUyC5QTdtdEJcq00vJzfSufLYNqZX+9FjzbsIznjct8Jw7oywpSbW/kvZkc4gTnGn3GEQWYZOuBpIoVKBUMirVysI7RTqlSLvaHYOxnEeXTEkWPOX/EhoIO1cSbG8x4gj+sjgLC7ajptswGzHXDBRKY1S9mynheuhb3UncT/VMhyH6HMnGvjlxJcpalMQzm55577Lzy82vao7fF+fx3X/KyAkVp3nZjweDU7Q+P1bTadaXLgANDAwTmVfbmO02l/BdfGNcF5bYQbPAY73vrBiys7Mo67PS43b2g2EGtvq9SLRMlyI0OxdxHbK0+QMwzRW4xNAxIknMbohPaUDg8AGouT1G+tmqOhY84HH84h1pLPYhtKyFjN7AbZ8Q/tgCKO1dKFfQHnQzgTg8/wGiNGq2zDpTTEfCrGzfv1QN1NmQP5PgQBV/LojNfxuAL899Sknoa2rwRUgD4Kfxcob4qo6SEDlivDcJOKmj7wMPZov34dxKPUjJflx5+BDP8ckeyipXAqggCJOywaF9XbaE8tnMFD6TVJ0Fktr9aY5Y+JflXAlnn1S7gPpAzKS3bJT7QBdGmImz2ysGgBIyLw9AEjI7DAAXCgilvkgSLlT31EsBw5jtctH8mYzuZIk1OAyP5EIm7LaS6ynMWprQ1jXvLoiAbz9H8TMUHXm7GzxNGTqjysFX2OoNwLZz76PXjX1989dgaq8ouO7hpy3CzoiFhUgvJc6oM30COPJEzDOpRTMzt0es/TgRoMbGo71duhxhbUHWuOHCEyuanveazqmR9FfDgOU89eOpu9LRPcERl30qF1C7bNq+e20Jzp8qRdy9fqE9RBzrNxmevVsx5x1fS0X76hV6Pqb3n8lsG0iawp/7kHd/cblPOC1zpsFJO1n/rC1TRKNW/has1LAVmpQ4656sMsl9oeTafIR2LGVqRbY7F1NoAxYg9oGRM0hOKekHWKQpoOJWZRQw/VUxkbNr4UjGybN00nfpaLaGIpxr/gtaV0gVWt6G5RZKwrBRhnifJpK9w1HSxTpJZjm0rSQjgqBjLbGOFXHRaBAKSe7GjiHjQ4gcfLKjjgyJAFI3Tbpe2LZkV7Pb+TIOnlBckmNI481f7Pwb+tru4OPBXS92Gtlv0bcP4hcw+iv6kUNpw/uvCAIMASh4BMM/QmZ3woesye1n13NJN/rJ6xvgL+3m7MTzWRZwx33YfbsSNy7vkw0drfz2oxhyQS0hnW6eeuhoGRf5GY9yZj7eYEBy8qNg1aIt3pG7pOGTdOOI4IavH+KIL86gXvEeda7ZpTpGqsKpxxMxbgmqMJ2jR2ehKjrYL6hFYetsyvZv0yIrwGPabz3Sj0DX+9NIoWqvwBq6k2VtxkvCPUuLFrrGxtCJLdUbuaTBPfJmyT1wxrrr7J4Lj6OzYi4l6lYQstBQP6QqMF+1FMZ47JtlEm8iCpX1SbnB+Lr74cBuPsN71eu3KdbZaufRwYbN59IQ/kudjrxNIO8j6ZRlaate/rafC6xVGbG5e1b7wT+ZHLRB0KUpduYhb/loVXzNllnJbQU0he+nHEvl8Kwzh3x03lct8Md4Rc1eioZbDwkqFdfBimJiAJrppO3i5xqun6Ky9drdRXeh32oqT881kuKLF/L/qkdpUynu97ehV0Dj8kMbCoCt7T2uI8A2lyf7FbiYxbw2XQHOm+xT91Td2LLUgRnGIqBq+skAarLFq7oqOus0NssS5YNU6eoVg5ukgCGLmIqGjglvUK53OE3Fx9ljdbdu3PlSIKYCw2IQtZXNRmOBft6LwycaWrAmrrmY5EIMd9FUZ6WmCpRe1Gn0ldKWUWAjzUhVvFbj/4rTaTAxx7WUO2bPGvaLEi/FRt3/KJ5IG/f5OW6hrbAxHSvfXrvRWJCK0mjXa56tyXZUvH7ka999rVzFo7OOc3JvIPCCF8ThuKnnbhw5Tlw7hB6LMSWzOl5n912q0lltGrIydT/1jJmOj1UqYdQSnrTK/pdDVhCP/8f75pr/jHZSikym8iPTsLyFOxm6Ba3wizgpKbMJ/lWYMiYjwkbjL6psG3VMcS/ASNPuCLVj2702mRGwGbdmz7FYjxSq0si3QbHxexqstkugV2UXab7FLtHzuFNI4XShwPdDrFlbc1WBviXJRpifksLx5vFO3CrgGj2OBE9eVHL/Hn7eh+TaFUTkHKMEo1e7f+uYXFKhyrSect6VtMb6HWAMPtiNF3LVaUdsK8iHfXxJr6BNg+CMOWbbe2Vnb1Te/JDNUvxSU+A5/xsaV1oN/L5nQwio+3doEt8MX9iN1kK/30j1aKbBGZbLolaSnCiBLjm8HlrdE3WMDpIOkgTHln6zT1iTiPLFm5udPag1xQWefWrC1z0DqrRdMLXtgf+bWEHEDelUw1t4e2xzcjua2Y8NrJp/HtLVtAF5Xur3x7+Gd35P8HTetT3NmBYoX91rGgC9ndBQkN2JGz/9DYGj/J/6/JiCQ7cauBTW+c+vv+k1Xs/VjnGP0s6826YkT4OUroIStp7YCp9OEcYoBpYnC0+GRm8g8wEFEp1B//qAgpxZCpjd2zEVY3Pl3raqhRhMiG5jWFo4NH/1mui1106rm9/82qFBjvB00skGt7djR4ara7WcTDrHAotoNt7dBKS1jT2XBsVHfTFdLm2deNzTJClYAa32FM+7U0eGnDroG4JapJpmuRRvT632PhwIxtf9+0xknjWt/b56VYQOH143CH2F2yazqyCAmIM244QRv9YmRR02viChi8788DwAoqIB6p8wshwbgjwpwrs9Kr3fwx/o3OGVkOTZA/vRMbiYdrGx7UuVYLUDzU5OSUrsVVDtWPdmwEtDLDMpXryktJtN1uJTi4imuDk88W0wGY+gxhFhWSmEQDU6eUOyuLHymUbl/R5NGxalT7e3/bGskoGUb0fdGampv2rABZM1Zh1mXyOllYJCWAa6M0vaA9EF6OthDz+CWg10gs3NtOggND1Q9bAyUh4Lf0Hrov9m31JGBSLCeFppuOcXXtaM0i6uryyNvsKTZWNN+1I2h09wOPKqv6nXNNs9Suj7YzuylzOmP6I/1ykIsKpiHnV6Z7+IGcSoaSs0NZL01tKdv9MaAFjwGk0vWoY1vy56C8WBMVEirDKZDr+q76Du8YvPuMjjSm/bAy3UPWw9cbSCbMz8hsHkdfe/l4L1k+yncjKGuwSxuyt6Lv85IbLTNY6kiaGxsX6mlwDXJgHRjTOPAjObMAY3xmYwClZaqtqFZUzXqZVWazZ9ZdktdbOW6QQ/quzQ709mqz5b6PeZg+xb9M6EqsOAeE84L5S5Zwg3lhR9OmFd+yZJQbjjvsMHm41oRpKKdoakg0TCv0vnCc1gEVXK8B6EmXgU0KKKpGKJhroqn4g4XalUdS/jFDtK3OHzQFkX4z/Tp09me28xDm4c9geW3M+/D0JiIxUTB4LqYxdg7ql+Z/Nh29zXu8r8J9XeniH1yqEknzzus2Fs7eKjTAnZ+mluh5XD80/sqTbCmKi4WtuHZcOrqARvFhurqhu+9VqxYPgAqApT0P1O8KTJdSSerZv/Tep5rpZkicBZNEVV7D6ngJnj/AWJToaeEmQK+rRfWfOOmGOXq4XoePNqG9CD3H+F79GJRKWwd7kE2wbZWFp5jjh8y8Ldd8F+w9VeXHwzSCplTMH5NcaeIDAWdZBl+G2W4jYF3d+3cyJAmAF52R48les+FDzlfGGgtaNbiaXXa1BvlzaSoS4Seoy/U6vU7B2du1d5reyhktlFGalF1dVVLT1FqurEpibjv3g0AXcIAcOcmlFqLx2ecRG6NWtsGBWmvDuxk4/GHK2tTM5yYKDRmDRqxY5cWFxaV8tlM9DAKcbQHDn3JOqLMNJF2rvlDM3monbZIVxwICmxTLCPFvhHR2cKd7I2lyKNvziwi7VJAQUAFdeb5f8Tjbpa5e+KVH5PsOYnbHf68w/IMSYp0NUtjZgYHZzLTzFwjMVBAWhpq4XEwVmKlHqAfJDGUUXVwGjiwUDUM02dMj3CO7XAZCLwcsqQr+nzI5a4l56MTTLQdf8ruYUNsxcFUXzN2wNft95sL8GgyoqmrBXMAeZPJ/pYs2pooIrzJ6P8jKDT64Irr9DCwdzNDGVAIhrJIaP1riBBQ7Sl3KAKqRJ02IXFm9MNZGGFA4ma6Gmw0D4vFjHlDDgp0R8AiGgVvc9sGNNWuGJPrrCXtGi+G7kcoLfA4iZ/QSiy4AsOqiO4WgBMjLDGbwGalXtCiy7BqPf+CcUB3EzZ3aHISmVK8rOWIJh4OTS0LYbbyMdMHVivXWMKyGIFjfE7C6GRyqLAQKiJfLLntfIScQomI+DC7FT29F/PgEaZQiJ9kNTaypo/PGUITwQxBjCrj/9NCgwHKESGI5nlgwfubwkT8JBtEnj1DigwuhExWxIrObUSgMU/c1tND1aAS7yQuTJLY2dnDhawzVxbLO4S0QJAQF9gLxE79DSRStU2pGmbHvFasWVSSdGl+QexnpsGqMdXyqVQEQYFgsVzLz7RoODZFo8UyKDcXkq0zosse9HR5UKgxFDZ8r1FjXZls6hEjk76G7FVcPBUu+8sgTOKDCY/oFWmEAMJ0LOEkLg8/gUcVbcLnfj2ZK6401ZhYtnFjhlp5eNgEtx5NVC6pyGRl8OrRME6RnZXhcea02lTrLayv59Wh8fQNFSl39CrdKzwq3CvxPvhh+jBjhD6yeGfuozkcdJH7CyGTidy2YSP3oV79oiD7DCFzxg/nzy3zHnMouPdIVbbzYMfN6Xois/aDM/NFH0tOvx56+/8CHP1r7gL1U/ChD2H8llF9c7ag0KasUItCS+XVT+BdVX9RnDeqyIOFkIlxdSs9ndEHUwAwPCAsOXDUPN3wsBCgtxurSdUk6Ovk604lQeZtQRfPazUAz0+ipUnTmG+Y6SSfBhRNZaRifGPwpTRUg4+phjuH4qkS6jbsv6krw++9rpEVgxJV+OvXDRGp97A9FEHRqo4Zhi5jpmOK9x2b7O6gMm8BageFGswNY2wET8ZbulRqEUd5BA9snT/vqIGBWoNTTCvoik3dgV2ph63oJqzQgAVP/XZ4/rzBNt2e9cyNogPigMbgfdKhhsC9oRG8SMd1aG9WlQNuBEfGD+OcNn/w+LAZNaejMFnfWYv2Rq/9SgBPwu/p2+aPnh+32Fo5CnhHLegPFO8ceE1R67p9Z2bRQIzgI/WKgnRVJ+5wzOvR7W1jtnt3upnHxDdGNes6FZctbBej8825GrrWr9vMXrn8v2rnOv5CsKw4sFyTkJyWsdqlLWn8DIWuQ6ecGR+DtKCxQH2muAR4CjgnT/Vg5jW2Fs5ht2LnCnvoJBK9B1qgbgULYKtG9Txbo4e0oDlvbZWY+KjY5GSrsfy5bmFN5pF1GB8+MHTI9KrVT7++vjOuDhe4pnQFDf1lL5CCSAvsv5x/SSLOBtlpbj7x6j7+5SzA20lU4qIw19uRv+4PmoiA+Hdojtg08CxpAeOC/Vs4O0bVumAWMmedXJ65gFbKVyHqqzqDsf4fWxu0TB3mITa2CzBPHSW0tUF4sIYQHRQMngWEZzzxYWRjpDCPxudDPDgAjU4ivDaB+VMGJEmE66LV0mrxWX7yz9ELLYktvUtF55f2Li4jPs6aWiFeMSJaLl4+LE3Anbfh2j5X0VY9+93q+l28txiISTerHQ7lsLaEtbl1KqOs31oX2xVdqFuuZ4qL3Nf3JQxclrJLXsXW0VHWhSusi64mx/xUcvWEr6Twz4qLrUFSOIDMNnl0VxBRtl1mAIG2bDHQpk0MZpaDIS7eABy/UiSqlM/KMxU49DlPM3OR2Mys0kEttGv8O2mBWEuTUNdsP63sFrZjiMqmDu2R8dBVKEbSRhkX3URcAG7JQ2iB7MFh/bkPeh/mqIefyARoqtUlL0rzTPxMM8V7z58fltgFtp7GAvbwujIovoT4XnOBVLJMBWfb59qSeGwn1m2FG0bFqz06JdAVUI5QBXr8rz+d9Wbk+nWkyOaFCJIPtelj1nZ0cj6FaiiVYuO/7EhD++TWBexBnj5FlOxZCJnUCf/OTCj5/Zunmxqx8QtdDCXI0WJvTPDsJWPbkOEPJuvNWkt9PzaegpiexBjbzcZhwR0ccJNObzJoAlkREcxDPI6v2OAFIvbhN0VE3KUrOLNQBWiiKTi2EfL7iNiX79TNXmA77GzhxZAQ/Z4eTFDDwsP6AOsI6wxnfPkSFv40LMwufKYUd3eNX3nbpbsM77LLzLTzCfuivv3MNPe+sBjkboDFLRfMeQGm2aN+4YE2TtuTIx3rmxN/ekS/TbutfkF4HO7YU3l4m0+Xkf6g0QC48edWQcNzHP3BLqPY9RQ6ZexDi+x1AqezxswM5nfBftYUhm9nZWzqOFHbcs2nbG5vmaUlurUtRZ2a1HIoWyPrUAszwzgDUH8QgCPNka69HWRpEGgOPc/baEt65ktdvRuNLXe3n9Fy4ZE2e0RZpkWb390CLclOv9Ue6XBmx4FCV68bl1E0GupyQKOUiU/avuQA6vVb1H7Ugbev0YOC16+B88d/MzI7yzN3QAAruzJMa4AURHluGqws/MBWMdfybk6BBE7uVllXgNSGGz5TUQhpVFauMbBZI1OdWGyvyqf92D9zf3PnfuYJ7ELh7nOtD549+UlrUJ26tXV43wZRZRJQr9yze/D7ikEgALLy+B329UwV+0OhapPHpqHhRMOeuNLlWZUaoLBiRj88rn1R+hdrdmsA7AkMSHoKv3jS7r1/UfQ0nzgO+DOqhEUEdUV5dAlFVO9eJ6z4pb9WPaZ09UDIMVSEWXtw6odBG0efcHVHbOWcqrBYXbfiEFA3wlU+6dQCpMzDmxhjnaSgyeUApgdJqOZUk/nibKrFQpnnTRYsqOD8nb1u2KdknGSWq7n2ZnAm6Rn6vZnQY4Zi33KyL53xjpFFbt61a+euDjZHc/GePZ9DKg2kpRPZTrYdbnHDv/WuLs0O8eezlw4d5JNE3d0HDoVeTBTv7jh4yPV8UiZJcOCAvaqWdPOJ/OG/7zVdwTHU58+oIscWQiYeUNyVMweMBzhyDqvlQ7a7CIqKgryzUO8v8GaHsofY9y8soIog76go1llP/WLe7G8mKgvNlbl/9TgsYhn+1rxfBCy91bpRE23FEpK4NfmRzkDv/9Yn/zG2xPxpLX0Ebnu35UOtLXD+HktO6HQox/KqTCqRXdU1VIl09xhqe/O9tYzaOU0jlZz3aKkC/d7GQCESKbiY1il73YHqlgEdiW533dpV1U+pAkr7OjWxSG1L4QJ2B0VicBxofxL1InfuIj0BpvQiOLl/B9Ub7LoyL3eVU2BIFTzYj1QJMCuqYI8Cy8gI60UkTNXePWUPVq58Z7LX5PfKtY9r/zEFfW4erYKjndmhY7YzRz1EN519nDyOzthMhWZ3HNs61t3ap+nAUj+uznLQ7FvdeqT1oKbCQaMEZWCP7Rj/l7fGMkeTNuF8EqwmHE88IQJPfGVceqcA9J0391BewHVVZSF4o9qly3SWLf3fiztdRiqdA24fGyY5HS2mB1gHTdfn+cTvZjSb9rhuV9/uSrS3dLNOoa0imR9SP2Q+VBhEtUmZeURNso7q4WVjNZxxSxb2rC9R1+9fC9T9bHfAddxVaASEhobCmQYjodAQCI2MrmwMhXY1A//8eFuxjLA2/2f3aPh1gI2IkqVnGwy92TyjHNcM3h57ai2hYtnbH/lr8RXL3/wExqSkFvDpZZgMAO/2Q7xL06otuzjj+87vxd9yfn9Du63PcV9v+EtoonzBO0hNz9abMBFiy6/aGsmz7n3YkebzbzzwnvoNrUKePwqxnUOZNxGhNUAOZEwo4L2I7kCHyli7HwerzaFqKs2hVXQFPckOBCEyhGZfC4YWMvMkJdRDJaHz7sming0teIgG3eguVgENfW+VOadfitI2KGUmQz9itRiyT07F8lc44jFMGe1KN4DW4KefJQKz5VDr2LlWVCt0bkzeRrSOn1uPQlqhs2N2M+rVtW7HPPcP2xVye3t5hagitEzqi6B9pMLq4j6LiAA1Tt9OfI9pHwe/07RnK0jcNy6Isu9q77qZUpIZeGiT4viku0aI5K13FsnwV7wbSvJn+6qD9LbtM+u12rTDAw3NCEjb2XMbEAUEnngj7ei9emeIGvv09xLP7O3Cq5HYe9WbTpxoZL1U5iclGR07YXbIKkqMSDy84a2jzzex0e3IZ+WJpRRIG0wlhJAhNockS5gC2hAlwSqBArQAyScsUcWm16hic4LTnByKzQlLlJDnQzHSADw8uFV/GItXZfj3L7KAQAAZSAL0WNBCLaiFfTMAfxHDBcSAtx0YAg/h9C90haRi6l4W4FpBmYf1Yp/KB+bzG7oqDbns94VsXuXXKYkzZIzPyJoxOpZ09nyj4s1fC4HzFv7KdcpFknq1FVy/a3cqJJspZ9wm+Nokqltqt2z2BubknOHcvru4cZulElT3tUllHM4jJts8V62pS1tsBAdnZQaDEJCVBQePwBWcLwVeVS+9X1Z5FXxBb85exIOCM7NCYCORTlfXKotoKHUkRUewCTV5Hd7kgsnUAHZ9mNnwcD09o7O8GShEvEPFYBH65SViUWhCIY17Y1U6J8vaIlfDZoGcv+t2PrL7SqMnxueGWbFYbFyIdGwHkrg4CZCC2DhIAkljY6Wt54mL7XLdoWGMlAAgEOeTuio0mLMe4HBoAZ2Ox0oDosGayRZSc3el6s42+mWdFCOw1tkOa/ct5VGFIGUbIkyWrpntYZgyeuZWVJqMCA2vHEm/dr5+gil9ETXcMPyV9nE5lU7ASAcn9goXoQFvP1ia+SgpJIOWQYdUl/kecs00uh/wN8hYbV/pjGmjQd42L2BDsTF+tEVN05I2ZxaeIoTDwuBgU6EpQpjA8zCzsV/PC61KGZFMx8r0VT5F/cp2RA1OJfi9CzralQ4iNRTm5YRuQvgw+WfPGqQYTraJ076qno7SiHMK/t0Q8Pdx6EBIsLqDT0LQe7M58zkz8WZkMJkamgmr2f1cAmouYLswevRy8BlkAD1sN60bq0eZ0P/M2UY9bJcTZ01SFIYDc5XT9TDd1KT+BOezFVD0MF3mUddaOpJUa0YTuYmkTHBcsV2UfqwrLQNEYrs2HbKMkbguahc2svwCCbaL2o9dHlFdTgR1Qt8PG0r9Si2WY7o2DXEmKKEDBlwoyKC5+rzOJMBBjC2zYyxn5TiAUUJaJ1MWKmW2lspsXlozNjNPMruY7YI/anUymWHcbsxIPhnGUwzeppipWbmenmL2IUhZknKLWoGpqaC21uAxwgB0VMWgeUHO+Y4Z9dYAXHqcyJUCA75Kg66hUssgLxKEUH+48n2iO436/Rt1OqBRyvQ1l1DLoCln0lpWbVUzRzY3Nto/S+PL9R3271PSG/8ZENvUr/V5R5FPn5CjAY1SJtOijkLCqNoIQTMjaqP7r6zoVe0svlqOIegrYYQguTnaCF6CH/Fn9Krr/urmTYGgQq7lY1rA+moanSxZliTNMv2KrmrguZAr5ENxuqzyEWcOWgeFZGWHQMWhUGY2FGIMQsbbM6UfIuR665idnAcf5HKKMSVc/iH/Ga4fH4ztxgMQjOuO08WewOfhuvE0yM7i/mprVJyA76YrFlcqaIqKCiltgCbPysrLrd+LxStUqqAgBW2EpoiNjVE2bizP90W86JE7KZykWLFODHFO453GtMYTsDjgm4y5nKGgfaMpIAO60jCDboCWSDnfZGKN3hBnUNALMpHm48dWwt+a4LFAmpGVx0+sdP6WATc3w5CMBchaqqn52bIifNcgquTXKwUA/pgQsDxCz8/T07S/7uX/BTKFsxPGB6QkIj5aC8/c192WUH1Jh+OWV3uwn396dS3xxJfSyFjPSZ4oKlTDxxiTu3ZNtiESAKWn/0F8AFRICwRCARUwh9TOzk1Wg5oKHCGqB6mVAu2qbTtNQmWKAMsA5zsCBYxThssMT8rKrxleqwmOGi41BI7Vxim+ICkB9vP4Bfsmxfv+7WowfbCv7lWi3dAuvT82KTZ/9Nx/6f+dfzX/Vx9J4wRDGZlQEJmquUBiSiW2tvtWgUla0KSSoaCMTOBUvFbgEePjg/7y77aQ/1/cDHS75xjIOmyg/McK8tYQa68Taf+0nn9soFQ77BR4Kcjtxp1HnoV/0JlxvqHieM2nlrmckCUVwdww7kE4XC9E/+Qj/RDrXM2ZfSEcFfwWVhl3Muc4ZcBuytjVokNLrtVhUWtXy3rMkqtJN1e1/9XkLHwKmccdP0aS/Ye2Q/+nTlJXTlgpJDvSyr3jMz++U8ep33/s3lDZcEmSUCAzf6gzleEWwKWaPW307ty5a4Yjhv/P9emJ0fPE1ciFg7TVhNVb7zbrrWK/VFk0GDcVfqh2Een4FSVBa0vVEmiJyr4o4xjekINjiH0Y/ZhYqkgyAZdJzJP7uqcNRgwer6kuiPfsJ9dVToKiIssnOVxnHf7uPRnrvtXqPDx0M8EjZ6D75qO+QTk/0vDTUVKiLk4SJ6Cv3zPR9cw3t9Ln/JbLM0CBkCme4IUSCeKBBGakBs56bnoqEng06ALIAO7n5fwgbxbqCVyjzyVdijo34+6DpJ7KTRX6Mh1RpSfzSmydPi8D6BvlUFNwa/S5UbR2Eynx0po2ebkV4peSUFx9v5AH+9yKi4L5MVFn41qKjUDigRNNLQZGOhX4Cfwn/CTeqvoEu0rqnuLjXoUbxiOESTxHO8T5xys7hp8g9Kra4XVQvMSkSUbyLe2J8A3lrg4TOmpQFdC5GrEhI8DoMREF7qTp0Drg9O8Cj7je4lRMkHML+wQex2yCU6Cm9SNXpr5+m7oy8/pVUvbl2W/fZi7PlEFUcWXq21eD/9XrGUq+cH7s8tj5C+Aj36vARav2o75GhrmXy+3164kostbWTa9tsBkOBzY9X99KoHo5nnG0NMQXNxiJAvJ31OCoNMF87byAFrpXFBNoaxVmW2Qeu+XWfSuG35+NYVHtnsFxuS8qVW9EovCwsIOMMUwS3Q+BDe3FJZypkUwWu+X2PSuGv59ZmkZwcFBu7mJVU7tY9NVonIZJYvihGIYGPG6q9QUJhcjxVTeS8qq9e54+uKDmf+pGZMv6vOS7EdUasQc3sgjOGSHuRcLtlkb135h77Z+fLfzfFuq9blnfVIpY9euyelf0mXr7ZR1Y0Yp70OZdn+eXuzi30h9EG3UFJaLPnk7XVCzKrVcK7GTkP4Mq7nHMWWD3Wh5U8oWt1QiESciMR4ow+VpcKQ0qU2frHAFVrJdJ/rnSXOibXw7SggdljpgNkhCTc8Lz7Q3prARmvGYp2lS7ncaBVxnBySGVAUs0aaLYw3wj3X6K/Hz+ZY5g0LBCFH0XVF5kWus59qfcvMUs5Hu8zEg6fv/V/7tY2scfZ6UN3X927JWwaZXnqqZWm5dnK1GMxawwN5eys80HQSdxqnlPntUQIJGBH1TvxF+M0xsHJBqukn9rSD8IkEngQJ7lCZWoMwUlDCHUKE0ktmHMY/rRhVy8IphjqQx25Xm/vMcPcrNQhnIj8bZF+lHM47YyE2mNMoQgRMe4mb8n00mHSVRNffJhMiB/csCC90pous2xir/r+sablJKShBZU86sc26ahlTHi7VVV28UJ+/406W+gCP3QlHj9GOZGQtlGEn3sIdsqs6+hBSWB8aY2VfQmij2lZdn7aYQMU+jdahSDMQawLyFJ2WzpLXCcqKzsqrNksh1hnv9t376j2zfMA7I3flaV3759+db7pcIsLCxiWWHhm07l5/efbAeVA7vwjXPuurpTwq+keS0KOaxZC0r0cY04OQWapyr0NuhtxyY64f7glUX/z5mf/ewwQLpl3K2xfuF+jX5azYX1GvQ5LF9jGtONfqLRrT6n3q3xTr1rTSLtCbp7F8BAt+xdwjHZ4RlVj8RSYPunNcxJN1+TxmhatLGWVm6SjWNkaNSxMW0HiNRQQsiGOLE/4brwvcjz50iRvYaQ6UTuN+GMWPlyRnCYfFhQs7xfR6LTn5l77UrXNFmOBhAdOOYulvoFhBAjiWH4cBOSZ5XLcjdQ6qFjggsnyoiRAcFSPw+xU1IGzabta+VDXnL6v1ZBNjJBFMkmI8wEOE6RhpoePqzEQmyLpbQtfPAcVP9IslPcnHVo0DUWP3ygIgHBzeQoK17Ygo/30SxY4IaRongLkDPAW2ygzAl7fKGkBMhXqTCrssyFdftvcEgLa4nelxDuIM4RlxCfEBYIT4hRHo9u7b8rfLX11iMP5a13UT3viOB07QWwJv1ZtZ5EbqJJCSn7+taRmb2NxNCd3Gsaht9aV23jG2Ouq3f4Q0bYMBPf5HOAqTexBRNG2FJXY+MTXkFN7VZ8mPbmUy6uzomunlQp9TzVh+ap5ZJYCkvbg+ZDvUBzoHmZ32px5mjsgacaU0OxPTMa7wmjsUNTGk8PxPa+15gB4VRNLeICMWqHwDueObsqYVmyq6vGslIV6Q9rhrioCE+cJhqeJn5gz5NPBxMO02iR7VHZLjG46xmjB3NyMwYTHBSQazT2evrJg9m5wDWfu/DmL/NNhNNZ3XGXtlqTOPNM5kP3BEflQO6k+klvf7/CEj07hWpJKZjzPnCAxxiAFSFSRiqhyJgwmlVE8iP320nGz1sh4qNyrFvmYYU5kYvKzLPdZ13oVWhTGOsaW2JT4lVilVJxTSjv0oSecyQrPBZfSwZH8ak425bk6zAK2zUmKgi+SCUUE1/4hD9KrAePUIZz6MMgKWFHuOtDgFK7swxWJ3eRBIXCCzOFyeHqkY8Qw/fowyjd1BF5OPDYWx9Y39131gfVb3odZAViiLR3qjjJJn+F37A6IRwN+0v9N8kknVbgN8mpqjT9DHGcyC7BFp5QsTh4cQjjxQ6H7V6KyuDKEBnDyx2vqOfLqbHR2yOXQRfrbYutSqz/U0ZFKf+zLrEqtq2/CC0DMve2oqI292UzxKfEtkMYUe0a/GboWxj2CmhJhzLwMsJ7g7Ct3K38rfpbhz9YvKffC8faUe7fm+I+0Lrx/ftU4VRVkmXveR4TH2V1QSMu8/XSB2NxMnjLwHH3443Z/ebg2Dq+GtC9ZXyrLunM2vlQPL3qKKy7JA3SIC2Q1IST/8S+t3zZq300fYAdf6jmcKhXXs7Yc9XzF2wCrC/OG89ftA6wucDnadrg2Pp8fTbORluZUyoE/bLdQgCMPhlzOlEVtMu0SsNK2jZB+Ko/39ChDltd810R21By+1C6BlbP74btGWddLDYV7FA17NHu/Pq+S0eg0/XkXkFev7ZYGzi1rJbsR7awptVP4mc5CnQ74QeBvs/AkvcXoF2QcPTUL0ysvkytk3PKVoWUIap/grfytmaLc3g54HHpMl0f+zXtTKLlMoxbBH8FV+vnmenvWYy7grclTBBwhMdihpFeXLpxQ4MnU9MF9jp4wmMC8/+1zAFmX1pufYhnuETij6Y1Mlr7yek9NTsW67xL3dkU3T99l+T97R1ady6tvStbOqfHMgDOYUkEpr4+k7BrwRTScIbC0GZQujuPvJ3C1abb4TKoYHthBXY79PEZtJ1sAktr896bxA7gMqoDUTKf96cbpRSQaMnAcWl1OnMY+f9/pMjhhZCp8GYrZUFngVJLZgmy7r625DQ6cB5y1VvlCVZCMznOGS+3Zxq5mFLHTgiWvzI4clwqcmuiPeOMTtgmGkn8dTLFfYSolwfLXiapO/343HZy1znWufFNbf2vwZzD21meyeeBIakuRj3sKOONQfqDws/Gn4oGLkvG0b7ik4NDJp95sy/tcFeL9Oiv6WrA7cPHRFsUfeq+62Dx5MCQcfuNBM7uZZmWg0Mni+cOdW+xNvkyUfSa+/qfcFpbb940OPTG4EPbovQH6Q/z2z58bVRAuw6m/pBOrchrMcCZZXZoOfv4CZR6sXCURqC1h9g0fDV5PFzdhUsiN2jle70M09RkZ7VrOfv6CfYDwRikBcbpkNofDUJDw4m/U3tBVNShhjMRXMSbAJbcKl4fHbV56m8nnQd0LPw/Z6HYPzaWH6dM7YOiog43jImI1mSIjNiiDDXaZqtMawl8zqisjt/FdEHj8S0ol9WmJrKrC6PRkA8ILUS7zAjY1cuGhvDzMI0mq7dT+bNQePx6FMt54BTwM4WAa8pyef/2fsWU4tb2W/I+w5+Knz+Cfy79ufNmuDz8lpgw8IDetAtS79HupQraPcpx4qBV3qGi0BBZZuUov1kYkx+dr2c5EjYLNpJPnWSfEpw61KVUsJUCZfSImkxQW9Wcom8TamdztFmIPnEbu1AyAHkuqncLR1rEzp0v7Gr8kR0PHu7ULOrBNNJD+gc7EK8iY/v/W0hNWKn4GNrvIbhq164VSuCFICtAIElFbChpy9Ruphx2gEwn4OC6dFpAIfNvXo1dUGVu39ivsb7cwCKIu8PKdsz/614W+kv5ZGaiDEVSLEOgQMZKARgpq2Msgn9sZDMKI2HVA757a5cMP8ifl7nGoSJQR6NlbzMMBUbv1wgTnPPeiEwGh5gKTVoCwT+VJ1oHGI6LfdJiXyPTV0oUg7ehRqorwWi2+dGzdlutqyx/WeBku0O6Qx+PhpykDSSMtnBaRhOG58z+Dm5uZnPKFOGXAuePJ64dNrD+XfCK26FN+qMxPzTTR/ytZf1Lb5UCjyNTNKlknIHF9yGgCUj/0n4I+SE6m83eEkzGPmhSSSYGOgbam/k+mv+3sM7g6QLndpJmkKXB9NA17k95dpapacAGzq1cnaJHLRuhncjTw6gGJDCoSmiiozAJihC08pLkxQ7ncl3IArxxWH/CIpASHGOFhNtW3/dQV/PZJ8xwQMG5e7o+W2vyiRK6D5dsO1IXCcrhRSPrV8OV0LECrcgG3L42ODd47vDq+0gECkUwKoM7K+A4OHZTZTFUAncvQaKILpEKeSgGP+NAEuiKdBWr1aiHTXTs6P66Ng0ryquBHYKYgUVUZpf5jfh66NkYAgHPIeZEhTKi4tiKYxUn/poHd69ZygxnhUzTHxywJoMHApM4sSzgRliA2DhO8Ny+Gsff9+O2kExRZjBT6ENDexRaK+UVqRp01wg4x0N25M7fr+o6PWuP7/J3RISjhBGLEcKoi2f33dEtN/VYmDmwuGp9ip5top3XqZVD9Ih72SVy/qDBYB61ow2ubB7VG1XDiH6F/siiznFG9DOByI6eGcCwnujbpkHApyUVBtzJvJu5OmLKzs3iye4u/tkcaGXr2TemWVOXHlU/vpx1/Y3J9lb0WcHubrMngXZJtbzxmbx6WSNorNO2/P/AjiaJK2xO6v1mtuixv7nMwn/Rg28Wvbrmvh8O9lq/06q3IhFKIWC+NRmuqYGTyYIpaJ5PQaoHBqphqqGeAaNk/j2Fwp+BqAIKFJyZGQLP3N02JCcURV+Qwl0Ef4vFlRb+012INC+mWHXZDxoICQlait68dXntVsUBCWIbPB0cZMdgFGD9LQd9qOkiUaVjgH1SV1eSYEdKpdhLOZ9WHJvOUcrCOoZszy+ZfhzaoEsSdYaGKvCgOh0sqINQe8MYerxUGkePNbIPsYPE0THit/MD3gNCYakvoY98ei93Wdnl0qyoWMRPojjhq7JS/g+7EYjJd19kqYiwzKu0zB0485tys/+Ar5PIU0TkW4Kq05NCHnoCzRNOypD5aEciTWRk0qWaEZujJv2TqLwh4iRxaBKLXx6cSB6VqSM+2JHJE89mTJtGKJSXB8sCWguFZIQSkSOzBUIhEA+ieQlpCUDy2oxHoToTNM2wg5v0SLrq09t9oPh4qDp84uMSUFwcMeLin/wJFgKlEkCEFhdCwQmjQUJIc7zmBegXD4BgWre4iwZces/PDOSGlrPLa10Nz0bqDWcFTgpZFn9zQkb0Vg136PaGhmo9pSr0FdSnBIOhx0MGhMk2c5IQEjr+rmxcFkombTqufCSy0f36kMJJ4YzHAV7nqsMRWADI9gUYEPeL+sXD062sCcsJCz6/3rsl3ukTBohTrJIbJXFNqPUo0BcU7IZztkpOCfDGmKLrPi7207ZOUicn9SWRja2ScHg4Ygs5Wc/3rkHBKP715x8rtn38E+Dt1ezif1cfNwv4E8Eg+HlF+rmrNCNuHUAiynaRfrx3um/2WEkYhT+1Bv04tuIbLuNB7Dr0FI8SVpJ1Ot03zjufY6teQrO7cGC5zDlBN15P5jS04rxdHHbIPsw83PyA/csnU6q2tpU4hlbHsmX373Vq8vDN7993gsK5Z/N4wodnH37+iBoKJpI1yD3BHwh40nYOWhhsr2MfLEQJ448qDIOBQQHZjoqeEpFbg9eeQQXHkEVT6Bk+eR+/0wUH14WIPbFjhDOSnjY/Mvw3Pf2hEKM7TR0ZfM8sKjjA+pD7dxkDPYqmyw6RbsXQ9fxO+EucspwizsHvv1eSuNdyr/GOppDpYylTkBY0ZbGBK8dNrwcSiTgH3ekSp89xKYbC9chAE5C9Uck6lnp6OA7SmtOka5qFzT062AJwtWWH6CQyHbOuDu3AIRqJTLsOSiYl2AfcIxV3Gnuh3sYA2kE64EVaVeRFCDWarAl+cXkX7GvwKzmNbielvvVetW6+2GTCMXdfUYmvYtatkiCKMPQxq+37KqeLj1/0tZYTHB1lBKn5xctW5c4lvVHZm2fIJxo3roxX+9JBqW+8TJ7ZmxV1rsF5hV+yhBGqFSlVDJQeO4+RcD/3lslHpD5L45IkkuTYnEifYXn60dCUBHN+l71BJL5LvwcTZObSZatP1avEUra6hbiSBsh+mUcOleqvrcFXfUl3Po+3nFRChquWWvsR5KmpSVf5zKmETBMfP+ZnJSeO1x3qJesSpynIftXSGJ2G3mA64KoFwRAv4RUdMgBcps+TrDpcz3tilJVdaIG80MxWAi/h1xMniKfiiwBszv1Ei8FHGX9AzPOxtV3aXa9eq3RUdfVdeAOtzry869dV2sBhxuEErf9R+MgzhulxiVCmFAolFgcdJ0f0zLYL6HKa6UFMcMTI0AnM7cUeGPODHDnN0jMWqqyE4khPNOdIkDQ2WgRJoJhYICb2jRNXWQnORpBUGzc25g1WV3//7hnIZFXHxqlPMmGDXuZOnteaJ7cGyBtEdEr1GELxg/RU4vx10FWD3Fi2kkzVouJc4IA2kLXRL02QsYB4LxLg7/DNKxErFaECtUy0rfavtal23mC3Nh54SfQBhlq+L5c9kLsqxOp7ShJAvDOKqJMyRkSIsvIKQ5kACovM9YaEEHWGwhwtovxL4dQkXkjpouPmBWUyjsE/zHjSHHtuKH6mLNaw3PV66TFI/t81SJOIY/IhxwIghjLLVkXDMbBcZ1Cml1XaHAxSs8lhxSVhpAgtTQH0N4JNsv8lSm1t03B0Yb1zXD8mG3/W8qTE7JcBMTy1b287SZZujWJzs2aqozlrzqdmzHtok2WWVxFBVFKbf2UjlC75AOr//1FFDiyETCaiAXsbcvs2AtlmiBL+0/DxcuhUm/5inSVJjxd5FDi/M1XGhifQ34tzUmtl/8s1CQKSNz9gs9xJ502glpkCLM+iR8we91MuMilgnm2uN/ZhX+w21pkWXJaccUPpEmceuafw5+0PpF38Q/GH41ROXYH5bIl3fQ35rOWJKN0KZ6D5K6dwSzYfMSuJ1GeL+5Luylxle3YVCm7lBh8KylP7FhjWnpq8dNOqip4h6+W/DpdwHG+/jdIn3Xb2heprSr509q0vXN74JcE4ePe9K6fPbSo2PRJ7xMwoWUdooOlMEW0uZshEYneBd+nk7SGhhr7iXCA//04+3/WcvsJbQ1cmooki2PyPpVni4sav0+fSqqxLzw1JNbsv7NVdvHZCOIoShZ9LDtePPGe29fZtw8y1pStcSzWjV7a27PQ8YIRrt7DOcWLJcZvqpSr3prPnzijdfN00Q6xsd6GFTzPLL1RkrXWjm7bruZHGrXaU7rkwXphNX5JmadW057C2aMy9vzIuLn4xPfvu1J8FommngpUWXFNIyIk7rBMcv3yVrfH7c6lrAtaWfwjKM3GfaVwRuFZN6aMZdC4o0t0HOOUX7cl93oYygck+mjJjwhKCRtQ2pWucm3JPwc/bs+Sdgu0J53MrnTrd4tmS8NKWsXMfK4E8h47/taR6BxHTtNR3IEx041YLnue5nw3KRWGDwi3r1d0rVS3jnnm/z5VwHc/9jNQ/qR9WW1T/petAbfWajegEE8/dlx5aArvzqDOraOdMU+cx8aramlhJ+KD6pbbmK16EmqCy4olgTBRbT28Sif/+9fZW0SWShbDwme+eiyxSTa9uCELfnK8ETRWVc6q5CtjhTLHluuFs+GjRwcaxyAICPTXMWXO3qf9IBf3Y/Mjl3j6XYnWLJ9Cjd/4APvi9siJxQ8XVOVABJnbezDa0cPWmT1Arwd8m1SIuo0LkPTIwEjMqUEwoBlXBoRVcUWlJRkWnBmzxqoez1EBPH26/Wq8+mc0hz8VfGWbMryAt6/fCRn8vQBk7aC7CFB9R3NmqLjVz6tN6WjQ02/IuxYVoSBSJWwc2kryLi4UyqKXZRI0ktSwb7zZ/n8Vcm3fhJOr3b+RkpH7/Oomi1l/M38TncUPIf/+hhlAHum8IQeAAaohFZLK2IrduIduQrfRtRQBFt0H3oAO5fBmho+PyFUC4UsZBN+1RSq3wd4TWorYbW79uuQP7R4BvWWbuM2pIWVIoWMy05lrZw8GbvpsDs9Tg287s40usXyS8DHlZYqlM/BJncM5JuhdVq+YaNX4nyTCygReD1DKbiiyKTW6aFFdYeZu+E9o62Tm9zg6AgK0xHLcK8g3ekTzGV7OjFbapcSIr7GzVuXsjdY1tnYUmJ5E65n6x8zdWWKienbN3uP72AH5j4CGZnrepbYhuuNppb/bLkMH4lxHqr7+nGHdqFLsrvZkw5Orx7QpEIEB0IRMF6jrMKN6m3nYnqzRAw3z0Q3a0EQG1RFRgYXnNIn8vNLF7ImtwO1KpftTJ2phVq5ZKyg7f8OURPkFLGnQuq4SMQbiVYRiwG6LZGkI1xvjaK3VmsEZi1rmg8aBzAoJTivotZ5dvvFe9GGyvyiB0RXYpxaF2UxaZpH4xCsOrtXUqO4FHL39J3THVSxdkaI6F3869Sofevh1COWVpvxWK/inpNFWr3WMdxOGoYtm2G5ELF5AiGxciSOtUvMwyLzZ7ZXuQ715H+3CaCDNmx+3M2+Nc+0yF57V0hQaFBHW18PCqaCVTeAj2IiFHRcSt0xMbmBTw2/Mk6ttPZBg50Z6cRA2jfvxEnQi2bn5rTKK6NUyLFeElZy5lQLdc+5D795FepE+uZB9i/4iFbEyp3WhAw7P1b9SYVkqQ3vv325cJ0COWToEhS6B+1eKqpcBeO7pGoMzres8A4Tqxv/f6gS7t61rdQ9eipvjU6xQB5TrVgHydwptZ4jjpySil8nV5FOmct3KGR82k8vR4lMzQ95HaKsV8jdosYYmspIuvJBvc6V6muVdSBLoG5JVUbR3hvcE4NeMwKKVETG1KOrNA2klJIq/39hOvEwZ6rg91a13X7jpwLUoEjT91/X3L9dg1aUOCpWIG5F2/SXOje1ux6FoURK8DluhB7+VWOQBmllz7k+fDofx8KHwcDADIL+Kf5OS33tr+Wn4i7bdds4v9T6ozGgxzv3NHgAxsq+9gGMDeFlH88lQTZy3nMpSLzKO8MbE2d6j2+hLqHRRahkLGkSbRcudPGnKHukBkv3n97kWqKYb/k6JRP3h9fiAo4DEbDzdFZkCxsSeC+nOLX3PiBfCK/v4VsEuKcVFtmpFjFbynH17hwIkjVM6ku87OYj2TgjQ0QTE4pSyDa26ezkyvOqWklGGVUFRt85uCsXs5D7UhSUyMBLLNfRgFXEX5An722vZZ9ket8fateXxfX9Bv5+NL2wye49n1g4vn5VBhERRxsl8UOvEvHlFYZLqg6sBAHG7Pr1YJsOD1WUdRX3LQQdZDQMTtrdfWV8qGRyh0yszbGF2VvC3QykFgA3ng/6SdJl76zepnxh8LBy5rxpG+otHBAZP/eTNf1Oivr+YHNqVbfJnhmfw/MDBRBG7LLcwpWLh75+5ClYWFjxfoURXm/T6zBe3OgnkHjNyFB/gHq5V3EOA3j0QcjMyrugMEmAPdJBuekmeTpAvkFbUSMmfzD/xq0Wr8j80csqT2CQC+Iho+wvZY1v2NR6WmR75q7guBXzKW01/CIftuDh3JDB0eRfcV9iw/P3jr1PKZtfH5/LOf+fsM/jnqF7vzOPFX1U4KQ4dO7mZVAnfoHcqinx1vTiIeJZLM2XEWAyiSlX9mEoVO2ShYyZmWfm29jb1kujaM3nWmApaht/rGnRC/VHZuxM5QXbBJP9KoW7eblemZyVJso0h9mY+bDs1wjbqyXmEUms7dCD4rcCM4toheVKJ9NpUMyHmgqcSQP5uWbNygYqtGyOusKCsr7bxTVbtPA7AD+p9ch5Hv31HDqJHv34a78FBQIzTO9+/+CaSWWkdXJ4c3QiNjpRq6DAgd8Cj3+qMB2gtPuzTVNd6Gtlq7Wn9+YGNAjlQDVjTZuDbjYOO+qffTNrp+ADdUA+/bh9QGKDwX1F7XmksL8KNloTBLZIAG+LH8OJviBzh6hr+/IrQmg2Id71gIqh2tEjIphbLBAwGKA4wKzoBi1MiPHyOjpPz8UUlQnHf2P3j5ZA+qt9g9qC4x1J8iQRFoBbXmAWcNToNOz+EvHQdlSP+z2X4NILOzXoCK5eO5/DjMbhj0cMAO0Q7uTtFOODU1qCTIKJ0MF3V0FAmBF0Im3hTdlfpmv97+N/pvGeMt4CAWh1Hz8yglh0GUkM76AgqHQ0EuGELmI8g/B2hNhk00hllHp0iiDkA7DhdBA0mXC7wssOTFNzKdLEyQymIMBQCqOk4DIBFAxmCRkJh9qJcvUXtR+5rus5EhAA/AQlv50Hfa8xUfJEb2K34EWdgTLQ/YRgZI3R1zhCWrhKU5TzcOAbaRO2R+QdgprF9gWEKSbwDeqkvQ4IYSQ7BHair5fYSeQWZ1qxup77UlXThTuGcXtPGo9i7wwKu7dd38u2r/cPFp0Wnd0MecvGpfp7Wme4KAFy/eRBijOR3tlSfU7UqTqcnS/mULdxC3/t709+95v5fb6/X8dwGUUOMEdpoWp8isKEHQ1S3LD8+bHjFtnLPjQJHOd6I8Z2sBWFEH+GmEq2QwNZkKN9TDr9lon3ZjueWGG1AThU75SYHIqg03UU5Jvx3rNBmadY6/x4yBb1KSLzQ4CEmjE6Romg86JmHoGTGtrDvOqOSWWTmFrgORK7U+1iUYlm3CpwG3vspuaqV6lbYeqfUGpANRKtjL3CVoB2rE/xah1+dCzOM11fUl+bSOvnz7QYW+m7ae/PCGOlL+wBPSX5cgCT89lNVt3mXebz6wy4Y1YN6NAgEIhbdYf/qWHVoErMW2kVBxMaTsYXYxe5S35SMhZXGxMnLtWq3Q0AObUYn2vsCu2BT/JHBkORzgVrNtV/+A1kC/5NtTbapIzJkjFD611tayleSUtmzZT2bOx5FF1P2YbTZ/xeB+fEVLXEsFfv/gCqNtShRYUQP46YQrZIgymQrNlx3T8fbpU9vehBqFppMwbR+mWgmh5v/PWQSrM++nZLHpgNkAixbgbfEgTelBQD9ryzqUUGQEeqHSSzzX9fbXuwCaDGMotTItYOXCB7mwkzJltitq6TEAuzE8UdqwzZQfGJKWaukonKVOkquOCuvZLCsL/SyN41jMHWu8jBJlb3Z3V1XPEy6R/zSAZVBn4AY8fjMq6Dx6BcOIUQ54oJzRlDCgP+zaoP6AK8lLOaA/SMyDMmhcWgZkBGUyuIxM6L5hyqhRTqdguSlp9h2VMjdDmpmjUN8dHoyHli2DlMQvJR4OmfQqfyg5GfIHDKXMTTrHdymhoiIIojAgpFHF1EgV7bas7pgiHHd5Q5FKyALekZHdqAcPlTMzhmnekDIyhK8E6WYThGkijTXC6hYMGnE6bq5QVpdRp+xy5D2z/Ee7ZlBgzaUa8RTfLnQpt32CuF6j4adbulum8bRbChTVNphG6Zrpnumi0IINAerswpuNwo3CuR6n6JlmTRMVBHui4O6JNGuU5SfKaspznZHBGIPnlXF9YxbhV6HFgvhbK+YpjDGihgUU6hhokSv1iXoqPa11vm0lWctApzAg9kK4iRd+Ak8UaU0nU3bbTxgtf5Ecc5F9BU/AP2QPzhRmSXjjW/mwZxbsOlWN8fVNkqlPneULS2bsGb4300W9S+2aOdbYz7nL6f9iXziMv4sfxt3DWcOFRx3uzsdG5wH4qwdk8WRVH/2Tn+HrHAplZ0OhUEj3hULUEQKF6jxrAgKwOKM1yo/Dmu2IGVZN6HlZhY0R9eHA//sIGrWNLbaRcnmk7docJ0u268+UU5u8vY+/k67t3X0YUA+J6vHjwOYlRRthlcP6R8paIwt9bqpFKsIzMlHUscLbj9R92TK35oiI+1V7Vzj7+zcdiFKTMX411ItKvUtiOQQT3dRgf0gkqWQEisdlmYtWkvbmQYDTGcPjpoaZ7UuKElFT1QMCOs8O+LbMMN2b5XKXoyFH8cAeasDURZqhtUjJE8Ys1qNq9RvrQe025vIHnxnqo0lELeI+Aq4fj4qsbUGpEZI1AuNqIF97pTo2Z+fNJHUDrVsC0fqykynENLbQ50ra/bSBBFbBFTSeZHJdTtDCaPk1oPHDBGz0MfzxihOF81gENw/p7ArZz9jzuA3y8uvt2PnCE4TjmvNgYf2N8DA93fDwqSlRdPVe+qoWRHX4sKoIsgAG0IpsgOZr1pmuk+sKatCKBD8LuIMJCB4JPQ4ZjNMQHS9ZiH2IrmPIcxQSuhs2PMAxJIngwRCkEKXrGBwicC7UD40w0sW94RG2KkJZ1VnsJEdv8OH7ZNc3O/qsD4jEfjifUIZyflksjKEfjmMUoZ3K0PEX2kAUbX8kLeFmKLFJEheskoQSfOJStS5mt+zBunj2CZu6kcVR7wTke8u1l1/Uvujm3xsbdsRO2zjjXJm1JZ+P04o7rwW7dK01xc2u+JCAnfVFH28q6/7pU6hfv76TQVHK9EvMs7uv7aJuoKCi0RyrDp04jbcz2r7Gpz3S4maoZt5TKDqP4l0zdw0mf6TQmtUoDAodnHDxkUbWFH7TiwmI91PmebUa5/IPnThxiJ+bYuaVrwyM8YvR+YdQo9wfbhwjK3/fHVeTvkPGJ5M7YY1GbywF+j+G+l6OZZB4pIyxl5fugZ+OVoBWefbsWgKtyVjFSGCqjJssn01w+g0mk5KaFOnUSEXl0hLG1djYSYMug0cz0eboPfFgpucMMkXXZlDOUxja9KnZp7Hn69lk6dLAUV4EmARyNBMy7hJDX8TRs/j4l8pM6EOBu5EnT5EiuxbdbeNR5mQXwCB4vql/NM+wn41Bu/ElegRm/t/UERzscvu2q0N2RPjmDpnsQ+Q8NTLj34X0BfBVd7qlZbKk2E3TLeIu5OpVpEj3QkgEkC4Y3UaNyJEjcAPc2LTRBjqRRqTBCLg5XO60V6cG07eTLaotQM7swYPTGzZssUAN3Dl4aHrDxm6L30Ct/PTp6V4rMX3aSSLeQqbB7KKI/C3ia4aK7Nwdzv/k5T6oCzjapeD+L97ieOeYJ4P+yIwr6/Oy0bL8FWAQtPFq4zoZVzPIKujMGWAe/XBMiA2PBxLINzHRD0LRAooSgkEsVF4BxVT4hBPIcvns2MPklOkzhCank8stSAstqsMur+I4DAh9UkooCauWpsFyqDZeKyCEkFEKySOVWxpGHHnz2wGLMnjzJrgMdfNmGYA3bVYtkNeMLxxB4QegfvPGCkULPDZmvOHXL3JaUxMw15RaSD9Or6L+tqz+OxoYu3fhzTP495smNcmKasWghcWd6jvmg3eqBq7jDAJnSG9keuTZZX/gEl/jgSrfoA1G/VV+RgPrUeYDKHntw4y6vzSftSV7KpgvIHKmRi2AY9KTnJxplSoqerplVXq961B19d1q84hb3LVo9ba5T6o2+JjSd2Z+KLm1IMftCTuEW4w8VZQwyuqPU5XCaDKdMk6mk05A1lAEiU4ep9DJ664KvYRg+hTHlMch0cc4Y0olbe1Tyfqihw2u38qhaHQqVmKIFIVO0RcIiS+eivO0o2QsDjrJybt4jDNVRnRrsig52wVq2VqliXDiMopEQl0OlUSSJaQzvIfW1UVD7i2EzPGV65feRenpoe4GNEqZcsklNy6jiMSsYMhlrteWcZkwbJwaNtR8iYXGCMG0dqgY1CbUQ0modEpSUVEmIUnSx7CdGFPcYswAOHmqx1Js6egudm8HPS51DFyIfdojaf5y1B1Z3NNTCQeYFSBGPLy4FfTAzf+8q7G5l87/+Q9e1Xd+a2byjEBXMOMDR0QMpsoPZvkF+STKU+UmGSGhPEREEejaU3wNfC+uMY6vFaPDsAOy8qOmbiSDUkaWZ+gdr2B6FkMdeg3bJlNae5OoHPg1hPBSQLQNCrZPCxsi9jKzGUuxPniyTl6OEzZf1/fch/kPtAxaAXtBfisZ643ej96Onqvx0RK0GgZBz75h9Ngzw2hZOrF+c3XODrUwbaG10lU+NRKUbc2T12poCKPmmj7/YZ81CylT3DQpXMLQN+xga3DKYGNT9G6WOqvJCK0G5njW9IIGdgSWtiLiCIyQp1CiRMnOKVzxmUsevqMRReAk8vsGskUR1uIr2E1Bq12L0sCQptC8JOddZGyYhBkU+XXy1w3UVmvNyHKA82m4aWFTOsN/N0UXa23fRVFPS+BmIYsbeWEg/j3wK4BTqEIwmuoh11p1OtR57n5abtnKNpgWqoFFo/FaltNPdP0ohZw0Dfqkhpyiu8p1j+4eN3QkXuR/VPeoayuilagn01FwwJFc8ZDYPkIhGZIkp09Ek/x2Uuja9B46ka5of+/xSIs60zrB11uEabV6JWxDsW3LY9a0s4vHAyvwI/QRRv9wsjeG3tECvMZo6e3ieHNYEPwl3lA/TR4ESUCyz26sFMQFa8JCDOQNwLtcTrqmECh80WiT9q2xkPuy9D8Bu5uHZH5+aAw+WZIPg1Ydg9/iV45yYZlW3gUKa6RwSuuGl/5My4GQEO0fqT9ApmEmUBmDCjr4vhxph4TIVipXp1anh2dUp4bDi/Kh8IB+A8N1qSOUl73b9t1GMiWo1Jb7v0/kRqmbWpCdW27Zym32nD37Aow9Pp5JEWXKfcAmWFDQLxF2ZvGSF7TqdBw9vyAVHN6vLi+sVoYrqlle06Uk4zRNFQ6FQXk5iMxgRK/TrdmtU5cJcxoZ2lJHhWO6gyTT14Tym0BT1AHYG2Fewukj3hiUEQqNqGMcSIisDCE9oA3j0LZAUDxZFFhjhr2wsBoDzqGyvYpAnZbe14Y4HEh7KixcF84EELPJqAKGM7KgwqiJCaAMuBbIj2hJa83oqcQTmloyFKtFzQErYHlRMak14wzIXtbXcvKVQYXCNoPwhnQiL8rE1ILqOvbIMYrff+XKF4be3KU8mjQn0h8ooOIiSAEUxcW4f1eseEErayXQ0mUZ0PBhs7Lqgo8ydG2xlbFivQtXwsKK5lr2IiQCcBD3UdSPH6jRgEZZQrpkPygxESLs93NbwjC1zuE46utXlJHjCyFTdve5WGjx97HhvgGIhSo8BYptRix0d0fzZ4VRl3I9iw+NtXyyXpn2U5gsnDW6EYesCElwxlRirTHlWMg5JPYh2mSLhR+HpFl0VlKzm/WCOeisuJEqNbCpKpDaJXTOd59+jwX+nDrt63P6NKrOZdinTvn4gF9Oo6ifP5FRhUa5AKE6opJ09IwFQQ/3/QN9AOAjZMhFgCTcb0uyGPJHiGIY+gjAB+jg6SNxkYgeCkTQczK0ljiuCStBmYO14eor0zVj6CACBW68z0ISHHYmHPiZ3M5sBMhEEvVMKirG8jacVjfWQ0Os4QPzB67+IeAgnk9PBqnWJWDBw+fbrT9OWiCtJP0dChn6q5gLpGDnENsFZCXy11bEv+aFYAf1qFUFiZBBm9WjXNmFg+sqIPR712kUVhgovb9LIU9ySYcHrBxawMuVzxrpL+V0uSlgc4tQAH1cUPSnMv1w+mn71/CxIQgr5DHyFxvMd+azk80ZFYYhlL9NAFdeQf8e6gM0tb/f0MUwL0/SJlZKtv9JL1Fp24PVNqAHOlk5fqNyL6RNaisR/txQBK0CsFjMQc/48JEKz0pYoKSiOGIJDFZBRW2/Fou2E7Wh0fQD4/JR0ELaUSb81ZZ8ZRIOiqoUICrPJpTVKt4AG35WeG/4BpB8d8OdWMg3LskHrZ5ol6jug4pLhnyxOw3z3BAw3E9kRjFJ/SMwp8AjzTbJPiiCBtF5hJXtajkyQLKPMdIZWDYlhmJiIHFAK2IAgFKifNzYCIk0MsbqCqo0e6bVp3uQnnfq73pwn7jlauVjYws+atk6BmeyWakLp8cq1Crc6pOSFELF2NhAZJaawHV4B18tu2zgtz7ds6dhzx5B2gHLVI5rhkOoV5qDay68pn5aPSSySt0YXj5/IzjtK54zYfHxZkRFg3UqEKHKWjYDDmI7hyNT8xJd16PiDB4+iZ15OA36XsXmoLfG3PuHc7En2tIutf2TqnUrwgKbly3ZUCKq2UtfgYUVp6sNcr/UndJoh8RoRaAi2j7RX7rEMW1WTvrL/svWvHCUEK1wU0S/TGfgktgH86cunhgc5jR9KYZNPZSp5FZjag5nliaJ3hIs7DZIozMPLf/FWZN2JEoCygYNFrlq6LHd2BQNtxZ3qlhXrC8saP8OWfjrlnJ8QKi+tPSpKAK+6vSlMn2f0rPpzFcMKaszVBm0BlxFWGD6M6mKGXEzXcwTDE/TM7v+11Je1afZUh+DZhyGiDXV8MmnMVq9mtS5DJMb6eqiRR2LXFnrdf3ZTp8C1M0x6EDGkD3qZOtZ0wqbKmOcH91l61vrs/cC8Oe3Ws4XZ2MJFhIqZVNCECXDnW6U8vGW60xZcjiUUwCFxcNjtBTGKsSVWn69Re5sJNEIoCcthsIYKbQxOB4Kyymw7CpRbBPLRsOAE2uwjYbkiwqbdIRQZCRSGy3vKVKQv4VgvcMjr9Ez0aJP/6oJgTIKromW9wqBQoYSrgYzbx29OI9bSl62aZWdbNR6FLVQRiGUvc8ga/0X9bRMu+5LanWjgmOzRUqbnpj/8B99fnSSI+fd9gVJfHVD9US+HzA06TElWFG1ReuNTVDRFsWp6GIlClqSBCxWFOQG1Tq7Xd8oyEDDXSfxtr+IofA1zRAaldQ8SBS/G9Lpmf776VCs1ZibDsx7JsSqsK4GlB5dA1dsJVmFcdVhPP5kV5eAJBjFdvdbmv0A3zCyEuum44ZV7beuOmbEGqXXmVTEQrEA8ncsY1T1gSyRe+YD/R53W6Fh0P9BnV/64Oj6WUYx32vIsNST7FqSqoeq4G/Twjl+/97830t4dGV6EHn58pyX0ChlYq9cv2+fkhFJy6Bn7Nv/UNLpcZiCGblv0IB6LxBDQP+W8OTmCqiOk79+yWRBfB4yiDx/gRpADT5/PghBLQQZ+CuzepgEaYUA1o1/QThfpydl15dlXHug35g8u7n6N0Of6vNweUZegNBDCBZufA6zkl1dKl5KfKm6fJG097hSuba9F00L4FjoRDWgxJDCZONZ42pNiqEY6AmoMRb6wRPB+hZZFlI8oR9MiKEIysaQ5gRHcoynVsJonjEWFkYi58bWasiksDBgLDamLbVYCs67JpqSvWj+56/5Sv/6Sd3d25q2iAYaxKz8tZlPGbPUGbqATZwqp9ZDvtIc3TqkHpZwgaDo/ykJSQRnyf193I6oK01bfDEdaIweENNmvAngDrhLrNXpBF3AHgh19+BxUjMHPyAOyZKw87kjafRMD5o+Ogl1gijGcd/ihvGh+GFcC264OrRaTZFt6vouzpjnA6oLWc9G60/Sb3MMNg3+FbvOz64W8McvCzfCSVXV31pgHkNJG72TFtjd7L9JPoVz2G7sey1KDAZri8HE4EJZuhVumSRWaAxGo5UQEtLbu4e1gG3Vtc6aQZcJygc9jwm0//JTcgTjnBAQAsRflkCwfvVu/bn53eNwxB+50MPY47vn56i7dSJgD6H8qRTr7KbOfXj/YU6/v/Op3EO4XoDLzIUNoSln49zDN4SkHspzj1igh4fRQp2zQ8zOJeEe+lLHGWKwxXJ3cHP/42U6p8fzR890L2nsa3owZ+KuKuW5D0GSHlhdYJgc63402fIOrI+9wxYuw9H6+Xb5orALPz5PQTjhMob97BHd2gFPSBhIT4W8AyHPm9u+EtwgdQBXGo4foA3gw0txA5QRXGmU8lGHGdiaagVtgKZYXOlBT6uuxoZTWmJuFJh+vBuZfojsQrb7tUPFgC6fAos/4tuNK5Ed04+rj36xrfFdCUo7S0tK4+KGTwxLWSWlJXEsK261Mt7Tq1aWloYCqpWVHn4t58SdGI4fBhLDw/GcajB/yeuGBpEiaBsvqQ86BryeQJZP0/PTpyyvA/Fug0ienWNxSfEuOx9YDCrcCX5of/+IpdoFamyLIH+GfMfZA1UlpecsIyE3IR1SBmDCO8VykxW5wEUYZgrK6R5LPZat7Xz4brPdveF95n2f19HLQWgDg2VLl4HEAnJySUkyWW5u7gYvyE11HH5HpLV2sKUu6n98WseSz7xum0tzIahph8v7jvXqeJeUCHUk5maraVJz9Tmf1qHwsW1Wc6mmuvaE8NLawsdnERQKORsqCsVlMpHElUdRHz+iIEcXQuYmYonVduThQwSy3RAlXDe/GZmaQiCbDRHkU4nTz7xaUuf9R26uZU8O4wdsi3I0/xGsbR4JqnMYio+00MrUMMjET/P+mrXs9DaZZ+rE4RIzJ7dDibxkNaetlNbkHZmGvmUGKee6M4xoK6zcV/EDKjTjf3bsLa6tYBUdE9mmJJyL6/Lrd8/X9PHeyP3sfiVKb4kr74dOjsdstgCxKI/hsKUHw76GuSZ9TaoRPF/udjYhxuhVEO27MG9F2LkwCzft0LduQdrzQCglrtAUR+oHBlFCvnzJrTnH+pWv9TXw6z+4iDMpqMbhUdXJK6Rmdz26SQB2iuWw3Cz8bNXpp8lexwqC/q5GGxQccSdrnZ1F01Vwt0kz7seefcWtmayioxHc5MQ7eSrnPYHL2dLwjTSU++Uo3SWuDLxOjufsEhHTvDyaoyk9JPt6qGbqa9h68SyYcygkx/Fl4JswfxeHki3dLBPfum7tShR2unlQgoUcQV3QLCtU/0cjYjwFVX5issm29tBjmPrjptQdVmh6n6kaepoiV2xR8N/NiGHBUTeK5tnlBbcPiNicqFuu4QV31IURbocCF2johUfQIxRs2fTALYl40mCQifssF3/7GeVVQEzuDcYJzaWWZgEiVhBalvmPuNDpTJ6RCztld67TsnnbRliCFAfEff8BPb5inX3zZItNAC8MhxLKhPjcAFwQpv19d0r4cgNvAuvX4kMLnwtXq1Fj0nISAzSeWF6zHwu2FU5bP2HZql+znnTk3Agn092DB08LbWWT++mme+AI96ZgNsqF+cKO0yfSelSEK4SmnrGeJuVe1bNQIQh68giNalbq/7TkFS42Sosl5fcI2lQQD6rfpq6ESkuhyihLS5RwQAeJlFqs0nd9GSC+IEopiwPWuP5PVq+ssQO0fixYaMaPZnyWGOMwcY7wmUyqhN6IFuGz+ZpfUsrESAEfW8IIHuvjDZ+Jc2QvT8YJuTUSK610Zoq6Ee7ffywVlu/7fu/knigbizeOEV49PdEffUQ9O8vO0I10CciYCAZnzGgQwmH2+FHSCa4Ql7ycPZxu3j5Y/Ajh36UCPiIue3c1ZlZ5pYIX8vJ2ztkw9R/lHUt29b/yDYzcf24/OpB14CkUfOmR6up9hd9bEQU903EdJlpFumXe93Ur4aqTGZxKN+P7WYEVcYdMCi7fv9K/wWHjIeMiU43Dh851ebGZefn+P7FRWZ92KNXH1ZeX+MI4p++2CWXxtj3ddR/edn0+EuDjKp7uXeyrR2Yty5BfaosdT8vUSlMMCHbLN1dGnXm6Y++6X5rnXixGh9lsvsx6V3t4+Rs/H3b3ofjAXztRcXiV2x03la5s9xW39jNLLu7SWnn21H7dsJWdn7PR6HhNn7eQZlDv+c1sX6AK7JyXt7k7yskknS2H9tUHbghw15JqBn7dNmb16RwcusZ8t9sSS/JXN28NTQ/Xtfz8278x13yMcw5xE9fyErcb51pvN9jq+373HK9y2vlN7GV/j13b9p+xItNd294p3EutytyVz3c/V4YRtY0x8yW254BBiecGbjnh3x4fx1rkytCC/5C8MDSL8F8m7XmYwTftIboT1sPP9UraI3xEhgf2z2yi5hPiSFv6fIxipGYXwrPEnoUlqdV5PKE9GLaJBBl2yuFLVOLMGDa1VVjMOVRaPTRPYnwPs4/ZeTZm17C/Q6T5oerSWOfc01B5QP/rZjZWXQQ4iPgU6u/fVTpQlDINYzRpGQbOIQkA+B7vcXs8fuNs67mp8WmnhNdfnHZHLbdeZrUiarfT51eJ4PODxgap/m/WCOu3vqKhgZdqBWE1kZHR2LCErJc+MsJjRDmz/NmzCrVyLaBwV46b7mkJnJ4HvjFFjZg7TBTAeTBPIN++ok4wdM63LydQTJhQIO9r96Yr3AruRmNPcDfnTbwGmRRfZFjCGfAgL286Mxv/9IUSEiDfnwlzLl8oYEjNOlN0Zo8o2dY2KeTAzLd9rBs7bo3dHNsxtZc18xU5sHsXY0/KRZxY6O2RYW3uxcXubX0JA9dp+26NYaflSoaytwOWmGCke2J6q3Jr2gTt6GvXAsLKHtC8FYlu6lKjoyULiokGC6eb4MOHYSFNC1FCurjFcF8fDFlsiBKu15mCIsvKIiGQIWReAErwbCE7NxeO9J+3I5cuwu3knUa5c++5+Yw+pP1d311UCm/aBENKF0ImDnBu3cMgzLHmCIyh/g6boU6cQz0hiv0T9Wns5iPEOdYTwhHCNOvdkK1/wpojHiG+u9klf+qZJuqgR2X7hdMsHeLGuYoIjmBg/tnMKMWRMA3caxhw8qaafLgEbq+BkwP6EpfA7DdlShuNUMQ9LjWexNPkkRjhmuFb/OkQaYpqH1I/aKQeXr4YUsHHuuEysTj/in5ykcuFqCnq7DZDOK+rxSmGqUBJjc8bnb8uY4JhrDBSgP9epg75mSn1auZG/oGUA7v71qitQ/yhlFFu2N5qgc7PYGWsWbN6TbnanFrmAT5XptoTVsbqvHK1d6zM1QN2wDJC3y3NQWib7uCWA6+dWn2QeINhI324afGQ85/b/K2Iso2WqZAYLl27CTPtnzTWd1bv7MmdQalFdtHaIDNrRQLwTg0kkdICvRNA/gqQqeMYD1x6q5kgQj/ouaVoJMvvYHDD5K2iJXstvV++agPCqZZ05kpBdFkRur3ryZiMi0EZyHomN3XEo/lx+ivJC2RdciO0Wwpdi05eiREU6mLWnTnTAq+Fz4xjWvWT2u9F82S6Qg52L2qdIXFuSLfnOGFC2oLutSGBAsKc8H82VvM/7zngfoPSLUPGGDqMMUTmr8pFGLBWOmukZzQrVQ0A3GoBBgjmEYFYDOKcULG+sS+eL3Na9ryaoNGkzHBUQB4/lPfSqS14TApB+SDf8750Tzqtl0qg4WkEPIGOpzOLcDQSA68mvJy+252Kp6PQMPUmD+sRt5eRQTLFoRho3GhAMC0Q/4RKHNOgPzc9QCbhSai0Cp9NZnjT2MUuw8GUCBquWguveRh31gEveN2eka5sX9WYoZDutvfHylAotTbTsGQ1Ip5YjVRhzTbg27TweDVfdTKerI5TpzBwHgMNh53Od+x54XSrfcADjVOjqL90VZ2ZjsPGIYhaG9s7mZkVx9SEw+OoKfgUbbzSccRp4Jk4JkFGEbJbmEeMnKRpeymFCMrPG2JrJJjzzOvZGHZxusHstrc3e5pe5xrtiaeLiEw8kypw/KtTo+A8cBQ1Ynh+V1lnXgxVjepxMqo0e4ujRhKCqlALC1MbU5xIBO/L6PX4uvFtxXUyccHdAd/zTTv5Pm8csJp+c5XKtcGAhWcZ4nUaZMqSZme88+Yi34Qm7X1NDmkOlYEInmiINyRp4hY9jEje3hfZdzgl7YfCV3IvbbM6Fq9LiihebsTqjjixno191duaJofhCPhodQWaBLw/B4PHjLuiQdhF7B4ExeJI8FPBgFfH2+NZ06eYfrLCIc2x4hp3t6rkOD7bo65BQGccIjd16AionmwygYn31PTE9/XNg+1BFfAVPDZhUm2SwFYbNh/2SmLbYN0NfbLOeQvRbHQZ1xfBzQjIgdmg5ouzlm09gzVgPqAxZ4siTBNQMTHsKPyE7WO1aVambi0+vAKzYSSknIMJh42MGCJsuBHGaIaDDjfEGIZzCdQwajMQBmEggOMDAUQKof8pP2cwRIIQLAdAMAQBDhJ8FoUgqOo4iyAyvQ/+rRw5nbWhg0DN3ME2huM6+VLAa/h0x5+hWgrcYalGmqKZgAsiTCVbZ/RsX/iTJoX76/ecSNY6Sz96VKkWqzagVo+VDAx0LiZp8xcWIgeD/gEJxg/bjInpj41DN1LL0fGdclIzSTIaOSEhK22CLtm6tNiedjUwifQJMVlFlnTGCysomWUu1YpwHjNdO5EkeAPshphGu6tPyZqxiwR1/U/Ri4QMYQKaZ2YzxQOD87j5ES7vxlW5jtlUaAKTIJ11tFnLqwyd0iII3HJ6KM+0n1F6CD1Du7VXx6z2jfW+/gBwCl8WQRsMoLlN9EkLGeKcGnWFU2S/roCSINE3Fw/1/HLNjBBq09b6Dkh0010VrkrXDK6OFNL7aPhRz8h9NBCMGyc5X2NVEWOzomWMd91+73yuRJmkwigxzVgltkskOl3+GlSxcroBQ6okZVKnUa0uxyKeJBDFxsRc/7KoOFc0qZQEuL5tk3ypOC/cur544tEZPw8b/ZAnhA19n8QWuHGfbzFpYDVsM+lIH5NPli9OamACjJU4eRkn5UPpAJynnrmvojPoqvt0CrFhm2k6+j72EKACvsSMTVtNGsHC213glerohoXd0I+U7rf2CQpItUX9tqnX8Ganz2oE3A/QmE2/4O7MWkqOwBQVYsKR5KV1SXActGQpHDuOliyJ/bnUIo+cu4gqoXFoEmoBOYcjgL6BfXjK9noofWLdsoi/S80R87aicqi+XPM6fN//0rbeb2ntuQLbIqvXllEKhdL6tVWRTeG5uiXAMVP7ETXEpB/VHi1vgyIxzcOHm5GAxunq2N+jbq1Aemr0HXCdR337lmBeJkQ6L13qKIJoJ9wJdzjtROaLTJ9//z6gXa4r8H4NL+ntXQIvhoXCNkAXw0HvdmAut1BYVFcTYqsrEqB4iHKE2AGluUUuXLZp075n0n5oSq65OwD/ifADQrXaIDXvAUdhoNo1tacrJ9/24mse14pXrMior6+rzwAL5oqSqIUIK1gmO2c6OSW06ZycJ/uBKnPHJNMkxycWYza5glybsX7V3LiVNH5y5+EhmOQ/vGN2emP1xhiE6JUBeiY5L3IKcFIAcd7m8xUr0vPzF+UrDmap0+Eu2vwF41rqH1U63aTlokQs7I+va6i3f6h929+p/Yd9QPZ/Aol9tvPEVNIZ0Cg1Vz5TiXSqqdNVIXvfcFUAj6pCVpC+2Q6wH0qurMxPx2mJTosPXDvQ1d1mZw1lr1qVDeVAK1fB2QZGc2zGqlX22ZAsP18GKyhKiQhkgA48TlpcmZeJtCTH3EL3au6qOactrlQ/ltDVfWCR/X8MOjlPP3gR7On7BlAP3SDL0Pk5kKwAQpq+Ycl/Jch9y2l8+97gIEIBITi4Zygo2PMmKAgseHIz8XYnvhlHDnwf+GMcfuIj3pa77Xk46tPGU/+KV11rvNxW7afQn4CgUC8zS5B5vfe6rC4rcz7R2CjZEano6a2AKxYOxxWOhsmOt279u+3583fP55yWAD9k3cnRtUiAsuF1Isvifd+SC3391DU2LVQ+LCZbPH9VOMGf5ypgHhJ+aZvcDrI6jA9YHih2FNr/8VN/N2IR0Tx69vQcM35r04RDyfTW6bOTny5dPdtxNf2qwfqxQ4SV3Veg0ZMm219mvgQCAR7biZsn7nBabw52EOdxndh0Xobwsfq8+mMhf62EerozJmjuMiHW9USCRnNaSkbq+pVMz+X+av4FZyXrUzPSUjSasZtWZ6Ls0h2YRVhleGgRrdqJn6GKU/UT3hwoscyidAc71k5MM24ptovShe38/sUYbBfWGog7ZODo3bnDJK6nMkf7Acn73h4vt1CDAu0E0wx7LCLz5xLT9KQnsQFsSlaVkUX7kGBxlbnKEhLiXw/ZKkU+IbajfWN+RGaKRrRP/A1fg0CPt9QkmxiXp61lZgWrqEKGCCp1HGRKzqw7qeXDSvpj+QFtQRj3i2gUOQZl3NqDVXrd9/HwVo+8ySRoaEd7K2GaaDgo/5CBLkasSvEPI1AUFou0NTXrLDjrA2J/lZ6hBoBccM5rDuCPJVB1uvmC07Nkqj5pqrebp9jCPUQcxe4pPG12xtPzpvVB0oiWe8L8QEREj0EKe+JUH9qlZyELL1qOj/G6mN7QiacfC33BOz9KlAevWwfnORjH8o4wG4ZJrAOc17Ju7ymCwFHsVMMHLjJ9SqddqsZkm/NVuxKNDEHRTy6BkCzIGAzvPg8QthmdYGH6OBaeRlcYhf3Sa311H/bteVScQp+jD8sGt53GeP9+HbCnjYwSQdpjemNw41d1da+Odw8BC1+PRV/uuHSJYl7Hf3cPFDkOQiargy/cKRT3m0Dw8dTCRfHhPOrCO66MF3FkddVxTPAau1PQZUBmUImNQL3SQtKH3LuH9Aa0dHxokAwUng6XjFrBrZ9e6UaNSETZVZMZn+bj4uybkF5Owb41sek0am/J4FsQzAUZnFjijMZ7YhEVAoW5maxMwXE0sSLVk2mNae/frApzAUQtIs6ozxALtAp6DuF9JQGEOY05QkAB8b36TE+BFnA5c6pbp3uiX6dfO+fpSjo6ENfWGYgcbe1u3e6RME17QDeAKejVAVVHO5KhowPKrmZmThu/q6E25gizjYQnm7aqDbwznjb51FqjT8BiHtgQFg7Cw0pMElw9qS2bB4x4u+y1XHYopWn/yQj9yJTrm8vLSpZsmDJ6cT0uCYQF+ZB9XLc+PK+6fOYK7fCDrm4JWcoXT6hPABfvT+kXHdIvvFL14TZgu/J/1980mhx2xd9wxW2Kr3q+6pnHj64z1UtGVp9n6adMaD9Sc8lo8z6pLaO/eEZhnVs9uGTdQQWIsYsjTqo/JsTtT5h5it8Q13MTHxmm8aRp1w3hVK3tWz/6Rjkp6Hl3Vk1ew8lOJz4mrCFNEtCFpStJjwhmex1XihzivB0GrirNl3SysOcNWSl2iDUIIZ7gv27s8p9vpqg8uzwXbwbzzV6dXs2ezcZO/3wjfgfXe7tyLMrTk4gIyxx3Ky3FxpMSrtUW87Z0M3P3yUqdpZtYUiM7A6VYHGmQJDBw3aDtAvcFL9WpdJ80N0tvM7faIuGe3KilsHK3zMmK2WBtRHnRaH9GvHGTlVLgJdjZLtjg/pWCf2AiPq9aN48SePGtlKs3is84NN6iGFkL/NepxOddXHxbzQUb2kHO9r2a0Jl/wnv+YUamYeYAK4uExarOdXqoZp9pVuXReU51fz9ZVxc4UO+6b83z+LY/1yP+wj3fpf6kJu4qb/W8g1rnW8/46d45v37Vv6UiE8mKCgUl78FHQg/faPubYuGD5eT6yyIaoo6grSzJ1Y/WUQx9wNphbPW/6w38jGnLLwuJLYjTtonO8rRdG98Yix8xRLeaPQugFVerSe7rWVNQ1Q8N0np4mVOFYZWZCLcV8nn1TtaC+4eurDAo1BzDP0ygpJ74+33/aSji7mroJK3g+8EW3Br60FFRK5pG1fOiE55zxmRFDjh0AAm9XVzZfQ7zw98h2DDgSKXTJ74orvSuW4ZjtCE9XHuj2joDWmEYzkzBiNlpZceNjFkRvWt/qqGdX0lainzNUb8+31JSmeEypiNHp9ToMKOND7x4Z/dO06+ibGky9kN8WlNMzYmytfWx1MiOo5HUylhaZBMnFPH9KaVJtYMxgV98vdE/WKm2OjWxzhLOWt9GAs+BHWorecj2P8VCH2cJ+xHeGhsRseQSaRbs7sGCASBGmMS34LH4Fqw7alHEwLOV2NOvI9gvnMg/3chU/7nIz7RT70+yKlC77aWMjn6NpssUlxBHBuTXZOrYyzGqtRiQXUMpI3IvDD8JbAJIvAf2r4QMdBeaLnyVSuhyQKSSALmLDEivyPOkLtI82ZUd6WhnNIMylEYn7sOunUlg6NXYPNF5TcBdyOjt/Wa/OhQ5PD9/5Ahj6by3CCeoELBKUNXX260r1fkQ145cvIQUaV/Agg6aBnBQDYvVSPlnxVJoJXxiC1IOxOLio5zEPNc2b0Aeu41DcnavlcTZDpuNmA2aDUwkshg1ezDt/gKnbq4vgwJ0knAqnLa5rgy225sg0A4r8EzNjZ9XcNG/HfhNAewPLpFoQdhwetwGkZHfrTf5m5/ROLJd6rkBll5jPKpUz56G+K8Va+FP4Ai7cAP4NVozRrp2U6u1knjqhJ1Yg6uLvGZ7Lt9B4GDQp9kGEwxsgISml6+X93PydeCW4N6J6qrjmOwRkCxIwEk09J9eAUDwAi3wk5yTJtAwkAJYOsE1TFBLoC0guyOxbA5RSpUAchCOWzglsGA7qx34YrBezMbrCVQZZ9f7NT4EdM3q9rbD75Bxpa+biR+bi7PElb0Rfa12t61H4Z38qu803ll99P4Sd9GQ+thmxmO8DklG+/8Z3qV9ljZ58QJUQi9Nt4u7mteJHU1Nfp2XD8nxEEFpGOYDPaIBIbxpsaphjSzC3tXUXhYOnmLlF6cuSKafqDRoGk2Tt67datIAGpVDu/peG5Dz55ENjG6NpEvNFGiqOW/ZfQJYhWw4f37DTzEUHb1hl4Do5TYgQFzoauVqPWA1AKVouNT6YX3M5TL5ukufbmqH+uFnp1HrQXhEY6C9SeUqqY+IKGRwj1nCjacOasIz5ZyKmaTdnF2fwI1tYQd11yAfWXJuxyp4PXx6x9pQrZee3r4e1rt6cZGbXurj4DLgEpaIUBdm/OcXnj9lYeYgYZQ5Sjio3zFaqe8PiaLqIa3+NRIh+AnmBCF7DuPhjp4jXGVeJaAfGRg8QuOvql195DITXfstqaCky/qaJFP+HdipimpUPWrVmVUO7GekqzSR8gTNVq3cxDW0hDGaNm0sQXsU10o43rOy5bi2jNQY5IosE9z+fEcrags9gzO4Z8sVToX56B9LMKEG4BpuOzZPpl2azWi624Ubx3kjl41zownIhK21sbL++ydsRwjC3jE2MPrefqyXILQZuXxf1h9bvJ9ABpqiVZMRnAg33nwnQ/XhEvXrDzy0XUEK3GrUCe+Emwx5hWl26CGgCTBNuP2s/bSt6lvCyOQvvC+aaB5aSsZtZW2l7VffYnUMhrGGB83zQndeqvc5mcdXljFSne8Y+dBN7FudEgL/Oul91x+Glj6mQxxpPuod6EBDI4pmftC2izXdkmAkEHHDhGniA3X7WCHf40EuYJXgClB6of7t/Bp9zuDsPwfNL1+7cCa7qdAvneRaforfb2Lp8qCtxy7bjuCF66ew85rzPyfaiqHqVvw/8Y9tjMg5EW2gw4j0mrYp7ZPNG/1Cl986LbU0EPigJTHSH27D+2Qe/88Ufr3589ira8eqf9MyGpxBwuPJmYgPVhbD21htIIpeScGXZeYcDFfPW0BHEXd0M3R7evwccK8UvwhURe/937t33Xn/v1D1N18Qb3a0N+cYU+AUURQr5NJlNWeJCfOeF4LIlwz67uca7OKL3fQU4yQPVtS/vCVyb638odctFnZ3d/pMswd1mjsWnEknIKehn5SDabRwE5oR8Zk0qpsSh/PSh5p/WCcDDuZTQvDcWduF/bTpKFsN8RvsseH1TVKqtoseM3BuWtDutwyy5B/v6+IO2dfMkjJqKWCKtPgIloYfmfNGjKQ/tWuCCWFfrr6nY/Fltz5JanjrIxu7rEWxQX6eltbJO75QVOOD93fP2ik10RKPxEuL+Rywbm16wCj9o+TMeRiVHOPo2ZFwSEfIMoO+KDnaW6iemu25VwsNLfrWbneEreos0kPcqC+rkZyLN1yn70/yfInZqmmsedqLP71dcoCAXneQ+5KtZI6L8lIhNyM5/VG0eLkDWpqM10e2pK55JZWK1xC0eKMDD5hamj8laM3lfWszeIEe3s6Zsy+96fUgN/4Otr23dzuaoHakxfalsezRWNyX33FLc0hN2AO9sHgP9ksE5HwUDD0EZ0nWyI2aotXTYU+ODAUtmVGeTO38/k7AYvqlDVPrSy9cir/QM/2osm/Ac4JaaN8YYcLkkhM2prRjzriyoPJMJguMCO7Jmh3SHbdkKVRJvXb+yBVqEAlEl65Zy+e+bJjDaKCgd1ScKLpZwhgvj97/f3TiGS6lekFIrSmb/RIpoyUf998uIeRUcp4dYsoO8mKx05SaEHglcWltZ9FxbpT/eT6t9pfwaNxdSmbVxdGshiGClD9WYVTQNtrUdp6+BAd2DWRd6YFUL9dVG5a8rjlAWIEOrcTu9uArRPc7n67IZV3ritFKu8DTAtyfExFFiSuzozey5n7AI7EYoogCNilaentPHVNIde+SACv364UM6661JnfV4LyoOqdPD/ucS98X3U2QQDSecvhtGWnCPpGjyOxCnvl2GjFCObxu91ri+05ai9GIUnEkimF6Lxk6E9EaVMIJoqzVE9LGrYy4J1jETMJHCo+2bteGmzXsxlbr4hdxPNaYzcIkuB8RMo5IfU+M9TjplW5009LCVZwjhWU9TtqSniJIA7OmRj2RvFGiTe9E9ST6I0bBPs0pizdb0Y/Vni3nVB+h93+iedeEhLvGINo4RTzfz71hH4rAdWFrLBp5F2sOdQYpAS/GmIZoVAnpVVnyu9dgLSDCjrVmQZ+1vNxvFGetV14XDn2yikO9+D9Mno8h587OIDfL0biFjHcZY3mPFY/7gMiq+GX+CL3IIdXA3J7EIDCtxpFDF1Ud5qQNJ3vYYiOjLOiFhZJ2SYIeya2OhjywkLy66Pmjx2d23bKYKbkg0d+R4NDZ6Hr/Lxwc8mQaCkbESP/kPv9gjAWdOcYDcqZPopo1Hsm5kY/dGqNWFQZXp8HDHZcUP8x+nYe3SH7wp/ZEnZ5IjFaGObTCXilZR7Vnc64L9Qw/vcHu0cpKJ6Ob+qRLhF5964DG+2D9LCsqSIwMKxtoPRoN2boLfFq6ejN/TQFcwM/vCz2R6v6PI9bgT+39M310oTvRg/aEGzQAsfkbY4YeKFPwMnEd3mWuil1aM8QD1T1G133MxM5lsEODEeHz/b6bluz7AxhVTGF+NuO0N5w1XwdgsPgp9sWY2RjzaZlbEbMqtsXmlz+KsSXbrj/e2+U1LxJf1hBjk17uNMdd8PoCzvvY4o3x768vpaNxaSZ3eoNNvyR7PkeP2U9v4HClzkA8EEUFiPqXnY2g3CXhZdn77PH5ll2vITxf2JiBtand9B93pv/ECs0NIUrARu/3pMXg3paBb/g2AqEjF3BV9ES2wQI893P4u3cGP73fHahfYvxMWmfySVNdC7SAqa6AVrAoTvtm1wYd4LDrgFZwpOsBG1Jf/wcYMCCgoNrwbc7UVUCvY10N0A3ud1Wg1z2xbn/X1QSGfelqBr0F6WoHFy+mww6wXH5HJnFXByrJODEnStbZj9PrMb+VOePRP/fynH/VwR3Ktnn9esRHZdVL2MBldkTNdC+JvadLp2IsrPbilcDZItbXsuilKmZR0tck7upAJRmn5907UbJ+wjhtvOe/lTnj0TMrvNr9v+rgXnG2zatA/ESyaIVayByEy+xIrmb6ZGJJ7E1CxftyYXV5Ma8EznaFW18LTaelbK6vJZIfYea7KB2C1SkYaKcKiUJjlmTeHzsOnLhwA4gwoYwLqbQh4in7IATjATieyiwvSkietTdt1w/jNC/rth/sPLvfz/sB7mQEjfHBkfoarJ2irPRlQ/elz7TsgpQH3fODMIqTNMuLsqqbtuuHcZqXFSDoUT6v+3m9P9/fHwAhGEExnCApmmE5XhAlWblhwdWNHwf8ZNqO6/lBGMVJmuVFWdVN2/XDOM3Luu3Hed3P+/0AIkyQFM2wHC+Ikqyomm6sr3xmmpbtuJ4fhFGcpFlelFXdtF0/jNO8rNt+nNf9vN9vz5Je/g8mWVE13TAt23E9H0CECWVcSKWNdT4IozhJs7woq7ppu34Yp3lZt/04r/t5vx+AQGFwBBKFxmBxeAKRRKZQPbbqZzBZpn5QrjGRLxCKxJKw9NkkVyhVao1WpzcYTWaL1WZ3OF2BcJi584BCEK7hvIor0uApTGK/zWcL7XHxRP4Or1K1+Q40lYW8qLOFNpanAFWeqyTukSmsSEc4/c27RxxxEvaKFeCrP6A3J+0DpwxAktp+61XMGB0vctOcRYA29BYQgLZ3gOcIWoeioE3p4xsNw7L5f7kY+Kh6wEVyG34Js9lmN1Gb1mUI1+neAG3GZXX8RApOW2GOYjX6QCAyBq9AIR+D3aeEb9z6RELKG1NgbELDdWgF26RWEID4wLYGRS+A1a3gjX5oGYGdgQHqozSllsq9sUyICc2fOKIfAI1kGSbD1Q1zbkxh4VAvxMxx3Cxi9V2KwLbUHrqCXVyj7sufDacEzI/Ykpo2GlZnjnR4+TVbjW9IgU9k3ZH1pn/OQyvvhEDB1C3IQcr3+QmUBm3NuVL9sto1o9VSk+kiIT67wsosfFGUxx7MSpZ0+pI++n8JrdhkyDa9eFhXkHYUtBZV6pjibEJ6W5fNuJOauwF4iyeX7BFf41Ys7x38Ihj2LDyASKSHjiorDsADUujEGghvmLpfRyBQeABXATqbFDxoYEQrB3VtPMqqrzIzhaPb6CZUVaiqkCUmyNgDlVuUoqDy0Lu4qgb6EBStELUf+yiVpzEgWP8ApK6Bc/601ndJ/p83ZwH8yDTqX0E4HYNXSCUjwq/Q997WcypXU8HEczlCL3EsZF8UjPVRgBoc1r6kRPH2PIZzxKMTTTltKytC/Sg75P7A1UCh123NkBi7f0TwU63Smv/qafKo2bYJUCFYv7XawRTP7Dsf28qersCObaQ9IpRAvJjXoaIHVnmAdupwmf41zh1IXzYSFDUg9ofu7TmKX9OTYDN+z6mZ6o1/FWACG4JshiezK9pqq2oxCqsHGIDMXbfPU1DaApHqhJUphO+QKhaorAmcUbfanPBRPbswN57lnBpW1PJUGQRowpS74iG5pvZn/dSdmkovF1/73mlsTaYIq72IdM5lNFbksLUYsib0FLAv45LDJXLw63WNJnWe9gh0TJcZXaqrGXp51ONquATrFErcc8FzfjFbzKgUKjjHFmIjZxXBjR7EQObEROCksXlNj58WpckT6makuGmHcQOw00SC4woUozDpyhLGU/TuqM1k8HLIENGvCD/njTKKJ3Kg+fI4QljfilRU5i0ywyztUTRVEyPmbuWGp34fG9qGrp4qgkJTi/+/vbW5O3sE+slQlyxGZIkcd1D1WXmoQ5d+hfSQOwR+JLRHIQS2rBQ/VSP6OcqaesgBcXRD65jC/h7b19p5KDRbgtmkodndcY1Sdo7L0/+XPq7i52DMUiBP4StFgXaqZVxmPdmcEA/A60mbvyOQRjEVq2llRKBCZrgNR4G/VtfgYYq6i3tE4620GYzwXTDhZP0gmmkkF1bogK7SeUpOyOGjhXqQAPgTPkJp18O0sDDk/pa/rFdqV4QNN9/ynz3ufWk954k+CkqW2WQzallNL6PlmiQWWWrZcGxPaPlrFw7CbRBySCxc+3lqP2UlHMESfXn+HJR93vhFnRgdoQpqw3sJUEsRzIBa3fBnfJlavLc3v3UM7wMv7zuVgVVX6L0hfVw9+5lrC4bHzKe3A1Y2uFfIv7pR4t59Z9N1Da3zuwJGRhlBc8SG2GHFU03jSf+n80eS1E1JQndAHuapiKnOo6mkqgaXih18qz4nW1WHybcpJZWBkgJyeizj41ZtltoBP+6FAg28s69D2FLdpHdpwXoAAv30oDQH0AeTVnUK8o7fnvalSrQTn9smMp37ghaF/bHdqbNHgUAtQDeZveRQdYWmKcJk5V6m5pyT8EEx+jOCdWQEqMypZRYddkoEB6AsS9Fd3N+WClxwWwhFwC5wtc+SLhYcY4EpVCexc8QOMInpwDzsyhMCqSDoZLKh6qO8YoVIbxh+a9hd411JAg1oNcL53W433Nj/SnGJ+ZumuaaqN8zVdey0dF7y6LNmfGgy2jzjO7jOXKi6jM088qejwjNH2SP2EZEqb0uRr8CSLKLoZmeWAnfkUcoI8AvZWgQDyxiryq//prW4oyJr1HR1oKoollp/1cbBqFKTp+xX1WgpgyZDUE/LKvL6CuRW7nBCh2l0tFuuGSRbABKncKnYpD1eppdQuJAMdwqXzLV8rRUby9EjxMxF2JyjHsg3Lu29e4oxeRdOJIuovr9OFZEJqOBsulGs9KOhSIl3qDH+xqKlGIGd+mY50F8WaI+Y3k4oJXJhZn5Z6XHf+ZVL4Fn6PtmqGpzQl6xH9pj6wVHtgip91iTUNKvVtMzek434ZCP2/pj84qUf06ZTTlWpdaMzaErzy2paNTpXxDqW+wAAAAA=') format('woff2'),
+ url('//at.alicdn.com/t/font_993865_1ytjet2daic.woff?t=1611564722576') format('woff'),
+ url('//at.alicdn.com/t/font_993865_1ytjet2daic.ttf?t=1611564722576') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
+ url('//at.alicdn.com/t/font_993865_1ytjet2daic.svg?t=1611564722576#iconfont') format('svg'); /* iOS 4.1- */
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-s-pingguo:before {
+ content: "\e722";
+}
+
+.icon-s-weixindenglu1:before {
+ content: "\e729";
+}
+
+.icon-s-yanzhengmadenglu1:before {
+ content: "\e72a";
+}
+
+.icon-s-mimadenglu1:before {
+ content: "\e72b";
+}
+
+.icon-s-yanzhengma:before {
+ content: "\e728";
+}
+
+.icon-pengyouquan:before {
+ content: "\e76e";
+}
+
+.icon-jifenzhongxin:before {
+ content: "\e71f";
+}
+
+.icon-s-chongzhijilu:before {
+ content: "\e71c";
+}
+
+.icon-s-xiaofeijilu:before {
+ content: "\e71e";
+}
+
+.icon-s-zhangdanjilu:before {
+ content: "\e720";
+}
+
+.icon-s-kefu:before {
+ content: "\e721";
+}
+
+.icon-s-bianji:before {
+ content: "\e71d";
+}
+
+.icon-s-pintuan:before {
+ content: "\e719";
+}
+
+.icon-s-kanjia:before {
+ content: "\e71a";
+}
+
+.icon-s-miaosha:before {
+ content: "\e71b";
+}
+
+.icon-fanhui1:before {
+ content: "\e718";
+}
+
+.icon-kefu3:before {
+ content: "\e716";
+}
+
+.icon-shouye6:before {
+ content: "\e717";
+}
+
+.icon-chakanditu:before {
+ content: "\e715";
+}
+
+.icon-haowuquan1:before {
+ content: "\e713";
+}
+
+.icon-haowuquan:before {
+ content: "\e712";
+}
+
+.icon-gengduozhankai1:before {
+ content: "\e70e";
+}
+
+.icon-biaoqing2:before {
+ content: "\e70f";
+}
+
+.icon-huashu1:before {
+ content: "\e710";
+}
+
+.icon-tupian2:before {
+ content: "\e711";
+}
+
+.icon-huifang:before {
+ content: "\e76c";
+}
+
+.icon-zhibozhong:before {
+ content: "\e76b";
+}
+
+.icon-huangguan3:before {
+ content: "\e769";
+}
+
+.icon-huiyuan2:before {
+ content: "\e70c";
+}
+
+.icon-fapiao1:before {
+ content: "\e70b";
+}
+
+.icon-cha3:before {
+ content: "\e709";
+}
+
+.icon-shezhi1:before {
+ content: "\e70a";
+}
+
+.icon-tianjia1:before {
+ content: "\e705";
+}
+
+.icon-bianji3:before {
+ content: "\e706";
+}
+
+.icon-jiahao2:before {
+ content: "\e707";
+}
+
+.icon-shanchu3:before {
+ content: "\e708";
+}
+
+.icon-fuzhikouling:before {
+ content: "\e704";
+}
+
+.icon-kefujiedai:before {
+ content: "\e703";
+}
+
+.icon-miaosha1:before {
+ content: "\e702";
+}
+
+.icon-bianji2:before {
+ content: "\e700";
+}
+
+.icon-qingkonghuancun:before {
+ content: "\e701";
+}
+
+.icon-shijian1:before {
+ content: "\e66b";
+}
+
+.icon-wenhao1:before {
+ content: "\e6ee";
+}
+
+.icon-zhanghaomima:before {
+ content: "\e763";
+}
+
+.icon-erweima2:before {
+ content: "\e765";
+}
+
+.icon-guanji:before {
+ content: "\e6ed";
+}
+
+.icon-tupian1:before {
+ content: "\e762";
+}
+
+.icon-biaoqing1:before {
+ content: "\e764";
+}
+
+.icon-guanbi5:before {
+ content: "\e761";
+}
+
+.icon-shengyinjingyinxianxing:before {
+ content: "\e94f";
+}
+
+.icon-shengyinyinliang:before {
+ content: "\e66a";
+}
+
+.icon-pingjia1:before {
+ content: "\e6ec";
+}
+
+.icon-xialazhankai:before {
+ content: "\e6dd";
+}
+
+.icon-cha2:before {
+ content: "\e6e6";
+}
+
+.icon-fanhuishouye:before {
+ content: "\e6df";
+}
+
+.icon-gengduo3:before {
+ content: "\e6e0";
+}
+
+.icon-fenxiang1:before {
+ content: "\e6e2";
+}
+
+.icon-sousuo5:before {
+ content: "\e6e3";
+}
+
+.icon-huiyuan1:before {
+ content: "\e6e5";
+}
+
+.icon-gou:before {
+ content: "\e6e7";
+}
+
+.icon-gouwuche6:before {
+ content: "\e6e8";
+}
+
+.icon-you1:before {
+ content: "\e6e9";
+}
+
+.icon-zuo1:before {
+ content: "\e6ea";
+}
+
+.icon-vip12:before {
+ content: "\e6eb";
+}
+
+.icon-youhuiquan1:before {
+ content: "\e6db";
+}
+
+.icon-kefu21:before {
+ content: "\e6da";
+}
+
+.icon-yue1:before {
+ content: "\e6dc";
+}
+
+.icon-huiyuanzhongxin:before {
+ content: "\e6d5";
+}
+
+.icon-kanjiajilu:before {
+ content: "\e6d6";
+}
+
+.icon-dizhixinxi:before {
+ content: "\e6d7";
+}
+
+.icon-wodetuiguang:before {
+ content: "\e6d8";
+}
+
+.icon-wodeshoucang:before {
+ content: "\e6d9";
+}
+
+.icon-huidaodingbu1:before {
+ content: "\e6d4";
+}
+
+.icon-saoyisao:before {
+ content: "\e6d3";
+}
+
+.icon-jiageshaixuanshang:before {
+ content: "\e6d0";
+}
+
+.icon-jiageshaixuanxia:before {
+ content: "\e6d1";
+}
+
+.icon-shouji1:before {
+ content: "\e6cf";
+}
+
+.icon-gengduo2:before {
+ content: "\e6cd";
+}
+
+.icon-cha1:before {
+ content: "\e6cb";
+}
+
+.icon-fasong:before {
+ content: "\e6be";
+}
+
+.icon-gengduozhankai:before {
+ content: "\e6c7";
+}
+
+.icon-biaoqing:before {
+ content: "\e6c8";
+}
+
+.icon-huashu:before {
+ content: "\e6c9";
+}
+
+.icon-tupian:before {
+ content: "\e6ca";
+}
+
+.icon-mima:before {
+ content: "\e6ba";
+}
+
+.icon-zhanghao:before {
+ content: "\e6bc";
+}
+
+.icon-fanhui:before {
+ content: "\e6b9";
+}
+
+.icon-jinru2:before {
+ content: "\e6bd";
+}
+
+.icon-shangpinxinxi:before {
+ content: "\e6bf";
+}
+
+.icon-tuichu:before {
+ content: "\e6c0";
+}
+
+.icon-jiaoyidingdan:before {
+ content: "\e6c1";
+}
+
+.icon-sousuo4:before {
+ content: "\e6c4";
+}
+
+.icon-xuanzhong5:before {
+ content: "\e6c6";
+}
+
+.icon-VIP2:before {
+ content: "\e6b8";
+}
+
+.icon-pinzhong:before {
+ content: "\e6a2";
+}
+
+.icon-hanghuo:before {
+ content: "\e6a3";
+}
+
+.icon-zhifa:before {
+ content: "\e6b6";
+}
+
+.icon-dijia:before {
+ content: "\e6b7";
+}
+
+.icon-gerenzhongxin-xuanzhong:before {
+ content: "\e6ae";
+}
+
+.icon-xuanzhong4:before {
+ content: "\e6af";
+}
+
+.icon-zanwumiaosha:before {
+ content: "\e6b0";
+}
+
+.icon-shangchuantupian:before {
+ content: "\e6b3";
+}
+
+.icon-fuwu:before {
+ content: "\e6b4";
+}
+
+.icon-tuikuantishi:before {
+ content: "\e6b5";
+}
+
+.icon-erweima-youxia:before {
+ content: "\e6ad";
+}
+
+.icon-erweimabianjiao:before {
+ content: "\e6ac";
+}
+
+.icon-weixindenglu1:before {
+ content: "\e6aa";
+}
+
+.icon-zhanghaodenglu1:before {
+ content: "\e6ab";
+}
+
+.icon-shangjiashijian:before {
+ content: "\e6a9";
+}
+
+.icon-jiageshaixuan:before {
+ content: "\e6a7";
+}
+
+.icon-gengduofenlei:before {
+ content: "\e6a8";
+}
+
+.icon-weixuan:before {
+ content: "\e6a6";
+}
+
+.icon-xuanzhong11:before {
+ content: "\e6a5";
+}
+
+.icon-pingjia:before {
+ content: "\e6a4";
+}
+
+.icon-guanbi4:before {
+ content: "\e6a0";
+}
+
+.icon-pinzhongqiquan:before {
+ content: "\e69d";
+}
+
+.icon-dijiachangxuan:before {
+ content: "\e69e";
+}
+
+.icon-zhengpinhanghuo:before {
+ content: "\e69f";
+}
+
+.icon-dizhi-tianjia:before {
+ content: "\e696";
+}
+
+.icon-shanchu2:before {
+ content: "\e69c";
+}
+
+.icon-yue:before {
+ content: "\e699";
+}
+
+.icon-weixinzhifu1:before {
+ content: "\e69a";
+}
+
+.icon-shangpinshuliang-jian:before {
+ content: "\e698";
+}
+
+.icon-shangpinshuliang-jia:before {
+ content: "\e697";
+}
+
+.icon-xuanzhong3:before {
+ content: "\e693";
+}
+
+.icon-dizhixiala:before {
+ content: "\e694";
+}
+
+.icon-jinru1:before {
+ content: "\e695";
+}
+
+.icon-shenqingtuikuan:before {
+ content: "\e692";
+}
+
+.icon-peihuo:before {
+ content: "\e68d";
+}
+
+.icon-xiadan:before {
+ content: "\e68e";
+}
+
+.icon-wancheng:before {
+ content: "\e68f";
+}
+
+.icon-fukuan:before {
+ content: "\e690";
+}
+
+.icon-fahuo:before {
+ content: "\e691";
+}
+
+.icon-saoma:before {
+ content: "\e68c";
+}
+
+.icon-tishi:before {
+ content: "\e68b";
+}
+
+.icon-xiala2:before {
+ content: "\e682";
+}
+
+.icon-VIP1:before {
+ content: "\e68a";
+}
+
+.icon-yishoucang:before {
+ content: "\e683";
+}
+
+.icon-shoucang2:before {
+ content: "\e686";
+}
+
+.icon-kefu2:before {
+ content: "\e689";
+}
+
+.icon-fapiao:before {
+ content: "\e680";
+}
+
+.icon-fapiaoguanli:before {
+ content: "\e681";
+}
+
+.icon-jinru:before {
+ content: "\e67e";
+}
+
+.icon-sousuo3:before {
+ content: "\e67b";
+}
+
+.icon-dingbu-gouwuche:before {
+ content: "\e67a";
+}
+
+.icon-huidaodingbu:before {
+ content: "\e678";
+}
+
+.icon-cedaohang-gouwuche:before {
+ content: "\e676";
+}
+
+.icon-weixin4:before {
+ content: "\e675";
+}
+
+.icon-lianxikefu:before {
+ content: "\e672";
+}
+
+.icon-zuo-miaosha:before {
+ content: "\e670";
+}
+
+.icon-you-miaosha:before {
+ content: "\e671";
+}
+
+.icon-zuo:before {
+ content: "\e66d";
+}
+
+.icon-you:before {
+ content: "\e66f";
+}
+
+.icon-shoucangbenzhan:before {
+ content: "\e66c";
+}
+
+.icon-lianxishangjia:before {
+ content: "\e668";
+}
+
+.icon-dingwei:before {
+ content: "\e667";
+}
+
+.icon-fenlei2:before {
+ content: "\e663";
+}
+
+.icon-wode:before {
+ content: "\e664";
+}
+
+.icon-shouye5:before {
+ content: "\e665";
+}
+
+.icon-gouwuche5:before {
+ content: "\e666";
+}
+
+.icon-jianhao1:before {
+ content: "\e661";
+}
+
+.icon-jiahao1:before {
+ content: "\e662";
+}
+
+.icon-yanzhengma1:before {
+ content: "\e65f";
+}
+
+.icon-shouji:before {
+ content: "\e660";
+}
+
+.icon-cha:before {
+ content: "\e658";
+}
+
+.icon-shoujihao:before {
+ content: "\e659";
+}
+
+.icon-qiye:before {
+ content: "\e65b";
+}
+
+.icon-yonghu3:before {
+ content: "\e65c";
+}
+
+.icon-yanzhengma:before {
+ content: "\e65d";
+}
+
+.icon-shangpin:before {
+ content: "\e653";
+}
+
+.icon-qiandao2:before {
+ content: "\e65a";
+}
+
+.icon-yaoqing:before {
+ content: "\ea39";
+}
+
+.icon-tuihuozhong:before {
+ content: "\e64f";
+}
+
+.icon-shenhezhong1:before {
+ content: "\e650";
+}
+
+.icon-daituihuo:before {
+ content: "\e652";
+}
+
+.icon-yihexiao:before {
+ content: "\e75f";
+}
+
+.icon-yijujue1:before {
+ content: "\e6a1";
+}
+
+.icon-gengduo1:before {
+ content: "\e674";
+}
+
+.icon-tuikuan:before {
+ content: "\e657";
+}
+
+.icon-xiaoxi:before {
+ content: "\e64b";
+}
+
+.icon-erweima1:before {
+ content: "\e647";
+}
+
+.icon-kefu1:before {
+ content: "\e648";
+}
+
+.icon-guanzhu:before {
+ content: "\e645";
+}
+
+.icon-xiangji:before {
+ content: "\e6bb";
+}
+
+.icon-zhuyi-copy:before {
+ content: "\e688";
+}
+
+.icon-pingfen:before {
+ content: "\e649";
+}
+
+.icon-yingyongAPP_o:before {
+ content: "\eb88";
+}
+
+.icon-yizhan_o:before {
+ content: "\ebc6";
+}
+
+.icon-shaixuan:before {
+ content: "\e651";
+}
+
+.icon-shangjiadingdan:before {
+ content: "\e64a";
+}
+
+.icon-shouye4:before {
+ content: "\e64d";
+}
+
+.icon-jinbi2:before {
+ content: "\e63f";
+}
+
+.icon-jinbi:before {
+ content: "\e63c";
+}
+
+.icon-zuobiao:before {
+ content: "\e6de";
+}
+
+.icon-jianhao:before {
+ content: "\e753";
+}
+
+.icon-jiahao:before {
+ content: "\e754";
+}
+
+.icon-zhibojieshux:before {
+ content: "\e63d";
+}
+
+.icon-zhibo:before {
+ content: "\e63e";
+}
+
+.icon-VIP:before {
+ content: "\e751";
+}
+
+.icon-tuiguang:before {
+ content: "\e63b";
+}
+
+.icon-geren1:before {
+ content: "\e750";
+}
+
+.icon-gouwuche4:before {
+ content: "\e74f";
+}
+
+.icon-fenlei1:before {
+ content: "\e74e";
+}
+
+.icon-shouye3:before {
+ content: "\e74c";
+}
+
+.icon-geren:before {
+ content: "\e74b";
+}
+
+.icon-gouwuche3:before {
+ content: "\e74a";
+}
+
+.icon-fenlei:before {
+ content: "\e749";
+}
+
+.icon-shouye2:before {
+ content: "\e748";
+}
+
+.icon-mzshopping:before {
+ content: "\e746";
+}
+
+.icon-gongneng:before {
+ content: "\e63a";
+}
+
+.icon-gerenzhongxin-copy:before {
+ content: "\ebc0";
+}
+
+.icon-shouye1-copy:before {
+ content: "\ebc1";
+}
+
+.icon-gerenzhongxin:before {
+ content: "\e636";
+}
+
+.icon-shouye1:before {
+ content: "\e637";
+}
+
+.icon-gouwuche2:before {
+ content: "\e638";
+}
+
+.icon-fenleiyemian:before {
+ content: "\e639";
+}
+
+.icon-gouwuche2-copy:before {
+ content: "\ebc2";
+}
+
+.icon-fenleiyemian-copy:before {
+ content: "\ebc3";
+}
+
+.icon-tonghua:before {
+ content: "\e740";
+}
+
+.icon-youjian:before {
+ content: "\e677";
+}
+
+.icon-dadianhua01:before {
+ content: "\e623";
+}
+
+.icon-paihang:before {
+ content: "\e73e";
+}
+
+.icon-weizhi:before {
+ content: "\e62d";
+}
+
+.icon-paihang1:before {
+ content: "\e633";
+}
+
+.icon-shuoming1:before {
+ content: "\e673";
+}
+
+.icon-dianhau:before {
+ content: "\e634";
+}
+
+.icon-shijian:before {
+ content: "\e635";
+}
+
+.icon-huabanfuben:before {
+ content: "\e654";
+}
+
+.icon-jian:before {
+ content: "\e621";
+}
+
+.icon-jia:before {
+ content: "\e7e0";
+}
+
+.icon-xiugai:before {
+ content: "\e61f";
+}
+
+.icon-anniu_jiantouzhankai_o:before {
+ content: "\eb89";
+}
+
+.icon-jiantou_xiayiye_o:before {
+ content: "\eb8f";
+}
+
+.icon-jiantou_shangxiaqiehuan_o:before {
+ content: "\eb90";
+}
+
+.icon-shangxiazhankai_o:before {
+ content: "\eb9a";
+}
+
+.icon-dianhua_o:before {
+ content: "\ebaf";
+}
+
+.icon-yunshangchuan_o:before {
+ content: "\ebb3";
+}
+
+.icon-bingtu_o:before {
+ content: "\ebb4";
+}
+
+.icon-baoguo_huanbaohe_o:before {
+ content: "\ebb6";
+}
+
+.icon-baoguo_quxiaoshouhuo_o:before {
+ content: "\ebb7";
+}
+
+.icon-baoguo_shouhuo_o:before {
+ content: "\ebb8";
+}
+
+.icon-baoguo_lingjian_o:before {
+ content: "\ebb9";
+}
+
+.icon-baoguo_shouna_o:before {
+ content: "\ebbe";
+}
+
+.icon-xianxiazhifu:before {
+ content: "\e6e1";
+}
+
+.icon-icon_im_keyboard:before {
+ content: "\eb97";
+}
+
+.icon-tupian-:before {
+ content: "\e73f";
+}
+
+.icon-icon_im_face:before {
+ content: "\eb96";
+}
+
+.icon-yuezhifu:before {
+ content: "\e65e";
+}
+
+.icon-yuezhifu1:before {
+ content: "\e61a";
+}
+
+.icon-weixinzhifu:before {
+ content: "\e632";
+}
+
+.icon-zhifubao:before {
+ content: "\e61d";
+}
+
+.icon-haibao:before {
+ content: "\e73b";
+}
+
+.icon-weixin3:before {
+ content: "\e618";
+}
+
+.icon-crmeb1:before {
+ content: "\e739";
+}
+
+.icon-crmeb:before {
+ content: "\e735";
+}
+
+.icon-xuanzhong2:before {
+ content: "\e731";
+}
+
+.icon-shujutongji:before {
+ content: "\e732";
+}
+
+.icon-xiangxishuju:before {
+ content: "\e733";
+}
+
+.icon-gengduo:before {
+ content: "\e734";
+}
+
+.icon-up:before {
+ content: "\e617";
+}
+
+.icon-yonghu2:before {
+ content: "\e60a";
+}
+
+.icon-zhinengkefu-:before {
+ content: "\e616";
+}
+
+.icon-xiangshang1:before {
+ content: "\e622";
+}
+
+.icon-xiangxia2:before {
+ content: "\ebbd";
+}
+
+.icon-code_:before {
+ content: "\e723";
+}
+
+.icon-code_1:before {
+ content: "\e724";
+}
+
+.icon-phone_:before {
+ content: "\e725";
+}
+
+.icon-xiala:before {
+ content: "\e67f";
+}
+
+.icon-shezhi:before {
+ content: "\e619";
+}
+
+.icon-bianji1:before {
+ content: "\e614";
+}
+
+.icon-shoucang1:before {
+ content: "\e714";
+}
+
+.icon-jiazai:before {
+ content: "\e62c";
+}
+
+.icon-2:before {
+ content: "\e684";
+}
+
+.icon-tuandui:before {
+ content: "\e685";
+}
+
+.icon-jinbi1:before {
+ content: "\e655";
+}
+
+.icon-guanbi3:before {
+ content: "\e6c5";
+}
+
+.icon-wenti:before {
+ content: "\e758";
+}
+
+.icon-ziyuan-xianxing:before {
+ content: "\e8a4";
+}
+
+.icon-yonghu1:before {
+ content: "\e644";
+}
+
+.icon-dingdan:before {
+ content: "\e61e";
+}
+
+.icon-suozi:before {
+ content: "\e631";
+}
+
+.icon-quanxianguanlisuozi:before {
+ content: "\e6d2";
+}
+
+.icon-lingxing:before {
+ content: "\e6ff";
+}
+
+.icon-miaosha:before {
+ content: "\e6c3";
+}
+
+.icon-hebingxingzhuang:before {
+ content: "\e656";
+}
+
+.icon-kanjia1:before {
+ content: "\e613";
+}
+
+.icon-qiandai:before {
+ content: "\e6b1";
+}
+
+.icon-tongji:before {
+ content: "\e687";
+}
+
+.icon-erweima:before {
+ content: "\e607";
+}
+
+.icon-icon34:before {
+ content: "\e62b";
+}
+
+.icon-yinhangqia:before {
+ content: "\e72c";
+}
+
+.icon-yituikuan:before {
+ content: "\e6fd";
+}
+
+.icon-tuikuanzhong:before {
+ content: "\e6fe";
+}
+
+.icon-sousuo2:before {
+ content: "\e757";
+}
+
+.icon-caidan:before {
+ content: "\e62a";
+}
+
+.icon-icon25201:before {
+ content: "\e70d";
+}
+
+.icon-shitixing:before {
+ content: "\e6fb";
+}
+
+.icon-kongxinxing:before {
+ content: "\e6fc";
+}
+
+.icon-pintuanchenggong:before {
+ content: "\e6f9";
+}
+
+.icon-pintuanshibai:before {
+ content: "\e6fa";
+}
+
+.icon-laba:before {
+ content: "\e612";
+}
+
+.icon-xiaolian:before {
+ content: "\e60f";
+}
+
+.icon-kanjia:before {
+ content: "\e69b";
+}
+
+.icon-shuoming:before {
+ content: "\e630";
+}
+
+.icon-mingxi:before {
+ content: "\e6f7";
+}
+
+.icon-tishengfenzhi:before {
+ content: "\e6f8";
+}
+
+.icon-guanbi2:before {
+ content: "\e61c";
+}
+
+.icon-yuandianxiao:before {
+ content: "\e82f";
+}
+
+.icon-webicon318:before {
+ content: "\e6c2";
+}
+
+.icon-tianjiadizhi:before {
+ content: "\e640";
+}
+
+.icon-shanchu:before {
+ content: "\e628";
+}
+
+.icon-weixin2:before {
+ content: "\e604";
+}
+
+.icon-icon-test:before {
+ content: "\e6f6";
+}
+
+.icon-guanbi1:before {
+ content: "\e6f5";
+}
+
+.icon-shoucang:before {
+ content: "\e606";
+}
+
+.icon-kefu:before {
+ content: "\e6b2";
+}
+
+.icon-biankuang:before {
+ content: "\e6f4";
+}
+
+.icon-zhuangshixian:before {
+ content: "\e6f1";
+}
+
+.icon-jishuzhichi:before {
+ content: "\e6f3";
+}
+
+.icon-xuanzhong1:before {
+ content: "\e6ef";
+}
+
+.icon-weixuanzhong:before {
+ content: "\e6f0";
+}
+
+.icon-xiangshang:before {
+ content: "\ebbb";
+}
+
+.icon-xiangxia:before {
+ content: "\e8ca";
+}
+
+.icon-cuxiaoguanli:before {
+ content: "\e60e";
+}
+
+.icon-shanchu1:before {
+ content: "\e611";
+}
+
+.icon-caigou-xianxing:before {
+ content: "\e887";
+}
+
+.icon-caigou:before {
+ content: "\e888";
+}
+
+.icon-yingyongchengxu-xianxing:before {
+ content: "\e8a1";
+}
+
+.icon-yingyongchengxu:before {
+ content: "\e8a2";
+}
+
+.icon-shouye:before {
+ content: "\e8b9";
+}
+
+.icon-shouye-xianxing:before {
+ content: "\e8ba";
+}
+
+.icon-yonghu-xianxing:before {
+ content: "\e8c8";
+}
+
+.icon-yonghu:before {
+ content: "\e8c9";
+}
+
+.icon-sousuo:before {
+ content: "\e67d";
+}
+
+.icon-sousuo1:before {
+ content: "\e64c";
+}
+
+.icon-kefu_o:before {
+ content: "\eb63";
+}
+
+.icon-liwu_o:before {
+ content: "\eb65";
+}
+
+.icon-huobiliu_o:before {
+ content: "\eb9f";
+}
+
+.icon-jinbi_o:before {
+ content: "\eba1";
+}
+
+.icon-gerentouxiang_o:before {
+ content: "\ebac";
+}
+
+.icon-qunzu_o:before {
+ content: "\ebad";
+}
+
+.icon-shoucang_o:before {
+ content: "\ebae";
+}
+
+.icon-didiandingwei_o:before {
+ content: "\ebba";
+}
+
+.icon-xiangyou:before {
+ content: "\e679";
+}
+
+.icon-jingpintuijian:before {
+ content: "\e60d";
+}
+
+.icon-xinpin:before {
+ content: "\e610";
+}
+
+.icon-remen:before {
+ content: "\e67c";
+}
+
+.icon-xiangzuo:before {
+ content: "\ebbc";
+}
+
+.icon-ditu:before {
+ content: "\e906";
+}
+
+.icon-guanbi:before {
+ content: "\e62f";
+}
+
+.icon-liulan:before {
+ content: "\e629";
+}
+
+.icon-shenhezhong:before {
+ content: "\e6ce";
+}
+
+.icon-chongzhi:before {
+ content: "\e602";
+}
+
+.icon-iconfontguanbi:before {
+ content: "\e643";
+}
+
+.icon-zhekou:before {
+ content: "\e790";
+}
+
+.icon-duihao2:before {
+ content: "\e601";
+}
+
+.icon-duihao:before {
+ content: "\e64e";
+}
+
+.icon-jingyanzhi:before {
+ content: "\e62e";
+}
+
+.icon-wuliu:before {
+ content: "\e6f2";
+}
+
+.icon-pintuan-copy:before {
+ content: "\ebbf";
+}
+
+.icon-arrow:before {
+ content: "\e627";
+}
+
+.icon-pintuan:before {
+ content: "\e60c";
+}
+
+.icon-youhuiquan:before {
+ content: "\e6e4";
+}
+
+.icon-gouwuche1:before {
+ content: "\e642";
+}
+
+.icon-pailie:before {
+ content: "\e61b";
+}
+
+.icon-tupianpailie:before {
+ content: "\e620";
+}
+
+.icon-xiazai5:before {
+ content: "\e605";
+}
+
+.icon-weixin1:before {
+ content: "\e66e";
+}
+
+.icon-gouwuche:before {
+ content: "\e669";
+}
+
+.icon-jiantou:before {
+ content: "\e641";
+}
+
+.icon-huiyuan:before {
+ content: "\e60b";
+}
+
+.icon-xuanzhong:before {
+ content: "\e615";
+}
+
+.icon-complete:before {
+ content: "\e646";
+}
+
+.icon-xiala1:before {
+ content: "\e609";
+}
+
+.icon-dizhi:before {
+ content: "\e608";
+}
+
+.icon-weixin:before {
+ content: "\e600";
+}
+
+.icon-fenxiang:before {
+ content: "\e603";
+}
+
+.icon-bianji:before {
+ content: "\e6cc";
+}
+
+.icon-huangguan:before {
+ content: "\e624";
+}
+
+.icon-huangguan1:before {
+ content: "\e625";
+}
+
+.icon-huangguan2:before {
+ content: "\e626";
+}
diff --git a/app/static/iconfont/iconfont.css b/app/static/iconfont/iconfont.css
new file mode 100644
index 0000000..f53cc3e
--- /dev/null
+++ b/app/static/iconfont/iconfont.css
@@ -0,0 +1,1633 @@
+/* @font-face {
+ font-family: "iconfont";
+ src: url('iconfont.woff2?t=1620706240621') format('woff2'),
+ url('iconfont.woff?t=1620706240621') format('woff'),
+ url('iconfont.ttf?t=1620706240621') format('truetype');
+} */
+@font-face {font-family: "iconfont";
+ src: url('//at.alicdn.com/t/font_993865_1ytjet2daic.eot?t=1611564722576'); /* IE9 */
+ src: url('//at.alicdn.com/t/font_993865_1ytjet2daic.eot?t=1611564722576#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('//at.alicdn.com/t/font_993865_1ytjet2daic.woff?t=1611564722576') format('woff'),
+ url('//at.alicdn.com/t/font_993865_1ytjet2daic.ttf?t=1611564722576') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
+ url('//at.alicdn.com/t/font_993865_1ytjet2daic.svg?t=1611564722576#iconfont') format('svg'); /* iOS 4.1- */
+}
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-yijujue:before {
+ content: "\e741";
+}
+
+.icon-tuikuanzhong1:before {
+ content: "\e803";
+}
+
+.icon-tuikuanshibai:before {
+ content: "\e804";
+}
+
+.icon-tuikuanchenggong:before {
+ content: "\e805";
+}
+
+.icon-tuikuanzhong11:before {
+ content: "\e744";
+}
+
+.icon-yiwancheng:before {
+ content: "\e745";
+}
+
+.icon-yituikuan1:before {
+ content: "\e747";
+}
+
+.icon-tuikuan1:before {
+ content: "\e73a";
+}
+
+.icon-tuihuo:before {
+ content: "\e73c";
+}
+
+.icon-shenhe:before {
+ content: "\e73d";
+}
+
+.icon-shangchuantupian1:before {
+ content: "\e755";
+}
+
+.icon-shouye7:before {
+ content: "\e863";
+}
+
+.icon-shengqian:before {
+ content: "\e738";
+}
+
+.icon-xiaolian1:before {
+ content: "\e737";
+}
+
+.icon-fangda:before {
+ content: "\e736";
+}
+
+.icon-dianjichoujiang:before {
+ content: "\e730";
+}
+
+.icon-7jinianban:before {
+ content: "\e76f";
+}
+
+.icon-lingquyouhuiquananniu:before {
+ content: "\e72e";
+}
+
+.icon-qiandaochenggonganniu:before {
+ content: "\e72f";
+}
+
+.icon-s-xianshimiaosha:before {
+ content: "\e727";
+}
+
+.icon-s-pintuan1:before {
+ content: "\e726";
+}
+
+.icon-s-kanjia1:before {
+ content: "\e72d";
+}
+
+.icon-s-pingguo:before {
+ content: "\e722";
+}
+
+.icon-s-weixindenglu1:before {
+ content: "\e729";
+}
+
+.icon-s-yanzhengmadenglu1:before {
+ content: "\e72a";
+}
+
+.icon-s-mimadenglu1:before {
+ content: "\e72b";
+}
+
+.icon-s-yanzhengma:before {
+ content: "\e728";
+}
+
+.icon-pengyouquan:before {
+ content: "\e76e";
+}
+
+.icon-jifenzhongxin:before {
+ content: "\e71f";
+}
+
+.icon-s-chongzhijilu:before {
+ content: "\e71c";
+}
+
+.icon-s-xiaofeijilu:before {
+ content: "\e71e";
+}
+
+.icon-s-zhangdanjilu:before {
+ content: "\e720";
+}
+
+.icon-s-kefu:before {
+ content: "\e721";
+}
+
+.icon-s-bianji:before {
+ content: "\e71d";
+}
+
+.icon-s-pintuan:before {
+ content: "\e719";
+}
+
+.icon-s-kanjia:before {
+ content: "\e71a";
+}
+
+.icon-s-miaosha:before {
+ content: "\e71b";
+}
+
+.icon-fanhui1:before {
+ content: "\e718";
+}
+
+.icon-kefu3:before {
+ content: "\e716";
+}
+
+.icon-shouye6:before {
+ content: "\e717";
+}
+
+.icon-chakanditu:before {
+ content: "\e715";
+}
+
+.icon-haowuquan1:before {
+ content: "\e713";
+}
+
+.icon-haowuquan:before {
+ content: "\e712";
+}
+
+.icon-gengduozhankai1:before {
+ content: "\e70e";
+}
+
+.icon-biaoqing2:before {
+ content: "\e70f";
+}
+
+.icon-huashu1:before {
+ content: "\e710";
+}
+
+.icon-tupian2:before {
+ content: "\e711";
+}
+
+.icon-huifang:before {
+ content: "\e76c";
+}
+
+.icon-zhibozhong:before {
+ content: "\e76b";
+}
+
+.icon-huangguan3:before {
+ content: "\e769";
+}
+
+.icon-huiyuan2:before {
+ content: "\e70c";
+}
+
+.icon-fapiao1:before {
+ content: "\e70b";
+}
+
+.icon-cha3:before {
+ content: "\e709";
+}
+
+.icon-shezhi1:before {
+ content: "\e70a";
+}
+
+.icon-tianjia1:before {
+ content: "\e705";
+}
+
+.icon-bianji3:before {
+ content: "\e706";
+}
+
+.icon-jiahao2:before {
+ content: "\e707";
+}
+
+.icon-shanchu3:before {
+ content: "\e708";
+}
+
+.icon-fuzhikouling:before {
+ content: "\e704";
+}
+
+.icon-kefujiedai:before {
+ content: "\e703";
+}
+
+.icon-miaosha1:before {
+ content: "\e702";
+}
+
+.icon-bianji2:before {
+ content: "\e700";
+}
+
+.icon-qingkonghuancun:before {
+ content: "\e701";
+}
+
+.icon-shijian1:before {
+ content: "\e66b";
+}
+
+.icon-wenhao1:before {
+ content: "\e6ee";
+}
+
+.icon-zhanghaomima:before {
+ content: "\e763";
+}
+
+.icon-erweima2:before {
+ content: "\e765";
+}
+
+.icon-guanji:before {
+ content: "\e6ed";
+}
+
+.icon-tupian1:before {
+ content: "\e762";
+}
+
+.icon-biaoqing1:before {
+ content: "\e764";
+}
+
+.icon-guanbi5:before {
+ content: "\e761";
+}
+
+.icon-shengyinjingyinxianxing:before {
+ content: "\e94f";
+}
+
+.icon-shengyinyinliang:before {
+ content: "\e66a";
+}
+
+.icon-pingjia1:before {
+ content: "\e6ec";
+}
+
+.icon-xialazhankai:before {
+ content: "\e6dd";
+}
+
+.icon-cha2:before {
+ content: "\e6e6";
+}
+
+.icon-fanhuishouye:before {
+ content: "\e6df";
+}
+
+.icon-gengduo3:before {
+ content: "\e6e0";
+}
+
+.icon-fenxiang1:before {
+ content: "\e6e2";
+}
+
+.icon-sousuo5:before {
+ content: "\e6e3";
+}
+
+.icon-huiyuan1:before {
+ content: "\e6e5";
+}
+
+.icon-gou:before {
+ content: "\e6e7";
+}
+
+.icon-gouwuche6:before {
+ content: "\e6e8";
+}
+
+.icon-you1:before {
+ content: "\e6e9";
+}
+
+.icon-zuo1:before {
+ content: "\e6ea";
+}
+
+.icon-vip12:before {
+ content: "\e6eb";
+}
+
+.icon-youhuiquan1:before {
+ content: "\e6db";
+}
+
+.icon-kefu21:before {
+ content: "\e6da";
+}
+
+.icon-yue1:before {
+ content: "\e6dc";
+}
+
+.icon-huiyuanzhongxin:before {
+ content: "\e6d5";
+}
+
+.icon-kanjiajilu:before {
+ content: "\e6d6";
+}
+
+.icon-dizhixinxi:before {
+ content: "\e6d7";
+}
+
+.icon-wodetuiguang:before {
+ content: "\e6d8";
+}
+
+.icon-wodeshoucang:before {
+ content: "\e6d9";
+}
+
+.icon-huidaodingbu1:before {
+ content: "\e6d4";
+}
+
+.icon-saoyisao:before {
+ content: "\e6d3";
+}
+
+.icon-jiageshaixuanshang:before {
+ content: "\e6d0";
+}
+
+.icon-jiageshaixuanxia:before {
+ content: "\e6d1";
+}
+
+.icon-shouji1:before {
+ content: "\e6cf";
+}
+
+.icon-gengduo2:before {
+ content: "\e6cd";
+}
+
+.icon-cha1:before {
+ content: "\e6cb";
+}
+
+.icon-fasong:before {
+ content: "\e6be";
+}
+
+.icon-gengduozhankai:before {
+ content: "\e6c7";
+}
+
+.icon-biaoqing:before {
+ content: "\e6c8";
+}
+
+.icon-huashu:before {
+ content: "\e6c9";
+}
+
+.icon-tupian:before {
+ content: "\e6ca";
+}
+
+.icon-mima:before {
+ content: "\e6ba";
+}
+
+.icon-zhanghao:before {
+ content: "\e6bc";
+}
+
+.icon-fanhui:before {
+ content: "\e6b9";
+}
+
+.icon-jinru2:before {
+ content: "\e6bd";
+}
+
+.icon-shangpinxinxi:before {
+ content: "\e6bf";
+}
+
+.icon-tuichu:before {
+ content: "\e6c0";
+}
+
+.icon-jiaoyidingdan:before {
+ content: "\e6c1";
+}
+
+.icon-sousuo4:before {
+ content: "\e6c4";
+}
+
+.icon-xuanzhong5:before {
+ content: "\e6c6";
+}
+
+.icon-VIP2:before {
+ content: "\e6b8";
+}
+
+.icon-pinzhong:before {
+ content: "\e6a2";
+}
+
+.icon-hanghuo:before {
+ content: "\e6a3";
+}
+
+.icon-zhifa:before {
+ content: "\e6b6";
+}
+
+.icon-dijia:before {
+ content: "\e6b7";
+}
+
+.icon-gerenzhongxin-xuanzhong:before {
+ content: "\e6ae";
+}
+
+.icon-xuanzhong4:before {
+ content: "\e6af";
+}
+
+.icon-zanwumiaosha:before {
+ content: "\e6b0";
+}
+
+.icon-shangchuantupian:before {
+ content: "\e6b3";
+}
+
+.icon-fuwu:before {
+ content: "\e6b4";
+}
+
+.icon-tuikuantishi:before {
+ content: "\e6b5";
+}
+
+.icon-erweima-youxia:before {
+ content: "\e6ad";
+}
+
+.icon-erweimabianjiao:before {
+ content: "\e6ac";
+}
+
+.icon-weixindenglu1:before {
+ content: "\e6aa";
+}
+
+.icon-zhanghaodenglu1:before {
+ content: "\e6ab";
+}
+
+.icon-shangjiashijian:before {
+ content: "\e6a9";
+}
+
+.icon-jiageshaixuan:before {
+ content: "\e6a7";
+}
+
+.icon-gengduofenlei:before {
+ content: "\e6a8";
+}
+
+.icon-weixuan:before {
+ content: "\e6a6";
+}
+
+.icon-xuanzhong11:before {
+ content: "\e6a5";
+}
+
+.icon-pingjia:before {
+ content: "\e6a4";
+}
+
+.icon-guanbi4:before {
+ content: "\e6a0";
+}
+
+.icon-pinzhongqiquan:before {
+ content: "\e69d";
+}
+
+.icon-dijiachangxuan:before {
+ content: "\e69e";
+}
+
+.icon-zhengpinhanghuo:before {
+ content: "\e69f";
+}
+
+.icon-dizhi-tianjia:before {
+ content: "\e696";
+}
+
+.icon-shanchu2:before {
+ content: "\e69c";
+}
+
+.icon-yue:before {
+ content: "\e699";
+}
+
+.icon-weixinzhifu1:before {
+ content: "\e69a";
+}
+
+.icon-shangpinshuliang-jian:before {
+ content: "\e698";
+}
+
+.icon-shangpinshuliang-jia:before {
+ content: "\e697";
+}
+
+.icon-xuanzhong3:before {
+ content: "\e693";
+}
+
+.icon-dizhixiala:before {
+ content: "\e694";
+}
+
+.icon-jinru1:before {
+ content: "\e695";
+}
+
+.icon-shenqingtuikuan:before {
+ content: "\e692";
+}
+
+.icon-peihuo:before {
+ content: "\e68d";
+}
+
+.icon-xiadan:before {
+ content: "\e68e";
+}
+
+.icon-wancheng:before {
+ content: "\e68f";
+}
+
+.icon-fukuan:before {
+ content: "\e690";
+}
+
+.icon-fahuo:before {
+ content: "\e691";
+}
+
+.icon-saoma:before {
+ content: "\e68c";
+}
+
+.icon-tishi:before {
+ content: "\e68b";
+}
+
+.icon-xiala2:before {
+ content: "\e682";
+}
+
+.icon-VIP1:before {
+ content: "\e68a";
+}
+
+.icon-yishoucang:before {
+ content: "\e683";
+}
+
+.icon-shoucang2:before {
+ content: "\e686";
+}
+
+.icon-kefu2:before {
+ content: "\e689";
+}
+
+.icon-fapiao:before {
+ content: "\e680";
+}
+
+.icon-fapiaoguanli:before {
+ content: "\e681";
+}
+
+.icon-jinru:before {
+ content: "\e67e";
+}
+
+.icon-sousuo3:before {
+ content: "\e67b";
+}
+
+.icon-dingbu-gouwuche:before {
+ content: "\e67a";
+}
+
+.icon-huidaodingbu:before {
+ content: "\e678";
+}
+
+.icon-cedaohang-gouwuche:before {
+ content: "\e676";
+}
+
+.icon-weixin4:before {
+ content: "\e675";
+}
+
+.icon-lianxikefu:before {
+ content: "\e672";
+}
+
+.icon-zuo-miaosha:before {
+ content: "\e670";
+}
+
+.icon-you-miaosha:before {
+ content: "\e671";
+}
+
+.icon-zuo:before {
+ content: "\e66d";
+}
+
+.icon-you:before {
+ content: "\e66f";
+}
+
+.icon-shoucangbenzhan:before {
+ content: "\e66c";
+}
+
+.icon-lianxishangjia:before {
+ content: "\e668";
+}
+
+.icon-dingwei:before {
+ content: "\e667";
+}
+
+.icon-fenlei2:before {
+ content: "\e663";
+}
+
+.icon-wode:before {
+ content: "\e664";
+}
+
+.icon-shouye5:before {
+ content: "\e665";
+}
+
+.icon-gouwuche5:before {
+ content: "\e666";
+}
+
+.icon-jianhao1:before {
+ content: "\e661";
+}
+
+.icon-jiahao1:before {
+ content: "\e662";
+}
+
+.icon-yanzhengma1:before {
+ content: "\e65f";
+}
+
+.icon-shouji:before {
+ content: "\e660";
+}
+
+.icon-cha:before {
+ content: "\e658";
+}
+
+.icon-shoujihao:before {
+ content: "\e659";
+}
+
+.icon-qiye:before {
+ content: "\e65b";
+}
+
+.icon-yonghu3:before {
+ content: "\e65c";
+}
+
+.icon-yanzhengma:before {
+ content: "\e65d";
+}
+
+.icon-shangpin:before {
+ content: "\e653";
+}
+
+.icon-qiandao2:before {
+ content: "\e65a";
+}
+
+.icon-yaoqing:before {
+ content: "\ea39";
+}
+
+.icon-tuihuozhong:before {
+ content: "\e64f";
+}
+
+.icon-shenhezhong1:before {
+ content: "\e650";
+}
+
+.icon-daituihuo:before {
+ content: "\e652";
+}
+
+.icon-yihexiao:before {
+ content: "\e75f";
+}
+
+.icon-yijujue1:before {
+ content: "\e6a1";
+}
+
+.icon-gengduo1:before {
+ content: "\e674";
+}
+
+.icon-tuikuan:before {
+ content: "\e657";
+}
+
+.icon-xiaoxi:before {
+ content: "\e64b";
+}
+
+.icon-erweima1:before {
+ content: "\e647";
+}
+
+.icon-kefu1:before {
+ content: "\e648";
+}
+
+.icon-guanzhu:before {
+ content: "\e645";
+}
+
+.icon-xiangji:before {
+ content: "\e6bb";
+}
+
+.icon-zhuyi-copy:before {
+ content: "\e688";
+}
+
+.icon-pingfen:before {
+ content: "\e649";
+}
+
+.icon-yingyongAPP_o:before {
+ content: "\eb88";
+}
+
+.icon-yizhan_o:before {
+ content: "\ebc6";
+}
+
+.icon-shaixuan:before {
+ content: "\e651";
+}
+
+.icon-shangjiadingdan:before {
+ content: "\e64a";
+}
+
+.icon-shouye4:before {
+ content: "\e64d";
+}
+
+.icon-jinbi2:before {
+ content: "\e63f";
+}
+
+.icon-jinbi:before {
+ content: "\e63c";
+}
+
+.icon-zuobiao:before {
+ content: "\e6de";
+}
+
+.icon-jianhao:before {
+ content: "\e753";
+}
+
+.icon-jiahao:before {
+ content: "\e754";
+}
+
+.icon-zhibojieshux:before {
+ content: "\e63d";
+}
+
+.icon-zhibo:before {
+ content: "\e63e";
+}
+
+.icon-VIP:before {
+ content: "\e751";
+}
+
+.icon-tuiguang:before {
+ content: "\e63b";
+}
+
+.icon-geren1:before {
+ content: "\e750";
+}
+
+.icon-gouwuche4:before {
+ content: "\e74f";
+}
+
+.icon-fenlei1:before {
+ content: "\e74e";
+}
+
+.icon-shouye3:before {
+ content: "\e74c";
+}
+
+.icon-geren:before {
+ content: "\e74b";
+}
+
+.icon-gouwuche3:before {
+ content: "\e74a";
+}
+
+.icon-fenlei:before {
+ content: "\e749";
+}
+
+.icon-shouye2:before {
+ content: "\e748";
+}
+
+.icon-mzshopping:before {
+ content: "\e746";
+}
+
+.icon-gongneng:before {
+ content: "\e63a";
+}
+
+.icon-gerenzhongxin-copy:before {
+ content: "\ebc0";
+}
+
+.icon-shouye1-copy:before {
+ content: "\ebc1";
+}
+
+.icon-gerenzhongxin:before {
+ content: "\e636";
+}
+
+.icon-shouye1:before {
+ content: "\e637";
+}
+
+.icon-gouwuche2:before {
+ content: "\e638";
+}
+
+.icon-fenleiyemian:before {
+ content: "\e639";
+}
+
+.icon-gouwuche2-copy:before {
+ content: "\ebc2";
+}
+
+.icon-fenleiyemian-copy:before {
+ content: "\ebc3";
+}
+
+.icon-tonghua:before {
+ content: "\e740";
+}
+
+.icon-youjian:before {
+ content: "\e677";
+}
+
+.icon-dadianhua01:before {
+ content: "\e623";
+}
+
+.icon-paihang:before {
+ content: "\e73e";
+}
+
+.icon-weizhi:before {
+ content: "\e62d";
+}
+
+.icon-paihang1:before {
+ content: "\e633";
+}
+
+.icon-shuoming1:before {
+ content: "\e673";
+}
+
+.icon-dianhau:before {
+ content: "\e634";
+}
+
+.icon-shijian:before {
+ content: "\e635";
+}
+
+.icon-huabanfuben:before {
+ content: "\e654";
+}
+
+.icon-jian:before {
+ content: "\e621";
+}
+
+.icon-jia:before {
+ content: "\e7e0";
+}
+
+.icon-xiugai:before {
+ content: "\e61f";
+}
+
+.icon-anniu_jiantouzhankai_o:before {
+ content: "\eb89";
+}
+
+.icon-jiantou_xiayiye_o:before {
+ content: "\eb8f";
+}
+
+.icon-jiantou_shangxiaqiehuan_o:before {
+ content: "\eb90";
+}
+
+.icon-shangxiazhankai_o:before {
+ content: "\eb9a";
+}
+
+.icon-dianhua_o:before {
+ content: "\ebaf";
+}
+
+.icon-yunshangchuan_o:before {
+ content: "\ebb3";
+}
+
+.icon-bingtu_o:before {
+ content: "\ebb4";
+}
+
+.icon-baoguo_huanbaohe_o:before {
+ content: "\ebb6";
+}
+
+.icon-baoguo_quxiaoshouhuo_o:before {
+ content: "\ebb7";
+}
+
+.icon-baoguo_shouhuo_o:before {
+ content: "\ebb8";
+}
+
+.icon-baoguo_lingjian_o:before {
+ content: "\ebb9";
+}
+
+.icon-baoguo_shouna_o:before {
+ content: "\ebbe";
+}
+
+.icon-xianxiazhifu:before {
+ content: "\e6e1";
+}
+
+.icon-icon_im_keyboard:before {
+ content: "\eb97";
+}
+
+.icon-tupian-:before {
+ content: "\e73f";
+}
+
+.icon-icon_im_face:before {
+ content: "\eb96";
+}
+
+.icon-yuezhifu:before {
+ content: "\e65e";
+}
+
+.icon-yuezhifu1:before {
+ content: "\e61a";
+}
+
+.icon-weixinzhifu:before {
+ content: "\e632";
+}
+
+.icon-zhifubao:before {
+ content: "\e61d";
+}
+
+.icon-haibao:before {
+ content: "\e73b";
+}
+
+.icon-weixin3:before {
+ content: "\e618";
+}
+
+.icon-crmeb1:before {
+ content: "\e739";
+}
+
+.icon-crmeb:before {
+ content: "\e735";
+}
+
+.icon-xuanzhong2:before {
+ content: "\e731";
+}
+
+.icon-shujutongji:before {
+ content: "\e732";
+}
+
+.icon-xiangxishuju:before {
+ content: "\e733";
+}
+
+.icon-gengduo:before {
+ content: "\e734";
+}
+
+.icon-up:before {
+ content: "\e617";
+}
+
+.icon-yonghu2:before {
+ content: "\e60a";
+}
+
+.icon-zhinengkefu-:before {
+ content: "\e616";
+}
+
+.icon-xiangshang1:before {
+ content: "\e622";
+}
+
+.icon-xiangxia2:before {
+ content: "\ebbd";
+}
+
+.icon-code_:before {
+ content: "\e723";
+}
+
+.icon-code_1:before {
+ content: "\e724";
+}
+
+.icon-phone_:before {
+ content: "\e725";
+}
+
+.icon-xiala:before {
+ content: "\e67f";
+}
+
+.icon-shezhi:before {
+ content: "\e619";
+}
+
+.icon-bianji1:before {
+ content: "\e614";
+}
+
+.icon-shoucang1:before {
+ content: "\e714";
+}
+
+.icon-jiazai:before {
+ content: "\e62c";
+}
+
+.icon-2:before {
+ content: "\e684";
+}
+
+.icon-tuandui:before {
+ content: "\e685";
+}
+
+.icon-jinbi1:before {
+ content: "\e655";
+}
+
+.icon-guanbi3:before {
+ content: "\e6c5";
+}
+
+.icon-wenti:before {
+ content: "\e758";
+}
+
+.icon-ziyuan-xianxing:before {
+ content: "\e8a4";
+}
+
+.icon-yonghu1:before {
+ content: "\e644";
+}
+
+.icon-dingdan:before {
+ content: "\e61e";
+}
+
+.icon-suozi:before {
+ content: "\e631";
+}
+
+.icon-quanxianguanlisuozi:before {
+ content: "\e6d2";
+}
+
+.icon-lingxing:before {
+ content: "\e6ff";
+}
+
+.icon-miaosha:before {
+ content: "\e6c3";
+}
+
+.icon-hebingxingzhuang:before {
+ content: "\e656";
+}
+
+.icon-kanjia1:before {
+ content: "\e613";
+}
+
+.icon-qiandai:before {
+ content: "\e6b1";
+}
+
+.icon-tongji:before {
+ content: "\e687";
+}
+
+.icon-erweima:before {
+ content: "\e607";
+}
+
+.icon-icon34:before {
+ content: "\e62b";
+}
+
+.icon-yinhangqia:before {
+ content: "\e72c";
+}
+
+.icon-yituikuan:before {
+ content: "\e6fd";
+}
+
+.icon-tuikuanzhong:before {
+ content: "\e6fe";
+}
+
+.icon-sousuo2:before {
+ content: "\e757";
+}
+
+.icon-caidan:before {
+ content: "\e62a";
+}
+
+.icon-icon25201:before {
+ content: "\e70d";
+}
+
+.icon-shitixing:before {
+ content: "\e6fb";
+}
+
+.icon-kongxinxing:before {
+ content: "\e6fc";
+}
+
+.icon-pintuanchenggong:before {
+ content: "\e6f9";
+}
+
+.icon-pintuanshibai:before {
+ content: "\e6fa";
+}
+
+.icon-laba:before {
+ content: "\e612";
+}
+
+.icon-xiaolian:before {
+ content: "\e60f";
+}
+
+.icon-kanjia:before {
+ content: "\e69b";
+}
+
+.icon-shuoming:before {
+ content: "\e630";
+}
+
+.icon-mingxi:before {
+ content: "\e6f7";
+}
+
+.icon-tishengfenzhi:before {
+ content: "\e6f8";
+}
+
+.icon-guanbi2:before {
+ content: "\e61c";
+}
+
+.icon-yuandianxiao:before {
+ content: "\e82f";
+}
+
+.icon-webicon318:before {
+ content: "\e6c2";
+}
+
+.icon-tianjiadizhi:before {
+ content: "\e640";
+}
+
+.icon-shanchu:before {
+ content: "\e628";
+}
+
+.icon-weixin2:before {
+ content: "\e604";
+}
+
+.icon-icon-test:before {
+ content: "\e6f6";
+}
+
+.icon-guanbi1:before {
+ content: "\e6f5";
+}
+
+.icon-shoucang:before {
+ content: "\e606";
+}
+
+.icon-kefu:before {
+ content: "\e6b2";
+}
+
+.icon-biankuang:before {
+ content: "\e6f4";
+}
+
+.icon-zhuangshixian:before {
+ content: "\e6f1";
+}
+
+.icon-jishuzhichi:before {
+ content: "\e6f3";
+}
+
+.icon-xuanzhong1:before {
+ content: "\e6ef";
+}
+
+.icon-weixuanzhong:before {
+ content: "\e6f0";
+}
+
+.icon-xiangshang:before {
+ content: "\ebbb";
+}
+
+.icon-xiangxia:before {
+ content: "\e8ca";
+}
+
+.icon-cuxiaoguanli:before {
+ content: "\e60e";
+}
+
+.icon-shanchu1:before {
+ content: "\e611";
+}
+
+.icon-caigou-xianxing:before {
+ content: "\e887";
+}
+
+.icon-caigou:before {
+ content: "\e888";
+}
+
+.icon-yingyongchengxu-xianxing:before {
+ content: "\e8a1";
+}
+
+.icon-yingyongchengxu:before {
+ content: "\e8a2";
+}
+
+.icon-shouye:before {
+ content: "\e8b9";
+}
+
+.icon-shouye-xianxing:before {
+ content: "\e8ba";
+}
+
+.icon-yonghu-xianxing:before {
+ content: "\e8c8";
+}
+
+.icon-yonghu:before {
+ content: "\e8c9";
+}
+
+.icon-sousuo:before {
+ content: "\e67d";
+}
+
+.icon-sousuo1:before {
+ content: "\e64c";
+}
+
+.icon-kefu_o:before {
+ content: "\eb63";
+}
+
+.icon-liwu_o:before {
+ content: "\eb65";
+}
+
+.icon-huobiliu_o:before {
+ content: "\eb9f";
+}
+
+.icon-jinbi_o:before {
+ content: "\eba1";
+}
+
+.icon-gerentouxiang_o:before {
+ content: "\ebac";
+}
+
+.icon-qunzu_o:before {
+ content: "\ebad";
+}
+
+.icon-shoucang_o:before {
+ content: "\ebae";
+}
+
+.icon-didiandingwei_o:before {
+ content: "\ebba";
+}
+
+.icon-xiangyou:before {
+ content: "\e679";
+}
+
+.icon-jingpintuijian:before {
+ content: "\e60d";
+}
+
+.icon-xinpin:before {
+ content: "\e610";
+}
+
+.icon-remen:before {
+ content: "\e67c";
+}
+
+.icon-xiangzuo:before {
+ content: "\ebbc";
+}
+
+.icon-ditu:before {
+ content: "\e906";
+}
+
+.icon-guanbi:before {
+ content: "\e62f";
+}
+
+.icon-liulan:before {
+ content: "\e629";
+}
+
+.icon-shenhezhong:before {
+ content: "\e6ce";
+}
+
+.icon-chongzhi:before {
+ content: "\e602";
+}
+
+.icon-iconfontguanbi:before {
+ content: "\e643";
+}
+
+.icon-zhekou:before {
+ content: "\e790";
+}
+
+.icon-duihao2:before {
+ content: "\e601";
+}
+
+.icon-duihao:before {
+ content: "\e64e";
+}
+
+.icon-jingyanzhi:before {
+ content: "\e62e";
+}
+
+.icon-wuliu:before {
+ content: "\e6f2";
+}
+
+.icon-pintuan-copy:before {
+ content: "\ebbf";
+}
+
+.icon-arrow:before {
+ content: "\e627";
+}
+
+.icon-pintuan:before {
+ content: "\e60c";
+}
+
+.icon-youhuiquan:before {
+ content: "\e6e4";
+}
+
+.icon-gouwuche1:before {
+ content: "\e642";
+}
+
+.icon-pailie:before {
+ content: "\e61b";
+}
+
+.icon-tupianpailie:before {
+ content: "\e620";
+}
+
+.icon-xiazai5:before {
+ content: "\e605";
+}
+
+.icon-weixin1:before {
+ content: "\e66e";
+}
+
+.icon-gouwuche:before {
+ content: "\e669";
+}
+
+.icon-jiantou:before {
+ content: "\e641";
+}
+
+.icon-huiyuan:before {
+ content: "\e60b";
+}
+
+.icon-xuanzhong:before {
+ content: "\e615";
+}
+
+.icon-complete:before {
+ content: "\e646";
+}
+
+.icon-xiala1:before {
+ content: "\e609";
+}
+
+.icon-dizhi:before {
+ content: "\e608";
+}
+
+.icon-weixin:before {
+ content: "\e600";
+}
+
+.icon-fenxiang:before {
+ content: "\e603";
+}
+
+.icon-bianji:before {
+ content: "\e6cc";
+}
+
+.icon-huangguan:before {
+ content: "\e624";
+}
+
+.icon-huangguan1:before {
+ content: "\e625";
+}
+
+.icon-huangguan2:before {
+ content: "\e626";
+}
+
diff --git a/app/static/images/1-001.png b/app/static/images/1-001.png
new file mode 100644
index 0000000..c2d7fae
Binary files /dev/null and b/app/static/images/1-001.png differ
diff --git a/app/static/images/1-002.png b/app/static/images/1-002.png
new file mode 100644
index 0000000..c6bd228
Binary files /dev/null and b/app/static/images/1-002.png differ
diff --git a/app/static/images/2-001.png b/app/static/images/2-001.png
new file mode 100644
index 0000000..a25cf93
Binary files /dev/null and b/app/static/images/2-001.png differ
diff --git a/app/static/images/2-002.png b/app/static/images/2-002.png
new file mode 100644
index 0000000..76aa0d2
Binary files /dev/null and b/app/static/images/2-002.png differ
diff --git a/app/static/images/3-001.png b/app/static/images/3-001.png
new file mode 100644
index 0000000..b55ee31
Binary files /dev/null and b/app/static/images/3-001.png differ
diff --git a/app/static/images/3-002.png b/app/static/images/3-002.png
new file mode 100644
index 0000000..4a0ca41
Binary files /dev/null and b/app/static/images/3-002.png differ
diff --git a/app/static/images/4-001.png b/app/static/images/4-001.png
new file mode 100644
index 0000000..26d7fbe
Binary files /dev/null and b/app/static/images/4-001.png differ
diff --git a/app/static/images/4-002.png b/app/static/images/4-002.png
new file mode 100644
index 0000000..f3304d7
Binary files /dev/null and b/app/static/images/4-002.png differ
diff --git a/app/static/images/accountBg.png b/app/static/images/accountBg.png
new file mode 100644
index 0000000..5040fd4
Binary files /dev/null and b/app/static/images/accountBg.png differ
diff --git a/app/static/images/address.png b/app/static/images/address.png
new file mode 100644
index 0000000..a97c7ef
Binary files /dev/null and b/app/static/images/address.png differ
diff --git a/app/static/images/alter.png b/app/static/images/alter.png
new file mode 100644
index 0000000..93cd71f
Binary files /dev/null and b/app/static/images/alter.png differ
diff --git a/app/static/images/angle.png b/app/static/images/angle.png
new file mode 100644
index 0000000..c531fab
Binary files /dev/null and b/app/static/images/angle.png differ
diff --git a/app/static/images/balance.png b/app/static/images/balance.png
new file mode 100644
index 0000000..ce7e51b
Binary files /dev/null and b/app/static/images/balance.png differ
diff --git a/app/static/images/barg001.png b/app/static/images/barg001.png
new file mode 100644
index 0000000..857235f
Binary files /dev/null and b/app/static/images/barg001.png differ
diff --git a/app/static/images/barg002.png b/app/static/images/barg002.png
new file mode 100644
index 0000000..79f2f61
Binary files /dev/null and b/app/static/images/barg002.png differ
diff --git a/app/static/images/bargain.png b/app/static/images/bargain.png
new file mode 100644
index 0000000..1b45cc3
Binary files /dev/null and b/app/static/images/bargain.png differ
diff --git a/app/static/images/bargainBg.jpg b/app/static/images/bargainBg.jpg
new file mode 100644
index 0000000..e47be56
Binary files /dev/null and b/app/static/images/bargainBg.jpg differ
diff --git a/app/static/images/bargainBg.png b/app/static/images/bargainBg.png
new file mode 100644
index 0000000..0de595a
Binary files /dev/null and b/app/static/images/bargainBg.png differ
diff --git a/app/static/images/canbj.png b/app/static/images/canbj.png
new file mode 100644
index 0000000..d2a37ce
Binary files /dev/null and b/app/static/images/canbj.png differ
diff --git a/app/static/images/close.gif b/app/static/images/close.gif
new file mode 100644
index 0000000..4de18b4
Binary files /dev/null and b/app/static/images/close.gif differ
diff --git a/app/static/images/code_1.png b/app/static/images/code_1.png
new file mode 100644
index 0000000..048e88b
Binary files /dev/null and b/app/static/images/code_1.png differ
diff --git a/app/static/images/code_2.png b/app/static/images/code_2.png
new file mode 100644
index 0000000..7247758
Binary files /dev/null and b/app/static/images/code_2.png differ
diff --git a/app/static/images/collection.png b/app/static/images/collection.png
new file mode 100644
index 0000000..8ab1a39
Binary files /dev/null and b/app/static/images/collection.png differ
diff --git a/app/static/images/coupon.png b/app/static/images/coupon.png
new file mode 100644
index 0000000..0e83815
Binary files /dev/null and b/app/static/images/coupon.png differ
diff --git a/app/static/images/crmeb.png b/app/static/images/crmeb.png
new file mode 100644
index 0000000..1cbe9e2
Binary files /dev/null and b/app/static/images/crmeb.png differ
diff --git a/app/static/images/customer.png b/app/static/images/customer.png
new file mode 100644
index 0000000..c737b51
Binary files /dev/null and b/app/static/images/customer.png differ
diff --git a/app/static/images/del.png b/app/static/images/del.png
new file mode 100644
index 0000000..5204978
Binary files /dev/null and b/app/static/images/del.png differ
diff --git a/app/static/images/dfh.png b/app/static/images/dfh.png
new file mode 100644
index 0000000..808404c
Binary files /dev/null and b/app/static/images/dfh.png differ
diff --git a/app/static/images/dfk.png b/app/static/images/dfk.png
new file mode 100644
index 0000000..8b931cf
Binary files /dev/null and b/app/static/images/dfk.png differ
diff --git a/app/static/images/down.png b/app/static/images/down.png
new file mode 100644
index 0000000..064b4c1
Binary files /dev/null and b/app/static/images/down.png differ
diff --git a/app/static/images/dpj.png b/app/static/images/dpj.png
new file mode 100644
index 0000000..9f2419b
Binary files /dev/null and b/app/static/images/dpj.png differ
diff --git a/app/static/images/dsh.png b/app/static/images/dsh.png
new file mode 100644
index 0000000..0cf464f
Binary files /dev/null and b/app/static/images/dsh.png differ
diff --git a/app/static/images/edit.png b/app/static/images/edit.png
new file mode 100644
index 0000000..e969b06
Binary files /dev/null and b/app/static/images/edit.png differ
diff --git a/app/static/images/empty-box.png b/app/static/images/empty-box.png
new file mode 100644
index 0000000..167b83a
Binary files /dev/null and b/app/static/images/empty-box.png differ
diff --git a/app/static/images/examine.png b/app/static/images/examine.png
new file mode 100644
index 0000000..ec8a0fc
Binary files /dev/null and b/app/static/images/examine.png differ
diff --git a/app/static/images/explosion-title.png b/app/static/images/explosion-title.png
new file mode 100644
index 0000000..860299a
Binary files /dev/null and b/app/static/images/explosion-title.png differ
diff --git a/app/static/images/explosion.png b/app/static/images/explosion.png
new file mode 100644
index 0000000..a9c46b0
Binary files /dev/null and b/app/static/images/explosion.png differ
diff --git a/app/static/images/extension.png b/app/static/images/extension.png
new file mode 100644
index 0000000..f21fdc1
Binary files /dev/null and b/app/static/images/extension.png differ
diff --git a/app/static/images/f.png b/app/static/images/f.png
new file mode 100644
index 0000000..bc4802a
Binary files /dev/null and b/app/static/images/f.png differ
diff --git a/app/static/images/face.png b/app/static/images/face.png
new file mode 100644
index 0000000..0f132ad
Binary files /dev/null and b/app/static/images/face.png differ
diff --git a/app/static/images/gift.png b/app/static/images/gift.png
new file mode 100644
index 0000000..2df647e
Binary files /dev/null and b/app/static/images/gift.png differ
diff --git a/app/static/images/group01.png b/app/static/images/group01.png
new file mode 100644
index 0000000..8bb615a
Binary files /dev/null and b/app/static/images/group01.png differ
diff --git a/app/static/images/horn.png b/app/static/images/horn.png
new file mode 100644
index 0000000..37cdc04
Binary files /dev/null and b/app/static/images/horn.png differ
diff --git a/app/static/images/kanjia.png b/app/static/images/kanjia.png
new file mode 100644
index 0000000..7ed6f91
Binary files /dev/null and b/app/static/images/kanjia.png differ
diff --git a/app/static/images/keyboard.png b/app/static/images/keyboard.png
new file mode 100644
index 0000000..9e40dc0
Binary files /dev/null and b/app/static/images/keyboard.png differ
diff --git a/app/static/images/kjbj.png b/app/static/images/kjbj.png
new file mode 100644
index 0000000..f5e10aa
Binary files /dev/null and b/app/static/images/kjbj.png differ
diff --git a/app/static/images/line.jpg b/app/static/images/line.jpg
new file mode 100644
index 0000000..54097a1
Binary files /dev/null and b/app/static/images/line.jpg differ
diff --git a/app/static/images/ling.png b/app/static/images/ling.png
new file mode 100644
index 0000000..cf5c71f
Binary files /dev/null and b/app/static/images/ling.png differ
diff --git a/app/static/images/lingyhj.png b/app/static/images/lingyhj.png
new file mode 100644
index 0000000..2a1b70f
Binary files /dev/null and b/app/static/images/lingyhj.png differ
diff --git a/app/static/images/live-01.png b/app/static/images/live-01.png
new file mode 100644
index 0000000..c6fa04e
Binary files /dev/null and b/app/static/images/live-01.png differ
diff --git a/app/static/images/live-02.png b/app/static/images/live-02.png
new file mode 100644
index 0000000..fe5d275
Binary files /dev/null and b/app/static/images/live-02.png differ
diff --git a/app/static/images/live-03.png b/app/static/images/live-03.png
new file mode 100644
index 0000000..62b796f
Binary files /dev/null and b/app/static/images/live-03.png differ
diff --git a/app/static/images/lock.png b/app/static/images/lock.png
new file mode 100644
index 0000000..de216f0
Binary files /dev/null and b/app/static/images/lock.png differ
diff --git a/app/static/images/lock2.png b/app/static/images/lock2.png
new file mode 100644
index 0000000..8ce74a3
Binary files /dev/null and b/app/static/images/lock2.png differ
diff --git a/app/static/images/logo.png b/app/static/images/logo.png
new file mode 100644
index 0000000..4464251
Binary files /dev/null and b/app/static/images/logo.png differ
diff --git a/app/static/images/logo2.png b/app/static/images/logo2.png
new file mode 100644
index 0000000..36046f7
Binary files /dev/null and b/app/static/images/logo2.png differ
diff --git a/app/static/images/medal01.png b/app/static/images/medal01.png
new file mode 100644
index 0000000..4d5790c
Binary files /dev/null and b/app/static/images/medal01.png differ
diff --git a/app/static/images/medal02.png b/app/static/images/medal02.png
new file mode 100644
index 0000000..643bb39
Binary files /dev/null and b/app/static/images/medal02.png differ
diff --git a/app/static/images/medal03.png b/app/static/images/medal03.png
new file mode 100644
index 0000000..745df65
Binary files /dev/null and b/app/static/images/medal03.png differ
diff --git a/app/static/images/member.png b/app/static/images/member.png
new file mode 100644
index 0000000..3236eae
Binary files /dev/null and b/app/static/images/member.png differ
diff --git a/app/static/images/memberCenter.png b/app/static/images/memberCenter.png
new file mode 100644
index 0000000..e63da58
Binary files /dev/null and b/app/static/images/memberCenter.png differ
diff --git a/app/static/images/money.png b/app/static/images/money.png
new file mode 100644
index 0000000..6fa73ee
Binary files /dev/null and b/app/static/images/money.png differ
diff --git a/app/static/images/mores.png b/app/static/images/mores.png
new file mode 100644
index 0000000..57478e3
Binary files /dev/null and b/app/static/images/mores.png differ
diff --git a/app/static/images/news.png b/app/static/images/news.png
new file mode 100644
index 0000000..5ecf788
Binary files /dev/null and b/app/static/images/news.png differ
diff --git a/app/static/images/noAddress.png b/app/static/images/noAddress.png
new file mode 100644
index 0000000..edf1191
Binary files /dev/null and b/app/static/images/noAddress.png differ
diff --git a/app/static/images/noCart.png b/app/static/images/noCart.png
new file mode 100644
index 0000000..1a8abde
Binary files /dev/null and b/app/static/images/noCart.png differ
diff --git a/app/static/images/noCoupon.png b/app/static/images/noCoupon.png
new file mode 100644
index 0000000..f334e44
Binary files /dev/null and b/app/static/images/noCoupon.png differ
diff --git a/app/static/images/noNews.png b/app/static/images/noNews.png
new file mode 100644
index 0000000..8f83e0e
Binary files /dev/null and b/app/static/images/noNews.png differ
diff --git a/app/static/images/noOrder.png b/app/static/images/noOrder.png
new file mode 100644
index 0000000..2ae122e
Binary files /dev/null and b/app/static/images/noOrder.png differ
diff --git a/app/static/images/noSearch.png b/app/static/images/noSearch.png
new file mode 100644
index 0000000..c8e7edb
Binary files /dev/null and b/app/static/images/noSearch.png differ
diff --git a/app/static/images/noShopper.png b/app/static/images/noShopper.png
new file mode 100644
index 0000000..07aa1fc
Binary files /dev/null and b/app/static/images/noShopper.png differ
diff --git a/app/static/images/one.png b/app/static/images/one.png
new file mode 100644
index 0000000..0220014
Binary files /dev/null and b/app/static/images/one.png differ
diff --git a/app/static/images/open.gif b/app/static/images/open.gif
new file mode 100644
index 0000000..4943b52
Binary files /dev/null and b/app/static/images/open.gif differ
diff --git a/app/static/images/order1.png b/app/static/images/order1.png
new file mode 100644
index 0000000..02cd6ed
Binary files /dev/null and b/app/static/images/order1.png differ
diff --git a/app/static/images/order2.png b/app/static/images/order2.png
new file mode 100644
index 0000000..65250a7
Binary files /dev/null and b/app/static/images/order2.png differ
diff --git a/app/static/images/order3.png b/app/static/images/order3.png
new file mode 100644
index 0000000..afab282
Binary files /dev/null and b/app/static/images/order3.png differ
diff --git a/app/static/images/order4.png b/app/static/images/order4.png
new file mode 100644
index 0000000..fecb92b
Binary files /dev/null and b/app/static/images/order4.png differ
diff --git a/app/static/images/order5.png b/app/static/images/order5.png
new file mode 100644
index 0000000..e4feebc
Binary files /dev/null and b/app/static/images/order5.png differ
diff --git a/app/static/images/orderTime.png b/app/static/images/orderTime.png
new file mode 100644
index 0000000..4003be6
Binary files /dev/null and b/app/static/images/orderTime.png differ
diff --git a/app/static/images/phone_1.png b/app/static/images/phone_1.png
new file mode 100644
index 0000000..44950db
Binary files /dev/null and b/app/static/images/phone_1.png differ
diff --git a/app/static/images/plus.png b/app/static/images/plus.png
new file mode 100644
index 0000000..9b57269
Binary files /dev/null and b/app/static/images/plus.png differ
diff --git a/app/static/images/poster-close.png b/app/static/images/poster-close.png
new file mode 100644
index 0000000..42f2857
Binary files /dev/null and b/app/static/images/poster-close.png differ
diff --git a/app/static/images/posterbackgd.png b/app/static/images/posterbackgd.png
new file mode 100644
index 0000000..c553fd1
Binary files /dev/null and b/app/static/images/posterbackgd.png differ
diff --git a/app/static/images/priceTag.png b/app/static/images/priceTag.png
new file mode 100644
index 0000000..658455b
Binary files /dev/null and b/app/static/images/priceTag.png differ
diff --git a/app/static/images/pricetitle.jpg b/app/static/images/pricetitle.jpg
new file mode 100644
index 0000000..ab055cd
Binary files /dev/null and b/app/static/images/pricetitle.jpg differ
diff --git a/app/static/images/pth.png b/app/static/images/pth.png
new file mode 100644
index 0000000..06f1368
Binary files /dev/null and b/app/static/images/pth.png differ
diff --git a/app/static/images/qh.png b/app/static/images/qh.png
new file mode 100644
index 0000000..e435b73
Binary files /dev/null and b/app/static/images/qh.png differ
diff --git a/app/static/images/record1.png b/app/static/images/record1.png
new file mode 100644
index 0000000..fd72634
Binary files /dev/null and b/app/static/images/record1.png differ
diff --git a/app/static/images/record2.png b/app/static/images/record2.png
new file mode 100644
index 0000000..2da37c3
Binary files /dev/null and b/app/static/images/record2.png differ
diff --git a/app/static/images/record3.png b/app/static/images/record3.png
new file mode 100644
index 0000000..e472612
Binary files /dev/null and b/app/static/images/record3.png differ
diff --git a/app/static/images/record4.png b/app/static/images/record4.png
new file mode 100644
index 0000000..db5bcd2
Binary files /dev/null and b/app/static/images/record4.png differ
diff --git a/app/static/images/red-packets.png b/app/static/images/red-packets.png
new file mode 100644
index 0000000..340217d
Binary files /dev/null and b/app/static/images/red-packets.png differ
diff --git a/app/static/images/right-icon.png b/app/static/images/right-icon.png
new file mode 100644
index 0000000..49b82c1
Binary files /dev/null and b/app/static/images/right-icon.png differ
diff --git a/app/static/images/rushBuy.jpg b/app/static/images/rushBuy.jpg
new file mode 100644
index 0000000..0c8906b
Binary files /dev/null and b/app/static/images/rushBuy.jpg differ
diff --git a/app/static/images/score.png b/app/static/images/score.png
new file mode 100644
index 0000000..a6d46ec
Binary files /dev/null and b/app/static/images/score.png differ
diff --git a/app/static/images/seckillTitle.png b/app/static/images/seckillTitle.png
new file mode 100644
index 0000000..f1e7e7c
Binary files /dev/null and b/app/static/images/seckillTitle.png differ
diff --git a/app/static/images/sh.png b/app/static/images/sh.png
new file mode 100644
index 0000000..5285a3e
Binary files /dev/null and b/app/static/images/sh.png differ
diff --git a/app/static/images/share-info.png b/app/static/images/share-info.png
new file mode 100644
index 0000000..c6824d8
Binary files /dev/null and b/app/static/images/share-info.png differ
diff --git a/app/static/images/shuoming.png b/app/static/images/shuoming.png
new file mode 100644
index 0000000..8d3791f
Binary files /dev/null and b/app/static/images/shuoming.png differ
diff --git a/app/static/images/sign03.png b/app/static/images/sign03.png
new file mode 100644
index 0000000..bb1c391
Binary files /dev/null and b/app/static/images/sign03.png differ
diff --git a/app/static/images/sort1.png b/app/static/images/sort1.png
new file mode 100644
index 0000000..2a88241
Binary files /dev/null and b/app/static/images/sort1.png differ
diff --git a/app/static/images/sort2.png b/app/static/images/sort2.png
new file mode 100644
index 0000000..74faf73
Binary files /dev/null and b/app/static/images/sort2.png differ
diff --git a/app/static/images/sort3.png b/app/static/images/sort3.png
new file mode 100644
index 0000000..c3ce7d4
Binary files /dev/null and b/app/static/images/sort3.png differ
diff --git a/app/static/images/spot.png b/app/static/images/spot.png
new file mode 100644
index 0000000..29fdc33
Binary files /dev/null and b/app/static/images/spot.png differ
diff --git a/app/static/images/stars1.png b/app/static/images/stars1.png
new file mode 100644
index 0000000..e99e709
Binary files /dev/null and b/app/static/images/stars1.png differ
diff --git a/app/static/images/stars2.png b/app/static/images/stars2.png
new file mode 100644
index 0000000..c26dcb3
Binary files /dev/null and b/app/static/images/stars2.png differ
diff --git a/app/static/images/stars3.png b/app/static/images/stars3.png
new file mode 100644
index 0000000..21921f2
Binary files /dev/null and b/app/static/images/stars3.png differ
diff --git a/app/static/images/stop.png b/app/static/images/stop.png
new file mode 100644
index 0000000..a7b944f
Binary files /dev/null and b/app/static/images/stop.png differ
diff --git a/app/static/images/support.png b/app/static/images/support.png
new file mode 100644
index 0000000..e309976
Binary files /dev/null and b/app/static/images/support.png differ
diff --git a/app/static/images/three.png b/app/static/images/three.png
new file mode 100644
index 0000000..5dccbe5
Binary files /dev/null and b/app/static/images/three.png differ
diff --git a/app/static/images/time.png b/app/static/images/time.png
new file mode 100644
index 0000000..d52fda3
Binary files /dev/null and b/app/static/images/time.png differ
diff --git a/app/static/images/transparent.png b/app/static/images/transparent.png
new file mode 100644
index 0000000..1f5972a
Binary files /dev/null and b/app/static/images/transparent.png differ
diff --git a/app/static/images/two.png b/app/static/images/two.png
new file mode 100644
index 0000000..6979a62
Binary files /dev/null and b/app/static/images/two.png differ
diff --git a/app/static/images/up.png b/app/static/images/up.png
new file mode 100644
index 0000000..ef2a765
Binary files /dev/null and b/app/static/images/up.png differ
diff --git a/app/static/images/user_bg.png b/app/static/images/user_bg.png
new file mode 100644
index 0000000..033bc62
Binary files /dev/null and b/app/static/images/user_bg.png differ
diff --git a/app/static/images/user_menu08.png b/app/static/images/user_menu08.png
new file mode 100644
index 0000000..d54bc51
Binary files /dev/null and b/app/static/images/user_menu08.png differ
diff --git a/app/static/images/user_menu09.png b/app/static/images/user_menu09.png
new file mode 100644
index 0000000..c0a399d
Binary files /dev/null and b/app/static/images/user_menu09.png differ
diff --git a/app/static/images/vacancy.png b/app/static/images/vacancy.png
new file mode 100644
index 0000000..fef8aff
Binary files /dev/null and b/app/static/images/vacancy.png differ
diff --git a/app/static/images/value.jpg b/app/static/images/value.jpg
new file mode 100644
index 0000000..32d4ab8
Binary files /dev/null and b/app/static/images/value.jpg differ
diff --git a/app/static/images/vip.png b/app/static/images/vip.png
new file mode 100644
index 0000000..d39cccc
Binary files /dev/null and b/app/static/images/vip.png differ
diff --git a/app/static/images/weiling.png b/app/static/images/weiling.png
new file mode 100644
index 0000000..80cfec7
Binary files /dev/null and b/app/static/images/weiling.png differ
diff --git a/app/static/images/writeOff.jpg b/app/static/images/writeOff.jpg
new file mode 100644
index 0000000..867ebf4
Binary files /dev/null and b/app/static/images/writeOff.jpg differ
diff --git a/app/static/images/xinjian.png b/app/static/images/xinjian.png
new file mode 100644
index 0000000..01a0e24
Binary files /dev/null and b/app/static/images/xinjian.png differ
diff --git a/app/static/images/xsms.png b/app/static/images/xsms.png
new file mode 100644
index 0000000..f1a7dd9
Binary files /dev/null and b/app/static/images/xsms.png differ
diff --git a/app/static/images/xyou.png b/app/static/images/xyou.png
new file mode 100644
index 0000000..c95cfed
Binary files /dev/null and b/app/static/images/xyou.png differ
diff --git a/app/static/images/xzuo.png b/app/static/images/xzuo.png
new file mode 100644
index 0000000..7205a5a
Binary files /dev/null and b/app/static/images/xzuo.png differ
diff --git a/app/static/images/yhjsy.png b/app/static/images/yhjsy.png
new file mode 100644
index 0000000..b1b253a
Binary files /dev/null and b/app/static/images/yhjsy.png differ
diff --git a/app/static/img/live-logo.gif b/app/static/img/live-logo.gif
new file mode 100644
index 0000000..1dfef3a
Binary files /dev/null and b/app/static/img/live-logo.gif differ
diff --git a/app/store/getters.js b/app/store/getters.js
new file mode 100644
index 0000000..67418cd
--- /dev/null
+++ b/app/store/getters.js
@@ -0,0 +1,12 @@
+export default {
+ token: state => state.app.token,
+ isLogin: state => !!state.app.token,
+ backgroundColor: state => state.app.backgroundColor,
+ userInfo: state => state.app.userInfo || {},
+ uid: state => state.app.uid,
+ homeActive: state => state.app.homeActive,
+ home: state => state.app.home,
+ chatUrl: state => state.app.chatUrl,
+ systemPlatform: state => state.app.systemPlatform,
+ productType: state => state.app.productType
+};
diff --git a/app/store/index.js b/app/store/index.js
new file mode 100644
index 0000000..73af950
--- /dev/null
+++ b/app/store/index.js
@@ -0,0 +1,13 @@
+import Vue from "vue";
+import Vuex from "vuex";
+import modules from "./modules";
+import getters from "./getters";
+
+Vue.use(Vuex);
+const debug = process.env.NODE_ENV !== "production";
+
+export default new Vuex.Store({
+ modules,
+ getters,
+ strict: debug
+});
diff --git a/app/store/modules/app.js b/app/store/modules/app.js
new file mode 100644
index 0000000..5122e15
--- /dev/null
+++ b/app/store/modules/app.js
@@ -0,0 +1,112 @@
+import {
+ getUserInfo
+} from "../../api/user.js";
+import {
+ LOGIN_STATUS,
+ UID,
+ PLATFORM
+} from '../../config/cache';
+import Cache from '../../utils/cache';
+import {
+ USER_INFO
+} from '../../config/cache';
+
+const state = {
+ token: Cache.get(LOGIN_STATUS) || '',
+ backgroundColor: "#fff",
+ userInfo: Cache.get(USER_INFO)?JSON.parse(Cache.get(USER_INFO)):null,
+ uid: Cache.get(UID) || null,
+ homeActive: false,
+ chatUrl: Cache.get('chatUrl') || '',
+ systemPlatform: Cache.get(PLATFORM)?Cache.get(PLATFORM):'',
+ productType: Cache.get('productType') || ''
+};
+
+const mutations = {
+ LOGIN(state, opt) {
+ state.token = opt.token;
+ Cache.set(LOGIN_STATUS, opt.token);
+ },
+ SETUID(state,val){
+ state.uid = val;
+ Cache.set(UID, val);
+ },
+ UPDATE_LOGIN(state, token) {
+ state.token = token;
+ },
+ LOGOUT(state) {
+ state.token = undefined;
+ state.uid = undefined
+ Cache.clear(LOGIN_STATUS);
+ Cache.clear(UID);
+ Cache.clear(USER_INFO);
+ },
+ BACKGROUND_COLOR(state, color) {
+ state.color = color;
+ document.body.style.backgroundColor = color;
+ },
+ UPDATE_USERINFO(state, userInfo) {
+ state.userInfo = userInfo;
+ Cache.set(USER_INFO, userInfo);
+ },
+ OPEN_HOME(state) {
+ state.homeActive = true;
+ },
+ CLOSE_HOME(state) {
+ state.homeActive = false;
+ },
+ SET_CHATURL(state, chatUrl){
+ state.chatUrl = chatUrl;
+ },
+ // AuthorizeType(state, authorizeType){
+ // state.authorizeType = authorizeType;
+ // },
+ SYSTEM_PLATFORM(state, systemPlatform){
+ state.systemPlatform = systemPlatform;
+ Cache.set(PLATFORM, systemPlatform);
+ },
+ //更新useInfo数据
+ changInfo(state, payload) {
+ state.userInfo[payload.amount1] = payload.amount2;
+ Cache.set(USER_INFO, state.userInfo);
+ },
+ //商品类型,用于区分视频号商品与一般商品
+ PRODUCT_TYPE(state, productType) {
+ state.productType = productType;
+ Cache.set('productType', productType);
+ }
+};
+
+const actions = {
+ USERINFO({
+ state,
+ commit
+ }, force) {
+ return new Promise(reslove => {
+ getUserInfo().then(res => {
+ commit("UPDATE_USERINFO", res.data);
+ reslove(res.data);
+ });
+ }).catch(() => {
+
+ });
+ // debugger
+ // if (state.userInfo !== null && !force)
+ // return Promise.resolve(state.userInfo);
+ // else
+ // return new Promise(reslove => {
+ // getUserInfo().then(res => {
+ // commit("UPDATE_USERINFO", res.data);
+ // reslove(res.data);
+ // });
+ // }).catch(() => {
+
+ // });
+ }
+};
+
+export default {
+ state,
+ mutations,
+ actions
+};
diff --git a/app/store/modules/index.js b/app/store/modules/index.js
new file mode 100644
index 0000000..2f30254
--- /dev/null
+++ b/app/store/modules/index.js
@@ -0,0 +1,5 @@
+import app from "./app";
+
+export default {
+ app
+};
diff --git a/app/uni.scss b/app/uni.scss
new file mode 100644
index 0000000..0361f54
--- /dev/null
+++ b/app/uni.scss
@@ -0,0 +1,78 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+
+/* 颜色变量 */
+
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* crmeb颜色变量 */
+$theme-color:#E93323;
+$theme-color-opacity:rgba(233,51,35,.6);
+$bg-star: #f62c2c;
+$bg-end:#f96e29;
+$bg-star1: #F73730; // 主题渐变色1-开始
+$bg-end1:#F86429; // 主题渐变色1-结束
+
+
+/* 背景颜色 */
+$uni-bg-color:#ffffff;
+$uni-bg-color-grey:#f8f8f8;
+$uni-bg-color-hover:#f1f1f1;//点击状态颜色
+$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color:#c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm:24upx;
+$uni-font-size-base:28upx;
+$uni-font-size-lg:32upx;
+
+/* 图片尺寸 */
+$uni-img-size-sm:40upx;
+$uni-img-size-base:52upx;
+$uni-img-size-lg:80upx;
+
+/* Border Radius */
+$uni-border-radius-sm: 4upx;
+$uni-border-radius-base: 6upx;
+$uni-border-radius-lg: 12upx;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 10px;
+$uni-spacing-row-base: 20upx;
+$uni-spacing-row-lg: 30upx;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 8upx;
+$uni-spacing-col-base: 16upx;
+$uni-spacing-col-lg: 24upx;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2C405A; // 文章标题颜色
+$uni-font-size-title:40upx;
+$uni-color-subtitle: #555555; // 二级标题颜色
+$uni-font-size-subtitle:36upx;
+$uni-color-paragraph: #3F536E; // 文章段落颜色
+$uni-font-size-paragraph:30upx;
\ No newline at end of file
diff --git a/app/utils/SubscribeMessage.js b/app/utils/SubscribeMessage.js
new file mode 100644
index 0000000..233decf
--- /dev/null
+++ b/app/utils/SubscribeMessage.js
@@ -0,0 +1,94 @@
+const arrTemp = ["beforePay","afterPay","refundApply", "beforeRecharge", "createBargain","pink"];
+
+// export function auth() {
+// let tmplIds = {};
+// let messageTmplIds = uni.getStorageSync(SUBSCRIBE_MESSAGE);
+// tmplIds = messageTmplIds ? JSON.parse(messageTmplIds) : {};
+// return tmplIds;
+// }
+
+/**
+ * 支付成功后订阅消息id
+ * 订阅 确认收货通知 订单支付成功 新订单管理员提醒
+ */
+export function openPaySubscribe() {
+ let tmplIds = uni.getStorageSync('tempID' + arrTemp[0]);
+ return subscribe(tmplIds);
+}
+
+/**
+ * 订单相关订阅消息
+ * 送货 发货 取消订单
+ */
+export function openOrderSubscribe() {
+ let tmplIds = uni.getStorageSync('tempID' + arrTemp[1]);
+ return subscribe(tmplIds);
+}
+
+/**
+ * 提现消息订阅
+ * 成功 和 失败 消息
+ */
+// export function openExtrctSubscribe() {
+// let tmplIds = uni.getStorageSync('tempID' + arrTemp[2]);
+// return subscribe(tmplIds);
+// }
+
+/**
+ * 订单退款
+ */
+export function openOrderRefundSubscribe() {
+ let tmplIds = uni.getStorageSync('tempID' + arrTemp[2]);
+ return subscribe(tmplIds);
+}
+
+/**
+ * 充值成功
+ */
+export function openRechargeSubscribe() {
+ let tmplIds = uni.getStorageSync('tempID' + arrTemp[3]);
+ return subscribe(tmplIds);
+}
+
+/**
+ * 砍价成功
+ */
+export function openBargainSubscribe() {
+ let tmplIds = uni.getStorageSync('tempID' + arrTemp[4]);
+ return subscribe(tmplIds);
+}
+
+
+/**
+ * 拼团成功
+ */
+export function openPinkSubscribe() {
+ let tmplIds = uni.getStorageSync('tempID' + arrTemp[5]);
+ return subscribe(tmplIds);
+}
+// /**
+// * 提现
+// */
+// export function openEextractSubscribe() {
+// let tmplIds = JSON.parse(uni.getStorageSync('tempID' + paySubscribe));
+// return subscribe(tmplIds);
+// }
+
+/**
+ * 调起订阅界面
+ * array tmplIds 模板id
+ */
+export function subscribe(tmplIds) {
+ let wecaht = wx;
+ return new Promise((reslove, reject) => {
+ wecaht.requestSubscribeMessage({
+ tmplIds: tmplIds,
+ success(res) {
+ return reslove(res);
+ },
+ fail(res) {
+ return reslove(res);
+ }
+ })
+ });
+}
diff --git a/app/utils/base64src.js b/app/utils/base64src.js
new file mode 100644
index 0000000..6fd65ab
--- /dev/null
+++ b/app/utils/base64src.js
@@ -0,0 +1,23 @@
+const fsm = wx.getFileSystemManager ? wx.getFileSystemManager() : null;
+const FILE_BASE_NAME = 'tmp_base64src'; //自定义文件名
+
+export function base64src(base64data, cb) {
+ const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
+ if (!format) {
+ return (new Error('ERROR_BASE64SRC_PARSE'));
+ }
+ const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`;
+ const buffer = wx.base64ToArrayBuffer(bodyData);
+ fsm.writeFile({
+ filePath,
+ data: buffer,
+ encoding: 'binary',
+ success() {
+ cb(filePath);
+ },
+ fail() {
+ return (new Error('ERROR_BASE64SRC_WRITE'));
+ },
+ });
+};
+//module.exports = base64src;
\ No newline at end of file
diff --git a/app/utils/cache.js b/app/utils/cache.js
new file mode 100644
index 0000000..0306389
--- /dev/null
+++ b/app/utils/cache.js
@@ -0,0 +1,247 @@
+// +----------------------------------------------------------------------
+// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+// +----------------------------------------------------------------------
+// | Author: CRMEB Team
+// +----------------------------------------------------------------------
+
+import { EXPIRE } from '../config/app';
+
+class Cache {
+
+ constructor(handler) {
+ this.cacheSetHandler = uni.setStorageSync;
+ this.cacheGetHandler = uni.getStorageSync;
+ this.cacheClearHandler = uni.removeStorageSync;
+ this.cacheExpire = '_expire_2019_12_17_18_44';
+ this.name = 'storage';
+ }
+
+ /**
+ * 获取当前时间戳
+ */
+ time()
+ {
+ return Math.round(new Date() / 1000);
+ }
+
+ /**
+ * 日期字符串转时间戳
+ * @param {Object} expiresTime
+ */
+ strTotime(expiresTime){
+ let expires_time = expiresTime.substring(0, 19);
+ expires_time = expires_time.replace(/-/g, '/');
+ return Math.round(new Date(expires_time).getTime() / 1000);
+ }
+
+ setExpireCaheTag(key, expire) {
+ expire = expire !== undefined ? expire : EXPIRE;
+ if (typeof expire === 'number') {
+ let tag = this.cacheGetHandler(this.cacheExpire), newTag = [],newKeys = [];
+ if (typeof tag === 'object' && tag.length) {
+ newTag = tag.map(item => {
+ newKeys.push(item.key);
+ if (item.key === key) {
+ item.expire = expire === 0 ? 0 : this.time() + expire;
+ }
+ return item;
+ });
+ }
+ if (!newKeys.length || newKeys.indexOf(key) === -1) {
+ newTag.push({
+ key: key,
+ expire: expire === 0 ? 0 : this.time() + expire
+ });
+ }
+ this.cacheSetHandler(this.cacheExpire, newTag);
+ }
+ }
+
+ /**
+ * 设置过期时间缓存
+ * @param {Object} name key
+ * @param {Object} value value
+ * @param {Object} expire 过期时间
+ * @param {Object} startTime 记录何时将值存入缓存,毫秒级
+ */
+ setItem(params){
+ let obj = {
+ name:'',
+ value:'',
+ expires:"",
+ startTime:new Date().getTime()
+ }
+ let options = {};
+ //将obj和传进来的params合并
+ Object.assign(options,obj,params);
+ if(options.expires){
+ //如果options.expires设置了的话
+ //以options.name为key,options为值放进去
+ // localStorage.setItem(options.name,JSON.stringify(options));
+ uni.setStorageSync(options.name,JSON.stringify(options));
+ }else{
+ //如果options.expires没有设置,就判断一下value的类型
+ let type = Object.prototype.toString.call(options.value);
+ //如果value是对象或者数组对象的类型,就先用JSON.stringify转一下,再存进去
+ if(Object.prototype.toString.call(options.value) == '[object Object]'){
+ options.value = JSON.stringify(options.value);
+ }
+ if(Object.prototype.toString.call(options.value) == '[object Array]'){
+ options.value = JSON.stringify(options.value);
+ }
+ // localStorage.setItem(options.name,options.value);
+ uni.setStorageSync(options.name,options.value);
+ }
+ }
+
+ /**
+ * 缓存是否过期,过期自动删除
+ * @param {Object} key
+ * @param {Object} $bool true = 删除,false = 不删除
+ */
+ getExpireCahe(key,$bool)
+ {
+ try{
+ let time = this.cacheGetHandler(key + this.cacheExpire);
+ if (time) {
+ let newTime = parseInt(time);
+ if (time && time < this.time() && !Number.isNaN(newTime)) {
+ if ($bool === undefined || $bool === true) {
+ this.cacheClearHandler(key);
+ this.cacheClearHandler(key + this.cacheExpire);
+ }
+ return false;
+ } else
+ return true;
+ } else {
+ return !!this.cacheGetHandler(key);
+ }
+ }catch(e){
+ return false;
+ }
+ }
+
+ /**
+ * 设置缓存
+ * @param {Object} key
+ * @param {Object} data
+ */
+ set(key,data,expire){
+ if(typeof data === 'object')
+ data = JSON.stringify(data);
+ try{
+ this.setExpireCaheTag(key,expire);
+ return this.cacheSetHandler(key,data);
+ }catch(e){
+ return false;
+ }
+ }
+
+ /**
+ * 检测缓存是否存在
+ * @param {Object} key
+ */
+ has(key)
+ {
+ return this.getExpireCahe(key);
+ }
+
+ /**
+ * 获取缓存
+ * @param {Object} key
+ * @param {Object} $default
+ * @param {Object} expire
+ */
+ get(key,$default,expire){
+ try{
+ let isBe = this.getExpireCahe(key);
+ let data = this.cacheGetHandler(key);
+ if (data && isBe) {
+ if (typeof $default === 'boolean')
+ return JSON.parse(data);
+ else
+ return data;
+ } else {
+ if (typeof $default === 'function') {
+ let value = $default();
+ this.set(key,value,expire);
+ return value;
+ } else {
+ this.set(key,$default,expire);
+ return $default;
+ }
+ }
+ }catch(e){
+ return null;
+ }
+ }
+
+ /**
+ * 删除缓存
+ * @param {Object} key
+ */
+ clear(key)
+ {
+ try{
+ let cahceValue = this.cacheGetHandler(key + this.cacheExpire);
+ if(cahceValue)
+ this.cacheClearHandler(key + this.cacheExpire);
+ return this.cacheClearHandler(key);
+ }catch(e){
+ return false;
+ }
+ }
+
+ /**
+ * 清除过期缓存
+ */
+ clearOverdue()
+ {
+ // let cacheList = uni.getStorageInfoSync(),that = this;
+ // if (typeof cacheList.keys === 'object'){
+ // cacheList.keys.forEach(item=>{
+ // that.getExpireCahe(item);
+ // })
+ // }
+ }
+
+ /**
+ * 获取缓存,调用后无需转换数据类型
+ * @param {Object} key
+ */
+ getItem(name){
+ // let item = localStorage.getItem(name);
+ let item = uni.getStorageSync(name);
+ //先将拿到的试着进行json转为对象的形式
+ try{
+ item = JSON.parse(item);
+ }catch(error){
+ //如果不行就不是json的字符串,就直接返回
+ item = item;
+ }
+ //如果有startTime的值,说明设置了失效时间
+ if(item.startTime){
+ let date = new Date().getTime();
+ //何时将值取出减去刚存入的时间,与item.expires比较,如果大于就是过期了,如果小于或等于就还没过期
+ if(date - item.startTime > item.expires){
+ //缓存过期,清除缓存,返回false
+ // localStorage.removeItem(name);
+ uni.removeStorageSync(name);
+ return false;
+ }else{
+ //缓存未过期,返回值
+ return item.value;
+ }
+ }else{
+ //如果没有设置失效时间,直接返回值
+ return item;
+ }
+ }
+}
+
+
+export default new Cache;
\ No newline at end of file
diff --git a/app/utils/dialog.js b/app/utils/dialog.js
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/app/utils/dialog.js
@@ -0,0 +1 @@
+
diff --git a/app/utils/emoji.js b/app/utils/emoji.js
new file mode 100644
index 0000000..117404f
--- /dev/null
+++ b/app/utils/emoji.js
@@ -0,0 +1,62 @@
+export default [
+ "em-smile",
+ "em-laughing",
+ "em-blush",
+ "em-smiley",
+ "em-relaxed",
+ "em-smirk",
+ "em-heart_eyes",
+ "em-kissing_heart",
+ "em-kissing_closed_eyes",
+ "em-flushed",
+ "em-relieved",
+ "em-satisfied",
+ "em-grin",
+ "em-wink",
+ "em-stuck_out_tongue_winking_eye",
+ "em-stuck_out_tongue_closed_eyes",
+ "em-grinning",
+ "em-kissing",
+ "em-kissing_smiling_eyes",
+ "em-stuck_out_tongue",
+ "em-sleeping",
+ "em-worried",
+ "em-frowning",
+ "em-anguished",
+ "em-open_mouth",
+ "em-grimacing",
+ "em-confused",
+ "em-hushed",
+ "em-expressionless",
+ "em-unamused",
+ "em-sweat_smile",
+ "em-sweat",
+ "em-disappointed_relieved",
+ "em-weary",
+ "em-pensive",
+ "em-disappointed",
+ "em-confounded",
+ "em-fearful",
+ "em-cold_sweat",
+ "em-persevere",
+ "em-cry",
+ "em-sob",
+ "em-joy",
+ "em-astonished",
+ "em-scream",
+ "em-tired_face",
+ "em-angry",
+ "em-rage",
+ "em-triumph",
+ "em-sleepy",
+ "em-yum",
+ "em-mask",
+ "em-sunglasses",
+ "em-dizzy_face",
+ "em-imp",
+ "em-smiling_imp",
+ "em-neutral_face",
+ "em-no_mouth",
+ "em-innocent",
+ "em-alien"
+];
diff --git a/app/utils/index.js b/app/utils/index.js
new file mode 100644
index 0000000..76edab7
--- /dev/null
+++ b/app/utils/index.js
@@ -0,0 +1,79 @@
+import { spread } from "@/api/user";
+import Cache from "@/utils/cache";
+
+/**
+ * 静默授权绑定上下级,使用在已经登录后扫描了别人的推广二维码
+ * @param {Object} puid
+ */
+export function silenceBindingSpread() {
+
+
+ //#ifdef H5 || APP
+ let puid = Cache.get('spread');
+ //#endif
+
+ //#ifdef MP
+ let puid = getApp().globalData.spid;
+ //#endif
+
+ puid = parseInt(puid);
+ if (Number.isNaN(puid)) {
+ puid = 0;
+ }
+ if (puid) {
+ spread(puid).then(res => {}).catch(res => {});
+ //#ifdef H5
+ Cache.clear('spread');
+ //#endif
+
+ //#ifdef MP
+ getApp().globalData.spid = 0;
+ getApp().globalData.code = 0;
+ //#endif
+ } else {
+ Cache.set('spread', 0);
+ }
+}
+
+export function isWeixin() {
+ return navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1;
+}
+
+export function parseQuery() {
+ const res = {};
+
+ const query = (location.href.split("?")[1] || "")
+ .trim()
+ .replace(/^(\?|#|&)/, "");
+
+ if (!query) {
+ return res;
+ }
+
+ query.split("&").forEach(param => {
+ const parts = param.replace(/\+/g, " ").split("=");
+ const key = decodeURIComponent(parts.shift());
+ const val = parts.length > 0 ? decodeURIComponent(parts.join("=")) : null;
+
+ if (res[key] === undefined) {
+ res[key] = val;
+ } else if (Array.isArray(res[key])) {
+ res[key].push(val);
+ } else {
+ res[key] = [res[key], val];
+ }
+ });
+
+ return res;
+}
+
+// #ifdef H5
+const VUE_APP_WS_URL = process.env.VUE_APP_WS_URL || `ws://${location.hostname}:20001`;
+export {
+ VUE_APP_WS_URL
+}
+// #endif
+
+
+
+export default parseQuery;
diff --git a/app/utils/permission.js b/app/utils/permission.js
new file mode 100644
index 0000000..03abce6
--- /dev/null
+++ b/app/utils/permission.js
@@ -0,0 +1,245 @@
+/// null = 未请求,1 = 已允许,0 = 拒绝|受限, 2 = 系统未开启
+
+var isIOS
+
+function album() {
+ var result = 0;
+ var PHPhotoLibrary = plus.ios.import("PHPhotoLibrary");
+ var authStatus = PHPhotoLibrary.authorizationStatus();
+ if (authStatus === 0) {
+ result = null;
+ } else if (authStatus == 3) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(PHPhotoLibrary);
+ return result;
+}
+
+function camera() {
+ var result = 0;
+ var AVCaptureDevice = plus.ios.import("AVCaptureDevice");
+ var authStatus = AVCaptureDevice.authorizationStatusForMediaType('vide');
+ if (authStatus === 0) {
+ result = null;
+ } else if (authStatus == 3) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(AVCaptureDevice);
+ return result;
+}
+
+function location() {
+ var result = 0;
+ var cllocationManger = plus.ios.import("CLLocationManager");
+ var enable = cllocationManger.locationServicesEnabled();
+ var status = cllocationManger.authorizationStatus();
+ if (!enable) {
+ result = 2;
+ } else if (status === 0) {
+ result = null;
+ } else if (status === 3 || status === 4) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(cllocationManger);
+ return result;
+}
+
+function push() {
+ var result = 0;
+ var UIApplication = plus.ios.import("UIApplication");
+ var app = UIApplication.sharedApplication();
+ var enabledTypes = 0;
+ if (app.currentUserNotificationSettings) {
+ var settings = app.currentUserNotificationSettings();
+ enabledTypes = settings.plusGetAttribute("types");
+ if (enabledTypes == 0) {
+ result = 0;
+ console.log("推送权限没有开启");
+ } else {
+ result = 1;
+ console.log("已经开启推送功能!")
+ }
+ plus.ios.deleteObject(settings);
+ } else {
+ enabledTypes = app.enabledRemoteNotificationTypes();
+ if (enabledTypes == 0) {
+ result = 3;
+ console.log("推送权限没有开启!");
+ } else {
+ result = 4;
+ console.log("已经开启推送功能!")
+ }
+ }
+ plus.ios.deleteObject(app);
+ plus.ios.deleteObject(UIApplication);
+ return result;
+}
+
+function contact() {
+ var result = 0;
+ var CNContactStore = plus.ios.import("CNContactStore");
+ var cnAuthStatus = CNContactStore.authorizationStatusForEntityType(0);
+ if (cnAuthStatus === 0) {
+ result = null;
+ } else if (cnAuthStatus == 3) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(CNContactStore);
+ return result;
+}
+
+function record() {
+ var result = null;
+ var avaudiosession = plus.ios.import("AVAudioSession");
+ var avaudio = avaudiosession.sharedInstance();
+ var status = avaudio.recordPermission();
+ console.log("permissionStatus:" + status);
+ if (status === 1970168948) {
+ result = null;
+ } else if (status === 1735552628) {
+ result = 1;
+ } else {
+ result = 0;
+ }
+ plus.ios.deleteObject(avaudiosession);
+ return result;
+}
+
+function calendar() {
+ var result = null;
+ var EKEventStore = plus.ios.import("EKEventStore");
+ var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(0);
+ if (ekAuthStatus == 3) {
+ result = 1;
+ console.log("日历权限已经开启");
+ } else {
+ console.log("日历权限没有开启");
+ }
+ plus.ios.deleteObject(EKEventStore);
+ return result;
+}
+
+function memo() {
+ var result = null;
+ var EKEventStore = plus.ios.import("EKEventStore");
+ var ekAuthStatus = EKEventStore.authorizationStatusForEntityType(1);
+ if (ekAuthStatus == 3) {
+ result = 1;
+ console.log("备忘录权限已经开启");
+ } else {
+ console.log("备忘录权限没有开启");
+ }
+ plus.ios.deleteObject(EKEventStore);
+ return result;
+}
+
+
+function requestIOS(permissionID) {
+ return new Promise((resolve, reject) => {
+ switch (permissionID) {
+ case "push":
+ resolve(push());
+ break;
+ case "location":
+ resolve(location());
+ break;
+ case "record":
+ resolve(record());
+ break;
+ case "camera":
+ resolve(camera());
+ break;
+ case "album":
+ resolve(album());
+ break;
+ case "contact":
+ resolve(contact());
+ break;
+ case "calendar":
+ resolve(calendar());
+ break;
+ case "memo":
+ resolve(memo());
+ break;
+ default:
+ resolve(0);
+ break;
+ }
+ });
+}
+
+function requestAndroid(permissionID) {
+ return new Promise((resolve, reject) => {
+ plus.android.requestPermissions(
+ [permissionID],
+ function(resultObj) {
+ var result = 0;
+ for (var i = 0; i < resultObj.granted.length; i++) {
+ var grantedPermission = resultObj.granted[i];
+ console.log('已获取的权限:' + grantedPermission);
+ result = 1
+ }
+ for (var i = 0; i < resultObj.deniedPresent.length; i++) {
+ var deniedPresentPermission = resultObj.deniedPresent[i];
+ console.log('拒绝本次申请的权限:' + deniedPresentPermission);
+ result = 0
+ }
+ for (var i = 0; i < resultObj.deniedAlways.length; i++) {
+ var deniedAlwaysPermission = resultObj.deniedAlways[i];
+ console.log('永久拒绝申请的权限:' + deniedAlwaysPermission);
+ result = -1
+ }
+ resolve(result);
+ },
+ function(error) {
+ console.log('result error: ' + error.message)
+ resolve({
+ code: error.code,
+ message: error.message
+ });
+ }
+ );
+ });
+}
+
+function gotoAppPermissionSetting() {
+ if (permission.isIOS) {
+ var UIApplication = plus.ios.import("UIApplication");
+ var application2 = UIApplication.sharedApplication();
+ var NSURL2 = plus.ios.import("NSURL");
+ var setting2 = NSURL2.URLWithString("app-settings:");
+ application2.openURL(setting2);
+ plus.ios.deleteObject(setting2);
+ plus.ios.deleteObject(NSURL2);
+ plus.ios.deleteObject(application2);
+ } else {
+ var Intent = plus.android.importClass("android.content.Intent");
+ var Settings = plus.android.importClass("android.provider.Settings");
+ var Uri = plus.android.importClass("android.net.Uri");
+ var mainActivity = plus.android.runtimeMainActivity();
+ var intent = new Intent();
+ intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+ var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
+ intent.setData(uri);
+ mainActivity.startActivity(intent);
+ }
+}
+
+const permission = {
+ get isIOS(){
+ return typeof isIOS === 'boolean' ? isIOS : (isIOS = uni.getSystemInfoSync().platform === 'ios')
+ },
+ requestIOS: requestIOS,
+ requestAndroid: requestAndroid,
+ gotoAppSetting: gotoAppPermissionSetting
+}
+
+module.exports = permission
diff --git a/app/utils/request.js b/app/utils/request.js
new file mode 100644
index 0000000..cb743d7
--- /dev/null
+++ b/app/utils/request.js
@@ -0,0 +1,68 @@
+import {
+ HTTP_REQUEST_URL,
+ HEADER,
+ TOKENNAME,
+ HEADERPARAMS
+} from '@/config/app';
+import {
+ toLogin,
+ checkLogin
+} from '../libs/login';
+import store from '../store';
+
+
+/**
+ * 发送请求
+ */
+function baseRequest(url, method, data, {
+ noAuth = false,
+ noVerify = false
+}, params) {
+ let Url = HTTP_REQUEST_URL,header = HEADER
+ if (params != undefined) {
+ header = HEADERPARAMS;
+ }
+ if (!noAuth) {
+ //登录过期自动登录
+ if (!store.state.app.token && !checkLogin()) {
+ toLogin();
+ return Promise.reject({
+ msg: '未登录'
+ });
+ }
+ }
+ if (store.state.app.token) header[TOKENNAME] = store.state.app.token;
+ return new Promise((reslove, reject) => {
+ Url=HTTP_REQUEST_URL||'http://api.front.hdq.xbdzz.cn'
+ uni.request({
+ url: Url + '/api/front/' + url,
+ method: method || 'GET',
+ header: header,
+ data: data || {},
+ success: (res) => {
+ if (noVerify)
+ reslove(res.data, res);
+ else if (res.data.code == 200)
+ reslove(res.data, res);
+ else if ([410000, 410001, 410002, 401].indexOf(res.data.code) !== -1) {
+ toLogin();
+ reject(res.data);
+ } else
+ reject(res.data.message || '系统错误');
+ },
+ fail: (msg) => {
+ reject('请求失败');
+ }
+ })
+ });
+}
+
+const request = {};
+
+['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
+ request[method] = (api, data, opt, params) => baseRequest(api, method, data, opt || {}, params)
+});
+
+
+
+export default request;
diff --git a/app/utils/util.js b/app/utils/util.js
new file mode 100644
index 0000000..4847c0e
--- /dev/null
+++ b/app/utils/util.js
@@ -0,0 +1,793 @@
+import {
+ TOKENNAME,
+ HTTP_REQUEST_URL
+} from '../config/app.js';
+import {HTTP_ADMIN_URL} from '@/config/app.js';
+import store from '../store';
+import {
+ pathToBase64
+} from '@/plugin/image-tools/index.js';
+export default {
+ /**
+ * opt object | string
+ * to_url object | string
+ * 例:
+ * this.Tips('/pages/test/test'); 跳转不提示
+ * this.Tips({title:'提示'},'/pages/test/test'); 提示并跳转
+ * this.Tips({title:'提示'},{tab:1,url:'/pages/index/index'}); 提示并跳转值table上
+ * tab=1 一定时间后跳转至 table上
+ * tab=2 一定时间后跳转至非 table上
+ * tab=3 一定时间后返回上页面
+ * tab=4 关闭所有页面跳转至非table上
+ * tab=5 关闭当前页面跳转至table上
+ */
+ Tips: function(opt, to_url) {
+ if (typeof opt == 'string') {
+ to_url = opt;
+ opt = {};
+ }
+ let title = opt.title || '',
+ icon = opt.icon || 'none',
+ endtime = opt.endtime || 2000,
+ success = opt.success;
+ if (title) uni.showToast({
+ title: title,
+ icon: icon,
+ duration: endtime,
+ success
+ })
+ if (to_url != undefined) {
+ if (typeof to_url == 'object') {
+ let tab = to_url.tab || 1,
+ url = to_url.url || '';
+ switch (tab) {
+ case 1:
+ //一定时间后跳转至 table
+ setTimeout(function() {
+ uni.switchTab({
+ url: url
+ })
+ }, endtime);
+ break;
+ case 2:
+ //跳转至非table页面
+ setTimeout(function() {
+ uni.navigateTo({
+ url: url,
+ })
+ }, endtime);
+ break;
+ case 3:
+ //返回上页面
+ setTimeout(function() {
+ // #ifndef H5
+ uni.navigateBack({
+ delta: parseInt(url),
+ })
+ // #endif
+ // #ifdef H5
+ history.back();
+ // #endif
+ }, endtime);
+ break;
+ case 4:
+ //关闭当前所有页面跳转至非table页面
+ setTimeout(function() {
+ uni.reLaunch({
+ url: url,
+ })
+ }, endtime);
+ break;
+ case 5:
+ //关闭当前页面跳转至非table页面
+ setTimeout(function() {
+ uni.redirectTo({
+ url: url,
+ })
+ }, endtime);
+ break;
+ }
+
+ } else if (typeof to_url == 'function') {
+ setTimeout(function() {
+ to_url && to_url();
+ }, endtime);
+ } else {
+ //没有提示时跳转不延迟
+ setTimeout(function() {
+ uni.navigateTo({
+ url: to_url,
+ })
+ }, title ? endtime : 0);
+ }
+ }
+ },
+ /**
+ * 移除数组中的某个数组并组成新的数组返回
+ * @param array array 需要移除的数组
+ * @param int index 需要移除的数组的键值
+ * @param string | int 值
+ * @return array
+ *
+ */
+ ArrayRemove: function(array, index, value) {
+ const valueArray = [];
+ if (array instanceof Array) {
+ for (let i = 0; i < array.length; i++) {
+ if (typeof index == 'number' && array[index] != i) {
+ valueArray.push(array[i]);
+ } else if (typeof index == 'string' && array[i][index] != value) {
+ valueArray.push(array[i]);
+ }
+ }
+ }
+ return valueArray;
+ },
+ /**
+ * 生成海报获取文字
+ * @param string text 为传入的文本
+ * @param int num 为单行显示的字节长度
+ * @return array
+ */
+ textByteLength: function(text, num) {
+
+ let strLength = 0;
+ let rows = 1;
+ let str = 0;
+ let arr = [];
+ for (let j = 0; j < text.length; j++) {
+ if (text.charCodeAt(j) > 255) {
+ strLength += 2;
+ if (strLength > rows * num) {
+ strLength++;
+ arr.push(text.slice(str, j));
+ str = j;
+ rows++;
+ }
+ } else {
+ strLength++;
+ if (strLength > rows * num) {
+ arr.push(text.slice(str, j));
+ str = j;
+ rows++;
+ }
+ }
+ }
+ arr.push(text.slice(str, text.length));
+ return [strLength, arr, rows] // [处理文字的总字节长度,每行显示内容的数组,行数]
+ },
+
+ /**
+ * 获取分享海报
+ * @param array arr2 海报素材
+ * @param string store_name 素材文字
+ * @param string price 价格
+ * @param string ot_price 原始价格
+ * @param function successFn 回调函数
+ *
+ *
+ */
+ PosterCanvas: function(arr2, store_name, price, ot_price, successFn) {
+ let that = this;
+ const ctx = uni.createCanvasContext('firstCanvas');
+ ctx.clearRect(0, 0, 0, 0);
+ /**
+ * 只能获取合法域名下的图片信息,本地调试无法获取
+ *
+ */
+ ctx.fillStyle = '#fff';
+ ctx.fillRect(0, 0, 750, 1150);
+ uni.getImageInfo({
+ src: arr2[0],
+ success: function(res) {
+ const WIDTH = res.width;
+ const HEIGHT = res.height;
+ // ctx.drawImage(arr2[0], 0, 0, WIDTH, 1050);
+ ctx.drawImage(arr2[1], 0, 0, WIDTH, WIDTH);
+ ctx.save();
+ let r = 110;
+ let d = r * 2;
+ let cx = 480;
+ let cy = 790;
+ ctx.arc(cx + r, cy + r, r, 0, 2 * Math.PI);
+ // ctx.clip();
+ ctx.drawImage(arr2[2], cx, cy, d, d);
+ ctx.restore();
+ const CONTENT_ROW_LENGTH = 20;
+ let [contentLeng, contentArray, contentRows] = that.textByteLength(store_name,
+ CONTENT_ROW_LENGTH);
+ if (contentRows > 2) {
+ contentRows = 2;
+ let textArray = contentArray.slice(0, 2);
+ textArray[textArray.length - 1] += '……';
+ contentArray = textArray;
+ }
+ ctx.setTextAlign('left');
+ ctx.setFontSize(36);
+ ctx.setFillStyle('#000');
+ // let contentHh = 36 * 1.5;
+ let contentHh = 36;
+ for (let m = 0; m < contentArray.length; m++) {
+ // ctx.fillText(contentArray[m], 50, 1000 + contentHh * m,750);
+ if (m) {
+ ctx.fillText(contentArray[m], 50, 1000 + contentHh * m + 18, 1100);
+ } else {
+ ctx.fillText(contentArray[m], 50, 1000 + contentHh * m, 1100);
+ }
+ }
+ ctx.setTextAlign('left')
+ ctx.setFontSize(72);
+ ctx.setFillStyle('#DA4F2A');
+ ctx.fillText('¥' + price, 40, 820 + contentHh);
+
+ ctx.setTextAlign('left')
+ ctx.setFontSize(36);
+ ctx.setFillStyle('#999');
+ ctx.fillText('¥' + ot_price, 50, 876 + contentHh);
+
+ var underline = function(ctx, text, x, y, size, color, thickness, offset) {
+ var width = ctx.measureText(text).width;
+ switch (ctx.textAlign) {
+ case "center":
+ x -= (width / 2);
+ break;
+ case "right":
+ x -= width;
+ break;
+ }
+
+ y += size + offset;
+
+ ctx.beginPath();
+ ctx.strokeStyle = color;
+ ctx.lineWidth = thickness;
+ ctx.moveTo(x, y);
+ ctx.lineTo(x + width, y);
+ ctx.stroke();
+ }
+ underline(ctx, '¥' + ot_price, 55, 865, 36, '#999', 2, 0)
+ ctx.setTextAlign('left')
+ ctx.setFontSize(28);
+ ctx.setFillStyle('#999');
+ ctx.fillText('长按或扫描查看', 490, 1030 + contentHh);
+ ctx.draw(true, function() {
+ uni.canvasToTempFilePath({
+ canvasId: 'firstCanvas',
+ fileType: 'png',
+ destWidth: WIDTH,
+ destHeight: HEIGHT,
+ success: function(res) {
+ // uni.hideLoading();
+ successFn && successFn(res.tempFilePath);
+ }
+ })
+ });
+ },
+ fail: function(err) {
+ console.log('失败', err)
+ uni.hideLoading();
+ that.Tips({
+ title: '无法获取图片信息'
+ });
+ }
+ })
+ },
+ /**
+ * 绘制文字自动换行
+ * @param array arr2 海报素材
+ * @param Number x , y 绘制的坐标
+ * @param Number maxWigth 绘制文字的宽度
+ * @param Number lineHeight 行高
+ * @param Number maxRowNum 最大行数
+ */
+ canvasWraptitleText(canvas, text, x, y, maxWidth, lineHeight, maxRowNum) {
+ if (typeof text != 'string' || typeof x != 'number' || typeof y != 'number') {
+ return;
+ }
+ // canvas.font = '20px Bold PingFang SC'; //绘制文字的字号和大小
+ // 字符分隔为数组
+ var arrText = text.split('');
+ var line = '';
+ var rowNum = 1
+ for (var n = 0; n < arrText.length; n++) {
+ var testLine = line + arrText[n];
+ var metrics = canvas.measureText(testLine);
+ var testWidth = metrics.width;
+ if (testWidth > maxWidth && n > 0) {
+ if (rowNum >= maxRowNum) {
+ var arrLine = testLine.split('')
+ arrLine.splice(-9)
+ var newTestLine = arrLine.join("")
+ newTestLine += "..."
+ canvas.fillText(newTestLine, x, y);
+ //如果需要在省略号后面添加其他的东西,就在这个位置写(列如添加扫码查看详情字样)
+ //canvas.fillStyle = '#2259CA';
+ //canvas.fillText('扫码查看详情',x + maxWidth-90, y);
+ return
+ }
+ canvas.fillText(line, x, y);
+ line = arrText[n];
+ y += lineHeight;
+ rowNum += 1
+ } else {
+ line = testLine;
+ }
+ }
+ canvas.fillText(line, x, y);
+ },
+ /**
+ * 获取活动分享海报
+ * @param array arr2 海报素材
+ * @param string storeName 素材文字
+ * @param string price 价格
+ * @param string people 人数
+ * @param string count 剩余人数
+ * @param function successFn 回调函数
+ */
+ activityCanvas: function(arrImages, storeName, price, people, count,num,successFn) {
+ let that = this;
+ let rain = 2;
+ const context = uni.createCanvasContext('activityCanvas');
+ context.clearRect(0, 0, 0, 0);
+ /**
+ * 只能获取合法域名下的图片信息,本地调试无法获取
+ *
+ */
+ context.fillStyle = '#fff';
+ context.fillRect(0, 0, 594, 850);
+ uni.getImageInfo({
+ src: arrImages[0],
+ success: function(res) {
+ context.drawImage(arrImages[0], 0, 0, 594, 850);
+ context.setFontSize(14*rain);
+ context.setFillStyle('#333333');
+ that.canvasWraptitleText(context, storeName, 110*rain, 110*rain, 230*rain, 30*rain, 1)
+ context.drawImage(arrImages[2], 68*rain, 194*rain, 160*rain, 160*rain);
+ context.save();
+
+ context.setFontSize(14*rain);
+ context.setFillStyle('#fc4141');
+ context.fillText('¥', 157*rain, 145*rain);
+
+ context.setFontSize(24*rain);
+ context.setFillStyle('#fc4141');
+ context.fillText(price, 170*rain, 145*rain);
+
+ context.setFontSize(10*rain);
+ context.setFillStyle('#fff');
+ context.fillText(people, 118*rain, 143*rain);
+
+
+ context.setFontSize(12*rain);
+ context.setFillStyle('#666666');
+ context.setTextAlign('center');
+ context.fillText( count , (167-num)*rain, 166*rain);
+
+ that.handleBorderRect(context, 27*rain, 94*rain, 75*rain, 75*rain, 6*rain);
+ context.clip();
+ context.drawImage(arrImages[1], 27*rain, 94*rain, 75*rain, 75*rain);
+ context.draw(true, function() {
+ uni.canvasToTempFilePath({
+ canvasId: 'activityCanvas',
+ fileType: 'png',
+ destWidth: 594,
+ destHeight: 850,
+ success: function(res) {
+ // uni.hideLoading();
+ successFn && successFn(res.tempFilePath);
+ }
+ })
+ });
+
+ },
+ fail: function(err) {
+ console.log('失败', err)
+ uni.hideLoading();
+ that.Tips({
+ title: '无法获取图片信息'
+ });
+ }
+ })
+ },
+
+ /**
+ * 图片圆角设置
+ * @param string x x轴位置
+ * @param string y y轴位置
+ * @param string w 图片宽
+ * @param string y 图片高
+ * @param string r 圆角值
+ */
+ handleBorderRect(ctx, x, y, w, h, r) {
+ ctx.beginPath();
+ // 左上角
+ ctx.arc(x + r, y + r, r, Math.PI, 1.5 * Math.PI);
+ ctx.moveTo(x + r, y);
+ ctx.lineTo(x + w - r, y);
+ ctx.lineTo(x + w, y + r);
+ // 右上角
+ ctx.arc(x + w - r, y + r, r, 1.5 * Math.PI, 2 * Math.PI);
+ ctx.lineTo(x + w, y + h - r);
+ ctx.lineTo(x + w - r, y + h);
+ // 右下角
+ ctx.arc(x + w - r, y + h - r, r, 0, 0.5 * Math.PI);
+ ctx.lineTo(x + r, y + h);
+ ctx.lineTo(x, y + h - r);
+ // 左下角
+ ctx.arc(x + r, y + h - r, r, 0.5 * Math.PI, Math.PI);
+ ctx.lineTo(x, y + r);
+ ctx.lineTo(x + r, y);
+
+ ctx.fill();
+ ctx.closePath();
+ },
+
+ /*
+ * 单图上传
+ * @param object opt
+ * @param callable successCallback 成功执行方法 data
+ * @param callable errorCallback 失败执行方法
+ */
+ uploadImageOne: function(opt, successCallback, errorCallback) {
+ let that = this;
+ if (typeof opt === 'string') {
+ let url = opt;
+ opt = {};
+ opt.url = url;
+ }
+ let count = opt.count || 1,
+ sizeType = opt.sizeType || ['compressed'],
+ sourceType = opt.sourceType || ['album', 'camera'],
+ is_load = opt.is_load || true,
+ uploadUrl = opt.url || '',
+ inputName = opt.name || 'pics',
+ pid = opt.pid,
+ model = opt.model;
+
+ uni.chooseImage({
+ count: count, //最多可以选择的图片总数
+ sizeType: sizeType, // 可以指定是原图还是压缩图,默认二者都有
+ sourceType: sourceType, // 可以指定来源是相册还是相机,默认二者都有
+ success: function(res) {
+ //启动上传等待中...
+ uni.showLoading({
+ title: '图片上传中',
+ });
+ let urlPath = HTTP_ADMIN_URL + '/api/admin/upload/image' + "?model=" + model + "&pid=" + pid
+ let localPath = res.tempFilePaths[0];
+ uni.uploadFile({
+ url: urlPath,
+ filePath: localPath,
+ name: inputName,
+
+ header: {
+ // #ifdef MP
+ "Content-Type": "multipart/form-data",
+ // #endif
+ [TOKENNAME]: store.state.app.token
+ },
+ success: function(res) {
+ uni.hideLoading();
+ if (res.statusCode == 403) {
+ that.Tips({
+ title: res.data
+ });
+ } else {
+ let data = res.data ? JSON.parse(res.data) : {};
+ if (data.code == 200) {
+ data.data.localPath = localPath;
+ successCallback && successCallback(data)
+ } else {
+ errorCallback && errorCallback(data);
+ that.Tips({
+ title: data.message
+ });
+ }
+ }
+ },
+ fail: function(res) {
+ uni.hideLoading();
+ that.Tips({
+ title: '上传图片失败'
+ });
+ }
+ })
+ // pathToBase64(res.tempFilePaths[0])
+ // .then(imgBase64 => {
+ // console.log(imgBase64);
+
+ // })
+ // .catch(error => {
+ // console.error(error)
+ // })
+ }
+ })
+ },
+ /**
+ * 处理服务器扫码带进来的参数
+ * @param string param 扫码携带参数
+ * @param string k 整体分割符 默认为:&
+ * @param string p 单个分隔符 默认为:=
+ * @return object
+ *
+ */
+ // #ifdef MP
+ getUrlParams: function(param, k, p) {
+ if (typeof param != 'string') return {};
+ k = k ? k : '&'; //整体参数分隔符
+ p = p ? p : '='; //单个参数分隔符
+ var value = {};
+ if (param.indexOf(k) !== -1) {
+ param = param.split(k);
+ for (var val in param) {
+ if (param[val].indexOf(p) !== -1) {
+ var item = param[val].split(p);
+ value[item[0]] = item[1];
+ }
+ }
+ } else if (param.indexOf(p) !== -1) {
+ var item = param.split(p);
+ value[item[0]] = item[1];
+ } else {
+ return param;
+ }
+ return value;
+ },
+ /**根据格式组装公共参数
+ * @param {Object} value
+ */
+ formatMpQrCodeData(value){
+ let values = value.split(',');
+ let result = {};
+ if(values.length === 2){
+ let v1 = values[0].split(":");
+ if (v1[0] === 'pid') {
+ result.spread = v1[1];
+ } else{
+ result.id = v1[1];
+ }
+ let v2 = values[1].split(":");
+ if (v2[0] === 'pid') {
+ result.spread = v2[1];
+ }else{
+ result.id = v2[1];
+ }
+ }else{
+ result = values[0].split(":")[1];
+ }
+ return result;
+ },
+ // #endif
+ /*
+ * 合并数组
+ */
+ SplitArray(list, sp) {
+ if (typeof list != 'object') return [];
+ if (sp === undefined) sp = [];
+ for (var i = 0; i < list.length; i++) {
+ sp.push(list[i]);
+ }
+ return sp;
+ },
+ trim(str) {
+ return String.prototype.trim.call(str);
+ },
+ $h: {
+ //除法函数,用来得到精确的除法结果
+ //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
+ //调用:$h.Div(arg1,arg2)
+ //返回值:arg1除以arg2的精确结果
+ Div: function(arg1, arg2) {
+ arg1 = parseFloat(arg1);
+ arg2 = parseFloat(arg2);
+ var t1 = 0,
+ t2 = 0,
+ r1, r2;
+ try {
+ t1 = arg1.toString().split(".")[1].length;
+ } catch (e) {}
+ try {
+ t2 = arg2.toString().split(".")[1].length;
+ } catch (e) {}
+ r1 = Number(arg1.toString().replace(".", ""));
+ r2 = Number(arg2.toString().replace(".", ""));
+ return this.Mul(r1 / r2, Math.pow(10, t2 - t1));
+ },
+ //加法函数,用来得到精确的加法结果
+ //说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
+ //调用:$h.Add(arg1,arg2)
+ //返回值:arg1加上arg2的精确结果
+ Add: function(arg1, arg2) {
+ arg2 = parseFloat(arg2);
+ var r1, r2, m;
+ try {
+ r1 = arg1.toString().split(".")[1].length
+ } catch (e) {
+ r1 = 0
+ }
+ try {
+ r2 = arg2.toString().split(".")[1].length
+ } catch (e) {
+ r2 = 0
+ }
+ m = Math.pow(100, Math.max(r1, r2));
+ return (this.Mul(arg1, m) + this.Mul(arg2, m)) / m;
+ },
+ //减法函数,用来得到精确的减法结果
+ //说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的减法结果。
+ //调用:$h.Sub(arg1,arg2)
+ //返回值:arg1减去arg2的精确结果
+ Sub: function(arg1, arg2) {
+ arg1 = parseFloat(arg1);
+ arg2 = parseFloat(arg2);
+ var r1, r2, m, n;
+ try {
+ r1 = arg1.toString().split(".")[1].length
+ } catch (e) {
+ r1 = 0
+ }
+ try {
+ r2 = arg2.toString().split(".")[1].length
+ } catch (e) {
+ r2 = 0
+ }
+ m = Math.pow(10, Math.max(r1, r2));
+ //动态控制精度长度
+ n = (r1 >= r2) ? r1 : r2;
+ return ((this.Mul(arg1, m) - this.Mul(arg2, m)) / m).toFixed(n);
+ },
+ //乘法函数,用来得到精确的乘法结果
+ //说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
+ //调用:$h.Mul(arg1,arg2)
+ //返回值:arg1乘以arg2的精确结果
+ Mul: function(arg1, arg2) {
+ arg1 = parseFloat(arg1);
+ arg2 = parseFloat(arg2);
+ var m = 0,
+ s1 = arg1.toString(),
+ s2 = arg2.toString();
+ try {
+ m += s1.split(".")[1].length
+ } catch (e) {}
+ try {
+ m += s2.split(".")[1].length
+ } catch (e) {}
+ return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
+ },
+ },
+ // 获取地理位置;
+ $L: {
+ async getLocation() {
+ // #ifdef MP-WEIXIN || MP-TOUTIAO || MP-QQ
+ let status = await this.getSetting();
+ if (status === 2) {
+ this.openSetting();
+ return;
+ }
+ // #endif
+
+ this.doGetLocation();
+ },
+ doGetLocation() {
+ uni.getLocation({
+ success: (res) => {
+ uni.removeStorageSync('CACHE_LONGITUDE');
+ uni.removeStorageSync('CACHE_LATITUDE');
+ uni.setStorageSync('CACHE_LONGITUDE', res.longitude);
+ uni.setStorageSync('CACHE_LATITUDE', res.latitude);
+ },
+ fail: (err) => {
+ // #ifdef MP-BAIDU
+ if (err.errCode === 202 || err.errCode === 10003) { // 202模拟器 10003真机 user deny
+ this.openSetting();
+ }
+ // #endif
+ // #ifndef MP-BAIDU
+ if (err.errMsg.indexOf("auth deny") >= 0) {
+ uni.showToast({
+ title: "访问位置被拒绝"
+ })
+ } else {
+ uni.showToast({
+ title: err.errMsg
+ })
+ }
+ // #endif
+ }
+ })
+ },
+ getSetting: function() {
+ return new Promise((resolve, reject) => {
+ uni.getSetting({
+ success: (res) => {
+ if (res.authSetting['scope.userLocation'] === undefined) {
+ resolve(0);
+ return;
+ }
+ if (res.authSetting['scope.userLocation']) {
+ resolve(1);
+ } else {
+ resolve(2);
+ }
+ }
+ });
+ });
+ },
+ openSetting: function() {
+ uni.openSetting({
+ success: (res) => {
+ if (res.authSetting && res.authSetting['scope.userLocation']) {
+ this.doGetLocation();
+ }
+ },
+ fail: (err) => {}
+ })
+ },
+ async checkPermission() {
+ let status = permision.isIOS ? await permision.requestIOS('location') :
+ await permision.requestAndroid('android.permission.ACCESS_FINE_LOCATION');
+
+ if (status === null || status === 1) {
+ status = 1;
+ } else if (status === 2) {
+ uni.showModal({
+ content: "系统定位已关闭",
+ confirmText: "确定",
+ showCancel: false,
+ success: function(res) {}
+ })
+ } else if (status.code) {
+ uni.showModal({
+ content: status.message
+ })
+ } else {
+ uni.showModal({
+ content: "需要定位权限",
+ confirmText: "设置",
+ success: function(res) {
+ if (res.confirm) {
+ permision.gotoAppSetting();
+ }
+ }
+ })
+ }
+ return status;
+ },
+ },
+
+ toStringValue: function(obj) {
+ if (obj instanceof Array) {
+ var arr = [];
+ for (var i = 0; i < obj.length; i++) {
+ arr[i] = toStringValue(obj[i]);
+ }
+ return arr;
+ } else if (typeof obj == 'object') {
+ for (var p in obj) {
+ obj[p] = toStringValue(obj[p]);
+ }
+ } else if (typeof obj == 'number') {
+ obj = obj + '';
+ }
+ return obj;
+ },
+
+ /*
+ * 替换域名
+ */
+ setDomain: function(url) {
+ url = url ? url.toString() : '';
+ if (url.indexOf("https://") > -1) return url;
+ else return url.replace('http://', 'https://');
+ },
+
+
+
+ /**
+ * 姓名除了姓显示其他
+ */
+ formatName: function(str) {
+ return str.substr(0, 1) + new Array(str.length).join('*');
+ }
+
+}
diff --git a/app/utils/validate.js b/app/utils/validate.js
new file mode 100644
index 0000000..8f248bb
--- /dev/null
+++ b/app/utils/validate.js
@@ -0,0 +1,49 @@
+/**
+ * 验证小数点后两位及多个小数
+ * money 金额
+*/
+export function isMoney(money) {
+ var reg = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
+ if (reg.test(money)) {
+ return true
+ } else {
+ return false
+ }
+}
+
+/**
+ * 验证手机号码
+ * money 金额
+*/
+export function checkPhone(phone) {
+ var reg = /^1(3|4|5|6|7|8|9)\d{9}$/
+ if (reg.test(phone)) {
+ return true
+ } else {
+ return false
+ }
+}
+
+/**
+ * 函数防抖 (只执行最后一次点击)
+ * @param fn
+ * @param delay
+ * @returns {Function}
+ * @constructor
+ */
+export const Debounce = (fn, t) => {
+ const delay = t || 500
+ let timer
+ return function() {
+ const args = arguments
+ if (timer) {
+ clearTimeout(timer)
+ }
+ timer = setTimeout(() => {
+ timer = null
+ fn.apply(this, args)
+ }, delay)
+ }
+}
+
+
diff --git a/app/vue.config.js b/app/vue.config.js
new file mode 100644
index 0000000..5d6b780
--- /dev/null
+++ b/app/vue.config.js
@@ -0,0 +1,11 @@
+module.exports = {
+ productionSourceMap: true, // 生产打包时不输出map文件,增加打包速度
+ configureWebpack: config => {
+ // if (process.env.NODE_ENV === 'production') {
+ // config.optimization.minimizer[0].options.terserOptions.compress.warnings = false
+ // config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
+ // config.optimization.minimizer[0].options.terserOptions.compress.drop_debugger = true
+ // config.optimization.minimizer[0].options.terserOptions.compress.pure_funcs = ['console.log']
+ // }
+ }
+}