@esri/hub-common 9.13.2 → 9.16.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.
Files changed (338) hide show
  1. package/dist/es2017/ArcGISContext.js +215 -158
  2. package/dist/es2017/ArcGISContext.js.map +1 -1
  3. package/dist/es2017/ArcGISContextManager.js +171 -0
  4. package/dist/es2017/ArcGISContextManager.js.map +1 -0
  5. package/dist/es2017/Hub.js +70 -0
  6. package/dist/es2017/Hub.js.map +1 -0
  7. package/dist/es2017/HubError.js +34 -0
  8. package/dist/es2017/HubError.js.map +1 -0
  9. package/dist/es2017/collections.js +23 -0
  10. package/dist/es2017/collections.js.map +1 -1
  11. package/dist/es2017/content/_internal.js +12 -0
  12. package/dist/es2017/content/_internal.js.map +1 -1
  13. package/dist/es2017/content/index.js +42 -18
  14. package/dist/es2017/content/index.js.map +1 -1
  15. package/dist/es2017/core/helpers/PropertyMapper.js +95 -0
  16. package/dist/es2017/core/helpers/PropertyMapper.js.map +1 -0
  17. package/dist/es2017/core/index.js +3 -0
  18. package/dist/es2017/core/index.js.map +1 -0
  19. package/dist/es2017/core/traits/WithBannerImage.js +1 -0
  20. package/dist/es2017/core/traits/WithBannerImage.js.map +1 -0
  21. package/dist/es2017/core/traits/WithLayout.js +1 -0
  22. package/dist/es2017/core/traits/WithLayout.js.map +1 -0
  23. package/dist/es2017/core/traits/WithSlug.js +1 -0
  24. package/dist/es2017/core/traits/WithSlug.js.map +1 -0
  25. package/dist/es2017/core/traits/index.js +4 -0
  26. package/dist/es2017/core/traits/index.js.map +1 -0
  27. package/dist/es2017/core/types/IContentEnrichments.js +1 -0
  28. package/dist/es2017/core/types/IContentEnrichments.js.map +1 -0
  29. package/dist/es2017/core/types/IHubContent.js +1 -0
  30. package/dist/es2017/core/types/IHubContent.js.map +1 -0
  31. package/dist/es2017/core/types/IHubEntityBase.js +1 -0
  32. package/dist/es2017/core/types/IHubEntityBase.js.map +1 -0
  33. package/dist/es2017/core/types/IHubEntityManager.js +1 -0
  34. package/dist/es2017/core/types/IHubEntityManager.js.map +1 -0
  35. package/dist/es2017/core/types/IHubEvent.js +1 -0
  36. package/dist/es2017/core/types/IHubEvent.js.map +1 -0
  37. package/dist/es2017/core/types/IHubImage.js +1 -0
  38. package/dist/es2017/core/types/IHubImage.js.map +1 -0
  39. package/dist/es2017/core/types/IHubInitiative.js +1 -0
  40. package/dist/es2017/core/types/IHubInitiative.js.map +1 -0
  41. package/dist/es2017/core/types/IHubItemEntity.js +1 -0
  42. package/dist/es2017/core/types/IHubItemEntity.js.map +1 -0
  43. package/dist/es2017/core/types/IHubLayout.js +1 -0
  44. package/dist/es2017/core/types/IHubLayout.js.map +1 -0
  45. package/dist/es2017/core/types/IHubPage.js +1 -0
  46. package/dist/es2017/core/types/IHubPage.js.map +1 -0
  47. package/dist/es2017/core/types/IHubProject.js +1 -0
  48. package/dist/es2017/core/types/IHubProject.js.map +1 -0
  49. package/dist/es2017/core/types/IHubSite.js +1 -0
  50. package/dist/es2017/core/types/IHubSite.js.map +1 -0
  51. package/dist/es2017/core/types/IHubTimeline.js +1 -0
  52. package/dist/es2017/core/types/IHubTimeline.js.map +1 -0
  53. package/dist/es2017/core/types/IItemEnrichments.js +1 -0
  54. package/dist/es2017/core/types/IItemEnrichments.js.map +1 -0
  55. package/dist/es2017/core/types/index.js +15 -0
  56. package/dist/es2017/core/types/index.js.map +1 -0
  57. package/dist/es2017/index.js +11 -5
  58. package/dist/es2017/index.js.map +1 -1
  59. package/dist/es2017/items/fail-safe-update.js +2 -2
  60. package/dist/es2017/items/fail-safe-update.js.map +1 -1
  61. package/dist/es2017/items/get-model-from-options.js +2 -2
  62. package/dist/es2017/items/get-model-from-options.js.map +1 -1
  63. package/dist/es2017/items/index.js +2 -3
  64. package/dist/es2017/items/index.js.map +1 -1
  65. package/dist/es2017/items/slugs.js +92 -0
  66. package/dist/es2017/items/slugs.js.map +1 -0
  67. package/dist/es2017/models/index.js +98 -0
  68. package/dist/es2017/models/index.js.map +1 -0
  69. package/dist/es2017/{items/serialize-model.js → models/serializeModel.js} +1 -1
  70. package/dist/es2017/models/serializeModel.js.map +1 -0
  71. package/dist/es2017/projects/HubProjectManager.js +115 -0
  72. package/dist/es2017/projects/HubProjectManager.js.map +1 -0
  73. package/dist/es2017/projects/HubProjects.js +194 -0
  74. package/dist/es2017/projects/HubProjects.js.map +1 -0
  75. package/dist/es2017/projects/index.js +3 -0
  76. package/dist/es2017/projects/index.js.map +1 -0
  77. package/dist/es2017/search/_searchContent.js +18 -7
  78. package/dist/es2017/search/_searchContent.js.map +1 -1
  79. package/dist/es2017/search/_searchGroups.js +1 -11
  80. package/dist/es2017/search/_searchGroups.js.map +1 -1
  81. package/dist/es2017/search/utils.js +1 -1
  82. package/dist/es2017/urls/getHubApiFromPortalUrl.js +21 -0
  83. package/dist/es2017/urls/getHubApiFromPortalUrl.js.map +1 -0
  84. package/dist/es2017/urls/getPortalBaseFromOrgUrl.js +25 -0
  85. package/dist/es2017/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  86. package/dist/es2017/urls/index.js +2 -0
  87. package/dist/es2017/urls/index.js.map +1 -1
  88. package/dist/es2017/utils/dasherize.js +25 -0
  89. package/dist/es2017/utils/dasherize.js.map +1 -0
  90. package/dist/es2017/utils/index.js +1 -0
  91. package/dist/es2017/utils/index.js.map +1 -1
  92. package/dist/esm/ArcGISContext.js +299 -200
  93. package/dist/esm/ArcGISContext.js.map +1 -1
  94. package/dist/esm/ArcGISContextManager.js +215 -0
  95. package/dist/esm/ArcGISContextManager.js.map +1 -0
  96. package/dist/esm/Hub.js +89 -0
  97. package/dist/esm/Hub.js.map +1 -0
  98. package/dist/esm/HubError.js +40 -0
  99. package/dist/esm/HubError.js.map +1 -0
  100. package/dist/esm/collections.js +23 -0
  101. package/dist/esm/collections.js.map +1 -1
  102. package/dist/esm/content/_internal.js +14 -0
  103. package/dist/esm/content/_internal.js.map +1 -1
  104. package/dist/esm/content/index.js +42 -18
  105. package/dist/esm/content/index.js.map +1 -1
  106. package/dist/esm/core/helpers/PropertyMapper.js +97 -0
  107. package/dist/esm/core/helpers/PropertyMapper.js.map +1 -0
  108. package/dist/esm/core/index.js +3 -0
  109. package/dist/esm/core/index.js.map +1 -0
  110. package/dist/esm/core/traits/WithBannerImage.js +1 -0
  111. package/dist/esm/core/traits/WithBannerImage.js.map +1 -0
  112. package/dist/esm/core/traits/WithLayout.js +1 -0
  113. package/dist/esm/core/traits/WithLayout.js.map +1 -0
  114. package/dist/esm/core/traits/WithSlug.js +1 -0
  115. package/dist/esm/core/traits/WithSlug.js.map +1 -0
  116. package/dist/esm/core/traits/index.js +4 -0
  117. package/dist/esm/core/traits/index.js.map +1 -0
  118. package/dist/esm/core/types/IContentEnrichments.js +1 -0
  119. package/dist/esm/core/types/IContentEnrichments.js.map +1 -0
  120. package/dist/esm/core/types/IHubContent.js +1 -0
  121. package/dist/esm/core/types/IHubContent.js.map +1 -0
  122. package/dist/esm/core/types/IHubEntityBase.js +1 -0
  123. package/dist/esm/core/types/IHubEntityBase.js.map +1 -0
  124. package/dist/esm/core/types/IHubEntityManager.js +1 -0
  125. package/dist/esm/core/types/IHubEntityManager.js.map +1 -0
  126. package/dist/esm/core/types/IHubEvent.js +1 -0
  127. package/dist/esm/core/types/IHubEvent.js.map +1 -0
  128. package/dist/esm/core/types/IHubImage.js +1 -0
  129. package/dist/esm/core/types/IHubImage.js.map +1 -0
  130. package/dist/esm/core/types/IHubInitiative.js +1 -0
  131. package/dist/esm/core/types/IHubInitiative.js.map +1 -0
  132. package/dist/esm/core/types/IHubItemEntity.js +1 -0
  133. package/dist/esm/core/types/IHubItemEntity.js.map +1 -0
  134. package/dist/esm/core/types/IHubLayout.js +1 -0
  135. package/dist/esm/core/types/IHubLayout.js.map +1 -0
  136. package/dist/esm/core/types/IHubPage.js +1 -0
  137. package/dist/esm/core/types/IHubPage.js.map +1 -0
  138. package/dist/esm/core/types/IHubProject.js +1 -0
  139. package/dist/esm/core/types/IHubProject.js.map +1 -0
  140. package/dist/esm/core/types/IHubSite.js +1 -0
  141. package/dist/esm/core/types/IHubSite.js.map +1 -0
  142. package/dist/esm/core/types/IHubTimeline.js +1 -0
  143. package/dist/esm/core/types/IHubTimeline.js.map +1 -0
  144. package/dist/esm/core/types/IItemEnrichments.js +1 -0
  145. package/dist/esm/core/types/IItemEnrichments.js.map +1 -0
  146. package/dist/esm/core/types/index.js +15 -0
  147. package/dist/esm/core/types/index.js.map +1 -0
  148. package/dist/esm/index.js +11 -5
  149. package/dist/esm/index.js.map +1 -1
  150. package/dist/esm/items/fail-safe-update.js +2 -2
  151. package/dist/esm/items/fail-safe-update.js.map +1 -1
  152. package/dist/esm/items/get-model-from-options.js +2 -2
  153. package/dist/esm/items/get-model-from-options.js.map +1 -1
  154. package/dist/esm/items/index.js +2 -3
  155. package/dist/esm/items/index.js.map +1 -1
  156. package/dist/esm/items/slugs.js +93 -0
  157. package/dist/esm/items/slugs.js.map +1 -0
  158. package/dist/esm/models/index.js +99 -0
  159. package/dist/esm/models/index.js.map +1 -0
  160. package/dist/esm/{items/serialize-model.js → models/serializeModel.js} +1 -1
  161. package/dist/esm/models/serializeModel.js.map +1 -0
  162. package/dist/esm/projects/HubProjectManager.js +142 -0
  163. package/dist/esm/projects/HubProjectManager.js.map +1 -0
  164. package/dist/esm/projects/HubProjects.js +225 -0
  165. package/dist/esm/projects/HubProjects.js.map +1 -0
  166. package/dist/esm/projects/index.js +3 -0
  167. package/dist/esm/projects/index.js.map +1 -0
  168. package/dist/esm/search/_searchContent.js +18 -7
  169. package/dist/esm/search/_searchContent.js.map +1 -1
  170. package/dist/esm/search/_searchGroups.js +3 -13
  171. package/dist/esm/search/_searchGroups.js.map +1 -1
  172. package/dist/esm/search/utils.js +1 -1
  173. package/dist/esm/urls/getHubApiFromPortalUrl.js +21 -0
  174. package/dist/esm/urls/getHubApiFromPortalUrl.js.map +1 -0
  175. package/dist/esm/urls/getPortalBaseFromOrgUrl.js +25 -0
  176. package/dist/esm/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  177. package/dist/esm/urls/index.js +2 -0
  178. package/dist/esm/urls/index.js.map +1 -1
  179. package/dist/esm/utils/dasherize.js +25 -0
  180. package/dist/esm/utils/dasherize.js.map +1 -0
  181. package/dist/esm/utils/index.js +1 -0
  182. package/dist/esm/utils/index.js.map +1 -1
  183. package/dist/node/ArcGISContext.js +215 -158
  184. package/dist/node/ArcGISContext.js.map +1 -1
  185. package/dist/node/ArcGISContextManager.js +175 -0
  186. package/dist/node/ArcGISContextManager.js.map +1 -0
  187. package/dist/node/Hub.js +74 -0
  188. package/dist/node/Hub.js.map +1 -0
  189. package/dist/node/HubError.js +37 -0
  190. package/dist/node/HubError.js.map +1 -0
  191. package/dist/node/collections.js +24 -1
  192. package/dist/node/collections.js.map +1 -1
  193. package/dist/node/content/_internal.js +13 -1
  194. package/dist/node/content/_internal.js.map +1 -1
  195. package/dist/node/content/index.js +42 -18
  196. package/dist/node/content/index.js.map +1 -1
  197. package/dist/node/core/helpers/PropertyMapper.js +101 -0
  198. package/dist/node/core/helpers/PropertyMapper.js.map +1 -0
  199. package/dist/node/core/index.js +6 -0
  200. package/dist/node/core/index.js.map +1 -0
  201. package/dist/node/core/traits/WithBannerImage.js +3 -0
  202. package/dist/node/core/traits/WithBannerImage.js.map +1 -0
  203. package/dist/node/core/traits/WithLayout.js +3 -0
  204. package/dist/node/core/traits/WithLayout.js.map +1 -0
  205. package/dist/node/core/traits/WithSlug.js +3 -0
  206. package/dist/node/core/traits/WithSlug.js.map +1 -0
  207. package/dist/node/core/traits/index.js +7 -0
  208. package/dist/node/core/traits/index.js.map +1 -0
  209. package/dist/node/core/types/IContentEnrichments.js +3 -0
  210. package/dist/node/core/types/IContentEnrichments.js.map +1 -0
  211. package/dist/node/core/types/IHubContent.js +3 -0
  212. package/dist/node/core/types/IHubContent.js.map +1 -0
  213. package/dist/node/core/types/IHubEntityBase.js +3 -0
  214. package/dist/node/core/types/IHubEntityBase.js.map +1 -0
  215. package/dist/node/core/types/IHubEntityManager.js +3 -0
  216. package/dist/node/core/types/IHubEntityManager.js.map +1 -0
  217. package/dist/node/core/types/IHubEvent.js +3 -0
  218. package/dist/node/core/types/IHubEvent.js.map +1 -0
  219. package/dist/node/core/types/IHubImage.js +3 -0
  220. package/dist/node/core/types/IHubImage.js.map +1 -0
  221. package/dist/node/core/types/IHubInitiative.js +3 -0
  222. package/dist/node/core/types/IHubInitiative.js.map +1 -0
  223. package/dist/node/core/types/IHubItemEntity.js +3 -0
  224. package/dist/node/core/types/IHubItemEntity.js.map +1 -0
  225. package/dist/node/core/types/IHubLayout.js +3 -0
  226. package/dist/node/core/types/IHubLayout.js.map +1 -0
  227. package/dist/node/core/types/IHubPage.js +3 -0
  228. package/dist/node/core/types/IHubPage.js.map +1 -0
  229. package/dist/node/core/types/IHubProject.js +3 -0
  230. package/dist/node/core/types/IHubProject.js.map +1 -0
  231. package/dist/node/core/types/IHubSite.js +3 -0
  232. package/dist/node/core/types/IHubSite.js.map +1 -0
  233. package/dist/node/core/types/IHubTimeline.js +3 -0
  234. package/dist/node/core/types/IHubTimeline.js.map +1 -0
  235. package/dist/node/core/types/IItemEnrichments.js +3 -0
  236. package/dist/node/core/types/IItemEnrichments.js.map +1 -0
  237. package/dist/node/core/types/index.js +18 -0
  238. package/dist/node/core/types/index.js.map +1 -0
  239. package/dist/node/index.js +12 -5
  240. package/dist/node/index.js.map +1 -1
  241. package/dist/node/items/fail-safe-update.js +3 -3
  242. package/dist/node/items/fail-safe-update.js.map +1 -1
  243. package/dist/node/items/get-model-from-options.js +3 -3
  244. package/dist/node/items/get-model-from-options.js.map +1 -1
  245. package/dist/node/items/index.js +2 -3
  246. package/dist/node/items/index.js.map +1 -1
  247. package/dist/node/items/slugs.js +99 -0
  248. package/dist/node/items/slugs.js.map +1 -0
  249. package/dist/node/models/index.js +106 -0
  250. package/dist/node/models/index.js.map +1 -0
  251. package/dist/node/{items/serialize-model.js → models/serializeModel.js} +1 -1
  252. package/dist/node/models/serializeModel.js.map +1 -0
  253. package/dist/node/projects/HubProjectManager.js +119 -0
  254. package/dist/node/projects/HubProjectManager.js.map +1 -0
  255. package/dist/node/projects/HubProjects.js +201 -0
  256. package/dist/node/projects/HubProjects.js.map +1 -0
  257. package/dist/node/projects/index.js +6 -0
  258. package/dist/node/projects/index.js.map +1 -0
  259. package/dist/node/search/_searchContent.js +17 -6
  260. package/dist/node/search/_searchContent.js.map +1 -1
  261. package/dist/node/search/_searchGroups.js +1 -11
  262. package/dist/node/search/_searchGroups.js.map +1 -1
  263. package/dist/node/search/utils.js +1 -1
  264. package/dist/node/urls/getHubApiFromPortalUrl.js +25 -0
  265. package/dist/node/urls/getHubApiFromPortalUrl.js.map +1 -0
  266. package/dist/node/urls/getPortalBaseFromOrgUrl.js +29 -0
  267. package/dist/node/urls/getPortalBaseFromOrgUrl.js.map +1 -0
  268. package/dist/node/urls/index.js +2 -0
  269. package/dist/node/urls/index.js.map +1 -1
  270. package/dist/node/utils/dasherize.js +29 -0
  271. package/dist/node/utils/dasherize.js.map +1 -0
  272. package/dist/node/utils/index.js +1 -0
  273. package/dist/node/utils/index.js.map +1 -1
  274. package/dist/types/ArcGISContext.d.ts +276 -66
  275. package/dist/types/ArcGISContextManager.d.ts +130 -0
  276. package/dist/types/Hub.d.ts +72 -0
  277. package/dist/types/HubError.d.ts +17 -0
  278. package/dist/types/collections.d.ts +12 -0
  279. package/dist/types/content/_internal.d.ts +66 -38
  280. package/dist/types/content/index.d.ts +17 -8
  281. package/dist/types/core/helpers/PropertyMapper.d.ts +69 -0
  282. package/dist/types/core/index.d.ts +2 -0
  283. package/dist/types/core/traits/WithBannerImage.d.ts +30 -0
  284. package/dist/types/core/traits/WithLayout.d.ts +54 -0
  285. package/dist/types/core/traits/WithSlug.d.ts +15 -0
  286. package/dist/types/core/traits/index.d.ts +3 -0
  287. package/dist/types/core/types/IContentEnrichments.d.ts +10 -0
  288. package/dist/types/core/types/IHubContent.d.ts +77 -0
  289. package/dist/types/core/types/IHubEntityBase.d.ts +41 -0
  290. package/dist/types/core/types/IHubEntityManager.d.ts +33 -0
  291. package/dist/types/core/types/IHubEvent.d.ts +10 -0
  292. package/dist/types/core/types/IHubImage.d.ts +25 -0
  293. package/dist/types/core/types/IHubInitiative.d.ts +8 -0
  294. package/dist/types/core/types/IHubItemEntity.d.ts +42 -0
  295. package/dist/types/core/types/IHubLayout.d.ts +20 -0
  296. package/dist/types/core/types/IHubPage.d.ts +8 -0
  297. package/dist/types/core/types/IHubProject.d.ts +15 -0
  298. package/dist/types/core/types/IHubSite.d.ts +11 -0
  299. package/dist/types/core/types/IHubTimeline.d.ts +41 -0
  300. package/dist/types/core/types/IItemEnrichments.d.ts +23 -0
  301. package/dist/types/core/types/index.d.ts +14 -0
  302. package/dist/types/index.d.ts +11 -5
  303. package/dist/types/items/index.d.ts +2 -3
  304. package/dist/types/items/slugs.d.ts +43 -0
  305. package/dist/types/models/index.d.ts +42 -0
  306. package/dist/types/{items/serialize-model.d.ts → models/serializeModel.d.ts} +0 -0
  307. package/dist/types/projects/HubProjectManager.d.ts +81 -0
  308. package/dist/types/projects/HubProjects.d.ts +31 -0
  309. package/dist/types/projects/index.d.ts +2 -0
  310. package/dist/types/search/utils.d.ts +1 -1
  311. package/dist/types/types.d.ts +2 -92
  312. package/dist/types/urls/getHubApiFromPortalUrl.d.ts +8 -0
  313. package/dist/types/urls/getPortalBaseFromOrgUrl.d.ts +9 -0
  314. package/dist/types/urls/index.d.ts +2 -0
  315. package/dist/types/utils/dasherize.d.ts +17 -0
  316. package/dist/types/utils/index.d.ts +1 -0
  317. package/dist/umd/common.umd.js +2119 -1152
  318. package/dist/umd/common.umd.js.map +1 -1
  319. package/dist/umd/common.umd.min.js +1 -1
  320. package/dist/umd/common.umd.min.js.map +1 -1
  321. package/package.json +1 -1
  322. package/dist/es2017/ArcGISContextState.js +0 -203
  323. package/dist/es2017/ArcGISContextState.js.map +0 -1
  324. package/dist/es2017/items/get-model.js +0 -19
  325. package/dist/es2017/items/get-model.js.map +0 -1
  326. package/dist/es2017/items/serialize-model.js.map +0 -1
  327. package/dist/esm/ArcGISContextState.js +0 -285
  328. package/dist/esm/ArcGISContextState.js.map +0 -1
  329. package/dist/esm/items/get-model.js +0 -19
  330. package/dist/esm/items/get-model.js.map +0 -1
  331. package/dist/esm/items/serialize-model.js.map +0 -1
  332. package/dist/node/ArcGISContextState.js +0 -207
  333. package/dist/node/ArcGISContextState.js.map +0 -1
  334. package/dist/node/items/get-model.js +0 -23
  335. package/dist/node/items/get-model.js.map +0 -1
  336. package/dist/node/items/serialize-model.js.map +0 -1
  337. package/dist/types/ArcGISContextState.d.ts +0 -129
  338. package/dist/types/items/get-model.d.ts +0 -8
@@ -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)||l(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 l(e){return e instanceof RegExp}function f(e,t){return t.split(".").reduce(function(e,t){return e?e[t]:void 0},e)}function p(e){var t,r={};if(Array.isArray(e))r=e.map(p);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]=p(t):r[n]=t);else r=e;return r}function d(e,r,n){return e?e.reduce(function(e,t){return e=f(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=p(t)).push(e),t}function m(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 g(e,t,r){return r.indexOf(e)===t}function t(e){return(e=Array.from(e))[0]=e[0].toUpperCase(),e.join("")}function y(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],p(r))):n[e]=t===o?r:{},n=n[e]})}function b(e,t,r){t=f(e,t);return void 0!==t?t:r}function w(e,r,n){return i(e,function(e){if(!a(e))return e;var t=l(r)?r:new RegExp(r,"g");return e.replace(t,n)})}function S(t,r,e){return Array.isArray(e)&&e.length?(e.forEach(function(e){void 0!==f(t,e)&&v(r,e,f(t,e))}),r):t}function k(e,t,r){v(r,e=Array.isArray(e)?e.join("."):e,t)}function C(r,n){return Array.isArray(r)?r.reduce(function(e,t){return n(t)?e=t:!A(t)||(t=C(t,n))&&(e=t),e},void 0):A(r)?n(r)?r:Object.keys(r).reduce(function(e,t){return!A(r[t])||(t=C(r[t],n))&&(e=t),e},void 0):void 0}function A(e){var t=!1;return t=e&&c(e)&&!s(e)&&!l(e)&&!u(e)?!0:t}function T(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 I(e,t){return-1!==e.indexOf(t)}var P=function(e,t){return(P=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}P(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var x=function(){return(x=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 O(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 D(){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 _,U=(e(N,_=Error),N);function N(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=b(r,"rootCause",r),(n=_.call(this,t)||this).operation=e,n.name="OperationError",n.rootCause=r,Object.setPrototypeOf(n,N.prototype),n.stack=b(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 j(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 M(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,(lt=n.Level||(n.Level={}))[lt.all=0]="all",lt[lt.debug=1]="debug",lt[lt.info=2]="info",lt[lt.warn=3]="warn",lt[lt.error=4]="error",lt[lt.off=5]="off";var L=(F.setLogLevel=function(e){this.logLevel=e},F.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,D([e],t))},F.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,D([e],t))},F.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,D([e],t))},F.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,D([e],t))},F.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,D([e],t))},F.isLevelPermitted=function(e){return this.logLevel<=e},F.logLevel=n.Level.off,F);function F(){}function G(e){return e.capabilities.includes("updateitemcontrol")}function q(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 B(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 Y(e){var t=B(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 H(e){console&&console.warn&&console.warn.apply(console,[e])}W.prototype=Object.create(Error.prototype),W.prototype.constructor=W;var z,V="@esri/arcgis-rest-js",K={httpMethod:"POST",params:{f:"json"}},J=(e($,z=W),$.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=x(x({},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)})},$);function $(e,t,r,n,o){o=z.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=x(x(x({httpMethod:"POST"},K),e),{params:x(x({},K.params),e.params),headers:x(x({},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=x({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=""===Y(s)?n:n+"?"+Y(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=q(e)||t,r=B(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 Y(e)}(s,r)),u.headers=x(x({},t),o.headers),"undefined"!=typeof window||u.headers.referer||(u.headers.referer=V),q(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 J(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 Q(e){return"string"==typeof e&&"/"===(e=e.trim())[e.length-1]?e.slice(0,-1):e}function Z(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 ee(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 te(e,t){return"undefined"!=typeof window&&window.location&&window.location.host?t.params.referer=window.location.host:t.params.referer=V,X(e,t)}var re=/^https?:\/\/(\S+)\.arcgis\.com.+/;function ne(e){return re.test(e)}function oe(e){if(!re.test(e))return null;e=e.match(re)[1].split(".").pop();return e.includes("dev")?"dev":e.includes("qa")?"qa":"production"}function ie(e,t){t=Q(function(e){if(!re.test(e))return e;switch(oe(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=Q(e).replace(/https?:\/\//,"");return new RegExp(e,"i").test(t)}var ae=(Object.defineProperty(se.prototype,"token",{get:function(){return this._token},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"tokenExpires",{get:function(){return this._tokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"refreshTokenExpires",{get:function(){return this._refreshTokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"trustedServers",{get:function(){return console.log("DEPRECATED: use federatedServers instead"),this.federatedServers},enumerable:!1,configurable:!0}),se.beginOAuth2=function(e,t){void 0===t&&(t=window),e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=x({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,l=r.state,p=r.locale,r=r.params,p="arcgis"===o?n+"/oauth2/authorize?client_id="+i+"&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+l+"&locale="+p:n+"/oauth2/social/authorize?client_id="+i+"&socialLoginProviderName="+o+"&autoAccountCreateForSocial=true&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+l+"&locale="+p;if(r&&(p=p+"&"+Y(r)),u){var f,d=((f={promise:null,resolve:null,reject:null}).promise=new Promise(function(e,t){f.resolve=e,f.reject=t}),f);return t["__ESRI_REST_AUTH_HANDLER_"+i]=function(e,t){e?(e=JSON.parse(e),d.reject(new J(e.errorMessage,e.error))):t&&(t=JSON.parse(t),d.resolve(new se({clientId:i,portal:n,ssl:t.ssl,token:t.token,tokenExpires:new Date(t.expires),username:t.username})))},t.open(p,"oauth-window",c),d.promise}t.location.href=p},se.completeOAuth2=function(e,o){void 0===o&&(o=window);var t=x({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 J('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 J(e.errorMessage,e.error);return new se({clientId:a,portal:i,ssl:t.ssl,token:t.token,tokenExpires:t.expires,username:t.username})}e=Z(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})},se.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(se.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})},se.authorize=function(e,t){e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=x({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()},se.exchangeAuthorizationCode=function(e,t){var e=x({portal:"https://www.arcgis.com/sharing/rest",refreshTokenTTL:20160},e),r=e.portal,n=e.clientId,o=e.redirectUri,i=e.refreshTokenTTL;return ee(r+"/oauth2/token",{params:{grant_type:"authorization_code",client_id:n,redirect_uri:o,code:t}}).then(function(e){return new se({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})})},se.deserialize=function(e){e=JSON.parse(e);return new se({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})},se.fromCredential=function(e){var t=void 0===e.ssl||e.ssl,r=e.expires||Date.now()+72e5;return new se({portal:e.server.includes("sharing/rest")?e.server:e.server+"/sharing/rest",ssl:t,token:e.token,username:e.userId,tokenExpires:new Date(r)})},se.parentMessageHandler=function(e){if("arcgis:auth:credential"===e.data.type)return se.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},se.prototype.toCredential=function(){return{expires:this.tokenExpires.getTime(),server:this.portal,ssl:this.ssl,token:this.token,userId:this.username}},se.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=x(x({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},se.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=x(x({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},se.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})},se.prototype.getToken=function(e,t){return r=this.portal,n=e,o=ne(r),i=ne(n),r=oe(r),n=oe(n),o&&i&&r===n||new RegExp(this.portal,"i").test(e)?this.getFreshToken(t):this.getTokenForServer(e,t);var r,n,o,i},se.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})},se.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}},se.prototype.serialize=function(){return JSON.stringify(this)},se.prototype.enablePostMessageAuth=function(e,t){!t&&window&&(t=window),this._hostHandler=this.createPostMessageHandler(e),t.addEventListener("message",this._hostHandler,!1)},se.prototype.disablePostMessageAuth=function(e){(e=!e&&window?window:e).removeEventListener("message",this._hostHandler,!1)},se.prototype.refreshSession=function(e){return this._user=null,this.username&&this.password?this.refreshWithUsernameAndPassword(e):this.clientId&&this.refreshToken?this.refreshWithRefreshToken():Promise.reject(new J("Unable to refresh token."))},se.prototype.getServerRootUrl=function(e){var t=Q(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("/")},se.prototype.getDomainCredentials=function(t){return this.trustedDomains&&this.trustedDomains.length&&this.trustedDomains.some(function(e){return t.startsWith(e)})?"include":"same-origin"},se.prototype.createPostMessageHandler=function(o){var i=this;return function(e){var t=-1<o.indexOf(e.origin),r="arcgis:auth:requestCredential"===e.data.type,n=i.tokenExpires.getTime()>Date.now();t&&r&&(r={},r=n?((n=i.toCredential()).server=n.server.replace("/sharing/rest",""),{type:"arcgis:auth:credential",credential:n}):{type:"arcgis:auth:error",error:{name:"tokenExpiredError",message:"Session token was expired, and not returned to the child application"}},e.source.postMessage(r,e.origin))}},se.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(ie(e.owningSystemUrl,n.portal))return X(e.owningSystemUrl+"/sharing/rest/info",r);throw new J(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 J(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()?te(e,{params:{token:n.token,serverUrl:t,expiration:n.tokenDuration,client:"referer"}}):te(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])},se.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])},se.prototype.refreshWithUsernameAndPassword=function(e){var t=this,e=x({params:{username:this.username,password:this.password,expiration:this.tokenDuration}},e);return te(this.portal+"/generateToken",e).then(function(e){return t._token=e.token,t._tokenExpires=new Date(e.expires),t})},se.prototype.refreshWithRefreshToken=function(e){var t=this;if(this.refreshToken&&this.refreshTokenExpires&&this.refreshTokenExpires.getTime()<Date.now())return this.refreshRefreshToken(e);e=x({params:{client_id:this.clientId,refresh_token:this.refreshToken,grant_type:"refresh_token"}},e);return ee(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t})},se.prototype.refreshRefreshToken=function(e){var t=this,e=x({params:{client_id:this.clientId,refresh_token:this.refreshToken,redirect_uri:this.redirectUri,grant_type:"exchange_refresh_token"}},e);return ee(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})},se.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})},se);function se(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?Q(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={}}function ue(e){e=e.privileges;return I(void 0===e?[]:e,"portal:user:createItem")}function ce(e,t){var r,n=!1,o=e.itemControl,i=e.owner,a=e.orgId,s=t.roleId,u=t.role,c=t.username,l=t.groups,p=t.orgId,u=I(["admin","update"],o)||!!i&&i===c||!!(!!a&&a===p)&&!s&&"org_admin"===u,t=ue(t);return t&&u?n=!0:t&&(r=D(f(e,"groupIds")||[],[f(e,"properties.collaborationGroupId")]),n=l.some(function(e){return G(e)&&I(r,e.id)})),n}var le=["portal:user:createGroup","portal:user:createItem","portal:user:shareToGroup","portal:user:viewOrgGroups","portal:user:viewOrgItems"];function pe(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 fe(e){return(e=void 0===e?{}:e).portal?Q(e.portal):e.authentication?e.authentication.portal:"https://www.arcgis.com/sharing/rest"}function de(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 he(n){return de(n).then(function(e){var t,r=n.folderId?fe(n)+"/content/users/"+e+"/"+n.folderId+"/items/"+n.item.id+"/update":fe(n)+"/content/users/"+e+"/items/"+n.item.id+"/update";return n.params=x(x({},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)})}function me(e,t){return X(ge(e,t),x({httpMethod:"GET"},t))}var ge=function(e,t){return("string"==typeof t?t:fe(t))+"/content/items/"+e};function ye(e){var t=ge(e.id,e)+"/relatedItems",r=x({httpMethod:"GET",params:{direction:e.direction}},e);return"string"==typeof e.relationshipType?r.params.relationshipType=e.relationshipType:r.params.relationshipTypes=e.relationshipType,delete r.direction,delete r.relationshipType,X(t,r)}function ve(t){return de(t).then(function(e){return X(fe(t)+"/content/users/"+e+"/items/"+t.id+"/unprotect",t)})}function be(e){return t=e.groupId,X(fe(e=e)+"/community/groups/"+t,x({httpMethod:"GET"},e)).then(function(e){return e.userMembership.memberType}).catch(function(){return"none"});var t}function we(t){return de(t).then(function(e){return X(fe(t)+"/content/users/"+e+"/items/"+t.id+"/delete",t)})}var Se=(ke.prototype.match=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.termStack=this.termStack.concat(e),this},ke.prototype.in=function(e){return this.hasRange||this.hasTerms?(e&&"*"!==e&&(this.q+=e+":"),this.commit()):(H("`in("+(e?'"'+e+'"':"")+")`"+" was called with no call to `match(...)` or `from(...)`/`to(...)`. Your query was not modified."),this)},ke.prototype.startGroup=function(){return this.commit(),0<this.openGroups&&(this.q+=" "),this.openGroups++,this.q+="(",this},ke.prototype.endGroup=function(){return this.openGroups<=0?H("`endGroup(...)` was called without calling `startGroup(...)` first. Your query was not modified."):(this.commit(),this.openGroups--,this.q+=")"),this},ke.prototype.and=function(){return this.addModifier("and")},ke.prototype.or=function(){return this.addModifier("or")},ke.prototype.not=function(){return this.addModifier("not")},ke.prototype.from=function(e){return this.hasTerms?H('`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},ke.prototype.to=function(e){return this.hasTerms?H('`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},ke.prototype.boost=function(e){return this.commit(),this.q+="^"+e,this},ke.prototype.toParam=function(){return this.commit(),this.cleanup(),this.q},ke.prototype.clone=function(){return this.commit(),this.cleanup(),new ke(this.q+"")},ke.prototype.addModifier=function(e){return this.currentModifer?(H("You have called `"+this.currentModifer+"()` after `"+e+"()`. Your current query was not modified."),this):(this.commit(),""===this.q&&"not"!==e?H("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)},ke.prototype.needsQuotes=function(e){return/\s|:/g.test(e)},ke.prototype.formatTerm=function(e){return e instanceof Date?e.getTime():"string"==typeof e&&this.needsQuotes(e)?'"'+e+'"':e},ke.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(ke.prototype,"hasTerms",{get:function(){return 0<this.termStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(ke.prototype,"hasRange",{get:function(){return this.rangeStack.length&&this.rangeStack[0]&&this.rangeStack[1]},enumerable:!1,configurable:!0}),ke.prototype.cleanup=function(){if(0<this.openGroups)for(H("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&&H("`startGroup(...)` was called without calling `endGroup(...)` first. Your query was not modified."),this.q=this.q.replace(/(\(\))*/,"")},ke);function ke(e){void 0===e&&(e=""),this.termStack=[],this.rangeStack=[],this.openGroups=0,this.q=e}function Ce(r,n){var o,i,e,t="string"==typeof r||r instanceof Se?{httpMethod:"GET",params:{q:r}}:(o=r,t=["q","num","start","sortField","sortOrder","searchUserAccess","searchUserName","filter","countFields","countSize","categories","categoryFilters"],(i=x(x({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 Se||!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(fe(t)+e,t).then(function(t){return t.nextStart&&-1!==t.nextStart&&(t.nextPage=function(){var e;return"string"==typeof r||r instanceof Se?e={q:r,start:t.nextStart}:(e=r).start=t.nextStart,Ce(e,n)}),t})}function Ae(e){return Ce(e,"item")}function Te(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 Ie(e){var t=e.id,r=fe(e)+"/community/groups/"+t+"/addUsers",t=Object.assign({},e,{admins:void 0,users:void 0}),t=D(Pe("users",e.users,t),Pe("admins",e.admins,t)).map(function(e){return X(r,e).catch(function(e){return{errors:[e]}})});return Promise.all(t).then(xe)}function Pe(o,e,i){return!e||e.length<1?[]:Te(e,25).map(function(e){return t=o,r=e,n=i,Object.assign({},n,((e={})[t]=r,e.params=x(x({},n.params),((n={})[t]=r,n)),e));var t,r,n})}function xe(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 Ee(t){var e=t.id,r=t.users,n=fe(t)+"/community/groups/"+e+"/removeUsers",r=Te(r,25).map(function(e){e=x(x({},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?x(x({},t),{errors:r}):t})}function Oe(e){var t,r=e.id,n=fe(e)+"/community/groups/"+r+"/invite",e=Te((t=e).users,25).map(function(e){return function(e,t){t=Object.assign({},t);return t.params=x(x({},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(De)}function De(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 _e(e){return X(fe(e)+"/community/groups/"+e.id+"/unprotect",e)}function Ue(e){return X(fe(e)+"/community/groups/"+e.id+"/delete",x({},e))}function Ne(e){var t=fe(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 Re(e){var n,t=fe(e)+"/portals/self/createNotification",e=Te((n=e).users,n.batchSize||25).map(function(e){return t=e,r=n,(e=Object.assign({},r)).params=x(x({},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(je)}function je(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 Me(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=fe(e)+"/community/users/"+encodeURIComponent(t),n=x(x({},e),n)),X(r,n)}function Le(t){return Ae({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 Fe(a){return Le(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 Ge(a);var o=!1,i=!1;return Promise.all([Me({username:t,authentication:a.authentication}),Me({username:e,authentication:a.authentication}),be(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(qe(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),qe(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(qe(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 Ge(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 Ge(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.authentication.username,o=e.owner||n,i=fe(e)+"/content/items/"+e.id+"/share";return(o===n||t&&!r)&&(i=fe(e)+"/content/users/"+o+"/items/"+e.id+"/share"),e.params={groups:e.groupId,confirmItemControl:e.confirmItemControl},X(i,e)}function qe(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=Ne({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 Ne({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=Ie(((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 Ee({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 Be(o){return Le(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([be(o),Me({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=fe(e)+"/content/items/"+e.id+"/unshare";r===t&&(n=fe(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 Ye(e){return function(e,t){e=e||"self",e=fe(t)+"/portals/"+e,t=x({httpMethod:"GET"},t);return X(e,t)}(null,e)}function We(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 We(fe(e))}var He={devext:"https://d1011m9qpnz5mw.cloudfront.net",qaext:"https://dyq9ux9ryu4qj.cloudfront.net",www:"https://d1iq7pbacwn5rb.cloudfront.net"};function ze(e){if(e.isPortal)return We(e)+"/apps/sites";e=e.portalHostname.split(".")[0];return(He[e]||He.www)+"/opendata-ui/assets"}function Ve(e){return We(e)+"/sharing/rest"}function Ke(e){return e=(e=e.toLowerCase()).includes("//")?e.split("//")[1]:e}function Je(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 $e(e){if(e.isPortal)throw new Error("Hub Url is not available in ArcGIS Enterprise");return Je(e.portalHostname)}var Xe=function(e,t,r){var n=e.id,e=e.access,t=Ve(t)+"/content/items/"+n,n=new URLSearchParams({f:"json"});return"public"!==e&&r&&n.append("token",r),t+"?"+n.toString()};var Qe=/\/(map|feature)server/i,Ze=function(e){e=e.match(Qe),e=e&&e[1];return e&&t(e)+" Service"};function et(e){var t=e&&e.hubApiUrl;return t||Je(Ve(e))}var tt={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"]},rt=tt.app,nt=tt.dataset,ot=tt.document,it=tt.event,at=tt.feedback,st=tt.initiative,ut=tt.map,ct=tt.other,lt=tt.site,pt=["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"],ft=["Data"],dt={app:rt.concat(at),dataset:nt,document:ot,event:it,initiative:st,map:ut,other:ct,site:lt,downloadableTypes:pt,downloadableTypeKeywords:ft,apiTypes:["Feature Service","Map Service","Image Service"]};function ht(e){return-1!==pt.indexOf(e.type)||e.typeKeywords&&ft.some(function(t){return e.typeKeywords.some(function(e){return e===t})})}function mt(e){return[[e.xmin,e.ymin],[e.xmax,e.ymax]]}var gt={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}};function yt(e){var t=e.portalSelf,r=t.defaultExtent,t=f(t,"helperServices.geometry.url");if(!t)return Promise.resolve(gt);if(!r)return Promise.resolve(gt);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 gt})}var vt=function(e){return Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[1])};function bt(e){return console.warn("DEPRECATED: use isBBox() instead"),vt(e)}function wt(e){var t=(n=e[0])[0],r=n[1],e=(n=e[1])[0],n=n[1];return{rings:[[[t,r],[e,r],[e,n],[t,n],[t,r]]],spatialReference:{wkid:4326}}}var St=[{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 kt(r){var e={type:(r=r||"")?"custom":"none",text:r},t=!1,n=St.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 Ct=function(e,t){var r=x(x({},e.item),{extent:t}),r=x(x({},e),{item:r,extent:t}),t=At(r);return x(x({},r),{boundary:t})},At=function(e){var t,e=e.item,r=e.extent,n=vt(r),e=(null===(e=e.properties)||void 0===e?void 0:e.boundary)||(n?"item":void 0);switch(e){case"item":t=n?wt(r):null;break;case"none":t=null}return{provenance:e,geometry:t}};var Tt={};function It(e){void 0===e&&(e=""),console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v10.0.0");e=xt(e);return"feedback"===e?"app":e}function Pt(e){var t=(e=void 0===e?{}:e).type,r=e.typeKeywords||[];return("Site Application"===e.type||"Web Mapping Application"===e.type&&I(r,"hubSite"))&&(t="Hub Site Application"),("Site Page"===e.type||"Web Mapping Application"===e.type&&I(r,"hubPage"))&&(t="Hub Page"),"Hub Initiative"===e.type&&I(r,"hubInitiativeTemplate")&&(t="Hub Initiative Template"),t="Web Mapping Application"===e.type&&I(r,"hubSolutionTemplate")?"Solution":t}function xt(e){if(Tt[e=void 0===e?"":e])return Tt[e];for(var t=0,r=Object.keys(tt);t<r.length;t++)for(var n=r[t],o=0,i=tt[n];o<i.length;o++){var a=i[o];if(e.toLowerCase()===a.toLowerCase())return Tt[e]=n}}function Et(e){return e&&"feature service"===e.toLowerCase()}function Ot(e){return(e=e&&e.match(/\/\d+$/))&&e[0].slice(1)}function Dt(e){return Ot(e.url)||Et(e.type)&&I(e.typeKeywords,"Singlelayer")&&"0"}function _t(t,e){if(I(["template","feedback"],t.family))return t.id;if(Jt(t)){var r=(f(e,"data.values.pages")||[]).find(function(e){return e.id===t.id});return r?r.slug:t.id}if(t.slug){r=f(e,"domainInfo.orgKey");return f(e,"data.values.isUmbrella")?t.slug:Nt(t.slug,r)}return t.hubId||t.id}function Ut(e){e=e?e.split("_"):[];return{itemId:e[0],layerId:e[1]}}function Nt(e,t){return t&&e.match(t+"::")?e.split(t+"::")[1]:e}function Rt(e){if(!e)return e;var t=["categories",""];return e.map(function(e){return e.split("/")}).reduce(function(e,t,r){return D(e,t)},[]).filter(function(e){return!I(t,e.toLowerCase())})}function jt(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=xt(e)]||r}return t}function Mt(e){return console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v10.0.0"),xt(Pt(e="string"==typeof e?{type:e}:e))}function Lt(e){var t=new Date(e.created),r="item.created",n=e.properties,r=Object.assign({},e,{identifier:e.id,errors:[],item:e,name:e.title,hubType:Mt(e),categories:Rt(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:ht(e),license:{name:"Custom License",description:e.accessInformation},createdDate:t,createdDateSource:r,publishedDate:t,publishedDateSource:r,updatedDate:new Date(e.modified),updatedDateSource:"item.modified",structuredLicense:kt(e.licenseInfo)});return Ct(Bt(r,e.type),e.extent)}function Ft(e){if(e){var t=e.id,r=e.attributes;if(r){var n=Ut(t).itemId,o=r.owner,i=r.orgId,a=r.created,s=r.modified,u=r.name,c=r.title,l=r.type,p=r.typeKeywords,f=r.description,d=r.snippet,h=r.tags,m=r.thumbnail,g=r.categories,y=r.contentStatus,v=r.spatialReference,b=r.accessInformation,w=r.licenseInfo,S=r.culture,k=r.url,C=r.access,A=r.proxyFilter,T=r.properties,I=r.appCategories,P=r.industries,x=r.languages,E=r.largeThumbnail,O=r.banner,D=r.screenshots,_=r.listed,U=r.ownerFolder,N=r.size,R=r.protected,j=r.commentsEnabled,M=r.numComments,L=r.numRatings,F=r.avgRating,G=r.numViews,q=r.itemControl,B=r.scoreCompleteness,Y=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&&Ze(k)||l,typeKeywords:p,description:f,tags:h,snippet:d,thumbnail:m,extent:Y||[],categories:g,contentStatus:y,spatialReference:v||r,accessInformation:b,licenseInfo:w,culture:S,url:k,access:C,size:N,protected:R,proxyFilter:A,properties:T,appCategories:I,industries:P,languages:x,largeThumbnail:E,banner:O,screenshots:D,listed:_,ownerFolder:U,commentsEnabled:j,numComments:M,numRatings:L,avgRating:F,numViews:G,itemControl:q,scoreCompleteness:B}}}}function Gt(e,t){var r=e.id,r=e.slug||t||r,r=x(x({},e),{hubId:t,identifier:r});return zt(r,{relative:Vt(r)})}function qt(e,t){var r=_t(e,t);return{relative:r=Vt(e,r),absolute:""+f(t,"item.url").replace(/\/$/,"")+r}}var Bt=function(e,t){var r=Pt(x(x({},e.item),{type:t})),n=jt(r),o=Yt(r),i=Wt(r,e.isProxied),i=x(x({},e),{type:t,family:n,normalizedType:r,contentTypeIcon:o,contentTypeLabel:i});return zt(i,{relative:Vt(i)})},Yt=function(e){return null!==(e={appbuilderExtension:"file",appbuilderWidgetPackage:"widgets-source",application:"web",arcgisProMap:"desktop",cadDrawing:"file-cad",cityEngineWebScene:"urban-model",codeAttachment:"file-code",colorSet:"palette",contentCategorySet:"label",cSV:"file-csv",cSVCollection:"file-csv",dashboard:"dashboard",desktopApplication:"desktop",documentLink:"link",excaliburImageryProject:"file",explorerMap:"file",exportPackage:"file",featureCollection:"data",featureCollectionTemplate:"file",featureLayer:"data",featureService:"collection",fileGeodatabase:"data",form:"survey",geocodingService:"file",geodataService:"file",geometryService:"file",geopackage:"file",geoprocessingService:"file",globeLayer:"layers",globeService:"file",hubInitiative:"mountain-summit-nocap",hubInitiativeTemplate:"initiative-template-outlines-thick",hubPage:"browser",hubSiteApplication:"web",image:"file-image",imageService:"data",insightsModel:"file",insightsPage:"graph-moving-average",insightsTheme:"palette",insightsWorkbook:"graph-moving-average",iWorkPages:"file-text",iWorkKeynote:"presentation",iWorkNumbers:"file-report",kML:"data",kMLCollection:"data",layer:"layers",layerPackage:"layers",locatorPackage:"file",mapArea:"file",mapDocument:"map-contents",mapImageLayer:"collection",mapPackage:"file",mapService:"collection",microsoftExcel:"file-report",microsoftPowerpoint:"presentation",microsoftWord:"file-text",mission:"file",mobileMapPackage:"map-contents",nativeApplication:"mobile",nativeApplicationInstaller:"file",nativeApplicationTemplate:"file",mobileApplication:"mobile",networkAnalysisService:"file",notebook:"code",orientedImageryCatalog:"file",orthoMappingProject:"file",orthoMappingTemplate:"file",pDF:"file-pdf",quickCaptureProject:"mobile",rasterLayer:"map",realTimeAnalytic:"file",relationalDatabaseConnection:"file",reportTemplate:"file",sceneLayer:"data",sceneService:"urban-model",serviceDefinition:"file",shapefile:"data",solution:"solutions",sqliteGeodatabase:"file",statisticalDataCollection:"file",storyMap:"tour",symbolSet:"file",table:"table",urbanModel:"urban-model",vectorTileService:"map",visioDocument:"conditional-rules",webExperience:"apps",webMap:"map",webMappingApplication:"apps",webScene:"urban-model",wFS:"map",wMS:"map",wMTS:"map",workflowManagerService:"file",workforceProject:"list-check"}[m(e||"")])&&void 0!==e?e:"file"},Wt=function(e,t){return t?"CSV":m(e||"")},Ht=function(e,t){var r=qt(e,t),t=r.relative,r=r.absolute;return zt(e,{relative:t,site:r})},zt=function(e,t){t=x(x({},e.urls),t);return x(x({},e),{urls:t})},Vt=function(e,t){var r=e.family,n=t||e.identifier,o=Kt(e);return o||(t="/content","feedback"===e.family?t="/feedback/surveys":Jt(e)?t="/pages":-1<["app","dataset","document","map","template"].indexOf(r)&&(t="/"+r+"s"),o=t+"/"+n),o},Kt=function(e){var t,r=e.normalizedType,n=e.identifier;return"Solution"===r&&(0<(null===(e=e.typeKeywords)||void 0===e?void 0:e.indexOf("Deployed"))&&(t="/content/"+n),t="/templates/"+n+"/about"),t},Jt=function(e){return I(["Hub Page","Site Page"],e.type)};const $t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const Xt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var Qt={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=$t.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 Xt[e];return}(n[e])}return r}},Zt="4326",er={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 tr(e){if("object"!=typeof e)return e;var t=e.wkid,e=e.wkt;return t?t+"":Qt.btoa(e)}function rr(e){return"spatialRefId:"+tr(function(t){var r;try{r=JSON.parse(t)}catch(e){r=t}return r}(e))}function nr(e){return"exportItem:"+e}function or(e){return e?"exportLayer:0"+e:"exportLayer:null"}function ir(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(b(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 ar(t,e){var r;return t&&(r=!f(t,"notAdded.length")&&!t.errors,e.autoAddResult={success:r},r||(r=t.errors||[],f(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 I(t.notAdded,e.username)}),e.usersToInvite=e.usersToInvite.concat(r))),e}function sr(e,t){return e.orgId===t.orgId}function ur(e){return"org_admin"===e.role&&!e.roleId}function cr(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=Re(e)),o}function lr(t){var r,e=Promise.resolve(t);return t.email&&t.secondaryRO&&f(t,"inviteResult.success")&&(r=b(t,"secondaryRO.portalSelf.user",{}),e=cr(t.usersToInvite.filter(function(e){return sr(e,r)}),t.email,t.secondaryRO.authentication,ur(r)).then(function(e){return t.secondaryEmailResult=e,t})),e}function pr(e,t,r){var n=Promise.resolve(null);return n=t.length?Ie({id:e,users:t.map(function(e){return e.username}),authentication:r}):n}function fr(t){return pr(f(t,"groupId"),f(t,"usersToAutoAdd"),f(t,"primaryRO.authentication")).then(function(e){return ar(e,t)})}function dr(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?Oe({id:e,users:t.map(function(e){return e.username}),authentication:r,role:o,expiration:n}):i}function hr(t){return dr(f(t,"groupId"),f(t,"usersToInvite"),f(t,"primaryRO.authentication")).then(function(e){return t.inviteResult=e,t})}function mr(t){var e=Promise.resolve(t);return e=t.email&&f(t,"inviteResult.success")?cr(t.usersToEmail,t.email,t.primaryRO.authentication,ur(t.requestingUser)).then(function(e){return t.primaryEmailResult=e,t}):e}function gr(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 yr(e,t){var r=gr(e,t);return e.filter(function(t){return!r.some(function(e){return e.username===t.username})})}function vr(e,t,r){void 0===r&&(r=!1);e=yr(e,t).filter(function(e){return sr(e,t)});return r&&e.push(t),e}function br(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 wr(e){var t=p(e.item);return t.text=JSON.stringify(e.data),t}function Sr(e,t){return Promise.all([me(e,t),(r=e,r=ge(e,t=t)+"/data",(t=x({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 kr=function(e,t,r){return void 0===r&&(r=void 0),t.split(".").reduce(function(e,t){return e?e[t]:r},e)};function Cr(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}var Ar=function(e){return e instanceof Date},Tr=function(e){return"function"==typeof e},Ir=function(e){return"object"==typeof e},Pr=function(e){return e instanceof RegExp};var xr=function(e){return"object"==typeof e};function Er(e){return Array.isArray(e)?function(e){var t=e,e=e.reduce(function(e,t){return _r(t)&&Dr(t)&&(e<(t=Or(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&&xr(e)?function(o){var e=Object.keys(o).reduce(function(e,t){var r,n=o[t];return _r(n)&&Dr(n)?(r=Or(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}(Cr(e,t)):function(e){var t=e;"string"==typeof e&&Dr(e)&&(t=function(e){var t=e,e=Or(e);t=0===e?void 0:"{{delete:"+e+"}}";return t}(e));return t}(e);function t(e,t){return Er(e)}}var Or=function(e){return parseInt(e.replace(/{|}/g,"").split(":")[1])};function Dr(e){return e&&"string"==typeof e&&-1<e.indexOf("{{delete")}var _r=function(e){return"string"==typeof e};function Ur(e,t,r,n){return void 0===n&&(n=0),t?t:"{{delete:"+n+"}}"}var Nr=function(e){var t={};if(Array.isArray(e))t=e.map(Nr);else if("object"==typeof e)for(var r in e)null!=e[r]&&"object"==typeof e[r]?t[r]=Nr(e[r]):t[r]=e[r];else t=e;return t},Rr=/{{\s*?[\w].*?}}/g,jr=function(e){return"string"==typeof e};function Mr(e){return e||""===e||0===e}function Lr(e,a,s){if((s=Nr(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=Ur,Er(function r(e,n,o){return o=o||"",Array.isArray(e)?e.map(t):!e||!Ir(e)||Ar(e)||Pr(e)||Tr(e)?n(e,o):Object.assign({},e,Cr(e,t));function t(e,t){return r(e,n,o?o+"."+t:t)}}(e,function(t,e){if(!jr(t))return t;var r,n=t.match(Rr);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=kr(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=kr(t,a),n=r[s](a,n,t,i)}else n=kr(t,e);return n}(t,a,s),r.value=Mr(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)}),Mr(r)?r:t):t}))}function Fr(e,t,r){return Lr(e,t,r)}var Gr=["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 qr(e,t,r){return Ae({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 Br(e,t){var r=e;return r=-1===e.indexOf("token")&&-1<e.indexOf(t.authentication.portal)?e+"?token="+t.authentication.token:r}function Yr(e,t){return(t=void 0===t?{}:t).credentials||(t.credentials="same-origin"),fetch(e,t).then(function(e){return e.blob()})}function Wr(r){return Yr(r.url).then(function(e){return de(t={id:r.id,owner:r.owner,name:r.fileName,resource:e,authentication:r.authentication}).then(function(e){e=fe(t)+"/content/users/"+e+"/items/"+t.id+"/addResources";return t.params=x({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 Hr(t){return Yr(t.url).then(function(e){return he({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 zr(e,t,r){if(!e||!e.thumbnail)return null;var n=r||{},o=n.token,n=n.width,r=Xe(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}var Vr={arcgis:{label:"ArcGIS Online",url:"https://www.arcgis.com",type:"arcgis"},arcgisQA:{label:"ArcGIS Online QAEXT",url:"https://qaext.arcgis.com",type:"arcgis"},arcgisDEV:{label:"ArcGIS Online DEVEXT",url:"https://devext.arcgis.com",type:"arcgis"},hub:{label:"ArcGIS Hub",url:"https://hub.arcgis.com/api",type:"arcgis-hub"},hubDEV:{label:"ArcGIS Hub DEV",url:"https://hubdev.arcgis.com/api",type:"arcgis-hub"},hubQA:{label:"ArcGIS Hub QA",url:"https://hubqa.arcgis.com/api",type:"arcgis-hub"}};function Kr(e){return"string"==typeof e&&e in Vr?Vr[e]:e}function Jr(e,t){var r=p(e);return t.from<e.from&&(r.from=t.from),t.to>e.to&&(r.to=t.to),r}function $r(r,n){var o={};return["any","all","not","exact"].forEach(function(e){var t=e,e=D(Xr(r,t),Xr(n,t));e.length&&(o[t]=e.filter(g))}),o}function Xr(e,t){var r=[];return e[t]&&(t=e[t],r=Array.isArray(t)?t:[t]),r}function Qr(e){var t={};return Array.isArray(e)?t={any:e}:("string"==typeof e&&(t={any:[e]}),"object"==typeof e&&(t=e)),t}function Zr(e){var t=new Date,r={type:"date-range",from:t.getTime(),to:t.getTime()};switch(e.unit){case"hours":case"days":case"weeks":r.from=r.to-{min:6e4,hours:36e5,days:864e5,weeks:6048e5}[e.unit]*e.num;break;case"months":t.setMonth(t.getMonth()-e.num),r.from=t.getTime();break;case"years":t.setFullYear(t.getFullYear()-e.num),r.from=t.getTime()}return r}function en(e,t,r){var n=p(e),e=t.q,t=t.filter;return e&&(n.q=(n.q?" ("+n.q+" "+r+" "+e+")":e).trim()),t&&(n.filter=(n.filter?"("+n.filter+" "+r+" "+t+")":t).trim()),n}function tn(e,t){var r={q:"",filter:""};return t.exact&&(D(["username","firstname","lastname","fullname","email"],["title","tags","typekeywords","type","name","owner"],["title","typekeywords","owner"]).includes(e)?r.filter=nn("AND",e,t.exact):("string"==typeof t.exact&&(t.all||(t.all=[]),"string"==typeof t.all&&(t.all=[t.all]),t.all.push(t.exact)),Array.isArray(t.exact)&&(t.all||(t.all=[]),"string"==typeof t.all&&(t.all=[t.all]),t.all=t.all.concat(t.exact)))),t.any&&(r.q=nn("OR",e,t.any)),t.all&&(r.q=(r.q?r.q+" AND ":"")+nn("AND",e,t.all)),t.not&&(r.q=(r.q?r.q+" AND ":"")+nn("OR","-"+e,t.not)),r}function rn(e,t){return{q:e+":["+t.from+" TO "+t.to+"]",filter:""}}function nn(e,t,r){return Array.isArray(r)?"("+t+':"'+r.join('" '+e+" "+t+':"')+'")':t+':"'+r+'"'}function on(e,t,r,n){var o=p(e);return e.authentication&&(o.authentication=ae.deserialize(e.authentication.serialize())),o.start=-1<t?t:r+1,function(e){return e&&(o.authentication=e),n(o)}}function an(e,t,r){var n=null;return t.thumbnail&&(n=e+"/community/groups/"+t.id+"/info/"+t.thumbnail,r&&"public"!==t.access&&(n=n+"?token="+r)),n}function sn(e,t,r){var n=null;return t.thumbnail&&(n=e+"/community/users/"+t.username+"/info/"+t.thumbnail,r&&"public"!==t.access&&(n=n+"?token="+r)),n}var un={$apps:[{type:{any:["Code Sample","Web Mapping Application","Mobile Application","Application","Desktop Application Template","Desktop Application","Operation View","Dashboard","Operations Dashboard Extension","Workforce Project","Insights Workbook","Insights Page","Insights Model","Hub Page","Hub Initiative","Hub Site Application","StoryMap","Web Experience","Web Experience Template","Form"],not:["Code Attachment","Featured Items","Symbol Set","Color Set","Windows Viewer Add In","Windows Viewer Configuration","Map Area","Indoors Map Configuration"]},typekeywords:{not:["MapAreaPackage","SMX"]}}],$storymap:[{type:"StoryMap"},{type:"Web Mapping Application",typekeywords:["Story Map"]}],$dashboard:[{type:"Dashboard",typekeywords:{any:["Dashboard"],not:["ArcGIS Operation View","Add In","Extension"]}}],$dataset:[],$experience:[{type:{any:["Web Experience"],not:["Web Experience Template"]}}],$site:[{type:["Hub Site Application","Site Application"]},{type:["Web Mapping Application"],typekeywords:["hubSite"]}],$initiative:[{type:{any:"Hub Initiative",not:"Hub Initiative Template"}}],$document:[{typekeywords:{any:"Document",not:["MapAreaPackage","SMX"]},type:{any:["Image","Layout","Desktop Style","Project Template","Report Template","Pro Report","Statistical Data Collection","360 VR Experience","netCDF","PDF","CSV","Administrative Report","Raster function template"],not:["Image Service","Explorer Document","Explorer Map","Globe Document","Scene Document","Code Attachment","Featured Items","Symbol Set","ColorSet","Windows Viewer Add In","Windows Viewer Configuration","Map Area","Indoors Map Configuration"]}}]};function cn(e){var t,o=[];return null!==(t=e.aggregations)&&void 0!==t&&t.counts&&e.aggregations.counts.forEach(function(r){var e={label:r.fieldName,attribute:r.fieldName,type:"multi-select"},n=[];r.fieldValues.forEach(function(e){var t={filterType:"content"};t[r.fieldName]=e.value;t={label:e.value,value:e.value,count:e.count,selected:!1,filter:t};n.push(t)}),e.options=n,o.push(e)}),o}function ln(e){var t=pn(e);return Array.isArray(e.subFilters)&&(t.subFilters=t.subFilters.reduce(function(e,t){return"string"==typeof t?un[t]&&(e=e.concat(un[t])):e.push(t),e},[])),hn(t)}function pn(e){var r=p(e);return r.subFilters=r.subFilters||[],r.type&&(Array.isArray(r.type)?r.type=r.type.reduce(function(e,t){return fn(t)?r.subFilters=r.subFilters.concat(dn(t)):e.push(t),e},[]):fn(r.type)&&(e=r.type,r.subFilters=r.subFilters.concat(dn(e)),delete r.type)),r}function fn(e){var t=!1;return t="string"==typeof e?e in un:t}function dn(e){return un[e]}function hn(t){var r={};t.term&&(r.term=t.term);var e,n=["created","modified"],o=D(["filterType","subFilters","term"],n);return Object.entries(t).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r[t]=Qr(e))}),t.subFilters&&Array.isArray(t.subFilters)&&(e=t.subFilters,r.subFilters=e.map(hn)),n.forEach(function(e){t[e]&&("relative-date"===t[e].type?r[e]=Zr(t[e]):r[e]=p(t[e]))}),r}function mn(e){var t,r=gn(e);return e.subFilters&&(t=e.subFilters.reduce(function(e,t){return e="object"==typeof t?en(e,gn(t),"OR"):e},{q:"",filter:""}),r=en(r,t,"AND")),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function gn(e){var r={q:"",filter:""},n=["created","modified"],o=D(["filterType","subFilters","term"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),r}function yn(r){var n={},o=["created","modified"],i=D(["term","searchUserAccess"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Qr(e),n),o.includes(t)&&(e=p(f(r,t)),"relative-date"===f(r,t+".type")?k(t,Zr(e),n):k(t,e,n))}),r.hasOwnProperty("searchUserAccess")&&(n.searchUserAccess=r.searchUserAccess),r.term&&(n.term=r.term),n}function vn(e){var r={q:"",filter:""},n=["created","modified"],o=D(["term","searchUserAccess","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),e.hasOwnProperty("searchUserAccess")&&(r.searchUserAccess=e.searchUserAccess),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function bn(r){var n={},o=["created","modified","lastlogin"],i=D(["disabled","term"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Qr(e),n),o.includes(t)&&(e=p(f(r,t)),"relative-date"===f(r,t+".type")?k(t,Zr(e),n):k(t,e,n))}),r.hasOwnProperty("disabled")&&(n.disabled=r.disabled),r.term&&(n.term=r.term),n}function wn(e){var r={q:"",filter:""},n=["created","modified","lastlogin"],o=D(["term","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),e.hasOwnProperty("disabled")&&(r.disabled=e.disabled),e.term&&(r.q=("("+e.term+") "+r.q).trim()),r}function Sn(o){return Ae(o).then(function(e){var t=-1<e.nextStart,r=e.results.map(Lt);o.site&&(r=r.map(function(e){return Ht(e,o.site)}));var n=cn(e);return{total:e.total,results:r,facets:n,hasNext:t,next:on(o,e.nextStart,e.total,Sn)}})}function kn(o){function i(e){return e.siteTeamUrl=o.site.item.url+"/teams/"+e.id+"/about",e}var e,t,r=(null===(e=o.authentication)||void 0===e?void 0:e.portal)||"https://www.arcgis.com/sharing/rest";o.authentication&&(t=o.authentication.token);function a(e){return e.thumbnailUrl=an(r,e,t),e}return Ce(o,"group").then(function(e){var t,r=-1<e.nextStart,n=e.results.map(a);return null!==(t=null===(t=o.site)||void 0===t?void 0:t.item)&&void 0!==t&&t.url&&(n=e.results.map(i)),{hasNext:r,total:e.total,results:n,next:on(o,e.nextStart,e.total,kn)}})}function Cn(o){function i(e){return e.profileUrl=o.site.item.url+"/people/"+e.username+"/profile",e}function a(e){return e.thumbnail&&(e.thumbnailUrl=sn(t,e,r)),e}var t=o.authentication.portal,r=o.authentication.token;return Ce(o,"user").then(function(e){var t,r=-1<e.nextStart,n=e.results.map(a);return null!==(t=null===(t=o.site)||void 0===t?void 0:t.item)&&void 0!==t&&t.url&&(n=e.results.map(i)),{hasNext:r,total:e.total,results:n,next:on(o,e.nextStart,e.total,Cn)}})}function An(t){return E(this,void 0,void 0,function(){return O(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 Tn(e){var t={},e=f(e,"authentication.token");return e&&(t.Authorization=e),t}function In(e){return(e||"https://hub.arcgis.com")+"/api/v3/domains"}function Pn(e,t){var r=e,n="hubsubdomain|"+(r=-1<e.indexOf("#/")?e.split("#/")[1]:r);return Ae(Object.assign({q:"typekeywords: "+n},t)).then(function(e){return e.results.filter(function(e){return I(e.typeKeywords,n)})[0]}).then(function(e){if(!e)throw new Error("site not found");return{hostname:e.url,siteId:e.id}})}function xn(e,t){if(t.isPortal)throw new Error("domainExists is not available in ArcGIS Enterprise.");e=Ke(e);e=In(t.hubApiUrl)+"/"+e,t=Tn(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(function(e){return 404!==e.status})}function En(e,t){return Pn(e,t).then(function(e){return!0}).catch(function(e){return!1})}function On(t,r,n,o){var i=t;return xn((i=(o=void 0===o?0:o)?t+"-"+o:t)+"-"+r,n).then(function(e){return e?On(t,r,n,o+1):i})}function Dn(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return En(o,r).then(function(e){return e?Dn(t,r,n+1):o})}function _n(e,t){if(t.isPortal)return Pn(e,t);e=In(t.hubApiUrl)+"/"+e,t=Tn(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(An)}function Un(e,t){var r=p(e),e=63;return t&&(e-=t.length+1),r=r.length>e?r.slice(0,e-6)+"-"+j(5):r}function Nn(e,t){return Sr(e,t).then(Fn)}function Rn(e){if(1.4<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.values.gacode");return t.data.values.telemetry={consentNotice:{isTheme:!0,consentText:"",policyURL:""},customAnalytics:{ga:{customerTracker:{enabled:Boolean(e),id:e}}}},br(t,"data.values.gacode"),k("item.properties.schemaVersion",1.4,t),t}var jn=1.5;function Mn(e){if(1.5<=f(e,"item.properties.schemaVersion"))return e;var r,t=p(e),e=t.data.values.dcatConfig;return t.data.feeds={},e&&(t.data.feeds.dcatUS11=(r=JSON.stringify(e),Object.keys(Ln).forEach(function(e){var t=Ln[e];r=r.split(e).join(t)}),JSON.parse(r))),t.item.properties.schemaVersion=1.5,t}var Ln={"{{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 Fn(e){return f(e,"item.properties.schemaVersion")===jn?e:e=Mn(e=Rn(e=function(e){if(1.3<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.catalog.groups")||[];return t.data.catalog.groups=e.filter(M),t.item.properties.schemaVersion=1.3,t}(e=function(e){if(1.2<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.catalog")||{};return f(t,"data.values.groups")&&(e.groups=p(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<=f(e,"item.properties.schemaVersion"))return e;var t=p(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<=f(e,"item.properties.schemaVersion"))return e;var t=p(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 Gn=["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 qn,Bn=(e(Yn,qn=Error),Yn);function Yn(e,t,r){e=qn.call(this,e)||this;return e.status=r,e.url=t,e}function Wn(e,t){var r,n,o=x({httpMethod:"GET"},t),i=o.fetch||fetch,t=x({"Content-Type":"application/json"},o.headers);"GET"===o.httpMethod?r=o.params:n=JSON.stringify(o.params);var a=pe({host:et(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 Bn(e.statusText,a,e.status)})}function Hn(e,t){return ye(x({id:e,relationshipType:"Survey2Service",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function zn(e,t){return ye(x({id:e,relationshipType:"Service2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Vn(e,t){return ye(x({id:e,relationshipType:"Survey2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Kn(t){function e(e){return-1<t.typeKeywords.indexOf(e)}var r=e("FieldworkerView");return r=r||["Survey123","Feature Service","View Service"].every(e)&&!e("StakeholderView")}var Jn="/api/v3/domains",$n="/api/v3/datasets",Xn="/api/discussions/v1",Qn=(Object.defineProperty(Zn.prototype,"session",{get:function(){return this._authentication},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"isAuthenticated",{get:function(){return!!this._authentication},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"userRequestOptions",{get:function(){if(this.isAuthenticated)return{authentication:this._authentication,portal:this.sharingApiUrl}},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"requestOptions",{get:function(){var e={portal:this.sharingApiUrl};return e=this.isAuthenticated?{authentication:this._authentication,portal:this.sharingApiUrl}:e},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubRequestOptions",{get:function(){return{authentication:this.session,isPortal:this.isPortal,portalSelf:this.portal,hubApiUrl:this.hubUrl}},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"portalUrl",{get:function(){return this.isAuthenticated?this.isPortal?"https://"+this._portalSelf.portalHostname:"https://"+this._portalSelf.urlKey+"."+this._portalSelf.customBaseUrl:this._portalUrl},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"sharingApiUrl",{get:function(){return this.portalUrl+"/sharing/rest"},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubUrl",{get:function(){return this._hubUrl},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"isPortal",{get:function(){return this._portalSelf?this._portalSelf.isPortal:-1===this._portalUrl.indexOf("arcgis.com")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"discussionsServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+Xn},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubSearchServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+$n},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"domainServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+Jn},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"eventsConfig",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.events")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubEnabled",{get:function(){return b(this._portalSelf,"portalProperties.hub.enabled",!1)},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgId",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.communityOrg.orgId")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgHostname",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.communityOrg.portalHostname")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgUrl",{get:function(){if(this.communityOrgHostname)return"https://"+this.communityOrgHostname},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"helperServices",{get:function(){if(this._portalSelf)return this._portalSelf.helperServices},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"currentUser",{get:function(){return this._currentUser},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"portal",{get:function(){return this._portalSelf},enumerable:!1,configurable:!0}),Zn);function Zn(e){this._portalUrl="https://www.arcgis.com",this.id=e.id,this._portalUrl=e.portalUrl,this._hubUrl=e.hubUrl,e.authentication&&(this._authentication=e.authentication),e.portalSelf&&(this._portalSelf=e.portalSelf),e.currentUser&&(this._currentUser=e.currentUser)}eo.create=function(r){return void 0===r&&(r={}),E(this,void 0,void 0,function(){var t;return O(this,function(e){switch(e.label){case 0:return[4,(t=new eo(r)).initialize()];case 1:return e.sent(),[2,t]}})})},eo.prototype.setAuthentication=function(t){return E(this,void 0,void 0,function(){return O(this,function(e){switch(e.label){case 0:return this._authentication=t,this._portalUrl=t.portal.replace("/sharing/rest",""),[4,this.initialize()];case 1:return e.sent(),[2]}})})},eo.prototype.clearAuthentication=function(){this._state.isPortal||(this._portalUrl=function(e){var t;e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://qaext.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://devext.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://www.arcgis.com");return t}(this._portalUrl)),this._authentication=null,this._portalSelf=null,this._currentUser=null,this._state=new Qn({id:this.id,portalUrl:this._portalUrl,hubUrl:this._hubUrl})},Object.defineProperty(eo.prototype,"state",{get:function(){return this._state},enumerable:!1,configurable:!0}),eo.prototype.log=function(e){this._debug&&console.info(e)},eo.prototype.initialize=function(){return E(this,void 0,void 0,function(){var t,r,n;return O(this,function(e){switch(e.label){case 0:if(!this._authentication||this._portalSelf&&this._currentUser)return[3,4];this.log("ArcGISContext-"+this.id+": Initializing"),t=this._authentication.username,t=[Ye({authentication:this._authentication}),Me({username:t,authentication:this._authentication})],e.label=1;case 1:return e.trys.push([1,3,,4]),[4,Promise.all(t)];case 2:return n=e.sent(),r=n[0],n=n[1],this._portalSelf=r,this._currentUser=n,[3,4];case 3:throw r=e.sent(),n='ArcGISContext could not fetch portal & user for "'+this._authentication.username+'" using '+this._authentication.portal+".",console.error(n),r;case 4:return this._state=new Qn(this.stateOpts),[2]}})})},Object.defineProperty(eo.prototype,"stateOpts",{get:function(){var e={id:this.id,portalUrl:this._portalUrl,hubUrl:this._hubUrl};return this._authentication&&(e.authentication=this._authentication),this._portalSelf&&(e.portalSelf=this._portalSelf),this._currentUser&&(e.currentUser=this._currentUser),e},enumerable:!1,configurable:!0}),ct=eo;function eo(e){this._portalUrl="https://www.arcgis.com",this._debug=!1,this.id=(new Date).getTime(),e.debug&&(this._debug=e.debug),this.log("ArcGISContext:ctor: Creating "+this.id),e.authentication?(this._authentication=e.authentication,this._portalUrl=this._authentication.portal.replace("/sharing/rest","")):e.portalUrl&&(this._portalUrl=e.portalUrl),this._hubUrl=to(this._portalUrl),e.portal&&(this._portalSelf=p(e.portal)),e.currentUser&&(this._currentUser=p(e.currentUser))}function to(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}ro.prototype.startOperation=function(e){e=p(e);e.startedAt=(new Date).getTime(),e.state="working",this.operations.push(e)},ro.prototype.start=function(e,t){t={type:e,id:b(t,"id",r(e+"_")),inputs:b(t,"inputs",{}),cleanup:b(t,"cleanup","n/a"),startedAt:(new Date).getTime(),state:"working"};return this.operations.push(t),t.id},ro.prototype.getOperation=function(t){return this.operations.find(function(e){return e.id===t})},ro.prototype.getOperations=function(){return this.operations},ro.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=p(t))},ro.prototype.merge=function(e){this.operations=D(this.operations,e.operations)},ro.prototype.getCompleted=function(){return p(this.operations.filter(function(e){return"completed"===e.state}))},ro.prototype.getWorking=function(){return p(this.operations.filter(function(e){return"working"===e.state}))},ro.prototype.toString=function(){return this.operations.sort(function(e,t){return e.startedAt<t.startedAt?-1:t.startedAt<e.startedAt?1:0}).map(no).join("\n")},ro.prototype.serialize=function(){return{operations:p(this.getOperations())}},lt=ro;function ro(){this.operations=[]}function no(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.ArcGISContext=ct,n.GLOBAL_EXTENT=gt,n.HUB_CDN_URLMAP=He,n.HUB_LOCALES=Gn,n.Logger=L,n.OperationError=U,n.OperationStack=lt,n.PORTAL_EXPORT_TYPES=er,n.REQUIRED_PRIVS=le,n.RemoteServerError=Bn,n.SEARCH_APIS=Vr,n.SITE_SCHEMA_VERSION=jn,n.STANDARD_LICENSES=St,n.WGS84_WKID=Zt,n._addTokenToResourceUrl=Br,n._canEmailUser=sr,n._checkStatusAndParseJson=An,n._consolidateResults=ir,n._deepMapValues=i,n._ensureSafeDomainLength=Un,n._ensureTelemetry=Rn,n._formatAutoAddResponse=ar,n._getAuthHeader=Tn,n._getAutoAddUsers=gr,n._getDomainServiceUrl=In,n._getEmailUsers=vr,n._getHttpAndHttpsUris=function(e){return e?["http://"+(e=e.replace(/^http(s?):\/\//,"")),"https://"+e]:[]},n._getInviteUsers=yr,n._getLocation=function(){if(window)return window.location},n._isDate=s,n._isFunction=u,n._isObject=c,n._isOrgAdmin=ur,n._isRegExp=l,n._isString=a,n._lookupPortal=Pn,n._mapValues=o,n._processAutoAdd=fr,n._processInvite=hr,n._processPrimaryEmail=mr,n._processSecondaryEmail=lr,n._searchContent=function(n,o){var i;return E(this,void 0,void 0,function(){var t,r;return O(this,function(e){return r=ln(n),t=Kr(o.api||"arcgis"),[2,"arcgis"===t.type?(r=mn(r),o.authentication?r.authentication=o.authentication:r.portal=t.url+"/sharing/rest",null!==(i=o.aggregations)&&void 0!==i&&i.length&&(r.countFields=o.aggregations.join(","),r.countSize=200),o.num&&(r.num=o.num),o.sortField&&(r.sortField=o.sortField),o.sortOrder&&(r.sortOrder=o.sortOrder),o.site&&(r.site=p(o.site)),Sn(r)):Promise.resolve({total:0,results:[],facets:[],hasNext:!1,next:function(){}})]})})},n._searchGroups=function(n,o){var i;return E(this,void 0,void 0,function(){var t,r;return O(this,function(e){if(r=yn(n),"arcgis"===(t=Kr(o.api||"arcgis")).type)return r=vn(r),o.authentication?r.authentication=o.authentication:r.portal=t.url+"/sharing/rest",o.num&&(r.num=o.num),o.sortField&&(r.sortField=o.sortField),o.sortOrder&&(r.sortOrder=o.sortOrder),t.url,null!==(i=r.authentication)&&void 0!==i&&i.portal&&r.authentication.portal,o.site&&(r.site=p(o.site)),[2,kn(r)];throw new Error("_searchGroups is not implemented for non-arcgis apis")})})},n._searchUsers=function(r,n){return E(this,void 0,void 0,function(){var t;return O(this,function(e){if(!n.authentication)throw new Error("Authentication required to search for users.");if(t=bn(r),"arcgis"===Kr(n.api||"arcgis").type)return(t=wn(t)).authentication=n.authentication,n.num&&(t.num=n.num),n.sortField&&(t.sortField=n.sortField),n.sortOrder&&(t.sortOrder=n.sortOrder),n.site&&(t.site=p(n.site)),[2,Cn(t)];throw new Error("_searchUsers is not implemented for non-arcgis apis")})})},n._unprotectAndRemoveGroup=function(e){var t=R(_e,{success:!0}),r=R(Ue,{success:!0});return t(e).then(function(){return r(e)})},n._unprotectAndRemoveItem=function(e){var t=R(ve,{success:!0}),r=R(we,{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=Tn(t);r["Content-Type"]="application/json";var n=""+In(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(An)},n.addSolutionResourceUrlToAssets=function(e,t){var r,n,o=e.assets||e.resources||[];return e.bundleItemId&&(r=Ve(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=p(b(r,"portalSelf.user",{}));return i.cOrgId=f(r,"portalSelf.portalProperties.hub.settings.communityOrg.orgId"),fr({groupId:e,allUsers:t,primaryRO:r,email:n,secondaryRO:o,requestingUser:i,usersToAutoAdd:gr(t,i),usersToInvite:yr(t,i),usersToEmail:vr(t,i,f(n,"copyMe"))}).then(hr).then(mr).then(lr).then(ir)},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[f(t,r)]=t,e},{})},n.atob=Qt.atob,n.autoAddUsers=pr,n.bBoxToPolygon=wt,n.batch=T,n.btoa=Qt.btoa,n.buildDraft=function(e,t){return S(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(er).map(function(e){return er[e]}),c=new Set(y(t.filter(function(e){return!e.supportsProjection}).map(function(e){return e.itemTypes}))),t=a||y(t.map(function(e){return e.itemTypes})),s=(new Se).startGroup().match(nr(e)).in("typekeywords").and().match(or(s)).in("typekeywords").endGroup().and().startGroup();function l(e,t){var r;t.startGroup().match(/\s/g.test(e)?e:'"'+e+'"').in("type").and().match(rr((r=e,t=Zt,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){l(e,r),t<n.length-1&&r.or()}),s.endGroup(),s.toParam()},n.buildUrl=pe,n.camelize=m,n.canEditEvent=function(e,t){var r=!1;return ue(t)&&(e=f(e,"initiative.item.properties.collaborationGroupId"),t=t.groups,r=!!e&&!!d(void 0===t?[]:t,"id",e)),r},n.canEditItem=ce,n.canEditSite=function(e,t){var r=!1;return r=!f(e,"properties.isDefaultHubHome")&&ue(t)?ce(e,t):r},n.canEditSiteContent=function(e,t){var r,n=!1,o=f(e,"properties.isDefaultHubHome"),i=ue(t);return!o&&i?n=ce(e,t):i&&(i=t.orgId,e=e.orgId,i&&i===e&&(r=t.privileges||[],n=le.every(function(e){return I(r,e)}))),n},n.capitalize=t,n.categories=dt,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.clearSession=function(e,t){(t=void 0===t?window:t).localStorage&&t.localStorage.removeItem("__CONTEXT_"+e)},n.cloneObject=p,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 ae.completeOAuth2(t)}):ae.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.convertContentDefinitionToFilter=hn,n.convertContentFilterToSearchOptions=gn,n.convertPortalResponseToFacets=cn,n.convertSolutionTemplateResourcesToAssets=function(e,t){var r,n,o=[];return e.resources&&e.bundleItemId&&(r=Ve(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<Gn.indexOf(e)?t=e:1<(e=e.split("-")).length&&-1<Gn.indexOf(e[0])&&(t=e[0]),t},n.convertUrlsToAnchorTags=function(t){var e=t.match(/((((ftp|https?):\/\/)|(w{3}\.))[-\w@:%_+.~#?,&//=]+)/g);return e&&e.forEach(function(e){t=t.replace(e,'<a target="_blank" href="'+e+'">'+e+"</a>")}),t.replace("(","<br/>(")},n.createExtent=function(e,t,r,n,o){return{xmin:e,ymin:t,xmax:r,ymax:n,spatialReference:{wkid:o=void 0===o?4326:o}}},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 U("pipeline execution error",e);return e.operationStack=r.stack.serialize(),Promise.reject(e)})},Promise.resolve(r))}},n.datasetToContent=function(e){var t=Ft(e),r=Lt(t);delete r.itemCategories;var n=e.id,o=(S=e.attributes).errors,i=S.boundary,a=S.extent,s=S.metadata,u=S.modified,c=S.modifiedProvenance,l=S.slug,p=S.searchDescription,f=S.groupIds,d=S.server,h=S.layers,m=S.layer,g=S.recordCount,y=S.statistics,v=S.orgId,b=S.orgName,w=S.organization,e=S.orgExtent,S=S.type;return r.errors=o,r.boundary=i,!vt(t.extent)&&a&&vt(a.coordinates)&&(r.extent=a.coordinates),r.metadata=s||null,r.modified!==u&&(r.modified=u,r.updatedDate=new Date(u),r.updatedDateSource=c),r.slug=l,p&&(r.summary=p),r.groupIds=f,r.server=d,r.layers=h,r.layer=m,r.recordCount=g,r.statistics=y,v&&(r.org={id:v,name:b||w,extent:e}),Bt(Gt(r,n),S)},n.datasetToItem=Ft,n.deepFind=C,n.deepFindById=function(e,t){return C(e,function(e){return e.id===t})},n.deepSet=v,n.deepStringReplace=w,n.deleteProp=br,n.doesItemExistWithTitle=qr,n.domainExists=xn,n.domainExistsPortal=En,n.emailOrgUsers=cr,n.ensureProp=function(e,t){return v(e,t)},n.ensureUniqueDomainName=function(e,t){return(t.isPortal?Dn(e,t):On(e,t.portalSelf.urlKey+"."+Ke(et(t)),t)).then(function(e){return Un(e,t.portalSelf.urlKey)})},n.ensureUniqueString=function(e,t){for(var r=!1,n=0,o=t;!r;)I(e,o)?o=t+"-"+ ++n:r=!0;return o},n.expandApi=Kr,n.expandApis=function(e){return e.map(Kr)},n.expandContentFilter=ln,n.expandGroupFilter=yn,n.expandTypeField=pn,n.expandUserFilter=bn,n.extend=function n(e,o,i){void 0===i&&(i=!0);e=p(e);return Object.keys(o).reduce(function(e,t){var r;return null!==o[t]&&void 0!==o[t]&&(r=p(o[t]),Array.isArray(r)?e[t]=r:e[t]=i&&"object"==typeof r?n(e[t]||{},r,i):r),e},e)},n.extentToBBox=mt,n.failSafe=R,n.failSafeUpdate=function(e,t){return R(he,{id:e.item.id,success:!0})(Object.assign({item:wr(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(x(x({},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 T(e,function(e){return n(x(x({},o),{start:e,num:a}))},i).then(function(e){return D([t],e)})}).then(function(e){var t=e.reduce(function(e,t){return D(e,t.results)},[]),e=-1===r?t.length:r;return t.slice(0,e)})},n.fetchAndUploadResource=Wr,n.fetchAndUploadThumbnail=Hr,n.fetchHubTranslation=function(t,e,r){void 0===r&&(r="cors");var n=(ze(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=Yr,n.fetchSite=function(e,t){return M(e)?Nn(e,t):_n(Ke(e).split("/")[0],t).then(function(e){return Nn(e.siteId,t)})},n.filterBy=function(e,t,r){return e.filter(function(e){return f(e,t)===r})},n.findBy=d,n.flattenArray=y,n.generateRandomString=j,n.getCategory=It,n.getCollection=xt,n.getContentIdentifier=_t,n.getContentSiteUrls=qt,n.getContentTypeIcon=Yt,n.getContentTypeLabel=Wt,n.getCulture=function(e){return f(e,"portalSelf.user.culture")||f(e,"portalSelf.culture")||"en-us"},n.getDomainsForSite=function(e,t){return t.isPortal?Promise.resolve([]):(e=In(t.hubApiUrl)+"?siteId="+e,t=Tn(t),fetch(e,{method:"GET",headers:t,mode:"cors"}).then(An).catch(function(e){throw Error("Error in getDomainsForSite "+e)}))},n.getExportItemTypeKeyword=nr,n.getExportLayerTypeKeyword=or,n.getFamily=jt,n.getGeographicOrgExtent=yt,n.getGroupThumbnailUrl=an,n.getHubApiUrl=et,n.getHubApiUrlFromPortal=function(e){return $e(e)+"/api/v3"},n.getHubLocaleAssetUrl=ze,n.getHubProduct=function(e){var t=f(e,"portalProperties.hub.enabled")||!1?"premium":"basic";return t=e.isPortal&&"singletenant"===e.portalMode?"portal":t},n.getHubUrlFromPortal=$e,n.getInputFeatureServiceModel=Hn,n.getItemApiUrl=Xe,n.getItemAssets=function(e,t){var r=Ve(t.portalSelf)+"/content/items/"+e.id,n=zr(e,t),o=[];return n&&o.push({name:e.thumbnail,url:n,type:"thumbnail"}),e=e.id,e=ge(e,t=t)+"/resources",(t=x({},t)).params=x({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=Xe(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 We(t)+"/home/item.html?id="+e},n.getItemHubId=function(e){if("public"===e.access){var t=e.id,e=Dt(e);return e?t+"_"+e:t}},n.getItemHubType=Mt,n.getItemLayerId=Dt,n.getItemThumbnailUrl=zr,n.getLayerIdFromUrl=Ot,n.getModel=Sr,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(Sr,{item:{id:t[e]},isMissing:!0})(t[e],t);throw new Error("getModelFromOptions requires either a ."+r+" or ."+e+" property.")},n.getNextFunction=on,n.getOrgExtentAsBBox=function(e){return yt(e).then(mt)},n.getPortalApiUrl=Ve,n.getPortalUrl=We,n.getProp=f,n.getProps=function(r,e){return e.reduce(function(e,t){t=f(r,t);return t&&e.push(t),e},[])},n.getServiceTypeFromUrl=Ze,n.getSession=function(e,t){var r=null;return!(t=void 0===t?window:t).localStorage||(e=t.localStorage.getItem("__CONTEXT_"+e))&&(r=ae.deserialize(e)),r},n.getSiteById=Nn,n.getSourceFeatureServiceModelFromFieldworker=zn,n.getSpatialRefTypeKeyword=rr,n.getStakeholderModel=Vn,n.getStructuredLicense=kt,n.getSubscriptionType=function(e){return b(e,"subscriptionInfo.type","Enterprise")},n.getSurveyModels=function(e,r){var n,o;return("string"==typeof e?me(e,r):Promise.resolve(e)).then(function(t){var e=[Hn(t.id,r),Vn(t.id,r)];return Promise.all(e).then(function(e){var t=e[0],e=e[1];return o=e,t&&Kn(t.item)?zn((n=t).item.id,r):t}).then(function(e){return{form:{item:t},featureService:e,fieldworker:n,stakeholder:o}})})},n.getTypeCategories=function(e){if(e=It(Pt(e=void 0===e?{}:e))){e=Array.from(e);return e[0]=e[0].toUpperCase(),[e.join("")]}return["Other"]},n.getTypes=function(e){return dt[(e=void 0===e?"":e).toLowerCase()]},n.getUniqueDomainName=On,n.getUniqueDomainNamePortal=Dn,n.getUniqueItemTitle=function t(r,n,o,i){var a=(i=void 0===i?0:i)?r+" "+i:r;return qr(a,n,o).then(function(e){return e?t(r,n,o,++i):a}).catch(function(e){throw Error("Error in getUniqueItemTitle "+e)})},n.getUserThumbnailUrl=sn,n.getWithDefault=b,n.hasBasePriv=ue,n.hubApiRequest=Wn,n.hubApiSearch=function(e){var t=(t=e.authentication)&&t.serialize&&{authentication:t.serialize()};return Wn("/search",x(x({},{headers:t,httpMethod:"POST"}),e))},n.includes=I,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=Fr,n.interpolateItemId=function(e){return Fr(e,{item:{id:e.item.id},appid:e.item.id},{toISO:function(e,t){return t}})},n.inviteUsers=dr,n.isBBox=vt,n.isDomainForLegacySite=function(e){return!M(e.siteId)},n.isDomainUsedElsewhere=function(e,t,r){return _n(e,r).then(function(e){return e.siteId!==t}).catch(function(){return!1})},n.isDownloadable=ht,n.isExtentCoordinateArray=bt,n.isFeatureService=Et,n.isFieldworkerView=Kn,n.isGuid=M,n.isMapOrFeatureServerUrl=function(e){return Qe.test(e)},n.isNil=function(e){return null==e},n.isSlug=function(e){return!(!(e=Ut(e).itemId)||M(e))},n.isUpdateGroup=G,n.isValidDomain=function(t,e){if(e.isPortal)throw new Error("isValidDomain is not available in ArcGIS Enterprise.");var r=In(e.hubApiUrl)+"/validate?hostname="+t,e=Tn(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&&[bt,function(t){return["xmin","ymin","xmax","ymax"].every(function(e){return"number"==typeof t[e]})}].some(function(e){return e(t)})},n.itemPropsNotInTemplates=Gr,n.itemToContent=Lt,n.last=function(e){return e[e.length-1]},n.lookupDomain=_n,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=p(r))[e]=t),r},n.maybePush=h,n.mergeContentFilter=function(e){var e=e.map(ln),n=["created","modified"],o=D(["filterType","subFilters","term"],n);return(e=e.reduce(function(r,e){return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];r.hasOwnProperty(t)?o.includes(t)?n.includes(t)?r[t]=Jr(r[t],e):"term"===t?r[t]=r[t]+" "+e:"subFilters"===t&&(r[t]=D(r[t],e)):r[t]=$r(r[t],e):r[t]=p(e)}),r},{})).filterType="content",e},n.mergeDateRange=Jr,n.mergeGroupFilters=function(e){var e=e.map(yn),o=["created","modified"],i=D(["filterType","term"],o);return e.reduce(function(n,e){return Object.entries(e).forEach(function(e){var t=e[0],r=e[1];n.hasOwnProperty(t)?(e=f(n,t),i.includes(t)?o.includes(t)?k(t,Jr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,$r(e,r),n)):k(t,p(r),n)}),n},{filterType:"group"})},n.mergeMatchOptions=$r,n.mergeObjects=S,n.mergeSearchOptions=en,n.mergeUserFilters=function(e){var e=e.map(bn),o=["created","modified","lastlogin"],i=D(["disabled","term","filterType"],o);return e.reduce(function(n,e){return Object.entries(e).forEach(function(e){var t=e[0],r=e[1];n.hasOwnProperty(t)?(e=f(n,t),i.includes(t)?o.includes(t)?k(t,Jr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,$r(e,r),n)):k(t,p(r),n)}),n},{filterType:"user"})},n.normalizeItemType=Pt,n.normalizeSolutionTemplateItem=function(e){var t=p(e);return Gr.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(p(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=Ut,n.parseItemCategories=Rt,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 m(e.replace(/^[0-9]*/g,"").replace(/[^\w\s]/g,""))},n.relativeDateToDateRange=Zr,n.removeContextFromSlug=Nt,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=Tn(t);return r["Content-Type"]="application/json",e=In(t.hubApiUrl)+"/"+e,fetch(e,{method:"DELETE",headers:r,mode:"cors"}).then(An)},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}}"),w(p(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.saveSession=function(e,t,r){(r=void 0===r?window:r).localStorage&&r.localStorage.setItem("__CONTEXT_"+e,t.serialize())},n.serializeContentFilterForPortal=mn,n.serializeDateRange=rn,n.serializeGroupFilterForPortal=vn,n.serializeMatchOptions=tn,n.serializeModel=wr,n.serializeSpatialReference=tr,n.serializeStringOrArray=nn,n.serializeUserFilterForPortal=wn,n.setContentHubId=Gt,n.setContentSiteUrls=Ht,n.setContentType=Bt,n.setProp=k,n.shareItemToGroups=function(t,e,r,n){return Promise.all(e.map(function(e){e=Object.assign({},{id:t,groupId:e},r);return n&&(e.owner=n),Fe(e)}))},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=Ke,n.unique=g,n.uniqueBy=function(e,r){return e.reduce(function(e,t){return h(e.find(function(e){return f(e,r)===f(t,r)})?null:t,e)},[])},n.unprotectModel=function(e,t){return e.item.protected?ve(Object.assign({id:e.item.id},t)):Promise.resolve({success:!0})},n.unshareItemFromGroups=function(t,e,r,n){return Promise.all(e.map(function(e){e=Object.assign({},{id:t,groupId:e},r);return n&&(e.owner=n),Be(e)}))},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=Tn(t);r["Content-Type"]="application/json";var n=In(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(An)},n.upgradeProtocol=function(e){return-1===e.indexOf("http")?"https://"+e:-1!==e.indexOf("http://")?e.replace(/^http:/i,"https:"):e},n.upgradeSiteSchema=Fn,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:Br(t.url,o),authentication:o.authentication},"thumbnail"===t.type?e.push(Hr(r)):e.push(Wr(r))),e},[]);return Promise.all(e)}return Promise.resolve([])},n.valueToMatchOptions=Qr,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)||l(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 l(e){return e instanceof RegExp}function f(e,t){return t.split(".").reduce(function(e,t){return e?e[t]:void 0},e)}function p(e){var t,r={};if(Array.isArray(e))r=e.map(p);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]=p(t):r[n]=t);else r=e;return r}function d(e,r,n){return e?e.reduce(function(e,t){return e=f(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=p(t)).push(e),t}function m(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 g(e,t,r){return r.indexOf(e)===t}function t(e){return(e=Array.from(e))[0]=e[0].toUpperCase(),e.join("")}function y(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],p(r))):n[e]=t===o?r:{},n=n[e]})}function b(e,t,r){t=f(e,t);return void 0!==t?t:r}function w(e,r,n){return i(e,function(e){if(!a(e))return e;var t=l(r)?r:new RegExp(r,"g");return e.replace(t,n)})}function S(t,r,e){return Array.isArray(e)&&e.length?(e.forEach(function(e){void 0!==f(t,e)&&v(r,e,f(t,e))}),r):t}function C(e,t,r){v(r,e=Array.isArray(e)?e.join("."):e,t)}function A(r,n){return Array.isArray(r)?r.reduce(function(e,t){return n(t)?e=t:!k(t)||(t=A(t,n))&&(e=t),e},void 0):k(r)?n(r)?r:Object.keys(r).reduce(function(e,t){return!k(r[t])||(t=A(r[t],n))&&(e=t),e},void 0):void 0}function k(e){var t=!1;return t=e&&c(e)&&!s(e)&&!l(e)&&!u(e)?!0:t}function T(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 x(e,t){return-1!==e.indexOf(t)}var P=function(e,t){return(P=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}P(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var I=function(){return(I=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 O(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 _(){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 D,U=(e(j,D=Error),j);function j(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=b(r,"rootCause",r),(n=D.call(this,t)||this).operation=e,n.name="OperationError",n.rootCause=r,Object.setPrototypeOf(n,j.prototype),n.stack=b(r,"stack",(new Error).stack),n}function N(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 R(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 M(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)}function L(e){return"string"==typeof e?e.trim().toLowerCase().replace(/ +/g,"-").replace(/[^\w-]/g,"").replace(/-+/g,"-"):e}n.Level=void 0,(kt=n.Level||(n.Level={}))[kt.all=0]="all",kt[kt.debug=1]="debug",kt[kt.info=2]="info",kt[kt.warn=3]="warn",kt[kt.error=4]="error",kt[kt.off=5]="off";var F=(q.setLogLevel=function(e){this.logLevel=e},q.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,_([e],t))},q.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,_([e],t))},q.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,_([e],t))},q.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,_([e],t))},q.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,_([e],t))},q.isLevelPermitted=function(e){return this.logLevel<=e},q.logLevel=n.Level.off,q);function q(){}function G(e){return e.capabilities.includes("updateitemcontrol")}function B(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 H(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 W(e){var t=H(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 Y=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 K(e){console&&console.warn&&console.warn.apply(console,[e])}Y.prototype=Object.create(Error.prototype),Y.prototype.constructor=Y;var z,V="@esri/arcgis-rest-js",J={httpMethod:"POST",params:{f:"json"}},$=(e(X,z=Y),X.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=I(I({},o.options),{authentication:e});return i+=1,Q(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)})},X);function X(e,t,r,n,o){o=z.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 Q(n,e){void 0===e&&(e={params:{f:"json"}});var o=I(I(I({httpMethod:"POST"},J),e),{params:I(I({},J.params),e.params),headers:I(I({},J.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=I({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=""===W(s)?n:n+"?"+W(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=B(e)||t,r=H(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 W(e)}(s,r)),u.headers=I(I({},t),o.headers),"undefined"!=typeof window||u.headers.referer||(u.headers.referer=V),B(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 Y(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 Y(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 Y(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 Y(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(r,e,t){var n=I(I({params:{}},t),r);return n.params=e.reduce(function(e,t){return!r[t]&&"boolean"!=typeof r[t]||(e[t]=r[t]),e},n.params),["params","httpMethod","rawResponse","authentication","portal","fetch","maxUrlLength","headers"].reduce(function(e,t){return n[t]&&(e[t]=n[t]),e},{})}function ee(e){return"string"==typeof e&&"/"===(e=e.trim())[e.length-1]?e.slice(0,-1):e}function te(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 re(e,t){return t.rawResponse=!1,Q(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 ne(e,t){return"undefined"!=typeof window&&window.location&&window.location.host?t.params.referer=window.location.host:t.params.referer=V,Q(e,t)}var oe=/^https?:\/\/(\S+)\.arcgis\.com.+/;function ie(e){return oe.test(e)}function ae(e){if(!oe.test(e))return null;e=e.match(oe)[1].split(".").pop();return e.includes("dev")?"dev":e.includes("qa")?"qa":"production"}function se(e,t){t=ee(function(e){if(!oe.test(e))return e;switch(ae(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=ee(e).replace(/https?:\/\//,"");return new RegExp(e,"i").test(t)}var ue=(Object.defineProperty(ce.prototype,"token",{get:function(){return this._token},enumerable:!1,configurable:!0}),Object.defineProperty(ce.prototype,"tokenExpires",{get:function(){return this._tokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(ce.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(ce.prototype,"refreshTokenExpires",{get:function(){return this._refreshTokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(ce.prototype,"trustedServers",{get:function(){return console.log("DEPRECATED: use federatedServers instead"),this.federatedServers},enumerable:!1,configurable:!0}),ce.beginOAuth2=function(e,t){void 0===t&&(t=window),e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=I({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,l=r.state,p=r.locale,r=r.params,p="arcgis"===o?n+"/oauth2/authorize?client_id="+i+"&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+l+"&locale="+p:n+"/oauth2/social/authorize?client_id="+i+"&socialLoginProviderName="+o+"&autoAccountCreateForSocial=true&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+l+"&locale="+p;if(r&&(p=p+"&"+W(r)),u){var f,d=((f={promise:null,resolve:null,reject:null}).promise=new Promise(function(e,t){f.resolve=e,f.reject=t}),f);return t["__ESRI_REST_AUTH_HANDLER_"+i]=function(e,t){e?(e=JSON.parse(e),d.reject(new $(e.errorMessage,e.error))):t&&(t=JSON.parse(t),d.resolve(new ce({clientId:i,portal:n,ssl:t.ssl,token:t.token,tokenExpires:new Date(t.expires),username:t.username})))},t.open(p,"oauth-window",c),d.promise}t.location.href=p},ce.completeOAuth2=function(e,o){void 0===o&&(o=window);var t=I({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 ce({clientId:a,portal:i,ssl:t.ssl,token:t.token,tokenExpires:t.expires,username:t.username})}e=te(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})},ce.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(ce.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})},ce.authorize=function(e,t){e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=I({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()},ce.exchangeAuthorizationCode=function(e,t){var e=I({portal:"https://www.arcgis.com/sharing/rest",refreshTokenTTL:20160},e),r=e.portal,n=e.clientId,o=e.redirectUri,i=e.refreshTokenTTL;return re(r+"/oauth2/token",{params:{grant_type:"authorization_code",client_id:n,redirect_uri:o,code:t}}).then(function(e){return new ce({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})})},ce.deserialize=function(e){e=JSON.parse(e);return new ce({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})},ce.fromCredential=function(e){var t=void 0===e.ssl||e.ssl,r=e.expires||Date.now()+72e5;return new ce({portal:e.server.includes("sharing/rest")?e.server:e.server+"/sharing/rest",ssl:t,token:e.token,username:e.userId,tokenExpires:new Date(r)})},ce.parentMessageHandler=function(e){if("arcgis:auth:credential"===e.data.type)return ce.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},ce.prototype.toCredential=function(){return{expires:this.tokenExpires.getTime(),server:this.portal,ssl:this.ssl,token:this.token,userId:this.username}},ce.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=I(I({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingUserRequest=Q(r,e).then(function(e){return t._user=e,t._pendingUserRequest=null,e}),this._pendingUserRequest},ce.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=I(I({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingPortalRequest=Q(r,e).then(function(e){return t._portalInfo=e,t._pendingPortalRequest=null,e}),this._pendingPortalRequest},ce.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})},ce.prototype.getToken=function(e,t){return r=this.portal,n=e,o=ie(r),i=ie(n),r=ae(r),n=ae(n),o&&i&&r===n||new RegExp(this.portal,"i").test(e)?this.getFreshToken(t):this.getTokenForServer(e,t);var r,n,o,i},ce.prototype.validateAppAccess=function(r){return this.getToken(this.portal).then(function(e){return Q((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})},ce.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}},ce.prototype.serialize=function(){return JSON.stringify(this)},ce.prototype.enablePostMessageAuth=function(e,t){!t&&window&&(t=window),this._hostHandler=this.createPostMessageHandler(e),t.addEventListener("message",this._hostHandler,!1)},ce.prototype.disablePostMessageAuth=function(e){(e=!e&&window?window:e).removeEventListener("message",this._hostHandler,!1)},ce.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."))},ce.prototype.getServerRootUrl=function(e){var t=ee(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("/")},ce.prototype.getDomainCredentials=function(t){return this.trustedDomains&&this.trustedDomains.length&&this.trustedDomains.some(function(e){return t.startsWith(e)})?"include":"same-origin"},ce.prototype.createPostMessageHandler=function(o){var i=this;return function(e){var t=-1<o.indexOf(e.origin),r="arcgis:auth:requestCredential"===e.data.type,n=i.tokenExpires.getTime()>Date.now();t&&r&&(r={},r=n?((n=i.toCredential()).server=n.server.replace("/sharing/rest",""),{type:"arcgis:auth:credential",credential:n}):{type:"arcgis:auth:error",error:{name:"tokenExpiredError",message:"Session token was expired, and not returned to the child application"}},e.source.postMessage(r,e.origin))}},ce.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 Q(o+"/rest/info",{credentials:n.getDomainCredentials(t)}).then(function(e){if(e.owningSystemUrl){if(se(e.owningSystemUrl,n.portal))return Q(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()?ne(e,{params:{token:n.token,serverUrl:t,expiration:n.tokenDuration,client:"referer"}}):ne(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])},ce.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])},ce.prototype.refreshWithUsernameAndPassword=function(e){var t=this,e=I({params:{username:this.username,password:this.password,expiration:this.tokenDuration}},e);return ne(this.portal+"/generateToken",e).then(function(e){return t._token=e.token,t._tokenExpires=new Date(e.expires),t})},ce.prototype.refreshWithRefreshToken=function(e){var t=this;if(this.refreshToken&&this.refreshTokenExpires&&this.refreshTokenExpires.getTime()<Date.now())return this.refreshRefreshToken(e);e=I({params:{client_id:this.clientId,refresh_token:this.refreshToken,grant_type:"refresh_token"}},e);return re(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t})},ce.prototype.refreshRefreshToken=function(e){var t=this,e=I({params:{client_id:this.clientId,refresh_token:this.refreshToken,redirect_uri:this.redirectUri,grant_type:"exchange_refresh_token"}},e);return re(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})},ce.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})},ce);function ce(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?ee(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={}}function le(e){e=e.privileges;return x(void 0===e?[]:e,"portal:user:createItem")}function pe(e,t){var r,n=!1,o=e.itemControl,i=e.owner,a=e.orgId,s=t.roleId,u=t.role,c=t.username,l=t.groups,p=t.orgId,u=x(["admin","update"],o)||!!i&&i===c||!!(!!a&&a===p)&&!s&&"org_admin"===u,t=le(t);return t&&u?n=!0:t&&(r=_(f(e,"groupIds")||[],[f(e,"properties.collaborationGroupId")]),n=l.some(function(e){return G(e)&&x(r,e.id)})),n}var fe=["portal:user:createGroup","portal:user:createItem","portal:user:shareToGroup","portal:user:viewOrgGroups","portal:user:viewOrgItems"];function de(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 he(e){return(e=void 0===e?{}:e).portal?ee(e.portal):e.authentication?e.authentication.portal:"https://www.arcgis.com/sharing/rest"}function me(e){var t=JSON.parse(JSON.stringify(e));return t.data&&("undefined"!=typeof Blob&&e.data instanceof Blob||"ReadStream"===e.data.constructor.name?t.file=e.data:t.text=e.data,delete t.data),t}function ge(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 ye(t){return ge(t).then(function(e){e=t.folderId?he(t)+"/content/users/"+e+"/"+t.folderId+"/items/"+t.item.id+"/update":he(t)+"/content/users/"+e+"/items/"+t.item.id+"/update";return t.params=I(I({},t.params),me(t.item)),Q(e,t)})}function ve(e){var r,e=I({folderId:null},e);return(r=e).multipart&&!r.filename?Promise.reject(new Error("The filename is required for a multipart request.")):ge(r).then(function(e){var t=he(r)+"/content/users/"+e,e=t+"/addItem";return r.folderId&&(e=t+"/"+r.folderId+"/addItem"),r.params=I(I({},r.params),me(r.item)),Q(e,Z(r,["owner","folderId","file","dataUrl","text","async","multipart","filename","overwrite"],{params:I({},r.params)}))})}function be(e,t){return Q(we(e,t),I({httpMethod:"GET"},t))}var we=function(e,t){return("string"==typeof t?t:he(t))+"/content/items/"+e};function Se(e,t){e=we(e,t)+"/data",t=I({httpMethod:"GET",params:{}},t);return t.file&&(t.params.f=null),Q(e,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})}function Ce(e){var t=we(e.id,e)+"/relatedItems",r=I({httpMethod:"GET",params:{direction:e.direction}},e);return"string"==typeof e.relationshipType?r.params.relationshipType=e.relationshipType:r.params.relationshipTypes=e.relationshipType,delete r.direction,delete r.relationshipType,Q(t,r)}function Ae(t){return ge(t).then(function(e){return Q(he(t)+"/content/users/"+e+"/items/"+t.id+"/unprotect",t)})}function ke(e){return t=e.groupId,Q(he(e=e)+"/community/groups/"+t,I({httpMethod:"GET"},e)).then(function(e){return e.userMembership.memberType}).catch(function(){return"none"});var t}function Te(t){return ge(t).then(function(e){return Q(he(t)+"/content/users/"+e+"/items/"+t.id+"/delete",t)})}var xe=(Pe.prototype.match=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.termStack=this.termStack.concat(e),this},Pe.prototype.in=function(e){return this.hasRange||this.hasTerms?(e&&"*"!==e&&(this.q+=e+":"),this.commit()):(K("`in("+(e?'"'+e+'"':"")+")`"+" was called with no call to `match(...)` or `from(...)`/`to(...)`. Your query was not modified."),this)},Pe.prototype.startGroup=function(){return this.commit(),0<this.openGroups&&(this.q+=" "),this.openGroups++,this.q+="(",this},Pe.prototype.endGroup=function(){return this.openGroups<=0?K("`endGroup(...)` was called without calling `startGroup(...)` first. Your query was not modified."):(this.commit(),this.openGroups--,this.q+=")"),this},Pe.prototype.and=function(){return this.addModifier("and")},Pe.prototype.or=function(){return this.addModifier("or")},Pe.prototype.not=function(){return this.addModifier("not")},Pe.prototype.from=function(e){return this.hasTerms?K('`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},Pe.prototype.to=function(e){return this.hasTerms?K('`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},Pe.prototype.boost=function(e){return this.commit(),this.q+="^"+e,this},Pe.prototype.toParam=function(){return this.commit(),this.cleanup(),this.q},Pe.prototype.clone=function(){return this.commit(),this.cleanup(),new Pe(this.q+"")},Pe.prototype.addModifier=function(e){return this.currentModifer?(K("You have called `"+this.currentModifer+"()` after `"+e+"()`. Your current query was not modified."),this):(this.commit(),""===this.q&&"not"!==e?K("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)},Pe.prototype.needsQuotes=function(e){return/\s|:/g.test(e)},Pe.prototype.formatTerm=function(e){return e instanceof Date?e.getTime():"string"==typeof e&&this.needsQuotes(e)?'"'+e+'"':e},Pe.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(Pe.prototype,"hasTerms",{get:function(){return 0<this.termStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(Pe.prototype,"hasRange",{get:function(){return this.rangeStack.length&&this.rangeStack[0]&&this.rangeStack[1]},enumerable:!1,configurable:!0}),Pe.prototype.cleanup=function(){if(0<this.openGroups)for(K("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&&K("`startGroup(...)` was called without calling `endGroup(...)` first. Your query was not modified."),this.q=this.q.replace(/(\(\))*/,"")},Pe);function Pe(e){void 0===e&&(e=""),this.termStack=[],this.rangeStack=[],this.openGroups=0,this.q=e}function Ie(r,n){var e,t="string"==typeof r||r instanceof xe?{httpMethod:"GET",params:{q:r}}:Z(r,["q","num","start","sortField","sortOrder","searchUserAccess","searchUserName","filter","countFields","countSize","categories","categoryFilters"],{httpMethod:"GET"});switch(n){case"item":e="/search";break;case"group":e="/community/groups";break;case"groupContent":if("string"==typeof r||r instanceof xe||!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 Q(he(t)+e,t).then(function(t){return t.nextStart&&-1!==t.nextStart&&(t.nextPage=function(){var e;return"string"==typeof r||r instanceof xe?e={q:r,start:t.nextStart}:(e=r).start=t.nextStart,Ie(e,n)}),t})}function Ee(e){return Ie(e,"item")}function Oe(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 _e(e){var t=e.id,r=he(e)+"/community/groups/"+t+"/addUsers",t=Object.assign({},e,{admins:void 0,users:void 0}),t=_(De("users",e.users,t),De("admins",e.admins,t)).map(function(e){return Q(r,e).catch(function(e){return{errors:[e]}})});return Promise.all(t).then(Ue)}function De(o,e,i){return!e||e.length<1?[]:Oe(e,25).map(function(e){return t=o,r=e,n=i,Object.assign({},n,((e={})[t]=r,e.params=I(I({},n.params),((n={})[t]=r,n)),e));var t,r,n})}function Ue(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 je(t){var e=t.id,r=t.users,n=he(t)+"/community/groups/"+e+"/removeUsers",r=Oe(r,25).map(function(e){e=I(I({},t),{users:e,params:{users:e}});return Q(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?I(I({},t),{errors:r}):t})}function Ne(e){var t,r=e.id,n=he(e)+"/community/groups/"+r+"/invite",e=Oe((t=e).users,25).map(function(e){return function(e,t){t=Object.assign({},t);return t.params=I(I({},t.params),{users:e,role:t.role,expiration:t.expiration}),t}(e,t)}).map(function(e){return Q(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(Re)}function Re(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 Me(e){return Q(he(e)+"/community/groups/"+e.id+"/unprotect",e)}function Le(e){return Q(he(e)+"/community/groups/"+e.id+"/delete",I({},e))}function Fe(e){var t=he(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,Q(t,r)}function qe(e){var n,t=he(e)+"/portals/self/createNotification",e=Oe((n=e).users,n.batchSize||25).map(function(e){return t=e,r=n,(e=Object.assign({},r)).params=I(I({},e.params),{users:t,subject:r.subject,message:r.message,notificationChannelType:e.notificationChannelType}),e;var t,r}).map(function(e){return Q(t,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(Ge)}function Ge(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){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=he(e)+"/community/users/"+encodeURIComponent(t),n=I(I({},e),n)),Q(r,n)}function He(t){return Ee({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 We(a){return He(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 Ye(a);var o=!1,i=!1;return Promise.all([Be({username:t,authentication:a.authentication}),Be({username:e,authentication:a.authentication}),ke(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(Ke(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),Ke(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(Ke(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 Ye(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 Ye(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.authentication.username,o=e.owner||n,i=he(e)+"/content/items/"+e.id+"/share";return(o===n||t&&!r)&&(i=he(e)+"/content/users/"+o+"/items/"+e.id+"/share"),e.params={groups:e.groupId,confirmItemControl:e.confirmItemControl},Q(i,e)}function Ke(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=Fe({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 Fe({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=_e(((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 je({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 ze(o){return He(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([ke(o),Be({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=he(e)+"/content/items/"+e.id+"/unshare";r===t&&(n=he(e)+"/content/users/"+r+"/items/"+e.id+"/unshare");return e.params={groups:e.groupId},Q(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 Ve(e){return function(e,t){e=e||"self",e=he(t)+"/portals/"+e,t=I({httpMethod:"GET"},t);return Q(e,t)}(null,e)}function Je(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 Je(he(e))}var $e={devext:"https://d1011m9qpnz5mw.cloudfront.net",qaext:"https://dyq9ux9ryu4qj.cloudfront.net",www:"https://d1iq7pbacwn5rb.cloudfront.net"};function Xe(e){if(e.isPortal)return Je(e)+"/apps/sites";e=e.portalHostname.split(".")[0];return($e[e]||$e.www)+"/opendata-ui/assets"}function Qe(e){return Je(e)+"/sharing/rest"}function Ze(e){return e=(e=e.toLowerCase()).includes("//")?e.split("//")[1]:e}function et(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 tt(e){if(e.isPortal)throw new Error("Hub Url is not available in ArcGIS Enterprise");return et(e.portalHostname)}var rt=function(e,t,r){var n=e.id,e=e.access,t=Qe(t)+"/content/items/"+n,n=new URLSearchParams({f:"json"});return"public"!==e&&r&&n.append("token",r),t+"?"+n.toString()};function nt(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 ot(e){var t=e;return e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://qaext.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://devext.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://www.arcgis.com"),t}var it=/\/(map|feature)server/i,at=function(e){e=e.match(it),e=e&&e[1];return e&&t(e)+" Service"};function st(e){var t=e&&e.hubApiUrl;return t||et(Qe(e))}var ut="/api/v3/domains",ct="/api/v3/datasets",lt="/api/discussions/v1",pt=(Object.defineProperty(ft.prototype,"session",{get:function(){return this._authentication},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"isAuthenticated",{get:function(){return!!this._authentication},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"userRequestOptions",{get:function(){if(this.isAuthenticated)return{authentication:this._authentication,portal:this.sharingApiUrl}},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"requestOptions",{get:function(){var e={portal:this.sharingApiUrl};return e=this.isAuthenticated?{authentication:this._authentication,portal:this.sharingApiUrl}:e},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"hubRequestOptions",{get:function(){if(this.isAuthenticated)return{authentication:this.session,isPortal:this.isPortal,portalSelf:this.portal,hubApiUrl:this.hubUrl}},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"portalUrl",{get:function(){return this.isAuthenticated?this.isPortal?"https://"+this._portalSelf.portalHostname:"https://"+this._portalSelf.urlKey+"."+this._portalSelf.customBaseUrl:this._portalUrl},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"sharingApiUrl",{get:function(){return this.portalUrl+"/sharing/rest"},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"hubUrl",{get:function(){return this._hubUrl},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"isPortal",{get:function(){return this._portalSelf?this._portalSelf.isPortal:-1===this._portalUrl.indexOf("arcgis.com")},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"discussionsServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+lt},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"hubSearchServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+ct},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"domainServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+ut},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"eventsConfig",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.events")},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"hubEnabled",{get:function(){return b(this._portalSelf,"portalProperties.hub.enabled",!1)},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"communityOrgId",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.communityOrg.orgId")},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"communityOrgHostname",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.communityOrg.portalHostname")},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"communityOrgUrl",{get:function(){if(this.communityOrgHostname)return"https://"+this.communityOrgHostname},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"helperServices",{get:function(){if(this._portalSelf)return this._portalSelf.helperServices},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"currentUser",{get:function(){return this._currentUser},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"portal",{get:function(){return this._portalSelf},enumerable:!1,configurable:!0}),Object.defineProperty(ft.prototype,"properties",{get:function(){return this._properties},enumerable:!1,configurable:!0}),ft);function ft(e){this._portalUrl="https://www.arcgis.com",this.id=e.id,this._portalUrl=e.portalUrl,this._hubUrl=e.hubUrl,e.authentication&&(this._authentication=e.authentication),e.portalSelf&&(this._portalSelf=e.portalSelf),e.currentUser&&(this._currentUser=e.currentUser),e.properties&&(this._properties=e.properties)}var dt=(ht.create=function(r){return void 0===r&&(r={}),E(this,void 0,void 0,function(){var t;return O(this,function(e){switch(e.label){case 0:return[4,(t=new ht(r)).initialize()];case 1:return e.sent(),[2,t]}})})},ht.prototype.setAuthentication=function(t){return E(this,void 0,void 0,function(){return O(this,function(e){switch(e.label){case 0:return this._authentication=t,this._portalUrl=t.portal.replace("/sharing/rest",""),[4,this.initialize()];case 1:return e.sent(),[2]}})})},ht.prototype.setProperties=function(e){this._properties=e,this._context=new pt(this.contextOpts)},ht.prototype.clearAuthentication=function(){this._context.isPortal||(this._portalUrl=ot(this._portalUrl)),this._authentication=null,this._portalSelf=null,this._currentUser=null,this._context=new pt(this.contextOpts)},Object.defineProperty(ht.prototype,"context",{get:function(){return this._context},enumerable:!1,configurable:!0}),ht.prototype.initialize=function(){return E(this,void 0,void 0,function(){var t,r,n;return O(this,function(e){switch(e.label){case 0:if(!this._authentication||this._portalSelf&&this._currentUser)return[3,4];F.debug("ArcGISContextManager-"+this.id+": Initializing"),t=this._authentication.username,t=[Ve({authentication:this._authentication}),Be({username:t,authentication:this._authentication})],e.label=1;case 1:return e.trys.push([1,3,,4]),[4,Promise.all(t)];case 2:return n=e.sent(),r=n[0],n=n[1],this._portalSelf=r,this._currentUser=n,F.debug("ArcGISContextManager-"+this.id+": received portalSelf and currentUser"),[3,4];case 3:throw r=e.sent(),n='ArcGISContextManager could not fetch portal & user for "'+this._authentication.username+'" using '+this._authentication.portal+".",F.error(n),console.error(n),r;case 4:return F.debug("ArcGISContextManager-"+this.id+": updating context"),this._context=new pt(this.contextOpts),[2]}})})},Object.defineProperty(ht.prototype,"contextOpts",{get:function(){var e={id:this.id,portalUrl:this._portalUrl,hubUrl:this._hubUrl,properties:this._properties};return this._authentication&&(e.authentication=this._authentication),this._portalSelf&&(e.portalSelf=this._portalSelf),this._currentUser&&(e.currentUser=this._currentUser),e},enumerable:!1,configurable:!0}),ht);function ht(e){this._portalUrl="https://www.arcgis.com",this._logLevel=n.Level.error,this.id=(new Date).getTime(),e.logLevel&&(this._logLevel=e.logLevel),F.setLogLevel(this._logLevel),F.debug("ArcGISContextManager:ctor: Creating "+this.id),e.properties&&(this._properties=e.properties),e.authentication?(this._authentication=e.authentication,this._portalUrl=this._authentication.portal.replace("/sharing/rest","")):e.portalUrl&&(this._portalUrl=e.portalUrl),this._hubUrl=nt(this._portalUrl),e.portal&&(this._portalSelf=p(e.portal)),e.currentUser&&(this._currentUser=p(e.currentUser))}var mt={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"]},gt=mt.app,yt=mt.dataset,vt=mt.document,bt=mt.event,wt=mt.feedback,St=mt.initiative,Ct=mt.map,At=mt.other,kt=mt.site,Tt=["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"],xt=["Data"],Pt={app:gt.concat(wt),dataset:yt,document:vt,event:bt,initiative:St,map:Ct,other:At,site:kt,downloadableTypes:Tt,downloadableTypeKeywords:xt,apiTypes:["Feature Service","Map Service","Image Service"]};function It(e){return-1!==Tt.indexOf(e.type)||e.typeKeywords&&xt.some(function(t){return e.typeKeywords.some(function(e){return e===t})})}function Et(e){return[[e.xmin,e.ymin],[e.xmax,e.ymax]]}var Ot={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}};function _t(e){var t=e.portalSelf,r=t.defaultExtent,t=f(t,"helperServices.geometry.url");if(!t)return Promise.resolve(Ot);if(!r)return Promise.resolve(Ot);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),Q(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 Ot})}var Dt=function(e){return Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[1])};function Ut(e){return console.warn("DEPRECATED: use isBBox() instead"),Dt(e)}function jt(e){var t=(n=e[0])[0],r=n[1],e=(n=e[1])[0],n=n[1];return{rings:[[[t,r],[e,r],[e,n],[t,n],[t,r]]],spatialReference:{wkid:4326}}}var Nt=[{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 Rt(r){var e={type:(r=r||"")?"custom":"none",text:r},t=!1,n=Nt.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 Mt=function(e,t){var r=I(I({},e.item),{extent:t}),r=I(I({},e),{item:r,extent:t}),t=Lt(r);return I(I({},r),{boundary:t})},Lt=function(e){var t,e=e.item,r=e.extent,n=Dt(r),e=(null===(e=e.properties)||void 0===e?void 0:e.boundary)||(n?"item":void 0);switch(e){case"item":t=n?jt(r):null;break;case"none":t=null}return{provenance:e,geometry:t}};var Ft={};function qt(e){void 0===e&&(e=""),console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v10.0.0");e=Bt(e);return"feedback"===e?"app":e}function Gt(e){var t=(e=void 0===e?{}:e).type,r=e.typeKeywords||[];return("Site Application"===e.type||"Web Mapping Application"===e.type&&x(r,"hubSite"))&&(t="Hub Site Application"),("Site Page"===e.type||"Web Mapping Application"===e.type&&x(r,"hubPage"))&&(t="Hub Page"),"Hub Initiative"===e.type&&x(r,"hubInitiativeTemplate")&&(t="Hub Initiative Template"),t="Web Mapping Application"===e.type&&x(r,"hubSolutionTemplate")?"Solution":t}function Bt(e){if(Ft[e=void 0===e?"":e])return Ft[e];for(var t=0,r=Object.keys(mt);t<r.length;t++)for(var n=r[t],o=0,i=mt[n];o<i.length;o++){var a=i[o];if(e.toLowerCase()===a.toLowerCase())return Ft[e]=n}}function Ht(e){return e&&"feature service"===e.toLowerCase()}function Wt(e){return(e=e&&e.match(/\/\d+$/))&&e[0].slice(1)}function Yt(e){return Wt(e.url)||Ht(e.type)&&x(e.typeKeywords,"Singlelayer")&&"0"}function Kt(t,e){if(x(["template","feedback"],t.family))return t.id;if(cr(t)){var r=(f(e,"data.values.pages")||[]).find(function(e){return e.id===t.id});return r?r.slug:t.id}if(t.slug){r=f(e,"domainInfo.orgKey");return f(e,"data.values.isUmbrella")?t.slug:Vt(t.slug,r)}return t.hubId||t.id}function zt(e){e=e?e.split("_"):[];return{itemId:e[0],layerId:e[1]}}function Vt(e,t){return t&&e.match(t+"::")?e.split(t+"::")[1]:e}function Jt(e){if(!e)return e;var t=["categories",""];return e.map(function(e){return e.split("/")}).reduce(function(e,t,r){return _(e,t)},[]).filter(function(e){return!x(t,e.toLowerCase())})}function $t(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 Xt(e){return console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v10.0.0"),Bt(Gt(e="string"==typeof e?{type:e}:e))}function Qt(e){var t=new Date(e.created),r="item.created",n=e.properties,r=Object.assign({},e,{identifier:e.id,errors:[],item:e,name:e.title,hubType:Xt(e),categories:Jt(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:It(e),license:{name:"Custom License",description:e.accessInformation},createdDate:t,createdDateSource:r,publishedDate:t,publishedDateSource:r,updatedDate:new Date(e.modified),updatedDateSource:"item.modified",structuredLicense:Rt(e.licenseInfo)});return Mt(rr(r,e.type),e.extent)}function Zt(e){if(e){var t=e.id,r=e.attributes;if(r){var n=zt(t).itemId,o=r.owner,i=r.orgId,a=r.created,s=r.modified,u=r.name,c=r.title,l=r.type,p=r.typeKeywords,f=r.description,d=r.snippet,h=r.tags,m=r.thumbnail,g=r.categories,y=r.contentStatus,v=r.spatialReference,b=r.accessInformation,w=r.licenseInfo,S=r.culture,C=r.url,A=r.access,k=r.proxyFilter,T=r.properties,x=r.appCategories,P=r.industries,I=r.languages,E=r.largeThumbnail,O=r.banner,_=r.screenshots,D=r.listed,U=r.ownerFolder,j=r.size,N=r.protected,R=r.commentsEnabled,M=r.numComments,L=r.numRatings,F=r.avgRating,q=r.numViews,G=r.itemControl,B=r.scoreCompleteness,H=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:C&&at(C)||l,typeKeywords:p,description:f,tags:h,snippet:d,thumbnail:m,extent:H||[],categories:g,contentStatus:y,spatialReference:v||r,accessInformation:b,licenseInfo:w,culture:S,url:C,access:A,size:j,protected:N,proxyFilter:k,properties:T,appCategories:x,industries:P,languages:I,largeThumbnail:E,banner:O,screenshots:_,listed:D,ownerFolder:U,commentsEnabled:R,numComments:M,numRatings:L,avgRating:F,numViews:q,itemControl:G,scoreCompleteness:B}}}}function er(e,t){var r=e.id,r=e.slug||t||r,r=I(I({},e),{hubId:t,identifier:r});return ar(r,{relative:sr(r)})}function tr(e,t){var r=Kt(e,t);return{relative:r=sr(e,r),absolute:""+f(t,"item.url").replace(/\/$/,"")+r}}var rr=function(e,t){var r=Gt(I(I({},e.item),{type:t})),n=$t(r),o=nr(r),t=or(r,e.isProxied),t=I(I({},e),{type:r,family:n,normalizedType:r,contentTypeIcon:o,contentTypeLabel:t});return ar(t,{relative:sr(t)})},nr=function(e){return null!==(e={appbuilderExtension:"file",appbuilderWidgetPackage:"widgets-source",application:"web",applicationConfiguration:"app-gear",arcgisProMap:"desktop",cadDrawing:"file-cad",cityEngineWebScene:"urban-model",codeAttachment:"file-code",codeSample:"file-code",colorSet:"palette",contentCategorySet:"label",csv:"file-csv",cSV:"file-csv",cSVCollection:"file-csv",dashboard:"dashboard",desktopApplication:"desktop",documentLink:"link",excaliburImageryProject:"file",explorerMap:"file",exportPackage:"file",featureCollection:"data",featureCollectionTemplate:"file",featureLayer:"data",featureService:"collection",fileGeodatabase:"data",form:"survey",geocodingService:"file",geodataService:"file",geometryService:"file",geopackage:"file",geoprocessingService:"file",globeLayer:"layers",globeService:"file",hubInitiative:"initiative",hubInitiativeTemplate:"initiative-template",hubPage:"browser",hubSiteApplication:"web",image:"file-image",imageService:"data",insightsModel:"file",insightsPage:"graph-moving-average",insightsTheme:"palette",insightsWorkbook:"graph-moving-average",iWorkPages:"file-text",iWorkKeynote:"presentation",iWorkNumbers:"file-report",kML:"data",kMLCollection:"data",layer:"layers",layerPackage:"layers",layerTemplate:"file",locatorPackage:"file",mapArea:"file",mapDocument:"map-contents",mapImageLayer:"collection",mapPackage:"file",mapService:"collection",microsoftExcel:"file-report",microsoftPowerpoint:"presentation",microsoftWord:"file-text",mission:"file",mobileMapPackage:"map-contents",nativeApplication:"mobile",nativeApplicationInstaller:"file",nativeApplicationTemplate:"file",mobileApplication:"mobile",networkAnalysisService:"file",notebook:"code",orientedImageryCatalog:"file",orthoMappingProject:"file",orthoMappingTemplate:"file",pDF:"file-pdf",quickCaptureProject:"mobile",rasterFunctionTemplate:"file",rasterLayer:"map",realTimeAnalytic:"file",relationalDatabaseConnection:"file",reportTemplate:"file",sceneLayer:"data",sceneService:"urban-model",serviceDefinition:"file",shapefile:"data",solution:"puzzle-piece",sqliteGeodatabase:"file",statisticalDataCollection:"file",storymap:"tour",storyMap:"tour",storymapTheme:"palette",symbolSet:"file",table:"table",urbanModel:"urban-model",vectorTilePackage:"file-shape",vectorTileService:"map",visioDocument:"conditional-rules",webExperience:"apps",webMap:"map",webMappingApplication:"apps",webScene:"urban-model",wfs:"map",wFS:"map",wMS:"map",wMTS:"map",workflowManagerService:"file",workforceProject:"list-check"}[m(e||"")])&&void 0!==e?e:"file"},or=function(e,t){return t?"CSV":m(e||"")},ir=function(e,t){var r=tr(e,t),t=r.relative,r=r.absolute;return ar(e,{relative:t,site:r})},ar=function(e,t){t=I(I({},e.urls),t);return I(I({},e),{urls:t})},sr=function(e,t){var r=e.family,n=t||e.identifier,o=ur(e);return o||(t="/content","feedback"===e.family?t="/feedback/surveys":cr(e)?t="/pages":-1<["app","dataset","document","map","template"].indexOf(r)&&(t="/"+r+"s"),o=t+"/"+n),o},ur=function(e){var t,r=e.type,n=e.identifier;return"Solution"===r&&(0<(null===(e=e.typeKeywords)||void 0===e?void 0:e.indexOf("Deployed"))&&(t="/content/"+n),t="/templates/"+n+"/about"),t},cr=function(e){return x(["Hub Page","Site Page"],e.type)};const lr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const pr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var fr={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=lr.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 pr[e];return}(n[e])}return r}},dr="4326",hr={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 mr(e){if("object"!=typeof e)return e;var t=e.wkid,e=e.wkt;return t?t+"":fr.btoa(e)}function gr(e){return"spatialRefId:"+mr(function(t){var r;try{r=JSON.parse(t)}catch(e){r=t}return r}(e))}function yr(e){return"exportItem:"+e}function vr(e){return e?"exportLayer:0"+e:"exportLayer:null"}function br(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(b(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 wr(t,e){var r;return t&&(r=!f(t,"notAdded.length")&&!t.errors,e.autoAddResult={success:r},r||(r=t.errors||[],f(t,"notAdded.length")&&r.push(new Y("Users not auto-added: "+t.notAdded.join(", "))),e.autoAddResult.errors=r,r=e.usersToAutoAdd.filter(function(e){return x(t.notAdded,e.username)}),e.usersToInvite=e.usersToInvite.concat(r))),e}function Sr(e,t){return e.orgId===t.orgId}function Cr(e){return"org_admin"===e.role&&!e.roleId}function Ar(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=qe(e)),o}function kr(t){var r,e=Promise.resolve(t);return t.email&&t.secondaryRO&&f(t,"inviteResult.success")&&(r=b(t,"secondaryRO.portalSelf.user",{}),e=Ar(t.usersToInvite.filter(function(e){return Sr(e,r)}),t.email,t.secondaryRO.authentication,Cr(r)).then(function(e){return t.secondaryEmailResult=e,t})),e}function Tr(e,t,r){var n=Promise.resolve(null);return n=t.length?_e({id:e,users:t.map(function(e){return e.username}),authentication:r}):n}function xr(t){return Tr(f(t,"groupId"),f(t,"usersToAutoAdd"),f(t,"primaryRO.authentication")).then(function(e){return wr(e,t)})}function Pr(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?Ne({id:e,users:t.map(function(e){return e.username}),authentication:r,role:o,expiration:n}):i}function Ir(t){return Pr(f(t,"groupId"),f(t,"usersToInvite"),f(t,"primaryRO.authentication")).then(function(e){return t.inviteResult=e,t})}function Er(t){var e=Promise.resolve(t);return e=t.email&&f(t,"inviteResult.success")?Ar(t.usersToEmail,t.email,t.primaryRO.authentication,Cr(t.requestingUser)).then(function(e){return t.primaryEmailResult=e,t}):e}function Or(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 _r(e,t){var r=Or(e,t);return e.filter(function(t){return!r.some(function(e){return e.username===t.username})})}function Dr(e,t,r){void 0===r&&(r=!1);e=_r(e,t).filter(function(e){return Sr(e,t)});return r&&e.push(t),e}var Ur=["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"];function jr(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 Nr(e){var t=p(e.item);return t.text=JSON.stringify(e.data),t}function Rr(e,t){return Promise.all([be(e,t),Se(e,t)]).then(function(e){return{item:e[0],data:e[1]}})}function Mr(e,r){return un(e,r).then(function(e){var t=[Promise.resolve(e)];return e?t.push(Se(e.id,r)):t.push(Promise.resolve(null)),Promise.all(t)}).then(function(e){return e[0]?{item:e[0],data:e[1]}:null})}function Lr(e,t){var r=p(e),n=p(e.item);return n.data=p(e.data),ve(I({item:n},t)).then(function(e){return r.item.id=e.id,r.item.created=(new Date).getTime(),r.item.modified=r.item.created,r})}function Fr(e,t){var r=p(e),n=p(e.item);return n.data=p(e.data),ye(I({item:n},t)).then(function(){return r.item.modified=(new Date).getTime(),r})}var qr=function(e,t,r){return void 0===r&&(r=void 0),t.split(".").reduce(function(e,t){return e?e[t]:r},e)};function Gr(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}var Br=function(e){return e instanceof Date},Hr=function(e){return"function"==typeof e},Wr=function(e){return"object"==typeof e},Yr=function(e){return e instanceof RegExp};var Kr=function(e){return"object"==typeof e};function zr(e){return Array.isArray(e)?function(e){var t=e,e=e.reduce(function(e,t){return $r(t)&&Jr(t)&&(e<(t=Vr(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&&Kr(e)?function(o){var e=Object.keys(o).reduce(function(e,t){var r,n=o[t];return $r(n)&&Jr(n)?(r=Vr(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}(Gr(e,t)):function(e){var t=e;"string"==typeof e&&Jr(e)&&(t=function(e){var t=e,e=Vr(e);t=0===e?void 0:"{{delete:"+e+"}}";return t}(e));return t}(e);function t(e,t){return zr(e)}}var Vr=function(e){return parseInt(e.replace(/{|}/g,"").split(":")[1])};function Jr(e){return e&&"string"==typeof e&&-1<e.indexOf("{{delete")}var $r=function(e){return"string"==typeof e};function Xr(e,t,r,n){return void 0===n&&(n=0),t?t:"{{delete:"+n+"}}"}var Qr=function(e){var t={};if(Array.isArray(e))t=e.map(Qr);else if("object"==typeof e)for(var r in e)null!=e[r]&&"object"==typeof e[r]?t[r]=Qr(e[r]):t[r]=e[r];else t=e;return t},Zr=/{{\s*?[\w].*?}}/g,en=function(e){return"string"==typeof e};function tn(e){return e||""===e||0===e}function rn(e,a,s){if((s=Qr(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=Xr,zr(function r(e,n,o){return o=o||"",Array.isArray(e)?e.map(t):!e||!Wr(e)||Br(e)||Yr(e)||Hr(e)?n(e,o):Object.assign({},e,Gr(e,t));function t(e,t){return r(e,n,o?o+"."+t:t)}}(e,function(t,e){if(!en(t))return t;var r,n=t.match(Zr);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=qr(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=qr(t,a),n=r[s](a,n,t,i)}else n=qr(t,e);return n}(t,a,s),r.value=tn(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)}),tn(r)?r:t):t}))}function nn(e,t,r){return rn(e,t,r)}function on(e,t,r){return Ee({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 an(e,t){return t.toLowerCase()+"-"+L(e)}function sn(e,t){e=e.filter(function(e){return!e.startsWith("slug|")});return e.push("slug|"+t),e}function un(e,t){return Ee({q:"",filter:'typekeywords:"slug|'+e+'"',authentication:t.authentication}).then(function(e){return e.results.length?e.results[0]:null}).catch(function(e){throw Error("Error in getItemBySlug "+e)})}function cn(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return un(o,r).then(function(e){return e?cn(t,r,++n):o}).catch(function(e){throw Error("Error in getUniqueSlug "+e)})}var ln=["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"];var pn=(fn.prototype.modelToObject=function(e,t){return r=this.mappings,dn(e,"modelKey",t,"objectKey",r);var r},fn.prototype.objectToModel=function(e,t){return r=this.mappings,dn(e,"objectKey",t,"modelKey",r);var r},fn);function fn(e){this.mappings=e}function dn(r,n,e,o,t){var i=p(e);return t.forEach(function(e){var t=f(e,n),e=f(e,o),t=f(r,t);null!=t&&v(i,e,t)}),i}var Ct="Web Mapping Application",hn={name:"No title provided",tags:[],typeKeywords:["IHubProject","HubProject"]},mn={item:{type:Ct,title:"No Title Provided",description:"No Description Provided",snippet:"",tags:[],typeKeywords:[],properties:{slug:""}},data:{display:"about",timeline:{},org:{},status:"inactive",contacts:[],schemaVersion:1}};function gn(){var t=[];return["created","culture","description","extent","id","modified","owner","snippet","tags","typeKeywords","url","type"].forEach(function(e){t.push({objectKey:e,modelKey:"item."+e})}),["contacts","display","geometry","headerImage","layout","location","status"].forEach(function(e){t.push({objectKey:e,modelKey:"data."+e})}),t.push({objectKey:"slug",modelKey:"item.properties.slug"}),t.push({objectKey:"orgUrlKey",modelKey:"item.properties.orgUrlKey"}),t.push({objectKey:"name",modelKey:"item.title"}),t}function yn(i,a){return E(this,void 0,void 0,function(){var t,r,n,o;return O(this,function(e){switch(e.label){case 0:return(t=I(I({},hn),i)).slug||(t.slug=an(t.name,t.orgUrlKey)),[4,cn((r=t).slug,a)];case 1:return r.slug=e.sent(),t.typeKeywords=sn(t.typeKeywords,t.slug),n=new pn(gn()),[4,Lr(o=n.objectToModel(t,p(mn)),a)];case 2:return o=e.sent(),[2,n.modelToObject(o,{})]}})})}function vn(o,i){return E(this,void 0,void 0,function(){var t,r,n;return O(this,function(e){switch(e.label){case 0:return[4,cn((t=o).slug,i)];case 1:return t.slug=e.sent(),[4,Rr(o.id,i)];case 2:return n=e.sent(),r=new pn(gn()),[4,Fr(r.objectToModel(o,n),i)];case 3:return n=e.sent(),[2,r.modelToObject(n,o)]}})})}function bn(e,t){t=(M(e)?Rr:Mr)(e,t);return t.then(function(e){return new pn(gn()).modelToObject(e,{})})}function wn(t,r){return E(this,void 0,void 0,function(){return O(this,function(e){switch(e.label){case 0:return[4,Te(I(I({},r),{id:t}))];case 1:return e.sent(),[2]}})})}var Sn=(Cn.init=function(e){return new Cn(e)},Object.defineProperty(Cn.prototype,"context",{get:function(){return this._contextManager?this._contextManager.context:this._context},enumerable:!1,configurable:!0}),Cn.prototype.create=function(t,r){return E(this,void 0,void 0,function(){return O(this,function(e){if(r||this.context.isAuthenticated)return t.orgUrlKey||(t.orgUrlKey=this.context.portal.urlKey),[2,yn(t,r||this.context.userRequestOptions)];throw new Uo("Create Project","Creating Hub Projects requires authentication.")})})},Cn.prototype.update=function(t,r){return E(this,void 0,void 0,function(){return O(this,function(e){if(r||this.context.isAuthenticated)return[2,vn(t,r||this.context.userRequestOptions)];throw new Uo("Update Project","Updating Hub Projects requires authentication.")})})},Cn.prototype.destroy=function(t,r){return E(this,void 0,void 0,function(){return O(this,function(e){if(r||this.context.isAuthenticated)return[2,wn(t,r||this.context.userRequestOptions)];throw new Uo("Destroy Project","Destroying Hub Projects requires authentication.")})})},Cn.prototype.fetch=function(t,r){return E(this,void 0,void 0,function(){return O(this,function(e){if(r||this.context.requestOptions)return[2,bn(t,r||this.context.requestOptions)];throw new Uo("Get Project","Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.")})})},Cn);function Cn(e){e instanceof dt?this._contextManager=e:this._context=e}var An,kn=(e(Tn,An=Error),Tn);function Tn(e,t,r){e=An.call(this,e)||this;return e.status=r,e.url=t,e}function xn(e,t){var r,n,o=I({httpMethod:"GET"},t),i=o.fetch||fetch,t=I({"Content-Type":"application/json"},o.headers);"GET"===o.httpMethod?r=o.params:n=JSON.stringify(o.params);var a=de({host:st(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 kn(e.statusText,a,e.status)})}function Pn(e,t){var r=e;return r=-1===e.indexOf("token")&&-1<e.indexOf(t.authentication.portal)?e+"?token="+t.authentication.token:r}function In(e,t){return(t=void 0===t?{}:t).credentials||(t.credentials="same-origin"),fetch(e,t).then(function(e){return e.blob()})}function En(r){return In(r.url).then(function(e){return ge(t={id:r.id,owner:r.owner,name:r.fileName,resource:e,authentication:r.authentication}).then(function(e){e=he(t)+"/content/users/"+e+"/items/"+t.id+"/addResources";return t.params=I({file:t.resource,fileName:t.name,resourcesPrefix:t.prefix,text:t.content,access:t.private?"private":"inherit"},t.params),Q(e,t)});var t})}function On(t){return In(t.url).then(function(e){return ye({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 _n(e,t,r){if(!e||!e.thumbnail)return null;var n=r||{},o=n.token,n=n.width,r=rt(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}var Dn={arcgis:{label:"ArcGIS Online",url:"https://www.arcgis.com",type:"arcgis"},arcgisQA:{label:"ArcGIS Online QAEXT",url:"https://qaext.arcgis.com",type:"arcgis"},arcgisDEV:{label:"ArcGIS Online DEVEXT",url:"https://devext.arcgis.com",type:"arcgis"},hub:{label:"ArcGIS Hub",url:"https://hub.arcgis.com/api",type:"arcgis-hub"},hubDEV:{label:"ArcGIS Hub DEV",url:"https://hubdev.arcgis.com/api",type:"arcgis-hub"},hubQA:{label:"ArcGIS Hub QA",url:"https://hubqa.arcgis.com/api",type:"arcgis-hub"}};function Un(e){return"string"==typeof e&&e in Dn?Dn[e]:e}function jn(e,t){var r=p(e);return t.from<e.from&&(r.from=t.from),t.to>e.to&&(r.to=t.to),r}function Nn(r,n){var o={};return["any","all","not","exact"].forEach(function(e){var t=e,e=_(Rn(r,t),Rn(n,t));e.length&&(o[t]=e.filter(g))}),o}function Rn(e,t){var r=[];return e[t]&&(t=e[t],r=Array.isArray(t)?t:[t]),r}function Mn(e){var t={};return Array.isArray(e)?t={any:e}:("string"==typeof e&&(t={any:[e]}),"object"==typeof e&&(t=e)),t}function Ln(e){var t=new Date,r={type:"date-range",from:t.getTime(),to:t.getTime()};switch(e.unit){case"hours":case"days":case"weeks":r.from=r.to-{min:6e4,hours:36e5,days:864e5,weeks:6048e5}[e.unit]*e.num;break;case"months":t.setMonth(t.getMonth()-e.num),r.from=t.getTime();break;case"years":t.setFullYear(t.getFullYear()-e.num),r.from=t.getTime()}return r}function Fn(e,t,r){var n=p(e),e=t.q,t=t.filter;return e&&(n.q=(n.q?" ("+n.q+" "+r+" "+e+")":e).trim()),t&&(n.filter=(n.filter?"("+n.filter+" "+r+" "+t+")":t).trim()),n}function qn(e,t){var r={q:"",filter:""};return t.exact&&(_(["username","firstname","lastname","fullname","email"],["title","tags","typekeywords","type","name","owner"],["title","typekeywords","owner"]).includes(e)?r.filter=Bn("AND",e,t.exact):("string"==typeof t.exact&&(t.all||(t.all=[]),"string"==typeof t.all&&(t.all=[t.all]),t.all.push(t.exact)),Array.isArray(t.exact)&&(t.all||(t.all=[]),"string"==typeof t.all&&(t.all=[t.all]),t.all=t.all.concat(t.exact)))),t.any&&(r.q=Bn("OR",e,t.any)),t.all&&(r.q=(r.q?r.q+" AND ":"")+Bn("AND",e,t.all)),t.not&&(r.q=(r.q?r.q+" AND ":"")+Bn("OR","-"+e,t.not)),r}function Gn(e,t){return{q:e+":["+t.from+" TO "+t.to+"]",filter:""}}function Bn(e,t,r){return Array.isArray(r)?"("+t+':"'+r.join('" '+e+" "+t+':"')+'")':t+':"'+r+'"'}function Hn(e,t,r,n){var o=p(e);return e.authentication&&(o.authentication=ue.deserialize(e.authentication.serialize())),o.start=-1<t?t:r+1,function(e){return e&&(o.authentication=e),n(o)}}function Wn(e,t,r){var n=null;return t.thumbnail&&(n=e+"/community/groups/"+t.id+"/info/"+t.thumbnail,r&&"public"!==t.access&&(n=n+"?token="+r)),n}function Yn(e,t,r){var n=null;return t.thumbnail&&(n=e+"/community/users/"+t.username+"/info/"+t.thumbnail,r&&"public"!==t.access&&(n=n+"?token="+r)),n}var Kn={$apps:[{type:{any:["Code Sample","Web Mapping Application","Mobile Application","Application","Desktop Application Template","Desktop Application","Operation View","Dashboard","Operations Dashboard Extension","Workforce Project","Insights Workbook","Insights Page","Insights Model","Hub Page","Hub Initiative","Hub Site Application","StoryMap","Web Experience","Web Experience Template","Form"],not:["Code Attachment","Featured Items","Symbol Set","Color Set","Windows Viewer Add In","Windows Viewer Configuration","Map Area","Indoors Map Configuration"]},typekeywords:{not:["MapAreaPackage","SMX"]}}],$storymap:[{type:"StoryMap"},{type:"Web Mapping Application",typekeywords:["Story Map"]}],$dashboard:[{type:"Dashboard",typekeywords:{any:["Dashboard"],not:["ArcGIS Operation View","Add In","Extension"]}}],$dataset:[],$experience:[{type:{any:["Web Experience"],not:["Web Experience Template"]}}],$site:[{type:["Hub Site Application","Site Application"]},{type:["Web Mapping Application"],typekeywords:["hubSite"]}],$initiative:[{type:{any:"Hub Initiative",not:"Hub Initiative Template"}}],$document:[{typekeywords:{any:"Document",not:["MapAreaPackage","SMX"]},type:{any:["Image","Layout","Desktop Style","Project Template","Report Template","Pro Report","Statistical Data Collection","360 VR Experience","netCDF","PDF","CSV","Administrative Report","Raster function template"],not:["Image Service","Explorer Document","Explorer Map","Globe Document","Scene Document","Code Attachment","Featured Items","Symbol Set","ColorSet","Windows Viewer Add In","Windows Viewer Configuration","Map Area","Indoors Map Configuration"]}}]};function zn(e){var t,o=[];return null!==(t=e.aggregations)&&void 0!==t&&t.counts&&e.aggregations.counts.forEach(function(r){var e={label:r.fieldName,attribute:r.fieldName,type:"multi-select"},n=[];r.fieldValues.forEach(function(e){var t={filterType:"content"};t[r.fieldName]=e.value;t={label:e.value,value:e.value,count:e.count,selected:!1,filter:t};n.push(t)}),e.options=n,o.push(e)}),o}function Vn(e){var t=Jn(e);return Array.isArray(e.subFilters)&&(t.subFilters=t.subFilters.reduce(function(e,t){return"string"==typeof t?Kn[t]&&(e=e.concat(Kn[t])):e.push(t),e},[])),Qn(t)}function Jn(e){var r=p(e);return r.subFilters=r.subFilters||[],r.type&&(Array.isArray(r.type)?r.type=r.type.reduce(function(e,t){return $n(t)?r.subFilters=r.subFilters.concat(Xn(t)):e.push(t),e},[]):$n(r.type)&&(e=r.type,r.subFilters=r.subFilters.concat(Xn(e)),delete r.type)),r}function $n(e){var t=!1;return t="string"==typeof e?e in Kn:t}function Xn(e){return Kn[e]}function Qn(t){var r={};t.term&&(r.term=t.term);var e,n=["created","modified"],o=_(["filterType","subFilters","term"],n);return Object.entries(t).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r[t]=Mn(e))}),t.subFilters&&Array.isArray(t.subFilters)&&(e=t.subFilters,r.subFilters=e.map(Qn)),n.forEach(function(e){t[e]&&("relative-date"===t[e].type?r[e]=Ln(t[e]):r[e]=p(t[e]))}),r}function Zn(e){var t,r=eo(e);return e.subFilters&&(t=e.subFilters.reduce(function(e,t){return e="object"==typeof t?Fn(e,eo(t),"OR"):e},{q:"",filter:""}),r=Fn(r,t,"AND")),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function eo(e){var r={q:"",filter:""},n=["created","modified"],o=_(["filterType","subFilters","term"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=Fn(r,qn(t,e),"AND")),n.includes(t)&&(r=Fn(r,Gn(t,e),"AND"))}),r}function to(r){var n={},o=["created","modified"],i=_(["term","searchUserAccess"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||C(t,Mn(e),n),o.includes(t)&&(e=p(f(r,t)),"relative-date"===f(r,t+".type")?C(t,Ln(e),n):C(t,e,n))}),r.hasOwnProperty("searchUserAccess")&&(n.searchUserAccess=r.searchUserAccess),r.term&&(n.term=r.term),n}function ro(e){var r={q:"",filter:""},n=["created","modified"],o=_(["term","searchUserAccess","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=Fn(r,qn(t,e),"AND")),n.includes(t)&&(r=Fn(r,Gn(t,e),"AND"))}),e.hasOwnProperty("searchUserAccess")&&(r.searchUserAccess=e.searchUserAccess),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function no(r){var n={},o=["created","modified","lastlogin"],i=_(["disabled","term"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||C(t,Mn(e),n),o.includes(t)&&(e=p(f(r,t)),"relative-date"===f(r,t+".type")?C(t,Ln(e),n):C(t,e,n))}),r.hasOwnProperty("disabled")&&(n.disabled=r.disabled),r.term&&(n.term=r.term),n}function oo(e){var r={q:"",filter:""},n=["created","modified","lastlogin"],o=_(["term","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=Fn(r,qn(t,e),"AND")),n.includes(t)&&(r=Fn(r,Gn(t,e),"AND"))}),e.hasOwnProperty("disabled")&&(r.disabled=e.disabled),e.term&&(r.q=("("+e.term+") "+r.q).trim()),r}function io(o){var e,t,r=(null===(e=o.authentication)||void 0===e?void 0:e.portal)||o.portal;o.authentication&&(t=o.authentication.token);function i(e){return e.thumbnailUrl=_n(e,r,t),e}return Ee(o).then(function(e){var t=-1<e.nextStart,r=e.results.map(Qt),r=(r=o.site?r.map(function(e){return ir(e,o.site)}):r).map(i),n=zn(e);return{total:e.total,results:r,facets:n,hasNext:t,next:Hn(o,e.nextStart,e.total,io)}})}function ao(o){function i(e){return e.siteTeamUrl=o.site.item.url+"/teams/"+e.id+"/about",e}var e,t,r=(null===(e=o.authentication)||void 0===e?void 0:e.portal)||o.portal;o.authentication&&(t=o.authentication.token);function a(e){return e.thumbnailUrl=Wn(r,e,t),e}return Ie(o,"group").then(function(e){var t,r=-1<e.nextStart,n=e.results.map(a);return null!==(t=null===(t=o.site)||void 0===t?void 0:t.item)&&void 0!==t&&t.url&&(n=e.results.map(i)),{hasNext:r,total:e.total,results:n,next:Hn(o,e.nextStart,e.total,ao)}})}function so(o){function i(e){return e.profileUrl=o.site.item.url+"/people/"+e.username+"/profile",e}function a(e){return e.thumbnail&&(e.thumbnailUrl=Yn(t,e,r)),e}var t=o.authentication.portal,r=o.authentication.token;return Ie(o,"user").then(function(e){var t,r=-1<e.nextStart,n=e.results.map(a);return null!==(t=null===(t=o.site)||void 0===t?void 0:t.item)&&void 0!==t&&t.url&&(n=e.results.map(i)),{hasNext:r,total:e.total,results:n,next:Hn(o,e.nextStart,e.total,so)}})}function uo(t){return E(this,void 0,void 0,function(){return O(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 co(e){var t={},e=f(e,"authentication.token");return e&&(t.Authorization=e),t}function lo(e){return(e||"https://hub.arcgis.com")+"/api/v3/domains"}function po(e,t){var r=e,n="hubsubdomain|"+(r=-1<e.indexOf("#/")?e.split("#/")[1]:r);return Ee(Object.assign({q:"typekeywords: "+n},t)).then(function(e){return e.results.filter(function(e){return x(e.typeKeywords,n)})[0]}).then(function(e){if(!e)throw new Error("site not found");return{hostname:e.url,siteId:e.id}})}function fo(e,t){if(t.isPortal)throw new Error("domainExists is not available in ArcGIS Enterprise.");e=Ze(e);e=lo(t.hubApiUrl)+"/"+e,t=co(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(function(e){return 404!==e.status})}function ho(e,t){return po(e,t).then(function(e){return!0}).catch(function(e){return!1})}function mo(t,r,n,o){var i=t;return fo((i=(o=void 0===o?0:o)?t+"-"+o:t)+"-"+r,n).then(function(e){return e?mo(t,r,n,o+1):i})}function go(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return ho(o,r).then(function(e){return e?go(t,r,n+1):o})}function yo(e,t){if(t.isPortal)return po(e,t);e=lo(t.hubApiUrl)+"/"+e,t=co(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(uo)}function vo(e,t){var r=p(e),e=63;return t&&(e-=t.length+1),r=r.length>e?r.slice(0,e-6)+"-"+R(5):r}function bo(e,t){return Rr(e,t).then(ko)}function wo(e){if(1.4<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.values.gacode");return t.data.values.telemetry={consentNotice:{isTheme:!0,consentText:"",policyURL:""},customAnalytics:{ga:{customerTracker:{enabled:Boolean(e),id:e}}}},jr(t,"data.values.gacode"),C("item.properties.schemaVersion",1.4,t),t}var So=1.5;function Co(e){if(1.5<=f(e,"item.properties.schemaVersion"))return e;var r,t=p(e),e=t.data.values.dcatConfig;return t.data.feeds={},e&&(t.data.feeds.dcatUS11=(r=JSON.stringify(e),Object.keys(Ao).forEach(function(e){var t=Ao[e];r=r.split(e).join(t)}),JSON.parse(r))),t.item.properties.schemaVersion=1.5,t}var Ao={"{{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 ko(e){return f(e,"item.properties.schemaVersion")===So?e:e=Co(e=wo(e=function(e){if(1.3<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.catalog.groups")||[];return t.data.catalog.groups=e.filter(M),t.item.properties.schemaVersion=1.3,t}(e=function(e){if(1.2<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.catalog")||{};return f(t,"data.values.groups")&&(e.groups=p(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<=f(e,"item.properties.schemaVersion"))return e;var t=p(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<=f(e,"item.properties.schemaVersion"))return e;var t=p(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))))))}function To(e,t){return Ce(I({id:e,relationshipType:"Survey2Service",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function xo(e,t){return Ce(I({id:e,relationshipType:"Service2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Po(e,t){return Ce(I({id:e,relationshipType:"Survey2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Io(t){function e(e){return-1<t.typeKeywords.indexOf(e)}var r=e("FieldworkerView");return r=r||["Survey123","Feature Service","View Service"].every(e)&&!e("StakeholderView")}Eo.create=function(r){return E(this,void 0,void 0,function(){var t;return O(this,function(e){switch(e.label){case 0:return r.contextManager?[2,new Eo(r.contextManager)]:[3,1];case 1:return t=r.managerOptions||{},[4,dt.create(t)];case 2:return[2,new Eo(e.sent())]}})})},Object.defineProperty(Eo.prototype,"context",{get:function(){return this._contextManager.context},enumerable:!1,configurable:!0}),Object.defineProperty(Eo.prototype,"projects",{get:function(){return this._projectManager||(this._projectManager=Sn.init(this._contextManager)),this._projectManager},enumerable:!1,configurable:!0}),At=Eo;function Eo(e){this._contextManager=e}Oo.prototype.startOperation=function(e){e=p(e);e.startedAt=(new Date).getTime(),e.state="working",this.operations.push(e)},Oo.prototype.start=function(e,t){t={type:e,id:b(t,"id",r(e+"_")),inputs:b(t,"inputs",{}),cleanup:b(t,"cleanup","n/a"),startedAt:(new Date).getTime(),state:"working"};return this.operations.push(t),t.id},Oo.prototype.getOperation=function(t){return this.operations.find(function(e){return e.id===t})},Oo.prototype.getOperations=function(){return this.operations},Oo.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=p(t))},Oo.prototype.merge=function(e){this.operations=_(this.operations,e.operations)},Oo.prototype.getCompleted=function(){return p(this.operations.filter(function(e){return"completed"===e.state}))},Oo.prototype.getWorking=function(){return p(this.operations.filter(function(e){return"working"===e.state}))},Oo.prototype.toString=function(){return this.operations.sort(function(e,t){return e.startedAt<t.startedAt?-1:t.startedAt<e.startedAt?1:0}).map(_o).join("\n")},Oo.prototype.serialize=function(){return{operations:p(this.getOperations())}},kt=Oo;function Oo(){this.operations=[]}function _o(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}var Do,Uo=(e(jo,Do=U),jo);function jo(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=b(r,"rootCause",r),(n=Do.call(this,e,t,r)||this).name="HubError",n.stack=b(r,"stack",(new Error).stack),n}n.ArcGISContext=pt,n.ArcGISContextManager=dt,n.GLOBAL_EXTENT=Ot,n.HUB_CDN_URLMAP=$e,n.HUB_LOCALES=Ur,n.HUB_PROJECT_ITEM_TYPE=Ct,n.Hub=At,n.HubError=Uo,n.HubProjectManager=Sn,n.Logger=F,n.OperationError=U,n.OperationStack=kt,n.PORTAL_EXPORT_TYPES=hr,n.REQUIRED_PRIVS=fe,n.RemoteServerError=kn,n.SEARCH_APIS=Dn,n.SITE_SCHEMA_VERSION=So,n.STANDARD_LICENSES=Nt,n.WGS84_WKID=dr,n._addTokenToResourceUrl=Pn,n._canEmailUser=Sr,n._checkStatusAndParseJson=uo,n._consolidateResults=br,n._deepMapValues=i,n._ensureSafeDomainLength=vo,n._ensureTelemetry=wo,n._formatAutoAddResponse=wr,n._getAuthHeader=co,n._getAutoAddUsers=Or,n._getDomainServiceUrl=lo,n._getEmailUsers=Dr,n._getHttpAndHttpsUris=function(e){return e?["http://"+(e=e.replace(/^http(s?):\/\//,"")),"https://"+e]:[]},n._getInviteUsers=_r,n._getLocation=function(){if(window)return window.location},n._isDate=s,n._isFunction=u,n._isObject=c,n._isOrgAdmin=Cr,n._isRegExp=l,n._isString=a,n._lookupPortal=po,n._mapValues=o,n._processAutoAdd=xr,n._processInvite=Ir,n._processPrimaryEmail=Er,n._processSecondaryEmail=kr,n._searchContent=function(n,o){var i;return E(this,void 0,void 0,function(){var t,r;return O(this,function(e){return r=Vn(n),t=Un(o.api||"arcgis"),[2,"arcgis"===t.type?(r=Zn(r),o.authentication?r.authentication=o.authentication:r.portal=t.url+"/sharing/rest",null!==(i=o.aggregations)&&void 0!==i&&i.length&&(r.countFields=o.aggregations.join(","),r.countSize=200),o.num&&(r.num=o.num),o.sortField&&(r.sortField=o.sortField),o.sortOrder&&(r.sortOrder=o.sortOrder),o.site&&(r.site=p(o.site)),io(r)):Promise.resolve({total:0,results:[],facets:[],hasNext:!1,next:function(){}})]})})},n._searchGroups=function(n,o){return E(this,void 0,void 0,function(){var t,r;return O(this,function(e){if(r=to(n),"arcgis"===(t=Un(o.api||"arcgis")).type)return r=ro(r),o.authentication?r.authentication=o.authentication:r.portal=t.url+"/sharing/rest",o.num&&(r.num=o.num),o.sortField&&(r.sortField=o.sortField),o.sortOrder&&(r.sortOrder=o.sortOrder),o.site&&(r.site=p(o.site)),[2,ao(r)];throw new Error("_searchGroups is not implemented for non-arcgis apis")})})},n._searchUsers=function(r,n){return E(this,void 0,void 0,function(){var t;return O(this,function(e){if(!n.authentication)throw new Error("Authentication required to search for users.");if(t=no(r),"arcgis"===Un(n.api||"arcgis").type)return(t=oo(t)).authentication=n.authentication,n.num&&(t.num=n.num),n.sortField&&(t.sortField=n.sortField),n.sortOrder&&(t.sortOrder=n.sortOrder),n.site&&(t.site=p(n.site)),[2,so(t)];throw new Error("_searchUsers is not implemented for non-arcgis apis")})})},n._unprotectAndRemoveGroup=function(e){var t=N(Me,{success:!0}),r=N(Le,{success:!0});return t(e).then(function(){return r(e)})},n._unprotectAndRemoveItem=function(e){var t=N(Ae,{success:!0}),r=N(Te,{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=co(t);r["Content-Type"]="application/json";var n=""+lo(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(uo)},n.addSolutionResourceUrlToAssets=function(e,t){var r,n,o=e.assets||e.resources||[];return e.bundleItemId&&(r=Qe(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=p(b(r,"portalSelf.user",{}));return i.cOrgId=f(r,"portalSelf.portalProperties.hub.settings.communityOrg.orgId"),xr({groupId:e,allUsers:t,primaryRO:r,email:n,secondaryRO:o,requestingUser:i,usersToAutoAdd:Or(t,i),usersToInvite:_r(t,i),usersToEmail:Dr(t,i,f(n,"copyMe"))}).then(Ir).then(Er).then(kr).then(br)},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[f(t,r)]=t,e},{})},n.atob=fr.atob,n.autoAddUsers=Tr,n.bBoxToPolygon=jt,n.batch=T,n.btoa=fr.btoa,n.buildDraft=function(e,t){return S(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(hr).map(function(e){return hr[e]}),c=new Set(y(t.filter(function(e){return!e.supportsProjection}).map(function(e){return e.itemTypes}))),t=a||y(t.map(function(e){return e.itemTypes})),s=(new xe).startGroup().match(yr(e)).in("typekeywords").and().match(vr(s)).in("typekeywords").endGroup().and().startGroup();function l(e,t){var r;t.startGroup().match(/\s/g.test(e)?e:'"'+e+'"').in("type").and().match(gr((r=e,t=dr,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){l(e,r),t<n.length-1&&r.or()}),s.endGroup(),s.toParam()},n.buildUrl=de,n.camelize=m,n.canEditEvent=function(e,t){var r=!1;return le(t)&&(e=f(e,"initiative.item.properties.collaborationGroupId"),t=t.groups,r=!!e&&!!d(void 0===t?[]:t,"id",e)),r},n.canEditItem=pe,n.canEditSite=function(e,t){var r=!1;return r=!f(e,"properties.isDefaultHubHome")&&le(t)?pe(e,t):r},n.canEditSiteContent=function(e,t){var r,n=!1,o=f(e,"properties.isDefaultHubHome"),i=le(t);return!o&&i?n=pe(e,t):i&&(i=t.orgId,e=e.orgId,i&&i===e&&(r=t.privileges||[],n=fe.every(function(e){return x(r,e)}))),n},n.capitalize=t,n.categories=Pt,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.clearSession=function(e,t){(t=void 0===t?window:t).localStorage&&t.localStorage.removeItem("__CONTEXT_"+e)},n.cloneObject=p,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 Q(n,{params:{token:r},httpMethod:"GET"}).then(function(e){return Date.now()-e.created<5e3?Q(n+"/update",{params:{token:r,tags:["hubRole:participant","org:"+e.orgId],access:"public"}}).then(function(){return ue.completeOAuth2(t)}):ue.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.constructSlug=an,n.convertContentDefinitionToFilter=Qn,n.convertContentFilterToSearchOptions=eo,n.convertPortalResponseToFacets=zn,n.convertSolutionTemplateResourcesToAssets=function(e,t){var r,n,o=[];return e.resources&&e.bundleItemId&&(r=Qe(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<Ur.indexOf(e)?t=e:1<(e=e.split("-")).length&&-1<Ur.indexOf(e[0])&&(t=e[0]),t},n.convertUrlsToAnchorTags=function(t){var e=t.match(/((((ftp|https?):\/\/)|(w{3}\.))[-\w@:%_+.~#?,&//=]+)/g);return e&&e.forEach(function(e){t=t.replace(e,'<a target="_blank" href="'+e+'">'+e+"</a>")}),t.replace("(","<br/>(")},n.createExtent=function(e,t,r,n,o){return{xmin:e,ymin:t,xmax:r,ymax:n,spatialReference:{wkid:o=void 0===o?4326:o}}},n.createId=r,n.createModel=Lr,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 U("pipeline execution error",e);return e.operationStack=r.stack.serialize(),Promise.reject(e)})},Promise.resolve(r))}},n.createProject=yn,n.dasherize=function(e){return e.replace(/([a-z\d])([A-Z])/g,"$1_$2").toLowerCase().replace(/[ _]/g,"-")},n.datasetToContent=function(e){var t=Zt(e),r=Qt(t);delete r.itemCategories;var n=e.id,o=(S=e.attributes).errors,i=S.boundary,a=S.extent,s=S.metadata,u=S.modified,c=S.modifiedProvenance,l=S.slug,p=S.searchDescription,f=S.groupIds,d=S.server,h=S.layers,m=S.layer,g=S.recordCount,y=S.statistics,v=S.orgId,b=S.orgName,w=S.organization,e=S.orgExtent,S=S.type;return r.errors=o,r.boundary=i,!Dt(t.extent)&&a&&Dt(a.coordinates)&&(r.extent=a.coordinates),r.metadata=s||null,r.modified!==u&&(r.modified=u,r.updatedDate=new Date(u),r.updatedDateSource=c),r.slug=l,p&&(r.summary=p),r.groupIds=f,r.server=d,r.layers=h,r.layer=m,r.recordCount=g,r.statistics=y,v&&(r.org={id:v,name:b||w,extent:e}),rr(er(r,n),S)},n.datasetToItem=Zt,n.deepFind=A,n.deepFindById=function(e,t){return A(e,function(e){return e.id===t})},n.deepSet=v,n.deepStringReplace=w,n.deleteProp=jr,n.destroyProject=wn,n.doesItemExistWithTitle=on,n.domainExists=fo,n.domainExistsPortal=ho,n.emailOrgUsers=Ar,n.ensureProp=function(e,t){return v(e,t)},n.ensureUniqueDomainName=function(e,t){return(t.isPortal?go(e,t):mo(e,t.portalSelf.urlKey+"."+Ze(st(t)),t)).then(function(e){return vo(e,t.portalSelf.urlKey)})},n.ensureUniqueString=function(e,t){for(var r=!1,n=0,o=t;!r;)x(e,o)?o=t+"-"+ ++n:r=!0;return o},n.expandApi=Un,n.expandApis=function(e){return e.map(Un)},n.expandContentFilter=Vn,n.expandGroupFilter=to,n.expandTypeField=Jn,n.expandUserFilter=no,n.extend=function n(e,o,i){void 0===i&&(i=!0);e=p(e);return Object.keys(o).reduce(function(e,t){var r;return null!==o[t]&&void 0!==o[t]&&(r=p(o[t]),Array.isArray(r)?e[t]=r:e[t]=i&&"object"==typeof r?n(e[t]||{},r,i):r),e},e)},n.extentToBBox=Et,n.failSafe=N,n.failSafeUpdate=function(e,t){return N(ye,{id:e.item.id,success:!0})(Object.assign({item:Nr(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(I(I({},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 T(e,function(e){return n(I(I({},o),{start:e,num:a}))},i).then(function(e){return _([t],e)})}).then(function(e){var t=e.reduce(function(e,t){return _(e,t.results)},[]),e=-1===r?t.length:r;return t.slice(0,e)})},n.fetchAndUploadResource=En,n.fetchAndUploadThumbnail=On,n.fetchHubTranslation=function(t,e,r){void 0===r&&(r="cors");var n=(Xe(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=In,n.fetchSite=function(e,t){return M(e)?bo(e,t):yo(Ze(e).split("/")[0],t).then(function(e){return bo(e.siteId,t)})},n.filterBy=function(e,t,r){return e.filter(function(e){return f(e,t)===r})},n.findBy=d,n.flattenArray=y,n.generateRandomString=R,n.getCategory=qt,n.getCollection=Bt,n.getContentIdentifier=Kt,n.getContentSiteUrls=tr,n.getContentTypeIcon=nr,n.getContentTypeLabel=or,n.getCulture=function(e){return f(e,"portalSelf.user.culture")||f(e,"portalSelf.culture")||"en-us"},n.getDomainsForSite=function(e,t){return t.isPortal?Promise.resolve([]):(e=lo(t.hubApiUrl)+"?siteId="+e,t=co(t),fetch(e,{method:"GET",headers:t,mode:"cors"}).then(uo).catch(function(e){throw Error("Error in getDomainsForSite "+e)}))},n.getExportItemTypeKeyword=yr,n.getExportLayerTypeKeyword=vr,n.getFamily=$t,n.getGeographicOrgExtent=_t,n.getGroupThumbnailUrl=Wn,n.getHubApiFromPortalUrl=nt,n.getHubApiUrl=st,n.getHubApiUrlFromPortal=function(e){return tt(e)+"/api/v3"},n.getHubLocaleAssetUrl=Xe,n.getHubProduct=function(e){var t=f(e,"portalProperties.hub.enabled")||!1?"premium":"basic";return t=e.isPortal&&"singletenant"===e.portalMode?"portal":t},n.getHubUrlFromPortal=tt,n.getInputFeatureServiceModel=To,n.getItemApiUrl=rt,n.getItemAssets=function(e,t){var r=Qe(t.portalSelf)+"/content/items/"+e.id,n=_n(e,t),o=[];return n&&o.push({name:e.thumbnail,url:n,type:"thumbnail"}),e=e.id,e=we(e,t=t)+"/resources",(t=I({},t)).params=I({num:1e3},t.params),Q(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.getItemBySlug=un,n.getItemDataUrl=function(e,t,r){t=rt(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 Je(t)+"/home/item.html?id="+e},n.getItemHubId=function(e){if("public"===e.access){var t=e.id,e=Yt(e);return e?t+"_"+e:t}},n.getItemHubType=Xt,n.getItemLayerId=Yt,n.getItemThumbnailUrl=_n,n.getLayerIdFromUrl=Wt,n.getModel=Rr,n.getModelBySlug=Mr,n.getModelFromOptions=function(e,t){var r=e+"Model",e=e+"Id";if(t[r])return Promise.resolve(t[r]);if(t[e])return N(Rr,{item:{id:t[e]},isMissing:!0})(t[e],t);throw new Error("getModelFromOptions requires either a ."+r+" or ."+e+" property.")},n.getNextFunction=Hn,n.getOrgExtentAsBBox=function(e){return _t(e).then(Et)},n.getPortalApiUrl=Qe,n.getPortalBaseFromOrgUrl=ot,n.getPortalUrl=Je,n.getProject=bn,n.getProp=f,n.getProps=function(r,e){return e.reduce(function(e,t){t=f(r,t);return t&&e.push(t),e},[])},n.getProxyUrl=function(e,t){var r,n;return n=e,r=!t.isPortal&&"public"===n.access&&"CSV"===n.type&&n.size<=5e6?t.hubApiUrl+"/datasets/"+e.id+"_0/FeatureServer/0":r},n.getServiceTypeFromUrl=at,n.getSession=function(e,t){var r=null;return!(t=void 0===t?window:t).localStorage||(e=t.localStorage.getItem("__CONTEXT_"+e))&&(r=ue.deserialize(e)),r},n.getSiteById=bo,n.getSourceFeatureServiceModelFromFieldworker=xo,n.getSpatialRefTypeKeyword=gr,n.getStakeholderModel=Po,n.getStructuredLicense=Rt,n.getSubscriptionType=function(e){return b(e,"subscriptionInfo.type","Enterprise")},n.getSurveyModels=function(e,r){var n,o;return("string"==typeof e?be(e,r):Promise.resolve(e)).then(function(t){var e=[To(t.id,r),Po(t.id,r)];return Promise.all(e).then(function(e){var t=e[0],e=e[1];return o=e,t&&Io(t.item)?xo((n=t).item.id,r):t}).then(function(e){return{form:{item:t},featureService:e,fieldworker:n,stakeholder:o}})})},n.getTypeCategories=function(e){if(e=qt(Gt(e=void 0===e?{}:e))){e=Array.from(e);return e[0]=e[0].toUpperCase(),[e.join("")]}return["Other"]},n.getTypes=function(e){return Pt[(e=void 0===e?"":e).toLowerCase()]},n.getUniqueDomainName=mo,n.getUniqueDomainNamePortal=go,n.getUniqueItemTitle=function t(r,n,o,i){var a=(i=void 0===i?0:i)?r+" "+i:r;return on(a,n,o).then(function(e){return e?t(r,n,o,++i):a}).catch(function(e){throw Error("Error in getUniqueItemTitle "+e)})},n.getUniqueSlug=cn,n.getUserThumbnailUrl=Yn,n.getWithDefault=b,n.hasBasePriv=le,n.hubApiRequest=xn,n.hubApiSearch=function(e){var t=(t=e.authentication)&&t.serialize&&{authentication:t.serialize()};return xn("/search",I(I({},{headers:t,httpMethod:"POST"}),e))},n.includes=x,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=nn,n.interpolateItemId=function(e){return nn(e,{item:{id:e.item.id},appid:e.item.id},{toISO:function(e,t){return t}})},n.inviteUsers=Pr,n.isBBox=Dt,n.isDomainForLegacySite=function(e){return!M(e.siteId)},n.isDomainUsedElsewhere=function(e,t,r){return yo(e,r).then(function(e){return e.siteId!==t}).catch(function(){return!1})},n.isDownloadable=It,n.isExtentCoordinateArray=Ut,n.isFeatureService=Ht,n.isFieldworkerView=Io,n.isGuid=M,n.isMapOrFeatureServerUrl=function(e){return it.test(e)},n.isNil=function(e){return null==e},n.isSlug=function(e){return!(!(e=zt(e).itemId)||M(e))},n.isUpdateGroup=G,n.isValidDomain=function(t,e){if(e.isPortal)throw new Error("isValidDomain is not available in ArcGIS Enterprise.");var r=lo(e.hubApiUrl)+"/validate?hostname="+t,e=co(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&&[Ut,function(t){return["xmin","ymin","xmax","ymax"].every(function(e){return"number"==typeof t[e]})}].some(function(e){return e(t)})},n.itemPropsNotInTemplates=ln,n.itemToContent=Qt,n.last=function(e){return e[e.length-1]},n.lookupDomain=yo,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=p(r))[e]=t),r},n.maybePush=h,n.mergeContentFilter=function(e){var e=e.map(Vn),n=["created","modified"],o=_(["filterType","subFilters","term"],n);return(e=e.reduce(function(r,e){return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];r.hasOwnProperty(t)?o.includes(t)?n.includes(t)?r[t]=jn(r[t],e):"term"===t?r[t]=r[t]+" "+e:"subFilters"===t&&(r[t]=_(r[t],e)):r[t]=Nn(r[t],e):r[t]=p(e)}),r},{})).filterType="content",e},n.mergeDateRange=jn,n.mergeGroupFilters=function(e){var e=e.map(to),o=["created","modified"],i=_(["filterType","term"],o);return e.reduce(function(n,e){return Object.entries(e).forEach(function(e){var t=e[0],r=e[1];n.hasOwnProperty(t)?(e=f(n,t),i.includes(t)?o.includes(t)?C(t,jn(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):C(t,Nn(e,r),n)):C(t,p(r),n)}),n},{filterType:"group"})},n.mergeMatchOptions=Nn,n.mergeObjects=S,n.mergeSearchOptions=Fn,n.mergeUserFilters=function(e){var e=e.map(no),o=["created","modified","lastlogin"],i=_(["disabled","term","filterType"],o);return e.reduce(function(n,e){return Object.entries(e).forEach(function(e){var t=e[0],r=e[1];n.hasOwnProperty(t)?(e=f(n,t),i.includes(t)?o.includes(t)?C(t,jn(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):C(t,Nn(e,r),n)):C(t,p(r),n)}),n},{filterType:"user"})},n.normalizeItemType=Gt,n.normalizeSolutionTemplateItem=function(e){var t=p(e);return ln.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(p(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=zt,n.parseItemCategories=Jt,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 m(e.replace(/^[0-9]*/g,"").replace(/[^\w\s]/g,""))},n.relativeDateToDateRange=Ln,n.removeContextFromSlug=Vt,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=co(t);return r["Content-Type"]="application/json",e=lo(t.hubApiUrl)+"/"+e,fetch(e,{method:"DELETE",headers:r,mode:"cors"}).then(uo)},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}}"),w(p(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.saveSession=function(e,t,r){(r=void 0===r?window:r).localStorage&&r.localStorage.setItem("__CONTEXT_"+e,t.serialize())},n.serializeContentFilterForPortal=Zn,n.serializeDateRange=Gn,n.serializeGroupFilterForPortal=ro,n.serializeMatchOptions=qn,n.serializeModel=Nr,n.serializeSpatialReference=mr,n.serializeStringOrArray=Bn,n.serializeUserFilterForPortal=oo,n.setContentHubId=er,n.setContentSiteUrls=ir,n.setContentType=rr,n.setProp=C,n.setSlugKeyword=sn,n.shareItemToGroups=function(t,e,r,n){return Promise.all(e.map(function(e){e=Object.assign({},{id:t,groupId:e},r);return n&&(e.owner=n),We(e)}))},n.slugify=L,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=Ze,n.unique=g,n.uniqueBy=function(e,r){return e.reduce(function(e,t){return h(e.find(function(e){return f(e,r)===f(t,r)})?null:t,e)},[])},n.unprotectModel=function(e,t){return e.item.protected?Ae(Object.assign({id:e.item.id},t)):Promise.resolve({success:!0})},n.unshareItemFromGroups=function(t,e,r,n){return Promise.all(e.map(function(e){e=Object.assign({},{id:t,groupId:e},r);return n&&(e.owner=n),ze(e)}))},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=co(t);r["Content-Type"]="application/json";var n=lo(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(uo)},n.updateModel=Fr,n.updateProject=vn,n.upgradeProtocol=function(e){return-1===e.indexOf("http")?"https://"+e:-1!==e.indexOf("http://")?e.replace(/^http:/i,"https:"):e},n.upgradeSiteSchema=ko,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:Pn(t.url,o),authentication:o.authentication},"thumbnail"===t.type?e.push(On(r)):e.push(En(r))),e},[]);return Promise.all(e)}return Promise.resolve([])},n.valueToMatchOptions=Mn,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