@oiz/stzh-components 2.4.0-beta → 2.4.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 (187) hide show
  1. package/dist/cjs/{_commonjsHelpers-dcc4cf71.js → _commonjsHelpers-bcc1208a.js} +0 -16
  2. package/dist/cjs/{app-globals-57922fc2.js → app-globals-8fbeeb92.js} +1 -1
  3. package/dist/cjs/{js.cookie-226c94ed.js → js.cookie-9c263d23.js} +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/stzh-badge_3.cjs.entry.js +9 -2
  6. package/dist/cjs/stzh-card_3.cjs.entry.js +18 -19
  7. package/dist/cjs/stzh-chart.cjs.entry.js +5998 -5171
  8. package/dist/cjs/stzh-chip_2.cjs.entry.js +1 -1
  9. package/dist/cjs/stzh-components.cjs.js +2 -2
  10. package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
  11. package/dist/cjs/stzh-datalist_2.cjs.entry.js +9 -2
  12. package/dist/cjs/stzh-datamessagelist-item.cjs.entry.js +1 -1
  13. package/dist/cjs/stzh-datatable.cjs.entry.js +1 -1
  14. package/dist/cjs/stzh-dropdown.cjs.entry.js +1 -1
  15. package/dist/cjs/stzh-ghettobox_2.cjs.entry.js +14 -3
  16. package/dist/cjs/stzh-invert.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-link.cjs.entry.js +9 -2
  18. package/dist/cjs/stzh-message.cjs.entry.js +2 -2
  19. package/dist/cjs/stzh-olmap.cjs.entry.js +1 -1
  20. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
  21. package/dist/cjs/stzh-portal-mitwirken.cjs.entry.js +1 -1
  22. package/dist/cjs/stzh-upload.cjs.entry.js +1 -1
  23. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js +1 -1
  24. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +16 -11
  25. package/dist/collection/assets/i18n/de.json +2 -0
  26. package/dist/collection/assets/i18n/en.json +3 -1
  27. package/dist/collection/components/stzh-button/stzh-button.css +11 -0
  28. package/dist/collection/components/stzh-button/stzh-button.js +28 -1
  29. package/dist/collection/components/stzh-card/stzh-card.css +1 -1
  30. package/dist/collection/components/stzh-card/stzh-card.js +17 -18
  31. package/dist/collection/components/stzh-chart/stzh-chart.css +101 -54
  32. package/dist/collection/components/stzh-chart/stzh-chart.stories.js +1 -0
  33. package/dist/collection/components/stzh-chip/stzh-chip.css +2 -2
  34. package/dist/collection/components/stzh-cspace/stzh-cspace.css +36 -0
  35. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +11 -0
  36. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js +28 -1
  37. package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.css +10 -0
  38. package/dist/collection/components/stzh-input/stzh-input.stories.js +12 -12
  39. package/dist/collection/components/stzh-invert/stzh-invert.css +1 -1
  40. package/dist/collection/components/stzh-link/stzh-link.css +11 -0
  41. package/dist/collection/components/stzh-link/stzh-link.js +28 -1
  42. package/dist/collection/components/stzh-pagetitle-hero/stzh-pagetitle-hero.css +1 -1
  43. package/dist/collection/components/stzh-portal-mitwirken/stzh-portal-mitwirken.css +112 -6
  44. package/dist/collection/components/stzh-richtext/stzh-richtext.css +14 -3
  45. package/dist/collection/components/stzh-richtext/stzh-richtext.js +32 -0
  46. package/dist/collection/components/stzh-vbz-ticker/stzh-vbz-ticker.js +16 -11
  47. package/dist/components/_commonjsHelpers.js +1 -16
  48. package/dist/components/index.js +1 -1
  49. package/dist/components/stzh-button2.js +10 -2
  50. package/dist/components/stzh-card2.js +18 -19
  51. package/dist/components/stzh-chart.js +5995 -5168
  52. package/dist/components/stzh-chip2.js +1 -1
  53. package/dist/components/stzh-cspace.js +1 -1
  54. package/dist/components/stzh-datalist-item2.js +10 -2
  55. package/dist/components/stzh-datamessagelist-item.js +1 -1
  56. package/dist/components/stzh-invert.js +1 -1
  57. package/dist/components/stzh-link2.js +10 -2
  58. package/dist/components/stzh-pagetitle-hero.js +1 -1
  59. package/dist/components/stzh-portal-mitwirken.js +1 -1
  60. package/dist/components/stzh-richtext2.js +14 -1
  61. package/dist/components/stzh-upload.js +1 -1
  62. package/dist/components/stzh-vbz-ticker.js +16 -11
  63. package/dist/esm/{_commonjsHelpers-f9dc4873.js → _commonjsHelpers-ba3f0406.js} +1 -16
  64. package/dist/esm/{app-globals-b848652e.js → app-globals-f5264f95.js} +1 -1
  65. package/dist/esm/{js.cookie-53735b72.js → js.cookie-28a40640.js} +1 -1
  66. package/dist/esm/loader.js +2 -2
  67. package/dist/esm/stzh-badge_3.entry.js +9 -2
  68. package/dist/esm/stzh-card_3.entry.js +18 -19
  69. package/dist/esm/stzh-chart.entry.js +5995 -5168
  70. package/dist/esm/stzh-chip_2.entry.js +1 -1
  71. package/dist/esm/stzh-components.js +2 -2
  72. package/dist/esm/stzh-cspace.entry.js +1 -1
  73. package/dist/esm/stzh-datalist_2.entry.js +9 -2
  74. package/dist/esm/stzh-datamessagelist-item.entry.js +1 -1
  75. package/dist/esm/stzh-datatable.entry.js +1 -1
  76. package/dist/esm/stzh-dropdown.entry.js +1 -1
  77. package/dist/esm/stzh-ghettobox_2.entry.js +14 -3
  78. package/dist/esm/stzh-invert.entry.js +1 -1
  79. package/dist/esm/stzh-link.entry.js +9 -2
  80. package/dist/esm/stzh-message.entry.js +2 -2
  81. package/dist/esm/stzh-olmap.entry.js +1 -1
  82. package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
  83. package/dist/esm/stzh-portal-mitwirken.entry.js +1 -1
  84. package/dist/esm/stzh-upload.entry.js +1 -1
  85. package/dist/esm/stzh-vbz-linechip.entry.js +1 -1
  86. package/dist/esm/stzh-vbz-ticker.entry.js +16 -11
  87. package/dist/esm-es5/_commonjsHelpers-ba3f0406.js +1 -0
  88. package/dist/esm-es5/app-globals-f5264f95.js +1 -0
  89. package/dist/esm-es5/{js.cookie-53735b72.js → js.cookie-28a40640.js} +1 -1
  90. package/dist/esm-es5/loader.js +1 -1
  91. package/dist/esm-es5/stzh-badge_3.entry.js +1 -1
  92. package/dist/esm-es5/stzh-card_3.entry.js +1 -1
  93. package/dist/esm-es5/stzh-chart.entry.js +3 -3
  94. package/dist/esm-es5/stzh-chip_2.entry.js +1 -1
  95. package/dist/esm-es5/stzh-components.js +1 -1
  96. package/dist/esm-es5/stzh-cspace.entry.js +1 -1
  97. package/dist/esm-es5/stzh-datalist_2.entry.js +1 -1
  98. package/dist/esm-es5/stzh-datamessagelist-item.entry.js +1 -1
  99. package/dist/esm-es5/stzh-datatable.entry.js +1 -1
  100. package/dist/esm-es5/stzh-dropdown.entry.js +1 -1
  101. package/dist/esm-es5/stzh-ghettobox_2.entry.js +1 -1
  102. package/dist/esm-es5/stzh-invert.entry.js +1 -1
  103. package/dist/esm-es5/stzh-link.entry.js +1 -1
  104. package/dist/esm-es5/stzh-message.entry.js +1 -1
  105. package/dist/esm-es5/stzh-olmap.entry.js +1 -1
  106. package/dist/esm-es5/stzh-pagetitle-hero.entry.js +1 -1
  107. package/dist/esm-es5/stzh-portal-mitwirken.entry.js +1 -1
  108. package/dist/esm-es5/stzh-upload.entry.js +1 -1
  109. package/dist/esm-es5/stzh-vbz-linechip.entry.js +1 -1
  110. package/dist/esm-es5/stzh-vbz-ticker.entry.js +1 -1
  111. package/dist/stzh-components/assets/i18n/de.json +2 -0
  112. package/dist/stzh-components/assets/i18n/en.json +3 -1
  113. package/dist/stzh-components/p-05e742b4.js +1 -0
  114. package/dist/stzh-components/p-09a6a4be.system.js +1 -0
  115. package/dist/stzh-components/{p-b9372a2a.entry.js → p-0ab2f949.entry.js} +1 -1
  116. package/dist/stzh-components/{p-ed783154.system.entry.js → p-216b89d7.system.entry.js} +1 -1
  117. package/dist/stzh-components/{p-c8cc2563.system.entry.js → p-263fd0bb.system.entry.js} +1 -1
  118. package/dist/stzh-components/{p-e4a8f1bc.system.entry.js → p-2e40e63c.system.entry.js} +1 -1
  119. package/dist/stzh-components/{p-26889a91.entry.js → p-32ae64a3.entry.js} +1 -1
  120. package/dist/stzh-components/{p-4eee30ea.system.entry.js → p-340eedda.system.entry.js} +1 -1
  121. package/dist/stzh-components/p-3721f7b2.entry.js +1 -0
  122. package/dist/stzh-components/p-37de872c.system.entry.js +1 -0
  123. package/dist/stzh-components/p-3a73b8b5.system.js +1 -0
  124. package/dist/stzh-components/p-3e8ff66b.js +1 -0
  125. package/dist/stzh-components/{p-c2f909c1.system.entry.js → p-3fc51ad1.system.entry.js} +1 -1
  126. package/dist/stzh-components/p-4453449f.entry.js +1 -0
  127. package/dist/stzh-components/{p-d54ff4d4.system.entry.js → p-47175c6f.system.entry.js} +1 -1
  128. package/dist/stzh-components/p-5b85324c.entry.js +1 -0
  129. package/dist/stzh-components/{p-484a366f.system.js → p-5db542ae.system.js} +1 -1
  130. package/dist/stzh-components/p-62791751.entry.js +1 -0
  131. package/dist/stzh-components/p-660125e0.system.entry.js +1 -0
  132. package/dist/stzh-components/{p-65918f6f.system.js → p-6932ce19.system.js} +1 -1
  133. package/dist/stzh-components/{p-f3276ca5.system.entry.js → p-6a109ce9.system.entry.js} +1 -1
  134. package/dist/stzh-components/p-6c73f6ad.entry.js +1 -0
  135. package/dist/stzh-components/{p-02d51685.entry.js → p-6ee87986.entry.js} +1 -1
  136. package/dist/stzh-components/{p-d9ae09b5.entry.js → p-7bb82e56.entry.js} +1 -1
  137. package/dist/stzh-components/p-7d42654b.system.entry.js +1 -0
  138. package/dist/stzh-components/{p-b92734db.entry.js → p-7e9fa7f5.entry.js} +1 -1
  139. package/dist/stzh-components/p-8c141cae.system.entry.js +1 -0
  140. package/dist/stzh-components/p-907f59dd.entry.js +1 -0
  141. package/dist/stzh-components/{p-6adc5f0c.system.entry.js → p-95bfbf67.system.entry.js} +1 -1
  142. package/dist/stzh-components/{p-c9c7d88a.entry.js → p-a47e205f.entry.js} +1 -1
  143. package/dist/stzh-components/p-aa2c81e6.system.entry.js +3 -0
  144. package/dist/stzh-components/{p-89bd0d46.entry.js → p-aa4f87cc.entry.js} +1 -1
  145. package/dist/stzh-components/p-af9aac53.entry.js +3 -0
  146. package/dist/stzh-components/{p-24b8df26.js → p-b10682ee.js} +1 -1
  147. package/dist/stzh-components/p-b9b1b7cf.entry.js +1 -0
  148. package/dist/stzh-components/p-c9940c35.entry.js +1 -0
  149. package/dist/stzh-components/{p-7e4261ce.system.entry.js → p-d5514e5b.system.entry.js} +1 -1
  150. package/dist/stzh-components/{p-a32ae73a.system.entry.js → p-d5948025.system.entry.js} +1 -1
  151. package/dist/stzh-components/{p-2b67b0b3.system.entry.js → p-d95b44c6.system.entry.js} +1 -1
  152. package/dist/stzh-components/p-ddcec4e1.system.entry.js +1 -0
  153. package/dist/stzh-components/{p-444b2baf.entry.js → p-e085a0a0.entry.js} +1 -1
  154. package/dist/stzh-components/{p-d943e02c.system.entry.js → p-e09ac5e3.system.entry.js} +1 -1
  155. package/dist/stzh-components/p-e4aa12ba.system.entry.js +1 -0
  156. package/dist/stzh-components/{p-af67ea5e.entry.js → p-f4c0d928.entry.js} +1 -1
  157. package/dist/stzh-components/p-f725921a.entry.js +1 -0
  158. package/dist/stzh-components/stzh-components.css +1 -1
  159. package/dist/stzh-components/stzh-components.esm.js +1 -1
  160. package/dist/stzh-components/stzh-components.js +1 -1
  161. package/dist/types/components.d.ts +33 -1
  162. package/dist/types/utils/translation-utils.d.ts +2 -0
  163. package/dist/vscode-data.json +16 -16
  164. package/package.json +4 -4
  165. package/dist/esm-es5/_commonjsHelpers-f9dc4873.js +0 -1
  166. package/dist/esm-es5/app-globals-b848652e.js +0 -1
  167. package/dist/stzh-components/p-16c0b9ae.entry.js +0 -3
  168. package/dist/stzh-components/p-1d435dd8.system.entry.js +0 -1
  169. package/dist/stzh-components/p-1f74846f.entry.js +0 -1
  170. package/dist/stzh-components/p-29e9ad9f.system.entry.js +0 -1
  171. package/dist/stzh-components/p-30a9de85.system.entry.js +0 -1
  172. package/dist/stzh-components/p-4c60da30.entry.js +0 -1
  173. package/dist/stzh-components/p-532b4218.entry.js +0 -1
  174. package/dist/stzh-components/p-798ac79c.entry.js +0 -1
  175. package/dist/stzh-components/p-84a6e023.system.entry.js +0 -1
  176. package/dist/stzh-components/p-8caafed2.system.entry.js +0 -1
  177. package/dist/stzh-components/p-94662bed.system.js +0 -1
  178. package/dist/stzh-components/p-99b82949.entry.js +0 -1
  179. package/dist/stzh-components/p-9c90535a.system.js +0 -1
  180. package/dist/stzh-components/p-9de8b25b.entry.js +0 -1
  181. package/dist/stzh-components/p-a691fe87.js +0 -1
  182. package/dist/stzh-components/p-a6d4a8b1.js +0 -1
  183. package/dist/stzh-components/p-b04a9d0f.system.entry.js +0 -1
  184. package/dist/stzh-components/p-b422041d.entry.js +0 -1
  185. package/dist/stzh-components/p-cc722b35.system.entry.js +0 -3
  186. package/dist/stzh-components/p-db306e24.entry.js +0 -1
  187. package/dist/stzh-components/p-ee4b939a.entry.js +0 -1
@@ -1,4 +1,4 @@
1
- var __awaiter=this&&this.__awaiter||function(e,t,i,r){function n(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,o){function _(e){try{s(r.next(e))}catch(t){o(t)}}function a(e){try{s(r["throw"](e))}catch(t){o(t)}}function s(e){e.done?i(e.value):n(e.value).then(_,a)}s((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,n,o,_;return _={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(_[Symbol.iterator]=function(){return this}),_;function a(e){return function(t){return s([e,t])}}function s(a){if(r)throw new TypeError("Generator is already executing.");while(_&&(_=0,a[0]&&(i=0)),i)try{if(r=1,n&&(o=a[0]&2?n["return"]:a[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;if(n=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;n=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(a[0]===6&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}if(o[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(s){a=[6,s];n=0}finally{r=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};import{r as registerInstance,e as createEvent,h,c as Host,g as getElement}from"./index-319b7c49.js";import{f as fetchTranslations}from"./translation-utils-2623783f.js";import{c as createCommonjsModule,b as commonjsGlobal}from"./_commonjsHelpers-f9dc4873.js";function globals(e){e("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees");e("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees");e("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");e.WGS84=e["EPSG:4326"];e["EPSG:3785"]=e["EPSG:3857"];e.GOOGLE=e["EPSG:3857"];e["EPSG:900913"]=e["EPSG:3857"];e["EPSG:102113"]=e["EPSG:3857"]}var PJD_3PARAM=1;var PJD_7PARAM=2;var PJD_WGS84=4;var PJD_NODATUM=5;var SEC_TO_RAD=484813681109536e-20;var HALF_PI=Math.PI/2;var SIXTH=.16666666666666666;var RA4=.04722222222222222;var RA6=.022156084656084655;var EPSLN=1e-10;var D2R$1=.017453292519943295;var R2D=57.29577951308232;var FORTPI=Math.PI/4;var TWO_PI=Math.PI*2;var SPI=3.14159265359;var exports$2={};exports$2.greenwich=0;exports$2.lisbon=-9.131906111111;exports$2.paris=2.337229166667;exports$2.bogota=-74.080916666667;exports$2.madrid=-3.687938888889;exports$2.rome=12.452333333333;exports$2.bern=7.439583333333;exports$2.jakarta=106.807719444444;exports$2.ferro=-17.666666666667;exports$2.brussels=4.367975;exports$2.stockholm=18.058277777778;exports$2.athens=23.7163375;exports$2.oslo=10.722916666667;var units={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var ignoredChar=/[\s_\-\/\(\)]/g;function match(e,t){if(e[t]){return e[t]}var i=Object.keys(e);var r=t.toLowerCase().replace(ignoredChar,"");var n=-1;var o,_;while(++n<i.length){o=i[n];_=o.toLowerCase().replace(ignoredChar,"");if(_===r){return e[o]}}}function projStr(e){var t={};var i=e.split("+").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var i=t.split("=");i.push(true);e[i[0].toLowerCase()]=i[1];return e}),{});var r,n,o;var _={proj:"projName",datum:"datumCode",rf:function(e){t.rf=parseFloat(e)},lat_0:function(e){t.lat0=e*D2R$1},lat_1:function(e){t.lat1=e*D2R$1},lat_2:function(e){t.lat2=e*D2R$1},lat_ts:function(e){t.lat_ts=e*D2R$1},lon_0:function(e){t.long0=e*D2R$1},lon_1:function(e){t.long1=e*D2R$1},lon_2:function(e){t.long2=e*D2R$1},alpha:function(e){t.alpha=parseFloat(e)*D2R$1},lonc:function(e){t.longc=e*D2R$1},x_0:function(e){t.x0=parseFloat(e)},y_0:function(e){t.y0=parseFloat(e)},k_0:function(e){t.k0=parseFloat(e)},k:function(e){t.k0=parseFloat(e)},a:function(e){t.a=parseFloat(e)},b:function(e){t.b=parseFloat(e)},r_a:function(){t.R_A=true},zone:function(e){t.zone=parseInt(e,10)},south:function(){t.utmSouth=true},towgs84:function(e){t.datum_params=e.split(",").map((function(e){return parseFloat(e)}))},to_meter:function(e){t.to_meter=parseFloat(e)},units:function(e){t.units=e;var i=match(units,e);if(i){t.to_meter=i.to_meter}},from_greenwich:function(e){t.from_greenwich=e*D2R$1},pm:function(e){var i=match(exports$2,e);t.from_greenwich=(i?i:parseFloat(e))*D2R$1},nadgrids:function(e){if(e==="@null"){t.datumCode="none"}else{t.nadgrids=e}},axis:function(e){var i="ewnsud";if(e.length===3&&i.indexOf(e.substr(0,1))!==-1&&i.indexOf(e.substr(1,1))!==-1&&i.indexOf(e.substr(2,1))!==-1){t.axis=e}}};for(r in i){n=i[r];if(r in _){o=_[r];if(typeof o==="function"){o(n)}else{t[o]=n}}else{t[r]=n}}if(typeof t.datumCode==="string"&&t.datumCode!=="WGS84"){t.datumCode=t.datumCode.toLowerCase()}return t}var NEUTRAL=1;var KEYWORD=2;var NUMBER=3;var QUOTED=4;var AFTERQUOTE=5;var ENDED=-1;var whitespace=/\s/;var latin=/[A-Za-z]/;var keyword=/[A-Za-z84_]/;var endThings=/[,\]]/;var digets=/[\d\.E\-\+]/;function Parser(e){if(typeof e!=="string"){throw new Error("not a string")}this.text=e.trim();this.level=0;this.place=0;this.root=null;this.stack=[];this.currentObject=null;this.state=NEUTRAL}Parser.prototype.readCharicter=function(){var e=this.text[this.place++];if(this.state!==QUOTED){while(whitespace.test(e)){if(this.place>=this.text.length){return}e=this.text[this.place++]}}switch(this.state){case NEUTRAL:return this.neutral(e);case KEYWORD:return this.keyword(e);case QUOTED:return this.quoted(e);case AFTERQUOTE:return this.afterquote(e);case NUMBER:return this.number(e);case ENDED:return}};Parser.prototype.afterquote=function(e){if(e==='"'){this.word+='"';this.state=QUOTED;return}if(endThings.test(e)){this.word=this.word.trim();this.afterItem(e);return}throw new Error("havn't handled \""+e+'" in afterquote yet, index '+this.place)};Parser.prototype.afterItem=function(e){if(e===","){if(this.word!==null){this.currentObject.push(this.word)}this.word=null;this.state=NEUTRAL;return}if(e==="]"){this.level--;if(this.word!==null){this.currentObject.push(this.word);this.word=null}this.state=NEUTRAL;this.currentObject=this.stack.pop();if(!this.currentObject){this.state=ENDED}return}};Parser.prototype.number=function(e){if(digets.test(e)){this.word+=e;return}if(endThings.test(e)){this.word=parseFloat(this.word);this.afterItem(e);return}throw new Error("havn't handled \""+e+'" in number yet, index '+this.place)};Parser.prototype.quoted=function(e){if(e==='"'){this.state=AFTERQUOTE;return}this.word+=e;return};Parser.prototype.keyword=function(e){if(keyword.test(e)){this.word+=e;return}if(e==="["){var t=[];t.push(this.word);this.level++;if(this.root===null){this.root=t}else{this.currentObject.push(t)}this.stack.push(this.currentObject);this.currentObject=t;this.state=NEUTRAL;return}if(endThings.test(e)){this.afterItem(e);return}throw new Error("havn't handled \""+e+'" in keyword yet, index '+this.place)};Parser.prototype.neutral=function(e){if(latin.test(e)){this.word=e;this.state=KEYWORD;return}if(e==='"'){this.word="";this.state=QUOTED;return}if(digets.test(e)){this.word=e;this.state=NUMBER;return}if(endThings.test(e)){this.afterItem(e);return}throw new Error("havn't handled \""+e+'" in neutral yet, index '+this.place)};Parser.prototype.output=function(){while(this.place<this.text.length){this.readCharicter()}if(this.state===ENDED){return this.root}throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function parseString(e){var t=new Parser(e);return t.output()}function mapit(e,t,i){if(Array.isArray(t)){i.unshift(t);t=null}var r=t?{}:e;var n=i.reduce((function(e,t){sExpr(t,e);return e}),r);if(t){e[t]=n}}function sExpr(e,t){if(!Array.isArray(e)){t[e]=true;return}var i=e.shift();if(i==="PARAMETER"){i=e.shift()}if(e.length===1){if(Array.isArray(e[0])){t[i]={};sExpr(e[0],t[i]);return}t[i]=e[0];return}if(!e.length){t[i]=true;return}if(i==="TOWGS84"){t[i]=e;return}if(i==="AXIS"){if(!(i in t)){t[i]=[]}t[i].push(e);return}if(!Array.isArray(i)){t[i]={}}var r;switch(i){case"UNIT":case"PRIMEM":case"VERT_DATUM":t[i]={name:e[0].toLowerCase(),convert:e[1]};if(e.length===3){sExpr(e[2],t[i])}return;case"SPHEROID":case"ELLIPSOID":t[i]={name:e[0],a:e[1],rf:e[2]};if(e.length===4){sExpr(e[3],t[i])}return;case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":e[0]=["name",e[0]];mapit(t,i,e);return;default:r=-1;while(++r<e.length){if(!Array.isArray(e[r])){return sExpr(e,t[i])}}return mapit(t,i,e)}}var D2R=.017453292519943295;function rename(e,t){var i=t[0];var r=t[1];if(!(i in e)&&r in e){e[i]=e[r];if(t.length===3){e[i]=t[2](e[i])}}}function d2r(e){return e*D2R}function cleanWKT(e){if(e.type==="GEOGCS"){e.projName="longlat"}else if(e.type==="LOCAL_CS"){e.projName="identity";e.local=true}else{if(typeof e.PROJECTION==="object"){e.projName=Object.keys(e.PROJECTION)[0]}else{e.projName=e.PROJECTION}}if(e.AXIS){var t="";for(var i=0,r=e.AXIS.length;i<r;++i){var n=[e.AXIS[i][0].toLowerCase(),e.AXIS[i][1].toLowerCase()];if(n[0].indexOf("north")!==-1||(n[0]==="y"||n[0]==="lat")&&n[1]==="north"){t+="n"}else if(n[0].indexOf("south")!==-1||(n[0]==="y"||n[0]==="lat")&&n[1]==="south"){t+="s"}else if(n[0].indexOf("east")!==-1||(n[0]==="x"||n[0]==="lon")&&n[1]==="east"){t+="e"}else if(n[0].indexOf("west")!==-1||(n[0]==="x"||n[0]==="lon")&&n[1]==="west"){t+="w"}}if(t.length===2){t+="u"}if(t.length===3){e.axis=t}}if(e.UNIT){e.units=e.UNIT.name.toLowerCase();if(e.units==="metre"){e.units="meter"}if(e.UNIT.convert){if(e.type==="GEOGCS"){if(e.DATUM&&e.DATUM.SPHEROID){e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a}}else{e.to_meter=e.UNIT.convert}}}var o=e.GEOGCS;if(e.type==="GEOGCS"){o=e}if(o){if(o.DATUM){e.datumCode=o.DATUM.name.toLowerCase()}else{e.datumCode=o.name.toLowerCase()}if(e.datumCode.slice(0,2)==="d_"){e.datumCode=e.datumCode.slice(2)}if(e.datumCode==="new_zealand_geodetic_datum_1949"||e.datumCode==="new_zealand_1949"){e.datumCode="nzgd49"}if(e.datumCode==="wgs_1984"||e.datumCode==="world_geodetic_system_1984"){if(e.PROJECTION==="Mercator_Auxiliary_Sphere"){e.sphere=true}e.datumCode="wgs84"}if(e.datumCode.slice(-6)==="_ferro"){e.datumCode=e.datumCode.slice(0,-6)}if(e.datumCode.slice(-8)==="_jakarta"){e.datumCode=e.datumCode.slice(0,-8)}if(~e.datumCode.indexOf("belge")){e.datumCode="rnb72"}if(o.DATUM&&o.DATUM.SPHEROID){e.ellps=o.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk");if(e.ellps.toLowerCase().slice(0,13)==="international"){e.ellps="intl"}e.a=o.DATUM.SPHEROID.a;e.rf=parseFloat(o.DATUM.SPHEROID.rf,10)}if(o.DATUM&&o.DATUM.TOWGS84){e.datum_params=o.DATUM.TOWGS84}if(~e.datumCode.indexOf("osgb_1936")){e.datumCode="osgb36"}if(~e.datumCode.indexOf("osni_1952")){e.datumCode="osni52"}if(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965")){e.datumCode="ire65"}if(e.datumCode==="ch1903+"){e.datumCode="ch1903"}if(~e.datumCode.indexOf("israel")){e.datumCode="isr93"}}if(e.b&&!isFinite(e.b)){e.b=e.a}function _(t){var i=e.to_meter||1;return t*i}var a=function(t){return rename(e,t)};var s=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",d2r],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",d2r],["x0","false_easting",_],["y0","false_northing",_],["long0","central_meridian",d2r],["lat0","latitude_of_origin",d2r],["lat0","standard_parallel_1",d2r],["lat1","standard_parallel_1",d2r],["lat2","standard_parallel_2",d2r],["azimuth","Azimuth"],["alpha","azimuth",d2r],["srsCode","name"]];s.forEach(a);if(!e.long0&&e.longc&&(e.projName==="Albers_Conic_Equal_Area"||e.projName==="Lambert_Azimuthal_Equal_Area")){e.long0=e.longc}if(!e.lat_ts&&e.lat1&&(e.projName==="Stereographic_South_Pole"||e.projName==="Polar Stereographic (variant B)")){e.lat0=d2r(e.lat1>0?90:-90);e.lat_ts=e.lat1}}function wkt(e){var t=parseString(e);var i=t.shift();var r=t.shift();t.unshift(["name",r]);t.unshift(["type",i]);var n={};sExpr(t,n);cleanWKT(n);return n}function defs(e){var t=this;if(arguments.length===2){var i=arguments[1];if(typeof i==="string"){if(i.charAt(0)==="+"){defs[e]=projStr(arguments[1])}else{defs[e]=wkt(arguments[1])}}else{defs[e]=i}}else if(arguments.length===1){if(Array.isArray(e)){return e.map((function(e){if(Array.isArray(e)){defs.apply(t,e)}else{defs(e)}}))}else if(typeof e==="string"){if(e in defs){return defs[e]}}else if("EPSG"in e){defs["EPSG:"+e.EPSG]=e}else if("ESRI"in e){defs["ESRI:"+e.ESRI]=e}else if("IAU2000"in e){defs["IAU2000:"+e.IAU2000]=e}else{console.log(e)}return}}globals(defs);function testObj(e){return typeof e==="string"}function testDef(e){return e in defs}var codeWords=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function testWKT(e){return codeWords.some((function(t){return e.indexOf(t)>-1}))}function testProj(e){return e[0]==="+"}function parse(e){if(testObj(e)){if(testDef(e)){return defs[e]}if(testWKT(e)){return wkt(e)}if(testProj(e)){return projStr(e)}}else{return e}}function extend$1(e,t){e=e||{};var i,r;if(!t){return e}for(r in t){i=t[r];if(i!==undefined){e[r]=i}}return e}function msfnz(e,t,i){var r=e*t;return i/Math.sqrt(1-r*r)}function sign(e){return e<0?-1:1}function adjust_lon(e){return Math.abs(e)<=SPI?e:e-sign(e)*TWO_PI}function tsfnz(e,t,i){var r=e*i;var n=.5*e;r=Math.pow((1-r)/(1+r),n);return Math.tan(.5*(HALF_PI-t))/r}function phi2z(e,t){var i=.5*e;var r,n;var o=HALF_PI-2*Math.atan(t);for(var _=0;_<=15;_++){r=e*Math.sin(o);n=HALF_PI-2*Math.atan(t*Math.pow((1-r)/(1+r),i))-o;o+=n;if(Math.abs(n)<=1e-10){return o}}return-9999}function init$r(){var e=this.b/this.a;this.es=1-e*e;if(!("x0"in this)){this.x0=0}if(!("y0"in this)){this.y0=0}this.e=Math.sqrt(this.es);if(this.lat_ts){if(this.sphere){this.k0=Math.cos(this.lat_ts)}else{this.k0=msfnz(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))}}else{if(!this.k0){if(this.k){this.k0=this.k}else{this.k0=1}}}}function forward$q(e){var t=e.x;var i=e.y;if(i*R2D>90&&i*R2D<-90&&t*R2D>180&&t*R2D<-180){return null}var r,n;if(Math.abs(Math.abs(i)-HALF_PI)<=EPSLN){return null}else{if(this.sphere){r=this.x0+this.a*this.k0*adjust_lon(t-this.long0);n=this.y0+this.a*this.k0*Math.log(Math.tan(FORTPI+.5*i))}else{var o=Math.sin(i);var _=tsfnz(this.e,i,o);r=this.x0+this.a*this.k0*adjust_lon(t-this.long0);n=this.y0-this.a*this.k0*Math.log(_)}e.x=r;e.y=n;return e}}function inverse$q(e){var t=e.x-this.x0;var i=e.y-this.y0;var r,n;if(this.sphere){n=HALF_PI-2*Math.atan(Math.exp(-i/(this.a*this.k0)))}else{var o=Math.exp(-i/(this.a*this.k0));n=phi2z(this.e,o);if(n===-9999){return null}}r=adjust_lon(this.long0+t/(this.a*this.k0));e.x=r;e.y=n;return e}var names$s=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"];var merc={init:init$r,forward:forward$q,inverse:inverse$q,names:names$s};function init$q(){}function identity(e){return e}var names$r=["longlat","identity"];var longlat={init:init$q,forward:identity,inverse:identity,names:names$r};var projs=[merc,longlat];var names$q={};var projStore=[];function add(e,t){var i=projStore.length;if(!e.names){console.log(t);return true}projStore[i]=e;e.names.forEach((function(e){names$q[e.toLowerCase()]=i}));return this}function get(e){if(!e){return false}var t=e.toLowerCase();if(typeof names$q[t]!=="undefined"&&projStore[names$q[t]]){return projStore[names$q[t]]}}function start(){projs.forEach(add)}var projections={start:start,add:add,get:get};var exports$1={};exports$1.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"};exports$1.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"};exports$1.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"};exports$1.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"};exports$1.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"};exports$1.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"};exports$1.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"};exports$1.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"};exports$1.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"};exports$1.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"};exports$1.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"};exports$1.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"};exports$1.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"};exports$1.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"};exports$1.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."};exports$1.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"};exports$1.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"};exports$1.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"};exports$1.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"};exports$1.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"};exports$1.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"};exports$1.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"};exports$1.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"};exports$1.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"};exports$1.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"};exports$1.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"};exports$1.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"};exports$1.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"};exports$1.hough={a:6378270,rf:297,ellipseName:"Hough"};exports$1.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"};exports$1.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"};exports$1.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"};exports$1.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"};exports$1.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"};exports$1.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"};exports$1.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"};exports$1.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"};exports$1.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"};exports$1.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"};exports$1.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"};exports$1.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var WGS84=exports$1.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};exports$1.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function eccentricity(e,t,i,r){var n=e*e;var o=t*t;var _=(n-o)/n;var a=0;if(r){e*=1-_*(SIXTH+_*(RA4+_*RA6));n=e*e;_=0}else{a=Math.sqrt(_)}var s=(n-o)/o;return{es:_,e:a,ep2:s}}function sphere(e,t,i,r,n){if(!e){var o=match(exports$1,r);if(!o){o=WGS84}e=o.a;t=o.b;i=o.rf}if(i&&!t){t=(1-1/i)*e}if(i===0||Math.abs(e-t)<EPSLN){n=true;t=e}return{a:e,b:t,rf:i,sphere:n}}var exports={};exports.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"};exports.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"};exports.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"};exports.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"};exports.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"};exports.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"};exports.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"};exports.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"};exports.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"};exports.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"};exports.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"};exports.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"};exports.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"};exports.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"};exports.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"};exports.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"};exports.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};function datum(e,t,i,r,n,o){var _={};if(e===undefined||e==="none"){_.datum_type=PJD_NODATUM}else{_.datum_type=PJD_WGS84}if(t){_.datum_params=t.map(parseFloat);if(_.datum_params[0]!==0||_.datum_params[1]!==0||_.datum_params[2]!==0){_.datum_type=PJD_3PARAM}if(_.datum_params.length>3){if(_.datum_params[3]!==0||_.datum_params[4]!==0||_.datum_params[5]!==0||_.datum_params[6]!==0){_.datum_type=PJD_7PARAM;_.datum_params[3]*=SEC_TO_RAD;_.datum_params[4]*=SEC_TO_RAD;_.datum_params[5]*=SEC_TO_RAD;_.datum_params[6]=_.datum_params[6]/1e6+1}}}_.a=i;_.b=r;_.es=n;_.ep2=o;return _}function Projection(e,t){if(!(this instanceof Projection)){return new Projection(e)}t=t||function(e){if(e){throw e}};var i=parse(e);if(typeof i!=="object"){t(e);return}var r=Projection.projections.get(i.projName);if(!r){t(e);return}if(i.datumCode&&i.datumCode!=="none"){var n=match(exports,i.datumCode);if(n){i.datum_params=n.towgs84?n.towgs84.split(","):null;i.ellps=n.ellipse;i.datumName=n.datumName?n.datumName:i.datumCode}}i.k0=i.k0||1;i.axis=i.axis||"enu";i.ellps=i.ellps||"wgs84";var o=sphere(i.a,i.b,i.rf,i.ellps,i.sphere);var _=eccentricity(o.a,o.b,o.rf,i.R_A);var a=i.datum||datum(i.datumCode,i.datum_params,o.a,o.b,_.es,_.ep2);extend$1(this,i);extend$1(this,r);this.a=o.a;this.b=o.b;this.rf=o.rf;this.sphere=o.sphere;this.es=_.es;this.e=_.e;this.ep2=_.ep2;this.datum=a;this.init();t(null,this)}Projection.projections=projections;Projection.projections.start();function compareDatums(e,t){if(e.datum_type!==t.datum_type){return false}else if(e.a!==t.a||Math.abs(e.es-t.es)>5e-11){return false}else if(e.datum_type===PJD_3PARAM){return e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]}else if(e.datum_type===PJD_7PARAM){return e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]&&e.datum_params[3]===t.datum_params[3]&&e.datum_params[4]===t.datum_params[4]&&e.datum_params[5]===t.datum_params[5]&&e.datum_params[6]===t.datum_params[6]}else{return true}}function geodeticToGeocentric(e,t,i){var r=e.x;var n=e.y;var o=e.z?e.z:0;var _;var a;var s;var l;if(n<-HALF_PI&&n>-1.001*HALF_PI){n=-HALF_PI}else if(n>HALF_PI&&n<1.001*HALF_PI){n=HALF_PI}else if(n<-HALF_PI||n>HALF_PI){return null}if(r>Math.PI){r-=2*Math.PI}a=Math.sin(n);l=Math.cos(n);s=a*a;_=i/Math.sqrt(1-t*s);return{x:(_+o)*l*Math.cos(r),y:(_+o)*l*Math.sin(r),z:(_*(1-t)+o)*a}}function geocentricToGeodetic(e,t,i,r){var n=1e-12;var o=n*n;var _=30;var a;var s;var l;var h;var u;var c;var f;var d;var p;var v;var g;var y;var m;var E=e.x;var x=e.y;var T=e.z?e.z:0;var R;var S;var C;a=Math.sqrt(E*E+x*x);s=Math.sqrt(E*E+x*x+T*T);if(a/i<n){R=0;if(s/i<n){S=HALF_PI;C=-r;return{x:e.x,y:e.y,z:e.z}}}else{R=Math.atan2(x,E)}l=T/s;h=a/s;u=1/Math.sqrt(1-t*(2-t)*h*h);d=h*(1-t)*u;p=l*u;m=0;do{m++;f=i/Math.sqrt(1-t*p*p);C=a*d+T*p-f*(1-t*p*p);c=t*f/(f+C);u=1/Math.sqrt(1-c*(2-c)*h*h);v=h*(1-c)*u;g=l*u;y=g*d-v*p;d=v;p=g}while(y*y>o&&m<_);S=Math.atan(g/Math.abs(v));return{x:R,y:S,z:C}}function geocentricToWgs84(e,t,i){if(t===PJD_3PARAM){return{x:e.x+i[0],y:e.y+i[1],z:e.z+i[2]}}else if(t===PJD_7PARAM){var r=i[0];var n=i[1];var o=i[2];var _=i[3];var a=i[4];var s=i[5];var l=i[6];return{x:l*(e.x-s*e.y+a*e.z)+r,y:l*(s*e.x+e.y-_*e.z)+n,z:l*(-a*e.x+_*e.y+e.z)+o}}}function geocentricFromWgs84(e,t,i){if(t===PJD_3PARAM){return{x:e.x-i[0],y:e.y-i[1],z:e.z-i[2]}}else if(t===PJD_7PARAM){var r=i[0];var n=i[1];var o=i[2];var _=i[3];var a=i[4];var s=i[5];var l=i[6];var h=(e.x-r)/l;var u=(e.y-n)/l;var c=(e.z-o)/l;return{x:h+s*u-a*c,y:-s*h+u+_*c,z:a*h-_*u+c}}}function checkParams(e){return e===PJD_3PARAM||e===PJD_7PARAM}function datum_transform(e,t,i){if(compareDatums(e,t)){return i}if(e.datum_type===PJD_NODATUM||t.datum_type===PJD_NODATUM){return i}if(e.es===t.es&&e.a===t.a&&!checkParams(e.datum_type)&&!checkParams(t.datum_type)){return i}i=geodeticToGeocentric(i,e.es,e.a);if(checkParams(e.datum_type)){i=geocentricToWgs84(i,e.datum_type,e.datum_params)}if(checkParams(t.datum_type)){i=geocentricFromWgs84(i,t.datum_type,t.datum_params)}return geocentricToGeodetic(i,t.es,t.a,t.b)}function adjust_axis(e,t,i){var r=i.x,n=i.y,o=i.z||0;var _,a,s;var l={};for(s=0;s<3;s++){if(t&&s===2&&i.z===undefined){continue}if(s===0){_=r;a="x"}else if(s===1){_=n;a="y"}else{_=o;a="z"}switch(e.axis[s]){case"e":l[a]=_;break;case"w":l[a]=-_;break;case"n":l[a]=_;break;case"s":l[a]=-_;break;case"u":if(i[a]!==undefined){l.z=_}break;case"d":if(i[a]!==undefined){l.z=-_}break;default:return null}}return l}function common(e){var t={x:e[0],y:e[1]};if(e.length>2){t.z=e[2]}if(e.length>3){t.m=e[3]}return t}function checkSanity(e){checkCoord(e.x);checkCoord(e.y)}function checkCoord(e){if(typeof Number.isFinite==="function"){if(Number.isFinite(e)){return}throw new TypeError("coordinates must be finite numbers")}if(typeof e!=="number"||e!==e||!isFinite(e)){throw new TypeError("coordinates must be finite numbers")}}function checkNotWGS(e,t){return(e.datum.datum_type===PJD_3PARAM||e.datum.datum_type===PJD_7PARAM)&&t.datumCode!=="WGS84"||(t.datum.datum_type===PJD_3PARAM||t.datum.datum_type===PJD_7PARAM)&&e.datumCode!=="WGS84"}function transform(e,t,i){var r;if(Array.isArray(i)){i=common(i)}checkSanity(i);if(e.datum&&t.datum&&checkNotWGS(e,t)){r=new Projection("WGS84");i=transform(e,r,i);e=r}if(e.axis!=="enu"){i=adjust_axis(e,false,i)}if(e.projName==="longlat"){i={x:i.x*D2R$1,y:i.y*D2R$1}}else{if(e.to_meter){i={x:i.x*e.to_meter,y:i.y*e.to_meter}}i=e.inverse(i)}if(e.from_greenwich){i.x+=e.from_greenwich}i=datum_transform(e.datum,t.datum,i);if(t.from_greenwich){i={x:i.x-t.from_greenwich,y:i.y}}if(t.projName==="longlat"){i={x:i.x*R2D,y:i.y*R2D}}else{i=t.forward(i);if(t.to_meter){i={x:i.x/t.to_meter,y:i.y/t.to_meter}}}if(t.axis!=="enu"){return adjust_axis(t,true,i)}return i}var wgs84=Projection("WGS84");function transformer(e,t,i){var r,n,o;if(Array.isArray(i)){r=transform(e,t,i);if(i.length===3){return[r.x,r.y,r.z]}else{return[r.x,r.y]}}else{n=transform(e,t,i);o=Object.keys(i);if(o.length===2){return n}o.forEach((function(e){if(e==="x"||e==="y"){return}n[e]=i[e]}));return n}}function checkProj(e){if(e instanceof Projection){return e}if(e.oProj){return e.oProj}return Projection(e)}function proj4(e,t,i){e=checkProj(e);var r=false;var n;if(typeof t==="undefined"){t=e;e=wgs84;r=true}else if(typeof t.x!=="undefined"||Array.isArray(t)){i=t;t=e;e=wgs84;r=true}t=checkProj(t);if(i){return transformer(e,t,i)}else{n={forward:function(i){return transformer(e,t,i)},inverse:function(i){return transformer(t,e,i)}};if(r){n.oProj=t}return n}}var NUM_100K_SETS=6;var SET_ORIGIN_COLUMN_LETTERS="AJSAJS";var SET_ORIGIN_ROW_LETTERS="AFAFAF";var A=65;var I=73;var O=79;var V=86;var Z=90;var mgrs={forward:forward$p,inverse:inverse$p,toPoint:toPoint};function forward$p(e,t){t=t||5;return encode(LLtoUTM({lat:e[1],lon:e[0]}),t)}function inverse$p(e){var t=UTMtoLL(decode(e.toUpperCase()));if(t.lat&&t.lon){return[t.lon,t.lat,t.lon,t.lat]}return[t.left,t.bottom,t.right,t.top]}function toPoint(e){var t=UTMtoLL(decode(e.toUpperCase()));if(t.lat&&t.lon){return[t.lon,t.lat]}return[(t.left+t.right)/2,(t.top+t.bottom)/2]}function degToRad(e){return e*(Math.PI/180)}function radToDeg(e){return 180*(e/Math.PI)}function LLtoUTM(e){var t=e.lat;var i=e.lon;var r=6378137;var n=.00669438;var o=.9996;var _;var a;var s,l,h,u,c;var f=degToRad(t);var d=degToRad(i);var p;var v;v=Math.floor((i+180)/6)+1;if(i===180){v=60}if(t>=56&&t<64&&i>=3&&i<12){v=32}if(t>=72&&t<84){if(i>=0&&i<9){v=31}else if(i>=9&&i<21){v=33}else if(i>=21&&i<33){v=35}else if(i>=33&&i<42){v=37}}_=(v-1)*6-180+3;p=degToRad(_);a=n/(1-n);s=r/Math.sqrt(1-n*Math.sin(f)*Math.sin(f));l=Math.tan(f)*Math.tan(f);h=a*Math.cos(f)*Math.cos(f);u=Math.cos(f)*(d-p);c=r*((1-n/4-3*n*n/64-5*n*n*n/256)*f-(3*n/8+3*n*n/32+45*n*n*n/1024)*Math.sin(2*f)+(15*n*n/256+45*n*n*n/1024)*Math.sin(4*f)-35*n*n*n/3072*Math.sin(6*f));var g=o*s*(u+(1-l+h)*u*u*u/6+(5-18*l+l*l+72*h-58*a)*u*u*u*u*u/120)+5e5;var y=o*(c+s*Math.tan(f)*(u*u/2+(5-l+9*h+4*h*h)*u*u*u*u/24+(61-58*l+l*l+600*h-330*a)*u*u*u*u*u*u/720));if(t<0){y+=1e7}return{northing:Math.round(y),easting:Math.round(g),zoneNumber:v,zoneLetter:getLetterDesignator(t)}}function UTMtoLL(e){var t=e.northing;var i=e.easting;var r=e.zoneLetter;var n=e.zoneNumber;if(n<0||n>60){return null}var o=.9996;var _=6378137;var a=.00669438;var s;var l=(1-Math.sqrt(1-a))/(1+Math.sqrt(1-a));var h,u,c,f,d,p;var v;var g,y;var m=i-5e5;var E=t;if(r<"N"){E-=1e7}v=(n-1)*6-180+3;s=a/(1-a);p=E/o;g=p/(_*(1-a/4-3*a*a/64-5*a*a*a/256));y=g+(3*l/2-27*l*l*l/32)*Math.sin(2*g)+(21*l*l/16-55*l*l*l*l/32)*Math.sin(4*g)+151*l*l*l/96*Math.sin(6*g);h=_/Math.sqrt(1-a*Math.sin(y)*Math.sin(y));u=Math.tan(y)*Math.tan(y);c=s*Math.cos(y)*Math.cos(y);f=_*(1-a)/Math.pow(1-a*Math.sin(y)*Math.sin(y),1.5);d=m/(h*o);var x=y-h*Math.tan(y)/f*(d*d/2-(5+3*u+10*c-4*c*c-9*s)*d*d*d*d/24+(61+90*u+298*c+45*u*u-252*s-3*c*c)*d*d*d*d*d*d/720);x=radToDeg(x);var T=(d-(1+2*u+c)*d*d*d/6+(5-2*c+28*u-3*c*c+8*s+24*u*u)*d*d*d*d*d/120)/Math.cos(y);T=v+radToDeg(T);var R;if(e.accuracy){var S=UTMtoLL({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});R={top:S.lat,right:S.lon,bottom:x,left:T}}else{R={lat:x,lon:T}}return R}function getLetterDesignator(e){var t="Z";if(84>=e&&e>=72){t="X"}else if(72>e&&e>=64){t="W"}else if(64>e&&e>=56){t="V"}else if(56>e&&e>=48){t="U"}else if(48>e&&e>=40){t="T"}else if(40>e&&e>=32){t="S"}else if(32>e&&e>=24){t="R"}else if(24>e&&e>=16){t="Q"}else if(16>e&&e>=8){t="P"}else if(8>e&&e>=0){t="N"}else if(0>e&&e>=-8){t="M"}else if(-8>e&&e>=-16){t="L"}else if(-16>e&&e>=-24){t="K"}else if(-24>e&&e>=-32){t="J"}else if(-32>e&&e>=-40){t="H"}else if(-40>e&&e>=-48){t="G"}else if(-48>e&&e>=-56){t="F"}else if(-56>e&&e>=-64){t="E"}else if(-64>e&&e>=-72){t="D"}else if(-72>e&&e>=-80){t="C"}return t}function encode(e,t){var i="00000"+e.easting,r="00000"+e.northing;return e.zoneNumber+e.zoneLetter+get100kID(e.easting,e.northing,e.zoneNumber)+i.substr(i.length-5,t)+r.substr(r.length-5,t)}function get100kID(e,t,i){var r=get100kSetForZone(i);var n=Math.floor(e/1e5);var o=Math.floor(t/1e5)%20;return getLetter100kID(n,o,r)}function get100kSetForZone(e){var t=e%NUM_100K_SETS;if(t===0){t=NUM_100K_SETS}return t}function getLetter100kID(e,t,i){var r=i-1;var n=SET_ORIGIN_COLUMN_LETTERS.charCodeAt(r);var o=SET_ORIGIN_ROW_LETTERS.charCodeAt(r);var _=n+e-1;var a=o+t;var s=false;if(_>Z){_=_-Z+A-1;s=true}if(_===I||n<I&&_>I||(_>I||n<I)&&s){_++}if(_===O||n<O&&_>O||(_>O||n<O)&&s){_++;if(_===I){_++}}if(_>Z){_=_-Z+A-1}if(a>V){a=a-V+A-1;s=true}else{s=false}if(a===I||o<I&&a>I||(a>I||o<I)&&s){a++}if(a===O||o<O&&a>O||(a>O||o<O)&&s){a++;if(a===I){a++}}if(a>V){a=a-V+A-1}var l=String.fromCharCode(_)+String.fromCharCode(a);return l}function decode(e){if(e&&e.length===0){throw"MGRSPoint coverting from nothing"}var t=e.length;var i=null;var r="";var n;var o=0;while(!/[A-Z]/.test(n=e.charAt(o))){if(o>=2){throw"MGRSPoint bad conversion from: "+e}r+=n;o++}var _=parseInt(r,10);if(o===0||o+3>t){throw"MGRSPoint bad conversion from: "+e}var a=e.charAt(o++);if(a<="A"||a==="B"||a==="Y"||a>="Z"||a==="I"||a==="O"){throw"MGRSPoint zone letter "+a+" not handled: "+e}i=e.substring(o,o+=2);var s=get100kSetForZone(_);var l=getEastingFromChar(i.charAt(0),s);var h=getNorthingFromChar(i.charAt(1),s);while(h<getMinNorthing(a)){h+=2e6}var u=t-o;if(u%2!==0){throw"MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+e}var c=u/2;var f=0;var d=0;var p,v,g,y,m;if(c>0){p=1e5/Math.pow(10,c);v=e.substring(o,o+c);f=parseFloat(v)*p;g=e.substring(o+c);d=parseFloat(g)*p}y=f+l;m=d+h;return{easting:y,northing:m,zoneLetter:a,zoneNumber:_,accuracy:p}}function getEastingFromChar(e,t){var i=SET_ORIGIN_COLUMN_LETTERS.charCodeAt(t-1);var r=1e5;var n=false;while(i!==e.charCodeAt(0)){i++;if(i===I){i++}if(i===O){i++}if(i>Z){if(n){throw"Bad character: "+e}i=A;n=true}r+=1e5}return r}function getNorthingFromChar(e,t){if(e>"V"){throw"MGRSPoint given invalid Northing "+e}var i=SET_ORIGIN_ROW_LETTERS.charCodeAt(t-1);var r=0;var n=false;while(i!==e.charCodeAt(0)){i++;if(i===I){i++}if(i===O){i++}if(i>V){if(n){throw"Bad character: "+e}i=A;n=true}r+=1e5}return r}function getMinNorthing(e){var t;switch(e){case"C":t=11e5;break;case"D":t=2e6;break;case"E":t=28e5;break;case"F":t=37e5;break;case"G":t=46e5;break;case"H":t=55e5;break;case"J":t=64e5;break;case"K":t=73e5;break;case"L":t=82e5;break;case"M":t=91e5;break;case"N":t=0;break;case"P":t=8e5;break;case"Q":t=17e5;break;case"R":t=26e5;break;case"S":t=35e5;break;case"T":t=44e5;break;case"U":t=53e5;break;case"V":t=62e5;break;case"W":t=7e6;break;case"X":t=79e5;break;default:t=-1}if(t>=0){return t}else{throw"Invalid zone letter: "+e}}function Point(e,t,i){if(!(this instanceof Point)){return new Point(e,t,i)}if(Array.isArray(e)){this.x=e[0];this.y=e[1];this.z=e[2]||0}else if(typeof e==="object"){this.x=e.x;this.y=e.y;this.z=e.z||0}else if(typeof e==="string"&&typeof t==="undefined"){var r=e.split(",");this.x=parseFloat(r[0],10);this.y=parseFloat(r[1],10);this.z=parseFloat(r[2],10)||0}else{this.x=e;this.y=t;this.z=i||0}console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}Point.fromMGRS=function(e){return new Point(toPoint(e))};Point.prototype.toMGRS=function(e){return forward$p([this.x,this.y],e)};var version="2.4.4";var C00=1;var C02=.25;var C04=.046875;var C06=.01953125;var C08=.01068115234375;var C22=.75;var C44=.46875;var C46=.013020833333333334;var C48=.007120768229166667;var C66=.3645833333333333;var C68=.005696614583333333;var C88=.3076171875;function pj_enfn(e){var t=[];t[0]=C00-e*(C02+e*(C04+e*(C06+e*C08)));t[1]=e*(C22-e*(C04+e*(C06+e*C08)));var i=e*e;t[2]=i*(C44-e*(C46+e*C48));i*=e;t[3]=i*(C66-e*C68);t[4]=i*e*C88;return t}function pj_mlfn(e,t,i,r){i*=t;t*=t;return r[0]*e-i*(r[1]+t*(r[2]+t*(r[3]+t*r[4])))}var MAX_ITER$3=20;function pj_inv_mlfn(e,t,i){var r=1/(1-t);var n=e;for(var o=MAX_ITER$3;o;--o){var _=Math.sin(n);var a=1-t*_*_;a=(pj_mlfn(n,_,Math.cos(n),i)-e)*(a*Math.sqrt(a))*r;n-=a;if(Math.abs(a)<EPSLN){return n}}return n}function init$p(){this.x0=this.x0!==undefined?this.x0:0;this.y0=this.y0!==undefined?this.y0:0;this.long0=this.long0!==undefined?this.long0:0;this.lat0=this.lat0!==undefined?this.lat0:0;if(this.es){this.en=pj_enfn(this.es);this.ml0=pj_mlfn(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en)}}function forward$o(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n;var o,_;var a=Math.sin(i);var s=Math.cos(i);if(!this.es){var l=s*Math.sin(r);if(Math.abs(Math.abs(l)-1)<EPSLN){return 93}else{o=.5*this.a*this.k0*Math.log((1+l)/(1-l))+this.x0;_=s*Math.cos(r)/Math.sqrt(1-Math.pow(l,2));l=Math.abs(_);if(l>=1){if(l-1>EPSLN){return 93}else{_=0}}else{_=Math.acos(_)}if(i<0){_=-_}_=this.a*this.k0*(_-this.lat0)+this.y0}}else{var h=s*r;var u=Math.pow(h,2);var c=this.ep2*Math.pow(s,2);var f=Math.pow(c,2);var d=Math.abs(s)>EPSLN?Math.tan(i):0;var p=Math.pow(d,2);var v=Math.pow(p,2);n=1-this.es*Math.pow(a,2);h=h/Math.sqrt(n);var g=pj_mlfn(i,a,s,this.en);o=this.a*(this.k0*h*(1+u/6*(1-p+c+u/20*(5-18*p+v+14*c-58*p*c+u/42*(61+179*v-v*p-479*p)))))+this.x0;_=this.a*(this.k0*(g-this.ml0+a*r*h/2*(1+u/12*(5-p+9*c+4*f+u/30*(61+v-58*p+270*c-330*p*c+u/56*(1385+543*v-v*p-3111*p))))))+this.y0}e.x=o;e.y=_;return e}function inverse$o(e){var t,i;var r,n;var o=(e.x-this.x0)*(1/this.a);var _=(e.y-this.y0)*(1/this.a);if(!this.es){var a=Math.exp(o/this.k0);var s=.5*(a-1/a);var l=this.lat0+_/this.k0;var h=Math.cos(l);t=Math.sqrt((1-Math.pow(h,2))/(1+Math.pow(s,2)));r=Math.asin(t);if(_<0){r=-r}if(s===0&&h===0){n=0}else{n=adjust_lon(Math.atan2(s,h)+this.long0)}}else{t=this.ml0+_/this.k0;i=pj_inv_mlfn(t,this.es,this.en);if(Math.abs(i)<HALF_PI){var u=Math.sin(i);var c=Math.cos(i);var f=Math.abs(c)>EPSLN?Math.tan(i):0;var d=this.ep2*Math.pow(c,2);var p=Math.pow(d,2);var v=Math.pow(f,2);var g=Math.pow(v,2);t=1-this.es*Math.pow(u,2);var y=o*Math.sqrt(t)/this.k0;var m=Math.pow(y,2);t=t*f;r=i-t*m/(1-this.es)*.5*(1-m/12*(5+3*v-9*d*v+d-4*p-m/30*(61+90*v-252*d*v+45*g+46*d-m/56*(1385+3633*v+4095*g+1574*g*v))));n=adjust_lon(this.long0+y*(1-m/6*(1+2*v+d-m/20*(5+28*v+24*g+8*d*v+6*d-m/42*(61+662*v+1320*g+720*g*v))))/c)}else{r=HALF_PI*sign(_);n=0}}e.x=n;e.y=r;return e}var names$p=["Transverse_Mercator","Transverse Mercator","tmerc"];var tmerc={init:init$p,forward:forward$o,inverse:inverse$o,names:names$p};function sinh(e){var t=Math.exp(e);t=(t-1/t)/2;return t}function hypot(e,t){e=Math.abs(e);t=Math.abs(t);var i=Math.max(e,t);var r=Math.min(e,t)/(i?i:1);return i*Math.sqrt(1+Math.pow(r,2))}function log1py(e){var t=1+e;var i=t-1;return i===0?e:e*Math.log(t)/i}function asinhy(e){var t=Math.abs(e);t=log1py(t*(1+t/(hypot(1,t)+1)));return e<0?-t:t}function gatg(e,t){var i=2*Math.cos(2*t);var r=e.length-1;var n=e[r];var o=0;var _;while(--r>=0){_=-o+i*n+e[r];o=n;n=_}return t+_*Math.sin(2*t)}function clens(e,t){var i=2*Math.cos(t);var r=e.length-1;var n=e[r];var o=0;var _;while(--r>=0){_=-o+i*n+e[r];o=n;n=_}return Math.sin(t)*_}function cosh(e){var t=Math.exp(e);t=(t+1/t)/2;return t}function clens_cmplx(e,t,i){var r=Math.sin(t);var n=Math.cos(t);var o=sinh(i);var _=cosh(i);var a=2*n*_;var s=-2*r*o;var l=e.length-1;var h=e[l];var u=0;var c=0;var f=0;var d;var p;while(--l>=0){d=c;p=u;c=h;u=f;h=-d+a*c-s*u+e[l];f=-p+s*c+a*u}a=r*_;s=n*o;return[a*h-s*f,a*f+s*h]}function init$o(){if(this.es===undefined||this.es<=0){throw new Error("incorrect elliptical usage")}this.x0=this.x0!==undefined?this.x0:0;this.y0=this.y0!==undefined?this.y0:0;this.long0=this.long0!==undefined?this.long0:0;this.lat0=this.lat0!==undefined?this.lat0:0;this.cgb=[];this.cbg=[];this.utg=[];this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es));var t=e/(2-e);var i=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675))))));this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725))))));i=i*t;this.cgb[1]=i*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945)))));this.cbg[1]=i*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945)))));i=i*t;this.cgb[2]=i*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835))));this.cbg[2]=i*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835))));i=i*t;this.cgb[3]=i*(4279/630+t*(-332/35+t*(-399572/14175)));this.cbg[3]=i*(1237/630+t*(-12/5+t*(-24832/14175)));i=i*t;this.cgb[4]=i*(4174/315+t*(-144838/6237));this.cbg[4]=i*(-734/315+t*(109598/31185));i=i*t;this.cgb[5]=i*(601676/22275);this.cbg[5]=i*(444337/155925);i=Math.pow(t,2);this.Qn=this.k0/(1+t)*(1+i*(1/4+i*(1/64+i/256)));this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800))))));this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800))))));this.utg[1]=i*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720)))));this.gtu[1]=i*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360)))));i=i*t;this.utg[2]=i*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720))));this.gtu[2]=i*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440))));i=i*t;this.utg[3]=i*(-4397/161280+t*(11/504+t*(830251/7257600)));this.gtu[3]=i*(49561/161280+t*(-179/168+t*(6601661/7257600)));i=i*t;this.utg[4]=i*(-4583/161280+t*(108847/3991680));this.gtu[4]=i*(34729/80640+t*(-3418889/1995840));i=i*t;this.utg[5]=i*(-20648693/638668800);this.gtu[5]=i*(212378941/319334400);var r=gatg(this.cbg,this.lat0);this.Zb=-this.Qn*(r+clens(this.gtu,2*r))}function forward$n(e){var t=adjust_lon(e.x-this.long0);var i=e.y;i=gatg(this.cbg,i);var r=Math.sin(i);var n=Math.cos(i);var o=Math.sin(t);var _=Math.cos(t);i=Math.atan2(r,_*n);t=Math.atan2(o*n,hypot(r,n*_));t=asinhy(Math.tan(t));var a=clens_cmplx(this.gtu,2*i,2*t);i=i+a[0];t=t+a[1];var s;var l;if(Math.abs(t)<=2.623395162778){s=this.a*(this.Qn*t)+this.x0;l=this.a*(this.Qn*i+this.Zb)+this.y0}else{s=Infinity;l=Infinity}e.x=s;e.y=l;return e}function inverse$n(e){var t=(e.x-this.x0)*(1/this.a);var i=(e.y-this.y0)*(1/this.a);i=(i-this.Zb)/this.Qn;t=t/this.Qn;var r;var n;if(Math.abs(t)<=2.623395162778){var o=clens_cmplx(this.utg,2*i,2*t);i=i+o[0];t=t+o[1];t=Math.atan(sinh(t));var _=Math.sin(i);var a=Math.cos(i);var s=Math.sin(t);var l=Math.cos(t);i=Math.atan2(_*l,hypot(s,l*a));t=Math.atan2(s,l*a);r=adjust_lon(t+this.long0);n=gatg(this.cgb,i)}else{r=Infinity;n=Infinity}e.x=r;e.y=n;return e}var names$o=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"];var etmerc={init:init$o,forward:forward$n,inverse:inverse$n,names:names$o};function adjust_zone(e,t){if(e===undefined){e=Math.floor((adjust_lon(t)+Math.PI)*30/Math.PI)+1;if(e<0){return 0}else if(e>60){return 60}}return e}var dependsOn="etmerc";function init$n(){var e=adjust_zone(this.zone,this.long0);if(e===undefined){throw new Error("unknown utm zone")}this.lat0=0;this.long0=(6*Math.abs(e)-183)*D2R$1;this.x0=5e5;this.y0=this.utmSouth?1e7:0;this.k0=.9996;etmerc.init.apply(this);this.forward=etmerc.forward;this.inverse=etmerc.inverse}var names$n=["Universal Transverse Mercator System","utm"];var utm={init:init$n,names:names$n,dependsOn:dependsOn};function srat(e,t){return Math.pow((1-e)/(1+e),t)}var MAX_ITER$2=20;function init$m(){var e=Math.sin(this.lat0);var t=Math.cos(this.lat0);t*=t;this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e);this.C=Math.sqrt(1+this.es*t*t/(1-this.es));this.phic0=Math.asin(e/this.C);this.ratexp=.5*this.C*this.e;this.K=Math.tan(.5*this.phic0+FORTPI)/(Math.pow(Math.tan(.5*this.lat0+FORTPI),this.C)*srat(this.e*e,this.ratexp))}function forward$m(e){var t=e.x;var i=e.y;e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*i+FORTPI),this.C)*srat(this.e*Math.sin(i),this.ratexp))-HALF_PI;e.x=this.C*t;return e}function inverse$m(e){var t=1e-14;var i=e.x/this.C;var r=e.y;var n=Math.pow(Math.tan(.5*r+FORTPI)/this.K,1/this.C);for(var o=MAX_ITER$2;o>0;--o){r=2*Math.atan(n*srat(this.e*Math.sin(e.y),-.5*this.e))-HALF_PI;if(Math.abs(r-e.y)<t){break}e.y=r}if(!o){return null}e.x=i;e.y=r;return e}var names$m=["gauss"];var gauss={init:init$m,forward:forward$m,inverse:inverse$m,names:names$m};function init$l(){gauss.init.apply(this);if(!this.rc){return}this.sinc0=Math.sin(this.phic0);this.cosc0=Math.cos(this.phic0);this.R2=2*this.rc;if(!this.title){this.title="Oblique Stereographic Alternative"}}function forward$l(e){var t,i,r,n;e.x=adjust_lon(e.x-this.long0);gauss.forward.apply(this,[e]);t=Math.sin(e.y);i=Math.cos(e.y);r=Math.cos(e.x);n=this.k0*this.R2/(1+this.sinc0*t+this.cosc0*i*r);e.x=n*i*Math.sin(e.x);e.y=n*(this.cosc0*t-this.sinc0*i*r);e.x=this.a*e.x+this.x0;e.y=this.a*e.y+this.y0;return e}function inverse$l(e){var t,i,r,n,o;e.x=(e.x-this.x0)/this.a;e.y=(e.y-this.y0)/this.a;e.x/=this.k0;e.y/=this.k0;if(o=Math.sqrt(e.x*e.x+e.y*e.y)){var _=2*Math.atan2(o,this.R2);t=Math.sin(_);i=Math.cos(_);n=Math.asin(i*this.sinc0+e.y*t*this.cosc0/o);r=Math.atan2(e.x*t,o*this.cosc0*i-e.y*this.sinc0*t)}else{n=this.phic0;r=0}e.x=r;e.y=n;gauss.inverse.apply(this,[e]);e.x=adjust_lon(e.x+this.long0);return e}var names$l=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative"];var sterea={init:init$l,forward:forward$l,inverse:inverse$l,names:names$l};function ssfn_(e,t,i){t*=i;return Math.tan(.5*(HALF_PI+e))*Math.pow((1-t)/(1+t),.5*i)}function init$k(){this.coslat0=Math.cos(this.lat0);this.sinlat0=Math.sin(this.lat0);if(this.sphere){if(this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=EPSLN){this.k0=.5*(1+sign(this.lat0)*Math.sin(this.lat_ts))}}else{if(Math.abs(this.coslat0)<=EPSLN){if(this.lat0>0){this.con=1}else{this.con=-1}}this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e));if(this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=EPSLN){this.k0=.5*this.cons*msfnz(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/tsfnz(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))}this.ms1=msfnz(this.e,this.sinlat0,this.coslat0);this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-HALF_PI;this.cosX0=Math.cos(this.X0);this.sinX0=Math.sin(this.X0)}}function forward$k(e){var t=e.x;var i=e.y;var r=Math.sin(i);var n=Math.cos(i);var o,_,a,s,l,h;var u=adjust_lon(t-this.long0);if(Math.abs(Math.abs(t-this.long0)-Math.PI)<=EPSLN&&Math.abs(i+this.lat0)<=EPSLN){e.x=NaN;e.y=NaN;return e}if(this.sphere){o=2*this.k0/(1+this.sinlat0*r+this.coslat0*n*Math.cos(u));e.x=this.a*o*n*Math.sin(u)+this.x0;e.y=this.a*o*(this.coslat0*r-this.sinlat0*n*Math.cos(u))+this.y0;return e}else{_=2*Math.atan(this.ssfn_(i,r,this.e))-HALF_PI;s=Math.cos(_);a=Math.sin(_);if(Math.abs(this.coslat0)<=EPSLN){l=tsfnz(this.e,i*this.con,this.con*r);h=2*this.a*this.k0*l/this.cons;e.x=this.x0+h*Math.sin(t-this.long0);e.y=this.y0-this.con*h*Math.cos(t-this.long0);return e}else if(Math.abs(this.sinlat0)<EPSLN){o=2*this.a*this.k0/(1+s*Math.cos(u));e.y=o*a}else{o=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*a+this.cosX0*s*Math.cos(u)));e.y=o*(this.cosX0*a-this.sinX0*s*Math.cos(u))+this.y0}e.x=o*s*Math.sin(u)+this.x0}return e}function inverse$k(e){e.x-=this.x0;e.y-=this.y0;var t,i,r,n,o;var _=Math.sqrt(e.x*e.x+e.y*e.y);if(this.sphere){var a=2*Math.atan(_/(.5*this.a*this.k0));t=this.long0;i=this.lat0;if(_<=EPSLN){e.x=t;e.y=i;return e}i=Math.asin(Math.cos(a)*this.sinlat0+e.y*Math.sin(a)*this.coslat0/_);if(Math.abs(this.coslat0)<EPSLN){if(this.lat0>0){t=adjust_lon(this.long0+Math.atan2(e.x,-1*e.y))}else{t=adjust_lon(this.long0+Math.atan2(e.x,e.y))}}else{t=adjust_lon(this.long0+Math.atan2(e.x*Math.sin(a),_*this.coslat0*Math.cos(a)-e.y*this.sinlat0*Math.sin(a)))}e.x=t;e.y=i;return e}else{if(Math.abs(this.coslat0)<=EPSLN){if(_<=EPSLN){i=this.lat0;t=this.long0;e.x=t;e.y=i;return e}e.x*=this.con;e.y*=this.con;r=_*this.cons/(2*this.a*this.k0);i=this.con*phi2z(this.e,r);t=this.con*adjust_lon(this.con*this.long0+Math.atan2(e.x,-1*e.y))}else{n=2*Math.atan(_*this.cosX0/(2*this.a*this.k0*this.ms1));t=this.long0;if(_<=EPSLN){o=this.X0}else{o=Math.asin(Math.cos(n)*this.sinX0+e.y*Math.sin(n)*this.cosX0/_);t=adjust_lon(this.long0+Math.atan2(e.x*Math.sin(n),_*this.cosX0*Math.cos(n)-e.y*this.sinX0*Math.sin(n)))}i=-1*phi2z(this.e,Math.tan(.5*(HALF_PI+o)))}}e.x=t;e.y=i;return e}var names$k=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"];var stere={init:init$k,forward:forward$k,inverse:inverse$k,names:names$k,ssfn_:ssfn_};function init$j(){var e=this.lat0;this.lambda0=this.long0;var t=Math.sin(e);var i=this.a;var r=this.rf;var n=1/r;var o=2*n-Math.pow(n,2);var _=this.e=Math.sqrt(o);this.R=this.k0*i*Math.sqrt(1-o)/(1-o*Math.pow(t,2));this.alpha=Math.sqrt(1+o/(1-o)*Math.pow(Math.cos(e),4));this.b0=Math.asin(t/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2));var s=Math.log(Math.tan(Math.PI/4+e/2));var l=Math.log((1+_*t)/(1-_*t));this.K=a-this.alpha*s+this.alpha*_/2*l}function forward$j(e){var t=Math.log(Math.tan(Math.PI/4-e.y/2));var i=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y)));var r=-this.alpha*(t+i)+this.K;var n=2*(Math.atan(Math.exp(r))-Math.PI/4);var o=this.alpha*(e.x-this.lambda0);var _=Math.atan(Math.sin(o)/(Math.sin(this.b0)*Math.tan(n)+Math.cos(this.b0)*Math.cos(o)));var a=Math.asin(Math.cos(this.b0)*Math.sin(n)-Math.sin(this.b0)*Math.cos(n)*Math.cos(o));e.y=this.R/2*Math.log((1+Math.sin(a))/(1-Math.sin(a)))+this.y0;e.x=this.R*_+this.x0;return e}function inverse$j(e){var t=e.x-this.x0;var i=e.y-this.y0;var r=t/this.R;var n=2*(Math.atan(Math.exp(i/this.R))-Math.PI/4);var o=Math.asin(Math.cos(this.b0)*Math.sin(n)+Math.sin(this.b0)*Math.cos(n)*Math.cos(r));var _=Math.atan(Math.sin(r)/(Math.cos(this.b0)*Math.cos(r)-Math.sin(this.b0)*Math.tan(n)));var a=this.lambda0+_/this.alpha;var s=0;var l=o;var h=-1e3;var u=0;while(Math.abs(l-h)>1e-7){if(++u>20){return}s=1/this.alpha*(Math.log(Math.tan(Math.PI/4+o/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2));h=l;l=2*Math.atan(Math.exp(s))-Math.PI/2}e.x=a;e.y=l;return e}var names$j=["somerc"];var somerc={init:init$j,forward:forward$j,inverse:inverse$j,names:names$j};function init$i(){this.no_off=this.no_off||false;this.no_rot=this.no_rot||false;if(isNaN(this.k0)){this.k0=1}var e=Math.sin(this.lat0);var t=Math.cos(this.lat0);var i=this.e*e;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(t,4));this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-i*i);var r=tsfnz(this.e,this.lat0,e);var n=this.bl/t*Math.sqrt((1-this.es)/(1-i*i));if(n*n<1){n=1}var o;var _;if(!isNaN(this.longc)){if(this.lat0>=0){o=n+Math.sqrt(n*n-1)}else{o=n-Math.sqrt(n*n-1)}this.el=o*Math.pow(r,this.bl);_=.5*(o-1/o);this.gamma0=Math.asin(Math.sin(this.alpha)/n);this.long0=this.longc-Math.asin(_*Math.tan(this.gamma0))/this.bl}else{var a=tsfnz(this.e,this.lat1,Math.sin(this.lat1));var s=tsfnz(this.e,this.lat2,Math.sin(this.lat2));if(this.lat0>=0){this.el=(n+Math.sqrt(n*n-1))*Math.pow(r,this.bl)}else{this.el=(n-Math.sqrt(n*n-1))*Math.pow(r,this.bl)}var l=Math.pow(a,this.bl);var h=Math.pow(s,this.bl);o=this.el/l;_=.5*(o-1/o);var u=(this.el*this.el-h*l)/(this.el*this.el+h*l);var c=(h-l)/(h+l);var f=adjust_lon(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(u*Math.tan(.5*this.bl*f)/c)/this.bl;this.long0=adjust_lon(this.long0);var d=adjust_lon(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*d)/_);this.alpha=Math.asin(n*Math.sin(this.gamma0))}if(this.no_off){this.uc=0}else{if(this.lat0>=0){this.uc=this.al/this.bl*Math.atan2(Math.sqrt(n*n-1),Math.cos(this.alpha))}else{this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(n*n-1),Math.cos(this.alpha))}}}function forward$i(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n,o;var _;if(Math.abs(Math.abs(i)-HALF_PI)<=EPSLN){if(i>0){_=-1}else{_=1}o=this.al/this.bl*Math.log(Math.tan(FORTPI+_*this.gamma0*.5));n=-1*_*HALF_PI*this.al/this.bl}else{var a=tsfnz(this.e,i,Math.sin(i));var s=this.el/Math.pow(a,this.bl);var l=.5*(s-1/s);var h=.5*(s+1/s);var u=Math.sin(this.bl*r);var c=(l*Math.sin(this.gamma0)-u*Math.cos(this.gamma0))/h;if(Math.abs(Math.abs(c)-1)<=EPSLN){o=Number.POSITIVE_INFINITY}else{o=.5*this.al*Math.log((1-c)/(1+c))/this.bl}if(Math.abs(Math.cos(this.bl*r))<=EPSLN){n=this.al*this.bl*r}else{n=this.al*Math.atan2(l*Math.cos(this.gamma0)+u*Math.sin(this.gamma0),Math.cos(this.bl*r))/this.bl}}if(this.no_rot){e.x=this.x0+n;e.y=this.y0+o}else{n-=this.uc;e.x=this.x0+o*Math.cos(this.alpha)+n*Math.sin(this.alpha);e.y=this.y0+n*Math.cos(this.alpha)-o*Math.sin(this.alpha)}return e}function inverse$i(e){var t,i;if(this.no_rot){i=e.y-this.y0;t=e.x-this.x0}else{i=(e.x-this.x0)*Math.cos(this.alpha)-(e.y-this.y0)*Math.sin(this.alpha);t=(e.y-this.y0)*Math.cos(this.alpha)+(e.x-this.x0)*Math.sin(this.alpha);t+=this.uc}var r=Math.exp(-1*this.bl*i/this.al);var n=.5*(r-1/r);var o=.5*(r+1/r);var _=Math.sin(this.bl*t/this.al);var a=(_*Math.cos(this.gamma0)+n*Math.sin(this.gamma0))/o;var s=Math.pow(this.el/Math.sqrt((1+a)/(1-a)),1/this.bl);if(Math.abs(a-1)<EPSLN){e.x=this.long0;e.y=HALF_PI}else if(Math.abs(a+1)<EPSLN){e.x=this.long0;e.y=-1*HALF_PI}else{e.y=phi2z(this.e,s);e.x=adjust_lon(this.long0-Math.atan2(n*Math.cos(this.gamma0)-_*Math.sin(this.gamma0),Math.cos(this.bl*t/this.al))/this.bl)}return e}var names$i=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"];var omerc={init:init$i,forward:forward$i,inverse:inverse$i,names:names$i};function init$h(){if(!this.lat2){this.lat2=this.lat1}if(!this.k0){this.k0=1}this.x0=this.x0||0;this.y0=this.y0||0;if(Math.abs(this.lat1+this.lat2)<EPSLN){return}var e=this.b/this.a;this.e=Math.sqrt(1-e*e);var t=Math.sin(this.lat1);var i=Math.cos(this.lat1);var r=msfnz(this.e,t,i);var n=tsfnz(this.e,this.lat1,t);var o=Math.sin(this.lat2);var _=Math.cos(this.lat2);var a=msfnz(this.e,o,_);var s=tsfnz(this.e,this.lat2,o);var l=tsfnz(this.e,this.lat0,Math.sin(this.lat0));if(Math.abs(this.lat1-this.lat2)>EPSLN){this.ns=Math.log(r/a)/Math.log(n/s)}else{this.ns=t}if(isNaN(this.ns)){this.ns=t}this.f0=r/(this.ns*Math.pow(n,this.ns));this.rh=this.a*this.f0*Math.pow(l,this.ns);if(!this.title){this.title="Lambert Conformal Conic"}}function forward$h(e){var t=e.x;var i=e.y;if(Math.abs(2*Math.abs(i)-Math.PI)<=EPSLN){i=sign(i)*(HALF_PI-2*EPSLN)}var r=Math.abs(Math.abs(i)-HALF_PI);var n,o;if(r>EPSLN){n=tsfnz(this.e,i,Math.sin(i));o=this.a*this.f0*Math.pow(n,this.ns)}else{r=i*this.ns;if(r<=0){return null}o=0}var _=this.ns*adjust_lon(t-this.long0);e.x=this.k0*(o*Math.sin(_))+this.x0;e.y=this.k0*(this.rh-o*Math.cos(_))+this.y0;return e}function inverse$h(e){var t,i,r;var n,o;var _=(e.x-this.x0)/this.k0;var a=this.rh-(e.y-this.y0)/this.k0;if(this.ns>0){t=Math.sqrt(_*_+a*a);i=1}else{t=-Math.sqrt(_*_+a*a);i=-1}var s=0;if(t!==0){s=Math.atan2(i*_,i*a)}if(t!==0||this.ns>0){i=1/this.ns;r=Math.pow(t/(this.a*this.f0),i);n=phi2z(this.e,r);if(n===-9999){return null}}else{n=-HALF_PI}o=adjust_lon(s/this.ns+this.long0);e.x=o;e.y=n;return e}var names$h=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"];var lcc={init:init$h,forward:forward$h,inverse:inverse$h,names:names$h};function init$g(){this.a=6377397.155;this.es=.006674372230614;this.e=Math.sqrt(this.es);if(!this.lat0){this.lat0=.863937979737193}if(!this.long0){this.long0=.7417649320975901-.308341501185665}if(!this.k0){this.k0=.9999}this.s45=.785398163397448;this.s90=2*this.s45;this.fi0=this.lat0;this.e2=this.es;this.e=Math.sqrt(this.e2);this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2));this.uq=1.04216856380474;this.u0=Math.asin(Math.sin(this.fi0)/this.alfa);this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2);this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g;this.k1=this.k0;this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2));this.s0=1.37008346281555;this.n=Math.sin(this.s0);this.ro0=this.k1*this.n0/Math.tan(this.s0);this.ad=this.s90-this.uq}function forward$g(e){var t,i,r,n,o,_,a;var s=e.x;var l=e.y;var h=adjust_lon(s-this.long0);t=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2);i=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/t)-this.s45);r=-h*this.alfa;n=Math.asin(Math.cos(this.ad)*Math.sin(i)+Math.sin(this.ad)*Math.cos(i)*Math.cos(r));o=Math.asin(Math.cos(i)*Math.sin(r)/Math.cos(n));_=this.n*o;a=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(n/2+this.s45),this.n);e.y=a*Math.cos(_)/1;e.x=a*Math.sin(_)/1;if(!this.czech){e.y*=-1;e.x*=-1}return e}function inverse$g(e){var t,i,r,n,o,_,a;var s;var l=e.x;e.x=e.y;e.y=l;if(!this.czech){e.y*=-1;e.x*=-1}_=Math.sqrt(e.x*e.x+e.y*e.y);o=Math.atan2(e.y,e.x);n=o/Math.sin(this.s0);r=2*(Math.atan(Math.pow(this.ro0/_,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45);t=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(n));i=Math.asin(Math.cos(r)*Math.sin(n)/Math.cos(t));e.x=this.long0-i/this.alfa;a=t;s=0;var h=0;do{e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45);if(Math.abs(a-e.y)<1e-10){s=1}a=e.y;h+=1}while(s===0&&h<15);if(h>=15){return null}return e}var names$g=["Krovak","krovak"];var krovak={init:init$g,forward:forward$g,inverse:inverse$g,names:names$g};function mlfn(e,t,i,r,n){return e*n-t*Math.sin(2*n)+i*Math.sin(4*n)-r*Math.sin(6*n)}function e0fn(e){return 1-.25*e*(1+e/16*(3+1.25*e))}function e1fn(e){return.375*e*(1+.25*e*(1+.46875*e))}function e2fn(e){return.05859375*e*e*(1+.75*e)}function e3fn(e){return e*e*e*(35/3072)}function gN(e,t,i){var r=t*i;return e/Math.sqrt(1-r*r)}function adjust_lat(e){return Math.abs(e)<HALF_PI?e:e-sign(e)*Math.PI}function imlfn(e,t,i,r,n){var o;var _;o=e/t;for(var a=0;a<15;a++){_=(e-(t*o-i*Math.sin(2*o)+r*Math.sin(4*o)-n*Math.sin(6*o)))/(t-2*i*Math.cos(2*o)+4*r*Math.cos(4*o)-6*n*Math.cos(6*o));o+=_;if(Math.abs(_)<=1e-10){return o}}return NaN}function init$f(){if(!this.sphere){this.e0=e0fn(this.es);this.e1=e1fn(this.es);this.e2=e2fn(this.es);this.e3=e3fn(this.es);this.ml0=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0)}}function forward$f(e){var t,i;var r=e.x;var n=e.y;r=adjust_lon(r-this.long0);if(this.sphere){t=this.a*Math.asin(Math.cos(n)*Math.sin(r));i=this.a*(Math.atan2(Math.tan(n),Math.cos(r))-this.lat0)}else{var o=Math.sin(n);var _=Math.cos(n);var a=gN(this.a,this.e,o);var s=Math.tan(n)*Math.tan(n);var l=r*Math.cos(n);var h=l*l;var u=this.es*_*_/(1-this.es);var c=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,n);t=a*l*(1-h*s*(1/6-(8-s+8*u)*h/120));i=c-this.ml0+a*o/_*h*(.5+(5-s+6*u)*h/24)}e.x=t+this.x0;e.y=i+this.y0;return e}function inverse$f(e){e.x-=this.x0;e.y-=this.y0;var t=e.x/this.a;var i=e.y/this.a;var r,n;if(this.sphere){var o=i+this.lat0;r=Math.asin(Math.sin(o)*Math.cos(t));n=Math.atan2(Math.tan(t),Math.cos(o))}else{var _=this.ml0/this.a+i;var a=imlfn(_,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(a)-HALF_PI)<=EPSLN){e.x=this.long0;e.y=HALF_PI;if(i<0){e.y*=-1}return e}var s=gN(this.a,this.e,Math.sin(a));var l=s*s*s/this.a/this.a*(1-this.es);var h=Math.pow(Math.tan(a),2);var u=t*this.a/s;var c=u*u;r=a-s*Math.tan(a)/l*u*u*(.5-(1+3*h)*u*u/24);n=u*(1-c*(h/3+(1+3*h)*h*c/15))/Math.cos(a)}e.x=adjust_lon(n+this.long0);e.y=adjust_lat(r);return e}var names$f=["Cassini","Cassini_Soldner","cass"];var cass={init:init$f,forward:forward$f,inverse:inverse$f,names:names$f};function qsfnz(e,t){var i;if(e>1e-7){i=e*t;return(1-e*e)*(t/(1-i*i)-.5/e*Math.log((1-i)/(1+i)))}else{return 2*t}}var S_POLE=1;var N_POLE=2;var EQUIT=3;var OBLIQ=4;function init$e(){var e=Math.abs(this.lat0);if(Math.abs(e-HALF_PI)<EPSLN){this.mode=this.lat0<0?this.S_POLE:this.N_POLE}else if(Math.abs(e)<EPSLN){this.mode=this.EQUIT}else{this.mode=this.OBLIQ}if(this.es>0){var t;this.qp=qsfnz(this.e,1);this.mmf=.5/(1-this.es);this.apa=authset(this.es);switch(this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp);this.dd=1/this.rq;this.xmf=1;this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp);t=Math.sin(this.lat0);this.sinb1=qsfnz(this.e,t)/this.qp;this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1);this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1);this.ymf=(this.xmf=this.rq)/this.dd;this.xmf*=this.dd;break}}else{if(this.mode===this.OBLIQ){this.sinph0=Math.sin(this.lat0);this.cosph0=Math.cos(this.lat0)}}}function forward$e(e){var t,i,r,n,o,_,a,s,l,h;var u=e.x;var c=e.y;u=adjust_lon(u-this.long0);if(this.sphere){o=Math.sin(c);h=Math.cos(c);r=Math.cos(u);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){i=this.mode===this.EQUIT?1+h*r:1+this.sinph0*o+this.cosph0*h*r;if(i<=EPSLN){return null}i=Math.sqrt(2/i);t=i*h*Math.sin(u);i*=this.mode===this.EQUIT?o:this.cosph0*o-this.sinph0*h*r}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE){r=-r}if(Math.abs(c+this.phi0)<EPSLN){return null}i=FORTPI-c*.5;i=2*(this.mode===this.S_POLE?Math.cos(i):Math.sin(i));t=i*Math.sin(u);i*=r}}else{a=0;s=0;l=0;r=Math.cos(u);n=Math.sin(u);o=Math.sin(c);_=qsfnz(this.e,o);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){a=_/this.qp;s=Math.sqrt(1-a*a)}switch(this.mode){case this.OBLIQ:l=1+this.sinb1*a+this.cosb1*s*r;break;case this.EQUIT:l=1+s*r;break;case this.N_POLE:l=HALF_PI+c;_=this.qp-_;break;case this.S_POLE:l=c-HALF_PI;_=this.qp+_;break}if(Math.abs(l)<EPSLN){return null}switch(this.mode){case this.OBLIQ:case this.EQUIT:l=Math.sqrt(2/l);if(this.mode===this.OBLIQ){i=this.ymf*l*(this.cosb1*a-this.sinb1*s*r)}else{i=(l=Math.sqrt(2/(1+s*r)))*a*this.ymf}t=this.xmf*l*s*n;break;case this.N_POLE:case this.S_POLE:if(_>=0){t=(l=Math.sqrt(_))*n;i=r*(this.mode===this.S_POLE?l:-l)}else{t=i=0}break}}e.x=this.a*t+this.x0;e.y=this.a*i+this.y0;return e}function inverse$e(e){e.x-=this.x0;e.y-=this.y0;var t=e.x/this.a;var i=e.y/this.a;var r,n,o,_,a,s,l;if(this.sphere){var h=0,u,c=0;u=Math.sqrt(t*t+i*i);n=u*.5;if(n>1){return null}n=2*Math.asin(n);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){c=Math.sin(n);h=Math.cos(n)}switch(this.mode){case this.EQUIT:n=Math.abs(u)<=EPSLN?0:Math.asin(i*c/u);t*=c;i=h*u;break;case this.OBLIQ:n=Math.abs(u)<=EPSLN?this.phi0:Math.asin(h*this.sinph0+i*c*this.cosph0/u);t*=c*this.cosph0;i=(h-Math.sin(n)*this.sinph0)*u;break;case this.N_POLE:i=-i;n=HALF_PI-n;break;case this.S_POLE:n-=HALF_PI;break}r=i===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,i)}else{l=0;if(this.mode===this.OBLIQ||this.mode===this.EQUIT){t/=this.dd;i*=this.dd;s=Math.sqrt(t*t+i*i);if(s<EPSLN){e.x=0;e.y=this.phi0;return e}_=2*Math.asin(.5*s/this.rq);o=Math.cos(_);t*=_=Math.sin(_);if(this.mode===this.OBLIQ){l=o*this.sinb1+i*_*this.cosb1/s;a=this.qp*l;i=s*this.cosb1*o-i*this.sinb1*_}else{l=i*_/s;a=this.qp*l;i=s*o}}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE){i=-i}a=t*t+i*i;if(!a){e.x=0;e.y=this.phi0;return e}l=1-a/this.qp;if(this.mode===this.S_POLE){l=-l}}r=Math.atan2(t,i);n=authlat(Math.asin(l),this.apa)}e.x=adjust_lon(this.long0+r);e.y=n;return e}var P00=.3333333333333333;var P01=.17222222222222222;var P02=.10257936507936508;var P10=.06388888888888888;var P11=.0664021164021164;var P20=.016415012942191543;function authset(e){var t;var i=[];i[0]=e*P00;t=e*e;i[0]+=t*P01;i[1]=t*P10;t*=e;i[0]+=t*P02;i[1]+=t*P11;i[2]=t*P20;return i}function authlat(e,t){var i=e+e;return e+t[0]*Math.sin(i)+t[1]*Math.sin(i+i)+t[2]*Math.sin(i+i+i)}var names$e=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"];var laea={init:init$e,forward:forward$e,inverse:inverse$e,names:names$e,S_POLE:S_POLE,N_POLE:N_POLE,EQUIT:EQUIT,OBLIQ:OBLIQ};function asinz(e){if(Math.abs(e)>1){e=e>1?1:-1}return Math.asin(e)}function init$d(){if(Math.abs(this.lat1+this.lat2)<EPSLN){return}this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e3=Math.sqrt(this.es);this.sin_po=Math.sin(this.lat1);this.cos_po=Math.cos(this.lat1);this.t1=this.sin_po;this.con=this.sin_po;this.ms1=msfnz(this.e3,this.sin_po,this.cos_po);this.qs1=qsfnz(this.e3,this.sin_po);this.sin_po=Math.sin(this.lat2);this.cos_po=Math.cos(this.lat2);this.t2=this.sin_po;this.ms2=msfnz(this.e3,this.sin_po,this.cos_po);this.qs2=qsfnz(this.e3,this.sin_po);this.sin_po=Math.sin(this.lat0);this.cos_po=Math.cos(this.lat0);this.t3=this.sin_po;this.qs0=qsfnz(this.e3,this.sin_po);if(Math.abs(this.lat1-this.lat2)>EPSLN){this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1)}else{this.ns0=this.con}this.c=this.ms1*this.ms1+this.ns0*this.qs1;this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0}function forward$d(e){var t=e.x;var i=e.y;this.sin_phi=Math.sin(i);this.cos_phi=Math.cos(i);var r=qsfnz(this.e3,this.sin_phi);var n=this.a*Math.sqrt(this.c-this.ns0*r)/this.ns0;var o=this.ns0*adjust_lon(t-this.long0);var _=n*Math.sin(o)+this.x0;var a=this.rh-n*Math.cos(o)+this.y0;e.x=_;e.y=a;return e}function inverse$d(e){var t,i,r,n,o,_;e.x-=this.x0;e.y=this.rh-e.y+this.y0;if(this.ns0>=0){t=Math.sqrt(e.x*e.x+e.y*e.y);r=1}else{t=-Math.sqrt(e.x*e.x+e.y*e.y);r=-1}n=0;if(t!==0){n=Math.atan2(r*e.x,r*e.y)}r=t*this.ns0/this.a;if(this.sphere){_=Math.asin((this.c-r*r)/(2*this.ns0))}else{i=(this.c-r*r)/this.ns0;_=this.phi1z(this.e3,i)}o=adjust_lon(n/this.ns0+this.long0);e.x=o;e.y=_;return e}function phi1z(e,t){var i,r,n,o,_;var a=asinz(.5*t);if(e<EPSLN){return a}var s=e*e;for(var l=1;l<=25;l++){i=Math.sin(a);r=Math.cos(a);n=e*i;o=1-n*n;_=.5*o*o/r*(t/(1-s)-i/o+.5/e*Math.log((1-n)/(1+n)));a=a+_;if(Math.abs(_)<=1e-7){return a}}return null}var names$d=["Albers_Conic_Equal_Area","Albers","aea"];var aea={init:init$d,forward:forward$d,inverse:inverse$d,names:names$d,phi1z:phi1z};function init$c(){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0);this.infinity_dist=1e3*this.a;this.rc=1}function forward$c(e){var t,i;var r;var n;var o;var _;var a,s;var l=e.x;var h=e.y;r=adjust_lon(l-this.long0);t=Math.sin(h);i=Math.cos(h);n=Math.cos(r);_=this.sin_p14*t+this.cos_p14*i*n;o=1;if(_>0||Math.abs(_)<=EPSLN){a=this.x0+this.a*o*i*Math.sin(r)/_;s=this.y0+this.a*o*(this.cos_p14*t-this.sin_p14*i*n)/_}else{a=this.x0+this.infinity_dist*i*Math.sin(r);s=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*i*n)}e.x=a;e.y=s;return e}function inverse$c(e){var t;var i,r;var n;var o,_;e.x=(e.x-this.x0)/this.a;e.y=(e.y-this.y0)/this.a;e.x/=this.k0;e.y/=this.k0;if(t=Math.sqrt(e.x*e.x+e.y*e.y)){n=Math.atan2(t,this.rc);i=Math.sin(n);r=Math.cos(n);_=asinz(r*this.sin_p14+e.y*i*this.cos_p14/t);o=Math.atan2(e.x*i,t*this.cos_p14*r-e.y*this.sin_p14*i);o=adjust_lon(this.long0+o)}else{_=this.phic0;o=0}e.x=o;e.y=_;return e}var names$c=["gnom"];var gnom={init:init$c,forward:forward$c,inverse:inverse$c,names:names$c};function iqsfnz(e,t){var i=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(t)-i)<1e-6){if(t<0){return-1*HALF_PI}else{return HALF_PI}}var r=Math.asin(.5*t);var n;var o;var _;var a;for(var s=0;s<30;s++){o=Math.sin(r);_=Math.cos(r);a=e*o;n=Math.pow(1-a*a,2)/(2*_)*(t/(1-e*e)-o/(1-a*a)+.5/e*Math.log((1-a)/(1+a)));r+=n;if(Math.abs(n)<=1e-10){return r}}return NaN}function init$b(){if(!this.sphere){this.k0=msfnz(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))}}function forward$b(e){var t=e.x;var i=e.y;var r,n;var o=adjust_lon(t-this.long0);if(this.sphere){r=this.x0+this.a*o*Math.cos(this.lat_ts);n=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts)}else{var _=qsfnz(this.e,Math.sin(i));r=this.x0+this.a*this.k0*o;n=this.y0+this.a*_*.5/this.k0}e.x=r;e.y=n;return e}function inverse$b(e){e.x-=this.x0;e.y-=this.y0;var t,i;if(this.sphere){t=adjust_lon(this.long0+e.x/this.a/Math.cos(this.lat_ts));i=Math.asin(e.y/this.a*Math.cos(this.lat_ts))}else{i=iqsfnz(this.e,2*e.y*this.k0/this.a);t=adjust_lon(this.long0+e.x/(this.a*this.k0))}e.x=t;e.y=i;return e}var names$b=["cea"];var cea={init:init$b,forward:forward$b,inverse:inverse$b,names:names$b};function init$a(){this.x0=this.x0||0;this.y0=this.y0||0;this.lat0=this.lat0||0;this.long0=this.long0||0;this.lat_ts=this.lat_ts||0;this.title=this.title||"Equidistant Cylindrical (Plate Carre)";this.rc=Math.cos(this.lat_ts)}function forward$a(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n=adjust_lat(i-this.lat0);e.x=this.x0+this.a*r*this.rc;e.y=this.y0+this.a*n;return e}function inverse$a(e){var t=e.x;var i=e.y;e.x=adjust_lon(this.long0+(t-this.x0)/(this.a*this.rc));e.y=adjust_lat(this.lat0+(i-this.y0)/this.a);return e}var names$a=["Equirectangular","Equidistant_Cylindrical","eqc"];var eqc={init:init$a,forward:forward$a,inverse:inverse$a,names:names$a};var MAX_ITER$1=20;function init$9(){this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=e0fn(this.es);this.e1=e1fn(this.es);this.e2=e2fn(this.es);this.e3=e3fn(this.es);this.ml0=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0)}function forward$9(e){var t=e.x;var i=e.y;var r,n,o;var _=adjust_lon(t-this.long0);o=_*Math.sin(i);if(this.sphere){if(Math.abs(i)<=EPSLN){r=this.a*_;n=-1*this.a*this.lat0}else{r=this.a*Math.sin(o)/Math.tan(i);n=this.a*(adjust_lat(i-this.lat0)+(1-Math.cos(o))/Math.tan(i))}}else{if(Math.abs(i)<=EPSLN){r=this.a*_;n=-1*this.ml0}else{var a=gN(this.a,this.e,Math.sin(i))/Math.tan(i);r=a*Math.sin(o);n=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,i)-this.ml0+a*(1-Math.cos(o))}}e.x=r+this.x0;e.y=n+this.y0;return e}function inverse$9(e){var t,i,r,n,o;var _,a;var s,l;r=e.x-this.x0;n=e.y-this.y0;if(this.sphere){if(Math.abs(n+this.a*this.lat0)<=EPSLN){t=adjust_lon(r/this.a+this.long0);i=0}else{_=this.lat0+n/this.a;a=r*r/this.a/this.a+_*_;s=_;var h;for(o=MAX_ITER$1;o;--o){h=Math.tan(s);l=-1*(_*(s*h+1)-s-.5*(s*s+a)*h)/((s-_)/h-1);s+=l;if(Math.abs(l)<=EPSLN){i=s;break}}t=adjust_lon(this.long0+Math.asin(r*Math.tan(s)/this.a)/Math.sin(i))}}else{if(Math.abs(n+this.ml0)<=EPSLN){i=0;t=adjust_lon(this.long0+r/this.a)}else{_=(this.ml0+n)/this.a;a=r*r/this.a/this.a+_*_;s=_;var u,c,f,d;var p;for(o=MAX_ITER$1;o;--o){p=this.e*Math.sin(s);u=Math.sqrt(1-p*p)*Math.tan(s);c=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,s);f=this.e0-2*this.e1*Math.cos(2*s)+4*this.e2*Math.cos(4*s)-6*this.e3*Math.cos(6*s);d=c/this.a;l=(_*(u*d+1)-d-.5*u*(d*d+a))/(this.es*Math.sin(2*s)*(d*d+a-2*_*d)/(4*u)+(_-d)*(u*f-2/Math.sin(2*s))-f);s-=l;if(Math.abs(l)<=EPSLN){i=s;break}}u=Math.sqrt(1-this.es*Math.pow(Math.sin(i),2))*Math.tan(i);t=adjust_lon(this.long0+Math.asin(r*u/this.a)/Math.sin(i))}}e.x=t;e.y=i;return e}var names$9=["Polyconic","poly"];var poly={init:init$9,forward:forward$9,inverse:inverse$9,names:names$9};function init$8(){this.A=[];this.A[1]=.6399175073;this.A[2]=-.1358797613;this.A[3]=.063294409;this.A[4]=-.02526853;this.A[5]=.0117879;this.A[6]=-.0055161;this.A[7]=.0026906;this.A[8]=-.001333;this.A[9]=67e-5;this.A[10]=-34e-5;this.B_re=[];this.B_im=[];this.B_re[1]=.7557853228;this.B_im[1]=0;this.B_re[2]=.249204646;this.B_im[2]=.003371507;this.B_re[3]=-.001541739;this.B_im[3]=.04105856;this.B_re[4]=-.10162907;this.B_im[4]=.01727609;this.B_re[5]=-.26623489;this.B_im[5]=-.36249218;this.B_re[6]=-.6870983;this.B_im[6]=-1.1651967;this.C_re=[];this.C_im=[];this.C_re[1]=1.3231270439;this.C_im[1]=0;this.C_re[2]=-.577245789;this.C_im[2]=-.007809598;this.C_re[3]=.508307513;this.C_im[3]=-.112208952;this.C_re[4]=-.15094762;this.C_im[4]=.18200602;this.C_re[5]=1.01418179;this.C_im[5]=1.64497696;this.C_re[6]=1.9660549;this.C_im[6]=2.5127645;this.D=[];this.D[1]=1.5627014243;this.D[2]=.5185406398;this.D[3]=-.03333098;this.D[4]=-.1052906;this.D[5]=-.0368594;this.D[6]=.007317;this.D[7]=.0122;this.D[8]=.00394;this.D[9]=-.0013}function forward$8(e){var t;var i=e.x;var r=e.y;var n=r-this.lat0;var o=i-this.long0;var _=n/SEC_TO_RAD*1e-5;var a=o;var s=1;var l=0;for(t=1;t<=10;t++){s=s*_;l=l+this.A[t]*s}var h=l;var u=a;var c=1;var f=0;var d;var p;var v=0;var g=0;for(t=1;t<=6;t++){d=c*h-f*u;p=f*h+c*u;c=d;f=p;v=v+this.B_re[t]*c-this.B_im[t]*f;g=g+this.B_im[t]*c+this.B_re[t]*f}e.x=g*this.a+this.x0;e.y=v*this.a+this.y0;return e}function inverse$8(e){var t;var i=e.x;var r=e.y;var n=i-this.x0;var o=r-this.y0;var _=o/this.a;var a=n/this.a;var s=1;var l=0;var h;var u;var c=0;var f=0;for(t=1;t<=6;t++){h=s*_-l*a;u=l*_+s*a;s=h;l=u;c=c+this.C_re[t]*s-this.C_im[t]*l;f=f+this.C_im[t]*s+this.C_re[t]*l}for(var d=0;d<this.iterations;d++){var p=c;var v=f;var g;var y;var m=_;var E=a;for(t=2;t<=6;t++){g=p*c-v*f;y=v*c+p*f;p=g;v=y;m=m+(t-1)*(this.B_re[t]*p-this.B_im[t]*v);E=E+(t-1)*(this.B_im[t]*p+this.B_re[t]*v)}p=1;v=0;var x=this.B_re[1];var T=this.B_im[1];for(t=2;t<=6;t++){g=p*c-v*f;y=v*c+p*f;p=g;v=y;x=x+t*(this.B_re[t]*p-this.B_im[t]*v);T=T+t*(this.B_im[t]*p+this.B_re[t]*v)}var R=x*x+T*T;c=(m*x+E*T)/R;f=(E*x-m*T)/R}var S=c;var C=f;var I=1;var M=0;for(t=1;t<=9;t++){I=I*S;M=M+this.D[t]*I}var w=this.lat0+M*SEC_TO_RAD*1e5;var b=this.long0+C;e.x=b;e.y=w;return e}var names$8=["New_Zealand_Map_Grid","nzmg"];var nzmg={init:init$8,forward:forward$8,inverse:inverse$8,names:names$8};function init$7(){}function forward$7(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n=this.x0+this.a*r;var o=this.y0+this.a*Math.log(Math.tan(Math.PI/4+i/2.5))*1.25;e.x=n;e.y=o;return e}function inverse$7(e){e.x-=this.x0;e.y-=this.y0;var t=adjust_lon(this.long0+e.x/this.a);var i=2.5*(Math.atan(Math.exp(.8*e.y/this.a))-Math.PI/4);e.x=t;e.y=i;return e}var names$7=["Miller_Cylindrical","mill"];var mill={init:init$7,forward:forward$7,inverse:inverse$7,names:names$7};var MAX_ITER=20;function init$6(){if(!this.sphere){this.en=pj_enfn(this.es)}else{this.n=1;this.m=0;this.es=0;this.C_y=Math.sqrt((this.m+1)/this.n);this.C_x=this.C_y/(this.m+1)}}function forward$6(e){var t,i;var r=e.x;var n=e.y;r=adjust_lon(r-this.long0);if(this.sphere){if(!this.m){n=this.n!==1?Math.asin(this.n*Math.sin(n)):n}else{var o=this.n*Math.sin(n);for(var _=MAX_ITER;_;--_){var a=(this.m*n+Math.sin(n)-o)/(this.m+Math.cos(n));n-=a;if(Math.abs(a)<EPSLN){break}}}t=this.a*this.C_x*r*(this.m+Math.cos(n));i=this.a*this.C_y*n}else{var s=Math.sin(n);var l=Math.cos(n);i=this.a*pj_mlfn(n,s,l,this.en);t=this.a*r*l/Math.sqrt(1-this.es*s*s)}e.x=t;e.y=i;return e}function inverse$6(e){var t,i,r,n;e.x-=this.x0;r=e.x/this.a;e.y-=this.y0;t=e.y/this.a;if(this.sphere){t/=this.C_y;r=r/(this.C_x*(this.m+Math.cos(t)));if(this.m){t=asinz((this.m*t+Math.sin(t))/this.n)}else if(this.n!==1){t=asinz(Math.sin(t)/this.n)}r=adjust_lon(r+this.long0);t=adjust_lat(t)}else{t=pj_inv_mlfn(e.y/this.a,this.es,this.en);n=Math.abs(t);if(n<HALF_PI){n=Math.sin(t);i=this.long0+e.x*Math.sqrt(1-this.es*n*n)/(this.a*Math.cos(t));r=adjust_lon(i)}else if(n-EPSLN<HALF_PI){r=this.long0}}e.x=r;e.y=t;return e}var names$6=["Sinusoidal","sinu"];var sinu={init:init$6,forward:forward$6,inverse:inverse$6,names:names$6};function init$5(){}function forward$5(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n=i;var o=Math.PI*Math.sin(i);while(true){var _=-(n+Math.sin(n)-o)/(1+Math.cos(n));n+=_;if(Math.abs(_)<EPSLN){break}}n/=2;if(Math.PI/2-Math.abs(i)<EPSLN){r=0}var a=.900316316158*this.a*r*Math.cos(n)+this.x0;var s=1.4142135623731*this.a*Math.sin(n)+this.y0;e.x=a;e.y=s;return e}function inverse$5(e){var t;var i;e.x-=this.x0;e.y-=this.y0;i=e.y/(1.4142135623731*this.a);if(Math.abs(i)>.999999999999){i=.999999999999}t=Math.asin(i);var r=adjust_lon(this.long0+e.x/(.900316316158*this.a*Math.cos(t)));if(r<-Math.PI){r=-Math.PI}if(r>Math.PI){r=Math.PI}i=(2*t+Math.sin(2*t))/Math.PI;if(Math.abs(i)>1){i=1}var n=Math.asin(i);e.x=r;e.y=n;return e}var names$5=["Mollweide","moll"];var moll={init:init$5,forward:forward$5,inverse:inverse$5,names:names$5};function init$4(){if(Math.abs(this.lat1+this.lat2)<EPSLN){return}this.lat2=this.lat2||this.lat1;this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=e0fn(this.es);this.e1=e1fn(this.es);this.e2=e2fn(this.es);this.e3=e3fn(this.es);this.sinphi=Math.sin(this.lat1);this.cosphi=Math.cos(this.lat1);this.ms1=msfnz(this.e,this.sinphi,this.cosphi);this.ml1=mlfn(this.e0,this.e1,this.e2,this.e3,this.lat1);if(Math.abs(this.lat1-this.lat2)<EPSLN){this.ns=this.sinphi}else{this.sinphi=Math.sin(this.lat2);this.cosphi=Math.cos(this.lat2);this.ms2=msfnz(this.e,this.sinphi,this.cosphi);this.ml2=mlfn(this.e0,this.e1,this.e2,this.e3,this.lat2);this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)}this.g=this.ml1+this.ms1/this.ns;this.ml0=mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);this.rh=this.a*(this.g-this.ml0)}function forward$4(e){var t=e.x;var i=e.y;var r;if(this.sphere){r=this.a*(this.g-i)}else{var n=mlfn(this.e0,this.e1,this.e2,this.e3,i);r=this.a*(this.g-n)}var o=this.ns*adjust_lon(t-this.long0);var _=this.x0+r*Math.sin(o);var a=this.y0+this.rh-r*Math.cos(o);e.x=_;e.y=a;return e}function inverse$4(e){e.x-=this.x0;e.y=this.rh-e.y+this.y0;var t,i,r,n;if(this.ns>=0){i=Math.sqrt(e.x*e.x+e.y*e.y);t=1}else{i=-Math.sqrt(e.x*e.x+e.y*e.y);t=-1}var o=0;if(i!==0){o=Math.atan2(t*e.x,t*e.y)}if(this.sphere){n=adjust_lon(this.long0+o/this.ns);r=adjust_lat(this.g-i/this.a);e.x=n;e.y=r;return e}else{var _=this.g-i/this.a;r=imlfn(_,this.e0,this.e1,this.e2,this.e3);n=adjust_lon(this.long0+o/this.ns);e.x=n;e.y=r;return e}}var names$4=["Equidistant_Conic","eqdc"];var eqdc={init:init$4,forward:forward$4,inverse:inverse$4,names:names$4};function init$3(){this.R=this.a}function forward$3(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n,o;if(Math.abs(i)<=EPSLN){n=this.x0+this.R*r;o=this.y0}var _=asinz(2*Math.abs(i/Math.PI));if(Math.abs(r)<=EPSLN||Math.abs(Math.abs(i)-HALF_PI)<=EPSLN){n=this.x0;if(i>=0){o=this.y0+Math.PI*this.R*Math.tan(.5*_)}else{o=this.y0+Math.PI*this.R*-Math.tan(.5*_)}}var a=.5*Math.abs(Math.PI/r-r/Math.PI);var s=a*a;var l=Math.sin(_);var h=Math.cos(_);var u=h/(l+h-1);var c=u*u;var f=u*(2/l-1);var d=f*f;var p=Math.PI*this.R*(a*(u-d)+Math.sqrt(s*(u-d)*(u-d)-(d+s)*(c-d)))/(d+s);if(r<0){p=-p}n=this.x0+p;var v=s+u;p=Math.PI*this.R*(f*v-a*Math.sqrt((d+s)*(s+1)-v*v))/(d+s);if(i>=0){o=this.y0+p}else{o=this.y0-p}e.x=n;e.y=o;return e}function inverse$3(e){var t,i;var r,n,o,_,a,s;var l;var h;var u;var c;var f;e.x-=this.x0;e.y-=this.y0;u=Math.PI*this.R;r=e.x/u;n=e.y/u;o=r*r+n*n;_=-Math.abs(n)*(1+o);a=_-2*n*n+r*r;s=-2*_+1+2*n*n+o*o;f=n*n/s+(2*a*a*a/s/s/s-9*_*a/s/s)/27;l=(_-a*a/3/s)/s;h=2*Math.sqrt(-l/3);u=3*f/l/h;if(Math.abs(u)>1){if(u>=0){u=1}else{u=-1}}c=Math.acos(u)/3;if(e.y>=0){i=(-h*Math.cos(c+Math.PI/3)-a/3/s)*Math.PI}else{i=-(-h*Math.cos(c+Math.PI/3)-a/3/s)*Math.PI}if(Math.abs(r)<EPSLN){t=this.long0}else{t=adjust_lon(this.long0+Math.PI*(o-1+Math.sqrt(1+2*(r*r-n*n)+o*o))/2/r)}e.x=t;e.y=i;return e}var names$3=["Van_der_Grinten_I","VanDerGrinten","vandg"];var vandg={init:init$3,forward:forward$3,inverse:inverse$3,names:names$3};function init$2(){this.sin_p12=Math.sin(this.lat0);this.cos_p12=Math.cos(this.lat0)}function forward$2(e){var t=e.x;var i=e.y;var r=Math.sin(e.y);var n=Math.cos(e.y);var o=adjust_lon(t-this.long0);var _,a,s,l,h,u,c,f,d,p,v,g,y,m,E,x,T,R,S,C,I,M,w;if(this.sphere){if(Math.abs(this.sin_p12-1)<=EPSLN){e.x=this.x0+this.a*(HALF_PI-i)*Math.sin(o);e.y=this.y0-this.a*(HALF_PI-i)*Math.cos(o);return e}else if(Math.abs(this.sin_p12+1)<=EPSLN){e.x=this.x0+this.a*(HALF_PI+i)*Math.sin(o);e.y=this.y0+this.a*(HALF_PI+i)*Math.cos(o);return e}else{R=this.sin_p12*r+this.cos_p12*n*Math.cos(o);x=Math.acos(R);T=x/Math.sin(x);e.x=this.x0+this.a*T*n*Math.sin(o);e.y=this.y0+this.a*T*(this.cos_p12*r-this.sin_p12*n*Math.cos(o));return e}}else{_=e0fn(this.es);a=e1fn(this.es);s=e2fn(this.es);l=e3fn(this.es);if(Math.abs(this.sin_p12-1)<=EPSLN){h=this.a*mlfn(_,a,s,l,HALF_PI);u=this.a*mlfn(_,a,s,l,i);e.x=this.x0+(h-u)*Math.sin(o);e.y=this.y0-(h-u)*Math.cos(o);return e}else if(Math.abs(this.sin_p12+1)<=EPSLN){h=this.a*mlfn(_,a,s,l,HALF_PI);u=this.a*mlfn(_,a,s,l,i);e.x=this.x0+(h+u)*Math.sin(o);e.y=this.y0+(h+u)*Math.cos(o);return e}else{c=r/n;f=gN(this.a,this.e,this.sin_p12);d=gN(this.a,this.e,r);p=Math.atan((1-this.es)*c+this.es*f*this.sin_p12/(d*n));v=Math.atan2(Math.sin(o),this.cos_p12*Math.tan(p)-this.sin_p12*Math.cos(o));if(v===0){S=Math.asin(this.cos_p12*Math.sin(p)-this.sin_p12*Math.cos(p))}else if(Math.abs(Math.abs(v)-Math.PI)<=EPSLN){S=-Math.asin(this.cos_p12*Math.sin(p)-this.sin_p12*Math.cos(p))}else{S=Math.asin(Math.sin(o)*Math.cos(p)/Math.sin(v))}g=this.e*this.sin_p12/Math.sqrt(1-this.es);y=this.e*this.cos_p12*Math.cos(v)/Math.sqrt(1-this.es);m=g*y;E=y*y;C=S*S;I=C*S;M=I*S;w=M*S;x=f*S*(1-C*E*(1-E)/6+I/8*m*(1-2*E)+M/120*(E*(4-7*E)-3*g*g*(1-7*E))-w/48*m);e.x=this.x0+x*Math.sin(v);e.y=this.y0+x*Math.cos(v);return e}}}function inverse$2(e){e.x-=this.x0;e.y-=this.y0;var t,i,r,n,o,_,a,s,l,h,u,c,f,d,p,v,g,y,m,E,x,T,R;if(this.sphere){t=Math.sqrt(e.x*e.x+e.y*e.y);if(t>2*HALF_PI*this.a){return}i=t/this.a;r=Math.sin(i);n=Math.cos(i);o=this.long0;if(Math.abs(t)<=EPSLN){_=this.lat0}else{_=asinz(n*this.sin_p12+e.y*r*this.cos_p12/t);a=Math.abs(this.lat0)-HALF_PI;if(Math.abs(a)<=EPSLN){if(this.lat0>=0){o=adjust_lon(this.long0+Math.atan2(e.x,-e.y))}else{o=adjust_lon(this.long0-Math.atan2(-e.x,e.y))}}else{o=adjust_lon(this.long0+Math.atan2(e.x*r,t*this.cos_p12*n-e.y*this.sin_p12*r))}}e.x=o;e.y=_;return e}else{s=e0fn(this.es);l=e1fn(this.es);h=e2fn(this.es);u=e3fn(this.es);if(Math.abs(this.sin_p12-1)<=EPSLN){c=this.a*mlfn(s,l,h,u,HALF_PI);t=Math.sqrt(e.x*e.x+e.y*e.y);f=c-t;_=imlfn(f/this.a,s,l,h,u);o=adjust_lon(this.long0+Math.atan2(e.x,-1*e.y));e.x=o;e.y=_;return e}else if(Math.abs(this.sin_p12+1)<=EPSLN){c=this.a*mlfn(s,l,h,u,HALF_PI);t=Math.sqrt(e.x*e.x+e.y*e.y);f=t-c;_=imlfn(f/this.a,s,l,h,u);o=adjust_lon(this.long0+Math.atan2(e.x,e.y));e.x=o;e.y=_;return e}else{t=Math.sqrt(e.x*e.x+e.y*e.y);v=Math.atan2(e.x,e.y);d=gN(this.a,this.e,this.sin_p12);g=Math.cos(v);y=this.e*this.cos_p12*g;m=-y*y/(1-this.es);E=3*this.es*(1-m)*this.sin_p12*this.cos_p12*g/(1-this.es);x=t/d;T=x-m*(1+m)*Math.pow(x,3)/6-E*(1+3*m)*Math.pow(x,4)/24;R=1-m*T*T/2-x*T*T*T/6;p=Math.asin(this.sin_p12*Math.cos(T)+this.cos_p12*Math.sin(T)*g);o=adjust_lon(this.long0+Math.asin(Math.sin(v)*Math.sin(T)/Math.cos(p)));_=Math.atan((1-this.es*R*this.sin_p12/Math.sin(p))*Math.tan(p)/(1-this.es));e.x=o;e.y=_;return e}}}var names$2=["Azimuthal_Equidistant","aeqd"];var aeqd={init:init$2,forward:forward$2,inverse:inverse$2,names:names$2};function init$1(){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0)}function forward$1(e){var t,i;var r;var n;var o;var _,a,s;var l=e.x;var h=e.y;r=adjust_lon(l-this.long0);t=Math.sin(h);i=Math.cos(h);n=Math.cos(r);_=this.sin_p14*t+this.cos_p14*i*n;o=1;if(_>0||Math.abs(_)<=EPSLN){a=this.a*o*i*Math.sin(r);s=this.y0+this.a*o*(this.cos_p14*t-this.sin_p14*i*n)}e.x=a;e.y=s;return e}function inverse$1(e){var t;var i;var r,n;var o;var _,a;e.x-=this.x0;e.y-=this.y0;t=Math.sqrt(e.x*e.x+e.y*e.y);i=asinz(t/this.a);r=Math.sin(i);n=Math.cos(i);_=this.long0;if(Math.abs(t)<=EPSLN){a=this.lat0;e.x=_;e.y=a;return e}a=asinz(n*this.sin_p14+e.y*r*this.cos_p14/t);o=Math.abs(this.lat0)-HALF_PI;if(Math.abs(o)<=EPSLN){if(this.lat0>=0){_=adjust_lon(this.long0+Math.atan2(e.x,-e.y))}else{_=adjust_lon(this.long0-Math.atan2(-e.x,e.y))}e.x=_;e.y=a;return e}_=adjust_lon(this.long0+Math.atan2(e.x*r,t*this.cos_p14*n-e.y*this.sin_p14*r));e.x=_;e.y=a;return e}var names$1=["ortho"];var ortho={init:init$1,forward:forward$1,inverse:inverse$1,names:names$1};var FACE_ENUM={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6};var AREA_ENUM={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function init(){this.x0=this.x0||0;this.y0=this.y0||0;this.lat0=this.lat0||0;this.long0=this.long0||0;this.lat_ts=this.lat_ts||0;this.title=this.title||"Quadrilateralized Spherical Cube";if(this.lat0>=HALF_PI-FORTPI/2){this.face=FACE_ENUM.TOP}else if(this.lat0<=-(HALF_PI-FORTPI/2)){this.face=FACE_ENUM.BOTTOM}else if(Math.abs(this.long0)<=FORTPI){this.face=FACE_ENUM.FRONT}else if(Math.abs(this.long0)<=HALF_PI+FORTPI){this.face=this.long0>0?FACE_ENUM.RIGHT:FACE_ENUM.LEFT}else{this.face=FACE_ENUM.BACK}if(this.es!==0){this.one_minus_f=1-(this.a-this.b)/this.a;this.one_minus_f_squared=this.one_minus_f*this.one_minus_f}}function forward(e){var t={x:0,y:0};var i,r;var n,o;var _,a;var s={value:0};e.x-=this.long0;if(this.es!==0){i=Math.atan(this.one_minus_f_squared*Math.tan(e.y))}else{i=e.y}r=e.x;if(this.face===FACE_ENUM.TOP){o=HALF_PI-i;if(r>=FORTPI&&r<=HALF_PI+FORTPI){s.value=AREA_ENUM.AREA_0;n=r-HALF_PI}else if(r>HALF_PI+FORTPI||r<=-(HALF_PI+FORTPI)){s.value=AREA_ENUM.AREA_1;n=r>0?r-SPI:r+SPI}else if(r>-(HALF_PI+FORTPI)&&r<=-FORTPI){s.value=AREA_ENUM.AREA_2;n=r+HALF_PI}else{s.value=AREA_ENUM.AREA_3;n=r}}else if(this.face===FACE_ENUM.BOTTOM){o=HALF_PI+i;if(r>=FORTPI&&r<=HALF_PI+FORTPI){s.value=AREA_ENUM.AREA_0;n=-r+HALF_PI}else if(r<FORTPI&&r>=-FORTPI){s.value=AREA_ENUM.AREA_1;n=-r}else if(r<-FORTPI&&r>=-(HALF_PI+FORTPI)){s.value=AREA_ENUM.AREA_2;n=-r-HALF_PI}else{s.value=AREA_ENUM.AREA_3;n=r>0?-r+SPI:-r-SPI}}else{var l,h,u;var c,f;var d,p;if(this.face===FACE_ENUM.RIGHT){r=qsc_shift_lon_origin(r,+HALF_PI)}else if(this.face===FACE_ENUM.BACK){r=qsc_shift_lon_origin(r,+SPI)}else if(this.face===FACE_ENUM.LEFT){r=qsc_shift_lon_origin(r,-HALF_PI)}c=Math.sin(i);f=Math.cos(i);d=Math.sin(r);p=Math.cos(r);l=f*p;h=f*d;u=c;if(this.face===FACE_ENUM.FRONT){o=Math.acos(l);n=qsc_fwd_equat_face_theta(o,u,h,s)}else if(this.face===FACE_ENUM.RIGHT){o=Math.acos(h);n=qsc_fwd_equat_face_theta(o,u,-l,s)}else if(this.face===FACE_ENUM.BACK){o=Math.acos(-l);n=qsc_fwd_equat_face_theta(o,u,-h,s)}else if(this.face===FACE_ENUM.LEFT){o=Math.acos(-h);n=qsc_fwd_equat_face_theta(o,u,l,s)}else{o=n=0;s.value=AREA_ENUM.AREA_0}}a=Math.atan(12/SPI*(n+Math.acos(Math.sin(n)*Math.cos(FORTPI))-HALF_PI));_=Math.sqrt((1-Math.cos(o))/(Math.cos(a)*Math.cos(a))/(1-Math.cos(Math.atan(1/Math.cos(n)))));if(s.value===AREA_ENUM.AREA_1){a+=HALF_PI}else if(s.value===AREA_ENUM.AREA_2){a+=SPI}else if(s.value===AREA_ENUM.AREA_3){a+=1.5*SPI}t.x=_*Math.cos(a);t.y=_*Math.sin(a);t.x=t.x*this.a+this.x0;t.y=t.y*this.a+this.y0;e.x=t.x;e.y=t.y;return e}function inverse(e){var t={lam:0,phi:0};var i,r,n,o;var _,a,s,l;var h;var u={value:0};e.x=(e.x-this.x0)/this.a;e.y=(e.y-this.y0)/this.a;r=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y));i=Math.atan2(e.y,e.x);if(e.x>=0&&e.x>=Math.abs(e.y)){u.value=AREA_ENUM.AREA_0}else if(e.y>=0&&e.y>=Math.abs(e.x)){u.value=AREA_ENUM.AREA_1;i-=HALF_PI}else if(e.x<0&&-e.x>=Math.abs(e.y)){u.value=AREA_ENUM.AREA_2;i=i<0?i+SPI:i-SPI}else{u.value=AREA_ENUM.AREA_3;i+=HALF_PI}h=SPI/12*Math.tan(i);_=Math.sin(h)/(Math.cos(h)-1/Math.sqrt(2));a=Math.atan(_);n=Math.cos(i);o=Math.tan(r);s=1-n*n*o*o*(1-Math.cos(Math.atan(1/Math.cos(a))));if(s<-1){s=-1}else if(s>+1){s=+1}if(this.face===FACE_ENUM.TOP){l=Math.acos(s);t.phi=HALF_PI-l;if(u.value===AREA_ENUM.AREA_0){t.lam=a+HALF_PI}else if(u.value===AREA_ENUM.AREA_1){t.lam=a<0?a+SPI:a-SPI}else if(u.value===AREA_ENUM.AREA_2){t.lam=a-HALF_PI}else{t.lam=a}}else if(this.face===FACE_ENUM.BOTTOM){l=Math.acos(s);t.phi=l-HALF_PI;if(u.value===AREA_ENUM.AREA_0){t.lam=-a+HALF_PI}else if(u.value===AREA_ENUM.AREA_1){t.lam=-a}else if(u.value===AREA_ENUM.AREA_2){t.lam=-a-HALF_PI}else{t.lam=a<0?-a-SPI:-a+SPI}}else{var c,f,d;c=s;h=c*c;if(h>=1){d=0}else{d=Math.sqrt(1-h)*Math.sin(a)}h+=d*d;if(h>=1){f=0}else{f=Math.sqrt(1-h)}if(u.value===AREA_ENUM.AREA_1){h=f;f=-d;d=h}else if(u.value===AREA_ENUM.AREA_2){f=-f;d=-d}else if(u.value===AREA_ENUM.AREA_3){h=f;f=d;d=-h}if(this.face===FACE_ENUM.RIGHT){h=c;c=-f;f=h}else if(this.face===FACE_ENUM.BACK){c=-c;f=-f}else if(this.face===FACE_ENUM.LEFT){h=c;c=f;f=-h}t.phi=Math.acos(-d)-HALF_PI;t.lam=Math.atan2(f,c);if(this.face===FACE_ENUM.RIGHT){t.lam=qsc_shift_lon_origin(t.lam,-HALF_PI)}else if(this.face===FACE_ENUM.BACK){t.lam=qsc_shift_lon_origin(t.lam,-SPI)}else if(this.face===FACE_ENUM.LEFT){t.lam=qsc_shift_lon_origin(t.lam,+HALF_PI)}}if(this.es!==0){var p;var v,g;p=t.phi<0?1:0;v=Math.tan(t.phi);g=this.b/Math.sqrt(v*v+this.one_minus_f_squared);t.phi=Math.atan(Math.sqrt(this.a*this.a-g*g)/(this.one_minus_f*g));if(p){t.phi=-t.phi}}t.lam+=this.long0;e.x=t.lam;e.y=t.phi;return e}function qsc_fwd_equat_face_theta(e,t,i,r){var n;if(e<EPSLN){r.value=AREA_ENUM.AREA_0;n=0}else{n=Math.atan2(t,i);if(Math.abs(n)<=FORTPI){r.value=AREA_ENUM.AREA_0}else if(n>FORTPI&&n<=HALF_PI+FORTPI){r.value=AREA_ENUM.AREA_1;n-=HALF_PI}else if(n>HALF_PI+FORTPI||n<=-(HALF_PI+FORTPI)){r.value=AREA_ENUM.AREA_2;n=n>=0?n-SPI:n+SPI}else{r.value=AREA_ENUM.AREA_3;n+=HALF_PI}}return n}function qsc_shift_lon_origin(e,t){var i=e+t;if(i<-SPI){i+=TWO_PI}else if(i>+SPI){i-=TWO_PI}return i}var names=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];var qsc={init:init,forward:forward,inverse:inverse,names:names};function includedProjections(e){e.Proj.projections.add(tmerc);e.Proj.projections.add(etmerc);e.Proj.projections.add(utm);e.Proj.projections.add(sterea);e.Proj.projections.add(stere);e.Proj.projections.add(somerc);e.Proj.projections.add(omerc);e.Proj.projections.add(lcc);e.Proj.projections.add(krovak);e.Proj.projections.add(cass);e.Proj.projections.add(laea);e.Proj.projections.add(aea);e.Proj.projections.add(gnom);e.Proj.projections.add(cea);e.Proj.projections.add(eqc);e.Proj.projections.add(poly);e.Proj.projections.add(nzmg);e.Proj.projections.add(mill);e.Proj.projections.add(sinu);e.Proj.projections.add(moll);e.Proj.projections.add(eqdc);e.Proj.projections.add(vandg);e.Proj.projections.add(aeqd);e.Proj.projections.add(ortho);e.Proj.projections.add(qsc)}proj4.defaultDatum="WGS84";proj4.Proj=Projection;proj4.WGS84=new proj4.Proj("WGS84");proj4.Point=Point;proj4.toPoint=common;proj4.defs=defs;proj4.transform=transform;proj4.mgrs=mgrs;proj4.version=version;includedProjections(proj4);var _ol_={};_ol_.ASSUME_TOUCH=false;_ol_.DEFAULT_MAX_ZOOM=42;_ol_.DEFAULT_MIN_ZOOM=0;_ol_.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD=.5;_ol_.DEFAULT_TILE_SIZE=256;_ol_.DEFAULT_WMS_VERSION="1.3.0";_ol_.ENABLE_CANVAS=true;_ol_.ENABLE_PROJ4JS=true;_ol_.ENABLE_RASTER_REPROJECTION=true;_ol_.ENABLE_WEBGL=true;_ol_.DEBUG_WEBGL=true;_ol_.INITIAL_ATLAS_SIZE=256;_ol_.MAX_ATLAS_SIZE=-1;_ol_.MOUSEWHEELZOOM_MAXDELTA=1;_ol_.OVERVIEWMAP_MAX_RATIO=.75;_ol_.OVERVIEWMAP_MIN_RATIO=.1;_ol_.RASTER_REPROJECTION_MAX_SOURCE_TILES=100;_ol_.RASTER_REPROJECTION_MAX_SUBDIVISION=10;_ol_.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH=.25;_ol_.SIMPLIFY_TOLERANCE=.5;_ol_.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK=1024;_ol_.VERSION="v4.6.5";_ol_.inherits=function(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e};_ol_.nullFunction=function(){};_ol_.getUid=function(e){return e.ol_uid||(e.ol_uid=++_ol_.uidCounter_)};_ol_.uidCounter_=0;var _ol_GeolocationProperty_={ACCURACY:"accuracy",ACCURACY_GEOMETRY:"accuracyGeometry",ALTITUDE:"altitude",ALTITUDE_ACCURACY:"altitudeAccuracy",HEADING:"heading",POSITION:"position",PROJECTION:"projection",SPEED:"speed",TRACKING:"tracking",TRACKING_OPTIONS:"trackingOptions"};var _ol_ObjectEventType_={PROPERTYCHANGE:"propertychange"};var _ol_obj_={};_ol_obj_.assign=typeof Object.assign==="function"?Object.assign:function(e,t){if(e===undefined||e===null){throw new TypeError("Cannot convert undefined or null to object")}var i=Object(e);for(var r=1,n=arguments.length;r<n;++r){var o=arguments[r];if(o!==undefined&&o!==null){for(var _ in o){if(o.hasOwnProperty(_)){i[_]=o[_]}}}}return i};_ol_obj_.clear=function(e){for(var t in e){delete e[t]}};_ol_obj_.getValues=function(e){var t=[];for(var i in e){t.push(e[i])}return t};_ol_obj_.isEmpty=function(e){var t;for(t in e){return false}return!t};var _ol_events_={};_ol_events_.bindListener_=function(e){var t=function(t){var i=e.listener;var r=e.bindTo||e.target;if(e.callOnce){_ol_events_.unlistenByKey(e)}return i.call(r,t)};e.boundListener=t;return t};_ol_events_.findListener_=function(e,t,i,r){var n;for(var o=0,_=e.length;o<_;++o){n=e[o];if(n.listener===t&&n.bindTo===i){if(r){n.deleteIndex=o}return n}}return undefined};_ol_events_.getListeners=function(e,t){var i=e.ol_lm;return i?i[t]:undefined};_ol_events_.getListenerMap_=function(e){var t=e.ol_lm;if(!t){t=e.ol_lm={}}return t};_ol_events_.removeListeners_=function(e,t){var i=_ol_events_.getListeners(e,t);if(i){for(var r=0,n=i.length;r<n;++r){e.removeEventListener(t,i[r].boundListener);_ol_obj_.clear(i[r])}i.length=0;var o=e.ol_lm;if(o){delete o[t];if(Object.keys(o).length===0){delete e.ol_lm}}}};_ol_events_.listen=function(e,t,i,r,n){var o=_ol_events_.getListenerMap_(e);var _=o[t];if(!_){_=o[t]=[]}var a=_ol_events_.findListener_(_,i,r,false);if(a){if(!n){a.callOnce=false}}else{a={bindTo:r,callOnce:!!n,listener:i,target:e,type:t};e.addEventListener(t,_ol_events_.bindListener_(a));_.push(a)}return a};_ol_events_.listenOnce=function(e,t,i,r){return _ol_events_.listen(e,t,i,r,true)};_ol_events_.unlisten=function(e,t,i,r){var n=_ol_events_.getListeners(e,t);if(n){var o=_ol_events_.findListener_(n,i,r,true);if(o){_ol_events_.unlistenByKey(o)}}};_ol_events_.unlistenByKey=function(e){if(e&&e.target){e.target.removeEventListener(e.type,e.boundListener);var t=_ol_events_.getListeners(e.target,e.type);if(t){var i="deleteIndex"in e?e.deleteIndex:t.indexOf(e);if(i!==-1){t.splice(i,1)}if(t.length===0){_ol_events_.removeListeners_(e.target,e.type)}}_ol_obj_.clear(e)}};_ol_events_.unlistenAll=function(e){var t=_ol_events_.getListenerMap_(e);for(var i in t){_ol_events_.removeListeners_(e,i)}};var _ol_Disposable_=function(){};_ol_Disposable_.prototype.disposed_=false;_ol_Disposable_.prototype.dispose=function(){if(!this.disposed_){this.disposed_=true;this.disposeInternal()}};_ol_Disposable_.prototype.disposeInternal=_ol_.nullFunction;var _ol_events_Event_=function(e){this.type=e;this.target=null};_ol_events_Event_.prototype.preventDefault=_ol_events_Event_.prototype.stopPropagation=function(){this.propagationStopped=true};_ol_events_Event_.stopPropagation=function(e){e.stopPropagation()};_ol_events_Event_.preventDefault=function(e){e.preventDefault()};var _ol_events_EventTarget_=function(){_ol_Disposable_.call(this);this.pendingRemovals_={};this.dispatching_={};this.listeners_={}};_ol_.inherits(_ol_events_EventTarget_,_ol_Disposable_);_ol_events_EventTarget_.prototype.addEventListener=function(e,t){var i=this.listeners_[e];if(!i){i=this.listeners_[e]=[]}if(i.indexOf(t)===-1){i.push(t)}};_ol_events_EventTarget_.prototype.dispatchEvent=function(e){var t=typeof e==="string"?new _ol_events_Event_(e):e;var i=t.type;t.target=this;var r=this.listeners_[i];var n;if(r){if(!(i in this.dispatching_)){this.dispatching_[i]=0;this.pendingRemovals_[i]=0}++this.dispatching_[i];for(var o=0,_=r.length;o<_;++o){if(r[o].call(this,t)===false||t.propagationStopped){n=false;break}}--this.dispatching_[i];if(this.dispatching_[i]===0){var a=this.pendingRemovals_[i];delete this.pendingRemovals_[i];while(a--){this.removeEventListener(i,_ol_.nullFunction)}delete this.dispatching_[i]}return n}};_ol_events_EventTarget_.prototype.disposeInternal=function(){_ol_events_.unlistenAll(this)};_ol_events_EventTarget_.prototype.getListeners=function(e){return this.listeners_[e]};_ol_events_EventTarget_.prototype.hasListener=function(e){return e?e in this.listeners_:Object.keys(this.listeners_).length>0};_ol_events_EventTarget_.prototype.removeEventListener=function(e,t){var i=this.listeners_[e];if(i){var r=i.indexOf(t);if(e in this.pendingRemovals_){i[r]=_ol_.nullFunction;++this.pendingRemovals_[e]}else{i.splice(r,1);if(i.length===0){delete this.listeners_[e]}}}};var _ol_events_EventType_={CHANGE:"change",CLEAR:"clear",CLICK:"click",DBLCLICK:"dblclick",DRAGENTER:"dragenter",DRAGOVER:"dragover",DROP:"drop",ERROR:"error",KEYDOWN:"keydown",KEYPRESS:"keypress",LOAD:"load",MOUSEDOWN:"mousedown",MOUSEMOVE:"mousemove",MOUSEOUT:"mouseout",MOUSEUP:"mouseup",MOUSEWHEEL:"mousewheel",MSPOINTERDOWN:"MSPointerDown",RESIZE:"resize",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",WHEEL:"wheel"};var _ol_Observable_=function(){_ol_events_EventTarget_.call(this);this.revision_=0};_ol_.inherits(_ol_Observable_,_ol_events_EventTarget_);_ol_Observable_.unByKey=function(e){if(Array.isArray(e)){for(var t=0,i=e.length;t<i;++t){_ol_events_.unlistenByKey(e[t])}}else{_ol_events_.unlistenByKey(e)}};_ol_Observable_.prototype.changed=function(){++this.revision_;this.dispatchEvent(_ol_events_EventType_.CHANGE)};_ol_Observable_.prototype.getRevision=function(){return this.revision_};_ol_Observable_.prototype.on=function(e,t,i){if(Array.isArray(e)){var r=e.length;var n=new Array(r);for(var o=0;o<r;++o){n[o]=_ol_events_.listen(this,e[o],t,i)}return n}else{return _ol_events_.listen(this,e,t,i)}};_ol_Observable_.prototype.once=function(e,t,i){if(Array.isArray(e)){var r=e.length;var n=new Array(r);for(var o=0;o<r;++o){n[o]=_ol_events_.listenOnce(this,e[o],t,i)}return n}else{return _ol_events_.listenOnce(this,e,t,i)}};_ol_Observable_.prototype.un=function(e,t,i){if(Array.isArray(e)){for(var r=0,n=e.length;r<n;++r){_ol_events_.unlisten(this,e[r],t,i)}return}else{_ol_events_.unlisten(this,e,t,i)}};var _ol_Object_=function(e){_ol_Observable_.call(this);_ol_.getUid(this);this.values_={};if(e!==undefined){this.setProperties(e)}};_ol_.inherits(_ol_Object_,_ol_Observable_);_ol_Object_.changeEventTypeCache_={};_ol_Object_.getChangeEventType=function(e){return _ol_Object_.changeEventTypeCache_.hasOwnProperty(e)?_ol_Object_.changeEventTypeCache_[e]:_ol_Object_.changeEventTypeCache_[e]="change:"+e};_ol_Object_.prototype.get=function(e){var t;if(this.values_.hasOwnProperty(e)){t=this.values_[e]}return t};_ol_Object_.prototype.getKeys=function(){return Object.keys(this.values_)};_ol_Object_.prototype.getProperties=function(){return _ol_obj_.assign({},this.values_)};_ol_Object_.prototype.notify=function(e,t){var i;i=_ol_Object_.getChangeEventType(e);this.dispatchEvent(new _ol_Object_.Event(i,e,t));i=_ol_ObjectEventType_.PROPERTYCHANGE;this.dispatchEvent(new _ol_Object_.Event(i,e,t))};_ol_Object_.prototype.set=function(e,t,i){if(i){this.values_[e]=t}else{var r=this.values_[e];this.values_[e]=t;if(r!==t){this.notify(e,r)}}};_ol_Object_.prototype.setProperties=function(e,t){var i;for(i in e){this.set(i,e[i],t)}};_ol_Object_.prototype.unset=function(e,t){if(e in this.values_){var i=this.values_[e];delete this.values_[e];if(!t){this.notify(e,i)}}};_ol_Object_.Event=function(e,t,i){_ol_events_Event_.call(this,e);this.key=t;this.oldValue=i};_ol_.inherits(_ol_Object_.Event,_ol_events_Event_);var _ol_AssertionError_=function(e){var t=_ol_.VERSION?_ol_.VERSION.split("-")[0]:"latest";this.message="Assertion failed. See https://openlayers.org/en/"+t+"/doc/errors/#"+e+" for details.";this.code=e;this.name="AssertionError"};_ol_.inherits(_ol_AssertionError_,Error);var _ol_asserts_={};_ol_asserts_.assert=function(e,t){if(!e){throw new _ol_AssertionError_(t)}};var _ol_math_={};_ol_math_.clamp=function(e,t,i){return Math.min(Math.max(e,t),i)};_ol_math_.cosh=function(){var e;if("cosh"in Math){e=Math.cosh}else{e=function(e){var t=Math.exp(e);return(t+1/t)/2}}return e}();_ol_math_.roundUpToPowerOfTwo=function(e){_ol_asserts_.assert(0<e,29);return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))};_ol_math_.squaredSegmentDistance=function(e,t,i,r,n,o){var _=n-i;var a=o-r;if(_!==0||a!==0){var s=((e-i)*_+(t-r)*a)/(_*_+a*a);if(s>1){i=n;r=o}else if(s>0){i+=_*s;r+=a*s}}return _ol_math_.squaredDistance(e,t,i,r)};_ol_math_.squaredDistance=function(e,t,i,r){var n=i-e;var o=r-t;return n*n+o*o};_ol_math_.solveLinearSystem=function(e){var t=e.length;for(var i=0;i<t;i++){var r=i;var n=Math.abs(e[i][i]);for(var o=i+1;o<t;o++){var _=Math.abs(e[o][i]);if(_>n){n=_;r=o}}if(n===0){return null}var a=e[r];e[r]=e[i];e[i]=a;for(var s=i+1;s<t;s++){var l=-e[s][i]/e[i][i];for(var h=i;h<t+1;h++){if(i==h){e[s][h]=0}else{e[s][h]+=l*e[i][h]}}}}var u=new Array(t);for(var c=t-1;c>=0;c--){u[c]=e[c][t]/e[c][c];for(var f=c-1;f>=0;f--){e[f][t]-=e[f][c]*u[c]}}return u};_ol_math_.toDegrees=function(e){return e*180/Math.PI};_ol_math_.toRadians=function(e){return e*Math.PI/180};_ol_math_.modulo=function(e,t){var i=e%t;return i*t<0?i+t:i};_ol_math_.lerp=function(e,t,i){return e+i*(t-e)};var _ol_geom_GeometryType_={POINT:"Point",LINE_STRING:"LineString",LINEAR_RING:"LinearRing",POLYGON:"Polygon",MULTI_POINT:"MultiPoint",MULTI_LINE_STRING:"MultiLineString",MULTI_POLYGON:"MultiPolygon",GEOMETRY_COLLECTION:"GeometryCollection",CIRCLE:"Circle"};
1
+ var __awaiter=this&&this.__awaiter||function(e,t,i,r){function n(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,o){function _(e){try{s(r.next(e))}catch(t){o(t)}}function a(e){try{s(r["throw"](e))}catch(t){o(t)}}function s(e){e.done?i(e.value):n(e.value).then(_,a)}s((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,n,o,_;return _={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(_[Symbol.iterator]=function(){return this}),_;function a(e){return function(t){return s([e,t])}}function s(a){if(r)throw new TypeError("Generator is already executing.");while(_&&(_=0,a[0]&&(i=0)),i)try{if(r=1,n&&(o=a[0]&2?n["return"]:a[0]?n["throw"]||((o=n["return"])&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;if(n=0,o)a=[a[0]&2,o.value];switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;n=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(a[0]===6||a[0]===2)){i=0;continue}if(a[0]===3&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(a[0]===6&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}if(o[2])i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(s){a=[6,s];n=0}finally{r=o=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};import{r as registerInstance,e as createEvent,h,c as Host,g as getElement}from"./index-319b7c49.js";import{f as fetchTranslations}from"./translation-utils-2623783f.js";import{c as createCommonjsModule,a as commonjsGlobal}from"./_commonjsHelpers-ba3f0406.js";function globals(e){e("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees");e("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees");e("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs");e.WGS84=e["EPSG:4326"];e["EPSG:3785"]=e["EPSG:3857"];e.GOOGLE=e["EPSG:3857"];e["EPSG:900913"]=e["EPSG:3857"];e["EPSG:102113"]=e["EPSG:3857"]}var PJD_3PARAM=1;var PJD_7PARAM=2;var PJD_WGS84=4;var PJD_NODATUM=5;var SEC_TO_RAD=484813681109536e-20;var HALF_PI=Math.PI/2;var SIXTH=.16666666666666666;var RA4=.04722222222222222;var RA6=.022156084656084655;var EPSLN=1e-10;var D2R$1=.017453292519943295;var R2D=57.29577951308232;var FORTPI=Math.PI/4;var TWO_PI=Math.PI*2;var SPI=3.14159265359;var exports$2={};exports$2.greenwich=0;exports$2.lisbon=-9.131906111111;exports$2.paris=2.337229166667;exports$2.bogota=-74.080916666667;exports$2.madrid=-3.687938888889;exports$2.rome=12.452333333333;exports$2.bern=7.439583333333;exports$2.jakarta=106.807719444444;exports$2.ferro=-17.666666666667;exports$2.brussels=4.367975;exports$2.stockholm=18.058277777778;exports$2.athens=23.7163375;exports$2.oslo=10.722916666667;var units={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}};var ignoredChar=/[\s_\-\/\(\)]/g;function match(e,t){if(e[t]){return e[t]}var i=Object.keys(e);var r=t.toLowerCase().replace(ignoredChar,"");var n=-1;var o,_;while(++n<i.length){o=i[n];_=o.toLowerCase().replace(ignoredChar,"");if(_===r){return e[o]}}}function projStr(e){var t={};var i=e.split("+").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var i=t.split("=");i.push(true);e[i[0].toLowerCase()]=i[1];return e}),{});var r,n,o;var _={proj:"projName",datum:"datumCode",rf:function(e){t.rf=parseFloat(e)},lat_0:function(e){t.lat0=e*D2R$1},lat_1:function(e){t.lat1=e*D2R$1},lat_2:function(e){t.lat2=e*D2R$1},lat_ts:function(e){t.lat_ts=e*D2R$1},lon_0:function(e){t.long0=e*D2R$1},lon_1:function(e){t.long1=e*D2R$1},lon_2:function(e){t.long2=e*D2R$1},alpha:function(e){t.alpha=parseFloat(e)*D2R$1},lonc:function(e){t.longc=e*D2R$1},x_0:function(e){t.x0=parseFloat(e)},y_0:function(e){t.y0=parseFloat(e)},k_0:function(e){t.k0=parseFloat(e)},k:function(e){t.k0=parseFloat(e)},a:function(e){t.a=parseFloat(e)},b:function(e){t.b=parseFloat(e)},r_a:function(){t.R_A=true},zone:function(e){t.zone=parseInt(e,10)},south:function(){t.utmSouth=true},towgs84:function(e){t.datum_params=e.split(",").map((function(e){return parseFloat(e)}))},to_meter:function(e){t.to_meter=parseFloat(e)},units:function(e){t.units=e;var i=match(units,e);if(i){t.to_meter=i.to_meter}},from_greenwich:function(e){t.from_greenwich=e*D2R$1},pm:function(e){var i=match(exports$2,e);t.from_greenwich=(i?i:parseFloat(e))*D2R$1},nadgrids:function(e){if(e==="@null"){t.datumCode="none"}else{t.nadgrids=e}},axis:function(e){var i="ewnsud";if(e.length===3&&i.indexOf(e.substr(0,1))!==-1&&i.indexOf(e.substr(1,1))!==-1&&i.indexOf(e.substr(2,1))!==-1){t.axis=e}}};for(r in i){n=i[r];if(r in _){o=_[r];if(typeof o==="function"){o(n)}else{t[o]=n}}else{t[r]=n}}if(typeof t.datumCode==="string"&&t.datumCode!=="WGS84"){t.datumCode=t.datumCode.toLowerCase()}return t}var NEUTRAL=1;var KEYWORD=2;var NUMBER=3;var QUOTED=4;var AFTERQUOTE=5;var ENDED=-1;var whitespace=/\s/;var latin=/[A-Za-z]/;var keyword=/[A-Za-z84_]/;var endThings=/[,\]]/;var digets=/[\d\.E\-\+]/;function Parser(e){if(typeof e!=="string"){throw new Error("not a string")}this.text=e.trim();this.level=0;this.place=0;this.root=null;this.stack=[];this.currentObject=null;this.state=NEUTRAL}Parser.prototype.readCharicter=function(){var e=this.text[this.place++];if(this.state!==QUOTED){while(whitespace.test(e)){if(this.place>=this.text.length){return}e=this.text[this.place++]}}switch(this.state){case NEUTRAL:return this.neutral(e);case KEYWORD:return this.keyword(e);case QUOTED:return this.quoted(e);case AFTERQUOTE:return this.afterquote(e);case NUMBER:return this.number(e);case ENDED:return}};Parser.prototype.afterquote=function(e){if(e==='"'){this.word+='"';this.state=QUOTED;return}if(endThings.test(e)){this.word=this.word.trim();this.afterItem(e);return}throw new Error("havn't handled \""+e+'" in afterquote yet, index '+this.place)};Parser.prototype.afterItem=function(e){if(e===","){if(this.word!==null){this.currentObject.push(this.word)}this.word=null;this.state=NEUTRAL;return}if(e==="]"){this.level--;if(this.word!==null){this.currentObject.push(this.word);this.word=null}this.state=NEUTRAL;this.currentObject=this.stack.pop();if(!this.currentObject){this.state=ENDED}return}};Parser.prototype.number=function(e){if(digets.test(e)){this.word+=e;return}if(endThings.test(e)){this.word=parseFloat(this.word);this.afterItem(e);return}throw new Error("havn't handled \""+e+'" in number yet, index '+this.place)};Parser.prototype.quoted=function(e){if(e==='"'){this.state=AFTERQUOTE;return}this.word+=e;return};Parser.prototype.keyword=function(e){if(keyword.test(e)){this.word+=e;return}if(e==="["){var t=[];t.push(this.word);this.level++;if(this.root===null){this.root=t}else{this.currentObject.push(t)}this.stack.push(this.currentObject);this.currentObject=t;this.state=NEUTRAL;return}if(endThings.test(e)){this.afterItem(e);return}throw new Error("havn't handled \""+e+'" in keyword yet, index '+this.place)};Parser.prototype.neutral=function(e){if(latin.test(e)){this.word=e;this.state=KEYWORD;return}if(e==='"'){this.word="";this.state=QUOTED;return}if(digets.test(e)){this.word=e;this.state=NUMBER;return}if(endThings.test(e)){this.afterItem(e);return}throw new Error("havn't handled \""+e+'" in neutral yet, index '+this.place)};Parser.prototype.output=function(){while(this.place<this.text.length){this.readCharicter()}if(this.state===ENDED){return this.root}throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function parseString(e){var t=new Parser(e);return t.output()}function mapit(e,t,i){if(Array.isArray(t)){i.unshift(t);t=null}var r=t?{}:e;var n=i.reduce((function(e,t){sExpr(t,e);return e}),r);if(t){e[t]=n}}function sExpr(e,t){if(!Array.isArray(e)){t[e]=true;return}var i=e.shift();if(i==="PARAMETER"){i=e.shift()}if(e.length===1){if(Array.isArray(e[0])){t[i]={};sExpr(e[0],t[i]);return}t[i]=e[0];return}if(!e.length){t[i]=true;return}if(i==="TOWGS84"){t[i]=e;return}if(i==="AXIS"){if(!(i in t)){t[i]=[]}t[i].push(e);return}if(!Array.isArray(i)){t[i]={}}var r;switch(i){case"UNIT":case"PRIMEM":case"VERT_DATUM":t[i]={name:e[0].toLowerCase(),convert:e[1]};if(e.length===3){sExpr(e[2],t[i])}return;case"SPHEROID":case"ELLIPSOID":t[i]={name:e[0],a:e[1],rf:e[2]};if(e.length===4){sExpr(e[3],t[i])}return;case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":e[0]=["name",e[0]];mapit(t,i,e);return;default:r=-1;while(++r<e.length){if(!Array.isArray(e[r])){return sExpr(e,t[i])}}return mapit(t,i,e)}}var D2R=.017453292519943295;function rename(e,t){var i=t[0];var r=t[1];if(!(i in e)&&r in e){e[i]=e[r];if(t.length===3){e[i]=t[2](e[i])}}}function d2r(e){return e*D2R}function cleanWKT(e){if(e.type==="GEOGCS"){e.projName="longlat"}else if(e.type==="LOCAL_CS"){e.projName="identity";e.local=true}else{if(typeof e.PROJECTION==="object"){e.projName=Object.keys(e.PROJECTION)[0]}else{e.projName=e.PROJECTION}}if(e.AXIS){var t="";for(var i=0,r=e.AXIS.length;i<r;++i){var n=[e.AXIS[i][0].toLowerCase(),e.AXIS[i][1].toLowerCase()];if(n[0].indexOf("north")!==-1||(n[0]==="y"||n[0]==="lat")&&n[1]==="north"){t+="n"}else if(n[0].indexOf("south")!==-1||(n[0]==="y"||n[0]==="lat")&&n[1]==="south"){t+="s"}else if(n[0].indexOf("east")!==-1||(n[0]==="x"||n[0]==="lon")&&n[1]==="east"){t+="e"}else if(n[0].indexOf("west")!==-1||(n[0]==="x"||n[0]==="lon")&&n[1]==="west"){t+="w"}}if(t.length===2){t+="u"}if(t.length===3){e.axis=t}}if(e.UNIT){e.units=e.UNIT.name.toLowerCase();if(e.units==="metre"){e.units="meter"}if(e.UNIT.convert){if(e.type==="GEOGCS"){if(e.DATUM&&e.DATUM.SPHEROID){e.to_meter=e.UNIT.convert*e.DATUM.SPHEROID.a}}else{e.to_meter=e.UNIT.convert}}}var o=e.GEOGCS;if(e.type==="GEOGCS"){o=e}if(o){if(o.DATUM){e.datumCode=o.DATUM.name.toLowerCase()}else{e.datumCode=o.name.toLowerCase()}if(e.datumCode.slice(0,2)==="d_"){e.datumCode=e.datumCode.slice(2)}if(e.datumCode==="new_zealand_geodetic_datum_1949"||e.datumCode==="new_zealand_1949"){e.datumCode="nzgd49"}if(e.datumCode==="wgs_1984"||e.datumCode==="world_geodetic_system_1984"){if(e.PROJECTION==="Mercator_Auxiliary_Sphere"){e.sphere=true}e.datumCode="wgs84"}if(e.datumCode.slice(-6)==="_ferro"){e.datumCode=e.datumCode.slice(0,-6)}if(e.datumCode.slice(-8)==="_jakarta"){e.datumCode=e.datumCode.slice(0,-8)}if(~e.datumCode.indexOf("belge")){e.datumCode="rnb72"}if(o.DATUM&&o.DATUM.SPHEROID){e.ellps=o.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk");if(e.ellps.toLowerCase().slice(0,13)==="international"){e.ellps="intl"}e.a=o.DATUM.SPHEROID.a;e.rf=parseFloat(o.DATUM.SPHEROID.rf,10)}if(o.DATUM&&o.DATUM.TOWGS84){e.datum_params=o.DATUM.TOWGS84}if(~e.datumCode.indexOf("osgb_1936")){e.datumCode="osgb36"}if(~e.datumCode.indexOf("osni_1952")){e.datumCode="osni52"}if(~e.datumCode.indexOf("tm65")||~e.datumCode.indexOf("geodetic_datum_of_1965")){e.datumCode="ire65"}if(e.datumCode==="ch1903+"){e.datumCode="ch1903"}if(~e.datumCode.indexOf("israel")){e.datumCode="isr93"}}if(e.b&&!isFinite(e.b)){e.b=e.a}function _(t){var i=e.to_meter||1;return t*i}var a=function(t){return rename(e,t)};var s=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",d2r],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",d2r],["x0","false_easting",_],["y0","false_northing",_],["long0","central_meridian",d2r],["lat0","latitude_of_origin",d2r],["lat0","standard_parallel_1",d2r],["lat1","standard_parallel_1",d2r],["lat2","standard_parallel_2",d2r],["azimuth","Azimuth"],["alpha","azimuth",d2r],["srsCode","name"]];s.forEach(a);if(!e.long0&&e.longc&&(e.projName==="Albers_Conic_Equal_Area"||e.projName==="Lambert_Azimuthal_Equal_Area")){e.long0=e.longc}if(!e.lat_ts&&e.lat1&&(e.projName==="Stereographic_South_Pole"||e.projName==="Polar Stereographic (variant B)")){e.lat0=d2r(e.lat1>0?90:-90);e.lat_ts=e.lat1}}function wkt(e){var t=parseString(e);var i=t.shift();var r=t.shift();t.unshift(["name",r]);t.unshift(["type",i]);var n={};sExpr(t,n);cleanWKT(n);return n}function defs(e){var t=this;if(arguments.length===2){var i=arguments[1];if(typeof i==="string"){if(i.charAt(0)==="+"){defs[e]=projStr(arguments[1])}else{defs[e]=wkt(arguments[1])}}else{defs[e]=i}}else if(arguments.length===1){if(Array.isArray(e)){return e.map((function(e){if(Array.isArray(e)){defs.apply(t,e)}else{defs(e)}}))}else if(typeof e==="string"){if(e in defs){return defs[e]}}else if("EPSG"in e){defs["EPSG:"+e.EPSG]=e}else if("ESRI"in e){defs["ESRI:"+e.ESRI]=e}else if("IAU2000"in e){defs["IAU2000:"+e.IAU2000]=e}else{console.log(e)}return}}globals(defs);function testObj(e){return typeof e==="string"}function testDef(e){return e in defs}var codeWords=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"];function testWKT(e){return codeWords.some((function(t){return e.indexOf(t)>-1}))}function testProj(e){return e[0]==="+"}function parse(e){if(testObj(e)){if(testDef(e)){return defs[e]}if(testWKT(e)){return wkt(e)}if(testProj(e)){return projStr(e)}}else{return e}}function extend$1(e,t){e=e||{};var i,r;if(!t){return e}for(r in t){i=t[r];if(i!==undefined){e[r]=i}}return e}function msfnz(e,t,i){var r=e*t;return i/Math.sqrt(1-r*r)}function sign(e){return e<0?-1:1}function adjust_lon(e){return Math.abs(e)<=SPI?e:e-sign(e)*TWO_PI}function tsfnz(e,t,i){var r=e*i;var n=.5*e;r=Math.pow((1-r)/(1+r),n);return Math.tan(.5*(HALF_PI-t))/r}function phi2z(e,t){var i=.5*e;var r,n;var o=HALF_PI-2*Math.atan(t);for(var _=0;_<=15;_++){r=e*Math.sin(o);n=HALF_PI-2*Math.atan(t*Math.pow((1-r)/(1+r),i))-o;o+=n;if(Math.abs(n)<=1e-10){return o}}return-9999}function init$r(){var e=this.b/this.a;this.es=1-e*e;if(!("x0"in this)){this.x0=0}if(!("y0"in this)){this.y0=0}this.e=Math.sqrt(this.es);if(this.lat_ts){if(this.sphere){this.k0=Math.cos(this.lat_ts)}else{this.k0=msfnz(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))}}else{if(!this.k0){if(this.k){this.k0=this.k}else{this.k0=1}}}}function forward$q(e){var t=e.x;var i=e.y;if(i*R2D>90&&i*R2D<-90&&t*R2D>180&&t*R2D<-180){return null}var r,n;if(Math.abs(Math.abs(i)-HALF_PI)<=EPSLN){return null}else{if(this.sphere){r=this.x0+this.a*this.k0*adjust_lon(t-this.long0);n=this.y0+this.a*this.k0*Math.log(Math.tan(FORTPI+.5*i))}else{var o=Math.sin(i);var _=tsfnz(this.e,i,o);r=this.x0+this.a*this.k0*adjust_lon(t-this.long0);n=this.y0-this.a*this.k0*Math.log(_)}e.x=r;e.y=n;return e}}function inverse$q(e){var t=e.x-this.x0;var i=e.y-this.y0;var r,n;if(this.sphere){n=HALF_PI-2*Math.atan(Math.exp(-i/(this.a*this.k0)))}else{var o=Math.exp(-i/(this.a*this.k0));n=phi2z(this.e,o);if(n===-9999){return null}}r=adjust_lon(this.long0+t/(this.a*this.k0));e.x=r;e.y=n;return e}var names$s=["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"];var merc={init:init$r,forward:forward$q,inverse:inverse$q,names:names$s};function init$q(){}function identity(e){return e}var names$r=["longlat","identity"];var longlat={init:init$q,forward:identity,inverse:identity,names:names$r};var projs=[merc,longlat];var names$q={};var projStore=[];function add(e,t){var i=projStore.length;if(!e.names){console.log(t);return true}projStore[i]=e;e.names.forEach((function(e){names$q[e.toLowerCase()]=i}));return this}function get(e){if(!e){return false}var t=e.toLowerCase();if(typeof names$q[t]!=="undefined"&&projStore[names$q[t]]){return projStore[names$q[t]]}}function start(){projs.forEach(add)}var projections={start:start,add:add,get:get};var exports$1={};exports$1.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"};exports$1.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"};exports$1.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"};exports$1.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"};exports$1.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"};exports$1.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"};exports$1.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"};exports$1.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"};exports$1.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"};exports$1.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"};exports$1.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"};exports$1.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"};exports$1.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"};exports$1.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"};exports$1.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."};exports$1.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"};exports$1.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"};exports$1.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"};exports$1.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"};exports$1.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"};exports$1.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"};exports$1.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"};exports$1.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"};exports$1.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"};exports$1.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"};exports$1.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"};exports$1.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"};exports$1.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"};exports$1.hough={a:6378270,rf:297,ellipseName:"Hough"};exports$1.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"};exports$1.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"};exports$1.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"};exports$1.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"};exports$1.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"};exports$1.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"};exports$1.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"};exports$1.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"};exports$1.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"};exports$1.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"};exports$1.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"};exports$1.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var WGS84=exports$1.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};exports$1.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};function eccentricity(e,t,i,r){var n=e*e;var o=t*t;var _=(n-o)/n;var a=0;if(r){e*=1-_*(SIXTH+_*(RA4+_*RA6));n=e*e;_=0}else{a=Math.sqrt(_)}var s=(n-o)/o;return{es:_,e:a,ep2:s}}function sphere(e,t,i,r,n){if(!e){var o=match(exports$1,r);if(!o){o=WGS84}e=o.a;t=o.b;i=o.rf}if(i&&!t){t=(1-1/i)*e}if(i===0||Math.abs(e-t)<EPSLN){n=true;t=e}return{a:e,b:t,rf:i,sphere:n}}var exports={};exports.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"};exports.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"};exports.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"};exports.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"};exports.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"};exports.potsdam={towgs84:"606.0,23.0,413.0",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"};exports.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"};exports.hermannskogel={towgs84:"653.0,-212.0,449.0",ellipse:"bessel",datumName:"Hermannskogel"};exports.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"};exports.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"};exports.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"};exports.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"};exports.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"};exports.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"};exports.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"};exports.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"};exports.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};function datum(e,t,i,r,n,o){var _={};if(e===undefined||e==="none"){_.datum_type=PJD_NODATUM}else{_.datum_type=PJD_WGS84}if(t){_.datum_params=t.map(parseFloat);if(_.datum_params[0]!==0||_.datum_params[1]!==0||_.datum_params[2]!==0){_.datum_type=PJD_3PARAM}if(_.datum_params.length>3){if(_.datum_params[3]!==0||_.datum_params[4]!==0||_.datum_params[5]!==0||_.datum_params[6]!==0){_.datum_type=PJD_7PARAM;_.datum_params[3]*=SEC_TO_RAD;_.datum_params[4]*=SEC_TO_RAD;_.datum_params[5]*=SEC_TO_RAD;_.datum_params[6]=_.datum_params[6]/1e6+1}}}_.a=i;_.b=r;_.es=n;_.ep2=o;return _}function Projection(e,t){if(!(this instanceof Projection)){return new Projection(e)}t=t||function(e){if(e){throw e}};var i=parse(e);if(typeof i!=="object"){t(e);return}var r=Projection.projections.get(i.projName);if(!r){t(e);return}if(i.datumCode&&i.datumCode!=="none"){var n=match(exports,i.datumCode);if(n){i.datum_params=n.towgs84?n.towgs84.split(","):null;i.ellps=n.ellipse;i.datumName=n.datumName?n.datumName:i.datumCode}}i.k0=i.k0||1;i.axis=i.axis||"enu";i.ellps=i.ellps||"wgs84";var o=sphere(i.a,i.b,i.rf,i.ellps,i.sphere);var _=eccentricity(o.a,o.b,o.rf,i.R_A);var a=i.datum||datum(i.datumCode,i.datum_params,o.a,o.b,_.es,_.ep2);extend$1(this,i);extend$1(this,r);this.a=o.a;this.b=o.b;this.rf=o.rf;this.sphere=o.sphere;this.es=_.es;this.e=_.e;this.ep2=_.ep2;this.datum=a;this.init();t(null,this)}Projection.projections=projections;Projection.projections.start();function compareDatums(e,t){if(e.datum_type!==t.datum_type){return false}else if(e.a!==t.a||Math.abs(e.es-t.es)>5e-11){return false}else if(e.datum_type===PJD_3PARAM){return e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]}else if(e.datum_type===PJD_7PARAM){return e.datum_params[0]===t.datum_params[0]&&e.datum_params[1]===t.datum_params[1]&&e.datum_params[2]===t.datum_params[2]&&e.datum_params[3]===t.datum_params[3]&&e.datum_params[4]===t.datum_params[4]&&e.datum_params[5]===t.datum_params[5]&&e.datum_params[6]===t.datum_params[6]}else{return true}}function geodeticToGeocentric(e,t,i){var r=e.x;var n=e.y;var o=e.z?e.z:0;var _;var a;var s;var l;if(n<-HALF_PI&&n>-1.001*HALF_PI){n=-HALF_PI}else if(n>HALF_PI&&n<1.001*HALF_PI){n=HALF_PI}else if(n<-HALF_PI||n>HALF_PI){return null}if(r>Math.PI){r-=2*Math.PI}a=Math.sin(n);l=Math.cos(n);s=a*a;_=i/Math.sqrt(1-t*s);return{x:(_+o)*l*Math.cos(r),y:(_+o)*l*Math.sin(r),z:(_*(1-t)+o)*a}}function geocentricToGeodetic(e,t,i,r){var n=1e-12;var o=n*n;var _=30;var a;var s;var l;var h;var u;var c;var f;var d;var p;var v;var g;var y;var m;var E=e.x;var x=e.y;var T=e.z?e.z:0;var R;var S;var C;a=Math.sqrt(E*E+x*x);s=Math.sqrt(E*E+x*x+T*T);if(a/i<n){R=0;if(s/i<n){S=HALF_PI;C=-r;return{x:e.x,y:e.y,z:e.z}}}else{R=Math.atan2(x,E)}l=T/s;h=a/s;u=1/Math.sqrt(1-t*(2-t)*h*h);d=h*(1-t)*u;p=l*u;m=0;do{m++;f=i/Math.sqrt(1-t*p*p);C=a*d+T*p-f*(1-t*p*p);c=t*f/(f+C);u=1/Math.sqrt(1-c*(2-c)*h*h);v=h*(1-c)*u;g=l*u;y=g*d-v*p;d=v;p=g}while(y*y>o&&m<_);S=Math.atan(g/Math.abs(v));return{x:R,y:S,z:C}}function geocentricToWgs84(e,t,i){if(t===PJD_3PARAM){return{x:e.x+i[0],y:e.y+i[1],z:e.z+i[2]}}else if(t===PJD_7PARAM){var r=i[0];var n=i[1];var o=i[2];var _=i[3];var a=i[4];var s=i[5];var l=i[6];return{x:l*(e.x-s*e.y+a*e.z)+r,y:l*(s*e.x+e.y-_*e.z)+n,z:l*(-a*e.x+_*e.y+e.z)+o}}}function geocentricFromWgs84(e,t,i){if(t===PJD_3PARAM){return{x:e.x-i[0],y:e.y-i[1],z:e.z-i[2]}}else if(t===PJD_7PARAM){var r=i[0];var n=i[1];var o=i[2];var _=i[3];var a=i[4];var s=i[5];var l=i[6];var h=(e.x-r)/l;var u=(e.y-n)/l;var c=(e.z-o)/l;return{x:h+s*u-a*c,y:-s*h+u+_*c,z:a*h-_*u+c}}}function checkParams(e){return e===PJD_3PARAM||e===PJD_7PARAM}function datum_transform(e,t,i){if(compareDatums(e,t)){return i}if(e.datum_type===PJD_NODATUM||t.datum_type===PJD_NODATUM){return i}if(e.es===t.es&&e.a===t.a&&!checkParams(e.datum_type)&&!checkParams(t.datum_type)){return i}i=geodeticToGeocentric(i,e.es,e.a);if(checkParams(e.datum_type)){i=geocentricToWgs84(i,e.datum_type,e.datum_params)}if(checkParams(t.datum_type)){i=geocentricFromWgs84(i,t.datum_type,t.datum_params)}return geocentricToGeodetic(i,t.es,t.a,t.b)}function adjust_axis(e,t,i){var r=i.x,n=i.y,o=i.z||0;var _,a,s;var l={};for(s=0;s<3;s++){if(t&&s===2&&i.z===undefined){continue}if(s===0){_=r;a="x"}else if(s===1){_=n;a="y"}else{_=o;a="z"}switch(e.axis[s]){case"e":l[a]=_;break;case"w":l[a]=-_;break;case"n":l[a]=_;break;case"s":l[a]=-_;break;case"u":if(i[a]!==undefined){l.z=_}break;case"d":if(i[a]!==undefined){l.z=-_}break;default:return null}}return l}function common(e){var t={x:e[0],y:e[1]};if(e.length>2){t.z=e[2]}if(e.length>3){t.m=e[3]}return t}function checkSanity(e){checkCoord(e.x);checkCoord(e.y)}function checkCoord(e){if(typeof Number.isFinite==="function"){if(Number.isFinite(e)){return}throw new TypeError("coordinates must be finite numbers")}if(typeof e!=="number"||e!==e||!isFinite(e)){throw new TypeError("coordinates must be finite numbers")}}function checkNotWGS(e,t){return(e.datum.datum_type===PJD_3PARAM||e.datum.datum_type===PJD_7PARAM)&&t.datumCode!=="WGS84"||(t.datum.datum_type===PJD_3PARAM||t.datum.datum_type===PJD_7PARAM)&&e.datumCode!=="WGS84"}function transform(e,t,i){var r;if(Array.isArray(i)){i=common(i)}checkSanity(i);if(e.datum&&t.datum&&checkNotWGS(e,t)){r=new Projection("WGS84");i=transform(e,r,i);e=r}if(e.axis!=="enu"){i=adjust_axis(e,false,i)}if(e.projName==="longlat"){i={x:i.x*D2R$1,y:i.y*D2R$1}}else{if(e.to_meter){i={x:i.x*e.to_meter,y:i.y*e.to_meter}}i=e.inverse(i)}if(e.from_greenwich){i.x+=e.from_greenwich}i=datum_transform(e.datum,t.datum,i);if(t.from_greenwich){i={x:i.x-t.from_greenwich,y:i.y}}if(t.projName==="longlat"){i={x:i.x*R2D,y:i.y*R2D}}else{i=t.forward(i);if(t.to_meter){i={x:i.x/t.to_meter,y:i.y/t.to_meter}}}if(t.axis!=="enu"){return adjust_axis(t,true,i)}return i}var wgs84=Projection("WGS84");function transformer(e,t,i){var r,n,o;if(Array.isArray(i)){r=transform(e,t,i);if(i.length===3){return[r.x,r.y,r.z]}else{return[r.x,r.y]}}else{n=transform(e,t,i);o=Object.keys(i);if(o.length===2){return n}o.forEach((function(e){if(e==="x"||e==="y"){return}n[e]=i[e]}));return n}}function checkProj(e){if(e instanceof Projection){return e}if(e.oProj){return e.oProj}return Projection(e)}function proj4(e,t,i){e=checkProj(e);var r=false;var n;if(typeof t==="undefined"){t=e;e=wgs84;r=true}else if(typeof t.x!=="undefined"||Array.isArray(t)){i=t;t=e;e=wgs84;r=true}t=checkProj(t);if(i){return transformer(e,t,i)}else{n={forward:function(i){return transformer(e,t,i)},inverse:function(i){return transformer(t,e,i)}};if(r){n.oProj=t}return n}}var NUM_100K_SETS=6;var SET_ORIGIN_COLUMN_LETTERS="AJSAJS";var SET_ORIGIN_ROW_LETTERS="AFAFAF";var A=65;var I=73;var O=79;var V=86;var Z=90;var mgrs={forward:forward$p,inverse:inverse$p,toPoint:toPoint};function forward$p(e,t){t=t||5;return encode(LLtoUTM({lat:e[1],lon:e[0]}),t)}function inverse$p(e){var t=UTMtoLL(decode(e.toUpperCase()));if(t.lat&&t.lon){return[t.lon,t.lat,t.lon,t.lat]}return[t.left,t.bottom,t.right,t.top]}function toPoint(e){var t=UTMtoLL(decode(e.toUpperCase()));if(t.lat&&t.lon){return[t.lon,t.lat]}return[(t.left+t.right)/2,(t.top+t.bottom)/2]}function degToRad(e){return e*(Math.PI/180)}function radToDeg(e){return 180*(e/Math.PI)}function LLtoUTM(e){var t=e.lat;var i=e.lon;var r=6378137;var n=.00669438;var o=.9996;var _;var a;var s,l,h,u,c;var f=degToRad(t);var d=degToRad(i);var p;var v;v=Math.floor((i+180)/6)+1;if(i===180){v=60}if(t>=56&&t<64&&i>=3&&i<12){v=32}if(t>=72&&t<84){if(i>=0&&i<9){v=31}else if(i>=9&&i<21){v=33}else if(i>=21&&i<33){v=35}else if(i>=33&&i<42){v=37}}_=(v-1)*6-180+3;p=degToRad(_);a=n/(1-n);s=r/Math.sqrt(1-n*Math.sin(f)*Math.sin(f));l=Math.tan(f)*Math.tan(f);h=a*Math.cos(f)*Math.cos(f);u=Math.cos(f)*(d-p);c=r*((1-n/4-3*n*n/64-5*n*n*n/256)*f-(3*n/8+3*n*n/32+45*n*n*n/1024)*Math.sin(2*f)+(15*n*n/256+45*n*n*n/1024)*Math.sin(4*f)-35*n*n*n/3072*Math.sin(6*f));var g=o*s*(u+(1-l+h)*u*u*u/6+(5-18*l+l*l+72*h-58*a)*u*u*u*u*u/120)+5e5;var y=o*(c+s*Math.tan(f)*(u*u/2+(5-l+9*h+4*h*h)*u*u*u*u/24+(61-58*l+l*l+600*h-330*a)*u*u*u*u*u*u/720));if(t<0){y+=1e7}return{northing:Math.round(y),easting:Math.round(g),zoneNumber:v,zoneLetter:getLetterDesignator(t)}}function UTMtoLL(e){var t=e.northing;var i=e.easting;var r=e.zoneLetter;var n=e.zoneNumber;if(n<0||n>60){return null}var o=.9996;var _=6378137;var a=.00669438;var s;var l=(1-Math.sqrt(1-a))/(1+Math.sqrt(1-a));var h,u,c,f,d,p;var v;var g,y;var m=i-5e5;var E=t;if(r<"N"){E-=1e7}v=(n-1)*6-180+3;s=a/(1-a);p=E/o;g=p/(_*(1-a/4-3*a*a/64-5*a*a*a/256));y=g+(3*l/2-27*l*l*l/32)*Math.sin(2*g)+(21*l*l/16-55*l*l*l*l/32)*Math.sin(4*g)+151*l*l*l/96*Math.sin(6*g);h=_/Math.sqrt(1-a*Math.sin(y)*Math.sin(y));u=Math.tan(y)*Math.tan(y);c=s*Math.cos(y)*Math.cos(y);f=_*(1-a)/Math.pow(1-a*Math.sin(y)*Math.sin(y),1.5);d=m/(h*o);var x=y-h*Math.tan(y)/f*(d*d/2-(5+3*u+10*c-4*c*c-9*s)*d*d*d*d/24+(61+90*u+298*c+45*u*u-252*s-3*c*c)*d*d*d*d*d*d/720);x=radToDeg(x);var T=(d-(1+2*u+c)*d*d*d/6+(5-2*c+28*u-3*c*c+8*s+24*u*u)*d*d*d*d*d/120)/Math.cos(y);T=v+radToDeg(T);var R;if(e.accuracy){var S=UTMtoLL({northing:e.northing+e.accuracy,easting:e.easting+e.accuracy,zoneLetter:e.zoneLetter,zoneNumber:e.zoneNumber});R={top:S.lat,right:S.lon,bottom:x,left:T}}else{R={lat:x,lon:T}}return R}function getLetterDesignator(e){var t="Z";if(84>=e&&e>=72){t="X"}else if(72>e&&e>=64){t="W"}else if(64>e&&e>=56){t="V"}else if(56>e&&e>=48){t="U"}else if(48>e&&e>=40){t="T"}else if(40>e&&e>=32){t="S"}else if(32>e&&e>=24){t="R"}else if(24>e&&e>=16){t="Q"}else if(16>e&&e>=8){t="P"}else if(8>e&&e>=0){t="N"}else if(0>e&&e>=-8){t="M"}else if(-8>e&&e>=-16){t="L"}else if(-16>e&&e>=-24){t="K"}else if(-24>e&&e>=-32){t="J"}else if(-32>e&&e>=-40){t="H"}else if(-40>e&&e>=-48){t="G"}else if(-48>e&&e>=-56){t="F"}else if(-56>e&&e>=-64){t="E"}else if(-64>e&&e>=-72){t="D"}else if(-72>e&&e>=-80){t="C"}return t}function encode(e,t){var i="00000"+e.easting,r="00000"+e.northing;return e.zoneNumber+e.zoneLetter+get100kID(e.easting,e.northing,e.zoneNumber)+i.substr(i.length-5,t)+r.substr(r.length-5,t)}function get100kID(e,t,i){var r=get100kSetForZone(i);var n=Math.floor(e/1e5);var o=Math.floor(t/1e5)%20;return getLetter100kID(n,o,r)}function get100kSetForZone(e){var t=e%NUM_100K_SETS;if(t===0){t=NUM_100K_SETS}return t}function getLetter100kID(e,t,i){var r=i-1;var n=SET_ORIGIN_COLUMN_LETTERS.charCodeAt(r);var o=SET_ORIGIN_ROW_LETTERS.charCodeAt(r);var _=n+e-1;var a=o+t;var s=false;if(_>Z){_=_-Z+A-1;s=true}if(_===I||n<I&&_>I||(_>I||n<I)&&s){_++}if(_===O||n<O&&_>O||(_>O||n<O)&&s){_++;if(_===I){_++}}if(_>Z){_=_-Z+A-1}if(a>V){a=a-V+A-1;s=true}else{s=false}if(a===I||o<I&&a>I||(a>I||o<I)&&s){a++}if(a===O||o<O&&a>O||(a>O||o<O)&&s){a++;if(a===I){a++}}if(a>V){a=a-V+A-1}var l=String.fromCharCode(_)+String.fromCharCode(a);return l}function decode(e){if(e&&e.length===0){throw"MGRSPoint coverting from nothing"}var t=e.length;var i=null;var r="";var n;var o=0;while(!/[A-Z]/.test(n=e.charAt(o))){if(o>=2){throw"MGRSPoint bad conversion from: "+e}r+=n;o++}var _=parseInt(r,10);if(o===0||o+3>t){throw"MGRSPoint bad conversion from: "+e}var a=e.charAt(o++);if(a<="A"||a==="B"||a==="Y"||a>="Z"||a==="I"||a==="O"){throw"MGRSPoint zone letter "+a+" not handled: "+e}i=e.substring(o,o+=2);var s=get100kSetForZone(_);var l=getEastingFromChar(i.charAt(0),s);var h=getNorthingFromChar(i.charAt(1),s);while(h<getMinNorthing(a)){h+=2e6}var u=t-o;if(u%2!==0){throw"MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+e}var c=u/2;var f=0;var d=0;var p,v,g,y,m;if(c>0){p=1e5/Math.pow(10,c);v=e.substring(o,o+c);f=parseFloat(v)*p;g=e.substring(o+c);d=parseFloat(g)*p}y=f+l;m=d+h;return{easting:y,northing:m,zoneLetter:a,zoneNumber:_,accuracy:p}}function getEastingFromChar(e,t){var i=SET_ORIGIN_COLUMN_LETTERS.charCodeAt(t-1);var r=1e5;var n=false;while(i!==e.charCodeAt(0)){i++;if(i===I){i++}if(i===O){i++}if(i>Z){if(n){throw"Bad character: "+e}i=A;n=true}r+=1e5}return r}function getNorthingFromChar(e,t){if(e>"V"){throw"MGRSPoint given invalid Northing "+e}var i=SET_ORIGIN_ROW_LETTERS.charCodeAt(t-1);var r=0;var n=false;while(i!==e.charCodeAt(0)){i++;if(i===I){i++}if(i===O){i++}if(i>V){if(n){throw"Bad character: "+e}i=A;n=true}r+=1e5}return r}function getMinNorthing(e){var t;switch(e){case"C":t=11e5;break;case"D":t=2e6;break;case"E":t=28e5;break;case"F":t=37e5;break;case"G":t=46e5;break;case"H":t=55e5;break;case"J":t=64e5;break;case"K":t=73e5;break;case"L":t=82e5;break;case"M":t=91e5;break;case"N":t=0;break;case"P":t=8e5;break;case"Q":t=17e5;break;case"R":t=26e5;break;case"S":t=35e5;break;case"T":t=44e5;break;case"U":t=53e5;break;case"V":t=62e5;break;case"W":t=7e6;break;case"X":t=79e5;break;default:t=-1}if(t>=0){return t}else{throw"Invalid zone letter: "+e}}function Point(e,t,i){if(!(this instanceof Point)){return new Point(e,t,i)}if(Array.isArray(e)){this.x=e[0];this.y=e[1];this.z=e[2]||0}else if(typeof e==="object"){this.x=e.x;this.y=e.y;this.z=e.z||0}else if(typeof e==="string"&&typeof t==="undefined"){var r=e.split(",");this.x=parseFloat(r[0],10);this.y=parseFloat(r[1],10);this.z=parseFloat(r[2],10)||0}else{this.x=e;this.y=t;this.z=i||0}console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}Point.fromMGRS=function(e){return new Point(toPoint(e))};Point.prototype.toMGRS=function(e){return forward$p([this.x,this.y],e)};var version="2.4.4";var C00=1;var C02=.25;var C04=.046875;var C06=.01953125;var C08=.01068115234375;var C22=.75;var C44=.46875;var C46=.013020833333333334;var C48=.007120768229166667;var C66=.3645833333333333;var C68=.005696614583333333;var C88=.3076171875;function pj_enfn(e){var t=[];t[0]=C00-e*(C02+e*(C04+e*(C06+e*C08)));t[1]=e*(C22-e*(C04+e*(C06+e*C08)));var i=e*e;t[2]=i*(C44-e*(C46+e*C48));i*=e;t[3]=i*(C66-e*C68);t[4]=i*e*C88;return t}function pj_mlfn(e,t,i,r){i*=t;t*=t;return r[0]*e-i*(r[1]+t*(r[2]+t*(r[3]+t*r[4])))}var MAX_ITER$3=20;function pj_inv_mlfn(e,t,i){var r=1/(1-t);var n=e;for(var o=MAX_ITER$3;o;--o){var _=Math.sin(n);var a=1-t*_*_;a=(pj_mlfn(n,_,Math.cos(n),i)-e)*(a*Math.sqrt(a))*r;n-=a;if(Math.abs(a)<EPSLN){return n}}return n}function init$p(){this.x0=this.x0!==undefined?this.x0:0;this.y0=this.y0!==undefined?this.y0:0;this.long0=this.long0!==undefined?this.long0:0;this.lat0=this.lat0!==undefined?this.lat0:0;if(this.es){this.en=pj_enfn(this.es);this.ml0=pj_mlfn(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en)}}function forward$o(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n;var o,_;var a=Math.sin(i);var s=Math.cos(i);if(!this.es){var l=s*Math.sin(r);if(Math.abs(Math.abs(l)-1)<EPSLN){return 93}else{o=.5*this.a*this.k0*Math.log((1+l)/(1-l))+this.x0;_=s*Math.cos(r)/Math.sqrt(1-Math.pow(l,2));l=Math.abs(_);if(l>=1){if(l-1>EPSLN){return 93}else{_=0}}else{_=Math.acos(_)}if(i<0){_=-_}_=this.a*this.k0*(_-this.lat0)+this.y0}}else{var h=s*r;var u=Math.pow(h,2);var c=this.ep2*Math.pow(s,2);var f=Math.pow(c,2);var d=Math.abs(s)>EPSLN?Math.tan(i):0;var p=Math.pow(d,2);var v=Math.pow(p,2);n=1-this.es*Math.pow(a,2);h=h/Math.sqrt(n);var g=pj_mlfn(i,a,s,this.en);o=this.a*(this.k0*h*(1+u/6*(1-p+c+u/20*(5-18*p+v+14*c-58*p*c+u/42*(61+179*v-v*p-479*p)))))+this.x0;_=this.a*(this.k0*(g-this.ml0+a*r*h/2*(1+u/12*(5-p+9*c+4*f+u/30*(61+v-58*p+270*c-330*p*c+u/56*(1385+543*v-v*p-3111*p))))))+this.y0}e.x=o;e.y=_;return e}function inverse$o(e){var t,i;var r,n;var o=(e.x-this.x0)*(1/this.a);var _=(e.y-this.y0)*(1/this.a);if(!this.es){var a=Math.exp(o/this.k0);var s=.5*(a-1/a);var l=this.lat0+_/this.k0;var h=Math.cos(l);t=Math.sqrt((1-Math.pow(h,2))/(1+Math.pow(s,2)));r=Math.asin(t);if(_<0){r=-r}if(s===0&&h===0){n=0}else{n=adjust_lon(Math.atan2(s,h)+this.long0)}}else{t=this.ml0+_/this.k0;i=pj_inv_mlfn(t,this.es,this.en);if(Math.abs(i)<HALF_PI){var u=Math.sin(i);var c=Math.cos(i);var f=Math.abs(c)>EPSLN?Math.tan(i):0;var d=this.ep2*Math.pow(c,2);var p=Math.pow(d,2);var v=Math.pow(f,2);var g=Math.pow(v,2);t=1-this.es*Math.pow(u,2);var y=o*Math.sqrt(t)/this.k0;var m=Math.pow(y,2);t=t*f;r=i-t*m/(1-this.es)*.5*(1-m/12*(5+3*v-9*d*v+d-4*p-m/30*(61+90*v-252*d*v+45*g+46*d-m/56*(1385+3633*v+4095*g+1574*g*v))));n=adjust_lon(this.long0+y*(1-m/6*(1+2*v+d-m/20*(5+28*v+24*g+8*d*v+6*d-m/42*(61+662*v+1320*g+720*g*v))))/c)}else{r=HALF_PI*sign(_);n=0}}e.x=n;e.y=r;return e}var names$p=["Transverse_Mercator","Transverse Mercator","tmerc"];var tmerc={init:init$p,forward:forward$o,inverse:inverse$o,names:names$p};function sinh(e){var t=Math.exp(e);t=(t-1/t)/2;return t}function hypot(e,t){e=Math.abs(e);t=Math.abs(t);var i=Math.max(e,t);var r=Math.min(e,t)/(i?i:1);return i*Math.sqrt(1+Math.pow(r,2))}function log1py(e){var t=1+e;var i=t-1;return i===0?e:e*Math.log(t)/i}function asinhy(e){var t=Math.abs(e);t=log1py(t*(1+t/(hypot(1,t)+1)));return e<0?-t:t}function gatg(e,t){var i=2*Math.cos(2*t);var r=e.length-1;var n=e[r];var o=0;var _;while(--r>=0){_=-o+i*n+e[r];o=n;n=_}return t+_*Math.sin(2*t)}function clens(e,t){var i=2*Math.cos(t);var r=e.length-1;var n=e[r];var o=0;var _;while(--r>=0){_=-o+i*n+e[r];o=n;n=_}return Math.sin(t)*_}function cosh(e){var t=Math.exp(e);t=(t+1/t)/2;return t}function clens_cmplx(e,t,i){var r=Math.sin(t);var n=Math.cos(t);var o=sinh(i);var _=cosh(i);var a=2*n*_;var s=-2*r*o;var l=e.length-1;var h=e[l];var u=0;var c=0;var f=0;var d;var p;while(--l>=0){d=c;p=u;c=h;u=f;h=-d+a*c-s*u+e[l];f=-p+s*c+a*u}a=r*_;s=n*o;return[a*h-s*f,a*f+s*h]}function init$o(){if(this.es===undefined||this.es<=0){throw new Error("incorrect elliptical usage")}this.x0=this.x0!==undefined?this.x0:0;this.y0=this.y0!==undefined?this.y0:0;this.long0=this.long0!==undefined?this.long0:0;this.lat0=this.lat0!==undefined?this.lat0:0;this.cgb=[];this.cbg=[];this.utg=[];this.gtu=[];var e=this.es/(1+Math.sqrt(1-this.es));var t=e/(2-e);var i=t;this.cgb[0]=t*(2+t*(-2/3+t*(-2+t*(116/45+t*(26/45+t*(-2854/675))))));this.cbg[0]=t*(-2+t*(2/3+t*(4/3+t*(-82/45+t*(32/45+t*(4642/4725))))));i=i*t;this.cgb[1]=i*(7/3+t*(-8/5+t*(-227/45+t*(2704/315+t*(2323/945)))));this.cbg[1]=i*(5/3+t*(-16/15+t*(-13/9+t*(904/315+t*(-1522/945)))));i=i*t;this.cgb[2]=i*(56/15+t*(-136/35+t*(-1262/105+t*(73814/2835))));this.cbg[2]=i*(-26/15+t*(34/21+t*(8/5+t*(-12686/2835))));i=i*t;this.cgb[3]=i*(4279/630+t*(-332/35+t*(-399572/14175)));this.cbg[3]=i*(1237/630+t*(-12/5+t*(-24832/14175)));i=i*t;this.cgb[4]=i*(4174/315+t*(-144838/6237));this.cbg[4]=i*(-734/315+t*(109598/31185));i=i*t;this.cgb[5]=i*(601676/22275);this.cbg[5]=i*(444337/155925);i=Math.pow(t,2);this.Qn=this.k0/(1+t)*(1+i*(1/4+i*(1/64+i/256)));this.utg[0]=t*(-.5+t*(2/3+t*(-37/96+t*(1/360+t*(81/512+t*(-96199/604800))))));this.gtu[0]=t*(.5+t*(-2/3+t*(5/16+t*(41/180+t*(-127/288+t*(7891/37800))))));this.utg[1]=i*(-1/48+t*(-1/15+t*(437/1440+t*(-46/105+t*(1118711/3870720)))));this.gtu[1]=i*(13/48+t*(-3/5+t*(557/1440+t*(281/630+t*(-1983433/1935360)))));i=i*t;this.utg[2]=i*(-17/480+t*(37/840+t*(209/4480+t*(-5569/90720))));this.gtu[2]=i*(61/240+t*(-103/140+t*(15061/26880+t*(167603/181440))));i=i*t;this.utg[3]=i*(-4397/161280+t*(11/504+t*(830251/7257600)));this.gtu[3]=i*(49561/161280+t*(-179/168+t*(6601661/7257600)));i=i*t;this.utg[4]=i*(-4583/161280+t*(108847/3991680));this.gtu[4]=i*(34729/80640+t*(-3418889/1995840));i=i*t;this.utg[5]=i*(-20648693/638668800);this.gtu[5]=i*(212378941/319334400);var r=gatg(this.cbg,this.lat0);this.Zb=-this.Qn*(r+clens(this.gtu,2*r))}function forward$n(e){var t=adjust_lon(e.x-this.long0);var i=e.y;i=gatg(this.cbg,i);var r=Math.sin(i);var n=Math.cos(i);var o=Math.sin(t);var _=Math.cos(t);i=Math.atan2(r,_*n);t=Math.atan2(o*n,hypot(r,n*_));t=asinhy(Math.tan(t));var a=clens_cmplx(this.gtu,2*i,2*t);i=i+a[0];t=t+a[1];var s;var l;if(Math.abs(t)<=2.623395162778){s=this.a*(this.Qn*t)+this.x0;l=this.a*(this.Qn*i+this.Zb)+this.y0}else{s=Infinity;l=Infinity}e.x=s;e.y=l;return e}function inverse$n(e){var t=(e.x-this.x0)*(1/this.a);var i=(e.y-this.y0)*(1/this.a);i=(i-this.Zb)/this.Qn;t=t/this.Qn;var r;var n;if(Math.abs(t)<=2.623395162778){var o=clens_cmplx(this.utg,2*i,2*t);i=i+o[0];t=t+o[1];t=Math.atan(sinh(t));var _=Math.sin(i);var a=Math.cos(i);var s=Math.sin(t);var l=Math.cos(t);i=Math.atan2(_*l,hypot(s,l*a));t=Math.atan2(s,l*a);r=adjust_lon(t+this.long0);n=gatg(this.cgb,i)}else{r=Infinity;n=Infinity}e.x=r;e.y=n;return e}var names$o=["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc"];var etmerc={init:init$o,forward:forward$n,inverse:inverse$n,names:names$o};function adjust_zone(e,t){if(e===undefined){e=Math.floor((adjust_lon(t)+Math.PI)*30/Math.PI)+1;if(e<0){return 0}else if(e>60){return 60}}return e}var dependsOn="etmerc";function init$n(){var e=adjust_zone(this.zone,this.long0);if(e===undefined){throw new Error("unknown utm zone")}this.lat0=0;this.long0=(6*Math.abs(e)-183)*D2R$1;this.x0=5e5;this.y0=this.utmSouth?1e7:0;this.k0=.9996;etmerc.init.apply(this);this.forward=etmerc.forward;this.inverse=etmerc.inverse}var names$n=["Universal Transverse Mercator System","utm"];var utm={init:init$n,names:names$n,dependsOn:dependsOn};function srat(e,t){return Math.pow((1-e)/(1+e),t)}var MAX_ITER$2=20;function init$m(){var e=Math.sin(this.lat0);var t=Math.cos(this.lat0);t*=t;this.rc=Math.sqrt(1-this.es)/(1-this.es*e*e);this.C=Math.sqrt(1+this.es*t*t/(1-this.es));this.phic0=Math.asin(e/this.C);this.ratexp=.5*this.C*this.e;this.K=Math.tan(.5*this.phic0+FORTPI)/(Math.pow(Math.tan(.5*this.lat0+FORTPI),this.C)*srat(this.e*e,this.ratexp))}function forward$m(e){var t=e.x;var i=e.y;e.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*i+FORTPI),this.C)*srat(this.e*Math.sin(i),this.ratexp))-HALF_PI;e.x=this.C*t;return e}function inverse$m(e){var t=1e-14;var i=e.x/this.C;var r=e.y;var n=Math.pow(Math.tan(.5*r+FORTPI)/this.K,1/this.C);for(var o=MAX_ITER$2;o>0;--o){r=2*Math.atan(n*srat(this.e*Math.sin(e.y),-.5*this.e))-HALF_PI;if(Math.abs(r-e.y)<t){break}e.y=r}if(!o){return null}e.x=i;e.y=r;return e}var names$m=["gauss"];var gauss={init:init$m,forward:forward$m,inverse:inverse$m,names:names$m};function init$l(){gauss.init.apply(this);if(!this.rc){return}this.sinc0=Math.sin(this.phic0);this.cosc0=Math.cos(this.phic0);this.R2=2*this.rc;if(!this.title){this.title="Oblique Stereographic Alternative"}}function forward$l(e){var t,i,r,n;e.x=adjust_lon(e.x-this.long0);gauss.forward.apply(this,[e]);t=Math.sin(e.y);i=Math.cos(e.y);r=Math.cos(e.x);n=this.k0*this.R2/(1+this.sinc0*t+this.cosc0*i*r);e.x=n*i*Math.sin(e.x);e.y=n*(this.cosc0*t-this.sinc0*i*r);e.x=this.a*e.x+this.x0;e.y=this.a*e.y+this.y0;return e}function inverse$l(e){var t,i,r,n,o;e.x=(e.x-this.x0)/this.a;e.y=(e.y-this.y0)/this.a;e.x/=this.k0;e.y/=this.k0;if(o=Math.sqrt(e.x*e.x+e.y*e.y)){var _=2*Math.atan2(o,this.R2);t=Math.sin(_);i=Math.cos(_);n=Math.asin(i*this.sinc0+e.y*t*this.cosc0/o);r=Math.atan2(e.x*t,o*this.cosc0*i-e.y*this.sinc0*t)}else{n=this.phic0;r=0}e.x=r;e.y=n;gauss.inverse.apply(this,[e]);e.x=adjust_lon(e.x+this.long0);return e}var names$l=["Stereographic_North_Pole","Oblique_Stereographic","Polar_Stereographic","sterea","Oblique Stereographic Alternative"];var sterea={init:init$l,forward:forward$l,inverse:inverse$l,names:names$l};function ssfn_(e,t,i){t*=i;return Math.tan(.5*(HALF_PI+e))*Math.pow((1-t)/(1+t),.5*i)}function init$k(){this.coslat0=Math.cos(this.lat0);this.sinlat0=Math.sin(this.lat0);if(this.sphere){if(this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=EPSLN){this.k0=.5*(1+sign(this.lat0)*Math.sin(this.lat_ts))}}else{if(Math.abs(this.coslat0)<=EPSLN){if(this.lat0>0){this.con=1}else{this.con=-1}}this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e));if(this.k0===1&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=EPSLN){this.k0=.5*this.cons*msfnz(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/tsfnz(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))}this.ms1=msfnz(this.e,this.sinlat0,this.coslat0);this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-HALF_PI;this.cosX0=Math.cos(this.X0);this.sinX0=Math.sin(this.X0)}}function forward$k(e){var t=e.x;var i=e.y;var r=Math.sin(i);var n=Math.cos(i);var o,_,a,s,l,h;var u=adjust_lon(t-this.long0);if(Math.abs(Math.abs(t-this.long0)-Math.PI)<=EPSLN&&Math.abs(i+this.lat0)<=EPSLN){e.x=NaN;e.y=NaN;return e}if(this.sphere){o=2*this.k0/(1+this.sinlat0*r+this.coslat0*n*Math.cos(u));e.x=this.a*o*n*Math.sin(u)+this.x0;e.y=this.a*o*(this.coslat0*r-this.sinlat0*n*Math.cos(u))+this.y0;return e}else{_=2*Math.atan(this.ssfn_(i,r,this.e))-HALF_PI;s=Math.cos(_);a=Math.sin(_);if(Math.abs(this.coslat0)<=EPSLN){l=tsfnz(this.e,i*this.con,this.con*r);h=2*this.a*this.k0*l/this.cons;e.x=this.x0+h*Math.sin(t-this.long0);e.y=this.y0-this.con*h*Math.cos(t-this.long0);return e}else if(Math.abs(this.sinlat0)<EPSLN){o=2*this.a*this.k0/(1+s*Math.cos(u));e.y=o*a}else{o=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*a+this.cosX0*s*Math.cos(u)));e.y=o*(this.cosX0*a-this.sinX0*s*Math.cos(u))+this.y0}e.x=o*s*Math.sin(u)+this.x0}return e}function inverse$k(e){e.x-=this.x0;e.y-=this.y0;var t,i,r,n,o;var _=Math.sqrt(e.x*e.x+e.y*e.y);if(this.sphere){var a=2*Math.atan(_/(.5*this.a*this.k0));t=this.long0;i=this.lat0;if(_<=EPSLN){e.x=t;e.y=i;return e}i=Math.asin(Math.cos(a)*this.sinlat0+e.y*Math.sin(a)*this.coslat0/_);if(Math.abs(this.coslat0)<EPSLN){if(this.lat0>0){t=adjust_lon(this.long0+Math.atan2(e.x,-1*e.y))}else{t=adjust_lon(this.long0+Math.atan2(e.x,e.y))}}else{t=adjust_lon(this.long0+Math.atan2(e.x*Math.sin(a),_*this.coslat0*Math.cos(a)-e.y*this.sinlat0*Math.sin(a)))}e.x=t;e.y=i;return e}else{if(Math.abs(this.coslat0)<=EPSLN){if(_<=EPSLN){i=this.lat0;t=this.long0;e.x=t;e.y=i;return e}e.x*=this.con;e.y*=this.con;r=_*this.cons/(2*this.a*this.k0);i=this.con*phi2z(this.e,r);t=this.con*adjust_lon(this.con*this.long0+Math.atan2(e.x,-1*e.y))}else{n=2*Math.atan(_*this.cosX0/(2*this.a*this.k0*this.ms1));t=this.long0;if(_<=EPSLN){o=this.X0}else{o=Math.asin(Math.cos(n)*this.sinX0+e.y*Math.sin(n)*this.cosX0/_);t=adjust_lon(this.long0+Math.atan2(e.x*Math.sin(n),_*this.cosX0*Math.cos(n)-e.y*this.sinX0*Math.sin(n)))}i=-1*phi2z(this.e,Math.tan(.5*(HALF_PI+o)))}}e.x=t;e.y=i;return e}var names$k=["stere","Stereographic_South_Pole","Polar Stereographic (variant B)"];var stere={init:init$k,forward:forward$k,inverse:inverse$k,names:names$k,ssfn_:ssfn_};function init$j(){var e=this.lat0;this.lambda0=this.long0;var t=Math.sin(e);var i=this.a;var r=this.rf;var n=1/r;var o=2*n-Math.pow(n,2);var _=this.e=Math.sqrt(o);this.R=this.k0*i*Math.sqrt(1-o)/(1-o*Math.pow(t,2));this.alpha=Math.sqrt(1+o/(1-o)*Math.pow(Math.cos(e),4));this.b0=Math.asin(t/this.alpha);var a=Math.log(Math.tan(Math.PI/4+this.b0/2));var s=Math.log(Math.tan(Math.PI/4+e/2));var l=Math.log((1+_*t)/(1-_*t));this.K=a-this.alpha*s+this.alpha*_/2*l}function forward$j(e){var t=Math.log(Math.tan(Math.PI/4-e.y/2));var i=this.e/2*Math.log((1+this.e*Math.sin(e.y))/(1-this.e*Math.sin(e.y)));var r=-this.alpha*(t+i)+this.K;var n=2*(Math.atan(Math.exp(r))-Math.PI/4);var o=this.alpha*(e.x-this.lambda0);var _=Math.atan(Math.sin(o)/(Math.sin(this.b0)*Math.tan(n)+Math.cos(this.b0)*Math.cos(o)));var a=Math.asin(Math.cos(this.b0)*Math.sin(n)-Math.sin(this.b0)*Math.cos(n)*Math.cos(o));e.y=this.R/2*Math.log((1+Math.sin(a))/(1-Math.sin(a)))+this.y0;e.x=this.R*_+this.x0;return e}function inverse$j(e){var t=e.x-this.x0;var i=e.y-this.y0;var r=t/this.R;var n=2*(Math.atan(Math.exp(i/this.R))-Math.PI/4);var o=Math.asin(Math.cos(this.b0)*Math.sin(n)+Math.sin(this.b0)*Math.cos(n)*Math.cos(r));var _=Math.atan(Math.sin(r)/(Math.cos(this.b0)*Math.cos(r)-Math.sin(this.b0)*Math.tan(n)));var a=this.lambda0+_/this.alpha;var s=0;var l=o;var h=-1e3;var u=0;while(Math.abs(l-h)>1e-7){if(++u>20){return}s=1/this.alpha*(Math.log(Math.tan(Math.PI/4+o/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2));h=l;l=2*Math.atan(Math.exp(s))-Math.PI/2}e.x=a;e.y=l;return e}var names$j=["somerc"];var somerc={init:init$j,forward:forward$j,inverse:inverse$j,names:names$j};function init$i(){this.no_off=this.no_off||false;this.no_rot=this.no_rot||false;if(isNaN(this.k0)){this.k0=1}var e=Math.sin(this.lat0);var t=Math.cos(this.lat0);var i=this.e*e;this.bl=Math.sqrt(1+this.es/(1-this.es)*Math.pow(t,4));this.al=this.a*this.bl*this.k0*Math.sqrt(1-this.es)/(1-i*i);var r=tsfnz(this.e,this.lat0,e);var n=this.bl/t*Math.sqrt((1-this.es)/(1-i*i));if(n*n<1){n=1}var o;var _;if(!isNaN(this.longc)){if(this.lat0>=0){o=n+Math.sqrt(n*n-1)}else{o=n-Math.sqrt(n*n-1)}this.el=o*Math.pow(r,this.bl);_=.5*(o-1/o);this.gamma0=Math.asin(Math.sin(this.alpha)/n);this.long0=this.longc-Math.asin(_*Math.tan(this.gamma0))/this.bl}else{var a=tsfnz(this.e,this.lat1,Math.sin(this.lat1));var s=tsfnz(this.e,this.lat2,Math.sin(this.lat2));if(this.lat0>=0){this.el=(n+Math.sqrt(n*n-1))*Math.pow(r,this.bl)}else{this.el=(n-Math.sqrt(n*n-1))*Math.pow(r,this.bl)}var l=Math.pow(a,this.bl);var h=Math.pow(s,this.bl);o=this.el/l;_=.5*(o-1/o);var u=(this.el*this.el-h*l)/(this.el*this.el+h*l);var c=(h-l)/(h+l);var f=adjust_lon(this.long1-this.long2);this.long0=.5*(this.long1+this.long2)-Math.atan(u*Math.tan(.5*this.bl*f)/c)/this.bl;this.long0=adjust_lon(this.long0);var d=adjust_lon(this.long1-this.long0);this.gamma0=Math.atan(Math.sin(this.bl*d)/_);this.alpha=Math.asin(n*Math.sin(this.gamma0))}if(this.no_off){this.uc=0}else{if(this.lat0>=0){this.uc=this.al/this.bl*Math.atan2(Math.sqrt(n*n-1),Math.cos(this.alpha))}else{this.uc=-1*this.al/this.bl*Math.atan2(Math.sqrt(n*n-1),Math.cos(this.alpha))}}}function forward$i(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n,o;var _;if(Math.abs(Math.abs(i)-HALF_PI)<=EPSLN){if(i>0){_=-1}else{_=1}o=this.al/this.bl*Math.log(Math.tan(FORTPI+_*this.gamma0*.5));n=-1*_*HALF_PI*this.al/this.bl}else{var a=tsfnz(this.e,i,Math.sin(i));var s=this.el/Math.pow(a,this.bl);var l=.5*(s-1/s);var h=.5*(s+1/s);var u=Math.sin(this.bl*r);var c=(l*Math.sin(this.gamma0)-u*Math.cos(this.gamma0))/h;if(Math.abs(Math.abs(c)-1)<=EPSLN){o=Number.POSITIVE_INFINITY}else{o=.5*this.al*Math.log((1-c)/(1+c))/this.bl}if(Math.abs(Math.cos(this.bl*r))<=EPSLN){n=this.al*this.bl*r}else{n=this.al*Math.atan2(l*Math.cos(this.gamma0)+u*Math.sin(this.gamma0),Math.cos(this.bl*r))/this.bl}}if(this.no_rot){e.x=this.x0+n;e.y=this.y0+o}else{n-=this.uc;e.x=this.x0+o*Math.cos(this.alpha)+n*Math.sin(this.alpha);e.y=this.y0+n*Math.cos(this.alpha)-o*Math.sin(this.alpha)}return e}function inverse$i(e){var t,i;if(this.no_rot){i=e.y-this.y0;t=e.x-this.x0}else{i=(e.x-this.x0)*Math.cos(this.alpha)-(e.y-this.y0)*Math.sin(this.alpha);t=(e.y-this.y0)*Math.cos(this.alpha)+(e.x-this.x0)*Math.sin(this.alpha);t+=this.uc}var r=Math.exp(-1*this.bl*i/this.al);var n=.5*(r-1/r);var o=.5*(r+1/r);var _=Math.sin(this.bl*t/this.al);var a=(_*Math.cos(this.gamma0)+n*Math.sin(this.gamma0))/o;var s=Math.pow(this.el/Math.sqrt((1+a)/(1-a)),1/this.bl);if(Math.abs(a-1)<EPSLN){e.x=this.long0;e.y=HALF_PI}else if(Math.abs(a+1)<EPSLN){e.x=this.long0;e.y=-1*HALF_PI}else{e.y=phi2z(this.e,s);e.x=adjust_lon(this.long0-Math.atan2(n*Math.cos(this.gamma0)-_*Math.sin(this.gamma0),Math.cos(this.bl*t/this.al))/this.bl)}return e}var names$i=["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","omerc"];var omerc={init:init$i,forward:forward$i,inverse:inverse$i,names:names$i};function init$h(){if(!this.lat2){this.lat2=this.lat1}if(!this.k0){this.k0=1}this.x0=this.x0||0;this.y0=this.y0||0;if(Math.abs(this.lat1+this.lat2)<EPSLN){return}var e=this.b/this.a;this.e=Math.sqrt(1-e*e);var t=Math.sin(this.lat1);var i=Math.cos(this.lat1);var r=msfnz(this.e,t,i);var n=tsfnz(this.e,this.lat1,t);var o=Math.sin(this.lat2);var _=Math.cos(this.lat2);var a=msfnz(this.e,o,_);var s=tsfnz(this.e,this.lat2,o);var l=tsfnz(this.e,this.lat0,Math.sin(this.lat0));if(Math.abs(this.lat1-this.lat2)>EPSLN){this.ns=Math.log(r/a)/Math.log(n/s)}else{this.ns=t}if(isNaN(this.ns)){this.ns=t}this.f0=r/(this.ns*Math.pow(n,this.ns));this.rh=this.a*this.f0*Math.pow(l,this.ns);if(!this.title){this.title="Lambert Conformal Conic"}}function forward$h(e){var t=e.x;var i=e.y;if(Math.abs(2*Math.abs(i)-Math.PI)<=EPSLN){i=sign(i)*(HALF_PI-2*EPSLN)}var r=Math.abs(Math.abs(i)-HALF_PI);var n,o;if(r>EPSLN){n=tsfnz(this.e,i,Math.sin(i));o=this.a*this.f0*Math.pow(n,this.ns)}else{r=i*this.ns;if(r<=0){return null}o=0}var _=this.ns*adjust_lon(t-this.long0);e.x=this.k0*(o*Math.sin(_))+this.x0;e.y=this.k0*(this.rh-o*Math.cos(_))+this.y0;return e}function inverse$h(e){var t,i,r;var n,o;var _=(e.x-this.x0)/this.k0;var a=this.rh-(e.y-this.y0)/this.k0;if(this.ns>0){t=Math.sqrt(_*_+a*a);i=1}else{t=-Math.sqrt(_*_+a*a);i=-1}var s=0;if(t!==0){s=Math.atan2(i*_,i*a)}if(t!==0||this.ns>0){i=1/this.ns;r=Math.pow(t/(this.a*this.f0),i);n=phi2z(this.e,r);if(n===-9999){return null}}else{n=-HALF_PI}o=adjust_lon(s/this.ns+this.long0);e.x=o;e.y=n;return e}var names$h=["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_2SP","lcc"];var lcc={init:init$h,forward:forward$h,inverse:inverse$h,names:names$h};function init$g(){this.a=6377397.155;this.es=.006674372230614;this.e=Math.sqrt(this.es);if(!this.lat0){this.lat0=.863937979737193}if(!this.long0){this.long0=.7417649320975901-.308341501185665}if(!this.k0){this.k0=.9999}this.s45=.785398163397448;this.s90=2*this.s45;this.fi0=this.lat0;this.e2=this.es;this.e=Math.sqrt(this.e2);this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2));this.uq=1.04216856380474;this.u0=Math.asin(Math.sin(this.fi0)/this.alfa);this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2);this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g;this.k1=this.k0;this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2));this.s0=1.37008346281555;this.n=Math.sin(this.s0);this.ro0=this.k1*this.n0/Math.tan(this.s0);this.ad=this.s90-this.uq}function forward$g(e){var t,i,r,n,o,_,a;var s=e.x;var l=e.y;var h=adjust_lon(s-this.long0);t=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2);i=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/t)-this.s45);r=-h*this.alfa;n=Math.asin(Math.cos(this.ad)*Math.sin(i)+Math.sin(this.ad)*Math.cos(i)*Math.cos(r));o=Math.asin(Math.cos(i)*Math.sin(r)/Math.cos(n));_=this.n*o;a=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(n/2+this.s45),this.n);e.y=a*Math.cos(_)/1;e.x=a*Math.sin(_)/1;if(!this.czech){e.y*=-1;e.x*=-1}return e}function inverse$g(e){var t,i,r,n,o,_,a;var s;var l=e.x;e.x=e.y;e.y=l;if(!this.czech){e.y*=-1;e.x*=-1}_=Math.sqrt(e.x*e.x+e.y*e.y);o=Math.atan2(e.y,e.x);n=o/Math.sin(this.s0);r=2*(Math.atan(Math.pow(this.ro0/_,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45);t=Math.asin(Math.cos(this.ad)*Math.sin(r)-Math.sin(this.ad)*Math.cos(r)*Math.cos(n));i=Math.asin(Math.cos(r)*Math.sin(n)/Math.cos(t));e.x=this.long0-i/this.alfa;a=t;s=0;var h=0;do{e.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(t/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(a))/(1-this.e*Math.sin(a)),this.e/2))-this.s45);if(Math.abs(a-e.y)<1e-10){s=1}a=e.y;h+=1}while(s===0&&h<15);if(h>=15){return null}return e}var names$g=["Krovak","krovak"];var krovak={init:init$g,forward:forward$g,inverse:inverse$g,names:names$g};function mlfn(e,t,i,r,n){return e*n-t*Math.sin(2*n)+i*Math.sin(4*n)-r*Math.sin(6*n)}function e0fn(e){return 1-.25*e*(1+e/16*(3+1.25*e))}function e1fn(e){return.375*e*(1+.25*e*(1+.46875*e))}function e2fn(e){return.05859375*e*e*(1+.75*e)}function e3fn(e){return e*e*e*(35/3072)}function gN(e,t,i){var r=t*i;return e/Math.sqrt(1-r*r)}function adjust_lat(e){return Math.abs(e)<HALF_PI?e:e-sign(e)*Math.PI}function imlfn(e,t,i,r,n){var o;var _;o=e/t;for(var a=0;a<15;a++){_=(e-(t*o-i*Math.sin(2*o)+r*Math.sin(4*o)-n*Math.sin(6*o)))/(t-2*i*Math.cos(2*o)+4*r*Math.cos(4*o)-6*n*Math.cos(6*o));o+=_;if(Math.abs(_)<=1e-10){return o}}return NaN}function init$f(){if(!this.sphere){this.e0=e0fn(this.es);this.e1=e1fn(this.es);this.e2=e2fn(this.es);this.e3=e3fn(this.es);this.ml0=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0)}}function forward$f(e){var t,i;var r=e.x;var n=e.y;r=adjust_lon(r-this.long0);if(this.sphere){t=this.a*Math.asin(Math.cos(n)*Math.sin(r));i=this.a*(Math.atan2(Math.tan(n),Math.cos(r))-this.lat0)}else{var o=Math.sin(n);var _=Math.cos(n);var a=gN(this.a,this.e,o);var s=Math.tan(n)*Math.tan(n);var l=r*Math.cos(n);var h=l*l;var u=this.es*_*_/(1-this.es);var c=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,n);t=a*l*(1-h*s*(1/6-(8-s+8*u)*h/120));i=c-this.ml0+a*o/_*h*(.5+(5-s+6*u)*h/24)}e.x=t+this.x0;e.y=i+this.y0;return e}function inverse$f(e){e.x-=this.x0;e.y-=this.y0;var t=e.x/this.a;var i=e.y/this.a;var r,n;if(this.sphere){var o=i+this.lat0;r=Math.asin(Math.sin(o)*Math.cos(t));n=Math.atan2(Math.tan(t),Math.cos(o))}else{var _=this.ml0/this.a+i;var a=imlfn(_,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(a)-HALF_PI)<=EPSLN){e.x=this.long0;e.y=HALF_PI;if(i<0){e.y*=-1}return e}var s=gN(this.a,this.e,Math.sin(a));var l=s*s*s/this.a/this.a*(1-this.es);var h=Math.pow(Math.tan(a),2);var u=t*this.a/s;var c=u*u;r=a-s*Math.tan(a)/l*u*u*(.5-(1+3*h)*u*u/24);n=u*(1-c*(h/3+(1+3*h)*h*c/15))/Math.cos(a)}e.x=adjust_lon(n+this.long0);e.y=adjust_lat(r);return e}var names$f=["Cassini","Cassini_Soldner","cass"];var cass={init:init$f,forward:forward$f,inverse:inverse$f,names:names$f};function qsfnz(e,t){var i;if(e>1e-7){i=e*t;return(1-e*e)*(t/(1-i*i)-.5/e*Math.log((1-i)/(1+i)))}else{return 2*t}}var S_POLE=1;var N_POLE=2;var EQUIT=3;var OBLIQ=4;function init$e(){var e=Math.abs(this.lat0);if(Math.abs(e-HALF_PI)<EPSLN){this.mode=this.lat0<0?this.S_POLE:this.N_POLE}else if(Math.abs(e)<EPSLN){this.mode=this.EQUIT}else{this.mode=this.OBLIQ}if(this.es>0){var t;this.qp=qsfnz(this.e,1);this.mmf=.5/(1-this.es);this.apa=authset(this.es);switch(this.mode){case this.N_POLE:this.dd=1;break;case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp);this.dd=1/this.rq;this.xmf=1;this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp);t=Math.sin(this.lat0);this.sinb1=qsfnz(this.e,t)/this.qp;this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1);this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*t*t)*this.rq*this.cosb1);this.ymf=(this.xmf=this.rq)/this.dd;this.xmf*=this.dd;break}}else{if(this.mode===this.OBLIQ){this.sinph0=Math.sin(this.lat0);this.cosph0=Math.cos(this.lat0)}}}function forward$e(e){var t,i,r,n,o,_,a,s,l,h;var u=e.x;var c=e.y;u=adjust_lon(u-this.long0);if(this.sphere){o=Math.sin(c);h=Math.cos(c);r=Math.cos(u);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){i=this.mode===this.EQUIT?1+h*r:1+this.sinph0*o+this.cosph0*h*r;if(i<=EPSLN){return null}i=Math.sqrt(2/i);t=i*h*Math.sin(u);i*=this.mode===this.EQUIT?o:this.cosph0*o-this.sinph0*h*r}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE){r=-r}if(Math.abs(c+this.phi0)<EPSLN){return null}i=FORTPI-c*.5;i=2*(this.mode===this.S_POLE?Math.cos(i):Math.sin(i));t=i*Math.sin(u);i*=r}}else{a=0;s=0;l=0;r=Math.cos(u);n=Math.sin(u);o=Math.sin(c);_=qsfnz(this.e,o);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){a=_/this.qp;s=Math.sqrt(1-a*a)}switch(this.mode){case this.OBLIQ:l=1+this.sinb1*a+this.cosb1*s*r;break;case this.EQUIT:l=1+s*r;break;case this.N_POLE:l=HALF_PI+c;_=this.qp-_;break;case this.S_POLE:l=c-HALF_PI;_=this.qp+_;break}if(Math.abs(l)<EPSLN){return null}switch(this.mode){case this.OBLIQ:case this.EQUIT:l=Math.sqrt(2/l);if(this.mode===this.OBLIQ){i=this.ymf*l*(this.cosb1*a-this.sinb1*s*r)}else{i=(l=Math.sqrt(2/(1+s*r)))*a*this.ymf}t=this.xmf*l*s*n;break;case this.N_POLE:case this.S_POLE:if(_>=0){t=(l=Math.sqrt(_))*n;i=r*(this.mode===this.S_POLE?l:-l)}else{t=i=0}break}}e.x=this.a*t+this.x0;e.y=this.a*i+this.y0;return e}function inverse$e(e){e.x-=this.x0;e.y-=this.y0;var t=e.x/this.a;var i=e.y/this.a;var r,n,o,_,a,s,l;if(this.sphere){var h=0,u,c=0;u=Math.sqrt(t*t+i*i);n=u*.5;if(n>1){return null}n=2*Math.asin(n);if(this.mode===this.OBLIQ||this.mode===this.EQUIT){c=Math.sin(n);h=Math.cos(n)}switch(this.mode){case this.EQUIT:n=Math.abs(u)<=EPSLN?0:Math.asin(i*c/u);t*=c;i=h*u;break;case this.OBLIQ:n=Math.abs(u)<=EPSLN?this.phi0:Math.asin(h*this.sinph0+i*c*this.cosph0/u);t*=c*this.cosph0;i=(h-Math.sin(n)*this.sinph0)*u;break;case this.N_POLE:i=-i;n=HALF_PI-n;break;case this.S_POLE:n-=HALF_PI;break}r=i===0&&(this.mode===this.EQUIT||this.mode===this.OBLIQ)?0:Math.atan2(t,i)}else{l=0;if(this.mode===this.OBLIQ||this.mode===this.EQUIT){t/=this.dd;i*=this.dd;s=Math.sqrt(t*t+i*i);if(s<EPSLN){e.x=0;e.y=this.phi0;return e}_=2*Math.asin(.5*s/this.rq);o=Math.cos(_);t*=_=Math.sin(_);if(this.mode===this.OBLIQ){l=o*this.sinb1+i*_*this.cosb1/s;a=this.qp*l;i=s*this.cosb1*o-i*this.sinb1*_}else{l=i*_/s;a=this.qp*l;i=s*o}}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE){i=-i}a=t*t+i*i;if(!a){e.x=0;e.y=this.phi0;return e}l=1-a/this.qp;if(this.mode===this.S_POLE){l=-l}}r=Math.atan2(t,i);n=authlat(Math.asin(l),this.apa)}e.x=adjust_lon(this.long0+r);e.y=n;return e}var P00=.3333333333333333;var P01=.17222222222222222;var P02=.10257936507936508;var P10=.06388888888888888;var P11=.0664021164021164;var P20=.016415012942191543;function authset(e){var t;var i=[];i[0]=e*P00;t=e*e;i[0]+=t*P01;i[1]=t*P10;t*=e;i[0]+=t*P02;i[1]+=t*P11;i[2]=t*P20;return i}function authlat(e,t){var i=e+e;return e+t[0]*Math.sin(i)+t[1]*Math.sin(i+i)+t[2]*Math.sin(i+i+i)}var names$e=["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"];var laea={init:init$e,forward:forward$e,inverse:inverse$e,names:names$e,S_POLE:S_POLE,N_POLE:N_POLE,EQUIT:EQUIT,OBLIQ:OBLIQ};function asinz(e){if(Math.abs(e)>1){e=e>1?1:-1}return Math.asin(e)}function init$d(){if(Math.abs(this.lat1+this.lat2)<EPSLN){return}this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e3=Math.sqrt(this.es);this.sin_po=Math.sin(this.lat1);this.cos_po=Math.cos(this.lat1);this.t1=this.sin_po;this.con=this.sin_po;this.ms1=msfnz(this.e3,this.sin_po,this.cos_po);this.qs1=qsfnz(this.e3,this.sin_po);this.sin_po=Math.sin(this.lat2);this.cos_po=Math.cos(this.lat2);this.t2=this.sin_po;this.ms2=msfnz(this.e3,this.sin_po,this.cos_po);this.qs2=qsfnz(this.e3,this.sin_po);this.sin_po=Math.sin(this.lat0);this.cos_po=Math.cos(this.lat0);this.t3=this.sin_po;this.qs0=qsfnz(this.e3,this.sin_po);if(Math.abs(this.lat1-this.lat2)>EPSLN){this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1)}else{this.ns0=this.con}this.c=this.ms1*this.ms1+this.ns0*this.qs1;this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0}function forward$d(e){var t=e.x;var i=e.y;this.sin_phi=Math.sin(i);this.cos_phi=Math.cos(i);var r=qsfnz(this.e3,this.sin_phi);var n=this.a*Math.sqrt(this.c-this.ns0*r)/this.ns0;var o=this.ns0*adjust_lon(t-this.long0);var _=n*Math.sin(o)+this.x0;var a=this.rh-n*Math.cos(o)+this.y0;e.x=_;e.y=a;return e}function inverse$d(e){var t,i,r,n,o,_;e.x-=this.x0;e.y=this.rh-e.y+this.y0;if(this.ns0>=0){t=Math.sqrt(e.x*e.x+e.y*e.y);r=1}else{t=-Math.sqrt(e.x*e.x+e.y*e.y);r=-1}n=0;if(t!==0){n=Math.atan2(r*e.x,r*e.y)}r=t*this.ns0/this.a;if(this.sphere){_=Math.asin((this.c-r*r)/(2*this.ns0))}else{i=(this.c-r*r)/this.ns0;_=this.phi1z(this.e3,i)}o=adjust_lon(n/this.ns0+this.long0);e.x=o;e.y=_;return e}function phi1z(e,t){var i,r,n,o,_;var a=asinz(.5*t);if(e<EPSLN){return a}var s=e*e;for(var l=1;l<=25;l++){i=Math.sin(a);r=Math.cos(a);n=e*i;o=1-n*n;_=.5*o*o/r*(t/(1-s)-i/o+.5/e*Math.log((1-n)/(1+n)));a=a+_;if(Math.abs(_)<=1e-7){return a}}return null}var names$d=["Albers_Conic_Equal_Area","Albers","aea"];var aea={init:init$d,forward:forward$d,inverse:inverse$d,names:names$d,phi1z:phi1z};function init$c(){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0);this.infinity_dist=1e3*this.a;this.rc=1}function forward$c(e){var t,i;var r;var n;var o;var _;var a,s;var l=e.x;var h=e.y;r=adjust_lon(l-this.long0);t=Math.sin(h);i=Math.cos(h);n=Math.cos(r);_=this.sin_p14*t+this.cos_p14*i*n;o=1;if(_>0||Math.abs(_)<=EPSLN){a=this.x0+this.a*o*i*Math.sin(r)/_;s=this.y0+this.a*o*(this.cos_p14*t-this.sin_p14*i*n)/_}else{a=this.x0+this.infinity_dist*i*Math.sin(r);s=this.y0+this.infinity_dist*(this.cos_p14*t-this.sin_p14*i*n)}e.x=a;e.y=s;return e}function inverse$c(e){var t;var i,r;var n;var o,_;e.x=(e.x-this.x0)/this.a;e.y=(e.y-this.y0)/this.a;e.x/=this.k0;e.y/=this.k0;if(t=Math.sqrt(e.x*e.x+e.y*e.y)){n=Math.atan2(t,this.rc);i=Math.sin(n);r=Math.cos(n);_=asinz(r*this.sin_p14+e.y*i*this.cos_p14/t);o=Math.atan2(e.x*i,t*this.cos_p14*r-e.y*this.sin_p14*i);o=adjust_lon(this.long0+o)}else{_=this.phic0;o=0}e.x=o;e.y=_;return e}var names$c=["gnom"];var gnom={init:init$c,forward:forward$c,inverse:inverse$c,names:names$c};function iqsfnz(e,t){var i=1-(1-e*e)/(2*e)*Math.log((1-e)/(1+e));if(Math.abs(Math.abs(t)-i)<1e-6){if(t<0){return-1*HALF_PI}else{return HALF_PI}}var r=Math.asin(.5*t);var n;var o;var _;var a;for(var s=0;s<30;s++){o=Math.sin(r);_=Math.cos(r);a=e*o;n=Math.pow(1-a*a,2)/(2*_)*(t/(1-e*e)-o/(1-a*a)+.5/e*Math.log((1-a)/(1+a)));r+=n;if(Math.abs(n)<=1e-10){return r}}return NaN}function init$b(){if(!this.sphere){this.k0=msfnz(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))}}function forward$b(e){var t=e.x;var i=e.y;var r,n;var o=adjust_lon(t-this.long0);if(this.sphere){r=this.x0+this.a*o*Math.cos(this.lat_ts);n=this.y0+this.a*Math.sin(i)/Math.cos(this.lat_ts)}else{var _=qsfnz(this.e,Math.sin(i));r=this.x0+this.a*this.k0*o;n=this.y0+this.a*_*.5/this.k0}e.x=r;e.y=n;return e}function inverse$b(e){e.x-=this.x0;e.y-=this.y0;var t,i;if(this.sphere){t=adjust_lon(this.long0+e.x/this.a/Math.cos(this.lat_ts));i=Math.asin(e.y/this.a*Math.cos(this.lat_ts))}else{i=iqsfnz(this.e,2*e.y*this.k0/this.a);t=adjust_lon(this.long0+e.x/(this.a*this.k0))}e.x=t;e.y=i;return e}var names$b=["cea"];var cea={init:init$b,forward:forward$b,inverse:inverse$b,names:names$b};function init$a(){this.x0=this.x0||0;this.y0=this.y0||0;this.lat0=this.lat0||0;this.long0=this.long0||0;this.lat_ts=this.lat_ts||0;this.title=this.title||"Equidistant Cylindrical (Plate Carre)";this.rc=Math.cos(this.lat_ts)}function forward$a(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n=adjust_lat(i-this.lat0);e.x=this.x0+this.a*r*this.rc;e.y=this.y0+this.a*n;return e}function inverse$a(e){var t=e.x;var i=e.y;e.x=adjust_lon(this.long0+(t-this.x0)/(this.a*this.rc));e.y=adjust_lat(this.lat0+(i-this.y0)/this.a);return e}var names$a=["Equirectangular","Equidistant_Cylindrical","eqc"];var eqc={init:init$a,forward:forward$a,inverse:inverse$a,names:names$a};var MAX_ITER$1=20;function init$9(){this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=e0fn(this.es);this.e1=e1fn(this.es);this.e2=e2fn(this.es);this.e3=e3fn(this.es);this.ml0=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0)}function forward$9(e){var t=e.x;var i=e.y;var r,n,o;var _=adjust_lon(t-this.long0);o=_*Math.sin(i);if(this.sphere){if(Math.abs(i)<=EPSLN){r=this.a*_;n=-1*this.a*this.lat0}else{r=this.a*Math.sin(o)/Math.tan(i);n=this.a*(adjust_lat(i-this.lat0)+(1-Math.cos(o))/Math.tan(i))}}else{if(Math.abs(i)<=EPSLN){r=this.a*_;n=-1*this.ml0}else{var a=gN(this.a,this.e,Math.sin(i))/Math.tan(i);r=a*Math.sin(o);n=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,i)-this.ml0+a*(1-Math.cos(o))}}e.x=r+this.x0;e.y=n+this.y0;return e}function inverse$9(e){var t,i,r,n,o;var _,a;var s,l;r=e.x-this.x0;n=e.y-this.y0;if(this.sphere){if(Math.abs(n+this.a*this.lat0)<=EPSLN){t=adjust_lon(r/this.a+this.long0);i=0}else{_=this.lat0+n/this.a;a=r*r/this.a/this.a+_*_;s=_;var h;for(o=MAX_ITER$1;o;--o){h=Math.tan(s);l=-1*(_*(s*h+1)-s-.5*(s*s+a)*h)/((s-_)/h-1);s+=l;if(Math.abs(l)<=EPSLN){i=s;break}}t=adjust_lon(this.long0+Math.asin(r*Math.tan(s)/this.a)/Math.sin(i))}}else{if(Math.abs(n+this.ml0)<=EPSLN){i=0;t=adjust_lon(this.long0+r/this.a)}else{_=(this.ml0+n)/this.a;a=r*r/this.a/this.a+_*_;s=_;var u,c,f,d;var p;for(o=MAX_ITER$1;o;--o){p=this.e*Math.sin(s);u=Math.sqrt(1-p*p)*Math.tan(s);c=this.a*mlfn(this.e0,this.e1,this.e2,this.e3,s);f=this.e0-2*this.e1*Math.cos(2*s)+4*this.e2*Math.cos(4*s)-6*this.e3*Math.cos(6*s);d=c/this.a;l=(_*(u*d+1)-d-.5*u*(d*d+a))/(this.es*Math.sin(2*s)*(d*d+a-2*_*d)/(4*u)+(_-d)*(u*f-2/Math.sin(2*s))-f);s-=l;if(Math.abs(l)<=EPSLN){i=s;break}}u=Math.sqrt(1-this.es*Math.pow(Math.sin(i),2))*Math.tan(i);t=adjust_lon(this.long0+Math.asin(r*u/this.a)/Math.sin(i))}}e.x=t;e.y=i;return e}var names$9=["Polyconic","poly"];var poly={init:init$9,forward:forward$9,inverse:inverse$9,names:names$9};function init$8(){this.A=[];this.A[1]=.6399175073;this.A[2]=-.1358797613;this.A[3]=.063294409;this.A[4]=-.02526853;this.A[5]=.0117879;this.A[6]=-.0055161;this.A[7]=.0026906;this.A[8]=-.001333;this.A[9]=67e-5;this.A[10]=-34e-5;this.B_re=[];this.B_im=[];this.B_re[1]=.7557853228;this.B_im[1]=0;this.B_re[2]=.249204646;this.B_im[2]=.003371507;this.B_re[3]=-.001541739;this.B_im[3]=.04105856;this.B_re[4]=-.10162907;this.B_im[4]=.01727609;this.B_re[5]=-.26623489;this.B_im[5]=-.36249218;this.B_re[6]=-.6870983;this.B_im[6]=-1.1651967;this.C_re=[];this.C_im=[];this.C_re[1]=1.3231270439;this.C_im[1]=0;this.C_re[2]=-.577245789;this.C_im[2]=-.007809598;this.C_re[3]=.508307513;this.C_im[3]=-.112208952;this.C_re[4]=-.15094762;this.C_im[4]=.18200602;this.C_re[5]=1.01418179;this.C_im[5]=1.64497696;this.C_re[6]=1.9660549;this.C_im[6]=2.5127645;this.D=[];this.D[1]=1.5627014243;this.D[2]=.5185406398;this.D[3]=-.03333098;this.D[4]=-.1052906;this.D[5]=-.0368594;this.D[6]=.007317;this.D[7]=.0122;this.D[8]=.00394;this.D[9]=-.0013}function forward$8(e){var t;var i=e.x;var r=e.y;var n=r-this.lat0;var o=i-this.long0;var _=n/SEC_TO_RAD*1e-5;var a=o;var s=1;var l=0;for(t=1;t<=10;t++){s=s*_;l=l+this.A[t]*s}var h=l;var u=a;var c=1;var f=0;var d;var p;var v=0;var g=0;for(t=1;t<=6;t++){d=c*h-f*u;p=f*h+c*u;c=d;f=p;v=v+this.B_re[t]*c-this.B_im[t]*f;g=g+this.B_im[t]*c+this.B_re[t]*f}e.x=g*this.a+this.x0;e.y=v*this.a+this.y0;return e}function inverse$8(e){var t;var i=e.x;var r=e.y;var n=i-this.x0;var o=r-this.y0;var _=o/this.a;var a=n/this.a;var s=1;var l=0;var h;var u;var c=0;var f=0;for(t=1;t<=6;t++){h=s*_-l*a;u=l*_+s*a;s=h;l=u;c=c+this.C_re[t]*s-this.C_im[t]*l;f=f+this.C_im[t]*s+this.C_re[t]*l}for(var d=0;d<this.iterations;d++){var p=c;var v=f;var g;var y;var m=_;var E=a;for(t=2;t<=6;t++){g=p*c-v*f;y=v*c+p*f;p=g;v=y;m=m+(t-1)*(this.B_re[t]*p-this.B_im[t]*v);E=E+(t-1)*(this.B_im[t]*p+this.B_re[t]*v)}p=1;v=0;var x=this.B_re[1];var T=this.B_im[1];for(t=2;t<=6;t++){g=p*c-v*f;y=v*c+p*f;p=g;v=y;x=x+t*(this.B_re[t]*p-this.B_im[t]*v);T=T+t*(this.B_im[t]*p+this.B_re[t]*v)}var R=x*x+T*T;c=(m*x+E*T)/R;f=(E*x-m*T)/R}var S=c;var C=f;var I=1;var M=0;for(t=1;t<=9;t++){I=I*S;M=M+this.D[t]*I}var w=this.lat0+M*SEC_TO_RAD*1e5;var b=this.long0+C;e.x=b;e.y=w;return e}var names$8=["New_Zealand_Map_Grid","nzmg"];var nzmg={init:init$8,forward:forward$8,inverse:inverse$8,names:names$8};function init$7(){}function forward$7(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n=this.x0+this.a*r;var o=this.y0+this.a*Math.log(Math.tan(Math.PI/4+i/2.5))*1.25;e.x=n;e.y=o;return e}function inverse$7(e){e.x-=this.x0;e.y-=this.y0;var t=adjust_lon(this.long0+e.x/this.a);var i=2.5*(Math.atan(Math.exp(.8*e.y/this.a))-Math.PI/4);e.x=t;e.y=i;return e}var names$7=["Miller_Cylindrical","mill"];var mill={init:init$7,forward:forward$7,inverse:inverse$7,names:names$7};var MAX_ITER=20;function init$6(){if(!this.sphere){this.en=pj_enfn(this.es)}else{this.n=1;this.m=0;this.es=0;this.C_y=Math.sqrt((this.m+1)/this.n);this.C_x=this.C_y/(this.m+1)}}function forward$6(e){var t,i;var r=e.x;var n=e.y;r=adjust_lon(r-this.long0);if(this.sphere){if(!this.m){n=this.n!==1?Math.asin(this.n*Math.sin(n)):n}else{var o=this.n*Math.sin(n);for(var _=MAX_ITER;_;--_){var a=(this.m*n+Math.sin(n)-o)/(this.m+Math.cos(n));n-=a;if(Math.abs(a)<EPSLN){break}}}t=this.a*this.C_x*r*(this.m+Math.cos(n));i=this.a*this.C_y*n}else{var s=Math.sin(n);var l=Math.cos(n);i=this.a*pj_mlfn(n,s,l,this.en);t=this.a*r*l/Math.sqrt(1-this.es*s*s)}e.x=t;e.y=i;return e}function inverse$6(e){var t,i,r,n;e.x-=this.x0;r=e.x/this.a;e.y-=this.y0;t=e.y/this.a;if(this.sphere){t/=this.C_y;r=r/(this.C_x*(this.m+Math.cos(t)));if(this.m){t=asinz((this.m*t+Math.sin(t))/this.n)}else if(this.n!==1){t=asinz(Math.sin(t)/this.n)}r=adjust_lon(r+this.long0);t=adjust_lat(t)}else{t=pj_inv_mlfn(e.y/this.a,this.es,this.en);n=Math.abs(t);if(n<HALF_PI){n=Math.sin(t);i=this.long0+e.x*Math.sqrt(1-this.es*n*n)/(this.a*Math.cos(t));r=adjust_lon(i)}else if(n-EPSLN<HALF_PI){r=this.long0}}e.x=r;e.y=t;return e}var names$6=["Sinusoidal","sinu"];var sinu={init:init$6,forward:forward$6,inverse:inverse$6,names:names$6};function init$5(){}function forward$5(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n=i;var o=Math.PI*Math.sin(i);while(true){var _=-(n+Math.sin(n)-o)/(1+Math.cos(n));n+=_;if(Math.abs(_)<EPSLN){break}}n/=2;if(Math.PI/2-Math.abs(i)<EPSLN){r=0}var a=.900316316158*this.a*r*Math.cos(n)+this.x0;var s=1.4142135623731*this.a*Math.sin(n)+this.y0;e.x=a;e.y=s;return e}function inverse$5(e){var t;var i;e.x-=this.x0;e.y-=this.y0;i=e.y/(1.4142135623731*this.a);if(Math.abs(i)>.999999999999){i=.999999999999}t=Math.asin(i);var r=adjust_lon(this.long0+e.x/(.900316316158*this.a*Math.cos(t)));if(r<-Math.PI){r=-Math.PI}if(r>Math.PI){r=Math.PI}i=(2*t+Math.sin(2*t))/Math.PI;if(Math.abs(i)>1){i=1}var n=Math.asin(i);e.x=r;e.y=n;return e}var names$5=["Mollweide","moll"];var moll={init:init$5,forward:forward$5,inverse:inverse$5,names:names$5};function init$4(){if(Math.abs(this.lat1+this.lat2)<EPSLN){return}this.lat2=this.lat2||this.lat1;this.temp=this.b/this.a;this.es=1-Math.pow(this.temp,2);this.e=Math.sqrt(this.es);this.e0=e0fn(this.es);this.e1=e1fn(this.es);this.e2=e2fn(this.es);this.e3=e3fn(this.es);this.sinphi=Math.sin(this.lat1);this.cosphi=Math.cos(this.lat1);this.ms1=msfnz(this.e,this.sinphi,this.cosphi);this.ml1=mlfn(this.e0,this.e1,this.e2,this.e3,this.lat1);if(Math.abs(this.lat1-this.lat2)<EPSLN){this.ns=this.sinphi}else{this.sinphi=Math.sin(this.lat2);this.cosphi=Math.cos(this.lat2);this.ms2=msfnz(this.e,this.sinphi,this.cosphi);this.ml2=mlfn(this.e0,this.e1,this.e2,this.e3,this.lat2);this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)}this.g=this.ml1+this.ms1/this.ns;this.ml0=mlfn(this.e0,this.e1,this.e2,this.e3,this.lat0);this.rh=this.a*(this.g-this.ml0)}function forward$4(e){var t=e.x;var i=e.y;var r;if(this.sphere){r=this.a*(this.g-i)}else{var n=mlfn(this.e0,this.e1,this.e2,this.e3,i);r=this.a*(this.g-n)}var o=this.ns*adjust_lon(t-this.long0);var _=this.x0+r*Math.sin(o);var a=this.y0+this.rh-r*Math.cos(o);e.x=_;e.y=a;return e}function inverse$4(e){e.x-=this.x0;e.y=this.rh-e.y+this.y0;var t,i,r,n;if(this.ns>=0){i=Math.sqrt(e.x*e.x+e.y*e.y);t=1}else{i=-Math.sqrt(e.x*e.x+e.y*e.y);t=-1}var o=0;if(i!==0){o=Math.atan2(t*e.x,t*e.y)}if(this.sphere){n=adjust_lon(this.long0+o/this.ns);r=adjust_lat(this.g-i/this.a);e.x=n;e.y=r;return e}else{var _=this.g-i/this.a;r=imlfn(_,this.e0,this.e1,this.e2,this.e3);n=adjust_lon(this.long0+o/this.ns);e.x=n;e.y=r;return e}}var names$4=["Equidistant_Conic","eqdc"];var eqdc={init:init$4,forward:forward$4,inverse:inverse$4,names:names$4};function init$3(){this.R=this.a}function forward$3(e){var t=e.x;var i=e.y;var r=adjust_lon(t-this.long0);var n,o;if(Math.abs(i)<=EPSLN){n=this.x0+this.R*r;o=this.y0}var _=asinz(2*Math.abs(i/Math.PI));if(Math.abs(r)<=EPSLN||Math.abs(Math.abs(i)-HALF_PI)<=EPSLN){n=this.x0;if(i>=0){o=this.y0+Math.PI*this.R*Math.tan(.5*_)}else{o=this.y0+Math.PI*this.R*-Math.tan(.5*_)}}var a=.5*Math.abs(Math.PI/r-r/Math.PI);var s=a*a;var l=Math.sin(_);var h=Math.cos(_);var u=h/(l+h-1);var c=u*u;var f=u*(2/l-1);var d=f*f;var p=Math.PI*this.R*(a*(u-d)+Math.sqrt(s*(u-d)*(u-d)-(d+s)*(c-d)))/(d+s);if(r<0){p=-p}n=this.x0+p;var v=s+u;p=Math.PI*this.R*(f*v-a*Math.sqrt((d+s)*(s+1)-v*v))/(d+s);if(i>=0){o=this.y0+p}else{o=this.y0-p}e.x=n;e.y=o;return e}function inverse$3(e){var t,i;var r,n,o,_,a,s;var l;var h;var u;var c;var f;e.x-=this.x0;e.y-=this.y0;u=Math.PI*this.R;r=e.x/u;n=e.y/u;o=r*r+n*n;_=-Math.abs(n)*(1+o);a=_-2*n*n+r*r;s=-2*_+1+2*n*n+o*o;f=n*n/s+(2*a*a*a/s/s/s-9*_*a/s/s)/27;l=(_-a*a/3/s)/s;h=2*Math.sqrt(-l/3);u=3*f/l/h;if(Math.abs(u)>1){if(u>=0){u=1}else{u=-1}}c=Math.acos(u)/3;if(e.y>=0){i=(-h*Math.cos(c+Math.PI/3)-a/3/s)*Math.PI}else{i=-(-h*Math.cos(c+Math.PI/3)-a/3/s)*Math.PI}if(Math.abs(r)<EPSLN){t=this.long0}else{t=adjust_lon(this.long0+Math.PI*(o-1+Math.sqrt(1+2*(r*r-n*n)+o*o))/2/r)}e.x=t;e.y=i;return e}var names$3=["Van_der_Grinten_I","VanDerGrinten","vandg"];var vandg={init:init$3,forward:forward$3,inverse:inverse$3,names:names$3};function init$2(){this.sin_p12=Math.sin(this.lat0);this.cos_p12=Math.cos(this.lat0)}function forward$2(e){var t=e.x;var i=e.y;var r=Math.sin(e.y);var n=Math.cos(e.y);var o=adjust_lon(t-this.long0);var _,a,s,l,h,u,c,f,d,p,v,g,y,m,E,x,T,R,S,C,I,M,w;if(this.sphere){if(Math.abs(this.sin_p12-1)<=EPSLN){e.x=this.x0+this.a*(HALF_PI-i)*Math.sin(o);e.y=this.y0-this.a*(HALF_PI-i)*Math.cos(o);return e}else if(Math.abs(this.sin_p12+1)<=EPSLN){e.x=this.x0+this.a*(HALF_PI+i)*Math.sin(o);e.y=this.y0+this.a*(HALF_PI+i)*Math.cos(o);return e}else{R=this.sin_p12*r+this.cos_p12*n*Math.cos(o);x=Math.acos(R);T=x/Math.sin(x);e.x=this.x0+this.a*T*n*Math.sin(o);e.y=this.y0+this.a*T*(this.cos_p12*r-this.sin_p12*n*Math.cos(o));return e}}else{_=e0fn(this.es);a=e1fn(this.es);s=e2fn(this.es);l=e3fn(this.es);if(Math.abs(this.sin_p12-1)<=EPSLN){h=this.a*mlfn(_,a,s,l,HALF_PI);u=this.a*mlfn(_,a,s,l,i);e.x=this.x0+(h-u)*Math.sin(o);e.y=this.y0-(h-u)*Math.cos(o);return e}else if(Math.abs(this.sin_p12+1)<=EPSLN){h=this.a*mlfn(_,a,s,l,HALF_PI);u=this.a*mlfn(_,a,s,l,i);e.x=this.x0+(h+u)*Math.sin(o);e.y=this.y0+(h+u)*Math.cos(o);return e}else{c=r/n;f=gN(this.a,this.e,this.sin_p12);d=gN(this.a,this.e,r);p=Math.atan((1-this.es)*c+this.es*f*this.sin_p12/(d*n));v=Math.atan2(Math.sin(o),this.cos_p12*Math.tan(p)-this.sin_p12*Math.cos(o));if(v===0){S=Math.asin(this.cos_p12*Math.sin(p)-this.sin_p12*Math.cos(p))}else if(Math.abs(Math.abs(v)-Math.PI)<=EPSLN){S=-Math.asin(this.cos_p12*Math.sin(p)-this.sin_p12*Math.cos(p))}else{S=Math.asin(Math.sin(o)*Math.cos(p)/Math.sin(v))}g=this.e*this.sin_p12/Math.sqrt(1-this.es);y=this.e*this.cos_p12*Math.cos(v)/Math.sqrt(1-this.es);m=g*y;E=y*y;C=S*S;I=C*S;M=I*S;w=M*S;x=f*S*(1-C*E*(1-E)/6+I/8*m*(1-2*E)+M/120*(E*(4-7*E)-3*g*g*(1-7*E))-w/48*m);e.x=this.x0+x*Math.sin(v);e.y=this.y0+x*Math.cos(v);return e}}}function inverse$2(e){e.x-=this.x0;e.y-=this.y0;var t,i,r,n,o,_,a,s,l,h,u,c,f,d,p,v,g,y,m,E,x,T,R;if(this.sphere){t=Math.sqrt(e.x*e.x+e.y*e.y);if(t>2*HALF_PI*this.a){return}i=t/this.a;r=Math.sin(i);n=Math.cos(i);o=this.long0;if(Math.abs(t)<=EPSLN){_=this.lat0}else{_=asinz(n*this.sin_p12+e.y*r*this.cos_p12/t);a=Math.abs(this.lat0)-HALF_PI;if(Math.abs(a)<=EPSLN){if(this.lat0>=0){o=adjust_lon(this.long0+Math.atan2(e.x,-e.y))}else{o=adjust_lon(this.long0-Math.atan2(-e.x,e.y))}}else{o=adjust_lon(this.long0+Math.atan2(e.x*r,t*this.cos_p12*n-e.y*this.sin_p12*r))}}e.x=o;e.y=_;return e}else{s=e0fn(this.es);l=e1fn(this.es);h=e2fn(this.es);u=e3fn(this.es);if(Math.abs(this.sin_p12-1)<=EPSLN){c=this.a*mlfn(s,l,h,u,HALF_PI);t=Math.sqrt(e.x*e.x+e.y*e.y);f=c-t;_=imlfn(f/this.a,s,l,h,u);o=adjust_lon(this.long0+Math.atan2(e.x,-1*e.y));e.x=o;e.y=_;return e}else if(Math.abs(this.sin_p12+1)<=EPSLN){c=this.a*mlfn(s,l,h,u,HALF_PI);t=Math.sqrt(e.x*e.x+e.y*e.y);f=t-c;_=imlfn(f/this.a,s,l,h,u);o=adjust_lon(this.long0+Math.atan2(e.x,e.y));e.x=o;e.y=_;return e}else{t=Math.sqrt(e.x*e.x+e.y*e.y);v=Math.atan2(e.x,e.y);d=gN(this.a,this.e,this.sin_p12);g=Math.cos(v);y=this.e*this.cos_p12*g;m=-y*y/(1-this.es);E=3*this.es*(1-m)*this.sin_p12*this.cos_p12*g/(1-this.es);x=t/d;T=x-m*(1+m)*Math.pow(x,3)/6-E*(1+3*m)*Math.pow(x,4)/24;R=1-m*T*T/2-x*T*T*T/6;p=Math.asin(this.sin_p12*Math.cos(T)+this.cos_p12*Math.sin(T)*g);o=adjust_lon(this.long0+Math.asin(Math.sin(v)*Math.sin(T)/Math.cos(p)));_=Math.atan((1-this.es*R*this.sin_p12/Math.sin(p))*Math.tan(p)/(1-this.es));e.x=o;e.y=_;return e}}}var names$2=["Azimuthal_Equidistant","aeqd"];var aeqd={init:init$2,forward:forward$2,inverse:inverse$2,names:names$2};function init$1(){this.sin_p14=Math.sin(this.lat0);this.cos_p14=Math.cos(this.lat0)}function forward$1(e){var t,i;var r;var n;var o;var _,a,s;var l=e.x;var h=e.y;r=adjust_lon(l-this.long0);t=Math.sin(h);i=Math.cos(h);n=Math.cos(r);_=this.sin_p14*t+this.cos_p14*i*n;o=1;if(_>0||Math.abs(_)<=EPSLN){a=this.a*o*i*Math.sin(r);s=this.y0+this.a*o*(this.cos_p14*t-this.sin_p14*i*n)}e.x=a;e.y=s;return e}function inverse$1(e){var t;var i;var r,n;var o;var _,a;e.x-=this.x0;e.y-=this.y0;t=Math.sqrt(e.x*e.x+e.y*e.y);i=asinz(t/this.a);r=Math.sin(i);n=Math.cos(i);_=this.long0;if(Math.abs(t)<=EPSLN){a=this.lat0;e.x=_;e.y=a;return e}a=asinz(n*this.sin_p14+e.y*r*this.cos_p14/t);o=Math.abs(this.lat0)-HALF_PI;if(Math.abs(o)<=EPSLN){if(this.lat0>=0){_=adjust_lon(this.long0+Math.atan2(e.x,-e.y))}else{_=adjust_lon(this.long0-Math.atan2(-e.x,e.y))}e.x=_;e.y=a;return e}_=adjust_lon(this.long0+Math.atan2(e.x*r,t*this.cos_p14*n-e.y*this.sin_p14*r));e.x=_;e.y=a;return e}var names$1=["ortho"];var ortho={init:init$1,forward:forward$1,inverse:inverse$1,names:names$1};var FACE_ENUM={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6};var AREA_ENUM={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4};function init(){this.x0=this.x0||0;this.y0=this.y0||0;this.lat0=this.lat0||0;this.long0=this.long0||0;this.lat_ts=this.lat_ts||0;this.title=this.title||"Quadrilateralized Spherical Cube";if(this.lat0>=HALF_PI-FORTPI/2){this.face=FACE_ENUM.TOP}else if(this.lat0<=-(HALF_PI-FORTPI/2)){this.face=FACE_ENUM.BOTTOM}else if(Math.abs(this.long0)<=FORTPI){this.face=FACE_ENUM.FRONT}else if(Math.abs(this.long0)<=HALF_PI+FORTPI){this.face=this.long0>0?FACE_ENUM.RIGHT:FACE_ENUM.LEFT}else{this.face=FACE_ENUM.BACK}if(this.es!==0){this.one_minus_f=1-(this.a-this.b)/this.a;this.one_minus_f_squared=this.one_minus_f*this.one_minus_f}}function forward(e){var t={x:0,y:0};var i,r;var n,o;var _,a;var s={value:0};e.x-=this.long0;if(this.es!==0){i=Math.atan(this.one_minus_f_squared*Math.tan(e.y))}else{i=e.y}r=e.x;if(this.face===FACE_ENUM.TOP){o=HALF_PI-i;if(r>=FORTPI&&r<=HALF_PI+FORTPI){s.value=AREA_ENUM.AREA_0;n=r-HALF_PI}else if(r>HALF_PI+FORTPI||r<=-(HALF_PI+FORTPI)){s.value=AREA_ENUM.AREA_1;n=r>0?r-SPI:r+SPI}else if(r>-(HALF_PI+FORTPI)&&r<=-FORTPI){s.value=AREA_ENUM.AREA_2;n=r+HALF_PI}else{s.value=AREA_ENUM.AREA_3;n=r}}else if(this.face===FACE_ENUM.BOTTOM){o=HALF_PI+i;if(r>=FORTPI&&r<=HALF_PI+FORTPI){s.value=AREA_ENUM.AREA_0;n=-r+HALF_PI}else if(r<FORTPI&&r>=-FORTPI){s.value=AREA_ENUM.AREA_1;n=-r}else if(r<-FORTPI&&r>=-(HALF_PI+FORTPI)){s.value=AREA_ENUM.AREA_2;n=-r-HALF_PI}else{s.value=AREA_ENUM.AREA_3;n=r>0?-r+SPI:-r-SPI}}else{var l,h,u;var c,f;var d,p;if(this.face===FACE_ENUM.RIGHT){r=qsc_shift_lon_origin(r,+HALF_PI)}else if(this.face===FACE_ENUM.BACK){r=qsc_shift_lon_origin(r,+SPI)}else if(this.face===FACE_ENUM.LEFT){r=qsc_shift_lon_origin(r,-HALF_PI)}c=Math.sin(i);f=Math.cos(i);d=Math.sin(r);p=Math.cos(r);l=f*p;h=f*d;u=c;if(this.face===FACE_ENUM.FRONT){o=Math.acos(l);n=qsc_fwd_equat_face_theta(o,u,h,s)}else if(this.face===FACE_ENUM.RIGHT){o=Math.acos(h);n=qsc_fwd_equat_face_theta(o,u,-l,s)}else if(this.face===FACE_ENUM.BACK){o=Math.acos(-l);n=qsc_fwd_equat_face_theta(o,u,-h,s)}else if(this.face===FACE_ENUM.LEFT){o=Math.acos(-h);n=qsc_fwd_equat_face_theta(o,u,l,s)}else{o=n=0;s.value=AREA_ENUM.AREA_0}}a=Math.atan(12/SPI*(n+Math.acos(Math.sin(n)*Math.cos(FORTPI))-HALF_PI));_=Math.sqrt((1-Math.cos(o))/(Math.cos(a)*Math.cos(a))/(1-Math.cos(Math.atan(1/Math.cos(n)))));if(s.value===AREA_ENUM.AREA_1){a+=HALF_PI}else if(s.value===AREA_ENUM.AREA_2){a+=SPI}else if(s.value===AREA_ENUM.AREA_3){a+=1.5*SPI}t.x=_*Math.cos(a);t.y=_*Math.sin(a);t.x=t.x*this.a+this.x0;t.y=t.y*this.a+this.y0;e.x=t.x;e.y=t.y;return e}function inverse(e){var t={lam:0,phi:0};var i,r,n,o;var _,a,s,l;var h;var u={value:0};e.x=(e.x-this.x0)/this.a;e.y=(e.y-this.y0)/this.a;r=Math.atan(Math.sqrt(e.x*e.x+e.y*e.y));i=Math.atan2(e.y,e.x);if(e.x>=0&&e.x>=Math.abs(e.y)){u.value=AREA_ENUM.AREA_0}else if(e.y>=0&&e.y>=Math.abs(e.x)){u.value=AREA_ENUM.AREA_1;i-=HALF_PI}else if(e.x<0&&-e.x>=Math.abs(e.y)){u.value=AREA_ENUM.AREA_2;i=i<0?i+SPI:i-SPI}else{u.value=AREA_ENUM.AREA_3;i+=HALF_PI}h=SPI/12*Math.tan(i);_=Math.sin(h)/(Math.cos(h)-1/Math.sqrt(2));a=Math.atan(_);n=Math.cos(i);o=Math.tan(r);s=1-n*n*o*o*(1-Math.cos(Math.atan(1/Math.cos(a))));if(s<-1){s=-1}else if(s>+1){s=+1}if(this.face===FACE_ENUM.TOP){l=Math.acos(s);t.phi=HALF_PI-l;if(u.value===AREA_ENUM.AREA_0){t.lam=a+HALF_PI}else if(u.value===AREA_ENUM.AREA_1){t.lam=a<0?a+SPI:a-SPI}else if(u.value===AREA_ENUM.AREA_2){t.lam=a-HALF_PI}else{t.lam=a}}else if(this.face===FACE_ENUM.BOTTOM){l=Math.acos(s);t.phi=l-HALF_PI;if(u.value===AREA_ENUM.AREA_0){t.lam=-a+HALF_PI}else if(u.value===AREA_ENUM.AREA_1){t.lam=-a}else if(u.value===AREA_ENUM.AREA_2){t.lam=-a-HALF_PI}else{t.lam=a<0?-a-SPI:-a+SPI}}else{var c,f,d;c=s;h=c*c;if(h>=1){d=0}else{d=Math.sqrt(1-h)*Math.sin(a)}h+=d*d;if(h>=1){f=0}else{f=Math.sqrt(1-h)}if(u.value===AREA_ENUM.AREA_1){h=f;f=-d;d=h}else if(u.value===AREA_ENUM.AREA_2){f=-f;d=-d}else if(u.value===AREA_ENUM.AREA_3){h=f;f=d;d=-h}if(this.face===FACE_ENUM.RIGHT){h=c;c=-f;f=h}else if(this.face===FACE_ENUM.BACK){c=-c;f=-f}else if(this.face===FACE_ENUM.LEFT){h=c;c=f;f=-h}t.phi=Math.acos(-d)-HALF_PI;t.lam=Math.atan2(f,c);if(this.face===FACE_ENUM.RIGHT){t.lam=qsc_shift_lon_origin(t.lam,-HALF_PI)}else if(this.face===FACE_ENUM.BACK){t.lam=qsc_shift_lon_origin(t.lam,-SPI)}else if(this.face===FACE_ENUM.LEFT){t.lam=qsc_shift_lon_origin(t.lam,+HALF_PI)}}if(this.es!==0){var p;var v,g;p=t.phi<0?1:0;v=Math.tan(t.phi);g=this.b/Math.sqrt(v*v+this.one_minus_f_squared);t.phi=Math.atan(Math.sqrt(this.a*this.a-g*g)/(this.one_minus_f*g));if(p){t.phi=-t.phi}}t.lam+=this.long0;e.x=t.lam;e.y=t.phi;return e}function qsc_fwd_equat_face_theta(e,t,i,r){var n;if(e<EPSLN){r.value=AREA_ENUM.AREA_0;n=0}else{n=Math.atan2(t,i);if(Math.abs(n)<=FORTPI){r.value=AREA_ENUM.AREA_0}else if(n>FORTPI&&n<=HALF_PI+FORTPI){r.value=AREA_ENUM.AREA_1;n-=HALF_PI}else if(n>HALF_PI+FORTPI||n<=-(HALF_PI+FORTPI)){r.value=AREA_ENUM.AREA_2;n=n>=0?n-SPI:n+SPI}else{r.value=AREA_ENUM.AREA_3;n+=HALF_PI}}return n}function qsc_shift_lon_origin(e,t){var i=e+t;if(i<-SPI){i+=TWO_PI}else if(i>+SPI){i-=TWO_PI}return i}var names=["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"];var qsc={init:init,forward:forward,inverse:inverse,names:names};function includedProjections(e){e.Proj.projections.add(tmerc);e.Proj.projections.add(etmerc);e.Proj.projections.add(utm);e.Proj.projections.add(sterea);e.Proj.projections.add(stere);e.Proj.projections.add(somerc);e.Proj.projections.add(omerc);e.Proj.projections.add(lcc);e.Proj.projections.add(krovak);e.Proj.projections.add(cass);e.Proj.projections.add(laea);e.Proj.projections.add(aea);e.Proj.projections.add(gnom);e.Proj.projections.add(cea);e.Proj.projections.add(eqc);e.Proj.projections.add(poly);e.Proj.projections.add(nzmg);e.Proj.projections.add(mill);e.Proj.projections.add(sinu);e.Proj.projections.add(moll);e.Proj.projections.add(eqdc);e.Proj.projections.add(vandg);e.Proj.projections.add(aeqd);e.Proj.projections.add(ortho);e.Proj.projections.add(qsc)}proj4.defaultDatum="WGS84";proj4.Proj=Projection;proj4.WGS84=new proj4.Proj("WGS84");proj4.Point=Point;proj4.toPoint=common;proj4.defs=defs;proj4.transform=transform;proj4.mgrs=mgrs;proj4.version=version;includedProjections(proj4);var _ol_={};_ol_.ASSUME_TOUCH=false;_ol_.DEFAULT_MAX_ZOOM=42;_ol_.DEFAULT_MIN_ZOOM=0;_ol_.DEFAULT_RASTER_REPROJECTION_ERROR_THRESHOLD=.5;_ol_.DEFAULT_TILE_SIZE=256;_ol_.DEFAULT_WMS_VERSION="1.3.0";_ol_.ENABLE_CANVAS=true;_ol_.ENABLE_PROJ4JS=true;_ol_.ENABLE_RASTER_REPROJECTION=true;_ol_.ENABLE_WEBGL=true;_ol_.DEBUG_WEBGL=true;_ol_.INITIAL_ATLAS_SIZE=256;_ol_.MAX_ATLAS_SIZE=-1;_ol_.MOUSEWHEELZOOM_MAXDELTA=1;_ol_.OVERVIEWMAP_MAX_RATIO=.75;_ol_.OVERVIEWMAP_MIN_RATIO=.1;_ol_.RASTER_REPROJECTION_MAX_SOURCE_TILES=100;_ol_.RASTER_REPROJECTION_MAX_SUBDIVISION=10;_ol_.RASTER_REPROJECTION_MAX_TRIANGLE_WIDTH=.25;_ol_.SIMPLIFY_TOLERANCE=.5;_ol_.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK=1024;_ol_.VERSION="v4.6.5";_ol_.inherits=function(e,t){e.prototype=Object.create(t.prototype);e.prototype.constructor=e};_ol_.nullFunction=function(){};_ol_.getUid=function(e){return e.ol_uid||(e.ol_uid=++_ol_.uidCounter_)};_ol_.uidCounter_=0;var _ol_GeolocationProperty_={ACCURACY:"accuracy",ACCURACY_GEOMETRY:"accuracyGeometry",ALTITUDE:"altitude",ALTITUDE_ACCURACY:"altitudeAccuracy",HEADING:"heading",POSITION:"position",PROJECTION:"projection",SPEED:"speed",TRACKING:"tracking",TRACKING_OPTIONS:"trackingOptions"};var _ol_ObjectEventType_={PROPERTYCHANGE:"propertychange"};var _ol_obj_={};_ol_obj_.assign=typeof Object.assign==="function"?Object.assign:function(e,t){if(e===undefined||e===null){throw new TypeError("Cannot convert undefined or null to object")}var i=Object(e);for(var r=1,n=arguments.length;r<n;++r){var o=arguments[r];if(o!==undefined&&o!==null){for(var _ in o){if(o.hasOwnProperty(_)){i[_]=o[_]}}}}return i};_ol_obj_.clear=function(e){for(var t in e){delete e[t]}};_ol_obj_.getValues=function(e){var t=[];for(var i in e){t.push(e[i])}return t};_ol_obj_.isEmpty=function(e){var t;for(t in e){return false}return!t};var _ol_events_={};_ol_events_.bindListener_=function(e){var t=function(t){var i=e.listener;var r=e.bindTo||e.target;if(e.callOnce){_ol_events_.unlistenByKey(e)}return i.call(r,t)};e.boundListener=t;return t};_ol_events_.findListener_=function(e,t,i,r){var n;for(var o=0,_=e.length;o<_;++o){n=e[o];if(n.listener===t&&n.bindTo===i){if(r){n.deleteIndex=o}return n}}return undefined};_ol_events_.getListeners=function(e,t){var i=e.ol_lm;return i?i[t]:undefined};_ol_events_.getListenerMap_=function(e){var t=e.ol_lm;if(!t){t=e.ol_lm={}}return t};_ol_events_.removeListeners_=function(e,t){var i=_ol_events_.getListeners(e,t);if(i){for(var r=0,n=i.length;r<n;++r){e.removeEventListener(t,i[r].boundListener);_ol_obj_.clear(i[r])}i.length=0;var o=e.ol_lm;if(o){delete o[t];if(Object.keys(o).length===0){delete e.ol_lm}}}};_ol_events_.listen=function(e,t,i,r,n){var o=_ol_events_.getListenerMap_(e);var _=o[t];if(!_){_=o[t]=[]}var a=_ol_events_.findListener_(_,i,r,false);if(a){if(!n){a.callOnce=false}}else{a={bindTo:r,callOnce:!!n,listener:i,target:e,type:t};e.addEventListener(t,_ol_events_.bindListener_(a));_.push(a)}return a};_ol_events_.listenOnce=function(e,t,i,r){return _ol_events_.listen(e,t,i,r,true)};_ol_events_.unlisten=function(e,t,i,r){var n=_ol_events_.getListeners(e,t);if(n){var o=_ol_events_.findListener_(n,i,r,true);if(o){_ol_events_.unlistenByKey(o)}}};_ol_events_.unlistenByKey=function(e){if(e&&e.target){e.target.removeEventListener(e.type,e.boundListener);var t=_ol_events_.getListeners(e.target,e.type);if(t){var i="deleteIndex"in e?e.deleteIndex:t.indexOf(e);if(i!==-1){t.splice(i,1)}if(t.length===0){_ol_events_.removeListeners_(e.target,e.type)}}_ol_obj_.clear(e)}};_ol_events_.unlistenAll=function(e){var t=_ol_events_.getListenerMap_(e);for(var i in t){_ol_events_.removeListeners_(e,i)}};var _ol_Disposable_=function(){};_ol_Disposable_.prototype.disposed_=false;_ol_Disposable_.prototype.dispose=function(){if(!this.disposed_){this.disposed_=true;this.disposeInternal()}};_ol_Disposable_.prototype.disposeInternal=_ol_.nullFunction;var _ol_events_Event_=function(e){this.type=e;this.target=null};_ol_events_Event_.prototype.preventDefault=_ol_events_Event_.prototype.stopPropagation=function(){this.propagationStopped=true};_ol_events_Event_.stopPropagation=function(e){e.stopPropagation()};_ol_events_Event_.preventDefault=function(e){e.preventDefault()};var _ol_events_EventTarget_=function(){_ol_Disposable_.call(this);this.pendingRemovals_={};this.dispatching_={};this.listeners_={}};_ol_.inherits(_ol_events_EventTarget_,_ol_Disposable_);_ol_events_EventTarget_.prototype.addEventListener=function(e,t){var i=this.listeners_[e];if(!i){i=this.listeners_[e]=[]}if(i.indexOf(t)===-1){i.push(t)}};_ol_events_EventTarget_.prototype.dispatchEvent=function(e){var t=typeof e==="string"?new _ol_events_Event_(e):e;var i=t.type;t.target=this;var r=this.listeners_[i];var n;if(r){if(!(i in this.dispatching_)){this.dispatching_[i]=0;this.pendingRemovals_[i]=0}++this.dispatching_[i];for(var o=0,_=r.length;o<_;++o){if(r[o].call(this,t)===false||t.propagationStopped){n=false;break}}--this.dispatching_[i];if(this.dispatching_[i]===0){var a=this.pendingRemovals_[i];delete this.pendingRemovals_[i];while(a--){this.removeEventListener(i,_ol_.nullFunction)}delete this.dispatching_[i]}return n}};_ol_events_EventTarget_.prototype.disposeInternal=function(){_ol_events_.unlistenAll(this)};_ol_events_EventTarget_.prototype.getListeners=function(e){return this.listeners_[e]};_ol_events_EventTarget_.prototype.hasListener=function(e){return e?e in this.listeners_:Object.keys(this.listeners_).length>0};_ol_events_EventTarget_.prototype.removeEventListener=function(e,t){var i=this.listeners_[e];if(i){var r=i.indexOf(t);if(e in this.pendingRemovals_){i[r]=_ol_.nullFunction;++this.pendingRemovals_[e]}else{i.splice(r,1);if(i.length===0){delete this.listeners_[e]}}}};var _ol_events_EventType_={CHANGE:"change",CLEAR:"clear",CLICK:"click",DBLCLICK:"dblclick",DRAGENTER:"dragenter",DRAGOVER:"dragover",DROP:"drop",ERROR:"error",KEYDOWN:"keydown",KEYPRESS:"keypress",LOAD:"load",MOUSEDOWN:"mousedown",MOUSEMOVE:"mousemove",MOUSEOUT:"mouseout",MOUSEUP:"mouseup",MOUSEWHEEL:"mousewheel",MSPOINTERDOWN:"MSPointerDown",RESIZE:"resize",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",WHEEL:"wheel"};var _ol_Observable_=function(){_ol_events_EventTarget_.call(this);this.revision_=0};_ol_.inherits(_ol_Observable_,_ol_events_EventTarget_);_ol_Observable_.unByKey=function(e){if(Array.isArray(e)){for(var t=0,i=e.length;t<i;++t){_ol_events_.unlistenByKey(e[t])}}else{_ol_events_.unlistenByKey(e)}};_ol_Observable_.prototype.changed=function(){++this.revision_;this.dispatchEvent(_ol_events_EventType_.CHANGE)};_ol_Observable_.prototype.getRevision=function(){return this.revision_};_ol_Observable_.prototype.on=function(e,t,i){if(Array.isArray(e)){var r=e.length;var n=new Array(r);for(var o=0;o<r;++o){n[o]=_ol_events_.listen(this,e[o],t,i)}return n}else{return _ol_events_.listen(this,e,t,i)}};_ol_Observable_.prototype.once=function(e,t,i){if(Array.isArray(e)){var r=e.length;var n=new Array(r);for(var o=0;o<r;++o){n[o]=_ol_events_.listenOnce(this,e[o],t,i)}return n}else{return _ol_events_.listenOnce(this,e,t,i)}};_ol_Observable_.prototype.un=function(e,t,i){if(Array.isArray(e)){for(var r=0,n=e.length;r<n;++r){_ol_events_.unlisten(this,e[r],t,i)}return}else{_ol_events_.unlisten(this,e,t,i)}};var _ol_Object_=function(e){_ol_Observable_.call(this);_ol_.getUid(this);this.values_={};if(e!==undefined){this.setProperties(e)}};_ol_.inherits(_ol_Object_,_ol_Observable_);_ol_Object_.changeEventTypeCache_={};_ol_Object_.getChangeEventType=function(e){return _ol_Object_.changeEventTypeCache_.hasOwnProperty(e)?_ol_Object_.changeEventTypeCache_[e]:_ol_Object_.changeEventTypeCache_[e]="change:"+e};_ol_Object_.prototype.get=function(e){var t;if(this.values_.hasOwnProperty(e)){t=this.values_[e]}return t};_ol_Object_.prototype.getKeys=function(){return Object.keys(this.values_)};_ol_Object_.prototype.getProperties=function(){return _ol_obj_.assign({},this.values_)};_ol_Object_.prototype.notify=function(e,t){var i;i=_ol_Object_.getChangeEventType(e);this.dispatchEvent(new _ol_Object_.Event(i,e,t));i=_ol_ObjectEventType_.PROPERTYCHANGE;this.dispatchEvent(new _ol_Object_.Event(i,e,t))};_ol_Object_.prototype.set=function(e,t,i){if(i){this.values_[e]=t}else{var r=this.values_[e];this.values_[e]=t;if(r!==t){this.notify(e,r)}}};_ol_Object_.prototype.setProperties=function(e,t){var i;for(i in e){this.set(i,e[i],t)}};_ol_Object_.prototype.unset=function(e,t){if(e in this.values_){var i=this.values_[e];delete this.values_[e];if(!t){this.notify(e,i)}}};_ol_Object_.Event=function(e,t,i){_ol_events_Event_.call(this,e);this.key=t;this.oldValue=i};_ol_.inherits(_ol_Object_.Event,_ol_events_Event_);var _ol_AssertionError_=function(e){var t=_ol_.VERSION?_ol_.VERSION.split("-")[0]:"latest";this.message="Assertion failed. See https://openlayers.org/en/"+t+"/doc/errors/#"+e+" for details.";this.code=e;this.name="AssertionError"};_ol_.inherits(_ol_AssertionError_,Error);var _ol_asserts_={};_ol_asserts_.assert=function(e,t){if(!e){throw new _ol_AssertionError_(t)}};var _ol_math_={};_ol_math_.clamp=function(e,t,i){return Math.min(Math.max(e,t),i)};_ol_math_.cosh=function(){var e;if("cosh"in Math){e=Math.cosh}else{e=function(e){var t=Math.exp(e);return(t+1/t)/2}}return e}();_ol_math_.roundUpToPowerOfTwo=function(e){_ol_asserts_.assert(0<e,29);return Math.pow(2,Math.ceil(Math.log(e)/Math.LN2))};_ol_math_.squaredSegmentDistance=function(e,t,i,r,n,o){var _=n-i;var a=o-r;if(_!==0||a!==0){var s=((e-i)*_+(t-r)*a)/(_*_+a*a);if(s>1){i=n;r=o}else if(s>0){i+=_*s;r+=a*s}}return _ol_math_.squaredDistance(e,t,i,r)};_ol_math_.squaredDistance=function(e,t,i,r){var n=i-e;var o=r-t;return n*n+o*o};_ol_math_.solveLinearSystem=function(e){var t=e.length;for(var i=0;i<t;i++){var r=i;var n=Math.abs(e[i][i]);for(var o=i+1;o<t;o++){var _=Math.abs(e[o][i]);if(_>n){n=_;r=o}}if(n===0){return null}var a=e[r];e[r]=e[i];e[i]=a;for(var s=i+1;s<t;s++){var l=-e[s][i]/e[i][i];for(var h=i;h<t+1;h++){if(i==h){e[s][h]=0}else{e[s][h]+=l*e[i][h]}}}}var u=new Array(t);for(var c=t-1;c>=0;c--){u[c]=e[c][t]/e[c][c];for(var f=c-1;f>=0;f--){e[f][t]-=e[f][c]*u[c]}}return u};_ol_math_.toDegrees=function(e){return e*180/Math.PI};_ol_math_.toRadians=function(e){return e*Math.PI/180};_ol_math_.modulo=function(e,t){var i=e%t;return i*t<0?i+t:i};_ol_math_.lerp=function(e,t,i){return e+i*(t-e)};var _ol_geom_GeometryType_={POINT:"Point",LINE_STRING:"LineString",LINEAR_RING:"LinearRing",POLYGON:"Polygon",MULTI_POINT:"MultiPoint",MULTI_LINE_STRING:"MultiLineString",MULTI_POLYGON:"MultiPolygon",GEOMETRY_COLLECTION:"GeometryCollection",CIRCLE:"Circle"};
2
2
  /**
3
3
  * @license
4
4
  * Latitude/longitude spherical geodesy formulae taken from