????

Your IP : 3.17.152.174


Current Path : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/
Upload File :
Current File : C:/inetpub/vhost/bcvt.kontum.gov.vn/www/57-es5.js

(function () {
  var absMids = {
    "esri/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DController": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DController.js",
    "esri/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DModel": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DModel.js",
    "esri/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js",
    "esri/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js",
    "esri/views/3d/interactive/measurementTools/areaMeasurement3D/MeasurementData": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/MeasurementData.js",
    "esri/views/3d/interactive/measurementTools/areaMeasurement3D/PathChanges": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/PathChanges.js",
    "esri/views/3d/interactive/measurementTools/support/Path": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Path.js",
    "esri/views/3d/interactive/measurementTools/support/measurementUtils": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/measurementUtils.js",
    "esri/views/3d/interactive/measurementTools/support/setUtils": "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/setUtils.js",
    "esri/views/3d/webgl-engine/materials/CheckerBoardMaterial": "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/CheckerBoardMaterial.js",
    "esri/views/3d/webgl-engine/shaders/CheckerBoard.glsl": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js",
    "esri/views/3d/webgl-engine/shaders/CheckerBoardTechnique": "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js",
    "esri/widgets/AreaMeasurement3D": "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D.js",
    "esri/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel": "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js",
    "esri/widgets/AreaMeasurement3D/nls/AreaMeasurement3D": "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js",
    "esri/widgets/AreaMeasurement3D/nls/vi/AreaMeasurement3D": "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/vi/AreaMeasurement3D.js",
    "dojo/i18n!esri/widgets/AreaMeasurement3D/nls/AreaMeasurement3D": "./node_modules/dojo-webpack-plugin/loaders/dojo/i18n/index.js!./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js"
  };
  var globalObj = this || window;
  var jsonpArray = globalObj["webpackJsonp"] = globalObj["webpackJsonp"] || [];

  if (jsonpArray.registerAbsMids) {
    jsonpArray.registerAbsMids(absMids);
  } else {
    var absMidsWaiting = jsonpArray.absMidsWaiting = jsonpArray.absMidsWaiting || [];
    absMidsWaiting.push(absMids);
  }
})(), (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[57], {
  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DController.js":
  /*!***************************************************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DController.js ***!
    \***************************************************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsAreaMeasurement3DAreaMeasurement3DControllerJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../../../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../../../../core/Handles */
    "./node_modules/arcgis-js-api/core/Handles.js"), __webpack_require__(
    /*! ../../../../../core/maybe */
    "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__(
    /*! ../../../../../core/screenUtils */
    "./node_modules/arcgis-js-api/core/screenUtils.js"), __webpack_require__(
    /*! ../../../../../geometry/Point */
    "./node_modules/arcgis-js-api/geometry/Point.js"), __webpack_require__(
    /*! ../../../../../layers/graphics/dehydratedFeatures */
    "./node_modules/arcgis-js-api/layers/graphics/dehydratedFeatures.js"), __webpack_require__(
    /*! ./AreaMeasurement3DView */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, o, n, r, a, s, d, p) {
      function u(e) {
        return "mouse" !== e.pointerType || 0 === e.button;
      }

      return function () {
        function e(e, t, i) {
          this._manipulators = i, this._handles = new n(), this._tempPickRequest = new p.PickRequest(), this.model = e, this.view = t, this.model.reset(), this._setupManipulators();
        }

        return e.prototype.destroy = function () {
          this._handles.destroy(), this._handles = null;
        }, e.prototype.handleInputEvent = function (e) {
          switch (e.type) {
            case "immediate-click":
              this._handleImmediateClick(e);

              break;

            case "pointer-move":
              this._handlePointerMove(e);

              break;

            case "drag":
              this._handleDrag(e);

              break;

            case "key-down":
              this._handleKeyDown(e);

          }
        }, e.prototype._setupManipulators = function () {
          var e = this,
              t = function t(e) {
            return "manipulator-" + e;
          },
              i = 0,
              o = function o(_o, n) {
            e._handles.add(n.watch("dragging", function (t) {
              t ? (i++, e.model.lastDraggedVertex = r.expect(e.view.manipulatorIdToVertexId(_o)), "measured" === e.model.state && (e.model.state = "editing")) : 0 === --i && "editing" === e.model.state && (e.model.state = "measured");
            }, !0), t(_o)), n.events.on("drag", function () {
              var t = r.expect(e.view.manipulatorIdToVertexId(_o));
              e.model.path.update(t, d.clonePoint(n.mapPoint, new s()));
            }), n.events.on("double-click", function (t) {
              u(t) && ("drawing" === e.model.state && e.model.finishMeasurement(), t.stopPropagation());
            });
          },
              n = function n(i) {
            e._handles.remove(t(i));
          };

          this._manipulators.forEach(function (e) {
            var t = e.id,
                i = e.manipulator;
            o(t, i);
          }), this._handles.add([this._manipulators.on("after-add", function (e) {
            var t = e.item,
                i = t.id,
                n = t.manipulator;
            o(i, n);
          }), this._manipulators.on("after-remove", function (e) {
            var t = e.item.id;
            n(t);
          })]);
        }, e.prototype._handleDrag = function (e) {
          "editing" === this.model.state && e.stopPropagation();
        }, e.prototype._handleImmediateClick = function (e) {
          if (u(e)) {
            var t = a.createScreenPointFromEvent(e);
            if (this.model.active) switch (this.model.state) {
              case "initial":
                this._addVertexAt(t) && (this.model.state = "drawing", e.stopPropagation());
                break;

              case "drawing":
                var i = this.view.vertexHandleAt(t, e.pointerType);

                if (r.isNone(i)) {
                  if (this._addVertexAt(t)) return;
                } else 0 === i && (this.model.finishMeasurement(), e.stopPropagation());

            }
            "mouse" === e.pointerType && this._hoverAt(t);
          }
        }, e.prototype._handlePointerMove = function (e) {
          if ("mouse" === e.pointerType) {
            var t = a.createScreenPointFromEvent(e);

            this._hoverAt(t);
          }
        }, e.prototype._handleKeyDown = function (e) {
          "Enter" === e.key && "drawing" === this.model.state && (this.model.finishMeasurement(), e.stopPropagation());
        }, e.prototype._hoverAt = function (e) {
          if (this.view.requiresCursorPoint) {
            var t = this._pick(e);

            t.mapPoint && (this.model.cursorPoint = t.mapPoint);
          } else this.model.cursorPoint = null;
        }, e.prototype._addVertexAt = function (e) {
          var t = this._pick(e);

          return !!t.mapPoint && (this.model.path.add(t.mapPoint), !0);
        }, e.prototype._pick = function (e) {
          var t = this._tempPickRequest;
          return t.screenPoint = e, this.view.pick(t);
        }, e;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DModel.js":
  /*!**********************************************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DModel.js ***!
    \**********************************************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsAreaMeasurement3DAreaMeasurement3DModelJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../../../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../../../../core/Accessor */
    "./node_modules/arcgis-js-api/core/Accessor.js"), __webpack_require__(
    /*! ../../../../../core/compilerUtils */
    "./node_modules/arcgis-js-api/core/compilerUtils.js"), __webpack_require__(
    /*! ../../../../../core/Handles */
    "./node_modules/arcgis-js-api/core/Handles.js"), __webpack_require__(
    /*! ../../../../../core/mathUtils */
    "./node_modules/arcgis-js-api/core/mathUtils.js"), __webpack_require__(
    /*! ../../../../../core/Quantity */
    "./node_modules/arcgis-js-api/core/Quantity.js"), __webpack_require__(
    /*! ../../../../../core/quantityUtils */
    "./node_modules/arcgis-js-api/core/quantityUtils.js"), __webpack_require__(
    /*! ../../../../../core/unitUtils */
    "./node_modules/arcgis-js-api/core/unitUtils.js"), __webpack_require__(
    /*! ../../../../../core/watchUtils */
    "./node_modules/arcgis-js-api/core/watchUtils.js"), __webpack_require__(
    /*! ../../../../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ./MeasurementData */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/MeasurementData.js"), __webpack_require__(
    /*! ./PathChanges */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/PathChanges.js"), __webpack_require__(
    /*! ../support/measurementUtils */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/measurementUtils.js"), __webpack_require__(
    /*! ../support/Path */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Path.js"), __webpack_require__(
    /*! ../support/setUtils */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/setUtils.js"), __webpack_require__(
    /*! ../support/UnitNormalizer */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/UnitNormalizer.js"), __webpack_require__(
    /*! ../../../support/projectionUtils */
    "./node_modules/arcgis-js-api/views/3d/support/projectionUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n, a, i, s, o, p, u, h, l, d, m, c, g, y, f, b, v) {
      return function (e) {
        function t() {
          var t = null !== e && e.apply(this, arguments) || this;
          return t._unitNormalizer = new b(), t._measurementData = new m(), t._measurementDataChanges = new c(), t._viewDataChanges = new c(), t._handles = new s(), t.path = new y(), t.pathVersion = 0, t.cursorPoint = null, t.state = "initial", t.lastDraggedVertex = null, t.mode = "auto", t.unit = "metric", t.active = !1, t.maxRelativeErrorCoplanar = .005, t.maxRelativeErrorAlmostCoplanar = .01, t.verticalAngleThreshold = 80, t.geodesicMeasurementDistanceThreshold = 1e5, t;
        }

        return r(t, e), t.prototype.initialize = function () {
          var e = this;
          this._handles.add(l.whenTrue(this.sceneView, "ready", function () {
            var t = e.sceneView.spatialReference;
            e._worldSpatialReference = !t || v.canProject(t, v.WGS84ECEFSpatialReference) ? v.WGS84ECEFSpatialReference : t, e._unitNormalizer.spatialReference = t;
          }), "scene-view"), this.reset();

          var t = function t() {
            e._set("pathVersion", e.pathVersion + 1);
          };

          this._handles.add(this.path.on("cleared", function () {
            e._measurementDataChanges.fullChange(), e._set("pathVersion", 0);
          })), this._handles.add(this.path.on("vertex-added", function () {
            e._measurementDataChanges.fullChange(), t();
          })), this._handles.add(this.path.on("vertex-inserted", function () {
            e._measurementDataChanges.fullChange(), t();
          })), this._handles.add(this.path.on("vertex-removed", function () {
            e._measurementDataChanges.fullChange(), t();
          })), this._handles.add(this.path.on("vertex-updated", function (r) {
            e._measurementDataChanges.incrementalChange(r.index), t();
          }));
        }, t.prototype.destroy = function () {
          this._handles.destroy(), this._handles = null;
        }, Object.defineProperty(t.prototype, "validMeasurement", {
          get: function get() {
            return this.path.length >= 3 && "measured" === this.state || "editing" === this.state;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "isMeasuring", {
          get: function get() {
            return this.path.length >= 1;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "measurementData", {
          get: function get() {
            this._viewDataChanges.merge(this._measurementDataChanges);

            var e = f.clone(this._measurementData.intersectingSegments),
                t = f.clone(this._measurementData.geodesicIntersectingSegments);
            return this._measurementData.update(this.path, this._measurementDataChanges, this.sceneView, this._unitNormalizer, this.validMeasurement, this.sceneView.renderSpatialReference, this._worldSpatialReference, {
              maxRelativeErrorCoplanar: this.maxRelativeErrorCoplanar,
              maxRelativeErrorAlmostCoplanar: this.maxRelativeErrorAlmostCoplanar,
              verticalAngleThreshold: this.verticalAngleThreshold
            }), g.compareSets(this._measurementData.intersectingSegments, e) || this._viewDataChanges.fullChange(), g.compareSets(this._measurementData.geodesicIntersectingSegments, t) || this._viewDataChanges.fullChange(), this._measurementData;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "area", {
          get: function get() {
            return this.measurementData.area;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "geodesicArea", {
          get: function get() {
            return this.measurementData.geodesicArea;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "areaLabel", {
          get: function get() {
            return this._formatAreaLabel("geodesic" === this.measurementMode ? this.measurementData.geodesicArea : this.measurementData.area, this.unit);
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "pathLength", {
          get: function get() {
            return this.measurementData.pathLength;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "geodesicPathLength", {
          get: function get() {
            return this.measurementData.geodesicPathLength;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "pathLengthLabel", {
          get: function get() {
            return this._formatLengthLabel("geodesic" === this.measurementMode ? this.measurementData.geodesicPathLength : this.measurementData.pathLength, this.unit);
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "perimeterLength", {
          get: function get() {
            return this.measurementData.perimeterLength;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "geodesicPerimeterLength", {
          get: function get() {
            return this.measurementData.geodesicPathLength;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "perimeterLengthLabel", {
          get: function get() {
            return this.measurementData.perimeterLength && this._formatLengthLabel("geodesic" === this.measurementMode ? this.measurementData.geodesicPathLength : this.measurementData.perimeterLength, this.unit);
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "cursorSegmentLength", {
          get: function get() {
            return this.path.back && this.cursorPoint && new p(this._unitNormalizer.normalizeDistance(g.segmentLengthEuclidean(this.path.back, this.cursorPoint, this._worldSpatialReference)), "meters");
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "geodesicCursorSegmentLength", {
          get: function get() {
            return this.path.back && this.cursorPoint && new p(g.segmentLengthGeodesic(this.path.back, this.cursorPoint), "meters");
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "cursorSegmentLengthLabel", {
          get: function get() {
            return this._formatLengthLabel("geodesic" === this.measurementMode ? this.geodesicCursorSegmentLength : this.cursorSegmentLength, this.unit);
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "viewData", {
          get: function get() {
            var e = this.measurementData,
                t = "geodesic" === this.measurementMode,
                r = t ? this.geodesicArea : this.area,
                n = 1;

            if (r) {
              var a = this._toPreferredAreaUnit(r, this.unit);

              n = o.nextHighestPowerOfTen(Math.sqrt(a.value) / Math.sqrt(300)), n *= Math.sqrt(h.convertUnit(1, a.unit, "square-meters")), n /= this._unitNormalizer.normalizeDistance(1);
            }

            return {
              validMeasurement: this.validMeasurement,
              path: this.path,
              pathChanges: this._viewDataChanges,
              positionsGeographic: e.positionsGeographic,
              positionsRenderCoords: e.positionsRenderCoords,
              positionsProjected: e.positionsProjectedWorldCoords,
              positionsFittedRenderCoords: e.positionsFittedRenderCoords,
              intersectingSegments: t ? e.geodesicIntersectingSegments : e.intersectingSegments,
              triangleIndices: t ? e.geodesicTriangleIndices : e.triangleIndices,
              fittingMode: e.fittingMode,
              areaCentroid: t ? e.geodesicAreaCentroidRenderCoords : e.areaCentroidRenderCoords,
              pathLengthLabelSegmentIndex: this.validMeasurement ? 0 : this.path.length - 2,
              perimeterLengthLabelSegmentIndex: 0,
              checkerSize: n
            };
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "measurementMode", {
          get: function get() {
            var e = this.mode;

            if ("auto" === e) {
              e = "euclidean";
              (this.geodesicPathLength ? this.geodesicPathLength.value : 0) + (!this.validMeasurement && this.geodesicCursorSegmentLength ? this.geodesicCursorSegmentLength.value : 0) > this.geodesicMeasurementDistanceThreshold && (e = "geodesic");
            }

            return null == this.geodesicPathLength && (e = "euclidean"), e;
          },
          enumerable: !0,
          configurable: !0
        }), t.prototype.reset = function () {
          this.clearMeasurement();
        }, t.prototype.clearMeasurement = function () {
          this.path.clear(), this.state = "initial", this.cursorPoint = null;
        }, t.prototype.finishMeasurement = function () {
          this.path.length < 3 ? this.clearMeasurement() : (this._measurementDataChanges.fullChange(), this.state = "measured");
        }, t.prototype._preferredAreaUnit = function (e, t) {
          switch (t) {
            case "metric":
              return h.preferredMetricAreaUnit(e.value, e.unit);

            case "imperial":
              return h.preferredImperialAreaUnit(e.value, e.unit);

            default:
              return t;
          }
        }, t.prototype._preferredLengthUnit = function (e, t) {
          var r = this._deriveLengthUnitFromAreaUnit(t);

          switch (r) {
            case "metric":
              return h.preferredMetricLengthUnit(e.value, e.unit);

            case "imperial":
              return h.preferredImperialLengthUnit(e.value, e.unit);

            default:
              return r;
          }
        }, t.prototype._toPreferredAreaUnit = function (e, t) {
          return e.toUnit(this._preferredAreaUnit(e, t));
        }, t.prototype._toPreferredLengthUnit = function (e, t) {
          return e.toUnit(this._preferredLengthUnit(e, t));
        }, t.prototype._formatAreaLabel = function (e, t) {
          return e && u.formatDecimal(e, this._preferredAreaUnit(e, t));
        }, t.prototype._formatLengthLabel = function (e, t) {
          return e && u.formatDecimal(e, this._preferredLengthUnit(e, t));
        }, t.prototype._deriveLengthUnitFromAreaUnit = function (e) {
          switch (e) {
            case "metric":
              return "metric";

            case "imperial":
              return "imperial";

            case "square-inches":
              return "inches";

            case "square-feet":
              return "feet";

            case "square-yards":
              return "yards";

            case "square-miles":
              return "miles";

            case "square-us-feet":
              return "us-feet";

            case "square-millimeters":
              return "millimeters";

            case "square-centimeters":
              return "centimeters";

            case "square-decimeters":
              return "decimeters";

            case "square-meters":
              return "meters";

            case "square-kilometers":
              return "kilometers";

            case "acres":
              return "imperial";

            case "ares":
            case "hectares":
              return "metric";

            default:
              i.neverReached(e);
          }

          throw new Error("unhandled area unit");
        }, n([d.property({
          constructOnly: !0
        })], t.prototype, "sceneView", void 0), n([d.property({
          readOnly: !0
        })], t.prototype, "path", void 0), n([d.property({
          readOnly: !0
        })], t.prototype, "pathVersion", void 0), n([d.property()], t.prototype, "cursorPoint", void 0), n([d.property()], t.prototype, "state", void 0), n([d.property()], t.prototype, "lastDraggedVertex", void 0), n([d.property()], t.prototype, "mode", void 0), n([d.property()], t.prototype, "unit", void 0), n([d.property()], t.prototype, "active", void 0), n([d.property({
          readOnly: !0,
          dependsOn: ["path.length", "state"]
        })], t.prototype, "validMeasurement", null), n([d.property({
          readOnly: !0,
          dependsOn: ["path.length"]
        })], t.prototype, "isMeasuring", null), n([d.property({
          readOnly: !0,
          dependsOn: ["pathVersion", "validMeasurement", "maxRelativeErrorCoplanar", "maxRelativeErrorAlmostCoplanar", "verticalAngleThreshold"]
        })], t.prototype, "measurementData", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData"]
        })], t.prototype, "area", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData"]
        })], t.prototype, "geodesicArea", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData", "unit", "measurementMode"]
        })], t.prototype, "areaLabel", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData"]
        })], t.prototype, "pathLength", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData"]
        })], t.prototype, "geodesicPathLength", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData", "unit", "measurementMode"]
        })], t.prototype, "pathLengthLabel", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData"]
        })], t.prototype, "perimeterLength", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData"]
        })], t.prototype, "geodesicPerimeterLength", null), n([d.property({
          readOnly: !0,
          dependsOn: ["measurementData", "unit", "measurementMode"]
        })], t.prototype, "perimeterLengthLabel", null), n([d.property({
          readOnly: !0,
          dependsOn: ["path.back", "cursorPoint"]
        })], t.prototype, "cursorSegmentLength", null), n([d.property({
          readOnly: !0,
          dependsOn: ["path.back", "cursorPoint"]
        })], t.prototype, "geodesicCursorSegmentLength", null), n([d.property({
          readOnly: !0,
          dependsOn: ["unit", "measurementMode", "cursorSegmentLength", "geodesicCursorSegmentLength"]
        })], t.prototype, "cursorSegmentLengthLabel", null), n([d.property({
          readOnly: !0,
          dependsOn: ["unit", "measurementMode", "measurementData"]
        })], t.prototype, "viewData", null), n([d.property()], t.prototype, "maxRelativeErrorCoplanar", void 0), n([d.property()], t.prototype, "maxRelativeErrorAlmostCoplanar", void 0), n([d.property()], t.prototype, "verticalAngleThreshold", void 0), n([d.property()], t.prototype, "geodesicMeasurementDistanceThreshold", void 0), n([d.property({
          readOnly: !0,
          dependsOn: ["mode", "validMeasurement", "geodesicPathLength", "geodesicCursorSegmentLength", "geodesicMeasurementDistanceThreshold"]
        })], t.prototype, "measurementMode", null), t = n([d.subclass("esri.views.3d.interactive.measurementTools.areaMeasurement3D.AreaMeasurement3DModel")], t);
      }(d.declared(a));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js":
  /*!*********************************************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js ***!
    \*********************************************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsAreaMeasurement3DAreaMeasurement3DToolJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../../../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../../../../core/tsSupport/restHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/restHelper.js"), __webpack_require__(
    /*! ../../../../../core/Handles */
    "./node_modules/arcgis-js-api/core/Handles.js"), __webpack_require__(
    /*! ../../../../../core/watchUtils */
    "./node_modules/arcgis-js-api/core/watchUtils.js"), __webpack_require__(
    /*! ../../../../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ./AreaMeasurement3DController */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DController.js"), __webpack_require__(
    /*! ./AreaMeasurement3DModel */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DModel.js"), __webpack_require__(
    /*! ./AreaMeasurement3DView */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js"), __webpack_require__(
    /*! ../../../../interactive/InteractiveToolBase */
    "./node_modules/arcgis-js-api/views/interactive/InteractiveToolBase.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, o, r, i, a, n, s, l, p, d, c) {
      return function (e) {
        function t(t) {
          var o = e.call(this, t) || this;
          return o._handles = new a(), o.deferCreation = !0, o.model = new p({
            sceneView: t.view
          }), o;
        }

        return o(t, e), t.prototype.normalizeCtorArgs = function (e) {
          e.view;
          return i(e, ["view"]);
        }, t.prototype.initialize = function () {
          var e = this;
          this._view = new d(this.model, this.manipulators), this._controller = new l(this.model, this._view, this.manipulators), this._handles.add(n.init(this, "state", function (t) {
            switch (t) {
              case "measured":
                return e.complete();

              case "ready":
                return;

              default:
                return e.create();
            }
          }, !0));
        }, t.prototype.destroy = function () {
          this.detach(), this._view.destroy(), this._view = null, this._controller.destroy(), this._controller = null, this._handles.destroy(), this._handles = null;
        }, Object.defineProperty(t.prototype, "state", {
          get: function get() {
            return this.model.isMeasuring ? "measured" === this.model.state ? "measured" : "measuring" : "ready";
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "isSupported", {
          get: function get() {
            return "3d" === this.get("view.type");
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "cursor", {
          get: function get() {
            return !this.model.active || "initial" !== this.model.state && "drawing" !== this.model.state ? null : "crosshair";
          },
          enumerable: !0,
          configurable: !0
        }), t.prototype.activate = function () {
          this.model.active = !0;
        }, t.prototype.deactivate = function () {
          this.model.active = !1;
        }, t.prototype.onShow = function () {
          this._view.show();
        }, t.prototype.onHide = function () {
          this._view.hide();
        }, t.prototype.onDetach = function () {
          this.model.reset();
        }, t.prototype.onInputEvent = function (e) {
          this._controller.handleInputEvent(e);
        }, r([s.property({
          dependsOn: ["model.isMeasuring", "model.state"],
          readOnly: !0
        })], t.prototype, "state", null), r([s.property({
          dependsOn: ["view.type"],
          readOnly: !0
        })], t.prototype, "isSupported", null), r([s.property({
          dependsOn: ["model.active", "state"],
          readOnly: !0
        })], t.prototype, "cursor", null), r([s.property({
          constructOnly: !0
        })], t.prototype, "model", void 0), r([s.aliasOf("model.sceneView")], t.prototype, "view", void 0), r([s.aliasOf("model.mode")], t.prototype, "mode", void 0), r([s.aliasOf("model.unit")], t.prototype, "unit", void 0), r([s.aliasOf("model.areaLabel")], t.prototype, "areaLabel", void 0), r([s.aliasOf("model.area")], t.prototype, "area", void 0), r([s.aliasOf("model.geodesicArea")], t.prototype, "geodesicArea", void 0), r([s.aliasOf("model.pathLengthLabel")], t.prototype, "pathLengthLabel", void 0), r([s.aliasOf("model.pathLength")], t.prototype, "pathLength", void 0), r([s.aliasOf("model.geodesicPathLength")], t.prototype, "geodesicPathLength", void 0), r([s.aliasOf("model.perimeterLengthLabel")], t.prototype, "perimeterLengthLabel", void 0), r([s.aliasOf("model.perimeterLength")], t.prototype, "perimeterLength", void 0), r([s.aliasOf("model.geodesicPerimeterLength")], t.prototype, "geodesicPerimeterLength", void 0), r([s.aliasOf("model.validMeasurement")], t.prototype, "validMeasurement", void 0), r([s.aliasOf("model.viewData")], t.prototype, "viewData", void 0), t = r([s.subclass("esri.views.3d.interactive.measurementTools.areaMeasurement3D.AreaMeasurement3DTool")], t);
      }(s.declared(c.InteractiveToolBase));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js":
  /*!*********************************************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js ***!
    \*********************************************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsAreaMeasurement3DAreaMeasurement3DViewJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../../../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../../../../core/Handles */
    "./node_modules/arcgis-js-api/core/Handles.js"), __webpack_require__(
    /*! ../../../../../core/maybe */
    "./node_modules/arcgis-js-api/core/maybe.js"), __webpack_require__(
    /*! ../../../../../core/screenUtils */
    "./node_modules/arcgis-js-api/core/screenUtils.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/mat4 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/mat4f64 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/mat4f64.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec3 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__(
    /*! ../../manipulatorUtils */
    "./node_modules/arcgis-js-api/views/3d/interactive/manipulatorUtils.js"), __webpack_require__(
    /*! ../directLineMeasurement3D/LaserLineRenderer */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/directLineMeasurement3D/LaserLineRenderer.js"), __webpack_require__(
    /*! ../support/Label */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Label.js"), __webpack_require__(
    /*! ../support/LabelSegment */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/LabelSegment.js"), __webpack_require__(
    /*! ../support/labelUtils */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/labelUtils.js"), __webpack_require__(
    /*! ../support/PathSegmentInterpolator */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/PathSegmentInterpolator.js"), __webpack_require__(
    /*! ../support/viewUtils */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/viewUtils.js"), __webpack_require__(
    /*! ../../../support/projectionUtils */
    "./node_modules/arcgis-js-api/views/3d/support/projectionUtils.js"), __webpack_require__(
    /*! ../../../support/stack */
    "./node_modules/arcgis-js-api/views/3d/support/stack.js"), __webpack_require__(
    /*! ../../../webgl-engine/lib/Geometry */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Geometry.js"), __webpack_require__(
    /*! ../../../webgl-engine/lib/GeometryData */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryData.js"), __webpack_require__(
    /*! ../../../webgl-engine/lib/GeometryUtil */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GeometryUtil.js"), __webpack_require__(
    /*! ../../../webgl-engine/lib/Intersector */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Intersector.js"), __webpack_require__(
    /*! ../../../webgl-engine/lib/Layer */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Layer.js"), __webpack_require__(
    /*! ../../../webgl-engine/lib/Object3D */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Object3D.js"), __webpack_require__(
    /*! ../../../webgl-engine/materials/CheckerBoardMaterial */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/CheckerBoardMaterial.js"), __webpack_require__(
    /*! ../../../webgl-engine/materials/lineStippleUtils */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/lineStippleUtils.js"), __webpack_require__(
    /*! ../../../webgl-engine/materials/RibbonLineMaterial */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/RibbonLineMaterial.js"), __webpack_require__(
    /*! ../../../../interactive/ManipulatorCollection */
    "./node_modules/arcgis-js-api/views/interactive/ManipulatorCollection.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, r, n, a, s, o, l, h, p, d, c, _, u, m, g, L, v, b, f, w, y, S, P, j, M, O, C, V) {
      var R = {
        laserLineGlowColor: [1, .5, 0],
        laserLineGlowWidth: 8,
        laserLineInnerColor: [1, 1, 1],
        laserLineInnerWidth: 1,
        laserLineGlobalAlpha: .75,
        laserLineEnabled: !0,
        handleColor: [1, .5, 0],
        handleOpacity: .5,
        handleRadius: 5,
        handleRadiusHovered: 10,
        handleRadiusMouse: 10,
        handleRadiusTouch: 25,
        pathLineColor: [1, .5, 0, 1],
        pathLineWidth: 3,
        intersectingLineColor: [1, .2, 0, 1],
        perimeterLineColor: [1, .5, 0, 1],
        perimeterLineWidth: 2,
        projectionLineColor: [1, .5, 0, 1],
        projectionLineWidth: 2,
        projectionLineStippleSize: 5,
        areaColor1: [1, .5, 0, .5],
        areaColor2: [1, 1, 1, .5],
        fillColor: [1, .5, 0, .5],
        lineSubdivisions: 64,
        labelDistance: 25
      },
          D = function () {
        function e(e, t, i) {
          void 0 === t && (t = new V.ManipulatorCollection()), void 0 === i && (i = {}), this._model = e, this._manipulators = t, this.vertexManipulators = [], this._visible = !1, this._laserLineRenderer = null, this._cursorManipulator = null, this._pathSegmentObjects = [], this._perimeterSegmentObjects = [], this._projectionLineObjects = [], this._areaLabel = new _(16), this._pathLengthLabel = new _(12), this._cursorSegmentLengthLabel = new _(12), this._perimeterLengthLabel = new _(12), this._pathLabelSegments = [], this._perimeterLabelSegments = [], this._cursorSegmentLengthLabelSegment = new u(), this._listenerHandles = null, this._origin = p.vec3f64.create(), this._originTransform = l.mat4f64.create(), this._tempStartPosition = p.vec3f64.create(), this._tempEndPosition = p.vec3f64.create(), this._tempHandlePosition = p.vec3f64.create(), this._sceneView = this._model.sceneView, this._params = L.copyParameter(R, i), this._layer = new P("path-measurement-tool", {
            isPickable: !1
          }), this._createMaterials(), this._createObjects(), this._intersector = new S(this._sceneView.viewingMode), this._intersector.options.store = 0;
          var r = d.createSphereManipulator(this._sceneView, this._params.handleColor, this._params.handleOpacity);
          r.visible = !1, r.radius = this._params.handleRadius, r.interactive = !1, this._manipulators.add(r), this._cursorManipulator = r;
        }

        return e.prototype.destroy = function () {
          this.hide();
        }, Object.defineProperty(e.prototype, "requiresCursorPoint", {
          get: function get() {
            return ("initial" === this._model.state || "drawing" === this._model.state) && this._model.active;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(e.prototype, "visible", {
          get: function get() {
            return this._visible;
          },
          set: function set(e) {
            e ? this.show() : this.hide();
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(e.prototype, "testData", {
          get: function get() {
            return {
              labels: {
                area: this._areaLabel,
                pathLength: this._pathLengthLabel,
                cursorSegmentLength: this._cursorSegmentLengthLabel,
                perimeterLength: this._perimeterLengthLabel
              },
              laserLineRenderer: this._laserLineRenderer
            };
          },
          enumerable: !0,
          configurable: !0
        }), e.prototype.show = function () {
          if (!this._visible) {
            this._visible = !0;
            var e = this._sceneView._stage,
                t = {
              glowColor: this._params.laserLineGlowColor,
              glowWidth: this._params.laserLineGlowWidth,
              innerColor: this._params.laserLineInnerColor,
              innerWidth: this._params.laserLineInnerWidth,
              globalAlpha: this._params.laserLineGlobalAlpha
            };
            this._laserLineRenderer = new c(this._sceneView.renderCoordsHelper, t), e.addRenderPlugin(this._laserLineRenderer.renderSlots, this._laserLineRenderer), this._addToStage(e), this._areaLabel.addToView(this._sceneView), this._pathLengthLabel.addToView(this._sceneView), this._cursorSegmentLengthLabel.addToView(this._sceneView), this._perimeterLengthLabel.addToView(this._sceneView), this._initializeListeners(), this._updateAll(this._model.viewData);
          }
        }, e.prototype.hide = function () {
          if (this._visible) {
            this._visible = !1;
            var e = this._sceneView._stage;
            e.removeRenderPlugin(this._laserLineRenderer), this._laserLineRenderer = null, this._destroyListeners(), this._updatePathLength(0), this._removeFromStage(e), this._areaLabel.removeFromView(this._sceneView), this._pathLengthLabel.removeFromView(this._sceneView), this._cursorSegmentLengthLabel.removeFromView(this._sceneView), this._perimeterLengthLabel.removeFromView(this._sceneView), this._sceneView.cursor = null;
          }
        }, e.prototype.vertexHandleAt = function (e, t) {
          var i = this._manipulators.intersect(e, t);

          return a.isSome(i) ? this.manipulatorIdToVertexId(i) : null;
        }, e.prototype.manipulatorIdToVertexId = function (e) {
          for (var t = 0; t < this.vertexManipulators.length; t++) {
            if (e === this.vertexManipulators[t].id) return t;
          }

          return null;
        }, e.prototype.pick = function (t) {
          var i = this._sceneView.spatialReference,
              r = s.screenPointObjectToArray(t.screenPoint);

          this._sceneView.sceneIntersectionHelper.intersectToolIntersectorScreen(r, this._intersector);

          var n = this._intersector.results.min,
              a = p.vec3f64.create();
          if (!n.getIntersectionPoint(a)) return new e.PickResult();

          var o = this._sceneView.renderCoordsHelper.fromRenderCoords(a, i),
              l = "TerrainRenderer" === n.intersector ? "surface" : "feature";

          return new e.PickResult(l, a, o);
        }, e.prototype.overlappingHandles = function (e, t) {
          return L.pointToPointScreenDistance(e, t, this._sceneView) <= this._params.handleRadius;
        }, e.prototype._createMaterials = function () {
          this._pathLineMaterial = new C({
            width: this._params.pathLineWidth,
            color: this._params.pathLineColor,
            polygonOffset: !0
          }, "path-line"), this._pathLineMaterial.renderOccluded = 4, this._intersectingPathLineMaterial = new C({
            width: this._params.pathLineWidth,
            color: this._params.intersectingLineColor,
            polygonOffset: !0
          }, "intersecting-path-line"), this._intersectingPathLineMaterial.renderOccluded = 4, this._perimeterLineMaterial = new C({
            width: this._params.perimeterLineWidth,
            color: this._params.perimeterLineColor,
            polygonOffset: !0
          }, "perimeter-line"), this._perimeterLineMaterial.renderOccluded = 4, this._intersectingPerimeterLineMaterial = new C({
            width: this._params.perimeterLineWidth,
            color: this._params.intersectingLineColor,
            polygonOffset: !0
          }, "intersecting-perimeter-line"), this._intersectingPerimeterLineMaterial.renderOccluded = 4, this._projectionLineMaterial = new C({
            width: this._params.projectionLineWidth,
            color: this._params.projectionLineColor,
            polygonOffset: !0,
            stipplePattern: O.createStipplePatternSimple(this._params.projectionLineStippleSize),
            stippleIntegerRepeats: !1
          }, "projection-line"), this._projectionLineMaterial.renderOccluded = 4, this._checkerBoardMaterial = new M({
            color1: this._params.areaColor1,
            color2: this._params.areaColor2,
            transparent: !0,
            writeDepth: !1,
            polygonOffset: !0
          }, "checker-board"), this._checkerBoardMaterial.renderOccluded = 4;
        }, e.prototype._createObjects = function () {
          this._cursorSegmentObject = new j(), this._areaObject = new j();
        }, e.prototype._addToStage = function (e) {
          e.add(0, this._layer), e.add(3, this._pathLineMaterial), e.add(3, this._intersectingPathLineMaterial), e.add(3, this._perimeterLineMaterial), e.add(3, this._intersectingPerimeterLineMaterial), e.add(3, this._projectionLineMaterial), e.add(3, this._checkerBoardMaterial), e.addToViewContent([this._layer.id]);
        }, e.prototype._removeFromStage = function (e) {
          e.removeFromViewContent([this._layer.id]), e.remove(0, this._layer.id), e.remove(3, this._pathLineMaterial.id), e.remove(3, this._intersectingPathLineMaterial.id), e.remove(3, this._perimeterLineMaterial.id), e.remove(3, this._intersectingPerimeterLineMaterial.id), e.remove(3, this._projectionLineMaterial.id), e.remove(3, this._checkerBoardMaterial.id);
        }, e.prototype._syncViewData = function (e) {
          var t = this;
          if (!this._visible) return "none";
          var i = e.pathChanges;
          "full" === i.change ? this._updateAll(e) : "incremental" === i.change && (i.updatedVertices.forEach(function (i) {
            var r = (i - 1 + t._model.path.length) % t._model.path.length;
            t._updatePathSegment(e, i), t._updatePathSegment(e, r), t._updateVertexHandle(e, i), t._updateArea(e), t._updatePerimeterSegments(e), t._updateProjectionLines(e), t._updateLaserLine(), t._updateLabels(e);
          }), i.updatedVertices.has(this._model.path.length - 1) && this._updateCursorSegment());
          var r = i.change;
          return i.clear(), r;
        }, e.prototype._updateAfterSyncViewData = function (e) {
          var t = this._model.viewData;
          !("full" === this._syncViewData(t)) && e && e(t);
        }, e.prototype._updateOrigin = function (e) {
          L.midpoint(e.positionsRenderCoords, this._origin), o.mat4.identity(this._originTransform), o.mat4.translate(this._originTransform, this._originTransform, this._origin);
        }, e.prototype._updateAll = function (e) {
          this._updateOrigin(e), this._updatePathLength(e.path.length), this._updatePathSegments(e), this._updatePerimeterSegments(e), this._updateHandles(e), this._updateArea(e), this._updateProjectionLines(e), this._updateLabels(e), this._updateLaserLine();
        }, e.prototype._updateCameraDependent = function (e) {
          this._updateHandles(e), this._updateProjectionLines(e), this._updateLabels(e);
        }, e.prototype._updatePathLength = function (e) {
          this._resizeObject3DArray(this._pathSegmentObjects, e), this._resizeObject3DArray(this._perimeterSegmentObjects, e), this._resizeManipulatorArray(this.vertexManipulators, e), L.resizeArray(this._pathLabelSegments, e, function () {
            return new u();
          }), L.resizeArray(this._perimeterLabelSegments, e, function () {
            return new u();
          });
        }, e.prototype._updatePathSegments = function (e) {
          for (var t = 0; t < this._pathSegmentObjects.length; ++t) this._updatePathSegment(e, t);

          this._updateCursorSegment();
        }, e.prototype._updatePathSegment = function (e, t) {
          var i = e.path,
              r = this._pathSegmentObjects[t];
          e.validMeasurement || t < i.length - 1 ? (this._createInterpolatedLineGeometry(r, e.intersectingSegments.has(t) ? this._intersectingPathLineMaterial : this._pathLineMaterial, "path-segment", e.positionsRenderCoords[t], e.positionsRenderCoords[(t + 1) % i.length], this._origin, this._originTransform, this._model.measurementMode, this._pathLabelSegments[t], e.validMeasurement ? "center" : "end"), this._addObject3D(r)) : (r.removeAllGeometries(), this._removeObject3D(r));
        }, e.prototype._updateCursorSegment = function () {
          var e = this._sceneView.renderCoordsHelper,
              t = this._model.path,
              i = this._cursorSegmentObject;
          t.length > 0 && "drawing" === this._model.state && this._model.cursorPoint ? (e.toRenderCoords(t.back, this._tempStartPosition), e.toRenderCoords(this._model.cursorPoint, this._tempEndPosition), this._createInterpolatedLineGeometry(i, this._pathLineMaterial, "path-segment", this._tempStartPosition, this._tempEndPosition, this._origin, this._originTransform, this._model.measurementMode, this._cursorSegmentLengthLabelSegment, "end"), this._addObject3D(i)) : (i.removeAllGeometries(), this._removeObject3D(i));
        }, e.prototype._updatePerimeterSegments = function (e) {
          for (var t = 0; t < this._perimeterSegmentObjects.length; ++t) this._updatePerimeterSegment(e, t);
        }, e.prototype._updatePerimeterSegment = function (e, t) {
          var i = e.path,
              r = this._perimeterSegmentObjects[t];
          e.validMeasurement && "geodesic" !== this._model.measurementMode ? (this._updatePerimeterSegmentObject(r, e.positionsFittedRenderCoords[t], e.positionsFittedRenderCoords[(t + 1) % i.length], this._origin, this._originTransform, e.intersectingSegments.has(t), this._perimeterLabelSegments[t]), this._addObject3D(r)) : (r.removeAllGeometries(), this._removeObject3D(r));
        }, e.prototype._updatePerimeterSegmentObject = function (e, t, i, r, n, a, s) {
          this._createInterpolatedLineGeometry(e, a ? this._intersectingPerimeterLineMaterial : this._perimeterLineMaterial, "perimeter-segment", t, i, r, n, this._model.measurementMode, s);
        }, e.prototype._updateHandles = function (e) {
          for (var t = 0; t < this.vertexManipulators.length; ++t) this._updateVertexHandle(e, t);

          this._updateCursorHandle();
        }, e.prototype._updateVertexHandle = function (e, t) {
          this.vertexManipulators[t].manipulator.position = e.positionsRenderCoords[t];
        }, e.prototype._updateCursorHandle = function () {
          var e = this._cursorManipulator;
          "drawing" === this._model.state && this._model.cursorPoint ? (e.visible = !0, e.mapPoint = this._model.cursorPoint) : e.visible = !1;
        }, e.prototype._updateArea = function (e) {
          switch (this._model.measurementMode) {
            case "euclidean":
              this._updateAreaEuclidean(e);

              break;

            case "geodesic":
              this._updateAreaGeodesic();

          }
        }, e.prototype._updateAreaEuclidean = function (e) {
          var t = this,
              i = this._areaObject;

          if (e.validMeasurement && 0 === e.intersectingSegments.size && e.triangleIndices) {
            var r = [],
                n = p.vec3f64.create();
            e.positionsFittedRenderCoords.forEach(function (e) {
              h.vec3.subtract(n, e, t._origin), r.push(n[0], n[1], n[2]);
            });
            var a = [];
            e.positionsProjected.forEach(function (e) {
              a.push(e[0], e[1]);
            });
            var s = new w.GeometryData({
              position: {
                size: 3,
                data: r
              },
              uv0: {
                size: 2,
                data: a
              }
            }, {
              position: e.triangleIndices,
              uv0: e.triangleIndices
            }),
                o = new f(s, "area");
            i.removeAllGeometries(), i.addGeometry(o, this._checkerBoardMaterial, this._originTransform), this._addObject3D(i), this._checkerBoardMaterial.setParameterValues({
              size: [e.checkerSize, e.checkerSize]
            });
          } else i.removeAllGeometries(), this._removeObject3D(i);
        }, e.prototype._updateAreaGeodesic = function () {
          var e = this._areaObject;
          e.removeAllGeometries(), this._removeObject3D(e);
        }, e.prototype._updateProjectionLines = function (e) {
          var t = e.path;

          this._resizeObject3DArray(this._projectionLineObjects, t.length);

          for (var i = 0; i < t.length; ++i) this._updateProjectionLine(e, i);
        }, e.prototype._updateProjectionLine = function (e, t) {
          var i = this._projectionLineObjects[t];

          if (i.removeAllGeometries(), e.validMeasurement && "euclidean" === this._model.measurementMode) {
            var r = p.vec3f64.create();
            h.vec3.subtract(r, this._model.viewData.positionsRenderCoords[t], this._origin);
            var n = p.vec3f64.create();
            h.vec3.subtract(n, this._model.viewData.positionsFittedRenderCoords[t], this._origin);
            var a = new f(y.createPolylineGeometry([r, n]), "projected-line");
            i.addGeometry(a, this._projectionLineMaterial, this._originTransform), this._addObject3D(i);
          } else this._removeObject3D(i);
        }, e.prototype._updateLabels = function (e) {
          var t = this,
              i = this._sceneView._stage.getCamera(),
              r = this._params.labelDistance,
              n = this._model,
              a = "geodesic" === n.measurementMode,
              s = "drawing" === n.state,
              o = function o(e, i) {
            return e.visible && i.visible && t._sceneView.overlay.overlaps(e.textItem, i.textItem);
          },
              l = this._areaLabel,
              h = m.positionLabelOnPoint(l, e.areaCentroid, i);

          l.text = n.areaLabel, l.visible = h && e.validMeasurement && 0 === e.intersectingSegments.size && null != n.areaLabel;
          var l = this._pathLengthLabel,
              p = this._pathLabelSegments[e.pathLengthLabelSegmentIndex],
              d = this._cursorSegmentLengthLabelSegment,
              h = m.positionLabelOnCorner(l, p, d, r, i);
          l.text = n.pathLengthLabel, l.visible = h && s && n.path.length > 0;
          var l = this._cursorSegmentLengthLabel,
              c = this._cursorSegmentLengthLabelSegment,
              h = m.positionLabelOnSegment(l, c, r, "bottom", i);
          l.text = n.cursorSegmentLengthLabel, l.visible = h && s && n.cursorSegmentLength && 0 !== n.cursorSegmentLength.value, o(this._cursorSegmentLengthLabel, this._pathLengthLabel) && (this._cursorSegmentLengthLabel.visible = !1), o(this._pathLengthLabel, this._areaLabel) && (this._pathLengthLabel.visible = !1);
          var l = this._perimeterLengthLabel;
          if (n.validMeasurement && 0 === e.intersectingSegments.size) for (var _ = 0; _ < e.path.length; ++_) {
            var u = (e.perimeterLengthLabelSegmentIndex + _) % e.path.length,
                c = a ? this._pathLabelSegments[u] : this._perimeterLabelSegments[u],
                h = m.positionLabelOnSegment(l, c, r, "top", i);
            if (l.text = n.perimeterLengthLabel, l.visible = h, !o(l, this._areaLabel)) break;
            l.visible = !1;
          } else l.visible = !1;
        }, e.prototype._getFocusPoint = function () {
          var e = this._model,
              t = this._model.lastDraggedVertex;

          switch (e.state) {
            case "drawing":
              return e.cursorPoint ? e.cursorPoint : e.path.vertex(a.isSome(t) ? t : e.path.length - 1);

            case "editing":
              return a.isSome(t) ? e.path.vertex(t) : null;

            default:
              return e.cursorPoint;
          }
        }, e.prototype._updateLaserLine = function () {
          var e = this._model,
              t = this._params.laserLineEnabled && "measured" !== e.state && e.active;
          this._laserLineRenderer.focusSphereActive = !1, this._laserLineRenderer.segmentActive = !1;

          var i = this._getFocusPoint();

          if (t && i) {
            var r = this._tempHandlePosition;
            this._sceneView.renderCoordsHelper.toRenderCoords(i, r), this._laserLineRenderer.focusPosition = r, this._laserLineRenderer.focusPlaneActive = !0;
          } else this._laserLineRenderer.focusPlaneActive = !1;
        }, e.prototype._addObject3D = function (e) {
          e.parentLayer || (this._layer.addObject(e), this._sceneView._stage.add(1, e));
        }, e.prototype._removeObject3D = function (e) {
          e.parentLayer && (this._layer.removeObject(e), this._sceneView._stage.remove(1, e.id));
        }, e.prototype._resizeObject3DArray = function (e, t) {
          var i = this;
          L.resizeArray(e, t, function () {
            return new j();
          }, function (e) {
            i._removeObject3D(e);
          });
        }, e.prototype._resizeManipulatorArray = function (e, t) {
          var i = this;
          L.resizeArray(e, t, function () {
            var e = d.createSphereManipulator(i._sceneView, i._params.handleColor, i._params.handleOpacity);
            return e.hideOnGrab = !0, e.radius = i._params.handleRadius, {
              id: i._manipulators.add(e),
              manipulator: e
            };
          }, function (e) {
            var t = e.manipulator;

            i._manipulators.remove(t);
          });
        }, e.prototype._createInterpolatedLineGeometry = function (e, t, i, r, n, a, s, o, l, p) {
          var d = this._sceneView.renderCoordsHelper,
              c = [],
              _ = [],
              u = function u(e, t) {
            var i = b.sv3d.get();
            h.vec3.subtract(i, e, a), c.push(i), _.push(t);
          };

          if ("euclidean" === o) {
            var m = b.sv3d.get();
            L.midpoint([r, n], m);
            var g = b.sv3d.get();
            d.worldUpAtPosition(m, g), u(r, g), u(n, g), l && l.update(r, n, p);
          } else {
            var v = this._getSegmentInterpolator(r, n),
                w = this._params.lineSubdivisions + 1 & -2,
                S = null,
                P = null,
                j = w / 2 - 1,
                M = w / 2;

            "start" === p ? (j = 0, M = 1) : "end" === p && (j = w - 2, M = w - 1);

            for (var O = 0; O < w; ++O) {
              var C = O / (w - 1),
                  V = b.sv3d.get(),
                  g = b.sv3d.get();
              v.eval(C, V), d.worldUpAtPosition(V, g), O === j && (S = V), O === M && (P = V), u(V, g);
            }

            l && l.update(S, P, p);
          }

          var R = new f(y.createPolylineGeometry(c, _), i);
          e.removeAllGeometries(), e.addGeometry(R, t, s);
        }, e.prototype._getSegmentInterpolator = function (e, t) {
          var i = this._sceneView.spatialReference;

          if (v.canProject(i, v.SphericalECEFSpatialReference)) {
            var r = this._sceneView.renderCoordsHelper.spatialReference;
            return new g.Spherical(e, t, r, r);
          }

          return new g.Linear(e, t);
        }, e.prototype._initializeListeners = function () {
          var e = this;
          this._listenerHandles = new n(), this._listenerHandles.add([this._model.watch(["state", "lastDraggedVertex"], function () {
            return e._updateLaserLine();
          }), this._model.watch("cursorPoint", function () {
            return e._updateAfterSyncViewData(function (t) {
              e._updateCursorSegment(), e._updateCursorHandle(), "drawing" === e._model.state && e._updateLabels(t), e._updateLaserLine();
            });
          }), this._sceneView.state.watch("camera", function () {
            return e._updateAfterSyncViewData(function () {
              return e._updateCameraDependent(e._model.viewData);
            });
          }), this._model.watch(["unit", "measurementMode"], function () {
            return e._updateAll(e._model.viewData);
          }), this._model.watch(["active"], function () {
            e._updateLaserLine(), e._syncViewData(e._model.viewData);
          }), this._model.watch("viewData", function (t) {
            return e._syncViewData(t);
          })]);
        }, e.prototype._destroyListeners = function () {
          this._listenerHandles.destroy(), this._listenerHandles = null;
        }, e._handleGeometry = new f(y.createSphereGeometry(1, 32, 32), "handle"), e;
      }();

      return function (e) {
        var t = function () {
          function e() {}

          return e;
        }();

        e.PickRequest = t;

        var i = function () {
          function e(e, t, i) {
            void 0 === e && (e = null), void 0 === t && (t = null), void 0 === i && (i = null), this.type = e, this.scenePoint = t, this.mapPoint = i;
          }

          return e;
        }();

        e.PickResult = i;
      }(D || (D = {})), D;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/MeasurementData.js":
  /*!***************************************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/MeasurementData.js ***!
    \***************************************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsAreaMeasurement3DMeasurementDataJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../../core/mathUtils */
    "./node_modules/arcgis-js-api/core/mathUtils.js"), __webpack_require__(
    /*! ../../../../../core/Quantity */
    "./node_modules/arcgis-js-api/core/Quantity.js"), __webpack_require__(
    /*! ../../../../../core/libs/earcut/earcut */
    "./node_modules/arcgis-js-api/core/libs/earcut/earcut.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec2 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec2f64 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec2f64.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec3 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec4f64 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec4f64.js"), __webpack_require__(
    /*! ../../../../../geometry/SpatialReference */
    "./node_modules/arcgis-js-api/geometry/SpatialReference.js"), __webpack_require__(
    /*! ../../../../../geometry/support/intersects */
    "./node_modules/arcgis-js-api/geometry/support/intersects.js"), __webpack_require__(
    /*! ../support/measurementUtils */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/measurementUtils.js"), __webpack_require__(
    /*! ../support/viewUtils */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/viewUtils.js"), __webpack_require__(
    /*! ../../../support/earthUtils */
    "./node_modules/arcgis-js-api/views/3d/support/earthUtils.js"), __webpack_require__(
    /*! ../../../support/mathUtils */
    "./node_modules/arcgis-js-api/views/3d/support/mathUtils.js"), __webpack_require__(
    /*! ../../../support/projectionUtils */
    "./node_modules/arcgis-js-api/views/3d/support/projectionUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, i, s, r, o, n, h, a, c, d, p, l, g, m, u, f) {
      function v(e, t) {
        for (var i = new Float64Array(e.length * t), s = 0; s < e.length; ++s) for (var r = e[s], o = 0; o < t; ++o) i[s * t + o] = r[o];

        return i;
      }

      return function () {
        function e() {
          this.positionsWorldCoords = [], this.positionsRenderCoords = [], this.positionsProjectedWorldCoords = [], this.positionsFittedRenderCoords = [], this.positionsGeographic = [], this.positionsSpherical = [], this.positionsStereographic = [], this.pathSegmentLengths = [], this.geodesicPathSegmentLengths = [], this.perimeterSegmentLengths = [], this.intersectingSegments = new Set(), this.geodesicIntersectingSegments = new Set(), this.areaCentroidWorldCoords = a.vec3f64.create(), this.areaCentroidRenderCoords = a.vec3f64.create(), this.geodesicAreaCentroidRenderCoords = a.vec3f64.create(), this._length = 0, this._centroidRenderCoords = a.vec3f64.create(), this._planeWorldCoords = c.vec4f64.create(), this._worldUp = a.vec3f64.create(), this._worldTangent = a.vec3f64.create(), this._frame = [a.vec3f64.create(), a.vec3f64.create(), a.vec3f64.create()], this._tempU = a.vec3f64.create(), this._tempV = a.vec3f64.create(), this._tempVec3 = a.vec3f64.create(), this._tempSphere = {
            center: a.vec3f64.create(),
            radius: 0
          };
        }

        return e.prototype.update = function (e, t, i, r, o, n, a, c) {
          t.clear(), this._resize(e.length);

          for (var d = f.canProject(i.spatialReference, f.SphericalECEFSpatialReference) && f.canProjectToWGS84ComparableLonLat(i.spatialReference), p = this.positionsGeographic, l = this.positionsWorldCoords, g = this.positionsRenderCoords, m = this.positionsSpherical, u = 0; u < e.length; ++u) {
            var v = e.vertex(u);
            f.pointToVector(v, l[u], a), f.pointToVector(v, g[u], n), d && (f.pointToWGS84ComparableLonLat(v, p[u]), f.pointToVector(v, m[u], f.SphericalECEFSpatialReference), h.vec3.normalize(m[u], m[u]));
          }

          var _ = this._updatePathLengths(o);

          if (this.pathLength = this._length > 0 ? new s(r.normalizeDistance(_), "meters") : null, d) {
            var S = this._updateGeodesicPathLengths(o);

            this.geodesicPathLength = this._length > 0 ? new s(S, "meters") : null;
          } else this.geodesicPathLength = null;

          if (!o) return this.area = null, this.geodesicArea = null, this.perimeterLength = null, this.triangleIndices = null, this.geodesicTriangleIndices = null, this.intersectingSegments.clear(), void this.geodesicIntersectingSegments.clear();
          this._updateArea(i, r, n, a, c), d && this._updateGeodesicArea(i);
        }, e.prototype._resize = function (e) {
          for (e < this._length && (this.positionsWorldCoords.length = e, this.positionsRenderCoords.length = e, this.positionsProjectedWorldCoords.length = e, this.positionsFittedRenderCoords.length = e, this.positionsGeographic.length = e, this.positionsSpherical.length = e, this.positionsStereographic.length = e, this.pathSegmentLengths.length = e, this.geodesicPathSegmentLengths.length = e, this.perimeterSegmentLengths.length = e, this._length = e); this._length < e;) this.positionsWorldCoords.push(a.vec3f64.create()), this.positionsRenderCoords.push(a.vec3f64.create()), this.positionsProjectedWorldCoords.push(n.vec2f64.create()), this.positionsFittedRenderCoords.push(a.vec3f64.create()), this.positionsGeographic.push(a.vec3f64.create()), this.positionsSpherical.push(a.vec3f64.create()), this.positionsStereographic.push(n.vec2f64.create()), this.pathSegmentLengths.push(0), this.geodesicPathSegmentLengths.push(0), this.perimeterSegmentLengths.push(0), ++this._length;
        }, e.prototype._updatePathLengths = function (e) {
          for (var t = this.positionsWorldCoords, i = this.pathSegmentLengths, s = 0, r = 0; r < this._length; ++r) {
            var o = i[r] = h.vec3.distance(t[r], t[(r + 1) % this._length]);
            (r < this._length - 1 || e) && (s += o);
          }

          return s;
        }, e.prototype._updateGeodesicPathLengths = function (e) {
          for (var t = this.positionsGeographic, i = this.geodesicPathSegmentLengths, s = 0, r = 0; r < this._length; ++r) {
            var o = i[r] = l.segmentLengthGeodesicVector(t[r], t[(r + 1) % this._length]);
            (r < this._length - 1 || e) && (s += o);
          }

          return s;
        }, e.prototype._updateArea = function (e, t, i, r, n) {
          var a = e.renderCoordsHelper,
              c = this.positionsWorldCoords,
              d = this.positionsRenderCoords,
              p = this.positionsProjectedWorldCoords,
              m = this.positionsFittedRenderCoords,
              v = this._planeWorldCoords,
              _ = this._centroidRenderCoords;
          g.midpoint(d, _), a.worldUpAtPosition(_, this._worldUp), a.worldBasisAtPosition(_, 0, this._worldTangent), f.transformDirection(_, this._worldUp, i, this._worldUp, r), f.transformDirection(_, this._worldTangent, i, this._worldTangent, r), l.bestFitPlane(c, v), this.fittingMode = this._selectFittingMode(v, c, this._worldUp, n);
          var S = 0;

          if ("horizontal" === this.fittingMode) {
            var C = -1 / 0;
            d.forEach(function (e, t) {
              var i = a.getAltitude(d[t]);
              i > C && (C = i, S = t);
            });
          }

          var L = c[S],
              w = v,
              R = this._worldTangent;
          "horizontal" === this.fittingMode ? w = this._worldUp : "vertical" === this.fittingMode && (w = this._tempVec3, R = this._worldUp, u.makeOrthonormal(v, this._worldUp, w)), h.vec3.copy(this._frame[2], w), u.makeOrthonormal(R, w, this._frame[0]), h.vec3.cross(this._frame[1], this._frame[0], this._frame[2]), h.vec3.negate(this._frame[1], this._frame[1]);

          for (var P = this._tempVec3, A = this._tempU, U = this._tempV, W = 0; W < this._length; ++W) {
            var y = p[W],
                G = m[W];
            h.vec3.subtract(P, c[W], L), o.vec2.set(y, h.vec3.dot(this._frame[0], P), h.vec3.dot(this._frame[1], P)), h.vec3.scale(A, this._frame[0], y[0]), h.vec3.scale(U, this._frame[1], y[1]), h.vec3.add(P, A, U), h.vec3.add(P, P, L), f.vectorToVector(P, r, G, i);
          }

          this.perimeterLength = this._length > 0 ? new s(t.normalizeDistance(this._updatePerimeterLengths()), "meters") : null, g.midpoint(m, this.areaCentroidRenderCoords), f.vectorToVector(this.areaCentroidRenderCoords, i, this.areaCentroidWorldCoords, r), this._updateIntersectingSegments(), this.area = 0 === this.intersectingSegments.size ? new s(t.normalizeArea(this._computeArea()), "square-meters") : null;
        }, e.prototype._updateGeodesicArea = function (e) {
          var t = e.renderCoordsHelper,
              i = this.positionsSpherical,
              r = this.positionsStereographic,
              n = this._tempVec3,
              a = l.fitHemisphere(i, n);
          if (!a) return void (this.geodesicArea = null);
          var c = this._tempU,
              d = this._tempV;
          u.tangentFrame(n, c, d);

          for (var p = 0; p < this._length; ++p) {
            var g = h.vec3.dot(i[p], c),
                v = h.vec3.dot(i[p], d),
                _ = h.vec3.dot(i[p], n);

            o.vec2.set(r[p], g / _, v / _);
          }

          h.vec3.scale(n, n, m.earthRadius), t.toRenderCoords(n, f.SphericalECEFSpatialReference, this.geodesicAreaCentroidRenderCoords), this._updateGeodesicIntersectingSegments(), this.geodesicArea = a && 0 === this.geodesicIntersectingSegments.size ? new s(this._computeGeodesicArea(), "square-meters") : null;
        }, e.prototype._updatePerimeterLengths = function () {
          for (var e = this.positionsProjectedWorldCoords, t = this.perimeterSegmentLengths, i = 0, s = 0; s < this._length; ++s) {
            i += t[s] = o.vec2.distance(e[s], e[(s + 1) % this._length]);
          }

          return i;
        }, e.prototype._updateIntersectingSegments = function () {
          var e = this.positionsProjectedWorldCoords,
              t = this.intersectingSegments;
          t.clear();

          for (var i = 0; i < this._length; ++i) for (var s = i + 2; s < this._length; ++s) if ((s + 1) % this._length !== i) {
            var r = e[i],
                o = e[(i + 1) % this._length],
                n = e[s],
                h = e[(s + 1) % this._length];
            p.segmentIntersects(r, o, n, h) && (t.add(i), t.add(s));
          }
        }, e.prototype._computeArea = function () {
          for (var e = this.positionsProjectedWorldCoords, t = v(e, 2), i = this.triangleIndices = new Uint32Array(r(t, [], 2)), s = 0, o = 0; o < i.length; o += 3) s += l.triangleAreaEuclidean(e[i[o]], e[i[o + 1]], e[i[o + 2]]);

          return s;
        }, e.prototype._updateGeodesicIntersectingSegments = function () {
          var e = this.positionsStereographic,
              t = this.geodesicIntersectingSegments;
          t.clear();

          for (var i = 0; i < this._length; ++i) for (var s = i + 2; s < this._length; ++s) if ((s + 1) % this._length !== i) {
            var r = e[i],
                o = e[(i + 1) % this._length],
                n = e[s],
                h = e[(s + 1) % this._length];
            p.segmentIntersects(r, o, n, h) && (t.add(i), t.add(s));
          }
        }, e.prototype._computeGeodesicArea = function () {
          for (var e = this.positionsGeographic, t = this.positionsStereographic, i = v(t, 2), s = this.geodesicTriangleIndices = new Uint32Array(r(i, [], 2)), o = 0, n = 0; n < s.length; n += 3) o += l.triangleAreaGeodesic(e[s[n]], e[s[n + 1]], e[s[n + 2]], d.WGS84);

          return o;
        }, e.prototype._selectFittingMode = function (e, t, s, r) {
          var o = t.map(function (t) {
            return Math.abs(l.planePointDistance(e, t));
          }).reduce(function (e, t) {
            return Math.max(e, t);
          }, 0);
          l.boundingSphere(t, this._tempSphere);
          var n = 2 * this._tempSphere.radius,
              a = o / n,
              c = a < r.maxRelativeErrorCoplanar,
              d = a < r.maxRelativeErrorAlmostCoplanar,
              p = "horizontal";
          if (c) p = "oblique";else if (d) {
            var g = Math.abs(h.vec3.dot(s, e)) > Math.cos(i.deg2rad(r.verticalAngleThreshold));
            p = g ? "horizontal" : "vertical";
          }
          return p;
        }, e;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/PathChanges.js":
  /*!***********************************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/PathChanges.js ***!
    \***********************************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsAreaMeasurement3DPathChangesJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../support/setUtils */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/setUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, n) {
      return function () {
        function e() {
          this.change = "none", this.updatedVertices = new Set();
        }

        return e.prototype.fullChange = function () {
          this.change = "full";
        }, e.prototype.incrementalChange = function (e) {
          "none" === this.change && (this.change = "incremental"), this.updatedVertices.add(e);
        }, e.prototype.clear = function () {
          this.change = "none", this.updatedVertices.clear();
        }, e.prototype.assign = function (e) {
          this.change = e.change, this.updatedVertices = n.clone(e.updatedVertices);
        }, e.prototype.merge = function (e) {
          var t = this;

          switch (this.change) {
            case "none":
              this.assign(e);
              break;

            case "full":
              break;

            case "incremental":
              "incremental" === e.change ? e.updatedVertices.forEach(function (e) {
                t.updatedVertices.add(e);
              }) : "full" === e.change && (this.change = "full");
          }
        }, e;
      }();
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Path.js":
  /*!******************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/Path.js ***!
    \******************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportPathJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../../../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../../../../core/Accessor */
    "./node_modules/arcgis-js-api/core/Accessor.js"), __webpack_require__(
    /*! ../../../../../core/Collection */
    "./node_modules/arcgis-js-api/core/Collection.js"), __webpack_require__(
    /*! ../../../../../core/Evented */
    "./node_modules/arcgis-js-api/core/Evented.js"), __webpack_require__(
    /*! ../../../../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, i, o, n, s, c) {
      return function (e) {
        function t() {
          var t = null !== e && e.apply(this, arguments) || this;
          return t.vertices = new n(), t;
        }

        return r(t, e), Object.defineProperty(t.prototype, "front", {
          get: function get() {
            return this.vertices.items[0] || null;
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "back", {
          get: function get() {
            return this.vertices.items[this.vertices.length - 1] || null;
          },
          enumerable: !0,
          configurable: !0
        }), t.prototype.clear = function () {
          this.vertices.removeAll(), this.emit("cleared", {}), this._notifyFrontBack();
        }, t.prototype.vertex = function (e) {
          return this.vertices.items[e];
        }, t.prototype.add = function (e) {
          this.vertices.add(e);
          var t = this.vertices.length - 1;
          return this._notifyFrontBack(), this.emit("vertex-added", {
            index: t
          }), t;
        }, t.prototype.insert = function (e, t) {
          return this.vertices.splice(e, 0, t), this._notifyFrontBack(), this.emit("vertex-inserted", {
            index: e
          }), e;
        }, t.prototype.remove = function (e) {
          this.vertices.removeAt(e), this._notifyFrontBack(), this.emit("vertex-removed", {
            index: e
          });
        }, t.prototype.update = function (e, t) {
          null != t && (this.vertices.splice(e, 1, t), this._notifyFrontBack()), this.emit("vertex-updated", {
            index: e
          });
        }, t.prototype._notifyFrontBack = function () {
          this.notifyChange("front"), this.notifyChange("back");
        }, i([c.property({
          readOnly: !0
        })], t.prototype, "vertices", void 0), i([c.property({
          aliasOf: "vertices.length"
        })], t.prototype, "length", void 0), i([c.property({
          readOnly: !0
        })], t.prototype, "front", null), i([c.property({
          readOnly: !0
        })], t.prototype, "back", null), t = i([c.subclass("esri.views.3d.interactive.measurementTools.support.Path")], t);
      }(c.declared(s.EventedMixin(o)));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/measurementUtils.js":
  /*!******************************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/measurementUtils.js ***!
    \******************************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportMeasurementUtilsJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec3 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3.js"), __webpack_require__(
    /*! ../../../../../core/libs/gl-matrix-2/vec3f64 */
    "./node_modules/arcgis-js-api/core/libs/gl-matrix-2/vec3f64.js"), __webpack_require__(
    /*! ../../../../../geometry/geometryEngine */
    "./node_modules/arcgis-js-api/geometry/geometryEngine.js"), __webpack_require__(
    /*! ../../../../../geometry/Polygon */
    "./node_modules/arcgis-js-api/geometry/Polygon.js"), __webpack_require__(
    /*! ../../../../../geometry/SpatialReference */
    "./node_modules/arcgis-js-api/geometry/SpatialReference.js"), __webpack_require__(
    /*! ../../../../../geometry/support/geodesicUtils */
    "./node_modules/arcgis-js-api/geometry/support/geodesicUtils.js"), __webpack_require__(
    /*! ../../../support/mathUtils */
    "./node_modules/arcgis-js-api/views/3d/support/mathUtils.js"), __webpack_require__(
    /*! ../../../support/projectionUtils */
    "./node_modules/arcgis-js-api/views/3d/support/projectionUtils.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n, o, a, i, c, s, v) {
      var u;
      !function (e) {
        function t(e, t) {
          var n = t.center;
          r.vec3.set(n, 0, 0, 0);

          for (var o = 0; o < e.length; ++o) r.vec3.add(n, n, e[o]);

          r.vec3.scale(n, n, 1 / e.length);

          for (var a = 0, o = 0; o < e.length; ++o) a = Math.max(a, r.vec3.squaredDistance(n, e[o]));

          t.radius = Math.sqrt(a);
        }

        function n(e, t) {
          if (e.length < 3) throw new Error("need at least 3 points to fit a plane");
          s.planeFromPoints(e[0], e[1], e[2], t);
        }

        function a(e, t) {
          return r.vec3.dot(e, t) + e[3];
        }

        function i(e, t, n) {
          return v.pointToVector(e, l, n) && v.pointToVector(t, f, n) ? r.vec3.distance(l, f) : 0;
        }

        function u(e, t) {
          if (!v.pointToWGS84ComparableLonLat(e, l)) return 0;
          if (!v.pointToWGS84ComparableLonLat(t, f)) return 0;
          var r = {
            distance: null
          };
          return c.inverseGeodeticSolver(r, [l[0], l[1]], [f[0], f[1]]), r.distance;
        }

        function m(e, t) {
          var r = {
            distance: null
          };
          return c.inverseGeodeticSolver(r, [e[0], e[1]], [t[0], t[1]]), r.distance;
        }

        function h(e, t, r) {
          var n = t[0] - e[0],
              o = t[1] - e[1],
              a = r[0] - e[0],
              i = r[1] - e[1];
          return .5 * Math.abs(n * i - o * a);
        }

        function b(e, t, r, n) {
          var a = p;
          return v.vectorToWGS84ComparableLonLat(e, n, l) && v.vectorToWGS84ComparableLonLat(t, n, f) && v.vectorToWGS84ComparableLonLat(r, n, g) ? (a.setPoint(0, 0, l), a.setPoint(0, 1, f), a.setPoint(0, 2, g), Math.abs(o.geodesicArea(a, "square-meters"))) : 0;
        }

        function L(e, t, n) {
          Math.abs(e[0]) > Math.abs(e[1]) ? r.vec3.set(t, 0, 1, 0) : r.vec3.set(t, 1, 0, 0), r.vec3.cross(n, e, t), r.vec3.normalize(t, t), r.vec3.cross(t, n, e), r.vec3.normalize(n, n);
        }

        function G(e, t, n) {
          void 0 === t && (t = null), void 0 === n && (n = !0);

          var o = function o(e, t) {
            if (0 === t[0] && 0 === t[1] && 0 === t[2]) return !1;

            for (var n = 0; n < e.length; ++n) if (r.vec3.dot(t, e[n]) < -1e-6) return !1;

            return !0;
          };

          if (0 === e.length) return !1;
          if (1 === e.length) return t && r.vec3.copy(t, e[0]), !0;
          r.vec3.set(d, 0, 0, 0);

          for (var a = 0; a < e.length; ++a) r.vec3.add(d, d, e[a]);

          if (r.vec3.normalize(d, d), o(e, d)) return t && r.vec3.copy(t, d), !0;
          if (!n) return !1;

          for (var a = 0; a < e.length; ++a) for (var i = 0; i < e.length; ++i) if (a !== i && (r.vec3.cross(d, e[a], e[i]), r.vec3.normalize(d, d), o(e, d))) return t && r.vec3.copy(t, d), !0;

          return !1;
        }

        function S(e, t) {
          if (e === t) return !0;
          if (e.size !== t.size) return !1;

          for (var r = 0; r < e.size; ++r) if (!t.has(e[r])) return !1;

          return !0;
        }

        e.boundingSphere = t, e.bestFitPlane = n, e.planePointDistance = a, e.segmentLengthEuclidean = i, e.segmentLengthGeodesic = u, e.segmentLengthGeodesicVector = m, e.triangleAreaEuclidean = h, e.triangleAreaGeodesic = b, e.tangentFrame = L, e.fitHemisphere = G, e.compareSets = S;
      }(u || (u = {}));
      var l = n.vec3f64.create(),
          f = n.vec3f64.create(),
          g = n.vec3f64.create(),
          p = new a({
        rings: [[l, f, g]],
        spatialReference: i.WGS84
      }),
          d = n.vec3f64.create();
      return u;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/setUtils.js":
  /*!**********************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/support/setUtils.js ***!
    \**********************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dInteractiveMeasurementToolsSupportSetUtilsJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, n) {
      function r(e) {
        var n = new Set();
        return e.forEach(function (e) {
          n.add(e);
        }), n;
      }

      Object.defineProperty(n, "__esModule", {
        value: !0
      }), n.clone = r;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/CheckerBoardMaterial.js":
  /*!********************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/CheckerBoardMaterial.js ***!
    \********************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dWebglEngineMaterialsCheckerBoardMaterialJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../core/tsSupport/extendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__(
    /*! ../lib/GLMaterial */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/GLMaterial.js"), __webpack_require__(
    /*! ../lib/Material */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/Material.js"), __webpack_require__(
    /*! ./internal/DefaultBufferWriter */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/DefaultBufferWriter.js"), __webpack_require__(
    /*! ./internal/MaterialUtil */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js"), __webpack_require__(
    /*! ./internal/MaterialUtil */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/internal/MaterialUtil.js"), __webpack_require__(
    /*! ./renderers/InstancedRenderer */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/materials/renderers/InstancedRenderer.js"), __webpack_require__(
    /*! ../shaders/CheckerBoardTechnique */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (t, e, r, i, n, o, a, s, u, p) {
      var h = function (t) {
        function e(e, r) {
          var i = t.call(this, r) || this;
          return i.techniqueConfig = new p.CheckerBoardTechniqueConfiguration(), i.params = a.copyParameters(e, f), i;
        }

        return r(e, t), e.prototype.dispose = function () {}, e.prototype.getPassParameters = function () {
          return this.params;
        }, e.prototype.getTechniqueConfig = function () {
          return this.techniqueConfig.transparent = this.params.transparent, this.techniqueConfig.writeDepth = this.params.writeDepth, this.techniqueConfig.polygonOffset = this.params.polygonOffset, this.techniqueConfig;
        }, e.prototype.setParameterValues = function (t) {
          a.updateParameters(this.params, t) && this.notifyDirty("matChanged");
        }, e.prototype.intersect = function (t, e, r, i, n, o, a) {
          return s.intersectTriangleGeometry(t, e, i, n, o, void 0, a);
        }, e.prototype.getGLMaterials = function () {
          return {
            color: c,
            depthShadowMap: void 0,
            normal: void 0,
            depth: void 0,
            highlight: void 0
          };
        }, e.prototype.createBufferWriter = function () {
          return new o.DefaultBufferWriter(o.PositionUVLayout);
        }, e.prototype.createRenderer = function (t, e) {
          return new u(t, e, this);
        }, e;
      }(n.Material),
          c = function (t) {
        function e(e) {
          var r = t.call(this, e) || this;
          return r.updateParameters(), r;
        }

        return r(e, t), e.prototype.updateParameters = function () {
          this.technique = this.techniqueRep.acquireAndReleaseExisting(p.CheckerBoardTechnique, this.material.getTechniqueConfig(), this.technique);
        }, e.prototype.beginSlot = function (t) {
          var e = 4;
          return this.technique.configuration.transparent && (e = this.technique.configuration.writeDepth ? 6 : 9), t === e;
        }, e.prototype.getProgram = function () {
          return this.technique.program;
        }, e.prototype.getPrograms = function () {
          return null;
        }, e.prototype.getDrawMode = function () {
          return 4;
        }, e.prototype.bind = function (t) {
          t.bindProgram(this.technique.program), this.technique.bindPipelineState(t), this.technique.bindPass(t, this.material.getPassParameters());
        }, e.prototype.bindView = function (t) {
          a.bindView(t.origin, t.view, this.technique.program);
        }, e.prototype.bindInstance = function (t) {
          this.technique.program.setUniformMatrix4fv("model", t.transformation);
        }, e.prototype.release = function () {}, e;
      }(i.GLMaterial),
          f = {
        size: [1, 1],
        color1: [.75, .75, .75, 1],
        color2: [.5, .5, .5, 1],
        transparent: !1,
        writeDepth: !0,
        polygonOffset: !1
      };

      return h;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js":
  /*!***************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js ***!
    \***************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dWebglEngineShadersCheckerBoardGlslJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../core/tsSupport/makeTemplateObjectHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/makeTemplateObjectHelper.js"), __webpack_require__(
    /*! ../core/shaderModules/interfaces */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/interfaces.js"), __webpack_require__(
    /*! ../core/shaderModules/ShaderBuilder */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, a, d, o, n) {
      function v() {
        var e = new n.ShaderBuilder();
        return e.extensions.add("GL_OES_standard_derivatives"), e.attributes.add("position", "vec3"), e.attributes.add("uv0", "vec2"), e.vertex.uniforms.add("proj", "mat4").add("view", "mat4").add("model", "mat4"), e.varyings.add("vUV", "vec2"), e.vertex.code.add(o.glsl(i || (i = d(["\n    void main(void) {\n      vUV = uv0;\n      gl_Position = proj * view * vec4((model * vec4(position, 1.0)).xyz, 1.0);\n    }\n  "], ["\n    void main(void) {\n      vUV = uv0;\n      gl_Position = proj * view * vec4((model * vec4(position, 1.0)).xyz, 1.0);\n    }\n  "])))), e.fragment.uniforms.add("size", "vec2").add("color1", "vec4").add("color2", "vec4"), e.fragment.code.add(o.glsl(t || (t = d(["\n    void main() {\n      vec2 uvScaled = vUV / (2.0 * size);\n\n      vec2 uv = fract(uvScaled - 0.25);\n      vec2 ab = clamp((abs(uv - 0.5) - 0.25) / fwidth(uvScaled), -0.5, 0.5);\n      float fade = smoothstep(0.25, 0.5, max(fwidth(uvScaled.x), fwidth(uvScaled.y)));\n      float t = mix(abs(ab.x + ab.y), 0.5, fade);\n\n      gl_FragColor = mix(color2, color1, t);\n    }\n  "], ["\n    void main() {\n      vec2 uvScaled = vUV / (2.0 * size);\n\n      vec2 uv = fract(uvScaled - 0.25);\n      vec2 ab = clamp((abs(uv - 0.5) - 0.25) / fwidth(uvScaled), -0.5, 0.5);\n      float fade = smoothstep(0.25, 0.5, max(fwidth(uvScaled.x), fwidth(uvScaled.y)));\n      float t = mix(abs(ab.x + ab.y), 0.5, fade);\n\n      gl_FragColor = mix(color2, color1, t);\n    }\n  "])))), e;
      }

      Object.defineProperty(a, "__esModule", {
        value: !0
      }), a.build = v;
      var i, t;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js":
  /*!*******************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js ***!
    \*******************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiViews3dWebglEngineShadersCheckerBoardTechniqueJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../../../core/tsSupport/extendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/extendsHelper.js"), __webpack_require__(
    /*! ../../../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../../../core/tsSupport/assignHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/assignHelper.js"), __webpack_require__(
    /*! ../core/shaderTechnique/ReloadableShaderModule */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ReloadableShaderModule.js"), __webpack_require__(
    /*! ../core/shaderTechnique/ShaderTechnique */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js"), __webpack_require__(
    /*! ../core/shaderTechnique/ShaderTechniqueConfiguration */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConfiguration.js"), __webpack_require__(
    /*! ../lib/DefaultVertexAttributeLocations */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js"), __webpack_require__(
    /*! ./CheckerBoard.glsl */
    "./node_modules/arcgis-js-api/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js"), __webpack_require__(
    /*! ../../../webgl/Program */
    "./node_modules/arcgis-js-api/views/webgl/Program.js"), __webpack_require__(
    /*! ../../../webgl/renderState */
    "./node_modules/arcgis-js-api/views/webgl/renderState.js"), __webpack_require__(
    /*! ../../../webgl/renderState */
    "./node_modules/arcgis-js-api/views/webgl/renderState.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, r, t, o, n, i, a, p, l, u, s, c, h) {
      Object.defineProperty(r, "__esModule", {
        value: !0
      });

      var d = function (r) {
        function o() {
          return null !== r && r.apply(this, arguments) || this;
        }

        return t(o, r), o.prototype.initializeProgram = function (e) {
          var r = o.shader.get(),
              t = r.build();
          return new s(e.rctx, t.generateSource("vertex"), t.generateSource("fragment"), l.Default3D);
        }, o.prototype.bindPass = function (e, r) {
          this.program.setUniform2fv("size", r.size), this.program.setUniform4fv("color1", r.color1), this.program.setUniform4fv("color2", r.color2);
        }, o.prototype.initializePipeline = function () {
          var e = this.configuration;
          return h.makePipelineState({
            blending: e.transparent && c.separateBlendingParams(770, 1, 771, 771),
            polygonOffset: e.polygonOffset && {
              factor: 0,
              units: -25
            },
            depthTest: {
              func: 513
            },
            depthWrite: e.writeDepth && h.defaultDepthWriteParams,
            colorWrite: h.defaultColorWriteParams
          });
        }, o.prototype.bindPipelineState = function (e) {
          e.setPipelineState(this.pipeline);
        }, o.shader = new i.ReloadableShaderModule(u, "./CheckerBoard.glsl", e), o;
      }(a.ShaderTechnique);

      r.CheckerBoardTechnique = d;

      var f = function (e) {
        function r() {
          var r = null !== e && e.apply(this, arguments) || this;
          return r.transparent = !1, r.writeDepth = !0, r.polygonOffset = !1, r;
        }

        return t(r, e), o([p.parameter()], r.prototype, "transparent", void 0), o([p.parameter()], r.prototype, "writeDepth", void 0), o([p.parameter()], r.prototype, "polygonOffset", void 0), r;
      }(p.ShaderTechniqueConfiguration);

      r.CheckerBoardTechniqueConfiguration = f;
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D.js":
  /*!*****************************************************************!*\
    !*** ./node_modules/arcgis-js-api/widgets/AreaMeasurement3D.js ***!
    \*****************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiWidgetsAreaMeasurement3DJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! dojo/i18n!./AreaMeasurement3D/nls/AreaMeasurement3D */
    "./node_modules/dojo-webpack-plugin/loaders/dojo/i18n/index.js!./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js"), __webpack_require__(
    /*! ../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ./Widget */
    "./node_modules/arcgis-js-api/widgets/Widget.js"), __webpack_require__(
    /*! ./AreaMeasurement3D/AreaMeasurement3DViewModel */
    "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js"), __webpack_require__(
    /*! ./support/widget */
    "./node_modules/arcgis-js-api/widgets/support/widget.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, s, a, i, n, r, l, u) {
      var o = {
        button: "esri-button esri-button--secondary",
        buttonDisabled: "esri-button--disabled",
        base: "esri-area-measurement-3d",
        widget: "esri-widget",
        panel: "esri-widget--panel",
        container: "esri-area-measurement-3d__container",
        hint: "esri-area-measurement-3d__hint",
        hintText: "esri-area-measurement-3d__hint-text",
        panelError: "esri-area-measurement-3d__panel--error",
        measurement: "esri-area-measurement-3d__measurement",
        measurementItem: "esri-area-measurement-3d__measurement-item",
        measurementItemDisabled: "esri-area-measurement-3d__measurement-item--disabled",
        measurementItemTitle: "esri-area-measurement-3d__measurement-item-title",
        measurementItemValue: "esri-area-measurement-3d__measurement-item-value",
        settings: "esri-area-measurement-3d__settings",
        units: "esri-area-measurement-3d__units",
        unitsLabel: "esri-area-measurement-3d__units-label",
        unitsSelect: "esri-area-measurement-3d__units-select esri-select",
        unitsSelectWrapper: "esri-area-measurement-3d__units-select-wrapper",
        actionSection: "esri-area-measurement-3d__actions",
        clearButton: "esri-area-measurement-3d__clear-button",
        widgetIcon: "esri-icon-measure-area"
      };
      return function (e) {
        function t(t) {
          var s = e.call(this, t) || this;
          return s.view = null, s.visible = null, s.iconClass = o.widgetIcon, s.label = i.widgetLabel, s.viewModel = new l(), s.unitOptions = null, s.unit = null, s;
        }

        return s(t, e), t.prototype.render = function () {
          var e = this,
              t = this.viewModel.isSupported,
              s = this.viewModel.active,
              a = "disabled" === this.viewModel.state,
              n = "ready" === this.viewModel.state,
              r = "measuring" === this.viewModel.state || "measured" === this.viewModel.state,
              l = this.viewModel.measurement,
              m = s && n ? u.tsx("section", {
            key: "esri-area-measurement-3d__hint",
            "class": o.hint
          }, u.tsx("p", {
            "class": o.hintText
          }, i.hint)) : null,
              d = t ? null : u.tsx("section", {
            key: "esri-area-measurement-3d__unsupported",
            "class": o.panelError
          }, u.tsx("p", null, i.unsupported)),
              c = function c(t, s, a) {
            switch (s.state) {
              case "available":
                return u.tsx("div", {
                  key: a + "-enabled",
                  "class": o.measurementItem
                }, u.tsx("span", {
                  "class": o.measurementItemTitle
                }, t), u.tsx("span", {
                  "class": o.measurementItemValue
                }, s.text));

              case "unavailable":
                return u.tsx("div", {
                  key: a + "-disabled",
                  "class": e.classes(o.measurementItem, o.measurementItemDisabled)
                }, u.tsx("span", {
                  "class": o.measurementItemTitle
                }, t));

              case "invalid":
                return u.tsx("div", {
                  key: a + "-enabled",
                  "class": o.measurementItem
                }, u.tsx("span", {
                  "class": o.measurementItemTitle
                }, t), u.tsx("span", {
                  "class": o.measurementItemValue
                }, i.notApplicable));
            }
          },
              p = r ? u.tsx("section", {
            key: "esri-area-measurement-3d__measurement",
            "class": o.measurement
          }, c(i.area, l.area, "area"), c(i.perimeterLength, l.perimeterLength, "perimeter-length")) : null,
              v = this.id + "__units",
              _ = u.tsx("label", {
            "class": o.unitsLabel,
            "for": v
          }, i.unit),
              b = u.tsx("div", {
            "class": o.unitsSelectWrapper
          }, u.tsx("select", {
            "class": o.unitsSelect,
            id: v,
            onchange: this._changeUnit,
            bind: this
          }, this.viewModel.unitOptions.map(function (t) {
            return t === e.viewModel.unit ? u.tsx("option", {
              key: t,
              value: t,
              selected: !0
            }, i.units[t]) : u.tsx("option", {
              key: t,
              value: t
            }, i.units[t]);
          }))),
              w = r ? u.tsx("section", {
            key: "esri-area-measurement-3d__units",
            "class": o.units
          }, _, b) : null,
              h = r ? u.tsx("div", {
            key: "settings",
            "class": o.settings
          }, w) : null,
              M = !t || s && !r ? null : u.tsx("div", {
            "class": o.actionSection
          }, u.tsx("button", {
            disabled: a,
            "class": this.classes(o.button, o.clearButton, a && o.buttonDisabled),
            bind: this,
            onclick: this._newMeasurement
          }, i.newMeasurement)),
              x = this.visible ? u.tsx("div", {
            "class": o.container
          }, d, m, h, p, M) : null;

          return u.tsx("div", {
            key: "",
            "class": this.classes(o.base, o.widget, o.panel),
            role: "presentation"
          }, x);
        }, t.prototype._newMeasurement = function () {
          this.viewModel.newMeasurement();
        }, t.prototype._changeUnit = function (e) {
          var t = e.target,
              s = t.options[t.selectedIndex];
          s && (this.unit = s.value);
        }, a([n.aliasOf("viewModel.view")], t.prototype, "view", void 0), a([n.aliasOf("viewModel.visible"), u.renderable()], t.prototype, "visible", void 0), a([n.aliasOf("viewModel.active"), u.renderable()], t.prototype, "active", void 0), a([n.property()], t.prototype, "iconClass", void 0), a([n.property()], t.prototype, "label", void 0), a([n.property({
          type: l
        }), u.renderable(["viewModel.state", "viewModel.unitOptions", "viewModel.unit", "viewModel.measurement"])], t.prototype, "viewModel", void 0), a([n.aliasOf("viewModel.unitOptions")], t.prototype, "unitOptions", void 0), a([n.aliasOf("viewModel.unit")], t.prototype, "unit", void 0), a([u.accessibleHandler()], t.prototype, "_newMeasurement", null), a([u.accessibleHandler()], t.prototype, "_changeUnit", null), t = a([n.subclass("esri.widgets.AreaMeasurement3D")], t);
      }(n.declared(r));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js":
  /*!********************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js ***!
    \********************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiWidgetsAreaMeasurement3DAreaMeasurement3DViewModelJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.


    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__.dj.c(module.i), exports, __webpack_require__(
    /*! ../../core/tsSupport/declareExtendsHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/declareExtendsHelper.js"), __webpack_require__(
    /*! ../../core/tsSupport/decorateHelper */
    "./node_modules/arcgis-js-api/core/tsSupport/decorateHelper.js"), __webpack_require__(
    /*! ../../core/Handles */
    "./node_modules/arcgis-js-api/core/Handles.js"), __webpack_require__(
    /*! ../../core/Logger */
    "./node_modules/arcgis-js-api/core/Logger.js"), __webpack_require__(
    /*! ../../core/unitUtils */
    "./node_modules/arcgis-js-api/core/unitUtils.js"), __webpack_require__(
    /*! ../../core/watchUtils */
    "./node_modules/arcgis-js-api/core/watchUtils.js"), __webpack_require__(
    /*! ../../core/accessorSupport/decorators */
    "./node_modules/arcgis-js-api/core/accessorSupport/decorators.js"), __webpack_require__(
    /*! ../../views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool */
    "./node_modules/arcgis-js-api/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js"), __webpack_require__(
    /*! ../support/commonProperties */
    "./node_modules/arcgis-js-api/widgets/support/commonProperties.js"), __webpack_require__(
    /*! ../support/InteractiveToolViewModel */
    "./node_modules/arcgis-js-api/widgets/support/InteractiveToolViewModel.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (e, t, r, n, o, i, s, l, a, u, p, d) {
      var c = i.getLogger("esri.widgets.AreaMeasurement3D.AreaMeasurement3DViewModel");
      return function (e) {
        function t(t) {
          var r = e.call(this, t) || this;
          return r.supportedViewType = "3d", r._handles = new o(), r._userUnitOptions = null, r._userUnit = null, r.tool = null, r;
        }

        return r(t, e), t.prototype.initialize = function () {
          var e = this;

          this._handles.add([l.init(this, "unit", function (t) {
            e.tool && (e.tool.unit = t);
          })]);
        }, Object.defineProperty(t.prototype, "state", {
          get: function get() {
            return this.isDisabled ? "disabled" : this.tool ? this.tool.state : "ready";
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "measurement", {
          get: function get() {
            if (!this.tool || this.isDisabled) return null;
            var e = this.tool.model,
                t = e.measurementMode,
                r = e.measurementData,
                n = e.validMeasurement,
                o = "euclidean" === t ? r.intersectingSegments : r.geodesicIntersectingSegments,
                i = 0 === o.size,
                s = i ? n ? "available" : "unavailable" : "invalid";
            return {
              mode: t,
              area: {
                text: i && n ? e.areaLabel : null,
                state: s
              },
              perimeterLength: {
                text: i && n ? e.perimeterLengthLabel : null,
                state: s
              }
            };
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "unitOptions", {
          get: function get() {
            return this._filteredOrAllUnits(this._userUnitOptions);
          },
          set: function set(e) {
            this._userUnitOptions = e, this._set("unitOptions", this._filteredOrAllUnits(this._userUnitOptions));
          },
          enumerable: !0,
          configurable: !0
        }), Object.defineProperty(t.prototype, "unit", {
          get: function get() {
            return this._userUnit ? (this._userUnit = this._findSelectableUnit(this._userUnit, this.defaultUnit), this._userUnit) : this._findSelectableUnit(this.defaultUnit);
          },
          set: function set(e) {
            this._userUnit = e ? this._findSelectableUnit(e, this._userUnit) : null, this.notifyChange("unit");
          },
          enumerable: !0,
          configurable: !0
        }), t.prototype.newMeasurement = function () {
          this.createTool();
        }, t.prototype.clearMeasurement = function () {
          this.removeTool();
        }, t.prototype.createToolParams = function () {
          return {
            toolConstructor: u,
            constructorArguments: {
              unit: this.unit
            }
          };
        }, t.prototype.logUnsupportedError = function () {
          c.error("AreaMeasurement3D widget is not implemented for MapView");
        }, t.prototype.logError = function () {
          for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];

          c.error.apply(c, e);
        }, t.prototype._findSelectableUnit = function (e, t) {
          var r = this.unitOptions;
          return -1 !== r.indexOf(e) ? e : t ? this._findSelectableUnit(t) : r[0];
        }, t.prototype._filteredOrAllUnits = function (e) {
          if (!e) return s.measurementAreaUnits.slice();
          var t = e.filter(function (e) {
            return -1 !== s.measurementAreaUnits.indexOf(e);
          });
          return 0 === t.length ? s.measurementAreaUnits.slice() : t;
        }, n([a.property({
          dependsOn: ["isDisabled", "tool.state"],
          readOnly: !0
        })], t.prototype, "state", null), n([a.property({
          dependsOn: ["view.ready", "tool.area", "tool.geodesicArea", "tool.areaLabel", "tool.perimeterLength", "tool.geodesicPerimeterLength", "tool.model.perimeterLengthLabel", "tool.model.measurementMode", "tool.model.measurementData"],
          readOnly: !0
        })], t.prototype, "measurement", null), n([a.property({
          constructOnly: !0
        })], t.prototype, "tool", void 0), n([a.property(p.defaultUnitPropertyMetadata)], t.prototype, "defaultUnit", void 0), n([a.property({
          dependsOn: ["view.spatialReference"]
        })], t.prototype, "unitOptions", null), n([a.property({
          dependsOn: ["unitOptions", "defaultUnit"]
        })], t.prototype, "unit", null), n([a.property()], t.prototype, "clearMeasurement", null), t = n([a.subclass("esri.widgets.AreaMeasurement3D.AreaMeasurement3DViewModel")], t);
      }(a.declared(d.InteractiveToolViewModel));
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js":
  /*!***************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js ***!
    \***************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiWidgetsAreaMeasurement3DNlsAreaMeasurement3DJs(module, exports, __webpack_require__) {
    /*
     * This module was modified by dojo-webpack-plugin to disable some locales
     * that were excluded by the plugin's 'locales' option
     */
    !(module.exports = {
      'root': {
        'widgetLabel': 'Area Measurement',
        'hint': 'Start to measure by clicking in the scene to place your first point',
        'unsupported': '3D area measurement is only supported in SceneView.',
        'perimeterLength': 'Perimeter',
        'area': 'Area',
        'unit': 'Unit',
        'notApplicable': 'n/a',
        'newMeasurement': 'New measurement',
        'units': {
          'metric': 'Metric',
          'imperial': 'Imperial',
          'square-kilometers': 'Square kilometers',
          'square-meters': 'Square meters',
          'square-miles': 'Square miles',
          'square-inches': 'Square inches',
          'square-feet': 'Square feet',
          'square-yards': 'Square yards',
          'square-us-feet': 'Square feet (US)',
          'acres': 'Acres',
          'ares': 'Ares',
          'hectares': 'Hectares'
        }
      },
      'ar': false,
      'bs': false,
      'ca': false,
      'cs': false,
      'da': false,
      'de': false,
      'el': false,
      'es': false,
      'et': false,
      'fi': false,
      'fr': false,
      'he': false,
      'hr': false,
      'hu': false,
      'id': false,
      'it': false,
      'ja': false,
      'ko': false,
      'lv': false,
      'lt': false,
      'nl': false,
      'nb': false,
      'pl': false,
      'pt-br': false,
      'pt-pt': false,
      'ro': false,
      'ru': false,
      'sr': false,
      'sv': false,
      'th': false,
      'tr': false,
      'uk': false,
      'vi': 1,
      'zh-cn': false,
      'zh-hk': false,
      'zh-tw': false
    });
    /***/
  },

  /***/
  "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/vi/AreaMeasurement3D.js":
  /*!******************************************************************************************!*\
    !*** ./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/vi/AreaMeasurement3D.js ***!
    \******************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesArcgisJsApiWidgetsAreaMeasurement3DNlsViAreaMeasurement3DJs(module, exports, __webpack_require__) {
    // COPYRIGHT © 2019 Esri
    //
    // All rights reserved under the copyright laws of the United States
    // and applicable international laws, treaties, and conventions.
    //
    // This material is licensed for use under the Esri Master License
    // Agreement (MLA), and is bound by the terms of that agreement.
    // You may redistribute and use this code without modification,
    // provided you adhere to the terms of the MLA and include this
    // copyright notice.
    //
    // See use restrictions at http://www.esri.com/legal/pdfs/mla_e204_e300/english
    //
    // For additional information, contact:
    // Environmental Systems Research Institute, Inc.
    // Attn: Contracts and Legal Services Department
    // 380 New York Street
    // Redlands, California, USA 92373
    // USA
    //
    // email: contracts@esri.com
    //
    // See http://js.arcgis.com/4.14/esri/copyright.txt for details.
    !(module.exports = {
      widgetLabel: "Đo Diện tích",
      hint: "Bắt đầu đo bằng cách bấm vào scene để đặt điểm đầu tiên của bạn",
      unsupported: "Tính toán diện tích 3D chỉ được hỗ trợ trong SceneView.",
      perimeterLength: "Chu vi",
      area: "Khu vực",
      unit: "Đơn vị",
      notApplicable: "Không áp dụng",
      newMeasurement: "Phép đo mới",
      units: {
        metric: "Hệ mét",
        imperial: "Hệ đo lường Anh",
        "square-kilometers": "Kilômét vuông",
        "square-meters": "Mét vuông",
        "square-miles": "Dặm vuông",
        "square-inches": "Inch vuông",
        "square-feet": "Feet vuông",
        "square-yards": "Thước vuông",
        "square-us-feet": "Feet vuông (Mỹ)",
        acres: "Acre",
        ares: "Are",
        hectares: "Hecta"
      }
    });
    /***/
  },

  /***/
  "./node_modules/dojo-webpack-plugin/loaders/dojo/i18n/index.js!./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js":
  /*!********************************************************************************************************************************************!*\
    !*** ./node_modules/dojo-webpack-plugin/loaders/dojo/i18n!./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js ***!
    \********************************************************************************************************************************************/

  /*! no static exports found */

  /***/
  function node_modulesDojoWebpackPluginLoadersDojoI18nIndexJsNode_modulesArcgisJsApiWidgetsAreaMeasurement3DNlsAreaMeasurement3DJs(module, exports, __webpack_require__) {
    var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;

    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(
    /*! dojo/i18n */
    "./node_modules/dojo/i18n.js"), __webpack_require__(
    /*! ./node_modules/dojo-webpack-plugin/loaders/dojo/runner.js */
    "./node_modules/dojo-webpack-plugin/loaders/dojo/runner.js"), __webpack_require__(
    /*! esri/widgets/AreaMeasurement3D/nls/vi/AreaMeasurement3D */
    "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/vi/AreaMeasurement3D.js"), __webpack_require__(
    /*! ./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js?absMid=esri/widgets/AreaMeasurement3D/nls/AreaMeasurement3D */
    "./node_modules/arcgis-js-api/widgets/AreaMeasurement3D/nls/AreaMeasurement3D.js")], __WEBPACK_AMD_DEFINE_RESULT__ = function (loader, runner) {
      return runner(loader, "esri/widgets/AreaMeasurement3D/nls/AreaMeasurement3D", __webpack_require__.dj.c(), false);
    }.apply(null, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    /***/
  }
}]);
//# sourceMappingURL=57-es5.js.map