@esri/hub-common 8.23.2 → 8.24.0
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.
- package/dist/es2017/sites/_migrate-feed-config.js +59 -0
- package/dist/es2017/sites/_migrate-feed-config.js.map +1 -0
- package/dist/es2017/sites/site-schema-version.js +1 -1
- package/dist/es2017/sites/upgrade-site-schema.js +2 -0
- package/dist/es2017/sites/upgrade-site-schema.js.map +1 -1
- package/dist/esm/sites/_migrate-feed-config.js +59 -0
- package/dist/esm/sites/_migrate-feed-config.js.map +1 -0
- package/dist/esm/sites/site-schema-version.js +1 -1
- package/dist/esm/sites/upgrade-site-schema.js +2 -0
- package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
- package/dist/node/sites/_migrate-feed-config.js +63 -0
- package/dist/node/sites/_migrate-feed-config.js.map +1 -0
- package/dist/node/sites/site-schema-version.js +1 -1
- package/dist/node/sites/upgrade-site-schema.js +2 -0
- package/dist/node/sites/upgrade-site-schema.js.map +1 -1
- package/dist/types/sites/_migrate-feed-config.d.ts +15 -0
- package/dist/types/sites/site-schema-version.d.ts +1 -1
- package/dist/umd/common.umd.js +61 -2
- package/dist/umd/common.umd.js.map +1 -1
- package/dist/umd/common.umd.min.js +1 -1
- package/dist/umd/common.umd.min.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisHub=e.arcgisHub||{})}(this,function(n){"use strict";function o(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}function i(e,r,n){return n=n||"",Array.isArray(e)?e.map(t):!e||!c(e)||s(e)||p(e)||u(e)?r(e,n):Object.assign({},e,o(e,t));function t(e,t){return i(e,r,""+(n?n+"."+t:t))}}function a(e){return"string"==typeof e||e instanceof String}function s(e){return e instanceof Date}function u(e){return"function"==typeof e}function c(e){return"object"==typeof e}function p(e){return e instanceof RegExp}function d(e,t){return t.split(".").reduce(function(e,t){return e?e[t]:void 0},e)}function l(e){var t,r={};if(Array.isArray(e))r=e.map(l);else if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&(null!=(t=e[n])&&"object"==typeof t?t instanceof Date?r[n]=new Date(t.getTime()):r[n]=l(t):r[n]=t);else r=e;return r}function f(e,r,n){return e?e.reduce(function(e,t){return e=d(t,r)===n?t:e},null):null}function r(e){return""+(e=void 0===e?"i":e)+Math.random().toString(36).substr(2,8)}function h(e,t){return null!=e&&(t=l(t)).push(e),t}function t(e){return(e=(e=e.toLowerCase()).replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi," ")).replace(/(\-|\_|\.|\s)+(.)?/g,function(e,t,r){return r?r.toUpperCase():""}).replace(/(^|\/)([A-Z])/g,function(e,t,r){return e.toLowerCase()})}function m(e){return(e=Array.from(e))[0]=e[0].toUpperCase(),e.join("")}function g(e){return e.reduce(function(e,t){return e.concat(t)},[])}function v(e,t,r){void 0===r&&(r={});var t=t.split("."),n=e,o=t.length-1;t.forEach(function(e,t){n.hasOwnProperty(e)&&null!==n[e]?t===o&&("object"!=typeof n[e]||Array.isArray(n[e])?n[e]=r:n[e]=Object.assign(n[e],l(r))):n[e]=t===o?r:{},n=n[e]})}function y(e,t,r){t=d(e,t);return void 0!==t?t:r}function b(e,r,n){return i(e,function(e){if(!a(e))return e;var t=p(r)?r:new RegExp(r,"g");return e.replace(t,n)})}function w(t,r,e){return Array.isArray(e)&&e.length?(e.forEach(function(e){void 0!==d(t,e)&&v(r,e,d(t,e))}),r):t}function C(e,t,r){v(r,e=Array.isArray(e)?e.join("."):e,t)}function k(e,n,o){void 0===o&&(o=5);return e.reduce(function(e,t){var r=e[e.length-1];return r&&r.length!==o||e.push(r=[]),r.push(t),e},[]).reduce(function(e,r){return e.then(function(t){var e=r.map(function(e){return n(e)});return Promise.all(e).then(function(e){return t.concat(e)})})},Promise.resolve([]))}function T(e,t){return-1!==e.indexOf(t)}var S=function(e,t){return(S=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function e(e,t){function r(){this.constructor=e}S(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var A=function(){return(A=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function E(e,a,s,u){return new(s=s||Promise)(function(r,t){function n(e){try{i(u.next(e))}catch(e){t(e)}}function o(e){try{i(u.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?r(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(n,o)}i((u=u.apply(e,a||[])).next())})}function I(r,n){var o,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,i&&(a=2&t[0]?i.return:t[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,t[1])).done)return a;switch(i=0,(t=a?[2&t[0],a.value]:t)[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=n.call(r,s)}catch(e){t=[6,e],i=0}finally{o=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function P(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var n=Array(e),o=0,t=0;t<r;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)n[o]=i[a];return n}var x,D=(e(O,x=Error),O);function O(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=y(r,"rootCause",r),(n=x.call(this,t)||this).operation=e,n.name="OperationError",n.rootCause=r,Object.setPrototypeOf(n,O.prototype),n.stack=y(r,"stack",(new Error).stack),n}function R(r,n){return void 0===n&&(n={}),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.apply(void 0,e).catch(function(e){return n})}}function _(e){var r=(new Date).getTime();return Array(e).fill(0).reduce(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),e=""+e+t.toString(16)},"")}function N(e){"{"===e[0]&&(e=e.substring(1,e.length-1));return/^(\{){0,1}[0-9a-fA-F]{8}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{12}(\}){0,1}$/gi.test(e)}n.Level=void 0,(ot=n.Level||(n.Level={}))[ot.all=0]="all",ot[ot.debug=1]="debug",ot[ot.info=2]="info",ot[ot.warn=3]="warn",ot[ot.error=4]="error",ot[ot.off=5]="off";var U=(j.setLogLevel=function(e){this.logLevel=e},j.log=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.debug)&&console.log.apply(console,P([e],t))},j.debug=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.debug)&&console.debug.apply(console,P([e],t))},j.info=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.info)&&console.info.apply(console,P([e],t))},j.warn=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.warn)&&console.warn.apply(console,P([e],t))},j.error=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.error)&&console.error.apply(console,P([e],t))},j.isLevelPermitted=function(e){return this.logLevel<=e},j.logLevel=n.Level.off,j);function j(){}function L(e){return e.capabilities.includes("updateitemcontrol")}function M(e){e=e.privileges;return T(void 0===e?[]:e,"portal:user:createItem")}function G(e,t){var r,n=!1,o=e.itemControl,i=e.owner,a=e.orgId,s=t.roleId,u=t.role,c=t.username,p=t.groups,l=t.orgId,u=T(["admin","update"],o)||!!i&&i===c||!!(!!a&&a===l)&&!s&&"org_admin"===u,t=M(t);return t&&u?n=!0:t&&(r=P(d(e,"groupIds")||[],[d(e,"properties.collaborationGroupId")]),n=p.some(function(e){return L(e)&&T(r,e.id)})),n}var B=["portal:user:createGroup","portal:user:createItem","portal:user:shareToGroup","portal:user:viewOrgGroups","portal:user:viewOrgItems"];function q(e){var t=e.host,r=e.path,e=e.query,t=t.endsWith("/")?t:t+"/",t=new URL(r,t);return t.search=function(r){void 0===r&&(r={});var e=Object.keys(r).filter(function(e){return void 0!==r[e]}).reduce(function(e,t){return e[t]=r[t],e},{});return new URLSearchParams(e).toString()}(e),t.toString()}function Y(t){return Object.keys(t).some(function(e){e=t[e];if(!e)return!1;switch((e=e&&e.toParam?e.toParam():e).constructor.name){case"Array":case"Object":case"Date":case"Function":case"Boolean":case"String":case"Number":return!1;default:return!0}})}function F(o){var i={};return Object.keys(o).forEach(function(e){var t=o[e];if((t=t&&t.toParam?t.toParam():t)||0===t||"boolean"==typeof t||"string"==typeof t){switch(t.constructor.name){case"Array":var r=null===(r=null===(r=t[0])||void 0===r?void 0:r.constructor)||void 0===r?void 0:r.name,n="Array"===r?t:"Object"===r?JSON.stringify(t):t.join(",");break;case"Object":n=JSON.stringify(t);break;case"Date":n=t.valueOf();break;case"Function":n=null;break;case"Boolean":n=t+"";break;default:n=t}(n||0===n||"string"==typeof n||Array.isArray(n))&&(i[e]=n)}}),i}function H(e){var t=F(e);return Object.keys(t).map(function(e){return function t(r,e){return Array.isArray(e)&&e[0]&&Array.isArray(e[0])?e.map(function(e){return t(r,e)}).join("&"):encodeURIComponent(r)+"="+encodeURIComponent(e)}(e,t[e])}).join("&")}var W=function(e,t,r,n,o){e=e||"UNKNOWN_ERROR",t=t||"UNKNOWN_ERROR_CODE",this.name="ArcGISRequestError",this.message="UNKNOWN_ERROR_CODE"===t?e:t+": "+e,this.originalMessage=e,this.code=t,this.response=r,this.url=n,this.options=o};function z(e){console&&console.warn&&console.warn.apply(console,[e])}W.prototype=Object.create(Error.prototype),W.prototype.constructor=W;var V,J="@esri/arcgis-rest-js",K={httpMethod:"POST",params:{f:"json"}},$=(e(Q,V=W),Q.prototype.retry=function(e,n){var o=this;void 0===n&&(n=3);var i=0,a=function(t,r){e(o.url,o.options).then(function(e){e=A(A({},o.options),{authentication:e});return i+=1,X(o.url,e)}).then(function(e){t(e)}).catch(function(e){"ArcGISAuthError"===e.name&&i<n?a(t,r):"ArcGISAuthError"===e.name&&n<=i?r(o):r(e)})};return new Promise(function(e,t){a(e,t)})},Q);function Q(e,t,r,n,o){o=V.call(this,e=void 0===e?"AUTHENTICATION_ERROR":e,t=void 0===t?"AUTHENTICATION_ERROR_CODE":t,r,n,o)||this;return o.name="ArcGISAuthError",o.message="AUTHENTICATION_ERROR_CODE"===t?e:t+": "+e,o}function X(n,e){void 0===e&&(e={params:{f:"json"}});var o=A(A(A({httpMethod:"POST"},K),e),{params:A(A({},K.params),e.params),headers:A(A({},K.headers),e.headers)}),t=[],e=[];if(o.fetch||"undefined"==typeof fetch?(t.push("`fetch`"),e.push("`node-fetch`")):o.fetch=fetch.bind(Function("return this")()),"undefined"==typeof Promise&&(t.push("`Promise`"),e.push("`es6-promise`")),"undefined"==typeof FormData&&(t.push("`FormData`"),e.push("`isomorphic-form-data`")),!o.fetch||"undefined"==typeof Promise||"undefined"==typeof FormData)throw new Error("`arcgis-rest-request` requires a `fetch` implementation and global variables for `Promise` and `FormData` to be present in the global scope. You are missing "+t.join(", ")+". We recommend installing the "+e.join(", ")+" modules at the root of your application to add these to the global scope. See https://bit.ly/2KNwWaJ for more info.");var e=o.httpMethod,i=o.authentication,a=o.rawResponse,s=A({f:"json"},o.params),r=null,u={method:e,credentials:o.credentials||"same-origin"};return o.headers&&o.headers["X-Esri-Auth-Client-Id"]&&-1<n.indexOf("/oauth2/platformSelf")&&(u.credentials="include"),(i?i.getToken(n,{fetch:o.fetch}).catch(function(e){return e.url=n,e.options=o,r=e,Promise.resolve("")}):Promise.resolve("")).then(function(e){e.length&&(s.token=e),i&&i.getDomainCredentials&&(u.credentials=i.getDomainCredentials(n));var t={};"GET"===u.method&&(s.token&&o.hideToken&&"undefined"==typeof window&&(t["X-Esri-Authorization"]="Bearer "+s.token,delete s.token),r=""===H(s)?n:n+"?"+H(s),o.maxUrlLength&&r.length>o.maxUrlLength||s.token&&o.hideToken?(u.method="POST",e.length&&o.hideToken&&(s.token=e,delete t["X-Esri-Authorization"])):n=r);var r=new RegExp("/items/.+/updateResources").test(n);return"POST"===u.method&&(u.body=function(e,t){var t=Y(e)||t,r=F(e);if(t){var n=new FormData;return Object.keys(r).forEach(function(e){var t;"undefined"!=typeof Blob&&r[e]instanceof Blob?(t=r.fileName||r[e].name||e,n.append(e,r[e],t)):n.append(e,r[e])}),n}return H(e)}(s,r)),u.headers=A(A({},t),o.headers),"undefined"!=typeof window||u.headers.referer||(u.headers.referer=J),Y(s)||r||(u.headers["Content-Type"]="application/x-www-form-urlencoded"),o.fetch(n,u)}).then(function(e){if(!e.ok){var t=e.status,r=e.statusText;throw new W(r,"HTTP "+t,e,n,o)}if(a)return e;switch(s.f){case"json":case"geojson":return e.json();case"html":case"text":return e.text();default:return e.blob()}}).then(function(e){if("json"!==s.f&&"geojson"!==s.f||a)return e;var t=function(t,e,r,n){if(400<=t.code){var o=t.message,i=t.code;throw new W(o,i,t,e,r)}if(t.error){var a=t.error,o=a.message,i=a.code,s=a.messageCode,a=s||i||"UNKNOWN_ERROR_CODE";if(498===i||499===i||"GWM_0003"===s||400===i&&"Unable to generate token."===o)throw n||new $(o,a,t,e,r);throw new W(o,a,t,e,r)}if("failed"!==t.status&&"failure"!==t.status)return t;o=void 0,i="UNKNOWN_ERROR_CODE";try{o=JSON.parse(t.statusMessage).message,i=JSON.parse(t.statusMessage).code}catch(e){o=t.statusMessage||t.message}throw new W(o,i,t,e,r)}(e,n,o,r);return r&&(e=n.toLowerCase().split(/\/rest(\/admin)?\/services\//)[0],o.authentication.federatedServers[e]={token:[],expires:new Date(Date.now()+864e5)},r=null),t})}function Z(e){return"string"==typeof e&&"/"===(e=e.trim())[e.length-1]?e.slice(0,-1):e}function ee(e){return e.replace(/^#/,"").split("&").reduce(function(e,t){var r,t=(r=t,r=(t=t.split("="))[0],t=t[1],{key:decodeURIComponent(r),value:decodeURIComponent(t)});return e[t.key]=t.value,e},{})}function te(e){return(e=void 0===e?{}:e).portal?Z(e.portal):e.authentication?e.authentication.portal:"https://www.arcgis.com/sharing/rest"}function re(e){return e.owner?Promise.resolve(e.owner):e.item&&e.item.owner?Promise.resolve(e.item.owner):e.authentication&&e.authentication.getUsername?e.authentication.getUsername():Promise.reject(new Error("Could not determine the owner of this item. Pass the `owner`, `item.owner`, or `authentication` option."))}function ne(n){return re(n).then(function(e){var t,r=n.folderId?te(n)+"/content/users/"+e+"/"+n.folderId+"/items/"+n.item.id+"/update":te(n)+"/content/users/"+e+"/items/"+n.item.id+"/update";return n.params=A(A({},n.params),(t=n.item,(e=JSON.parse(JSON.stringify(t))).data&&("undefined"!=typeof Blob&&t.data instanceof Blob||"ReadStream"===t.data.constructor.name?e.file=t.data:e.text=t.data,delete e.data),e)),X(r,n)})}var oe=function(e,t){return("string"==typeof t?t:te(t))+"/content/items/"+e};function ie(t){return re(t).then(function(e){return X(te(t)+"/content/users/"+e+"/items/"+t.id+"/unprotect",t)})}function ae(e){return t=e.groupId,X(te(e=e)+"/community/groups/"+t,A({httpMethod:"GET"},e)).then(function(e){return e.userMembership.memberType}).catch(function(){return"none"});var t}function se(t){return re(t).then(function(e){return X(te(t)+"/content/users/"+e+"/items/"+t.id+"/delete",t)})}var ue=(ce.prototype.match=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.termStack=this.termStack.concat(e),this},ce.prototype.in=function(e){return this.hasRange||this.hasTerms?(e&&"*"!==e&&(this.q+=e+":"),this.commit()):(z("`in("+(e?'"'+e+'"':"")+")`"+" was called with no call to `match(...)` or `from(...)`/`to(...)`. Your query was not modified."),this)},ce.prototype.startGroup=function(){return this.commit(),0<this.openGroups&&(this.q+=" "),this.openGroups++,this.q+="(",this},ce.prototype.endGroup=function(){return this.openGroups<=0?z("`endGroup(...)` was called without calling `startGroup(...)` first. Your query was not modified."):(this.commit(),this.openGroups--,this.q+=")"),this},ce.prototype.and=function(){return this.addModifier("and")},ce.prototype.or=function(){return this.addModifier("or")},ce.prototype.not=function(){return this.addModifier("not")},ce.prototype.from=function(e){return this.hasTerms?z('`from(...)` is not allowed after `match(...)` try using `.from(...).to(...).in(...)`. Optionally, you may see this because dates are incorrectly formatted. Dates should be a primative Date value, aka a number in milliseconds or Date object, ie new Date("2020-01-01"). Your query was not modified.'):this.rangeStack[0]=e,this},ce.prototype.to=function(e){return this.hasTerms?z('`to(...)` is not allowed after `match(...)` try using `.from(...).to(...).in(...)`. Optionally, you may see this because dates are incorrectly formatted. Dates should be a primative Date value, aka a number in milliseconds or Date object, ie new Date("2020-01-01"). Your query was not modified.'):this.rangeStack[1]=e,this},ce.prototype.boost=function(e){return this.commit(),this.q+="^"+e,this},ce.prototype.toParam=function(){return this.commit(),this.cleanup(),this.q},ce.prototype.clone=function(){return this.commit(),this.cleanup(),new ce(this.q+"")},ce.prototype.addModifier=function(e){return this.currentModifer?(z("You have called `"+this.currentModifer+"()` after `"+e+"()`. Your current query was not modified."),this):(this.commit(),""===this.q&&"not"!==e?z("You have called `"+e+"()` without calling another method to modify your query first. Try calling `match()` first."):(this.currentModifer=e,this.q+=""===this.q?"":" ",this.q+=e.toUpperCase()+" "),this)},ce.prototype.needsQuotes=function(e){return/\s|:/g.test(e)},ce.prototype.formatTerm=function(e){return e instanceof Date?e.getTime():"string"==typeof e&&this.needsQuotes(e)?'"'+e+'"':e},ce.prototype.commit=function(){var t=this;return this.currentModifer=void 0,this.hasRange&&(this.q+="["+this.formatTerm(this.rangeStack[0])+" TO "+this.formatTerm(this.rangeStack[1])+"]",this.rangeStack=[void 0,void 0]),this.hasTerms&&(this.q+=this.termStack.map(function(e){return t.formatTerm(e)}).join(" "),this.termStack=[]),this},Object.defineProperty(ce.prototype,"hasTerms",{get:function(){return 0<this.termStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(ce.prototype,"hasRange",{get:function(){return this.rangeStack.length&&this.rangeStack[0]&&this.rangeStack[1]},enumerable:!1,configurable:!0}),ce.prototype.cleanup=function(){if(0<this.openGroups)for(z("Automatically closing "+this.openGroups+" group(s). You can use `endGroup(...)` to remove this warning.");0<this.openGroups;)this.q+=")",this.openGroups--;var e=this.q;this.q=e.replace(/( AND ?| NOT ?| OR ?)*$/,""),e!==this.q&&z("`startGroup(...)` was called without calling `endGroup(...)` first. Your query was not modified."),this.q=this.q.replace(/(\(\))*/,"")},ce);function ce(e){void 0===e&&(e=""),this.termStack=[],this.rangeStack=[],this.openGroups=0,this.q=e}function pe(r,n){var o,i,e,t="string"==typeof r||r instanceof ue?{httpMethod:"GET",params:{q:r}}:(o=r,t=["q","num","start","sortField","sortOrder","searchUserAccess","searchUserName"],(i=A(A({params:{}},{httpMethod:"GET"}),o)).params=t.reduce(function(e,t){return!o[t]&&"boolean"!=typeof o[t]||(e[t]=o[t]),e},i.params),["params","httpMethod","rawResponse","authentication","portal","fetch","maxUrlLength","headers"].reduce(function(e,t){return i[t]&&(e[t]=i[t]),e},{}));switch(n){case"item":e="/search";break;case"group":e="/community/groups";break;case"groupContent":if("string"==typeof r||r instanceof ue||!r.groupId)return Promise.reject(new Error("you must pass a `groupId` option to `searchGroupContent`"));e="/content/groups/"+r.groupId+"/search";break;default:e="/portals/self/users/search"}return X(te(t)+e,t).then(function(t){return t.nextStart&&-1!==t.nextStart&&(t.nextPage=function(){var e;return"string"==typeof r||r instanceof ue?e={q:r,start:t.nextStart}:(e=r).start=t.nextStart,pe(e,n)}),t})}function le(e){return pe(e,"item")}function de(e,t){if(0===e.length)return[];for(var r=[],n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function fe(e){var t=e.id,r=te(e)+"/community/groups/"+t+"/addUsers",t=Object.assign({},e,{admins:void 0,users:void 0}),t=P(he("users",e.users,t),he("admins",e.admins,t)).map(function(e){return X(r,e).catch(function(e){return{errors:[e]}})});return Promise.all(t).then(me)}function he(o,e,i){return!e||e.length<1?[]:de(e,25).map(function(e){return t=o,r=e,n=i,Object.assign({},n,((e={})[t]=r,e.params=A(A({},n.params),((n={})[t]=r,n)),e));var t,r,n})}function me(e){var t=e.filter(function(e){return e.notAdded}).reduce(function(e,t){return e.concat(t.notAdded)},[]),e=e.filter(function(e){return e.errors}).reduce(function(e,t){return e.concat(t.errors)},[]),t={notAdded:t};return 0<e.length&&(t.errors=e),t}function ge(t){var e=t.id,r=t.users,n=te(t)+"/community/groups/"+e+"/removeUsers",r=de(r,25).map(function(e){e=A(A({},t),{users:e,params:{users:e}});return X(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(r).then(function(e){var t=function(r){return e.filter(function(e){return e[r]}).reduce(function(e,t){return e.concat(t[r])},[])},r=t("errors"),t={notRemoved:t("notRemoved")};return r.length?A(A({},t),{errors:r}):t})}function ve(e){var t,r=e.id,n=te(e)+"/community/groups/"+r+"/invite",e=de((t=e).users,25).map(function(e){return function(e,t){t=Object.assign({},t);return t.params=A(A({},t.params),{users:e,role:t.role,expiration:t.expiration}),t}(e,t)}).map(function(e){return X(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(ye)}function ye(e){var t=e.every(function(e){return e.success}),e=e.reduce(function(e,t){return e.concat(t.errors||[])},[]),t={success:t};return 0<e.length&&(t.errors=e),t}function be(e){return X(te(e)+"/community/groups/"+e.id+"/unprotect",e)}function we(e){return X(te(e)+"/community/groups/"+e.id+"/delete",A({},e))}function Ce(e){var t=te(e)+"/community/groups/"+e.id+"/updateUsers",r={authentication:e.authentication,params:{}};return"admin"===e.newMemberType?r.params.admins=e.users:r.params.users=e.users,X(t,r)}function ke(e){var n,t=te(e)+"/portals/self/createNotification",e=de((n=e).users,n.batchSize||25).map(function(e){return t=e,r=n,(e=Object.assign({},r)).params=A(A({},e.params),{users:t,subject:r.subject,message:r.message,notificationChannelType:e.notificationChannelType}),e;var t,r}).map(function(e){return X(t,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(Te)}function Te(e){var t=e.every(function(e){return e.success}),e=e.reduce(function(e,t){return e.concat(t.errors||[])},[]),t={success:t};return 0<e.length&&(t.errors=e),t}function Se(e){var t,r,n={httpMethod:"GET"};return"string"==typeof e?r="https://www.arcgis.com/sharing/rest/community/users/"+e:(t=e.username||e.authentication.username,r=te(e)+"/community/users/"+encodeURIComponent(t),n=A(A({},e),n)),X(r,n)}function Ae(t){return le({q:"id: "+t.id+" AND group: "+t.groupId,start:1,num:10,sortField:"title",authentication:t.authentication,httpMethod:"POST"}).then(function(e){if(0<e.total)return e.results.some(function(e){return e.id===t.id})})}function Ee(a){return Ae(a).then(function(e){if(e)return{itemId:a.id,shortcut:!0,notSharedWith:[]};var t=a.authentication.username,e=a.owner,n=a.confirmItemControl,e=e||t;if(e===t)return Ie(a);var o=!1,i=!1;return Promise.all([Se({username:t,authentication:a.authentication}),Se({username:e,authentication:a.authentication}),ae(a)]).then(function(e){var t=e[0],r=e[1],e=e[2];return o="org_admin"===t.role&&!t.roleId,i=t.orgId!==r.orgId,function(e,t,r,n,o,i){var a=[];if(i.groupId!==e.favGroupId)if(t){if(!n)throw Error("This item can not be shared to shared editing group "+i.groupId+" by "+e.username+" as they not the item owner or org admin.");a.push(Pe(e,e,!1,"Error adding "+e.username+" as member to edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i),Pe(e,o,!0,"none"===r?"Error adding user "+o.username+" to edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.":"Error promoting user "+o.username+" to admin in edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i))}else if(n)a.push(Pe(e,e,!1,"Error adding "+e.username+" as member to view group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i));else if("none"===r)throw new Error("This item can not be shared by "+e.username+" as they are not a member of the specified group "+i.groupId+".");return a}(t,!!n,e,o,r,a)}).then(function(e){var t=e[0],r=(void 0===t?{promise:Promise.resolve({notAdded:[]}),revert:function(e){return Promise.resolve(e)}}:t).revert;return Promise.all(e.map(function(e){return e.promise})).then(function(){return Ie(a,o,i)}).then(function(e){return r(e)})})}).then(function(e){if(e.notSharedWith.length)throw Error("Item "+a.id+" could not be shared to group "+a.groupId+".");return e})}function Ie(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.authentication.username,o=e.owner||n,i=te(e)+"/content/items/"+e.id+"/share";return(o===n||t&&!r)&&(i=te(e)+"/content/users/"+o+"/items/"+e.id+"/share"),e.params={groups:e.groupId,confirmItemControl:e.confirmItemControl},X(i,e)}function Pe(e,t,r,n,o){var i,a,s=t.groups||[],u=s.find(function(e){return e.id===o.groupId});if(e.orgId!==t.orgId)throw Error("User "+t.username+" is not a member of the same org as "+e.username+". Consequently they can not be added added to group "+o.groupId+" nor can item "+o.id+" be shared to the group.");if(!u&&511<s.length)throw Error("User "+t.username+" already has 512 groups, and can not be added to group "+o.groupId+". Consequently item "+o.id+" can not be shared to the group.");return a=u?r&&"member"===u.userMembership.memberType?(i=Ce({id:o.groupId,users:[t.username],newMemberType:"admin",authentication:o.authentication}).then(function(e){e=e.results.reduce(function(e,t){return t.success||e.push(t.username),e},[]);return Promise.resolve({notAdded:e})}).catch(function(){return{notAdded:[t.username]}}),function(e){return Ce({id:o.groupId,users:[t.username],newMemberType:"member",authentication:o.authentication}).then(function(){return e}).catch(function(){return e})}):(i=Promise.resolve({notAdded:[]}),function(e){return Promise.resolve(e)}):(i=fe(((a={id:o.groupId})[r?"admins":"users"]=[t.username],a.authentication=o.authentication,a)).then(function(e){if(e.errors&&e.errors.length)throw e.errors[0];return e}).catch(function(){return{notAdded:[t.username]}}),function(e){return ge({id:o.groupId,users:[t.username],authentication:o.authentication}).then(function(){return e})}),{promise:i.then(function(e){if(e.notAdded.length)throw new Error(n);return e}),revert:a}}function xe(o){return Ae(o).then(function(e){if(!e)return Promise.resolve({itemId:o.id,shortcut:!0,notUnsharedFrom:[]});var r=o.authentication.username,n=o.owner;return Promise.all([ae(o),Se({username:r,authentication:o.authentication})]).then(function(e){var t=e[0],e=e[1],e="org_admin"===e.role&&!e.roleId;if(!((n||r)===r)&&!e&&["admin","owner"].indexOf(t)<0)throw Error("This item can not be unshared from group "+o.groupId+" by "+r+" as they not the item owner, an org admin, group admin or group owner.");return function(e){var t=e.authentication.username,r=e.owner||t,n=te(e)+"/content/items/"+e.id+"/unshare";r===t&&(n=te(e)+"/content/users/"+r+"/items/"+e.id+"/unshare");return e.params={groups:e.groupId},X(n,e)}(o)}).then(function(e){if(e.notUnsharedFrom.length)throw Error("Item "+o.id+" could not be unshared to group "+o.groupId);return e})})}function De(e){if("string"==typeof e)return e.replace(/\/sharing\/rest\/?$/,"");if("object"==typeof e){var t=e.portalSelf||e,r=t.portalHostname,n=t.urlKey,o=t.customBaseUrl;if(r||n&&o)return t.isPortal?"https://"+t.portalHostname:"https://"+t.urlKey+"."+t.customBaseUrl}return De(te(e))}var Oe={devext:"https://d1011m9qpnz5mw.cloudfront.net",qaext:"https://dyq9ux9ryu4qj.cloudfront.net",www:"https://d1iq7pbacwn5rb.cloudfront.net"};function Re(e){if(e.isPortal)return De(e)+"/apps/sites";e=e.portalHostname.split(".")[0];return(Oe[e]||Oe.www)+"/opendata-ui/assets"}function _e(e){return De(e)+"/sharing/rest"}function Ne(e){return e=(e=e.toLowerCase()).includes("//")?e.split("//")[1]:e}function Ue(e){var t;return e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://hubqa.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://hubdev.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://hub.arcgis.com"),t}function je(e){if(e.isPortal)throw new Error("Hub Url is not available in ArcGIS Enterprise");return Ue(e.portalHostname)}var Le=function(e,t,r){var n=e.id,e=e.access,t=_e(t)+"/content/items/"+n,n=new URLSearchParams({f:"json"});return"public"!==e&&r&&n.append("token",r),t+"?"+n.toString()},Me=/\/(map|feature)server/i,Ge=function(e){e=e.match(Me),e=e&&e[1];return e&&m(e)+" Service"};function Be(e){var t=e&&e.hubApiUrl;return t||Ue(_e(e))}function qe(e,t){return t.rawResponse=!1,X(e,t).then(function(e){var t={token:e.access_token,username:e.username,expires:new Date(Date.now()+(1e3*e.expires_in-1e3)),ssl:!0===e.ssl};return e.refresh_token&&(t.refreshToken=e.refresh_token),t})}function Ye(e,t){return"undefined"!=typeof window&&window.location&&window.location.host?t.params.referer=window.location.host:t.params.referer=J,X(e,t)}var Fe=/^https?:\/\/(\S+)\.arcgis\.com.+/;function He(e){return Fe.test(e)}function We(e){if(!Fe.test(e))return null;e=e.match(Fe)[1].split(".").pop();return e.includes("dev")?"dev":e.includes("qa")?"qa":"production"}function ze(e,t){t=Z(function(e){if(!Fe.test(e))return e;switch(We(e)){case"dev":return"https://devext.arcgis.com/sharing/rest";case"qa":return"https://qaext.arcgis.com/sharing/rest";default:return"https://www.arcgis.com/sharing/rest"}}(t)).replace(/https?:\/\//,""),e=Z(e).replace(/https?:\/\//,"");return new RegExp(e,"i").test(t)}var Ve=(Object.defineProperty(Je.prototype,"token",{get:function(){return this._token},enumerable:!1,configurable:!0}),Object.defineProperty(Je.prototype,"tokenExpires",{get:function(){return this._tokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(Je.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(Je.prototype,"refreshTokenExpires",{get:function(){return this._refreshTokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(Je.prototype,"trustedServers",{get:function(){return console.log("DEPRECATED: use federatedServers instead"),this.federatedServers},enumerable:!1,configurable:!0}),Je.beginOAuth2=function(e,t){void 0===t&&(t=window),e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=A({portal:"https://www.arcgis.com/sharing/rest",provider:"arcgis",expiration:20160,popup:!0,popupWindowFeatures:"height=400,width=600,menubar=no,location=yes,resizable=yes,scrollbars=yes,status=yes",state:e.clientId,locale:""},e),n=r.portal,o=r.provider,i=r.clientId,a=r.expiration,s=r.redirectUri,u=r.popup,c=r.popupWindowFeatures,p=r.state,l=r.locale,r=r.params,l="arcgis"===o?n+"/oauth2/authorize?client_id="+i+"&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+p+"&locale="+l:n+"/oauth2/social/authorize?client_id="+i+"&socialLoginProviderName="+o+"&autoAccountCreateForSocial=true&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+p+"&locale="+l;if(r&&(l=l+"&"+H(r)),u){var d,f=((d={promise:null,resolve:null,reject:null}).promise=new Promise(function(e,t){d.resolve=e,d.reject=t}),d);return t["__ESRI_REST_AUTH_HANDLER_"+i]=function(e,t){e?(e=JSON.parse(e),f.reject(new $(e.errorMessage,e.error))):t&&(t=JSON.parse(t),f.resolve(new Je({clientId:i,portal:n,ssl:t.ssl,token:t.token,tokenExpires:new Date(t.expires),username:t.username})))},t.open(l,"oauth-window",c),f.promise}t.location.href=l},Je.completeOAuth2=function(e,o){void 0===o&&(o=window);var t=A({portal:"https://www.arcgis.com/sharing/rest",popup:!0},e),i=t.portal,a=t.clientId,s=t.popup;function r(e,t){try{var r=void 0,n="__ESRI_REST_AUTH_HANDLER_"+a;if(s&&(o.opener?o.opener.parent&&o.opener.parent[n]?r=o.opener.parent[n]:o.opener&&o.opener[n]&&(r=o.opener[n]):o!==o.parent&&o.parent&&o.parent[n]&&(r=o.parent[n]),r))return r(e?JSON.stringify(e):void 0,JSON.stringify(t)),void o.close()}catch(e){throw new $('Unable to complete authentication. It\'s possible you specified popup based oAuth2 but no handler from "beginOAuth2()" present. This generally happens because the "popup" option differs between "beginOAuth2()" and "completeOAuth2()".')}if(e)throw new $(e.errorMessage,e.error);return new Je({clientId:a,portal:i,ssl:t.ssl,token:t.token,tokenExpires:t.expires,username:t.username})}e=ee(o.location.hash);if(!e.access_token){var n=void 0,u="Unknown error";return e.error&&(n=e.error,u=e.error_description),r({error:n,errorMessage:u})}t=e.access_token,n=new Date(Date.now()+1e3*parseInt(e.expires_in,10)-6e4),u=e.username;return r(void 0,{token:t,expires:n,ssl:"true"===e.ssl,username:u})},Je.fromParent=function(e,n){var o;return!n&&window&&(n=window),new Promise(function(t,r){o=function(e){if(e.source===n.parent&&e.data)try{return t(Je.parentMessageHandler(e))}catch(e){return r(e)}},n.addEventListener("message",o,!1),n.parent.postMessage({type:"arcgis:auth:requestCredential"},e)}).then(function(e){return n.removeEventListener("message",o,!1),e})},Je.authorize=function(e,t){e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=A({portal:"https://arcgis.com/sharing/rest",expiration:20160},e),n=r.portal,o=r.clientId,i=r.expiration,r=r.redirectUri;t.writeHead(301,{Location:n+"/oauth2/authorize?client_id="+o+"&expiration="+(e.duration||i)+"&response_type=code&redirect_uri="+encodeURIComponent(r)}),t.end()},Je.exchangeAuthorizationCode=function(e,t){var e=A({portal:"https://www.arcgis.com/sharing/rest",refreshTokenTTL:20160},e),r=e.portal,n=e.clientId,o=e.redirectUri,i=e.refreshTokenTTL;return qe(r+"/oauth2/token",{params:{grant_type:"authorization_code",client_id:n,redirect_uri:o,code:t}}).then(function(e){return new Je({clientId:n,portal:r,ssl:e.ssl,redirectUri:o,refreshToken:e.refreshToken,refreshTokenTTL:i,refreshTokenExpires:new Date(Date.now()+60*(i-1)*1e3),token:e.token,tokenExpires:e.expires,username:e.username})})},Je.deserialize=function(e){e=JSON.parse(e);return new Je({clientId:e.clientId,refreshToken:e.refreshToken,refreshTokenExpires:new Date(e.refreshTokenExpires),username:e.username,password:e.password,token:e.token,tokenExpires:new Date(e.tokenExpires),portal:e.portal,ssl:e.ssl,tokenDuration:e.tokenDuration,redirectUri:e.redirectUri,refreshTokenTTL:e.refreshTokenTTL})},Je.fromCredential=function(e){var t=void 0===e.ssl||e.ssl,r=e.expires||Date.now()+72e5;return new Je({portal:e.server.includes("sharing/rest")?e.server:e.server+"/sharing/rest",ssl:t,token:e.token,username:e.userId,tokenExpires:new Date(r)})},Je.parentMessageHandler=function(e){if("arcgis:auth:credential"===e.data.type)return Je.fromCredential(e.data.credential);if("arcgis:auth:error"!==e.data.type)throw new Error("Unknown message type.");var t=new Error(e.data.error.message);throw t.name=e.data.error.name,t},Je.prototype.toCredential=function(){return{expires:this.tokenExpires.getTime(),server:this.portal,ssl:this.ssl,token:this.token,userId:this.username}},Je.prototype.getUser=function(e){var t=this;if(this._pendingUserRequest)return this._pendingUserRequest;if(this._user)return Promise.resolve(this._user);var r=this.portal+"/community/self",e=A(A({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingUserRequest=X(r,e).then(function(e){return t._user=e,t._pendingUserRequest=null,e}),this._pendingUserRequest},Je.prototype.getPortal=function(e){var t=this;if(this._pendingPortalRequest)return this._pendingPortalRequest;if(this._portalInfo)return Promise.resolve(this._portalInfo);var r=this.portal+"/portals/self",e=A(A({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingPortalRequest=X(r,e).then(function(e){return t._portalInfo=e,t._pendingPortalRequest=null,e}),this._pendingPortalRequest},Je.prototype.getUsername=function(){return this.username?Promise.resolve(this.username):this._user?Promise.resolve(this._user.username):this.getUser().then(function(e){return e.username})},Je.prototype.getToken=function(e,t){return r=this.portal,n=e,o=He(r),i=He(n),r=We(r),n=We(n),o&&i&&r===n||new RegExp(this.portal,"i").test(e)?this.getFreshToken(t):this.getTokenForServer(e,t);var r,n,o,i},Je.prototype.validateAppAccess=function(r){return this.getToken(this.portal).then(function(e){return X((t=void 0===t?"https://www.arcgis.com/sharing/rest":t)+"/oauth2/validateAppAccess",{method:"POST",params:{f:"json",client_id:r,token:e}});var t})},Je.prototype.toJSON=function(){return{clientId:this.clientId,refreshToken:this.refreshToken,refreshTokenExpires:this.refreshTokenExpires,username:this.username,password:this.password,token:this.token,tokenExpires:this.tokenExpires,portal:this.portal,ssl:this.ssl,tokenDuration:this.tokenDuration,redirectUri:this.redirectUri,refreshTokenTTL:this.refreshTokenTTL}},Je.prototype.serialize=function(){return JSON.stringify(this)},Je.prototype.enablePostMessageAuth=function(e,t){!t&&window&&(t=window),this._hostHandler=this.createPostMessageHandler(e),t.addEventListener("message",this._hostHandler,!1)},Je.prototype.disablePostMessageAuth=function(e){(e=!e&&window?window:e).removeEventListener("message",this._hostHandler,!1)},Je.prototype.refreshSession=function(e){return this._user=null,this.username&&this.password?this.refreshWithUsernameAndPassword(e):this.clientId&&this.refreshToken?this.refreshWithRefreshToken():Promise.reject(new $("Unable to refresh token."))},Je.prototype.getServerRootUrl=function(e){var t=Z(e).split(/\/rest(\/admin)?\/services(?:\/|#|\?|$)/)[0].match(/(https?:\/\/)(.+)/);t[0];var r=t[1],e=t[2].split("/"),t=e[0],e=e.slice(1);return""+r+t.toLowerCase()+"/"+e.join("/")},Je.prototype.getDomainCredentials=function(t){return this.trustedDomains&&this.trustedDomains.length&&this.trustedDomains.some(function(e){return t.startsWith(e)})?"include":"same-origin"},Je.prototype.createPostMessageHandler=function(n){var o=this;return function(e){var t=-1<n.indexOf(e.origin),r="arcgis:auth:requestCredential"===e.data.type;t&&r&&((r=o.toCredential()).server=r.server.replace("/sharing/rest",""),e.source.postMessage({type:"arcgis:auth:credential",credential:r},e.origin))}},Je.prototype.getTokenForServer=function(t,r){var n=this,o=this.getServerRootUrl(t),e=this.federatedServers[o];return e&&e.expires&&e.expires.getTime()>Date.now()?Promise.resolve(e.token):this._pendingTokenRequests[o]||(this._pendingTokenRequests[o]=this.fetchAuthorizedDomains().then(function(){return X(o+"/rest/info",{credentials:n.getDomainCredentials(t)}).then(function(e){if(e.owningSystemUrl){if(ze(e.owningSystemUrl,n.portal))return X(e.owningSystemUrl+"/sharing/rest/info",r);throw new $(t+" is not federated with "+n.portal+".","NOT_FEDERATED")}if(e.authInfo&&void 0!==n.federatedServers[o])return Promise.resolve({authInfo:e.authInfo});throw new $(t+" is not federated with any portal and is not explicitly trusted.","NOT_FEDERATED")}).then(function(e){return e.authInfo.tokenServicesUrl}).then(function(e){return n.token&&n.tokenExpires.getTime()>Date.now()?Ye(e,{params:{token:n.token,serverUrl:t,expiration:n.tokenDuration,client:"referer"}}):Ye(e,{params:{username:n.username,password:n.password,expiration:n.tokenDuration,client:"referer"}}).then(function(e){return n._token=e.token,n._tokenExpires=new Date(e.expires),e})}).then(function(e){return n.federatedServers[o]={expires:new Date(e.expires),token:e.token},delete n._pendingTokenRequests[o],e.token})}),this._pendingTokenRequests[o])},Je.prototype.getFreshToken=function(e){var t=this;return this.token&&!this.tokenExpires||this.token&&this.tokenExpires&&this.tokenExpires.getTime()>Date.now()?Promise.resolve(this.token):(this._pendingTokenRequests[this.portal]||(this._pendingTokenRequests[this.portal]=this.refreshSession(e).then(function(e){return t._pendingTokenRequests[t.portal]=null,e.token})),this._pendingTokenRequests[this.portal])},Je.prototype.refreshWithUsernameAndPassword=function(e){var t=this,e=A({params:{username:this.username,password:this.password,expiration:this.tokenDuration}},e);return Ye(this.portal+"/generateToken",e).then(function(e){return t._token=e.token,t._tokenExpires=new Date(e.expires),t})},Je.prototype.refreshWithRefreshToken=function(e){var t=this;if(this.refreshToken&&this.refreshTokenExpires&&this.refreshTokenExpires.getTime()<Date.now())return this.refreshRefreshToken(e);e=A({params:{client_id:this.clientId,refresh_token:this.refreshToken,grant_type:"refresh_token"}},e);return qe(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t})},Je.prototype.refreshRefreshToken=function(e){var t=this,e=A({params:{client_id:this.clientId,refresh_token:this.refreshToken,redirect_uri:this.redirectUri,grant_type:"exchange_refresh_token"}},e);return qe(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t._refreshToken=e.refreshToken,t._refreshTokenExpires=new Date(Date.now()+60*(t.refreshTokenTTL-1)*1e3),t})},Je.prototype.fetchAuthorizedDomains=function(){var t=this;return this.server||!this.portal?Promise.resolve(this):this.getPortal().then(function(e){return e.authorizedCrossOriginDomains&&e.authorizedCrossOriginDomains.length&&(t.trustedDomains=e.authorizedCrossOriginDomains.filter(function(e){return!e.startsWith("http://")}).map(function(e){return e.startsWith("https://")?e:"https://"+e})),t})},Je);function Je(e){var t;this.clientId=e.clientId,this._refreshToken=e.refreshToken,this._refreshTokenExpires=e.refreshTokenExpires,this.username=e.username,this.password=e.password,this._token=e.token,this._tokenExpires=e.tokenExpires,this.portal=e.portal?Z(e.portal):"https://www.arcgis.com/sharing/rest",this.ssl=e.ssl,this.provider=e.provider||"arcgis",this.tokenDuration=e.tokenDuration||20160,this.redirectUri=e.redirectUri,this.refreshTokenTTL=e.refreshTokenTTL||20160,this.server=e.server,this.federatedServers={},this.trustedDomains=[],e.server&&(t=this.getServerRootUrl(e.server),this.federatedServers[t]={token:e.token,expires:e.tokenExpires}),this._pendingTokenRequests={}}var Ke={app:["Application","City Engine Web Scene","CityEngine Web Scene","Dashboard","Insights Page","Insights Workbook","Operation View","Web Mapping Application","StoryMap","Web Experience","Urban Model"],dataset:["CSV Collection","CSV","Feature Collection Template","Feature Collection","Feature Layer","Feature Service","File Geodatabase","GeoJSON","GeoJson","KML Collection","KML","Microsoft Excel","Raster Layer","Shapefile","Stream Service","Table"],document:["CAD Drawing","Document Link","Hub Page","Site Page","Image","iWork Keynote","iWork Numbers","iWork Pages","Microsoft Powerpoint","Microsoft Visio","Microsoft Word","Notebook","PDF","Pro Map","Report Template"],event:["Hub Event"],feedback:["Form","Quick Capture Project"],initiative:["Hub Initiative"],template:["Hub Initiative Template"],solution:["Solution"],map:["Image Collection","Image Service","Map Service Layer","Map Service","Scene Service","Scene Layer","Vector Tile Service","Web Map Service","Web Map Tile Service","Web Map","Web Scene","WFS","WMS","WMTS"],other:["360 VR Experience","AppBuilder Widget Package","Application Configuration","ArcPad Package","Code Attachment","Code Sample","Desktop Add In","Desktop Application Template","Desktop Application","Desktop Style","Explorer Add In","Explorer Layer","Geocoding Service","Geometry Service","Geoprocessing Package","Geoprocessing Sample","Geoprocessing Service","Layer File","Layer Package","Layer Template","Layer","Layout","Locator Package","Map Area","Map Document","Map Package","Map Service Definition","Map Template","Mobile Application","Mobile Map Package","Native Application","Network Analysis Service","Operations Dashboard Add In","Project Package","Project Template","Raster Function Template","Rule Package","Scene Package","Service Definition","SQLite Geodatabase","Style","Tile Package","Vector Tile Package","Workflow Manager Package"],site:["Hub Site Application","Site Application"]},$e=Ke.app,Qe=Ke.dataset,Xe=Ke.document,Ze=Ke.event,et=Ke.feedback,tt=Ke.initiative,rt=Ke.map,nt=Ke.other,ot=Ke.site,it=["360 VR Experience","Application","CityEngine Web Scene","Code Sample","CSV Collection","CSV","CAD Drawing","Desktop Application","Desktop Application Template","Desktop Style","File Geodatabase","GeoJson","Geoprocessing Package","Geoprocessing Sample","Image","iWork Keynote","iWork Numbers","KML Collection","KML","Layer","Layer File","Layer Package","Layout","Locator Package","Map Package","Map Service Definition","Map Template","Microsoft Excel","Microsoft Powerpoint","Microsoft Visio","Microsoft Word","Notebook","Operations Dashboard Add In","PDF","Pro Map","Project Package","Project Template","Raster function template","Rule Package","Service Definition","Shapefile","Vector Tile Package","Workflow Manager Package"],at=["Data"],st={app:$e.concat(et),dataset:Qe,document:Xe,event:Ze,initiative:tt,map:rt,other:nt,site:ot,downloadableTypes:it,downloadableTypeKeywords:at,apiTypes:["Feature Service","Map Service","Image Service"]};function ut(e){return-1!==it.indexOf(e.type)||e.typeKeywords&&at.some(function(t){return e.typeKeywords.some(function(e){return e===t})})}function ct(e,t,r,n,o){return{xmin:e,ymin:t,xmax:r,ymax:n,spatialReference:{wkid:o=void 0===o?4326:o}}}function pt(e){return[[e.xmin,e.ymin],[e.xmax,e.ymax]]}var lt={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}};function dt(e){var t=e.portalSelf,r=t.defaultExtent,t=d(t,"helperServices.geometry.url");if(!t)return Promise.resolve(lt);if(!r)return Promise.resolve(lt);t+="/project",r={httpMethod:"POST",params:{geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[r]}),transformForward:!1,transformation:"",inSR:r.spatialReference.wkid,outSR:4326,f:"json"}};return e.authentication&&(r.authentication=e.authentication),X(t,r).then(function(e){e=e.geometries[0];return{xmin:e.xmin,ymin:e.ymin,xmax:e.xmax,ymax:e.ymax,spatialReference:{wkid:4326}}}).catch(function(e){return lt})}function ft(e){return Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[1])}var ht=[{type:"CC0-1.0",abbr:"CC0",name:"Public Domain Dedication",url:"http://creativecommons.org/publicdomain/zero/1.0"},{type:"CC-BY-4.0",abbr:"CC BY",name:"Attribution 4.0 International",url:"http://creativecommons.org/licenses/by/4.0"},{type:"CC-BY-3.0",abbr:"CC BY 3.0",name:"Attribution 3.0 Unported",url:"http://creativecommons.org/licenses/by/3.0"},{type:"CC-BY-2.5",abbr:"CC BY 2.5",name:"Attribution 2.5 Generic",url:"http://creativecommons.org/licenses/by/2.5"},{type:"CC-BY-2.0",abbr:"CC BY 2.0",name:"Attribution 2.0 Generic",url:"http://creativecommons.org/licenses/by/2.0"},{type:"CC-BY-1.0",abbr:"CC BY 1.0",name:"Attribution 1.0 Generic",url:"http://creativecommons.org/licenses/by/1.0"},{type:"CC-BY-SA-4.0",abbr:"CC BY-SA",name:"Attribution-ShareAlike 4.0 International",url:"http://creativecommons.org/licenses/by-sa/4.0"},{type:"CC-BY-SA-3.0",abbr:"CC BY-SA 3.0",name:"Attribution-ShareAlike 3.0 Unported",url:"http://creativecommons.org/licenses/by-sa/3.0"},{type:"CC-BY-SA-2.5",abbr:"CC BY-SA 2.5",name:"Attribution-ShareAlike 2.5 Generic",url:"http://creativecommons.org/licenses/by-sa/2.5"},{type:"CC-BY-SA-2.0",abbr:"CC BY-SA 2.0",name:"Attribution-ShareAlike 2.0 Generic",url:"http://creativecommons.org/licenses/by-sa/2.0"},{type:"CC-BY-SA-1.0",abbr:"CC BY-SA 1.0",name:"Attribution-ShareAlike 1.0 Generic",url:"http://creativecommons.org/licenses/by-sa/1.0"},{type:"CC-BY-ND-4.0",abbr:"CC BY-ND",name:"Attribution-NoDerivatives 4.0 International",url:"http://creativecommons.org/licenses/by-nd/4.0"},{type:"CC-BY-ND-3.0",abbr:"CC BY-ND 3.0",name:"Attribution-NoDerivs 3.0 Unported",url:"http://creativecommons.org/licenses/by-nd/3.0"},{type:"CC-BY-ND-2.5",abbr:"CC BY-ND 2.5",name:"Attribution-NoDerivs 2.5 Generic",url:"http://creativecommons.org/licenses/by-nd/2.5"},{type:"CC-BY-ND-2.0",abbr:"CC BY-ND 2.0",name:"Attribution-NoDerivs 2.0 Generic",url:"http://creativecommons.org/licenses/by-nd/2.0"},{type:"CC-BY-ND-1.0",abbr:"CC BY-ND 1.0",name:"Attribution-NoDerivs 1.0 Generic",url:"http://creativecommons.org/licenses/by-nd/1.0"},{type:"CC-BY-NC-4.0",abbr:"CC BY-NC",name:"Attribution-NonCommercial 4.0 International",url:"https://creativecommons.org/licenses/by-nc/4.0"},{type:"CC-BY-NC-3.0",abbr:"CC BY-NC 3.0",name:"Attribution-NonCommercial 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc/3.0"},{type:"CC-BY-NC-2.5",abbr:"CC BY-NC 2.5",name:"Attribution-NonCommercial 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc/2.5"},{type:"CC-BY-NC-2.0",abbr:"CC BY-NC 2.0",name:"Attribution-NonCommercial 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc/2.0"},{type:"CC-BY-NC-1.0",abbr:"CC BY-NC 1.0",name:"Attribution-NonCommercial 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc/1.0"},{type:"CC-BY-NC-SA-4.0",abbr:"CC BY-NC-SA",name:"Attribution-NonCommercial-ShareAlike 4.0 International",url:"https://creativecommons.org/licenses/by-nc-sa/4.0"},{type:"CC-BY-NC-SA-3.0",abbr:"CC BY-NC-SA 3.0",name:"Attribution-NonCommercial-ShareAlike 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-sa/3.0"},{type:"CC-BY-NC-SA-2.5",abbr:"CC BY-NC-SA 2.5",name:"Attribution-NonCommercial-ShareAlike 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.5"},{type:"CC-BY-NC-SA-2.0",abbr:"CC BY-NC-SA 2.0",name:"Attribution-NonCommercial-ShareAlike 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.0"},{type:"CC-BY-NC-SA-1.0",abbr:"CC BY-NC-SA 1.0",name:"Attribution-NonCommercial-ShareAlike 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/1.0"},{type:"CC-BY-NC-ND-4.0",abbr:"CC BY-NC-ND",name:"Attribution-NonCommercial-NoDerivatives 4.0 International",url:"https://creativecommons.org/licenses/by-nc-nd/4.0"},{type:"CC-BY-NC-ND-3.0",abbr:"CC BY-NC-ND 3.0",name:"Attribution-NonCommercial-NoDerivs 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-nd/3.0"},{type:"CC-BY-NC-ND-2.5",abbr:"CC BY-NC-ND 2.5",name:"Attribution-NonCommercial-NoDerivs 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.5"},{type:"CC-BY-NC-ND-2.0",abbr:"CC BY-NC-ND 2.0",name:"Attribution-NonCommercial-NoDerivs 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.0"},{type:"CC-BY-NC-ND-1.0",abbr:"CC BY-NC-ND 1.0",name:"Attribution-NonCommercial-NoDerivs 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/1.0"},{type:"PDDL-1.0",abbr:"PDDL",name:"ODC Public Domain Dedication and License",url:"http://opendatacommons.org/licenses/pddl/summary"},{type:"ODbL-1.0",abbr:"ODbL",name:"ODC Open Database License",url:"http://opendatacommons.org/licenses/odbl/summary"},{type:"ODC-BY-1.0",abbr:"ODC BY",name:"ODC Attribution License",url:"http://opendatacommons.org/licenses/by/summary"}];function mt(r){var e={type:(r=r||"")?"custom":"none",text:r},t=!1,n=ht.filter(function(e){return t=e,(e=(e=r).toLowerCase()).includes(t.name.toLowerCase())||e.includes(t.url.toLowerCase())||e.includes(t.abbr.toLowerCase());var t});return n.length&&(t=!0,e=n.pop()),t||(n=void 0,!function(e){try{return!!new URL(e).protocol}catch(e){return!1}}(r)?(t=r,new RegExp(/^<a[\s]+(href\s?=\s?["'].*?["'])+([^>]?)>((?:.(?!\<\/a\>))*.)?<\/a>$|^<a[\s]+(href\s?=\s?["'].*?["'])+([^>]?)\/>/).test(t)&&(t=new RegExp(/href\s?=\s?["'](.*?)["']/),n=r.match(t)[1])):n=r,n&&(e.url=n,e.text="")),e.text||delete e.text,e}var gt={};function vt(e){void 0===e&&(e=""),console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v9.0.0");e=bt(e);return"feedback"===e?"app":e}function yt(e){var t=(e=void 0===e?{}:e).type,r=e.typeKeywords||[];return("Site Application"===e.type||"Web Mapping Application"===e.type&&T(r,"hubSite"))&&(t="Hub Site Application"),("Site Page"===e.type||"Web Mapping Application"===e.type&&T(r,"hubPage"))&&(t="Hub Page"),"Hub Initiative"===e.type&&T(r,"hubInitiativeTemplate")&&(t="Hub Initiative Template"),t="Web Mapping Application"===e.type&&T(r,"hubSolutionTemplate")?"Solution":t}function bt(e){if(gt[e=void 0===e?"":e])return gt[e];for(var t=0,r=Object.keys(Ke);t<r.length;t++)for(var n=r[t],o=0,i=Ke[n];o<i.length;o++){var a=i[o];if(e.toLowerCase()===a.toLowerCase())return gt[e]=n}}function wt(e){return e&&"feature service"===e.toLowerCase()}function Ct(e){return(e=e&&e.match(/\/\d+$/))&&e[0].slice(1)}function kt(e){return Ct(e.url)||wt(e.type)&&T(e.typeKeywords,"Singlelayer")&&"0"}function Tt(e){e=e?e.split("_"):[];return{itemId:e[0],layerId:e[1]}}function St(e,t){return t&&e.match(t+"::")?e.split(t+"::")[1]:e}function At(e){if(!e)return e;var t=["categories",""];return e.map(function(e){return e.split("/")}).reduce(function(e,t,r){return P(e,t)},[]).filter(function(e){return!T(t,e.toLowerCase())})}function Et(e){var t,r;switch((e||"").toLowerCase()){case"image service":t="dataset";break;case"feature service":case"raster layer":t="map";break;case"microsoft excel":t="document";break;case"cad drawing":case"feature collection template":case"report template":t="content";break;default:t={other:"content",solution:"template"}[r=bt(e)]||r}return t}function It(e){return console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v9.0.0"),bt(yt(e="string"==typeof e?{type:e}:e))}function Pt(e){var t=new Date(e.created),r="item.created",n=e.properties,o=yt(e);return Object.assign({},e,{errors:[],item:e,name:e.title,family:Et(o),hubType:It(e),normalizedType:o,categories:At(e.categories),itemCategories:e.categories,summary:e.snippet||e.description,publisher:{name:e.owner,username:e.owner},permissions:{visibility:e.access,control:e.itemControl||"view"},actionLinks:n&&n.links,hubActions:n&&n.actions,metrics:n&&n.metrics,isDownloadable:ut(e),boundary:(n=e.extent)&&n.length&&{geometry:ct(n[0][0],n[0][1],n[1][0],n[1][1])},license:{name:"Custom License",description:e.accessInformation},createdDate:t,createdDateSource:r,publishedDate:t,publishedDateSource:r,updatedDate:new Date(e.modified),updatedDateSource:"item.modified",structuredLicense:mt(e.licenseInfo)})}function xt(e){if(e){var t=e.id,r=e.attributes;if(r){var n=Tt(t).itemId,o=r.owner,i=r.orgId,a=r.created,s=r.modified,u=r.name,c=r.title,p=r.type,l=r.typeKeywords,d=r.description,f=r.snippet,h=r.tags,m=r.thumbnail,g=r.categories,v=r.contentStatus,y=r.spatialReference,b=r.accessInformation,w=r.licenseInfo,C=r.culture,k=r.url,T=r.access,S=r.proxyFilter,A=r.properties,E=r.appCategories,I=r.industries,P=r.languages,x=r.largeThumbnail,D=r.banner,O=r.screenshots,R=r.listed,_=r.ownerFolder,N=r.size,U=r.protected,j=r.commentsEnabled,L=r.numComments,M=r.numRatings,G=r.avgRating,B=r.numViews,q=r.itemControl,Y=r.scoreCompleteness,F=r.itemExtent,e=r.itemModified,t=r.modifiedProvenance,r=r.serviceSpatialReference;return{id:n,owner:o,orgId:i,created:a,modified:e||"item.modified"===t&&s,title:c||u,type:k&&Ge(k)||p,typeKeywords:l,description:d,tags:h,snippet:f,thumbnail:m,extent:F||[],categories:g,contentStatus:v,spatialReference:y||r,accessInformation:b,licenseInfo:w,culture:C,url:k,access:T,size:N,protected:U,proxyFilter:S,properties:A,appCategories:E,industries:I,languages:P,largeThumbnail:x,banner:D,screenshots:O,listed:R,ownerFolder:_,commentsEnabled:j,numComments:L,numRatings:M,avgRating:G,numViews:B,itemControl:q,scoreCompleteness:Y}}}}const Dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const Ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var Rt={atob:function(t){if((t=(t=(t=`${t}`).replace(/[ \t\n\f\r]/g,"")).length%4==0?t.replace(/==?$/,""):t).length%4==1||/[^+/0-9A-Za-z]/.test(t))return null;let r="",n=0,o=0;for(let e=0;e<t.length;e++)n<<=6,n|=function(e){e=Dt.indexOf(e);return e<0?void 0:e}(t[e]),o+=6,24===o&&(r+=String.fromCharCode((16711680&n)>>16),r+=String.fromCharCode((65280&n)>>8),r+=String.fromCharCode(255&n),n=o=0);return 12===o?(n>>=4,r+=String.fromCharCode(n)):18===o&&(n>>=2,r+=String.fromCharCode((65280&n)>>8),r+=String.fromCharCode(255&n)),r},btoa:function(e){let t;for(e=`${e}`,t=0;t<e.length;t++)if(255<e.charCodeAt(t))return null;let r="";for(t=0;t<e.length;t+=3){const n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(t)>>2,n[1]=(3&e.charCodeAt(t))<<4,e.length>t+1&&(n[1]|=e.charCodeAt(t+1)>>4,n[2]=(15&e.charCodeAt(t+1))<<2),e.length>t+2&&(n[2]|=e.charCodeAt(t+2)>>6,n[3]=63&e.charCodeAt(t+2));for(let e=0;e<n.length;e++)void 0===n[e]?r+="=":r+=function(e){if(0<=e&&e<64)return Ot[e];return}(n[e])}return r}},_t="4326",Nt={csv:{name:"CSV",itemTypes:["CSV","CSV Collection"],supportsProjection:!0},kml:{name:"KML",itemTypes:["KML","KML Collection"],supportsProjection:!1},shapefile:{name:"Shapefile",itemTypes:["Shapefile"],supportsProjection:!0},fileGeodatabase:{name:"File Geodatabase",itemTypes:["File Geodatabase"],supportsProjection:!0},geojson:{name:"GeoJson",itemTypes:["GeoJson"],supportsProjection:!1},excel:{name:"Excel",itemTypes:["Microsoft Excel"],supportsProjection:!0},featureCollection:{name:"Feature Collection",itemTypes:["Feature Collection"],supportsProjection:!0}};function Ut(e){if("object"!=typeof e)return e;var t=e.wkid,e=e.wkt;return t?t+"":Rt.btoa(e)}function jt(e){return"spatialRefId:"+Ut(function(t){var r;try{r=JSON.parse(t)}catch(e){r=t}return r}(e))}function Lt(e){return"exportItem:"+e}function Mt(e){return e?"exportLayer:0"+e:"exportLayer:null"}function Gt(e){var t,r=e.autoAddResult,n=e.inviteResult,o=e.primaryEmailResult,e=e.secondaryEmailResult;return(o||e)&&(t={success:(e=[o,e].filter(function(e){return e})).every(function(e){return e.success})},(e=e.reduce(function(e,t){return e.concat(y(t,"errors",[]))},[])).length&&(t.errors=e)),{success:[r,n,t].filter(function(e){return e}).every(function(e){return e.success}),autoAdd:r,invite:n,email:t}}function Bt(t,e){var r;return t&&(r=!d(t,"notAdded.length")&&!t.errors,e.autoAddResult={success:r},r||(r=t.errors||[],d(t,"notAdded.length")&&r.push(new W("Users not auto-added: "+t.notAdded.join(", "))),e.autoAddResult.errors=r,r=e.usersToAutoAdd.filter(function(e){return T(t.notAdded,e.username)}),e.usersToInvite=e.usersToInvite.concat(r))),e}function qt(e,t){return e.orgId===t.orgId}function Yt(e){return"org_admin"===e.role&&!e.roleId}function Ft(e,t,r,n){var o=Promise.resolve(null);return e.length&&(e={authentication:r,message:t.body,subject:t.subject,notificationChannelType:"email",users:e.map(function(e){return e.username})},n||(e.batchSize=1),o=ke(e)),o}function Ht(t){var r,e=Promise.resolve(t);return t.email&&t.secondaryRO&&d(t,"inviteResult.success")&&(r=y(t,"secondaryRO.portalSelf.user",{}),e=Ft(t.usersToInvite.filter(function(e){return qt(e,r)}),t.email,t.secondaryRO.authentication,Yt(r)).then(function(e){return t.secondaryEmailResult=e,t})),e}function Wt(e,t,r){var n=Promise.resolve(null);return n=t.length?fe({id:e,users:t.map(function(e){return e.username}),authentication:r}):n}function zt(t){return Wt(d(t,"groupId"),d(t,"usersToAutoAdd"),d(t,"primaryRO.authentication")).then(function(e){return Bt(e,t)})}function Vt(e,t,r,n,o){void 0===n&&(n=20160),void 0===o&&(o="group_member");var i=Promise.resolve(null);return i=t.length?ve({id:e,users:t.map(function(e){return e.username}),authentication:r,role:o,expiration:n}):i}function Jt(t){return Vt(d(t,"groupId"),d(t,"usersToInvite"),d(t,"primaryRO.authentication")).then(function(e){return t.inviteResult=e,t})}function Kt(t){var e=Promise.resolve(t);return e=t.email&&d(t,"inviteResult.success")?Ft(t.usersToEmail,t.email,t.primaryRO.authentication,Yt(t.requestingUser)).then(function(e){return t.primaryEmailResult=e,t}):e}function $t(e,t){var r,n=[];return-1!==t.privileges.indexOf("portal:admin:assignToGroups")&&(r=[t.orgId,t.cOrgId].filter(function(e){return e}),n=e.filter(function(e){return-1!==r.indexOf(e.orgId)})),n}function Qt(e,t){var r=$t(e,t);return e.filter(function(t){return!r.some(function(e){return e.username===t.username})})}function Xt(e,t,r){void 0===r&&(r=!1);e=Qt(e,t).filter(function(e){return qt(e,t)});return r&&e.push(t),e}function Zt(e,t){if("object"==typeof e&&null!==e&&"string"==typeof t){for(var r=t.split("."),n=0;n<r.length-1;n++){if(!e.hasOwnProperty(r[n]))return;e=e[r[n]]}delete e[r[r.length-1]]}}function er(e){var t=l(e.item);return t.text=JSON.stringify(e.data),t}function tr(e,t){return Promise.all([X(oe(e,r=t),A({httpMethod:"GET"},r)),(r=e,r=oe(e,t=t)+"/data",(t=A({httpMethod:"GET",params:{}},t)).file&&(t.params.f=null),X(r,t).catch(function(e){var t=RegExp(/The string did not match the expected pattern|(Unexpected end of (JSON input|data at line 1 column 1))/i);if(!t.test(e.message))throw e}))]).then(function(e){return{item:e[0],data:e[1]}});var r}var rr=function(e,t,r){return void 0===r&&(r=void 0),t.split(".").reduce(function(e,t){return e?e[t]:r},e)};function nr(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}var or=function(e){return e instanceof Date},ir=function(e){return"function"==typeof e},ar=function(e){return"object"==typeof e},sr=function(e){return e instanceof RegExp};var ur=function(e){return"object"==typeof e};function cr(e){return Array.isArray(e)?function(e){var t=e,e=e.reduce(function(e,t){return dr(t)&&lr(t)&&(e<(t=pr(t))&&(e=t)),e},-1);-1<e&&(t=0===e?[]:"{{delete:"+(e-1)+"}}");return t}(e.map(t).filter(function(e){return null!=e})):e&&ur(e)?function(o){var e=Object.keys(o).reduce(function(e,t){var r,n=o[t];return dr(n)&&lr(n)?(r=pr(n))>e.maxLevel&&(e.maxLevel=r):e.obj[t]=n,e},{obj:{},maxLevel:-1});e=0<e.maxLevel?1===e.maxLevel?void 0:"{{delete:"+(e.maxLevel-1)+"}}":e.obj;return e}(nr(e,t)):function(e){var t=e;"string"==typeof e&&lr(e)&&(t=function(e){var t=e,e=pr(e);t=0===e?void 0:"{{delete:"+e+"}}";return t}(e));return t}(e);function t(e,t){return cr(e)}}var pr=function(e){return parseInt(e.replace(/{|}/g,"").split(":")[1])};function lr(e){return e&&"string"==typeof e&&-1<e.indexOf("{{delete")}var dr=function(e){return"string"==typeof e};function fr(e,t,r,n){return void 0===n&&(n=0),t?t:"{{delete:"+n+"}}"}var hr=function(e){var t={};if(Array.isArray(e))t=e.map(hr);else if("object"==typeof e)for(var r in e)null!=e[r]&&"object"==typeof e[r]?t[r]=hr(e[r]):t[r]=e[r];else t=e;return t},mr=/{{\s*?[\w].*?}}/g,gr=function(e){return"string"==typeof e};function vr(e){return e||""===e||0===e}function yr(e,a,s){if((s=hr(s=void 0===s?null:s)||{}).optional)throw new Error("Please do not pass in an `optional` transform; adlib provides that internally.");return s.optional=fr,cr(function r(e,n,o){return o=o||"",Array.isArray(e)?e.map(t):!e||!ar(e)||or(e)||sr(e)||ir(e)?n(e,o):Object.assign({},e,nr(e,t));function t(e,t){return r(e,n,o?o+"."+t:t)}}(e,function(t,e){if(!gr(t))return t;var r,n=t.match(mr);return n&&n.length?(n.map(function(e){var o,i=!1,t=e.replace(/{|}/g,"").trim();-1<t.indexOf("||")&&(r=t.split("||").map(function(e){return e.trim()}),o=r.length,t=r.find(function(e,t){var r,n;return(n=a,r=(r=e).split(":")[0],null!=(r=rr(n,r,null)))?e:t+1===o&&(i=!0,isNaN(e)?e:parseInt(e))}));var r={key:e,value:t};return i||(t=function(e,t,r){var n,o=e.split(":");if(1<o.length){var i,a=o[0],s=o[1];if(o[2]&&(i=o[2]),!r||!r[s]||"function"!=typeof r[s])throw new Error("Attempted to apply non-existant transform "+s+" on "+a+" with params "+e);n=rr(t,a),n=r[s](a,n,t,i)}else n=rr(t,e);return n}(t,a,s),r.value=vr(t)?t:e),r}).forEach(function(e){t===e.key?("string"==typeof e.value&&(isNaN(e.value)||""===e.value||(-1<e.value.indexOf(".")?e.value=parseFloat(e.value):e.value=parseInt(e.value))),r=e.value):t=t.replace(e.key,e.value)}),vr(r)?r:t):t}))}function br(e,t,r){return yr(e,t,r)}var wr=["id","isOrgItem","proxyFilter","ownerFolder","protected","owner","created","modified","guid","name","access","size","listed","numComments","numRatings","avgRating","numViews","scoreCompleteness","groupDesignations","listed","screenshots","banner","appCategories","industries","languages","largeThumbnail"];function Cr(e,t,r){return le({q:'title:"'+e+'" AND '+Object.keys(t).map(function(e){return e+':"'+t[e]+'"'}).join(" AND "),authentication:r}).then(function(e){return 0<e.results.length}).catch(function(e){throw Error("Error in doesItemExistWithTitle "+e)})}function kr(e,t){var r=e;return r=-1===e.indexOf("token")&&-1<e.indexOf(t.authentication.portal)?e+"?token="+t.authentication.token:r}function Tr(e,t){return(t=void 0===t?{}:t).credentials||(t.credentials="same-origin"),fetch(e,t).then(function(e){return e.blob()})}function Sr(r){return Tr(r.url).then(function(e){return re(t={id:r.id,owner:r.owner,name:r.fileName,resource:e,authentication:r.authentication}).then(function(e){e=te(t)+"/content/users/"+e+"/items/"+t.id+"/addResources";return t.params=A({file:t.resource,fileName:t.name,resourcesPrefix:t.prefix,text:t.content,access:t.private?"private":"inherit"},t.params),X(e,t)});var t})}function Ar(t){return Tr(t.url).then(function(e){return ne({item:{id:t.id,owner:t.owner},params:{fileName:t.fileName,thumbnail:e},authentication:t.authentication}).catch(function(e){return Promise.resolve()})}).catch(function(e){return Promise.resolve()})}function Er(e,t,r){if(!e||!e.thumbnail)return null;var n=r||{},o=n.token,n=n.width,r=Le(e,t,o=!o&&"string"==typeof r?r:o).split("?"),o=r[0],r=r[1],r=new URLSearchParams(r);r.delete("f"),n&&r.append("w",n+"");r=r.toString(),e=o+"/info/"+e.thumbnail;return r?e+"?"+r:e}function Ir(t){return E(this,void 0,void 0,function(){return I(this,function(e){return 200<=t.status&&t.status<300?[2,t.json()]:[2,t.json().then(function(e){if(e.error)throw new Error(e.error.title+" :: "+e.error.detail+" :: "+t.status);throw new Error("Got "+t.status+" "+t.statusText)})]})})}function Pr(e){var t={},e=d(e,"authentication.token");return e&&(t.Authorization=e),t}function xr(e){return(e||"https://hub.arcgis.com")+"/api/v3/domains"}function Dr(e,t){var r=e,n="hubsubdomain|"+(r=-1<e.indexOf("#/")?e.split("#/")[1]:r);return le(Object.assign({q:"typekeywords: "+n},t)).then(function(e){return e.results.filter(function(e){return T(e.typeKeywords,n)})[0]}).then(function(e){if(!e)throw new Error("site not found");return{hostname:e.url,siteId:e.id}})}function Or(e,t){if(t.isPortal)throw new Error("domainExists is not available in ArcGIS Enterprise.");e=Ne(e);e=xr(t.hubApiUrl)+"/"+e,t=Pr(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(function(e){return 404!==e.status})}function Rr(e,t){return Dr(e,t).then(function(e){return!0}).catch(function(e){return!1})}function _r(t,r,n,o){var i=t;return Or((i=(o=void 0===o?0:o)?t+"-"+o:t)+"-"+r,n).then(function(e){return e?_r(t,r,n,o+1):i})}function Nr(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return Rr(o,r).then(function(e){return e?Nr(t,r,n+1):o})}function Ur(e,t){if(t.isPortal)return Dr(e,t);e=xr(t.hubApiUrl)+"/"+e,t=Pr(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(Ir)}function jr(e,t){var r=l(e),e=63;return t&&(e-=t.length+1),r=r.length>e?r.slice(0,e-6)+"-"+_(5):r}function Lr(e,t){return tr(e,t).then(Br)}function Mr(e){if(1.4<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(t,"data.values.gacode");return t.data.values.telemetry={consentNotice:{isTheme:!0,consentText:"",policyURL:""},customAnalytics:{ga:{customerTracker:{enabled:Boolean(e),id:e}}}},Zt(t,"data.values.gacode"),C("item.properties.schemaVersion",1.4,t),t}var Gr=1.4;function Br(e){return d(e,"item.properties.schemaVersion")===Gr?e:e=Mr(e=function(e){if(1.3<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(t,"data.catalog.groups")||[];return t.data.catalog.groups=e.filter(N),t.item.properties.schemaVersion=1.3,t}(e=function(e){if(1.2<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(t,"data.catalog")||{};return d(t,"data.values.groups")&&(e.groups=l(t.data.values.groups),delete t.data.values.groups),t.data.catalog=e,t.item.properties.schemaVersion=1.2,t}(e=function(e){if(1.1<=d(e,"item.properties.schemaVersion"))return e;var t=l(e);return["subdomain","defaultHostname","internalUrl","customHostname","externalUrl"].forEach(function(e){t.data.values[e]&&"string"==typeof t.data.values[e]&&(t.data.values[e]=t.data.values[e].toLowerCase())}),t.item.properties.schemaVersion=1.1,t}(e=function(e){if(1<=d(e,"item.properties.schemaVersion"))return e;var t=l(e);return["groupId","title"].forEach(function(e){delete t.data.values[e]}),t.item.properties||(t.item.properties={}),t.item.properties.schemaVersion=1,t.data.values.groups&&Array.isArray(t.data.values.groups)&&(e=t.data.values.groups.map(function(e){return"object"==typeof e?e.id:e}).filter(function(e){return!!e}),t.data.values.groups=e),t}(e)))))}var qr=["ar","bs","ca","cs","da","de","en","es","et","el","fi","fr","hr","he","hu","it","id","ja","ko","lt","lv","nb","nl","pl","pt","pt-br","pt-pt","ro","ru","sl","sr","sv","th","tr","uk","vi","zh","zh-cn","zh-tw","zh-hk"];var Yr,Fr=(e(Hr,Yr=Error),Hr);function Hr(e,t,r){e=Yr.call(this,e)||this;return e.status=r,e.url=t,e}function Wr(e,t){var r,n,o=A({httpMethod:"GET"},t),i=o.fetch||fetch,t=A({"Content-Type":"application/json"},o.headers);"GET"===o.httpMethod?r=o.params:n=JSON.stringify(o.params);var a=q({host:Be(o),path:("/api/v3/"+e).replace(/\/\//g,"/"),query:r});return i(a,{method:o.httpMethod,headers:t,body:n}).then(function(e){if(e.ok)return e.json();throw new Fr(e.statusText,a,e.status)})}zr.prototype.startOperation=function(e){e=l(e);e.startedAt=(new Date).getTime(),e.state="working",this.operations.push(e)},zr.prototype.start=function(e,t){t={type:e,id:y(t,"id",r(e+"_")),inputs:y(t,"inputs",{}),cleanup:y(t,"cleanup","n/a"),startedAt:(new Date).getTime(),state:"working"};return this.operations.push(t),t.id},zr.prototype.getOperation=function(t){return this.operations.find(function(e){return e.id===t})},zr.prototype.getOperations=function(){return this.operations},zr.prototype.finish=function(e,t){var r=this.getOperation(e);if(!r)throw new Error("No operation with id "+e+" present in stack");r.duration=(new Date).getTime()-r.startedAt,r.state="completed",t&&(r.output=l(t))},zr.prototype.merge=function(e){this.operations=P(this.operations,e.operations)},zr.prototype.getCompleted=function(){return l(this.operations.filter(function(e){return"completed"===e.state}))},zr.prototype.getWorking=function(){return l(this.operations.filter(function(e){return"working"===e.state}))},zr.prototype.toString=function(){return this.operations.sort(function(e,t){return e.startedAt<t.startedAt?-1:t.startedAt<e.startedAt?1:0}).map(Vr).join("\n")},zr.prototype.serialize=function(){return{operations:l(this.getOperations())}},ot=zr;function zr(){this.operations=[]}function Vr(e){var t=e.startedAt+" : Operation "+e.id+" started with inputs "+JSON.stringify(e.inputs)+" but was not completed";return t="completed"===e.state?e.startedAt+" : Operation "+e.id+" took "+e.duration+" ms with inputs "+JSON.stringify(e.inputs)+" and output "+(e.output?JSON.stringify(e.output):"n/a"):t}n.GLOBAL_EXTENT=lt,n.HUB_CDN_URLMAP=Oe,n.HUB_LOCALES=qr,n.Logger=U,n.OperationError=D,n.OperationStack=ot,n.PORTAL_EXPORT_TYPES=Nt,n.REQUIRED_PRIVS=B,n.RemoteServerError=Fr,n.SITE_SCHEMA_VERSION=Gr,n.STANDARD_LICENSES=ht,n.WGS84_WKID=_t,n._addTokenToResourceUrl=kr,n._canEmailUser=qt,n._checkStatusAndParseJson=Ir,n._consolidateResults=Gt,n._deepMapValues=i,n._ensureSafeDomainLength=jr,n._ensureTelemetry=Mr,n._formatAutoAddResponse=Bt,n._getAuthHeader=Pr,n._getAutoAddUsers=$t,n._getDomainServiceUrl=xr,n._getEmailUsers=Xt,n._getHttpAndHttpsUris=function(e){return e?["http://"+(e=e.replace(/^http(s?):\/\//,"")),"https://"+e]:[]},n._getInviteUsers=Qt,n._getLocation=function(){if(window)return window.location},n._isDate=s,n._isFunction=u,n._isObject=c,n._isOrgAdmin=Yt,n._isRegExp=p,n._isString=a,n._lookupPortal=Dr,n._mapValues=o,n._processAutoAdd=zt,n._processInvite=Jt,n._processPrimaryEmail=Kt,n._processSecondaryEmail=Ht,n._unprotectAndRemoveGroup=function(e){var t=R(be,{success:!0}),r=R(we,{success:!0});return t(e).then(function(){return r(e)})},n._unprotectAndRemoveItem=function(e){var t=R(ie,{success:!0}),r=R(se,{success:!0});return t(e).then(function(){return r(e)})},n.addContextToSlug=function(e,t){return/.+::.+/.test(e)?e:t+"::"+e},n.addDays=function(e,t){try{var r=new Date(e);return new Date(r.setDate(r.getDate()+t)).toISOString().split("T")[0]}catch(e){throw new Error("Invalid Date")}},n.addDomain=function(e,t){if(t.isPortal)throw new Error("addDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Pr(t);r["Content-Type"]="application/json";var n=""+xr(t.hubApiUrl);return"number"==typeof(t=e.siteTitle)&&(e.siteTitle=t.toString()),fetch(n,{method:"POST",headers:r,mode:"cors",body:JSON.stringify(e)}).then(Ir)},n.addSolutionResourceUrlToAssets=function(e,t){var r,n,o=e.assets||e.resources||[];return e.bundleItemId&&(r=_e(t.portalSelf)+"/content/items/"+e.bundleItemId,n=e.itemId,o=o.map(function(e){return{name:e.name,type:e.type||"resource",url:r+"/resources/"+n+"-"+e.name}})),o},n.addUsersToGroup=function(e,t,r,n,o){var i=l(y(r,"portalSelf.user",{}));return i.cOrgId=d(r,"portalSelf.portalProperties.hub.settings.communityOrg.orgId"),zt({groupId:e,allUsers:t,primaryRO:r,email:n,secondaryRO:o,requestingUser:i,usersToAutoAdd:$t(t,i),usersToInvite:Qt(t,i),usersToEmail:Xt(t,i,d(n,"copyMe"))}).then(Jt).then(Kt).then(Ht).then(Gt)},n.applyPropertiesToItems=function(e,t){return e.map(function(e){return e.properties||(e.properties={}),Object.assign(e.properties,t),e})},n.arrayToObject=function(e,r){return e.reduce(function(e,t){return e[d(t,r)]=t,e},{})},n.atob=Rt.atob,n.autoAddUsers=Wt,n.batch=k,n.btoa=Rt.btoa,n.buildDraft=function(e,t){return w(e,{},t)},n.buildExistingExportsPortalQuery=function(e,t){var r,n,o,i,a=(c=function(e){if(e)return{onlyTypes:e.onlyTypes,layerId:e.layerId,spatialRefId:e.spatialRefId};return{}}(t)).onlyTypes,s=c.layerId,u=c.spatialRefId,t=Object.keys(Nt).map(function(e){return Nt[e]}),c=new Set(g(t.filter(function(e){return!e.supportsProjection}).map(function(e){return e.itemTypes}))),t=a||g(t.map(function(e){return e.itemTypes})),s=(new ue).startGroup().match(Lt(e)).in("typekeywords").and().match(Mt(s)).in("typekeywords").endGroup().and().startGroup();function p(e,t){var r;t.startGroup().match(/\s/g.test(e)?e:'"'+e+'"').in("type").and().match(jt((r=e,t=_t,t=(e=i)&&!o.has(r)?e:t))).in("typekeywords").endGroup()}return r=s,n=(c={types:t,spatialRefId:u,noProjectionItemTypes:c}).types,o=c.noProjectionItemTypes,i=c.spatialRefId,n.forEach(function(e,t){p(e,r),t<n.length-1&&r.or()}),s.endGroup(),s.toParam()},n.buildUrl=q,n.camelize=t,n.canEditEvent=function(e,t){var r=!1;return M(t)&&(e=d(e,"initiative.item.properties.collaborationGroupId"),t=t.groups,r=!!e&&!!f(void 0===t?[]:t,"id",e)),r},n.canEditItem=G,n.canEditSite=function(e,t){var r=!1;return r=!d(e,"properties.isDefaultHubHome")&&M(t)?G(e,t):r},n.canEditSiteContent=function(e,t){var r,n=!1,o=d(e,"properties.isDefaultHubHome"),i=M(t);return!o&&i?n=G(e,t):i&&(i=t.orgId,e=e.orgId,i&&i===e&&(r=t.privileges||[],n=B.every(function(e){return T(r,e)}))),n},n.capitalize=m,n.categories=st,n.chunkArray=function(e,t){for(var r=[],n=0;n<e.length;)r.push(e.slice(n,n+t)),n+=t;return r},n.cloneObject=l,n.completeOAuth2=function(t,e){var r=(e=(e=void 0===e?window:e).location.href.match(/access_token=(.+)&expires_in=.+&username=([^&]+)/))[1],n="https://www.arcgis.com/sharing/rest/community/users/"+decodeURIComponent(e[2]);return X(n,{params:{token:r},httpMethod:"GET"}).then(function(e){return Date.now()-e.created<5e3?X(n+"/update",{params:{token:r,tags:["hubRole:participant","org:"+e.orgId],access:"public"}}).then(function(){return Ve.completeOAuth2(t)}):Ve.completeOAuth2(t)})},n.compose=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.reduce(function(r,n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r(n.apply(void 0,e))}})},n.convertSolutionTemplateResourcesToAssets=function(e,t){var r,n,o=[];return e.resources&&e.bundleItemId&&(r=_e(t.portalSelf)+"/content/items/"+e.bundleItemId,n=e.itemId,o=e.resources.map(function(e){return{name:e,type:"resource",url:r+"/resources/"+n+"-"+e}})),o},n.convertToWellKnownLocale=function(e){var t="en";return e=(e=void 0===e?"en":e).toLowerCase(),-1<qr.indexOf(e)?t=e:1<(e=e.split("-")).length&&-1<qr.indexOf(e[0])&&(t=e[0]),t},n.createExtent=ct,n.createId=r,n.createOperationPipeline=function(e){return function(r){return e.reduce(function(e,t){return e.then(t).catch(function(e){if("OperationError"===e.name)return Promise.reject(e);e="IPipeableFn did not reject with an OperationError \n Operation Stack: \n "+r.stack.toString(),e=new D("pipeline execution error",e);return e.operationStack=r.stack.serialize(),Promise.reject(e)})},Promise.resolve(r))}},n.datasetToContent=function(e){var t=xt(e),r=Pt(t);r.item=t,delete r.itemCategories,r.hubId=e.id;var n=(w=e.attributes).errors,o=w.boundary,i=w.extent,a=w.metadata,s=w.modified,u=w.modifiedProvenance,c=w.slug,p=w.searchDescription,l=w.groupIds,d=w.server,f=w.layers,h=w.layer,m=w.recordCount,g=w.statistics,v=w.orgId,y=w.orgName,b=w.organization,e=w.orgExtent,w=w.type;return r.type=w,r.normalizedType=yt(A(A({},r.item),{type:w})),r.family=Et(w),r.errors=n,r.boundary=o,!ft(t.extent)&&i&&ft(i.coordinates)&&(r.extent=i.coordinates),r.metadata=a||null,r.modified!==s&&(r.modified=s,r.updatedDate=new Date(s),r.updatedDateSource=u),r.slug=c,p&&(r.summary=p),r.groupIds=l,r.server=d,r.layers=f,r.layer=h,r.recordCount=m,r.statistics=g,v&&(r.org={id:v,name:y||b,extent:e}),r},n.datasetToItem=xt,n.deepSet=v,n.deepStringReplace=b,n.deleteProp=Zt,n.doesItemExistWithTitle=Cr,n.domainExists=Or,n.domainExistsPortal=Rr,n.emailOrgUsers=Ft,n.ensureProp=function(e,t){return v(e,t)},n.ensureUniqueDomainName=function(e,t){return(t.isPortal?Nr(e,t):_r(e,t.portalSelf.urlKey+"."+Ne(Be(t)),t)).then(function(e){return jr(e,t.portalSelf.urlKey)})},n.ensureUniqueString=function(e,t){for(var r=!1,n=0,o=t;!r;)T(e,o)?o=t+"-"+ ++n:r=!0;return o},n.extend=function n(e,o,i){void 0===i&&(i=!0);e=l(e);return Object.keys(o).reduce(function(e,t){var r;return null!==o[t]&&void 0!==o[t]&&(r=l(o[t]),Array.isArray(r)?e[t]=r:e[t]=i&&"object"==typeof r?n(e[t]||{},r,i):r),e},e)},n.extentToBBox=pt,n.failSafe=R,n.failSafeUpdate=function(e,t){return R(ne,{id:e.item.id,success:!0})(Object.assign({item:er(e)},t))},n.fetchAllPages=function(n,o,r,i){var a=o.num||100,e=o.start||1;return(-1===(r=void 0===r?-1:r)?n(A(A({},o),{num:a,start:e})):Promise.resolve({nextStart:e,total:r,results:[],num:a})).then(function(t){if(-1===t.nextStart)return[t];for(var e=[],r=t.nextStart;r<=t.total;r+=a)e.push(r);return k(e,function(e){return n(A(A({},o),{start:e,num:a}))},i).then(function(e){return P([t],e)})}).then(function(e){var t=e.reduce(function(e,t){return P(e,t.results)},[]),e=-1===r?t.length:r;return t.slice(0,e)})},n.fetchAndUploadResource=Sr,n.fetchAndUploadThumbnail=Ar,n.fetchHubTranslation=function(t,e,r){void 0===r&&(r="cors");var n=(Re(e)+"/locales/"+t+".json").toLocaleLowerCase();return fetch(n,{method:"GET",credentials:"same-origin",mode:r}).then(function(e){return e.json()}).catch(function(e){throw Error("Attempt to fetch locale "+t+" from "+n+" failed: "+JSON.stringify(e))})},n.fetchImageAsBlob=Tr,n.fetchSite=function(e,t){return N(e)?Lr(e,t):Ur(Ne(e).split("/")[0],t).then(function(e){return Lr(e.siteId,t)})},n.filterBy=function(e,t,r){return e.filter(function(e){return d(e,t)===r})},n.findBy=f,n.flattenArray=g,n.generateRandomString=_,n.getCategory=vt,n.getCollection=bt,n.getContentIdentifier=function(t,e){if(T(["template","feedback"],t.family))return t.id;if(T(["Hub Page","Site Page"],t.type)){var r=(d(e,"data.values.pages")||[]).find(function(e){return e.id===t.id});return r?r.slug:t.id}if(t.slug){r=d(e,"domainInfo.orgKey");return d(e,"data.values.isUmbrella")?t.slug:St(t.slug,r)}return t.hubId||t.id},n.getCulture=function(e){return d(e,"portalSelf.user.culture")||d(e,"portalSelf.culture")||"en-us"},n.getDomainsForSite=function(e,t){return t.isPortal?Promise.resolve([]):(e=xr(t.hubApiUrl)+"?siteId="+e,t=Pr(t),fetch(e,{method:"GET",headers:t,mode:"cors"}).then(Ir).catch(function(e){throw Error("Error in getDomainsForSite "+e)}))},n.getExportItemTypeKeyword=Lt,n.getExportLayerTypeKeyword=Mt,n.getFamily=Et,n.getGeographicOrgExtent=dt,n.getHubApiUrl=Be,n.getHubApiUrlFromPortal=function(e){return je(e)+"/api/v3"},n.getHubLocaleAssetUrl=Re,n.getHubProduct=function(e){var t=d(e,"portalProperties.hub.enabled")||!1?"premium":"basic";return t=e.isPortal&&"singletenant"===e.portalMode?"portal":t},n.getHubUrlFromPortal=je,n.getItemApiUrl=Le,n.getItemAssets=function(e,t){var r=_e(t.portalSelf)+"/content/items/"+e.id,n=Er(e,t),o=[];return n&&o.push({name:e.thumbnail,url:n,type:"thumbnail"}),e=e.id,e=oe(e,t=t)+"/resources",(t=A({},t)).params=A({num:1e3},t.params),X(e,t).then(function(e){e=e.resources.map(function(e){return{name:e.resource,type:"resource",url:r+"/resources/"+e.resource}});return o.concat(e)})},n.getItemDataUrl=function(e,t,r){t=Le(e,t,r),r="\\/"+e.id+"\\?f=json",r=new RegExp(r);return t&&t.replace(r,"/"+e.id+"/data").replace(/\&token/,"?token")},n.getItemHomeUrl=function(e,t){return De(t)+"/home/item.html?id="+e},n.getItemHubId=function(e){if("public"===e.access){var t=e.id,e=kt(e);return e?t+"_"+e:t}},n.getItemHubType=It,n.getItemLayerId=kt,n.getItemThumbnailUrl=Er,n.getLayerIdFromUrl=Ct,n.getModel=tr,n.getModelFromOptions=function(e,t){var r=e+"Model",e=e+"Id";if(t[r])return Promise.resolve(t[r]);if(t[e])return R(tr,{item:{id:t[e]},isMissing:!0})(t[e],t);throw new Error("getModelFromOptions requires either a ."+r+" or ."+e+" property.")},n.getOrgExtentAsBBox=function(e){return dt(e).then(pt)},n.getPortalApiUrl=_e,n.getPortalUrl=De,n.getProp=d,n.getProps=function(r,e){return e.reduce(function(e,t){t=d(r,t);return t&&e.push(t),e},[])},n.getServiceTypeFromUrl=Ge,n.getSiteById=Lr,n.getSpatialRefTypeKeyword=jt,n.getStructuredLicense=mt,n.getSubscriptionType=function(e){return y(e,"subscriptionInfo.type","Enterprise")},n.getTypeCategories=function(e){if(e=vt(yt(e=void 0===e?{}:e))){e=Array.from(e);return e[0]=e[0].toUpperCase(),[e.join("")]}return["Other"]},n.getTypes=function(e){return st[(e=void 0===e?"":e).toLowerCase()]},n.getUniqueDomainName=_r,n.getUniqueDomainNamePortal=Nr,n.getUniqueItemTitle=function t(r,n,o,i){var a=(i=void 0===i?0:i)?r+" "+i:r;return Cr(a,n,o).then(function(e){return e?t(r,n,o,++i):a}).catch(function(e){throw Error("Error in getUniqueItemTitle "+e)})},n.getWithDefault=y,n.hasBasePriv=M,n.hubApiRequest=Wr,n.hubApiSearch=function(e){var t=(t=e.authentication)&&t.serialize&&{authentication:t.serialize()};return Wr("/search",A(A({},{headers:t,httpMethod:"POST"}),e))},n.includes=T,n.incrementString=function(e){var t=e.match(/-\s(\d+$)/);return t?(t=parseInt(t[1],10),e=e.replace("- "+t,"- "+(t+1))):e+=" - 1",e},n.interpolate=br,n.interpolateItemId=function(e){return br(e,{item:{id:e.item.id},appid:e.item.id},{toISO:function(e,t){return t}})},n.inviteUsers=Vt,n.isDomainForLegacySite=function(e){return!N(e.siteId)},n.isDomainUsedElsewhere=function(e,t,r){return Ur(e,r).then(function(e){return e.siteId!==t}).catch(function(){return!1})},n.isDownloadable=ut,n.isExtentCoordinateArray=ft,n.isFeatureService=wt,n.isGuid=N,n.isMapOrFeatureServerUrl=function(e){return Me.test(e)},n.isNil=function(e){return null==e},n.isSlug=function(e){return!(!(e=Tt(e).itemId)||N(e))},n.isUpdateGroup=L,n.isValidDomain=function(t,e){if(e.isPortal)throw new Error("isValidDomain is not available in ArcGIS Enterprise.");var r=xr(e.hubApiUrl)+"/validate?hostname="+t,e=Pr(e);return fetch(r,{method:"GET",headers:e,mode:"cors"}).then(function(e){return e.json()}).catch(function(e){return{success:!1,input:t,error:{code:400,detail:e,message:"lookupFailed"}}})},n.isValidExtent=function(t){return!!t&&[ft,function(t){return["xmin","ymin","xmax","ymax"].every(function(e){return"number"==typeof t[e]})}].some(function(e){return e(t)})},n.itemPropsNotInTemplates=wr,n.itemToContent=Pt,n.last=function(e){return e[e.length-1]},n.lookupDomain=Ur,n.mapBy=function(t,e){return(e=void 0===e?[]:e).map(function(e){return e[t]})},n.maybeAdd=function(e,t,r){return null!=t&&((r=l(r))[e]=t),r},n.maybePush=h,n.mergeObjects=w,n.normalizeItemType=yt,n.normalizeSolutionTemplateItem=function(e){var t=l(e);return wr.forEach(function(e){delete t[e]}),t.extent="{{organization.defaultExtentBBox}}",t},n.objectToArray=function(r,n){return void 0===n&&(n="id"),Object.keys(r).reduce(function(e,t){return r[t][n]=t,e.push(l(r[t])),e},[])},n.objectToJsonBlob=function(e){if("undefined"!=typeof Blob)return new Blob([JSON.stringify(e)],{type:"application/json"});throw new Error("objectToJsonBlob is not currently supported on Node")},n.parseDatasetId=Tt,n.parseItemCategories=At,n.processRevertableTasks=function(e){return Promise.all(e).then(function(e){function t(e){return"fullfilled"===e.status}var r=e.filter(t),n=e.filter(function(e){return!t(e)});if(n.length){e=r.map(function(e){return e.revert()});throw Promise.all(e).catch(function(){}),n[0].error}return r.map(function(e){return e.results})})},n.propifyString=function(e){return t(e.replace(/^[0-9]*/g,"").replace(/[^\w\s]/g,""))},n.removeContextFromSlug=St,n.removeDomain=function(e,t){if(t.isPortal)throw new Error("removeDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Pr(t);return r["Content-Type"]="application/json",e=xr(t.hubApiUrl)+"/"+e,fetch(e,{method:"DELETE",headers:r,mode:"cors"}).then(Ir)},n.removeEmptyProps=function t(r){return Object.keys(r).forEach(function(e){r[e]&&"object"==typeof r[e]?t(r[e]):null==r[e]&&delete r[e]}),r},n.replaceItemId=function(e,t,r){return void 0===r&&(r="{{appid}}"),b(l(e),new RegExp(t,"g"),r)},n.runRevertableTask=function(e,t){return e().then(function(e){return{status:"fullfilled",results:e,revert:t}}).catch(function(e){return{status:"rejected",error:e}})},n.serializeModel=er,n.serializeSpatialReference=Ut,n.setProp=C,n.shareItemToGroups=function(t,e,r){return Promise.all(e.map(function(e){return Ee(Object.assign({},{id:t,groupId:e},r))}))},n.slugify=function(e){return"string"==typeof e?e.trim().toLowerCase().replace(/ +/g,"-").replace(/[^\w-]/g,"").replace(/-+/g,"-"):e},n.stringToBlob=function(e,t){if(void 0===t&&(t="application/octet-stream"),"undefined"==typeof Blob)throw new Error("stringToBlob is not currently supported on Node");for(var r=[],n=0;n<e.length;n++)r[n]=e.charCodeAt(n);var o=new Uint8Array(r);return new Blob([o],{type:t})},n.stripProtocol=Ne,n.unique=function(e,t,r){return r.indexOf(e)===t},n.uniqueBy=function(e,r){return e.reduce(function(e,t){return h(e.find(function(e){return d(e,r)===d(t,r)})?null:t,e)},[])},n.unprotectModel=function(e,t){return e.item.protected?ie(Object.assign({id:e.item.id},t)):Promise.resolve({success:!0})},n.unshareItemFromGroups=function(t,e,r){return Promise.all(e.map(function(e){return xe(Object.assign({},{id:t,groupId:e},r))}))},n.updateDomain=function(e,t){if(t.isPortal)throw new Error("updateDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Pr(t);r["Content-Type"]="application/json";var n=xr(t.hubApiUrl)+"/"+e.id;return"number"==typeof(t=e.siteTitle)&&(e.siteTitle=t.toString()),fetch(n,{method:"PUT",headers:r,mode:"cors",body:JSON.stringify(e)}).then(Ir)},n.upgradeSiteSchema=Br,n.uploadResourcesFromUrl=function(n,e,o){if(Array.isArray(e)){e=e.reduce(function(e,t){var r;return t.url&&(r={id:n.item.id,owner:n.item.owner,fileName:t.name,url:kr(t.url,o),authentication:o.authentication},"thumbnail"===t.type?e.push(Ar(r)):e.push(Sr(r))),e},[]);return Promise.all(e)}return Promise.resolve([])},n.without=function(e,t){return e.filter(function(e){return e!==t})},n.withoutByProp=function(t,r,e){return e.filter(function(e){return e[t]!==r})},Object.defineProperty(n,"__esModule",{value:!0})});
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisHub=e.arcgisHub||{})}(this,function(n){"use strict";function o(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}function i(e,r,n){return n=n||"",Array.isArray(e)?e.map(t):!e||!c(e)||s(e)||p(e)||u(e)?r(e,n):Object.assign({},e,o(e,t));function t(e,t){return i(e,r,""+(n?n+"."+t:t))}}function a(e){return"string"==typeof e||e instanceof String}function s(e){return e instanceof Date}function u(e){return"function"==typeof e}function c(e){return"object"==typeof e}function p(e){return e instanceof RegExp}function d(e,t){return t.split(".").reduce(function(e,t){return e?e[t]:void 0},e)}function l(e){var t,r={};if(Array.isArray(e))r=e.map(l);else if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&(null!=(t=e[n])&&"object"==typeof t?t instanceof Date?r[n]=new Date(t.getTime()):r[n]=l(t):r[n]=t);else r=e;return r}function f(e,r,n){return e?e.reduce(function(e,t){return e=d(t,r)===n?t:e},null):null}function r(e){return""+(e=void 0===e?"i":e)+Math.random().toString(36).substr(2,8)}function m(e,t){return null!=e&&(t=l(t)).push(e),t}function t(e){return(e=(e=e.toLowerCase()).replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi," ")).replace(/(\-|\_|\.|\s)+(.)?/g,function(e,t,r){return r?r.toUpperCase():""}).replace(/(^|\/)([A-Z])/g,function(e,t,r){return e.toLowerCase()})}function h(e){return(e=Array.from(e))[0]=e[0].toUpperCase(),e.join("")}function g(e){return e.reduce(function(e,t){return e.concat(t)},[])}function v(e,t,r){void 0===r&&(r={});var t=t.split("."),n=e,o=t.length-1;t.forEach(function(e,t){n.hasOwnProperty(e)&&null!==n[e]?t===o&&("object"!=typeof n[e]||Array.isArray(n[e])?n[e]=r:n[e]=Object.assign(n[e],l(r))):n[e]=t===o?r:{},n=n[e]})}function y(e,t,r){t=d(e,t);return void 0!==t?t:r}function b(e,r,n){return i(e,function(e){if(!a(e))return e;var t=p(r)?r:new RegExp(r,"g");return e.replace(t,n)})}function w(t,r,e){return Array.isArray(e)&&e.length?(e.forEach(function(e){void 0!==d(t,e)&&v(r,e,d(t,e))}),r):t}function C(e,t,r){v(r,e=Array.isArray(e)?e.join("."):e,t)}function k(e,n,o){void 0===o&&(o=5);return e.reduce(function(e,t){var r=e[e.length-1];return r&&r.length!==o||e.push(r=[]),r.push(t),e},[]).reduce(function(e,r){return e.then(function(t){var e=r.map(function(e){return n(e)});return Promise.all(e).then(function(e){return t.concat(e)})})},Promise.resolve([]))}function S(e,t){return-1!==e.indexOf(t)}var T=function(e,t){return(T=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function e(e,t){function r(){this.constructor=e}T(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var A=function(){return(A=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function I(e,a,s,u){return new(s=s||Promise)(function(r,t){function n(e){try{i(u.next(e))}catch(e){t(e)}}function o(e){try{i(u.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?r(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(n,o)}i((u=u.apply(e,a||[])).next())})}function E(r,n){var o,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,i&&(a=2&t[0]?i.return:t[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,t[1])).done)return a;switch(i=0,(t=a?[2&t[0],a.value]:t)[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=n.call(r,s)}catch(e){t=[6,e],i=0}finally{o=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function P(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var n=Array(e),o=0,t=0;t<r;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)n[o]=i[a];return n}var x,D=(e(O,x=Error),O);function O(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=y(r,"rootCause",r),(n=x.call(this,t)||this).operation=e,n.name="OperationError",n.rootCause=r,Object.setPrototypeOf(n,O.prototype),n.stack=y(r,"stack",(new Error).stack),n}function R(r,n){return void 0===n&&(n={}),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.apply(void 0,e).catch(function(e){return n})}}function N(e){var r=(new Date).getTime();return Array(e).fill(0).reduce(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),e=""+e+t.toString(16)},"")}function _(e){"{"===e[0]&&(e=e.substring(1,e.length-1));return/^(\{){0,1}[0-9a-fA-F]{8}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{12}(\}){0,1}$/gi.test(e)}n.Level=void 0,(ot=n.Level||(n.Level={}))[ot.all=0]="all",ot[ot.debug=1]="debug",ot[ot.info=2]="info",ot[ot.warn=3]="warn",ot[ot.error=4]="error",ot[ot.off=5]="off";var U=(j.setLogLevel=function(e){this.logLevel=e},j.log=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.debug)&&console.log.apply(console,P([e],t))},j.debug=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.debug)&&console.debug.apply(console,P([e],t))},j.info=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.info)&&console.info.apply(console,P([e],t))},j.warn=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.warn)&&console.warn.apply(console,P([e],t))},j.error=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.error)&&console.error.apply(console,P([e],t))},j.isLevelPermitted=function(e){return this.logLevel<=e},j.logLevel=n.Level.off,j);function j(){}function L(e){return e.capabilities.includes("updateitemcontrol")}function M(e){e=e.privileges;return S(void 0===e?[]:e,"portal:user:createItem")}function G(e,t){var r,n=!1,o=e.itemControl,i=e.owner,a=e.orgId,s=t.roleId,u=t.role,c=t.username,p=t.groups,l=t.orgId,u=S(["admin","update"],o)||!!i&&i===c||!!(!!a&&a===l)&&!s&&"org_admin"===u,t=M(t);return t&&u?n=!0:t&&(r=P(d(e,"groupIds")||[],[d(e,"properties.collaborationGroupId")]),n=p.some(function(e){return L(e)&&S(r,e.id)})),n}var B=["portal:user:createGroup","portal:user:createItem","portal:user:shareToGroup","portal:user:viewOrgGroups","portal:user:viewOrgItems"];function q(e){var t=e.host,r=e.path,e=e.query,t=t.endsWith("/")?t:t+"/",t=new URL(r,t);return t.search=function(r){void 0===r&&(r={});var e=Object.keys(r).filter(function(e){return void 0!==r[e]}).reduce(function(e,t){return e[t]=r[t],e},{});return new URLSearchParams(e).toString()}(e),t.toString()}function Y(t){return Object.keys(t).some(function(e){e=t[e];if(!e)return!1;switch((e=e&&e.toParam?e.toParam():e).constructor.name){case"Array":case"Object":case"Date":case"Function":case"Boolean":case"String":case"Number":return!1;default:return!0}})}function F(o){var i={};return Object.keys(o).forEach(function(e){var t=o[e];if((t=t&&t.toParam?t.toParam():t)||0===t||"boolean"==typeof t||"string"==typeof t){switch(t.constructor.name){case"Array":var r=null===(r=null===(r=t[0])||void 0===r?void 0:r.constructor)||void 0===r?void 0:r.name,n="Array"===r?t:"Object"===r?JSON.stringify(t):t.join(",");break;case"Object":n=JSON.stringify(t);break;case"Date":n=t.valueOf();break;case"Function":n=null;break;case"Boolean":n=t+"";break;default:n=t}(n||0===n||"string"==typeof n||Array.isArray(n))&&(i[e]=n)}}),i}function H(e){var t=F(e);return Object.keys(t).map(function(e){return function t(r,e){return Array.isArray(e)&&e[0]&&Array.isArray(e[0])?e.map(function(e){return t(r,e)}).join("&"):encodeURIComponent(r)+"="+encodeURIComponent(e)}(e,t[e])}).join("&")}var W=function(e,t,r,n,o){e=e||"UNKNOWN_ERROR",t=t||"UNKNOWN_ERROR_CODE",this.name="ArcGISRequestError",this.message="UNKNOWN_ERROR_CODE"===t?e:t+": "+e,this.originalMessage=e,this.code=t,this.response=r,this.url=n,this.options=o};function z(e){console&&console.warn&&console.warn.apply(console,[e])}W.prototype=Object.create(Error.prototype),W.prototype.constructor=W;var V,J="@esri/arcgis-rest-js",K={httpMethod:"POST",params:{f:"json"}},$=(e(Q,V=W),Q.prototype.retry=function(e,n){var o=this;void 0===n&&(n=3);var i=0,a=function(t,r){e(o.url,o.options).then(function(e){e=A(A({},o.options),{authentication:e});return i+=1,X(o.url,e)}).then(function(e){t(e)}).catch(function(e){"ArcGISAuthError"===e.name&&i<n?a(t,r):"ArcGISAuthError"===e.name&&n<=i?r(o):r(e)})};return new Promise(function(e,t){a(e,t)})},Q);function Q(e,t,r,n,o){o=V.call(this,e=void 0===e?"AUTHENTICATION_ERROR":e,t=void 0===t?"AUTHENTICATION_ERROR_CODE":t,r,n,o)||this;return o.name="ArcGISAuthError",o.message="AUTHENTICATION_ERROR_CODE"===t?e:t+": "+e,o}function X(n,e){void 0===e&&(e={params:{f:"json"}});var o=A(A(A({httpMethod:"POST"},K),e),{params:A(A({},K.params),e.params),headers:A(A({},K.headers),e.headers)}),t=[],e=[];if(o.fetch||"undefined"==typeof fetch?(t.push("`fetch`"),e.push("`node-fetch`")):o.fetch=fetch.bind(Function("return this")()),"undefined"==typeof Promise&&(t.push("`Promise`"),e.push("`es6-promise`")),"undefined"==typeof FormData&&(t.push("`FormData`"),e.push("`isomorphic-form-data`")),!o.fetch||"undefined"==typeof Promise||"undefined"==typeof FormData)throw new Error("`arcgis-rest-request` requires a `fetch` implementation and global variables for `Promise` and `FormData` to be present in the global scope. You are missing "+t.join(", ")+". We recommend installing the "+e.join(", ")+" modules at the root of your application to add these to the global scope. See https://bit.ly/2KNwWaJ for more info.");var e=o.httpMethod,i=o.authentication,a=o.rawResponse,s=A({f:"json"},o.params),r=null,u={method:e,credentials:o.credentials||"same-origin"};return o.headers&&o.headers["X-Esri-Auth-Client-Id"]&&-1<n.indexOf("/oauth2/platformSelf")&&(u.credentials="include"),(i?i.getToken(n,{fetch:o.fetch}).catch(function(e){return e.url=n,e.options=o,r=e,Promise.resolve("")}):Promise.resolve("")).then(function(e){e.length&&(s.token=e),i&&i.getDomainCredentials&&(u.credentials=i.getDomainCredentials(n));var t={};"GET"===u.method&&(s.token&&o.hideToken&&"undefined"==typeof window&&(t["X-Esri-Authorization"]="Bearer "+s.token,delete s.token),r=""===H(s)?n:n+"?"+H(s),o.maxUrlLength&&r.length>o.maxUrlLength||s.token&&o.hideToken?(u.method="POST",e.length&&o.hideToken&&(s.token=e,delete t["X-Esri-Authorization"])):n=r);var r=new RegExp("/items/.+/updateResources").test(n);return"POST"===u.method&&(u.body=function(e,t){var t=Y(e)||t,r=F(e);if(t){var n=new FormData;return Object.keys(r).forEach(function(e){var t;"undefined"!=typeof Blob&&r[e]instanceof Blob?(t=r.fileName||r[e].name||e,n.append(e,r[e],t)):n.append(e,r[e])}),n}return H(e)}(s,r)),u.headers=A(A({},t),o.headers),"undefined"!=typeof window||u.headers.referer||(u.headers.referer=J),Y(s)||r||(u.headers["Content-Type"]="application/x-www-form-urlencoded"),o.fetch(n,u)}).then(function(e){if(!e.ok){var t=e.status,r=e.statusText;throw new W(r,"HTTP "+t,e,n,o)}if(a)return e;switch(s.f){case"json":case"geojson":return e.json();case"html":case"text":return e.text();default:return e.blob()}}).then(function(e){if("json"!==s.f&&"geojson"!==s.f||a)return e;var t=function(t,e,r,n){if(400<=t.code){var o=t.message,i=t.code;throw new W(o,i,t,e,r)}if(t.error){var a=t.error,o=a.message,i=a.code,s=a.messageCode,a=s||i||"UNKNOWN_ERROR_CODE";if(498===i||499===i||"GWM_0003"===s||400===i&&"Unable to generate token."===o)throw n||new $(o,a,t,e,r);throw new W(o,a,t,e,r)}if("failed"!==t.status&&"failure"!==t.status)return t;o=void 0,i="UNKNOWN_ERROR_CODE";try{o=JSON.parse(t.statusMessage).message,i=JSON.parse(t.statusMessage).code}catch(e){o=t.statusMessage||t.message}throw new W(o,i,t,e,r)}(e,n,o,r);return r&&(e=n.toLowerCase().split(/\/rest(\/admin)?\/services\//)[0],o.authentication.federatedServers[e]={token:[],expires:new Date(Date.now()+864e5)},r=null),t})}function Z(e){return"string"==typeof e&&"/"===(e=e.trim())[e.length-1]?e.slice(0,-1):e}function ee(e){return e.replace(/^#/,"").split("&").reduce(function(e,t){var r,t=(r=t,r=(t=t.split("="))[0],t=t[1],{key:decodeURIComponent(r),value:decodeURIComponent(t)});return e[t.key]=t.value,e},{})}function te(e){return(e=void 0===e?{}:e).portal?Z(e.portal):e.authentication?e.authentication.portal:"https://www.arcgis.com/sharing/rest"}function re(e){return e.owner?Promise.resolve(e.owner):e.item&&e.item.owner?Promise.resolve(e.item.owner):e.authentication&&e.authentication.getUsername?e.authentication.getUsername():Promise.reject(new Error("Could not determine the owner of this item. Pass the `owner`, `item.owner`, or `authentication` option."))}function ne(n){return re(n).then(function(e){var t,r=n.folderId?te(n)+"/content/users/"+e+"/"+n.folderId+"/items/"+n.item.id+"/update":te(n)+"/content/users/"+e+"/items/"+n.item.id+"/update";return n.params=A(A({},n.params),(t=n.item,(e=JSON.parse(JSON.stringify(t))).data&&("undefined"!=typeof Blob&&t.data instanceof Blob||"ReadStream"===t.data.constructor.name?e.file=t.data:e.text=t.data,delete e.data),e)),X(r,n)})}var oe=function(e,t){return("string"==typeof t?t:te(t))+"/content/items/"+e};function ie(t){return re(t).then(function(e){return X(te(t)+"/content/users/"+e+"/items/"+t.id+"/unprotect",t)})}function ae(e){return t=e.groupId,X(te(e=e)+"/community/groups/"+t,A({httpMethod:"GET"},e)).then(function(e){return e.userMembership.memberType}).catch(function(){return"none"});var t}function se(t){return re(t).then(function(e){return X(te(t)+"/content/users/"+e+"/items/"+t.id+"/delete",t)})}var ue=(ce.prototype.match=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.termStack=this.termStack.concat(e),this},ce.prototype.in=function(e){return this.hasRange||this.hasTerms?(e&&"*"!==e&&(this.q+=e+":"),this.commit()):(z("`in("+(e?'"'+e+'"':"")+")`"+" was called with no call to `match(...)` or `from(...)`/`to(...)`. Your query was not modified."),this)},ce.prototype.startGroup=function(){return this.commit(),0<this.openGroups&&(this.q+=" "),this.openGroups++,this.q+="(",this},ce.prototype.endGroup=function(){return this.openGroups<=0?z("`endGroup(...)` was called without calling `startGroup(...)` first. Your query was not modified."):(this.commit(),this.openGroups--,this.q+=")"),this},ce.prototype.and=function(){return this.addModifier("and")},ce.prototype.or=function(){return this.addModifier("or")},ce.prototype.not=function(){return this.addModifier("not")},ce.prototype.from=function(e){return this.hasTerms?z('`from(...)` is not allowed after `match(...)` try using `.from(...).to(...).in(...)`. Optionally, you may see this because dates are incorrectly formatted. Dates should be a primative Date value, aka a number in milliseconds or Date object, ie new Date("2020-01-01"). Your query was not modified.'):this.rangeStack[0]=e,this},ce.prototype.to=function(e){return this.hasTerms?z('`to(...)` is not allowed after `match(...)` try using `.from(...).to(...).in(...)`. Optionally, you may see this because dates are incorrectly formatted. Dates should be a primative Date value, aka a number in milliseconds or Date object, ie new Date("2020-01-01"). Your query was not modified.'):this.rangeStack[1]=e,this},ce.prototype.boost=function(e){return this.commit(),this.q+="^"+e,this},ce.prototype.toParam=function(){return this.commit(),this.cleanup(),this.q},ce.prototype.clone=function(){return this.commit(),this.cleanup(),new ce(this.q+"")},ce.prototype.addModifier=function(e){return this.currentModifer?(z("You have called `"+this.currentModifer+"()` after `"+e+"()`. Your current query was not modified."),this):(this.commit(),""===this.q&&"not"!==e?z("You have called `"+e+"()` without calling another method to modify your query first. Try calling `match()` first."):(this.currentModifer=e,this.q+=""===this.q?"":" ",this.q+=e.toUpperCase()+" "),this)},ce.prototype.needsQuotes=function(e){return/\s|:/g.test(e)},ce.prototype.formatTerm=function(e){return e instanceof Date?e.getTime():"string"==typeof e&&this.needsQuotes(e)?'"'+e+'"':e},ce.prototype.commit=function(){var t=this;return this.currentModifer=void 0,this.hasRange&&(this.q+="["+this.formatTerm(this.rangeStack[0])+" TO "+this.formatTerm(this.rangeStack[1])+"]",this.rangeStack=[void 0,void 0]),this.hasTerms&&(this.q+=this.termStack.map(function(e){return t.formatTerm(e)}).join(" "),this.termStack=[]),this},Object.defineProperty(ce.prototype,"hasTerms",{get:function(){return 0<this.termStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(ce.prototype,"hasRange",{get:function(){return this.rangeStack.length&&this.rangeStack[0]&&this.rangeStack[1]},enumerable:!1,configurable:!0}),ce.prototype.cleanup=function(){if(0<this.openGroups)for(z("Automatically closing "+this.openGroups+" group(s). You can use `endGroup(...)` to remove this warning.");0<this.openGroups;)this.q+=")",this.openGroups--;var e=this.q;this.q=e.replace(/( AND ?| NOT ?| OR ?)*$/,""),e!==this.q&&z("`startGroup(...)` was called without calling `endGroup(...)` first. Your query was not modified."),this.q=this.q.replace(/(\(\))*/,"")},ce);function ce(e){void 0===e&&(e=""),this.termStack=[],this.rangeStack=[],this.openGroups=0,this.q=e}function pe(r,n){var o,i,e,t="string"==typeof r||r instanceof ue?{httpMethod:"GET",params:{q:r}}:(o=r,t=["q","num","start","sortField","sortOrder","searchUserAccess","searchUserName"],(i=A(A({params:{}},{httpMethod:"GET"}),o)).params=t.reduce(function(e,t){return!o[t]&&"boolean"!=typeof o[t]||(e[t]=o[t]),e},i.params),["params","httpMethod","rawResponse","authentication","portal","fetch","maxUrlLength","headers"].reduce(function(e,t){return i[t]&&(e[t]=i[t]),e},{}));switch(n){case"item":e="/search";break;case"group":e="/community/groups";break;case"groupContent":if("string"==typeof r||r instanceof ue||!r.groupId)return Promise.reject(new Error("you must pass a `groupId` option to `searchGroupContent`"));e="/content/groups/"+r.groupId+"/search";break;default:e="/portals/self/users/search"}return X(te(t)+e,t).then(function(t){return t.nextStart&&-1!==t.nextStart&&(t.nextPage=function(){var e;return"string"==typeof r||r instanceof ue?e={q:r,start:t.nextStart}:(e=r).start=t.nextStart,pe(e,n)}),t})}function le(e){return pe(e,"item")}function de(e,t){if(0===e.length)return[];for(var r=[],n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function fe(e){var t=e.id,r=te(e)+"/community/groups/"+t+"/addUsers",t=Object.assign({},e,{admins:void 0,users:void 0}),t=P(me("users",e.users,t),me("admins",e.admins,t)).map(function(e){return X(r,e).catch(function(e){return{errors:[e]}})});return Promise.all(t).then(he)}function me(o,e,i){return!e||e.length<1?[]:de(e,25).map(function(e){return t=o,r=e,n=i,Object.assign({},n,((e={})[t]=r,e.params=A(A({},n.params),((n={})[t]=r,n)),e));var t,r,n})}function he(e){var t=e.filter(function(e){return e.notAdded}).reduce(function(e,t){return e.concat(t.notAdded)},[]),e=e.filter(function(e){return e.errors}).reduce(function(e,t){return e.concat(t.errors)},[]),t={notAdded:t};return 0<e.length&&(t.errors=e),t}function ge(t){var e=t.id,r=t.users,n=te(t)+"/community/groups/"+e+"/removeUsers",r=de(r,25).map(function(e){e=A(A({},t),{users:e,params:{users:e}});return X(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(r).then(function(e){var t=function(r){return e.filter(function(e){return e[r]}).reduce(function(e,t){return e.concat(t[r])},[])},r=t("errors"),t={notRemoved:t("notRemoved")};return r.length?A(A({},t),{errors:r}):t})}function ve(e){var t,r=e.id,n=te(e)+"/community/groups/"+r+"/invite",e=de((t=e).users,25).map(function(e){return function(e,t){t=Object.assign({},t);return t.params=A(A({},t.params),{users:e,role:t.role,expiration:t.expiration}),t}(e,t)}).map(function(e){return X(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(ye)}function ye(e){var t=e.every(function(e){return e.success}),e=e.reduce(function(e,t){return e.concat(t.errors||[])},[]),t={success:t};return 0<e.length&&(t.errors=e),t}function be(e){return X(te(e)+"/community/groups/"+e.id+"/unprotect",e)}function we(e){return X(te(e)+"/community/groups/"+e.id+"/delete",A({},e))}function Ce(e){var t=te(e)+"/community/groups/"+e.id+"/updateUsers",r={authentication:e.authentication,params:{}};return"admin"===e.newMemberType?r.params.admins=e.users:r.params.users=e.users,X(t,r)}function ke(e){var n,t=te(e)+"/portals/self/createNotification",e=de((n=e).users,n.batchSize||25).map(function(e){return t=e,r=n,(e=Object.assign({},r)).params=A(A({},e.params),{users:t,subject:r.subject,message:r.message,notificationChannelType:e.notificationChannelType}),e;var t,r}).map(function(e){return X(t,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(Se)}function Se(e){var t=e.every(function(e){return e.success}),e=e.reduce(function(e,t){return e.concat(t.errors||[])},[]),t={success:t};return 0<e.length&&(t.errors=e),t}function Te(e){var t,r,n={httpMethod:"GET"};return"string"==typeof e?r="https://www.arcgis.com/sharing/rest/community/users/"+e:(t=e.username||e.authentication.username,r=te(e)+"/community/users/"+encodeURIComponent(t),n=A(A({},e),n)),X(r,n)}function Ae(t){return le({q:"id: "+t.id+" AND group: "+t.groupId,start:1,num:10,sortField:"title",authentication:t.authentication,httpMethod:"POST"}).then(function(e){if(0<e.total)return e.results.some(function(e){return e.id===t.id})})}function Ie(a){return Ae(a).then(function(e){if(e)return{itemId:a.id,shortcut:!0,notSharedWith:[]};var t=a.authentication.username,e=a.owner,n=a.confirmItemControl,e=e||t;if(e===t)return Ee(a);var o=!1,i=!1;return Promise.all([Te({username:t,authentication:a.authentication}),Te({username:e,authentication:a.authentication}),ae(a)]).then(function(e){var t=e[0],r=e[1],e=e[2];return o="org_admin"===t.role&&!t.roleId,i=t.orgId!==r.orgId,function(e,t,r,n,o,i){var a=[];if(i.groupId!==e.favGroupId)if(t){if(!n)throw Error("This item can not be shared to shared editing group "+i.groupId+" by "+e.username+" as they not the item owner or org admin.");a.push(Pe(e,e,!1,"Error adding "+e.username+" as member to edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i),Pe(e,o,!0,"none"===r?"Error adding user "+o.username+" to edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.":"Error promoting user "+o.username+" to admin in edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i))}else if(n)a.push(Pe(e,e,!1,"Error adding "+e.username+" as member to view group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i));else if("none"===r)throw new Error("This item can not be shared by "+e.username+" as they are not a member of the specified group "+i.groupId+".");return a}(t,!!n,e,o,r,a)}).then(function(e){var t=e[0],r=(void 0===t?{promise:Promise.resolve({notAdded:[]}),revert:function(e){return Promise.resolve(e)}}:t).revert;return Promise.all(e.map(function(e){return e.promise})).then(function(){return Ee(a,o,i)}).then(function(e){return r(e)})})}).then(function(e){if(e.notSharedWith.length)throw Error("Item "+a.id+" could not be shared to group "+a.groupId+".");return e})}function Ee(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.authentication.username,o=e.owner||n,i=te(e)+"/content/items/"+e.id+"/share";return(o===n||t&&!r)&&(i=te(e)+"/content/users/"+o+"/items/"+e.id+"/share"),e.params={groups:e.groupId,confirmItemControl:e.confirmItemControl},X(i,e)}function Pe(e,t,r,n,o){var i,a,s=t.groups||[],u=s.find(function(e){return e.id===o.groupId});if(e.orgId!==t.orgId)throw Error("User "+t.username+" is not a member of the same org as "+e.username+". Consequently they can not be added added to group "+o.groupId+" nor can item "+o.id+" be shared to the group.");if(!u&&511<s.length)throw Error("User "+t.username+" already has 512 groups, and can not be added to group "+o.groupId+". Consequently item "+o.id+" can not be shared to the group.");return a=u?r&&"member"===u.userMembership.memberType?(i=Ce({id:o.groupId,users:[t.username],newMemberType:"admin",authentication:o.authentication}).then(function(e){e=e.results.reduce(function(e,t){return t.success||e.push(t.username),e},[]);return Promise.resolve({notAdded:e})}).catch(function(){return{notAdded:[t.username]}}),function(e){return Ce({id:o.groupId,users:[t.username],newMemberType:"member",authentication:o.authentication}).then(function(){return e}).catch(function(){return e})}):(i=Promise.resolve({notAdded:[]}),function(e){return Promise.resolve(e)}):(i=fe(((a={id:o.groupId})[r?"admins":"users"]=[t.username],a.authentication=o.authentication,a)).then(function(e){if(e.errors&&e.errors.length)throw e.errors[0];return e}).catch(function(){return{notAdded:[t.username]}}),function(e){return ge({id:o.groupId,users:[t.username],authentication:o.authentication}).then(function(){return e})}),{promise:i.then(function(e){if(e.notAdded.length)throw new Error(n);return e}),revert:a}}function xe(o){return Ae(o).then(function(e){if(!e)return Promise.resolve({itemId:o.id,shortcut:!0,notUnsharedFrom:[]});var r=o.authentication.username,n=o.owner;return Promise.all([ae(o),Te({username:r,authentication:o.authentication})]).then(function(e){var t=e[0],e=e[1],e="org_admin"===e.role&&!e.roleId;if(!((n||r)===r)&&!e&&["admin","owner"].indexOf(t)<0)throw Error("This item can not be unshared from group "+o.groupId+" by "+r+" as they not the item owner, an org admin, group admin or group owner.");return function(e){var t=e.authentication.username,r=e.owner||t,n=te(e)+"/content/items/"+e.id+"/unshare";r===t&&(n=te(e)+"/content/users/"+r+"/items/"+e.id+"/unshare");return e.params={groups:e.groupId},X(n,e)}(o)}).then(function(e){if(e.notUnsharedFrom.length)throw Error("Item "+o.id+" could not be unshared to group "+o.groupId);return e})})}function De(e){if("string"==typeof e)return e.replace(/\/sharing\/rest\/?$/,"");if("object"==typeof e){var t=e.portalSelf||e,r=t.portalHostname,n=t.urlKey,o=t.customBaseUrl;if(r||n&&o)return t.isPortal?"https://"+t.portalHostname:"https://"+t.urlKey+"."+t.customBaseUrl}return De(te(e))}var Oe={devext:"https://d1011m9qpnz5mw.cloudfront.net",qaext:"https://dyq9ux9ryu4qj.cloudfront.net",www:"https://d1iq7pbacwn5rb.cloudfront.net"};function Re(e){if(e.isPortal)return De(e)+"/apps/sites";e=e.portalHostname.split(".")[0];return(Oe[e]||Oe.www)+"/opendata-ui/assets"}function Ne(e){return De(e)+"/sharing/rest"}function _e(e){return e=(e=e.toLowerCase()).includes("//")?e.split("//")[1]:e}function Ue(e){var t;return e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://hubqa.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://hubdev.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://hub.arcgis.com"),t}function je(e){if(e.isPortal)throw new Error("Hub Url is not available in ArcGIS Enterprise");return Ue(e.portalHostname)}var Le=function(e,t,r){var n=e.id,e=e.access,t=Ne(t)+"/content/items/"+n,n=new URLSearchParams({f:"json"});return"public"!==e&&r&&n.append("token",r),t+"?"+n.toString()},Me=/\/(map|feature)server/i,Ge=function(e){e=e.match(Me),e=e&&e[1];return e&&h(e)+" Service"};function Be(e){var t=e&&e.hubApiUrl;return t||Ue(Ne(e))}function qe(e,t){return t.rawResponse=!1,X(e,t).then(function(e){var t={token:e.access_token,username:e.username,expires:new Date(Date.now()+(1e3*e.expires_in-1e3)),ssl:!0===e.ssl};return e.refresh_token&&(t.refreshToken=e.refresh_token),t})}function Ye(e,t){return"undefined"!=typeof window&&window.location&&window.location.host?t.params.referer=window.location.host:t.params.referer=J,X(e,t)}var Fe=/^https?:\/\/(\S+)\.arcgis\.com.+/;function He(e){return Fe.test(e)}function We(e){if(!Fe.test(e))return null;e=e.match(Fe)[1].split(".").pop();return e.includes("dev")?"dev":e.includes("qa")?"qa":"production"}function ze(e,t){t=Z(function(e){if(!Fe.test(e))return e;switch(We(e)){case"dev":return"https://devext.arcgis.com/sharing/rest";case"qa":return"https://qaext.arcgis.com/sharing/rest";default:return"https://www.arcgis.com/sharing/rest"}}(t)).replace(/https?:\/\//,""),e=Z(e).replace(/https?:\/\//,"");return new RegExp(e,"i").test(t)}var Ve=(Object.defineProperty(Je.prototype,"token",{get:function(){return this._token},enumerable:!1,configurable:!0}),Object.defineProperty(Je.prototype,"tokenExpires",{get:function(){return this._tokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(Je.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(Je.prototype,"refreshTokenExpires",{get:function(){return this._refreshTokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(Je.prototype,"trustedServers",{get:function(){return console.log("DEPRECATED: use federatedServers instead"),this.federatedServers},enumerable:!1,configurable:!0}),Je.beginOAuth2=function(e,t){void 0===t&&(t=window),e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=A({portal:"https://www.arcgis.com/sharing/rest",provider:"arcgis",expiration:20160,popup:!0,popupWindowFeatures:"height=400,width=600,menubar=no,location=yes,resizable=yes,scrollbars=yes,status=yes",state:e.clientId,locale:""},e),n=r.portal,o=r.provider,i=r.clientId,a=r.expiration,s=r.redirectUri,u=r.popup,c=r.popupWindowFeatures,p=r.state,l=r.locale,r=r.params,l="arcgis"===o?n+"/oauth2/authorize?client_id="+i+"&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+p+"&locale="+l:n+"/oauth2/social/authorize?client_id="+i+"&socialLoginProviderName="+o+"&autoAccountCreateForSocial=true&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+p+"&locale="+l;if(r&&(l=l+"&"+H(r)),u){var d,f=((d={promise:null,resolve:null,reject:null}).promise=new Promise(function(e,t){d.resolve=e,d.reject=t}),d);return t["__ESRI_REST_AUTH_HANDLER_"+i]=function(e,t){e?(e=JSON.parse(e),f.reject(new $(e.errorMessage,e.error))):t&&(t=JSON.parse(t),f.resolve(new Je({clientId:i,portal:n,ssl:t.ssl,token:t.token,tokenExpires:new Date(t.expires),username:t.username})))},t.open(l,"oauth-window",c),f.promise}t.location.href=l},Je.completeOAuth2=function(e,o){void 0===o&&(o=window);var t=A({portal:"https://www.arcgis.com/sharing/rest",popup:!0},e),i=t.portal,a=t.clientId,s=t.popup;function r(e,t){try{var r=void 0,n="__ESRI_REST_AUTH_HANDLER_"+a;if(s&&(o.opener?o.opener.parent&&o.opener.parent[n]?r=o.opener.parent[n]:o.opener&&o.opener[n]&&(r=o.opener[n]):o!==o.parent&&o.parent&&o.parent[n]&&(r=o.parent[n]),r))return r(e?JSON.stringify(e):void 0,JSON.stringify(t)),void o.close()}catch(e){throw new $('Unable to complete authentication. It\'s possible you specified popup based oAuth2 but no handler from "beginOAuth2()" present. This generally happens because the "popup" option differs between "beginOAuth2()" and "completeOAuth2()".')}if(e)throw new $(e.errorMessage,e.error);return new Je({clientId:a,portal:i,ssl:t.ssl,token:t.token,tokenExpires:t.expires,username:t.username})}e=ee(o.location.hash);if(!e.access_token){var n=void 0,u="Unknown error";return e.error&&(n=e.error,u=e.error_description),r({error:n,errorMessage:u})}t=e.access_token,n=new Date(Date.now()+1e3*parseInt(e.expires_in,10)-6e4),u=e.username;return r(void 0,{token:t,expires:n,ssl:"true"===e.ssl,username:u})},Je.fromParent=function(e,n){var o;return!n&&window&&(n=window),new Promise(function(t,r){o=function(e){if(e.source===n.parent&&e.data)try{return t(Je.parentMessageHandler(e))}catch(e){return r(e)}},n.addEventListener("message",o,!1),n.parent.postMessage({type:"arcgis:auth:requestCredential"},e)}).then(function(e){return n.removeEventListener("message",o,!1),e})},Je.authorize=function(e,t){e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=A({portal:"https://arcgis.com/sharing/rest",expiration:20160},e),n=r.portal,o=r.clientId,i=r.expiration,r=r.redirectUri;t.writeHead(301,{Location:n+"/oauth2/authorize?client_id="+o+"&expiration="+(e.duration||i)+"&response_type=code&redirect_uri="+encodeURIComponent(r)}),t.end()},Je.exchangeAuthorizationCode=function(e,t){var e=A({portal:"https://www.arcgis.com/sharing/rest",refreshTokenTTL:20160},e),r=e.portal,n=e.clientId,o=e.redirectUri,i=e.refreshTokenTTL;return qe(r+"/oauth2/token",{params:{grant_type:"authorization_code",client_id:n,redirect_uri:o,code:t}}).then(function(e){return new Je({clientId:n,portal:r,ssl:e.ssl,redirectUri:o,refreshToken:e.refreshToken,refreshTokenTTL:i,refreshTokenExpires:new Date(Date.now()+60*(i-1)*1e3),token:e.token,tokenExpires:e.expires,username:e.username})})},Je.deserialize=function(e){e=JSON.parse(e);return new Je({clientId:e.clientId,refreshToken:e.refreshToken,refreshTokenExpires:new Date(e.refreshTokenExpires),username:e.username,password:e.password,token:e.token,tokenExpires:new Date(e.tokenExpires),portal:e.portal,ssl:e.ssl,tokenDuration:e.tokenDuration,redirectUri:e.redirectUri,refreshTokenTTL:e.refreshTokenTTL})},Je.fromCredential=function(e){var t=void 0===e.ssl||e.ssl,r=e.expires||Date.now()+72e5;return new Je({portal:e.server.includes("sharing/rest")?e.server:e.server+"/sharing/rest",ssl:t,token:e.token,username:e.userId,tokenExpires:new Date(r)})},Je.parentMessageHandler=function(e){if("arcgis:auth:credential"===e.data.type)return Je.fromCredential(e.data.credential);if("arcgis:auth:error"!==e.data.type)throw new Error("Unknown message type.");var t=new Error(e.data.error.message);throw t.name=e.data.error.name,t},Je.prototype.toCredential=function(){return{expires:this.tokenExpires.getTime(),server:this.portal,ssl:this.ssl,token:this.token,userId:this.username}},Je.prototype.getUser=function(e){var t=this;if(this._pendingUserRequest)return this._pendingUserRequest;if(this._user)return Promise.resolve(this._user);var r=this.portal+"/community/self",e=A(A({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingUserRequest=X(r,e).then(function(e){return t._user=e,t._pendingUserRequest=null,e}),this._pendingUserRequest},Je.prototype.getPortal=function(e){var t=this;if(this._pendingPortalRequest)return this._pendingPortalRequest;if(this._portalInfo)return Promise.resolve(this._portalInfo);var r=this.portal+"/portals/self",e=A(A({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingPortalRequest=X(r,e).then(function(e){return t._portalInfo=e,t._pendingPortalRequest=null,e}),this._pendingPortalRequest},Je.prototype.getUsername=function(){return this.username?Promise.resolve(this.username):this._user?Promise.resolve(this._user.username):this.getUser().then(function(e){return e.username})},Je.prototype.getToken=function(e,t){return r=this.portal,n=e,o=He(r),i=He(n),r=We(r),n=We(n),o&&i&&r===n||new RegExp(this.portal,"i").test(e)?this.getFreshToken(t):this.getTokenForServer(e,t);var r,n,o,i},Je.prototype.validateAppAccess=function(r){return this.getToken(this.portal).then(function(e){return X((t=void 0===t?"https://www.arcgis.com/sharing/rest":t)+"/oauth2/validateAppAccess",{method:"POST",params:{f:"json",client_id:r,token:e}});var t})},Je.prototype.toJSON=function(){return{clientId:this.clientId,refreshToken:this.refreshToken,refreshTokenExpires:this.refreshTokenExpires,username:this.username,password:this.password,token:this.token,tokenExpires:this.tokenExpires,portal:this.portal,ssl:this.ssl,tokenDuration:this.tokenDuration,redirectUri:this.redirectUri,refreshTokenTTL:this.refreshTokenTTL}},Je.prototype.serialize=function(){return JSON.stringify(this)},Je.prototype.enablePostMessageAuth=function(e,t){!t&&window&&(t=window),this._hostHandler=this.createPostMessageHandler(e),t.addEventListener("message",this._hostHandler,!1)},Je.prototype.disablePostMessageAuth=function(e){(e=!e&&window?window:e).removeEventListener("message",this._hostHandler,!1)},Je.prototype.refreshSession=function(e){return this._user=null,this.username&&this.password?this.refreshWithUsernameAndPassword(e):this.clientId&&this.refreshToken?this.refreshWithRefreshToken():Promise.reject(new $("Unable to refresh token."))},Je.prototype.getServerRootUrl=function(e){var t=Z(e).split(/\/rest(\/admin)?\/services(?:\/|#|\?|$)/)[0].match(/(https?:\/\/)(.+)/);t[0];var r=t[1],e=t[2].split("/"),t=e[0],e=e.slice(1);return""+r+t.toLowerCase()+"/"+e.join("/")},Je.prototype.getDomainCredentials=function(t){return this.trustedDomains&&this.trustedDomains.length&&this.trustedDomains.some(function(e){return t.startsWith(e)})?"include":"same-origin"},Je.prototype.createPostMessageHandler=function(n){var o=this;return function(e){var t=-1<n.indexOf(e.origin),r="arcgis:auth:requestCredential"===e.data.type;t&&r&&((r=o.toCredential()).server=r.server.replace("/sharing/rest",""),e.source.postMessage({type:"arcgis:auth:credential",credential:r},e.origin))}},Je.prototype.getTokenForServer=function(t,r){var n=this,o=this.getServerRootUrl(t),e=this.federatedServers[o];return e&&e.expires&&e.expires.getTime()>Date.now()?Promise.resolve(e.token):this._pendingTokenRequests[o]||(this._pendingTokenRequests[o]=this.fetchAuthorizedDomains().then(function(){return X(o+"/rest/info",{credentials:n.getDomainCredentials(t)}).then(function(e){if(e.owningSystemUrl){if(ze(e.owningSystemUrl,n.portal))return X(e.owningSystemUrl+"/sharing/rest/info",r);throw new $(t+" is not federated with "+n.portal+".","NOT_FEDERATED")}if(e.authInfo&&void 0!==n.federatedServers[o])return Promise.resolve({authInfo:e.authInfo});throw new $(t+" is not federated with any portal and is not explicitly trusted.","NOT_FEDERATED")}).then(function(e){return e.authInfo.tokenServicesUrl}).then(function(e){return n.token&&n.tokenExpires.getTime()>Date.now()?Ye(e,{params:{token:n.token,serverUrl:t,expiration:n.tokenDuration,client:"referer"}}):Ye(e,{params:{username:n.username,password:n.password,expiration:n.tokenDuration,client:"referer"}}).then(function(e){return n._token=e.token,n._tokenExpires=new Date(e.expires),e})}).then(function(e){return n.federatedServers[o]={expires:new Date(e.expires),token:e.token},delete n._pendingTokenRequests[o],e.token})}),this._pendingTokenRequests[o])},Je.prototype.getFreshToken=function(e){var t=this;return this.token&&!this.tokenExpires||this.token&&this.tokenExpires&&this.tokenExpires.getTime()>Date.now()?Promise.resolve(this.token):(this._pendingTokenRequests[this.portal]||(this._pendingTokenRequests[this.portal]=this.refreshSession(e).then(function(e){return t._pendingTokenRequests[t.portal]=null,e.token})),this._pendingTokenRequests[this.portal])},Je.prototype.refreshWithUsernameAndPassword=function(e){var t=this,e=A({params:{username:this.username,password:this.password,expiration:this.tokenDuration}},e);return Ye(this.portal+"/generateToken",e).then(function(e){return t._token=e.token,t._tokenExpires=new Date(e.expires),t})},Je.prototype.refreshWithRefreshToken=function(e){var t=this;if(this.refreshToken&&this.refreshTokenExpires&&this.refreshTokenExpires.getTime()<Date.now())return this.refreshRefreshToken(e);e=A({params:{client_id:this.clientId,refresh_token:this.refreshToken,grant_type:"refresh_token"}},e);return qe(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t})},Je.prototype.refreshRefreshToken=function(e){var t=this,e=A({params:{client_id:this.clientId,refresh_token:this.refreshToken,redirect_uri:this.redirectUri,grant_type:"exchange_refresh_token"}},e);return qe(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t._refreshToken=e.refreshToken,t._refreshTokenExpires=new Date(Date.now()+60*(t.refreshTokenTTL-1)*1e3),t})},Je.prototype.fetchAuthorizedDomains=function(){var t=this;return this.server||!this.portal?Promise.resolve(this):this.getPortal().then(function(e){return e.authorizedCrossOriginDomains&&e.authorizedCrossOriginDomains.length&&(t.trustedDomains=e.authorizedCrossOriginDomains.filter(function(e){return!e.startsWith("http://")}).map(function(e){return e.startsWith("https://")?e:"https://"+e})),t})},Je);function Je(e){var t;this.clientId=e.clientId,this._refreshToken=e.refreshToken,this._refreshTokenExpires=e.refreshTokenExpires,this.username=e.username,this.password=e.password,this._token=e.token,this._tokenExpires=e.tokenExpires,this.portal=e.portal?Z(e.portal):"https://www.arcgis.com/sharing/rest",this.ssl=e.ssl,this.provider=e.provider||"arcgis",this.tokenDuration=e.tokenDuration||20160,this.redirectUri=e.redirectUri,this.refreshTokenTTL=e.refreshTokenTTL||20160,this.server=e.server,this.federatedServers={},this.trustedDomains=[],e.server&&(t=this.getServerRootUrl(e.server),this.federatedServers[t]={token:e.token,expires:e.tokenExpires}),this._pendingTokenRequests={}}var Ke={app:["Application","City Engine Web Scene","CityEngine Web Scene","Dashboard","Insights Page","Insights Workbook","Operation View","Web Mapping Application","StoryMap","Web Experience","Urban Model"],dataset:["CSV Collection","CSV","Feature Collection Template","Feature Collection","Feature Layer","Feature Service","File Geodatabase","GeoJSON","GeoJson","KML Collection","KML","Microsoft Excel","Raster Layer","Shapefile","Stream Service","Table"],document:["CAD Drawing","Document Link","Hub Page","Site Page","Image","iWork Keynote","iWork Numbers","iWork Pages","Microsoft Powerpoint","Microsoft Visio","Microsoft Word","Notebook","PDF","Pro Map","Report Template"],event:["Hub Event"],feedback:["Form","Quick Capture Project"],initiative:["Hub Initiative"],template:["Hub Initiative Template"],solution:["Solution"],map:["Image Collection","Image Service","Map Service Layer","Map Service","Scene Service","Scene Layer","Vector Tile Service","Web Map Service","Web Map Tile Service","Web Map","Web Scene","WFS","WMS","WMTS"],other:["360 VR Experience","AppBuilder Widget Package","Application Configuration","ArcPad Package","Code Attachment","Code Sample","Desktop Add In","Desktop Application Template","Desktop Application","Desktop Style","Explorer Add In","Explorer Layer","Geocoding Service","Geometry Service","Geoprocessing Package","Geoprocessing Sample","Geoprocessing Service","Layer File","Layer Package","Layer Template","Layer","Layout","Locator Package","Map Area","Map Document","Map Package","Map Service Definition","Map Template","Mobile Application","Mobile Map Package","Native Application","Network Analysis Service","Operations Dashboard Add In","Project Package","Project Template","Raster Function Template","Rule Package","Scene Package","Service Definition","SQLite Geodatabase","Style","Tile Package","Vector Tile Package","Workflow Manager Package"],site:["Hub Site Application","Site Application"]},$e=Ke.app,Qe=Ke.dataset,Xe=Ke.document,Ze=Ke.event,et=Ke.feedback,tt=Ke.initiative,rt=Ke.map,nt=Ke.other,ot=Ke.site,it=["360 VR Experience","Application","CityEngine Web Scene","Code Sample","CSV Collection","CSV","CAD Drawing","Desktop Application","Desktop Application Template","Desktop Style","File Geodatabase","GeoJson","Geoprocessing Package","Geoprocessing Sample","Image","iWork Keynote","iWork Numbers","KML Collection","KML","Layer","Layer File","Layer Package","Layout","Locator Package","Map Package","Map Service Definition","Map Template","Microsoft Excel","Microsoft Powerpoint","Microsoft Visio","Microsoft Word","Notebook","Operations Dashboard Add In","PDF","Pro Map","Project Package","Project Template","Raster function template","Rule Package","Service Definition","Shapefile","Vector Tile Package","Workflow Manager Package"],at=["Data"],st={app:$e.concat(et),dataset:Qe,document:Xe,event:Ze,initiative:tt,map:rt,other:nt,site:ot,downloadableTypes:it,downloadableTypeKeywords:at,apiTypes:["Feature Service","Map Service","Image Service"]};function ut(e){return-1!==it.indexOf(e.type)||e.typeKeywords&&at.some(function(t){return e.typeKeywords.some(function(e){return e===t})})}function ct(e,t,r,n,o){return{xmin:e,ymin:t,xmax:r,ymax:n,spatialReference:{wkid:o=void 0===o?4326:o}}}function pt(e){return[[e.xmin,e.ymin],[e.xmax,e.ymax]]}var lt={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}};function dt(e){var t=e.portalSelf,r=t.defaultExtent,t=d(t,"helperServices.geometry.url");if(!t)return Promise.resolve(lt);if(!r)return Promise.resolve(lt);t+="/project",r={httpMethod:"POST",params:{geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[r]}),transformForward:!1,transformation:"",inSR:r.spatialReference.wkid,outSR:4326,f:"json"}};return e.authentication&&(r.authentication=e.authentication),X(t,r).then(function(e){e=e.geometries[0];return{xmin:e.xmin,ymin:e.ymin,xmax:e.xmax,ymax:e.ymax,spatialReference:{wkid:4326}}}).catch(function(e){return lt})}function ft(e){return Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[1])}var mt=[{type:"CC0-1.0",abbr:"CC0",name:"Public Domain Dedication",url:"http://creativecommons.org/publicdomain/zero/1.0"},{type:"CC-BY-4.0",abbr:"CC BY",name:"Attribution 4.0 International",url:"http://creativecommons.org/licenses/by/4.0"},{type:"CC-BY-3.0",abbr:"CC BY 3.0",name:"Attribution 3.0 Unported",url:"http://creativecommons.org/licenses/by/3.0"},{type:"CC-BY-2.5",abbr:"CC BY 2.5",name:"Attribution 2.5 Generic",url:"http://creativecommons.org/licenses/by/2.5"},{type:"CC-BY-2.0",abbr:"CC BY 2.0",name:"Attribution 2.0 Generic",url:"http://creativecommons.org/licenses/by/2.0"},{type:"CC-BY-1.0",abbr:"CC BY 1.0",name:"Attribution 1.0 Generic",url:"http://creativecommons.org/licenses/by/1.0"},{type:"CC-BY-SA-4.0",abbr:"CC BY-SA",name:"Attribution-ShareAlike 4.0 International",url:"http://creativecommons.org/licenses/by-sa/4.0"},{type:"CC-BY-SA-3.0",abbr:"CC BY-SA 3.0",name:"Attribution-ShareAlike 3.0 Unported",url:"http://creativecommons.org/licenses/by-sa/3.0"},{type:"CC-BY-SA-2.5",abbr:"CC BY-SA 2.5",name:"Attribution-ShareAlike 2.5 Generic",url:"http://creativecommons.org/licenses/by-sa/2.5"},{type:"CC-BY-SA-2.0",abbr:"CC BY-SA 2.0",name:"Attribution-ShareAlike 2.0 Generic",url:"http://creativecommons.org/licenses/by-sa/2.0"},{type:"CC-BY-SA-1.0",abbr:"CC BY-SA 1.0",name:"Attribution-ShareAlike 1.0 Generic",url:"http://creativecommons.org/licenses/by-sa/1.0"},{type:"CC-BY-ND-4.0",abbr:"CC BY-ND",name:"Attribution-NoDerivatives 4.0 International",url:"http://creativecommons.org/licenses/by-nd/4.0"},{type:"CC-BY-ND-3.0",abbr:"CC BY-ND 3.0",name:"Attribution-NoDerivs 3.0 Unported",url:"http://creativecommons.org/licenses/by-nd/3.0"},{type:"CC-BY-ND-2.5",abbr:"CC BY-ND 2.5",name:"Attribution-NoDerivs 2.5 Generic",url:"http://creativecommons.org/licenses/by-nd/2.5"},{type:"CC-BY-ND-2.0",abbr:"CC BY-ND 2.0",name:"Attribution-NoDerivs 2.0 Generic",url:"http://creativecommons.org/licenses/by-nd/2.0"},{type:"CC-BY-ND-1.0",abbr:"CC BY-ND 1.0",name:"Attribution-NoDerivs 1.0 Generic",url:"http://creativecommons.org/licenses/by-nd/1.0"},{type:"CC-BY-NC-4.0",abbr:"CC BY-NC",name:"Attribution-NonCommercial 4.0 International",url:"https://creativecommons.org/licenses/by-nc/4.0"},{type:"CC-BY-NC-3.0",abbr:"CC BY-NC 3.0",name:"Attribution-NonCommercial 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc/3.0"},{type:"CC-BY-NC-2.5",abbr:"CC BY-NC 2.5",name:"Attribution-NonCommercial 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc/2.5"},{type:"CC-BY-NC-2.0",abbr:"CC BY-NC 2.0",name:"Attribution-NonCommercial 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc/2.0"},{type:"CC-BY-NC-1.0",abbr:"CC BY-NC 1.0",name:"Attribution-NonCommercial 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc/1.0"},{type:"CC-BY-NC-SA-4.0",abbr:"CC BY-NC-SA",name:"Attribution-NonCommercial-ShareAlike 4.0 International",url:"https://creativecommons.org/licenses/by-nc-sa/4.0"},{type:"CC-BY-NC-SA-3.0",abbr:"CC BY-NC-SA 3.0",name:"Attribution-NonCommercial-ShareAlike 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-sa/3.0"},{type:"CC-BY-NC-SA-2.5",abbr:"CC BY-NC-SA 2.5",name:"Attribution-NonCommercial-ShareAlike 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.5"},{type:"CC-BY-NC-SA-2.0",abbr:"CC BY-NC-SA 2.0",name:"Attribution-NonCommercial-ShareAlike 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.0"},{type:"CC-BY-NC-SA-1.0",abbr:"CC BY-NC-SA 1.0",name:"Attribution-NonCommercial-ShareAlike 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/1.0"},{type:"CC-BY-NC-ND-4.0",abbr:"CC BY-NC-ND",name:"Attribution-NonCommercial-NoDerivatives 4.0 International",url:"https://creativecommons.org/licenses/by-nc-nd/4.0"},{type:"CC-BY-NC-ND-3.0",abbr:"CC BY-NC-ND 3.0",name:"Attribution-NonCommercial-NoDerivs 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-nd/3.0"},{type:"CC-BY-NC-ND-2.5",abbr:"CC BY-NC-ND 2.5",name:"Attribution-NonCommercial-NoDerivs 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.5"},{type:"CC-BY-NC-ND-2.0",abbr:"CC BY-NC-ND 2.0",name:"Attribution-NonCommercial-NoDerivs 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.0"},{type:"CC-BY-NC-ND-1.0",abbr:"CC BY-NC-ND 1.0",name:"Attribution-NonCommercial-NoDerivs 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/1.0"},{type:"PDDL-1.0",abbr:"PDDL",name:"ODC Public Domain Dedication and License",url:"http://opendatacommons.org/licenses/pddl/summary"},{type:"ODbL-1.0",abbr:"ODbL",name:"ODC Open Database License",url:"http://opendatacommons.org/licenses/odbl/summary"},{type:"ODC-BY-1.0",abbr:"ODC BY",name:"ODC Attribution License",url:"http://opendatacommons.org/licenses/by/summary"}];function ht(r){var e={type:(r=r||"")?"custom":"none",text:r},t=!1,n=mt.filter(function(e){return t=e,(e=(e=r).toLowerCase()).includes(t.name.toLowerCase())||e.includes(t.url.toLowerCase())||e.includes(t.abbr.toLowerCase());var t});return n.length&&(t=!0,e=n.pop()),t||(n=void 0,!function(e){try{return!!new URL(e).protocol}catch(e){return!1}}(r)?(t=r,new RegExp(/^<a[\s]+(href\s?=\s?["'].*?["'])+([^>]?)>((?:.(?!\<\/a\>))*.)?<\/a>$|^<a[\s]+(href\s?=\s?["'].*?["'])+([^>]?)\/>/).test(t)&&(t=new RegExp(/href\s?=\s?["'](.*?)["']/),n=r.match(t)[1])):n=r,n&&(e.url=n,e.text="")),e.text||delete e.text,e}var gt={};function vt(e){void 0===e&&(e=""),console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v9.0.0");e=bt(e);return"feedback"===e?"app":e}function yt(e){var t=(e=void 0===e?{}:e).type,r=e.typeKeywords||[];return("Site Application"===e.type||"Web Mapping Application"===e.type&&S(r,"hubSite"))&&(t="Hub Site Application"),("Site Page"===e.type||"Web Mapping Application"===e.type&&S(r,"hubPage"))&&(t="Hub Page"),"Hub Initiative"===e.type&&S(r,"hubInitiativeTemplate")&&(t="Hub Initiative Template"),t="Web Mapping Application"===e.type&&S(r,"hubSolutionTemplate")?"Solution":t}function bt(e){if(gt[e=void 0===e?"":e])return gt[e];for(var t=0,r=Object.keys(Ke);t<r.length;t++)for(var n=r[t],o=0,i=Ke[n];o<i.length;o++){var a=i[o];if(e.toLowerCase()===a.toLowerCase())return gt[e]=n}}function wt(e){return e&&"feature service"===e.toLowerCase()}function Ct(e){return(e=e&&e.match(/\/\d+$/))&&e[0].slice(1)}function kt(e){return Ct(e.url)||wt(e.type)&&S(e.typeKeywords,"Singlelayer")&&"0"}function St(e){e=e?e.split("_"):[];return{itemId:e[0],layerId:e[1]}}function Tt(e,t){return t&&e.match(t+"::")?e.split(t+"::")[1]:e}function At(e){if(!e)return e;var t=["categories",""];return e.map(function(e){return e.split("/")}).reduce(function(e,t,r){return P(e,t)},[]).filter(function(e){return!S(t,e.toLowerCase())})}function It(e){var t,r;switch((e||"").toLowerCase()){case"image service":t="dataset";break;case"feature service":case"raster layer":t="map";break;case"microsoft excel":t="document";break;case"cad drawing":case"feature collection template":case"report template":t="content";break;default:t={other:"content",solution:"template"}[r=bt(e)]||r}return t}function Et(e){return console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v9.0.0"),bt(yt(e="string"==typeof e?{type:e}:e))}function Pt(e){var t=new Date(e.created),r="item.created",n=e.properties,o=yt(e);return Object.assign({},e,{errors:[],item:e,name:e.title,family:It(o),hubType:Et(e),normalizedType:o,categories:At(e.categories),itemCategories:e.categories,summary:e.snippet||e.description,publisher:{name:e.owner,username:e.owner},permissions:{visibility:e.access,control:e.itemControl||"view"},actionLinks:n&&n.links,hubActions:n&&n.actions,metrics:n&&n.metrics,isDownloadable:ut(e),boundary:(n=e.extent)&&n.length&&{geometry:ct(n[0][0],n[0][1],n[1][0],n[1][1])},license:{name:"Custom License",description:e.accessInformation},createdDate:t,createdDateSource:r,publishedDate:t,publishedDateSource:r,updatedDate:new Date(e.modified),updatedDateSource:"item.modified",structuredLicense:ht(e.licenseInfo)})}function xt(e){if(e){var t=e.id,r=e.attributes;if(r){var n=St(t).itemId,o=r.owner,i=r.orgId,a=r.created,s=r.modified,u=r.name,c=r.title,p=r.type,l=r.typeKeywords,d=r.description,f=r.snippet,m=r.tags,h=r.thumbnail,g=r.categories,v=r.contentStatus,y=r.spatialReference,b=r.accessInformation,w=r.licenseInfo,C=r.culture,k=r.url,S=r.access,T=r.proxyFilter,A=r.properties,I=r.appCategories,E=r.industries,P=r.languages,x=r.largeThumbnail,D=r.banner,O=r.screenshots,R=r.listed,N=r.ownerFolder,_=r.size,U=r.protected,j=r.commentsEnabled,L=r.numComments,M=r.numRatings,G=r.avgRating,B=r.numViews,q=r.itemControl,Y=r.scoreCompleteness,F=r.itemExtent,e=r.itemModified,t=r.modifiedProvenance,r=r.serviceSpatialReference;return{id:n,owner:o,orgId:i,created:a,modified:e||"item.modified"===t&&s,title:c||u,type:k&&Ge(k)||p,typeKeywords:l,description:d,tags:m,snippet:f,thumbnail:h,extent:F||[],categories:g,contentStatus:v,spatialReference:y||r,accessInformation:b,licenseInfo:w,culture:C,url:k,access:S,size:_,protected:U,proxyFilter:T,properties:A,appCategories:I,industries:E,languages:P,largeThumbnail:x,banner:D,screenshots:O,listed:R,ownerFolder:N,commentsEnabled:j,numComments:L,numRatings:M,avgRating:G,numViews:B,itemControl:q,scoreCompleteness:Y}}}}const Dt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const Ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var Rt={atob:function(t){if((t=(t=(t=`${t}`).replace(/[ \t\n\f\r]/g,"")).length%4==0?t.replace(/==?$/,""):t).length%4==1||/[^+/0-9A-Za-z]/.test(t))return null;let r="",n=0,o=0;for(let e=0;e<t.length;e++)n<<=6,n|=function(e){e=Dt.indexOf(e);return e<0?void 0:e}(t[e]),o+=6,24===o&&(r+=String.fromCharCode((16711680&n)>>16),r+=String.fromCharCode((65280&n)>>8),r+=String.fromCharCode(255&n),n=o=0);return 12===o?(n>>=4,r+=String.fromCharCode(n)):18===o&&(n>>=2,r+=String.fromCharCode((65280&n)>>8),r+=String.fromCharCode(255&n)),r},btoa:function(e){let t;for(e=`${e}`,t=0;t<e.length;t++)if(255<e.charCodeAt(t))return null;let r="";for(t=0;t<e.length;t+=3){const n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(t)>>2,n[1]=(3&e.charCodeAt(t))<<4,e.length>t+1&&(n[1]|=e.charCodeAt(t+1)>>4,n[2]=(15&e.charCodeAt(t+1))<<2),e.length>t+2&&(n[2]|=e.charCodeAt(t+2)>>6,n[3]=63&e.charCodeAt(t+2));for(let e=0;e<n.length;e++)void 0===n[e]?r+="=":r+=function(e){if(0<=e&&e<64)return Ot[e];return}(n[e])}return r}},Nt="4326",_t={csv:{name:"CSV",itemTypes:["CSV","CSV Collection"],supportsProjection:!0},kml:{name:"KML",itemTypes:["KML","KML Collection"],supportsProjection:!1},shapefile:{name:"Shapefile",itemTypes:["Shapefile"],supportsProjection:!0},fileGeodatabase:{name:"File Geodatabase",itemTypes:["File Geodatabase"],supportsProjection:!0},geojson:{name:"GeoJson",itemTypes:["GeoJson"],supportsProjection:!1},excel:{name:"Excel",itemTypes:["Microsoft Excel"],supportsProjection:!0},featureCollection:{name:"Feature Collection",itemTypes:["Feature Collection"],supportsProjection:!0}};function Ut(e){if("object"!=typeof e)return e;var t=e.wkid,e=e.wkt;return t?t+"":Rt.btoa(e)}function jt(e){return"spatialRefId:"+Ut(function(t){var r;try{r=JSON.parse(t)}catch(e){r=t}return r}(e))}function Lt(e){return"exportItem:"+e}function Mt(e){return e?"exportLayer:0"+e:"exportLayer:null"}function Gt(e){var t,r=e.autoAddResult,n=e.inviteResult,o=e.primaryEmailResult,e=e.secondaryEmailResult;return(o||e)&&(t={success:(e=[o,e].filter(function(e){return e})).every(function(e){return e.success})},(e=e.reduce(function(e,t){return e.concat(y(t,"errors",[]))},[])).length&&(t.errors=e)),{success:[r,n,t].filter(function(e){return e}).every(function(e){return e.success}),autoAdd:r,invite:n,email:t}}function Bt(t,e){var r;return t&&(r=!d(t,"notAdded.length")&&!t.errors,e.autoAddResult={success:r},r||(r=t.errors||[],d(t,"notAdded.length")&&r.push(new W("Users not auto-added: "+t.notAdded.join(", "))),e.autoAddResult.errors=r,r=e.usersToAutoAdd.filter(function(e){return S(t.notAdded,e.username)}),e.usersToInvite=e.usersToInvite.concat(r))),e}function qt(e,t){return e.orgId===t.orgId}function Yt(e){return"org_admin"===e.role&&!e.roleId}function Ft(e,t,r,n){var o=Promise.resolve(null);return e.length&&(e={authentication:r,message:t.body,subject:t.subject,notificationChannelType:"email",users:e.map(function(e){return e.username})},n||(e.batchSize=1),o=ke(e)),o}function Ht(t){var r,e=Promise.resolve(t);return t.email&&t.secondaryRO&&d(t,"inviteResult.success")&&(r=y(t,"secondaryRO.portalSelf.user",{}),e=Ft(t.usersToInvite.filter(function(e){return qt(e,r)}),t.email,t.secondaryRO.authentication,Yt(r)).then(function(e){return t.secondaryEmailResult=e,t})),e}function Wt(e,t,r){var n=Promise.resolve(null);return n=t.length?fe({id:e,users:t.map(function(e){return e.username}),authentication:r}):n}function zt(t){return Wt(d(t,"groupId"),d(t,"usersToAutoAdd"),d(t,"primaryRO.authentication")).then(function(e){return Bt(e,t)})}function Vt(e,t,r,n,o){void 0===n&&(n=20160),void 0===o&&(o="group_member");var i=Promise.resolve(null);return i=t.length?ve({id:e,users:t.map(function(e){return e.username}),authentication:r,role:o,expiration:n}):i}function Jt(t){return Vt(d(t,"groupId"),d(t,"usersToInvite"),d(t,"primaryRO.authentication")).then(function(e){return t.inviteResult=e,t})}function Kt(t){var e=Promise.resolve(t);return e=t.email&&d(t,"inviteResult.success")?Ft(t.usersToEmail,t.email,t.primaryRO.authentication,Yt(t.requestingUser)).then(function(e){return t.primaryEmailResult=e,t}):e}function $t(e,t){var r,n=[];return-1!==t.privileges.indexOf("portal:admin:assignToGroups")&&(r=[t.orgId,t.cOrgId].filter(function(e){return e}),n=e.filter(function(e){return-1!==r.indexOf(e.orgId)})),n}function Qt(e,t){var r=$t(e,t);return e.filter(function(t){return!r.some(function(e){return e.username===t.username})})}function Xt(e,t,r){void 0===r&&(r=!1);e=Qt(e,t).filter(function(e){return qt(e,t)});return r&&e.push(t),e}function Zt(e,t){if("object"==typeof e&&null!==e&&"string"==typeof t){for(var r=t.split("."),n=0;n<r.length-1;n++){if(!e.hasOwnProperty(r[n]))return;e=e[r[n]]}delete e[r[r.length-1]]}}function er(e){var t=l(e.item);return t.text=JSON.stringify(e.data),t}function tr(e,t){return Promise.all([X(oe(e,r=t),A({httpMethod:"GET"},r)),(r=e,r=oe(e,t=t)+"/data",(t=A({httpMethod:"GET",params:{}},t)).file&&(t.params.f=null),X(r,t).catch(function(e){var t=RegExp(/The string did not match the expected pattern|(Unexpected end of (JSON input|data at line 1 column 1))/i);if(!t.test(e.message))throw e}))]).then(function(e){return{item:e[0],data:e[1]}});var r}var rr=function(e,t,r){return void 0===r&&(r=void 0),t.split(".").reduce(function(e,t){return e?e[t]:r},e)};function nr(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}var or=function(e){return e instanceof Date},ir=function(e){return"function"==typeof e},ar=function(e){return"object"==typeof e},sr=function(e){return e instanceof RegExp};var ur=function(e){return"object"==typeof e};function cr(e){return Array.isArray(e)?function(e){var t=e,e=e.reduce(function(e,t){return dr(t)&&lr(t)&&(e<(t=pr(t))&&(e=t)),e},-1);-1<e&&(t=0===e?[]:"{{delete:"+(e-1)+"}}");return t}(e.map(t).filter(function(e){return null!=e})):e&&ur(e)?function(o){var e=Object.keys(o).reduce(function(e,t){var r,n=o[t];return dr(n)&&lr(n)?(r=pr(n))>e.maxLevel&&(e.maxLevel=r):e.obj[t]=n,e},{obj:{},maxLevel:-1});e=0<e.maxLevel?1===e.maxLevel?void 0:"{{delete:"+(e.maxLevel-1)+"}}":e.obj;return e}(nr(e,t)):function(e){var t=e;"string"==typeof e&&lr(e)&&(t=function(e){var t=e,e=pr(e);t=0===e?void 0:"{{delete:"+e+"}}";return t}(e));return t}(e);function t(e,t){return cr(e)}}var pr=function(e){return parseInt(e.replace(/{|}/g,"").split(":")[1])};function lr(e){return e&&"string"==typeof e&&-1<e.indexOf("{{delete")}var dr=function(e){return"string"==typeof e};function fr(e,t,r,n){return void 0===n&&(n=0),t?t:"{{delete:"+n+"}}"}var mr=function(e){var t={};if(Array.isArray(e))t=e.map(mr);else if("object"==typeof e)for(var r in e)null!=e[r]&&"object"==typeof e[r]?t[r]=mr(e[r]):t[r]=e[r];else t=e;return t},hr=/{{\s*?[\w].*?}}/g,gr=function(e){return"string"==typeof e};function vr(e){return e||""===e||0===e}function yr(e,a,s){if((s=mr(s=void 0===s?null:s)||{}).optional)throw new Error("Please do not pass in an `optional` transform; adlib provides that internally.");return s.optional=fr,cr(function r(e,n,o){return o=o||"",Array.isArray(e)?e.map(t):!e||!ar(e)||or(e)||sr(e)||ir(e)?n(e,o):Object.assign({},e,nr(e,t));function t(e,t){return r(e,n,o?o+"."+t:t)}}(e,function(t,e){if(!gr(t))return t;var r,n=t.match(hr);return n&&n.length?(n.map(function(e){var o,i=!1,t=e.replace(/{|}/g,"").trim();-1<t.indexOf("||")&&(r=t.split("||").map(function(e){return e.trim()}),o=r.length,t=r.find(function(e,t){var r,n;return(n=a,r=(r=e).split(":")[0],null!=(r=rr(n,r,null)))?e:t+1===o&&(i=!0,isNaN(e)?e:parseInt(e))}));var r={key:e,value:t};return i||(t=function(e,t,r){var n,o=e.split(":");if(1<o.length){var i,a=o[0],s=o[1];if(o[2]&&(i=o[2]),!r||!r[s]||"function"!=typeof r[s])throw new Error("Attempted to apply non-existant transform "+s+" on "+a+" with params "+e);n=rr(t,a),n=r[s](a,n,t,i)}else n=rr(t,e);return n}(t,a,s),r.value=vr(t)?t:e),r}).forEach(function(e){t===e.key?("string"==typeof e.value&&(isNaN(e.value)||""===e.value||(-1<e.value.indexOf(".")?e.value=parseFloat(e.value):e.value=parseInt(e.value))),r=e.value):t=t.replace(e.key,e.value)}),vr(r)?r:t):t}))}function br(e,t,r){return yr(e,t,r)}var wr=["id","isOrgItem","proxyFilter","ownerFolder","protected","owner","created","modified","guid","name","access","size","listed","numComments","numRatings","avgRating","numViews","scoreCompleteness","groupDesignations","listed","screenshots","banner","appCategories","industries","languages","largeThumbnail"];function Cr(e,t,r){return le({q:'title:"'+e+'" AND '+Object.keys(t).map(function(e){return e+':"'+t[e]+'"'}).join(" AND "),authentication:r}).then(function(e){return 0<e.results.length}).catch(function(e){throw Error("Error in doesItemExistWithTitle "+e)})}function kr(e,t){var r=e;return r=-1===e.indexOf("token")&&-1<e.indexOf(t.authentication.portal)?e+"?token="+t.authentication.token:r}function Sr(e,t){return(t=void 0===t?{}:t).credentials||(t.credentials="same-origin"),fetch(e,t).then(function(e){return e.blob()})}function Tr(r){return Sr(r.url).then(function(e){return re(t={id:r.id,owner:r.owner,name:r.fileName,resource:e,authentication:r.authentication}).then(function(e){e=te(t)+"/content/users/"+e+"/items/"+t.id+"/addResources";return t.params=A({file:t.resource,fileName:t.name,resourcesPrefix:t.prefix,text:t.content,access:t.private?"private":"inherit"},t.params),X(e,t)});var t})}function Ar(t){return Sr(t.url).then(function(e){return ne({item:{id:t.id,owner:t.owner},params:{fileName:t.fileName,thumbnail:e},authentication:t.authentication}).catch(function(e){return Promise.resolve()})}).catch(function(e){return Promise.resolve()})}function Ir(e,t,r){if(!e||!e.thumbnail)return null;var n=r||{},o=n.token,n=n.width,r=Le(e,t,o=!o&&"string"==typeof r?r:o).split("?"),o=r[0],r=r[1],r=new URLSearchParams(r);r.delete("f"),n&&r.append("w",n+"");r=r.toString(),e=o+"/info/"+e.thumbnail;return r?e+"?"+r:e}function Er(t){return I(this,void 0,void 0,function(){return E(this,function(e){return 200<=t.status&&t.status<300?[2,t.json()]:[2,t.json().then(function(e){if(e.error)throw new Error(e.error.title+" :: "+e.error.detail+" :: "+t.status);throw new Error("Got "+t.status+" "+t.statusText)})]})})}function Pr(e){var t={},e=d(e,"authentication.token");return e&&(t.Authorization=e),t}function xr(e){return(e||"https://hub.arcgis.com")+"/api/v3/domains"}function Dr(e,t){var r=e,n="hubsubdomain|"+(r=-1<e.indexOf("#/")?e.split("#/")[1]:r);return le(Object.assign({q:"typekeywords: "+n},t)).then(function(e){return e.results.filter(function(e){return S(e.typeKeywords,n)})[0]}).then(function(e){if(!e)throw new Error("site not found");return{hostname:e.url,siteId:e.id}})}function Or(e,t){if(t.isPortal)throw new Error("domainExists is not available in ArcGIS Enterprise.");e=_e(e);e=xr(t.hubApiUrl)+"/"+e,t=Pr(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(function(e){return 404!==e.status})}function Rr(e,t){return Dr(e,t).then(function(e){return!0}).catch(function(e){return!1})}function Nr(t,r,n,o){var i=t;return Or((i=(o=void 0===o?0:o)?t+"-"+o:t)+"-"+r,n).then(function(e){return e?Nr(t,r,n,o+1):i})}function _r(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return Rr(o,r).then(function(e){return e?_r(t,r,n+1):o})}function Ur(e,t){if(t.isPortal)return Dr(e,t);e=xr(t.hubApiUrl)+"/"+e,t=Pr(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(Er)}function jr(e,t){var r=l(e),e=63;return t&&(e-=t.length+1),r=r.length>e?r.slice(0,e-6)+"-"+N(5):r}function Lr(e,t){return tr(e,t).then(Yr)}function Mr(e){if(1.4<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(t,"data.values.gacode");return t.data.values.telemetry={consentNotice:{isTheme:!0,consentText:"",policyURL:""},customAnalytics:{ga:{customerTracker:{enabled:Boolean(e),id:e}}}},Zt(t,"data.values.gacode"),C("item.properties.schemaVersion",1.4,t),t}var Gr=1.5;function Br(e){if(1.5<=d(e,"item.properties.schemaVersion"))return e;var r,t=l(e),e=t.data.values.dcatConfig;return t.data.feeds={},e&&(t.data.feeds.dcatUS11=(r=JSON.stringify(e),Object.keys(qr).forEach(function(e){var t=qr[e];r=r.split(e).join(t)}),JSON.parse(r))),t.item.properties.schemaVersion=1.5,t}var qr={"{{default.name}}":"{{name}}","{{default.description}}":"{{description}}","{{item.tags}}":"{{tags}}","{{item.created:toISO}}":"{{created:toISO}}","{{item.modified:toISO}}":"{{modified:toISO}}","{{default.source.source}}":"{{source}}","{{item.owner}}":"{{owner}}","{{org.portalProperties.links.contactUs.url}}":"{{orgContactEmail}}","{{org.name}}":"{{orgName}}","{{item.categories}}":"{{categories}}","{{item.licenseInfo}}":"{{licenseInfo}}","{{item.modified}}":"{{modified}}","{{enrichments.categories}}":"{{categories}}","{{default.id}}":"{{id}}","{{item.licenseInfo || No License}}":"{{licenseInfo || No License}}","{{org.portalProperties.links.contactUs.url || mailto:data@tempe.gov}}":"{{orgContactEmail || mailto:data@tempe.gov}}","{{default.description || No Description}}":"{{description || No Description}}","{{item.id}}":"{{id}}"};function Yr(e){return d(e,"item.properties.schemaVersion")===Gr?e:e=Br(e=Mr(e=function(e){if(1.3<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(t,"data.catalog.groups")||[];return t.data.catalog.groups=e.filter(_),t.item.properties.schemaVersion=1.3,t}(e=function(e){if(1.2<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(t,"data.catalog")||{};return d(t,"data.values.groups")&&(e.groups=l(t.data.values.groups),delete t.data.values.groups),t.data.catalog=e,t.item.properties.schemaVersion=1.2,t}(e=function(e){if(1.1<=d(e,"item.properties.schemaVersion"))return e;var t=l(e);return["subdomain","defaultHostname","internalUrl","customHostname","externalUrl"].forEach(function(e){t.data.values[e]&&"string"==typeof t.data.values[e]&&(t.data.values[e]=t.data.values[e].toLowerCase())}),t.item.properties.schemaVersion=1.1,t}(e=function(e){if(1<=d(e,"item.properties.schemaVersion"))return e;var t=l(e);return["groupId","title"].forEach(function(e){delete t.data.values[e]}),t.item.properties||(t.item.properties={}),t.item.properties.schemaVersion=1,t.data.values.groups&&Array.isArray(t.data.values.groups)&&(e=t.data.values.groups.map(function(e){return"object"==typeof e?e.id:e}).filter(function(e){return!!e}),t.data.values.groups=e),t}(e))))))}var Fr=["ar","bs","ca","cs","da","de","en","es","et","el","fi","fr","hr","he","hu","it","id","ja","ko","lt","lv","nb","nl","pl","pt","pt-br","pt-pt","ro","ru","sl","sr","sv","th","tr","uk","vi","zh","zh-cn","zh-tw","zh-hk"];var Hr,Wr=(e(zr,Hr=Error),zr);function zr(e,t,r){e=Hr.call(this,e)||this;return e.status=r,e.url=t,e}function Vr(e,t){var r,n,o=A({httpMethod:"GET"},t),i=o.fetch||fetch,t=A({"Content-Type":"application/json"},o.headers);"GET"===o.httpMethod?r=o.params:n=JSON.stringify(o.params);var a=q({host:Be(o),path:("/api/v3/"+e).replace(/\/\//g,"/"),query:r});return i(a,{method:o.httpMethod,headers:t,body:n}).then(function(e){if(e.ok)return e.json();throw new Wr(e.statusText,a,e.status)})}Jr.prototype.startOperation=function(e){e=l(e);e.startedAt=(new Date).getTime(),e.state="working",this.operations.push(e)},Jr.prototype.start=function(e,t){t={type:e,id:y(t,"id",r(e+"_")),inputs:y(t,"inputs",{}),cleanup:y(t,"cleanup","n/a"),startedAt:(new Date).getTime(),state:"working"};return this.operations.push(t),t.id},Jr.prototype.getOperation=function(t){return this.operations.find(function(e){return e.id===t})},Jr.prototype.getOperations=function(){return this.operations},Jr.prototype.finish=function(e,t){var r=this.getOperation(e);if(!r)throw new Error("No operation with id "+e+" present in stack");r.duration=(new Date).getTime()-r.startedAt,r.state="completed",t&&(r.output=l(t))},Jr.prototype.merge=function(e){this.operations=P(this.operations,e.operations)},Jr.prototype.getCompleted=function(){return l(this.operations.filter(function(e){return"completed"===e.state}))},Jr.prototype.getWorking=function(){return l(this.operations.filter(function(e){return"working"===e.state}))},Jr.prototype.toString=function(){return this.operations.sort(function(e,t){return e.startedAt<t.startedAt?-1:t.startedAt<e.startedAt?1:0}).map(Kr).join("\n")},Jr.prototype.serialize=function(){return{operations:l(this.getOperations())}},ot=Jr;function Jr(){this.operations=[]}function Kr(e){var t=e.startedAt+" : Operation "+e.id+" started with inputs "+JSON.stringify(e.inputs)+" but was not completed";return t="completed"===e.state?e.startedAt+" : Operation "+e.id+" took "+e.duration+" ms with inputs "+JSON.stringify(e.inputs)+" and output "+(e.output?JSON.stringify(e.output):"n/a"):t}n.GLOBAL_EXTENT=lt,n.HUB_CDN_URLMAP=Oe,n.HUB_LOCALES=Fr,n.Logger=U,n.OperationError=D,n.OperationStack=ot,n.PORTAL_EXPORT_TYPES=_t,n.REQUIRED_PRIVS=B,n.RemoteServerError=Wr,n.SITE_SCHEMA_VERSION=Gr,n.STANDARD_LICENSES=mt,n.WGS84_WKID=Nt,n._addTokenToResourceUrl=kr,n._canEmailUser=qt,n._checkStatusAndParseJson=Er,n._consolidateResults=Gt,n._deepMapValues=i,n._ensureSafeDomainLength=jr,n._ensureTelemetry=Mr,n._formatAutoAddResponse=Bt,n._getAuthHeader=Pr,n._getAutoAddUsers=$t,n._getDomainServiceUrl=xr,n._getEmailUsers=Xt,n._getHttpAndHttpsUris=function(e){return e?["http://"+(e=e.replace(/^http(s?):\/\//,"")),"https://"+e]:[]},n._getInviteUsers=Qt,n._getLocation=function(){if(window)return window.location},n._isDate=s,n._isFunction=u,n._isObject=c,n._isOrgAdmin=Yt,n._isRegExp=p,n._isString=a,n._lookupPortal=Dr,n._mapValues=o,n._processAutoAdd=zt,n._processInvite=Jt,n._processPrimaryEmail=Kt,n._processSecondaryEmail=Ht,n._unprotectAndRemoveGroup=function(e){var t=R(be,{success:!0}),r=R(we,{success:!0});return t(e).then(function(){return r(e)})},n._unprotectAndRemoveItem=function(e){var t=R(ie,{success:!0}),r=R(se,{success:!0});return t(e).then(function(){return r(e)})},n.addContextToSlug=function(e,t){return/.+::.+/.test(e)?e:t+"::"+e},n.addDays=function(e,t){try{var r=new Date(e);return new Date(r.setDate(r.getDate()+t)).toISOString().split("T")[0]}catch(e){throw new Error("Invalid Date")}},n.addDomain=function(e,t){if(t.isPortal)throw new Error("addDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Pr(t);r["Content-Type"]="application/json";var n=""+xr(t.hubApiUrl);return"number"==typeof(t=e.siteTitle)&&(e.siteTitle=t.toString()),fetch(n,{method:"POST",headers:r,mode:"cors",body:JSON.stringify(e)}).then(Er)},n.addSolutionResourceUrlToAssets=function(e,t){var r,n,o=e.assets||e.resources||[];return e.bundleItemId&&(r=Ne(t.portalSelf)+"/content/items/"+e.bundleItemId,n=e.itemId,o=o.map(function(e){return{name:e.name,type:e.type||"resource",url:r+"/resources/"+n+"-"+e.name}})),o},n.addUsersToGroup=function(e,t,r,n,o){var i=l(y(r,"portalSelf.user",{}));return i.cOrgId=d(r,"portalSelf.portalProperties.hub.settings.communityOrg.orgId"),zt({groupId:e,allUsers:t,primaryRO:r,email:n,secondaryRO:o,requestingUser:i,usersToAutoAdd:$t(t,i),usersToInvite:Qt(t,i),usersToEmail:Xt(t,i,d(n,"copyMe"))}).then(Jt).then(Kt).then(Ht).then(Gt)},n.applyPropertiesToItems=function(e,t){return e.map(function(e){return e.properties||(e.properties={}),Object.assign(e.properties,t),e})},n.arrayToObject=function(e,r){return e.reduce(function(e,t){return e[d(t,r)]=t,e},{})},n.atob=Rt.atob,n.autoAddUsers=Wt,n.batch=k,n.btoa=Rt.btoa,n.buildDraft=function(e,t){return w(e,{},t)},n.buildExistingExportsPortalQuery=function(e,t){var r,n,o,i,a=(c=function(e){if(e)return{onlyTypes:e.onlyTypes,layerId:e.layerId,spatialRefId:e.spatialRefId};return{}}(t)).onlyTypes,s=c.layerId,u=c.spatialRefId,t=Object.keys(_t).map(function(e){return _t[e]}),c=new Set(g(t.filter(function(e){return!e.supportsProjection}).map(function(e){return e.itemTypes}))),t=a||g(t.map(function(e){return e.itemTypes})),s=(new ue).startGroup().match(Lt(e)).in("typekeywords").and().match(Mt(s)).in("typekeywords").endGroup().and().startGroup();function p(e,t){var r;t.startGroup().match(/\s/g.test(e)?e:'"'+e+'"').in("type").and().match(jt((r=e,t=Nt,t=(e=i)&&!o.has(r)?e:t))).in("typekeywords").endGroup()}return r=s,n=(c={types:t,spatialRefId:u,noProjectionItemTypes:c}).types,o=c.noProjectionItemTypes,i=c.spatialRefId,n.forEach(function(e,t){p(e,r),t<n.length-1&&r.or()}),s.endGroup(),s.toParam()},n.buildUrl=q,n.camelize=t,n.canEditEvent=function(e,t){var r=!1;return M(t)&&(e=d(e,"initiative.item.properties.collaborationGroupId"),t=t.groups,r=!!e&&!!f(void 0===t?[]:t,"id",e)),r},n.canEditItem=G,n.canEditSite=function(e,t){var r=!1;return r=!d(e,"properties.isDefaultHubHome")&&M(t)?G(e,t):r},n.canEditSiteContent=function(e,t){var r,n=!1,o=d(e,"properties.isDefaultHubHome"),i=M(t);return!o&&i?n=G(e,t):i&&(i=t.orgId,e=e.orgId,i&&i===e&&(r=t.privileges||[],n=B.every(function(e){return S(r,e)}))),n},n.capitalize=h,n.categories=st,n.chunkArray=function(e,t){for(var r=[],n=0;n<e.length;)r.push(e.slice(n,n+t)),n+=t;return r},n.cloneObject=l,n.completeOAuth2=function(t,e){var r=(e=(e=void 0===e?window:e).location.href.match(/access_token=(.+)&expires_in=.+&username=([^&]+)/))[1],n="https://www.arcgis.com/sharing/rest/community/users/"+decodeURIComponent(e[2]);return X(n,{params:{token:r},httpMethod:"GET"}).then(function(e){return Date.now()-e.created<5e3?X(n+"/update",{params:{token:r,tags:["hubRole:participant","org:"+e.orgId],access:"public"}}).then(function(){return Ve.completeOAuth2(t)}):Ve.completeOAuth2(t)})},n.compose=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.reduce(function(r,n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r(n.apply(void 0,e))}})},n.convertSolutionTemplateResourcesToAssets=function(e,t){var r,n,o=[];return e.resources&&e.bundleItemId&&(r=Ne(t.portalSelf)+"/content/items/"+e.bundleItemId,n=e.itemId,o=e.resources.map(function(e){return{name:e,type:"resource",url:r+"/resources/"+n+"-"+e}})),o},n.convertToWellKnownLocale=function(e){var t="en";return e=(e=void 0===e?"en":e).toLowerCase(),-1<Fr.indexOf(e)?t=e:1<(e=e.split("-")).length&&-1<Fr.indexOf(e[0])&&(t=e[0]),t},n.createExtent=ct,n.createId=r,n.createOperationPipeline=function(e){return function(r){return e.reduce(function(e,t){return e.then(t).catch(function(e){if("OperationError"===e.name)return Promise.reject(e);e="IPipeableFn did not reject with an OperationError \n Operation Stack: \n "+r.stack.toString(),e=new D("pipeline execution error",e);return e.operationStack=r.stack.serialize(),Promise.reject(e)})},Promise.resolve(r))}},n.datasetToContent=function(e){var t=xt(e),r=Pt(t);r.item=t,delete r.itemCategories,r.hubId=e.id;var n=(w=e.attributes).errors,o=w.boundary,i=w.extent,a=w.metadata,s=w.modified,u=w.modifiedProvenance,c=w.slug,p=w.searchDescription,l=w.groupIds,d=w.server,f=w.layers,m=w.layer,h=w.recordCount,g=w.statistics,v=w.orgId,y=w.orgName,b=w.organization,e=w.orgExtent,w=w.type;return r.type=w,r.normalizedType=yt(A(A({},r.item),{type:w})),r.family=It(w),r.errors=n,r.boundary=o,!ft(t.extent)&&i&&ft(i.coordinates)&&(r.extent=i.coordinates),r.metadata=a||null,r.modified!==s&&(r.modified=s,r.updatedDate=new Date(s),r.updatedDateSource=u),r.slug=c,p&&(r.summary=p),r.groupIds=l,r.server=d,r.layers=f,r.layer=m,r.recordCount=h,r.statistics=g,v&&(r.org={id:v,name:y||b,extent:e}),r},n.datasetToItem=xt,n.deepSet=v,n.deepStringReplace=b,n.deleteProp=Zt,n.doesItemExistWithTitle=Cr,n.domainExists=Or,n.domainExistsPortal=Rr,n.emailOrgUsers=Ft,n.ensureProp=function(e,t){return v(e,t)},n.ensureUniqueDomainName=function(e,t){return(t.isPortal?_r(e,t):Nr(e,t.portalSelf.urlKey+"."+_e(Be(t)),t)).then(function(e){return jr(e,t.portalSelf.urlKey)})},n.ensureUniqueString=function(e,t){for(var r=!1,n=0,o=t;!r;)S(e,o)?o=t+"-"+ ++n:r=!0;return o},n.extend=function n(e,o,i){void 0===i&&(i=!0);e=l(e);return Object.keys(o).reduce(function(e,t){var r;return null!==o[t]&&void 0!==o[t]&&(r=l(o[t]),Array.isArray(r)?e[t]=r:e[t]=i&&"object"==typeof r?n(e[t]||{},r,i):r),e},e)},n.extentToBBox=pt,n.failSafe=R,n.failSafeUpdate=function(e,t){return R(ne,{id:e.item.id,success:!0})(Object.assign({item:er(e)},t))},n.fetchAllPages=function(n,o,r,i){var a=o.num||100,e=o.start||1;return(-1===(r=void 0===r?-1:r)?n(A(A({},o),{num:a,start:e})):Promise.resolve({nextStart:e,total:r,results:[],num:a})).then(function(t){if(-1===t.nextStart)return[t];for(var e=[],r=t.nextStart;r<=t.total;r+=a)e.push(r);return k(e,function(e){return n(A(A({},o),{start:e,num:a}))},i).then(function(e){return P([t],e)})}).then(function(e){var t=e.reduce(function(e,t){return P(e,t.results)},[]),e=-1===r?t.length:r;return t.slice(0,e)})},n.fetchAndUploadResource=Tr,n.fetchAndUploadThumbnail=Ar,n.fetchHubTranslation=function(t,e,r){void 0===r&&(r="cors");var n=(Re(e)+"/locales/"+t+".json").toLocaleLowerCase();return fetch(n,{method:"GET",credentials:"same-origin",mode:r}).then(function(e){return e.json()}).catch(function(e){throw Error("Attempt to fetch locale "+t+" from "+n+" failed: "+JSON.stringify(e))})},n.fetchImageAsBlob=Sr,n.fetchSite=function(e,t){return _(e)?Lr(e,t):Ur(_e(e).split("/")[0],t).then(function(e){return Lr(e.siteId,t)})},n.filterBy=function(e,t,r){return e.filter(function(e){return d(e,t)===r})},n.findBy=f,n.flattenArray=g,n.generateRandomString=N,n.getCategory=vt,n.getCollection=bt,n.getContentIdentifier=function(t,e){if(S(["template","feedback"],t.family))return t.id;if(S(["Hub Page","Site Page"],t.type)){var r=(d(e,"data.values.pages")||[]).find(function(e){return e.id===t.id});return r?r.slug:t.id}if(t.slug){r=d(e,"domainInfo.orgKey");return d(e,"data.values.isUmbrella")?t.slug:Tt(t.slug,r)}return t.hubId||t.id},n.getCulture=function(e){return d(e,"portalSelf.user.culture")||d(e,"portalSelf.culture")||"en-us"},n.getDomainsForSite=function(e,t){return t.isPortal?Promise.resolve([]):(e=xr(t.hubApiUrl)+"?siteId="+e,t=Pr(t),fetch(e,{method:"GET",headers:t,mode:"cors"}).then(Er).catch(function(e){throw Error("Error in getDomainsForSite "+e)}))},n.getExportItemTypeKeyword=Lt,n.getExportLayerTypeKeyword=Mt,n.getFamily=It,n.getGeographicOrgExtent=dt,n.getHubApiUrl=Be,n.getHubApiUrlFromPortal=function(e){return je(e)+"/api/v3"},n.getHubLocaleAssetUrl=Re,n.getHubProduct=function(e){var t=d(e,"portalProperties.hub.enabled")||!1?"premium":"basic";return t=e.isPortal&&"singletenant"===e.portalMode?"portal":t},n.getHubUrlFromPortal=je,n.getItemApiUrl=Le,n.getItemAssets=function(e,t){var r=Ne(t.portalSelf)+"/content/items/"+e.id,n=Ir(e,t),o=[];return n&&o.push({name:e.thumbnail,url:n,type:"thumbnail"}),e=e.id,e=oe(e,t=t)+"/resources",(t=A({},t)).params=A({num:1e3},t.params),X(e,t).then(function(e){e=e.resources.map(function(e){return{name:e.resource,type:"resource",url:r+"/resources/"+e.resource}});return o.concat(e)})},n.getItemDataUrl=function(e,t,r){t=Le(e,t,r),r="\\/"+e.id+"\\?f=json",r=new RegExp(r);return t&&t.replace(r,"/"+e.id+"/data").replace(/\&token/,"?token")},n.getItemHomeUrl=function(e,t){return De(t)+"/home/item.html?id="+e},n.getItemHubId=function(e){if("public"===e.access){var t=e.id,e=kt(e);return e?t+"_"+e:t}},n.getItemHubType=Et,n.getItemLayerId=kt,n.getItemThumbnailUrl=Ir,n.getLayerIdFromUrl=Ct,n.getModel=tr,n.getModelFromOptions=function(e,t){var r=e+"Model",e=e+"Id";if(t[r])return Promise.resolve(t[r]);if(t[e])return R(tr,{item:{id:t[e]},isMissing:!0})(t[e],t);throw new Error("getModelFromOptions requires either a ."+r+" or ."+e+" property.")},n.getOrgExtentAsBBox=function(e){return dt(e).then(pt)},n.getPortalApiUrl=Ne,n.getPortalUrl=De,n.getProp=d,n.getProps=function(r,e){return e.reduce(function(e,t){t=d(r,t);return t&&e.push(t),e},[])},n.getServiceTypeFromUrl=Ge,n.getSiteById=Lr,n.getSpatialRefTypeKeyword=jt,n.getStructuredLicense=ht,n.getSubscriptionType=function(e){return y(e,"subscriptionInfo.type","Enterprise")},n.getTypeCategories=function(e){if(e=vt(yt(e=void 0===e?{}:e))){e=Array.from(e);return e[0]=e[0].toUpperCase(),[e.join("")]}return["Other"]},n.getTypes=function(e){return st[(e=void 0===e?"":e).toLowerCase()]},n.getUniqueDomainName=Nr,n.getUniqueDomainNamePortal=_r,n.getUniqueItemTitle=function t(r,n,o,i){var a=(i=void 0===i?0:i)?r+" "+i:r;return Cr(a,n,o).then(function(e){return e?t(r,n,o,++i):a}).catch(function(e){throw Error("Error in getUniqueItemTitle "+e)})},n.getWithDefault=y,n.hasBasePriv=M,n.hubApiRequest=Vr,n.hubApiSearch=function(e){var t=(t=e.authentication)&&t.serialize&&{authentication:t.serialize()};return Vr("/search",A(A({},{headers:t,httpMethod:"POST"}),e))},n.includes=S,n.incrementString=function(e){var t=e.match(/-\s(\d+$)/);return t?(t=parseInt(t[1],10),e=e.replace("- "+t,"- "+(t+1))):e+=" - 1",e},n.interpolate=br,n.interpolateItemId=function(e){return br(e,{item:{id:e.item.id},appid:e.item.id},{toISO:function(e,t){return t}})},n.inviteUsers=Vt,n.isDomainForLegacySite=function(e){return!_(e.siteId)},n.isDomainUsedElsewhere=function(e,t,r){return Ur(e,r).then(function(e){return e.siteId!==t}).catch(function(){return!1})},n.isDownloadable=ut,n.isExtentCoordinateArray=ft,n.isFeatureService=wt,n.isGuid=_,n.isMapOrFeatureServerUrl=function(e){return Me.test(e)},n.isNil=function(e){return null==e},n.isSlug=function(e){return!(!(e=St(e).itemId)||_(e))},n.isUpdateGroup=L,n.isValidDomain=function(t,e){if(e.isPortal)throw new Error("isValidDomain is not available in ArcGIS Enterprise.");var r=xr(e.hubApiUrl)+"/validate?hostname="+t,e=Pr(e);return fetch(r,{method:"GET",headers:e,mode:"cors"}).then(function(e){return e.json()}).catch(function(e){return{success:!1,input:t,error:{code:400,detail:e,message:"lookupFailed"}}})},n.isValidExtent=function(t){return!!t&&[ft,function(t){return["xmin","ymin","xmax","ymax"].every(function(e){return"number"==typeof t[e]})}].some(function(e){return e(t)})},n.itemPropsNotInTemplates=wr,n.itemToContent=Pt,n.last=function(e){return e[e.length-1]},n.lookupDomain=Ur,n.mapBy=function(t,e){return(e=void 0===e?[]:e).map(function(e){return e[t]})},n.maybeAdd=function(e,t,r){return null!=t&&((r=l(r))[e]=t),r},n.maybePush=m,n.mergeObjects=w,n.normalizeItemType=yt,n.normalizeSolutionTemplateItem=function(e){var t=l(e);return wr.forEach(function(e){delete t[e]}),t.extent="{{organization.defaultExtentBBox}}",t},n.objectToArray=function(r,n){return void 0===n&&(n="id"),Object.keys(r).reduce(function(e,t){return r[t][n]=t,e.push(l(r[t])),e},[])},n.objectToJsonBlob=function(e){if("undefined"!=typeof Blob)return new Blob([JSON.stringify(e)],{type:"application/json"});throw new Error("objectToJsonBlob is not currently supported on Node")},n.parseDatasetId=St,n.parseItemCategories=At,n.processRevertableTasks=function(e){return Promise.all(e).then(function(e){function t(e){return"fullfilled"===e.status}var r=e.filter(t),n=e.filter(function(e){return!t(e)});if(n.length){e=r.map(function(e){return e.revert()});throw Promise.all(e).catch(function(){}),n[0].error}return r.map(function(e){return e.results})})},n.propifyString=function(e){return t(e.replace(/^[0-9]*/g,"").replace(/[^\w\s]/g,""))},n.removeContextFromSlug=Tt,n.removeDomain=function(e,t){if(t.isPortal)throw new Error("removeDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Pr(t);return r["Content-Type"]="application/json",e=xr(t.hubApiUrl)+"/"+e,fetch(e,{method:"DELETE",headers:r,mode:"cors"}).then(Er)},n.removeEmptyProps=function t(r){return Object.keys(r).forEach(function(e){r[e]&&"object"==typeof r[e]?t(r[e]):null==r[e]&&delete r[e]}),r},n.replaceItemId=function(e,t,r){return void 0===r&&(r="{{appid}}"),b(l(e),new RegExp(t,"g"),r)},n.runRevertableTask=function(e,t){return e().then(function(e){return{status:"fullfilled",results:e,revert:t}}).catch(function(e){return{status:"rejected",error:e}})},n.serializeModel=er,n.serializeSpatialReference=Ut,n.setProp=C,n.shareItemToGroups=function(t,e,r){return Promise.all(e.map(function(e){return Ie(Object.assign({},{id:t,groupId:e},r))}))},n.slugify=function(e){return"string"==typeof e?e.trim().toLowerCase().replace(/ +/g,"-").replace(/[^\w-]/g,"").replace(/-+/g,"-"):e},n.stringToBlob=function(e,t){if(void 0===t&&(t="application/octet-stream"),"undefined"==typeof Blob)throw new Error("stringToBlob is not currently supported on Node");for(var r=[],n=0;n<e.length;n++)r[n]=e.charCodeAt(n);var o=new Uint8Array(r);return new Blob([o],{type:t})},n.stripProtocol=_e,n.unique=function(e,t,r){return r.indexOf(e)===t},n.uniqueBy=function(e,r){return e.reduce(function(e,t){return m(e.find(function(e){return d(e,r)===d(t,r)})?null:t,e)},[])},n.unprotectModel=function(e,t){return e.item.protected?ie(Object.assign({id:e.item.id},t)):Promise.resolve({success:!0})},n.unshareItemFromGroups=function(t,e,r){return Promise.all(e.map(function(e){return xe(Object.assign({},{id:t,groupId:e},r))}))},n.updateDomain=function(e,t){if(t.isPortal)throw new Error("updateDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Pr(t);r["Content-Type"]="application/json";var n=xr(t.hubApiUrl)+"/"+e.id;return"number"==typeof(t=e.siteTitle)&&(e.siteTitle=t.toString()),fetch(n,{method:"PUT",headers:r,mode:"cors",body:JSON.stringify(e)}).then(Er)},n.upgradeSiteSchema=Yr,n.uploadResourcesFromUrl=function(n,e,o){if(Array.isArray(e)){e=e.reduce(function(e,t){var r;return t.url&&(r={id:n.item.id,owner:n.item.owner,fileName:t.name,url:kr(t.url,o),authentication:o.authentication},"thumbnail"===t.type?e.push(Ar(r)):e.push(Tr(r))),e},[]);return Promise.all(e)}return Promise.resolve([])},n.without=function(e,t){return e.filter(function(e){return e!==t})},n.withoutByProp=function(t,r,e){return e.filter(function(e){return e[t]!==r})},Object.defineProperty(n,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=common.umd.min.js.map
|