;(function(a) {
  function b(d) {
    if (c[d]) return c[d].exports
    var e = (c[d] = { i: d, l: !1, exports: {} })
    return a[d].call(e.exports, e, e.exports, b), (e.l = !0), e.exports
  }
  var c = {}
  return (
    (b.m = a),
    (b.c = c),
    (b.i = function(a) {
      return a
    }),
    (b.d = function(a, c, d) {
      b.o(a, c) ||
        Object.defineProperty(a, c, {
          configurable: !1,
          enumerable: !0,
          get: d
        })
    }),
    (b.n = function(a) {
      var c =
        a && a.__esModule
          ? function() {
              return a['default']
            }
          : function() {
              return a
            }
      return b.d(c, 'a', c), c
    }),
    (b.o = function(a, b) {
      return Object.prototype.hasOwnProperty.call(a, b)
    }),
    (b.p = ''),
    b((b.s = 316))
  )
})({
  2: function(a) {
    function b(a) {
      ;(l = a ? a : l),
        (j = new f(k, l)),
        (j.onopen = function() {
          let a = [].concat(n)
          ;(n = []),
            a.forEach(a => {
              c(a)
            })
        }),
        (j.onclose = function() {
          ;(j = null),
            setTimeout(() => {
              b(a)
            })
        }),
        (j.onmessage = function(a) {
          try {
            let b = JSON.parse(a.data)
            d(b)
          } catch (a) {}
        })
    }
    function c(a) {
      j && j.readyState === f.OPEN ? j.send(JSON.stringify(a)) : n.push(a)
    }
    function d() {
      m.forEach(a => {
        try {
          a.apply(this, arguments)
        } catch (a) {
          console.error(a)
        }
      })
    }
    var e = window.navigator || window.__global.navigator,
      f = window.WebSocket || window.__global.WebSocket,
      g = e.userAgent,
      h = g.match(/port\/(\d*)/),
      i = h ? parseInt(h[1]) : 9974,
      j = null,
      k = `ws://127.0.0.1:${i}`,
      l = null,
      m = [],
      n = []
    a.exports = {
      connect: b,
      send: c,
      registerCallback: a => {
        m.push(a)
      },
      getWs() {
        return j
      }
    }
  },
  22: function(a, b, c) {
    function d() {
      let a = `WEBVIEW_${g}`
      e.connect(a)
    }
    const e = c(2)
    var f = navigator.userAgent,
      g = parseInt(f.match(/webview\/(\d*)/)[1])
    'complete' == document.readyState
      ? d()
      : window.addEventListener('load', () => {
          d()
        }),
      (a.exports = {
        send: function(a) {
          ;(a.fromWebviewID = g), e.send(a)
        },
        registerCallback: e.registerCallback
      })
  },
  253: function(a, b, c) {
    'use strict'
    b.a = function(a, b, c) {
      if ('disableScrollBounce' == a)
        return void f.a.togglePullDownRefresh(b.disable)
      let d = h++
      ;(g[d] = c),
        e.a.send({
          command: 'WEBVIEW_INVOKE',
          data: { api: a, args: b, callbackID: d }
        })
    }
    var d = c(22),
      e = c.n(d),
      f = c(86)
    let g = {},
      h = 1
    e.a.registerCallback(a => {
      let { command: b, data: c } = a
      if ('WEBVIEW_INVOKE_CALLBACK' === b) {
        let a = c.callbackID,
          b = g[a]
        'function' == typeof b && b(c.res), delete g[a]
      }
    })
  },
  254: function(a, b, c) {
    'use strict'
    function d(a, b) {
      let c = h[a]
      'function' == typeof c && c(b, g.webviewID)
    }
    b.a = function(a, b) {
      b && (h[a] = b)
    }
    var e = c(22),
      f = c.n(e),
      g = c(42)
    const h = {}
    f.a.registerCallback(a => {
      let { command: b, data: c } = a
      'WEBVIEW_ON_EVENT' === b && d(c.eventName, c.data)
    })
  },
  255: function(a, b, c) {
    'use strict'
    b.a = function(a, b) {
      e.a.send({ command: 'WEBVIEW_PUBLISH', data: { eventName: a, data: b } })
    }
    var d = c(22),
      e = c.n(d)
  },
  256: function(a, b, c) {
    'use strict'
    function d(a, b, c) {
      let d = g[a]
      'function' == typeof d && d(b, c)
    }
    b.a = function(a, b) {
      g[a] = b
    }
    var e = c(22),
      f = c.n(e),
      g = {}
    f.a.registerCallback(a => {
      let { command: b, data: c, webviewID: e } = a
      'APPSERVICE_PUBLISH' === b && d(c.eventName, c.data, e)
    })
  },
  257: function(a, b, c) {
    const d = c(22),
      e = c(42),
      f = { Success: 0, NoSuchElement: 7 }
    var g = (function() {
      let a = {},
        b = new WeakMap()
      const c = c => {
        let d = b.get(c)
        return d && (delete a[d], b.delete(c)), d
      }
      var d =
          window.MutationObserver ||
          window.WebKitMutationObserver ||
          window.MozMutationObserver,
        f = new d(function(a) {
          a.forEach(a => {
            0 < a.removedNodes.length &&
              a.removedNodes.forEach(a => {
                a && c(a)
              })
          })
        })
      return (
        f.observe(document, { childList: !0 }),
        {
          getElementId: c => {
            let d = b.get(c)
            return (
              d ||
                ((d = `${e.webviewID}_${Math.random()}${Date.now()}`),
                (a[d] = c),
                b.set(c, d)),
              d
            )
          },
          getDOM: b => {
            return a[b]
          }
        }
      )
    })()
    let h,
      i = 0,
      j = 0,
      k = Date.now()
    const l = (a, b) => {
        if ('css selector' == a) {
          let a = document.querySelector(b)
          if (a)
            return {
              status: f.Success,
              value: { WEBVIEW_ELEMENT: g.getElementId(a) }
            }
        }
        return {
          status: f.NoSuchElement,
          value: { message: 'no such element' }
        }
      },
      m = (a, b) => {
        if ('css selector' == a) {
          let a = document.querySelectorAll(b),
            c = []
          return (
            a.forEach(a => {
              c.push(g.getElementId(a))
            }),
            { status: f.Success, value: c }
          )
        }
        return {
          status: f.NoSuchElement,
          value: { message: 'no such element' }
        }
      },
      n = (a, b) => {
        let c = (h = g.getDOM(a))
        if (!c)
          return {
            status: f.NoSuchElement,
            value: { message: 'no such element' }
          }
        var d = new Touch({
            identifier: k++,
            target: c,
            clientX: 0,
            clientY: 0,
            pageX: 0,
            pageY: 0
          }),
          e = new TouchEvent('touchstart', {
            bubbles: !0,
            touches: [d],
            targetTouches: [d],
            changedTouches: [d]
          }),
          i = new TouchEvent('touchend', { bubbles: !0, changedTouches: [d] })
        return (
          c.dispatchEvent(e),
          b ? setTimeout(() => c.dispatchEvent(i), 500) : c.dispatchEvent(i),
          { status: f.Success }
        )
      },
      o = (a, b) => {
        var c = (h = document.elementFromPoint(a, b))
        ;(i = a), (j = b)
        var d = new Touch({
            identifier: k++,
            target: c,
            clientX: a,
            clientY: b,
            pageX: a,
            pageY: b
          }),
          e = new TouchEvent('touchstart', {
            bubbles: !0,
            touches: [d],
            targetTouches: [d],
            changedTouches: [d]
          })
        return c.dispatchEvent(e), { status: f.Success }
      },
      p = (a, b) => {
        let c = h || document.elementFromPoint(a, b)
        var d = new Touch({
          identifier: k++,
          target: c,
          clientX: a,
          clientY: b,
          pageX: a,
          pageY: b
        })
        ;(h = null), (i = 0), (j = 0)
        var e = new TouchEvent('touchend', { bubbles: !0, changedTouches: [d] })
        return c.dispatchEvent(e), { status: f.Success }
      },
      q = (a, b) => {
        let c = h || document.elementFromPoint(a, b)
        var a = 10,
          b = 60,
          d = new Touch({
            identifier: Date.now(),
            target: c,
            clientX: a,
            clientY: b,
            pageX: a,
            pageY: b
          }),
          e = new TouchEvent('touchmove', {
            bubbles: !0,
            touches: [d],
            targetTouches: [d],
            changedTouches: [d]
          }),
          g = !c.dispatchEvent(e)
        return (
          g ||
            ((document.documentElement.scrollLeft += 10 - a),
            (document.documentElement.scrollTop += 100 - b)),
          { status: f.Success }
        )
      },
      r = (a, b) => {
        return (
          document.documentElement &&
            ((document.documentElement.scrollLeft += a),
            (document.documentElement.scrollTop += b)),
          (document.body.scrollLeft += a),
          (document.body.scrollTop += b),
          { status: f.Success }
        )
      },
      s = (a, b) => {
        let c = g.getDOM(a)
        if (!c)
          return {
            status: f.NoSuchElement,
            value: { message: 'no such element' }
          }
        let d = c.querySelector('input')
        if (d) {
          let a = exparser.addListenerToElement(
            document,
            'setKeyboardValue',
            function(a) {
              d.value = a.detail.value
            }
          )
          d.focus()
          var e = new KeyboardEvent('input')
          for (let a, c = 0, f = b.length; c < f; c++)
            (a = b[c]), (d.value += a), d.dispatchEvent(e)
          d.blur(),
            setTimeout(() => {
              exparser.removeListenerFromElement(
                document,
                'setKeyboardValue',
                a
              )
            }, 100)
        }
        return { status: f.Success }
      },
      t = a => {
        let b = g.getDOM(a)
        return b
          ? { status: f.Success, value: b.tagName.toLowerCase() }
          : { status: f.NoSuchElement, value: { message: 'no such element' } }
      },
      u = (a, b) => {
        let c = g.getDOM(a)
        if (!c)
          return {
            status: f.NoSuchElement,
            value: { message: 'no such element' }
          }
        let d = window.getComputedStyle(c)
        return { status: f.Success, value: d[b] }
      },
      v = a => {
        let b = g.getDOM(a)
        if (!b)
          return {
            status: f.NoSuchElement,
            value: { message: 'no such element' }
          }
        let c = b.getBoundingClientRect()
        return { status: f.Success, value: { x: c.left, y: c.top } }
      },
      w = a => {
        let b = g.getDOM(a)
        if (!b)
          return {
            status: f.NoSuchElement,
            value: { message: 'no such element' }
          }
        let c = b.getBoundingClientRect()
        return {
          status: f.Success,
          value: { width: c.width, height: c.height }
        }
      },
      x = a => {
        let b = g.getDOM(a)
        if (!b)
          return {
            status: f.NoSuchElement,
            value: { message: 'no such element' }
          }
        let c = b.getBoundingClientRect(),
          d = b
        return (
          'wx-scroll-view' == b.localName &&
            (d = b.querySelector('div div') || b),
          {
            status: f.Success,
            value: {
              x: c.left,
              y: c.top,
              width: c.width,
              height: c.height,
              scrollTop: d.scrollTop,
              scrollLeft: d.scrollLeft,
              scrollHeight: d.scrollHeight,
              scrollWidth: d.scrollWidth
            }
          }
        )
      },
      y = (a, b) => {
        let c = g.getDOM(a)
        return c
          ? { status: f.Success, value: c.getAttribute(b) }
          : { status: f.NoSuchElement, value: { message: 'no such element' } }
      },
      z = (a, b) => {
        var c = document.elementFromPoint(a, b)
        return c
          ? { status: f.Success, value: { WEBVIEW_ELEMENT: g.getElementId(c) } }
          : { status: f.NoSuchElement, value: { message: 'no such element' } }
      },
      A = (a, b) => {
        var c = document.elementFromPoint(a, b)
        if (!c)
          return {
            status: f.NoSuchElement,
            value: { message: 'no such element' }
          }
        for (var d = c; !d.getAttribute('t_action'); )
          if (((d = d.parentElement), !d || d == document.body)) {
            d = c
            break
          }
        return {
          status: f.Success,
          value: { WEBVIEW_ELEMENT: g.getElementId(d) }
        }
      },
      B = () => {
        return {
          status: f.Success,
          value: {
            windowHeight: window.innerHeight,
            windowWidth: window.innerWidth,
            scrollTop: document.documentElement.scrollTop,
            scrollLeft: document.documentElement.scrollLeft,
            scrollHeight: document.documentElement.scrollHeight,
            scrollWidth: document.documentElement.scrollWidth
          }
        }
      }
    a.exports = {
      init: () => {
        d.registerCallback(a => {
          let b,
            { command: c, data: e } = a
          switch (c) {
            case 'Driver.findElement': {
              b = l(e.using, e.value)
              break
            }
            case 'Driver.findElements': {
              b = m(e.using, e.value)
              break
            }
            case 'Driver.tapElement': {
              b = n(e.ELEMENT)
              break
            }
            case 'Driver.longtapElement': {
              b = n(e.ELEMENT, !0)
              break
            }
            case 'Driver.touchDown': {
              b = o(e.x, e.y)
              break
            }
            case 'Driver.touchUp': {
              b = p(e.x, e.y)
              break
            }
            case 'Driver.touchMove': {
              b = q(e.x, e.y)
              break
            }
            case 'Driver.scroll': {
              b = r(e.xoffset, e.yoffset)
              break
            }
            case 'Driver.sendKeys': {
              b = s(e.ELEMENT, e.value)
              break
            }
            case 'Driver.getTagName': {
              b = t(e.ELEMENT)
              break
            }
            case 'Driver.getAttribute': {
              b = y(e.ELEMENT, e.name)
              break
            }
            case 'Driver.getCssValue': {
              b = u(e.ELEMENT, e.propertyName)
              break
            }
            case 'Driver.getSize': {
              b = w(e.ELEMENT)
              break
            }
            case 'Driver.getRect': {
              b = x(e.ELEMENT)
              break
            }
            case 'Driver.getLocation': {
              b = v(e.ELEMENT)
              break
            }
            case 'Driver.elementFromPoint': {
              b = z(e.x, e.y)
              break
            }
            case 'Driver.getContentSize': {
              b = B()
              break
            }
            case 'Driver.actionElementFromPoint': {
              b = A(e.x, e.y)
              break
            }
            default:
              return
          }
          d.send({
            command: `${c}.callback`,
            data: { callbackID: e.callbackID, res: b }
          })
        })
      }
    }
  },
  316: function(a, b, c) {
    'use strict'
    function d() {
      ;(window.WeixinJSBridge = {
        on: e.a,
        invoke: f.a,
        publish: g.a,
        subscribe: h.a
      }),
        k.a.init()
      let a = document.createEvent('UIEvent')
      a.initEvent('WeixinJSBridgeReady', !1, !1),
        document.dispatchEvent(a),
        i.a.init()
    }
    Object.defineProperty(b, '__esModule', { value: !0 })
    var e = c(254),
      f = c(253),
      g = c(255),
      h = c(256),
      i = c(86),
      j = c(257),
      k = c.n(j)
    'complete' === document.readyState
      ? d()
      : window.addEventListener('load', function() {
          d()
        })
  },
  317: function(a, b) {
    'use strict'
    b.a =
      'data:image/gif;base64,R0lGODlhQAAMAMQZAPT09Orq6ubm5unp6dPT06ysrPz8/NbW1q+vr9fX1+vr687Ozv39/fr6+tXV1Z6ens3NzZ2dnZubm66urpycnKurq+Xl5czMzJmZmf///wAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphODFiMWQ5My0wMDIwLTRiYmItYjVlMS04YjI4NTFkMzMzMjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MjFEQzRGRkU4NkU4MTFFNjkwOTg4NjNGN0JEMzY0OTUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MjFEQzRGRkQ4NkU4MTFFNjkwOTg4NjNGN0JEMzY0OTUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplY2RjM2MyNC03NDBkLTQ1NzMtOTc0Ni1iZGQ2MzhlMjEyYjUiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo3MGUzZDU2Ny1jZTk1LTExNzktYWFmZC04MmQ1NzRhYmI2YzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQJFAAZACwAAAAAQAAMAAAFvmCWMQTyPAjBiGzrukOyLMnw3jegCIICtIACZkgs/HC3xuHCbB4ayJshYKlaA4aRkMgtZKOtZXPsALuo1nQgQ+C6MQSzaDCuX2xyQHpvASDeXAhyGQl2YwmDCnxpChKARBSDEIZNEIMCi1YCjo8YD5KUTAuXmVUCf52CcoWhiHKKpQptnXFydKF4ZnqlAAZbbxVfcg6UZYMZaHxrGUFvRscZSnYOUMdTysIkExEREyrQLAMHMwe54AABPAFHGSEAIfkECRQAGQAsAAAAAEAADAAABb9gJgKKICiAqK4syxDI8yAE097tkCxLMqyGgGVIDBhwOEABw2wWUshW43CpWg8NkZDIDURdy6a4cPyqqNa0IwPgui1QM0FMxxDMokF6fxko3lwKeBkIdWIIgwl8aQkCgEQCgxKGTRSDEItWEI6PFpF4k5QYD5eZVQt/nYJ4haKIeIqmCW2dcV9zond4eqY/W29egwZhdRVleA6ZaxlBwMd4SnVPgyJTfA5ZKgABJgG21C8TERETNdQrAwc8Bz8iIQAh+QQFFAAZACwAAAAAQAAMAAAFv2AmDsmyJIOormwLKIKgAG3dMgTyPAjBqI3DZUg8NGw2Q8DCbAYMyBqggKlaC7SMkMh1RFvLpjjwXTGo1nTBMOC6L6lyBiCuW7JlQnqPISTeXAlyGQp2YgqDCHxpCBCARBCDAoZNAoMSi1YUjo8XC5KUTJZymJkYD3+dgnKFoYhyiqYIbZ1xZXSheF96pgQZDo9egxlhdmSDBmh8FVBBbw5Hw0rGUMNTfFgrAwcmB7bDIgABMQG6wzgTERETPiIhADs='
  },
  318: function(a, b) {
    'use strict'
    b.a =
      'data:image/gif;base64,R0lGODlhQAAMAIABAP///////yH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphODFiMWQ5My0wMDIwLTRiYmItYjVlMS04YjI4NTFkMzMzMjIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0Q5MjI2RkE4NkU1MTFFNkFDRDc5Mjc3OTE2NjVFRTMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0Q5MjI2Rjk4NkU1MTFFNkFDRDc5Mjc3OTE2NjVFRTMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphODFiMWQ5My0wMDIwLTRiYmItYjVlMS04YjI4NTFkMzMzMjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6YTgxYjFkOTMtMDAyMC00YmJiLWI1ZTEtOGIyODUxZDMzMzIyIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Af/+/fz7+vn49/b19PPy8fDv7u3s6+rp6Ofm5eTj4uHg397d3Nva2djX1tXU09LR0M/OzczLysnIx8bFxMPCwcC/vr28u7q5uLe2tbSzsrGwr66trKuqqainpqWko6KhoJ+enZybmpmYl5aVlJOSkZCPjo2Mi4qJiIeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUlFQT05NTEtKSUhHRkVEQ0JBQD8+PTw7Ojk4NzY1NDMyMTAvLi0sKyopKCcmJSQjIiEgHx4dHBsaGRgXFhUUExIREA8ODQwLCgkIBwYFBAMCAQAAIfkECRQAAQAsAAAAAEAADAAAAkVMgInG7a7Wmy+CZhWlOe3ZLaH3YWEJnaOErhd6uCscj7Q8w+6Nn3re6nV4tp/QQvQFjxFaLeN8IqVNZzE5pbKi2SiVUQAAIfkECRQAAQAsAAAAAEAADAAAAkWMgWnL3QmBmy7KZSGlWe3aXeH1YSNZBqN6pkfrnjL6yS47h7cd53q/AvosO1hq2CkGj60l01kKQqM/ZYZBvGGvWpPGUAAAIfkEBRQAAQAsAAAAAEAADAAAAkWMgWnL7amcbBCuWufEVj+OHCDgfWDJjGqGBivZvm/rrrRsxzmKq/de6o1+Pp0QQxwah8Uk0smpnWjSKLVZDVFTrG02UgAAOw=='
  },
  42: function(a, b, c) {
    'use strict'
    Object.defineProperty(b, '__esModule', { value: !0 }),
      c.d(b, 'isAndroid', function() {
        return g
      }),
      c.d(b, 'isiPhone', function() {
        return h
      }),
      c.d(b, 'webviewID', function() {
        return f
      }),
      c.d(b, 'isWeapp', function() {
        return i
      })
    const d = navigator.userAgent
    let e = d.match(/webview\/(\d*)/),
      f = e ? parseInt(d.match(/webview\/(\d*)/)[1]) : 0,
      g = -1 !== d.indexOf('Android'),
      h = -1 !== d.indexOf('iPhone'),
      i = -1 !== d.indexOf('weapp')
  },
  86: function(a, b, c) {
    'use strict'
    function d() {
      t ||
        ((t = document.createElement('div')),
        (u = document.createElement('i')),
        (u.style.backgroundImage =
          'light' == __wxConfig.window.backgroundTextStyle
            ? `url(${l.a})`
            : `url(${k.a})`),
        (u.style.width = '32px'),
        (u.style.position = 'absolute'),
        (u.style.height = '6px'),
        (u.style.left = '50%'),
        (u.style.bottom = '20px'),
        (u.style.backgroundRepeat = 'no-repeat'),
        (u.style.marginLeft = '-16px'),
        (u.style.backgroundSize = 'cover'),
        t.appendChild(u),
        (t.style.height = '0px'),
        (t.style.width = '100%'),
        (t.style.position = 'fixed'),
        (t.style.top = '0px'),
        (t.style.backgroundColor = __wxConfig.window.backgroundColor),
        document.body.insertBefore(t, document.body.firstChild))
    }
    function e() {
      window.addEventListener(
        'touchstart',
        function(a) {
          0 == window.scrollY &&
            (d(),
            (q = !0),
            (r = a.touches[0].pageY),
            (window.document.body.style.transition = 'all linear 0'),
            (t.style.transition = 'all linear 0'))
        },
        !0
      )
    }
    function f() {
      window.addEventListener('touchmove', function(a) {
        q &&
          __wxConfig.window.enablePullDownRefresh &&
          !v &&
          ((s = a.touches[0].pageY - r),
          (s = Math.max(0, s)),
          (s = Math.min(o, s)),
          (window.document.body.style.marginTop = `${s}px`),
          (t.style.height = `${s}px`))
      })
    }
    function g() {
      window.addEventListener('touchend', function() {
        ;(q = !1),
          s > p
            ? (i(),
              (s = p),
              (window.document.body.style.marginTop = `${s}px`),
              (t.style.height = `${s}px`),
              setTimeout(h, 3e3))
            : h()
      })
    }
    function h() {
      ;(window.document.body.style.transition = 'all linear 0.3s'),
        (window.document.body.style.marginTop = '0px'),
        t &&
          ((t.style.transition = 'all linear 0.3s'),
          (window.document.body.style.marginTop = `0px`),
          (t.style.height = `0px`))
    }
    function i() {
      n.a.send({ command: 'PULLDOWN_REFRESH' })
    }
    var j = c(42),
      k = c(317),
      l = c(318),
      m = c(22),
      n = c.n(m)
    const o = 100,
      p = 50
    let q = !1,
      r = 0,
      s = 0,
      t = null,
      u = null,
      v = !1,
      w = !1
    ;(window.enablePullDownRefresh = function() {
      w || (e(), f(), g(), (w = !0))
    }),
      (b.a = {
        init: function() {
          n.a.registerCallback(a => {
            let { command: b, data: c } = a
            if ('STOP_PULLDOWN_REFRESH' == b) h()
            else if ('START_PULLDOWN_REFRESH' == b) {
              if (!__wxConfig.window.enablePullDownRefresh || v) return
              d(),
                (t.style.height = `${p}px`),
                (window.document.body.style.transition = 'all linear 0'),
                (window.document.body.style.marginTop = `${p}px`),
                i()
            } else
              'SET_BACKGROUND_COLOR' == b
                ? (t.style.backgroundColor =
                    c.backgroundColorTop || c.backgroundColor)
                : 'SET_BACKGROUND_TEXT_STYLE' == b &&
                  (u.style.backgroundImage =
                    'light' == c.textStyle ? `url(${l.a})` : `url(${k.a})`)
          })
        },
        reset: h,
        togglePullDownRefresh: function(a) {
          v = a
        }
      })
  }
})
