!(function (t) {
  var e = this.webpackHotUpdate
  this.webpackHotUpdate = function (t, i) {
    !(function (t, e) {
      if (!v[t] || !y[t]) return
      for (var i in ((y[t] = !1), e)) Object.prototype.hasOwnProperty.call(e, i) && (c[i] = e[i])
      0 == --p && 0 === d && _()
    })(t, i),
      e && e(t, i)
  }
  var i,
    n = !0,
    g = '6ebc6af84dfdad10b153',
    A = {},
    r = [],
    o = []
  function C(t) {
    var e = P[t]
    if (!e) return O
    var n = function (n) {
        return (
          e.hot.active
            ? (P[n] ? -1 === P[n].parents.indexOf(t) && P[n].parents.push(t) : ((r = [t]), (i = n)),
              -1 === e.children.indexOf(n) && e.children.push(n))
            : (console.warn('[HMR] unexpected require(' + n + ') from disposed module ' + t),
              (r = [])),
          O(n)
        )
      },
      g = function (t) {
        return {
          configurable: !0,
          enumerable: !0,
          get: function () {
            return O[t]
          },
          set: function (e) {
            O[t] = e
          }
        }
      }
    for (var A in O)
      Object.prototype.hasOwnProperty.call(O, A) &&
        'e' !== A &&
        't' !== A &&
        Object.defineProperty(n, A, g(A))
    return (
      (n.e = function (t) {
        return (
          'ready' === a && l('prepare'),
          d++,
          O.e(t).then(e, function (t) {
            throw (e(), t)
          })
        )
        function e() {
          d--, 'prepare' === a && (f[t] || x(t), 0 === d && 0 === p && _())
        }
      }),
      (n.t = function (t, e) {
        return 1 & e && (t = n(t)), O.t(t, -2 & e)
      }),
      n
    )
  }
  function I(t) {
    var e = {
      _acceptedDependencies: {},
      _declinedDependencies: {},
      _selfAccepted: !1,
      _selfDeclined: !1,
      _disposeHandlers: [],
      _main: i !== t,
      active: !0,
      accept: function (t, i) {
        if (void 0 === t) e._selfAccepted = !0
        else if ('function' == typeof t) e._selfAccepted = t
        else if ('object' == typeof t)
          for (var n = 0; n < t.length; n++) e._acceptedDependencies[t[n]] = i || function () {}
        else e._acceptedDependencies[t] = i || function () {}
      },
      decline: function (t) {
        if (void 0 === t) e._selfDeclined = !0
        else if ('object' == typeof t)
          for (var i = 0; i < t.length; i++) e._declinedDependencies[t[i]] = !0
        else e._declinedDependencies[t] = !0
      },
      dispose: function (t) {
        e._disposeHandlers.push(t)
      },
      addDisposeHandler: function (t) {
        e._disposeHandlers.push(t)
      },
      removeDisposeHandler: function (t) {
        var i = e._disposeHandlers.indexOf(t)
        i >= 0 && e._disposeHandlers.splice(i, 1)
      },
      check: b,
      apply: w,
      status: function (t) {
        if (!t) return a
        s.push(t)
      },
      addStatusHandler: function (t) {
        s.push(t)
      },
      removeStatusHandler: function (t) {
        var e = s.indexOf(t)
        e >= 0 && s.splice(e, 1)
      },
      data: A[t]
    }
    return (i = void 0), e
  }
  var s = [],
    a = 'idle'
  function l(t) {
    a = t
    for (var e = 0; e < s.length; e++) s[e].call(null, t)
  }
  var u,
    c,
    h,
    p = 0,
    d = 0,
    f = {},
    y = {},
    v = {}
  function m(t) {
    return +t + '' === t ? +t : t
  }
  function b(t) {
    if ('idle' !== a) throw new Error('check() is only allowed in idle status')
    return (
      (n = t),
      l('check'),
      ((e = 1e4),
      (e = e || 1e4),
      new Promise(function (t, i) {
        if ('undefined' == typeof XMLHttpRequest) return i(new Error('No browser support'))
        try {
          var n = new XMLHttpRequest(),
            A = O.p + '' + g + '.hot-update.json'
          n.open('GET', A, !0), (n.timeout = e), n.send(null)
        } catch (t) {
          return i(t)
        }
        n.onreadystatechange = function () {
          if (4 === n.readyState)
            if (0 === n.status) i(new Error('Manifest request to ' + A + ' timed out.'))
            else if (404 === n.status) t()
            else if (200 !== n.status && 304 !== n.status)
              i(new Error('Manifest request to ' + A + ' failed.'))
            else {
              try {
                var e = JSON.parse(n.responseText)
              } catch (t) {
                return void i(t)
              }
              t(e)
            }
        }
      })).then(function (t) {
        if (!t) return l('idle'), null
        ;(y = {}), (f = {}), (v = t.c), (h = t.h), l('prepare')
        var e = new Promise(function (t, e) {
          u = { resolve: t, reject: e }
        })
        c = {}
        return x(0), 'prepare' === a && 0 === d && 0 === p && _(), e
      })
    )
    var e
  }
  function x(t) {
    v[t]
      ? ((y[t] = !0),
        p++,
        (function (t) {
          var e = document.createElement('script')
          ;(e.charset = 'utf-8'),
            (e.src = O.p + '' + t + '.' + g + '.hot-update.js'),
            document.head.appendChild(e)
        })(t))
      : (f[t] = !0)
  }
  function _() {
    l('ready')
    var t = u
    if (((u = null), t))
      if (n)
        Promise.resolve()
          .then(function () {
            return w(n)
          })
          .then(
            function (e) {
              t.resolve(e)
            },
            function (e) {
              t.reject(e)
            }
          )
      else {
        var e = []
        for (var i in c) Object.prototype.hasOwnProperty.call(c, i) && e.push(m(i))
        t.resolve(e)
      }
  }
  function w(e) {
    if ('ready' !== a) throw new Error('apply() is only allowed in ready status')
    var i, n, o, C, I
    function s(t) {
      for (
        var e = [t],
          i = {},
          n = e.map(function (t) {
            return { chain: [t], id: t }
          });
        n.length > 0;

      ) {
        var g = n.pop(),
          A = g.id,
          r = g.chain
        if ((C = P[A]) && !C.hot._selfAccepted) {
          if (C.hot._selfDeclined) return { type: 'self-declined', chain: r, moduleId: A }
          if (C.hot._main) return { type: 'unaccepted', chain: r, moduleId: A }
          for (var o = 0; o < C.parents.length; o++) {
            var I = C.parents[o],
              s = P[I]
            if (s) {
              if (s.hot._declinedDependencies[A])
                return { type: 'declined', chain: r.concat([I]), moduleId: A, parentId: I }
              ;-1 === e.indexOf(I) &&
                (s.hot._acceptedDependencies[A]
                  ? (i[I] || (i[I] = []), u(i[I], [A]))
                  : (delete i[I], e.push(I), n.push({ chain: r.concat([I]), id: I })))
            }
          }
        }
      }
      return { type: 'accepted', moduleId: t, outdatedModules: e, outdatedDependencies: i }
    }
    function u(t, e) {
      for (var i = 0; i < e.length; i++) {
        var n = e[i]
        ;-1 === t.indexOf(n) && t.push(n)
      }
    }
    e = e || {}
    var p = {},
      d = [],
      f = {},
      y = function () {
        console.warn('[HMR] unexpected require(' + x.moduleId + ') to disposed module')
      }
    for (var b in c)
      if (Object.prototype.hasOwnProperty.call(c, b)) {
        var x
        I = m(b)
        var _ = !1,
          w = !1,
          S = !1,
          E = ''
        switch (
          ((x = c[b] ? s(I) : { type: 'disposed', moduleId: b }).chain &&
            (E = '\nUpdate propagation: ' + x.chain.join(' -> ')),
          x.type)
        ) {
          case 'self-declined':
            e.onDeclined && e.onDeclined(x),
              e.ignoreDeclined ||
                (_ = new Error('Aborted because of self decline: ' + x.moduleId + E))
            break
          case 'declined':
            e.onDeclined && e.onDeclined(x),
              e.ignoreDeclined ||
                (_ = new Error(
                  'Aborted because of declined dependency: ' + x.moduleId + ' in ' + x.parentId + E
                ))
            break
          case 'unaccepted':
            e.onUnaccepted && e.onUnaccepted(x),
              e.ignoreUnaccepted || (_ = new Error('Aborted because ' + I + ' is not accepted' + E))
            break
          case 'accepted':
            e.onAccepted && e.onAccepted(x), (w = !0)
            break
          case 'disposed':
            e.onDisposed && e.onDisposed(x), (S = !0)
            break
          default:
            throw new Error('Unexception type ' + x.type)
        }
        if (_) return l('abort'), Promise.reject(_)
        if (w)
          for (I in ((f[I] = c[I]), u(d, x.outdatedModules), x.outdatedDependencies))
            Object.prototype.hasOwnProperty.call(x.outdatedDependencies, I) &&
              (p[I] || (p[I] = []), u(p[I], x.outdatedDependencies[I]))
        S && (u(d, [x.moduleId]), (f[I] = y))
      }
    var D,
      k = []
    for (n = 0; n < d.length; n++)
      (I = d[n]),
        P[I] &&
          P[I].hot._selfAccepted &&
          f[I] !== y &&
          k.push({ module: I, errorHandler: P[I].hot._selfAccepted })
    l('dispose'),
      Object.keys(v).forEach(function (t) {
        !1 === v[t] &&
          (function (t) {
            delete installedChunks[t]
          })(t)
      })
    for (var M, L, N = d.slice(); N.length > 0; )
      if (((I = N.pop()), (C = P[I]))) {
        var j = {},
          R = C.hot._disposeHandlers
        for (o = 0; o < R.length; o++) (i = R[o])(j)
        for (
          A[I] = j, C.hot.active = !1, delete P[I], delete p[I], o = 0;
          o < C.children.length;
          o++
        ) {
          var G = P[C.children[o]]
          G && (D = G.parents.indexOf(I)) >= 0 && G.parents.splice(D, 1)
        }
      }
    for (I in p)
      if (Object.prototype.hasOwnProperty.call(p, I) && (C = P[I]))
        for (L = p[I], o = 0; o < L.length; o++)
          (M = L[o]), (D = C.children.indexOf(M)) >= 0 && C.children.splice(D, 1)
    for (I in (l('apply'), (g = h), f)) Object.prototype.hasOwnProperty.call(f, I) && (t[I] = f[I])
    var T = null
    for (I in p)
      if (Object.prototype.hasOwnProperty.call(p, I) && (C = P[I])) {
        L = p[I]
        var V = []
        for (n = 0; n < L.length; n++)
          if (((M = L[n]), (i = C.hot._acceptedDependencies[M]))) {
            if (-1 !== V.indexOf(i)) continue
            V.push(i)
          }
        for (n = 0; n < V.length; n++) {
          i = V[n]
          try {
            i(L)
          } catch (t) {
            e.onErrored &&
              e.onErrored({ type: 'accept-errored', moduleId: I, dependencyId: L[n], error: t }),
              e.ignoreErrored || T || (T = t)
          }
        }
      }
    for (n = 0; n < k.length; n++) {
      var U = k[n]
      ;(I = U.module), (r = [I])
      try {
        O(I)
      } catch (t) {
        if ('function' == typeof U.errorHandler)
          try {
            U.errorHandler(t)
          } catch (i) {
            e.onErrored &&
              e.onErrored({
                type: 'self-accept-error-handler-errored',
                moduleId: I,
                error: i,
                originalError: t
              }),
              e.ignoreErrored || T || (T = i),
              T || (T = t)
          }
        else
          e.onErrored && e.onErrored({ type: 'self-accept-errored', moduleId: I, error: t }),
            e.ignoreErrored || T || (T = t)
      }
    }
    return T
      ? (l('fail'), Promise.reject(T))
      : (l('idle'),
        new Promise(function (t) {
          t(d)
        }))
  }
  var P = {}
  function O(e) {
    if (P[e]) return P[e].exports
    var i = (P[e] = {
      i: e,
      l: !1,
      exports: {},
      hot: I(e),
      parents: ((o = r), (r = []), o),
      children: []
    })
    return t[e].call(i.exports, i, i.exports, C(e)), (i.l = !0), i.exports
  }
  ;(O.m = t),
    (O.c = P),
    (O.d = function (t, e, i) {
      O.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: i })
    }),
    (O.r = function (t) {
      'undefined' != typeof Symbol &&
        Symbol.toStringTag &&
        Object.defineProperty(t, Symbol.toStringTag, { value: 'Module' }),
        Object.defineProperty(t, '__esModule', { value: !0 })
    }),
    (O.t = function (t, e) {
      if ((1 & e && (t = O(t)), 8 & e)) return t
      if (4 & e && 'object' == typeof t && t && t.__esModule) return t
      var i = Object.create(null)
      if (
        (O.r(i),
        Object.defineProperty(i, 'default', { enumerable: !0, value: t }),
        2 & e && 'string' != typeof t)
      )
        for (var n in t)
          O.d(
            i,
            n,
            function (e) {
              return t[e]
            }.bind(null, n)
          )
      return i
    }),
    (O.n = function (t) {
      var e =
        t && t.__esModule
          ? function () {
              return t.default
            }
          : function () {
              return t
            }
      return O.d(e, 'a', e), e
    }),
    (O.o = function (t, e) {
      return Object.prototype.hasOwnProperty.call(t, e)
    }),
    (O.p = ''),
    (O.h = function () {
      return g
    }),
    C(24)((O.s = 24))
})([
  function (t, e, i) {
    var n =
      (this && this.__assign) ||
      function () {
        return (n =
          Object.assign ||
          function (t) {
            for (var e, i = 1, n = arguments.length; i < n; i++)
              for (var g in (e = arguments[i]))
                Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
            return t
          }).apply(this, arguments)
      }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var g = i(3)
    ;(e.calcVector = function (t) {
      var e = 1 / ((t = n({}, t)).x * t.y < 0 ? Math.abs(t.x - t.y) : t.x + t.y)
      return (t.x = t.x * e), (t.y = t.y * e), t
    }),
      (e.strictLineVector = function (t) {
        var i = t.points[1].x - t.points[0].x,
          n = t.points[1].y - t.points[0].y,
          g = Math.abs(i / 1),
          A = Math.abs(n / 1),
          r = g > A ? g : A,
          o = { x: i / r, y: n / r }
        return e.calcVector(o)
      }),
      (e.lineVector = function (t, i) {
        void 0 === i && (i = 0.001)
        var n = e.strictLineVector(t)
        return Math.abs(n.x) < i && (n.x = 0), Math.abs(n.y) < i && (n.y = 0), n
      }),
      (e.verticalLine = function (t) {
        var i = e.lineVector(t),
          n = i.x,
          g = i.y
        if (n - g != 0) {
          var A = { x: g / (g - n), y: n / (n - g) }
          return e.calcVector(A)
        }
        return { x: n, y: g }
      }),
      (e.lineDis = function (t) {
        return Number(
          Math.sqrt(
            Math.pow(t.points[0].x - t.points[1].x, 2) + Math.pow(t.points[0].y - t.points[1].y, 2)
          ).toFixed(4)
        )
      }),
      (e.lineCenter = function (t) {
        return { x: (t.points[0].x + t.points[1].x) / 2, y: (t.points[0].y + t.points[1].y) / 2 }
      }),
      (e.segmentsIntr = function (t, i) {
        var n = t.points,
          g = n[0],
          A = n[1],
          r = i.points,
          o = r[0],
          C = r[1],
          I = (A.y - g.y) * (C.x - o.x) - (g.x - A.x) * (o.y - C.y)
        if (0 == I) return !1
        var s =
            ((A.x - g.x) * (C.x - o.x) * (o.y - g.y) +
              (A.y - g.y) * (C.x - o.x) * g.x -
              (C.y - o.y) * (A.x - g.x) * o.x) /
            I,
          a =
            -(
              (A.y - g.y) * (C.y - o.y) * (o.x - g.x) +
              (A.x - g.x) * (C.y - o.y) * g.y -
              (C.x - o.x) * (A.y - g.y) * o.y
            ) / I
        return (
          !(!e.isContainPoint(t, { x: s, y: a }) || !e.isContainPoint(i, { x: s, y: a })) && {
            x: s,
            y: a
          }
        )
      }),
      (e.segmentsIntrFine = function (t, e) {
        var i = t.points,
          n = i[0],
          g = i[1],
          A = e.points,
          r = A[0],
          o = A[1],
          C = (g.y - n.y) * (o.x - r.x) - (n.x - g.x) * (r.y - o.y)
        if (0 == C) return !1
        var I =
            ((g.x - n.x) * (o.x - r.x) * (r.y - n.y) +
              (g.y - n.y) * (o.x - r.x) * n.x -
              (o.y - r.y) * (g.x - n.x) * r.x) /
            C,
          s =
            -(
              (g.y - n.y) * (o.y - r.y) * (r.x - n.x) +
              (g.x - n.x) * (o.y - r.y) * n.y -
              (o.x - r.x) * (g.y - n.y) * r.y
            ) / C
        return !isNaN(I) && !isNaN(s) && { x: I, y: s }
      }),
      (e.pointLineDis = function (t, e) {
        var i = 0,
          n = t.points[1].x - t.points[0].x,
          g = e.x - t.points[0].x,
          A = e.x - t.points[1].x,
          r = t.points[1].y - t.points[0].y,
          o = e.y - t.points[0].y,
          C = e.y - t.points[1].y,
          I = n * g + r * o,
          s = n * n + r * r
        if (I <= 0) i = Math.sqrt(g * g + o * o)
        else if (I >= s) i = Math.sqrt(A * A + C * C)
        else {
          var a = I / s,
            l = t.points[0].x + n * a,
            u = t.points[0].y + r * a
          i = Math.sqrt((e.x - l) * (e.x - l) + (u - e.y) * (u - e.y))
        }
        return i
      }),
      (e.isContainPoint = function (t, i) {
        return !Math.abs(e.pointLineDis(t, i)) || Math.abs(e.pointLineDis(t, i)) < 0.01
      }),
      (e.getVerLinePoint = function (t, i) {
        return e.getVectorPosPoint(e.verticalLine(t), t.points[0], i)
      }),
      (e.getVectorPosPoint = function (t, i, n) {
        var g = { points: [i, { x: i.x + 1e4 * t.x, y: i.y + 1e4 * t.y }] }
        return e.getLinePoint(g, n)
      }),
      (e.getLinePoint = function (t, i) {
        var n,
          A = i
        if (g.type.isNumber(A.x) && g.type.isNumber(A.y)) {
          var r = e.lineVector(t),
            o = r.x,
            C = r.y,
            I = Math.abs(o) > Math.abs(C) ? 'x' : 'y'
          ;((n = {})[I] = A[I]), (A = n)
        }
        var s = e.lineVector(t, 1e-4),
          a = s.y / s.x,
          l = t.points[0].y - a * t.points[0].x
        return a > 100 || a < -100
          ? { x: t.points[0].x, y: A.y }
          : g.type.isNumber(A.x)
          ? { x: A.x, y: a * A.x + l }
          : g.type.isNumber(A.y)
          ? { x: (A.y - l) / a, y: A.y }
          : { x: 0, y: 0 }
      }),
      (e.getFlexLinePoint = function (t, i) {
        var n = e.strictLineVector(t),
          g = n.x,
          A = n.y,
          r = (g = Math.abs(g)) > (A = Math.abs(A)) ? { x: i.x } : { y: i.y }
        return e.getLinePoint(t, r)
      }),
      (e.getDisVectorPoints = function (t, e, i) {
        var n = Math.atan(t.y / t.x)
        return [
          { x: e.x + i * Math.cos(n), y: e.y + i * Math.sin(n) },
          { x: e.x + -i * Math.cos(n), y: e.y + -i * Math.sin(n) }
        ]
      }),
      (e.getDisPointLinePoints = function (t, i, n) {
        return e.getDisVectorPoints(e.lineVector(t), i, n)
      }),
      (e.getLineDisPoint = function (t, i) {
        var n = e.getDisPointLinePoints(t, t.points[0], i),
          g = n[0],
          A = n[1],
          r = e.lineVector(t),
          o = e.lineVector({ points: [t.points[0], g] })
        return r.x * o.x >= 0 && r.y * o.y >= 0 ? g : A
      }),
      (e.getLineDisSelectPoint = function (t, i, n) {
        var g = e.getDisPointLinePoints(t, i, n),
          A = g[0],
          r = g[1]
        return e.pointLineDis(t, A) < e.pointLineDis(t, r) ? A : r
      }),
      (e.getDisVerticalLinePoints = function (t, i, n) {
        return e.getDisVectorPoints(e.verticalLine(t), i, n)
      }),
      (e.getLineVerticalChangePoint = function (t, i, n) {
        var g = e.segmentsIntrFine(t, i)
        return g ? e.getLineVerticalPoint(t, g, e.lineVector(i), n) : g
      }),
      (e.getLineVerticalPoint = function (t, i, n, g) {
        var A = e.getDisVerticalLinePoints(t, i, g),
          r = A[0],
          o = A[1],
          C = e.lineVector({ points: [i, r] }),
          I = e.lineVector({ points: [i, o] }),
          s = n.x * C.x,
          a = n.y * C.y,
          l = n.x * I.x,
          u = n.x * I.y
        return s >= 0 && a >= 0
          ? r
          : (l >= 0 && u >= 0) || (s < a ? s : a) < (l < u ? l : u)
          ? o
          : r
      }),
      (e.getPointCoordinate = function (t) {
        return t.x >= 0 && t.y >= 0
          ? 1
          : t.x >= 0 && t.y <= 0
          ? 2
          : t.x <= 0 && t.y <= 0
          ? 3
          : t.x <= 0 && t.y >= 0
          ? 4
          : 0
      }),
      (e.getLineCoordinate = function (t) {
        var e = t.points[1].x - t.points[0].x,
          i = t.points[1].y - t.points[0].y
        return e >= 0 && i >= 0 ? 1 : e >= 0 && i <= 0 ? 4 : e <= 0 && i <= 0 ? 3 : 2
      }),
      (e.getPointCoordDistance = function (t, i) {
        return e.getPointCoordinate(t) - e.getPointCoordinate(i)
      }),
      (e.faceArea = function (t) {
        var e = t.length
        if (e < 3) return 0
        for (var i = t[0].y * (t[e - 1].x - t[1].x), n = 1; n < e; ++n)
          i += t[n].y * (t[n - 1].x - t[(n + 1) % e].x)
        return Math.abs(i / 2)
      }),
      (e.pointInside = function (t, e) {
        for (var i = !1, n = e.x, g = e.y, A = 0, r = t.length - 1; A < t.length; r = A++) {
          var o = t[A].x,
            C = t[A].y,
            I = t[r].x,
            s = t[r].y
          C > g != s > g && n <= ((I - o) * (g - C)) / (s - C) + o && (i = !i)
        }
        return i
      }),
      (e.isPointInPoly = function (t, e) {
        for (var i = e.x, n = e.y, g = !1, A = 0, r = t.length - 1; A < t.length; r = A++) {
          var o = t[A],
            C = t[r],
            I = o.x,
            s = o.y,
            a = C.x,
            l = C.y
          s > n != l > n && i < ((a - I) * (n - s)) / (l - s) + I && (g = !g)
        }
        return g
      }),
      (e.pointInsideBorder = function (t, i) {
        for (var n = 0; n < t.length; n++) {
          var g = { points: [t[n], t[n === t.length - 1 ? 0 : n + 1]] }
          if (e.isContainPoint(g, i)) return !0
        }
        return !1
      }),
      (e.isClockWise = function (t, e) {
        var i, n, g
        void 0 === e && (e = !0)
        var A,
          r = 0,
          o = e ? -1 : 1
        if (null == t || t.length < 3) return !1
        var C = t.length
        for (i = 0; i < C; i++)
          (g = (i + 2) % C),
            (A = (t[(n = (i + 1) % C)].x - t[i].x) * (t[g].y * o - t[n].y * o)),
            (A -= (t[n].y * o - t[i].y * o) * (t[g].x - t[n].x)) < 0 ? r-- : A > 0 && r++
        return r > 0
      }),
      (e.isLineIntersect = function (t, e) {
        var i = t.points[1].y - t.points[0].y,
          n = t.points[0].x - t.points[1].x,
          g = i * t.points[0].x + n * t.points[0].y,
          A = e.points[1].y - e.points[0].y,
          r = e.points[0].x - e.points[1].x,
          o = A * e.points[0].x + r * e.points[0].y,
          C = i * r - A * n
        if (0 == C) return !1
        var I = (r * g - n * o) / C,
          s = (i * o - A * g) / C
        if (
          (a(t.points[0].x, I, t.points[1].x) || a(t.points[0].y, s, t.points[1].y)) &&
          (a(e.points[0].x, I, e.points[1].x) || a(e.points[0].y, s, e.points[1].y))
        )
          return !0
        function a(t, e, i) {
          return (
            !(Math.abs(t - e) < 1e-6 || Math.abs(e - i) < 1e-6) &&
            ((t <= e && e <= i) || (i <= e && e <= t))
          )
        }
        return !1
      }),
      (e.isFaceIntersect = function (t, i) {
        for (var n = 0; n < t.length; n++)
          for (
            var g = n + 1 === t.length ? 0 : n + 1, A = { points: [t[n], t[g]] }, r = 0;
            r < i.length;
            r++
          ) {
            g = r + 1 === i.length ? 0 : r + 1
            var o = { points: [i[r], i[g]] },
              C = e.isLineIntersect(o, A),
              I = e.isLineIntersect(A, o)
            if (C && I) return !0
          }
        return !1
      }),
      (e.isFaceContain = function (t, i) {
        return (
          i.every(function (i) {
            return e.pointInside(t, i)
          }) && !e.isFaceIntersect(t, i)
        )
      }),
      (e.isFaceChild = function (t, i) {
        return (
          i.every(function (i) {
            return e.pointInside(t, i) || e.pointInsideBorder(t, i)
          }) && !e.isFaceIntersect(t, i)
        )
      }),
      (e.faceCenter = function (t) {
        for (var e = 0, i = 0, n = 0; n < t.length; n++) (e += t[n].x), (i += t[n].y)
        return { x: (e /= t.length), y: (i /= t.length) }
      }),
      (e.faceRotate = function (t, i) {
        var n = window.THREE,
          g = e.faceCenter(t),
          A = new n.Matrix3().translate(-g.x, -g.y),
          r = new n.Matrix3().rotate(n.Math.degToRad(i)),
          o = new n.Matrix3().translate(g.x, g.y),
          C = new n.Matrix3()
        return (
          C.premultiply(A),
          C.premultiply(r),
          C.premultiply(o),
          t.map(function (t) {
            var e = new n.Vector2(t.x, t.y)
            return e.applyMatrix3(C), { x: e.x, y: e.y }
          })
        )
      }),
      (e.lineStretch = function (t, i) {
        t = n(n({}, t), {
          points: t.points.map(function (t) {
            return { x: t.x, y: t.y }
          })
        })
        var g = e.lineCenter(t),
          A = e.getDisPointLinePoints(t, g, i / 2),
          r = A[0],
          o = A[1]
        return (
          e.lineDis({ points: [t.points[0], r] }) > e.lineDis({ points: [t.points[0], o] })
            ? ((t.points[0].x = o.x),
              (t.points[0].y = o.y),
              (t.points[1].x = r.x),
              (t.points[1].y = r.y))
            : ((t.points[0].x = r.x),
              (t.points[0].y = r.y),
              (t.points[1].x = o.x),
              (t.points[1].y = o.y)),
          t
        )
      }),
      (e.lineDeg = function (t) {
        return (
          (180 * Math.atan2(t.points[1].y - t.points[0].y, t.points[1].x - t.points[0].x)) / Math.PI
        )
      }),
      (e.getAngle = function (t, e) {
        var i, n, g, A
        ~(A = t.points.indexOf(e.points[0]))
          ? ((i = t.points[A]), (n = e.points[1]), (g = t.points[Number(!A)]))
          : ~(A = t.points.indexOf(e.points[1])) &&
            ((i = t.points[A]), (n = e.points[0]), (g = t.points[Number(!A)]))
        var r,
          o,
          C = 0,
          I = n.x - i.x,
          s = n.y - i.y,
          a = g.x - i.x,
          l = g.y - i.y
        return (
          (C = I * a + s * l),
          (o = (I * I + s * s) * (a * a + l * l)),
          (C /= Math.sqrt(o)) >= 1
            ? 0
            : C <= -1
            ? 180
            : (180 * (r = Math.acos(C))) / Math.PI < 180
            ? (180 * r) / Math.PI
            : 360 - (180 * r) / Math.PI
        )
      }),
      (e.rotatePoint = function (t, e, i) {
        var n = t.x - i.x,
          g = t.y - i.y,
          A = Math.cos(e) * n - Math.sin(e) * g,
          r = Math.sin(e) * n + Math.cos(e) * g
        return { x: A + i.x, y: r + i.y }
      }),
      (e.rotateData = function (t, i, n) {
        try {
          var g = ['furnColumn', 'furnFlue', 'column']
          return (
            (t = JSON.parse(JSON.stringify(t))).vertex.forEach(function (t) {
              var g = e.rotatePoint(t, i, n)
              ;(t.x = g.x), (t.y = g.y)
            }),
            t.tagging.forEach(function (t) {
              var g = e.rotatePoint({ x: t.pos[0], y: t.pos[1] }, i, n)
              ;(t.pos[0] = g.x), (t.pos[1] = g.y)
            }),
            ['window', 'door', 'slideDoor', 'groundCase', 'bayCase', 'doubleDoor']
              .concat(g)
              .forEach(function (g) {
                t[g].forEach(function (t) {
                  var g = e.rotatePoint({ x: t.pos[0], y: t.pos[1] }, i, n),
                    A = e.rotatePoint({ x: t.pos[2], y: t.pos[3] }, i, n)
                  ;(t.pos[0] = g.x), (t.pos[1] = g.y), (t.pos[2] = A.x), (t.pos[3] = A.y)
                })
              }),
            g.forEach(function (g) {
              t[g].forEach(function (t) {
                var g = e.rotatePoint({ x: t.pos[4], y: t.pos[5] }, i, n),
                  A = e.rotatePoint({ x: t.pos[6], y: t.pos[7] }, i, n)
                ;(t.pos[4] = g.x), (t.pos[5] = g.y), (t.pos[6] = A.x), (t.pos[7] = A.y)
              })
            }),
            t
          )
        } catch (e) {
          return t
        }
      })
  },
  function (t, e, i) {
    var n, g
    Object.defineProperty(e, '__esModule', { value: !0 })
    var A = i(9)
    ;(e.SVGURI = 'http://www.w3.org/2000/svg'),
      (e.SVGPATH = 'http://www.w3.org/1999/xlink'),
      (e.STATE_CHILD = '__state'),
      (e.POINT = 'point'),
      (e.DOOR = 'door'),
      (e.DOUBLEDOOR = 'double_door'),
      (e.COLUMN = 'column'),
      (e.CASEMENT = 'casement'),
      (e.SLIDEDOOR = 'slideDoor'),
      (e.TAGGING = 'tagging'),
      (e.GROUNDCASE = 'groundCase'),
      (e.BAYCASE = 'bayCase'),
      (e.FURNCOLUMN = 'furnColumn'),
      (e.FURNFLUE = 'furnFlue'),
      (e.LINE = 'line'),
      (e.SEFTLINE = 'seftline'),
      (e.ARCH =
        (((n = {})[e.POINT] = A.i18n.t('modules.model.point')),
        (n[e.DOOR] = A.i18n.t('modules.model.door')),
        (n[e.DOUBLEDOOR] = A.i18n.t('modules.model.double_door')),
        (n[e.COLUMN] = A.i18n.t('modules.model.column')),
        (n[e.CASEMENT] = A.i18n.t('modules.model.casement')),
        (n[e.SLIDEDOOR] = A.i18n.t('modules.model.slideDoor')),
        (n[e.TAGGING] = A.i18n.t('modules.model.tagging')),
        (n[e.GROUNDCASE] = A.i18n.t('modules.model.groundCase')),
        (n[e.BAYCASE] = A.i18n.t('modules.model.bayCase')),
        (n[e.FURNCOLUMN] = A.i18n.t('modules.model.furnColumn')),
        (n[e.FURNFLUE] = A.i18n.t('modules.model.furnFlue')),
        (n[e.LINE] = A.i18n.t('modules.model.line')),
        (n[e.SEFTLINE] = A.i18n.t('modules.model.line')),
        n)),
      (e.DEFAULT =
        (((g = {})[e.DOOR] = { width: 0.8, height: 2 }),
        (g[e.DOUBLEDOOR] = { width: 1.6, height: 2 }),
        (g[e.SLIDEDOOR] = { width: 1.5, height: 2 }),
        (g[e.CASEMENT] = { width: 0.8, height: 1.2 }),
        (g[e.BAYCASE] = { width: 1.5, height: 1.2 }),
        (g[e.GROUNDCASE] = { width: 1.5, height: 2 }),
        (g[e.COLUMN] = { width: 0.65, tick: 0.65 }),
        (g[e.FURNCOLUMN] = { width: 0.65, tick: 0.65 }),
        (g[e.FURNFLUE] = { width: 0.65, tick: 0.65 }),
        (g[e.LINE] = { width: 0.5 }),
        g))
  },
  function (t, e, i) {
    var n =
      (this && this.__assign) ||
      function () {
        return (n =
          Object.assign ||
          function (t) {
            for (var e, i = 1, n = arguments.length; i < n; i++)
              for (var g in (e = arguments[i]))
                Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
            return t
          }).apply(this, arguments)
      }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var g = i(29),
      A = i(1),
      r = i(3),
      o = 0,
      C = { enter: 'mouseenter', leave: 'mouseleave', click: 'click', drag: 'mousedown' },
      I = (function () {
        function t(e) {
          var i = this
          ;(this.zIndex = 0),
            (this.render = e.renderer),
            (this.id = ++o),
            (this.__state = new g.State(n(n({}, e), { select: !1 }), {
              afferent: this,
              notice: function () {
                for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
                i.notice && i.notice.apply(i, t), i.update && i.update()
                var n = Object.keys(t[0].args)
                if ((~n.indexOf('x') || ~n.indexOf('y')) && i.wallPos)
                  try {
                    i.wallPos()
                  } catch (t) {}
                ~n.indexOf('select') && i.wallSelect && i.wallSelect()
              },
              childAttr: A.STATE_CHILD,
              intercept:
                this.intercept &&
                function () {
                  for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
                  return i.intercept.apply(i, t)
                }
            })),
            this.__state.bindDataChange(),
            g.getter(this, this.__state),
            g.setter(this, this.__state),
            Object.defineProperties(this, {
              multiple: {
                get: function () {
                  return i.renderer.props.multiple / i.renderer.props.scale
                }
              }
            }),
            t.examples.get(this.renderer).push(this),
            this.grentNode &&
              ((this.real = this.grentNode()),
              this.setHoverStyle &&
                this.setUnHoverStyle &&
                ((this.enter = function () {
                  ;(i.real.style.cursor = 'pointer'), i.setHoverStyle()
                }),
                (this.leave = function () {
                  i.select || (i.setUnHoverStyle(), (i.real.style.cursor = 'inherit'))
                }),
                (this.wallSelect = function () {
                  i.select
                    ? ((i.real.style.cursor = 'pointer'), i.setHoverStyle())
                    : ((i.real.style.cursor = 'inherit'), i.setUnHoverStyle())
                })),
              this.listen()),
            (this.real.id = 'ele' + o.toString()),
            this.nextTick(function () {
              try {
                i.update()
              } catch (t) {}
            })
        }
        return (
          (t.prototype.intercept = function (t, e, i, n) {
            return e
          }),
          (t.prototype.changeSelect = function (e) {
            var i = this
            this.select !== e &&
              ((this.select = e),
              this.wallSelect && this.wallSelect(),
              this.update && this.update(),
              e &&
                t.examples.get(this.renderer).forEach(function (t) {
                  t !== i && t.select && t.changeSelect(!1)
                }))
          }),
          (t.prototype.click = function (t) {
            var e = this
            this.changeSelect(!0),
              this.renderer.processing.attrs.forEach(function (t) {
                var i = e.renderer.processing[t].find(function (t) {
                  return t.ele === e
                })
                i && console.log(i)
              }),
              t.stopPropagation()
          }),
          (t.prototype.nextTick = function (t) {
            this.__state.nextTick(t)
          }),
          (t.prototype.nextChange = function (t) {
            this.__state.nextChange(t)
          }),
          (t.prototype.listen = function () {
            ;(this.__draging = !1),
              this.bindEvent('enter'),
              this.bindEvent('leave'),
              this.bindEvent('click'),
              this.bindEvent('drag')
          }),
          (t.prototype.unEvent = function () {
            this.unbindEvent('enter'),
              this.unbindEvent('leave'),
              this.unbindEvent('click'),
              this.unbindEvent('drag')
          }),
          (t.prototype.destroy = function () {
            ;(this.__destroy = !0), this.unEvent()
            var e = t.examples.get(this.renderer)
            ~e.indexOf(this) && (e.splice(e.indexOf(this), 1), this.renderer.remove(this))
          }),
          (t.prototype.bindDrag = function (t) {
            var e = this,
              i = { x: t.offsetX, y: t.offsetY }
            this.dragStart && this.dragStart(t, i)
            var n = r.throttle(function (t) {
                var n = { x: t.offsetX, y: t.offsetY }
                ;(e.__draging = !0),
                  e.drag({ x: n.x - i.x, y: n.y - i.y }, n, i),
                  t.preventDefault()
              }, 10),
              g = function (t) {
                document.documentElement.removeEventListener('mousemove', n, !1),
                  document.documentElement.removeEventListener('mouseup', g, !1),
                  (e.__draging = !1),
                  e.dragEnd && e.dragEnd({ x: t.offsetX, y: t.offsetY }),
                  e.__leave && e.leave()
              }
            document.documentElement.addEventListener('mousemove', n, !1),
              document.documentElement.addEventListener('mouseup', g, !1),
              t.preventDefault()
          }),
          (t.prototype.bindEvent = function (e) {
            var i = this
            if (this[e]) {
              var n = '__bind_' + e
              this[n] && this.unbindEvent(e)
              var g =
                'drag' === e
                  ? this.bindDrag.bind(this)
                  : function (n) {
                      var g = t.examples.get(i.renderer)
                      ;('enter' === e &&
                        g.some(function (t) {
                          return t.__draging
                        })) ||
                        (!i.__draging || ('enter' !== e && 'leave' !== e)
                          ? i[e](n)
                          : (i.__leave = 'leave' === e))
                    }
              this.real.addEventListener(C[e], g, !1), (this[n] = g)
            }
          }),
          (t.prototype.unbindEvent = function (t) {
            this['__bind_' + t] && this.real.removeEventListener(C[t], this['__bind_' + t], !1)
          }),
          (t.examples = new Map()),
          (t.multiples = new Map()),
          (t.update = function (e, i) {
            void 0 === i && (i = [])
            var n = t.examples.get(e).concat(i)
            ;(n = Array.from(new Set(n))).forEach(function (t) {
              t.update && t.update()
            })
          }),
          (t.init = function (e) {
            t.examples.set(e, [])
          }),
          t
        )
      })()
    e.CADElement = I
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.getRange = function (t) {
        var e = Math.abs(Math.min.apply(Math, t)),
          i = Math.abs(Math.max.apply(Math, t))
        return Math.ceil(e + i)
      }),
      (e.getMapMultipleWH = function (t, e, i, n) {
        void 0 === n && (n = 10)
        var g = Math.abs(
            Math.min.apply(
              Math,
              i.vertex.map(function (t) {
                return t.x
              })
            )
          ),
          A = Math.abs(
            Math.max.apply(
              Math,
              i.vertex.map(function (t) {
                return t.x
              })
            )
          ),
          r = Math.abs(
            Math.min.apply(
              Math,
              i.vertex.map(function (t) {
                return t.y
              })
            )
          ),
          o = Math.abs(
            Math.max.apply(
              Math,
              i.vertex.map(function (t) {
                return t.y
              })
            )
          ),
          C = Math.ceil(g + A) / t,
          I = Math.ceil(r + o) / e,
          s = C > I ? C : I,
          a = t * s,
          l = e * s
        return {
          width: a,
          height: l,
          multiple: s,
          left: (g / (g + A)) * a,
          top: (r / (r + o)) * l,
          scale: 1 - (2 * n * s) / a
        }
      }),
      (e.debounce = function (t, e, i, n) {
        void 0 === e && (e = 16)
        var g = null,
          A = [],
          r = 0
        return function () {
          for (var o = [], C = 0; C < arguments.length; C++) o[C] = arguments[C]
          r || (n && n()),
            r++,
            A.push(o),
            clearTimeout(g),
            (g = setTimeout(function () {
              i ? (t(i(A)), (A = [])) : t.apply(void 0, o), (r = 0)
            }, e))
        }
      }),
      (e.throttle = function (t, e) {
        var i = null
        return function () {
          for (var n = [], g = 0; g < arguments.length; g++) n[g] = arguments[g]
          var A = +new Date()
          ;(A - i > e || !i) && (t.apply(void 0, n), (i = A))
        }
      }),
      (e.getType = function (t) {
        return Object.prototype.toString.call(t).slice(8, -1)
      }),
      (e.type = {})
    ;[
      'String',
      'Number',
      'Boolean',
      'Undefined',
      'Null',
      'Object',
      'Function',
      'Array',
      'Date',
      'RegExp'
    ].forEach(function (t) {
      return (e.type['is' + t] = function (i) {
        return e.getType(i) === t
      })
    }),
      (e.convertBase64UrlToBlob = function (t) {
        for (
          var e = t.split(','),
            i = e[0].match(/:(.*?);/)[1],
            n = atob(e[1]),
            g = n.length,
            A = new Uint8Array(g);
          g--;

        )
          A[g] = n.charCodeAt(g)
        return new Blob([A], { type: i })
      }),
      (e.strEascpeLen = function (t) {
        for (var e = t, i = e.length, n = 0; n < i; n++) {
          ~escape(e.substr(n, 1)).indexOf('%u') && i++
        }
        return i
      })
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      C =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var I = i(2),
      s = C(i(32)),
      a = i(0),
      l = i(3),
      u = (function (t) {
        function e(i) {
          var n = i.minWidth,
            g = void 0 === n ? 0.1 : n,
            o = i.deleteWidth,
            C = void 0 === o ? 0.05 : o,
            I = i.show,
            a = void 0 === I || I,
            l = r(i, ['minWidth', 'deleteWidth', 'show']),
            u = t.call(this, A(A({}, l), { show: a })) || this
          return (
            (u.zIndex = 1),
            (u.linePoints = u.linePoints.map(function (t) {
              var e = new s.default(A(A({}, t), { renderer: u.renderer }), u.attachment)
              return (
                (e.click = function () {
                  return u.changeSelect(!0)
                }),
                e
              )
            })),
            (u.minWidth = g),
            (u.deleteWidth = C),
            u.real.setAttribute('class', 'variable'),
            e.attaArch.get(u.attachment)
              ? e.attaArch.get(u.attachment).push(u)
              : e.attaArch.set(u.attachment, [u]),
            u.attachment.update(),
            u
          )
        }
        return (
          g(e, t),
          (e.prototype.setAttachment = function (t) {
            if (
              (void 0 === t && (t = this.attachment),
              console.error('set new attach'),
              this.attachment !== t)
            ) {
              var i = e.attaArch.get(this.attachment),
                n = e.attaArch.get(t) || e.attaArch.set(t, []).get(t)
              i.splice(i.indexOf(this), 1),
                n.push(this),
                this.linePoints.forEach(function (e) {
                  e.line = t
                }),
                (this.attachment = t)
            }
          }),
          (e.prototype.checkPointBorder = function (t, e) {
            return (
              void 0 === e && (e = this.attachment),
              a.lineDis({ points: [e.points[0], t] }) < 0.08 ||
                a.lineDis({ points: [e.points[1], t] }) < 0.08 ||
                void 0
            )
          }),
          (e.prototype.checkPoint = function (t, e) {
            return void 0 === e && (e = this.attachment), !a.isContainPoint(e, t)
          }),
          (e.prototype.checkWidth = function (t) {
            return void 0 === t && (t = this.linePoints), a.lineDis({ points: t }) < this.minWidth
          }),
          (e.prototype.checkPointOverlapAttaArch = function (t) {
            return (
              void 0 === t && (t = e.attaArch.get(this.attachment)),
              !(t.length <= 1) &&
                t.some(function (e) {
                  return t.some(function (t) {
                    return (
                      e !== t &&
                      (a.isContainPoint({ points: t.linePoints }, e.linePoints[0]) ||
                        a.isContainPoint({ points: t.linePoints }, e.linePoints[1]))
                    )
                  })
                })
            )
          }),
          (e.prototype.checkLineAllPoint = function (t, i) {
            return (
              void 0 === t && (t = e.attaArch.get(this.attachment)),
              void 0 === i && (i = this.attachment),
              0 !== t.length &&
                t.some(function (t) {
                  return (
                    !a.isContainPoint(i, t.linePoints[0]) || !a.isContainPoint(i, t.linePoints[1])
                  )
                })
            )
          }),
          (e.prototype.getLineNewAll = function (t, i) {
            void 0 === t && (t = this.linePoints), void 0 === i && (i = this)
            var n = o(e.attaArch.get(this.attachment))
            return n.splice(n.indexOf(i), 1, { linePoints: t }), n
          }),
          (e.prototype.qualified = function (t, e) {
            return (
              void 0 === t && (t = this.linePoints),
              void 0 === e && (e = this.attachment),
              !(
                this.checkPointBorder(t[0], e) ||
                this.checkPointBorder(t[0], e) ||
                this.checkPoint(t[0], e) ||
                this.checkPoint(t[1], e) ||
                this.checkWidth(t)
              )
            )
          }),
          (e.prototype.lineChange = function (t, e) {
            var i = this
            void 0 === t && (t = this.attachment.points[0]), void 0 === e && (e = t)
            var n = e.x,
              g = e.y,
              r = this.attachment.points.findIndex(function (e) {
                return e === t
              }),
              o = {
                points:
                  0 === r
                    ? [{ x: n, y: g }, this.attachment.points[1]]
                    : [this.attachment.points[0], { x: n, y: g }]
              },
              C = a.lineDis({ points: [o.points[r], this.linePoints[0]] }),
              I = a.getDisPointLinePoints(o, o.points[r], C),
              l = I[0],
              u = I[1],
              c =
                a.lineDis({ points: [l, this.linePoints[0]] }) >
                a.lineDis({ points: [u, this.linePoints[0]] })
                  ? u
                  : l,
              h = a.lineDis({ points: [o.points[r], this.linePoints[1]] }),
              p = a.getDisPointLinePoints(o, o.points[r], h),
              d = p[0],
              f = p[1],
              y =
                a.lineDis({ points: [d, this.linePoints[1]] }) >
                a.lineDis({ points: [f, this.linePoints[1]] })
                  ? f
                  : d,
              v = (
                a.lineDis({ points: [this.linePoints[0], c] }) <
                a.lineDis({ points: [this.linePoints[0], y] })
                  ? [c, y]
                  : [y, c]
              ).map(function (t) {
                var e = s.default.prototype.getLineInsertPoint.call(
                  A(A({}, i.linePoints[0]), { line: o }),
                  t
                )
                return a.pointLineDis(i.attachment, e) > 0.1
                  ? a.lineDis({ points: [i.attachment.points[0], e] }) <
                    a.lineDis({ points: [i.attachment.points[1], e] })
                    ? { x: i.attachment.points[0].x, y: i.attachment.points[0].y }
                    : { x: i.attachment.points[1].x, y: i.attachment.points[1].y }
                  : e
              })
            return { line: o, points: v }
          }),
          (e.prototype.pointChange = function (t, e) {
            var i = e.x,
              n = e.y
            return 0 ===
              this.linePoints.findIndex(function (e) {
                return e === t
              })
              ? [{ x: i, y: n }, this.linePoints[1]]
              : [this.linePoints[0], { x: i, y: n }]
          }),
          (e.prototype.lineChangeCheck = function (t, e, i) {
            return (
              this.qualified(t, e) &&
              !this.checkLineAllPoint(i, e) &&
              !this.checkPointOverlapAttaArch(i)
            )
          }),
          (e.prototype.intercept = function (t, i, n) {
            var g,
              A = this,
              r = i.x,
              o = i.y
            if (l.type.isUndefined(r) || l.type.isUndefined(o)) return !0
            if (
              (g = this.attachment.points.find(function (e) {
                return t.some(function (t) {
                  return t === e
                })
              }))
            ) {
              var C = this.lineChange(g, { x: r, y: o }),
                I = C.points,
                s =
                  (C.line,
                  t.filter(function (t) {
                    return t instanceof e && t.attachment.id === A.attachment.id
                  }))
              return (
                (s = Array.from(new Set(s))),
                this.attachment.nextTick(function () {
                  if (!A.attachment || !A.attachment.points) return A.destroy()
                  var t = A.lineChange(g, { x: g.x, y: g.y }),
                    e = t.points
                  t.line
                  e.forEach(function (t, e) {
                    t && ((A.linePoints[e].x = t.x), (A.linePoints[e].y = t.y))
                  }),
                    A.nextTick(function () {
                      A.linePoints &&
                        A.linePoints.length &&
                        a.lineDis({ points: A.linePoints }) <= A.deleteWidth &&
                        A.destroy()
                    })
                }),
                this.attachment.update(),
                { __points: I }
              )
            }
            t.findIndex(function (t) {
              return A.linePoints.some(function (e) {
                return e === t
              })
            })
          }),
          (e.prototype.dragEnd = function () {
            var t = this
            this.nextTick(function () {
              a.lineDis({ points: t.linePoints }) <= t.deleteWidth && t.destroy()
            })
          }),
          (e.prototype.destroy = function () {
            var i = e.attaArch.get(this.attachment)
            i &&
              (i.splice(i.indexOf(this), 1),
              console.log(this.linePoints[0], this),
              this.linePoints[0] && this.linePoints[0].destroy && this.linePoints[0].destroy(),
              this.linePoints[1] && this.linePoints[1].destroy && this.linePoints[1].destroy(),
              (this.attachment = null),
              (this.linePoints = null),
              (this.update = null),
              t.prototype.destroy.call(this),
              this.attachment.update())
          }),
          (e.attaArch = new Map()),
          e
        )
      })(I.CADElement)
    e.default = u
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__awaiter) ||
        function (t, e, i, n) {
          return new (i || (i = Promise))(function (g, A) {
            function r(t) {
              try {
                C(n.next(t))
              } catch (t) {
                A(t)
              }
            }
            function o(t) {
              try {
                C(n.throw(t))
              } catch (t) {
                A(t)
              }
            }
            function C(t) {
              var e
              t.done
                ? g(t.value)
                : ((e = t.value),
                  e instanceof i
                    ? e
                    : new i(function (t) {
                        t(e)
                      })).then(r, o)
            }
            C((n = n.apply(t, e || [])).next())
          })
        },
      o =
        (this && this.__generator) ||
        function (t, e) {
          var i,
            n,
            g,
            A,
            r = {
              label: 0,
              sent: function () {
                if (1 & g[0]) throw g[1]
                return g[1]
              },
              trys: [],
              ops: []
            }
          return (
            (A = { next: o(0), throw: o(1), return: o(2) }),
            'function' == typeof Symbol &&
              (A[Symbol.iterator] = function () {
                return this
              }),
            A
          )
          function o(A) {
            return function (o) {
              return (function (A) {
                if (i) throw new TypeError('Generator is already executing.')
                for (; r; )
                  try {
                    if (
                      ((i = 1),
                      n &&
                        (g =
                          2 & A[0]
                            ? n.return
                            : A[0]
                            ? n.throw || ((g = n.return) && g.call(n), 0)
                            : n.next) &&
                        !(g = g.call(n, A[1])).done)
                    )
                      return g
                    switch (((n = 0), g && (A = [2 & A[0], g.value]), A[0])) {
                      case 0:
                      case 1:
                        g = A
                        break
                      case 4:
                        return r.label++, { value: A[1], done: !1 }
                      case 5:
                        r.label++, (n = A[1]), (A = [0])
                        continue
                      case 7:
                        ;(A = r.ops.pop()), r.trys.pop()
                        continue
                      default:
                        if (
                          !(g = (g = r.trys).length > 0 && g[g.length - 1]) &&
                          (6 === A[0] || 2 === A[0])
                        ) {
                          r = 0
                          continue
                        }
                        if (3 === A[0] && (!g || (A[1] > g[0] && A[1] < g[3]))) {
                          r.label = A[1]
                          break
                        }
                        if (6 === A[0] && r.label < g[1]) {
                          ;(r.label = g[1]), (g = A)
                          break
                        }
                        if (g && r.label < g[2]) {
                          ;(r.label = g[2]), r.ops.push(A)
                          break
                        }
                        g[2] && r.ops.pop(), r.trys.pop()
                        continue
                    }
                    A = e.call(t, r)
                  } catch (t) {
                    ;(A = [6, t]), (n = 0)
                  } finally {
                    i = g = 0
                  }
                if (5 & A[0]) throw A[1]
                return { value: A[0] ? A[1] : void 0, done: !0 }
              })([A, o])
            }
          }
        },
      C =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      I =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      s =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var a = s(i(6)),
      l = i(3),
      u = i(0),
      c = (function (t) {
        function e(i) {
          var n = i.hover,
            g = C(i, ['hover']),
            A = this
          if (!g.renderer) throw g
          return (
            n ||
              (n = {
                fillColor: e.Setting.get(g.renderer).fillColor,
                storkeColor: e.Setting.get(g.renderer).storkeColor
              }),
            ((A = t.call(this, g) || this).hover = n),
            (A.hover.r = A.hover.r || A.init.r),
            A.real.setAttribute('class', 'variable'),
            (A.adopt = !1),
            (A.disable = !1),
            (A.zIndex = 2),
            A
          )
        }
        return (
          g(e, t),
          (e.prototype.setHoverStyle = function () {
            ;(this.fillColor = this.hover.fillColor),
              (this.strokeWidth = this.hover.r),
              (this.storkeColor = this.hover.storkeColor)
          }),
          (e.prototype.setUnHoverStyle = function () {
            ;(this.fillColor = this.init.fillColor),
              (this.strokeWidth = this.init.strokeWidth),
              (this.storkeColor = this.init.storkeColor)
          }),
          (e.prototype.dragStart = function () {
            this.dragStartPoint = { x: this.x, y: this.y }
          }),
          (e.prototype.drag = function (t) {
            if (this.disable || (0 === t.x && 0 === t.y)) return !1
            ;(this.x = this.dragStartPoint.x + t.x * this.multiple),
              (this.y = this.dragStartPoint.y + t.y * this.multiple)
          }),
          (e.prototype.update = function () {
            var e = this
            t.prototype.update.call(this),
              this.renderer.processing.lines
                .filter(function (t) {
                  return ~t.ele.points.indexOf(e)
                })
                .map(function (t) {
                  return t.ele
                })
                .forEach(function (t) {
                  t.showAngle = e.hover && e.fillColor === e.hover.fillColor
                })
          }),
          (e.prototype.intercept = function (t, e, i) {
            var n = this,
              g = e.x,
              r = e.y
            e.select
            if (l.type.isUndefined(g) || l.type.isUndefined(r)) return !0
            if (this.dragStartPoint) {
              for (
                var o,
                  C = { x: g, y: r },
                  s = this.renderer.processing.lines.map(function (t) {
                    return t.ele
                  }),
                  a = s
                    .filter(function (t) {
                      return ~t.points.indexOf(n)
                    })
                    .map(function (t) {
                      var e = t.points.indexOf(n),
                        i = Number(!e),
                        g = s.filter(function (e) {
                          return ~e.points.indexOf(t.points[i]) && t !== e
                        }),
                        A = I(t.points)
                      return (A[e] = C), I([{ points: A }], g)
                    }),
                  c = function (t) {
                    var e = a[t]
                    if (e.length < 2) return 'continue'
                    var i = e.slice(1).map(function (t) {
                        var i = u.getAngle(e[0], t)
                        return i > 90 && (i = 180 - i), { line: t, angle: u.getAngle(e[0], t) }
                      }),
                      n = i
                        .map(function (t) {
                          return A(A({}, t), { angle: t.angle > 90 ? 180 - t.angle : t.angle })
                        })
                        .sort(function (t, e) {
                          return t.angle - e.angle
                        })
                    if (n[0].angle <= 5) {
                      var g = n[0].line
                      o = u.getLinePoint(g, o || C)
                    }
                    var r = i.find(function (t) {
                      var e = t.angle
                      return e > 85 && e < 95 && 90 !== e
                    })
                    r &&
                      (o = u.getVectorPosPoint(
                        u.verticalLine(r.line),
                        r.line.points.find(function (t) {
                          return ~e[0].points.indexOf(t)
                        }),
                        o || C
                      ))
                  },
                  h = 0;
                h < a.length;
                h++
              )
                c(h)
              return o
            }
          }),
          (e.prototype.dragEnd = function () {
            return r(this, void 0, void 0, function () {
              var t,
                e,
                n,
                g,
                A,
                r,
                C = this
              return o(this, function (o) {
                switch (o.label) {
                  case 0:
                    return (
                      delete this.dragStartPoint,
                      (t = i(4).default),
                      (e = this).stopDragEnd || e.dragEnding
                        ? [2]
                        : ((e.dragEnding = !0),
                          (n =
                            e.__join_lines &&
                            e.__join_lines.find(function (e) {
                              return !(
                                u.lineDis({ points: e.points }) > 0.1 ||
                                (t.attaArch.get(e) && t.attaArch.get(e).length)
                              )
                            }))
                            ? [4, n.judgeMerge()]
                            : [3, 4])
                    )
                  case 1:
                    return (g = o.sent())
                      ? [
                          4,
                          new Promise(function (t) {
                            ;(g.adopt = !1),
                              n.nextTick(function () {
                                g.nextTick(function () {
                                  n.destroy(), n.destoryPoint(g), t()
                                })
                              })
                          })
                        ]
                      : [3, 3]
                  case 2:
                    o.sent(), (o.label = 3)
                  case 3:
                    return [3, 8]
                  case 4:
                    ;(A = this.renderer.processing.lines
                      .map(function (t) {
                        return t.ele
                      })
                      .filter(function (t) {
                        return ~t.points.indexOf(C)
                      })),
                      (r = 0),
                      (o.label = 5)
                  case 5:
                    return r < A.length ? [4, A[r].judgePoint()] : [3, 8]
                  case 6:
                    o.sent(), (o.label = 7)
                  case 7:
                    return r++, [3, 5]
                  case 8:
                    return (e.dragEnding = !1), this.renderer.processing.depLines(), [2]
                }
              })
            })
          }),
          (e.Setting = new Map()),
          e
        )
      })(a.default)
    e.default = c
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var o = i(2),
      C = i(1),
      I = 1,
      s = (function (t) {
        function e(i) {
          var n = i.strokeWidth,
            g = void 0 === n ? 0 : n,
            o = i.r,
            C = void 0 === o ? 4 : o,
            I = i.r1,
            s = void 0 === I ? 4 : I,
            a = i.fillColor,
            l = i.storkeColor,
            u = r(i, ['strokeWidth', 'r', 'r1', 'fillColor', 'storkeColor']),
            c = this
          return (
            (a = a || e.Setting.get(u.renderer).fillColor),
            (l = l || e.Setting.get(u.renderer).storkeColor),
            ((c =
              t.call(this, A({ storkeColor: l, fillColor: a, r: C, r1: s, strokeWidth: g }, u)) ||
              this).init = { strokeWidth: g, r: C, r1: s, fillColor: a, storkeColor: l }),
            c.update(),
            c
          )
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = document.createElementNS(C.SVGURI, 'ellipse')
            return t.setAttribute('_id', (I++).toString()), t
          }),
          (e.prototype.update = function () {
            var t = this.r * this.multiple,
              e = this.r1 * this.multiple,
              i = this.strokeWidth * this.multiple
            try {
              this.real.setAttribute('cx', this.x.toString()),
                this.real.setAttribute('cy', this.y.toString()),
                this.real.setAttribute('fill', this.fillColor),
                this.real.setAttribute('rx', t.toString()),
                this.real.setAttribute('ry', e.toString()),
                this.real.setAttribute('stroke-width', i.toString()),
                this.real.setAttribute('stroke', this.storkeColor)
            } catch (t) {
              console.error(this.x)
            }
          }),
          (e.prototype.destroy = function () {
            t.prototype.destroy.call(this)
          }),
          (e.fillColor = 'rgb(0, 200, 175)'),
          (e.storkeColor = 'green'),
          (e.Setting = new Map()),
          e
        )
      })(o.CADElement)
    e.default = s
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      C =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var I = i(1),
      s = C(i(5)),
      a = i(2),
      l = C(i(4)),
      u = i(3),
      c = i(0),
      h = (function (t) {
        function e(e) {
          var i = e.points,
            n = e.fill,
            g = void 0 === n ? 'rgba(0,0,0,0)' : n,
            o = e.stroke,
            C = void 0 === o ? 'rgba(255,255,255,0.5)' : o,
            I = e.width,
            a = void 0 === I ? 1 : I,
            l = e.hover,
            u = r(e, ['points', 'fill', 'stroke', 'width', 'hover']),
            h = this,
            p = [i[0], i[1]],
            d = i.slice(2).map(function (t) {
              return new s.default(A(A({}, t), { renderer: u.renderer }))
            }),
            f = { fill: g, stroke: C, width: a }
          return (
            (l =
              l ||
              A(A({}, f), {
                fill: 'rgba(243, 255, 0, 0.8)',
                strokeBorder: 'rgba(243, 255, 0, 0.8)'
              })),
            ((h =
              t.call(this, A(A({ linePoints: p, hover: l, otherPoints: d }, f), u)) ||
              this).points = h.linePoints.concat(h.otherPoints)),
            (h.selectLineIndex = -1),
            (h.init = f),
            (h.cacheVers = [
              c.lineVector({ points: [h.points[1], h.points[2]] }),
              c.lineVector({ points: [h.points[0], h.points[3]] })
            ]),
            (h.__enterHandle = function () {
              h.hasTriggerEvent() ||
                (~h.selectLineIndex && !h.select) ||
                Object.keys(h.hover).forEach(function (t) {
                  return (h[t] = h.hover[t])
                })
            }),
            (h.__leaveHandle = function () {
              h.hasTriggerEvent() ||
                h.select ||
                Object.keys(h.init).forEach(function (t) {
                  return (h[t] = h.init[t])
                })
            }),
            (h.__lineEnter = function (t) {
              h.hasTriggerEvent() ||
                ~h.selectLineIndex ||
                h.__draging ||
                ((h.selectLineIndex = h.lines.indexOf(t.target)), h.update())
            }),
            (h.__lineLeave = function (t) {
              h.hasTriggerEvent() || h.__draging || ((h.selectLineIndex = -1), h.update())
            }),
            (h.__lineClick = function (t) {
              return t.stopPropagation()
            }),
            h
          )
        }
        return (
          g(e, t),
          (e.prototype.updateFirstLinePoints = function () {
            this.firstLinePoints = this.attachment.points.map(function (t) {
              return { x: t.x, y: t.y }
            })
          }),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(I.SVGURI, 'g')
            return (
              (this.wrapPath = document.createElementNS(I.SVGURI, 'path')),
              (this.leftLine = document.createElementNS(I.SVGURI, 'path')),
              (this.rightLine = document.createElementNS(I.SVGURI, 'path')),
              (this.bottomLeft = document.createElementNS(I.SVGURI, 'path')),
              (this.topLine = document.createElementNS(I.SVGURI, 'path')),
              (this.overLine1 = document.createElementNS(I.SVGURI, 'path')),
              (this.overLine2 = document.createElementNS(I.SVGURI, 'path')),
              (this.lines = [
                this.leftLine,
                this.rightLine,
                this.topLine,
                this.overLine1,
                this.overLine2,
                this.bottomLeft
              ]),
              this.wrapPath.setAttribute('stroke', 'rgba(0,0,0,0)'),
              this.nextTick(function () {
                ;(t.points = t.linePoints.concat(t.otherPoints)),
                  t.addEvent(),
                  t.updateThickness(),
                  t.updateFirstLinePoints()
              }),
              e.appendChild(this.overLine1),
              e.appendChild(this.overLine2),
              e.appendChild(this.wrapPath),
              e.appendChild(this.leftLine),
              e.appendChild(this.topLine),
              e.appendChild(this.rightLine),
              e.appendChild(this.bottomLeft),
              e
            )
          }),
          (e.prototype.update = function () {
            var t = this
            if (this.points) {
              var e = this.width * this.multiple
              this.lines.forEach(function (i) {
                i.setAttribute('stroke-width', e.toString()),
                  i.setAttribute('stroke-linecap', 'round'),
                  i.setAttribute('stroke', t.stroke)
              }),
                u.type.isNumber(this.hoverIndex)
                  ? this.lines[this.hoverIndex].setAttribute('stroke', this.hover.strokeBorder)
                  : (this.wrapPath.setAttribute('stroke-width', '0'),
                    this.wrapPath.setAttribute('fill', this.fill),
                    this.wrapPath.setAttribute(
                      'd',
                      'M ' +
                        this.points
                          .map(function (t) {
                            return t.x + ' ' + t.y
                          })
                          .join(' L ')
                    )),
                isNaN(this.points[0].x) ||
                  (this.overLine1.setAttribute(
                    'd',
                    'M ' +
                      this.points[0].x +
                      ' ' +
                      this.points[0].y +
                      ' L ' +
                      this.points[2].x +
                      ' ' +
                      this.points[2].y
                  ),
                  this.overLine2.setAttribute(
                    'd',
                    'M ' +
                      this.points[3].x +
                      ' ' +
                      this.points[3].y +
                      ' L ' +
                      this.points[1].x +
                      ' ' +
                      this.points[1].y
                  ),
                  this.topLine.setAttribute(
                    'd',
                    'M ' +
                      this.points[3].x +
                      ' ' +
                      this.points[3].y +
                      ' L ' +
                      this.points[2].x +
                      ' ' +
                      this.points[2].y
                  ),
                  this.leftLine.setAttribute(
                    'd',
                    'M ' +
                      this.points[0].x +
                      ' ' +
                      this.points[0].y +
                      ' L ' +
                      this.points[3].x +
                      ' ' +
                      this.points[3].y
                  ),
                  this.rightLine.setAttribute(
                    'd',
                    'M ' +
                      this.points[2].x +
                      ' ' +
                      this.points[2].y +
                      ' L ' +
                      this.points[1].x +
                      ' ' +
                      this.points[1].y
                  ),
                  this.bottomLeft.setAttribute(
                    'd',
                    'M ' +
                      this.points[0].x +
                      ' ' +
                      this.points[0].y +
                      ' L ' +
                      this.points[1].x +
                      ' ' +
                      this.points[1].y
                  ),
                  ~this.selectLineIndex &&
                    this.lines[this.selectLineIndex].setAttribute(
                      'stroke',
                      this.hover.strokeBorder
                    ),
                  this.attachment.update())
            }
          }),
          (e.prototype.hasTriggerEvent = function () {
            return a.CADElement.examples.get(this.renderer).some(function (t) {
              return t.__draging
            })
          }),
          (e.prototype.wallSelect = function () {
            var t = this
            this.select
              ? Object.keys(this.hover).forEach(function (e) {
                  return (t[e] = t.hover[e])
                })
              : Object.keys(this.init).forEach(function (e) {
                  return (t[e] = t.init[e])
                })
          }),
          (e.prototype.addEvent = function () {
            var t = this
            this.wrapPath.addEventListener('mouseenter', this.__enterHandle, !1),
              this.wrapPath.addEventListener('mouseleave', this.__leaveHandle, !1),
              this.lines.forEach(function (e) {
                e.addEventListener('mouseenter', t.__lineEnter, !1),
                  e.addEventListener('mouseleave', t.__lineLeave, !1),
                  e.addEventListener('click', t.__lineClick, !1)
              })
          }),
          (e.prototype.updateThickness = function (t) {
            void 0 === t && (t = [this.points[0], this.points[3]]),
              (this.thickness = c.lineDis({ points: t }))
          }),
          (e.prototype.checkPeripheral = function (t) {
            return void 0 === t && (t = this.points), !0
          }),
          (e.prototype.getPeripheral = function (t) {
            void 0 === t && (t = this.points)
            var e = {
                x: this.firstLinePoints[0].x - this.attachment.points[0].x,
                y: this.firstLinePoints[0].y - this.attachment.points[0].y
              },
              i = {
                x: this.firstLinePoints[1].x - this.attachment.points[1].x,
                y: this.firstLinePoints[1].y - this.attachment.points[1].y
              },
              n = e.x || e.y ? e : i,
              g = { x: t[3].x + n.x, y: t[3].y + n.y },
              A = { x: t[2].x + n.x, y: t[2].y + n.y },
              r = { points: [t[0], t[1]] },
              C = c.getDisVerticalLinePoints(r, t[0], this.thickness).sort(function (t, e) {
                return c.lineDis({ points: [t, g] }) - c.lineDis({ points: [e, g] })
              })[0],
              I = c.getDisVerticalLinePoints(r, t[1], this.thickness).sort(function (t, e) {
                return c.lineDis({ points: [t, A] }) - c.lineDis({ points: [e, A] })
              })[0],
              s = c.getDisPointLinePoints({ points: [t[0], C] }, t[0], this.thickness),
              a = s[0],
              l = s[1]
            C = c.lineDis({ points: [a, t[3]] }) > c.lineDis({ points: [l, t[3]] }) ? l : a
            var u = c.getDisPointLinePoints({ points: [t[1], I] }, t[1], this.thickness),
              h = u[0],
              p = u[1],
              d = null
            return (
              c.lineDis({ points: [h, t[2]] }) > c.lineDis({ points: [p, t[2]] })
                ? ((I = p), (d = h))
                : ((I = h), (d = p)),
              Math.abs(c.lineDis({ points: [I, C] }) - c.lineDis({ points: [t[0], t[1]] })) >
                0.01 && (I = d),
              ((t = o(t))[2] = I),
              (t[3] = C),
              this.checkPeripheral(t) ? [I, C] : []
            )
          }),
          (e.prototype.updatePeripheral = function (t) {
            void 0 === t && (t = this.points)
            var e = this.getPeripheral(t)
            return (
              (this.points[2].x = e[0].x),
              (this.points[2].y = e[0].y),
              (this.points[3].x = e[1].x),
              (this.points[3].y = e[1].y),
              (this.readyPoints = t.slice(0, 2).concat(e)),
              !0
            )
          }),
          (e.prototype.intercept = function (e, i, n) {
            var g,
              r,
              C,
              I,
              s = i.x,
              a = i.y
            if (u.type.isUndefined(s) || u.type.isUndefined(a)) return !0
            if (!1 === (g = t.prototype.intercept.call(this, e, { x: s, y: a }, n))) return g
            if (
              ((r = this.points.findIndex(function (t) {
                return e.some(function (e) {
                  return e === t
                })
              })),
              (I = this.attachment.points.findIndex(function (t) {
                return (C = e.find(function (e) {
                  return e === t
                }))
              })),
              !~r && C)
            ) {
              ;((h = [])[this.points.indexOf(this.linePoints[0])] = g.__points[0]),
                (h[this.points.indexOf(this.linePoints[1])] = g.__points[1]),
                h.push(this.points[2], this.points[3]),
                (this.firstLinePoints[I] = C)
              var l = this.getPeripheral(h)
              if (
                ((this.cacheVers = [
                  c.lineVector({ points: [this.points[1], this.points[2]] }),
                  c.lineVector({ points: [this.points[0], this.points[3]] })
                ]),
                0 === l.length)
              )
                return !1
            } else {
              var h = o(this.points)
              if (!~r) return g
              if (((h[r] = A({}, n[e.indexOf(h[r])])), !(r < 2))) {
                var p,
                  d = void 0,
                  f = void 0,
                  y = void 0,
                  v = void 0,
                  m = void 0
                2 === r
                  ? ((d = { points: [this.points[1], this.points[2]] }),
                    (f = { points: [this.points[0], this.points[3]] }),
                    (p = this.points[2]),
                    (y = 2),
                    (v = 3),
                    (m = this.cacheVers[1]))
                  : ((f = { points: [this.points[1], this.points[2]] }),
                    (d = { points: [this.points[0], this.points[3]] }),
                    (p = this.points[3]),
                    (y = 3),
                    (v = 2),
                    (m = d),
                    (m = this.cacheVers[0]))
                var b = c.lineVector(d)
                if (b.x - m.x < 0.01 && b.y - m.y < 0.01) {
                  var x = c.getLinePoint(d, { x: s, y: a }),
                    _ = c.getLinePoint(f, { x: s, y: a }),
                    w = f.points[1].x + s - p.x,
                    P = f.points[1].y + a - p.y,
                    O = c.getLinePoint(f, { x: w, y: P }),
                    S =
                      Math.abs(this.moveLineDis - c.lineDis({ points: [x, _] })) >
                      Math.abs(this.moveLineDis - c.lineDis({ points: [x, O] }))
                        ? O
                        : _
                  ;(h[y] = x), (h[v] = S)
                }
                return (this.readyPoints = h), !0
              }
              if (!this.updatePeripheral(h)) return !1
            }
            return g
          }),
          (e.prototype.dragStart = function (t) {
            var e = this.lines.indexOf(t.target)
            ;(this.__index = e < 3 ? e : -1),
              (this.__startPoints = this.points.map(function (t) {
                return { x: t.x, y: t.y }
              }))
          }),
          (e.prototype.drag = function (t) {
            var e = t.x * this.multiple,
              i = t.y * this.multiple,
              n = ~this.__index ? [this.points[this.__index]] : this.linePoints,
              g = ~this.__index ? [this.__startPoints[this.__index]] : this.__startPoints
            if (this.__index < 2)
              n.forEach(function (t, n) {
                ;(t.x = g[n].x + e), (t.y = g[n].y + i)
              })
            else {
              var A = c.getLinePoint(
                  { points: [this.points[0], this.points[3]] },
                  { x: this.__startPoints[3].x + e, y: this.__startPoints[3].y + i }
                ),
                r = c.getLinePoint(
                  { points: [this.points[1], this.points[2]] },
                  { x: this.__startPoints[2].x + e, y: this.__startPoints[2].y + i }
                )
              this.checkPeripheral(
                this.points
                  .slice(0, 2)
                  .map(function (t) {
                    return { x: t.x, y: t.y }
                  })
                  .concat([r, A])
              ) &&
                ((this.points[3].x = A.x),
                (this.points[3].y = A.y),
                (this.points[2].x = r.x),
                (this.points[2].y = r.y))
            }
          }),
          (e.prototype.dragEnd = function () {
            delete this.dragStartPoints,
              delete this.__index,
              this.updateThickness(),
              this.__leaveHandle(),
              this.__lineLeave(),
              t.prototype.dragEnd.call(this)
          }),
          (e.prototype.delEvent = function () {
            var t = this
            this.wrapPath.removeEventListener('mouseenter', this.__enterHandle, !1),
              this.wrapPath.removeEventListener('mouseleave', this.__leaveHandle, !1),
              this.lines.forEach(function (e) {
                e.removeEventListener('mouseenter', t.__lineEnter, !1),
                  e.removeEventListener('mouseleave', t.__lineLeave, !1),
                  e.removeEventListener('click', t.__lineClick, !1)
              })
          }),
          (e.prototype.destroy = function () {
            this.delEvent(), t.prototype.destroy.call(this)
          }),
          e
        )
      })(l.default)
    e.default = h
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        },
      C =
        (this && this.__importStar) ||
        function (t) {
          if (t && t.__esModule) return t
          var e = {}
          if (null != t) for (var i in t) Object.hasOwnProperty.call(t, i) && (e[i] = t[i])
          return (e.default = t), e
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var I = i(1),
      s = o(i(4)),
      a = i(0),
      l = { defaultIcon: C(i(34)), darkIcon: C(i(35)) },
      u = (function (t) {
        function e(e) {
          var i = e.points,
            n = e.fill,
            g = void 0 === n ? 'rgba(0,0,0,0)' : n,
            o = e.icon,
            C = void 0 === o ? 'defaultIcon' : o,
            I = e.stroke,
            s = void 0 === I ? 'rgba(255,255,255,0.5)' : I,
            a = e.outWidth,
            l = void 0 === a ? 1 : a,
            u = e.foorWidth,
            c = void 0 === u ? 6 : u,
            h = e.linecap,
            p = void 0 === h ? 'square' : h,
            d = e.foorColor,
            f = void 0 === d ? 'rgba(0,0,0,0)' : d,
            y = e.hover,
            v = e.within,
            m = void 0 === v ? 0 : v,
            b = e.start,
            x = void 0 !== b && b,
            _ = r(e, [
              'points',
              'fill',
              'icon',
              'stroke',
              'outWidth',
              'foorWidth',
              'linecap',
              'foorColor',
              'hover',
              'within',
              'start'
            ]),
            w = this,
            P = { fill: g, stroke: s, outWidth: l, foorWidth: c, foorColor: f, linecap: p }
          return (
            (y = y || A(A({}, P), { fill: 'rgba(243, 255, 0, 0.8)' })),
            ((w =
              t.call(this, A(A({ linePoints: i, hover: y, within: m, start: x, icon: C }, P), _)) ||
              this).init = P),
            (w.showStart = !0),
            w
          )
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(I.SVGURI, 'g')
            return (
              (this.arc = document.createElementNS(I.SVGURI, 'path')),
              (this.outLine = document.createElementNS(I.SVGURI, 'path')),
              (this.image = document.createElementNS(I.SVGURI, 'image')),
              e.appendChild(this.outLine),
              e.appendChild(this.arc),
              e.appendChild(this.image),
              this.nextTick(function () {
                t.linePoints &&
                  (e.appendChild(t.linePoints[0].real), e.appendChild(t.linePoints[1].real))
              }),
              e
            )
          }),
          (e.prototype.getCalcPoint = function (t) {
            void 0 === t && (t = a.lineDis({ points: this.linePoints }))
            var e = this.linePoints[0]
            return a.getDisVectorPoints(a.verticalLine(this.attachment), e, t)[0]
          }),
          (e.prototype.click = function (e) {
            t.prototype.click.call(this, e), console.log(this.within)
          }),
          (e.prototype.getDrawArgs = function () {
            var t, e, i, n
            0 === this.within || 2 === this.within
              ? ((i = (t = this.linePoints)[0]), (n = t[1]))
              : ((n = (e = this.linePoints)[0]), (i = e[1]))
            var g,
              A = a.lineDis({ points: this.linePoints }),
              r = a.getDisVerticalLinePoints(this.attachment, i, A),
              o = r[0],
              C = r[1],
              I = { x: 0, y: 0 },
              s = a.lineDis({ points: [o, I] }) < a.lineDis({ points: [C, I] })
            return [
              i,
              n,
              (g = 0 === this.within || 3 === this.within ? (s ? o : C) : s ? C : o),
              A,
              a.isClockWise([i, n, g])
            ]
          }),
          (e.prototype.update = function () {
            this.real.style.display = this.show ? 'initial' : 'none'
            var t = this.getDrawArgs(),
              e = t[0],
              i = t[1],
              n = t[2],
              g = t[3],
              A = t[4]
            if (isNaN(n.x)) this.destroy()
            else if (
              ((this.ctl = [n]),
              this.arc.setAttribute(
                'd',
                'M ' +
                  e.x +
                  ' ' +
                  e.y +
                  ' L ' +
                  n.x +
                  ' ' +
                  n.y +
                  ' A ' +
                  g +
                  ' ' +
                  g +
                  ' 0 0 ' +
                  (A ? '1' : '0') +
                  ' ' +
                  i.x +
                  ' ' +
                  i.y +
                  ' Z'
              ),
              this.arc.setAttribute('stroke-width', (this.outWidth * this.multiple).toString()),
              this.arc.setAttribute('stroke', this.stroke),
              this.arc.setAttribute('fill', this.fill),
              this.icon !== this.firstIcon &&
                ((this.image.href.baseVal = l[this.icon]), (this.firstIcon = this.icon)),
              this.outLine.setAttribute('stroke', this.foorColor),
              this.outLine.setAttribute('fill', this.fill),
              this.outLine.setAttribute(
                'stroke-width',
                (this.foorWidth * this.multiple).toString()
              ),
              this.outLine.setAttribute('stroke-linecap', this.linecap),
              this.outLine.setAttribute(
                'd',
                'M ' +
                  this.linePoints[0].x +
                  ' ' +
                  this.linePoints[0].y +
                  ' L ' +
                  this.linePoints[1].x +
                  ' ' +
                  this.linePoints[1].y
              ),
              this.attachment.update(),
              this.start && this.showStart)
            ) {
              var r = a.lineDis({ points: this.linePoints }),
                o = a.lineStretch({ points: this.linePoints }, r / 2).points,
                C = a.lineDis({ points: o })
              if (isNaN(C)) return
              var I = 4 * C,
                s = o[1],
                u = s === o[1] ? o[0] : o[1],
                c = a.getDisVerticalLinePoints({ points: this.linePoints }, s, I),
                h =
                  a.lineDis({ points: [c[0], n] }) > a.lineDis({ points: [c[1], n] }) ? c[0] : c[1],
                p = a.getDisVerticalLinePoints({ points: this.linePoints }, u, I),
                d =
                  a.lineDis({ points: [p[0], n] }) > a.lineDis({ points: [p[1], n] }) ? p[0] : p[1],
                f = a.faceCenter([s, h, d, u]),
                y = a.lineDeg({ points: [s, h] }) + 90
              this.image.setAttribute('width', C.toString()),
                this.image.setAttribute('height', I.toString()),
                this.image.setAttribute('x', (f.x - C / 2).toString()),
                this.image.setAttribute('y', (f.y - I / 2).toString()),
                this.image.setAttribute('transform', 'rotate(' + y + ', ' + f.x + ', ' + f.y + ')'),
                (this.image.style.display = 'block')
            } else this.image.style.display = 'none'
          }),
          (e.prototype.dragStart = function (t) {
            ;(this.__index =
              t.target === this.linePoints[0].real
                ? 0
                : t.target === this.linePoints[1].real
                ? 1
                : -1),
              (this.__startPoints = this.linePoints.map(function (t) {
                return { x: t.x, y: t.y }
              }))
          }),
          (e.prototype.drag = function (t) {
            var e = this,
              i = ~this.__index ? [this.linePoints[this.__index]] : this.linePoints,
              n = ~this.__index ? [this.__startPoints[this.__index]] : this.__startPoints
            i.forEach(function (i, g) {
              ;(i.x = n[g].x + t.x * e.multiple), (i.y = n[g].y + t.y * e.multiple)
            })
          }),
          (e.prototype.dragEnd = function () {
            delete this.dragStartPoints, delete this.__index, t.prototype.dragEnd.call(this)
          }),
          (e.prototype.setHoverStyle = function () {
            var t = this
            Object.keys(this.hover).forEach(function (e) {
              return (t[e] = t.hover[e])
            })
          }),
          (e.prototype.setUnHoverStyle = function () {
            var t = this
            Object.keys(this.init).forEach(function (e) {
              return (t[e] = t.init[e])
            })
          }),
          e
        )
      })(s.default)
    e.default = u
  },
  function (t, e, i) {
    var n =
      (this && this.__importDefault) ||
      function (t) {
        return t && t.__esModule ? t : { default: t }
      }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var g = n(i(30)),
      A = {
        t: function (t, e) {
          for (var i = t.split('.'), n = g.default; i.length; ) n = n[i.shift()]
          return n
        }
      }
    e.i18n = A
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var o = i(2),
      C = i(1),
      I = (function (t) {
        function e(i) {
          var n = i.color,
            g = i.width,
            o = i.showAngle,
            C = void 0 !== o && o,
            I = i.linecap,
            s = void 0 === I ? 'square' : I,
            a = r(i, ['color', 'width', 'showAngle', 'linecap']),
            l = this
          return (
            (g = g || e.Setting.get(a.renderer).width),
            (n = n || e.Setting.get(a.renderer).color),
            ((l =
              t.call(this, A({ color: n, width: g, linecap: s, showAngle: C }, a)) || this).init = {
              color: n,
              width: g,
              linecap: s
            }),
            l
          )
        }
        return (
          g(e, t),
          (e.prototype.intercept = function (t, e, i) {
            return !0
          }),
          (e.prototype.grentNode = function () {
            return document.createElementNS(C.SVGURI, 'path')
          }),
          (e.prototype.update = function () {
            var t = this.width * this.multiple
            this.real.setAttribute('stroke', this.color),
              this.real.setAttribute('stroke-width', t.toString()),
              this.real.setAttribute('stroke-linecap', this.linecap),
              this.real.setAttribute(
                'd',
                'M ' +
                  this.points[0].x +
                  ' ' +
                  this.points[0].y +
                  ' L ' +
                  this.points[1].x +
                  ' ' +
                  this.points[1].y
              )
          }),
          (e.Setting = new Map()),
          e
        )
      })(o.CADElement)
    e.default = I
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var C = o(i(12)),
      I = i(1),
      s = o(i(4)),
      a = i(0),
      l = (function (t) {
        function e(e) {
          var i = e.points,
            n = e.fill,
            g = void 0 === n ? 'rgba(0,0,0,0)' : n,
            o = e.seam,
            C = void 0 === o ? 'rgba(255,255,255,0)' : o,
            I = e.bgColor,
            s = void 0 === I ? 'rgba(255,255,255,0.5)' : I,
            a = e.width,
            l = void 0 === a ? 6 : a,
            u = e.stamWidth,
            c = void 0 === u ? 0.5 : u,
            h = e.hover,
            p = r(e, ['points', 'fill', 'seam', 'bgColor', 'width', 'stamWidth', 'hover']),
            d = this,
            f = { fill: g, seam: C, width: l, stamWidth: c }
          return (
            (h = h || A(A({}, f), { fill: 'rgba(243, 255, 0, 0.8)' })),
            ((d =
              t.call(this, A(A({ linePoints: i, bgColor: s, hover: h }, p), f)) || this).eleHover =
              !1),
            d
          )
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(I.SVGURI, 'g')
            return (
              this.nextTick(function () {
                ;(t.outLine = new C.default({
                  points: t.linePoints,
                  width: t.width,
                  color: t.fill,
                  renderer: t.renderer
                })),
                  (t.innerline = new C.default({
                    points: t.linePoints,
                    width: t.stamWidth,
                    color: t.seam,
                    renderer: t.renderer
                  })),
                  (t.outLine.click = t.innerline.click =
                    function () {
                      return t.changeSelect(!0)
                    }),
                  e.appendChild(t.outLine.real),
                  e.appendChild(t.innerline.real),
                  e.appendChild(t.linePoints[0].real),
                  e.appendChild(t.linePoints[1].real),
                  t.interceptUpdateStyle(),
                  t.outLine.update(),
                  t.innerline.update()
              }),
              (this.clip1 = document.createElementNS(I.SVGURI, 'path')),
              (this.clip2 = document.createElementNS(I.SVGURI, 'path')),
              (this.clip3 = document.createElementNS(I.SVGURI, 'path')),
              (this.clip4 = document.createElementNS(I.SVGURI, 'path')),
              e.appendChild(this.clip1),
              e.appendChild(this.clip2),
              e.appendChild(this.clip3),
              e.appendChild(this.clip4),
              e
            )
          }),
          (e.prototype.getStyle = function () {
            return this.eleHover || this.select
              ? this.hover
              : { width: this.width, fill: this.fill, seam: this.seam, stamWidth: this.stamWidth }
          }),
          (e.prototype.interceptUpdateStyle = function () {
            var t = this,
              e = this.outLine.intercept,
              i = this.innerline.intercept
            ;(this.outLine.intercept = function (i, n) {
              var g = i[0],
                A = n.width,
                r = n.color
              if (g === t.outLine && (A || r)) {
                var o = t.getStyle()
                return { width: o.width, color: o.fill }
              }
              return e.call(t)
            }),
              (this.innerline.intercept = function (e, n) {
                var g = e[0],
                  A = n.width,
                  r = n.color
                if (g === t.innerline && (A || r)) {
                  var o = t.getStyle()
                  return { width: o.stamWidth, color: o.seam }
                }
                return i.call(t)
              })
          }),
          (e.prototype.update = function () {
            this.outLine &&
              ((this.outLine.width = this.outLine.width + 1e-8),
              (this.innerline.width = this.innerline.width + 1e-8))
            var t = a.getDisVerticalLinePoints(
                this.attachment,
                this.linePoints[0],
                0.4 * this.width * this.multiple
              ),
              e = t[0],
              i = t[1],
              n = a.getDisVerticalLinePoints(
                this.attachment,
                this.linePoints[1],
                0.4 * this.width * this.multiple
              ),
              g = n[0],
              A = n[1],
              r = a.getDisVerticalLinePoints(
                this.attachment,
                this.linePoints[0],
                0.1 * this.width * this.multiple
              ),
              o = r[0],
              C = r[1],
              I = a.getDisVerticalLinePoints(
                this.attachment,
                this.linePoints[1],
                0.1 * this.width * this.multiple
              ),
              s = I[0],
              l = I[1]
            isNaN(e.x) ||
              (this.clip1.setAttribute('stroke-width', this.multiple.toString()),
              this.clip1.setAttribute('d', 'M ' + e.x + ' ' + e.y + ' L ' + g.x + ' ' + g.y),
              this.clip2.setAttribute('stroke-width', this.multiple.toString()),
              this.clip2.setAttribute('d', 'M ' + i.x + ' ' + i.y + ' L ' + A.x + ' ' + A.y),
              this.clip3.setAttribute('stroke-width', this.multiple.toString()),
              this.clip3.setAttribute('d', 'M ' + o.x + ' ' + o.y + ' L ' + s.x + ' ' + s.y),
              this.clip4.setAttribute('stroke-width', this.multiple.toString()),
              this.clip4.setAttribute('d', 'M ' + C.x + ' ' + C.y + ' L ' + l.x + ' ' + l.y),
              this.clip1.setAttribute('stroke', this.bgColor),
              this.clip2.setAttribute('stroke', this.bgColor),
              this.clip3.setAttribute('stroke', this.bgColor),
              this.clip4.setAttribute('stroke', this.bgColor),
              this.attachment.update())
          }),
          (e.prototype.wallSelect = function () {
            this.update && this.update()
          }),
          (e.prototype.enter = function () {
            ;(this.eleHover = !0), this.update()
          }),
          (e.prototype.leave = function () {
            ;(this.eleHover = !1), this.update()
          }),
          (e.prototype.drag = function (t) {}),
          e
        )
      })(s.default)
    e.default = l
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var C = (function (t) {
      function e(e) {
        var i = e.hover,
          n = e.color,
          g = void 0 === n ? '#fff' : n,
          o = e.width,
          C = void 0 === o ? 3 : o,
          I = e.linecap,
          s = r(e, ['hover', 'color', 'width', 'linecap']),
          a = this,
          l = { color: g, width: C, linecap: I }
        return (
          (i = i || A(A({}, l), { color: 'rgba(243, 255, 0, 0.8)' })),
          ((a = t.call(this, A({ width: C, color: g }, s)) || this).hover = i),
          (a.init = l),
          (a.disable = !1),
          a.real.setAttribute('class', 'variable'),
          a
        )
      }
      return (
        g(e, t),
        (e.prototype.setHoverStyle = function () {
          var t = this
          console.log(this.hover),
            Object.keys(this.hover).forEach(function (e) {
              return (t[e] = t.hover[e])
            })
        }),
        (e.prototype.setUnHoverStyle = function () {
          var t = this
          Object.keys(this.init).forEach(function (e) {
            return (t[e] = t.init[e])
          })
        }),
        (e.prototype.dragStart = function () {
          this.dragStartPoints = this.points.map(function (t) {
            return { x: t.x, y: t.y }
          })
        }),
        (e.prototype.drag = function (t) {
          var e = this
          if (this.disable) return !1
          this.points.forEach(function (i, n) {
            ;(i.x = e.dragStartPoints[n].x + t.x * e.multiple),
              (i.y = e.dragStartPoints[n].y + t.y * e.multiple)
          })
        }),
        (e.prototype.dragEnd = function () {
          delete this.dragStartPoints
        }),
        e
      )
    })(o(i(10)).default)
    e.default = C
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__spreadArrays,
        (this && this.__importDefault) ||
          function (t) {
            return t && t.__esModule ? t : { default: t }
          })
    Object.defineProperty(e, '__esModule', { value: !0 })
    var C = i(2),
      I = o(i(5)),
      s = i(0),
      a = i(3),
      l = i(1),
      u = o(i(12)),
      c = (function (t) {
        function e(e) {
          var i = e.minWidth,
            n = void 0 === i ? 0.1 : i,
            g = e.points,
            o = e.renderer,
            C = e.top,
            a = e.bottom,
            l = e.angle,
            c = void 0 === l ? 0 : l,
            h = e.stroke,
            p = void 0 === h ? 'rgba(255,255,255,0.5)' : h,
            d = e.width,
            f = void 0 === d ? 1 : d,
            y = r(e, [
              'minWidth',
              'points',
              'renderer',
              'top',
              'bottom',
              'angle',
              'stroke',
              'width'
            ]),
            v = this,
            m = g.map(function (t) {
              return new I.default(A(A({}, t), { renderer: o }))
            }),
            b = m.map(function (t, e) {
              return new u.default({
                points: [m[e], m[e === m.length - 1 ? 0 : e + 1]],
                renderer: o,
                width: f,
                color: p
              })
            })
          ;((v =
            t.call(
              this,
              A(A({}, y), {
                points: m,
                lines: b,
                renderer: o,
                angle: c,
                stroke: p,
                width: f,
                fill: 'rgba(0,0,0,0)'
              })
            ) || this).paths = b),
            (v.points = m),
            (v.zIndex = 1),
            (v.minWidth = n),
            (v.stop = !0)
          var x = []
          return (
            Object.defineProperty(v, 'movePoints', {
              get: function () {
                return x
              },
              set: function (t) {
                ;(x = t),
                  t && t.length >= 2
                    ? (this.moveLineDis = s.lineDis({ points: x }))
                    : delete this.moveLineDis
              }
            }),
            v.real.setAttribute('class', 'variable'),
            Object.defineProperty(v, 'top', {
              get: function () {
                return C
              },
              set: function (t) {
                ;(C = t), this.wallPos && this.wallPos()
              }
            }),
            Object.defineProperty(v, 'bottom', {
              get: function () {
                return a
              },
              set: function (t) {
                ;(a = t), this.wallPos && this.wallPos()
              }
            }),
            v
          )
        }
        return (
          g(e, t),
          (e.prototype.setHoverStyle = function () {
            this.fill = 'rgba(243, 255, 0, 0.8)'
          }),
          (e.prototype.setUnHoverStyle = function () {
            this.fill = 'rgba(243, 255, 0, 0)'
          }),
          (e.prototype.rotate = function (t) {
            var e = this
            if (t === this.angle) return !1
            var i = s.faceRotate(this.points, t - this.angle)
            return (
              !!this.check(i) &&
              ((this.stop = !1),
              this.points.forEach(function (t, e) {
                ;(t.x = i[e].x), (t.y = i[e].y)
              }),
              this.nextTick(function () {
                return (e.stop = !0)
              }),
              !0)
            )
          }),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(l.SVGURI, 'g')
            return (
              (this.wrapPath = document.createElementNS(l.SVGURI, 'path')),
              e.appendChild(this.wrapPath),
              this.nextTick(function () {
                t.lines.forEach(function (i) {
                  ;(i.changeSelect = function (e) {
                    e && t.changeSelect(e)
                  }),
                    i.update(),
                    e.appendChild(i.real)
                })
              }),
              e
            )
          }),
          (e.prototype.update = function () {
            var t = this
            this.wrapPath &&
              (this.wrapPath.setAttribute('stroke-width', (this.width * this.multiple).toString()),
              this.wrapPath.setAttribute(
                'd',
                'M ' +
                  this.points
                    .map(function (t) {
                      return t.x + ' ' + t.y
                    })
                    .join(' L ') +
                  ' z'
              ),
              this.wrapPath.setAttribute('fill', this.fill),
              this.wrapPath.setAttribute('stroke', this.stroke)),
              this.lines.forEach(function (e) {
                e.real.setAttribute('stroke', t.stroke)
              })
          }),
          (e.prototype.checkWidth = function (t) {
            var e = this
            return (
              void 0 === t && (t = this.points),
              !t.some(function (i, n) {
                var g = t[n === t.length - 1 ? 0 : n + 1]
                return s.lineDis({ points: [i, g] }) <= e.minWidth
              })
            )
          }),
          (e.prototype.qualified = function (t, e) {
            void 0 === t && (t = this.points), void 0 === e && (e = this.room)
            var i = this.renderer.processing.getRoomEles(e)
            return (
              !!s.isFaceContain(i.ground, t) &&
              !i.hole.some(function (e) {
                return s.isFaceIntersect(e, t) || s.isFaceContain(e, t) || s.isFaceContain(t, e)
              })
            )
          }),
          (e.prototype.check = function (t) {
            return void 0 === t && (t = this.points), this.checkWidth(t)
          }),
          (e.prototype.intercept = function (t, e, i) {
            e.x, e.y
            var n = e.angle
            return !a.type.isNumber(n) || this.rotate(n)
          }),
          (e.prototype.directUpdate = function (t) {
            var e = this
            t.forEach(function (t, i) {
              ;(e.points[i].__state.direct = !0),
                (e.points[i].x = t.x),
                (e.points[i].y = t.y),
                (e.points[i].__state.direct = !1),
                e.points[i].update()
            }),
              this.lines.forEach(function (t) {
                t.update()
              }),
              this.update(),
              this.wallPos && this.wallPos(),
              this.fromAsync && this.fromAsync()
          }),
          (e.prototype.dragStart = function (t) {
            if (
              this.lines.some(function (e) {
                return e.real === t.target
              })
            ) {
              var e = this.lines.find(function (e) {
                return e.real === t.target
              })
              this.moveLineDis = s.lineDis(e)
            } else
              this.initPoints = this.points.map(function (t) {
                return { x: t.x, y: t.y }
              })
          }),
          (e.prototype.drag = function (t) {
            var e = this
            if (this.initPoints) {
              this.stop = !1
              var i = this.points.map(function (i, n) {
                return {
                  x: e.initPoints[n].x + t.x * e.multiple,
                  y: e.initPoints[n].y + t.y * e.multiple
                }
              })
              setTimeout(function () {
                e.directUpdate(i)
              })
            }
          }),
          (e.prototype.dragEnd = function () {
            var t = this
            this.nextTick(function () {
              ;(t.stop = !0), delete t.moveLineDis
            }),
              delete this.initPoints
          }),
          (e.prototype.destroy = function () {
            this.points.forEach(function (t) {
              return t.destroy()
            }),
              (this.room = null),
              (this.points = null),
              (this.update = null),
              t.prototype.destroy.call(this)
          }),
          e
        )
      })(C.CADElement)
    e.default = c
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__awaiter) ||
        function (t, e, i, n) {
          return new (i || (i = Promise))(function (g, A) {
            function r(t) {
              try {
                C(n.next(t))
              } catch (t) {
                A(t)
              }
            }
            function o(t) {
              try {
                C(n.throw(t))
              } catch (t) {
                A(t)
              }
            }
            function C(t) {
              var e
              t.done
                ? g(t.value)
                : ((e = t.value),
                  e instanceof i
                    ? e
                    : new i(function (t) {
                        t(e)
                      })).then(r, o)
            }
            C((n = n.apply(t, e || [])).next())
          })
        },
      o =
        (this && this.__generator) ||
        function (t, e) {
          var i,
            n,
            g,
            A,
            r = {
              label: 0,
              sent: function () {
                if (1 & g[0]) throw g[1]
                return g[1]
              },
              trys: [],
              ops: []
            }
          return (
            (A = { next: o(0), throw: o(1), return: o(2) }),
            'function' == typeof Symbol &&
              (A[Symbol.iterator] = function () {
                return this
              }),
            A
          )
          function o(A) {
            return function (o) {
              return (function (A) {
                if (i) throw new TypeError('Generator is already executing.')
                for (; r; )
                  try {
                    if (
                      ((i = 1),
                      n &&
                        (g =
                          2 & A[0]
                            ? n.return
                            : A[0]
                            ? n.throw || ((g = n.return) && g.call(n), 0)
                            : n.next) &&
                        !(g = g.call(n, A[1])).done)
                    )
                      return g
                    switch (((n = 0), g && (A = [2 & A[0], g.value]), A[0])) {
                      case 0:
                      case 1:
                        g = A
                        break
                      case 4:
                        return r.label++, { value: A[1], done: !1 }
                      case 5:
                        r.label++, (n = A[1]), (A = [0])
                        continue
                      case 7:
                        ;(A = r.ops.pop()), r.trys.pop()
                        continue
                      default:
                        if (
                          !(g = (g = r.trys).length > 0 && g[g.length - 1]) &&
                          (6 === A[0] || 2 === A[0])
                        ) {
                          r = 0
                          continue
                        }
                        if (3 === A[0] && (!g || (A[1] > g[0] && A[1] < g[3]))) {
                          r.label = A[1]
                          break
                        }
                        if (6 === A[0] && r.label < g[1]) {
                          ;(r.label = g[1]), (g = A)
                          break
                        }
                        if (g && r.label < g[2]) {
                          ;(r.label = g[2]), r.ops.push(A)
                          break
                        }
                        g[2] && r.ops.pop(), r.trys.pop()
                        continue
                    }
                    A = e.call(t, r)
                  } catch (t) {
                    ;(A = [6, t]), (n = 0)
                  } finally {
                    i = g = 0
                  }
                if (5 & A[0]) throw A[1]
                return { value: A[0] ? A[1] : void 0, done: !0 }
              })([A, o])
            }
          }
        },
      C =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      I =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var s = I(i(33)),
      a = I(i(4)),
      l = I(i(7)),
      u = i(1),
      c = i(0),
      h = (function (t) {
        function e() {
          return (null !== t && t.apply(this, arguments)) || this
        }
        return (
          g(e, t),
          (e.prototype.setHoverStyle = function () {
            ;(this.color = this.hover.color),
              (this.width = this.hover.width),
              (this.linecap = this.hover.linecap)
          }),
          (e.prototype.setUnHoverStyle = function () {
            ;(this.color = this.init.color),
              (this.width = this.init.width),
              (this.linecap = this.init.linecap)
          }),
          (e.prototype.dragStart = function () {
            ;(this.clones = []),
              (this.bkpoints = this.points.map(function (t) {
                return { x: t.x, y: t.y }
              })),
              (this.startPoint = this.renderer.screenToRealPoint({ x: 0, y: 0 })),
              (this.bkverctor = c.lineVector(this))
          }),
          (e.prototype.drag = function (t) {
            var e = this.renderer.screenToRealPoint(t)
            this.exterior ||
              this.changePos({ x: e.x - this.startPoint.x, y: e.y - this.startPoint.y })
          }),
          (e.prototype.dragEnd = function () {
            return r(this, void 0, void 0, function () {
              var t,
                e = this
              return o(this, function (i) {
                return (
                  (t = this.renderer.processing).lines.forEach(function (t) {
                    t.ele.__state.direct = !1
                  }),
                  t.points.forEach(function (t) {
                    t.ele.__state.direct = !1
                  }),
                  setTimeout(function () {
                    e.renderer.processing.depLines()
                  }, 500),
                  [2]
                )
              })
            })
          }),
          (e.prototype.directUpdate = function (t) {
            this.__state.direct = !0
            var e = C(this.points)
            e.forEach(function (t) {
              return (t.__state.direct = !0)
            }),
              t(),
              (e = Array.from(new Set(e.concat(this.points)))).forEach(function (t) {
                return (t.__state.direct = !1)
              }),
              (this.__state.direct = !1),
              e.concat(e).forEach(function (t) {
                return t.update()
              }),
              this.wallLines
                .filter(function (t) {
                  return t.points.some(function (t) {
                    return ~e.indexOf(t)
                  })
                })
                .forEach(function (t) {
                  t.update(),
                    t.points[0].wallPos && t.points[0].wallPos(),
                    t.points[1].wallPos && t.points[1].wallPos(),
                    t.wallPos && t.wallPos(),
                    t.fromAsync && t.fromAsync(),
                    t.updateJoin()
                })
          }),
          (e.prototype.grentNewJoinLine = function (t, e) {
            var i,
              n = this,
              g = this.renderer.processing,
              r = g.points.find(function (e) {
                return e.ele === t
              }),
              o = g.lines.find(function (t) {
                return t.ele === n
              }),
              I = g.addPoint(
                A(
                  {
                    id:
                      Math.max.apply(
                        Math,
                        g.points.map(function (t) {
                          return t.id
                        })
                      ) + 1
                  },
                  e
                )
              )
            g.data.vertex.push({ id: I.id, x: e.x, y: e.y })
            var s = o.ele,
              a = C(s.points)
            return (
              (a[s.points.indexOf(t)] = I.ele),
              s.directUpdate(function () {
                ;(s.points = a), s.listenPointDrag(a)
              }),
              s.update(),
              (i = g.cad.increase(u.SEFTLINE, {
                id: g.getNewLineId(),
                p1: I.id,
                p2: r.id,
                isOut: s.isOut,
                border: s.border,
                exterior: s.exterior
              }).obj),
              this.wallLines
                .filter(function (t) {
                  return ~t.points.indexOf(n.points[0]) || ~t.points.indexOf(n.points[1])
                })
                .forEach(function (t) {
                  t.update(),
                    t.points[0].wallPos && t.points[0].wallPos(),
                    t.points[1].wallPos && t.points[1].wallPos(),
                    t.wallPos && t.wallPos(),
                    t.fromAsync && t.fromAsync()
                }),
              i
            )
          }),
          (e.prototype.getPointJoinLines = function (t) {
            for (
              var e = this,
                i = this.wallLines.filter(function (i) {
                  return (
                    ~i.points.indexOf(t) &&
                    !(~e.points.indexOf(i.points[0]) && ~e.points.indexOf(i.points[1]))
                  )
                }),
                n = [],
                g = function (t) {
                  n.some(function (e) {
                    return ~e.points.indexOf(i[t].points[0]) && ~e.points.indexOf(i[t].points[1])
                  }) || n.push(i[t])
                },
                A = 0;
              A < i.length;
              A++
            )
              g(A)
            return n
          }),
          (e.prototype.updatePoint = function (t, e, i) {
            var n = this.getPointJoinLines(t),
              g = n[0],
              r = c.lineVector(this),
              o = Number(!this.points.indexOf(t)),
              C = this.points[o],
              I = !1
            if (g) {
              var s = c.lineVector(g) || g.lineVerctor,
                a = !1
              isNaN(s.x) && !isNaN(r.x) && (I = !0)
              var l = this.points.indexOf(t),
                u = n.every(function (t) {
                  var e = c.lineVector(t)
                  return (
                    Math.abs(Math.abs(e.x) - Math.abs(s.x)) < 0.2 &&
                    Math.abs(Math.abs(e.y) - Math.abs(s.y)) < 0.2
                  )
                }),
                h =
                  (Math.abs(Math.abs(s.x) - Math.abs(r.x)) < 0.2 &&
                    Math.abs(Math.abs(s.y) - Math.abs(r.y)) < 0.2) ||
                  (n.length > 1 && !u)
              if (!~this.clones.indexOf(l) && (h || I)) {
                if (!I && n.length > 1)
                  (g =
                    n.find(function (t) {
                      var e = c.lineVector(t)
                      return e.x - r.x < 0.1 && e.y - r.y < 0.1
                    }) ||
                    n.find(function (t) {
                      var e = c.lineVector(t),
                        i = Math.abs(e.x - r.x),
                        n = Math.abs(e.y - r.y)
                      return (i > 0.1 && i < 0.9) || (n > 0.1 && n < 0.9)
                    }) ||
                    n[0]),
                    (s = g.lineVector || c.lineVector(g))
                var p = A({}, e)
                Math.abs(r.x) > Math.abs(r.y) ? (p.x = t.x) : (p.y = t.y),
                  I && (e = p),
                  (p.x === t.x && p.y === t.y) ||
                    ((g = this.grentNewJoinLine(t, p.x === t.x && p.y === t.y ? e : p)),
                    (a = !0),
                    this.clones.push(l),
                    (t = g.points[Number(!g.points.indexOf(t))]),
                    (s = c.lineVector(g)),
                    (g.lineVerctor = s))
              }
              if (
                ((e = c.getVectorPosPoint(s, g.points[0], e)),
                (g.lineVector = s),
                !a &&
                  i &&
                  !I &&
                  (Math.abs(Math.abs(s.x) - Math.abs(r.x)) < 0.9 ||
                    Math.abs(Math.abs(s.y) - Math.abs(r.y)) < 0.9))
              ) {
                var d = c.segmentsIntrFine(g, {
                  points: [C, { x: C.x + 1e4 * this.bkverctor.x, y: C.y + 1e4 * this.bkverctor.y }]
                })
                d && (e = d)
              }
            } else {
              if (this.getPointJoinLines(C).length) {
                var f = this.points.indexOf(t)
                e = {
                  x: this.bkpoints[f].x + this.points[o].x - this.bkpoints[o].x,
                  y: this.bkpoints[f].y + this.points[o].y - this.bkpoints[o].y
                }
              }
              g = this
            }
            var y = c.lineVector({ points: [C, e] })
            return (
              !(
                isNaN(e.x) ||
                isNaN(e.y) ||
                (i &&
                  (Math.abs(Math.abs(this.bkverctor.x) - Math.abs(y.x)) > 0.05 ||
                    Math.abs(Math.abs(this.bkverctor.y) - Math.abs(y.y)) > 0.05))
              ) &&
              ((t.__state.direct = !0),
              (t.x = e.x),
              (t.y = e.y),
              t.update(),
              (t.__state.direct = !1),
              g)
            )
          }),
          (e.prototype.getVerPos = function (t) {
            var e = c.verticalLine(this)
            if (0 === e.x) return { x: 0, y: t.y }
            if (0 === e.y) return { x: t.x, y: 0 }
            var i = {
                points: [
                  { x: -100 * e.x, y: -100 * e.y },
                  { x: 100 * e.x, y: 100 * e.y }
                ]
              },
              n = c.pointLineDis(i, t),
              g = Math.sqrt(Math.pow(t.x, 2) + Math.pow(t.y, 2) - Math.pow(n, 2)),
              A = c.getDisPointLinePoints(i, { x: 0, y: 0 }, g),
              r = A[0],
              o = A[1]
            return c.lineDis({ points: [r, t] }) > c.lineDis({ points: [o, t] }) ? o : r
          }),
          (e.prototype.checkJoinArch = function () {
            var t = a.default.attaArch.get(this)
            if (!t || 0 === t.length) return !1
            var e = t.map(function (t) {
              return [t.linePoints[0].getLineInsertPoint(), t.linePoints[1].getLineInsertPoint()]
            })
            return t.some(function (t, i) {
              return (
                !(e[i][0] && e[i][1] && t.qualified(e[i])) ||
                (t instanceof l.default &&
                  0 === t.getPeripheral(e[i].concat(t.points.slice(2))).length)
              )
            })
          }),
          (e.prototype.updateArchs = function () {
            var t = a.default.attaArch.get(this)
            if (t && 0 !== t.length) {
              var e = t.map(function (t) {
                return t.lineChange().points
              })
              t.forEach(function (t, i) {
                if (
                  ((t.__state.direct = !0),
                  (t.linePoints[0].__state.direct = !0),
                  (t.linePoints[1].__state.direct = !0),
                  (t.linePoints[0].x = e[i][0].x),
                  (t.linePoints[0].y = e[i][0].y),
                  (t.linePoints[1].x = e[i][1].x),
                  (t.linePoints[1].y = e[i][1].y),
                  t.linePoints[0].update(),
                  t.linePoints[1].update(),
                  (t.linePoints[0].__state.direct = !1),
                  (t.linePoints[1].__state.direct = !1),
                  t instanceof l.default)
                ) {
                  var n = t.getPeripheral()
                  ;(t.points[2].__state.direct = !0),
                    (t.points[3].__state.direct = !0),
                    (t.points[2].x = n[0].x),
                    (t.points[2].y = n[0].y),
                    (t.points[3].x = n[1].x),
                    (t.points[3].y = n[1].y),
                    t.points[2].update(),
                    t.points[3].update(),
                    (t.points[2].__state.direct = !1),
                    (t.points[3].__state.direct = !1)
                }
                ;(t.__state.direct = !1), t.dragEnd(), t.update()
              })
            }
          }),
          (e.prototype.changePos = function (t) {
            var e = this
            ;(0 === t.x && 0 === t.y) || (t = this.getVerPos(t)),
              this.directUpdate(function () {
                e.points.map(function (t) {
                  return { x: t.x, y: t.y }
                })
                var i = [0, 1],
                  n = e.getPointJoinLines(e.points[0]),
                  g = e.getPointJoinLines(e.points[1]),
                  A =
                    (e.points.map(function (t) {
                      return { x: t.x, y: t.y }
                    }),
                    !0)
                if (0 === n.length) i = [1, 0]
                else if (0 !== g.length) {
                  i =
                    c.getPointCoordDistance(e.bkverctor, c.lineVector(n[0])) >
                    c.getPointCoordDistance(e.bkverctor, c.lineVector(g[0]))
                      ? [0, 1]
                      : [1, 0]
                }
                i.forEach(function (i, n) {
                  A &&
                    (e.updatePoint(
                      e.points[i],
                      { x: e.bkpoints[i].x + t.x, y: e.bkpoints[i].y + t.y },
                      !!n
                    ) ||
                      (A = !1))
                }),
                  e.renderer.processing.lines
                    .filter(function (t) {
                      return (
                        ~t.ele.points.indexOf(e.points[0]) || ~t.ele.points.indexOf(e.points[1])
                      )
                    })
                    .forEach(function (t) {
                      t.ele.updateArchs()
                    })
              })
          }),
          (e.prototype.correct = function () {
            for (
              var t = this.renderer.processing,
                e = t.points.map(function (t) {
                  return t.ele
                }),
                i = t.lines.map(function (t) {
                  return t.ele
                }),
                n = i.filter(function (t) {
                  return ~e.indexOf(t.points[0]) || ~e.indexOf(t.points[1])
                }),
                g = function (t, e, i) {
                  return ~t.points.indexOf(e) && ~t.points.indexOf(i)
                },
                A = function (A) {
                  var o = i[A],
                    I = e.find(function (t) {
                      return (
                        !~o.points.indexOf(t) &&
                        (c.lineDis({ points: [o.points[0], t] }) < 0.02 ||
                          c.lineDis({ points: [o.points[1], t] }) < 0.02)
                      )
                    })
                  if (!I) return 'continue'
                  var s = 0
                  if (
                    i.some(function (t) {
                      return g(t, I, o.points[0])
                    })
                  )
                    s = 0
                  else {
                    if (
                      !i.some(function (t) {
                        return g(t, I, o.points[1])
                      })
                    )
                      return 'continue'
                    s = 1
                  }
                  var a = o.points[s]
                  return (
                    n
                      .filter(function (t) {
                        return ~t.points.indexOf(a)
                      })
                      .forEach(function (t) {
                        var e = t.points.indexOf(a),
                          i = t.points,
                          n = C(i)
                        ;(n[e] = I),
                          t.directUpdate(function () {
                            ;(t.points = n), t.listenPointDrag(n)
                          })
                      }),
                    n
                      .filter(function (t) {
                        return ~t.points.indexOf(I) && ~t.points.indexOf(a)
                      })
                      .forEach(function (e) {
                        t.lines.splice(
                          t.lines.findIndex(function (t) {
                            return t.ele === e
                          }),
                          1
                        ),
                          e.destroy()
                      }),
                    a.destroy(),
                    { value: r.correct() }
                  )
                },
                r = this,
                o = 0;
              o < i.length;
              o++
            ) {
              var I = A(o)
              if ('object' == typeof I) return I.value
            }
          }),
          e
        )
      })(s.default)
    e.default = h
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var C = o(i(8)),
      I = i(1),
      s = i(0),
      a = (function (t) {
        function e(e) {
          var i = e.points,
            n = e.foorWidth,
            g = void 0 === n ? 6 : n,
            o = e.foorColor,
            C = void 0 === o ? 'rgba(255,255,255,0.5)' : o,
            I = e.clipColor,
            s = void 0 === I ? 'rgba(0,0,0,1)' : I,
            a = (e.linecap, e.within),
            l = void 0 === a ? 0 : a,
            u = r(e, ['points', 'foorWidth', 'foorColor', 'clipColor', 'linecap', 'within']),
            c = this
          return (
            (i[0].fillColor = 'rgba(0,0,0,0)'),
            (i[1].fillColor = 'rgba(0,0,0,0)'),
            ((c =
              t.call(this, A(A({}, u), { points: i, foorWidth: g, foorColor: C, within: l })) ||
              this).clipColor = s),
            c
          )
        }
        return (
          g(e, t),
          (e.prototype.setHoverStyle = function () {
            ;(this.clipColor = 'rgba(243, 255, 0, 0.8)'),
              (this.foorColor = 'rgba(243, 255, 0, 0.8)')
          }),
          (e.prototype.setUnHoverStyle = function () {
            ;(this.clipColor = 'rgba(0,0,0,1)'), (this.foorColor = 'rgba(255,255,255,0.5)')
          }),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(I.SVGURI, 'g')
            return (
              (this.clip1 = document.createElementNS(I.SVGURI, 'path')),
              e.appendChild(this.clip1),
              (this.clip2 = document.createElementNS(I.SVGURI, 'path')),
              e.appendChild(this.clip2),
              (this.path1 = document.createElementNS(I.SVGURI, 'path')),
              e.appendChild(this.path1),
              (this.path2 = document.createElementNS(I.SVGURI, 'path')),
              e.appendChild(this.path2),
              (this.left = document.createElementNS(I.SVGURI, 'rect')),
              this.left.setAttribute('width', '0.00001'),
              this.left.setAttribute('height', '0.00001'),
              e.appendChild(this.left),
              (this.right = document.createElementNS(I.SVGURI, 'rect')),
              this.right.setAttribute('width', '0.00001'),
              this.right.setAttribute('height', '0.00001'),
              e.appendChild(this.right),
              this.nextTick(function () {
                e.appendChild(t.linePoints[0].real),
                  e.appendChild(t.linePoints[1].real),
                  t.linePoints.forEach(function (e) {
                    e.changeSelect = function (e) {
                      e && t.changeSelect(e)
                    }
                  })
              }),
              e
            )
          }),
          (e.prototype.update = function () {
            var t,
              e,
              i,
              n,
              g = this.foorWidth * this.multiple,
              A = s.lineDis({ points: this.linePoints }),
              r = 2 * this.multiple,
              o = 0.6 * A
            if (
              (this.within
                ? ((i = (t = this.linePoints)[0]), (n = t[1]))
                : ((n = (e = this.linePoints)[0]), (i = e[1])),
              !isNaN(i.x))
            ) {
              var C = s.getLineDisSelectPoint({ points: this.linePoints }, i, o),
                I = s.getLineDisSelectPoint({ points: this.linePoints }, i, o - r),
                a = s.getLineDisSelectPoint({ points: this.linePoints }, n, o),
                l = s.getLineDisSelectPoint({ points: this.linePoints }, n, o - r),
                u = s.verticalLine({ points: this.linePoints }),
                c = g / 2,
                h = (g - c) / 2 - 1e-4 * this.multiple,
                p = i.x + u.x * h,
                d = i.y + u.y * h,
                f = C.x + u.x * h,
                y = C.y + u.y * h,
                v = I.x + u.x * h,
                m = I.y + u.y * h,
                b = n.x - u.x * h,
                x = n.y - u.y * h,
                _ = a.x - u.x * h,
                w = a.y - u.y * h,
                P = l.x - u.x * h,
                O = l.y - u.y * h
              this.path1.setAttribute('stroke', this.foorColor),
                this.path1.setAttribute('stroke-width', c.toString()),
                this.path1.setAttribute('d', 'M ' + p + ' ' + d + ' L ' + f + ' ' + y),
                this.clip1.setAttribute('stroke', this.clipColor),
                this.clip1.setAttribute(
                  'stroke-width',
                  (c - this.bwithin * this.multiple).toString()
                ),
                this.clip1.setAttribute('d', 'M ' + p + ' ' + d + ' L ' + v + ' ' + m),
                this.path2.setAttribute('stroke', this.foorColor),
                this.path2.setAttribute('stroke-width', c.toString()),
                this.path2.setAttribute('d', 'M ' + b + ' ' + x + ' L ' + _ + ' ' + w),
                this.clip2.setAttribute('stroke', this.clipColor),
                this.clip2.setAttribute(
                  'stroke-width',
                  (c - this.bwithin * this.multiple).toString()
                ),
                this.clip2.setAttribute('d', 'M ' + b + ' ' + x + ' L ' + P + ' ' + O),
                this.left.setAttribute('x', i.x.toString()),
                this.left.setAttribute('y', i.y.toString()),
                this.left.setAttribute('stroke-width', g.toString()),
                this.left.setAttribute('stroke', 'rgba(0,0,0,0)'),
                this.right.setAttribute('x', n.x.toString()),
                this.right.setAttribute('y', n.y.toString()),
                this.right.setAttribute('stroke-width', g.toString()),
                this.right.setAttribute('stroke', 'rgba(0,0,0,0)'),
                this.attachment.update()
            }
          }),
          e
        )
      })(C.default)
    e.default = a
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = A(i(8)),
      o = i(1),
      C = i(0),
      I = (function (t) {
        function e(e) {
          return t.call(this, e) || this
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(o.SVGURI, 'g')
            return (
              (this.arc1 = document.createElementNS(o.SVGURI, 'path')),
              (this.outLine1 = document.createElementNS(o.SVGURI, 'path')),
              (this.arc2 = document.createElementNS(o.SVGURI, 'path')),
              (this.outLine2 = document.createElementNS(o.SVGURI, 'path')),
              e.appendChild(this.outLine1),
              e.appendChild(this.arc1),
              e.appendChild(this.outLine2),
              e.appendChild(this.arc2),
              this.nextTick(function () {
                e.appendChild(t.linePoints[0].real), e.appendChild(t.linePoints[1].real)
              }),
              e
            )
          }),
          (e.prototype.update = function () {
            var t
            this.real.style.display = this.show ? 'initial' : 'none'
            var e = C.lineCenter({ points: this.linePoints }),
              i = this.getDrawArgs.call({
                linePoints: [this.linePoints[0], e],
                within: 1 === this.within ? 2 : this.within,
                attachment: this.attachment
              }),
              n = i[0],
              g = i[1],
              A = i[2],
              r = i[3],
              o = i[4]
            isNaN(A.x)
              ? this.destroy()
              : (this.arc1.setAttribute(
                  'd',
                  'M ' +
                    n.x +
                    ' ' +
                    n.y +
                    ' L ' +
                    A.x +
                    ' ' +
                    A.y +
                    ' A ' +
                    r +
                    ' ' +
                    r +
                    ' 0 0 ' +
                    (o ? '1' : '0') +
                    ' ' +
                    g.x +
                    ' ' +
                    g.y +
                    ' Z'
                ),
                this.arc1.setAttribute('stroke-width', (this.outWidth * this.multiple).toString()),
                this.arc1.setAttribute('stroke', this.stroke),
                this.arc1.setAttribute('fill', this.fill),
                this.outLine1.setAttribute('stroke', this.foorColor),
                this.outLine1.setAttribute('fill', this.fill),
                this.outLine1.setAttribute(
                  'stroke-width',
                  (this.foorWidth * this.multiple).toString()
                ),
                this.outLine1.setAttribute('stroke-linecap', this.linecap),
                this.outLine1.setAttribute(
                  'd',
                  'M ' +
                    this.linePoints[0].x +
                    ' ' +
                    this.linePoints[0].y +
                    ' L ' +
                    this.linePoints[1].x +
                    ' ' +
                    this.linePoints[1].y
                ),
                (n = (t = this.getDrawArgs.call({
                  linePoints: [this.linePoints[1], e],
                  within: 1 === this.within ? 2 : this.within,
                  attachment: this.attachment
                }))[0]),
                (g = t[1]),
                (A = t[2]),
                (r = t[3]),
                (o = t[4]),
                isNaN(A.x)
                  ? this.destroy()
                  : (this.arc2.setAttribute(
                      'd',
                      'M ' +
                        n.x +
                        ' ' +
                        n.y +
                        ' L ' +
                        A.x +
                        ' ' +
                        A.y +
                        ' A ' +
                        r +
                        ' ' +
                        r +
                        ' 0 0 ' +
                        (o ? '1' : '0') +
                        ' ' +
                        g.x +
                        ' ' +
                        g.y +
                        ' Z'
                    ),
                    this.arc2.setAttribute(
                      'stroke-width',
                      (this.outWidth * this.multiple).toString()
                    ),
                    this.arc2.setAttribute('stroke', this.stroke),
                    this.arc2.setAttribute('fill', this.fill),
                    this.outLine2.setAttribute('stroke', this.foorColor),
                    this.outLine2.setAttribute('fill', this.fill),
                    this.outLine2.setAttribute(
                      'stroke-width',
                      (this.foorWidth * this.multiple).toString()
                    ),
                    this.outLine2.setAttribute('stroke-linecap', this.linecap),
                    this.outLine2.setAttribute(
                      'd',
                      'M ' +
                        this.linePoints[0].x +
                        ' ' +
                        this.linePoints[0].y +
                        ' L ' +
                        this.linePoints[1].x +
                        ' ' +
                        this.linePoints[1].y
                    ),
                    this.attachment.update()))
          }),
          e
        )
      })(r.default)
    e.default = I
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = A(i(13)),
      o = i(1),
      C = (function (t) {
        function e() {
          return (null !== t && t.apply(this, arguments)) || this
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var e = t.prototype.grentNode.call(this)
            return (
              (this.path1 = document.createElementNS(o.SVGURI, 'path')),
              (this.path2 = document.createElementNS(o.SVGURI, 'path')),
              this.path1.setAttribute('stroke', this.stroke),
              this.path2.setAttribute('stroke', this.stroke),
              e.insertBefore(this.path1, e.childNodes[0]),
              e.insertBefore(this.path2, e.childNodes[0]),
              e
            )
          }),
          (e.prototype.update = function () {
            t.prototype.update.call(this),
              this.path1.setAttribute('stroke-width', (this.width * this.multiple).toString()),
              this.path2.setAttribute('stroke-width', (this.width * this.multiple).toString()),
              this.path1.setAttribute(
                'd',
                'M ' +
                  this.points[0].x +
                  ' ' +
                  this.points[0].y +
                  ' L ' +
                  this.points[2].x +
                  ' ' +
                  this.points[2].y
              ),
              this.path2.setAttribute(
                'd',
                'M ' +
                  this.points[1].x +
                  ' ' +
                  this.points[1].y +
                  ' L ' +
                  this.points[3].x +
                  ' ' +
                  this.points[3].y
              ),
              this.path1.setAttribute('stroke', this.stroke),
              this.path2.setAttribute('stroke', this.stroke)
          }),
          e
        )
      })(r.default)
    e.default = C
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = A(i(13)),
      o = i(1),
      C = i(0),
      I = (function (t) {
        function e() {
          return (null !== t && t.apply(this, arguments)) || this
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var e = t.prototype.grentNode.call(this)
            return (
              (this.g = document.createElementNS(o.SVGURI, 'g')),
              (this.path1 = document.createElementNS(o.SVGURI, 'path')),
              (this.path2 = document.createElementNS(o.SVGURI, 'path')),
              this.path1.setAttribute('stroke', this.stroke),
              this.path1.setAttribute('fill', 'rgba(0,0,0,0)'),
              this.path2.setAttribute('stroke', this.stroke),
              this.path2.setAttribute('fill', 'rgba(0,0,0,0)'),
              this.g.appendChild(this.path1),
              this.g.appendChild(this.path2),
              e.insertBefore(this.g, e.children[0]),
              e
            )
          }),
          (e.prototype.update = function () {
            t.prototype.update.call(this)
            var e = C.faceCenter(this.points),
              i = C.lineDis({ points: [this.points[1], this.points[2]] }) / this.multiple,
              n = C.lineDis({ points: [this.points[2], this.points[3]] }) / this.multiple,
              g = (n - 5 * this.width) / n,
              A = (i - 5 * this.width) / i
            ;(g = g <= 0 ? 1 : g),
              (A = A <= 0 ? 1 : A),
              this.g.setAttribute(
                'transform',
                'translate(' +
                  e.x +
                  ',' +
                  e.y +
                  ') scale(' +
                  (g < A ? A : g) +
                  ') translate(' +
                  -e.x +
                  ',' +
                  -e.y +
                  ')'
              ),
              this.path1.setAttribute(
                'stroke-width',
                ((this.width * this.multiple) / (g < A ? A : g)).toString()
              ),
              this.path1.setAttribute(
                'd',
                'M ' +
                  this.points
                    .map(function (t) {
                      return t.x + ' ' + t.y
                    })
                    .join(' L ') +
                  ' Z'
              ),
              this.path2.setAttribute('stroke', this.stroke)
            var r = this.points[2],
              o = { points: [this.points[1], this.points[3]] },
              I = C.lineCenter(o),
              s = C.lineDis({ points: [I, r] }) * (1 / 3),
              a = C.getDisVerticalLinePoints(o, I, s),
              l = a[0],
              u = a[1],
              c = C.lineDis({ points: [r, l] }) > C.lineDis({ points: [r, u] }) ? u : l
            C.pointInside(this.points, c) || (c = C.lineCenter(o)),
              this.path2.setAttribute('stroke', this.stroke),
              this.path2.setAttribute('stroke-width', (this.width * this.multiple).toString()),
              this.path2.setAttribute(
                'd',
                'M ' +
                  this.points[1].x +
                  ' ' +
                  this.points[1].y +
                  ' L ' +
                  c.x +
                  ' ' +
                  c.y +
                  ' L ' +
                  this.points[3].x +
                  ' ' +
                  this.points[3].y
              )
          }),
          e
        )
      })(r.default)
    e.default = I
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var o = i(2),
      C = i(1),
      I = i(9),
      s = (function (t) {
        function e(e) {
          var i = e.pos,
            n = e.renderer,
            g = e.fontSize,
            o = void 0 === g ? 12 : g,
            C = e.color,
            I = void 0 === C ? '#fff' : C,
            s = r(e, ['pos', 'renderer', 'fontSize', 'color']),
            a =
              t.call(this, A(A({}, s), { x: i.x, y: i.y, fontSize: o, renderer: n, color: I })) ||
              this
          return (a.zIndex = -1), a
        }
        return (
          g(e, t),
          (e.prototype.changeSelect = function (e) {
            t.prototype.changeSelect.call(this, e)
          }),
          (e.prototype.dragStart = function () {
            this.dragStartPoint = { x: this.x, y: this.y }
          }),
          (e.prototype.drag = function (t) {
            ;(this.x = this.dragStartPoint.x + t.x * this.multiple),
              (this.y = this.dragStartPoint.y + t.y * this.multiple)
          }),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(C.SVGURI, 'g')
            return (
              (this.titleNode = document.createElementNS(C.SVGURI, 'text')),
              this.titleNode.setAttribute('fill', '#fff'),
              this.titleNode.setAttribute('text-anchor', 'middle'),
              this.titleNode.setAttribute('dy', '.4em'),
              (this.contentNode = document.createElementNS(C.SVGURI, 'text')),
              this.contentNode.setAttribute('fill', '#fff'),
              this.contentNode.setAttribute('text-anchor', 'middle'),
              this.contentNode.setAttribute('dy', '.4em'),
              e.appendChild(this.titleNode),
              e.appendChild(this.contentNode),
              this.nextTick(function () {
                return t.update()
              }),
              e
            )
          }),
          (e.prototype.setHoverStyle = function () {}),
          (e.prototype.setUnHoverStyle = function () {}),
          (e.prototype.update = function () {
            var t = this.fontSize * this.multiple
            this.titleNode.setAttribute('x', this.x.toString()),
              this.titleNode.setAttribute('y', this.y.toString()),
              this.titleNode.setAttribute('font-size', t.toString()),
              (this.titleNode.style.display = this.show && this.showTitle ? 'inherit' : 'none'),
              (this.titleNode.textContent =
                this.title || I.i18n.t('modules.model.tagging_name_tips')),
              this.contentNode.setAttribute('x', this.x.toString()),
              this.contentNode.setAttribute('y', (this.y + t + t / 5).toString()),
              this.contentNode.setAttribute('font-size', t.toString()),
              (this.contentNode.style.display = this.show && this.showContent ? 'inherit' : 'none'),
              (this.contentNode.textContent = this.content),
              this.select
                ? (this.titleNode.setAttribute('fill', 'rgb(0, 200, 175)'),
                  this.contentNode.setAttribute('fill', 'rgb(0, 200, 175)'))
                : (this.titleNode.setAttribute('fill', this.color),
                  this.contentNode.setAttribute('fill', this.color))
          }),
          (e.prototype.destroy = function () {
            t.prototype.destroy.call(this)
          }),
          e
        )
      })(o.CADElement)
    e.default = s
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var C = i(1),
      I = o(i(4)),
      s = i(0),
      a = (function (t) {
        function e(e) {
          var i = e.points,
            n = e.width,
            g = void 0 === n ? 3 : n,
            o = r(e, ['points', 'width'])
          return (
            t.call(this, A({ linePoints: i, fill: 'rgba(255,255,255,0.5)', width: g }, o)) || this
          )
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(C.SVGURI, 'g')
            return (
              (this.clip1 = document.createElementNS(C.SVGURI, 'path')),
              (this.clip2 = document.createElementNS(C.SVGURI, 'path')),
              (this.clip3 = document.createElementNS(C.SVGURI, 'path')),
              (this.clip4 = document.createElementNS(C.SVGURI, 'path')),
              (this.clip5 = document.createElementNS(C.SVGURI, 'path')),
              this.clip1.setAttribute('stroke', this.fill),
              this.clip2.setAttribute('stroke', this.fill),
              this.clip3.setAttribute('stroke', this.fill),
              this.clip4.setAttribute('stroke', this.fill),
              this.clip5.setAttribute('stroke', this.fill),
              e.appendChild(this.clip1),
              e.appendChild(this.clip2),
              e.appendChild(this.clip3),
              e.appendChild(this.clip4),
              e.appendChild(this.clip5),
              this.nextTick(function () {
                e.appendChild(t.linePoints[0].real), e.appendChild(t.linePoints[1].real)
              }),
              e
            )
          }),
          (e.prototype.setHoverStyle = function () {
            this.fill = 'rgba(243, 255, 0, 0.8)'
          }),
          (e.prototype.setUnHoverStyle = function () {
            this.fill = 'rgba(255,255,255,0.5)'
          }),
          (e.prototype.update = function () {
            var t = s.getDisVerticalLinePoints(
                this.attachment,
                this.linePoints[0],
                0.4 * this.width * this.multiple
              ),
              e = t[0],
              i = t[1],
              n = s.getDisVerticalLinePoints(
                this.attachment,
                this.linePoints[1],
                0.4 * this.width * this.multiple
              ),
              g = n[0],
              A = n[1],
              r = s.getDisVerticalLinePoints(
                this.attachment,
                this.linePoints[0],
                0.15 * this.width * this.multiple
              ),
              o = r[0],
              C = r[1],
              I = s.getDisVerticalLinePoints(
                this.attachment,
                this.linePoints[1],
                0.15 * this.width * this.multiple
              ),
              a = I[0],
              l = I[1],
              u = s.lineCenter({ points: [o, a] }),
              c = s.lineCenter({ points: [C, l] })
            isNaN(e.x) ||
              (this.clip1.setAttribute('stroke-width', this.multiple.toString()),
              this.clip1.setAttribute('d', 'M ' + e.x + ' ' + e.y + ' L ' + g.x + ' ' + g.y),
              this.clip2.setAttribute('stroke-width', this.multiple.toString()),
              this.clip2.setAttribute('d', 'M ' + i.x + ' ' + i.y + ' L ' + A.x + ' ' + A.y),
              this.clip3.setAttribute('stroke-width', this.multiple.toString()),
              this.clip3.setAttribute('d', 'M ' + o.x + ' ' + o.y + ' L ' + a.x + ' ' + a.y),
              this.clip4.setAttribute('stroke-width', this.multiple.toString()),
              this.clip4.setAttribute('d', 'M ' + C.x + ' ' + C.y + ' L ' + l.x + ' ' + l.y),
              this.clip5.setAttribute('stroke-width', (6 * this.multiple).toString()),
              this.clip5.setAttribute('d', 'M ' + u.x + ' ' + u.y + ' L ' + c.x + ' ' + c.y),
              this.clip1.setAttribute('stroke', this.fill),
              this.clip2.setAttribute('stroke', this.fill),
              this.clip3.setAttribute('stroke', this.fill),
              this.clip4.setAttribute('stroke', this.fill),
              this.clip5.setAttribute('stroke', this.fill),
              this.attachment.update())
          }),
          (e.prototype.dragStart = function (t) {
            ;(this.move =
              this.linePoints[0].real === t.target || this.linePoints[1].real === t.target),
              (this.dragStartPoints = this.linePoints.map(function (t) {
                return { x: t.x, y: t.y }
              }))
          }),
          (e.prototype.drag = function (t) {
            var e = this
            this.move ||
              this.linePoints.forEach(function (i, n) {
                ;(i.x = e.dragStartPoints[n].x + t.x * e.multiple),
                  (i.y = e.dragStartPoints[n].y + t.y * e.multiple)
              })
          }),
          (e.prototype.dragEnd = function () {
            ;(this.move = !1), delete this.dragStartPoints
          }),
          e
        )
      })(I.default)
    e.default = a
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var C = i(1),
      I = o(i(4)),
      s = i(0),
      a = (function (t) {
        function e(e) {
          var i = e.points,
            n = e.within,
            g = void 0 === n ? 0 : n,
            o = e.width,
            C = void 0 === o ? 1 : o,
            I = r(e, ['points', 'within', 'width'])
          return (
            (i[0].fillColor = 'rgba(0,0,0,0)'),
            (i[1].fillColor = 'rgba(0,0,0,0)'),
            t.call(
              this,
              A(
                {
                  linePoints: i,
                  fill: 'rgba(243, 255, 0, 0)',
                  stroke: 'rgba(255,255,255,0.5)',
                  within: g,
                  width: C
                },
                I
              )
            ) || this
          )
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = this,
              e = document.createElementNS(C.SVGURI, 'g')
            return (
              (e.innerHTML =
                '\n      <path class="ground-case-out" stroke="' +
                this.stroke +
                '" fill="rgba(0,0,0,0)"/>\n      <path class="ground-case-in" stroke="' +
                this.stroke +
                '" fill="rgba(0,0,0,0)" />\n      <rect width="0.00001" height="0.00001" class="ground-case-left" stroke="rgba(255,255,255,0)" />\n      <rect width="0.00001" height="0.00001" class="ground-case-right" stroke="rgba(255,255,255,0)" />\n    '),
              (this.out = e.querySelector('.ground-case-out')),
              (this.in = e.querySelector('.ground-case-in')),
              (this.left = e.querySelector('.ground-case-left')),
              (this.right = e.querySelector('.ground-case-right')),
              this.nextTick(function () {
                e.appendChild(t.linePoints[0].real), e.appendChild(t.linePoints[1].real)
              }),
              e
            )
          }),
          (e.prototype.setHoverStyle = function () {
            this.fill = 'rgba(243, 255, 0, 0.8)'
          }),
          (e.prototype.setUnHoverStyle = function () {
            this.fill = 'rgba(0,0,0,0)'
          }),
          (e.prototype.getOutInPath = function (t, e, i, n, g, A, r) {
            var o = this
            void 0 === A && (A = 0), void 0 === r && (r = 0)
            var C,
              I = i,
              a = s.getDisVerticalLinePoints(this.attachment, t, I),
              l = s.getDisVerticalLinePoints(this.attachment, e, I),
              u = { x: 0, y: 0 },
              c = s.lineDis({ points: [a[0], u] }) < s.lineDis({ points: [a[1], u] }),
              h = this.within ? (c ? a[1] : a[0]) : c ? a[0] : a[1]
            h
              ? (C = l[a.indexOf(h)])
              : (C = this.within
                  ? l.find(function (t) {
                      return o.rooms.find(function (e) {
                        return !s.pointInside(e, t)
                      })
                    })
                  : l.find(function (t) {
                      return o.rooms.find(function (e) {
                        return s.pointInside(e, t)
                      })
                    }))
              ? (h = a[l.indexOf(C)])
              : ((h = a[0]), (C = l[0])),
              (A = A || h),
              (r = r || C)
            var p = s.getDisVerticalLinePoints(this.attachment, t, g).sort(function (t, e) {
              return s.lineDis({ points: [A, t] }) - s.lineDis({ points: [A, e] })
            })[1]
            return [
              h,
              C,
              s.getDisVerticalLinePoints(this.attachment, e, g).sort(function (t, e) {
                return s.lineDis({ points: [r, t] }) - s.lineDis({ points: [r, e] })
              })[1],
              p,
              h
            ]
          }),
          (e.prototype.update = function () {
            var t = 3 * this.width * this.multiple,
              e = this.width * this.multiple,
              i = 0.4 * s.lineDis({ points: this.linePoints })
            i / this.multiple > 30 && (i = 30 * this.multiple)
            var n = this.linePoints[0],
              g = this.linePoints[1],
              A = s.getDisPointLinePoints(this.attachment, n, t),
              r = A[0],
              o = A[1],
              C = s.getDisPointLinePoints(this.attachment, g, t),
              I = C[0],
              a = C[1]
            if (
              ((n = s.lineDis({ points: [r, g] }) > s.lineDis({ points: [o, g] }) ? r : o),
              (g = s.lineDis({ points: [I, n] }) > s.lineDis({ points: [a, n] }) ? I : a),
              !isNaN(r.x))
            ) {
              this.left.setAttribute('stroke-width', t.toString()),
                this.left.setAttribute('x', this.linePoints[0].x.toString()),
                this.left.setAttribute('y', this.linePoints[0].y.toString()),
                this.right.setAttribute('stroke-width', t.toString()),
                this.right.setAttribute('x', this.linePoints[1].x.toString()),
                this.right.setAttribute('y', this.linePoints[1].y.toString())
              var l = this.getOutInPath(n, g, t, e, i)
              ;(this.ctl = [l[2], l[3]]),
                this.out.setAttribute('fill', this.fill),
                this.out.setAttribute('stroke-width', e.toString()),
                this.out.setAttribute('stroke', this.stroke),
                this.out.setAttribute(
                  'd',
                  l
                    .map(function (t, e) {
                      return (e ? 'L ' : 'M ') + t.x + ' ' + t.y
                    })
                    .join(' ')
                )
              var u = s.getLineDisSelectPoint({ points: this.linePoints }, n, t),
                c = s.getLineDisSelectPoint({ points: this.linePoints }, g, t)
              this.in.setAttribute('fill', this.fill),
                this.in.setAttribute('stroke-width', e.toString()),
                this.in.setAttribute('stroke', this.stroke),
                this.in.setAttribute(
                  'd',
                  this.getOutInPath(u, c, t, e, i - s.lineDis({ points: [u, n] }), l[0], l[1])
                    .map(function (t, e) {
                      return (e ? 'L ' : 'M ') + t.x + ' ' + t.y
                    })
                    .join(' ')
                ),
                this.attachment.update()
            }
          }),
          (e.prototype.dragStart = function (t) {
            ;(this.move =
              this.linePoints[0].real === t.target || this.linePoints[1].real === t.target),
              (this.dragStartPoints = this.linePoints.map(function (t) {
                return { x: t.x, y: t.y }
              }))
          }),
          (e.prototype.drag = function (t) {
            var e = this
            this.move ||
              this.linePoints.forEach(function (i, n) {
                ;(i.x = e.dragStartPoints[n].x + t.x * e.multiple),
                  (i.y = e.dragStartPoints[n].y + t.y * e.multiple)
              })
          }),
          (e.prototype.dragEnd = function () {
            ;(this.move = !1), delete this.dragStartPoints
          }),
          e
        )
      })(I.default)
    e.default = a
  },
  function (t, e, i) {
    var n =
        (this && this.__assign) ||
        function () {
          return (n =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      g =
        (this && this.__awaiter) ||
        function (t, e, i, n) {
          return new (i || (i = Promise))(function (g, A) {
            function r(t) {
              try {
                C(n.next(t))
              } catch (t) {
                A(t)
              }
            }
            function o(t) {
              try {
                C(n.throw(t))
              } catch (t) {
                A(t)
              }
            }
            function C(t) {
              var e
              t.done
                ? g(t.value)
                : ((e = t.value),
                  e instanceof i
                    ? e
                    : new i(function (t) {
                        t(e)
                      })).then(r, o)
            }
            C((n = n.apply(t, e || [])).next())
          })
        },
      A =
        (this && this.__generator) ||
        function (t, e) {
          var i,
            n,
            g,
            A,
            r = {
              label: 0,
              sent: function () {
                if (1 & g[0]) throw g[1]
                return g[1]
              },
              trys: [],
              ops: []
            }
          return (
            (A = { next: o(0), throw: o(1), return: o(2) }),
            'function' == typeof Symbol &&
              (A[Symbol.iterator] = function () {
                return this
              }),
            A
          )
          function o(A) {
            return function (o) {
              return (function (A) {
                if (i) throw new TypeError('Generator is already executing.')
                for (; r; )
                  try {
                    if (
                      ((i = 1),
                      n &&
                        (g =
                          2 & A[0]
                            ? n.return
                            : A[0]
                            ? n.throw || ((g = n.return) && g.call(n), 0)
                            : n.next) &&
                        !(g = g.call(n, A[1])).done)
                    )
                      return g
                    switch (((n = 0), g && (A = [2 & A[0], g.value]), A[0])) {
                      case 0:
                      case 1:
                        g = A
                        break
                      case 4:
                        return r.label++, { value: A[1], done: !1 }
                      case 5:
                        r.label++, (n = A[1]), (A = [0])
                        continue
                      case 7:
                        ;(A = r.ops.pop()), r.trys.pop()
                        continue
                      default:
                        if (
                          !(g = (g = r.trys).length > 0 && g[g.length - 1]) &&
                          (6 === A[0] || 2 === A[0])
                        ) {
                          r = 0
                          continue
                        }
                        if (3 === A[0] && (!g || (A[1] > g[0] && A[1] < g[3]))) {
                          r.label = A[1]
                          break
                        }
                        if (6 === A[0] && r.label < g[1]) {
                          ;(r.label = g[1]), (g = A)
                          break
                        }
                        if (g && r.label < g[2]) {
                          ;(r.label = g[2]), r.ops.push(A)
                          break
                        }
                        g[2] && r.ops.pop(), r.trys.pop()
                        continue
                    }
                    A = e.call(t, r)
                  } catch (t) {
                    ;(A = [6, t]), (n = 0)
                  } finally {
                    i = g = 0
                  }
                if (5 & A[0]) throw A[1]
                return { value: A[0] ? A[1] : void 0, done: !0 }
              })([A, o])
            }
          }
        },
      r =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      o =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var C = o(i(49)),
      I = o(i(5)),
      s = o(i(11)),
      a = o(i(8)),
      l = o(i(7)),
      u = o(i(20)),
      c = o(i(15)),
      h = o(i(21)),
      p = o(i(17)),
      d = o(i(18)),
      f = i(3),
      y = o(i(12)),
      v = o(i(14)),
      m = o(i(16)),
      b = o(i(19)),
      x = o(i(50))
    ;(e.roateDataY = function (t) {
      return (
        [
          (t = n(n({}, t), {
            vertex: t.vertex.map(function (t) {
              return n(n({}, t), { y: -t.y })
            }),
            window: r(t.window),
            column: r(t.column),
            door: r(t.door),
            groundCase: r(t.groundCase),
            slideDoor: r(t.slideDoor),
            bayCase: r(t.bayCase),
            tagging: r(t.tagging),
            furnColumn: r(t.furnColumn),
            furnFlue: r(t.furnFlue),
            doubleDoor: r(t.doubleDoor)
          })).window,
          t.column,
          t.door,
          t.slideDoor,
          t.tagging,
          t.groundCase,
          t.bayCase,
          t.furnColumn,
          t.furnFlue,
          t.doubleDoor
        ].forEach(function (t) {
          t.forEach(function (e, i) {
            t[i] = n(n({}, e), {
              pos: e.pos.map(function (t, e) {
                return e % 2 ? -t : t
              })
            })
          })
        }),
        t
      )
    }),
      (e.attchTransform = function (t) {
        ;(t.getData = function (i) {
          return (
            void 0 === i && (i = !1),
            {
              floors: t.processings.map(function (n) {
                var g = e.roateDataY(n.toData())
                return (g.dire = n.direction.angle), i && (g = x.default(g, t)), g
              })
            }
          )
        }),
          (t.loadData = function (i) {
            i.floors || ((i.show = !0), (i = { floors: [i] }))
            var n = JSON.parse(JSON.stringify(i))
            n.floors.some(function (t) {
              return t.show
            }) || (n.floors[0].show = !0),
              (n.floors = n.floors.map(function (t) {
                return e.roateDataY(
                  (function (t) {
                    ;(t.column = t.column || []),
                      (t.window = t.window || []),
                      (t.doubleDoor = t.doubleDoor || []),
                      (t.door = t.door || []),
                      (t.groundCase = t.groundCase || []),
                      (t.bayCase = t.bayCase || []),
                      (t.slideDoor = t.slideDoor || []),
                      (t.tagging = t.tagging || []),
                      (t.furnColumn = t.furnColumn || []),
                      (t.furnFlue = t.furnFlue || [])
                    var e = [
                      'column',
                      'window',
                      'door',
                      'groundCase',
                      'bayCase',
                      'slideDoor',
                      'tagging',
                      'furnColumn',
                      'furnFlue'
                    ]
                    t['vertex-xy'] &&
                      ((t.vertex = t['vertex-xy']),
                      (t.wall = t.segment.map(function (t) {
                        return {
                          id: t.id,
                          p1: t.a,
                          p2: t.b,
                          border: t.border,
                          exterior: t.exterior
                        }
                      }))),
                      t['outdoor-segment'] &&
                        ((t.wall = t.wall.concat(
                          t['outdoor-segment'].map(function (t) {
                            return { id: t.id, p1: t.a, p2: t.b, border: t.border, exterior: !0 }
                          })
                        )),
                        (t.vertex = t.vertex.concat(t['outdoor-vertex'])))
                    for (
                      var i,
                        n = function (n) {
                          var g = t.wall
                            .filter(function (e) {
                              return e !== t.wall[n]
                            })
                            .find(function (e) {
                              var i = e.p1,
                                g = e.p2
                              return (
                                (i === t.wall[n].p1 && g === t.wall[n].p2) ||
                                (g === t.wall[n].p1 && i === t.wall[n].p2)
                              )
                            })
                          g &&
                            (e.forEach(function (e) {
                              t[e].forEach(function (e) {
                                e.line === t.wall[n].id &&
                                  ((e.line = g.id), console.log('update', e))
                              })
                            }),
                            t.wall.splice(n--, 1)),
                            (i = n)
                        },
                        g = 0;
                      g < t.wall.length;
                      g++
                    )
                      n(g), (g = i)
                    return (
                      (t.vertex = t.vertex.filter(function (e) {
                        return t.wall.some(function (t) {
                          var i = t.p1,
                            n = t.p2
                          return e.id === i || e.id === n
                        })
                      })),
                      t
                    )
                  })(t)
                )
              })),
              !0,
              t.processings.forEach(function (t) {
                t.attrs.forEach(function (e) {
                  for (; t[e].length; ) t[e][0].ele.destroy(!0, !0)
                })
              }),
              n.floors.forEach(function (e) {
                var i = t.processings.find(function (t) {
                  return t.id === e.id
                })
                i || ((i = t.addProcessing()).id = e.id)
              })
            for (
              var g,
                A = function (e) {
                  n.floors.some(function (i) {
                    var n = i.id
                    return t.processings[e].id === n
                  }) || t.delProcessing(t.processings[e--]),
                    (g = e)
                },
                r = 0;
              r < t.processings.length;
              r++
            )
              A(r), (r = g)
            t.processings.forEach(function (t) {
              for (
                var e,
                  i = function (i) {
                    var n = t.render.elements[i]
                    ;[
                      s.default,
                      a.default,
                      c.default,
                      m.default,
                      l.default,
                      v.default,
                      I.default,
                      u.default,
                      b.default,
                      h.default,
                      p.default,
                      d.default
                    ].some(function (t) {
                      return n instanceof t
                    }) && (t.render.remove(n), i--),
                      (e = i)
                  },
                  n = 0;
                n < t.render.elements.length;
                n++
              )
                i(n), (n = e)
            }),
              n.floors.forEach(function (e) {
                var i = t.processings.find(function (t) {
                  return t.id === e.id
                })
                ;(e.surplus = []),
                  i.toEles(e),
                  (i.direction.__state.direct = !0),
                  (i.direction.angle = e.dire || 0),
                  (i.direction.__state.direct = !1),
                  i.direction.update(),
                  t.adapt(e, void 0, void 0, n.floors[0])
              }),
              setTimeout(function () {
                return !1
              }, 5e3)
          })
      }),
      (e.attchStack = function (t) {
        sessionStorage.clear()
        var e = 0,
          i = new C.default('cad_' + Date.now())
        t.stack = i
        var n = function (t) {
          void 0 === t && (t = e)
          var n = i.getLength()
          return { previous: (1 !== n || 1 !== e) && t > 0, next: t < n - 1 }
        }
        ;(t.clearStack = function () {
          sessionStorage.clear(), i.setLength((e = 0))
        }),
          (t.getCurrentData = function () {
            return i.get(e - 1)
          }),
          (t.preservation = f.debounce(function () {
            if (!t.stoppreservation) {
              var n = t.getData(),
                g = i.getLength() - 1
              ;(0 !== g && JSON.stringify(n) === JSON.stringify(i.get(g))) || (i.push(n), ++e)
            }
          }, 500))
        var g
        Date.now()
        ;(t.previous = function () {
          return n().previous
            ? (--e,
              clearTimeout(g),
              (g = setTimeout(function () {
                t.loadData(i.get(e))
              }, 500)),
              n())
            : n()
        }),
          (t.next = function () {
            return n().next
              ? (++e,
                clearTimeout(g),
                (g = setTimeout(function () {
                  t.loadData(i.get(e))
                }, 500)),
                n())
              : n()
          }),
          (t.getStackState = n)
        var A = t.destroy
        t.destroy = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          ;(i = null), A.apply(this, t)
        }
      }),
      (e.autoPreservation = function (t) {
        ;[
          I.default,
          s.default,
          a.default,
          l.default,
          u.default,
          c.default,
          h.default,
          p.default,
          y.default,
          d.default,
          v.default,
          m.default
        ].forEach(function (e) {
          var i = e.prototype.dragEnd
          e.prototype.dragEnd = function () {
            for (var e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n]
            return g(this, void 0, void 0, function () {
              return A(this, function (n) {
                switch (n.label) {
                  case 0:
                    return i ? [4, i.call.apply(i, r([this], e))] : [3, 2]
                  case 1:
                    n.sent(), (n.label = 2)
                  case 2:
                    return (
                      setTimeout(function () {
                        t.preservation()
                      }, 100),
                      [2]
                    )
                }
              })
            })
          }
          var n = t.destroy
          t.destroy = function () {
            for (var t = [], g = 0; g < arguments.length; g++) t[g] = arguments[g]
            n.apply(this, t), (e.prototype.dragEnd = i)
          }
        })
        var e = t.increase
        ;(t.increase = function () {
          for (var i = [], n = 0; n < arguments.length; n++) i[n] = arguments[n]
          var g = e.call.apply(e, r([t], i))
          return (
            g.error ||
              setTimeout(function () {
                t.preservation()
              }, 100),
            g
          )
        }),
          t.preservation()
      })
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = i(2),
      o = i(1),
      C = i(0),
      I = function (t, e) {
        return t.contains
          ? t.contains(e)
          : Array.from(t.childNodes).some(function (t) {
              return t === e
            })
      },
      s = (function (t) {
        function e(e) {
          var i = e.local,
            n = e.renderer,
            g = e.active,
            A = void 0 === g ? 0 : g,
            r = e.show,
            o = void 0 === r || r,
            C = t.call(this, { local: i, renderer: n, dialog: 0, active: A, show: o }) || this
          return (
            (C.items = []),
            (C.layerClick = function () {
              return (C.dialog = 0)
            }),
            n.layer.addEventListener('click', C.layerClick),
            C
          )
        }
        return (
          g(e, t),
          (e.prototype.grentImage = function (t) {
            var e = document.createElementNS(o.SVGURI, 'image')
            return (
              (e.href.baseVal = i(54)),
              e.setAttribute('x', (-t / 2).toString()),
              e.setAttribute('y', (-t / 2).toString()),
              e.setAttribute('width', t.toString()),
              e.setAttribute('height', t.toString()),
              e
            )
          }),
          (e.prototype.grentNode = function () {
            var t = document.createElementNS(o.SVGURI, 'g')
            ;(this.path = document.createElementNS(o.SVGURI, 'path')),
              this.path.setAttribute('stroke', 'rgb(0, 200, 175)'),
              this.path.setAttribute('fill', 'transparent')
            var e = document.createElementNS(o.SVGURI, 'circle')
            e.setAttribute('fill', 'rgb(0, 200, 175)'), e.setAttribute('stroke', '#fff')
            var i = document.createElementNS(o.SVGURI, 'text')
            return (
              i.setAttribute('fill', '#fff'),
              i.setAttribute('text-anchor', 'middle'),
              i.setAttribute('dy', '.4em'),
              (this.temp = document.createElementNS(o.SVGURI, 'g')),
              this.temp.appendChild(e),
              this.temp.appendChild(i),
              (this.temp.style.cursor = 'pointer'),
              (this.dialogLayer = document.createElementNS(o.SVGURI, 'g')),
              (this.itemsLayout = document.createElementNS(o.SVGURI, 'path')),
              this.itemsLayout.setAttribute('fill', 'rgba(255,255,255,0.7)'),
              this.dialogLayer.appendChild(this.itemsLayout),
              t.appendChild(this.path),
              t
            )
          }),
          (e.prototype.update = function () {
            var t = this,
              e = 9 * this.multiple,
              i = 2 * this.multiple
            if (
              ((this.real.style.display = this.show ? 'initial' : 'none'),
              this.path.setAttribute('stroke-width', (2 * this.multiple).toString()),
              this.local.length > 0)
            )
              this.path.setAttribute(
                'd',
                'M ' +
                  this.local
                    .map(function (t) {
                      return t.x + ' ' + t.y
                    })
                    .join(' L ')
              )
            else if ((this.path.setAttribute('d', ''), this.dialog)) return (this.dialog = 0)
            this.items.forEach(function (e) {
              try {
                t.real.removeChild(e)
              } catch (t) {}
            }),
              (this.items = []),
              (this.temp.style.display = this.show ? 'initial' : 'none')
            var n = this.local.length - this.items.length
            if (n > 0)
              for (var g = 0; g < n; g++) {
                var A = this.temp.cloneNode(!0)
                this.real.appendChild(A), this.items.push(A)
              }
            else if (n < 0)
              for (g = 0; g > n; g--) {
                var r = this.items.shift()
                this.real.removeChild(r)
              }
            var o = 0
            for (g = 0; g < this.local.length; g++) {
              var C = this.items[g].querySelector('circle'),
                I = this.items[g].querySelector('text')
              this.items[g].setAttribute(
                'transform',
                'translate(' + this.local[g].x + ',' + this.local[g].y + ')'
              ),
                (this.items[g].style.display = 'inherit'),
                C.setAttribute('stroke-width', i.toString()),
                C.setAttribute('r', e.toString()),
                I.setAttribute('font-size', (10 * this.multiple).toString()),
                this.local[g].rangn
                  ? (C.setAttribute('fill', '#666666'),
                    this.items[g].appendChild(this.grentImage(e + i)))
                  : (I.textContent = (++o).toString()),
                this.local[g] === this.active &&
                  (I.setAttribute('fill', 'rgb(250,250,0)'),
                  C.setAttribute('stroke', 'rgb(250,250,0)'),
                  this.items[g].setAttribute('class', 'active'))
            }
            var s = this.calcGroup()
            for (g = 0; g < s.length; g++)
              s[g].body.forEach(function (e) {
                var i = t.local.indexOf(e)
                t.items[i].style.display = 'none'
              })
            this.showDialog(2 * (e + i))
          }),
          (e.prototype.showDialog = function (t) {
            var e = this
            if (0 !== this.dialog) {
              for (var i = 0; i < this.dialogLayer.childNodes.length; i++)
                this.dialogLayer.childNodes[i] !== this.itemsLayout &&
                  (this.dialogLayer.removeChild(this.dialogLayer.childNodes[i]), i--)
              this.itemsLayout.innerHTML = ''
              var n = 5 * this.multiple,
                g = (t + n) * this.dialog.items.length,
                A = t + 2 * n,
                r = this.dialog.pos.x - g / 2,
                o = this.dialog.pos.y - A - t,
                C = 8 * this.multiple
              this.itemsLayout.setAttribute(
                'd',
                '\n      M ' +
                  r +
                  ' ' +
                  (o + A) +
                  '\n      A ' +
                  A / 2 +
                  ' ' +
                  A / 2 +
                  ' 0 1 1 ' +
                  r +
                  ' ' +
                  o +
                  '\n      L ' +
                  (r + g) +
                  ' ' +
                  o +
                  '\n      A ' +
                  A / 2 +
                  ' ' +
                  A / 2 +
                  ' 0 1 1 ' +
                  (r + g) +
                  ' ' +
                  (o + A) +
                  '\n      L ' +
                  (r + g / 2 + C) +
                  ' ' +
                  (o + A) +
                  '\n      L ' +
                  (r + g / 2) +
                  ' ' +
                  (o + A + C) +
                  '\n      L ' +
                  (r + g / 2 - C) +
                  ' ' +
                  (o + A) +
                  '\n      L ' +
                  r +
                  ' ' +
                  (o + A) +
                  '\n    '
              )
              var I = function (i, g) {
                i.setAttribute(
                  'transform',
                  'translate(' + (r + (t + n) * g) + ',' + (o + (t / 2 + n)) + ')'
                ),
                  (i.style.display = 'inline'),
                  e.dialogLayer.appendChild(i)
              }
              this.dialog.items.forEach(function (t, i) {
                I(e.items[e.local.indexOf(t)], i + 1)
              }),
                I(this.items[this.local.indexOf(this.dialog.pos)].cloneNode(!0), 0)
            }
          }),
          (e.prototype.calcGroup = function () {
            var t = this,
              e = 18 * this.multiple,
              i = []
            return (
              this.local.forEach(function (n) {
                if (
                  !i.find(function (t) {
                    return ~t.body.indexOf(n)
                  })
                ) {
                  var g = t.local.filter(function (t) {
                    return n !== t && C.lineDis({ points: [n, t] }) < e
                  })
                  g.length > 0 && i.push({ head: n, body: g })
                }
              }),
              i
            )
          }),
          (e.prototype.notice = function () {
            0 !== this.dialog
              ? this.real.appendChild(this.dialogLayer)
              : I(this.real, this.dialogLayer) && this.real.removeChild(this.dialogLayer)
          }),
          (e.prototype.intercept = function (t, e) {
            var i = this,
              n = e.active
            if (!n) return !0
            var g = this.calcGroup().find(function (t) {
              var e = t.head,
                i = t.body
              return e === n || ~i.indexOf(n)
            })
            if (
              (this.nextTick(function () {
                i.dialog = g ? { pos: g.head, items: A(g.body) } : 0
              }),
              this.active && this.items[this.local.indexOf(this.active)])
            ) {
              var r = this.items[this.local.indexOf(this.active)],
                o = r.querySelector('circle')
              r.querySelector('text').setAttribute('fill', '#fff'),
                o.setAttribute('stroke', '#fff'),
                r.setAttribute('class', 'active')
            }
            return !0
          }),
          (e.prototype.setActive = function (t) {
            this.active = t
          }),
          (e.prototype.click = function (t) {
            t.stopPropagation()
            for (var e = 0; e < this.items.length; e++)
              if (I(this.items[e], t.target) || t.target === this.items[e]) {
                this.setActive(this.local[e])
                break
              }
          }),
          (e.prototype.destroy = function () {
            this.renderer.layer.removeEventListener('click', this.layerClick)
          }),
          e
        )
      })(r.CADElement)
    e.default = s
  },
  function (t, e, i) {
    var n =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      g =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 }), i(25)
    var A = g(i(26)),
      r = i(39),
      o = i(40),
      C = i(46),
      I = i(48),
      s = i(22),
      a = i(51),
      l = i(52),
      u = i(53),
      c = i(55),
      h = i(56),
      p = g(i(57)),
      d = i(58),
      f = g(i(7))
    e.Column = f.default
    var y = g(i(8))
    e.Door = y.default
    var v = g(i(11))
    e.Casement = v.default
    var m = i(2),
      b = g(i(23)),
      x = g(i(59)),
      _ = g(i(63)),
      w = m.CADElement.prototype.listen
    m.CADElement.prototype.listen = function () {
      for (var t = this, e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
      var g = this.render.processing.cad.edits.some(function (e) {
        return t instanceof e
      })
      ;(g || this.render.processing.cad.edit || this instanceof b.default) &&
        w.call.apply(w, n([this], e))
    }
    var P = f.default.prototype.addEvent
    function O(t) {
      var e = t.data,
        i = t.layer,
        n = t.edit,
        g = void 0 === n || n,
        f = t.padding,
        y = void 0 === f ? 20 : f,
        v = new A.default({ dom: i, padding: y })
      return (
        (v.edit = g),
        r.attachInsert(v),
        g
          ? (s.attchTransform(v),
            s.attchStack(v),
            s.autoPreservation(v),
            a.attchDOMTranform(v),
            l.attachDisabled(v),
            p.default(v))
          : (s.attchTransform(v), a.attchDOMTranform(v)),
        h.attchCustom(v),
        c.attachStyle(v),
        I.attachScreenshot(v),
        C.attachSign(v),
        o.attachGauge(v),
        u.attachRote(v),
        g && (v.openMouseHandle(), v.showGauge()),
        d.other(v),
        x.default(v),
        v.loadData(e),
        (v.toCanvas = function (t) {
          return _.default(v, t)
        }),
        v
      )
    }
    ;(f.default.prototype.addEvent = function () {
      for (var t = this, e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
      var g = this.render.processing.cad.edits.some(function (e) {
        return t instanceof e
      })
      ;(g || this.render.processing.cad.edit) && P.call.apply(P, n([this], e))
    }),
      (e.structureCAD = O),
      (e.default = O),
      (window.structureCAD = O)
  },
  function (t, e) {
    !(function () {
      try {
        if ('undefined' == typeof SVGElement || Boolean(SVGElement.prototype.innerHTML)) return
      } catch (t) {
        return
      }
      function t(e) {
        switch (e.nodeType) {
          case 1:
            return (function (e) {
              var i = ''
              ;(i += '<' + e.tagName),
                e.hasAttributes() &&
                  [].forEach.call(e.attributes, function (t) {
                    i += ' ' + t.name + '="' + t.value + '"'
                  })
              ;(i += '>'),
                e.hasChildNodes() &&
                  [].forEach.call(e.childNodes, function (e) {
                    i += t(e)
                  })
              return (i += '</' + e.tagName + '>')
            })(e)
          case 3:
            return (function (t) {
              return t.textContent
                .replace(/&/g, '&amp;')
                .replace(/</g, '&lt;')
                .replace(/>/g, '&gt;')
            })(e)
          case 8:
            return (function (t) {
              return '\x3c!--' + t.nodeValue + '--\x3e'
            })(e)
        }
      }
      Object.defineProperty(SVGElement.prototype, 'innerHTML', {
        get: function () {
          var e = ''
          return (
            [].forEach.call(this.childNodes, function (i) {
              e += t(i)
            }),
            e
          )
        },
        set: function (t) {
          for (; this.firstChild; ) this.removeChild(this.firstChild)
          try {
            var e = new DOMParser()
            e.async = !1
            var i =
                "<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>" +
                t +
                '</svg>',
              n = e.parseFromString(i, 'text/xml').documentElement
            ;[].forEach.call(
              n.childNodes,
              function (t) {
                this.appendChild(this.ownerDocument.importNode(t, !0))
              }.bind(this)
            )
          } catch (t) {
            throw new Error('Error parsing markup string')
          }
        }
      }),
        Object.defineProperty(SVGElement.prototype, 'innerSVG', {
          get: function () {
            return this.innerHTML
          },
          set: function (t) {
            this.innerHTML = t
          }
        })
    })()
  },
  function (t, e, i) {
    var n =
      (this && this.__importDefault) ||
      function (t) {
        return t && t.__esModule ? t : { default: t }
      }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var g = i(3),
      A = n(i(27)),
      r = i(2),
      o = (function () {
        function t(t) {
          var e = this,
            i = t.dom,
            n = t.padding,
            g = void 0 === n ? 20 : n
          ;(this.processings = []),
            Object.defineProperty(this, 'processing', {
              get: function () {
                return this.processings.find(function (t) {
                  return t.show
                })
              }
            }),
            (this.layer = i),
            (this.padding = g),
            (this.isDestroy = !1),
            (this.resizeHandle = function () {
              return e.processing.data && e.adapt(e.processing.data)
            }),
            this.init()
        }
        return (
          (t.prototype.addProcessing = function () {
            var t = new A.default({ dom: this.layer })
            return (t.cad = this), this.processings.push(t), t
          }),
          (t.prototype.delProcessing = function (t) {
            t.render.elements.forEach(function (t) {
              return t.destroy()
            }),
              this.processings.splice(this.processings.indexOf(t), 1)
          }),
          (t.prototype.adapt = function (t, e, i, n) {
            void 0 === t && (t = this.processing.data)
            var A = this.processings.find(function (e) {
              return e.data.id === t.id
            })
            ;(e =
              e ||
              A.render.layer.offsetWidth ||
              parseInt(getComputedStyle(A.render.layer).width) ||
              100),
              (i =
                i ||
                A.render.layer.offsetHeight ||
                parseInt(getComputedStyle(A.render.layer).height) ||
                100),
              0 === t.vertex.length
                ? (A.render.props = g.getMapMultipleWH(
                    e,
                    i,
                    {
                      vertex: [
                        { x: -15, y: -15 },
                        { x: -15, y: 15 },
                        { x: 15, y: -15 },
                        { x: 15, y: 15 }
                      ]
                    },
                    this.padding
                  ))
                : (e && i && (A.render.props = g.getMapMultipleWH(e, i, t, this.padding)),
                  A.render.props.scale <= 0 &&
                    (A.render.props = {
                      width: 0,
                      height: 0,
                      multiple: 0,
                      scale: 1,
                      top: 0,
                      left: 0
                    })),
              A.render.adaptLayer(e, i),
              r.CADElement.update(A.render)
          }),
          (t.prototype.init = function () {
            window.addEventListener('resize', this.resizeHandle, !1)
          }),
          (t.prototype.destroy = function () {
            for (var t in (window.removeEventListener('resize', this.resizeHandle, !1),
            this.processing.destroy(),
            (this.processing = null),
            (this.isDestroy = !0),
            this))
              'function' == typeof this[t] ? (this[t] = function () {}) : delete this[t]
          }),
          t
        )
      })()
    e.default = o
  },
  function (t, e, i) {
    var n =
        (this && this.__assign) ||
        function () {
          return (n =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      g =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      A =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = A(i(28)),
      o = i(31),
      C = i(36),
      I = i(37),
      s = i(38),
      a = (function () {
        function t(t) {
          var e = t.dom
          ;(this.render = new r.default({ layer: e, processing: this })),
            (this.id = 1),
            (this.points = []),
            (this.lines = []),
            (this.cases = []),
            (this.doors = []),
            (this.columns = []),
            (this.slideDoors = []),
            (this.groundCases = []),
            (this.taggings = []),
            (this.bayCases = []),
            (this.furnColumns = []),
            (this.furnFlues = []),
            (this.doubleDoors = []),
            this.manageShow()
        }
        return (
          (t.prototype.manageShow = function () {
            var t = this,
              e = !1
            Object.defineProperty(this, 'show', {
              get: function () {
                return e
              },
              set: function (i) {
                console.log('---------', e),
                  (e = i),
                  (t.render.svg.style.display = e ? 'block' : 'none')
              }
            })
          }),
          (t.prototype.rep = function (t) {
            var e = this
            this.attrs.forEach(function (i) {
              var n = e[i].findIndex(function (e) {
                return e.ele === t
              })
              ~n && ((t.__id = e[i][n] && e[i][n].id), e[i].splice(n, 1))
            }),
              this.render || console.error('鎺夌敤 rep'),
              this.render && this.render.remove(t)
          }),
          (t.prototype.retrofitElementDestroy = function (t) {
            var e = this,
              i = t.destroy
            t.__load_destroy ||
              ((t.__load_destroy = !0),
              (t.destroy = function () {
                for (var n = [], A = 0; A < arguments.length; A++) n[A] = arguments[A]
                n[0]
                  ? e.rep(t)
                  : t.nextTick(function () {
                      return e.rep(t)
                    }),
                  i.call.apply(i, g([t], n)),
                  (t.__load_destroy = !1)
              }))
          }),
          (t.prototype.updateWallPoints = function (t, e, i) {}),
          (t.prototype.retrofitElementIntercept = function (t) {}),
          (t.prototype.depLines = function () {
            for (
              var t,
                e = g(this.lines),
                i = function (i) {
                  var n = e[i].ele,
                    g = e.some(function (t) {
                      var e = t.ele
                      return (
                        n !== e &&
                        ((n.points[0] === e.points[0] && n.points[1] === e.points[1]) ||
                          (n.points[1] === e.points[0] && n.points[0] === e.points[1]))
                      )
                    })
                  ;(n.points[0] === n.points[1] || g) && (e[i].ele.destroy(), e.splice(i--, 1)),
                    (t = i)
                },
                n = 0;
              n < e.length;
              n++
            )
              i(n), (n = t)
          }),
          (t.prototype.destroy = function () {
            var t = this,
              e = this.attrs.map(function (e) {
                return t[e]
              })
            ;(this.data = {
              id: 1,
              show: !0,
              vertex: [],
              wall: [],
              window: [],
              column: [],
              door: [],
              surplus: [],
              slideDoor: [],
              tagging: [],
              groundCase: [],
              bayCase: [],
              doubleDoor: [],
              furnColumn: [],
              furnFlue: [],
              dire: 0
            }),
              e.forEach(function (t) {
                for (; t.length; ) t[0].ele.destroy(!0)
              }),
              this.render.destroy(),
              (this.render = null)
          }),
          t
        )
      })()
    ;(e._Processing = a), (e.default = a)
    var l = n(n(n(n({}, o.methods), C.methods), I.methods), s.methods)
    Object.keys(l).forEach(function (t) {
      return (a.prototype[t] = l[t])
    })
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 })
    var n = i(2),
      g = i(1),
      A = (function () {
        function t(t) {
          var e = this,
            i = t.layer,
            g = t.width,
            A = void 0 === g ? i.offsetWidth : g,
            r = t.height,
            o = void 0 === r ? i.offsetHeight : r,
            C = t.processing
          ;(this.clickHandle = function () {
            e.elements.forEach(function (t) {
              return t.changeSelect(!1)
            })
          }),
            n.CADElement.init(this),
            (this.props = { left: 0, top: 0, width: A, height: o, multiple: 1, scale: 1 }),
            (this.elements = []),
            (this.processing = C),
            this.init(i)
        }
        return (
          (t.prototype.init = function (t) {
            ;(this.svg = document.createElementNS(g.SVGURI, 'svg')),
              (this.g = document.createElementNS(g.SVGURI, 'g')),
              this.svg.appendChild(this.g),
              (this.layer = t),
              (this.layer.style.position = 'relative'),
              (this.svg.style.position = 'absolute'),
              (this.svg.style.left = '0'),
              (this.svg.style.top = '0'),
              (this.svg.style.right = '0'),
              (this.svg.style.bottom = '0'),
              this.svg.setAttribute('version', '1.0'),
              this.svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg'),
              this.svg.setAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink'),
              this.svg.addEventListener('click', this.clickHandle, !1),
              this.layer.appendChild(this.svg)
          }),
          (t.prototype.adaptLayer = function (t, e) {
            void 0 === t && (t = this.layer.offsetWidth),
              void 0 === e && (e = this.layer.offsetHeight)
            var i = this.props.width / 2 - this.props.left,
              g = this.props.height / 2 - this.props.top
            this.g.setAttribute(
              'transform',
              '\n      translate(' +
                this.props.left +
                ',' +
                this.props.top +
                ')\n      translate(' +
                i +
                ',' +
                g +
                ')\n      scale(' +
                this.props.scale +
                ',' +
                this.props.scale +
                ')\n      translate(' +
                -i +
                ',' +
                -g +
                ')\n    '
            ),
              this.svg.setAttribute('width', t.toString()),
              this.svg.setAttribute('height', e.toString()),
              this.svg.setAttribute('viewBox', '0 0 ' + this.props.width + ' ' + this.props.height),
              (this.realWidth = t),
              (this.realHeight = e),
              n.CADElement.update(this)
          }),
          (t.prototype.render = function () {
            n.CADElement.update(this)
          }),
          (t.prototype.screenToRealPoint = function (t) {
            var e = t.x,
              i = t.y,
              n = this.props.width / 2 - this.props.left,
              g = this.props.height / 2 - this.props.top,
              A = this.props.width / this.props.multiple,
              r = this.props.height / this.props.multiple
            return 0 == A || 0 == r
              ? { x: n, y: g }
              : {
                  x: ((e * this.props.width) / A - this.props.left - n) / this.props.scale + n,
                  y: ((i * this.props.height) / r - this.props.top - g) / this.props.scale + g
                }
          }),
          (t.prototype.realPointToScreen = function (t) {
            var e = t.x,
              i = t.y,
              n = this.props.width / 2 - this.props.left,
              g = this.props.height / 2 - this.props.top,
              A = this.props.width / this.props.multiple,
              r = this.props.height / this.props.multiple
            return {
              x: (((e - n) * this.props.scale + n + this.props.left) * A) / this.props.width,
              y: (((i - g) * this.props.scale + g + this.props.top) * r) / this.props.height
            }
          }),
          (t.prototype.push = function () {
            for (var t = this, e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
            e.forEach(function (e) {
              var i = t.elements.find(function (t) {
                return t.zIndex > e.zIndex
              })
              if (i) {
                try {
                  t.g.insertBefore(e.real, i.real)
                } catch (i) {
                  t.g.appendChild(e.real)
                }
                t.elements.splice(t.elements.indexOf(i), 0, e)
              } else t.g.appendChild(e.real), t.elements.push(e)
            })
          }),
          (t.prototype.remove = function () {
            for (var t = this, e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
            e.forEach(function (e) {
              try {
                t.g.removeChild(e.real)
              } catch (t) {}
              ~t.elements.indexOf(e) && t.elements.splice(t.elements.indexOf(e), 1)
            })
          }),
          (t.prototype.destroy = function () {
            this.svg.removeEventListener('click', this.clickHandle, !1),
              this.layer.removeChild(this.svg)
          }),
          t
        )
      })()
    e.default = A
  },
  function (t, e, i) {
    var n =
        (this && this.__assign) ||
        function () {
          return (n =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      g =
        (this && this.__awaiter) ||
        function (t, e, i, n) {
          return new (i || (i = Promise))(function (g, A) {
            function r(t) {
              try {
                C(n.next(t))
              } catch (t) {
                A(t)
              }
            }
            function o(t) {
              try {
                C(n.throw(t))
              } catch (t) {
                A(t)
              }
            }
            function C(t) {
              var e
              t.done
                ? g(t.value)
                : ((e = t.value),
                  e instanceof i
                    ? e
                    : new i(function (t) {
                        t(e)
                      })).then(r, o)
            }
            C((n = n.apply(t, e || [])).next())
          })
        },
      A =
        (this && this.__generator) ||
        function (t, e) {
          var i,
            n,
            g,
            A,
            r = {
              label: 0,
              sent: function () {
                if (1 & g[0]) throw g[1]
                return g[1]
              },
              trys: [],
              ops: []
            }
          return (
            (A = { next: o(0), throw: o(1), return: o(2) }),
            'function' == typeof Symbol &&
              (A[Symbol.iterator] = function () {
                return this
              }),
            A
          )
          function o(A) {
            return function (o) {
              return (function (A) {
                if (i) throw new TypeError('Generator is already executing.')
                for (; r; )
                  try {
                    if (
                      ((i = 1),
                      n &&
                        (g =
                          2 & A[0]
                            ? n.return
                            : A[0]
                            ? n.throw || ((g = n.return) && g.call(n), 0)
                            : n.next) &&
                        !(g = g.call(n, A[1])).done)
                    )
                      return g
                    switch (((n = 0), g && (A = [2 & A[0], g.value]), A[0])) {
                      case 0:
                      case 1:
                        g = A
                        break
                      case 4:
                        return r.label++, { value: A[1], done: !1 }
                      case 5:
                        r.label++, (n = A[1]), (A = [0])
                        continue
                      case 7:
                        ;(A = r.ops.pop()), r.trys.pop()
                        continue
                      default:
                        if (
                          !(g = (g = r.trys).length > 0 && g[g.length - 1]) &&
                          (6 === A[0] || 2 === A[0])
                        ) {
                          r = 0
                          continue
                        }
                        if (3 === A[0] && (!g || (A[1] > g[0] && A[1] < g[3]))) {
                          r.label = A[1]
                          break
                        }
                        if (6 === A[0] && r.label < g[1]) {
                          ;(r.label = g[1]), (g = A)
                          break
                        }
                        if (g && r.label < g[2]) {
                          ;(r.label = g[2]), r.ops.push(A)
                          break
                        }
                        g[2] && r.ops.pop(), r.trys.pop()
                        continue
                    }
                    A = e.call(t, r)
                  } catch (t) {
                    ;(A = [6, t]), (n = 0)
                  } finally {
                    i = g = 0
                  }
                if (5 & A[0]) throw A[1]
                return { value: A[0] ? A[1] : void 0, done: !0 }
              })([A, o])
            }
          }
        },
      r =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var o = i(3),
      C = (function () {
        function t(t, e) {
          var i = this,
            n = e.notice,
            C = e.intercept,
            I = e.childAttr,
            s = e.afferent
          return (
            (this.updateNotices = []),
            (this.changeNotices = []),
            (this.getSubAll = function () {
              var t = []
              return (
                i.subscribe.forEach(function (e) {
                  t.push.apply(t, e.getSubAll())
                }),
                r(i.subscribe, t)
              )
            }),
            (this.data = t),
            (this.subscribe = []),
            (this.updateKeys = new Set()),
            (this.attrs = []),
            (this.intercept = C),
            (this.afferent = s),
            (this.notice = n),
            (this.direct = !1),
            (this.childAttr = I),
            (this.deleteUpdateKey = this.deleteUpdateKey.bind(this)),
            (this.addUpdateKey = this.addUpdateKey.bind(this)),
            (this.changeNotices = []),
            (this.setHandle = o.debounce(
              function (t) {
                return g(i, void 0, void 0, function () {
                  var e
                  return A(this, function (i) {
                    switch (i.label) {
                      case 0:
                        return [4, this.setVal.apply(this, t)]
                      case 1:
                        return (
                          (e = i.sent()),
                          Object.keys(t[4]).forEach(this.deleteUpdateKey),
                          this.noticeTick(),
                          this.noticeAll(e || { args: {} }),
                          e && this.noticeChange(),
                          [2]
                        )
                    }
                  })
                })
              },
              0,
              function (t) {
                var e = t[0][0],
                  i = e.sub,
                  n = e.current,
                  g = e.state,
                  A = e.childAttr,
                  r = {}
                return (
                  t.forEach(function (t) {
                    var e = t[0],
                      i = e.key,
                      n = e.val
                    return (r[i] = n)
                  }),
                  [i, n, g, A, r]
                )
              },
              function () {
                i.changeNotices = []
              }
            )),
            this
          )
        }
        return (
          (t.prototype.addUpdateKey = function (t) {
            var e = this
            this.updateKeys.add(t),
              this.subscribe.forEach(function (t) {
                t.updateKeys.has(e) || t.addUpdateKey(e)
              })
          }),
          (t.prototype.deleteUpdateKey = function (t) {
            var e = this
            this.updateKeys.delete(t),
              0 === this.updateKeys.size &&
                (this.subscribe.forEach(function (t) {
                  t.deleteUpdateKey(e)
                }),
                this.test && this.test())
          }),
          (t.prototype.noticeTick = function () {
            if (0 === this.updateKeys.size)
              for (; this.updateNotices.length; ) this.updateNotices.shift()()
            this.subscribe.forEach(function (t) {
              return t.noticeTick()
            })
          }),
          (t.prototype.noticeChange = function () {
            for (; this.changeNotices.length; ) this.changeNotices.shift()()
            this.subscribe.forEach(function (t) {
              return t.noticeChange()
            })
          }),
          (t.prototype.nextTick = function (t) {
            var e = this
            setTimeout(function () {
              0 === e.updateKeys.size
                ? t()
                : (e.updateNotices.push(t),
                  setTimeout(function () {
                    if (~e.updateNotices.indexOf(t)) {
                      e.updateNotices.slice(e.updateNotices.indexOf(t), 1)
                      t()
                    }
                  }, 200))
            })
          }),
          (t.prototype.nextChange = function (t) {
            this.changeNotices.push(t)
          }),
          (t.prototype.interceptAll = function (t) {
            return g(this, void 0, void 0, function () {
              var e, i, n, g, C, I
              return A(this, function (A) {
                for (
                  e = [], i = [], g = r([this], this.getSubAll()), C = void 0, I = 0;
                  (C = g[I]);
                  I++
                )
                  if ((i.push(C.afferent), C.intercept)) {
                    if (((n = C.intercept(i, t, e)), e.push(n), o.type.isBoolean(n) && !n))
                      return [2, !1]
                  } else e.push(void 0)
                return [2, e]
              })
            })
          }),
          (t.prototype.noticeAll = function (t) {
            t = n(n({}, t), {
              state: { data: this.afferent || this, trigger: t.state, ret: void 0 }
            })
            var e = this.notice(t)
            t.state.ret = e
            for (var i = 0; i < this.subscribe.length; i++) this.subscribe[i].noticeAll(t)
            return t
          }),
          (t.prototype.bindDataChange = function () {
            var t = this
            ;(this.__firstBind = !0),
              Object.keys(this.data).forEach(function (e) {
                t.attrs.push(e), t.bindItem(t, t, t.data, e, t.childAttr)
              }),
              (this.__firstBind = !1)
          }),
          (t.prototype.getSeftSub = function () {
            return [
              this,
              this.subscribe.flatMap(function (t) {
                return t.getSeftSub()
              })
            ]
          }),
          (t.prototype.setVal = function (t, e, i, r, C) {
            return g(this, void 0, void 0, function () {
              var g,
                I,
                s,
                a = this
              return A(this, function (A) {
                switch (A.label) {
                  case 0:
                    return (
                      (g = { args: C }),
                      !o.type.isUndefined(C.x) && o.type.isUndefined(C.y)
                        ? (C.y = this.afferent.y)
                        : !o.type.isUndefined(C.y) &&
                          o.type.isUndefined(C.x) &&
                          (C.x = this.afferent.x),
                      [4, t.interceptAll(C)]
                    )
                  case 1:
                    return (I = A.sent())
                      ? ((s = n({}, C)),
                        I.forEach(function (t) {
                          return (s = n(n({}, s), t))
                        }),
                        Object.keys(i).forEach(function (n) {
                          s.hasOwnProperty(n) &&
                            i[n] !== s[n] &&
                            (a.relieveOldSubs(i[n], r),
                            (i[n] = s[n]),
                            a.continueListen(t, e, i, n, r, s[n]))
                        }),
                        [2, g])
                      : [2, null]
                }
              })
            })
          }),
          (t.prototype.relieveOldSubs = function (e, i) {
            var n = this
            o.type.isUndefined(e) ||
              (e instanceof t || (i && e[i] instanceof t)
                ? this.relieveOldSub(e, i)
                : o.type.isArray(e)
                ? e.forEach(function (t, e) {
                    n.relieveOldSub(t, i)
                  })
                : o.type.isObject(e) &&
                  Object.values(e).forEach(function (t) {
                    n.relieveOldSub(t, i)
                  }))
          }),
          (t.prototype.relieveOldSub = function (e, i) {
            e instanceof t
              ? e.subscribe.splice(e.subscribe.indexOf(this), 1)
              : i && e[i] instanceof t && e[i].subscribe.splice(e[i].subscribe.indexOf(this), 1)
          }),
          (t.prototype.continueListen = function (e, i, n, g, A, r) {
            var C = this
            o.type.isNull(r) ||
              o.type.isUndefined(r) ||
              (r instanceof t || (A && r[A] instanceof t)
                ? ~(r instanceof t ? r : r[A]).subscribe.indexOf(e) ||
                  this.bindItem(e, i[g], n, g, A, !0)
                : o.type.isArray(r)
                ? r.forEach(function (t, n) {
                    C.bindItem(e, i[g], r, n, A, !0)
                  })
                : o.type.isObject(r) &&
                  Object.keys(n[g]).forEach(function (t) {
                    C.bindItem(e, i[g], r, t, A, !0)
                  }))
          }),
          (t.prototype.bindItem = function (e, i, n, g, A, r) {
            void 0 === r && (r = !1),
              n instanceof t
                ? n.subscribe.push(e)
                : A && n[g] && n[g][A] instanceof t && n[g][A].subscribe.push(e),
              r ||
                (Object.defineProperty(i, g, {
                  get: function () {
                    return n[g]
                  },
                  set: function (t) {
                    this.__firstBind || this.direct
                      ? ((n[g] = t), this.continueListen(e, i, n, g, A, t))
                      : (this.addUpdateKey(g),
                        this.setHandle({
                          sub: e,
                          current: i,
                          state: n,
                          key: g,
                          childAttr: A,
                          val: t
                        }))
                  }
                }),
                this.continueListen(e, i, n, g, A, n[g]))
          }),
          t
        )
      })()
    ;(e._State = C),
      (e.getter = function (t, e) {
        e.attrs.forEach(function (i) {
          Object.defineProperty(t, i, {
            configurable: !0,
            get: function () {
              return e[i]
            }
          })
        })
      }),
      (e.setter = function (t, e) {
        e.attrs.forEach(function (i) {
          Object.defineProperty(t, i, {
            configurable: !0,
            set: function (t) {
              e[i] = t
            }
          })
        })
      }),
      (e.State = C)
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.default = {
        menu: {
          __name: '鑿滃崟',
          music: '鑳屾櫙闊充箰',
          base: '鍩虹璁剧疆',
          information: '鍦烘櫙淇℃伅',
          screen: '鍒濆鐢婚潰',
          hotspot: '娣诲姞鐑偣',
          guide: '鑷姩瀵艰',
          sign: '鍦伴潰Logo',
          walk: '婕父鍙',
          model: '3D妯″瀷',
          cad: '鎴峰瀷鍥�',
          data: '鏁版嵁瀵规帴',
          custom: '涓婁紶涓嬭浇',
          videos: '娣诲姞瑙嗛',
          vrhouse: '鐪嬫埧 4Dkankan',
          business: '鐪嬪簵 4Dkankan',
          scene: '鍦烘櫙璺宠浆',
          video: '娣诲姞瑙嗛',
          decor: '涓€閿崲瑁�',
          link: '鍦烘櫙鍏宠仈'
        },
        modules: {
          __name: '妯″潡',
          base: {
            __name: '鍩虹璁剧疆',
            qrcode: '鍦烘櫙浜岀淮鐮�',
            qrcode_download: '涓嬭浇浜岀淮鐮�',
            qrcode_tips: '鑷畾涔塴ogo',
            scene_link: '鍦烘櫙鍦板潃',
            scene_link_copy: '澶嶅埗閾炬帴',
            scene_link_copy_tips: '鍦烘櫙閾炬帴澶嶅埗鎴愬姛',
            bgm: '鑳屾櫙闊充箰',
            pano_text: '婕父瑙嗚鍙',
            mode_2d_text: '骞抽潰鍥惧彲瑙�',
            mode_3d_text: '涓夌淮妯″瀷鍙',
            map_text: '灏忓湴鍥鹃瑙堝彲瑙�',
            vr_text: 'VR妯″紡鍙',
            vr_tips: '璇峰湪鎵嬫満灞曠ず椤甸潰瑙傜湅VR鏁堟灉',
            guide_text: '鑷姩瀵艰鍙',
            rule_text: '鏍囧昂鍙',
            cad_text: '淇鍥炬埛鍨嬪彲瑙�',
            measure_text: '娴嬮噺宸ュ叿鍙',
            measure_tips: '缂栬緫妯″紡涓嬫棤娉曚娇鐢ㄦ祴璺濆姛鑳斤紝璇峰湪灞曠ず椤甸潰鎿嶄綔',
            turned_vr: 'VR鍔熻兘宸瞷status}',
            turned_map: '灏忓湴鍥惧姛鑳藉凡{status}',
            turned_cad: '淇鍥炬埛鍨嬪姛鑳藉凡{status}',
            turned_m2d: '骞抽潰瑙嗚鍔熻兘宸瞷status}',
            turned_m3d: '涓夌淮瑙嗚鍔熻兘宸瞷status}',
            turned_pano: '婕父瑙嗚鍔熻兘宸瞷status}',
            turned_rule: '鏍囧昂鍔熻兘宸瞷status}',
            turned_guide: '鑷姩瀵艰鍔熻兘宸瞷status}',
            turned_measure: '娴嬭窛鍔熻兘宸瞷status}',
            shortcut_copy: '涓€閿鍒�',
            share_link: '鍒嗕韩閾炬帴缁欏ソ鍙�',
            measure_show_tips: '璇峰湪灞曠ず椤甸潰浣跨敤娴嬭窛鍔熻兘',
            delete_measure_line: '鍒犻櫎娴嬮噺绾�',
            please_click_tips: "'璇风偣鍑烩€滃厑璁糕€�'",
            vr_fail_app_tips:
              '娴忚鍣ㄦ湭鑳芥娴嬪埌杞姩銆傝鍦ㄦ墜鏈烘垨娴忚鍣ㄨ缃腑寮€鍚簡杩愬姩鍜屾柟鍚戣闂瓑璁剧疆锛岀劧鍚庡埛鏂版椤甸潰銆�',
            vr_fail_safari_tips:
              '娴忚鍣ㄦ湭鑳芥娴嬪埌杞姩銆備负瀹屾暣浣撻獙VR鏁堟灉锛岃鎵撳紑 鈥滆缃€� > 鈥淪afari鈥� > 鈥滈殣绉佸拰瀹夊叏鈥� 涓嬬殑 鈥滆繍鍔ㄥ拰鏂瑰悜璁块棶鈥� 寮€鍏筹紝鐒跺悗鍒锋柊姝ら〉闈€€�',
            loading_bottom_text: '鍥涚淮鏃朵唬鎻愪緵鎶€鏈敮鎸�',
            vr_fail_reopen_tips:
              '杩愬姩鍜屾柟鍚戣闂け璐ャ€傛偍闇€瑕佸畬鍏ㄥ叧闂搴旂敤锛岀劧鍚庡啀娆℃墦寮€锛屽苟鍏佽璁块棶杩愬姩涓庢柟鍚�',
            add_music_title: '娣诲姞鑳屾櫙闊充箰',
            add_music_tips: '鏀寔MP3銆乄AV绛夐煶棰戞牸寮忥紝涓嶈秴杩�5MB',
            re_add_music: '閲嶆柊娣诲姞',
            re_add_title: '閲嶆柊娣诲姞鑳屾櫙闊充箰',
            re_add_tips:
              '鏂版坊鍔犵殑闊充箰浼氭浛鎹㈠凡娣诲姞鐨勯煶涔愶紝<br>纭畾缁х画娣诲姞鍚楋紵',
            re_add_mobile_tips: '閲嶆柊娣诲姞灏嗕細瑕嗙洊宸叉坊鍔犻煶涔�',
            delete_tips: '鎮ㄧ‘瀹氬垹闄ゅ綋鍓嶉煶涔愬悧锛�',
            delete_title: '鍒犻櫎鑳屾櫙闊充箰',
            bgm_empty_tips: '璇烽€夋嫨鑳屾櫙闊充箰',
            wechat: '寰俊',
            friend_circle: '鏈嬪弸鍦�'
          },
          information: {
            __name: '鍦烘櫙淇℃伅',
            title: '鏍囬',
            title_tips: '璇峰～鍐欐爣棰�',
            title_require: '璇锋坊鍔犳爣棰橈紙{limit}瀛椾互鍐咃級',
            description: '绠€浠�',
            description_tips: '璇峰～鍐欑畝浠�',
            link: '娣诲姞閾炬帴',
            link_text_tips: '璇峰～鍐欓摼鎺ユ枃鏈�',
            link_href_tips: '璇峰～鍐欓摼鎺ュ湴鍧€',
            link_text_require: '璇峰～鍐欓摼鎺ユ枃鏈�',
            link_href_require: '璇峰～鍐欓摼鎺ュ湴鍧€',
            classify: '鍒嗙被',
            upload_time: '涓婁紶鏃堕棿',
            record: '鏈褰�',
            shoot_count: '鎷嶆憚鏁伴噺',
            password: '璁块棶瀵嗙爜',
            password_tips: '璁块棶瀵嗙爜',
            password_desc:
              '璁剧疆瀹屽瘑鐮佸悗锛屽綋鍏朵粬浜鸿闂偍鐨勫満鏅椂锛岄渶瑕佽緭鍏ユ偍璁剧疆鐨勫瘑鐮佹墠鑳借闂€傚鏃犻渶璁剧疆鐐瑰嚮鈥滃叕寮€鈥濆嵆鍙€�',
            password_require: '璇疯緭鍏limit}浣嶆暟鐨勫瘑鐮�',
            logo_edit: '缂栬緫椤甸潰Logo',
            logo_exit: '閫€鍑洪〉闈ogo缂栬緫',
            logo_show_bottom: '鏄剧ず鍒濆Logo',
            logo_style1: '椤堕儴Logo-鏂�',
            logo_style2: '椤堕儴Logo-闀�',
            logo_delete: '鏄惁鍒犻櫎宸蹭笂浼燣ogo锛�'
          },
          screen: {
            __name: '鍒濆鐢婚潰',
            current: '褰撳墠鍒濆瑙嗚',
            current_set: '璁剧疆涓哄垵濮嬬敾闈�',
            tips: '绉诲姩灞忓箷,鐐瑰嚮淇濆瓨鎮ㄧ殑鍒濆鐢婚潰銆�'
          },
          hotspot: {
            __name: '娣诲姞鐑偣',
            add: '娣诲姞鐑偣',
            edit: '缂栬緫鐑偣',
            count: '宸叉坊鍔犵儹鐐�',
            location: '鐑偣瀹氫綅',
            location_tips: '灏嗙儹鐐规爣璁板苟鎷栧姩鍒板悎閫傜殑浣嶇疆銆�',
            location_modify: '淇敼鐑偣浣嶇疆',
            location_confirm: '纭畾鐑偣浣嶇疆',
            location_desc:
              '璇蜂簬宸︽柟涓や釜鍦烘櫙鍖哄煙鎷栧姩鐑偣骞跺鍑嗘墍闇€鏍囪鐨勪綅缃€�',
            style: '閫夋嫨鐑偣鏍峰紡',
            style_desc:
              '閫夋嫨榛樿鏍峰紡锛屾垨鑰呮墜鍔ㄤ笂浼犲浘鐗囪嚜瀹氫箟鏍峰紡锛屼笂浼犲浘鐗囨牸寮廝NG/JPG',
            style_name: '鏍峰紡',
            style_dele: '鏄惁鍒犻櫎璇ユ牱寮忥紵',
            style_manage: '绠＄悊',
            style_exit: '閫€鍑�',
            media_photo: '鍙坊鍔犲浘鐗囦互涓板瘜鐑偣鍐呭',
            media_video: '鍙笂浼犳湰鍦拌棰戯紝杩涜鏇村鐨勫睍绀�',
            media_voice: '鍙笂浼犳湰鍦伴煶棰戝唴瀹硅繘琛岀儹鐐硅瑙�',
            media_link: '鍙坊鍔犺棰戠殑瓒呴摼鎺ワ紝瑙嗛灏嗗湪鐑偣閲屾挱鏀�',
            title: '鏍囬',
            title_tips: '璇峰～鍐欐爣棰�',
            title_require: '璇锋坊鍔犳爣棰橈紙{limit}瀛椾互鍐咃級',
            description: '绠€浠�',
            description_tips: '璇峰～鍐欑畝浠�',
            text_link: '娣诲姞閾炬帴',
            text_link_text_tips: '璇峰～鍐欓摼鎺ユ枃鏈�',
            text_link_href_tips: '璇峰～鍐欓摼鎺ュ湴鍧€',
            text_link_text_require: '閾炬帴鏂囨湰涓嶈兘涓虹┖',
            text_link_href_require: '閾炬帴鍦板潃涓嶈兘涓虹┖',
            link: '宓屽叆寮忛摼鎺�',
            link_require: '璇锋坊鍔犲閾�',
            photo: '鍥剧墖',
            voice: '闊抽',
            video: '瑙嗛',
            photo_tips: '鏀寔JPG銆丳NG绛夊浘鐗囨牸寮忥紝涓嶈秴杩噞size}MB',
            voice_tips: '鏀寔MP3銆乄AV绛夐煶棰戞牸寮忥紝涓嶈秴杩噞size}MB',
            video_tips: '鏀寔MP4銆丮OV绛夎棰戞牸寮忥紝涓嶈秴杩噞size}MB',
            photo_require: '璇锋坊鍔犲浘鐗�',
            voice_require: '璇锋坊鍔犻煶棰�',
            video_require: '璇锋坊鍔犺棰�',
            m_location_tips1: '灏嗕笂涓嬪垎灞忕儹鐐瑰鍑嗗悓涓€涓墍鏍囪鐩爣',
            m_location_tips2: '纭畾鐑偣浣嶇疆锛岀偣鍑讳笅涓€姝ョ紪杈戝唴瀹�',
            m_location_up: '涓婃柟',
            m_location_left: '宸︿晶',
            m_location_move_tips:
              '杈呭姪鏍″噯浣嶇疆鍙兘涓嶅噯纭紝<br>璇锋鏌ュ苟鎷栧姩鍒皗direction}鐩稿悓浣嶇疆',
            set_visible_btn: '璁剧疆鐑偣鍙',
            save_visible_btn: '淇濆瓨褰撳墠璁剧疆',
            save_hotspot_done: '淇濆瓨鐑偣鎴愬姛',
            save_hotspot_fail: '淇濆瓨鐑偣澶辫触',
            delete_hotspot_tips: '鏄惁鍒犻櫎褰撳墠鐑偣锛�',
            delete_hotspot_done: '鐑偣鍒犻櫎鎴愬姛',
            delete_hotspot_fail: '鐑偣鍒犻櫎澶辫触',
            cant_add_hotspot_tips: '鏃犳硶娣诲姞鐑偣',
            cant_add_hotspot_content: '鐑偣鏁扮洰宸茶揪鏈€澶э細{limit}',
            link_text_tips: '閾炬帴鏍囬',
            link_href_tips: '閾炬帴',
            link_text_require: '璇峰～鍐欓摼鎺ユ枃鏈�',
            link_href_require: '璇峰～鍐欓摼鎺ュ湴鍧€',
            add_media: '娣诲姞澶氬獟浣�'
          },
          guide: {
            __name: '鑷姩瀵艰',
            route: '瀵艰埅璺嚎',
            view: '鍒囨崲瑙嗚',
            record: '寮€濮嬪綍鍒�',
            record_audio: '褰曢煶',
            pause: '鏆傚仠',
            stop: '鍋滄',
            end: '缁撴潫',
            delete: '鍒犻櫎',
            continue: '缁х画褰曞埗',
            preview: '棰勮',
            clear: '娓呯┖',
            sync: '澹扮敾鍚屾',
            sound: '褰曞埗闊抽',
            file: '涓婁紶闊抽',
            file_add: '娣诲姞闊抽',
            tips: '鐐瑰嚮寮€濮嬪綍鍒跺瑙�',
            start: '寮€濮�',
            finish: '瀹屾垚褰曞埗',
            less: '灏忎簬',
            replace_tips: '鏄惁閲嶆柊褰曞埗瀵艰锛�',
            replace_content: '閲嶆柊褰曞埗灏嗚鐩栦箣鍓嶇殑鏁版嵁',
            sound_open_fail_tips: '楹﹀厠椋庡紑鍚け璐�',
            sound_tips: '楹﹀厠椋庡紑鍚け璐ワ紝鏄惁缁х画褰曞埗锛�',
            sound_content:
              '鎮ㄩ渶瑕佸湪娴忚鍣ㄧ殑璁剧疆涓厑璁告缃戠珯浣跨敤楹﹀厠椋庯紝骞朵笖娣诲姞楹﹀厠椋庤澶囷紝鐒跺悗鍒锋柊璇ラ〉闈€€�',
            upload_sound_done: '涓婁紶璇煶璁茶В鎴愬姛',
            upload_sound_fail: '涓婁紶璇煶璁茶В澶辫触',
            delete_sound_done: '鍒犻櫎璇煶璁茶В鎴愬姛',
            delete_sound_fail: '鍒犻櫎璇煶璁茶В澶辫触',
            room_title: '鏍囬',
            room_title_tips: '璇疯緭鍏ュ瑙堟爣棰�',
            room_title_require: '璇疯緭鍏ユ爣棰�',
            room_panel_title: '瀵艰淇℃伅',
            room_sound_title: '褰曞埗闊抽',
            delete_video_content: '鎮ㄥ綋鍓嶅綍鍒剁殑鐢婚潰灏嗕細琚垹闄�',
            delete_file_content: '鎮ㄥ綋鍓嶄笂浼犵殑璇煶璁茶В灏嗕細琚垹闄�',
            delete_sound_content: '宸插綍鍒堕厤闊冲皢浼氳鍒犻櫎',
            camera_save_success: '闀滃ご淇濆瓨鎴愬姛',
            clear_video_tip: '鎮ㄥ綋鍓嶅綍鍒剁殑鍐呭灏嗕細琚竻绌�',
            saving_sound: '姝ｅ湪淇濆瓨褰曢煶',
            save_sound_done: '褰曢煶淇濆瓨鎴愬姛',
            save_sound_fail: '褰曢煶淇濆瓨澶辫触',
            no_sound_tips: '褰撳墠涓嶆敮鎸佸綍闊�<br>鍙湪寰俊鎴栫數鑴戠褰曢煶',
            sound_success_tips: '楹﹀厠椋庡紑鍚垚鍔�',
            sound_fail_tips: '褰撳墠涓嶆敮鎸佸綍闊�<br>鍏紬鍙蜂俊鎭厤缃敊璇�',
            wechat_sound_fail_tips: '寰俊楹﹀厠椋庡紑鍚け璐�',
            open_sound_guide_tips:
              '鍙兘鎮ㄨ嫢瑕佸紑鍚綍闊筹紝璇蜂簬寰俊鐨勮缃€旈殣绉佲€旀巿鏉冪鐞嗕腑寮€鍚€備笖淇濊瘉褰曢煶璁惧姝ｅ父',
            sound_cant_open_tips:
              '姝ゆ祻瑙堝櫒涓嶆敮鎸佸綍闊炽€�<br>寤鸿鏇存崲鍏朵粬涓绘祦娴忚鍣紝浣撻獙鏇翠匠',
            replace_sound_tips: '鏄惁閲嶆柊褰曞埗锛�',
            replace_sound_content: '宸叉湁璇煶璁茶В灏嗕細琚浛鎹�',
            merge_sound_fail: '鍚堝苟璇煶璁茶В澶辫触',
            sound_limit: '褰曞埗鏃堕暱涓簕time}鍒嗛挓锛屽綋鍓嶅凡缁忚揪鍒颁笂闄�',
            select_to_record: '璇烽€夋嫨瀵瑰簲鐐逛綅杩涜鏈尯鍩熺殑瀵艰褰曞埗'
          },
          sign: {
            title: 'Logo鏍峰紡',
            size: 'Logo澶у皬',
            style0: '鏍峰紡涓€',
            style1: '鏍峰紡浜�',
            style2: '鏍峰紡涓�',
            style3: '鎵嬪姩涓婁紶'
          },
          walk: {
            title: '婕父鍙',
            tips1:
              '閫氳繃璁剧疆婕父鍙锛岃繘涓€姝ヤ紭鍖栧湪婕父鏃跺嚭鐜扮殑浣撻獙锛涗緥濡傦紝鎮ㄥ湪婕父鏃讹紝鍑虹幇绌块€忔埧闂寸殑鎯呭喌銆�',
            tips2: '閫氳繃鐐归€夊悇涓极娓哥偣鐨勮繛绾垮嵆鍙缃极娓哥偣鐨勫彲琛屾€с€�',
            save: '淇濆瓨褰撳墠璁剧疆',
            hide: '闅愯棌璇ョ偣浣嶇疆',
            show: '鏄剧ず璇ョ偣浣嶇疆',
            pano_tips:
              '鎻愮ず锛氭偍闅愯棌浜嗗垵濮嬬敾闈㈢偣浣嶏紝姝ゆ搷浣滃皢浣胯繘鍏ュ満鏅悗鏃犳硶婕父銆�'
          },
          model: {
            __name: '3D妯″瀷',
            cad: 'CAD瑙嗚',
            cad_download: '骞抽潰鍥句笅杞�',
            view: '鍒囨崲瑙嗚',
            title: '澧炴坊缁撴瀯',
            title_door: '闂ㄧ獥绫�',
            title_component: '鏋勫缓绫�',
            title_other: '鍏朵粬',
            attribute: '灞炴€�',
            door: '闂�',
            double_door: '闂�',
            slideDoor: '绉婚棬',
            casement: '绐�',
            bayCase: '椋樼獥',
            groundCase: '钀藉湴绐�',
            column: '鏌卞瓙',
            furnColumn: '妗嗘灦鏌�',
            furnFlue: '鐑熼亾',
            point: '鐐�',
            line: '澧�',
            tagging: '鏍囨敞',
            tagging_name_tips: '璇疯緭鍏ュ悕绉�',
            tagging_area_tips: '杈撳叆闈㈢Н锛屾敮鎸佸皬鏁扮偣鍚庨潰涓や綅',
            direction: '鎸囧崡閽�',
            wallLine: '澧欏睘鎬�',
            widget_delete: '{widget}灏嗚鍒犻櫎',
            panel_btn_default: '鎭㈠榛樿',
            panel_btn_delete: '鍒犻櫎閮ㄤ欢',
            attr_angle: '鏃嬭浆瑙掑害',
            attr_within: '缈昏浆鏂瑰悜',
            attr_ewidth: '瀹藉害',
            attr_eheight: '楂樺害',
            attr_tick: '鍘氬害',
            attr_showTitle: '鏍囨敞鍚嶇О',
            attr_showContent: '鏍囨敞闈㈢Н',
            attr_top: '椤堕儴',
            attr_bottom: '搴曢儴',
            attr_estart: '鍏ユ埛闂�',
            success: '鎴愬姛娣诲姞{widget}',
            error_location: '褰撳墠浣嶇疆鏃犳硶娣诲姞{widget}',
            error_outdoor: '鎴峰鏃犳硶娣诲姞{widget}',
            error_something: '褰撳墠浣嶇疆鐐规湁寤虹瓚锛屾棤娉曟坊鍔爗widget}',
            error_widget: '褰撳墠浣嶇疆涓嶅彲娣诲姞{widget}',
            enter_adjust_floor: '杩涘叆鍦伴潰楂樺害璋冭妭妯″紡',
            exit_adjust_floor: '閫€鍑哄湴闈㈤珮搴﹁皟鑺傛ā寮�',
            color_title: '閲忚鍣ㄩ鑹诧細'
          },
          cad: {
            __name: '鎴峰瀷鍥�',
            name: '鎴峰瀷鍥�',
            no_tip: '涓嶅啀鎻愮ず',
            reset: '閲嶇疆',
            cad_download: '鎴峰瀷鍥句笅杞�',
            cad_download_ing: '涓嬭浇涓€�',
            label_tip: '鐐瑰嚮鍙抽敭鎴朎sc閿彲浠ラ€€鍑烘坊鍔犳爣娉ㄣ€�',
            wall_tip: '鐐瑰嚮鍙抽敭鎴朎sc閿彲浠ラ€€鍑虹敾澧欍€�',
            save_undf_tip: '鏃犳硶淇濆瓨绌烘埛鍨嬪浘銆�',
            reload_tip:
              '鍗冲皢瀵煎叆鐢辨ā鍨嬬敓鎴愮殑鎴峰瀷鍥撅紝姝ゆ搷浣滀細娓呯┖鐜版湁鎴峰瀷锛屾槸鍚︾户缁紵',
            reset_tip: '姝ゆ搷浣滀細娓呯┖鐜版湁鎴峰瀷锛屾槸鍚︾户缁紵',
            title_door: '闂ㄧ獥',
            title_component: '鏋勫缓',
            title_wall: '鐢诲',
            title_other: '鏍囨敞',
            border_wall: '澶栧',
            wall: '鍐呭',
            attribute: '灞炴€�',
            door: '闂�',
            slideDoor: '绉婚棬',
            doubleDoor: '鍙屽紑闂�',
            casement: '绐�',
            bayCase: '椋樼獥',
            groundCase: '钀藉湴绐�',
            column: '鏌卞瓙',
            furnColumn: '妗嗘灦鏌�',
            furnFlue: '鐑熼亾',
            point: '鐐�',
            line: '澧�',
            tagging: '鍗曚釜',
            un_data_tip: '鏃犳硶涓嬭浇绌烘埛鍨嬪浘锛岃鍏堢粯鍒躲€�',
            taggings: '澶氫釜',
            tagging_name_tips: '璇疯緭鍏ュ悕绉�',
            tagging_custom_name_tips: '鑷畾涔夋埧闂村悕绉�',
            tagging_area_tips: '杈撳叆闈㈢Н锛屾敮鎸佸皬鏁扮偣鍚庨潰涓や綅',
            direction: '鎸囧崡閽�',
            wallLine: '澧欏睘鎬�',
            widget_delete: '{widget}灏嗚鍒犻櫎',
            panel_btn_default: '鎭㈠榛樿',
            panel_btn_delete: '鍒犻櫎閮ㄤ欢',
            attr_angle: '鏃嬭浆瑙掑害',
            attr_within: '缈昏浆鏂瑰悜',
            attr_ewidth: '瀹藉害',
            attr_eheight: '楂樺害',
            attr_tick: '鍘氬害',
            attr_showTitle: '鏍囨敞鍚嶇О',
            attr_showContent: '鏍囨敞闈㈢Н',
            attr_top: '椤堕儴',
            attr_bottom: '搴曢儴',
            attr_estart: '鍏ユ埛闂�',
            success: '鎴愬姛娣诲姞{widget}',
            error_location: '褰撳墠浣嶇疆鏃犳硶娣诲姞{widget}',
            error_outdoor: '鎴峰鏃犳硶娣诲姞{widget}',
            error_something: '褰撳墠浣嶇疆鐐规湁寤虹瓚锛屾棤娉曟坊鍔爗widget}',
            error_widget: '褰撳墠浣嶇疆涓嶅彲娣诲姞{widget}',
            enter_adjust_floor: '杩涘叆鍦伴潰楂樺害璋冭妭妯″紡',
            exit_adjust_floor: '閫€鍑哄湴闈㈤珮搴﹁皟鑺傛ā寮�',
            color_title: '閲忚鍣ㄩ鑹诧細',
            hall_tests: '鏁村,瀹㈠巺,璧板粖,椁愬巺,璧峰眳瀹�,瀹㈤鍘�,鐜勫叧,闂ㄥ巺',
            room_tests: '涓诲崸,鍎跨鎴�,娆″崸,瀹㈠崸,鑰佷汉鎴�,鍗у',
            other_tests:
              '涔︽埧,鍘ㄦ埧,鍗敓闂�,澶氬姛鑳藉,闃冲彴,鍌ㄧ墿闂�,姝ュ叆寮忚。鏌�,澶栨櫙,闇插彴锛堟棤椤讹級,褰辫闂�,鍏ユ埧鑺卞洯',
            rotate: '鏃嬭浆'
          },
          videos: {
            __name: '娣诲姞瑙嗛',
            tips: '璇峰厛鐐瑰嚮鍦烘櫙鐨勫熀鍑嗛潰锛岀‘瀹氳棰戜綅缃�',
            panel_title: '瑙嗛灞炴€�',
            panel_preview: '棰勮',
            panel_upload: '涓婁紶瑙嗛',
            panel_upload_tips: '鏀寔MP4瑙嗛鏍煎紡',
            panel_move: '浣嶇Щ',
            panel_zoom: '缂╂斁',
            panel_thickness: '鍘氬害',
            recoverRatio: '鎭㈠鍘熷姣斾緥',
            recoverRatioTip: '鎭㈠瑙嗛鏂囦欢鍘熷闀垮姣�'
          },
          custom: {
            model_title: '妯″瀷涓嬭浇',
            uploading: '鏂囦欢涓婁紶涓�...',
            download: '鍘熷妯″瀷涓嬭浇',
            download_panos: '涓嬭浇鐐逛綅鍥�',
            upload: '淇敼妯″瀷涓婁紶',
            title1: '妯″瀷涓嬭浇/涓婁紶鍔熻兘鏁欑▼',
            tips11:
              '1.涓嬭浇鍦烘櫙妯″瀷鐨勫帇缂╁寘鍚庯紝浣跨敤涓夌淮杞欢鎵撳紑瑙ｅ帇鍚庢枃浠垛€渕esh.obj鈥濓紝鍗冲彲寮€灞曠紪杈戯紱',
            tips12:
              '2.缂栬緫瀹屾垚鍚庯紝寤鸿灏嗘ā鍨嬭创鍥捐繘琛岀儤鐒欙紝鐑樼剻璐村浘闇€鎺у埗鍦�1.5M浠ュ唴锛屽悓鏃讹紝淇濆瓨鐨刼bj鏂囦欢闇€瑕佹帶鍒跺湪3M浠ュ唴锛�',
            tips13: '3.瀹屾垚1銆�2姝ラ鍚庯紝灏唎bj,mtl,璐村浘鎵撳寘涓簔ip鍘嬬缉鍖呬笂浼犲嵆鍙€�',
            title2: '娉細',
            tips21: '1.璇峰敖閲忔帶鍒舵枃浠跺ぇ灏忥紝浠ュ厤娴忚鐨勬椂鍊欏崱椤匡紝褰卞搷浣撻獙銆�',
            tips22: '2.璇峰皢obj鍙婂帇缂╁寘鐨勫悕绉颁繚鎸佷竴鑷达紝鍚﹀垯浼氭浛鎹㈠け璐ャ€�',
            get_image_fail:
              '鑾峰彇璐村浘澶辫触锛屽彲鑳界綉缁滅姸鎬佷笉浣筹紝璇锋鏌ユ偍鐨勭綉缁滆缃苟閲嶆柊灏濊瘯銆�',
            download_model_fail: '妯″瀷涓嬭浇澶辫触',
            reupload_tips: '涓婁紶鍚庣偣鍑讳繚瀛樺苟鍙戝竷鐢熸晥',
            panoramic_upload: '鍏ㄦ櫙鐓х墖涓婁紶',
            panoramic_upload_tips: '涓婁紶鍚庣偣鍑烩€滀繚瀛樺苟鍙戝竷鈥濆嵆鐢熸晥',
            panoramic_upload_box_tips: '璇蜂笂浼犲搴旂偣浣嶅悕绉扮殑JPG鍥剧墖',
            panoramic_download: '鍏ㄦ櫙鐓х墖涓嬭浇',
            panoramic_download_tips: '璇峰嬁淇敼鐓х墖鍚嶇О鍜屾牸寮�',
            panoramic: '鍏ㄦ櫙鍥剧墖',
            ball_video: '鐞冨箷瑙嗛',
            ball_video_upload_tips: '涓婁紶鍚庣偣鍑烩€滀繚瀛樺苟鍙戝竷鈥濆嵆鐢熸晥',
            ball_video_download_tips: '璇峰嬁淇敼瑙嗛鍚嶇О鍜屾牸寮�',
            ball_video_upload_box_tips: '鐞冨箷瑙嗛鏀寔MP4鏍煎紡锛屼笉瓒呰繃1024M',
            upload_title: '涓婁紶鏂囦欢',
            upload_format_error: '鏂囦欢鏍煎紡閿欒锛岃閲嶆柊涓婁紶',
            upload_name_error: '鏂囦欢鍚嶇О閿欒锛岃閲嶆柊涓婁紶',
            upload_success: '涓婁紶鎴愬姛锛屼繚瀛樺苟鍙戝竷鍚庢墠鑳界敓鏁�',
            upload_code_5017: '涓婁紶妯″瀷澶辫触锛岃鍙傜収鍙充晶鏁欑▼',
            upload_code_5018: 'zip鏂囦欢鍙兘鏈変竴灞傜洰褰曟垨鏃犵洰褰�',
            upload_code_5019: '蹇呴』鏈変笖浠呮湁涓€涓猳bj鍜宮tl鏂囦欢',
            upload_code_5020: '璐村浘闇€鎺у埗鍦�1.5M浠ュ唴锛宱bj鏂囦欢闇€瑕佹帶鍒跺湪20M浠ュ唴銆�',
            upload_code_5012: '鏁版嵁涓嶆甯�',
            upload_code_5023: '涓婁紶鏂囦欢鏍煎紡涓嶆纭紝鍙兘鏄痡pg鎴杕p4鏍煎紡',
            download_tips: '涓嬭浇鍚庡悕绉颁笌鏍煎紡璇峰嬁淇敼',
            download_fail: '涓嬭浇澶辫触'
          },
          vrhouse: {
            __name: 'VR鐪嬫埧',
            linkto_management: '鍓嶅線鐪嬫埧绠＄悊鍚庡彴',
            refer: '鍒锋柊',
            scene_link: '鍦烘櫙閾炬帴'
          },
          business: {
            __name: '鍟嗗湀妯″潡',
            list_title: '鍦烘櫙鐑偣鍒楄〃',
            list_unf: '褰撳墠鍦烘櫙娌℃湁鐑偣',
            add_tip_info: '璇峰湪鍦烘櫙涓坊鍔犵儹鐐瑰悗锛屽啀缁戝畾鐑偣',
            linkto_management: '鍓嶅線鐪嬪簵绠＄悊鍚庡彴',
            refer: '鍒锋柊',
            scene_link: '鍦烘櫙閾炬帴',
            explain: '璇存槑',
            shopexplain: {
              1: '褰撳墠鍟嗗搧鏁版嵁鏉ユ簮浜庡満鏅粦瀹氱殑4DKanKan搴楅摵鍟嗗搧鏁版嵁锛屽闇€澧炲姞璇风偣鍑�',
              2: '姝ゅ璺宠浆'
            },
            select_style: '閫夋嫨鐑偣鏍峰紡',
            join_info: '鍏宠仈鍟嗗搧淇℃伅',
            add_com: '娣诲姞鍟嗗搧',
            join_info_show: '鍏宠仈鍟嗗搧浼氬湪鐑偣涓睍绀�',
            select_com: '閫夋嫨鍟嗗搧'
          },
          link: {
            __name: '璺宠浆鍏宠仈',
            title1: '閿佸畾鍏宠仈鐐�',
            title2: '缂栬緫鍏宠仈鐐�',
            title3: '鍏ㄦ櫙鍥惧叧鑱�',
            list_text: ' 宸插叧鑱斿満鏅�({l_count}), 鍏ㄦ櫙鍥�({p_count})',
            btn_new_text: '娣诲姞鍏宠仈鐐�',
            btn_add_title: '鍏宠仈鐐瑰畾浣�',
            btn_add_text: '纭畾鍏宠仈鐐逛綅缃�',
            btn_add_desc: '灏嗗叧鑱旂偣鏍囪骞舵嫋鍔ㄥ埌鍚堥€傜殑浣嶇疆銆�',
            btn_edit_text: '淇敼鍏宠仈鐐逛綅缃�',
            style: '鍏宠仈鐐规牱寮�',
            style_name: '鏍峰紡',
            style_desc: '鏀寔鑷畾涔夊浘鏍囷紝寤鸿灏哄涓�128x128 鍍忕礌锛屾牸寮忎负jpg/png銆�',
            style_dele:
              '鏄惁鍒犻櫎璇ユ牱寮忥紵<br />濡傝鏍峰紡鍦ㄥ叾瀹冨叧鑱旂偣浣跨敤锛屼篃灏嗚鍒犻櫎',
            desc_title: '鎻忚堪',
            desc_tips: '璇疯緭鍏ユ弿杩板唴瀹�',
            desc_require: '璇疯緭鍏ユ弿杩板唴瀹�',
            type: '閫夋嫨鍏宠仈绫诲瀷',
            type_photo:
              '鏀寔涓婁紶瀹介珮姣斾负2:1鐨勫崟寮犲叏鏅浘鐗囷紝寤鸿鍍忕礌涓嶅皬浜�6000x3000鍍忕礌锛屾枃浠朵笉瓒呰繃120M銆�',
            type_photo_require: '璇蜂笂浼犲叏鏅浘',
            type_link: '璇疯緭鍏ョ洰鏍囧満鏅摼鎺�',
            type_link_tips: 'http(s)://',
            type_link_require: '璇疯緭鍏ラ渶瑕佽烦杞殑鍦烘櫙閾炬帴',
            enter_title: '杩涘叆鐢婚潰',
            enter_require: '璇疯缃繘鍏ョ敾闈�',
            enter_btn_text: '璁剧疆杩涘叆鐢婚潰',
            outer_title: '璺冲嚭鐐逛綅缃�',
            outer_style: '璺冲嚭鐐规牱寮�',
            outer_desc: '鏀寔鑷畾涔夊浘鏍囷紝寤鸿灏哄涓�128x128鍍忕礌锛屾牸寮忎负jpg/png銆�',
            outer_require: '璇疯缃烦鍑虹偣浣嶇疆',
            outer_btn_text: '璁剧疆璺冲嚭鐐逛綅缃�',
            links_title: '閫夋嫨鍏ㄦ櫙鍥�',
            links_tips: '閫夋嫨鍏ㄦ櫙鍥撅紝鎷栧姩鍒板乏渚х敾闈㈢浉搴斾綅缃紝杩涜璺宠浆璁剧疆銆�',
            links_cancel_tips: '鍙栨秷鍏宠仈璁剧疆'
          }
        },
        login: {
          __name: '鐧诲綍',
          title: '鎻愮ず',
          login: '鍘荤櫥褰�',
          logon: '鐧诲綍瀹屾瘯锛岀户缁�',
          login_tips: '鎮ㄦ病鏈夌櫥褰曪紝璇蜂簬涓婚〉鐧诲綍鍚庡啀缂栬緫'
        },
        common: {
          __name: '鍏敤',
          on: '鎵撳紑',
          off: '鍏抽棴',
          add: '娣诲姞',
          set: '纭畾',
          ok: '纭畾',
          save: '淇濆瓨',
          cancel: '鍙栨秷',
          complete: '瀹屾垚',
          edit: '淇敼',
          giveup: '鏀惧純',
          commit: '鎻愪氦',
          photo: '鍥剧墖',
          voice: '闊抽',
          video: '瑙嗛',
          bgm: '闊充箰',
          crop: '瑁佸壀',
          upload: '涓婁紶',
          download: '涓嬭浇',
          change: '鏇存敼',
          unnamed: '鏈懡鍚�',
          publish: '淇濆瓨骞跺彂甯�',
          publish_text: '淇濆瓨骞跺彂甯冩垚鍔燂紒',
          publish_tips: '鏄惁绔嬪埢鍓嶅線瑙傜湅鎮ㄧ殑鍦烘櫙锛�',
          publish_btn_ok: '绔嬪埢鍓嶅線',
          publish_btn_no: '鏆傛椂涓嶅幓',
          public: '鍏紑',
          private: '鍔犲瘑',
          waiting: '璇风◢绛�...',
          audio: '闊抽',
          second: '绉�',
          delete: '鍒犻櫎',
          prev: '涓婁竴姝�',
          next: '涓嬩竴姝�',
          meter: '绾meter}绫�',
          guide: '瀵艰',
          rule: '娴嬮噺宸ュ叿',
          roaming: '婕父',
          continue: '缁х画',
          ensure_delete: '纭畾鍒犻櫎',
          text_limit: '闄愬埗{limit}瀛楀唴',
          default: '榛樿',
          custom: '鑷畾涔�',
          back: '杩斿洖',
          will_delete: '灏嗚鍒犻櫎',
          setup: '璁剧疆',
          exit: '閫€鍑�',
          size: '澶у皬',
          music: {
            __name: '鑳屾櫙闊充箰',
            none: '鏃�',
            cheerfu: '娆㈠揩',
            ethereal: '绌虹伒',
            rhythmic: '鑺傚',
            nostalgic: '鎬€鏃�',
            missing: '鎯冲康',
            retro: '澶嶅彜',
            strings: '鐞村鸡',
            happy: '鎰夊揩'
          },
          category: {
            __name: '鍒嗙被',
            museum: '鏂囧崥',
            estate: '鍦颁骇',
            eshop: '鐢靛晢',
            catering: '椁愰ギ',
            home: '瀹跺眳',
            other: '鍏朵粬'
          },
          uploads: {
            __name: '鏂囦欢涓婁紶',
            uploading: '涓婁紶涓�',
            uploaded: '宸蹭笂浼�',
            wait: '绛夊緟涓婁紶...',
            error: '涓婁紶鍑洪敊',
            add: '娣诲姞鏂囦欢',
            start: '寮€濮嬩笂浼�',
            file_require: '璇锋坊鍔犳枃浠�',
            cant_upload: '鎮ㄧ殑娴忚鍣ㄤ笉鏀寔涓婁紶鏂囦欢',
            not_support: '鎮ㄩ€夋嫨鐨勪笉鏄祻瑙堝櫒鏀寔鐨剓fileType}鏂囦欢,璇烽噸鏂伴€夋嫨',
            too_large: '鏂囦欢杩囧ぇ锛屼笉鑳藉ぇ浜巤size}MB',
            too_large_reupload_tips: '涓婁紶瑙嗛杩囧ぇ锛岃閲嶆柊涓婁紶'
          },
          tips: { __name: '鎻愮ず', wait: '璇风瓑寰�...' }
        },
        tips: {
          __name: '寮圭獥銆佹彁绀�',
          title: '鎻愮ず',
          set_done: '璁剧疆鎴愬姛',
          set_fail: '璁剧疆澶辫触',
          save_done: '淇濆瓨鎴愬姛',
          save_fail: '淇濆瓨澶辫触',
          delete: '鏄惁鍒犻櫎锛�',
          delete_done: '鍒犻櫎鎴愬姛',
          delete_fail: '鍒犻櫎澶辫触',
          upload_done: '涓婁紶鎴愬姛',
          upload_fail: '涓婁紶澶辫触',
          exception: '寮傚父閿欒',
          network_error: '缃戠粶杩炴帴澶辫触锛岃绋嶅悗鍐嶈瘯',
          file_notfound: '鏂囦欢涓嶅瓨鍦�',
          scene_notfound: '鍦烘櫙涓嶅瓨鍦�',
          params_notfound: '缂哄皯蹇呰鍙傛暟',
          camera_notfound: '鎵句笉鍒拌鍦烘櫙瀵瑰簲鐨勭浉鏈�',
          password_error: '瀵嗙爜閿欒',
          data_error: '鏁版嵁涓嶆甯�',
          auth_deny: '鏃犳潈鎿嶄綔璇ュ満鏅�',
          clear: '鏄惁娓呯┖锛�',
          upload_pic_fail: '涓婁紶鍥剧墖澶辫触',
          wait: '璇风◢鍚�...',
          house_type_save_fail: '鎴峰瀷淇濆瓨澶辫触'
        },
        show: {
          __name: '灞曠ず椤甸潰',
          on: '寮€鍚�',
          off: '鍏抽棴',
          measure: '娴嬭窛宸ュ叿',
          measure_start: '璧风偣',
          measure_end: '缁堢偣',
          measure_button: '纭畾{status}',
          location_up: '涓婃柟',
          location_left: '宸︿晶',
          location_start_tips: '璇峰厛鍦▄direction}鐐瑰嚮',
          location_end_tips: '璧风偣纭畾瀹屾瘯锛岃瀹氫綅缁堢偣',
          vr: 'VR妯″紡',
          share: '鍒嗕韩',
          music: '{status}闊充箰',
          password_tips: '瀵嗙爜',
          password_require: '璇疯緭鍏ュ瘑鐮�'
        },
        components: {
          user_guid: {
            __name: '鐢ㄦ埛寮曞',
            title: '鎿嶄綔鎻愮ず',
            pano: '琛岃蛋<br />鐐瑰嚮浠绘剰鏂瑰悜绉诲姩',
            rotate: '鏃嬭浆瑙嗚<br />宸﹀彸婊戝姩灞忓箷锛屾棆杞瑙�',
            zoom: '缂╂斁<br />鍙屾寚婊戝姩鏀惧ぇ鎴栫缉灏忚鍥�',
            set: '鎴戠煡閬撲簡'
          }
        }
      })
  },
  function (t, e, i) {
    var n =
        (this && this.__assign) ||
        function () {
          return (n =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      g =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      A =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = A(i(5)),
      o = A(i(14)),
      C = A(i(11)),
      I = A(i(8)),
      s = A(i(15)),
      a = A(i(7)),
      l = A(i(16)),
      u = A(i(17)),
      c = A(i(18)),
      h = A(i(19)),
      p = A(i(20)),
      d = A(i(21))
    ;(e.methods = {
      addPoint: function (t) {
        var e = t.id,
          i = t.x,
          n = t.y,
          g = { id: e, ele: new r.default({ x: i, y: n, renderer: this.render }) }
        return this.points.push(g), this.generateElement(g.ele), g
      },
      addLine: function (t) {
        var e = t.id,
          i = t.p1,
          n = t.p2,
          g = t.border,
          A = t.exterior,
          r = t.isOut,
          C = {
            id: e,
            ele: new o.default({
              border: g,
              exterior: A,
              points: [
                this.points.find(function (t) {
                  return t.id === i
                }).ele,
                this.points.find(function (t) {
                  return t.id === n
                }).ele
              ],
              renderer: this.render,
              isOut: r
            }),
            border: g,
            isOut: r,
            exterior: A
          }
        return (
          this.lines.push(C),
          this.generateElement(C.ele),
          A &&
            (C.ele.points.forEach(function (t) {
              return t.real.setAttribute('pointer-events', 'none')
            }),
            (C.ele.zIndex = -1)),
          C
        )
      },
      addCase: function (t) {
        var e = t.pos,
          i = t.line,
          n = t.top,
          g = void 0 === n ? null : n,
          A = t.bottom,
          r = void 0 === A ? null : A,
          o = {
            ele: new C.default({
              renderer: this.render,
              attachment: this.lines.find(function (t) {
                return t.id === i
              }).ele,
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] }
              ],
              top: g,
              bottom: r
            })
          }
        return this.cases.push(o), this.generateElement(o.ele), o
      },
      addDoor: function (t) {
        var e = t.pos,
          i = t.line,
          n = t.top,
          g = void 0 === n ? null : n,
          A = t.bottom,
          r = void 0 === A ? null : A,
          o = t.within,
          C = t.show,
          s = t.start,
          a = {
            ele: new I.default({
              show: C,
              renderer: this.render,
              attachment: this.lines.find(function (t) {
                return t.id === i
              }).ele,
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] }
              ],
              top: g,
              bottom: r,
              within: o,
              start: s
            })
          }
        return this.doors.push(a), this.generateElement(a.ele), a
      },
      adddDoubleDoor: function (t) {
        var e = t.pos,
          i = t.line,
          n = t.top,
          g = void 0 === n ? null : n,
          A = t.bottom,
          r = void 0 === A ? null : A,
          o = t.within,
          C = t.show,
          I = t.start,
          s = {
            ele: new l.default({
              show: C,
              renderer: this.render,
              attachment: this.lines.find(function (t) {
                return t.id === i
              }).ele,
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] }
              ],
              top: g,
              bottom: r,
              within: o,
              start: I
            })
          }
        return this.doubleDoors.push(s), this.generateElement(s.ele), s
      },
      addSlideDoor: function (t) {
        var e = t.pos,
          i = t.line,
          n = t.top,
          g = void 0 === n ? null : n,
          A = t.bottom,
          r = void 0 === A ? null : A,
          o = t.within,
          C = void 0 === o ? 0 : o,
          I = {
            ele: new s.default({
              within: C,
              bwithin: 1.5,
              renderer: this.render,
              attachment: this.lines.find(function (t) {
                return t.id === i
              }).ele,
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] }
              ],
              top: g,
              bottom: r
            })
          }
        return this.slideDoors.push(I), this.generateElement(I.ele), I
      },
      addBayCase: function (t) {
        var e = t.pos,
          i = t.line,
          n = t.top,
          g = void 0 === n ? null : n,
          A = t.bottom,
          r = void 0 === A ? null : A,
          o = t.within,
          C = {
            ele: new d.default({
              renderer: this.render,
              attachment: this.lines.find(function (t) {
                return t.id === i
              }).ele,
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] }
              ],
              top: g,
              bottom: r,
              within: o
            })
          }
        return this.bayCases.push(C), this.generateElement(C.ele), C
      },
      addGroundCase: function (t) {
        var e = t.pos,
          i = t.line,
          n = t.top,
          g = void 0 === n ? null : n,
          A = t.bottom,
          r = void 0 === A ? null : A,
          o = {
            ele: new p.default({
              renderer: this.render,
              attachment: this.lines.find(function (t) {
                return t.id === i
              }).ele,
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] }
              ],
              top: g,
              bottom: r
            })
          }
        return this.groundCases.push(o), this.generateElement(o.ele), o
      },
      addColumn: function (t) {
        var e = t.pos,
          i = t.line,
          n = {
            ele: new a.default({
              renderer: this.render,
              attachment: this.lines.find(function (t) {
                return t.id === i
              }).ele,
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] },
                { x: e[6], y: e[7] },
                { x: e[4], y: e[5] }
              ]
            })
          }
        return this.columns.push(n), this.generateElement(n.ele), n
      },
      addFurnColumn: function (t) {
        var e = t.pos,
          i = t.angle,
          n = {
            ele: new u.default({
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] },
                { x: e[4], y: e[5] },
                { x: e[6], y: e[7] }
              ],
              renderer: this.render,
              angle: i
            })
          }
        return this.furnColumns.push(n), this.generateElement(n.ele), n
      },
      addRoom: function (t) {
        for (
          var e,
            i,
            g = this,
            A = t.points.map(function (t) {
              return g.addPoint(n(n({}, t), { id: g.getNewPointId() }))
            }),
            r = [],
            o = 0;
          o < A.length - 1;
          o++
        )
          r.push(
            this.addLine({
              id: this.getNewLineId(),
              p1: A[o].id,
              p2: A[o + 1].id,
              isOut: !1,
              border: !1
            })
          )
        return (
          r.forEach(function (t) {
            return t.ele.update()
          }),
          (e = this.data.vertex).push.apply(
            e,
            A.map(function (t) {
              return { id: t.id, x: t.ele.x, y: t.ele.y }
            })
          ),
          (i = this.data.wall).push.apply(
            i,
            r.map(function (t) {
              return t.id
            })
          ),
          r
        )
      },
      addFurnFlue: function (t) {
        var e = t.pos,
          i = t.angle,
          n = {
            ele: new c.default({
              points: [
                { x: e[0], y: e[1] },
                { x: e[2], y: e[3] },
                { x: e[4], y: e[5] },
                { x: e[6], y: e[7] }
              ],
              renderer: this.render,
              angle: i
            })
          }
        return this.furnFlues.push(n), this.generateElement(n.ele), n
      },
      addTagging: function (t) {
        var e = t.pos,
          i = t.title,
          n = t.content,
          g = t.show,
          A = void 0 === g || g,
          r = t.showTitle,
          o = t.showContent,
          C = {
            ele: new h.default({
              show: A,
              pos: { x: e[0], y: e[1] },
              title: i,
              content: n,
              renderer: this.render,
              showTitle: r,
              showContent: o
            })
          }
        return this.taggings.push(C), this.generateElement(C.ele), C
      },
      generateElement: function (t) {
        this.render.push(t),
          this.retrofitElementDestroy(t),
          t instanceof o.default && this.retrofitElementIntercept(t)
      },
      generateElements: function () {
        var t = this
        g(
          this.lines.map(function (t) {
            return t.ele
          }),
          this.points.map(function (t) {
            return t.ele
          }),
          this.cases.map(function (t) {
            return t.ele
          }),
          this.doors.map(function (t) {
            return t.ele
          }),
          this.columns.map(function (t) {
            return t.ele
          })
        ).forEach(function (e) {
          return t.generateElement(e)
        })
      },
      toEles: function (t) {
        var e,
          i = this,
          n = t.vertex,
          g = t.wall,
          A = t.window,
          r = t.door,
          o = t.column,
          C = t.slideDoor,
          I = t.tagging,
          s = t.groundCase,
          a = t.bayCase,
          l = t.furnColumn,
          u = t.furnFlue,
          c = t.doubleDoor
        ;(this.data = t),
          console.log(g),
          n.forEach(function (t) {
            return i.addPoint(t)
          }),
          g.forEach(function (t) {
            var e = t.p1,
              n = t.p2,
              g = t.id,
              A = t.border,
              r = t.exterior
            i.addLine({ p1: e, p2: n, id: g, border: A, exterior: r, isOut: !1 })
          }),
          (e = [A, r, o, C, s, a, c].map(function (t) {
            return (
              t.forEach(function (t) {
                var e = g.find(function (e) {
                  var i = e.id
                  return t.line === i
                })
                if (e) {
                  var n = e.p1,
                    A = e.p2,
                    r = i.lines.find(function (t) {
                      t.id
                      var e = t.ele.points.map(function (t) {
                        return i.points.find(function (e) {
                          return e.ele === t
                        }).id
                      })
                      return ~e.indexOf(n) && ~e.indexOf(A)
                    })
                  t.line = r.id
                } else t.line = 0
              }),
              (t = t.filter(function (t) {
                return !t.pos.some(function (t) {
                  return null === t
                })
              }))
            )
          })),
          (A = e[0]),
          (r = e[1]),
          (o = e[2]),
          (C = e[3]),
          (s = e[4]),
          (a = e[5]),
          (c = e[6]),
          A.forEach(function (t) {
            return 0 !== t.line && i.addCase(t)
          }),
          r.forEach(function (t) {
            return 0 !== t.line && i.addDoor(t)
          }),
          o.forEach(function (t) {
            return 0 !== t.line && i.addColumn(t)
          }),
          C.forEach(function (t) {
            return 0 !== t.line && i.addSlideDoor(t)
          }),
          s.forEach(function (t) {
            return 0 !== t.line && i.addGroundCase(t)
          }),
          a.forEach(function (t) {
            return 0 !== t.line && i.addBayCase(t)
          }),
          I.forEach(function (t) {
            return i.addTagging(t)
          }),
          c.forEach(function (t) {
            return i.adddDoubleDoor(t)
          }),
          l.forEach(function (t) {
            i.addFurnColumn(t)
          }),
          u.forEach(function (t) {
            i.addFurnFlue(t)
          }),
          this.referElements(),
          (this.id = t.id),
          (this.show = t.show)
      },
      referElements: function () {
        var t = this
        g(this.lines, this.points, this.cases, this.doors, this.columns).forEach(function (e) {
          var i = e.ele
          t.render.g.removeChild(i.real), t.render.elements.splice(t.render.elements.indexOf(i), 1)
        }),
          this.generateElements()
      }
    }),
      (e.methods.attrs = [
        'cases',
        'doors',
        'slideDoors',
        'doubleDoors',
        'columns',
        'lines',
        'points',
        'groundCases',
        'taggings',
        'bayCases',
        'furnColumns',
        'furnFlues'
      ])
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = A(i(5)),
      o = i(3),
      C = i(0),
      I = (function (t) {
        function e(e, i) {
          var n = t.call(this, e) || this
          return (n.line = i), n
        }
        return (
          g(e, t),
          (e.prototype.getLineInsertPoint = function (t) {
            void 0 === t && (t = this)
            var e = C.getLinePoint(this.line, t)
            return e
          }),
          (e.prototype.intercept = function (t, e) {
            var i = e.x,
              n = e.y
            return (
              !(!o.type.isUndefined(i) && !o.type.isUndefined(n)) ||
              this.getLineInsertPoint({ x: i, y: n })
            )
          }),
          e
        )
      })(r.default)
    e.default = I
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__awaiter) ||
        function (t, e, i, n) {
          return new (i || (i = Promise))(function (g, A) {
            function r(t) {
              try {
                C(n.next(t))
              } catch (t) {
                A(t)
              }
            }
            function o(t) {
              try {
                C(n.throw(t))
              } catch (t) {
                A(t)
              }
            }
            function C(t) {
              var e
              t.done
                ? g(t.value)
                : ((e = t.value),
                  e instanceof i
                    ? e
                    : new i(function (t) {
                        t(e)
                      })).then(r, o)
            }
            C((n = n.apply(t, e || [])).next())
          })
        },
      o =
        (this && this.__generator) ||
        function (t, e) {
          var i,
            n,
            g,
            A,
            r = {
              label: 0,
              sent: function () {
                if (1 & g[0]) throw g[1]
                return g[1]
              },
              trys: [],
              ops: []
            }
          return (
            (A = { next: o(0), throw: o(1), return: o(2) }),
            'function' == typeof Symbol &&
              (A[Symbol.iterator] = function () {
                return this
              }),
            A
          )
          function o(A) {
            return function (o) {
              return (function (A) {
                if (i) throw new TypeError('Generator is already executing.')
                for (; r; )
                  try {
                    if (
                      ((i = 1),
                      n &&
                        (g =
                          2 & A[0]
                            ? n.return
                            : A[0]
                            ? n.throw || ((g = n.return) && g.call(n), 0)
                            : n.next) &&
                        !(g = g.call(n, A[1])).done)
                    )
                      return g
                    switch (((n = 0), g && (A = [2 & A[0], g.value]), A[0])) {
                      case 0:
                      case 1:
                        g = A
                        break
                      case 4:
                        return r.label++, { value: A[1], done: !1 }
                      case 5:
                        r.label++, (n = A[1]), (A = [0])
                        continue
                      case 7:
                        ;(A = r.ops.pop()), r.trys.pop()
                        continue
                      default:
                        if (
                          !(g = (g = r.trys).length > 0 && g[g.length - 1]) &&
                          (6 === A[0] || 2 === A[0])
                        ) {
                          r = 0
                          continue
                        }
                        if (3 === A[0] && (!g || (A[1] > g[0] && A[1] < g[3]))) {
                          r.label = A[1]
                          break
                        }
                        if (6 === A[0] && r.label < g[1]) {
                          ;(r.label = g[1]), (g = A)
                          break
                        }
                        if (g && r.label < g[2]) {
                          ;(r.label = g[2]), r.ops.push(A)
                          break
                        }
                        g[2] && r.ops.pop(), r.trys.pop()
                        continue
                    }
                    A = e.call(t, r)
                  } catch (t) {
                    ;(A = [6, t]), (n = 0)
                  } finally {
                    i = g = 0
                  }
                if (5 & A[0]) throw A[1]
                return { value: A[0] ? A[1] : void 0, done: !0 }
              })([A, o])
            }
          }
        },
      C =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      I =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      s =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var a = s(i(10)),
      l = i(0),
      u = (i(3), s(i(4))),
      c = i(1),
      h = (function (t) {
        function e(e) {
          var i = e.isOut,
            n = e.hover,
            g = e.width,
            r = void 0 === g ? 3 : g,
            o = e.border,
            I = void 0 !== o && o,
            s = e.exterior,
            a = C(e, ['isOut', 'hover', 'width', 'border', 'exterior']),
            l = t.call(this, A(A({}, a), { width: r })) || this
          return (
            (l.hover = n || A(A({}, l.init), { color: 'rgba(243, 255, 0, 0.8)' })),
            (l.isOut = i),
            (l.adopt = !1),
            (l.border = I),
            (l.exterior = s),
            l.listenPointDrag(),
            Object.defineProperty(l, 'wallLines', {
              get: function () {
                return a.renderer.processing.lines.map(function (t) {
                  return t.ele
                })
              }
            }),
            l
          )
        }
        return (
          g(e, t),
          (e.prototype.setHoverStyle = function () {
            ;(this.color = this.hover.color),
              (this.width = this.hover.width),
              (this.linecap = this.hover.linecap)
          }),
          (e.prototype.setUnHoverStyle = function () {
            ;(this.color = this.init.color),
              (this.width = this.init.width),
              (this.linecap = this.init.linecap)
          }),
          (e.prototype.destoryPoint = function (t) {
            return r(this, void 0, void 0, function () {
              return o(this, function (e) {
                return t.destroy(), [2]
              })
            })
          }),
          (e.prototype.listenPointDrag = function (t) {
            var e = this
            void 0 === t && (t = this.points),
              t.forEach(function (t) {
                t.__join_lines
                  ? ~t.__join_lines.indexOf(e) || t.__join_lines.push(e)
                  : (t.__join_lines = [e])
              })
          }),
          (e.prototype.getDelRetain = function () {
            return { delIndex: 0, retainIndex: 1 }
          }),
          (e.prototype.judgeMerge = function () {
            return r(this, void 0, void 0, function () {
              var t,
                i,
                n,
                g,
                A,
                r = this
              return o(this, function (o) {
                switch (o.label) {
                  case 0:
                    if (
                      this.points[0] === this.points[1] ||
                      l.lineDis({ points: this.points }) > e.minWidth ||
                      (u.default.attaArch.get(this) && u.default.attaArch.get(this).length)
                    )
                      return [2]
                    t = this.wallLines
                    try {
                      ;(g = this.getDelRetain()), (i = g.delIndex), (n = g.retainIndex)
                    } catch (t) {
                      return [2]
                    }
                    return (
                      (A = this.points[n]),
                      [
                        4,
                        Promise.all(
                          t.map(function (t) {
                            var e
                            if (t !== r && ~(e = t.points.indexOf(r.points[i])))
                              return new Promise(function (g) {
                                t.nextTick(function () {
                                  var A = I(t.points)
                                  ;(A[e] = r.points[n]),
                                    A[i] === A[n]
                                      ? t.destroy()
                                      : (t.renderer.processing.updateWallPoints(t, t.points, A),
                                        (t.points = A),
                                        t.listenPointDrag(A),
                                        t.update(),
                                        t.nextTick(function () {
                                          return t.updateJoin()
                                        })),
                                    g()
                                })
                              })
                          })
                        )
                      ]
                    )
                  case 1:
                    return (
                      o.sent(),
                      (this.points[i].x = this.points[n].x),
                      (this.points[i].y = this.points[n].y),
                      (this.points[i].adopt = !0),
                      setTimeout(function () {
                        r.wallLines.some(function (t) {
                          return ~t.points.indexOf(A)
                        }) || r.points[n].destroy()
                      }, 500),
                      [2, this.points[i]]
                    )
                }
              })
            })
          }),
          (e.prototype.judgePoint = function () {
            return r(this, void 0, void 0, function () {
              var t,
                e,
                i,
                n = this
              return o(this, function (g) {
                switch (g.label) {
                  case 0:
                    ;(t = function (t) {
                      var i, g, A, r, C
                      return o(this, function (s) {
                        switch (s.label) {
                          case 0:
                            if (
                              ((i = e.points[t]),
                              !e.renderer.processing.points.some(function (t) {
                                return t.ele === i
                              }))
                            )
                              return [2, 'continue']
                            ;(g = e.renderer.processing),
                              (A = I(e.wallLines).filter(function (t) {
                                return t !== n && !t.exterior
                              })),
                              0.1,
                              (A = A.filter(function (t) {
                                return l.pointLineDis(t, i) <= 0.1
                              })),
                              (r = function (t) {
                                var e, r, C, I
                                return o(this, function (o) {
                                  switch (o.label) {
                                    case 0:
                                      return (
                                        (e = A[t]),
                                        (r = g.lines
                                          .filter(function (t) {
                                            var i = t.ele
                                            return (
                                              ~i.points.indexOf(e.points[0]) &&
                                              i.points.indexOf(e.points[1])
                                            )
                                          })
                                          .map(function (t) {
                                            return t.ele
                                          })),
                                        (C = []),
                                        r.forEach(function (t) {
                                          return (C = C.concat(u.default.attaArch.get(t) || []))
                                        }),
                                        (I = l.getLinePoint(e, i)),
                                        C.find(function (t) {
                                          return l.pointLineDis({ points: t.linePoints }, I) < 0.001
                                        })
                                          ? [3, 5]
                                          : [3, 1]
                                      )
                                    case 1:
                                      if (!(l.pointLineDis(e, I) < 0.1)) return [3, 5]
                                      ;(i.x = I.x), (i.y = I.y), (o.label = 2)
                                    case 2:
                                      return (
                                        o.trys.push([2, 4, , 5]),
                                        [
                                          4,
                                          new Promise(function (t, A) {
                                            i.nextTick(function () {
                                              n.renderer.processing.points.some(function (t) {
                                                return t.ele === i
                                              }) || A()
                                              var r = g.lineInsertPoint(e, i),
                                                o = r.promis
                                              if (!r.ret) return t()
                                              o.then(function () {
                                                ;(i.x = I.x),
                                                  (i.y = I.y),
                                                  i.wallPos && i.wallPos(),
                                                  t()
                                              }),
                                                e.wallPos && e.wallPos()
                                            })
                                          })
                                        ]
                                      )
                                    case 3:
                                      return o.sent(), [3, 5]
                                    case 4:
                                      return o.sent(), [2, 'break']
                                    case 5:
                                      return [2]
                                  }
                                })
                              }),
                              (C = 0),
                              (s.label = 1)
                          case 1:
                            return C < A.length ? [5, r(C)] : [3, 4]
                          case 2:
                            if ('break' === s.sent()) return [3, 4]
                            s.label = 3
                          case 3:
                            return C++, [3, 1]
                          case 4:
                            return [2]
                        }
                      })
                    }),
                      (e = this),
                      (i = 0),
                      (g.label = 1)
                  case 1:
                    return i < this.points.length ? [5, t(i)] : [3, 4]
                  case 2:
                    g.sent(), (g.label = 3)
                  case 3:
                    return i++, [3, 1]
                  case 4:
                    return [2]
                }
              })
            })
          }),
          (e.prototype.updateJoin = function () {
            var t = this,
              e = this.wallLines
            ;(this.points[0].__join_lines = e.filter(function (e) {
              return ~e.points.indexOf(t.points[0])
            })),
              (this.points[1].__join_lines = e.filter(function (e) {
                return ~e.points.indexOf(t.points[1])
              }))
          }),
          (e.prototype.removeJoin = function (t) {
            void 0 === t && (t = this)
            var e = t.points[0].__join_lines,
              i = t.points[1].__join_lines
            e.splice(e.indexOf(t), 1), i.splice(i.indexOf(t), 1)
          }),
          (e.prototype.checkCross = function (t) {
            var e = this
            void 0 === t && (t = this.points)
            var i = this.renderer.processing
            return this.wallLines
              .filter(function (t) {
                return ~t.points.indexOf(e.points[0]) || ~t.points.indexOf(e.points[1])
              })
              .some(function (n) {
                var g = n.points.indexOf(e.points[0]),
                  A = n.points.indexOf(e.points[1]),
                  r = I(n.points)
                return (
                  ~g && (r[g] = t[0]),
                  ~A && (r[A] = t[1]),
                  e.wallLines.some(function (g) {
                    if (!~g.points.indexOf(n.points[0]) && !~g.points.indexOf(n.points[1])) {
                      var A = l.segmentsIntr(g, { points: r })
                      if (!A) return !1
                      if (
                        0 !== l.lineDis({ points: [r[0], A] }) &&
                        0 !== l.lineDis({ points: [r[1], A] }) &&
                        0 !== l.lineDis({ points: [g.points[0], A] }) &&
                        0 !== l.lineDis({ points: [g.points[1], A] })
                      )
                        return !0
                      var o = i.getRoomsByLine(n)
                      o = (o = o.length ? o : i.getHolesByLine(n))[0].ground || o[0].pos
                      var C = i.getRoomsByLine(g)
                      return (
                        o !==
                          (C = (C = C.length ? C : i.getHolesByLine(g))[0].ground || C[0].pos) &&
                        ((o = o.map(function (n) {
                          var g = i.points.find(function (t) {
                            var e = t.id
                            return n === e
                          }).ele
                          return g === e.points[0] ? t[0] : g === e.points[1] ? t[1] : g
                        })),
                        (C = C.map(function (n) {
                          var g = i.points.find(function (t) {
                            var e = t.id
                            return n === e
                          }).ele
                          return g === e.points[0] ? t[0] : g === e.points[1] ? t[1] : g
                        })),
                        l.isFaceIntersect(o, C))
                      )
                    }
                  })
                )
              })
          }),
          (e.prototype.intercept = function (t, e, i) {
            e.x, e.y, e.points
            return !0
          }),
          (e.prototype.grentNode = function () {
            var e = document.createElementNS(c.SVGURI, 'g')
            return (
              (this.origin = t.prototype.grentNode.call(this)),
              (this.ground = document.createElementNS(c.SVGURI, 'g')),
              (this.temp = document.createElementNS(c.SVGURI, 'g')),
              e.appendChild(this.ground),
              e.appendChild(this.origin),
              e.appendChild(this.temp),
              this.temp.setAttribute('pointer-events', 'none'),
              e
            )
          }),
          (e.prototype.update = function () {
            var t = this,
              e = u.default.attaArch.get(this),
              i = this.multiple * this.width * (this.border ? 2 : 1.333)
            this.origin.setAttribute('stroke-width', i.toString()),
              this.origin.setAttribute('stroke-linecap', this.linecap)
            try {
              this.origin.setAttribute(
                'd',
                'M ' +
                  this.points[0].x +
                  ' ' +
                  this.points[0].y +
                  ' L ' +
                  this.points[1].x +
                  ' ' +
                  this.points[1].y
              )
            } catch (t) {}
            if (
              (this.exterior
                ? (this.origin.setAttribute(
                    'stroke',
                    this.color === this.hover.color ? this.color : '#5e5e5e'
                  ),
                  this.origin.setAttribute(
                    'stroke-dasharray',
                    10 * this.multiple + ', ' + 10 * this.multiple
                  ))
                : this.origin.setAttribute('stroke', this.color),
              !this.exterior && e && e.length > 0)
            ) {
              this.origin.setAttribute('stroke', 'rgba(0,0,0,0)')
              for (
                var n = [],
                  g = function (t) {
                    if (
                      n.some(function (e) {
                        return e.some(function (i) {
                          return i === e[t]
                        })
                      })
                    )
                      return 'continue'
                    var i = e.filter(function (i) {
                      return (
                        i.linePoints &&
                        i.linePoints.length &&
                        (l.pointLineDis({ points: e[t].linePoints }, i.linePoints[0]) < 0.1 ||
                          l.pointLineDis({ points: e[t].linePoints }, i.linePoints[1]) < 0.1)
                      )
                    })
                    i.length && n.push(i)
                  },
                  A = 0;
                A < e.length;
                A++
              )
                g(A)
              var r = []
              n.forEach(function (e) {
                var i = e
                    .reduce(function (t, e) {
                      return t.concat(e.linePoints)
                    }, [])
                    .sort(function (e, i) {
                      return (
                        l.lineDis({ points: [e, t.points[0]] }) -
                        l.lineDis({ points: [i, t.points[0]] })
                      )
                    }),
                  n = []
                l.pointLineDis(t, i[0]) < 0.1 && n.push(i[0]),
                  l.pointLineDis(t, i[i.length - 1]) < 0.1 && n.push(i[i.length - 1]),
                  n.length && r.push(n)
              }),
                (r = r.sort(function (e, i) {
                  return (
                    l.lineDis({ points: [e[0], t.points[0]] }) -
                    l.lineDis({ points: [i[0], t.points[0]] })
                  )
                })),
                (this.ground.innerHTML = '')
              var o = ''
              for (A = 1; A < r.length; A++) {
                var C = r[A - 1][r[A - 1].length - 1],
                  I = r[A][0]
                o +=
                  '<path \n          stroke="' +
                  (this.exterior && 'rgba(243, 255, 0, 0.8)' !== this.color
                    ? 'rgb(150,150,150)'
                    : this.color) +
                  '" \n          stroke-width="' +
                  i +
                  '" \n          stroke-linecap="butt" \n          d="M ' +
                  C.x +
                  ' ' +
                  C.y +
                  ' L ' +
                  I.x +
                  ' ' +
                  I.y +
                  '"></path>'
              }
              if (
                (r.length &&
                  2 === r[0].length &&
                  (o =
                    '<path \n          stroke="' +
                    (this.exterior && 'rgba(243, 255, 0, 0.8)' !== this.color
                      ? 'rgb(150,150,150)'
                      : this.color) +
                    '" \n          stroke-width="' +
                    i +
                    '" \n          stroke-linecap="butt" \n          d="M ' +
                    this.points[0].x +
                    ' ' +
                    this.points[0].y +
                    ' L ' +
                    r[0][0].x +
                    ' ' +
                    r[0][0].y +
                    '"></path>' +
                    o),
                r.length &&
                  2 === r[r.length - 1].length &&
                  (o =
                    o +
                    '<path \n          stroke="' +
                    (this.exterior && 'rgba(243, 255, 0, 0.8)' !== this.color
                      ? 'rgb(150,150,150)'
                      : this.color) +
                    '" \n          stroke-width="' +
                    i +
                    '" \n          stroke-linecap="butt" \n          d="M ' +
                    r[r.length - 1][1].x +
                    ' ' +
                    r[r.length - 1][1].y +
                    ' L ' +
                    this.points[1].x +
                    ' ' +
                    this.points[1].y +
                    '"></path>'),
                1 === r.length && 1 === r[0].length)
              ) {
                var s = e.find(function (t) {
                    return ~t.linePoints.indexOf(r[0][0])
                  }),
                  a = s.linePoints[Number(!s.linePoints.indexOf(r[0][0]))]
                C =
                  l.lineDis({ points: [a, this.points[0]] }) >
                  l.lineDis({ points: [a, this.points[1]] })
                    ? this.points[0]
                    : this.points[1]
                o +=
                  '<path \n          stroke="' +
                  (this.exterior && 'rgba(243, 255, 0, 0.8)' !== this.color
                    ? 'rgb(150,150,150)'
                    : this.color) +
                  '" \n          stroke-width="' +
                  i +
                  '" \n          stroke-linecap="butt" \n          d="M ' +
                  C.x +
                  ' ' +
                  C.y +
                  ' L ' +
                  r[0][0].x +
                  ' ' +
                  r[0][0].y +
                  '"></path>'
              }
              0 === r.length &&
                (o +=
                  '<path \n          stroke="' +
                  (this.exterior && 'rgba(243, 255, 0, 0.8)' !== this.color
                    ? 'rgb(150,150,150)'
                    : this.color) +
                  '" \n          stroke-width="' +
                  i +
                  '" \n          stroke-linecap="butt" \n          d="M ' +
                  this.points[0].x +
                  ' ' +
                  this.points[0].y +
                  ' L ' +
                  this.points[1].x +
                  ' ' +
                  this.points[1].y +
                  '"></path>'),
                (this.ground.innerHTML = o)
            } else this.ground.innerHTML = ''
            if (((this.temp.innerHTML = ''), this.showAngle || this.color === this.hover.color)) {
              var h = this.renderer.processing.lines
                .filter(function (e) {
                  return (
                    e.ele !== t &&
                    (~e.ele.points.indexOf(t.points[0]) || ~e.ele.points.indexOf(t.points[1]))
                  )
                })
                .map(function (t) {
                  return t.ele
                })
              if (0 !== h.length) {
                var p =
                  this.renderer.screenToRealPoint({ x: 20, y: 0 }).x -
                  this.renderer.screenToRealPoint({ x: 0, y: 0 }).x
                h.forEach(function (e) {
                  var i = l.getAngle(e, t),
                    n = ~e.points.indexOf(t.points[0]) ? t.points[0] : t.points[1],
                    g = l.getLineDisSelectPoint(e, n, p),
                    A = l.getLineDisSelectPoint(t, n, p),
                    r = l.lineCenter({ points: [g, A] })
                  if (!isNaN(r.x) && !isNaN(i) && i > 10 && i < 170) {
                    i = (i = Math.round(i)) >= 89 && i <= 91 ? 90 : i
                    var o = document.createElementNS(c.SVGURI, 'text')
                    o.setAttribute('fill', '#fff'),
                      o.setAttribute('text-anchor', 'middle'),
                      o.setAttribute('dominant-baseline', 'middle'),
                      o.setAttribute('x', r.x.toString()),
                      o.setAttribute('y', r.y.toString()),
                      o.setAttribute('font-size', (9 * t.multiple).toString()),
                      (o.textContent = parseInt(i + '').toString() + '掳'),
                      t.temp.appendChild(o)
                  }
                })
              }
            }
          }),
          (e.prototype.destroy = function () {
            var e = this,
              i = this.wallLines
            i.splice(i.indexOf(this), 1)
            var n = u.default.attaArch.get(this)
            if (n) {
              n = I(n)
              var g = i.find(function (t) {
                return (
                  (t.points[0] === e.points[0] && t.points[1] === e.points[1]) ||
                  (t.points[1] === e.points[0] && t.points[0] === e.points[1])
                )
              })
              n.forEach(function (t) {
                g ? t.setAttachment(g) : t.destroy()
              })
            }
            this.nextTick(function () {
              i.filter(function (t) {
                return ~t.points.indexOf(e.points[0]) || ~t.points.indexOf(e.points[1])
              }).forEach(function (t) {
                return t.updateJoin()
              })
            }),
              t.prototype.destroy.call(this),
              this.removeJoin(),
              i.some(function (t) {
                return ~t.points.indexOf(e.points[0])
              }) || this.points[0].destroy(),
              i.some(function (t) {
                return ~t.points.indexOf(e.points[1])
              }) || this.points[1].destroy()
          }),
          (e.minWidth = 0.1),
          e
        )
      })(a.default)
    e.default = h
  },
  function (t, e) {
    t.exports =
      'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAACECAYAAAAeNUIyAAAIPklEQVR4Xs2bZw8cNRCGXxN67y0gOqKDEIgiOkLwO/jAr0SiCRCRIggEEiAEUEivJIFUGPRsxqe9u123K8JSPiS3az87Mx6PXzvBzC6XdC6E8I/W3Mxsg6RLgpldKckknV0niANcKilECGwACBY5v2qDmNnFWAAAxupDrAVkFmAIYqUgQwBjECsBGQNIQSwVxAEIwsE2GxOzDy0crCkLxMFyENEi50MI52pnjZkxA/iTbCUQsQPySPH0LQXIxUSzaxyAXNDlgVyrsUTsi4Q26poaC9TExNCHDIK0ANS6ow/DrJkKVjNjCrIgFbmg3xnuuKLlRe+ks4gDEAMtzYCAvlvNWnrwhW+Rd892Ly8BpIV/Uj5MvsBBLmvpreGdqfplyoxrsshcATXnyxWDDFZwgwG1ItcAcCaE8O+s+0ajeskWGQXoklUqqJYEki2is/N7QZCkBSZrR8n0agTB98QAIMmWtUR8uxIEAOqPuSAcoimG8Mx6kSQSWuo9vvx0iQWq3DG1fJqlQIpdMLWK5vw19PuIa6pcsDDEgGuqXbAUCAchNigF/qmJgeKM2eKm1neqZkfrILn3qKzYnGDOojmd67Dmd7sw0zYA8aCko5KOLOLXmsF7gX2jpOuBeFQSVjgcQjhU21nr82Z2iyQgLooQsa/Dkg6t0jXugpsl3TTJmG6J+HcscsStsvQY6QHcgAXGIPh3Bj8aQjjQauqx98zsNmKgD8Czs+7ov78017gFbpWEBeZaCqKzyKIx4gAEIQCDeSkFEV1zLISwv9U1Zna7u2A0MeYg4tgE68GaWeMWiDGQ/IZSCFZJQIqmby8GCMLs0lAK0SU5SbhmX841ZnanpGtLAHKzY2wsgvXAkGu82CEGAChuNZaInWIRQKZixAGYhteVWiCVrEq+YMo1ZobfN0q6uhYguuMBF0lKBp99plt9JWGBa1o66LYGZgY9U2lU9k103im+/WODSpCzkvZHpQYQIpp6cV0NYXZvCOFkX6kB5A5JrQJYDTzW2xNC+LuLif6bZnaVu2aVstHpzgUOMAfRZaQLZ2K4JiuM13y6P4sFdocQTvXfHVNqVgFCEP4RQjgzC59SagBh1nBkuWjjy/eFEHDFXMspNai9JKFFXMOX44I5C0wyZu4T/fD2rkYQvnxX7pwku8x6sOISFiYsU9r+chcQC8lWBNEDwTUlmZUYwAVFR1bFEA4CwN0JENI4AMyC4rP3KggHIZGRWWddA8BJd0HxWdlgssr5rweCa/qZFQDWgiqAZggHYY3BNUxf1gBiICsXVueJnFX84BVrnKqpxIszZg5gmb9XB+YyB59kTDNDIzjeElCLArk7r6O8e4t5LemXmrm9BACqOFSijUC85xubHZJ+WweIbw/uk0SR3d2pAaKbdZJ+d4sUpdsWa/gZ6v2S7unfqYkQ9IkcsEvST6uwiMfAw5JYlaeUmj5E/LidknYuM1gd4CG3wJQR++6YtS4W2ZEqRkrd4TUJAKT6uZaCIEZ2S9q+iEVcrH3M65FRpWbIHX1aLPJjC4gH4eNeq44aLmWJ/kt7PFgHC9Wh3n0P84gk9KpkK4XANehW35dUS26Bp1wwzS4NpRDxSyLIaN1oZqyqz4zJhbWBOWZCRFaCtdtH9puZIQ8QhIN65ViHtZaImRUh/rsQwsQifiPl6Val5t0WdQX9W9K35BEHeLZRKOmuszwnCdW9pQFCLrm3VizrDXYQCOSAJ2r96J0wayjtWzUN5KatUakhoJhSrbpTixWPe1yd6Cs1TZHdMrrH0zakIt4fUmpaXVPKw8z6IafUoF3hmipVtpDgmM+oqRwzptQAwsJTlXQSIATwwbEkl1NqcA3V+KKNLIsLmpSaZbgGxZekNroCZ1c4V3xZD2otElde1plkCZCF6BaLC7IiIDWZda/HwKhWFX1cBOEgZNYn/TwrFSNYgGm4tbQ+LYbogXCsPWYRAKjCKAezWlW1JeILvmIyfWdBYmEMQNXmqcoSPRBihITGQVusMZiGuKAKYC5t1yQDD1YKWY6bKPvYtVVLRQtBeIzEG+rcLCtW62Y/tskdNRYrefb/AWFmrA+/hhCQgdfavKq7j/LuAyAkfT5Uxq+KygFeljSBiALJF7HaWdXgHtBUcS9FoSRaIo7JOfhHIYQTq4IwM6b0G/1N8iwEYyOifbYKEDOjWnt1VqcYgoggxMify7KIS5XEAId8U20Mgocoxz4OIbA3WKiZGdeZcMHkWlO/wxQEz7EifhpCYI/Q1NwCr6d0ihwEAxOsuIYtX1UzM85FmAXJYqgEgoEBwDXFIA7wmi9wSfhSiBgjn4QQKFyTze/VvVlQhXX91EDwPGUbCW30Xo2ZcRDDLCAfFLVaCDpl2mKRORAzQyp+RRL1aHFrgaBzpi2ZdXJ10mMAF7BXqWpAvN+oL7Cv/MJFEgTzF2st4KTngXjbJf8qen+YNQaxlWODmtPj/lg74p0aQLics84ih5Wb4vjDqNSwxWNh4arCuho7NJLgkb5SQ0S/4xZZNQhiG4E9eKcGv+Ia0u0qXIMLiCGy72STPDeQmSGMkGwGzyYWNBGHOZtmF8QxpQaLMOc5JlpW2y7pq9o7NYBQAwCyiGs4V/tZ0pdjm+TcnRry/wuu2LZaZJukzalKPvuFfn7F9CUh1TSCcIukr3Ob5CwEo/oZBgsTIJOjxAQR+9KtboHsJrkIwkHII89L4lwz1YgBLLClVCgphnAQ7tQQI6g1Qw2ATX5MVbxLr4LogbBiYpG+azD7N26BYgD6rIZwEKYv5yTRIgy62ZWabAzMmrAJwkEQSDhuIlixAFcfmv4nxH+8RMcvoX23QgAAAABJRU5ErkJggg=='
  },
  function (t, e) {
    t.exports =
      'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAACECAYAAAAeNUIyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABphJREFUeNrsW2tTHEUU7enZAXYD4bkICCKaqNFUtPxiaUzUWH73H2sV5bt8lkETX2VFQiCoRBNY1rDrXHK6qtPOo++dnsEPuVUdyOzM9Nl7b3ffc7qJlVJjaRuiNW1x2kZ1+g+1EVxoGgD1qzUuRLjQaghAC/1Rv0pbH9CFpAEgLfQTmQvauaFuIP8BkAWiTiCZAFRBRwYI2f2AOZBpuuDBUB5pWV8o9wblAYR+/iMAkJQBKPNEVY94AfAFYb+0VcO9x7NW4nlvZM2qAw8PRL4gdOA4J4wv5Z2YZc/ZySpef2K8MGI+54ZmRPgesmFkrWaR0CvDis/2I2dZjVRzdgxgOBwemcQ8ogtNA0C/D40OunDYQIX1EICsIWo8MmwKQN48UVdohvD0ke9kFTo0BsCAO2OGCo0JwUA6bVcFkhsC7tohBULfvFey2LEWMC6QAed+zirqm6yFSRhiKR+UADEhYIVOUk/kuXogTWItzHo3NOwQhLSoQh3xAP3wJMSADBBa/U8sqZAbVY36TaiiegoXeicAYCZtCwTisbS18cF+gyDm0jZLid2yUHXxc7fmoaYtAJnzxDQ+1DUDmC6arEyc5moC0QUAXcbAtOWqUKGhd867HvCZtqfhER0AAHlgSrJ2aADpVgRhPBBJCbHJEbLbzNBoDP+pUKsoNzQmByZDLuURPDLvef8CPOC1unL0icjK7p2c0MQAcLruombKml1dAOSpiSYqK+OReefaInKAXeDEeDAWAGkjnH0AmBBWWP0YulNbqDfRhs04nhcBSNu2eZBetKSa3XghzXwrLe/u2ujH4dYmNl7I+zepfqEa03XhKcxyozUCoApu2xRQWYXuvbTdUjIx3dcDt9wKLmuI7sNVoYFQEt5I20HWUMuzDkIzFgDAATzQ4/KO/UChIXq4VVTNR55zwbISCOfo+IYq2MLKGh1FQBYsauBjJsn7oWhgz+eFTg5s+d7PnWpJ/15R+Tt7QwD4TZWIZZJw2DaKmbWdAeAuPOa9jSll5SbbD3NygL2PWmVroYXQJBjOmxKpKIRI0sJ6I+Ymj5Qa12ZUc4c3ssI5S5XUq6io9lSz52qozzNpO0u/PIsynnjEXw0BoX7XIFW1DBrDsOj/d2pWakbQ55rKOVPzBG6Ia8yBM+gncuNiAzEcMrRHCMDZtK26k6QLwmbhCXLkKACAMeTeCpcGLgN51eGbAMCShJVHAEKj5ZqSHfChJHwBtWolaWAFYbuueKovrSnP+chNvtP2Il6YMDxwTnlKkb7xjlBj0s+rJWUbFT0vqRy5sKpSoxBbAvK9ytbBSR54ngNAKpJ04Wq3zmwjCae4L9SCtSICkBct4kwAXuaIZXZJEcN1HYFHOpZAdo4rllm2axas00xiY4dgTvgs2Z9p29CokjfS9rdQRJPOqLQkbKTl3b2oamYL7fe0fUc8JU+pOV8zkF14vlCpuQpX1WF7NoAy8jOOMR/KIzQN3M6a5Mq4aAehmQkAYgceECk1GwFC80ceAA4XHceomRGEYBsh6IWQBjoAwtkl3AKAw1A0cB/jeo+ZhId1SAOnSooVAnAT5aCXVCRVasySPZcBYBMAvGVHKSs/QLbvOQB2uABCKDUd1J2TGAXXJRV5CJEkARgxbXyk1Lh2HkPvJOy4dKBYvouCps7NljwAr6XtginNnsRI+VA9UGXrtgnIVKs2+YkAhCj8e8J609doSL9pk2Q3MYnqXVKCrWZPo6r+dZel6xxd4pLyPHbAMCoFLqftcV8aSECuBCzv6IzOW3lCiS7hnBcrMCvXA7NSQryEJJoVAljE892qrHxBCGQRHiitxjQjppcZdWaXk9yctaMLjyx4aFxXODoFdwEj175RAGQVHmMNb8kqOglXz2XkwEXJYhhDceGCaaPTO5jinwawccGXuh8j2SRUz+wak2cuCNUesp9jcIR5uJFbc44iYSX76KY4XtdYutdxoUmj+mXdVWrIE+8o/6NtVWwTJUPmmRpKuLeRdHX8TRiFgI4yvG9IclahS8TmA1C5OuwXVG89H/LTxtK7HBAAEeRPXJJcxkXbmKaXK4aGtrB+SNtHWSS5jHccwHW/VvQA8dPPili675kamg3XBEn4ddq+LKISHGlgFAXqmvL/i6lv0/Z5GUnm0EBKpo/T9qNnDnwDD3ixdMmZmleg1uQB+FQ9EGS9z9RwxfE+hhmBf8YJDX3rrzgAqtQTfWT7NScHvkAY2Ju5VcZ/glpkDR74SQm2tSkc/wowABSuxDvxNYq7AAAAAElFTkSuQmCC'
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.methods = {
        getRoomEles: function (t) {
          var e = this
          return {
            ground: t.ground.map(function (t) {
              return e.points.find(function (e) {
                return e.id === t
              }).ele
            }),
            hole: t.hole.map(function (t) {
              return t.pos.map(function (t) {
                return e.points.find(function (e) {
                  return e.id === t
                }).ele
              })
            })
          }
        }
      })
  },
  function (t, e, i) {
    var n =
        (this && this.__assign) ||
        function () {
          return (n =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      g =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var A = function (t, e) {
      return void 0 === e && (e = 2), Number(t.toFixed(e))
    }
    e.methods = {
      baseArchToData: function (t) {
        return {
          line: this.getLineId(t.attachment),
          pos: [
            A(t.linePoints[0].x),
            A(t.linePoints[0].y),
            A(t.linePoints[1].x),
            A(t.linePoints[1].y)
          ],
          top: t.top,
          bottom: t.bottom
        }
      },
      roomArchToData: function (t) {
        return {
          pos: [
            A(t.points[0].x),
            A(t.points[0].y),
            A(t.points[1].x),
            A(t.points[1].y),
            A(t.points[2].x),
            A(t.points[2].y),
            A(t.points[3].x),
            A(t.points[3].y)
          ],
          top: t.top,
          bottom: t.bottom,
          angle: t.angle
        }
      },
      pointToData: function (t) {
        var e = t.ele
        return { id: t.id, x: A(e.x), y: A(e.y) }
      },
      lineToData: function (t) {
        var e = t.ele,
          i = t.id,
          n = t.border
        return {
          id: i,
          p1: this.getPointId(e.points[0]),
          p2: this.getPointId(e.points[1]),
          border: n,
          exterior: e.exterior
        }
      },
      doorToData: function (t) {
        var e = t.ele,
          i = this.baseArchToData(e)
        return (
          (i.within = e.within),
          (i.show = e.show),
          (i.ctl = [e.ctl[0].x, -e.ctl[0].y]),
          (i.start = e.start),
          i
        )
      },
      DoubleDoorToData: function (t) {
        var e = t.ele,
          i = this.baseArchToData(e)
        return (i.within = e.within), (i.show = e.show), i
      },
      slideDoorToData: function (t) {
        var e = t.ele,
          i = this.baseArchToData(e)
        return (i.within = e.within), (i.show = e.show), i
      },
      caseToData: function (t) {
        var e = t.ele
        return this.baseArchToData(e)
      },
      groundCaseToData: function (t) {
        var e = t.ele
        return this.baseArchToData(e)
      },
      BayCaseToData: function (t) {
        var e = t.ele,
          i = this.baseArchToData(e)
        return (
          (i.within = e.within), (i.ctl = [e.ctl[0].x, -e.ctl[0].y, e.ctl[1].x, -e.ctl[1].y]), i
        )
      },
      columnToData: function (t) {
        var e = t.ele,
          i = this.baseArchToData(e)
        return n(n({}, i), {
          pos: g(i.pos, [A(e.points[3].x), A(e.points[3].y), A(e.points[2].x), A(e.points[2].y)])
        })
      },
      taggingToData: function (t) {
        var e = t.ele
        return {
          pos: [e.x, e.y],
          title: e.title,
          content: e.content,
          showTitle: e.showTitle,
          showContent: e.showContent
        }
      },
      furnColumnToData: function (t) {
        var e = t.ele
        return this.roomArchToData(e)
      },
      furnFlueToData: function (t) {
        var e = t.ele
        return this.roomArchToData(e)
      },
      getNewPointId: function () {
        return 0 === this.points.length
          ? 1
          : Math.max.apply(
              Math,
              this.points.map(function (t) {
                return t.id
              })
            ) + 1
      },
      getNewLineId: function () {
        return 0 === this.lines.length
          ? 1
          : Math.max.apply(
              Math,
              this.lines.map(function (t) {
                return t.id
              })
            ) + 1
      },
      getLineId: function (t) {
        var e = this.lines.find(function (e) {
          return e.ele === t
        })
        return e ? e.id : 0
      },
      getPointId: function (t) {
        return this.points.find(function (e) {
          return e.ele === t
        }).id
      },
      toData: function () {
        var t = this,
          e = this.points.map(function (e) {
            return t.pointToData(e)
          }),
          i = this.columns.map(function (e) {
            return t.columnToData(e)
          }),
          n = this.cases.map(function (e) {
            return t.caseToData(e)
          }),
          g = this.doors.map(function (e) {
            return t.doorToData(e)
          }),
          A = this.slideDoors.map(function (e) {
            return t.slideDoorToData(e)
          }),
          r = this.groundCases.map(function (e) {
            return t.groundCaseToData(e)
          }),
          o = this.taggings.map(function (e) {
            return t.taggingToData(e)
          }),
          C = this.bayCases.map(function (e) {
            return t.BayCaseToData(e)
          }),
          I = this.doubleDoors.map(function (e) {
            return t.DoubleDoorToData(e)
          }),
          s = this.furnColumns.map(function (e) {
            return t.furnColumnToData(e)
          }),
          a = this.furnFlues.map(function (e) {
            return t.furnFlueToData(e)
          }),
          l = []
        return (
          this.lines.forEach(function (e) {
            try {
              l.push(t.lineToData(e))
            } catch (t) {}
          }),
          {
            id: this.id,
            show: this.show,
            vertex: e,
            wall: l,
            window: n,
            door: g,
            column: i,
            surplus: this.data.surplus,
            slideDoor: A,
            groundCase: r,
            tagging: o,
            doubleDoor: I,
            bayCase: C,
            furnColumn: s,
            furnFlue: a,
            dire: this.data.dire
          }
        )
      }
    }
  },
  function (t, e, i) {
    var n =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      g =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var A = g(i(4)),
      r = i(0),
      o = i(1)
    e.methods = {
      lineInsertPoint: function (t, e) {
        var i = this,
          g = [],
          C = [],
          I = this,
          s = I.points.find(function (t) {
            return t.ele === e
          })
        return s
          ? (I.lines.forEach(function (a) {
              var l = a.ele
              a.border
              if (
                ~l.points.indexOf(t.points[0]) &&
                ~l.points.indexOf(t.points[1]) &&
                !I.lines.some(function (t) {
                  var i = t.ele
                  return ~i.points.indexOf(e) && ~i.points.indexOf(l.points[0])
                })
              ) {
                var u = A.default.attaArch.get(l)
                i.cad.increase
                var c = {
                  ele: i.cad.increase(o.SEFTLINE, {
                    id: i.getNewLineId(),
                    p1: I.getPointId(l.points[0]),
                    p2: s.id,
                    border: l.border,
                    exterior: l.exterior,
                    isOut: l.isOut
                  }).obj
                }
                C.push(c), c.ele.update()
                var h = [s.ele, l.points[1]]
                ;(l.points = h),
                  l.listenPointDrag([s.ele, l.points[1]]),
                  g.push(
                    new Promise(function (t) {
                      l.nextTick(function () {
                        l.updateJoin(),
                          c.ele.updateJoin(),
                          u &&
                            n(u).forEach(function (t) {
                              r.pointLineDis(c.ele, t.linePoints[0]) < 0.1 &&
                                r.pointLineDis(c.ele, t.linePoints[1]) < 0.1 &&
                                t.setAttachment(c.ele)
                            }),
                          setTimeout(t, 200)
                      })
                    })
                  )
              }
            }),
            { lines: C, promis: Promise.all(g), ret: !0 })
          : { ret: !1 }
      }
    }
  },
  function (t, e, i) {
    var n =
        (this && this.__assign) ||
        function () {
          return (n =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      g =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      A =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = A(i(4)),
      o = A(i(13)),
      C = i(3),
      I = i(0),
      s = i(1),
      a = i(9),
      l = [s.TAGGING, s.LINE, s.SEFTLINE],
      u = [
        s.POINT,
        s.DOOR,
        s.COLUMN,
        s.CASEMENT,
        s.ARCH,
        s.SLIDEDOOR,
        s.GROUNDCASE,
        s.BAYCASE,
        s.DOUBLEDOOR
      ],
      c = [s.FURNCOLUMN, s.FURNFLUE]
    e.attachInsert = function (t) {
      var e,
        i = function (e, i) {
          var n = t.processing,
            g = n.lines
              .map(function (t) {
                return t.ele
              })
              .filter(function (t) {
                return !t.exterior
              })
              .map(function (t) {
                return { dis: I.pointLineDis(t, e), line: t }
              })
              .sort(function (t, e) {
                return t.dis - e.dis
              })
              .find(function (t) {
                return (
                  I.pointLineDis(t.line, I.getLinePoint(t.line, { x: e.x })) < 0.1 ||
                  I.pointLineDis(t.line, I.getLinePoint(t.line, { y: e.y })) < 0.1
                )
              })
          if (!g)
            return {
              error: !0,
              msg: a.i18n.t('modules.model.error_location', { widget: s.ARCH[i] }),
              obj: null
            }
          var A = g.line,
            o =
              (n.lines.find(function (t) {
                return t.ele === A
              }),
              r.default.attaArch.get(A),
              I.getLinePoint(A, e))
          if (i === s.POINT)
            return I.pointLineDis(g.line, o) > 0.1
              ? {
                  error: !0,
                  msg: a.i18n.t('modules.model.error_location', { widget: '' }),
                  obj: null
                }
              : [A, o]
          var l = (function (t, e, i) {
            var n = I.getDisPointLinePoints(t, e, i / 2)
            return [n[0], n[1]]
          })(A, o, s.DEFAULT[i].width)
          return C.type.isArray(l) ? [A, l, e] : { error: !0, msg: l }
        },
        A =
          (((e = {})[s.POINT] = function (e, i) {
            var g = t.processing
            g.insertModel = !0
            var A = g.addPoint(n({ id: g.getNewPointId() }, i))
            g.data.vertex.push({ id: A.id, x: A.ele.x, y: A.ele.y })
            var r = g.lineInsertPoint(e, A.ele),
              o = r.lines,
              C = r.promis
            if (r.ret)
              return (
                C.then(function () {
                  return (g.insertModel = !1)
                }),
                o.map(function (t) {
                  return t.ele
                })
              )
          }),
          (e[s.DOOR] = function (e, i, n, g, A) {
            var r = t.processing
            return r.addDoor({
              pos: [i[0].x, i[0].y, i[1].x, i[1].y],
              line: r.getLineId(e),
              start: !1,
              within: 0
            }).ele
          }),
          (e[s.DOUBLEDOOR] = function (e, i, n, g, A) {
            var r = t.processing
            return r.adddDoubleDoor({
              pos: [i[0].x, i[0].y, i[1].x, i[1].y],
              line: r.getLineId(e),
              start: !1,
              within: 0
            }).ele
          }),
          (e[s.SLIDEDOOR] = function (e, i, n, g, A) {
            var r = t.processing
            return r.addSlideDoor({
              within: 0,
              pos: [i[0].x, i[0].y, i[1].x, i[1].y],
              line: r.getLineId(e)
            }).ele
          }),
          (e[s.GROUNDCASE] = function (e, i, n, g, A) {
            var r = t.processing
            return r.addGroundCase({ pos: [i[0].x, i[0].y, i[1].x, i[1].y], line: r.getLineId(e) })
              .ele
          }),
          (e[s.BAYCASE] = function (e, i, n, g, A) {
            var r = t.processing
            return r.addBayCase({
              pos: [i[0].x, i[0].y, i[1].x, i[1].y],
              line: r.getLineId(e),
              within: 0
            }).ele
          }),
          (e[s.CASEMENT] = function (e, i, n, g, A) {
            var r = t.processing
            return r.addCase({ pos: [i[0].x, i[0].y, i[1].x, i[1].y], line: r.getLineId(e) }).ele
          }),
          (e[s.COLUMN] = function (e, i, n) {
            var g = t.processing,
              A = I.getDisVerticalLinePoints(e, i[0], s.DEFAULT[s.COLUMN].width),
              r = (A[0], A[1])
            if (!r)
              return a.i18n.t('modules.model.error_widget', {
                widget: a.i18n.t('modules.model.column')
              })
            var o = I.getDisVerticalLinePoints(e, i[1], s.DEFAULT[s.COLUMN].tick),
              C = o[0],
              l = o[1],
              u = I.lineDis({ points: [C, r] }) > I.lineDis({ points: [l, r] }) ? l : C
            return g.addColumn({
              pos: [i[0].x, i[0].y, i[1].x, i[1].y, r.x, r.y, u.x, u.y],
              line: g.getLineId(e)
            }).ele
          }),
          (e[s.TAGGING] = function (e) {
            return t.processing.addTagging({
              pos: [e.x, e.y],
              title: '',
              content: '',
              showTitle: !0,
              showContent: !0
            }).ele
          }),
          (e[s.FURNCOLUMN] = function (e, i, n, g) {
            return t.processing.addFurnColumn({ pos: e, angle: 0 }).ele
          }),
          (e[s.FURNFLUE] = function (e, i, n, g) {
            return t.processing.addFurnFlue({ pos: e, angle: 0 }).ele
          }),
          (e[s.LINE] = function (e) {
            t.processing
            var i = s.DEFAULT[s.LINE].width,
              n = {
                points: [
                  { x: e.x - i / 2, y: e.y },
                  { x: e.x + i / 2, y: e.y }
                ]
              },
              g = t.processing.lines.some(function (t) {
                var e = t.ele
                return I.segmentsIntr(e, n)
              })
            return g &&
              ((n = {
                points: [
                  { x: e.x - i / 2, y: e.y },
                  { x: e.x + i / 2, y: e.y }
                ]
              }),
              (g = t.processing.lines.some(function (t) {
                var e = t.ele
                return I.segmentsIntr(e, n)
              })))
              ? a.i18n.t('modules.model.error_widget', { widget: a.i18n.t('modules.model.line') })
              : t.processing.furnColumns
                  .concat(t.processing.furnFlues)
                  .map(function (t) {
                    return t.ele
                  })
                  .every(function (t) {
                    return (
                      !I.isFaceIntersect(n.points, t.points) &&
                      !I.isFaceContain(n.points, t.points) &&
                      !I.isFaceContain(t.points, n.points)
                    )
                  })
              ? t.processing.addRoom(n)[0].ele
              : a.i18n.t('modules.model.error_widget', { widget: a.i18n.t('modules.model.line') })
          }),
          (e[s.SEFTLINE] = function (e) {
            return t.processing.addLine(e).ele
          }),
          e)
      t.increase = function (e, r, I, h, p) {
        void 0 === I && (I = null), void 0 === h && (h = null), void 0 === p && (p = !1)
        var d = t.processing.render
        if (A[e]) {
          var f,
            y = p ? d.screenToRealPoint(r) : r
          if (~u.indexOf(e) || ~c.indexOf(e)) {
            var v = ~c.indexOf(e)
              ? (function (e, i) {
                  var g = t.processing,
                    A = s.DEFAULT[i].width / 2,
                    r = s.DEFAULT[i].tick / 2,
                    C = [
                      { x: e.x - A, y: e.y + r },
                      { x: e.x + A, y: e.y + r },
                      { x: e.x + A, y: e.y - r },
                      { x: e.x - A, y: e.y - r }
                    ],
                    I = (n(n({}, o.default.prototype), { renderer: g.render, minWidth: 0.1 }), [])
                  return (
                    C.forEach(function (t) {
                      I.push(t.x), I.push(t.y)
                    }),
                    [I]
                  )
                })(y, e)
              : i(y, e)
            if (!C.type.isArray(v)) return v
            var m = A[e].apply(A, g(v, [I, h]))
            if ('string' == typeof m) return { error: !0, msg: m, obj: null }
            f = m
          } else if (~l.indexOf(e) && 'string' == typeof (f = A[e](y)))
            return { error: !0, msg: f, obj: null }
          return (
            t.preservation && t.preservation(),
            { error: !1, msg: a.i18n.t('modules.model.success', { widget: s.ARCH[e] }), obj: f }
          )
        }
      }
      var h = t.destroy
      t.destroy = function () {
        for (var e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
        var n = t.processing
        n.render
        ;(n = null), h.apply(this, e)
      }
    }
  },
  function (t, e, i) {
    var n =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      g =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var A = g(i(41)),
      r = g(i(42))
    e.attachGauge = function (t) {
      var e = {
          processings: [],
          setGaugeAttrs: [],
          showGauge: [],
          setGaugeModel: [],
          hideGauge: [],
          showDire: [],
          hideDire: [],
          setDireAttrs: [],
          setAngle: []
        },
        i = t.delProcessing
      t.delProcessing = function (g) {
        for (var A = [], r = 1; r < arguments.length; r++) A[r - 1] = arguments[r]
        var o = e.processings.indexOf(g)
        return (
          console.error('-------', o),
          ~o &&
            Object.keys(e).forEach(function (t) {
              e[t].splice(o, 1)
            }),
          i.call.apply(i, n([t, g], A))
        )
      }
      var g = t.addProcessing
      ;(t.addProcessing = function () {
        for (var i = [], C = 0; C < arguments.length; C++) i[C] = arguments[C]
        var I,
          s = g.call.apply(g, n([t], i))
        e.processings.push(s)
        var a = s.lines,
          l = a.push,
          u = s.points,
          c = u.push,
          h = function (t) {
            ;(t.__label_intercept = t.intercept),
              (t.intercept = function () {
                for (var e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
                return I.update(), t.__label_intercept.apply(t, e)
              })
          },
          p = function (t) {
            ;(t.__label_intercept = t.drag),
              (t.drag = function () {
                for (var e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
                return I.update(), t.__label_intercept.apply(t, e)
              })
          }
        e.setGaugeAttrs.push(function (t) {
          ;(I.__state.direct = !0),
            Object.keys(t).forEach(function (e) {
              I[e] = t[e]
            }),
            (I.__state.direct = !1),
            I.update()
        })
        var d = function () {
          I || ((I = new A.default({ processing: s })), (t.gauge = I)),
            (a.push = function () {
              for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
              var i = l.apply(a, t)
              return (
                I.update(),
                t.forEach(function (t) {
                  var e = t.ele
                  return p(e)
                }),
                i
              )
            }),
            u.forEach(function (t) {
              var e = t.ele
              return h(e)
            }),
            a.forEach(function (t) {
              var e = t.ele
              return p(e)
            }),
            (u.push = function () {
              for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
              return (
                t.forEach(function (t) {
                  var e = t.ele
                  return h(e)
                }),
                c.apply(u, t)
              )
            }),
            s.render.push(I)
        }
        e.showGauge.push(d),
          o && d(),
          e.setGaugeModel.push(function (t) {
            return I
              ? ((I.surround = 1 === t),
                new Promise(function (t) {
                  return I.nextTick(t)
                }))
              : new Promise(function (t) {
                  return t(void 0)
                })
          }),
          e.hideGauge.push(function () {
            ;(a.push = l),
              (u.push = c),
              u.forEach(function (t) {
                var e = t.ele
                return (e.intercept = e.__label_intercept)
              }),
              s.render.remove(I)
          })
        var f = new r.default({ angle: 0, renderer: s.render })
        return (
          (s.direction = f),
          e.showDire.push(function () {
            ;(f.show = !0), s.render.push(f)
          }),
          e.hideDire.push(function () {
            ;(f.show = !1), s.render.remove(f)
          }),
          e.setDireAttrs.push(function (t) {
            return (
              Object.keys(t).forEach(function (e) {
                f[e] = t[e]
              }),
              new Promise(function (t) {
                return f.nextTick(t)
              })
            )
          }),
          s
        )
      }),
        (t.setGaugeAttrs = function (t) {
          return (
            console.error(e.setGaugeAttrs),
            Promise.all(
              e.setGaugeAttrs.map(function (e) {
                return e(t)
              })
            )
          )
        })
      var o = !1
      ;(t.showGauge = function () {
        o ||
          ((o = !0),
          e.showGauge.forEach(function (t) {
            return t()
          }))
      }),
        (t.setGaugeModel = function (t) {
          return Promise.all(
            e.setGaugeModel.map(function (e) {
              return e(t)
            })
          )
        }),
        (t.hideGauge = function () {
          o &&
            ((o = !0),
            e.hideGauge.forEach(function (t) {
              return t()
            }))
        })
      var C = t.destroy
      ;(t.destroy = function () {
        for (var e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
        t.hideGauge(), (o = !1), C.apply(this, e)
      }),
        (t.showDire = function () {
          e.showDire.forEach(function (t) {
            return t()
          })
        }),
        (t.hideDire = function () {
          e.hideDire.forEach(function (t) {
            return t()
          })
        }),
        (t.setDireAttrs = function (t) {
          return Promise.all(
            e.setDireAttrs.map(function (e) {
              return e(t)
            })
          )
        }),
        (t.setAngle = function (e) {
          ;(t.processing.data.dire = e), (t.processing.direction.angle = e)
        })
    }
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var o = i(2),
      C = i(1),
      I = i(0),
      s = 0,
      a = function (t, e, i, n, g, A, r, o, a) {
        var l = document.createElementNS(C.SVGURI, 'g'),
          u = { points: [t, e] },
          c = 'lineBoth' + s++,
          h = I.getDisVerticalLinePoints(u, t, n),
          p = h[0],
          d = h[1],
          f = I.getDisVerticalLinePoints(u, e, n),
          y = f[0],
          v = f[1],
          m = document.createElementNS(C.SVGURI, 'path')
        l.appendChild(m),
          m.setAttribute('stroke', a),
          m.setAttribute('stroke-width', i.toString()),
          'top' === o || 'right' === o
            ? m.setAttribute('d', 'M ' + p.x + ' ' + p.y + ' L ' + y.x + ' ' + y.y)
            : m.setAttribute('d', 'M ' + d.x + ' ' + d.y + ' L ' + v.x + ' ' + v.y),
          m.setAttribute('id', c)
        var b = m.cloneNode(!0)
        b.setAttribute('d', 'M ' + p.x + ' ' + p.y + ' L ' + d.x + ' ' + d.y),
          l.appendChild(b),
          (b = m.cloneNode(!0)).setAttribute('d', 'M ' + y.x + ' ' + y.y + ' L ' + v.x + ' ' + v.y),
          l.appendChild(b)
        var x = (A.toString().length / 2.5) * g,
          _ = A / 2 - x,
          w = document.createElementNS(C.SVGURI, 'text')
        w.setAttribute('x', _.toString()),
          w.setAttribute('y', '0'),
          w.setAttribute('style', 'fill: ' + a + '; font-size: ' + g + 'px')
        var P = document.createElementNS(C.SVGURI, 'textPath')
        P.setAttributeNS(C.SVGPATH, 'xlink:href', '#' + c),
          P.appendChild(document.createTextNode(A + 'm')),
          w.appendChild(P)
        var O = I.lineVector({ points: [t, e] }),
          S = document.createElementNS(C.SVGURI, 'path')
        S.setAttribute('stroke', a),
          S.setAttribute('stroke-width', i.toString()),
          O.x > O.y
            ? S.setAttribute(
                'd',
                'M ' + t.x + ' ' + t.y + ' L ' + (e.x - _ - 2 * x - r) + ' ' + e.y
              )
            : S.setAttribute(
                'd',
                'M ' + t.x + ' ' + t.y + ' L ' + e.x + ' ' + (e.y - _ - 2 * x - r)
              )
        var E = S.cloneNode(!0)
        return (
          O.x > O.y
            ? E.setAttribute('d', 'M ' + (e.x - _ + r) + ' ' + t.y + ' L ' + e.x + ' ' + e.y)
            : E.setAttribute('d', 'M ' + t.x + ' ' + (e.y - _ + r) + ' L ' + e.x + ' ' + e.y),
          l.appendChild(E),
          l.appendChild(S),
          (m.style.display = 'none'),
          l.appendChild(w),
          l
        )
      },
      l = (function (t) {
        function e(e) {
          var i = e.processing,
            n = e.padding,
            g = void 0 === n ? 10 : n,
            o = e.spacing,
            C = void 0 === o ? 4 : o,
            I = e.minPX,
            s = void 0 === I ? 50 : I,
            a = e.width,
            l = void 0 === a ? 1 : a,
            u = e.showBottom,
            c = void 0 === u || u,
            h = e.showTop,
            p = void 0 === h || h,
            d = e.showLeft,
            f = void 0 === d || d,
            y = e.showRight,
            v = void 0 === y || y,
            m = e.surround,
            b = void 0 !== m && m,
            x = e.stroke,
            _ = void 0 === x ? '#fff' : x,
            w = r(e, [
              'processing',
              'padding',
              'spacing',
              'minPX',
              'width',
              'showBottom',
              'showTop',
              'showLeft',
              'showRight',
              'surround',
              'stroke'
            ]),
            P =
              t.call(
                this,
                A(
                  {
                    renderer: i.render,
                    minPX: s,
                    width: l,
                    showBottom: c,
                    showTop: p,
                    showLeft: f,
                    showRight: v,
                    surround: b,
                    stroke: _
                  },
                  w
                )
              ) || this
          return (
            (P.padding = g),
            (P.spacing = C),
            (P.processing = i),
            Object.defineProperty(P, 'points', {
              get: function () {
                return this.processing.points
              }
            }),
            P.update(),
            P
          )
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            ;(this.top = document.createElementNS(C.SVGURI, 'g')),
              (this.left = document.createElementNS(C.SVGURI, 'g')),
              (this.right = document.createElementNS(C.SVGURI, 'g')),
              (this.bottom = document.createElementNS(C.SVGURI, 'g'))
            var t = document.createElementNS(C.SVGURI, 'g')
            return (
              t.appendChild(this.top),
              t.appendChild(this.left),
              t.appendChild(this.right),
              t.appendChild(this.bottom),
              t
            )
          }),
          (e.prototype.calcSplit = function () {
            var t = this.processing.render,
              e = this.minPX,
              i = I.lineDis({
                points: [t.screenToRealPoint({ x: 0, y: 0 }), t.screenToRealPoint({ x: e, y: 0 })]
              }),
              n = I.lineDis({
                points: [t.screenToRealPoint({ x: 0, y: 0 }), t.screenToRealPoint({ x: 0, y: e })]
              }),
              g = this.points.map(function (t) {
                return t.ele
              }),
              r = [],
              o = [],
              C = [],
              s = [],
              a = function (t, e, r) {
                var o, C
                g.sort(e),
                  g.forEach(function (e) {
                    return 0 === t.length || e[r] > t[t.length - 1]
                      ? t.push(e[r])
                      : e[r] < t[0] && t.unshift(e[r])
                  })
                for (var s = 'x' === r ? i : n, a = { x: 0, y: 0 }, l = 0; l < t.length - 2; l++) {
                  var u = A(A({}, a), (((o = {})[r] = t[l]), o)),
                    c = A(A({}, a), (((C = {})[r] = t[l + 1]), C))
                  I.lineDis({ points: [u, c] }) < s && (t.splice(l + 1, 1), l--)
                }
                t.length > 2 && t.splice(t.length - 2, 2, t[t.length - 1])
              }
            return (
              a(
                r,
                function (t, e) {
                  return t.x - e.x ? t.x - e.x : e.y - t.y
                },
                'y'
              ),
              a(
                C,
                function (t, e) {
                  return e.x - t.x ? e.x - t.x : e.y - t.y
                },
                'y'
              ),
              a(
                o,
                function (t, e) {
                  return t.y - e.y ? t.y - e.y : e.x - t.x
                },
                'x'
              ),
              a(
                s,
                function (t, e) {
                  return e.y - t.y ? e.y - t.y : e.x - t.x
                },
                'x'
              ),
              { left: r, top: o, right: C, bottom: s }
            )
          }),
          (e.prototype.update = function () {
            var t = this
            if (0 !== this.points.length && 0 !== this.processing.render.props.width) {
              var e = this.processing.render,
                i = 10 * this.width * this.multiple,
                n = this.calcSplit(),
                g = n.left,
                A = n.right,
                r = n.top,
                o = n.bottom,
                C = e.screenToRealPoint({ x: this.padding, y: this.padding }),
                I = e.screenToRealPoint({
                  x: e.props.width / e.props.multiple - this.padding,
                  y: e.props.height / e.props.multiple - this.padding
                })
              if (this.surround) {
                var s = this.points.map(function (t) {
                    return t.ele.x
                  }),
                  l = this.points.map(function (t) {
                    return t.ele.y
                  }),
                  u = Math.max.apply(Math, s),
                  c = Math.min.apply(Math, s),
                  h = Math.max.apply(Math, l),
                  p = Math.min.apply(Math, l)
                Math.abs(C.x - c) < Math.abs(C.y - p) && Math.abs(I.x - u) - Math.abs(I.y - h)
                  ? ((I = { x: I.x, y: h + Math.abs(C.x - c) }),
                    (C = { x: C.x, y: p - Math.abs(C.x - c) }))
                  : ((I = { x: u + Math.abs(C.y - h), y: I.y }),
                    (C = { x: c - Math.abs(C.y - p), y: I.y }))
              }
              var d = function (e, n, g, A) {
                for (var r = 0; r < e.length - 1; r++) {
                  var o = 0 === r ? e[r] : e[r] + (t.spacing / 2) * t.multiple,
                    C = r + 1 === e.length ? e[r + 1] : e[r + 1] - (t.spacing / 2) * t.multiple
                  g(
                    a(
                      n(o),
                      n(C),
                      t.width * t.multiple,
                      4 * t.width * t.multiple,
                      i,
                      Number(Math.abs(e[r + 1] - e[r]).toFixed(2)),
                      10 * t.multiple,
                      A,
                      t.stroke
                    )
                  )
                }
              }
              ;[this.left, this.top, this.right, this.bottom].forEach(function (t) {
                for (; t.childNodes.length; ) t.removeChild(t.childNodes[0])
              }),
                this.showLeft &&
                  d(
                    g,
                    function (t) {
                      return { x: C.x, y: t }
                    },
                    function (e) {
                      return t.left.appendChild(e)
                    },
                    'left'
                  ),
                this.showBottom &&
                  d(
                    o,
                    function (t) {
                      return { x: t, y: I.y }
                    },
                    function (e) {
                      return t.bottom.appendChild(e)
                    },
                    'bottom'
                  ),
                this.showTop &&
                  d(
                    r,
                    function (t) {
                      return { x: t, y: C.y }
                    },
                    function (e) {
                      e
                        .querySelector('text')
                        .setAttribute('transform', 'translate(0, ' + i / 1.2 + ')'),
                        t.top.appendChild(e)
                    },
                    'top'
                  ),
                this.showRight &&
                  d(
                    A,
                    function (t) {
                      return { x: I.x, y: t }
                    },
                    function (e) {
                      e
                        .querySelector('text')
                        .setAttribute('transform', 'translate(-' + i / 1.2 + ', 0)'),
                        t.right.appendChild(e)
                    },
                    'right'
                  )
            }
          }),
          e
        )
      })(o.CADElement)
    e.default = l
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        },
      o =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var C = i(2),
      I = i(1),
      s = i(0),
      a = o(i(43)),
      l = o(i(44)),
      u = o(i(45)),
      c = { defaultIcon: l.default, darkIcon: u.default },
      h = (function (t) {
        function e(e) {
          var i = e.fontSize,
            n = void 0 === i ? 8 : i,
            g = e.r,
            o = void 0 === g ? 50 : g,
            C = e.icon,
            I = void 0 === C ? 'defaultIcon' : C,
            s = e.border,
            a = void 0 === s ? 3 : s,
            l = e.right,
            u = void 0 === l ? 20 : l,
            c = e.top,
            h = void 0 === c ? 20 : c,
            p = e.ArgDire,
            d = void 0 === p ? 15 : p,
            f = e.simple,
            y = void 0 !== f && f,
            v = e.angle,
            m = void 0 === v ? 0 : v,
            b = r(e, [
              'fontSize',
              'r',
              'icon',
              'border',
              'right',
              'top',
              'ArgDire',
              'simple',
              'angle'
            ])
          return (
            t.call(
              this,
              A(
                {
                  fontSize: n,
                  r: o,
                  border: a,
                  right: u,
                  top: h,
                  ArgDire: d,
                  simple: y,
                  icon: I,
                  angle: m
                },
                b
              )
            ) || this
          )
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = document.createElementNS(I.SVGURI, 'g')
            ;(this.dire = document.createElementNS(I.SVGURI, 'image')),
              (this.bg = document.createElementNS(I.SVGURI, 'image')),
              (this.bg.href.baseVal = a.default),
              (this.inner = document.createElementNS(I.SVGURI, 'circle')),
              this.inner.setAttribute('fill', 'rgba(41,41,41,1)')
            var e = document.createElementNS(I.SVGURI, 'text')
            return (
              e.setAttribute('fill', '#fff'),
              e.setAttribute('text-anchor', 'middle'),
              (this.topText = e.cloneNode(!0)),
              (this.rightText = e.cloneNode(!0)),
              (this.leftText = e.cloneNode(!0)),
              (this.bottomText = e.cloneNode(!0)),
              (this.topText.textContent = 'N'),
              this.topText.setAttribute('fill', '#00A0E9'),
              (this.rightText.textContent = 'E'),
              (this.leftText.textContent = 'W'),
              (this.bottomText.textContent = 'S'),
              this.bottomText.setAttribute('fill', '#D84141'),
              (this.arc = document.createElementNS(I.SVGURI, 'path')),
              this.arc.setAttribute('fill', 'rgba(255,255,255,0.3)'),
              t.appendChild(this.inner),
              t.appendChild(this.arc),
              t.appendChild(this.bg),
              t.appendChild(this.dire),
              t.appendChild(this.topText),
              t.appendChild(this.rightText),
              t.appendChild(this.bottomText),
              t.appendChild(this.leftText),
              t
            )
          }),
          (e.prototype.intercept = function () {
            return !0
          }),
          (e.prototype.update = function () {
            var t = this.r / 2 + this.border + this.right,
              e = this.r / 2 + this.border + this.top,
              i = this.renderer,
              n = this.fontSize * this.multiple,
              g = this.border * this.multiple,
              A = i.screenToRealPoint({ x: i.props.width / i.props.multiple - e, y: t })
            if (!isNaN(A.x) && !isNaN(A.y)) {
              var r = this.r * this.multiple,
                o = (n + 3 * g + r) / 2
              this.inner.setAttribute('r', o.toString()),
                this.inner.setAttribute('cx', A.x.toString()),
                this.inner.setAttribute('cy', A.y.toString()),
                this.icon !== this.firstIcon &&
                  ((this.dire.href.baseVal = c[this.icon]), (this.firstIcon = this.icon)),
                this.dire.setAttribute('x', (A.x - r / 2).toString()),
                this.dire.setAttribute('y', (A.y - r / 2).toString()),
                this.dire.setAttribute('width', r.toString()),
                this.dire.setAttribute('height', r.toString()),
                this.bg.setAttribute('x', (A.x - r / 2).toString()),
                this.bg.setAttribute('y', (A.y - r / 2).toString()),
                this.bg.setAttribute('width', r.toString()),
                this.bg.setAttribute('height', r.toString()),
                this.topText.setAttribute('x', A.x.toString()),
                this.topText.setAttribute('y', (A.y - r / 2 - n / 2 + g).toString()),
                this.topText.setAttribute('font-size', n.toString()),
                this.rightText.setAttribute('x', (A.x + r / 2 + g).toString()),
                this.rightText.setAttribute('y', (A.y + n / 2).toString()),
                this.rightText.setAttribute('font-size', n.toString()),
                this.bottomText.setAttribute('x', A.x.toString()),
                this.bottomText.setAttribute('y', (A.y + r / 2 + n).toString()),
                this.bottomText.setAttribute('font-size', n.toString()),
                this.leftText.setAttribute('x', (A.x - r / 2 - n + g).toString()),
                this.leftText.setAttribute('y', (A.y + g).toString()),
                this.leftText.setAttribute('font-size', n.toString())
              var C = this.ArgDire * this.multiple,
                I = { points: [A, { x: A.x - C, y: A.y - r / 2 - n - g }] },
                a = { points: [A, { x: A.x + C, y: A.y - r / 2 - n - g }] },
                l = s.getDisPointLinePoints(I, I.points[0], o),
                u = l[0],
                h = l[1],
                p = s.getDisPointLinePoints(a, a.points[0], o),
                d = p[0],
                f = p[1],
                y =
                  s.lineDis({ points: [I.points[1], u] }) > s.lineDis({ points: [I.points[1], h] })
                    ? h
                    : u,
                v =
                  s.lineDis({ points: [a.points[1], d] }) > s.lineDis({ points: [a.points[1], f] })
                    ? f
                    : d
              this.arc.setAttribute(
                'd',
                'M ' +
                  A.x +
                  ' ' +
                  A.y +
                  ' L ' +
                  y.x +
                  ' ' +
                  y.y +
                  ' A ' +
                  o +
                  ' ' +
                  o +
                  ' 0 0 1 ' +
                  v.x +
                  ' ' +
                  v.y +
                  ' Z'
              ),
                this.real.setAttribute(
                  'transform',
                  'rotate(' + (this.angle || 0) + ' ' + A.x + ' ' + A.y + ')'
                ),
                this.simple
                  ? ((this.leftText.style.display = 'none'),
                    (this.rightText.style.display = 'none'),
                    (this.bg.style.display = 'none'),
                    (this.inner.style.display = 'none'),
                    (this.arc.style.display = 'none'))
                  : ((this.leftText.style.display = 'inherit'),
                    (this.rightText.style.display = 'inherit'),
                    (this.bg.style.display = 'inherit'),
                    (this.inner.style.display = 'inherit'),
                    (this.arc.style.display = 'inherit'))
            }
          }),
          e
        )
      })(C.CADElement)
    e.default = h
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.default =
        'data:image/png;base64, ')
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.default =
        'data:image/png;base64, ')
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.default =
        'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAwFJREFUeNrsnc1r1EAYhzNLpYqCKMpiqyc9KeLVm170ouhBwa1e/B88+d/k4rr1Az+wHpSCooeC3kRP9mbUsYIIioqy6zvuCEXTdD8mmbzL88AkaTIzbPpsfpNNk63p9XoJ1IcGvwKEAEIQAghBCCAEIYAQhABCACEIAYQgBBCCEEAIQgAhgBCEAEK0M6XhRRpjiiuk9vCf+cXmUlE1DfegTU3IG+uc8yZlSfuOGA3vmsIjJLUudt/4n3bLUdLVfIRMwhhyRMouX44yqNcjrvKWiazKIyu1G2RqpWzzaz5JaUps/SSy4nBslYzELx8nsuIxl7OuRWTFiKzUbpLpBylb/tnyVcpOia1vRFa1nMiR4dgs5SSRVY+4Uh9bOiMrtVtl+l7KxjWa/PBnW5+JrGo4VSDDMS3lNJFVHRcGqHOeyKoislK7Q6bvkvUvjP6SMiOxtUJklcvZZLCr1K7OGSIr7tmV+tjSFVmpnUn6l9rNgE3dzu2R2MqIrPKODjOMS22fSbQJGeXyuioheiIrtXtl8fWIXeyT2FomsuIN5moHd01CWpHaIuQ/UntQpgfG6GG/7wMhNYgrVbGl4r6s7dONue6YA3LDGBdblxES4kVeOtQN0E03aWVEViDmA/RxjTEkHFcD9NFGSCBslr2Q2csxunjl+0BIQDqR2iKkhNhqIyR8bC3L7NkITZ/7tgipydlWR9MOahPiYmuYT4g9hJQbW29l9mSIJk+lTYaQ+gzubW07p1HIjaR/i896uDo3EVJ+bH2U2eIAVRel7gpCquHKJMaVZiF3pXwv2O5utr6DkOpiy93Vfr+gyoKvg5CanG11tO6UZiELUr7krHePtN1DSPWx5Z4hvJ2z6ZbfhpCaxFZH8w5pF/Iw6X9ZwF/c8gOExIst940Nq/9Wft2vQ0hE5tdYVskkfF/W46T/iJvjEULix1a3OTvrjgzjlhFSv9hSjeF/4TKoA0IQAghBCCAEIYAQhABCACEIAYQgBBCCEEAIQgAhgBCEAEIQAkH5LcAAKoHVGsvfGGUAAAAASUVORK5CYII=')
  },
  function (t, e, i) {
    var n =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      g =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var A = g(i(47)),
      r = i(3)
    e.attachSign = function (t) {
      var e = { border: 2, r: 5 },
        i = t.addProcessing
      ;(t.addProcessing = function () {
        for (var g = [], r = 0; r < arguments.length; r++) g[r] = arguments[r]
        var o = i.call.apply(i, n([t], g))
        A.default.Setting.set(o.render, e)
        var C = new A.default({ pos: { x: 0, y: 0 }, dire: 0, renderer: o.render })
        return (C.zIndex = 1), o.render.push(C), (o.sign = C), o
      }),
        (t.setSign = function (e, i) {
          var n = t.processing.sign
          r.type.isNumber(i) && (n.dire = i), (n.pos = e)
        }),
        (t.hideSign = function () {
          var e = t.processing.sign
          return (
            (e.show = !1),
            new Promise(function (t) {
              return e.nextTick(t)
            })
          )
        }),
        (t.showSign = function () {
          var e = t.processing.sign
          return (
            (e.show = !0),
            new Promise(function (t) {
              return e.nextTick(t)
            })
          )
        }),
        (t.setDefaultSignStyle = function (i) {
          var n = t.processing.sign
          i.border && ((e.border = i.border), (n.border = i.border)),
            i.r && ((e.r = i.r), (n.r = i.r)),
            i.color && (n.color = i.color)
        })
    }
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        }),
      A =
        (this && this.__assign) ||
        function () {
          return (A =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      r =
        (this && this.__rest) ||
        function (t, e) {
          var i = {}
          for (var n in t)
            Object.prototype.hasOwnProperty.call(t, n) && e.indexOf(n) < 0 && (i[n] = t[n])
          if (null != t && 'function' == typeof Object.getOwnPropertySymbols) {
            var g = 0
            for (n = Object.getOwnPropertySymbols(t); g < n.length; g++)
              e.indexOf(n[g]) < 0 &&
                Object.prototype.propertyIsEnumerable.call(t, n[g]) &&
                (i[n[g]] = t[n[g]])
          }
          return i
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var o = i(2),
      C = i(1),
      I = 0,
      s = (function (t) {
        function e(i) {
          var n = i.border,
            g = i.r,
            o = i.show,
            C = void 0 === o || o,
            s = i.color,
            a = void 0 === s ? 'rgb(0, 200, 175)' : s,
            l = r(i, ['border', 'r', 'show', 'color'])
          return (
            (n = n || e.Setting.get(l.renderer).border),
            (g = g || e.Setting.get(l.renderer).r),
            I++,
            t.call(this, A({ border: n, r: g, show: C, color: a }, l)) || this
          )
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = document.createElementNS(C.SVGURI, 'g')
            ;(this.inner = document.createElementNS(C.SVGURI, 'circle')),
              this.inner.setAttribute('stroke', '#fff'),
              (this.arc = document.createElementNS(C.SVGURI, 'path')),
              this.arc.setAttribute('fill', 'url(#orange_red' + I + ')')
            var e = document.createElementNS(C.SVGURI, 'defs'),
              i = document.createElementNS(C.SVGURI, 'linearGradient')
            i.setAttribute('id', 'orange_red' + I),
              i.setAttribute('x1', '0%'),
              i.setAttribute('y1', '0%'),
              i.setAttribute('x2', '100%'),
              i.setAttribute('y2', '100%')
            var n = document.createElementNS(C.SVGURI, 'stop')
            n.setAttribute('offset', '0%')
            var g = document.createElementNS(C.SVGURI, 'stop')
            return (
              g.setAttribute('offset', '100%'),
              i.appendChild(n),
              i.appendChild(g),
              e.appendChild(i),
              t.appendChild(this.arc),
              t.appendChild(this.inner),
              t.appendChild(e),
              t.setAttribute('class', 'sign'),
              (this.$stop1 = n),
              (this.$stop2 = g),
              t
            )
          }),
          (e.prototype.update = function () {
            this.inner.setAttribute('fill', this.color),
              this.$stop1.setAttribute('style', 'stop-color:' + this.color + '; stop-opacity:1'),
              this.$stop2.setAttribute('style', 'stop-color:' + this.color + '; stop-opacity:0.4'),
              this.inner.setAttribute('r', (this.r * this.multiple).toString()),
              this.inner.setAttribute('stroke-width', (this.border * this.multiple).toString()),
              this.inner.setAttribute('cx', this.pos.x.toString()),
              this.inner.setAttribute('cy', this.pos.y.toString())
            var t = 0.4 * this.r * this.multiple,
              e = 1.6 * this.r * this.multiple,
              i = 2.8 * this.r * this.multiple
            this.arc.setAttribute(
              'd',
              '\n      M ' +
                this.pos.x +
                ' ' +
                (this.pos.y - t) +
                ' \n      L ' +
                (this.pos.x + i) +
                ' ' +
                (this.pos.y - e) +
                ' \n      L ' +
                (this.pos.x + i) +
                ' ' +
                (this.pos.y + e) +
                ' \n      L ' +
                this.pos.x +
                ' ' +
                (this.pos.y + t) +
                ' Z\n    '
            ),
              this.real.setAttribute(
                'transform',
                'rotate(' + this.dire + ' ' + this.pos.x + ' ' + this.pos.y + ')'
              ),
              (this.real.style.display = this.show ? 'inherit' : 'none')
          }),
          (e.Setting = new Map()),
          e
        )
      })(o.CADElement)
    e.default = s
  },
  function (t, e, i) {
    var n =
        (this && this.__assign) ||
        function () {
          return (n =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      g =
        (this && this.__awaiter) ||
        function (t, e, i, n) {
          return new (i || (i = Promise))(function (g, A) {
            function r(t) {
              try {
                C(n.next(t))
              } catch (t) {
                A(t)
              }
            }
            function o(t) {
              try {
                C(n.throw(t))
              } catch (t) {
                A(t)
              }
            }
            function C(t) {
              var e
              t.done
                ? g(t.value)
                : ((e = t.value),
                  e instanceof i
                    ? e
                    : new i(function (t) {
                        t(e)
                      })).then(r, o)
            }
            C((n = n.apply(t, e || [])).next())
          })
        },
      A =
        (this && this.__generator) ||
        function (t, e) {
          var i,
            n,
            g,
            A,
            r = {
              label: 0,
              sent: function () {
                if (1 & g[0]) throw g[1]
                return g[1]
              },
              trys: [],
              ops: []
            }
          return (
            (A = { next: o(0), throw: o(1), return: o(2) }),
            'function' == typeof Symbol &&
              (A[Symbol.iterator] = function () {
                return this
              }),
            A
          )
          function o(A) {
            return function (o) {
              return (function (A) {
                if (i) throw new TypeError('Generator is already executing.')
                for (; r; )
                  try {
                    if (
                      ((i = 1),
                      n &&
                        (g =
                          2 & A[0]
                            ? n.return
                            : A[0]
                            ? n.throw || ((g = n.return) && g.call(n), 0)
                            : n.next) &&
                        !(g = g.call(n, A[1])).done)
                    )
                      return g
                    switch (((n = 0), g && (A = [2 & A[0], g.value]), A[0])) {
                      case 0:
                      case 1:
                        g = A
                        break
                      case 4:
                        return r.label++, { value: A[1], done: !1 }
                      case 5:
                        r.label++, (n = A[1]), (A = [0])
                        continue
                      case 7:
                        ;(A = r.ops.pop()), r.trys.pop()
                        continue
                      default:
                        if (
                          !(g = (g = r.trys).length > 0 && g[g.length - 1]) &&
                          (6 === A[0] || 2 === A[0])
                        ) {
                          r = 0
                          continue
                        }
                        if (3 === A[0] && (!g || (A[1] > g[0] && A[1] < g[3]))) {
                          r.label = A[1]
                          break
                        }
                        if (6 === A[0] && r.label < g[1]) {
                          ;(r.label = g[1]), (g = A)
                          break
                        }
                        if (g && r.label < g[2]) {
                          ;(r.label = g[2]), r.ops.push(A)
                          break
                        }
                        g[2] && r.ops.pop(), r.trys.pop()
                        continue
                    }
                    A = e.call(t, r)
                  } catch (t) {
                    ;(A = [6, t]), (n = 0)
                  } finally {
                    i = g = 0
                  }
                if (5 & A[0]) throw A[1]
                return { value: A[0] ? A[1] : void 0, done: !0 }
              })([A, o])
            }
          }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = i(3)
    e.attachScreenshot = function (t) {
      t.screenshot = function (e) {
        var i = e.width,
          o = void 0 === i ? 2048 : i,
          C = e.height,
          I = void 0 === C ? 2048 : C,
          s = e.bgColor,
          a = void 0 === s ? 'rgba(0,0,0,0)' : s,
          l = e.data,
          u = e.spadding,
          c = e.format,
          h = void 0 === c ? 'image/png' : c
        return g(void 0, void 0, void 0, function () {
          var e, i, C, s, c, p, d, f
          return A(this, function (y) {
            return (
              (e = t.processing.render),
              (i = n({}, e.props)),
              (C = new Image()),
              (s = document.createElement('canvas')),
              (c = s.getContext('2d')),
              (p = t.processing.points.map(function (t) {
                return t.ele.x
              })),
              (d = t.processing.points.map(function (t) {
                return t.ele.y
              })),
              (f = t.padding),
              (t.padding = u),
              t.adapt(l, o, I),
              (s.width = o),
              (s.height = I),
              (c.fillStyle = a),
              c.fillRect(0, 0, s.width, s.height),
              [
                2,
                new Promise(function (n, a) {
                  return g(void 0, void 0, void 0, function () {
                    return A(this, function (l) {
                      return (
                        (C.onload = function () {
                          return g(void 0, void 0, void 0, function () {
                            var g
                            return A(this, function (A) {
                              return (
                                c.drawImage(C, 0, 0),
                                (g = {
                                  file: r.convertBase64UrlToBlob(s.toDataURL(h)),
                                  width: o,
                                  height: I,
                                  left: t.processing.render.realPointToScreen({
                                    x: Math.min.apply(Math, p),
                                    y: 0
                                  }).x,
                                  top: t.processing.render.realPointToScreen({
                                    x: 0,
                                    y: Math.min.apply(Math, d)
                                  }).y,
                                  bottom:
                                    I -
                                    t.processing.render.realPointToScreen({
                                      x: 0,
                                      y: Math.max.apply(Math, d)
                                    }).y,
                                  right:
                                    o -
                                    t.processing.render.realPointToScreen({
                                      x: Math.max.apply(Math, p),
                                      y: 0
                                    }).x,
                                  bound: {
                                    left: Math.min.apply(Math, p),
                                    top: Math.min.apply(Math, d),
                                    bottom: Math.max.apply(Math, d),
                                    right: Math.max.apply(Math, p)
                                  }
                                }),
                                (e.props = i),
                                (t.padding = f),
                                e.adaptLayer(),
                                n(g),
                                [2]
                              )
                            })
                          })
                        }),
                        (C.onerror = function (n) {
                          ;(e.props = i), (t.padding = f), e.adaptLayer(), a(n)
                        }),
                        (C.src =
                          'data:image/svg+xml;base64,' +
                          window.btoa(unescape(encodeURIComponent(e.svg.outerHTML)))),
                        [2]
                      )
                    })
                  })
                })
              ]
            )
          })
        })
      }
    }
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 })
    var n = (function () {
      function t(t) {
        ;(this.length = t + '__length'),
          (this.index = t + '__index'),
          (this.name = t),
          (this.keys = []),
          this.init()
      }
      return (
        (t.prototype.init = function () {
          sessionStorage.setItem(this.length, '0')
        }),
        (t.prototype.getKey = function (t) {
          return this.name + '__' + t
        }),
        (t.prototype.getData = function () {
          return sessionStorage.getItem(this.index)
        }),
        (t.prototype.getLength = function () {
          return Number(sessionStorage.getItem(this.length))
        }),
        (t.prototype.setLength = function (t) {
          sessionStorage.setItem(this.length, t)
        }),
        (t.prototype.push = function (t) {
          var e = this.getLength(),
            i = this.getKey(this.getLength())
          return (
            sessionStorage.setItem(i, JSON.stringify(t)),
            this.keys.push(i),
            this.setLength(e + 1),
            t
          )
        }),
        (t.prototype.pop = function () {
          var t = this.getLength(),
            e = this.get(t - 1)
          return this.setLength(t - 1), e
        }),
        (t.prototype.get = function (t) {
          var e = this.getKey(t)
          return JSON.parse(sessionStorage.getItem(e))
        }),
        (t.prototype.clear = function () {
          this.setLength(0),
            this.keys.forEach(function (t) {
              return sessionStorage.removeItem(t)
            }),
            (this.keys = [this.length])
        }),
        t
      )
    })()
    e.default = n
  },
  function (t, e, i) {
    i.r(e),
      i.d(e, 'default', function () {
        return r
      })
    var n = i(6),
      g = i.n(n),
      A = i(0)
    function r(t, e) {
      let i = Date.now(),
        n = [],
        r = [],
        o = []
      function C(t, e, i, g, A, o, I) {
        for (let s = 0; s < t.length; ++s) {
          if (A.indexOf(s) > -1 || o.indexOf(I) > -1) continue
          let a = t[s],
            l = a.p1.id,
            u = a.p2.id
          if (I == l || I == u) {
            let c = JSON.parse(JSON.stringify(i)),
              h = JSON.parse(JSON.stringify(g)),
              p = JSON.parse(JSON.stringify(A)),
              d = JSON.parse(JSON.stringify(o)),
              f = I
            h.push(a.id),
              c.push(I),
              p.push(s),
              d.push(I),
              f == l ? (f = u) : f == u && (f = l),
              e == f ? (r.push(c), n.push(h)) : C(t, e, c, h, p, d, f)
          }
        }
      }
      function I(t, e, i, n) {
        let g = []
        for (let t = 0; t < n.length; ++t) {
          let e = n[t]
          g.push(e)
        }
        let A = !0
        for (var r = 0; r < i.length; ++r) {
          if (e.indexOf(t[r]) > -1) {
            A = !1
            continue
          }
          let i = t[r]
          var C = i.p1,
            I = i.p2,
            a = { x: (C.x + I.x) / 2, y: (C.y + I.y) / 2 }
          if (!(s(C, g) && s(I, g) && s(a, g))) return !1
        }
        if (A) {
          let i = []
          return (
            i.push(e[0]),
            i.push(e[e.length - 1]),
            i.push(t[0]),
            i.push(t[t.length - 1]),
            o.push(i),
            !1
          )
        }
        return !0
      }
      function s(t, e) {
        for (var i = 0; i < e.length; ++i) {
          if (a(t, e[i])) return !0
        }
        return !!(function (t, e) {
          for (var i = t.x, n = t.y, g = !1, A = 0, r = e.length - 1; A < e.length; r = A++) {
            var o = e[A],
              C = e[r],
              I = o.x,
              s = o.y,
              a = C.x,
              l = C.y
            s > n != l > n && i < ((a - I) * (n - s)) / (l - s) + I && (g = !g)
          }
          return g
        })(t, e)
      }
      function a(t, e) {
        return t.x == e.x && t.y == e.y
      }
      let l = t.wall.map(e => ({
        p1: t.vertex.find(({ id: t }) => e.p1 === t),
        p2: t.vertex.find(({ id: t }) => e.p2 === t),
        id: e.id
      }))
      function u(t, e, i) {
        return (t.x * e.y + e.x * i.y + i.x * t.y - e.x * t.y - i.x * e.y - t.x * i.y) / 2
      }
      !(function (t) {
        for (let e = 0; e < t.length; ++e) {
          let i = [],
            n = [],
            g = [],
            A = t[e],
            r = A.p1.id,
            o = A.p2.id
          n.push(o), g.push(A.id)
          let I = null
          t.splice(e, 1)
          for (let e = 0; e < t.length; ++e) {
            let A = t[e]
            if (r == A.p1.id || r == A.p2.id) {
              let s = JSON.parse(JSON.stringify(n)),
                a = JSON.parse(JSON.stringify(g)),
                l = [],
                u = JSON.parse(JSON.stringify(i)),
                c = r
              s.push(r),
                a.push(A.id),
                l.push(e),
                (I = c == A.p1.id ? A.p2.id : A.p1.id),
                u.push(c),
                C(t, o, s, a, l, u, I)
            }
          }
        }
      })(JSON.parse(JSON.stringify(l))),
        (r = r.map(e => e.map(e => t.vertex.find(({ id: t }) => e === t)))),
        (n = n.map(t => t.map(t => l.find(({ id: e }) => t === e)))),
        (function () {
          for (var t = 0; t < r.length; ++t)
            for (var e = t + 1; e < r.length; ++e)
              if (I(n[t], n[e], r[t], r[e])) r.splice(e, 1), n.splice(e, 1), --e
              else if (I(n[e], n[t], r[e], r[t])) {
                r.splice(t, 1), n.splice(t, 1), --t, --e
                break
              }
        })(),
        (function () {
          let t = []
          for (let e = 0; e < o.length; ++e) {
            let i = o[e],
              g = []
            ;(g[0] = null), (g[1] = null)
            for (
              let t = 0;
              t < n.length &&
              (i[0] == n[t][0] && i[1] == n[t][n[t].length - 1]
                ? (g[0] = t)
                : i[2] == n[t][0] && i[3] == n[t][n[t].length - 1] && (g[1] = t),
              null == g[0] || null == g[1]);
              ++t
            );
            null != g[0] && null != g[1] && t.push(g)
          }
          o = t
        })(),
        (r = r.sort((t, e) => Number(!Object(A.isFaceContain)(t, e)))),
        (t.room = n.map((t, e) => ({ wall: t.map(({ id: t }) => t), ground: r[e] }))),
        test_debugger &&
          (window.testCenterPoints && e.processing.render.remove(...window.testCenterPoints),
          (window.testCenterPoints = r.map(t => {
            let i = (function (t) {
                for (var e = 0, i = 0, n = 0, g = t[1], A = 2; A < t.length; A++) {
                  var r = t[A],
                    o = u(t[0], g, r)
                  ;(n += o),
                    (e += (t[0].x + g.x + r.x) * o),
                    (i += (t[0].y + g.y + r.y) * o),
                    (g = r)
                }
                return { x: e / n / 3, y: i / n / 3 }
              })(t.map(t => ({ ...t, y: -t.y }))),
              n =
                'rgba(' +
                Math.floor(255 * Math.random()) +
                ',' +
                Math.floor(255 * Math.random()) +
                ',' +
                Math.floor(255 * Math.random()) +
                ',0.8)',
              A = new g.a({
                fillColor: n,
                storkeColor: n,
                x: i.x,
                y: i.y,
                renderer: e.processing.render
              })
            return e.processing.render.push(A), A
          })),
          window.testCenterPoints.forEach((i, g) => {
            let A = {
              pointEles: t.room[g].ground.map(
                t => e.processing.points.find(({ id: e }) => e === t.id).ele.real
              ),
              lineEles: n[g].map(t => e.processing.lines.find(({ id: e }) => e === t.id).ele.real),
              center: i.real,
              pointData: r[g],
              lineData: n[g]
            }
            console.log(A)
          }))
      let c = Date.now()
      return console.warn('璁＄畻瀹屾瘯锛岃€楁椂' + (c - i)), t
    }
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.attchDOMTranform = function (t) {
        var e = function (e) {
            var i = t.processing.render
            if (e.target === i.svg) {
              var n = i.props.left,
                g = i.props.top,
                A = function (A) {
                  ;(i.props.left = n - (e.pageX - A.pageX) * i.props.multiple),
                    (i.props.top = g - (e.pageY - A.pageY) * i.props.multiple),
                    i.adaptLayer(),
                    t.propsChange && t.propsChange(),
                    A.preventDefault()
                },
                r = function () {
                  document.documentElement.removeEventListener('mousemove', A, !1),
                    document.documentElement.removeEventListener('mouseup', r, !1)
                }
              document.documentElement.addEventListener('mousemove', A, !1),
                document.documentElement.addEventListener('mouseup', r, !1),
                e.preventDefault()
            }
          },
          i = function (e) {
            var i = t.processing.render,
              n = e.wheelDelta
                ? window.opera
                  ? -e.wheelDelta / 120
                  : e.wheelDelta / 120
                : e.detail
                ? -e.detail / 3
                : 0,
              g = i.props.scale + (n > 0 ? 0.08 : -0.08)
            g > 0.1 && ((i.props.scale = g), i.adaptLayer(), t.propsChange && t.propsChange())
          }
        ;(t.openMouseHandle = function () {
          var n = t.layer
          n.addEventListener('mousedown', e, !1), n.addEventListener('mousewheel', i, !1)
        }),
          (t.closeMouseHandle = function () {
            var n = t.layer
            n.removeEventListener('mousedown', e, !1), n.removeEventListener('mousewheel', i, !1)
          })
        var n = t.destroy
        t.destroy = function () {
          for (var e = [], i = 0; i < arguments.length; i++) e[i] = arguments[i]
          t.closeMouseHandle(), n.apply(this, e)
        }
      })
  },
  function (t, e, i) {
    var n =
      (this && this.__importDefault) ||
      function (t) {
        return t && t.__esModule ? t : { default: t }
      }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var g = i(2),
      A = n(i(4)),
      r = n(i(7))
    e.attachDisabled = function (t) {
      var e = [
          'increase',
          'getStackState',
          'preservation',
          'previous',
          'next',
          'closeMouseHandle',
          'showGauge',
          'hideGauge'
        ],
        i = []
      ;(t.forbidden = function () {
        i.length !== e.length &&
          (t.hideGauge(),
          t.closeMouseHandle(),
          g.CADElement.examples.get(t.processing.render).forEach(function (t) {
            return t.unEvent()
          }),
          A.default.attaArch.forEach(function (t) {
            t.forEach(function (t) {
              t instanceof r.default && t.delEvent()
            })
          }),
          e.forEach(function (e) {
            i.push(t[e]), delete t[e]
          }))
      }),
        (t.available = function () {
          i.length === e.length &&
            (e.forEach(function (e, n) {
              return (t[e] = i[n])
            }),
            (i = []),
            g.CADElement.examples.get(t.processing.render).forEach(function (t) {
              return t.listen()
            }),
            A.default.attaArch.forEach(function (t) {
              t.forEach(function (t) {
                return t instanceof r.default && t.addEvent()
              })
            }),
            t.showGauge(),
            t.openMouseHandle())
        })
    }
  },
  function (t, e, i) {
    var n =
        (this && this.__assign) ||
        function () {
          return (n =
            Object.assign ||
            function (t) {
              for (var e, i = 1, n = arguments.length; i < n; i++)
                for (var g in (e = arguments[i]))
                  Object.prototype.hasOwnProperty.call(e, g) && (t[g] = e[g])
              return t
            }).apply(this, arguments)
        },
      g =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      A =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var r = A(i(23))
    e.attachRote = function (t) {
      var e = t.addProcessing
      ;(t.addProcessing = function () {
        for (var i = [], n = 0; n < arguments.length; n++) i[n] = arguments[n]
        var A = e.call.apply(e, g([t], i)),
          o = new r.default({ renderer: A.render, local: [] })
        return (
          (o.zIndex = 2),
          A.render.push(o),
          (o.setActive = function (e) {
            t.activeRoute(o.local.indexOf(e))
          }),
          A
        )
      }),
        (t.showRotes = function () {
          var e = t.processing.rote
          return (
            (e.show = !0),
            new Promise(function (t) {
              return e.nextTick(t)
            })
          )
        }),
        (t.hideRotes = function () {
          var e = t.processing.rote
          return (
            (e.show = !1),
            new Promise(function (t) {
              return e.nextTick(t)
            })
          )
        }),
        (t.setRoutes = function (e) {
          var i = t.processing.rote
          ;(e = e.map(function (t, i) {
            if (t.rangn) {
              var g = (function (t) {
                var i = e
                  .slice(0, t)
                  .reverse()
                  .find(function (t) {
                    return !t.rangn
                  })
                return (
                  i ||
                  e.slice(t).find(function (t) {
                    return !t.rangn
                  })
                )
              })(i)
              if (g) return n(n({}, g), { rangn: !0 })
            }
            return n({}, t)
          })),
            t.clearRoutes(function () {
              i.local = g(e)
            })
        }),
        (t.pushRoute = function (e) {
          t.clearRoutes(function () {
            setTimeout(function () {}, 100)
          })
        }),
        (t.activeRoute = function (e) {
          var i = t.processing.rote
          i.nextTick(function () {
            i.active = i.local[e]
          })
        }),
        (t.popRoute = function (e) {
          var i = t.processing.rote
          i.local.splice(e, 1),
            i.nextTick(function () {
              return (i.local = g(i.local))
            })
        }),
        (t.clearRoutes = function (e) {
          var i = t.processing.rote
          ;(i.local = []),
            (i.dialog = 0),
            i.nextTick(function () {
              return e && e()
            })
        })
    }
  },
  function (t, e) {
    t.exports =
      'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAt1BMVEVHcEz///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+6urrFxcXR0dHY2NjX19fDw8P////Hx8fg4ODj4+PQ0NDCwsLGxsb///////////////+Zk85TAAAAPHRSTlMAAgQiHSZ5yO+B2fPfw70siHVCZ337ODSO0YM7rJLjzVINSDDpcBkUXfljCAQ4lcV6BgpEkKlgQ0CZ3FCcXUtcAAAAAWJLR0QB/wIt3gAAAAd0SU1FB+MFHgsMLLYaoF4AAADtSURBVBjTbVCJcoIwFNxQuSIWEYMoUOSQo/S0p+37/+9qIraNnb7JZDK7m012gfNhBvsXuZjoiNpNyyZHR5jp8qk3m17+avw5Jx4swqWITsgq9sR6aWKySVL7eDfKrkQeKPtt7BdUAlVcC3vXKLLdWQ0yT55IdO3oa246hqK/hoGwd4GB3dze3T88MgTjfyKR74Gn55fXt3fAsaRQrn0uqsINB2XR9cVRKYkDpQmDiviRwRjTAJwOkmUoqcF3IcyL13mLAXZ6Eqqpy4CcBVbk/wjBeC0il7p0Bq1NmyqZkSjRwaaFISN9/i0d2hNf1CoSHV2Lm8sAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTktMDUtMzBUMTE6MTI6NDQrMDg6MDCJUf45AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTA1LTMwVDExOjEyOjQ0KzA4OjAw+AxGhQAAAABJRU5ErkJggg=='
  },
  function (t, e, i) {
    var n =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      g =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var A = g(i(5)),
      r = g(i(6)),
      o = g(i(10))
    e.attachStyle = function (t) {
      var e = { fillColor: 'rgb(0, 200, 175)', storkeColor: 'green' },
        i = { fillColor: 'rgba(245, 255, 0, 0.7)', storkeColor: 'rgba(245, 255, 255, 0.3)' }
      t.setDefaultPointStyle = function (n) {
        n.storkeColor && (e.storkeColor = n.storkeColor),
          n.fillColor && (e.fillColor = n.fillColor),
          n.hoverStorkeColor && (i.storkeColor = n.hoverStorkeColor),
          n.hoverFillColor && (i.fillColor = n.hoverFillColor),
          setTimeout(function () {
            t.loadData(t.getData())
          }, 100)
      }
      var g = { width: 3, color: 'rgb(255,255,255)' },
        C = t.addProcessing
      ;(t.addProcessing = function () {
        for (var I = [], s = 0; s < arguments.length; s++) I[s] = arguments[s]
        var a = C.call.apply(C, n([t], I))
        return (
          r.default.Setting.set(a.render, e),
          A.default.Setting.set(a.render, i),
          o.default.Setting.set(a.render, g),
          a
        )
      }),
        (t.setDefaultLineStyle = function (e) {
          e.width && (g.width = e.width),
            e.color && (g.color = e.color),
            setTimeout(function () {
              t.loadData(t.getData())
            }, 100)
        })
    }
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.attchCustom = function (t) {
        t.edits = []
      })
  },
  function (t, e, i) {
    var n =
      (this && this.__spreadArrays) ||
      function () {
        for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
        var n = Array(t),
          g = 0
        for (e = 0; e < i; e++)
          for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
        return n
      }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var g = i(0)
    function A(t, e) {
      var i = e.addCase,
        A = e.addDoor,
        r = e.addColumn,
        o = e.addLine,
        C = e.addSlideDoor,
        I = e.addBayCase,
        s = e.addGroundCase,
        a = e.addFurnColumn,
        l = e.addFurnFlue,
        u = e.adddDoubleDoor,
        c = function (t) {
          Object.defineProperties(t, {
            ewidth: {
              get: function () {
                return Number(g.lineDis({ points: t.linePoints }).toFixed(2))
              },
              set: function (e) {
                if (!(e <= 0 || e === t.ewidth)) {
                  var i = g.lineCenter({ points: t.linePoints }),
                    n = g.getDisPointLinePoints(t.attachment, i, e / 2),
                    A = n[0],
                    r = n[1]
                  g.lineDis({ points: [t.linePoints[0], A] }) >
                  g.lineDis({ points: [t.linePoints[0], r] })
                    ? ((t.linePoints[0].x = r.x),
                      (t.linePoints[0].y = r.y),
                      (t.linePoints[1].x = A.x),
                      (t.linePoints[1].y = A.y))
                    : ((t.linePoints[0].x = A.x),
                      (t.linePoints[0].y = A.y),
                      (t.linePoints[1].x = r.x),
                      (t.linePoints[1].y = r.y))
                }
              }
            },
            maxWidth: {
              get: function () {
                var e = [t.attachment],
                  i = [],
                  n = [],
                  A = function (e, i, n) {
                    var A = e.linePoints || e.points
                    return { dis: g.lineDis({ points: [t.linePoints[i], A[n]] }), point: A[n] }
                  }
                e.forEach(function (e) {
                  e !== t &&
                    (i.push(A(e, 0, 0)), i.push(A(e, 0, 1)), n.push(A(e, 1, 0)), n.push(A(e, 1, 1)))
                }),
                  i.sort(function (t, e) {
                    return t.dis - e.dis
                  }),
                  n.sort(function (t, e) {
                    return t.dis - e.dis
                  })
                var r =
                  i[0].dis > n[0].dis
                    ? [t.linePoints[1], n[0].point]
                    : [t.linePoints[0], i[0].point]
                return Number(
                  (2 * g.lineDis({ points: r }) + g.lineDis({ points: t.linePoints })).toFixed(2)
                )
              }
            },
            minWidth: {
              get: function () {
                return 0
              }
            }
          })
        },
        h = function (e) {
          Object.defineProperties(e, {
            estart: {
              get: function () {
                return e.start
              },
              set: function (i) {
                i &&
                  t.processing.doors.forEach(function (t) {
                    t.ele.start = !1
                  }),
                  (e.start = i),
                  t.preservation()
              }
            }
          })
        },
        p = function (t) {
          Object.defineProperties(t, {
            tick: {
              get: function () {
                return Math.max(
                  Number(g.lineDis({ points: [t.points[0], t.points[3]] }).toFixed(2)),
                  Number(g.lineDis({ points: [t.points[1], t.points[2]] }).toFixed(2))
                )
              },
              set: function (e) {
                e <= 0 ||
                  e === t.oldVal ||
                  ((t.oldVal = e), (t.thickness = e), t.updatePeripheral())
              }
            },
            maxTick: {
              get: function () {
                return 10
              }
            },
            minTick: {
              get: function () {
                return 0
              }
            }
          })
        }
      ;(e.addCase = function () {
        for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
        var g = i.call.apply(i, n([this], t))
        return c(g.ele), g
      }),
        (e.addBayCase = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          var i = I.call.apply(I, n([this], t))
          return c(i.ele), i
        }),
        (e.addGroundCase = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          var i = s.call.apply(s, n([this], t))
          return c(i.ele), i
        }),
        (e.addDoor = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          var i = A.call.apply(A, n([this], t))
          return c(i.ele), h(i.ele), i
        }),
        (e.addSlideDoor = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          var i = C.call.apply(C, n([this], t))
          return c(i.ele), i
        }),
        (e.adddDoubleDoor = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          var i = u.call.apply(u, n([this], t))
          return c(i.ele), i
        }),
        (e.addColumn = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          var i = r.call.apply(r, n([this], t))
          return c(i.ele), p(i.ele), i
        }),
        (e.addLine = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          var i = o.call.apply(o, n([this], t))
          return i
        })
      var d = function (t) {
          Object.defineProperties(t, {
            ewidth: {
              get: function () {
                return Number(g.lineDis({ points: [t.points[0], t.points[1]] }).toFixed(2))
              },
              set: function (e) {
                if (!(e <= 0 || e === t.ewidth)) {
                  var i = g.lineStretch({ points: [t.points[0], t.points[1]] }, e),
                    n = g.lineStretch({ points: [t.points[2], t.points[3]] }, e),
                    A = i.points.concat(n.points)
                  t.check(A) && t.directUpdate(A)
                }
              }
            },
            maxWidth: {
              get: function () {
                return 10
              }
            },
            minWidth: {
              get: function () {
                return 0
              }
            }
          })
        },
        f = function (t) {
          Object.defineProperties(t, {
            tick: {
              get: function () {
                return Number(g.lineDis({ points: [t.points[1], t.points[2]] }).toFixed(2))
              },
              set: function (e) {
                if (!(e <= 0 || e === t.tick)) {
                  var i = g.lineStretch({ points: [t.points[0], t.points[3]] }, e),
                    n = g.lineStretch({ points: [t.points[1], t.points[2]] }, e),
                    A = [i.points[0], n.points[0], n.points[1], i.points[1]]
                  t.check(A) && t.directUpdate(A)
                }
              }
            },
            maxTick: {
              get: function () {
                return 10
              }
            },
            minTick: {
              get: function () {
                return 0
              }
            }
          })
        },
        y = function (t) {
          Object.defineProperties(t, {
            maxAngle: {
              get: function () {
                return 360
              }
            },
            minAngle: {
              get: function () {
                return 0
              }
            }
          })
        }
      ;(e.addFurnColumn = function () {
        for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
        var i = a.call.apply(a, n([this], t))
        return d(i.ele), f(i.ele), y(i.ele), i
      }),
        (e.addFurnFlue = function () {
          for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]
          var i = l.call.apply(l, n([this], t))
          return d(i.ele), f(i.ele), y(i.ele), i
        })
    }
    e.default = function (t) {
      var e = t.addProcessing
      t.addProcessing = function () {
        for (var i = [], g = 0; g < arguments.length; g++) i[g] = arguments[g]
        var r = e.call.apply(e, n([t], i))
        return A(t, r), r
      }
    }
  },
  function (t, e, i) {
    var n =
      (this && this.__spreadArrays) ||
      function () {
        for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
        var n = Array(t),
          g = 0
        for (e = 0; e < i; e++)
          for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
        return n
      }
    Object.defineProperty(e, '__esModule', { value: !0 }),
      (e.other = function (t) {
        var e = !1,
          i = t.addProcessing
        ;(t.addProcessing = function () {
          for (var g = [], A = 0; A < arguments.length; A++) g[A] = arguments[A]
          var r = i.call.apply(i, n([t], g)),
            o = r.addTagging
          return (
            (r.addTagging = function (t) {
              return (t.show = e), o.call(r, t)
            }),
            r
          )
        }),
          (t.hideLabel = function () {
            ;(e = !1),
              t.processings.forEach(function (t) {
                t.taggings.forEach(function (t) {
                  return (t.ele.show = e)
                })
              })
          }),
          (t.showLabel = function () {
            ;(e = !0),
              t.processings.forEach(function (t) {
                t.taggings.forEach(function (t) {
                  return (t.ele.show = e)
                })
              })
          })
      })
  },
  function (t, e, i) {
    var n =
        (this && this.__awaiter) ||
        function (t, e, i, n) {
          return new (i || (i = Promise))(function (g, A) {
            function r(t) {
              try {
                C(n.next(t))
              } catch (t) {
                A(t)
              }
            }
            function o(t) {
              try {
                C(n.throw(t))
              } catch (t) {
                A(t)
              }
            }
            function C(t) {
              var e
              t.done
                ? g(t.value)
                : ((e = t.value),
                  e instanceof i
                    ? e
                    : new i(function (t) {
                        t(e)
                      })).then(r, o)
            }
            C((n = n.apply(t, e || [])).next())
          })
        },
      g =
        (this && this.__generator) ||
        function (t, e) {
          var i,
            n,
            g,
            A,
            r = {
              label: 0,
              sent: function () {
                if (1 & g[0]) throw g[1]
                return g[1]
              },
              trys: [],
              ops: []
            }
          return (
            (A = { next: o(0), throw: o(1), return: o(2) }),
            'function' == typeof Symbol &&
              (A[Symbol.iterator] = function () {
                return this
              }),
            A
          )
          function o(A) {
            return function (o) {
              return (function (A) {
                if (i) throw new TypeError('Generator is already executing.')
                for (; r; )
                  try {
                    if (
                      ((i = 1),
                      n &&
                        (g =
                          2 & A[0]
                            ? n.return
                            : A[0]
                            ? n.throw || ((g = n.return) && g.call(n), 0)
                            : n.next) &&
                        !(g = g.call(n, A[1])).done)
                    )
                      return g
                    switch (((n = 0), g && (A = [2 & A[0], g.value]), A[0])) {
                      case 0:
                      case 1:
                        g = A
                        break
                      case 4:
                        return r.label++, { value: A[1], done: !1 }
                      case 5:
                        r.label++, (n = A[1]), (A = [0])
                        continue
                      case 7:
                        ;(A = r.ops.pop()), r.trys.pop()
                        continue
                      default:
                        if (
                          !(g = (g = r.trys).length > 0 && g[g.length - 1]) &&
                          (6 === A[0] || 2 === A[0])
                        ) {
                          r = 0
                          continue
                        }
                        if (3 === A[0] && (!g || (A[1] > g[0] && A[1] < g[3]))) {
                          r.label = A[1]
                          break
                        }
                        if (6 === A[0] && r.label < g[1]) {
                          ;(r.label = g[1]), (g = A)
                          break
                        }
                        if (g && r.label < g[2]) {
                          ;(r.label = g[2]), r.ops.push(A)
                          break
                        }
                        g[2] && r.ops.pop(), r.trys.pop()
                        continue
                    }
                    A = e.call(t, r)
                  } catch (t) {
                    ;(A = [6, t]), (n = 0)
                  } finally {
                    i = g = 0
                  }
                if (5 & A[0]) throw A[1]
                return { value: A[0] ? A[1] : void 0, done: !0 }
              })([A, o])
            }
          }
        },
      A =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        },
      r =
        (this && this.__importDefault) ||
        function (t) {
          return t && t.__esModule ? t : { default: t }
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var o = i(22),
      C = i(2),
      I = r(i(60)),
      s = r(i(62)),
      a = i(0),
      l = function (t, e) {
        var i = t.processing,
          n = i.doors,
          g = i.slideDoors,
          r = i.groundCases,
          o = i.cases,
          C = i.points,
          I = i.taggings,
          s = i.bayCases,
          a = A(i.furnFlues, i.furnColumns, i.columns),
          l = A(i.lines),
          u = A(o, n)
        I.forEach(function (t) {
          var i = 3 * e
          t.ele.fontSize = i < 12 ? 12 : i
        }),
          a.forEach(function (t) {
            t.ele.width = 0.33 * e
          }),
          g.forEach(function (t) {
            ;(t.ele.foorWidth = (2 * e) / (t.ele.attachment.border ? 1 : 2)),
              (t.ele.bwithin = e / 2 / (t.ele.attachment.border ? 1 : 2))
          }),
          o.forEach(function (t) {
            ;(t.ele.width = (4 * e) / 2 / (t.ele.attachment.border ? 1 : 1.5)),
              (t.ele.stamWidth = (0.1 * e) / (t.ele.attachment.border ? 1 : 2)),
              (t.ele.outLine.width = t.ele.width),
              (t.ele.outLine.color = t.ele.fill),
              (t.ele.innerline.width = t.ele.stamWidth),
              (t.ele.innerline.color = t.ele.seam),
              t.ele.innerline.update()
          }),
          l.forEach(function (t) {
            t.ele.width = e
          }),
          s.forEach(function (t) {
            t.ele.width = (0.33 * e) / (t.ele.attachment.border ? 1 : 2)
          }),
          r.forEach(function (t) {
            t.ele.width = (e / 2) * (t.ele.attachment.border ? 1 : 2)
          }),
          n.forEach(function (t) {
            ;(t.ele.foorWidth = (2 * e) / (t.ele.attachment.border ? 1 : 2)),
              (t.ele.outWidth = (0.33 * e) / (t.ele.attachment.border ? 1 : 2))
          }),
          C.forEach(function (t) {
            ;(t.ele.r1 = e + 1), (t.ele.r = e + 1)
          }),
          u.forEach(function (t) {
            ;(t.ele.linePoints[0].r1 = e + 1),
              (t.ele.linePoints[0].r = e + 1),
              (t.ele.linePoints[1].r1 = e + 1),
              (t.ele.linePoints[1].r = e + 1)
          }),
          t.setDireAttrs({
            fontSize: 2.6 * e,
            r: 16.6 * e,
            border: e,
            right: 6.3 * e,
            top: 6.3 * e,
            ArgDire: 5 * e
          })
      }
    e.default = function (t) {
      var e = t.screenshot
      t.screenshot = function (i) {
        var A = void 0 === i ? {} : i,
          r = A.width,
          u = void 0 === r ? 2880 : r,
          c = A.height,
          h = void 0 === c ? 1620 : c,
          p = A.primaryColor,
          d = void 0 === p ? '#fff' : p,
          f = A.archColor,
          y = void 0 === f ? 'rgba(0,0,0,0)' : f,
          v = A.bgColor,
          m = void 0 === v ? 'rgba(0,0,0,0)' : v,
          b = A.textColor,
          x = void 0 === b ? '#fff' : b,
          _ = A.archBorder,
          w = void 0 === _ ? d : _,
          P = A.data,
          O = void 0 === P ? t.getData(!0, !0) : P,
          S = A.padding,
          E = void 0 === S ? 450 : S,
          D = A.showGauge,
          k = void 0 === D || D,
          M = A.lineWidth,
          L = void 0 === M ? 10 : M,
          N = A.spliceGauge,
          j = void 0 !== N && N,
          R = A.showDire,
          G = void 0 !== R && R,
          T = A.showTags,
          V = void 0 === T || T,
          U = A.showDoorStart,
          W = void 0 === U || U,
          Z = A.showMapping,
          B = void 0 !== Z && Z,
          Q = A.format,
          F = void 0 === Q ? 'image/png' : Q,
          H = A.errreturn,
          J = void 0 !== H && H
        return n(void 0, void 0, void 0, function () {
          var i, n, A, r, c, p, f, v, b, _, P, S, D, M, N, R, T, U, Z, Q, H
          return g(this, function (g) {
            switch (g.label) {
              case 0:
                return (
                  (O = o.roateDataY(
                    O.floors.find(function (t) {
                      return t.show
                    })
                  )),
                  (i = t.processing.lines[0] ? t.processing.lines[0].ele.width : 3),
                  (t.processing.render.layer.style.opacity = '0'),
                  (n = []),
                  (A = []),
                  C.CADElement.examples.get(t.processing.render).forEach(function (t) {
                    A.push(
                      new Promise(function (e) {
                        return t.nextTick(e)
                      })
                    )
                  }),
                  [4, Promise.all(A)]
                )
              case 1:
                for (
                  g.sent(),
                    C.CADElement.examples.get(t.processing.render).forEach(function (t) {
                      ;(t.__state.direct = !0), t.changeSelect(!1)
                    }),
                    B &&
                      ((r = []),
                      s
                        .default(O)
                        .map(function (t) {
                          return t
                        })
                        .sort(function (t, e) {
                          return a.isFaceContain(t, e) ? 1 : -1
                        })
                        .forEach(function (e, i) {
                          var g = t.processing.taggings.find(function (t) {
                              return a.pointInside(e, t.ele) && !~r.indexOf(t)
                            }),
                            A = new I.default({
                              points: e,
                              label: g ? g.ele.title : '',
                              show: !0,
                              renderer: t.processing.render
                            })
                          ;(A.zIndex = -i - 3),
                            A.update(),
                            t.processing.render.push(A),
                            n.push(A),
                            r.push(g)
                        })),
                    (c = [
                      {
                        key: 'stroke',
                        attr: [
                          'doors',
                          'columns',
                          'bayCases',
                          'furnColumns',
                          'furnFlues',
                          'doubleDoors'
                        ],
                        oldVals: [],
                        newColor: w
                      },
                      { key: 'fill', attr: ['groundCases'], oldVals: [], newColor: w },
                      { key: 'seam', attr: ['cases'], oldVals: [], newColor: d },
                      { key: 'bgColor', attr: ['cases'], oldVals: [], newColor: d },
                      { key: 'color', attr: ['lines'], oldVals: [], newColor: d },
                      { key: 'icon', attr: ['doors'], oldVals: [], newColor: d },
                      {
                        key: 'fill',
                        attr: [
                          'cases',
                          'doors',
                          'columns',
                          'bayCases',
                          'furnColumns',
                          'furnFlues',
                          'slideDoors',
                          'doubleDoors'
                        ],
                        oldVals: [],
                        newColor: y
                      },
                      { key: 'foorColor', attr: ['slideDoors'], oldVals: [], newColor: w },
                      { key: 'clipColor', attr: ['slideDoors'], oldVals: [], newColor: y },
                      { key: 'color', attr: ['taggings'], oldVals: [], newColor: x }
                    ]).forEach(function (e) {
                      var i = e.key,
                        n = e.attr,
                        g = e.oldVals,
                        A = e.newColor
                      n.forEach(function (e) {
                        g.push(
                          t.processing[e].map(function (t) {
                            return t.ele[i]
                          })
                        ),
                          t.processing[e].forEach(function (t) {
                            var e = t.ele
                            e[i] = 'icon' === i ? ('#fff' !== A ? 'darkIcon' : 'defaultIcon') : A
                          })
                      })
                    }),
                    p = t.processing.direction,
                    f = p.show,
                    !p.show && G ? t.showDire() : G || t.hideDire(),
                    v = t.processing.taggings[0] && t.processing.taggings[0].ele.show,
                    t.processing.taggings.forEach(function (t) {
                      return (t.ele.show = V)
                    }),
                    b = t.processing.points[0].ele.fillColor,
                    _ = t.processing.lines[0].ele.init.color,
                    t.processing.points.forEach(function (t) {
                      t.ele.fillColor = 'rgba(0,0,0,0)'
                    }),
                    P = []
                      .concat(t.processing.doors)
                      .concat(t.processing.groundCases)
                      .concat(t.processing.cases)
                      .concat(t.processing.doubleDoors),
                    Z = 0;
                  Z < P.length;
                  Z++
                )
                  (Q = P[Z].ele.points || P[Z].ele.linePoints) &&
                    Q.forEach(function (t) {
                      return (t.fillColor = 'rgba(0,0,0,0)')
                    })
                t.setGaugeModel(1),
                  (S = p.icon),
                  t.setDireAttrs({ simple: !0, icon: '#fff' !== d ? 'darkIcon' : 'defaultIcon' }),
                  (D = t.processing.doors.map(function (t) {
                    return t.ele.showStart
                  })),
                  t.processing.doors.forEach(function (t) {
                    return (t.ele.showStart = W)
                  }),
                  (M = t.gauge && t.gauge.stroke),
                  t.gauge && t.gauge.minPX,
                  k &&
                    ((N = {
                      width: L / 2,
                      showTop: !1,
                      showRight: !1,
                      padding: 3.3 * L,
                      stroke: d
                    }),
                    j
                      ? ((N.minPX = 12 * L), console.log('---', N.minPX))
                      : (N.minPX = Math.max(u, h)),
                    t.setGaugeAttrs(N)),
                  l(t, L),
                  C.CADElement.examples.get(t.processing.render).forEach(function (t) {
                    return t.update()
                  }),
                  (g.label = 2)
              case 2:
                return (
                  g.trys.push([2, 4, , 5]),
                  [
                    4,
                    e.call(this, {
                      width: u,
                      height: h,
                      bgColor: m,
                      data: O,
                      spadding: E,
                      showGauge: k,
                      lineWidth: L,
                      format: F
                    })
                  ]
                )
              case 3:
                return (R = g.sent()), [3, 5]
              case 4:
                return (U = g.sent()), J ? [2, U] : ((T = U), [3, 5])
              case 5:
                for (
                  k &&
                    t.setGaugeAttrs({
                      minPX: 50,
                      width: 1,
                      showTop: !0,
                      showRight: !0,
                      padding: 10,
                      stroke: M
                    }),
                    t.setDireAttrs({ simple: !1, icon: S }),
                    Z = 0;
                  Z < P.length;
                  Z++
                )
                  (Q = P[Z].ele.points || P[Z].ele.linePoints) &&
                    Q.map(function (t) {
                      return (t.fillColor = b)
                    })
                if (
                  (l(t, i),
                  t.setGaugeModel(0),
                  t.processing.points.forEach(function (t) {
                    return (t.ele.fillColor = b)
                  }),
                  t.processing.lines.forEach(function (t) {
                    return (t.ele.color = _)
                  }),
                  (H = t.processing.render).remove.apply(H, n),
                  f ? t.showDire() : t.hideDire(),
                  v
                    ? t.processing.taggings.forEach(function (t) {
                        return (t.ele.show = !0)
                      })
                    : t.processing.taggings.forEach(function (t) {
                        return (t.ele.show = !1)
                      }),
                  t.processing.doors.forEach(function (t, e) {
                    t.ele.showStart = D[e]
                  }),
                  (t.processing.render.layer.style.opacity = '1'),
                  c.forEach(function (e) {
                    var i = e.key,
                      n = e.attr,
                      g = e.oldVals
                    n.forEach(function (e, n) {
                      t.processing[e].forEach(function (t, e) {
                        t.ele[i] = g[n][e]
                      })
                    })
                  }),
                  C.CADElement.examples.get(t.processing.render).forEach(function (t) {
                    ;(t.__state.direct = !1), t.update()
                  }),
                  T)
                )
                  throw T
                return [2, R]
            }
          })
        })
      }
    }
  },
  function (t, e, i) {
    var n,
      g =
        (this && this.__extends) ||
        ((n = function (t, e) {
          return (n =
            Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array &&
              function (t, e) {
                t.__proto__ = e
              }) ||
            function (t, e) {
              for (var i in e) e.hasOwnProperty(i) && (t[i] = e[i])
            })(t, e)
        }),
        function (t, e) {
          function i() {
            this.constructor = t
          }
          n(t, e),
            (t.prototype = null === e ? Object.create(e) : ((i.prototype = e.prototype), new i()))
        })
    Object.defineProperty(e, '__esModule', { value: !0 })
    var A = i(2),
      r = i(1),
      o = i(61),
      C = 0,
      I = (function (t) {
        function e(e) {
          return t.call(this, e) || this
        }
        return (
          g(e, t),
          (e.prototype.grentNode = function () {
            var t = 'pattern-' + ++C,
              e = document.createElementNS(r.SVGURI, 'g')
            return (
              (this.path = document.createElementNS(r.SVGURI, 'path')),
              (this.pattern = document.createElementNS(r.SVGURI, 'pattern')),
              (this.maping = document.createElementNS(r.SVGURI, 'image')),
              this.pattern.append(this.maping),
              this.pattern.setAttribute('id', t),
              this.pattern.setAttribute('patternUnits', 'userSpaceOnUse'),
              this.path.setAttribute('fill', 'url(#' + t + ')'),
              e.appendChild(this.path),
              e.appendChild(this.pattern),
              e
            )
          }),
          (e.prototype.update = function () {
            var t =
                'M' +
                this.points
                  .map(function (t) {
                    return ' ' + t.x + ' ' + t.y + ' '
                  })
                  .join('L') +
                'z',
              e = this.renderer.screenToRealPoint({ x: 30, y: 30 }),
              i = this.renderer.screenToRealPoint({ x: 0, y: 0 }),
              n = Math.abs(e.x - i.x),
              g = Math.abs(e.y - i.y)
            ;(this.icon && this.icon === this.firstIcon) ||
              ((this.icon = o.getMaping(this.label)),
              (this.maping.href.baseVal = this.icon),
              (this.firstIcon = this.icon)),
              this.maping.setAttribute('width', n.toString()),
              this.maping.setAttribute('height', g.toString()),
              this.pattern.setAttribute('width', n.toString()),
              this.pattern.setAttribute('height', g.toString()),
              this.path.setAttribute('d', t)
          }),
          e
        )
      })(A.CADElement)
    e.default = I
  },
  function (t, e, i) {
    Object.defineProperty(e, '__esModule', { value: !0 })
    var n = i(9),
      g = [
        {
          name: 'hall',
          img: 'data:image/jpg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCAAgACADAREAAhEBAxEB/8QAWQABAQEBAAAAAAAAAAAAAAAAAgADCAEBAQEBAAAAAAAAAAAAAAAAAAECAxABAAICAgMAAAAAAAAAAAAAAQACESExQVFxAxEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A6L+ihirm3U4tsrci68+4VV5U349wNfmqYs4t3CDfSwBZFDMoqoKZgOm0kFfawBYBHEoqgq4gOmkkC+gpmpi3UDK3IO/PuFVeUNePcDX5iGbGbdwj/9k='
        },
        {
          name: 'room',
          img: 'data:image/jpg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCAAgACADAREAAhEBAxEB/8QAXAABAQEAAAAAAAAAAAAAAAAAAgAGAQEBAQAAAAAAAAAAAAAAAAAAAQYQAQABBAEEAwAAAAAAAAAAAAECABEhEgNRYYGRwSIUEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAwDAQACEQMRAD8A1rHnJu3Lsq/UnIfRWTrTlyfo1vBx1ZL8VKRcf6NbzcdSSfFKQSPOzNeXVE+rOS+mrRTVZusnLbJbwXqBCamU72b1FSmrle9m9AYKMHWRkvkt5L1UUxGZtIy2wW8NqBAamF7Xb1FSGrhO129AYCsDaTkvgt5bVUTLnZu3Fqi/YhJfZVgXJ+jW0DHRinzUhVx/o1tMx0Ir80hRJc5M14tlT7MJD7asH//Z'
        },
        {
          name: 'other',
          img: 'data:image/jpg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCAAgACADAREAAhEBAxEB/8QAUwABAQEAAAAAAAAAAAAAAAAAAQAHAQEBAAAAAAAAAAAAAAAAAAAAAxAAAwADAQAAAAAAAAAAAAAAAAERIUGBIhEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEQMRAD8A31P00yAK6BV0Bb9JICxamAbl4Bbl4A4tbAsWJAG7OgW7OgOLGgJL02wCOgUdAWvSaA//2Q=='
        }
      ],
      A = [
        { texts: n.i18n.t('modules.cad.hall_tests').split(','), mapping: 'hall' },
        { texts: n.i18n.t('modules.cad.room_tests').split(','), mapping: 'room' },
        { texts: n.i18n.t('modules.cad.other_tests').split(','), mapping: 'other' }
      ]
    ;(e.labelTexts = A.reduce(function (t, e) {
      return t.concat(e.texts)
    }, [])),
      (e.getMaping = function (t) {
        var e = A.find(function (e) {
          return ~e.texts.indexOf(t)
        })
        return g.find(function (t) {
          return t.name === (e ? e.mapping : 'other')
        }).img
      })
  },
  function (t, e, i) {
    i.r(e),
      i.d(e, 'default', function () {
        return r
      })
    var n = i(6),
      g = i.n(n),
      A = i(0)
    function r(t, e) {
      t = (function (t, e) {
        let i = t.wall,
          n = t.vertex
        for (let t = 0; t < n.length; t++) {
          let e = n[t]
          n.filter(
            t =>
              t !== e &&
              ((t.x === e.x && t.y === e.y) || Object(A.lineDis)({ points: [t, e] }) < 0.1)
          ).forEach(t => {
            i.forEach(i => {
              i.p1 === t.id && (i.p1 = e.id), i.p2 === t.id && (i.p2 = e.id)
            }),
              ~n.indexOf(t) && n.splice(n.indexOf(t), 1)
          })
        }
        for (let e = 0; e < i.length; e++) {
          let n = i[e]
          n.p1 === n.p2 &&
            (['case', 'door', 'slideDoor', 'column', 'groundCase', 'bayCase'].forEach(e => {
              for (let i = 0; i < t[e] && t[e].length; i++) {
                t[e][i].line === n.id && t[e].splice(i--, 1)
              }
            }),
            i.splice(e--, 1))
        }
        for (let t = 0; t < i.length; t++) {
          let e = i[t],
            g = n.find(({ id: e }) => e === i[t].p1),
            r = n.find(({ id: e }) => e === i[t].p2),
            o = { points: [g, r] },
            C = 0
          for (C = t + 1; C < i.length; C++) {
            let t = i[C]
            if (t === e) continue
            let I = n.find(({ id: t }) => t === i[C].p1),
              s = n.find(({ id: t }) => t === i[C].p2)
            if (g === I || g === s || r === I || r === s) continue
            let a = { points: [I, s] },
              l = Object(A.segmentsIntr)(o, a)
            if (
              Object(A.lineDis)({ points: [g, l] }) < 0.1 ||
              Object(A.lineDis)({ points: [r, l] }) < 0.1 ||
              Object(A.lineDis)({ points: [I, l] }) < 0.1 ||
              Object(A.lineDis)({ points: [s, l] }) < 0.1
            )
              continue
            if (!l) continue
            let u = Math.max(...n.map(({ id: t }) => t)) + 1,
              c = Math.max(...i.map(({ id: t }) => t))
            n.push({ ...l, id: u }),
              i.splice(i.indexOf(e), 1, { p1: g.id, p2: u, id: ++c }, { p1: r.id, p2: u, id: ++c }),
              i.splice(i.indexOf(t), 1, { p1: I.id, p2: u, id: ++c }, { p1: s.id, p2: u, id: ++c })
            break
          }
          C !== i.length && t--
        }
        return t
      })(t)
      let i = Date.now()
      console.log('寮€濮嬭绠楁埧闂�')
      let n = [],
        r = [],
        o = []
      function C(t, e, i, g, A, o, I) {
        for (let s = 0; s < t.length; ++s) {
          if (A.indexOf(s) > -1 || o.indexOf(I) > -1) continue
          let a = t[s],
            l = a.p1.id,
            u = a.p2.id
          if (I == l || I == u) {
            let c = JSON.parse(JSON.stringify(i)),
              h = JSON.parse(JSON.stringify(g)),
              p = JSON.parse(JSON.stringify(A)),
              d = JSON.parse(JSON.stringify(o)),
              f = I
            h.push(a.id),
              c.push(I),
              p.push(s),
              d.push(I),
              f == l ? (f = u) : f == u && (f = l),
              e == f ? (r.push(c), n.push(h)) : C(t, e, c, h, p, d, f)
          }
        }
      }
      function I(t, e, i, n) {
        let g = []
        for (let t = 0; t < n.length; ++t) {
          let e = n[t]
          g.push(e)
        }
        let A = !0
        for (var r = 0; r < i.length; ++r) {
          if (e.indexOf(t[r]) > -1) {
            A = !1
            continue
          }
          let i = t[r]
          var C = i.p1,
            I = i.p2,
            a = { x: (C.x + I.x) / 2, y: (C.y + I.y) / 2 }
          if (!(s(C, g) && s(I, g) && s(a, g))) return !1
        }
        if (A) {
          let i = []
          return (
            i.push(e[0]),
            i.push(e[e.length - 1]),
            i.push(t[0]),
            i.push(t[t.length - 1]),
            o.push(i),
            !1
          )
        }
        return !0
      }
      function s(t, e) {
        for (var i = 0; i < e.length; ++i) {
          if (a(t, e[i])) return !0
        }
        return !!(function (t, e) {
          for (var i = t.x, n = t.y, g = !1, A = 0, r = e.length - 1; A < e.length; r = A++) {
            var o = e[A],
              C = e[r],
              I = o.x,
              s = o.y,
              a = C.x,
              l = C.y
            s > n != l > n && i < ((a - I) * (n - s)) / (l - s) + I && (g = !g)
          }
          return g
        })(t, e)
      }
      function a(t, e) {
        return t.x == e.x && t.y == e.y
      }
      let l = t.wall.map(e => ({
        p1: t.vertex.find(({ id: t }) => e.p1 === t),
        p2: t.vertex.find(({ id: t }) => e.p2 === t),
        id: e.id
      }))
      function u(t, e, i) {
        return (t.x * e.y + e.x * i.y + i.x * t.y - e.x * t.y - i.x * e.y - t.x * i.y) / 2
      }
      !(function (t) {
        for (let e = 0; e < t.length; ++e) {
          let i = [],
            n = [],
            g = [],
            A = []
          for (let t = 0; t <= e; ++t) i.push(t)
          let r = t[e],
            o = r.p1.id,
            I = r.p2.id
          g.push(I), A.push(r.id)
          let s = null
          for (let r = e + 1; r < t.length; ++r) {
            let e = t[r]
            if (o == e.p1.id || o == e.p2.id) {
              let a = JSON.parse(JSON.stringify(g)),
                l = JSON.parse(JSON.stringify(A)),
                u = JSON.parse(JSON.stringify(i)),
                c = JSON.parse(JSON.stringify(n)),
                h = o
              a.push(o),
                l.push(e.id),
                u.push(r),
                (s = h == e.p1.id ? e.p2.id : e.p1.id),
                c.push(h),
                C(t, I, a, l, u, c, s)
            }
          }
        }
      })(l),
        (r = r.map(e => e.map(e => t.vertex.find(({ id: t }) => e === t)))),
        (n = n.map(t => t.map(t => l.find(({ id: e }) => t === e)))),
        (function () {
          for (var t = 0; t < r.length; ++t)
            for (var e = t + 1; e < r.length; ++e)
              if (I(n[t], n[e], r[t], r[e])) r.splice(e, 1), n.splice(e, 1), --e
              else if (I(n[e], n[t], r[e], r[t])) {
                r.splice(t, 1), n.splice(t, 1), --t, --e
                break
              }
        })(),
        (function () {
          let t = []
          for (let e = 0; e < o.length; ++e) {
            let i = o[e],
              g = []
            ;(g[0] = null), (g[1] = null)
            for (
              let t = 0;
              t < n.length &&
              (i[0] == n[t][0] && i[1] == n[t][n[t].length - 1]
                ? (g[0] = t)
                : i[2] == n[t][0] && i[3] == n[t][n[t].length - 1] && (g[1] = t),
              null == g[0] || null == g[1]);
              ++t
            );
            null != g[0] && null != g[1] && t.push(g)
          }
          o = t
        })(),
        (t.room = n.map((t, e) => ({ wall: t.map(({ id: t }) => t), ground: r[e] })))
      let c = Date.now()
      return (
        console.warn('璁＄畻瀹屾瘯锛岃€楁椂' + (c - i)),
        e &&
          (window.testCenterPoints && e.processing.render.remove(...window.testCenterPoints),
          (window.testCenterPoints = r.map(t => {
            let i = (function (t) {
                for (var e = 0, i = 0, n = 0, g = t[1], A = 2; A < t.length; A++) {
                  var r = t[A],
                    o = u(t[0], g, r)
                  ;(n += o),
                    (e += (t[0].x + g.x + r.x) * o),
                    (i += (t[0].y + g.y + r.y) * o),
                    (g = r)
                }
                return { x: e / n / 3, y: i / n / 3 }
              })(t.map(t => ({ ...t, y: -t.y }))),
              n =
                'rgba(' +
                Math.floor(255 * Math.random()) +
                ',' +
                Math.floor(255 * Math.random()) +
                ',' +
                Math.floor(255 * Math.random()) +
                ',0.8)',
              A = new g.a({
                fillColor: n,
                storkeColor: n,
                x: i.x,
                y: i.y,
                renderer: e.processing.render
              })
            return e.processing.render.push(A), A
          })),
          window.testCenterPoints.forEach((i, g) => {
            t.room[g].ground.map(t => e.processing.points.find(({ id: e }) => e === t.id).ele.real),
              n[g].map(t => e.processing.lines.find(({ id: e }) => e === t.id).ele.real),
              i.real,
              r[g],
              n[g]
            console.log(r[g], r[g])
          })),
        r
      )
    }
  },
  function (t, e, i) {
    var n =
        (this && this.__awaiter) ||
        function (t, e, i, n) {
          return new (i || (i = Promise))(function (g, A) {
            function r(t) {
              try {
                C(n.next(t))
              } catch (t) {
                A(t)
              }
            }
            function o(t) {
              try {
                C(n.throw(t))
              } catch (t) {
                A(t)
              }
            }
            function C(t) {
              var e
              t.done
                ? g(t.value)
                : ((e = t.value),
                  e instanceof i
                    ? e
                    : new i(function (t) {
                        t(e)
                      })).then(r, o)
            }
            C((n = n.apply(t, e || [])).next())
          })
        },
      g =
        (this && this.__generator) ||
        function (t, e) {
          var i,
            n,
            g,
            A,
            r = {
              label: 0,
              sent: function () {
                if (1 & g[0]) throw g[1]
                return g[1]
              },
              trys: [],
              ops: []
            }
          return (
            (A = { next: o(0), throw: o(1), return: o(2) }),
            'function' == typeof Symbol &&
              (A[Symbol.iterator] = function () {
                return this
              }),
            A
          )
          function o(A) {
            return function (o) {
              return (function (A) {
                if (i) throw new TypeError('Generator is already executing.')
                for (; r; )
                  try {
                    if (
                      ((i = 1),
                      n &&
                        (g =
                          2 & A[0]
                            ? n.return
                            : A[0]
                            ? n.throw || ((g = n.return) && g.call(n), 0)
                            : n.next) &&
                        !(g = g.call(n, A[1])).done)
                    )
                      return g
                    switch (((n = 0), g && (A = [2 & A[0], g.value]), A[0])) {
                      case 0:
                      case 1:
                        g = A
                        break
                      case 4:
                        return r.label++, { value: A[1], done: !1 }
                      case 5:
                        r.label++, (n = A[1]), (A = [0])
                        continue
                      case 7:
                        ;(A = r.ops.pop()), r.trys.pop()
                        continue
                      default:
                        if (
                          !(g = (g = r.trys).length > 0 && g[g.length - 1]) &&
                          (6 === A[0] || 2 === A[0])
                        ) {
                          r = 0
                          continue
                        }
                        if (3 === A[0] && (!g || (A[1] > g[0] && A[1] < g[3]))) {
                          r.label = A[1]
                          break
                        }
                        if (6 === A[0] && r.label < g[1]) {
                          ;(r.label = g[1]), (g = A)
                          break
                        }
                        if (g && r.label < g[2]) {
                          ;(r.label = g[2]), r.ops.push(A)
                          break
                        }
                        g[2] && r.ops.pop(), r.trys.pop()
                        continue
                    }
                    A = e.call(t, r)
                  } catch (t) {
                    ;(A = [6, t]), (n = 0)
                  } finally {
                    i = g = 0
                  }
                if (5 & A[0]) throw A[1]
                return { value: A[0] ? A[1] : void 0, done: !0 }
              })([A, o])
            }
          }
        },
      A =
        (this && this.__spreadArrays) ||
        function () {
          for (var t = 0, e = 0, i = arguments.length; e < i; e++) t += arguments[e].length
          var n = Array(t),
            g = 0
          for (e = 0; e < i; e++)
            for (var A = arguments[e], r = 0, o = A.length; r < o; r++, g++) n[g] = A[r]
          return n
        }
    Object.defineProperty(e, '__esModule', { value: !0 })
    e.default = function (t, e) {
      return n(void 0, void 0, void 0, function () {
        var i, n, r, o, C, I, s, a, l, u
        return g(this, function (g) {
          switch (g.label) {
            case 0:
              return (
                (i = 3),
                (n = t.processing.render.layer),
                (r = t.processing.render.g),
                (o =
                  (t.processing.render.layer.offsetWidth ||
                    parseInt(getComputedStyle(t.processing.render.layer).width)) * i),
                (C =
                  (t.processing.render.layer.offsetHeight ||
                    parseInt(getComputedStyle(t.processing.render.layer).height)) * i),
                (n.style.visibility = 'hidden'),
                t.processing.doors.forEach(function (t) {
                  t.ele.showStart = !1
                }),
                (I = A(
                  t.processing.points,
                  t.processing.lines,
                  t.processing.doors,
                  t.processing.columns,
                  t.processing.cases,
                  t.processing.bayCases,
                  t.processing.slideDoors,
                  t.processing.groundCases,
                  t.processing.furnFlues,
                  t.processing.furnColumns
                )).length
                  ? [
                      4,
                      Promise.all(
                        I.map(function (t) {
                          var e = t.ele
                          return new Promise(function (t) {
                            return e.nextTick(t)
                          })
                        })
                      )
                    ]
                  : [2]
              )
            case 1:
              return g.sent(), (s = n.querySelector('.sign')), [4, t.hideSign()]
            case 2:
              g.sent(), (g.label = 3)
            case 3:
              return (
                g.trys.push([3, 5, , 6]),
                [
                  4,
                  t.screenshot({
                    width: o,
                    height: C,
                    bgColor: 'rgba(0,0,0,0)',
                    padding: t.padding * i,
                    showGauge: !1,
                    lineWidth: 2,
                    showDire: !1,
                    showTags: !1,
                    showDoorStart: !1,
                    errreturn: !0
                  })
                ]
              )
            case 4:
              for (
                a = g.sent().file,
                  n.style.backgroundImage = 'url(' + URL.createObjectURL(a) + ')',
                  l = 0;
                l < r.children.length;
                l++
              )
                r.children[l] !== s && r.removeChild(r.children[l--])
              return [3, 6]
            case 5:
              return (
                (u = g.sent()),
                console.error(u),
                (t.padding = t.padding * i),
                (t.processing.render.layer.style.transformOrigin = 'left top'),
                (t.processing.render.layer.style.transform = 'scale(' + 1 / i + ')'),
                t.setDefaultSignStyle({ r: 5 * i }),
                t.adapt(t.processing.data, o, C),
                [3, 6]
              )
            case 6:
              return (
                (s.style.display = 'block'), (n.style.visibility = 'visible'), [4, t.showSign()]
              )
            case 7:
              return g.sent(), e && e(), [2]
          }
        })
      })
    }
  }
])
