@plattar/plattar-ar-adapter 2.5.1 → 2.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,10 +16,14 @@ const version_1 = __importDefault(require("../version"));
16
16
  * Performs AR functionality related to Plattar Scenes
17
17
  */
18
18
  class ConfiguratorAR extends launcher_ar_1.LauncherAR {
19
+ // analytics instance
20
+ _analytics = null;
21
+ _options;
22
+ // this thing controls the actual AR view
23
+ // this is setup via .init() function
24
+ _ar;
19
25
  constructor(options) {
20
26
  super();
21
- // analytics instance
22
- this._analytics = null;
23
27
  if (!options.state) {
24
28
  throw new Error("ConfiguratorAR.constructor(state) - state must be defined");
25
29
  }
@@ -59,7 +63,8 @@ class ConfiguratorAR extends launcher_ar_1.LauncherAR {
59
63
  */
60
64
  async _Compose(output) {
61
65
  const type = output === 'glb' ? "viewer" : "reality";
62
- const url = `https://xrutils.plattar.com/v3/scene/${this._options.state.scene.id}/${type}`;
66
+ const serverLocation = plattar_api_1.Server.location().type === 'staging' ? 'https://xrutils.plattar.space/v3/scene' : 'https://xrutils.plattar.com/v3/scene';
67
+ const url = `${serverLocation}/${this._options.state.scene.id}/${type}`;
63
68
  // grab our existing scene-graph from the saved API
64
69
  try {
65
70
  const response = await fetch(url, {
@@ -173,6 +178,7 @@ exports.ConfiguratorAR = ConfiguratorAR;
173
178
  Object.defineProperty(exports, "__esModule", { value: true });
174
179
  exports.LauncherAR = void 0;
175
180
  class LauncherAR {
181
+ _opt;
176
182
  constructor() {
177
183
  this._opt = {
178
184
  anchor: "horizontal_vertical",
@@ -215,10 +221,15 @@ const version_1 = __importDefault(require("../version"));
215
221
  * Performs AT Functionality using Plattar FileModel types
216
222
  */
217
223
  class ModelAR extends launcher_ar_1.LauncherAR {
224
+ // analytics instance
225
+ _analytics = null;
226
+ // model ID
227
+ _options;
228
+ // this thing controls the actual AR view
229
+ // this is setup via .init() function
230
+ _ar;
218
231
  constructor(options) {
219
232
  super();
220
- // analytics instance
221
- this._analytics = null;
222
233
  if (!options.modelID) {
223
234
  throw new Error("ModelAR.constructor(modelID) - modelID must be defined");
224
235
  }
@@ -352,24 +363,14 @@ const version_1 = __importDefault(require("../version"));
352
363
  * Performs AR functionality related to Plattar Products and Variation types
353
364
  */
354
365
  class ProductAR extends launcher_ar_1.LauncherAR {
355
- /*
356
- constructor(productID: string | undefined | null = null, variationID: string | undefined | null = null, variationSKU: string | undefined | null = null) {
357
- super();
358
-
359
- if (!productID) {
360
- throw new Error("ProductAR.constructor(productID, variationID) - productID must be defined");
361
- }
362
-
363
- this._productID = productID;
364
- this._variationSKU = variationSKU;
365
- this._variationID = variationID ? variationID : (variationSKU ? null : "default");
366
- this._ar = null;
367
- }
368
- */
366
+ // analytics instance
367
+ _analytics = null;
368
+ _options;
369
+ // this thing controls the actual AR view
370
+ // this is setup via .init() function
371
+ _ar;
369
372
  constructor(options) {
370
373
  super();
371
- // analytics instance
372
- this._analytics = null;
373
374
  if (!options.productID) {
374
375
  throw new Error("ProductAR.constructor(productID, variationID) - productID must be defined");
375
376
  }
@@ -567,10 +568,15 @@ const version_1 = __importDefault(require("../version"));
567
568
  * Allows launching AR Experiences provided a single remote 3D Model file
568
569
  */
569
570
  class RawAR extends launcher_ar_1.LauncherAR {
571
+ // model location
572
+ _options;
573
+ // this thing controls the actual AR view
574
+ // this is setup via .init() function
575
+ _ar;
576
+ // analytics instance
577
+ _analytics = null;
570
578
  constructor(options) {
571
579
  super();
572
- // analytics instance
573
- this._analytics = null;
574
580
  if (!options.modelLocation) {
575
581
  throw new Error("RawAR.constructor(modelLocation) - modelLocation must be defined");
576
582
  }
@@ -712,7 +718,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
712
718
  exports.SceneAR = void 0;
713
719
  const plattar_analytics_1 = require("@plattar/plattar-analytics");
714
720
  const plattar_api_1 = require("@plattar/plattar-api");
715
- const plattar_services_1 = require("@plattar/plattar-services");
716
721
  const util_1 = require("../util/util");
717
722
  const quicklook_viewer_1 = __importDefault(require("../viewers/quicklook-viewer"));
718
723
  const scene_viewer_1 = __importDefault(require("../viewers/scene-viewer"));
@@ -722,10 +727,15 @@ const version_1 = __importDefault(require("../version"));
722
727
  * Performs AR functionality related to Plattar Scenes
723
728
  */
724
729
  class SceneAR extends launcher_ar_1.LauncherAR {
730
+ // analytics instance
731
+ _analytics = null;
732
+ // scene and selected variation IDs
733
+ _options;
734
+ // this thing controls the actual AR view
735
+ // this is setup via .init() function
736
+ _ar;
725
737
  constructor(options) {
726
738
  super();
727
- // analytics instance
728
- this._analytics = null;
729
739
  if (!options.sceneID) {
730
740
  throw new Error("SceneAR.constructor(sceneID) - sceneID must be defined");
731
741
  }
@@ -765,58 +775,87 @@ class SceneAR extends launcher_ar_1.LauncherAR {
765
775
  * Composes a Scene into an AR Model (remote operation) that can be used to launch
766
776
  * an AR File
767
777
  */
768
- _ComposeScene(scene, output) {
769
- return new Promise((accept, reject) => {
770
- const sceneProducts = scene.relationships.filter(plattar_api_1.SceneProduct);
771
- const sceneModels = scene.relationships.filter(plattar_api_1.SceneModel);
772
- // nothing to do if no AR components can be found
773
- if ((sceneProducts.length + sceneModels.length) <= 0) {
774
- return reject(new Error("SceneAR.ComposeScene() - cannot proceed as scene does not contain AR components"));
775
- }
776
- // define our configurator
777
- const configurator = new plattar_services_1.Configurator();
778
- configurator.server = plattar_api_1.Server.location().type;
779
- configurator.output = output;
780
- let totalARObjectCount = 0;
781
- // add our scene products
782
- sceneProducts.forEach((sceneProduct) => {
783
- const product = sceneProduct.relationships.find(plattar_api_1.Product);
784
- const selection = this._options.variationSelection;
785
- // we have a specific product selection
786
- if (sceneProduct.attributes.include_in_augment) {
787
- // check if this product is the one we want (from selection optionally)
788
- if (product && (product.id === selection.productID) && selection.variationID) {
789
- configurator.addSceneProduct(sceneProduct.id, selection.variationID);
778
+ async _ComposeScene(scene, output) {
779
+ const sceneProducts = scene.relationships.filter(plattar_api_1.SceneProduct);
780
+ const sceneModels = scene.relationships.filter(plattar_api_1.SceneModel);
781
+ // nothing to do if no AR components can be found
782
+ if ((sceneProducts.length + sceneModels.length) <= 0) {
783
+ throw new Error("SceneAR.ComposeScene() - cannot proceed as scene does not contain AR components");
784
+ }
785
+ const url = `${plattar_api_1.Server.location().type === 'staging' ? 'https://converter.plattar.space' : 'https://converter.plattar.com'}/v3/converter/config-to-model`;
786
+ const payload = {
787
+ data: {
788
+ attributes: {
789
+ quality: 100,
790
+ output: output,
791
+ maps: new Array()
792
+ }
793
+ }
794
+ };
795
+ let totalARObjectCount = 0;
796
+ // add our scene products
797
+ sceneProducts.forEach((sceneProduct) => {
798
+ const product = sceneProduct.relationships.find(plattar_api_1.Product);
799
+ const selection = this._options.variationSelection;
800
+ // we have a specific product selection
801
+ if (sceneProduct.attributes.include_in_augment) {
802
+ // check if this product is the one we want (from selection optionally)
803
+ if (product && (product.id === selection.productID) && selection.variationID) {
804
+ payload.data.attributes.maps.push({
805
+ sceneproduct: sceneProduct.id,
806
+ productvariation: selection.variationID
807
+ });
808
+ totalARObjectCount++;
809
+ }
810
+ else if (product) {
811
+ // check if this scene-product is the one we want (from selection)
812
+ if ((sceneProduct.id === selection.sceneProductID) && selection.variationID) {
813
+ payload.data.attributes.maps.push({
814
+ sceneproduct: sceneProduct.id,
815
+ productvariation: selection.variationID
816
+ });
790
817
  totalARObjectCount++;
791
818
  }
792
- else if (product) {
793
- // check if this scene-product is the one we want (from selection)
794
- if ((sceneProduct.id === selection.sceneProductID) && selection.variationID) {
795
- configurator.addSceneProduct(sceneProduct.id, selection.variationID);
796
- totalARObjectCount++;
797
- }
798
- else if (product.attributes.product_variation_id) {
799
- configurator.addSceneProduct(sceneProduct.id, product.attributes.product_variation_id);
800
- totalARObjectCount++;
801
- }
819
+ else if (product.attributes.product_variation_id) {
820
+ payload.data.attributes.maps.push({
821
+ sceneproduct: sceneProduct.id,
822
+ productvariation: product.attributes.product_variation_id
823
+ });
824
+ totalARObjectCount++;
802
825
  }
803
826
  }
804
- });
805
- // add our scene models
806
- sceneModels.forEach((sceneModel) => {
807
- if (sceneModel.attributes.include_in_augment) {
808
- configurator.addModel(sceneModel.id);
809
- totalARObjectCount++;
810
- }
811
- });
812
- // ensure we have actually added AR objects
813
- if (totalARObjectCount <= 0) {
814
- return reject(new Error("SceneAR.ComposeScene() - cannot proceed as scene does not contain any enabled AR components"));
815
827
  }
816
- return configurator.get().then((result) => {
817
- accept(result.filename);
818
- }).catch(reject);
819
828
  });
829
+ // add our scene models
830
+ sceneModels.forEach((sceneModel) => {
831
+ if (sceneModel.attributes.include_in_augment) {
832
+ payload.data.attributes.maps.push({
833
+ scenemodel: sceneModel.id
834
+ });
835
+ totalARObjectCount++;
836
+ }
837
+ });
838
+ // ensure we have actually added AR objects
839
+ if (totalARObjectCount <= 0) {
840
+ throw new Error("SceneAR.ComposeScene() - cannot proceed as scene does not contain any enabled AR components");
841
+ }
842
+ try {
843
+ const response = await fetch(url, {
844
+ method: "POST",
845
+ headers: {
846
+ "Content-Type": "application/json"
847
+ },
848
+ body: JSON.stringify(payload)
849
+ });
850
+ if (!response.ok) {
851
+ throw new Error(`SceneAR.ComposeScene() - network response was not ok ${response.status}`);
852
+ }
853
+ const data = await response.json();
854
+ return data.data.attributes.filename;
855
+ }
856
+ catch (error) {
857
+ throw new Error(`SceneAR.ComposeScene() - there was a request error to ${url}, error was ${error.message}`);
858
+ }
820
859
  }
821
860
  /**
822
861
  * Initialise the SceneAR instance. This returns a Promise that resolves
@@ -914,7 +953,7 @@ class SceneAR extends launcher_ar_1.LauncherAR {
914
953
  }
915
954
  exports.SceneAR = SceneAR;
916
955
 
917
- },{"../util/util":19,"../version":20,"../viewers/quicklook-viewer":22,"../viewers/scene-viewer":24,"./launcher-ar":2,"@plattar/plattar-analytics":44,"@plattar/plattar-api":48,"@plattar/plattar-services":122}],7:[function(require,module,exports){
956
+ },{"../util/util":19,"../version":20,"../viewers/quicklook-viewer":22,"../viewers/scene-viewer":24,"./launcher-ar":2,"@plattar/plattar-analytics":44,"@plattar/plattar-api":48}],7:[function(require,module,exports){
918
957
  "use strict";
919
958
  var __importDefault = (this && this.__importDefault) || function (mod) {
920
959
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -932,10 +971,14 @@ const version_1 = __importDefault(require("../version"));
932
971
  * Performs AR functionality related to Plattar Scenes
933
972
  */
934
973
  class SceneGraphAR extends launcher_ar_1.LauncherAR {
974
+ // analytics instance
975
+ _analytics = null;
976
+ _options;
977
+ // this thing controls the actual AR view
978
+ // this is setup via .init() function
979
+ _ar;
935
980
  constructor(options) {
936
981
  super();
937
- // analytics instance
938
- this._analytics = null;
939
982
  this._options = options;
940
983
  this._ar = null;
941
984
  }
@@ -972,7 +1015,8 @@ class SceneGraphAR extends launcher_ar_1.LauncherAR {
972
1015
  */
973
1016
  async _Compose(output) {
974
1017
  const type = output === 'glb' ? "viewer" : "reality";
975
- const url = `https://xrutils.plattar.com/v3/scene/${this._options.sceneID}/${type}/${this._options.id}`;
1018
+ const serverLocation = plattar_api_1.Server.location().type === 'staging' ? 'https://xrutils.plattar.space/v3/scene' : 'https://xrutils.plattar.com/v3/scene';
1019
+ const url = `${serverLocation}/${this._options.sceneID}/${type}/${this._options.id}`;
976
1020
  // grab our existing scene-graph from the saved API
977
1021
  try {
978
1022
  const response = await fetch(url, {
@@ -1087,11 +1131,11 @@ const util_1 = require("../util/util");
1087
1131
  * SceneProducts are much more convenient to grab from the Plattar CMS
1088
1132
  */
1089
1133
  class SceneProductAR extends product_ar_1.ProductAR {
1134
+ _sceneProductID;
1135
+ // this is evaluated in the init() function
1136
+ _attachedProductID = null;
1090
1137
  constructor(options) {
1091
- //super(sceneProductID, variationID, variationSKU);
1092
1138
  super(options);
1093
- // this is evaluated in the init() function
1094
- this._attachedProductID = null;
1095
1139
  if (!options.productID) {
1096
1140
  throw new Error("SceneProductAR.constructor(sceneProductID, variationID) - sceneProductID must be defined");
1097
1141
  }
@@ -1140,10 +1184,7 @@ const scene_graph_ar_1 = require("../../ar/scene-graph-ar");
1140
1184
  * Manages an instance of the <plattar-configurator> HTML Element
1141
1185
  */
1142
1186
  class ConfiguratorController extends plattar_controller_1.PlattarController {
1143
- constructor() {
1144
- super(...arguments);
1145
- this._cachedConfigState = null;
1146
- }
1187
+ _cachedConfigState = null;
1147
1188
  async getConfiguratorState() {
1148
1189
  if (this._cachedConfigState) {
1149
1190
  return this._cachedConfigState;
@@ -1262,6 +1303,7 @@ class ConfiguratorController extends plattar_controller_1.PlattarController {
1262
1303
  const height = this.getAttribute("height") || "500px";
1263
1304
  viewer.setAttribute("width", width);
1264
1305
  viewer.setAttribute("height", height);
1306
+ viewer.setAttribute("server", plattar_api_1.Server.location().type);
1265
1307
  if (opt.color) {
1266
1308
  viewer.setAttribute("color", opt.color);
1267
1309
  }
@@ -1272,13 +1314,29 @@ class ConfiguratorController extends plattar_controller_1.PlattarController {
1272
1314
  viewer.setAttribute("qr-type", opt.qrType);
1273
1315
  }
1274
1316
  viewer.setAttribute("shorten", (opt.shorten && (opt.shorten === true || opt.shorten === "true")) ? "true" : "false");
1275
- let dst = plattar_api_1.Server.location().base + "renderer/configurator.html?scene_id=" + sceneID;
1317
+ let dst = `https://renderer.plattar.com/configurator.html?scene_id=${sceneID}`;
1318
+ switch (plattar_api_1.Server.location().type) {
1319
+ case 'review':
1320
+ dst = `https://renderer-review.plattar.com/configurator.html?scene_id=${sceneID}`;
1321
+ break;
1322
+ case 'staging':
1323
+ dst = `https://renderer.plattar.space/configurator.html?scene_id=${sceneID}`;
1324
+ break;
1325
+ }
1276
1326
  const showAR = this.getAttribute("show-ar");
1277
1327
  const showUI = this.getAttribute("show-ui");
1278
1328
  const showBanner = this.getAttribute("show-ar-banner");
1279
1329
  const sceneGraphID = this.getAttribute("scene-graph-id");
1280
1330
  if (showUI && showUI === "true") {
1281
- dst = plattar_api_1.Server.location().base + "configurator/dist/index.html?scene_id=" + sceneID;
1331
+ dst = `https://configurator.plattar.com/index.html?scene_id=${sceneID}`;
1332
+ switch (plattar_api_1.Server.location().type) {
1333
+ case 'review':
1334
+ dst = `https://configurator-review.plattar.com/configurator.html?scene_id=${sceneID}`;
1335
+ break;
1336
+ case 'staging':
1337
+ dst = `https://configurator.plattar.space/configurator.html?scene_id=${sceneID}`;
1338
+ break;
1339
+ }
1282
1340
  }
1283
1341
  if (configState) {
1284
1342
  dst += "&config_state=" + configState;
@@ -1343,7 +1401,7 @@ class ConfiguratorController extends plattar_controller_1.PlattarController {
1343
1401
  // required attributes with defaults for plattar-configurator node
1344
1402
  const width = this.getAttribute("width") || "500px";
1345
1403
  const height = this.getAttribute("height") || "500px";
1346
- const server = this.getAttribute("server") || "production";
1404
+ const server = plattar_api_1.Server.location().type;
1347
1405
  const viewer = document.createElement("plattar-configurator");
1348
1406
  this._element = viewer;
1349
1407
  viewer.setAttribute("width", width);
@@ -1465,10 +1523,7 @@ const plattar_controller_1 = require("./plattar-controller");
1465
1523
  * Manages an instance of the <plattar-configurator> HTML Element
1466
1524
  */
1467
1525
  class GalleryController extends plattar_controller_1.PlattarController {
1468
- constructor() {
1469
- super(...arguments);
1470
- this._cachedConfigState = null;
1471
- }
1526
+ _cachedConfigState = null;
1472
1527
  async getConfiguratorState() {
1473
1528
  if (this._cachedConfigState) {
1474
1529
  return this._cachedConfigState;
@@ -1519,6 +1574,7 @@ class GalleryController extends plattar_controller_1.PlattarController {
1519
1574
  const height = this.getAttribute("height") || "500px";
1520
1575
  viewer.setAttribute("width", width);
1521
1576
  viewer.setAttribute("height", height);
1577
+ viewer.setAttribute("server", plattar_api_1.Server.location().type);
1522
1578
  if (opt.color) {
1523
1579
  viewer.setAttribute("color", opt.color);
1524
1580
  }
@@ -1529,7 +1585,15 @@ class GalleryController extends plattar_controller_1.PlattarController {
1529
1585
  viewer.setAttribute("qr-type", opt.qrType);
1530
1586
  }
1531
1587
  viewer.setAttribute("shorten", (opt.shorten && (opt.shorten === true || opt.shorten === "true")) ? "true" : "false");
1532
- const dst = plattar_api_1.Server.location().base + "renderer/gallery.html?scene_id=" + sceneID;
1588
+ let dst = `https://renderer.plattar.com/gallery.html?scene_id=${sceneID}`;
1589
+ switch (plattar_api_1.Server.location().type) {
1590
+ case 'review':
1591
+ dst = `https://renderer-review.plattar.com/gallery.html?scene_id=${sceneID}`;
1592
+ break;
1593
+ case 'staging':
1594
+ dst = `https://renderer.plattar.space/gallery.html?scene_id=${sceneID}`;
1595
+ break;
1596
+ }
1533
1597
  viewer.setAttribute("url", opt.url || dst);
1534
1598
  this._prevQROpt = opt;
1535
1599
  if (!opt.detached) {
@@ -1590,10 +1654,7 @@ const scene_graph_ar_1 = require("../../ar/scene-graph-ar");
1590
1654
  * Manages an instance of the <plattar-configurator> HTML Element
1591
1655
  */
1592
1656
  class LauncherController extends plattar_controller_1.PlattarController {
1593
- constructor() {
1594
- super(...arguments);
1595
- this._cachedConfigState = null;
1596
- }
1657
+ _cachedConfigState = null;
1597
1658
  async getConfiguratorState() {
1598
1659
  if (this._cachedConfigState) {
1599
1660
  return this._cachedConfigState;
@@ -1838,13 +1899,14 @@ class PlattarController {
1838
1899
  };
1839
1900
  }
1840
1901
  ;
1902
+ _parent;
1903
+ _state = ControllerState.None;
1904
+ _element = null;
1905
+ _prevQROpt = null;
1906
+ _selectVariationObserver = null;
1907
+ _selectVariationIDObserver = null;
1908
+ _selectVariationSKUObserver = null;
1841
1909
  constructor(parent) {
1842
- this._state = ControllerState.None;
1843
- this._element = null;
1844
- this._prevQROpt = null;
1845
- this._selectVariationObserver = null;
1846
- this._selectVariationIDObserver = null;
1847
- this._selectVariationSKUObserver = null;
1848
1910
  this._parent = parent;
1849
1911
  }
1850
1912
  /**
@@ -1965,6 +2027,7 @@ class PlattarController {
1965
2027
  const height = this.getAttribute("height") || "500px";
1966
2028
  viewer.setAttribute("width", width);
1967
2029
  viewer.setAttribute("height", height);
2030
+ viewer.setAttribute("server", plattar_api_1.Server.location().type);
1968
2031
  if (opt.color) {
1969
2032
  viewer.setAttribute("color", opt.color);
1970
2033
  }
@@ -1976,7 +2039,15 @@ class PlattarController {
1976
2039
  }
1977
2040
  viewer.setAttribute("shorten", (opt.shorten && (opt.shorten === true || opt.shorten === "true")) ? "true" : "false");
1978
2041
  const qrOptions = btoa(JSON.stringify(opt));
1979
- let dst = plattar_api_1.Server.location().base + "renderer/launcher.html?qr_options=" + qrOptions;
2042
+ let dst = `https://renderer.plattar.com/launcher.html?qr_options=${qrOptions}`;
2043
+ switch (plattar_api_1.Server.location().type) {
2044
+ case 'review':
2045
+ dst = `https://renderer-review.plattar.com/launcher.html?qr_options=${qrOptions}`;
2046
+ break;
2047
+ case 'staging':
2048
+ dst = `https://renderer.plattar.space/launcher.html?qr_options=${qrOptions}`;
2049
+ break;
2050
+ }
1980
2051
  //let configState: string | null = null;
1981
2052
  const sceneID = this.getAttribute("scene-id");
1982
2053
  const embedType = this.getAttribute("embed-type");
@@ -2181,6 +2252,7 @@ class ProductController extends plattar_controller_1.PlattarController {
2181
2252
  const height = this.getAttribute("height") || "500px";
2182
2253
  viewer.setAttribute("width", width);
2183
2254
  viewer.setAttribute("height", height);
2255
+ viewer.setAttribute("server", plattar_api_1.Server.location().type);
2184
2256
  if (opt.color) {
2185
2257
  viewer.setAttribute("color", opt.color);
2186
2258
  }
@@ -2195,7 +2267,15 @@ class ProductController extends plattar_controller_1.PlattarController {
2195
2267
  const variationID = this.getAttribute("variation-id");
2196
2268
  const variationSKU = this.getAttribute("variation-sku");
2197
2269
  const showAR = this.getAttribute("show-ar");
2198
- let dst = plattar_api_1.Server.location().base + "renderer/product.html?product_id=" + productID;
2270
+ let dst = `https://renderer.plattar.com/product.html?product_id=${productID}`;
2271
+ switch (plattar_api_1.Server.location().type) {
2272
+ case 'review':
2273
+ dst = `https://renderer-review.plattar.com/product.html?product_id=${productID}`;
2274
+ break;
2275
+ case 'staging':
2276
+ dst = `https://renderer.plattar.space/product.html?product_id=${productID}`;
2277
+ break;
2278
+ }
2199
2279
  if (variationID) {
2200
2280
  dst += "&variationId=" + variationID;
2201
2281
  }
@@ -2235,6 +2315,7 @@ class ProductController extends plattar_controller_1.PlattarController {
2235
2315
  const height = this.getAttribute("height") || "500px";
2236
2316
  viewer.setAttribute("width", width);
2237
2317
  viewer.setAttribute("height", height);
2318
+ viewer.setAttribute("server", plattar_api_1.Server.location().type);
2238
2319
  if (opt.color) {
2239
2320
  viewer.setAttribute("color", opt.color);
2240
2321
  }
@@ -2246,7 +2327,15 @@ class ProductController extends plattar_controller_1.PlattarController {
2246
2327
  }
2247
2328
  viewer.setAttribute("shorten", (opt.shorten && (opt.shorten === true || opt.shorten === "true")) ? "true" : "false");
2248
2329
  const qrOptions = btoa(JSON.stringify(opt));
2249
- let dst = plattar_api_1.Server.location().base + "renderer/launcher.html?qr_options=" + qrOptions;
2330
+ let dst = `https://renderer.plattar.com/launcher.html?qr_options=${qrOptions}`;
2331
+ switch (plattar_api_1.Server.location().type) {
2332
+ case 'review':
2333
+ dst = `https://renderer-review.plattar.com/launcher.html?qr_options=${qrOptions}`;
2334
+ break;
2335
+ case 'staging':
2336
+ dst = `https://renderer.plattar.space/launcher.html?qr_options=${qrOptions}`;
2337
+ break;
2338
+ }
2250
2339
  const sceneID = this.getAttribute("scene-id");
2251
2340
  const configState = this.getAttribute("config-state");
2252
2341
  const embedType = this.getAttribute("embed-type");
@@ -2375,10 +2464,7 @@ const configurator_ar_1 = require("../../ar/configurator-ar");
2375
2464
  * Manages an instance of the <plattar-configurator> HTML Element
2376
2465
  */
2377
2466
  class VTOController extends plattar_controller_1.PlattarController {
2378
- constructor() {
2379
- super(...arguments);
2380
- this._cachedConfigState = null;
2381
- }
2467
+ _cachedConfigState = null;
2382
2468
  async getConfiguratorState() {
2383
2469
  if (this._cachedConfigState) {
2384
2470
  return this._cachedConfigState;
@@ -2449,6 +2535,7 @@ class VTOController extends plattar_controller_1.PlattarController {
2449
2535
  const height = this.getAttribute("height") || "500px";
2450
2536
  viewer.setAttribute("width", width);
2451
2537
  viewer.setAttribute("height", height);
2538
+ viewer.setAttribute("server", plattar_api_1.Server.location().type);
2452
2539
  if (opt.color) {
2453
2540
  viewer.setAttribute("color", opt.color);
2454
2541
  }
@@ -2459,7 +2546,15 @@ class VTOController extends plattar_controller_1.PlattarController {
2459
2546
  viewer.setAttribute("qr-type", opt.qrType);
2460
2547
  }
2461
2548
  viewer.setAttribute("shorten", (opt.shorten && (opt.shorten === true || opt.shorten === "true")) ? "true" : "false");
2462
- let dst = plattar_api_1.Server.location().base + "renderer/facear.html?scene_id=" + sceneID;
2549
+ let dst = `https://renderer.plattar.com/facear.html?scene_id=${sceneID}`;
2550
+ switch (plattar_api_1.Server.location().type) {
2551
+ case 'review':
2552
+ dst = `https://renderer-review.plattar.com/facear.html?scene_id=${sceneID}`;
2553
+ break;
2554
+ case 'staging':
2555
+ dst = `https://renderer.plattar.space/facear.html?scene_id=${sceneID}`;
2556
+ break;
2557
+ }
2463
2558
  // optional attributes
2464
2559
  let configState = null;
2465
2560
  try {
@@ -2615,16 +2710,14 @@ exports.VTOController = VTOController;
2615
2710
  "use strict";
2616
2711
  Object.defineProperty(exports, "__esModule", { value: true });
2617
2712
  exports.WebXRController = void 0;
2713
+ const plattar_api_1 = require("@plattar/plattar-api");
2618
2714
  const util_1 = require("../../util/util");
2619
2715
  const plattar_controller_1 = require("./plattar-controller");
2620
2716
  /**
2621
2717
  * Manages an instance of the <plattar-ewall> HTML Element
2622
2718
  */
2623
2719
  class WebXRController extends plattar_controller_1.PlattarController {
2624
- constructor() {
2625
- super(...arguments);
2626
- this._cachedConfigState = null;
2627
- }
2720
+ _cachedConfigState = null;
2628
2721
  async getConfiguratorState() {
2629
2722
  if (this._cachedConfigState) {
2630
2723
  return this._cachedConfigState;
@@ -2697,6 +2790,7 @@ class WebXRController extends plattar_controller_1.PlattarController {
2697
2790
  const height = this.getAttribute("height") || "500px";
2698
2791
  viewer.setAttribute("width", width);
2699
2792
  viewer.setAttribute("height", height);
2793
+ viewer.setAttribute("server", plattar_api_1.Server.location().type);
2700
2794
  if (opt.color) {
2701
2795
  viewer.setAttribute("color", opt.color);
2702
2796
  }
@@ -2757,7 +2851,7 @@ class WebXRController extends plattar_controller_1.PlattarController {
2757
2851
  }
2758
2852
  exports.WebXRController = WebXRController;
2759
2853
 
2760
- },{"../../util/util":19,"./plattar-controller":12}],16:[function(require,module,exports){
2854
+ },{"../../util/util":19,"./plattar-controller":12,"@plattar/plattar-api":48}],16:[function(require,module,exports){
2761
2855
  "use strict";
2762
2856
  Object.defineProperty(exports, "__esModule", { value: true });
2763
2857
  const plattar_api_1 = require("@plattar/plattar-api");
@@ -2794,15 +2888,15 @@ var ObserverState;
2794
2888
  * of Plattar related content
2795
2889
  */
2796
2890
  class PlattarEmbed extends HTMLElement {
2891
+ // this is the current embed type, viewer by default
2892
+ _currentType = EmbedType.None;
2893
+ _observerState = ObserverState.Unlocked;
2894
+ _controller = null;
2895
+ _currentSceneID = null;
2896
+ _currentServer = null;
2897
+ _observer = null;
2797
2898
  constructor() {
2798
2899
  super();
2799
- // this is the current embed type, viewer by default
2800
- this._currentType = EmbedType.None;
2801
- this._observerState = ObserverState.Unlocked;
2802
- this._controller = null;
2803
- this._currentSceneID = null;
2804
- this._currentServer = null;
2805
- this._observer = null;
2806
2900
  }
2807
2901
  get viewer() {
2808
2902
  return this._controller ? this._controller.element : null;
@@ -3116,7 +3210,7 @@ if (customElements) {
3116
3210
  }
3117
3211
  console.log("using @plattar/plattar-ar-adapter v" + version_1.default);
3118
3212
 
3119
- },{"./ar/launcher-ar":2,"./ar/model-ar":3,"./ar/product-ar":4,"./ar/raw-ar":5,"./ar/scene-ar":6,"./ar/scene-product-ar":8,"./embed/plattar-embed":16,"./util/configurator-state":18,"./util/util":19,"./version":20,"@plattar/plattar-qrcode":117,"@plattar/plattar-web":138}],18:[function(require,module,exports){
3213
+ },{"./ar/launcher-ar":2,"./ar/model-ar":3,"./ar/product-ar":4,"./ar/raw-ar":5,"./ar/scene-ar":6,"./ar/scene-product-ar":8,"./embed/plattar-embed":16,"./util/configurator-state":18,"./util/util":19,"./version":20,"@plattar/plattar-qrcode":117,"@plattar/plattar-web":134}],18:[function(require,module,exports){
3120
3214
  "use strict";
3121
3215
  Object.defineProperty(exports, "__esModule", { value: true });
3122
3216
  exports.ConfiguratorState = void 0;
@@ -3126,6 +3220,11 @@ const plattar_api_1 = require("@plattar/plattar-api");
3126
3220
  * Allows easily changing
3127
3221
  */
3128
3222
  class ConfiguratorState {
3223
+ _state;
3224
+ // This maps Variation ID against a Scene Product ID - populated by decodeScene() function
3225
+ _mappedVariationIDValues;
3226
+ // This maps Variation SKU against a Variation ID - populated by decodeScene() function
3227
+ _mappedVariationSKUValues;
3129
3228
  constructor(state = null) {
3130
3229
  this._mappedVariationIDValues = new Map();
3131
3230
  this._mappedVariationSKUValues = new Map();
@@ -3564,7 +3663,7 @@ class ConfiguratorState {
3564
3663
  // some scene-graphs are very large in size, we store it remotely
3565
3664
  // this storage will expire in 10 minutes so this is a non-permanent version
3566
3665
  // and is designed for quick ar
3567
- const url = `https://c.plattar.com/v3/redir/store`;
3666
+ const url = plattar_api_1.Server.location().type === 'staging' ? 'https://c.plattar.space/v3/redir/store' : 'https://c.plattar.com/v3/redir/store';
3568
3667
  // finally send our scene-graph to the backend to generate the AR file and return
3569
3668
  try {
3570
3669
  const response = await fetch(url, {
@@ -3727,13 +3826,15 @@ exports.Util = Util;
3727
3826
  },{}],20:[function(require,module,exports){
3728
3827
  "use strict";
3729
3828
  Object.defineProperty(exports, "__esModule", { value: true });
3730
- exports.default = "2.5.1";
3829
+ exports.default = "2.7.2";
3731
3830
 
3732
3831
  },{}],21:[function(require,module,exports){
3733
3832
  "use strict";
3734
3833
  Object.defineProperty(exports, "__esModule", { value: true });
3735
3834
  exports.ARViewer = void 0;
3736
3835
  class ARViewer {
3836
+ modelUrl;
3837
+ banner;
3737
3838
  constructor() {
3738
3839
  this.modelUrl = null;
3739
3840
  this.banner = null;
@@ -3766,6 +3867,7 @@ class QuicklookViewer extends ar_viewer_1.ARViewer {
3766
3867
  }
3767
3868
  const anchor = document.createElement("a");
3768
3869
  anchor.setAttribute("rel", "ar");
3870
+ anchor.setAttribute("allowsContentScaling", "0");
3769
3871
  anchor.appendChild(document.createElement("img"));
3770
3872
  const banner = this.banner;
3771
3873
  let url = this.modelUrl;
@@ -3807,6 +3909,7 @@ class RealityViewer extends ar_viewer_1.ARViewer {
3807
3909
  }
3808
3910
  const anchor = document.createElement("a");
3809
3911
  anchor.setAttribute("rel", "ar");
3912
+ anchor.setAttribute("allowsContentScaling", "0");
3810
3913
  anchor.appendChild(document.createElement("img"));
3811
3914
  anchor.setAttribute("href", this.modelUrl);
3812
3915
  anchor.click();
@@ -3819,10 +3922,10 @@ exports.default = RealityViewer;
3819
3922
  Object.defineProperty(exports, "__esModule", { value: true });
3820
3923
  const ar_viewer_1 = require("./ar-viewer");
3821
3924
  class SceneViewer extends ar_viewer_1.ARViewer {
3925
+ isVertical = false;
3822
3926
  constructor() {
3823
3927
  super();
3824
3928
  this.isVertical = false;
3825
- this.isVertical = false;
3826
3929
  }
3827
3930
  get nodeType() {
3828
3931
  return "Scene Viewer";
@@ -3844,6 +3947,8 @@ class SceneViewer extends ar_viewer_1.ARViewer {
3844
3947
  if (this.isVertical) {
3845
3948
  intent += '&enable_vertical_placement=true';
3846
3949
  }
3950
+ // avoid allowing content to be resized
3951
+ intent += '&resizable=false';
3847
3952
  intent += '&a=b#Intent;scheme=https;package=com.google.ar.core;action=android.intent.action.VIEW;';
3848
3953
  intent += `S.browser_fallback_url=${linkOverride};end;`;
3849
3954
  const anchor = document.createElement("a");
@@ -5119,6 +5224,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
5119
5224
  exports.AnalyticsData = void 0;
5120
5225
  const util_1 = require("../util/util");
5121
5226
  class AnalyticsData {
5227
+ _map;
5122
5228
  constructor() {
5123
5229
  this._map = new Map();
5124
5230
  this.push("source", "embed");
@@ -5177,14 +5283,18 @@ const basic_http_1 = __importDefault(require("../util/basic-http"));
5177
5283
  const analytics_data_1 = require("./analytics-data");
5178
5284
  const google_analytics_1 = require("./google/google-analytics");
5179
5285
  class Analytics {
5286
+ _applicationID;
5287
+ _handlePageHide;
5288
+ _data;
5289
+ _ga;
5290
+ _pageTime = null;
5291
+ origin = "production";
5292
+ event = "track";
5293
+ /**
5294
+ * Use HTTP Request to write analytics, otherwise will use beacons
5295
+ */
5296
+ isBeacon = false;
5180
5297
  constructor(applicationID) {
5181
- this._pageTime = null;
5182
- this.origin = "production";
5183
- this.event = "track";
5184
- /**
5185
- * Use HTTP Request to write analytics, otherwise will use beacons
5186
- */
5187
- this.isBeacon = false;
5188
5298
  this._applicationID = applicationID;
5189
5299
  this._data = new analytics_data_1.AnalyticsData();
5190
5300
  this._ga = new google_analytics_1.GoogleAnalytics();
@@ -5213,7 +5323,15 @@ class Analytics {
5213
5323
  if (!query) {
5214
5324
  return reject(new Error("Analytics.query() - provided query was null"));
5215
5325
  }
5216
- const url = this.origin === "dev" ? "https://localhost:3008/v3/read" : "https://analytics.plattar.com/v3/read";
5326
+ let url = 'https://analytics.plattar.com/v3/read';
5327
+ switch (this.origin) {
5328
+ case 'dev':
5329
+ url = 'https://localhost:3008/v3/read';
5330
+ break;
5331
+ case 'staging':
5332
+ url = 'https://analytics.plattar.space/v3/read';
5333
+ break;
5334
+ }
5217
5335
  const data = {
5218
5336
  data: {
5219
5337
  attributes: {
@@ -5231,7 +5349,15 @@ class Analytics {
5231
5349
  write() {
5232
5350
  return new Promise((accept, reject) => {
5233
5351
  const data = this._data;
5234
- const url = this.origin === "dev" ? "https://localhost:3008/v3/write" : "https://analytics.plattar.com/v3/write";
5352
+ let url = 'https://analytics.plattar.com/v3/write';
5353
+ switch (this.origin) {
5354
+ case 'dev':
5355
+ url = 'https://localhost:3008/v3/write';
5356
+ break;
5357
+ case 'staging':
5358
+ url = 'https://analytics.plattar.space/v3/write';
5359
+ break;
5360
+ }
5235
5361
  data.push("applicationId", this._applicationID);
5236
5362
  const sendData = {
5237
5363
  data: {
@@ -5270,6 +5396,7 @@ exports.Analytics = Analytics;
5270
5396
  Object.defineProperty(exports, "__esModule", { value: true });
5271
5397
  exports.GoogleAnalytics = void 0;
5272
5398
  class GoogleAnalytics {
5399
+ _tokens;
5273
5400
  constructor() {
5274
5401
  this._tokens = new Set();
5275
5402
  }
@@ -5279,7 +5406,7 @@ class GoogleAnalytics {
5279
5406
  return;
5280
5407
  }
5281
5408
  this._tokens.add(gaToken);
5282
- const gInstance = gtag;
5409
+ const gInstance = typeof gtag !== "undefined" ? gtag : undefined;
5283
5410
  if (gInstance) {
5284
5411
  gInstance("config", gaToken, {
5285
5412
  "custom_map": {
@@ -5297,7 +5424,7 @@ class GoogleAnalytics {
5297
5424
  return;
5298
5425
  }
5299
5426
  this._tokens.add(gaToken);
5300
- const gInstance = gtag;
5427
+ const gInstance = typeof gtag !== "undefined" ? gtag : undefined;
5301
5428
  if (gInstance) {
5302
5429
  gInstance("config", gaToken, {
5303
5430
  "custom_map": {
@@ -5312,7 +5439,7 @@ class GoogleAnalytics {
5312
5439
  return;
5313
5440
  }
5314
5441
  this._tokens.forEach((token) => {
5315
- const gInstance = gtag;
5442
+ const gInstance = typeof gtag !== "undefined" ? gtag : undefined;
5316
5443
  if (gInstance) {
5317
5444
  const eventCategory = data.get("eventCategory"); // 0
5318
5445
  const eventAction = data.get("eventAction"); // 1
@@ -5355,13 +5482,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
5355
5482
  }) : function(o, v) {
5356
5483
  o["default"] = v;
5357
5484
  });
5358
- var __importStar = (this && this.__importStar) || function (mod) {
5359
- if (mod && mod.__esModule) return mod;
5360
- var result = {};
5361
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
5362
- __setModuleDefault(result, mod);
5363
- return result;
5364
- };
5485
+ var __importStar = (this && this.__importStar) || (function () {
5486
+ var ownKeys = function(o) {
5487
+ ownKeys = Object.getOwnPropertyNames || function (o) {
5488
+ var ar = [];
5489
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
5490
+ return ar;
5491
+ };
5492
+ return ownKeys(o);
5493
+ };
5494
+ return function (mod) {
5495
+ if (mod && mod.__esModule) return mod;
5496
+ var result = {};
5497
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
5498
+ __setModuleDefault(result, mod);
5499
+ return result;
5500
+ };
5501
+ })();
5365
5502
  var __importDefault = (this && this.__importDefault) || function (mod) {
5366
5503
  return (mod && mod.__esModule) ? mod : { "default": mod };
5367
5504
  };
@@ -5470,7 +5607,7 @@ exports.Util = Util;
5470
5607
  },{}],47:[function(require,module,exports){
5471
5608
  "use strict";
5472
5609
  Object.defineProperty(exports, "__esModule", { value: true });
5473
- exports.default = "1.152.2";
5610
+ exports.default = "2.7.1";
5474
5611
 
5475
5612
  },{}],48:[function(require,module,exports){
5476
5613
  "use strict";
@@ -6125,7 +6262,7 @@ PlattarQuery._DeleteGlobalCachedObject = (obj) => {
6125
6262
  };
6126
6263
 
6127
6264
  module.exports = PlattarQuery;
6128
- },{"../util/plattar-util.js":113,"node-fetch":144}],50:[function(require,module,exports){
6265
+ },{"../util/plattar-util.js":113,"node-fetch":140}],50:[function(require,module,exports){
6129
6266
  (function (process){(function (){
6130
6267
  const fetch = require("node-fetch");
6131
6268
 
@@ -6265,24 +6402,26 @@ class PlattarServer {
6265
6402
  */
6266
6403
  PlattarServer.match = (serverName) => {
6267
6404
  switch (serverName.toLowerCase()) {
6405
+ case "cms.plattar.space":
6268
6406
  case "staging.plattar.space":
6269
- case "cdn-staging.plattar.space":
6407
+ case "cdn.plattar.space":
6270
6408
  case "staging":
6271
6409
  return {
6272
- base: "https://staging.plattar.space/",
6410
+ base: "https://cms.plattar.space/",
6273
6411
  api_read: "https://api.plattar.space/v3/",
6274
6412
  api_write: "https://api.plattar.space/v3/",
6275
- cdn: "https://cdn-staging.plattar.space/",
6413
+ cdn: "https://cdn.plattar.space/",
6276
6414
  cdn_image: "https://images.plattar.space/",
6277
6415
  analytics: "https://c.plattar.space/api/v2/analytics",
6278
6416
  type: "staging"
6279
6417
  }
6280
6418
  case "app.plattar.com":
6419
+ case "cms.plattar.com":
6281
6420
  case "cdn.plattar.com":
6282
6421
  case "prod":
6283
6422
  case "production":
6284
6423
  return {
6285
- base: "https://app.plattar.com/",
6424
+ base: "https://cms.plattar.com/",
6286
6425
  api_read: "https://api.plattar.com/v3/",
6287
6426
  api_write: "https://api.plattar.com/v3/",
6288
6427
  cdn: "https://cdn.plattar.com/",
@@ -6290,11 +6429,12 @@ PlattarServer.match = (serverName) => {
6290
6429
  analytics: "https://c.plattar.space/api/v2/analytics",
6291
6430
  type: "production"
6292
6431
  }
6432
+ case "cms-review.plattar.com":
6293
6433
  case "review.plattar.com":
6294
6434
  case "review":
6295
6435
  case "qa":
6296
6436
  return {
6297
- base: "https://review.plattar.com/",
6437
+ base: "https://cms-review.plattar.com/",
6298
6438
  api_read: "https://review-api.plattar.com/v3/",
6299
6439
  api_write: "https://review-api.plattar.com/v3/",
6300
6440
  cdn: "https://cdn.plattar.com/",
@@ -6350,7 +6490,7 @@ PlattarServer.location = () => {
6350
6490
 
6351
6491
  module.exports = PlattarServer;
6352
6492
  }).call(this)}).call(this,require('_process'))
6353
- },{"_process":146,"node-fetch":144}],51:[function(require,module,exports){
6493
+ },{"_process":142,"node-fetch":140}],51:[function(require,module,exports){
6354
6494
  const PlattarBase = require("./interfaces/plattar-base.js");
6355
6495
 
6356
6496
  class Application extends PlattarBase {
@@ -7578,7 +7718,7 @@ PlattarUtil.match = (type) => {
7578
7718
 
7579
7719
  module.exports = PlattarUtil;
7580
7720
  },{"../types/application.js":51,"../types/content-pipeline/brief.js":52,"../types/content-pipeline/comment-brief.js":53,"../types/content-pipeline/comment-quote.js":54,"../types/content-pipeline/comment-solution.js":55,"../types/content-pipeline/folder.js":56,"../types/content-pipeline/pipeline-user.js":57,"../types/content-pipeline/quote.js":58,"../types/content-pipeline/rating.js":59,"../types/content-pipeline/solution.js":60,"../types/file/file-audio.js":61,"../types/file/file-image.js":63,"../types/file/file-json.js":64,"../types/file/file-model.js":65,"../types/file/file-script.js":66,"../types/file/file-video.js":67,"../types/interfaces/plattar-object.js":70,"../types/misc/application-build.js":71,"../types/misc/asset-library":72,"../types/misc/async-job.js":73,"../types/misc/script-event.js":74,"../types/misc/tag.js":75,"../types/page/card-button.js":77,"../types/page/card-html.js":78,"../types/page/card-iframe.js":79,"../types/page/card-image.js":80,"../types/page/card-map.js":81,"../types/page/card-paragraph.js":82,"../types/page/card-row.js":83,"../types/page/card-slider.js":84,"../types/page/card-title.js":85,"../types/page/card-video.js":86,"../types/page/card-youtube.js":87,"../types/page/page.js":88,"../types/product/product-annotation.js":89,"../types/product/product-variation.js":91,"../types/product/product.js":92,"../types/scene/scene-annotation.js":93,"../types/scene/scene-audio.js":94,"../types/scene/scene-button.js":96,"../types/scene/scene-camera.js":97,"../types/scene/scene-carousel.js":98,"../types/scene/scene-gallery-image.js":99,"../types/scene/scene-gallery.js":100,"../types/scene/scene-image.js":101,"../types/scene/scene-model.js":102,"../types/scene/scene-panorama.js":103,"../types/scene/scene-poller.js":104,"../types/scene/scene-product.js":105,"../types/scene/scene-script.js":106,"../types/scene/scene-shadow.js":107,"../types/scene/scene-video.js":108,"../types/scene/scene-volumetric.js":109,"../types/scene/scene-youtube.js":110,"../types/scene/scene.js":111,"../types/trigger/trigger-image.js":112}],114:[function(require,module,exports){
7581
- module.exports = "1.186.3";
7721
+ module.exports = "2.7.1";
7582
7722
 
7583
7723
  },{}],115:[function(require,module,exports){
7584
7724
  const QRCodeStyling = require("qr-code-styling");
@@ -7837,7 +7977,9 @@ class BaseElement extends HTMLElement {
7837
7977
  try {
7838
7978
  const b64Link = btoa(url);
7839
7979
 
7840
- fetch("https://c.plattar.com/shorten", {
7980
+ const serverType = this.hasAttribute("server") ? this.getAttribute("server") : "production";
7981
+
7982
+ fetch(serverType === "staging" ? "https://c.plattar.space/shorten" : "https://c.plattar.com/shorten", {
7841
7983
  cache: "no-store",
7842
7984
  method: "POST",
7843
7985
  headers: {
@@ -7871,7 +8013,7 @@ class BaseElement extends HTMLElement {
7871
8013
  }
7872
8014
 
7873
8015
  module.exports = BaseElement;
7874
- },{"object-hash":145,"qr-code-styling":147}],116:[function(require,module,exports){
8016
+ },{"object-hash":141,"qr-code-styling":143}],116:[function(require,module,exports){
7875
8017
  const BaseElement = require("./base/base-element.js");
7876
8018
 
7877
8019
  class QRCodeElement extends BaseElement {
@@ -7898,351 +8040,70 @@ module.exports = {
7898
8040
  version: Version
7899
8041
  };
7900
8042
  },{"./elements/qrcode-element.js":116,"./version":118}],118:[function(require,module,exports){
7901
- module.exports = "1.178.1";
8043
+ arguments[4][114][0].apply(exports,arguments)
8044
+ },{"dup":114}],119:[function(require,module,exports){
8045
+ const BaseElement = require("./base/base-element.js");
7902
8046
 
7903
- },{}],119:[function(require,module,exports){
7904
- "use strict";
7905
- var __importDefault = (this && this.__importDefault) || function (mod) {
7906
- return (mod && mod.__esModule) ? mod : { "default": mod };
7907
- };
7908
- Object.defineProperty(exports, "__esModule", { value: true });
7909
- exports.Configurator = void 0;
7910
- const plattar_api_1 = require("@plattar/plattar-api");
7911
- const object_hash_1 = __importDefault(require("object-hash"));
7912
- const remote_request_1 = require("./remote-request");
7913
- class Configurator {
8047
+ class AdhocElement extends BaseElement {
7914
8048
  constructor() {
7915
- this.quality = 100;
7916
- this.output = "glb";
7917
- this.server = "production";
7918
- this.retry = 0;
7919
- this._maps = [];
7920
- this._attrHash = [];
7921
- }
7922
- add(sceneProduct = null, productVariation = null) {
7923
- this.addSceneProduct(sceneProduct, productVariation);
7924
- }
7925
- addSceneProduct(sceneProduct = null, productVariation = null) {
7926
- if (!sceneProduct) {
7927
- throw new Error("Configurator.addSceneProduct() - sceneProduct input was null or undefined");
7928
- }
7929
- if (!productVariation) {
7930
- throw new Error("Configurator.addSceneProduct() - productVariation input was null or undefined");
7931
- }
7932
- const map = {
7933
- sceneproduct: null,
7934
- productvariation: null
7935
- };
7936
- if ((sceneProduct instanceof plattar_api_1.SceneProduct) && (productVariation instanceof plattar_api_1.ProductVariation)) {
7937
- map.sceneproduct = sceneProduct.id;
7938
- map.productvariation = productVariation.id;
7939
- this._maps.push(map);
7940
- return;
7941
- }
7942
- if ((typeof sceneProduct === "string" || sceneProduct instanceof String) && (typeof productVariation === "string" || productVariation instanceof String)) {
7943
- map.sceneproduct = sceneProduct;
7944
- map.productvariation = productVariation;
7945
- this._maps.push(map);
7946
- return;
7947
- }
7948
- throw new Error("Configurator.addSceneProduct() - mismatched instance types for inputs");
7949
- }
7950
- addProduct(product = null, productVariation = null) {
7951
- if (!product) {
7952
- throw new Error("Configurator.addProduct() - product input was null or undefined");
7953
- }
7954
- if (!productVariation) {
7955
- throw new Error("Configurator.addProduct() - productVariation input was null or undefined");
7956
- }
7957
- const map = {
7958
- productvariation: null,
7959
- product: null
7960
- };
7961
- if ((product instanceof plattar_api_1.Product) && (productVariation instanceof plattar_api_1.ProductVariation)) {
7962
- map.product = product.id;
7963
- map.productvariation = productVariation.id;
7964
- this._maps.push(map);
7965
- return;
7966
- }
7967
- if ((typeof product === "string" || product instanceof String) && (typeof productVariation === "string" || productVariation instanceof String)) {
7968
- map.product = product;
7969
- map.productvariation = productVariation;
7970
- this._maps.push(map);
7971
- return;
7972
- }
7973
- throw new Error("Configurator.addProduct() - mismatched instance types for inputs");
7974
- }
7975
- addModel(sceneModel = null) {
7976
- if (!sceneModel) {
7977
- throw new Error("Configurator.addModel() - sceneModel input was null or undefined");
7978
- }
7979
- const map = {
7980
- scenemodel: null
7981
- };
7982
- if (sceneModel instanceof plattar_api_1.SceneModel) {
7983
- map.scenemodel = sceneModel.id;
7984
- this._maps.push(map);
7985
- return;
7986
- }
7987
- if (typeof sceneModel === "string") {
7988
- map.scenemodel = sceneModel;
7989
- this._maps.push(map);
7990
- return;
7991
- }
7992
- throw new Error("Configurator.addModel() - mismatched instance types for inputs");
7993
- }
7994
- get() {
7995
- return new Promise((accept, reject) => {
7996
- this._CalculateHash().then(() => {
7997
- remote_request_1.RemoteRequest.request(this._GetPayload(), (this.retry < 0 ? 0 : this.retry)).then(accept).catch(reject);
7998
- }).catch((_err) => {
7999
- reject(new Error("Configurator.get() - one of the objects does not exist in Plattar API"));
8000
- });
8001
- });
8002
- }
8003
- _CalculateHash() {
8004
- return new Promise((accept, reject) => {
8005
- const promises = [];
8006
- const oldOrigin = plattar_api_1.Server.default().originLocation.type;
8007
- plattar_api_1.Server.create(plattar_api_1.Server.match(this.server));
8008
- this._maps.forEach((map) => {
8009
- if (map.productvariation) {
8010
- promises.push(new plattar_api_1.ProductVariation(map.productvariation).get());
8011
- }
8012
- if (map.sceneproduct) {
8013
- promises.push(new plattar_api_1.SceneProduct(map.sceneproduct).get());
8014
- }
8015
- if (map.scenemodel) {
8016
- promises.push(new plattar_api_1.SceneModel(map.scenemodel).get());
8017
- }
8018
- if (map.product) {
8019
- promises.push(new plattar_api_1.Product(map.product).get());
8020
- }
8021
- });
8022
- Promise.all(promises).then((values) => {
8023
- values.forEach((value) => {
8024
- this._attrHash.push(value.attributes);
8025
- });
8026
- // reset server back
8027
- plattar_api_1.Server.create(plattar_api_1.Server.match(oldOrigin));
8028
- accept();
8029
- }).catch(() => {
8030
- // reset server back
8031
- plattar_api_1.Server.create(plattar_api_1.Server.match(oldOrigin));
8032
- reject(new Error("Configurator._CalculateHash() - unexpected error"));
8033
- });
8034
- });
8035
- }
8036
- _GetPayload() {
8037
- const converter = this.output === "vto" ? "config_to_reality" : "config_to_model";
8038
- const load = {
8039
- options: {
8040
- converter: converter,
8041
- quality: this.quality,
8042
- output: this.output,
8043
- server: this.server
8044
- },
8045
- data: {
8046
- maps: this._maps
8047
- }
8048
- };
8049
- if (this._attrHash.length > 0) {
8050
- load.options.hash = object_hash_1.default.MD5(this._attrHash) + object_hash_1.default.MD5(load);
8051
- }
8052
- else {
8053
- load.options.hash = object_hash_1.default.MD5(load);
8054
- }
8055
- return load;
8049
+ super();
8056
8050
  }
8057
- }
8058
- exports.Configurator = Configurator;
8059
8051
 
8060
- },{"./remote-request":121,"@plattar/plattar-api":48,"object-hash":145}],120:[function(require,module,exports){
8061
- "use strict";
8062
- var __importDefault = (this && this.__importDefault) || function (mod) {
8063
- return (mod && mod.__esModule) ? mod : { "default": mod };
8064
- };
8065
- Object.defineProperty(exports, "__esModule", { value: true });
8066
- exports.ModelConverter = void 0;
8067
- const plattar_api_1 = require("@plattar/plattar-api");
8068
- const object_hash_1 = __importDefault(require("object-hash"));
8069
- const remote_request_1 = require("./remote-request");
8070
- class ModelConverter {
8071
- constructor() {
8072
- this._model = null;
8073
- this.quality = 100;
8074
- this.output = "glb";
8075
- this.server = "production";
8076
- this.retry = 0;
8077
- this._attrHash = [];
8078
- }
8079
- get model() {
8080
- return this._model;
8081
- }
8082
- set model(newModel) {
8083
- if (!newModel) {
8084
- return;
8085
- }
8086
- if (newModel instanceof plattar_api_1.FileModel) {
8087
- this._model = newModel.id;
8088
- this._attrHash.push(object_hash_1.default.MD5(newModel.attributes));
8089
- return;
8090
- }
8091
- this._model = newModel;
8052
+ get permissions() {
8053
+ return ["autoplay"];
8092
8054
  }
8093
- get() {
8094
- return new Promise((accept, reject) => {
8095
- if (!this._model) {
8096
- return reject(new Error("ModelConverter.get() - required .model attribute was not set"));
8097
- }
8098
- remote_request_1.RemoteRequest.request(this._Payload, (this.retry < 0 ? 0 : this.retry)).then(accept).catch(reject);
8099
- });
8055
+
8056
+ get elementType() {
8057
+ return "adhoc";
8100
8058
  }
8101
- get _Payload() {
8102
- const load = {
8103
- options: {
8104
- converter: "gltf_to_model",
8105
- quality: this.quality,
8106
- output: this.output,
8107
- server: this.server
8108
- },
8109
- data: {
8110
- model: this._model
8059
+
8060
+ get elementFullLocation() {
8061
+ if (this.hasAttribute("type")) {
8062
+ const type = this.getAttribute("type");
8063
+ const server = this.hasAttribute("server") ? this.getAttribute("server") : "production";
8064
+
8065
+ switch (server) {
8066
+ case "production": return `https://renderer.plattar.com/${type}.html${this.allMappedAttributesQuery}`;
8067
+ case "staging": return `https://renderer.plattar.space/${type}.html${this.allMappedAttributesQuery}`;
8068
+ case "review": return `https://renderer-review.plattar.com/${type}.html${this.allMappedAttributesQuery}`;
8069
+ case "dev": return `https://localhost/renderer/${type}.html${this.allMappedAttributesQuery}`;
8070
+ default: throw new Error(`AdhocElement.elementFullLocation - attribute "server" must be one of "production", "staging", "review" or "dev" but was "${server}"`);
8111
8071
  }
8112
- };
8113
- if (this._attrHash.length > 0) {
8114
- load.options.hash = object_hash_1.default.MD5(this._attrHash) + object_hash_1.default.MD5(load);
8115
- }
8116
- else {
8117
- load.options.hash = object_hash_1.default.MD5(load);
8118
8072
  }
8119
- return load;
8073
+
8074
+ throw new Error(`AdhocElement.elementFullLocation - attribute "type" is required`);
8120
8075
  }
8121
- }
8122
- exports.ModelConverter = ModelConverter;
8123
8076
 
8124
- },{"./remote-request":121,"@plattar/plattar-api":48,"object-hash":145}],121:[function(require,module,exports){
8125
- "use strict";
8126
- var __importDefault = (this && this.__importDefault) || function (mod) {
8127
- return (mod && mod.__esModule) ? mod : { "default": mod };
8128
- };
8129
- Object.defineProperty(exports, "__esModule", { value: true });
8130
- exports.RemoteRequest = void 0;
8131
- const node_fetch_1 = __importDefault(require("node-fetch"));
8132
- /**
8133
- * This is used by the core types to perform remote requests
8134
- */
8135
- class RemoteRequest {
8136
- static request(payload, retry = 0) {
8137
- return new Promise((accept, reject) => {
8138
- if (retry >= 0) {
8139
- RemoteRequest._send(payload).then(accept).catch((err) => {
8140
- const newretry = retry - 1;
8141
- if (newretry < 0) {
8142
- return reject(err);
8143
- }
8144
- console.error("RemoteRequest.request() - retry number " + newretry);
8145
- console.error(err);
8146
- setTimeout(() => {
8147
- RemoteRequest.request(payload, newretry).then(accept).catch(reject);
8148
- }, 500);
8077
+ get optionalAttributes() {
8078
+ if (this.hasAttribute("properties")) {
8079
+ const properties = this.getAttribute("properties");
8080
+
8081
+ if (properties) {
8082
+ const splitProperties = properties.split(",");
8083
+
8084
+ const props = [];
8085
+
8086
+ splitProperties.forEach((prop) => {
8087
+ props.push({
8088
+ key: prop,
8089
+ map: prop.replaceAll('-', '_')
8090
+ });
8149
8091
  });
8092
+
8093
+ return props;
8150
8094
  }
8151
- else {
8152
- return reject(new Error("RemoteRequest.request() - attempted all retries without success"));
8153
- }
8154
- });
8155
- }
8156
- static _send(payload) {
8157
- return new Promise((accept, reject) => {
8158
- const endpoint = payload.options.server === "dev" ? "http://localhost:9000/2015-03-31/functions/function/invocations" : "https://3gbnq7wuw2.execute-api.ap-southeast-2.amazonaws.com/main/xrutils";
8159
- const reqopts = {
8160
- method: "POST",
8161
- headers: {
8162
- 'Accept': 'application/json',
8163
- 'Content-Type': 'application/json'
8164
- },
8165
- body: JSON.stringify(payload)
8166
- };
8167
- (0, node_fetch_1.default)(endpoint, reqopts)
8168
- .then((res) => {
8169
- if (res.ok) {
8170
- try {
8171
- return res.json();
8172
- }
8173
- catch (err) {
8174
- return new Error("RemoteRequest.request() - critical error occured, cannot proceed");
8175
- }
8176
- }
8177
- return new Error("RemoteRequest.request() - unexpected error occured, cannot proceed. error message is " + res.statusText);
8178
- })
8179
- .then((json) => {
8180
- if (json instanceof Error) {
8181
- reject(json);
8182
- }
8183
- else {
8184
- accept(json);
8185
- }
8186
- });
8187
- });
8188
- }
8189
- }
8190
- exports.RemoteRequest = RemoteRequest;
8095
+ }
8191
8096
 
8192
- },{"node-fetch":144}],122:[function(require,module,exports){
8193
- "use strict";
8194
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8195
- if (k2 === undefined) k2 = k;
8196
- var desc = Object.getOwnPropertyDescriptor(m, k);
8197
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8198
- desc = { enumerable: true, get: function() { return m[k]; } };
8097
+ return [];
8199
8098
  }
8200
- Object.defineProperty(o, k2, desc);
8201
- }) : (function(o, m, k, k2) {
8202
- if (k2 === undefined) k2 = k;
8203
- o[k2] = m[k];
8204
- }));
8205
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
8206
- Object.defineProperty(o, "default", { enumerable: true, value: v });
8207
- }) : function(o, v) {
8208
- o["default"] = v;
8209
- });
8210
- var __importStar = (this && this.__importStar) || (function () {
8211
- var ownKeys = function(o) {
8212
- ownKeys = Object.getOwnPropertyNames || function (o) {
8213
- var ar = [];
8214
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
8215
- return ar;
8216
- };
8217
- return ownKeys(o);
8218
- };
8219
- return function (mod) {
8220
- if (mod && mod.__esModule) return mod;
8221
- var result = {};
8222
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
8223
- __setModuleDefault(result, mod);
8224
- return result;
8225
- };
8226
- })();
8227
- var __importDefault = (this && this.__importDefault) || function (mod) {
8228
- return (mod && mod.__esModule) ? mod : { "default": mod };
8229
- };
8230
- Object.defineProperty(exports, "__esModule", { value: true });
8231
- exports.version = exports.ModelConverter = exports.Configurator = void 0;
8232
- var configurator_1 = require("./core/configurator");
8233
- Object.defineProperty(exports, "Configurator", { enumerable: true, get: function () { return configurator_1.Configurator; } });
8234
- var model_converter_1 = require("./core/model-converter");
8235
- Object.defineProperty(exports, "ModelConverter", { enumerable: true, get: function () { return model_converter_1.ModelConverter; } });
8236
- exports.version = __importStar(require("./version"));
8237
- const version_1 = __importDefault(require("./version"));
8238
- console.log("using @plattar/plattar-services v" + version_1.default);
8239
8099
 
8240
- },{"./core/configurator":119,"./core/model-converter":120,"./version":123}],123:[function(require,module,exports){
8241
- "use strict";
8242
- Object.defineProperty(exports, "__esModule", { value: true });
8243
- exports.default = "1.186.1";
8100
+ get coreAttributes() {
8101
+ return [];
8102
+ }
8103
+ }
8244
8104
 
8245
- },{}],124:[function(require,module,exports){
8105
+ module.exports = AdhocElement;
8106
+ },{"./base/base-element.js":120}],120:[function(require,module,exports){
8246
8107
  const Util = require("../../util/util");
8247
8108
  const ElementController = require("../controllers/element-controller");
8248
8109
  const { messenger } = require("@plattar/context-messenger");
@@ -8429,7 +8290,7 @@ class BaseElement extends HTMLElement {
8429
8290
  }
8430
8291
 
8431
8292
  module.exports = BaseElement;
8432
- },{"../../util/util":139,"../controllers/element-controller":126,"@plattar/context-messenger":25}],125:[function(require,module,exports){
8293
+ },{"../../util/util":135,"../controllers/element-controller":122,"@plattar/context-messenger":25}],121:[function(require,module,exports){
8433
8294
  const BaseElement = require("./base/base-element.js");
8434
8295
 
8435
8296
  class ConfiguratorElement extends BaseElement {
@@ -8454,7 +8315,7 @@ class ConfiguratorElement extends BaseElement {
8454
8315
 
8455
8316
  switch (server) {
8456
8317
  case "production": return `https://configurator.plattar.com/index.html${this.allMappedAttributesQuery}`;
8457
- case "staging": return `https://configurator-staging.plattar.com/index.html${this.allMappedAttributesQuery}`;
8318
+ case "staging": return `https://configurator.plattar.space/index.html${this.allMappedAttributesQuery}`;
8458
8319
  case "review": return `https://configurator-review.plattar.com/index.html${this.allMappedAttributesQuery}`;
8459
8320
  case "dev": return `https://localhost/configurator/dist/index.html${this.allMappedAttributesQuery}`;
8460
8321
  default: throw new Error(`ConfiguratorElement.elementFullLocation - attribute "server" must be one of "production", "staging", "review" or "dev" but was "${server}"`);
@@ -8484,7 +8345,7 @@ class ConfiguratorElement extends BaseElement {
8484
8345
  }
8485
8346
 
8486
8347
  module.exports = ConfiguratorElement;
8487
- },{"./base/base-element.js":124}],126:[function(require,module,exports){
8348
+ },{"./base/base-element.js":120}],122:[function(require,module,exports){
8488
8349
  const Util = require("../../util/util.js");
8489
8350
  const { messenger } = require("@plattar/context-messenger");
8490
8351
  const IFrameController = require("./iframe-controller.js");
@@ -8569,7 +8430,7 @@ class ElementController {
8569
8430
  }
8570
8431
 
8571
8432
  module.exports = ElementController;
8572
- },{"../../util/util.js":139,"./iframe-controller.js":127,"@plattar/context-messenger":25}],127:[function(require,module,exports){
8433
+ },{"../../util/util.js":135,"./iframe-controller.js":123,"@plattar/context-messenger":25}],123:[function(require,module,exports){
8573
8434
  const Util = require("../../util/util.js");
8574
8435
 
8575
8436
  class IFrameController {
@@ -8671,7 +8532,7 @@ class IFrameController {
8671
8532
  }
8672
8533
 
8673
8534
  module.exports = IFrameController;
8674
- },{"../../util/util.js":139}],128:[function(require,module,exports){
8535
+ },{"../../util/util.js":135}],124:[function(require,module,exports){
8675
8536
  const BaseElement = require("./base/base-element.js");
8676
8537
 
8677
8538
  class EditorElement extends BaseElement {
@@ -8689,7 +8550,7 @@ class EditorElement extends BaseElement {
8689
8550
  }
8690
8551
 
8691
8552
  module.exports = EditorElement;
8692
- },{"./base/base-element.js":124}],129:[function(require,module,exports){
8553
+ },{"./base/base-element.js":120}],125:[function(require,module,exports){
8693
8554
  const BaseElement = require("./base/base-element.js");
8694
8555
 
8695
8556
  class EWallElement extends BaseElement {
@@ -8707,7 +8568,7 @@ class EWallElement extends BaseElement {
8707
8568
  }
8708
8569
 
8709
8570
  module.exports = EWallElement;
8710
- },{"./base/base-element.js":124}],130:[function(require,module,exports){
8571
+ },{"./base/base-element.js":120}],126:[function(require,module,exports){
8711
8572
  const BaseElement = require("./base/base-element.js");
8712
8573
 
8713
8574
  class FaceARElement extends BaseElement {
@@ -8744,7 +8605,7 @@ class FaceARElement extends BaseElement {
8744
8605
  }
8745
8606
 
8746
8607
  module.exports = FaceARElement;
8747
- },{"./base/base-element.js":124}],131:[function(require,module,exports){
8608
+ },{"./base/base-element.js":120}],127:[function(require,module,exports){
8748
8609
  const BaseElement = require("./base/base-element.js");
8749
8610
 
8750
8611
  class GalleryElement extends BaseElement {
@@ -8766,7 +8627,7 @@ class GalleryElement extends BaseElement {
8766
8627
  }
8767
8628
 
8768
8629
  module.exports = GalleryElement;
8769
- },{"./base/base-element.js":124}],132:[function(require,module,exports){
8630
+ },{"./base/base-element.js":120}],128:[function(require,module,exports){
8770
8631
  const BaseElement = require("./base/base-element.js");
8771
8632
 
8772
8633
  class LauncherElement extends BaseElement {
@@ -8829,7 +8690,7 @@ class LauncherElement extends BaseElement {
8829
8690
  }
8830
8691
 
8831
8692
  module.exports = LauncherElement;
8832
- },{"./base/base-element.js":124}],133:[function(require,module,exports){
8693
+ },{"./base/base-element.js":120}],129:[function(require,module,exports){
8833
8694
  const BaseElement = require("./base/base-element.js");
8834
8695
 
8835
8696
  class ModelElement extends BaseElement {
@@ -8864,7 +8725,7 @@ class ModelElement extends BaseElement {
8864
8725
  }
8865
8726
 
8866
8727
  module.exports = ModelElement;
8867
- },{"./base/base-element.js":124}],134:[function(require,module,exports){
8728
+ },{"./base/base-element.js":120}],130:[function(require,module,exports){
8868
8729
  const BaseElement = require("./base/base-element.js");
8869
8730
 
8870
8731
  class ProductElement extends BaseElement {
@@ -8902,7 +8763,7 @@ class ProductElement extends BaseElement {
8902
8763
  }
8903
8764
 
8904
8765
  module.exports = ProductElement;
8905
- },{"./base/base-element.js":124}],135:[function(require,module,exports){
8766
+ },{"./base/base-element.js":120}],131:[function(require,module,exports){
8906
8767
  const BaseElement = require("./base/base-element.js");
8907
8768
 
8908
8769
  class StudioElement extends BaseElement {
@@ -8930,7 +8791,7 @@ class StudioElement extends BaseElement {
8930
8791
  }
8931
8792
 
8932
8793
  module.exports = StudioElement;
8933
- },{"./base/base-element.js":124}],136:[function(require,module,exports){
8794
+ },{"./base/base-element.js":120}],132:[function(require,module,exports){
8934
8795
  const BaseElement = require("./base/base-element.js");
8935
8796
 
8936
8797
  class ViewerElement extends BaseElement {
@@ -8964,7 +8825,7 @@ class ViewerElement extends BaseElement {
8964
8825
  }
8965
8826
 
8966
8827
  module.exports = ViewerElement;
8967
- },{"./base/base-element.js":124}],137:[function(require,module,exports){
8828
+ },{"./base/base-element.js":120}],133:[function(require,module,exports){
8968
8829
  const BaseElement = require("./base/base-element.js");
8969
8830
 
8970
8831
  class WebXRElement extends BaseElement {
@@ -8982,7 +8843,7 @@ class WebXRElement extends BaseElement {
8982
8843
  }
8983
8844
 
8984
8845
  module.exports = WebXRElement;
8985
- },{"./base/base-element.js":124}],138:[function(require,module,exports){
8846
+ },{"./base/base-element.js":120}],134:[function(require,module,exports){
8986
8847
  "use strict";
8987
8848
  const WebXRElement = require("./elements/webxr-element.js");
8988
8849
  const ViewerElement = require("./elements/viewer-element.js");
@@ -8995,6 +8856,7 @@ const ModelElement = require("./elements/model-element.js");
8995
8856
  const ConfiguratorElement = require("./elements/configurator-element.js");
8996
8857
  const LauncherElement = require("./elements/launcher-element.js");
8997
8858
  const GalleryElement = require("./elements/gallery-element.js");
8859
+ const AdhocElement = require("./elements/adhoc-element.js");
8998
8860
  const Version = require("./version");
8999
8861
 
9000
8862
  if (customElements.get("plattar-webxr") === undefined) {
@@ -9041,17 +8903,21 @@ if (customElements.get("plattar-launcher") === undefined) {
9041
8903
  customElements.define("plattar-launcher", LauncherElement);
9042
8904
  }
9043
8905
 
8906
+ if (customElements.get("plattar-adhoc") === undefined) {
8907
+ customElements.define("plattar-adhoc", AdhocElement);
8908
+ }
8909
+
9044
8910
  console.log("using @plattar/plattar-web v" + Version);
9045
8911
 
9046
8912
  module.exports = {
9047
8913
  version: Version
9048
8914
  };
9049
- },{"./elements/configurator-element.js":125,"./elements/editor-element.js":128,"./elements/ewall-element.js":129,"./elements/facear-element.js":130,"./elements/gallery-element.js":131,"./elements/launcher-element.js":132,"./elements/model-element.js":133,"./elements/product-element.js":134,"./elements/studio-element.js":135,"./elements/viewer-element.js":136,"./elements/webxr-element.js":137,"./version":140}],139:[function(require,module,exports){
8915
+ },{"./elements/adhoc-element.js":119,"./elements/configurator-element.js":121,"./elements/editor-element.js":124,"./elements/ewall-element.js":125,"./elements/facear-element.js":126,"./elements/gallery-element.js":127,"./elements/launcher-element.js":128,"./elements/model-element.js":129,"./elements/product-element.js":130,"./elements/studio-element.js":131,"./elements/viewer-element.js":132,"./elements/webxr-element.js":133,"./version":136}],135:[function(require,module,exports){
9050
8916
  class Util {
9051
8917
  static getServerLocation(server) {
9052
8918
  switch (server) {
9053
8919
  case "production": return "https://renderer.plattar.com/";
9054
- case "staging": return "https://renderer-staging.plattar.com/";
8920
+ case "staging": return "https://renderer.plattar.space/";
9055
8921
  case "review": return "https://renderer-review.plattar.com/";
9056
8922
  case "dev": return "https://localhost/";
9057
8923
  default: return undefined;
@@ -9080,6 +8946,7 @@ class Util {
9080
8946
  case "gallery":
9081
8947
  case "model":
9082
8948
  case "configurator":
8949
+ case "adhoc":
9083
8950
  case "webxr": return true;
9084
8951
  default: return false;
9085
8952
  }
@@ -9106,10 +8973,10 @@ class Util {
9106
8973
  }
9107
8974
 
9108
8975
  module.exports = Util;
9109
- },{}],140:[function(require,module,exports){
9110
- module.exports = "2.5.3";
8976
+ },{}],136:[function(require,module,exports){
8977
+ module.exports = "2.7.2";
9111
8978
 
9112
- },{}],141:[function(require,module,exports){
8979
+ },{}],137:[function(require,module,exports){
9113
8980
  'use strict'
9114
8981
 
9115
8982
  exports.byteLength = byteLength
@@ -9261,7 +9128,7 @@ function fromByteArray (uint8) {
9261
9128
  return parts.join('')
9262
9129
  }
9263
9130
 
9264
- },{}],142:[function(require,module,exports){
9131
+ },{}],138:[function(require,module,exports){
9265
9132
  (function (Buffer){(function (){
9266
9133
  /*!
9267
9134
  * The buffer module from node.js, for the browser.
@@ -11042,7 +10909,7 @@ function numberIsNaN (obj) {
11042
10909
  }
11043
10910
 
11044
10911
  }).call(this)}).call(this,require("buffer").Buffer)
11045
- },{"base64-js":141,"buffer":142,"ieee754":143}],143:[function(require,module,exports){
10912
+ },{"base64-js":137,"buffer":138,"ieee754":139}],139:[function(require,module,exports){
11046
10913
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
11047
10914
  exports.read = function (buffer, offset, isLE, mLen, nBytes) {
11048
10915
  var e, m
@@ -11129,7 +10996,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
11129
10996
  buffer[offset + i - d] |= s * 128
11130
10997
  }
11131
10998
 
11132
- },{}],144:[function(require,module,exports){
10999
+ },{}],140:[function(require,module,exports){
11133
11000
  (function (global){(function (){
11134
11001
  "use strict";
11135
11002
 
@@ -11158,11 +11025,11 @@ exports.Request = globalObject.Request;
11158
11025
  exports.Response = globalObject.Response;
11159
11026
 
11160
11027
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
11161
- },{}],145:[function(require,module,exports){
11028
+ },{}],141:[function(require,module,exports){
11162
11029
  (function (global){(function (){
11163
11030
  !function(e){var t;"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):("undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.objectHash=e())}(function(){return function r(o,i,u){function s(n,e){if(!i[n]){if(!o[n]){var t="function"==typeof require&&require;if(!e&&t)return t(n,!0);if(a)return a(n,!0);throw new Error("Cannot find module '"+n+"'")}e=i[n]={exports:{}};o[n][0].call(e.exports,function(e){var t=o[n][1][e];return s(t||e)},e,e.exports,r,o,i,u)}return i[n].exports}for(var a="function"==typeof require&&require,e=0;e<u.length;e++)s(u[e]);return s}({1:[function(w,b,m){!function(e,n,s,c,d,h,p,g,y){"use strict";var r=w("crypto");function t(e,t){t=u(e,t);var n;return void 0===(n="passthrough"!==t.algorithm?r.createHash(t.algorithm):new l).write&&(n.write=n.update,n.end=n.update),f(t,n).dispatch(e),n.update||n.end(""),n.digest?n.digest("buffer"===t.encoding?void 0:t.encoding):(e=n.read(),"buffer"!==t.encoding?e.toString(t.encoding):e)}(m=b.exports=t).sha1=function(e){return t(e)},m.keys=function(e){return t(e,{excludeValues:!0,algorithm:"sha1",encoding:"hex"})},m.MD5=function(e){return t(e,{algorithm:"md5",encoding:"hex"})},m.keysMD5=function(e){return t(e,{algorithm:"md5",encoding:"hex",excludeValues:!0})};var o=r.getHashes?r.getHashes().slice():["sha1","md5"],i=(o.push("passthrough"),["buffer","hex","binary","base64"]);function u(e,t){var n={};if(n.algorithm=(t=t||{}).algorithm||"sha1",n.encoding=t.encoding||"hex",n.excludeValues=!!t.excludeValues,n.algorithm=n.algorithm.toLowerCase(),n.encoding=n.encoding.toLowerCase(),n.ignoreUnknown=!0===t.ignoreUnknown,n.respectType=!1!==t.respectType,n.respectFunctionNames=!1!==t.respectFunctionNames,n.respectFunctionProperties=!1!==t.respectFunctionProperties,n.unorderedArrays=!0===t.unorderedArrays,n.unorderedSets=!1!==t.unorderedSets,n.unorderedObjects=!1!==t.unorderedObjects,n.replacer=t.replacer||void 0,n.excludeKeys=t.excludeKeys||void 0,void 0===e)throw new Error("Object argument required.");for(var r=0;r<o.length;++r)o[r].toLowerCase()===n.algorithm.toLowerCase()&&(n.algorithm=o[r]);if(-1===o.indexOf(n.algorithm))throw new Error('Algorithm "'+n.algorithm+'" not supported. supported values: '+o.join(", "));if(-1===i.indexOf(n.encoding)&&"passthrough"!==n.algorithm)throw new Error('Encoding "'+n.encoding+'" not supported. supported values: '+i.join(", "));return n}function a(e){if("function"==typeof e)return null!=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i.exec(Function.prototype.toString.call(e))}function f(o,t,i){i=i||[];function u(e){return t.update?t.update(e,"utf8"):t.write(e,"utf8")}return{dispatch:function(e){return this["_"+(null===(e=o.replacer?o.replacer(e):e)?"null":typeof e)](e)},_object:function(t){var n,e=Object.prototype.toString.call(t),r=/\[object (.*)\]/i.exec(e);r=(r=r?r[1]:"unknown:["+e+"]").toLowerCase();if(0<=(e=i.indexOf(t)))return this.dispatch("[CIRCULAR:"+e+"]");if(i.push(t),void 0!==s&&s.isBuffer&&s.isBuffer(t))return u("buffer:"),u(t);if("object"===r||"function"===r||"asyncfunction"===r)return e=Object.keys(t),o.unorderedObjects&&(e=e.sort()),!1===o.respectType||a(t)||e.splice(0,0,"prototype","__proto__","constructor"),o.excludeKeys&&(e=e.filter(function(e){return!o.excludeKeys(e)})),u("object:"+e.length+":"),n=this,e.forEach(function(e){n.dispatch(e),u(":"),o.excludeValues||n.dispatch(t[e]),u(",")});if(!this["_"+r]){if(o.ignoreUnknown)return u("["+r+"]");throw new Error('Unknown object type "'+r+'"')}this["_"+r](t)},_array:function(e,t){t=void 0!==t?t:!1!==o.unorderedArrays;var n=this;if(u("array:"+e.length+":"),!t||e.length<=1)return e.forEach(function(e){return n.dispatch(e)});var r=[],t=e.map(function(e){var t=new l,n=i.slice();return f(o,t,n).dispatch(e),r=r.concat(n.slice(i.length)),t.read().toString()});return i=i.concat(r),t.sort(),this._array(t,!1)},_date:function(e){return u("date:"+e.toJSON())},_symbol:function(e){return u("symbol:"+e.toString())},_error:function(e){return u("error:"+e.toString())},_boolean:function(e){return u("bool:"+e.toString())},_string:function(e){u("string:"+e.length+":"),u(e.toString())},_function:function(e){u("fn:"),a(e)?this.dispatch("[native]"):this.dispatch(e.toString()),!1!==o.respectFunctionNames&&this.dispatch("function-name:"+String(e.name)),o.respectFunctionProperties&&this._object(e)},_number:function(e){return u("number:"+e.toString())},_xml:function(e){return u("xml:"+e.toString())},_null:function(){return u("Null")},_undefined:function(){return u("Undefined")},_regexp:function(e){return u("regex:"+e.toString())},_uint8array:function(e){return u("uint8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint8clampedarray:function(e){return u("uint8clampedarray:"),this.dispatch(Array.prototype.slice.call(e))},_int8array:function(e){return u("int8array:"),this.dispatch(Array.prototype.slice.call(e))},_uint16array:function(e){return u("uint16array:"),this.dispatch(Array.prototype.slice.call(e))},_int16array:function(e){return u("int16array:"),this.dispatch(Array.prototype.slice.call(e))},_uint32array:function(e){return u("uint32array:"),this.dispatch(Array.prototype.slice.call(e))},_int32array:function(e){return u("int32array:"),this.dispatch(Array.prototype.slice.call(e))},_float32array:function(e){return u("float32array:"),this.dispatch(Array.prototype.slice.call(e))},_float64array:function(e){return u("float64array:"),this.dispatch(Array.prototype.slice.call(e))},_arraybuffer:function(e){return u("arraybuffer:"),this.dispatch(new Uint8Array(e))},_url:function(e){return u("url:"+e.toString())},_map:function(e){u("map:");e=Array.from(e);return this._array(e,!1!==o.unorderedSets)},_set:function(e){u("set:");e=Array.from(e);return this._array(e,!1!==o.unorderedSets)},_file:function(e){return u("file:"),this.dispatch([e.name,e.size,e.type,e.lastModfied])},_blob:function(){if(o.ignoreUnknown)return u("[blob]");throw Error('Hashing Blob objects is currently not supported\n(see https://github.com/puleos/object-hash/issues/26)\nUse "options.replacer" or "options.ignoreUnknown"\n')},_domwindow:function(){return u("domwindow")},_bigint:function(e){return u("bigint:"+e.toString())},_process:function(){return u("process")},_timer:function(){return u("timer")},_pipe:function(){return u("pipe")},_tcp:function(){return u("tcp")},_udp:function(){return u("udp")},_tty:function(){return u("tty")},_statwatcher:function(){return u("statwatcher")},_securecontext:function(){return u("securecontext")},_connection:function(){return u("connection")},_zlib:function(){return u("zlib")},_context:function(){return u("context")},_nodescript:function(){return u("nodescript")},_httpparser:function(){return u("httpparser")},_dataview:function(){return u("dataview")},_signal:function(){return u("signal")},_fsevent:function(){return u("fsevent")},_tlswrap:function(){return u("tlswrap")}}}function l(){return{buf:"",write:function(e){this.buf+=e},end:function(e){this.buf+=e},read:function(){return this.buf}}}m.writeToStream=function(e,t,n){return void 0===n&&(n=t,t={}),f(t=u(e,t),n).dispatch(e)}}.call(this,w("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},w("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/fake_9a5aa49d.js","/")},{buffer:3,crypto:5,lYpoI2:11}],2:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){!function(e){"use strict";var a="undefined"!=typeof Uint8Array?Uint8Array:Array,t="+".charCodeAt(0),n="/".charCodeAt(0),r="0".charCodeAt(0),o="a".charCodeAt(0),i="A".charCodeAt(0),u="-".charCodeAt(0),s="_".charCodeAt(0);function f(e){e=e.charCodeAt(0);return e===t||e===u?62:e===n||e===s?63:e<r?-1:e<r+10?e-r+26+26:e<i+26?e-i:e<o+26?e-o+26:void 0}e.toByteArray=function(e){var t,n;if(0<e.length%4)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.length,r="="===e.charAt(r-2)?2:"="===e.charAt(r-1)?1:0,o=new a(3*e.length/4-r),i=0<r?e.length-4:e.length,u=0;function s(e){o[u++]=e}for(t=0;t<i;t+=4,0)s((16711680&(n=f(e.charAt(t))<<18|f(e.charAt(t+1))<<12|f(e.charAt(t+2))<<6|f(e.charAt(t+3))))>>16),s((65280&n)>>8),s(255&n);return 2==r?s(255&(n=f(e.charAt(t))<<2|f(e.charAt(t+1))>>4)):1==r&&(s((n=f(e.charAt(t))<<10|f(e.charAt(t+1))<<4|f(e.charAt(t+2))>>2)>>8&255),s(255&n)),o},e.fromByteArray=function(e){var t,n,r,o,i=e.length%3,u="";function s(e){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e)}for(t=0,r=e.length-i;t<r;t+=3)n=(e[t]<<16)+(e[t+1]<<8)+e[t+2],u+=s((o=n)>>18&63)+s(o>>12&63)+s(o>>6&63)+s(63&o);switch(i){case 1:u=(u+=s((n=e[e.length-1])>>2))+s(n<<4&63)+"==";break;case 2:u=(u=(u+=s((n=(e[e.length-2]<<8)+e[e.length-1])>>10))+s(n>>4&63))+s(n<<2&63)+"="}return u}}(void 0===f?this.base64js={}:f)}.call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/base64-js/lib/b64.js","/node_modules/gulp-browserify/node_modules/base64-js/lib")},{buffer:3,lYpoI2:11}],3:[function(O,e,H){!function(e,n,f,r,h,p,g,y,w){var a=O("base64-js"),i=O("ieee754");function f(e,t,n){if(!(this instanceof f))return new f(e,t,n);var r,o,i,u,s=typeof e;if("base64"===t&&"string"==s)for(e=(u=e).trim?u.trim():u.replace(/^\s+|\s+$/g,"");e.length%4!=0;)e+="=";if("number"==s)r=j(e);else if("string"==s)r=f.byteLength(e,t);else{if("object"!=s)throw new Error("First argument needs to be a number, array or string.");r=j(e.length)}if(f._useTypedArrays?o=f._augment(new Uint8Array(r)):((o=this).length=r,o._isBuffer=!0),f._useTypedArrays&&"number"==typeof e.byteLength)o._set(e);else if(C(u=e)||f.isBuffer(u)||u&&"object"==typeof u&&"number"==typeof u.length)for(i=0;i<r;i++)f.isBuffer(e)?o[i]=e.readUInt8(i):o[i]=e[i];else if("string"==s)o.write(e,0,t);else if("number"==s&&!f._useTypedArrays&&!n)for(i=0;i<r;i++)o[i]=0;return o}function b(e,t,n,r){return f._charsWritten=c(function(e){for(var t=[],n=0;n<e.length;n++)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function m(e,t,n,r){return f._charsWritten=c(function(e){for(var t,n,r=[],o=0;o<e.length;o++)n=e.charCodeAt(o),t=n>>8,n=n%256,r.push(n),r.push(t);return r}(t),e,n,r)}function v(e,t,n){var r="";n=Math.min(e.length,n);for(var o=t;o<n;o++)r+=String.fromCharCode(e[o]);return r}function o(e,t,n,r){r||(d("boolean"==typeof n,"missing or invalid endian"),d(null!=t,"missing offset"),d(t+1<e.length,"Trying to read beyond buffer length"));var o,r=e.length;if(!(r<=t))return n?(o=e[t],t+1<r&&(o|=e[t+1]<<8)):(o=e[t]<<8,t+1<r&&(o|=e[t+1])),o}function u(e,t,n,r){r||(d("boolean"==typeof n,"missing or invalid endian"),d(null!=t,"missing offset"),d(t+3<e.length,"Trying to read beyond buffer length"));var o,r=e.length;if(!(r<=t))return n?(t+2<r&&(o=e[t+2]<<16),t+1<r&&(o|=e[t+1]<<8),o|=e[t],t+3<r&&(o+=e[t+3]<<24>>>0)):(t+1<r&&(o=e[t+1]<<16),t+2<r&&(o|=e[t+2]<<8),t+3<r&&(o|=e[t+3]),o+=e[t]<<24>>>0),o}function _(e,t,n,r){if(r||(d("boolean"==typeof n,"missing or invalid endian"),d(null!=t,"missing offset"),d(t+1<e.length,"Trying to read beyond buffer length")),!(e.length<=t))return r=o(e,t,n,!0),32768&r?-1*(65535-r+1):r}function E(e,t,n,r){if(r||(d("boolean"==typeof n,"missing or invalid endian"),d(null!=t,"missing offset"),d(t+3<e.length,"Trying to read beyond buffer length")),!(e.length<=t))return r=u(e,t,n,!0),2147483648&r?-1*(4294967295-r+1):r}function I(e,t,n,r){return r||(d("boolean"==typeof n,"missing or invalid endian"),d(t+3<e.length,"Trying to read beyond buffer length")),i.read(e,t,n,23,4)}function A(e,t,n,r){return r||(d("boolean"==typeof n,"missing or invalid endian"),d(t+7<e.length,"Trying to read beyond buffer length")),i.read(e,t,n,52,8)}function s(e,t,n,r,o){o||(d(null!=t,"missing value"),d("boolean"==typeof r,"missing or invalid endian"),d(null!=n,"missing offset"),d(n+1<e.length,"trying to write beyond buffer length"),Y(t,65535));o=e.length;if(!(o<=n))for(var i=0,u=Math.min(o-n,2);i<u;i++)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function l(e,t,n,r,o){o||(d(null!=t,"missing value"),d("boolean"==typeof r,"missing or invalid endian"),d(null!=n,"missing offset"),d(n+3<e.length,"trying to write beyond buffer length"),Y(t,4294967295));o=e.length;if(!(o<=n))for(var i=0,u=Math.min(o-n,4);i<u;i++)e[n+i]=t>>>8*(r?i:3-i)&255}function B(e,t,n,r,o){o||(d(null!=t,"missing value"),d("boolean"==typeof r,"missing or invalid endian"),d(null!=n,"missing offset"),d(n+1<e.length,"Trying to write beyond buffer length"),F(t,32767,-32768)),e.length<=n||s(e,0<=t?t:65535+t+1,n,r,o)}function L(e,t,n,r,o){o||(d(null!=t,"missing value"),d("boolean"==typeof r,"missing or invalid endian"),d(null!=n,"missing offset"),d(n+3<e.length,"Trying to write beyond buffer length"),F(t,2147483647,-2147483648)),e.length<=n||l(e,0<=t?t:4294967295+t+1,n,r,o)}function U(e,t,n,r,o){o||(d(null!=t,"missing value"),d("boolean"==typeof r,"missing or invalid endian"),d(null!=n,"missing offset"),d(n+3<e.length,"Trying to write beyond buffer length"),D(t,34028234663852886e22,-34028234663852886e22)),e.length<=n||i.write(e,t,n,r,23,4)}function x(e,t,n,r,o){o||(d(null!=t,"missing value"),d("boolean"==typeof r,"missing or invalid endian"),d(null!=n,"missing offset"),d(n+7<e.length,"Trying to write beyond buffer length"),D(t,17976931348623157e292,-17976931348623157e292)),e.length<=n||i.write(e,t,n,r,52,8)}H.Buffer=f,H.SlowBuffer=f,H.INSPECT_MAX_BYTES=50,f.poolSize=8192,f._useTypedArrays=function(){try{var e=new ArrayBuffer(0),t=new Uint8Array(e);return t.foo=function(){return 42},42===t.foo()&&"function"==typeof t.subarray}catch(e){return!1}}(),f.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},f.isBuffer=function(e){return!(null==e||!e._isBuffer)},f.byteLength=function(e,t){var n;switch(e+="",t||"utf8"){case"hex":n=e.length/2;break;case"utf8":case"utf-8":n=T(e).length;break;case"ascii":case"binary":case"raw":n=e.length;break;case"base64":n=M(e).length;break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":n=2*e.length;break;default:throw new Error("Unknown encoding")}return n},f.concat=function(e,t){if(d(C(e),"Usage: Buffer.concat(list, [totalLength])\nlist should be an Array."),0===e.length)return new f(0);if(1===e.length)return e[0];if("number"!=typeof t)for(o=t=0;o<e.length;o++)t+=e[o].length;for(var n=new f(t),r=0,o=0;o<e.length;o++){var i=e[o];i.copy(n,r),r+=i.length}return n},f.prototype.write=function(e,t,n,r){isFinite(t)?isFinite(n)||(r=n,n=void 0):(a=r,r=t,t=n,n=a),t=Number(t)||0;var o,i,u,s,a=this.length-t;switch((!n||a<(n=Number(n)))&&(n=a),r=String(r||"utf8").toLowerCase()){case"hex":o=function(e,t,n,r){n=Number(n)||0;var o=e.length-n;(!r||o<(r=Number(r)))&&(r=o),d((o=t.length)%2==0,"Invalid hex string"),o/2<r&&(r=o/2);for(var i=0;i<r;i++){var u=parseInt(t.substr(2*i,2),16);d(!isNaN(u),"Invalid hex string"),e[n+i]=u}return f._charsWritten=2*i,i}(this,e,t,n);break;case"utf8":case"utf-8":i=this,u=t,s=n,o=f._charsWritten=c(T(e),i,u,s);break;case"ascii":case"binary":o=b(this,e,t,n);break;case"base64":i=this,u=t,s=n,o=f._charsWritten=c(M(e),i,u,s);break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":o=m(this,e,t,n);break;default:throw new Error("Unknown encoding")}return o},f.prototype.toString=function(e,t,n){var r,o,i,u,s=this;if(e=String(e||"utf8").toLowerCase(),t=Number(t)||0,(n=void 0!==n?Number(n):s.length)===t)return"";switch(e){case"hex":r=function(e,t,n){var r=e.length;(!t||t<0)&&(t=0);(!n||n<0||r<n)&&(n=r);for(var o="",i=t;i<n;i++)o+=k(e[i]);return o}(s,t,n);break;case"utf8":case"utf-8":r=function(e,t,n){var r="",o="";n=Math.min(e.length,n);for(var i=t;i<n;i++)e[i]<=127?(r+=N(o)+String.fromCharCode(e[i]),o=""):o+="%"+e[i].toString(16);return r+N(o)}(s,t,n);break;case"ascii":case"binary":r=v(s,t,n);break;case"base64":o=s,u=n,r=0===(i=t)&&u===o.length?a.fromByteArray(o):a.fromByteArray(o.slice(i,u));break;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":r=function(e,t,n){for(var r=e.slice(t,n),o="",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}(s,t,n);break;default:throw new Error("Unknown encoding")}return r},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},f.prototype.copy=function(e,t,n,r){if(t=t||0,(r=r||0===r?r:this.length)!==(n=n||0)&&0!==e.length&&0!==this.length){d(n<=r,"sourceEnd < sourceStart"),d(0<=t&&t<e.length,"targetStart out of bounds"),d(0<=n&&n<this.length,"sourceStart out of bounds"),d(0<=r&&r<=this.length,"sourceEnd out of bounds"),r>this.length&&(r=this.length);var o=(r=e.length-t<r-n?e.length-t+n:r)-n;if(o<100||!f._useTypedArrays)for(var i=0;i<o;i++)e[i+t]=this[i+n];else e._set(this.subarray(n,n+o),t)}},f.prototype.slice=function(e,t){var n=this.length;if(e=S(e,n,0),t=S(t,n,n),f._useTypedArrays)return f._augment(this.subarray(e,t));for(var r=t-e,o=new f(r,void 0,!0),i=0;i<r;i++)o[i]=this[i+e];return o},f.prototype.get=function(e){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(e)},f.prototype.set=function(e,t){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(e,t)},f.prototype.readUInt8=function(e,t){if(t||(d(null!=e,"missing offset"),d(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length))return this[e]},f.prototype.readUInt16LE=function(e,t){return o(this,e,!0,t)},f.prototype.readUInt16BE=function(e,t){return o(this,e,!1,t)},f.prototype.readUInt32LE=function(e,t){return u(this,e,!0,t)},f.prototype.readUInt32BE=function(e,t){return u(this,e,!1,t)},f.prototype.readInt8=function(e,t){if(t||(d(null!=e,"missing offset"),d(e<this.length,"Trying to read beyond buffer length")),!(e>=this.length))return 128&this[e]?-1*(255-this[e]+1):this[e]},f.prototype.readInt16LE=function(e,t){return _(this,e,!0,t)},f.prototype.readInt16BE=function(e,t){return _(this,e,!1,t)},f.prototype.readInt32LE=function(e,t){return E(this,e,!0,t)},f.prototype.readInt32BE=function(e,t){return E(this,e,!1,t)},f.prototype.readFloatLE=function(e,t){return I(this,e,!0,t)},f.prototype.readFloatBE=function(e,t){return I(this,e,!1,t)},f.prototype.readDoubleLE=function(e,t){return A(this,e,!0,t)},f.prototype.readDoubleBE=function(e,t){return A(this,e,!1,t)},f.prototype.writeUInt8=function(e,t,n){n||(d(null!=e,"missing value"),d(null!=t,"missing offset"),d(t<this.length,"trying to write beyond buffer length"),Y(e,255)),t>=this.length||(this[t]=e)},f.prototype.writeUInt16LE=function(e,t,n){s(this,e,t,!0,n)},f.prototype.writeUInt16BE=function(e,t,n){s(this,e,t,!1,n)},f.prototype.writeUInt32LE=function(e,t,n){l(this,e,t,!0,n)},f.prototype.writeUInt32BE=function(e,t,n){l(this,e,t,!1,n)},f.prototype.writeInt8=function(e,t,n){n||(d(null!=e,"missing value"),d(null!=t,"missing offset"),d(t<this.length,"Trying to write beyond buffer length"),F(e,127,-128)),t>=this.length||(0<=e?this.writeUInt8(e,t,n):this.writeUInt8(255+e+1,t,n))},f.prototype.writeInt16LE=function(e,t,n){B(this,e,t,!0,n)},f.prototype.writeInt16BE=function(e,t,n){B(this,e,t,!1,n)},f.prototype.writeInt32LE=function(e,t,n){L(this,e,t,!0,n)},f.prototype.writeInt32BE=function(e,t,n){L(this,e,t,!1,n)},f.prototype.writeFloatLE=function(e,t,n){U(this,e,t,!0,n)},f.prototype.writeFloatBE=function(e,t,n){U(this,e,t,!1,n)},f.prototype.writeDoubleLE=function(e,t,n){x(this,e,t,!0,n)},f.prototype.writeDoubleBE=function(e,t,n){x(this,e,t,!1,n)},f.prototype.fill=function(e,t,n){if(t=t||0,n=n||this.length,d("number"==typeof(e="string"==typeof(e=e||0)?e.charCodeAt(0):e)&&!isNaN(e),"value is not a number"),d(t<=n,"end < start"),n!==t&&0!==this.length){d(0<=t&&t<this.length,"start out of bounds"),d(0<=n&&n<=this.length,"end out of bounds");for(var r=t;r<n;r++)this[r]=e}},f.prototype.inspect=function(){for(var e=[],t=this.length,n=0;n<t;n++)if(e[n]=k(this[n]),n===H.INSPECT_MAX_BYTES){e[n+1]="...";break}return"<Buffer "+e.join(" ")+">"},f.prototype.toArrayBuffer=function(){if("undefined"==typeof Uint8Array)throw new Error("Buffer.toArrayBuffer not supported in this browser");if(f._useTypedArrays)return new f(this).buffer;for(var e=new Uint8Array(this.length),t=0,n=e.length;t<n;t+=1)e[t]=this[t];return e.buffer};var t=f.prototype;function S(e,t,n){return"number"!=typeof e?n:t<=(e=~~e)?t:0<=e||0<=(e+=t)?e:0}function j(e){return(e=~~Math.ceil(+e))<0?0:e}function C(e){return(Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)})(e)}function k(e){return e<16?"0"+e.toString(16):e.toString(16)}function T(e){for(var t=[],n=0;n<e.length;n++){var r=e.charCodeAt(n);if(r<=127)t.push(e.charCodeAt(n));else for(var o=n,i=(55296<=r&&r<=57343&&n++,encodeURIComponent(e.slice(o,n+1)).substr(1).split("%")),u=0;u<i.length;u++)t.push(parseInt(i[u],16))}return t}function M(e){return a.toByteArray(e)}function c(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);o++)t[o+n]=e[o];return o}function N(e){try{return decodeURIComponent(e)}catch(e){return String.fromCharCode(65533)}}function Y(e,t){d("number"==typeof e,"cannot write a non-number as a number"),d(0<=e,"specified a negative value for writing an unsigned value"),d(e<=t,"value is larger than maximum value for type"),d(Math.floor(e)===e,"value has a fractional component")}function F(e,t,n){d("number"==typeof e,"cannot write a non-number as a number"),d(e<=t,"value larger than maximum allowed value"),d(n<=e,"value smaller than minimum allowed value"),d(Math.floor(e)===e,"value has a fractional component")}function D(e,t,n){d("number"==typeof e,"cannot write a non-number as a number"),d(e<=t,"value larger than maximum allowed value"),d(n<=e,"value smaller than minimum allowed value")}function d(e,t){if(!e)throw new Error(t||"Failed assertion")}f._augment=function(e){return e._isBuffer=!0,e._get=e.get,e._set=e.set,e.get=t.get,e.set=t.set,e.write=t.write,e.toString=t.toString,e.toLocaleString=t.toString,e.toJSON=t.toJSON,e.copy=t.copy,e.slice=t.slice,e.readUInt8=t.readUInt8,e.readUInt16LE=t.readUInt16LE,e.readUInt16BE=t.readUInt16BE,e.readUInt32LE=t.readUInt32LE,e.readUInt32BE=t.readUInt32BE,e.readInt8=t.readInt8,e.readInt16LE=t.readInt16LE,e.readInt16BE=t.readInt16BE,e.readInt32LE=t.readInt32LE,e.readInt32BE=t.readInt32BE,e.readFloatLE=t.readFloatLE,e.readFloatBE=t.readFloatBE,e.readDoubleLE=t.readDoubleLE,e.readDoubleBE=t.readDoubleBE,e.writeUInt8=t.writeUInt8,e.writeUInt16LE=t.writeUInt16LE,e.writeUInt16BE=t.writeUInt16BE,e.writeUInt32LE=t.writeUInt32LE,e.writeUInt32BE=t.writeUInt32BE,e.writeInt8=t.writeInt8,e.writeInt16LE=t.writeInt16LE,e.writeInt16BE=t.writeInt16BE,e.writeInt32LE=t.writeInt32LE,e.writeInt32BE=t.writeInt32BE,e.writeFloatLE=t.writeFloatLE,e.writeFloatBE=t.writeFloatBE,e.writeDoubleLE=t.writeDoubleLE,e.writeDoubleBE=t.writeDoubleBE,e.fill=t.fill,e.inspect=t.inspect,e.toArrayBuffer=t.toArrayBuffer,e}}.call(this,O("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},O("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/buffer/index.js","/node_modules/gulp-browserify/node_modules/buffer")},{"base64-js":2,buffer:3,ieee754:10,lYpoI2:11}],4:[function(c,d,e){!function(e,t,a,n,r,o,i,u,s){var a=c("buffer").Buffer,f=4,l=new a(f);l.fill(0);d.exports={hash:function(e,t,n,r){for(var o=t(function(e,t){e.length%f!=0&&(n=e.length+(f-e.length%f),e=a.concat([e,l],n));for(var n,r=[],o=t?e.readInt32BE:e.readInt32LE,i=0;i<e.length;i+=f)r.push(o.call(e,i));return r}(e=a.isBuffer(e)?e:new a(e),r),8*e.length),t=r,i=new a(n),u=t?i.writeInt32BE:i.writeInt32LE,s=0;s<o.length;s++)u.call(i,o[s],4*s,!0);return i}}}.call(this,c("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},c("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/helpers.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],5:[function(v,e,_){!function(l,c,u,d,h,p,g,y,w){var u=v("buffer").Buffer,e=v("./sha"),t=v("./sha256"),n=v("./rng"),b={sha1:e,sha256:t,md5:v("./md5")},s=64,a=new u(s);function r(e,n){var r=b[e=e||"sha1"],o=[];return r||i("algorithm:",e,"is not yet supported"),{update:function(e){return u.isBuffer(e)||(e=new u(e)),o.push(e),e.length,this},digest:function(e){var t=u.concat(o),t=n?function(e,t,n){u.isBuffer(t)||(t=new u(t)),u.isBuffer(n)||(n=new u(n)),t.length>s?t=e(t):t.length<s&&(t=u.concat([t,a],s));for(var r=new u(s),o=new u(s),i=0;i<s;i++)r[i]=54^t[i],o[i]=92^t[i];return n=e(u.concat([r,n])),e(u.concat([o,n]))}(r,n,t):r(t);return o=null,e?t.toString(e):t}}}function i(){var e=[].slice.call(arguments).join(" ");throw new Error([e,"we accept pull requests","http://github.com/dominictarr/crypto-browserify"].join("\n"))}a.fill(0),_.createHash=function(e){return r(e)},_.createHmac=r,_.randomBytes=function(e,t){if(!t||!t.call)return new u(n(e));try{t.call(this,void 0,new u(n(e)))}catch(e){t(e)}};var o,f=["createCredentials","createCipher","createCipheriv","createDecipher","createDecipheriv","createSign","createVerify","createDiffieHellman","pbkdf2"],m=function(e){_[e]=function(){i("sorry,",e,"is not implemented yet")}};for(o in f)m(f[o],o)}.call(this,v("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},v("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/index.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./md5":6,"./rng":7,"./sha":8,"./sha256":9,buffer:3,lYpoI2:11}],6:[function(w,b,e){!function(e,r,o,i,u,a,f,l,y){var t=w("./helpers");function n(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var n=1732584193,r=-271733879,o=-1732584194,i=271733878,u=0;u<e.length;u+=16){var s=n,a=r,f=o,l=i,n=c(n,r,o,i,e[u+0],7,-680876936),i=c(i,n,r,o,e[u+1],12,-389564586),o=c(o,i,n,r,e[u+2],17,606105819),r=c(r,o,i,n,e[u+3],22,-1044525330);n=c(n,r,o,i,e[u+4],7,-176418897),i=c(i,n,r,o,e[u+5],12,1200080426),o=c(o,i,n,r,e[u+6],17,-1473231341),r=c(r,o,i,n,e[u+7],22,-45705983),n=c(n,r,o,i,e[u+8],7,1770035416),i=c(i,n,r,o,e[u+9],12,-1958414417),o=c(o,i,n,r,e[u+10],17,-42063),r=c(r,o,i,n,e[u+11],22,-1990404162),n=c(n,r,o,i,e[u+12],7,1804603682),i=c(i,n,r,o,e[u+13],12,-40341101),o=c(o,i,n,r,e[u+14],17,-1502002290),n=d(n,r=c(r,o,i,n,e[u+15],22,1236535329),o,i,e[u+1],5,-165796510),i=d(i,n,r,o,e[u+6],9,-1069501632),o=d(o,i,n,r,e[u+11],14,643717713),r=d(r,o,i,n,e[u+0],20,-373897302),n=d(n,r,o,i,e[u+5],5,-701558691),i=d(i,n,r,o,e[u+10],9,38016083),o=d(o,i,n,r,e[u+15],14,-660478335),r=d(r,o,i,n,e[u+4],20,-405537848),n=d(n,r,o,i,e[u+9],5,568446438),i=d(i,n,r,o,e[u+14],9,-1019803690),o=d(o,i,n,r,e[u+3],14,-187363961),r=d(r,o,i,n,e[u+8],20,1163531501),n=d(n,r,o,i,e[u+13],5,-1444681467),i=d(i,n,r,o,e[u+2],9,-51403784),o=d(o,i,n,r,e[u+7],14,1735328473),n=h(n,r=d(r,o,i,n,e[u+12],20,-1926607734),o,i,e[u+5],4,-378558),i=h(i,n,r,o,e[u+8],11,-2022574463),o=h(o,i,n,r,e[u+11],16,1839030562),r=h(r,o,i,n,e[u+14],23,-35309556),n=h(n,r,o,i,e[u+1],4,-1530992060),i=h(i,n,r,o,e[u+4],11,1272893353),o=h(o,i,n,r,e[u+7],16,-155497632),r=h(r,o,i,n,e[u+10],23,-1094730640),n=h(n,r,o,i,e[u+13],4,681279174),i=h(i,n,r,o,e[u+0],11,-358537222),o=h(o,i,n,r,e[u+3],16,-722521979),r=h(r,o,i,n,e[u+6],23,76029189),n=h(n,r,o,i,e[u+9],4,-640364487),i=h(i,n,r,o,e[u+12],11,-421815835),o=h(o,i,n,r,e[u+15],16,530742520),n=p(n,r=h(r,o,i,n,e[u+2],23,-995338651),o,i,e[u+0],6,-198630844),i=p(i,n,r,o,e[u+7],10,1126891415),o=p(o,i,n,r,e[u+14],15,-1416354905),r=p(r,o,i,n,e[u+5],21,-57434055),n=p(n,r,o,i,e[u+12],6,1700485571),i=p(i,n,r,o,e[u+3],10,-1894986606),o=p(o,i,n,r,e[u+10],15,-1051523),r=p(r,o,i,n,e[u+1],21,-2054922799),n=p(n,r,o,i,e[u+8],6,1873313359),i=p(i,n,r,o,e[u+15],10,-30611744),o=p(o,i,n,r,e[u+6],15,-1560198380),r=p(r,o,i,n,e[u+13],21,1309151649),n=p(n,r,o,i,e[u+4],6,-145523070),i=p(i,n,r,o,e[u+11],10,-1120210379),o=p(o,i,n,r,e[u+2],15,718787259),r=p(r,o,i,n,e[u+9],21,-343485551),n=g(n,s),r=g(r,a),o=g(o,f),i=g(i,l)}return Array(n,r,o,i)}function s(e,t,n,r,o,i){return g((t=g(g(t,e),g(r,i)))<<o|t>>>32-o,n)}function c(e,t,n,r,o,i,u){return s(t&n|~t&r,e,t,o,i,u)}function d(e,t,n,r,o,i,u){return s(t&r|n&~r,e,t,o,i,u)}function h(e,t,n,r,o,i,u){return s(t^n^r,e,t,o,i,u)}function p(e,t,n,r,o,i,u){return s(n^(t|~r),e,t,o,i,u)}function g(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}b.exports=function(e){return t.hash(e,n,16)}}.call(this,w("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},w("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/md5.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],7:[function(e,l,t){!function(e,t,n,r,o,i,u,s,f){var a;l.exports=a||function(e){for(var t,n=new Array(e),r=0;r<e;r++)0==(3&r)&&(t=4294967296*Math.random()),n[r]=t>>>((3&r)<<3)&255;return n}}.call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/rng.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{buffer:3,lYpoI2:11}],8:[function(c,d,e){!function(e,t,n,r,o,s,a,f,l){var i=c("./helpers");function u(l,c){l[c>>5]|=128<<24-c%32,l[15+(c+64>>9<<4)]=c;for(var e,t,n,r=Array(80),o=1732584193,i=-271733879,u=-1732584194,s=271733878,d=-1009589776,h=0;h<l.length;h+=16){for(var p=o,g=i,y=u,w=s,b=d,a=0;a<80;a++){r[a]=a<16?l[h+a]:v(r[a-3]^r[a-8]^r[a-14]^r[a-16],1);var f=m(m(v(o,5),(f=i,t=u,n=s,(e=a)<20?f&t|~f&n:!(e<40)&&e<60?f&t|f&n|t&n:f^t^n)),m(m(d,r[a]),(e=a)<20?1518500249:e<40?1859775393:e<60?-1894007588:-899497514)),d=s,s=u,u=v(i,30),i=o,o=f}o=m(o,p),i=m(i,g),u=m(u,y),s=m(s,w),d=m(d,b)}return Array(o,i,u,s,d)}function m(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function v(e,t){return e<<t|e>>>32-t}d.exports=function(e){return i.hash(e,u,20,!0)}}.call(this,c("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},c("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],9:[function(c,d,e){!function(e,t,n,r,u,s,a,f,l){function b(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}function o(e,l){var c,d=new Array(1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298),t=new Array(1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225),n=new Array(64);e[l>>5]|=128<<24-l%32,e[15+(l+64>>9<<4)]=l;for(var r,o,h=0;h<e.length;h+=16){for(var i=t[0],u=t[1],s=t[2],p=t[3],a=t[4],g=t[5],y=t[6],w=t[7],f=0;f<64;f++)n[f]=f<16?e[f+h]:b(b(b((o=n[f-2],m(o,17)^m(o,19)^v(o,10)),n[f-7]),(o=n[f-15],m(o,7)^m(o,18)^v(o,3))),n[f-16]),c=b(b(b(b(w,m(o=a,6)^m(o,11)^m(o,25)),a&g^~a&y),d[f]),n[f]),r=b(m(r=i,2)^m(r,13)^m(r,22),i&u^i&s^u&s),w=y,y=g,g=a,a=b(p,c),p=s,s=u,u=i,i=b(c,r);t[0]=b(i,t[0]),t[1]=b(u,t[1]),t[2]=b(s,t[2]),t[3]=b(p,t[3]),t[4]=b(a,t[4]),t[5]=b(g,t[5]),t[6]=b(y,t[6]),t[7]=b(w,t[7])}return t}var i=c("./helpers"),m=function(e,t){return e>>>t|e<<32-t},v=function(e,t){return e>>>t};d.exports=function(e){return i.hash(e,o,32,!0)}}.call(this,c("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},c("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/crypto-browserify/sha256.js","/node_modules/gulp-browserify/node_modules/crypto-browserify")},{"./helpers":4,buffer:3,lYpoI2:11}],10:[function(e,t,f){!function(e,t,n,r,o,i,u,s,a){f.read=function(e,t,n,r,o){var i,u,l=8*o-r-1,c=(1<<l)-1,d=c>>1,s=-7,a=n?o-1:0,f=n?-1:1,o=e[t+a];for(a+=f,i=o&(1<<-s)-1,o>>=-s,s+=l;0<s;i=256*i+e[t+a],a+=f,s-=8);for(u=i&(1<<-s)-1,i>>=-s,s+=r;0<s;u=256*u+e[t+a],a+=f,s-=8);if(0===i)i=1-d;else{if(i===c)return u?NaN:1/0*(o?-1:1);u+=Math.pow(2,r),i-=d}return(o?-1:1)*u*Math.pow(2,i-r)},f.write=function(e,t,l,n,r,c){var o,i,u=8*c-r-1,s=(1<<u)-1,a=s>>1,d=23===r?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:c-1,h=n?1:-1,c=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(i=isNaN(t)?1:0,o=s):(o=Math.floor(Math.log(t)/Math.LN2),t*(n=Math.pow(2,-o))<1&&(o--,n*=2),2<=(t+=1<=o+a?d/n:d*Math.pow(2,1-a))*n&&(o++,n/=2),s<=o+a?(i=0,o=s):1<=o+a?(i=(t*n-1)*Math.pow(2,r),o+=a):(i=t*Math.pow(2,a-1)*Math.pow(2,r),o=0));8<=r;e[l+f]=255&i,f+=h,i/=256,r-=8);for(o=o<<r|i,u+=r;0<u;e[l+f]=255&o,f+=h,o/=256,u-=8);e[l+f-h]|=128*c}}.call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/ieee754/index.js","/node_modules/gulp-browserify/node_modules/ieee754")},{buffer:3,lYpoI2:11}],11:[function(e,h,t){!function(e,t,n,r,o,f,l,c,d){var i,u,s;function a(){}(e=h.exports={}).nextTick=(u="undefined"!=typeof window&&window.setImmediate,s="undefined"!=typeof window&&window.postMessage&&window.addEventListener,u?function(e){return window.setImmediate(e)}:s?(i=[],window.addEventListener("message",function(e){var t=e.source;t!==window&&null!==t||"process-tick"!==e.data||(e.stopPropagation(),0<i.length&&i.shift()())},!0),function(e){i.push(e),window.postMessage("process-tick","*")}):function(e){setTimeout(e,0)}),e.title="browser",e.browser=!0,e.env={},e.argv=[],e.on=a,e.addListener=a,e.once=a,e.off=a,e.removeListener=a,e.removeAllListeners=a,e.emit=a,e.binding=function(e){throw new Error("process.binding is not supported")},e.cwd=function(){return"/"},e.chdir=function(e){throw new Error("process.chdir is not supported")}}.call(this,e("lYpoI2"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},e("buffer").Buffer,arguments[3],arguments[4],arguments[5],arguments[6],"/node_modules/gulp-browserify/node_modules/process/browser.js","/node_modules/gulp-browserify/node_modules/process")},{buffer:3,lYpoI2:11}]},{},[1])(1)});
11164
11031
  }).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
11165
- },{}],146:[function(require,module,exports){
11032
+ },{}],142:[function(require,module,exports){
11166
11033
  // shim for using process in browser
11167
11034
  var process = module.exports = {};
11168
11035
 
@@ -11348,10 +11215,10 @@ process.chdir = function (dir) {
11348
11215
  };
11349
11216
  process.umask = function() { return 0; };
11350
11217
 
11351
- },{}],147:[function(require,module,exports){
11218
+ },{}],143:[function(require,module,exports){
11352
11219
  (function (Buffer){(function (){
11353
11220
  !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.QRCodeStyling=e():t.QRCodeStyling=e()}(this,(()=>(()=>{var t={873:(t,e)=>{var i,r,n=function(){var t=function(t,e){var i=t,r=s[e],n=null,o=0,h=null,p=[],v={},m=function(t,e){n=function(t){for(var e=new Array(t),i=0;i<t;i+=1){e[i]=new Array(t);for(var r=0;r<t;r+=1)e[i][r]=null}return e}(o=4*i+17),b(0,0),b(o-7,0),b(0,o-7),x(),y(),C(t,e),i>=7&&S(t),null==h&&(h=M(i,r,p)),A(h,e)},b=function(t,e){for(var i=-1;i<=7;i+=1)if(!(t+i<=-1||o<=t+i))for(var r=-1;r<=7;r+=1)e+r<=-1||o<=e+r||(n[t+i][e+r]=0<=i&&i<=6&&(0==r||6==r)||0<=r&&r<=6&&(0==i||6==i)||2<=i&&i<=4&&2<=r&&r<=4)},y=function(){for(var t=8;t<o-8;t+=1)null==n[t][6]&&(n[t][6]=t%2==0);for(var e=8;e<o-8;e+=1)null==n[6][e]&&(n[6][e]=e%2==0)},x=function(){for(var t=a.getPatternPosition(i),e=0;e<t.length;e+=1)for(var r=0;r<t.length;r+=1){var o=t[e],s=t[r];if(null==n[o][s])for(var h=-2;h<=2;h+=1)for(var d=-2;d<=2;d+=1)n[o+h][s+d]=-2==h||2==h||-2==d||2==d||0==h&&0==d}},S=function(t){for(var e=a.getBCHTypeNumber(i),r=0;r<18;r+=1){var s=!t&&1==(e>>r&1);n[Math.floor(r/3)][r%3+o-8-3]=s}for(r=0;r<18;r+=1)s=!t&&1==(e>>r&1),n[r%3+o-8-3][Math.floor(r/3)]=s},C=function(t,e){for(var i=r<<3|e,s=a.getBCHTypeInfo(i),h=0;h<15;h+=1){var d=!t&&1==(s>>h&1);h<6?n[h][8]=d:h<8?n[h+1][8]=d:n[o-15+h][8]=d}for(h=0;h<15;h+=1)d=!t&&1==(s>>h&1),h<8?n[8][o-h-1]=d:h<9?n[8][15-h-1+1]=d:n[8][15-h-1]=d;n[o-8][8]=!t},A=function(t,e){for(var i=-1,r=o-1,s=7,h=0,d=a.getMaskFunction(e),u=o-1;u>0;u-=2)for(6==u&&(u-=1);;){for(var c=0;c<2;c+=1)if(null==n[r][u-c]){var l=!1;h<t.length&&(l=1==(t[h]>>>s&1)),d(r,u-c)&&(l=!l),n[r][u-c]=l,-1==(s-=1)&&(h+=1,s=7)}if((r+=i)<0||o<=r){r-=i,i=-i;break}}},M=function(t,e,i){for(var r=u.getRSBlocks(t,e),n=c(),o=0;o<i.length;o+=1){var s=i[o];n.put(s.getMode(),4),n.put(s.getLength(),a.getLengthInBits(s.getMode(),t)),s.write(n)}var h=0;for(o=0;o<r.length;o+=1)h+=r[o].dataCount;if(n.getLengthInBits()>8*h)throw"code length overflow. ("+n.getLengthInBits()+">"+8*h+")";for(n.getLengthInBits()+4<=8*h&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*h||(n.put(236,8),n.getLengthInBits()>=8*h));)n.put(17,8);return function(t,e){for(var i=0,r=0,n=0,o=new Array(e.length),s=new Array(e.length),h=0;h<e.length;h+=1){var u=e[h].dataCount,c=e[h].totalCount-u;r=Math.max(r,u),n=Math.max(n,c),o[h]=new Array(u);for(var l=0;l<o[h].length;l+=1)o[h][l]=255&t.getBuffer()[l+i];i+=u;var g=a.getErrorCorrectPolynomial(c),f=d(o[h],g.getLength()-1).mod(g);for(s[h]=new Array(g.getLength()-1),l=0;l<s[h].length;l+=1){var w=l+f.getLength()-s[h].length;s[h][l]=w>=0?f.getAt(w):0}}var p=0;for(l=0;l<e.length;l+=1)p+=e[l].totalCount;var v=new Array(p),_=0;for(l=0;l<r;l+=1)for(h=0;h<e.length;h+=1)l<o[h].length&&(v[_]=o[h][l],_+=1);for(l=0;l<n;l+=1)for(h=0;h<e.length;h+=1)l<s[h].length&&(v[_]=s[h][l],_+=1);return v}(n,r)};v.addData=function(t,e){var i=null;switch(e=e||"Byte"){case"Numeric":i=l(t);break;case"Alphanumeric":i=g(t);break;case"Byte":i=f(t);break;case"Kanji":i=w(t);break;default:throw"mode:"+e}p.push(i),h=null},v.isDark=function(t,e){if(t<0||o<=t||e<0||o<=e)throw t+","+e;return n[t][e]},v.getModuleCount=function(){return o},v.make=function(){if(i<1){for(var t=1;t<40;t++){for(var e=u.getRSBlocks(t,r),n=c(),o=0;o<p.length;o++){var s=p[o];n.put(s.getMode(),4),n.put(s.getLength(),a.getLengthInBits(s.getMode(),t)),s.write(n)}var h=0;for(o=0;o<e.length;o++)h+=e[o].dataCount;if(n.getLengthInBits()<=8*h)break}i=t}m(!1,function(){for(var t=0,e=0,i=0;i<8;i+=1){m(!0,i);var r=a.getLostPoint(v);(0==i||t>r)&&(t=r,e=i)}return e}())},v.createTableTag=function(t,e){t=t||2;var i="";i+='<table style="',i+=" border-width: 0px; border-style: none;",i+=" border-collapse: collapse;",i+=" padding: 0px; margin: "+(e=void 0===e?4*t:e)+"px;",i+='">',i+="<tbody>";for(var r=0;r<v.getModuleCount();r+=1){i+="<tr>";for(var n=0;n<v.getModuleCount();n+=1)i+='<td style="',i+=" border-width: 0px; border-style: none;",i+=" border-collapse: collapse;",i+=" padding: 0px; margin: 0px;",i+=" width: "+t+"px;",i+=" height: "+t+"px;",i+=" background-color: ",i+=v.isDark(r,n)?"#000000":"#ffffff",i+=";",i+='"/>';i+="</tr>"}return(i+="</tbody>")+"</table>"},v.createSvgTag=function(t,e,i,r){var n={};"object"==typeof arguments[0]&&(t=(n=arguments[0]).cellSize,e=n.margin,i=n.alt,r=n.title),t=t||2,e=void 0===e?4*t:e,(i="string"==typeof i?{text:i}:i||{}).text=i.text||null,i.id=i.text?i.id||"qrcode-description":null,(r="string"==typeof r?{text:r}:r||{}).text=r.text||null,r.id=r.text?r.id||"qrcode-title":null;var o,s,a,h,d=v.getModuleCount()*t+2*e,u="";for(h="l"+t+",0 0,"+t+" -"+t+",0 0,-"+t+"z ",u+='<svg version="1.1" xmlns="http://www.w3.org/2000/svg"',u+=n.scalable?"":' width="'+d+'px" height="'+d+'px"',u+=' viewBox="0 0 '+d+" "+d+'" ',u+=' preserveAspectRatio="xMinYMin meet"',u+=r.text||i.text?' role="img" aria-labelledby="'+$([r.id,i.id].join(" ").trim())+'"':"",u+=">",u+=r.text?'<title id="'+$(r.id)+'">'+$(r.text)+"</title>":"",u+=i.text?'<description id="'+$(i.id)+'">'+$(i.text)+"</description>":"",u+='<rect width="100%" height="100%" fill="white" cx="0" cy="0"/>',u+='<path d="',s=0;s<v.getModuleCount();s+=1)for(a=s*t+e,o=0;o<v.getModuleCount();o+=1)v.isDark(s,o)&&(u+="M"+(o*t+e)+","+a+h);return(u+='" stroke="transparent" fill="black"/>')+"</svg>"},v.createDataURL=function(t,e){t=t||2,e=void 0===e?4*t:e;var i=v.getModuleCount()*t+2*e,r=e,n=i-e;return _(i,i,(function(e,i){if(r<=e&&e<n&&r<=i&&i<n){var o=Math.floor((e-r)/t),s=Math.floor((i-r)/t);return v.isDark(s,o)?0:1}return 1}))},v.createImgTag=function(t,e,i){t=t||2,e=void 0===e?4*t:e;var r=v.getModuleCount()*t+2*e,n="";return n+="<img",n+=' src="',n+=v.createDataURL(t,e),n+='"',n+=' width="',n+=r,n+='"',n+=' height="',n+=r,n+='"',i&&(n+=' alt="',n+=$(i),n+='"'),n+"/>"};var $=function(t){for(var e="",i=0;i<t.length;i+=1){var r=t.charAt(i);switch(r){case"<":e+="&lt;";break;case">":e+="&gt;";break;case"&":e+="&amp;";break;case'"':e+="&quot;";break;default:e+=r}}return e};return v.createASCII=function(t,e){if((t=t||1)<2)return function(t){t=void 0===t?2:t;var e,i,r,n,o,s=1*v.getModuleCount()+2*t,a=t,h=s-t,d={"██":"█","█ ":"▀"," █":"▄"," ":" "},u={"██":"▀","█ ":"▀"," █":" "," ":" "},c="";for(e=0;e<s;e+=2){for(r=Math.floor((e-a)/1),n=Math.floor((e+1-a)/1),i=0;i<s;i+=1)o="█",a<=i&&i<h&&a<=e&&e<h&&v.isDark(r,Math.floor((i-a)/1))&&(o=" "),a<=i&&i<h&&a<=e+1&&e+1<h&&v.isDark(n,Math.floor((i-a)/1))?o+=" ":o+="█",c+=t<1&&e+1>=h?u[o]:d[o];c+="\n"}return s%2&&t>0?c.substring(0,c.length-s-1)+Array(s+1).join("▀"):c.substring(0,c.length-1)}(e);t-=1,e=void 0===e?2*t:e;var i,r,n,o,s=v.getModuleCount()*t+2*e,a=e,h=s-e,d=Array(t+1).join("██"),u=Array(t+1).join(" "),c="",l="";for(i=0;i<s;i+=1){for(n=Math.floor((i-a)/t),l="",r=0;r<s;r+=1)o=1,a<=r&&r<h&&a<=i&&i<h&&v.isDark(n,Math.floor((r-a)/t))&&(o=0),l+=o?d:u;for(n=0;n<t;n+=1)c+=l+"\n"}return c.substring(0,c.length-1)},v.renderTo2dContext=function(t,e){e=e||2;for(var i=v.getModuleCount(),r=0;r<i;r++)for(var n=0;n<i;n++)t.fillStyle=v.isDark(r,n)?"black":"white",t.fillRect(r*e,n*e,e,e)},v};t.stringToBytes=(t.stringToBytesFuncs={default:function(t){for(var e=[],i=0;i<t.length;i+=1){var r=t.charCodeAt(i);e.push(255&r)}return e}}).default,t.createStringToBytes=function(t,e){var i=function(){for(var i=v(t),r=function(){var t=i.read();if(-1==t)throw"eof";return t},n=0,o={};;){var s=i.read();if(-1==s)break;var a=r(),h=r()<<8|r();o[String.fromCharCode(s<<8|a)]=h,n+=1}if(n!=e)throw n+" != "+e;return o}(),r="?".charCodeAt(0);return function(t){for(var e=[],n=0;n<t.length;n+=1){var o=t.charCodeAt(n);if(o<128)e.push(o);else{var s=i[t.charAt(n)];"number"==typeof s?(255&s)==s?e.push(s):(e.push(s>>>8),e.push(255&s)):e.push(r)}}return e}};var e,i,r,n,o,s={L:1,M:0,Q:3,H:2},a=(e=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],i=1335,r=7973,o=function(t){for(var e=0;0!=t;)e+=1,t>>>=1;return e},(n={}).getBCHTypeInfo=function(t){for(var e=t<<10;o(e)-o(i)>=0;)e^=i<<o(e)-o(i);return 21522^(t<<10|e)},n.getBCHTypeNumber=function(t){for(var e=t<<12;o(e)-o(r)>=0;)e^=r<<o(e)-o(r);return t<<12|e},n.getPatternPosition=function(t){return e[t-1]},n.getMaskFunction=function(t){switch(t){case 0:return function(t,e){return(t+e)%2==0};case 1:return function(t,e){return t%2==0};case 2:return function(t,e){return e%3==0};case 3:return function(t,e){return(t+e)%3==0};case 4:return function(t,e){return(Math.floor(t/2)+Math.floor(e/3))%2==0};case 5:return function(t,e){return t*e%2+t*e%3==0};case 6:return function(t,e){return(t*e%2+t*e%3)%2==0};case 7:return function(t,e){return(t*e%3+(t+e)%2)%2==0};default:throw"bad maskPattern:"+t}},n.getErrorCorrectPolynomial=function(t){for(var e=d([1],0),i=0;i<t;i+=1)e=e.multiply(d([1,h.gexp(i)],0));return e},n.getLengthInBits=function(t,e){if(1<=e&&e<10)switch(t){case 1:return 10;case 2:return 9;case 4:case 8:return 8;default:throw"mode:"+t}else if(e<27)switch(t){case 1:return 12;case 2:return 11;case 4:return 16;case 8:return 10;default:throw"mode:"+t}else{if(!(e<41))throw"type:"+e;switch(t){case 1:return 14;case 2:return 13;case 4:return 16;case 8:return 12;default:throw"mode:"+t}}},n.getLostPoint=function(t){for(var e=t.getModuleCount(),i=0,r=0;r<e;r+=1)for(var n=0;n<e;n+=1){for(var o=0,s=t.isDark(r,n),a=-1;a<=1;a+=1)if(!(r+a<0||e<=r+a))for(var h=-1;h<=1;h+=1)n+h<0||e<=n+h||0==a&&0==h||s==t.isDark(r+a,n+h)&&(o+=1);o>5&&(i+=3+o-5)}for(r=0;r<e-1;r+=1)for(n=0;n<e-1;n+=1){var d=0;t.isDark(r,n)&&(d+=1),t.isDark(r+1,n)&&(d+=1),t.isDark(r,n+1)&&(d+=1),t.isDark(r+1,n+1)&&(d+=1),0!=d&&4!=d||(i+=3)}for(r=0;r<e;r+=1)for(n=0;n<e-6;n+=1)t.isDark(r,n)&&!t.isDark(r,n+1)&&t.isDark(r,n+2)&&t.isDark(r,n+3)&&t.isDark(r,n+4)&&!t.isDark(r,n+5)&&t.isDark(r,n+6)&&(i+=40);for(n=0;n<e;n+=1)for(r=0;r<e-6;r+=1)t.isDark(r,n)&&!t.isDark(r+1,n)&&t.isDark(r+2,n)&&t.isDark(r+3,n)&&t.isDark(r+4,n)&&!t.isDark(r+5,n)&&t.isDark(r+6,n)&&(i+=40);var u=0;for(n=0;n<e;n+=1)for(r=0;r<e;r+=1)t.isDark(r,n)&&(u+=1);return i+Math.abs(100*u/e/e-50)/5*10},n),h=function(){for(var t=new Array(256),e=new Array(256),i=0;i<8;i+=1)t[i]=1<<i;for(i=8;i<256;i+=1)t[i]=t[i-4]^t[i-5]^t[i-6]^t[i-8];for(i=0;i<255;i+=1)e[t[i]]=i;return{glog:function(t){if(t<1)throw"glog("+t+")";return e[t]},gexp:function(e){for(;e<0;)e+=255;for(;e>=256;)e-=255;return t[e]}}}();function d(t,e){if(void 0===t.length)throw t.length+"/"+e;var i=function(){for(var i=0;i<t.length&&0==t[i];)i+=1;for(var r=new Array(t.length-i+e),n=0;n<t.length-i;n+=1)r[n]=t[n+i];return r}(),r={getAt:function(t){return i[t]},getLength:function(){return i.length},multiply:function(t){for(var e=new Array(r.getLength()+t.getLength()-1),i=0;i<r.getLength();i+=1)for(var n=0;n<t.getLength();n+=1)e[i+n]^=h.gexp(h.glog(r.getAt(i))+h.glog(t.getAt(n)));return d(e,0)},mod:function(t){if(r.getLength()-t.getLength()<0)return r;for(var e=h.glog(r.getAt(0))-h.glog(t.getAt(0)),i=new Array(r.getLength()),n=0;n<r.getLength();n+=1)i[n]=r.getAt(n);for(n=0;n<t.getLength();n+=1)i[n]^=h.gexp(h.glog(t.getAt(n))+e);return d(i,0).mod(t)}};return r}var u=function(){var t=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],e=function(t,e){var i={};return i.totalCount=t,i.dataCount=e,i},i={getRSBlocks:function(i,r){var n=function(e,i){switch(i){case s.L:return t[4*(e-1)+0];case s.M:return t[4*(e-1)+1];case s.Q:return t[4*(e-1)+2];case s.H:return t[4*(e-1)+3];default:return}}(i,r);if(void 0===n)throw"bad rs block @ typeNumber:"+i+"/errorCorrectionLevel:"+r;for(var o=n.length/3,a=[],h=0;h<o;h+=1)for(var d=n[3*h+0],u=n[3*h+1],c=n[3*h+2],l=0;l<d;l+=1)a.push(e(u,c));return a}};return i}(),c=function(){var t=[],e=0,i={getBuffer:function(){return t},getAt:function(e){var i=Math.floor(e/8);return 1==(t[i]>>>7-e%8&1)},put:function(t,e){for(var r=0;r<e;r+=1)i.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return e},putBit:function(i){var r=Math.floor(e/8);t.length<=r&&t.push(0),i&&(t[r]|=128>>>e%8),e+=1}};return i},l=function(t){var e=t,i={getMode:function(){return 1},getLength:function(t){return e.length},write:function(t){for(var i=e,n=0;n+2<i.length;)t.put(r(i.substring(n,n+3)),10),n+=3;n<i.length&&(i.length-n==1?t.put(r(i.substring(n,n+1)),4):i.length-n==2&&t.put(r(i.substring(n,n+2)),7))}},r=function(t){for(var e=0,i=0;i<t.length;i+=1)e=10*e+n(t.charAt(i));return e},n=function(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-"0".charCodeAt(0);throw"illegal char :"+t};return i},g=function(t){var e=t,i={getMode:function(){return 2},getLength:function(t){return e.length},write:function(t){for(var i=e,n=0;n+1<i.length;)t.put(45*r(i.charAt(n))+r(i.charAt(n+1)),11),n+=2;n<i.length&&t.put(r(i.charAt(n)),6)}},r=function(t){if("0"<=t&&t<="9")return t.charCodeAt(0)-"0".charCodeAt(0);if("A"<=t&&t<="Z")return t.charCodeAt(0)-"A".charCodeAt(0)+10;switch(t){case" ":return 36;case"$":return 37;case"%":return 38;case"*":return 39;case"+":return 40;case"-":return 41;case".":return 42;case"/":return 43;case":":return 44;default:throw"illegal char :"+t}};return i},f=function(e){var i=t.stringToBytes(e);return{getMode:function(){return 4},getLength:function(t){return i.length},write:function(t){for(var e=0;e<i.length;e+=1)t.put(i[e],8)}}},w=function(e){var i=t.stringToBytesFuncs.SJIS;if(!i)throw"sjis not supported.";!function(){var t=i("友");if(2!=t.length||38726!=(t[0]<<8|t[1]))throw"sjis not supported."}();var r=i(e),n={getMode:function(){return 8},getLength:function(t){return~~(r.length/2)},write:function(t){for(var e=r,i=0;i+1<e.length;){var n=(255&e[i])<<8|255&e[i+1];if(33088<=n&&n<=40956)n-=33088;else{if(!(57408<=n&&n<=60351))throw"illegal char at "+(i+1)+"/"+n;n-=49472}n=192*(n>>>8&255)+(255&n),t.put(n,13),i+=2}if(i<e.length)throw"illegal char at "+(i+1)}};return n},p=function(){var t=[],e={writeByte:function(e){t.push(255&e)},writeShort:function(t){e.writeByte(t),e.writeByte(t>>>8)},writeBytes:function(t,i,r){i=i||0,r=r||t.length;for(var n=0;n<r;n+=1)e.writeByte(t[n+i])},writeString:function(t){for(var i=0;i<t.length;i+=1)e.writeByte(t.charCodeAt(i))},toByteArray:function(){return t},toString:function(){var e="";e+="[";for(var i=0;i<t.length;i+=1)i>0&&(e+=","),e+=t[i];return e+"]"}};return e},v=function(t){var e=t,i=0,r=0,n=0,o={read:function(){for(;n<8;){if(i>=e.length){if(0==n)return-1;throw"unexpected end of file./"+n}var t=e.charAt(i);if(i+=1,"="==t)return n=0,-1;t.match(/^\s$/)||(r=r<<6|s(t.charCodeAt(0)),n+=6)}var o=r>>>n-8&255;return n-=8,o}},s=function(t){if(65<=t&&t<=90)return t-65;if(97<=t&&t<=122)return t-97+26;if(48<=t&&t<=57)return t-48+52;if(43==t)return 62;if(47==t)return 63;throw"c:"+t};return o},_=function(t,e,i){for(var r=function(t,e){var i=t,r=e,n=new Array(t*e),o={setPixel:function(t,e,r){n[e*i+t]=r},write:function(t){t.writeString("GIF87a"),t.writeShort(i),t.writeShort(r),t.writeByte(128),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(0),t.writeByte(255),t.writeByte(255),t.writeByte(255),t.writeString(","),t.writeShort(0),t.writeShort(0),t.writeShort(i),t.writeShort(r),t.writeByte(0);var e=s(2);t.writeByte(2);for(var n=0;e.length-n>255;)t.writeByte(255),t.writeBytes(e,n,255),n+=255;t.writeByte(e.length-n),t.writeBytes(e,n,e.length-n),t.writeByte(0),t.writeString(";")}},s=function(t){for(var e=1<<t,i=1+(1<<t),r=t+1,o=a(),s=0;s<e;s+=1)o.add(String.fromCharCode(s));o.add(String.fromCharCode(e)),o.add(String.fromCharCode(i));var h,d,u,c=p(),l=(h=c,d=0,u=0,{write:function(t,e){if(t>>>e!=0)throw"length over";for(;d+e>=8;)h.writeByte(255&(t<<d|u)),e-=8-d,t>>>=8-d,u=0,d=0;u|=t<<d,d+=e},flush:function(){d>0&&h.writeByte(u)}});l.write(e,r);var g=0,f=String.fromCharCode(n[g]);for(g+=1;g<n.length;){var w=String.fromCharCode(n[g]);g+=1,o.contains(f+w)?f+=w:(l.write(o.indexOf(f),r),o.size()<4095&&(o.size()==1<<r&&(r+=1),o.add(f+w)),f=w)}return l.write(o.indexOf(f),r),l.write(i,r),l.flush(),c.toByteArray()},a=function(){var t={},e=0,i={add:function(r){if(i.contains(r))throw"dup key:"+r;t[r]=e,e+=1},size:function(){return e},indexOf:function(e){return t[e]},contains:function(e){return void 0!==t[e]}};return i};return o}(t,e),n=0;n<e;n+=1)for(var o=0;o<t;o+=1)r.setPixel(o,n,i(o,n));var s=p();r.write(s);for(var a=function(){var t=0,e=0,i=0,r="",n={},o=function(t){r+=String.fromCharCode(s(63&t))},s=function(t){if(t<0);else{if(t<26)return 65+t;if(t<52)return t-26+97;if(t<62)return t-52+48;if(62==t)return 43;if(63==t)return 47}throw"n:"+t};return n.writeByte=function(r){for(t=t<<8|255&r,e+=8,i+=1;e>=6;)o(t>>>e-6),e-=6},n.flush=function(){if(e>0&&(o(t<<6-e),t=0,e=0),i%3!=0)for(var n=3-i%3,s=0;s<n;s+=1)r+="="},n.toString=function(){return r},n}(),h=s.toByteArray(),d=0;d<h.length;d+=1)a.writeByte(h[d]);return a.flush(),"data:image/gif;base64,"+a};return t}();n.stringToBytesFuncs["UTF-8"]=function(t){return function(t){for(var e=[],i=0;i<t.length;i++){var r=t.charCodeAt(i);r<128?e.push(r):r<2048?e.push(192|r>>6,128|63&r):r<55296||r>=57344?e.push(224|r>>12,128|r>>6&63,128|63&r):(i++,r=65536+((1023&r)<<10|1023&t.charCodeAt(i)),e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return e}(t)},void 0===(r="function"==typeof(i=function(){return n})?i.apply(e,[]):i)||(t.exports=r)}},e={};function i(r){var n=e[r];if(void 0!==n)return n.exports;var o=e[r]={exports:{}};return t[r](o,o.exports,i),o.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var r={};return(()=>{"use strict";i.d(r,{default:()=>$});const t=t=>!!t&&"object"==typeof t&&!Array.isArray(t);function e(i,...r){if(!r.length)return i;const n=r.shift();return void 0!==n&&t(i)&&t(n)?(i=Object.assign({},i),Object.keys(n).forEach((r=>{const o=i[r],s=n[r];Array.isArray(o)&&Array.isArray(s)?i[r]=s:t(o)&&t(s)?i[r]=e(Object.assign({},o),s):i[r]=s})),e(i,...r)):i}function n(t,e){const i=document.createElement("a");i.download=e,i.href=t,document.body.appendChild(i),i.click(),document.body.removeChild(i)}const o={L:.07,M:.15,Q:.25,H:.3};class s{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;switch(this._type){case"dots":n=this._drawDot;break;case"classy":n=this._drawClassy;break;case"classy-rounded":n=this._drawClassyRounded;break;case"rounded":n=this._drawRounded;break;case"extra-rounded":n=this._drawExtraRounded;break;default:n=this._drawSquare}n.call(this,{x:t,y:e,size:i,getNeighbor:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute("transform",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",String(i+e/2)),this._element.setAttribute("cy",String(r+e/2)),this._element.setAttribute("r",String(e/2))}}))}_basicSquare(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",String(i)),this._element.setAttribute("y",String(r)),this._element.setAttribute("width",String(e)),this._element.setAttribute("height",String(e))}}))}_basicSideRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${i} ${r}v ${e}h `+e/2+`a ${e/2} ${e/2}, 0, 0, 0, 0 ${-e}`)}}))}_basicCornerRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${i} ${r}v ${e}h ${e}v `+-e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2}`)}}))}_basicCornerExtraRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${i} ${r}v ${e}h ${e}a ${e} ${e}, 0, 0, 0, ${-e} ${-e}`)}}))}_basicCornersRounded(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("d",`M ${i} ${r}v `+e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${e/2} ${e/2}h `+e/2+"v "+-e/2+`a ${e/2} ${e/2}, 0, 0, 0, ${-e/2} ${-e/2}`)}}))}_drawDot({x:t,y:e,size:i}){this._basicDot({x:t,y:e,size:i,rotation:0})}_drawSquare({x:t,y:e,size:i}){this._basicSquare({x:t,y:e,size:i,rotation:0})}_drawRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,h=n+o+s+a;if(0!==h)if(h>2||n&&o||s&&a)this._basicSquare({x:t,y:e,size:i,rotation:0});else{if(2===h){let r=0;return n&&s?r=Math.PI/2:s&&o?r=Math.PI:o&&a&&(r=-Math.PI/2),void this._basicCornerRounded({x:t,y:e,size:i,rotation:r})}if(1===h){let r=0;return s?r=Math.PI/2:o?r=Math.PI:a&&(r=-Math.PI/2),void this._basicSideRounded({x:t,y:e,size:i,rotation:r})}}else this._basicDot({x:t,y:e,size:i,rotation:0})}_drawExtraRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0,h=n+o+s+a;if(0!==h)if(h>2||n&&o||s&&a)this._basicSquare({x:t,y:e,size:i,rotation:0});else{if(2===h){let r=0;return n&&s?r=Math.PI/2:s&&o?r=Math.PI:o&&a&&(r=-Math.PI/2),void this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:r})}if(1===h){let r=0;return s?r=Math.PI/2:o?r=Math.PI:a&&(r=-Math.PI/2),void this._basicSideRounded({x:t,y:e,size:i,rotation:r})}}else this._basicDot({x:t,y:e,size:i,rotation:0})}_drawClassy({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+o+s+a?n||s?o||a?this._basicSquare({x:t,y:e,size:i,rotation:0}):this._basicCornerRounded({x:t,y:e,size:i,rotation:Math.PI/2}):this._basicCornerRounded({x:t,y:e,size:i,rotation:-Math.PI/2}):this._basicCornersRounded({x:t,y:e,size:i,rotation:Math.PI/2})}_drawClassyRounded({x:t,y:e,size:i,getNeighbor:r}){const n=r?+r(-1,0):0,o=r?+r(1,0):0,s=r?+r(0,-1):0,a=r?+r(0,1):0;0!==n+o+s+a?n||s?o||a?this._basicSquare({x:t,y:e,size:i,rotation:0}):this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:Math.PI/2}):this._basicCornerExtraRounded({x:t,y:e,size:i,rotation:-Math.PI/2}):this._basicCornersRounded({x:t,y:e,size:i,rotation:Math.PI/2})}}const a={dot:"dot",square:"square",extraRounded:"extra-rounded"},h=Object.values(a);class d{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;switch(this._type){case a.square:n=this._drawSquare;break;case a.extraRounded:n=this._drawExtraRounded;break;default:n=this._drawDot}n.call(this,{x:t,y:e,size:i,rotation:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute("transform",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${i+e/2} ${r}a ${e/2} ${e/2} 0 1 0 0.1 0zm 0 ${n}a ${e/2-n} ${e/2-n} 0 1 1 -0.1 0Z`)}}))}_basicSquare(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${i} ${r}v ${e}h ${e}v `+-e+"z"+`M ${i+n} ${r+n}h `+(e-2*n)+"v "+(e-2*n)+"h "+(2*n-e)+"z")}}))}_basicExtraRounded(t){const{size:e,x:i,y:r}=t,n=e/7;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","path"),this._element.setAttribute("clip-rule","evenodd"),this._element.setAttribute("d",`M ${i} ${r+2.5*n}v `+2*n+`a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*n}h `+2*n+`a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*n} ${2.5*-n}v `+-2*n+`a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*-n}h `+-2*n+`a ${2.5*n} ${2.5*n}, 0, 0, 0, ${2.5*-n} ${2.5*n}`+`M ${i+2.5*n} ${r+n}h `+2*n+`a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*n}v `+2*n+`a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*n}h `+-2*n+`a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*-n} ${1.5*-n}v `+-2*n+`a ${1.5*n} ${1.5*n}, 0, 0, 1, ${1.5*n} ${1.5*-n}`)}}))}_drawDot({x:t,y:e,size:i,rotation:r}){this._basicDot({x:t,y:e,size:i,rotation:r})}_drawSquare({x:t,y:e,size:i,rotation:r}){this._basicSquare({x:t,y:e,size:i,rotation:r})}_drawExtraRounded({x:t,y:e,size:i,rotation:r}){this._basicExtraRounded({x:t,y:e,size:i,rotation:r})}}const u={dot:"dot",square:"square"},c=Object.values(u);class l{constructor({svg:t,type:e,window:i}){this._svg=t,this._type=e,this._window=i}draw(t,e,i,r){let n;n=this._type===u.square?this._drawSquare:this._drawDot,n.call(this,{x:t,y:e,size:i,rotation:r})}_rotateFigure({x:t,y:e,size:i,rotation:r=0,draw:n}){var o;const s=t+i/2,a=e+i/2;n(),null===(o=this._element)||void 0===o||o.setAttribute("transform",`rotate(${180*r/Math.PI},${s},${a})`)}_basicDot(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","circle"),this._element.setAttribute("cx",String(i+e/2)),this._element.setAttribute("cy",String(r+e/2)),this._element.setAttribute("r",String(e/2))}}))}_basicSquare(t){const{size:e,x:i,y:r}=t;this._rotateFigure(Object.assign(Object.assign({},t),{draw:()=>{this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect"),this._element.setAttribute("x",String(i)),this._element.setAttribute("y",String(r)),this._element.setAttribute("width",String(e)),this._element.setAttribute("height",String(e))}}))}_drawDot({x:t,y:e,size:i,rotation:r}){this._basicDot({x:t,y:e,size:i,rotation:r})}_drawSquare({x:t,y:e,size:i,rotation:r}){this._basicSquare({x:t,y:e,size:i,rotation:r})}}const g="circle",f=[[1,1,1,1,1,1,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,0,0,0,0,0,1],[1,1,1,1,1,1,1]],w=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,1,1,1,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];class p{constructor(t,e){this._roundSize=t=>this._options.dotsOptions.roundSize?Math.floor(t):t,this._window=e,this._element=this._window.document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("width",String(t.width)),this._element.setAttribute("height",String(t.height)),this._element.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),t.dotsOptions.roundSize||this._element.setAttribute("shape-rendering","crispEdges"),this._element.setAttribute("viewBox",`0 0 ${t.width} ${t.height}`),this._defs=this._window.document.createElementNS("http://www.w3.org/2000/svg","defs"),this._element.appendChild(this._defs),this._imageUri=t.image,this._instanceId=p.instanceCount++,this._options=t}get width(){return this._options.width}get height(){return this._options.height}getElement(){return this._element}async drawQR(t){const e=t.getModuleCount(),i=Math.min(this._options.width,this._options.height)-2*this._options.margin,r=this._options.shape===g?i/Math.sqrt(2):i,n=this._roundSize(r/e);let s={hideXDots:0,hideYDots:0,width:0,height:0};if(this._qr=t,this._options.image){if(await this.loadImage(),!this._image)return;const{imageOptions:t,qrOptions:i}=this._options,r=t.imageSize*o[i.errorCorrectionLevel],a=Math.floor(r*e*e);s=function({originalHeight:t,originalWidth:e,maxHiddenDots:i,maxHiddenAxisDots:r,dotSize:n}){const o={x:0,y:0},s={x:0,y:0};if(t<=0||e<=0||i<=0||n<=0)return{height:0,width:0,hideYDots:0,hideXDots:0};const a=t/e;return o.x=Math.floor(Math.sqrt(i/a)),o.x<=0&&(o.x=1),r&&r<o.x&&(o.x=r),o.x%2==0&&o.x--,s.x=o.x*n,o.y=1+2*Math.ceil((o.x*a-1)/2),s.y=Math.round(s.x*a),(o.y*o.x>i||r&&r<o.y)&&(r&&r<o.y?(o.y=r,o.y%2==0&&o.x--):o.y-=2,s.y=o.y*n,o.x=1+2*Math.ceil((o.y/a-1)/2),s.x=Math.round(s.y/a)),{height:s.y,width:s.x,hideYDots:o.y,hideXDots:o.x}}({originalWidth:this._image.width,originalHeight:this._image.height,maxHiddenDots:a,maxHiddenAxisDots:e-14,dotSize:n})}this.drawBackground(),this.drawDots(((t,i)=>{var r,n,o,a,h,d;return!(this._options.imageOptions.hideBackgroundDots&&t>=(e-s.hideYDots)/2&&t<(e+s.hideYDots)/2&&i>=(e-s.hideXDots)/2&&i<(e+s.hideXDots)/2||(null===(r=f[t])||void 0===r?void 0:r[i])||(null===(n=f[t-e+7])||void 0===n?void 0:n[i])||(null===(o=f[t])||void 0===o?void 0:o[i-e+7])||(null===(a=w[t])||void 0===a?void 0:a[i])||(null===(h=w[t-e+7])||void 0===h?void 0:h[i])||(null===(d=w[t])||void 0===d?void 0:d[i-e+7]))})),this.drawCorners(),this._options.image&&await this.drawImage({width:s.width,height:s.height,count:e,dotSize:n})}drawBackground(){var t,e,i;const r=this._element,n=this._options;if(r){const r=null===(t=n.backgroundOptions)||void 0===t?void 0:t.gradient,o=null===(e=n.backgroundOptions)||void 0===e?void 0:e.color;let s=n.height,a=n.width;if(r||o){const t=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect");this._backgroundClipPath=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._backgroundClipPath.setAttribute("id",`clip-path-background-color-${this._instanceId}`),this._defs.appendChild(this._backgroundClipPath),(null===(i=n.backgroundOptions)||void 0===i?void 0:i.round)&&(s=a=Math.min(n.width,n.height),t.setAttribute("rx",String(s/2*n.backgroundOptions.round))),t.setAttribute("x",String(this._roundSize((n.width-a)/2))),t.setAttribute("y",String(this._roundSize((n.height-s)/2))),t.setAttribute("width",String(a)),t.setAttribute("height",String(s)),this._backgroundClipPath.appendChild(t),this._createColor({options:r,color:o,additionalRotation:0,x:0,y:0,height:n.height,width:n.width,name:`background-color-${this._instanceId}`})}}}drawDots(t){var e,i;if(!this._qr)throw"QR code is not defined";const r=this._options,n=this._qr.getModuleCount();if(n>r.width||n>r.height)throw"The canvas is too small.";const o=Math.min(r.width,r.height)-2*r.margin,a=r.shape===g?o/Math.sqrt(2):o,h=this._roundSize(a/n),d=this._roundSize((r.width-n*h)/2),u=this._roundSize((r.height-n*h)/2),c=new s({svg:this._element,type:r.dotsOptions.type,window:this._window});this._dotsClipPath=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),this._dotsClipPath.setAttribute("id",`clip-path-dot-color-${this._instanceId}`),this._defs.appendChild(this._dotsClipPath),this._createColor({options:null===(e=r.dotsOptions)||void 0===e?void 0:e.gradient,color:r.dotsOptions.color,additionalRotation:0,x:0,y:0,height:r.height,width:r.width,name:`dot-color-${this._instanceId}`});for(let e=0;e<n;e++)for(let r=0;r<n;r++)t&&!t(e,r)||(null===(i=this._qr)||void 0===i?void 0:i.isDark(e,r))&&(c.draw(d+r*h,u+e*h,h,((i,o)=>!(r+i<0||e+o<0||r+i>=n||e+o>=n)&&!(t&&!t(e+o,r+i))&&!!this._qr&&this._qr.isDark(e+o,r+i))),c._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(c._element));if(r.shape===g){const t=this._roundSize((o/h-n)/2),e=n+2*t,i=d-t*h,r=u-t*h,s=[],a=this._roundSize(e/2);for(let i=0;i<e;i++){s[i]=[];for(let r=0;r<e;r++)i>=t-1&&i<=e-t&&r>=t-1&&r<=e-t||Math.sqrt((i-a)*(i-a)+(r-a)*(r-a))>a?s[i][r]=0:s[i][r]=this._qr.isDark(r-2*t<0?r:r>=n?r-2*t:r-t,i-2*t<0?i:i>=n?i-2*t:i-t)?1:0}for(let t=0;t<e;t++)for(let n=0;n<e;n++)s[t][n]&&(c.draw(i+n*h,r+t*h,h,((e,i)=>{var r;return!!(null===(r=s[t+i])||void 0===r?void 0:r[n+e])})),c._element&&this._dotsClipPath&&this._dotsClipPath.appendChild(c._element))}}drawCorners(){if(!this._qr)throw"QR code is not defined";const t=this._element,e=this._options;if(!t)throw"Element code is not defined";const i=this._qr.getModuleCount(),r=Math.min(e.width,e.height)-2*e.margin,n=e.shape===g?r/Math.sqrt(2):r,o=this._roundSize(n/i),a=7*o,u=3*o,p=this._roundSize((e.width-i*o)/2),v=this._roundSize((e.height-i*o)/2);[[0,0,0],[1,0,Math.PI/2],[0,1,-Math.PI/2]].forEach((([t,r,n])=>{var g,_,m,b,y,x,S,C,A,M,$,O,D,k;const z=p+t*o*(i-7),B=v+r*o*(i-7);let P=this._dotsClipPath,I=this._dotsClipPath;if(((null===(g=e.cornersSquareOptions)||void 0===g?void 0:g.gradient)||(null===(_=e.cornersSquareOptions)||void 0===_?void 0:_.color))&&(P=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),P.setAttribute("id",`clip-path-corners-square-color-${t}-${r}-${this._instanceId}`),this._defs.appendChild(P),this._cornersSquareClipPath=this._cornersDotClipPath=I=P,this._createColor({options:null===(m=e.cornersSquareOptions)||void 0===m?void 0:m.gradient,color:null===(b=e.cornersSquareOptions)||void 0===b?void 0:b.color,additionalRotation:n,x:z,y:B,height:a,width:a,name:`corners-square-color-${t}-${r}-${this._instanceId}`})),(null===(y=e.cornersSquareOptions)||void 0===y?void 0:y.type)&&h.includes(e.cornersSquareOptions.type)){const t=new d({svg:this._element,type:e.cornersSquareOptions.type,window:this._window});t.draw(z,B,a,n),t._element&&P&&P.appendChild(t._element)}else{const t=new s({svg:this._element,type:(null===(x=e.cornersSquareOptions)||void 0===x?void 0:x.type)||e.dotsOptions.type,window:this._window});for(let e=0;e<f.length;e++)for(let i=0;i<f[e].length;i++)(null===(S=f[e])||void 0===S?void 0:S[i])&&(t.draw(z+i*o,B+e*o,o,((t,r)=>{var n;return!!(null===(n=f[e+r])||void 0===n?void 0:n[i+t])})),t._element&&P&&P.appendChild(t._element))}if(((null===(C=e.cornersDotOptions)||void 0===C?void 0:C.gradient)||(null===(A=e.cornersDotOptions)||void 0===A?void 0:A.color))&&(I=this._window.document.createElementNS("http://www.w3.org/2000/svg","clipPath"),I.setAttribute("id",`clip-path-corners-dot-color-${t}-${r}-${this._instanceId}`),this._defs.appendChild(I),this._cornersDotClipPath=I,this._createColor({options:null===(M=e.cornersDotOptions)||void 0===M?void 0:M.gradient,color:null===($=e.cornersDotOptions)||void 0===$?void 0:$.color,additionalRotation:n,x:z+2*o,y:B+2*o,height:u,width:u,name:`corners-dot-color-${t}-${r}-${this._instanceId}`})),(null===(O=e.cornersDotOptions)||void 0===O?void 0:O.type)&&c.includes(e.cornersDotOptions.type)){const t=new l({svg:this._element,type:e.cornersDotOptions.type,window:this._window});t.draw(z+2*o,B+2*o,u,n),t._element&&I&&I.appendChild(t._element)}else{const t=new s({svg:this._element,type:(null===(D=e.cornersDotOptions)||void 0===D?void 0:D.type)||e.dotsOptions.type,window:this._window});for(let e=0;e<w.length;e++)for(let i=0;i<w[e].length;i++)(null===(k=w[e])||void 0===k?void 0:k[i])&&(t.draw(z+i*o,B+e*o,o,((t,r)=>{var n;return!!(null===(n=w[e+r])||void 0===n?void 0:n[i+t])})),t._element&&I&&I.appendChild(t._element))}}))}loadImage(){return new Promise(((t,e)=>{var i;const r=this._options;if(!r.image)return e("Image is not defined");if(null===(i=r.nodeCanvas)||void 0===i?void 0:i.loadImage)r.nodeCanvas.loadImage(r.image).then((e=>{var i,n;if(this._image=e,this._options.imageOptions.saveAsBlob){const t=null===(i=r.nodeCanvas)||void 0===i?void 0:i.createCanvas(this._image.width,this._image.height);null===(n=null==t?void 0:t.getContext("2d"))||void 0===n||n.drawImage(e,0,0),this._imageUri=null==t?void 0:t.toDataURL()}t()})).catch(e);else{const e=new this._window.Image;"string"==typeof r.imageOptions.crossOrigin&&(e.crossOrigin=r.imageOptions.crossOrigin),this._image=e,e.onload=async()=>{this._options.imageOptions.saveAsBlob&&(this._imageUri=await async function(t,e){return new Promise((i=>{const r=new e.XMLHttpRequest;r.onload=function(){const t=new e.FileReader;t.onloadend=function(){i(t.result)},t.readAsDataURL(r.response)},r.open("GET",t),r.responseType="blob",r.send()}))}(r.image||"",this._window)),t()},e.src=r.image}}))}async drawImage({width:t,height:e,count:i,dotSize:r}){const n=this._options,o=this._roundSize((n.width-i*r)/2),s=this._roundSize((n.height-i*r)/2),a=o+this._roundSize(n.imageOptions.margin+(i*r-t)/2),h=s+this._roundSize(n.imageOptions.margin+(i*r-e)/2),d=t-2*n.imageOptions.margin,u=e-2*n.imageOptions.margin,c=this._window.document.createElementNS("http://www.w3.org/2000/svg","image");c.setAttribute("href",this._imageUri||""),c.setAttribute("xlink:href",this._imageUri||""),c.setAttribute("x",String(a)),c.setAttribute("y",String(h)),c.setAttribute("width",`${d}px`),c.setAttribute("height",`${u}px`),this._element.appendChild(c)}_createColor({options:t,color:e,additionalRotation:i,x:r,y:n,height:o,width:s,name:a}){const h=s>o?s:o,d=this._window.document.createElementNS("http://www.w3.org/2000/svg","rect");if(d.setAttribute("x",String(r)),d.setAttribute("y",String(n)),d.setAttribute("height",String(o)),d.setAttribute("width",String(s)),d.setAttribute("clip-path",`url('#clip-path-${a}')`),t){let e;if("radial"===t.type)e=this._window.document.createElementNS("http://www.w3.org/2000/svg","radialGradient"),e.setAttribute("id",a),e.setAttribute("gradientUnits","userSpaceOnUse"),e.setAttribute("fx",String(r+s/2)),e.setAttribute("fy",String(n+o/2)),e.setAttribute("cx",String(r+s/2)),e.setAttribute("cy",String(n+o/2)),e.setAttribute("r",String(h/2));else{const h=((t.rotation||0)+i)%(2*Math.PI),d=(h+2*Math.PI)%(2*Math.PI);let u=r+s/2,c=n+o/2,l=r+s/2,g=n+o/2;d>=0&&d<=.25*Math.PI||d>1.75*Math.PI&&d<=2*Math.PI?(u-=s/2,c-=o/2*Math.tan(h),l+=s/2,g+=o/2*Math.tan(h)):d>.25*Math.PI&&d<=.75*Math.PI?(c-=o/2,u-=s/2/Math.tan(h),g+=o/2,l+=s/2/Math.tan(h)):d>.75*Math.PI&&d<=1.25*Math.PI?(u+=s/2,c+=o/2*Math.tan(h),l-=s/2,g-=o/2*Math.tan(h)):d>1.25*Math.PI&&d<=1.75*Math.PI&&(c+=o/2,u+=s/2/Math.tan(h),g-=o/2,l-=s/2/Math.tan(h)),e=this._window.document.createElementNS("http://www.w3.org/2000/svg","linearGradient"),e.setAttribute("id",a),e.setAttribute("gradientUnits","userSpaceOnUse"),e.setAttribute("x1",String(Math.round(u))),e.setAttribute("y1",String(Math.round(c))),e.setAttribute("x2",String(Math.round(l))),e.setAttribute("y2",String(Math.round(g)))}t.colorStops.forEach((({offset:t,color:i})=>{const r=this._window.document.createElementNS("http://www.w3.org/2000/svg","stop");r.setAttribute("offset",100*t+"%"),r.setAttribute("stop-color",i),e.appendChild(r)})),d.setAttribute("fill",`url('#${a}')`),this._defs.appendChild(e)}else e&&d.setAttribute("fill",e);this._element.appendChild(d)}}p.instanceCount=0;const v=p,_="canvas",m={};for(let t=0;t<=40;t++)m[t]=t;const b={type:_,shape:"square",width:300,height:300,data:"",margin:0,qrOptions:{typeNumber:m[0],mode:void 0,errorCorrectionLevel:"Q"},imageOptions:{saveAsBlob:!0,hideBackgroundDots:!0,imageSize:.4,crossOrigin:void 0,margin:0},dotsOptions:{type:"square",color:"#000",roundSize:!0},backgroundOptions:{round:0,color:"#fff"}};function y(t){const e=Object.assign({},t);if(!e.colorStops||!e.colorStops.length)throw"Field 'colorStops' is required in gradient";return e.rotation?e.rotation=Number(e.rotation):e.rotation=0,e.colorStops=e.colorStops.map((t=>Object.assign(Object.assign({},t),{offset:Number(t.offset)}))),e}function x(t){const e=Object.assign({},t);return e.width=Number(e.width),e.height=Number(e.height),e.margin=Number(e.margin),e.imageOptions=Object.assign(Object.assign({},e.imageOptions),{hideBackgroundDots:Boolean(e.imageOptions.hideBackgroundDots),imageSize:Number(e.imageOptions.imageSize),margin:Number(e.imageOptions.margin)}),e.margin>Math.min(e.width,e.height)&&(e.margin=Math.min(e.width,e.height)),e.dotsOptions=Object.assign({},e.dotsOptions),e.dotsOptions.gradient&&(e.dotsOptions.gradient=y(e.dotsOptions.gradient)),e.cornersSquareOptions&&(e.cornersSquareOptions=Object.assign({},e.cornersSquareOptions),e.cornersSquareOptions.gradient&&(e.cornersSquareOptions.gradient=y(e.cornersSquareOptions.gradient))),e.cornersDotOptions&&(e.cornersDotOptions=Object.assign({},e.cornersDotOptions),e.cornersDotOptions.gradient&&(e.cornersDotOptions.gradient=y(e.cornersDotOptions.gradient))),e.backgroundOptions&&(e.backgroundOptions=Object.assign({},e.backgroundOptions),e.backgroundOptions.gradient&&(e.backgroundOptions.gradient=y(e.backgroundOptions.gradient))),e}var S=i(873),C=i.n(S);function A(t){if(!t)throw new Error("Extension must be defined");"."===t[0]&&(t=t.substring(1));const e={bmp:"image/bmp",gif:"image/gif",ico:"image/vnd.microsoft.icon",jpeg:"image/jpeg",jpg:"image/jpeg",png:"image/png",svg:"image/svg+xml",tif:"image/tiff",tiff:"image/tiff",webp:"image/webp",pdf:"application/pdf"}[t.toLowerCase()];if(!e)throw new Error(`Extension "${t}" is not supported`);return e}class M{constructor(t){(null==t?void 0:t.jsdom)?this._window=new t.jsdom("",{resources:"usable"}).window:this._window=window,this._options=t?x(e(b,t)):b,this.update()}static _clearContainer(t){t&&(t.innerHTML="")}_setupSvg(){if(!this._qr)return;const t=new v(this._options,this._window);this._svg=t.getElement(),this._svgDrawingPromise=t.drawQR(this._qr).then((()=>{var e;this._svg&&(null===(e=this._extension)||void 0===e||e.call(this,t.getElement(),this._options))}))}_setupCanvas(){var t,e;this._qr&&((null===(t=this._options.nodeCanvas)||void 0===t?void 0:t.createCanvas)?(this._nodeCanvas=this._options.nodeCanvas.createCanvas(this._options.width,this._options.height),this._nodeCanvas.width=this._options.width,this._nodeCanvas.height=this._options.height):(this._domCanvas=document.createElement("canvas"),this._domCanvas.width=this._options.width,this._domCanvas.height=this._options.height),this._setupSvg(),this._canvasDrawingPromise=null===(e=this._svgDrawingPromise)||void 0===e?void 0:e.then((()=>{var t;if(!this._svg)return;const e=this._svg,i=(new this._window.XMLSerializer).serializeToString(e),r=btoa(i),n=`data:${A("svg")};base64,${r}`;if(null===(t=this._options.nodeCanvas)||void 0===t?void 0:t.loadImage)return this._options.nodeCanvas.loadImage(n).then((t=>{var e,i;t.width=this._options.width,t.height=this._options.height,null===(i=null===(e=this._nodeCanvas)||void 0===e?void 0:e.getContext("2d"))||void 0===i||i.drawImage(t,0,0)}));{const t=new this._window.Image;return new Promise((e=>{t.onload=()=>{var i,r;null===(r=null===(i=this._domCanvas)||void 0===i?void 0:i.getContext("2d"))||void 0===r||r.drawImage(t,0,0),e()},t.src=n}))}})))}async _getElement(t="png"){if(!this._qr)throw"QR code is empty";return"svg"===t.toLowerCase()?(this._svg&&this._svgDrawingPromise||this._setupSvg(),await this._svgDrawingPromise,this._svg):((this._domCanvas||this._nodeCanvas)&&this._canvasDrawingPromise||this._setupCanvas(),await this._canvasDrawingPromise,this._domCanvas||this._nodeCanvas)}update(t){M._clearContainer(this._container),this._options=t?x(e(this._options,t)):this._options,this._options.data&&(this._qr=C()(this._options.qrOptions.typeNumber,this._options.qrOptions.errorCorrectionLevel),this._qr.addData(this._options.data,this._options.qrOptions.mode||function(t){switch(!0){case/^[0-9]*$/.test(t):return"Numeric";case/^[0-9A-Z $%*+\-./:]*$/.test(t):return"Alphanumeric";default:return"Byte"}}(this._options.data)),this._qr.make(),this._options.type===_?this._setupCanvas():this._setupSvg(),this.append(this._container))}append(t){if(t){if("function"!=typeof t.appendChild)throw"Container should be a single DOM node";this._options.type===_?this._domCanvas&&t.appendChild(this._domCanvas):this._svg&&t.appendChild(this._svg),this._container=t}}applyExtension(t){if(!t)throw"Extension function should be defined.";this._extension=t,this.update()}deleteExtension(){this._extension=void 0,this.update()}async getRawData(t="png"){if(!this._qr)throw"QR code is empty";const e=await this._getElement(t),i=A(t);if(!e)return null;if("svg"===t.toLowerCase()){const t=`<?xml version="1.0" standalone="no"?>\r\n${(new this._window.XMLSerializer).serializeToString(e)}`;return"undefined"==typeof Blob||this._options.jsdom?Buffer.from(t):new Blob([t],{type:i})}return new Promise((t=>{const r=e;if("toBuffer"in r)if("image/png"===i)t(r.toBuffer(i));else if("image/jpeg"===i)t(r.toBuffer(i));else{if("application/pdf"!==i)throw Error("Unsupported extension");t(r.toBuffer(i))}else"toBlob"in r&&r.toBlob(t,i,1)}))}async download(t){if(!this._qr)throw"QR code is empty";if("undefined"==typeof Blob)throw"Cannot download in Node.js, call getRawData instead.";let e="png",i="qr";"string"==typeof t?(e=t,console.warn("Extension is deprecated as argument for 'download' method, please pass object { name: '...', extension: '...' } as argument")):"object"==typeof t&&null!==t&&(t.name&&(i=t.name),t.extension&&(e=t.extension));const r=await this._getElement(e);if(r)if("svg"===e.toLowerCase()){let t=(new XMLSerializer).serializeToString(r);t='<?xml version="1.0" standalone="no"?>\r\n'+t,n(`data:${A(e)};charset=utf-8,${encodeURIComponent(t)}`,`${i}.svg`)}else n(r.toDataURL(A(e)),`${i}.${e}`)}}const $=M})(),r.default})()));
11354
11221
 
11355
11222
  }).call(this)}).call(this,require("buffer").Buffer)
11356
- },{"buffer":142}]},{},[17])(17)
11223
+ },{"buffer":138}]},{},[17])(17)
11357
11224
  });